.arena-shell{max-width:1150px;margin:auto;padding:24px}.arena-header{position:relative;border-bottom:1px solid #79623e;padding-bottom:24px;margin-bottom:24px}.arena-header img{float:right;border-radius:50%}.arena-header a{display:block;margin-bottom:16px;color:#d7b577}.arena-header h1{font-size:clamp(30px,5vw,52px);color:#ecd5a7}.arena-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:20px 0}.arena-stats article,.arena-card{border:1px solid #806941;border-radius:10px;padding:18px;background:#211d23}.arena-stats strong{display:block;font-size:24px;color:#e9c476}#arenaNav{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.arena-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.arena-card{display:flex;flex-direction:column;gap:10px}.arena-card h3,.arena-card p{margin:0}.arena-card button{margin-top:auto}.arena-shell select,.arena-shell input{background:#27232b;color:#fff;border:1px solid #9f865b;padding:10px;max-width:100%}.arena-shell option{background:#27232b;color:#fff}.arena-shell button,.arena-shell select{min-height:44px}.arena-card.is-turn{border:3px solid #ffd275;box-shadow:0 0 18px #b3834d66}.arena-card.is-target{outline:3px solid #76b8ff}.arena-card.is-out{opacity:.55}.arena-teams{display:grid;grid-template-columns:1fr 1fr;gap:20px}.arena-log{max-height:340px;overflow:auto}.arena-log li{margin:10px 0}.arena-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.arena-modal{background:#211d23;color:#eee;max-width:min(700px,92vw);border:1px solid #c4a269;border-radius:12px}.arena-modal::backdrop{background:#000a}.arena-shell table{width:100%;text-align:left;border-collapse:collapse}.arena-shell td,.arena-shell th{padding:10px;border-bottom:1px solid #54452e}.arena-shell .primary{background:linear-gradient(#e4c58c,#ad7c34);color:#241a10}.arena-muted{color:#bcafb9}@media(max-width:650px){.arena-shell{padding:15px}.arena-teams{grid-template-columns:1fr}.arena-header img{width:58px;height:58px}}

.arena-portrait{width:100px;height:100px;object-fit:cover;border-radius:50%;border:3px solid #c8a765;flex-shrink:0}#arenaIdentity{display:flex;align-items:center;gap:20px;margin:20px 0}#arenaIdentity h2{margin:0 0 12px}#arenaStatus{min-height:1.5em;color:#e9c476}.arena-shell[aria-busy="true"] [data-action]{cursor:progress}.arena-card .arena-portrait{width:64px;height:64px}

.arena-modal h2,.arena-log li{white-space:pre-line}.arena-modal h2{font-size:clamp(18px,3vw,24px);line-height:1.6}
/* Mobile-first battle interface, scoped away from Adventures. */
.arena-shell{width:100%;box-sizing:border-box;padding:20px max(16px,env(safe-area-inset-right)) 40px;overflow-wrap:anywhere}.arena-shell *{box-sizing:border-box}.arena-shell button{touch-action:manipulation;font-size:16px;min-height:48px;border-radius:12px}.arena-shell input,.arena-shell select{font-size:16px;border-radius:10px;width:100%}.arena-shell pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.7}.arena-header{padding-bottom:18px}.arena-header h1{font-size:clamp(28px,6vw,44px);margin:12px 0}.arena-header p{max-width:42ch;line-height:1.6;color:#c3b6aa}.arena-skin{display:flex;flex-direction:column;align-items:center;gap:10px}.arena-skin button{font-size:14px;min-height:44px;padding:8px 12px}#arenaIdentity{align-items:center;gap:18px}#arenaIdentity h2{font-size:clamp(21px,5vw,30px)}#arenaNav{flex-wrap:nowrap;overflow-x:auto;padding:8px 0 14px;scrollbar-width:thin;scroll-snap-type:x proximity}#arenaNav button{flex:0 0 auto;scroll-snap-align:start}.arena-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.arena-stats article{padding:13px 10px;border-radius:12px;background:linear-gradient(145deg,#302733,#1b1921)}.arena-stats strong{font-size:clamp(19px,5vw,27px)}.arena-stats span{font-size:13px;color:#c6b8a8}.arena-card{min-width:0;border-color:#685337;background:linear-gradient(150deg,#28232c,#19171f);padding:18px;border-radius:16px;line-height:1.5}.arena-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.arena-main-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.arena-main-actions button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-height:140px;padding:18px;text-align:left;background:linear-gradient(135deg,#5a4125,#29202a);border:1px solid #b99151;box-shadow:0 8px 24px #0004;color:#f9e7c6}.arena-main-actions button:first-child{background:linear-gradient(135deg,#e0bc79,#ac7733);color:#21180d}.arena-main-actions strong{font-size:19px;line-height:1.25}.arena-main-actions small{font-size:13px;font-weight:400;opacity:.85}.arena-cart{border:2px solid #e4bd70;background:linear-gradient(130deg,#42301e,#28202c);border-radius:18px;padding:20px;margin:20px 0 28px;box-shadow:0 8px 28px #0005}.arena-cart h3{font-size:24px;color:#f8d997;margin-top:0}.arena-cart .primary{display:block;width:100%;font-size:20px;min-height:56px;margin:16px 0}.arena-cart li{padding:8px 0}.arena-loadout{display:grid;gap:10px;padding:18px;border:1px solid #c4a269;border-radius:14px;background:#2c2530;margin-bottom:18px}.arena-loadout strong{font-size:22px;color:#f3ce86}.arena-loadout p{margin:0;color:#c8bcb0}.arena-spell{margin:8px 0;display:grid;gap:10px}.arena-spell dt{color:#e9c476;font-weight:700}.arena-spell dd{margin:4px 0;line-height:1.6}.arena-sheet.sheet{width:100%;max-width:100%;margin:0;padding:20px;border:1px solid #967747;border-radius:18px;background:linear-gradient(#29222c,#17161c);color:#eee0cc}.arena-sheet h2,.arena-sheet h3{color:#e7c88e;border-bottom:1px solid #655138;padding-bottom:12px}.arena-death-seal{display:inline-block;align-self:center;border:3px double #db6666;padding:8px 18px;color:#f38b83;font-size:24px;font-weight:900;letter-spacing:3px;transform:rotate(-7deg);margin:10px}.arena-card.is-out{opacity:.78}.arena-modal{width:min(560px,calc(100vw - 24px));max-height:85dvh;overflow:auto;padding:24px}.arena-modal>button{display:block;min-width:130px;min-height:48px;margin:24px auto 0}.arena-modal h2{font-size:20px}.arena-actions button{flex:1 1 140px}@media(max-width:430px){.arena-main-actions{gap:8px}.arena-main-actions button{padding:13px;min-height:144px}.arena-main-actions strong{font-size:17px}.arena-card{padding:15px}.arena-sheet.sheet{padding:14px}.arena-teams{gap:24px}.arena-header img{width:48px;height:48px}}@media(min-width:768px){.arena-shell{padding:30px}.arena-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.arena-main-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.arena-sheet .arena-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
#arenaNav{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible;gap:14px}.arena-nav-block{min-width:0;padding:14px;border:1px solid #6e5738;border-radius:14px;background:#211c25}.arena-nav-block>span{display:block;margin-bottom:10px;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#dfbe84}.arena-nav-block>div{display:flex;flex-wrap:wrap;gap:8px}.arena-nav-block button{flex:1 1 120px}.arena-nav-characters button{width:100%}#arenaNav button[aria-current="page"],.arena-shell button.is-selected-mode{border:3px solid #ffe1a1;box-shadow:0 0 0 2px #ad7c34,0 0 22px #e9bd7055}.arena-shell button:active{border-color:#ffe1a1;box-shadow:0 0 0 2px #c99a58}.arena-sheet-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.arena-sheet .panel{min-width:0;margin:16px 0;border:1px solid #725a38;border-radius:12px;padding:18px;background:#211b22}.arena-sheet .panel h2{display:flex;align-items:center;gap:10px;font-size:22px;margin-top:0}.arena-sheet .panel h2>span{font-size:13px;color:#b99660}.arena-sheet-values{margin:0}.arena-sheet-values>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #59472f}.arena-sheet-values dt{color:#d6c6ad}.arena-sheet-values dd{margin:0;font-size:21px;font-weight:700;color:#f0d39c}.arena-warning-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px}.arena-warning-actions button{min-height:48px;padding:12px}@media(min-width:768px){#arenaNav{grid-template-columns:1.3fr 1fr}.arena-nav-characters{grid-column:1/-1}.arena-sheet-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
.arena-log{height:340px;max-height:55dvh;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;scrollbar-gutter:stable;padding:16px 16px 16px 36px;border:1px solid #725a38;border-radius:12px;background:#17141c;line-height:1.65}.arena-log li{padding-bottom:12px;border-bottom:1px solid #483825}

/* Focus on the current fight without removing navigation. */
.arena-fighting .arena-header,.arena-fighting #arenaIdentity,.arena-fighting #arenaStats{display:none}.arena-fighting #arenaNav{margin:4px 0}.arena-fighting .arena-nav-block{padding:6px}.arena-fighting .arena-nav-block>span,.arena-fighting .arena-nav-characters{display:none}.arena-fighting .arena-nav-block button{min-height:36px;font-size:13px;flex:1 1 70px}.arena-fighting .arena-teams{grid-template-columns:1fr 1fr;gap:10px}.arena-fighting .arena-teams .arena-grid{grid-template-columns:1fr}.arena-fighting .arena-card{padding:10px;gap:5px;font-size:14px}.arena-fighting .arena-teams h3{font-size:16px}.arena-turn-controls .arena-actions{margin:8px 0;gap:6px}.arena-turn-controls .arena-actions button{flex:1 1 110px}.arena-turn-controls{margin-top:12px}.arena-slots{padding:0;list-style:none;display:grid;gap:8px}.arena-slots li{padding:12px;border:1px solid #8e744f;border-radius:10px}.arena-slots strong{color:#f6d38e;margin-right:10px}.arena-tutorial{border:2px solid #d9b874;background:#302736;padding:16px;border-radius:12px;margin:12px 0}#arenaToast{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(92vw,580px);padding:14px 18px;border:1px solid #d4b16d;border-radius:12px;background:#201b29f5;color:#fff;z-index:100;white-space:pre-line;box-shadow:0 6px 24px #0008;pointer-events:none}.arena-card progress{width:100%;accent-color:#dfb667}

.arena-shell .arena-danger,.arena-modal .arena-danger{border:1px solid #d98981;color:#ffb6ad;background:#42262b}

/* Readable calculations in both the event dialog and the combat history. */
.arena-roll{white-space:normal}.arena-roll h3{font-size:17px;line-height:1.5;color:#f4e4c7;margin:0 0 16px}.arena-roll-formula{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin:12px 0}.arena-roll-term{display:flex;flex-direction:column;gap:5px;min-width:70px;padding:10px;border:1px solid #5e503e;border-radius:9px;background:#211e28}.arena-roll-term strong{font-size:22px;line-height:1.2;color:#b6dbff}.arena-roll-term small{font-size:12px;color:#d1c4b7;max-width:150px}.arena-roll-term.is-subtract strong{color:#ffb0a7}.arena-roll-term.is-result{border-color:#d7b575;background:#3d3021}.arena-roll-term.is-result strong{color:#ffe0a0;font-size:26px}.arena-roll-outcome{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 0;border-top:1px solid #6c5639}.arena-roll-target{grid-column:1/-1;font-size:14px;color:#d5c6ae}.arena-roll-outcome small{display:block;font-size:13px;margin-bottom:4px}.arena-roll-outcome strong{font-size:32px;line-height:1.2}.arena-roll-damage{color:#ffb0a7}.arena-roll-life{color:#acedd0}.arena-roll-poison{color:#d7c397;font-size:14px}.arena-combat-inventory{margin:14px 0}.arena-combat-inventory ul{padding:0;list-style:none;margin:0}.arena-combat-inventory li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #59472f}.arena-combat-inventory button{flex:0 0 auto;margin:0}.arena-event-text{white-space:pre-line;font-size:15px;line-height:1.6}.arena-log .arena-roll-outcome strong{font-size:26px}.arena-log .arena-roll-term strong{font-size:20px}

.arena-defense-detail{margin:12px 0;padding:12px;border-left:3px solid #c9a66d;background:#29242b;font-size:14px;color:#e7d4b4}.arena-defense-detail p{margin:6px 0!important}.arena-defense-detail b{color:#ffe0a0;font-size:18px}

/* Battle social spaces: readable messages, separate from dice results. */
.arena-chat{margin-block:1.25rem}.arena-chat-log{list-style:none;padding:0;max-height:22rem;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:.6rem}.arena-chat-log li{padding:.75rem 1rem;background:#141d27;border:1px solid #46535b;border-radius:.7rem;overflow-wrap:anywhere}.arena-chat-log li.is-mine{border-left:3px solid #d7bd79;background:#242625}.arena-chat-log li>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;color:#e4c98d}.arena-chat-log time{font-size:.8rem;color:#bdc7ce}.arena-chat-log p{margin:.5rem 0 0;white-space:pre-wrap;color:#eef1f3}.arena-chat textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:5rem}.arena-chat form{display:grid;gap:.6rem}.arena-chat form button{justify-self:end}.arena-private{margin-block:1.5rem}.arena-challenge,.arena-reaction{border:2px solid #e2bd63;padding:1rem;border-radius:.7rem}.arena-sheet .arena-slots{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}

.arena-private-modal{margin:auto}.arena-private-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.arena-private-modal textarea{box-sizing:border-box;width:100%;min-height:90px;padding:12px;background:#27232b;color:#fff;border:1px solid #9f865b;font:inherit}.arena-private-modal button{min-height:44px}.arena-private-modal .arena-chat-log{max-height:35dvh}

.arena-pifia{--pifia-accent:#f4cf86;display:grid;gap:20px;line-height:1.65;overflow-wrap:anywhere}.arena-pifia.is-penalty{--pifia-accent:#ffaaa1}.arena-pifia .arena-pifia-label{margin:0;color:var(--pifia-accent);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.arena-pifia-heading{display:flex;align-items:center;gap:20px}.arena-pifia-number{flex:0 0 78px;display:grid;justify-items:center;padding:10px 8px;border:1px solid var(--pifia-accent);border-radius:12px;background:#30252b}.arena-pifia-number span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#dbcbc3}.arena-pifia-number strong{font-size:44px;line-height:1.15;color:var(--pifia-accent)}.arena-pifia-heading h3{margin:0;font-size:clamp(22px,5vw,30px);line-height:1.2;color:#fff0d6}.arena-pifia .arena-pifia-actor{margin:8px 0 0;font-size:14px;color:#cdbdb2}.arena-pifia h4{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--pifia-accent)}.arena-pifia-effects,.arena-pifia-applied{padding:18px;border-radius:10px;background:#19171f;border-left:3px solid var(--pifia-accent)}.arena-pifia ul{margin:0;padding-left:20px;display:grid;gap:12px}.arena-pifia li{margin:0;font-size:16px;color:#f0e6df}.arena-pifia-key{color:var(--pifia-accent);font-size:1.08em}.arena-pifia-key.is-loss{color:#ff9993}.arena-pifia-applied{border-left-color:#a8cfff;background:#1c2430}.arena-pifia-applied h4{color:#b9d8ff}@media(max-width:430px){.arena-pifia-heading{gap:14px}.arena-pifia-number{flex-basis:62px}.arena-pifia-number strong{font-size:38px}.arena-pifia-effects,.arena-pifia-applied{padding:14px}}

.arena-turn-clock{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:16px 20px;margin:16px 0;border:1px solid #ae8b50;border-radius:12px;background:#2b2420}.arena-turn-clock span{display:block;color:#d8c5a4;font-size:13px}.arena-turn-clock strong{display:block;font-size:36px;color:#ffe0a1;font-variant-numeric:tabular-nums}.arena-turn-clock strong.is-urgent{color:#ff9993}.arena-turn-clock p{margin:0;color:#dacbc2;font-size:14px;line-height:1.7}
.arena-damage-table{border-left:3px solid #d3af68;padding:8px 14px;margin:16px 0;background:rgba(211,175,104,.07)}
.arena-damage-table h4{color:#e8c77f;margin:0 0 8px;font-size:1rem}
.arena-damage-table p{margin:5px 0;line-height:1.5;color:#eee3ce}

/* Race advantages are visible before committing to character creation. */
.arena-race-guide{margin:12px 0}.arena-race-guide>h3{font-size:24px;color:#f1d59c;margin-bottom:8px}.arena-race-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.arena-race-options article{padding:18px;border:1px solid #79623e;border-radius:12px;background:#19171f}.arena-race-options h4{font-size:23px;color:#f1d59c;margin:0 0 6px}.arena-race-options strong{display:block;color:#bde4d3;font-size:16px;margin-bottom:10px}.arena-race-options p{color:#e3dacf;line-height:1.65;font-size:15px}.arena-race-options b{color:#fff0cb}.arena-race-guide>.arena-muted{font-size:14px;line-height:1.6}@media(max-width:650px){.arena-race-options{grid-template-columns:1fr}}

.arena-combatant-heading{display:flex;align-items:center;gap:16px;min-width:0}.arena-card .arena-combatant-heading .arena-portrait{width:96px;height:96px;object-fit:cover}.arena-combatant-heading h3{overflow-wrap:anywhere;font-size:22px}@media(max-width:650px){.arena-card .arena-combatant-heading .arena-portrait{width:80px;height:80px}.arena-combatant-heading{gap:12px}}

.arena-reward-table{overflow-x:auto}.arena-reward-table table{width:100%;min-width:380px}.arena-reward-detail{color:var(--gold);line-height:1.7}#arenaCreationLimits{line-height:1.6}#arenaCreationLimits li{color:var(--gold)}

.arena-chest-progress{padding:1.2rem;border:1px solid #93743d;background:linear-gradient(110deg,#282018,#15121c);margin:1rem 0;border-radius:12px}.arena-chest-progress strong{color:#f9d78c;font-size:1.3rem}.arena-chest-progress progress{display:block;width:min(100%,28rem);height:12px;accent-color:#dbac52;margin:.75rem 0}
.secret-chest-modal{width:min(600px,94vw);max-height:92dvh;padding:clamp(16px,4vw,30px);overflow:auto;text-align:center;background:radial-gradient(ellipse at 50% 25%,#302019,#101018 75%);border:1px solid #c39c50;box-shadow:0 20px 100px #000d;color:#f4e8cf}.secret-chest-modal h2{font-size:clamp(1.4rem,4.5vw,2.1rem);color:#ffe2a0;margin:.25rem 0 1rem}.secret-chest-scene{isolation:isolate;position:relative;aspect-ratio:1;margin:auto;overflow:hidden;border-radius:12px;perspective:800px;width:min(100%,380px,48dvh)}.secret-chest-art,.secret-chest-lid{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.secret-chest-lid,.secret-chest-cavity{clip-path:polygon(8% 45%,11% 31%,15% 21%,19% 18%,28% 20%,82% 24%,86% 33%,89% 45%)}.secret-chest-lid{transform-origin:50% 24%;z-index:2;backface-visibility:hidden}.secret-chest-cavity{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#fff0b0 0,#b87720 9%,#26120b 28%,#0b0808 55%);opacity:0;z-index:1}.secret-chest-light{position:absolute;inset:4% -15% 12%;background:radial-gradient(ellipse at 50% 47%,#fffde6 0,#ffdf8abf 12%,#e8ac454d 32%,transparent 63%);opacity:0;z-index:3;pointer-events:none;mix-blend-mode:screen}.secret-chest-sparks{position:absolute;inset:27% 5% auto;color:#fff4bf;font-size:2rem;letter-spacing:1rem;opacity:0;z-index:4;text-shadow:0 0 16px #ffe38c}.secret-chest-sparks span{font-size:1rem;vertical-align:1.5rem}.is-open .secret-chest-lid{animation:secret-lid 1.5s .15s cubic-bezier(.2,.6,.25,1) both}.is-open .secret-chest-cavity{opacity:1;transition:opacity .6s}.is-open .secret-chest-light{animation:secret-flash 2.3s ease-out both}.is-open .secret-chest-sparks{animation:secret-sparks 2.3s ease-out both}.secret-chest-modal [data-chest-prizes] ul{padding:0;list-style:none;display:grid;gap:10px}.secret-chest-modal [data-chest-prizes] li{display:flex;align-items:center;gap:12px;text-align:left;padding:14px;background:#352b21;border:1px solid #b28e49;border-radius:8px}.secret-chest-modal [data-chest-prizes] li span{font-size:1.6rem;color:#ffdf88}.secret-chest-modal button{min-height:48px;width:100%}.is-revealed .secret-chest-scene{width:min(100%,380px,30dvh);transition:width .4s}.secret-chest-modal [hidden]{display:none!important}
@keyframes secret-lid{0%,12%{transform:translateY(0) rotateX(0)}100%{transform:translateY(-10%) rotateX(62deg)}}@keyframes secret-flash{0%,18%{opacity:0;transform:scale(.5)}45%{opacity:1;transform:scale(1.1)}100%{opacity:.25;transform:scale(1.4)}}@keyframes secret-sparks{0%,30%{opacity:0;transform:translateY(45px) scale(.5)}55%{opacity:1}100%{opacity:0;transform:translateY(-65px) scale(1.3)}}
@media(prefers-reduced-motion:reduce){.secret-chest-modal *{animation:none!important;transition:none!important}.is-open .secret-chest-lid{transform:translateY(-10%) rotateX(62deg)}.is-open .secret-chest-light{opacity:.25}}
