:root{--legendary: #ffb347;--bg: #17110c;--bg2: #221912;--panel: #2b2016;--panel2: #362818;--ink: #f4e6d2;--ink-dim: #b39a80;--ember: #ff8a3d;--ember-bright: #ffb066;--gold: #ffd479;--hot: #ff5a2c;--line: #4a3826;--lit: #2f4a2a;--lit-line: #6fbf5a;--common: #9aa4ae;--uncommon: #5db0ff;--rare: #c887ff;--bind: #46c9bd;--tint-common: 5%;--tint-uncommon: 5%;--tint-rare: 5%;--tint-legendary: 5%;--tint-tile: 8%;--radius: 0px;--shadow: 0 2px 0 rgba(0,0,0,.35);--rule: #6b5a45;--rule-soft: #3a2e22;--grid-line: rgba(190,160,120,.055);--grid-strong: rgba(190,160,120,.11);--tick: #8a755b;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-variant-numeric:tabular-nums}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:radial-gradient(120% 80% at 50% 0%,var(--bg2),var(--bg) 70%);color:var(--ink);overflow-x:hidden;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;user-select:none}#heat{position:fixed;inset:0;z-index:0;pointer-events:none;background-color:var(--heat-bg, transparent);transition:background-color 1.2s ease}#heat:after{content:"";position:absolute;inset:0;color:var(--heat-glow, transparent);background-image:radial-gradient(130% 72% at 50% 108%,currentColor,transparent 68%);opacity:var(--heat-glow-a, 0);transition:color 1.2s ease,opacity 1.2s ease}body.heated .quota-fill{background:var(--heat-accent)}body.heated .turn-pips .pip.filled{background:var(--heat-accent);border-color:var(--heat-accent)}body.heated .order-label{color:var(--heat-accent);transition:color 1.2s ease}body.heated .btn.primary,body.heated .roll-btn{background:var(--heat-accent);border-color:var(--heat-accent);box-shadow:none;transition:background 1.2s ease,border-color 1.2s ease,box-shadow 1.2s ease,transform .08s,filter .15s}body.heated .quota-fill,body.heated .turn-pips .pip.filled{transition:background 1.2s ease,width .5s cubic-bezier(.2,.8,.2,1)}#fx{position:fixed;inset:0;pointer-events:none;z-index:40}#app{position:relative;z-index:1;background-image:linear-gradient(to right,var(--grid-line) 0 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 0 1px,transparent 1px),linear-gradient(to right,var(--grid-strong) 0 1px,transparent 1px),linear-gradient(to bottom,var(--grid-strong) 0 1px,transparent 1px);background-size:20px 20px,20px 20px,100px 100px,100px 100px;background-position:50% 0;background-repeat:repeat;max-width:480px;margin:0 auto;min-height:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);display:flex;flex-direction:column}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}h1,h2,h3{font-weight:800;letter-spacing:.5px}.title-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px 24px;text-align:center}.title-logo{display:flex;align-items:center;gap:12px}.title-logo h1{font-size:46px;letter-spacing:8px;color:var(--gold);font-weight:500;text-shadow:0 2px 0 #4a2408}.title-streak{background:var(--panel);border:1px solid var(--line);border-radius:0;padding:6px 16px;font-weight:700}.title-buttons{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px;margin-top:8px}.title-row{display:flex;gap:12px}.title-row .btn{flex:1}.btn{background:transparent;border:1px solid var(--rule);border-radius:0;padding:13px 18px;font-weight:400;color:var(--ink);font-family:inherit;text-transform:uppercase;letter-spacing:2px;font-size:13px;transition:transform .08s,background .15s,border-color .15s}.btn:hover{background:#ffffff08;border-color:var(--tick)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--ember);border-color:var(--ember);color:#201004}.btn.primary:hover{background:var(--ember-bright);border-color:var(--ember-bright)}.btn.primary:active{box-shadow:none}.btn.big{padding:18px;font-size:18px}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-dim)}.btn.small{padding:8px 14px;font-size:14px}.run-screen{flex:1;display:flex;flex-direction:column;gap:14px;padding:10px 14px 18px}.run-header{display:flex;flex-direction:column;gap:8px}.hdr-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.puzzle{font-weight:500;color:var(--gold);letter-spacing:3px}.streak{color:var(--ink-dim);font-size:14px}.hdr-icons{display:flex;gap:6px}.icon-btn{width:32px;height:32px;border-radius:0;background:transparent;border:1px solid var(--rule-soft);display:grid;place-items:center;font-weight:400;color:var(--ink-dim)}.icon-btn:hover{border-color:var(--rule);color:var(--ink)}.order-label{font-size:12px;color:var(--ink-dim);font-weight:400;letter-spacing:1.2px;text-transform:uppercase;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.turn-pips{display:flex;gap:8px;align-items:center}.turn-pips .pip{width:3px;height:16px;border-radius:0;background:var(--rule);border:0}.turn-pips .pip.filled{background:var(--ember)}.quota-bar{position:relative;height:22px;background:transparent;border:0;border-bottom:1px solid var(--rule);border-radius:0;overflow:visible}.quota-bar:before,.quota-bar:after{content:"";position:absolute;bottom:-1px;width:1px;height:12px;background:var(--rule)}.quota-bar:before{left:0}.quota-bar:after{right:0}.quota-fill{position:absolute;left:0;bottom:-1px;height:6px;width:0;background:var(--ember);border-radius:0;transition:width .5s cubic-bezier(.2,.8,.2,1)}.quota-text{position:absolute;inset:auto 0 3px;display:grid;place-items:center;font-size:12px;font-weight:400;letter-spacing:1.5px;color:var(--ink)}.dice-area{display:flex;flex-direction:column;gap:12px;align-items:center}.dice-row{display:flex;gap:8px;justify-content:center;width:100%}.die{position:relative;flex:1;max-width:74px;aspect-ratio:1}.die-face{width:100%;height:100%;background:linear-gradient(160deg,#f3ead8,#d8c4a4);border-radius:14px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:12%;gap:4%;box-shadow:inset 0 -4px 8px #0003,var(--shadow);transition:transform .12s}.die:active .die-face{transform:scale(.94)}.pip-cell{display:grid;place-items:center}.pip-cell.pip:after{content:"";width:70%;height:70%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#4a3320,#2a1c0f)}.die-seven .die-num{grid-column:1 / 4;grid-row:1 / 4;display:grid;place-items:center;font-size:200%;font-weight:900;color:var(--hot)}.die-spiked .die-face,.die-seven{box-shadow:inset 0 0 0 3px var(--gold),var(--shadow)}.ench-badge{position:absolute;top:-6px;left:-4px;width:14.3px;height:14.3px;filter:drop-shadow(0 1px 2px #000);pointer-events:none}.die.ench-spike .die-face{box-shadow:inset 0 0 0 3px var(--gold),var(--shadow)}.die.ench-recast .die-face{box-shadow:inset 0 0 0 3px var(--ember),var(--shadow)}.die.ench-blank .die-face{box-shadow:inset 0 0 0 3px var(--uncommon),var(--shadow)}.die.ench-spike .ench-badge{color:var(--gold)}.die.ench-recast .ench-badge{color:var(--ember)}.die.ench-blank .ench-badge{color:var(--uncommon)}.die.ench-bagel .die-face{box-shadow:inset 0 0 0 3px var(--bind),var(--shadow)}.die.ench-bagel .ench-badge{color:var(--bind)}.die.ench-even .die-face{box-shadow:inset 0 0 0 3px var(--lit-line),var(--shadow)}.die.ench-odd .die-face{box-shadow:inset 0 0 0 3px var(--rare),var(--shadow)}.die.ench-even .ench-badge{color:var(--lit-line)}.die.ench-odd .ench-badge{color:var(--rare)}.die.primed .die-face{outline:2px dashed var(--gold);outline-offset:2px}.die.primed.forked .die-face{outline-style:dotted}.primer-badge{color:var(--gold)}.die.ratted .die-face{outline:2px dotted var(--bind);outline-offset:2px}.die.ratted.primed .die-face{outline-color:var(--gold)}.rat-badge{color:var(--bind)}.rat-badge.shifted{left:12px}.fork-badge{position:absolute;bottom:-6px;left:-4px;width:14.3px;height:14.3px;color:var(--ink-dim);opacity:.75;filter:drop-shadow(0 1px 2px #000);pointer-events:none}.fork-badge.ready{color:var(--lit-line);opacity:1}.die.forked .die-face{outline:2px dashed var(--lit-line);outline-offset:2px}.fork-to{position:absolute;bottom:-7px;right:-6px;min-width:16px;height:16px;padding:0 3px;border-radius:0;background:#14210f;color:var(--lit-line);border:1px solid var(--lit-line);font-size:11px;font-weight:900;display:grid;place-items:center;pointer-events:none;box-shadow:0 1px 3px #0009}.die.locked .die-face{filter:saturate(.6) brightness(.72);transform:scale(.9)}.die.unrolled .die-face{opacity:.5}.lock-badge{position:absolute;top:-6px;right:-4px;font-size:15px;filter:drop-shadow(0 1px 2px #000)}.nudge-wrap{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.nudge-btn{pointer-events:auto;height:32%;display:flex;justify-content:center;background:transparent;border-radius:0;padding:2px;color:#3a1e0a85;font-size:11px;line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.6);transition:background .12s ease,color .12s ease}.nudge-btn.up{align-items:flex-start}.nudge-btn.down{align-items:flex-end}.nudge-btn:hover:not(:disabled){background:#ff8a3d29;color:var(--hot)}.nudge-btn:active:not(:disabled){background:#ff8a3d4d}.nudge-btn.undo{color:var(--gold);font-size:13px;animation:undoPulse 1.6s ease-in-out infinite}.nudge-btn.undo:hover{background:#ffd47933;color:var(--gold)}@keyframes undoPulse{0%,to{opacity:.55}50%{opacity:1}}.nudge-btn:disabled{opacity:.18}@media (hover: none){.nudge-btn{color:#3a1e0a9e}}.roll-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.roll-btn{background:var(--ember-bright);color:#201004;font-weight:500;padding:13px 42px;border-radius:0;font-size:14px;letter-spacing:3px;text-transform:uppercase;border:1px solid var(--ember-bright);transition:transform .08s,filter .15s}.roll-btn:active{transform:scale(.96)}.roll-btn:disabled{filter:grayscale(.7) brightness(.6);box-shadow:none}.reroll-pips{display:flex;gap:7px;align-items:center}.rr-pip{width:3px;height:12px;border-radius:0;background:var(--rule);border:0}.rr-pip.filled{background:var(--ember)}.glyph{display:block;width:17px;height:17px}.glyph svg{width:100%;height:100%;display:block}.icon-btn .glyph{width:15px;height:15px}.seal-lock .glyph{width:13px;height:13px}.forge-rung .glyph{width:14px;height:14px;margin:0 auto}.streak-mark{width:13px;height:13px;display:inline-block;vertical-align:-2px}.crest-mark{width:44px;height:44px;margin:0 auto}.master-crest{display:inline-block;width:.85em;height:.85em;margin-left:.35em;vertical-align:-2px}.title-streak{display:inline-flex;align-items:center;gap:6px}.streak{display:inline-flex;align-items:center;gap:5px}.seal-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.seal-slot{position:relative;display:flex}.seal-slot .seal-btn{flex:1}.seal-lock{position:absolute;top:3px;right:3px;width:26px;height:26px;display:grid;place-items:center;font-size:12px;line-height:1;border-radius:0;background:transparent;border:1px solid currentColor;opacity:.38;transition:opacity .12s ease,background .12s ease,border-color .12s ease}.seal-lock:hover{opacity:.85;background:#0a070499;border-color:var(--lit-line)}.seal-lock:active{transform:scale(.92)}.seal-lock.set{opacity:1;background:#6fbf5a47;border-color:var(--lit-line)}@media (hover: none){.seal-lock{opacity:.5}}.seal-btn{position:relative;background:var(--panel);border:1px solid var(--rule);border-radius:0;padding:14px 9px 9px;display:flex;flex-direction:column;gap:2px;align-items:flex-start;min-height:78px;transition:transform .08s,border-color .15s,background .15s}.seal-btn:before{content:"";position:absolute;inset:-1px;pointer-events:none;background:linear-gradient(var(--tick),var(--tick)) 0 0 / 7px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 0 0 / 1px 7px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 0 / 7px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 0 / 1px 7px no-repeat,linear-gradient(var(--tick),var(--tick)) 0 100% / 7px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 0 100% / 1px 7px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 100% / 7px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 100% / 1px 7px no-repeat;opacity:.8}.seal-btn.dim{opacity:1;background:var(--panel);border-color:var(--rule-soft)}.seal-btn.dim .seal-name{color:var(--ink-dim)}.seal-btn.dim .seal-lvl,.seal-btn.dim .seal-stats{opacity:.62}.seal-btn.dim:before{opacity:.45}.seal-btn.lit{background:var(--lit);border-color:var(--lit-line);opacity:1;box-shadow:inset 0 0 0 1px #6fbf5a38}.seal-btn.lit:before{opacity:1}.seal-btn.lit .seal-name{background:var(--lit)}.seal-btn.lit:active{transform:scale(.96)}.seal-name{position:absolute;top:-7px;left:7px;right:7px;font-weight:400;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;line-height:1;text-align:left;color:var(--ink);background:var(--panel);padding:0 4px;width:max-content;max-width:calc(100% - 14px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seal-lvl{font-size:9.5px;color:var(--gold);font-weight:400;letter-spacing:.5px}.seal-stats{font-size:11px;color:var(--ink);opacity:.78;letter-spacing:.6px}.seal-preview{position:absolute;right:8px;bottom:6px;font-size:17px;font-weight:500;color:var(--ember-bright);letter-spacing:.5px}.seal-preview.clears{color:var(--gold)}.seal-btn.leveled{animation:sealFlash .7s ease}.seal-btn[class*=pair-]{border-width:2px;border-color:var(--pair)}.seal-btn.lit[class*=pair-]{border-color:var(--pair)}.seal-btn.dim[class*=pair-]{opacity:.62}.seal-btn.pair-0{--pair: #ff8a3d}.seal-btn.pair-1{--pair: #5db0ff}.seal-btn.pair-2{--pair: #7ed957}.seal-btn.pair-3{--pair: #e07ce0}@keyframes sealFlash{0%,to{background:var(--lit)}40%{background:var(--gold)}}.rune-shelf{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;min-height:44px}.rune-chip{position:relative;width:42px;height:42px;border-radius:11px;background:transparent;border:1px solid var(--rule-soft);display:grid;place-items:center}.rune-chip.spent{filter:grayscale(1);opacity:.45}.rune-chip.undoable{border-color:var(--ink-dim);box-shadow:none}.rune-chip.undoable .rune-charge{color:var(--ink-dim)}.rune-chip.charged{cursor:pointer;border-color:var(--gold)}.rune-chip.charged:active{transform:scale(.93)}.rune-chip.drained{filter:grayscale(.8);opacity:.5}.rune-charge{position:absolute;top:-5px;right:-3px;font-size:9px;color:var(--gold);text-shadow:none}.rune-chip.armed,.rune-chip.targeting{animation:chipPulse 1.1s ease-in-out infinite}@keyframes chipPulse{0%,to{border-color:var(--gold)}50%{border-color:var(--hot)}}.rune-hint{min-height:0;font-size:12.5px;font-weight:700;color:var(--gold);letter-spacing:.3px}.rune-hint.on{animation:pop .25s ease}.die.cast-source .die-face{box-shadow:inset 0 0 0 3px var(--hot),var(--shadow);transform:scale(1.04)}.die.cast-target .die-face{outline:2px dashed rgba(255,212,121,.6);outline-offset:3px}.die.castable{cursor:grab;touch-action:none}.dice-row.dragging .die{cursor:grabbing}.dice-row.dragging .die-face{opacity:.55;transition:opacity .1s}.die.drag-source .die-face{opacity:1;transform:scale(1.08);box-shadow:inset 0 0 0 3px var(--hot),0 8px 20px #00000080}.die.drag-over .die-face{opacity:1;outline:3px solid var(--gold);outline-offset:3px;box-shadow:0 0 #ffd4798c,var(--shadow)}.tooltip{position:fixed;z-index:200;max-width:240px;background:#0d0906;border:1px solid var(--line);border-radius:0;padding:8px 10px;font-size:12px;color:var(--ink);box-shadow:var(--shadow);pointer-events:none}.cascade{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(60% 40% at 50% 50%,#1a140cdb,#0a0704f0);backdrop-filter:blur(2px)}.cascade.hidden{display:none}.cascade-seal{font-size:15px;font-weight:800;color:var(--gold);letter-spacing:1px}.cascade-dice{display:flex;gap:6px}.casc-die{min-width:30px;padding:4px 6px;background:#e9dcc4;color:#2a1c0f;border-radius:0;font-weight:900;text-align:center;animation:pop .25s ease}.casc-die.echo{background:#cbb9e0}.casc-die.swept{background:#b9c4a8;font-size:85%}@keyframes pop{0%{transform:scale(0) translateY(10px);opacity:0}to{transform:scale(1);opacity:1}}.cascade-total{font-size:64px;font-weight:900;color:var(--ember-bright);text-shadow:none}.cascade-total.thunk{animation:thunk .3s ease}.cascade-total.slam{animation:slam .26s ease}@keyframes thunk{0%{transform:scale(1.35);color:var(--hot)}to{transform:scale(1)}}@keyframes slam{0%{transform:scale(1.45) rotate(-2deg);color:var(--gold)}to{transform:scale(1)}}.cascade-formula{font-size:15px;color:var(--ink-dim);font-weight:700}.cascade-banner{font-size:22px;font-weight:900;color:var(--gold);min-height:28px;text-shadow:none}.cascade-banner:not(:empty){animation:pop .35s ease}.shaking{animation:shake .45s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(calc(-6px * var(--shake,1)),2px)}40%{transform:translate(calc(5px * var(--shake,1)),-3px)}60%{transform:translate(calc(-4px * var(--shake,1)),2px)}80%{transform:translate(calc(3px * var(--shake,1)),-1px)}}.overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#080503b8;backdrop-filter:blur(3px);padding:20px;animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.overlay-panel{width:100%;max-width:440px;max-height:92vh;overflow-y:auto;background:var(--bg2);border:1px solid var(--rule);border-radius:0;padding:22px;box-shadow:0 10px 40px #0000008c;position:relative}.overlay-panel:before{content:"";position:absolute;inset:5px;pointer-events:none;z-index:2;background:linear-gradient(var(--tick),var(--tick)) 0 0 / 10px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 0 0 / 1px 10px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 0 / 10px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 0 / 1px 10px no-repeat,linear-gradient(var(--tick),var(--tick)) 0 100% / 10px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 0 100% / 1px 10px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 100% / 10px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 100% / 1px 10px no-repeat;opacity:.7}.overlay-panel h2{text-align:center;margin-bottom:14px;font-weight:400;font-size:17px;text-transform:uppercase;letter-spacing:3px}.icon-btn.close{position:absolute;top:12px;right:12px}.draft-overlay{padding:12px}.draft-overlay .overlay-panel{display:flex;flex-direction:column;overflow:hidden;max-height:96vh;padding:18px}.draft-overlay .overlay-panel h2{margin-bottom:6px}.draft-status{display:flex;justify-content:center;gap:10px;flex:none;font-size:12.5px;color:var(--ink-dim);margin-bottom:8px}.draft-quota:before{content:"·";margin-right:10px}.draft-held{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;flex:none;margin-bottom:11px}.draft-held-none{font-size:12px;color:var(--ink-dim);opacity:.75}.draft-held-rune{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--panel2);border:1px solid currentColor}.draft-held-rune.spent{opacity:.45;text-decoration:line-through}.draft-held-emoji{width:17px;height:17px;display:inline-grid;place-items:center}@media (max-height: 820px){.draft-overlay .draft-card{padding:9px 12px}.draft-overlay .draft-text{margin:4px 0 8px}.draft-overlay .draft-take{padding:7px}.draft-status{margin-bottom:5px}.draft-held{margin-bottom:8px}}.draft-held-emoji>svg{width:100%;height:100%}.draft-overlay .draft-card{padding:11px 14px}.draft-overlay .draft-text{margin:6px 0 10px}.draft-overlay .draft-emoji{margin-bottom:0}.draft-overlay .draft-cards{gap:10px}.draft-overlay .draft-take{padding:9px}.draft-cards{display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1 1 auto;padding:2px;margin:-2px;background:linear-gradient(var(--bg2),transparent) 0 0 / 100% 14px no-repeat local,linear-gradient(transparent,var(--bg2)) 0 100% / 100% 14px no-repeat local,radial-gradient(farthest-side at 50% 0,rgba(0,0,0,.5),transparent) 0 0 / 100% 12px no-repeat scroll,radial-gradient(farthest-side at 50% 100%,rgba(0,0,0,.5),transparent) 0 100% / 100% 12px no-repeat scroll}.draft-cards.settled .draft-card{animation:none}.draft-card.compact{display:flex;align-items:center;gap:10px;padding:8px 12px;opacity:.55}.draft-card.compact .draft-emoji{width:30px;height:30px;border-radius:9px;margin:0}.draft-card.compact .draft-emoji>svg{width:26.6px;height:26.6px}.draft-card.compact .draft-name{font-size:13px;margin:0}.draft-card{border:3px solid var(--rule);border-radius:0;padding:14px;background:var(--panel);text-align:center;animation:slideUp .3s ease backwards}.draft-card:nth-child(2){animation-delay:.06s}.draft-card:nth-child(3){animation-delay:.12s}@keyframes slideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.draft-card.rarity-common{border-color:var(--common);background:color-mix(in srgb,var(--common) var(--tint-common),var(--panel))}.draft-card.rarity-uncommon{border-color:var(--uncommon);background:color-mix(in srgb,var(--uncommon) var(--tint-uncommon),var(--panel))}.draft-card.rarity-rare{border-color:var(--rare);background:color-mix(in srgb,var(--rare) var(--tint-rare),var(--panel))}.draft-card.rarity-legendary{border-color:var(--legendary);background:color-mix(in srgb,var(--legendary) var(--tint-legendary),var(--panel))}.draft-card.rarity-legendary .draft-rarity{color:var(--legendary);font-weight:400;letter-spacing:2.5px}.draft-emoji{width:54px;height:54px;border-radius:14px;background:var(--panel2);border:1px solid var(--rule-soft);display:grid;place-items:center;margin:0 auto 2px}.draft-emoji>svg{width:49.4px;height:49.4px}.draft-emoji.rarity-common{border-color:#9aa4ae80;background:color-mix(in srgb,var(--common) calc(var(--tint-common) + var(--tint-tile)),var(--panel))}.draft-emoji.rarity-uncommon{border-color:#5db0ff8c;background:color-mix(in srgb,var(--uncommon) calc(var(--tint-uncommon) + var(--tint-tile)),var(--panel))}.draft-emoji.rarity-rare{border-color:#c887ff99;background:color-mix(in srgb,var(--rare) calc(var(--tint-rare) + var(--tint-tile)),var(--panel))}.draft-emoji.rarity-legendary{border-color:#ffb347a6;background:color-mix(in srgb,var(--legendary) calc(var(--tint-legendary) + var(--tint-tile)),var(--panel))}.draft-name{font-weight:400;font-size:15px;margin-top:6px;text-transform:uppercase;letter-spacing:2.5px}.draft-rarity{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-dim);margin-top:2px}.draft-card.rarity-common .draft-rarity{color:var(--common)}.draft-card.rarity-uncommon .draft-rarity{color:var(--uncommon)}.draft-card.rarity-rare .draft-rarity{color:var(--rare)}.draft-text{font-size:12.5px;color:var(--ink);opacity:.85;margin:9px 0 12px;line-height:1.45}.draft-take{width:100%;background:transparent;color:var(--ember);font-weight:400;padding:11px;border-radius:0;border:1px solid var(--ember);text-transform:uppercase;letter-spacing:2.5px;font-size:12px;transition:background .12s,color .12s}.draft-take:hover,.draft-take:active{background:var(--ember);color:#201004}.replace-panel{display:flex;flex-direction:column;gap:6px;margin-top:4px}.replace-hint{font-size:12px;color:var(--ink-dim);margin-bottom:2px}.replace-btn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:9px 12px;border-radius:0;background:var(--panel2);border:1px solid var(--rule-soft);text-align:left}.replace-btn:hover{border-color:var(--ember)}.replace-btn.spent{opacity:.6}.replace-head{display:flex;align-items:center;gap:10px}.replace-emoji{width:30px;height:30px;border-radius:9px;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center}.replace-emoji>svg{width:26.6px;height:26.6px}.replace-name{font-size:13px;font-weight:700;color:var(--ink)}.replace-text{font-size:12px;line-height:1.35;color:var(--ink-dim)}.replace-note{font-size:11px;line-height:1.3;color:var(--gold)}.replace-cancel{align-self:center;margin-top:4px;background:transparent;color:var(--ink-dim);border:1px solid var(--line);border-radius:0;padding:6px 20px;font-size:13px}.draft-skip{text-transform:uppercase;letter-spacing:2px;font-size:12px;display:block;flex:0 0 auto;margin:16px auto 0;background:transparent;color:var(--ink-dim);border:1px solid var(--line);border-radius:0;padding:8px 24px}.spike-dice{display:flex;gap:8px;justify-content:center}.spike-die{width:56px;aspect-ratio:1;background:none}.spike-die.picked{outline:2px solid var(--hot);outline-offset:2px}.bagel-bind{margin-top:14px;width:100%}.bagel-bind:disabled{opacity:.4;cursor:default}.die-blank{background:linear-gradient(160deg,#cfc4b2,#a8998240);box-shadow:inset 0 0 0 2px #5a462d73,var(--shadow)}.choice-overlay .overlay-panel{text-align:center}.choice-note{font-size:12.5px;color:var(--ink-dim);margin:10px 0}.draw-down-grid{display:flex;flex-direction:column;gap:8px;margin-top:12px}.draw-down-step{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--ember-bright)}.draw-down-seal{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:var(--panel);border:1px solid var(--line);border-radius:0}.draw-down-seal:hover{border-color:var(--gold)}.ts-name{font-weight:700}.ts-lvl{color:var(--ink-dim);font-size:13px}.result-overlay .overlay-panel{text-align:center}.result-master h2{color:var(--gold);font-size:30px}.result-dead h2{color:var(--ink-dim)}.result-overlay.master .overlay-panel{background:radial-gradient(80% 60% at 50% 0%,rgba(255,180,102,.25),var(--bg2));border-color:var(--gold)}.near-miss{font-size:34px;font-weight:900;color:var(--hot);margin:8px 0}.result-sub{color:var(--ink-dim);font-size:13px}.result-forged{font-size:26px;font-weight:900;color:var(--ember-bright);margin-top:14px}.result-orders{color:var(--ink-dim)}.result-runes{margin:12px 0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.result-forge{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-dim);margin-bottom:6px}.result-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}.forge-picker{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:4px}.forge-mode{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.mode-name{font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.forge-mode.bound .mode-name{color:#b9a4e8}.forge-mode.finished .mode-name{color:#86d6de}.forge-rungs{display:flex;gap:8px}.forge-rung{position:relative;width:40px;height:40px;border-radius:0;background:var(--panel);border:1px solid var(--line);color:var(--ink-dim);font-weight:900;font-size:15px;display:grid;place-items:center;transition:transform .12s ease,border-color .12s ease,color .12s ease}.forge-rung:not(.locked):hover{border-color:var(--ember-bright);color:var(--ink)}.forge-rung.on{border-color:var(--gold);color:var(--gold);border-width:2px;transform:translateY(-2px)}.forge-rung.locked{opacity:.45;font-size:13px;cursor:not-allowed}.forge-rung.bound{border-color:#4a3a6b;color:#b9a4e8;background:linear-gradient(180deg,#221a33,var(--panel))}.forge-rung.bound:not(.locked):hover{border-color:#a98cff;color:#ddd0ff}.forge-rung.bound.on{border-color:#a98cff;color:#e2d6ff}.forge-name.bound{color:#cbb6ff}.forge-rung.finished{border-color:#2a5a63;color:#86d6de;background:linear-gradient(180deg,#10262b,var(--panel))}.forge-rung.finished:not(.locked):hover{border-color:#6fdbe0;color:#ccf2f5}.forge-rung.finished.on{border-color:#6fdbe0;color:#ddf6f8}.forge-name.finished{color:#a8e6ea}.victory-unlock.new-mode{border-color:#6fdbe0;border-width:2px}.range-chip{font-size:11px;font-weight:800;color:#86d6de;letter-spacing:.04em}.range-chip:not(.on){display:none}.seal-gain{color:#86d6de;font-weight:800}.seal-gain.spent{color:var(--ink-dim);font-weight:600;opacity:.6}.rung-win{position:absolute;top:-6px;right:-5px;font-size:11px;filter:drop-shadow(0 1px 2px #000)}.forge-name{font-weight:800;font-size:14px;color:var(--ink);margin-top:4px}.forge-blurb{font-size:12px;line-height:1.35;min-height:2.7em;color:var(--ink-dim);text-align:center;max-width:300px}.victory-overlay .overlay-panel{text-align:center;background:radial-gradient(80% 60% at 50% 0%,rgba(255,180,102,.28),var(--bg2));border-color:var(--gold)}.victory-crest{font-size:52px;animation:pop .45s ease}.victory-title{color:var(--gold);font-size:32px;text-shadow:none}.victory-sub{color:var(--ink-dim);font-size:13px;margin-top:2px}.victory-unlock{margin:16px 0 4px;padding:12px;border:1px dashed var(--gold);border-radius:0;background:#ffd47912}.unlock-label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ember-bright)}.unlock-name{font-size:19px;font-weight:900;color:var(--gold);margin:2px 0}.unlock-blurb{font-size:12.5px;color:var(--ink-dim)}.victory-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}.codex-screen,.stats-screen{padding:14px 16px 40px}.sub-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.sub-header h2{font-size:18px}.codex-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.codex-rune{background:var(--panel);border:1px solid var(--line);border-radius:0;padding:10px}.codex-rune.locked{opacity:.55}.codex-rune.rarity-uncommon{border-left:3px solid var(--uncommon)}.codex-rune.rarity-rare{border-left:3px solid var(--rare)}.codex-rune.rarity-legendary{border-left:3px solid var(--legendary)}.codex-emoji{width:24px;height:24px;margin:0 auto}.codex-rname{font-weight:800;font-size:13px;margin:3px 0}.codex-rtext{font-size:11px;color:var(--ink-dim);line-height:1.3}.codex-seals{display:flex;flex-direction:column;gap:6px}.codex-seal{display:flex;justify-content:space-between;background:var(--panel);border:1px solid var(--line);border-radius:0;padding:8px 12px}.cs-name{font-weight:700}.cs-best{color:var(--ink-dim);font-size:13px}.stat-list{display:flex;flex-direction:column;gap:6px}.stat-row{display:flex;justify-content:space-between;background:var(--panel);border:1px solid var(--line);border-radius:0;padding:10px 14px}.stat-val{font-weight:800;color:var(--ember-bright)}.stat-best-runes{margin:12px 0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.log-panel{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.log-actions{display:flex;gap:10px;align-items:center;margin-top:10px}.log-actions .btn{flex:1}.log-actions .btn.ghost{flex:0 0 auto}.stats-note{font-size:12px;color:var(--ink-dim);text-align:center;margin-top:14px}.toast{pointer-events:none;position:fixed;left:50%;bottom:40px;transform:translate(-50%,20px);z-index:300;background:#0d0906;border:1px solid var(--line);border-radius:0;padding:10px 18px;font-size:13px;font-weight:700;opacity:0;transition:opacity .25s,transform .25s;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%)}.master-banner{position:fixed;inset:0;z-index:150;display:grid;place-items:center;font-size:40px;font-weight:900;color:var(--gold);background:radial-gradient(circle at 50% 50%,#ffb46659,#0a0704d9);opacity:0;transition:opacity .3s;text-shadow:none;pointer-events:none}.master-banner.show{opacity:1}body.coach-gated #app,body.coach-gated .overlay{pointer-events:none}body.coach-gated .run-header,body.coach-gated .coach-live{pointer-events:auto}body.coach-gated #app .coach-live{filter:brightness(1.08)}.coach-veil{position:fixed;z-index:190;pointer-events:none;border-radius:0;box-shadow:0 0 0 9999px #060403b8,0 0 0 2px var(--heat-accent, var(--ember)) inset;transition:top .3s cubic-bezier(.2,.8,.2,1),left .3s cubic-bezier(.2,.8,.2,1),width .3s cubic-bezier(.2,.8,.2,1),height .3s cubic-bezier(.2,.8,.2,1)}.coach-veil.no-hole{top:0;left:0;width:100%;height:100%;box-shadow:none;background:#060403b8;border-radius:0}.coach-veil.no-hole.centred{background:#06040373}.coach-tip{position:fixed;z-index:200;pointer-events:none;background:#0d0906;border:1px solid var(--heat-accent, var(--ember));border-radius:0;padding:13px 15px;box-shadow:var(--shadow);opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease}.coach-tip.in{opacity:1;transform:none}.coach-tip p{font-size:13.5px;line-height:1.45;color:var(--ink)}.coach-tip .btn{pointer-events:auto;margin-top:10px;width:100%;padding:9px;font-size:13px;background:var(--panel);border:1px solid var(--line)}.coach-tip.waiting:after{content:"";display:block;height:3px;margin-top:10px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--heat-accent, var(--ember)),transparent);background-size:200% 100%;animation:coachPulse 1.6s ease-in-out infinite}@keyframes coachPulse{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){.coach-veil,.coach-tip{transition:none}.coach-tip.waiting:after{animation:none}}@media (min-width: 481px){#app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}@media (prefers-color-scheme: light){#heat{background-color:transparent}#heat:after{opacity:calc(var(--heat-glow-a, 0) * .4)}body.heated .order-label{color:var(--ink-dim)}body.heated .quota-fill{background:linear-gradient(90deg,var(--ember),var(--gold))}body.heated .btn.primary{background:linear-gradient(180deg,var(--ember),var(--hot));border-color:var(--hot)}:root{--bg: #f0e6d8;--bg2: #f7efe2;--panel: #fff;--panel2: #f0e4d2;--ink: #2a1c0f;--ink-dim: #8a755c;--line: #d8c3a4;--lit: #dff0d6}:root{--rule: #b39a78;--rule-soft: #d3bd9c;--tick: #9a8464;--grid-line: rgba(90,120,150,.1);--grid-strong: rgba(90,120,150,.17)}.title-logo h1{color:#7a4a12;text-shadow:none}.puzzle{color:#7a4a12}.seal-lvl{color:#8a5a18}.seal-preview{color:#b8500f}.die-face{background:#fffaf0}.pip-cell.pip:after{background:#2a1c0f}body{color:var(--ink)}}.rune-emoji,.codex-emoji,.ench-badge,.rune-ico{display:block;flex:none;line-height:0}.rune-emoji>svg,.codex-emoji>svg,.ench-badge>svg,.rune-ico>svg{width:100%;height:100%;display:block}.draft-emoji>svg,.replace-emoji>svg{display:block}.rune-emoji{width:26px;height:26px}.rune-svg.rarity-common{color:var(--common)}.rune-svg.rarity-uncommon{color:var(--uncommon)}.rune-svg.rarity-rare{color:var(--rare)}.rune-svg.rarity-legendary{color:var(--legendary)}.rune-ico{width:22px;height:22px}.codex-unknown{display:grid;place-items:center;font-size:20px;opacity:.5}
