:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#0b0c0f;--ink-2:#101218;--paper:#e7e4dd;--paper-dim:#a5a29b;--paper-faint:#6f6d68;--gold:#e9a851;--rule:#ffffff17;--lh:1.7rem;--measure:36rem;--sand:13dvh;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;font-size:100%}body{background:var(--ink);min-height:100%;color:var(--paper);font:400 clamp(1rem, .96rem + .2vw, 1.0625rem) / 1.7 var(--sans);font-synthesis-weight:none;text-rendering:optimizelegibility;flex-direction:column;padding:0 clamp(1.25rem,5vw,3rem);display:flex}p,ul,ol,h1,h2,h3,figure,blockquote{margin-block:0 var(--lh)}:is(h1,h2,h3){letter-spacing:-.018em;text-wrap:balance;font-weight:620;line-height:1.22}h1{margin-block-end:calc(var(--lh) * .5);font-size:clamp(1.85rem,1.4rem + 2.1vw,2.85rem)}h2{margin-block-start:calc(var(--lh) * 1.5);font-size:clamp(1.25rem,1.1rem + .7vw,1.5rem)}h3{margin-block-end:calc(var(--lh) * .25);font-size:1.125rem}p{text-wrap:pretty}a{color:inherit;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{color:var(--gold)}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}.skip{position:absolute;top:0;left:-9999px}.skip:focus{z-index:5;background:var(--gold);color:var(--ink);padding:.5rem .9rem;text-decoration:none;left:clamp(1.25rem,5vw,3rem)}.bar{width:100%;max-width:var(--measure);padding-block:var(--lh);flex-wrap:wrap;align-items:baseline;gap:.6rem 1.5rem;margin-inline:auto;font-size:.9375rem;display:flex}.langs{font:500 .8125rem/1 var(--mono);letter-spacing:.06em;color:var(--paper-faint)}.langs a{text-decoration:none}.langs a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.topbar{z-index:3;align-items:stretch;gap:.55rem;display:flex;position:fixed;top:.85rem;right:clamp(1.25rem,5vw,3rem)}.menu{position:relative}.menu summary{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);height:100%;font:500 .8125rem/1 var(--mono);letter-spacing:.06em;cursor:pointer;background:#0b0c0f8c;border:1px solid #ffffff2e;border-radius:10px;align-items:center;gap:.55rem;padding:.5rem .65rem;list-style:none;display:flex}.menu summary::-webkit-details-marker{display:none}.menu summary:before{content:"";background:linear-gradient(currentColor,currentColor) 50%/100% 2px no-repeat;border-block:2px solid;width:1.05rem;height:.75rem}.menu summary:hover,.menu[open] summary{border-color:var(--gold);color:var(--gold)}.menu nav{border:1px solid var(--rule);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:left;background:#0b0c0fe6;border-radius:10px;justify-items:start;min-width:11rem;padding:.85rem 1rem;font-size:.9375rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0}.menu nav a{padding-block:.2rem;text-decoration:none}.menu nav a:hover{text-decoration:underline}.menu [aria-current]{color:var(--gold)}.menu .label{border-top:1px solid var(--rule);width:100%;font:400 .75rem/1.4 var(--mono);letter-spacing:.06em;color:var(--paper-faint);margin:.7rem 0 .15rem;padding-top:.7rem}.menu .langs{gap:1rem;margin:0;display:flex}.menu .craft{border:1px solid var(--rule);width:100%;font:inherit;color:inherit;cursor:pointer;background:#ffffff08;border-radius:6px;margin-bottom:.55rem;padding:.25rem .3rem}.menu .craft:hover{border-color:var(--gold);color:var(--gold)}.menu .sound{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:.2rem 0}.menu .sound:before{content:"○ "}.menu .sound[aria-pressed=true]:before{content:"● "}.menu .sound:hover{color:var(--gold)}.leave{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:2rem;min-height:2rem;color:inherit;background:#0b0c0f8c;border:1px solid #ffffff2e;border-radius:10px;place-items:center;text-decoration:none;transition:border-color .14s,color .14s;display:grid}.leave:hover,.leave:focus-visible{border-color:var(--gold);color:var(--gold)}.leave.prev{z-index:3;height:2rem;position:fixed;top:.85rem;left:clamp(1.25rem,5vw,3rem)}.brand{z-index:3;border-radius:10px;place-items:center;transition:opacity .14s;display:grid;position:absolute;top:.85rem;left:clamp(1.25rem,5vw,3rem)}.brand img{width:auto;height:2rem;display:block}.brand:hover{opacity:.8}.world .brand{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b0c0f8c;border:1px solid #ffffff2e;padding:.22rem .4rem;position:fixed}.world .brand img{height:1.45rem}@media (width>=40rem){.brand img{height:2.4rem}}main{width:100%;max-width:var(--measure);padding-block:calc(var(--lh) * 2.75) calc(var(--lh) * 3);flex:1;margin-inline:auto}.foot{align-items:flex-start;gap:calc(var(--lh) * .25);border-top:1px solid var(--rule);padding-block:var(--lh) calc(var(--lh) * 2);color:var(--paper-dim);flex-direction:column}.foot p{margin:0}.contact{gap:1.25rem;display:flex}.fine{color:var(--paper-faint);font-size:.875rem}.lede{color:var(--paper-dim);max-width:var(--measure);font-size:clamp(1.0625rem,1rem + .35vw,1.1875rem)}.projects{margin-block-end:0;padding:0;list-style:none}.projects li{border-top:1px solid var(--rule);padding-block:var(--lh)}.projects li p:last-child{margin-block-end:0}.projects h2,.projects h3{margin-block-start:0}.projects a{text-decoration:none}.projects a:hover{text-decoration:underline}.meta,.links{font:400 .8125rem/1.5 var(--mono);color:var(--paper-faint);letter-spacing:.01em;flex-wrap:wrap;gap:.4rem 1.1rem;margin-block-end:calc(var(--lh) * .4);display:flex}.links{margin-block:calc(var(--lh) * .75) 0;font-family:var(--sans);font-size:.9375rem}.more{font-size:.9375rem}main:has(.atlas){view-transition-name:none;max-width:88rem}.index-head{margin-block-end:calc(var(--lh) * 1.5)}.index-head h1{font-size:clamp(2.2rem,1.4rem + 3.4vw,3.9rem)}.atlas{--shoal:#16303a;--land:#3a3226}.showcase{z-index:1;position:sticky;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.slide{place-items:center;margin:0;display:grid;position:absolute;inset:0;container-type:size}.slide[data-at=before]{translate:-105%}.slide[data-at=after]{translate:105%}.slide[data-moving]{transition:translate .75s cubic-bezier(.65,0,.2,1)}.plate{aspect-ratio:900/1162;width:min(100cqw,77.4527cqh);position:relative}.plate img{width:100%;height:100%;position:absolute;inset:0}.plate.sig{aspect-ratio:27/20;border:1px solid var(--rule);border-radius:6px;width:min(100cqw,135cqh);overflow:hidden}.plate.sig svg{width:100%;height:100%;display:block}.slide .mark{--fly:max(75cqh, 60cqw);aspect-ratio:512/686;perspective:1100px;--top-z:22px;--flap-z:40px;height:min(62cqh,22rem);position:relative}.slide .mark .tilt{transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));position:absolute;inset:0}.slide .mark svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.slide .mark .top{transform:translateZ(var(--top-z))}.slide .mark :is(.lift,.leaf){transform-style:preserve-3d;position:absolute;inset:0}.slide .mark .lift{transform:translateZ(var(--top-z))}.slide .mark .flap{transform:translateZ(calc(var(--flap-z) - var(--top-z)));filter:drop-shadow(var(--sx,1.5px) var(--sy,3px) 3px #00182a73)}.slide .mark :is(.band-a,.body,.flap,.unfolded){backface-visibility:hidden}.slide .mark .unfolded{rotate:var(--crease) 180deg}.slide .mark .sheen{mix-blend-mode:screen}@media (prefers-reduced-motion:no-preference){.slide[data-at=on] .mark .stem{animation:1.15s cubic-bezier(.16,1,.3,1) backwards fly-stem,1.15s linear backwards appear}.slide[data-at=on] .mark .top{animation:1.15s cubic-bezier(.16,1,.3,1) backwards fly-top,1.15s linear backwards appear}.slide[data-at=on] .mark .lift{animation:1.15s cubic-bezier(.16,1,.3,1) backwards fly-top}.slide[data-at=on] .mark :is(.body,.flap,.unfolded){animation:1.15s linear backwards appear}.slide[data-at=on] .mark .band-b{animation:1.15s cubic-bezier(.16,1,.3,1) backwards fly-stem,1.15s linear backwards appear,.7s cubic-bezier(.55,0,.25,1.08) .35s backwards bend}.slide[data-at=on] .mark .band-a{animation:1.15s linear backwards appear,.65s cubic-bezier(.55,0,.25,1.08) .75s backwards bend}.slide[data-at=on] .mark .leaf{animation:.75s cubic-bezier(.55,0,.25,1.06) .3s backwards fold}.slide[data-at=on][data-moving] .mark :is(.stem,.top,.lift,.body,.flap,.unfolded){animation-delay:.35s}.slide[data-at=on][data-moving] .mark .leaf{animation-delay:.65s}.slide[data-at=on][data-moving] .mark .band-b{animation-delay:.35s,.35s,.7s}.slide[data-at=on][data-moving] .mark .band-a{animation-delay:.35s,1.1s}}@keyframes fly-top{0%{translate:var(--fly) calc(-1 * var(--fly))}}@keyframes fly-stem{0%{translate:calc(-1 * var(--fly)) var(--fly)}}@keyframes appear{0%{opacity:0}25%{opacity:1}}@keyframes fold{0%{rotate:var(--crease) 180deg}}@keyframes bend{0%{transform:rotate(var(--bend))}}.chart{margin:0 0 calc(var(--lh) * 1.25)}.chart svg{border:1px solid var(--rule);background:#0e1a20;border-radius:6px;width:100%;height:auto;max-height:18rem;display:block}@media (width<=59.99rem){.showcase{z-index:2;height:34svh;background:var(--ink);border-bottom:1px solid var(--rule);margin-block-end:calc(var(--lh) * 1.25);margin-inline:calc(-1*clamp(1.25rem,5vw,3rem));top:0;-webkit-mask-image:none;mask-image:none}.slide{padding:3.4rem 1.25rem .9rem}main:has(.atlas){padding-block-start:0}.index-head{margin-block:0 calc(var(--lh) * 1.25)}.ledger .glyph{display:none}.ledger .entry{scroll-margin-top:calc(34svh + 1rem)}}@media (width>=60rem){@media (height>=34rem){html:has(.atlas){scroll-snap-type:y mandatory}.foot{scroll-snap-align:end}}main:has(.atlas){padding-block:0}.atlas{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(2rem,4vw,4rem);display:grid}.reel{max-width:min(40rem,100vw - 26rem)}.index-head{scroll-snap-align:start;align-content:center;min-height:100svh;margin:0;display:grid}.ledger>.entry{margin-block:max(1rem, calc((100svh - var(--card,18rem)) / 2));scroll-snap-align:center}.ledger>.entry:first-child{margin-block-start:0}.ledger .glyph{display:none}.ledger .entry{grid-template-columns:2.6rem minmax(0,1fr)}.showcase{height:100svh;margin-inline-start:calc(-1*clamp(1.25rem,5vw,3rem));top:0;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.slide{padding:4.5rem 1rem 2rem}.chart{z-index:2;width:11rem;margin:0;position:fixed;bottom:1.25rem;right:clamp(1.25rem,5vw,3rem)}.chart svg{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e1a20e0;max-height:none}.chart :is(.name,.scale){display:none}}.plate .light{opacity:var(--flick,1)}.holo,.holo-live{width:100%;height:100%;position:absolute;inset:0}.holo path{fill:none;stroke:#7fe8ff;stroke-width:1px;opacity:.35}.holo text{font:500 37px/1 var(--mono);fill:#d8fbff;text-anchor:middle;dominant-baseline:central;filter:drop-shadow(0 0 6px #2fd4ff)}.holo-live[data-split]{filter:drop-shadow(3px 0 #ff2a6d88)drop-shadow(-3px 0 #00e5ff88)}.chart .grid{stroke:#ffffff0c;stroke-width:.12px}.chart .route{fill:none;stroke:var(--paper-faint);stroke-width:.18px;stroke-dasharray:.6 .9;opacity:.7}.isle{--lit:0;cursor:pointer}.isle .shoal{fill:color-mix(in srgb, #1f4b57 calc(var(--lit) * 100%), var(--shoal));opacity:calc(.55 + var(--lit) * .35)}.isle .land{fill:color-mix(in srgb, #5a4a30 calc(var(--lit) * 100%), var(--land));stroke:color-mix(in srgb, var(--gold) calc(var(--lit) * 100%), #fff2);stroke-width:.15px}.isle .disc{fill:color-mix(in srgb, var(--gold) calc(var(--lit) * 100%), var(--ink));stroke:color-mix(in srgb, var(--gold) calc(var(--lit) * 100%), var(--paper-faint));stroke-width:.15px}.isle .letter{font:600 2.3px var(--sans);fill:color-mix(in srgb, var(--ink) calc(var(--lit) * 100%), var(--paper));text-anchor:middle;dominant-baseline:central}.isle .letter[data-wide]{font-size:1.9px}.isle .name{font:1.7px var(--mono);letter-spacing:.05em;text-transform:uppercase;text-anchor:middle;fill:color-mix(in srgb, var(--gold) calc(var(--lit) * 100%), var(--paper-faint))}.isle :is(.shoal,.land,.disc,.letter,.name){transition:fill .25s,stroke .25s,opacity .25s}.chart .rose path{fill:var(--paper-faint)}.chart :is(.rose,.scale) text{font:1.5px var(--mono);fill:var(--paper-faint)}.chart .rose text{text-anchor:middle}.chart .scale path{fill:none;stroke:var(--paper-faint);stroke-width:.15px}.ledger{gap:1rem;margin:0;padding:0;list-style:none;display:grid;container-type:inline-size}.entry{--lit:0;border:1px solid color-mix(in srgb, #e9a85155 calc(var(--lit) * 100%), var(--rule));background:color-mix(in srgb, var(--ink-2) calc(var(--lit) * 100%), transparent);scroll-margin-top:calc(var(--lh) * 1.5);border-radius:6px;grid-template-columns:2rem minmax(0,1fr);gap:0 1rem;padding:1.1rem 1.1rem 1.25rem .9rem;transition:background .25s,border-color .25s;display:grid;position:relative}.entry:is(:hover,:focus-within){--lit:1}.entry .num{font:500 .85rem/1 var(--mono);color:var(--gold);letter-spacing:.05em;padding-top:.55rem}.entry h2{margin-block:0 .45rem;font-size:clamp(1.45rem,1.2rem + 1vw,1.95rem)}.entry h2 a{text-decoration:none}.entry h2 a:after{content:"";border-radius:6px;position:absolute;inset:0}.entry h2 a:focus-visible{outline:none}.entry:has(h2 a:focus-visible){outline:2px solid var(--gold);outline-offset:3px}.entry .summary{color:var(--paper-dim);max-width:34rem;margin-block-end:1rem}.entry .stack{flex-wrap:wrap;align-items:center;gap:.4rem;margin-block-end:.9rem;display:flex}.entry .year{font:.78rem/1 var(--mono);margin-inline-end:.35rem}.entry .chip{font:.72rem/1 var(--mono);color:var(--paper-dim);border:1px solid var(--rule);white-space:nowrap;border-radius:99px;padding:.32rem .6rem}.entry .out{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0;display:flex}.entry .out a:not(.go){z-index:1;border-bottom:1px solid var(--gold);font-size:.875rem;text-decoration:none;position:relative}.entry .out a:not(.go):after{content:" ↗";color:var(--gold);font-size:.8em}.entry .go{z-index:1;font:.78rem/1 var(--mono);letter-spacing:.04em;color:color-mix(in srgb, var(--gold) calc(var(--lit) * 100%), var(--paper-faint));margin-inline-start:auto;text-decoration:none;transition:color .25s,translate .25s;position:relative}.entry:is(:hover,:focus-within) .go{translate:3px}.glyph{aspect-ratio:16/7;background:var(--ink);border:1px solid color-mix(in srgb, #e9a85133 calc(var(--lit) * 100%), var(--rule));border-radius:5px;grid-area:1/1/auto/-1;margin-block-end:1rem;overflow:hidden}.glyph svg{width:100%;height:100%;display:block}@container (width>=34rem){.entry{grid-template-columns:2.6rem minmax(0,1fr) 13.5rem;gap:0 1.5rem;padding:1.6rem 1.6rem 1.5rem 1.2rem}.glyph{aspect-ratio:27/20;grid-column:3;align-self:start;margin:0}}@media (prefers-reduced-motion:reduce){.sig *{animation:none!important}}.prose header{border-bottom:1px solid var(--rule);margin-block-end:calc(var(--lh) * 1.5);padding-block-end:var(--lh)}.prose h2{margin-block:calc(var(--lh) * 1.75) calc(var(--lh) * .4);color:var(--paper)}.prose h2:before{content:"";border-top:2px solid var(--gold);width:1.75rem;margin-block-end:calc(var(--lh) * .5);display:block}.prose p{-webkit-hyphens:auto;hyphens:auto}.prose strong{color:#f3f0e9;font-weight:620}.prose code{font:400 .875em/1 var(--mono);background:var(--ink-2);border:1px solid var(--rule);word-break:break-word;border-radius:3px;padding:.15em .35em}.prose ul,.prose ol{padding-inline-start:1.25rem}.prose li{margin-block-end:calc(var(--lh) * .4)}.back{border-top:1px solid var(--rule);margin-block-start:calc(var(--lh) * 1.5);padding-block-start:var(--lh)}@property --fill{syntax:"<number>";inherits:true;initial-value:1}@keyframes rule-fill{0%{--fill:.15}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.prose h2{animation:linear both rule-fill;animation-timeline:view();animation-range:cover 5% cover 40%}.prose h2:before{scale:var(--fill) 1;transform-origin:0}}}.pinned{display:none}@media (width>=60rem){main:has(.study){max-width:80rem}.study{grid-template-columns:minmax(0, 1fr) var(--measure);timeline-scope:--s1, --s2, --s3, --s4, --s5, --s6, --s7, --s8;align-items:start;gap:0 clamp(2rem,5vw,5rem);display:grid}.study .prose>h2:first-of-type{view-timeline:--s1}.study .prose>h2:nth-of-type(2){view-timeline:--s2}.study .prose>h2:nth-of-type(3){view-timeline:--s3}.study .prose>h2:nth-of-type(4){view-timeline:--s4}.study .prose>h2:nth-of-type(5){view-timeline:--s5}.study .prose>h2:nth-of-type(6){view-timeline:--s6}.study .prose>h2:nth-of-type(7){view-timeline:--s7}.study .prose>h2:nth-of-type(8){view-timeline:--s8}.pinned{height:100dvh;padding-block:calc(var(--lh) * 2.75) calc(var(--lh) * 1.5);gap:calc(var(--lh) * .5);flex-direction:column;margin:0;display:flex;position:sticky;top:0}.depth{flex:1;place-items:center;min-height:0;display:grid;container-type:size}}.survey .slot{flex:none;width:min(100%,25rem);height:5.8rem;margin-inline:auto;display:grid}.survey .card{background:var(--ink-2);border:1px solid var(--rule);font:400 .8rem/1.45 var(--sans);color:var(--paper);opacity:0;border-radius:8px;grid-area:1/1;align-self:start;padding:.6rem .8rem}.survey .card.end{opacity:1}.survey .card p{margin:0}.survey .card .sub{font:400 .72rem/1.5 var(--mono);color:var(--paper-dim)}.survey .marks{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.survey .read{fill:#26241f;opacity:.85;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600}.survey .scan{fill:#ffc21a;opacity:0;filter:drop-shadow(0 0 6px #ffc21a)}.survey .flag,.survey .ok{fill:none;stroke-width:1.4px}.survey .flag{stroke:#c5301f;opacity:0}.survey .note{fill:#c5301f;stroke:none;font:700 5px Helvetica Neue,Helvetica,Arial,sans-serif}.survey .ok{stroke:#2c8a4b;stroke-linecap:round;stroke-linejoin:round}@keyframes sv-in{0%{opacity:0}}@keyframes sv-draw{0%{stroke-dashoffset:1px}}@keyframes sv-scan{0%{opacity:0;transform:translateY(0)}12%{opacity:.9}88%{opacity:.9}to{opacity:0;transform:translateY(var(--run))}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.survey path.line,.survey path.title,.survey path.plan:not([fill=\#26241f]){stroke-dasharray:1}.survey .plan{animation:ease-out both sv-in;animation-timeline:scroll(root);animation-range:.3rem 9rem}.survey .scan{animation:linear both sv-scan;animation-timeline:--s2;animation-range:cover 36% cover 58%}.survey .read{animation:ease-out both sv-in;animation-timeline:--s2;animation-range:cover calc(38% + var(--n) * 2.4%) cover calc(42% + var(--n) * 2.4%)}.survey path.line{animation:ease-in-out both sv-draw;animation-timeline:--s3;animation-range:cover 36% cover 60%}.survey text.line{animation:ease-out both sv-in;animation-timeline:--s3;animation-range:cover 48% cover 62%}.survey path.line.rcd1,.survey text.line.rcd1{animation-timeline:--s4;animation-range:cover 48% cover 58%}.survey .flag{animation-composition:add;animation:linear both dr-up,linear both dr-down;animation-timeline:--s4,--s4;animation-range:cover 34% cover 40%,cover 54% cover 60%}.survey .ok{animation:ease-out both sv-in;animation-timeline:--s4;animation-range:cover 56% cover 62%}.survey path.title{animation:ease-in-out both sv-draw;animation-timeline:--s5;animation-range:cover 36% cover 52%}.survey text.title{animation:ease-out both sv-in;animation-timeline:--s5;animation-range:cover 46% cover 58%}.survey .card.survey{animation-composition:add;animation:linear both dr-up,linear both dr-down;animation-timeline:scroll(root),--s2;animation-range:.3rem 5rem,cover 30% cover 36%}.survey .card.photo{animation-composition:add;animation:linear both dr-up,linear both dr-down;animation-timeline:--s2,--s3;animation-range:cover 36% cover 42%,cover 30% cover 36%}.survey .card.model{animation-composition:add;animation:linear both dr-up,linear both dr-down;animation-timeline:--s3,--s4;animation-range:cover 36% cover 42%,cover 30% cover 36%}.survey .card.check{animation-composition:add;animation:linear both dr-up,linear both dr-down;animation-timeline:--s4,--s5;animation-range:cover 36% cover 42%,cover 30% cover 36%}.survey .card.out{animation-composition:add;animation:linear both dr-up,linear both dr-down;animation-timeline:--s5,--s6;animation-range:cover 36% cover 42%,cover 30% cover 36%}.survey .card.team{animation-composition:add;animation:linear both dr-up,linear both dr-down;animation-timeline:--s6,--s7;animation-range:cover 36% cover 42%,cover 24% cover 30%}.survey .card.end{animation:linear both sv-in;animation-timeline:--s7;animation-range:cover 30% cover 36%}}}.editor{z-index:1;width:min(100%,23rem);height:10.5rem;font:400 .78rem/1.5 var(--mono);flex:none;margin-inline:auto;position:relative}.editor .code{background:var(--ink-2);border:1px solid var(--rule);color:var(--paper);white-space:nowrap;border-radius:6px;padding:.55rem .8rem;display:block;overflow:hidden}.editor .str{color:#9ec7a0}.editor .caret{vertical-align:-.22em;background:var(--gold);width:1px;height:1.15em;display:inline-block}.pop{background:var(--ink-2);border:1px solid #ffffff26;border-radius:4px;margin:.3rem 0 0 min(5.2rem,18%);padding-block:.2rem;position:relative}.pop p{margin:0}.pop .row{color:var(--paper-dim);justify-content:space-between;gap:2rem;padding:.08rem .6rem;display:flex}.pop .hi{background:color-mix(in srgb, var(--gold) 16%, transparent);color:var(--paper)}.pop .ty{color:var(--paper-faint)}.pop .guess{border-top:1px dashed var(--rule);color:var(--paper-faint);font-style:italic}.pop{min-height:1.73rem}.pop .list,.pop .more{grid-template-rows:1fr;display:grid}.pop .list>div,.pop .more>div{min-height:0;overflow:hidden}.pop .none{color:var(--paper-faint);opacity:0;padding:.08rem .6rem;position:absolute;inset:.2rem 0 auto}.pop .src{border-top:1px solid var(--rule);color:var(--paper-faint);flex-wrap:wrap;gap:0 .45em;margin-top:.2rem;padding:.3rem .6rem .1rem;font-size:.66rem;display:flex}.pop .rows{color:var(--paper);display:inline-grid}.pop .n{text-align:right;opacity:0;grid-area:1/1}.pop .n3{opacity:1}.pop .caveat{color:var(--gold);flex-basis:100%}.sonar{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.sonar text{font:500 28px var(--mono)}.sonar .ride{transform-box:view-box;transform:translateY(calc(var(--bob,0) * 1162px)) rotate(calc(var(--ang,0) * 57.2958deg))}.sonar .unread{letter-spacing:.04em;fill:#8fd3ff;fill-opacity:.6;font-size:25px}.sonar .line{fill:none;stroke:var(--gold);stroke-width:3px;stroke-dasharray:1;filter:drop-shadow(0 0 5px #e9a851aa)}.sonar .lead{fill:var(--gold)}.sonar .footer rect{fill:color-mix(in srgb, var(--gold) 24%, transparent);stroke:var(--gold);stroke-width:3px;filter:drop-shadow(0 0 10px #e9a851aa)}.sonar .footer path{fill:none;stroke:var(--gold);stroke-width:2px}.sonar .footer text{fill:var(--gold)}.sonar .footer .fine{fill:var(--paper-dim);font-size:23px}.sonar .rise{text-anchor:middle;fill:#d8f4ff;opacity:0;font-size:30px}.kernel{opacity:0;position:absolute;inset:56% 4% auto}.kernel>div{font:400 .74rem/1.5 var(--mono);color:var(--paper);background:#1a0f0e;border:1px solid #e0645a66;border-radius:6px;gap:.1rem;padding:.6rem .8rem;display:grid;box-shadow:0 .5rem 2rem #000a}.kernel code{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.kernel code:not(.no){background:linear-gradient(#e0645a 0 0) 0 58%/100% 2px no-repeat}.kernel .no{color:var(--gold)}@keyframes sd-rise{0%{opacity:0;translate:0 -.5rem}}@keyframes sd-fade{0%{opacity:0}}@keyframes sd-gone{0%{opacity:1}}@keyframes sd-blip{0%,to{opacity:0}1%,99%{opacity:1}}@keyframes sd-draw{0%{stroke-dashoffset:1px}}@keyframes sd-sink{0%{opacity:0;translate:0 -552px}6%{opacity:1}}@keyframes sd-up{0%{opacity:0;translate:0}12%,82%{opacity:1}to{opacity:0;translate:0 -520px}}@keyframes sd-in{0%{opacity:0;translate:0 .75rem}to{opacity:1}}@keyframes sd-out{0%{opacity:1}to{opacity:0}}@keyframes sd-open{0%{grid-template-rows:0fr}}@keyframes sd-strike{0%{background-size:0% 2px}}@keyframes sd-blink{50%{opacity:0}}@media (prefers-reduced-motion:no-preference){.editor .caret{animation:1s step-end infinite sd-blink}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.editor{animation:linear both sd-rise;animation-timeline:scroll(root);animation-range:2rem 12rem}.pop .none{animation:linear both sd-gone;animation-timeline:--s2;animation-range:cover 38% cover 42%}.sonar .unread{animation:linear both sd-fade;animation-timeline:--s2;animation-range:cover 10% cover 22%}.sonar .line{animation:linear both sd-draw;animation-timeline:--s2;animation-range:cover 10% cover 28%}.sonar .lead{animation:linear both sd-sink;animation-timeline:--s2;animation-range:cover 10% cover 28%}.sonar .footer{animation:linear both sd-fade;animation-timeline:--s2;animation-range:cover 27% cover 34%}.sonar .rise{animation:linear both sd-up;animation-timeline:--s2;animation-range:cover calc(32% + var(--i) * 5%) cover calc(50% + var(--i) * 5%)}.pop .list{animation:linear both sd-open;animation-timeline:--s2;animation-range:cover 40% cover 46%}.pop .row:not(.guess){animation:linear both sd-rise;animation-timeline:--s2;animation-range:cover calc(44% + var(--i) * 5%) cover calc(50% + var(--i) * 5%)}.pop .src{animation:linear both sd-fade;animation-timeline:--s2;animation-range:cover 58% cover 64%}.kernel{animation:linear both sd-in;animation-timeline:--s3;animation-range:cover 8% cover 22%}.kernel>div{animation:linear both sd-out;animation-timeline:--s4;animation-range:cover cover 8%}.kernel code:not(.no){animation:linear both sd-strike;animation-timeline:--s3;animation-range:cover 34% cover 52%}.kernel .no{animation:linear both sd-fade;animation-timeline:--s3;animation-range:cover 50% cover 56%}.pop .more{animation:linear both sd-open;animation-timeline:--s4;animation-range:cover 10% cover 16%}.pop .guess{animation:linear both sd-rise;animation-timeline:--s4;animation-range:cover 14% cover 24%}.pop .caveat{animation:linear both sd-fade;animation-timeline:--s4;animation-range:cover 22% cover 32%}.pop .n0{animation:linear both sd-gone;animation-timeline:--s5;animation-range:cover 14% cover 15%}.pop .n1{animation:linear both sd-blip;animation-timeline:--s5;animation-range:cover 15% cover 24%}.pop .n2{animation:linear both sd-blip;animation-timeline:--s5;animation-range:cover 24% cover 33%}.pop .n3{animation:linear both sd-fade;animation-timeline:--s5;animation-range:cover 33% cover 34%}}}.darkroom .slot{flex:none;width:min(100%,24rem);height:6.6rem;margin-inline:auto;display:grid}.darkroom .card{background:var(--ink-2);border:1px solid var(--rule);font:400 .8rem/1.45 var(--sans);color:var(--paper-dim);opacity:0;border-radius:8px;grid-area:1/1;align-self:start;padding:.6rem .8rem}.darkroom .card.facts{opacity:1}.darkroom .card p{margin:0}.darkroom .caveat{color:var(--gold)}.darkroom .field{color:var(--paper);border:1px solid #ffffff26;border-radius:99px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;min-height:1.9rem;padding:.3rem .7rem;display:grid}.darkroom .glass{border:1.5px solid var(--paper-dim);border-radius:50%;width:.62rem;height:.62rem;position:relative}.darkroom .glass:after{content:"";border-top:1.5px solid var(--paper-dim);transform-origin:0;width:.3rem;position:absolute;top:95%;left:95%;rotate:45deg}.darkroom .q{white-space:nowrap;opacity:0;grid-area:1/2;justify-self:start;max-width:100%;overflow:hidden}.darkroom .found{margin-top:.45rem;display:grid}.darkroom .hit{color:var(--paper-faint);opacity:0;grid-area:1/1;align-items:center;gap:.6rem;font-size:.72rem;display:flex}.darkroom .thumb{background:var(--atlas) no-repeat;outline:1.5px solid var(--gold);background-size:400% 300%;border-radius:3px;width:2rem;height:2rem}.darkroom .meter{background:#ffffff1a;border-radius:2px;height:3px;margin-top:.55rem;overflow:hidden}.darkroom .meter span{background:var(--gold);transform-origin:0;height:100%;display:block}.darkroom .plane{color:var(--paper);align-items:center;gap:.55rem;display:flex}.darkroom .switch{background:var(--gold);border-radius:99px;width:1.7rem;height:.95rem;position:relative}.darkroom .switch:after{content:"";background:var(--paper);border-radius:50%;width:.71rem;height:.71rem;position:absolute;top:.12rem;left:.12rem;translate:.75rem}.darkroom .flash{mix-blend-mode:screen;opacity:0;pointer-events:none;background:radial-gradient(circle at 32.4% 19.2%,#fff 0 2.5%,#fffbe8cc 6%,#fff4d400 42%),#fff4d422;position:absolute;inset:0}.darkroom .tabletop{pointer-events:none;position:absolute;inset:0;container-type:size}.darkroom .table{--u:calc(100cqw / 900);width:100%;left:0;bottom:calc(10 * var(--u));height:calc(1650 * var(--u));transform-origin:50% 100%;transform:perspective(calc(4000 * var(--u))) rotateX(62deg);position:absolute}.darkroom .table>*{left:calc(var(--x) * var(--u));top:calc(var(--y) * var(--u));position:absolute}.darkroom .print{width:calc(150 * var(--u));height:calc(186 * var(--u));margin:calc(-93 * var(--u)) 0 0 calc(-75 * var(--u));padding:calc(10.5 * var(--u)) calc(10.5 * var(--u)) 0;border-radius:calc(3 * var(--u));box-shadow:0 calc(6 * var(--u)) calc(14 * var(--u)) #000b;filter:brightness(.9);rotate:var(--r);background:#e9e3d6}.darkroom .photo{aspect-ratio:1;background:var(--atlas) no-repeat;background-size:400% 300%;width:100%;display:block}.darkroom .ring{inset:calc(-8 * var(--u));border:calc(5 * var(--u)) solid var(--gold);border-radius:calc(8 * var(--u));box-shadow:0 0 calc(30 * var(--u)) var(--gold);opacity:0;position:absolute}.darkroom .label{font:650 calc(30 * var(--u)) / 1 var(--sans);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:#eadfc8;text-shadow:0 0 calc(12 * var(--u)) #000;translate:-50% -50%}.darkroom .date{font:600 calc(32 * var(--u)) / 1 var(--mono);color:var(--gold);opacity:0}.darkroom .os,.darkroom .air{opacity:0}.darkroom .air{font-size:calc(21 * var(--u));color:var(--gold)}.darkroom .phone{width:calc(240 * var(--u));height:calc(440 * var(--u));margin:calc(-220 * var(--u)) 0 0 calc(-120 * var(--u));border:calc(8 * var(--u)) solid #25272c;border-radius:calc(36 * var(--u));box-shadow:0 calc(8 * var(--u)) calc(20 * var(--u)) #000c, inset 0 0 calc(40 * var(--u)) #3d8fb044;opacity:0;background:linear-gradient(160deg,#1b2a33,#0a0e12 60%)}.darkroom .wifi{width:calc(190 * var(--u));border-top:calc(5 * var(--u)) dashed var(--gold);opacity:0;translate:-50%}@keyframes dr-up{0%{opacity:0}to{opacity:1}}@keyframes dr-down{0%{opacity:0}to{opacity:-1}}@keyframes dr-back{0%{opacity:-1}to{opacity:0}}@keyframes dr-card-in{0%{opacity:0;translate:0 .4rem}to{opacity:1;translate:0}}@keyframes dr-card-back{0%{opacity:-1;translate:0 .4rem}to{opacity:0;translate:0}}@keyframes dr-blip{0%,to{opacity:0}2%,98%{opacity:1}}@keyframes dr-hold{0%{opacity:0}4%,to{opacity:1}}@keyframes dr-type{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes dr-fill{0%{scale:0 1}}@keyframes dr-flash{0%{opacity:0}10%{opacity:1}to{opacity:0}}@keyframes dr-switch{0%{background:#fff3}}@keyframes dr-knob{0%{translate:0}}@keyframes dr-0{0%{translate:var(--t0);rotate:var(--r0);opacity:-1;scale:.5}to{opacity:0;translate:0;rotate:0deg;scale:1}}@keyframes dr-2{0%{translate:var(--t2);rotate:var(--r2)}to{translate:0;rotate:0deg}}@keyframes dr-3{0%{translate:0;rotate:0deg;scale:1}to{translate:var(--t3);rotate:var(--r3);scale:var(--s3)}}@keyframes dr-4{0%{translate:0;rotate:0deg;scale:1}to{translate:var(--t4);rotate:var(--r4);scale:var(--s4)}}@keyframes dr-5{0%{translate:0}to{translate:var(--t5)}}@keyframes dr-6{0%{translate:0;rotate:0deg;scale:1}to{translate:var(--t6);rotate:var(--r6);scale:var(--s6)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.darkroom .flash{animation:linear both dr-flash;animation-timeline:scroll(root);animation-range:.3rem 5rem}.darkroom .print{animation:ease-out both dr-0,ease-in-out both dr-2,ease-in-out both dr-3,ease-in-out both dr-4,ease-in-out both dr-5,ease-in-out both dr-6;animation-timeline:scroll(root),--s2,--s3,--s4,--s4,--s6;animation-range:calc(.6rem + var(--i) * .35rem) calc(3.2rem + var(--i) * .35rem), cover calc(40% + var(--k) * 3%) cover calc(56% + var(--k) * 3%), cover calc(40% + var(--d) * 1%) cover calc(50% + var(--d) * 1%), cover 40% cover 52%, cover calc(54% + var(--k) * 4%) cover calc(64% + var(--k) * 4%), cover 40% cover 60%;animation-composition:add}.darkroom .search,.darkroom .index,.darkroom .diary,.darkroom .send,.darkroom .private{animation-composition:add;animation:linear both dr-card-in,linear both dr-down;animation-range:cover 32% cover 40%,cover 26% cover 34%}.darkroom .search{animation-timeline:--s1,--s2}.darkroom .index{animation-timeline:--s2,--s3}.darkroom .diary{animation-timeline:--s3,--s4}.darkroom .send{animation-timeline:--s4,--s5}.darkroom .private{animation-timeline:--s5,--s6}.darkroom .facts{animation-composition:add;animation:linear both dr-card-back;animation-timeline:--s6;animation-range:cover 32% cover 40%}.darkroom .q{animation:linear both dr-blip,both dr-type;animation-timeline:--s1,--s1;animation-range:cover calc(38% + var(--j) * 11.5%) cover calc(49.5% + var(--j) * 11.5%), cover calc(38% + var(--j) * 11.5%) cover calc(44% + var(--j) * 11.5%);animation-timing-function:linear, steps(var(--n), end)}.darkroom .q:last-child{animation-name:dr-hold,dr-type;animation-range:cover calc(38% + var(--j) * 11.5%) cover 100%, cover calc(38% + var(--j) * 11.5%) cover calc(44% + var(--j) * 11.5%)}.darkroom .hit,.darkroom .ring{animation:linear both dr-blip;animation-timeline:--s1;animation-range:cover calc(44% + var(--j,var(--q)) * 11.5%) cover calc(55.5% + var(--j,var(--q)) * 11.5%)}.darkroom .hit:last-child{animation-name:dr-hold;animation-range:cover calc(44% + var(--j) * 11.5%) cover 100%}.darkroom .index .meter span{animation:linear both dr-fill;animation-timeline:--s2;animation-range:cover 40% cover 62%}.darkroom .album{animation-composition:add;animation:linear both dr-back,linear both dr-down,linear both dr-up;animation-timeline:--s2,--s3,--s4;animation-range:cover 54% cover 64%,cover 38% cover 44%,cover 46% cover 54%}.darkroom .date{animation-composition:add;animation:linear both dr-up,linear both dr-down;animation-timeline:--s3,--s4;animation-range:cover 54% cover 62%,cover 36% cover 42%}.darkroom .phone,.darkroom .os{animation-composition:add;animation:linear both dr-up,linear both dr-down;animation-timeline:--s4,--s6;animation-range:cover 34% cover 42%,cover 58% cover 66%}.darkroom .wifi,.darkroom .air{animation-composition:add;animation:linear both dr-up,linear both dr-down;animation-timeline:--s4,--s6;animation-range:cover 48% cover 54%,cover 34% cover 40%}.darkroom .send .meter span{animation:linear both dr-fill;animation-timeline:--s4;animation-range:cover 54% cover 72%}.darkroom .switch{animation:linear both dr-switch;animation-timeline:--s5;animation-range:cover 40% cover 46%}.darkroom .switch:after{animation:linear both dr-knob;animation-timeline:--s5;animation-range:cover 40% cover 46%}.darkroom .zero{animation:linear both sd-fade;animation-timeline:--s5;animation-range:cover 46% cover 52%}.darkroom .private .caveat{animation:linear both sd-fade;animation-timeline:--s5;animation-range:cover 56% cover 62%}}}:is(.backtrack,.rackstage) .slot{flex:none;width:min(100%,25rem);height:4.4rem;margin-inline:auto;display:grid}:is(.backtrack,.rackstage) .card{background:var(--ink-2);border:1px solid var(--rule);font:400 .8rem/1.45 var(--sans);color:var(--paper);opacity:0;border-radius:8px;grid-area:1/1;align-self:start;padding:.6rem .8rem;transition:opacity .25s}:is(.backtrack,.rackstage) .card[data-on]{opacity:1}:is(.backtrack,.rackstage) .card p{margin:0}:is(.backtrack,.rackstage) .card .sub{font:400 .72rem/1.5 var(--mono);color:var(--paper-dim)}:is(.backtrack,.rackstage) .card b{color:#8fe4ff;font-variant-numeric:tabular-nums;font-weight:600}.backtrack .photo{opacity:0;pointer-events:none;position:absolute;box-shadow:0 1.2rem 2.4rem #000c}.atelier .slot{flex:none;width:min(100%,25rem);height:5.8rem;margin-inline:auto;display:grid}.atelier .card{background:var(--ink-2);border:1px solid var(--rule);font:400 .8rem/1.45 var(--sans);color:var(--paper);opacity:0;border-radius:8px;grid-area:1/1;align-self:start;padding:.6rem .8rem}.atelier .card.outcome{opacity:1}.atelier .card p{margin:0}.atelier .card .sub{font:400 .72rem/1.5 var(--mono);color:var(--paper-dim)}.atelier .canvas{position:absolute}.atelier .canvas svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.atelier image{filter:brightness(.94)saturate(1.05)}.atelier .st{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}.atelier .wet .st{stroke:#fff}.atelier .colour .st,.atelier .cut{opacity:0}.atelier .colour .st{mix-blend-mode:multiply}.atelier .hatch{opacity:0}.atelier .hatch path{stroke:#6d6252;stroke-width:2px}.atelier .ask{max-width:46%;font:italic 500 clamp(.55rem, .95vw, .72rem) / 1.3 var(--sans);color:#2a241c;opacity:0;background:#f6f1e6ee;border-radius:3px;margin:0;padding:.2rem .45rem;position:absolute;box-shadow:0 2px 6px #0005}.atelier .cutname{font-style:normal;-webkit-text-decoration:line-through #9b2a1c;text-decoration:line-through #9b2a1c}.atelier .note{font:600 clamp(.5rem, .8vw, .62rem) / 1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#3a3326;opacity:0;background:#e5d6a2;margin:0;padding:.32rem .55rem;position:absolute;box-shadow:0 2px 5px #0006}@keyframes at-leg1{0%{stroke-dashoffset:.55px}to{stroke-dashoffset:0}}@keyframes at-leg2{0%{stroke-dashoffset:.45px}to{stroke-dashoffset:0}}@keyframes at-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes at-wet{0%{opacity:0}to{opacity:.88}}@keyframes at-dry{0%{opacity:0}to{opacity:-.88}}@keyframes at-wipe{0%{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}@keyframes at-hatch-in{0%{opacity:0}to{opacity:.32}}@keyframes at-hatch-out{0%{opacity:0}to{opacity:-.32}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.atelier :is(.wet,.colour) :is(.classes,.artworks,.rental){animation-composition:add;animation:ease-out both at-leg1,ease-in-out both at-leg2;animation-timeline:scroll(root),--s2;animation-range:.3rem 9rem,cover 38% cover 50%}.atelier .colour :is(.classes,.artworks,.rental){animation-composition:add;animation:ease-out both at-leg1,ease-in-out both at-leg2,linear both at-wet,linear both at-dry;animation-timeline:scroll(root),--s2,scroll(root),--s2;animation-range:.3rem 9rem,cover 38% cover 50%,.3rem 2rem,cover 50% cover 62%}.atelier .wet .form{animation:ease-in-out both at-draw;animation-timeline:--s2;animation-range:cover 48% cover 62%}.atelier .ask:not(.cutname){animation-composition:add;animation:linear both dr-up,linear both dr-down;animation-timeline:scroll(root),--s2;animation-range:3rem 7rem,cover 34% cover 40%}.atelier .cut{animation-composition:add,replace;animation:linear both dr-up,ease-in both at-wipe;animation-timeline:--s3,--s3;animation-range:cover 36% cover 40%,cover 52% cover 62%}.atelier .cut .st{animation:ease-out both at-draw;animation-timeline:--s3;animation-range:cover 36% cover 48%}.atelier .cutname{animation-composition:add;animation:linear both dr-up,linear both dr-down;animation-timeline:--s3,--s3;animation-range:cover 44% cover 48%,cover 56% cover 62%}.atelier .hatch{animation-composition:add;animation:linear both at-hatch-in,linear both at-hatch-out;animation-timeline:--s4,--s5;animation-range:cover 38% cover 46%,cover 20% cover 30%}.atelier .note{animation:linear both dr-card-in,linear both dr-down;animation-timeline:--s4,--s5;animation-range:cover calc(42% + var(--n) * 6%) cover calc(48% + var(--n) * 6%), cover calc(22% + var(--n) * 3%) cover calc(28% + var(--n) * 3%);animation-composition:add}.atelier .card.problem{animation-composition:add;animation:linear both dr-card-in,linear both dr-down;animation-timeline:scroll(root),--s2;animation-range:.3rem 4rem,cover 30% cover 36%}.atelier .card.chose,.atelier .card.rejected{animation-composition:add;animation:linear both dr-card-in,linear both dr-down;animation-range:cover 32% cover 38%,cover 30% cover 36%}.atelier .card.chose{animation-timeline:--s2,--s3}.atelier .card.rejected{animation-timeline:--s3,--s4}.atelier .card.cost{animation-composition:add;animation:linear both dr-card-in,linear both dr-down;animation-timeline:--s4,--s5;animation-range:cover 32% cover 38%,cover 14% cover 20%}.atelier .card.outcome{animation-composition:add;animation:linear both dr-card-back;animation-timeline:--s5;animation-range:cover 16% cover 22%}}}.stage{z-index:0;touch-action:none;position:fixed;inset:0}.stage.off{visibility:hidden;pointer-events:none}canvas{display:block}.world,.world body,.landing,.landing body{height:100dvh;overflow:hidden}.world body,.landing body{background:0 0;padding:0;display:block}.world main{z-index:2;width:min(28rem,46vw);max-width:none;padding:var(--lh) 1.5rem;overscroll-behavior:contain;border:1px solid var(--rule);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b0c0fd9;border-radius:10px;margin:0;position:fixed;top:4.2rem;bottom:3.4rem;left:clamp(1.25rem,5vw,3rem);overflow:auto}.world .foot{color:#04343a}.world .foot a{text-decoration-color:#0a5a63}.world .foot a:hover{color:#0d6b74}.world .foot strong{color:#022226}.world main h1{font-size:clamp(1.4rem,1.15rem + .9vw,1.8rem)}.world main>:last-child{margin-block-end:0}.world .foot,.landing .foot{z-index:2;border:0;flex-direction:row;align-items:baseline;gap:.4rem 1.25rem;width:auto;max-width:none;padding:0;font-size:.8125rem;position:fixed;bottom:.9rem;left:clamp(1.25rem,5vw,3rem)}.world .foot .fine,.landing .foot .fine{display:none}.hud{z-index:2;font:400 12.5px/1.5 var(--mono);color:#04343a;opacity:.82;pointer-events:none;white-space:nowrap;margin:0;position:fixed;bottom:2.5rem;left:clamp(1.25rem,5vw,3rem)}.roam main{display:none}.map{z-index:2;aspect-ratio:1;border:1px solid var(--rule);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b0c0fd9;border-radius:10px;width:min(11rem,34vw);position:fixed;bottom:2.5rem;right:clamp(1.25rem,5vw,3rem);overflow:hidden}.map .coast{fill:#d5ac7226;stroke:#d5ac7259;stroke-width:1px;width:100%;height:100%;position:absolute;inset:0}.map .isle{color:#fff;background:#d5ac7226;border:1px solid #d5ac7259;border-radius:50%;place-items:center;min-width:1.5rem;min-height:1.5rem;font-size:.95rem;font-weight:700;line-height:1;text-decoration:none;transition:background-color .14s,border-color .14s;display:grid;position:absolute;translate:-50% -50%}.map .isle[data-wide]{letter-spacing:-.01em;font-size:.68rem}.map .isle[data-far]{background:#d5ac7212;border-style:dashed}.map .isle:hover,.map .isle:focus-visible{border-color:var(--gold);color:#fff;background:#e9a85140}.map [aria-current]{border-color:var(--gold);background:#e9a8512e}.map .me{clip-path:polygon(50% 100%,0 0,50% 24%,100% 0);filter:drop-shadow(0 0 3px #7dd3fc80);background:#7dd3fc;width:.6rem;height:.78rem;position:absolute;top:50%;left:50%;translate:-50% -50%}@media (width<=54rem){.world main{width:auto;height:min(24rem,52dvh);top:auto;right:clamp(1.25rem,5vw,3rem)}.world .foot,.hud,.world:not(.roam) .map{display:none}}@media (pointer:coarse){.world main{inset:auto clamp(1.25rem, 5vw, 3rem) calc(4.6rem + env(safe-area-inset-bottom)) clamp(1.25rem, 5vw, 3rem);width:auto;height:auto;max-height:40dvh;max-width:var(--measure);padding:calc(var(--lh) * .75) 1.1rem;margin-inline:auto}.hud{right:clamp(1.25rem,5vw,3rem);bottom:calc(.9rem + env(safe-area-inset-bottom));white-space:normal;line-height:1.5;display:block}.world .foot{display:none}.map{bottom:calc(4.6rem + env(safe-area-inset-bottom));width:min(8.5rem,34vw)}.world:not(.roam) .map{display:none}}main{view-transition-name:study}::view-transition-group(root){animation-duration:.42s;animation-timing-function:cubic-bezier(.2,.75,.2,1)}::view-transition-group(study){animation-duration:.42s;animation-timing-function:cubic-bezier(.2,.75,.2,1)}::view-transition-old(root){animation-duration:.42s}::view-transition-new(root){animation-duration:.42s}::view-transition-old(study){object-fit:cover;object-position:top center;block-size:100%;inline-size:100%}::view-transition-new(study){object-fit:cover;object-position:top center;block-size:100%;inline-size:100%}::view-transition-old(study){animation:.15s ease-out both panel-out}::view-transition-new(study){animation:.3s ease-in .12s both panel-in}@keyframes panel-out{to{opacity:0}}@keyframes panel-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.landing{--sky:linear-gradient(#1a68a8, #2f81ba 28%, #67aacd 52%, #a9c8cb 70%, #eec09a 88%, #f9cd93);--water:linear-gradient(#f4c2a5, #e4bfc0 4%, #73b5c6 11%, #44a0b6 19%, #0e979f 27%, #097c86 34%, #076872 42%, #055963 50%, #054e58 58%, #05464f 70%, #054049 84%, #053c46);--deep:#053c46}.stage{--sky:linear-gradient(#1a68a8, #488db7 28%, #79b0c8 52%, #8cbdcf 70%, #e9c2c1 88%, #f8c78f);--water:linear-gradient(#f4c2a5, #e4bfc0 4%, #73b5c6 11%, #44a0b6 19%, #158ea7 27%, #0c8fa5 34%, #0a93a5 42%, #0996a4 50%, #0898a4 58%, #069aa4 70%, #069ca4 84%, #059da4);--deep:#059da4}.landing,.stage{--horizon:24.85dvh;background:var(--sky) 0 0 / 100% var(--horizon) no-repeat,  var(--water) 0 100% / 100% calc(100dvh - var(--horizon) + 1px) no-repeat, var(--deep)}@media (pointer:coarse){.landing,.stage{--horizon:5.57dvh}}.landing main{z-index:1;max-width:none;padding:var(--horizon) clamp(1.25rem, 5vw, 3rem) 0;text-align:center;align-content:safe center;justify-items:center;margin:0;display:grid;position:fixed;inset:0;overflow:auto}.hero{max-width:var(--measure);text-shadow:0 1px 2px #04222aa6,0 2px 14px #04222acc}.hero .lede{color:var(--paper);margin-block-end:calc(var(--lh) * 1.5)}.enter{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-shadow:none;background:#0b0c0f8c;border:1px solid #ffffff2e;border-radius:10px;padding:.75rem 1.75rem;font-weight:620;text-decoration:none;transition:border-color .14s,background-color .14s;display:inline-block}.enter:hover,.enter:focus-visible{border-color:var(--gold);background:#0b0c0fbf}.instead{margin-block:calc(var(--lh) * .75) 0;font-size:.9375rem}.shore{pointer-events:none;position:fixed;inset:0;overflow:hidden}.shore>*{--k:1;transform:scale(var(--k));transition:transform .64s cubic-bezier(.42,0,.9,.5),opacity .64s cubic-bezier(.42,0,.9,.5);position:absolute}.sun{background:radial-gradient(52vw 22vh at 26% var(--horizon), #ffb35c8c, #ff9e4a3d 45%, #ff9e4a00 76%), radial-gradient(10vw 6.5vh at 26% var(--horizon), #fffbe8d6, #ffd98a00 74%), radial-gradient(16vw 20vh at 26% 52%, #ffc97a1c, #ffc97a00 72%), radial-gradient(110% 18vh at 44% var(--horizon), #ff9f4a5c, #ff9f4a00 80%), linear-gradient(#ff9c3c0f, #ffb45e1f 18%, #ff9c3c0a 32%, #ff8c2e00 44%);inset:0}.glint{left:0;right:0;top:var(--horizon);opacity:.28;background:repeating-linear-gradient(#ffe0b0 0 1px,#fff0 1px 7px),repeating-linear-gradient(#ffeed3 0 1px,#fff0 1px 13px);bottom:0;-webkit-mask-image:radial-gradient(15vw 30vh at 26% 0,#000,#0000 66%);mask-image:radial-gradient(15vw 30vh at 26% 0,#000,#0000 66%)}.haze{left:0;right:0;top:calc(var(--horizon) - 5.5dvh);background:linear-gradient(#fff0dc00,#fff0dc7a 62%,#fff0dc00);height:8dvh}.clouds{background:radial-gradient(24vw 4vh at 17% 20%,#ffc9a8ab,#fff0 72%),radial-gradient(15vw 2.6vh at 27% 27%,#ffb894a8,#fff0 72%),radial-gradient(31vw 4.6vh at 67% 12%,#ffd9c47a,#fff0 72%),radial-gradient(19vw 2.8vh at 83% 25%,#ffcbb06b,#fff0 72%),radial-gradient(42vw 5.4vh at 45% 5%,#ffdccb5c,#fff0 72%),radial-gradient(12vw 2vh at 36% 16%,#ffab7f94,#fff0 72%);height:36dvh;inset:0 0 auto}.beach{height:var(--sand);background:linear-gradient(#8a7259,#ad8a61 14%,#d5ac72 38%,#e6bd7c 60%,#ae8b5c 84%,#856645);border-radius:100% 100% 0 0/58% 58% 0 0;bottom:0;left:-8vw;right:-8vw;box-shadow:inset 0 6px 10px -6px #00000038}.wash{left:-8vw;right:-8vw;bottom:calc(var(--sand) - 3.4dvh);background:radial-gradient(58% 120% at 50% 100%,#fdf1e0ab,#fdf1e033 46%,#fdf1e000 66%),radial-gradient(90% 150% at 50% 118%,#f2e2cd5e,#f2e2cd00 62%);border-radius:100% 100% 0 0;height:6dvh}.figures{height:46dvh;bottom:0;left:0;right:0}.lounger{color:#14180d;opacity:.88;width:min(29vw,20rem,33dvh);position:absolute;bottom:2.4dvh;right:8vw;overflow:visible}.vignette{background:radial-gradient(122% 92% at 50% 44%,#04222a00 46%,#04222a33 78%,#04222a6b);inset:0}.sway{transform-origin:6px 74px;will-change:transform;animation:7.5s ease-in-out infinite alternate sway}.palm-far .sway{transform-origin:0 0;animation-duration:9.5s}.palm.r .sway{animation-delay:-2.6s}@keyframes sway{0%{transform:rotate(-1.1deg)}to{transform:rotate(1.7deg)}}.wash{animation:8.5s ease-in-out infinite alternate surf}.wash-2{bottom:calc(var(--sand) - 1.6dvh);opacity:.45;animation-duration:12.5s;animation-delay:-5s}@keyframes surf{0%{opacity:.35;translate:0 1.4dvh}to{opacity:.95;translate:0 -1.2dvh}}.bird{opacity:0;width:26px;animation:74s linear infinite fly,.62s ease-in-out infinite alternate flap;top:0;left:0}.b1{animation-delay:-6s,0s}.b2{width:19px;animation-duration:92s,.78s;animation-delay:-44s,-.3s;top:5dvh}@keyframes fly{0%{opacity:0;translate:-12vw 17dvh}4%,17%{opacity:.5}21%,to{opacity:0;translate:112vw 9dvh}}@keyframes flap{to{scale:1 .45}}.palm{color:#14180d;overflow:visible}.palm-near{width:min(42vw,30rem,58dvh);top:-7dvh;left:-5vw}.palm-far{color:#5a6357;opacity:.5;width:min(24vw,17rem,34dvh);top:1dvh;left:12vw}.palm-near.r{left:auto;right:-5vw}.palm-far.r{left:auto;right:12vw}.rim{color:#e0a95f;opacity:.42;transform:translate(-1.6px,-1.6px)}.sun,.vignette,.clouds{transform-origin:50vw var(--horizon)}.glint{transform-origin:50vw 0}.haze{transform-origin:50vw 5dvh}.beach{transform-origin:58vw calc(var(--horizon) - 87dvh)}.wash{transform-origin:58vw calc(var(--horizon) - 84.4dvh)}.figures{transform-origin:50vw calc(var(--horizon) - 54dvh)}.palm-near{transform-origin:55vw calc(var(--horizon) + 7dvh)}.palm-far{transform-origin:38vw calc(var(--horizon) - 1dvh)}.palm-near.r{transform-origin:calc(100% - 55vw) calc(var(--horizon) + 7dvh)}.palm-far.r{transform-origin:calc(100% - 38vw) calc(var(--horizon) - 1dvh)}.shore.leaving .clouds{--k:1.14;opacity:0}.shore.leaving .sun,.shore.leaving .haze,.shore.leaving .glint{--k:1.05;opacity:0}.shore.leaving .palm-far{--k:2.6;opacity:0}.shore.leaving .palm-near{--k:3.8}.shore.leaving .wash{--k:2.3;opacity:.5}.shore.leaving .beach,.shore.leaving .figures{--k:2.7}.shore.leaving .vignette{--k:1.1;opacity:.75}.hero.leaving{opacity:0;pointer-events:none;transition:opacity .24s ease-out,transform .46s cubic-bezier(.42,0,.9,.5);transform:scale(1.14)}@media (pointer:coarse),(width<=34rem){.palm-near{width:64vw;transform-origin:59vw calc(var(--horizon) + 5dvh);top:-5dvh;left:-9vw}.palm-far{width:36vw;transform-origin:40vw var(--horizon);top:0;left:10vw}.palm-near.r{transform-origin:calc(100% - 59vw) calc(var(--horizon) + 5dvh);right:-9vw}.palm-far.r{transform-origin:calc(100% - 40vw) var(--horizon);right:10vw}.lounger{width:52vw;bottom:1.6dvh;right:4vw}.glint{opacity:.13;-webkit-mask-image:radial-gradient(clamp(7rem,15vw,26rem) 26vh at 26% 0,#000,#0000 66%);mask-image:radial-gradient(clamp(7rem,15vw,26rem) 26vh at 26% 0,#000,#0000 66%)}}.landing .foot{color:#2f2619}.landing .foot a{text-decoration-color:#7a5313}.landing .foot a:hover{color:#6b4a12}.landing .foot strong{color:#241d13}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.plate .sea{background:linear-gradient(#5ad2ff 0 1.5px,#0d4a6a66 1.5px,#0318249c 8%,#010b14a6 50%,#0000 92%);position:absolute;inset:auto 0 0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000);mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000)}.berg{width:100%;height:100%;position:absolute;inset:0}.plate[data-live]>img,.plate[data-live]>.sea{visibility:hidden}.plate .sketch{mix-blend-mode:multiply;opacity:.9;position:absolute}.studio,.instant,.tiles,.switchboard{width:100%;height:100%;position:absolute;inset:0}.perf{z-index:3;font:400 10.5px/1.45 var(--mono);color:#e8f4f2;pointer-events:none;white-space:pre;background:#041418b8;border-radius:6px;margin:0;padding:.4rem .6rem;position:fixed;top:4.25rem;left:.75rem}
