:root{--ink:#e9f1f2;--ink-dim:#e9f1f29e;--ink-faint:#e9f1f257;--bg:#06161b;--accent:#ff3b4a;--font:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);overscroll-behavior:none;-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}body{touch-action:none}#stage{width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}#ui{pointer-events:none;z-index:2;position:fixed;top:0;bottom:0;left:0;right:0}.mono{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.brand{top:calc(22px + env(safe-area-inset-top,0px));left:calc(24px + env(safe-area-inset-left,0px));opacity:0;flex-direction:column;gap:4px;transition:opacity 1.2s .4s;display:flex;position:absolute}.brand.is-on{opacity:1}.brand__name{letter-spacing:.01em;font-size:15px;font-weight:600}.brand__role{color:var(--ink-faint)}.texts{position:absolute;top:0;bottom:0;left:0;right:0}.text{--accent:#7fd3e0;opacity:0;visibility:hidden;pointer-events:none;will-change:opacity, transform;max-width:min(560px,80vw);transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1),visibility 0s linear .5s;position:absolute;transform:translateY(14px)}.text.is-on{opacity:1;visibility:visible;transition-delay:0s;transform:translateY(0)}.text:before{content:"";filter:blur(14px);z-index:-1;pointer-events:none;background:radial-gradient(70% 80% at 35% 55%,#06161bd1,#06161b80 45%,#06161b00 78%);position:absolute;top:-48px;bottom:-56px;left:-72px;right:-72px}.text--right:before{background:radial-gradient(70% 80% at 65% 55%,#06161bd1,#06161b80 45%,#06161b00 78%)}.text--center:before{background:radial-gradient(70% 80%,#06161bcc,#06161b73 45%,#06161b00 78%)}.text--left{left:calc(24px + env(safe-area-inset-left,0px));bottom:calc(15vh + env(safe-area-inset-bottom,0px))}.text--right{right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(15vh + env(safe-area-inset-bottom,0px));text-align:right}.text--center{text-align:center;top:42%;left:50%;transform:translate(-50%,14px)}.text--center.is-on{transform:translate(-50%)}.text__kicker{color:var(--accent);align-items:center;gap:10px;margin:0 0 14px;display:flex}.text__kicker:before{content:"";background:var(--accent);flex:none;width:28px;height:1px;display:inline-block}.text--right .text__kicker{flex-direction:row-reverse}.text--center .text__kicker{justify-content:center}.text__title{letter-spacing:-.025em;text-shadow:0 2px 30px #0009,0 1px 2px #00000080;margin:0;font-size:clamp(30px,4.6vw,58px);font-weight:500;line-height:1.02}.text__title em{color:var(--accent);font-style:normal}.text__body{color:#e9f1f2c7;text-shadow:0 1px 14px #0000008c;max-width:46ch;margin:16px 0 0;font-size:clamp(15px,1.3vw,18px);line-height:1.5}.text--right .text__body{margin-left:auto}.text__tags{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.text--right .text__tags{justify-content:flex-end}.chip{white-space:nowrap;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1px solid color-mix(in srgb, var(--accent,#7fd3e0) 55%, transparent);background:color-mix(in srgb, var(--accent,#7fd3e0) 10%, transparent);border-radius:999px;padding:5px 9px;font-size:10px}.text__link{pointer-events:auto;color:var(--ink);border-bottom:1px solid var(--accent,#e9f1f266);margin-top:14px;padding:10px 0;font-size:15px;text-decoration:none;transition:border-color .3s,color .3s;display:inline-block}.text__link:hover{color:var(--accent,var(--ink))}.text__link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.hint{white-space:nowrap;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));color:var(--ink-faint);opacity:0;transition:opacity .8s;position:absolute;transform:translate(-50%)}.hint.is-on{opacity:1}.ask{top:calc(22px + env(safe-area-inset-top,0px));right:calc(24px + env(safe-area-inset-right,0px));min-height:44px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.14em;z-index:5;pointer-events:auto;align-items:center;gap:9px;padding:0 2px;font-size:11px;text-decoration:none;transition:color .3s,opacity .4s;display:inline-flex;position:absolute}.ask:hover{color:var(--ink)}.ask:focus-visible{color:var(--ink)}.ask:focus-visible{outline:1px solid var(--ink-dim);outline-offset:4px;border-radius:4px}.ask__dot{background:#ff3b4a;border-radius:50%;width:7px;height:7px;animation:2.4s ease-out infinite ask-pulse;box-shadow:0 0 #ff3b4a8c}@keyframes ask-pulse{0%{box-shadow:0 0 #ff3b4a8c}70%{box-shadow:0 0 0 9px #ff3b4a00}to{box-shadow:0 0 #ff3b4a00}}body.is-window .ask{right:calc(140px + env(safe-area-inset-right,0px))}.ask.is-open .ask__dot{background:var(--ink-dim);box-shadow:none;animation:none}.agent{right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(18px)saturate(1.25);backdrop-filter:blur(18px)saturate(1.25);opacity:0;visibility:hidden;transform-origin:90% 100%;pointer-events:none;z-index:6;background:linear-gradient(160deg,#0e242ac7,#061014e6);border-radius:30px 30px 12px;width:min(440px,34vw);height:min(62vh,640px);transition:opacity .45s,transform .55s cubic-bezier(.2,.7,.2,1),visibility 0s linear .45s;position:absolute;overflow:hidden;transform:translateY(26px)scale(.98);box-shadow:0 30px 80px #0000008c,inset 0 0 0 1px #e9f1f21f,inset 0 1px #e9f1f229}.agent:before{content:"";pointer-events:none;background:radial-gradient(#ff3b4a47,#ff3b4a00 70%);width:220px;height:180px;position:absolute;top:-70px;left:-60px}.agent.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)scale(1)}.agent iframe{background:0 0;border:0;width:100%;height:100%;display:block;position:relative}@media (max-width:640px){.agent{border-radius:26px 26px 0 0;width:auto;height:52vh;bottom:0;left:0;right:0}body.is-agent .hint{opacity:0}}@media (prefers-reduced-motion:reduce){.agent{transition:opacity .3s,visibility 0s linear .3s;transform:none}}@media (max-width:640px){.ask{top:calc(14px + env(safe-area-inset-top,0px));gap:7px;font-size:10px;right:16px}}@media (prefers-reduced-motion:reduce){.ask__dot{animation:none}}.rail{--accent:#7fd3e0;--rail-x:0px;left:calc(24px + env(safe-area-inset-left,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));opacity:0;pointer-events:none;transform:translateX(var(--rail-x));flex-direction:column;align-items:flex-start;gap:0;transition:opacity .9s .3s,transform .75s cubic-bezier(.2,.7,.2,1);display:flex;position:absolute}.rail.is-on{opacity:1}.rail.is-covered{opacity:0;transition-delay:0s}.rail:before{content:"";filter:blur(12px);z-index:-1;pointer-events:none;background:radial-gradient(70% 72% at 38% 60%,#06161bcc,#06161b73 45%,#06161b00 78%);position:absolute;top:-36px;bottom:-34px;left:-56px;right:-64px}.rail--right{align-items:flex-end}.rail--right:before{background:radial-gradient(70% 72% at 62% 60%,#06161bcc,#06161b73 45%,#06161b00 78%);top:-36px;bottom:-34px;left:-64px;right:-56px}.rail__btn{min-height:30px;color:var(--ink-faint);cursor:pointer;pointer-events:auto;font:inherit;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;margin:0;padding:0 8px 0 0;display:flex}.rail--right .rail__btn{text-align:right;flex-direction:row-reverse;padding:0 0 0 8px}.rail__tick{background:currentColor;flex:none;width:16px;height:1px;transition:width .35s cubic-bezier(.2,.7,.2,1),height .25s,background .35s,box-shadow .35s}.rail__label{letter-spacing:.14em;text-transform:uppercase;font-size:10.5px;line-height:1;transition:color .35s}.rail__btn:hover .rail__tick{width:26px}.rail__btn:focus-visible .rail__tick{width:26px}.rail__btn:hover .rail__label{color:var(--ink)}.rail__btn:focus-visible .rail__label{color:var(--ink)}.rail__btn:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.rail__btn[aria-current=true] .rail__tick{background:var(--accent);width:36px;height:2px;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 70%, transparent)}.rail__btn[aria-current=true] .rail__label{color:var(--accent)}.rail.is-traveling .rail__btn[aria-current=true] .rail__tick{animation:.9s ease-in-out infinite rail-pulse}@keyframes rail-pulse{50%{opacity:.35}}@media (max-width:640px){.rail{left:50%;right:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));flex-direction:row;align-items:center;gap:2px;transform:translate(-50%)!important}.rail:before,.rail--right:before{background:radial-gradient(70% 80% at 50% 60%,#06161bcc,#06161b66 45%,#06161b00 78%);top:-22px;bottom:-16px;left:-30px;right:-30px}.rail--right{align-items:center}.rail__btn,.rail--right .rail__btn{text-align:center;flex-direction:column;gap:6px;min-height:40px;padding:0 7px}.rail__tick{width:14px}.rail__label{font-size:9.5px;display:none}.rail__btn[aria-current=true] .rail__label{display:inline}.rail__btn[aria-current=true] .rail__tick{width:22px}.hint{bottom:calc(64px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.rail{transition:opacity .4s}.rail.is-traveling .rail__btn[aria-current=true] .rail__tick{animation:none}}.gate{background:var(--bg);pointer-events:auto;place-items:center;transition:opacity 1.4s;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.gate.is-off{opacity:0;pointer-events:none}.gate__inner{text-align:center;max-width:640px;padding:0 24px}.gate__eyebrow{color:var(--ink-faint);margin:0 0 18px}.gate__title{letter-spacing:-.025em;margin:0;font-size:clamp(28px,4.6vw,54px);font-weight:500;line-height:1.04}.gate__sub{color:var(--ink-dim);max-width:46ch;margin:18px auto 34px;font-size:15px;line-height:1.5}.gate__loader{background:#e9f1f224;width:220px;height:1px;margin:0 auto 26px;position:relative;overflow:hidden}.gate__bar{background:var(--ink);width:0%;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.gate__btn{-webkit-appearance:none;appearance:none;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #e9f1f259;min-height:48px;padding:14px 30px;transition:border-color .3s,background .3s,color .3s,opacity .3s}.gate__btn:disabled{opacity:.45;cursor:default}.gate__btn:not(:disabled):hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.gate__btn:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.gate__note{color:var(--ink-faint);min-height:14px;margin:18px 0 0}body.is-window .texts,body.is-window .hint{opacity:0;pointer-events:none}body.is-window #stage{cursor:default}#stage.is-hover{cursor:pointer}.proj{pointer-events:auto;opacity:0;transition:opacity .6s;position:absolute;top:0;bottom:0;left:0;right:0}.proj[hidden]{display:none}.proj.is-on{opacity:1}.proj__close{top:calc(18px + env(safe-area-inset-top,0px));right:calc(20px + env(safe-area-inset-right,0px));z-index:2;-webkit-appearance:none;appearance:none;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#06161b8c;border:1px solid #e9f1f24d;min-height:44px;padding:12px 16px;position:absolute}.proj__close:hover{background:var(--ink);color:var(--bg)}.proj__close:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.proj__scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#e9f1f240 transparent;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.proj__stage{height:100vh;height:100dvh;padding:0 24px calc(48px + env(safe-area-inset-bottom,0px));align-items:flex-end;display:flex}.proj__head{max-width:640px}.proj__title{letter-spacing:-.025em;margin:0;font-size:clamp(30px,5vw,60px);font-weight:500;line-height:1.02}.proj__summary{color:var(--ink-dim);max-width:52ch;margin:16px 0 0;font-size:clamp(15px,1.3vw,18px);line-height:1.5}.proj__hint{color:var(--ink-faint);margin:22px 0 0}.proj__body{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:40px 24px calc(72px + env(safe-area-inset-bottom,0px));background:#06161be6;border-top:1px solid #e9f1f21f;position:relative}.proj__body>*{max-width:680px}.proj__body .text__tags{margin:0 0 28px}.proj__blocks h3{letter-spacing:-.015em;margin:34px 0 10px;font-size:clamp(20px,2.2vw,26px);font-weight:500}.proj__blocks h3:first-child{margin-top:0}.proj__blocks p{color:var(--ink-dim);margin:0 0 14px;font-size:16px;line-height:1.6}.proj__blocks ul{color:var(--ink-dim);margin:0 0 14px;padding-left:18px;line-height:1.55}.proj__blocks li{margin:6px 0}.proj__links{flex-wrap:wrap;align-items:center;gap:24px;margin-top:36px;display:flex}.proj__next{-webkit-appearance:none;appearance:none;color:var(--ink);min-height:44px;font-family:var(--font);cursor:pointer;background:0 0;border:1px solid #e9f1f259;padding:12px 20px;font-size:14px;transition:background .3s,color .3s}.proj__next:hover{background:var(--ink);color:var(--bg)}.proj__next:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (max-width:640px){.proj__stage{padding:0 16px calc(36px + env(safe-area-inset-bottom,0px))}.proj__body{padding:30px 16px calc(60px + env(safe-area-inset-bottom,0px))}.proj__close{top:calc(14px + env(safe-area-inset-top,0px));right:14px}}.gate__alt{margin:26px 0 0}.gate__credits{left:24px;right:24px;bottom:calc(18px + env(safe-area-inset-bottom,0px));color:var(--ink-faint);text-align:center;font-size:10px;position:absolute}.gate__alt a{color:var(--ink-faint);border-bottom:1px solid #e9f1f233;padding-bottom:2px;text-decoration:none}.gate__alt a:hover{color:var(--ink)}.gate__alt a:focus-visible{color:var(--ink)}.noscript{text-align:center;color:var(--ink-dim);z-index:3;place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}@media (max-width:640px){.brand{top:16px;left:16px}.text--left,.text--right{text-align:left;bottom:12vh;left:16px;right:16px}.text--right .text__body{margin-left:0}.hint{left:50%;bottom:calc(64px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.text,.gate,.brand,.hint{transition-duration:10ms}}
