:root{--glass-bg: linear-gradient(160deg, rgba(255, 255, 255, .09) 0%, rgba(255, 255, 255, .025) 100%);--glass-bg-hover: linear-gradient(160deg, rgba(255, 255, 255, .13) 0%, rgba(255, 255, 255, .05) 100%);--glass-inset: inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 -1px 0 rgba(255, 255, 255, .05);--glass-sweep: rgba(255, 255, 255, .16);--noise-opacity: .05;--glass-blur: 6px;--glass-saturate: 150%;--glass-border: rgba(255, 255, 255, .18);--glass-border-hover: rgba(255, 255, 255, .38);--glass-radius: 18px;--glass-radius-lg: 20px;--glass-shadow: 0 8px 32px rgba(0, 0, 0, .25);--glass-shadow-hover: 0 14px 40px rgba(0, 0, 0, .35);--glass-lift: -4px;--glass-transition: .25s ease;--bg-grad-start: #1a0b3d;--bg-grad-end: #081433;--orb-purple: #a855f7;--orb-cyan: #06b6d4;--orb-pink: #ec4899;--orb-blur: 60px;--orb-opacity: .3;--grid-line: rgba(255, 255, 255, .16);--shape-white: rgba(255, 255, 255, .3);--shape-purple: rgba(168, 85, 247, .5);--shape-cyan: rgba(103, 232, 249, .4);--shape-pink: rgba(236, 72, 153, .45);--cursor-glow-core: rgba(103, 232, 249, .3);--cursor-glow-mid: rgba(168, 85, 247, .18);--solid-surface: #150d38;--text-primary: rgba(255, 255, 255, .92);--text-secondary: rgba(255, 255, 255, .62);--text-muted: rgba(255, 255, 255, .45);--heading-color: rgba(255, 255, 255, .95);--accent-color: #a78bfa;--accent-secondary: #06b6d4;--accent-gradient: linear-gradient(135deg, #a855f7 0%, #06b6d4 100%);--accent-glow: rgba(168, 85, 247, .25);--input-bg: rgba(255, 255, 255, .06);--input-color: rgba(255, 255, 255, .92);--header-glass-bg: rgba(20, 12, 50, .55);--drawer-glass-bg: rgba(18, 11, 46, .88);--modal-glass-bg: rgba(26, 16, 64, .75);--modal-overlay-bg: rgba(6, 4, 20, .6);--max-width: 1200px;--header-height: 80px;--transition-smooth: all .4s cubic-bezier(.16, 1, .3, 1);--transition-fast: all .2s ease}[data-theme=light]{--glass-bg: linear-gradient(160deg, rgba(255, 255, 255, .48) 0%, rgba(255, 255, 255, .24) 100%);--glass-bg-hover: linear-gradient(160deg, rgba(255, 255, 255, .6) 0%, rgba(255, 255, 255, .36) 100%);--glass-inset: inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 0 rgba(255, 255, 255, .2);--glass-sweep: rgba(255, 255, 255, .6);--noise-opacity: .035;--glass-border: rgba(255, 255, 255, .65);--glass-border-hover: rgba(168, 85, 247, .45);--glass-shadow: 0 8px 32px rgba(80, 70, 140, .18);--glass-shadow-hover: 0 14px 40px rgba(80, 70, 140, .26);--bg-grad-start: #e9e4f9;--bg-grad-end: #d8e4f5;--orb-opacity: .22;--grid-line: rgba(24, 18, 58, .12);--shape-white: rgba(24, 18, 58, .25);--shape-purple: rgba(124, 58, 237, .4);--shape-cyan: rgba(8, 145, 178, .35);--shape-pink: rgba(219, 39, 119, .35);--cursor-glow-core: rgba(124, 58, 237, .16);--cursor-glow-mid: rgba(8, 145, 178, .1);--solid-surface: #e6e3f5;--text-primary: rgba(24, 18, 58, .92);--text-secondary: rgba(24, 18, 58, .64);--text-muted: rgba(24, 18, 58, .45);--heading-color: rgba(20, 14, 50, .95);--accent-color: #7c3aed;--accent-glow: rgba(124, 58, 237, .18);--input-bg: rgba(255, 255, 255, .55);--input-color: rgba(24, 18, 58, .92);--header-glass-bg: rgba(255, 255, 255, .55);--drawer-glass-bg: rgba(243, 240, 252, .92);--modal-glass-bg: rgba(250, 249, 254, .85);--modal-overlay-bg: rgba(60, 50, 110, .35)}*{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--bg-grad-end)}body{font-family:Montserrat,sans-serif;background:transparent;color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}[v-cloak]{display:none!important}a{color:inherit;text-decoration:none;transition:var(--transition-fast)}h1,h2,h3,h4{font-weight:700;color:var(--heading-color);line-height:1.2}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-grad-end)}::-webkit-scrollbar-thumb{background:#a855f759;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a855f78c}.glass-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.glass-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--bg-grad-start) 0%,var(--bg-grad-end) 100%);transition:background .5s ease}.glass-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:var(--noise-opacity);mix-blend-mode:overlay;pointer-events:none}.bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-line) 1.5px,transparent 1.5px),linear-gradient(90deg,var(--grid-line) 1.5px,transparent 1.5px);background-size:56px 56px;mask-image:radial-gradient(ellipse 130% 110% at 50% 45%,black 35%,transparent 95%);-webkit-mask-image:radial-gradient(ellipse 130% 110% at 50% 45%,black 35%,transparent 95%)}.glass-orb{position:absolute;border-radius:50%;filter:blur(var(--orb-blur));opacity:var(--orb-opacity);will-change:transform}.glass-orb-purple{width:620px;height:620px;background:var(--orb-purple);top:-8%;left:4%;animation:orb-float-1 13s ease-in-out infinite}.glass-orb-cyan{width:540px;height:540px;background:var(--orb-cyan);top:36%;right:-4%;animation:orb-float-2 16s ease-in-out infinite}.glass-orb-pink{width:520px;height:520px;background:var(--orb-pink);bottom:-8%;left:30%;animation:orb-float-3 14s ease-in-out infinite}.bg-shape{position:absolute;display:block}.bg-ring-1{width:110px;height:110px;top:16%;left:31%;border:1.5px dashed var(--shape-purple);border-radius:50%;animation:shape-spin 36s linear infinite}.bg-ring-2{width:70px;height:70px;top:62%;left:76%;border:1.5px solid var(--shape-cyan);border-radius:50%;animation:shape-bob 9s ease-in-out infinite}.bg-dot-1{width:8px;height:8px;top:30%;left:12%;border-radius:50%;background:var(--shape-white);animation:shape-bob 11s ease-in-out infinite}.bg-dot-2{width:5px;height:5px;top:70%;left:38%;border-radius:50%;background:var(--shape-purple);animation:shape-bob 8s ease-in-out infinite reverse}.bg-dot-3{width:6px;height:6px;top:24%;left:80%;border-radius:50%;background:var(--shape-cyan);animation:shape-bob 10s ease-in-out infinite}.bg-diamond-1{width:14px;height:14px;top:78%;left:64%;border:1.5px solid var(--shape-pink);animation:shape-spin 22s linear infinite}.bg-ring-3{width:180px;height:180px;top:44%;left:50%;border:1px solid var(--shape-white);border-radius:50%;animation:shape-bob 14s ease-in-out infinite reverse}.bg-dot-4{width:7px;height:7px;top:52%;left:28%;border-radius:50%;background:var(--shape-pink);animation:shape-bob 9s ease-in-out infinite}.bg-line-1{width:1px;height:140px;top:40%;left:22%;background:linear-gradient(to bottom,transparent,var(--shape-white),transparent);animation:line-bob-45 12s ease-in-out infinite}.bg-line-2{width:1px;height:110px;top:12%;left:60%;background:linear-gradient(to bottom,transparent,var(--shape-cyan),transparent);animation:line-bob-m30 10s ease-in-out infinite}@keyframes shape-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shape-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes line-bob-45{0%,to{transform:rotate(45deg) translateY(0)}50%{transform:rotate(45deg) translateY(-14px)}}@keyframes line-bob-m30{0%,to{transform:rotate(-30deg) translateY(0)}50%{transform:rotate(-30deg) translateY(-14px)}}.glow-cursor{position:absolute;top:0;left:0;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18) 0%,var(--cursor-glow-core) 18%,var(--cursor-glow-mid) 45%,transparent 72%);will-change:transform}@keyframes orb-float-1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(130px,90px) scale(1.1)}66%{transform:translate(-70px,150px) scale(.94)}}@keyframes orb-float-2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-150px,-80px) scale(1.08)}66%{transform:translate(-60px,110px) scale(.9)}}@keyframes orb-float-3{0%,to{transform:translate(0) scale(1)}33%{transform:translate(110px,-120px) scale(1.08)}66%{transform:translate(-130px,-50px) scale(.95)}}@media (prefers-reduced-motion: reduce){.glass-orb,.bg-shape{animation:none}.glow-cursor{display:none}}.glass-card,.clock-widget,.portrait-card,.stat-card,.honor-card,.project-card,.timeline-content,.contact-item,.contact-form-panel,.sidebar-info-box{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow),var(--glass-inset);transition:transform var(--glass-transition),border-color var(--glass-transition),background var(--glass-transition),box-shadow var(--glass-transition)}.glass-card:hover,.clock-widget:hover,.portrait-card:hover,.stat-card:hover,.honor-card:hover,.project-card:hover,.timeline-content:hover,.contact-item:hover{transform:translateY(var(--glass-lift));border-color:var(--glass-border-hover);background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover),var(--glass-inset)}html.liquid-ok .glass-card,html.liquid-ok .clock-widget,html.liquid-ok .portrait-card,html.liquid-ok .stat-card,html.liquid-ok .honor-card,html.liquid-ok .project-card,html.liquid-ok .timeline-content,html.liquid-ok .contact-item,html.liquid-ok .contact-form-panel,html.liquid-ok .sidebar-info-box{backdrop-filter:url(#liquid-glass) blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:url(#liquid-glass) blur(var(--glass-blur)) saturate(var(--glass-saturate))}.liquid-defs{position:absolute;width:0;height:0;overflow:hidden}.glass-card,.clock-widget,.portrait-card,.stat-card,.honor-card,.project-card,.timeline-content,.contact-item{position:relative;overflow:hidden}.glass-card:after,.clock-widget:after,.portrait-card:after,.stat-card:after,.honor-card:after,.project-card:after,.timeline-content:after,.contact-item:after{content:"";position:absolute;top:0;left:-80%;width:55%;height:100%;background:linear-gradient(105deg,transparent 0%,var(--glass-sweep) 50%,transparent 100%);transform:skew(-20deg);z-index:5;pointer-events:none}.glass-card:hover:after,.clock-widget:hover:after,.portrait-card:hover:after,.stat-card:hover:after,.honor-card:hover:after,.project-card:hover:after,.timeline-content:hover:after,.contact-item:hover:after{left:130%;transition:left .65s ease}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;border-radius:50px;font-size:.9rem;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:var(--transition-smooth)}.btn.primary-btn{background:var(--accent-gradient);color:#fff;border:none;box-shadow:0 4px 18px var(--accent-glow)}.btn.primary-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px #a855f773,0 0 18px #06b6d44d}.btn.secondary-btn{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--text-primary);border:1px solid var(--glass-border)}.btn.secondary-btn:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-2px)}header{position:fixed;top:0;left:0;width:100%;height:var(--header-height);background-color:transparent;border-bottom:1px solid transparent;z-index:1000;transition:var(--transition-smooth);display:flex;align-items:center}header.scrolled{background-color:var(--header-glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);box-shadow:var(--glass-shadow);height:70px}.nav-container{max-width:var(--max-width);width:100%;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:700;letter-spacing:.5px;color:var(--heading-color)}.logo-mark{background:var(--accent-gradient);color:#fff;padding:6px 10px;border-radius:8px;font-size:.95rem;font-weight:800;box-shadow:0 2px 12px var(--accent-glow)}.nav-links{display:flex;list-style:none;align-items:center;gap:32px}.nav-links a{font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.nav-links a:hover{color:var(--text-primary)}.github-icon-link{display:flex;align-items:center;gap:8px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);padding:6px 14px;border-radius:20px;font-size:.8rem!important;transition:var(--transition-fast)}.github-icon-link:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.nav-actions{display:flex;align-items:center;gap:8px}.theme-toggle{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);color:var(--text-secondary);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;transition:var(--transition-fast);flex-shrink:0}.theme-toggle:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--text-primary)}.menu-toggle{display:none;background:none;border:none;color:var(--heading-color);font-size:1.3rem;cursor:pointer}.hero-section{min-height:100vh;padding-top:calc(var(--header-height) + 40px);display:flex;align-items:center;position:relative}.hero-wrapper{max-width:var(--max-width);width:100%;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.eyebrow{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--accent-color);margin-bottom:15px}.hero-text-content h1{font-family:Playfair Display,serif;font-size:4.2rem;font-weight:800;margin-bottom:25px;background:linear-gradient(135deg,#fff,#c4b5fd 55%,#67e8f9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1}.hero-description{font-size:1.05rem;color:var(--text-secondary);margin-bottom:35px;max-width:540px;font-weight:300}.hero-buttons{display:flex;gap:16px;margin-bottom:50px}.clock-widget{display:inline-flex;flex-direction:column;gap:12px;padding:16px 22px}.clock-header{display:flex;align-items:center;gap:8px}.clock-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b981e6;animation:pulse-dot 2s ease-in-out infinite;flex-shrink:0}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 6px #10b981e6}50%{opacity:.4;box-shadow:0 0 14px #10b9814d}}.clock-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);flex:1}.clock-live{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.3);padding:2px 8px;border-radius:10px}.clock-body{display:flex;align-items:center;gap:18px}.clock-dial{position:relative;width:76px;height:76px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 35% 30%,#ffffff24,#ffffff08);border:1px solid var(--glass-border);box-shadow:inset 0 2px 8px #0003,0 4px 14px #a855f72e}.dial-tick{position:absolute;top:4px;left:50%;width:2px;height:6px;margin-left:-1px;border-radius:1px;background:#ffffff4d;transform-origin:50% 34px}.dial-hand{position:absolute;left:50%;bottom:50%;transform-origin:50% 100%;border-radius:2px}.hand-hour{width:3px;height:18px;margin-left:-1.5px;background:#ffffffd9}.hand-minute{width:2px;height:25px;margin-left:-1px;background:#ffffff8c}.hand-second{width:2px;height:30px;margin-left:-1px;background:linear-gradient(to top,#a855f7,#67e8f9);box-shadow:0 0 6px #a855f7b3}.dial-center{position:absolute;top:50%;left:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--accent-gradient);box-shadow:0 0 8px var(--accent-glow)}.clock-digits{display:flex;align-items:center;gap:6px}.digit-group{display:flex;gap:3px}.digit{position:relative;overflow:hidden;width:34px;height:44px;background:#a855f71a;border:1px solid rgba(168,85,247,.28);border-radius:7px;font-family:Courier New,Courier,monospace;font-size:1.4rem;font-weight:700;color:var(--heading-color);box-shadow:inset 0 2px 6px #0003,0 1px #ffffff0d,0 6px 16px #a855f738}.digit-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#c084fc,#67e8f9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 6px rgba(168,85,247,.65))}.digit-roll-enter-active,.digit-roll-leave-active{transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .45s ease}.digit-roll-enter-from{transform:translateY(100%);opacity:0}.digit-roll-leave-to{transform:translateY(-100%);opacity:0}.digit-sep{font-family:Courier New,Courier,monospace;font-size:1.5rem;font-weight:700;color:var(--accent-color);width:12px;text-align:center;line-height:1;padding-bottom:2px;animation:blink-sep 1s step-end infinite}@keyframes blink-sep{0%,to{opacity:1}50%{opacity:.15}}.clock-date{font-size:.72rem;color:var(--text-muted);letter-spacing:.4px;text-align:center}.portrait-container{display:flex;justify-content:center;perspective:1000px}.portrait-card{padding:16px;width:320px}.portrait-card:hover{transform:translateY(var(--glass-lift)) rotateY(4deg)}.portrait-img-wrapper{width:100%;height:320px;border-radius:calc(var(--glass-radius) - 6px);overflow:hidden;margin-bottom:16px}.portrait-img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.16,1,.3,1)}.portrait-card:hover .portrait-img{transform:scale(1.05)}.portrait-caption{display:flex;justify-content:space-between;align-items:center}.caption-title{font-size:.85rem;font-weight:600;color:var(--heading-color)}.caption-subtitle{font-size:.7rem;color:var(--text-muted);margin-top:4px}.caption-year{font-size:.85rem;font-weight:700;color:var(--accent-color)}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;opacity:.7;transition:var(--transition-fast)}.scroll-indicator:hover{opacity:1}.mouse-icon{width:20px;height:32px;border:2px solid var(--text-secondary);border-radius:12px;position:relative;background:var(--glass-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.mouse-wheel{width:4px;height:6px;background-color:var(--accent-color);border-radius:2px;position:absolute;top:6px;left:50%;transform:translate(-50%);animation:scroll-wheel-anim 1.8s infinite}.arrow-down{font-size:.7rem;color:var(--text-secondary);animation:bounce-anim 1.8s infinite}@keyframes scroll-wheel-anim{0%{top:6px;opacity:1}50%{top:16px;opacity:0}to{top:6px;opacity:1}}@keyframes bounce-anim{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.section-container{max-width:var(--max-width);width:100%;margin:0 auto;padding:100px 24px}.section-header{margin-bottom:60px}.section-num{font-family:monospace;font-size:.9rem;color:var(--accent-color);letter-spacing:1px;display:block;margin-bottom:12px}.section-header h2{font-family:Playfair Display,serif;font-size:2.8rem;max-width:700px;font-weight:700}.about-content{display:grid;grid-template-columns:.3fr 1.7fr;gap:40px;align-items:start}.about-decoration{display:flex;justify-content:flex-end;padding-top:10px}.deco-circle{width:60px;height:60px;border-radius:50%;background:var(--accent-gradient);opacity:.8;box-shadow:0 0 30px var(--accent-glow)}.about-text-wrapper p{font-size:1.15rem;color:var(--text-secondary);font-weight:300;margin-bottom:50px;max-width:800px;line-height:1.8}.stats-row{display:flex;gap:40px;flex-wrap:wrap}.stat-card{padding:24px 32px;min-width:180px;flex:1}.stat-number{display:block;font-size:1.8rem;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px;white-space:nowrap}.stat-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.resume-grid{display:grid;grid-template-columns:1fr;max-width:800px;margin:0 auto}.timeline{border-left:2px solid var(--glass-border);padding-left:35px;position:relative}.timeline-item{position:relative;margin-bottom:60px}.timeline-item:last-child{margin-bottom:0}.timeline-marker{position:absolute;left:-46px;top:5px;width:20px;height:20px;border-radius:50%;background-color:var(--solid-surface);border:3px solid var(--accent-color);box-shadow:0 0 16px var(--accent-glow);transition:var(--transition-smooth)}.timeline-item:hover .timeline-marker{background-color:var(--accent-color);transform:scale(1.25)}.timeline-time{font-family:monospace;font-size:.95rem;color:var(--accent-color);font-weight:700;margin-bottom:8px}.timeline-content{padding:22px 26px}.timeline-content h3{font-size:1.3rem;margin-bottom:12px}.timeline-content p{color:var(--text-secondary);font-size:.95rem;margin-bottom:15px;font-weight:300}.skills-tags{display:flex;gap:8px;flex-wrap:wrap}.tag{font-size:.75rem;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary);padding:4px 12px;border-radius:20px}.honors-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.honor-card{display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:start;padding:26px;min-height:170px}.honor-year{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:#a855f71f;border:1px solid rgba(168,85,247,.45);color:var(--accent-color);font-family:monospace;font-size:1rem;font-weight:800;box-shadow:0 0 20px var(--accent-glow)}.honor-content h3{font-size:1.15rem;line-height:1.45;margin-bottom:12px}.honor-content p{color:var(--text-secondary);font-size:.95rem;line-height:1.7;font-weight:300}.prize-badge{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;padding:5px 12px;border-radius:20px;margin-bottom:8px;letter-spacing:.01em}.prize-gold{color:#fbbf24;background:#f59e0b24;border:1px solid rgba(245,158,11,.35)}.prize-bronze{color:#e09a72;background:#cd7c5224;border:1px solid rgba(205,124,82,.35)}.prize-silver{color:#b8c4d4;background:#94a3b824;border:1px solid rgba(148,163,184,.35)}.prize-default{color:var(--text-secondary);background:#9494a81f;border:1px solid rgba(148,148,168,.28)}[data-theme=light] .prize-gold{color:#b45309}[data-theme=light] .prize-bronze{color:#9a5430}[data-theme=light] .prize-silver{color:#475569}.filter-tabs{display:flex;justify-content:center;gap:16px;margin-bottom:45px;flex-wrap:wrap}.filter-tabs button{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--text-secondary);border:1px solid var(--glass-border);padding:10px 24px;border-radius:50px;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition-smooth);display:flex;align-items:center;gap:8px}.filter-tabs button:hover{background:var(--glass-bg-hover);color:var(--text-primary);border-color:var(--glass-border-hover)}.filter-tabs button.active{background:var(--accent-gradient);color:#fff;border-color:transparent;box-shadow:0 4px 20px var(--accent-glow)}.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:30px}.project-card{border-radius:var(--glass-radius-lg);min-height:390px;position:relative;overflow:hidden;cursor:pointer;display:flex;flex-direction:column}.card-bg-gradient{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.06;z-index:1;transition:opacity var(--glass-transition)}.project-card:hover .card-bg-gradient{opacity:.16}.card-preview{position:relative;z-index:2;width:100%;aspect-ratio:16 / 10;overflow:hidden;background:#ffffff0d;border-bottom:1px solid var(--glass-border)}.card-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .4s cubic-bezier(.16,1,.3,1)}.project-card:hover .card-preview img{transform:scale(1.04)}.card-info{position:relative;z-index:2;display:flex;flex:1;flex-direction:column;padding:24px}.card-category{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--accent-color);font-weight:600;margin-bottom:8px;display:block}.project-card h3{font-size:1.4rem;margin-bottom:12px}.card-highlight{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--accent-color);background:#a855f724;border:1px solid rgba(168,85,247,.3);border-radius:20px;padding:4px 10px;margin-bottom:6px}.card-highlight i{font-size:.65rem;color:#fbbf24}.card-desc{font-size:.85rem;color:var(--text-secondary);margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:300}.card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.card-tag{font-size:.7rem;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary);padding:3px 8px;border-radius:6px}.card-action-hint{font-size:.85rem;color:var(--text-primary);font-weight:600;display:flex;align-items:center;gap:8px;margin-top:auto;opacity:0;transform:translateY(10px);transition:var(--transition-smooth)}.project-card:hover .card-action-hint{opacity:1;transform:translateY(0)}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start}.contact-info-panel p{font-size:1.1rem;color:var(--text-secondary);font-weight:300;margin-bottom:40px;line-height:1.7}.contact-details{display:flex;flex-direction:column;gap:24px}.contact-item{display:flex;align-items:center;gap:20px;padding:20px}.contact-item i{font-size:1.5rem;color:var(--accent-color)}.contact-item .label{display:block;font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.contact-item .val{display:block;font-size:.95rem;font-weight:500;color:var(--text-primary);word-break:break-all}.contact-form-panel{border-radius:var(--glass-radius-lg);padding:40px}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:8px}.form-group input,.form-group textarea{width:100%;background:var(--input-bg);border:1px solid var(--glass-border);border-radius:10px;padding:12px 16px;font-family:Montserrat,sans-serif;color:var(--input-color);font-size:.95rem;transition:var(--transition-fast)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 12px var(--accent-glow)}.form-group input:disabled,.form-group textarea:disabled{opacity:.5;cursor:not-allowed}.submit-btn{width:100%;border:none}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.form-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px;gap:16px;color:#34d399}.form-success i{font-size:2.8rem}.form-success p{font-size:1rem;color:var(--text-secondary);line-height:1.6}.form-error{font-size:.85rem;color:#fb7185;margin-bottom:12px}[data-theme=light] .form-success{color:#059669}[data-theme=light] .form-error{color:#e11d48}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--modal-overlay-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:2000;display:flex;justify-content:center;align-items:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .4s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-card{background:var(--modal-glass-bg);backdrop-filter:blur(calc(var(--glass-blur) + 6px));-webkit-backdrop-filter:blur(calc(var(--glass-blur) + 6px));border:1px solid var(--glass-border);border-radius:var(--glass-radius-lg);width:100%;max-width:800px;max-height:90%;overflow-y:auto;box-shadow:0 30px 60px #00000080;position:relative}.modal-close-btn{position:absolute;top:20px;right:20px;width:36px;height:36px;border-radius:50%;background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:var(--transition-fast)}.modal-close-btn:hover{background:#ffffff26;transform:rotate(90deg)}.modal-header-banner{padding:50px 40px;position:relative}.modal-header-banner h2{font-family:Playfair Display,serif;font-size:2.2rem;margin-top:10px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5)}.modal-category-badge{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;background:#ffffff2e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;padding:4px 12px;border-radius:20px;font-weight:600}.modal-body{padding:40px}.modal-preview{width:100%;aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--glass-border);border-radius:calc(var(--glass-radius) - 6px);margin-bottom:32px;background:#ffffff0d}.modal-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.modal-gallery{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.modal-gallery figure{margin:0;border:1px solid var(--glass-border);border-radius:calc(var(--glass-radius) - 6px);overflow:hidden;background:#ffffff0d}.modal-gallery img{display:block;width:100%;height:auto}.modal-gallery figcaption{padding:12px 16px;font-size:.85rem;color:var(--text-secondary);border-top:1px solid var(--glass-border)}.modal-details-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px}.modal-main-content h3{font-size:1.15rem;margin-bottom:15px}.modal-main-content p{color:var(--text-secondary);font-weight:300;margin-bottom:30px;line-height:1.7}.tech-title{margin-bottom:12px!important}.modal-tags{display:flex;gap:8px;flex-wrap:wrap}.modal-tag{font-size:.75rem;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary);padding:5px 12px;border-radius:6px}.modal-sidebar{display:flex;flex-direction:column;gap:24px}.sidebar-info-box{padding:20px}.sidebar-info-box:hover{transform:none}.sidebar-info-box h4{font-size:.9rem;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-color)}.sidebar-info-box ul{list-style:none}.sidebar-info-box ul li{font-size:.85rem;color:var(--text-secondary);margin-bottom:10px}.sidebar-info-box ul li:last-child{margin-bottom:0}.modal-action-buttons{display:flex;flex-direction:column;gap:12px}.modal-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border-radius:10px;font-size:.9rem;font-weight:600;text-align:center;transition:var(--transition-fast)}.modal-btn.live-btn{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 16px var(--accent-glow)}.modal-btn.live-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--accent-glow)}.modal-btn.git-btn{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary)}.modal-btn.git-btn:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.modal-scale-enter-active,.modal-scale-leave-active{transition:all .35s cubic-bezier(.16,1,.3,1)}.modal-scale-enter-from,.modal-scale-leave-to{transform:scale(.9);opacity:0}.scroll-to-top{position:fixed;bottom:30px;right:30px;width:44px;height:44px;border-radius:50%;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--accent-color);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--glass-shadow),var(--glass-inset);z-index:999;opacity:0;pointer-events:none;transform:translateY(10px);transition:var(--transition-smooth)}.scroll-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-to-top:hover{transform:translateY(-3px);background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover),var(--glass-inset),0 0 18px var(--accent-glow)}footer{border-top:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));padding:40px 0;margin-top:40px}.footer-content{max-width:var(--max-width);margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;color:var(--text-muted);font-size:.85rem;flex-wrap:wrap;gap:20px}.footer-links{display:flex;gap:20px}.footer-links a:hover{color:var(--text-primary)}@media (max-width: 992px){.hero-wrapper{grid-template-columns:1fr;gap:50px;text-align:center}.hero-description{margin-left:auto;margin-right:auto}.hero-buttons{justify-content:center}.portrait-container{grid-row:1}.about-content{grid-template-columns:1fr;gap:20px}.about-decoration{justify-content:flex-start}.contact-grid{grid-template-columns:1fr;gap:50px}.honors-grid{grid-template-columns:1fr}}@media (max-width: 768px){:root{--header-height: 70px;--orb-blur: 60px}.hero-text-content h1{font-size:3rem}.section-header h2{font-size:2.2rem}.menu-toggle{display:block}.nav-links{position:fixed;top:var(--header-height);left:0;width:100%;height:calc(100vh - var(--header-height));background-color:var(--drawer-glass-bg);backdrop-filter:blur(calc(var(--glass-blur) + 8px));-webkit-backdrop-filter:blur(calc(var(--glass-blur) + 8px));flex-direction:column;justify-content:center;gap:40px;padding-bottom:100px;transform:translate(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);border-top:1px solid var(--glass-border)}.nav-links.active{transform:translate(0)}.nav-links a{font-size:1.2rem}.modal-details-grid{grid-template-columns:1fr;gap:30px}.modal-body{padding:30px 24px}.modal-header-banner{padding:40px 24px}.honor-card{grid-template-columns:1fr;gap:18px;min-height:auto}.card-action-hint{opacity:1;transform:translateY(0)}.glass-orb-purple{width:320px;height:320px}.glass-orb-cyan{width:280px;height:280px}.glass-orb-pink{width:260px;height:260px}html.liquid-ok .glass-card,html.liquid-ok .clock-widget,html.liquid-ok .portrait-card,html.liquid-ok .stat-card,html.liquid-ok .honor-card,html.liquid-ok .project-card,html.liquid-ok .timeline-content,html.liquid-ok .contact-item,html.liquid-ok .contact-form-panel,html.liquid-ok .sidebar-info-box{backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}}@media (max-width: 480px){.hero-text-content h1{font-size:2.4rem}.clock-body{gap:12px}.clock-dial{width:60px;height:60px}.dial-tick{top:3px;transform-origin:50% 27px}.hand-hour{height:14px}.hand-minute{height:20px}.hand-second{height:23px}.digit{width:28px;height:38px;font-size:1.15rem}.stats-row{gap:20px}.stat-card{padding:20px}.project-card{min-height:auto}.contact-form-panel{padding:24px}.honor-card{padding:22px}.honor-year{width:64px;height:64px;font-size:.9rem}.modal-header-banner h2{font-size:1.7rem}}[data-theme=light] .hero-text-content h1{background:linear-gradient(135deg,#1e1b3a,#7c3aed 60%,#0e7490);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}[data-theme=light] ::-webkit-scrollbar-thumb{background:#7c3aed4d}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#7c3aed80}[data-theme=light] .modal-close-btn{background:#0f172a1a;color:#1e1b3a}[data-theme=light] .modal-close-btn:hover{background:#0f172a33}[data-theme=light] .digit{background:#7c3aed14;border-color:#7c3aed40;box-shadow:inset 0 2px 6px #50468c1f,0 1px #fff9,0 6px 16px #7c3aed26}[data-theme=light] .digit-value{background:linear-gradient(135deg,#7c3aed,#0891b2);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 5px rgba(124,58,237,.3))}[data-theme=light] .dial-tick{background:#18123a4d}[data-theme=light] .hand-hour{background:#18123ad9}[data-theme=light] .hand-minute{background:#18123a8c}[data-theme=light] .clock-dial{background:radial-gradient(circle at 35% 30%,#ffffffd9,#ffffff59);box-shadow:inset 0 2px 8px #50468c1f,0 4px 14px #7c3aed26}[data-theme=light] .card-preview,[data-theme=light] .modal-preview{background:#fff6}[data-theme=light] .modal-gallery figure{background:#fff6}[data-theme=light] .card-highlight{color:#7c3aed;background:#7c3aed1a;border-color:#7c3aed47}[data-theme=light] .card-highlight i{color:#d97706}[data-theme=light] .honor-year{background:#7c3aed1a;border-color:#7c3aed66}
