.seasonal-background[data-v-2e33a392]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}.background-image[data-v-2e33a392]{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;transition:opacity .5s ease-in-out;z-index:0}.background-overlay[data-v-2e33a392]{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0006,#000000b3);z-index:0}:root.dark-mode .background-overlay[data-v-2e33a392]{background:linear-gradient(to bottom,#0009,#000c)}:root.light-mode .background-overlay[data-v-2e33a392]{background:linear-gradient(to bottom,#0000004d,#00000080)}.navbar[data-v-c073576b]{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 4px 20px #0003;border-bottom:1px solid rgba(255,255,255,.1)}.nav-brand a[data-v-c073576b]{color:var(--text-primary);text-decoration:none;font-size:1.5rem;font-weight:700;letter-spacing:-.5px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.nav-links[data-v-c073576b]{list-style:none;display:flex;gap:2rem;margin:0;padding:0}.nav-links a[data-v-c073576b]{color:var(--text-secondary);text-decoration:none;font-weight:500;position:relative;padding:.5rem 0;transition:all .3s ease}.nav-links a[data-v-c073576b]:hover{color:var(--text-primary)}.nav-links a[data-v-c073576b]:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--accent-color);transition:all .3s ease}.nav-links a[data-v-c073576b]:hover:after{width:100%}.menu-toggle[data-v-c073576b]{display:none}.theme-toggle-btn[data-v-c073576b]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:50%;width:45px;height:45px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);color:var(--text-primary);position:relative;z-index:100}.theme-toggle-btn[data-v-c073576b]:hover{background:var(--hover-bg);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}@media(max-width:768px){.navbar[data-v-c073576b]{padding:1rem;flex-direction:row;justify-content:space-between;align-items:center}.nav-brand[data-v-c073576b]{margin-bottom:0}.menu-toggle[data-v-c073576b]{display:block;cursor:pointer;z-index:110}.theme-toggle-btn[data-v-c073576b]{width:40px;height:40px;margin-right:10px}.bar[data-v-c073576b]{display:block;width:25px;height:3px;margin:5px auto;transition:all .3s ease;background-color:var(--text-primary)}.menu-toggle.active .bar[data-v-c073576b]:nth-child(2){opacity:0}.menu-toggle.active .bar[data-v-c073576b]:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle.active .bar[data-v-c073576b]:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.nav-links[data-v-c073576b]{position:fixed;left:-100%;top:0;flex-direction:column;background-color:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;height:100vh;text-align:center;transition:.3s;padding-top:80px;gap:2rem;box-shadow:0 4px 20px #0003;overflow-y:auto;-webkit-overflow-scrolling:touch}.nav-links.active[data-v-c073576b]{left:0;z-index:105}.nav-links a[data-v-c073576b]{font-size:1.5rem;padding:1rem}.nav-links a[data-v-c073576b]:after{height:3px}}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background-color:var(--primary-bg);overflow-x:hidden}body{background:linear-gradient(to bottom,var(--primary-bg),var(--secondary-bg))}:root{--animation-duration: .5s;--animation-timing: cubic-bezier(.34, 1.56, .64, 1);--transition: all .3s ease;--border-radius: 12px;--primary-bg: #000000;--secondary-bg: #1a1a2e;--text-primary: rgba(255, 255, 255, 1);--text-secondary: rgba(255, 255, 255, .85);--accent-color: #3a86ff;--accent-color-hover: #1a6dff;--border-color: rgba(255, 255, 255, .2);--hover-bg: rgba(255, 255, 255, .15);--active-bg: rgba(255, 255, 255, .2);--card-bg: rgba(255, 255, 255, .08);--shadow-color: rgba(0, 0, 0, .3);--gradient-primary: linear-gradient(135deg, #3a86ff, #1a6dff);--focus-color: #3a86ff}.light-mode{--primary-bg: #ffffff;--secondary-bg: #f5f7fa;--text-primary: rgba(0, 0, 0, 1);--text-secondary: rgba(0, 0, 0, .85);--border-color: rgba(0, 0, 0, .2);--hover-bg: rgba(0, 0, 0, .08);--active-bg: rgba(0, 0, 0, .12);--card-bg: rgba(0, 0, 0, .03);--shadow-color: rgba(0, 0, 0, .15);--focus-color: #1a6dff}#app{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background:linear-gradient(to bottom,var(--primary-bg),var(--secondary-bg));min-height:100vh;width:100%;margin:0;padding:0;position:relative;z-index:1}main{padding:2rem 0;position:relative;z-index:10}h1,h2,h3,h4,h5,h6{color:var(--text-primary)}p,span,div{color:var(--text-secondary)}button,.btn{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);padding:10px 16px;border-radius:var(--border-radius);cursor:pointer;transition:all var(--animation-duration) var(--animation-timing);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;overflow:hidden;font-weight:500}button,.btn,a[href],input[type=button],input[type=submit],input[type=reset],select,textarea,.clickable{min-width:44px;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:8px 12px}button:before,.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:all .6s ease}button:hover,.btn:hover{background:var(--hover-bg);transform:translateY(-2px);box-shadow:0 6px 16px var(--shadow-color);border-color:#fff3}button:hover:before,.btn:hover:before{left:100%}button:active,.btn:active{transform:translateY(0);box-shadow:0 2px 8px var(--shadow-color)}a{color:var(--accent-color);text-decoration:none;transition:all var(--animation-duration) var(--animation-timing);position:relative;display:inline-block}a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent-color);transition:width var(--animation-duration) var(--animation-timing)}a:hover{color:var(--accent-color-hover);transform:translateY(-1px)}a:hover:after{width:100%}a:focus{outline:2px solid var(--focus-color);outline-offset:2px;border-radius:4px}input,textarea,select{background:#0003;border:1px solid var(--border-color);color:var(--text-primary);padding:10px 15px;border-radius:var(--border-radius);transition:var(--transition)}.scroll-top-btn{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;border-radius:50%;background:var(--accent-color);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s ease;z-index:99;box-shadow:0 4px 12px var(--shadow-color)}.scroll-top-btn.visible{opacity:1;visibility:visible}.scroll-top-btn:hover{background:var(--accent-color-hover);transform:translateY(-3px);box-shadow:0 6px 16px var(--shadow-color)}@media(max-width:768px){.scroll-top-btn{bottom:1.5rem;right:1.5rem;width:45px;height:45px}}input:focus,textarea:focus,select:focus{background:#0000004d;border-color:var(--accent-color);box-shadow:0 0 0 2px #3a86ff33}.card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 20px var(--shadow-color);transition:all var(--animation-duration) var(--animation-timing);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--animation-duration) var(--animation-timing)}.card:hover{transform:translateY(-3px);box-shadow:0 8px 30px var(--shadow-color);border-color:#ffffff26}.card:hover:before{transform:scaleX(1)}ul,ol{color:var(--text-secondary)}table{border-collapse:collapse;width:100%}th,td{border:1px solid var(--border-color);padding:8px 12px;color:var(--text-secondary)}th{background:#ffffff0d;color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.App{text-align:center}.page-transition-enter-active,.page-transition-leave-active{transition:opacity var(--animation-duration) var(--animation-timing),transform var(--animation-duration) var(--animation-timing)}.page-transition-enter-from,.page-transition-leave-to{opacity:0;transform:translateY(20px)}.page-transition-enter-to,.page-transition-leave-from{opacity:1;transform:translateY(0)}.navbar{background-color:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 2px 10px #0000000d}.nav-brand a{color:var(--primary-color);text-decoration:none;font-size:1.5rem;font-weight:700;letter-spacing:-.5px}.nav-links{list-style:none;display:flex;gap:2rem}.nav-links a{color:var(--text-color);text-decoration:none;font-weight:500;position:relative;padding:.5rem 0;transition:var(--transition)}.nav-links a:hover{color:var(--primary-color)}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--primary-color);transition:var(--transition)}.nav-links a:hover:after{width:100%}.home,.about,.projects,.contact{padding:4rem 2rem;max-width:1200px;margin:0 auto}h1{font-size:2.5rem;margin-bottom:2rem;position:relative;display:inline-block}h1:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:3px;background:var(--gradient-primary);border-radius:3px}.hero-section,.about-content,.contact-content{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2.5rem}.skills ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.skills li{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:20px;font-size:.9rem;transition:var(--transition)}.skills li:hover{background:var(--hover-bg);transform:translateY(-1px)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.project-card{padding:2rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow);transition:var(--transition);position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--gradient-primary)}.project-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.contact-content ul{list-style:none;padding:0}.contact-content li{margin:1rem 0;display:flex;align-items:center;gap:1rem}@media(max-width:768px){.navbar{flex-direction:column;padding:1rem}.nav-brand{margin-bottom:1rem}.nav-links{gap:1rem}.hero-section,.about-content,.contact-content,.project-card{padding:2rem}}.btn-primary{background:var(--gradient-primary);color:#fff;border:none;padding:10px 20px;border-radius:var(--border-radius);font-weight:500;transition:var(--transition)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #3a86ff4d}
