.abilities,.shop{z-index:2;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);pointer-events:auto;background:#05040a9e;place-items:center;animation:.12s ease-out abilities-in;display:grid;position:fixed;inset:0}@keyframes abilities-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.abilities,.shop{animation:none}}.abilities-box,.shop-box{border:1px solid var(--rim);background:var(--glass);width:min(46rem,94vw);max-height:92vh;box-shadow:var(--glow);color:var(--ink);border-radius:16px;outline:none;gap:.6em;padding:1em 1.4em;font-size:clamp(12px,.4vw + 9px,15px);display:grid}@media (height<=540px){.abilities-box,.shop-box{box-sizing:border-box;gap:.4em;max-height:96dvh;padding:.6em 1em}}.abilities-box{grid-template-rows:auto minmax(0,1fr) auto}.shop-box{grid-template-rows:auto auto minmax(0,1fr) auto}.abilities-grid{touch-action:pan-y;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5em 1em;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.ability{grid-template-columns:2.2em 1fr;align-items:start;column-gap:.6em;display:grid}.ability-icon{border:1px solid var(--rim);border-radius:8px;place-items:center;width:2.2em;height:2.2em;display:grid}.ability-icon svg{fill:none;stroke:#fde68a;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1.6em;height:1.6em}.ability-name{margin:0;font-weight:650}.ability-text{opacity:.8;margin:0;font-size:.88em}.ability:not(.held){opacity:.6}.ability:not(.held) .ability-icon{border-style:dashed}.ability-note{color:#fca5a5;margin:.15em 0 0;font-size:.8em}.shop-rubies{color:#fda4af;margin:0;font-weight:650}.shop-list{touch-action:pan-y;gap:.3em;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.shop-row{cursor:pointer;touch-action:manipulation;border:1px solid #0000;border-radius:10px;grid-template-columns:2.2em 1fr auto auto;align-items:center;gap:.6em;padding:.35em .5em;display:grid}.shop-row.sel{border-color:var(--rim);background:#ffffff0f}.shop-row.owned .shop-state{color:#86efac}.shop-row.short .shop-state{color:#fca5a5}.shop-price{color:#fda4af;font-variant-numeric:tabular-nums}.shop-state:empty{display:none}.shop-buy{font:inherit;color:#1c1405;cursor:pointer;touch-action:manipulation;background:#facc15;border:0;border-radius:99px;padding:.3em 1.1em;font-weight:650}.shop-touch{display:none}@media (pointer:coarse){.shop-keys{display:none}.shop-touch{display:block}}.abilities-foot{justify-content:space-between;align-items:center;gap:1em;display:flex}.abilities-keys{opacity:.7;margin:0;font-size:.85em}.abilities-close{font:inherit;color:inherit;border:1px solid var(--rim);cursor:pointer;background:0 0;border-radius:99px;padding:.25em 1em}.help{--fs:12px;--lh:16px;--rows:40;--col:calc(var(--fs) * .6);z-index:2;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);font-family:var(--font-ui,"Resonance UI", ui-monospace, monospace);pointer-events:auto;background:#05040a9e;place-items:center;animation:.12s ease-out help-in;display:grid;position:fixed;inset:0}@keyframes help-in{0%{opacity:0}}.help-box{background:#070a12f2;border:1px solid #94a3b840;border-radius:14px;outline:none;gap:8px;padding:12px 10px 10px;display:grid;box-shadow:0 12px 36px #000000a6}.help-body{width:calc(var(--col) * 76);height:calc(var(--lh) * var(--rows));overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;font-size:var(--fs);line-height:var(--lh);color:#cbd5e1;overflow:hidden auto}.help-body::-webkit-scrollbar{display:none}#ui .help-line{height:var(--lh);padding:0 calc(var(--col) * 3);white-space:pre;font-variant-ligatures:none;margin:0;position:relative}.help-line.centre{text-align:center;font:700 calc(var(--fs) * 1.32) / var(--lh) var(--font-display,"Resonance Display", Georgia, serif);letter-spacing:.03em;color:#f1f5f9}.help-line.rule{color:#0000;background:linear-gradient(90deg, transparent, #94a3b866 12% 88%, transparent) center / calc(var(--col) * var(--len)) 1px no-repeat}.help-line.link{color:#e4d4ff;text-underline-offset:.25em;cursor:pointer;-webkit-text-decoration:underline dotted #e4d4ff59;text-decoration:underline dotted #e4d4ff59}.help-line.link:hover{color:#fff}.help-line.link.cur{color:#fff;animation:.48s steps(16,jump-none) infinite help-link}@keyframes help-link{0%{color:#cfc3ea}to{color:#fff}}.help-line.cur:before,.help-line.cur:after{font:700 var(--fs) / var(--lh) var(--font-ui,"Resonance UI", ui-monospace, monospace);letter-spacing:0;color:#b388ff;text-shadow:0 0 8px #b388ff8c;font-variant-ligatures:normal;position:absolute;top:0}.help-line.cur:before{content:"->";left:calc(var(--col) * .7)}.help-line.cur:after{content:"<-";right:calc(var(--col) * .7)}.help-foot{box-sizing:border-box;width:calc(var(--col) * 76);padding:6px calc(var(--col) * 3) 0;border-top:1px solid #94a3b824;justify-content:space-between;align-items:center;gap:12px;display:flex}#ui .help-keys{min-width:0;font-size:calc(var(--fs) * .9);letter-spacing:.02em;color:#64748b}.help-close{color:#94a3b8;min-height:28px;font:600 12px/1 var(--font-ui,"Resonance UI", ui-monospace, monospace);letter-spacing:.06em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #94a3b84d;border-radius:99px;flex:none;padding:0 14px}.help-close:hover,.help-close:focus-visible{color:#fff;border-color:#b388ff;outline:none}@media (pointer:coarse){.help-close{min-height:40px;padding:0 18px;font-size:13px}}@media (prefers-reduced-motion:reduce){.help,.help-line.link.cur{animation:none}}.title,.loading{--t-display:"Resonance Display", "Cormorant Garamond", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--t-ui:"Resonance UI", "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace}.title-veil{z-index:3;pointer-events:none;background:#fff;position:fixed;inset:0}.title-veil.out{animation:.8s ease-out forwards title-unveil}@keyframes title-unveil{to{opacity:0}}.title{position:fixed;inset:0}.title:before{content:"";pointer-events:none;background:linear-gradient(#05040acc,#05040a4d 30%,#0000 48%),linear-gradient(90deg,#05040a99,#05040a40 30%,#0000 45%);position:absolute;inset:0}.title-logo{top:max(12vh, env(safe-area-inset-top) + 8px);font:700 clamp(40px, min(10.5vh, 10.5vw), 92px)/1 var(--t-display);place-items:center;margin:0;transition:opacity .2s;display:grid;position:absolute;left:0;right:0}.title-logo:before,.title-rings,.title-word{grid-area:1/1}.title-logo:before{content:"";background:radial-gradient(closest-side,#b388ff57,#60c8ff24 55%,#0000);border-radius:50%;width:9em;height:3.2em;animation:5s ease-in-out infinite alternate title-breathe}@keyframes title-breathe{0%{opacity:.5;transform:scale(.94)}to{opacity:1;transform:scale(1.05)}}.title-rings{border:1px solid #b388ff66;border-radius:50%;width:7.9em;height:1.8em;position:relative;box-shadow:0 0 28px #b388ff47,inset 0 0 22px #7df9ff24}.title-rings:before,.title-rings:after{content:"";opacity:0;border:2px solid #7df9ffe6;border-radius:50%;animation:5.2s cubic-bezier(.2,.6,.35,1) infinite title-ripple;position:absolute;inset:-1px;box-shadow:0 0 14px #7df9ff8c,inset 0 0 10px #7df9ff4d}.title-rings:after{border-color:#ffd682d9;animation-delay:2.6s;box-shadow:0 0 14px #ffbe6080,inset 0 0 10px #ffbe6042}@keyframes title-ripple{0%{opacity:0;transform:scale(.12)}18%{opacity:1}to{opacity:0;transform:scale(1.4)}}.title-word{text-transform:uppercase;letter-spacing:.13em;background:linear-gradient(100deg,#8ff7ff,#8fb6ff 28%,#c49cff 50%,#ffb0e4 68%,#ffd98a 86%,#fff2c4) 0/230% 100%;color:#0000;filter:drop-shadow(0 0 1px #ffffffbf)drop-shadow(0 2px #080618e6)drop-shadow(0 0 18px #a082ff99);-webkit-background-clip:text;background-clip:text;margin-right:-.13em;animation:11s ease-in-out infinite alternate title-flow;position:relative}@keyframes title-flow{to{background-position:100%}}.title-menu{left:max(8vw, env(safe-area-inset-left) + 24px);pointer-events:auto;gap:clamp(4px,1.1vh,8px);width:max-content;min-width:clamp(11.5rem,21vw,15rem);transition:opacity .2s;display:grid;position:absolute;top:52%;transform:translateY(-50%)}.title-item{box-sizing:border-box;color:#94a3b8;height:clamp(30px,7.4vh,42px);font:600 clamp(13px, 2.2vh, 16px)/1 var(--t-ui);letter-spacing:.06em;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#090d16eb;border:1px solid #94a3b873;border-radius:10px;outline:none;padding:0 1em 0 2.3em;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;position:relative;overflow:hidden}.title-item.on{color:#fff;background:linear-gradient(#b388ff2e,#b388ff2e),#090d16eb;border-color:#b388ff;box-shadow:inset 0 0 0 .5px #b388ff,0 0 16px #b388ff59}.title-item.on:before{content:">";color:#e4d4ff;animation:.314s ease-in-out infinite alternate title-cursor;position:absolute;left:.95em}@keyframes title-cursor{to{opacity:.7}}.title-about{color:#94a3b8;min-height:2.6em;font:500 clamp(11px, 1.7vh, 13px)/1.3 var(--t-ui);white-space:normal;margin:.2em 0 0;position:absolute;top:100%;left:0;right:0}.title-item:disabled{color:#475569;opacity:.38;cursor:default;background:0 0}.title.away :is(.title-logo,.title-menu,.title-note){opacity:0}.title-note{left:0;right:0;bottom:max(7vh, env(safe-area-inset-bottom) + 12px);text-align:center;max-width:30em;font:.85em/1.4 var(--t-ui);color:#ffd27a;margin:0 auto;padding-inline:16px;transition:opacity .2s;position:absolute}@media (orientation:landscape) and (height<=460px){.title-logo{top:max(9vh, env(safe-area-inset-top) + 6px)}.title-menu{gap:3px;top:56%}.title-item{height:26px}}@media (orientation:portrait) and (width<=700px){.title-logo{top:max(6vh, env(safe-area-inset-top) + 8px)}.title-item{letter-spacing:.03em;height:clamp(30px,4vh,36px);font-size:min(clamp(13px,2.2vh,16px),3.4vw)}.title-menu{top:auto;left:50%;bottom:max(7vh, env(safe-area-inset-bottom) + 16px);grid-template-columns:minmax(0,1fr);gap:5px;width:min(22rem,92vw);transform:translate(-50%)}}.loading{z-index:2;background:#05040a;place-items:center;display:grid;position:fixed;inset:0}.loading.out{animation:linear forwards title-unveil}.loading-box{box-sizing:border-box;background:#090d16e6;border:1px solid #94a3b840;border-radius:14px;gap:12px;width:clamp(260px,34vw,340px);padding:18px 22px;display:grid;box-shadow:0 12px 36px #000000a6}.loading-text{font:600 13px/1.3 var(--t-ui);letter-spacing:.02em;color:#cbd5e1;margin:0}.loading-bar{background:#ffffff14;border-radius:99px;height:8px}.loading-bar i{border-radius:inherit;background:linear-gradient(90deg,#b388ff calc(100% - 14px),#e4d4ff);width:0;height:100%;transition:width .18s ease-out;display:block;box-shadow:0 0 10px #b388ffa6}@media (prefers-reduced-motion:reduce){.title-item.on:before,.title-logo:before,.title-word{animation:none}.title-rings:before{opacity:.6;animation:none;transform:scale(1.2)}.title-rings:after{animation:none}.loading-bar i{transition:none}}.menu{z-index:2;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);pointer-events:auto;background:#05040a9e;place-items:center;animation:.12s ease-out abilities-in;display:grid;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.menu{animation:none}}.menu-box{touch-action:pan-y;border:1px solid var(--rim);background:var(--glass);width:min(40rem,94vw);max-height:94vh;box-shadow:var(--glow);color:var(--ink);border-radius:16px;gap:.6em;padding:1em 1.4em;font-size:clamp(12px,.4vw + 9px,15px);display:grid;overflow-y:auto}.menu-box.talents :is(.menu-body,.menu-choices),.menu-box:not(.talents,.vendor,.colosseum) :is(.menu-gold,.tree-text),.menu-box:not(.talents) .tree{display:none}.menu-box:is(.vendor,.colosseum) .menu-choices{flex-direction:column}.menu-box.vendor .menu-gold{color:#8fd8ff}.menu-box.colosseum .menu-gold{color:#ffd27a}.menu-box:is(.vendor,.colosseum) .tree-text{min-height:0}.menu-choice.off{opacity:.45}.menu-gold{color:#ffd54a;margin:0;font-weight:650}.menu-body{margin:0;line-height:1.45}.menu-choices{justify-content:center;gap:.8em;display:flex}.menu-choice,.tree-node{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:10px}.menu-choice{padding:.35em 1.4em;font-weight:650}.menu-choice.sel{background:#ffd54a24;border-color:#ffd54a}.tree{grid-template-rows:repeat(3,auto) 1.6em auto;grid-template-columns:repeat(3,1fr);gap:.9em 1.2em;display:grid;position:relative}.tree-node{justify-items:center;gap:.25em;padding:.4em .3em;font-size:.9em;display:grid;position:relative}.tree-node:not(.node-orb,.node-shock,.node-regen,.node-final):before{content:"";background:#ffd54a59;width:2px;height:.9em;position:absolute;bottom:100%;left:50%}.tree-node.node-final{grid-area:5/1/6/4;justify-self:center;min-width:40%}.tree-join{grid-area:4/1/5/4;width:100%;height:calc(100% + 1.8em);margin:-.9em 0;overflow:visible}.tree-join line{stroke:#ffd54a59;stroke-width:2px;vector-effect:non-scaling-stroke}.tree-join line.on{stroke:#ffd54a;filter:drop-shadow(0 0 3px #ffd54a)}.tree-foot{align-items:center;gap:.6em;display:flex}.tree-cost{color:#ffd54a;font-size:.85em;font-weight:650}.tree-cost:before{content:"◆ ";font-size:.8em}.tree-node.owned .tree-cost{display:none}.tree-pips{gap:.25em;display:flex}.tree-pips i{border:1px solid #ffd54a;border-radius:50%;width:.45em;height:.45em}.tree-pips i.on{background:#ffd54a}.tree-node.owned{color:#fff3c4;background:#ffd54a38;border-color:#ffd54a}.tree-node.open{border-color:#ffd54a99;box-shadow:0 0 8px #ffd54a59}.tree-node.locked{opacity:.4}.tree-node.sel{outline-offset:2px;outline:2px solid #fff}.tree-text{min-height:2.9em;margin:0;line-height:1.45}@media (height<=480px){.menu-box{gap:.35em;padding:.6em 1em}.tree{grid-template-rows:repeat(3,auto) 1em auto;gap:.45em .8em}.tree-node{gap:.1em;padding:.2em .3em}.tree-node:not(.node-orb,.node-shock,.node-regen,.node-final):before{height:.45em}.tree-join{height:calc(100% + .9em);margin:-.45em 0}.tree-text{min-height:0}.menu-box>.card-title{margin:0}}.tree-buy{font:inherit;color:#1c1405;cursor:pointer;touch-action:manipulation;background:#facc15;border:0;border-radius:99px;justify-self:center;padding:.35em 1.4em;font-weight:650}.menu-box:not(.talents) .tree-buy,.menu-touch{display:none}@media (pointer:coarse){.menu-keys{display:none}.menu-touch{display:block}}.options{z-index:2;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);font-family:var(--font-ui,"Resonance UI", ui-monospace, monospace);pointer-events:auto;background:#05040a8c;place-items:center;animation:.12s ease-out options-in;display:grid;position:fixed;inset:0}@keyframes options-in{0%{opacity:0}}.options-card{box-sizing:border-box;touch-action:pan-y;color:#cbd5e1;scrollbar-width:thin;background:#090d16f2;border:1px solid #94a3b840;border-radius:16px;outline:none;gap:10px;width:clamp(320px,44vw,440px);max-width:calc(100vw - 24px);max-height:86vh;padding:18px 18px 16px;display:grid;overflow:auto;box-shadow:0 12px 36px #000000a6}.options-title{text-align:center;font:700 clamp(18px, 2.8vh, 24px) / 1.1 var(--font-display,"Resonance Display", Georgia, serif);letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;color:#f8fafc;margin:0 0 4px}.options-list{gap:6px;display:grid}.opt-row,.opt-back{box-sizing:border-box;border:1.5px solid #0000;border-radius:10px;min-height:44px;transition:background .12s,border-color .12s;position:relative}.opt-row{flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 12px 6px 28px;display:flex}.opt-label{letter-spacing:.04em;color:#94a3b8;flex:1 0 7.5em;font-size:13px;font-weight:600}.opt-ctl{align-items:center;gap:10px;display:flex}.opt-row.on,.opt-back.on{background:#b388ff1f;border-color:#b388ff;box-shadow:0 0 16px #b388ff33}.opt-row.on .opt-label{color:#fff}.opt-row.on:before,.opt-back.on:before{content:">";color:#e4d4ff;font-weight:700;animation:1s ease-in-out infinite alternate options-cursor;position:absolute;top:50%;left:11px;translate:0 -50%}@keyframes options-cursor{to{opacity:.35}}.opt-range{--fill:calc(8px + (100% - 16px) * var(--v,1));cursor:pointer;touch-action:none;appearance:none;background:0 0;width:clamp(110px,16vw,150px);height:22px;margin:0}.opt-range:focus{outline:none}.opt-range::-webkit-slider-runnable-track{background:linear-gradient(90deg, #b388ff var(--fill), #1e293b var(--fill));border-radius:99px;height:6px}.opt-range::-webkit-slider-thumb{appearance:none;background:#fff;border:0;border-radius:50%;width:16px;height:16px;margin-top:-5px;box-shadow:0 1px 4px #00000080,0 0 0 3px #b388ff40}.opt-range::-moz-range-track{background:#1e293b;border-radius:99px;height:6px}.opt-range::-moz-range-progress{background:#b388ff;border-radius:99px;height:6px}.opt-range::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:16px;height:16px}.opt-value{text-align:right;font-variant-numeric:tabular-nums;color:#cbd5e1;min-width:3ch;font-size:13px;font-weight:600}.opt-pills{background:#1e293b;border-radius:99px;gap:2px;padding:3px}.opt-pill{color:#94a3b8;min-height:28px;font:600 12px/1 var(--font-ui,"Resonance UI", ui-monospace, monospace);letter-spacing:.03em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:99px;padding:0 11px}.opt-pill:hover{color:#fff}.opt-pill[aria-checked=true]{color:#0b0614;background:#b388ff}.options-note{text-align:center;color:#94a3b8;margin:0;padding:0 4px;font-size:11.5px;line-height:1.4}.opt-back{color:#cbd5e1;width:100%;font:600 13px/1 var(--font-ui,"Resonance UI", ui-monospace, monospace);letter-spacing:.08em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#0b0f19b8;border-color:#94a3b840;margin-top:2px;padding:0 28px}.opt-back.on{color:#fff}@media (pointer:coarse){.opt-pill{min-height:36px;padding:0 13px}}@media (prefers-reduced-motion:reduce){.options,.opt-row.on:before,.opt-back.on:before{animation:none}}.opt-code{font:700 13px/1 var(--font-ui,"Resonance UI", ui-monospace, monospace);letter-spacing:.06em;color:#f8fafc;-webkit-user-select:all;user-select:all;-webkit-touch-callout:default}.opt-btn{color:#cbd5e1;background:#1e293b}.opt-input{box-sizing:border-box;color:#f8fafc;width:15.5em;max-width:52vw;height:30px;font:600 16px/1 var(--font-ui,"Resonance UI", ui-monospace, monospace);letter-spacing:.04em;text-transform:uppercase;-webkit-user-select:text;user-select:text;background:#0b0f19;border:1px solid #94a3b859;border-radius:8px;padding:0 8px}.opt-input::placeholder{color:#475569}.opt-input:focus{border-color:#b388ff;outline:none}.options-cloud{color:#cbd5e1}.opt-debug{flex-wrap:wrap;justify-content:flex-end}.opt-debug .opt-input{text-transform:none;width:10em}.choice{z-index:4;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);font-family:var(--font-ui,"Resonance UI", ui-monospace, monospace);pointer-events:auto;background:#05040a99;place-items:center;display:grid;position:fixed;inset:0}.choice-card{box-sizing:border-box;touch-action:pan-y;color:#cbd5e1;background:#090d16f5;border:1px solid #94a3b840;border-radius:16px;gap:10px;width:min(560px,100vw - 24px);max-height:94vh;padding:16px;display:grid;overflow:auto;box-shadow:0 12px 36px #000000a6}.choice-title{text-align:center;font:700 clamp(17px, 2.6vh, 22px) / 1.1 var(--font-display,"Resonance Display", Georgia, serif);letter-spacing:.12em;color:#f8fafc;margin:0}.choice-text{text-align:center;color:#94a3b8;margin:0;font-size:12.5px;line-height:1.4}.choice-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice-save,.choice-later{box-sizing:border-box;color:#cbd5e1;font:600 12.5px/1.45 var(--font-ui,"Resonance UI", ui-monospace, monospace);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#0b0f19cc;border:1.5px solid #94a3b84d;border-radius:12px;outline:none}.choice-save{text-align:left;gap:2px;padding:10px 12px;display:grid}.choice-where{letter-spacing:.04em;color:#f8fafc;margin-bottom:4px;font-size:13.5px}.choice-keep{color:#b388ff;margin-top:6px}.choice-later{color:#94a3b8;min-height:40px}.choice-save.on,.choice-later.on{color:#fff;background:#b388ff1f;border-color:#b388ff;box-shadow:0 0 16px #b388ff33}@media (width<=480px){.choice-row{grid-template-columns:1fr}}@font-face{font-family:Resonance Display;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Resonance UI;font-style:normal;font-weight:100 800;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}#ui{--font-ui:"Resonance UI", ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace;--font-display:"Resonance Display", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--ink:#eef0ff;--glass:#090a20db;--rim:color-mix(in srgb, var(--pal-230) 38%, transparent);--glow:0 0 0 1px #00000080, 0 10px 40px #0000008c, 0 0 24px color-mix(in srgb, var(--pal-230) 14%, transparent);font-family:var(--font-ui);color:var(--ink);-webkit-font-smoothing:antialiased}#ui [hidden]{display:none!important}#ui p{margin:0}.prompt{top:max(13vh, var(--hud-h,0px) + 10px, env(safe-area-inset-top) + 8px);border:1px solid var(--rim);background:var(--glass);width:max-content;max-width:min(92vw,46rem);box-shadow:var(--glow);letter-spacing:.01em;text-align:center;border-radius:12px;padding:.65em 1.4em;font-size:clamp(13px,.6vw + 9px,18px);font-weight:600;line-height:1.35;position:fixed;left:50%;transform:translate(-50%)}.prompt.dim{color:#eef0ffbf}@media (prefers-reduced-motion:reduce){.prompt.dim{color:var(--ink)}}.card{border:1px solid var(--rim);background:var(--glass);min-width:min(20rem,86vw);max-width:92vw;box-shadow:var(--glow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center;border-radius:16px;gap:.35em;padding:1.3em 2em;font-size:clamp(13px,.5vw + 10px,17px);display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.card-title{font-family:var(--font-display);letter-spacing:.04em;text-shadow:0 0 18px color-mix(in srgb, var(--pal-230) 45%, transparent);font-size:1.7em;font-weight:700}.pause-time{font-variant-numeric:tabular-nums;color:var(--pal-230);font-size:1.15em}.pause-seed{opacity:.6;font-variant-numeric:tabular-nums;font-size:.85em}.quit{border-color:color-mix(in srgb, var(--pal-120) 55%, transparent)}.map{background:var(--pal-255);pointer-events:auto;touch-action:none;cursor:grab;position:fixed;inset:0}.map.drag{cursor:grabbing}#ui:has(>.map-host>.map:not([hidden]))>.hud{visibility:hidden}body:has(.map:not([hidden])) :is(.touch-buttons button,.touch-bag span){-webkit-backdrop-filter:none;backdrop-filter:none}.map canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.map-base{transform-origin:0 0;will-change:transform}.map:after{content:"";pointer-events:none;background:radial-gradient(#0000 55%,#03030cbf);position:absolute;inset:0}.map-head,.map-foot{z-index:1;max-width:calc(100% - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right));border:1px solid var(--rim);background:var(--glass);box-shadow:var(--glow);text-align:center;pointer-events:none;border-radius:10px;padding:.45em 1.1em;font-size:clamp(11px,1.1vh + 5px,15px);line-height:1.35;position:absolute;left:50%;transform:translate(-50%)}.map-head{top:calc(env(safe-area-inset-top) + .8rem);color:var(--pal-230);text-shadow:0 0 12px color-mix(in srgb, var(--pal-230) 40%, transparent)}.map-foot{bottom:calc(env(safe-area-inset-bottom) + .8rem);width:max-content;color:color-mix(in srgb, var(--ink) 75%, transparent);align-items:center;gap:1.2em;font-size:clamp(10px,.9vh + 5px,13px);display:flex}.map-depth:before{content:"";background:var(--depth);vertical-align:middle;border-radius:3px;width:4.5em;height:.6em;margin-right:.5em;display:inline-block}#debug{white-space:pre;background:#00000080;border-radius:6px;padding:4px 7px;line-height:1.4}#ui .damage-log{right:10px;bottom:calc(max(10px, env(safe-area-inset-bottom)) + 7.5rem);color:#fff;pointer-events:none;white-space:pre;background:#00000080;border-radius:6px;padding:4px 7px;font-size:.8em;position:absolute}#ui #debug{top:auto;bottom:calc(max(10px, env(safe-area-inset-bottom)) + 3.4rem)}.hud{--gap:12px;--fs:clamp(12px, .28vw + 9.5px, 15px);--panel:#08091e8f;--heart:#ff4f79;--gold:var(--pal-240);font-size:var(--fs);font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000000bf;line-height:1.4;position:fixed;inset:0}.hud svg{fill:currentColor;flex:none;width:1.15em;height:1.15em;display:block}.hud-top{top:max(var(--gap), env(safe-area-inset-top));left:max(var(--gap), env(safe-area-inset-left));right:max(var(--gap), env(safe-area-inset-right));align-items:start;gap:var(--gap);grid-template-columns:1fr auto 1fr;display:grid;position:absolute}.hud-panel{border:1px solid color-mix(in srgb, var(--pal-230) 20%, transparent);background:var(--panel);-webkit-backdrop-filter:blur(10px)saturate(1.2);backdrop-filter:blur(10px)saturate(1.2);border-radius:12px;padding:.5em .85em;box-shadow:0 8px 28px #00000052,inset 0 1px #ffffff12}.hud-stats{justify-self:start}.hud-crystals{align-items:center;gap:.45em;font-weight:650;display:flex}.hud-crystals svg{color:var(--pal-230);filter:drop-shadow(0 0 4px color-mix(in srgb, var(--pal-230) 60%, transparent))}.hud-crystals .facet{fill:none;stroke:#05142873;stroke-width:1px}.hud-rubies{align-items:center;gap:.45em;font-weight:650;display:flex}.hud-rubies svg{color:#f43f5e;filter:drop-shadow(0 0 4px #f43f5e99)}.hud-rubies .facet{fill:none;stroke:#28050f73;stroke-width:1px}.hud-gold{color:#ffe9a0;align-items:center;gap:.45em;font-weight:650;display:flex}.hud-gold svg{color:#ffd54a;filter:drop-shadow(0 0 4px #ffd54a99)}.hud-gold .facet{fill:none;stroke:#3c280073;stroke-width:1px}.hud-final{background:conic-gradient(#ffd54a calc(var(--f,0) * 360deg), #ffd54a2e 0);border-radius:50%;width:1.05em;height:1.05em;-webkit-mask:radial-gradient(circle,#0000 38%,#000 40%);mask:radial-gradient(circle,#0000 38%,#000 40%)}.hud-final.ready{animation:1s ease-in-out infinite alternate final-ready}@keyframes final-ready{to{filter:drop-shadow(0 0 5px #ffd54a)brightness(1.4)}}@media (prefers-reduced-motion:reduce){.hud-final.ready{filter:drop-shadow(0 0 4px #ffd54a);animation:none}}.hud-dungeon{color:#e2e6ffdb;font-size:.93em}.hud-meters{grid-template-columns:auto 9.5em 1.4em;justify-self:center;align-items:center;gap:.28em .75em;font-size:.93em;display:grid}.meter-label{color:#e2e6ffdb}.meter-label.glow{color:#fff;animation:.429s linear infinite glow}@keyframes glow{0%{color:var(--pal-230);text-shadow:0 0 4px color-mix(in srgb, var(--pal-230) 45%, transparent)}to{color:#fff;text-shadow:0 0 10px var(--pal-230), 0 0 2px #fff}}.meter-level{text-align:right;color:var(--pal-230);font-weight:650}.meter,.hud-psi-track,.hud-boss-track,.hud-vital-track{background:#ffffff17;border-radius:99px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d}.meter{height:.56em}.meter i,.hud-psi-track i,.hud-boss-track i,.hud-vital-track i{clip-path:inset(0 calc(100% - var(--f,0) * 100%) 0 0 round 99px);position:absolute;inset:0}.meter i{background:linear-gradient(90deg, #3a8ee8, var(--pal-100) 40%, var(--pal-230));box-shadow:0 0 8px var(--pal-100)}.meter i.temp{clip-path:inset(0 calc(100% - var(--t,0) * 100%) 0 calc(var(--f,0) * 100%));background:#facc15;box-shadow:0 0 8px #facc15}.meter-level.boost{color:#facc15}.meter:after{content:"";background:repeating-linear-gradient(90deg,#0000 0 calc(3.33333% - 1px),#0607188c calc(3.33333% - 1px) 3.33333%);position:absolute;inset:0}.hud-life{justify-self:end;justify-items:end;gap:.3em;display:grid}.hud-artifacts{--a:clamp(22px, 4.2vh, 34px);top:calc(max(var(--gap), env(safe-area-inset-top)) + 6em);right:max(var(--gap), env(safe-area-inset-right));gap:calc(var(--a) * .17);display:grid;position:absolute}.hud-art{color:var(--pal-230);width:var(--a);height:var(--a);box-sizing:border-box;border:1px solid color-mix(in srgb, currentColor 30%, transparent);background:radial-gradient(circle, color-mix(in srgb, currentColor 16%, transparent), var(--panel) 72%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:9px;place-items:center;display:grid;box-shadow:0 4px 14px #0000004d}.hud-art:not(.held){visibility:hidden}.hud-art.temp{color:#facc15;border-style:dashed}.hud .hud-art svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:74%;height:74%;filter:drop-shadow(0 0 3px color-mix(in srgb, currentColor 70%, transparent))}.hud-boss{--boss:#ff3d6e;box-sizing:border-box;border-color:color-mix(in srgb, var(--boss) 45%, transparent);width:min(46rem,62vw);box-shadow:0 8px 28px #00000052, 0 0 22px color-mix(in srgb, var(--boss) 18%, transparent);grid-column:1/-1;grid-template-columns:auto auto 1fr;justify-self:center;align-items:center;gap:.7em;padding-block:.35em;display:grid}.hud .hud-boss svg{color:#ffe3ea;width:1.4em;height:1.4em;filter:drop-shadow(0 0 5px var(--boss))}.hud-boss-name{letter-spacing:.14em;color:#ffe3ea;font-weight:800}.hud-boss-track{height:.72em}.hud-boss-track i{background:linear-gradient(90deg, #7a0f30, var(--boss) 55%, #ffc2d2);filter:brightness(var(--c,1));box-shadow:0 0 10px var(--boss)}.hud-call{color:#fff;letter-spacing:.08em;background:#78081ed1;border-radius:99px;grid-column:1/-1;justify-self:center;padding:.25em .9em;font-weight:800;animation:.25s ease-in-out infinite alternate hud-call;box-shadow:0 0 18px #ff28508c}@keyframes hud-call{to{transform:scale(1.08);box-shadow:0 0 26px #ff3c64cc}}@media (prefers-reduced-motion:reduce){.hud-call{animation:none}}.hud-psi{left:50%;bottom:max(var(--gap), env(safe-area-inset-bottom));box-sizing:border-box;grid-template-columns:auto 1fr minmax(3.2em,auto);align-items:center;gap:.85em;width:min(46rem,62vw);padding-block:.4em;display:grid;position:absolute;transform:translate(-50%)}.hud-psi-label{letter-spacing:.03em;color:#e2e6ffdb;font-weight:650}.hud-psi-track{height:.62em}.hud-psi-track i{background:linear-gradient(90deg, #2aa6d6, var(--pal-230) 65%, #fff)}.hud-psi-n{text-align:right;color:var(--pal-230);font-weight:750}.hud-vital-n{font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:flex-end;gap:.4em;font-weight:750;display:flex}.hud-vital-n .hp{color:#ff9aab}.hud-vital-n .hp.gold{color:#facc15}.hud-vital-n .shield{color:#93b8ff}.hud-psi.live .hud-psi-track{box-shadow:0 0 14px color-mix(in srgb, var(--pal-230) 35%, transparent)}.hud-psi.recover .hud-psi-track i{background:linear-gradient(90deg, var(--pal-violet), var(--pal-120))}.hud-psi.recover .hud-psi-track{box-shadow:0 0 12px color-mix(in srgb, var(--pal-120) 25%, transparent)}.hud-psi.recover .hud-psi-n{color:#ff8fb0}.hud-vital-track{height:.62em}.hud-vital-track .life{background:linear-gradient(90deg, #ff9aab, var(--heart) 45%, #e0153c);box-shadow:0 0 10px var(--heart), inset 0 1px 0 #ffffff59;transition:clip-path .12s ease-out}.hud-vital-track .lost{background:#ffe0e5;transition:clip-path .35s ease-in .25s}.hud-vital-track .shield{opacity:.6;background:linear-gradient(90deg,#2f6fe0,#3b82f6 60%,#bcd4ff);transition:clip-path .12s ease-out}.hud-vital-track i.gold{opacity:.85;clip-path:inset(0 0 0 calc(100% - var(--f,0) * 100%) round 99px);background:linear-gradient(90deg,#fff3b0,#facc15 50%,#b8860b);transition:clip-path .12s ease-out}.hud-boons{color:#facc15;flex-wrap:wrap;grid-column:1/-1;gap:.3em .8em;font-size:.86em;display:flex}.hud-boon{align-items:center;gap:.3em;display:inline-flex}.hud .hud-boon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.2em;height:1.2em}.hud-bag{right:max(var(--gap), env(safe-area-inset-right));bottom:max(var(--gap), env(safe-area-inset-bottom));pointer-events:auto;grid-template-columns:repeat(3,auto);gap:.55em .45em;padding:.6em .5em .45em;display:grid;position:absolute}.hud-bag-item{box-sizing:border-box;min-width:3.3em;height:2.3em;color:var(--pal-230);cursor:help;background:#ffffff0a;border:1px solid #ffffff29;border-radius:8px;justify-content:center;align-items:center;gap:.25em;padding:0 .4em;display:inline-flex;position:relative}.hud-bag-item.empty>svg,.hud-bag-item.empty>.hud-bag-n{opacity:.4}.hud-bag-item.sel{border-color:#facc15}.hud .hud-bag-item svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.55em;height:1.55em}.hud-bag-n{font-weight:750}.hud-bag-n:before{content:"×";opacity:.6;font-weight:400}.hud-bag-item kbd{box-sizing:border-box;min-width:1.35em;height:1.35em;font:inherit;color:#fff;text-shadow:none;background:#1c2036;border:1px solid #e2e6ff8c;border-bottom-width:2px;border-radius:4px;place-items:center;font-size:.7em;font-weight:800;line-height:1;display:grid;position:absolute;top:-.6em;left:-.5em}.hud-bag-item[data-tip]:hover:after{content:attr(data-tip);z-index:1;border:1px solid color-mix(in srgb, var(--pal-230) 30%, transparent);color:#e2e6ff;white-space:normal;pointer-events:none;background:#08091ef0;border-radius:8px;width:max-content;max-width:22em;padding:.45em .65em;font-size:.9em;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + .7em);right:0}@media (pointer:fine) and (height>=541px){.hud .hud-compass{top:max(var(--gap), env(safe-area-inset-top));bottom:auto}.hud .hud-psi{width:min(46rem, 62vw, 100vw - 2 * (14em + 2 * var(--gap)))}.hud .hud-artifacts{top:calc(max(var(--gap), env(safe-area-inset-top)) + clamp(54px, 12vmin, 76px) + .6em)}}.bag-tonic,.bag-ward{color:#facc15}.hud-vital-track:after{content:"";background:repeating-linear-gradient(90deg, transparent 0 calc(100% / var(--n,5) - 2px), #060718b3 calc(100% / var(--n,5) - 2px) calc(100% / var(--n,5)));position:absolute;inset:0}@media (pointer:coarse),(height<=540px){.hud{--gap:8px;--fs:11px}.hud-meters{grid-template-columns:auto 6.5em 1.4em}.hud-top{flex-wrap:wrap;max-width:calc(100% - 15rem);display:flex;right:auto}.hud-panel{border-radius:10px;padding:.35em .7em}.hud-life{order:-1;align-items:center;gap:.7em;display:flex}.hud:not(.expanded) .hud-more{display:none}.hud-artifacts{--a:26px;top:calc(max(8px, env(safe-area-inset-top)) + 50px);grid-template-columns:repeat(3, var(--a))}.hud-crystals{padding-block:.12em}.hud-bag{display:none}.hud-boss{flex:1 0 100%;gap:.55em}.hud-psi{grid-template-columns:auto 1fr minmax(2.9em,auto);gap:.6em;width:min(26rem,46vw)}#ui #debug{top:calc(max(8px, env(safe-area-inset-top)) + 2.8rem);font-size:10px;bottom:auto}}.dlg{--speaker:#ff6f93;top:calc(var(--hud-h,0px) + 8px);box-sizing:border-box;border:1px solid color-mix(in srgb, var(--speaker) 45%, transparent);border-left:3px solid var(--speaker);background:var(--glass);width:max-content;max-width:calc(100vw - 24px);box-shadow:var(--glow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:.7em 1.1em .55em;font-size:clamp(11px,2vw - 1.28px,15px);position:fixed;left:50%;transform:translate(-50%)}.dlg.bottom{--speaker:#b388ff;top:auto;bottom:calc(var(--psi-h,3.4rem) + 8px)}.dlg-name{letter-spacing:.12em;color:var(--speaker);padding-bottom:.4em;font-weight:800}.dlg-text{min-height:calc(var(--lines,1) * 1.4em);white-space:pre-wrap;font:1em/1.4 var(--font-ui)}.dlg-next{text-align:right;letter-spacing:.1em;color:var(--speaker);font-size:.8em;font-weight:700;animation:.8s ease-in-out infinite alternate cursor}@keyframes cursor{to{opacity:.35}}@media (pointer:coarse),(height<=540px){.dlg{padding:.5em .9em .4em;font-size:11px}}@media (pointer:coarse){.dlg.bottom{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 2 * clamp(46px, 15vmin, 72px) + 8px)}}.seal p{text-align:center;font:700 clamp(17px, 1.4vw + 11px, 32px)/1 var(--font-display);letter-spacing:.3em;text-indent:.3em;color:#0a0710;text-shadow:0 0 2px #fffdf5,0 0 9px #fffdf5,0 0 22px #fffdf5bf;position:fixed;top:21.6667%;left:0;right:0;translate:0 -50%}.seal p+p{top:80%}@keyframes fade-in{0%{opacity:0}}.saving{z-index:1;pointer-events:auto;background:radial-gradient(#0a0c28f0,#000 70%);place-items:center;animation:.15s ease-out fade-in;display:grid;position:fixed;inset:0}.saving-box{border:1px solid var(--rim);background:var(--glass);min-width:min(20rem,80vw);box-shadow:var(--glow);letter-spacing:.02em;text-align:center;border-radius:14px;gap:.9em;padding:1.3em 1.8em 1.5em;font-size:clamp(14px,.5vw + 11px,18px);font-weight:650;display:grid}.saving-bar{height:.6em;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--pal-230) 30%, transparent);background:#ffffff14;border-radius:99px;overflow:hidden}.saving-bar i{transform-origin:0;background:linear-gradient(90deg, #2aa6d6, var(--pal-230) 70%, #fff);height:100%;box-shadow:0 0 12px var(--pal-230);display:block;transform:scaleX(0)}.saving.failed .saving-box{border-color:color-mix(in srgb, var(--pal-120) 60%, transparent)}.saving.failed .saving-text{color:#ff8fb0}.saving.failed .saving-bar i{background:var(--pal-120);box-shadow:none}#ui.ending-on>:not(.ending){display:none!important}.ending{position:fixed;inset:0}.ending:not([data-scene=ptext],[data-scene=stext]) :is(.end-bg,.end-text),.ending:not([data-scene=credits]) .end-credits{display:none}.end-bg{width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.end-text{padding:16px max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left));font:clamp(12px, min((100vw - 32px) / 39, 100dvh / 26), 20px)/1.5 var(--font-ui);white-space:pre-wrap;place-content:center;display:grid;position:absolute;inset:0}.end-text p{min-height:1.5em}@media (width<=600px){.end-text{white-space:normal;align-content:center;font-size:14px;display:block}.end-text p{display:inline}.end-text p:after{content:" "}.end-text p:empty{min-height:.8em;display:block}}.ending[data-scene=stext] .end-text{text-shadow:0 0 .6em color-mix(in srgb, currentColor 40%, transparent)}.end-credits{font-size:clamp(13px,3.1vh,26px);line-height:1.3;position:absolute;inset:0;overflow:hidden}.end-credit{left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));text-shadow:0 1px 6px #000;grid-template-columns:1fr 1fr;align-items:baseline;column-gap:1.1em;display:grid;position:absolute}.end-credit span:first-child{text-align:right;letter-spacing:.08em;opacity:.72;font-size:.8em}.end-credit span:last-child{letter-spacing:.02em;font-weight:650}.end-logo{font:700 clamp(28px, 8vh, 74px)/1 var(--font-display);letter-spacing:.16em;background:linear-gradient(180deg, #fff 10%, var(--pal-230) 55%, #3a8ee8);color:#0000;filter:drop-shadow(0 0 18px color-mix(in srgb, var(--pal-230) 40%, transparent));-webkit-background-clip:text;background-clip:text;position:absolute;top:73.3333%;left:60%}.end-skip{display:none}@media (pointer:coarse){.end-skip{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:4.4rem;height:40px;color:var(--ink);font:650 13px/1 var(--font-ui);letter-spacing:.06em;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#090a208c;border:1px solid #7df9ff59;border-radius:99px;padding:0 1.1rem;display:block;position:absolute}}.touch{pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;position:fixed;inset:0}.touch-stick{--r:clamp(46px, 15vmin, 72px);left:calc(max(18px, env(safe-area-inset-left)) + var(--r));top:calc(100% - max(18px, env(safe-area-inset-bottom)) - var(--r));width:calc(2 * var(--r));height:calc(2 * var(--r));opacity:.5;background:radial-gradient(circle,#7df9ff1a 0 30%,#090a2047 31% 100%);border:1.5px solid #ffffff4d;border-radius:50%;transition:opacity .2s;position:absolute;translate:-50% -50%}.touch-stick.on{opacity:1;background:radial-gradient(circle,#7df9ff24 0 30%,#090a206b 31% 100%);border-color:#7df9ff8c;transition:none;box-shadow:0 0 24px #7df9ff33}.touch-knob{background:radial-gradient(circle at 35% 30%,#fff,#bfefff 40%,#5fb8d8);border-radius:50%;width:46%;height:46%;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 2px 10px #00000073,0 0 16px #7df9ff59}.touch-psi{--s:clamp(84px, 24vmin, 124px);right:max(22px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));width:var(--s);height:var(--s);color:#e1fcffe6;font-weight:800;font-size:calc(var(--s) * .18);letter-spacing:.14em;text-indent:.14em;opacity:.55;background:radial-gradient(circle,#7df9ff38,#090a204d 68%);border:1.5px solid #7df9ff73;border-radius:50%;place-items:center;transition:opacity .2s,transform .12s,box-shadow .2s;display:grid;position:absolute}.touch-psi.on{opacity:1;transition:none;transform:scale(.94);box-shadow:0 0 34px #7df9ff8c,inset 0 0 22px #7df9ff59}.touch-buttons{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));gap:6px;display:flex;position:absolute}.touch-buttons button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:3.6rem;height:40px;color:var(--ink);font:650 12.5px/1 var(--font-ui);letter-spacing:.03em;opacity:.8;background:#090a2080;border:1px solid #7df9ff4d;border-radius:99px;padding:0 .9rem}.touch-buttons button.on{opacity:1;background:#7df9ff52}.touch-bag{top:calc(max(8px, env(safe-area-inset-top)) + 54px);right:max(8px, env(safe-area-inset-right));flex-direction:column;align-items:center;gap:8px;width:46px;display:flex;position:absolute}.touch-bag[hidden]{display:none}.touch-bag span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:34px;height:34px;color:var(--pal-230);opacity:.85;background:#090a2080;border:1px solid #7df9ff4d;border-radius:50%;place-items:center;display:grid;position:relative}.touch-bag span.off{opacity:.4}.touch-bag svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.touch-bag b{min-width:15px;height:15px;font:750 10px/15px var(--font-ui);text-align:center;background:#090a20e6;border-radius:8px;padding:0 3px;position:absolute;bottom:-4px;right:-4px}.touch-rotate{display:none}@media (orientation:portrait){.touch>*{display:none}.touch>.touch-rotate{text-align:center;background:radial-gradient(#121338,#05040a 75%);place-content:center;justify-items:center;gap:22px;padding:24px;font-size:17px;font-weight:600;line-height:1.4;display:grid;position:fixed;inset:0}}.touch-phone{border:3px solid var(--pal-230);width:42px;height:72px;box-shadow:0 0 22px color-mix(in srgb, var(--pal-230) 40%, transparent);border-radius:10px;animation:2.6s ease-in-out infinite turn}@keyframes turn{0%,25%{rotate:0deg}55%,85%{rotate:-90deg}to{rotate:0deg}}@media (prefers-reduced-motion:reduce){.touch-phone{animation:none;rotate:-90deg}.saving,.dlg-next{animation:none}.meter-label.glow{text-shadow:0 0 10px var(--pal-230);animation:none}.hud-vital-track i{transition:none}}.final-flash{z-index:1;opacity:0;pointer-events:none;background:#ffd54a;position:fixed;inset:0}.fade{z-index:2;opacity:0;pointer-events:none;background:#000;transition-property:opacity;transition-timing-function:linear;position:fixed;inset:0}.map-host{display:contents}.card.pause,.card.quit{z-index:1}.quit-answers,.pause-row{justify-content:center;gap:.8em;display:flex}@media (pointer:coarse){.quit-keys{display:none}}.pause-abilities{border:1px solid var(--rim);color:inherit;font:inherit;pointer-events:auto;cursor:pointer;touch-action:manipulation;background:0 0;border-radius:99px;justify-self:center;margin-top:.4em;padding:.3em 1.1em}.pause-cheats{flex-wrap:wrap;justify-content:center;gap:0 .5em;max-width:26em;font-size:.85em;display:flex}.pause-cheats [aria-pressed=true]{background:var(--pal-230);color:#000}.pause-cheats .cheat-slider{flex-basis:100%;justify-content:center;align-items:center;gap:.5em;display:flex}.pause-cheats .cheat-slider span{text-align:right;min-width:7em}.pause-cheats-icons{flex-wrap:nowrap;gap:0 .25em;max-width:none}.pause-cheats .cheat-icon{padding:.2em .3em;line-height:0}.pause-cheats .cheat-icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1.4em;height:1.4em}.hud.expanded{z-index:1}.hud.expanded .hud-artifacts{pointer-events:auto;cursor:pointer}.art-border :is(.card,.abilities-box,.shop-box,.menu-box,.options-card,.choice-card,.help-box,.loading-box){border:16px solid #0000;border-image:var(--art-border) 32 / 16px stretch;border-radius:0}@media (pointer:fine) and (height>=541px){.art-border .dlg{border:16px solid #0000;border-image:var(--art-border) 32 / 16px stretch;border-radius:0}}.art-border .title-item.on{border:8px solid #0000;border-image:var(--art-border) 32 / 8px stretch;border-radius:0;padding:0 calc(1em - 7px) 0 calc(2.3em - 7px);box-shadow:0 0 16px #b388ff59}.art-border .title-item.on:before{left:calc(.95em - 7px)}.art-divider :is(.card-title,.options-title,.choice-title):after{content:"";background:var(--art-divider) center / contain no-repeat;width:200px;height:12px;margin:.3em 0 0 50%;display:block;translate:-50%}.art-divider :is(.abilities-box,.shop-box,.menu-box)>.card-title:after{background-position:0;margin-left:0;translate:none}@media (pointer:fine){.art-cursor :is(.title,.options,.choice,.help,.abilities,.shop,.card),.art-cursor :is(.title,.options,.choice,.help,.abilities,.shop,.card) *{cursor:var(--art-cursor) 3 3, auto}}.art-touch .touch-stick,.art-touch .touch-stick.on{box-shadow:none;background:var(--art-touch-pad) center / contain no-repeat;border:0}.art-touch .touch-knob{box-shadow:none;background:var(--art-touch-nub) center / contain no-repeat}.art-touch .touch-psi{background:var(--art-touch-button) center / contain no-repeat;border:0}.art-touch .touch-psi.on{box-shadow:none;filter:drop-shadow(0 0 14px #7df9ffcc)}.art-touch .touch-buttons{gap:10px}.art-touch .touch-buttons button{background:var(--art-touch-button) center / contain no-repeat;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:50%;width:46px;min-width:0;height:46px;padding:0;font-size:0}.art-touch .touch-buttons button:after{content:"";background:var(--icon) center / contain no-repeat;width:56%;height:56%;margin:auto;display:block}.art-touch .touch-buttons button.on{filter:drop-shadow(0 0 10px #7df9ffe6);background-color:#0000}.art-touch .touch-buttons [data-key="32"]{--icon:var(--art-touch-enter)}.art-touch .touch-buttons [data-key="64"]{--icon:var(--art-touch-map)}.art-touch .touch-buttons [data-key="256"]{--icon:var(--art-touch-pause)}.hud-compass{--s:clamp(54px, 12vmin, 76px);right:max(var(--gap), env(safe-area-inset-right));bottom:max(var(--gap), env(safe-area-inset-bottom));width:var(--s);height:var(--s);filter:drop-shadow(0 2px 6px #00000080);pointer-events:none;position:absolute}.hud-compass svg{width:100%;height:100%;display:block}.hud-compass .disc{fill:#2a2f3a;stroke:#b388ff;stroke-width:3px}.hud-compass .rose{fill:#7c4dff;opacity:.75}.hud-compass .needle{transition:transform .12s linear}.hud-compass.idle .needle{display:none}.hud-compass .needle path:first-child{fill:#e0f2fe}.hud-compass .needle path:last-child{fill:#b388ff}.touch-buttons button.touch-compass{-webkit-backdrop-filter:none;backdrop-filter:none;opacity:1;background:0 0;border:0;border-radius:50%;width:46px;min-width:0;height:46px;padding:0;font-size:0}.touch-buttons button.touch-compass:after{content:none}.touch-compass .hud-compass{width:100%;height:100%;position:static}.touch-compass.on .hud-compass{filter:drop-shadow(0 0 10px #7df9ffe6)}#ui.intro-on>:not(.intro){display:none!important}.intro{cursor:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.intro>*{pointer-events:none;position:absolute}.intro-bars{inset:0}.intro-bars:before,.intro-bars:after{content:"";background:#000;height:max(0px,50vh - 21.2766vw);position:absolute;left:0;right:0}.intro-bars:before{top:0}.intro-bars:after{bottom:0}.intro-line{text-align:center;width:min(92vw,34em);font:italic 500 clamp(18px, min(3.1vw, 4.4vh), 36px)/1.35 var(--font-display);letter-spacing:.035em;color:#eef3ff;text-shadow:0 0 18px #50beff59,0 2px 10px #000,0 0 2px #000;visibility:hidden;margin:0;bottom:max(9vh,53.2vh - 21.2766vw);left:50%}.intro-flash{visibility:hidden;background:radial-gradient(circle at 50% 45%,#fff 0%,#c9f1ff 35%,#3fb2ff 75%,#0d3a88 100%);inset:0}.intro-title{transform:scale(var(--grow,1));visibility:hidden;background:radial-gradient(#0a1e468c,#02030a 70%);place-content:center;justify-items:center;gap:1.4vh;display:grid;inset:0}.intro-logo{font:700 clamp(40px, 11vw, 132px)/1 var(--font-display);letter-spacing:.22em;background:linear-gradient(#fff 10%,#7fd4ff 55%,#3a8ee8);color:#0000;filter:drop-shadow(0 0 28px #7fd4ff73);-webkit-background-clip:text;background-clip:text;margin:0;padding-left:.22em}.intro-rule{background:linear-gradient(90deg,#0000,#7fd4ff,#0000);width:min(46vw,420px);height:1px;box-shadow:0 0 12px #7fd4ff}.intro-black{background:#000;inset:0}.intro-hint{right:max(20px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));font:500 13px/1 var(--font-ui);letter-spacing:.08em;color:#eef0ffbf;text-shadow:0 1px 4px #000;margin:0;animation:1.6s ease-in-out infinite alternate intro-hint}@keyframes intro-hint{0%{opacity:.45}to{opacity:1}}.intro-out .intro-black{transition:opacity .4s ease-in;visibility:visible!important;opacity:1!important}
