@font-face{font-family:Manrope;src:url(/fonts/manrope-regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-semibold.ttf) format("truetype");font-weight:600;font-display:swap}:root{font-family:Manrope,sans-serif;color:#222c31;background:#dce3e5;font-synthesis:none;--ink:#222c31;--muted:#4b595e;--line:rgba(34,44,49,.22);--panel:rgba(234,239,238,.97);--hover:rgba(34,44,49,.07);--gutter:clamp(22px,3.4vw,64px);--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{font:inherit;cursor:pointer}button{border:0;background:none;padding:0}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:7px}button:disabled{opacity:.4;cursor:default}::selection{background:var(--ink);color:var(--panel)}[hidden]{display:none!important}a{text-decoration:none}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}#experience{width:100%;height:100svh;min-height:0;position:relative;isolation:isolate}#world{position:absolute;inset:0;touch-action:none;overflow:hidden}#world canvas{display:block;width:100%;height:100%}.veil{position:absolute;inset:0;pointer-events:none;background:#dce3e5;opacity:0;transition:opacity .44s var(--ease);z-index:2}.changing .veil{opacity:1}header{position:absolute;inset:28px var(--gutter) auto;display:flex;align-items:center;justify-content:space-between;z-index:5;gap:24px}.wordmark{font-size:27px;font-weight:600;letter-spacing:-.04em;display:flex;align-items:center;gap:10px}.brand-mark svg{width:30px;height:30px;stroke-width:1.5}.header-right{display:flex;align-items:center;gap:64px;font-size:12px}.edition{color:var(--muted)}#about-toggle{min-height:44px;display:flex;align-items:center;gap:19px}#about-toggle .about-icon{width:18px;height:18px;transition:transform .4s}#about-toggle[aria-expanded=true] .about-icon{transform:rotate(45deg)}.vertical-label{position:absolute;left:var(--gutter);top:34%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;color:var(--muted);letter-spacing:.025em;pointer-events:none}.scene-caption{position:absolute;left:var(--gutter);bottom:148px;pointer-events:none;z-index:3;transition:opacity .3s,transform .55s var(--ease)}h1{font-size:clamp(38px,4.7vw,74px);font-weight:400;line-height:1.13;letter-spacing:-.04em;margin:0 0 13px}.scene-caption p{font-size:12px;margin:0;color:var(--muted)}.changing .scene-caption{opacity:0;transform:translateY(12px)}.interaction-hint{position:absolute;bottom:155px;right:var(--gutter);display:flex;gap:10px;align-items:center;color:var(--muted);font-size:11px;pointer-events:none;z-index:3}.hint-dot{width:5px;height:5px;border:1px solid currentColor;border-radius:50%}.side-actions{position:absolute;right:var(--gutter);top:49%;z-index:5}.side-actions button{display:flex;gap:12px;align-items:center;min-height:44px;font-size:11px}.side-actions button svg{width:16px;height:16px}footer{position:absolute;left:var(--gutter);right:var(--gutter);bottom:max(26px,env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:stretch;z-index:5;padding-top:15px;gap:24px}.scene-nav{display:flex;gap:clamp(24px,4.5vw,78px)}.scene-nav button{display:flex;align-items:baseline;gap:12px;min-height:52px;position:relative;font-size:12px;color:var(--muted);transition:color .2s}.scene-nav button:before{content:"";position:absolute;top:-16px;left:0;right:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}.scene-nav button[aria-pressed=true]{color:var(--ink)}.scene-nav button[aria-pressed=true]:before{transform:scaleX(1)}.scene-number{font-size:9px;font-variant-numeric:tabular-nums}.scene-nav button:hover,.header-right button:hover,.side-actions button:hover{color:var(--ink)}.transport{display:flex;align-items:center;gap:24px}.icon-button{width:44px;height:44px;display:grid;place-items:center}.transport #next{display:flex;gap:28px;align-items:center;min-height:44px;font-size:11px}.transport #next svg{transition:transform .3s var(--ease)}.transport #next:hover svg{transform:translate(5px)}.panel{position:absolute;right:var(--gutter);top:91px;bottom:111px;width:350px;max-width:calc(100vw - 2 * var(--gutter));padding:26px 28px;background:var(--panel);z-index:8;overflow:auto;box-shadow:0 16px 60px #00000014;scrollbar-color:var(--muted) transparent;scrollbar-width:thin;animation:panel-in .35s var(--ease) both}.panel-heading{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:27px}.panel h2{font-weight:400;font-size:24px;line-height:1.28;letter-spacing:-.03em;margin:0}.close{width:28px;height:28px;display:grid;place-items:center;flex-shrink:0}.panel p{font-size:12px;line-height:1.85;color:var(--muted);margin:0 0 20px}.parameters{margin:32px 0}.parameters label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px}output{font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:24px;accent-color:var(--ink);margin:0 0 19px;cursor:pointer;background:transparent}input[type=range]:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.reading{display:flex;justify-content:space-between;font-size:11px}.order-line{height:2px;background:var(--line);margin:12px 0}.order-line span{display:block;background:var(--ink);height:100%;width:0;transition:width 1s}.panel p.small-note{font-size:10px;line-height:1.8}.text-button{display:flex;align-items:center;gap:20px;font-size:11px;min-height:44px;margin:20px 0}.text-button svg{width:15px}.controls-note{padding-top:19px;border-top:1px solid var(--line)}.source-link{display:flex;align-items:center;gap:14px;font-size:10px;text-decoration:underline;text-underline-offset:4px;margin-top:30px}.source-link svg{width:13px}#loading{position:absolute;inset:0;z-index:10;background:#dce3e5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;font-size:12px;transition:opacity .7s var(--ease);pointer-events:none}.loading-line{width:100px;height:1px;background:#9da9ad;position:relative;overflow:hidden}.loading-line:after{content:"";position:absolute;inset:0;background:#222c31;animation:load 1s infinite;transform-origin:left}.loaded #loading{opacity:0}#error,.no-script{position:absolute;inset:0;z-index:11;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:32px;background:#dce3e5;color:#222c31}#error h2{font-size:28px;font-weight:400}#error p{font-size:13px;max-width:45ch;line-height:1.7}#error button{border-bottom:1px solid;padding:14px}#pulse{position:absolute;pointer-events:none;width:14px;height:14px;margin:-7px;border:1px solid var(--ink);border-radius:50%;opacity:0;z-index:4}#pulse.active{animation:pulse .8s var(--ease) forwards}body[data-theme=dark]{--ink:#e7ece4;--muted:#b9c9c6;--line:rgba(220,235,229,.27);--panel:rgba(12,31,34,.97);--hover:rgba(220,235,229,.09);color:var(--ink)}body[data-theme=warm]{--ink:#493329;--muted:#725348;--line:rgba(73,51,41,.25);--panel:rgba(242,229,212,.98);color:var(--ink)}@keyframes pulse{0%{opacity:.65;transform:scale(1)}to{opacity:0;transform:scale(14)}}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes panel-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@media(max-width:700px){header{top:17px}.wordmark{font-size:25px}.edition{display:none}.header-right{font-size:11px}.vertical-label{display:none}.scene-caption{bottom:162px}h1{font-size:42px;margin-bottom:9px}.scene-caption p{font-size:11px}.interaction-hint{bottom:128px;left:var(--gutter);right:auto;font-size:10px}.side-actions{top:89px}.side-actions button{font-size:10px}.scene-nav{gap:0;flex:1;justify-content:space-between}.scene-nav button{flex-direction:column;gap:6px;font-size:11px;min-height:50px;padding-right:13px}.scene-number{font-size:8px}.transport{gap:2px}.next-label{display:none}.transport #next{width:34px;justify-content:flex-end}footer{gap:12px;bottom:max(20px,env(safe-area-inset-bottom))}.icon-button{width:32px}.panel{top:76px;bottom:105px;max-height:none;width:350px;padding:23px}.panel-heading{margin-bottom:20px}.panel h2{font-size:24px}}@media(max-height:550px)and (min-width:701px){header{top:12px}.scene-caption{bottom:103px}h1{font-size:36px}.interaction-hint{bottom:108px}footer{bottom:14px}.panel{top:68px;bottom:90px}.vertical-label{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.field-actions{display:flex;gap:10px;margin:8px 0 24px}.field-actions button{flex:1;border:1px solid var(--line);min-height:44px;font-size:11px}.field-actions button:hover{background:var(--hover)}.field-actions button[aria-pressed=true]{background:var(--ink);color:var(--panel)}
