:root{color-scheme:dark;--bg:#070708;--panel:#15161a;--panel-2:#1b1c21;--panel-3:#101114;--fg:#f4f4f5;--muted:#a7a7b3;--muted-2:#7c7c88;--accent:#6f9dff;--accent-strong:#5b8cff;--accent-ink:#8fb4ff;--border:#26272e;--border-light:#3a3b44;--green:#22c55e;--dot:rgba(255,255,255,.13);--shadow:0 20px 50px rgba(0,0,0,.5);--char-filter:invert(1) hue-rotate(180deg);--shot-opacity:.16}[data-theme=light]{color-scheme:light;--bg:#f7f5f0;--panel:#ffffff;--panel-2:#f4f1ea;--panel-3:#efece4;--fg:#17171c;--muted:#55555f;--muted-2:#83838e;--accent:#3b6fe0;--accent-strong:#2f62d6;--accent-ink:#2f62d6;--border:#d9d5c9;--border-light:#b9b4a4;--dot:rgba(20,20,30,.14);--shadow:0 20px 50px rgba(60,55,30,.15);--char-filter:none;--shot-opacity:.12}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:Architects Daughter,cursive;overflow-x:hidden;transition:background .35s ease,color .35s ease}::selection{background:var(--accent);color:#fff}a{color:inherit}.sketch{border:1.5px solid var(--border-light);border-radius:255px 15px 225px/15px 225px 15px 255px}.wrap{max-width:1680px;margin:0 auto;padding:0 clamp(24px,5vw,80px)}section{position:relative}.theme-toggle{position:fixed;top:22px;right:26px;z-index:120;width:52px;height:52px;border-radius:50%;background:var(--fg);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px #00000073;transition:transform .2s ease}.theme-toggle:hover{transform:scale(1.07) rotate(12deg)}.theme-toggle svg{width:30px;height:30px}.progress-rail{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:110;display:flex;flex-direction:column;gap:14px;align-items:center}.progress-rail button{width:4px;height:52px;border:none;border-radius:4px;background:var(--border-light);cursor:pointer;padding:0;transition:background .3s ease,height .3s ease,opacity .3s ease;opacity:.75}.progress-rail button.active{background:linear-gradient(180deg,var(--fg),var(--accent));opacity:1;height:64px}.progress-rail button:hover{opacity:1}.chat-fab{position:fixed;right:26px;bottom:26px;z-index:120;width:56px;height:56px;border-radius:50%;background:var(--fg);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px #00000080;transition:transform .2s ease}.chat-fab:hover{transform:scale(1.08)}.chat-fab svg{width:27px;height:27px}.hero{min-height:100vh;display:flex;align-items:center;position:relative;background-image:radial-gradient(var(--dot) 1px,transparent 1.2px);background-size:22px 22px;padding:64px 0 56px}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,3vw,56px);align-items:center;width:100%}.pill{display:inline-flex;align-items:center;gap:9px;padding:8px 18px;font-family:Fira Code,monospace;font-size:.86rem;color:var(--fg);border:1.5px solid var(--border-light);border-radius:999px;background:var(--panel)}.pill .dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.hero-hi{font-family:Architects Daughter,cursive;font-size:clamp(1.4rem,1.8vw,1.9rem);color:var(--muted);margin:22px 0 4px}.hero h1{font-family:Fira Code,monospace;font-weight:700;letter-spacing:-1px;font-size:clamp(2.6rem,5.4vw,5.4rem);line-height:1.06}.hero-role{font-family:Architects Daughter,cursive;font-size:clamp(1.8rem,3.1vw,3.1rem);line-height:1.3;margin-top:16px;max-width:760px;color:var(--fg)}.hero-role .hl{background:linear-gradient(100deg,#6f9dff52,#6f9dff38);padding:0 8px;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}[data-theme=light] .hero-role .hl{background:linear-gradient(100deg,#3b6fe040,#3b6fe029)}.hero-tag{font-family:Fira Code,monospace;font-weight:600;font-size:clamp(.95rem,1.25vw,1.25rem);color:var(--accent);letter-spacing:.3px;margin-top:20px}.hero-desc{font-family:Architects Daughter,cursive;font-size:clamp(1.15rem,1.55vw,1.6rem);line-height:1.55;color:var(--muted);max-width:720px;margin-top:22px}.hero-cards{display:flex;gap:18px;margin-top:32px;flex-wrap:wrap}.stat-card{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:16px 24px 16px 20px;background:var(--panel)}.stat-row{display:flex;align-items:center;gap:14px}.stat-row+.stat-row{border-top:1.5px dashed var(--border);padding-top:10px}.stat-card .num{font-family:Fira Code,monospace;font-weight:700;font-size:2rem;line-height:1;color:var(--accent);min-width:3ch}.stat-card .lbl{font-family:Fira Code,monospace;font-weight:600;font-size:1.02rem}.stat-card .sub{font-family:Fira Code,monospace;font-size:.78rem;color:var(--muted);margin-top:3px;display:inline-block}.journey-card{background:var(--accent-strong);color:#fff;text-decoration:none;padding:20px 24px;max-width:290px;display:flex;align-items:center;gap:14px;transition:transform .2s ease;border-radius:14px 4px 16px 5px/5px 16px 4px 14px}.journey-card:hover{transform:rotate(-1deg) scale(1.02)}.journey-card .t{font-family:Fira Code,monospace;font-weight:600;font-size:1rem;line-height:1.45}.journey-card .s{font-family:Fira Code,monospace;font-size:.76rem;opacity:.85;margin-top:6px;line-height:1.5;display:inline-block}.journey-card .arr{font-size:1.3rem;margin-left:auto}.hero-cta{display:flex;gap:18px;margin-top:30px;flex-wrap:wrap}.btn{font-family:Fira Code,monospace;font-weight:600;font-size:.98rem;text-decoration:none;display:inline-flex;align-items:center;gap:10px;padding:16px 28px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.btn-blue{background:var(--accent-strong);color:#fff;border:1.5px solid var(--accent-strong);border-radius:12px 4px 14px 5px/5px 14px 4px 12px}.btn-blue:hover{transform:rotate(-1deg) scale(1.03);box-shadow:0 10px 26px #5b8cff59}.btn-ghost{background:transparent;color:var(--fg)}.btn-ghost:hover{transform:rotate(1deg) scale(1.03)}.hero-char{display:flex;justify-content:center;position:relative}.hero-char img,.hero-char video{width:min(430px,88%);height:auto;filter:var(--char-filter);animation:floaty 6s ease-in-out infinite}@keyframes floaty{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(.6deg)}}.scroll-hint{position:absolute;left:50%;bottom:26px;transform:translate(-50%);color:var(--muted);font-size:1.5rem;animation:bob 2s infinite;text-decoration:none}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}.next-divider{display:flex;align-items:center;gap:22px;justify-content:center;padding:34px 20px 6px;font-family:Fira Code,monospace;font-size:.85rem;letter-spacing:2.5px;color:var(--accent)}.next-divider:before,.next-divider:after{content:"";height:0;border-top:2px dashed var(--border-light);width:min(150px,22vw)}.line-divider{display:flex;align-items:center;max-width:1460px;margin:30px auto;padding:0 40px}.line-divider:before,.line-divider:after{content:"";flex:1;border-top:1.5px solid var(--border-light)}.line-divider i{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}.sec-head{text-align:center;padding:110px 20px 60px}.sec-head h2{font-family:Fira Code,monospace;font-weight:700;letter-spacing:1px;font-size:clamp(2.4rem,6vw,4.2rem);text-transform:uppercase}.sec-head p{font-family:Fira Code,monospace;color:var(--muted);font-size:clamp(.98rem,1.6vw,1.15rem);margin-top:22px;line-height:1.7;max-width:640px;margin-left:auto;margin-right:auto}.exp-card{background-color:var(--panel);border:1.5px solid var(--border-light);border-radius:20px 8px 22px 10px/10px 22px 8px 20px;padding:clamp(26px,4vw,54px);box-shadow:var(--shadow);background-image:radial-gradient(var(--dot) 1px,transparent 1.2px);background-size:22px 22px}.exp-top{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.exp-logo{width:62px;height:62px;object-fit:contain;background:#fff;border-radius:10px;padding:5px;flex:none}.exp-logo-empty{width:62px;height:62px;border-radius:10px;flex:none;background:var(--panel-2);border:1.5px dashed var(--border-light);display:flex;align-items:center;justify-content:center;font-family:Fira Code,monospace;font-weight:700;color:var(--accent);font-size:1.2rem}.exp-role{font-family:Fira Code,monospace;font-weight:700;font-size:clamp(1.45rem,3.4vw,2.4rem);line-height:1.2}.exp-company{font-family:Architects Daughter,cursive;font-size:clamp(1.2rem,2.4vw,1.55rem);color:var(--accent);margin-top:4px}.exp-meta{font-family:Architects Daughter,cursive;color:var(--muted);font-size:1.12rem;margin-top:20px}.exp-bullets{list-style:none;margin-top:18px;display:grid;gap:14px}.exp-bullets li{font-family:Architects Daughter,cursive;font-size:clamp(1.05rem,1.7vw,1.22rem);line-height:1.55;color:var(--fg);padding-left:22px;position:relative}.exp-bullets li:before{content:"•";position:absolute;left:2px;color:var(--fg)}.exp-skills{font-style:italic;color:var(--muted);font-size:.95rem;margin-top:24px}.exp-tabs{display:grid;grid-template-columns:repeat(var(--tabs,4),1fr);margin-top:8px}.exp-tab{background:none;border:none;border-right:1.5px solid var(--border);cursor:pointer;text-align:left;padding:20px 22px;color:var(--fg);transition:background .2s ease;border-bottom:2.5px solid transparent;font-family:inherit}.exp-tab:last-child{border-right:none}.exp-tab .r{font-family:Fira Code,monospace;font-weight:600;font-size:1rem;line-height:1.4;display:block}.exp-tab .c{font-size:.85rem;color:var(--muted);margin-top:6px;display:block}.exp-tab:hover{background:var(--panel)}.exp-tab.active{background:var(--panel);border-bottom-color:var(--accent)}.exp-tab.active .r{color:var(--accent-ink)}.proj-list{display:flex;flex-direction:column;gap:56px;padding-bottom:20px}.proj-card{background:var(--panel);border:1.5px solid var(--border-light);border-radius:22px 10px 24px 12px/12px 24px 10px 22px;padding:clamp(24px,3.6vw,44px);box-shadow:var(--shadow)}.proj-card{position:relative;isolation:isolate}.proj-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;pointer-events:none;background:var(--shot) center top/cover no-repeat;opacity:var(--shot-opacity);filter:grayscale(.25);-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.35) 70%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.35) 70%,transparent 100%)}.proj-card:nth-child(odd){transform:rotate(-.25deg)}.proj-card:nth-child(2n){transform:rotate(.25deg)}.chips{display:flex;gap:9px;flex-wrap:wrap}.chip{font-family:Fira Code,monospace;font-size:.78rem;font-weight:500;color:var(--accent-ink);border:1.5px solid var(--accent);opacity:.95;padding:6px 14px;border-radius:125px 10px 115px/10px 115px 10px 125px}.proj-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;flex-wrap:wrap;margin-top:20px}.proj-title{font-family:Fira Code,monospace;font-weight:700;font-size:clamp(1.7rem,3.4vw,2.3rem)}.proj-tag{font-family:Fira Code,monospace;font-weight:600;color:var(--accent);font-size:clamp(.95rem,1.6vw,1.08rem);margin-top:8px;line-height:1.6}.proj-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.btn-sm{padding:12px 20px;font-size:.88rem}.proj-tabs{display:flex;gap:34px;border-top:1.5px dashed var(--border);border-bottom:1.5px solid var(--border);margin-top:26px;flex-wrap:wrap}.proj-tab{background:none;border:none;color:var(--muted);font-family:Fira Code,monospace;font-weight:600;font-size:.95rem;padding:15px 2px 13px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1.5px}.proj-tab .mins{font-weight:400;font-size:.75rem;color:var(--muted-2);margin-left:5px}.proj-tab.active{color:var(--fg);border-bottom-color:var(--accent)}.proj-tab:hover{color:var(--fg)}.trio{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:stretch;margin-top:30px}.trio-box{background:var(--panel-3);border:1.5px solid var(--border);border-radius:14px 5px 15px 6px/6px 15px 5px 14px;padding:22px 22px 26px}.trio-box h4{font-family:Fira Code,monospace;font-size:.78rem;font-weight:700;letter-spacing:1.6px;color:var(--accent);text-transform:uppercase;margin-bottom:14px}.trio-box p{font-size:.99rem;line-height:1.65;color:var(--fg)}.trio-arrow{display:flex;align-items:center;color:var(--accent);font-size:1.05rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px}.stat{border-left:3px solid var(--accent);padding-left:18px}.stat .k{font-family:Fira Code,monospace;font-size:.78rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);line-height:1.6}.stat .v{font-family:Fira Code,monospace;font-weight:700;font-size:1.55rem;margin-top:8px}.how-link{background:none;border:none;color:var(--accent);font-family:Fira Code,monospace;font-size:.94rem;cursor:pointer;margin-top:32px;padding:0;text-align:left}.how-link:hover{text-decoration:underline}.steps{display:none;margin-top:26px;border-top:1.5px dashed var(--border);padding-top:26px}.steps.open{display:block}.steps h4{font-family:Fira Code,monospace;font-weight:600;font-size:1.05rem;margin-bottom:12px;color:var(--muted)}.step{display:flex;gap:18px;padding:13px 0;border-bottom:1px solid var(--border)}.step:last-child{border-bottom:none}.step .n{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);font-family:Fira Code,monospace;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px}.step .st{font-family:Fira Code,monospace;font-weight:600;font-size:.98rem}.step .st span{color:var(--muted-2);font-weight:400;font-size:.82rem;margin-left:8px}.step p{color:var(--muted);font-size:.93rem;line-height:1.6;margin-top:5px}.writeup{display:none;padding-top:28px;max-width:860px}.writeup.open{display:block}.writeup h4{font-family:Fira Code,monospace;font-weight:700;font-size:1.18rem;margin:26px 0 12px}.writeup h4:first-child{margin-top:0}.writeup p{color:var(--muted);line-height:1.8;font-size:1rem;margin-bottom:14px}.arch{display:none;padding-top:28px;max-width:760px}.arch.open{display:block}.arch p{color:var(--muted);line-height:1.75;font-size:1rem;margin-bottom:18px}.arch a{color:var(--accent);font-family:Fira Code,monospace;font-size:.95rem;text-decoration:none}.arch a:hover{text-decoration:underline}.ovpane{display:none}.ovpane.open{display:block}.rec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:20px}.rec-card{background:var(--panel);border:1.5px solid var(--border);padding:28px 26px 32px;border-radius:16px 6px 18px 8px/8px 18px 6px 16px;transition:transform .2s ease}.rec-card:hover{transform:rotate(-.6deg) translateY(-4px)}.rec-card h3{font-family:Fira Code,monospace;font-weight:700;font-size:1.12rem;line-height:1.45}.rec-card p{font-family:Architects Daughter,cursive;color:var(--muted);font-size:1.05rem;line-height:1.55;margin-top:12px}.os-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-bottom:26px}.os-stat{background:var(--panel);border:1.5px solid var(--border);border-radius:16px 6px 18px 8px/8px 18px 6px 16px;padding:26px;text-align:center}.os-stat .v{font-family:Fira Code,monospace;font-weight:700;font-size:2.1rem;color:var(--accent-ink)}.os-stat .k{font-family:Fira Code,monospace;font-size:.78rem;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-top:9px;line-height:1.6}.hm-card{background:var(--panel);border:1.5px solid var(--border);border-radius:16px 6px 18px 8px/8px 18px 6px 16px;padding:26px}.hm-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:18px}.hm-head .t{font-family:Fira Code,monospace;font-weight:600;font-size:.95rem}.hm-head .s{font-family:Fira Code,monospace;font-size:.8rem;color:var(--muted)}.heatmap{display:flex;gap:3px}.hm-col{display:flex;flex-direction:column;gap:3px;flex:1}.hm{width:100%;aspect-ratio:1;border-radius:2px;background:var(--panel-3);border:1px solid var(--border)}.hm1{background:#1d3a75}.hm2{background:#2f5cb8}.hm3{background:#4a7de0}.hm4{background:#7ea6ff}[data-theme=light] .hm1{background:#b9cdf5}[data-theme=light] .hm2{background:#7ea0e8}[data-theme=light] .hm3{background:#4a74d9}[data-theme=light] .hm4{background:#2b55b8}.hm-legend{display:flex;align-items:center;gap:5px;justify-content:flex-end;margin-top:14px;font-family:Fira Code,monospace;font-size:.72rem;color:var(--muted)}.hm-legend .hm{width:11px;height:11px;flex:none}.os-link{display:inline-block;margin-top:26px;font-family:Fira Code,monospace;color:var(--accent);text-decoration:none;font-size:.95rem}.os-link:hover{text-decoration:underline}.os-note{font-family:Fira Code,monospace;font-size:.75rem;color:var(--muted-2);margin-top:12px}.tech-title-hand{font-family:Architects Daughter,cursive!important;text-align:center;font-size:clamp(1.5rem,3vw,2.1rem)!important;color:var(--muted)!important;margin:0 auto 6px!important;letter-spacing:0!important;text-transform:none!important}.tech-grid{display:flex;flex-wrap:wrap;gap:16px 18px;padding-bottom:16px}.tech-chip{display:inline-flex;align-items:center;gap:11px;background:var(--panel);border:1.5px solid var(--border-light);padding:11px 22px 11px 16px;border-radius:999px;box-shadow:0 6px 16px #00000047;transition:transform .18s ease}[data-theme=light] .tech-chip{box-shadow:0 5px 14px #3c371e1f}.tech-chip:nth-child(3n+1){transform:rotate(-.6deg)}.tech-chip:nth-child(3n+2){transform:rotate(.5deg) translateY(1px)}.tech-chip:hover{transform:rotate(-1deg) scale(1.05)}.tech-chip img{width:24px;height:24px;object-fit:contain;flex:none}.tech-chip .tech-glyph{width:22px;height:22px;flex:none;color:var(--accent)}.tech-chip span{font-family:Fira Code,monospace;font-weight:600;font-size:.95rem;white-space:nowrap}[data-theme=dark] .inv-dark{filter:invert(1)}.contact-head{padding:72px 20px 4px;text-align:center}.contact-inner{text-align:center;padding-bottom:40px}.contact-inner h2{font-family:Architects Daughter,cursive;font-weight:400;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.25;text-transform:none}.contact-inner h2 .q{color:var(--accent)}.contact-sub{font-family:Architects Daughter,cursive;color:var(--muted);font-size:clamp(1.1rem,2vw,1.35rem);margin-top:16px}.contact-links{display:flex;flex-direction:column;gap:14px;align-items:center;margin-top:32px}#contact>.wrap{padding-bottom:14px}.contact-link{display:flex;align-items:center;gap:14px;text-decoration:none;font-family:Fira Code,monospace;font-size:1rem;padding:15px 26px;background:var(--panel);transition:transform .18s ease;width:min(430px,90vw);justify-content:center}.contact-link:hover{transform:rotate(-.7deg) scale(1.02)}.contact-link .k{color:var(--muted);font-size:.8rem;letter-spacing:1.2px;text-transform:uppercase}footer{text-align:center;padding:14px 20px 90px;color:var(--muted);font-family:Architects Daughter,cursive;font-size:1.05rem;border-top:1.5px dashed var(--border)}footer:has(.crowd){padding-bottom:0;overflow:hidden}.crowd{position:relative;height:clamp(170px,min(32vh,40vw),360px);margin:8px -20px 0;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22%);mask-image:linear-gradient(to bottom,transparent 0,#000 22%)}.crowd canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.chat-panel{position:fixed;right:26px;bottom:96px;z-index:130;width:min(380px,calc(100vw - 32px));height:min(540px,calc(100vh - 130px));background:var(--panel);border:1.5px solid var(--border-light);border-radius:18px 8px 20px 10px/10px 20px 8px 18px;box-shadow:var(--shadow);display:none;flex-direction:column;overflow:hidden}.chat-panel.open{display:flex}.chat-head{padding:16px 20px;border-bottom:1.5px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:10px}.chat-head .t{font-family:Fira Code,monospace;font-weight:600;font-size:.9rem;line-height:1.45}.chat-head button{background:none;border:none;color:var(--muted);font-size:1.3rem;cursor:pointer;font-family:Fira Code,monospace}.chat-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}.msg{max-width:88%;padding:11px 15px;font-size:.9rem;line-height:1.55;border-radius:14px 5px 15px 6px/6px 15px 5px 14px}.msg.bot{background:var(--panel-2);border:1.5px solid var(--border);align-self:flex-start}.msg.user{background:var(--accent-strong);color:#fff;align-self:flex-end}.chat-chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 12px}.chat-chips button{font-family:Fira Code,monospace;font-size:.74rem;color:var(--accent-ink);background:none;cursor:pointer;border:1.5px solid var(--accent);border-radius:999px;padding:6px 12px}.chat-chips button:hover{background:var(--panel-2)}.chat-input{display:flex;border-top:1.5px solid var(--border)}.chat-input input{flex:1;background:none;border:none;color:var(--fg);padding:15px 18px;font-family:Architects Daughter,cursive;font-size:.92rem;outline:none;min-width:0}.chat-input button{background:var(--accent-strong);color:#fff;border:none;padding:0 22px;font-family:Fira Code,monospace;font-weight:600;cursor:pointer}.resume-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;background:#0404069e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:resume-fade .2s ease}.resume-panel{width:min(1180px,100%);height:min(94vh,1200px);display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1.5px solid var(--border-light);border-radius:20px;box-shadow:0 30px 80px #0000008c;animation:resume-rise .25s cubic-bezier(.2,.9,.3,1.1)}.resume-head{display:flex;align-items:center;gap:16px;padding:18px 22px;border-bottom:1.5px solid var(--border)}.resume-icon{width:48px;height:48px;flex:none;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#6f9dff24;color:var(--accent)}.resume-meta{min-width:0;flex:1}.resume-meta h2{font-family:Fira Code,monospace;font-size:clamp(1rem,1.6vw,1.3rem);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-meta p{font-family:Fira Code,monospace;font-size:.8rem;color:var(--muted);margin-top:4px}.resume-actions{display:flex;align-items:center;gap:10px;flex:none}.resume-btn{border-radius:10px}.btn-ghost.resume-btn{border:1.5px solid var(--border-light)}.resume-close{width:44px;height:44px;border-radius:10px;border:1.5px solid var(--border-light);background:transparent;color:var(--fg);font-size:1.05rem;cursor:pointer;transition:background .15s ease}.resume-close:hover{background:var(--panel-2)}.resume-frame{flex:1;width:100%;border:0;background:#525659}@keyframes resume-fade{0%{opacity:0}}@keyframes resume-rise{0%{opacity:0;transform:translateY(14px) scale(.985)}}@media (max-width:720px){.resume-overlay{padding:0}.resume-panel{height:100%;border-radius:0;border:none}.resume-head{flex-wrap:wrap;gap:12px;padding:12px 14px}.resume-icon{width:38px;height:38px;border-radius:10px}.resume-meta h2{font-size:.98rem}.resume-meta p{font-size:.7rem;margin-top:2px}.resume-actions{width:100%;gap:8px}.resume-actions .resume-btn{flex:1;justify-content:center;padding:10px 12px;font-size:.8rem;gap:8px}.resume-close{width:40px;height:40px}}@media (max-width:1020px){.hero-grid{grid-template-columns:1fr;gap:44px}.hero{padding-top:90px}.exp-tabs{grid-template-columns:repeat(2,1fr)}.exp-tab:nth-child(4n){border-right:1.5px solid var(--border)}.exp-tab:nth-child(2n){border-right:none}.rec-grid,.os-stats{grid-template-columns:repeat(2,1fr)}.trio{grid-template-columns:1fr}.trio-arrow{justify-content:center;transform:rotate(90deg)}}@media (max-width:640px){.wrap{padding:0 18px}.stats{grid-template-columns:1fr;gap:20px}.rec-grid{grid-template-columns:1fr}.progress-rail{display:none}.theme-toggle{top:14px;right:14px;width:46px;height:46px}.chat-fab{right:14px;bottom:14px}.chat-panel{right:8px;bottom:82px}.sec-head{padding:80px 16px 44px}.hero-cards{flex-direction:column}.journey-card{max-width:none}.heatmap,.hm-col{gap:2px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}html{scroll-behavior:auto}}.arch-nodes{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:6px}.arch-node{background:var(--panel-3);border:1.5px solid var(--border);border-radius:12px 5px 13px 6px/6px 13px 5px 12px;padding:16px 18px}.arch-node .t{font-family:Fira Code,monospace;font-weight:600;font-size:.92rem}.arch-node .s{font-family:Fira Code,monospace;font-size:.72rem;color:var(--accent-ink);margin-top:4px}.arch-node p{color:var(--muted);font-size:.86rem;line-height:1.55;margin-top:9px}.arch-layer{font-family:Fira Code,monospace;font-size:.75rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:22px 0 12px}.arch-principles{margin-top:26px;display:grid;gap:16px}.arch-principles h5{font-family:Fira Code,monospace;font-size:1rem;margin-bottom:6px}.arch-principles p{margin-bottom:0}.trio-2{grid-template-columns:1fr auto 1fr}.stat .v-text{font-size:1.05rem;line-height:1.45}.step p.step-only{margin-top:2px;color:var(--fg)}.outcomes{display:none;padding-top:28px;grid-template-columns:1.1fr 1fr;gap:34px;align-items:start}.outcomes.open{display:grid}.outcomes h4{font-family:Fira Code,monospace;font-size:.78rem;font-weight:700;letter-spacing:1.6px;color:var(--accent);text-transform:uppercase;margin-bottom:14px}.outcomes ul{padding-left:20px;display:grid;gap:12px}.outcomes li{color:var(--muted);line-height:1.65}.proj-shot{display:block;overflow:hidden;border:1.5px solid var(--border);border-radius:14px 5px 15px 6px/6px 15px 5px 14px}.proj-shot img{display:block;width:100%;height:auto;transition:transform .35s ease}.proj-shot:hover img{transform:scale(1.03)}.proj-note{font-family:Fira Code,monospace;font-size:.8rem;color:var(--muted-2);margin-top:18px;line-height:1.6}.about-copy{columns:2 380px;column-gap:clamp(36px,5vw,88px)}.about-copy p{color:var(--muted);line-height:1.8;font-size:clamp(1.05rem,1.2vw,1.2rem);margin-bottom:16px}.about-label{font-family:Fira Code,monospace;font-size:.8rem;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin:34px 0 18px}.tech-group .arch-layer:first-child{margin-top:0}@media (max-width:1020px){.trio-2,.outcomes{grid-template-columns:1fr}.exp-tabs{grid-template-columns:repeat(2,1fr)}}.hero-art img,.hero-art video{width:min(780px,100%);filter:none}@media (max-width:1020px){.hero-art{order:-1}.hero-art img,.hero-art video{width:min(460px,78%)}.hero{min-height:auto;padding:80px 0 56px}}@media (max-width:640px){.hero{padding:72px 0 36px}.hero-grid{gap:18px}.hero-art img,.hero-art video{width:min(330px,86%)}.hero-art img,.hero-art video{animation:none}.pill{font-size:.76rem;padding:7px 14px;gap:8px}.pill-years{display:none}.hero-hi{margin-top:18px;font-size:1.3rem}.hero-role{font-size:1.65rem;margin-top:12px}.hero-tag{font-size:.9rem;line-height:1.55;margin-top:16px}.hero-tag span{display:block}.hero-tag .sep{display:none}.hero-desc{font-size:1.1rem;margin-top:14px}.hero-cards{margin-top:24px;gap:12px}.stat-card{padding:14px 18px}.journey-card{padding:16px 18px}.hero-cta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.hero-cta .btn{justify-content:center;padding:14px 12px;font-size:.92rem}.scroll-hint{display:none}.next-divider{gap:12px;padding:18px 16px 0;font-size:.7rem;letter-spacing:1.6px;white-space:nowrap}.next-divider:before,.next-divider:after{width:40px}.sec-head{padding:44px 16px 28px}.sec-head p{font-size:.95rem}.line-divider{margin:14px auto;padding:0 24px}#experience>.wrap{display:flex;flex-direction:column}.exp-tabs{order:-1;display:flex;gap:10px;overflow-x:auto;margin:0 -18px 14px;padding:2px 18px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.exp-tabs::-webkit-scrollbar{display:none}.exp-tab,.exp-tab:nth-child(n){flex:0 0 auto;border:1.5px solid var(--border);border-radius:14px;padding:11px 16px;max-width:78vw}.exp-tab.active{border-color:var(--accent);border-bottom-width:1.5px}.exp-card{padding:22px 20px}.exp-top{gap:14px}.exp-meta{font-size:1rem;margin-top:14px}.exp-bullets{gap:10px}.exp-bullets li{font-size:1rem}.proj-list{gap:32px}.proj-card{padding:22px 18px}.proj-card:nth-child(n){transform:none}.chips{gap:7px}.chip{font-size:.72rem;padding:5px 11px}.proj-head{margin-top:16px;gap:14px}.proj-actions,.proj-actions .btn{width:100%;justify-content:center}.proj-tabs{gap:26px;margin-top:18px}.trio{margin-top:20px;gap:8px}.trio-box{padding:18px 18px 20px}.trio-box p{font-size:.96rem;line-height:1.6}.trio-arrow{font-size:.9rem}.stats{gap:14px;margin-top:22px}.how-link{margin-top:18px;padding:12px 0}.about-copy p{font-size:1.04rem;line-height:1.7}.about-label{margin:24px 0 14px}.tech-grid{gap:10px}.tech-chip{padding:8px 13px 8px 10px;gap:8px;box-shadow:none}.tech-chip img{width:19px;height:19px}.tech-chip .tech-glyph{width:18px;height:18px}.tech-chip span{font-size:.8rem}.tech-group .arch-layer{margin:18px 0 10px}.contact-head{padding-top:48px}.contact-links{margin-top:22px;gap:10px}.contact-link{flex-direction:column;gap:3px;padding:12px 16px;width:100%}.contact-link .k{font-size:.68rem}footer{font-size:.92rem;padding-left:16px;padding-right:16px}}
