:root{--wp-ui-shell:#17243a;--wp-ui-surface:rgba(15,29,49,.92);--wp-ui-control:#f8fafc;--wp-ui-control-text:#176a9d;--wp-ui-text:#f8fafc;--wp-ui-muted:#cbd5e1;--wp-ui-primary:#f5c84c;--wp-ui-primary-text:#1f2937;--wp-ui-border:rgba(255,255,255,.16);--wp-ui-accent:#65e3a5;--ink:#eefdf7;--deep:#071c2d;--panel:#102f43;--mint:#65e3a5;--gold:#f5c84c;--violet:#a78bfa;--danger:#ff718d}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-rounded,"Noto Sans",system-ui,sans-serif;background:#061725;color:var(--ink)}button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #fff;outline-offset:3px}.loading-panel[hidden]{display:none!important}.loading-panel{background:#061725e8;backdrop-filter:none;-webkit-backdrop-filter:none}.loading-card{width:min(78vw,280px);padding:16px 18px;gap:10px;border:1px solid #65e3a566;background:#102f43;color:var(--ink);box-shadow:0 14px 36px #0008}.loading-card>img{display:none}.loading-card strong{color:var(--ink);font-size:1rem}.loading-card div{height:8px;background:#ffffff1a}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.main-group,.main-screen{width:100%}.main-screen{max-width:920px;min-height:100svh;margin:0 auto;padding:12px;background:radial-gradient(circle at 78% 20%,#244f5d 0,transparent 38%),linear-gradient(155deg,#071c2d,#0b2635 58%,#142c32)}.main-header{display:grid;grid-template-columns:58px minmax(0,1fr) 112px;grid-template-rows:52px 32px;gap:8px 12px;align-items:center}.main-header>strong{grid-column:1/-1;grid-row:2;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-return,.locale-control{height:48px;border-radius:14px;background:var(--wp-ui-control);color:var(--wp-ui-control-text);display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900}.main-return{gap:2px}.main-return img{width:30px;height:30px;object-fit:contain}.locale-control{grid-column:3}.locale-control select{width:100%;height:44px;border:0;background:transparent;color:#174b68;font-weight:800;padding:0 6px}.main-hero{display:grid;gap:12px}.main-poster{width:min(100%,420px);aspect-ratio:1;margin:0 auto;object-fit:cover;border-radius:24px;box-shadow:0 18px 55px #0008;border:1px solid #ffffff28}.main-copy{display:flex;flex-direction:column;gap:8px}.main-copy small{color:var(--mint);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.main-copy h1{font-size:clamp(1.55rem,7vw,2.4rem);margin:0}.main-copy p{margin:0;color:#d9eee7;line-height:1.45}.main-progress{min-height:28px;color:#c9f7df;font-weight:800}.primary-action{min-height:52px;border:0;border-radius:14px;background:var(--gold);color:#242b2f;font-weight:950;box-shadow:0 5px 0 #aa7e18}.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.stage-screen,.battle-screen{position:fixed;inset:0;background:#061725;overflow:hidden}.stage-canvas{position:relative;height:calc(100svh - 56px);max-width:920px;margin:0 auto;padding:12px;display:grid;grid-template-rows:auto auto minmax(0,1fr) 56px;gap:8px;background:linear-gradient(#061725bb,#061725ee),var(--wp-stage-art) center/cover}.stage-header{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;min-height:64px}.stage-header button{width:48px;height:48px;border:0;border-radius:14px;background:#f8fafc;color:#176a9d;font-size:1.5rem;font-weight:900}.stage-header>div{text-align:center;min-width:0;display:flex;flex-direction:column}.stage-header strong,.stage-header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-header span{color:#cde8df;font-size:.82rem}.chapter-panel{padding:8px 12px;border:1px solid #ffffff24;border-radius:14px;background:#071c2dcc;display:grid;grid-template-columns:1fr auto;gap:2px 8px}.chapter-panel small{color:var(--mint);font-weight:900}.chapter-panel strong{grid-column:2;grid-row:1/3}.chapter-panel p{margin:0;color:#d7ebe4;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-rail{display:flex;align-items:center;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 44%;scrollbar-width:none}.stage-rail::-webkit-scrollbar{display:none}.stage-card{flex:0 0 190px;min-height:230px;scroll-snap-align:center;border:1px solid #ffffff28;border-radius:20px;background:#102f43e8;color:#fff;padding:12px 12px 16px;text-align:left;display:grid;grid-template-rows:auto auto minmax(0,1fr) 26px;gap:8px;overflow:hidden;box-shadow:0 12px 28px #0006}.stage-card[aria-current=true]{border-color:var(--gold);box-shadow:0 0 0 3px #f5c84c55,0 12px 28px #0008}.stage-card.locked{filter:saturate(.35);opacity:.74}.stage-card strong{font-size:3.2rem;color:var(--gold)}.stage-card dl{margin:0;display:grid;gap:5px;font-size:.75rem}.stage-card dl div{display:grid;grid-template-columns:54px 1fr;gap:6px}.stage-card dt{color:var(--mint);font-weight:900}.stage-card dd{margin:0}.stage-card>small{display:flex;align-items:center;justify-content:center;min-height:26px;padding:3px 7px;border-radius:9px;background:#071c2dbd;color:#ffe36e;font-weight:900;line-height:1;white-space:nowrap}.stage-card.locked>small{color:#e2e8f0}.stage-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.stage-tabs button{min-height:48px;border:1px solid #ffffff24;border-radius:14px;background:#102f43;color:#fff;font-weight:900}.stage-tabs button[aria-selected=true]{background:var(--gold);color:#26313a}.prep-panel{min-height:0;overflow:auto;border-radius:20px;background:#071c2de6;border:1px solid #ffffff24;padding:14px}.prep-panel:not([hidden]){display:flex}.prep-panel>img{width:min(40%,260px);object-fit:contain}.prep-panel>div{align-self:center}.prep-panel p{color:#cfe9e0}.workshop{display:block!important}.workshop[hidden]{display:none!important}.workshop header{display:flex;justify-content:space-between}.upgrade-list{display:grid;gap:8px;margin-top:12px}.upgrade-card{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:10px;border-radius:14px;background:#153d4e}.upgrade-card p{margin:0;font-size:.82rem}.upgrade-card button{grid-column:2;grid-row:1/3;min-width:112px;min-height:44px;border:0;border-radius:12px;background:var(--gold);font-weight:900}
.battle-canvas{height:calc(100svh - 56px);max-width:920px;margin:0 auto;position:relative;background:#071c2d;overflow:hidden}.battle-live{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}.battle-header{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto 48px;align-items:center;gap:6px;padding:8px;min-height:64px;background:#071c2df2;border-bottom:1px solid #ffffff1f}.battle-header button{width:48px;height:48px;border:0;border-radius:14px;background:#f8fafc;color:#176a9d;font-weight:900}.battle-title{min-width:0;display:flex;flex-direction:column}.battle-title small,.battle-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-title small{color:var(--mint)}.battle-stat{min-width:62px;text-align:center;padding:4px 7px;border-radius:10px;background:#ffffff10}.battle-stat small{display:block;font-size:.64rem;color:#c9ded7}.battle-layout{min-height:0;display:grid;grid-template-rows:minmax(150px,42%) minmax(0,58%);background:url("../../assets/animal-dice-bastion/battle-bg.webp") center/cover no-repeat}.road-panel{position:relative;overflow:hidden;background:#071c2d26}#roadCanvas{width:100%;height:100%;display:block}.boss-warning{position:absolute;left:50%;top:12%;transform:translateX(-50%);padding:8px 14px;border-radius:999px;background:#5e1532e8;color:#fff;font-weight:950;animation:pulse .7s alternate infinite}.command-panel{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,32%);gap:8px;padding:8px;background:linear-gradient(#071c2d12,#071c2d55)}.guardian-board{min-height:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,1fr);gap:6px;padding:6px;border:1px solid #d8f5e666;border-radius:18px;background:#08182280;box-shadow:0 10px 24px #0006}.rune-slot{position:relative;min-width:0;min-height:0;border:1px solid #b9ebd366;border-radius:50%;background:#0b26325c;display:grid;place-items:center;color:#fff;overflow:hidden}.rune-slot.selected{box-shadow:0 0 0 3px var(--gold) inset}.guardian{width:92%;aspect-ratio:1;display:grid;place-items:center;font-size:clamp(.8rem,2.2vw,1.25rem);font-weight:950;position:relative;filter:drop-shadow(0 5px 7px #000a)}.guardian img{width:100%;height:100%;object-fit:contain}.guardian b{position:absolute;right:1px;bottom:1px;min-width:20px;padding:1px 4px;border-radius:999px;background:#071c2ddd;color:#fff;text-shadow:0 2px 3px #000;font-size:.7rem}.command-stack{min-height:0;display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:16px;background:#071c2dbd;box-shadow:0 8px 20px #0005}.charge-meter{display:grid;grid-template-columns:1fr auto;gap:2px}.charge-meter i{grid-column:1/-1;height:7px;border-radius:99px;background:#ffffff19;overflow:hidden}.charge-meter b{display:block;height:100%;background:var(--mint)}.summon-button{min-height:52px;border:0;border-radius:14px;background:var(--gold);font-weight:950;display:flex;justify-content:space-between;align-items:center;padding:0 12px}.orders{display:grid;grid-template-columns:1fr;gap:5px}.orders button{min-height:44px;border:1px solid #ffffff24;border-radius:12px;background:#153d4e;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:5px 8px;font-weight:800}.orders small{color:#bdebd7}#battleFeedback{margin:auto 0 0;min-height:34px;color:#d7f7e9;font-size:.75rem}.battle-ad-reserve,.stage-screen::after{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,920px);height:56px;background:#061725;pointer-events:none}.battle-ad-reserve{top:calc(100svh - 56px)}
.modal-layer{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:12px;background:#020a10d9}.modal-layer[hidden]{display:none}.dialog-card,.result-card{width:min(100%,560px);max-height:calc(100% - 24px);overflow:auto;padding:18px;border:1px solid #ffffff28;border-radius:22px;background:#102f43;box-shadow:0 22px 70px #000b}.dialog-card h2,.result-card h2{margin:0 0 8px}.dialog-card ol{padding-inline-start:22px}.modal-actions{display:grid;gap:8px}.modal-actions.two{grid-template-columns:1fr 1fr}.modal-actions button{min-height:48px;border:0;border-radius:14px;font-weight:900}.result-card{text-align:center}.result-card>img{height:110px;max-width:40%;object-fit:contain}.result-stars{font-size:2rem;color:var(--gold)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.result-stats span{padding:8px;border-radius:12px;background:#ffffff10}.result-stats small,.result-stats strong{display:block}.result-actions{grid-template-columns:1fr 1fr 1fr}
@keyframes pulse{to{transform:translateX(-50%) scale(1.05);filter:brightness(1.2)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
@media(min-width:700px){.main-screen{padding:16px}.main-header{grid-template-columns:58px minmax(0,1fr) 112px;grid-template-rows:64px}.main-header>strong{grid-column:2;grid-row:1}.main-hero{grid-template-columns:minmax(300px,420px) minmax(0,1fr);align-items:center}.main-copy h1{font-size:2.4rem}}
@media(max-width:699px){.battle-header{grid-template-columns:48px minmax(0,1fr) 58px 58px 44px}.battle-header button{width:44px}.battle-stat{min-width:0;padding-inline:3px}.battle-title strong{font-size:.76rem}.command-panel{grid-template-columns:minmax(0,1fr) 150px}.guardian-board{gap:4px;padding:4px}.orders button{font-size:.72rem}.chapter-panel p{font-size:.7rem}.stage-rail{padding-inline:calc(50% - 95px)}}
@media(max-height:520px) and (orientation:landscape){.main-screen{min-height:100svh}.main-screen .wp-standard-main-composition{grid-template-columns:300px minmax(0,1fr)!important;gap:8px!important;padding:8px!important}.main-hero{grid-template-columns:300px minmax(0,1fr);height:calc(100svh - 80px);align-items:center;gap:8px}.main-screen .wp-standard-main-poster{width:290px!important;height:290px!important;min-width:290px!important;max-width:290px!important;min-height:290px!important;max-height:290px!important}.main-screen .wp-standard-main-poster-media,.main-screen .wp-standard-main-poster .main-poster,.main-screen .main-poster{width:290px!important;height:290px!important;min-width:290px!important;max-width:290px!important;min-height:290px!important;max-height:290px!important;transform:none!important}.main-screen .wp-standard-main-copy{height:290px!important;gap:6px!important}.main-copy{max-height:100%;overflow:visible;gap:4px}.main-copy h1{font-size:1.35rem}.main-copy p,.wp-standard-main-summary{font-size:.76rem!important;line-height:1.25!important}.main-copy .main-progress{min-height:26px;font-size:.78rem}.main-copy .primary-action{min-height:48px}.stage-canvas{grid-template-rows:54px 48px minmax(0,1fr) 50px}.stage-header{min-height:54px}.chapter-panel{padding:5px 9px}.stage-card{min-height:150px;flex-basis:180px}.battle-header{min-height:56px;padding:4px}.battle-layout{grid-template-columns:42% 58%;grid-template-rows:1fr}.command-panel{grid-template-columns:minmax(0,1fr) 150px;gap:4px;padding:4px}.command-stack{gap:3px;padding:3px}.charge-meter{font-size:.72rem;line-height:1}.charge-meter i{height:5px}.summon-button{min-height:44px}#battleFeedback{margin:0;min-height:34px;font-size:.66rem;line-height:1.1}.result-card{display:grid;grid-template-columns:110px 1fr;grid-template-rows:auto auto auto auto;gap:4px 12px;text-align:left}.result-card>img{grid-row:1/5;max-width:100%}.result-stars{font-size:1.4rem}.result-stats,.result-actions{grid-column:1/-1}.result-card p{margin:2px 0}}
.rune-slot.cursor{box-shadow:0 0 0 3px #fff inset,0 0 14px #65e3a588}
.stage-rail,.prep-panel{grid-column:1;grid-row:3;min-height:0}.stage-rail{z-index:1;transition:opacity .12s ease}.prep-panel{z-index:2}.stage-tabs{grid-row:4}.stage-rail.stage-panel-suspended{opacity:0;pointer-events:none;user-select:none}
#teamPanel>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px}#teamPanel>div>small{display:block;color:var(--mint);font-weight:850}.workshop header>div{display:flex;flex-direction:column;gap:2px}.workshop header>div small{color:var(--mint);font-weight:850}.workshop header>b{align-self:center;white-space:nowrap}
@media(max-height:520px) and (orientation:landscape){#battleFeedback{font-size:.72rem}}
.battle-title strong{color:var(--mint);font-size:.84rem}.road-objective{position:absolute;z-index:2;top:8px;left:8px;right:8px;width:fit-content;max-width:calc(100% - 16px);margin:0;padding:6px 10px;border:1px solid #ffffff24;border-radius:10px;background:#071c2dcc;color:#fff;font-size:.8rem;font-weight:800;line-height:1.25}.summon-button:disabled{background:#7d672e;color:#fff5d6;opacity:1;cursor:not-allowed;box-shadow:none}.rune-slot{border-radius:18px}.rune-slot:empty::after{content:"";width:26%;aspect-ratio:1;border-radius:50%;background:#d9f7e31f;box-shadow:0 0 0 1px #d9f7e32b}
@media(max-width:699px) and (orientation:portrait){
  .battle-header{grid-template-columns:44px minmax(0,1fr) 52px 52px 44px;gap:4px;min-height:60px;padding:6px}
  .battle-header button{width:44px;height:44px}.battle-title strong{font-size:.78rem}.battle-stat{min-width:0;padding:2px 3px}.battle-stat strong{font-size:1rem}
  .battle-layout{grid-template-rows:minmax(180px,30%) minmax(0,70%);background-position:center}
  .road-objective{top:6px;left:6px;right:6px;max-width:calc(100% - 12px);font-size:.76rem;padding:5px 8px}
  .command-panel{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:4px;padding:4px}
  .guardian-board{width:100%;height:auto;max-height:100%;aspect-ratio:5/3;align-self:center;gap:4px;padding:5px;border-radius:16px;background:#071c2d8f}
  .rune-slot{aspect-ratio:1;border-radius:16px;background:#0b263270}
  .guardian{width:96%}.guardian b{right:2px;bottom:2px;min-width:22px;font-size:.74rem}
  .command-stack{display:grid;grid-template-columns:1fr;grid-template-rows:auto 44px 48px minmax(30px,auto);gap:4px;padding:4px;border-radius:14px}
  .charge-meter{font-size:.78rem;line-height:1}.charge-meter i{height:6px}
  .summon-button{min-height:44px}
  .orders{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .orders button{min-height:48px;padding:3px 4px;flex-direction:column;justify-content:center;gap:1px;font-size:.7rem;line-height:1.05;text-align:center}
  .orders small{font-size:.66rem}
  #battleFeedback{margin:0;min-height:30px;color:#d7f7e9;font-size:.72rem;line-height:1.15;display:flex;align-items:center}
}
.main-header{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) 58px!important;
  grid-template-rows:56px!important;
  align-items:center!important;
  gap:8px!important;
  min-height:56px;
  width:min(100%,920px)!important;
  max-width:920px!important;
  margin-inline:auto!important;
  padding:4px 6px!important;
}
.main-header>strong{
  position:absolute!important;
  grid-column:1/-1!important;
  grid-row:1!important;
  inset-inline:70px!important;
  left:70px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  overflow:hidden;
  text-align:center!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Battle v5.1: the road and the guardian console are separate visual owners. */
.battle-layout{background:#061725}
.road-panel{
  isolation:isolate;
  border-bottom:2px solid #65e3a566;
  background:
    linear-gradient(180deg,#06172524 0%,#06172508 58%,#061725b8 100%),
    url("../../assets/animal-dice-bastion/battle-bg.webp") center/cover no-repeat;
}
.command-panel{
  position:relative;
  background:linear-gradient(180deg,#0b2a39 0%,#071c2d 100%);
  box-shadow:0 -12px 28px #020b12a8;
}
.guardian-board{
  isolation:isolate;
  overflow:hidden;
  border-color:#86dcbc8c;
  background:
    radial-gradient(circle at 50% 12%,#1b53624f 0,transparent 48%),
    linear-gradient(155deg,#0d3543,#081e2b);
  box-shadow:inset 0 0 0 1px #ffffff0d,0 10px 24px #0008;
}
.rune-slot{
  border-color:#a5dfc77d;
  background:linear-gradient(145deg,#123b47,#0a2633);
  box-shadow:inset 0 0 12px #0005;
}
.rune-slot:empty::after{
  background:#79d8b628;
  box-shadow:0 0 0 1px #a7ead055,0 0 14px #65e3a51c;
}
.command-stack{background:#061927f2;border:1px solid #ffffff14}

@media(max-width:699px) and (orientation:portrait){
  .battle-layout{grid-template-rows:minmax(190px,34%) minmax(0,66%)}
  .command-panel{padding:6px;gap:6px}
  .guardian-board{width:min(100%,520px);justify-self:center}
}

/* The owner's 832x1280 screenshot maps to an approximately 416x640 CSS
   viewport. Keep a real road, a square-cell board, and a compact command dock
   instead of allowing those three regions to overlap. */
@media(max-height:700px) and (orientation:portrait){
  .battle-header{min-height:56px;padding:4px}
  .battle-layout{grid-template-rows:170px minmax(0,1fr)}
  .road-objective{font-size:.7rem;line-height:1.15;padding:4px 7px}
  .command-panel{grid-template-rows:minmax(0,1fr) 126px;padding:4px;gap:4px}
  .guardian-board{width:min(100%,360px);max-height:216px;padding:4px;gap:3px;border-radius:14px}
  .rune-slot{border-radius:13px}
  .guardian{width:90%}.guardian b{font-size:.64rem;min-width:19px}
  .command-stack{grid-template-rows:20px 38px 42px 22px;height:126px;padding:2px 4px;gap:2px}
  .charge-meter{font-size:.7rem}.charge-meter i{height:5px}
  .summon-button{min-height:38px;border-radius:11px}
  .orders{gap:3px}.orders button{min-height:42px;font-size:.64rem;border-radius:10px}
  .orders small{font-size:.59rem}
  #battleFeedback{min-height:22px;font-size:.65rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* Game v6: tactical orders and guardian roles explain themselves in play. */
.orders button>span{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}
.orders button strong{font-size:inherit;line-height:1.05}.orders button em{color:#b9ddd1;font-size:.62rem;font-style:normal;font-weight:650;line-height:1.12}
.orders button>small{flex:0 0 auto;max-width:42%;text-align:right}.orders button:disabled{opacity:.62}
.guardian i{position:absolute;left:2px;top:2px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#061725e8;color:#fff;font-size:.65rem;font-style:normal;box-shadow:0 0 0 1px #ffffff36}
.guardian b{display:flex;align-items:baseline;gap:1px}.guardian b>span{font-size:.78rem}.guardian b>small{font-size:.52rem;color:#bdebd7}
.guardian-guide-title{margin:10px 0 2px;color:var(--mint);font-size:.95rem}.rank-guide{margin:0 0 8px;color:#d7ebe4;font-size:.78rem}
.guardian-guide{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-bottom:10px}
.guardian-guide article{min-width:0;padding:5px 3px;border:1px solid #ffffff1f;border-radius:10px;background:#0e3444;text-align:center}
.guardian-guide img{display:block;width:42px;max-width:100%;aspect-ratio:1;margin:0 auto;object-fit:contain}
.guardian-guide b,.guardian-guide small{display:block}.guardian-guide b{font-size:.68rem}.guardian-guide small{color:#bdebd7;font-size:.56rem;line-height:1.12}
.battle-live.rally-active .guardian-board{border-color:#ffe36e;box-shadow:inset 0 0 22px #ffe36e30,0 0 18px #65e3a55c}
.battle-live.rally-active .guardian{animation:rallyGuardian .5s ease-in-out infinite alternate}
.road-panel::after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 55%,#fff9bdcf 0,#ffe36e5c 24%,transparent 66%)}
.battle-live.burst-active .road-panel::after{animation:burstFlash .7s ease-out}
.rune-slot.rerolling{animation:rerollRune .65s ease-out}
@keyframes rallyGuardian{to{filter:drop-shadow(0 0 9px #ffe36e) brightness(1.18);transform:translateY(-2px)}}
@keyframes burstFlash{0%{opacity:0;transform:scale(.72)}35%{opacity:1}100%{opacity:0;transform:scale(1.16)}}
@keyframes rerollRune{0%{transform:rotateY(0);box-shadow:inset 0 0 0 3px #fff}55%{transform:rotateY(180deg);box-shadow:inset 0 0 22px #c084fc,0 0 20px #c084fc}100%{transform:rotateY(360deg)}}
@media(max-width:699px) and (orientation:portrait){
  .orders button>span{align-items:center;text-align:center}.orders button>small{max-width:100%;text-align:center}
  .orders button em{font-size:.56rem}.guardian i{width:17px;height:17px;font-size:.55rem}
}
@media(max-height:700px) and (orientation:portrait){
  .command-panel{grid-template-rows:minmax(0,1fr) 146px}
  .guardian-board{width:min(100%,340px);max-height:204px}
  .command-stack{grid-template-rows:20px 38px 60px 22px;height:146px}
  .orders button{min-height:60px}.orders button em{font-size:.51rem;line-height:1.05}.orders small{font-size:.55rem}
}
@media(max-height:520px) and (orientation:landscape){
  .command-stack{overflow:hidden}
  .orders button{min-height:42px;padding:3px 6px}
  .orders button>span{align-items:flex-start;text-align:left}
  .orders button em{display:none}
  .orders button>small{max-width:44%;font-size:.58rem}
}

/* Game v12: Team is a real pre-Battle guardian loadout. */
#teamPanel.guardian-team{display:block!important;padding:10px;overflow:auto}
#teamPanel.guardian-team[hidden]{display:none!important}
.guardian-team-header{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:8px}
.guardian-team-header>img{width:76px;height:76px;object-fit:contain}
.guardian-team-header>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.guardian-team-header small{color:var(--mint);font-weight:900}.guardian-team-header strong{font-size:1rem}.guardian-team-header p{margin:2px 0 0;color:#cfe9e0;font-size:.72rem;line-height:1.25}
.guardian-roster{width:100%;align-self:stretch!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.guardian-choice{position:relative;min-width:0;min-height:72px;padding:5px 26px 5px 5px;border:1px solid #ffffff26;border-radius:13px;background:#123948;color:#fff;display:grid;grid-template-columns:54px minmax(0,1fr);gap:5px;align-items:center;text-align:left}
.guardian-choice.selected{border-color:var(--gold);background:#194d55;box-shadow:inset 0 0 0 2px #f5c84c55,0 0 14px #f5c84c2e}
.guardian-choice>img{width:54px;height:54px;object-fit:contain}.guardian-choice>span{min-width:0;display:flex;flex-direction:column;gap:1px}.guardian-choice strong{font-size:.78rem}.guardian-choice small{color:#c9f7df;font-size:.62rem;line-height:1.1}.guardian-choice em{color:#a9cfc3;font-size:.56rem;font-style:normal;white-space:nowrap}
.guardian-choice>b{position:absolute;right:7px;top:7px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#f5c84c;color:#26313a;font-size:.72rem}
.guardian-choice:not(.selected)>b{background:#ffffff16;color:transparent}
.team-feedback{min-height:24px;margin:7px 0 0;color:#ffe9a8;font-size:.7rem;font-weight:800;text-align:center}
@media(max-height:520px) and (orientation:landscape){
  .guardian-team-header{grid-template-columns:52px minmax(0,1fr);margin-bottom:5px}.guardian-team-header>img{width:52px;height:52px}.guardian-team-header p{font-size:.65rem}
  .guardian-roster{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.guardian-choice{min-height:82px;padding:3px;grid-template-columns:1fr;text-align:center}.guardian-choice>img{width:40px;height:40px;margin:auto}.guardian-choice small,.guardian-choice em{font-size:.5rem}.guardian-choice>b{right:3px;top:3px}
}

/* Stage rating owns the open space beside the stage number, never the reward row. */
.stage-card{position:relative;grid-template-rows:auto auto minmax(0,1fr)}
.stage-card>small{position:absolute;inset-block-start:54px;inset-inline-end:12px;min-width:58px;min-height:28px;padding:4px 8px;border:1px solid #ffffff24;background:#071c2de8}
