@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_efde1a47-module__SZ3kUW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_efde1a47-module__SZ3kUW__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.3bz3aq452sydg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.343obqi851wr5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.40kcwrf1wub16.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.200l3jur7oygh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.269kn9uafm0ti.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_84d6efd-module__5Hl15a__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_84d6efd-module__5Hl15a__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#07080a;--bg-2:#0b0d10;--surface:#0c0f11;--surface-2:#131518;--ink:#e9ebee;--ink-2:#9ea2a6;--muted:#62676c;--line:#ffffff14;--line-2:#ffffff2b;--accent:#edad4b;--accent-ink:#190f03;--ok:#7cbd89;--warn:#dcba5c;--code-green:#93c69d;--hover-tint:#ffffff0a;--grid-minor:#ffffff03;--grid-major:#ffffff08;--lamp:color-mix(in oklab, var(--accent) 11%, transparent);--lamp-soft:color-mix(in oklab, var(--accent) 7%, transparent);--field:#ffffff08;--field-focus:#ffffff0e;--win-shadow:0 24px 80px #00000073;--glass:color-mix(in oklab, var(--bg) 78%, transparent);--sans:var(--font-geist), -apple-system, system-ui, sans-serif;--mono:var(--font-jetbrains-mono), ui-monospace, "SF Mono", monospace;--shell:1440px;--gutter:clamp(18px, 3.4vw, 44px);--nav-h:58px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (color:lab(0% 0 0)){:root{--bg:lab(2.2198% -.214025 -.801244);--bg-2:lab(3.69541% -.360243 -1.35138);--surface:lab(4.05301% -.384487 -1.43507);--surface-2:lab(6.69019% -.627406 -2.33686);--ink:lab(93.037% -.443786 -1.43205);--ink-2:lab(66.3532% -.87142 -2.85501);--muted:lab(43.1502% -1.06508 -3.55589);--accent:lab(75.5542% 17.333 58.0528);--accent-ink:lab(5.2549% 3.01321 6.64151);--ok:lab(71.1345% -29.8625 19.336);--warn:lab(77.1508% 4.33481 51.6536);--code-green:lab(75.5264% -23.8098 15.3353)}}:root[data-theme=light]{--bg:#f2f4f5;--bg-2:#e7eaec;--surface:#f9fafb;--surface-2:#ebedef;--ink:#101418;--ink-2:#3e4348;--muted:#6d7277;--line:#0000001c;--line-2:#00000038;--accent:#a56202;--accent-ink:#fbf8f5;--ok:#3b834e;--warn:#a77f19;--code-green:#397247;--hover-tint:#0000000a;--grid-minor:#0f121a07;--grid-major:#0f121a0d;--lamp:color-mix(in oklab, var(--accent) 15%, transparent);--lamp-soft:color-mix(in oklab, var(--accent) 10%, transparent);--field:#00000006;--field-focus:#0000000b;--win-shadow:0 24px 80px #14141c24;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@supports (color:lab(0% 0 0)){:root[data-theme=light]{--bg:lab(95.9378% -.333816 -1.0746);--bg-2:lab(92.457% -.443757 -1.43204);--surface:lab(98.2586% -.2231 -.716782);--surface-2:lab(93.617% -.443816 -1.43205);--ink:lab(6.18316% -.806056 -3.23802);--ink-2:lab(28.0692% -1.04554 -3.54594);--muted:lab(47.7904% -1.06922 -3.55804);--accent:lab(48.5435% 23.7484 55.7791);--accent-ink:lab(97.6771% .704616 1.73556);--ok:lab(49.1954% -33.1028 21.7034);--warn:lab(56.0652% 9.19867 55.9083);--code-green:lab(43.1488% -27.0158 17.639)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 8px)}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55;transition:background .35s,color .35s;overflow-x:clip}body:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid-minor) 1px, transparent 1px), linear-gradient(90deg, var(--grid-minor) 1px, transparent 1px), linear-gradient(var(--grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-major) 1px, transparent 1px);background-size:24px 24px,24px 24px,120px 120px,120px 120px;position:fixed;inset:0}a{color:var(--ink);text-decoration:none}a:hover{color:var(--accent)}::selection{background:var(--accent);color:var(--accent-ink)}button{color:inherit;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}*{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}em{color:var(--accent);font-style:normal}h1,h2,h3,h4,h5{margin:0}img{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.srOnly{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skipLink{z-index:200;font-family:var(--mono);background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:10px 16px;font-size:12.5px;font-weight:600;transition:transform .2s;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skipLink:focus-visible{color:var(--accent-ink);transform:translateY(0)}@keyframes ms-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes ms-pulse{0%,to{opacity:1;box-shadow:0 0 0 0 color-mix(in oklab, var(--ok) 45%, transparent)}60%{opacity:.75;box-shadow:0 0 0 6px #0000}}@keyframes ms-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes ms-minimize{0%{opacity:1;transform:none}55%{opacity:.15;transform:translateY(46px)scale(.6)}to{opacity:1;transform:none}}@keyframes ms-toon-in{0%{filter:none;transform:scale(1)}38%{filter:saturate(.15)contrast(1.3)brightness(1.12);transform:scale(1.06)}68%{filter:saturate(1.15)contrast(1.05);transform:scale(.985)}to{filter:none;transform:scale(1)}}@keyframes ms-toon-out{0%{filter:none;transform:scale(1)}42%{filter:saturate(.3)brightness(1.08);transform:scale(.955)}to{filter:none;transform:scale(1)}}@keyframes ms-toon-sweep{0%{opacity:0;transform:translateY(0)}12%,88%{opacity:1}to{opacity:0;transform:translateY(300%)}}@keyframes ms-toon-sweep-back{0%{opacity:0;transform:translateY(300%)}12%,88%{opacity:1}to{opacity:0;transform:translateY(0)}}@keyframes ms-pop{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}@keyframes ms-pop-up{0%{opacity:0;transform:translateY(-10px)scale(.985)}to{opacity:1;transform:none}}:root[data-reveal=on] .reveal{opacity:0;transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1);transform:translateY(16px)}:root[data-reveal=on] .reveal.in{opacity:1;transform:none}.reveal.d1{transition-delay:80ms}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.page{z-index:1;position:relative}.shell{max-width:var(--shell);width:100%;padding-inline:var(--gutter);margin:0 auto}.section{max-width:var(--shell);width:100%;padding:clamp(70px, 9vh, 120px) var(--gutter);margin:0 auto}.secHead{flex-wrap:wrap;align-items:baseline;gap:18px 40px;margin-bottom:44px;display:flex}.secHead.tight{margin-bottom:12px}.secHead.mid{margin-bottom:22px}.eyebrow{font-family:var(--mono);color:var(--accent);letter-spacing:.06em;font-size:12px}.secTitle{font-family:var(--mono);letter-spacing:-.03em;font-size:clamp(28px,3.6vw,46px);font-weight:700;line-height:1.12}.cursorGlow{pointer-events:none;z-index:0;background:radial-gradient(circle, var(--lamp-soft), transparent 62%);will-change:transform;border-radius:50%;width:520px;height:520px;position:fixed;top:0;left:0}kbd{font-family:var(--mono);border:1px solid var(--line-2);color:var(--ink-2);background:var(--field);border-bottom-width:2px;border-radius:5px;padding:1px 5px;font-size:10.5px}.hoverGlow{transition:border-color .25s,box-shadow .25s,transform .25s,background .25s}.hoverGlow:hover{border-color:color-mix(in oklab, var(--accent) 40%, var(--line));box-shadow:0 0 0 1px color-mix(in oklab, var(--accent) 18%, transparent), 0 8px 34px color-mix(in oklab, var(--accent) 9%, transparent);transform:translateY(-2px)}.rich p{color:var(--ink-2);margin:0 0 12px;font-size:15px;line-height:1.7}.rich p:last-child{margin-bottom:0}.rich b{color:var(--ink);font-weight:600}.icoW{width:100%;height:100%;display:block}.icoW[data-slug=apachekafka],.icoW[data-slug=unity],.icoW[data-slug=unrealengine],.icoW[data-slug=express],.icoW[data-slug=socketdotio],.icoW[data-slug=github],.icoW[data-slug=threejs]{color:#e4e4e8;color:lab(90.6777% .463098 -1.82943)}:root[data-theme=light] .icoW[data-slug=apachekafka]{color:#231f20}:root[data-theme=light] .icoW[data-slug=unity],:root[data-theme=light] .icoW[data-slug=express],:root[data-theme=light] .icoW[data-slug=github],:root[data-theme=light] .icoW[data-slug=threejs]{color:#000}:root[data-theme=light] .icoW[data-slug=unrealengine]{color:#0e1128}:root[data-theme=light] .icoW[data-slug=socketdotio]{color:#010101}.iconSprite{width:0;height:0;position:absolute;overflow:hidden}.tipWrap{position:relative}.tipWrap .tip{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility 0s linear .18s;transform:translate(-50%,4px)}.tipWrap:hover .tip,.tipWrap:focus-within .tip{opacity:1;visibility:visible;transition-delay:0s;transform:translate(-50%)}.tipWrap:hover,.tipWrap:focus-within{border-color:color-mix(in oklab, var(--brand,var(--accent)) 55%, var(--line));box-shadow:0 0 18px color-mix(in oklab, var(--brand,var(--accent)) 14%, transparent)}.tip{z-index:40;background:var(--surface);border:1px solid var(--line-2);min-width:210px;box-shadow:var(--win-shadow);font-family:var(--mono);border-radius:10px;flex-direction:column;gap:7px;padding:12px 14px;display:flex;position:absolute;bottom:calc(100% + 10px);left:50%}.tipHead{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.tipName{font-size:12.5px;font-weight:700}.tipLvl{font-size:10px}.tipLvl[data-lvl="1"]{color:var(--accent)}.tipLvl[data-lvl="2"]{color:var(--ink-2)}.tipLvl[data-lvl="3"]{color:var(--muted)}.tipTotalRow{align-items:baseline;gap:7px;display:flex}.tipTotal{color:var(--accent);font-size:17px;font-weight:700}.tipTotalLabel{color:var(--muted);font-size:10px}.tipRule{background:var(--line);height:1px}.tipLabel{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:9.5px}.tipRows{flex-direction:column;gap:4px;display:flex}.tipRow{justify-content:space-between;gap:18px;font-size:11.5px;display:flex}.tipRow span:first-child{color:var(--ink-2)}.tipRow span:last-child{color:var(--ink);font-family:var(--mono)}.tipNever{color:var(--muted);font-size:11px}.tipArrow{background:var(--surface);border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);width:10px;height:10px;margin-left:-5px;position:absolute;top:100%;left:50%;transform:rotate(45deg)translateY(-7px)}.chip{border:1px solid var(--line);background:var(--field);cursor:default;border-radius:8px;align-items:center;gap:7px;padding:5px 10px;transition:border-color .2s,box-shadow .2s;display:inline-flex}.chip .ico{flex:none;width:14px;height:14px}.chip .chipName{font-family:var(--mono);color:var(--ink-2);font-size:11px}.chip.lg{background:color-mix(in oklab, var(--surface) 55%, transparent);border-radius:9px;gap:9px;padding:8px 13px;transition:border-color .2s,box-shadow .2s,transform .2s}.chip.lg .ico{width:16px;height:16px}.chip.lg .chipName{color:var(--ink);font-size:12px}.chip.sm{border-radius:7px;gap:6px;padding:4px 9px}.chip.sm .ico{width:13px;height:13px}.chip.sm .chipName{font-size:10.5px}.chip.iconOnly{border-radius:8px;justify-content:center;width:32px;height:32px;padding:0}.chip.iconOnly .ico{width:16px;height:16px}.lvlDots{gap:3px;margin-left:2px;display:inline-flex}.lvlDots i{background:var(--line-2);border-radius:50%;width:4px;height:4px}.lvlDots i.on{background:var(--accent)}.nav{z-index:60;padding:0 var(--gutter);height:var(--nav-h);background:var(--glass);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);align-items:center;gap:26px;display:flex;position:fixed;top:0;left:0;right:0}.navBrand{font-family:var(--mono);letter-spacing:.01em;font-size:13px;font-weight:600}.navBrand span{color:var(--muted)}.navLinks{gap:20px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.navlink{font-family:var(--mono);letter-spacing:.02em;color:var(--ink-2);padding:6px 2px;font-size:12.5px;display:block;position:relative}.navlink:hover{color:var(--ink)}.navlink:after{content:"";background:var(--accent);height:1px;transition:right .25s;position:absolute;bottom:0;left:0;right:100%}.navlink:hover:after,.navlink:focus-visible:after{right:0}.navTools{align-items:center;gap:8px;margin-left:auto;display:flex}.navClock{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.navBtn{font-family:var(--mono);background:var(--field);border:1px solid var(--line);cursor:pointer;color:var(--ink-2);border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:5px 9px;font-size:11px;transition:border-color .2s,color .2s;display:inline-flex}.navBtn:hover{border-color:var(--line-2);color:var(--ink)}.navBtn.square{width:29px;height:27px;padding:0;font-size:12px}.navCta{font-family:var(--mono);background:var(--accent);color:var(--accent-ink);border-radius:7px;margin-left:4px;padding:7px 13px;font-size:12px;font-weight:600;transition:filter .2s}.navCta:hover{filter:brightness(1.08);color:var(--accent-ink)}.navProgress{height:1px;width:calc(var(--scroll-p,0) * 100%);background:var(--accent);transition:width .1s linear;position:absolute;bottom:-1px;left:0}.hero{min-height:100svh;padding:110px var(--gutter) 40px;max-width:var(--shell);flex-direction:column;justify-content:center;width:100%;margin:0 auto;display:flex}.heroMeta{font-family:var(--mono);align-items:center;gap:14px;font-size:12px;display:flex}.heroStatus{border:1px solid var(--line-2);color:var(--ink-2);border-radius:99px;align-items:center;gap:8px;padding:6px 13px;display:inline-flex}.heroStatus i{background:var(--ok);border-radius:50%;width:7px;height:7px;animation:2.4s infinite ms-pulse}.heroResume{border:1px solid var(--line);color:var(--ink-2);border-radius:99px;align-items:center;gap:7px;padding:6px 13px;transition:border-color .2s,color .2s;display:inline-flex}.heroResume:hover{border-color:var(--accent);color:var(--accent)}.heroMetaRight{color:var(--muted);gap:16px;margin-left:auto;display:inline-flex}.heroTitle{font-family:var(--mono);letter-spacing:-.045em;margin:34px 0 0;font-size:clamp(58px,10.2vw,152px);font-weight:800;line-height:.96}.heroTitle span.line{display:block}.heroTitle .accent{color:var(--accent)}.caret{background:var(--accent);vertical-align:-.06em;width:.45em;height:.78em;margin-left:.08em;animation:1.1s step-end infinite ms-blink;display:inline-block}.heroRole{font-family:var(--mono);color:var(--muted);letter-spacing:.04em;margin:18px 0 0;font-size:clamp(13px,1.5vw,16px)}.heroFoot{grid-template-columns:170px minmax(0,1fr) minmax(380px,520px);align-items:end;gap:clamp(28px,4vw,64px);margin-top:clamp(40px,6vh,76px);display:grid}.portraitCard{flex-direction:column;gap:8px;display:flex}.portraitWin{background:var(--surface);border:1px solid var(--line-2);width:170px;box-shadow:var(--win-shadow);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.portraitWin .winBar{gap:8px;padding:8px 10px}.portraitWin .winDots{gap:5px}.portraitWin .winDot{cursor:default;width:9px;height:9px}.portraitWin .winTitle{margin:0 0 0 auto;font-size:10px}.portraitFrame{background:var(--bg-2);height:190px;position:relative;overflow:hidden}.portraitFrame img{object-fit:cover;object-position:50% 22%}.portraitCaption{font-family:var(--mono);color:var(--muted);font-size:10.5px;display:grid}.portraitCaption>span{grid-area:1/1;transition:opacity .26s}.portraitFrame img{transition:opacity .38s}.portraitToon,.capToon,:root[data-cartoon=on] .portraitReal,:root[data-cartoon=on] .capReal{opacity:0}:root[data-cartoon=on] .portraitToon,:root[data-cartoon=on] .capToon{opacity:1}:root[data-cartoon=on] .portraitFrame img{animation:.76s ms-toon-in}:root[data-cartoon=off] .portraitFrame img{animation:.62s ms-toon-out}.portraitFrame:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(to bottom, transparent, color-mix(in oklab, var(--accent) 55%, transparent), transparent);height:50%;position:absolute;top:-50%;left:0;right:0}:root[data-cartoon=on] .portraitFrame:after{animation:.76s ease-out ms-toon-sweep}:root[data-cartoon=off] .portraitFrame:after{animation:.62s ease-out ms-toon-sweep-back}.heroLeadCol{min-width:0}.heroLead{color:var(--ink-2);max-width:34em;margin:0;font-size:clamp(17px,1.7vw,21px);line-height:1.6}.metricsRow{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:30px 0 0;padding:0;list-style:none;display:grid}.metric{border-right:1px solid var(--line);margin-right:18px;padding:16px 18px 0 0}.metricValue{font-family:var(--mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(22px,2.3vw,30px);font-weight:700}.metricValue .pre{color:var(--ink)}.metricValue .sfx{color:var(--accent)}.metricLabel{font-family:var(--mono);color:var(--muted);letter-spacing:.03em;text-transform:uppercase;margin-top:5px;font-size:10.5px}.termCol{min-width:0;position:relative}.termBackdrop{z-index:79;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#0000008c;border:none;padding:0;transition:opacity .3s;position:fixed;inset:0}.termCol[data-state=max] .termBackdrop{opacity:1;pointer-events:auto;cursor:default}.termWin{background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--win-shadow);z-index:2;border-radius:12px;flex-direction:column;display:flex;position:relative;overflow:hidden}.termCol[data-state=max] .termWin{z-index:80;width:min(860px,92vw);height:min(600px,84vh);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.termCol[data-state=close] .termWin{animation:.6s ms-shake}.termCol[data-state=min] .termWin{animation:.95s cubic-bezier(.4,0,.2,1) ms-minimize}.winBar{border-bottom:1px solid var(--line);background:var(--surface-2);flex:none;align-items:center;gap:10px;padding:10px 14px;display:flex}.winDots{gap:7px;display:flex}.winDot{cursor:pointer;border:none;border-radius:50%;width:12px;height:12px;padding:0}.winDot.close{background:#ff5f57}.winDot.min{background:#febc2e}.winDot.max{background:#28c840}.winTitle{font-family:var(--mono);color:var(--muted);margin:0 auto;font-size:11.5px}.winMeta{font-family:var(--mono);color:var(--muted);font-size:10px}.termBody{font-family:var(--mono);flex:1;min-height:0;max-height:250px;padding:16px 18px;font-size:12.5px;line-height:1.75;overflow-y:auto}.termCol[data-state=max] .termBody{max-height:none}.termBody .ln{color:var(--muted);-webkit-user-select:none;user-select:none}.termOut{word-break:break-word}.termPrompt{align-items:baseline;gap:8px;margin-top:10px;display:flex}.termIn{min-width:0;font-family:var(--mono);color:var(--ink);background:0 0;border:none;flex:1;padding:0;font-size:12.5px}.cAccent{color:var(--accent)}.cGreen{color:var(--code-green)}.cWarn{color:var(--warn)}.cMuted{color:var(--muted)}.cOk{color:var(--ok)}.cInk{color:var(--ink)}.cInk2{color:var(--ink-2)}.clientGrid{grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:13px;margin:0;padding:0;list-style:none;display:grid}.clientCard{border:1px solid var(--line);background:color-mix(in oklab, var(--surface) 55%, transparent);border-radius:13px;flex-direction:column;gap:12px;height:100%;min-height:168px;padding:18px 20px;display:flex;position:relative;overflow:hidden}.clientMeta{font-family:var(--mono);letter-spacing:.05em;color:var(--muted);justify-content:space-between;font-size:10.5px;display:flex}.clientTag{text-transform:uppercase}.clientName{letter-spacing:-.01em;font-size:18.5px;font-weight:600}.clientDesc{color:var(--ink-2);max-width:36ch;margin:0;font-size:13.5px;line-height:1.6}.clientMark{font-family:var(--mono);color:var(--ink);opacity:.045;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:120px;font-weight:800;line-height:1;position:absolute;bottom:-34px;right:-6px}.expList{border-bottom:1px solid var(--line)}.expRow{background:0 0;border-left:2px solid #0000;transition:background .3s,border-color .3s}.expRow[data-open=true]{border-left-color:var(--accent);background:var(--hover-tint)}.expGrid{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:150px minmax(0,1fr) 180px;gap:26px;padding:24px 18px;display:grid}.expWhen{font-family:var(--mono);color:var(--ink-2);flex-direction:column;gap:5px;font-size:12.5px;display:flex}.expDur{color:var(--muted);font-size:10.5px}.expNow{color:var(--ok);align-items:center;gap:6px;font-size:10px;display:inline-flex}.expNow i{background:var(--ok);border-radius:50%;width:5px;height:5px}.expMain{min-width:0}.expToggle{all:unset;cursor:pointer;width:100%;font-family:var(--mono);letter-spacing:-.01em;color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:10px;font-size:16.5px;font-weight:600;display:flex}.expCompany{color:var(--accent);font-size:14.5px;font-weight:500}.expBody{--exp-open:.45s;transition:grid-template-rows var(--exp-open) cubic-bezier(.2, .6, .2, 1);grid-template-rows:0fr;display:grid}.expRow[data-open=true] .expBody{grid-template-rows:1fr}.expBodyInner{min-height:0;overflow:hidden}.expRow[data-open=true] .expBodyInner{animation:exp-unclip 1ms linear var(--exp-open) forwards}@keyframes exp-unclip{to{overflow:visible}}.expRich{max-width:70ch;padding-top:14px}.expChips{flex-wrap:wrap;gap:8px;margin-top:16px;padding-bottom:4px;display:flex}.expMeta{text-align:right;flex-direction:column;align-items:flex-end;gap:10px;display:flex}.expMetaText{font-family:var(--mono);color:var(--muted);font-size:11px;line-height:1.7}.expChev{font-family:var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:7px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:15px;display:inline-flex}.lvlLegend{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:22px;margin:0 0 34px;padding:0;font-size:11px;list-style:none;display:flex}.lvlLegend li{align-items:center;gap:7px;display:inline-flex}.stackList{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.stackRow{border-top:1px solid var(--line);grid-template-columns:150px minmax(0,1fr) 120px;gap:26px;padding:22px 18px;display:grid}.stackHead{font-family:var(--mono);align-items:baseline;gap:12px;display:flex}.stackNum{color:var(--accent);font-size:11px}.stackName{letter-spacing:.01em;font-size:14.5px;font-weight:600}.stackChips{flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none;display:flex}.stackCount{font-family:var(--mono);color:var(--muted);text-align:right;font-size:11px}.projViewer{border:1px solid var(--line);background:color-mix(in oklab, var(--surface) 55%, transparent);border-radius:16px;padding:clamp(18px,2.6vw,34px);position:relative}.projCounter{font-family:var(--mono);color:var(--muted);z-index:3;font-size:12px;position:absolute;top:18px;right:22px}.projStage{position:relative}.projSlide{opacity:0;pointer-events:none;transition:opacity .45s,transform .45s;position:absolute;inset:0;transform:translateY(8px)}.projSlide[data-active=true]{opacity:1;pointer-events:auto;position:relative;transform:none}.projGrid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:clamp(22px,3vw,44px);display:grid}.projShot{aspect-ratio:16/10;border:1px solid var(--line-2);background:var(--bg-2);border-radius:12px;position:relative;overflow:hidden}.projShot img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.projShot:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 60px #0000002e}.projInfo{flex-direction:column;gap:14px;min-width:0;display:flex}.projIdxRow{font-family:var(--mono);align-items:baseline;gap:14px;display:flex}.projIdx{letter-spacing:-.04em;color:var(--ink);opacity:.22;font-size:clamp(34px,3.4vw,52px);font-weight:800}.projYear{color:var(--muted);font-size:12px}.projName{font-family:var(--mono);letter-spacing:-.02em;font-size:clamp(22px,2.3vw,30px);font-weight:700}.projSub{color:var(--muted);font-size:.62em;font-style:italic;font-weight:400}.projDesc{color:var(--ink-2);margin:0;font-size:14.5px;line-height:1.65}.projTags{font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:12px;font-size:10.5px;display:flex}.projCats{color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.status{border:1px solid var(--line);border-radius:99px;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.status i{background:currentColor;border-radius:50%;width:5px;height:5px}.status[data-status=live]{color:var(--ok)}.status[data-status=wip]{color:var(--warn)}.status[data-status=archived]{color:var(--muted)}.projChips{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.projActions{flex-wrap:wrap;gap:9px;margin-top:6px;display:flex}.action{font-family:var(--mono);background:var(--field);color:var(--ink-2);border:1px solid var(--line);border-radius:8px;align-items:center;gap:7px;padding:8px 13px;font-size:11.5px;display:inline-flex}.action .ico{flex:none;width:13px;height:13px}.action .arrow{opacity:.7}.action.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.action.lg{font-size:12px}.action.trigger{cursor:pointer}.action .n{opacity:.6;font-size:9.5px}.action .chev{opacity:.6;border-bottom:1.4px solid;border-right:1.4px solid;flex:none;width:5px;height:5px;margin:-3px 1px 0 -1px;transition:transform .2s;transform:rotate(45deg)}.action[aria-expanded=true] .chev{margin-top:1px;transform:rotate(225deg)}.actionMenu{display:inline-flex;position:relative}.actionMenuList{z-index:5;background:var(--surface);border:1px solid var(--line-2);min-width:max(100%,216px);max-width:calc(100vw - 32px);box-shadow:var(--win-shadow);border-radius:11px;margin:0;padding:5px;list-style:none;position:absolute}.actionMenuList[data-align=left]{left:0}.actionMenuList[data-align=right]{right:0}.actionMenuList[data-drop=down]{animation:.18s ms-pop;top:calc(100% + 7px)}.actionMenuList[data-drop=up]{animation:.18s ms-pop-up;bottom:calc(100% + 7px)}.actionMenuItem{font-family:var(--mono);color:var(--ink-2);white-space:nowrap;border-left:2px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;gap:16px;padding:8px 11px;font-size:11.5px;transition:background .15s,border-color .15s;display:flex}.actionMenuItem .arrow{opacity:.55}.projNav{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:26px;padding-top:18px;display:flex}.arrowBtn{border:1px solid var(--line);cursor:pointer;width:34px;height:34px;color:var(--ink-2);background:0 0;border-radius:9px;flex:none;font-size:16px;transition:border-color .2s,color .2s}.arrowBtn:hover{border-color:var(--accent);color:var(--accent)}.thumbs{gap:9px;margin:0 0 0 8px;padding:2px;list-style:none;display:flex;overflow-x:auto}.thumb{font-family:var(--mono);text-align:left;cursor:pointer;border:1px solid var(--line);white-space:nowrap;background:0 0;border-radius:9px;padding:10px 14px;transition:all .25s}.thumb[aria-current=true]{border-color:color-mix(in oklab, var(--brand,var(--accent)) 45%, var(--line));background:var(--hover-tint)}.thumbIdx{color:var(--muted);font-size:10px;display:block}.thumbName{color:var(--ink);margin-top:2px;font-size:12px;display:block}.kbdHint{font-family:var(--mono);color:var(--muted);white-space:nowrap;margin-left:auto;font-size:10.5px;display:none}@media (min-width:768px){.kbdHint{display:inline}}.bpBanner{border:1px solid var(--line-2);background:linear-gradient(120deg, color-mix(in oklab, var(--accent) 7%, transparent), transparent 55%), color-mix(in oklab, var(--surface) 65%, transparent);cursor:pointer;text-align:left;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;width:100%;margin-top:16px;padding:clamp(18px,2.4vw,28px) clamp(20px,2.8vw,34px);display:flex}.bpBannerText{flex-direction:column;gap:8px;min-width:0;display:flex}.bpBannerEyebrow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:11px}.bpBannerTitle{font-family:var(--mono);letter-spacing:-.01em;color:var(--ink);font-size:clamp(16px,1.9vw,22px);font-weight:600}.bpBannerCta{font-family:var(--mono);background:var(--accent);color:var(--accent-ink);border-radius:9px;flex:none;align-items:center;gap:9px;padding:11px 17px;font-size:12.5px;font-weight:600;display:inline-flex}.bpWrap{z-index:90;opacity:0;pointer-events:none;justify-content:center;align-items:center;padding:clamp(10px,2.4vw,34px);transition:opacity .3s;display:flex;position:fixed;inset:0}.bpWrap[data-open=true]{opacity:1;pointer-events:auto}.bpScrim{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:default;background:#0009;border:none;padding:0;position:absolute;inset:0}.bpWin{z-index:2;background:var(--bg-2);border:1px solid var(--line-2);width:100%;max-width:1560px;height:100%;box-shadow:var(--win-shadow);border-radius:14px;flex-direction:column;transition:transform .3s;display:flex;position:relative;overflow:hidden;transform:scale(.97)}.bpWrap[data-open=true] .bpWin{transform:scale(1)}.bpWinTitle{font-family:var(--mono);color:var(--muted);margin:0 auto;font-size:12px}.bpWinTitle .dim{opacity:.6}.bpCount{font-family:var(--mono);color:var(--ink-2);border:1px solid var(--line);border-radius:99px;padding:3px 11px;font-size:11px}.bpBody{flex:1;grid-template-columns:262px minmax(0,1fr);min-height:0;display:grid}.bpSide{border-right:1px solid var(--line);flex-direction:column;gap:22px;padding:18px;display:flex;overflow-y:auto}.bpSearch{border:1px solid var(--line-2);background:var(--field);border-radius:9px;align-items:center;gap:8px;padding:8px 12px;display:flex}.bpSearch input{min-width:0;font-family:var(--mono);background:0 0;border:none;flex:1;font-size:12px}.bpSearchIcon{font-family:var(--mono);color:var(--muted);font-size:12px}.bpSearchClear{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0;font-size:13px;line-height:1}.bpGroupTitle{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 9px;font-size:10px}.bpTechSearch{border-bottom:1px solid var(--line);align-items:center;gap:6px;margin:-1px 0 11px;padding:0 2px 5px;transition:border-color .2s;display:flex}.bpTechSearch:focus-within{border-bottom-color:var(--accent);box-shadow:0 1px 0 0 var(--accent)}.bpTechSearch input:focus-visible{outline:none}.bpTechSearch input{min-width:0;font-family:var(--mono);color:var(--ink-2);background:0 0;border:none;flex:1;padding:0;font-size:11px}.bpTechSearch input::-webkit-search-cancel-button{appearance:none}.bpTechClear{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1;transition:color .2s}.bpTechClear:hover{color:var(--accent)}.bpMore{cursor:pointer;font-family:var(--mono);color:var(--muted);background:0 0;border:none;align-items:center;gap:7px;margin-top:10px;padding:2px 0;font-size:10.5px;transition:color .2s;display:inline-flex}.bpMore:hover{color:var(--accent)}.bpMore .sign{opacity:.8;font-size:12px;line-height:1}.bpNoTech{font-family:var(--mono);color:var(--muted);margin:0;font-size:10.5px}.bpFilters{flex-wrap:wrap;gap:7px;display:flex}.bpFilter{font-family:var(--mono);cursor:pointer;border:1px solid var(--line);background:var(--field);color:var(--ink-2);border-radius:8px;align-items:center;gap:7px;padding:5px 10px;font-size:11px;display:inline-flex}.bpFilter[aria-pressed=true]{border-color:color-mix(in oklab, var(--accent) 55%, var(--line));background:color-mix(in oklab, var(--accent) 14%, transparent);color:var(--ink)}.bpFilter .ico{flex:none;width:12px;height:12px}.bpFilter .n{opacity:.55;font-size:9.5px}.bpFilter .dot{border-radius:50%;width:5px;height:5px}.bpSelect{width:100%;font-family:var(--mono);background:var(--field);border:1px solid var(--line-2);border-radius:8px;padding:8px 10px;font-size:12px}.bpClear{font-family:var(--mono);border:1px dashed var(--line-2);cursor:pointer;color:var(--ink-2);background:0 0;border-radius:8px;padding:8px;font-size:11.5px;transition:border-color .2s,color .2s}.bpClear:hover{border-color:var(--accent);color:var(--accent)}.bpShortcuts{font-family:var(--mono);color:var(--muted);flex-direction:column;gap:6px;margin-top:auto;font-size:10.5px;display:flex}.bpShortcuts .row{align-items:center;gap:8px;display:flex}.bpMain{padding:clamp(18px,2.6vw,36px);overflow-y:auto}.bpDetail{margin-bottom:44px}.bpDetailHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.bpDetailName{font-family:var(--mono);letter-spacing:-.02em;font-size:clamp(24px,2.6vw,34px);font-weight:700}.bpDetailName .projSub{font-size:.6em}.bpDetailMeta{font-family:var(--mono);align-items:center;gap:10px;margin-top:8px;font-size:11px;display:flex}.bpGallery{border:1px solid var(--line-2);background:var(--bg);border-radius:12px;margin-top:22px;position:relative;overflow:hidden}.bpGalleryStage{aspect-ratio:16/9;position:relative}.bpSlide{opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.bpSlide[data-active=true]{opacity:1;pointer-events:auto}.bpSlide img{object-fit:contain;background:var(--bg);width:100%;height:100%;display:block}.bpSlideLabel{font-family:var(--mono);color:var(--ink-2);background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:6px;padding:3px 9px;font-size:10.5px;position:absolute;bottom:10px;left:12px}.bpGalBtn{border:1px solid var(--line-2);background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;width:32px;height:32px;color:var(--ink);border-radius:8px;font-size:15px;position:absolute;top:50%;transform:translateY(-50%)}.bpGalBtn.prev{left:10px}.bpGalBtn.next{right:10px}.bpDots{gap:6px;display:flex;position:absolute;bottom:10px;right:12px}.bpDot{cursor:pointer;background:var(--line-2);border:none;border-radius:50%;width:8px;height:8px;padding:0}.bpDot[aria-current=true]{background:var(--accent)}.bpStackRow{flex-wrap:wrap;align-items:center;gap:9px;margin:18px 0 0;padding:0;list-style:none;display:flex}.bpStackLabel{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px;font-size:10px}.bpDetailDesc{color:var(--ink-2);max-width:76ch;margin:18px 0 0;font-size:15px;line-height:1.7}.bpBack{font-family:var(--mono);border:1px solid var(--line);cursor:pointer;color:var(--ink-2);background:0 0;border-radius:8px;align-items:center;gap:8px;margin-top:26px;padding:8px 13px;font-size:11.5px;transition:border-color .2s,color .2s;display:inline-flex}.bpBack:hover{border-color:var(--accent);color:var(--accent)}.bpMd{max-width:76ch}.bpMd h2{font-family:var(--mono);margin:26px 0 10px;font-size:22px;font-weight:700}.bpMd h3{font-family:var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin:22px 0 8px;font-size:14px;font-weight:600}.bpMd p,.bpMd li{color:var(--ink-2);font-size:15px;line-height:1.7}.bpMd ul{margin:8px 0;padding-left:20px}.bpMd li{margin-bottom:6px}.bpMd code{font-family:var(--mono);background:var(--field-focus);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:.88em}.bpMd strong{color:var(--ink)}.bpMd em{color:var(--accent);font-style:italic}.bpGridHead{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:16px;display:flex}.bpGridTitle{font-family:var(--mono);letter-spacing:-.01em;font-size:19px;font-weight:700}.bpGridSub{font-family:var(--mono);color:var(--muted);font-size:11px}.bpCards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.bpCard{text-align:left;cursor:pointer;border:1px solid var(--line);background:color-mix(in oklab, var(--surface) 55%, transparent);border-radius:12px;flex-direction:column;width:100%;height:100%;padding:0;display:flex;overflow:hidden}.bpCardShot{aspect-ratio:16/9;background:var(--bg);border-bottom:1px solid var(--line);display:block;position:relative}.bpCardShot img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.bpCardStatus{font-family:var(--mono);border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:99px;align-items:center;gap:6px;padding:2px 9px;font-size:10px;display:inline-flex;position:absolute;top:10px;left:10px}.bpCardStatus i{background:currentColor;border-radius:50%;width:4px;height:4px}.bpCardCat{font-family:var(--mono);color:var(--ink-2);background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:99px;padding:2px 9px;font-size:10px;position:absolute;top:10px;right:10px}.bpCardBody{flex-direction:column;gap:8px;padding:14px 16px;display:flex}.bpCardTitleRow{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.bpCardName{font-family:var(--mono);font-size:14.5px;font-weight:600}.bpCardName .projSub{font-size:.8em;font-style:normal}.bpCardYear{font-family:var(--mono);color:var(--muted);font-size:10.5px}.bpCardDesc{color:var(--ink-2);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.bpCardIcons{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.bpCardIcon{border:1px solid var(--line);background:var(--field);border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.bpCardIcon span{width:12px;height:12px}.bpEmpty{text-align:center;color:var(--muted);font-family:var(--mono);padding:60px 0}.bpEmptyGlyph{margin-bottom:10px;font-size:34px}.bpEmptyText{font-size:13px}.recWrap{padding:0 var(--gutter);max-width:var(--shell);width:100%;margin:0 auto}.recStrip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:26px;padding:26px 4px;display:flex}.recLine{font-family:var(--mono);color:var(--muted);flex:none;max-width:230px;font-size:11.5px;line-height:1.6}.recBody{flex:1;min-width:0;display:grid}.recItem{opacity:0;visibility:hidden;grid-area:1/1;align-self:center;transition:opacity .25s,visibility 0s linear .25s}.recItem[data-active=true]{opacity:1;visibility:visible;transition:opacity .3s .25s,visibility}.recQuote{color:var(--ink-2);margin:0;font-size:14.5px;font-style:italic;line-height:1.6}.recAuthor{font-family:var(--mono);color:var(--muted);margin-top:6px;font-size:10.5px}.recNav{flex:none;align-items:center;gap:12px;display:flex}.recIdx{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px}.recNext{border:1px solid var(--line);cursor:pointer;width:28px;height:28px;color:var(--ink-2);background:0 0;border-radius:7px;font-size:13px;transition:border-color .2s,color .2s}.recNext:hover{border-color:var(--accent);color:var(--accent)}.recSee{font-family:var(--mono);color:var(--accent);white-space:nowrap;font-size:11.5px}.contact{padding:clamp(80px, 11vh, 140px) var(--gutter)}.contactEyebrow{margin-bottom:20px;display:block}.contactTitle{font-family:var(--mono);letter-spacing:-.035em;max-width:15em;font-size:clamp(32px,4.6vw,60px);font-weight:700;line-height:1.1}.contactGrid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:clamp(28px,4vw,70px);margin-top:clamp(34px,5vh,56px);display:grid}.contactCard{border:1px solid var(--line-2);background:var(--surface);box-shadow:var(--win-shadow);border-radius:13px;overflow:hidden}.contactForm{flex-direction:column;gap:18px;padding:clamp(18px,2.4vw,28px);display:flex}.fieldRow{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:7px;font-size:10.5px;display:flex}.field input,.field textarea{background:var(--field);border:1px solid var(--line);text-transform:none;letter-spacing:normal;border-radius:8px;padding:11px 13px;font-family:inherit;font-size:14px;transition:border-color .2s,background .2s}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field textarea:focus{border-color:var(--accent);background:var(--field-focus)}.field[data-invalid=true] input,.field[data-invalid=true] textarea{border-color:#ff5f57}.fieldError{font-family:var(--mono);color:#ff5f57;text-transform:none;letter-spacing:normal;font-size:10.5px}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.submit{font-family:var(--mono);background:var(--accent);color:var(--accent-ink);cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;gap:9px;padding:13px;font-size:13px;font-weight:600;transition:filter .2s;display:inline-flex}.submit:hover{filter:brightness(1.08)}.contactAside{flex-direction:column;gap:26px;display:flex}.contactSub{color:var(--ink-2);margin:0;font-size:16.5px;line-height:1.65}.contactList{border-top:1px solid var(--line);flex-direction:column;margin:0;display:flex}.contactItem{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:14px;padding:15px 2px;display:flex}.contactKey{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.contactVal{font-family:var(--mono);margin:0;font-size:13.5px}.footer{padding:0 var(--gutter) 34px;max-width:var(--shell);width:100%;margin:0 auto}.footExit{font-family:var(--mono);border-top:1px solid var(--line);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:9px;padding:22px 2px;font-size:13px;display:flex}.footCaret{background:var(--accent);width:7px;height:14px;animation:1.1s step-end infinite ms-blink;display:inline-block}.footMeta{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px 26px;padding-top:6px;font-size:11px;display:flex}.footTop{cursor:pointer;font-family:var(--mono);color:var(--ink-2);background:0 0;border:none;margin-left:auto;padding:0;font-size:11px;transition:color .2s}.footTop:hover{color:var(--accent)}.palWrap{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0006;justify-content:center;align-items:flex-start;padding-top:16vh;display:flex;position:fixed;inset:0}.palScrim{cursor:default;background:0 0;border:none;padding:0;position:absolute;inset:0}.palWin{background:var(--surface);border:1px solid var(--line-2);width:min(560px,92vw);box-shadow:var(--win-shadow);border-radius:13px;animation:.18s ms-pop;position:relative;overflow:hidden}.palHead{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.palCaret{font-family:var(--mono);color:var(--accent);font-size:13px}.palInput{min-width:0;font-family:var(--mono);background:0 0;border:none;flex:1;font-size:14px}.palList{max-height:340px;margin:0;padding:8px;list-style:none;overflow-y:auto}.palGroup{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:10px 14px 4px;font-size:9.5px}.palItem{cursor:pointer;text-align:left;background:0 0;border:none;border-left:2px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 14px;display:flex}.palItem[data-active=true]{background:var(--hover-tint);border-left-color:var(--accent)}.palLabel{font-family:var(--mono);color:var(--ink);font-size:13px}.palHint{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:10.5px}.palEmpty{font-family:var(--mono);color:var(--muted);padding:18px 14px;font-size:12px}.toast{opacity:0;z-index:130;background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--win-shadow);font-family:var(--mono);pointer-events:none;text-align:center;border-radius:99px;align-items:center;gap:9px;max-width:min(92vw,520px);padding:10px 18px;font-size:12.5px;transition:all .3s;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%,16px)}.toast[data-on=true]{opacity:1;transform:translate(-50%)}.toast i{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px}.toast[data-tone=error] i{background:#ff5f57}@media (max-width:1200px){.heroFoot{grid-template-columns:1fr;gap:28px}.portraitCard{display:none}.termCol{max-width:640px}}@media (max-width:960px){.navLinks,.navClock{display:none}.metricsRow{grid-template-columns:1fr 1fr}.expGrid,.stackRow{grid-template-columns:1fr;gap:10px}.expMeta,.stackCount{text-align:left}.contactGrid,.projGrid{grid-template-columns:1fr}.bpBody{grid-template-rows:auto 1fr;grid-template-columns:1fr}.bpSide{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;overflow-x:auto}.bpSide>div{min-width:230px}.bpShortcuts{margin-top:0}.recStrip{flex-direction:column;align-items:flex-start}}@media (max-width:600px){.heroMeta{flex-wrap:wrap;row-gap:10px}.navCta{display:none}.fieldRow{grid-template-columns:1fr}.bpBanner{flex-direction:column;align-items:flex-start}}@media (hover:none){.cursorGlow{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}:root[data-reveal=on] .reveal{opacity:1;transition:none;transform:none}.caret,.footCaret,.heroStatus i{animation:none}.expBody{--exp-open:0s}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media print{.nav,.cursorGlow,.termCol,.palWrap,.bpWrap,.toast{display:none!important}body:before{display:none}}.glyphLight,:root[data-theme=light] .glyphDark{display:none}:root[data-theme=light] .glyphLight{display:inline}.expChips{margin:16px 0 0;padding:0 0 4px;list-style:none}.expToggle{box-sizing:border-box}.action:hover{color:var(--ink-2)}.actionMenuItem:hover,.actionMenuItem:focus-visible{background:var(--hover-tint);border-left-color:var(--accent);color:var(--ink)}.action.primary:hover{color:var(--accent-ink)}.bpFilter .dot{background:var(--muted)}.bpFilter[data-status=live] .dot{background:var(--ok)}.bpFilter[data-status=wip] .dot{background:var(--warn)}@keyframes bp-in{0%{opacity:0}to{opacity:1}}@keyframes bp-win-in{0%{transform:scale(.97)}to{transform:scale(1)}}.bpWrap{animation:.3s bp-in}.bpWin{animation:.3s bp-win-in}.projCounter,.recLine,.recQuote,.bpEmptyText,.contactList{margin:0}.recAuthor{margin:6px 0 0}.skipLink:focus{transform:translateY(0)}.navBtn.square{font-family:var(--sans)}.action.primary.hoverGlow:hover{border-color:color-mix(in oklab, var(--accent) 40%, var(--line))}.submit[aria-disabled=true]{opacity:.6;cursor:progress}
