@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_6b6f87;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_6b6f87;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6b6f87{font-family:__JetBrains_Mono_6b6f87,__JetBrains_Mono_Fallback_6b6f87;font-style:normal}.__variable_6b6f87{--font-jet:"__JetBrains_Mono_6b6f87","__JetBrains_Mono_Fallback_6b6f87"}:root{--shadow:6px 6px 0 var(--ink);--shadow-lg:9px 9px 0 var(--ink);--shadow-sm:3px 3px 0 var(--ink);--box2:8px 8px 0 var(--ink);--box2-hover:13px 15px 0 var(--ink);--bg-icons-url:url(/assets/doodles.svg);--bg-icons-opacity:0.07;--bg-icons-scale:300px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}.theme-root{background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh;transition:background .25s ease}a{color:inherit;text-decoration:none}::selection{background:var(--ink);color:var(--sel)}.wrap{max-width:1200px;margin:0 auto;padding:0 24px}.disp{font-family:var(--disp)}.mono{font-family:var(--mono)}header.nav-wrap{position:fixed;top:12px;left:0;right:0;z-index:60;padding:0 14px}.nav{max-width:1200px;margin:0 auto;background:var(--card);border:3px solid var(--ink);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;padding:11px 20px}.logo{font-family:var(--disp);font-size:calc(22px * var(--fs));letter-spacing:-.02em}.logo .b{color:var(--accent)}.nav-links{display:flex;gap:22px;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.nav-links a:hover{color:var(--accent)}.nav-right{display:flex;align-items:center;gap:12px}.badge-work,.clock{font-family:var(--mono);font-size:12px;font-weight:700}.badge-work{background:var(--accent);color:var(--accent-ink);border:3px solid var(--ink);padding:6px 12px;text-transform:uppercase;box-shadow:var(--shadow-sm)}@media (max-width:900px){.clock,.nav-links{display:none}}.hero{padding:104px 0 22px}.hero .wrap{position:relative}.hero-floaties{position:absolute;inset:0;pointer-events:none;z-index:2}.fl{position:absolute;width:42px;height:42px;pointer-events:auto;cursor:pointer;transition:transform .3s cubic-bezier(.2,.8,.3,1.5)}.fl-in{display:block;width:100%;height:100%;animation:floaty 5.5s ease-in-out infinite}.fl:hover{transform:scale(1.35) rotate(-10deg)}.fl:hover .fl-in{animation-play-state:paused}.fl1{top:84px;left:87%;color:var(--pop);--dur:6s;--amp:-16px}.fl2{top:150px;left:69%;--dur:5s;--amp:-13px;width:34px;height:34px}.fl2,.fl3{color:var(--ink)}.fl3{top:46%;left:95%;--dur:6.5s;--amp:-18px;width:36px;height:36px}.fl4{top:50%;left:45%;color:var(--accent);--dur:5.4s;--amp:-13px;width:34px;height:34px}.fl5{top:63%;left:48%;color:var(--pop);--dur:7s;--amp:-15px;width:30px;height:30px}.fl6{top:72%;left:30%;color:var(--accent);--dur:6.2s;--amp:-14px;width:38px;height:38px}.fl-in{animation-duration:var(--dur,5.5s)}@keyframes floaty{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(var(--amp,-14px)) rotate(6deg)}}.stamp-lane{display:flex;align-items:center}.lane-floaties{display:none}@media (max-width:860px){.hero-floaties{display:none}.stamp-lane{margin-top:26px;gap:6px}.lane-floaties{display:flex;flex:1 1;max-width:250px;align-items:center;justify-content:space-evenly}.lf{display:block;width:30px;height:30px;flex:none;pointer-events:auto;cursor:pointer;transition:transform .3s cubic-bezier(.2,.8,.3,1.5)}.lf:hover{transform:scale(1.3) rotate(-10deg)}.lf:hover .fl-in{animation-play-state:paused}.lf1{color:var(--pop);transform:translateY(-11px);--dur:6s;--amp:-9px;width:33px;height:33px}.lf2{color:var(--accent);transform:translateY(7px);--dur:5.2s;--amp:-11px;width:30px;height:30px}.lf3{color:var(--ink);transform:translateY(-3px);--dur:6.6s;--amp:-8px;width:36px;height:36px}.lf1:hover{transform:translateY(-11px) scale(1.3) rotate(-10deg)}.lf2:hover{transform:translateY(7px) scale(1.3) rotate(-10deg)}.lf3:hover{transform:translateY(-3px) scale(1.3) rotate(-10deg)}}.tag-open{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--card);border:3px solid var(--ink);font-family:var(--mono);font-weight:700;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;padding:8px 14px;margin-bottom:18px}.tag-open .d{width:10px;height:10px;border-radius:50%;background:var(--pop)}h1.name{font-family:var(--disp);text-transform:uppercase;line-height:.84;letter-spacing:-.03em;position:relative;z-index:3;pointer-events:none}.name .ltr{display:inline-block;pointer-events:auto;cursor:default;transition:transform .2s cubic-bezier(.2,.8,.3,1.3),color .2s ease,text-shadow .2s ease}.name .l1 .ltr:hover{transform:translateY(-14px) rotate(-6deg);color:var(--pop)}.name .l2 .ltr:hover{transform:translateY(-14px) rotate(6deg);text-shadow:.066em .066em 0 var(--ink)}h1.name .l1{color:var(--ink);text-shadow:.034em .034em 0 var(--card)}h1.name .l1,h1.name .l2{display:block;font-size:clamp(calc(46px * var(--fs)),9.4vw,calc(120px * var(--fs)))}h1.name .l2{color:var(--head2);-webkit-text-stroke:.026em var(--ink);text-shadow:.042em .042em 0 var(--ink)}.hero-mid{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:30px;gap:30px;align-items:start;margin-top:18px}.pitch{font-size:calc(19px * var(--fs));font-weight:600;max-width:560px;line-height:1.34}.pitch .hl{background:var(--card);border:2px solid var(--ink);padding:1px 8px;box-shadow:var(--shadow-sm);display:inline-block;margin:2px 0}.pitch .cur{display:inline-block;width:13px;height:20px;background:var(--ink);vertical-align:-3px;margin:0 2px;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hero-right{display:flex;flex-direction:column;gap:12px;align-items:flex-start;position:relative;z-index:1;margin-top:-132px}.scribble{font-family:var(--mono);font-size:13px;font-style:italic;transform:rotate(-3deg)}.social-row{display:flex;gap:10px;flex-wrap:wrap}.sbtn{background:var(--card);border:3px solid var(--ink);font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:9px 14px;box-shadow:var(--shadow-sm)}.sbtn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.hero-stamp{display:inline-flex;align-items:center;gap:12px;margin-top:34px;background:var(--pop);color:var(--pop-ink);border:3px solid var(--ink);box-shadow:var(--box2);padding:11px 17px;transform:rotate(-5deg);transition:transform .18s cubic-bezier(.2,.8,.3,1.3),box-shadow .18s ease}.hero-stamp:hover{transform:rotate(-2deg) translate(-3px,-3px);box-shadow:var(--box2-hover)}.hero-stamp .st-star{font-size:26px;line-height:1}.hero-stamp .st-text{font-size:calc(15px * var(--fs));text-transform:uppercase;letter-spacing:.01em;line-height:1.02}@media (max-width:860px){.hero-stamp{margin-top:0}}@keyframes stamp-wobble{0%,to{transform:rotate(-5deg)}50%{transform:rotate(-2.5deg)}}.btn{font-family:var(--disp);font-size:calc(16px * var(--fs));text-transform:uppercase;letter-spacing:.01em;border:3px solid var(--ink);padding:13px 24px;cursor:pointer;box-shadow:var(--shadow);display:inline-flex;align-items:center;gap:10px}.btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-ghost{background:var(--card);color:var(--ink)}.btn-pink{background:var(--pop);color:var(--pop-ink)}.hero-portrait{width:100%;max-width:344px;aspect-ratio:1/1.16;border:4px solid var(--ink);box-shadow:14px 14px 0 var(--ink);position:relative;overflow:hidden;background:var(--pop);transform:rotate(3deg);transition:transform .2s cubic-bezier(.2,.8,.3,1.3),box-shadow .2s ease}.hero-portrait:hover{transform:rotate(0deg) translate(-4px,-6px);box-shadow:19px 19px 0 var(--ink)}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;filter:contrast(1.03) saturate(1.02)}.hero-portrait .frame-label{position:absolute;bottom:0;left:0;right:0;background:var(--ink);color:var(--card);font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.18em;padding:5px 10px;text-transform:uppercase}.hero-portrait .star{position:absolute;top:9px;right:11px;font-size:24px;color:var(--card);z-index:2;text-shadow:1px 1px 0 var(--ink)}@media (max-width:860px){.hero-mid{grid-template-columns:1fr}.hero-right{margin-top:4px}h1.name{line-height:.96}}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-top:30px}.stat{background:var(--card);border:3px solid var(--ink);box-shadow:var(--shadow);padding:16px 16px 14px}.stat .big{font-family:var(--disp);font-size:clamp(calc(28px * var(--fs)),3.6vw,calc(42px * var(--fs)));line-height:1;color:var(--ink)}.stat .big .u{color:var(--accent)}.stat .cap{font-family:var(--mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#555;margin-top:9px}@media (max-width:860px){.stats{grid-template-columns:repeat(2,1fr)}}section.blk{padding:var(--sec-pad) 0}.band{border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);position:relative}.band.accent{background:var(--accent)}.band.pop{background:var(--pop)}.band.paper{background:var(--paper)}.band.card{background:var(--card)}.band.has-doodles:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:var(--bg-icons-url);background-size:var(--bg-icons-scale);opacity:var(--bg-icons-opacity);mix-blend-mode:multiply}.band>.wrap{position:relative;z-index:1}.sec-top{display:flex;align-items:center;gap:14px;margin-bottom:26px;flex-wrap:wrap}.sec-no{font-family:var(--mono);font-weight:700;background:var(--ink);color:var(--sel);padding:5px 11px;font-size:13px}h2.sec-title{font-family:var(--disp);font-size:clamp(calc(28px * var(--fs)),4.6vw,calc(54px * var(--fs)));text-transform:uppercase;letter-spacing:-.02em;line-height:.95}.band.accent .sec-lead,.band.accent h2.sec-title{color:var(--accent-ink)}.band.pop .sec-lead,.band.pop h2.sec-title{color:var(--pop-ink)}.band.accent .sec-no,.band.pop .sec-no{background:var(--sel);color:var(--ink)}.sec-lead{font-size:calc(16.5px * var(--fs));font-weight:600;max-width:640px;margin-bottom:30px}.grid{display:grid;grid-gap:var(--grid-gap);gap:var(--grid-gap)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}@media (max-width:820px){.g2,.g3{grid-template-columns:1fr}}.cardw{background:var(--card);border:3px solid var(--ink);box-shadow:var(--shadow);padding:22px}.cardw:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}.cardw .no{font-family:var(--mono);font-weight:700;color:var(--accent);font-size:13px}.cardw h3{font-family:var(--disp);font-size:calc(19px * var(--fs));text-transform:uppercase;letter-spacing:-.01em;margin:8px 0 10px;line-height:1.05}.cardw p{font-size:calc(14.5px * var(--fs));font-weight:500;color:#222}.skcard{background:var(--card);border:3px solid var(--ink);box-shadow:var(--shadow);padding:22px}.skcard h3{font-family:var(--disp);font-size:calc(16px * var(--fs));text-transform:uppercase;background:var(--sel);border:2px solid var(--ink);display:inline-block;padding:4px 10px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.skcard ul{list-style:none;display:flex;flex-direction:column;gap:9px}.skcard li{font-size:calc(14px * var(--fs));font-weight:500;padding-left:22px;position:relative}.skcard li:before{content:"★";position:absolute;left:0;color:var(--pop);font-size:12px}.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pill{font-family:var(--mono);font-weight:700;font-size:12px;background:var(--paper);border:2px solid var(--ink);padding:5px 11px;box-shadow:2px 2px 0 var(--ink)}.proj{background:var(--card);border:3px solid var(--ink);box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column}.proj:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}.proj .ptop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.proj h3{font-family:var(--disp);font-size:calc(21px * var(--fs));letter-spacing:-.01em;line-height:1.02}.proj h3,.status{text-transform:uppercase}.status{font-family:var(--mono);font-weight:700;font-size:11px;padding:5px 10px;border:2px solid var(--ink);white-space:nowrap;border-radius:20px}.status.done{background:#7fffb0}.status.on{background:var(--sel)}.status.tool{background:var(--paper)}.proj .tagl{font-weight:700;font-size:calc(14px * var(--fs));color:var(--accent);margin-top:8px}.proj .ctx{font-size:13px;font-style:italic;color:#555;margin:11px 0}.proj .stk{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.proj .stk span{font-family:var(--mono);font-size:11px;font-weight:700;background:var(--paper);border:2px solid var(--ink);padding:3px 8px}.proj ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:16px}.proj ul li{font-size:calc(14px * var(--fs));font-weight:500;padding-left:20px;position:relative}.proj ul li:before{content:"▪";position:absolute;left:0;color:var(--accent)}.proj .plinks{margin-top:auto;display:flex;gap:10px}.proj .plinks a{font-family:var(--mono);font-weight:700;font-size:12px;background:var(--ink);color:var(--card);padding:7px 13px}.proj .plinks a:hover{background:var(--accent);color:var(--accent-ink)}.row{background:var(--card);border:3px solid var(--ink);box-shadow:var(--shadow);padding:20px 22px}.row .rt{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:baseline}.row h3{font-family:var(--disp);font-size:calc(19px * var(--fs));text-transform:uppercase;line-height:1.05}.row .when{font-family:var(--mono);font-weight:700;font-size:13px;background:var(--sel);border:2px solid var(--ink);padding:3px 9px}.row .sub{font-weight:700;font-size:calc(14px * var(--fs));color:var(--accent);margin-top:4px}.row ul{list-style:none;margin-top:13px;display:flex;flex-direction:column;gap:9px}.row ul li{font-size:calc(14px * var(--fs));font-weight:500;padding-left:20px;position:relative}.row ul li:before{content:"▪";position:absolute;left:0;color:var(--pop)}.rows{display:flex;flex-direction:column;gap:16px}#contact{position:relative;overflow:hidden}#contact:before{content:"";position:absolute;inset:0;background:url(/assets/doodle-texture.webp) 50%/480px repeat;opacity:.1;mix-blend-mode:multiply;pointer-events:none}.final{text-align:center;position:relative;z-index:1}.final h2{font-family:var(--disp);font-size:clamp(calc(38px * var(--fs)),7.4vw,calc(88px * var(--fs)));text-transform:uppercase;line-height:.9;letter-spacing:-.03em;color:var(--pop-ink);text-shadow:5px 5px 0 var(--ink)}.final .lead{font-weight:700;font-size:calc(18px * var(--fs));color:var(--pop-ink);opacity:.92;margin:20px auto 26px;max-width:520px}.cgrid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px;max-width:680px;margin:36px auto 0;text-align:left}.cc{background:var(--card);border:3px solid var(--ink);box-shadow:var(--shadow);padding:16px 18px;display:flex;justify-content:space-between;gap:12px;align-items:center}.cc:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}.cc .k{font-family:var(--mono);font-size:11px;text-transform:uppercase;color:#666}.cc .k,.cc .v{font-weight:700}.cc .v{font-size:calc(14px * var(--fs));word-break:break-all}@media (max-width:600px){.cgrid{grid-template-columns:1fr}}footer.site-foot{background:var(--ink);color:var(--sel);border-top:4px solid var(--ink);padding:22px 0;text-align:center;font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.04em}#chatBadge{position:fixed;right:22px;bottom:22px;z-index:80;background:var(--pop);color:var(--pop-ink);border:3px solid var(--ink);font-family:var(--disp);font-size:15px;text-transform:uppercase;padding:13px 19px;box-shadow:var(--shadow);cursor:pointer;display:flex;align-items:center;gap:9px;transform:rotate(-2deg)}#chatBadge:hover{transform:rotate(-2deg) translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}#chatBadge .d{width:11px;height:11px;border-radius:50%;background:var(--sel);border:2px solid var(--ink)}.chat-panel{position:fixed;right:22px;bottom:84px;z-index:80;width:min(370px,calc(100vw - 36px));background:var(--card);border:4px solid var(--ink);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.ch-head{background:var(--accent);color:var(--accent-ink);border-bottom:4px solid var(--ink);padding:13px 16px;display:flex;justify-content:space-between;align-items:center}.ch-head .t{font-family:var(--disp);font-size:17px;text-transform:uppercase}.ch-head button{background:var(--sel);border:2px solid var(--ink);width:26px;height:26px;font-weight:900;cursor:pointer;color:var(--ink)}.ch-body{padding:16px;min-height:150px;max-height:290px;overflow-y:auto;display:flex;flex-direction:column;gap:11px}.ch-msg{font-size:14px;font-weight:500;padding:10px 13px;border:2px solid var(--ink);max-width:88%}.ch-msg.bot{background:var(--paper);align-self:flex-start}.ch-msg.bot,.ch-msg.me{box-shadow:var(--shadow-sm)}.ch-msg.me{background:var(--sel);align-self:flex-end}.ch-chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 12px}.ch-chips button{font-family:var(--mono);font-weight:700;font-size:11px;background:var(--card);border:2px solid var(--ink);padding:7px 10px;cursor:pointer;box-shadow:2px 2px 0 var(--ink)}.ch-chips button:hover{background:var(--pop);color:var(--pop-ink)}.ch-input{display:flex;gap:8px;padding:14px 16px;border-top:3px solid var(--ink)}.ch-input input{flex:1 1;border:2px solid var(--ink);padding:10px 12px;font-family:var(--mono);font-size:13px;outline:none}.ch-input button{background:var(--accent);color:var(--accent-ink);border:2px solid var(--ink);font-weight:900;padding:0 16px;cursor:pointer;box-shadow:2px 2px 0 var(--ink)}.bot-avatar{display:block;flex:none;overflow:visible}.bot-avatar--badge{width:40px;height:40px;filter:drop-shadow(4px 4px 0 var(--ink))}.bot-avatar--head{width:28px;height:28px}.bot-avatar--msg{width:22px;height:22px}.bot-avatar circle,.bot-avatar g,.bot-avatar path,.bot-avatar rect{transform-box:fill-box;transform-origin:50% 50%}.bot-avatar circle,.bot-avatar path,.bot-avatar rect{stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ba-head{fill:var(--sel)}.ba-visor{fill:var(--pop)}.ba-foot,.ba-mouth-plate{fill:var(--accent)}.ba-tip{fill:var(--pop)}.ba-ant-stem,.ba-brow,.ba-eye,.ba-stripe{fill:none}.bot-avatar .ba-eye{stroke-width:2.4}.bot-avatar .ba-stripe{stroke:var(--paper);stroke-width:1.7}.bot-avatar .ba-brow{opacity:0;stroke-width:2.4}.ba-body{animation:ba-bob 4s ease-in-out infinite}.ba-ant--l{transform-origin:100% 100%;animation:ba-sway 4s ease-in-out infinite}.ba-ant--r{transform-origin:0 100%;animation:ba-sway 4s ease-in-out infinite reverse;animation-delay:-1.3s}@keyframes ba-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.2px)}}@keyframes ba-sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.ba-eyes{transform-origin:50% 100%;animation:ba-blink 7.4s infinite}@keyframes ba-blink{0%,19%,21%,62%,64%,to{transform:scaleY(1)}19.8%,20.2%,62.8%,63.2%{transform:scaleY(.12)}}.bot-avatar[data-state=thinking] .ba-visor{animation:ba-think 1s ease-in-out infinite alternate}.bot-avatar[data-state=thinking] .ba-tip{animation:ba-pulse .9s ease-in-out infinite alternate}@keyframes ba-think{0%{fill:var(--pop)}to{fill:var(--accent)}}@keyframes ba-pulse{0%{transform:scale(1)}to{transform:scale(1.28)}}.bot-avatar[data-state=speaking] .ba-stripe{animation:ba-wave .42s step-end infinite}.bot-avatar[data-state=speaking] .ba-stripe--2{animation-delay:.14s}.bot-avatar[data-state=speaking] .ba-stripe--3{animation-delay:.28s}@keyframes ba-wave{0%,to{transform:scaleY(1)}33%{transform:scaleY(.4)}66%{transform:scaleY(.75)}}.bot-avatar[data-state=deflecting] .ba-body{transform-origin:50% 92%;animation:ba-tilt .45s cubic-bezier(.3,1.5,.4,1) forwards}.bot-avatar[data-state=deflecting] .ba-brow{animation:ba-brow .45s ease-out forwards}@keyframes ba-tilt{0%{transform:rotate(0)}to{transform:rotate(12deg)}}@keyframes ba-brow{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}#chatBadge{padding:9px 16px 9px 11px}.ch-badge-label{line-height:1}.ch-head{gap:10px}.ch-head .t{flex:1 1}.ch-row{display:flex;gap:8px;align-items:flex-start}.ch-row.me{justify-content:flex-end}.ch-msg-av{margin-top:3px}.ch-stack{display:flex;flex-direction:column;gap:6px;max-width:88%;min-width:0}.ch-row.me .ch-stack{align-items:flex-end}.ch-msg{max-width:100%;word-break:break-word}.ch-caret{display:inline-block;width:8px;height:1em;margin-left:3px;vertical-align:-2px;background:var(--ink);animation:blink 1s step-end infinite}.ch-actions{display:flex;flex-wrap:wrap;gap:6px}.ch-action{font-family:var(--mono);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.03em;background:var(--sel);color:var(--ink);border:2px solid var(--ink);padding:6px 9px;cursor:pointer;box-shadow:2px 2px 0 var(--ink);transform:rotate(-1deg)}.ch-action:hover{background:var(--accent);color:var(--accent-ink);transform:rotate(-1deg) translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.ch-chips button:disabled,.ch-input button:disabled,.ch-input input:disabled{opacity:.55;cursor:not-allowed}.chat-panel{bottom:96px}.nav-flash,.nav-flash-static{--flash:var(--pop)}.band.pop.nav-flash,.band.pop.nav-flash-static{--flash:var(--accent)}.band.accent.nav-flash,.band.accent.nav-flash-static{--flash:var(--sel)}.nav-flash{animation:nav-flash .9s linear 1 both}@keyframes nav-flash{0%{border-color:var(--ink);box-shadow:inset 0 0 0 0 var(--ink)}12%{border-color:var(--flash);box-shadow:inset 4px 4px 0 0 var(--ink)}45%{border-color:var(--flash);box-shadow:inset 10px 10px 0 0 var(--ink)}to{border-color:var(--ink);box-shadow:inset 0 0 0 0 var(--ink)}}.nav-flash h2.sec-title{transform-origin:0 100%;animation:nav-flash-head .9s linear 1 both}@keyframes nav-flash-head{0%{transform:rotate(0deg)}16%{transform:rotate(-2deg)}34%{transform:rotate(-2deg)}62%{transform:rotate(.7deg)}82%{transform:rotate(-.25deg)}to{transform:rotate(0deg)}}.nav-flash-static{outline:4px solid var(--flash);outline-offset:-10px}.chat-panel.is-collapsing{animation:ch-collapse .24s cubic-bezier(.5,0,.9,.4) forwards;transform-origin:100% 100%;pointer-events:none}@keyframes ch-collapse{0%{transform:scale(1) translate(0);opacity:1}to{transform:scale(.55) translate(26px,44px);opacity:0}}.ch-toast{position:absolute;right:0;bottom:calc(100% + 11px);z-index:1;pointer-events:none;background:var(--sel);color:var(--ink);border:3px solid var(--ink);box-shadow:var(--shadow-sm);font-family:var(--mono);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:7px 10px;white-space:nowrap;animation:ch-toast-in .22s cubic-bezier(.3,1.5,.4,1) both}@keyframes ch-toast-in{0%{opacity:0;transform:translateY(7px) rotate(1deg)}to{opacity:1;transform:translateY(0) rotate(1deg)}}@media (max-width:420px){#chatBadge{right:12px;bottom:12px}.chat-panel{right:12px;left:12px;width:auto;bottom:84px}.ch-body{max-height:min(44vh,290px)}.ch-stack{max-width:calc(100% - 30px)}}@media (prefers-reduced-motion:reduce){.bot-avatar *,.ch-caret{animation:none!important}.bot-avatar[data-state=deflecting] .ba-body{transform-origin:50% 92%;transform:rotate(12deg)}.bot-avatar[data-state=deflecting] .ba-brow{opacity:1}.ch-toast,.chat-panel.is-collapsing,.nav-flash,.nav-flash h2.sec-title{animation:none}.chat-panel.is-collapsing{opacity:0}}.btn,.cardw,.cc,.pill,.proj,.row,.sbtn,.skcard,.stat,.status,.when{transition:transform .18s cubic-bezier(.2,.8,.3,1.25),box-shadow .18s ease}.cardw,.cc,.proj,.row,.skcard,.stat{box-shadow:var(--box2)}.stats .stat:first-child{transform:rotate(-1.6deg)}.stats .stat:nth-child(2){transform:rotate(1.1deg)}.stats .stat:nth-child(3){transform:rotate(-.8deg)}.stats .stat:nth-child(4){transform:rotate(1.7deg)}.stat:hover{transform:rotate(0deg) translate(-5px,-8px);box-shadow:var(--box2-hover)}.grid .cardw:nth-child(odd),.grid .proj:nth-child(odd){transform:rotate(-1deg)}.grid .cardw:nth-child(2n),.grid .proj:nth-child(2n){transform:rotate(1.1deg)}.grid .skcard:nth-child(odd){transform:rotate(.9deg)}.grid .skcard:nth-child(2n){transform:rotate(-1deg)}.cardw:hover,.proj:hover,.skcard:hover{transform:rotate(0deg) translate(-5px,-9px);box-shadow:var(--box2-hover);z-index:2}.rows .row:nth-child(odd){transform:rotate(-.5deg)}.rows .row:nth-child(2n){transform:rotate(.6deg)}.row:hover{transform:rotate(0deg) translate(-5px,-8px);box-shadow:var(--box2-hover);z-index:2}.cgrid .cc:nth-child(odd){transform:rotate(-1.2deg)}.cgrid .cc:nth-child(2n){transform:rotate(1.2deg)}.cc:hover{transform:rotate(0deg) translate(-5px,-8px);box-shadow:var(--box2-hover);z-index:2}.skcard .pills .pill:nth-child(3n){transform:rotate(-2deg)}.skcard .pills .pill:nth-child(3n+1){transform:rotate(1.6deg)}.pill:hover{transform:rotate(0deg) translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.status:hover{transform:rotate(-2deg) scale(1.04)}.badge-work,.sec-no{transform:rotate(-2deg);display:inline-block}.badge-work{transition:transform .18s cubic-bezier(.2,.8,.3,1.25),box-shadow .18s ease}.badge-work:hover{transform:rotate(0deg) translate(-2px,-2px);box-shadow:var(--shadow)}.loader{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .55s ease}.loader.gone{opacity:0;pointer-events:none}.loader-inner{text-align:center;animation:loader-pop .5s cubic-bezier(.2,.8,.3,1.35) both}.loader .mark{font-size:clamp(44px,11vw,96px);text-transform:uppercase;letter-spacing:-.03em;line-height:1;color:var(--ink);text-shadow:6px 6px 0 var(--pop)}.loader .mark .b{color:var(--accent)}.loader-bar{width:min(280px,64vw);height:16px;margin:22px auto 12px;background:var(--card);border:3px solid var(--ink);box-shadow:var(--shadow-sm);overflow:hidden}.loader-bar i{display:block;height:100%;width:0;background:var(--accent);animation:loader-fill .8s ease forwards}.loader-note{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--ink);opacity:.7}@keyframes loader-pop{0%{opacity:0;transform:scale(.9) rotate(-3deg)}to{opacity:1;transform:none}}@keyframes loader-fill{0%{width:0}to{width:100%}}.hero .tag-open{animation:rise .55s .7s both}.hero h1.name{animation:rise .6s .8s both}.hero .hero-mid{animation:rise .6s .92s both}.hero .stats{animation:rise .6s 1.04s both}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.3,1)}[data-reveal].is-in{opacity:1;transform:none}@media (max-width:860px){.badge-work,.cardw,.cc,.hero-portrait,.hero-stamp,.pill,.proj,.row,.sec-no,.skcard,.stat{transform:none}.hero-portrait{box-shadow:8px 8px 0 var(--ink)}.hero-stamp{animation:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}[data-reveal]{opacity:1;transform:none}.hero .hero-mid,.hero .stats,.hero .tag-open,.hero h1.name{animation:none}}