:root{--font:"Bahnschrift", "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, sans-serif;--ink:#fdf6ec;--ink-soft:#d9cfe6;--muted:#a99cbf;--panel:#1e1734a3;--panel-strong:#18122cd1;--edge:#ffe6cd2e;--amber:#ffb45c;--coral:#ff6b4a;--aether:#57f0dc;--shadow:0 1.2rem 3.5rem #0a061873;color:var(--ink);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#1b1730}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none;min-width:320px}button{font:inherit;color:inherit}canvas[data-benchmark=game-canvas]{outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}.ui{pointer-events:none;font-size:clamp(13px,1.05vw + .35vh,17px);position:fixed;inset:0}.ui button,.ui input,.ui label,.ui summary{pointer-events:auto}.ui [hidden]{display:none!important}kbd{min-width:1.75em;height:1.75em;font-family:var(--font);letter-spacing:.02em;color:var(--ink);background:#fff8f01a;border:1px solid #ffecd652;border-bottom-width:3px;border-radius:.42em;place-items:center;padding:0 .45em;font-size:.78em;font-weight:600;display:inline-grid}kbd.wide{min-width:3.6em}svg{fill:currentColor;width:1.1em;height:1.1em}.kicker{color:var(--amber);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:.74em;font-weight:600}.tagline{color:var(--ink-soft);max-width:32em;margin:0;line-height:1.55}.btn{border:1px solid var(--edge);letter-spacing:.04em;cursor:pointer;background:#fff4e814;border-radius:999px;justify-content:center;align-items:center;gap:.6em;min-height:2.9em;padding:.7em 1.5em;font-weight:600;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s;display:inline-flex}.btn:hover,.btn:focus-visible{background:#fff4e829;border-color:#ffd6aa99;outline:none;transform:translateY(-1px)}.btn.primary{color:#2a1426;background:linear-gradient(135deg,#ffbd6b,#ff7a52);border-color:#0000;box-shadow:0 .6em 1.8em #ff785059}.btn.primary:hover,.btn.primary:focus-visible{background:linear-gradient(135deg,#ffc982,#ff8a62);box-shadow:0 .8em 2.2em #ff8c5a80,0 0 0 3px #ffd6aa73}.btn.ghost{background:0 0}.btn.small{min-height:2.2em;padding:.4em 1em;font-size:.86em}.icon-btn{border:1px solid var(--edge);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;border-radius:.8em;place-items:center;width:2.5em;height:2.5em;transition:background .15s,transform .15s,border-color .15s;display:grid}.icon-btn:hover,.icon-btn:focus-visible{background:#3c2e60cc;border-color:#ffd6aa8c;outline:none;transform:translateY(-1px)}.icon-btn.off{color:var(--muted)}.title-screen{opacity:0;visibility:hidden;background:linear-gradient(90deg,#16102cd1 0%,#16102c8c 38%,#16102c00 70%);align-items:center;padding:clamp(1.2rem,5vw,5rem);transition:opacity .5s,visibility 0s linear .5s;display:flex;position:absolute;inset:0}.title-card{justify-items:start;gap:clamp(.6rem,1.6vh,1.1rem);max-width:34em;transition:transform .6s cubic-bezier(.2,.8,.2,1);display:grid;transform:translateY(12px)}.title-card h1{letter-spacing:-.02em;text-shadow:0 .12em .6em #280a3273;margin:0;font-size:clamp(2.6rem,6.4vw,5.6rem);font-weight:700;line-height:.92}.title-card h1 span{background:linear-gradient(100deg,#ffd18a,#ff8a62 60%,#ff6b8b);color:#0000;-webkit-background-clip:text;background-clip:text}.emblem{width:clamp(3.2rem,6vw,5rem);color:var(--amber);filter:drop-shadow(0 0 .7em #ffaa5a8c)}.emblem svg{width:100%;height:auto;animation:24s linear infinite emblem-spin}.emblem .node{fill:var(--aether);animation:2.4s ease-in-out infinite node-pulse}.emblem .n2{fill:#ffa040;animation-delay:.8s}.emblem .n3{fill:#c6a4ff;animation-delay:1.6s}@keyframes emblem-spin{to{transform:rotate(360deg)}}@keyframes node-pulse{50%{opacity:.35}}.controls{border:1px solid var(--edge);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ink-soft);border-radius:1em;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55em 1.6em;margin:.4em 0 0;padding:.9em 1.1em;font-size:.86em;list-style:none;display:grid}.controls li{flex-direction:column;gap:.3em;display:flex}.controls .keys{align-items:center;gap:.25em;display:flex}.controls i{color:var(--muted);margin-left:.4em;font-size:.85em;font-style:normal}.hud,.dash,.marker,.hint,.banner,.toast,.look-hint{opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s linear .3s}.hud{position:absolute;top:clamp(.8rem,2vh,1.4rem);left:clamp(.8rem,2vw,1.6rem)}.hud-left{justify-items:start;gap:.5em;display:grid}.beacon-track{border:1px solid var(--edge);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.9em;gap:.4em;padding:.45em .6em;display:flex}.beacon-pip{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-radius:.6em;align-items:center;gap:.35em;padding:.2em .55em .2em .35em;font-size:.8em;font-weight:600;transition:color .4s,background .4s;display:flex}.beacon-pip svg{fill:none;width:1.15em;height:1.15em;stroke:var(--beacon);stroke-width:2px;opacity:.7}.beacon-pip.lit{color:var(--ink);background:color-mix(in srgb, var(--beacon) 18%, transparent)}.beacon-pip.lit svg{fill:var(--beacon);opacity:1;filter:drop-shadow(0 0 .35em var(--beacon))}.beacon-pip.flare{animation:1.4s pip-flare}@keyframes pip-flare{0%{transform:scale(1)}20%{background:color-mix(in srgb, var(--beacon) 55%, transparent);transform:scale(1.35)}to{transform:scale(1)}}.checkpoint{letter-spacing:.06em;color:var(--ink-soft);background:#18122c75;border-radius:999px;align-items:center;gap:.5em;padding:.3em .75em;font-size:.8em;display:flex}.light-timer{color:#a6fff1;font-variant-numeric:tabular-nums;background:#18122ce0;border:1px solid #80e5da8c;border-radius:999px;align-items:center;gap:.7em;padding:.45em .75em;font-size:.8em;display:flex}.light-timer.warning{color:#ffd49f;border-color:#ffb25b}.light-bars{gap:.2em;display:flex}.light-bars i{background:currentColor;border-radius:1px;width:.3em;height:.9em}.light-bars i.spent{opacity:.15}.cp-dot{background:var(--amber);width:.55em;height:.55em;box-shadow:0 0 .6em var(--amber);border-radius:50%}.checkpoint.flare{animation:1.2s cp-flare}@keyframes cp-flare{20%{color:var(--ink);background:#ffaa5073}}.system{z-index:5;align-items:center;gap:.45em;display:flex;position:absolute;top:clamp(.8rem,2vh,1.4rem);right:clamp(.8rem,2vw,1.6rem)}.timer{border:1px solid var(--edge);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-variant-numeric:tabular-nums;letter-spacing:.06em;border-radius:.8em;padding:.45em .8em;font-weight:600}.timer-par{border-left:1px solid var(--edge);color:var(--muted);letter-spacing:.04em;margin-left:.6em;padding-left:.6em;font-size:.82em;font-weight:500}.dash{background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.16em;text-transform:uppercase;border:1px solid #57f0dc73;border-radius:999px;align-items:center;gap:.5em;padding:.5em .9em .5em .6em;font-size:.82em;font-weight:600;transition:opacity .3s,border-color .2s,color .2s;display:flex;position:absolute;bottom:clamp(.8rem,2.4vh,1.6rem);left:clamp(.8rem,2vw,1.6rem)}.dash-icon{width:1.9em;height:1.9em;color:var(--aether);filter:drop-shadow(0 0 .4em #57f0dcb3);background:radial-gradient(circle,#57f0dc73,#57f0dc14);border-radius:50%;place-items:center;transition:filter .2s,color .2s,background .2s;display:grid}.dash.spent{color:var(--muted);border-color:#ff785a59}.dash.spent .dash-icon{color:#8d7a8f;filter:none;background:#ffffff0f}.hint{border:1px solid var(--edge);background:var(--panel-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:normal;text-align:center;width:max-content;max-width:calc(100% - 2rem);color:var(--ink-soft);box-shadow:var(--shadow);border-radius:999px;padding:.65em 1.2em;font-size:.92em;position:absolute;bottom:clamp(4.5rem,8vh,5rem);left:50%;transform:translate(-50%,8px)}.ui[data-hint-raised] .hint{top:clamp(8.5rem,28vh,15rem);bottom:auto}.hint kbd{margin:0 .12em}.hint b{font-weight:700}.hint b.low{color:#ff6fb5}.hint b.high{color:#ffb347}.banner{text-align:center;text-shadow:0 .1em .8em #1e0a288c;justify-items:center;gap:.15em;display:grid;position:absolute;top:clamp(3.2rem,9vh,5.6rem);left:50%;transform:translate(-50%,-6px)}.banner .numeral{letter-spacing:.4em;color:var(--amber);font-size:.78em;font-weight:600}.banner .banner-title{letter-spacing:.08em;text-transform:uppercase;font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:600}.banner .banner-title:after{content:"";background:linear-gradient(90deg, transparent, var(--amber), transparent);width:0;height:2px;margin:.35em auto 0;transition:width .9s .15s;display:block}.banner .banner-detail{letter-spacing:.02em;max-width:min(32em,86vw);color:var(--ink-soft);text-shadow:none;background:#18122c9e;border-radius:999px;margin-top:.45em;padding:.45em 1.1em;font-size:clamp(.92rem,1.3vw,1.05rem)}.toast{border:1px solid color-mix(in srgb, var(--tone,var(--amber)) 55%, transparent);background:var(--panel-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);white-space:nowrap;border-radius:999px;padding:.5em 1.1em;font-size:.86em;font-weight:600;position:absolute;top:clamp(7.2rem,19vh,10.5rem);left:50%;transform:translate(-50%,6px)}.toast[data-tone=memory]{white-space:pre-line;text-align:center;text-transform:none;letter-spacing:.02em;--tone:#ffd98a;border-radius:1.1em;max-width:min(34em,88vw);line-height:1.45}.toast[data-tone=beacon]{box-shadow:0 0 1.6em color-mix(in srgb, var(--tone,var(--aether)) 45%, transparent)}.marker{will-change:transform;flex-direction:column;align-items:center;gap:.2em;width:6em;margin:-.9em 0 0 -3em;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.marker-gem{width:1.7em;height:1.7em;color:var(--marker,var(--aether));filter:drop-shadow(0 0 .45em var(--marker,var(--aether)));place-items:center;animation:1.6s ease-in-out infinite marker-bob;display:grid}.marker.edge .marker-gem{transform:rotate(var(--angle));animation:none}.marker.edge .marker-gem svg{clip-path:polygon(50% 0,100% 50%,50% 38%,0 50%)}.marker-text{letter-spacing:.08em;white-space:nowrap;text-transform:uppercase;color:var(--ink);text-shadow:0 0 .5em #140a28e6;background:#18122c8c;border-radius:999px;padding:.15em .6em;font-size:.7em;font-weight:600}@keyframes marker-bob{50%{transform:translateY(-3px)}}.look-hint{color:var(--ink-soft);white-space:nowrap;background:#18122c9e;border-radius:999px;padding:.45em 1em;font-size:.8em;position:absolute;bottom:clamp(.8rem,2.4vh,1.6rem);right:clamp(.8rem,2vw,1.6rem)}.pause-screen,.complete-screen{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;background:radial-gradient(circle at 50% 45%,#281c4673,#0e0a1cc7);place-items:center;padding:1rem;transition:opacity .35s,visibility 0s linear .35s;display:grid;position:absolute;inset:0}.panel{pointer-events:auto;border:1px solid var(--edge);background:var(--panel-strong);width:min(36em,100%);max-height:100%;box-shadow:var(--shadow);text-align:center;border-radius:1.4em;justify-items:center;gap:clamp(.5rem,1.6vh,1rem);padding:clamp(1.1rem,3.5vh,2.2rem) clamp(1.2rem,3vw,2.4rem);transition:transform .4s cubic-bezier(.2,.8,.2,1);display:grid;overflow:auto;transform:translateY(10px)scale(.98)}.panel.wide{width:min(40em,100%)}.panel h2{letter-spacing:.01em;margin:0;font-size:clamp(2rem,4.4vw,3.4rem);font-weight:700;line-height:1}.panel .controls{text-align:left;width:100%}.panel-actions{flex-wrap:wrap;justify-content:center;gap:.6em;display:flex}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6em;width:100%;margin:.2em 0;display:grid}.stats div{border:1px solid var(--edge);background:#fff4e80d;border-radius:.9em;padding:.7em .4em}.stats dt{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.7em}.stats dd{font-variant-numeric:tabular-nums;margin:.25em 0 0;font-size:1.35em;font-weight:700}.records,.save-state{font-variant-numeric:tabular-nums;margin:0;font-size:.9em}.save-state{color:var(--muted);font-size:.8em}.save-state[data-saved=false],.records.par[data-under=true]{color:var(--amber)}.emblem.lit{width:clamp(3rem,5vw,4.4rem)}.title-actions{flex-wrap:wrap;gap:.6em;display:flex}.continue-text{justify-items:start;line-height:1.15;display:grid}.continue-text small{letter-spacing:.02em;opacity:.78;font-variant-numeric:tabular-nums;font-size:.72em;font-weight:600}.notice{border:1px solid var(--edge);border-left:.3em solid var(--aether);background:var(--panel-strong);border-radius:.9em;gap:.5em;max-width:32em;padding:.75em 1em;font-size:.9em;line-height:1.45;display:grid}.notice[data-kind=warning]{border-left-color:var(--amber)}.notice[data-kind=update]{border-left-color:#ff6b8b}.notice p{margin:0}.notice-actions{gap:.5em;display:flex}.menu-panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;background:radial-gradient(circle at 50% 45%,#281c468c,#0e0a1cd6);place-items:center;padding:1rem;transition:opacity .25s,visibility 0s linear .25s;display:grid;position:absolute;inset:0}.ui[data-panel=settings] .settings-screen,.ui[data-panel=controls] .controls-screen,.ui[data-panel=credits] .credits-screen,.ui[data-panel=confirm] .confirm-screen{opacity:1;visibility:visible;transition:opacity .25s,visibility}.ui[data-panel=settings] .settings-screen .panel,.ui[data-panel=controls] .controls-screen .panel,.ui[data-panel=credits] .credits-screen .panel,.ui[data-panel=confirm] .confirm-screen .panel{transform:none}.ui[data-panel][data-screen=title] .title-screen,.ui[data-panel][data-screen=paused] .pause-screen,.ui[data-panel][data-screen=complete] .complete-screen{opacity:0;visibility:hidden}.menu-panel .panel{width:min(44em,100%)}.panel-note{max-width:36em;min-height:1.4em;color:var(--ink-soft);margin:0;font-size:.86em;line-height:1.45}.panel-note:empty{clip-path:inset(50%);width:1px;height:1px;min-height:0;position:absolute;overflow:hidden}.settings-groups{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8em;width:100%;display:grid}.settings-groups fieldset{border:1px solid var(--edge);background:#fff4e80a;border-radius:1em;grid-template-columns:max-content minmax(4em,1fr) minmax(3.4em,max-content);align-content:start;gap:.55em .6em;margin:0;padding:.7em .9em .9em;display:grid}.settings-groups legend{color:var(--amber);letter-spacing:.16em;text-transform:uppercase;padding:0 .4em;font-size:.74em;font-weight:700}.setting{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;font-size:.9em;line-height:1.3;display:grid}.setting.toggle{cursor:pointer;grid-template-columns:auto minmax(0,1fr);column-gap:.6em}.setting .setting-label{color:var(--ink-soft)}.setting output{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.settings-screen .panel{width:min(56em,100%)}.setting input[type=range]{accent-color:#ff9a62;width:100%;height:1.1em;margin:0}.setting input[type=checkbox]{accent-color:#ff9a62;width:1.15em;height:1.15em;margin:0}.setting input:focus-visible{outline-offset:3px;border-radius:.3em;outline:2px solid #ffd6aad9}.bindings{border-collapse:collapse;text-align:left;width:100%;font-size:.9em}.bindings th,.bindings td{border-bottom:1px solid #fff4e814;padding:.3em .4em}.bindings thead th{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.78em;font-weight:600}.bindings tbody th{color:var(--ink-soft);font-weight:500}.bind{border:1px solid var(--edge);cursor:pointer;background:#fff4e812;border-radius:.6em;min-width:7em;padding:.35em .8em;font-weight:600;transition:background .15s,border-color .15s}.bind:hover,.bind:focus-visible{background:#fff4e829;border-color:#ffd6aab3;outline:none}.bind.capturing{border-color:var(--amber);background:#ffaa5a38}.bindings .fixed{color:var(--muted)}.fatal-screen{background:radial-gradient(circle at 50% 40%,#3a2b63,#1b1730 70%);place-items:center;padding:1rem;font-size:clamp(13px,1.05vw + .35vh,17px);display:grid;position:fixed;inset:0}.fatal-screen .panel{transform:none}.fatal-screen p:not(.kicker){max-width:32em;color:var(--ink-soft);margin:0;line-height:1.5}.ui[data-screen=title] .title-screen,.ui[data-screen=paused] .pause-screen,.ui[data-screen=complete] .complete-screen{opacity:1;visibility:visible;transition:opacity .5s,visibility}.ui[data-screen=title] .title-card,.ui[data-screen=paused] .panel,.ui[data-screen=complete] .panel{transform:none}.ui[data-screen=playing] .hud,.ui[data-screen=paused] .hud,.ui[data-screen=playing] .dash,.ui[data-screen=playing] .marker.show,.ui[data-screen=playing] .hint.show,.ui[data-screen=playing] .banner.show,.ui[data-screen=playing] .toast.show,.ui[data-screen=playing] .look-hint.show{opacity:1;visibility:visible;transition:opacity .3s,visibility}.ui[data-screen=playing] .hint.show,.ui[data-screen=playing] .toast.show,.ui[data-screen=playing] .banner.show{transform:translate(-50%)}.ui[data-screen=playing] .banner.show .banner-title:after{width:100%}.ui[data-screen=title] .system .timer,.ui[data-screen=title] .system [data-benchmark-action=pause],.ui[data-screen=title] .system [data-benchmark-action=restart],.ui[data-screen=complete] .system [data-benchmark-action=pause]{display:none}.ui[data-screen=paused] .hud{opacity:.35}@media (max-height:640px){.controls{gap:.35em 1.2em;padding:.6em .9em;font-size:.8em}.title-card .tagline,.panel .controls,.title-card .controls{display:none}.menu-panel .panel{gap:.4em}.menu-panel h2{font-size:1.6rem}.banner{top:2.8rem}.toast{top:6rem}}@media (max-height:720px){.settings-groups{gap:.6em}.settings-groups fieldset{row-gap:.4em;padding:.5em .9em .7em}.panel[data-detail=records] .campaign-chapters{gap:.4em;padding-top:.4em}.panel[data-detail=records] .campaign-chapters article{gap:.15em;padding:.4em .7em}.panel[data-detail] .campaign-results,.panel[data-detail] .save-state{line-height:1.2}.panel[data-detail=records] .save-state{display:none}}@media (max-width:700px){.settings-groups{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.title-screen{background:linear-gradient(90deg,#16102cdb 0%,#16102ca8 60%,#16102c4d 100%)}.beacon-pip span{display:none}}@media (prefers-reduced-motion:reduce){.emblem svg,.marker-gem,.emblem .node{animation:none}}:root[data-reduced-effects] .emblem svg,:root[data-reduced-effects] .marker-gem,:root[data-reduced-effects] .emblem .node{animation:none}.ui[data-results=campaign] .complete-screen{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#0e0a1c1f,#0e0a1c61)}.ui[data-chain-view] .complete-screen{background:0 0}.chain-return{position:absolute;bottom:1.5rem;left:1.5rem}.ui[data-screen=complete] .system .timer{display:none}.campaign-results{gap:.75em;width:100%;display:grid}.campaign-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6em;margin:0;display:grid}.campaign-totals>div{border:1px solid var(--edge);background:#ffffff0a;border-radius:.9em;gap:.35em;padding:.8em .5em;display:grid}.campaign-totals dt,.campaign-totals small{color:var(--ink-soft);font-size:.78em}.campaign-totals dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.35em;font-weight:700}.campaign-breakdown,.campaign-selection,.credits-license{text-align:left;width:100%}.campaign-breakdown>summary,.campaign-selection>summary,.credits-license>summary{border:1px solid var(--edge);cursor:pointer;border-radius:.6em;padding:.5em .6em}.ui summary:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.campaign-chapters{gap:.85em;padding-top:.85em;display:grid}.campaign-chapters article{border:1px solid var(--edge);border-radius:.7em;gap:.45em;padding:.8em;display:grid}.campaign-chapters h3{margin:0;font-size:1em}.campaign-chapters ul{color:var(--ink-soft);gap:.35em;margin:0;padding:0;font-size:.85em;list-style:none;display:grid}.campaign-chapters li[data-found=false]{color:var(--amber)}.campaign-selection .panel-actions{margin-top:.7em}.panel[data-detail]>.emblem,.panel[data-detail]>.tagline,.panel[data-detail]>.stats,.panel[data-detail]>.records,.panel[data-detail] .campaign-totals,.panel[data-detail=records] .campaign-results>.records{display:none}.panel[data-detail] h2{font-size:clamp(1.5rem,3vw,2.3rem)}.panel[data-detail=records] .campaign-chapters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55em;padding-top:.55em}.panel[data-detail=records] .campaign-chapters article{gap:.25em;padding:.55em .7em}.panel[data-detail=records] .campaign-chapters h3{font-size:.92em}.panel[data-detail=records] .campaign-chapters .records{font-size:.78em}.panel[data-detail=records] .campaign-chapters ul{gap:.15em;font-size:.76em}@media (max-width:700px){.panel[data-detail=records] .campaign-chapters{grid-template-columns:minmax(0,1fr)}}.credits-copy{color:var(--ink-soft);margin:0;line-height:1.5}.credits-license pre{border:1px solid var(--edge);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:.7em;padding:.8em;font-size:.76em;line-height:1.5}.setting-help{color:var(--ink-soft);grid-column:1/-1;margin:.5em 0 0;font-size:.8em;line-height:1.45}.ui[data-stronger-markers=true] .marker-text{color:#fff8ed;background:#21162e;border:2px solid #fff0d8;font-weight:700}.ui[data-stronger-markers=true] .marker-gem{background:#21162e;border:2px solid #fff0d8;border-radius:.5em}:root{--panel:#14183ab3;--panel-strong:#10122edb;--edge:#c8e1ff38;--ink-line:#141238;--shadow:0 1.2rem 3.5rem #06081e80}.title-card h1{-webkit-text-stroke:.05em var(--ink-line);paint-order:stroke fill;text-shadow:.05em .07em 0 var(--ink-line), 0 .25em .9em #0a062873;font-style:italic}.title-card h1 span{background:linear-gradient(175deg,#fff3c4 8%,#ffbd5c 45%,#ff7a52 72%,#ff5f8f);-webkit-text-stroke:0;text-shadow:none;filter:drop-shadow(.028em 0 0 var(--ink-line)) drop-shadow(-.028em 0 0 var(--ink-line)) drop-shadow(0 .028em 0 var(--ink-line)) drop-shadow(0 -.028em 0 var(--ink-line)) drop-shadow(.04em .06em 0 var(--ink-line));-webkit-background-clip:text;background-clip:text;margin:0 -.12em;padding:0 .12em}.title-screen{background:linear-gradient(90deg,#0c0e2ed6 0%,#0e123885 36%,#0e123800 66%)}.kicker{text-shadow:0 1px 0 var(--ink-line)}.btn{isolation:isolate;background:0 0;border-color:#0000;position:relative;overflow:visible}.btn:before{content:"";z-index:-1;border:1px solid var(--edge);background:linear-gradient(#ffffff1f,#ffffff0a);border-top-color:#ffffff57;border-radius:.5em;transition:background .16s,border-color .16s,box-shadow .16s;position:absolute;inset:0;transform:skew(-12deg);box-shadow:inset 0 -.18em #0000002e}.btn:hover,.btn:focus-visible{background:0 0;border-color:#0000}.btn:hover:before,.btn:focus-visible:before{background:linear-gradient(#a0f0ff38,#57f0dc14);border-color:#a0f0ffb3}.btn:focus-visible:before{box-shadow:0 0 0 3px #57f0dc8c,inset 0 -.18em #0000002e}.btn.primary{box-shadow:none;color:#1c1030;background:0 0}.btn.primary:before{border:2px solid var(--ink-line);box-shadow:0 .35em 0 var(--ink-line), 0 .8em 1.8em #ff785066, inset 0 .18em 0 #ffffff8c;background:linear-gradient(#fff1b8 0%,#ffbd5c 42%,#ff7a52 100%)}.btn.primary:hover,.btn.primary:focus-visible{box-shadow:none;background:0 0}.btn.primary:hover:before,.btn.primary:focus-visible:before{border-color:var(--ink-line);box-shadow:0 .35em 0 var(--ink-line), 0 .9em 2.2em #ff8c5a8c, 0 0 0 3px #ffe6aa8c, inset 0 .18em 0 #fff9;background:linear-gradient(#fff6d0 0%,#ffc874 42%,#ff8a62 100%)}.btn.ghost:before{background:#0e123859}@media (prefers-reduced-motion:no-preference){.btn:after{content:"";z-index:-1;opacity:0;pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff59 50%,#0000 65%) -200% 0/200% 100% no-repeat;border-radius:.5em;position:absolute;inset:0;transform:skew(-12deg)}.btn:hover:after,.btn:focus-visible:after{opacity:1;animation:.7s ease-out btn-sheen}}@keyframes btn-sheen{to{background-position:200% 0}}.panel{border:2px solid var(--ink-line);box-shadow:var(--shadow), inset 0 0 0 1px #c8e1ff29, inset 0 3px 0 #57f0dc8c}.panel h2{-webkit-text-stroke:.04em var(--ink-line);paint-order:stroke fill;text-shadow:.04em .06em 0 var(--ink-line);font-style:italic}.icon-btn{border:2px solid var(--ink-line);box-shadow:inset 0 0 0 1px #c8e1ff2e, 0 .2em 0 var(--ink-line)}html,body{touch-action:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}body{-webkit-user-select:none}.panel{touch-action:pan-y;overscroll-behavior:contain}.hud{top:calc(clamp(.8rem, 2vh, 1.4rem) + env(safe-area-inset-top,0px));left:calc(clamp(.8rem, 2vw, 1.6rem) + env(safe-area-inset-left,0px))}.system{top:calc(clamp(.8rem, 2vh, 1.4rem) + env(safe-area-inset-top,0px));right:calc(clamp(.8rem, 2vw, 1.6rem) + env(safe-area-inset-right,0px))}.dash{left:calc(clamp(.8rem, 2vw, 1.6rem) + env(safe-area-inset-left,0px));bottom:calc(clamp(.8rem, 2.4vh, 1.6rem) + env(safe-area-inset-bottom,0px))}.look-hint{right:calc(clamp(.8rem, 2vw, 1.6rem) + env(safe-area-inset-right,0px));bottom:calc(clamp(.8rem, 2.4vh, 1.6rem) + env(safe-area-inset-bottom,0px))}.chain-return{left:calc(1.5rem + env(safe-area-inset-left,0px));bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}.title-screen{padding-top:calc(clamp(1.2rem, 5vw, 5rem) + env(safe-area-inset-top,0px));padding-right:calc(clamp(1.2rem, 5vw, 5rem) + env(safe-area-inset-right,0px));padding-bottom:calc(clamp(1.2rem, 5vw, 5rem) + env(safe-area-inset-bottom,0px));padding-left:calc(clamp(1.2rem, 5vw, 5rem) + env(safe-area-inset-left,0px))}.pause-screen,.complete-screen,.menu-panel,.fatal-screen{padding:max(1rem, env(safe-area-inset-top,0px)) max(1rem, env(safe-area-inset-right,0px)) max(1rem, env(safe-area-inset-bottom,0px)) max(1rem, env(safe-area-inset-left,0px))}kbd.touch-glyph{vertical-align:middle;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;gap:.3em;height:1.9em;padding:0 .6em 0 .4em;display:inline-flex}kbd.touch-glyph svg{width:1.2em;height:1.2em}.ui{--touch-jump:78px;--touch-dash:62px;--touch-edge:20px}.touch{pointer-events:none;display:none;position:absolute;inset:0}:root[data-input=touch] .ui[data-screen=playing] .touch{display:block}.touch-btn{border:2px solid var(--ink-line);color:var(--ink);letter-spacing:.14em;text-transform:uppercase;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 30%,#465296b8,#14183ab8);border-radius:50%;align-content:center;place-items:center;gap:1px;font-size:10px;font-weight:700;transition:transform 80ms,background .12s,opacity .2s;display:grid;position:absolute;box-shadow:inset 0 0 0 1px #c8e1ff47,inset 0 3px #ffffff2e,0 4px #141238b3}.touch-btn:after{content:"";border-radius:50%;position:absolute;inset:-12px}.touch-btn svg{width:42%;height:42%}.touch-btn.pressed{background:radial-gradient(circle at 50% 30%,#6ee6e1cc,#1e5a78cc);transform:scale(.92)}.touch-jump{right:calc(var(--touch-edge) + env(safe-area-inset-right,0px));bottom:calc(var(--touch-edge) + 6px + env(safe-area-inset-bottom,0px));width:var(--touch-jump);height:var(--touch-jump)}.touch-jump svg{width:46%;height:46%}.touch-dash{right:calc(var(--touch-edge) + var(--touch-jump) + 14px + env(safe-area-inset-right,0px));bottom:calc(var(--touch-edge) + 6px + var(--touch-jump) * .45 + env(safe-area-inset-bottom,0px));width:var(--touch-dash);height:var(--touch-dash);color:var(--aether)}.touch-dash span{color:var(--ink)}.touch-dash.spent{color:#8d7a8f;opacity:.6}.touch-dash.spent span{color:var(--muted)}.touch-stick{left:calc(var(--touch-edge) + 66px + env(safe-area-inset-left,0px));top:calc(100% - var(--touch-edge) - 72px - env(safe-area-inset-bottom,0px));opacity:.5;background:radial-gradient(circle,#14183a57 0%,#14183a24 70%);border:2px solid #c8e1ff4d;border-radius:50%;place-items:center;width:128px;height:128px;transition:opacity .16s;display:grid;position:absolute;translate:-50% -50%}.touch.stick-active .touch-stick{opacity:1}.touch-knob{border:2px solid var(--ink-line);background:radial-gradient(circle at 38% 30%,#fff8ed,#c9d6ff 58%,#8792d8);border-radius:50%;width:54px;height:54px;box-shadow:0 3px #141238b3,0 0 1em #57f0dc40}.touch:not(.stick-active) .touch-knob{transition:transform .14s ease-out}@media (min-width:700px) and (min-height:700px){.ui{--touch-jump:88px;--touch-dash:70px;--touch-edge:28px}}:root[data-input=touch] .dash,:root[data-input=touch] .look-hint,:root[data-input=touch] .system [data-benchmark-action=restart],:root:not([data-input=touch]) .fullscreen-btn{display:none}:root[data-input=touch] .icon-btn{border-radius:12px;width:44px;height:44px}:root[data-input=touch] .ui .btn{min-height:44px}:root[data-input=touch] .bind{min-height:40px}:root[data-input=touch] .setting input[type=range]{height:28px}:root[data-input=touch] .setting input[type=checkbox]{width:22px;height:22px}:root[data-input=touch] .ui summary{padding-block:.75em}:root[data-input=touch] .hint{bottom:calc(.7rem + env(safe-area-inset-bottom,0px));max-width:calc(100% - 2 * (var(--touch-edge) + var(--touch-jump) + var(--touch-dash) + 26px) - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));border-radius:1em;font-size:.86em;line-height:1.5}:root:not([data-input=touch]) [data-input-row=touch],:root[data-input=touch] [data-input-row=mouse],.touch-reference{display:none}:root[data-input=touch] .controls-screen .touch-reference{text-align:left;grid-template-columns:repeat(auto-fit,minmax(14em,1fr));width:100%;display:grid}.touch-reference li{flex-direction:row;align-items:center;gap:.7em}:root[data-input=touch] .controls-screen .bindings,:root[data-input=touch] .controls-screen [data-controls=reset]{display:none}:is(.title-screen .controls li:has(.touch-glyph),.pause-screen .controls li:has(.touch-glyph)){flex-direction:row;align-items:center;gap:.6em}@media (max-height:640px) and (max-width:1000px),(orientation:portrait){.title-screen{pointer-events:auto;touch-action:pan-y;overscroll-behavior:contain;align-items:flex-start;overflow-y:auto}.title-card{margin-block:auto}}@media (orientation:portrait){.title-screen{background:linear-gradient(#0e123800 28%,#0e1238bd 55%,#0c0e2eeb 100%);justify-content:center}.title-card{text-align:left;justify-items:stretch;width:100%;margin-block:auto 0}.title-card>.emblem,.title-card>.kicker,.title-card>h1{justify-self:start}.title-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.title-actions .btn{padding-inline:.8em}.title-actions .btn.primary,.title-actions [data-el=continue]{grid-column:1/-1}.title-card .controls{grid-template-columns:minmax(0,1fr)}.banner{top:calc(6.6rem + env(safe-area-inset-top,0px))}.toast{top:calc(11.5rem + env(safe-area-inset-top,0px));white-space:normal;text-align:center;max-width:calc(100% - 2rem)}:root[data-input=touch] .hint{bottom:calc(var(--touch-edge) + 150px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 1.5rem)}.ui[data-hint-raised] .hint{top:calc(clamp(8.5rem, 28vh, 15rem) + env(safe-area-inset-top,0px))}.btn.chain-return{right:calc(1rem + env(safe-area-inset-right,0px));left:calc(1rem + env(safe-area-inset-left,0px))}}@media (max-width:560px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-totals{grid-template-columns:minmax(0,1fr)}.panel h2{font-size:clamp(1.7rem,9vw,2.4rem)}.settings-groups fieldset{grid-template-columns:minmax(0,1fr) max-content}.setting:not(.toggle){grid-template-areas:"label value""slider slider";row-gap:.3em}.setting:not(.toggle) .setting-label{grid-area:label}.setting:not(.toggle) output{grid-area:value}.setting:not(.toggle) input[type=range]{grid-area:slider}.bindings .bind{min-width:5.5em}}:root[data-input=touch] .ui[data-hint-raised] .hint{bottom:auto}@media (orientation:portrait) and (max-height:900px){.title-card .controls{display:none}}@media (orientation:portrait) and (max-height:760px){.title-card>.emblem{display:none}}@media (max-width:1000px){.ui[data-panel] .system{visibility:hidden}}@media (max-height:500px){:root[data-input=touch] .ui[data-hint-raised] .hint{top:calc(152px + env(safe-area-inset-top,0px))}}.btn.chain-return{position:absolute}@media (max-width:1000px){.complete-screen,.pause-screen{padding-top:calc(env(safe-area-inset-top,0px) + 4.4rem)}}@media (orientation:portrait) and (max-width:1000px){.banner,.toast{width:max-content;max-width:calc(100% - 2rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}.banner .banner-title{font-size:clamp(1.1rem,6vw,1.4rem)}.banner .banner-detail{max-width:100%}:root[data-input=touch] .ui[data-hint-raised] .hint{top:calc(max(15rem, 28vh) + env(safe-area-inset-top,0px))}}@media (max-width:360px){.touch-stick{left:calc(var(--touch-edge) + 54px + env(safe-area-inset-left,0px))}}
