:root{--bg:#080807;--panel-hi:#1c1917;--panel-lo:#100e0d;--raise-hi:#262120;--raise-lo:#171413;--frame:#3a322b;--frame-soft:#262019;--ink:#ece3d2;--ink-dim:#a99c88;--ink-faint:#6d6355;--gold:#e2c07c;--gold-dim:#9b8353;--gold-line:#6f5c33;--disabled:#443c33;--grain:url(/ui/panel-slate.png);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--scale:1;--vh:calc(1vh / var(--scale));--vw:calc(1vw / var(--scale))}*{box-sizing:border-box}.prose-body,.navcol,.panel,.notice ul,.slots,.settings{scrollbar-width:thin;scrollbar-color:var(--gold-line) transparent;scrollbar-gutter:stable}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font:17px/1.6 Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif}.booting,.fatal{height:100%;color:var(--ink-dim);letter-spacing:.1em;place-items:center;font-size:18px;display:grid}.fatal{color:#d08a70;text-align:center;max-width:44ch;margin:0 auto;padding:18vh 24px 0}.fatal-note{color:var(--ink-dim);font-size:15px}.fatal button{font:inherit;cursor:pointer;margin-top:10px;padding:10px 24px}.surface{background:var(--grain), linear-gradient(180deg, #fff5e10d, #0000004d), linear-gradient(180deg, var(--panel-hi), var(--panel-lo));background-blend-mode:soft-light, normal, normal;border:1px solid var(--frame);background-size:512px 512px,auto,auto;box-shadow:inset 0 1px #fff0d617,inset 0 -18px 30px #00000059,0 2px 7px #0009}.plate{background:var(--grain), linear-gradient(180deg, #3a322a 0%, #2a231e 42%, #1c1815 100%);background-blend-mode:soft-light, normal;color:var(--ink);text-shadow:0 -1px #000000e6,0 1px #ffe4b412;background-size:512px 512px,auto;border:1px solid #090807;transition:filter .12s,color .12s;box-shadow:inset 0 1px #ffe8be33,inset 1px 0 #ffe8be12,inset -1px 0 #00000080,inset 0 -3px 5px #0009,0 2px 4px #000000a6}.plate:hover:not(:disabled){color:var(--gold);filter:brightness(1.22)saturate(1.1)}.plate:active:not(:disabled){background:var(--grain), linear-gradient(180deg, #17140f 0%, #241f1a 60%, #302823 100%);background-blend-mode:soft-light, normal;background-size:512px 512px,auto;transform:translateY(1px);box-shadow:inset 0 3px 6px #000c,inset 0 -1px #ffe8be1a}.plate:disabled{color:var(--disabled);text-shadow:0 -1px #000c;cursor:default;background:linear-gradient(#1a1715,#131110);border-color:#0c0b0a;box-shadow:inset 0 1px #ffe8be08}.app{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;max-width:1680px;height:100%;margin:0 auto;padding:10px;display:grid}.topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"title score tools""warn warn warn";align-items:center;padding:13px 22px;display:grid}.topbar h1{grid-area:title}.topbar .score{grid-area:score}.topbar-tools{grid-area:tools;justify-self:end;align-items:center;gap:8px;display:flex}.topbar h1{font-variant:small-caps;letter-spacing:.13em;color:var(--gold);text-shadow:0 1px 2px #000c;margin:0;font-size:30px;font-weight:500}.topbar .score{letter-spacing:.05em;color:var(--ink);text-align:center;white-space:nowrap;min-width:264px;font-size:23px}.gear{width:46px;height:46px;color:var(--ink-dim);cursor:pointer;justify-self:end;place-items:center;display:grid}.gear:disabled{color:var(--disabled);cursor:default}.stage{grid-template-columns:minmax(0,1fr) 330px;gap:10px;min-height:0;display:grid}.main{grid-template-rows:minmax(0,1fr) auto;gap:10px;min-height:0;display:grid}.viewport{border:1px solid var(--frame);background:#000;min-height:0;position:relative;overflow:clip;box-shadow:0 3px 14px #000000b3,inset 0 0 0 1px #000000e6}.viewport img{object-fit:cover;width:100%;height:100%;display:block}.scene-layer{position:absolute;inset:0}.scene-back{z-index:0}.scene-front{z-index:1;animation:.42s both scene-in}@keyframes scene-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.scene-front{animation:none}}.noscene{text-align:center;background:repeating-linear-gradient(45deg,#0e0c0b 0 14px,#131110 14px 28px);place-content:center;gap:12px;height:100%;min-height:300px;display:grid}.noscene-label{letter-spacing:.26em;text-transform:uppercase;color:#4b4239;font-size:12px}.noscene-room{color:var(--ink-dim);font-size:30px}.lower{grid-template-columns:224px minmax(0,1fr) 252px;height:272px;padding:0;display:grid}.lower>*{--pad-y:18px;--pad-x:22px;padding:var(--pad-y) var(--pad-x);min-width:0;overflow-y:auto}.lower>*+*{border-left:1px solid var(--frame-soft)}.notice{flex-direction:column;display:flex;overflow:hidden}.notice h3{color:var(--ink-dim);flex:none;margin:0 0 10px;font-size:18px;font-weight:400}.notice ul{flex:auto;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.notice li{--row-line:26px;color:var(--ink);font-size:18.5px;display:flex;position:relative}.notice li .rowbtn{font-size:inherit;gap:0;padding:6px 0 6px 18px;line-height:1.4;transition:color .12s}.notice li .rowbtn:hover,.notice li .rowbtn:focus-visible{color:var(--gold);background:0 0}.notice li.empty{padding:6px 0 6px 18px;line-height:1.4}.notice li:before{content:"•";height:var(--row-line);color:var(--gold-line);align-items:center;font-size:15px;line-height:1;display:flex;position:absolute;top:6px;left:4px}.notice li:hover:not(:has(.rowbtn:disabled)){color:var(--gold)}.notice li:hover:not(:has(.rowbtn:disabled)):before{color:var(--gold)}.notice li:has(.rowbtn:disabled){cursor:default}.notice li.scenery{color:var(--ink-dim)}.notice li.empty,.notice li.empty:hover{color:var(--ink-faint);cursor:default}.prose{grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden;container-type:inline-size}.prose-scroll{min-height:0;position:relative}.prose-body{height:100%;overflow-y:auto}.prose-head.past h2{color:var(--ink-dim)}.prose-head{z-index:1;background:var(--panel-hi);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;margin:-18px -22px 14px;padding:18px 22px 8px;display:grid;position:sticky;top:-18px;box-shadow:0 6px 10px -8px #000000e6}.prose-head h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.turnnav{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.turnnav>span{text-align:center;min-width:56px}.turnnav button{font:inherit;cursor:pointer;padding:6px 11px;font-size:11px;line-height:1}.turnnav button:disabled{opacity:.4;cursor:default}.more-below{text-align:center;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dim);background:linear-gradient(to top, var(--panel-hi) 60%, #1c191700);pointer-events:none;padding:13px 0 2px;font-size:10px;position:absolute;bottom:0;left:0;right:0}.prose p.k-echo{color:var(--ink-faint);font-style:italic}.prose p.k-aside{color:var(--gold-dim);margin-top:4px;font-size:12.5px;font-style:italic}.prose h2{text-align:center;font-variant:small-caps;letter-spacing:.18em;color:var(--gold);text-shadow:0 1px 2px #000c;margin:0 0 14px;font-size:24px;font-weight:500}@container (width<=420px){.prose-head h2{letter-spacing:.06em}}@container (width<=340px){.prose-head h2{font-size:21px}.turnnav>span{display:none}}.prose p{white-space:pre-wrap;color:var(--ink);margin:0;font-size:17.5px;line-height:1.68}.navcol{flex-direction:column;gap:8px;display:flex}.compass{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.dir-note{display:block}.dir-note>.dir{width:100%}.navcol:has(.getup) .compass{gap:5px}.navcol:has(.getup) button.dir{padding:9px 4px}.navcol:has(.getup) .updown .dir{padding:8px 2px}.updown{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.updown .dir{letter-spacing:.06em;padding:11px 2px;font-size:13px}button.dir{font:inherit;letter-spacing:.1em;cursor:pointer;padding:13px 4px;font-size:17px}.hub{color:var(--gold-line);place-items:center;font-size:20px;display:grid}.rail{grid-template-rows:minmax(0, fit-content(64%)) minmax(0, 1fr);gap:10px;min-height:0;display:grid}.panel{min-height:0;padding:14px 0 8px;overflow-y:auto}.panel h2{text-align:center;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);text-shadow:0 1px 2px #000c;margin:0 0 6px;font-size:16px;font-weight:500}.panel ul{margin:0;padding:0;list-style:none}.panel li{border-top:1px solid var(--frame-soft);align-items:stretch;font-size:20px;display:flex}.rowbtn{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:16px;padding:12px 18px;transition:background .12s,color .12s;display:flex}.rowbtn:hover,.rowbtn:focus-visible{color:var(--gold);background:#e2c07c12}.rowbtn:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}.panel li.empty{color:var(--ink-faint);background:0 0;padding:12px 18px;font-size:17px}.glyph{flex:none;place-items:center;width:52px;display:inline-grid}.bottombar{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.prompt{align-items:center;gap:14px;padding:13px 20px;display:flex}.caret{color:var(--gold);font-size:24px;line-height:1}.prompt input{border:1px solid var(--frame-soft);min-width:0;color:var(--ink);font:inherit;background:#0b0a09;outline:none;flex:1;padding:13px 16px;font-size:18px;box-shadow:inset 0 2px 5px #0009}.prompt input::placeholder{color:var(--ink-faint);font-style:italic}.prompt input:focus{border-color:var(--gold-line)}.enter{font:inherit;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;flex:none;padding:15px 28px;font-size:14px}.actions{grid-auto-flow:column;gap:10px;display:grid}.actions button{width:104px;color:var(--ink-dim);font:inherit;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;align-content:center;justify-items:center;gap:5px;padding:12px 4px;font-size:12px;transition:color .12s,border-color .12s;display:grid}:root[data-layout=mid],:root[data-layout=mid] body,:root[data-layout=mid] #root{height:auto}:root[data-layout=mid] .app{height:auto;padding-bottom:200px;display:block}:root[data-layout=mid] .stage,:root[data-layout=mid] .main{display:block}:root[data-layout=mid] .viewport{aspect-ratio:auto;height:min(calc(56.25 * var(--vw)), max(120px, calc(100 * var(--vh) - 590px)));min-height:0;margin-bottom:10px}:root[data-layout=mid] .noscene{min-height:0}:root[data-layout=mid] .lower{grid-template-columns:200px minmax(0,1fr) 230px;margin-bottom:10px}:root[data-layout=mid] .topbar h1{font-size:clamp(16px, calc(2.4 * var(--vw)), 23px);letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}:root[data-layout=mid] .rail{grid-template-rows:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}:root[data-layout=mid] .bottombar{z-index:15;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 78%, transparent);grid-template-columns:minmax(360px,1fr) auto;align-items:center;gap:8px;position:fixed;bottom:0;left:0;right:0}:root[data-layout=mid] .actions{grid-auto-columns:minmax(0,104px);grid-auto-flow:column;gap:10px}:root[data-layout=mid] .actions button{width:auto;padding:12px 4px}:root[data-layout=phone],:root[data-layout=phone] body,:root[data-layout=phone] #root{height:auto}:root[data-layout=phone] .app{height:auto;padding:8px 8px 168px;display:block}:root[data-layout=phone] .topbar{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin-bottom:8px;padding:7px 10px}:root[data-layout=phone] .topbar h1{letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}:root[data-layout=phone] .topbar .score{white-space:nowrap;justify-self:end;min-width:0;font-size:13px}:root[data-layout=phone] .warning{height:16px;font-size:12px;line-height:16px}:root[data-layout=phone] .prose-head{margin-bottom:8px;padding-bottom:4px}:root[data-layout=phone] .prose h2{margin-bottom:8px}:root[data-layout=phone] .reread{padding-top:8px;font-size:13px}:root[data-layout=phone] .topbar .score .turns{margin-left:6px}:root[data-layout=phone] .gear{width:32px;height:32px}:root[data-layout=phone] .stage,:root[data-layout=phone] .main{display:block}:root[data-layout=phone] .viewport{aspect-ratio:auto;height:min(calc(56.25 * var(--vw)), calc(14 * var(--vh)));min-height:0;margin-bottom:8px}:root[data-layout=phone] .noscene{min-height:0}:root[data-layout=phone] .noscene-room{font-size:22px}:root[data-layout=phone] .lower{flex-direction:column;height:auto;margin-bottom:8px;display:flex}:root[data-layout=phone] .prose{order:1}:root[data-layout=phone] .navcol{order:2}:root[data-layout=phone] .notice{order:3}:root[data-layout=phone] .prose{height:max(170px, calc(23 * var(--vh)))}:root[data-layout=phone] .lower>*{--pad-y:14px;--pad-x:16px;padding:var(--pad-y) var(--pad-x)}:root[data-layout=phone] .lower>*+*{border-left:0;border-top:1px solid var(--frame-soft)}:root[data-layout=phone] .prose h2{font-size:21px}:root[data-layout=phone] .prose p{font-size:16.5px}:root[data-layout=phone] .compass,:root[data-layout=phone] .updown{gap:7px}:root[data-layout=phone] button.dir{padding:10px 4px;font-size:16px}:root[data-layout=phone] .updown .dir{padding:13px 2px;font-size:12px}:root[data-layout=phone] .rail{grid-template-rows:auto auto;gap:8px}:root[data-layout=phone] .panel li{padding:11px 14px;font-size:17px}:root[data-layout=phone] .glyph{width:42px}:root[data-layout=phone] .bottombar{z-index:15;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 72%, transparent);grid-template-columns:1fr;gap:6px;position:fixed;bottom:0;left:0;right:0}:root[data-layout=phone] .prompt{gap:8px;padding:8px 10px}:root[data-layout=phone] .prompt input{padding:11px 12px;font-size:16px}:root[data-layout=phone] .enter{letter-spacing:.12em;padding:12px 16px;font-size:12px}:root[data-layout=phone] .actions{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:5px}:root[data-layout=phone] .actions button{letter-spacing:.08em;width:auto;padding:8px 2px;font-size:10px}:root[data-layout=phone] .intro,:root[data-layout=phone] .slots,:root[data-layout=phone] .mapwin,:root[data-layout=phone] .settings{width:100%;max-width:none;max-height:calc(100 * var(--vh));border-left:0;border-right:0}:root[data-layout=phone] .intro-body{padding:4px 20px 8px}:root[data-layout=phone] .intro-body p{font-size:16.5px}:root[data-layout=phone] .intro-art h1{font-size:30px}:root[data-layout=phone] .intro-foot{flex-direction:column;align-items:stretch;gap:12px;padding:12px 20px 18px}:root[data-layout=phone] .intro-begin{width:100%}:root[data-layout=phone] .slots{padding:18px 16px}:root[data-layout=phone] .objmenu{min-width:168px}.icon-art{object-fit:contain;display:block}button.dir.barred:not(:disabled){color:var(--gold-dim);border-color:var(--gold-line);box-shadow:inset 0 1px #ffe8be24,inset 0 0 0 1px #9b835338,inset 0 -3px 5px #0009,0 2px 4px #000000a6}button.dir.barred:not(:disabled):hover{color:var(--gold)}button:disabled .icon-art,button:disabled img.icon-art,.gear:disabled .icon-art{filter:grayscale()brightness(.65);opacity:.4}:root{--plate-inset:24;--plate-edge:16px}.has-plates .plate,.has-plates .plate:disabled{box-shadow:none;border:0;border-image-slice:var(--plate-inset) fill;border-image-width:var(--plate-edge);filter:none;background:0 0;border-image-source:url(/ui/plates/plate-idle.png);border-image-repeat:stretch}.has-plates .plate:hover:not(:disabled){filter:none;border-image-source:url(/ui/plates/plate-hover.png)}.has-plates .plate:active:not(:disabled){border-image-source:url(/ui/plates/plate-press.png);transform:translateY(1px)}.has-plates .plate:disabled{border-image-source:url(/ui/plates/plate-dead.png)}.has-plates .actions button,.has-plates .enter{--plate-edge:14px}.has-plates .compass .dir{--plate-edge:12px}.has-plates .updown .dir{--plate-edge:7px}.has-plates .gear{--plate-edge:10px}.has-plates .set-scale{--plate-edge:9px}.has-plates .set-toggle,.has-plates .set-close{--plate-edge:12px}.has-plates .updown .dir{letter-spacing:.02em;padding:11px 1px;font-size:10px}.has-plates .actions button{gap:3px}.has-plates button.dir.barred:not(:disabled){box-shadow:none;border-color:#0000}.scrim{z-index:20;background:#000000b8;place-items:center;display:grid;position:fixed;inset:0}.scrim.bare{z-index:29;background:0 0;display:block}.slots{width:min(620px, calc(92 * var(--vw)));max-height:calc(86 * var(--vh));padding:24px 26px;overflow-y:auto}.slots h2,.settings h2{text-align:center;font-variant:small-caps;letter-spacing:.2em;color:var(--gold);margin:0 0 18px;font-size:22px;font-weight:500}.slots ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.slots li{align-items:stretch;gap:8px;display:flex}button.slot{font:inherit;text-align:left;cursor:pointer;flex:1;align-items:center;gap:18px;padding:14px 18px;display:flex}button.slot:disabled{cursor:default}.slot-n{color:var(--gold-dim);text-align:center;flex:none;width:26px;font-size:24px}.slot-body{gap:3px;min-width:0;display:grid}.slot-name{color:var(--ink);font-size:18px}.slot-name.faint{color:var(--ink-faint);font-style:italic}.slot-meta{color:var(--ink-dim);font-size:14px}.slot-del{border:1px solid var(--frame-soft);width:44px;color:var(--ink-faint);cursor:pointer;background:0 0;flex:none;font-size:22px;line-height:1}.slot-del:hover{color:#d08a70;border-color:#6b4034}li.slot-confirm{border:1px solid var(--gold-line);background:#e2c07c0d;align-items:center;gap:10px;padding:12px 16px;display:flex}li.slot-confirm .slot-body{flex:auto}li.slot-confirm .slot-name{color:var(--gold)}button.slot-yes,button.slot-no{font:inherit;cursor:pointer;flex:none;padding:8px 16px;font-size:15px}button.slot-yes{color:#e0a487}.ending{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;padding:12px 18px;display:flex}.ending p{color:var(--ink-dim);margin:0;font-size:15px}.ending strong{color:var(--gold);font-weight:500}.ending-acts{gap:8px;display:flex}.ending-acts .plate{font:inherit;cursor:pointer;grid-auto-flow:column;align-items:center;gap:8px;padding:9px 16px;font-size:14px;display:grid}:root[data-layout=phone] .ending{text-align:center;flex-direction:column;align-items:stretch;gap:10px;padding:10px 12px}:root[data-layout=phone] .ending p{font-size:13.5px}:root[data-layout=phone] .ending-acts{flex-wrap:wrap;justify-content:center;gap:6px}:root[data-layout=phone] .ending-acts .plate{gap:5px;padding:8px 10px;font-size:12.5px}.intro.chooser{width:min(640px, calc(94 * var(--vw)));max-height:calc(92 * var(--vh));padding:30px 34px 26px;display:block;overflow-y:auto}.intro.chooser h1{text-align:center;font-variant:small-caps;letter-spacing:.2em;color:var(--gold);text-shadow:0 2px 12px #000,0 1px 2px #000;margin:0 0 18px;font-size:34px;font-weight:500}.chooser p{margin:0 0 14px;line-height:1.55}.chooser code{color:var(--gold-dim);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92em}.dropzone{border:1px dashed var(--gold-line);text-align:center;border-radius:3px;justify-items:center;gap:10px;margin:18px 0 6px;padding:26px 18px;transition:background .12s,border-color .12s;display:grid}.dropzone.over{border-color:var(--gold);background:#e2c07c12}.dropzone p{color:var(--ink-dim);margin:0}.dropzone .plate{font:inherit;cursor:pointer;padding:9px 20px;font-size:15px}.dropzone input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.chooser-note{color:#c08a4a;margin:12px 0 0;font-size:14px;font-style:italic}.chooser-help{color:var(--ink-dim);margin:14px 0 0;font-size:14px}.chooser-help summary{cursor:pointer;color:var(--gold-dim);-webkit-text-decoration:underline dotted var(--gold-line);text-decoration:underline dotted var(--gold-line);text-underline-offset:4px}.chooser-help summary:hover{color:var(--gold)}.chooser-help p{margin:10px 0 0;line-height:1.5}.chooser-foot{border-top:1px solid var(--frame-soft);color:var(--ink-faint);margin:18px 0 0;padding-top:14px;font-size:13px}.set-scrim{z-index:25}.settings{width:min(660px, calc(94 * var(--vw)));max-height:calc(88 * var(--vh));padding:24px 28px 18px;overflow-y:auto}.set-block+.set-block{border-top:1px solid var(--frame-soft);margin-top:18px;padding-top:16px}.set-block h3{font-variant:small-caps;letter-spacing:.18em;color:var(--gold-dim);margin:0 0 10px;font-size:15px;font-weight:500}.set-note{color:var(--ink-dim);margin:0 0 12px;font-size:14.5px;line-height:1.55}.set-scales{flex-wrap:wrap;gap:8px;display:flex}button.set-scale{font:inherit;cursor:pointer;flex:108px;gap:2px;padding:10px 6px;display:grid}.set-scale-n{font-size:17px}.set-scale-px{color:var(--ink-dim);letter-spacing:.04em;font-size:12.5px}button.set-scale.on{color:var(--gold);border-color:var(--gold-line)}button.set-scale.on .set-scale-px{color:var(--gold-dim)}.set-row{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;font-size:16.5px;display:flex}button.set-toggle{font:inherit;cursor:pointer;min-width:84px;padding:7px 22px}.set-slider{grid-template-columns:88px minmax(0,1fr) 52px;align-items:center;gap:14px;padding:7px 0;font-size:16.5px;display:grid}.set-slider input[type=range]{accent-color:var(--gold-dim);cursor:pointer;width:100%;height:20px}.set-slider input[type=range]:disabled{cursor:default;opacity:.4}.set-val{color:var(--ink-dim);text-align:right;font-variant-numeric:tabular-nums;font-size:15px}.set-credits{grid-template-columns:116px minmax(0,1fr);gap:9px 16px;margin:0;display:grid}.set-credits dt{color:var(--gold-dim);font-variant:small-caps;letter-spacing:.08em;font-size:15px}.set-credits dd{color:var(--ink-dim);margin:0;font-size:14.5px;line-height:1.55}.set-foot{z-index:1;background:var(--panel-lo);justify-content:center;margin-top:18px;padding:14px 0 18px;display:flex;position:sticky;bottom:-18px}.set-foot:before{content:"";background:linear-gradient(to top, var(--panel-lo), #100e0d00);pointer-events:none;height:20px;position:absolute;bottom:100%;left:0;right:0}.intro-gear{z-index:1;width:40px;height:40px;position:absolute;top:12px;right:12px}.has-plates .intro-gear{--plate-edge:9px}button.set-close{font:inherit;cursor:pointer;padding:9px 34px}:root[data-layout=phone] .settings{padding:18px 16px 16px}:root[data-layout=phone] .set-slider{grid-template-columns:72px minmax(0,1fr) 46px;gap:10px}:root[data-layout=phone] .set-credits{grid-template-columns:1fr;gap:3px 0}:root[data-layout=phone] .set-credits dd{margin-bottom:8px}.slots-note{color:var(--ink-faint);text-align:center;margin:16px 0 14px;font-size:14px;font-style:italic}.slots-close{font:inherit;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;margin:0 auto;padding:11px 30px;font-size:13px;display:block}.hotspot-layer{pointer-events:none;z-index:2;position:absolute;inset:0}.hotspot-layer.placing{pointer-events:auto;cursor:crosshair}.hotspot{pointer-events:auto;cursor:pointer;background:0 0;border:0;border-radius:50%;height:0;padding:0;transition:background .14s,box-shadow .14s;position:absolute;transform:translate(-50%,-50%)}.hotspot:hover{background:radial-gradient(circle,#e2c07c38 0%,#e2c07c12 55%,#0000 72%);box-shadow:inset 0 0 0 1px #e2c07c80}.dark-scene{background:radial-gradient(#0a0908 0%,#050404 70%);place-content:center;height:100%;min-height:300px;display:grid}.dark-label{letter-spacing:.3em;text-transform:uppercase;color:#2a2420;font-size:12px}.intro-actions{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:10px;display:flex}.intro-confirm span{text-align:center;color:var(--gold-dim);flex:100%;font-size:13px;font-style:italic}.intro-resume-wrap{flex-direction:column;align-items:center;gap:5px;display:flex}.intro-resume{padding-left:30px;padding-right:30px}.intro-resume-note{letter-spacing:.1em;color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;max-width:32ch;font-size:11px;overflow:hidden}.turns{color:var(--ink-dim);letter-spacing:.06em;margin-left:18px;font-size:15px}.warning{color:#c08a4a;text-align:center;white-space:nowrap;text-overflow:ellipsis;grid-area:warn;height:19px;margin-top:2px;font-size:14px;font-style:italic;line-height:19px;display:block;overflow:hidden}.toast{z-index:40;border:1px solid var(--gold-line);color:var(--gold);letter-spacing:.1em;text-transform:uppercase;background:#120f0df5;padding:10px 20px;font-size:14px;position:fixed;bottom:96px;left:22px;box-shadow:0 6px 20px #0009}.getup{letter-spacing:.14em;text-transform:uppercase;width:100%;margin-top:8px;padding:10px 6px;font-size:12px}.hotspot-label{white-space:nowrap;border:1px solid var(--gold-line);color:var(--gold);letter-spacing:.04em;opacity:0;pointer-events:none;background:#080807e6;padding:3px 9px;font-size:14px;transition:opacity .14s;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label{opacity:1}.hotspot.shown{background:#e2c07c1a;box-shadow:inset 0 0 0 1px #e2c07c8c}.hotspot.shown .hotspot-label{opacity:.75}.hotspot.selected{box-shadow:inset 0 0 0 2px var(--gold);background:#e2c07c38}.hotspot.selected .hotspot-label{opacity:1}.hotspot-tools{border:1px solid var(--gold-line);z-index:5;background:#080807ed;gap:9px;width:min(430px,100% - 20px);padding:12px 14px;font-size:14px;display:grid;position:absolute;bottom:10px;left:10px}.ht-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ht-row strong{color:var(--gold);letter-spacing:.06em;font-weight:500}.ht-count,.ht-hint,.ht-none{color:var(--ink-faint);font-style:italic}.ht-objects{flex-wrap:wrap;gap:6px;display:flex}.ht-obj{border:1px solid var(--frame);color:var(--ink-dim);font:inherit;cursor:pointer;background:#17140f;padding:5px 10px;font-size:13px}.ht-obj:hover{border-color:var(--gold-line);color:var(--gold)}.ht-obj.armed{border-color:var(--gold);color:var(--gold);background:#241f14}.ht-obj.done{color:var(--gold-dim);border-color:var(--gold-line)}.ht-save,.ht-del{border:1px solid var(--frame);color:var(--ink);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#17140f;padding:7px 16px;font-size:13px}.ht-save:hover:not(:disabled){border-color:var(--gold-line);color:var(--gold)}.ht-del:hover{color:#d08a70;border-color:#6b4034}.panel li.unmemorised{opacity:.45}.panel li.unmemorised .rowbtn:disabled{cursor:default}.panel li.unmemorised .rowbtn:disabled:hover{color:inherit;background:0 0}.panel li.unmemorised .glyph{filter:grayscale(.85)}.spell-count,.spell-count{color:var(--gold);margin-left:auto}.spell-need{font:inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;flex:none;align-self:center;margin-right:14px;padding:6px 12px;font-size:11px}.spell-need:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.spell-need:disabled{cursor:default;opacity:.5}.intro-scrim{background:#040403f5}.intro{width:min(880px, calc(94 * var(--vw)));max-height:calc(92 * var(--vh));grid-template-rows:auto minmax(0,1fr) auto;padding:0;display:grid;overflow:hidden}.intro-art{position:relative}.intro-art>img{width:100%;height:clamp(180px, calc(30 * var(--vh)), 300px);object-fit:cover;display:block;-webkit-mask-image:linear-gradient(#000 55%,#0000 100%);mask-image:linear-gradient(#000 55%,#0000 100%)}.intro-art h1{text-align:center;font-variant:small-caps;letter-spacing:.24em;color:var(--gold);text-shadow:0 2px 12px #000,0 1px 2px #000;margin:0;font-size:44px;font-weight:500;position:absolute;bottom:6px;left:0;right:0}.intro-body{padding:4px 42px 8px;overflow-y:auto}.intro-body p{color:var(--ink);margin:0 0 15px;font-size:17.5px;line-height:1.72}.intro-body p:first-child{color:#f3ecdd;font-size:19px}.intro-foot{border-top:1px solid var(--frame-soft);justify-content:space-between;align-items:center;gap:20px;padding:14px 42px 20px;display:flex}.intro-banner{gap:2px;display:grid}.intro-banner span{color:var(--ink-faint);letter-spacing:.04em;font-size:12px}.intro-banner span:first-child{color:var(--gold-dim);letter-spacing:.18em}.intro-begin{font:inherit;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;flex:none;padding:14px 42px;font-size:14px}.interlude .intro-art h1{letter-spacing:.2em;color:#e8c27f;font-size:34px}.interlude .intro-body p.cause{color:#f0e6d4;border-bottom:1px solid var(--frame-soft);margin-bottom:20px;padding-bottom:16px;font-size:19px}.prose p.k-event,.prose p.k-scene{color:var(--ink)}.prose p.k-parser{color:var(--ink-dim);border-left:2px solid var(--frame);padding-left:14px;font-style:italic}.prose p+p{margin-top:11px}.reread{text-align:left;margin:0 calc(-1 * var(--pad-x)) calc(-1 * var(--pad-y));padding:12px var(--pad-x) var(--pad-y);background:linear-gradient(to top, var(--panel-hi) 72%, #1c191700);color:var(--gold-dim);font:inherit;cursor:pointer;-webkit-text-decoration:underline dotted var(--gold-line);text-decoration:underline dotted var(--gold-line);text-underline-offset:4px;border:0;font-size:14px;font-style:italic}.reread:hover{color:var(--gold);-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.objmenu{z-index:30;min-width:196px;padding:8px 0;animation:.12s both objmenu-in;display:grid;position:fixed}@keyframes objmenu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.objmenu{animation:none}}.objmenu-title{border-bottom:1px solid var(--frame-soft);color:var(--gold);font-variant:small-caps;letter-spacing:.12em;margin-bottom:5px;padding:4px 16px 9px;font-size:15px}.objmenu button{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 16px;font-size:15px}.objmenu button:hover:not(:disabled){color:var(--gold);background:#e2c07c1a}.objmenu button:disabled{color:var(--ink-faint);cursor:default;font-style:italic}.objmenu-more.open{color:var(--gold)}.objmenu-more:after{content:" ▸";color:var(--gold-line)}.objmenu-more.open:after{content:" ▾"}.objmenu-spells{border-top:1px solid var(--frame-soft);margin-top:4px;padding-top:4px;display:grid}.objmenu-spells button{color:var(--ink-dim);padding-left:32px;font-size:14px}.mapwin{width:min(880px, calc(94 * var(--vw)));max-height:calc(88 * var(--vh));grid-template-rows:auto minmax(0,1fr) auto;padding:20px 0 0;display:grid}.mapwin h2{text-align:center;font-variant:small-caps;letter-spacing:.2em;color:var(--gold);margin:0 0 14px;font-size:20px;font-weight:500}.mapwin-scroll{-webkit-user-select:none;user-select:none;padding:0 20px;overflow:auto}.mapwin-scroll svg{margin:0 auto;display:block}.map-edge{stroke:var(--gold-line);stroke-width:1.5px}.map-edge.vertical{stroke-dasharray:5 4;opacity:.8}.map-room rect{fill:#16130f;stroke:var(--frame);stroke-width:1.5px}.map-room.current rect{fill:#3a2f18;stroke:var(--gold);stroke-width:2px}.map-label{fill:var(--ink-dim);text-anchor:middle;font-family:inherit;font-size:13px}.map-room.current .map-label{fill:var(--gold)}.map-vert{fill:var(--gold-dim);text-anchor:end;font-size:11px}.map-qualifier{fill:var(--ink-faint);text-anchor:middle;letter-spacing:.04em;font-size:10px}.mapwin-foot{border-top:1px solid var(--frame-soft);justify-content:space-between;align-items:center;gap:18px;padding:14px 24px 18px;display:flex}.mapwin-note{color:var(--ink-faint);font-size:13px;font-style:italic}.mapwin-close{font:inherit;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;padding:11px 28px;font-size:13px}
