@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");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}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;--ink:#f4f4ef;--muted:#aaa9a4;--faint:#92928d;--void:#050505;--line:#f4f4ef2b;--panel:#050505f0;--amber:#f0a56b;--amber-soft:#f0a56b29;--ease:cubic-bezier(.22, 1, .36, 1);font-family:Space Grotesk Variable,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html{overflow-anchor:none;background:var(--void);scroll-behavior:auto;min-width:320px;min-height:100%}body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--void);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}button,input,select,textarea,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation;color:inherit}::selection{color:var(--void);background:var(--ink)}:focus-visible{outline:2px solid var(--amber);outline-offset:4px}.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}.app-shell{isolation:isolate;background:var(--void);min-height:100%;position:relative;overflow-x:clip}.scene-layer{z-index:1;position:fixed;inset:0}.scene-static{opacity:0;pointer-events:none;transition:opacity .45s ease-out;position:absolute;inset:0}.scene-static[data-visible=true]{opacity:.16}.scene-webgl{opacity:0;pointer-events:none;transition:opacity .45s ease-out;position:absolute;inset:0}.scene-webgl[data-ready=true]{opacity:.62;pointer-events:auto}.scene-layer:after{z-index:2;pointer-events:none;content:"";opacity:0;background:linear-gradient(#05050552,#0000 19% 81%,#05050557);transition:opacity .24s ease-out;position:absolute;inset:0}.app-shell[data-guided-travel=true] .scene-layer:after{opacity:1}.scene-layer canvas{cursor:grab;opacity:.92;touch-action:pan-y pinch-zoom;transition:opacity .5s ease-out;display:block;width:100%!important;height:100%!important}.app-shell[data-cinematic=true] .scene-layer canvas{touch-action:pinch-zoom}.app-shell[data-cinematic=true] .scene-webgl,.app-shell[data-world-active] .scene-webgl,.scene-layer canvas[data-rotation-state=dragging]{opacity:1}.scene-layer canvas[data-rotation-state=dragging]{cursor:grabbing}.scene-loading{position:absolute;inset:0}.reading-veil{z-index:1;pointer-events:none;opacity:0;width:min(72vw,1100px);transition:opacity .5s ease-out;position:absolute;top:0;bottom:0}.reading-veil--left{background:linear-gradient(90deg, var(--void) 0 48%, #050505d1 68%, transparent 100%);left:0}.reading-veil--right{background:linear-gradient(270deg, var(--void) 0 48%, #050505d1 68%, transparent 100%);right:0}.app-shell[data-reading-side=left] .reading-veil--left,.app-shell[data-reading-side=right] .reading-veil--right{opacity:1}.app-shell[data-active-chapter=project-002] .reading-veil,.app-shell[data-active-chapter=contact] .reading-veil{width:min(76vw,1160px)}.app-shell[data-active-chapter=project-002] .reading-veil--right,.app-shell[data-active-chapter=contact] .reading-veil--right{background:linear-gradient(270deg,#050505eb 0,#050505d6 32%,#050505a3 58%,#05050542 78%,#0000 100%)}.app-shell[data-cinematic=true] .reading-veil,.app-shell[data-graphics-ready=true][data-reduced-motion=false] .reading-veil,.app-shell[data-graphics-ready=true][data-reduced-motion=false] .chapter-plane:before,.app-shell[data-graphics-ready=true][data-reduced-motion=false] .scene-layer:after{opacity:0}.app-shell[data-graphics-ready=true][data-reduced-motion=false] .chapter-plane{text-shadow:0 1px 2px var(--void), 0 0 4px var(--void)}.topbar{z-index:20;top:max(16px, env(safe-area-inset-top));right:max(clamp(20px, 3vw, 50px), calc(env(safe-area-inset-right) + 12px));left:max(clamp(20px, 3vw, 50px), calc(env(safe-area-inset-left) + 12px));pointer-events:none;border:1px solid var(--line);color:var(--muted);transition:opacity .3s ease, transform .45s var(--ease);background:#0e0e0df5;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:5px 16px;font-size:13px;display:flex;position:fixed;box-shadow:0 8px 32px #0003}.topbar a{pointer-events:auto}.signal-mark{cursor:pointer;min-width:0;min-height:44px;color:var(--ink);font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:9px;padding:0;text-decoration:none;display:inline-flex}.signal-mark:before{content:"";background:var(--amber);border-radius:2px;flex:none;width:7px;height:7px}.top-actions{flex:none;align-items:center;gap:clamp(4px,1vw,16px);display:flex}.text-action{cursor:pointer;min-width:44px;min-height:44px;color:var(--muted);font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;padding:0 10px;text-decoration:none;transition:color .18s,background-color .18s;display:inline-flex}.text-action:hover{color:var(--ink);background:#ffffff0d}.text-action[href="/?view=tools"]{color:var(--amber);background:var(--amber-soft)}.graphics-mode{z-index:20;top:max(80px, calc(env(safe-area-inset-top) + 64px));right:max(clamp(20px, 3vw, 50px), calc(env(safe-area-inset-right) + 12px));pointer-events:auto;border:1px solid var(--line);background:#0e0e0df5;border-radius:12px;gap:2px;font-size:12px;display:flex;position:fixed}.graphics-mode button{cursor:pointer;min-width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:11px;padding:0 12px}.graphics-mode button:hover,.graphics-mode button:focus-visible{color:var(--ink)}.graphics-mode button[aria-pressed=true]{color:var(--ink);text-underline-offset:5px;background:#ffffff12;text-decoration:underline;text-decoration-thickness:1px}.progress-nav{z-index:18;top:50%;left:max(clamp(18px, 2.8vw, 48px), calc(env(safe-area-inset-left) + 12px));pointer-events:auto;transition:opacity .3s;position:fixed;transform:translateY(-50%)}.progress-nav ol{gap:1px;margin:0;padding:0;list-style:none;display:grid}.progress-nav a{cursor:pointer;min-height:38px;color:var(--muted);text-align:left;transition:color .18s ease, transform .28s var(--ease);background:0 0;border:0;grid-template-columns:24px auto;align-items:center;gap:9px;padding:0;text-decoration:none;display:grid}.progress-nav a:hover,.progress-nav a[aria-current]{color:var(--ink);transform:translate(4px)}.progress-nav span{font:9px JetBrains Mono Variable,monospace}.progress-nav b{font-size:12px;font-weight:450;position:relative}.progress-nav a[data-travel-target=true]{color:#bdbdb8}.progress-nav a[data-travel-target=true] b:after{content:"";opacity:.35;transform-origin:0;height:1px;animation:travel-scan .4s var(--ease) both;background:currentColor;position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(.2)}main{z-index:5;pointer-events:none;position:relative}.chapter{min-height:var(--chapter-height);pointer-events:none;position:relative}.chapter-copy{--chapter-x:0px;--chapter-y:0px;--chapter-z:0px;--chapter-rx:0deg;--chapter-ry:0deg;--chapter-rz:0deg;--chapter-field-turn:0deg;--chapter-opacity:1;--chapter-depth:1;--chapter-field-opacity:.18;pointer-events:auto;width:min(42vw,640px);min-height:100svh;padding:max(112px,16svh) 0;position:relative}.chapter-plane{isolation:isolate;opacity:var(--chapter-opacity);transform:translate3d(var(--chapter-x), var(--chapter-y), var(--chapter-z)) rotateX(var(--chapter-rx)) rotateY(var(--chapter-ry)) rotateZ(var(--chapter-rz));transform-origin:0;transform-style:preserve-3d;backface-visibility:hidden;position:relative}.chapter-copy--right .chapter-plane{transform-origin:100%}.chapter[data-active=true] .chapter-plane,.chapter[data-active=true]+.chapter .chapter-plane{will-change:transform, opacity}.chapter-plane:before{z-index:-1;pointer-events:none;content:"";position:absolute;top:-6svh;bottom:-8svh;transform:translateZ(-28px);-webkit-mask-image:linear-gradient(#0000,#000 10% 90%,#0000);mask-image:linear-gradient(#0000,#000 10% 90%,#0000)}.chapter-copy--left{--copy-edge:clamp(200px, 14.5vw, 230px);margin-left:var(--copy-edge)}.chapter-copy--left .chapter-plane:before{right:-14vw;left:calc(var(--copy-edge) * -1);background:linear-gradient(90deg,#050505f0 0,#050505e0 38%,#050505ad 66%,#05050552 82%,#05050514 94%,#0000 100%)}.chapter-copy--right{--copy-edge:clamp(70px, 8vw, 130px);margin-right:var(--copy-edge);margin-left:auto}.chapter-eyebrow{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 20px;font:12px JetBrains Mono Variable,monospace;display:flex;transform:translateZ(22px)}.chapter-eyebrow:before{content:"";background:var(--amber);width:24px;height:1px}.chapter-copy--right .chapter-plane:before{right:calc(var(--copy-edge) * -1);background:linear-gradient(270deg,#050505f0 0,#050505e0 38%,#050505ad 66%,#05050552 82%,#05050514 94%,#0000 100%);left:-14vw}.chapter[data-active=true] .chapter-eyebrow{color:#d1d1cb}.chapter h1,.chapter h2{max-width:12ch;color:var(--ink);font-variation-settings:"wght" 470;letter-spacing:-.045em;text-wrap:balance;margin:0;scroll-margin-top:96px;font-size:clamp(48px,5.8vw,88px);font-weight:470;line-height:.96;transform:translateZ(30px)}.chapter .origin-title{white-space:nowrap;max-width:none;font-size:clamp(80px,6.7vw,96px);line-height:.94}.chapter-summary{color:#d4d4cf;font-variation-settings:"wght" 420;text-wrap:pretty;max-width:38ch;margin:28px 0 0;font-size:clamp(17px,1.28vw,20px);font-weight:420;line-height:1.6;transform:translateZ(16px)}.chapter-note{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:24px;font:9px/1.6 JetBrains Mono Variable,monospace;transform:translateZ(8px)}.chapter-details{color:#c7c7c1;text-wrap:pretty;max-width:48ch;margin-top:32px;font-size:16px;line-height:1.68;transform:translateZ(8px)}.chapter h2,.chapter-summary,.chapter-details{transition:opacity .45s var(--ease), transform .6s var(--ease)}.app-shell[data-world-active] .chapter[data-active=true] h2{opacity:.42;transform:translate3d(0,-4px,30px)}.app-shell[data-world-active] .chapter[data-active=true] .chapter-summary{opacity:.42;transform:translate3d(0,-4px,16px)}.app-shell[data-world-active] .chapter[data-active=true] .chapter-details{opacity:.24;transform:translate3d(0,-5px,8px)}.chapter-details>p{margin:0 0 12px}.chapter-details dl{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:6px 18px;margin:22px 0 0;padding-top:16px;display:grid}.chapter-details dt,.chapter-records span{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font:8px JetBrains Mono Variable,monospace}.chapter-details dd{color:var(--ink);margin:0}.chapter-records article{border-top:1px solid var(--line);padding:16px 0}.chapter-records h3{color:var(--ink);margin:7px 0;font-size:16px;font-weight:500}.chapter-records p{margin:4px 0}.project-link{min-height:42px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;transition:color .18s ease, transform .25s var(--ease);align-items:center;gap:9px;margin-top:14px;font:9px JetBrains Mono Variable,monospace;text-decoration:none;display:inline-flex}.project-link:hover,.project-link:focus-visible{color:var(--ink);transform:translate(4px)}.project-intro-actions{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:22px;display:flex}.project-intro-actions .project-link{margin-top:0}.project-link--primary{min-height:44px;color:var(--ink);text-underline-offset:5px;padding:0;text-decoration:underline}.project-link--primary:hover,.project-link--primary:focus-visible{color:var(--ink);transform:none}.project-status-note{color:var(--muted);font:12px/1.45 JetBrains Mono Variable,monospace}.project-resources{flex-wrap:wrap;gap:8px 18px;display:flex}.chapter-project-001 .chapter-copy,.chapter-project-002 .chapter-copy{padding-top:max(88px,10svh);padding-bottom:max(88px,10svh)}.project-case-study{max-width:58ch;margin-top:30px}.project-case-study .project-meta{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);gap:7px 18px;margin-top:14px;padding:16px 0}.project-status{color:#d6d6d0;letter-spacing:.1em;text-transform:uppercase;padding:0;font:12px/1.5 JetBrains Mono Variable,monospace;display:inline-flex}.project-case-study h3{color:var(--ink);letter-spacing:.11em;text-transform:uppercase;margin:0 0 9px;font:500 12px/1.4 JetBrains Mono Variable,monospace}.project-case-study ul:not(.project-stack){gap:8px;margin:9px 0 0;padding-left:20px;display:grid}.project-technology{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.project-stack{flex-wrap:wrap;gap:7px 18px;margin:10px 0 0;padding:0;list-style:none;display:flex}.project-stack li{color:#d2d2cc;text-transform:none;align-items:center;font:12px/1.5 JetBrains Mono Variable,monospace;display:inline-flex}.skill-groups{border-bottom:1px solid var(--line);gap:0;margin-top:30px;display:grid}.skill-groups section{border-top:1px solid var(--line);grid-template-columns:minmax(108px,.34fr) minmax(0,1fr);align-items:baseline;gap:18px;padding:18px 0;display:grid}.skill-groups h3{color:var(--ink);letter-spacing:.1em;text-transform:uppercase;margin:0;font:500 12px/1.5 JetBrains Mono Variable,monospace}.skill-groups .project-stack{margin:0}.chapter-supplemental{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));column-gap:28px;max-width:56ch;margin-top:28px;display:grid}.chapter-supplemental section{border-top:1px solid var(--line);min-width:0;padding:17px 0 18px}.chapter-supplemental section:last-child:nth-child(odd){grid-column:1/-1}.chapter-supplemental h3{color:var(--ink);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font:500 12px/1.45 JetBrains Mono Variable,monospace}.chapter-supplemental p{color:#bdbdb7;margin:0;font-size:15px;line-height:1.6}.chapter-supplemental a{min-height:44px;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:7px;margin-top:6px;font:12px JetBrains Mono Variable,monospace;text-decoration:none;display:inline-flex}.chapter-supplemental a:hover,.chapter-supplemental a:focus-visible{text-underline-offset:4px;text-decoration:underline}.architecture-proof{border-top:1px solid var(--line);max-width:58ch;margin-top:34px;padding-top:28px;transform:translateZ(8px)}.architecture-flow{border:1px solid var(--line);background:#050505c2;margin:0;padding:14px}.architecture-flow figcaption{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;font:12px JetBrains Mono Variable,monospace}.architecture-flow ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.architecture-flow li{border:1px solid var(--line);background:#ffffff09;min-width:0;padding:11px;position:relative}.architecture-flow li:not(.architecture-flow-renderer):after{z-index:1;content:"↓";color:var(--amber);font:12px JetBrains Mono Variable,monospace;position:absolute;bottom:-13px;left:50%;transform:translate(-50%)}.architecture-flow-renderer{grid-column:1/-1;margin-top:8px;border-color:#f0a56b6b!important}.architecture-flow strong,.architecture-flow span{overflow-wrap:anywhere;display:block}.architecture-flow strong{color:var(--ink);font:12px JetBrains Mono Variable,monospace}.architecture-flow span{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.4}.architecture-panel{margin-top:10px;transform:none}.control-hint{max-width:45ch;color:var(--muted);margin:8px 0 0;font:12px/1.55 JetBrains Mono Variable,monospace}.architecture-panel>summary{cursor:pointer;border:1px solid var(--line);min-height:48px;color:var(--ink);letter-spacing:.12em;text-transform:uppercase;background:#050505d6;justify-content:space-between;align-items:center;gap:16px;padding:0 12px;font:10px JetBrains Mono Variable,monospace;list-style:none;transition:background .18s,border-color .18s;display:flex}.architecture-panel>summary::-webkit-details-marker{display:none}.architecture-panel>summary:after{content:"+";color:var(--muted);font-size:15px}.architecture-panel[open]>summary:after{content:"−"}.architecture-panel>summary:hover,.architecture-panel>summary:focus-visible,.architecture-panel[open]>summary{background:#ffffff12;border-color:#fff6}.architecture-panel>summary small{color:var(--faint);letter-spacing:.09em;margin-left:auto;font:8px JetBrains Mono Variable,monospace}.architecture-panel-body{padding-top:16px}.architecture-controls{grid-template-columns:repeat(2,1fr);gap:5px;margin-top:14px;display:grid}.architecture-controls button{cursor:pointer;border:1px solid var(--line);color:#aaa;text-align:left;text-transform:uppercase;background:#050505d6;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;min-height:48px;padding:7px 9px;font:10px JetBrains Mono Variable,monospace;display:grid}.architecture-controls button:hover,.architecture-controls button[aria-pressed=true]{color:var(--ink);background:#ffffff14;border-color:#777}.architecture-controls strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.architecture-controls em{color:var(--faint);letter-spacing:.08em;font:8px JetBrains Mono Variable,monospace}.architecture-controls button[aria-pressed=true] em{color:var(--ink)}.contact-uplink{border-top:1px solid var(--line);gap:0;max-width:38ch;margin:30px 0 0;padding:0;list-style:none;display:grid;transform:translateZ(8px)}.contact-uplink li{border-bottom:1px solid var(--line);padding:13px 0}.contact-uplink a,.contact-uplink li>span{min-width:0;color:var(--muted);text-transform:uppercase;justify-content:space-between;gap:16px;font:9px JetBrains Mono Variable,monospace;text-decoration:none;display:flex}.contact-uplink a span,.contact-uplink strong{min-width:0;color:var(--ink);overflow-wrap:anywhere;text-align:right;font-weight:500}.contact-uplink a{min-height:44px;transition:color .18s ease, transform .25s var(--ease);align-items:center}.contact-uplink li:first-child a span{letter-spacing:0;text-transform:none;font-family:Space Grotesk Variable,sans-serif;font-size:clamp(17px,1.5vw,21px);font-weight:500}.contact-uplink a:hover,.contact-uplink a:focus-visible{color:var(--ink);transform:translate(4px)}.graphics-recovery{z-index:24;right:max(clamp(20px, 3vw, 50px), calc(env(safe-area-inset-right) + 12px));bottom:max(52px, calc(env(safe-area-inset-bottom) + 44px));background:var(--panel);max-width:min(420px,100vw - 40px);color:var(--muted);text-transform:uppercase;border:1px solid #ffffff52;align-items:center;gap:12px;padding:10px 12px;font:9px/1.45 JetBrains Mono Variable,monospace;display:flex;position:fixed}.graphics-recovery button{cursor:pointer;border:1px solid var(--line);min-height:40px;color:var(--ink);text-transform:uppercase;background:#ffffff12;flex:none;padding:0 10px}.graphics-recovery button:hover{background:#ffffff24;border-color:#ffffff80}.app-shell[data-cinematic=true] .topbar{opacity:0;transform:translateY(-12px)}.app-shell[data-cinematic=true] .progress-nav{opacity:0}.app-shell[data-cinematic=true] .chapter[data-active=true] .chapter-copy{pointer-events:none}.app-shell[data-cinematic=true] .chapter[data-active=true] .chapter-plane{opacity:0;transform:translate3d(var(--chapter-x), calc(var(--chapter-y) + 18px), var(--chapter-z)) rotateX(var(--chapter-rx)) rotateY(var(--chapter-ry)) rotateZ(var(--chapter-rz)) scale(.985);transition:opacity .35s ease, transform .55s var(--ease)}.cinematic-world{z-index:60;pointer-events:none;position:fixed;inset:0;overflow:hidden}.cinematic-frame{border:1px solid #fff3;position:absolute;inset:0}.cinematic-world--artifact .cinematic-frame{background:radial-gradient(circle at 58% 43%,#0000 0 17%,#0000001f 32%,#000000ad 100%)}.cinematic-card{z-index:1;top:max(112px, calc(env(safe-area-inset-top) + 72px));bottom:max(72px, calc(env(safe-area-inset-bottom) + 62px));box-sizing:border-box;pointer-events:auto;width:clamp(440px,38vw,560px);animation:cinematic-card-in .58s var(--ease) both;background:linear-gradient(115deg,#050505fc,#050505f2);border:1px solid #ffffff4d;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 28px 90px #000000ad}.cinematic-world--artifact .cinematic-card{left:max(clamp(70px, 8vw, 132px), calc(env(safe-area-inset-left) + 12px))}.cinematic-card-body{overscroll-behavior:contain;min-width:0;min-height:0;padding:22px;overflow:hidden auto}.cinematic-card h2{letter-spacing:-.055em;overflow-wrap:anywhere;text-wrap:balance;max-width:100%;margin:0 0 16px;font-size:clamp(34px,3.6vw,52px);font-weight:430;line-height:.9}.cinematic-description{color:#bcbcb7;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.cinematic-component-switcher{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:20px;display:grid}.cinematic-component-switcher button{cursor:pointer;border:1px solid var(--line);min-width:0;min-height:44px;color:var(--muted);text-transform:uppercase;background:#ffffff09;padding:7px 8px;font:9px/1.35 JetBrains Mono Variable,monospace;transition:background-color .18s,border-color .18s,color .18s}.cinematic-component-switcher button:hover,.cinematic-component-switcher button[aria-pressed=true]{color:var(--ink);background:#ffffff1a;border-color:#ffffff85}.cinematic-section{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.cinematic-section h3{color:var(--ink);letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;font:500 9px JetBrains Mono Variable,monospace}.cinematic-section>p{color:var(--muted);text-wrap:pretty;margin:0;font-size:13px;line-height:1.55}.cinematic-flow{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:6px;display:grid}.cinematic-flow-cell{border:1px solid var(--line);background:#ffffff09;min-width:0;padding:10px}.cinematic-flow-cell span{color:var(--faint);letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px;font:8px JetBrains Mono Variable,monospace;display:block}.cinematic-flow-cell p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.4}.cinematic-flow-arrow{color:var(--faint);align-self:center;font:10px JetBrains Mono Variable,monospace}.cinematic-close{z-index:2;top:max(clamp(39px, 6.8vh, 75px), calc(env(safe-area-inset-top) + 36px));right:max(clamp(20px, 3vw, 52px), calc(env(safe-area-inset-right) + 12px));pointer-events:auto;cursor:pointer;min-height:42px;color:var(--ink);letter-spacing:.12em;white-space:nowrap;text-transform:uppercase;background:0 0;border:0;padding:0;font:9px JetBrains Mono Variable,monospace;position:absolute}.cinematic-close:before{vertical-align:middle;content:"";background:currentColor;width:20px;height:1px;margin-right:9px;display:inline-block}.cinematic-hint{z-index:1;right:0;bottom:max(16px, env(safe-area-inset-bottom));color:var(--faint);letter-spacing:.14em;text-align:center;text-transform:uppercase;margin:0;font:8px JetBrains Mono Variable,monospace;position:absolute;left:0}.static-constellation{background:var(--void);position:absolute;inset:0;overflow:hidden}.static-constellation:before{content:"";opacity:.45;background-image:radial-gradient(circle,#f4f4ef52 0 .6px,#0000 .9px);background-position:18px 24px;background-size:132px 132px;position:absolute;inset:0}.static-spine{background:#f4f4ef29;width:1px;position:absolute;top:16%;bottom:16%;left:58%;transform:rotate(12deg)}.static-constellation[data-particle-side=left] .static-spine{left:42%}.static-machine,.fallback-silhouette{display:none}.skip-link{z-index:100;background:var(--ink);color:var(--void);padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.toolbox-loading{pointer-events:auto;text-align:center;place-content:center;gap:12px;min-height:100vh;padding:24px;display:grid}.toolbox-loading h1,.toolbox-loading p{margin:0}.toolbox-loading a{border:1px solid var(--line);min-height:44px;padding:12px;text-decoration:none}.toolbox-shell{background:radial-gradient(ellipse at 85% 0, #f0a56b14, transparent 32rem), var(--void);min-height:100svh}.toolbox-topbar{min-height:80px;padding:8px max(clamp(18px, 4vw, 64px), env(safe-area-inset-right), env(safe-area-inset-left));padding-top:max(8px, env(safe-area-inset-top));border-bottom:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:24px;font:12px JetBrains Mono Variable,monospace;display:flex}.toolbox-topbar>a{color:var(--ink)}.toolbox-topbar nav{flex-wrap:wrap;gap:4px;display:flex}.toolbox-topbar a{border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0 10px;text-decoration:none;display:inline-flex}.toolbox-topbar>a{padding-left:0}.toolbox-topbar nav a{color:var(--muted)}.toolbox-topbar nav a:first-child{background:var(--amber-soft);color:var(--amber)}.toolbox-topbar a:hover,.toolbox-topbar a:focus-visible{color:var(--ink);text-underline-offset:5px;text-decoration:underline}.toolbox-main{width:min(1120px, calc(100% - 2 * max(20px, env(safe-area-inset-left), env(safe-area-inset-right))));padding:clamp(44px, 7vw, 82px) 0 max(96px, env(safe-area-inset-bottom));pointer-events:auto;margin:0 auto}.toolbox-main>h1{letter-spacing:-.05em;text-wrap:balance;max-width:18ch;margin:0;font-size:clamp(42px,6vw,76px);font-weight:470;line-height:.92}.toolbox-intro{max-width:58ch;color:var(--muted);margin:20px 0 0;font-size:clamp(16px,1.4vw,19px);line-height:1.6}.tool-grid{counter-reset:tool;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px;display:grid}.tool-card{border:1px solid var(--line);background:linear-gradient(135deg,#131312,#0c0c0b);border-radius:18px;min-width:0;padding:clamp(20px,3vw,30px);scroll-margin-top:24px}.tool-card:before{color:var(--amber);content:"0" counter(tool);counter-increment:tool;margin-bottom:16px;font:11px JetBrains Mono Variable,monospace;display:block}.tool-card--wide{grid-column:1/-1}.tool-card h2{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(24px,2.5vw,32px);font-weight:470}.tool-card>p{color:var(--muted);margin:10px 0 24px;font-size:15px;line-height:1.6}.tool-card label,.tool-result>strong{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font:12px JetBrains Mono Variable,monospace;display:block}.tool-card input,.tool-card select,.tool-card textarea{width:100%;min-width:0;color:var(--ink);background:#0b0b0b;border:1px solid #f4f4ef40;border-radius:10px;padding:12px;font:13px/1.55 JetBrains Mono Variable,monospace;display:block}.tool-card select{min-height:46px;margin-bottom:14px}.tool-card textarea{resize:vertical;min-height:118px}.tool-card input::placeholder{color:var(--faint)}.tool-card>button,.tool-actions button,.tool-result-heading button{cursor:pointer;min-height:44px;color:var(--ink);letter-spacing:.04em;text-transform:uppercase;background:#ffffff12;border:1px solid #f4f4ef47;border-radius:9px;padding:0 13px;font:12px JetBrains Mono Variable,monospace}.tool-card>button{margin-top:12px}.tool-actions button:first-child{background:var(--amber-soft);color:var(--amber);border-color:#f0a56b7a}.tool-card button:hover,.tool-card button:focus-visible{border-color:var(--amber);color:var(--ink);background:#f0a56b38}.tool-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.tool-result{background:#ffffff09;border-left:3px solid #8bbf98;min-width:0;margin-top:18px;padding:14px}.tool-result[data-valid=false]{border-left-color:#e48a75}.tool-result-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.tool-result-heading>strong{margin:0}.tool-result-heading button{flex:none}.tool-result pre{max-width:100%;max-height:360px;color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word;margin:0;font:12px/1.55 JetBrains Mono Variable,monospace;overflow:auto}.copy-feedback{color:var(--muted);margin-top:10px;font-size:13px;line-height:1.45;display:block}.pdf-feature{background:radial-gradient(at 100% 0,#f0a56b1f,#0000 70%),#141310;border:1px solid #f0a56b4d;border-radius:20px;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:32px;margin-top:36px;padding:clamp(24px,4vw,42px);scroll-margin-top:24px;display:grid}.pdf-feature-copy{min-width:0}.utility-eyebrow{color:var(--amber);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font:11px/1.5 JetBrains Mono Variable,monospace;display:block}.pdf-feature h2{letter-spacing:-.045em;margin:0;font-size:clamp(36px,4vw,52px);font-weight:470}.pdf-feature-copy>p:not(.utility-eyebrow,.pdf-privacy){color:#c7c7c1;max-width:55ch;font-size:17px;line-height:1.65}.pdf-capabilities{flex-wrap:wrap;gap:8px;margin:20px 0;padding:0;list-style:none;display:flex}.pdf-capabilities li{border:1px solid var(--line);color:#d4d4cf;background:#ffffff0a;border-radius:7px;padding:6px 10px;font-size:12px}.pdf-feature-actions{flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:24px;display:flex}.pdf-feature-actions a{justify-content:center;align-items:center;gap:14px;min-height:48px;text-decoration:none;display:inline-flex}.pdf-launch{background:var(--amber);border:1px solid var(--amber);color:var(--void);border-radius:10px;padding:0 20px;font-size:15px;font-weight:600}.pdf-launch:hover,.pdf-launch:focus-visible{background:#ffc394}.pdf-source{color:var(--muted);font-size:13px}.pdf-source:hover,.pdf-source:focus-visible{color:var(--ink);text-underline-offset:5px;text-decoration:underline}.pdf-feature-copy>.pdf-privacy{color:var(--muted);margin:20px 0 0;font-size:13px;line-height:1.6}.pdf-preview{justify-items:center;gap:28px;display:grid}.pdf-preview-sheet{color:#554134;background:#f0e8db;border:1px solid #fff3de;border-radius:12px;justify-items:start;gap:16px;width:154px;padding:24px;display:grid;position:relative;transform:rotate(7deg);box-shadow:14px 14px #31291f,0 18px 48px #0005}.pdf-preview-sheet>svg{width:34px;height:34px}.pdf-preview-sheet>span{letter-spacing:-.04em;font:500 28px JetBrains Mono Variable,monospace}.pdf-preview-sheet>i{background:#b9aa98;border-radius:2px;width:100%;height:3px}.pdf-preview-sheet>i:last-child{width:65%}.pdf-preview-caption{color:var(--muted);margin-top:10px;font-size:12px}@keyframes travel-scan{to{opacity:1;transform:scaleX(1)}}@keyframes cinematic-card-in{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:none}}.origin-overview{max-width:50ch;margin-top:24px}.origin-overview>p{margin:12px 0 0}.origin-availability{color:#d5d5ce;max-width:42ch;margin:22px 0 0;font-size:16px;line-height:1.5}.origin-actions{flex-wrap:wrap;gap:24px;margin-top:22px;display:flex}.origin-actions a{min-height:44px;color:var(--ink);text-underline-offset:6px;align-items:center;padding:0;font-size:15px;-webkit-text-decoration:underline #f4f4ef75;text-decoration:underline #f4f4ef75;transition:color .18s;display:inline-flex}.origin-actions a:hover,.origin-actions a:focus-visible{color:#fff;text-decoration-color:currentColor}.origin-tool-link{max-width:480px;text-shadow:none;background:linear-gradient(120deg,#f0a56b14,#0e0e0df5);border:1px solid #f0a56b3d;border-radius:16px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:32px;padding:20px;text-decoration:none;transition:border-color .18s,background-color .18s;display:grid}.origin-tool-link:hover,.origin-tool-link:focus-visible{border-color:var(--amber);background-color:#f0a56b0f}.pdf-icon{background:var(--amber-soft);width:42px;height:48px;color:var(--amber);border-radius:10px;place-items:center;display:grid}.pdf-icon>svg{width:28px;height:28px}.origin-tool-link .utility-eyebrow{margin-bottom:5px;font-size:10px}.origin-tool-link strong{color:var(--ink);font-size:15px;font-weight:500;line-height:1.45;display:block}.utility-description{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.5;display:block}.utility-arrow{color:var(--amber);font-size:20px}.chapter-project-001 .chapter-copy,.chapter-project-002 .chapter-copy{width:min(50vw,720px)}.project-case-study>section:not(.project-technology){border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.project-case-study>section>p{margin:8px 0 0}.topbar,.progress-nav b,.chapter-eyebrow,.chapter-note,.project-status,.project-link,.control-hint,.architecture-panel>summary,.contact-uplink a,.contact-uplink li>span,.graphics-recovery,.cinematic-section h3,.cinematic-close{font-size:12px}.progress-nav span,.architecture-panel>summary small,.cinematic-flow-cell span,.cinematic-hint{font-size:10px}.chapter-details dt,.chapter-records span,.project-stack li,.architecture-controls,.architecture-controls em,.cinematic-flow-cell p{font-size:12px}@media (max-width:1279px){.cinematic-card,.cinematic-world--artifact .cinematic-card{top:42svh;right:max(20px, calc(env(safe-area-inset-right) + 12px));bottom:max(68px, calc(env(safe-area-inset-bottom) + 54px));left:max(20px, calc(env(safe-area-inset-left) + 12px));width:auto;max-height:none;overflow:hidden}.cinematic-card-body{padding:18px}.cinematic-card h2{font-size:clamp(32px,10vw,48px)}.cinematic-flow{grid-template-columns:minmax(0,1fr)}.cinematic-flow-arrow{justify-self:start;transform:rotate(90deg)}.cinematic-close{right:max(20px, calc(env(safe-area-inset-right) + 12px));text-align:right}}@media (max-width:900px){.tool-grid{grid-template-columns:minmax(0,1fr)}.tool-card--wide{grid-column:auto}.pdf-feature{grid-template-columns:minmax(0,1fr);gap:0}.pdf-preview{display:none}.reading-veil{background:#050505e0;width:100%}.scene-webgl[data-ready=true]{opacity:.9}.app-shell[data-static=false] .reading-veil--left{background:#05050559}.reading-veil--right{display:none}.app-shell[data-reading-side] .reading-veil--left{opacity:1}.app-shell[data-cinematic=true] .reading-veil--left{opacity:0}.progress-nav{text-shadow:none;inset:auto 0 0;transform:none}.mobile-navigation{padding:0 max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));background:#050505f7;border-top:1px solid #f4f4ef38;grid-template-columns:minmax(0,3fr) minmax(74px,1fr);display:grid;box-shadow:0 -12px 32px #0000009e}.mobile-primary-links{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;display:grid}.mobile-navigation a,.mobile-chapters>summary{cursor:pointer;min-width:0;min-height:52px;color:var(--muted);letter-spacing:.03em;text-align:center;text-transform:uppercase;justify-content:center;align-items:center;padding:0 6px;font:12px JetBrains Mono Variable,monospace;text-decoration:none;display:flex}.mobile-navigation a:hover,.mobile-navigation a:focus-visible,.mobile-navigation a[aria-current],.mobile-chapters[open]>summary{background:var(--amber-soft);color:var(--amber);transform:none}.mobile-chapters{border-left:1px solid var(--line);min-width:0;position:relative}.mobile-chapters>summary{list-style:none}.mobile-chapters>summary::-webkit-details-marker{display:none}.mobile-chapters>summary:after{content:"↑";color:var(--amber);margin-left:5px}.mobile-chapters[open]>summary:after{content:"↓"}.mobile-chapters ol{right:max(-1px, calc(env(safe-area-inset-right) * -1));width:min(320px,100vw - 12px);max-height:calc(100svh - max(86px, calc(env(safe-area-inset-top) + 72px)) - 58px - env(safe-area-inset-bottom));overscroll-behavior:contain;background:#050505fa;border:1px solid #f4f4ef3d;gap:0;margin:0;padding:6px;list-style:none;display:grid;position:absolute;bottom:calc(100% + 1px);overflow:hidden auto;box-shadow:0 -18px 42px #000000b8}.mobile-chapters li{min-width:0}.mobile-chapters li+li{border-top:1px solid var(--line)}.mobile-chapters li a{justify-content:initial;text-align:left;grid-template-columns:34px minmax(0,1fr);min-height:48px;padding:0 10px;display:grid}.mobile-chapters li span{color:var(--faint);font-size:11px;display:block}.mobile-chapters li b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.chapter-copy{--copy-edge:20px;width:calc(100% - 40px);min-height:100svh;padding:max(112px, 16svh) 0 calc(96px + env(safe-area-inset-bottom));margin-right:var(--copy-edge);margin-left:var(--copy-edge)}.chapter-project-001 .chapter-copy,.chapter-project-002 .chapter-copy{width:calc(100% - 40px)}.chapter-copy,.chapter-plane{pointer-events:none}.chapter-plane>*,.chapter-plane :is(a,button,summary){pointer-events:auto}.chapter-copy :is(a,button,summary){scroll-margin-bottom:calc(92px + env(safe-area-inset-bottom))}.chapter-plane:before,.chapter-copy--left .chapter-plane:before,.chapter-copy--right .chapter-plane:before{top:-8svh;right:calc(var(--copy-edge) * -1);bottom:-10svh;left:calc(var(--copy-edge) * -1);background:linear-gradient(#0000,#050505d6 11%,#050505e6 68%,#050505ad 90%,#0000);-webkit-mask-image:none;mask-image:none}.chapter-eyebrow{transform:translateZ(10px)}.chapter h1,.chapter h2{transform:translateZ(14px)}.chapter-summary{transform:translateZ(8px)}.chapter-note,.chapter-details,.architecture-panel,.contact-uplink{transform:translateZ(4px)}.chapter h1,.chapter h2{font-size:clamp(44px,11.5vw,68px)}.chapter .origin-title{font-size:clamp(64px,19vw,105px)}.chapter-summary{max-width:36ch;font-size:16px}.chapter-details{max-width:42ch;font-size:16px}.graphics-recovery{right:max(14px, calc(env(safe-area-inset-right) + 10px));bottom:max(74px, calc(env(safe-area-inset-bottom) + 64px));left:max(14px, calc(env(safe-area-inset-left) + 10px));max-width:none}}@media (max-width:620px){.toolbox-topbar{flex-direction:column;align-items:flex-start;gap:2px;padding-top:8px;padding-bottom:8px}.toolbox-topbar nav{justify-content:flex-start;gap:4px;width:100%}.toolbox-topbar a{min-height:44px}.toolbox-main{padding-top:38px}.origin-tool-link{grid-template-columns:36px minmax(0,1fr) auto;gap:12px;margin-top:44px;padding:16px}.pdf-icon{width:36px;height:44px}.origin-tool-link .utility-eyebrow{letter-spacing:.03em;font-size:10px}.pdf-feature{padding:22px}.pdf-feature-actions{flex-direction:column;align-items:stretch}.pdf-source{align-self:flex-start}.toolbox-main>h1{font-size:clamp(40px,13vw,58px)}.tool-grid{margin-top:32px}.tool-card input,.tool-card select,.tool-card textarea{font-size:16px}.tool-result-heading{flex-direction:column;align-items:flex-start}.topbar{top:max(10px, env(safe-area-inset-top));right:max(14px, calc(env(safe-area-inset-right) + 10px));left:max(14px, calc(env(safe-area-inset-left) + 10px));border-radius:13px;gap:8px;padding:5px 10px}.top-actions{gap:2px}.text-action{padding:0 6px}.signal-mark{gap:6px}.graphics-mode{top:max(74px, calc(env(safe-area-inset-top) + 64px));right:max(14px, calc(env(safe-area-inset-right) + 10px))}.signal-mark span{display:none}.chapter-copy{--copy-edge:16px;width:calc(100% - 32px);margin-right:var(--copy-edge);margin-left:var(--copy-edge);padding-top:max(148px,18svh)}.chapter-details{font-size:16px}.project-case-study .project-meta{grid-template-columns:auto minmax(0,1fr)}.skill-groups section{grid-template-columns:minmax(0,1fr);gap:10px}.architecture-controls{grid-template-columns:1fr}.chapter-project-001 .chapter-copy,.chapter-project-002 .chapter-copy{width:calc(100% - 32px);padding-top:max(148px,18svh)}}@media (max-width:360px){.topbar{gap:4px;padding-left:8px;padding-right:6px}.top-actions{gap:0}.text-action{padding:0 5px}.signal-mark:before{display:none}.origin-tool-link{grid-template-columns:minmax(0,1fr) auto}.origin-tool-link .pdf-icon{display:none}}[data-reduced-motion=true] *,[data-reduced-motion=true] :before,[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reduced-motion=true] .chapter-plane,[data-static=true] .chapter-plane{opacity:1;transform:none}[data-reduced-motion=true] .chapter-plane>*,[data-static=true] .chapter-plane>*{transform:none}[data-reduced-motion=true] .progress-nav a,[data-reduced-motion=true] .chapter-plane:before,[data-reduced-motion=true] .chapter-plane,[data-reduced-motion=true] .chapter h2,[data-reduced-motion=true] .chapter-summary,[data-reduced-motion=true] .chapter-details,[data-reduced-motion=true] .topbar{transition:none}[data-reduced-motion=true] .cinematic-card{animation:none}.chapter-origin{min-height:max(100svh,720px)}.chapter-origin .chapter-copy{z-index:3;width:min(52vw,720px);padding-top:max(168px,20svh);position:relative}.chapter-origin .chapter-summary{max-width:35ch;margin-top:34px}.chapter-origin .origin-availability{max-width:39ch;margin-top:28px}@media (max-width:1100px) and (min-width:901px){.chapter-origin .chapter-copy{margin-left:12vw}}@media (max-width:900px){.chapter-origin{min-height:100svh}.chapter-origin .chapter-copy{width:calc(100% - 40px);min-height:100svh;margin:0 20px;padding-top:max(172px,21svh)}.chapter .origin-title{white-space:normal;font-size:clamp(58px,15vw,76px)}.chapter-origin .chapter-summary{max-width:34ch;margin-top:30px}.chapter-origin .origin-availability{margin-top:24px}}@media (max-width:380px){.chapter-origin .chapter-copy{width:calc(100% - 32px);margin:0 16px;padding-top:150px}.chapter .origin-title{font-size:52px}.chapter-origin .chapter-summary{margin-top:24px;font-size:16px;line-height:1.55}.chapter-origin .origin-availability{font-size:16px;line-height:1.5}}
