@font-face{font-family:Cormorant;font-style:normal;font-weight:300 400;font-display:swap;src:url(../fonts/cormorant-light-latin.woff2) format("woff2")}:root{--ink: #06070a;--ink-raise: rgba(13, 15, 20, .74);--ink-solid: #0b0d12;--wash: rgba(255, 255, 255, .03);--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--text: rgba(255, 255, 255, .88);--text-dim: rgba(255, 255, 255, .5);--text-faint: rgba(255, 255, 255, .3);--accent: rgba(226, 214, 184, .95);--warn: rgba(226, 184, 140, .8);--alarm: rgba(226, 150, 140, .9);--display: "Cormorant", ui-serif, "Iowan Old Style", Palatino, Georgia, serif;--serif: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--ease: cubic-bezier(.22, .61, .36, 1);--pad: 22px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;background:var(--ink);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}body{overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}input,select,textarea{font:inherit;color:inherit}::selection{background:#e2d6b840}.stage{position:fixed;inset:0;overflow:hidden}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.stage.grabbing canvas{cursor:grabbing}.stage-error{position:absolute;inset:0;display:grid;place-content:center;padding:10vw;text-align:center;font-family:var(--serif);font-size:17px;line-height:1.6;color:var(--text-dim)}.stage-error p{margin:0}.stage-error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;font-family:var(--sans)}.chrome{position:fixed;inset:0;pointer-events:none;padding:calc(var(--pad) + env(safe-area-inset-top)) calc(var(--pad) + env(safe-area-inset-right) + var(--surface-right)) calc(var(--pad) + env(safe-area-inset-bottom) + var(--surface-bottom)) calc(var(--pad) + env(safe-area-inset-left));display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;gap:12px}.chrome>*{pointer-events:auto}.chrome.quiet .fades{opacity:0;transition:opacity .9s var(--ease)}.fades{transition:opacity .32s var(--ease)}.chrome{isolation:isolate}.chrome:before{content:"";position:absolute;inset:0 var(--surface-right) var(--surface-bottom) 0;z-index:-1;pointer-events:none;transition:opacity .32s var(--ease);background:linear-gradient(to bottom,#06070ae0,#06070acc 7%,#06070a57 13%,#06070a00 20%),linear-gradient(to top,#06070ae0,#06070acc 7%,#06070a57 13%,#06070a00 20%),linear-gradient(to left,#06070adb,#06070a9e 4%,#06070a33 9%,#06070a00 15%),linear-gradient(to right,#06070adb,#06070a9e 4%,#06070a33 9%,#06070a00 15%)}.chrome.quiet:before{opacity:0;transition:opacity .9s var(--ease)}.chrome{transition:padding .32s var(--ease)}:root{--surface-right: 0px;--surface-bottom: 0px}@media (min-width: 1181px) and (min-height: 501px),(orientation: landscape) and (min-width: 641px) and (min-height: 501px){:root:has(.chrome.panel-open){--surface-right: 352px}:root:has(.chrome.reading-open){--surface-right: min(520px, 100vw)}}@media (max-width: 640px),(orientation: portrait) and (max-width: 1180px),(orientation: landscape) and (max-height: 500px){:root:has(.chrome.panel-open){--surface-bottom: min(62vh, 560px)}}@media (orientation: landscape) and (max-height: 500px){:root:has(.chrome.panel-open){--surface-right: min(352px, 46vw);--surface-bottom: 0px}}.wordmark{grid-column:1;grid-row:1;display:flex;align-items:baseline;gap:14px;user-select:none}.wordmark button{font-family:var(--sans);font-size:12px;letter-spacing:.38em;text-transform:uppercase;color:var(--text);opacity:.9}.wordmark .world-name{font-family:var(--serif);font-size:13px;letter-spacing:.12em;color:var(--text-dim);font-style:italic}.modes{grid-column:3;grid-row:1;display:flex;gap:2px;align-items:center}.modes button{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim);padding:7px 11px;border:1px solid transparent;transition:color .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease)}.modes button:hover{color:var(--text-dim)}.modes button[aria-pressed=true]{color:var(--text);border-color:var(--line-strong);background:var(--wash)}.readout{grid-column:1;grid-row:3;align-self:end;font-family:var(--mono);font-size:11px;line-height:1.75;letter-spacing:.02em;color:var(--text-dim);user-select:text;max-width:46ch}.readout b{font-weight:400;color:var(--text)}.readout .warn{color:var(--warn)}.status{grid-column:3;grid-row:3;align-self:end;justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-family:var(--mono);font-size:11px;color:var(--text-dim)}.converge{width:110px;height:1px;background:#ffffff1a;position:relative;overflow:hidden}.converge i{position:absolute;inset:0 auto 0 0;background:var(--accent);opacity:.55;transition:width .18s linear}.actions{grid-column:3;grid-row:2;align-self:center;justify-self:end;display:flex;flex-direction:column;gap:1px}.actions button{writing-mode:vertical-rl;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);padding:13px 8px;border:1px solid transparent;transition:color .18s var(--ease),border-color .18s var(--ease)}.actions button:hover,.actions button[aria-pressed=true]{color:var(--text);border-color:var(--line)}.panel{position:fixed;top:0;right:0;bottom:0;width:352px;max-width:100vw;background:var(--ink-raise);backdrop-filter:blur(26px) saturate(1.25);-webkit-backdrop-filter:blur(26px) saturate(1.25);border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:20;animation:panel-in .32s var(--ease)}@keyframes panel-in{0%{opacity:0;transform:translate(14px)}}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:calc(18px + env(safe-area-inset-top)) 20px 14px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim)}.panel-close{font-size:18px;line-height:1;color:var(--text-faint);padding:4px 6px}.panel-close:hover{color:var(--text)}.panel-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:4px 20px calc(28px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.panel-foot{border-top:1px solid var(--line);padding:14px 20px calc(16px + env(safe-area-inset-bottom));display:flex;gap:8px}section.group{padding:18px 0 20px;border-bottom:1px solid var(--line)}section.group:last-child{border-bottom:none}section.group>h3{margin:0 0 14px;font-size:9.5px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--text-faint)}.hint{margin:10px 0 0;font-family:var(--serif);font-size:12.5px;line-height:1.55;color:var(--text-faint);font-style:italic}.field{margin-bottom:15px}.field:last-child{margin-bottom:0}.field-label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;font-size:11.5px;color:var(--text-dim)}.field-label span:last-child{font-family:var(--mono);font-size:10px;color:var(--text-faint)}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:18px;background:transparent;display:block;margin:0}input[type=range]::-webkit-slider-runnable-track{height:1px;background:var(--line-strong)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;margin-top:-5px;border-radius:50%;background:var(--accent);border:none}input[type=range]::-moz-range-track{height:1px;background:var(--line-strong)}input[type=range]::-moz-range-thumb{width:11px;height:11px;border:none;border-radius:50%;background:var(--accent)}.scrub{position:relative;height:46px;display:flex;align-items:center;justify-content:center;cursor:ew-resize;touch-action:none;user-select:none;-webkit-user-select:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);transition:border-color .18s var(--ease),background .18s var(--ease)}.scrub:hover,.scrub:focus-visible,.scrub.scrubbing{border-top-color:var(--line-strong);border-bottom-color:var(--line-strong);background:var(--wash);outline:none}.scrub-ticks{position:absolute;inset:0;overflow:hidden;pointer-events:none}.scrub-ticks i{position:absolute;top:0;bottom:0;width:1px;background:var(--line-strong);transform:translate(-.5px)}.scrub-read{position:relative;display:flex;align-items:baseline;gap:8px}.scrub-read b{font-family:var(--mono);font-size:17px;font-weight:400;letter-spacing:.04em;color:var(--text)}.scrub-read span{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.scrub.scrubbing .scrub-read b{color:var(--accent)}.handles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.handle-set polygon{fill:#ffffff0b;stroke:var(--line-strong);stroke-width:1}.handle-set .arm{stroke:var(--line-strong);stroke-width:1}.handle-set .grip{fill:var(--text-dim);pointer-events:none}.handle-set .grip-target{fill:transparent;pointer-events:auto;cursor:grab;touch-action:none}.handle-set.chosen polygon{fill:#e2d6b812;stroke:var(--accent)}.handle-set.chosen .arm{stroke:var(--accent)}.handle-set.chosen .grip{fill:var(--accent)}.handle-set.loose polygon,.handle-set.loose .arm{stroke:var(--alarm);stroke-dasharray:4 4}.handle-set.loose .grip{fill:var(--alarm)}.handle-set.muted{opacity:.4}.pad{position:relative;height:96px;display:flex;align-items:center;justify-content:center;cursor:move;touch-action:none;user-select:none;-webkit-user-select:none;border:1px solid var(--line);transition:border-color .18s var(--ease),background .18s var(--ease)}.pad:hover,.pad:focus-visible,.pad.padding{border-color:var(--line-strong);background:var(--wash);outline:none}.pad-read{display:flex;flex-direction:column;align-items:center;gap:5px;pointer-events:none}.pad-read b{font-family:var(--mono);font-size:18px;font-weight:400;letter-spacing:.06em;color:var(--text)}.pad-read span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.pad.padding .pad-read b{color:var(--accent)}.choice{display:flex;flex-wrap:wrap;gap:1px}.choice button{flex:1 1 auto;min-width:0;padding:7px 6px;font-size:10.5px;letter-spacing:.04em;color:var(--text-faint);border:1px solid var(--line);white-space:nowrap;transition:color .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease)}.choice button:hover{color:var(--text-dim)}.choice button[aria-pressed=true],.choice button[aria-pressed=true]:hover{color:var(--ink);background:var(--accent);border-color:var(--accent)}.swatches{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.swatch{display:block;text-align:left;border:1px solid var(--line);padding:5px 6px 6px;transition:border-color .18s var(--ease)}.swatch[aria-pressed=true]{border-color:var(--accent)}.swatch i{display:block;height:13px;margin-bottom:5px}.swatch-note{margin:9px 0 0;font-family:var(--serif);font-size:12.5px;line-height:1.5;font-style:italic;color:var(--text-dim)}.swatch em{font-style:normal;font-size:10px;letter-spacing:.05em;color:var(--text-faint)}.swatch[aria-pressed=true] em{color:var(--text)}.btn{padding:9px 13px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--line-strong);transition:color .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease)}.btn:hover:not(:disabled){color:var(--text);background:var(--wash)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{color:var(--ink);background:var(--accent);border-color:var(--accent);flex:1}.btn.primary:hover:not(:disabled){color:var(--ink);background:#fff}.btn.wide{width:100%;text-align:center}.locations{display:flex;flex-direction:column;gap:1px}.location{text-align:left;padding:9px 10px;border:1px solid transparent;border-left:1px solid var(--line);transition:background .18s var(--ease),border-color .18s var(--ease)}.location:hover{background:var(--wash);border-left-color:var(--accent)}.location strong{display:block;font-family:var(--serif);font-size:14px;font-weight:400;color:var(--text);margin-bottom:3px}.location span{display:block;font-size:11px;line-height:1.45;color:var(--text-faint)}.num-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}input[type=text],input[type=number],textarea{width:100%;background:#00000059;border:1px solid var(--line);padding:7px 8px;font-family:var(--mono);font-size:11px;color:var(--text)}input[type=text]:focus,input[type=number]:focus,textarea:focus{outline:none;border-color:var(--line-strong)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;font-size:11.5px;color:var(--text-dim)}.toggle{width:34px;height:16px;border:1px solid var(--line-strong);position:relative;flex:none}.toggle i{position:absolute;top:2px;left:2px;width:10px;height:10px;background:var(--text-faint);transition:transform .18s var(--ease),background .18s var(--ease)}.toggle[aria-pressed=true] i{transform:translate(16px);background:var(--accent)}.picker{position:relative;width:100%;aspect-ratio:1;border:1px solid var(--line);overflow:hidden;touch-action:none;cursor:crosshair}.picker canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.picker .cross{position:absolute;width:15px;height:15px;margin:-8px 0 0 -8px;pointer-events:none;mix-blend-mode:difference}.picker .cross:before,.picker .cross:after{content:"";position:absolute;background:#fff}.picker .cross:before{left:0;right:0;top:7px;height:1px}.picker .cross:after{top:0;bottom:0;left:7px;width:1px}.map-inset{position:absolute;left:calc(var(--pad) + env(safe-area-inset-left));top:50%;transform:translateY(-50%);width:clamp(110px,18vmin,196px);aspect-ratio:1;border:1px solid var(--line-strong);background:#06070a8c;overflow:hidden;touch-action:none;cursor:crosshair}.map-inset.dragging{cursor:grabbing}.map-inset canvas,.map-inset svg{position:absolute;inset:0;width:100%;height:100%;display:block}.map-inset svg{pointer-events:none;overflow:visible}.map-inset .map-path{fill:none;stroke:#ffffff9e;stroke-width:1.25;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map-inset .map-c{fill:none;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.map-inset .map-halo{fill:none;stroke:#040508bf;stroke-width:3.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map-inset .map-error{position:absolute;inset:0;display:grid;place-content:center;font-size:11px;letter-spacing:.08em;color:var(--text-dim)}:root:has(.chrome.quiet) .map-inset{opacity:0;pointer-events:none;transition:opacity .9s var(--ease)}.reading-close{position:sticky;top:0;float:right;z-index:1;display:grid;place-items:center;width:44px;height:44px;margin:10px 10px -44px 0;font-size:20px;line-height:1;color:var(--text-dim);transition:color .18s var(--ease)}.reading-close:hover{color:var(--text)}.reading{position:fixed;top:0;right:0;bottom:0;width:min(520px,100vw);background:#06070ad1;backdrop-filter:blur(30px) saturate(1.1);-webkit-backdrop-filter:blur(30px) saturate(1.1);border-left:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:20;animation:panel-in .32s var(--ease)}.reading-inner{padding:calc(60px + env(safe-area-inset-top)) 44px calc(72px + env(safe-area-inset-bottom)) 44px;max-width:44rem}.reading h1{font-family:var(--display);font-size:30px;font-weight:400;letter-spacing:.01em;margin:0 0 6px}.reading .kicker{font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--text-faint);margin:0 0 26px}.reading h2{font-family:var(--sans);font-size:9.5px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--text-faint);margin:34px 0 12px}.reading p{font-family:var(--serif);font-size:15.5px;line-height:1.68;color:#ffffffc2;margin:0 0 14px}.reading .eq{font-family:var(--mono);font-size:13px;line-height:1.9;color:var(--text);padding:14px 16px;margin:0 0 16px;border-left:1px solid var(--line-strong);background:var(--wash);white-space:pre-wrap;overflow-x:auto}.reading dl{margin:0 0 18px;display:grid;grid-template-columns:auto 1fr;gap:5px 18px;font-size:12px}.reading dt{color:var(--text-faint)}.reading dd{margin:0;font-family:var(--mono);font-size:11.5px;color:var(--text-dim)}.reading .aside{font-family:var(--sans);font-size:12px;line-height:1.6;color:var(--text-faint);border-top:1px solid var(--line);padding-top:14px;margin-top:28px}.reading em.art{font-style:normal;color:#e2d6b8bf}.threshold{--threshold-title: 44svh;--world-cols: 4;position:fixed;inset:0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(var(--threshold-title),1fr) auto;overflow:hidden auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;background:linear-gradient(to bottom,#06070a1a,#06070a57 58%,#06070ad1);animation:fade-in .9s var(--ease)}@keyframes fade-in{0%{opacity:0}}.threshold-top{align-self:center;justify-self:center;position:relative;text-align:center;padding:7vh 8vw;text-shadow:0 1px 2px rgba(0,0,0,.55),0 2px 34px rgba(0,0,0,.7)}.threshold-top:before{content:"";position:absolute;inset:-64% -34%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 50% 50% at 50% 50%,#06070aeb,#06070adb,#06070a75 68%,#06070a24 86%,#06070a00)}.threshold h1{margin:0;font-family:var(--display);font-size:clamp(36px,9.4vw,92px);font-weight:300;letter-spacing:.34em;text-indent:.34em;color:#fff}.threshold .sub{margin:18px auto 0;max-width:34ch;font-family:var(--serif);font-size:clamp(14px,2.1vw,18px);line-height:1.6;font-style:italic;color:#ffffffb8}.worlds{display:flex;flex-wrap:wrap;padding-bottom:env(safe-area-inset-bottom);background:#06070aa8;backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1)}.world-card{flex:1 1 calc(100% / var(--world-cols) - .5px);min-width:0;box-sizing:border-box;text-align:left;padding:26px 28px 30px;border-top:1px solid var(--line);border-right:1px solid var(--line);transition:background .42s var(--ease)}.world-card:hover{background:var(--wash)}.world-card .idx{font-family:var(--mono);font-size:10px;color:var(--text-faint);letter-spacing:.2em}.world-card strong{display:block;margin:10px 0 8px;font-family:var(--display);font-size:clamp(19px,2.8vw,27px);font-weight:400;letter-spacing:.17em;color:#fff}.world-card span{display:block;max-width:34ch;font-family:var(--serif);font-size:13.5px;line-height:1.6;color:var(--text-dim)}.world-card .fields{display:block;margin-top:14px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--text-faint)}@media (max-width: 899px){.threshold{--world-cols: 2;--threshold-title: 52svh}}@media (max-width: 559px){.threshold{--world-cols: 1;--threshold-title: 58svh}.world-card{padding:16px 20px}.world-card strong{margin:6px 0 4px}.world-card .fields{display:none}.world-card span:not(.idx):not(.fields){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}@media (max-height: 520px){.threshold-top{padding-block:3vh}}.sheet-backdrop{position:fixed;inset:0;z-index:40;background:#0405079e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px;animation:fade-in .2s var(--ease)}.sheet{width:min(560px,100%);max-height:86vh;overflow-y:auto;background:var(--ink-solid);border:1px solid var(--line);padding:26px 26px 22px}.sheet h2{margin:0 0 4px;font-family:var(--serif);font-size:20px;font-weight:400}.sheet .sheet-note{margin:0 0 20px;font-size:12px;line-height:1.55;color:var(--text-faint)}.sheet-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:22px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}.keep{border:1px solid var(--line);text-align:left;overflow:hidden;transition:border-color .18s var(--ease)}.keep:hover{border-color:var(--line-strong)}.keep img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#000}.keep-meta{padding:8px 9px 9px}.keep-meta strong{display:block;font-family:var(--serif);font-size:13px;font-weight:400;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keep-meta span{font-family:var(--mono);font-size:9.5px;color:var(--text-faint);letter-spacing:.04em}.keep-row{display:flex;gap:6px;padding:0 9px 9px}.keep-row button{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--line);padding:4px 6px}.keep-row button:hover{color:var(--text)}.empty{grid-column:1 / -1;font-family:var(--serif);font-style:italic;font-size:13.5px;color:var(--text-faint);padding:26px 0;text-align:center}.toast{position:fixed;left:50%;bottom:calc(26px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:50;background:#0a0b0ee6;border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:10px 16px;font-size:11.5px;letter-spacing:.04em;color:var(--text-dim);max-width:78vw;text-align:center;animation:fade-in .2s var(--ease)}@media (max-width: 640px),(orientation: portrait) and (max-width: 1180px),(orientation: landscape) and (max-height: 500px){:root{--pad: clamp(14px, 2vw, 20px)}.chrome{grid-template-rows:auto auto 1fr auto}.wordmark{grid-row:1;grid-column:1 / -1;min-width:0}.world-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-name .world-field{display:none}.modes{grid-row:2;grid-column:1 / -1;justify-self:start;align-self:start}.modes button{padding:6px 7px;letter-spacing:.18em;color:#ffffffb8;text-shadow:0 1px 2px rgba(0,0,0,.6)}.chrome:before{background:linear-gradient(to bottom,#06070ae0,#06070acc calc(var(--pad) + env(safe-area-inset-top) + 104px),#06070a57 calc(var(--pad) + env(safe-area-inset-top) + 150px),#06070a00 calc(var(--pad) + env(safe-area-inset-top) + 190px)),linear-gradient(to top,#06070ae0,#06070acc 7%,#06070a57 13%,#06070a00 20%),linear-gradient(to left,#06070adb,#06070a9e 4%,#06070a33 9%,#06070a00 15%),linear-gradient(to right,#06070adb,#06070a9e 4%,#06070a33 9%,#06070a00 15%)}.readout{grid-row:4;grid-column:1 / 3}.status{grid-row:4;grid-column:3}.panel{top:auto;width:100%;height:min(62vh,560px);border-left:none;border-top:1px solid var(--line);animation:sheet-up .32s var(--ease)}@keyframes sheet-up{0%{transform:translateY(20px);opacity:0}}.reading{width:100%}.reading-inner{margin:0 auto;padding:calc(44px + env(safe-area-inset-top)) 24px calc(56px + env(safe-area-inset-bottom))}.actions button{writing-mode:horizontal-tb;padding:7px 9px;letter-spacing:.18em}.actions{flex-direction:row;gap:1px;grid-row:3;grid-column:1 / -1;justify-self:end;align-self:end;margin:0 0 10px}.readout{max-width:64vw;font-size:11px;line-height:1.6}}@media (orientation: landscape) and (max-height: 500px){.panel{top:0;width:min(352px,46vw);height:auto;border-top:none;border-left:1px solid var(--line);animation:panel-in .32s var(--ease)}}@media (pointer: coarse),(max-width: 1200px){.wordmark button,.modes button,.choice button,.btn,.keep-row button{min-height:44px}.modes button,.choice button{padding-left:14px;padding-right:14px}.choice button{min-width:44px}.actions button{min-width:44px;min-height:44px}.panel-close{display:grid;place-items:center;width:44px;height:44px;margin:-9px -12px -9px 0}input[type=text],input[type=number],textarea{min-height:44px}input[type=range]{height:44px}input[type=range]::-webkit-slider-runnable-track{height:2px}input[type=range]::-webkit-slider-thumb{width:16px;height:16px;margin-top:-7px}input[type=range]::-moz-range-track{height:2px}input[type=range]::-moz-range-thumb{width:16px;height:16px}.field{margin-bottom:8px}.scrub{height:56px}.pad{height:124px}}@media (prefers-reduced-motion: reduce){*{animation-duration:1ms!important;transition-duration:1ms!important}}.stage{right:var(--surface-right);bottom:var(--surface-bottom)}.exhibition{position:fixed;inset:0;z-index:30;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;background:var(--ink);animation:fade-in .7s var(--ease)}.opening{min-height:92svh;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:clamp(16px,2.4vh,30px);padding:clamp(18px,3vw,44px)}.opening-image{position:relative;display:block;min-height:0;padding:0;border:0;background:none;cursor:pointer;appearance:none}.opening-image .work-image{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;background:none}.opening-words{display:grid;justify-items:center;text-align:center;gap:10px;padding-bottom:clamp(4px,1.4vh,18px)}.opening-words h1{margin:0;font-family:var(--display);font-size:clamp(20px,2.4vw,30px);font-weight:300;letter-spacing:.4em;text-indent:.4em;color:var(--text)}.promise{margin:0;max-width:58ch;font-family:var(--serif);font-size:clamp(14px,1.5vw,17px);line-height:1.5;color:var(--text-dim)}.opening-title{margin:4px 0 0;display:grid;gap:6px;max-width:62ch}.opening-title strong{font-family:var(--display);font-size:clamp(22px,3vw,34px);font-weight:400;letter-spacing:.02em;color:#fff}.opening-title span,.work-caption span,.work-note{font-family:var(--serif);font-size:14px;line-height:1.55;color:var(--text-dim)}.opening-actions,.exhibition-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:6px}.room-title{margin:clamp(40px,9vh,110px) 0 clamp(20px,4vh,44px);text-align:center;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--text-faint)}.room{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(56px,11vh,128px);justify-items:center;padding:0 clamp(18px,4vw,56px) clamp(40px,8vh,96px)}.work{display:grid;gap:16px;width:100%;min-width:0;max-width:980px;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer;appearance:none}.work-image{display:block;width:100%;height:auto;max-height:82svh;object-fit:contain;background:#000}.work-caption{display:grid;gap:4px;max-width:64ch}.work-caption strong,.work-view-words h1{font-family:var(--display);font-size:clamp(19px,2.2vw,25px);font-weight:400;letter-spacing:.02em;color:var(--text)}.work:hover .work-caption strong,.work:focus-visible .work-caption strong{color:#fff}.exhibition-foot{display:grid;justify-items:center;gap:18px;padding:0 clamp(18px,4vw,56px) clamp(40px,10vh,110px);border-top:1px solid var(--line);margin:0 clamp(18px,4vw,56px);padding-top:clamp(28px,5vh,56px);text-align:center}.exhibition-foot p{margin:0;max-width:58ch;font-family:var(--serif);font-size:13px;line-height:1.6;color:var(--text-faint)}.work-view{position:fixed;inset:0;z-index:30;overflow-y:auto;background:var(--ink);display:grid;grid-template-rows:minmax(0,1fr) auto;gap:clamp(18px,3vh,36px);padding:clamp(18px,3vw,44px);animation:fade-in .5s var(--ease)}.work-view-image{position:relative;min-height:0}.work-view-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.work-view-words{display:grid;justify-items:center;text-align:center;gap:12px;padding-bottom:clamp(8px,2vh,24px)}.work-view-words h1{margin:0;font-size:clamp(22px,3vw,32px)}.work-note{margin:0;max-width:64ch}.work-world,.work-hint{margin:0;font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint)}.work-hint{max-width:54ch;letter-spacing:.02em;text-transform:none;font-family:var(--serif);font-size:13px;margin-top:4px}.back{justify-self:center;padding:10px 14px;min-height:44px;border:0;background:none;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);cursor:pointer}.back:hover,.back:focus-visible{color:var(--text)}.stage{display:grid;place-items:center}.frame{position:relative;width:100%;height:100%}.stage.framed .frame{outline:1px solid var(--line)}.plate{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:1;transition:opacity .76s var(--ease)}.plate.lifted{opacity:0}.from-work{display:inline-flex;gap:2px;margin-left:14px}.from-work button{min-height:44px;padding:0 10px;border:0;background:none;font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);cursor:pointer}.from-work button:hover,.from-work button:focus-visible{color:var(--text)}@media (prefers-reduced-motion: reduce){.exhibition,.work-view{animation:none}.plate{transition:none}}@media (max-width: 640px),(orientation: portrait) and (max-width: 1180px),(orientation: landscape) and (max-height: 500px){.opening{grid-template-rows:minmax(0,.72fr) auto}.work-image{max-height:68svh}}.framing{position:fixed;inset:auto 0 0;z-index:40;display:flex;justify-content:center;padding:0 clamp(10px,2vw,24px) max(14px,env(safe-area-inset-bottom));pointer-events:none;animation:fade-in .32s var(--ease)}.framing-bar{pointer-events:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(10px,2vw,26px);padding:10px clamp(12px,2vw,20px);background:var(--ink-raise);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);max-width:100%}.framing-shapes{display:flex;gap:2px}.framing-shapes button{min-width:56px;min-height:44px;padding:0 10px;border:1px solid transparent;background:none;font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);cursor:pointer}.framing-shapes button:hover,.framing-shapes button:focus-visible{color:var(--text);background:var(--wash)}.framing-shapes button[aria-pressed=true]{color:var(--accent);border-color:var(--line-strong)}.framing-hint{margin:0;font-family:var(--serif);font-size:12px;line-height:1.4;color:var(--text-faint);max-width:34ch}.framing-size{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--text-faint)}.framing-actions{display:flex;flex-wrap:wrap;gap:8px}.stage.composing{bottom:clamp(86px,12vh,118px)}.stage.framed .frame:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:0 0 0 1px var(--line-strong)}@media (max-width: 640px),(orientation: portrait) and (max-width: 1180px),(orientation: landscape) and (max-height: 500px){.framing-hint{display:none}.framing-bar{gap:10px}}
