:root{--color-background:#132c47;--color-surface:#182c46;--color-surface-raised:#244560;--color-recess:#0d2038;--color-text:#edf5fa;--color-muted:#adc4d5;--color-accent:#8ddff7;--color-accent-soft:#315874;--color-border:#a6d8ef26;--color-sky:#c9e5fa;--color-sunrise:#f5d8b6;--color-sunrise-accent:#f3b591;--sunrise-sky:linear-gradient(180deg,#173852,#44637e 70%,#b58682);--sky-dawn:linear-gradient(180deg,#173e61,#416f91 44%,#a88e9e 73%,#edb389);--sky-day:linear-gradient(180deg,#15527b,#397fa5 45%,#82afc0 78%,#d0c9ac);--sky-dusk:linear-gradient(180deg,#252e53,#625079 43%,#be7b8a 73%,#efa27d);--water-dawn:linear-gradient(180deg,#4c6880,#2e526b 22%,#173b55 62%,#132c47);--water-day:linear-gradient(180deg,#5b93a9,#37788f 25%,#24566f 65%,#132c47);--water-dusk:linear-gradient(180deg,#996e83,#62506d 24%,#343b5b 65%,#132c47);--shard-outline:polygon(0% 0%,0% 0%,100% 0%,100% 0%,100% 100%,0% 100%);--glass-fill:linear-gradient(135deg,#2c5776ed,#193b59f2 62%,#263a59f2);--glass-edge:linear-gradient(to bottom left,#ffe0b4bf,#ffe0b42e 36%,#8ddff71f 70%,#8ddff714);--glass-white:#fff;--glass-gold:#ffe0b4;--glass-sky:#d5edff;--glass-blue:#9dd3f5;--glass-peach:#ffcda8;--glass-edge-warm:#f5ba76;--glass-edge-cool:#4c8dbf;--glass-ink:#264966;--font-body:"Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"SFMono-Regular",Consolas,monospace;--text-body:16px;--text-small:13px;--text-caption:11px;--content-width:2200px;--duration-fast:180ms;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--page-gutter:clamp(22px,5vw,160px);--ease-glide:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.45,.05,.25,1)}*{box-sizing:border-box}html{-ms-overflow-style:none;color-scheme:dark;scroll-behavior:smooth;scrollbar-width:none}body::-webkit-scrollbar,html::-webkit-scrollbar{display:none;height:0;width:0}body{-webkit-font-smoothing:antialiased;-ms-overflow-style:none;background:var(--color-background);color:var(--color-text);font:var(--text-body)/1.6 var(--font-body);margin:0;scrollbar-width:none}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}::selection{background:var(--color-accent);color:var(--color-background)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px}.skip-link{background:var(--color-accent);color:var(--color-background);left:var(--space-5);padding:var(--space-3) var(--space-5);position:fixed;top:-80px;z-index:10}.skip-link:focus{top:var(--space-4)}.glass-button{align-items:center;background:linear-gradient(135deg,#56879865,#274a6b9c);border:1px solid #b1dce749;border-radius:12px;box-shadow:inset 0 1px 0 #e8f8ff18,0 5px 16px #06142924;color:#e6f5fa;cursor:pointer;display:inline-flex;font-weight:500;gap:12px;isolation:isolate;justify-content:center;min-height:44px;overflow:hidden;padding:12px 24px;position:relative;text-decoration:none;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}.glass-button:after{background:linear-gradient(110deg,#0000 25%,#ffffff12 50%,#0000 75%) 130% 0 /250% 100%;content:"";inset:0;pointer-events:none;position:absolute;transition:background-position .65s;z-index:-1}.glass-button:hover{border-color:#d2f3ee88;box-shadow:inset 0 1px 0 #e8f8ff24,0 8px 20px #06142938;transform:translateY(-1px)}.glass-button:hover:after{background-position:-30% 0}.glass-button:active{transform:translateY(1px)}.glass-button:focus-visible{outline:2px solid #b7f1f2;outline-offset:3px}.glass-button:disabled{cursor:default;opacity:.45;transform:none}.glass-button.is-primary{background:linear-gradient(135deg,#ffddb5,#f2c291);border-color:#ffe5bf99;box-shadow:inset 0 1px 0 #fff2dd88,0 5px 20px #080e2426;color:#193b53;font-weight:600}.glass-button.is-primary:hover{background:linear-gradient(135deg,#ffe5c6,#f7cfa5)}.glass-button-icon{color:#a8e5ee;transition:translate .18s}.glass-button.is-primary .glass-button-icon{color:#24566a}.glass-button:hover .glass-button-icon{translate:3px 0}.glass-button.is-round{border-radius:50%;gap:0;height:44px;padding:0;width:44px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}.showcase-player{background:linear-gradient(135deg,#244c6eeb,#102a47f5);border:1px solid #b9dbe63d;border-radius:16px;box-shadow:inset 0 1px 0 #e8f8ff18,0 12px 32px #04162a30;color:#e6f5fa;line-height:1.4;margin:28px auto;overflow:hidden;width:100%}.showcase-help{-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.showcase-stage{aspect-ratio:16/9;aspect-ratio:var(--video-ratio,16/9);background:#071727;max-height:72vh;position:relative;width:100%}.showcase-stage video{display:block;object-fit:contain}.showcase-stage video,.showcase-surface{height:100%;inset:0;position:absolute;width:100%}.showcase-surface{background:#0000;border:0;color:#ffe0b4;cursor:pointer;display:grid;padding:0;place-items:center}.showcase-center{aspect-ratio:1;background:linear-gradient(135deg,#38617ce8,#142e48eb);border:1px solid #d9eee85c;border-radius:50%;box-shadow:inset 0 1px 0 #f6eadb30,0 8px 30px #020c2060;display:grid;opacity:0;place-items:center;transform:scale(.9);transition:opacity .42s var(--ease-soft),transform .56s var(--ease-soft),border-color .42s var(--ease-soft);width:clamp(52px,6vw,76px)}.showcase-center[data-visible=true]{opacity:1;transform:none}.showcase-center svg{height:32px;width:32px}.showcase-surface:hover .showcase-center{border-color:#ffe0b4aa}.showcase-surface:active .showcase-center{transform:scale(.94)}.showcase-spinner{animation:showcase-spin 1s linear infinite;border:2px solid #e6f5fa25;border-radius:50%;border-top-color:#ffdab0;height:25px;width:25px}@keyframes showcase-spin{to{transform:rotate(1turn)}}.showcase-loading{background:#071727d9;border-radius:9px;bottom:16px;font-size:12px;left:50%;padding:6px 12px;pointer-events:none;position:absolute;transform:translateX(-50%)}.showcase-controls{background:linear-gradient(120deg,#31587580,#122c45a8);border-top:1px solid #c0dfe92b;padding:8px 16px 12px}.showcase-toolbar{align-items:center;display:flex;gap:12px}.showcase-player .showcase-play{color:#ffdab0;flex:none;height:40px;min-height:40px;padding:0;transition-duration:.42s;transition-timing-function:var(--ease-soft);width:40px}.showcase-player .showcase-play:after{transition-duration:1.2s;transition-timing-function:var(--ease-soft)}.showcase-player button svg{display:block;height:21px;width:21px}.showcase-player .showcase-center svg{height:32px;width:32px}.showcase-button{background:#0000;border:1px solid #0000;border-radius:10px;color:#bcd5e4;display:grid;flex:none;height:40px;padding:0;place-items:center;transition:color .42s var(--ease-soft),background-color .42s var(--ease-soft),border-color .42s var(--ease-soft),transform .56s var(--ease-soft);width:40px}.showcase-button:hover{background:#a7d8e314;border-color:#c0dfe92b;color:#ffe0b4}.showcase-button:active{transform:scale(.94)}.showcase-button:disabled{cursor:default;opacity:.35;transform:none}.showcase-time{font-feature-settings:"tnum";font:11px var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.showcase-time>span{color:#99b9cc;margin-left:3px}.showcase-volume{align-items:center;display:flex;gap:3px;margin-left:auto}.showcase-player input[type=range]{accent-color:#abdeda;appearance:none;-webkit-appearance:none;background:#0000;cursor:pointer;display:block;height:24px;margin:0;min-width:0;padding:0}.showcase-player input[type=range]::-webkit-slider-runnable-track{background:#badce031;border-radius:4px;height:4px}.showcase-player input[type=range]::-moz-range-track{background:#badce031;border-radius:4px;height:4px}.showcase-player input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:#abdeda;border:2px solid #cdeee7;border-radius:50%;box-shadow:0 1px 5px #07172770;height:12px;margin-top:-4px;width:12px}.showcase-player input[type=range]::-moz-range-thumb{background:#abdeda;border:2px solid #cdeee7;border-radius:50%;box-shadow:0 1px 5px #07172770;box-sizing:border-box;height:12px;width:12px}.showcase-player input:disabled{cursor:default;opacity:.35}.showcase-player .showcase-seek{--timeline:linear-gradient(to right,#f7d0a1 0 var(--played),#8cb7c7 var(--played) var(--buffered),#badce031 var(--buffered) 100%);margin-bottom:5px;width:100%}.showcase-player .showcase-seek::-webkit-slider-runnable-track{background:var(--timeline)}.showcase-player .showcase-seek::-moz-range-track{background:var(--timeline)}.showcase-player .showcase-seek::-webkit-slider-thumb{background:#ffddb5;border-color:#fff0d9}.showcase-player .showcase-seek::-moz-range-thumb{background:#ffddb5;border-color:#fff0d9}.showcase-volume input{width:68px}.showcase-rate{background:#0b233e66;border:1px solid #badce026;border-radius:9px;color:#cce2ed;cursor:pointer;font:11px var(--font-mono);min-height:40px;min-width:64px;padding:5px 8px;transition:border-color .42s var(--ease-soft)}.showcase-rate:hover{border-color:#d2f3ee88}.showcase-rate option{background:#142e48;color:#e6f5fa}.showcase-player :focus-visible,.showcase-player:focus-visible{outline:2px solid #b7f1f2;outline-offset:3px}.showcase-player .showcase-message{color:#f5d8b6;font-size:12px;line-height:1.6;margin:12px 0 0}.showcase-message a{white-space:nowrap}.showcase-player:fullscreen{background:#071727;border:0;border-radius:0;display:flex;flex-direction:column;height:100%;margin:0;max-width:none;width:100%}.showcase-player:fullscreen .showcase-stage{aspect-ratio:auto;flex:1 1;max-height:none;min-height:0}.showcase-player:fullscreen .showcase-controls{flex:none;padding-bottom:max(12px,env(safe-area-inset-bottom))}@media (max-width:600px){.showcase-player{border-radius:12px}.showcase-controls{padding:5px 9px 9px}.showcase-toolbar{flex-wrap:wrap;gap:5px}.showcase-time{font-size:10px}.showcase-volume input{width:45px}.showcase-rate{min-width:58px;padding-inline:3px}}@media (prefers-reduced-motion:reduce){.showcase-player *,.showcase-player :after{animation:none!important;transition:none!important}.showcase-player .showcase-button,.showcase-player .showcase-center{transform:none}}.note-content{color:var(--color-text);font-size:15px;line-height:1.9;overflow-wrap:anywhere}.note-content p{margin:22px 0}.note-content h2,.note-content h3,.note-content h4{font-weight:500;letter-spacing:-.02em;line-height:1.45;margin:38px 0 17px}.note-content h2{font-size:27px}.note-content h3{font-size:22px}.note-content h4{font-size:18px}.note-content a{color:var(--color-accent);text-decoration:underline;text-underline-offset:4px}.note-content li{margin-block:8px}.note-content li::marker{color:var(--color-accent)}.note-content code{background:var(--color-surface);border-radius:3px;font-family:var(--font-mono);font-size:.85em;padding:2px 5px}.note-content pre{background:var(--color-surface);border:1px solid var(--color-border);overflow-x:auto;padding:20px}.note-content pre code{background:none;padding:0}.note-content hr{border:0;border-top:1px solid var(--color-border);margin:38px 0}.note-content blockquote{border-left:2px solid var(--color-accent);color:var(--color-muted);margin:24px 0;padding:5px 24px}.note-media{border-radius:7px;margin:28px auto;max-width:100%}.note-media,.note-video{border:1px solid var(--color-border);display:block;height:auto}.note-video{aspect-ratio:16/9;border-radius:7px;margin:28px 0;width:100%}.media-unavailable{color:var(--color-muted);font-size:12px}@media (max-width:600px){.note-content{font-size:13px}.note-content h2{font-size:22px}.note-content h3{font-size:19px}.note-content h4{font-size:16px}}.portfolio-browser{--row-point:26px;--row-outline:polygon(0 0,calc(100% - var(--row-point)) 0,100% 50%,calc(100% - var(--row-point)) 100%,0 100%);--tab-outline:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);grid-gap:clamp(20px,3.2vw,72px);display:grid;flex:0 1 clamp(320px,62svh,720px);gap:clamp(20px,3.2vw,72px);grid-template-columns:minmax(0,4fr) minmax(0,5fr);grid-template-rows:minmax(0,1fr);min-height:300px;width:100%}.work-index{display:flex;flex-direction:column;gap:clamp(14px,2.4svh,28px);min-height:0;min-width:0}.work-glass{--outline:var(--row-outline);background:linear-gradient(to bottom left,#ffe0b44d,#ffe0b414 36%,#8ddff729 70%,#8ddff71a);inset:0;pointer-events:none;z-index:-1}.work-glass,.work-glass>span{-webkit-clip-path:var(--outline);clip-path:var(--outline);position:absolute}.work-glass>span{inset:1px}.work-glass>.work-glass-rim{background:linear-gradient(to bottom left,#ffe0b4d9,#ffe0b43d 36%,#0000 70%);inset:0;opacity:0;transition:opacity .42s var(--ease-soft)}.work-glass-pane{background:linear-gradient(124deg,#1c3d5c,#15314e 55%,#23324d);opacity:.92}.work-glass-lit{background:radial-gradient(110% 170% at 100% 0,#ffe0b433,#0000 60%),var(--glass-fill);opacity:0;transition:opacity .42s var(--ease-soft)}.work-glass-light{background:radial-gradient(110% 170% at 100% 0,#ffe0b40f,#0000 60%),linear-gradient(to top right,#06142452,#0000 48%),linear-gradient(118deg,#aff8ff12 0 8%,#0000 8% 86%,#ffe0b40d 86%)}.work-glass-pointer{background:radial-gradient(240px circle at 85% 0,#ffecd229,#0000 70%);background:radial-gradient(240px circle at var(--pointer-x,85%) var(--pointer-y,0),#ffecd229,#0000 70%);opacity:0;transition:opacity .24s ease}.work-glass-glint{background:linear-gradient(105deg,#0000 42%,#fff1dc4d 50%,#fff1dc0f 53%,#0000 60%) no-repeat;background-position:120% 0;background-size:250% 100%;transition:background-position 1.2s var(--ease-soft)}.work-tabs{display:flex;flex-wrap:wrap;gap:6px clamp(6px,1vw,14px);opacity:1;opacity:calc(1 - var(--entry-retreat, 0));position:relative;translate:0 0;translate:calc(var(--entry-retreat, 0)*-75vw) 0}.work-tab-glass{filter:drop-shadow(-4px 6px 10px rgb(3 14 26/.3));left:0;pointer-events:none;position:absolute;top:0;z-index:0}.work-tab-glass .work-glass{--outline:var(--tab-outline)}.work-tab-glass .work-glass-lit,.work-tab-glass .work-glass-rim{opacity:1}.work-tab-glass.is-placed{transition:transform .56s var(--ease-soft),width .56s var(--ease-soft),height .56s var(--ease-soft)}.work-tab{background:none;border:0;color:var(--color-muted);font-size:clamp(14px,1vw,17px);font-weight:500;padding:12px clamp(20px,1.9vw,30px);position:relative;text-shadow:0 1px 10px #061524cc;transition:color .3s;z-index:1}.work-tab:hover,.work-tab[aria-selected=true]{color:var(--color-text)}.work-tab:focus-visible{outline:none;-webkit-text-decoration:underline 2px var(--color-accent);text-decoration:underline 2px var(--color-accent);text-underline-offset:6px}.work-projects{-ms-overflow-style:none;flex:1 1 auto;margin:-24px -16px -24px -26px;min-height:0;overflow-y:auto;padding:24px 16px 24px 26px;scrollbar-width:none}.work-projects::-webkit-scrollbar{display:none;height:0;width:0}.work-projects[data-more]{-webkit-mask-image:linear-gradient(#000 calc(100% - 44px),#0000);mask-image:linear-gradient(#000 calc(100% - 44px),#0000)}.work-projects[data-above]{-webkit-mask-image:linear-gradient(#0000,#000 44px);mask-image:linear-gradient(#0000,#000 44px)}.work-projects[data-above][data-more]{-webkit-mask-image:linear-gradient(#0000,#000 44px,#000 calc(100% - 44px),#0000);mask-image:linear-gradient(#0000,#000 44px,#000 calc(100% - 44px),#0000)}.work-project-list{gap:clamp(10px,1.5svh,15px);list-style:none;margin:0;padding:0}.work-handover,.work-project-list{display:flex;flex-direction:column}.work-handover{min-height:0;min-width:0;transition:opacity .16s ease,transform .16s ease}.work-handover.is-leaving{opacity:0;pointer-events:none;transform:translateX(18px)}.work-arrival{animation:work-unfold .72s var(--ease-soft) both;display:flex;flex-direction:column;min-height:0}@keyframes work-unfold{0%{opacity:0;transform:translate3d(-45px,0,0) scale(.94)}to{opacity:1;transform:none}}.work-row{grid-column-gap:clamp(12px,1.4vw,24px);align-items:center;background:none;border:0;color:var(--color-text);column-gap:clamp(12px,1.4vw,24px);cursor:pointer;display:grid;grid-template-columns:clamp(40px,3.6vw,60px) minmax(0,1fr);isolation:isolate;min-height:clamp(62px,9.4svh,100px);padding:12px clamp(44px,3.6vw,62px) 12px clamp(22px,2.2vw,40px);position:relative;text-align:left;transition:min-height .56s var(--ease-soft);width:100%}.work-row:before{border-radius:6px;box-shadow:-6px 10px 22px #030e1a73;content:"";inset:14% 34px 8% 8px;opacity:.5;pointer-events:none;position:absolute;transition:opacity .42s var(--ease-soft);z-index:-2}.work-row:after{background:var(--color-accent);bottom:0;box-shadow:0 0 18px #8ddff7aa;content:"";left:0;opacity:0;position:absolute;top:0;transform:scaleY(.4);transition:opacity .42s var(--ease-soft),transform .56s var(--ease-soft);width:5px}.work-row:focus-visible .work-glass-pointer,.work-row:hover .work-glass-pointer{opacity:1}.work-row:hover .work-glass-rim{opacity:.35}.work-row[aria-pressed=true] .work-glass-lit,.work-row[aria-pressed=true] .work-glass-rim,.work-row[aria-pressed=true]:after,.work-row[aria-pressed=true]:before{opacity:1}.work-row[aria-pressed=true]:after{transform:none}.work-row[aria-pressed=true] .work-glass-glint{background-position:-20% 0}.work-row:focus-visible{outline:none}.work-row:focus-visible .work-row-title{-webkit-text-decoration:underline 2px var(--color-accent);text-decoration:underline 2px var(--color-accent);text-underline-offset:5px}.work-row-number{font-feature-settings:"tnum";color:var(--color-accent);font-size:clamp(20px,1.9vw,30px);font-variant-numeric:tabular-nums;font-weight:300;opacity:.62;transform-origin:left center;transition:opacity .42s var(--ease-soft),transform .56s var(--ease-soft)}.work-row-text{grid-gap:5px;display:grid;gap:5px;min-width:0;transform-origin:left center;transition:transform .56s var(--ease-soft)}.work-row-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#cfdfea;display:-webkit-box;font-size:clamp(16px,1.4vw,23px);font-weight:600;letter-spacing:-.015em;line-height:1.25;overflow:hidden;overflow-wrap:anywhere;text-shadow:0 1px 10px #061524b3;transition:color .42s var(--ease-soft)}.work-row[aria-pressed=true] .work-row-number{opacity:1;transform:scale(1.1)}.work-row[aria-pressed=true] .work-row-text{transform:translateX(4px) scale(1.035)}.work-row[aria-pressed=true] .work-row-title{color:#fff}.work-row.is-topic{grid-template-columns:clamp(40px,3.6vw,60px) minmax(0,1fr) auto}.work-row-caret{border:solid var(--color-accent);border-width:0 2px 2px 0;height:9px;margin-right:4px;opacity:.55;transform:rotate(-45deg);transition:transform .56s var(--ease-soft),opacity .42s var(--ease-soft);width:9px}.work-row[aria-expanded=true]:before{opacity:.8}.work-row[aria-expanded=true] .work-glass-rim{opacity:.6}.work-row[aria-expanded=true] .work-glass-lit{opacity:.5}.work-row[aria-expanded=true] .work-glass-glint{background-position:-20% 0}.work-row[aria-expanded=true] .work-row-caret,.work-row[aria-expanded=true] .work-row-number{opacity:1}.work-row[aria-expanded=true] .work-row-caret{transform:translateY(-3px) rotate(45deg)}.work-row[aria-expanded=true] .work-row-title{color:#fff}.work-project-list{--topic-indent:clamp(26px,2.6vw,48px)}.work-topic-projects{animation:work-fold-open .56s var(--ease-soft) backwards;display:grid;grid-template-rows:minmax(0,1fr);transition:grid-template-rows .56s var(--ease-soft),opacity .36s ease}.work-topic-projects.is-closing{grid-template-rows:minmax(0,0fr);opacity:0}.work-topic-body{list-style:none;margin:0;min-height:0;overflow:hidden;padding:0}.work-topic-projects.is-settled>.work-topic-body{overflow:visible}.work-topic-body>li{padding:clamp(8px,1.2svh,12px) var(--row-point) 0 var(--topic-indent)}.work-topic-body>li:last-child{padding-bottom:14px}@keyframes work-fold-open{0%{grid-template-rows:minmax(0,0fr);opacity:0}}.work-row.is-project{grid-template-columns:minmax(0,1fr);min-height:clamp(50px,7.4svh,80px);padding-inline:clamp(20px,1.8vw,32px)}.work-row.is-project .work-glass{--outline:polygon(0 0,100% 0,100% 100%,0 100%)}.work-row.is-project:before{right:8px}.work-row.is-project[aria-pressed=true]{min-height:clamp(64px,9svh,96px)}.work-row.is-project .work-row-title{font-size:clamp(15px,1.2vw,20px);font-weight:500}.work-preview{--stage-gap:clamp(12px,1.8svh,22px);container-type:inline-size;display:flex;flex:0 1 auto;flex-direction:column;isolation:isolate;min-height:0;min-width:0;padding:clamp(12px,1.3vw,22px);position:relative}.work-preview-surface{background:var(--glass-edge);-webkit-clip-path:var(--shard-outline);clip-path:var(--shard-outline);inset:0;position:absolute;z-index:-1}.work-preview-surface:before{background:var(--glass-fill);content:""}.work-preview-glint,.work-preview-surface:before{-webkit-clip-path:var(--shard-outline);clip-path:var(--shard-outline);inset:1px;position:absolute}.work-preview-glint{animation:work-preview-sweep 1.1s var(--ease-soft) both;background:linear-gradient(105deg,#0000 42%,#fff1dc29 50%,#fff1dc0a 53%,#0000 60%) no-repeat;background-size:250% 100%;pointer-events:none;z-index:2}@keyframes work-preview-sweep{0%{background-position:120% 0}to{background-position:-20% 0}}.work-preview-stage{--stage-height:max(48px,calc(100cqw/var(--media-ratio, 1.7778)));flex:0 1 auto;height:var(--stage-height);margin-bottom:var(--stage-gap);min-height:min(120px,var(--stage-height));transition:height .56s var(--ease-soft),min-height .56s var(--ease-soft),margin-bottom .56s var(--ease-soft),opacity .4s ease}.work-preview-stage.is-empty{height:0;margin-bottom:0;min-height:0;opacity:0}.work-preview-media{box-shadow:0 10px 22px #04101c6b;height:100%;overflow:hidden;position:relative;transition:box-shadow .4s ease;width:100%}.work-preview-media.is-image{box-shadow:none;overflow:visible}.work-preview-image{filter:drop-shadow(0 8px 18px rgb(4 16 28/.45))}.work-preview-layer{inset:0;position:absolute;transition:opacity .56s var(--ease-soft),transform .64s var(--ease-soft)}.work-preview-layer.is-waiting{opacity:0;transform:scale(1.03)}.work-preview-layer.is-leaving{opacity:0;transform:scale(1.01)}.work-preview-image,.work-preview-video{display:block;height:100%;inset:0;position:absolute;width:100%}.work-preview-video{object-fit:cover}.work-preview-youtube{border:0;height:100%;inset:0;pointer-events:none;position:absolute;width:100%}.work-preview-image{object-fit:contain}.work-preview-meta{align-items:center;display:flex;gap:12px 18px;justify-content:space-between;padding:0 clamp(6px,.8vw,14px) clamp(2px,.4svh,6px)}.work-preview-heading{display:grid;min-width:0}.work-preview-label{animation:work-label-in .52s var(--ease-soft) backwards;grid-area:2/1;min-width:0;transition:opacity .26s ease,transform .42s var(--ease-soft)}.work-preview-label.is-leaving{opacity:0;pointer-events:none;transform:translateY(-10px)}@keyframes work-label-in{0%{opacity:0;transform:translateY(12px)}}.work-preview-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:clamp(20px,2.1vw,40px);letter-spacing:-.035em;line-height:1.2;margin:0;min-height:2.4em;overflow:hidden;overflow-wrap:anywhere}.work-preview.is-entry-source [data-morph-title]{visibility:hidden}.work-open{flex:none;font-size:clamp(13px,1vw,16px);padding:clamp(12px,1.6svh,16px) clamp(24px,2vw,34px)}.portfolio-browser.is-stacked{display:flex;flex-direction:column}.is-stacked .work-index{flex:1 1 auto}.work-inline{animation:work-fold-open .56s var(--ease-soft) backwards;display:grid;grid-template-rows:minmax(0,1fr);transition:grid-template-rows .56s var(--ease-soft),opacity .36s ease}.work-inline.is-closing{grid-template-rows:minmax(0,0fr);opacity:0}.work-inline-body{min-height:0;overflow:hidden}.is-stacked .work-preview{margin:12px 0 4px}.is-stacked .work-preview-stage{max-height:38svh}.is-stacked .work-preview-title{-webkit-line-clamp:1;font-size:clamp(16px,3.6vw,24px);min-height:0}.is-stacked .work-open{margin-left:auto}@media (max-width:600px){.work-tabs{column-gap:0}.work-tab{font-size:13px;padding:10px 13px}.work-project-list{--topic-indent:18px}.work-row{column-gap:12px;grid-template-columns:34px minmax(0,1fr);min-height:60px;padding:10px 40px 10px 18px}.work-row.is-topic{grid-template-columns:34px minmax(0,1fr) auto}.work-row.is-project{min-height:52px;padding-inline:16px}.work-row.is-project[aria-pressed=true]{min-height:70px}.work-row-number{font-size:19px}.work-row-title,.work-row.is-project .work-row-title{font-size:15px}.work-preview-title{font-size:19px}.work-open{font-size:13px;padding:11px 24px}}@media (max-height:500px){.portfolio-browser{gap:18px;min-height:220px}.work-index{gap:10px}.work-tabs{column-gap:0}.work-tab{font-size:13px;padding:8px 12px}.work-row,.work-row.is-project{min-height:46px;padding-block:7px}.work-row.is-project[aria-pressed=true]{min-height:58px}.work-row:not([aria-pressed=true]) .work-row-title{-webkit-line-clamp:1}.work-row-number{font-size:17px}.work-row-title,.work-row.is-project .work-row-title{font-size:14px}.work-topic-body>li{padding-top:6px}.work-preview{--stage-gap:10px;padding:10px}.work-preview-stage:not(.is-empty){min-height:min(90px,var(--stage-height))}.work-preview-title{-webkit-line-clamp:1;font-size:18px;min-height:0}.work-open{font-size:13px;padding:10px 22px}}.portfolio-browser{flex-basis:clamp(320px,55svh,660px);gap:clamp(20px,2vw,36px);grid-template-columns:minmax(280px,3fr) minmax(0,5fr)}.work-index{background:linear-gradient(135deg,#285674a6,#10324dce);border:1px solid #b9dbe633;border-radius:20px;box-shadow:inset 0 1px 0 #e8f9ff12,0 15px 40px #04162a22;gap:20px;padding:18px}.work-tabs{background:#0b2b4566;border:1px solid #b1dce72b;border-radius:12px;flex-wrap:nowrap;gap:0;padding:4px}.work-tab{flex:1 1;font-size:clamp(12px,.95vw,15px);line-height:1.3;padding:11px 12px;text-shadow:none}.work-tab-glass{filter:none}.work-glass,.work-glass>span,.work-row.is-project .work-glass{border-radius:11px;-webkit-clip-path:none;clip-path:none}.work-glass>span{border-radius:10px}.work-glass{background:linear-gradient(135deg,#c4e3de46,#a5d7ee20)}.work-glass-pane{background:linear-gradient(125deg,#315b766e,#183b586e);opacity:1}.work-glass-lit{background:linear-gradient(125deg,#61968f8c,#35637c91)}.work-glass-light{background:radial-gradient(ellipse at top right,#d6efd40a,#0000 75%)}.work-glass>.work-glass-rim{background:linear-gradient(125deg,#c9e7d18c,#a3dbdf36)}.work-projects{margin:0 -6px;padding:0 6px 10px}.work-project-list{--topic-indent:12px;gap:12px}.work-topic-body>li{padding:7px 0 0 12px}.work-topic-body>li:last-child{padding-bottom:3px}.work-row,.work-row.is-topic{border-radius:11px;gap:12px;grid-template-columns:26px minmax(0,1fr) auto;min-height:60px;padding:14px 17px}.work-row:before{display:none}.work-row:after{border-radius:3px;bottom:14px;box-shadow:none;top:14px;width:2px}.work-row-number{font:12px var(--font-mono)}.work-row-title{font-size:clamp(14px,1vw,17px);font-weight:500;line-height:1.5;text-shadow:none}.work-row.is-project,.work-row.is-project[aria-pressed=true]{grid-template-columns:minmax(0,1fr);min-height:52px;padding:13px 18px}.work-row.is-project .work-row-title{font-size:clamp(13px,.95vw,16px)}.work-row[aria-pressed=true] .work-row-number,.work-row[aria-pressed=true] .work-row-text{transform:none}.work-row:focus-visible{outline:2px solid #b7f1f2;outline-offset:2px}.work-preview{border-radius:20px;box-shadow:0 15px 40px #04162a26;padding:clamp(16px,1.5vw,26px)}.work-preview-glint,.work-preview-surface,.work-preview-surface:before{border-radius:20px;-webkit-clip-path:none;clip-path:none}.work-preview-surface{background:linear-gradient(135deg,#d7e9dd70,#9fd2ea26)}.work-preview-surface:before{border-radius:19px}.work-preview-image,.work-preview-layer,.work-preview-media,.work-preview-video,.work-preview-youtube{border-radius:12px}.work-preview-meta{align-items:end;gap:18px;padding:4px 2px 2px}.work-preview-title{font-size:clamp(21px,1.85vw,36px);font-weight:500}.work-preview-kicker{color:#b8d4e3;font-size:11px;grid-area:1/1;margin:0 0 10px}.work-preview-kicker span{color:#7da5bc;margin:0 7px}.work-open{min-width:96px}@media (max-width:850px){.portfolio-browser{gap:16px;grid-template-columns:minmax(220px,3fr) minmax(0,4fr)}.work-index{padding:12px}.is-stacked .work-preview{margin:10px 0 4px}}@media (max-width:600px){.work-preview-meta{flex-wrap:wrap}.work-row,.work-row.is-topic{padding:12px 14px}.work-tab{font-size:12px}}@media (max-height:500px){.work-index{gap:12px;padding:10px}.work-row,.work-row.is-project,.work-row.is-project[aria-pressed=true],.work-row.is-topic{min-height:44px;padding-block:10px}}.entry-overlay{background:#0000;border:0;color:var(--color-text);inset:auto;margin:0;max-height:none;max-width:none;outline:none;overflow:hidden;padding:0;position:fixed}.entry-overlay::backdrop{background:#0000}.entry-pane-surface{background:var(--glass-edge);-webkit-clip-path:var(--pane-outline);clip-path:var(--pane-outline);inset:0;opacity:1;opacity:var(--surface-opacity,1);pointer-events:none;position:absolute}.entry-pane-surface:before{background:var(--glass-fill);inset:1px}.entry-pane-surface:after,.entry-pane-surface:before{-webkit-clip-path:var(--pane-outline);clip-path:var(--pane-outline);content:"";position:absolute}.entry-pane-surface:after{background:linear-gradient(113deg,#0000 10%,#bceeff08 32%,#0000 45%);inset:0}.expanded-entry-title{text-wrap:balance;font-weight:500;letter-spacing:-.035em;line-height:1.25;margin:0;overflow-wrap:anywhere;position:absolute;z-index:1}.entry-return{font-size:13px;opacity:0;padding:10px 24px;position:absolute;right:35px;top:25px;z-index:2}.entry-return:hover .glass-button-icon{translate:-4px 0}.entry-scroll{-ms-overflow-style:none;height:0;min-height:0;overflow:hidden;overscroll-behavior:contain;position:absolute;scrollbar-width:none}.entry-scroll::-webkit-scrollbar{display:none;height:0;width:0}.entry-pages{-ms-overflow-style:none;display:flex;gap:6px;opacity:0;overflow-x:auto;padding:4px 2px 10px;position:absolute;scrollbar-width:none;z-index:1}.entry-pages::-webkit-scrollbar{display:none;height:0;width:0}.entry-page{--button-outline:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);align-items:baseline;color:var(--color-muted);display:inline-flex;flex:none;font-size:clamp(13px,.95vw,15px);font-weight:500;gap:10px;isolation:isolate;padding:10px 22px;position:relative;text-decoration:none;transition:color .3s;white-space:nowrap}.entry-page:after,.entry-page:before{-webkit-clip-path:var(--button-outline);clip-path:var(--button-outline);content:"";opacity:0;pointer-events:none;position:absolute;transition:opacity .42s var(--ease-soft);z-index:-1}.entry-page:before{background:var(--glass-edge);inset:0}.entry-page:after{background:radial-gradient(130% 200% at 100% 0,#ffe0b438,#0000 60%),linear-gradient(to top right,#0614244d,#0000 50%),var(--glass-fill);inset:1px}.entry-page:hover,.entry-page[aria-current=page]{color:var(--color-text)}.entry-page:hover:before{opacity:.45}.entry-page[aria-current=page]:after,.entry-page[aria-current=page]:before{opacity:1}.entry-page-number{font-feature-settings:"tnum";color:var(--color-accent);font-variant-numeric:tabular-nums;opacity:.6;transition:opacity .3s}.entry-page[aria-current=page] .entry-page-number{opacity:1}.entry-page:focus-visible{outline:none;-webkit-text-decoration:underline 2px var(--color-accent);text-decoration:underline 2px var(--color-accent);text-underline-offset:6px}.entry-content{animation:entry-page-in .48s var(--ease-soft) backwards;margin:0 auto;max-width:1250px;padding:0 8px 30px 0}@keyframes entry-page-in{0%{opacity:0;transform:translateY(14px)}}.entry-next{display:flex;margin:44px 0 0 auto;width:-webkit-fit-content;width:fit-content}.entry-content .note-content>ol,.entry-content .note-content>p,.entry-content .note-content>ul{max-width:85ch}@media (max-width:850px){.entry-return{padding:8px 20px;right:24px;top:20px}.entry-content{padding-right:4px}.entry-page{font-size:13px;padding:8px 18px}.entry-pages{-webkit-mask-image:linear-gradient(90deg,#0000,#000 18px,#000 calc(100% - 18px),#0000);mask-image:linear-gradient(90deg,#0000,#000 18px,#000 calc(100% - 18px),#0000)}}.entry-overlay,.entry-pane-surface,.entry-pane-surface:after,.entry-pane-surface:before{border-radius:22px}.entry-page,.entry-page:after,.entry-page:before{border-radius:10px;-webkit-clip-path:none;clip-path:none}.entry-page[aria-current=page]:after{background:linear-gradient(125deg,#61968f8c,#35637c91)}.ocean-scene{background:linear-gradient(180deg,#143352,#c18170 49.8%,#315e73 50%,#143c50 75%,#0d263f);inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:-1}.ocean-canvas{display:block;height:100%;width:100%}.ocean-scene[data-renderer=fallback]{background:linear-gradient(180deg,#3d5994,#f0a68c);background:linear-gradient(180deg,var(--fallback-sky-top,#3d5994),var(--fallback-sky-bottom,#f0a68c))}.ocean-scene[data-renderer=fallback] .ocean-canvas{visibility:hidden}.ocean-scene[data-renderer=fallback]:after,.ocean-scene[data-renderer=fallback]:before{bottom:0;content:"";left:0;position:absolute;right:0}.ocean-scene[data-renderer=fallback]:before{background:linear-gradient(#588c9f,#173f60);top:50%;top:var(--fallback-waterline,50%)}.ocean-scene[data-renderer=fallback]:after{background:radial-gradient(ellipse at 78% 0,#ffb98b40,#0000 65%),radial-gradient(ellipse at 18% 75%,#68bfab00,#0000 50%),radial-gradient(ellipse at 85% 55%,#aa77be00,#0000 45%),linear-gradient(#19618c,#103553);background:radial-gradient(ellipse at var(--fallback-sun-x,78%) 0,rgb(255 185 139/var(--fallback-sun-alpha,.25)),#0000 65%),radial-gradient(ellipse at 18% 75%,rgb(104 191 171/var(--fallback-glow-alpha,0)),#0000 50%),radial-gradient(ellipse at 85% 55%,rgb(170 119 190/var(--fallback-glow-alpha,0)),#0000 45%),linear-gradient(var(--fallback-water-top,#19618c),var(--fallback-water-bottom,#103553));top:108%;top:var(--fallback-immersion-line,108%)}.trajectory-stage{background:radial-gradient(ellipse at 44% 45%,#224a65b8,#071c32ed 75%);border:1px solid #a6d5e22e;border-radius:24px;box-shadow:inset 0 1px 0 #deeffa12,0 25px 70px #000d222d;overflow:hidden;position:relative}.trajectory-stage-heading{align-items:start;display:flex;inset:25px 30px auto;justify-content:space-between;pointer-events:none;position:absolute;z-index:1}.trajectory-stage-heading h3{font-size:19px;font-weight:500;letter-spacing:-.02em;margin:0 0 8px}.trajectory-stage-heading span{color:#a6c4d5;font-size:11px}.trajectory-stage-heading .trajectory-horizon{background:#17364a55;border:1px solid #badce01f;border-radius:20px;color:#b6d9e1;font:10px var(--font-mono);padding:7px 12px}.trajectory-canvas{cursor:crosshair;display:block;height:clamp(340px,56svh,650px);touch-action:none;width:100%}.trajectory-grid{stroke:#90bfc527;stroke-width:1;fill:none}.trajectory-origin-shadow{fill:#020d2080}.trajectory-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.trajectory-halo{fill:none;stroke-width:9;opacity:.3}.trajectory-trail{fill:none;stroke:#e7f9f2;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.6}.trajectory-dot{fill:#f5e5bf;stroke:#183d51;stroke-width:1.5}.trajectory-end{fill:#ffd19a09;stroke:#f4d3a780;stroke-width:1.5}.trajectory-origin-ring{fill:#76d0dc12;stroke:#a6e5ec88;stroke-width:1}.trajectory-character{fill:#c0edf2;stroke:azure;stroke-width:.8}.trajectory-cursor{fill:#fff4dc;stroke:#f9d4a6;stroke-width:1.5}.trajectory-now{fill:#aacdd5;font:9px var(--font-mono);letter-spacing:3px}.trajectory-toolbar{grid-gap:30px;align-items:center;background:#06192c66;border-top:1px solid #b0d9e31c;display:grid;gap:30px;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;padding:22px 30px}.trajectory-control label{color:#c8dde6;display:flex;font-size:12px;gap:12px;justify-content:space-between}.trajectory-control label span{color:#9fbfcf;font:10px var(--font-mono)}.trajectory-control input{accent-color:#adddd7;cursor:pointer;display:block;margin:8px 0 0;min-height:25px;width:100%}.glass-button.trajectory-play{border-radius:50%;display:grid;height:44px;padding:0;place-items:center;width:44px}.trajectory-play svg{fill:#e2f6f5;stroke:#e2f6f5;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;height:18px;width:18px}.glass-button.trajectory-reset{font-size:11px;padding:10px 17px}@media (max-width:650px){.trajectory-stage{border-radius:18px}.trajectory-stage-heading{inset:20px 18px auto}.trajectory-canvas{height:350px}.trajectory-toolbar{gap:18px;grid-template-columns:44px minmax(0,1fr);padding:18px}.trajectory-control{grid-column:2}.trajectory-play{grid-row:1/span 2}.trajectory-reset{grid-column:2;justify-self:end}}.trajectory-spacing{background:#06192c66;color:#a5c3d2;font-size:11px;line-height:1.6;margin:0;padding:0 24px 18px}.motion-visual .trajectory-stage{border-radius:14px}.motion-visual .trajectory-canvas{height:auto;min-height:260px}.motion-visual .trajectory-stage-heading{inset:18px 20px auto}.motion-visual .trajectory-toolbar{gap:15px;padding:18px}@media (max-width:650px){.trajectory-spacing{padding:0 18px 18px}}.spring-canvas:focus-visible{border-radius:14px;outline:2px solid #ffd09e;outline-offset:-3px}.mover-bounds{fill:none;stroke:#b0d9e31c;stroke-width:1}.mover-history{fill:none;stroke:#79c8c3;stroke-width:2;stroke-dasharray:3 5;opacity:.55}.mover-facing-ghost{fill:#f5d3a5;stroke:#132f46;stroke-width:1;opacity:.8}.mover-target{fill:#ffd09e0d;stroke:#ffd09e;stroke-width:1.5}.mover-target path{opacity:.6}.mover-velocity{fill:none;stroke:#78bfea;stroke-width:2}.mover-body circle{fill:#12394b;stroke:#a6e8df;stroke-width:1.5}.mover-arrow{fill:#d0fff1;stroke:#163e50;stroke-width:1.5;stroke-linejoin:round}.mover-facing-line{stroke:#d0fff1;stroke-width:2;stroke-linecap:round}.mover-legend{color:#b3ceda;display:flex;flex-wrap:wrap;font-size:10px;gap:8px 16px;justify-content:center;padding:0 18px 16px}.mover-legend span{align-items:center;display:inline-flex;gap:6px}.mover-legend span:before{background:#79c8c3;content:"";height:2px;width:12px}.mover-legend .legend-prediction:before{background:#f5d3a5}.mover-legend .legend-velocity:before{background:#78bfea}.mover-legend .legend-target:before{background:#0000;border:1px solid #ffd09e;border-radius:50%;height:7px;width:7px}.mover-options{align-items:center;background:#06192c66;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;min-height:58px;padding:0 18px 12px}.mover-facing-options{border:1px solid #b0d9e326;border-radius:10px;display:flex;gap:3px;padding:3px}.mover-facing-options button{background:#0000;border:1px solid #0000;border-radius:7px;color:#adc7d6;cursor:pointer;font:inherit;font-size:11px;padding:9px 11px}.mover-facing-options button[aria-pressed=true]{background:#89cfc32b;border-color:#a6e8df38;color:#e0faf1}.mover-facing-options button:hover{color:#fff1d7}.mover-facing-options button:focus-visible{outline:2px solid #ffd09e;outline-offset:2px}.glass-button.mover-step{font-size:11px;padding:9px 12px}.mover-readouts{grid-gap:12px;background:#06192c66;border-top:1px solid #b0d9e31c;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 18px}.mover-readouts span{grid-gap:6px;color:#9fbfcf;display:grid;font-size:10px;gap:6px}.mover-readouts output{font-feature-settings:"tnum";color:#e0faf1;font:12px var(--font-mono);font-variant-numeric:tabular-nums}.trajectory-toolbar.character-toolbar{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr)}.character-toolbar .trajectory-play{grid-column:1;grid-row:1}.character-toolbar .trajectory-control:nth-child(2),.character-toolbar .trajectory-control:nth-child(4){grid-column:2}.character-toolbar .trajectory-control:nth-child(3),.character-toolbar .trajectory-control:nth-child(5){grid-column:3}.character-toolbar .trajectory-reset{font-size:10px;grid-column:1;grid-row:2;padding:9px 3px}.mover-future-time{fill:#f5d3a5;font:10px var(--font-mono)}@media (max-width:420px){.trajectory-toolbar.character-toolbar{grid-template-columns:38px minmax(0,1fr)}.character-toolbar .trajectory-control:nth-child(n){grid-column:2}.character-toolbar .trajectory-reset{grid-column:1;grid-row:4}.mover-readouts{gap:6px;padding-inline:12px}.mover-readouts output{font-size:10px}}.animation-bank-overlay polyline{fill:none;stroke:#b5d4e2;stroke-width:1.5}.candidate-overlays polyline{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:6 5;stroke-linejoin:round}.candidate-overlays path{fill:currentColor}.candidate-results{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0 18px 16px}.candidate-results li{grid-gap:5px;background:#06192c66;border:1px solid #badce01f;border-radius:8px;border-top:2px solid var(--candidate-color);display:grid;gap:5px;padding:10px}.candidate-rank{color:var(--candidate-color);font-size:10px}.candidate-results strong{color:#e0ebf3;font-size:12px;font-weight:500}.candidate-results .candidate-detail{font-feature-settings:"tnum";color:#b6cbd8;font:9px var(--font-mono);font-variant-numeric:tabular-nums}.animation-database{background:#06192c44;border-top:1px solid #b0d9e31c;padding:14px 18px 18px}.animation-database-heading{color:#c6dce7;display:flex;flex-wrap:wrap;font-size:11px;gap:10px;justify-content:space-between;margin-bottom:12px}.animation-database-heading span:last-child{color:#91b3c5;font-size:10px}.animation-clip-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(5,minmax(0,1fr))}.animation-clip{background:#071b2b66;border:1px solid #b0d9e31c;border-radius:6px;display:flex;flex-direction:column;gap:5px;min-width:0;padding:5px 5px 8px}.animation-clip svg{display:block;height:auto;width:100%}.animation-clip polyline{fill:none;stroke:#d6efff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.animation-clip .clip-axis{stroke:#a6c4d51a;fill:none}.animation-clip circle{fill:#a6c4d5}.animation-clip strong{color:#c5dae6;font-size:9px;font-weight:500}.animation-clip span{color:#94b3c5;font:8px var(--font-mono)}@media (max-width:480px){.candidate-results{gap:5px;padding-inline:10px}.candidate-results li{padding:8px 5px}.candidate-results .candidate-detail{font-size:8px}.animation-clip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.animation-clip svg{max-height:90px}}.animation-clip .clip-facing{fill:none;stroke:#d6efff;stroke-width:1.5;stroke-linecap:round}.clip-disclosure{align-items:center;background:#0000;border:0;color:#d5e6ee;cursor:pointer;display:flex;font:inherit;font-size:12px;gap:14px;justify-content:space-between;padding:2px 0;text-align:left;width:100%}.clip-disclosure small{color:#91b3c5;display:block;font-size:10px;margin-top:5px}.clip-disclosure>span:last-child{border:1px solid #a6d5e236;border-radius:8px;display:grid;font-size:18px;height:28px;place-items:center;width:28px}.clip-disclosure:focus-visible{border-radius:4px;outline:2px solid #ffd09e;outline-offset:5px}.clip-bank-content{margin-top:18px}.clip-playback-controls{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;margin-bottom:16px}.clip-playback-controls .glass-button{font-size:10px;padding:8px 10px}.clip-playback-controls label{color:#a9c7d7;font-size:10px}.clip-playback-controls output{font-feature-settings:"tnum";float:right;font:10px var(--font-mono);font-variant-numeric:tabular-nums}.clip-playback-controls input{accent-color:#adddd7;display:block;margin:8px 0 0;width:100%}.clip-bank-content .animation-clip-grid{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.clip-bank-content .animation-clip{padding:10px}.clip-title{display:flex;flex-direction:column;gap:5px}.clip-title strong{font-size:11px}.clip-title span{font-feature-settings:"tnum";font-size:9px;font-variant-numeric:tabular-nums}.animation-clip .clip-played{stroke:#a6e8df;stroke-width:2;opacity:.5}.clip-playhead{fill:#e2fff3;stroke:#163e50;stroke-width:.8}@media (max-width:600px){.clip-bank-content .animation-clip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clip-bank-content .animation-clip svg{max-height:none}.clip-playback-controls{gap:8px;grid-template-columns:auto minmax(0,1fr)}.clip-playback-controls>button:last-child{grid-column:2;justify-self:end}}.clip-bank-content .animation-clip{border-top-color:var(--clip-color)}.clip-bank-content .animation-clip[data-selected=true]{background:#76e4a00a;border-color:#76e4a066}.clip-title .clip-rank{color:var(--clip-color)}.clip-bank-content .clip-playhead{fill:var(--clip-color)}.animation-database{overflow-anchor:none;transition:background-color .72s var(--ease-soft)}.animation-database[data-expanded=true]{background-color:#16384d55}.clip-disclosure{min-height:48px;position:relative;touch-action:manipulation;transition:color .18s,background-color .18s;z-index:1}.clip-disclosure>span:first-child{transition:transform .48s var(--ease-soft)}.clip-disclosure:hover{color:#f1fff7}.clip-disclosure:active>span:first-child{transform:translateX(2px)}.clip-disclosure .clip-disclosure-icon{background:#8bc3cb0a;border-radius:10px;flex:0 0 36px;height:36px;position:relative;transition:background-color .28s,border-color .28s,transform .36s var(--ease-soft);width:36px}.clip-disclosure-icon,.clip-disclosure-icon *{pointer-events:none}.clip-disclosure .clip-disclosure-icon>span{background:currentColor;border-radius:1px;height:2px;position:absolute;transition:transform .36s var(--ease-soft),opacity .24s;width:12px}.clip-disclosure-icon>span:last-child{transform:rotate(90deg)}.clip-disclosure[aria-expanded=true] .clip-disclosure-icon>span:last-child{opacity:0;transform:rotate(0)}.clip-disclosure:hover .clip-disclosure-icon{background:#8bc3cb22;border-color:#c1e7d46b}.clip-disclosure:active .clip-disclosure-icon{transform:scale(.94)}.clip-bank-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .72s var(--ease-soft)}.clip-bank-reveal[aria-hidden=false]{grid-template-rows:1fr}.clip-bank-viewport{min-height:0;overflow:hidden}.clip-bank-content{margin-top:0;opacity:0;padding-top:18px;transform:translateY(-14px);transition:opacity .22s ease,transform .48s var(--ease-soft)}.clip-bank-reveal[aria-hidden=false] .clip-bank-content{opacity:1;transform:translateY(0);transition:opacity .48s ease 90ms,transform .72s var(--ease-soft)}.clip-bank-reveal[aria-hidden=true]{pointer-events:none}.clip-title strong{line-height:1.3;min-height:2.6em}@media (prefers-reduced-motion:reduce){.animation-database,.clip-bank-content,.clip-bank-reveal,.clip-bank-reveal[aria-hidden=false] .clip-bank-content,.clip-disclosure,.clip-disclosure .clip-disclosure-icon,.clip-disclosure .clip-disclosure-icon>span,.clip-disclosure>span{transition:none}}.animation-database[data-reduced-motion=true] .clip-bank-content,.animation-database[data-reduced-motion=true] .clip-bank-reveal,.animation-database[data-reduced-motion=true] .clip-disclosure-icon,.animation-database[data-reduced-motion=true] .clip-disclosure-icon>span{transition:none}.motion-foot path{stroke:#102b40;stroke-width:1;stroke-linejoin:round}.motion-foot-left{fill:#b4eee4}.motion-foot-right{fill:#ffdab0}.trajectory-line{stroke-width:1.6}.trajectory-halo{stroke-width:4;opacity:.14}.trajectory-grid{stroke:#90bfc516;stroke-width:.6}.mover-history{stroke-width:1;stroke-dasharray:none;opacity:.3}.trajectory-sample path{fill:none;stroke:#c8e6df;stroke-width:.8;stroke-linecap:round;opacity:.7}.trajectory-sample circle{fill:#ffe0b2;stroke:#193c50;stroke-width:.5}.candidate-overlays .candidate-path{fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;animation:candidate-arrive .24s ease both;transition:stroke .24s ease}.candidate-overlays .candidate-path.is-exiting{animation:candidate-depart .24s ease both}@keyframes candidate-arrive{0%{opacity:0}to{opacity:1}}@keyframes candidate-depart{0%{opacity:1}to{opacity:0}}.candidate-overlays[data-reduced-motion=true] .candidate-path{animation:none;transition:none}@media (prefers-reduced-motion:reduce){.candidate-overlays .candidate-path{animation:none;transition:none}}.simulation-canvas-fold{display:grid;grid-template-rows:minmax(0,0fr);opacity:0;transition:grid-template-rows .56s var(--ease-soft),opacity .42s var(--ease-soft)}.simulation-canvas-fold[data-open=true]{grid-template-rows:minmax(0,1fr);opacity:1}.simulation-canvas-body{min-height:0;overflow:hidden;position:relative}.simulation-motion-layer{pointer-events:none;transition:opacity .42s var(--ease-soft)}.intent-direction{fill:none;stroke:#ffd09e;stroke-width:1.2;stroke-dasharray:5 7}.simulation-inspector,.trajectory-stage-heading h3{animation:simulation-detail-in .42s var(--ease-soft) both}@keyframes simulation-detail-in{0%{opacity:0;translate:0 7px}}.trajectory-stage[data-focus=database] .trajectory-stage-heading{inset:auto;padding:20px 20px 8px;position:relative}.clip-bank-heading{align-items:center;color:#c9e0e9;display:flex;font-size:12px;gap:12px;justify-content:space-between;margin:2px 0 14px}.clip-bank-heading strong{font-weight:500}.clip-bank-heading>span{color:#91b3c5;font:10px var(--font-mono)}.animation-database[data-mode=database] .animation-clip-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:560px;overflow-y:auto;padding-right:5px;scrollbar-color:#6a99ae #092039;scrollbar-width:thin}.animation-database[data-mode=database] .animation-clip{padding:12px}.animation-database[data-mode=database] .animation-clip svg{max-height:160px}.animation-database[data-mode=database] .animation-clip[data-selected=true]{background:#28566b45;border-color:#a5dcd38c}.clip-inspect{background:#0000;border:0;border-radius:4px;color:#e0eff5;font:500 12px var(--font-body);padding:4px 0 6px;text-align:left;transition:color .42s var(--ease-soft);width:100%}.clip-inspect:hover,.clip-inspect[aria-pressed=true]{color:#ffdab0}.animation-database[data-mode=result] .animation-clip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:600px){.animation-database[data-mode=result] .animation-clip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.animation-database[data-mode=result] .animation-clip{padding:10px}.animation-blend{background:linear-gradient(180deg,#09223880,#092238ed);border-radius:10px;inset:auto 18px 14px;padding:12px;pointer-events:none;position:absolute}.animation-blend h4{color:#c9e0e9;font-size:12px;font-weight:500;line-height:16px;margin:0 0 10px}.animation-blend-slots{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:62px}.animation-blend-channel{animation:simulation-detail-in .24s var(--ease-soft) both;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.animation-blend-channel>div:first-child{display:flex;flex-direction:column;gap:4px}.animation-blend-channel strong{color:#e0eff5;font-size:11px;font-weight:500}.animation-blend-channel span{font-feature-settings:"tnum";color:#a8c6d7;font:9px/1.5 var(--font-mono);font-variant-numeric:tabular-nums}.animation-blend-track{background:#a6d5e220;border-radius:5px;height:5px;overflow:hidden}.animation-blend-track>span{background:linear-gradient(90deg,#8ddbcf,#ffdab0);display:block;height:100%;transform-origin:left;width:100%}.motion-visual .trajectory-stage[data-focus=result] .trajectory-canvas{min-height:340px}@media (prefers-reduced-motion:reduce){.animation-blend-channel,.simulation-canvas-fold,.simulation-inspector,.simulation-motion-layer,.trajectory-stage-heading h3{animation:none;transition:none}}.epic-mm-diagram{background:radial-gradient(ellipse at 50% 45%,#224a6580,#071c32d9 80%);border:1px solid #a6d5e22e;border-radius:14px;padding:20px}.epic-mm-diagram header{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.epic-mm-diagram h3{font-size:16px;font-weight:500;margin:0}.epic-mm-diagram header span{color:#9fbfcf;font-size:10px}.epic-mm-diagram svg{display:block;height:auto;margin-top:12px;overflow:visible;width:100%}.epic-mm-node rect{fill:#15334d;stroke:#a6d5e242;transition:fill .42s var(--ease-soft),stroke .42s var(--ease-soft)}.epic-mm-node[data-selected=true] rect{fill:#35616b;stroke:#ffdab0}.epic-mm-node text{font-family:var(--font-body)}.epic-mm-node-title{fill:#e0eff5;font-size:16px;font-weight:500}.epic-mm-node-detail{fill:#a8c6d7;font-size:12px}.epic-mm-node[data-selected=true] .epic-mm-node-title{fill:#ffdab0}.epic-mm-connection{fill:none;stroke:#88b4ca66;stroke-width:2;transition:stroke .42s var(--ease-soft)}.epic-mm-connection[data-highlighted=true]{stroke:#a6e8df}.epic-mm-diagram marker path{fill:none;stroke:#a6e8df;stroke-width:1.5}@media (max-width:650px){.epic-mm-diagram{padding:14px 8px}.epic-mm-diagram header{padding-inline:6px}}@media (prefers-reduced-motion:reduce){.epic-mm-connection,.epic-mm-node rect{transition:none}}.schema-example{background:radial-gradient(ellipse at 45% 20%,#224a65b8,#071c32ed 75%);border:1px solid #a6d5e22e;border-radius:14px;overflow:hidden}.schema-example header{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:20px 20px 0}.schema-example h3{font-size:16px;font-weight:500;margin:0}.schema-example header>span{color:#9fbfcf;font-size:10px}.schema-canvas{display:block;height:auto;width:100%}.schema-query-path{fill:none;stroke:#ffdab0;stroke-width:2;stroke-linecap:round;transition:opacity .42s var(--ease-soft)}.schema-sample circle{fill:#ffdab0;stroke:#15334d;stroke-width:2}.schema-now,.schema-sample text{fill:#e4dfd2;font:13px var(--font-mono)}.schema-query-feet{transition:opacity .42s var(--ease-soft)}.schema-legend{color:#b3ceda;display:flex;flex-wrap:wrap;font-size:10px;gap:6px 16px;padding:0 20px 16px}.schema-channels{border:0;border-top:1px solid #a6d5e226;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:14px 20px}.schema-channels legend{color:#c9e0e9;float:left;font-size:12px;margin-bottom:10px;width:100%}.schema-channels label{align-items:center;background:#15334d80;border:1px solid #a6d5e230;border-radius:8px;color:#c9e0e9;cursor:pointer;display:flex;font-size:11px;gap:7px;padding:8px 10px;transition:border-color .42s,background-color .42s}.schema-channels label:has(input:checked){background:#28566b70;border-color:var(--schema-color)}.schema-channels input{accent-color:var(--schema-color);margin:0}.schema-controls{box-sizing:border-box;min-height:210px;padding:12px 20px 20px}.schema-control-content{animation:simulation-detail-in .42s var(--ease-soft) both}.schema-controls label{color:#c9e0e9;display:flex;font-size:12px;gap:10px;justify-content:space-between}.schema-controls output{color:#ffdab0;font:11px var(--font-mono)}.schema-controls input[type=range]{accent-color:#adddd7;cursor:pointer;display:block;margin:6px 0 10px;min-height:28px;width:100%}.schema-controls input:disabled{cursor:default;opacity:.35}.schema-weight{margin-bottom:10px}.schema-sample-times{color:#ffdab0;display:flex;font:11px var(--font-mono);gap:10px;justify-content:space-between;padding-top:16px}.schema-query-values{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.schema-query-values>div{transition:opacity .42s}.schema-query-values [data-enabled=false]{opacity:.35}.schema-query-values dt{color:#9fbfcf;font-size:11px;margin-bottom:10px}.schema-query-values dd{color:#d5e6ee;font:11px/1.8 var(--font-mono);margin:0}.schema-costs{background:#06192c66;border-top:1px solid #a6d5e226;padding:16px 20px}.schema-costs h4{color:#c9e0e9;font-size:12px;font-weight:500;margin:0 0 12px}.schema-cost-scroll{overflow-x:auto}.schema-costs table{border-collapse:collapse;font:10px var(--font-mono);width:100%}.schema-costs td,.schema-costs th{border-bottom:1px solid #a6d5e21a;font-weight:400;padding:10px 8px;text-align:right;white-space:nowrap}.schema-costs th:first-child{text-align:left}.schema-costs thead{color:#9fbfcf}.schema-costs tbody{color:#c9e0e9}.schema-costs th strong{color:var(--candidate-color);display:block;font:500 12px var(--font-body)}.schema-costs th small{color:#9fbfcf;display:block;font-size:9px;margin-top:5px}.schema-costs tr[data-selected=true]{background:#76e4a00a}.schema-cost-note,.schema-empty{color:#9fbfcf;font-size:10px;line-height:1.7;margin:12px 0 0}.schema-empty{min-height:145px}@media (max-width:650px){.schema-query-values{gap:8px}.schema-query-values dd{font-size:10px}.schema-channels,.schema-controls,.schema-costs{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.schema-control-content{animation:none}.schema-channels label,.schema-query-feet,.schema-query-path,.schema-query-values>div{transition:none}}.schema-lab>header{align-items:center;padding-bottom:10px}.schema-lab>header .glass-button{font-size:10px;padding:7px 10px}.schema-lab>header{padding:22px 24px 8px}.schema-lab-canvas{max-height:350px}.lab-trajectory-comparison{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.lab-trajectory-comparison figure{background:#071c3238;border:1px solid #a6d5e22e;border-radius:10px;margin:0;min-width:0;overflow:hidden}.lab-trajectory-comparison figcaption{min-height:48px;padding:14px 14px 0}.lab-trajectory-comparison figcaption strong{color:#e0edf4;display:block;font-size:12px;font-weight:500}.lab-trajectory-comparison figcaption span{color:#adcbdc;display:flex;flex-wrap:wrap;font-size:10px;gap:6px;justify-content:space-between;margin-top:6px}.lab-trajectory-comparison output{font-family:var(--font-mono)}.lab-trajectory-comparison .schema-lab-canvas{max-height:none}.lab-trajectory-sample circle{fill:currentColor;stroke:#102b40;stroke-width:1.5}.lab-trajectory-sample text{fill:currentColor;font:12px var(--font-mono)}.lab-sample-data{border-top:1px solid #a6d5e21a;margin:0;padding:12px 14px}.lab-sample-data dt{color:#adcbdc;font-size:10px}.lab-sample-data dd{color:#ffdab0;display:flex;flex-wrap:wrap;font:11px var(--font-mono);gap:6px 14px;margin:8px 0 0}[data-trajectory=animation] .lab-sample-data dd{color:#79ddbe}@media (max-width:480px){.lab-trajectory-comparison{grid-template-columns:1fr}}.lab-introduction{padding:6px 0 12px;text-align:center}.lab-introduction .lab-sample-buttons{justify-content:center;margin-bottom:12px}.lab-introduction p{color:#adcbdc;font-size:13px;margin:0}.lab-chapter-controls{animation:simulation-detail-in .42s var(--ease-soft) both}.lab-flags{border:0;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0}.lab-flags legend{color:#c9e0e9;float:left;font-size:12px;margin-bottom:10px;width:100%}.lab-check,.lab-flags label{align-items:center;color:#c9e0e9;display:flex;font-size:11px;gap:7px}.lab-flags label{background:#15334d80;border:1px solid #a6d5e230;border-radius:8px;padding:8px}.schema-lab input{accent-color:#adddd7}.schema-lab .glass-button[aria-pressed=true]{background:#578c9270;border-color:#b4eee488}.lab-sample-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.lab-slider{grid-gap:8px;color:#c9e0e9;display:grid;font-size:12px;gap:8px;grid-template-columns:1fr auto;margin-bottom:18px}.lab-slider input{grid-column:1/-1;margin:0;min-height:24px;width:100%}.lab-select{align-items:center;color:#c9e0e9;display:flex;font-size:12px;gap:12px;justify-content:space-between;margin:12px 0 20px}.lab-select select{background:#102c42;border:1px solid #a6d5e245;border-radius:8px;color:#e3edf3;font:inherit;padding:10px}.query-pose-pair{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:20px}.query-pose-preview{border:1px solid #a6d5e230;border-radius:10px;color:#9fbfcf;font-size:12px;padding:12px;transition:border-color .42s,background-color .42s}.query-pose-preview[data-selected=true]{background:#ffdab00a;border-color:#ffdab080;color:#ffdab0}.query-pose-preview svg{display:block;width:100%}.query-pose-source{color:#adcbdc;display:block;font-size:10px;margin-top:7px;min-height:28px}.lab-index-strip{display:block;margin:12px 0;width:100%}.lab-index-strip path{stroke:#a6d5e255;stroke-width:1}.lab-index-strip circle{fill:#ffdab0}.lab-playhead{stroke:#ffdab0;stroke-width:2}.schema-lab button:focus-visible,.schema-lab input:focus-visible,.schema-lab select:focus-visible{outline:2px solid #ffdab0;outline-offset:3px}.lab-chapter-controls{border-top:1px solid #a6d5e21a;padding:20px 24px}.lab-single-caption{color:#adcbdc;font-size:12px;line-height:1.6;margin:14px 0 0}@media (max-width:650px){.lab-chapter-controls{padding-inline:16px}}@media (prefers-reduced-motion:reduce){.lab-chapter-controls{animation:none}}.database-example>header{padding-bottom:16px}.database-detail{animation:simulation-detail-in .42s var(--ease-soft) both}.database-controls{border-top:1px solid #a6d5e226;padding:18px 20px 22px}.database-selects{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:22px}.database-controls label{color:#c9e0e9;font-size:12px}.database-selects select{background:#102c42;border:1px solid #a6d5e245;border-radius:8px;color:#e3edf3;display:block;font:inherit;margin-top:8px;padding:10px;width:100%}.database-sample-count,.database-scrub{display:flex;gap:12px;justify-content:space-between}.database-scrub output{color:#ffdab0;font:11px var(--font-mono)}.database-controls input[type=range]{accent-color:#adddd7;margin:8px 0 0;min-height:30px;width:100%}.database-sample-strip{display:block;height:24px;width:100%}.database-sample-strip path{stroke:#a6d5e255;stroke-width:1}.database-sample-strip .is-selected{stroke:#ffdab0;stroke-width:2}.database-sample-strip circle{fill:#ffdab0}.database-sample-count{color:#9fbfcf;font:10px var(--font-mono);margin:8px 0 24px}.database-playback{align-items:center;color:#adcbdc;display:flex;font-size:11px;gap:12px;justify-content:space-between;padding:0 20px 8px}.database-example>header .glass-button,.database-playback .glass-button{font-size:11px;padding:8px 12px}.animation-coverage-paths path{fill:none;stroke:#a4b4c2;stroke-width:1.5;opacity:.22;transition:opacity .3s var(--ease-soft)}@media (max-width:650px){.database-controls{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.database-detail{animation:none}}.learning-anchor{height:1px;top:600svh;width:1px}.learning-anchor,.learning-section{pointer-events:none;position:absolute}.learning-section{inset:0;margin:auto;max-width:1680px;opacity:0;opacity:var(--learning-opacity,0);overflow-y:auto;padding:108px 0 128px;scrollbar-width:none;transform:translateY(36px);transform:translateY(calc((1 - var(--learning-opacity, 0))*36px));width:calc(100% - var(--page-gutter)*2)}.learning-section:not([inert]){pointer-events:auto}.learning-hub,.learning-main{min-width:0}.learning-hub .sr-only{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.learning-heading{margin-bottom:24px}.learning-heading h2{font-size:clamp(32px,3vw,52px);font-weight:500;letter-spacing:-.045em;line-height:1.1;margin:5px 0 0}.learning-heading h2 span{color:var(--color-accent)}.learning-heading .eyebrow{margin:0}.ocean-panel{background:linear-gradient(135deg,#244c6ee8,#102a47f5);border:1px solid #abd8ec35;border-radius:22px;box-shadow:inset 0 1px 0 #e0f7ff12,0 18px 50px #020c2026}.learning-workspace{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:225px minmax(0,1fr)}.learning-path{padding:22px 12px}.learning-path-heading{padding:0 10px 20px}.learning-path-heading h3{color:#bdd5e4;font-size:14px;font-weight:500;margin:0}.learning-path nav a{align-items:center;border:1px solid #0000;border-radius:12px;display:flex;gap:12px;padding:16px 10px}.learning-path nav a:hover{background:#9bd5ed12;border-color:#a6d8ef30}.learning-path nav a[aria-current=page],.learning-path nav a[aria-current=true]{border-color:#c1e7d44c}.learning-path nav strong{display:block;font-size:14px;font-weight:500}.learning-path nav small{color:#b8cfdf;display:block;font-size:11px;margin-top:6px}.learning-path .chapter-outline{grid-gap:6px;display:grid;gap:6px;list-style:none;margin:0;padding:12px 0 0}.learning-path .chapter-outline a{font-size:12px;gap:10px;line-height:1.5;padding:12px 10px}.chapter-outline a>span:first-child,.lesson-number{color:#a3e2ed;font:10px var(--font-mono)}.learning-back{color:#c5e8f1;display:inline-block;font-size:12px;margin:28px 10px 0}.learning-breadcrumbs{color:#adcbdc;display:flex;flex-wrap:wrap;font-size:12px;gap:9px;margin:0 0 22px}.learning-breadcrumbs [aria-current=page]{color:#f6d6b2}.topic-overview{padding:clamp(24px,3vw,42px)}.topic-overview h3{font-size:clamp(30px,3vw,46px);font-weight:500;letter-spacing:-.035em;margin:14px 0 20px}.topic-overview>p{color:#c7dbe7;font-size:16px;line-height:1.85;max-width:650px}.topic-overview-actions{display:flex;margin:24px 0 36px}.topic-overview h4{font-size:15px;font-weight:500}.chapter-list{grid-gap:10px;display:grid;gap:10px;list-style:none;margin:16px 0 0;padding:0}.chapter-list a{align-items:center;background:#0a203b40;border:1px solid #abd8ec25;border-radius:13px;display:flex;gap:20px;padding:20px}.chapter-list a:hover{background:#528d8f30;border-color:#c1e7d45c}.chapter-list strong{display:block;font-size:15px;font-weight:500}.chapter-list small{color:#aec8d8;display:block;font-size:12px;line-height:1.7;margin-top:6px}.chapter-state{color:#f6d6b2;font-size:11px;margin-left:auto;white-space:nowrap}.chapter-heading{margin-bottom:22px}.chapter-heading h3{font-size:clamp(26px,2.6vw,38px);font-weight:500;letter-spacing:-.035em;margin:10px 0 0}.motion-chapter{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden}.motion-copy{padding:clamp(24px,2.8vw,40px)}.motion-copy p{color:#c6d9e6;font-size:15px;line-height:1.85;margin:0 0 20px}.motion-copy .motion-lead{text-wrap:balance;color:#edf7fc;font-size:clamp(20px,1.7vw,27px);letter-spacing:-.02em;line-height:1.45;margin-bottom:26px}.motion-copy .motion-note{border-top:1px solid #e8c28f2c;color:#e4d5bf;font-size:13px;line-height:1.8;margin-bottom:0;margin-top:28px;padding-top:20px}.motion-sources{color:#b9d9e6;font-size:12px;margin-top:24px}.motion-sources summary{cursor:pointer;padding:8px 0}.motion-sources a{color:#f7d4b1;display:block;line-height:1.7;padding-top:10px;text-decoration:underline;text-underline-offset:4px}.motion-visual{align-self:stretch;background:#04182d48;border-left:1px solid #abd8ec1f;min-width:0;padding:24px}.chapter-read-state .glass-button{font-size:11px;min-height:38px;padding:9px 14px}.five-parts ol{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-columns:repeat(var(--chapter-part-count,5),minmax(0,1fr));list-style:none;margin:24px 0 16px;padding:0}.five-parts button{grid-gap:8px;background:#0b233e55;border:1px solid #acd9e52b;border-radius:9px;cursor:pointer;display:grid;font-size:10px;gap:8px;justify-items:start;padding:12px 8px;width:100%}.five-parts button span{color:#8dbfd5;font:9px var(--font-mono)}.five-parts button[aria-pressed=true]{border-color:#c1e7d46b}.part-explanation{background:#061a2e40;border-radius:12px;min-height:195px;padding:20px}.part-explanation h4{font-size:18px;font-weight:500;margin:0 0 12px}.part-explanation p{font-size:14px;margin:0}.part-explanation p+p{margin-top:14px}.chapter-read-state{display:flex;justify-content:flex-end;margin-top:16px}.chapter-pagination{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:20px}.chapter-pagination .glass-button{font-size:12px;padding:12px 16px}@media (max-width:1150px){.learning-workspace{gap:18px;grid-template-columns:190px minmax(0,1fr)}.motion-chapter{grid-template-columns:1fr}.motion-visual{border-left:0;border-top:1px solid #abd8ec1f}.motion-copy p{max-width:65ch}}@media (max-width:650px){.learning-section{padding-bottom:135px;padding-top:88px}.learning-heading .eyebrow{font-size:8px}.learning-workspace{grid-template-columns:1fr}.learning-path{padding:14px 10px}.learning-path-heading{padding-bottom:10px}.learning-path .learning-topic-link{padding:10px}.learning-path .chapter-outline{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.learning-path .chapter-outline a{padding:12px 10px;white-space:nowrap}.learning-back{display:none}.motion-copy,.motion-visual{padding:22px}.motion-copy p{font-size:14px}.chapter-list a{gap:12px;padding:16px 12px}.chapter-list small{font-size:11px}.chapter-state{font-size:10px}.five-parts ol{grid-template-columns:repeat(3,1fr)}.chapter-pagination .glass-button{font-size:11px}}@media (max-height:500px){.learning-section{padding-top:74px}}@media (prefers-reduced-motion:reduce){.learning-section{transform:none}}.learning-level-outline{grid-gap:8px;display:grid;gap:8px;margin-top:16px}.learning-path .learning-level-link{justify-content:space-between;padding:12px 10px}.learning-path .learning-level-link strong{font-size:12px}.learning-path .learning-level-link small{font:10px var(--font-mono);margin:0}@media (max-width:650px){.learning-level-outline{gap:5px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.learning-path .learning-level-link{padding:12px 7px}.learning-path .learning-level-link strong{font-size:11px}.learning-path .learning-chapter-fold,.learning-path .learning-level-link small{display:none}}.learning-hub :is(.learning-path nav a,.chapter-list a,.five-parts button){isolation:isolate;overflow:hidden;position:relative;transition:background-color .42s var(--ease-soft),border-color .42s var(--ease-soft),color .42s var(--ease-soft),transform .56s var(--ease-soft),box-shadow .42s var(--ease-soft)}.learning-hub :is(.learning-path nav a,.chapter-list a,.five-parts button):after,.learning-hub :is(.learning-path nav a,.chapter-list a,.five-parts button):before{border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute;z-index:-1}.learning-hub :is(.learning-path nav a,.chapter-list a,.five-parts button):before{background:linear-gradient(125deg,#61968f8c,#35637c91);box-shadow:inset 0 1px 0 #e8f8ff24;opacity:0;transition:opacity .42s var(--ease-soft)}.learning-hub :is(.learning-path nav a,.chapter-list a,.five-parts button):after{background:linear-gradient(105deg,#0000 42%,#fff1dc38 50%,#fff1dc0a 53%,#0000 60%) no-repeat;background-position:120% 0;background-size:250% 100%;transition:background-position 1.2s var(--ease-soft)}.learning-hub :is(.learning-path nav a,.chapter-list a,.five-parts button):is(:hover,:focus-visible):before{opacity:.4}.learning-hub :is(.learning-path nav a,.chapter-list a,.five-parts button):is(:hover,:focus-visible,[aria-current=page],[aria-current=true],[aria-pressed=true]):after{background-position:-20% 0}.learning-hub :is(.learning-path nav a,.five-parts button):is([aria-current=page],[aria-current=true],[aria-pressed=true]):before{opacity:1}.learning-hub :is(.learning-path nav a,.chapter-list a,.five-parts button):focus-visible{outline:2px solid #b7f1f2;outline-offset:2px}@media (hover:hover){.learning-hub :is(.learning-path nav a,.chapter-list a,.five-parts button):hover{transform:translateY(-1px)}}.learning-hub :is(.learning-path nav a,.chapter-list a,.five-parts button):active{transform:translateY(1px) scale(.985);transition-duration:.12s}.learning-hub .glass-button{transition-duration:.42s,.42s,.56s,.42s;transition-timing-function:var(--ease-soft)}.learning-hub .glass-button:after{transition:background-position 1.2s var(--ease-soft)}.learning-hub :is(.learning-back,.learning-breadcrumbs a,.motion-disclosure){transition:color .42s var(--ease-soft),-webkit-text-decoration-color .42s var(--ease-soft);transition:color .42s var(--ease-soft),text-decoration-color .42s var(--ease-soft);transition:color .42s var(--ease-soft),text-decoration-color .42s var(--ease-soft),-webkit-text-decoration-color .42s var(--ease-soft)}.learning-hub :is(.learning-back,.learning-breadcrumbs a,.motion-disclosure):is(:hover,:focus-visible){color:#f6d6b2}.learning-chapter-fold{display:grid;grid-template-rows:minmax(0,0fr);opacity:0;transition:grid-template-rows .56s var(--ease-soft),opacity .36s var(--ease-soft)}.learning-chapter-fold[data-open=true]{grid-template-rows:minmax(0,1fr);opacity:1}.learning-chapter-fold-body{min-height:0;overflow:hidden}.learning-chapter-fold .chapter-outline{transform:translateY(-8px);transition:transform .56s var(--ease-soft)}.learning-chapter-fold[data-open=true] .chapter-outline{transform:none}@media (prefers-reduced-motion:reduce){.learning-chapter-fold .chapter-outline,.learning-hub :is(.learning-path nav a,.chapter-list a,.five-parts button){transform:none!important}}.part-explanation-content{animation:learning-part-in .42s var(--ease-soft) both}@keyframes learning-part-in{0%{opacity:0;translate:0 7px}}.learning-path .nested-chapters{grid-gap:4px;border-left:1px solid #a6d5e233;display:grid;gap:4px;list-style:none;margin:4px 0 8px 12px;padding:0 0 0 7px}.learning-path .nested-chapters a{font-size:11px;padding:10px 6px}.chapter-children ol{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:24px 0;padding:0}.chapter-children a{display:flex;justify-content:space-between}@media (prefers-reduced-motion:reduce){.part-explanation-content{animation:none}}.home-page{flex:1 1}.scroll-scene{--progress:0;--work-progress:0;--intro-opacity:0;--intro-x:-18vw;--nav-opacity:0;--cue-opacity:1;--waterline:50%;--name-size:clamp(36px,min(9.3vw,15svh),180px);--name-gap:clamp(10px,1.8svh,22px);height:700svh;position:relative}.scene-sticky{height:100svh;isolation:isolate;overflow:hidden;position:-webkit-sticky;position:sticky;top:0}.about-anchor,.work-anchor{height:1px;pointer-events:none;position:absolute;width:1px}.work-anchor{top:300svh}.about-anchor{top:100svh}.home-intro{inset:0;opacity:var(--intro-opacity);pointer-events:none;position:absolute;text-align:center;transform:translate3d(var(--intro-x),0,0);will-change:transform,opacity}.home-intro h1{font-size:var(--name-size);font-weight:450;letter-spacing:-.065em;line-height:.94;margin:0}.intro-first,.intro-last{display:block;left:0;padding-inline:20px;position:absolute;right:0}.intro-first{bottom:calc(50% + var(--name-gap));color:#fff4e6;text-shadow:0 2px 30px #13395544}.intro-last{color:#d9f6ff;text-shadow:0 2px 28px #082e4388;top:calc(50% + var(--name-gap))}.eyebrow{color:#d3ebf5;font:10px/1.6 var(--font-mono);letter-spacing:.18em;text-transform:uppercase}.intro-role{bottom:calc(50% + var(--name-size) + var(--name-gap) + 26px);left:20px;margin:0;position:absolute;right:20px;text-shadow:0 1px 12px #10324d88}.intro-biography{left:var(--page-gutter);position:absolute;right:var(--page-gutter);text-shadow:0 2px 18px #062c48;top:calc(50% + var(--name-size) + var(--name-gap) + 28px)}.intro-welcome{font-size:clamp(16px,1.55vw,25px);letter-spacing:-.025em;margin:0 0 10px}.intro-summary{color:#c5dde8;font-size:clamp(12px,1vw,16px);line-height:1.8;margin:0}.explore-cue{bottom:8%;left:50%;opacity:var(--cue-opacity);position:absolute;transform:translateX(-50%)}.explore-cue[aria-hidden=true]{pointer-events:none}.explore-cue-arrow{color:#e2f3f8}.navigation-depth{-webkit-clip-path:inset(max(0%,var(--waterline)) 0 0);clip-path:inset(max(0%,var(--waterline)) 0 0);inset:0;pointer-events:none;position:absolute}.work-section{--player-clearance:calc(124px + env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column;inset:0;justify-content:center;margin:auto;max-width:2200px;opacity:var(--nav-opacity);padding:100px 0 var(--player-clearance);position:absolute;transform:translate3d(0,calc((1 - var(--work-progress))*90px),0) scale(calc(.94 + var(--work-progress)*.06));width:calc(100% - var(--page-gutter)*2)}.work-section:not([inert]){pointer-events:auto}.work-heading{align-items:flex-end;display:flex;gap:20px;justify-content:space-between;margin-bottom:clamp(18px,3vh,40px);opacity:calc(1 - var(--entry-retreat));translate:calc(var(--entry-retreat)*-75vw) 0}.work-heading h2{font-size:clamp(28px,3vw,60px);font-weight:450;letter-spacing:-.045em;line-height:1.1;margin:0}.work-heading h2>span{color:var(--color-accent)}.scene-progress{background:#b0d8ed12;bottom:20px;height:1px;left:var(--page-gutter);pointer-events:none;position:absolute;right:var(--page-gutter)}.scene-progress span{background:linear-gradient(90deg,var(--color-accent),var(--color-sunrise-accent));display:block;height:1px;transform:scaleX(var(--progress));transform-origin:left;width:100%}@media (max-width:850px){.scroll-scene{--name-size:clamp(38px,min(15vw,15svh),110px)}.intro-role{bottom:calc(50% + var(--name-size) + var(--name-gap) + 22px);font-size:9px;letter-spacing:.12em}.intro-biography{top:calc(50% + var(--name-size) + var(--name-gap) + 26px)}.intro-summary{margin-inline:auto;max-width:310px}.desktop-break{display:none}.work-section{padding-top:90px}.work-heading{margin-bottom:18px}.scene-progress{bottom:15px}}@media (max-height:650px){.work-section{justify-content:flex-start;overflow-y:auto;padding-top:85px;scrollbar-width:none}.work-section::-webkit-scrollbar{display:none}.work-heading{margin-bottom:12px}.work-heading h2{font-size:28px}.intro-biography{top:calc(50% + var(--name-size) + var(--name-gap) + 14px)}.intro-welcome{font-size:15px;margin-bottom:4px}.intro-summary{font-size:12px;line-height:1.5}.intro-role{bottom:calc(50% + var(--name-size) + var(--name-gap) + 14px)}}@media (max-height:740px) and (max-width:850px){.work-heading h2{font-size:28px}.work-heading{margin-bottom:12px}}@media (max-width:600px){.work-section{--player-clearance:calc(116px + env(safe-area-inset-bottom, 0px))}}@media (max-height:500px){.work-section{padding-top:70px}.work-heading{margin-bottom:8px}.work-heading h2{font-size:24px}}@media (prefers-reduced-motion:reduce){.home-intro,.work-section{transform:none;will-change:auto}}.work-section{max-width:1680px}.work-heading .eyebrow{color:#bcdde9;font-size:10px;margin:0 0 7px}.work-heading{align-items:center;margin-bottom:24px}.work-learning-link{font-size:12px;padding:10px 16px}@media (max-width:600px){.work-heading{gap:12px}.work-learning-link{font-size:11px;padding:8px 12px}}.music-player-layer{background:#0000;border:0;color:var(--color-text);font:13px/1.4 var(--font-body);inset:auto auto calc(18px + env(safe-area-inset-bottom, 0px)) calc(18px + env(safe-area-inset-left, 0px));margin:0;max-height:none;max-width:none;overflow:visible;padding:0;position:fixed;width:min(344px,calc(100vw - 36px));z-index:2147483647}.music-player-layer::backdrop{background:#0000;pointer-events:none}.music-player{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:linear-gradient(135deg,#214661ed,#142c46f2 75%,#3d4355f0);border:1px solid #b3e7f540;border-radius:18px;box-shadow:0 8px 32px #081a3540,inset 0 1px #d2effc12;padding:12px 13px 9px}.music-player button{background:#0000;border:0;color:var(--color-muted);display:grid;flex-shrink:0;padding:0;place-items:center}.music-player button:hover{color:var(--color-text)}.music-player button:disabled{cursor:default;opacity:.35}.music-player button svg{height:17px;width:17px}.music-player :focus-visible:not(.glass-button){border-radius:4px;outline:2px solid var(--color-accent);outline-offset:3px}.music-player-main{align-items:center;display:flex;gap:10px}.music-player .music-play{color:var(--color-accent);height:38px;width:38px}.music-player .music-play:hover{color:var(--color-text)}.music-play svg{height:21px!important;width:21px!important}.music-track{flex:1 1;min-width:0}.music-track select{background:#0000;border:0;border-radius:0;color:var(--color-text);cursor:pointer;display:block;font:500 13px/1.6 var(--font-body);padding:0 12px 0 0;text-overflow:ellipsis;width:100%}.music-track option{background:var(--color-surface);color:var(--color-text)}.music-status{color:var(--color-muted);display:block;font-size:10px;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-skip{display:flex;gap:2px}.music-skip button{height:34px;width:27px}.music-player-adjustments{align-items:center;display:flex;gap:8px;height:23px;margin-top:8px}.music-time,.music-volume-label{font-feature-settings:"tnum";color:var(--color-muted);font:9px/1 var(--font-mono);font-variant-numeric:tabular-nums}.music-time{min-width:27px}.music-player input[type=range]{accent-color:var(--color-accent);appearance:none;-webkit-appearance:none;background:#0000;cursor:pointer;height:18px;margin:0;min-width:0}.music-player input[type=range]::-webkit-slider-runnable-track{background:#b2e2f340;border-radius:2px;height:3px}.music-player input[type=range]::-moz-range-track{background:#b2e2f340;border-radius:2px;height:3px}.music-player input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:var(--color-accent);border:0;border-radius:50%;height:9px;margin-top:-3px;width:9px}.music-player input[type=range]::-moz-range-thumb{background:var(--color-accent);border:0;border-radius:50%;height:9px;width:9px}.music-player input:disabled{cursor:default;opacity:.3}.music-seek{flex:1 1}.music-player .music-mute{height:23px;margin-left:3px;width:23px}.music-volume{width:57px}.music-volume-label{text-align:right;width:25px}@media (max-width:600px){.music-player-layer{bottom:calc(12px + env(safe-area-inset-bottom, 0px));left:calc(12px + env(safe-area-inset-left, 0px));width:min(330px,calc(100vw - 24px))}.music-player{border-radius:16px;padding:10px 11px 8px}}.site-layout{display:flex;flex-direction:column;isolation:isolate;min-height:100svh}.site-footer,.site-header{align-items:center;display:flex;justify-content:space-between;margin-inline:auto;max-width:var(--content-width);position:relative;width:calc(100% - var(--page-gutter)*2);z-index:2}.site-header{align-items:baseline;background:#0000;border:0;left:0;min-height:90px;opacity:1;opacity:calc(1 - var(--entry-retreat, 0));padding-top:28px;position:fixed;right:0;top:0;translate:0 0;translate:calc(var(--entry-retreat, 0)*-75vw) 0;z-index:20}.identity{align-items:baseline;display:inline-flex;gap:var(--space-5)}.identity-mark{font-size:34px;font-weight:650;letter-spacing:-3px;line-height:1}.identity-mark span{color:var(--color-accent)}.identity-name{color:var(--color-muted);font-size:var(--text-small)}.site-navigation{align-items:center;display:flex;font-size:var(--text-small);gap:var(--space-6)}.site-navigation a{color:var(--color-muted);transition:color var(--duration-fast)}.site-navigation a:hover,.site-navigation a[aria-current=page]{color:var(--color-text)}.site-navigation a[aria-current=page]:before{background:var(--color-accent);border-radius:50%;content:"";display:inline-block;height:5px;margin-right:9px;width:5px}.external-link{align-items:center;display:inline-flex;gap:12px}.site-navigation .external-link{color:var(--color-text)}.site-footer{bottom:0;color:var(--color-muted);font-size:var(--text-caption);gap:var(--space-5);justify-content:flex-end;left:0;min-height:74px;opacity:1;opacity:calc(1 - var(--entry-retreat, 0));pointer-events:none;position:fixed;right:0}.footer-role{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}@media (max-width:600px){.site-header{min-height:78px;padding-top:22px}.identity-name{display:none}.site-navigation{font-size:10px;gap:15px}.site-navigation .external-link{display:none}.site-footer{font-size:10px;gap:var(--space-3);min-height:65px}.footer-role{letter-spacing:0}}@media (max-height:500px){.site-header{min-height:64px;padding-top:14px}.site-footer{display:none}}@media (max-width:1000px) and (min-width:601px){.identity-name{display:none}.site-navigation{gap:24px}}.site-navigation{gap:8px}.site-navigation>a{border:1px solid #0000;border-radius:10px;padding:9px 16px;transition:color .18s,background .18s,border-color .18s}.site-navigation>a:hover{background:#8fc7df12;border-color:#b4dfe92e}.site-navigation>a[aria-current=page]{background:linear-gradient(125deg,#6ca59b65,#2b60765c);border-color:#c7e4d95e;box-shadow:inset 0 1px 0 #e9fff212}.site-navigation a[aria-current=page]:before{display:none}@media (max-width:600px){.site-navigation{font-size:12px;gap:4px}.site-navigation>a{padding:8px 12px}}
/*# sourceMappingURL=main.6218f550.css.map*/