@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap');
:root{font-family:Inter,system-ui,sans-serif;color:#e9eef7;background:#0b101a;font-size:16px;color-scheme:dark;--muted:#a3afc1;--line:#2a3548;--yellow:#ffcf55;--pink:#f07bac;--blue:#76c4ff}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#1b2738;color:inherit;border-radius:7px;padding:.7rem 1rem;font-weight:600;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#2b3d56;transform:translateY(-1px)}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}.primary{background:var(--yellow);color:#191a20;border-color:var(--yellow)}.primary:hover:not(:disabled){background:#ffe398}.quiet{background:transparent;font-size:.875rem}.topbar{min-height:84px;padding:18px 4%;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);background:#0c121e}.wordmark{font-family:'Barlow Condensed',Impact,sans-serif;font-size:1.65rem;font-weight:900;font-style:italic;text-decoration:none;color:white;letter-spacing:-.03em}.wordmark strong{color:var(--yellow)}.episode{font-size:.75rem;font-weight:700;letter-spacing:.15em;color:var(--muted)}.episode span{padding:0 12px;color:#546078}.top-actions{margin-left:auto;display:flex;gap:8px}main{max-width:1550px;margin:auto;padding:28px 4%}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.12em;color:var(--muted);margin:0 0 10px}h1,h2,h3,p{margin-top:0}h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:3.6rem;font-weight:900;letter-spacing:.015em;margin-bottom:10px;line-height:1}h2{font-size:1.35rem;margin-bottom:8px}h3{font-size:1rem}p{line-height:1.55}.arena{display:grid;grid-template-columns:220px 1fr 270px;background:linear-gradient(110deg,#202534,#131d2d 65%);border:1px solid #344056;border-radius:12px;overflow:hidden;min-height:235px;gap:26px;align-items:center}.boss-art{height:100%;min-height:245px;overflow:hidden;position:relative}.boss-art svg{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.boss-info{padding:24px 0}.boss-info>p:not(.eyebrow){font-size:.875rem;color:var(--muted);margin-bottom:16px}.health{display:flex;gap:24px;font-size:1.6rem;font-weight:800;margin:18px 0}.health small{font-size:.875rem;font-weight:500;color:var(--muted)}.light-damage{color:#ffd45c}.heavy-damage{color:#ff8957}.boss-info .boss-rule{margin:0;font-size:.8rem}.intent{align-self:stretch;margin:20px 20px 20px 0;padding:20px;background:#0d1726;border:1px solid #375573;border-top:3px solid var(--blue);border-radius:8px;display:flex;flex-direction:column;justify-content:center}.intent h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:1.9rem}.intent p:last-child{font-size:.875rem;margin-bottom:0;color:#c5d1e4}.turnbar{display:flex;align-items:center;gap:24px;padding:22px 0;margin-top:6px}.turnbar h2,.turnbar p{margin-bottom:3px}.turnbar>span{font-size:.875rem;color:var(--muted)}.turnbar .primary{margin-left:auto;min-height:46px}.initial-heroes{display:grid;grid-template-columns:1fr 1fr;gap:20px}.initial-heroes article{background:#131d2b;border:1px solid var(--line);padding:30px;border-top:3px solid var(--pink);border-radius:10px}.initial-heroes article:last-child{border-top-color:var(--yellow)}footer{padding:25px 4%;color:#8190a6;font-size:.75rem;border-top:1px solid #202a3b;margin-top:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{background:#152033;color:#e9eef7;max-width:620px;width:calc(100% - 32px);max-height:90vh;border:1px solid #405374;border-radius:14px;padding:28px;box-shadow:0 24px 100px #0009}dialog::backdrop{background:#020710bf;backdrop-filter:blur(5px)}dialog p{color:#c2cede}dialog h2{font-size:1.6rem}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hero{min-width:0;background:#111b29;border:1px solid #2a374c;border-radius:12px;overflow:hidden;--accent:var(--pink)}.hero.will{--accent:var(--yellow)}.hero.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.hero-head{display:flex;align-items:center;gap:16px;padding:18px 20px;background:linear-gradient(100deg,#273044,#192335);border-bottom:1px solid #2c394b}.portrait{width:62px;height:72px;flex-shrink:0;border-radius:7px;overflow:hidden}.portrait svg{width:100%;height:100%}.hero-name{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;font-size:2rem;line-height:1}.hero-head p{font-size:.75rem;margin:4px 0 0;color:var(--muted)}.hero-head .badge{margin-left:auto;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.1em;border:1px solid currentColor;border-radius:4px;padding:5px 7px}.hero-body{padding:18px}.stats{display:flex;gap:20px;align-items:flex-start;margin-bottom:18px}.energy{min-width:80px}.statlabel{font-size:.7rem;letter-spacing:.09em;color:var(--muted);font-weight:700;display:block;margin-bottom:8px}.energy-value{font-size:1.2rem;letter-spacing:3px;color:#b7e368;font-weight:700}.aggro{flex:1;min-width:0}.aggro-label{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-bottom:8px}.aggro-track{display:flex;gap:3px}.aggro-pip{height:18px;flex:1;border-radius:3px;background:color-mix(in srgb,var(--pip) 8%,#172232);border:1px solid color-mix(in srgb,var(--pip) 40%,#172232)}.aggro-pip.filled{background:var(--pip);box-shadow:0 0 8px color-mix(in srgb,var(--pip) 12%,transparent)}.equipment{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.equip{border:1px solid #345270;border-radius:7px;padding:12px;background:#15273a;min-width:0}.equip h3{color:#a9d6ff;font-size:.875rem;margin:0 0 6px}.equip p{font-size:.75rem;line-height:1.5;color:#b4c7dc;margin-bottom:10px}.equip button{font-size:.75rem;padding:7px 9px;background:#223d54;max-width:100%}.equip.empty{border:1px dashed #354258;background:transparent;color:#8392a8;display:grid;place-items:center;font-size:.8rem;min-height:100px}.hand-heading{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin:0 0 10px;gap:10px}.hand{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.card{padding:0;background:#1d293b;border:1px solid #435068;border-top:3px solid var(--cardcolor,#d394dd);border-radius:8px;overflow:hidden;text-align:left;display:flex;flex-direction:column;min-width:0;position:relative}.card:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 8px 22px #0005}.card .art{height:92px;overflow:hidden;opacity:.92}.card svg{width:100%;height:100%;display:block}.card-content{padding:10px;display:flex;flex-direction:column;flex:1;gap:5px}.card-type{font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cardcolor);font-weight:800}.card h3{font-size:.875rem;line-height:1.3;margin:0}.card-text{font-size:.75rem;color:#b8c4d5;line-height:1.45;font-weight:400;margin:0}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:.625rem;color:#8fa0b7;margin-top:auto;padding-top:7px}.card.available{border-color:color-mix(in srgb,var(--cardcolor) 70%,#435068)}.piles{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.piles button{font-size:.75rem;padding:7px 9px;background:transparent;font-weight:400}.played{margin-top:15px;color:#91a1b8;font-size:.75rem;line-height:1.6}.battle-event{padding:20px 24px;background:#1f2030;border:1px solid #685240;border-left:4px solid var(--yellow);border-radius:9px;margin-bottom:22px;display:flex;gap:20px;align-items:center}.battle-event h2{margin-bottom:5px}.battle-event p{font-size:.875rem;margin-bottom:0;color:#c2cddd}.battle-event .actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.dice{width:58px;height:58px;border:2px solid var(--face,#fff);border-radius:12px;display:grid;place-items:center;font-size:1.6rem;color:var(--face);background:#101a29;flex-shrink:0;font-weight:800}.log{margin-top:24px;border-top:1px solid var(--line);padding-top:15px}.log summary{cursor:pointer;color:var(--muted);font-size:.875rem;padding:6px 0}.log ol{padding-left:20px;line-height:1.75;font-size:.8rem;color:#99aac1;max-height:240px;overflow:auto}.result{padding:30px;background:#182b32;border:1px solid #6dccae;border-radius:10px;margin-bottom:25px}.result.lost{background:#321e2c;border-color:#f0809a}.result h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:2.5rem}.choice-grid{display:grid;gap:10px;margin:15px 0}.choice-grid button{text-align:left}.choice-grid .selected{border-color:var(--yellow);background:#3a3423}.muted{color:var(--muted);font-size:.875rem}.pill{font-size:.75rem;padding:4px 8px;border-radius:4px;background:#223047;color:#b8c9e1}.target-control{display:flex;gap:10px;align-items:center;margin:12px 0}select{border:1px solid #52627b;background:#101a2a;color:white;padding:8px;border-radius:5px}.help-list{line-height:1.7;padding-left:22px}.help-list li{margin-bottom:10px}.warning{color:#ffcb8c}.intro{max-width:700px}.start-choice{display:flex;gap:10px;margin:20px 0}.start-choice button{flex:1}.start-choice button.selected{border-color:var(--yellow);background:#3b3629}.statusnote{font-size:.8rem;color:#becbdf}.mobile-turn{display:none}
@media(min-width:1400px){.hand{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1050px){.arena{grid-template-columns:160px 1fr 220px;gap:18px}.intent{padding:15px}.hero-body{padding:13px}.hero-head{padding:14px}.hand{gap:7px}.card-content{padding:8px}.equipment{gap:7px}.equip{padding:10px}}@media(max-width:800px){.hero-grid{grid-template-columns:1fr}.hero.active{order:-1}.arena{grid-template-columns:110px 1fr;gap:16px}.boss-art{min-height:200px}.intent{grid-column:1/-1;margin:0 15px 15px;padding:14px;display:block}.intent h2{font-size:1.4rem}.intent .eyebrow{margin-bottom:4px}.boss-info{padding:20px 12px 8px 0}h1{font-size:2.8rem}.health{font-size:1.35rem;gap:14px;margin:12px 0}.health small{font-size:.75rem}.boss-info>p:not(.eyebrow){margin-bottom:10px}.episode{display:none}.topbar{gap:12px;padding:14px 4%;min-height:72px}.wordmark{font-size:1.4rem}.top-actions{gap:5px}.top-actions button{padding:7px 9px;font-size:.75rem}.hand{grid-template-columns:repeat(3,minmax(0,1fr))}.turnbar{gap:12px;flex-wrap:wrap}.turnbar>span{display:none}.turnbar h2{font-size:1.2rem}.turnbar .primary{font-size:.875rem}.battle-event{flex-wrap:wrap;padding:16px;gap:12px}.battle-event .actions{width:100%;margin-left:0}.battle-event .event-copy{flex:1}.initial-heroes{grid-template-columns:1fr}main{padding-top:18px}}@media(max-width:400px){.hand{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{gap:10px}.hero-head .badge{font-size:.6rem}.equipment{grid-template-columns:1fr}.topbar .wordmark{font-size:1.2rem}.top-actions button{padding:7px 6px}.arena{grid-template-columns:85px 1fr}.health{gap:8px}}
.card-text,.equip p{font-size:.875rem}.card h3{font-size:1rem}.card-type,.card-footer,.statlabel,.hero-head .badge{font-size:.75rem}.hand-heading,.equip button,.piles button,.aggro-label{font-size:.875rem}.hand{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:500px){.hand{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{flex-wrap:wrap}.aggro{min-width:190px}.equipment{grid-template-columns:1fr 1fr}}

.turn-budget{background:#1d2c3d;border:1px solid #4d657e;border-radius:8px;padding:14px;margin-bottom:16px}.budget-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.budget-title strong{font-size:1rem;color:var(--yellow)}.weapon-bonus{font-size:.875rem;color:#a9d6ff;background:#183c50;border:1px solid #527b9a;padding:4px 8px;border-radius:5px}.card-slots{display:flex;gap:7px;margin:12px 0}.card-slot{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid #546879;border-radius:5px;font-size:.875rem}.card-slot.free{border-color:#d3b75d;color:#ffe08b;background:#373223}.card-slot.spent{color:#99a6b7;background:#263346}.turn-budget p{font-size:.875rem;color:#bdc9d8;margin:5px 0 0;line-height:1.5}.turn-budget .bonus-note{color:#98b4ce}.played-zone{margin-bottom:20px;background:#0b1522;border:1px dashed #47566c;border-radius:8px;padding:13px}.played-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.played-heading h3{font-size:.875rem;margin:0}.played-heading>span{font-size:.75rem;white-space:nowrap;color:var(--muted)}.played-cards{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;margin:0}.played-cards li{min-width:0}.played-card{width:100%;height:100%;padding:0;position:relative;overflow:hidden;text-align:left;background:#182437;border-top:3px solid var(--cardcolor);display:flex;flex-direction:column}.played-art{height:60px;width:100%;overflow:hidden}.played-art svg{width:100%;height:100%}.played-order{position:absolute;top:6px;left:6px;width:23px;height:23px;background:#071221e6;border:1px solid #a9b5c7;border-radius:50%;display:grid;place-items:center;font-size:.75rem;color:white}.played-card strong{font-size:.875rem;line-height:1.35;padding:8px 8px 3px;overflow-wrap:anywhere}.played-kind{font-size:.75rem;font-weight:400;color:var(--cardcolor);padding:0 8px 9px}.played-empty{margin:0;font-size:.875rem;color:#8e9fb6;line-height:1.6}@media(max-width:500px){.played-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.played-heading{align-items:flex-start}.turn-budget{padding:12px}}

.hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}.hero-body{padding:22px}.hero-head{padding:16px 22px}.hero-head p{font-size:.875rem}.hero .stats{max-width:850px;margin-bottom:20px}.tableau-scroll{overflow-x:auto;margin:0 0 20px;padding-bottom:4px}.physical-board{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(140px,1fr) minmax(180px,1.3fr) minmax(180px,1.3fr) minmax(90px,.65fr);gap:14px;min-width:750px;background:#0c1421;border:1px solid #354861;border-radius:12px;padding:16px}.physical-board .equipment{display:contents}.physical-board .equip{position:relative;padding:12px;display:flex;flex-direction:column;margin:0}.slot-label{display:block;font-size:.75rem;letter-spacing:.12em;font-weight:800;color:#9cc8ec;margin-bottom:10px}.equipment-art{height:155px;overflow:hidden;border-radius:5px;margin-bottom:12px}.equipment-art svg,.character-art svg,.pile-art svg{width:100%;height:100%;display:block}.physical-board .equip h3{font-size:1rem}.physical-board .equip p{font-size:.875rem;margin-bottom:14px}.physical-board .equip button,.physical-board .equip>.pill{margin-top:auto;align-self:flex-start}.character-slot{background:#221a2c;border:1px solid #915473;border-radius:7px;padding:12px;overflow:hidden}.character-slot .slot-label{color:var(--pink)}.character-art{height:215px;border-radius:5px;overflow:hidden;margin-bottom:12px}.character-slot h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:1.8rem;text-transform:uppercase;margin:0 0 4px}.character-slot p{font-size:.875rem;color:#ccb6c6;margin:0}.board-position{display:flex;align-items:stretch;min-width:0}.board-pile{width:100%;padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:12px;border:1px dashed #487960;background:#13251e;font-size:.875rem;text-align:center}.board-pile.ash{border-color:#88574a;background:#2b1d1b}.pile-symbol{font-size:2rem;color:#b1d999}.ash .pile-symbol{color:#f9a582}.board-pile strong{font-size:.875rem;overflow-wrap:anywhere}.pile-empty{flex:1;display:grid;place-items:center;color:#91a095;font-size:.875rem}.pile-count{margin-top:auto;font-size:.875rem}.pile-art{height:120px;width:100%;border-radius:5px;overflow:hidden;opacity:.8}.hand{grid-template-columns:repeat(5,minmax(0,1fr))}.played-cards{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.turn-budget{padding:16px}.physical-board .equip.empty{min-height:260px;text-align:center}.hand .card .art{height:120px}@media(max-width:1050px){.hand{grid-template-columns:repeat(4,minmax(0,1fr))}.physical-board{gap:10px;padding:12px}}@media(max-width:800px){.hero.active{order:initial}.hero-body{padding:14px}.hand{grid-template-columns:repeat(3,minmax(0,1fr))}.character-art{height:190px}.equipment-art{height:140px}}@media(max-width:500px){.hand{grid-template-columns:repeat(2,minmax(0,1fr))}.physical-board{min-width:740px}.hero-head{padding:14px}.played-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

.physical-board{grid-template-columns:minmax(90px,.62fr) minmax(90px,.62fr) repeat(3,minmax(160px,1fr)) minmax(90px,.62fr);min-width:870px}.character-art,.equipment-art{height:180px}.board-pile.deck{background:#142439;border-color:#507d9f}.deck .pile-symbol{color:#9ed7ff}.boss-trigger{background:#30191f;border:2px solid #b9484e;border-radius:8px;padding:12px 14px;margin:14px 0 0;max-width:620px}.trigger-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.red-threshold{color:#ffb3ad;font-size:.75rem;font-weight:800;letter-spacing:.08em}.trigger-heading strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:1.5rem;color:#ffd064;font-style:italic}.boss-trigger p{font-size:.875rem;line-height:1.5;margin:8px 0;color:#f3d0d2}.trigger-state{display:block;font-size:.75rem;line-height:1.5;color:#dba5aa}.boss-trigger.ended{border-color:#67505a;background:#231d27}.boss-trigger.ended .trigger-heading{opacity:.6}.boss-info{padding-right:12px}@media(max-width:800px){.character-art,.equipment-art{height:180px}.physical-board{min-width:870px}.boss-trigger{padding:10px}.trigger-heading{flex-wrap:wrap;gap:4px}.boss-trigger p{font-size:.875rem}.boss-info{padding-right:12px}}

/* Team selection and card-shaped illustrations. */
.menu-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin:12px 0 28px}.menu-heading h1{font-size:clamp(3rem,5vw,5rem);line-height:.92}.menu-heading h1 span{color:var(--yellow)}.menu-heading p{color:var(--muted);margin-bottom:10px}.hero-select{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.hero-option{background:#141d2b;border:2px solid #303c50;border-radius:12px;padding:10px;min-width:0;transition:border-color .2s}.hero-option.chosen{border-color:var(--accent);background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 14%,#141d2b),#141d2b)}.hero-pick{display:block;position:relative;width:100%;text-align:left;border:0;padding:0;background:transparent!important}.hero-pick:hover{transform:none!important}.selection-art{aspect-ratio:3/4;background:#0b111b;border-radius:7px;overflow:hidden}.selection-art svg{width:100%;height:100%;display:block}.pick-number{position:absolute;top:9px;right:9px;border-radius:50%;background:#0c1422;color:var(--accent);border:2px solid var(--accent);width:34px;height:34px;display:grid;place-items:center;z-index:1}.pick-name{font:800 2.3rem 'Barlow Condensed',Impact,sans-serif;display:block;text-transform:uppercase;margin:10px 5px 0;color:var(--accent)}.pick-title{display:block;margin:0 5px 10px;font-size:.875rem}.hero-option>p{font-size:.875rem;color:#c0cbdb;margin:10px 5px;min-height:4.7em}.hero-option>.quiet{width:100%;font-size:.875rem}.mission{display:flex;gap:24px;justify-content:space-between;align-items:center;margin:24px 0 12px;padding:22px;background:#1c2737;border:1px solid #40506a;border-radius:10px}.mission p{margin:0}.mission h2{font:800 2rem 'Barlow Condensed',Impact,sans-serif;margin:5px 0}.team-ready{display:flex;align-items:center;gap:24px}.team-ready .primary{white-space:nowrap;min-height:52px}.die-note{font-size:.875rem;color:#cbb9ef;background:#241f35;border-left:3px solid #a995e0;padding:14px}.character-art,.equipment-art{height:auto;aspect-ratio:3/4;background:#0b1420;display:grid;place-items:center}.physical-board .character-art svg,.physical-board .equipment-art svg{height:100%;width:100%}.card .art,.hand .card .art{height:auto;aspect-ratio:4/3;background:#0d1623}.detail-art{height:260px;max-height:35vh;background:#0b1421;margin:12px 0 20px;border-radius:8px}.detail-art svg{width:100%;height:100%;display:block}.boss-art{background:#0c1521}.boss-art svg{position:static;min-height:245px}.turnbar{position:sticky;top:0;z-index:5;background:#0b101af5;border-bottom:1px solid #344155;padding:16px 0;backdrop-filter:blur(10px)}.deck-reference{display:grid;gap:14px}.deck-reference article{display:grid;grid-template-columns:110px 1fr;gap:15px;border-bottom:1px solid #3b4860;padding-bottom:12px}.deck-reference p{font-size:.875rem;margin:5px 0}.reference-art{height:115px;background:#0b1421}.reference-art svg{width:100%;height:100%}input[type=number]{width:76px;min-height:42px;padding:8px;background:#101a2a;color:white;border:1px solid #52627b;border-radius:5px;font:inherit}.allocations{border:1px solid #475975;border-radius:8px;margin:15px 0;padding:12px}.allocations label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:7px 0}.allocations legend{font-size:.875rem}.boost-control{display:block;margin:15px 0}.die-result{display:flex;gap:24px;font-size:2rem;font-weight:800;margin:25px 0}.target-control{flex-wrap:wrap}.target-control select{max-width:100%}.hero-grid .hero{scroll-margin-top:110px}.played-art{background:#0a1420}.played-art svg{display:block}.hero-option:focus-within{outline:2px solid var(--yellow);outline-offset:3px}
@media(max-width:1000px){.hero-select{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-art{max-height:300px}.mission,.team-ready{flex-wrap:wrap}.menu-heading{align-items:start}.hero-option>p{min-height:3em}}
@media(max-width:560px){.hero-select{gap:10px}.hero-option{padding:7px}.menu-heading{display:block}.menu-heading h1{font-size:3.5rem}.menu-heading p{margin-top:14px}.pick-name{font-size:1.9rem}.pick-title{font-size:.875rem}.selection-art{max-height:none}.mission{padding:16px}.team-ready{gap:16px}.team-ready .primary{width:100%}.hero-option>p{min-height:0}.turnbar{gap:10px}.die-result{font-size:1.5rem}.deck-reference article{grid-template-columns:80px 1fr}}

/* A short roll, then the engine's actual result. No animation randomness. */
.roll-stage{padding:26px 10px;text-align:center;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}.roll-stage h2,.roll-stage p{margin:0}.rolling-die{--roll-color:#e8eef7;width:86px;height:86px;display:grid;place-items:center;flex-shrink:0;color:var(--roll-color);background:#070b12;border:2px solid #65708a;border-radius:17px;box-shadow:inset 3px 3px 0 #ffffff20,inset -5px -5px 0 #0008,0 12px 25px #0008;animation:dice-tumble .7s ease-out both;font-size:2.5rem;font-weight:800;transform-origin:center}.rolling-die.hero-die{background:#202057;border-color:#686aa0}.rolling-die.landed{animation:none;border-color:var(--roll-color)}.rolling-die span{display:block;letter-spacing:-.09em;padding-right:.09em}.die-summary{display:flex;align-items:center;justify-content:center;gap:24px;margin:25px 0}.die-summary strong{font-size:1.4rem}@keyframes dice-tumble{0%{transform:translate(-45px,-20px) rotate(-180deg) scale(.65)}25%{transform:translate(18px,-32px) rotate(-95deg) scale(1.05)}50%{transform:translate(-13px,5px) rotate(25deg) scale(.94)}75%{transform:translate(6px,-8px) rotate(-12deg)}100%{transform:translate(0,0) rotate(0deg)}}@media(prefers-reduced-motion:reduce){.rolling-die{animation:none}html{scroll-behavior:auto}.card:hover:not(:disabled),button:hover:not(:disabled){transform:none}}

.turn-actions{display:flex;gap:10px;align-items:center;margin-left:auto;flex-wrap:wrap}.turn-actions .primary{margin-left:0}.undo-button{white-space:nowrap;background:#19273a;border-color:#59718f}.modal-undo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #394b64;padding-top:16px;margin-top:20px}.modal-undo span{font-size:.875rem;color:var(--muted)}@media(max-width:560px){.turn-actions{width:100%;justify-content:space-between}.turn-actions button{flex:1;font-size:.875rem}}



