@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/46a9e2f250689b4a-s.0-dom-5bn10r2.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/76b70a1dbe058eb5-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2fb76073e23fd9e4-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6131cbbf5549afa2-s.2uwcyprjm3xu3.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/45462fd7b7c12654-s.0k62hbripvv8p.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ba63f6a0e436df8e-s.p.3-6t-g6q0vh0a.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07c7676b89ed2778-s.p.2bn3s6zvc0dyp.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.mVpuSG_className{font-family:Inter,Inter Fallback;font-style:normal}.mVpuSG_variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/edb5f85793adc1bb-s.1gepa_7fcx9fm.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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/92b6de9cb55945e2-s.p.2eksvhm1z0jwa.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/237858b39a32779d-s.p.2cyn07wtgehh0.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.MjxIqW_className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.MjxIqW_variable{--font-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:Urbanist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/63422f770a947d45-s.p.0b-mzikr8-ae0.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Urbanist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9e6813202f725814-s.p.2qijkc4_gtkq0.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:Urbanist Fallback;src:local(Arial);ascent-override:95.93%;descent-override:25.24%;line-gap-override:0.0%;size-adjust:99.04%}.Db1JeW_className{font-family:Urbanist,Urbanist Fallback;font-style:normal}.Db1JeW_variable{--font-urbanist:"Urbanist", "Urbanist Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-inter), system-ui, sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#07090f;--surface:#0e111b99;--surface-strong:#0e111bd1;--surface-solid:#0e121c;--surface-2:#ffffff0b;--surface-3:#ffffff14;--border:#ffffff17;--border-strong:#ffffff2e;--highlight:inset 0 1px 0 #ffffff14;--text:#f3f5f9;--muted:#8d95a8;--accent:#5bb3e6;--accent-2:#a0294f;--gradient:linear-gradient(115deg, #8fd0f5 0%, #5bb3e6 35%, #c2416b 100%);--success:#4ade80;--danger:#f87171;--radius:16px;--radius-lg:24px;--shadow:0 24px 60px -12px #0000008c;--shadow-sm:0 8px 24px -8px #00000073;--glass:blur(20px) saturate(170%);--ease:cubic-bezier(.2, .8, .2, 1);--font-display:var(--font-grotesk), var(--font-inter), system-ui, sans-serif;--accent-soft:#5bb3e626;--card-bg:linear-gradient(180deg, #ffffff0d, #ffffff05);--input-bg:#00000040;--prose:#d5dae6;--btn-bg:#fff;--btn-text:#0a0d14;--btn-shadow:0 8px 30px -8px #5bb3e68c;--badge-bg:#5bb3e624;--badge-text:#8fd0f5;--code-bg:#05070c}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font-inter), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0}::selection{background:#5bb3e659}a{color:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.025em;font-weight:600;line-height:1.1}h1{margin:0 0 .6rem;font-size:clamp(1.8rem,3vw,2.4rem)}h2{margin:2rem 0 .85rem;font-size:1.25rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent);color:#001;border-radius:8px;padding:8px 14px;position:fixed;top:-60px;left:12px}.skip-link:focus{top:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{min-height:100dvh}.scene{z-index:0;position:fixed;inset:0}.scene canvas{touch-action:none}.topbar{z-index:30;padding:max(16px, env(safe-area-inset-top)) 20px 14px;pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid;position:fixed;inset:0 0 auto}.topbar>*{pointer-events:auto}.brand{background:var(--surface);height:46px;-webkit-backdrop-filter:var(--glass);border:1px solid var(--border);box-shadow:var(--shadow-sm), var(--highlight);border-radius:999px;justify-self:start;align-items:center;gap:10px;padding:0 14px 0 6px;text-decoration:none;display:flex}.brand-mark{background:var(--gradient);color:#fff;width:34px;height:34px;font-family:var(--font-display);letter-spacing:-.02em;border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:grid;box-shadow:inset 0 0 0 1px #ffffff40}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:.92rem;font-weight:600}.brand-role{color:var(--muted);font-size:.7rem}.nav{background:var(--surface);-webkit-backdrop-filter:var(--glass);border:1px solid var(--border);box-shadow:var(--shadow-sm), var(--highlight);border-radius:999px;gap:2px;padding:5px;display:flex}.nav a{color:#f3f5f9b8;transition:background .25s var(--ease), color .25s var(--ease);border-radius:999px;padding:8px 14px;font-size:.84rem;font-weight:500;text-decoration:none}.nav a:hover{color:var(--text);background:var(--surface-2)}.nav a.active{color:#0a0d14;background:#fff}.topbar-actions{justify-self:end;gap:8px;display:flex}.chip,.round{appearance:none;border:1px solid var(--border);background:var(--surface);height:46px;-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow-sm), var(--highlight);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;transition:border-color .2s, background .2s, transform .2s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:.82rem;font-weight:500;text-decoration:none;display:inline-flex}.chip:hover,.round:hover{border-color:var(--border-strong);background:var(--surface-strong)}.chip:active,.round:active{transform:scale(.97)}.chip-accent{color:#0a0d14;background:#ffffffeb;border-color:#0000}.chip-accent:hover{background:#fff;border-color:#0000}.chip.on,.round.on{color:#ffdca8;border-color:#ffdca8;box-shadow:0 0 18px #ffdca859}.round{width:46px;padding:0;font-size:1rem}.menu-toggle{display:none}.loader{z-index:5;color:var(--muted);letter-spacing:.04em;background:radial-gradient(circle at 50% 40%,#16203a,#070a14);place-content:center;justify-items:center;gap:16px;display:grid;position:fixed;inset:0}.loader-ring{border:3px solid #ffffff1f;border-top-color:var(--accent);border-right-color:var(--accent-2);border-radius:50%;width:46px;height:46px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.view-controls{z-index:16;top:max(84px, calc(env(safe-area-inset-top) + 68px));background:var(--surface);-webkit-backdrop-filter:var(--glass);border:1px solid var(--border);box-shadow:var(--shadow-sm), var(--highlight);animation:rise .6s var(--ease) both;border-radius:999px;gap:2px;padding:4px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.segment{appearance:none;color:#f3f5f9bf;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:.8rem;font-weight:500;transition:background .2s,color .2s;display:inline-flex}.segment:hover{color:var(--text);background:var(--surface-3)}.segment svg{opacity:.85}@keyframes rise{0%{opacity:0;transform:translate(-50%,-6px)}}.scene-label{background:var(--surface-strong);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);border:1px solid var(--border-strong);color:#fff;font-family:var(--font-inter), sans-serif;white-space:nowrap;box-shadow:var(--shadow);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500}.music{z-index:25;background:var(--surface);width:min(340px,100vw - 40px);-webkit-backdrop-filter:var(--glass);border:1px solid var(--border);box-shadow:var(--shadow-sm), var(--highlight);border-radius:20px;padding:6px;position:fixed;bottom:20px;right:20px}.music-bar{align-items:center;gap:4px;display:flex}.music-title{margin-right:auto;padding-left:8px;font-size:.82rem;font-weight:500}.music select{max-width:110px;color:var(--text);border:1px solid var(--border);font:inherit;background:0 0;border-radius:999px;padding:5px 8px;font-size:.78rem}.music .chip{-webkit-backdrop-filter:none;backdrop-filter:none;height:32px;box-shadow:none;background:0 0;padding:0 12px;font-size:.78rem}.music .chip:hover{background:var(--surface-3)}.music-embed{border-radius:14px;margin-top:6px;overflow:hidden}.music-note{color:var(--muted);margin:6px 6px 2px;font-size:.72rem}.toast{z-index:35;background:var(--surface-strong);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 6px 6px 18px;font-size:.85rem;display:flex;position:fixed;top:140px;left:50%;transform:translate(-50%)}.toast .chip{height:34px;box-shadow:none}.is-3d .home{display:none}.panel{z-index:10;position:relative}.is-3d .panel{border-radius:var(--radius-lg);background:var(--surface-strong);-webkit-backdrop-filter:blur(28px)saturate(170%);border:1px solid var(--border);width:min(560px,44vw);box-shadow:var(--shadow), var(--highlight);animation:slide-in .5s var(--ease);position:fixed;top:84px;bottom:20px;right:20px;overflow:hidden}@keyframes slide-in{0%{opacity:0;transform:translate(30px)}}.is-3d .panel-inner{scrollbar-width:thin;height:100%;padding:30px 32px 40px;overflow-y:auto}.panel-close{z-index:2;width:34px;height:34px;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:50%;place-items:center;font-size:.8rem;text-decoration:none;transition:color .2s,background .2s;display:grid;position:absolute;top:16px;right:16px}.panel-close:hover{color:var(--text);background:var(--surface-3)}.is-2d{--topbar-h:64px;--bg:#fff;--surface:#ffffffd1;--surface-strong:#fff;--surface-2:#f4f5f9;--surface-3:#eceef4;--border:#e6e8f0;--border-strong:#cdd2df;--highlight:0 0 #0000;--text:#0d1331;--muted:#5d6380;--accent:#a3214e;--accent-soft:#a3214e1a;--accent-2:#2a8fd0;--card-bg:#fff;--input-bg:#fff;--prose:#2a3050;--btn-bg:var(--accent);--btn-text:#fff;--btn-shadow:0 12px 30px -14px #a3214ecc;--badge-bg:var(--accent-soft);--badge-text:var(--accent);--code-bg:#0d1331;--grid-line:#0d13310b;--glow:#a3214e14;--glow-2:#2a8fd014;--band-bg:#0d1331;--shadow:0 30px 60px -30px #0d133147;--shadow-sm:0 8px 24px -14px #0d133140;--font-display:var(--font-urbanist), var(--font-inter), system-ui, sans-serif;isolation:isolate;color:var(--text);font-family:var(--font-urbanist), var(--font-inter), system-ui, sans-serif;background:radial-gradient(48rem 28rem at 100% 0%, var(--glow), transparent 65%), radial-gradient(40rem 26rem at 0% 10%, var(--glow-2), transparent 65%), var(--bg);transition:background-color .4s,color .4s;position:relative;overflow-x:clip}:root[data-theme=dark] .is-2d{--bg:#070b1d;--surface:#0a0f24c7;--surface-strong:#0f1530;--surface-2:#ffffff0a;--surface-3:#ffffff14;--border:#ffffff14;--border-strong:#ffffff2b;--text:#eef0fa;--muted:#99a0bd;--accent:#f0587f;--accent-soft:#f0587f24;--accent-2:#5bb3e6;--card-bg:#ffffff08;--input-bg:#ffffff08;--prose:#cfd4e6;--btn-shadow:0 12px 34px -14px #f0587fb3;--code-bg:#04060f;--grid-line:#ffffff09;--glow:#f0587f1f;--glow-2:#5bb3e61f;--band-bg:#0e1536;--shadow:0 30px 60px -24px #0009;--shadow-sm:0 8px 24px -12px #00000080}:root[data-theme=dark] body:has(.is-2d){background:#070b1d}:root:not([data-theme=dark]) body:has(.is-2d){background:#fff}.is-2d:before{content:"";z-index:-1;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);pointer-events:none;background-size:64px 64px;height:100vh;position:absolute;inset:0 0 auto;-webkit-mask-image:radial-gradient(80% 70% at 70% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(80% 70% at 70% 30%,#000 20%,#0000 75%)}.is-2d h1,.is-2d h2,.is-2d h3{letter-spacing:-.035em;font-weight:600}.is-2d .topbar{height:var(--topbar-h);background:var(--bg);padding:0 max(20px,50vw - 600px);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.is-2d .topbar{background:color-mix(in srgb, var(--bg) 82%, transparent)}}.is-2d .topbar{-webkit-backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid var(--border)}.is-2d .brand,.is-2d .nav,.is-2d .chip{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border-color:#0000}.is-2d .brand{padding-left:0}.is-2d .nav a{color:var(--muted);font-size:.9rem}.is-2d .nav a:hover{color:var(--text);background:0 0}.is-2d .nav a.active{color:var(--text);background:var(--surface-2)}.is-2d .chip{height:38px;color:var(--text);border-color:var(--border);font-weight:600}.is-2d .chip:hover{background:var(--surface-2)}.is-2d .chip-accent{background:var(--text);color:var(--bg);border-color:#0000}.is-2d .chip-accent:hover{background:var(--text);opacity:.88}.theme-toggle{width:38px;padding:0}:root[data-theme=dark] .theme-moon,:root:not([data-theme=dark]) .theme-sun{display:none}::view-transition-old(root){animation-duration:.35s}::view-transition-new(root){animation-duration:.35s}.is-2d main{max-width:1200px;margin:0 auto;padding:0 24px 80px}.is-2d .panel{max-width:820px;animation:fade-up .6s var(--ease) both;margin:0 auto;padding-top:64px}.is-2d .panel:has(.card-grid){max-width:none}.is-2d .panel-close{display:none}.is-2d .panel h1{letter-spacing:-.04em;font-size:clamp(2.4rem,5vw,3.8rem)}.is-2d .panel .lead{margin-bottom:2.5rem;font-size:1.15rem}.is-2d .asset-credits{display:none}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}}.kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;font-size:.7rem;font-weight:700}.kicker span{color:var(--accent)}.story{height:calc(100dvh + var(--steps) * 42vh);position:relative}.story-sticky{top:var(--topbar-h);height:calc(100dvh - var(--topbar-h));grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:40px;display:grid;position:sticky}.story-copy{animation:fade-up .8s var(--ease) both}.hero-title{letter-spacing:-.045em;margin:0 0 16px;font-size:clamp(2.1rem,3.5vw,3.3rem);line-height:1.02}.accent-line{color:var(--accent);display:block}.hero-lead{max-width:470px;color:var(--muted);margin:0 0 22px;font-size:1.05rem;line-height:1.6}.steps{border-top:1px solid var(--border);max-width:470px;margin:0 0 26px;padding:0;list-style:none}.step{border-bottom:1px solid var(--border)}.step-head{appearance:none;width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:34px 1fr 16px;align-items:center;padding:10px 0;font-size:.95rem;font-weight:500;transition:color .3s;display:grid}.step-head:hover,.step.is-active .step-head{color:var(--text)}.step-num{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.72rem;transition:color .3s}.step.is-active .step-num{color:var(--accent)}.step-icon{width:12px;height:12px;position:relative}.step-icon:before,.step-icon:after{content:"";width:12px;height:1.5px;transition:transform .35s var(--ease);background:currentColor;margin-top:-.75px;position:absolute;top:50%;left:0}.step-icon:after{transform:rotate(90deg)}.step.is-active .step-icon:after{transform:rotate(0)}.step-body{transition:grid-template-rows .45s var(--ease);grid-template-rows:0fr;display:grid}.step.is-active .step-body{grid-template-rows:1fr}.step-body>div{padding-left:34px;overflow:hidden}.step-body p{color:var(--muted);opacity:0;transition:opacity .4s, transform .4s var(--ease);margin:0 0 8px;font-size:.9rem;line-height:1.55;transform:translateY(-4px)}.step.is-active .step-body p{opacity:1;transition-delay:.1s;transform:none}.step-link{color:var(--accent);gap:4px;margin-bottom:14px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.step-link:hover{text-underline-offset:3px;text-decoration:underline}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.story-visual{height:min(100%,720px);min-height:420px;position:relative}.hero-canvas{opacity:0;transition:opacity 1s var(--ease);inset:0;position:absolute!important}.story-visual.is-ready .hero-canvas{opacity:1}.story-orb{aspect-ratio:1;background:radial-gradient(circle at 35% 30%, var(--glow-2), transparent 60%), radial-gradient(circle at 65% 70%, var(--accent-soft), transparent 62%);filter:blur(10px);border-radius:50%;width:min(78%,480px);animation:7s ease-in-out infinite breathe;position:absolute;top:46%;left:50%;translate:-50% -50%}.story-ring{aspect-ratio:4;border:1px dashed var(--border-strong);border-radius:50%;width:min(58%,360px);position:absolute;bottom:9%;left:50%;translate:-50%}.story-ring:after{content:"";border:1px solid var(--accent-soft);border-radius:50%;animation:5s ease-in-out infinite breathe;position:absolute;inset:-22% -14%}@keyframes breathe{50%{opacity:.8;scale:1.06}}.story-caption{white-space:nowrap;color:var(--muted);align-items:baseline;gap:10px;font-size:.85rem;display:flex;position:absolute;bottom:2%;left:50%;translate:-50%}.story-caption-num{color:var(--accent);font-size:.72rem;font-weight:700}.story-caption-text{animation:fade-up .5s var(--ease) both}.story-progress{gap:6px;display:grid;position:absolute;top:50%;right:0;translate:0 -50%}.story-progress span{background:var(--border);border-radius:3px;width:3px;height:22px;transition:background .4s}.story-progress span.on{background:var(--accent)}.home-section{padding:96px 0}.section-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px;display:flex}.section-head h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,3.4vw,2.8rem)}.more-link{color:var(--muted);flex-shrink:0;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .2s}.more-link:hover{color:var(--accent)}.card-media{border-bottom:1px solid var(--border);background:var(--surface-2);aspect-ratio:16/10;display:block;overflow:hidden}.card-media .card-cover{height:100%;transition:transform .7s var(--ease);border:0}.card:hover .card-cover{transform:scale(1.04)}.card-arrow{color:var(--muted);transition:transform .35s var(--ease), color .35s;margin-left:auto}.card:hover .card-arrow{color:var(--accent);transform:translate(2px,-2px)}.bento{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:0;display:grid}.bento-cell{border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow-sm);padding:30px}.bento-wide{grid-column:span 2}.bento-full{grid-column:1/-1}.bento-cell .section-head{margin-bottom:20px}.bento-cell .section-head h2{font-size:1.6rem}.bento-cell .list{gap:0}.bento-cell .post-row{border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;padding:16px 0}.bento-cell .post-row:hover{background:0 0}.bento-cell .post-row:hover .list-title{color:var(--accent)}.bento-memory{color:#fff;background:linear-gradient(150deg,#a3214e,#0d1331 70%);flex-direction:column;justify-content:flex-end;min-height:340px;padding:0;text-decoration:none;display:flex;position:relative;overflow:hidden}.bento-memory img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease);position:absolute;inset:0}.bento-memory:hover img{transform:scale(1.05)}.bento-memory-body{background:linear-gradient(#0000,#070b1dd9 60%);flex-direction:column;gap:6px;padding:28px;display:flex;position:relative}.bento-memory .kicker{color:#ffffffb3;margin:0}.bento-memory .match-score,.bento-memory .meta{color:#ffffffb8}.bento-memory .match-score strong{color:#fff}.band{--text:#eef0fa;--muted:#9aa3c4;--border:#ffffff1a;color:var(--text);background:radial-gradient(50rem 30rem at 85% 0%, #f0587f2e, transparent 60%), radial-gradient(40rem 24rem at 0% 100%, #5bb3e624, transparent 60%), var(--band-bg);margin:40px calc(50% - 50vw);padding:110px 24px 0;overflow:hidden}.band-inner{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;max-width:1152px;margin:0 auto;display:grid}.band .kicker span{color:#f0587f}.band h2{letter-spacing:-.04em;margin:0 0 24px;font-size:clamp(2rem,4vw,3.2rem)}.band .more-link:hover{color:#fff}.journey{margin:0;padding:0;list-style:none}.journey li{border-top:1px solid var(--border);grid-template-rows:auto auto;grid-template-columns:150px 1fr;column-gap:20px;padding:20px 0;display:grid}.journey li:last-child{border-bottom:1px solid var(--border)}.journey-date{color:var(--muted);font-variant-numeric:tabular-nums;grid-row:span 2;padding-top:3px;font-size:.82rem}.journey-role{font-size:1.1rem;font-weight:600}.journey-company{color:var(--muted);font-size:.92rem}.marquee{border-top:1px solid var(--border);margin:90px -24px 0;padding:28px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.marquee-track{width:max-content;animation:45s linear infinite marquee;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee ul{margin:0;padding:0;list-style:none;display:flex}.marquee li{font-family:var(--font-display);letter-spacing:-.03em;white-space:nowrap;color:#eef0fad9;align-items:center;font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:600;display:flex}.marquee li:after{content:"✦";color:#f0587f;margin:0 32px;font-size:.6em}@keyframes marquee{to{transform:translate(-50%)}}.cta{text-align:center;padding:120px 0 100px}.cta h2{letter-spacing:-.045em;max-width:820px;margin:0 auto 18px;font-size:clamp(2.2rem,5vw,4rem);line-height:1.05}.cta mark{color:var(--accent);background:linear-gradient(transparent 64%, var(--accent-soft) 0);padding:0 .08em}.cta .lead{max-width:520px;margin:0 auto 30px;font-size:1.1rem}.cta .social{justify-content:center}.site-footer{max-width:1200px;color:var(--muted);border-top:1px solid var(--border);justify-content:space-between;gap:16px;margin:0 auto;padding:28px 24px 110px;font-size:.85rem;display:flex}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--text)}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.is-2d [data-reveal]{animation:linear both reveal;animation-timeline:view();animation-range:entry entry 55%}}}@keyframes reveal{0%{opacity:0;transform:translateY(40px)scale(.98)}}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:.72rem;font-weight:600}.lead{color:var(--muted);margin:0 0 1.5rem;line-height:1.65}.meta{color:var(--muted);margin:.25rem 0;font-size:.8rem}.back-link{color:var(--muted);margin-bottom:18px;font-size:.85rem;text-decoration:none;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--text)}.section-grid{display:none}.card-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.card-grid-lg{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.card{border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--border);height:100%;box-shadow:var(--highlight);transition:transform .35s var(--ease), border-color .35s, box-shadow .35s;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow), var(--highlight);transform:translateY(-4px)}.card-cover{aspect-ratio:16/10;object-fit:cover;object-position:top;border-bottom:1px solid var(--border);background:#0d1220;width:100%}.card-body{flex-direction:column;gap:8px;padding:16px 18px 20px;display:flex}.card-title{font-family:var(--font-display);letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:8px;font-size:1.05rem;font-weight:600;display:flex}.card-text{color:var(--muted);font-size:.88rem;line-height:1.55}.card-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.card-tags span{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 9px;font-size:.72rem}.badge{background:var(--badge-bg);color:var(--badge-text);border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:600;display:inline-block}.badge.ghost{background:var(--surface-2);color:var(--muted)}.list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.list-item,.post-row{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);gap:16px;padding:16px;transition:border-color .25s,background .25s;display:flex}.post-row{flex-direction:column;gap:4px;text-decoration:none}.post-row:hover{border-color:var(--border-strong);background:var(--surface-3)}.list-title{flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-weight:600;display:flex}.list-text{color:var(--muted);margin:.2rem 0 0;font-size:.88rem;line-height:1.55}.thumb{object-fit:cover;border-radius:12px;flex-shrink:0;width:64px;height:64px}.rating{color:#fbbf24;letter-spacing:2px;margin:4px 0 0}.tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tags li{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:.8rem}.detail-cover{border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;margin:16px 0}.prose{color:var(--prose);line-height:1.8}.prose a{color:var(--accent)}.prose img{border-radius:12px;max-width:100%}.prose pre{background:var(--code-bg);color:#e6e9f2;border:1px solid var(--border);border-radius:12px;padding:16px;overflow-x:auto}.gallery{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:16px;display:grid}.gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%}.gallery figure{margin:0}.gallery figcaption{color:var(--muted);margin-top:4px;font-size:.78rem}.actions{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.button{appearance:none;background:var(--btn-bg);height:46px;color:var(--btn-text);font:inherit;cursor:pointer;box-shadow:var(--btn-shadow);transition:transform .25s var(--ease), box-shadow .25s, background .25s;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.ghost{background:var(--surface-2);color:var(--text);border-color:var(--border-strong);box-shadow:none}.button.ghost:hover{background:var(--surface-3)}.button:disabled{opacity:.6;cursor:wait}.match-list{gap:14px;padding:0;list-style:none;display:grid}.match{border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(135deg,#a0294f33,#5bb3e614);flex-direction:column;gap:8px;padding:16px;text-decoration:none;transition:border-color .25s;display:flex}.match:hover{border-color:var(--border-strong)}.match-photo{aspect-ratio:16/9;object-fit:cover;border-radius:14px;width:100%}.match-score{color:var(--muted);align-items:center;gap:12px;font-size:.9rem;display:flex}.match-score strong{font-family:var(--font-display);color:var(--text);font-size:1.4rem}.match-score.large strong{font-size:2.2rem}.timeline{border-left:1px solid var(--border-strong);padding:0 0 0 18px;list-style:none}.timeline li{padding:0 0 22px 10px;position:relative}.timeline li:before{content:"";background:var(--bg);border:2px solid var(--accent);border-radius:50%;width:11px;height:11px;position:absolute;top:6px;left:-24px}.avatar-photo{object-fit:cover;float:right;border:1px solid var(--border-strong);border-radius:28px;width:120px;height:120px;margin:0 0 12px 16px}.social{flex-wrap:wrap;gap:8px;margin-top:28px;padding:0;list-style:none;display:flex}.social a{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;height:38px;padding:0 16px;font-size:.85rem;font-weight:500;text-decoration:none;transition:border-color .2s,background .2s;display:inline-flex}.social a:hover{border-color:var(--border-strong);background:var(--surface-3)}.social-icons a{background:#ffffff03;border-color:#d0ac7140;justify-content:center;width:44px;height:44px;padding:0}.social-icons img{object-fit:contain;filter:invert(.9);width:20px;height:20px}.social-icons.social-labeled a{gap:10px;width:auto;padding-inline:16px}.social-icons a:hover{background:#eab77514;border-color:#eab775}.social-icons a:focus-visible{outline-offset:4px;outline:2px solid #eab775}.form{gap:16px;display:grid}.form label{color:var(--muted);gap:8px;font-size:.85rem;font-weight:500;display:grid}.form input,.form textarea,.form select{font:inherit;color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:12px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.form input:focus,.form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.form [aria-invalid=true]{border-color:var(--danger)}.form .button{justify-self:start}.hp{position:absolute;left:-10000px}.notice{border-radius:12px;padding:12px 14px;font-size:.9rem}.notice.success{color:var(--success);background:#4ade801f}.notice.error{color:var(--danger);background:#f871711f}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface-2), #ffffff1a, var(--surface-2));background-size:200% 100%;height:280px;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (max-width:900px){.topbar{gap:8px;padding-left:12px;padding-right:12px;display:flex}.brand-role{display:none}.topbar-actions{margin-left:auto}.chip{height:42px;padding:0 13px}.menu-toggle{display:inline-flex}.nav{background:var(--surface-strong);border-radius:20px;flex-direction:column;padding:8px;display:none;position:fixed;top:70px;left:12px;right:12px}.is-2d .nav{border-color:var(--border);background:#0e111bf5}.nav.open{animation:fade-up .3s var(--ease) both;display:flex}.nav a{padding:13px 16px;font-size:.95rem}.is-3d .panel{border-radius:24px 24px 0 0;width:100%;height:62dvh;animation-name:slide-up;inset:auto 0 0}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}}.is-3d .panel-inner{padding:24px 18px 40px}.toast{text-align:center;border-radius:18px;justify-content:center;padding:10px;top:72px;left:12px;right:12px;transform:none}.has-panel .time-controls,.has-panel .music{display:none}.music{width:auto;bottom:64px;right:12px}.is-2d .topbar{padding:0 12px}.story{height:auto}.story-sticky{grid-template-columns:minmax(0,1fr);gap:8px;height:auto;padding:32px 0 24px;position:static}.story-visual{order:-1;height:420px;min-height:0}.story-progress{display:none}.steps{max-width:none}.home-section{padding:64px 0}.bento{grid-template-columns:minmax(0,1fr);padding-top:0}.bento-wide,.bento-full{grid-column:auto}.bento-cell{padding:22px}.band{padding-top:72px}.band-inner{grid-template-columns:minmax(0,1fr);gap:24px}.journey li{grid-template-columns:minmax(0,1fr)}.journey-date{grid-row:auto}.marquee{margin-top:56px}.cta{padding:80px 0 64px}.site-footer{flex-direction:column}}@media (max-width:480px){.brand-text{display:none}.brand{padding-right:6px}.segment span{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.celestial-loader{--cl-bg:#101719;--cl-ink:#eab775;--cl-art:grayscale(1) invert(.93) sepia(1) saturate(1.5);--art-h:min(40vh, 320px, 68vw);--lift:3vh;--split:.4s;z-index:100;color:var(--cl-ink);pointer-events:auto;position:fixed;inset:0;overflow:hidden}.celestial-loader.is-opening{pointer-events:none}.cl-half{background-color:var(--cl-bg);background-image:radial-gradient(at 50% 48%,#eab7750b,#0000 60%);background-repeat:no-repeat;background-size:100vw 100vh;height:50%;position:absolute;left:0;right:0}.cl-top{top:0}.cl-bottom{background-position:0 -50vh;top:50%}.cl-sky,.cl-sea{height:50%;position:absolute;left:0;right:0;overflow:hidden}.cl-sky{top:0}.cl-sea{top:50%;-webkit-mask-image:linear-gradient(#000000e6,#0000 55%);mask-image:linear-gradient(#000000e6,#0000 55%)}.cl-sun,.cl-reflection{height:var(--art-h);aspect-ratio:1382/1138;transition:translate .9s cubic-bezier(.22,1,.36,1);position:absolute;left:50%}.cl-sun{bottom:var(--lift);translate:-50% calc((1 - var(--p)) * (100% + var(--lift)))}.cl-reflection{top:var(--lift);translate:-50% calc((var(--p) - 1) * (100% + var(--lift)));opacity:.16;transform:scaleY(-1)}.cl-sun img,.cl-reflection img{width:100%;height:100%;filter:var(--cl-art);display:block}.cl-sun img{animation:9s ease-in-out infinite alternate cl-sway}.cl-reflection img{animation:3.4s ease-in-out infinite cl-ripple}@keyframes cl-sway{0%{rotate:-3deg}to{rotate:3deg}}@keyframes cl-ripple{0%,to{transform:skew(0deg)scaleX(1)}50%{transform:skew(2deg)scaleX(1.025)}}.cl-horizon{background:var(--cl-ink);height:1px;position:absolute;top:50%;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.cl-horizon{background:color-mix(in srgb, var(--cl-ink) 14%, transparent)}}.cl-horizon span{height:100%;width:calc(var(--p) * 100%);background:var(--cl-ink);transition:width .6s;display:block}.cl-status{text-align:center;justify-items:center;gap:12px;font-size:.8rem;transition:opacity .4s;display:grid;position:absolute;top:calc(50% + 18px);left:0;right:0}.cl-readout{font-variant-numeric:tabular-nums;align-items:baseline;gap:12px;display:inline-flex}.cl-pct{letter-spacing:.22em;opacity:.8;font-size:.78rem}.cl-continue-2d{border:1px solid var(--cl-ink);grid-template-columns:1fr auto;align-items:center;gap:4px 16px;margin-top:4px;padding:12px 14px 12px 17px;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.cl-continue-2d{border:1px solid color-mix(in srgb, var(--cl-ink) 58%, transparent)}}.cl-continue-2d{background:var(--cl-bg);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.cl-continue-2d{background:color-mix(in srgb, var(--cl-bg) 84%, transparent)}}.cl-continue-2d{color:var(--cl-ink);-webkit-backdrop-filter:blur(14px);font:inherit;cursor:pointer;transition:transform .25s,border-color .25s,background .25s,box-shadow .25s;box-shadow:0 10px 32px #0003,inset 0 1px #fff1}.cl-continue-2d>span:first-child{letter-spacing:.04em;opacity:.62;grid-column:1/-1;font-size:.68rem}.cl-continue-2d strong{letter-spacing:.02em;grid-column:1;font-size:.76rem;font-weight:600}.cl-continue-arrow{background:var(--cl-ink);border-radius:50%;grid-area:2/2;place-items:center;width:24px;height:24px;display:grid}@supports (color:color-mix(in lab, red, red)){.cl-continue-arrow{background:color-mix(in srgb, var(--cl-ink) 16%, transparent)}}.cl-continue-arrow{font-size:1rem;transition:transform .25s}.cl-continue-2d:hover,.cl-continue-2d:focus-visible{border-color:var(--cl-ink)}@supports (color:color-mix(in lab, red, red)){.cl-continue-2d:hover,.cl-continue-2d:focus-visible{border-color:color-mix(in srgb, var(--cl-ink) 72%, transparent)}}.cl-continue-2d:hover,.cl-continue-2d:focus-visible{background:var(--cl-ink)}@supports (color:color-mix(in lab, red, red)){.cl-continue-2d:hover,.cl-continue-2d:focus-visible{background:color-mix(in srgb, var(--cl-ink) 12%, var(--cl-bg))}}.cl-continue-2d:hover,.cl-continue-2d:focus-visible{transform:translateY(-2px);box-shadow:0 14px 36px #0005,inset 0 1px #fff2}.cl-continue-2d:hover .cl-continue-arrow,.cl-continue-2d:focus-visible .cl-continue-arrow{transform:translate(3px)}.cl-continue-2d:focus-visible{outline:2px solid var(--cl-ink);outline-offset:4px}.cl-status p{margin:0}.cl-greeting{justify-items:center;gap:8px;padding-bottom:6px;display:grid;position:absolute;top:calc(50% + 14px);left:0;right:0;overflow:hidden}.cl-word{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:300;animation:1s cubic-bezier(.22,1,.36,1) .1s both cl-word}.cl-name{letter-spacing:.32em;text-transform:uppercase;opacity:.6;font-size:.66rem;animation:1s cubic-bezier(.22,1,.36,1) .15s both cl-word}@keyframes cl-word{0%{opacity:0;transform:translateY(120%)}35%,70%{opacity:1;transform:none}to{opacity:0;transform:translateY(-60%)}}.is-opening .cl-horizon{animation:.6s .15s forwards cl-fade}.is-opening .cl-status{opacity:0}.is-opening .cl-top{animation:cl-open-up 1s cubic-bezier(.76, 0, .24, 1) var(--split) forwards}.is-opening .cl-bottom,.is-opening .cl-sea{animation:cl-open-down 1s cubic-bezier(.76, 0, .24, 1) var(--split) forwards}.is-opening .cl-sky{overflow:visible}.is-opening .cl-sun{animation:cl-dive 1s cubic-bezier(.65, 0, .35, 1) var(--split) forwards}@keyframes cl-fade{to{opacity:0}}@keyframes cl-open-up{to{transform:translateY(-100%)}}@keyframes cl-open-down{to{transform:translateY(100%)}}@keyframes cl-dive{70%{opacity:.9}to{transform:translateY(calc(50% + var(--lift))) scale(.1);opacity:0}}.is-3d :is(.topbar>*,.music,.asset-credits){transition:opacity .9s var(--ease), translate .9s var(--ease)}.is-3d .topbar>:nth-child(2){transition-delay:.1s}.is-3d .topbar>:nth-child(3){transition-delay:.2s}.is-3d:not(.intro-done) :is(.topbar>*,.music,.asset-credits){opacity:0;pointer-events:none;translate:0 -10px}.is-3d :is(.zoom-controls,.time-controls){animation:cl-hud-in .9s var(--ease) .3s both}@keyframes cl-hud-in{0%{opacity:0}}@media (max-width:860px){.view-controls{top:auto;bottom:max(155px, env(safe-area-inset-bottom))}.has-panel .view-controls{bottom:calc(62dvh + 8px)}}@media (min-width:700px) and (max-width:860px) and (orientation:landscape){.is-3d .panel{border-radius:var(--radius-lg);width:44vw;height:auto;inset:84px 20px 20px auto}.has-panel .view-controls{bottom:14px;left:28%}}.chip:focus-visible{outline-offset:4px;outline:2px solid #d9b56b}.asset-credits{z-index:17;color:#f3f5f9b3;max-width:min(360px,90vw);font-size:.72rem;position:fixed;bottom:10px;left:16px}.asset-credits summary{cursor:pointer}.asset-credits[open],.asset-notice{background:var(--surface-strong);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);border:1px solid var(--border);border-radius:16px;padding:14px}.asset-credits div{max-height:35dvh;overflow:auto}.asset-notice{z-index:25;max-width:300px;position:fixed;bottom:140px;left:16px}.asset-notice-list{max-height:120px;color:var(--muted);gap:4px;margin:10px 0 14px;padding:0 0 0 16px;font:.72rem/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;overflow:auto}@media (max-width:860px){.has-panel .asset-credits{display:none}}.time-controls{z-index:25;-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0;position:fixed;bottom:0;left:50%;right:auto;transform:translate(-50%)}.zoom-controls{z-index:35;border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow-sm), var(--highlight);border-radius:999px;flex-direction:column;align-items:center;gap:8px;padding:6px;display:flex;position:fixed;top:50%;right:20px;transform:translateY(-50%)}.zoom-controls button{width:34px;height:34px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:20px;line-height:1;transition:background .2s}.zoom-controls button:hover:not(:disabled){background:var(--surface-3)}.zoom-controls input{writing-mode:vertical-lr;accent-color:#fff;direction:rtl;width:20px;height:140px}.zoom-controls :disabled{opacity:.4;cursor:default}@media (min-width:861px){.has-panel .zoom-controls{right:calc(min(560px,44vw) + 32px)}}@media (max-width:860px){.music{bottom:140px}.zoom-controls{padding:4px;right:10px}.zoom-controls input{height:100px}.has-panel .zoom-controls{top:23%}}.is-2d{background:#080e18}.is-2d:before{display:none}.is-2d:not(.has-panel) main{max-width:none;padding:0}.is-2d:not(.has-panel) .home>:not(.portfolio-hero),.is-2d:not(.has-panel) .site-footer{display:none}.is-2d .topbar{z-index:40;background:0 0;border:0;position:fixed}.is-2d .topbar .nav{display:none}.is-2d .topbar{grid-template-columns:1fr auto}.is-2d .menu-toggle{display:none}.is-2d .brand,.is-2d .chip{color:#eee9df;background:#0d151dcc;border-color:#ffffff20}.is-2d .brand-role{color:#b9c3cb}.is-2d .chip{min-height:44px}.portfolio-hero{color:#eee9df;background:linear-gradient(90deg,#060d16f5 0%,#060d16d9 28%,#060d1660 48%,#0000 70%);align-items:center;min-height:100svh;padding:150px 7vw 160px;display:flex;position:relative}.portfolio-copy{max-width:43%}.portfolio-copy h1{color:#eee9df;letter-spacing:-.045em;margin:24px 0 30px;font-size:clamp(2.8rem,4.6vw,5.5rem);line-height:1.06}.portfolio-copy h1 span{color:#e6b780;margin-top:12px;font-style:italic;display:block}.portfolio-intro{color:#bdc6cc;max-width:40ch;font-size:clamp(1rem,1.3vw,1.25rem);line-height:1.8}.portfolio-cta{color:#1c1713;background:#e6b780;border-radius:12px;align-items:center;gap:36px;min-height:58px;margin-top:28px;padding:12px 24px;font-weight:650;display:inline-flex}.portfolio-cta span{font-size:1.5rem}.portfolio-shortcuts{flex-wrap:wrap;gap:8px 20px;margin-top:12px;display:flex}.portfolio-shortcuts a{text-underline-offset:5px;color:#d5c5b4;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.portfolio-links{gap:12px;display:flex;position:absolute;top:100px;right:3vw}.portfolio-links a{background:#101820d9;border:1px solid #ffffff25;border-radius:12px;align-items:center;min-height:44px;padding:10px 18px;display:flex}.portfolio-nav{bottom:max(18px, env(safe-area-inset-bottom));z-index:40;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#10191ee8;border:1px solid #ffffff25;border-radius:22px;gap:5px;max-width:calc(100vw - 28px);padding:7px;display:flex;position:fixed;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 12px 40px #0005}.portfolio-nav a{color:#dddcd6;white-space:nowrap;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:105px;min-height:66px;padding:9px 18px;font-size:.9rem;display:flex}.portfolio-nav a>span{font-size:1.35rem}.portfolio-nav a[aria-current],.portfolio-nav a:hover{color:#e6b780;background:#ffffff08;outline:1px solid #e6b78040}.is-2d :is(a,button):focus-visible{outline-offset:5px;outline:2px solid #e6b780}.is-2d.has-panel main{background:var(--bg);border-radius:24px;margin:110px auto 130px;padding-bottom:32px;position:relative}:is(.is-2d.has-panel,.is-2d .tour-stop) .panel{padding:30px 16px}#skills{scroll-margin-top:110px}@media (max-width:899px){.portfolio-hero{background:linear-gradient(#060d16eb 0%,#060d16b0 35%,#060d1620 65%,#060d1690 100%);align-items:flex-start;min-height:max(850px,100svh);padding:165px 6vw 140px}.portfolio-copy{max-width:100%}.portfolio-copy h1{max-width:18ch;margin:10px 0 16px;font-size:clamp(2.2rem,7vw,3.8rem)}.portfolio-intro{max-width:42ch;font-size:1rem}.portfolio-cta{margin-top:14px}.portfolio-shortcuts{gap:2px 16px;max-width:40ch}.portfolio-links{top:100px;right:6vw}.portfolio-nav{width:max-content;bottom:max(10px, env(safe-area-inset-bottom));justify-content:flex-start}.portfolio-nav a{min-width:70px;padding:8px 12px;font-size:.75rem}.is-2d .brand-text{max-width:150px}.is-2d.has-panel main{margin:100px 12px 120px}.is-2d .music{bottom:105px}}@media (prefers-reduced-motion:no-preference){.portfolio-copy{animation:.5s both fade-up}}.is-2d:not(.has-panel) .scene{pointer-events:auto}.is-2d:not(.has-panel) main{pointer-events:none;position:relative}.portfolio-hero.portfolio-tour{background:0 0;min-height:100svh;padding:0;display:block}.tour-stop{height:110svh;padding:0 5vw;scroll-margin-top:0;position:relative}.tour-copy{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#eee9df;pointer-events:auto;background:linear-gradient(120deg,#0b101bea,#0b101baf);border:1px solid #ffffff20;border-radius:20px;width:min(440px,90vw);padding:24px;position:sticky;top:52svh}.tour-copy :is(h1,h2){color:#eee9df;margin:10px 0;font-size:clamp(1.7rem,3vw,3rem);line-height:1.1}.tour-copy p{color:#c9c5bf}.tour-copy .portfolio-cta{min-height:44px;margin-top:14px;padding:8px 18px}.tour-next{color:#e6b780;cursor:pointer;text-align:left;background:0 0;border:0;min-height:44px;padding:12px 0;display:block}@media (max-width:699px){.tour-copy{padding:16px;top:55svh}.tour-copy .portfolio-shortcuts{margin-top:0}.tour-copy .kicker{font-size:.65rem}.tour-copy p{margin:6px 0}.portfolio-nav a{min-width:58px;padding:8px}}@media (max-height:700px){.tour-copy{padding:14px 20px;top:34svh}.tour-copy .portfolio-shortcuts{display:none}}.is-2d .scene canvas{touch-action:pan-y!important}html:has(.is-2d .portfolio-tour){scroll-snap-type:y mandatory}.portfolio-tour .tour-stop{scroll-snap-align:start;scroll-snap-stop:always;height:100svh}.portfolio-tour .tour-copy{width:min(560px,44vw);position:absolute;top:110px;right:20px}.portfolio-tour .tour-stop:first-child .tour-copy{top:auto;bottom:130px}.is-2d .scene{pointer-events:auto}.is-2d.has-panel main{pointer-events:none;background:0 0;margin:0;padding:0}:is(.is-2d.has-panel,.is-2d .tour-stop) .panel{pointer-events:auto;color:#eee9df;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);--text:#eee9df;--muted:#a7adbd;--border:#ffffff25;--surface:#ffffff08;--card-bg:#ffffff08;--accent:#91c9e8;background:#0d111bdc;border:1px solid #ffffff25;border-radius:24px;width:min(560px,44vw);max-width:none;margin:0;padding:0;position:fixed;top:84px;bottom:110px;right:20px;overflow:hidden}:is(.is-2d.has-panel,.is-2d .tour-stop) .panel-inner{height:100%;padding:30px 32px 40px;overflow-y:auto}:is(.is-2d.has-panel,.is-2d .tour-stop) .panel-close{display:grid}.is-2d.has-panel .site-footer{display:none}@media (max-width:860px){.portfolio-tour .tour-copy{width:calc(100% - 24px);padding:16px 20px;top:auto;bottom:110px;right:12px}:is(.is-2d.has-panel,.is-2d .tour-stop) .panel{width:100%;height:calc(62dvh - 100px);inset:auto 0 100px}:is(.is-2d.has-panel,.is-2d .tour-stop) .panel-inner{padding:24px 18px 40px}}.is-2d{--accent:#e7b781;--accent-soft:#e7b78116;--bg:#080e15;--text:#edeae3;--muted:#aab4bd;--surface:#141d24;--surface-strong:#101820;--border:#ffffff18;--card-bg:#ffffff04}.is-2d .topbar{max-width:none;padding:22px 4vw}.is-2d .brand{box-shadow:none;background:0 0;border:0;gap:16px}.is-2d .brand-mark{box-shadow:none;color:#ebc18e;letter-spacing:-3px;background:0 0;border:0;font-size:28px;font-weight:750}.is-2d .brand-name{letter-spacing:.12em;text-transform:uppercase;font-size:13px}.is-2d .brand-role{letter-spacing:.14em;text-transform:uppercase;margin-top:6px;font-size:9px}.is-2d .chip{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#101820b8;border-radius:100px;font-size:12px}.welcome-shade{pointer-events:none;background:linear-gradient(90deg,#050e18f7 0%,#050e18e8 25%,#050e18b0 40%,#050e1830 63%,#0000 80%),linear-gradient(#0000 78%,#050e18b0);position:absolute;inset:0}.portfolio-tour .tour-stop:first-child .welcome-copy{-webkit-backdrop-filter:none;backdrop-filter:none;width:min(590px,46vw);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;inset:50% auto auto 7.5vw;transform:translateY(-50%)}.welcome-copy .kicker{color:#aebac3;letter-spacing:.19em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 30px;font-size:10px;display:flex}.welcome-dot{background:#e7b781;border-radius:50%;width:6px;height:6px;box-shadow:0 0 16px #e7b78160}.tour-copy.welcome-copy h1{letter-spacing:-.055em;margin:0 0 30px;font-size:clamp(3rem,5.7vw,6.7rem);font-weight:450;line-height:1.08}.welcome-copy h1 em{color:#e7b781;letter-spacing:-.045em;font-family:Georgia,Times New Roman,serif;font-weight:400}.welcome-copy .welcome-intro,.welcome-copy .welcome-description{color:#afbbc4;max-width:44ch;margin:6px 0;font-size:clamp(13px,1.1vw,17px);line-height:1.8}.welcome-copy .welcome-intro{color:#d0d7db}.tour-copy .welcome-cta{color:#211c17;cursor:pointer;background:#e7b781;border:1px solid #f7d3a4;border-radius:10px;justify-content:space-between;min-width:210px;min-height:56px;margin-top:30px;font-size:14px;box-shadow:inset 0 1px #ffffff30}.welcome-cta span{border:1px solid #24190c30;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.welcome-shortcuts{flex-wrap:wrap;gap:20px;margin-top:16px;display:flex}.welcome-shortcuts :is(a,button){color:#c8bdae;text-underline-offset:5px;cursor:pointer;background:0 0;border:0;min-height:36px;padding:6px 0;font-size:12px;text-decoration:underline}.welcome-resources{pointer-events:auto;background:#10171de8;border:1px solid #ffffff20;border-radius:16px;gap:6px;padding:5px;display:flex;position:absolute;top:105px;right:4vw}.welcome-resources a{color:#bec7cd;border-radius:11px;align-items:center;gap:24px;min-height:44px;padding:8px 18px;font-size:13px;font-weight:600;display:flex}.welcome-resources .welcome-resume{color:#231d17;background:#ebc797;box-shadow:inset 0 0 0 1px #ffe6c4}.welcome-scroll{color:#b9c2c6;pointer-events:auto;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:12px;min-height:40px;font-size:11px;display:flex;position:absolute;bottom:119px;left:50%;transform:translate(-50%)}.welcome-scroll span{color:#e7b781}.portfolio-nav{background:#10191ee8;border-color:#ffffff24;border-radius:20px;gap:5px;padding:6px;box-shadow:0 16px 60px #0005,inset 0 1px #ffffff08}.portfolio-nav a{color:#c4cbcd;border-radius:15px;gap:8px;min-width:90px;min-height:72px;padding:10px 18px;font-size:11px;transition:background .2s,color .2s;position:relative}.portfolio-nav a svg{color:#929f9f}.portfolio-nav a[aria-current]{color:#ebc18e;background:#e7b78108;outline:1px solid #e7b78140}.portfolio-nav a[aria-current] svg{color:#ebc18e}.portfolio-nav a[aria-current]:after{content:"";background:#e7b781;border-radius:50%;width:4px;height:4px;position:absolute;top:10px;right:12px}.portfolio-tour .chapter-copy{background:linear-gradient(135deg,#101923ee,#0c131dda);border:1px solid #ffffff1f;border-radius:24px;padding:clamp(24px,3vw,44px);box-shadow:0 24px 80px #0003,inset 0 1px #ffffff08}.chapter-copy .kicker{letter-spacing:.18em;color:#97a5b1;font-size:9px}.chapter-copy .kicker span{color:#e7b781;margin-right:12px}.chapter-copy h2{letter-spacing:-.045em;margin:28px 0 16px;font-size:clamp(28px,3.5vw,50px);font-weight:500}.chapter-copy .chapter-description{color:#acbac4;max-width:40ch;font-size:15px;line-height:1.85}.chapter-copy .portfolio-cta{border-radius:10px;min-height:50px;margin-top:26px;font-size:13px}.chapter-copy .tour-next{color:#aab7c0;margin-top:16px;font-size:11px}:is(.is-2d.has-panel,.is-2d .tour-stop) .panel{--accent:#e7b781;--accent-soft:#e7b78114;--surface-2:#ffffff06;--border-strong:#ffffff28;--code-bg:#070d14;--input-bg:#ffffff05;--prose:#c5cdd3;background:linear-gradient(140deg,#101923f2,#0b131ceb);border-color:#ffffff20;box-shadow:0 24px 80px #0004}:is(.is-2d.has-panel,.is-2d .tour-stop) .panel :is(h1,h2,h3){color:#edeae3;letter-spacing:-.035em}:is(.is-2d.has-panel,.is-2d .tour-stop) .panel h1{font-size:clamp(30px,3.5vw,48px);font-weight:500}.is-2d.has-panel .card{background:#ffffff03;border-color:#ffffff15;border-radius:18px}.is-2d.has-panel .card:hover{background:#e7b78108;border-color:#e7b78166}@media (min-width:1600px){.portfolio-tour .tour-stop:first-child .welcome-copy{width:min(760px,45vw)}}@media (max-width:899px){.is-2d .topbar{padding:14px 4vw}.is-2d .brand-name{letter-spacing:.05em;font-size:10px}.is-2d .brand-role{letter-spacing:.04em;font-size:8px}.welcome-shade{background:linear-gradient(90deg,#050e18ed,#050e1880 75%,#050e1840),linear-gradient(#0000 70%,#050e18a0)}.portfolio-tour .tour-stop:first-child .welcome-copy{width:min(520px,86vw);top:45%;left:6vw}.tour-copy.welcome-copy h1{font-size:clamp(42px,8vw,68px)}.welcome-copy .kicker{margin-bottom:22px}.welcome-resources{top:82px;right:4vw}.welcome-resources a{gap:10px;min-height:34px;padding:6px 12px;font-size:11px}.portfolio-nav a{min-width:64px;min-height:66px;padding:9px 10px;font-size:10px}.portfolio-nav a svg{width:20px;height:20px}.portfolio-tour .chapter-copy{padding:24px}.chapter-copy h2{margin:18px 0 12px}.welcome-scroll{font-size:10px;bottom:100px}}@media (max-width:540px){.is-2d .brand-role{display:none}.is-2d .brand{gap:8px}.is-2d .brand-text{max-width:116px}.is-2d .chip{padding:8px 10px;font-size:10px}.portfolio-tour .tour-stop:first-child .welcome-copy{top:49%}.welcome-copy .welcome-intro,.welcome-copy .welcome-description{font-size:13px}.tour-copy.welcome-copy h1{margin-bottom:22px}.tour-copy .welcome-cta{margin-top:20px}.welcome-shortcuts{gap:18px}.welcome-scroll{display:none}.chapter-copy .chapter-description{font-size:13px}}@media (max-height:650px) and (min-width:900px){.tour-copy.welcome-copy h1{margin-bottom:16px;font-size:46px}.welcome-copy .kicker{margin-bottom:16px}.tour-copy .welcome-cta{margin-top:16px}.welcome-scroll{display:none}}@media (prefers-reduced-motion:no-preference){.welcome-copy{animation:.7s both welcome-in}@keyframes welcome-in{0%{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur()}}}.is-2d .tour-stop .panel{pointer-events:auto;position:absolute;top:84px;bottom:110px;right:20px}.is-2d .tour-stop .panel-inner{scroll-snap-type:none;scrollbar-width:thin;scrollbar-color:#e7b78166 transparent}.is-2d .tour-stop .panel-close{cursor:pointer}@media (max-width:860px){.is-2d .tour-stop .panel{width:100%;height:calc(62dvh - 100px);inset:auto 0 100px}}.portfolio-tour .tour-stop:first-child .welcome-copy{width:min(600px,43vw);top:44%;left:6.5vw}.welcome-copy .kicker{letter-spacing:.14em;background:#141a20a0;border:1px solid #ffffff30;border-radius:30px;margin-bottom:24px;padding:10px 14px;font-size:10px;display:inline-flex;position:relative}.welcome-code{color:#e7b781;letter-spacing:-.1em;margin-right:4px;font-size:18px;line-height:1}.welcome-copy .welcome-dot{background:#ffc16e;position:absolute;top:0;right:1px;box-shadow:0 0 12px #ffb65a}.tour-copy.welcome-copy h1{margin-bottom:26px;font-size:clamp(40px,4.5vw,76px);line-height:1.09}.welcome-name{max-width:10ch;font-weight:500;display:block}.welcome-copy h1 em{white-space:nowrap;width:fit-content;margin-top:8px;font-size:.63em;line-height:1.35;display:block;position:relative}.welcome-copy h1 em:after{content:"";border-top:2px solid #e7b781b3;border-radius:50%;height:9px;position:absolute;bottom:-10px;left:22%;right:0;transform:rotate(-3deg)}.welcome-copy .welcome-intro{margin-top:30px}.welcome-copy .welcome-description{margin-top:0}.welcome-actions{align-items:stretch;gap:12px;margin-top:24px;display:flex}.welcome-actions .welcome-cta{min-width:205px;margin:0}.welcome-secondary{color:#eee9df;cursor:pointer;background:#10151b80;border:1px solid #ffffff50;border-radius:10px;padding:12px 24px;font-size:13px}.welcome-secondary:hover{background:#ffffff0d;border-color:#e7b781}.welcome-stack{margin-top:25px}.welcome-stack>p{letter-spacing:.22em;color:#b4bdc5;align-items:center;gap:18px;font-size:9px;display:flex}.welcome-stack>p span{background:#ffffff15;flex:1;max-width:180px;height:1px}.welcome-stack ul{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.welcome-stack li{color:#cbd4da;background:linear-gradient(130deg,#ffffff09,#ffffff02);border:1px solid #ffffff14;border-radius:10px;place-items:center;min-width:40px;min-height:40px;padding:8px 11px;font-size:11px;display:grid}.welcome-stack li:nth-child(3n+1){color:#7ec8ae}.welcome-stack li:nth-child(3n+2){color:#8abfe4}.welcome-stack li:last-child{padding:0}.welcome-stack li a{place-items:center;width:40px;height:40px;font-size:22px;display:grid}.welcome-highlights{pointer-events:auto;grid-template-columns:repeat(3,1fr);gap:12px;display:grid;position:absolute;bottom:105px;left:25%;right:12%}.welcome-highlights button{text-align:left;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);color:#e9e4df;cursor:pointer;background:linear-gradient(125deg,#292426bb,#121921db);border:1px solid #ffffff25;border-radius:18px;align-items:center;gap:14px;min-width:0;min-height:90px;padding:20px;display:flex;box-shadow:0 12px 35px #0003,inset 0 1px #ffffff0b}.welcome-highlights button:nth-child(2){background:linear-gradient(130deg,#38242bd9,#172436d9)}.welcome-highlights button:hover{border-color:#e7b78170;transform:translateY(-2px)}.welcome-highlights button>span:first-child{color:#e7b781;font-size:24px}.welcome-highlights button>span:nth-child(2){min-width:0}.welcome-highlights small{color:#b9b7bb;margin-bottom:7px;font-size:10px;display:block}.welcome-highlights strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;display:block;overflow:hidden}.welcome-highlights .highlight-arrow{color:#b4ada6;margin-left:auto;font-size:17px}.welcome-scroll{background:#13191c80;border:1px solid #ffffff70;border-radius:50%;justify-content:center;width:44px;height:44px;font-size:20px;bottom:28px}.welcome-resources{top:92px}@media (min-width:1200px){.is-2d .topbar{padding:20px 4vw}.is-2d .brand{gap:16px}.is-2d .brand-mark{border-right:1px solid #ffffff26;border-radius:0;width:auto;padding-right:16px}.is-2d .brand-name{font-size:11px}.portfolio-nav{-webkit-backdrop-filter:none;backdrop-filter:none;max-width:calc(100vw - 580px);box-shadow:none;background:0 0;border:0;border-radius:0;gap:18px;padding:0;top:22px;bottom:auto;left:52%;overflow:visible}.portfolio-nav a{border-radius:0;min-width:0;min-height:40px;padding:8px 0;font-size:11px}.portfolio-nav a svg{display:none}.portfolio-nav a[aria-current],.portfolio-nav a:hover{color:#eee9df;background:0 0;outline:0}.portfolio-nav a[aria-current]:after{border-radius:0;width:auto;height:2px;inset:auto 20% 0}}@media (max-width:1199px){.welcome-highlights{bottom:112px;left:6vw;right:6vw}.welcome-scroll{display:none}.portfolio-tour .tour-stop:first-child .welcome-copy{top:42%}}@media (max-width:899px){.portfolio-tour .tour-stop:first-child .welcome-copy{width:86vw;top:45%;left:6vw}.welcome-highlights{display:none}.tour-copy.welcome-copy h1{font-size:clamp(40px,8vw,65px)}.welcome-name{max-width:13ch}.welcome-actions .welcome-cta{min-width:0}.welcome-secondary{padding:10px 18px}.welcome-actions{gap:10px}.welcome-stack li{padding:7px;font-size:10px}}@media (max-height:750px) and (min-width:900px){.portfolio-tour .tour-stop:first-child .welcome-copy{top:44%}.tour-copy.welcome-copy h1{margin-bottom:18px;font-size:46px}.welcome-copy .kicker{margin-bottom:16px}.welcome-copy .welcome-intro,.welcome-copy .welcome-description{font-size:12px;line-height:1.6}.welcome-copy .welcome-intro{margin-top:24px}.welcome-actions,.welcome-stack{margin-top:18px}.welcome-highlights{bottom:80px}.welcome-highlights button{min-height:76px;padding:14px}.welcome-scroll{bottom:18px}}@media (max-height:700px) and (max-width:899px){.welcome-stack{display:none}.portfolio-tour .tour-stop:first-child .welcome-copy{top:48%}.welcome-copy .kicker{margin-bottom:12px}}.shell .portfolio-header{--font-display:var(--font-urbanist), var(--font-inter), system-ui, sans-serif;font-family:var(--font-display);pointer-events:none;-webkit-backdrop-filter:none;isolation:isolate;z-index:40;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(20px,3vw,64px);width:100%;max-width:none;height:94px;padding:18px 4vw;display:grid;position:fixed;inset:0 0 auto}.shell .portfolio-header>*{pointer-events:auto}.shell .portfolio-header .brand{height:50px;box-shadow:none;-webkit-backdrop-filter:none;color:#e9e7e5;background:0 0;border:0;border-radius:0;gap:26px;padding:0}.shell .portfolio-header .brand-mark{width:76px;height:42px;box-shadow:none;color:#edb778;letter-spacing:-4px;background:0 0;border:0;border-right:1px solid #ffffff26;border-radius:0;place-items:center;padding-right:24px;font-size:39px;font-weight:650;display:grid}.shell .portfolio-header .brand-text{max-width:none}.shell .portfolio-header .brand-name{letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;font-size:13px;font-weight:650}.shell .portfolio-header .brand-role{letter-spacing:.24em;text-transform:uppercase;color:#a8aab0;margin-top:9px;font-size:9px;font-weight:550;display:block}.shell .portfolio-header .portfolio-nav{width:auto;max-width:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;justify-content:center;justify-self:center;align-items:center;gap:clamp(16px,1.9vw,40px);padding:0;display:flex;position:static;overflow:visible;transform:none}.shell .portfolio-header .portfolio-nav a{color:#d6d5d9;white-space:nowrap;background:0 0;border-radius:0;outline:none;min-width:0;min-height:42px;padding:8px 0;font-size:12px;font-weight:600;display:flex}.shell .portfolio-header .portfolio-nav svg{display:none}.shell .portfolio-header .portfolio-nav a:hover{color:#f2c38d}.shell .portfolio-header .portfolio-nav a[aria-current]{color:#fff;background:0 0;outline:none}.shell .portfolio-header .portfolio-nav a[aria-current]:after{content:"";background:#e7b773;border-radius:0;width:auto;height:2px;position:absolute;inset:auto 15% 0}.shell .portfolio-header .topbar-actions{align-items:center;gap:18px}.shell .portfolio-header .chip{color:#e4e3e7;-webkit-backdrop-filter:none;backdrop-filter:none;background:#ffffff02;border:1px solid #ffffff20;border-radius:99px;height:44px;min-height:44px;padding:0 20px;font-size:12px;font-weight:600;box-shadow:inset 0 1px #ffffff06}.shell .portfolio-header .chip-accent{background:0 0;border-color:#fff6;flex-shrink:0;gap:12px;width:124px}.shell .portfolio-header .chip-accent svg{width:19px;height:19px}.shell .portfolio-header .header-light{background:#ffffff07;width:46px;height:46px;padding:0}.shell .portfolio-header .header-light[aria-pressed=false]{color:#7f8794;background:0 0}.shell .portfolio-header .chip:hover{color:#f1c58e;border-color:#e7b78180}.shell .portfolio-header .chip-accent:hover{opacity:.88}.shell .portfolio-header .menu-toggle{display:none}.shell .portfolio-header :is(a,button):focus-visible{outline-offset:4px;outline:2px solid #e7b781}@media (min-width:1200px) and (max-width:1550px){.shell .portfolio-header{gap:24px;padding-inline:3vw}.shell .portfolio-header .brand{gap:16px}.shell .portfolio-header .brand-mark{width:58px;padding-right:16px;font-size:33px}.shell .portfolio-header .brand-name{font-size:10px}.shell .portfolio-header .brand-role{font-size:8px}.shell .portfolio-header .portfolio-nav{gap:17px}.shell .portfolio-header .portfolio-nav a{font-size:10px}.shell .portfolio-header .topbar-actions{gap:10px}.shell .portfolio-header .chip{padding-inline:15px;font-size:11px}}@media (max-width:1199px){.shell .portfolio-header{grid-template-columns:1fr auto;gap:12px;height:78px;padding:14px 4vw}.shell .portfolio-header .brand{gap:14px}.shell .portfolio-header .brand-mark{width:52px;height:36px;padding-right:14px;font-size:30px}.shell .portfolio-header .brand-name{letter-spacing:.08em;font-size:11px}.shell .portfolio-header .brand-role{letter-spacing:.16em;margin-top:7px;font-size:8px}.shell .portfolio-header .portfolio-nav{background:#101620fa;border:1px solid #ffffff20;border-radius:16px;flex-wrap:wrap;gap:10px 24px;padding:14px;display:none;position:absolute;top:78px;left:12px;right:12px}.shell .portfolio-header .portfolio-nav.open{display:flex}.shell .portfolio-header .menu-toggle{display:inline-flex}.shell .portfolio-header .topbar-actions{gap:8px}.shell .portfolio-header .chip{height:40px;min-height:40px;padding:0 12px;font-size:11px}.shell .portfolio-header .header-light{width:40px}}@media (max-width:600px){.shell .portfolio-header .brand-text{display:none}.shell .portfolio-header .brand-mark{border:0;width:40px;padding:0}.shell .portfolio-header .topbar-actions{gap:6px}.shell .portfolio-header .chip{padding-inline:10px;font-size:10px}}@media (min-width:1200px){.shell.is-2d.has-panel .panel,.shell.is-3d .panel,.is-2d .tour-stop .panel,.welcome-resources{top:110px}.portfolio-tour .tour-stop:first-child .welcome-copy{top:47%}}.portfolio-tour .welcome-copy .kicker{color:#e2e2e3;height:44px;font-family:var(--font-inter), sans-serif;letter-spacing:.17em;white-space:nowrap;background:linear-gradient(115deg,#101317e8,#11151ae0);border:1px solid #ffffff30;border-radius:999px;align-items:center;gap:14px;padding:0 20px 0 16px;font-size:13px;font-weight:650;line-height:1;display:inline-flex;box-shadow:inset 0 1px 1px #ffffff12,0 0 0 1px #ffffff04}.portfolio-tour .welcome-copy .kicker:before{content:"";background:linear-gradient(90deg,#d2ac7f80,#0000);width:30px;height:1px;position:absolute;top:-1px;left:24px}.portfolio-tour .welcome-copy .welcome-code{color:#e8b57b;letter-spacing:-.13em;text-shadow:0 0 5px #ffb76520;margin:0;font-family:monospace;font-size:24px;font-weight:500;line-height:1}.portfolio-tour .welcome-copy .welcome-dot{background:#ffb45f;border-radius:50%;width:9px;height:9px;top:0;right:0;box-shadow:0 0 4px #ffbb70,0 0 12px #ff9b3bd9,0 0 24px #ff8b2a66}@media (max-width:380px){.portfolio-tour .welcome-copy .kicker{gap:10px;padding-inline:14px;font-size:11px}}.portfolio-tour .welcome-copy .welcome-intro,.portfolio-tour .welcome-copy .welcome-description{color:#b8bec5;line-height:1.5}.portfolio-tour .welcome-copy .welcome-intro{margin-bottom:0}.portfolio-tour .welcome-actions{gap:22px;margin-top:34px}.portfolio-tour .welcome-actions .welcome-cta{background:linear-gradient(115deg,#f6bf7b,#f2b775);border:1px solid #ffd39c;border-radius:18px;flex:1.7;min-width:0;min-height:64px;padding:14px 28px;font-size:16px;font-weight:600;box-shadow:inset 0 1px 2px #fff5}.portfolio-tour .welcome-cta span{background:#ffffff24;border:0;flex-shrink:0;width:36px;height:36px;font-size:27px}.portfolio-tour .welcome-secondary{background:linear-gradient(125deg,#15191e90,#20212655);border:2px solid #ffffff29;border-radius:18px;flex:1;min-width:0;padding:14px 18px;font-size:16px;box-shadow:inset 0 1px 1px #ffffff08}.portfolio-tour .welcome-secondary:hover{border-color:#e7b781}.portfolio-tour .welcome-stack{margin-top:40px;display:block}.portfolio-tour .welcome-stack>p{letter-spacing:.27em;gap:24px;margin:0;font-size:10px;font-weight:600}.portfolio-tour .welcome-stack>p span{background:#ffffff12;max-width:none}.portfolio-tour .welcome-stack li{background:linear-gradient(135deg,#ffffff05,#ffffff03);border:1px solid #ffffff12;border-radius:13px;width:52px;min-width:0;height:52px;min-height:0;padding:0;box-shadow:inset 0 1px 1px #ffffff06}.portfolio-tour .welcome-stack .tech-logo{object-fit:contain;width:32px;height:32px}.portfolio-tour .welcome-stack .threejs-logo{filter:invert();opacity:.9}.portfolio-tour .welcome-stack li a{color:#8d9298;border-radius:inherit;width:100%;height:100%;font-size:28px}.portfolio-tour .welcome-stack li a:hover{color:#f4bf81;background:#ffffff08}@media (max-width:1199px),(max-height:800px){.portfolio-tour .welcome-actions{gap:14px;margin-top:24px}.portfolio-tour .welcome-actions .welcome-cta,.portfolio-tour .welcome-secondary{border-radius:14px;min-height:54px;padding:10px 16px;font-size:13px}.portfolio-tour .welcome-stack{margin-top:26px}.portfolio-tour .welcome-stack ul{gap:9px;margin-top:16px}.portfolio-tour .welcome-stack li{border-radius:11px;width:44px;height:44px}.portfolio-tour .welcome-stack .tech-logo{width:28px;height:28px}}@media (max-width:599px){.portfolio-tour .welcome-stack ul{gap:7px}.portfolio-tour .welcome-stack li{border-radius:9px;width:36px;height:36px}.portfolio-tour .welcome-stack .tech-logo{width:24px;height:24px}}.portfolio-tour .welcome-scroll{bottom:max(22px, env(safe-area-inset-bottom));color:#e9dfd0;text-shadow:0 2px 8px #000b;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;gap:10px;width:auto;height:auto;padding:8px 16px;font-size:15px;line-height:1.3;display:flex}.portfolio-tour .welcome-scroll .welcome-scroll-label{color:#eee8df}.welcome-scroll-mouse{color:#dfc18e;filter:drop-shadow(0 0 4px #e7b78140)}.welcome-scroll-chevron{color:#eee8df}.portfolio-tour .welcome-scroll:hover .welcome-scroll-mouse{color:#ffd39c}.portfolio-tour .welcome-scroll:focus-visible{outline-offset:4px;outline:2px solid #e7b781}@media (max-width:599px),(max-height:650px){.portfolio-tour .welcome-scroll{bottom:max(8px, env(safe-area-inset-bottom));gap:6px;font-size:12px}.welcome-scroll-mouse{width:18px;height:28px}}.shell .portfolio-header:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0b1018f5 0%,#0b1018d9 40%,#0b10187a 70%,#0b101800 100%);position:absolute;inset:0 0 -48px}.shell .portfolio-header .portfolio-nav a{font-size:14px}@media (min-width:1200px) and (max-width:1550px){.shell .portfolio-header{gap:18px;padding-inline:2.5vw}.shell .portfolio-header .portfolio-nav{gap:16px}.shell .portfolio-header .portfolio-nav a{font-size:13px}.shell .portfolio-header .brand{gap:12px}.shell .portfolio-header .chip{padding-inline:12px}}.portfolio-tour .welcome-copy .kicker{letter-spacing:.16em;background:linear-gradient(120deg,#14171b88,#101318b3);border-color:#ffffff29;gap:10px;width:fit-content;height:32px;margin-bottom:24px;padding:0 15px 0 11px;font-size:10px;font-weight:600;box-shadow:inset 0 1px 1px #ffffff12,0 1px 2px #0005}.portfolio-tour .welcome-copy .welcome-code{font-size:20px}.portfolio-tour .welcome-copy .welcome-dot{width:6px;height:6px;top:0;right:1px}.portfolio-tour .welcome-copy .welcome-name{white-space:nowrap;letter-spacing:-.05em;max-width:none;font-size:clamp(30px,3.15vw,54px)}.portfolio-tour .welcome-copy h1 em{font-size:clamp(27px,2.7vw,44px)}.portfolio-tour .welcome-actions{gap:14px;width:fit-content;max-width:100%;margin-top:24px}.portfolio-tour .welcome-actions .welcome-cta{border-radius:12px;flex:none;gap:20px;min-height:46px;padding:10px 17px;font-size:13px}.portfolio-tour .welcome-actions .welcome-cta span{width:27px;height:27px;font-size:22px}.portfolio-tour .welcome-secondary{border-width:1px;border-radius:12px;flex:none;min-height:46px;padding:10px 23px;font-size:13px}.portfolio-tour .welcome-stack{width:370px;max-width:100%;margin-top:28px}.portfolio-tour .welcome-stack>p{gap:18px;font-size:9px}.portfolio-tour .welcome-stack ul{gap:9px;margin-top:15px}.portfolio-tour .welcome-stack li{border-radius:9px;width:36px;height:36px}.portfolio-tour .welcome-stack li a{font-size:23px}@media (max-width:599px){.portfolio-tour .welcome-copy .welcome-name{font-size:clamp(25px,7.1vw,40px)}.portfolio-tour .welcome-copy h1 em{font-size:clamp(24px,6.5vw,34px)}.portfolio-tour .welcome-actions{gap:10px}.portfolio-tour .welcome-actions .welcome-cta{gap:10px;padding-inline:12px}.portfolio-tour .welcome-secondary{padding-inline:15px}.portfolio-tour .welcome-stack ul{gap:7px}.portfolio-tour .welcome-stack li{width:33px;height:33px}}.shell .panel.editorial-panel{--editorial-gold:#eab775;--text:#f1eee7;--muted:#aeb4b4;--accent:#eab775;--accent-soft:#eab77516;--cut:26px;width:min(780px,57vw);clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--text);background:linear-gradient(135deg,#edb875,#b8945c45 18%,#b8945c36 75%,#edb875);border:0;border-radius:0;padding:1px;bottom:24px}.shell .panel.editorial-panel:before{content:"";pointer-events:none;clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));background:radial-gradient(at 100% 100%,#a5793b18,#0000 24%),linear-gradient(125deg,#171c1c,#0e1518 55%,#101719);position:absolute;inset:1px}.shell .panel.editorial-panel:after{content:"";pointer-events:none;border:1px solid #eab77516;border-radius:50%;width:470px;height:470px;position:absolute;top:-205px;right:-150px;box-shadow:0 0 0 40px #eab77502,0 0 0 85px #eab77502}.shell .editorial-panel .panel-inner{z-index:1;scrollbar-width:thin;scrollbar-color:#b8945c50 transparent;height:100%;padding:44px 42px;position:relative;overflow-y:auto}.shell .editorial-panel .panel-close{z-index:3;color:#d8bd94;background:#101719;border-color:#eab77530;width:26px;height:26px;min-height:0;font-size:12px;top:10px;right:10px}.editorial-content{position:relative}.editorial-detail>h1{overflow-wrap:anywhere}.editorial-detail>.back-link{color:var(--editorial-gold);margin-bottom:28px}.editorial-detail>.meta{color:var(--muted);margin-bottom:24px;font-size:12px}.editorial-detail>.prose{color:#bbc1c1;font-size:14px;line-height:1.75}.editorial-detail .detail-cover{border-color:#c5a36b35;border-radius:7px}.editorial-eyebrow{color:#eab775;justify-content:space-between;align-items:center;gap:20px;margin:0 0 28px;display:flex}.editorial-eyebrow>span{letter-spacing:.25em;text-transform:uppercase;align-items:center;gap:13px;font-size:10px;font-weight:650;display:flex}.editorial-eyebrow>span:before{content:"";background:#eab775;width:26px;height:1px}.editorial-eyebrow small{color:#a58e6b;white-space:nowrap;font:10px monospace}.shell .editorial-heading h1,.shell .editorial-detail>h1{font-family:var(--font-inter), sans-serif;letter-spacing:-.045em;margin:0 0 22px;font-size:clamp(28px,2.75vw,46px);font-weight:700;line-height:1.16}.editorial-heading h1 em{color:#ffd092;letter-spacing:-.045em;font-family:Georgia,Times New Roman,serif;font-size:1.15em;font-weight:400}.editorial-intro{color:#bbc1c1;margin:0 0 24px;font-size:14px;line-height:1.75}.editorial-stats{border-block:1px solid #d2ad6d30;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;padding:18px 0;display:grid}.editorial-stats>div{flex-direction:column;gap:6px;padding-right:8px;display:flex}.editorial-stats>div+div{border-left:1px solid #d2ad6d30;padding-left:14px}.editorial-stats strong{font-size:18px;line-height:1.3}.editorial-stats span{color:#939c9d;font-size:11px}.editorial-section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 14px;display:flex}.shell .editorial-section-title h2{margin:0;font-size:15px;line-height:1.4}.editorial-section-title>span{letter-spacing:.12em;color:#eab775;font-size:10px}.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.editorial-card{background:linear-gradient(120deg,#eab77509,#ffffff02);border:1px solid #c5a36b35;border-radius:7px;height:100%;padding:17px 15px;text-decoration:none;display:block}.shell .editorial-card h3,.shell .editorial-timeline h3{color:#f1eee7;margin:0 0 5px;font-size:14px;font-weight:650;line-height:1.4}.editorial-card p,.editorial-timeline p{color:#a8b0b1;margin:0;font-size:12px;line-height:1.55}.editorial-card-index,.editorial-card .editorial-card-index{color:#eab775;letter-spacing:.11em;text-transform:uppercase;margin:0 0 15px;font-size:10px;display:block}a.editorial-card:hover{background:#eab7750c;border-color:#eab77599}.editorial-panel .editorial-tags{gap:7px;margin:16px 0 0}.editorial-panel .editorial-tags li{color:#c9cccc;background:#ffffff03;border:1px solid #d0ac7140;border-radius:99px;align-items:center;gap:7px;padding:7px 11px;font-size:11px;font-weight:600;display:inline-flex}.editorial-tags li:before{content:"";background:#eab775;border-radius:50%;flex-shrink:0;width:5px;height:5px}.editorial-panel .technology-tags li{gap:9px}.technology-tags li:before{content:none}.technology-logo{object-fit:contain;flex-shrink:0;width:20px;height:20px;display:block}.technology-logo-threejs{filter:invert()}.technology-logo-fallback{text-align:center;color:#eab775;width:20px}.editorial-panel .editorial-timeline{border-color:#b8945c60;margin-top:16px}.editorial-panel .editorial-timeline .meta{letter-spacing:.1em;color:#eab775;text-transform:uppercase;margin-bottom:5px;font-size:10px}.editorial-timeline li{padding-bottom:20px}.editorial-panel .button{color:#171b1c;box-shadow:none;background:linear-gradient(110deg,#f0c58b,#e0ac69);border:1px solid #f5cf9b;border-radius:8px;padding:12px 18px;font-size:13px;font-weight:650}.editorial-panel .button.ghost{color:#ffd092;background:#eab7750c;border-color:#ba915e99}.editorial-panel .button:hover{filter:brightness(1.1)}.editorial-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.editorial-feature{clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px);background:linear-gradient(125deg,#eab77509,#ffffff01);border:1px solid #b9955680;grid-template-columns:1fr 1.15fr;align-items:center;gap:26px;padding:28px 20px;display:grid}.project-dashboard{filter:drop-shadow(0 15px 10px #0003);width:100%;height:auto}.editorial-feature h2{margin:0 0 12px;font-size:24px}.editorial-feature p:not(.editorial-card-index){color:#afb8b8;font-size:12px;line-height:1.6}.editorial-feature .button{margin-top:12px}.editorial-filters{flex-wrap:wrap;gap:5px;display:flex}.project-card-media{aspect-ratio:16/10;background:radial-gradient(at 70% 20%,#eab77512,#0000 65%),#0e1518;border:1px solid #eab77524;border-radius:5px;overflow:hidden}.project-collection .project-card-media{margin-bottom:18px}.project-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.project-collection a:hover .project-card-media img{transform:scale(1.035)}.project-card-placeholder{color:#c5a36b;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;display:flex}.project-card-placeholder svg{stroke:currentColor;stroke-width:1.2px;width:40px;height:40px}.project-card-placeholder span{letter-spacing:.12em;text-transform:uppercase;font-size:10px}.editorial-filters button{color:#aeb4b4;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:99px;padding:7px 11px;font-size:10px}.editorial-filters button[aria-pressed=true]{color:#171b1c;background:#eab775;border-color:#eab775}.editorial-footer{border-top:1px solid #d2ad6d30;margin-top:24px;padding-top:22px}.editorial-footer .button{justify-content:center;width:100%;display:flex}.hobby-symbol{color:#eab775;margin:0 0 20px;font-size:30px;display:block}.hobby-grid{align-items:start}.hobby-logo{object-fit:contain;filter:invert(79%)sepia(34%)saturate(661%)hue-rotate(341deg)brightness(97%)contrast(89%);margin-bottom:20px;display:block}.hobby-platform>summary{cursor:pointer;list-style:none}.hobby-platform>summary::-webkit-details-marker{display:none}.hobby-platform[open]{border-color:#eab77599}.hobby-platform:has(summary:hover){border-color:#eab77599}.hobby-platform>summary:focus-visible{outline-offset:6px;border-radius:4px;outline:2px solid #eab775}.hobby-card h3 .badge{margin-left:10px}.hobby-card-action{color:#eab775;align-items:center;gap:10px;margin-top:18px;font-size:12px;display:flex}.hobby-hide,.hobby-platform[open] .hobby-show{display:none}.hobby-platform[open] .hobby-hide{display:inline}.hobby-platform[open] .hobby-chevron{transform:rotate(180deg)}.hobby-game-list{border-top:1px solid #c5a36b35;margin-top:18px;padding-top:18px}.hobby-game-list ul{margin:0;padding:0;list-style:none}.hobby-game-list li+li{border-top:1px solid #ffffff12;margin-top:16px;padding-top:16px}.hobby-game-list h4{margin:0 0 8px;font-size:14px}.editorial-panel .hobby-card .list-title{margin-bottom:8px;font-size:18px}.editorial-panel .hobby-card .badge{color:#eab775;background:#eab77512;font-size:10px}.editorial-panel .hobby-card .list-text{font-size:12px}.editorial-panel .editorial-posts{margin-top:26px}.editorial-panel .editorial-posts .post-row{border-color:#c5a36b55;border-radius:9px;padding:22px 18px}.editorial-posts .meta{color:#eab775;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.editorial-posts .list-title{margin-top:12px;font-size:22px}.editorial-posts .list-text{font-size:13px}.editorial-ideas .editorial-card{border-color:#fff2}.editorial-panel .editorial-matches .match{box-shadow:none;background:linear-gradient(120deg,#eab77509,#ffffff02);border:1px solid #c5a36b55;border-radius:9px;justify-content:space-between;align-items:center;gap:20px;padding:16px;transition:border-color .2s,background .2s;display:flex}.editorial-panel .editorial-matches .match:hover,.editorial-panel .editorial-matches .match:focus-visible{background:#eab7750c;border-color:#eab77599}.memory-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:8px;display:flex}.memory-read-more{color:#eab775;flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:650;display:flex}.editorial-matches .meta{color:#eab775;letter-spacing:.08em;text-transform:uppercase;font-size:10px;display:block}.shell .editorial-matches h3{color:#f8f4ec;margin:16px 0 12px;font-size:clamp(18px,1.65vw,25px);font-weight:750;line-height:1.35}.match-teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.match-teams>.team-badge{text-align:center;flex-direction:column}.team-badge{align-items:center;gap:10px;min-width:0;display:inline-flex}.team-badge>span{overflow-wrap:anywhere}.team-crest{object-fit:contain;flex-shrink:0;width:48px;height:48px}.editorial-matches .match>div{width:100%;min-width:0}.editorial-matches .archive-score{flex-shrink:0}.editorial-detail .match-score.large{flex-wrap:wrap;gap:18px}@media (max-width:599px){.editorial-panel .editorial-matches .match{flex-direction:column;align-items:stretch;gap:16px}.editorial-matches .archive-score{align-self:center}.match-teams,.team-badge{gap:8px}.team-crest{width:36px;height:36px}}.editorial-matches p{color:#a4abad;margin:0;font-size:11px}.archive-score{color:#ffd092;letter-spacing:.05em;white-space:nowrap;font-size:32px}.editorial-panel .form{grid-template-columns:1fr 1fr;gap:16px 12px;display:grid}.editorial-panel .form>label{letter-spacing:.03em;font-size:11px;font-weight:600}:is(.editorial-panel .form>label:has(textarea),.editorial-panel .form>p){grid-column:1/-1}.editorial-panel .form input,.editorial-panel .form textarea{color:#eee;background:#ffffff04;border:1px solid #c4a57140;border-radius:7px;padding:12px 14px;font-size:12px}.editorial-panel .form textarea{min-height:110px}.editorial-panel .form>button{justify-self:start}.editorial-panel .form .hp{position:absolute}.editorial-panel :is(a,button):focus-visible{outline-offset:3px;outline:2px solid #eab775}@media (min-width:1800px){.shell .panel.editorial-panel{width:min(960px,55vw)}.shell .editorial-panel .panel-inner{padding:50px}}@media (max-width:899px){.shell .panel.editorial-panel{width:calc(100% - 28px);max-height:none;top:92px;bottom:14px;right:14px}.shell .editorial-panel .panel-inner{padding:36px 24px}.shell .editorial-heading h1,.shell .editorial-detail>h1{font-size:34px}}@media (max-width:540px){.shell .editorial-panel .panel-inner{padding:36px 20px}.editorial-grid,.editorial-feature{grid-template-columns:1fr}.editorial-feature{gap:22px}.project-dashboard{justify-self:center;max-width:300px}.editorial-stats{gap:6px}.editorial-stats strong{font-size:14px}.editorial-stats span{font-size:10px}.editorial-stats>div+div{padding-left:8px}.editorial-panel .form{grid-template-columns:1fr}.archive-score{font-size:25px}.editorial-eyebrow>span{letter-spacing:.17em}}.editorial-feature .feature-subtitle{color:#eab775;margin:0 0 10px;font-size:14px;line-height:1.4}.shell .panel-inner{overscroll-behavior:contain}.shell.is-3d .view-controls{-webkit-backdrop-filter:none;backdrop-filter:none;background:#11191df2;border:1px solid #eab77540;border-radius:10px;gap:3px;padding:5px;animation:none;inset:108px auto auto 24px;transform:none;box-shadow:0 8px 25px #0003}.shell.is-3d .view-controls .segment{color:#c9cccc;border-radius:6px;padding:9px 12px;font-size:12px}.shell.is-3d .view-controls .segment:hover{color:#ffd092;background:#eab77516}.shell.is-3d .view-controls svg{color:#eab775;width:16px;height:16px}.shell.is-3d .zoom-controls,.shell.is-3d.has-panel .zoom-controls{-webkit-backdrop-filter:none;background:#11191df2;border:1px solid #eab77540;border-radius:10px;flex-direction:row;gap:7px;padding:6px;inset:auto auto 72px 24px;transform:none;box-shadow:0 8px 25px #0003}.shell.is-3d .zoom-controls button{color:#eab775;border-radius:5px;width:29px;height:29px;font-size:19px}.shell.is-3d .zoom-controls input{writing-mode:horizontal-tb;accent-color:#eab775;direction:ltr;width:100px;height:18px}.shell.is-3d.has-panel .time-controls{max-width:calc(100vw - min(780px,57vw) - 70px);left:24px;transform:none}@media (max-width:899px){.shell.is-3d .view-controls{top:86px;left:14px}.shell.is-3d .view-controls .segment{padding:7px 9px;font-size:11px}.shell.is-3d.has-panel .panel{top:142px;bottom:14px}.shell.is-3d.has-panel .zoom-controls{inset:86px 14px auto auto}.shell.is-3d.has-panel .time-controls{display:none}.shell.is-3d.has-panel .zoom-controls input{width:62px}}@media (max-width:440px){.shell.is-3d.has-panel .zoom-controls input{display:none}.shell.is-3d .view-controls .segment{gap:5px;padding:7px}}.shell .portfolio-header .topbar-actions .chip{color:#e4e3e7;min-width:42px;height:42px;min-height:42px;box-shadow:none;-webkit-backdrop-filter:none;background:#11191db3;border:1px solid #ffffff29;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:12px;font-weight:600}.shell .portfolio-header .topbar-actions .header-light{width:42px;padding:0}.shell .portfolio-header .topbar-actions .chip svg{width:19px;height:19px}.shell .portfolio-header .topbar-actions .chip:hover{color:#ffd092;background:#eab77512;border-color:#eab77570}.shell .portfolio-header .topbar-actions .header-light[aria-pressed=false]{color:#e4e3e7;background:#11191db3}@media (max-width:599px){.shell .portfolio-header .topbar-actions .chip{min-width:38px;height:38px;min-height:38px;padding-inline:11px;font-size:11px}.shell .portfolio-header .topbar-actions .header-light{width:38px;padding:0}}.technology-groups{grid-template-columns:minmax(0,1fr);gap:30px;margin-top:24px;display:grid}.technology-group{border-top:1px solid #d2ad6d30;min-width:0;padding-top:20px}.shell .technology-group h3{color:#eab775;margin:0 0 18px;font-size:16px;font-weight:650;line-height:1.5}.editorial-panel .technology-group .technology-tags{gap:10px;margin:0}.shell .panel.editorial-panel{flex-direction:column;display:flex}.shell .editorial-panel .panel-inner{scrollbar-gutter:stable;flex:1;height:auto;min-height:0;padding-bottom:48px}.shell .editorial-panel .panel-inner:focus-visible{outline-offset:-4px;outline:1px solid #eab77580}.contact-content>.social{border-bottom:1px solid #d2ad6d30;margin:0 0 24px;padding-bottom:22px}.contact-content .editorial-eyebrow{margin-bottom:20px}.shell .contact-content .editorial-heading h1{margin-bottom:16px;font-size:clamp(28px,2.5vw,40px)}.contact-content .editorial-intro{margin-bottom:20px}.contact-note-heading{color:#eab775;margin:0 0 14px;font-size:18px}.contact-preference{border:0;align-items:center;gap:14px;margin:0;padding:0;font-size:11px;display:flex}.contact-preference legend{float:left;margin-right:10px;font-weight:600}.contact-preference label{flex-direction:row;align-items:center;gap:6px;font-weight:500;display:inline-flex}.contact-preference input{accent-color:#eab775;width:auto}.form-note{color:#9fa8aa;font-size:11px;line-height:1.5}@media (max-width:899px){.shell .panel.editorial-panel{height:auto}}.shell .editorial-matches .memory-title{color:#ffd092;margin:0;font-size:clamp(22px,2vw,30px);font-weight:750;line-height:1.3}.memory-meta{color:#aeb4b4;flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-size:12px;line-height:1.6;display:flex}.memory-meta time{white-space:nowrap}.editorial-matches .match-teams{color:#f8f4ec;margin-top:14px;font-size:clamp(16px,1.5vw,22px);font-weight:650;line-height:1.35}.hobbies-content{container-type:inline-size}.shell .hobbies-content .editorial-heading h1{white-space:nowrap;font-size:clamp(12px,4cqw,32px);line-height:1.25}.hobbies-content .hobby-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px}.hobbies-content .hobby-grid>li{min-width:0}.hobbies-content .hobby-card{padding:18px 14px}.hobbies-content .hobby-card h3{flex-wrap:wrap;align-items:center;gap:6px;min-height:30px;display:flex}.hobbies-content .hobby-card h3 .badge{margin-left:0}.hobbies-content .hobby-card .list-text{min-height:58px}@container (max-width:520px){.hobbies-content .hobby-grid{scroll-snap-type:x proximity;grid-template-columns:repeat(3,minmax(150px,1fr));padding-bottom:12px;overflow-x:auto}.hobbies-content .hobby-grid>li{scroll-snap-align:start}}.editorial-matches .match-teams>.team-badge{gap:6px}.editorial-matches .team-crest{width:38px;height:38px}.portfolio-tour .welcome-stack{width:396px}.portfolio-tour .welcome-stack ul{grid-template-columns:repeat(9,minmax(0,1fr));gap:clamp(4px,.6vw,9px);display:grid}.portfolio-tour .welcome-stack li{aspect-ratio:1;width:100%;min-width:0;height:auto}.portfolio-tour .welcome-stack .tech-logo{width:65%;height:65%}.portfolio-summary{z-index:25;background:var(--surface,#101719);max-width:min(360px,100vw - 48px);color:var(--text,#eee);border:1px solid #a0aab440;border-radius:16px;padding:12px 16px;font-size:12px;line-height:1.6;position:fixed;top:92px;right:24px}.portfolio-summary summary{cursor:pointer}.portfolio-summary details[open]{max-height:55vh;overflow:auto}.portfolio-summary h1{margin:12px 0;font-size:18px}.portfolio-summary p{margin:10px 0}.portfolio-summary nav{gap:8px;display:grid}.portfolio-summary a{text-decoration:underline}.is-2d .portfolio-summary{top:auto;bottom:16px}@media (max-width:700px){.portfolio-summary{max-width:calc(100vw - 32px);font-size:11px;top:150px;right:16px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
