[data-theme=dev]{--bg-primary:#0a0a1a;--bg-secondary:#111128;--bg-tertiary:#1a1a3e;--bg-card:#12122a;--bg-card-hover:#1e1e45;--bg-nav:#0a0a1ad9;--bg-input:#0f0f28;--color-accent:#3b82f6;--color-accent-dim:#1d4ed8;--color-accent-glow:#3b82f659;--color-secondary:#60a5fa;--color-highlight:#93c5fd;--color-danger:#ef4444;--color-success:#22c55e;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-accent:#3b82f6;--text-muted:#475569;--text-inverse:#0a0a1a;--gradient-hero:linear-gradient(135deg, #0a0a1a 0%, #111128 40%, #0d2060 100%);--gradient-card:linear-gradient(145deg, #12122a, #1a1a3e);--gradient-accent:linear-gradient(90deg, #3b82f6, #60a5fa);--gradient-glow:radial-gradient(ellipse at 50% 0%, #3b82f626 0%, transparent 70%);--gradient-text:linear-gradient(135deg, #60a5fa, #3b82f6, #1d4ed8);--border-color:#3b82f633;--border-color-hover:#3b82f699;--border-glow:0 0 20px #3b82f64d;--border-glow-strong:0 0 40px #3b82f680, 0 0 80px #3b82f633;--shadow-card:0 4px 24px #00000080, 0 0 0 1px #3b82f61a;--shadow-card-hover:0 8px 40px #3b82f640, 0 0 0 1px #3b82f666;--shadow-nav:0 1px 0 #3b82f626;--shadow-button:0 0 20px #3b82f666;--font-display:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--font-body:"Inter", system-ui, sans-serif;--mode-suffix:".dev";--mode-color:#3b82f6;--scanline-opacity:0;--noise-opacity:.03;--grid-color:#3b82f60a;--particle-color:#3b82f6;--scrollbar-track:#0a0a1a;--scrollbar-thumb:#1d4ed8;--scrollbar-hover:#3b82f6;--tag-bg:#3b82f61f;--tag-border:#3b82f64d;--tag-text:#93c5fd;--timeline-line:#1d4ed8;--timeline-dot:#3b82f6;--timeline-dot-glow:#3b82f680;--btn-bg:#3b82f6;--btn-bg-hover:#2563eb;--btn-text:#fff;--btn-outline-border:#3b82f6;--btn-outline-text:#3b82f6;--cursor-color:#3b82f6;--cursor-trail:#3b82f699;--color-primary:var(--color-accent)}[data-theme=dev]::-webkit-scrollbar{width:6px}[data-theme=dev]::-webkit-scrollbar-track{background:var(--scrollbar-track)}[data-theme=dev]::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}[data-theme=dev]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}[data-theme=dev] ::selection{color:#e2e8f0;background:#3b82f659}[data-theme=ia]{--bg-primary:#0d0221;--bg-secondary:#110330;--bg-tertiary:#150535;--bg-card:#12042a;--bg-card-hover:#1c0840;--bg-nav:#0d0221d9;--bg-input:#0f0228;--color-accent:#06ffa5;--color-accent-dim:#00cc84;--color-accent-glow:#06ffa559;--color-secondary:#b14eff;--color-highlight:#d585ff;--color-danger:#ff4d6d;--color-success:#06ffa5;--text-primary:#e8d5ff;--text-secondary:#c4aae8;--text-accent:#06ffa5;--text-muted:#5c3d7a;--text-inverse:#0d0221;--gradient-hero:linear-gradient(135deg, #0d0221 0%, #150535 50%, #0a1525 100%);--gradient-card:linear-gradient(145deg, #12042a, #1c0840);--gradient-accent:linear-gradient(90deg, #06ffa5, #b14eff);--gradient-glow:radial-gradient(ellipse at 50% 0%, #b14eff33 0%, transparent 70%);--gradient-text:linear-gradient(135deg, #06ffa5, #b14eff, #06ffa5);--border-color:#b14eff33;--border-color-hover:#06ffa580;--border-glow:0 0 20px #b14eff4d, 0 0 40px #06ffa51a;--border-glow-strong:0 0 30px #06ffa580, 0 0 60px #b14eff66, 0 0 100px #b14eff26;--shadow-card:0 4px 24px #0009, 0 0 0 1px #b14eff26;--shadow-card-hover:0 8px 40px #b14eff4d, 0 0 0 1px #06ffa566;--shadow-nav:0 1px 0 #b14eff33;--shadow-button:0 0 20px #06ffa566, 0 0 40px #06ffa533;--font-display:"Orbitron", "Space Mono", monospace;--font-body:"Inter", system-ui, sans-serif;--mode-suffix:".ia";--mode-color:#06ffa5;--scanline-opacity:0;--noise-opacity:.05;--grid-color:#b14eff0a;--particle-color:#06ffa5;--scrollbar-track:#0d0221;--scrollbar-thumb:#4c1d95;--scrollbar-hover:#b14eff;--tag-bg:#06ffa51a;--tag-border:#06ffa54d;--tag-text:#06ffa5;--timeline-line:#4c1d95;--timeline-dot:#b14eff;--timeline-dot-glow:#b14eff99;--btn-bg:linear-gradient(135deg, #06ffa5, #00cc84);--btn-bg-hover:linear-gradient(135deg, #00cc84, #096);--btn-text:#0d0221;--btn-outline-border:#06ffa5;--btn-outline-text:#06ffa5;--cursor-color:#06ffa5;--cursor-trail:#06ffa580;--color-primary:var(--color-accent)}[data-theme=ia] .project-card{-webkit-backdrop-filter:blur(12px)saturate(1.5);background:#12042ab3!important}[data-theme=ia] .project-card:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;opacity:0;background:linear-gradient(135deg,#06ffa599,#b14eff99,#06ffa533);padding:1px;transition:opacity .3s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}[data-theme=ia] .project-card:hover:before{opacity:1}[data-theme=ia]::-webkit-scrollbar{width:6px}[data-theme=ia]::-webkit-scrollbar-track{background:var(--scrollbar-track)}[data-theme=ia]::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}[data-theme=ia]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}[data-theme=ia] ::selection{color:#e8d5ff;background:#06ffa540}[data-theme=sec]{--bg-primary:#000;--bg-secondary:#050505;--bg-tertiary:#0a0a0a;--bg-card:#080808;--bg-card-hover:#0f0f0f;--bg-nav:#000000eb;--bg-input:#050505;--color-accent:#00ff41;--color-accent-dim:#0c3;--color-accent-glow:#00ff4159;--color-secondary:#f03;--color-highlight:#39ff14;--color-danger:#f03;--color-success:#00ff41;--text-primary:#c8ffc8;--text-secondary:#4dff4d;--text-accent:#00ff41;--text-muted:#4daa4d;--text-inverse:#000;--gradient-hero:radial-gradient(ellipse at center top, #0a1a0a 0%, #050a05 40%, #000 100%);--gradient-card:linear-gradient(145deg, #080808, #0d0d0d);--gradient-accent:linear-gradient(90deg, #00ff41, #39ff14);--gradient-glow:radial-gradient(ellipse at 50% 0%, #00ff411a 0%, transparent 70%);--gradient-text:linear-gradient(135deg, #00ff41, #39ff14, #00ff41);--border-color:#00ff4126;--border-color-hover:#00ff4180;--border-glow:0 0 10px #00ff414d;--border-glow-strong:0 0 20px #00ff4199, 0 0 40px #00ff4133, inset 0 0 20px #00ff410d;--shadow-card:0 4px 20px #000c, 0 0 0 1px #00ff411a;--shadow-card-hover:0 0 30px #00ff4133, 0 0 0 1px #00ff4166;--shadow-nav:0 1px 0 #00ff411a;--shadow-button:0 0 15px #00ff4180, 0 0 30px #00ff4133;--font-display:"Fira Code", "Source Code Pro", "Courier New", monospace;--font-body:"Fira Code", "Source Code Pro", monospace;--mode-suffix:".sec";--mode-color:#00ff41;--scanline-opacity:.03;--noise-opacity:.08;--grid-color:#00ff4108;--particle-color:#00ff41;--scrollbar-track:#000;--scrollbar-thumb:#004d14;--scrollbar-hover:#00ff41;--tag-bg:#00ff4114;--tag-border:#00ff414d;--tag-text:#00ff41;--timeline-line:#004d14;--timeline-dot:#00ff41;--timeline-dot-glow:#00ff4199;--btn-bg:#00ff41;--btn-bg-hover:#0c3;--btn-text:#000;--btn-outline-border:#00ff41;--btn-outline-text:#00ff41;--cursor-color:#00ff41;--cursor-trail:#00ff4180;--color-primary:var(--color-accent);--htb-green:#9fef00}[data-theme=sec] .navbar{border-bottom-color:#00ff414d;box-shadow:0 1px #00ff414d,0 4px 24px #00ff410f}[data-theme=sec] .navbar.scrolled{border-bottom-color:#00ff4180;box-shadow:0 1px #00ff4180,0 4px 24px #00ff411f}[data-theme=sec] .project-card{font-family:var(--font-display);border-style:solid;border-width:1px;position:relative;overflow:hidden}[data-theme=sec] .project-card:after{content:"";pointer-events:none;border-radius:inherit;z-index:0;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000026 2px 4px);position:absolute;inset:0}[data-theme=sec] .project-card .card-prompt{font-family:var(--font-display);color:var(--color-accent);opacity:0;font-size:.75rem;transition:all .2s;transform:translateY(4px)}[data-theme=sec] .project-card:hover .card-prompt{opacity:1;transform:translateY(0)}[data-theme=sec] .hero-section:before{content:"";opacity:var(--noise-opacity);pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E");position:absolute;inset:0}[data-theme=sec]::-webkit-scrollbar{width:6px}[data-theme=sec]::-webkit-scrollbar-track{background:var(--scrollbar-track)}[data-theme=sec]::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:0}[data-theme=sec]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}[data-theme=sec] ::selection{color:#00ff41;background:#00ff4133}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes heroFadeDown{0%{opacity:0;filter:blur(4px);transform:translateY(-20px)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes heroFadeUp{0%{opacity:0;filter:blur(4px);transform:translateY(28px)scale(.97)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.97)}}@keyframes glowPulse{0%,to{box-shadow:0 0 10px var(--color-accent-glow)}50%{box-shadow:0 0 25px var(--color-accent-glow), 0 0 50px var(--color-accent-glow)}}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes typewriter{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes suffixErase{0%{clip-path:inset(0 0% 0 0);opacity:1}to{clip-path:inset(0 100% 0 0);opacity:0}}@keyframes suffixWrite{0%{clip-path:inset(0 100% 0 0);opacity:0}to{clip-path:inset(0 0% 0 0);opacity:1}}@keyframes glitch{0%{transform:translate(0)}10%{clip-path:inset(10% 0 80%);transform:translate(-2px,1px)}20%{clip-path:inset(60% 0 20%);transform:translate(2px,-1px)}30%{clip-path:inset(0);transform:translate(0)}40%{clip-path:inset(40% 0);transform:translate(-1px,2px)}50%{clip-path:inset(80% 0 5%);transform:translate(1px,-2px)}60%{clip-path:inset(0);transform:translate(0)}70%{clip-path:inset(20% 0 60%);transform:translate(-3px)}80%{clip-path:inset(50% 0 30%);transform:translate(3px,1px)}90%{clip-path:inset(0);transform:translate(0)}to{transform:translate(0)}}body.theme-transitioning *{transition:background-color .4s,border-color .4s,color .3s,box-shadow .4s!important}.stagger-item{opacity:0;transform:translateY(20px)}.stagger-item.visible{animation:.5s forwards staggerFadeIn}.stagger-item:first-child{animation-delay:50ms}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}.stagger-item:nth-child(6){animation-delay:.3s}.stagger-item:nth-child(7){animation-delay:.35s}.stagger-item:nth-child(8){animation-delay:.4s}.stagger-item:nth-child(9){animation-delay:.45s}.stagger-item:nth-child(10){animation-delay:.5s}.stagger-item:nth-child(11){animation-delay:.55s}.stagger-item:nth-child(12){animation-delay:.6s}.hero-typewriter{white-space:nowrap;border-right:2px solid var(--color-accent);animation:2s steps(40,end) .5s both typewriter,.8s step-end 2.5s infinite cursorBlink;display:inline-block;overflow:hidden}.hero-subtitle{animation:.8s 1s both fadeInUp}.hero-cta{animation:.8s 1.3s both fadeInUp}.hero-decoration{animation:4s ease-in-out infinite float}.hero-tagline{position:relative;overflow:hidden}.hero-tagline.changing{animation:.4s fadeInDown}.project-card{will-change:transform;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,border-color .3s}.project-card:hover{transform:translateY(-6px)}.card-image-wrap{overflow:hidden}.card-image-wrap img{transition:transform .5s}.btn{transition:transform .2s,box-shadow .2s,background .3s;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;background:#ffffff26;border-radius:50%;transition:transform .4s,opacity .4s;position:absolute;inset:0;transform:scale(0)}.btn:active:after{opacity:0;transition:transform,opacity .4s;transform:scale(4)}.btn:hover{box-shadow:var(--shadow-button);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.mode-suffix{cursor:pointer;transition:color .3s;display:inline-block;position:relative}.mode-suffix:after{content:"";background:var(--color-accent);transform-origin:0;width:100%;height:2px;transition:transform .3s;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.mode-suffix:hover:after{transform:scaleX(1)}.mode-suffix.erasing{animation:.2s forwards suffixErase}.mode-suffix.writing{animation:.3s forwards suffixWrite}.suffix-cursor{background:var(--color-accent);vertical-align:middle;width:2px;height:1.1em;margin-left:1px;animation:.7s step-end infinite cursorBlink;display:inline-block}.skill-bar-fill{width:0%;transition:width 1.2s cubic-bezier(.4,0,.2,1)}.skill-bar-fill.animate{width:var(--skill-level)}.timeline-dot{transition:transform .4s cubic-bezier(.34,1.56,.64,1);transform:scale(0)}.timeline-item.visible .timeline-dot{transform:scale(1)}.timeline-content{opacity:0;transition:opacity .5s,transform .5s;transform:translate(20px)}.timeline-item.visible .timeline-content{opacity:1;transform:translate(0)}[data-theme=sec] .hero-name{animation:none}[data-theme=sec] .hero-name.glitching{animation:.3s glitch}.decode-text{display:inline-block}[data-theme=ia] .glow-pulse{animation:2s ease-in-out infinite glowPulse}[data-theme=ia] .gradient-text{background:var(--gradient-text);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite gradientShift}@keyframes gradientShift{0%{background-position:0%}to{background-position:200%}}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--bg-card-hover) 50%, var(--bg-card) 75%);background-size:200% 100%;border-radius:6px;animation:1.5s infinite shimmer}.scroll-progress{background:var(--gradient-accent);height:3px;box-shadow:0 0 10px var(--color-accent-glow);z-index:1000;transform-origin:0;transition:width .1s linear;position:fixed;top:0;left:0}@keyframes sd-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes sd-left{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:none}}@keyframes sd-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@keyframes sd-scale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes sd-bar{to{transform:scaleX(1)}}@supports (animation-timeline:view()){.animate-on-scroll{transition:none;animation:linear both sd-up;animation-timeline:view();animation-range:entry entry 28%}.animate-on-scroll.from-left{animation-name:sd-left}.animate-on-scroll.from-right{animation-name:sd-right}.animate-on-scroll.from-scale{animation-name:sd-scale}.animate-on-scroll.visible{opacity:1;animation:none;transform:none}.timeline-dot{transition:none;animation:linear both sd-scale;animation-timeline:view();animation-range:entry entry 22%}.timeline-content{transition:none;animation:linear both sd-right;animation-timeline:view();animation-range:entry 4% entry 32%}.timeline-item.visible .timeline-dot,.timeline-item.visible .timeline-content{opacity:1;animation:none;transform:none}}@supports (animation-timeline:scroll()){.scroll-progress{transform-origin:0;width:100%;transition:none;animation:linear sd-bar;animation-timeline:scroll(root);transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-typewriter{white-space:normal;clip-path:none!important;border-right:none!important;animation:none!important}.hero-decoration{animation:none!important}.hero-subtitle,.hero-cta{opacity:1;animation:none!important}.animate-on-scroll{opacity:1!important;transition:none!important;transform:none!important}.stagger-item{opacity:1!important;animation:none!important;transform:none!important}.timeline-dot{transition:none!important;transform:scale(1)!important}.timeline-content{opacity:1!important;transition:none!important;transform:none!important}.skill-bar-fill,.project-card{transition:none!important}.project-card:hover{transform:none!important}.card-image-wrap img{transition:none!important}.project-card:hover .card-image-wrap img{transform:none!important}.btn{transition:none!important}.btn:hover{box-shadow:none!important;transform:none!important}.btn:after{display:none!important}.mode-suffix.erasing,.mode-suffix.writing,.suffix-cursor{opacity:1!important;animation:none!important}.skeleton,[data-theme=ia] .glow-pulse,[data-theme=ia] .gradient-text,[data-theme=sec] .hero-name.glitching{animation:none!important}.theme-transition-overlay,.theme-transition-overlay.active{opacity:0!important;animation:none!important}body.theme-transitioning *{transition:none!important}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-body,"Inter", system-ui, sans-serif);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;transition:background-color .4s,color .3s;overflow-x:hidden}img,video{max-width:100%;height:auto;display:block}a{color:var(--text-accent);text-decoration:none;transition:color .2s,opacity .2s}a:hover{opacity:.85}button,input,textarea,select{font-family:inherit;font-size:inherit}ul,ol{list-style:none}:root{--container-max:1200px;--container-padding:1.5rem;--section-gap:4rem;--nav-height:70px;--mode-bar-height:32px;--border-radius:12px;--border-radius-sm:8px;--border-radius-lg:20px;--z-base:0;--z-above:1;--z-dropdown:200;--z-mobile-nav:99;--z-navbar:100;--z-modebar:101;--z-progress:1001;--z-jotai:9940;--z-gallery:9990;--z-palette:10000;--z-skip:10000;--z-pdf:10500;--z-tour:10600;--text-xs:.72rem;--text-sm:.8rem;--text-base:.875rem;--text-md:.95rem;--text-lg:1.05rem;--text-xl:1.1rem;--font-body:"Inter", system-ui, sans-serif;--font-display:"JetBrains Mono", monospace;--bg-primary:#0a0a1a;--bg-secondary:#111128;--bg-tertiary:#1a1a3e;--bg-card:#12122a;--bg-nav:#0a0a1ad9;--color-accent:#3b82f6;--color-accent-glow:#3b82f659;--color-secondary:#60a5fa;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-accent:#3b82f6;--text-muted:#475569;--border-color:#3b82f633;--shadow-card:0 4px 24px #00000080;--gradient-accent:linear-gradient(90deg, #3b82f6, #60a5fa);--tag-bg:#3b82f61f;--tag-border:#3b82f64d;--tag-text:#93c5fd;--btn-bg:#3b82f6;--btn-text:#fff}.container{width:100%;max-width:var(--container-max);padding:0 var(--container-padding);margin:0 auto}.mode-bar{z-index:101;height:var(--mode-bar-height);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--tag-border);background:#0000008c;transition:border-color .4s;position:fixed;top:0;left:0;right:0}.mode-bar__inner{max-width:var(--container-max);padding:0 var(--container-padding);justify-content:flex-end;align-items:center;gap:.5rem;height:100%;margin:0 auto;display:flex}.mode-bar__label{font-family:var(--font-display);color:var(--text-muted);letter-spacing:.06em;-webkit-user-select:none;user-select:none;font-size:12px}.mode-bar__chips{align-items:center;gap:.25rem;display:flex}.mode-bar-chip{font-family:var(--font-display);color:#6b7280;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;height:22px;padding:0 9px;font-size:12px;font-weight:500;transition:color .3s,background .3s,border-color .3s;display:inline-flex;position:relative}@media (pointer:coarse){.mode-bar-chip:after{content:"";position:absolute;inset:-11px -2px}}.mode-bar-chip:hover{color:var(--text-secondary);background:#ffffff0f}.mode-bar-chip.active{color:var(--color-accent);background:var(--tag-bg);border-color:var(--color-accent)}.navbar{top:var(--mode-bar-height);z-index:100;height:var(--nav-height);background:var(--bg-nav);-webkit-backdrop-filter:blur(16px)saturate(1.5);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-nav);transition:background .4s,border-color .4s,box-shadow .4s,transform .3s;position:fixed;left:0;right:0}.navbar__inner{justify-content:space-between;align-items:center;gap:2rem;height:100%;display:flex}.navbar__logo{font-family:var(--font-display);flex-shrink:0;align-items:center;gap:0;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.logo-pill{--pill-accent:var(--color-accent);--pill-glow:#3b82f661;border:1.5px solid var(--pill-accent);background:#0000002e;border-radius:999px;align-items:center;transition:box-shadow .25s,border-color .3s;animation:3.2s ease-in-out infinite logo-pill-pulse;display:inline-flex;position:relative;overflow:visible}.logo-pill:hover{box-shadow:0 0 14px 3px var(--pill-glow);animation-play-state:paused}.logo-pill__name{color:var(--text-primary);font-family:var(--font-display);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px 0 0 999px;padding:5px 10px 5px 15px;font-size:1.1rem;font-weight:700;transition:background .2s,color .2s}.logo-pill__name:hover{background:#ffffff12}.logo-pill__divider{background:var(--pill-accent);opacity:.35;flex-shrink:0;width:1px;height:15px;transition:background .3s}.logo-pill .logo-suffix{color:var(--pill-accent);cursor:pointer;box-shadow:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:0 999px 999px 0;align-items:center;gap:4px;padding:5px 14px 5px 9px;font-size:.92em;font-weight:700;transition:background .2s,color .3s;display:inline-flex;position:relative}.logo-pill .logo-suffix:hover{box-shadow:none;background:#ffffff12}.logo-pill .logo-suffix:after{display:none}.logo-pill .logo-suffix{padding-right:10px}[data-theme=ia] .logo-pill{--pill-accent:#06ffa5;--pill-glow:#06ffa552}[data-theme=sec] .logo-pill{--pill-accent:#00ff41;--pill-glow:#00ff4147}@keyframes logo-pill-pulse{0%,to{box-shadow:0 0 #0000}45%{box-shadow:0 0 11px 3px var(--pill-glow)}55%{box-shadow:0 0 11px 3px var(--pill-glow)}}@media (prefers-reduced-motion:reduce){.logo-pill{animation:none}}.mode-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);opacity:0;visibility:hidden;box-shadow:var(--shadow-card);z-index:200;min-width:120px;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;top:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%)translateY(-8px)}.mode-dropdown.open{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.mode-option{font-family:var(--font-display);cursor:pointer;color:var(--text-secondary);text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.6rem 1rem;font-size:.9rem;transition:background .2s;display:flex}.mode-option:hover{background:var(--bg-card-hover);color:var(--text-primary)}.mode-option.active{color:var(--color-accent)}.mode-option-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.navbar__links{align-items:center;gap:.35rem;display:flex}.nav-link{color:var(--text-secondary);letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:6px;padding:.35rem .9rem;font-size:.82rem;font-weight:500;transition:color .18s,background .18s,border-color .18s;position:relative}.nav-link:hover{color:var(--text-primary);background:var(--bg-card);border-color:var(--border-color-hover);box-shadow:0 0 10px var(--color-accent-glow)}.nav-link.active{color:var(--color-accent);background:rgba(var(--color-accent-rgb,59,130,246), .08);border-color:var(--color-accent);font-weight:600}.nav-link:after,.nav-link--ia-only,.mobile-nav-link--ia-only{display:none}[data-theme=ia] .nav-link--ia-only,[data-theme=ia] .mobile-nav-link--ia-only{display:inline-flex}.navbar__actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.navbar__hamburger{cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:5px;padding:.4rem;transition:background .2s;display:none}.navbar__hamburger:hover{background:var(--bg-card)}.hamburger-line{background:var(--text-secondary);border-radius:2px;width:24px;height:2px;transition:transform .3s,opacity .3s,background .3s}.navbar__hamburger.open .hamburger-line:first-child{transform:translateY(7px)rotate(45deg)}.navbar__hamburger.open .hamburger-line:nth-child(2){opacity:0}.navbar__hamburger.open .hamburger-line:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.navbar__mobile-menu{top:calc(var(--mode-bar-height) + var(--nav-height));background:var(--bg-nav);-webkit-backdrop-filter:blur(16px);padding:1rem var(--container-padding) 1.5rem;border-bottom:1px solid var(--border-color);opacity:0;z-index:99;flex-direction:column;gap:.25rem;transition:transform .3s,opacity .3s;display:none;position:fixed;left:0;right:0;transform:translateY(-100%)}.navbar__mobile-menu.open{opacity:1;display:flex;transform:translateY(0)}.mobile-nav-link{color:var(--text-secondary);border:1px solid #0000;border-radius:8px;padding:.65rem 1rem;font-size:.95rem;font-weight:500;transition:background .18s,color .18s,border-color .18s}.mobile-nav-link:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--color-border)}.mobile-nav-link.active{color:var(--color-accent);background:rgba(var(--color-accent-rgb,59,130,246), .08);border-color:var(--color-accent);font-weight:600}.navbar.scrolled{background:var(--bg-nav);box-shadow:var(--shadow-nav), 0 4px 20px #0000004d}.hero-section{min-height:100dvh;padding-top:calc(var(--mode-bar-height) + var(--nav-height));background:var(--gradient-hero);align-items:center;transition:background .5s;display:flex;position:relative;overflow:hidden}.hero-section:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg-primary));pointer-events:none;z-index:0;height:200px;position:absolute;bottom:0;left:0;right:0}#hero-canvas{z-index:0;pointer-events:none;position:absolute;inset:0}.hero-content{z-index:1;max-width:800px;position:relative}.hero-badge{background:var(--tag-bg);border:1px solid var(--tag-border);font-size:.8rem;font-family:var(--font-display);color:var(--tag-text);border-radius:100px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.35rem .85rem;animation:.8s cubic-bezier(.16,1,.3,1) .1s both heroFadeDown;display:inline-flex}.hero-badge-dot{background:var(--color-accent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}.hero-title{font-family:var(--font-display);margin-bottom:1.25rem;font-size:clamp(3rem,7vw,5.5rem);font-weight:700;line-height:1.05;transition:font-family .3s;animation:.9s cubic-bezier(.16,1,.3,1) .25s both heroFadeUp}.hero-name{background:var(--gradient-text);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:6s linear infinite hero-name-shimmer;display:block}@keyframes hero-name-shimmer{0%{background-position:0%}to{background-position:200%}}@media (prefers-reduced-motion:reduce){.hero-name{animation:none}}.hero-suffix{color:var(--color-accent);transition:color .4s;display:block}.hero-tagline{color:var(--text-secondary);max-width:600px;margin-bottom:2rem;font-size:clamp(1.1rem,2.5vw,1.5rem);line-height:1.5;transition:color .3s;animation:.9s cubic-bezier(.16,1,.3,1) .4s both heroFadeUp}.hero-cta-group{flex-wrap:wrap;gap:1rem;animation:.9s cubic-bezier(.16,1,.3,1) .55s both heroFadeUp;display:flex}.btn{border-radius:var(--border-radius-sm);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background .3s,border-color .3s,color .3s;display:inline-flex}.btn-primary{background:var(--gradient-accent);color:var(--btn-text);background-size:200%;transition:background-position .4s,box-shadow .2s,transform .2s,border-color .3s,color .3s}.btn-primary:hover{box-shadow:var(--shadow-button);color:var(--btn-text);background-position:100%;transform:translateY(-2px)}.btn-outline{color:var(--btn-outline-text);border:1.5px solid var(--btn-outline-border);-webkit-backdrop-filter:blur(8px);background:0 0}.btn-outline:hover{background:var(--color-accent-glow);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 16px var(--color-accent-glow);color:var(--btn-outline-text);transform:translateY(-2px)}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.btn-icon{background:var(--bg-card);width:36px;height:36px;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:8px;justify-content:center;padding:0}.btn-icon:hover{color:var(--color-accent);border-color:var(--border-color-hover);background:var(--bg-card-hover);transform:translateY(-2px)}.section{padding:2rem 0 var(--section-gap);scroll-margin-top:calc(var(--mode-bar-height) + var(--nav-height) + .5rem);position:relative;overflow:hidden}.navbar-hidden .section{scroll-margin-top:calc(var(--mode-bar-height) + .5rem)}.section--alt{background:var(--bg-secondary);transition:background .4s}.section-bg-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 5% 95%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 5% 95%,#0000 100%)}.section>.container{z-index:1;position:relative}.section:before,.section--alt:before{content:"";pointer-events:none;z-index:0;height:100px;position:absolute;top:0;left:0;right:0}.section:before{background:linear-gradient(to bottom, var(--bg-primary), transparent)}.section--alt:before{background:linear-gradient(to bottom, var(--bg-secondary), transparent)}#about.section--alt:before{background:linear-gradient(to bottom, var(--bg-primary), transparent);height:280px}.section:after,.section--alt:after{content:"";pointer-events:none;z-index:0;height:100px;position:absolute;bottom:0;left:0;right:0}.section:after{background:linear-gradient(to bottom, transparent, var(--bg-primary))}.section--alt:after{background:linear-gradient(to bottom, transparent, var(--bg-secondary))}.section-header{text-align:center;margin-bottom:2.5rem}.section-header:after{content:"";background:var(--gradient-accent);border-radius:2px;width:56px;height:3px;margin:1rem auto 0;display:block}.section-label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.75rem;font-size:.8rem;font-weight:600;transition:color .4s;display:inline-block}.section-title{color:var(--text-primary);margin-bottom:1rem;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;transition:color .3s}.section-description{max-width:600px;color:var(--text-secondary);margin:0 auto;font-size:1.05rem;transition:color .3s}.about-grid{grid-template-columns:1fr 1.8fr;align-items:center;gap:4rem;display:grid}.about-avatar-wrap{flex-direction:column;align-items:center;display:flex;position:relative}.about-avatar{aspect-ratio:1;border-radius:var(--border-radius-lg);object-fit:cover;border:2px solid var(--color-accent);width:100%;max-width:320px;box-shadow:var(--border-glow), var(--border-glow-strong);transition:border-color .4s,box-shadow .4s,filter .4s,transform .3s}.about-avatar:hover{transform:scale(1.02)}.about-avatar{filter:none}.about-avatar-glow{background:radial-gradient(ellipse, var(--color-accent-glow) 0%, transparent 70%);border-radius:inherit;z-index:-1;transition:background .4s;animation:3s ease-in-out infinite avatar-glow-pulse;position:absolute;inset:-30px}@keyframes avatar-glow-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.about-avatar-glow{opacity:.8;animation:none}}.about-content h3{font-family:var(--font-display);color:var(--text-primary);margin-bottom:1rem;font-size:1.6rem;font-weight:700;transition:color .3s}.about-text{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.8;transition:color .3s}.about-stats{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;display:grid}.about-stat{text-align:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:default;padding:1.25rem 1rem;transition:background .3s,border-color .3s,box-shadow .3s,transform .3s}.about-stat:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.stat-value{font-family:var(--font-display);background:var(--gradient-text);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,3vw,2.6rem);font-weight:700;transition:filter .4s;display:block}.stat-label{color:var(--text-muted);font-size:.8rem;transition:color .3s}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;display:grid}.skill-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:default;flex-direction:column;align-items:center;gap:.6rem;padding:1.25rem .75rem;transition:background .3s,border-color .3s,box-shadow .3s,transform .3s cubic-bezier(.34,1.56,.64,1);display:flex}.skill-card:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.skill-icon{filter:grayscale(.3);justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;transition:filter .3s,transform .3s;display:flex}.skill-card:hover .skill-icon{filter:grayscale(0);transform:scale(1.1)}.skill-name{color:var(--text-secondary);text-align:center;font-size:.78rem;font-weight:500;line-height:1.3;transition:color .3s}.skill-card:hover .skill-name{color:var(--text-primary)}.skills-categories{flex-direction:column;gap:2.5rem;display:flex}.skill-category-title{font-family:var(--font-display);color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;font-size:.85rem;font-weight:600;transition:color .4s}.projects-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem;display:grid}.projects-pagination{justify-content:center;align-items:center;gap:1rem;margin-top:2.5rem;display:flex}.pag-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);font-family:var(--font-display);cursor:pointer;align-items:center;gap:.4rem;padding:.5rem 1.1rem;font-size:.85rem;transition:background .2s,border-color .2s,color .2s;display:flex}.pag-btn:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--color-accent);color:var(--color-accent)}.pag-btn:disabled{opacity:.35;cursor:not-allowed}.pag-counter{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-mono,monospace);color:var(--text-secondary);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;align-items:baseline;gap:.15rem;padding:.5rem .95rem;font-size:.85rem;line-height:1;display:inline-flex}.pag-counter__current{color:var(--color-accent);font-weight:700}.pag-counter__sep{color:var(--text-muted);margin:0 .1rem}.pag-counter__total{color:var(--text-muted)}@property --beam-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.project-card{border-radius:var(--border-radius);box-shadow:none;background:0 0;border:none;flex-direction:column;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:visible}.lab-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-card);transition:background .4s,border-color .4s,box-shadow .4s,transform .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.lab-card:hover{border-color:var(--border-color-hover);box-shadow:var(--shadow-card-hover)}.project-card:after{content:"";border-radius:calc(var(--border-radius) + 1.5px);background:conic-gradient(from var(--beam-angle), transparent 0deg, var(--color-accent) 48deg, #ffffffe6 60deg, var(--color-accent) 72deg, transparent 118deg);z-index:-1;opacity:0;pointer-events:none;transition:opacity .45s;position:absolute;inset:-1.5px}.project-card:hover:after{opacity:1;animation:3.5s linear infinite beam-spin}@keyframes beam-spin{to{--beam-angle:360deg}}@media (prefers-reduced-motion:reduce){.project-card:hover:after{opacity:.5;animation:none}}.card-image-wrap{aspect-ratio:16/9;background:var(--bg-tertiary);position:relative;overflow:hidden}.card-image-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .55s;display:block}.project-card:hover .card-image-wrap img{transform:scale(1.06)}.card-image-overlay{pointer-events:none;background:linear-gradient(#0000 50%,#00000059 100%);transition:background .4s;position:absolute;inset:0}.project-card--fullbleed .card-image-wrap{aspect-ratio:4/3;border-radius:inherit;box-shadow:var(--shadow-card);transition:box-shadow .35s}.project-card--fullbleed:hover .card-image-wrap{box-shadow:var(--shadow-card-hover)}.project-card--fullbleed:hover .card-image-wrap img{transform:scale(1.07)}.project-card--fullbleed .card-image-overlay{background:linear-gradient(#0000 0% 14%,#0000008c 42%,#000000e0 62%,#000000fa 100%)}.project-card--fullbleed:hover .card-image-overlay{background:linear-gradient(#0000001a 0%,#00000073 28%,#000000d9 52%,#000000fa 100%)}.card-img-badges{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex;position:absolute;top:.75rem;left:.75rem;right:.75rem}.card-img-badge{font-size:.7rem;font-weight:600;font-family:var(--font-display);letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);border-radius:100px;align-items:center;gap:.3rem;padding:.25rem .65rem;display:inline-flex}.card-img-badge--featured{color:#fff;background:#0066ffd9;border:1px solid #fff3}.card-img-badge--date{color:#ffffffe6;background:#0000008c;border:1px solid #ffffff1a;margin-left:auto}.card-image-placeholder{background:radial-gradient(ellipse 90% 70% at 50% 55%, var(--color-accent-glow) 0%, transparent 65%), var(--bg-secondary);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.cph__bg-text{font-size:clamp(2rem,10vw,5.5rem);font-weight:900;font-family:var(--font-display,sans-serif);color:var(--color-accent);opacity:.09;text-transform:uppercase;letter-spacing:-.03em;text-align:center;word-break:break-word;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:.5rem;line-height:.9;display:flex;position:absolute;inset:0}.card-body{flex-direction:column;flex:1;gap:.65rem;padding:1.25rem 1.5rem 1rem;display:flex}.card-title{color:var(--text-primary);font-size:1.1rem;font-weight:700;line-height:1.3;transition:color .3s}.card-description{color:var(--text-secondary);flex:1;font-size:.875rem;line-height:1.65;transition:color .3s}.card-tags{flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.25rem;display:flex}.tag{background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--tag-text);font-size:.72rem;font-weight:500;font-family:var(--font-display);border-radius:100px;padding:.2rem .6rem;transition:background .4s,border-color .4s,color .4s}.card-links{border-top:1px solid var(--border-color);background:var(--bg-card);gap:.75rem;padding:1rem 1.5rem;transition:background .4s,border-color .4s;display:flex}.card-btn{font-size:.82rem;font-weight:600;font-family:var(--font-display);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .15s;display:inline-flex}.card-btn:hover{transform:translateY(-1px)}.card-btn--primary{background:var(--color-primary,#06f);color:#fff;border:1px solid #0000}.card-btn--primary:hover{background:#0052cc}.card-btn--outline{color:var(--text-primary);border:1px solid var(--border-color);background:0 0}.card-btn--outline:hover{border-color:var(--color-primary,#06f);color:var(--color-primary,#06f)}.card-private-note{color:var(--text-muted);align-items:center;gap:.4rem;margin:auto 0;font-size:.78rem;display:inline-flex}.project-card--fullbleed .card-body{flex:unset;z-index:2;gap:.35rem;padding:1.1rem 1.25rem .875rem;position:absolute;bottom:0;left:0;right:0}.project-card--fullbleed .card-tags{order:-1;margin-top:0;padding-top:0}.project-card--fullbleed .tag{color:#ffffffeb;-webkit-backdrop-filter:blur(8px);text-shadow:0 1px 3px #000c;background:#0000006b;border-color:#ffffff2e}.project-card--fullbleed .card-title{color:#fff;text-shadow:0 1px 3px #000000fa,0 2px 10px #000000bf,0 4px 22px #00000080}.project-card--fullbleed .card-description{color:#ffffffd9;opacity:0;flex:unset;text-shadow:0 1px 4px #000000e6;max-height:0;font-size:.84rem;transition:max-height .35s,opacity .3s;overflow:hidden}.project-card--fullbleed:hover .card-description{opacity:1;max-height:6em}.project-card--fullbleed .card-links{opacity:0;background:0 0;border-top:none;gap:.5rem;margin-top:.15rem;padding:0;transition:opacity .3s 70ms,transform .3s 70ms;transform:translateY(5px)}.project-card--fullbleed:hover .card-links{opacity:1;transform:translateY(0)}.project-card--fullbleed .card-btn--outline{color:#fff;-webkit-backdrop-filter:blur(4px);background:#ffffff1a;border-color:#ffffff47}.project-card--fullbleed .card-btn--outline:hover{border-color:var(--color-accent);color:var(--color-accent);background:#ffffff2e}.project-card--fullbleed .card-btn--process{color:#fff;-webkit-backdrop-filter:blur(4px);background:#ffffff1a;border-color:#ffffff47}.project-card--fullbleed .card-btn--process:hover{border-color:var(--color-accent);color:var(--color-accent);background:#ffffff2e}.project-card--fullbleed .card-private-note{color:#ffffff8c}@media (hover:none){.project-card--fullbleed .card-image-wrap{aspect-ratio:auto;flex-direction:column;display:flex}.project-card--fullbleed .card-image-wrap img{aspect-ratio:16/9;height:auto}.project-card--fullbleed .card-image-placeholder{aspect-ratio:16/9;position:static}.project-card--fullbleed .card-image-overlay{display:none}.project-card--fullbleed .card-body{background:var(--bg-card,var(--bg-secondary));gap:.45rem;padding:.9rem 1rem 1rem;position:static}.project-card--fullbleed .card-description{opacity:1;max-height:none}.project-card--fullbleed .card-links{opacity:1;margin-top:.5rem;transform:none}}.coming-soon{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:400px;padding:5rem 2rem;animation:.6s fadeIn;display:flex}.coming-soon-icon{font-size:4rem;animation:3s ease-in-out infinite float}.coming-soon-title{font-family:var(--font-display);color:var(--text-primary);font-size:1.4rem;font-weight:700}.coming-soon-text{color:var(--text-secondary);max-width:400px;font-size:.95rem}.coming-soon-badge{border:1px solid var(--border-color);font-family:var(--font-display);color:var(--text-muted);border-radius:100px;padding:.5rem 1.25rem;font-size:.8rem;animation:2.5s ease-in-out infinite glowPulse}.timeline{max-width:800px;margin:0 auto;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--timeline-line), transparent);width:2px;transition:background .4s;position:absolute;top:0;bottom:0;left:20px}.timeline-item{gap:2rem;padding-bottom:2.5rem;padding-left:56px;display:flex;position:relative}.timeline-dot{background:var(--timeline-dot);border:3px solid var(--bg-primary);width:18px;height:18px;box-shadow:0 0 10px var(--timeline-dot-glow);border-radius:50%;flex-shrink:0;transition:background .4s,box-shadow .4s,border-color .4s;position:absolute;top:4px;left:11px}.timeline-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);flex:1;padding:1.25rem 1.5rem;transition:background .4s,border-color .4s}.timeline-date{font-family:var(--font-display);color:var(--color-accent);margin-bottom:.4rem;font-size:.8rem;transition:color .4s}.timeline-title{color:var(--text-primary);margin-bottom:.2rem;font-weight:700;transition:color .3s}.timeline-org{color:var(--text-secondary);margin-bottom:.75rem;font-size:.9rem;transition:color .3s}.timeline-desc{color:var(--text-muted);font-size:.9rem;line-height:1.6;transition:color .3s}.contact-grid{grid-template-columns:1fr 1.5fr;align-items:start;gap:4rem;display:grid}.contact-info h3{font-family:var(--font-display);color:var(--text-primary);margin-bottom:.75rem;font-size:1.3rem;font-weight:700;transition:color .3s}.contact-info p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.7;transition:color .3s}.contact-links{flex-direction:column;gap:.75rem;display:flex}.contact-link-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:flex}.contact-link-item:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover);transform:translate(4px)}.contact-link-icon{background:var(--tag-bg);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:background .4s;display:flex}.contact-link-text{flex-direction:column;display:flex}.contact-link-label{color:var(--text-muted);font-size:.75rem;transition:color .3s}.contact-link-value{color:var(--text-primary);font-size:.9rem;font-weight:500;transition:color .3s}.contact-form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-label{color:var(--text-secondary);font-size:.85rem;font-weight:500;transition:color .3s}.form-input,.form-textarea{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);outline:none;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s,background .4s}.form-input:focus,.form-textarea:focus{border-color:var(--color-accent);outline:2px solid var(--color-accent);outline-offset:2px;box-shadow:0 0 0 3px var(--color-accent-glow)}.form-textarea{resize:vertical;min-height:140px;line-height:1.6}.footer{border-top:1px solid var(--border-color);background:var(--bg-primary);padding:2rem 0;transition:border-color .4s,background .4s}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer__copy{color:#7c8aa3;font-size:.85rem;transition:color .3s}.footer__copy span{color:var(--color-accent);transition:color .4s}.footer__mode{font-family:var(--font-display);color:#7c8aa3;font-size:.8rem;transition:color .3s}.footer__mode strong{color:var(--color-accent);transition:color .4s}.scroll-progress{background:var(--gradient-accent);width:0%;height:3px;box-shadow:0 0 8px var(--color-accent-glow);z-index:1001;transition:background .4s,box-shadow .4s;position:fixed;top:0;left:0}.skip-link{width:1px;height:1px;text-decoration:none;position:absolute;top:auto;left:-9999px;overflow:hidden}.skip-link:focus{background:var(--color-accent);color:#fff;z-index:10000;border-radius:0 0 8px;width:auto;height:auto;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;position:fixed;top:0;left:0;overflow:visible}.text-accent{color:var(--color-accent);transition:color .4s}.text-muted{color:var(--text-muted);transition:color .3s}.text-gradient{background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.divider{background:var(--border-color);height:1px;margin:4rem 0;transition:background .4s}.section-rule{z-index:2;background:linear-gradient(to right, transparent 0%, var(--color-accent) 18%, var(--color-accent) 82%, transparent 100%);opacity:.38;height:1px;box-shadow:0 0 10px 2px var(--color-accent-glow);border:none;margin:0;transition:opacity .4s,box-shadow .4s;position:relative}@media (width<=1024px){:root{--section-gap:3.5rem;--container-padding:1.25rem}.about-grid{grid-template-columns:1fr;gap:2.5rem}.about-avatar{max-width:200px}.about-avatar-wrap{justify-content:center;display:flex}.contact-grid{grid-template-columns:1fr;gap:2.5rem}}@media (width<=768px){:root{--section-gap:3rem;--container-padding:1rem;--mode-bar-height:28px;--nav-height:60px}.navbar__links{display:none}.navbar__hamburger{display:flex}.hero-cta-group{flex-direction:column}.hero-cta-group .btn{justify-content:center;width:100%}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.projects-grid{grid-template-columns:repeat(2,1fr)}.about-stats{grid-template-columns:repeat(3,1fr)}.timeline:before{left:12px}.timeline-dot{left:3px}.timeline-item{gap:1rem;padding-left:40px}.footer__inner{text-align:center;flex-direction:column}}@media (width<=480px){.skills-grid{grid-template-columns:repeat(3,1fr)}.projects-grid{grid-template-columns:repeat(2,1fr);gap:.875rem}.card-body{gap:.5rem;padding:.875rem .875rem .6rem}.card-title{font-size:.9rem}.card-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.78rem;display:-webkit-box;overflow:hidden}.card-tags{gap:.25rem}.tag{padding:.12rem .4rem;font-size:.62rem}.card-links{flex-wrap:wrap;gap:.375rem;padding:.625rem .875rem}.card-btn{gap:.25rem;min-width:0;padding:.4rem .5rem;font-size:.7rem}.card-btn svg{flex-shrink:0;width:13px;height:13px}.card-btn--process{flex:0 0 100%;justify-content:center}}.ia-search-wrap{max-width:680px;margin:0 auto}.ia-search-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:50px;align-items:center;gap:.75rem;padding:.55rem .55rem .55rem 1.25rem;transition:box-shadow .25s,border-color .25s;display:flex;box-shadow:0 2px 10px #0000002e}.ia-search-bar:focus-within{border-color:var(--color-accent);box-shadow:0 4px 20px var(--color-accent-glow)}.ia-search-icon{color:var(--text-muted);flex-shrink:0}.ia-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:1rem;line-height:1.5}.ia-input::placeholder{color:var(--text-muted)}.ia-send-btn{background:var(--color-accent);width:40px;height:40px;color:var(--text-inverse);cursor:pointer;border:none;border-radius:50px;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.ia-send-btn:hover{background:var(--color-accent-dim);transform:scale(1.06)}.ia-send-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.ia-suggestions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.1rem;display:flex}.ia-suggestion{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:100px;padding:.3rem .85rem;font-size:.8rem;transition:border-color .2s,color .2s,background .2s}.ia-suggestion:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--tag-bg)}.ia-results{margin-top:2.25rem}.ia-loading{color:var(--text-muted);font-size:.82rem;font-family:var(--font-display);align-items:center;gap:.6rem;padding:.5rem 0;display:flex}.ia-dots{gap:4px;display:flex}.ia-dots span{background:var(--color-accent);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite iaDot}.ia-dots span:nth-child(2){animation-delay:.2s}.ia-dots span:nth-child(3){animation-delay:.4s}@keyframes iaDot{0%,80%,to{opacity:.35;transform:scale(.65)}40%{opacity:1;transform:scale(1)}}.ia-result-card{border-left:3px solid var(--color-accent);background:var(--bg-card);border-radius:0 10px 10px 0;margin-bottom:.1rem;padding:1.25rem 1.5rem;animation:.2s iaFadeUp}@keyframes iaFadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ia-result-breadcrumb{color:var(--text-muted);font-size:.72rem;font-family:var(--font-display);letter-spacing:.02em;margin-bottom:.3rem}.ia-result-title{color:var(--color-accent);margin:0 0 .2rem;font-size:1.1rem;font-weight:700;line-height:1.35}.ia-result-meta{color:var(--text-muted);font-size:.75rem;font-family:var(--font-display);margin-bottom:.8rem}.ia-result-desc{color:var(--text-secondary);margin:0 0 .85rem;font-size:.875rem;line-height:1.7}.ia-result-desc strong{color:var(--text-primary)}.ia-result-row{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.ia-metric{font-size:.7rem;font-family:var(--font-display);background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--color-accent);border-radius:100px;padding:.18rem .6rem}.ia-badge{font-size:.7rem;font-family:var(--font-display);border-radius:100px;padding:.18rem .6rem;font-weight:700}.ia-badge--green{background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--color-accent)}.ia-badge--yellow{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf244d}.ia-badge--purple{color:#b14eff;background:#b14eff1a;border:1px solid #b14eff4d}.ia-tag-tech{font-size:.7rem;font-family:var(--font-display);color:#b14eff;background:#b14eff12;border:1px solid #b14eff38;border-radius:100px;padding:.15rem .5rem}.ia-result-actions{gap:1rem;margin-top:.6rem;display:flex}.ia-result-link{font-size:.78rem;font-family:var(--font-display);color:var(--text-muted);text-decoration:none;transition:color .18s}.ia-result-link:hover{color:var(--color-accent)}.ia-result-card--plain{border-left-color:var(--color-secondary)}.ia-result-plain-text{color:var(--text-secondary);white-space:pre-line;font-size:.875rem;line-height:1.75}.ia-result-plain-text strong{color:var(--text-primary)}.ia-no-results{text-align:center;color:var(--text-muted);padding:1.5rem 0;font-size:.875rem}.ia-disclaimer{color:var(--text-muted);justify-content:center;align-items:center;gap:.4rem;margin-top:2rem;font-size:.72rem;display:flex}@media (width<=600px){.ia-search-bar{padding:.45rem .45rem .45rem 1rem}.ia-result-card{border-radius:0 8px 8px 0;padding:1rem 1.1rem}.ia-suggestions{gap:.4rem}}.lab-card-header{position:relative;overflow:hidden}.lab-platform-bar{width:3px;height:100%;position:absolute;top:0;left:0}.lab-header-content{justify-content:space-between;align-items:center;padding:.75rem 1rem .75rem 1.25rem;display:flex}.lab-platform-badge{font-size:.72rem;font-weight:700;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;border:1px solid;border-radius:100px;align-items:center;gap:.35rem;padding:.25rem .65rem;display:inline-flex}.lab-status{font-size:.72rem;font-weight:600;font-family:var(--font-display);color:var(--htb-green,#9fef00);letter-spacing:.04em;align-items:center;gap:.3rem;display:inline-flex}.lab-meta{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.lab-os{color:var(--text-secondary);font-size:.78rem;font-family:var(--font-display)}.lab-diff{font-size:.7rem;font-weight:700;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:100px;padding:.15rem .55rem}.lab-rating{color:var(--text-muted);font-size:.75rem;font-family:var(--font-display);margin-left:auto}.lab-techniques{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.15rem;display:flex}.lab-techniques-label{font-size:.7rem;font-weight:600;font-family:var(--font-display);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.lab-technique{font-size:.7rem;font-family:var(--font-display);color:#00ff41;background:#00ff4112;border:1px solid #00ff4133;border-radius:100px;padding:.15rem .55rem}.lab-pwned-badge{font-size:.8rem;font-weight:700;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--htb-green,#9fef00);background:#9fef000f;border:1px solid #9fef004d;border-radius:100px;align-items:center;gap:.4rem;padding:.4rem 1rem;display:inline-flex}.lang-btn{font-family:var(--font-display);letter-spacing:.08em;justify-content:center;min-width:38px;font-size:.72rem;font-weight:700}.hero-bg-deco{opacity:.07;font-family:var(--font-display);color:var(--color-accent);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(8rem,15vw,18rem);font-weight:900;line-height:1;transition:color .4s;position:absolute;top:50%;right:8%;transform:translateY(-50%)}.hero-scroll-hint{align-items:center;gap:.75rem;margin-top:4rem;display:flex}.hero-scroll-line{background:linear-gradient(to bottom, var(--color-accent), transparent);width:1px;height:40px;transition:background .4s}.hero-scroll-label{color:var(--text-muted);font-size:.75rem;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;transition:color .3s}.about-cta-group{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.mobile-menu-mode{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem;transition:border-color .4s}.mobile-menu-mode__label{color:var(--text-muted);font-size:.75rem;font-family:var(--font-display);margin-bottom:.75rem;transition:color .3s}.mobile-menu-mode__chips{flex-wrap:wrap;gap:.5rem;display:flex}.about-focus-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);gap:1rem;margin-bottom:1.5rem;padding:1.25rem;transition:background .4s,border-color .4s;display:flex;position:relative;overflow:hidden}.about-focus-card:before{content:"";background:var(--gradient-accent);width:3px;transition:background .4s;position:absolute;top:0;bottom:0;left:0}.focus-card-icon{background:var(--tag-bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.6rem;transition:background .4s;display:flex}.focus-card-body{flex:1}.focus-card-title{font-family:var(--font-display);color:var(--color-accent);margin-bottom:.35rem;font-size:.9rem;font-weight:700;transition:color .4s}.focus-card-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5;transition:color .3s}.focus-card-tags{flex-wrap:wrap;gap:.35rem;margin-top:.6rem;display:flex}.focus-card-tag{background:var(--tag-bg);border:1px solid var(--tag-border);font-size:.72rem;font-family:var(--font-display);color:var(--tag-text);border-radius:100px;padding:.15rem .5rem;transition:background .4s,border-color .4s,color .4s}.about-social-links{gap:.6rem;margin-bottom:1.5rem;display:flex}.social-link{background:var(--bg-card);border:1px solid var(--border-color);width:40px;height:40px;color:var(--text-secondary);border-radius:10px;justify-content:center;align-items:center;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s;display:flex}.social-link:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover);color:var(--color-accent);transform:translateY(-3px)}@media (pointer:coarse){.social-link{width:44px;height:44px}.social-link--pill{width:auto}}.social-link--pill{width:auto;font-size:.78rem;font-family:var(--font-display);letter-spacing:.02em;color:var(--color-accent);border-color:var(--color-accent);gap:.45rem;padding:0 .85rem;font-weight:600}.skill-pills-wrap{flex-wrap:wrap;gap:.45rem;padding:.85rem 1.1rem 1.1rem;display:flex}.skill-pill{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:default;white-space:nowrap;border-radius:999px;align-items:center;gap:.6rem;padding:.55rem 1.1rem .55rem .75rem;font-size:1rem;font-weight:500;transition:background .2s,border-color .2s,color .2s,transform .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.skill-pill:hover{background:var(--bg-card-hover);border-color:var(--color-accent);color:var(--text-primary);transform:translateY(-2px)}.skill-pill i{flex-shrink:0;font-size:1.6rem;line-height:1}.skill-pill .skill-icon--invert{filter:brightness(0)invert(.88)}.skill-pill .skill-pill-svg{flex-shrink:0;align-items:center;display:flex}.skill-pill .skill-pill-svg svg{width:22px;height:22px;stroke:var(--color-accent);fill:none;transition:stroke .4s}.skill-pill .skill-pill-emoji{flex-shrink:0;font-size:1.4rem;line-height:1}.skill-category-wrap{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);margin-bottom:.75rem;transition:border-color .3s;overflow:hidden}.skill-category-wrap:last-child{margin-bottom:0}.skill-category-header{background:var(--bg-card);align-items:center;gap:.75rem;padding:.75rem 1.1rem;display:flex}.skill-category-title{font-family:var(--font-display);color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;flex:1;margin:0;font-size:.82rem;font-weight:600;transition:color .4s}.skill-count-badge{background:var(--tag-bg);border:1px solid var(--tag-border);font-size:.7rem;font-family:var(--font-display);color:var(--tag-text);border-radius:100px;padding:.1rem .5rem;transition:background .4s,border-color .4s,color .4s}.skills-mode-summary{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);align-items:center;gap:.75rem;margin-bottom:2.5rem;padding:.85rem 1.25rem;font-size:.875rem;transition:background .4s,border-color .4s,color .3s;animation:.4s fadeIn;display:flex}.skills-mode-summary strong{color:var(--color-accent);font-family:var(--font-display);transition:color .4s}.skills-mode-summary-icon{flex-shrink:0;font-size:1.25rem}.timeline-item-tags{flex-wrap:wrap;gap:.35rem;margin-top:.75rem;display:flex}.exp-tag{background:var(--tag-bg);border:1px solid var(--tag-border);font-size:.72rem;font-family:var(--font-display);color:var(--tag-text);border-radius:100px;padding:.2rem .55rem;transition:background .4s,border-color .4s,color .4s}.timeline-type-badge{font-size:.68rem;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;border-radius:100px;align-items:center;gap:.3rem;margin-bottom:.5rem;padding:.18rem .55rem;font-weight:600;display:inline-flex}.type-work{color:#60a5fa;background:#3b82f61f;border:1px solid #3b82f640}.type-project{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e40}.type-edu{color:#c084fc;background:#a855f71f;border:1px solid #a855f740}.timeline-dot-icon{background:var(--bg-primary);border:2px solid var(--timeline-dot);width:28px;height:28px;box-shadow:0 0 12px var(--timeline-dot-glow);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;transition:background .4s,border-color .4s,box-shadow .4s;display:flex;position:absolute;top:0;left:3px}[data-theme=sec] .timeline-content{font-family:var(--font-display);border-radius:4px}[data-theme=sec] .timeline-date:before{content:"$ ";color:var(--color-accent);opacity:.7}[data-theme=sec] .timeline-title:before{content:"> ";color:var(--color-accent)}[data-theme=ia] .timeline-content{-webkit-backdrop-filter:blur(8px);background:#12042a99!important}.contact-availability{font-size:.8rem;font-family:var(--font-display);color:#4ade80;background:#22c55e1a;border:1px solid #22c55e40;border-radius:100px;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.4rem .85rem;display:inline-flex}.availability-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulse}.form-field{margin-bottom:1.25rem;position:relative}.form-field label{color:var(--text-muted);pointer-events:none;background:0 0;padding:0 .25rem;font-size:.9rem;transition:all .2s;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.form-field.textarea-field label{top:1rem;transform:none}.form-field input:focus~label,.form-field input:not(:placeholder-shown)~label,.form-field textarea:focus~label,.form-field textarea:not(:placeholder-shown)~label{color:var(--color-accent);background:var(--bg-primary);font-size:.75rem;top:0;transform:translateY(-50%)}.form-field.textarea-field input:focus~label,.form-field.textarea-field textarea:focus~label,.form-field.textarea-field textarea:not(:placeholder-shown)~label{top:0;transform:translateY(-50%)}[data-theme=sec] .contact-form .form-input,[data-theme=sec] .contact-form .form-textarea{font-family:var(--font-display);border-radius:2px}[data-theme=sec] .contact-form .form-input::placeholder,[data-theme=sec] .contact-form .form-textarea::placeholder{color:var(--text-muted);font-family:var(--font-display)}.copy-email-btn{background:var(--tag-bg);border:1px solid var(--tag-border);font-size:.78rem;font-family:var(--font-display);color:var(--tag-text);cursor:pointer;vertical-align:middle;border-radius:6px;align-items:center;gap:.4rem;margin-left:.5rem;padding:.3rem .7rem;transition:all .2s;display:inline-flex}.copy-email-btn:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover);color:var(--color-accent)}.copy-email-btn.copied{color:#4ade80;background:#22c55e1f;border-color:#22c55e4d}.back-to-top{bottom:calc(2rem + env(safe-area-inset-bottom,0px));right:calc(6rem + env(safe-area-inset-right,0px));background:var(--bg-card);border:1px solid var(--border-color);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;opacity:0;visibility:hidden;z-index:9945;border-radius:12px;justify-content:center;align-items:center;transition:opacity .3s,visibility .3s,transform .3s,background .2s,border-color .2s,color .2s,box-shadow .2s;display:flex;position:fixed;transform:translateY(10px)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover);color:var(--color-accent);box-shadow:var(--border-glow)}.stat-value{font-family:var(--font-display);background:var(--gradient-text);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;min-height:2.8rem;font-size:clamp(2rem,3vw,2.6rem);font-weight:700;transition:filter .4s;display:block}@media (width<=768px){.about-focus-card{flex-direction:column;gap:.75rem}.back-to-top{bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));right:unset;left:calc(1.25rem + env(safe-area-inset-left,0px))}.contact-availability{font-size:.75rem}}@media (width<=480px){.skill-pills-wrap{gap:.35rem}}@media (hover:hover) and (pointer:fine){body{cursor:none}.cursor-dot{background:var(--color-accent);pointer-events:none;z-index:9998;mix-blend-mode:difference;border-radius:50%;width:8px;height:8px;transition:background .3s,transform .1s,width .2s,height .2s;position:fixed;transform:translate(-50%,-50%)}.cursor-ring{border:1.5px solid var(--color-accent);pointer-events:none;z-index:9997;opacity:.6;border-radius:50%;width:36px;height:36px;transition:transform .12s,width .25s,height .25s,border-color .3s,opacity .3s;position:fixed;transform:translate(-50%,-50%)}body.cursor-hover .cursor-dot{width:12px;height:12px}body.cursor-hover .cursor-ring{opacity:.4;width:52px;height:52px}body.cursor-click .cursor-dot{transform:translate(-50%,-50%)scale(.6)}body.cursor-click .cursor-ring{transform:translate(-50%,-50%)scale(.8)}}#cursor-trail-canvas{pointer-events:none;z-index:9996;opacity:0;transition:opacity .4s;position:fixed;inset:0}[data-theme=dev] #cursor-trail-canvas{opacity:1}[data-theme=ia] #cursor-trail-canvas{opacity:.7}[data-theme=sec] #cursor-trail-canvas{opacity:1}body:after{content:"";pointer-events:none;z-index:9995;opacity:0;background:repeating-linear-gradient(0deg,#0000,#0000 3px,#00000008 3px 4px);transition:opacity .5s;position:fixed;inset:0}[data-theme=sec] body:after,[data-theme=sec]:after{opacity:1}[data-theme=dev] .hero-section:after{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle,#3b82f61f 1px,#0000 1px);background-size:40px 40px;animation:20s linear infinite gridDrift;position:absolute;inset:0}@keyframes gridDrift{0%{background-position:0 0}to{background-position:40px 40px}}[data-theme=ia] .hero-section:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(60% 40% at 30% 60%,#b14eff14 0%,#0000 70%),radial-gradient(50% 50% at 70% 30%,#06ffa50f 0%,#0000 70%);animation:6s ease-in-out infinite alternate iaPulse;position:absolute;inset:0}@keyframes iaPulse{0%{opacity:.6;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}[data-theme=sec] .hero-section:after{content:"";pointer-events:none;z-index:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-title .hero-suffix{background:var(--gradient-text);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:4s linear infinite titleGradient}@keyframes titleGradient{0%{background-position:0%}to{background-position:200%}}.hero-name{display:inline-block;position:relative}.hero-name:after{content:"";background:var(--gradient-accent);border-radius:2px;width:0;height:3px;transition:background .4s;animation:1.2s 1s forwards nameUnderline;position:absolute;bottom:4px;left:0}@keyframes nameUnderline{to{width:100%}}@keyframes glitchShift{0%{clip-path:inset(0% 0 95%);transform:translate(-3px)}10%{clip-path:inset(40% 0);transform:translate(3px)}20%{clip-path:inset(80% 0 5%);transform:translate(-2px)}30%{clip-path:inset(20% 0 60%);transform:translate(2px)}40%{clip-path:inset(60% 0 20%);transform:translate(-3px)}50%{clip-path:inset(10% 0 80%);transform:translate(0)}60%{clip-path:inset(50% 0 30%);transform:translate(2px)}70%{clip-path:inset(30% 0 55%);transform:translate(-2px)}80%{clip-path:inset(70% 0 15%);transform:translate(1px)}90%{clip-path:inset(5% 0 85%);transform:translate(-1px)}to{clip-path:inset(0% 0);transform:translate(0)}}.hero-suffix.glitching:before,.hero-suffix.glitching:after{content:attr(data-text);width:100%;height:100%;position:absolute;top:0;left:0}.hero-suffix.glitching:before{color:#ff0050;animation:.25s steps(2,end) forwards glitchShift;left:2px}.hero-suffix.glitching:after{color:#0ff;animation:.25s steps(2,end) 50ms forwards glitchShift;left:-2px}.hero-suffix{position:relative}.navbar:after{content:"";background:linear-gradient(to right, transparent, var(--color-accent), transparent);opacity:.4;width:100%;height:1px;transition:opacity .4s,background .4s;position:absolute;bottom:0;left:0}.navbar.scrolled:after{opacity:.7}.navbar__logo:hover .logo-pill__name{text-shadow:0 0 16px var(--color-accent-glow)}.logo-suffix{transition:color .3s,text-shadow .3s;position:relative}[data-theme=dev] .logo-suffix{text-shadow:0 0 12px #3b82f680}[data-theme=ia] .logo-suffix{text-shadow:0 0 12px #06ffa580,0 0 24px #b14eff4d}[data-theme=sec] .logo-suffix{text-shadow:0 0 10px #00ff4199,0 0 20px #00ff414d}[data-theme=sec] .section-label{font-family:var(--font-display);animation:4s ease-in-out infinite secLabelFlicker}@keyframes secLabelFlicker{0%,95%,to{opacity:1;text-shadow:0 0 8px #00ff4180}96%{opacity:.4}97%{opacity:1}98%{opacity:.3}99%{opacity:1}}.section-title{display:inline-block;position:relative}.project-card--featured{grid-column:span 1}.card-image-wrap{position:relative}.card-image-overlay{opacity:0;background:linear-gradient(#0000 40%,#000000b3 100%);transition:opacity .3s;position:absolute;inset:0}.project-card:hover .card-image-overlay{opacity:1}[data-theme=ia] .project-card{position:relative}[data-theme=ia] .project-card:before{content:"";background:conic-gradient(from var(--card-angle,0deg), transparent 0deg, var(--color-accent) 60deg, var(--color-secondary) 120deg, transparent 180deg);z-index:-1;opacity:0;border-radius:13px;transition:opacity .3s;position:absolute;inset:-1px}[data-theme=ia] .project-card:hover:before{opacity:.6;animation:3s linear infinite rotateBorder}@keyframes rotateBorder{to{--card-angle:360deg}}@property --card-angle{syntax:"<angle>";inherits:false;initial-value:0deg}[data-theme=sec] .project-card:after{content:"";background:linear-gradient(to right, transparent, var(--color-accent), transparent);opacity:0;height:2px;transition:opacity .2s;position:absolute;top:-2px;left:0;right:0}[data-theme=sec] .project-card:hover:after{opacity:.8;animation:1.5s linear infinite scanLine}@keyframes scanLine{0%{opacity:.8;top:0%}90%{opacity:.8;top:100%}to{opacity:0;top:100%}}[data-theme=sec] .project-card .card-body:before{content:attr(data-index);font-family:var(--font-display);color:var(--text-muted);opacity:.5;font-size:.65rem;position:absolute;top:1rem;right:1rem}[data-theme=ia] .btn-primary{color:#0d0221;background:linear-gradient(135deg,#06ffa5,#00cc84);position:relative;overflow:visible}[data-theme=ia] .btn-primary:before{content:"";border-radius:inherit;filter:blur(8px);opacity:0;z-index:-1;background:linear-gradient(135deg,#06ffa5,#b14eff);transition:opacity .3s;position:absolute;inset:-3px}[data-theme=ia] .btn-primary:hover:before{opacity:.5}[data-theme=sec] .btn-primary{font-family:var(--font-display);letter-spacing:.05em;position:relative}[data-theme=sec] .btn-primary:before{content:"> ";color:#000;font-weight:700}.btn-outline{background-position:100%;background-size:200% 100%;background-image:linear-gradient(to left, transparent 50%, var(--color-accent-glow) 50%);transition:background-position .3s,color .3s,border-color .3s,transform .2s,box-shadow .2s}.btn-outline:hover{color:var(--btn-outline-text);background-position:0}[data-theme=dev] .skill-card:hover{box-shadow:0 0 0 1px #3b82f680, var(--shadow-card-hover)}[data-theme=ia] .skill-card:hover{box-shadow:0 0 0 1px #06ffa566, 0 0 20px #06ffa526, var(--shadow-card-hover)}[data-theme=sec] .skill-card{font-family:var(--font-display);border-radius:2px}[data-theme=sec] .skill-card:hover{box-shadow:0 0 0 1px #00ff4180,0 0 12px #00ff4126}[data-theme=sec] .skill-name{font-family:var(--font-display);letter-spacing:.03em;font-size:.7rem}[data-theme=dev] .skill-card:hover .skill-icon-wrap i{filter:drop-shadow(0 0 6px #3b82f699)}[data-theme=ia] .skill-card:hover .skill-icon-wrap i{filter:drop-shadow(0 0 6px #06ffa599)}[data-theme=sec] .skill-card:hover .skill-icon-wrap i{filter:drop-shadow(0 0 6px #00ff4199)grayscale(.3)brightness(1.1)}[data-theme=dev] .about-avatar{animation:3s ease-in-out infinite avatarGlowDev;box-shadow:0 0 0 2px #3b82f64d,0 0 30px #3b82f626}@keyframes avatarGlowDev{0%,to{box-shadow:0 0 0 2px #3b82f64d,0 0 30px #3b82f626}50%{box-shadow:0 0 0 3px #3b82f680,0 0 50px #3b82f640}}@property --avatar-angle{syntax:"<angle>";inherits:false;initial-value:0deg}[data-theme=ia] .about-avatar-wrap:before{content:"";border-radius:calc(var(--border-radius-lg) + 4px);background:conic-gradient(from var(--avatar-angle), #06ffa5, #b14eff, #06ffa5);z-index:-1;animation:4s linear infinite rotateGradient;position:absolute;inset:-3px}@keyframes rotateGradient{to{--avatar-angle:360deg}}[data-theme=ia] .about-avatar{box-shadow:none}[data-theme=sec] .about-avatar{filter:grayscale(.6)brightness(.85)contrast(1.15);animation:8s ease-in-out infinite avatarSecGlitch;box-shadow:0 0 0 2px #00ff4140,0 0 20px #00ff411a}@keyframes avatarSecGlitch{0%,92%,to{filter:grayscale(.6)brightness(.85)contrast(1.15)}93%{filter:grayscale(.6)brightness(.85)contrast(1.15)hue-rotate(90deg)}94%{filter:grayscale(.6)brightness(.85)contrast(1.15)}96%{filter:grayscale(.6)brightness(.85)contrast(1.15)hue-rotate(-30deg)saturate(2)}97%{filter:grayscale(.6)brightness(.85)contrast(1.15)}}[data-theme=ia] .timeline:before{background:linear-gradient(#b14eff,#06ffa5,#0000);animation:3s ease-in-out infinite alternate timelineGlow}@keyframes timelineGlow{0%{filter:drop-shadow(0 0 4px #b14eff80)}to{filter:drop-shadow(0 0 8px #06ffa580)}}.timeline-dot-icon{transform-origin:50%;animation:2.5s ease-in-out infinite dotPulse}@keyframes dotPulse{0%,to{box-shadow:0 0 0 0 var(--timeline-dot-glow)}50%{box-shadow:0 0 0 6px #0000}}.timeline-item{opacity:0;transition:opacity .5s,transform .5s cubic-bezier(.34,1.2,.64,1);transform:translate(-20px)}.timeline-item.visible{opacity:1;transform:translate(0)}.timeline-item:first-child{transition-delay:50ms}.timeline-item:nth-child(2){transition-delay:.15s}.timeline-item:nth-child(3){transition-delay:.25s}.timeline-item:nth-child(4){transition-delay:.35s}.timeline-item:nth-child(5){transition-delay:.45s}.contact-link-item{position:relative;overflow:hidden}.contact-link-item:before{content:"";background:var(--gradient-accent);transform-origin:bottom;width:3px;transition:transform .25s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.contact-link-item:hover:before{transform:scaleY(1)}.form-input:focus,.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow), inset 0 1px 0 #ffffff0d;outline:none}.coming-soon{position:relative;overflow:hidden}.coming-soon:before,.coming-soon:after{content:"";pointer-events:none;border-radius:50%;animation:6s ease-in-out infinite orbFloat;position:absolute}.coming-soon:before{background:radial-gradient(circle, var(--color-accent-glow), transparent 70%);width:300px;height:300px;animation-delay:0s;top:-100px;right:-100px}.coming-soon:after{background:radial-gradient(circle, var(--color-accent-glow), transparent 70%);width:200px;height:200px;animation-delay:3s;bottom:-80px;left:-80px}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}50%{transform:translate(10px,-15px)scale(1.05)}}.coming-soon-badge--terminal{font-family:var(--font-display);border-radius:2px;animation:2s step-end infinite terminalBlink}@keyframes terminalBlink{0%,to{border-color:#00ff414d}50%{border-color:#00ff41b3;box-shadow:0 0 8px #00ff414d}}.theme-transition-overlay{z-index:9999;pointer-events:none;opacity:0;position:fixed;inset:0}.theme-transition-overlay.active{animation:.45s forwards themeWipe}@keyframes themeWipe{0%{opacity:0;clip-path:circle(0%)}40%{opacity:1;clip-path:circle(30%)}70%{opacity:.6;clip-path:circle(80%)}to{opacity:0;clip-path:circle(150%)}}.scroll-progress{box-shadow:0 0 12px var(--color-accent-glow), 0 0 4px var(--color-accent);transition:width .1s linear,background .4s,box-shadow .4s}.footer__mode strong{display:inline-block;position:relative}.footer__mode strong:after{content:"█";vertical-align:middle;color:var(--color-accent);margin-left:2px;font-size:.6em;transition:color .4s;animation:.8s step-end infinite cursorBlink}.animate-on-scroll{opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.34,1.2,.64,1);transform:translateY(24px)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.animate-on-scroll.from-left{transform:translate(-32px)}.animate-on-scroll.from-right{transform:translate(32px)}.animate-on-scroll.from-scale{transform:scale(.93)}.animate-on-scroll.from-left.visible,.animate-on-scroll.from-right.visible,.animate-on-scroll.from-scale.visible{transform:translate(0)scale(1)}.back-to-top:hover svg{animation:.4s infinite alternate bounceUp}@keyframes bounceUp{0%{transform:translateY(0)}to{transform:translateY(-4px)}}[data-theme=ia] .tag{animation:3s ease-in-out infinite tagPulseIA}[data-theme=ia] .tag:nth-child(2n){animation-delay:.5s}[data-theme=ia] .tag:nth-child(3n){animation-delay:1s}@keyframes tagPulseIA{0%,to{box-shadow:none}50%{box-shadow:0 0 6px #06ffa54d}}[data-theme=ia] .about-focus-card{-webkit-backdrop-filter:blur(12px);background:#12042ab3}[data-theme=ia] .about-focus-card:before{background:linear-gradient(#06ffa5,#b14eff);animation:2s ease-in-out infinite alternate focusBorderIA}@keyframes focusBorderIA{0%{opacity:.6}to{opacity:1}}[data-theme=sec] h1,[data-theme=sec] h2{animation:10s ease-in-out infinite secHeadingFlicker}@keyframes secHeadingFlicker{0%,97%,to{opacity:1}97.5%{opacity:.7}98%{opacity:1}}[data-theme=sec] .hero-badge{font-family:var(--font-display);border-radius:2px}[data-theme=sec] .hero-title{text-shadow:0 0 20px #00ff4133}@media (width<=768px){.cursor-dot,.cursor-ring{display:none}body{cursor:auto}[data-theme=dev] .hero-section:after{display:none}[data-theme=ia] .hero-section:after{animation:none}[data-theme=ia] .about-avatar-wrap:before,[data-theme=sec] body:after{display:none}.project-card:hover{transform:translateY(-4px)!important}.hero-title{font-size:clamp(2.2rem,10vw,3.5rem)}.coming-soon:before{width:150px;height:150px}.coming-soon:after{width:100px;height:100px}}@media (width<=480px){.hero-cta-group .btn{justify-content:center;width:100%}.about-stats{grid-template-columns:repeat(3,1fr);gap:.5rem}.stat-value{font-size:1.4rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.05ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.cursor-dot,.cursor-ring{display:none!important}body{cursor:auto!important}}#sn-panel{z-index:900;pointer-events:none;opacity:0;flex-direction:column;align-items:center;gap:6px;transition:opacity .22s,transform .22s;display:flex;position:fixed;top:50%;right:24px;transform:translateY(-50%)translate(16px)}#sn-panel.sn-active{opacity:1;transform:translateY(-50%)translate(0)}.sn-label{font-size:.65rem;font-family:var(--font-mono,monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;text-align:center;text-overflow:ellipsis;max-width:90px;overflow:hidden}.sn-label-to{color:var(--color-accent);font-weight:600}#sn-arrow{color:var(--color-accent);font-size:.75rem;line-height:1;transition:transform .2s}#sn-arrow.sn-arrow-up{transform:none}#sn-bar-track{background:#ffffff1a;border-radius:4px;width:4px;height:80px;position:relative;overflow:hidden}#sn-bar-fill{background:var(--color-accent);width:100%;height:0%;box-shadow:0 0 8px var(--color-accent-glow,var(--color-accent));border-radius:4px;transition:height 60ms linear;position:absolute;bottom:0;left:0}#sn-bar-pct{font-size:.55rem;font-family:var(--font-mono,monospace);color:var(--color-text);pointer-events:none;mix-blend-mode:difference;white-space:nowrap;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=767px){#sn-panel{display:none!important}}@media (prefers-reduced-motion:reduce){#sn-panel,#sn-bar-fill{transition:none}}.jonathan-panel{z-index:1100;pointer-events:none;visibility:hidden;align-items:stretch;display:flex;position:fixed;inset:0}.jonathan-panel.open{pointer-events:all;visibility:visible}.jonathan-panel__backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#0009;transition:opacity .3s;position:absolute;inset:0}.jonathan-panel.open .jonathan-panel__backdrop{opacity:1}.jonathan-panel__drawer{background:var(--bg-card,#0f0f1a);border-left:1px solid var(--color-border,#ffffff1a);flex-direction:column;width:min(520px,92vw);height:100%;margin-left:auto;transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;transform:translate(100%)}.jonathan-panel.open .jonathan-panel__drawer{transform:translate(0)}.jonathan-panel__header{border-bottom:1px solid var(--color-border,#ffffff14);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:2rem 2rem 1.25rem;display:flex}.jonathan-panel__label{font-family:var(--font-mono,monospace);color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35rem;font-size:.7rem;display:block}.jonathan-panel__title{font-family:var(--font-display);color:var(--color-text);margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.jonathan-panel__sub{color:var(--color-text-muted);margin:0;font-size:.82rem;line-height:1.5}.jonathan-panel__close{border:1px solid var(--color-border,#ffffff1f);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:border-color .2s,color .2s,background .2s;display:flex}.jonathan-panel__close:hover{border-color:var(--color-accent);color:var(--color-accent);background:rgba(var(--color-accent-rgb,59,130,246), .08)}.jonathan-panel__body{scrollbar-width:thin;scrollbar-color:var(--color-accent) transparent;flex:1;padding:1.75rem 2rem 3rem;overflow-y:auto}.jonathan-panel__body::-webkit-scrollbar{width:4px}.jonathan-panel__body::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:2px}.jonathan-panel__body .timeline{flex-direction:column;gap:0;display:flex}@media (width<=480px){.jonathan-panel__drawer{border-left:none;width:100%}}@media (prefers-reduced-motion:reduce){.jonathan-panel__drawer,.jonathan-panel__backdrop{transition:none}}.traj-wrap{-webkit-user-select:none;user-select:none;padding:1rem 0 .5rem}.traj-scroll{scrollbar-width:thin;scrollbar-color:var(--color-accent,#3b82f6) transparent;align-items:flex-start;gap:0;padding:.5rem 1rem 1.25rem;display:flex;position:relative;overflow:auto visible}.traj-scroll::-webkit-scrollbar{height:3px}.traj-scroll::-webkit-scrollbar-track{background:0 0}.traj-scroll::-webkit-scrollbar-thumb{background:var(--color-accent,#3b82f6);border-radius:2px}.traj-line{pointer-events:none;background:#ffffff14;height:1px;position:absolute;top:2.15rem;left:1rem;right:1rem}.traj-item{cursor:pointer;z-index:1;background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:.45rem;min-width:82px;padding:0 .75rem;transition:transform .2s;display:flex;position:relative}.traj-item:hover{transform:translateY(-3px)}.traj-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:6px}.traj-item__year{font-family:var(--font-mono,monospace);color:var(--color-text-muted);opacity:.5;letter-spacing:.04em;font-size:.55rem;line-height:1;transition:color .2s,opacity .2s}.traj-item__dot{background:var(--bg-card,#ffffff0a);border:2px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;line-height:1;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s;display:flex}.traj-item:hover .traj-item__dot{background:#ffffff12;border-color:#fff3}.traj-item__title{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:80px;font-size:.62rem;font-weight:600;transition:color .2s;overflow:hidden}.traj-item__badge{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);opacity:.45;font-size:.52rem;font-weight:700;transition:opacity .2s}.traj-item.active .traj-item__year{color:var(--color-accent,#3b82f6);opacity:1}.traj-item.active .traj-item__dot{background:var(--color-accent,#3b82f6);border-color:var(--color-accent,#3b82f6);transform:scale(1.15);box-shadow:0 0 0 4px #3b82f633,0 0 18px #3b82f673}.traj-item.active .traj-item__title{color:var(--color-text)}.traj-item.active .traj-item__badge{opacity:.8}.traj-item.active .traj-item__dot:after{content:"";border:2px solid var(--color-accent,#3b82f6);pointer-events:none;border-radius:50%;animation:1.8s ease-in-out infinite traj-pulse;position:absolute;inset:-5px}@keyframes traj-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:0;transform:scale(1.5)}}@media (width<=480px){.traj-item{min-width:68px;padding:0 .5rem}.traj-item__dot{width:30px;height:30px;font-size:.85rem}.traj-item__title{max-width:64px;font-size:.58rem}.traj-item__badge{display:none}}@media (prefers-reduced-motion:reduce){.traj-item{transition:none}.traj-item.active .traj-item__dot:after{animation:none}}.pdm{z-index:9985;visibility:hidden;pointer-events:none;position:fixed;inset:0}.pdm.is-open{visibility:visible;pointer-events:auto}.pdm__backdrop{-webkit-backdrop-filter:blur(6px);opacity:0;background:#000000b8;transition:opacity .3s;position:absolute;inset:0}.pdm.is-open .pdm__backdrop{opacity:1}.pdm__hero{background-position:50%;background-repeat:no-repeat;background-size:cover;flex-shrink:0;height:160px;display:none;position:relative}.pdm__hero--visible{display:block}.pdm__hero-overlay{background:linear-gradient(#00000040 0%,#000000b3 100%);position:absolute;inset:0}.pdm__panel{background:var(--bg-primary);border-left:1px solid var(--border-color);will-change:transform;flex-direction:column;width:min(600px,100vw);transition:transform .4s cubic-bezier(.34,1.2,.64,1);display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%)}.pdm.is-open .pdm__panel{transform:translate(0)}.pdm__scroll{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--color-accent) transparent;flex:1;overflow:hidden auto}.pdm__scroll::-webkit-scrollbar{width:4px}.pdm__scroll::-webkit-scrollbar-track{background:0 0}.pdm__scroll::-webkit-scrollbar-thumb{background:var(--color-accent);opacity:.5;border-radius:4px}.pdm__header{border-bottom:1px solid var(--border-color);background:var(--bg-card);flex-shrink:0;padding:1.25rem 1.5rem 1rem}.pdm__header-top{justify-content:space-between;align-items:center;margin-bottom:.65rem;display:flex}.pdm__header-left{align-items:center;gap:.6rem;display:flex}.pdm__nav-btns{align-items:center;gap:.3rem;display:flex}.pdm__nav-btn{border:1px solid var(--border-color);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:border-color .2s,color .2s,background .2s;display:flex}.pdm__nav-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--tag-bg)}.pdm__nav-counter{font-family:var(--font-display);color:var(--text-secondary);opacity:.6;text-align:center;min-width:32px;font-size:.62rem}.pdm__mode-pill{font-family:var(--font-display);letter-spacing:.1em;background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--color-accent);text-transform:uppercase;border-radius:100px;padding:.18rem .6rem;font-size:.68rem;font-weight:700}.pdm__close{border:1px solid var(--border-color);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.pdm__close:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--tag-bg)}.pdm__title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:.35rem;font-size:1.25rem;font-weight:700;line-height:1.3}.pdm__desc{color:var(--text-secondary);margin-bottom:.9rem;font-size:.83rem;line-height:1.55}.pdm__level-row{align-items:center;gap:.75rem;display:flex}.pdm__level-badge{font-family:var(--font-display);background:var(--gradient-accent);color:#fff;white-space:nowrap;letter-spacing:.03em;border-radius:6px;flex-shrink:0;padding:.22rem .6rem;font-size:.68rem;font-weight:700;box-shadow:0 0 8px #3b82f640}.pdm__xp-wrap{flex:1}.pdm__xp-label{font-family:var(--font-display);color:var(--text-secondary);justify-content:space-between;margin-bottom:.22rem;font-size:.66rem;display:flex}.pdm__xp-track{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:100px;height:6px;overflow:hidden}.pdm__xp-fill{background:var(--gradient-accent);border-radius:100px;width:0%;height:100%;transition:width .9s cubic-bezier(.34,1.2,.64,1)}.pdm__body{padding:1.25rem 1.5rem 2.5rem}.pdm__slabel{font-family:var(--font-display);color:var(--color-accent);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.4rem;margin-top:1.5rem;margin-bottom:.65rem;font-size:.68rem;font-weight:700;display:flex}.pdm__slabel:first-child{margin-top:0}.pdm__overview{background:var(--bg-card);border:1px solid var(--border-color);border-left:3px solid var(--color-accent);border-radius:var(--border-radius-sm);color:var(--text-secondary);padding:.9rem 1rem;font-size:.83rem;line-height:1.65;position:relative}.pdm__overview-result{border-top:1px solid var(--border-color);color:var(--text-primary);margin-top:.7rem;padding-top:.7rem;font-size:.8rem;font-weight:500;line-height:1.5}.pdm-phase{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);margin-bottom:.5rem;transition:border-color .2s;overflow:hidden}.pdm-phase:hover{border-color:rgba(var(--color-accent-rgb,59, 130, 246), .45)}.pdm-phase__header{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;align-items:center;gap:.65rem;width:100%;padding:.8rem .9rem;list-style:none;display:flex}.pdm-phase__header:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.pdm-phase__num{font-family:var(--font-display);color:var(--text-secondary);opacity:.5;min-width:18px;font-size:.62rem}.pdm-phase__icon{background:var(--tag-bg);border:1px solid var(--tag-border);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:1rem;display:flex}.pdm-phase__info{flex:1;min-width:0}.pdm-phase__name{font-family:var(--font-display);color:var(--text-primary);font-size:.8rem;font-weight:700;line-height:1.2}.pdm-phase__verb{color:var(--color-accent);font-size:.7rem;font-family:var(--font-display);opacity:.85;margin-top:.08rem}.pdm-phase__xp{font-family:var(--font-display);background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--color-accent);white-space:nowrap;border-radius:100px;flex-shrink:0;padding:.12rem .45rem;font-size:.68rem;font-weight:700}.pdm-phase__chevron{width:14px;height:14px;color:var(--text-secondary);opacity:.6;flex-shrink:0;transition:transform .25s}.pdm-phase.is-expanded .pdm-phase__chevron{transform:rotate(180deg)}.pdm-phase__body{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.4,0,.2,1);display:grid}.pdm-phase.is-expanded .pdm-phase__body{grid-template-rows:1fr}.pdm-phase__body-inner{overflow:hidden}.pdm-phase__content{border-top:1px solid var(--border-color);padding:.75rem .9rem .9rem}.pdm-phase__summary{color:var(--text-secondary);margin-bottom:.65rem;font-size:.81rem;line-height:1.6}.pdm-phase__points{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.pdm-phase__point{color:var(--text-secondary);padding-left:1rem;font-size:.78rem;line-height:1.5;position:relative}.pdm-phase__point:before{content:"▸";color:var(--color-accent);font-size:.65rem;position:absolute;top:.18em;left:0}.pdm-achievements{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.pdm-achievement{background:var(--bg-card);border:1px solid var(--border-color);border-left:3px solid var(--color-accent);border-radius:var(--border-radius-sm);flex-direction:column;gap:.2rem;padding:.8rem .9rem;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.pdm-achievement:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.pdm-achievement__value{font-family:var(--font-display);color:var(--color-accent);letter-spacing:-.02em;font-size:1.35rem;font-weight:700;line-height:1.1}.pdm-achievement__label{color:var(--text-secondary);opacity:.8;font-size:.68rem;line-height:1.3}.pdm-highlights{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.pdm-highlight{color:var(--text-secondary);padding-left:1.1rem;font-size:.8rem;line-height:1.5;position:relative}.pdm-highlight:before{content:"✓";color:var(--color-accent);font-size:.72rem;font-weight:700;position:absolute;left:0}.pdm-tech-group{margin-bottom:.7rem}.pdm-tech-group__label{font-family:var(--font-display);color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase;opacity:.75;align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.62rem;display:flex}.pdm-tech-group__label:after{content:"";background:var(--border-color);flex:1;height:1px}.pdm-tech-chips{flex-wrap:wrap;gap:.3rem;display:flex}.pdm-tech-chip{background:var(--tag-bg);border:1px solid var(--tag-border);font-size:.72rem;font-family:var(--font-display);color:var(--tag-text);border-radius:100px;padding:.18rem .5rem;line-height:1.4}.pdm__cta{border-top:1px solid var(--border-color);flex-wrap:wrap;gap:.65rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.pdm__cta-btn{border-radius:var(--border-radius-sm);min-width:120px;font-family:var(--font-display);cursor:pointer;border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:.45rem;padding:.6rem 1rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.pdm__cta-btn--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.pdm__cta-btn--primary:hover{filter:brightness(1.15);transform:translateY(-1px)}.pdm__cta-btn--outline{color:var(--text-primary);border-color:var(--border-color);background:0 0}.pdm__cta-btn--outline:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--tag-bg)}.pdm__pwned-banner{border-radius:var(--border-radius-sm);background:#9fef000d;border:1px solid #9fef0038;border-left:3px solid #9fef00;align-items:center;gap:.65rem;margin-bottom:.75rem;padding:.75rem .9rem;display:flex}.pdm__pwned-icon{font-size:1.4rem}.pdm__pwned-title{font-family:var(--font-display);color:#9fef00;letter-spacing:.04em;font-size:.8rem;font-weight:700}.pdm__pwned-sub{color:var(--text-secondary);font-size:.72rem;font-family:var(--font-display);margin-top:.1rem}.card-btn--process{border-radius:var(--border-radius-sm);font-family:var(--font-display);cursor:pointer;border:1px solid var(--border-color);color:var(--text-secondary);background:0 0;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.75rem;font-weight:600;line-height:1;text-decoration:none;transition:all .2s;display:inline-flex}.card-btn--process:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--tag-bg)}[data-theme=ia] .pdm__panel{background:#0a0a1af5}[data-theme=ia] .pdm__header{background:#12122aeb}[data-theme=ia] .pdm-phase__icon{box-shadow:0 0 10px #06ffa51f}[data-theme=ia] .pdm__xp-fill{box-shadow:0 0 8px #06ffa566}[data-theme=ia] .pdm__level-badge{box-shadow:0 0 10px #06ffa54d}[data-theme=ia] .pdm-achievement:hover{box-shadow:0 0 12px #06ffa51f}[data-theme=sec] .pdm__title:before{content:"> ";color:var(--color-accent);opacity:.9}[data-theme=sec] .pdm__slabel:before{content:"// ";opacity:.6}[data-theme=sec] .pdm-phase__point:before{content:"$";font-family:var(--font-display);font-size:.7rem}[data-theme=sec] .card-btn--process{font-family:var(--font-display)}@media (width<=640px){.pdm__panel{width:100vw}.pdm__header,.pdm__body{padding-left:1rem;padding-right:1rem}.pdm-achievements{grid-template-columns:1fr 1fr}.pdm__title{font-size:1.1rem}}@media (width<=380px){.pdm-achievements{grid-template-columns:1fr}.pdm__cta{flex-direction:column}.pdm__cta-btn{min-width:unset}}.pdm__docs{flex-direction:column;gap:6px;margin-bottom:1.25rem;display:flex}.pdm__doc-link{border:1px solid var(--border-color,#ffffff1a);background:var(--bg-card,#ffffff08);color:var(--text-primary,#e0e0e0);border-radius:7px;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;font-weight:500;line-height:1.3;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:flex}.pdm__doc-link svg{color:var(--color-accent,#6366f1);flex-shrink:0}.pdm__doc-link:hover{background:var(--color-accent,#6366f1)12;border-color:var(--color-accent,#6366f166);color:#fff}#pgal{z-index:9990;visibility:hidden;opacity:0;overscroll-behavior:contain;background:#08080e;flex-direction:column;transition:opacity .25s,visibility .25s;display:flex;position:fixed;inset:0}#pgal.is-open{visibility:visible;opacity:1}.pgal__header{border-bottom:1px solid var(--border-color,#ffffff14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#08080ef7;flex-shrink:0;align-items:center;gap:.75rem;height:52px;padding:0 1.25rem;display:flex}.pgal__title{color:var(--text-primary,#f0f0f0);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.88rem;font-weight:600;overflow:hidden}.pgal__counter{color:var(--text-muted,#888);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;min-width:2.5rem;font-size:.72rem}.pgal__close{border:1px solid var(--border-color,#ffffff1f);width:32px;height:32px;color:var(--text-muted,#888);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background .15s,border-color .15s;display:flex}.pgal__close:hover{color:var(--text-primary,#f0f0f0);background:var(--bg-card,#ffffff0f);border-color:var(--color-accent,#6366f1)}.pgal__body{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.pgal__left{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.pgal__main{background:#04040a;flex:1;align-items:stretch;min-height:0;display:flex;position:relative}.pgal__img-wrap{flex:1;justify-content:center;align-items:center;padding:1rem 3.75rem;display:flex;overflow:hidden}.pgal__img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:4px;max-width:100%;max-height:100%;display:block}.pgal__placeholder{background:radial-gradient(ellipse 80% 60% at 50% 40%, var(--color-accent-glow,#3b82f626) 0%, transparent 65%), var(--bg-secondary,#111);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:relative;overflow:hidden}.pgal-ph__bg-text{font-size:clamp(4rem,14vw,9rem);font-weight:900;font-family:var(--font-display,sans-serif);color:var(--color-accent);opacity:.06;text-transform:uppercase;letter-spacing:-.04em;text-align:center;word-break:break-word;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:1rem;line-height:.9;display:flex;position:absolute;inset:0}.pgal-ph__content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:.75rem;max-width:460px;padding:2rem;display:flex;position:relative}.pgal-ph__title{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:clamp(1.4rem,3.5vw,2.2rem);font-weight:700}.pgal-ph__desc{color:var(--text-muted);margin:0;font-size:.925rem;line-height:1.55}.pgal-ph__tags{flex-wrap:wrap;justify-content:center;gap:.35rem;margin-top:.15rem;display:flex}.pgal-ph__tags .tag{color:#ffffffd1;background:#ffffff1a;border-color:#ffffff2e}.pgal__arrow{border:1px solid var(--border-color,#ffffff1a);width:40px;height:60px;color:var(--text-primary,#d0d0d0);cursor:pointer;z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08080ebf;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s,opacity .15s,border-color .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.pgal__arrow:hover:not(:disabled){background:var(--bg-card,#ffffff14);color:#fff;border-color:var(--color-accent,#6366f180)}.pgal__arrow:disabled{opacity:.2;cursor:default;pointer-events:none}.pgal__arrow--prev{left:.5rem}.pgal__arrow--next{right:.5rem}.pgal__filmstrip{border-top:1px solid var(--border-color,#ffffff0f);scrollbar-width:thin;scrollbar-color:var(--border-color,#ffffff26) transparent;background:#08080eeb;flex-shrink:0;align-items:center;gap:6px;height:76px;padding:8px 1rem;display:flex;overflow:auto hidden}.pgal__filmstrip::-webkit-scrollbar{height:3px}.pgal__filmstrip::-webkit-scrollbar-track{background:0 0}.pgal__filmstrip::-webkit-scrollbar-thumb{background:var(--border-color,#fff3);border-radius:100px}.pgal__thumb{cursor:pointer;background:var(--bg-card,#ffffff0d);border:2px solid #0000;border-radius:5px;flex-shrink:0;width:90px;height:56px;padding:0;transition:border-color .15s,transform .15s,opacity .15s;overflow:hidden}.pgal__thumb img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.pgal__thumb:hover{transform:translateY(-2px)}.pgal__thumb:hover:not(.is-active){border-color:#fff3}.pgal__thumb.is-active{border-color:var(--color-accent,#6366f1)}.pgal__thumb--error{opacity:.4}.pgal__info{border-left:1px solid var(--border-color,#ffffff0f);background:var(--bg-secondary,#0e0e18);scrollbar-width:thin;scrollbar-color:var(--border-color,#ffffff26) transparent;flex-shrink:0;width:clamp(320px,38vw,480px);padding:1.25rem 1.5rem 2rem;overflow-y:auto}.pgal__info::-webkit-scrollbar{width:4px}.pgal__info::-webkit-scrollbar-track{background:0 0}.pgal__info::-webkit-scrollbar-thumb{background:var(--border-color,#fff3);border-radius:100px}#pgal[data-count="0"] .pgal__arrow,#pgal[data-count="0"] .pgal__filmstrip,#pgal[data-count="1"] .pgal__arrow,#pgal[data-count="1"] .pgal__filmstrip{display:none}#pgal[data-count="0"] .pgal__img-wrap,#pgal[data-count="1"] .pgal__img-wrap{padding:1rem}.pgal__pdf{background:#fff;border:none;border-radius:4px;width:100%;height:100%;display:none}#pgal.pgal--docs-mode .pgal__img-wrap{align-items:stretch;padding:0}.pgal__doc-tab{cursor:pointer;background:var(--bg-card,#ffffff0d);max-width:200px;height:44px;color:var(--text-muted,#888);text-align:left;border:2px solid #0000;border-radius:5px;flex-shrink:0;width:auto;padding:0 1rem;font-size:.72rem;font-weight:500;transition:border-color .15s,transform .15s,color .15s}.pgal__doc-tab span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.pgal__doc-tab:hover{color:var(--text-primary,#f0f0f0);transform:translateY(-2px)}.pgal__doc-tab:hover:not(.is-active){border-color:#fff3}.pgal__doc-tab.is-active{border-color:var(--color-accent,#6366f1);color:var(--color-accent,#6366f1)}#pgal.pgal--docs-mode .pgal__filmstrip{align-items:center;height:auto;min-height:62px;padding:8px 1rem}@media (width<=768px){.pgal__body{flex-direction:column}.pgal__info{border-left:none;border-top:1px solid var(--border-color,#ffffff0f);width:auto;max-height:42vh;padding:1rem 1rem 1.5rem}.pgal__header{height:48px;padding:0 .75rem}.pgal__title{font-size:.8rem}.pgal__img-wrap{padding:.5rem 3rem}.pgal__arrow{width:34px;height:48px}.pgal__filmstrip{height:66px;padding:6px .75rem}.pgal__thumb{width:72px;height:46px}#pgal.pgal--docs-mode .pgal__img-wrap{padding:0}#pgal.pgal--docs-mode .pgal__filmstrip{height:auto;min-height:58px}}.vtl{--dot:34px;--line-x:calc(var(--dot) / 2 - 1px);--gap-dot-card:1rem;padding:.25rem 0 3rem;position:relative}.vtl__line{left:var(--line-x);top:calc(var(--dot) / 2 + .25rem);background:var(--timeline-line,#3b82f626);pointer-events:none;border-radius:2px;width:2px;position:absolute;bottom:1rem;overflow:hidden}.vtl__line-fill{background:linear-gradient(180deg, var(--color-accent) 0%, var(--timeline-dot) 100%);width:100%;height:0%;box-shadow:0 0 8px var(--timeline-dot-glow,#3b82f666);will-change:height;border-radius:2px;transition:height .12s ease-out}.vtl__items{z-index:1;flex-direction:column;gap:.6rem;display:flex;position:relative}.vtl__item{align-items:flex-start;gap:var(--gap-dot-card);display:flex}.vtl__connector{width:var(--dot);flex-shrink:0;justify-content:center;padding-top:.85rem;display:flex}.vtl__dot{width:var(--dot);height:var(--dot);background:var(--bg-card);border:2px solid var(--border-color);z-index:2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s;display:flex;position:relative}.vtl__icon{z-index:1;pointer-events:none;font-size:.9rem;line-height:1;position:relative}.vtl__pulse{border:2px solid var(--color-accent);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:-5px}.vtl__item--active .vtl__dot{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-glow), 0 0 18px var(--color-accent-glow);transform:scale(1.1)}.vtl__item--active .vtl__pulse{animation:1.8s ease-in-out infinite vtl-pulse}@keyframes vtl-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:0;transform:scale(1.65)}}.vtl__card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius,12px);flex:1;min-width:0;transition:border-color .25s,box-shadow .25s;overflow:hidden}.vtl__item--active .vtl__card{border-color:var(--color-accent);box-shadow:var(--shadow-card-hover)}.vtl__trigger{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;padding:.8rem .9rem;transition:background .18s;display:block}.vtl__trigger:hover{background:var(--bg-card-hover)}.vtl__trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;border-radius:var(--border-radius-sm,8px)}.vtl__header{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.vtl__header-left{flex:1;min-width:0}.vtl__date{font-family:var(--font-display);color:var(--text-muted);letter-spacing:.05em;margin-bottom:.18rem;font-size:.58rem;line-height:1;display:block}.vtl__title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.875rem;font-weight:700;line-height:1.3;transition:color .2s;overflow:hidden}.vtl__item--active .vtl__title{color:var(--color-accent)}.vtl__header-right{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.vtl__badge{letter-spacing:.07em;text-transform:uppercase;background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--tag-text);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.56rem;font-weight:700;line-height:1.6}.vtl__chevron{color:var(--text-muted);flex-shrink:0;transition:transform .3s cubic-bezier(.4,0,.2,1),color .2s}.vtl__trigger[aria-expanded=true] .vtl__chevron{color:var(--color-accent);transform:rotate(180deg)}.vtl__body{border-top:1px solid var(--border-color);padding:0 .9rem .9rem}.vtl__desc{color:var(--text-secondary);margin:.7rem 0 0;font-size:.78rem;line-height:1.7}.vtl__highlights{border:1px solid var(--border-color);border-radius:var(--border-radius-sm,8px);background:#ffffff05;flex-direction:column;gap:.4rem;margin:.75rem 0 0;padding:.65rem .75rem;list-style:none;display:flex}.vtl__highlight{color:var(--text-secondary);align-items:flex-start;gap:.5rem;font-size:.75rem;line-height:1.55;display:flex}.vtl__highlight:before{content:"";background:var(--color-accent);width:5px;height:5px;box-shadow:0 0 6px var(--color-accent-glow);border-radius:50%;flex-shrink:0;margin-top:6px}.vtl__metrics{grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:.75rem;display:grid}.vtl__metric{border:1px solid var(--border-color);border-radius:var(--border-radius-sm,8px);background:#ffffff05;flex-direction:column;align-items:center;padding:.5rem .25rem;transition:background .2s,border-color .2s;display:flex}.vtl__metric:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover)}.vtl__metric-value{font-family:var(--font-display);color:var(--color-accent);font-size:.9rem;font-weight:700;line-height:1.2}.vtl__metric-label{color:var(--text-muted);text-align:center;margin-top:3px;font-size:.57rem;line-height:1.35}.vtl__tags{border-top:1px solid var(--border-color);flex-wrap:wrap;gap:5px;margin-top:.75rem;padding-top:.65rem;display:flex}.vtl__tag{font-family:var(--font-display);background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--tag-text);letter-spacing:.03em;border-radius:6px;padding:3px 9px;font-size:.62rem;font-weight:500;transition:background .18s,border-color .18s,color .18s}.vtl__tag:hover{background:var(--color-accent-dim,#3b82f633);border-color:var(--color-accent);color:var(--text-primary)}.vtl__links{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}.vtl__link{border-radius:var(--border-radius-sm,8px);border:1px solid var(--border-color);background:var(--bg-card-hover);color:var(--text-secondary);cursor:pointer;align-items:center;gap:5px;padding:5px 12px;font-size:.7rem;font-weight:600;text-decoration:none;transition:background .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.vtl__link:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--text-inverse,#0a0a1a);transform:translateY(-1px)}.vtl__link:active{transform:translateY(0)scale(.97)}.vtl__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.vtl__link--detail{border-color:var(--color-accent);color:var(--text-accent,var(--color-accent));background:var(--tag-bg)}.vtl__link--detail:hover{background:var(--color-accent);color:var(--text-inverse,#0a0a1a)}@media (width<=768px){.vtl{--dot:30px;--gap-dot-card:.75rem}.vtl__title{font-size:.82rem}.vtl__metrics{grid-template-columns:repeat(3,1fr)}}@media (width<=480px){.vtl{--dot:28px;--gap-dot-card:.6rem}.vtl__badge{display:none}.vtl__title{font-size:.78rem}.vtl__metrics{grid-template-columns:repeat(2,1fr)}.vtl__trigger{padding:.7rem .75rem}.vtl__body{padding:0 .75rem .75rem}}@media (width<=320px){.vtl__date{display:none}.vtl__metrics{grid-template-columns:1fr 1fr}.vtl__link span{display:none}.vtl__link svg{margin:0}}@media (prefers-reduced-motion:reduce){.vtl__item--active .vtl__pulse{animation:none}.vtl__line-fill,.vtl__chevron,.vtl__card,.vtl__dot,.vtl__link,.vtl__tag,.vtl__metric{transition:none}}.cmd-overlay{z-index:10000;pointer-events:none;opacity:0;justify-content:center;align-items:flex-start;padding-top:12vh;transition:opacity .15s;display:flex;position:fixed;inset:0}.cmd-overlay.is-open{opacity:1;pointer-events:all}.cmd-backdrop{-webkit-backdrop-filter:blur(6px);background:#000000a6;position:fixed;inset:0}.cmd-modal{background:var(--bg-card);border:1px solid #ffffff14;border-radius:16px;width:min(600px,92vw);transition:transform .18s cubic-bezier(.34,1.4,.64,1);position:relative;overflow:hidden;transform:translateY(-12px)scale(.96);box-shadow:0 30px 80px #0000008c,0 0 0 1px #ffffff0a,inset 0 1px #ffffff0f}.cmd-overlay.is-open .cmd-modal{transform:translateY(0)scale(1)}.cmd-header{border-bottom:1px solid var(--border-color);align-items:center;gap:.75rem;height:54px;padding:0 1rem;display:flex}.cmd-search-icon{color:var(--text-muted);flex-shrink:0}.cmd-input{color:var(--text-primary);font-size:1rem;font-family:var(--font-display);caret-color:var(--color-accent);background:0 0;border:none;outline:none;flex:1}.cmd-input::placeholder{color:var(--text-muted)}.cmd-esc-hint{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-muted);font-size:.65rem;font-family:var(--font-mono,monospace);border-radius:4px;flex-shrink:0;padding:.2rem .45rem}.cmd-results{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;max-height:380px;overflow-y:auto}.cmd-results::-webkit-scrollbar{width:4px}.cmd-results::-webkit-scrollbar-track{background:0 0}.cmd-results::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.cmd-group{padding:.35rem 0}.cmd-group+.cmd-group{border-top:1px solid var(--border-color)}.cmd-group-label{font-size:.63rem;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:.4rem 1rem .2rem}.cmd-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.75rem;padding:.55rem 1rem;transition:background .1s;display:flex}.cmd-item:hover,.cmd-item.is-active{background:rgba(var(--color-accent-rgb,59,130,246), .09)}.cmd-item.is-active .cmd-item-label{color:var(--color-accent)}.cmd-item-icon{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:1rem;display:flex}.cmd-item-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.cmd-item-label{font-size:.875rem;font-weight:500;font-family:var(--font-display);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;transition:color .1s;overflow:hidden}.cmd-item-sub{color:var(--text-muted);font-size:.7rem;font-family:var(--font-mono,monospace);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cmd-item-badge{font-size:.63rem;font-family:var(--font-mono,monospace);background:rgba(var(--color-accent-rgb,59,130,246), .12);color:var(--color-accent);border:1px solid rgba(var(--color-accent-rgb,59,130,246), .25);border-radius:4px;flex-shrink:0;padding:.15rem .45rem}.cmd-empty{flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;font-size:1.5rem;display:flex}.cmd-empty p{color:var(--text-muted);font-size:.85rem;font-family:var(--font-display)}.cmd-empty p em{color:var(--color-accent);font-style:normal}.cmd-footer{border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.68rem;font-family:var(--font-display);align-items:center;gap:1.25rem;padding:.5rem 1rem;display:flex}.cmd-footer kbd{background:var(--bg-secondary);border:1px solid var(--border-color);min-width:18px;height:18px;font-size:.63rem;font-family:var(--font-mono,monospace);color:var(--text-secondary);border-radius:3px;justify-content:center;align-items:center;margin-right:.2rem;padding:0 .3rem;display:inline-flex}.cmd-nav-trigger{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:.4rem;padding:.28rem .6rem;font-family:inherit;transition:border-color .2s,color .2s,background .2s;display:flex}.cmd-nav-trigger:hover{border-color:var(--color-accent);color:var(--color-accent);background:rgba(var(--color-accent-rgb,59,130,246), .06)}.cmd-kbd-label{font-size:.65rem;font-family:var(--font-mono,monospace);letter-spacing:.02em}.cmd-toast{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);font-size:.825rem;font-family:var(--font-display);z-index:10001;opacity:0;pointer-events:none;white-space:nowrap;border-radius:8px;padding:.6rem 1.25rem;transition:opacity .2s,transform .2s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)translateY(10px);box-shadow:0 8px 24px #0006}.cmd-toast.is-visible{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=480px){.cmd-kbd-label{display:none}.cmd-nav-trigger{padding:.28rem .45rem}.cmd-overlay{padding-top:6vh}.cmd-results{max-height:52vh}.cmd-footer{gap:.75rem;font-size:.62rem}}.sec-terminal{display:none}[data-theme=sec] #hero .container{grid-template-columns:1fr auto;align-items:center;gap:2.5rem;display:grid}[data-theme=sec] .sec-terminal{-webkit-backdrop-filter:blur(16px);opacity:0;background:#000600f0;border:1px solid #00ff4138;border-radius:10px;flex-direction:column;width:min(440px,40vw);min-height:240px;max-height:400px;font-family:Fira Code,Source Code Pro,Courier New,monospace;font-size:.8rem;animation:.55s cubic-bezier(.16,1,.3,1) .3s both terminalEnter;display:flex;overflow:hidden;box-shadow:0 0 0 1px #00ff410f,0 24px 64px #000000d9,0 0 48px #00ff4112}@keyframes terminalEnter{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.sec-terminal__bar{background:#00ff410a;border-bottom:1px solid #00ff411a;flex-shrink:0;align-items:center;gap:.45rem;padding:.55rem .8rem;display:flex}.sec-terminal__dot{border-radius:50%;flex-shrink:0;width:11px;height:11px}.sec-terminal__title{text-align:center;color:#00ff4159;letter-spacing:.06em;-webkit-user-select:none;user-select:none;flex:1;font-size:.67rem}.sec-terminal__body{scrollbar-width:thin;scrollbar-color:#00ff412e transparent;overscroll-behavior:contain;flex-direction:column;flex:1;gap:.1rem;padding:.7rem .85rem;display:flex;overflow-y:auto}.sec-terminal__body::-webkit-scrollbar{width:3px}.sec-terminal__body::-webkit-scrollbar-track{background:0 0}.sec-terminal__body::-webkit-scrollbar-thumb{background:#00ff412e;border-radius:2px}.sec-terminal__line{white-space:pre-wrap;word-break:break-all;line-height:1.55;animation:60ms both termLineIn}@keyframes termLineIn{0%{opacity:0}to{opacity:1}}.sec-terminal__line--cmd{color:#00ff41}.sec-terminal__line--output{color:#4dff4d}.sec-terminal__line--muted{color:#00ff4173}.sec-terminal__line--error{color:#f55}.sec-terminal__line--accent{color:#39ff14;font-weight:600}.sec-terminal__line--dim{color:#00ff4147}.sec-terminal__prompt-row{border-top:1px solid #00ff411a;flex-shrink:0;align-items:center;padding:.45rem .85rem .55rem;display:flex}.sec-terminal__ps1{color:#00ff41;white-space:nowrap;-webkit-user-select:none;user-select:none;flex-shrink:0}.sec-terminal__input{color:#00ff41;font-family:inherit;font-size:inherit;caret-color:#00ff41;background:0 0;border:none;outline:none;flex:1;min-width:0}.sec-terminal__input::placeholder{color:#00ff4133}[data-theme=sec] #hero-bg-text{display:none}@media (width<=960px){[data-theme=sec] #hero .container{grid-template-columns:1fr}[data-theme=sec] .sec-terminal{width:100%;min-height:200px;max-height:260px;font-size:.76rem}[data-theme=sec] .sec-terminal__input{font-size:1rem}}@media (width<=480px){[data-theme=sec] .sec-terminal{max-height:220px;font-size:.72rem}}.pdf-modal{z-index:10500;background:#000000e0;flex-direction:column;transition:opacity .2s;display:flex;position:fixed;inset:0}.pdf-modal[hidden]{display:none}.pdf-modal__header{background:var(--bg-secondary,#0d0d1f);border-bottom:1px solid var(--border-color,#ffffff14);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;height:52px;padding:0 1.25rem;display:flex}.pdf-modal__title{color:var(--text-primary,#e2e8f0);font-size:.875rem;font-weight:600;font-family:var(--font-display,"JetBrains Mono", monospace);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.pdf-modal__actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.pdf-modal__download{font-size:.78rem;font-weight:600;font-family:var(--font-display,monospace);background:var(--color-accent,#06f);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .85rem;text-decoration:none;transition:background .2s,transform .15s;display:inline-flex}.pdf-modal__download:hover{background:var(--color-accent-hover,#0052cc);transform:translateY(-1px)}.pdf-modal__close{width:34px;height:34px;color:var(--text-muted,#64748b);border:1px solid var(--border-color,#ffffff14);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.pdf-modal__close:hover{color:var(--text-primary,#e2e8f0);background:#ffffff12}.pdf-modal__iframe{background:#f1f1f1;border:none;flex:1;width:100%;display:block}.pdf-modal__ios-fallback{color:var(--text-muted,#64748b);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:2rem;font-size:.9rem;display:flex}.pdf-modal__ios-fallback svg{opacity:.4}@media (width<=768px){.pdf-modal__header{height:48px;padding:0 1rem}.pdf-modal__title{font-size:.8rem}.pdf-modal__download span{display:none}.pdf-modal__download{padding:.35rem .6rem}}#jotai-widget{bottom:env(safe-area-inset-bottom,0px);right:calc(1.5rem + env(safe-area-inset-right,0px));z-index:9940;flex-direction:column;align-items:flex-end;gap:.75rem;display:flex;position:fixed}#jotai-trigger{cursor:pointer;width:68px;height:68px;color:var(--color-accent,#06ffa5);background:0 0;border:none;border-radius:0;flex-shrink:0;padding:0;transition:transform .25s;overflow:visible}#jotai-trigger:hover .jotai-mascot,#jotai-trigger:focus-visible .jotai-mascot{filter:drop-shadow(0 8px 22px #0000008c) drop-shadow(0 0 14px var(--color-accent-glow,#06ffa58c))}#jotai-trigger:focus-visible{outline:2px solid var(--color-accent,#06ffa5);outline-offset:4px;border-radius:12px}#jotai-trigger svg{width:100%;height:100%;display:block}@keyframes jotai-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.jotai-mascot{filter:drop-shadow(0 6px 14px #00000073);transition:filter .4s;display:block;overflow:visible}.jotai-header-avatar .jotai-mascot{filter:none}.jotai-body-img{opacity:1;transition:opacity .3s}.jotai-body-img.is-swapping{opacity:0;transition:opacity .22s}#jotai-widget.jotai-baked .jotai-acc--dev,#jotai-widget.jotai-baked .jotai-acc--ia,#jotai-widget.jotai-baked .jotai-acc--sec{display:none!important}.jotai-mouth-mask{filter:blur(1.4px)}.jotai-acc--dev,.jotai-acc--ia,.jotai-acc--sec{display:none}body[data-theme=dev] .jotai-acc--dev,body[data-theme=ia] .jotai-acc--ia,body[data-theme=sec] .jotai-acc--sec{display:block}body[data-theme=dev] .jotai-mascot{filter:drop-shadow(0 6px 14px #00000073)drop-shadow(0 0 12px #3b82f659)}body[data-theme=ia] .jotai-mascot{filter:drop-shadow(0 6px 14px #00000073)drop-shadow(0 0 14px #b14eff73)}body[data-theme=sec] .jotai-mascot{filter:drop-shadow(0 6px 14px #00000073)drop-shadow(0 0 12px #00ff4166)}.jotai-halo{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite jotai-scanPulse}@keyframes jotai-scanPulse{0%,to{opacity:.75;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}.jotai-scan-outer{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out .9s infinite jotai-scanPulse}.jotai-acc--ia circle[r="6"]{animation:1.4s ease-in-out infinite jotai-scanPulse}.jotai-scanbar{animation:2.2s linear infinite jotai-scanMove}@keyframes jotai-scanMove{0%{opacity:.55;transform:translateY(0)}45%{opacity:.8;transform:translateY(60px)}50%{opacity:0;transform:translateY(60px)}51%{opacity:0;transform:translateY(0)}55%{opacity:.55}to{opacity:.55;transform:translateY(0)}}.jotai-acc--sec circle[fill="rgba(180,0,0,0.82)"]{animation:1.6s ease-in-out infinite jotai-terminatorPulse}@keyframes jotai-terminatorPulse{0%,to{opacity:.82}50%{opacity:1;filter:drop-shadow(0 0 6px #f20)}}@media (prefers-reduced-motion:reduce){.jotai-halo,.jotai-scan-outer,.jotai-scanbar,.jotai-acc--sec circle[fill="rgba(180,0,0,0.82)"]{animation:none}}.jotai-aura{transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite jotai-auraPulse}@keyframes jotai-auraPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.85;transform:scale(1.07)}}.jotai-motes,.jotai-motes-2{transform-box:view-box;transform-origin:50% 52%}.jotai-motes{animation:14s linear infinite jotai-spin}.jotai-motes-2{animation:9s linear infinite reverse jotai-spin}@keyframes jotai-spin{to{transform:rotate(360deg)}}.jotai-creature{transform-box:view-box;transform-origin:100px 115px;animation:3.6s ease-in-out infinite jotai-breathe}@keyframes jotai-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.032)}}.jotai-tilt{transform-box:view-box;transform-origin:100px 115px;transition:transform .35s cubic-bezier(.3,.8,.3,1.1)}.jotai-ear-l,.jotai-ear-r{transform-box:fill-box;transform-origin:50% 92%;transition:transform .35s cubic-bezier(.3,.8,.3,1.2)}.jotai-ear-l{animation:5s ease-in-out infinite jotai-swayL}.jotai-ear-r{animation:5.4s ease-in-out infinite jotai-swayR}@keyframes jotai-swayL{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)}}@keyframes jotai-swayR{0%,to{transform:rotate(0)}50%{transform:rotate(4deg)}}.jotai-pupil-grp{transform:translate(var(--px,0px), var(--py,0px));transition:transform .25s ease-out}.jotai-lid{transform-box:fill-box;transform-origin:50%;transition:transform 70ms;transform:scaleY(0)}.is-blinking .jotai-lid{transform:scaleY(1)}.jotai-think-dots,.jotai-spark,.jotai-qmark{opacity:0;transition:opacity .2s}.jotai-think-dots circle{transform-box:fill-box;transform-origin:50%}.jotai-mouth-path{transform-box:fill-box;transform-origin:50%}.is-greeting .jotai-tilt{animation:.9s jotai-greet}@keyframes jotai-greet{0%{transform:translateY(0)rotate(0)}25%{transform:translateY(-5%)rotate(-6deg)}55%{transform:translateY(0)rotate(5deg)}80%{transform:translateY(-2%)rotate(-2deg)}to{transform:none}}.is-listening .jotai-ear-l{animation:none;transform:rotate(-13deg)translateY(-3px)}.is-listening .jotai-ear-r{animation:none;transform:rotate(13deg)translateY(-3px)}.is-listening .jotai-tilt{transform:translateY(2%)rotate(2deg)}.is-thinking .jotai-ear-l{animation:none;transform:rotate(-6deg)}.is-thinking .jotai-ear-r{animation:none;transform:rotate(10deg)}.is-thinking .jotai-tilt{transform:rotate(-6deg)}.is-thinking .jotai-think-dots{opacity:1}.is-thinking .jotai-think-dots circle{animation:1s infinite jotai-tdot}.is-thinking .jotai-think-dots circle:nth-child(2){animation-delay:.18s}.is-thinking .jotai-think-dots circle:nth-child(3){animation-delay:.36s}@keyframes jotai-tdot{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.is-talking .jotai-tilt{animation:.55s ease-in-out infinite jotai-bob}.is-talking .jotai-mouth-path{animation:.28s ease-in-out infinite jotai-mouthTalk}@keyframes jotai-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5%)}}@keyframes jotai-mouthTalk{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1.15)}}.is-success .jotai-ear-l{animation:none;transform:rotate(-10deg)translateY(-2px)}.is-success .jotai-ear-r{animation:none;transform:rotate(10deg)translateY(-2px)}.is-success .jotai-tilt{animation:.6s jotai-pop}.is-success .jotai-spark{opacity:1;animation:.6s jotai-sparkPop}@keyframes jotai-pop{0%{transform:scale(1)}35%{transform:scale(1.08)translateY(-4%)}to{transform:scale(1)}}@keyframes jotai-sparkPop{0%{opacity:0;transform:scale(.2)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(40deg)}to{opacity:0;transform:scale(1)rotate(60deg)}}.is-confused .jotai-ear-l{animation:none;transform:rotate(-4deg)}.is-confused .jotai-ear-r{animation:none;transform:rotate(34deg)}.is-confused .jotai-tilt{transform:rotate(7deg)}.is-confused .jotai-qmark{opacity:1;animation:1.4s ease-in-out infinite jotai-qFloat}@keyframes jotai-qFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.is-pointing .jotai-ear-r{animation:none;transform:rotate(20deg)translateY(-4px)}.is-pointing .jotai-tilt{transform:rotate(4deg)}.is-excited .jotai-ear-l{animation:none;transform:rotate(-15deg)translateY(-5px)}.is-excited .jotai-ear-r{animation:none;transform:rotate(15deg)translateY(-5px)}.is-excited .jotai-tilt{animation:.7s jotai-excite}.is-excited .jotai-spark{opacity:1;animation:.7s jotai-sparkPop}@keyframes jotai-excite{0%{transform:scale(1)}20%{transform:scale(1.1)translateY(-3%)}45%{transform:scale(.97)}70%{transform:scale(1.05)translateY(-1.5%)}to{transform:scale(1)}}#jotai-widget.is-state-changing .jotai-mascot{opacity:.8;transition:opacity 80ms}.jotai-think-ring{opacity:0;fill:none;stroke:var(--color-accent,#06ffa5);stroke-width:1.5px;transform-box:view-box;transform-origin:100px 100px;transition:opacity .2s}.is-thinking .jotai-think-ring{opacity:1;animation:1.4s ease-out infinite jotai-thinkRing}@keyframes jotai-thinkRing{0%{opacity:.7;r:52}to{opacity:0;r:80}}.jotai-particles{pointer-events:none;position:absolute;inset:0;overflow:visible}.jotai-particles span{background:var(--color-accent,#06ffa5);border-radius:50%;width:6px;height:6px;animation:.75s ease-out forwards jotai-particle;position:absolute;top:40%;left:50%}@keyframes jotai-particle{0%{opacity:1;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(0)}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(calc(-1 * var(--dist)))}}#jotai-bubble{text-align:center;max-width:min(252px,100vw - 2rem);color:var(--text-primary,#1d2a44);filter:drop-shadow(0 0 0 1.5px var(--color-accent-glow,#06ffa559)) drop-shadow(0 8px 20px #0000008c);opacity:0;transform-origin:100% 100%;background:0 0;margin:0 10px 18px 0;padding:1.45rem 2.3rem 1.5rem;font-size:.82rem;line-height:1.45;transition:opacity .22s,transform .22s cubic-bezier(.3,.8,.3,1.15);position:relative;transform:translateY(6px)scale(.96)}#jotai-bubble.is-visible{opacity:1;transform:none}#jotai-bubble[hidden]{display:none}.jotai-bubble__cloud{z-index:0;width:100%;height:100%;position:absolute;inset:0}.jotai-bubble__cloud path{fill:var(--bg-secondary,#1a1a2e);stroke:var(--color-accent,#06ffa5);stroke-width:1.5px;stroke-linejoin:round;opacity:.92}.jotai-bubble__text{z-index:1;position:relative}#jotai-bubble:before,#jotai-bubble:after{content:"";background:var(--bg-secondary,#1a1a2e);border:1.5px solid var(--color-accent,#06ffa5);box-sizing:border-box;z-index:0;border-radius:50%;position:absolute}#jotai-bubble:before{width:15px;height:15px;bottom:-8px;right:30px}#jotai-bubble:after{width:9px;height:9px;bottom:-22px;right:20px}.jotai-bubble__text.is-typing:after{content:"▍";color:var(--text-primary,#232f4a);margin-left:1px;animation:.8s step-end infinite jotai-caret}@keyframes jotai-caret{50%{opacity:0}}.jotai-bubble__sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#jotai-panel[hidden]{display:none}#jotai-panel{background:var(--bg-secondary,#1a1a2e);border:1.5px solid var(--color-accent-glow,#06ffa540);filter:drop-shadow(0 14px 28px #00000080);transform-origin:100% 100%;border-radius:26px;flex-direction:column;width:340px;max-height:500px;display:flex;position:relative;overflow:visible}#jotai-panel:before,#jotai-panel:after{content:"";background:var(--bg-secondary,#1a1a2e);border:1.5px solid var(--color-accent,#06ffa5);box-sizing:border-box;border-radius:50%;position:absolute}#jotai-panel:before{width:18px;height:18px;bottom:-11px;right:34px}#jotai-panel:after{width:11px;height:11px;bottom:-30px;right:22px}#jotai-panel-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem .875rem .5rem;display:flex}#jotai-tour-btn{background:var(--color-accent-glow,#06ffa51f);border:1.5px solid var(--color-accent,#06ffa5);color:var(--color-accent,#06ffa5);cursor:pointer;letter-spacing:.01em;white-space:nowrap;box-shadow:0 0 8px var(--color-accent-glow,#06ffa52e);border-radius:20px;align-items:center;gap:.4rem;padding:.45rem 1rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .2s,box-shadow .2s,transform .15s;animation:2.8s ease-in-out infinite jotai-tourPulse;display:flex}#jotai-tour-btn:hover{background:var(--color-accent-glow,#06ffa538);box-shadow:0 0 14px var(--color-accent-glow,#06ffa552);transform:translateY(-1px)}#jotai-tour-btn:active{transform:translateY(0)}@keyframes jotai-tourPulse{0%,to{box-shadow:0 0 6px var(--color-accent-glow,#06ffa526)}50%{box-shadow:0 0 14px var(--color-accent-glow,#06ffa559)}}#jotai-widget.jotai-tour-active #jotai-tour-btn{opacity:.5;pointer-events:none;animation:none}#jotai-panel-close{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;transition:color .2s,background .2s,border-color .2s;display:flex}#jotai-panel-close:hover{color:var(--color-accent);border-color:var(--color-accent)}#jotai-commands-btn{background:var(--color-accent-glow,#06ffa51f);border:1.5px solid var(--color-accent,#06ffa5);color:var(--color-accent,#06ffa5);cursor:pointer;letter-spacing:.01em;white-space:nowrap;box-shadow:0 0 8px var(--color-accent-glow,#06ffa52e);border-radius:20px;align-items:center;gap:.4rem;padding:.45rem 1rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .2s,box-shadow .2s,transform .15s;display:flex}#jotai-commands-btn:hover{background:var(--color-accent-glow,#06ffa538);box-shadow:0 0 14px var(--color-accent-glow,#06ffa552);transform:translateY(-1px)}#jotai-commands-btn:active{transform:translateY(0)}.jotai-commands-modal[hidden]{display:none!important}.jotai-commands-modal{background:var(--bg-secondary,#1a1a2e);border:1.5px solid var(--color-accent-glow,#06ffa540);filter:drop-shadow(0 10px 20px #0006);z-index:10000;border-radius:16px;flex-direction:column;width:240px;max-height:380px;margin-right:.75rem;display:flex;position:fixed;top:50%;right:100%;overflow:hidden;transform:translateY(-50%)}@media (width<=768px){.jotai-commands-modal{top:calc(env(safe-area-inset-top,0px) + .75rem);width:90vw;max-width:280px;max-height:calc(60vh - env(safe-area-inset-top,0px));margin-bottom:0;margin-right:0;bottom:auto;left:50%;right:auto;transform:translate(-50%)}}.jotai-commands-content{flex-direction:column;height:100%;display:flex;overflow:hidden}.jotai-commands-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem;display:flex}.jotai-commands-tabs{flex:1;gap:.25rem;display:flex}.jotai-commands-tab{color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:.35rem .6rem;font-family:inherit;font-size:.7rem;font-weight:600;transition:background .2s,color .2s}.jotai-commands-tab:hover{background:var(--color-accent-glow,#06ffa51f);color:var(--text-primary)}.jotai-commands-tab.active{background:var(--color-accent-glow,#06ffa533);color:var(--color-accent);border-bottom:2px solid var(--color-accent)}#jotai-commands-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:1rem;transition:color .2s;display:flex}#jotai-commands-close:hover{color:var(--color-accent)}.jotai-commands-list{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;flex-direction:column;flex:1;gap:.25rem;padding:.5rem;display:flex;overflow:hidden auto}.jotai-commands-list::-webkit-scrollbar{width:4px}.jotai-commands-list::-webkit-scrollbar-track{background:0 0}.jotai-commands-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.jotai-commands-group{flex-direction:column;gap:.25rem;display:flex}.jotai-commands-group.hidden{display:none!important}.jotai-command-item{color:var(--text-primary);cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:6px;padding:.4rem .65rem;font-family:inherit;font-size:.75rem;transition:background .2s,border-color .2s,color .2s;overflow:hidden}.jotai-command-item:hover{background:var(--color-accent-glow,#06ffa526);border-color:var(--color-accent-glow,#06ffa54d);color:var(--color-accent)}.jotai-command-item:active{transform:scale(.98)}#jotai-chat{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;flex-direction:column;flex:1;gap:.625rem;min-height:100px;padding:.875rem;display:flex;overflow-y:auto}#jotai-chat::-webkit-scrollbar{width:4px}#jotai-chat::-webkit-scrollbar-track{background:0 0}#jotai-chat::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.jotai-msg{flex-direction:column;max-width:92%;animation:.18s jotai-msg-in;display:flex}.jotai-msg__time{color:var(--text-muted);margin-top:2px;padding:0 .2rem;font-size:.59rem}.jotai-msg--user .jotai-msg__time{text-align:right}.jotai-msg--bot .jotai-msg__time{text-align:left}@keyframes jotai-msg-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.jotai-msg--user{align-self:flex-end}.jotai-msg--bot{align-self:flex-start}.jotai-msg__bubble{color:var(--text-primary);word-break:break-word;border-radius:12px;padding:.5rem .75rem;font-size:.8rem;line-height:1.55}.jotai-msg--user .jotai-msg__bubble{background:var(--color-accent,#06ffa5);color:var(--text-inverse,#0d0221);border-radius:12px 2px 12px 12px}.jotai-msg--bot .jotai-msg__bubble{background:var(--bg-card,#12042a);border:1px solid var(--border-color);border-radius:2px 12px 12px}.jotai-dots{align-items:center;gap:4px;padding:.15rem 0;display:flex}.jotai-dots span{background:var(--color-accent,#06ffa5);opacity:.6;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite jotai-dot}.jotai-dots span:nth-child(2){animation-delay:.16s}.jotai-dots span:nth-child(3){animation-delay:.32s}@keyframes jotai-dot{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}.jotai-result{flex-direction:column;gap:.35rem;display:flex}.jotai-result__title{color:var(--text-primary);font-size:.82rem;font-weight:600}.jotai-result__meta{color:var(--text-muted);font-size:.7rem}.jotai-result__tags{flex-wrap:wrap;gap:.25rem;margin-top:.15rem;display:flex}.jotai-result__tag{background:var(--tag-bg,#06ffa514);color:var(--tag-text,var(--color-accent));border:1px solid var(--tag-border,#06ffa540);white-space:nowrap;border-radius:4px;padding:.1rem .4rem;font-size:.64rem}.jotai-result__links{flex-wrap:wrap;gap:.625rem;margin-top:.25rem;display:flex}.jotai-result__link{color:var(--color-accent,#06ffa5);font-size:.72rem;text-decoration:none;transition:opacity .2s}.jotai-result__link:hover{opacity:.75;text-decoration:underline}.jotai-chips{flex-wrap:wrap;flex-shrink:0;gap:.4rem;padding:0 .875rem .5rem;animation:.22s both jotai-chips-in;display:flex}@keyframes jotai-chips-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.jotai-chip{border:1px solid var(--color-accent,#06ffa5);color:var(--color-accent,#06ffa5);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;padding:.22rem .6rem;font-family:inherit;font-size:.68rem;transition:background .18s,color .18s}.jotai-chip:hover,.jotai-chip:focus-visible{background:var(--color-accent-glow,#06ffa51a);outline:none}.jotai-chips--empty{justify-content:center;padding:.5rem .875rem}.jotai-char-counter{color:var(--text-muted);text-align:right;flex-shrink:0;padding:0 .875rem .2rem;font-size:.59rem;display:none}.jotai-char-counter.is-visible{display:block}.jotai-char-counter.is-warning{color:#f59e0b}.jotai-swipe-handle{display:none}@media (width<=520px){.jotai-swipe-handle{background:var(--border-color);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:8px auto 0;display:block}}#jotai-input-wrap{flex-shrink:0;gap:.5rem;padding:.5rem .875rem .875rem;display:flex}#jotai-input{background:var(--bg-input,var(--bg-card));border:1px solid var(--border-color);min-width:0;color:var(--text-primary);resize:none;border-radius:12px;outline:none;flex:1;min-height:36px;max-height:80px;padding:.5rem .75rem;font-family:inherit;font-size:.8rem;line-height:1.45;transition:border-color .2s;overflow-y:auto}#jotai-input:focus{border-color:var(--color-accent)}#jotai-input::placeholder{color:var(--text-muted)}@keyframes jotai-panelIn{0%{opacity:0;transform:translateY(14px)scale(.88)}60%{opacity:1;transform:translateY(-3px)scale(1.04)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes jotai-panelOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(10px)scale(.95)}}#jotai-panel.is-opening{animation:.32s cubic-bezier(.34,1.56,.64,1) both jotai-panelIn}#jotai-panel.is-closing{animation:.16s ease-in both jotai-panelOut}@media (prefers-reduced-motion:reduce){#jotai-panel.is-opening,#jotai-panel.is-closing,#jotai-tour-btn{animation:none}}#jotai-send{background:var(--color-accent,#06ffa5);width:36px;height:36px;color:var(--text-inverse,#0d0221);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .2s;display:flex}#jotai-send:hover{opacity:.85}#jotai-send:disabled{opacity:.35;cursor:not-allowed}#jotai-send:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.is-thinking #jotai-trigger .jotai-mascot{animation:1s ease-in-out infinite jotai-glowPulse}@keyframes jotai-glowPulse{0%,to{filter:drop-shadow(0 6px 14px #00000073) drop-shadow(0 0 4px var(--color-accent-glow,#06ffa54d))}50%{filter:drop-shadow(0 6px 14px #00000073) drop-shadow(0 0 18px var(--color-accent-glow,#06ffa5b3))}}@media (width<=520px){#jotai-widget{bottom:calc(1rem + env(safe-area-inset-bottom,0px));right:calc(1rem + env(safe-area-inset-right,0px));gap:.5rem}#jotai-trigger{width:58px;height:58px}#jotai-panel{bottom:calc(58px + 1rem + 1rem + env(safe-area-inset-bottom,0px));right:calc(1rem + env(safe-area-inset-right,0px));left:calc(1rem + env(safe-area-inset-left,0px));transform-origin:100% 100%;border-radius:20px;width:auto;max-height:65dvh;position:fixed}#jotai-panel:before{width:14px;height:14px;bottom:-9px;right:28px}#jotai-panel:after{width:9px;height:9px;bottom:-25px;right:18px}#jotai-input{font-size:1rem}}#jotai-tour-overlay{z-index:10600;pointer-events:none;display:none;position:fixed;inset:0}#jotai-tour-overlay.is-active{display:block}#jotai-tour-tip{background:var(--bg-secondary,#1a1a2e);border:1px solid var(--color-accent,#06ffa5);width:min(360px,92vw);box-shadow:0 0 0 1px var(--color-accent-glow,#06ffa526), 0 8px 40px #0009;pointer-events:all;border-radius:14px;padding:1.125rem 1.25rem .875rem;animation:.22s jotai-msg-in;position:fixed;bottom:6rem;left:50%;transform:translate(-50%)}.jt-header{align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.jt-icon{flex-shrink:0;font-size:1rem}.jt-title{color:var(--text-primary);font-size:.88rem;font-weight:600;font-family:var(--font-display,monospace);flex:1}.jt-counter{color:var(--color-accent,#06ffa5);background:var(--color-accent-glow,#06ffa51a);border-radius:20px;flex-shrink:0;padding:.15rem .5rem;font-size:.68rem}.jt-text{color:var(--text-secondary);margin:0 0 1rem;font-size:.82rem;line-height:1.55}.jt-actions{align-items:center;gap:.5rem;display:flex}.jt-btn{cursor:pointer;border:none;border-radius:8px;padding:.4rem .875rem;font-family:inherit;font-size:.78rem;transition:opacity .2s,background .2s}.jt-btn--primary{background:var(--color-accent,#06ffa5);color:var(--text-inverse,#0d0221);font-weight:600}.jt-btn--primary:hover{opacity:.88}.jt-btn--ghost{background:var(--bg-card,#12042a);color:var(--text-secondary);border:1px solid var(--border-color)}.jt-btn--ghost:hover{color:var(--text-primary)}.jt-btn--skip{color:var(--text-muted);background:0 0;margin-left:auto;padding:.4rem .5rem;font-size:.72rem}.jt-btn--skip:hover{color:var(--color-danger,#ff4d6d)}.jotai-tour-target{outline:2px solid var(--color-accent,#06ffa5);outline-offset:6px;border-radius:4px;transition:outline-color .3s}@media (prefers-reduced-motion:reduce){.jotai-aura,.jotai-motes,.jotai-motes-2,.jotai-creature,.jotai-ear-l,.jotai-ear-r,.is-greeting .jotai-tilt,.is-talking .jotai-tilt,.is-talking .jotai-mouth-path,.is-success .jotai-tilt,.is-success .jotai-spark,.is-thinking .jotai-think-dots circle,.is-confused .jotai-qmark,.is-thinking #jotai-trigger,.is-excited .jotai-tilt,.jotai-particles span,.is-thinking .jotai-think-ring,.jotai-chips,.jotai-chip,#jotai-trigger,.jotai-status-dot,.jotai-dots span,.jotai-msg{animation:none!important}.jotai-lid,.jotai-pupil-grp,.jotai-tilt,.jotai-ear-l,.jotai-ear-r,#jotai-bubble{transition:none!important}.jotai-bubble__text.is-typing:after{content:none}}#section-divider{cursor:crosshair;-webkit-user-select:none;user-select:none;z-index:1;background:0 0;justify-content:center;align-items:center;height:240px;margin-top:-120px;margin-bottom:-120px;display:flex;position:relative;overflow:hidden}.sdiv__track{background:linear-gradient(to right, transparent, var(--color-accent) 15%, var(--color-accent) 85%, transparent);opacity:.32;pointer-events:none;height:1.5px;position:absolute;top:50%;left:4%;right:4%;transform:translateY(-50%)}.sdiv__charge{transform-origin:50%;background:linear-gradient(to right, transparent 0%, var(--color-accent) 22%, #fffffffa 50%, var(--color-accent) 78%, transparent 100%);height:3px;box-shadow:0 0 8px 2px var(--color-accent), 0 0 28px 6px var(--color-accent-glow), 0 0 64px 10px var(--color-accent-glow);pointer-events:none;transition:transform .7s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)scaleX(0)}#section-divider.sdiv--hovered .sdiv__charge{transform:translateY(-50%)scaleX(1)}.sdiv__cursor-glow{background:radial-gradient(circle, var(--color-accent-glow) 0%, transparent 70%);pointer-events:none;opacity:0;z-index:1;border-radius:50%;width:240px;height:240px;transition:opacity .3s;position:absolute;top:50%;left:-9999px;transform:translate(-50%,-50%)}#section-divider:hover .sdiv__cursor-glow{opacity:1}.sdiv__node{background:var(--color-accent);width:9px;height:9px;box-shadow:0 0 8px 2px var(--color-accent), 0 0 20px 4px var(--color-accent-glow);opacity:0;pointer-events:none;z-index:2;border-radius:50%;transition:opacity .5s 80ms;position:absolute;top:50%;transform:translateY(-50%)}.sdiv__node--left{left:4%}.sdiv__node--right{right:4%}#section-divider.sdiv--hovered .sdiv__node{opacity:1}#section-divider.sdiv--charged .sdiv__node{box-shadow:0 0 14px 5px var(--color-accent), 0 0 36px 10px var(--color-accent-glow);animation:1.1s ease-in-out infinite sdiv-node-pulse}@keyframes sdiv-node-pulse{0%,to{transform:translateY(-50%)scale(1)}50%{transform:translateY(-50%)scale(1.5)}}.sdiv__scan{background:linear-gradient(to right, transparent, var(--color-accent), transparent);opacity:.9;pointer-events:none;z-index:2;width:24%;height:2.5px;animation:3.8s linear infinite sdiv-scan;position:absolute;top:50%;left:-24%;transform:translateY(-50%)}.sdiv__scan--rev{opacity:.55;animation:5.2s linear 1.9s infinite sdiv-scan-rev}@keyframes sdiv-scan{0%{opacity:0;left:-24%}6%{opacity:.9}94%{opacity:.9}to{opacity:0;left:108%}}@keyframes sdiv-scan-rev{0%{opacity:0;left:108%}6%{opacity:.55}94%{opacity:.55}to{opacity:0;left:-24%}}#sdiv-canvas{pointer-events:none;z-index:3;position:absolute;inset:0}#section-divider.sdiv--flash .sdiv__charge{filter:brightness(3)saturate(1.4);transition:filter .35s ease-out,transform;transform:translateY(-50%)scaleX(1)}@media (prefers-reduced-motion:reduce){.sdiv__charge{transition:none}.sdiv__scan{opacity:.4;width:20%;animation:none;left:40%}.sdiv__scan--rev,.sdiv__cursor-glow{display:none}#section-divider.sdiv--charged .sdiv__node{animation:none}}
