:root{--bg-deep: #100f14;--bg-mid: #18242b;--bg-panel: rgba(16, 24, 30, .82);--bg-panel-strong: rgba(20, 30, 36, .92);--line: rgba(255, 226, 170, .28);--text-main: #fff3da;--text-muted: #dccfb2;--gold: #f2c56e;--amber: #f29d63;--teal: #8bded5;--lime: #9bce7c;--danger: #f7876e;--shadow-heavy: 0 22px 64px rgba(4, 5, 8, .48);--font-body: "Trebuchet MS", "Candara", sans-serif;--font-display: "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-mono: "Courier New", monospace;--safe-top-env: env(safe-area-inset-top, 0px);--safe-right-env: env(safe-area-inset-right, 0px);--safe-bottom-env: env(safe-area-inset-bottom, 0px);--safe-left-env: env(safe-area-inset-left, 0px);--safe-top-runtime: 0px;--safe-right-runtime: 0px;--safe-bottom-runtime: 0px;--safe-left-runtime: 0px;--safe-top: var(--safe-top-env);--safe-right: var(--safe-right-env);--safe-bottom: var(--safe-bottom-env);--safe-left: var(--safe-left-env);--panel-surface: radial-gradient(circle at top left, rgba(242, 197, 110, .12), transparent 34%), linear-gradient(180deg, rgba(18, 26, 31, .92), rgba(11, 17, 22, .88));--panel-border: 1px solid var(--line);--panel-shadow: var(--shadow-heavy);--panel-blur: blur(18px);--sheet-surface: radial-gradient(circle at top left, rgba(247, 199, 101, .12), transparent 28%), linear-gradient(180deg, rgba(9, 17, 20, .95), rgba(9, 16, 18, .9));--builder-root-surface: radial-gradient(circle at top left, rgba(247, 199, 101, .12), transparent 28%), radial-gradient(circle at 82% 12%, rgba(139, 222, 213, .12), transparent 26%), linear-gradient(180deg, rgba(10, 14, 19, .98), rgba(8, 11, 16, .96))}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{width:100%;height:100%;margin:0}body{overflow:hidden;background:radial-gradient(circle at top,rgba(255,197,116,.16),transparent 24%),radial-gradient(circle at 80% 0%,rgba(126,200,193,.12),transparent 26%),linear-gradient(180deg,#15161b,#0a0c10);color:var(--text-main);font-family:var(--font-body)}body[data-test-mode=true] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}button,input,select,textarea{font:inherit}#app{position:relative}.game-root,.render-host{position:absolute;top:0;right:0;bottom:0;left:0}.render-host{overflow:hidden;touch-action:none}.game-canvas{display:block;image-rendering:auto}.eyebrow,.builder-eyebrow{margin:0 0 6px;color:var(--gold);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.hud-root,.setup-layer,.story-scene-layer,.reward-layer,.campaign-summary-layer,.credits-layer,.chest-puzzle-layer,.ending-layer,.skill-tree-layer{position:absolute;top:0;right:0;bottom:0;left:0}.hud-root{pointer-events:none;--hud-edge-x: 18px;--hud-edge-y: 18px;--hud-bottom-floor: max(18px, calc(var(--safe-bottom) + 14px));--hud-floor-extra: max(0px, calc(var(--hud-bottom-floor) - 28px));--hud-bottom-clearance: calc(var(--hud-bottom-floor) + 4px)}.hud-root[data-layout=compact]{--hud-edge-x: 12px;--hud-edge-y: 12px;--hud-bottom-floor: max(44px, calc(var(--safe-bottom) + 16px))}.setup-layer,.story-scene-layer,.reward-layer,.campaign-summary-layer,.credits-layer,.chest-puzzle-layer,.ending-layer,.skill-tree-layer{pointer-events:none}.setup-layer{display:flex;align-items:center;justify-content:center;padding:calc(var(--hud-edge-y) + var(--safe-top)) calc(var(--hud-edge-x) + var(--safe-right)) calc(var(--hud-bottom-clearance) + var(--hud-edge-y)) calc(var(--hud-edge-x) + var(--safe-left));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.reward-layer,.story-scene-layer,.campaign-summary-layer,.credits-layer,.chest-puzzle-layer,.ending-layer,.skill-tree-layer{display:flex;align-items:center;justify-content:center;padding:calc(var(--hud-edge-y) + var(--safe-top)) calc(var(--hud-edge-x) + var(--safe-right)) calc(var(--hud-bottom-clearance) + var(--hud-edge-y)) calc(var(--hud-edge-x) + var(--safe-left))}.hud-root[data-mode=setup] .setup-layer,.hud-root[data-mode=story-scene] .story-scene-layer,.hud-root[data-mode=chest-puzzle] .chest-puzzle-layer,.hud-root[data-mode=reward] .reward-layer,.hud-root[data-mode=campaign-summary] .campaign-summary-layer,.hud-root[data-mode=credits] .credits-layer,.hud-root[data-mode=victory] .ending-layer,.hud-root[data-mode=defeat] .ending-layer,.hud-root[data-mode=skill-tree] .skill-tree-layer{pointer-events:auto}.hud-rail,.hud-toast-stack,.hud-bottom-tray,.hud-drawer-layer{position:absolute}.hud-rail__objective,.hud-rail__summary,.hud-context-card,.hud-drawer,.hud-toast,.ending-card{background:var(--panel-surface);border:var(--panel-border);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.hud-rail{top:calc(var(--hud-edge-y) + var(--safe-top));left:calc(var(--hud-edge-x) + var(--safe-left));right:calc(var(--hud-edge-x) + var(--safe-right));display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:12px;pointer-events:none;z-index:12}.hud-rail__objective{min-width:0;width:min(520px,58vw);max-width:100%;padding:14px 16px;border-radius:22px}.hud-rail__objective strong{display:block;margin-bottom:4px;font-family:var(--font-display);font-size:1.08rem}.hud-rail__objective span{color:var(--text-muted);line-height:1.4}.hud-rail__summary{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;padding:10px 12px;border-radius:20px}.hud-rail__summary span{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;background:#ffffff0f;color:var(--text-muted);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.hud-menu-button,.hud-drawer__close,.advanced-toggle,.setup-link-button,.restart-button,.start-run-button,.dungeon-card,.chest-puzzle-token,.chest-puzzle-button,.reward-option{pointer-events:auto;cursor:pointer;color:inherit}.hud-menu-button,.hud-drawer__close{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:var(--text-main)}.hud-menu-button{justify-self:end}.hud-toast-stack{top:calc(var(--safe-top) + 86px);left:50%;transform:translate(-50%);width:min(480px,calc(100vw - 32px));z-index:13;pointer-events:none}.hud-toast{padding:12px 16px;border-radius:18px;text-align:center}.hud-toast[data-tone=danger]{border-color:#ff7d656b}.hud-toast[data-tone=success]{border-color:#92cf726b}.hud-bottom-tray{left:calc(var(--hud-edge-x) + var(--safe-left));right:calc(var(--hud-edge-x) + var(--safe-right));bottom:var(--hud-bottom-floor);display:flex;justify-content:center;pointer-events:none;z-index:12}.hud-context-card{width:min(720px,100%);padding:14px 16px;border-radius:22px;display:grid;gap:4px;text-align:left}.hud-context-card strong{font-family:var(--font-display);font-size:1.04rem}.hud-context-card span{color:var(--text-muted);line-height:1.45}.hud-context-card em{font-style:normal;color:var(--gold);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.hud-context-card[data-tone=success],.hud-bottom-tray[data-tone=success] .hud-context-card{border-color:#92cf7257}.hud-context-card[data-tone=info],.hud-bottom-tray[data-tone=info] .hud-context-card{border-color:#8bded557}.hud-root[data-layout=compact] .hud-bottom-tray[data-variant=hint] .hud-context-card{width:min(420px,100%);padding:10px 14px 12px;border-radius:18px;gap:6px}.hud-root[data-layout=compact] .hud-bottom-tray[data-variant=chip] .hud-context-card{width:min(360px,100%);padding:10px 14px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:0;text-align:center}.hud-root[data-layout=compact] .hud-bottom-tray[data-variant=chip] .hud-context-card strong{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.hud-root[data-layout=compact] .hud-bottom-tray[data-variant=hint] .hud-context-card strong{font-size:.98rem;line-height:1.2}.hud-root[data-layout=compact] .hud-bottom-tray[data-variant=hint] .hud-context-card em{font-size:.68rem;letter-spacing:.1em}.hud-root[data-layout=compact] .hud-rail[data-state=expanded]{grid-template-columns:minmax(0,1fr) auto}.hud-root[data-layout=compact] .hud-rail[data-state=expanded] .hud-rail__summary{grid-column:1 / -1;justify-content:flex-start}.hud-root[data-layout=compact] .hud-rail[data-state=expanded] .hud-menu-button{align-self:stretch}.hud-root[data-layout=compact] .hud-rail[data-state=collapsed]{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px}.hud-root[data-layout=compact] .hud-rail[data-state=collapsed] .hud-rail__objective{width:auto;padding:10px 12px;border-radius:18px}.hud-root[data-layout=compact] .hud-rail[data-state=collapsed] .hud-rail__objective .eyebrow,.hud-root[data-layout=compact] .hud-rail[data-state=collapsed] .hud-rail__objective span{display:none}.hud-root[data-layout=compact] .hud-rail[data-state=collapsed] .hud-rail__objective strong{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.96rem}.hud-root[data-layout=compact] .hud-rail[data-state=collapsed] .hud-rail__summary{grid-column:1 / -1;padding:0;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hud-root[data-layout=compact] .hud-rail[data-state=collapsed] .hud-rail__summary span{justify-content:center;min-height:32px;padding:0 10px}.hud-root[data-layout=compact] .hud-rail[data-state=collapsed] .hud-menu-button{min-height:40px;padding:0 16px}.hud-drawer-layer{top:0;right:0;bottom:0;left:0;z-index:20}.hud-drawer-scrim{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#04060a7a}.hud-drawer{position:absolute;top:calc(var(--hud-edge-y) + var(--safe-top));right:calc(var(--hud-edge-x) + var(--safe-right));bottom:calc(var(--hud-edge-y) + var(--hud-bottom-clearance));width:min(380px,calc(100vw - 24px));padding:20px;border-radius:28px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px;overflow:hidden;pointer-events:auto}.hud-drawer__header,.hud-drawer__section,.hud-drawer__stack{display:grid;gap:10px}.hud-drawer__header{grid-template-columns:1fr auto;gap:12px;align-items:start}.hud-drawer__body{min-height:0;display:grid;align-content:start;gap:18px;overflow:auto;overscroll-behavior:contain;padding-right:4px;padding-bottom:4px}.hud-drawer__copy strong,.hud-drawer__item strong{font-family:var(--font-display)}.hud-drawer__copy span,.hud-drawer__item span,.hud-drawer__controls{color:var(--text-muted);line-height:1.45}.hud-drawer__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hud-drawer__item{display:grid;gap:4px;padding:12px 14px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.hud-drawer__tree-button{width:100%}.hud-drawer__section--action{position:sticky;bottom:0;z-index:1;padding-top:8px;background:linear-gradient(180deg,#09111400,#091114f5 34%)}.hud-sheet{--sheet-pad: 24px;width:min(920px,calc(100vw - 24px));max-height:calc(100dvh - var(--safe-top) - var(--hud-bottom-floor) - 24px);padding:var(--sheet-pad);border-radius:28px;display:grid;gap:18px;overflow:auto;pointer-events:auto;background:var(--sheet-surface);border:1px solid rgba(255,236,184,.18);box-shadow:var(--shadow-heavy);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.hud-sheet__header,.hud-sheet__body{display:grid;gap:14px}.hud-sheet__actions{position:sticky;bottom:calc(-1 * var(--sheet-pad));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 calc(-1 * var(--sheet-pad)) calc(-1 * var(--sheet-pad));padding:14px var(--sheet-pad) calc(14px + var(--hud-floor-extra)) var(--sheet-pad);background:linear-gradient(180deg,#09111400,#091114f7 24%)}.setup-title-screen{position:relative;align-self:stretch;width:100%;min-height:calc(100dvh - (var(--hud-edge-y) * 2) - var(--safe-top) - var(--hud-bottom-clearance));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(14px,2vw,24px);padding:clamp(18px,2vw,24px) clamp(18px,2vw,24px) calc(clamp(18px,2vw,24px) + var(--hud-floor-extra)) clamp(18px,2vw,24px);border-radius:32px;overflow-x:hidden;overflow-y:auto;pointer-events:auto;touch-action:pan-y;background-image:linear-gradient(180deg,#05080e0a,#05080e29 42%,#05080e9e),radial-gradient(circle at center,rgba(255,184,72,.08),transparent 38%),image-set(url(/images/incoming/arithmancer-desktop.avif) type("image/avif"),url(/images/incoming/arithmancer-desktop.webp) type("image/webp"),url(/images/incoming/arithmancer-desktop.png) type("image/png"));background-size:auto,auto,cover;background-position:center,center,center;background-repeat:no-repeat;border:1px solid rgba(255,226,170,.2);box-shadow:var(--shadow-heavy)}.setup-title-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#04070c05,#04070c14 28%,#04070c42 54%,#04070cb8);pointer-events:none}.setup-title-screen>*{position:relative;z-index:1}.setup-title-screen__topbar{display:flex;align-items:flex-start;justify-content:flex-end;gap:12px}.setup-title-screen__spacer{min-height:clamp(120px,24vh,300px)}.setup-title-screen__bottom{width:min(980px,100%);justify-self:center;display:grid;gap:14px;align-self:end}.setup-title-screen__selection{margin:0;color:var(--text-main);font-family:var(--font-display);font-size:clamp(1.15rem,2.4vw,1.9rem);line-height:1.02;letter-spacing:.03em;text-align:center;text-shadow:0 10px 26px rgba(0,0,0,.52)}.setup-title-screen__rail-stack{display:grid;gap:12px;justify-items:center}.setup-gear-button,.setup-mode-button,.setup-advanced-close,.setup-advanced-overlay__scrim,.setup-dungeon-card{pointer-events:auto;cursor:pointer;color:inherit}.setup-gear-button{min-height:42px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,226,170,.18);background:#060a1057;color:var(--text-main);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-shadow:0 2px 12px rgba(0,0,0,.42)}.setup-gear-button.is-custom{border-color:#f7c76575;box-shadow:0 0 0 1px #f7c7652e}.setup-title-screen__description{margin:0;color:var(--text-muted);line-height:1.5;max-width:42rem}.setup-mode-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.setup-mode-button{min-height:50px;padding:0 20px;border:1px solid rgba(255,226,170,.18);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#060a103d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.48);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.setup-mode-button.is-active,.setup-mode-button.is-open{transform:translateY(-2px);border-color:#f7c7658a;background:#060a1061;box-shadow:0 12px 32px #00000038,0 0 0 1px #f7c7652e}.setup-mode-button__label,.setup-dungeon-card__name{font-family:var(--font-display);font-size:1.05rem;line-height:1}.setup-mode-button__eyebrow,.setup-mode-button__detail{display:none}.setup-mode-button--builder .setup-mode-button__label{font-size:.96rem}.setup-advanced-close{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,226,170,.14);background:#ffffff0d;color:var(--text-main)}.setup-dungeon-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.setup-dungeon-card{--dungeon-accent: var(--gold);min-height:44px;padding:0 16px;border:1px solid rgba(255,226,170,.16);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#060a1038;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.42);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background-color .14s ease}.setup-dungeon-card.is-active{transform:translateY(-2px);border-color:color-mix(in srgb,var(--dungeon-accent) 62%,rgba(255,255,255,.26));background:color-mix(in srgb,var(--dungeon-accent) 14%,rgba(6,10,16,.34));box-shadow:0 12px 28px #0003,0 0 0 1px color-mix(in srgb,var(--dungeon-accent) 18%,transparent)}.setup-title-screen__footer{display:flex;justify-content:center}.setup-title-screen__footer .start-run-button{min-width:min(320px,100%)}.setup-advanced-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;align-items:start;justify-items:end;padding:18px;z-index:3}.setup-advanced-overlay__scrim{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#04070c94}.setup-advanced-panel{position:relative;z-index:1;width:min(480px,calc(100% - 8px));max-height:calc(100% - 4px);overflow:auto;display:grid;gap:16px;padding:20px;border-radius:28px;background:linear-gradient(180deg,#091114f7,#091012eb),#ffffff08;border:1px solid rgba(255,226,170,.18);box-shadow:var(--shadow-heavy);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.setup-advanced-panel__header{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.setup-advanced-panel__copy{display:grid;gap:10px}.setup-title-screen .math-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hud-root[data-layout=compact] .setup-title-screen{background-image:linear-gradient(180deg,#05080e0a,#05080e24 28%,#05080ec7),radial-gradient(circle at center,rgba(255,184,72,.08),transparent 34%),image-set(url(/images/incoming/arithmancer-mobile.avif) type("image/avif"),url(/images/incoming/arithmancer-mobile.webp) type("image/webp"),url(/images/incoming/arithmancer-mobile.png) type("image/png"));background-position:center,center,center top}.hud-root[data-layout=compact] .setup-title-screen__spacer{min-height:clamp(48px,18vh,120px)}.hud-root[data-layout=compact] .setup-title-screen__bottom{width:100%;gap:12px}.hud-root[data-layout=compact] .setup-title-screen__selection{font-size:clamp(1.05rem,6.4vw,1.45rem);text-align:left}.hud-root[data-layout=compact] .setup-title-screen__rail-stack{width:100%;gap:12px}.hud-root[data-layout=compact] .setup-mode-row,.hud-root[data-layout=compact] .setup-title-screen .math-settings-grid{display:grid}.hud-root[data-layout=compact] .setup-title-screen .math-settings-grid{grid-template-columns:1fr}.hud-root[data-layout=compact] .setup-mode-row{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.hud-root[data-layout=compact] .setup-mode-button{min-width:0;width:100%;padding:14px 16px;white-space:normal}.hud-root[data-layout=compact] .setup-mode-button--builder{grid-column:1 / -1}.hud-root[data-layout=compact] .setup-dungeon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.hud-root[data-layout=compact] .setup-dungeon-card{width:100%;min-height:42px;padding:0 14px}.hud-root[data-layout=compact] .setup-title-screen__footer .start-run-button{width:100%}.hud-root[data-layout=compact] .setup-advanced-overlay{align-items:end;justify-items:stretch;padding:0}.hud-root[data-layout=compact] .setup-advanced-panel{width:100%;max-height:min(72dvh,680px);border-radius:28px 28px 0 0}.setup-modal,.reward-card,.chest-puzzle-card{align-self:center}.setup-modal{--sheet-pad: 28px;gap:22px;touch-action:auto;background:radial-gradient(circle at top left,rgba(247,199,101,.12),transparent 24%),linear-gradient(180deg,#091114f2,#091012e6)}.setup-copy{display:grid;gap:12px}.setup-overview-view,.setup-advanced-view{display:grid;gap:20px}.setup-copy h1,.ending-card h2{margin:0 0 10px;font-family:var(--font-display);letter-spacing:.02em;line-height:1.04}.setup-modal button,.setup-modal input{pointer-events:auto;touch-action:auto}.intro-copy{max-width:56rem;color:var(--text-muted);line-height:1.55}.setup-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.setup-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.setup-overview-body{display:grid;gap:18px}.setup-surface-card{padding:18px;border-radius:24px;background:linear-gradient(180deg,#ffffff0f,#ffffff05),#ffffff08;border:1px solid rgba(255,255,255,.08);box-shadow:0 22px 40px #0000002e}.settings-section{display:grid;gap:14px}.settings-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.settings-heading strong{font-family:var(--font-display);font-size:1.1rem}.settings-heading span,.preset-status{color:var(--text-muted);line-height:1.45}.preset-status{margin-left:auto;font-style:normal;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem}.advanced-toggle{margin-left:auto;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:var(--text-main)}.advanced-toggle:before{content:"⚙ "}.advanced-toggle.is-active{background:#78d5d524;border-color:#78d5d56b}.setup-link-button{padding:10px 14px;border-radius:999px;border:1px solid rgba(247,199,101,.28);background:#f7c76514;color:var(--text-main)}.setup-link-button:hover{transform:translateY(-2px)}.dungeon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dungeon-card{border:0;padding:18px;border-radius:22px;text-align:left;display:grid;gap:12px;min-height:132px;background:radial-gradient(circle at top left,color-mix(in srgb,var(--dungeon-accent) 12%,transparent),transparent 38%),linear-gradient(180deg,#ffffff0f,#ffffff05),#ffffff08;border:1px solid color-mix(in srgb,var(--dungeon-accent) 48%,white 14%);transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.dungeon-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dungeon-name{font-family:var(--font-display);font-size:1.15rem}.dungeon-description{margin:0;color:var(--text-muted);line-height:1.5}.dungeon-theme-chip{padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--dungeon-accent) 18%,rgba(255,255,255,.02));border:1px solid color-mix(in srgb,var(--dungeon-accent) 40%,transparent);color:color-mix(in srgb,var(--dungeon-accent) 72%,white 28%);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.dungeon-card:hover,.chest-puzzle-token:hover,.chest-puzzle-button:hover,.reward-option:hover,.restart-button:hover{transform:translateY(-3px)}.dungeon-card.is-active{background:radial-gradient(circle at top left,color-mix(in srgb,var(--dungeon-accent) 18%,transparent),transparent 40%),linear-gradient(180deg,#ffffff17,#ffffff08),#ffffff0a;box-shadow:0 18px 36px #00000038;transform:translateY(-3px)}.math-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.math-setting-card{display:grid;gap:14px;padding:18px;border-radius:22px;background:radial-gradient(circle at top,color-mix(in srgb,var(--operation-accent) 18%,transparent),transparent 42%),linear-gradient(180deg,#ffffff0f,#ffffff05),#ffffff08;border:1px solid color-mix(in srgb,var(--operation-accent) 38%,rgba(255,255,255,.14))}.math-setting-card.is-disabled{opacity:.66}.math-setting-head{display:flex;align-items:center;gap:12px}.math-setting-symbol{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#ffffff0f;color:var(--operation-accent);font-family:var(--font-display);font-size:1.6rem}.math-setting-copy{display:grid;gap:4px}.math-setting-copy span,.math-toggle-row span,.math-number-field span,.reward-copy,.chest-puzzle-copy,.chest-puzzle-note,.footer-copy{color:var(--text-muted)}.math-toggle-row{display:inline-flex;align-items:center;gap:10px}.math-toggle-row input{width:16px;height:16px;accent-color:var(--gold)}.math-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.math-number-field{display:grid;gap:6px}.math-number-field input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#050c10b8;color:var(--text-main)}.setup-footer{position:sticky;bottom:0;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;padding:12px 0 calc(12px + var(--hud-floor-extra));background:linear-gradient(180deg,#09111400,#091114e6 32%);z-index:1}.footer-copy,.reward-copy,.reward-helper,.chest-puzzle-copy,.chest-puzzle-note{margin:0;line-height:1.45;font-size:.94rem}.footer-copy,.reward-copy{margin:12px 0 0}.chest-puzzle-copy,.chest-puzzle-note{margin:14px 0 0}.start-run-button{border:0;min-width:180px;padding:14px 20px;border-radius:999px;background:linear-gradient(180deg,#f7c765eb,#f29d63e0);color:#17110c;font-family:var(--font-display);font-size:1rem;letter-spacing:.04em;box-shadow:0 16px 30px #00000038}.start-run-button:disabled,.chest-puzzle-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.reward-copy{line-height:1.5}.reward-header,.reward-body{display:grid;gap:12px}.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.reward-card{gap:18px;background:radial-gradient(circle at top left,rgba(247,199,101,.12),transparent 26%),linear-gradient(180deg,#091114f0,#091012e6)}.hud-root[data-layout=compact] .reward-card{--sheet-pad: 18px;gap:14px}.hud-root[data-layout=compact] .reward-header,.hud-root[data-layout=compact] .reward-body{gap:10px}.hud-root[data-layout=compact] .reward-grid{gap:12px}.reward-card h2{margin:0 0 10px;font-family:Impact,Arial Black,sans-serif;letter-spacing:.04em}.reward-option{min-height:176px;padding:18px;border-radius:22px;border:0;text-align:left;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#ffffff12,#ffffff08),#ffffff08;border:1px solid rgba(255,236,184,.16)}.hud-root[data-layout=compact] .reward-option{min-height:132px;padding:14px 16px;gap:8px;border-radius:18px}.reward-option strong{font-family:var(--font-display);font-size:1.3rem;letter-spacing:.02em}.hud-root[data-layout=compact] .reward-option strong{font-size:1.12rem}.reward-option span{color:var(--text-muted);line-height:1.45}.hud-root[data-layout=compact] .reward-option span{font-size:.92rem;line-height:1.36}.reward-option em,.reward-badge{font-style:normal;color:var(--gold);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.hud-root[data-layout=compact] .reward-option em,.hud-root[data-layout=compact] .reward-badge,.hud-root[data-layout=compact] .reward-helper{font-size:.66rem;letter-spacing:.1em}.reward-actions{justify-content:flex-start;position:static;bottom:auto;margin:0;padding:0;background:none}.reward-helper{color:var(--gold);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.chest-puzzle-card{--sheet-pad: 18px;width:min(600px,calc(100vw - 24px));gap:10px;background:radial-gradient(circle at top left,rgba(139,222,213,.14),transparent 28%),radial-gradient(circle at top right,rgba(247,199,101,.14),transparent 26%),linear-gradient(180deg,#091114f2,#091012e6);border:1px solid rgba(255,236,184,.18);box-shadow:var(--shadow-heavy)}.chest-puzzle-header,.chest-puzzle-body{display:grid;gap:10px}.chest-puzzle-card h2{margin:0 0 6px;font-family:var(--font-display);font-size:clamp(1.6rem,3.4vw,2.2rem);letter-spacing:.04em}.chest-puzzle-preview{padding:12px 14px;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(180deg,#ffffff12,#ffffff05),#ffffff08;border:1px solid rgba(255,236,184,.14)}.chest-puzzle-preview-value{font-family:var(--font-display);font-size:clamp(1.2rem,3vw,1.8rem);letter-spacing:.04em}.chest-puzzle-preview-count{color:var(--gold);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}.chest-puzzle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.chest-puzzle-token{border:0;aspect-ratio:1 / 1;border-radius:20px;padding:12px;display:grid;grid-template-rows:auto 1fr;align-items:start;justify-items:start;text-align:left;background:radial-gradient(circle at top,rgba(255,255,255,.14),transparent 44%),linear-gradient(180deg,#131f24eb,#0b1216d6);border:1px solid rgba(255,236,184,.18);box-shadow:inset 0 0 0 1px #ffffff0a;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.chest-puzzle-token--number{border-color:#ffecb833}.chest-puzzle-token--operator{border-color:#8bded552}.chest-puzzle-token--equals{border-color:#f29d6352}.chest-puzzle-token.is-selected{border-color:#f7c765b3;box-shadow:0 0 28px #f7c76529}.chest-puzzle-token:disabled{cursor:default;opacity:.52}.chest-puzzle-token.is-selected:disabled{opacity:1}.chest-puzzle-token-index{color:var(--text-muted);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.chest-puzzle-token-label{align-self:center;justify-self:center;font-family:var(--font-display);font-size:clamp(1.8rem,5.4vw,3rem);letter-spacing:.04em}.chest-puzzle-action-tray{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:0;background:none}.chest-puzzle-button{flex:1 1 0;border-radius:18px;padding:12px 16px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#ffffff14,#ffffff08)}.chest-puzzle-button[data-variant=primary]{color:#17110c;border-color:#f7c76566;background:linear-gradient(180deg,#f7c765eb,#f29d63e0)}.chest-puzzle-copy,.chest-puzzle-note{margin:6px 0 0;font-size:.9rem}.chest-puzzle-note{margin-top:2px}.ending-card{pointer-events:auto;width:min(680px,calc(100vw - 24px));gap:18px;text-align:left}.ending-card__header,.ending-card__body{display:grid;gap:14px}.ending-card p{margin:0;color:var(--text-muted);line-height:1.5}.ending-badges{display:flex;flex-wrap:wrap;gap:8px}.ending-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--gold);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.ending-objective{font-family:var(--font-display);font-size:1.02rem;color:var(--text-main)}.ending-copy{max-width:56ch}.ending-section{display:grid;gap:12px}.ending-section__heading{display:grid;gap:4px}.ending-progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ending-combat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ending-metric-card{display:grid;gap:4px;min-width:0;padding:14px;border-radius:20px;background:linear-gradient(180deg,#ffffff0f,#ffffff05),#ffffff08;border:1px solid rgba(255,255,255,.1)}.ending-metric-label{color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.ending-metric-value{font-family:var(--font-display);font-size:1.08rem;line-height:1.1}.ending-metric-detail{color:var(--text-muted);font-size:.8rem}.ending-card .hud-sheet__actions{justify-content:flex-start;padding-top:4px}.skill-tree-layer{overflow:hidden}.restart-button{border-radius:16px;padding:14px 16px;background:linear-gradient(180deg,#ffffff14,#ffffff08);border:1px solid rgba(255,255,255,.14)}.skill-tree-sheet{width:min(880px,calc(100vw - (var(--hud-edge-x) * 2) - var(--safe-left) - var(--safe-right)));height:min(760px,calc(100dvh - (var(--hud-edge-y) * 2) - var(--safe-top) - var(--hud-bottom-clearance)));max-height:calc(100dvh - (var(--hud-edge-y) * 2) - var(--safe-top) - var(--hud-bottom-clearance));padding:clamp(14px,2vw,22px);border-radius:32px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(12px,1.8vw,18px);overflow:hidden;pointer-events:auto;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--skill-focus-accent) 16%,transparent),transparent 34%),radial-gradient(circle at 14% 16%,rgba(247,199,101,.08),transparent 22%),radial-gradient(circle at 86% 0%,rgba(255,255,255,.04),transparent 20%),linear-gradient(180deg,#080d11fa,#070b0ff5);border:1px solid rgba(255,236,184,.16);box-shadow:var(--shadow-heavy);isolation:isolate}.skill-tree-sheet:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.03),transparent 32%),linear-gradient(225deg,rgba(255,255,255,.02),transparent 28%);pointer-events:none;z-index:0}.skill-tree-sheet>*{position:relative;z-index:1}.skill-tree-top-rail{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}.skill-tree-top-rail__stats,.skill-tree-top-rail__actions{display:flex;align-items:center;gap:8px}.skill-tree-top-rail__actions{justify-self:end}.skill-tree-rail-chip{min-width:72px;padding:7px 12px 8px;border-radius:999px;display:grid;gap:2px;background:linear-gradient(180deg,#ffffff0b,#ffffff05);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px #ffffff08}.skill-tree-rail-chip__label,.skill-tree-mode-chip__label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.skill-tree-rail-chip__label{color:var(--text-muted)}.skill-tree-rail-chip strong{font-family:var(--font-display);font-size:.98rem;line-height:1}.skill-tree-mode-chip{justify-self:center;min-width:min(280px,100%);min-height:42px;padding:8px 16px;border-radius:999px;display:inline-grid;grid-auto-flow:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:color-mix(in srgb,var(--skill-focus-accent) 72%,white 22%);background:linear-gradient(180deg,#ffffff0a,#ffffff04),color-mix(in srgb,var(--skill-focus-accent) 10%,rgba(15,21,26,.88));border:1px solid color-mix(in srgb,var(--skill-focus-accent) 26%,rgba(255,255,255,.08));box-shadow:inset 0 1px #ffffff08,0 0 24px color-mix(in srgb,var(--skill-focus-accent) 12%,transparent)}.skill-tree-mode-chip[data-branch=root]{color:#ffd094e6;background:linear-gradient(180deg,#ffffff09,#ffffff04),#241c16c7;border-color:#f7c76542;box-shadow:inset 0 1px #ffffff05}.skill-tree-mode-chip__glyph{width:1.9rem;height:1.9rem;border-radius:999px;display:grid;place-items:center;background:#ffffff0d;font-family:var(--font-display);font-size:.96rem;letter-spacing:.06em}.skill-tree-mode-chip__label{justify-self:center;white-space:nowrap}.skill-tree-close{min-width:0;padding:0 14px;opacity:.8}.skill-tree-stage{--skill-stage-accent: var(--skill-focus-accent);min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;overflow:hidden;position:relative}.skill-tree-canvas{position:relative;min-height:0;height:100%;border-radius:32px;overflow:hidden;background:radial-gradient(circle at center,color-mix(in srgb,var(--skill-focus-accent) 11%,transparent),transparent 24%),radial-gradient(circle at 18% 18%,rgba(247,199,101,.06),transparent 18%),radial-gradient(circle at 82% 12%,rgba(255,255,255,.04),transparent 20%),linear-gradient(180deg,#0b1217f2,#070c10fa);border:1px solid rgba(255,236,184,.1);box-shadow:inset 0 0 0 1px #ffffff05,inset 0 -28px 48px #0000002e}.skill-tree-canvas:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.95),transparent 88%);mask-image:radial-gradient(circle at center,rgba(0,0,0,.95),transparent 88%);pointer-events:none}.skill-tree-canvas:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,transparent 50%,rgba(4,8,12,.36) 100%),radial-gradient(circle at center,rgba(255,255,255,.03) 0 1px,transparent 1px);background-size:auto,120px 120px;pointer-events:none}.skill-tree-stage[data-branch-focused=true] .skill-tree-canvas{border-bottom-left-radius:24px;border-bottom-right-radius:24px}.skill-tree-connectors{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.skill-tree-connector{fill:none;stroke:color-mix(in srgb,var(--line-accent) 42%,rgba(255,255,255,.14));stroke-width:1.9px;stroke-linecap:round;opacity:.14;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--line-accent) 18%,transparent));transition:opacity .16s ease,stroke-width .16s ease}.skill-tree-connector.is-unlocked{opacity:.28}.skill-tree-connector.is-spendable,.skill-tree-connector.is-focused{opacity:.76;stroke-width:2.3px}.skill-tree-node{position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-50%);width:122px;min-height:122px;padding:11px 10px;border-radius:36px;display:grid;align-content:center;justify-items:center;gap:8px;text-align:center;color:var(--text-main);cursor:pointer;pointer-events:auto;background:radial-gradient(circle at top,color-mix(in srgb,var(--node-accent) 12%,transparent),transparent 42%),linear-gradient(180deg,#141d23f2,#0b1115e6);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px #ffffff08,0 16px 28px #00000029;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,opacity .14s ease,filter .14s ease;isolation:isolate;overflow:visible}.skill-tree-node>*{position:relative;z-index:3}.skill-tree-node:before,.skill-tree-node:after{content:"";position:absolute;pointer-events:none;transition:opacity .14s ease,transform .14s ease,box-shadow .14s ease,border-color .14s ease}.skill-tree-node:before{top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,#ffffff0a,#ffffff04),color-mix(in srgb,var(--node-accent) 9%,rgba(11,18,22,.62));border:1px solid rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px #ffffff08,0 0 28px color-mix(in srgb,var(--node-accent) 8%,transparent);z-index:0}.skill-tree-node:after{top:16px;right:16px;bottom:16px;left:16px;border-radius:inherit;opacity:.34;z-index:1}.skill-tree-node:disabled{cursor:default;opacity:1}.skill-tree-node:not(.is-selected):not(:hover){opacity:.64}.skill-tree-node:hover:not(:disabled){transform:translate(-50%,-50%) scale(1.02);border-color:color-mix(in srgb,var(--node-accent) 42%,rgba(255,255,255,.14));opacity:.88}.skill-tree-node.is-spendable{border-color:#f7c765a3;box-shadow:inset 0 0 0 1px #ffffff08,0 0 0 2px #f7c76529,0 0 24px #f7c76524}.skill-tree-node.is-spendable:before{box-shadow:inset 0 0 0 1px #ffffff0a,0 0 0 1px #f7c7652e,0 0 24px #f7c7651f}.skill-tree-node.is-unlocked{border-color:color-mix(in srgb,var(--node-accent) 58%,white 12%)}.skill-tree-node.is-ranked:not(.is-spendable){box-shadow:inset 0 0 0 1px #ffffff08,0 0 20px color-mix(in srgb,var(--node-accent) 14%,transparent)}.skill-tree-node.is-locked{opacity:.48}.skill-tree-node.is-selected{transform:translate(-50%,-50%) scale(1.06);opacity:1;filter:saturate(1.04);box-shadow:inset 0 0 0 1px #ffffff08,0 0 0 2px color-mix(in srgb,var(--node-accent) 54%,white 18%),0 20px 36px #0000003d}.skill-tree-node[data-node-role=root-core]{width:146px;min-height:146px;border-radius:999px;border-color:#8bded56b;box-shadow:inset 0 0 0 1px #ffffff0a,0 0 30px #8bded51f}.skill-tree-node[data-node-role=root-core]:before{background:radial-gradient(circle at center,rgba(139,222,213,.08),transparent 48%),linear-gradient(180deg,#142024fa,#0a1115eb)}.skill-tree-node[data-node-role=root-core]:after,.skill-tree-node[data-node-role=branch-core]:after{top:18px;right:18px;bottom:18px;left:18px;border-radius:999px;background:radial-gradient(circle at center,rgba(255,255,255,.08),transparent 44%),linear-gradient(180deg,rgba(139,222,213,.18),transparent 62%)}.skill-tree-node[data-node-role=ring-gate],.skill-tree-node[data-node-role=branch-root],.skill-tree-node[data-node-role=other-gate]{border-radius:38px}.skill-tree-node[data-node-role=ring-gate]{width:122px;min-height:122px}.skill-tree-node[data-node-role=branch-root]{width:136px;min-height:136px;border-radius:42px}.skill-tree-node[data-node-role=branch-core]{width:106px;min-height:106px;border-radius:999px;background:radial-gradient(circle at center,rgba(139,222,213,.08),transparent 46%),linear-gradient(180deg,#10181ef2,#090e12eb);border-color:#8bded547;box-shadow:inset 0 0 0 1px #ffffff08,0 0 20px #8bded514}.skill-tree-node[data-node-role=branch-child]{width:106px;min-height:106px}.skill-tree-node__glyph{display:inline-grid;place-items:center;min-width:2rem;min-height:2rem;padding:.15rem .4rem;border-radius:999px;background:#ffffff0f;color:color-mix(in srgb,var(--node-accent) 72%,white 18%);font-family:var(--font-display);font-size:1.1rem;letter-spacing:.05em}.skill-tree-node__label{font-family:var(--font-display);font-size:.9rem;letter-spacing:.03em;line-height:1.05}.skill-tree-node__submark{color:var(--text-muted);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.skill-tree-node__pips{display:inline-flex;align-items:center;gap:4px}.skill-tree-node__pip{width:7px;height:7px;border-radius:999px;background:#ffffff2e}.skill-tree-node__pip.is-filled{background:color-mix(in srgb,var(--node-accent) 66%,white 18%);box-shadow:0 0 10px color-mix(in srgb,var(--node-accent) 34%,transparent)}.skill-tree-node__seal{position:absolute;left:50%;top:-9px;transform:translate(-50%);min-width:1.45rem;min-height:1.45rem;padding:.18rem .35rem;border-radius:999px;display:inline-grid;place-items:center;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;background:#141c21f0;border:1px solid rgba(255,236,184,.18);color:#fff3dac2;box-shadow:0 10px 16px #0000002e;z-index:4}.skill-tree-node[data-node-role=branch-root] .skill-tree-node__seal{top:-10px}.skill-tree-node[data-node-role=branch-core] .skill-tree-node__label{font-size:.86rem}.skill-tree-tooltip{--tooltip-accent: #8bded5;position:absolute;z-index:5;width:208px;padding:10px 12px;border-radius:16px;display:grid;gap:7px;pointer-events:none;background:radial-gradient(circle at top left,color-mix(in srgb,var(--tooltip-accent) 14%,transparent),transparent 42%),linear-gradient(180deg,#151d22f5,#0b1116eb);border:1px solid color-mix(in srgb,var(--tooltip-accent) 34%,rgba(255,255,255,.14));box-shadow:0 18px 34px #0000003d}.skill-tree-tooltip__eyebrow{margin-bottom:0}.skill-tree-tooltip__title{font-family:var(--font-display);font-size:.96rem;line-height:1.05}.skill-tree-tooltip__detail{margin:0;color:var(--text-muted);font-size:.82rem;line-height:1.38}.skill-tree-tooltip__meta{display:flex;flex-wrap:wrap;gap:6px}.skill-tree-tooltip__meta-chip{padding:5px 8px;border-radius:999px;background:#ffffff0d;color:var(--gold);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}.skill-tree-action-tray[hidden]{display:none}.skill-tree-action-tray{--skill-tray-accent: #8bded5;position:relative;z-index:2;margin-top:-16px;padding:24px 16px calc(12px + var(--hud-floor-extra));border-radius:26px;display:grid;gap:10px;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--skill-tray-accent) 12%,transparent),transparent 34%),linear-gradient(180deg,#121b20e0,#0a0f12fa);border:1px solid color-mix(in srgb,var(--skill-tray-accent) 22%,rgba(255,255,255,.12));box-shadow:inset 0 1px #ffffff0a,0 -14px 30px #0000002e}.skill-tree-action-tray:before{content:"";position:absolute;top:-34px;left:50%;width:2px;height:44px;transform:translate(-50%);background:linear-gradient(180deg,color-mix(in srgb,var(--skill-tray-accent) 0%,transparent),color-mix(in srgb,var(--skill-tray-accent) 56%,transparent));box-shadow:0 0 16px color-mix(in srgb,var(--skill-tray-accent) 24%,transparent)}.skill-tree-action-tray:after{content:"";position:absolute;top:-18px;left:50%;width:134px;height:42px;transform:translate(-50%);border-radius:999px;background:radial-gradient(circle at center,color-mix(in srgb,var(--skill-tray-accent) 18%,transparent),transparent 72%);filter:blur(12px)}.skill-tree-action-tray__header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.skill-tree-action-tray__glyph{width:2.35rem;height:2.35rem;border-radius:999px;display:grid;place-items:center;background:#ffffff0f;color:color-mix(in srgb,var(--skill-tray-accent) 70%,white 18%);font-family:var(--font-display);font-size:1.15rem;letter-spacing:.08em}.skill-tree-action-tray__title-group{min-width:0;display:grid;gap:4px}.skill-tree-action-tray__title{font-family:var(--font-display);font-size:.98rem;line-height:1.05}.skill-tree-action-tray__detail{margin:0;color:var(--text-muted);font-size:.82rem;line-height:1.4}.skill-tree-action-tray__footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.skill-tree-action-tray__meta{display:flex;flex-wrap:wrap;gap:6px}.skill-tree-action-tray__chip{padding:5px 8px;border-radius:999px;background:#ffffff0d;color:var(--gold);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}.skill-tree-action-tray__chip.is-blocked{color:#fff3dad1}.skill-tree-action-tray__primary{min-width:8rem}.skill-tree-node[data-attack-type=quick]:after{top:16px;right:28px;bottom:18px;left:28px;background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.2),transparent 24%),linear-gradient(180deg,rgba(255,145,84,.4),transparent 90%);clip-path:polygon(50% 0%,70% 24%,60% 50%,78% 100%,46% 74%,26% 100%,38% 50%,30% 22%)}.skill-tree-node[data-attack-type=dash]:after{top:18px;right:24px;bottom:18px;left:24px;background:linear-gradient(135deg,#a4dcff70,#73cfff1a),radial-gradient(circle at center,rgba(255,255,255,.14),transparent 64%);clip-path:polygon(50% 0,66% 34%,100% 50%,66% 66%,50% 100%,34% 66%,0 50%,34% 34%)}.skill-tree-node[data-attack-type=power]:after{top:16px;right:30px;bottom:18px;left:30px;background:linear-gradient(180deg,#f6d15d6b,#fff7c91f);clip-path:polygon(46% 0,74% 0,58% 34%,76% 34%,34% 100%,42% 56%,24% 56%)}.skill-tree-node[data-attack-type=ranged]:after{top:18px;right:20px;bottom:20px;left:20px;border-radius:24px;background:linear-gradient(180deg,#b98a5a61,#7d624a1f),repeating-linear-gradient(180deg,rgba(255,255,255,.08) 0 4px,transparent 4px 8px)}.skill-tree-node[data-node-kind=other-root]:after{top:20px;right:20px;bottom:20px;left:20px;border-radius:999px;border:1px dashed rgba(247,199,101,.24);background:radial-gradient(circle at center,rgba(247,199,101,.08),transparent 58%)}.skill-tree-node[data-node-kind=combo]{border-radius:34px;clip-path:polygon(14% 0,86% 0,100% 50%,86% 100%,14% 100%,0 50%)}.skill-tree-node[data-node-kind=combo]:after{top:18px;right:22px;bottom:20px;left:22px;background:linear-gradient(90deg,transparent 0 10%,rgba(115,207,255,.28) 10% 16%,transparent 16% 36%,rgba(115,207,255,.28) 36% 42%,transparent 42% 62%,rgba(115,207,255,.28) 62% 68%,transparent 68%);border-radius:22px}.skill-tree-node[data-node-kind=time]{border-radius:999px}.skill-tree-node[data-node-kind=time]:after{top:18px;right:18px;bottom:18px;left:18px;border-radius:999px;border:1px dashed rgba(115,207,255,.26);background:radial-gradient(circle at center,rgba(115,207,255,.1),transparent 60%)}.skill-tree-node[data-node-role=ring-gate]:before,.skill-tree-node[data-node-role=branch-root]:before,.skill-tree-node[data-node-role=other-gate]:before{border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff0a,0 0 26px color-mix(in srgb,var(--node-accent) 10%,transparent)}.skill-tree-node[data-node-role=branch-root]:before{box-shadow:inset 0 0 0 1px #ffffff0d,0 0 34px color-mix(in srgb,var(--node-accent) 16%,transparent)}.skill-tree-node[data-node-role=branch-core]:before{top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:999px;border:1px solid rgba(139,222,213,.14);background:transparent;box-shadow:none}.skill-tree-node[data-node-role=branch-core] .skill-tree-node__glyph{min-width:1.78rem;min-height:1.78rem;font-size:.86rem}@keyframes skill-tree-rim-pulse{0%,to{box-shadow:inset 0 0 0 1px #ffffff0a,0 0 0 1px #f7c76529,0 0 18px #f7c7651a}50%{box-shadow:inset 0 0 0 1px #ffffff0a,0 0 0 1px #f7c76547,0 0 28px #f7c7652e}}.skill-tree-node.is-spendable:before{animation:skill-tree-rim-pulse 1.8s ease-in-out infinite}.setup-adventure-panel{width:100%}.story-scene-shell{--story-scene-accent: #f3c86b;width:min(1180px,calc(100vw - 24px));max-height:calc(100dvh - var(--safe-top) - var(--hud-bottom-floor) - 20px);border-radius:32px;overflow:hidden;display:grid;background:linear-gradient(180deg,#070c128f,#070c12e6),#ffffff08;border:1px solid rgba(255,226,170,.16);box-shadow:var(--shadow-heavy);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;isolation:isolate}.story-scene-frame{position:relative;min-height:min(76dvh,820px);display:grid;align-items:end}.story-scene-media{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.story-scene-media:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--story-scene-accent) 24%,transparent),transparent 28%),radial-gradient(circle at 84% 24%,rgba(255,255,255,.08),transparent 18%);mix-blend-mode:screen;opacity:.76;z-index:1}.story-scene-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#04070c14,#04070c42 30%,#04070cd6),radial-gradient(circle at center,color-mix(in srgb,var(--story-scene-accent) 16%,transparent),transparent 42%);z-index:2}.story-scene-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.04);transition:opacity .42s ease,transform .52s ease}.story-scene-image.is-active{opacity:1;transform:scale(1.01);animation:story-scene-pan 14s ease-out both}.story-scene-chrome{position:relative;z-index:3;padding:clamp(18px,2vw,28px);display:grid;gap:16px}.story-scene-progress-row{display:grid;gap:10px;max-width:min(360px,100%)}.story-scene-progress{justify-self:start;padding:6px 10px;border-radius:999px;background:#060a106b;color:#fff8e7db;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.story-scene-progress-track{position:relative;height:6px;border-radius:999px;overflow:hidden;background:#ffffff1f}.story-scene-progress-track__fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--story-scene-accent) 82%,white 12%),#ffffffeb);box-shadow:0 0 18px color-mix(in srgb,var(--story-scene-accent) 32%,transparent)}.story-scene-panel{width:min(720px,100%);padding:clamp(18px,2.2vw,24px);border-radius:26px;display:grid;gap:10px;background:linear-gradient(180deg,#0a1016a3,#080d12db),radial-gradient(circle at top left,color-mix(in srgb,var(--story-scene-accent) 14%,transparent),transparent 34%);border:1px solid color-mix(in srgb,var(--story-scene-accent) 24%,rgba(255,255,255,.08));box-shadow:inset 0 1px #ffffff0a,0 20px 36px #0000003d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.story-scene-kicker{margin:0;color:color-mix(in srgb,var(--story-scene-accent) 68%,white 22%);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.story-scene-title{margin:0;max-width:16ch;font-family:var(--font-display);font-size:clamp(1.9rem,4vw,3.4rem);line-height:.96;text-shadow:0 10px 34px rgba(0,0,0,.48)}.story-scene-copy{margin:0;width:min(56ch,100%);color:#fff7ebf0;line-height:1.6}.story-scene-actions{display:flex;flex-wrap:wrap;gap:10px}@keyframes story-scene-pan{0%{transform:scale(1.04)}to{transform:scale(1.01) translate3d(0,-1.2%,0)}}.campaign-summary-card{width:min(1120px,calc(100vw - 24px))}.campaign-summary-card__header{gap:10px}.campaign-summary-card__copy{margin:0;color:var(--text-muted);line-height:1.5}.campaign-summary-hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.campaign-summary-section{display:grid;gap:14px}.campaign-summary-section__heading strong{font-family:var(--font-display);font-size:1.02rem}.campaign-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.campaign-summary-metric,.campaign-summary-lane,.credits-section{padding:16px;border-radius:22px;display:grid;gap:8px;background:linear-gradient(180deg,#141d23f2,#0b1115eb),#ffffff08;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff08,0 12px 24px #00000024}.campaign-summary-metric__label,.campaign-summary-metric__detail,.campaign-summary-lane__row,.campaign-summary-lane__tag,.credits-section__line{color:var(--text-muted)}.campaign-summary-metric__value,.campaign-summary-lane__title,.credits-section__title{font-family:var(--font-display)}.campaign-summary-metric__label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.campaign-summary-metric__value{font-size:clamp(1.08rem,2vw,1.42rem);line-height:1}.campaign-summary-metric--hero{gap:10px;padding:20px;background:radial-gradient(circle at top left,rgba(247,199,101,.14),transparent 32%),linear-gradient(180deg,#18232afa,#0b1115f0);border-color:#f7c76529;box-shadow:inset 0 1px #ffffff0a,0 18px 28px #0000002e}.campaign-summary-metric--hero .campaign-summary-metric__value{font-size:clamp(1.5rem,3vw,2.3rem)}.campaign-summary-lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.campaign-summary-lane__heading{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.campaign-summary-lane__symbol{width:2rem;height:2rem;border-radius:999px;display:grid;place-items:center;background:#f7c7651f;color:var(--gold);font-family:var(--font-display);font-size:1rem}.campaign-summary-lane__tag{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}.campaign-summary-lane__rows{display:grid;gap:6px}.credits-card{width:min(900px,calc(100vw - 24px));overflow:hidden}.credits-card__copy{margin:0;color:var(--text-muted)}.credits-viewport{position:relative;min-height:360px;height:min(52dvh,520px);overflow:hidden;border-radius:24px;background:radial-gradient(circle at top,rgba(247,199,101,.1),transparent 38%),linear-gradient(180deg,#070c12e6,#070c12fa);border:1px solid rgba(255,255,255,.08)}.credits-viewport:before,.credits-viewport:after{content:"";position:absolute;left:0;right:0;height:72px;z-index:2;pointer-events:none}.credits-viewport:before{top:0;background:linear-gradient(180deg,#070c12fa,#070c1200)}.credits-viewport:after{bottom:0;background:linear-gradient(180deg,#070c1200,#070c12fa)}.credits-roll{--credits-duration-ms: 18s;position:absolute;left:0;right:0;top:0;display:grid;gap:18px;padding:18px 22px 42px;animation:campaign-credits-scroll linear var(--credits-duration-ms) both}.credits-section{justify-items:center;text-align:center}.credits-section--featured{padding:20px 16px;background:radial-gradient(circle at top,rgba(247,199,101,.14),transparent 42%),linear-gradient(180deg,#18232afa,#0b1115f0);border-color:#f7c76529}.credits-section__title{font-size:1rem}.credits-section__line{margin:0;line-height:1.45}@keyframes campaign-credits-scroll{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@media (prefers-reduced-motion: reduce){.skill-tree-node,.skill-tree-node:before,.skill-tree-node:after,.skill-tree-connector,.skill-tree-action-tray,.story-scene-image,.credits-roll{transition:none;animation:none}}@media (max-width: 900px){.setup-layer{align-items:flex-start;padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--hud-bottom-floor)) calc(12px + var(--safe-left))}.setup-modal{width:100%;margin:0;gap:14px}.hud-rail__objective,.hud-rail__summary{max-width:none;width:100%}.hud-rail{grid-template-columns:minmax(0,1fr) auto}.hud-rail__summary{grid-column:1 / -1}.hud-drawer{left:calc(var(--hud-edge-x) + var(--safe-left));width:auto}.hud-drawer__grid,.reward-grid,.dungeon-grid,.campaign-summary-grid,.campaign-summary-lanes,.campaign-summary-hero-grid{grid-template-columns:1fr}}@media (max-width: 720px){.skill-tree-sheet{width:100%;height:calc(100dvh - (var(--hud-edge-y) * 2) - var(--safe-top) - var(--hud-bottom-clearance));max-height:calc(100dvh - (var(--hud-edge-y) * 2) - var(--safe-top) - var(--hud-bottom-clearance));padding:14px;gap:12px;border-radius:26px}.skill-tree-top-rail{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"stats actions" "mode mode";gap:10px}.skill-tree-top-rail__stats{grid-area:stats}.skill-tree-top-rail__actions{grid-area:actions}.skill-tree-mode-chip{grid-area:mode;width:100%;min-width:0}.skill-tree-canvas{border-radius:24px}.skill-tree-node[data-node-role=root-core]{width:122px;min-height:122px}.skill-tree-node[data-node-role=ring-gate],.skill-tree-node[data-node-role=other-gate]{width:106px;min-height:106px}.skill-tree-node[data-node-role=branch-root]{width:118px;min-height:118px}.skill-tree-node[data-node-role=branch-core]{width:94px;min-height:94px}.skill-tree-node[data-node-role=branch-child]{width:92px;min-height:92px}.skill-tree-node{gap:6px;border-radius:30px}.skill-tree-node__glyph{min-width:1.84rem;min-height:1.84rem;font-size:.98rem}.skill-tree-node__label{font-size:.8rem}.skill-tree-node__submark{font-size:.58rem}.skill-tree-tooltip{width:min(196px,calc(100% - 18px))}.skill-tree-action-tray{margin-top:-14px;padding:20px 12px 12px;gap:10px;border-radius:22px}.skill-tree-action-tray__footer{flex-direction:column;align-items:stretch}.skill-tree-action-tray__primary{width:100%}.skill-tree-action-tray:before{top:-28px;height:36px}.skill-tree-action-tray:after{top:-14px;width:108px}}@media (max-width: 640px){.hud-rail{gap:10px}.hud-rail__summary span{flex:1 1 calc(33.333% - 8px);justify-content:center}.hud-menu-button{min-height:40px;padding:0 16px}.hud-toast-stack{top:calc(var(--safe-top) + 132px);width:calc(100vw - 24px)}.hud-drawer{top:auto;left:calc(var(--hud-edge-x) + var(--safe-left));right:calc(var(--hud-edge-x) + var(--safe-right));bottom:var(--hud-bottom-floor);width:auto;max-height:calc(100dvh - var(--safe-top) - var(--hud-bottom-floor) - 24px);border-radius:24px}.hud-sheet{--sheet-pad: 20px;width:calc(100vw - 24px);max-height:calc(100dvh - var(--safe-top) - var(--hud-bottom-floor) - 20px);border-radius:24px}.hud-sheet__actions{justify-content:stretch}.hud-sheet__actions>*{width:100%}.story-scene-shell{width:calc(100vw - 24px)}.story-scene-frame{min-height:min(72dvh,640px)}.story-scene-panel{width:100%;gap:8px}.story-scene-copy{width:100%}.story-scene-actions{flex-direction:column}.credits-viewport{height:min(48dvh,420px)}.setup-modal{gap:18px}.chest-puzzle-layer{padding:12px 12px calc(12px + var(--hud-bottom-floor)) 12px}.chest-puzzle-card{width:100%}.chest-puzzle-preview,.chest-puzzle-controls{flex-direction:column;align-items:stretch}.chest-puzzle-grid{gap:10px}.chest-puzzle-token{border-radius:20px;padding:12px}.chest-puzzle-action-tray{position:sticky;bottom:calc(-1 * var(--sheet-pad));margin:0 calc(-1 * var(--sheet-pad)) calc(-1 * var(--sheet-pad));padding:14px var(--sheet-pad) calc(14px + var(--hud-floor-extra)) var(--sheet-pad);background:linear-gradient(180deg,#09111400,#091114f7 24%)}.ending-card{gap:16px}.ending-progress-grid,.ending-combat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ending-card .hud-sheet__actions{padding-bottom:calc(4px + var(--hud-floor-extra))}.setup-footer,.settings-heading,.setup-toolbar{align-items:flex-start}.setup-footer{gap:12px;position:sticky;bottom:0;z-index:1;padding-top:12px;background:linear-gradient(180deg,#09111400,#091114f5 24%)}.reward-actions{padding-bottom:20px}.preset-status,.advanced-toggle{margin-left:0}.start-run-button{width:100%}.math-control-grid{grid-template-columns:1fr}}
