/* Source: css/battle.css */

:root{
  /* Licht thema: perkament uit de Floki Island-atlas */
  --bg:#E4D9C2; --bg-top:#EFE6D2; --bg-deep:#D3C4A5;
  --panel:#F4EDDD; --panel-2:#EBE1CB; --ink:#231C12; --muted:#6A5F4B;
  --line:rgba(122,88,44,.34); --line-strong:rgba(122,88,44,.72);
  --player:#1F6FB8; --enemy:#C0392B; --elixir:#6A42C8; --gold:#9A7216; --ember:#C4561C; --cyan:#0F7C86;
  --lift:0 10px 28px rgba(70,48,16,.22);
  --display:"Crimson Pro","Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  font-family:var(--sans);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#061116; --bg-top:#0D2228; --bg-deep:#02080B;
    --panel:#0B181C; --panel-2:#102126; --ink:#F1E8D6; --muted:#98A6A3;
    --line:rgba(167,128,76,.34); --line-strong:rgba(196,152,96,.72);
    --player:#4AA8F0; --enemy:#F0604E; --elixir:#9B6BFF; --gold:#E8C86A; --ember:#E87832; --cyan:#52CBD0;
    --lift:0 14px 36px rgba(0,0,0,.5);
  }
}
:root[data-theme="dark"]{
  --bg:#061116; --bg-top:#0D2228; --bg-deep:#02080B;
  --panel:#0B181C; --panel-2:#102126; --ink:#F1E8D6; --muted:#98A6A3;
  --line:rgba(167,128,76,.34); --line-strong:rgba(196,152,96,.72);
  --player:#4AA8F0; --enemy:#F0604E; --elixir:#9B6BFF; --gold:#E8C86A; --ember:#E87832; --cyan:#52CBD0;
  --lift:0 14px 36px rgba(0,0,0,.5);
}
html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;height:100%;color:var(--ink);overflow:hidden;background:var(--bg) radial-gradient(120% 70% at 50% -10%,var(--bg-top) 0%,var(--bg) 55%,var(--bg-deep) 100%) no-repeat}
.app{height:100%;max-width:560px;margin:0 auto;padding:8px 10px 10px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr);grid-template-areas:"hud" "stage" "info" "dock";gap:8px}
.hud{grid-area:hud}.stage{grid-area:stage}.info{grid-area:info}.dock{grid-area:dock}

/* HUD */
.hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:8px}
.score{font-size:.78rem;color:var(--muted);line-height:1.1;letter-spacing:.02em}
.score b{display:block;font-family:var(--display);font-size:2rem;font-weight:700;line-height:.95;font-variant-numeric:lining-nums tabular-nums}
.score.enemy b{color:var(--enemy)}
.score.player{text-align:right}
.score.player b{color:var(--player)}
.clock{text-align:center}
.clock b{display:block;font-family:var(--display);font-size:2.3rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums;line-height:.95}
.clock span{font-size:.74rem;color:var(--muted)}
.clock span.hot{color:var(--ember);font-weight:700}

/* Arena */
.stage{position:relative;min-height:0;display:flex;align-items:center;justify-content:center}
canvas{display:block;border-radius:4px;touch-action:none;cursor:crosshair;box-shadow:0 0 0 1px var(--line),var(--lift)}
.info{font-size:.82rem;color:var(--muted);min-height:2.5em;line-height:1.3}
.info.warn{color:var(--enemy);font-weight:600}

/* Dock */
.dock{display:grid;gap:8px}
.bar{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.elixir{position:relative;height:26px;border-radius:3px;background:var(--panel-2);border:1px solid var(--line);overflow:hidden}
.elixir .fill{position:absolute;inset:0 auto 0 0;width:50%;background:linear-gradient(180deg,color-mix(in srgb,var(--elixir) 55%,#fff) 0%,var(--elixir) 48%,color-mix(in srgb,var(--elixir) 70%,#000) 100%);box-shadow:inset -2px 0 0 rgba(255,255,255,.55)}
.elixir .ticks{position:absolute;inset:0;display:grid;grid-template-columns:repeat(10,1fr)}
.elixir .ticks i{border-right:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.elixir .num{position:absolute;left:10px;top:0;line-height:24px;color:#fff;font-family:var(--display);font-size:1.15rem;font-weight:700;font-variant-numeric:lining-nums tabular-nums;text-shadow:0 1px 2px rgba(0,0,0,.55)}
.tap{appearance:none;font:inherit;display:inline-flex;align-items:center;gap:7px;text-align:left;font-size:.8rem;font-weight:700;border:1px solid var(--gold);background:var(--panel);color:var(--ink);border-radius:3px;padding:3px 11px 3px 7px;cursor:pointer;min-height:36px;line-height:1.1}
.tap small{display:block;font-weight:400;color:var(--muted);font-size:.68rem}
.tap .ico{width:24px;height:24px;color:var(--gold)}
.tap:not(:disabled){box-shadow:0 0 0 1px var(--gold),0 0 16px color-mix(in srgb,var(--gold) 38%,transparent)}
.tap:disabled{opacity:.5;cursor:default}
.tap[hidden]{display:none}
.hand{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,.72fr);gap:7px}
.hand .card,.valk{touch-action:none}
.bar{grid-template-columns:1fr auto auto}
.valh{display:block;width:74px;height:5px;margin-top:6px;border-radius:3px;background:color-mix(in srgb,var(--ink) 12%,transparent);overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.score.player .valh{margin-left:auto}
.valh i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),#FFF3CF);transition:width .25s ease-out}
.valh.full i{animation:glow 1s ease-in-out infinite}
.valk{appearance:none;font:inherit;position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:3px 10px 3px 7px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);color:var(--muted);cursor:pointer;text-align:left;font-size:.8rem;font-weight:700;line-height:1.1}
.valk .vfill{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(0deg,color-mix(in srgb,var(--gold) 34%,transparent),color-mix(in srgb,var(--gold) 10%,transparent));transition:height .25s ease-out;pointer-events:none}
.valk .vico{position:relative;width:24px;height:18px;fill:currentColor;flex:none}
.valk .vtxt{position:relative}
.valk small{display:block;font-weight:400;font-size:.68rem;color:var(--muted)}
.valk.ready{color:var(--ink);border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 18px color-mix(in srgb,var(--gold) 45%,transparent);animation:glow 1.2s ease-in-out infinite}
.valk.ready .vico{color:var(--gold)}
.valk[aria-pressed="true"]{border-color:var(--ember);box-shadow:0 0 0 2px var(--ember)}
.info.hint{color:var(--gold);font-weight:600}
.mechs{margin-top:6px;line-height:1.45}
.mechs b{color:var(--ink)}

/* Cards */
.card{appearance:none;font:inherit;position:relative;min-width:0;text-align:left;border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:7px 8px 8px;cursor:pointer;min-height:76px;
  background:radial-gradient(64px 52px at 30px 28px,color-mix(in srgb,var(--cyan) 13%,transparent),transparent 70%),linear-gradient(180deg,var(--panel-2),var(--panel))}
.card[aria-pressed="true"]{border-color:var(--ember);box-shadow:0 0 0 1px var(--ember),0 0 18px color-mix(in srgb,var(--ember) 30%,transparent)}
.card.poor{opacity:.5;filter:saturate(.35)}
.card.champ{border-color:color-mix(in srgb,var(--gold) 75%,transparent)}
.card.champ[aria-pressed="true"]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 18px color-mix(in srgb,var(--gold) 36%,transparent)}
.cost{position:absolute;right:6px;bottom:6px;width:24px;height:27px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  background:linear-gradient(160deg,color-mix(in srgb,var(--elixir) 45%,#fff),var(--elixir) 55%,color-mix(in srgb,var(--elixir) 60%,#000));color:#fff;font-family:var(--display);font-weight:700;font-size:.98rem;display:grid;place-items:center;font-variant-numeric:lining-nums}
.nm{display:block;font-family:var(--display);font-weight:600;font-size:1.02rem;line-height:1.05;overflow-wrap:anywhere}
.rl{display:block;font-size:.67rem;color:var(--muted);line-height:1.25;margin-top:4px;padding-right:26px}
.next{border:1px dashed var(--line);border-radius:4px;padding:7px 7px;font-size:.68rem;color:var(--muted);line-height:1.2;min-width:0;overflow:hidden}
.next b{display:block;color:var(--ink);font-family:var(--display);font-weight:600;font-size:.92rem;margin-top:3px;overflow-wrap:anywhere}
.overlay.how{z-index:14}
.howLeaveRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.howLeaveRow[hidden]{display:none}
.howArt{min-height:140px;display:flex;align-items:flex-end;justify-content:center;gap:14px;margin:0 0 10px;flex-wrap:wrap}
.howArt img{max-height:120px;width:auto;max-width:34%;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35))}
.howCrown svg{width:54px;height:40px;fill:var(--gold)}
.howCol{display:grid;gap:12px;justify-items:center;width:100%}
.howRow{display:flex;gap:16px;align-items:center;justify-content:center}
.howIcons span{display:inline-flex;align-items:center;gap:5px;font-size:.85rem;color:var(--muted)}
.howIcons svg{width:18px;height:18px;fill:currentColor}
.howCard{width:160px;pointer-events:none}
.howEl{width:220px}
.howWave{font-family:var(--display);font-size:2rem;color:var(--cyan);letter-spacing:.2em;align-self:center}
.howDots{display:flex;gap:6px;margin:4px 0 16px}
.howDots i{width:8px;height:8px;border-radius:50%;background:var(--line-strong);opacity:.5}
.howDots i.on{background:var(--ember);opacity:1}
.howBtn{position:absolute;top:18px;right:18px;font-size:.84rem;padding:7px 12px}
.howLeg{font-size:.8rem;padding:5px 10px;margin:6px 0 8px}
.hand.coach .card{animation:coach 1.3s ease-in-out infinite}
@keyframes coach{50%{box-shadow:0 0 0 2px var(--gold),0 0 20px color-mix(in srgb,var(--gold) 55%,transparent)}}
.slotsWrap{flex:1;min-width:0;display:grid;gap:4px}
.slots{display:grid;grid-template-columns:repeat(6,1fr) 6px repeat(2,1fr);gap:4px}
.slots .slot:nth-child(7){grid-column:8}
.slot{appearance:none;position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:4px;background:var(--panel-2);padding:2px;cursor:pointer;display:grid;place-items:center;overflow:hidden}
.slot img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}
.slot span{font:700 .7rem var(--sans);color:var(--muted)}
.slot i{position:absolute;right:1px;bottom:1px;font:800 .6rem/1 var(--sans);font-style:normal;color:#fff;background:#7c4dff;border-radius:3px;padding:2px 3px}
.slot.empty{border-style:dashed;background:transparent;cursor:default}
.slot.sp{border-color:color-mix(in srgb,var(--cyan) 45%,var(--line))}
.slot.swap{animation:glow 1s ease-in-out infinite;border-color:var(--ember)}
.startRow{display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:8px 12px}
.slotsWrap{display:contents}
.slots{grid-column:1/-1}
#pickCount{grid-column:1}
#startBtn{grid-column:2}
.startRow .count{font-size:.74rem}
.startRow #startBtn{flex:0 0 auto}
.cardSheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:20;width:min(520px,100%);max-height:78vh;overflow:auto;background:var(--panel);border:1px solid var(--line-strong);border-bottom:0;border-radius:12px 12px 0 0;box-shadow:0 -14px 40px rgba(0,0,0,.45);padding:16px 18px calc(16px + env(safe-area-inset-bottom,0px));animation:sheetUp .22s ease-out}
@keyframes sheetUp{from{transform:translate(-50%,40px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.csHead{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.csHead img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}
.csHead h3{margin:0;font-family:var(--display);font-size:1.5rem;line-height:1}
.csRole{font-size:.8rem;color:var(--muted);margin-top:3px}
.csCost{margin-left:auto;width:34px;height:38px;display:grid;place-items:center;font:800 1.1rem var(--sans);color:#fff;background:linear-gradient(180deg,#a47bff,#6a3fe0);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.csBody{font-size:.9rem;line-height:1.45}
.csBtns{justify-content:flex-end;margin-top:12px}
@media (max-width:640px){#picker.picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}#picker .card{padding:6px 5px 24px;min-height:0}#picker .card .art{height:38px}#picker .rl{font-size:.62rem;padding-right:22px}#picker .nm{font-size:.84rem}#picker .card .cost{transform:scale(.85);transform-origin:bottom right}}
.startRow{position:sticky;bottom:-20px;z-index:3;margin:14px -22px -20px;padding:12px 22px calc(12px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--panel) 94%,transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media (max-width:480px){.startRow{margin:12px -16px -16px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));bottom:-16px}}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
@keyframes elflash{0%{box-shadow:0 0 0 2px #E0584A,0 0 16px #E0584A}100%{box-shadow:0 0 0 0 transparent}}
.hand .card.nope{animation:shake .35s ease-out}
.elixir.nope{animation:elflash .55s ease-out}
.loading{grid-column:1/-1;padding:28px 0;text-align:center;color:var(--muted);font-family:var(--display);font-size:1.2rem;animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.45}}
.hand .card .art{height:40px;max-width:58px}
.hand .card.poor::after{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--ch,0)*100%);background:linear-gradient(to top,rgba(124,77,255,.34),rgba(124,77,255,.1));border-top:1px solid rgba(170,140,255,.55);pointer-events:none;border-radius:0 0 inherit inherit}
.next img{height:20px;width:auto;max-width:32px;object-fit:contain;vertical-align:middle;margin:0 6px 0 8px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}
@media all{
  .hand .card{padding:5px 5px 26px}
  .hand .card .art{height:46px!important;max-width:64px!important;margin:0 auto 2px;display:block}
  .hand .card .art.ph{width:40px!important;height:40px!important}
  .hand .nm{font-size:.76rem!important;text-align:center;display:block}
  .hand .card .tg{top:4px;right:4px;transform:scale(.85);transform-origin:top right}
}
.decks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0 0 14px}
.deck{appearance:none;font:inherit;text-align:left;border:1px solid var(--line);border-radius:4px;padding:8px 10px;background:linear-gradient(180deg,var(--panel-2),var(--panel));color:var(--ink);cursor:pointer}
.deck .dn{display:block;font-family:var(--display);font-weight:600;font-size:1rem;line-height:1.1}
.deck .ds{display:block;font-size:.72rem;color:var(--muted);margin-top:3px;line-height:1.25}
.deck[aria-pressed="true"]{border-color:var(--ember);box-shadow:0 0 0 1px var(--ember)}
.deck.locked,.card.locked{opacity:.45;filter:saturate(.2)}
.card .lock{position:absolute;left:8px;bottom:7px;font-size:.66rem;font-weight:700;color:var(--muted)}
.card.locked .rl{visibility:hidden}
.card .fresh{position:absolute;top:-7px;left:8px;font-size:.62rem;font-weight:800;color:#fff;background:var(--ember);border-radius:3px;padding:1px 6px}
.opts{margin:0 0 14px;font-size:.84rem;color:var(--muted)}
.opts>summary{cursor:pointer;font-weight:600;padding:4px 0}
.unlock{border:1px solid var(--gold);border-radius:4px;padding:10px 12px;margin:0 0 14px;background:color-mix(in srgb,var(--gold) 8%,transparent)}
.ucards{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 4px}
.ucard{display:grid;justify-items:center;text-align:center;width:84px}
.ucard img{height:48px;width:auto;max-width:76px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.ucard b{font-family:var(--display);font-size:.95rem;margin-top:3px}
.ucard small{font-size:.66rem;color:var(--muted);line-height:1.2}
.valk[hidden],.valh[hidden]{display:none}
.tg{position:absolute;top:6px;right:6px;display:flex;gap:1px;color:var(--muted);opacity:.9}
.tg svg{width:13px;height:13px;fill:currentColor}
.ctr{display:grid;gap:3px;margin-top:9px;font-size:.8rem}
.ctr i{font-style:normal;font-weight:700;display:inline-block;min-width:92px;color:var(--ink)}
.ctr i.up{color:color-mix(in srgb,#3FAF6A 80%,var(--ink))}
.ctr i.dn{color:var(--enemy)}
.card{transition:transform .14s cubic-bezier(.3,1.4,.5,1),box-shadow .14s}
.hand .card[aria-pressed="true"]{transform:translateY(-7px)}
.card.flycard{position:fixed;z-index:30;margin:0;pointer-events:none;box-shadow:0 12px 26px rgba(0,0,0,.45)}
.elixir .fill::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.32) 46%,transparent 62%);background-size:220% 100%;animation:shine 2.6s linear infinite}
@keyframes shine{from{background-position:160% 0}to{background-position:-60% 0}}
.elixir .num.tick{animation:tick .35s ease-out}
@keyframes tick{40%{transform:scale(1.4)}}
.card .art{display:block;height:42px;width:auto;max-width:62px;object-fit:contain;object-position:left bottom;margin:-2px 0 4px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.pick .art{height:46px;max-width:66px}
.card .art.ph{width:42px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:.95rem;color:var(--muted);background:color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:inset 0 0 0 1px var(--line);filter:none}
.pick .art.ph{width:46px}
.ico{display:inline-block;flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.abil{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:600;color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid var(--line);border-radius:3px;padding:3px 10px 3px 5px}
.chip .ico{color:var(--cyan)}
button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
details{font-size:.75rem;color:var(--muted)}
details summary{cursor:pointer}
.legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px}
.legend span::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:5px;vertical-align:-1px;box-shadow:0 0 0 1px var(--line)}

/* Overlays */
.overlay{position:fixed;inset:0;z-index:10;display:flex;align-items:flex-start;justify-content:center;padding:16px;overflow:auto;background:color-mix(in srgb,var(--bg-deep) 78%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.overlay[hidden]{display:none}
.sheet{position:relative;width:100%;max-width:560px;margin:auto;border:1px solid var(--line);border-radius:4px;padding:22px 22px 20px;box-shadow:var(--lift);
  background:radial-gradient(90% 60% at 100% 0%,color-mix(in srgb,var(--cyan) 8%,transparent),transparent 70%),var(--panel)}
.sheet::before,.sheet::after{content:"";position:absolute;width:16px;height:16px;border:0 solid var(--line-strong);pointer-events:none}
.sheet::before{left:-1px;top:-1px;border-left-width:2px;border-top-width:2px}
.sheet::after{right:-1px;bottom:-1px;border-right-width:2px;border-bottom-width:2px}
.sheet h1{margin:0 0 6px;font-family:var(--display);font-size:2.3rem;font-weight:600;letter-spacing:-.025em;line-height:1}
.sheet p{margin:0 0 16px;color:var(--muted);font-size:.9rem;line-height:1.45;max-width:60ch}
.logo{display:block;height:54px;width:auto;margin:-8px 0 8px -6px}
.picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px;margin-bottom:12px}
.picker h2{grid-column:1/-1;margin:8px 0 0;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.pick{min-height:64px}
.pick[aria-pressed="true"],.tempoBtns .card[aria-pressed="true"]{background:radial-gradient(64px 52px at 30px 28px,color-mix(in srgb,var(--ember) 16%,transparent),transparent 70%),linear-gradient(180deg,var(--panel-2),var(--panel))}
.desc{min-height:3.8em;font-size:.84rem;color:var(--muted);line-height:1.4;margin:0 0 14px}
.desc b{color:var(--ink);font-family:var(--display);font-size:1rem;font-weight:600}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.count{font-size:.84rem;font-weight:600}
.primary{appearance:none;font:inherit;font-weight:700;font-size:.98rem;border:1px solid color-mix(in srgb,var(--ember) 60%,#fff);border-radius:3px;padding:11px 22px;color:#fff;cursor:pointer;
  background:linear-gradient(180deg,color-mix(in srgb,var(--ember) 82%,#fff) 0%,var(--ember) 45%,color-mix(in srgb,var(--ember) 78%,#000) 100%);text-shadow:0 1px 1px rgba(0,0,0,.3)}
.primary:disabled{opacity:.4;cursor:default;filter:saturate(.4)}
.secondary{appearance:none;font:inherit;font-weight:700;font-size:.98rem;border:1px solid var(--line-strong);border-radius:3px;padding:10px 18px;background:transparent;color:var(--ink);cursor:pointer}
.tempo{display:grid;gap:6px;margin:0 0 14px}
.tempoBtns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.tempoBtns .card{min-height:52px;background:linear-gradient(180deg,var(--panel-2),var(--panel))}
.artbox{border:1px dashed var(--line);border-radius:4px;padding:10px 12px;margin:0 0 14px;display:grid;gap:6px}
.small{font-size:.8rem;color:var(--muted);line-height:1.4;margin:0}
.filebtn{display:inline-block;font-size:.88rem;padding:7px 14px}
.artbox .secondary{font-size:.88rem;padding:7px 14px}
.overlay.drag .sheet{outline:2px dashed var(--cyan);outline-offset:4px}
.crowns{display:grid;gap:6px;margin:10px 0 14px}
.crownRow{display:flex;align-items:center;gap:8px;font-weight:700}
.crownRow span{min-width:110px;font-size:.88rem;color:var(--muted)}
.crown{width:36px;height:27px;fill:color-mix(in srgb,var(--ink) 16%,transparent)}
.crown.on{animation:pop .45s cubic-bezier(.2,1.6,.4,1) both}
.crown.on.p{fill:var(--gold)}
.crown.on.e{fill:var(--enemy)}

/* Motion */
.elixir .fill{transition:width .12s linear}
.elixir.full .fill{animation:glow 1s ease-in-out infinite}
@keyframes glow{50%{filter:brightness(1.3)}}
.score b{transform-origin:left center}
.score.player b{transform-origin:right center}
.score b.bump{animation:bump .6s ease-out}
@keyframes bump{30%{transform:scale(1.55)}}
.clock b.hurry{color:var(--enemy);animation:hurry 1s ease-in-out infinite}
@keyframes hurry{50%{transform:scale(1.08)}}
.card.enter{animation:enter .28s ease-out}
@keyframes enter{from{transform:translateY(10px);opacity:0}}
@keyframes pop{from{transform:scale(0)}}

@media (max-width:480px), (min-aspect-ratio:3/4){
  .hand .card .art{height:30px;max-width:44px}
  .hand .card .art.ph{width:30px;font-size:.75rem}
  .hand .rl{display:none}
  .hand .card{min-height:62px;padding:6px 5px 30px}
  .valk .vtxt{display:none}
  .valk{padding:3px 8px}
  .hand{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hand .nm{font-size:.86rem;letter-spacing:-.01em}
  .next{grid-column:1/-1;display:flex;gap:6px;align-items:baseline;padding:4px 8px;font-size:.72rem}
  .next b{display:inline;margin:0;font-size:.86rem}
  .sheet{padding:16px}
  .sheet h1{font-size:1.85rem}
}
@media (max-width:0px){ /* old desktop sidebar layout, retired: the phone layout is used everywhere */
  .app{max-width:max(860px,calc((100vh - 32px) * 0.72 + 400px));padding:16px 20px;column-gap:28px;grid-template-columns:minmax(0,1fr) 330px;grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"stage hud" "stage info" "stage dock"}
  .hud{padding-top:4px}
  .info{min-height:6em}
  .dock{align-self:end}
  .hand{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hand .next{grid-column:1/-1}
  .card{min-height:84px}
}
html,body{touch-action:manipulation;overscroll-behavior:none}
.rotate{display:none;position:fixed;inset:0;z-index:60;background:var(--bg);color:var(--ink);place-items:center;text-align:center;font-family:var(--display);font-size:1.5rem;padding:24px}
.rotate small{display:block;font-family:var(--sans);font-size:.85rem;color:var(--muted);margin-top:8px}
.rotIco{font-size:2.6rem;margin:0 auto 12px;display:block;width:max-content;animation:rot 2.2s ease-in-out infinite}
@keyframes rot{0%,30%{transform:rotate(90deg)}60%,100%{transform:rotate(0deg)}}
@media (orientation:landscape) and (max-height:500px) and (pointer:coarse){.rotate{display:grid}}
@media (min-width:641px) and (max-width:1024px) and (orientation:portrait){
  .hud .score,.hud .clock{zoom:1.3}
  .hudHelp{zoom:1.25}
  .dock{left:50%!important;right:auto!important;width:min(640px,100%);transform:translateX(-50%)}
  .hud{left:50%!important;right:auto!important;width:min(640px,calc(100% - 12px));transform:translateX(-50%)}
  .info{left:50%!important;right:auto!important;width:min(560px,calc(100% - 20px));transform:translateX(-50%)}
}
@media (max-height:700px){
  .bar .tap,.bar .valk{width:46px;height:46px;top:-54px}
  .bar .tap{right:64px}
  .hand .next{display:none}
  .dock{gap:5px}
}
.app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.hudHelp{display:none}
.hud{position:relative}
@media all{
  .app{display:block;position:relative;max-width:none;height:100%;padding:0}
  .stage{position:absolute;inset:0;align-items:flex-start;justify-content:center}
  canvas{border-radius:0;box-shadow:none}
  .hud{position:absolute;top:6px;left:6px;right:6px;z-index:3;pointer-events:none;align-items:start;gap:6px}
  .hud .score,.hud .clock{background:rgba(4,12,16,.62);color:rgba(255,255,255,.8);border-radius:10px;padding:4px 10px 5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
  .hud .score{justify-self:start;font-size:.66rem}
  .hud .score.player{justify-self:end}
  .hud .score b{font-size:1.5rem}
  .hud .clock b{font-size:1.5rem;color:#fff}
  .hud .clock span{font-size:.62rem;color:rgba(255,255,255,.75)}
  .hud .valh{width:52px;margin-top:4px}
.hudHelp{display:block;position:absolute;right:0;top:calc(100% + 6px);pointer-events:auto;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(4,12,16,.62);color:#fff;font:700 .9rem var(--sans);cursor:pointer}
  .info{position:absolute;left:10px;right:56px;top:92px;z-index:3;min-height:0;pointer-events:none;display:none;background:rgba(4,12,16,.85);color:#fff;border-radius:8px;padding:7px 11px;font-size:.8rem;line-height:1.3;text-align:center}
  .info.warn,.info.hint{display:block}
  .info.warn{color:#ffb4a8}
  .info.hint{color:#ffe29a}
  .dock{position:absolute;left:0;right:0;bottom:0;z-index:4;gap:6px;padding:10px 8px calc(8px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,var(--bg) 78%,color-mix(in srgb,var(--bg) 0%,transparent))}
  .dock details{display:none}
  .bar{grid-template-columns:1fr}
  .bar .tap,.bar .valk{position:absolute;top:-66px;width:56px;height:56px;min-height:0;border-radius:50%;padding:0;display:grid;place-items:center;background:rgba(4,12,16,.8);border:0;box-shadow:0 4px 12px rgba(0,0,0,.4);overflow:visible;animation:none}
  .bar .tap[hidden],.bar .valk[hidden]{display:none}
  .bar .valk{right:10px}
  .bar .tap{right:76px}
  .bar .valk::before,.bar .tap::before{content:"";position:absolute;inset:-4px;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--p,0)*1turn),rgba(255,255,255,.18) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px))}
  .valk .vfill,.valk .vtxt,.tap>span:last-child{display:none}
  .valk .vico{width:30px;height:24px;color:rgba(255,255,255,.85)}
  .tap .ico{width:28px;height:28px}
  .bar .valk.ready{box-shadow:0 0 0 2px var(--gold),0 0 22px color-mix(in srgb,var(--gold) 70%,transparent);animation:glow 1.1s ease-in-out infinite}
  .bar .valk.ready .vico{color:var(--gold)}
  .bar .valk[aria-pressed="true"]{box-shadow:0 0 0 3px var(--ember),0 0 22px var(--ember)}
  .bar .tap.ready{box-shadow:0 0 0 2px var(--gold),0 0 16px color-mix(in srgb,var(--gold) 55%,transparent)}
  .bar .tap:disabled{opacity:.75}
  .bar{gap:6px}
  .elixir{height:24px}
  .elixir .num{line-height:22px}
  .tap{min-height:32px;padding:2px 8px 2px 6px;font-size:.74rem}
  .tap .ico{width:20px;height:20px}
  .valk{min-height:32px}
  .hand{gap:6px}
  .howBtn{top:12px;right:12px}
}
@media (prefers-reduced-motion: reduce){ *{transition:none!important;animation:none!important} }

/* first round: the paid elixir lights up briefly in the bar */
.elixir.tutPaid{animation:tutPaid 1.6s ease-out 1}
@keyframes tutPaid{0%{box-shadow:0 0 0 0 rgba(255,214,120,.0)}18%{box-shadow:0 0 0 3px rgba(255,214,120,.85),0 0 16px rgba(255,214,120,.6)}100%{box-shadow:0 0 0 0 rgba(255,214,120,0)}}
@media (prefers-reduced-motion:reduce){ .elixir.tutPaid{animation:none;box-shadow:0 0 0 2px rgba(255,214,120,.8)} }


/* Source: css/meta.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
body:not(.in-battle) .app{display:none}
body.in-battle #meta{display:none}
#meta{position:fixed;inset:0;z-index:5;display:flex;flex-direction:column;color:var(--ink);
  background:radial-gradient(120% 70% at 50% 30%,color-mix(in srgb,var(--panel-2) 70%,transparent),var(--bg) 70%),var(--bg);
  padding-top:env(safe-area-inset-top,0px);-webkit-user-select:none;user-select:none}
#meta .mi{width:1.1em;height:1.1em;vertical-align:-.18em;flex:0 0 auto}
.mwrap{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:10px 14px 18px;width:100%;max-width:560px;margin:0 auto}
.screen[hidden]{display:none}
.mtop{display:flex;align-items:center;gap:8px;padding:10px 14px 6px;width:100%;max-width:560px;margin:0 auto}
.me{display:flex;align-items:center;gap:8px;flex:1;min-width:0;background:none;border:0;color:inherit;padding:0;cursor:pointer;text-align:left}
.me img,.me .ph{width:40px;height:40px;border-radius:50%;object-fit:contain;background:var(--panel-2);border:2px solid var(--gold);padding:2px}
.meTxt{display:grid;gap:3px;min-width:0}
.meTxt b{font-family:var(--display);font-size:1.02rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xpbar{position:relative;display:block;width:96px;height:13px;border-radius:7px;background:rgba(0,0,0,.35);overflow:hidden}
.xpbar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#3FA9F5,#7FD0FF)}
.xpbar em{position:relative;font:800 .6rem/13px var(--sans);font-style:normal;padding-left:6px;color:#fff}
.cur{display:inline-flex;align-items:center;gap:4px;background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:14px;padding:4px 9px 4px 6px;font:800 .82rem var(--sans)}
.gear{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:rgba(0,0,0,.25);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.gear .mi{width:20px;height:20px}
.tab{position:relative;appearance:none;border:0;border-radius:10px;padding:11px 0;background:transparent;color:var(--muted);font:800 .86rem var(--sans);letter-spacing:.02em;cursor:pointer}
.tab.on{background:var(--panel-2);color:var(--ink);box-shadow:inset 0 -3px 0 var(--ember)}
.tab .dot{position:absolute;top:7px;right:calc(50% - 30px);width:9px;height:9px;border-radius:50%;background:#E0584A;box-shadow:0 0 0 2px var(--bg)}
.btn{appearance:none;border:1px solid var(--line-strong);background:var(--panel-2);color:var(--ink);font:800 .9rem var(--sans);border-radius:10px;padding:11px 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.btn.primary{background:linear-gradient(180deg,#F6A04D,#D9661F);border-color:#9C4510;color:#fff;box-shadow:0 3px 0 #8A3A0C;text-shadow:0 1px 0 rgba(0,0,0,.25)}
.btn.up{background:linear-gradient(180deg,#5FD08A,#2E9A58);border-color:#1E6B3C;color:#fff;box-shadow:0 3px 0 #185a31}
.btn.danger{border-color:#9b3a30;color:#FF9C8F}
.btn.sm{padding:7px 12px;font-size:.8rem;box-shadow:none}
.btn.wide{width:100%;margin:6px 0}
.btn:disabled{opacity:.45;cursor:default;filter:saturate(.3)}
.btn:active:not(:disabled){transform:translateY(2px);box-shadow:none}
.lnk{background:none;border:0;color:var(--ember);font:700 .85rem var(--sans);text-decoration:underline;cursor:pointer}
.row{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:14px;flex-wrap:wrap}
.league{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--lc) 22%,var(--panel)),var(--panel));border:1px solid color-mix(in srgb,var(--lc) 45%,var(--line))}
.lbadge{width:48px;height:54px;color:var(--lc);filter:drop-shadow(0 3px 5px rgba(0,0,0,.35))}
.lbadge .mi{width:48px;height:54px}
.linfo small{font:700 .66rem var(--sans);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.linfo b{display:block;font-family:var(--display);font-size:1.4rem;line-height:1.05}
.tbar{height:8px;border-radius:4px;background:rgba(0,0,0,.35);margin:6px 0 4px;overflow:hidden}
.tbar i{display:block;height:100%;background:linear-gradient(90deg,#F3C54A,#FFE08A)}
.tnext{font-size:.74rem;color:var(--muted)}
.lt{display:flex;align-items:center;gap:4px;font:900 1.35rem var(--sans)}
.lt .mi{width:24px;height:24px}
.hero{position:relative;height:clamp(150px,30vh,250px);display:grid;place-items:end center;margin:6px 0 2px}
.heroGlow{position:absolute;left:50%;bottom:6%;width:74%;height:40%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--lc) 45%,transparent),transparent);filter:blur(4px)}
.heroArt{position:relative;max-height:92%;max-width:78%;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.5));animation:heroBob 3.6s ease-in-out infinite}

@keyframes heroBob{50%{transform:translateY(-6px)}}
.hdeck{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:8px}
.dtabs{display:flex;gap:6px;margin-bottom:8px}
.dt{appearance:none;flex:1;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:8px;padding:7px 0;font:800 .78rem var(--sans);cursor:pointer}
.dt.on{background:var(--panel-2);color:var(--ink);border-color:var(--ember)}
.dt.edit{flex:0 0 auto;padding:7px 14px;color:var(--ember)}
.dstrip{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}
.dmini{position:relative;aspect-ratio:1;border-radius:7px;background:var(--panel-2);display:grid;place-items:center;overflow:hidden;border:1px solid var(--line)}
.dmini img{max-width:92%;max-height:92%;object-fit:contain}
.dmini em{position:absolute;left:2px;bottom:1px;font:900 .56rem var(--sans);font-style:normal;color:#fff;background:#2E9A58;border-radius:3px;padding:1px 3px}
.battle{display:block;width:100%;margin:12px 0 10px;border:0;border-radius:16px;padding:14px 0 12px;cursor:pointer;color:#fff;
  background:linear-gradient(180deg,#FFC24A,#F08A1E 55%,#D9661F);box-shadow:0 5px 0 #8A3A0C,0 10px 24px rgba(240,138,30,.35);text-shadow:0 2px 0 rgba(0,0,0,.25)}
.battle b{display:block;font:900 1.9rem/1 var(--display);letter-spacing:.04em;text-transform:uppercase}
.battle small{display:block;font:700 .76rem var(--sans);opacity:.9;margin-top:4px}
.battle:active{transform:translateY(3px);box-shadow:0 2px 0 #8A3A0C}
.hrow{display:grid;gap:8px}
.hcard{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:12px;padding:10px 12px;cursor:pointer}
.hcard.drop{border-color:#8a6bd8;background:linear-gradient(90deg,color-mix(in srgb,#B58CE8 22%,var(--panel)),var(--panel));animation:glowP 1.6s ease-in-out infinite}

@keyframes glowP{50%{box-shadow:0 0 16px rgba(181,140,232,.5)}}
.hcard .mi{width:30px;height:34px;color:#B58CE8}
.hcard b{display:block;font-size:.9rem}
.hcard small{color:var(--muted);font-size:.74rem}
.qmini{flex:1;display:grid;gap:5px}
.qbar{position:relative;display:block;height:10px;border-radius:5px;background:rgba(0,0,0,.35);overflow:hidden}
.qbar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#5FD08A,#9BE8B4)}
.qbar em{position:relative;font:800 .56rem/10px var(--sans);font-style:normal;padding-left:5px;color:#fff}
.qrw{display:inline-flex;align-items:center;gap:3px;font:800 .82rem var(--sans)}
#scr-deck h3,#scr-quests h3{font:800 .72rem var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--cyan);margin:16px 0 8px}
.mydeck,.coll{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.dinfo{font-size:.8rem;color:var(--muted);margin:8px 0 0;text-align:center}
.ctile{position:relative;appearance:none;border:1px solid var(--line);background:linear-gradient(180deg,var(--panel-2),var(--panel));border-radius:10px;padding:4px 4px 18px;color:inherit;cursor:pointer;display:grid;justify-items:center;min-height:92px}
.ctile.in{border-color:var(--ember);box-shadow:0 0 0 1px var(--ember) inset}
.ctile.swap{animation:glow 1s ease-in-out infinite}
.ctile.locked{filter:grayscale(.85);opacity:.55}
.cart{height:52px;display:grid;place-items:center;width:100%}
.cart img{max-height:52px;max-width:100%;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}
.cnm{font:800 .68rem var(--sans);line-height:1.1;text-align:center;margin-top:2px}
.ccost{position:absolute;right:3px;bottom:3px;width:18px;height:20px;display:grid;place-items:center;font:900 .7rem var(--sans);color:#fff;background:linear-gradient(180deg,#a47bff,#6a3fe0);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.clvl{position:absolute;left:3px;bottom:4px;font:900 .56rem var(--sans);color:#fff;background:#2E9A58;border-radius:4px;padding:1px 4px}
.cmast{position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;font:900 .55rem var(--sans);color:#1a1206}
.cmast.mBronze{background:#C9894F}
.cmast.mSilver{background:#C9D2DC}
.cmast.mGold{background:#F3C54A}
.clk{position:absolute;inset:auto 0 18px;display:flex;justify-content:center;align-items:center;gap:2px;font:800 .62rem var(--sans);color:var(--ink)}
#mmodal{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:rgba(3,8,10,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
#mmodal[hidden]{display:none}
.mbox{width:min(520px,100%);max-height:88vh;overflow:auto;background:var(--panel);border:1px solid var(--line-strong);border-bottom:0;border-radius:16px 16px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px));animation:sheetUp2 .22s ease-out;color:var(--ink)}

@keyframes sheetUp2{from{transform:translateY(40px);opacity:0}}

@media (min-width:700px){#mmodal{align-items:center}
.mbox{border-radius:16px;border-bottom:1px solid var(--line-strong)}}
.mbox h1,.mbox h2{font-family:var(--display);margin:0 0 6px;line-height:1.05}
.mbox h1{font-size:2rem}
.mbox h2{font-size:1.5rem}
.mbox p{line-height:1.45;margin:6px 0}
.mbox .mi{width:1.1em;height:1.1em;vertical-align:-.18em}
.shHead{display:flex;align-items:center;gap:12px}
.shArt{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 4px 5px rgba(0,0,0,.4))}
.shRole{font-size:.82rem;color:var(--muted)}
.shCost{margin-left:auto;width:36px;height:40px;display:grid;place-items:center;font:900 1.1rem var(--sans);color:#fff;background:linear-gradient(180deg,#a47bff,#6a3fe0);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.shDesc{font-size:.95rem}
.shStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
.shStats div{background:var(--panel-2);border-radius:10px;padding:8px;display:grid}
.shStats small{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.shStats b{font:900 1.1rem var(--sans)}
.shStats em{font-style:normal;font-size:.72rem;color:#5FD08A;font-weight:800}
.shCtr{display:grid;gap:4px;font-size:.85rem;margin:6px 0}
.shCtr i{font-style:normal;font-weight:800;display:inline-block;min-width:78px}
.shCtr i.up{color:#5FD08A}
.shCtr i.dn{color:#FF8A7A}
.shBtns{justify-content:space-between}
.maxed{font:800 .82rem var(--sans);color:#F3C54A}
.rnote{margin:8px 0;padding:9px 12px;border-radius:10px;background:var(--panel-2);border:1px solid color-mix(in srgb,var(--lc,var(--gold)) 50%,var(--line));font-size:.88rem;font-weight:700}
.rnote.muted{font-weight:500;color:var(--muted)}
.rnote.drop .mi{color:#B58CE8}
.results h1{text-align:center;font-size:2.4rem}
.results.win h1{color:#F3C54A}
.results.lose h1{color:#FF8A7A}
.rcrowns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 10px}
.rcrowns div{display:grid;justify-items:center;gap:4px;background:var(--panel-2);border-radius:12px;padding:8px}
.rcrowns small{font-weight:800;font-size:.8rem}
.crn svg{width:26px;height:20px;fill:rgba(255,255,255,.14)}
.crn.on.p svg{fill:#4AA8F0}
.crn.on.e svg{fill:#F0604E}
.rrow{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}
.rbig{display:flex;align-items:center;gap:6px;font:900 1.6rem var(--sans)}
.rbig .mi{width:28px;height:28px}
.rbig span{font-size:1rem}
.rbig .up{color:#5FD08A}
.rbig .dn{color:#FF8A7A}
.rsmall{display:flex;align-items:center;gap:4px;font:800 1rem var(--sans);background:var(--panel-2);border-radius:10px;padding:6px 10px}
.rlist{display:grid;gap:5px;margin:8px 0}
.rq{display:flex;justify-content:space-between;gap:8px;font-size:.85rem;background:var(--panel-2);border-radius:8px;padding:7px 10px}
.rqp{display:inline-flex;align-items:center;gap:3px;font-weight:800;color:#5FD08A}
.results .row{justify-content:center}
.results .row .btn{min-width:60%}
.rhead{display:flex;align-items:center;justify-content:center;gap:8px;font:900 1.6rem var(--sans);margin:4px 0 10px}
.rhead .mi{width:28px;height:28px}
.rhead small{font:600 .8rem var(--sans);color:var(--muted)}
.road{display:grid;gap:6px}
.rleague{display:flex;align-items:center;gap:8px;margin:12px 0 2px;color:var(--lc)}
.rleague .mi{width:22px;height:26px}
.rleague b{font-family:var(--display);font-size:1.2rem;color:var(--ink)}
.rleague small{margin-left:auto;color:var(--muted);font-size:.74rem}
.rstep{display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.rstep.ready{border-color:var(--ember);box-shadow:0 0 0 1px var(--ember) inset;animation:glow 1.4s ease-in-out infinite}
.rstep.got{opacity:.6}
.rstep.locked{opacity:.8}
.rt{display:flex;align-items:center;gap:3px;font:900 .86rem var(--sans)}
.rrw{display:flex;align-items:center;gap:10px;min-width:0}
.rrw b{display:block;font-size:.9rem}
.rrw small{color:var(--muted);font-size:.72rem}
.rart{width:40px;height:40px;object-fit:contain}
.ricon{width:40px;height:40px;display:grid;place-items:center}
.ricon .mi{width:28px;height:30px}
.rst{color:var(--muted);display:grid;place-items:center;width:30px}
.rstep.got .rst{color:#5FD08A}
.qlist{display:grid;gap:8px}
.quest{display:flex;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px}
.quest.done{border-color:#2E9A58;box-shadow:0 0 0 1px #2E9A58 inset}
.quest.claimed{opacity:.55}
.qtxt{flex:1;display:grid;gap:7px}
.qtxt b{font-size:.92rem}
.qside{display:grid;justify-items:end;gap:6px}
.qreset{text-align:center;color:var(--muted);font-size:.8rem}
.dropInfo{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;font-size:.88rem}
.dropInfo>.mi{width:30px;height:34px;color:#B58CE8}
.drop{display:grid;justify-items:center;text-align:center;padding:10px 0}
.dropStone{width:120px;height:140px;color:var(--dc);cursor:pointer;filter:drop-shadow(0 0 22px var(--dc));animation:dropIdle 1.6s ease-in-out infinite}
.dropStone .mi{width:120px;height:140px}

@keyframes dropIdle{50%{transform:translateY(-6px) rotate(-2deg)}}
.dropStone.hit{animation:dropHit .28s ease-out}

@keyframes dropHit{30%{transform:scale(1.12) rotate(6deg)}60%{transform:scale(.95) rotate(-5deg)}}
.dropStone.burst{animation:dropBurst .38s ease-in forwards}

@keyframes dropBurst{to{transform:scale(1.8);opacity:0;filter:drop-shadow(0 0 60px var(--dc)) brightness(2)}}
.dropHint{color:var(--muted);font-size:.85rem}
.dropOut{display:grid;justify-items:center;gap:4px;animation:sheetUp2 .3s ease-out}
.dropRar{font:900 .8rem var(--sans);text-transform:uppercase;letter-spacing:.18em;color:var(--dc)}
.dropRw{display:flex;align-items:center;gap:8px;font:900 2.4rem var(--sans)}
.dropRw .mi{width:40px;height:40px}
.celeb{text-align:center}
.celeb .row{justify-content:center}
.celebArt img{max-height:130px;max-width:70%;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.celebIco{color:#B58CE8}
.celebIco .mi{width:70px;height:80px}
.fld{display:grid;gap:5px;font-size:.8rem;color:var(--muted);margin:8px 0}
.fld input{font:700 1rem var(--sans);padding:11px 12px;border-radius:10px;border:1px solid var(--line-strong);background:var(--panel-2);color:var(--ink)}
.avs{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:6px 0 12px}
.av{aspect-ratio:1;border-radius:50%;border:2px solid var(--line);background:var(--panel-2);padding:3px;cursor:pointer}
.av.on{border-color:var(--gold)}
.av img{width:100%;height:100%;object-fit:contain}
.pstats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.pstats div{background:var(--panel-2);border-radius:10px;padding:8px;display:grid;text-align:center}
.pstats b{font:900 1.1rem var(--sans)}
.pstats small{font-size:.66rem;color:var(--muted)}
.tgl{display:flex;justify-content:space-between;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line);font-weight:700}
.tgl input{width:22px;height:22px;accent-color:var(--ember)}
.ptbox{display:flex;flex-wrap:wrap;gap:6px;padding:10px 0}
.ver{font-size:.72rem;color:var(--muted);text-align:center;margin-top:10px}
.welcome{text-align:center}
.welcome .row{justify-content:center}
.welcome .row .btn{min-width:60%}
.wArt{max-height:120px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.ph{font:900 .9rem var(--sans);color:var(--muted)}
#mtoast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);z-index:45;background:rgba(4,12,16,.92);color:#fff;padding:10px 16px;border-radius:10px;font-size:.86rem;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90%}
#mtoast.show{opacity:1;transform:translate(-50%,0);animation:toastOut 2.6s forwards}

@keyframes toastOut{85%{opacity:1}100%{opacity:0}}
.dropOut[hidden],.dropStone[hidden],.dropHint[hidden]{display:none}
.crow{display:flex;gap:6px}
.cup{position:absolute;right:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#2E9A58;color:#fff;font-size:.55rem;display:grid;place-items:center;box-shadow:0 0 0 2px var(--panel);animation:glowG 1.4s ease-in-out infinite}

@keyframes glowG{50%{box-shadow:0 0 0 2px var(--panel),0 0 10px #5FD08A}}
.tab{display:grid;justify-items:center;gap:2px;padding:7px 0 6px}
.tico svg{width:22px;height:22px;fill:currentColor;display:block}
.tab.on .tico svg{fill:var(--ember)}
.cur.bump{animation:curBump .6s ease-out}

@keyframes curBump{30%{transform:scale(1.18);box-shadow:0 0 14px rgba(243,197,74,.6)}}
#splash{position:fixed;inset:0;z-index:80;display:grid;place-content:center;justify-items:center;gap:16px;background:radial-gradient(90% 60% at 50% 40%,#0d2129,#061116);transition:opacity .45s}
#splash img{width:min(60vw,260px);filter:drop-shadow(0 6px 18px rgba(0,0,0,.6))}
.spbar{width:min(62vw,240px);height:10px;border-radius:5px;background:rgba(255,255,255,.1);overflow:hidden;border:1px solid rgba(255,255,255,.12)}
.spbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#F08A1E,#FFC24A);transition:width .15s}
#splash small{color:rgba(255,255,255,.7);font:600 .82rem var(--sans,system-ui)}
#splash.out{opacity:0;pointer-events:none}
.crn.on{display:inline-block;animation:crnPop .45s cubic-bezier(.3,1.6,.5,1) backwards}
.crow .crn:nth-child(2){animation-delay:.18s}
.crow .crn:nth-child(3){animation-delay:.36s}

@keyframes crnPop{from{transform:scale(0) rotate(-20deg)}}
.vs{min-height:52vh;display:grid;place-items:center;text-align:center}
.vsFind{display:grid;justify-items:center;gap:14px;font:700 1rem var(--sans);color:var(--muted)}
.spin{width:44px;height:44px;border-radius:50%;border:4px solid rgba(255,255,255,.12);border-top-color:var(--ember);animation:spin .8s linear infinite}

@keyframes spin{to{transform:rotate(360deg)}}
.vsDuel{display:grid;gap:6px;width:100%;animation:sheetUp2 .3s ease-out}
.vsDuel[hidden],.vsFind[hidden]{display:none}
.vsP{display:grid;justify-items:center;gap:3px;padding:10px;border-radius:14px}
.vsP.e{background:linear-gradient(180deg,color-mix(in srgb,#F0604E 22%,var(--panel)),var(--panel));animation:vsIn .4s ease-out}
.vsP.p{background:linear-gradient(0deg,color-mix(in srgb,#4AA8F0 22%,var(--panel)),var(--panel));animation:vsIn2 .4s ease-out}

@keyframes vsIn{from{transform:translateX(-40px);opacity:0}}
@keyframes vsIn2{from{transform:translateX(40px);opacity:0}}
.vsArt{height:84px;max-width:120px;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(0,0,0,.45))}
.vsP b{font-family:var(--display);font-size:1.4rem}
.vsP small{display:flex;align-items:center;gap:3px;color:var(--muted);font-weight:700}
.vsX{font:900 2.2rem var(--display);color:var(--gold);text-shadow:0 3px 0 rgba(0,0,0,.4);animation:crnPop .5s cubic-bezier(.3,1.6,.5,1) .2s backwards}
.vsLeague{font:800 .76rem var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--lc)}
#intro{position:fixed;inset:0;z-index:70;overflow:hidden;background:#061116;cursor:pointer;transition:opacity .5s}
#intro.out{opacity:0}
.inBg{position:absolute;inset:-6%;background-size:cover;background-position:center 46%;filter:saturate(1.1) brightness(.72);animation:inZoom 7s ease-out forwards}

@keyframes inZoom{from{transform:scale(1.18)}to{transform:scale(1.02)}}
.inShade{position:absolute;inset:0;background:radial-gradient(80% 55% at 50% 58%,transparent 30%,rgba(4,10,14,.85)),linear-gradient(180deg,rgba(4,10,14,.75),transparent 30%,transparent 62%,rgba(4,10,14,.92))}
.inVeras{position:absolute;left:0;right:0;bottom:20%;height:34%}
.inV{position:absolute;bottom:0;height:62%;max-width:34%;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(0,0,0,.6));opacity:0;animation:inDrop .55s cubic-bezier(.3,1.5,.5,1) forwards}
.inV.v0{left:4%;animation-delay:.35s}
.inV.v1{left:27%;bottom:28%;height:48%;animation-delay:.7s}
.inV.v2{right:26%;height:70%;animation-delay:1.05s}
.inV.v3{right:3%;height:66%;animation-delay:1.4s}

@keyframes inDrop{0%{transform:translateY(-120%) scale(.9);opacity:0}60%{opacity:1}100%{transform:none;opacity:1}}
.inDust{position:absolute;bottom:-2%;width:26%;height:12%;border-radius:50%;background:radial-gradient(closest-side,rgba(230,215,180,.55),transparent);opacity:0;animation:inPuff .7s ease-out forwards}
.inDust.d0{left:6%;animation-delay:.72s}
.inDust.d1{left:29%;bottom:26%;animation-delay:1.07s}
.inDust.d2{right:28%;animation-delay:1.42s}
.inDust.d3{right:5%;animation-delay:1.77s}

@keyframes inPuff{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.inTitle{position:absolute;left:0;right:0;top:9%;text-align:center;color:#fff}
.inLogo{width:min(46vw,190px);opacity:0;animation:inSlam .5s cubic-bezier(.3,1.6,.5,1) 1.8s forwards;filter:drop-shadow(0 4px 12px rgba(0,0,0,.7))}
.inTitle h1{margin:4px 0 0;font:700 clamp(2.4rem,11vw,4rem)/1 var(--display);letter-spacing:.02em;text-shadow:0 4px 0 rgba(0,0,0,.45),0 0 30px rgba(240,138,30,.45);opacity:0;animation:inSlam .5s cubic-bezier(.3,1.6,.5,1) 2.05s forwards}
.inTitle p{margin:8px 0 0;font:600 .95rem var(--sans);color:rgba(255,255,255,.85);opacity:0;animation:inFade .6s ease 2.4s forwards}

@keyframes inSlam{0%{transform:scale(2.2);opacity:0}100%{transform:none;opacity:1}}

@keyframes inFade{to{opacity:1}}
.inTap{position:absolute;left:50%;bottom:calc(7% + env(safe-area-inset-bottom,0px));transform:translateX(-50%);border:0;background:none;color:#FFE08A;font:800 1.05rem var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:0;pointer-events:none}
#intro.ready .inTap{opacity:1;animation:inPulse 1.2s ease-in-out infinite}

@keyframes inPulse{50%{opacity:.45}}
#coach{position:fixed;inset:0;z-index:35;pointer-events:none}
.cSpot{position:fixed;border-radius:14px;box-shadow:0 0 0 9999px rgba(3,8,10,.55),0 0 0 3px #FFC24A,0 0 22px #FFC24A;transition:all .25s;animation:cPulse 1.2s ease-in-out infinite}
.cSpot[hidden],.cBub[hidden],.cHand[hidden],#cOk[hidden]{display:none}

@keyframes cPulse{50%{box-shadow:0 0 0 9999px rgba(3,8,10,.55),0 0 0 5px #FFC24A,0 0 30px #FFC24A}}
.cBub{position:fixed;left:50%;transform:translateX(-50%);width:min(88vw,380px);background:#FFF7E6;color:#2a1a0a;border-radius:16px;padding:14px 16px;box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 0 3px #F3C54A;font:600 .98rem/1.4 var(--sans);text-align:center;pointer-events:auto;animation:cIn .3s cubic-bezier(.3,1.5,.5,1)}
.cBub.mid{top:22%}
.cBub.up{top:30%}
.cBub.down{top:55%}
.cBub p{margin:0}
.cBub b{color:#C4561A}

@keyframes cIn{from{transform:translateX(-50%) scale(.85);opacity:0}}
#cOk{margin-top:10px;border:0;border-radius:10px;padding:9px 16px;background:linear-gradient(180deg,#F6A04D,#D9661F);color:#fff;font:800 .85rem var(--sans);box-shadow:0 3px 0 #8A3A0C;cursor:pointer}
.cHand{position:fixed;left:0;top:0;width:44px;height:52px;margin:-6px 0 0 -14px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
.cHand svg{width:100%;height:100%}
.cHand.drag{animation:cDrag 1.9s ease-in-out infinite}

@keyframes cDrag{0%{transform:translate(var(--x0),var(--y0)) scale(1);opacity:0}10%{opacity:1;transform:translate(var(--x0),var(--y0)) scale(.9)}70%{transform:translate(var(--x1),var(--y1)) scale(.9);opacity:1}85%{transform:translate(var(--x1),var(--y1)) scale(1.05);opacity:0}100%{opacity:0}}
.cHand.tapmode{animation:cTap 1s ease-in-out infinite}

@keyframes cTap{0%,100%{transform:translate(var(--x0),var(--y0)) scale(1)}50%{transform:translate(var(--x0),calc(var(--y0) + 10px)) scale(.88)}}
.hand .card.tutDim{opacity:.35;filter:grayscale(.8);pointer-events:none}
.tab.locked{opacity:.45}
.tab.locked .tico .mi{width:20px;height:20px}
.featIco .mi{width:64px;height:64px}
.feat small{display:block;font:800 .72rem var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--ember);margin-top:6px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0}
.spTip{max-width:78vw;text-align:center;color:rgba(255,255,255,.62);font:500 .8rem/1.4 var(--sans,system-ui);margin:8px 0 0}
.arena{position:relative;height:clamp(230px,40vh,330px);border-radius:18px;overflow:hidden;border:2px solid color-mix(in srgb,var(--lc) 60%,#000);box-shadow:0 10px 24px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.08)}
.arBg{position:absolute;inset:-4%;background-size:170%;background-position:50% 60%;filter:saturate(1.05) brightness(.8)}
.arTint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,10,14,.55),transparent 35%,transparent 60%,rgba(4,10,14,.7)),radial-gradient(60% 40% at 50% 80%,color-mix(in srgb,var(--lc) 40%,transparent),transparent)}
.arTop{position:absolute;left:10px;right:10px;top:10px;display:flex;justify-content:space-between;align-items:center}
.arLeague,.arTro{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:12px;background:rgba(4,12,16,.66);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.arLeague .mi{width:18px;height:20px;color:var(--lc)}
.arLeague b{font-family:var(--display);font-size:1.15rem}
.arTro b{font:900 1.15rem var(--sans)}
.arTro .mi{width:20px;height:20px}
.arHero{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);width:62%;height:74%;border:0;background:none;padding:0;cursor:pointer;display:grid;place-items:end center}
.arPed{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:78%;height:18%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--lc) 70%,#fff),color-mix(in srgb,var(--lc) 30%,transparent) 60%,transparent);filter:blur(1px);animation:pedGlow 2.4s ease-in-out infinite}

@keyframes pedGlow{50%{opacity:.7}}
.arHero .heroArt{position:relative;max-height:100%;max-width:100%;margin-bottom:6%}
.nxRoad{display:flex;align-items:center;gap:10px;width:100%;margin:10px 0 0;padding:9px 12px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:inherit;text-align:left;cursor:pointer}
.nxArt{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}
.nxIco{width:40px;height:40px;display:grid;place-items:center}
.nxIco .mi{width:26px;height:28px;color:#B58CE8}
.nxTxt{flex:1;display:grid;gap:2px}
.nxTxt small{font-size:.7rem;color:var(--muted)}
.nxTxt b{font-size:.92rem}
.nxClaim{font:900 .74rem var(--sans);color:#fff;background:linear-gradient(180deg,#F6A04D,#D9661F);border-radius:8px;padding:6px 10px;animation:glow 1.4s ease-in-out infinite}
.dtLabel{font:800 .78rem var(--sans);color:var(--muted);padding:6px 2px;text-transform:uppercase;letter-spacing:.1em}
.battle{position:relative;overflow:hidden}
.battle::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45) 48%,transparent 60%);transform:translateX(-120%);animation:shine2 3.2s ease-in-out 1s infinite}

@keyframes shine2{0%,55%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}
.screen.enter{animation:scrIn .22s ease-out}

@keyframes scrIn{from{opacity:0;transform:translateY(10px)}}
.flyIco{position:fixed;left:0;top:0;z-index:90;width:26px;height:26px;margin:-13px 0 0 -13px;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}
.flyIco .mi{width:26px;height:26px}
button.cur{cursor:pointer;color:inherit;font:inherit;font:800 .82rem var(--sans)}
.arTro{cursor:pointer}
.mtip{position:fixed;z-index:60;width:220px;background:#FFF7E6;color:#2a1a0a;border-radius:12px;padding:10px 12px;font:600 .82rem/1.4 var(--sans);box-shadow:0 8px 24px rgba(0,0,0,.45),0 0 0 2px #F3C54A;animation:cIn2 .2s ease-out}
.mtip b{color:#C4561A}

@keyframes cIn2{from{transform:translateY(-6px);opacity:0}}
.dropTier{font:900 .9rem var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--dc);margin-bottom:6px;text-shadow:0 0 12px var(--dc)}
.dropTier.pop{animation:tierPop .45s cubic-bezier(.3,1.6,.5,1)}

@keyframes tierPop{from{transform:scale(1.8);opacity:.2}}
.dropTier[hidden]{display:none}
.drop{transition:none}
.dropStone{transition:filter .3s,color .3s}
.dropStone.up{animation:dropUp .5s ease-out}

@keyframes dropUp{0%{transform:scale(1)}25%{transform:scale(1.25) rotate(-8deg);filter:drop-shadow(0 0 50px var(--dc)) brightness(1.8)}60%{transform:scale(.95) rotate(6deg)}100%{transform:none}}
.league2 small,.lvup small{display:block;font:800 .72rem var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--lc,var(--ember));margin-top:10px}
.lgArena{position:relative;height:150px;border-radius:14px;overflow:hidden;background-size:170%;background-position:50% 60%;border:2px solid var(--lc)}
.lgTint{position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 60%,color-mix(in srgb,var(--lc) 45%,transparent),rgba(4,10,14,.6))}
.lgBadge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--lc);filter:drop-shadow(0 0 18px var(--lc));animation:crnPop .6s cubic-bezier(.3,1.6,.5,1) .15s backwards}
.lgBadge .mi{width:70px;height:80px}
.lvBadge{width:86px;height:86px;margin:6px auto 0;border-radius:50%;display:grid;place-items:center;font:900 2.4rem var(--display);color:#fff;background:radial-gradient(circle at 35% 30%,#7FD0FF,#2F7FD0);box-shadow:0 0 0 4px #F3C54A,0 0 26px rgba(63,169,245,.6);animation:crnPop .55s cubic-bezier(.3,1.6,.5,1) backwards}
#scr-quests .quest.qHide{display:none!important}
#scr-quests .qShowAll{display:block;margin:6px auto 2px}
#scr-quests details.qShopD{margin-top:14px;border-top:1px solid rgba(255,255,255,.08);padding-top:8px}
#scr-quests details.qShopD>summary{cursor:pointer;font-weight:700;padding:8px 2px;list-style-position:inside}
#saveBar{position:fixed;left:8px;right:8px;top:calc(env(safe-area-inset-top,0px) + 8px);z-index:9000;display:flex;gap:8px;align-items:center;justify-content:space-between;background:#3a1420;color:#fff;border:1px solid #ff8aa0;border-radius:12px;padding:8px 10px;font-size:.9rem;box-shadow:0 6px 18px rgba(0,0,0,.4)}
#saveBar[hidden]{display:none}
#saveBar span{flex:1}
#saveBar .btn{min-height:36px;padding:6px 12px}


/* Source: css/leaderboard.css */
.lbBadge{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 6px;border-radius:5px;font:800 11px/1.3 var(--ui-body,system-ui);letter-spacing:.04em;background:#294255;color:#d4ecf5;border:1px solid #8199a8}
.lbBadge.ai{background:#343749;border-color:#9e9ab4;color:#f1e7ff}.lbBadge.human{background:#1b493e;border-color:#69cdb1;color:#cbffe9}
.rkName b{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.rkNm{min-width:0;overflow-wrap:anywhere}.rkTro{flex-shrink:0}.rkPos{flex-shrink:0}
.lbIntro{padding:10px 4px 18px}.lbIntro p,.lbSettings .sheetNote,.lbStatus{font-size:14px;line-height:1.5;color:#bccfdf;overflow-wrap:anywhere}.lbStatus{margin:8px 0}.lbIntro .btn,.lbSettings .btn{min-height:44px;white-space:normal}
.lbSettings .tgl span{min-width:0;flex:1}.lbSettings .tgl input{flex-shrink:0}.lbSettings .sheetNote{margin:8px 0}.lbSettings .lbStatus{color:#e4d49f}
.lbGlobal{display:block;margin-top:9px;color:#e7d299!important}.rkCard .rkBig small{font-size:12px;white-space:normal}
body.bigText .lbIntro p,body.bigText .lbSettings p,body.bigText .lbStatus{font-size:16px}body.bigText .lbBadge{font-size:12px}
/* Public decks use the same still portraits as the battle hand. No arena layout changes. */
#scr-ranks button.rkInspectable{width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer;appearance:none}
#scr-ranks button.rkInspectable:hover{border-color:#9bd2c8;background-color:#284351}
#scr-ranks button.rkInspectable:focus-visible{outline:3px solid #83e0c9;outline-offset:2px}
.rkViewDeck{display:inline-flex;align-items:center;gap:5px;color:#a2e3d5;font-weight:800;white-space:nowrap}
.rkViewDeck>span{font-size:19px;line-height:1}
.mbox:has(>.rivalDeck){padding:0!important;overflow:hidden}
.rivalDeck{display:flex;flex-direction:column;max-height:calc(100dvh - 30px);min-height:0}
.mbox:has(>.rivalDeck)>.mClose{width:44px!important;height:44px!important;top:12px!important;right:12px!important}
.rivalBody{padding:16px;overflow:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin}
.rivalMeta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#d0dfeb;font-size:.8rem;line-height:1.5}
.rivalMeta>span{display:flex;align-items:center;gap:5px}.rivalMeta svg{width:17px;height:17px;color:#e5c875}
.rivalMeta b{color:#d5b5ff}.rivalCaption{font-size:.75rem;color:#a6bbb9;margin:16px 0 9px;font-weight:750}
.rivalGrid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 7px}
.rivalCard{position:relative;min-width:0;display:flex;flex-direction:column;overflow:hidden;border-radius:10px;border:1px solid #708b9f;background:linear-gradient(#315369,#14273a);box-shadow:inset 0 1px #d9f5ff55,0 3px #071522}
.rivalCard.spell{border-color:#78c3c7;background:linear-gradient(#285966,#142b39)}
.rivalArt{display:grid;place-items:center;width:100%;aspect-ratio:1/1;overflow:hidden}
.rivalArt>.veraPortrait{height:100%;width:100%;max-width:none;padding:0}
.rivalArt>img,.rivalArt>.spellArt{width:80%;height:80%;object-fit:contain;display:grid;place-items:center}
.rivalArt .spellArt svg{width:100%;height:100%}
.rivalCard>b{background:#0a1a2bed;color:#f3f6ff;display:grid;place-items:center;text-align:center;padding:6px 2px;font-size:.68rem;line-height:1.25;min-height:37px;overflow-wrap:anywhere;hyphens:manual}
.rivalCost{position:absolute;top:3px;left:3px;min-width:22px;height:26px;padding:0 3px;display:grid;place-items:center;border:1px solid #e1c7ff;border-radius:7px;background:linear-gradient(#bc94e7,#68449b);color:white;font-size:.9rem;font-weight:900;text-shadow:0 1px 2px #0008;box-shadow:0 1px 3px #07132377}
.rivalSpell{position:absolute;right:3px;bottom:43px;background:#153d48e8;color:#d6ffef;border:1px solid #93d0c0;border-radius:3px;padding:2px 3px;font-size:8px;line-height:1.1;font-weight:850}
.rivalNote,.rivalEmpty p{font-size:.76rem;line-height:1.5;color:#aebfd0;margin:16px 0 0;overflow-wrap:anywhere}
.rivalEmpty{padding:25px 0 16px}.rivalEmpty>b{font-size:1.05rem;color:#f2ddb1}.rivalEmpty p{margin-top:9px}
.rivalFooter{flex:none;padding:12px 16px max(14px,env(safe-area-inset-bottom,0px));border-top:1px solid #6f899f55;background:#152537}
.rivalFooter .btn{width:100%;min-height:46px;white-space:normal}
body.bigText .rivalGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
body.bigText .rivalCard>b{font-size:.84rem;min-height:43px}
body.bigText .rivalMeta,body.bigText .rivalNote,body.bigText .rivalEmpty p{font-size:.9rem}


/* Source: css/accounts.css */
/* Account panels live inside the existing modal. No arena or hand dimensions. */
.accountPanel{width:100%;max-width:520px;margin:0 auto;padding:18px;box-sizing:border-box;overflow-wrap:anywhere;text-align:left}
.mbox:has(>.accountPanel){padding:0}
.accountPanel h2{margin:4px 0 12px;padding-right:30px;font-family:var(--titleFont,Georgia,serif);font-size:clamp(24px,7vw,34px);color:#f3e3ae;line-height:1.15}
.accountPanel p{font-size:14px;line-height:1.5;margin:9px 0;color:#c5d3e0}
.accountPanel .accountIdentity{padding:7px 10px;border:1px solid #698490;border-radius:10px;background:#162b38;color:#b2ece0;line-height:1.4;font-size:12px;overflow-wrap:anywhere}
.accountState{display:inline-flex;gap:7px;align-items:center;margin:4px 0 6px;font-weight:800;color:#c4dfec;font-size:13px}
.accountState::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}
.accountState[data-phase=linked]{color:#99e2be}.accountState[data-phase=conflict],.accountState[data-phase=offline],.accountState[data-phase=expired]{color:#f3cf87}
.accountChoices{display:grid;gap:12px;margin:14px 0}
.accountSave{border:1px solid #4e667d;border-radius:16px;padding:14px;background:linear-gradient(145deg,#21344a,#112032);box-shadow:inset 0 1px #ffffff13}
.accountSave h3{font-size:13px;color:#f5e6b8;margin:0 0 7px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.accountSave strong{font-size:17px;color:#f4f7ff}
.accountSave .accountNumbers{font-size:14px;color:#c9d8e5;line-height:1.4;margin-bottom:4px}
.accountSave p.accountFine{margin:4px 0;font-size:11px}
.accountPanel .btn{width:100%;min-height:46px;margin-top:9px;white-space:normal;line-height:1.3;padding:11px 14px;height:auto;box-sizing:border-box}
.accountPanel .googleButton{background:#fff;color:#202124;border:1px solid #747775;border-radius:6px;font:500 15px Arial,sans-serif;box-shadow:none;display:flex;align-items:center;justify-content:center;gap:12px}
.accountPanel .googleButton svg{width:20px;height:20px;flex:none}
.accountPanel details{border-top:1px solid #ffffff24;margin-top:17px;padding-top:11px;font-size:13px}
.accountPanel summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#b8dcdf;text-decoration:underline}
.accountPanel .accountAlert{padding:12px;border-left:3px solid #eecb7b;border-radius:7px;background:#302f30;color:#f1e3ca}
.accountPanel .accountFine{font-size:12px;color:#a9bccb}.accountPanel button:disabled{opacity:.55;cursor:wait}
.accountPanel .accountFooter{margin-top:15px;border-top:1px solid #ffffff20;padding-top:5px}
.accountSettings p{margin:6px 0 10px}.bigText .accountPanel p,.bigText .accountSave .accountNumbers{font-size:16px}
@media(min-width:500px){.accountChoices:has(.accountSave:nth-child(2)){grid-template-columns:1fr 1fr}}
@media(max-width:360px){.accountPanel{padding:14px}.accountSave{padding:12px}}

.accountDiff{padding:7px 10px;margin:10px 0;border-left:2px solid #99d4c7;background:#0b1b2980;border-radius:5px}.accountDiff p{font-size:12px;line-height:1.45}.accountDiff details{margin-top:5px;padding-top:0;border:0}.accountDiff ul{padding-left:17px}.accountDiff li{margin:6px 0}.accountDiff summary{font-size:12px}.accountState[data-phase=recovered]{color:#f3cf87}

/* Identity, local persistence and online save state remain separate facts. */
.accountPanel .accountIdentity{display:grid;gap:3px;padding:13px 14px;border-color:#4d6a7b;background:linear-gradient(135deg,#20384a,#132537);font-size:14px;color:#eaf4fc;min-width:0}
.accountIdentity strong{font-size:20px;line-height:1.25;color:#f5e6b8;overflow-wrap:anywhere}
.accountIdentityLabel{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#a7c3cf}
.accountIdentityLabel:not(:first-child){margin-top:7px}
.accountEmail{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.accountSaveStatus{display:grid;gap:6px;margin:13px 0;padding:11px 0;border-bottom:1px solid #ffffff1c}
.accountDevice{font-size:13px;color:#abdac7;font-weight:700}
.accountDevice[data-saved=false]{color:#f3cf87}
.accountCloudDate{font-size:12px;line-height:1.4;color:#abc0cf}
.accountSaveStatus .accountState{margin:0;line-height:1.4}
.accountState[data-phase=authUnavailable],.accountState[data-phase=error]{color:#f3cf87}
.accountPanel .accountSuccess{border-color:#94d6b6;background:#193b36;color:#d4f4df}
.accountPanel #accountDiagnostics{margin-top:12px}
.accountPanel #accountReportText{box-sizing:border-box;width:100%;max-width:100%;font:12px/1.4 monospace}
.bigText .accountIdentity,.bigText .accountDevice,.bigText .accountState{font-size:16px}
.bigText .accountCloudDate,.bigText .accountIdentityLabel{font-size:13px}
@media(max-width:360px){.accountPanel h2{font-size:26px}.accountPanel .accountIdentity{padding:11px 12px}}


/* Source: css/online201.css */
/* Menu-only layout. No arena, hand or HUD dimensions are changed. */
.online201{display:flex;flex-direction:column;gap:16px;max-width:560px;margin:auto;text-align:left}
.online201 header h2{margin:4px 0 0}.online201 footer{display:grid;gap:10px;padding-top:8px}.onlineBody201>p{line-height:1.45}
.onlineMap201{display:flex;align-items:center;gap:18px;padding:12px;background:#132937;border:1px solid #52716e;border-radius:12px}
.onlineMap201>img{height:132px;width:75px;object-fit:contain;border-radius:6px;flex:none}
.onlineMap201 strong{display:block;color:#ffe5a1;font-size:20px}.onlineMap201 span{display:block;color:#afcec9;font-size:13px;margin-top:4px}.onlineMap201 p{margin:12px 0 0;line-height:1.5}
.onlineDecks201{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:14px 0 10px}.onlineDecks201 .btn{min-height:44px;padding:8px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.onlineCards201{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.onlineCard201{min-width:0;display:grid;justify-items:center;gap:4px}.onlineCard201>.veraPortrait,.onlineCard201>img,.onlineCard201>svg{width:100%;height:70px;object-fit:contain}.onlineCard201>span:last-child{font-size:11px;line-height:1.2;text-align:center;min-height:2.4em;overflow-wrap:normal}
.onlineReady201{min-height:2.7em;color:#a5d8ca;font-size:13px;margin:12px 0 0}.searchCrest201{font-size:54px;color:#f1d184;text-align:center;padding:16px 0}
.searchCrest201 svg{height:56px;width:56px;fill:currentColor}
.onlineScore201{text-align:center;font-size:38px;font-weight:900;color:#f2d38c;margin:16px}.onlineScore201 span{color:#859aaa;font-size:24px}.onlineRewards201{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.onlineRewards201>div{display:grid;gap:4px;text-align:center;background:#182d3c;padding:12px 6px;border:1px solid #4a6b72;border-radius:10px}.onlineRewards201 b{font-size:24px;color:#f3d790}.onlineRewards201 span{font-size:12px;color:#c2d2df}
@media(max-height:700px){.online201{gap:8px}.onlineMap201>img{height:90px;width:51px}.onlineMap201 p{margin-top:5px}.onlineCard201>.veraPortrait,.onlineCard201>img,.onlineCard201>svg{height:52px}.onlineReady201{margin-top:6px}.online201 footer{padding-top:0}.online201 header h2{font-size:24px}}

.onlineSelectionMeta201{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-size:13px;color:#f0d894}.onlineSelectionMeta201 [role=timer]{font-variant-numeric:tabular-nums;color:#b7c8d6}
.online201:has(#onlineReady201) footer{grid-template-columns:minmax(0,1fr) auto;align-items:center}.online201:has(#onlineReady201) footer .lnk{min-height:44px;padding:10px 8px}

#onlineRestore202{display:block;width:100%;height:12px;margin:16px 0;accent-color:#a6e0cf;}

.onlineDecks201:empty,.onlineReady201:empty{display:none}

/* Source: css/reference-titles.css */
/* Card and field-guide titles, with no media controls or reserved button space. */
.referenceTitle{display:flex;align-items:center;min-width:0}
.referenceTitle h2{flex:1;min-width:0;overflow-wrap:break-word}
.mbox .shTitlebar .referenceTitle h2{margin:0!important}
.fieldGuide .referenceTitle{display:block;margin:5px 0 14px}
.fieldGuide .referenceTitle h2{margin:0}


/* Source: css/ui.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
/* ==========================================================================
   Valhalla Frontlines UI kit: chunky, lit, outlined components in the Clash Royale / Brawl Stars tradition.
   Loaded last; overrides the base styles of battle.css and meta.css.
   ========================================================================== */
@font-face{font-family:'VCDisplay';src:url(../assets/ui/lilita.woff2) format('woff2');font-display:swap}

@font-face{font-family:'VCBody';src:url(../assets/ui/nunito.woff2) format('woff2');font-weight:200 1000;font-display:swap}
:root{
  --display:'VCDisplay','Arial Rounded MT Bold','Trebuchet MS',sans-serif;
  --sans:'VCBody',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ol:#0b1a24;
  --stroke:0 2px 0 var(--ol),2px 0 0 var(--ol),-2px 0 0 var(--ol),0 -2px 0 var(--ol),1.5px 1.5px 0 var(--ol),-1.5px 1.5px 0 var(--ol),1.5px -1.5px 0 var(--ol),-1.5px -1.5px 0 var(--ol),0 4px 0 rgba(0,0,0,.35);
  --stroke-s:0 1.5px 0 var(--ol),1.5px 0 0 var(--ol),-1.5px 0 0 var(--ol),0 -1.5px 0 var(--ol),1px 1px 0 var(--ol),-1px 1px 0 var(--ol),1px -1px 0 var(--ol),-1px -1px 0 var(--ol),0 3px 0 rgba(0,0,0,.3);
  --panel-grad:linear-gradient(180deg,#2c5575 0%,#1c3953 58%,#162e46 100%);
  --panel-edge:inset 0 2px 0 rgba(255,255,255,.16),inset 0 -3px 0 rgba(0,0,0,.28),0 4px 0 rgba(0,0,0,.4),0 10px 22px rgba(0,0,0,.28);
  --gold:#F2C14E;
}
body{font-family:var(--sans)}
#meta{font-family:var(--sans)}
#meta h1,#meta h2,#meta h3,.mbox h1,.mbox h2{font-family:var(--display);font-weight:400;letter-spacing:.01em}
#meta{background:#0a1822}
.metaBg{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.metaBg img{position:absolute;max-width:none;transition:filter .35s}
#meta.sub .metaBg img{filter:blur(10px) brightness(.42) saturate(1.1)}
#meta.sub .metaBg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,30,.55),rgba(8,20,30,.35) 40%,rgba(8,20,30,.7))}
.metaBg::before{content:"";position:absolute;inset:0 0 auto 0;height:130px;background:linear-gradient(180deg,rgba(5,12,20,.8),transparent);z-index:1}
.mtop,.mwrap{position:relative;z-index:2}
#meta .mwrap{background:none}
.mtop{padding:10px 12px 4px;gap:8px}
.me{gap:10px}
.meAv{position:relative;width:50px;height:50px;flex:0 0 auto}
.meAv img,.meAv .ph{width:50px;height:50px;border-radius:14px;object-fit:contain;background:radial-gradient(circle at 50% 35%,#3e7cb0,#173049);border:3px solid var(--gold);box-shadow:0 0 0 2px var(--ol),0 4px 0 rgba(0,0,0,.4);padding:3px}
.meLv{position:absolute;right:-8px;bottom:-8px;width:26px;height:28px;display:grid;place-items:center;font:400 .9rem/1 var(--display);color:#fff;text-shadow:var(--stroke-s);
  background:linear-gradient(180deg,#59b2ff,#2a6fcf);clip-path:polygon(50% 0,100% 18%,100% 70%,50% 100%,0 70%,0 18%);filter:drop-shadow(0 2px 0 var(--ol))}
.meTxt b{font:400 1.12rem/1 var(--display)!important;color:#fff;text-shadow:var(--stroke-s)}
.xpbar{width:92px;height:10px;border-radius:6px;background:#0b1a24;border:2px solid var(--ol);box-shadow:inset 0 2px 3px rgba(0,0,0,.5)}
.xpbar i{background:linear-gradient(180deg,#8fe0ff,#3aa0f0)}
.xpbar em{display:none}
button.cur,.cur{position:relative;height:34px;padding:0 12px 0 30px;margin-left:12px;border-radius:10px;background:linear-gradient(180deg,#0f2233,#0a1824);border:2px solid var(--ol);box-shadow:inset 0 2px 4px rgba(0,0,0,.55),0 2px 0 rgba(255,255,255,.06);
  font:400 1.02rem/1 var(--display)!important;color:#fff;text-shadow:var(--stroke-s)}
.cur .mi{position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:34px!important;height:34px!important;filter:drop-shadow(0 2px 0 var(--ol)) drop-shadow(0 3px 3px rgba(0,0,0,.45))}
.cur b{font-weight:400}
.gear{width:40px;height:40px;border-radius:12px;background:linear-gradient(180deg,#3e6f98,#23496b);border:2px solid var(--ol);box-shadow:inset 0 2px 0 rgba(255,255,255,.25),0 3px 0 var(--ol);color:#fff}
.gear .mi{width:22px;height:22px;filter:drop-shadow(0 1px 0 var(--ol))}
#meta .btn,.mbox .btn,#coach #cOk{font-family:var(--display);font-weight:400;letter-spacing:.02em;font-size:1.02rem;color:#fff;text-shadow:var(--stroke-s);border:2px solid var(--ol);border-radius:12px;padding:10px 18px;
  background:linear-gradient(180deg,#5aa2e6 0%,#3a7cc4 55%,#2b63a4 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.4),inset 0 -3px 0 rgba(0,0,0,.25),0 4px 0 #0c2238}
#meta .btn.primary,.mbox .btn.primary,#coach #cOk{background:linear-gradient(180deg,#ffdc5c 0%,#ffb41f 52%,#f28a12 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.6),inset 0 -4px 0 rgba(170,70,0,.4),0 4px 0 #6a3208}
#meta .btn.up,.mbox .btn.up{background:linear-gradient(180deg,#7ee07a 0%,#3fb84a 55%,#2a9138 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.5),inset 0 -3px 0 rgba(0,60,0,.35),0 4px 0 #14521c}
#meta .btn.danger,.mbox .btn.danger{background:linear-gradient(180deg,#ff8a7a,#e0493a 55%,#b8342a);box-shadow:inset 0 2px 0 rgba(255,255,255,.4),0 4px 0 #5a1610;color:#fff}
#meta .btn:active:not(:disabled),.mbox .btn:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 1px 0 var(--ol)}
.mbox .btn:disabled{filter:grayscale(.7) brightness(.8);opacity:.7}
.btn.sm{padding:7px 12px!important;font-size:.88rem!important}
.hdeck,.nxRoad,.hcard,.quest,.rstep,.dropInfo,.shStats div,.pstats div,.rcrowns div,.rq,.rsmall,.league,.tgl{background:var(--panel-grad)!important;border:2px solid var(--ol)!important;box-shadow:var(--panel-edge)!important;color:#fff}
.tgl{border-radius:12px;margin:6px 0;padding:12px 14px!important}
.shStats div,.pstats div{border-radius:12px}
.shStats small,.pstats small,.rcrowns small{color:#a9c6dc!important}
.shStats b,.pstats b,.rbig b,.rsmall b,.lt b{font-family:var(--display)!important;font-weight:400!important;color:#fff;text-shadow:var(--stroke-s)}
#mmodal{background:radial-gradient(80% 60% at 50% 60%,rgba(10,30,48,.55),rgba(3,8,12,.8))}
.mbox{background:linear-gradient(180deg,#2d5a7e 0%,#1d3c58 45%,#162f47 100%)!important;border:3px solid var(--gold)!important;border-bottom:3px solid var(--gold)!important;border-radius:20px!important;
  box-shadow:0 0 0 3px var(--ol),inset 0 3px 0 rgba(255,255,255,.18),0 16px 40px rgba(0,0,0,.6)!important;color:#fff!important;margin:0 10px 10px;width:min(500px,calc(100% - 20px))!important}

@media (max-width:699px){#mmodal{align-items:flex-end}}
.mbox h1,.mbox h2{color:#fff;text-shadow:var(--stroke);text-align:center}
.mbox p,.mbox .shDesc{color:#e2eef8}
.mbox .shRole,.mbox .ver,.qreset,.dropHint{color:#a9c6dc!important}
.results h1{position:relative;display:block;margin:-6px -6px 12px!important;padding:12px 0 14px;font-size:2.3rem!important;border-radius:14px;
  background:linear-gradient(180deg,#ffd45a,#f29a18);color:#fff!important;box-shadow:inset 0 3px 0 rgba(255,255,255,.55),inset 0 -4px 0 rgba(160,70,0,.45),0 0 0 2px var(--ol),0 5px 0 rgba(0,0,0,.35)}
.results.lose h1{background:linear-gradient(180deg,#8fa0b8,#5a6a84)}
.results .rbig span{font-family:var(--display);font-weight:400;text-shadow:var(--stroke-s)}
.rnote{background:rgba(8,20,30,.5)!important;border:2px solid rgba(242,193,78,.55)!important;color:#fff;border-radius:12px}
.rnote.muted{color:#a9c6dc!important;border-color:rgba(255,255,255,.15)!important}
.fld input{background:#0b1a24!important;border:2px solid var(--ol)!important;box-shadow:inset 0 2px 5px rgba(0,0,0,.5);color:#fff!important;font-family:var(--display)!important;font-size:1.15rem!important;letter-spacing:.02em}
.feat small,.league2 small,.lvup small{font-family:var(--display)!important;font-weight:400!important;letter-spacing:.14em!important;color:var(--gold)!important;text-shadow:var(--stroke-s)}
.dropTier,.dropRar{font-family:var(--display)!important;font-weight:400!important;text-shadow:var(--stroke-s),0 0 14px var(--dc)}
.dropRw b{font-family:var(--display);font-weight:400;text-shadow:var(--stroke)}
.celebArt img,.shArt,.wArt{filter:drop-shadow(0 8px 10px rgba(0,0,0,.55)) drop-shadow(0 0 20px rgba(120,200,255,.25))!important}
.shCost{filter:drop-shadow(0 2px 0 var(--ol))}
.tab{font:400 .86rem var(--display)!important;letter-spacing:.03em!important;color:#8fb0c8!important;border-radius:12px!important;padding:6px 0 5px!important;border:2px solid transparent!important;transition:transform .15s}
.tab .tico svg{width:24px;height:24px;filter:drop-shadow(0 2px 0 rgba(0,0,0,.5))}
.tab.on{background:linear-gradient(180deg,#4b8fd6,#2a5f9c)!important;border-color:var(--ol)!important;color:#fff!important;text-shadow:var(--stroke-s);box-shadow:inset 0 2px 0 rgba(255,255,255,.35),0 3px 0 var(--ol)!important;transform:translateY(-4px)}
.tab.on .tico svg{fill:#fff!important;transform:scale(1.12)}
.tab .dot{background:#ff4a3a!important;box-shadow:0 0 0 2px var(--ol)!important;width:12px!important;height:12px!important;top:2px!important}
.ctile,.dmini,.hand .card{position:relative;overflow:hidden;border:2px solid var(--ol)!important;border-radius:12px!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.25),0 3px 0 rgba(0,0,0,.45)!important;background:#1a2e40!important}
.vcBg{position:absolute;inset:0;z-index:0;pointer-events:none}
.vcBg::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 70% at 50% 35%,rgba(255,255,255,.28),transparent 60%),linear-gradient(180deg,transparent 55%,rgba(0,0,0,.45))}
.cat-tank{background:linear-gradient(180deg,#5c8fb8,#24466a)}
.cat-melee{background:linear-gradient(180deg,#e0704e,#7a2a1c)}
.cat-ranged{background:linear-gradient(180deg,#9a6ae0,#3e2470)}
.cat-air{background:linear-gradient(180deg,#48c6d8,#16606e)}
.cat-spell{background:linear-gradient(180deg,#6a4ab8,#231645)}
.cat-spell::before{content:"";position:absolute;inset:18% 18%;border-radius:50%;background:radial-gradient(closest-side,rgba(160,120,255,.55),transparent);filter:blur(2px)}
.vcBg.champ{box-shadow:inset 0 0 0 3px var(--gold),inset 0 0 14px rgba(242,193,78,.6)}
.ctile .cart,.ctile .cnm,.dmini img,.hand .card .art,.hand .card .nm{position:relative;z-index:1}
.ctile .ccost,.ctile .clvl,.ctile .cup,.ctile .cmast,.ctile .clk,.hand .card .cost,.hand .card .tg{z-index:2}
.sideBtn svg:not(.mi){width:32px;height:32px;fill:#fff;filter:drop-shadow(0 2px 0 var(--ol));position:relative}
#meta.home .mwrap{pointer-events:none}
#meta.home .mwrap #scr-home>*{pointer-events:auto}
#meta.sub .hHero,#meta.sub .hHeroShadow{display:none}
.ctile .cart img,.dmini img,.hand .card .art{filter:drop-shadow(0 3px 2px rgba(0,0,0,.5))}
.ctile{padding:4px 4px 20px!important;min-height:100px!important}
.ctile .cart{height:58px!important}
.ctile .cart img{max-height:60px!important}
.cnm{font:400 .74rem/1.05 var(--display)!important;color:#fff;text-shadow:var(--stroke-s);letter-spacing:.01em}
.ccost,.hand .card .cost,.shCost{background:radial-gradient(circle at 35% 30%,#e9a8ff,#b04ce0 45%,#6a1e9a)!important;clip-path:none!important;border-radius:50% 50% 50% 50%/60% 60% 40% 40%!important;border:2px solid var(--ol);
  font-family:var(--display)!important;font-weight:400!important;color:#fff!important;text-shadow:var(--stroke-s)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.45)}
.ccost{width:22px!important;height:24px!important;left:3px;right:auto!important;top:3px;bottom:auto!important;font-size:.8rem!important;position:absolute}
.clvl{left:auto!important;right:3px!important;bottom:3px!important;background:linear-gradient(180deg,#5fd06a,#2a8a36)!important;border:2px solid var(--ol);border-radius:6px!important;font:400 .66rem/1 var(--display)!important;padding:2px 5px!important;text-shadow:var(--stroke-s);color:#fff}
.cup{right:3px!important;top:3px!important;width:20px!important;height:20px!important;border:2px solid var(--ol);font-size:.62rem!important}
.cmast{left:auto!important;right:26px!important;top:4px!important;border:2px solid var(--ol)}
.ctile.in{box-shadow:0 0 0 3px var(--gold),inset 0 2px 0 rgba(255,255,255,.25),0 3px 0 rgba(0,0,0,.45)!important}
.ctile.locked{filter:grayscale(1) brightness(.55)!important;opacity:1!important}
.clk{color:#fff!important;font:400 .74rem var(--display)!important;text-shadow:var(--stroke-s)}
.dmini{border-radius:10px!important}
.dmini img{position:relative;z-index:1;max-width:96%!important;max-height:96%!important}
.dmini em{z-index:2!important;left:auto!important;right:2px!important;bottom:2px!important;background:linear-gradient(180deg,#5fd06a,#2a8a36)!important;border:1.5px solid var(--ol);font:400 .6rem/1 var(--display)!important;padding:1px 4px!important}
.dcost{position:absolute;left:2px;top:2px;z-index:2;width:17px;height:19px;display:grid;place-items:center;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(circle at 35% 30%,#e9a8ff,#b04ce0 45%,#6a1e9a);border:1.5px solid var(--ol);font:400 .66rem/1 var(--display);color:#fff;text-shadow:var(--stroke-s)}
#scr-home{position:absolute;inset:0;padding:6px 12px 12px;display:flex;flex-direction:column;pointer-events:none}
#scr-home>*{pointer-events:auto}
.mwrap:has(#scr-home:not([hidden])){overflow:hidden}
.hTopRow{display:flex;gap:8px;align-items:stretch}
.lgChip{flex:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 12px 8px 8px;border-radius:16px;cursor:pointer;background:linear-gradient(180deg,rgba(24,50,72,.92),rgba(14,32,48,.92));border:2px solid var(--ol);box-shadow:var(--panel-edge);color:#fff;text-align:left}
.lgBadge2{width:46px;height:52px;display:grid;place-items:center;color:var(--lc);filter:drop-shadow(0 2px 0 var(--ol)) drop-shadow(0 0 10px color-mix(in srgb,var(--lc) 60%,transparent))}
.lgBadge2 .mi{width:44px!important;height:50px!important}
.lgMid{display:grid;gap:3px;min-width:0}
.lgMid b{font:400 1.2rem/1 var(--display);text-shadow:var(--stroke-s)}
.lgMid small{font:700 .7rem/1.2 var(--sans);color:#a9c6dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lgBar{height:11px;border-radius:6px;background:#0b1a24;border:2px solid var(--ol);overflow:hidden;box-shadow:inset 0 2px 3px rgba(0,0,0,.5)}
.lgBar i{display:block;height:100%;background:linear-gradient(180deg,#ffe27a,#f2a81e)}
.lgTro{display:flex;align-items:center;gap:4px;font:400 1.35rem/1 var(--display);text-shadow:var(--stroke-s)}
.lgTro .mi{width:28px!important;height:28px!important;filter:drop-shadow(0 2px 0 var(--ol))}
.lgClaim{position:absolute;right:10px;top:-10px;font:400 .72rem/1 var(--display);color:#fff;text-shadow:var(--stroke-s);background:linear-gradient(180deg,#ff6a5a,#d8342a);border:2px solid var(--ol);border-radius:8px;padding:4px 7px;animation:bob2 1.2s ease-in-out infinite}

@keyframes bob2{50%{transform:translateY(-3px)}}
.lgChip{position:relative}
.hSide{position:absolute;right:10px;top:96px;display:grid;gap:12px;z-index:3}
.sideBtn{position:relative;width:62px;height:62px;border-radius:18px;border:2px solid var(--ol);display:grid;place-items:center;cursor:pointer;color:#fff;background:linear-gradient(180deg,#3e76a8,#1f4468);box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 4px 0 var(--ol),0 8px 14px rgba(0,0,0,.35)}
.sideBtn .mi{width:36px!important;height:40px!important;filter:drop-shadow(0 2px 0 var(--ol))}
.sideBtn.drop{background:linear-gradient(180deg,#9a6ae0,#4a2a8a);animation:glowP2 1.6s ease-in-out infinite}
.sideBtn.drop .mi{color:#E8D8FF}

@keyframes glowP2{50%{box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 4px 0 var(--ol),0 0 22px rgba(181,140,232,.8)}}
.sideBtn small{position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);font:400 .7rem/1 var(--display);white-space:nowrap;color:#fff;text-shadow:var(--stroke-s)}
.sideBtn .badge{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;padding:0 5px;border-radius:11px;display:grid;place-items:center;font:400 .78rem/1 var(--display);color:#fff;text-shadow:var(--stroke-s);background:linear-gradient(180deg,#ff6a5a,#d8342a);border:2px solid var(--ol)}
.qRing{position:absolute;inset:4px;border-radius:14px;background:conic-gradient(#7ee07a calc(var(--p)*1%),transparent 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:3px;opacity:.9}
.hHero{position:absolute;z-index:1;pointer-events:auto;cursor:pointer;border:0;background:none;padding:0;transform:translate(calc(var(--fx,.5) * -100%),-100%)}
.hHero img{display:block;height:100%;width:auto;max-width:none;filter:drop-shadow(0 0 1px rgba(255,220,170,.6)) drop-shadow(0 10px 8px rgba(0,0,0,.45));animation:heroBob 3.6s ease-in-out infinite}
.hHeroShadow{position:absolute;z-index:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.55),rgba(0,0,0,0));pointer-events:none}
.hName{position:absolute;z-index:2;transform:translate(-50%,0);font:400 1rem/1 var(--display);color:#fff;text-shadow:var(--stroke-s);white-space:nowrap;pointer-events:none;background:rgba(8,20,30,.55);border:2px solid var(--ol);border-radius:10px;padding:4px 10px}
.hName em{font-style:normal;color:#8fe0a0;margin-left:6px}
.hBottom{margin-top:auto;display:grid;gap:10px;position:relative;z-index:3}
.hdeck{border-radius:16px!important;padding:8px!important;background:linear-gradient(180deg,rgba(28,58,84,.94),rgba(16,36,54,.94))!important}
.dtabs .dt{font:400 .84rem var(--display)!important;letter-spacing:.02em;color:#a9c6dc!important;background:rgba(8,20,30,.5)!important;border:2px solid var(--ol)!important;border-radius:10px!important}
.dtabs .dt.on{color:#fff!important;text-shadow:var(--stroke-s);background:linear-gradient(180deg,#4b8fd6,#2a5f9c)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.3)}
.dtabs .dt.edit{color:#fff!important;text-shadow:var(--stroke-s);background:linear-gradient(180deg,#ffcf4a,#f29a18)!important}
.dtLabel{font:400 .9rem var(--display)!important;color:#fff!important;text-shadow:var(--stroke-s);letter-spacing:.04em!important;text-transform:none!important}
#meta .battle{margin:0!important;border:3px solid var(--ol)!important;border-radius:20px!important;padding:14px 0 12px!important;
  background:linear-gradient(180deg,#ffe45e 0%,#ffbf22 45%,#f5920f 100%)!important;box-shadow:inset 0 3px 0 rgba(255,255,255,.65),inset 0 -6px 0 rgba(170,70,0,.4),0 6px 0 #6a3208,0 14px 28px rgba(242,150,20,.35)!important}
#meta .battle b{font:400 2.5rem/1 var(--display)!important;letter-spacing:.04em!important;text-shadow:var(--stroke)!important;text-transform:uppercase}
#meta .battle small{font:800 .82rem var(--sans)!important;color:#5a2a02!important;text-shadow:0 1px 0 rgba(255,255,255,.45)!important;opacity:1!important;margin-top:5px!important}
#meta .battle:active{transform:translateY(4px);box-shadow:inset 0 3px 0 rgba(255,255,255,.5),0 2px 0 #6a3208!important}
#scr-deck h3,#scr-quests h3{font:400 1.05rem var(--display)!important;letter-spacing:.04em!important;text-transform:none!important;color:#fff!important;text-shadow:var(--stroke-s);margin:18px 0 8px!important}
.dinfo{color:#cfe2f0!important;font-weight:700}
.rhead{font-family:var(--display)!important;font-weight:400!important;color:#fff;text-shadow:var(--stroke)}
.rhead small{font-family:var(--sans);text-shadow:none;color:#a9c6dc}
.rleague b{font-family:var(--display)!important;color:#fff!important;text-shadow:var(--stroke-s)}
.rstep{border-radius:14px!important}
.rstep .rt{font-family:var(--display)!important;font-weight:400!important;text-shadow:var(--stroke-s)}
.rrw b,.qtxt b{font-family:var(--display);font-weight:400;letter-spacing:.01em;text-shadow:var(--stroke-s)}
.rrw small{color:#a9c6dc!important}
.rstep.ready{box-shadow:0 0 0 3px var(--gold),var(--panel-edge)!important}
.quest.done{box-shadow:0 0 0 3px #5fd06a,var(--panel-edge)!important}
.qbar{height:13px!important;border:2px solid var(--ol);background:#0b1a24!important}
.qbar i{background:linear-gradient(180deg,#8ff08a,#3fb84a)!important}
.qbar em{font-family:var(--display)!important;font-weight:400!important;text-shadow:var(--stroke-s)}
.qrw b{font-family:var(--display);font-weight:400;text-shadow:var(--stroke-s)}
.cBub{background:linear-gradient(180deg,#fffaf0,#f6e6c4)!important;border:3px solid var(--ol);box-shadow:0 0 0 3px var(--gold),0 10px 30px rgba(0,0,0,.5)!important;font:700 1rem/1.35 var(--sans)!important}
.cBub b{font-family:var(--display);font-weight:400;color:#d25a14!important;letter-spacing:.02em}
.hud .score,.hud .clock{font-family:var(--display);border:2px solid var(--ol)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.18),0 3px 0 rgba(0,0,0,.45)!important}
.hud .score{background:linear-gradient(180deg,rgba(28,58,84,.92),rgba(14,32,48,.92))!important;border-radius:12px!important}
.hud .score b,.clock b{font-family:var(--display)!important;font-weight:400!important;text-shadow:var(--stroke-s)}
.hud .score.enemy b{color:#ff7a6a!important}
.hud .score.player b{color:#6ec0ff!important}
.hud .clock{background:linear-gradient(180deg,rgba(40,72,100,.95),rgba(20,40,60,.95))!important;border-radius:14px!important}
.clock b{color:#fff!important;letter-spacing:.02em!important}
.clock span{font-family:var(--display);color:#bfe0ff!important;letter-spacing:.03em;text-shadow:var(--stroke-s)}
.score{font-family:var(--display);letter-spacing:.02em;color:#dcecf8!important;text-shadow:var(--stroke-s)}
.elixir{border:2px solid var(--ol)!important;border-radius:12px!important;background:#120a24!important;box-shadow:inset 0 2px 5px rgba(0,0,0,.6),0 3px 0 rgba(0,0,0,.45)!important}
.elixir .fill{background:linear-gradient(180deg,#f0a8ff,#c050f0 45%,#8a24c8)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.45)}
.elixir .num,.elixir b{font-family:var(--display)!important;font-weight:400!important;text-shadow:var(--stroke-s)!important}
.hand .card{padding:4px 4px 22px!important}
.hand .card .nm{font:400 .74rem/1.05 var(--display)!important;letter-spacing:.01em;color:#fff;text-shadow:var(--stroke-s)}
.hand .card .cost{left:4px!important;right:auto!important;top:4px!important;bottom:auto!important;width:24px!important;height:26px!important;font-size:.9rem!important;position:absolute}
.hand .card .rl{display:none!important}
.hand .card[aria-pressed="true"]{box-shadow:0 0 0 3px var(--gold),0 0 16px rgba(242,193,78,.7),0 3px 0 rgba(0,0,0,.45)!important;transform:translateY(-8px)}
.hand .card.poor .vcBg{filter:grayscale(.85) brightness(.6)}
.next{font-family:var(--display);color:#cfe2f0!important;border:2px solid var(--ol)!important;background:rgba(10,24,36,.85)!important;border-radius:10px!important}
.next b{font-weight:400;color:#fff;text-shadow:var(--stroke-s)}
.dock{background:linear-gradient(180deg,rgba(14,30,46,.0),rgba(10,22,34,.96) 22%)!important}
.bar .tap,.bar .valk{border:3px solid var(--ol)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 4px 0 rgba(0,0,0,.45)!important}
.info.hint,.info.warn{font-family:var(--sans);font-weight:800;border:2px solid var(--ol)!important;box-shadow:0 0 0 2px var(--gold),0 6px 16px rgba(0,0,0,.4)!important}
#scr-home[hidden]{display:none!important}
.ctile .clk{inset:22px 0 auto 0!important;justify-content:center;font-size:.8rem!important;gap:3px}
.ctile.locked .cart{opacity:.55}
.inBg{background-position:center 62%!important;filter:saturate(1.1) brightness(.62)!important}
.inTap{font-family:var(--display)!important;font-weight:400!important;font-size:1.3rem!important;color:#fff!important;text-shadow:var(--stroke)!important}
.inTitle p{font-weight:800!important;text-shadow:0 2px 0 rgba(0,0,0,.6)}
.inTitle h1{text-shadow:var(--stroke),0 0 30px rgba(240,138,30,.45)!important}
#howOv{background:radial-gradient(80% 60% at 50% 55%,rgba(10,30,48,.6),rgba(3,8,12,.86))!important}
#howOv .sheet{background:linear-gradient(180deg,#2d5a7e,#1d3c58 45%,#162f47)!important;border:3px solid var(--gold)!important;border-radius:20px!important;box-shadow:0 0 0 3px var(--ol),inset 0 3px 0 rgba(255,255,255,.18),0 16px 40px rgba(0,0,0,.6)!important;color:#fff!important}
#howOv .sheet::before,#howOv .sheet::after{display:none!important}
#howOv h2,#howOv h3{font-family:var(--display)!important;font-weight:400!important;color:#fff!important;text-shadow:var(--stroke)}
#howOv p,#howOv li{color:#e2eef8!important}
#howOv .primary,#howOv .secondary{font-family:var(--display)!important;font-weight:400!important;color:#fff!important;text-shadow:var(--stroke-s);border:2px solid var(--ol)!important;border-radius:12px!important;padding:10px 18px!important}
#howOv .primary{background:linear-gradient(180deg,#ffdc5c,#ffb41f 52%,#f28a12)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 4px 0 #6a3208!important}
#howOv .secondary{background:linear-gradient(180deg,#5aa2e6,#3a7cc4 55%,#2b63a4)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.4),0 4px 0 #0c2238!important}
.tgl input[type=checkbox]{appearance:none;-webkit-appearance:none;width:56px!important;height:30px!important;border-radius:16px;background:#0b1a24;border:2px solid var(--ol);box-shadow:inset 0 2px 4px rgba(0,0,0,.6);position:relative;cursor:pointer;transition:background .2s;flex:0 0 auto}
.tgl input[type=checkbox]::after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:linear-gradient(180deg,#fff,#c9d6e2);box-shadow:0 2px 0 rgba(0,0,0,.45);transition:transform .2s}
.tgl input[type=checkbox]:checked{background:linear-gradient(180deg,#7ee07a,#3fb84a)}
.tgl input[type=checkbox]:checked::after{transform:translateX(26px)}
.tgl span{font-family:var(--display);font-weight:400;font-size:1.05rem;letter-spacing:.02em;text-shadow:var(--stroke-s)}
.spbar{height:16px!important;border-radius:9px!important;border:2px solid #0b1a24!important;background:#0b1a24!important;box-shadow:0 0 0 2px rgba(242,193,78,.6),inset 0 2px 4px rgba(0,0,0,.6)}
.spbar i{background:linear-gradient(180deg,#ffe27a,#f2a81e)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.5)}
#splash small{font-family:'VCDisplay',sans-serif!important;font-size:1rem!important;color:#fff!important;text-shadow:0 2px 0 #0b1a24,2px 0 0 #0b1a24,-2px 0 0 #0b1a24,0 -2px 0 #0b1a24}
.crewBox{position:absolute;inset:0;pointer-events:none}
#meta.sub .crewBox{display:none}
.crew{position:absolute;pointer-events:auto;cursor:pointer;border:0;background:none;padding:0;transform:translate(calc(var(--fx,.5) * -100%),-100%);-webkit-tap-highlight-color:transparent}
.crewArt{position:relative;display:flex;align-items:flex-end;justify-content:center;height:100%;width:100%}
.crew img{display:block;height:100%;width:auto;max-width:none;filter:drop-shadow(0 0 1px rgba(255,225,180,.55)) drop-shadow(0 8px 6px rgba(0,0,0,.45));animation:crewIdle 3.4s ease-in-out infinite;animation-delay:var(--d,0s);transform-origin:50% 100%}
.crew.young img{height:100%;margin:0 -12%}
.crew.young img:nth-child(2){height:82%;order:-1;margin-bottom:12%}

@keyframes crewIdle{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-3%) scaleY(1.02)}}
.crew:active img{transform:scale(1.06)}
.crewSh{position:absolute;left:calc(var(--fx,.5) * 100%);bottom:0;transform:translate(-50%,40%);border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.55),rgba(0,0,0,0));pointer-events:none}
.crewLv{position:absolute;left:calc(var(--fx,.5) * 100%);bottom:-4px;transform:translate(-50%,50%);min-width:22px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:7px;font:400 .78rem/1 var(--display);color:#fff;text-shadow:var(--stroke-s);background:linear-gradient(180deg,#5fd06a,#2a8a36);border:2px solid var(--ol);box-shadow:0 2px 0 rgba(0,0,0,.4);z-index:2}
.crewRune{position:absolute;pointer-events:auto;cursor:pointer;border:0;background:none;padding:0;transform:translate(-50%,-50%);z-index:1300;animation:runeFloat 3s ease-in-out infinite}
.crewRune:nth-child(odd){animation-delay:-1.5s}
.crewRune img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 10px rgba(140,110,255,.9)) drop-shadow(0 0 22px rgba(120,220,255,.5))}

@keyframes runeFloat{0%,100%{transform:translate(-50%,-50%) rotate(-4deg)}50%{transform:translate(-50%,-62%) rotate(4deg)}}
.hdeck.slim{padding:6px!important}
.hdeck.slim .dtabs{margin:0}
.cBub.top{top:calc(9% + env(safe-area-inset-top,0px))}
.lockup{display:grid;justify-items:center;gap:0}
.wordmark{display:block;font-family:'VCDisplay',sans-serif!important;font-weight:400!important;letter-spacing:.06em;text-transform:uppercase;line-height:.95;
  background:linear-gradient(180deg,#fffbe0 0%,#ffe07a 38%,#f5a623 70%,#d9731a 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;
  text-shadow:0 3px 0 #0b1a24,3px 0 0 #0b1a24,-3px 0 0 #0b1a24,0 -3px 0 #0b1a24,2px 2px 0 #0b1a24,-2px 2px 0 #0b1a24,2px -2px 0 #0b1a24,-2px -2px 0 #0b1a24,0 7px 0 rgba(0,0,0,.35),0 0 26px rgba(245,166,35,.35)}
#splash .lockup img{width:min(58vw,240px)}
#splash .wordmark{font-size:clamp(2rem,10vw,3.2rem);margin-top:-6px}
.inTitle h1.wordmark{font-size:clamp(2.4rem,12vw,4.2rem)!important;margin-top:-8px!important;text-shadow:0 3px 0 #0b1a24,3px 0 0 #0b1a24,-3px 0 0 #0b1a24,0 -3px 0 #0b1a24,2px 2px 0 #0b1a24,-2px 2px 0 #0b1a24,2px -2px 0 #0b1a24,-2px -2px 0 #0b1a24,0 7px 0 rgba(0,0,0,.35),0 0 30px rgba(245,166,35,.5)!important}
.nxCard{position:relative;display:inline-grid;place-items:center;width:30px;height:30px;margin:0 6px 0 8px;border-radius:8px;border:2px solid #0b1a24;overflow:hidden;vertical-align:middle;box-shadow:inset 0 2px 0 rgba(255,255,255,.25)}
.nxCard img{position:relative;z-index:1;height:26px!important;width:auto!important;max-width:28px!important;margin:0!important}
.av{border:2px solid var(--ol)!important;border-radius:14px!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.25),0 3px 0 rgba(0,0,0,.4)}
.av.on{box-shadow:0 0 0 3px var(--gold),inset 0 2px 0 rgba(255,255,255,.25)!important}
.ffly{position:absolute;inset:0;pointer-events:none;z-index:2}
.ffly i{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff3a8;box-shadow:0 0 8px 2px rgba(255,230,120,.8);opacity:0;animation:ffly 8s ease-in-out infinite}

@keyframes ffly{0%{opacity:0;transform:translate(0,0)}20%{opacity:.95}50%{opacity:.4}80%{opacity:.9}100%{opacity:0;transform:translate(var(--dx),var(--dy))}}
#meta.sub .ffly{display:none}
.wordmark,.inTitle h1.wordmark{position:relative;z-index:0;text-shadow:none!important;filter:drop-shadow(0 0 18px rgba(245,166,35,.35))}
.wordmark::before{content:attr(data-text);position:absolute;left:0;right:0;top:0;z-index:-1;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#0b1a24;-webkit-text-fill-color:#0b1a24;
  text-shadow:0 3px 0 #0b1a24,3px 0 0 #0b1a24,-3px 0 0 #0b1a24,0 -3px 0 #0b1a24,3px 3px 0 #0b1a24,-3px 3px 0 #0b1a24,3px -3px 0 #0b1a24,-3px -3px 0 #0b1a24,0 8px 0 rgba(0,0,0,.4)}
.wordmark,.inTitle h1.wordmark{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;color:#0b1a24!important;-webkit-text-fill-color:#0b1a24!important;
  text-shadow:0 3px 0 #0b1a24,3px 0 0 #0b1a24,-3px 0 0 #0b1a24,0 -3px 0 #0b1a24,3px 3px 0 #0b1a24,-3px 3px 0 #0b1a24,3px -3px 0 #0b1a24,-3px -3px 0 #0b1a24,0 8px 0 rgba(0,0,0,.4)!important}
.wordmark::before{content:none!important}
.wordmark::after{content:attr(data-text);position:absolute;left:0;right:0;top:0;text-shadow:none;
  background:linear-gradient(180deg,#fffbe0 0%,#ffe07a 38%,#f5a623 70%,#d9731a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.elixir{overflow:visible!important;margin-left:16px}
.elixir .num,#elNum{position:absolute!important;left:-18px!important;top:50%!important;transform:translateY(-50%)!important;width:38px!important;height:42px!important;display:grid!important;place-items:center!important;z-index:3;
  border-radius:50% 50% 50% 50%/60% 60% 42% 42%!important;background:radial-gradient(circle at 35% 30%,#f4c2ff,#c050f0 45%,#6a1e9a)!important;border:3px solid #0b1a24!important;
  box-shadow:inset 0 3px 0 rgba(255,255,255,.45),0 3px 0 rgba(0,0,0,.45)!important;font:400 1.3rem/1 var(--display)!important;color:#fff!important;text-shadow:var(--stroke-s)!important;padding:0!important}
.rleague{margin:16px 0 6px!important;padding:8px 14px 8px 10px;border-radius:12px;border:2px solid var(--ol);color:#fff!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--lc) 70%,#fff 10%),color-mix(in srgb,var(--lc) 55%,#0b1a24));box-shadow:inset 0 2px 0 rgba(255,255,255,.35),0 3px 0 rgba(0,0,0,.4)}
.rleague .mi{width:26px!important;height:30px!important;color:#fff!important;filter:drop-shadow(0 2px 0 var(--ol))}
.rleague b{font-size:1.25rem!important}
.rleague small{color:#fff!important;font:400 .8rem var(--display)!important;text-shadow:var(--stroke-s);opacity:.9}
.cat-physical{background:linear-gradient(180deg,#ef8a55,#8a2e18)}
.cat-magical{background:linear-gradient(180deg,#9a86f5,#35207a)}
.cat-primal{background:linear-gradient(180deg,#72cf6a,#1d5a28)}
.cat-rune{background:linear-gradient(180deg,#f2c75e,#7a4a10)}
.cat-rune::before{content:"";position:absolute;inset:16% 16%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,236,160,.6),transparent);filter:blur(2px)}
.dmgIco{position:absolute;left:4px;bottom:4px;z-index:2;width:18px;height:18px;border-radius:50%;border:2px solid #0b1a24;background-color:#fff;background-size:12px 12px;background-position:center;background-repeat:no-repeat;box-shadow:0 1px 0 rgba(0,0,0,.4)}
.dmg-physical.dmgIco,.dchip.dmg-physical .dmgIco{background-color:#d95a2b;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3l2 2-9.5 9.5 1.5 1.5-1.5 1.5-1.5-1.5L6 20l-2-2 4-4-1.5-1.5L8 11l1.5 1.5z' fill='%23fff'/%3E%3C/svg%3E")}
.dmg-magical.dmgIco,.dchip.dmg-magical .dmgIco{background-color:#6a4ee0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.6 6.9L22 10l-5.6 4.4L18 22l-6-3.9L6 22l1.6-7.6L2 10l7.4-1.1z' fill='%23fff'/%3E%3C/svg%3E")}
.dmg-primal.dmgIco,.dchip.dmg-primal .dmgIco{background-color:#3a9a3e;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 21c2-6 3-11 3-17 1 5 1 10 0 15M11 21c1-6 2-11 2-17 1 5 1 11-1 16M17 20c0-5 1-10 2-15 1 5 0 10-2 14' stroke='%23fff' stroke-width='2.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")}
.dmg-rune.dmgIco,.dchip.dmg-rune .dmgIco{background-color:#c8901a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v18M12 10l6-6M12 10L6 4' stroke='%23fff' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")}
.hand .card .dmgIco{left:5px;bottom:5px;width:20px;height:20px}
.ctile .dmgIco{bottom:3px;left:3px;width:17px;height:17px;background-size:11px 11px}
.ctile .clvl{bottom:3px!important}
.shDmg{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 2px}
.shDmg small{color:#a9c6dc;font-size:.72rem;margin-left:2px}
.dchip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:12px;border:2px solid #0b1a24;font:400 .82rem/1 var(--display);color:#fff;text-shadow:var(--stroke-s)}
.dchip .dmgIco{position:static;width:18px;height:18px}
.dchip.dmg-physical{background:linear-gradient(180deg,#ef8a55,#a8401c)}
.dchip.dmg-magical{background:linear-gradient(180deg,#9a86f5,#4a30a0)}
.dchip.dmg-primal{background:linear-gradient(180deg,#72cf6a,#2a7a34)}
.dchip.dmg-rune{background:linear-gradient(180deg,#f2c75e,#a8701a)}
.rleague.place{display:grid!important;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;padding:6px 12px 6px 6px!important}
.rthumb{width:64px;height:44px;border-radius:9px;border:2px solid var(--ol);background-size:cover;background-position:center 55%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.rltxt{display:grid;gap:2px;min-width:0}
.rltxt em{font:700 .72rem/1.2 var(--sans);font-style:normal;color:rgba(255,255,255,.88);text-shadow:0 1px 0 rgba(0,0,0,.5)}
.rleague.place small{display:flex;align-items:center;gap:3px;margin-left:0!important}
.rleague.place small .mi{width:16px!important;height:16px!important}
.hand .card{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;text-align:center;padding:6px 5px 26px!important;min-height:0!important}
.hand .card .art{display:block!important;height:auto!important;max-height:64px!important;max-width:88%!important;width:auto!important;object-fit:contain;margin:8px auto 3px!important}
.hand .card .art.ph{width:44px!important;height:44px!important}
.hand .card .nm{display:block!important;width:100%;text-align:center!important;font-size:.8rem!important;line-height:1.05!important;margin-top:auto}
.hand .card .rl{display:none!important}
.hand .next{display:flex!important;align-items:center!important;gap:6px;white-space:nowrap;overflow:hidden;font:400 .86rem/1 var(--display)!important;color:#cfe2f0!important;padding:6px 10px!important}
.hand .next b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hand .next .nxCard{margin:0 2px!important;flex:0 0 auto}

@media (max-width:0px){.hand{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.hand .card{aspect-ratio:4/5}
.hand .next{grid-column:1/-1}
.bar{grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important;align-items:stretch!important}
.bar .tap,.bar .valk{font:400 .92rem/1.05 var(--display)!important;color:#fff!important;text-shadow:var(--stroke-s);border:2px solid var(--ol)!important;border-radius:12px!important;padding:6px 12px 6px 8px!important;min-height:44px;
    box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 3px 0 rgba(0,0,0,.45)!important}
.bar .tap{background:linear-gradient(180deg,#4b8fd6,#2a5f9c)!important}
.bar .valk{background:linear-gradient(180deg,#9a6ae0,#4a2a8a)!important}
.bar .tap small,.bar .valk small,.bar .tap span span,.bar .valk span span{font-family:var(--sans)!important;font-weight:800;color:#dbe9f5!important;text-shadow:none}
.bar .tap[disabled],.bar .tap.off,.bar .valk[disabled]{filter:grayscale(.7) brightness(.75)}}
.dock details{background:rgba(10,24,36,.72);border:2px solid var(--ol);border-radius:10px;padding:6px 10px;box-shadow:inset 0 2px 0 rgba(255,255,255,.06)}
.dock details summary{font:400 .86rem var(--display);letter-spacing:.02em;color:#cfe2f0;text-shadow:var(--stroke-s)}
.dock details .legend{color:#cfe2f0;font-weight:700}


/* ==========================================================================
   Wide screens: the battle runs in a centred portrait frame with the current place blurred behind it
   ========================================================================== */
@media (min-aspect-ratio:3/4){body.in-battle{background:#050d14}
body.in-battle::before{content:"";position:fixed;inset:-30px;z-index:0;background:var(--battle-bg,#0a1822) center/cover no-repeat;filter:blur(16px) brightness(.42) saturate(1.1)}
body.in-battle::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60% 80% at 50% 50%,transparent 40%,rgba(3,8,12,.75))}
body.in-battle .hand{grid-template-columns:repeat(4,minmax(0,1fr))!important}
body.in-battle .hand .next{grid-column:1/-1}
body.in-battle .app{position:fixed!important;top:0!important;bottom:0!important;left:50%!important;right:auto!important;width:min(100vw,calc(100vh * 0.56))!important;max-width:none!important;height:100%!important;
    transform:translateX(-50%);z-index:1;overflow:hidden;box-shadow:0 0 0 2px #0b1a24,0 0 0 4px rgba(242,193,78,.35),0 0 60px rgba(0,0,0,.7)}}
[hidden]{display:none!important}
#tutPause{position:fixed;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top,0px) + 58px);z-index:62;padding:5px 12px;border-radius:999px;background:rgba(18,22,34,.86);border:1px solid rgba(255,220,140,.55);color:#ffe7a8;font:700 12px/1.2 var(--ui-font,system-ui);letter-spacing:.02em;pointer-events:none;box-shadow:0 2px 10px rgba(0,0,0,.35)}
#tutPause[hidden]{display:none}
.cPause{font:800 10.5px/1.2 var(--ui-font,system-ui);letter-spacing:.08em;text-transform:uppercase;color:#ffd98a;opacity:.9;margin:0 0 6px}
.cPause[hidden]{display:none}
.howPick{display:block;margin-bottom:8px}
.howTopics{display:flex;flex-direction:column;gap:6px;width:100%;max-width:320px;margin:0 auto}
.howTopics .howTopic{width:100%;min-height:40px;text-align:left;padding:7px 14px;font-size:.95rem}
.howTopics .howTopic{min-height:36px;padding:6px 14px}

/* short screens: topic illustrations are decorative; text and buttons come first so every page fits without scrolling */
@media (max-height:700px){#howArt{display:none!important}}
.howLeaveRow button{white-space:nowrap}


/* Source: css/aurora.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
/* ==========================================================================
   Valhalla Frontlines · AURORA theme
   Night glass, aurora glow, gold hairlines. Loaded after ui.css: it re-skins the component kit.
   Cinzel (engraved capitals) for titles and buttons, Nunito Black for numbers and names.
   ========================================================================== */
@font-face{font-family:'VCCinzel';src:url(../assets/ui/cinzel.woff2) format('woff2');font-weight:400 900;font-display:swap}
:root{
  --display:'VCCinzel','Cinzel',Georgia,serif;
  --num:'VCBody',ui-sans-serif,system-ui,sans-serif;
  --au1:#3fe0c8; --au2:#4fb8ff; --au3:#9a7cff;
  --aurora:linear-gradient(90deg,#34d8c0 0%,#4fb8ff 50%,#9a7cff 100%);
  --aurora-v:linear-gradient(180deg,#46e2cc,#4fb8ff 55%,#8a6cff);
  --gold:#e8c878; --hair:rgba(232,200,120,.5);
  --ink-1:#eaf4ff; --ink-2:#a8bedb;
  --glass:rgba(12,24,46,.62); --glass-2:rgba(18,34,62,.78);
  --ol:rgba(170,205,255,.16);
  --stroke:0 1px 2px rgba(0,0,0,.6),0 0 16px rgba(90,200,255,.22);
  --stroke-s:0 1px 2px rgba(0,0,0,.55);
  --panel-grad:linear-gradient(180deg,rgba(24,42,76,.68),rgba(10,20,42,.7));
  --panel-edge:inset 0 1px 0 rgba(255,255,255,.1),0 10px 26px rgba(0,0,0,.34);
}
#meta{background:#060c1a}
#meta h1,#meta h2,#meta h3,.mbox h1,.mbox h2{font-family:var(--display)!important;font-weight:700!important;letter-spacing:.04em!important}
.hdeck,.nxRoad,.hcard,.quest,.rstep,.dropInfo,.shStats div,.pstats div,.rcrowns div,.rq,.rsmall,.league,.tgl,.lgChip,.rnote{
  background:var(--panel-grad)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:16px!important;box-shadow:var(--panel-edge)!important;
  -webkit-backdrop-filter:blur(12px) saturate(1.25);backdrop-filter:blur(12px) saturate(1.25);color:var(--ink-1)}
.shStats small,.pstats small,.rcrowns small,.rrw small,.lgMid small,.shRole,.mbox .ver,.qreset,.dropHint,.dinfo{color:var(--ink-2)!important}
.shStats b,.pstats b,.rbig b,.rsmall b,.lt b{font-family:var(--num)!important;font-weight:900!important;text-shadow:var(--stroke-s)}
.rnote{border-left:3px solid var(--au1)!important}
.rnote.muted{border-left-color:rgba(255,255,255,.2)!important}
#meta .btn,.mbox .btn,#coach #cOk,#howOv .primary,#howOv .secondary{
  font-family:var(--display)!important;font-weight:700!important;letter-spacing:.07em!important;font-size:.9rem!important;color:var(--ink-1)!important;text-shadow:none!important;
  border-radius:999px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(22,42,76,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 6px 18px rgba(0,0,0,.3)!important;padding:10px 20px!important;transition:transform .12s,box-shadow .2s}
#meta .btn.primary,.mbox .btn.primary,#coach #cOk,#howOv .primary{background:var(--aurora)!important;color:#fff!important;border-color:rgba(255,240,200,.55)!important;
  box-shadow:0 0 0 1px var(--hair),0 0 22px rgba(80,190,255,.38),inset 0 1px 0 rgba(255,255,255,.45)!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important}
#meta .btn.up,.mbox .btn.up{background:linear-gradient(90deg,#2fd3a0,#34c0e0)!important;color:#fff!important;box-shadow:0 0 18px rgba(52,210,170,.4),inset 0 1px 0 rgba(255,255,255,.4)!important}
#meta .btn.danger,.mbox .btn.danger{background:linear-gradient(90deg,#ff6a86,#c8407a)!important;color:#fff!important;box-shadow:0 0 18px rgba(255,90,130,.35)!important}
#meta .btn:active:not(:disabled),.mbox .btn:active:not(:disabled){transform:scale(.97)!important;box-shadow:0 0 10px rgba(80,190,255,.25)!important}
.btn.sm{padding:7px 14px!important;font-size:.78rem!important}
.lnk{color:var(--au1)!important}
.meAv img,.meAv .ph{border-radius:50%!important;border:2px solid transparent!important;background:linear-gradient(#0c1830,#0c1830) padding-box,var(--aurora) border-box!important;box-shadow:0 0 14px rgba(80,190,255,.4)!important}
.meLv{border-radius:50%!important;clip-path:none!important;width:24px!important;height:24px!important;right:-6px!important;bottom:-6px!important;background:var(--aurora-v)!important;border:1px solid rgba(255,255,255,.6);filter:none!important;
  font:900 .78rem/1 var(--num)!important;text-shadow:0 1px 1px rgba(0,0,0,.4)!important;box-shadow:0 0 10px rgba(80,190,255,.5)}
.meTxt b{font:700 1.02rem/1 var(--display)!important;letter-spacing:.04em;text-shadow:var(--stroke-s)!important}
.xpbar{height:6px!important;border:0!important;background:rgba(255,255,255,.1)!important;box-shadow:none!important}
.xpbar i{background:var(--aurora)!important;box-shadow:0 0 8px rgba(80,190,255,.6)}
button.cur,.cur{height:32px!important;border-radius:999px!important;background:rgba(8,18,38,.62)!important;border:1px solid var(--hair)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  font:900 .98rem/1 var(--num)!important;text-shadow:none!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.cur .mi{filter:drop-shadow(0 0 6px rgba(255,210,120,.45))!important}
.gear{border-radius:50%!important;background:rgba(8,18,38,.62)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 0 12px rgba(80,190,255,.18)!important}
.tab{font:700 .74rem var(--display)!important;letter-spacing:.08em!important;color:var(--ink-2)!important;border:0!important;border-radius:999px!important;text-transform:uppercase}
.tab .tico svg{filter:none!important}
.tab.on{background:var(--aurora)!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important;box-shadow:0 0 0 1px var(--hair),0 0 20px rgba(80,190,255,.45)!important;transform:translateY(-3px)}
.tab .dot{background:#ff5a86!important;box-shadow:0 0 8px #ff5a86!important;width:9px!important;height:9px!important}
.lgChip{border-left:3px solid var(--lc)!important;box-shadow:0 0 0 1px var(--hair),var(--panel-edge)!important}
.lgBadge2{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--lc) 70%,transparent))!important}
.lgMid b{font:700 1.08rem/1 var(--display)!important;letter-spacing:.05em;text-shadow:var(--stroke-s)}
.lgBar{height:6px!important;border:0!important;background:rgba(255,255,255,.1)!important;box-shadow:none!important}
.lgBar i{background:var(--aurora)!important;box-shadow:0 0 8px rgba(80,190,255,.6)}
.lgTro{font:900 1.3rem/1 var(--num)!important;text-shadow:var(--stroke-s)!important}
.lgClaim{font:900 .66rem/1 var(--num)!important;letter-spacing:.06em;text-transform:uppercase;border:0!important;border-radius:999px!important;background:var(--aurora)!important;box-shadow:0 0 12px rgba(80,190,255,.6)}
.sideBtn{border-radius:50%!important;border:1px solid rgba(255,255,255,.18)!important;background:radial-gradient(circle at 50% 30%,rgba(40,70,120,.85),rgba(10,20,42,.85))!important;
  box-shadow:0 0 0 1px var(--hair),0 0 22px rgba(80,190,255,.3)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.sideBtn.drop{background:radial-gradient(circle at 50% 30%,rgba(150,110,255,.9),rgba(40,20,90,.9))!important}

@keyframes glowP2{50%{box-shadow:0 0 0 1px var(--hair),0 0 30px rgba(160,120,255,.85)}}
.sideBtn small{font:700 .62rem/1 var(--display)!important;letter-spacing:.06em;bottom:-14px!important;text-shadow:var(--stroke-s)!important}
.sideBtn .badge{border:0!important;background:linear-gradient(180deg,#ff7a96,#e0406e)!important;font:900 .72rem/1 var(--num)!important;box-shadow:0 0 10px rgba(255,90,130,.6)}
.hdeck{background:rgba(8,18,38,.66)!important}
.dtabs .dt{font:700 .74rem var(--display)!important;letter-spacing:.06em!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:999px!important;background:rgba(255,255,255,.04)!important;color:var(--ink-2)!important;text-shadow:none!important}
.dtabs .dt.on{background:var(--aurora)!important;color:#fff!important;box-shadow:0 0 14px rgba(80,190,255,.4)!important}
.dtabs .dt.edit{background:transparent!important;color:var(--gold)!important;border-color:var(--hair)!important}
#meta .battle{border-radius:999px!important;border:1px solid rgba(255,240,200,.6)!important;padding:14px 0 12px!important;
  background:linear-gradient(100deg,#1fc8b0 0%,#3aa8ff 30%,#8a64ff 55%,#3aa8ff 80%,#1fc8b0 100%)!important;background-size:220% 100%!important;animation:auroraFlow 6s ease-in-out infinite;
  box-shadow:0 0 0 5px rgba(12,26,56,.55),0 0 0 6px var(--hair),0 0 44px rgba(90,170,255,.5),inset 0 1px 0 rgba(255,255,255,.55)!important}

@keyframes auroraFlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
#meta .battle::after{background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.35) 48%,transparent 60%)!important}
#meta .battle b{font:900 2.1rem/1 var(--display)!important;letter-spacing:.16em!important;text-shadow:0 2px 10px rgba(10,20,60,.45),0 0 20px rgba(255,255,255,.35)!important}
#meta .battle small{font:800 .76rem var(--num)!important;letter-spacing:.04em;color:rgba(255,255,255,.88)!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important}
#meta .battle:active{transform:scale(.98)!important}
.crewLv{border:1px solid rgba(255,255,255,.55)!important;border-radius:999px!important;background:var(--aurora-v)!important;font:900 .72rem/1 var(--num)!important;text-shadow:0 1px 1px rgba(0,0,0,.35)!important;box-shadow:0 0 10px rgba(80,190,255,.55)!important}
.crewRune img{filter:drop-shadow(0 0 12px rgba(154,124,255,.95)) drop-shadow(0 0 24px rgba(63,224,200,.5))!important}
.ctile,.dmini,.hand .card{background:rgba(8,16,34,.78)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:14px!important;box-shadow:0 6px 16px rgba(0,0,0,.35)!important}
.cat-physical{--dc:255,138,92}
.cat-magical{--dc:168,140,255}
.cat-primal{--dc:92,224,160}
.cat-rune{--dc:242,200,106}
.vcBg{background:radial-gradient(130% 85% at 50% -5%,rgba(var(--dc),.78),rgba(var(--dc),.18) 55%,transparent 78%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(4,10,24,.55))!important;
  box-shadow:inset 0 0 0 1px rgba(var(--dc),.55),inset 0 -20px 30px rgba(4,10,24,.55)!important}
.vcBg::after{background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 30%)!important}
.cat-rune::before,.cat-spell::before{background:radial-gradient(closest-side,rgba(255,236,170,.45),transparent)!important}
.vcBg.champ{box-shadow:inset 0 0 0 1px var(--gold),inset 0 0 18px rgba(232,200,120,.45),inset 0 -20px 30px rgba(4,10,24,.55)!important}
.ctile.in{box-shadow:0 0 0 2px var(--au2),0 0 18px rgba(80,190,255,.45)!important}
.ctile.locked{filter:grayscale(1) brightness(.5)!important}
.cnm,.hand .card .nm{font:900 .74rem/1.05 var(--num)!important;letter-spacing:.01em;text-shadow:0 1px 3px rgba(0,0,0,.8)!important}
.ccost,.hand .card .cost,.shCost,.dcost{border-radius:50%!important;border:1px solid rgba(255,255,255,.55)!important;background:radial-gradient(circle at 35% 30%,#efe6ff,#a88cff 42%,#5a3ad0)!important;
  box-shadow:0 0 10px rgba(154,124,255,.75),inset 0 1px 0 rgba(255,255,255,.6)!important;font-family:var(--num)!important;font-weight:900!important;text-shadow:0 1px 1px rgba(40,20,90,.6)!important;clip-path:none!important}
.clvl,.dmini em{background:rgba(6,14,30,.88)!important;border:1px solid rgba(92,224,160,.65)!important;color:#aef5d2!important;font:900 .62rem/1 var(--num)!important;text-shadow:none!important;border-radius:999px!important}
.cup{border:0!important;background:var(--aurora-v)!important;box-shadow:0 0 10px rgba(63,224,200,.7)!important}
.dmgIco{border:1px solid rgba(255,255,255,.6)!important;box-shadow:0 0 8px rgba(var(--dc,255,255,255),.6)!important}
.dmg-physical{--dc:255,138,92}
.dmg-magical{--dc:168,140,255}
.dmg-primal{--dc:92,224,160}
.dmg-rune{--dc:242,200,106}
.dchip{border:1px solid rgba(var(--dc),.7)!important;background:rgba(var(--dc),.18)!important;font:900 .78rem/1 var(--num)!important;text-shadow:none!important;border-radius:999px!important}
.clk{font:900 .74rem var(--num)!important}
#mmodal{background:radial-gradient(80% 60% at 50% 60%,rgba(20,40,80,.4),rgba(2,6,14,.8))!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.mbox{position:relative;background:linear-gradient(180deg,rgba(20,38,70,.94),rgba(8,16,34,.96))!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:24px!important;
  box-shadow:0 0 0 1px var(--hair),0 24px 70px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.1)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.mbox::before{content:"";position:absolute;left:28px;right:28px;top:-1px;height:2px;border-radius:2px;background:var(--aurora);box-shadow:0 0 14px rgba(80,190,255,.7)}
.mbox h1,.mbox h2{background:linear-gradient(180deg,#fff6dc,#e8c878);-webkit-background-clip:text;background-clip:text;color:transparent!important;text-shadow:none!important;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45))}
.results h1{background:linear-gradient(180deg,#fff6dc,#f2cf6a 60%,#c8942a)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;box-shadow:none!important;
  font:900 2.6rem var(--display)!important;letter-spacing:.08em!important;margin:0 0 8px!important;padding:6px 0!important;filter:drop-shadow(0 0 18px rgba(242,207,106,.45)) drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.results.lose h1{background:linear-gradient(180deg,#f2f6ff,#9aaecb 65%,#5a6a88)!important;-webkit-background-clip:text!important;background-clip:text!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.crn.on.p svg{fill:#5fc4ff!important;filter:drop-shadow(0 0 6px rgba(95,196,255,.8))}
.crn.on.e svg{fill:#ff6a86!important;filter:drop-shadow(0 0 6px rgba(255,106,134,.8))}
.results .rbig span{font-family:var(--num)!important;font-weight:900!important}
.feat small,.league2 small,.lvup small{font:700 .72rem var(--display)!important;letter-spacing:.2em!important;color:var(--au1)!important;text-shadow:0 0 10px rgba(63,224,200,.5)!important}
.dropTier,.dropRar{font-family:var(--display)!important;font-weight:700!important;letter-spacing:.18em!important;text-shadow:0 0 14px var(--dc)!important}
.dropRw b{font-family:var(--num);font-weight:900;text-shadow:0 0 14px rgba(255,255,255,.3)}
.lvBadge{background:var(--aurora-v)!important;box-shadow:0 0 0 2px var(--hair),0 0 30px rgba(80,190,255,.6)!important;font-family:var(--num)!important;font-weight:900!important}
.fld input{background:rgba(4,10,24,.7)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:14px!important;font:800 1.05rem var(--num)!important;color:var(--ink-1)!important}
.fld input:focus{outline:none;box-shadow:0 0 0 2px var(--au2),0 0 16px rgba(80,190,255,.4)}
.tgl span{font:700 .95rem var(--display)!important;letter-spacing:.04em;text-shadow:none!important}
.tgl input[type=checkbox]{border:1px solid rgba(255,255,255,.18)!important;background:rgba(4,10,24,.8)!important}
.tgl input[type=checkbox]:checked{background:var(--aurora)!important;box-shadow:0 0 12px rgba(80,190,255,.5)}
.av{border:1px solid rgba(255,255,255,.14)!important;border-radius:50%!important}
.av.on{box-shadow:0 0 0 2px var(--au2),0 0 14px rgba(80,190,255,.5)!important}
.vsP{border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.vsP.e{background:linear-gradient(180deg,rgba(255,106,134,.22),rgba(10,20,42,.7))!important}
.vsP.p{background:linear-gradient(0deg,rgba(79,184,255,.25),rgba(10,20,42,.7))!important}
.vsX{font-family:var(--display)!important;font-weight:900!important;background:linear-gradient(180deg,#fff6dc,#e8c878);-webkit-background-clip:text;background-clip:text;color:transparent!important;text-shadow:none!important;filter:drop-shadow(0 0 16px rgba(232,200,120,.5))}
.spin{border-color:rgba(255,255,255,.12)!important;border-top-color:var(--au2)!important}
#scr-deck h3,#scr-quests h3{font:700 .9rem var(--display)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--gold)!important;text-shadow:none!important}
.rhead{font-family:var(--num)!important;font-weight:900!important;text-shadow:var(--stroke)}
.rstep.ready{box-shadow:0 0 0 1px var(--au1),0 0 20px rgba(63,224,200,.35)!important}
.rstep.got{opacity:.5}
.rstep .rt{font-family:var(--num)!important;font-weight:900!important}
.rrw b,.qtxt b{font-family:var(--num)!important;font-weight:900!important;letter-spacing:0;text-shadow:none!important}
.rleague.place{background:linear-gradient(90deg,color-mix(in srgb,var(--lc) 30%,rgba(10,20,42,.8)),rgba(10,20,42,.75))!important;border:1px solid rgba(255,255,255,.1)!important;border-left:3px solid var(--lc)!important;
  box-shadow:0 0 0 1px var(--hair),0 8px 20px rgba(0,0,0,.3)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.rleague.place b{font:700 1.1rem var(--display)!important;letter-spacing:.05em}
.rleague.place small{font:900 .78rem var(--num)!important;color:var(--gold)!important}
.rthumb{border:1px solid rgba(255,255,255,.2)!important;border-radius:10px!important}
.quest.done{box-shadow:0 0 0 1px var(--au1),0 0 18px rgba(63,224,200,.35)!important}
.qbar{height:8px!important;border:0!important;background:rgba(255,255,255,.1)!important}
.qbar i{background:var(--aurora)!important;box-shadow:0 0 8px rgba(80,190,255,.6)}
.qbar em{display:none}
.qrw b{font-family:var(--num)!important;font-weight:900!important;text-shadow:none!important}
.cBub{background:rgba(10,20,40,.94)!important;color:var(--ink-1)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:18px!important;
  box-shadow:0 0 0 1px var(--hair),0 0 30px rgba(80,190,255,.35),0 12px 30px rgba(0,0,0,.5)!important;font:700 .98rem/1.4 var(--num)!important}
.cBub b{font-family:var(--num)!important;font-weight:900!important;color:var(--au1)!important;letter-spacing:0}
.cSpot{box-shadow:0 0 0 9999px rgba(2,6,14,.6),0 0 0 2px var(--au2),0 0 26px rgba(80,190,255,.8)!important;border-radius:18px!important}

@keyframes cPulse{50%{box-shadow:0 0 0 9999px rgba(2,6,14,.6),0 0 0 3px var(--au1),0 0 36px rgba(63,224,200,.9)}}
.mtip{background:rgba(10,20,40,.95)!important;color:var(--ink-1)!important;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 1px var(--hair),0 10px 26px rgba(0,0,0,.5)!important}
.mtip b{color:var(--au1)!important}
#mtoast{background:rgba(10,20,40,.94)!important;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 1px var(--hair),0 8px 20px rgba(0,0,0,.5)}
.info.hint,.info.warn{font:800 .86rem/1.35 var(--num)!important;background:rgba(10,20,40,.9)!important;color:var(--ink-1)!important;border:1px solid rgba(255,255,255,.1)!important;border-left:3px solid var(--au1)!important;border-radius:14px!important;
  box-shadow:0 0 0 1px var(--hair),0 8px 20px rgba(0,0,0,.4)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.info.warn{border-left-color:#ff6a86!important}
.wordmark,.inTitle h1.wordmark{font-family:var(--display)!important;font-weight:900!important;letter-spacing:.14em!important;color:rgba(4,8,18,.55)!important;-webkit-text-fill-color:rgba(4,8,18,.55)!important;
  text-shadow:0 2px 6px rgba(0,0,0,.7),0 0 2px rgba(0,0,0,.8)!important;filter:drop-shadow(0 0 22px rgba(232,200,120,.35))!important}
.wordmark::after{background:linear-gradient(180deg,#fffbe8 0%,#f2dc9a 40%,#e0b454 72%,#b8842a 100%)!important;-webkit-background-clip:text!important;background-clip:text!important}
#splash{background:radial-gradient(90% 60% at 50% 40%,#10284a,#050b18)!important}
.spbar{height:6px!important;border:0!important;background:rgba(255,255,255,.1)!important;box-shadow:none!important;border-radius:3px!important}
.spbar i{background:var(--aurora)!important;box-shadow:0 0 10px rgba(80,190,255,.7)!important}
#splash small{font:700 .78rem var(--display)!important;letter-spacing:.2em!important;text-transform:uppercase;color:var(--ink-2)!important;text-shadow:none!important}
.inTap{font:700 1rem var(--display)!important;letter-spacing:.3em!important;color:#eaf4ff!important;text-shadow:0 0 16px rgba(80,190,255,.8)!important}
.inTitle p{font:700 .9rem var(--num)!important;letter-spacing:.02em}
.hud .score,.hud .clock{background:rgba(8,18,38,.66)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:14px!important;box-shadow:0 0 0 1px var(--hair),0 6px 16px rgba(0,0,0,.35)!important;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.score{font:700 .7rem var(--display)!important;letter-spacing:.06em;color:var(--ink-2)!important;text-shadow:none!important}
.hud .score b,.clock b{font-family:var(--num)!important;font-weight:900!important;text-shadow:0 1px 2px rgba(0,0,0,.5)!important}
.hud .score.enemy b{color:#ff7a92!important;text-shadow:0 0 12px rgba(255,106,134,.5)!important}
.hud .score.player b{color:#6ccaff!important;text-shadow:0 0 12px rgba(95,196,255,.5)!important}
.clock span{font:700 .6rem var(--display)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--au1)!important;text-shadow:none!important}
.elixir{background:rgba(6,12,28,.82)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:999px!important;box-shadow:0 0 0 1px rgba(154,124,255,.35),0 6px 16px rgba(0,0,0,.4)!important}
.elixir .fill{background:linear-gradient(90deg,#6a4ae0,#a86aff 60%,#e07aff)!important;box-shadow:0 0 14px rgba(168,106,255,.7)!important;border-radius:999px}
.elixir .num,#elNum{border-radius:50%!important;background:radial-gradient(circle at 35% 30%,#f2eaff,#b08cff 40%,#5a3ad0)!important;border:1px solid rgba(255,255,255,.6)!important;
  box-shadow:0 0 16px rgba(154,124,255,.85),inset 0 1px 0 rgba(255,255,255,.6)!important;font:900 1.2rem/1 var(--num)!important;text-shadow:0 1px 2px rgba(40,20,90,.6)!important;width:36px!important;height:36px!important}
.bar .tap,.bar .valk{border:1px solid rgba(255,255,255,.2)!important;background:radial-gradient(circle at 50% 30%,rgba(40,70,120,.9),rgba(8,16,34,.92))!important;box-shadow:0 0 0 1px var(--hair),0 0 18px rgba(80,190,255,.3)!important}
.next{background:rgba(8,18,38,.72)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:14px!important;font:700 .72rem var(--display)!important;letter-spacing:.08em;color:var(--ink-2)!important}
.next b{font:900 .86rem var(--num)!important;color:var(--ink-1)!important;letter-spacing:0;text-shadow:none!important}
.nxCard{border:1px solid rgba(255,255,255,.18)!important;border-radius:9px!important;box-shadow:none!important}
.hand .card[aria-pressed="true"]{box-shadow:0 0 0 2px var(--au2),0 0 22px rgba(80,190,255,.6)!important}
.hand .card.poor .vcBg{filter:grayscale(.85) brightness(.55)}
.dock{background:linear-gradient(180deg,rgba(6,12,26,0),rgba(6,12,26,.94) 24%)!important}
.dock details{background:rgba(8,18,38,.72)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:14px!important}
.dock details summary{font:700 .78rem var(--display)!important;letter-spacing:.08em;text-shadow:none!important;color:var(--ink-2)!important}
#howOv .sheet{background:linear-gradient(180deg,rgba(20,38,70,.95),rgba(8,16,34,.97))!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:24px!important;box-shadow:0 0 0 1px var(--hair),0 24px 70px rgba(0,0,0,.65)!important}
#howOv h2,#howOv h3{background:linear-gradient(180deg,#fff6dc,#e8c878);-webkit-background-clip:text;background-clip:text;color:transparent!important;text-shadow:none!important;font-family:var(--display)!important;font-weight:700!important}

@media (min-aspect-ratio:3/4){body.in-battle .app{box-shadow:0 0 0 1px var(--hair),0 0 60px rgba(0,0,0,.7),0 0 120px rgba(60,140,255,.15)!important}}
#meta .battle{background:linear-gradient(100deg,#0fae98 0%,#2a86ee 32%,#6f4ee8 55%,#2a86ee 78%,#0fae98 100%)!important;background-size:220% 100%!important}
#meta .battle b{text-shadow:0 2px 12px rgba(6,12,40,.55),0 0 18px rgba(255,255,255,.3)!important}
.ctile.in{box-shadow:0 0 0 1px rgba(79,184,255,.75),0 0 14px rgba(79,184,255,.28)!important}
.rstep,.quest,.dropInfo,.shStats div,.pstats div,.rq,.rsmall,.tgl,.rnote,.rcrowns div,.ctile,.rleague.place{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}

@media (max-width:380px){.lgMid b{font-size:.92rem!important;letter-spacing:.02em}}
.inTitle h1.wordmark{font-size:clamp(2rem,10.5vw,3.8rem)!important;letter-spacing:.07em!important}
#splash .wordmark{font-size:clamp(1.8rem,9.5vw,3rem)!important;letter-spacing:.07em!important}
.crew img{animation:crewBreathe 3.6s ease-in-out infinite!important;animation-delay:var(--d,0s)!important;transform-origin:50% calc(100% - var(--pb,0) * 100%)!important;
  filter:drop-shadow(0 0 1px rgba(200,230,255,.35)) drop-shadow(0 3px 2px rgba(0,0,0,.35))!important}

@keyframes crewBreathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.012,1.028)}}
.crewSh{bottom:calc(var(--pb,0) * 100%)!important;transform:translate(-50%,45%)!important;background:radial-gradient(closest-side,rgba(0,0,0,.62),rgba(0,0,0,.25) 60%,rgba(0,0,0,0))!important;z-index:-1}
.crewLv{bottom:calc(var(--pb,0) * 100%)!important;transform:translate(-50%,110%)!important}
.crewRune::after{content:"";position:absolute;left:50%;top:calc(50% + var(--drop,40px));width:70%;height:18%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(120,200,255,.45),rgba(0,0,0,0));pointer-events:none;animation:runeShadow 3s ease-in-out infinite}
.crewRune:nth-child(odd)::after{animation-delay:-1.5s}

@keyframes runeShadow{50%{transform:translate(-50%,-50%) scale(.82);opacity:.7}}
.rotIco{animation:rot 2.2s ease-in-out infinite}
.dock details{display:none!important}
.ffly i{width:4px!important;height:4px!important;box-shadow:0 0 6px 1px rgba(255,230,140,.6)!important}
.flame{position:absolute;transform:translate(-50%,-100%);pointer-events:none}
.flame[hidden]{display:none}
#meta.sub .flame{display:none}
.fglow{position:absolute;left:50%;bottom:-8%;width:260%;height:150%;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,170,70,.55),rgba(255,120,40,.22) 45%,rgba(255,90,20,0));mix-blend-mode:screen;animation:fglow 1.8s ease-in-out infinite;animation-delay:var(--fd)}

@keyframes fglow{0%,100%{opacity:.85;transform:translateX(-50%) scale(1)}35%{opacity:1;transform:translateX(-50%) scale(1.06)}70%{opacity:.75;transform:translateX(-50%) scale(.96)}}
.ft{position:absolute;left:50%;bottom:0;border-radius:50% 50% 45% 45%/62% 62% 38% 38%;transform-origin:50% 100%;mix-blend-mode:screen;filter:blur(.6px)}
.ft.t1{width:74%;height:88%;margin-left:-37%;background:radial-gradient(80% 60% at 50% 78%,#fff3c0 0%,#ffc650 30%,#ff7a1e 62%,rgba(255,70,10,0) 80%);animation:ft1 .9s ease-in-out infinite alternate;animation-delay:var(--fd)}
.ft.t2{width:46%;height:68%;margin-left:-38%;background:radial-gradient(70% 60% at 50% 80%,#ffe8a0 0%,#ff9a30 45%,rgba(255,80,10,0) 78%);animation:ft2 .7s ease-in-out infinite alternate;animation-delay:calc(var(--fd) + .2s)}
.ft.t3{width:42%;height:62%;margin-left:-6%;background:radial-gradient(70% 60% at 50% 80%,#ffe8a0 0%,#ff9a30 45%,rgba(255,80,10,0) 78%);animation:ft3 .8s ease-in-out infinite alternate;animation-delay:calc(var(--fd) + .35s)}

@keyframes ft1{0%{transform:scale(1,1) skewX(-2deg)}50%{transform:scale(.94,1.08) skewX(3deg)}100%{transform:scale(1.04,.94) skewX(-4deg)}}

@keyframes ft2{0%{transform:scale(1,1) skewX(6deg)}100%{transform:scale(.86,1.16) skewX(-5deg)}}

@keyframes ft3{0%{transform:scale(1,1) skewX(-6deg)}100%{transform:scale(.9,1.12) skewX(5deg)}}
.fe{position:absolute;left:50%;bottom:40%;width:3px;height:3px;border-radius:50%;background:#ffd27a;box-shadow:0 0 5px 1px rgba(255,170,60,.8);opacity:0;animation:fe 2.4s linear infinite}
.fe.e1{margin-left:-8%;animation-delay:calc(var(--fd) + .1s)}
.fe.e2{margin-left:10%;animation-delay:calc(var(--fd) + .9s)}
.fe.e3{margin-left:-2%;animation-delay:calc(var(--fd) + 1.6s)}

@keyframes fe{0%{opacity:0;transform:translate(0,0)}15%{opacity:1}100%{opacity:0;transform:translate(8px,-120%)}}

@media (prefers-reduced-motion:reduce){.ft,.fglow,.fe{animation:none!important}}
.portal{position:absolute;inset:0;pointer-events:none;z-index:1}
#meta.sub .portal,#meta.sub .pEmblem{display:none}
.pRing{position:absolute;left:calc(var(--px) - var(--rx));top:calc(var(--py) - var(--ry));width:calc(var(--rx) * 2);height:calc(var(--ry) * 2);border-radius:50%;
  background:radial-gradient(closest-side,rgba(160,240,255,.55),rgba(63,224,200,.28) 45%,rgba(154,124,255,.12) 70%,transparent);mix-blend-mode:screen;animation:pRing 3.2s ease-in-out infinite}

@keyframes pRing{50%{transform:scale(1.08);opacity:.75}}
.pBeam{position:absolute;left:calc(var(--px) - var(--rx) * 0.62);width:calc(var(--rx) * 1.24);top:var(--top);height:calc(var(--py) - var(--top));
  background:linear-gradient(0deg,rgba(63,224,200,.62) 0%,rgba(79,184,255,.42) 32%,rgba(154,124,255,.24) 68%,rgba(154,124,255,0) 100%);
  -webkit-mask:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);mask:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);
  filter:blur(8px);mix-blend-mode:screen;transform-origin:50% 100%;animation:pBeam 5s ease-in-out infinite}

@keyframes pBeam{0%,100%{opacity:.85;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.12)}}
.pCore{position:absolute;left:calc(var(--px) - var(--rx) * 0.12);width:calc(var(--rx) * 0.24);top:calc(var(--top) + (var(--py) - var(--top)) * 0.18);height:calc((var(--py) - var(--top)) * 0.82);
  background:linear-gradient(0deg,rgba(230,255,255,.85),rgba(160,230,255,.5) 40%,rgba(200,180,255,0));-webkit-mask:linear-gradient(90deg,transparent,#000 40%,#000 60%,transparent);mask:linear-gradient(90deg,transparent,#000 40%,#000 60%,transparent);
  filter:blur(4px);mix-blend-mode:screen;animation:pCore 2.6s ease-in-out infinite}

@keyframes pCore{50%{opacity:.6}}
.pSpark{position:absolute;left:calc(var(--px) + var(--rx) * var(--sx) * 0.5);top:var(--py);width:var(--sz);height:var(--sz);border-radius:50%;background:#e8fbff;box-shadow:0 0 8px 2px rgba(120,220,255,.9);
  opacity:0;animation:pSpark var(--d) linear infinite;animation-delay:var(--dl);mix-blend-mode:screen}

@keyframes pSpark{0%{opacity:0;transform:translateY(0)}12%{opacity:1}100%{opacity:0;transform:translateY(calc((var(--top) - var(--py)) * 0.9))}}
.pEmblem{position:absolute;z-index:3;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;border:0;background:none;padding:0;display:grid;justify-items:center;gap:5px;color:var(--ink-1);min-width:210px;animation:peFloat 5s ease-in-out infinite}

@keyframes peFloat{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 7px))}}
.peBadge{width:74px;height:84px;display:grid;place-items:center;color:var(--lc);filter:drop-shadow(0 0 14px color-mix(in srgb,var(--lc) 80%,transparent)) drop-shadow(0 0 30px rgba(120,210,255,.45))}
.peBadge .mi{width:74px!important;height:84px!important}
.peName{font:700 1.5rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(180deg,#fff8e4,#e8c878);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.7)) drop-shadow(0 0 16px rgba(232,200,120,.35));white-space:nowrap}
.peTro{display:inline-flex;align-items:center;gap:6px;font:900 1.3rem/1 var(--num);padding:5px 14px 5px 10px;border-radius:999px;background:rgba(8,18,38,.62);border:1px solid var(--hair);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.peTro .mi{width:22px!important;height:22px!important;filter:drop-shadow(0 0 6px rgba(255,210,120,.6))}
.peBar{width:180px;height:6px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.peBar i{display:block;height:100%;background:var(--aurora);box-shadow:0 0 10px rgba(80,190,255,.7)}
.peNext{font:800 .74rem/1.2 var(--num);color:#dbe8f6;text-shadow:0 1px 3px rgba(0,0,0,.8);white-space:nowrap}
.peClaim{position:absolute;top:2px;right:18px;font:900 .64rem/1 var(--num);letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:var(--aurora);box-shadow:0 0 14px rgba(80,190,255,.7);animation:bob2 1.2s ease-in-out infinite}
.hSide{top:88px!important}
.deckPill{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:4px;width:min(320px,86%);margin:0 auto;padding:4px;border-radius:999px;background:rgba(8,18,38,.66);border:1px solid rgba(255,255,255,.12);
  box-shadow:0 0 0 1px var(--hair),0 8px 20px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.deckPill:has(> span.dpMid){grid-template-columns:1fr}
.dpArrow{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:var(--ink-1);font:700 1.6rem/1 var(--display);cursor:pointer;display:grid;place-items:center;padding-bottom:3px}
.dpArrow:active{transform:scale(.94)}
.dpMid{display:grid;justify-items:center;gap:2px;border:0;background:none;color:var(--ink-1);cursor:pointer;padding:4px 0}
.dpMid b{font:700 .95rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase}
.dpMid small{font:800 .68rem/1 var(--num);color:var(--ink-2)}

@media (max-height:700px){.peBadge,.peBadge .mi{width:54px!important;height:62px!important}
.peName{font-size:1.15rem}
.peTro{font-size:1.05rem}}
.pGlow{position:absolute;left:calc(var(--px) - var(--rx) * 1.25);width:calc(var(--rx) * 2.5);top:calc(var(--top) - 20px);height:calc(var(--py) - var(--top) + 40px);
  background:radial-gradient(50% 60% at 50% 70%,rgba(63,224,200,.28),rgba(79,184,255,.16) 45%,rgba(154,124,255,.1) 70%,transparent);filter:blur(18px);mix-blend-mode:screen;animation:pRing 6s ease-in-out infinite}
.pBeam{background:linear-gradient(0deg,rgba(80,240,215,.85) 0%,rgba(79,184,255,.6) 30%,rgba(154,124,255,.4) 66%,rgba(154,124,255,0) 100%)!important;left:calc(var(--px) - var(--rx) * 0.72)!important;width:calc(var(--rx) * 1.44)!important}
.pVeil{position:absolute;top:var(--top);height:calc(var(--py) - var(--top));width:calc(var(--rx) * 0.5);border-radius:50%;mix-blend-mode:screen;filter:blur(10px);opacity:.75;
  -webkit-mask:linear-gradient(0deg,#000 10%,transparent);mask:linear-gradient(0deg,#000 10%,transparent)}
.pVeil.a{left:calc(var(--px) - var(--rx) * 0.55);background:linear-gradient(0deg,rgba(63,224,200,.7),rgba(63,224,200,0));animation:pVeilA 7s ease-in-out infinite}
.pVeil.b{left:calc(var(--px) + var(--rx) * 0.05);background:linear-gradient(0deg,rgba(154,124,255,.7),rgba(154,124,255,0));animation:pVeilB 8s ease-in-out infinite}

@keyframes pVeilA{0%,100%{transform:translateX(0) skewX(-6deg)}50%{transform:translateX(calc(var(--rx) * .18)) skewX(6deg)}}

@keyframes pVeilB{0%,100%{transform:translateX(0) skewX(6deg)}50%{transform:translateX(calc(var(--rx) * -.18)) skewX(-6deg)}}
.pRing{background:radial-gradient(closest-side,rgba(200,250,255,.75),rgba(63,224,200,.4) 42%,rgba(154,124,255,.18) 70%,transparent)!important}
.hSide{top:auto!important;bottom:172px!important;right:12px!important}

@media (max-height:700px){.hSide{bottom:156px!important;gap:10px!important}
.sideBtn{width:54px!important;height:54px!important}}

@media (max-width:400px){.peName{font-size:1.2rem}
.pEmblem{min-width:180px}}
:root{--accent:#46c9b8;--accent-soft:rgba(70,201,184,.16);--goldbtn:linear-gradient(180deg,#f4dc98 0%,#dcb45e 55%,#b98d3a 100%);--bar:linear-gradient(90deg,#3fcab8,#5aaee6)}
#meta .btn.primary,.mbox .btn.primary,#coach #cOk,#howOv .primary{background:var(--goldbtn)!important;color:#1c1407!important;border:1px solid rgba(255,244,214,.65)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 16px rgba(0,0,0,.35)!important;text-shadow:0 1px 0 rgba(255,255,255,.3)!important}
#meta .btn.up,.mbox .btn.up{background:linear-gradient(180deg,#4cc493,#2f9a6e)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 6px 16px rgba(0,0,0,.3)!important}
#meta .btn.danger,.mbox .btn.danger{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 6px 16px rgba(0,0,0,.3)!important}
#meta .btn:active:not(:disabled),.mbox .btn:active:not(:disabled){box-shadow:inset 0 1px 0 rgba(255,255,255,.2)!important}
#meta .battle{background:var(--goldbtn)!important;background-size:100% 100%!important;animation:none!important;border:1px solid rgba(255,246,220,.75)!important;
  box-shadow:0 0 0 5px rgba(10,20,40,.6),0 0 0 6px rgba(232,200,120,.35),0 12px 30px rgba(0,0,0,.45)!important}
#meta .battle b{color:#1c1407!important;text-shadow:0 1px 0 rgba(255,255,255,.35)!important}
#meta .battle small{color:rgba(28,20,7,.72)!important;text-shadow:none!important}
#meta .battle::after{background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.4) 50%,transparent 62%)!important}
.tab.on{background:rgba(255,255,255,.07)!important;box-shadow:inset 0 -2px 0 var(--accent)!important;transform:none!important;color:#fff!important;text-shadow:none!important}
.tab.on .tico svg{fill:var(--accent)!important;transform:none!important}
.dtabs .dt.on{background:var(--accent-soft)!important;border-color:rgba(70,201,184,.55)!important;color:#fff!important;box-shadow:none!important}
.dtabs .dt.edit{color:var(--gold)!important}
.lgClaim,.peClaim{background:var(--goldbtn)!important;color:#1c1407!important;box-shadow:0 4px 10px rgba(0,0,0,.35)!important}
.meLv,.crewLv{background:#2aa697!important;box-shadow:0 2px 6px rgba(0,0,0,.4)!important}
.lvBadge{background:radial-gradient(circle at 35% 30%,#5fdccb,#1f8c80)!important;box-shadow:0 0 0 2px var(--hair),0 8px 20px rgba(0,0,0,.4)!important}
.cup{background:#2aa697!important;box-shadow:0 0 0 2px rgba(8,16,34,.9)!important}
.meAv img,.meAv .ph{background:linear-gradient(#0c1830,#0c1830) padding-box,linear-gradient(180deg,#e8c878,#9a7a3a) border-box!important;box-shadow:0 4px 10px rgba(0,0,0,.4)!important}
.xpbar i,.lgBar i,.qbar i,.peBar i,.spbar i{background:var(--bar)!important;box-shadow:none!important}
.tgl input[type=checkbox]:checked{background:var(--accent)!important;box-shadow:none!important}
.ctile.in{box-shadow:0 0 0 1px rgba(70,201,184,.8)!important}
.hand .card[aria-pressed="true"]{box-shadow:0 0 0 2px var(--accent),0 0 14px rgba(70,201,184,.4)!important}
.fld input:focus{box-shadow:0 0 0 2px var(--accent)!important}
.av.on{box-shadow:0 0 0 2px var(--accent)!important}
.rstep.ready{box-shadow:0 0 0 1px rgba(232,200,120,.7)!important}
.quest.done{box-shadow:0 0 0 1px rgba(70,201,184,.7)!important}
.cSpot{box-shadow:0 0 0 9999px rgba(2,6,14,.6),0 0 0 2px var(--accent),0 0 20px rgba(70,201,184,.55)!important}

@keyframes cPulse{50%{box-shadow:0 0 0 9999px rgba(2,6,14,.6),0 0 0 3px var(--accent),0 0 28px rgba(70,201,184,.7)}}
.cBub{box-shadow:0 0 0 1px var(--hair),0 12px 30px rgba(0,0,0,.5)!important}
.cBub b,.mtip b{color:var(--accent)!important}
.rnote{border-left-color:var(--accent)!important}
.info.hint{border-left-color:var(--accent)!important}
.sideBtn{box-shadow:0 0 0 1px var(--hair),0 8px 18px rgba(0,0,0,.35)!important}
.gear{box-shadow:0 4px 10px rgba(0,0,0,.35)!important}
.lgChip,.hud .score,.hud .clock,.deckPill{box-shadow:0 0 0 1px rgba(232,200,120,.3),0 8px 18px rgba(0,0,0,.35)!important}
.mbox::before{opacity:.65;box-shadow:none!important}
.feat small,.league2 small,.lvup small{color:var(--accent)!important;text-shadow:none!important}
.clock span{color:var(--accent)!important}
.hud .score.enemy b{text-shadow:none!important}
.hud .score.player b{text-shadow:none!important}
.dmgIco{box-shadow:none!important}
.ccost,.hand .card .cost,.shCost,.dcost,.elixir .num,#elNum{box-shadow:0 2px 6px rgba(20,10,60,.45),inset 0 1px 0 rgba(255,255,255,.55)!important}
.elixir .fill{box-shadow:none!important}
.rar-common{--rc:#c9d4e0}
.rar-rare{--rc:#5ab8f0}
.rar-epic{--rc:#b08cff}
.rar-legendary{--rc:#f2c86a}
.rar-rune{--rc:rgba(255,255,255,.14)}
.ctile[class*="rar-"]{border-color:color-mix(in srgb,var(--rc) 65%,transparent)!important}
.ctile.rar-legendary{box-shadow:0 0 0 1px rgba(242,200,106,.35),0 0 14px rgba(242,200,106,.22),0 6px 16px rgba(0,0,0,.35)!important}
.ctile.rar-legendary.in{box-shadow:0 0 0 1px rgba(70,201,184,.8),0 0 14px rgba(242,200,106,.3)!important}
.crar{position:absolute;top:3px;left:50%;transform:translateX(-50%);width:28%;height:3px;border-radius:2px;background:var(--rc);box-shadow:0 0 6px var(--rc);z-index:2}
.crun{position:absolute;left:24px;right:36px;bottom:9px;height:5px;border-radius:3px;background:rgba(0,0,0,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);overflow:hidden;z-index:2}
.crun i{display:block;height:100%;background:linear-gradient(90deg,#3fcab8,#6fe0d0);border-radius:3px}
.crun.full i{background:linear-gradient(90deg,#f2c86a,#ffe6a0);box-shadow:0 0 8px rgba(242,200,106,.8)}
.ctile .cnm{bottom:18px!important}
.rchip{display:inline-block;font:900 .62rem/1 var(--num);letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:999px;color:#0b1422;background:var(--rc);margin-right:4px;vertical-align:1px}
.shRunes{margin:10px 0 4px;padding:10px 12px;border-radius:14px;background:rgba(6,14,30,.6);border:1px solid color-mix(in srgb,var(--rc) 45%,transparent)}
.srTop{display:flex;align-items:center;gap:6px}
.srTop .mi{width:18px;height:18px}
.srTop b{font:900 .88rem var(--num)}
.srTop span{margin-left:auto;font:900 .9rem var(--num);color:#aef5e8}
.srBar{display:block;height:8px;border-radius:4px;background:rgba(255,255,255,.1);margin:7px 0 6px;overflow:hidden}
.srBar i{display:block;height:100%;background:linear-gradient(90deg,#3fcab8,#6fe0d0)}
.shRunes small{display:block;font:700 .72rem/1.35 var(--num);color:var(--ink-2)}
#shUp .mi{width:16px;height:16px;vertical-align:-3px;margin:0 2px 0 6px}
.dropVr{position:relative;width:128px;height:128px;margin:4px auto 6px;display:grid;place-items:center;border-radius:22px;background:radial-gradient(circle,color-mix(in srgb,var(--rc) 35%,transparent),transparent 70%)}
.dropVr img{max-height:112px;max-width:120px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.dvN{position:absolute;right:-6px;bottom:4px;display:inline-flex;align-items:center;gap:2px;padding:4px 10px 4px 6px;border-radius:999px;background:rgba(8,16,34,.9);border:1px solid var(--rc);font:900 1.1rem/1 var(--num);color:#fff}
.dvN .mi{width:20px;height:20px}
.pity{display:block;font-style:normal;font:700 .7rem/1.3 var(--num);color:var(--ink-2);margin-top:3px}
.pity b{color:var(--gold)}
.shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.offer{position:relative;display:grid;justify-items:center;gap:4px;padding:10px 6px;border-radius:16px;background:var(--panel-grad);border:1px solid color-mix(in srgb,var(--rc) 55%,transparent);box-shadow:var(--panel-edge)}
.offer .oArt img{height:58px;width:auto;filter:drop-shadow(0 4px 6px rgba(0,0,0,.45))}
.offer b{font:900 .8rem/1.1 var(--num);text-align:center}
.oN{display:inline-flex;align-items:center;gap:2px;font:900 .86rem var(--num);color:#aef5e8}
.oN .mi{width:16px;height:16px}
.offer .btn{padding:6px 10px!important;font-size:.78rem!important}
.offer .btn .mi{width:14px;height:14px;vertical-align:-2px;margin-right:3px}
.offer.sold{opacity:.55}
.oSold{font:800 .74rem var(--num);color:var(--accent);display:inline-flex;align-items:center;gap:3px}
.oSold .mi{width:14px;height:14px}
.flyIco .mi{width:26px;height:26px}
.ctile .cnm{bottom:revert!important}
.crun{left:0!important;right:0!important;bottom:0!important;height:4px!important;border-radius:0 0 13px 13px!important;box-shadow:none!important;background:rgba(0,0,0,.6)!important}
.crun i{border-radius:0!important}
.cat-common{--dc:188,204,222}
.cat-rare{--dc:90,184,240}
.cat-epic{--dc:176,140,255}
.cat-legendary{--dc:242,200,106}
.cat-spell{--dc:70,201,184}
.vcBg.cat-legendary{box-shadow:inset 0 0 0 1px rgba(242,200,106,.75),inset 0 0 16px rgba(242,200,106,.3),inset 0 -20px 30px rgba(4,10,24,.55)!important}
.vcBg.cat-legendary::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,transparent 32%,rgba(255,244,210,.38) 46%,transparent 60%);background-size:260% 100%;animation:legShine 4.8s ease-in-out infinite}

@keyframes legShine{0%{background-position:160% 0}55%,100%{background-position:-60% 0}}
.hand .card .crar{top:4px;width:30%}
.cat-common{--dc:176,182,190}
.cat-rare{--dc:63,157,255}
.rar-common{--rc:#b9bfc7}
.rar-rare{--rc:#3f9dff}
.vcBg.cat-common{background:radial-gradient(130% 85% at 50% -5%,rgba(176,182,190,.55),rgba(176,182,190,.12) 55%,transparent 78%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(4,10,24,.55))!important}
.vcBg.cat-rare{background:radial-gradient(130% 85% at 50% -5%,rgba(63,157,255,.85),rgba(63,157,255,.2) 55%,transparent 78%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(4,10,24,.55))!important}
.pGlow,.pVeil,.pRing{display:none!important}
.pFloor{position:absolute;left:calc(var(--px) - var(--rx) * 1.9);top:calc(var(--py) - var(--ry) * 1.9);width:calc(var(--rx) * 3.8);height:calc(var(--ry) * 3.8);border-radius:50%;
  background:radial-gradient(closest-side,rgba(120,240,225,.42),rgba(79,184,255,.2) 45%,rgba(154,124,255,.08) 70%,transparent);mix-blend-mode:screen;animation:pFloor 4s ease-in-out infinite}

@keyframes pFloor{50%{opacity:.7}}
.pVortex,.pRunes{position:absolute;left:var(--px);top:var(--py);width:calc(var(--rx) * 2.05);aspect-ratio:1;border-radius:50%;pointer-events:none}
.pVortex{background:conic-gradient(from 0deg,transparent 0 10%,rgba(63,224,200,.55) 18%,transparent 30%,rgba(154,124,255,.5) 45%,transparent 58%,rgba(79,184,255,.55) 72%,transparent 85%);
  -webkit-mask:radial-gradient(closest-side,transparent 18%,#000 34%,#000 70%,transparent 96%);mask:radial-gradient(closest-side,transparent 18%,#000 34%,#000 70%,transparent 96%);
  mix-blend-mode:screen;filter:blur(3px);animation:pVortex 9s linear infinite}

@keyframes pVortex{from{transform:translate(-50%,-50%) scaleY(var(--sq,.4)) rotate(0)}to{transform:translate(-50%,-50%) scaleY(var(--sq,.4)) rotate(-360deg)}}
.pRunes{animation:pRunes 38s linear infinite;filter:drop-shadow(0 0 6px rgba(120,240,255,.9))}

@keyframes pRunes{from{transform:translate(-50%,-50%) scaleY(var(--sq,.4)) rotate(0)}to{transform:translate(-50%,-50%) scaleY(var(--sq,.4)) rotate(360deg)}}
.pRunes svg{width:100%;height:100%;overflow:visible}
.pRunes circle{fill:none;stroke:#c8fbff}
.pRunes .rr1{stroke-width:2.2;opacity:.9}
.pRunes .rr2{stroke-width:1.2;opacity:.6;stroke-dasharray:3 5}
.pRunes .rr3{stroke-width:2;opacity:.8}
.pRunes .rrG path{fill:none;stroke:#eaffff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pBase{position:absolute;left:calc(var(--px) - var(--rx) * .55);top:calc(var(--py) - var(--ry) * .55);width:calc(var(--rx) * 1.1);height:calc(var(--ry) * 1.1);border-radius:50%;
  background:radial-gradient(closest-side,#ffffff,rgba(170,255,245,.85) 30%,rgba(79,184,255,.35) 65%,transparent);mix-blend-mode:screen;animation:pBase 2.2s ease-in-out infinite}

@keyframes pBase{50%{transform:scale(1.12);opacity:.8}}
.pBeam{left:calc(var(--px) - var(--rx) * .62)!important;width:calc(var(--rx) * 1.24)!important;top:calc(var(--ey) - 30px)!important;height:calc(var(--py) - var(--ey) + 30px)!important;
  background:linear-gradient(0deg,rgba(120,250,230,.9) 0%,rgba(79,184,255,.55) 35%,rgba(154,124,255,.38) 75%,rgba(232,200,120,.25) 100%)!important;
  -webkit-mask:linear-gradient(90deg,transparent,#000 34%,#000 66%,transparent),linear-gradient(0deg,#000 80%,transparent);-webkit-mask-composite:source-in;mask:linear-gradient(90deg,transparent,#000 34%,#000 66%,transparent);
  filter:blur(10px)!important;animation:pBeam2 3.6s ease-in-out infinite!important}

@keyframes pBeam2{0%,100%{opacity:.85;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.14)}}
.pSpiral{position:absolute;left:calc(var(--px) - var(--rx) * .5);width:calc(var(--rx));top:calc(var(--ey));height:calc(var(--py) - var(--ey));mix-blend-mode:screen;pointer-events:none}
.pSpiral svg{width:100%;height:100%;overflow:visible}
.sp{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:70 330;animation:spFlow 2.8s linear infinite}
.sp.a{stroke:#9ffcf0;stroke-width:3;filter:drop-shadow(0 0 5px #3fe0c8)}
.sp.b{stroke:#c8b4ff;stroke-width:2.6;filter:drop-shadow(0 0 5px #9a7cff);animation-delay:-1.4s}
.sp.c{stroke:#ffe6a0;stroke-width:1.8;filter:drop-shadow(0 0 4px #e8c878);stroke-dasharray:40 360;animation-duration:2.2s;animation-delay:-.7s}

@keyframes spFlow{from{stroke-dashoffset:0}to{stroke-dashoffset:-400}}
.pCore{left:calc(var(--px) - var(--rx) * .09)!important;width:calc(var(--rx) * .18)!important;top:calc(var(--ey))!important;height:calc(var(--py) - var(--ey))!important;
  background:linear-gradient(0deg,#ffffff 0%,rgba(210,255,250,.95) 25%,rgba(170,220,255,.6) 70%,rgba(255,240,200,.4) 100%)!important;filter:blur(3px)!important;animation:pCore2 1.8s ease-in-out infinite!important}

@keyframes pCore2{50%{opacity:.7;transform:scaleX(.8)}}
.pCrown{position:absolute;left:var(--px);top:var(--ey);width:calc(var(--rx) * 2.4);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(closest-side,rgba(255,250,230,.55),rgba(120,230,255,.28) 35%,rgba(154,124,255,.12) 60%,transparent 75%)}
.pCrown::before{content:"";position:absolute;inset:-18%;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(200,245,255,.28) 0 4deg,transparent 4deg 14deg);
  -webkit-mask:radial-gradient(closest-side,transparent 22%,#000 36%,transparent 70%);mask:radial-gradient(closest-side,transparent 22%,#000 36%,transparent 70%);animation:pCrownSpin 40s linear infinite}

@keyframes pCrownSpin{to{transform:rotate(360deg)}}
.pSpark{top:var(--py)!important;background:transparent!important;box-shadow:none!important;width:12px!important;height:14px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 14'%3E%3Cpath d='M6 1v12M6 5l4-4M6 5L2 1' stroke='%23e8ffff' stroke-width='1.6' stroke-linecap='round' fill='none'/%3E%3C/svg%3E")!important;
  background-size:contain!important;background-repeat:no-repeat!important;filter:drop-shadow(0 0 4px #7ff0e0)}

@keyframes pSpark{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:1}100%{opacity:0;transform:translateY(calc((var(--ey) - var(--py)) * 1.05)) scale(1.1)}}
.pEmblem{gap:2px!important;min-width:240px!important}
.peBadge{display:none!important}
.peShade{position:absolute;left:50%;top:52%;width:340px;height:260px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(4,10,24,.62),rgba(4,10,24,.3) 55%,transparent);z-index:-1;pointer-events:none}
.peCrest{width:172px;height:auto;overflow:visible;filter:drop-shadow(0 0 16px color-mix(in srgb,var(--lc) 70%,transparent)) drop-shadow(0 8px 10px rgba(0,0,0,.55))}
.peCrest .cRune{filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 12px var(--lc))}
.peCrest .cShine{animation:cShine 4.2s ease-in-out infinite}

@keyframes cShine{0%,60%{transform:skewX(-16deg) translateX(0)}100%{transform:skewX(-16deg) translateX(300px)}}
.peCrest .cWings{transform-origin:110px 92px;animation:cWings 5s ease-in-out infinite}

@keyframes cWings{50%{transform:scaleX(1.04)}}
.peName{position:relative;margin-top:-10px;padding:0 34px;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;color:inherit!important;filter:none!important}
.peName::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,32,60,.95),rgba(6,12,28,.95));clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%,6% 50%);
  box-shadow:none;border-top:1px solid rgba(232,200,120,.7)}
.peName::after{content:"";position:absolute;left:6%;right:6%;top:3px;bottom:3px;border-top:1px solid rgba(232,200,120,.55);border-bottom:1px solid rgba(232,200,120,.55);pointer-events:none}
.peName i{position:relative;display:block;padding:8px 0 7px;font:700 1.25rem/1 var(--display);font-style:normal;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;
  background:linear-gradient(180deg,#fff8e4,#e8c878);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}
.peTro{margin-top:8px;border:1px solid rgba(232,200,120,.6)!important;background:linear-gradient(180deg,rgba(20,36,64,.85),rgba(8,16,34,.85))!important;box-shadow:0 0 18px rgba(232,200,120,.18),0 6px 14px rgba(0,0,0,.4)}
.peBar{width:190px!important;height:8px!important;margin-top:6px;border-radius:4px!important;background:rgba(4,10,24,.7)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)!important}
.peBar i{box-shadow:0 0 10px rgba(80,220,255,.7)!important}
.peNext{margin-top:2px}

@media (max-width:400px){.peName i{font-size:1.05rem}
.peCrest{width:150px}}

@media (max-height:700px){.peCrest{width:118px}
.peName i{font-size:1rem}
.peShade{width:280px;height:200px}}
.pBeam{left:calc(var(--px) - var(--rx) * .5)!important;width:calc(var(--rx))!important;filter:blur(7px)!important;
  background:linear-gradient(0deg,rgba(150,255,240,1) 0%,rgba(90,200,255,.78) 32%,rgba(160,130,255,.58) 72%,rgba(240,210,140,.42) 100%)!important;
  -webkit-mask:linear-gradient(90deg,transparent,#000 28%,#000 72%,transparent)!important;mask:linear-gradient(90deg,transparent,#000 28%,#000 72%,transparent)!important}
.pCore{left:calc(var(--px) - var(--rx) * .11)!important;width:calc(var(--rx) * .22)!important;filter:blur(2px)!important}
.pCore::before{content:"";position:absolute;top:0;bottom:0;left:-180%;right:-180%;background:linear-gradient(0deg,rgba(160,255,240,.55),rgba(120,200,255,.35) 60%,rgba(200,180,255,.2));filter:blur(14px);border-radius:50%}
.sp{stroke-dasharray:130 270!important}
.sp.a{stroke-width:4!important}
.sp.b{stroke-width:3.4!important}
.sp.c{stroke-width:2.4!important;stroke-dasharray:70 330!important}

@media (min-width:700px) and (orientation:portrait){.pEmblem{scale:1.3}}


/* Source: css/dropfx.css */
/* Rune Drop theatre: a readable stone, a gathering storm, a collectible reveal. */
.dfx{position:fixed;inset:0;z-index:80;overflow:hidden;isolation:isolate;opacity:0;transition:opacity .24s;touch-action:manipulation;user-select:none;color:#edf4ff;--m1:#9aa0a8;--m2:#5b616a;--bvL:#c3c8ce;--bvM:#7c828a;--bvD:#353a41;--side:#262a30;--groove:#1f2328;--en:#e8eef6;--t:#b7c0cc;--bg:#10151d;--stage:min(87vw,430px,58dvh);font-family:var(--ui-body,var(--num))}
.dfx.in{opacity:1}.dfx.out{opacity:0;pointer-events:none}.dfx [hidden]{display:none!important}.dfx:focus{outline:none}
.dfxBg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 46%,color-mix(in srgb,var(--t) 24%,#061022),#050b17 58%,#02050c);transition:background .65s}
.dfxBg::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 50px,#a5d9e305 51px,transparent 52px 110px);mask-image:linear-gradient(transparent,#000,transparent)}
.dfxVig{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 28%,#0006 100%);pointer-events:none}
.dfxAurora{position:absolute;inset:0;opacity:.4;transition:opacity .6s;pointer-events:none;overflow:hidden}
.dfxAurora i{position:absolute;top:23%;left:-30%;width:160%;height:21%;background:linear-gradient(100deg,transparent,#469fba22,var(--t),transparent);opacity:.22;filter:blur(28px);transform:rotate(-24deg);animation:runeAurora 9s ease-in-out infinite alternate}
.dfxAurora i+ i{top:59%;transform:rotate(24deg);animation-delay:-5s;background:linear-gradient(100deg,transparent,var(--en),#514adf55,transparent)}
.dfx[data-tier="epic"] .dfxAurora,.dfx[data-tier="legendary"] .dfxAurora{opacity:1}
@keyframes runeAurora{to{transform:translateX(7%) rotate(-7deg) scaleY(1.5)}}
.dfxArch{position:absolute;inset:4% 0 0;pointer-events:none;opacity:.55;mask-image:linear-gradient(transparent,#000 25%,#000 70%,transparent)}
.dfxArch i{position:absolute;top:0;left:-7%;height:90%;width:27%;border:1px solid color-mix(in srgb,var(--t) 25%,transparent);border-radius:50% 10% 0 0;transform:skewY(-18deg);background:linear-gradient(90deg,#010510,color-mix(in srgb,var(--t) 6%,#091321));box-shadow:inset -6px 0 0 #a8cff306,inset -18px 0 0 #0003}
.dfxArch i+i{left:auto;right:-7%;transform:scaleX(-1) skewY(-18deg)}
.dfxRays{position:absolute;left:50%;top:47%;width:140vmax;height:140vmax;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 12deg,transparent 0 14deg,color-mix(in srgb,var(--t) 28%,transparent) 17deg,transparent 20deg 30deg);mask-image:radial-gradient(closest-side,transparent 5%,#000 16%,transparent 58%);opacity:.25;animation:runeRays 48s linear infinite;pointer-events:none}
@keyframes runeRays{to{transform:translate(-50%,-50%) rotate(360deg)}}
.dfxParticles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.dfxHead{position:absolute;left:16px;right:16px;top:calc(62px + env(safe-area-inset-top,0px));text-align:center;z-index:5;pointer-events:none}
.dfx .dfxHead>small{display:block;font:900 .64rem/1.2 var(--ui-body);letter-spacing:.3em!important;text-transform:uppercase;color:#a6bccf}
.dfx .dfxTier{display:block;margin:7px 0 5px;font:700 clamp(1.9rem,8vw,2.7rem)/1.05 var(--ui-title);text-transform:uppercase;letter-spacing:.065em;color:var(--en);text-shadow:0 3px 2px #0009,0 0 24px color-mix(in srgb,var(--t) 35%,transparent)}
.dfxTierDetail{display:block;font:750 .69rem/1.4 var(--ui-body);color:#b6c9dd;letter-spacing:.04em}
.dfxRarityPips{display:flex;justify-content:center;gap:6px;margin-top:13px}.dfxRarityPips i{width:6px;height:6px;transform:rotate(45deg);border:1px solid #56677b;background:#08121e}.dfxRarityPips i.lit{background:var(--en);border-color:var(--en);box-shadow:0 0 8px color-mix(in srgb,var(--t) 65%,transparent)}
.dfx .dfxSkip{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:14px;z-index:10;border:1px solid #5b6c8366!important;border-radius:10px!important;padding:9px 13px;background:#081524b0;color:#afc0d1;font:800 .75rem/1 var(--ui-body)!important;min-height:40px;cursor:pointer;text-transform:none;letter-spacing:0}
.dfxSkip span{margin-left:5px;color:#e6edf3}.dfxSkip:hover{background:#21334a}
.dfxStage{position:absolute;width:var(--stage);height:calc(var(--stage)*1.18);left:50%;top:49%;transform:translate(-50%,-50%);isolation:isolate;pointer-events:none;z-index:2;transition:opacity .4s,filter .4s}
.dfxStage>*{position:absolute;left:50%;transform:translateX(-50%)}
.floor{width:112%;aspect-ratio:1;top:87%;bottom:auto;transform:translate(-50%,-50%) perspective(900px) rotateX(76deg);opacity:.72;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--t) 35%,transparent))}
.floorSvg{width:100%;height:100%;overflow:visible}.flA{fill:#06101ab3;stroke:var(--t);stroke-width:3}.flB{fill:none;stroke:var(--t);stroke-width:1;opacity:.65}.flM{fill:none;stroke:var(--en);stroke-width:2;stroke-linecap:round;opacity:.75}.flL{stroke:var(--t);stroke-width:1}
.flGlow{bottom:8%;width:90%;height:23%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--t) 36%,transparent),transparent 67%);filter:blur(10px)}
.shadow{bottom:11%;width:44%;height:5%;border-radius:50%;background:#0009;filter:blur(10px)}
.dfxSpire{top:-15%;bottom:17%;width:44%;opacity:.35;background:linear-gradient(transparent,color-mix(in srgb,var(--en) 18%,transparent));clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);filter:blur(14px);transition:opacity .5s}
.coreGlow{top:44%;width:93%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--en) 20%,transparent),transparent 78%);transition:opacity .4s;opacity:.85}
.dfxGate{top:44%;width:107%;aspect-ratio:1;transform:translate(-50%,-50%);opacity:.25}
.gateSvg,.rewardSigil{width:100%;height:100%;overflow:visible;animation:runeCircle 38s linear infinite}
@keyframes runeCircle{to{transform:rotate(360deg)}}
.rgA,.rgB{fill:none;stroke:var(--en);stroke-width:1.2}.rgB{stroke-dasharray:2 10;opacity:.7}.rgM{fill:none;stroke:var(--en);stroke-width:2;stroke-linecap:round}
.dfx[data-tier="rare"] .dfxGate{opacity:.5;transform:translate(-50%,-50%) perspective(900px) rotateX(32deg)}
.dfx[data-tier="epic"] .dfxGate{opacity:.7;transform:translate(-50%,-50%) perspective(900px) rotateX(-32deg)}
.dfx[data-tier="legendary"] .dfxGate{opacity:.88;filter:drop-shadow(0 0 8px #e8b45866)}
.dfx[data-tier="legendary"] .dfxGate::after{content:"";position:absolute;inset:-7%;border:1px solid #edca7755;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(45deg,transparent,#f9d38605,transparent);transform:rotate(45deg)}
.rune{top:44%;width:64%;aspect-ratio:240/300;transform:translate(-50%,-50%);z-index:3;transition:transform .65s cubic-bezier(.2,.7,.3,1),opacity .5s}
.dfx:not(.arrive) .rune{transform:translate(-50%,-90%) scale(.45);opacity:0}.dfx.settled .runeBody{animation:runeLevitate 4.3s ease-in-out infinite}
@keyframes runeLevitate{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(2deg)}}
.runeBody{position:absolute;inset:0;transform-origin:50% 50%}.rsSvg{display:block;width:100%;height:100%;overflow:visible}
.rsBev polygon,.rsSvg>polygon{transition:fill .45s}.rsOut{fill:none;stroke:#020914;stroke-width:3.5;stroke-linejoin:round}.rsRim{fill:none;stroke:#e6f2ff91;stroke-width:1.8}
.rsCore{opacity:.12;transition:opacity .4s}.chG{fill:none;stroke:var(--groove);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.chE{fill:none;stroke:var(--en);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .3s;filter:drop-shadow(0 0 3px var(--en))}.chE.lit{opacity:1}
.gLip{fill:none;stroke:#d8e6f233;stroke-width:12;stroke-linecap:round;stroke-linejoin:round}.gG{fill:none;stroke:var(--groove);stroke-width:12;stroke-linecap:round;stroke-linejoin:round}.gE{fill:none;stroke:var(--en);stroke-width:3.7;stroke-linecap:round;stroke-linejoin:round;opacity:.7;filter:drop-shadow(0 0 5px var(--en))}
.crD,.crL{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:180;stroke-dashoffset:180;transition:stroke-dashoffset .4s}.crD{stroke:#03050b;stroke-width:4}.crL{stroke:var(--en);stroke-width:1.8;filter:drop-shadow(0 0 4px var(--en))}
.dfx[data-cracks="1"] .c0,.dfx[data-cracks="2"] .c0,.dfx[data-cracks="2"] .c1,.dfx[data-cracks="3"] .crD,.dfx[data-cracks="3"] .crL{stroke-dashoffset:0}
.chip{fill:var(--bvL);stroke:#08101a;stroke-width:1.2}
.dfx[data-tier="rare"] .chE,.dfx[data-tier="epic"] .chE,.dfx[data-tier="legendary"] .chE{opacity:.7;stroke-dasharray:15 30;animation:runeChannel 2s linear infinite}
@keyframes runeChannel{to{stroke-dashoffset:-45}}
.dfx[data-tier="epic"] .rsCore,.dfx[data-tier="legendary"] .rsCore{opacity:.3}
.seals{top:44%;width:92%;aspect-ratio:1;transform:translate(-50%,-50%) scale(.88);opacity:0;transition:opacity .6s,transform .6s}.dfx.settled .seals{opacity:1;transform:translate(-50%,-50%) scale(1)}
.sealSvg{width:100%;height:100%;overflow:visible}.slBase{fill:none;stroke:#041122;stroke-width:9}.slD{fill:none;stroke:#041122;stroke-width:8;stroke-linecap:round}.slE{fill:none;stroke:var(--en);stroke-width:2.6;stroke-linecap:round;opacity:.7}.slG{fill:none;stroke:var(--en);stroke-width:2.4;stroke-linecap:round}.seal{transition:transform .4s ease-out,opacity .4s}.seal.broken{transform:translate(calc(var(--dx)*32px),calc(var(--dy)*32px));opacity:0}
.dfxSatellites{top:44%;width:100%;aspect-ratio:1;transform:translate(-50%,-50%);opacity:0;transition:opacity .5s}
.dfxSatellites i{position:absolute;left:50%;top:50%;width:14px;height:29px;margin:-14px -7px;background:linear-gradient(130deg,var(--bvL),var(--m2) 52%,var(--side) 54%);clip-path:polygon(50% 0,100% 45%,52% 100%,0 55%);transform:rotate(var(--a)) translateY(calc(var(--stage)*-.45)) rotate(30deg);filter:drop-shadow(0 0 7px var(--t));animation:runeShard 3s ease-in-out infinite alternate;animation-delay:var(--delay)}
@keyframes runeShard{to{transform:rotate(calc(var(--a) + 9deg)) translateY(calc(var(--stage)*-.49)) rotate(65deg)}}
.dfx[data-tier="epic"] .dfxSatellites,.dfx[data-tier="legendary"] .dfxSatellites{opacity:1}
.dfx[data-tier="legendary"] .dfxSatellites i{height:37px;width:17px}
.dfxTap{position:absolute;z-index:4;left:50%;top:48%;width:var(--stage);height:calc(var(--stage)*.96);transform:translate(-50%,-50%);border:0;border-radius:50%;background:none;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}
.dfxTap:focus-visible{outline:2px solid var(--en);outline-offset:10px;box-shadow:0 0 30px color-mix(in srgb,var(--t) 25%,transparent)}
.dfxGuidance{position:absolute;bottom:calc(29px + env(safe-area-inset-bottom,0px));left:16px;right:16px;z-index:4;text-align:center;pointer-events:none}
.dfx .dfxHint{display:block;position:static;margin:12px 0 6px;opacity:1;color:#f2f6ff;font:900 1.08rem/1.3 var(--ui-body)!important;letter-spacing:0!important;text-shadow:0 2px 5px #0008}
.dfxSubHint{display:block;color:#a2bbd0;font:700 .78rem/1.4 var(--ui-body)}
.dfxQueue{display:inline-block;color:#a6bfcc;font:750 .67rem/1.2 var(--ui-body);padding:6px 12px;margin-top:15px;border:1px solid #7795b030;border-radius:20px;background:#12253866}
.dfxSealCount{display:flex;justify-content:center;gap:9px}.dfxSealCount i{width:21px;height:5px;border:1px solid var(--t);border-radius:3px;background:color-mix(in srgb,var(--t) 25%,transparent);transition:background .25s}.dfxSealCount i.broken{background:var(--en);box-shadow:0 0 10px color-mix(in srgb,var(--t) 35%,transparent)}
/* The runestone stays in a flat layer. Only its inner artwork moves; the
   positioning box and its raster bounds remain stable on mobile compositors. */
/* A tap, a rarity surge, a moment of stillness, then the release. */
.dfx.struck .runeBody{animation:runeStrike .36s cubic-bezier(.2,1.25,.35,1)!important}
@keyframes runeStrike{0%,100%{transform:none}25%{transform:translateY(7px) scale(.9) rotate(-4deg)}60%{transform:translateY(-5px) scale(1.055) rotate(2deg)}}
.dfx.ascend .dfxTier{animation:runeTier .65s cubic-bezier(.16,1,.3,1)}
@keyframes runeTier{0%{transform:translateY(14px) scale(.72);opacity:.2}65%{transform:translateY(-2px) scale(1.09)}}
.dfx.ascend .dfxGate{animation:runeAscend .85s ease-out}.dfx.ascend .dfxSpire{opacity:1}
@keyframes runeAscend{0%{transform:translate(-50%,-50%) scale(.6);opacity:1}70%{transform:translate(-50%,-50%) scale(1.15);opacity:.95}}
.dfx.charging .coreGlow{opacity:1;animation:runeCharge .9s both}.dfx.charging .runeBody{animation:runeTremor .14s linear infinite!important}.dfx.charging .dfxSpire{opacity:1}.dfx.charging .dfxGate{filter:drop-shadow(0 0 10px var(--t));opacity:1}.dfx.charging .rsCore{opacity:.75}.dfx.charging .gE{stroke-width:5;opacity:1}
@keyframes runeCharge{to{transform:translate(-50%,-50%) scale(.8);filter:brightness(2)}}
@keyframes runeTremor{0%,100%{transform:none}25%{transform:translateX(-1px) rotate(-.6deg)}75%{transform:translateX(1px) rotate(.6deg)}}
.dfx.still .dfxStage{filter:brightness(.45)}.dfx.still .runeBody,.dfx.still .gateSvg,.dfx.still .dfxSatellites i{animation-play-state:paused!important}
.dfx.rupture .rune{opacity:0;transform:translate(-50%,-50%) scale(1.6);transition:transform .25s ease-in,opacity .25s;animation:none!important}.dfx.rupture .runeBody{animation:none!important}.dfx.rupture .seals,.dfx.rupture .dfxSatellites{opacity:0;transition:opacity .3s}
.dfxShock{top:44%;width:82%;aspect-ratio:1;transform:translate(-50%,-50%) scale(.35);border-radius:50%;border:2px solid var(--en);opacity:0;box-shadow:0 0 20px var(--t),inset 0 0 16px color-mix(in srgb,var(--en) 30%,transparent)}
.dfx.impact .dfxShock{animation:runeShock .9s cubic-bezier(.1,.5,.3,1) forwards}@keyframes runeShock{0%{opacity:.9}100%{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}
.dfxFlash{position:absolute;inset:0;z-index:6;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 48%,var(--en),transparent 65%)}.dfx.impact .dfxFlash{animation:runeFlash .55s ease-out}@keyframes runeFlash{10%{opacity:.55}100%{opacity:0}}
.dfxSlashes{inset:0;left:0;transform:none;overflow:visible}.dfxSlashes i{position:absolute;width:160%;height:3px;top:44%;left:-30%;background:linear-gradient(90deg,transparent,var(--en),#fff,var(--en),transparent);opacity:0;transform:rotate(-28deg) scaleX(.1)}.dfxSlashes i:nth-child(2){transform:rotate(32deg) scaleX(.1)}.dfxSlashes i:nth-child(3){transform:rotate(90deg) scaleX(.1)}
.dfx[data-tier="epic"].impact .dfxSlashes i,.dfx[data-tier="legendary"].impact .dfxSlashes i{animation:runeSlash .5s ease-out}
@keyframes runeSlash{20%{opacity:1;scale:1.2}90%{scale:2;opacity:0}}
.dfx.unveiling .dfxStage,.dfx.revealed .dfxStage{opacity:0;pointer-events:none}.dfx.revealed .dfxRays{opacity:.48}.dfx.revealed .dfxArch{opacity:.3}
/* Reward area scrolls independently; collecting never falls below the viewport. */
.dfx.revealed .dfxHead{top:calc(22px + env(safe-area-inset-top,0px))}.dfx.revealed .dfxTier{font-size:1.8rem;margin:6px 0 3px}.dfx.revealed .dfxRarityPips{display:none}.dfx.revealed .dfxTierDetail{font-size:.59rem;text-transform:uppercase;letter-spacing:.16em;color:#8fa6b8}
.dfx .dfxOut{position:absolute;inset:calc(117px + env(safe-area-inset-top,0px)) 0 0;z-index:4;display:flex;flex-direction:column;align-items:center;padding:0 18px calc(16px + env(safe-area-inset-bottom,0px));overflow:hidden;gap:0;isolation:isolate}
.dfx .dfxCard{width:min(100%,440px);min-height:0;flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;overflow-y:auto;overflow-x:hidden;padding:10px 12px 18px;scrollbar-width:thin;scrollbar-color:#586875 transparent;text-align:center;overscroll-behavior:contain}
.dfx .dfxCard>*{flex:none}.dfx .dfxCard>:first-child{margin-top:auto}.dfx .dfxCard>:last-child{margin-bottom:auto}
.dfxRewardTag{padding:6px 14px;border:1px solid color-mix(in srgb,var(--t) 55%,transparent);border-radius:6px;background:color-mix(in srgb,var(--t) 12%,#0c1828);color:var(--en);font:900 .65rem/1.2 var(--ui-body);letter-spacing:.14em;text-transform:uppercase}.dfxRewardTag i{font-style:normal;margin-right:4px}
.newVera .dfxRewardTag{color:#2b1e08;background:linear-gradient(#ffe6a9,#d8ad57);border-color:#ffe2a0;box-shadow:0 3px 0 #7d5a20}
.dfxHeroArt{position:relative;width:min(76vw,310px,36dvh);height:min(73vw,296px,35dvh);display:grid;place-items:center;isolation:isolate;margin:7px 0 3px}
.dfxHalo{position:absolute;inset:-8%;z-index:-2;opacity:.6;contain:paint;mask-image:linear-gradient(#000,#000b)}.dfxHalo::before{content:"";position:absolute;inset:9%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--t) 37%,transparent),transparent 70%);filter:blur(12px)}
.dfxHalo .rewardSigil{transform:rotate(-12deg)}
.rewardSigil .rgA{stroke-width:.8}.rewardSigil .rgM{stroke-width:1.5;opacity:.6}
.dfxHeroFrame{position:absolute;inset:2% 8% 3%;border:1px solid color-mix(in srgb,var(--t) 52%,#1d3550);border-radius:26px 26px 35px 35px;transform:perspective(600px) rotateX(6deg);background:linear-gradient(125deg,color-mix(in srgb,var(--t) 11%,#11243a),#071322a8 50%,color-mix(in srgb,var(--t) 16%,#11243a));box-shadow:inset 0 0 0 4px #101e30,0 12px 20px #0006;z-index:-1;overflow:hidden}
.dfxHeroFrame::after{content:"";position:absolute;inset:-80% -40%;background:linear-gradient(110deg,transparent 45%,#fff5 49%,transparent 53%);transform:translateX(-90%);animation:runeFoil 1.6s .3s ease-out both}@keyframes runeFoil{to{transform:translateX(90%)}}
.dfxHeroFrame i{position:absolute;width:21px;height:21px;border:2px solid var(--en);border-right:0;border-bottom:0;left:9px;top:9px;opacity:.85}.dfxHeroFrame i:nth-child(2){left:auto;right:9px;transform:rotate(90deg)}.dfxHeroFrame i:nth-child(3){top:auto;bottom:9px;transform:rotate(-90deg)}.dfxHeroFrame i:nth-child(4){left:auto;right:9px;top:auto;bottom:9px;transform:rotate(180deg)}
.dfx .dfxArt{display:grid;place-items:center;position:relative;width:100%;height:100%;z-index:1;background:none;animation:runeHero 1s cubic-bezier(.13,.95,.26,1) both}
.dfx .dfxArt img{display:block;width:auto;max-width:108%;max-height:105%;object-fit:contain;filter:drop-shadow(0 12px 8px #0009) drop-shadow(0 0 14px color-mix(in srgb,var(--t) 34%,transparent))}
.dfx .dfxArt::before,.dfx .dfxArt::after{display:none}
@keyframes runeHero{0%{opacity:0;transform:translateY(30px) scale(.45);filter:brightness(2)}55%{opacity:1;transform:translateY(-5px) scale(1.09)}100%{transform:none;filter:none}}
.dfxPedestal{position:absolute;bottom:-4%;width:88%;height:9%;border-radius:50%;background:radial-gradient(ellipse,#243346,#0a1425 57%,transparent 60%);border-top:1px solid color-mix(in srgb,var(--t) 65%,transparent);box-shadow:0 -5px 18px color-mix(in srgb,var(--t) 18%,transparent);z-index:0}
.dfx .dfxN{position:absolute;right:0;bottom:-2%;z-index:2;display:flex;align-items:center;gap:5px;padding:9px 13px 9px 8px;border:1px solid var(--t);border-radius:10px;background:linear-gradient(#214b53,#102e3d);box-shadow:0 4px 0 #07131f,0 8px 18px #0009;transform:rotate(-3deg);animation:runeQuantity .45s .2s both}
.dfxN b{font:950 1.55rem/1 var(--ui-body);color:#edfffa}.dfxVr{display:grid;place-items:center}.dfxVr .mi{width:23px;height:25px}@keyframes runeQuantity{from{opacity:0;scale:.4}to{opacity:1;scale:1}}
.dfx .dfxRewardName{display:grid;justify-items:center;gap:7px;margin-top:7px;width:100%}.dfx .dfxCard h2{margin:0;font:700 clamp(1.5rem,7vw,2.2rem)/1.05 var(--ui-title)!important;letter-spacing:.01em!important;color:#fff2d8;text-shadow:0 3px 9px #0008;max-width:100%;overflow-wrap:anywhere}
.dfx .dfxChip{font:850 .6rem/1.2 var(--ui-body);letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border:1px solid #a3b7cd55;border-radius:4px;color:#b9cadd;background:#102238}
.dfx .dfxDescription{font:700 .83rem/1.5 var(--ui-body)!important;color:#c4d6e3!important;margin:2px 0 0;max-width:320px;text-wrap:balance;line-break:strict;word-break:normal;overflow-wrap:normal}
.dfx .dfxSaved{font:700 .65rem/1.35 var(--ui-body);color:#87b7ad;margin-top:0}.dfxSaved i{font-style:normal;margin-right:4px;color:#99e3c8}
.dfx .dfxProgressCard{width:100%;max-width:322px;background:#0e2034e0;border:1px solid #425c706e;border-radius:12px;padding:13px 14px;text-align:left;margin-top:3px}
.dfxProgressLabels{display:flex;align-items:center;justify-content:space-between;gap:8px;font:750 .65rem/1.3 var(--ui-body);color:#a0b9cc;margin-bottom:10px}.dfxProgressLabels b{font-size:.72rem;color:#c2f2dc;white-space:nowrap}
.dfx .dfxProg{display:flex;align-items:center;gap:10px;width:100%}.dfxBar{position:relative;display:block;height:9px;border-radius:4px;background:#050e1c;overflow:hidden;flex:1;box-shadow:inset 0 1px 2px #0008}.dfxBar i{display:block;position:absolute;height:100%;border-radius:4px}.dfxBar .dfxOld{background:#458b96}.dfxBar .dfxGain{background:linear-gradient(90deg,#62c9ac,#ceffce);left:var(--from);width:calc(var(--to) - var(--from));animation:runeGain 1s .15s both;transform-origin:left}.dfxProg.ready .dfxGain{background:linear-gradient(90deg,#d8ad60,#fff1b1)}@keyframes runeGain{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.dfxPT{font:800 .78rem/1 var(--ui-body);color:#7898b4;white-space:nowrap}.dfxPT b{color:#ecfff4}
.dfx .dfxLine{margin:8px 0 0;font:750 .72rem/1.4 var(--ui-body)!important;color:#b8cbdb!important}.dfx .ready+.dfxLine{color:#f6db95!important}
.dfxTreasure{position:relative;width:100%;height:100%;filter:drop-shadow(0 9px 9px #0009)}
.dfxTreasure i{position:absolute;left:var(--cx);top:var(--cy);width:39%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 24%,#fff2b8,#efbd51 50%,#ae6f17 90%);border:2px solid #f8d881;box-shadow:inset 0 0 0 5px #b57b24,inset 0 0 0 7px #ffe3a3,2px 6px 0 #825115;transform:rotate(calc(var(--i)*19deg - 20deg)) translateY(calc(var(--i)*-3px));animation:runeCoin .6s calc(var(--i)*.05s) both}
.dfxTreasure i::after{content:"ᚠ";position:absolute;inset:0;display:grid;place-items:center;font:900 3.2rem/1 serif;color:#976118;text-shadow:0 2px 0 #ffe59d}
@keyframes runeCoin{from{opacity:0;translate:0 -50px;scale:.6}to{opacity:1;translate:0 0;scale:1}}
.dfx .dfxCoinN{font:950 clamp(2rem,10vw,3rem)/1 var(--ui-body);color:#ffe29a;letter-spacing:-.045em}.dfx .coinReward .dfxRewardName h2{font-size:1.2rem!important;color:#c7d5e1}.dfx .coinReward .dfxHeroFrame{border-color:#c9a765}
.dfx .dfxBtns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:none;align-items:stretch;gap:7px;width:min(100%,360px);padding:12px 0 0;margin:0;position:relative;z-index:4;background:linear-gradient(transparent,#07111dda 30%);animation:runeActions .5s .25s both}
.dfx .dfxBtn:not(.quiet),.dfx .dfxBtn.quiet:nth-child(2),.dfx .dfxBtn.quiet:last-child:nth-child(3){grid-column:1/-1}
@keyframes runeActions{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.dfx .dfxBtn{width:100%;min-width:0;min-height:46px;padding:12px 18px!important;border-radius:13px;font:900 .82rem/1.25 var(--ui-body)!important;letter-spacing:0!important;text-transform:none;white-space:normal;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;position:relative}
.dfx .dfxBtn.pri{background:linear-gradient(#ffe9af,#dfb75f);border:1px solid #fff0c3;color:#342307;box-shadow:inset 0 1px 0 #fffbe2,0 3px 0 #715326}
.dfx .dfxBtn.sec{background:#14293b;border:1px solid #5d768765;color:#dce8f3;box-shadow:none;min-height:40px}
.dfxBtn small{font:850 .62rem/1.2 var(--ui-body);padding:3px 6px;background:#48320017;border-radius:4px}.dfxBtn span{font-size:1.1rem}
.dfx .dfxBtn.quiet{font-size:.67rem!important;color:#a9c1d4!important;background:none!important;border:0!important;box-shadow:none!important;min-height:44px!important;padding:5px 10px!important;text-decoration:underline;text-underline-offset:3px}
.dfxBtn:hover{filter:brightness(1.08)}.dfxBtn:active{transform:translateY(2px)}.dfx button:focus-visible{outline:2px solid #d7ffed;outline-offset:4px}
.dfx .dfxBtn:disabled{pointer-events:none;opacity:.7}
body.bigText .dfx .dfxDescription{font-size:.96rem!important}body.bigText .dfx .dfxLine{font-size:.82rem!important}body.bigText .dfx .dfxBtn{font-size:.95rem!important}body.bigText .dfx .dfxBtn.quiet{font-size:.75rem!important}body.bigText .dfx .dfxPT{font-size:.88rem}body.bigText .dfx .dfxSaved{font-size:.75rem}
@media(min-width:700px){.dfx{--stage:min(45vw,480px,60dvh)}.dfxHeroArt{width:min(320px,39dvh);height:min(300px,36dvh)}.dfxArch{left:calc(50% - 450px);right:calc(50% - 450px)}}
@media(max-height:650px){.dfxHead{top:calc(46px + env(safe-area-inset-top,0px))}.dfx .dfxTier{font-size:1.7rem}.dfxRarityPips{margin-top:9px}.dfxGuidance{bottom:20px}.dfx .dfxHint{font-size:.94rem!important;margin-top:10px}.dfxQueue{margin-top:9px}.dfx.revealed .dfxHead{top:16px}.dfx.revealed .dfxTier{font-size:1.5rem}.dfx .dfxOut{top:99px;padding-bottom:12px}.dfx .dfxCard{gap:7px;padding-top:5px;padding-bottom:9px}.dfx .dfxRewardName{margin-top:3px}.dfx .dfxBtns{padding-top:9px;gap:6px}.dfx .dfxBtn.quiet{min-height:29px}}
@media(max-width:359px){.dfx .dfxOut{padding-left:12px;padding-right:12px}.dfx .dfxCard{padding-left:5px;padding-right:5px}.dfx .dfxBtn{padding:11px 10px!important}.dfx .dfxBtn small{font-size:.56rem}.dfxProgressLabels{font-size:.6rem}}
/* Reduced motion retains the composition and state changes without travel or flashes. */
.dfx.low *{animation:none!important;transition:none!important}.dfx.low .dfxParticles,.dfx.low .dfxFlash,.dfx.low .dfxSlashes,.dfx.low .dfxShock{display:none!important}.dfx.low .dfxAurora{opacity:.3}.dfx.low .dfxRays{opacity:.18}.dfx.low .dfxHeroFrame::after{display:none}.dfx.low .rune{animation:none!important}.dfx.low .dfxGain{transform:scaleX(1)}.dfx.low .dfxBtns,.dfx.low .dfxArt{opacity:1;transform:none}

/* Count-up keeps its final footprint. Artwork stays inside its reserved grid cell. */
.dfxN b,.dfxPT b,.dfxCoinN{display:inline-block;font-variant-numeric:tabular-nums;text-align:right}
.dfx .dfxArt{min-width:0;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.dfx.revealed .dfxStage{visibility:hidden}
.dfx.revealed .dfxStage *{animation:none!important;transition:none!important}
/* The floor sits below the stone. Clamp it to the scene on short phone screens. */
.dfx .floor{width:90%}


/* Source: css/moments.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
.mo{position:fixed;inset:0;z-index:75;display:grid;place-items:center;overflow:hidden;opacity:0;transition:opacity .28s;--t:#f2c14e;--ray:rgba(255,210,110,.4);--glow:#fff1c4}
.mo.in{opacity:1}
.mo.out{opacity:0}
.moBg{position:absolute;inset:0;background:radial-gradient(64% 50% at 50% 44%,color-mix(in srgb,var(--t) 26%,#0b1830),#040914 80%)}
.moEnd .moBg{background:radial-gradient(60% 40% at 50% 46%,color-mix(in srgb,var(--t) 30%,rgba(8,16,34,.4)),rgba(4,9,20,.55) 80%)}
.moRays{position:absolute;left:50%;top:40%;width:190vmax;height:190vmax;transform:translate(-50%,-50%);pointer-events:none;background:repeating-conic-gradient(from 0deg,var(--ray) 0 5deg,transparent 5deg 15deg);
  -webkit-mask:radial-gradient(closest-side,#000 6%,transparent 60%);mask:radial-gradient(closest-side,#000 6%,transparent 60%);opacity:.5;animation:moSpin 34s linear infinite}

@keyframes moSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.moMotes{position:absolute;inset:0;pointer-events:none}
.moMote{position:absolute;bottom:-12px;width:var(--sz);height:var(--sz);border-radius:50%;background:var(--glow);box-shadow:0 0 10px 1px var(--glow);opacity:0;animation:moRise var(--d) linear infinite;animation-delay:var(--dl)}

@keyframes moRise{0%{transform:translateY(0);opacity:0}15%{opacity:.85}100%{transform:translateY(-108vh);opacity:0}}
.moBody{position:relative;z-index:2;width:min(440px,100%);max-height:100%;padding:calc(18px + env(safe-area-inset-top,0px)) 20px calc(18px + env(safe-area-inset-bottom,0px));display:grid;justify-items:center;gap:14px;overflow:auto}
.moBtn{font:700 .95rem var(--display);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:13px 34px;cursor:pointer;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s}
.moBtn.go{opacity:1;transform:none}
.moBtn.pri{background:var(--goldbtn,linear-gradient(180deg,#f4dc98,#b98d3a));color:#1c1407;border:1px solid rgba(255,244,214,.65);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 16px rgba(0,0,0,.35)}
.moBtn.sec{background:rgba(22,42,76,.72);color:#eaf4ff;border:1px solid rgba(255,255,255,.16)}
.moBtn:active{transform:scale(.97)}

@keyframes moPop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}

@keyframes moSlam{0%{transform:scale(3);opacity:0;filter:blur(8px)}60%{transform:scale(.92);opacity:1;filter:none}100%{transform:scale(1)}}
.moVs .moBody{height:100%;grid-template-rows:1fr auto 1fr;align-content:stretch;gap:0;overflow:hidden}
.vsSearch{grid-row:1/-1;align-self:center;display:grid;justify-items:center;gap:14px;transition:opacity .18s,transform .18s}
.vsSearch.gone{opacity:0;transform:scale(.9)}
.vsSearch b{font:700 1rem var(--display);letter-spacing:.14em;text-transform:uppercase;color:#eaf4ff}
.vsRing{position:relative;width:170px;height:170px;display:grid;place-items:center}
.vsRing::before,.vsRing::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(160,220,255,.7);border-top-color:transparent;border-bottom-color:transparent;animation:moSpin2 1.6s linear infinite;box-shadow:0 0 18px rgba(90,170,255,.5)}
.vsRing::after{inset:14px;border-color:rgba(232,200,120,.75);border-left-color:transparent;border-right-color:transparent;animation-direction:reverse;animation-duration:2.4s}

@keyframes moSpin2{to{transform:rotate(360deg)}}
.vsAv{width:108px;height:108px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(79,166,255,.35),rgba(8,16,34,.9));overflow:hidden;box-shadow:inset 0 0 0 2px rgba(255,255,255,.2)}
.vsAv img{max-width:92px;max-height:92px}
.vsDots{display:flex;gap:6px}
.vsDots i{width:7px;height:7px;border-radius:50%;background:#bfe0ff;animation:vsDot 1.2s ease-in-out infinite}
.vsDots i:nth-child(2){animation-delay:.2s}
.vsDots i:nth-child(3){animation-delay:.4s}

@keyframes vsDot{50%{opacity:.25;transform:translateY(-4px)}}
.vsCard{position:relative;display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border-radius:22px;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.vsCard.e{grid-row:1;align-self:end;flex-direction:row-reverse;text-align:right;background:linear-gradient(180deg,rgba(255,106,134,.3),rgba(12,20,40,.85));box-shadow:0 0 0 1px rgba(255,106,134,.35),0 10px 30px rgba(0,0,0,.4)}
.vsCard.p{grid-row:3;align-self:start;background:linear-gradient(0deg,rgba(79,166,255,.32),rgba(12,20,40,.85));box-shadow:0 0 0 1px rgba(79,166,255,.4),0 10px 30px rgba(0,0,0,.4)}
.moVs.duel .vsCard.e{animation:vsInTop .45s cubic-bezier(.2,1.2,.4,1) both}
.moVs.duel .vsCard.p{animation:vsInBot .45s cubic-bezier(.2,1.2,.4,1) both}

@keyframes vsInTop{from{transform:translateY(-120%);opacity:0}}
@keyframes vsInBot{from{transform:translateY(120%);opacity:0}}
.vsArt{width:112px;height:112px;flex:0 0 auto;display:grid;place-items:center}
.vsArt img{max-width:112px;max-height:112px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5))}
.vsTxt b{display:block;font:700 1.45rem/1.1 var(--display);letter-spacing:.04em;color:#fff}
.vsTxt small{display:block;margin-top:5px;font:800 .82rem var(--num);color:#cfe0f2}
.vsMid{grid-row:2;display:grid;justify-items:center;gap:8px;padding:10px 0}
.vsWord{font:900 4.2rem/1 var(--display);letter-spacing:.06em;background:linear-gradient(180deg,#fffbe6,#f2cf6a 55%,#b8842a);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 24px rgba(242,207,106,.7)) drop-shadow(0 4px 6px rgba(0,0,0,.6))}
.moVs.slam .vsWord{animation:moSlam .5s cubic-bezier(.2,1.3,.4,1) both}
.moVs.slam .moRays{opacity:1;animation-duration:10s}
.moVs.slam .moBody{animation:moShake .4s}

@keyframes moShake{20%{transform:translate(-6px,4px)}40%{transform:translate(5px,-4px)}60%{transform:translate(-3px,2px)}80%{transform:translate(2px,-1px)}}
.vsPlace{font:700 .8rem var(--display);letter-spacing:.2em;text-transform:uppercase;color:#fff;padding:6px 18px;border-radius:999px;background:rgba(8,16,34,.8);border:1px solid var(--lc);box-shadow:0 0 14px color-mix(in srgb,var(--lc) 50%,transparent);animation:moPop .4s .25s both}
.crownFly{position:fixed;left:0;top:0;z-index:70;width:54px;height:42px;pointer-events:none;filter:drop-shadow(0 0 10px currentColor) drop-shadow(0 4px 4px rgba(0,0,0,.5))}
.crownFly svg{width:100%;height:100%;fill:currentColor}
.crownFly.player{color:#ffd978}
.crownFly.enemy{color:#ff8aa0}
.hud .score.pop{animation:scorePop .5s cubic-bezier(.2,1.6,.4,1)}

@keyframes scorePop{40%{transform:scale(1.25);box-shadow:0 0 0 2px var(--gold),0 0 24px rgba(242,200,106,.7)}}
.moEnd .moRays{opacity:.8;top:46%}
.endWord{font:900 3.8rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(180deg,#fff,var(--glow) 35%,var(--t));-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 26px var(--t)) drop-shadow(0 5px 6px rgba(0,0,0,.7));animation:moSlam .6s cubic-bezier(.2,1.3,.4,1) both}
.resTitle{font:900 3rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(180deg,#fff,var(--glow) 30%,var(--t));-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 20px color-mix(in srgb,var(--t) 70%,transparent)) drop-shadow(0 4px 5px rgba(0,0,0,.6));animation:moSlam .55s cubic-bezier(.2,1.3,.4,1) both}
.resVs{display:grid;grid-template-columns:1fr 18px 1fr;align-items:center;gap:10px;width:100%}
.resSide{display:grid;justify-items:center;gap:6px;padding:12px 8px;border-radius:18px;background:rgba(8,16,34,.66);border:1px solid rgba(255,255,255,.1)}
.resSide small{font:800 .8rem var(--num);color:#cfe0f2}
.resDash{height:2px;background:linear-gradient(90deg,transparent,var(--t),transparent)}
.rcrs{display:flex;gap:4px}
.rcr{width:34px;height:26px;opacity:.25;transition:opacity .2s}
.rcr svg{width:100%;height:100%;fill:#5a6a80}
.rcr.lit{opacity:1;animation:moPop .4s cubic-bezier(.2,1.6,.4,1)}
.rcr.lit.p svg{fill:#6ccaff;filter:drop-shadow(0 0 8px #4fa6ff)}
.rcr.lit.e svg{fill:#ff7a92;filter:drop-shadow(0 0 8px #ff6a86)}
.resTro{display:flex;align-items:center;gap:10px;padding:10px 22px;border-radius:999px;background:linear-gradient(180deg,rgba(20,36,64,.9),rgba(8,16,34,.9));border:1px solid rgba(232,200,120,.6);box-shadow:0 0 22px rgba(232,200,120,.18);opacity:0;transform:scale(.8);transition:opacity .3s,transform .4s cubic-bezier(.2,1.5,.4,1)}
.resTro.go{opacity:1;transform:none}
.resTro i .mi{width:30px;height:30px;filter:drop-shadow(0 0 6px rgba(255,210,120,.6))}
.resTroN{font:900 2rem/1 var(--num);color:#fff}
.resDelta{font:900 1rem var(--num);padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.08)}
.resDelta.up{color:#7ff0b4;background:rgba(70,220,150,.14)}
.resDelta.dn{color:#ff8aa0;background:rgba(255,106,134,.14)}
.resRw{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.rw{display:grid;justify-items:center;gap:2px;min-width:84px;padding:10px 10px 8px;border-radius:16px;background:rgba(8,16,34,.66);border:1px solid rgba(255,255,255,.1);opacity:0;transform:translateY(14px) scale(.85);transition:opacity .25s,transform .35s cubic-bezier(.2,1.5,.4,1)}
.rw.go{opacity:1;transform:none}
.rw.drop{border-color:rgba(176,140,255,.55);box-shadow:0 0 16px rgba(176,140,255,.25)}
.rwI .mi{width:30px;height:30px}
.rwI.xp{font:900 .9rem var(--num);color:#0b1422;background:#46c9b8;border-radius:8px;padding:5px 7px;margin:3px 0}
.rw b{font:900 1.2rem var(--num);color:#fff}
.rw small{font:800 .66rem var(--num);color:#a8bedb;text-transform:uppercase;letter-spacing:.06em}
.resNotes,.resQ{display:grid;gap:6px;width:100%}
.resNote,.rq2{opacity:0;transform:translateY(8px);transition:opacity .25s,transform .3s}
.resNote.go,.rq2.go{opacity:1;transform:none}
.resNote{font:800 .86rem/1.35 var(--num);color:#eaf4ff;padding:9px 12px;border-radius:12px;background:rgba(8,16,34,.7);border:1px solid rgba(255,255,255,.1);border-left:3px solid var(--lc,var(--accent,#46c9b8));display:flex;align-items:center;gap:8px}
.resNote .mi{width:18px;height:18px;flex:0 0 auto}
.rq2{display:grid;grid-template-columns:1fr 70px 44px;align-items:center;gap:8px;font:800 .78rem var(--num);color:#cfe0f2;padding:6px 10px;border-radius:10px;background:rgba(8,16,34,.5)}
.rqBar{height:6px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.rqBar i{display:block;height:100%;background:linear-gradient(90deg,#3fcab8,#5aaee6)}
.rq2 em{font-style:normal;text-align:right;color:#aef5e8}
.rq2.done em{color:#f2cf6a}
.moCel .moBody{align-content:center;min-height:100%}
.celBg{position:fixed;inset:0;z-index:-1;background-size:cover;background-position:center;filter:blur(3px) brightness(.45) saturate(1.2);transform:scale(1.06);animation:celZoom 8s ease-out both}

@keyframes celZoom{from{transform:scale(1.18)}}
.celCard{display:grid;justify-items:center;gap:10px;text-align:center;animation:moPop .6s cubic-bezier(.2,1.35,.4,1) both}
.celKick{font:700 .78rem var(--display);letter-spacing:.3em;text-transform:uppercase;color:var(--glow)}
.celArt{display:grid;place-items:center;min-height:120px}
.celArt img{max-height:210px;max-width:230px;filter:drop-shadow(0 0 22px color-mix(in srgb,var(--t) 70%,transparent)) drop-shadow(0 10px 12px rgba(0,0,0,.5))}
.celArt .mi{width:110px;height:110px;filter:drop-shadow(0 0 20px var(--t))}
.celArt .peCrest{width:200px}
.celTitle,.celCard h2{margin:0;font:700 2rem var(--display);letter-spacing:.06em;background:linear-gradient(180deg,#fff8e4,#e8c878);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.celText,.celCard p{margin:0;font:800 .95rem/1.45 var(--num);color:#dbe8f6;max-width:320px}
.celLvl{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;font:900 4.2rem/1 var(--num);color:#fff;background:radial-gradient(circle at 35% 30%,#7ff0e0,#1f8c80 70%);
  box-shadow:0 0 0 3px rgba(232,200,120,.7),0 0 40px rgba(70,201,184,.6);text-shadow:0 3px 6px rgba(0,0,0,.4)}
.celBtns{display:flex;gap:12px;margin-top:6px}
.celCard .celebArt img{max-height:210px}
/* Road / Tracker / wild-rune unlocks use the same card master and reward
   aperture as Rune Drops. No alternate camera or floating full-body miniature. */
.celebPortrait167{width:min(70vw,290px,40dvh);max-width:100%;aspect-ratio:4/3;box-sizing:border-box;overflow:hidden;border-radius:17px;border:2px solid color-mix(in srgb,var(--rc) 74%,#e9dfce);background:#0e2639;box-shadow:0 5px 0 #030c17,0 12px 24px #0007;margin:7px auto 10px}
.celebPortrait167>.veraPortrait{width:100%;height:100%;border-radius:0;mask-image:none;filter:none;transform:none}
.moCel:has(.celebPortrait167) .celArt:empty{display:none}
@media(max-height:650px){.celebPortrait167{width:min(206px,70vw)}}
.ptbox[hidden]{display:none!important}
.celCrest{display:grid;place-items:center}
.mo [hidden]{display:none!important}
.moVs .moBody>*{grid-column:1;width:100%}
.moVs .vsSearch,.moVs .vsMid{justify-self:center;width:auto}
.celTabIco{display:grid;place-items:center;width:132px;height:132px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--t) 40%,transparent),transparent 70%)}
.celTabIco svg{width:82px;height:82px;fill:#fff;filter:drop-shadow(0 0 14px var(--t))}
.celMed{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(70,201,184,.35),rgba(8,16,34,.95) 70%);
  box-shadow:0 0 0 3px rgba(232,200,120,.75),0 0 0 8px rgba(8,16,34,.6),0 0 40px rgba(70,201,184,.45)}
.celMed .mi{width:70px!important;height:70px!important;filter:drop-shadow(0 0 12px rgba(242,200,106,.6))!important}
.medTab svg{width:66px;height:66px;fill:#f2cf6a;filter:drop-shadow(0 0 12px rgba(242,200,106,.6))}
#scr-road .road{position:relative}
.roadLine{position:absolute;left:31px;width:4px;border-radius:2px;background:rgba(255,255,255,.1);z-index:0;pointer-events:none}
.roadLine i{display:block;width:100%;border-radius:2px;background:linear-gradient(180deg,#e8c878,#f2cf6a);box-shadow:0 0 10px rgba(242,200,106,.6);transition:height .6s ease-out}
#scr-road .rstep{position:relative;z-index:1;padding-left:52px!important}
#scr-road .rstep::before{content:"";position:absolute;left:24px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:#0b1426;border:2px solid rgba(255,255,255,.25);z-index:2}
#scr-road .rstep.got::before{background:#e8c878;border-color:#fff3c4;box-shadow:0 0 8px rgba(242,200,106,.7)}
#scr-road .rstep.ready::before{background:#46c9b8;border-color:#c8fff6;box-shadow:0 0 0 0 rgba(70,201,184,.7);animation:roadNode 1.6s ease-out infinite}

@keyframes roadNode{0%{box-shadow:0 0 0 0 rgba(70,201,184,.7)}100%{box-shadow:0 0 0 12px rgba(70,201,184,0)}}
#scr-road .rstep .rt{min-width:58px}
#scr-road .rleague.place{position:relative;z-index:1}
#elBar.full{animation:elFull 1.1s ease-in-out infinite}

@keyframes elFull{50%{box-shadow:0 0 0 1px rgba(224,122,255,.9),0 0 22px rgba(200,110,255,.8)}}
#elBar.full .fill{filter:brightness(1.25)}
.hand .card.tutLock{filter:grayscale(1) brightness(.55);pointer-events:none;box-shadow:none!important}
.hand .card.tutLock::after{content:"";position:absolute;right:6px;top:6px;width:16px;height:16px;z-index:5;opacity:.9;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 11V8a5 5 0 0 1 10 0v3' stroke='%23fff' stroke-width='2.4' fill='none'/%3E%3Crect x='5' y='11' width='14' height='10' rx='2' fill='%23fff'/%3E%3C/svg%3E") center/contain no-repeat}
#intro .inShade{transition:opacity .9s}
#intro:not(.ignite) .inShade{opacity:1;background:radial-gradient(70% 55% at 50% 60%,rgba(4,9,20,.55),rgba(2,5,12,.92))!important}
#intro .inRays{position:absolute;left:50%;top:44%;width:180vmax;height:180vmax;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity 1s;
  background:repeating-conic-gradient(from 0deg,rgba(170,230,255,.2) 0 5deg,transparent 5deg 15deg);-webkit-mask:radial-gradient(closest-side,#000 6%,transparent 58%);mask:radial-gradient(closest-side,#000 6%,transparent 58%);animation:moSpin 44s linear infinite}
#intro.ignite .inRays{opacity:.75}
#intro .inMotes{position:absolute;inset:0;pointer-events:none}
#intro .inMotes i{position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;background:#dff8ff;box-shadow:0 0 8px 1px rgba(150,230,255,.9);opacity:0;animation:moRise var(--d) linear infinite;animation-delay:var(--dl)}
#intro .inPortal{position:absolute;left:50%;top:66%;width:min(86vw,440px);aspect-ratio:1;transform:translate(-50%,-50%) scaleY(.34);pointer-events:none}
#intro .ipRing{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(200,250,255,.9);box-shadow:0 0 30px rgba(90,230,210,.9),inset 0 0 40px rgba(90,200,255,.6);
  background:radial-gradient(closest-side,rgba(180,255,245,.55),rgba(79,184,255,.2) 50%,transparent 72%);opacity:0;transform:scale(.4);transition:opacity .35s,transform .55s cubic-bezier(.2,1.4,.4,1)}
#intro.ignite .ipRing{opacity:1;transform:scale(1);animation:pRing 3s ease-in-out .6s infinite}
#intro .ipBeam,#intro .ipCore{position:absolute;left:50%;bottom:34%;transform:translateX(-50%) scaleY(0);transform-origin:50% 100%;pointer-events:none;mix-blend-mode:screen;transition:transform .6s cubic-bezier(.2,.9,.3,1)}
#intro .ipBeam{width:min(30vw,170px);height:62vh;background:linear-gradient(0deg,rgba(150,255,240,.9),rgba(90,200,255,.5) 40%,rgba(160,130,255,.25) 80%,transparent);filter:blur(10px);
  -webkit-mask:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);mask:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent)}
#intro .ipCore{width:min(5vw,26px);height:58vh;background:linear-gradient(0deg,#fff,rgba(210,255,250,.8) 40%,transparent);filter:blur(3px)}
#intro.ignite .ipBeam,#intro.ignite .ipCore{transform:translateX(-50%) scaleY(1)}
#intro .inFlash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 22%,#fff,rgba(220,245,255,.6) 30%,transparent 70%);opacity:0}
#intro.slam .inFlash{animation:inFlash .7s ease-out}

@keyframes inFlash{0%{opacity:.95}100%{opacity:0}}
#intro.slam .inTitle{animation:moSlam .6s cubic-bezier(.2,1.3,.4,1) both!important}
#intro.slam .inVeras{animation:moShake .45s}
#intro .inTap{padding:12px 30px!important;border-radius:999px!important;background:rgba(8,16,34,.6)!important;border:1px solid rgba(232,200,120,.6)!important;box-shadow:0 0 24px rgba(90,200,255,.35)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.wRing{display:grid;place-items:center;width:132px;height:132px;margin:0 auto 4px;border-radius:50%;background:radial-gradient(circle,rgba(79,166,255,.3),rgba(8,16,34,.85) 70%);box-shadow:0 0 0 2px rgba(232,200,120,.6),0 0 30px rgba(90,200,255,.45)}
.wRing .wArt{max-height:112px!important;max-width:120px!important;margin:0!important}
#intro .inTap{white-space:nowrap}
.hand,.hand *,#next,#next *{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.bar .tap,.bar .valk{overflow:visible!important}
.abCap{position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);z-index:3;min-width:22px;padding:2px 7px;border-radius:999px;white-space:nowrap;pointer-events:none;
  font:900 .66rem/1.2 var(--num);color:#fff;text-align:center;background:radial-gradient(circle at 35% 30%,#efe6ff,#a88cff 45%,#5a3ad0);border:1px solid rgba(255,255,255,.6);box-shadow:0 2px 6px rgba(0,0,0,.45)}
.abCap.cd{background:rgba(8,16,34,.92);border-color:rgba(255,255,255,.3);color:#cfe0f2}
.valk .abCap{background:rgba(8,16,34,.92);border-color:rgba(232,200,120,.6);color:#f2dea0}
.valk .abCap.rdy{background:var(--goldbtn,linear-gradient(180deg,#f4dc98,#b98d3a));color:#1c1407}
.abCap:empty{display:none}
.qrow{display:flex;align-items:center;gap:8px;margin-top:6px}
.qrow .qbar{flex:1;margin:0!important}
.qcnt{font:900 .74rem var(--num);color:#aef5e8;white-space:nowrap}
.qcnt.done{color:#f2cf6a}
#edgeAlarm{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:0;box-shadow:inset 0 0 0 4px rgba(255,70,95,.85),inset 0 0 70px rgba(255,40,70,.6)}
#edgeAlarm.on{animation:edgeAlarm 1.8s ease-out}

@keyframes edgeAlarm{0%,40%,80%{opacity:1}20%,60%,100%{opacity:0}}
.dfx.fast .dfxGemWrap.fall{transition-duration:.32s}
.oaList{display:grid;gap:6px;width:min(320px,86vw);max-height:46vh;overflow:auto;margin-top:6px}
.oaRow{display:grid;grid-template-columns:auto 40px 1fr;align-items:center;gap:8px;padding:6px 10px;border-radius:12px;background:rgba(8,16,34,.7);border:1px solid color-mix(in srgb,var(--rc,#fff) 50%,transparent);text-align:left}
.oaRow img,.oaRow .mi{width:36px;height:36px;object-fit:contain}
.oaRow b{font:800 .84rem var(--num);color:#eaf4ff}
.oaTier{font:900 .6rem var(--num);letter-spacing:.08em;text-transform:uppercase;color:var(--rc,#fff)}
.deckPill{grid-template-rows:auto auto}
.dpCards{grid-column:1/-1;display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:2px 6px 4px}
.dpc{aspect-ratio:1;border-radius:9px;display:grid;place-items:center;background:rgba(4,10,24,.7);border:1px solid color-mix(in srgb,var(--rc,#fff) 70%,transparent);overflow:hidden}
.dpc img{width:88%;height:88%;object-fit:contain}

/* FL-010: long names on narrow screens */
@media (max-width:380px){.meTxt b{max-width:86px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.cur{padding:0 8px 0 4px!important}
.cur b{font-size:.88rem}}
body.fxLow .portal .pSpiral,body.fxLow .portal .pVortex,body.fxLow .pSpark,body.fxLow .ffly,body.fxLow .moMotes,body.fxLow .dfxMotes,body.fxLow .pCrown::before{display:none!important}
body.fxLow .moRays,body.fxLow .dfxRays,body.fxLow .pRunes{animation:none!important}
html:has(body.bigText){font-size:112%}
body.bigText .cnm,body.bigText .hand .card .nm{font-size:.84rem!important}
.hSide{bottom:222px!important}

@media (max-height:700px){.hSide{bottom:200px!important}}
.rkCard{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:14px 16px;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--lc) 28%,rgba(12,24,46,.9)),rgba(8,16,34,.9));
  border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 1px rgba(232,200,120,.35),0 10px 26px rgba(0,0,0,.35);margin-bottom:8px}
.rkBig{display:grid;justify-items:center;min-width:84px}
.rkBig small{font:700 .66rem var(--display);letter-spacing:.14em;text-transform:uppercase;color:#cfe0f2}
.rkBig b{font:900 2.2rem/1 var(--num);background:linear-gradient(180deg,#fff8e4,#e8c878);-webkit-background-clip:text;background-clip:text;color:transparent}
.rkInfo{display:grid;gap:3px}
.rkInfo>b{font:700 1.1rem var(--display);letter-spacing:.04em;color:#fff}
.rkInfo span{display:flex;align-items:center;gap:4px;font:800 .8rem var(--num);color:#cfe0f2}
.rkInfo span .mi{width:16px;height:16px}
.rkInfo em{font:800 .76rem/1.3 var(--num);font-style:normal;color:#aef5e8}
.rkInfo em b{color:#fff}
.rkNote{margin:2px 0 8px;text-align:center;font:700 .72rem var(--num);color:#8fa8c4}
.rkList{display:grid;gap:5px;padding-bottom:12px}
.rkRow{display:grid;grid-template-columns:34px 40px 1fr auto;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:14px;background:rgba(10,20,40,.66);border:1px solid rgba(255,255,255,.07)}
.rkRow.me{background:linear-gradient(90deg,rgba(70,201,184,.28),rgba(10,20,40,.8));border-color:rgba(70,201,184,.8);box-shadow:0 0 16px rgba(70,201,184,.3)}
.rkPos{font:900 .9rem var(--num);color:#cfe0f2;text-align:center}
.rkRow.top .rkPos{width:28px;height:28px;border-radius:50%;justify-self:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 2px 6px rgba(0,0,0,.4)}
.rkRow.t1 .rkPos{background:radial-gradient(circle at 35% 30%,#fff3c4,#e8b84a 60%,#9a6a14)}
.rkRow.t2 .rkPos{background:radial-gradient(circle at 35% 30%,#fff,#c6ccd4 60%,#7a828d)}
.rkRow.t3 .rkPos{background:radial-gradient(circle at 35% 30%,#ffe0c4,#d0884a 60%,#7a4a1c)}
.rkRow.top{border-color:rgba(232,200,120,.35)}
.rkAv{width:40px;height:40px;display:grid;place-items:center}
.rkAv img{max-width:40px;max-height:40px;object-fit:contain}
.rkMono{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font:900 .9rem var(--num);font-style:normal;color:#fff;background:color-mix(in srgb,var(--lc) 45%,rgba(8,16,34,.9));border:1px solid color-mix(in srgb,var(--lc) 70%,transparent)}
.rkName{display:grid;gap:1px;min-width:0}
.rkName b{font:900 .88rem var(--num);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rkName small{display:flex;align-items:center;gap:5px;font:700 .68rem var(--num);color:#9fb4d0;white-space:nowrap;overflow:hidden}
.rkDot{width:8px;height:8px;border-radius:50%;background:var(--lc);flex:0 0 auto}
.rkTro{display:flex;align-items:center;gap:3px;font:900 .9rem var(--num);color:#fff}
.rkTro .mi{width:16px;height:16px}
.peRank{font:800 .72rem var(--num);color:#aef5e8;text-shadow:0 1px 3px rgba(0,0,0,.8);margin-top:2px}
.resRank{width:100%;display:grid;gap:6px;padding:10px 12px;border-radius:18px;background:rgba(8,16,34,.72);border:1px solid rgba(70,201,184,.35);opacity:0;transform:translateY(10px);transition:opacity .3s,transform .35s}
.resRank.go{opacity:1;transform:none}
.rkHead{display:flex;align-items:center;gap:10px}
.rkHead small{flex:1;font:700 .7rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:#cfe0f2}
.rkN{font:900 1.5rem/1 var(--num);color:#fff}
.rkDelta{font:900 .85rem var(--num);padding:3px 9px;border-radius:999px}
.rkDelta.up{color:#7ff0b4;background:rgba(70,220,150,.15)}
.rkDelta.dn{color:#ff8aa0;background:rgba(255,106,134,.15)}
.rkRows{display:grid;gap:4px;overflow:hidden}
.rkR{display:grid;grid-template-columns:34px 30px 1fr auto;align-items:center;gap:8px;padding:4px 10px;border-radius:10px;background:rgba(255,255,255,.04)}
.rkR span{font:900 .8rem var(--num);color:#cfe0f2;text-align:center}
.rkR i img{max-width:28px;max-height:28px}
/* Same circular identity and equipped frame as the main leaderboard, inside
   the existing 30px result column. Keep frame overhang outside the image clip. */
.rkR>.resultPortrait167{position:relative;isolation:isolate;width:30px;height:30px;padding:1px;box-sizing:border-box;border:1px solid #7c9cae;border-radius:50%;background:#0b1c2e;overflow:visible}
.rkR>.resultPortrait167>.veraPortrait{width:100%;height:100%;border-radius:50%;mask-image:none;filter:none}
.rkR>.resultPortrait167>.rkMono{width:100%;height:100%;border:0;font:800 .8rem/1 var(--ui-body,system-ui);background:linear-gradient(135deg,color-mix(in srgb,var(--lc) 35%,#213348),#182a40);color:#f4e6ce}
.rkR b{font:800 .82rem var(--num);color:#eaf4ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rkR em{display:flex;align-items:center;gap:3px;font:900 .8rem var(--num);font-style:normal;color:#fff}
.rkR em .mi{width:14px;height:14px}
.rkR.me{background:linear-gradient(90deg,rgba(70,201,184,.3),rgba(255,255,255,.04));box-shadow:inset 0 0 0 1px rgba(70,201,184,.7)}
.resRank.go .rkRows.climb .rkR.me{animation:rkClimb .9s cubic-bezier(.2,1,.3,1) both}
.resRank.go .rkRows.drop .rkR.me{animation:rkDrop .9s cubic-bezier(.2,1,.3,1) both}

@keyframes rkClimb{from{transform:translateY(150%)}}
@keyframes rkDrop{from{transform:translateY(-150%)}}
.rkNext{font:800 .74rem var(--num);color:#aef5e8}
.rkNext b{color:#fff}
.tLeft{font-size:.62em;font-weight:500;font-style:normal;opacity:.72;margin-left:2px}
details.resMore{margin-top:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:6px}
details.resMore>summary{cursor:pointer;font-weight:700;padding:8px 2px;list-style-position:inside;font-size:.92rem;opacity:.9}
.tutRes .resTro{display:none}


/* Source: css/polish.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
#shortWin{display:none}

@media (max-height:559px) and (min-aspect-ratio:1/1) and (pointer:fine){body.in-battle #shortWin{display:grid;position:fixed;inset:0;z-index:90;place-items:center;text-align:center;padding:24px;background:rgba(4,9,20,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
#shortWin div{display:grid;gap:8px;max-width:360px}
#shortWin b{font:700 1.3rem var(--display);letter-spacing:.06em;color:#fff8e4}
#shortWin span{font:700 .92rem/1.4 var(--num);color:#cfe0f2}}
.abCap{display:grid!important;justify-items:center;gap:1px;min-width:0!important;max-width:74px;padding:3px 8px 3px!important;bottom:-22px!important;border-radius:10px!important;
  background:rgba(8,16,34,.94)!important;border:1px solid rgba(255,255,255,.22)!important;color:#eaf4ff!important}
.abCap b{font:900 .56rem/1 var(--num);letter-spacing:.04em;text-transform:uppercase;color:#a8bedb}
.abCap i{font:900 .72rem/1.05 var(--num);font-style:normal;color:#fff;white-space:nowrap}
#tapBtn .abCap:not(.cd) i{color:#c8b4ff}
#tapBtn .abCap.cd i{color:#a8bedb}
.valk .abCap.rdy{background:var(--goldbtn)!important;border-color:rgba(255,244,214,.7)!important}
.valk .abCap.rdy b,.valk .abCap.rdy i{color:#1c1407}
.mbox{position:relative}
.mClose{position:absolute;top:10px;right:10px;z-index:5;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  font:400 1.6rem/1 var(--num);color:#cfe0f2;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.mClose:hover{background:rgba(255,255,255,.12)}
.mClose:active{transform:scale(.94)}

@media (max-width:699px){.mbox::after{content:"";position:absolute;top:7px;left:50%;width:42px;height:4px;margin-left:-21px;border-radius:2px;background:rgba(255,255,255,.22)}}
.sheet .shHead{padding-right:44px}
.avs{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(48px,1fr))!important;gap:8px!important;overflow:visible!important}
.av{min-width:0!important;width:100%!important;height:auto!important;aspect-ratio:1;padding:4px!important}
.av img{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain}
button.cur,.cur{height:40px!important;padding:0 12px 0 6px!important;gap:6px!important}
.cur .mi{position:static!important;transform:none!important;margin:0!important;width:24px!important;height:24px!important;flex:0 0 auto}
.gear{width:44px!important;height:44px!important}
.meTxt{min-width:0}
.meTxt b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
#meta.home #curTro{display:none}

@media (max-width:380px){button.cur,.cur{padding:0 9px 0 5px!important}
.cur b{font-size:.86rem!important}}
.peNext{padding:5px 12px;border-radius:999px;background:rgba(6,12,26,.72);border:1px solid rgba(255,255,255,.1)}
.peNext b{color:#f2cf6a}
.peTro{font-size:1.1rem!important;padding:4px 12px 4px 9px!important}
#hQuest small{color:#f2cf6a!important}
#scr-road .rstep{display:grid!important;grid-template-columns:62px minmax(0,1fr) auto!important;align-items:center;gap:8px!important}
#scr-road .rrw{display:grid!important;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px;min-width:0}
#scr-road .rrw>span:last-child{min-width:0}
#scr-road .rrw b{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.15;font-size:.9rem!important}
#scr-road .rrw small{display:block;white-space:normal;line-height:1.2}
#scr-road .rrw .rart,#scr-road .rrw img{width:40px!important;height:40px!important;object-fit:contain}

@media (max-width:420px){#scr-road .rstep .btn.sm{padding:7px 11px!important;font-size:.72rem!important}}
#scr-road .rstep.ready:not(.first){box-shadow:0 0 0 1px rgba(232,200,120,.35)!important}
#scr-road .rstep.first{box-shadow:0 0 0 2px rgba(242,207,106,.95),0 0 22px rgba(242,207,106,.35)!important}
#scr-road .rstep.ready:not(.first) .btn.primary{filter:saturate(.75) brightness(.92)}
.roadYou{position:relative;z-index:2;display:flex;align-items:center;gap:10px;margin:6px 0 8px 12px;padding:6px 12px 6px 8px;border-radius:999px;width:max-content;
  background:rgba(70,201,184,.16);border:1px solid rgba(70,201,184,.7);box-shadow:0 0 16px rgba(70,201,184,.3)}
.roadYou span{display:flex;align-items:center;gap:4px;font:900 .9rem var(--num);color:#fff}
.roadYou span .mi{width:18px;height:18px}
.roadYou b{font:700 .72rem var(--display);letter-spacing:.14em;text-transform:uppercase;color:#aef5e8}
.quest.claimed{opacity:1!important}
.quest.claimed .qtxt b{color:#cfe0f2}
.quest.claimed .qbar,.quest.claimed .qrw{opacity:.5}
.qClaimed{display:inline-flex;align-items:center;gap:4px;font:900 .74rem var(--num);color:#8fa8c8;white-space:nowrap}
.qClaimed .mi{width:14px;height:14px}
.qcnt{font-size:.8rem!important}
.diRows{display:grid;gap:4px;min-width:0}
.diRow{font:700 .82rem/1.3 var(--num);color:#cfe0f2}
.diRow b{color:#fff}
.dropInfo .pity{display:none}
.dropInfo>.btn{align-self:center}
.offer .oTitle{font:900 .82rem/1.2 var(--num)!important;color:#eaf4ff}
.offer .btn{white-space:nowrap}
.sheet .shHead{align-items:center}
.sheet .shArt{width:112px!important;height:112px!important;max-width:none!important;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.5)) drop-shadow(0 0 18px rgba(var(--dc,120,200,255),.25))}
.shCostTxt{display:grid;gap:2px;margin:10px 0 2px;padding:10px 12px;border-radius:12px;background:rgba(6,14,30,.55);font:800 .86rem/1.3 var(--num);color:#eaf4ff}
.shCostTxt b{color:#f2cf6a}
.shCostTxt small{font:700 .74rem var(--num);color:#8fa8c8}
.shStats em{font-style:normal;font:800 .7rem/1.2 var(--num)!important;color:#aef5e8!important}
.shCtr>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ctrV{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 2px;border-radius:999px;background:rgba(255,255,255,.06);font:800 .78rem var(--num);color:#eaf4ff}
.ctrV img{width:22px;height:22px;object-fit:contain}
.deckTitle{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:10px 2px 6px}
.deckTitle b{font:700 .9rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:#f2cf6a}
.deckTitle span{font:800 .78rem var(--num);color:#a8bedb}
.collHead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:18px 2px 8px}
.collHead h3{margin:0!important}
.fchips{display:flex;flex-wrap:wrap;gap:6px}
.fchip{font:800 .74rem var(--num);color:#cfe0f2;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);cursor:pointer;min-height:32px}
.fchip.on{background:rgba(70,201,184,.18);border-color:rgba(70,201,184,.75);color:#fff}
.ctile{min-height:118px!important;padding:4px 4px 22px!important}
.ctile .cart{height:70px!important;overflow:visible}
.ctile .cart img{max-height:66px!important;transform:scale(var(--as,1));transform-origin:50% 92%}
.hand .card .art{transform:scale(var(--as,1));transform-origin:50% 92%}
.ctile .crar{height:2px!important;width:22%!important;opacity:.85}
.ctile .cup{width:18px!important;height:18px!important;font-size:.62rem!important}
.ctile .vcBg{box-shadow:inset 0 0 0 1px rgba(var(--dc),.45),inset 0 -20px 30px rgba(4,10,24,.55)!important}

@media (min-width:1000px){#scr-deck{max-width:960px!important;margin-left:auto;margin-right:auto}
#meta.sub .mwrap:has(#scr-deck:not([hidden])){max-width:1000px!important}
#scr-deck .coll,#scr-deck .mydeck{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))!important}}
.mbox .tgl{background:transparent!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;border-radius:0!important;box-shadow:none!important;padding:12px 4px!important}
.mbox .btn.danger{background:transparent!important;color:#ff9aac!important;border:1px solid rgba(255,106,134,.45)!important;box-shadow:none!important;margin-top:18px!important}
.quest,.rstep.got,.rstep.locked,.shStats div,.pstats div,.rq{box-shadow:none!important}
.quest.done{box-shadow:0 0 0 1px rgba(70,201,184,.55)!important}
.mo.calm .moRays{opacity:.1!important;animation:none!important}
.mo.calm .moMotes{display:none}
.mo.calm .moBg{filter:saturate(.55)}
.dfxPips{position:absolute;bottom:calc(8% + env(safe-area-inset-bottom,0px));left:0;right:0;display:flex;justify-content:center;gap:8px;pointer-events:none}
.dfxPips i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);transition:background .2s,box-shadow .2s}
.dfxPips i.on{background:var(--t);box-shadow:0 0 10px var(--t)}
.dfx.revealed .dfxPips{display:none}
.cBub.low{top:auto!important;bottom:calc(218px + env(safe-area-inset-bottom,0px))!important}
:root,:root:not([data-theme="light"]){color-scheme:dark;
  --bg:#061116; --bg-top:#0D2228; --bg-deep:#02080B; --panel:#0B181C; --panel-2:#102126; --ink:#F1E8D6; --muted:#98A6A3;
  --line:rgba(167,128,76,.34); --line-strong:rgba(196,152,96,.72); --lift:0 14px 36px rgba(0,0,0,.5)}
.mbox .sheet{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;max-width:none}
.mbox .sheet::before,.mbox .sheet::after{display:none!important}
.mbox .sheet h2{margin-top:2px}
.offer .btn{font-size:.72rem!important;padding:6px 8px!important;letter-spacing:.02em!important}
.offer .btn .mi{width:13px!important;height:13px!important;margin-right:2px!important}
.dinfo:empty{display:none}
.oPrice{display:inline-flex;align-items:center;gap:4px;font:900 .8rem var(--num);color:#f2cf6a}
.oPrice .mi{width:15px;height:15px}
.offer .btn{min-width:64px}
.bar .tap,.bar .valk{top:-90px!important}

@media (min-width:641px) and (max-width:1024px) and (orientation:portrait){.bar .tap,.bar .valk{top:-80px!important}}
.abCap{max-width:62px!important;bottom:-26px!important;padding:2px 6px!important}
.abCap b{font-size:.5rem!important}
.abCap i{font-size:.66rem!important}
.valk .abCap{left:auto!important;right:-3px!important;transform:none!important}
.me{flex:1 1 0!important;min-width:0!important;overflow:hidden}
.meTxt{grid-template-columns:minmax(0,1fr)!important;min-width:0!important;overflow:hidden}
.meTxt b{max-width:100%!important}
.xpbar{width:100%!important;max-width:92px!important;min-width:0!important}
#mtop .cur,#mtop .gear{flex:0 0 auto}

@media (max-width:380px){.meTxt b{max-width:100%!important}
.meAv img,.meAv .ph{width:40px!important;height:40px!important}}
.sheet .shHead{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;min-width:0}
.sheet .shHead>div{min-width:0}
.sheet .shHead h2{overflow-wrap:anywhere;font-size:clamp(1.25rem,6vw,1.9rem)!important;line-height:1.05}
.sheet .shHead .shRole{overflow-wrap:anywhere}
.sheet .shCost{flex:0 0 auto!important;width:40px!important;min-width:40px!important;height:44px!important;min-height:44px!important;display:grid!important;place-items:center}

@media (max-width:380px){.sheet .shArt{width:86px!important;height:86px!important}}
body.bigText .sheet .shArt{width:86px!important;height:86px!important}
.mbox .shBtns{position:sticky;bottom:-1px;z-index:3;margin:12px -4px 0!important;padding:12px 4px calc(6px + env(safe-area-inset-bottom,0px))!important;
  background:linear-gradient(180deg,rgba(10,20,40,0),rgba(10,20,40,.96) 30%)}
.rkCard{position:sticky;top:0;z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.rkAi{display:block;margin-top:4px;font:700 .72rem var(--num);color:#8fa8c8}
.rkNote{display:none}

/* Trophy Road on narrow screens and with Larger text: the action sits below the reward */
@media (max-width:380px){#scr-road .rstep{grid-template-columns:56px minmax(0,1fr)!important}
#scr-road .rstep .rt{grid-row:span 2}
#scr-road .rstep>.btn,#scr-road .rstep>.rst{grid-column:2;justify-self:start}}
body.bigText #scr-road .rstep{grid-template-columns:56px minmax(0,1fr)!important}
body.bigText #scr-road .rstep .rt{grid-row:span 2}
body.bigText #scr-road .rstep>.btn,body.bigText #scr-road .rstep>.rst{grid-column:2;justify-self:start}

/* bottom sheets end at the screen edge, so the sticky action footer is always fully visible */
@media (max-width:699px){#mmodal .mbox{margin-bottom:0!important;max-height:calc(100dvh - 24px)!important}}
.bar .tap>span:not(.ico):not(.abCap){display:none!important}
.sheet .shHead{position:relative;grid-template-columns:auto minmax(0,1fr)!important}
.sheet .shHead .shCost{position:absolute!important;left:-4px;top:-4px;z-index:2}
.sheet .shHead h2{overflow-wrap:normal!important;word-break:normal!important}
.sheet .shHead h2.long{font-size:clamp(1.1rem,5.2vw,1.5rem)!important;letter-spacing:.02em!important}
.bar .tap,.bar .valk{width:50px!important;height:50px!important;right:8px!important}
.bar .valk{top:-82px!important}
.bar .tap{top:-166px!important}

@media (min-width:641px) and (max-width:1024px) and (orientation:portrait){.bar .valk{top:-80px!important}
.bar .tap{top:-160px!important}}
.abCap{left:auto!important;right:-3px!important;transform:none!important}
body.in-battle .hand{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,.58fr)!important;gap:6px!important;align-items:stretch}
body.in-battle .hand .next{grid-column:auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;
  padding:4px 2px!important;min-height:0!important;font:700 .56rem/1 var(--display)!important;letter-spacing:.08em;white-space:normal!important;text-align:center;border-radius:12px!important}
body.in-battle .hand .next b{display:none!important}
body.in-battle .hand .next .nxCard{width:34px!important;height:40px!important;margin:0!important;border-radius:8px!important}
body.in-battle .hand .next .nxCard img{height:34px!important;max-width:32px!important}
body.in-battle .hand .card{aspect-ratio:5/6!important;height:auto!important;padding:5px 4px 22px!important}
body.in-battle .hand .card .art{max-height:52px!important;margin:6px auto 2px!important}
body.in-battle .hand .card .nm{font-size:.72rem!important}
.dock{padding-top:4px!important;padding-bottom:max(6px,env(safe-area-inset-bottom,0px))!important;gap:6px!important}
.hud{padding-top:max(4px,env(safe-area-inset-top,0px))!important}
.hud .score,.hud .clock{padding-top:3px!important;padding-bottom:3px!important;min-height:0!important}
.clock b{font-size:1.4rem!important;line-height:1.05!important}
.hud .score b{font-size:1.25rem!important;line-height:1.05!important}
.clock span,.score{font-size:.58rem!important}
.abCap{max-width:92px!important;bottom:-30px!important;padding:3px 8px!important}
.abCap b{font-size:.62rem!important;letter-spacing:.06em}
.abCap i{font-size:.84rem!important}
#tapBtn .abCap[data-st="ready"] i{color:#d6c6ff!important}
#tapBtn .abCap[data-st="need"]{border-color:rgba(255,170,90,.7)!important}
#tapBtn .abCap[data-st="need"] i{color:#ffc07a!important}
#tapBtn .abCap[data-st="cd"] i,#tapBtn .abCap[data-st="play"] i{color:#a8bedb!important}
.bar .valk{top:-86px!important}
.bar .tap{top:-176px!important}
body.bigText .cnm{white-space:normal!important;overflow:hidden;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.08!important;text-overflow:clip!important}

@media (max-width:420px){body.bigText #scr-deck .coll,body.bigText #scr-deck .mydeck{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
body.bigText .ctile{min-height:132px!important}
#scr-deck .dinfo:has(#swapCancel){position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin:4px 0 10px;border-radius:14px;
  background:rgba(8,18,38,.95);border:1px solid rgba(70,201,184,.7);box-shadow:0 8px 20px rgba(0,0,0,.45);font:800 .86rem/1.3 var(--num);color:#eaf4ff}
#scr-deck .ctile.swap{box-shadow:0 0 0 2px #46c9b8,0 0 16px rgba(70,201,184,.55)!important;animation:swapPulse 1.4s ease-in-out infinite}

@keyframes swapPulse{50%{box-shadow:0 0 0 2px #46c9b8,0 0 26px rgba(70,201,184,.85)}}
.cInfo{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:10px 0 4px;padding:10px 12px;border-radius:12px;background:rgba(6,14,30,.55)}
.cInfo>div{display:grid;gap:1px;min-width:0}
.cInfo .cGroup{grid-column:1/-1}
.cInfo small{font:800 .64rem var(--num);letter-spacing:.06em;text-transform:uppercase;color:#8fa8c8}
.cInfo span{font:800 .86rem/1.3 var(--num);color:#eaf4ff}
.cGloss{margin:4px 0 0!important;font:700 .78rem/1.4 var(--num)!important;color:#aef5e8!important}
.mbox .shBtns{background:rgba(10,20,40,.99)!important;border-top:1px solid rgba(255,255,255,.1)}
.resNote.debrief{border-left-width:4px;background:rgba(10,28,40,.85);font-size:.9rem}
.resNote.debrief b{color:#aef5e8;margin-right:6px;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.oHave{font:800 .7rem var(--num);color:#8fa8c8}
#kingAlert{position:fixed;left:50%;bottom:calc(215px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:61;pointer-events:none;opacity:0;
  padding:7px 14px;border-radius:999px;background:rgba(40,8,16,.92);border:1px solid rgba(255,90,110,.8);font:900 .8rem var(--num);color:#ffd0d8;box-shadow:0 6px 16px rgba(0,0,0,.4)}
#kingAlert.on{animation:kingAlert 2.4s ease-out}

@keyframes kingAlert{0%{opacity:0;transform:translate(-50%,8px)}10%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
#edgeAlarm{box-shadow:inset 0 -70px 60px -40px rgba(255,40,70,.65)!important}
.rkCard{padding:10px 12px!important;gap:10px!important}
.rkBig b{font-size:1.7rem!important}
.rkBig small{font-size:.6rem!important}
.rkInfo{gap:2px!important}
.rkInfo em{font-size:.8rem!important}
.rkAi{margin-top:2px!important;font-size:.66rem!important}
.bar .tap,.bar .valk{right:4px!important}
.bar .tap,.bar .valk{width:44px!important;height:44px!important;right:3px!important}
.bar .valk{top:-80px!important}
.bar .tap{top:-164px!important}

@media (min-width:641px) and (max-width:1024px) and (orientation:portrait){.bar .valk{top:-80px!important}
.bar .tap{top:-164px!important}}
.bar .tap{top:-170px!important}

@media (min-width:641px) and (max-width:1024px) and (orientation:portrait){.bar .tap{top:-170px!important}}
.swapBar{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin:6px 0 10px;border-radius:14px;
  background:rgba(8,18,38,.97);border:1px solid rgba(70,201,184,.75);box-shadow:0 8px 20px rgba(0,0,0,.45);font:800 .86rem/1.3 var(--num);color:#eaf4ff}
.swapBar .btn{flex:0 0 auto;min-height:40px}
body.in-battle .hand .next b{display:block!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 .52rem/1.1 var(--num)!important;letter-spacing:0;color:#cfe0f2;text-transform:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.abCap b{font-size:.74rem!important}
.abCap i{font-size:.88rem!important}
.moFoot{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;justify-content:center;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));
  background:rgba(5,10,22,.97);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -10px 24px rgba(0,0,0,.35)}
.moFoot .moBtn.pri{position:static!important;margin:0!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 16px rgba(0,0,0,.35)!important}
.mo.calm .moFoot{background:rgba(8,12,20,.97)}
.dbFacts{display:block;margin-top:5px;font:700 .72rem/1.35 var(--num);color:#8fa8c8}
.cPhase{margin:10px 0 -4px!important;font:800 .64rem var(--num)!important;letter-spacing:.08em;text-transform:uppercase;color:#8fa8c8!important}
.cInfo.aw{background:rgba(60,30,10,.45);border:1px solid rgba(255,176,112,.35)}
.cInfo.aw .cGroup small{color:#ffb070}
.abCap b{white-space:nowrap!important;letter-spacing:.03em!important}
.abCap{max-width:104px!important}
.resNote.debrief{display:block!important}
.resNote.debrief>b{display:inline-block;margin-right:6px}
.abCap b{text-transform:none!important;letter-spacing:.01em!important;font-weight:900}
body.in-battle .hand{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,.7fr)!important}
body.in-battle .hand .next b{font-size:.62rem!important}
.cInfo.rows{grid-template-columns:1fr!important}
.cInfo .combo{margin-top:2px;padding:8px 10px;border-radius:10px;background:rgba(224,122,216,.12);border:1px solid rgba(224,122,216,.4)}
.cInfo .combo small{color:#f2a6ec}
.cInfo span em{font-style:normal;font:800 .72rem var(--num);color:#aef5e8}
.shStats.one{grid-template-columns:1fr!important}
.ctile .clvl{opacity:.72;font-size:.62rem!important;padding:1px 6px!important}
.ctile .crar{opacity:.6}
.mo:focus,.dfx:focus{outline:none}


/* Source: css/art.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
.ctile{overflow:visible!important}
.ctile .vcBg{background:radial-gradient(120% 78% at 50% 112%,rgba(var(--dc),.46),rgba(var(--dc),.1) 56%,rgba(6,12,26,0) 82%),linear-gradient(155deg,rgba(255,246,225,.08),rgba(8,14,30,0) 42%,rgba(0,0,0,.28))!important}
.ctile .cart{position:relative}
.ctile .cart::after{content:"";position:absolute;left:50%;bottom:1px;width:64%;height:10px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent);z-index:0}
.ctile .cart img{position:relative;z-index:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.ctile[data-k="dulur"] .cart img,.ctile[data-k="trojun"] .cart img,.ctile[data-k="madhattr"] .cart img,.ctile[data-k="skaerrot"] .cart img,.ctile[data-k="syke"] .cart img{transform:scale(var(--as,1)) translateY(-9%)!important}
.ctile .crar{position:absolute!important;top:6px!important;right:6px!important;left:auto!important;bottom:auto!important;width:11px!important;height:11px!important;transform:rotate(45deg)!important;border-radius:2px!important;
  background:var(--rc)!important;box-shadow:0 0 0 1.5px rgba(4,8,18,.9),0 0 8px color-mix(in srgb,var(--rc) 70%,transparent)!important;opacity:1!important;z-index:3}
.ctile.rar-legendary .crar{background:linear-gradient(135deg,#fff3c4,#f2c14e 50%,#a8741a)!important;width:13px!important;height:13px!important}
.ctile.rar-legendary .crar::after{content:"";position:absolute;inset:4px;background:#fff;border-radius:1px}
.ctile.rar-epic .crar::after{content:"";position:absolute;inset:4px;background:rgba(255,255,255,.6);border-radius:1px}
.ctile .cup{top:auto!important;bottom:20px!important;right:4px!important}
.ctile .clvl{position:absolute!important;left:0!important;right:0!important;bottom:5px!important;top:auto!important;background:none!important;border:0!important;box-shadow:none!important;text-align:center;
  font:800 .56rem/1 var(--num)!important;color:rgba(200,214,232,.6)!important;padding:0!important;letter-spacing:.08em;opacity:1!important}
.ctile .cnm{bottom:15px!important}
.ctile .crun{bottom:0!important;height:3px!important}
body.in-battle .hand .card{transition:transform .14s ease,box-shadow .14s ease,filter .14s}
body.in-battle .hand .card[aria-pressed="true"]{transform:translateY(-10px)!important;box-shadow:0 0 0 2px #fff4d6,0 14px 22px rgba(0,0,0,.55),inset 0 -18px 18px -10px rgba(255,214,130,.9)!important;z-index:2}
body.in-battle .hand:has(.card[aria-pressed="true"]) .card:not([aria-pressed="true"]):not(.tutLock){filter:saturate(.78) brightness(.82)}
.sheet .shHead{padding:10px 44px 10px 10px!important;border-radius:16px;background:radial-gradient(80% 130% at 16% 50%,rgba(70,201,184,.22),transparent 68%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.2))}
.sheet .shArt{width:124px!important;height:124px!important}

@media (max-width:380px){.sheet .shArt{width:96px!important;height:96px!important}}
.duCmp{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:12px 0 6px}
.duCmp figure{margin:0;display:grid;justify-items:center;gap:4px;padding:8px;border-radius:12px;background:rgba(6,14,30,.55)}
.duCmp figure.aw{background:radial-gradient(closest-side,rgba(255,150,70,.28),rgba(6,14,30,.55))}
.duA{position:relative;display:grid;place-items:center;width:84px;height:84px}
.duA img{max-width:84px;max-height:84px;object-fit:contain}
.duCmp figure:not(.aw) .duA img{filter:saturate(.5) brightness(.78)}
.duCmp figure.aw .duA img{filter:drop-shadow(0 0 10px rgba(255,150,70,.85)) saturate(1.2)}
.duEye{position:absolute;left:50%;top:28%;width:10px;height:10px;border-radius:50%;background:radial-gradient(#fff,#ffb070 50%,transparent 72%);box-shadow:0 0 14px 4px rgba(255,160,80,.85)}
.duCmp figcaption{font:800 .64rem var(--num);letter-spacing:.1em;text-transform:uppercase;color:#8fa8c8}
.duCmp figure.aw figcaption{color:#ffb070}
.duArrow{font:900 1.3rem var(--num);color:#ffb070}
.duRows{display:grid;gap:4px;margin-bottom:10px}
.duRows>div{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:8px;align-items:baseline;padding:6px 10px;border-radius:10px;background:rgba(6,14,30,.45)}
.duRows small{font:800 .62rem var(--num);text-transform:uppercase;letter-spacing:.06em;color:#8fa8c8}
.duRows span{font:800 .84rem var(--num);color:#cfe0f2}
.duRows span:last-child{color:#ffcf9a}
.roadLine{width:8px!important;left:29px!important;border-radius:4px!important;background:linear-gradient(90deg,#060a12,#1a2233 45%,#060a12)!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.06)}
.roadLine i{background:linear-gradient(180deg,#f2cf6a,#b98d3a)!important;box-shadow:0 0 12px rgba(242,207,106,.5)!important;border-radius:4px}
#scr-road .rstep.got{opacity:.74}
#scr-road .rstep.got::before{width:11px!important;height:11px!important;left:27.5px!important;margin-top:-5.5px!important;transform:rotate(45deg);border-radius:2px!important;background:#27303f!important;border:1px solid rgba(232,200,120,.4)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.6)!important;animation:none!important}
#scr-road .rstep.ready::before{width:22px!important;height:22px!important;left:22px!important;margin-top:-11px!important;border-radius:50%!important;background:radial-gradient(circle,#fff6d0,#f2c14e 45%,#8a5e12)!important;border:2px solid #fff3c4!important;box-shadow:0 0 0 3px rgba(242,193,78,.22),0 0 18px rgba(242,193,78,.75)!important;animation:none!important}
#scr-road .rstep.landmark{padding-top:30px!important;min-height:112px;background:radial-gradient(90% 90% at 30% 60%,rgba(154,124,255,.22),transparent 70%),linear-gradient(180deg,rgba(26,22,52,.9),rgba(10,16,34,.92))!important;border:1px solid rgba(232,200,120,.5)!important;box-shadow:0 10px 24px rgba(0,0,0,.35)}
#scr-road .rstep.landmark .rrw{grid-template-columns:84px minmax(0,1fr)!important}
#scr-road .rstep.landmark .rrw img,#scr-road .rstep.landmark .rrw .rart{width:84px!important;height:84px!important;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}
#scr-road .rstep.landmark .rrw b{font-size:1.05rem!important}
.lmTag{position:absolute;top:9px;left:64px;font:800 .62rem var(--display);letter-spacing:.2em;text-transform:uppercase;color:#f2cf6a}
.quest{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;align-items:center;gap:10px!important;position:relative;overflow:hidden}
.qIco{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(6,14,30,.6);border:1px solid rgba(255,255,255,.1);color:#f2cf6a}
.qIco img{width:40px;height:40px;object-fit:contain}
.qIco .mi{width:24px;height:24px}
.qside{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-left:10px;border-left:1px solid rgba(255,255,255,.08)}
.quest.done:not(.claimed)::after{content:"DONE";position:absolute;left:4px;top:6px;transform:rotate(-12deg);font:900 .56rem var(--display);letter-spacing:.18em;color:#f2cf6a;background:rgba(8,14,28,.8);border:1.5px solid rgba(242,207,106,.75);padding:2px 5px;border-radius:4px;animation:stamp .45s cubic-bezier(.2,1.6,.4,1) both}

@keyframes stamp{0%{transform:rotate(-12deg) scale(2.2);opacity:0}100%{transform:rotate(-12deg) scale(1);opacity:1}}
.quest.done:not(.claimed) .btn.primary{animation:claimGlow 1.3s ease-out 1}

@keyframes claimGlow{0%{box-shadow:0 0 0 0 rgba(242,207,106,.9)}100%{box-shadow:0 0 0 16px rgba(242,207,106,0)}}
.offer{position:relative;display:grid!important;justify-items:center;gap:4px;padding:10px 8px!important;background:linear-gradient(180deg,rgba(14,24,46,.85),rgba(6,12,26,.9))!important;transition:filter .2s,transform .2s}
.offer .oArt{position:relative;display:grid;place-items:end center;height:74px}
.offer .oArt::after{content:"";position:absolute;left:50%;bottom:-7px;width:80%;height:15px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,#3c4659,#1a2130 72%,transparent);box-shadow:inset 0 2px 0 rgba(255,255,255,.08),0 6px 10px rgba(0,0,0,.5);z-index:0}
.offer .oArt img{position:relative;z-index:1}
.offer .oTitle{margin-top:8px;text-align:center}
.offer .oPrice{padding-top:6px;border-top:1px solid rgba(255,255,255,.08);width:100%;justify-content:center}
.offer:not(.spot):not(.sold){filter:saturate(.8) brightness(.88)}
.offer.spot{background:radial-gradient(90% 60% at 50% 0%,rgba(242,207,106,.24),transparent 70%),linear-gradient(180deg,rgba(20,32,60,.95),rgba(8,14,30,.95))!important;box-shadow:0 0 0 1.5px rgba(242,207,106,.72),0 10px 24px rgba(0,0,0,.45)!important;transform:translateY(-3px)}
.rkTro{font-variant-numeric:tabular-nums;min-width:64px;justify-content:flex-end;text-align:right}
.rkRow.me{box-shadow:inset 4px 0 0 #46c9b8,0 0 0 1px rgba(70,201,184,.6)!important}
.rkRow.rival{box-shadow:inset 4px 0 0 rgba(255,106,134,.75)!important}
.rkRow.rival .rkName small::after{content:" · rival";color:#ff9aac}
.resCrest{width:118px;margin:0 auto -8px;animation:crestRise .95s cubic-bezier(.2,1.2,.4,1) both}
.resCrest .peCrest{width:118px}
.resCrest .cWings{transform-origin:110px 92px;animation:crestWings .8s .18s cubic-bezier(.2,1.4,.4,1) both}

@keyframes crestRise{0%{transform:translateY(46px) scale(.6);opacity:0}60%{transform:translateY(-8px) scale(1.04);opacity:1}100%{transform:none}}

@keyframes crestWings{0%{transform:scaleX(.1)}100%{transform:scaleX(1)}}
.mo.calm .resTitle{animation:resSettle .9s ease-out both!important}

@keyframes resSettle{0%{transform:translateY(-10px);opacity:0}100%{transform:none;opacity:1}}
.resNote.debrief:has(.dbIco){display:grid!important;grid-template-columns:40px 1fr;gap:10px;align-items:center}
.resNote.debrief .dbIco{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:rgba(6,14,30,.7);color:#aef5e8}
.resNote.debrief .dbIco .mi{width:24px;height:24px}
#homeLife{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
#homeLife i{position:absolute;width:46vmax;height:30vmax;border-radius:50%;background:radial-gradient(closest-side,rgba(0,10,20,.3),transparent);mix-blend-mode:multiply;animation:treeShade 14s ease-in-out infinite alternate}
#homeLife i:nth-child(1){left:-20vmax;top:8%}
#homeLife i:nth-child(2){right:-22vmax;top:28%;animation-duration:17s;animation-delay:-4s}
#homeLife i:nth-child(3){left:-16vmax;bottom:12%;animation-duration:19s;animation-delay:-8s}
#homeLife i:nth-child(4){right:-18vmax;bottom:4%;animation-duration:15s;animation-delay:-2s}

@keyframes treeShade{0%{transform:translate(0,0) scale(1)}100%{transform:translate(3vmax,-1.5vmax) scale(1.07)}}
.pRunes::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(200,255,250,.85);box-shadow:0 0 12px rgba(120,240,230,.7);opacity:0;animation:circlePulse 4.8s ease-out infinite}

@keyframes circlePulse{0%{transform:scale(.18);opacity:0}12%{opacity:.9}100%{transform:scale(1);opacity:0}}
.portal.pulseOnce .pBase,.portal.pulseOnce .pCore,.portal.pulseOnce .pBeam{animation:portalPulse .8s ease-out!important}

@keyframes portalPulse{0%{filter:brightness(2.3)}100%{filter:none}}
.dpCards.fromR .dpc{animation:dpInR .42s cubic-bezier(.2,1.2,.4,1) both}
.dpCards.fromL .dpc{animation:dpInL .42s cubic-bezier(.2,1.2,.4,1) both}
.dpCards .dpc:nth-child(2){animation-delay:30ms}
.dpCards .dpc:nth-child(3){animation-delay:60ms}
.dpCards .dpc:nth-child(4){animation-delay:90ms}
.dpCards .dpc:nth-child(5){animation-delay:120ms}
.dpCards .dpc:nth-child(6){animation-delay:150ms}
.dpCards .dpc:nth-child(7){animation-delay:180ms}
.dpCards .dpc:nth-child(8){animation-delay:210ms}

@keyframes dpInR{0%{transform:translateX(24px) scale(.8);opacity:0}100%{transform:none;opacity:1}}

@keyframes dpInL{0%{transform:translateX(-24px) scale(.8);opacity:0}100%{transform:none;opacity:1}}
body.fxLow #homeLife,body.fxLow .pRunes::after{display:none}
.resCrest,.resCrest .peCrest{width:96px}
.resCrest{margin:0 auto -10px}

/* short screens: the crest stays but becomes compact, so the debrief remains visible above the footer */
@media (max-height:720px){.resCrest,.resCrest .peCrest{width:56px}
.resCrest{margin:0 auto -14px}}
body.in-battle .hand .card .nm{overflow-wrap:normal!important;word-break:normal!important;hyphens:manual!important;text-wrap:balance;line-height:1.05!important}
body.in-battle .hand .card .nm.lw{font-size:.66rem!important;letter-spacing:-.01em}
.resCrest{filter:drop-shadow(0 0 14px rgba(242,193,78,.55))}

@media (max-height:700px){.resCrest,.resCrest .peCrest{width:42px!important}
.resCrest{margin:0 auto -12px!important}}
.duGrid{display:grid;gap:4px;margin:10px 0 6px}
.duHead,.duRow{display:grid;grid-template-columns:78px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}
.duHead figure{margin:0;display:grid;justify-items:center;gap:2px;padding:6px 4px 4px;border-radius:12px;background:rgba(6,14,30,.55)}
.duHead figure.aw{background:radial-gradient(closest-side,rgba(255,150,70,.3),rgba(6,14,30,.55))}
.duHead .duA{width:56px;height:56px}
.duHead .duA img{max-width:56px;max-height:56px}
.duHead figure:not(.aw) .duA img{filter:saturate(.5) brightness(.78)}
.duHead figure.aw .duA img{filter:drop-shadow(0 0 8px rgba(255,150,70,.85)) saturate(1.2)}
.duHead figcaption{font:800 .64rem var(--num);letter-spacing:.1em;text-transform:uppercase;color:#8fa8c8}
.duHead figure.aw figcaption{color:#ffb070}
.duStat{font:800 .62rem var(--num);letter-spacing:.08em;text-transform:uppercase;color:#6f86a3}
.duRow{padding:6px 0;border-top:1px solid rgba(255,255,255,.06)}
.duRow small{font:800 .64rem var(--num);text-transform:uppercase;letter-spacing:.06em;color:#8fa8c8}
.duRow span{text-align:center;font:800 .88rem var(--num);color:#cfe0f2}
.duRow span.aw{color:#ffcf9a}
.duShared{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.duNote{margin:6px 0 2px!important;font:700 .8rem/1.4 var(--num)!important;color:#ffcf9a!important}
.ctile .clvl{font-size:.7rem!important;color:#98acc4!important;opacity:1!important}
.rkName b{display:flex!important;align-items:center;gap:6px;min-width:0}
.rkNm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.rvBadge{flex:none;padding:1px 6px;border-radius:999px;font:900 .58rem/1.4 var(--num);letter-spacing:.06em;text-transform:uppercase;color:#200a10;background:#ff8aa0}
.rkRow.rival .rkName small::after{content:none!important}
body.fxLow .dpCards .dpc{animation:dpFade .18s ease-out both!important}

@keyframes dpFade{from{opacity:.35}to{opacity:1}}
body.fxLow .portal.pulseOnce .pBase,body.fxLow .portal.pulseOnce .pCore,body.fxLow .portal.pulseOnce .pBeam{animation:none!important}
body.fxLow .resCrest,body.fxLow .resCrest .cWings{animation:none!important}
body.fxLow .quest.done::after,body.fxLow .quest.done .btn.primary{animation:none!important}
body.fxLow #scr-deck .ctile.swap{animation:none!important}
body.fxLow .coreGlow::before{animation:none!important}
body.fxLow #edgeAlarm.on{animation:edgeCalm 1.2s ease-out!important}

@keyframes edgeCalm{0%{opacity:.7}100%{opacity:0}}

/* the device's reduced-motion setting also covers pseudo-elements (the global rule only matched elements) */
@media (prefers-reduced-motion: reduce){*::before,*::after{animation:none!important;transition:none!important}
.dpCards .dpc{animation:none!important}}


/* ==========================================================================
   Build 20 review: the device's reduced-motion setting mirrors every app override, at a specificity that wins
   ========================================================================== */
@media (prefers-reduced-motion: reduce){.portal.pulseOnce .pBase,.portal.pulseOnce .pCore,.portal.pulseOnce .pBeam{animation:none!important}
.resCrest,.resCrest .cWings{animation:none!important}
.quest.done::after,.quest.done .btn.primary{animation:none!important}
#scr-deck .ctile.swap{animation:none!important}
.coreGlow::before{animation:none!important}
#edgeAlarm.on{animation:edgeCalm 1.2s ease-out!important}
#homeLife,.pRunes::after{display:none!important}}
.resKM{display:grid;gap:6px;width:100%}
.kmHead{font:800 .66rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:#8fa8c8}
.kmItem{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:baseline;text-align:left;width:100%;padding:8px 12px;border-radius:12px;background:rgba(8,16,34,.72);border:1px solid rgba(255,255,255,.1);color:#eaf4ff;cursor:pointer;font:800 .84rem/1.35 var(--num)}
.kmItem b{font:900 .8rem var(--num);color:#aef5e8;font-variant-numeric:tabular-nums}
.kmItem em{grid-column:2;font-style:normal;font:700 .76rem/1.35 var(--num);color:#a8bedb}
.kmItem[aria-expanded="true"]{border-color:rgba(70,201,184,.55)}
.pvpLobby{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;background:rgba(3,7,16,.78);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.pvBox{position:relative;width:min(420px,100%);max-height:calc(100% - 16px);overflow-y:auto;padding:22px 18px 16px;border-radius:20px;background:linear-gradient(180deg,#101c36,#0a1224);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px rgba(0,0,0,.6);color:#eaf4ff}
.pvBox h2{margin:0 0 6px;font:700 1.4rem var(--display);letter-spacing:.06em}
.pvSub{margin:0 0 14px;font:600 .88rem/1.45 var(--num);color:#a8bedb}
.pvChoice{display:grid;gap:10px}
.pvStep{display:grid;gap:8px}
.pvStep p{margin:6px 0 0;font:700 .86rem var(--num)}
.pvStep textarea{width:100%;box-sizing:border-box;resize:none;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(4,8,18,.7);color:#cfe0f2;font:600 .72rem/1.3 ui-monospace,monospace;word-break:break-all}
.pvSt{min-height:1.2em;margin:10px 0 0;font:700 .84rem var(--num);color:#aef5e8}
.pvWarn{font:700 .9rem var(--num);color:#ffb070}
.pvX{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(8,14,28,.8);color:#eaf4ff;font-size:1.3rem;cursor:pointer}
.pvStep textarea{font-size:16px!important;line-height:1.35!important}
.pvBtns{display:flex;gap:8px}
.pvBtns .btn{flex:1}
#pvWait{position:fixed;left:0;right:0;top:calc(96px + env(safe-area-inset-top,0px));z-index:70;display:grid;place-items:center;pointer-events:none}
.pvWBox{pointer-events:auto;display:grid;gap:6px;justify-items:center;text-align:center;max-width:min(340px,90vw);padding:14px 18px;border-radius:16px;background:rgba(6,12,26,.94);border:1px solid rgba(70,201,184,.5);box-shadow:0 12px 30px rgba(0,0,0,.5);color:#eaf4ff}
.pvWBox b{font:800 1rem var(--num)}
.pvWT{font:900 1.6rem var(--num);color:#aef5e8;font-variant-numeric:tabular-nums}
.pvWBox small{font:600 .8rem/1.4 var(--num);color:#a8bedb}
body.in-battle .hand .card.queued{opacity:.55;filter:saturate(.6)}
body.in-battle .hand .card.queued::after{content:"Queued";position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);padding:2px 8px;border-radius:999px;background:rgba(6,12,26,.9);border:1px solid rgba(70,201,184,.6);font:800 .6rem var(--num);color:#aef5e8;letter-spacing:.06em;text-transform:uppercase;z-index:3}
.kFacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0 6px}
.kFacts>div{display:grid;gap:2px;padding:8px 6px;border-radius:12px;background:rgba(6,14,30,.55);text-align:center;min-width:0}
.kFacts small{font:800 .58rem/1.15 var(--num);letter-spacing:.05em;text-transform:uppercase;color:#8fa8c8}
.kFacts b{font:900 .92rem/1.15 var(--num);color:#eaf4ff;overflow-wrap:anywhere}
.kFacts em{font:700 .62rem var(--num);color:#8fa8c8;font-style:normal}
.kTraits{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.kTraits span{padding:4px 10px;border-radius:999px;background:rgba(70,201,184,.12);border:1px solid rgba(70,201,184,.35);font:800 .72rem var(--num);color:#bff3ea}
.upBlock{display:grid;gap:8px;margin:6px 0 10px;padding:12px;border-radius:14px;background:rgba(6,14,30,.55);border:1px solid color-mix(in srgb,var(--rc,#46c9b8) 35%,transparent)}
.upBlock.max{text-align:center;font:800 .9rem var(--num);color:#f2cf6a}
.ubTop{display:flex;justify-content:space-between;align-items:baseline;font:800 .9rem var(--num);color:#eaf4ff}
.ubTop span{font:800 .8rem var(--num);color:#a8bedb;font-variant-numeric:tabular-nums}
.upBlock .srBar{display:block;height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.upBlock .srBar i{display:block;height:100%;background:linear-gradient(90deg,var(--rc,#46c9b8),#aef5e8)}
.upBlock .btn{width:100%}
.upBlock small{font:700 .76rem/1.35 var(--num);color:#a8bedb}
.shMore{margin:4px 0 10px;border-radius:14px;background:rgba(6,14,30,.35);border:1px solid rgba(255,255,255,.08)}
.shMore>summary{cursor:pointer;list-style:none;padding:12px 14px;font:800 .86rem var(--num);color:#cfe0f2;display:flex;justify-content:space-between;align-items:center}
.shMore>summary::-webkit-details-marker{display:none}
.shMore>summary::after{content:"+";font:900 1.1rem var(--num);color:#8fa8c8}
.shMore[open]>summary::after{content:"\2212"}
.shMore>*:not(summary){margin-left:12px;margin-right:12px}
.shMore[open]{padding-bottom:10px}
.shNote{font:600 .74rem/1.35 var(--num);color:#8fa8c8;margin:6px 12px 0}
.resWhy{margin:-4px auto 2px;max-width:92%;text-align:center;font:800 .92rem/1.35 var(--num);color:#d6e4f4}

@media (max-height:720px){.resWhy{font-size:.8rem}}
#clock.otFinal{animation:otPulse 1s ease-out infinite}

@keyframes otPulse{0%{transform:scale(1.14);filter:brightness(1.4)}100%{transform:scale(1);filter:none}}
body.fxLow #clock.otFinal{animation:none}

@media (prefers-reduced-motion: reduce){#clock.otFinal{animation:none}}
.elixir.surge{box-shadow:0 0 0 2px #c9a2ff,0 0 22px rgba(201,162,255,.85)!important;animation:surgeGlow .7s ease-out 2}

@keyframes surgeGlow{0%{filter:brightness(1.8)}100%{filter:none}}
body.fxLow .elixir.surge{animation:none}
.md{display:inline-grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;font:900 .62rem/1 var(--num);color:#1a1206;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 1px 2px rgba(0,0,0,.5)}
.md.b{background:linear-gradient(145deg,#f0b27a,#a8642c)}
.md.s{background:linear-gradient(145deg,#f4f8fc,#8b9bb0)}
.md.g{background:linear-gradient(145deg,#fff1b8,#d59a1e)}
.ctile .cMed{position:absolute;left:5px;bottom:18px;width:14px;height:14px;z-index:3}
.ctile:has(.cMed.g){box-shadow:0 0 0 1.5px #f2c14e,0 0 14px rgba(242,193,78,.35)!important}
.mBlock{display:grid;gap:6px;margin:6px 0 10px;padding:12px;border-radius:14px;background:rgba(6,14,30,.55);border:1px solid rgba(255,255,255,.08)}
.mbTop{display:flex;justify-content:space-between;align-items:baseline;font:800 .9rem var(--num);color:#eaf4ff}
.mbTop span{font:800 .76rem var(--num);color:#a8bedb}
.mRow{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;padding:6px 0;border-top:1px solid rgba(255,255,255,.06)}
.mRow b{display:block;font:800 .84rem/1.3 var(--num);color:#eaf4ff}
.mRow small{font:700 .72rem/1.35 var(--num);color:#a8bedb}
.mRow .srBar{display:block;height:6px;margin:5px 0 3px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.mRow .srBar i{display:block;height:100%;background:linear-gradient(90deg,#46c9b8,#aef5e8)}
.mRow.lock{opacity:.5}
.mRow.lock .md{filter:grayscale(.8)}
.mRow.done b{color:#cfe0f2}
.meAv,.pfAv,.frm{position:relative}
[class*="frame-"]::after{content:"";position:absolute;inset:-3px;border-radius:50%;pointer-events:none}
.frame-none::after{display:none}
.frame-bronze::after{border:3px solid #cd8b52;box-shadow:0 0 0 1px #4a2a10 inset}
.frame-silver::after{border:3px solid transparent;background:conic-gradient(#f4f8fc 0 12.5%,#8b9bb0 0 25%) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.frame-gold::after{border:3px solid transparent;background:conic-gradient(#fff1b8,#d59a1e 20%,#fff1b8 25%,#d59a1e 45%,#fff1b8 50%,#d59a1e 70%,#fff1b8 75%,#d59a1e 95%,#fff1b8) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;box-shadow:0 0 10px rgba(242,193,78,.5)}
.frame-aurora::after,.frame-flame::after{inset:-4px;border:3px solid transparent;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:frameSpin 6s linear infinite}
.frame-aurora::after{background:conic-gradient(#46c9b8,#7ee8a8,#a77cff,#46c9b8) border-box;box-shadow:0 0 12px rgba(110,220,200,.45)}
.frame-flame::after{background:conic-gradient(#ffcf6a,#ff6a3d,#ffcf6a,#ff9a3d,#ffcf6a) border-box;box-shadow:0 0 14px rgba(255,120,60,.55)}

@keyframes frameSpin{to{transform:rotate(360deg)}}
body.fxLow .frame-aurora::after,body.fxLow .frame-flame::after{animation:none}

@media (prefers-reduced-motion: reduce){.frame-aurora::after,.frame-flame::after{animation:none}}
.pfHead{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.pfAv{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:rgba(6,14,30,.7);flex:none}
.pfAv img{width:64px;height:64px;object-fit:contain;border-radius:50%}
.pfHead h2{margin:0;font:700 1.4rem var(--display)}
.pfTitle{font:800 .82rem var(--num);color:#f2cf6a;letter-spacing:.04em}
.pfLevel{display:grid;gap:6px;padding:12px;border-radius:14px;background:rgba(6,14,30,.55);border:1px solid rgba(242,193,78,.3)}
.pflTop{display:flex;justify-content:space-between;align-items:baseline;font:900 1rem var(--num)}
.pflTop span{font:800 .8rem var(--num);color:#a8bedb;font-variant-numeric:tabular-nums}
.pfLevel .srBar,.pfCl .srBar{display:block;height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.pfLevel .srBar i{display:block;height:100%;background:linear-gradient(90deg,#d59a1e,#fff1b8)}
.pfLevel small{font:700 .74rem/1.4 var(--num);color:#a8bedb}
.prof h3{margin:14px 0 6px;font:800 .7rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:#8fa8c8}
.pfTrack{display:grid;gap:4px}
.pfR{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;padding:6px 10px;border-radius:10px;background:rgba(6,14,30,.45)}
.pfR b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(242,193,78,.15);border:1px solid rgba(242,193,78,.5);font:900 .8rem var(--num);color:#f2cf6a}
.pfR span{font:700 .78rem/1.35 var(--num);color:#cfe0f2}
.pfMc{display:flex;gap:14px;flex-wrap:wrap;font:800 .84rem var(--num);color:#cfe0f2}
.pfMc span{display:flex;align-items:center;gap:6px}
.pfMc .md{width:16px;height:16px}
.pfClose{display:grid;gap:6px;margin-top:8px}
.pfCl{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;padding:8px 10px;border-radius:12px;background:rgba(6,14,30,.55);border:1px solid rgba(255,255,255,.08);color:#eaf4ff;cursor:pointer}
.pfCl img{width:40px;height:40px;object-fit:contain}
.pfCl b{display:block;font:800 .8rem var(--num)}
.pfCl small{display:block;font:700 .72rem/1.3 var(--num);color:#a8bedb;margin-bottom:4px}
.pfCl .srBar i{display:block;height:100%;background:linear-gradient(90deg,#46c9b8,#aef5e8)}
.pfCl em{font:900 .78rem var(--num);font-style:normal;color:#aef5e8;font-variant-numeric:tabular-nums}
.pfGoals{display:grid;gap:6px}
.pfG{display:grid;gap:4px;padding:8px 10px;border-radius:12px;background:rgba(6,14,30,.45);border:1px solid rgba(255,255,255,.08)}
.pfG.done{border-color:rgba(242,193,78,.5)}
.pfG b{font:800 .82rem var(--num)}
.pfG small{font:700 .72rem var(--num);color:#a8bedb}
.gVs{display:flex;flex-wrap:wrap;gap:4px}
.gVs i{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:rgba(0,0,0,.35);filter:grayscale(1) brightness(.5)}
.gVs i.have{filter:none;background:rgba(70,201,184,.15)}
.gVs img{width:26px;height:26px;object-fit:contain}
.pfChips{display:flex;flex-wrap:wrap;gap:8px}
.pfChips .chip{padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(6,14,30,.6);color:#cfe0f2;font:800 .78rem var(--num);cursor:pointer}
.pfChips .chip.on{border-color:#f2c14e;color:#f2cf6a;background:rgba(242,193,78,.12)}
.frm{display:grid;justify-items:center;gap:6px;width:76px;padding:8px 4px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(6,14,30,.5);cursor:pointer}
.frm img{width:46px;height:46px;border-radius:50%;object-fit:contain}
.frm::after{inset:5px auto auto 50%;width:52px;height:52px;margin-left:-26px}
.frm.on{border-color:#f2c14e}
.frm small{font:700 .64rem var(--num);color:#a8bedb}
.resNote.mst{font-weight:800}
.celFrameWrap{position:relative;display:grid;place-items:center;width:150px;height:150px;margin:0 auto}
.celAvF{display:grid;place-items:center;width:128px;height:128px;border-radius:50%;background:radial-gradient(circle,rgba(242,193,78,.18),rgba(6,12,26,.9) 70%)}
.celAvF img{width:112px;height:112px;object-fit:contain;border-radius:50%}
.celAvF::after{inset:-6px!important;border-width:6px!important}
.celLvlTag{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;min-width:44px;height:44px;padding:0 8px;border-radius:999px;background:linear-gradient(180deg,#fff1b8,#d59a1e);color:#2a1a04;font:900 1.3rem var(--num);box-shadow:0 4px 12px rgba(0,0,0,.5)}
.celChip{display:inline-block;margin:6px 4px 0;padding:6px 12px;border-radius:999px;background:rgba(242,193,78,.14);border:1px solid rgba(242,193,78,.5);font:800 .82rem var(--num);color:#f2cf6a}
.celMst{position:relative;display:grid;place-items:center;width:150px;height:170px;margin:0 auto;border-radius:22px;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.08),rgba(6,12,26,.9) 72%)}
.celMst img{width:130px;height:130px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.5))}
.celMst.g{box-shadow:0 0 0 3px #f2c14e,0 0 34px rgba(242,193,78,.55)}
.celMst.s{box-shadow:0 0 0 3px #c9d4e2,0 0 26px rgba(201,212,226,.4)}
.celMst .md{position:absolute;right:-8px;bottom:-8px;width:40px;height:40px}
.celGoal{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:260px;margin:0 auto}
.celGoal img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
.celMedals{display:flex;justify-content:center;gap:14px}
.celMedals .md{width:52px;height:52px}
.bkBox{display:grid;gap:8px;margin:8px 0}
.bkBox textarea{width:100%;box-sizing:border-box;resize:none;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(4,8,18,.7);color:#cfe0f2;font:600 16px/1.3 ui-monospace,monospace;word-break:break-all}

/* card facts as a 2 x 2 grid on phones, so no label wraps across three lines */
@media (max-width:480px){.kFacts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.kFacts>div{text-align:left;padding:8px 10px!important}}
.howLeaveRow.live{border:1px solid rgba(255,176,112,.55);background:rgba(60,30,10,.55)}
.howLeaveRow.live #howState{color:#ffcf9a;font-weight:800}
#howBack{min-height:40px}
.qChest{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;margin:4px 0 12px;padding:12px 14px;border-radius:16px;background:linear-gradient(180deg,rgba(40,70,140,.45),rgba(10,18,40,.75));border:1px solid rgba(110,170,255,.35)}
.qChest .qcIco{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:radial-gradient(circle,rgba(140,190,255,.35),rgba(20,40,90,.8));color:#bfe0ff}
.qChest .qcIco svg{width:26px;height:26px}
.qChest b{display:block;font:800 .92rem var(--num);color:#eaf4ff}
.qChest small{display:block;font:700 .74rem/1.35 var(--num);color:#a8bedb;margin:2px 0 6px}
.qChest .srBar{display:block;height:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.qChest .srBar i{display:block;height:100%;background:linear-gradient(90deg,#6aa8ff,#bfe0ff)}
.qChest em{font:900 .84rem var(--num);font-style:normal;color:#bfe0ff;font-variant-numeric:tabular-nums}
.qChest.ready{border-color:#f2c14e;box-shadow:0 0 18px rgba(242,193,78,.35);animation:chestGlow 1.6s ease-in-out infinite}
.qChest.got{opacity:.7}

@keyframes chestGlow{50%{box-shadow:0 0 28px rgba(242,193,78,.55)}}
body.fxLow .qChest.ready{animation:none}

@media (prefers-reduced-motion: reduce){.qChest.ready{animation:none}}
#elBar.leak{animation:leakPulse .9s ease-in-out infinite}

@keyframes leakPulse{50%{box-shadow:0 0 0 2px #ffcf6a,0 0 18px rgba(255,190,90,.75);filter:brightness(1.25)}}
#elLeak{position:absolute;left:50%;transform:translate(-50%,-100%);margin-top:-6px;padding:3px 10px;border-radius:999px;background:rgba(40,22,6,.85);border:1px solid rgba(255,190,90,.6);color:#ffdca0;font:800 .7rem var(--num);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
#elLeak.on{opacity:1}
body.fxLow #elBar.leak{animation:none;box-shadow:0 0 0 2px #ffcf6a}

@media (prefers-reduced-motion: reduce){#elBar.leak{animation:none;box-shadow:0 0 0 2px #ffcf6a}}
.offer.wild .wIco{position:relative;display:grid;place-items:center}
.offer.wild .wIco svg{width:44px;height:44px;color:var(--rc)}
.offer.wild .wIco i{position:absolute;inset:6px;border-radius:50%;border:3px solid transparent;background:conic-gradient(#9fb0c4,#46c9b8,#a77cff,#f2c86a,#9fb0c4) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.btn.wildUse{width:100%;margin-top:6px;background:linear-gradient(180deg,rgba(120,90,200,.35),rgba(40,30,80,.6));border:1px solid rgba(167,124,255,.6);color:#e4d8ff}
.btn.wildUse small{opacity:.75;font-weight:700}
.offer.wild .wIco{width:66px;height:66px;margin:4px auto 2px;border-radius:50%;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.16),rgba(8,14,30,.92) 70%);box-shadow:0 6px 14px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.12)}
.offer.wild .wIco svg{width:32px;height:32px;filter:drop-shadow(0 0 6px var(--rc))}
.offer.wild .wIco i{inset:0;border-width:4px}
.shRole{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.shRoleT{font:700 .82rem/1.3 var(--num);color:#cfe0f2}
.kUse{margin:2px 0 10px;padding:8px 12px;border-left:3px solid #46c9b8;border-radius:0 10px 10px 0;background:rgba(70,201,184,.08);font:700 .8rem/1.4 var(--num);color:#d6ecf2}
.mBlockD{margin:6px 0 10px;border-radius:14px;background:rgba(6,14,30,.45);border:1px solid rgba(255,255,255,.08)}
.mBlockD>summary{cursor:pointer;list-style:none;padding:11px 14px;font:800 .86rem var(--num);color:#eaf4ff;display:flex;gap:8px;align-items:baseline}
.mBlockD>summary::-webkit-details-marker{display:none}
.mBlockD>summary span{font:700 .74rem var(--num);color:#a8bedb;flex:1;min-width:0}
.mBlockD>summary::after{content:"+";font:900 1.05rem var(--num);color:#8fa8c8}
.mBlockD[open]>summary::after{content:"\2212"}
.mBlockD .mBlock{margin:0 10px 10px;border:0;background:transparent;padding:0 4px}
.deckWarn{display:grid;gap:4px;margin:6px 0 10px;padding:10px 12px;border-radius:12px;background:rgba(60,34,8,.5);border:1px solid rgba(255,190,90,.45)}
.deckWarn p{margin:0;font:700 .78rem/1.35 var(--num);color:#ffdca0}
.deckWarn p::before{content:"\25B2  ";color:#ffb35a;font-size:.7em}
.ctile.warnHi{box-shadow:0 0 0 2px #ffb35a,0 0 12px rgba(255,179,90,.45)!important}
.swapCmp .cmpGrid{display:grid;grid-template-columns:70px 1fr 1fr;gap:6px 10px;align-items:center;margin:10px 0}
.swapCmp .cmpGrid b{display:grid;justify-items:center;gap:4px;font:800 .82rem var(--num);text-align:center}
.swapCmp .cmpGrid b img{width:54px;height:54px;object-fit:contain}
.swapCmp .cmpGrid small{font:800 .66rem var(--num);letter-spacing:.06em;text-transform:uppercase;color:#8fa8c8}
.swapCmp .cmpGrid span{font:700 .82rem var(--num);color:#eaf4ff;text-align:center}
.resDecisive{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline;margin:8px auto 4px;max-width:94%;padding:10px 14px;border-radius:14px;background:rgba(6,12,26,.6);border:1px solid rgba(242,193,78,.4)}
.resDecisive small{grid-column:1/-1;font:800 .64rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:#f2cf6a}
.resDecisive b{font:900 .95rem var(--num);color:#f2cf6a;font-variant-numeric:tabular-nums}
.resDecisive span{font:800 .9rem/1.3 var(--num);color:#eaf4ff}
.resDecisive em{grid-column:2;font:700 .74rem var(--num);font-style:normal;color:#a8bedb}
.kCond{margin:-4px 0 10px;font:700 .74rem/1.35 var(--num);color:#ffcf9a}
.qSwap{margin-left:auto;padding:4px 10px;font-size:.72rem}
.resDecisive .dEnd{grid-column:1/-1;margin-top:4px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08);color:#8fa8c8}
.shIdle{display:inline-block}
.btn.practiceBtn{width:100%;margin:2px 0 10px;background:linear-gradient(180deg,rgba(70,201,184,.28),rgba(20,60,64,.6));border:1px solid rgba(70,201,184,.6);color:#d6fbf4}
.btn.practiceBtn small{opacity:.7;font-weight:700;margin-left:6px}
.fb-press{transform:scale(.95)!important;transition:transform .08s ease-out!important}
.fb-ok{animation:fbOk .52s ease-out}

@keyframes fbOk{0%{box-shadow:0 0 0 0 rgba(70,201,184,.9)}40%{box-shadow:0 0 0 4px rgba(70,201,184,.75),0 0 18px rgba(70,201,184,.6)}100%{box-shadow:0 0 0 0 rgba(70,201,184,0)}}
.fb-no{animation:fbNo .5s ease-out}

@keyframes fbNo{0%,100%{transform:translateX(0)}15%{transform:translateX(-6px)}35%{transform:translateX(5px)}55%{transform:translateX(-4px)}75%{transform:translateX(2px)}}
.fb-no{box-shadow:0 0 0 2px rgba(255,90,90,.85),0 0 14px rgba(255,90,90,.5)!important}
.fb-pend{position:relative;animation:fbPend 1.1s ease-in-out infinite;cursor:progress}

@keyframes fbPend{0%,100%{box-shadow:0 0 0 2px rgba(242,193,78,.35)}50%{box-shadow:0 0 0 3px rgba(242,193,78,.85)}}
.fb-cancel{animation:fbCancel .42s ease-out}

@keyframes fbCancel{0%{transform:translateY(-14px) scale(1.04);opacity:.7}100%{transform:none;opacity:1}}
.btn[aria-disabled="true"],button[aria-disabled="true"]{opacity:.55;filter:saturate(.6)}
.ack{position:fixed;z-index:9999;transform:translate(-50%,-110%);padding:5px 12px;border-radius:999px;font:900 .8rem var(--num);white-space:nowrap;pointer-events:none;animation:ackUp 1.35s ease-out forwards;box-shadow:0 6px 16px rgba(0,0,0,.45)}
.ack.ok{background:linear-gradient(180deg,#2e8f82,#1b5c55);color:#eafff9;border:1px solid rgba(160,255,235,.6)}
.ack.ok::before{content:"\2713  "}
.ack.no{background:linear-gradient(180deg,#8f2e36,#5c1b21);color:#ffe9ea;border:1px solid rgba(255,170,170,.6)}

@keyframes ackUp{0%{opacity:0;transform:translate(-50%,-80%)}15%{opacity:1;transform:translate(-50%,-120%)}75%{opacity:1;transform:translate(-50%,-150%)}100%{opacity:0;transform:translate(-50%,-175%)}}
body.fxLow .fb-ok,body.fxLow .fb-no,body.fxLow .fb-cancel,body.fxLow .fb-pend,body.fxLow .ack{animation-duration:.01s!important}

@media (prefers-reduced-motion: reduce){.fb-no,.fb-cancel{animation:none}
.ack{animation:ackFade 1.3s linear forwards}
 @keyframes ackFade{0%,80%{opacity:1}100%{opacity:0}}}
#pracObj{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 58px);transform:translateX(-50%);z-index:40;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;width:min(92vw,380px);padding:10px 12px;border-radius:14px;background:rgba(6,14,30,.88);border:1px solid rgba(70,201,184,.55);box-shadow:0 8px 20px rgba(0,0,0,.45)}
#pracObj b{grid-column:1/-1;font:800 .86rem/1.3 var(--num);color:#eaf4ff}
#pracObj small{font:700 .72rem var(--num);color:#a8bedb}
.poDots{display:flex;gap:6px}
.poDots i{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3)}
.poDots i.on{background:#46c9b8;border-color:#aef5e8;box-shadow:0 0 8px rgba(70,201,184,.7)}
.poBtns{grid-column:1/-1;display:flex;gap:8px}
.poBtns .btn{flex:1}
body.practice .score,body.practice #phase,body.practice #next{visibility:hidden}
body.practice #hand .card:nth-child(n+2){display:none!important}
body.practice #hand{grid-template-columns:1fr minmax(0,1fr) 1fr!important}
body.practice #hand .card:first-child{grid-column:2!important}
body.practice #clock{visibility:hidden}
#pracObj .poLast{grid-column:1/-1;margin:2px 0 0;padding:6px 10px;border-radius:10px;font:800 .78rem/1.35 var(--num)}
#pracObj .poLast.ok{background:rgba(70,201,184,.14);border:1px solid rgba(70,201,184,.5);color:#c9fff4}
#pracObj .poLast.no{background:rgba(255,160,90,.12);border:1px solid rgba(255,170,100,.5);color:#ffe0c0}
#perfHud{position:fixed;left:6px;bottom:calc(env(safe-area-inset-bottom,0px) + 4px);z-index:9998;max-width:calc(100vw - 12px);padding:3px 8px;border-radius:8px;background:rgba(0,0,0,.72);color:#bfffd9;font:700 10px/1.3 ui-monospace,monospace;pointer-events:none}
.benchT{width:100%;border-collapse:collapse;margin:8px 0;font:700 .82rem var(--num)}
.benchT td,.benchT th{padding:5px 4px;border-bottom:1px solid rgba(255,255,255,.1);text-align:right}
.benchT td:first-child,.benchT th:first-child{text-align:left}
#perfHud{bottom:auto;display:flex;flex-direction:column;justify-content:center;padding:2px 6px;font:700 9px/1.25 ui-monospace,monospace;white-space:nowrap;overflow:hidden;background:rgba(0,0,0,.55);border-radius:8px}
body.bench #hand,body.bench #next,body.bench .elixir,body.bench #tapBtn{visibility:hidden!important}
#perfHud.over{color:#ffcf6a;box-shadow:0 0 0 1px rgba(255,207,106,.6)}


/* Source: css/interface.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
:root{
  --ui-text:#eff6ff;--ui-muted:#a9bcd1;--ui-line:rgba(184,211,244,.16);
  --ui-surface:linear-gradient(160deg,#1b3049,#101e33 72%);
  --ui-deep:#0b1527;--ui-gold:#f4d58c;--ui-mint:#88e4cf;
  --ui-body:'VCBody',system-ui,sans-serif;
  --ui-title:'VCCinzel',Georgia,serif;
}
#meta,.mbox,.pvBox,#howOv .sheet,.mo,.dfx{color:var(--ui-text);font-family:var(--ui-body)}
#meta.sub .metaBg::after{background:linear-gradient(180deg,rgba(7,17,32,.82),rgba(8,18,34,.87))!important}
#meta.sub .metaBg img{filter:blur(16px) saturate(.6) brightness(.55)!important}
#meta.sub .mwrap{padding:12px 16px 26px;scroll-padding-top:16px;scrollbar-width:thin;scrollbar-color:#405571 transparent}
#meta .screen{padding-bottom:6px}
#meta .screenHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 20px}
.eyebrow{display:block;font:900 .62rem/1.3 var(--ui-body);letter-spacing:.17em;text-transform:uppercase;color:var(--ui-mint);margin-bottom:6px}
#meta .screenHeading h1{font:700 1.58rem/1.1 var(--ui-title)!important;letter-spacing:-.02em!important;color:#fff5dc;margin:0;text-shadow:0 2px 12px #050b14}
.screenCount{flex:none;max-width:110px;border:1px solid var(--ui-line);border-radius:9px;background:#142237;padding:7px 9px;font:800 .72rem/1.3 var(--ui-body);color:var(--ui-muted);text-align:center;font-variant-numeric:tabular-nums}
#meta .screen>h3,#meta .collHead h3,.qShopD>h3,.prof h3{font:900 .84rem/1.3 var(--ui-body)!important;text-transform:none!important;letter-spacing:.01em!important;color:var(--ui-text)!important;margin:22px 0 12px}
#meta button:focus-visible,.mbox button:focus-visible,.pvBox button:focus-visible,#howOv button:focus-visible,.mo button:focus-visible,.dfx button:focus-visible{outline:2px solid #afffec!important;outline-offset:4px!important}
#meta .mtop{max-width:1040px;padding:10px 16px 8px;gap:8px;min-height:66px}
#meta .me{gap:9px;min-height:44px}
#meta .meAv,#meta .meAv img{width:43px!important;height:43px!important}
#meta .meAv{isolation:isolate;overflow:visible;border-radius:50%}
#meta .meAv::after{z-index:1}
#meta .meAv .meLv{z-index:2;min-width:20px;width:auto!important;padding:0 3px;box-shadow:0 2px 3px #020a14aa!important}
#meta .meAv img{border-radius:50%!important;padding:2px!important}
#meta .meTxt b{font:900 .94rem/1.3 var(--ui-body)!important;letter-spacing:.01em!important;text-shadow:none!important}
#meta .xpbar{height:4px!important;width:100%!important;min-width:28px;max-width:94px;background:#050e1c!important;border-radius:3px}
#meta .xpbar i{background:#88e4cf!important;box-shadow:none!important}
#meta .meLv{width:20px!important;height:19px!important;right:-3px!important;bottom:-2px!important;border-radius:6px!important;font:900 .66rem/1 var(--ui-body)!important;background:#77d9c8!important;color:#082a2a!important;clip-path:none!important;text-shadow:none!important;border:2px solid #112438}
#meta .cur{height:38px!important;padding:0 9px!important;gap:5px!important;border:1px solid var(--ui-line)!important;border-radius:12px!important;background:rgba(11,23,41,.82)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;min-height:44px}
#meta .cur .mi{width:18px!important;height:18px!important;filter:none!important}
#meta .cur b{font:900 .83rem/1 var(--ui-body)!important;font-variant-numeric:tabular-nums}
#meta .gear{flex:none;width:44px!important;height:44px!important;border-radius:12px!important;background:rgba(11,23,41,.82)!important;border:1px solid var(--ui-line)!important;box-shadow:none!important}
#meta .gear .mi{width:20px;height:20px}
#meta .btn,.mbox .btn,.pvBox .btn,#howOv .primary,#howOv .secondary,.moBtn,.dfxBtn{
  font:900 .84rem/1.25 var(--ui-body)!important;letter-spacing:.01em!important;text-transform:none!important;text-shadow:none!important;
  min-height:44px;padding:11px 17px!important;border-radius:12px!important;border:1px solid #455b78!important;color:var(--ui-text)!important;
  background:linear-gradient(#243b57,#1a2c44)!important;box-shadow:inset 0 1px 0 #ffffff0d,0 3px 0 #060e1e66!important;
}
#meta .btn.primary,.mbox .btn.primary,.pvBox .btn.primary,#howOv .primary,.moBtn.pri,.dfxBtn.pri{
  color:#39260d!important;background:linear-gradient(#ffe7a5,#edc774)!important;border-color:#ffe9b1!important;box-shadow:inset 0 1px 0 #fff8df,0 3px 0 #765a29,0 5px 12px #0003!important;
}
.mbox .btn.up{color:#08372d!important;background:linear-gradient(#9ef0d4,#55c5aa)!important;border-color:#b8ffe5!important;box-shadow:inset 0 1px 0 #d2ffef,0 3px 0 #235e51!important}
#meta .btn.sm,.mbox .btn.sm,.pvBox .btn.sm{font-size:.75rem!important;min-height:40px;padding:9px 12px!important}
.mbox .btn[aria-disabled="true"],#meta .btn[aria-disabled="true"]{filter:saturate(.25)!important;opacity:.62}
.mbox .btn.danger{background:#351e2a!important;border:1px solid #74404d!important;color:#ffb1bf!important;box-shadow:none!important}

@media (hover:hover){#meta .btn:hover,.mbox .btn:hover,.pvBox .btn:hover,#howOv button:hover{filter:brightness(1.12)}
#meta .ctile:hover{transform:translateY(-3px)!important;box-shadow:0 0 0 2px var(--rc),0 10px 20px #0006!important}}
#meta.home .mwrap{padding-bottom:14px}
#meta .hBottom{gap:12px;width:min(100%,460px);margin-left:auto;margin-right:auto}
#scr-home.enter{animation:homeFade .22s ease-out}

@keyframes homeFade{from{opacity:0}to{opacity:1}}
#meta .deckPill{width:100%;border-radius:18px;background:linear-gradient(135deg,rgba(22,42,57,.94),rgba(9,21,37,.95))!important;border:1px solid #74949966;box-shadow:inset 0 1px 0 #ffffff0d,0 8px 24px #0004;padding:5px 9px 9px;gap:3px 4px}
#meta .dpMid{min-height:38px}
#meta .dpMid b{font:900 .92rem/1.1 var(--ui-body);letter-spacing:.015em;text-transform:none}
#meta .dpMid small{font:700 .68rem/1.2 var(--ui-body);color:#b3c4d9}
#meta .dpArrow{width:38px;height:38px;min-height:44px;background:transparent;border:0;color:#e5efff;font:600 1.7rem/1 var(--ui-body)}
#meta .dpCards{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;align-items:center;padding:0!important;margin:0!important;border:0;background:none;width:100%;cursor:pointer;border-radius:6px}
#meta .dpCards .dpc{display:grid;place-items:center;min-width:0;width:100%!important;height:39px!important;border-radius:7px!important;background:radial-gradient(ellipse at 50% 90%,color-mix(in srgb,var(--rc,#82dccc) 22%,#102035),#102035)!important;border:1px solid color-mix(in srgb,var(--rc,#82dccc) 65%,transparent)!important;box-shadow:inset 0 1px 0 #ffffff18;overflow:hidden}
#meta .dpCards img{width:100%!important;height:36px!important;object-fit:contain;transform:scale(var(--as,1));transform-origin:50% 80%;filter:drop-shadow(0 2px 2px #0009)}
#meta .battle{border-radius:18px!important;min-height:78px;padding:13px 0!important;background:linear-gradient(#ffe8aa,#edc774)!important;border:1px solid #fff0c8!important;box-shadow:inset 0 2px 0 #fff6d4,0 4px 0 #85632d,0 10px 22px #0006!important}
#meta .battle b{font:700 1.9rem/1 var(--ui-title)!important;letter-spacing:.11em!important;color:#3c290d!important}
#meta .battle small{font:800 .73rem/1.2 var(--ui-body)!important;color:#655028!important;margin-top:6px!important}
#meta .peRank{font:800 .75rem/1.35 var(--ui-body)!important;color:#e1f2ff;text-shadow:0 1px 4px #000}
#meta .peNext{font:800 .74rem/1.3 var(--ui-body)!important;border-color:#b8d4e92e!important;background:#0c1b2ee8!important;max-width:290px;padding:7px 12px}
#meta .pEmblem .peClaim{font:900 .63rem/1 var(--ui-body)!important;letter-spacing:.04em}
#meta .sideBtn small{font:900 .65rem/1.1 var(--ui-body)!important;text-transform:none!important;letter-spacing:0!important}
#meta .hSide{gap:28px!important}
#scr-deck .dtabs{padding:4px;border:1px solid var(--ui-line);border-radius:14px;background:#0a1424;gap:4px;margin:0 0 16px}
#scr-deck .dtabs .dt{min-height:40px;border:0!important;border-radius:9px!important;font:900 .8rem/1 var(--ui-body)!important;letter-spacing:0!important;background:transparent!important}
#scr-deck .dtabs .dt.on{background:linear-gradient(#2f6155,#234c44)!important;color:#c6ffee!important;box-shadow:inset 0 1px 0 #ffffff18!important}
#scr-deck .deckTitle{margin:0 1px 10px;align-items:center}
#scr-deck .deckTitle b{font:900 .8rem/1.3 var(--ui-body)!important;letter-spacing:0;text-transform:none;color:var(--ui-text)}
#scr-deck .deckTitle b small{display:inline-block;margin-left:6px;font:700 .69rem/1.3 var(--ui-body);color:var(--ui-muted)}
#scr-deck .avgElixir{display:flex;gap:5px;align-items:center;font:900 .92rem/1 var(--ui-body);color:#dfc6ff}
.avgElixir i{width:12px;height:15px;border-radius:7px 7px 8px 8px;display:inline-block;background:linear-gradient(140deg,#ebdbff,#b286ee 45%,#7653c1);border:1px solid #eddcff;box-shadow:inset 1px 1px 0 #ffffff88}
.avgElixir small{font:800 .65rem var(--ui-body);color:var(--ui-muted)}
#scr-deck .mydeck,#scr-deck .coll{gap:10px 8px;grid-template-columns:repeat(4,minmax(0,1fr))!important}
#meta .ctile{height:140px!important;min-height:140px!important;padding:0!important;display:block;border-radius:11px!important;border:1.5px solid color-mix(in srgb,var(--rc,#80d8cd) 75%,#19304a)!important;background:#14253b!important;overflow:hidden!important;box-shadow:inset 0 1px 0 #ffffff55,0 3px 0 #040c19,0 5px 10px #0004!important;transition:transform .16s,box-shadow .16s}
#meta .ctile.in{box-shadow:inset 0 1px 0 #ffffff55,0 3px 0 #040c19,0 6px 12px #0004!important}
#meta .ctile .vcBg{inset:3px;border-radius:8px;background:radial-gradient(ellipse at 50% 28%,rgba(var(--dc,95,205,193),.36),transparent 64%),linear-gradient(#182b44,#0c172a)!important;box-shadow:inset 0 1px 0 #ffffff18!important}
#meta .ctile .vcBg::before{animation:none!important;opacity:.35}
#meta .ctile .cart{position:absolute!important;inset:5px 3px auto;height:91px!important;width:auto!important;display:grid;place-items:center;overflow:visible}
#meta .ctile[data-k] .cart img{width:100%!important;height:88px!important;max-height:88px!important;max-width:100%!important;object-fit:contain;transform:scale(var(--as,1))!important;transform-origin:50% 83%;filter:drop-shadow(0 4px 3px #0008)}
#meta .ctile .cart::after{bottom:2px;height:9px;width:75%}
#meta .ctile .cnm{position:absolute!important;left:3px;right:3px;bottom:25px!important;height:31px;display:flex;align-items:center;justify-content:center;z-index:3;margin:0;padding:0 1px;font:900 .73rem/1.1 var(--ui-body)!important;letter-spacing:-.015em!important;color:#f7fbff;text-align:center;word-break:normal;overflow-wrap:normal;text-shadow:0 2px 3px #000!important;background:none!important}
#meta .ctile::after{content:"";position:absolute;left:0;right:0;bottom:0;height:52px;background:linear-gradient(transparent,#0a1529 26%);pointer-events:none;z-index:1}
#meta .ctile .ccost{position:absolute;top:5px!important;left:5px!important;width:26px!important;height:29px!important;display:grid;place-items:center;padding:0!important;border-radius:13px!important;background:linear-gradient(145deg,#e8d8ff,#b895ef 42%,#7953ba)!important;border:1.5px solid #f1e6ff!important;box-shadow:inset 0 1px 0 #fff9,0 2px 2px #0b102866!important;color:#fff!important;font:400 1.1rem/1 'VCDisplay',var(--ui-body)!important;text-shadow:0 1px 1px #513481!important;transform:none!important;z-index:4}
#meta .ctile .clvl{bottom:8px!important;left:3px!important;right:3px!important;padding:0!important;min-height:14px;display:flex;align-items:center;justify-content:center;gap:3px;font:800 .64rem/1 var(--ui-body)!important;color:#bdcce0!important;letter-spacing:.01em;z-index:3;opacity:1;white-space:nowrap}
#meta .ctile .clvl.ready{color:#a2f2d4!important}
#meta .ctile .cup{position:static!important;flex:none;width:14px!important;height:14px!important;border-radius:4px;background:#85e6c5!important;color:#163f34!important;box-shadow:none!important;font:900 .8rem/1 var(--ui-body)!important;animation:none!important;z-index:4}
#meta .ctile .crar{width:7px!important;height:7px!important;top:9px!important;right:8px!important;box-shadow:0 0 0 1px #091428!important;z-index:4}
#meta .ctile.rar-legendary .crar{width:9px!important;height:9px!important}
#meta .ctile .crun{height:3px!important;z-index:4}
#meta .ctile .cMed{left:auto;right:5px;top:28px;bottom:auto;z-index:4;transform:scale(.8);transform-origin:right top}
#meta .ctile.locked{filter:none!important;opacity:1!important;border-color:#405069!important}
#meta .ctile.locked .cart{filter:grayscale(.8);opacity:.4}
#meta .ctile.locked .ccost{filter:saturate(.45);opacity:.75}
#meta .ctile.locked .cnm{color:#c3cfe1!important}
#meta .ctile.locked .clk{inset:auto 0 7px!important;display:flex;align-items:center;justify-content:center;gap:4px;background:none!important;font:800 .65rem/1 var(--ui-body)!important;color:#a5b6cc;z-index:4}
#meta .ctile.locked .clk .mi{width:12px;height:12px}
#meta .ctile.swap{box-shadow:0 0 0 2px #a4ffe2,0 4px 10px #0006!important}
#scr-deck .collHead{display:block;margin:25px 0 12px}
#scr-deck .collHead h3{margin:0 0 10px!important}
#scr-deck .fchips{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:1px 1px 7px;scrollbar-width:thin;scrollbar-color:#38536c transparent}
#scr-deck .fchip{flex:none;min-height:38px;padding:9px 12px;border-radius:10px;font:800 .75rem/1 var(--ui-body);background:#15273d;color:#bfcee1;border:1px solid #33495f}
#scr-deck .fchip.on{background:#275b50;border-color:#68baa1;color:#d1fff0}
#scr-deck .filterCount{display:inline-grid;place-items:center;min-width:17px;height:17px;margin-left:3px;border-radius:5px;background:#84e5c522;color:#b2f4dc;font-variant-numeric:tabular-nums}
#scr-deck .upgradeGroup{margin:0 0 20px}
#scr-deck .upgradeGroup h3{display:flex;align-items:center;gap:8px;margin:0 0 10px!important;font:800 .76rem/1.3 var(--ui-body)!important;text-transform:none!important;letter-spacing:.01em!important;color:#aac2d8!important}
#scr-deck .upgradeGroup h3 span{font-variant-numeric:tabular-nums;color:#89ddbe}
#scr-deck .deckAdvice{margin:15px 0 0;padding:0 12px;background:#142b39;border:1px solid #35505d;border-radius:12px;color:#bdcfdf}
#scr-deck .deckAdvice summary{min-height:44px;display:flex;align-items:center;gap:7px;cursor:pointer;font:850 .78rem/1.3 var(--ui-body);color:#e2efe9;list-style:none}
#scr-deck .deckAdvice summary::-webkit-details-marker{display:none}
#scr-deck .deckAdvice summary::before{content:'\203a';display:inline-block;color:#8ccdbb;font-size:1.1rem;transition:transform .15s}
#scr-deck .deckAdvice[open] summary::before{transform:rotate(90deg)}
#scr-deck .deckAdvice summary span{margin-left:auto;font:700 .69rem/1 var(--ui-body);color:#8fb2bb}
#scr-deck .deckAdvice>div{padding:0 0 11px;display:grid;gap:8px}
#scr-deck .deckAdvice p{margin:0;padding-left:10px;border-left:2px solid #5f9c8c;font:650 .76rem/1.45 var(--ui-body);color:#bdcfdf}
#scr-deck .coll>.qreset{grid-column:1/-1;text-align:left;margin:0;padding:12px;background:#14243a;border-radius:10px;color:var(--ui-muted)}
.spellArt{display:inline-grid;place-items:center;width:100%;height:100%;vertical-align:middle}
.spellArt>svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%}
#meta .ctile .spellArt{width:90px;height:88px;max-width:100%;z-index:1;filter:drop-shadow(0 3px 6px #0005)}
.dpCards .spellArt{height:35px}
#mmodal{background:rgba(3,9,19,.72)!important;backdrop-filter:blur(7px)!important;padding:14px!important}
.mbox{background:radial-gradient(ellipse at 15% 0,#29476466,transparent 50%),linear-gradient(#14263e,#0d192d)!important;border:1px solid #57728e!important;border-bottom:1px solid #57728e!important;border-radius:22px!important;box-shadow:inset 0 1px 0 #ffffff12,0 24px 70px #0008!important;padding:22px 18px 18px!important;max-height:calc(100dvh - 28px)!important;scrollbar-width:thin;scrollbar-color:#3b5470 transparent}
.mbox h2{font:700 1.5rem/1.2 var(--ui-title)!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;text-shadow:none!important;color:#fff1d3!important}
.mbox::after{display:none!important}
.mClose,.pvX{width:38px!important;height:38px!important;top:12px!important;right:12px!important;border:1px solid #526984!important;background:#11243c!important;color:#c9d7ea!important;font:500 1.5rem/1 var(--ui-body)!important;border-radius:12px!important;box-shadow:0 2px 6px #0003!important}
.mbox .shHead{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;min-height:147px;margin:-3px -1px 14px;padding:8px 10px 8px 4px!important;background:radial-gradient(ellipse at 18% 40%,color-mix(in srgb,var(--sheet-color,#87d9d1) 26%,transparent),transparent 70%),linear-gradient(125deg,#23394d,#15233b)!important;border:1px solid color-mix(in srgb,var(--sheet-color,#87d9d1) 38%,#253b56);border-radius:17px}
.mbox .shHead>div{padding:16px 0 0;min-width:0}
.mbox .shHead h2{font-size:1.35rem!important;overflow-wrap:anywhere;line-height:1.1!important;margin-bottom:8px}
.mbox .shHead h2.long{font-size:1.15rem!important}
.mbox .shIdle{width:112px;height:122px;display:grid;place-items:center}
.mbox .sheet .shArt{width:116px!important;height:126px!important;max-width:116px!important}
.mbox .shRole{display:flex;flex-wrap:wrap;gap:6px}
.mbox .rchip{font:900 .59rem/1 var(--ui-body);padding:4px 7px;margin:0;letter-spacing:.08em;border-radius:5px}
.mbox .shRoleT{font:800 .75rem/1.3 var(--ui-body);color:#cad7e8}
.mbox .shCost{left:7px!important;top:8px!important;width:29px!important;height:32px!important;font-family:'VCDisplay',var(--ui-body)!important;z-index:2}
.mbox .shDesc{font:650 .85rem/1.5 var(--ui-body)!important;color:#c8d7ea!important;margin:10px 0!important}
.mbox .kFacts{gap:7px;margin:12px 0}
.mbox .kFacts>div,.mbox .cInfo>div:not(.cGroup){background:#091629;border:1px solid #2d415b;border-radius:10px;padding:10px!important}
.mbox .kFacts small,.mbox .cInfo small{font-size:.61rem!important;color:#a8bdd8!important;letter-spacing:.055em}
.mbox .kFacts b{font-size:.93rem!important}
.mbox .kUse{font:750 .84rem/1.5 var(--ui-body)!important;background:#16323f!important;border-color:#70d5c3!important;padding:11px 13px!important;border-radius:0 10px 10px 0}
.mbox .upBlock{background:linear-gradient(#183040,#102334);border-color:#3d635f;padding:13px;margin:13px 0}
.mbox .ubTop{font-size:.81rem}
.mbox .ubTop span{font-variant-numeric:tabular-nums;color:#bbdcdb}
.mbox .shMore,.mbox .mBlockD{border:1px solid #30435e;border-radius:12px;background:#0e1e33;margin:10px 0}
.mbox .shMore summary,.mbox .mBlockD summary{font:850 .8rem/1.3 var(--ui-body)!important;min-height:46px;display:flex;align-items:center;gap:8px;padding:12px!important}
.mbox .mBlockD summary span{font:700 .7rem/1.4 var(--ui-body);color:#b3c7df}
.mbox .shBtns{margin:16px 0 0;border-top:1px solid #31445d;padding-top:12px}
.mbox .shBtns .btn{flex:1}
.mbox .shNote{font:650 .74rem/1.45 var(--ui-body)!important}
.mbox .pfHead{padding:0 40px 16px 0;gap:14px}
.mbox .pfTitle{font:800 .76rem var(--ui-body);color:var(--ui-gold)}
.mbox .pfLevel{padding:14px;border-color:#3b5571;background:#0e2037}
.mbox .pfLevel small{font:650 .76rem/1.45 var(--ui-body);color:var(--ui-muted)}
.mbox .pfTrack{gap:6px}
.mbox .pfR{min-height:40px;border:1px solid #233c57;background:#112239;border-radius:10px}
.mbox .pfR b{width:27px;height:27px;font-size:.8rem}
.mbox .pfR span{font-size:.74rem}
.mbox .pfCl{padding:10px!important;min-height:68px;border:1px solid #304a62!important;background:#112138!important;border-radius:12px!important}
.mbox .pfCl b{font-size:.8rem}
.mbox .pfCl small{font-size:.71rem;line-height:1.3;color:#afc4dd}
.mbox .pstats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mbox .pstats div{background:#11253c;border:1px solid #35506b;padding:12px;border-radius:12px}
.mbox .pstats b{font:900 1.3rem var(--ui-body);color:#ffe3a3}
.mbox .pfChips .chip{font-family:var(--ui-body);min-height:40px}
.mbox input[type="text"],.mbox input:not([type]),.mbox textarea,.pvBox textarea{background:#071527!important;border:1px solid #49607b!important;color:var(--ui-text)!important;border-radius:10px!important;font:750 .85rem/1.4 var(--ui-body)!important;padding:12px!important}
.mbox input:focus-visible,.mbox textarea:focus-visible,.pvBox textarea:focus-visible{outline:2px solid var(--ui-mint);outline-offset:2px}
.mbox .sett>.eyebrow{margin:1px 44px 5px 0}
.mbox .sett>h2{margin:0 42px 20px 0}
.mbox .stGroup{margin:0 0 18px}
.mbox .stGroup h3{font:900 .65rem/1.3 var(--ui-body)!important;letter-spacing:.12em!important;text-transform:uppercase;color:#94afcc!important;margin:0 0 7px}
.mbox .tgl{gap:18px;min-height:53px;padding:12px 0!important;font:850 .89rem/1.35 var(--ui-body)!important;letter-spacing:0!important;text-transform:none!important;border-bottom:1px solid #31445b99!important}
.mbox .tgl>span{display:block;min-width:0;font:850 .89rem/1.35 var(--ui-body)!important;letter-spacing:0!important;text-transform:none!important}
.mbox .tgl small{display:block;margin-top:5px;color:#a9bdd5!important;font:650 .75rem/1.4 var(--ui-body)!important;letter-spacing:0;text-transform:none}
.mbox .tgl input{flex:none!important;min-width:44px!important;width:44px!important;height:26px!important;border-color:#4b617b!important;cursor:pointer}
.mbox .tgl input:checked{background:#60cbb5!important;border-color:#8af1d4!important}
.mbox .tgl input::after{width:20px;height:20px;top:2px;left:2px}
.mbox .tgl input:checked::after{transform:translateX(18px)}
.mbox .stActions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.mbox .stActions h3,.mbox .stActions>.wide,.mbox .stActions>.row2{grid-column:1/-1}
.mbox .stActions>.row2{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}
.mbox .stActions .btn{width:100%;margin:0!important;font-size:.76rem!important;padding:10px!important}
.mbox .stAdvanced{background:#0c1b2f;border:1px solid #2c445f;border-radius:12px;padding:0 12px;margin:12px 0}
.mbox .stAdvanced>summary{font:800 .81rem/1.4 var(--ui-body);padding:14px 0;min-height:46px;color:#bbcee3;cursor:pointer}
.mbox .stFooter{margin:16px 0 0}
.mbox .stFooter .btn{width:100%}
.mbox .ver{font:650 .7rem/1.45 var(--ui-body)!important}
#scr-road .rhead{justify-content:flex-start;padding:16px 18px;margin:0 0 18px;border:1px solid #756b45;border-radius:16px;background:linear-gradient(130deg,#343728,#172738);gap:12px;text-shadow:none}
#scr-road .rhead>.mi{color:#f1cf7a;width:30px;height:30px}
#scr-road .rhead>b{font:900 2.15rem/1 var(--ui-body);color:#fff0ba}
#scr-road .rhead>small{font:850 .8rem/1.3 var(--ui-body);color:#efdfb7}
#scr-road .rhead small span{display:block;font:650 .7rem/1.4 var(--ui-body);color:#bdc6c9;margin-top:2px}
#scr-road .rleague.place{padding:10px!important;border:1px solid color-mix(in srgb,var(--lc) 45%,#253f50)!important;border-radius:13px!important;background:linear-gradient(115deg,#22362f,#122139)!important;margin:22px 0 10px!important}
#scr-road .rthumb{width:66px!important;height:51px!important;border-radius:8px!important;border:1px solid #d0e2b944}
#scr-road .rltxt b{font:850 .9rem/1.25 var(--ui-body)!important;color:#f5f4da}
#scr-road .rltxt em{font:650 .69rem/1.35 var(--ui-body)!important;color:#b7c9cb;margin-top:3px}
#scr-road .rstep{min-height:75px;border:1px solid #334a64!important;border-radius:12px!important;background:linear-gradient(110deg,#1a2e43,#122237)!important;grid-template-columns:52px minmax(0,1fr) auto!important;gap:7px!important;padding:11px 10px!important;animation:none!important;opacity:1}
#scr-road .rstep .rt{font:900 .76rem/1 var(--ui-body)!important;color:#d0dceb;padding-left:0!important;min-width:0!important;grid-row:auto!important}
#scr-road .rstep>.btn,#scr-road .rstep>.rst{grid-column:auto!important}
#scr-road .rstep .rt .mi{width:12px;height:12px;color:#edd591}
#scr-road .rstep .rrw{grid-template-columns:32px minmax(0,1fr)!important;gap:8px}
#scr-road .rstep .rrw b{font:900 .82rem/1.15 var(--ui-body)!important}
#scr-road .rstep .rrw small{font:650 .67rem/1.3 var(--ui-body)!important;color:#a8bdd2;margin-top:3px}
#scr-road .rstep .rrw img,#scr-road .rstep .rrw .rart{width:34px!important;height:42px!important}
#scr-road .rstep.first{border-color:#e6c777!important;background:linear-gradient(110deg,#3d3c28,#253744)!important;box-shadow:0 0 0 1px #e6c77755,0 6px 16px #0003!important}
#scr-road .rstep.ready:not(.first){box-shadow:none!important;border-color:#756d4b!important}
#scr-road .rstep.ready:not(.first)::before{width:10px!important;height:10px!important;left:28px!important;margin-top:-5px!important;box-shadow:0 0 0 3px #15273b!important;background:#d9bd78!important;border:0!important}
#scr-road .rstep.ready:not(.first) .btn.primary{filter:none!important;background:#2f4150!important;color:#f9dea0!important;border-color:#a08b54!important;box-shadow:none!important}
#scr-road .rstep.first::before{width:15px!important;height:15px!important;left:25.5px!important;margin-top:-7.5px!important;box-shadow:0 0 0 3px #1c2d3d,0 0 10px #eccb7166!important}
#scr-road .rstep.got{opacity:.7}
#scr-road .rstep.landmark{padding-top:31px!important;background:linear-gradient(120deg,#313858,#172a43)!important;border-color:#8b90af!important}
#scr-road .rstep.landmark .rrw{grid-template-columns:58px minmax(0,1fr)!important}
#scr-road .rstep.landmark .rrw img,#scr-road .rstep.landmark .rrw .rart{width:58px!important;height:66px!important}
#scr-road .lmTag{left:72px;font:900 .6rem/1 var(--ui-body);letter-spacing:.11em;color:#d7d9ff}
#scr-road .road{padding-left:20px}
#scr-road .rleague.place{margin-left:-20px!important}
#scr-road .rstep::before,#scr-road .rstep.got::before,#scr-road .rstep.ready:not(.first)::before{left:-18px!important;width:10px!important;height:10px!important;margin-top:-5px!important}
#scr-road .rstep.first::before{left:-20px!important;width:14px!important;height:14px!important;margin-top:-7px!important}
#scr-road .roadLine{width:3px!important;left:7px!important;box-shadow:none!important;background:#405168!important}
#scr-road .roadLine i{box-shadow:none!important;background:#cbb171!important}
#scr-ranks .rkCard{background:linear-gradient(120deg,#304031,#172b41)!important;border:1px solid #788466!important;border-radius:16px!important;padding:14px!important;box-shadow:0 10px 20px #06122066!important;backdrop-filter:none;gap:13px!important}
.rkCard .rkBig{padding-right:12px;border-right:1px solid #7b926855}
.rkCard .rkBig b{font:900 1.95rem/1 var(--ui-body)!important;color:#ffe3a4}
.rkCard .rkBig small{font:900 .61rem/1 var(--ui-body)!important;letter-spacing:.08em;text-transform:uppercase}
.rkCard .rkIsland{font:900 .61rem/1.2 var(--ui-body);letter-spacing:.13em;text-transform:uppercase;color:#a9d9bf;margin-bottom:2px}
.rkCard .rkInfo>b{font:900 1rem/1.2 var(--ui-body)!important}
.rkCard .rkInfo span{font-size:.7rem!important;color:#c9d5d7}
.rkCard .rkInfo em{font:750 .73rem/1.3 var(--ui-body)!important;color:#8ce6d0!important;margin-top:3px}
.rkCard .rkAi{font-size:.64rem!important;color:#aebfc9}
#scr-ranks .rkRow{min-height:67px;padding:10px 12px!important;border:1px solid #2a4057!important;background:linear-gradient(100deg,#1b2d40,#122137)!important;border-radius:12px!important;gap:10px;margin:6px 0}
#scr-ranks .rkRow.me{border-color:#6cccaf!important;background:linear-gradient(100deg,#285445,#16372f)!important;box-shadow:inset 3px 0 0 #95eccf!important}
#scr-ranks .rkRow.rival{border-color:#805161!important;box-shadow:inset 3px 0 0 #e49aab!important}
#scr-ranks .rkAv{width:39px;height:39px;background:#0d1b2c;border:1px solid #52708766}
#scr-ranks .rkName b{font:900 .86rem/1.25 var(--ui-body)!important}
#scr-ranks .rkName small{font:700 .65rem/1.35 var(--ui-body)!important;color:#aec3d9;margin-top:3px}
#scr-ranks .rkTro{font:900 .86rem var(--ui-body)!important;color:#ffe3a4;min-width:44px;gap:4px}
#scr-ranks .rkPos{min-width:21px;width:21px;font:900 .8rem var(--ui-body)!important;color:#bdccdf}
#scr-quests .qChest{padding:15px 13px;background:radial-gradient(ellipse at 0 0,#526c7144,transparent 60%),linear-gradient(115deg,#213c4c,#172d46);border:1px solid #627fa4;border-radius:16px;gap:11px;margin:0 0 16px}
#scr-quests .qChest .qcIco{width:43px;height:50px;border-radius:13px;background:linear-gradient(#44678c,#234459);border:1px solid #81b8bba1;color:#b5ffee;box-shadow:inset 0 1px 0 #ffffff33}
#scr-quests .qChest b{font:900 .96rem var(--ui-body)}
#scr-quests .qChest small{font:650 .73rem/1.4 var(--ui-body);color:#c2d3e6;margin:4px 0 8px}
#scr-quests .qChest .srBar{background:#0a192c;height:6px}
#scr-quests .qChest .srBar i{background:linear-gradient(90deg,#79c6c5,#b1f3d7)}
#scr-quests .qChest em{font:900 .9rem var(--ui-body);color:#b9fbe3}
#scr-quests .qlist{display:grid;gap:9px}
#scr-quests .quest{grid-template-columns:37px minmax(0,1fr) 66px!important;gap:10px!important;min-height:98px;padding:13px 11px!important;background:linear-gradient(125deg,#1e334b,#14253c)!important;border:1px solid #344d67!important;border-radius:14px!important}
#scr-quests .qIco{width:36px;height:42px;border:0;background:#0c1e34;border-radius:10px;color:#f0d797}
#scr-quests .qIco img{width:36px;height:40px}
#scr-quests .qtxt b{font:900 .85rem/1.3 var(--ui-body)!important;color:#f1f6ff}
#scr-quests .qrow{display:flex;flex-wrap:wrap;gap:5px 8px;margin-top:8px}
#scr-quests .qbar{height:5px!important;min-width:35px;flex:1 1 35px;background:#0b182c!important;border-radius:3px}
#scr-quests .qbar i{background:linear-gradient(90deg,#51b4a2,#99e9cd)!important}
#scr-quests .qcnt{font:850 .69rem/1.3 var(--ui-body)!important;color:#b8d6dc;white-space:nowrap}
#scr-quests .qside{align-items:stretch;gap:6px;padding-left:8px;border-color:#49627966}
#scr-quests .qrw{font:900 .8rem/1 var(--ui-body)!important;justify-content:center;color:#ffe2a5;white-space:nowrap}
#scr-quests .qSwap{min-height:36px!important;padding:8px 4px!important;margin:0!important;font-size:.68rem!important;border-color:#3d5d76!important;background:#233a51!important;box-shadow:none!important;color:#c7d9ee!important;width:100%}
#scr-quests .qside .btn.primary{font-size:.7rem!important;padding:8px 5px!important;min-height:38px}
#scr-quests .quest.done{border-color:#79b496!important;background:linear-gradient(120deg,#294e42,#1c3441)!important;box-shadow:none!important}
#scr-quests .quest.done::after{display:none!important}
#scr-quests .quest.claimed{background:#15283b!important;opacity:.8!important}
#scr-quests .qClaimed{font-size:.62rem;gap:2px}
#scr-quests .qreset{font:650 .75rem/1.5 var(--ui-body)!important;color:#aabed5!important;margin:14px 0;text-align:left}
#scr-quests .qShopD{border-top:1px solid #3c5169;margin-top:22px;padding-top:5px}
#scr-quests .qShopD>summary{font:900 .9rem/1.3 var(--ui-body)!important;letter-spacing:0!important;padding:16px 0!important;color:#f5e1b8;cursor:pointer;min-height:50px}
#meta .qShopD>h3{font:900 .84rem/1.3 var(--ui-body)!important;text-transform:none!important;letter-spacing:.01em!important;color:var(--ui-text)!important}
#scr-quests .dropInfo{padding:14px;background:#172d43;border:1px solid #39556f;border-radius:14px;gap:11px;flex-wrap:wrap}
#scr-quests .dropInfo>.mi{width:30px;height:30px;color:#9debdc}
#scr-quests .diRow{font-size:.76rem;line-height:1.5}
.diRow b{color:#d6f8ec}
#scr-quests .shop{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#scr-quests .offer{gap:7px;padding:14px 11px!important;border-radius:15px!important;border:1px solid color-mix(in srgb,var(--rc,#94c8d5) 45%,#31485f)!important;background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--rc,#94c8d5) 14%,transparent),transparent 62%),linear-gradient(#21364d,#14283f)!important;filter:none!important;transform:none!important;box-shadow:inset 0 1px 0 #ffffff11!important}
#scr-quests .offer.spot{border-color:#dfc783!important;box-shadow:inset 0 1px 0 #ffffff22,0 0 0 1px #dfc78344!important}
#scr-quests .oArt{height:85px;align-items:center}
#scr-quests .oArt img{height:80px;max-width:100%;object-fit:contain}
#scr-quests .oTitle{font:900 .9rem/1.25 var(--ui-body)!important;margin-top:6px;min-height:2.5em;display:grid;align-items:center}
#scr-quests .oPrice{font-size:.83rem;border-color:#7891ad33;margin-top:1px;padding-top:10px}
#scr-quests .oHave{font:700 .71rem var(--ui-body);color:#aec5df}
#scr-quests .offer .btn{width:100%;margin-top:4px;min-height:40px!important}
#scr-quests .offer.sold{opacity:.68}
#scr-quests .wildShop .oArt{height:65px}
#howOv .sheet,.pvBox{background:radial-gradient(ellipse at 0 0,#29476177,transparent 60%),linear-gradient(#172b44,#101e33)!important;border:1px solid #536e89!important;border-radius:22px!important;box-shadow:0 25px 80px #0009!important;padding:24px 20px!important}
#howOv h1,.pvBox h2{font:700 1.55rem/1.2 var(--ui-title)!important;color:#fff0d1!important;letter-spacing:0;text-transform:none;text-shadow:none!important}
#howOv p,.pvBox p{font:650 .85rem/1.5 var(--ui-body)!important;color:#bbcee3!important}
#howOv .howTopics{display:grid;gap:9px;margin:16px 0 4px}
#howOv .howTopic{display:flex;align-items:center;gap:12px;text-align:left;min-height:52px!important;background:#203a54!important;border-color:#3d5874!important;padding:8px 12px!important}
.howTopicN{display:grid;place-items:center;width:27px;height:30px;flex:none;border-radius:7px;background:#10263d;color:#93dcca;font:900 .69rem var(--ui-body)}
.howTopicArrow{margin-left:auto;font:400 1.3rem var(--ui-body);color:#a6bfd7}
#howOv .howPick{font-size:.85rem;color:#a9bfd8}
#howOv .howArt{border-radius:14px;background:#0b1b2e}
#howOv .row{gap:8px;margin-top:22px}
.pvBox{max-width:440px!important}
.pvBox h2{padding-right:35px;margin-bottom:12px}
.pvChoice{gap:12px}
.pvSub{margin-bottom:20px!important}
.pvBox .pvSt:empty{display:none}
.moBtn,.dfxBtn{min-height:48px!important;min-width:145px}
.moFoot{padding:13px 20px calc(16px + env(safe-area-inset-bottom,0px));background:linear-gradient(#132239,#0b172b)!important;border-color:#42546b;box-shadow:0 -12px 30px #0005}
.moFoot .moBtn{width:min(100%,380px)}
.vsSearch b{font:850 .93rem/1.4 var(--ui-body);letter-spacing:.02em;text-transform:none;text-align:center}
.vsCard{border-radius:18px;padding:16px}
.vsTxt{min-width:0}
.vsTxt b{font:900 1.4rem/1.15 var(--ui-body);overflow-wrap:anywhere}
.vsTxt small{font:750 .76rem/1.4 var(--ui-body)}
.moVs .moRays,.moCel .moRays{opacity:.24!important;mask-image:radial-gradient(closest-side,#000 10%,transparent 66%)}
.dfxOut h2{font:700 1.6rem/1.2 var(--ui-title)!important;letter-spacing:0!important}
.dfxOut p{font:750 .85rem/1.5 var(--ui-body)!important;color:#bdcee2}
.dfxHint{font:850 .87rem/1.3 var(--ui-body)!important;letter-spacing:.01em!important;text-transform:none!important}
.dfxHead>small{font:900 .67rem var(--ui-body)!important;letter-spacing:.18em!important}
.dfxSkip{font:850 .8rem var(--ui-body)!important;border-radius:10px!important;min-height:42px}
.celText{font:750 .9rem/1.5 var(--ui-body)!important;color:#c0d2e6}
#intro .inBg,#intro .inShade,#intro .inRays,#intro .inMotes,#intro .inPortal,#intro .ipBeam,#intro .ipCore,#intro .inVeras,#intro .inFlash{pointer-events:none}
#intro .inRays{opacity:.3!important}
#intro .inTitle p{font:800 .9rem/1.5 var(--ui-body)!important;color:#dbeaff;max-width:300px;margin:10px auto}
#intro .inTap{z-index:4;min-width:238px;min-height:54px;border-radius:16px!important;background:linear-gradient(#ffe8aa,#edc774)!important;border:1px solid #fff0c8!important;color:#3c290d!important;font:900 1rem/1.2 var(--ui-body)!important;letter-spacing:.025em!important;text-shadow:none!important;box-shadow:inset 0 1px 0 #fff5d3,0 4px 0 #765a29,0 8px 24px #0006!important}
#intro.ready .inTap{opacity:1!important;animation:none!important;pointer-events:auto}
#coach .cBub{background:linear-gradient(#1b344a,#112339)!important;border:1px solid #759caa!important;box-shadow:0 8px 25px #0006!important;border-radius:16px!important;font:750 .9rem/1.5 var(--ui-body)!important;color:#e7f2ff!important}
#coach #cOk{font:900 .82rem/1.25 var(--ui-body)!important;letter-spacing:0!important;text-transform:none!important;border-radius:11px!important;min-height:42px;padding:10px 17px!important;color:#39260d!important;background:linear-gradient(#ffe7a5,#edc774)!important;box-shadow:inset 0 1px 0 #fff8df,0 3px 0 #765a29!important}
body.in-battle .hud .score,body.in-battle .hud .clock{border-radius:14px!important;border-color:#56708188!important;background:linear-gradient(#172c3c,#0a1929)!important;box-shadow:inset 0 1px 0 #ffffff12,0 3px 10px #0003!important}
body.in-battle .hud .score{font-family:var(--ui-body)!important;letter-spacing:.025em!important;text-transform:none!important}
body.in-battle .hud .clock>span{font-family:var(--ui-body)!important;letter-spacing:.065em!important;text-transform:none!important}
body.in-battle .hudHelp{border-color:#70879b88!important;background:#112237d9!important;color:#dcecff!important}


/* Real layout adaptations, including the game's Larger text preference. */
@media(min-width:700px){#meta.sub .mwrap{max-width:710px!important;padding:20px 28px 30px}
#meta .screenHeading{margin:6px 0 25px}
#meta .screenHeading h1{font-size:1.9rem!important}
#scr-deck .mydeck,#scr-deck .coll{gap:16px 12px}
#meta .ctile{height:178px!important;min-height:178px!important}
#meta .ctile .cart{height:121px!important;inset:8px 6px auto}
#meta .ctile[data-k] .cart img{height:116px!important;max-height:116px!important}
#meta .ctile .cnm{font-size:.86rem!important;bottom:29px!important;height:32px}
#meta .ctile .clvl{bottom:12px!important;font-size:.71rem!important}
#meta .ctile .cup{bottom:9px!important;right:8px!important}
#meta .ctile .spellArt{width:117px;height:116px}
#meta .ctile::after{height:62px}
#scr-quests .shop{grid-template-columns:repeat(3,minmax(0,1fr))}
.mbox{padding:25px!important;max-width:530px}
.mbox .shHead{grid-template-columns:148px minmax(0,1fr);min-height:173px;padding-right:26px!important}
.mbox .shIdle,.mbox .sheet .shArt{width:144px!important;height:155px!important;max-width:144px!important}
.mbox .shHead h2{font-size:1.6rem!important}
.mbox .shHead h2.long{font-size:1.4rem!important}}

@media(min-width:1000px){#meta.sub .mwrap:has(#scr-deck:not([hidden])){max-width:1070px!important}
#meta #scr-deck{max-width:none!important}
#scr-deck .mydeck,#scr-deck .coll{grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:16px 11px}
#scr-deck .dtabs{max-width:380px}
#meta #scr-deck .ctile{height:170px!important;min-height:170px!important}
#meta #scr-deck .ctile .cart{height:114px!important}
#meta #scr-deck .ctile[data-k] .cart img{height:110px!important;max-height:110px!important}
#meta #scr-deck .ctile .cnm{font-size:.77rem!important}
#meta.sub .mwrap:has(#scr-quests:not([hidden])){max-width:940px!important}
#scr-quests .qlist{grid-template-columns:1fr 1fr;gap:12px}
#scr-quests .quest{min-height:112px}
#scr-quests .qChest{max-width:580px}
#scr-quests .shop{grid-template-columns:repeat(4,minmax(0,1fr))}
#scr-quests .qShopD{margin-top:28px}}

@media(max-width:359px){#meta .mtop{padding:8px 10px;gap:5px}
#meta .cur{padding:0 6px!important;gap:3px!important}
#meta .cur b{font-size:.75rem!important}
#meta .cur .mi{width:15px!important}
#meta .meAv,#meta .meAv img{width:36px!important;height:36px!important}
#meta .me{gap:5px}
#meta .meTxt b{font-size:.79rem!important}
#meta .gear{width:44px!important}
#meta.sub .mwrap{padding:10px 12px 22px}
#meta .screenHeading h1{font-size:1.38rem!important}
.screenCount{font-size:.65rem;max-width:86px;padding:6px}
.eyebrow{font-size:.55rem;letter-spacing:.12em}
#scr-deck .mydeck,#scr-deck .coll{gap:9px 6px}
#meta .ctile{height:135px!important;min-height:135px!important}
#meta .ctile .cnm{font-size:.66rem!important}
#meta .ctile .ccost{width:23px!important;height:26px!important;font-size:.98rem!important}
#meta .ctile .cart{top:8px;height:82px!important}
#meta .ctile[data-k] .cart img{height:79px!important;max-height:79px!important}
#scr-deck .deckTitle b small{font-size:.61rem;margin-left:3px}
#scr-deck .avgElixir{font-size:.8rem}
#scr-road .rstep{grid-template-columns:44px minmax(0,1fr) auto!important;gap:5px!important;padding-left:6px!important;padding-right:7px!important}
#scr-road .rstep .rrw{grid-template-columns:27px minmax(0,1fr)!important;gap:5px}
#scr-road .rstep .rrw img,#scr-road .rstep .rrw .rart{width:28px!important}
#scr-road .rstep .rrw b{font-size:.75rem!important}
#scr-road .rstep .btn.sm{padding:8px!important;font-size:.68rem!important}
#scr-quests .quest{grid-template-columns:30px minmax(0,1fr) 60px!important;gap:7px!important;padding:11px 8px!important}
#scr-quests .qIco{width:29px}
#scr-quests .qIco img{width:29px}
#scr-quests .qtxt b{font-size:.79rem!important}
.mbox{padding:20px 13px 15px!important}
#mmodal{padding:9px!important}
.mbox .shHead{grid-template-columns:88px minmax(0,1fr);gap:7px;min-height:136px}
.mbox .shIdle,.mbox .sheet .shArt{width:92px!important;max-width:92px!important;height:112px!important}
.mbox .shHead h2{font-size:1.15rem!important}
.mbox .shHead h2.long{font-size:1rem!important}
.mbox .shRoleT{font-size:.7rem}
.mbox .tgl{font-size:.84rem!important}
.mbox .tgl small{font-size:.72rem!important}}
body.bigText #meta .ctile{height:153px!important;min-height:153px!important}
body.bigText #meta .ctile .cnm{font-size:.82rem!important;height:38px;bottom:27px!important;hyphens:manual}
body.bigText #meta .ctile .clvl{font-size:.72rem!important}
body.bigText #meta .screenHeading{flex-wrap:wrap}
body.bigText #scr-quests .qtxt b,body.bigText .mbox .shDesc{font-size:1rem!important}
body.bigText .mbox .tgl,body.bigText .mbox .tgl>span{font-size:1.04rem!important}
body.bigText .mbox .tgl small{font-size:.88rem!important}
body.bigText #scr-road .rstep{grid-template-columns:44px minmax(0,1fr)!important}
body.bigText #scr-road .rstep .rt{grid-row:span 2!important}
body.bigText #scr-road .rstep>.btn,body.bigText #scr-road .rstep>.rst{grid-column:2!important;justify-self:start}
body.bigText .mbox .shHead{min-height:158px}
body.bigText #scr-deck .deckTitle{flex-wrap:wrap}

@media(min-width:700px){body.bigText #meta #scr-deck .ctile{height:190px!important;min-height:190px!important}}

@media(max-height:740px){#meta .hBottom{gap:9px}
#meta .battle{min-height:66px;padding:10px 0!important}
#meta .battle b{font-size:1.65rem!important}
#meta .dpCards .dpc{height:30px!important}
#meta .dpCards img{height:29px!important}
.dpCards .spellArt{height:28px}
#meta .dpMid{min-height:31px}}

@media(max-width:699px){#meta .hSide{left:14px;right:14px!important;top:10px!important;bottom:auto!important;display:flex;justify-content:space-between;gap:12px!important}
#meta .hSide>:only-child{margin-left:auto}
#meta .hSide .sideBtn{width:48px!important;height:48px!important}
#meta .hSide .sideBtn .mi{width:29px!important;height:32px!important}}

@media(prefers-reduced-motion:reduce){#meta .ctile{transition:none!important}
.moVs .vsTxt{animation:none!important}}
body.fxLow #meta .ctile{transition:none!important}


/* Source: css/battle-hand.css */
/* One battle-only component, loaded after the legacy themes. */
body.battle-hand-pass.in-battle .dock{
  --bh-card-height:clamp(100px,13dvh,132px);
  padding:6px 10px max(7px,env(safe-area-inset-bottom,0px))!important;
  gap:6px!important;border-top:1px solid #4e65684d;border-radius:18px 18px 0 0;
  background:linear-gradient(180deg,#14232e 0%,#0a1621 34%,#07121c 100%)!important;
  box-shadow:0 -5px 20px #03101955,inset 0 1px 0 #aecacf12;
}
.bh-readout{order:0;min-height:24px;display:flex;flex-direction:column;justify-content:center;gap:1px;pointer-events:none;padding:0 2px 3px;min-width:0;text-align:left}
.bh-readout-main{font:800 11px/13px var(--num);color:#cbd7e0;letter-spacing:.1px}
.bh-readout-detail{font:600 10.5px/12px var(--num);color:#91a6b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bh-readout[data-tone="ready"] .bh-readout-main{color:#a1f7dc}
.bh-readout[data-tone="need"] .bh-readout-main{color:#e2c6ff}
.bh-readout[data-tone="field"] .bh-readout-main,.bh-readout[data-tone="full"] .bh-readout-main{color:#f2d596}
.bh-readout[data-tone="wild"] .bh-readout-main,.bh-readout[data-wild="wild"] .bh-readout-detail{color:#f2d596}
.bh-readout[data-tone="warn"] .bh-readout-main,.bh-readout[data-wild="warn"] .bh-readout-detail{color:#ffb599}
.bh-readout[data-wild="ready"] .bh-readout-detail{color:#a1dfca}
body.battle-hand-pass.in-battle #info.bh-docked{display:none!important}
body.battle-hand-pass #elLeak{display:none!important}

/* Four generous hit areas. The selected face lifts just five pixels. */
body.battle-hand-pass.in-battle #hand{order:1;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,.60fr)!important;gap:8px!important;align-items:center;padding:3px 0 4px}
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key]){
  --bh-edge:#829da9;--bh-aura:#42647a;--bh-deep:#233443;
  display:block!important;padding:0!important;isolation:isolate;position:relative;
  height:var(--bh-card-height,116px)!important;min-height:0!important;aspect-ratio:auto!important;
  background:linear-gradient(150deg,var(--bh-edge),#2b3d49 46%,#627680)!important;
  border:1px solid var(--bh-edge)!important;border-radius:11px!important;
  box-shadow:inset 0 1px 0 #e4faff88,inset 0 -2px 0 #071019cc,0 3px 0 #020912,0 5px 9px #0006!important;
  overflow:visible!important;opacity:1!important;filter:none!important;transform:none!important;
  transition:box-shadow .16s,border-color .16s!important;text-align:center;touch-action:none;-webkit-tap-highlight-color:transparent;
}
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key])[data-bh-rarity="rare"]{--bh-edge:#78b9e0;--bh-aura:#39759c;--bh-deep:#18334c}
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key])[data-bh-rarity="epic"]{--bh-edge:#b696db;--bh-aura:#755b94;--bh-deep:#302743}
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key])[data-bh-rarity="legendary"]{--bh-edge:#dfbd79;--bh-aura:#9c7644;--bh-deep:#3d3329}
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key])[data-bh-type="spell"]{--bh-edge:#73b7b6;--bh-aura:#2f777d;--bh-deep:#163c45}
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key])::before,
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key])::after{display:none!important}
:is(#hand,.flycard) .bh-visual{position:absolute;inset:3px 3px 33px;display:grid;place-items:center;overflow:hidden;border-radius:7px 7px 0 0;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,var(--bh-aura),var(--bh-deep) 88%);transition:filter .16s ease}
:is(#hand,.flycard) .bh-visual::before{content:"";position:absolute;inset:0;opacity:.4;background:repeating-conic-gradient(from 5deg at 50% 80%,#d1efff00 0deg 23deg,#d1efff15 24deg 37deg,#d1efff00 38deg 52deg)}
:is(#hand,.flycard) .bh-visual::after{content:"";position:absolute;inset:0;box-shadow:inset 0 2px 7px #030c1344;border:1px solid #e9f7ff0e;border-radius:inherit;pointer-events:none}
:is(#hand,.flycard) .bh-halo{position:absolute;bottom:-8%;left:9%;right:9%;height:27%;border:1px solid #d0ecfa25;border-radius:50%;background:radial-gradient(ellipse,#cdf2ff25,transparent 68%);box-shadow:0 -1px 7px #d3eeff15;transform:rotate(-8deg)}
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key]) .art{
  position:absolute!important;inset:3px 0 0!important;width:100%!important;height:calc(100% - 3px)!important;max-width:none!important;max-height:none!important;
  margin:0!important;object-fit:contain!important;object-position:50% 100%!important;transform:none!important;
  filter:drop-shadow(0 3px 2px #05101baa)!important;pointer-events:none;z-index:1;
}
:is(#hand,.flycard) .bh-spell-icon{position:relative;display:block;width:100%;height:100%;max-height:100%;filter:drop-shadow(0 2px 3px #020d1899)}
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key]) .cost{
  top:-2px!important;left:-4px!important;bottom:auto!important;right:auto!important;width:29px!important;height:31px!important;
  display:grid;place-items:center;padding:0!important;z-index:5;border:1.5px solid #e3d1ff!important;border-radius:10px 10px 13px 10px!important;
  clip-path:none!important;background:linear-gradient(145deg,#d0a3fb 0%,#a571e1 37%,#7243b5 72%,#532e8c)!important;
  font:400 23px/1 VCDisplay,var(--num)!important;color:#fff!important;text-shadow:0 2px 1px #4d247e!important;
  box-shadow:inset 0 1px 0 #fff9,inset 0 -2px 0 #3d1b6266,0 2px 0 #100c24,0 3px 5px #04091680!important;transform:none!important;
}
:is(#hand,.flycard) .bh-caption{position:absolute;inset:auto 3px 3px;height:35px;display:flex;flex-direction:column;justify-content:center;gap:1px;background:linear-gradient(180deg,#12202cef,#0b1722);border-top:1px solid #bddce329;border-radius:0 0 7px 7px;pointer-events:none;z-index:2}
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key]) .nm{
  position:static!important;display:block!important;margin:0!important;padding:0 1px!important;inset:auto!important;height:auto!important;
  background:none!important;font:900 12px/17px var(--num)!important;letter-spacing:-.35px!important;
  color:#f3f6fa!important;text-shadow:0 1px 1px #0006!important;white-space:nowrap;word-break:normal!important;overflow-wrap:normal!important;
}
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key]) .nm.bh-long{font-size:10.8px!important;letter-spacing:-.5px!important}
:is(#hand,.flycard) .bh-target{font:600 10px/14px var(--num);letter-spacing:-.25px;color:#becdd8;white-space:nowrap}
:is(#hand,.flycard) .bh-count,:is(#hand,.flycard) .bh-crown{position:absolute;top:5px;right:5px;z-index:3;display:grid;place-items:center;min-width:20px;height:18px;padding:0 3px;border:1px solid #bed7e04d;border-radius:5px;background:#07121dba;color:#edf5ff;font:900 10px/1 var(--num);pointer-events:none}
:is(#hand,.flycard) .bh-crown{color:#ffdc89;border-color:#edcb755c}
.bh-crown svg{width:15px;height:13px}
:is(#hand,.flycard) .bh-state{position:absolute;z-index:4;left:50%;bottom:40px;max-width:calc(100% - 6px);transform:translateX(-50%);height:17px;padding:0 5px;border:1px solid #9ba8b66b;border-radius:5px;background:#141e2bee;color:#ebf1f7;font:800 10px/15px var(--num);white-space:nowrap;pointer-events:none}
:is(#hand,.flycard) .bh-state:empty{display:none}
:is(#hand,.flycard) .bh-charge{display:none;position:absolute;z-index:5;left:4px;bottom:3px;width:calc((100% - 8px)*var(--ch,0));height:2px;border-radius:2px;background:#c2a1f1;box-shadow:0 0 4px #b586d766;pointer-events:none}

/* Availability is a word as well as a visual treatment; text retains contrast. */
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key])[data-bh-state]:not([data-bh-state="ready"]){--bh-edge:#62727e;--bh-aura:#4d5961;--bh-deep:#25323c;background:linear-gradient(150deg,#71808b,#24333f 48%,#475963)!important;border-color:#647681!important}
:is(#hand .card,.flycard[data-bh-key])[data-bh-state]:not([data-bh-state="ready"]) .bh-visual{filter:grayscale(1) brightness(.72)}
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key])[data-bh-state]:not([data-bh-state="ready"]) .cost{background:linear-gradient(145deg,#8994a4,#5a6474 55%,#3e485a)!important;border-color:#b7c1d2!important;text-shadow:0 2px 1px #283346!important}
:is(#hand .card,.flycard[data-bh-key])[data-bh-state]:not([data-bh-state="ready"]) :is(.bh-count,.bh-crown){filter:grayscale(1)}
:is(#hand .card,.flycard[data-bh-key])[data-bh-state="need"] .bh-charge{display:block}
:is(#hand .card,.flycard[data-bh-key])[data-bh-state="need"] .bh-state{color:#e6d1ff;border-color:#ac87d77d;background:#241c35ed}
:is(#hand .card,.flycard[data-bh-key])[data-bh-state="queued"] .bh-state{color:#c2efe8;border-color:#8bc5bd88}
:is(#hand .card,.flycard[data-bh-key])[data-bh-state="field"] .bh-state{color:#eee1bb}
body.battle-hand-pass.in-battle #hand .card[aria-pressed="true"][data-bh-state="ready"]{border-color:#b1ffe7!important;box-shadow:inset 0 0 0 1px #afffe4,0 0 0 2px #79e7c7,0 5px 0 #042923,0 6px 18px #59ddbd32!important;transform:translateY(-5px)!important;z-index:5}
body.battle-hand-pass.in-battle #hand .card[aria-pressed="true"][data-bh-state="ready"] .bh-caption{background:linear-gradient(#173a3c,#102c30);border-top-color:#91eedb66}
#hand .card[aria-pressed="true"][data-bh-state="ready"] .bh-state{background:#b2f8df;color:#12382d;border-color:#e3fff6;font-weight:900}
body.battle-hand-pass.in-battle #hand .card[aria-pressed="true"]:not([data-bh-state="ready"]){box-shadow:inset 0 0 0 1px #b4c1cf,0 0 0 1px #b4c1cf,0 3px 0 #020912!important}
body.battle-hand-pass.in-battle #hand .card[data-bh-dragging="true"] .bh-visual{opacity:.55}
body.battle-hand-pass.in-battle #hand .card.fb-no{border-color:#ffa998!important;box-shadow:0 0 0 2px #e68d7c!important}
body.battle-hand-pass.in-battle #hand .card:focus-visible{outline:2px solid #fff;outline-offset:4px;z-index:6}
@media(hover:hover) and (pointer:fine){body.battle-hand-pass.in-battle #hand .card[data-bh-state="ready"]:not([aria-pressed="true"]):hover{border-color:#d5f8f5!important;box-shadow:inset 0 1px 0 #fff8,0 0 0 1px #bad9df88,0 3px 0 #020912,0 5px 12px #0008!important}}

/* Next is a small stack, distinct from the four playable buttons. */
body.battle-hand-pass.in-battle #hand .next{align-self:center;position:relative;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:5px!important;min-width:0;padding:0!important;height:100%;border:0!important;border-left:1px solid #8ea7b223!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible!important;pointer-events:none}
.bh-next-label{font:800 8px/11px var(--num);letter-spacing:1.3px;text-transform:uppercase;color:#92a9ba;white-space:nowrap}
.bh-next-label span{font-size:14px;color:#b9c9d6}
body.battle-hand-pass.in-battle #hand .next .nxCard{position:relative;display:grid!important;place-items:center;width:calc(100% - 8px)!important;height:53px!important;margin:0 0 2px 4px!important;border:1px solid #526a7c!important;border-radius:7px!important;background:linear-gradient(#203344,#14222e)!important;box-shadow:2px -2px 0 #111f2c,3px -3px 0 #4f667470,0 3px 5px #0005!important;overflow:visible!important;isolation:isolate}
body.battle-hand-pass.in-battle #hand .next .nxCard img{position:relative;width:100%!important;max-width:100%!important;height:49px!important;object-fit:contain;filter:drop-shadow(0 2px 2px #0006)!important;opacity:.9}
.bh-next-cost{position:absolute;left:-4px;bottom:-4px;z-index:3;display:grid;place-items:center;width:18px;height:19px;border:1px solid #b7a1d7;border-radius:6px;background:linear-gradient(145deg,#956acb,#50347d);color:#fff;font:400 14px/1 VCDisplay,var(--num);text-shadow:0 1px #28163e}
/* A long name owns two complete lines; the preview art yields space on short phones. */
body.battle-hand-pass.in-battle #hand .next b{display:block!important;flex:0 0 auto;min-height:22px;max-width:100%;padding-left:4px;white-space:normal!important;overflow-wrap:anywhere;text-wrap:balance;font:700 9px/11px var(--num)!important;color:#aebfcd;letter-spacing:-.3px;text-shadow:none}

/* The energy meter sits beneath the hand, close to the player's thumb. */
body.battle-hand-pass.in-battle .bar{order:2;position:static!important;min-height:24px;display:grid!important;grid-template-columns:minmax(0,1fr) 104px!important;gap:9px!important;align-items:center;padding:0 1px 0 34px}
body.battle-hand-pass.in-battle #elBar{height:10px!important;margin:0!important;border:1px solid #6453818c!important;border-radius:4px!important;background:#211d33!important;box-shadow:inset 0 1px 4px #0007!important;overflow:visible!important;isolation:isolate}
body.battle-hand-pass.in-battle #elBar .fill{inset:0 auto 0 0!important;height:100%!important;max-width:100%;border-radius:3px!important;background:linear-gradient(180deg,#c19be9,#9264ce)!important;box-shadow:inset 0 1px 0 #efd7ff55!important;transition:width .1s linear;animation:none!important}
body.battle-hand-pass.in-battle #elBar .fill::after{display:none!important}
body.battle-hand-pass.in-battle #elBar .ticks{inset:0!important;z-index:3;height:100%!important;overflow:hidden;border-radius:3px;pointer-events:none}
body.battle-hand-pass.in-battle #elBar .ticks i{border-right:2px solid #14132377!important}
body.battle-hand-pass.in-battle #elBar .ticks i:last-child{border:0!important}
body.battle-hand-pass.in-battle #elBar .num{position:absolute;left:-35px!important;top:50%!important;transform:translateY(-50%)!important;width:27px!important;height:28px!important;display:grid;place-items:center;border:1px solid #d8c0f4!important;border-radius:9px!important;background:linear-gradient(145deg,#bd8beb,#7145af)!important;clip-path:none!important;box-shadow:inset 0 1px 0 #fff6,0 2px 0 #110c23!important;font:400 21px/1 VCDisplay,var(--num)!important;color:#fff;text-shadow:0 1px 1px #4b2679;animation:none!important}
.bh-elixir-meta{font:800 9px/12px var(--num);letter-spacing:.7px;text-align:right;color:#b8a6d3;white-space:nowrap}
.bh-elixir-meta[data-preview="true"]{font-size:10px;letter-spacing:0;color:#c4f8e8}
.bh-spend,.bh-reserved{position:absolute;top:0;height:100%;z-index:2;pointer-events:none;border-radius:2px;background:repeating-linear-gradient(120deg,#efdeff9c 0 3px,#774eaf99 3px 6px);box-shadow:inset 0 0 0 1px #e1cafa99}
.bh-reserved{background:repeating-linear-gradient(120deg,#879eab 0 3px,#243d4e 3px 6px);box-shadow:inset 0 0 0 1px #b0c3cc77}
body.battle-hand-pass.in-battle #elBar.full{border-color:#cfabf7!important;box-shadow:0 0 7px #b385e335!important}
body.battle-hand-pass.in-battle .bar .tap{top:min(-163px,calc(-88px - var(--bh-tile,18px)*5.5))!important;right:6px!important}
body.battle-hand-pass.in-battle .bar .valk{top:-79px!important;right:6px!important}
body.battle-hand-pass.in-battle .dock>details{order:3}

/* Narrow phones, larger text, practice and reduced effects. */
@media(max-width:374px){body.battle-hand-pass.in-battle .dock{padding-left:8px!important;padding-right:8px!important}body.battle-hand-pass.in-battle #hand{gap:6px!important;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,.55fr)!important}.bh-readout-detail{font-size:10.5px}body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key]) .nm{font-size:11px!important}body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key]) .nm.bh-long{font-size:9.7px!important}}
@media(min-width:700px){:is(#hand,.flycard) .bh-target{font-size:10px}body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key]) .nm{font-size:13px!important;line-height:18px!important}}
body.battle-hand-pass.bigText.in-battle .dock{--bh-card-height:clamp(122px,15dvh,148px)}
body.battle-hand-pass.bigText .bh-readout{min-height:38px}
body.battle-hand-pass.bigText .bh-readout-main{font-size:13px;line-height:16px}
body.battle-hand-pass.bigText .bh-readout-detail{font-size:12px;line-height:15px;white-space:normal}
body.battle-hand-pass.bigText :is(#hand,.flycard) .bh-caption{height:50px;left:1px;right:1px}
body.battle-hand-pass.bigText :is(#hand,.flycard) .bh-visual{bottom:48px}
body.battle-hand-pass.bigText.in-battle :is(#hand .card,.flycard[data-bh-key]) .nm{font-size:12px!important;line-height:17px!important;white-space:normal;overflow-wrap:normal!important;hyphens:manual!important}
body.battle-hand-pass.bigText :is(#hand,.flycard) .bh-target{font-size:10.5px;line-height:15px;white-space:nowrap}
body.battle-hand-pass.bigText :is(#hand,.flycard) .bh-state{bottom:55px;font-size:10.5px}
body.battle-hand-pass.in-battle.practice #hand{grid-template-columns:1fr minmax(0,1fr) 1fr!important}
body.battle-hand-pass.in-battle.practice #hand .card:nth-child(n+2){display:none!important}
/* Multi-card lessons use the regular four-slot hand inside the same dock. */
body.battle-hand-pass.in-battle.practice.exact-practice #hand{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,.60fr)!important}
body.battle-hand-pass.in-battle.practice.exact-practice #hand .card{display:block!important;grid-column:auto!important}
body.battle-hand-pass.in-battle.practice.exact-practice #next{visibility:visible}
@media(max-width:374px){body.battle-hand-pass.in-battle.practice.exact-practice #hand{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,.55fr)!important}}
body.battle-hand-pass.bench :is(.bh-readout,.bh-elixir-meta){visibility:hidden!important}
body.battle-hand-pass.fxLow.in-battle #hand :is(.card,.bh-visual){transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){body.battle-hand-pass.in-battle :is(#hand .card,#hand .bh-visual,.flycard[data-bh-key]){transition:none!important;animation:none!important}}
/* very narrow phones (320 px): "Ground only" measured 55 px in a 54 px label in Chromium; a hair tighter so no letter is clipped */
@media (max-width:340px){ body.battle-hand-pass #hand .bh-target{letter-spacing:-0.4px} }   /* tighter than the base -0.25px: about 11 characters gain 1.6 px */
/* the coach bubble is text, not a control: taps pass through to the arena everywhere except its own button */
#cBub{pointer-events:none}
#cBub #cOk{pointer-events:auto}


/* Wild identity occupies the existing two-line readout; no arena space added. */
.bh-readout.hasWildPortrait196{position:relative;padding-left:32px}
.wildPortrait196{position:absolute;left:1px;top:1px;width:26px;height:26px;overflow:hidden;pointer-events:none}
.wildPortrait196>*{display:block!important;width:100%!important;height:100%!important;margin:0!important}
.hasWildPortrait196 .bh-readout-main,.hasWildPortrait196 .bh-readout-detail{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}

.wildRules196 ul{padding-left:1.2em}.wildRules196 li{margin:.6em 0;line-height:1.5}
.wildRules196>summary,.terrainDemo196>summary{min-height:44px;font:700 .9rem/1.4 var(--ui-body);color:#d7e4e8}
.wildRules196 li{font:500 .9rem/1.5 var(--ui-body);color:#c3d1db}
body.bigText .wildRules196 li,body.bigText .wildRules196>summary{font-size:1rem}
.terrainDemo196 canvas{display:block;width:100%;height:auto;max-height:210px;object-fit:contain;background:#142329;border:1px solid #53635d;border-radius:8px;margin:10px 0}
.terrainDemo196>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.terrainDemoLabel196{font-weight:700;color:#d6dcbf}.terrainDemo196 button{min-height:44px;flex:0 0 auto}

/* Source: css/onboarding.css */
/* Short, contextual lessons. Card explanations stay inside the scrollable
   sheet; menu pointers leave the highlighted action available. */
#coach .cBub[data-menu]{width:min(88vw,350px);max-height:calc(100dvh - 24px);overflow:auto;animation:none!important;text-align:left}
#coach .cBub b{color:#f7d590}
#coach .cHand{transform:translate(var(--x0,0px),var(--y0,0px))}
#coach .cBub[data-menu] #cOk{display:block;width:100%;margin:12px 0 0}
#coach #cSkip{display:block;margin:8px auto 0;padding:6px 12px;min-height:32px;border:0;background:none;color:#b7cfdd;font:750 .72rem/1.3 var(--ui-body);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#coach #cSkip[hidden],#coach .cBub[data-menu] #cOk[hidden]{display:none}
#cardGuide{position:relative;margin:12px 0 18px;padding:14px;border:1px solid #5ca79a;border-radius:13px;background:linear-gradient(135deg,#183c46,#122c3e);box-shadow:inset 0 1px 0 #c5ffdf14;text-align:left;scroll-margin:16px}
#cardGuide .guideEyebrow{display:block;margin-bottom:6px;color:#92e4cd;font:900 .63rem/1.3 var(--ui-body);letter-spacing:.08em;text-transform:uppercase}
#cardGuide h3{margin:0 0 7px!important;color:#fff2d4!important;font:900 .98rem/1.25 var(--ui-body)!important;letter-spacing:0!important;text-transform:none!important}
#cardGuide p{margin:0;color:#d1e1ec;font:650 .82rem/1.45 var(--ui-body)}
#cardGuide .guideFoot{display:block;margin-top:8px;font:650 .73rem/1.4 var(--ui-body);color:#a3c3d2}
#cardGuide .guideFoot:empty{display:none}
#cardGuide .guideActions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}
#cardGuide .guideActions .btn{min-height:44px;flex:1;font-size:.8rem!important;padding:10px 13px!important;white-space:normal}
#cardGuide .guideLink{padding:9px 7px;min-height:40px;border:0;background:none;color:#c0dbdf;font:800 .73rem/1.3 var(--ui-body);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#cardGuide button:focus-visible,#coach button:focus-visible{outline:2px solid #c2ffe5;outline-offset:3px}
#mmodal .guideFocus{outline:2px solid #f1d28b!important;outline-offset:4px;scroll-margin:18px}
#mmodal .sheet:has(#cardGuide) .shBtns{position:static}
body.bigText #cardGuide p{font-size:.94rem}
body.bigText #cardGuide .guideActions .btn,body.bigText #cardGuide .guideLink{font-size:.86rem!important}
@media(max-width:359px){#cardGuide{padding:12px}#cardGuide .guideActions{gap:5px}}
@media(prefers-reduced-motion:reduce){#coach .cSpot{animation:none!important;transition:none!important}}


/* Source: css/rewards.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
body:has(.dfx:not(.out),.mo:not(.out))>.flyIco{visibility:hidden}
.runeEmblem{display:block;width:38px;height:46px;overflow:visible;filter:drop-shadow(0 3px 3px #0008)}
#meta .dropInfo>.runeEmblem{width:40px;height:48px;flex:none}
#meta .ricon .runeEmblem{width:29px;height:35px}
#meta #hDrop .runeEmblem{width:34px;height:42px;filter:drop-shadow(0 2px 2px #000a) drop-shadow(0 0 8px #b7dbe866)}
#meta #hDrop{background:radial-gradient(ellipse at 40% 20%,#476e82,#10243b 70%)!important;border-color:#8cbcd29c!important;box-shadow:inset 0 1px 1px #d7f4ff38,0 3px 0 #081621,0 5px 17px #0008!important}
#meta #hDrop::after{content:"";position:absolute;inset:4px;border:1px solid #a4ddf522;border-radius:inherit;pointer-events:none}
.resNextCue{display:block;text-align:center;font:750 .7rem/1.4 var(--ui-body);color:#b3c9d8;margin:0 0 9px}
.moCel:has(.oaVault) .moRays{opacity:.12!important}
.moCel:has(.oaVault) .moBody{display:flex;flex-direction:column;align-items:stretch;min-height:0;height:100%;width:min(620px,100%);padding:22px 20px 20px;overflow:hidden}
.moCel:has(.oaVault) .celCard{min-height:0;flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 2px 18px;scrollbar-width:thin;scrollbar-color:#55667d transparent}
.moCel:has(.oaVault) .celArt{display:none}
.moCel:has(.oaVault) .celTitle{font:700 1.9rem/1.1 var(--ui-title)!important;letter-spacing:0;margin:2px 0 8px}
.moCel:has(.oaVault) .celKick{font:850 .65rem/1.2 var(--ui-body);letter-spacing:.15em;color:#a4d8d3;margin-top:auto}
.moCel:has(.oaVault) .celBtns{flex:none;display:flex;justify-content:center;margin:0;padding-top:12px;border-top:1px solid #536f8755;background:#0b1a2a88}
.moCel:has(.oaVault) .celBtns .moBtn{width:100%;max-width:380px}
.oaVault{width:100%;margin-bottom:auto}
.oaTotals{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.oaTotals span{font:750 .7rem/1.3 var(--ui-body);color:#bfd1e2;background:#162f42;border:1px solid #52728569;border-radius:8px;padding:8px 10px}
.oaTotals b{color:#f3e2b7;font-size:.87rem}
.oaVault .oaList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:none;overflow:visible;width:100%;margin:0}
.oaVault .oaRow{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;padding:12px 8px;gap:6px;border:1px solid color-mix(in srgb,var(--reward-color,#83bbcb) 55%,#263b51);border-radius:14px;background:radial-gradient(ellipse at 50% 27%,color-mix(in srgb,var(--reward-color,#83bbcb) 16%,#183047),#0b1a2c 76%);box-shadow:inset 0 1px 0 #d1faff14}
.oaVault .oaTier{font:900 .51rem/1.2 var(--ui-body);letter-spacing:.08em;text-transform:uppercase;color:var(--reward-color,#d0e6ec);margin:0;max-width:100%}
.oaVault .oaArt{display:grid;place-items:center;width:100%;height:85px;flex:none;background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,var(--reward-color,#83bbcb) 18%,transparent),transparent 64%)}
.oaVault .oaArt img{max-width:112px;width:auto;height:auto;max-height:93px;filter:drop-shadow(0 5px 4px #0008)}
.oaVault .oaArt>.mi{width:52px;height:52px;filter:drop-shadow(0 4px 3px #0006)}
.oaVault .oaRow>b{font:850 .77rem/1.25 var(--ui-body);color:#e5eff6;overflow-wrap:anywhere;max-width:100%;flex:none}
.oaVault .oaAmount{font:900 .72rem/1.25 var(--ui-body);color:#c7f1e0;background:#153b3e;padding:4px 9px;border-radius:6px;border:1px solid #74b69b3b}
.oaVault .oaFirst{padding:10px;border:1px solid #d8ba6666;border-radius:10px;color:#ead5a0!important;background:#3b302522;font:750 .8rem/1.4 var(--ui-body)!important;margin:14px 0 0;max-width:none}
.oaVault .oaSaved{font:750 .68rem/1.35 var(--ui-body)!important;color:#9fb6c6!important;margin:14px 0 0;max-width:none}
body.bigText .oaVault .oaRow>b{font-size:.9rem}
body.bigText .oaVault .oaTier{font-size:.6rem}
body.bigText .oaVault .oaAmount{font-size:.82rem}
body.bigText .resNextCue{font-size:.8rem}

@media(max-width:359px){.moCel:has(.oaVault) .moBody{padding:18px 12px 14px}
.oaVault .oaList{gap:8px}
.oaVault .oaRow{padding:10px 6px}
.oaVault .oaArt{height:75px}
.oaVault .oaArt img{max-width:95px;max-height:81px}}

@media(min-width:700px){.oaVault .oaList{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Help topic list with Larger text on short phones (360 x 640): six 52 px topics ran 3 px past the screen; 46 px keeps every topic above the 44 px touch minimum */
@media (max-height:700px){body.bigText #howOv .howTopic{min-height:46px!important;padding-top:4px!important;padding-bottom:4px!important}
body.bigText #howOv .howTopics{gap:7px;margin-top:12px}}
.spellDiag{display:block;width:100%;max-width:230px;height:auto;margin:6px auto 10px;overflow:visible}
.spellDiag text{font:600 11px/1 var(--ui-body,system-ui);fill:#dfe9f3;paint-order:stroke;stroke:#08131f;stroke-width:3px}
.spellDiag .sdA{fill:rgba(150,210,255,.28);stroke:#bfe6ff;stroke-width:1.5}
.spellDiag .sdB{fill:rgba(242,180,74,.22);stroke:#f2b44a;stroke-width:1.5;stroke-dasharray:4 3}
.spellDiag .sdAim{stroke:#fff;stroke-width:1.6}
.spellDiag .sdArrow{fill:#9fb4c8}
.spellDiag .sdLine{stroke:#9fb4c8;stroke-width:1.4;stroke-dasharray:3 3}
.spellDiag .sdHall{fill:#2c4766;stroke:#9fb4c8}
.cAdv{margin:8px 0;font-size:.9em;opacity:.9}
.cAdv summary{cursor:pointer;font-weight:700}
.spellDiag .sdC{fill:rgba(242,180,74,.5);stroke:#f2b44a;stroke-width:1.5}
.upDelta{margin:8px 0 6px;font-size:.92em;color:#cfdbe7}
.upDelta b{color:#fff}
.upDelta small{display:block;opacity:.8;margin-top:2px}


/* Source: css/mobile-polish.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
.spellPattern{margin:12px 0;padding:10px;border:1px solid #8faeb13b;border-radius:12px;background:#0b1924;scroll-margin:10px}
.spellPattern .spellDiag{display:block;width:100%;height:138px;max-height:138px;margin:0 auto 7px;overflow:visible}
.spellPattern .spellDiag text{font:800 .6px VCBody,sans-serif;fill:#fff5d8;stroke:#142131;stroke-width:.06px;paint-order:stroke}
.spellPattern .sdA,.spellPattern .sdC{fill:#8fcee52a;stroke:#a6dfee;stroke-width:.04}
.spellPattern .sdB{fill:#d8ad5733;stroke:#e1b765;stroke-width:.04}
.spellPattern .sdAim{stroke:#fff;stroke-width:.075;fill:none}
.spellPattern .sdLine{stroke:#a8bcc3;stroke-dasharray:.3 .2;stroke-width:.08;fill:none}
.spellPattern .sdBeam{stroke:#edcd7d;stroke-linecap:round;opacity:.8}
.spellPattern .sdHall{fill:#527d90;stroke:#d8e9ec;stroke-width:.06}
.spellPattern figcaption{display:grid;gap:4px;font:12px/1.35 var(--num);color:#c4d4dd}
.spellPattern figcaption b{color:#f1e3bc}
.mechanic{margin:12px 0;padding:12px;background:#0b1924;border:1px solid #8faeb13b;border-radius:12px}
.mechanic figcaption{font-size:13px;line-height:1.4;color:#bacdd5}
.mechanic figcaption b{display:block;color:#edf5f6;margin-bottom:3px}
.mechanic img{width:52px;height:55px;object-fit:contain}
.healRing{display:flex;justify-content:center;gap:26px;max-width:220px;margin:0 auto 10px;border:2px solid #80bfa9;border-radius:50%;padding:9px 13px;background:#487c5038}
.healRing span{display:grid;text-align:center;font-size:11px}
.healRing span:last-child b{color:#ffc0b9}
.healRing span:first-child b{color:#afdfff}
.towerRoute,.biteRhythm{display:flex;align-items:center;justify-content:center;gap:12px;min-height:68px;margin-bottom:5px}
.towerRoute span{text-align:center;font-size:24px;color:#d2bc80}
.towerRoute small{display:block;font-size:11px;color:#b3c5ce}
.miniObelisk{line-height:.75}
.biteRhythm b{border:1px solid #cbb57a;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;color:#f3d796}
.biteRhythm span{font-size:11px;color:#bacbd4}
body.battle-hand-pass.in-battle .hud{height:48px!important;padding:3px 8px!important;top:0!important;align-items:center!important}
body.battle-hand-pass.in-battle .hud :is(.score,.clock){padding:2px 9px!important;min-height:0!important;border-radius:10px!important}
body.battle-hand-pass.in-battle .clock b{font-size:24px!important;line-height:1!important}
body.battle-hand-pass.in-battle .clock span{font-size:8px!important;line-height:11px!important}
body.battle-hand-pass.in-battle .hud .score b{font-size:19px!important;line-height:20px!important}
body.battle-hand-pass.in-battle .hud .score{font-size:9px!important;line-height:10px!important;min-width:65px!important}
body.battle-hand-pass.in-battle .valh{height:4px!important;margin-top:2px!important}
body.battle-hand-pass.in-battle .dock{--bh-card-height:92px;padding-top:5px!important;padding-bottom:max(5px,env(safe-area-inset-bottom,0px))!important;gap:4px!important;border-radius:12px 12px 0 0!important}
body.battle-hand-pass.in-battle .bh-readout{min-height:27px;padding-bottom:0;gap:0}
body.battle-hand-pass.in-battle #hand{padding-top:2px;padding-bottom:2px;gap:6px!important}
body.battle-hand-pass.in-battle .bar{min-height:21px!important}

@media(max-height:740px){body.battle-hand-pass.in-battle .dock{--bh-card-height:80px}
.bh-readout-main{font-size:11px}
.bh-readout-detail{line-height:12px}}
body.battle-hand-pass.bigText.in-battle .dock{--bh-card-height:102px}
body.battle-hand-pass.bigText.in-battle .bh-readout{min-height:35px}

@media(min-height:820px){body.battle-hand-pass.in-battle .dock{--bh-card-height:98px}
body.battle-hand-pass.bigText.in-battle .dock{--bh-card-height:113px}}
body.battle-hand-pass.in-battle #hand .card:not([data-bh-state="ready"]){filter:grayscale(1)!important}
body.battle-hand-pass.in-battle #hand .card .nm.bh-long{font-size:10.7px!important;letter-spacing:-.3px!important}
body.battle-hand-pass.bigText.in-battle #hand .card .nm.bh-long{font-size:12px!important}
body.battle-hand-pass.in-battle #hand{height:calc(var(--bh-card-height) + 4px)!important;min-height:0!important}
body.battle-hand-pass.in-battle #hand .next{gap:3px!important;min-height:0!important}
body.battle-hand-pass.in-battle #hand .next .nxCard{height:42px!important}
body.battle-hand-pass.in-battle #hand .next .nxCard img{height:38px!important}
body.battle-hand-pass.in-battle #hand .next b{margin-top:0!important}
.resRankDetails{width:100%;border-top:1px solid #91b9c02b;padding-top:8px}
.resRankDetails>summary{min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#b9cdd8;font:700 13px var(--num)}
.resRankDetails>summary::after{content:'⌄';margin-left:10px}
.resRankDetails .resRank{margin-top:6px}
#howOv .sheet{max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain}
#howOv .howLeaveRow{position:sticky;bottom:-1px;background:#102236;padding-top:10px;z-index:2}
body.battle-hand-pass.in-battle .hud{height:0!important;padding:0!important;overflow:visible!important;background:none!important;border:0!important;box-shadow:none!important;pointer-events:none}
body.battle-hand-pass.in-battle .hud .score{position:absolute;top:5px;min-width:56px!important;padding:2px 6px!important;border:0!important;border-radius:7px!important;background:linear-gradient(#07141d9c,#07141d00)!important;box-shadow:none!important;text-shadow:0 1px 3px #020609,0 0 5px #020609;z-index:4}
body.battle-hand-pass.in-battle .hud .score.enemy{left:3px}
body.battle-hand-pass.in-battle .hud .score.player{right:3px}
body.battle-hand-pass.in-battle .hud :is(.hudHelp){position:fixed!important;top:49px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;pointer-events:auto;background:#071721b3!important;z-index:5}
body.battle-hand-pass.in-battle .hud .hudHelp{right:4px!important;left:auto!important}
body.battle-hand-pass.in-battle .bh-readout{position:relative;padding-right:75px;min-height:30px}
body.battle-hand-pass.in-battle .bh-battle-clock{position:absolute!important;inset:0 0 auto auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:70px!important;height:30px!important;min-height:0!important;margin:0!important;padding:0 0 0 7px!important;border:0!important;border-left:1px solid #92aab736!important;border-radius:0!important;background:none!important;box-shadow:none!important}
body.battle-hand-pass.in-battle .bh-battle-clock b{font:900 20px/20px var(--num)!important;color:#f2f5f6!important;text-shadow:none!important}
body.battle-hand-pass.in-battle .bh-battle-clock span{font:700 8px/10px var(--num)!important;letter-spacing:0!important;white-space:nowrap}
body.battle-hand-pass.bigText.in-battle .bh-readout{min-height:38px}
body.battle-hand-pass.bigText.in-battle .bh-battle-clock{height:38px!important}
body.battle-hand-pass.bigText.in-battle .bh-battle-clock b{font-size:23px!important;line-height:25px!important}
body.battle-hand-pass.in-battle .bar{position:absolute!important;top:-21px!important;left:9px!important;right:9px!important;height:18px!important;min-height:0!important;padding:0 0 0 27px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important;background:none!important;pointer-events:none}
body.battle-hand-pass.in-battle #elBar{height:7px!important;border-color:#d7bef16b!important;background:#0e09206b!important;box-shadow:0 1px 3px #0008!important;pointer-events:none}
body.battle-hand-pass.in-battle #elBar .num{left:-28px!important;width:22px!important;height:23px!important;font-size:17px!important;border-radius:7px!important;background:#653d92c9!important}
body.battle-hand-pass.in-battle .bh-elixir-meta{font-size:9px!important;line-height:12px!important;letter-spacing:0!important;color:#fff!important;text-shadow:0 1px 3px #000,0 0 3px #000}
body.battle-hand-pass.in-battle .bh-elixir-meta[data-mode="normal"]{display:none}
body.battle-hand-pass.in-battle .bar :is(.tap,.valk){pointer-events:auto}
body.perf-in-readout .bh-readout :is(.bh-readout-main,.bh-readout-detail){visibility:hidden}
#perfHud.in-readout{display:grid;grid-template-columns:1fr 1.8fr;align-content:center;gap:0 6px;background:#081620;font:700 10px/12px ui-monospace,monospace;padding:2px 3px}
#perfHud.in-readout>div:last-child{grid-column:1/-1}
body.battle-hand-pass.in-battle .bar :is(.tap,.valk){top:-56px!important;width:56px!important;height:48px!important;padding:0!important;min-height:48px!important;border-radius:13px!important;box-shadow:0 2px 5px #0008!important;animation:none!important}
body.battle-hand-pass.in-battle .bar .tap{right:2px!important;left:auto!important}
body.battle-hand-pass.in-battle .bar .valk{left:2px!important;right:auto!important}
body.battle-hand-pass.in-battle .bar :is(.tap .ico,.valk .vico){width:25px!important;height:25px!important;margin-top:-11px!important}
body.battle-hand-pass.in-battle .bar .abCap{inset:0!important;transform:none!important;max-width:none!important;padding:0!important;display:block!important;background:none!important;border:0!important;box-shadow:none!important;pointer-events:none}
body.battle-hand-pass.in-battle .bar .abCap b{position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:11px!important;line-height:12px!important;letter-spacing:0!important;color:#eef1ec!important}
body.battle-hand-pass.in-battle .bar .abCap i{position:absolute;inset:5px 0 auto;text-align:center;font-size:18px!important;line-height:23px!important;color:white!important;text-shadow:0 1px 3px #000,0 0 5px #000}
body.battle-hand-pass.in-battle #tapBtn[data-state="cd"] .ico{opacity:.15}
body.battle-hand-pass.in-battle #tapBtn:disabled{opacity:.75;filter:grayscale(1)}
body.battle-hand-pass.in-battle #tapBtn.ready{border-color:#f0d28a!important;box-shadow:0 0 0 1px #edcb7c,0 2px 5px #0008!important}
body.battle-hand-pass.in-battle .abilityCost{position:absolute;right:-3px;top:-5px;display:grid;place-items:center;width:18px;height:18px;background:#74479f;border:1px solid #d9b7f2;border-radius:7px;color:#fff;font:800 12px/1 var(--num);font-style:normal}
body.battle-hand-pass.in-battle .bar .valk .vico{opacity:.25}
body.battle-hand-pass.in-battle .bar .valk.ready .vico{opacity:1}
body.battle-hand-pass.in-battle .bar .valk .abCap i{font-size:12px!important}
body.battle-hand-pass.in-battle .bar .valk .abCap b{font-size:10px!important}

/* very narrow phones (320 px): "Earthquake" measured 58 px in a 54 px name label; a smaller, tighter name so no card name is clipped */
@media (max-width:340px){body.battle-hand-pass.in-battle #hand .card .nm{font-size:10px!important;letter-spacing:-0.45px!important}}

@media (max-width:340px){body.battle-hand-pass.in-battle #hand .card .nm.bh-long{font-size:10px!important;letter-spacing:-.5px!important}}


/* Source: css/home.css */
/* Home: identity, an open courtyard, a deck and one primary action. */
#meta.home{--home-gutter:16px;--home-column:492px}
#meta.home .mtop{max-width:var(--home-column);padding:10px var(--home-gutter) 8px;gap:8px;flex-shrink:0}
#meta.home .mwrap{max-width:var(--home-column);padding:0;overflow-y:auto;pointer-events:auto}
#meta.home #scr-home{position:relative;inset:auto;min-height:100%;padding:8px var(--home-gutter) 18px;gap:12px;pointer-events:auto}
#meta.home .meAv{flex:none}#meta.home .meTxt{flex:1;overflow:hidden}
#meta .me{overflow:visible}#meta .meTxt{min-width:0;overflow:hidden}
#meta.home .cur{flex:none;margin:0!important}#meta.home .gear{width:44px!important}

.homeIdentity{position:relative;z-index:3;flex:none}
.homeArena{display:flex;align-items:center;gap:9px;width:100%;min-height:78px;padding:0 12px 0 0;border:0;border-radius:16px;background:linear-gradient(110deg,#0d2036e8,#0c1c30c9 70%,#0c1c3055);color:#fff0c5;text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 #dbd5a833,0 3px 9px #0003;transition:transform .12s}
.homeArena:active{transform:translateY(2px)}
.homeArena .peCrest{width:73px;height:69px;flex:none;filter:drop-shadow(0 3px 4px #0007)}
.homeArena .cWings,.homeArena .cShine{animation:none}.homeArena .cRune{filter:none}
.homeArenaText{display:grid;gap:7px;min-width:0;flex:1}
.homeArenaText>b{font:700 1.08rem/1.18 var(--ui-title);letter-spacing:.02em;overflow-wrap:break-word;text-shadow:0 2px 3px #0008}
.homeTrophies{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:#f3d787;font:900 1rem/1 var(--ui-body)}
#meta .homeTrophies .mi{width:17px;height:17px}.homeTrophies strong{font-size:1.05em}
.homeRoadLink{font:750 .72rem/1.2 var(--ui-body);color:#cededc;margin-left:auto}.homeRoadLink>span{margin-left:3px;color:#f4d58c;font-size:1.2em}
.homeReady{width:7px;height:7px;border-radius:50%;background:#ffc876;box-shadow:0 0 0 2px #0d2338;flex:none}
.homeWorld{position:relative;flex:1 0 145px;min-height:145px;pointer-events:none!important}
#meta.home .hBottom{width:100%;margin:0;gap:12px;flex:none}
#meta.home .homeDeck{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:3px;align-items:center;padding:4px;border:1px solid #8dafbf80;border-radius:16px;background:linear-gradient(160deg,#203950ee,#102437f5);box-shadow:inset 0 1px 0 #edf6ff28,0 3px 0 #081926,0 7px 14px #0004}
#meta.home .homeDeck.starter{grid-template-columns:minmax(0,1fr)}
.homeDeckArrow{width:44px;min-height:48px;border:1px solid #d3b97b;border-radius:11px;background:linear-gradient(155deg,#426277,#263c51);color:#ffe3a0;font:600 1.9rem/1 var(--ui-body);cursor:pointer;box-shadow:inset 0 1px 0 #fff3,0 3px 0 #061320;touch-action:manipulation}
.homeDeckChoice{width:100%;min-width:0;min-height:54px;padding:0 4px;border:0;background:none;display:flex;align-items:center;justify-content:center;gap:10px;text-align:left;color:#f1f7ff;cursor:pointer;border-radius:10px}
.homeDeckPortrait{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:radial-gradient(ellipse at 50% 80%,#497176,#1a3046 75%);border:1px solid #a7bcce66;box-shadow:inset 0 1px 0 #fff3;overflow:hidden}
.homeDeckPortrait img{width:100%;height:100%;object-fit:contain;transform:scale(var(--as,1));filter:drop-shadow(0 2px 2px #0008)}
.homeDeckText{min-width:0;display:grid;gap:4px}.homeDeckText b{font:900 .98rem/1.15 var(--ui-body)}.homeDeckText small{font:750 .72rem/1.2 var(--ui-body);color:#b7cad7}
.homeDeckChevron{font:800 1.2rem var(--ui-body);color:#9fcbc7;margin-left:auto;padding:0 3px}
.homeDeckChoice:active{background:#a0dccc18;transform:translateY(1px)}
.homeDeckArrow:active{background:#1c3347;box-shadow:inset 0 2px 3px #020b1488,0 1px 0 #061320;transform:translateY(2px)}
.homeDeckArrow:focus-visible{outline:2px solid #b0f3e0;outline-offset:3px}
@media(hover:hover){.homeDeckArrow:hover{border-color:#ffdf95;background:linear-gradient(155deg,#52758a,#304b61)}}
#meta.home .battle{min-height:78px;padding:12px 5px!important;border-radius:18px!important;background:linear-gradient(#ffedb4,#f1cf7e 55%,#e4b964)!important;box-shadow:inset 0 2px 0 #fff6d4,0 4px 0 #85632d,0 10px 22px #0006!important}
#meta.home .battle b{font-size:1.85rem!important;text-shadow:0 1px 0 #fffa!important;letter-spacing:.09em!important}
#meta.home .battle small{font-size:.75rem!important;text-shadow:none!important}
#meta.home .skipTut{min-height:44px;justify-self:center;font-size:.8rem;color:#d9e4eb}
/* A Rune Drop is an object in the courtyard, not a full-width task panel. */
#meta.home #hDrop{position:absolute;right:0;bottom:10px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:98px;min-height:128px;padding:4px 0 0;border:0!important;background:none!important;box-shadow:none!important;cursor:pointer;pointer-events:auto;color:#fff1cc;isolation:isolate;touch-action:manipulation;transition:transform .12s}
#meta.home #hDrop::after{display:none}
#meta.home #hDrop .runeEmblem{position:relative;width:65px;height:82px;filter:drop-shadow(0 5px 3px #001221b0) drop-shadow(0 0 8px #acffff66);animation:homeRuneFloat 4s ease-in-out infinite}
.homeDropAura{position:absolute;inset:19px 4px 28px;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#82e7db66,transparent 68%);pointer-events:none}
.homeDropCount{position:absolute;right:8px;top:0;display:grid;place-items:center;min-width:25px;height:25px;padding:0 5px;border-radius:50%;background:linear-gradient(#ffe5a2,#ebbb68);border:2px solid #3b3024;color:#4b3016;font:900 .85rem/1 var(--ui-body);box-shadow:0 2px 3px #0005}
.homeDropLabel{position:relative;min-width:92px;display:grid;gap:3px;text-align:center;padding:6px 7px;border-radius:10px;background:#0b2135ed;border:1px solid #9fbfb477;box-shadow:0 2px 4px #0004;font:900 .77rem/1.1 var(--ui-body)}
.homeDropLabel small{font:700 .66rem/1.15 var(--ui-body);color:#c1d9df}
#meta.home #hDrop:active{transform:translateY(2px) scale(.96)}
@keyframes homeRuneFloat{50%{transform:translateY(-4px) rotate(-3deg)}}
#meta .homeNavCount{position:absolute;top:1px;left:calc(50% + 7px);min-width:17px;height:17px;display:grid;place-items:center;padding:0 3px;border-radius:8px;background:#f3c775;color:#3c2913;border:1px solid #ffe8b1;box-shadow:0 0 0 2px #112238;font:900 10px/1 var(--ui-body)}
#meta.home .portal .pBeam,#meta.home .portal .pCore,#meta.home .portal .pSpiral,#meta.home .portal .pCrown,#meta.home .portal .pSpark{display:none!important}
#meta.home .portal .pBase{opacity:.5}#meta.home .portal .pVortex{opacity:.35}
/* Full deck preview is a deliberate visit, with readable cards and a clear return. */
.homeDeckSheet h2{font:700 1.5rem/1.2 var(--ui-title);margin:4px 35px 8px 0;color:#fff0d1}
.homeDeckMeta{font:750 .82rem/1.4 var(--ui-body);color:#bbd0df;margin:0 0 18px}
.homePreviewGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 7px;margin-bottom:20px}
.homePreviewCard{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;border-radius:10px;border:1px solid #829bad70;background:linear-gradient(#29465b,#132338);box-shadow:inset 0 1px 0 #fff2,0 3px 0 #071322;overflow:hidden}
.homePreviewArt{display:grid;place-items:center;flex:none;height:69px;width:100%;padding:6px 2px 0;overflow:hidden;background:radial-gradient(ellipse at 50% 80%,#47666166,transparent)}
.homePreviewArt img{height:100%;max-height:63px;width:100%;object-fit:contain;transform:none;filter:drop-shadow(0 3px 2px #0006)}
.homePreviewArt .spellArt{width:100%;height:100%;display:grid;place-items:center}.homePreviewArt .spellArt svg{max-width:100%;max-height:100%}
.homePreviewCard>b{position:relative;font:850 .66rem/1.2 var(--ui-body);color:#eff7ff;text-align:center;display:grid;place-items:center;min-height:35px;padding:4px 2px;width:100%;background:#0c1c2df0;overflow-wrap:normal;hyphens:manual}
.homePreviewCost{position:absolute;left:3px;top:3px;border-radius:7px;background:linear-gradient(#b992e4,#6841a5);border:1px solid #d6b9f2;min-width:21px;height:24px;text-align:center;font:900 .82rem/22px var(--ui-body);color:#fff;text-shadow:0 1px 2px #0008}
.homeDeckSheet .btn.wide{width:100%;margin:5px 0}
body.bigText .homeArenaText>b{font-size:1.18rem}body.bigText .homeRoadLink{font-size:.8rem}
body.bigText .homeDeckText b{font-size:1.1rem}body.bigText .homeDeckText small{font-size:.82rem}
body.bigText .homePreviewCard>b{font-size:.8rem;min-height:43px}body.bigText .homeDeckMeta{font-size:.94rem}
body.bigText .homePreviewGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body.bigText .homePreviewArt{height:54px}body.bigText .homePreviewArt img{max-height:48px}
@media(max-height:700px){#meta.home #scr-home{padding-top:4px;padding-bottom:13px;gap:10px}.homeArena{min-height:71px}.homeArena .peCrest{width:64px;height:63px}.homeArenaText>b{font-size:1rem}#meta.home .hBottom{gap:10px}#meta.home .homeWorld{min-height:112px;flex-basis:112px}#meta.home .battle{min-height:72px}#meta.home #hDrop{bottom:5px;min-height:111px}#meta.home #hDrop .runeEmblem{width:53px;height:66px}.homeDropCount{right:13px;top:0}}
@media(prefers-reduced-motion:reduce){#meta.home #hDrop .runeEmblem{animation:none}.homeArena,#meta.home #hDrop{transition:none}}
body.fxLow #meta.home #hDrop .runeEmblem{animation:none}body.fxLow .homeArena,body.fxLow #meta.home #hDrop{transition:none}


/* Source: css/collection.css */
/* Collection surfaces: original art, clear rarity promises and deliberate spending. */
.collectionCallout{display:flex;align-items:center;gap:12px;padding:13px;margin:18px 0 14px;border:1px solid #83b7c755;border-radius:16px;background:linear-gradient(125deg,#19364b,#101f35);box-shadow:inset 0 1px #d7eeff12,0 3px #06111d55}
.collectionCallout>div{min-width:0;flex:1}.collectionCallout b{display:block;color:#f3dfaa;font-size:1rem}.collectionCallout small{color:#bdd5e3;font-size:.75rem}.collectionCallout p{font-size:.82rem;line-height:1.4;margin:6px 0;color:#c4d9e7}
.collectStone,.collectPortrait{display:grid;place-items:center;flex:none;width:65px;height:78px}.collectStone svg{width:55px;height:70px}.collectPortrait{border:1px solid var(--rc);border-radius:12px;background:radial-gradient(ellipse,#345f67,#162638);padding:2px;cursor:pointer}.collectPortrait img{width:100%;height:100%;object-fit:contain}.collectionCallout .lnk{min-height:44px;display:inline-flex;align-items:center;white-space:normal;text-align:left;line-height:1.3}
.collectActions{display:grid;gap:8px;margin-top:12px}.collectActions .btn,.collectionRules,.wildUse{min-height:44px;white-space:normal;line-height:1.35}
.collectKicker{color:#88d9d2;font:800 .7rem/1.3 var(--ui-body);letter-spacing:.12em}.collectionGuide h2,.wildPicker h2{font:700 1.7rem/1.15 var(--ui-title);color:#f5dfaa;margin:10px 25px 14px 0}.collectionGuide>p,.wildPicker>p{font-size:.9rem;line-height:1.5}.collectGuideSteps{padding:4px 12px;border-left:3px solid #72bcb5;background:#7bbaba0d;margin:16px 0}.collectGuideSteps p{font-size:.85rem;line-height:1.5}.collectGuideSteps b{color:#ffdf9f}
.collectRuleCards{display:grid;gap:10px;margin:14px 0}.collectRuleCards section{border:1px solid var(--rc);border-radius:12px;padding:12px;background:#102239;display:grid;gap:6px}.collectRuleCards b{color:var(--rc);font-size:1rem}.collectRuleCards span{font-size:.83rem;line-height:1.45;color:#cedae5}.collectRuleCards strong{font-size:.85rem;color:#fff0c6}.collectOdds{margin:16px 0;padding:8px 12px;background:#ffffff09;border-radius:12px}.collectOdds summary{min-height:44px;line-height:1.5;font-weight:800;cursor:pointer;padding:10px 0}.collectOdds p{font-size:.82rem;line-height:1.5}
.collectionGuide .wide{width:100%;min-height:48px}.wildChoose{min-height:44px;white-space:normal;line-height:1.3}.wildPickGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wildPick{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 5px;border:1px solid var(--rc);border-radius:14px;background:linear-gradient(#26435b,#112437);color:#f1f5ff;font-family:var(--ui-body);cursor:pointer;min-width:0}.wildPick img{width:72px;height:75px;object-fit:contain}.wildPick b{font-size:.9rem;overflow-wrap:anywhere}.wildPick small{font-size:.74rem;line-height:1.4;color:#ccdae5}.wildRewardArt{display:grid;place-items:center;width:100%;height:100%;filter:drop-shadow(0 8px 6px #0006)}.wildRewardArt svg{width:60%;height:75%}.collectionCallout button:active,.wildPick:active{transform:translateY(2px)}
body.bigText .collectionCallout p,body.bigText .collectRuleCards span,body.bigText .collectGuideSteps p,body.bigText .collectOdds p{font-size:1rem}body.bigText .collectActions .btn{font-size:1rem}body.bigText .wildPick small{font-size:.88rem}.wildShop .offer{display:flex;flex-direction:column;gap:7px}.wildShop .oHave{line-height:1.4}.wildShop .btn{min-height:44px}

/* Locked cards lead with their collection goal. Do not draw an empty sticky footer. */
.mbox .shBtns{margin:12px 0 0!important}.mbox .shBtns:not(:has(button)):not(:has(.roNote)){display:none}

.mbox .wildUse{display:flex;flex-direction:column;gap:3px;border-color:#a8cbd7;background:linear-gradient(#405874,#293d59);box-shadow:inset 0 1px #ffffff33,0 3px #091521;color:#f5f3ff}.mbox .wildUse small{display:block;color:#d0dbea;font-size:.75rem}

/* Reference pages share the Field guide contract: the reading area alone
   scrolls. The title, Close and return action never travel with long rules. */
#mmodal .mbox:has(>.referenceSheet164){
 display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;
 box-sizing:border-box;width:min(500px,100%);padding:0!important;overflow:hidden;
 max-height:calc(100dvh - 28px)!important;
}
#mmodal .mbox>.referenceSheet164{display:contents}
#mmodal .referenceSheet164>.referenceHead164{
 grid-column:1;grid-row:1;min-width:0;padding:12px 68px 12px 16px;
 border-bottom:1px solid #7598ad35;
}
#mmodal .referenceHead164 :is(.eyebrow,.collectKicker){display:block;letter-spacing:0;text-transform:none;margin-bottom:3px}
#mmodal .referenceHead164 h2{margin:0!important;line-height:1.2!important;overflow-wrap:break-word}
#mmodal .mbox:has(>.referenceSheet164)>.mClose{
 position:relative!important;top:auto!important;right:auto!important;
 grid-column:1;grid-row:1;align-self:center;justify-self:end;
 width:44px!important;height:44px!important;min-width:44px;min-height:44px;
 margin:0 12px 0 0!important;z-index:5;
}
#mmodal .referenceSheet164>.referenceBody164{
 grid-column:1;grid-row:2;min-height:0;overflow-y:auto;overscroll-behavior:contain;
 padding:12px 16px;scrollbar-width:thin;
}
#mmodal .referenceBody164>p{font-size:.85rem;line-height:1.5;color:#c4d6e3;margin:0 0 14px}
#mmodal .referenceBody164 .qreset{text-align:left}
#mmodal .referenceSheet164>.referenceFooter164{
 grid-column:1;grid-row:3;margin:0;padding:12px 16px;
 border-top:1px solid #7598ad35;background:#101e30;
}
#mmodal .referenceFooter164>.btn{width:100%;min-height:44px;margin:0;white-space:normal;line-height:1.3}
#mmodal .collectionGuide .collectOdds{border-radius:var(--fl-inset-radius,8px);padding:2px 12px}
#mmodal .collectionGuide .collectOdds>summary{display:flex;align-items:center}
#mmodal .collectionGuide .collectOdds li{font-size:.82rem;line-height:1.5;margin:5px 0;color:#c4d6e3}
#mmodal .collectionGuide .collectRarityList164{list-style:none;padding:0;margin:8px 0 14px;display:grid;gap:5px}
#mmodal .collectionGuide .collectRarityList164>li{display:flex;justify-content:space-between;gap:12px;margin:0;padding:4px 0;border-bottom:1px solid #7598ad25}
#mmodal .collectRarityList164 b{font-variant-numeric:tabular-nums;color:#f0dfb5}
body.bigText #mmodal .referenceBody164>p,body.bigText #mmodal .collectionGuide .collectOdds li{font-size:1rem}
body.bigText #mmodal .referenceHead164 h2{font-size:1.5rem!important}

/* The selected Rune Drops tab already names its panel. One earn instruction,
   followed by a separate refill/carry-over line, replaces repeated prose. */
#meta .battleDropFull164 .battleDropNext{align-items:center;font-size:.8rem;line-height:1.4;gap:6px 10px}
#meta .battleDropFull164 .battleDropPoints164{font-size:.73rem;white-space:nowrap;font-variant-numeric:tabular-nums;color:#bce8db}
#meta .battleDropFull164 .battleDropFoot{display:flex;flex-wrap:wrap;gap:3px 12px;padding-top:7px;border-top:1px solid #8bb9b32b;font-size:.72rem;line-height:1.4;color:#bdd0dc}
#meta .battleDropFull164 .battleDropFoot>span{color:inherit}
#meta .battleDropFull164 .battleDropCarry164{flex-basis:100%}
body.bigText #meta .battleDropFull164 .battleDropNext{font-size:.95rem}
body.bigText #meta .battleDropFull164 :is(.battleDropFoot,.battleDropPoints164){font-size:.85rem}


/* Source: css/tracker.css */
/* Tracker finds use the original portraits and the game's tactile reward palette. */
.trackerSheet{--rc:#91d9ce}.trackerSheet h2{font:700 1.7rem/1.15 var(--ui-title);color:#f5dfaa;margin:10px 28px 14px 0}.trackerSheet p{font-size:.9rem;line-height:1.5;color:#cfdeea}.trackerHero{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;padding:16px 12px;border:1px solid var(--rc);border-radius:18px;background:radial-gradient(ellipse at 10% 20%,#365969,#142b40 70%);box-shadow:inset 0 1px #ffffff24,0 4px #07152166;margin:18px 0 12px}.trackerHero>img{width:92px;height:112px;object-fit:contain;filter:drop-shadow(0 6px 3px #0005)}.trackerHero strong{display:block;color:#ffe5a8;font-size:1.25rem;overflow-wrap:anywhere}.trackerHero small{color:#c5d8e4;display:block;line-height:1.5}.trackerHero b{display:block;margin-top:6px;color:#fff1c9}.trackerProgress{display:block;font-size:1rem;color:#f2faff;margin-top:7px}.trackerHero .srBar{display:block;margin-top:9px}.trackerFootnote{font-size:.78rem!important;color:#a8c4d2!important}.trackerActions{display:grid;gap:9px;margin-top:16px}.trackerActions .btn{width:100%;min-height:48px;white-space:normal;line-height:1.4}.trackerPickGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.trackerPick{min-width:0;min-height:136px;border:1px solid var(--rc);border-radius:14px;color:#eaf4fb;background:linear-gradient(#284257,#14283c);box-shadow:inset 0 1px #ffffff26,0 3px #071522;font-family:var(--ui-body);padding:10px 5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.trackerPick img{width:60px;height:65px;object-fit:contain}.trackerPick b{font-size:.94rem;overflow-wrap:anywhere}.trackerPick strong{font-size:.88rem;color:#ffe4a6}.trackerPick small{font-size:.76rem;color:#bed3e2;line-height:1.4}.trackerPick:active{transform:translateY(2px)}.trackerFilters{display:flex;gap:6px;flex-wrap:wrap}.trackerFilters button{min-height:44px;padding:8px 11px;border:1px solid #688696;border-radius:24px;background:#172e40;color:#cee4ee;font:700 .78rem var(--ui-body);cursor:pointer}.trackerFilters [aria-pressed=true]{background:#edd18c;color:#263143;border-color:#ffe8b2}.trackerNav{display:block!important;color:#9febdf!important}.collectionCallout .trackerGoalBar{display:block;margin:8px 0 4px}.rstep .rrw .trackerRoadTitle{color:#f2d895}.rstep.trackerStep{border-color:#9b9e74}.rstep.trackerStep .rrw{min-width:0}.rstep.trackerStep .rrw small{white-space:normal}.trackerRuneIcon svg{height:80px;width:70px;color:var(--rc)}
body.bigText .trackerSheet p{font-size:1rem}body.bigText .trackerPick small{font-size:.9rem}body.bigText .trackerFilters button{font-size:.9rem}.trackerSheet button:focus-visible{outline:3px solid #b4fff1;outline-offset:3px}
/* Choice, confirmation and claim keep the same card identity. Text owns the
   second column; even a long translated name cannot squeeze the illustration. */
.trackerHero>.trackerPortrait167{width:92px;height:112px;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--rc) 70%,#e9dfce);border-radius:8px;box-shadow:0 3px 0 #061521;mask-image:none;filter:none}
.trackerHero>div{min-width:0}
.rstep.trackerStep .btn{min-height:44px}.arenaEvent{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) 22px;gap:9px;align-items:start;padding:14px 12px;margin:8px 0 16px 25px;border:1px solid #568b91;border-radius:14px;background:linear-gradient(115deg,#204849,#132a38);color:#dceeee;box-shadow:inset 0 1px #bbffff19}.arenaEventIcon svg{width:28px;height:32px;color:#b6eee3}.arenaEvent small{display:block;font:800 .63rem/1.5 var(--ui-body);color:#91c7c6;letter-spacing:.035em}.arenaEvent b{display:block;color:#fff0c4;font-size:1rem;margin:4px 0}.arenaEvent p{font-size:.8rem;line-height:1.45;margin:4px 0}.arenaEvent summary{min-height:44px;display:flex;align-items:center;color:#b2eee5;font-size:.8rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.arenaEventState svg{width:20px;height:24px;color:#a9e5c5}.arenaEvent.future{background:linear-gradient(115deg,#253945,#162938);border-color:#496572}.arenaEvent.future .arenaEventState svg{color:#91aabc}body.bigText .arenaEvent p,body.bigText .arenaEvent summary{font-size:1rem}body.bigText .arenaEvent small{font-size:.75rem}


/* Source: css/touch-polish.css */
/* The battle stays bright. The card highlight is local, never a full-screen veil. */
body.in-battle #coach .cSpot{box-shadow:0 0 0 2px #8ce8d4,0 0 16px #46c9b86b!important;animation:none!important;transition:none!important}
body.in-battle #coach .cHand{filter:drop-shadow(0 2px 2px #031019);opacity:.9}
body.in-battle .dock[data-coaching] .bh-readout{display:none!important}
body.in-battle .dock #cBub.docked{position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none!important;box-sizing:border-box;margin:0!important;padding:2px 5px 3px!important;order:-1;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;animation:none!important;text-align:left;font:750 13px/1.3 var(--ui-body)!important;pointer-events:none}
body.in-battle .dock #cBub .cPause{font:850 10px/1.3 var(--ui-body);letter-spacing:.65px;color:#f1d18b;margin:0 0 2px;text-transform:uppercase}
body.in-battle .dock #cBub[hidden]{display:none!important}
body.in-battle.bigText .dock #cBub.docked{font-size:15px!important;line-height:1.35!important}
body:has(#howOv:not([hidden])) .dock #cBub{visibility:hidden}
body.in-battle #hand .card[data-bh-dragging="true"]{box-shadow:0 0 0 2px #b6ffe8,0 0 15px #63dcca66!important}

body.in-battle .dock #cBub.docked{min-height:54px}
body.in-battle.bigText .dock #cBub.docked{min-height:68px}

/* Mobile first-open zoom (playtest report): iOS Safari zooms the whole page when a text field under 16px gets focus,
   and the welcome name field (#wName) was 13.6px and auto-focused, so a new player's first screen stayed zoomed in.
   Every text field on a touch device is at least 16px. Pinch zoom for accessibility stays available. */
@media (pointer:coarse){
  input:not([type=checkbox]):not([type=range]):not([type=radio]),textarea,select{font-size:max(16px,1em)!important}
}


/* Source: css/followthrough.css */
/* Optional menu help lives in the page flow, never above the rest of the menu. */
.menuTip{display:flex;align-items:center;gap:10px;margin:10px 0 16px;padding:10px 12px;border:1px solid #80c7b85c;border-radius:13px;background:linear-gradient(125deg,#244952,#142e40);box-shadow:inset 0 1px #ffffff12;color:#d5e8ef;font:650 13px/1.4 var(--ui-body)}
.menuTip p{margin:0;flex:1;min-width:0}.menuTip b{color:#f1d58f}.menuTip button{flex-shrink:0;min-height:44px;padding:8px;border:0;border-radius:8px;background:#091b2966;color:#bce5dc;font:800 12px var(--ui-body);cursor:pointer}.menuTip button:focus-visible{outline:2px solid #f4d58d;outline-offset:2px}
body.bigText .menuTip{font-size:15px}
/* The clock calls attention at milestones, then settles. No continuous blink. */
body.in-battle #clock{animation:none!important;display:block;transform-origin:center}
body.in-battle .clock.clockSoon #clock{color:#f6d48a!important}
body.in-battle .clock.clockUrgent #clock{color:#ffaf9e!important}
body.in-battle .clock.clockCue{animation:clockMilestone .6s ease-in-out 2!important;border-radius:8px!important;outline:1px solid #f3d18a99!important;background:#66512850!important}
body.in-battle .clock.clockQuiet{animation:none!important}
@keyframes clockMilestone{0%,100%{transform:scale(1);box-shadow:0 0 0 0 #f4d18600}50%{transform:scale(1.08);box-shadow:0 0 0 3px #f4d18635}}
@media(prefers-reduced-motion:reduce){body.in-battle .clock.clockCue{animation:none!important}}


/* Source: css/rune-saga.css */
/* Rune Saga  -  phone-first discovery theatre. Original character art stays unfiltered. */
.dfxSaga{--stage:min(85vw,420px,53dvh);background:#050c17}
.dfxSaga .dfxBg{background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--t) 25%,#10213b),#070e20 64%,#030914)}
.dfxSaga .dfxBg:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06121eaa,transparent 20% 80%,#06121eaa),repeating-linear-gradient(0deg,transparent 0 79px,#b9e7ed04 80px);opacity:.6}
.dfxSaga .dfxArch{inset:0;opacity:.85;mask-image:linear-gradient(#000,#000 70%,transparent)}
.dfxSaga .dfxArch i{width:24%;left:-11%;border-width:2px;box-shadow:inset -6px 0 #cbdaf909,inset -21px 0 #0005;background:linear-gradient(90deg,#050914,#16283b);transform:skewY(-30deg)}
.dfxSaga .dfxArch i+i{left:auto;right:-11%;transform:scaleX(-1) skewY(-30deg)}
.dfxSaga .dfxRays{width:100vmax;height:100vmax;opacity:.28;animation-duration:60s;animation-iteration-count:1}
.dfxSaga .dfxAurora i{filter:blur(16px);animation-iteration-count:2}
.dfxSaga .gateSvg,.dfxSaga .rewardSigil{animation-iteration-count:1}
.dfxSaga .dfxHead{top:calc(64px + env(safe-area-inset-top,0px))}
.dfxSaga .dfxHead>small{color:#c7d8e9;font-size:.66rem;letter-spacing:.26em!important}
.dfxSaga .dfxTier{font-size:clamp(2rem,9vw,3rem);letter-spacing:.04em}
.dfxSaga .dfxTierDetail{font-size:.73rem;color:#b7c5da}
.dfxSaga .dfxRarityPips{margin-top:12px;gap:10px}
.dfxSaga .dfxRarityPips i{width:8px;height:8px}
.dfxSaga .dfxStage{top:48%;height:calc(var(--stage)*1.08)}
.dfxSaga .dfxGate{width:111%}
.dfxSaga .rune{width:69%}
.dfxSaga .dfxSkip{min-height:44px;border-radius:22px!important;padding:10px 16px;backdrop-filter:none}
.dfxSaga .dfxHint{font-size:1.15rem!important;color:#f9e9bc}
.dfxSaga .dfxSubHint{font-size:.81rem}
.dfxSaga .dfxQueue{font-size:.72rem;color:#cad8e7}
.dfxSaga .dfxGuidance{bottom:calc(27px + env(safe-area-inset-bottom,0px))}
.dfxSaga .dfxSealCount i{width:28px;height:6px}
.dfxSaga .dfxTap:active{background:radial-gradient(ellipse,#e8f5ff12,transparent 60%)}
.dfxSaga[data-tier=legendary] .dfxBg{background:radial-gradient(ellipse at 50% 44%,#654517,#15172c 47%,#040916 85%)}
.dfxSaga[data-tier=epic] .dfxBg{background:radial-gradient(ellipse at 50% 44%,#462a71,#12182f 47%,#040916 85%)}
.dfxSaga .dfxPresence{position:absolute;inset:20% 4% 18%;z-index:5;display:grid;place-items:center;pointer-events:none}
.presenceDoor{position:absolute;inset:-20% 45%;background:linear-gradient(transparent,var(--en),#fff2be,var(--en),transparent);box-shadow:0 0 60px var(--t);animation:sagaDoor .85s cubic-bezier(.15,.85,.3,1) both}
.presenceArt{width:min(75vw,330px);height:min(43dvh,350px);display:grid;place-items:center;filter:brightness(0) drop-shadow(0 0 2px var(--en)) drop-shadow(0 0 20px var(--t));animation:sagaPresence 1s ease-out both}
.presenceArt img{max-height:100%;max-width:100%;object-fit:contain}
.dfxPresence b{position:absolute;bottom:0;left:0;right:0;text-align:center;font:800 .8rem/1.3 var(--ui-body);letter-spacing:.17em;text-transform:uppercase;color:#ffe9b9}
.dfxSaga.discovery .dfxRays{opacity:.08}.dfxSaga.discovery .dfxStage{opacity:0}.dfxSaga.discovery .dfxHead{opacity:.3}
@keyframes sagaDoor{0%{transform:scaleY(.1) scaleX(.03);opacity:0}45%{opacity:.8;transform:scaleY(1) scaleX(.12)}100%{opacity:.4;transform:scaleY(1) scaleX(1.8)}}
@keyframes sagaPresence{from{opacity:0;transform:scale(.7) translateY(20px)}to{opacity:1;transform:scale(.98)}}
/* A full-height illustration reveal, never a reward card inside another card. */
.dfxSaga.revealed .dfxHead{top:calc(23px + env(safe-area-inset-top,0px));transition:none}
.dfxSaga.revealed .dfxHead>small{font-size:.61rem;color:#d1dfeb}
.dfxSaga.revealed .dfxTier{font-size:1.45rem;margin:4px 0 3px}
.dfxSaga.revealed .dfxTierDetail{font-size:.65rem}
.dfxSaga.revealed .dfxRarityPips{display:none}
.dfxSaga .dfxOut{inset:calc(100px + env(safe-area-inset-top,0px)) 0 0;padding:0 16px calc(15px + env(safe-area-inset-bottom,0px));gap:8px}
.dfxSaga .dfxCard{gap:9px;padding:4px 5px 12px;width:min(100%,420px);overscroll-behavior:contain}
.dfxSaga .dfxRewardTag{font-size:.67rem;letter-spacing:.16em;border-radius:2px 10px 2px 10px;padding:7px 19px;position:relative}
.dfxSaga .dfxHeroArt{width:min(77vw,320px);height:min(29dvh,255px);margin:8px 0 4px}
.dfxSaga .dfxHeroFrame{inset:3% 15%;border-radius:20px 20px 36px 36px;border-width:2px;transform:rotate(-4deg);background:linear-gradient(140deg,color-mix(in srgb,var(--t) 24%,#172e45),#111c31 55%,color-mix(in srgb,var(--t) 10%,#13253c));box-shadow:0 7px 0 #030c1b,0 18px 35px #0007,inset 0 0 0 5px #b3d1f408}
.dfxSaga .dfxCrown{display:none}
.dfxSaga .dfxArt img{height:100%;max-height:100%;max-width:100%;width:auto;filter:drop-shadow(0 12px 8px #0008)}
.dfxSaga .dfxHalo{inset:-13% -2%;opacity:.7}
.dfxSaga .dfxRewardName{gap:7px;margin:2px 0}
.dfxSaga .dfxCard h2{font-size:clamp(1.9rem,9vw,2.7rem)!important;text-transform:none;line-height:1.05!important;color:#fff0cd}
.dfxSaga .dfxDescription{font-size:.84rem!important;line-height:1.45!important;max-width:330px;color:#d1dfed!important}
.dfxSaga .dfxSaved{font-size:.65rem;color:#a5cebe;line-height:1.35}
.dfxSaga .dfxBtns{width:min(100%,380px);gap:8px;flex:none;padding-top:8px;border-top:1px solid #a6b5d229;background:linear-gradient(transparent,#050d1a55)}
.dfxSaga .dfxBtn{border-radius:14px!important;min-height:49px!important;position:relative;line-height:1.2!important;font-size:.92rem!important;letter-spacing:0!important;padding:12px 11px;box-shadow:0 4px 0 #020815,inset 0 1px 0 #ffffff25;white-space:normal}
.dfxSaga .dfxBtn.pri{background:linear-gradient(#fff0b5,#e9c575 70%,#d9aa54);border:1px solid #ffecaf!important;border-bottom:3px solid #a77a35!important;color:#342713;font-weight:950;box-shadow:0 5px 0 #59401a,0 8px 22px #0005,inset 0 2px 0 #fff7ce}
.dfxSaga .dfxBtn.sec{background:linear-gradient(#263f58,#15263c);border:1px solid #6b8295!important;color:#e5edf7}
.dfxSaga .dfxBtn small{font-size:.65rem;opacity:.8;margin-top:4px}
.dfxSaga .dfxBtn.quiet{min-height:44px!important;box-shadow:none;border:0!important;background:none;font-size:.72rem!important;text-decoration:none;color:#bccdde;padding:10px}
.dfxSaga .dfxBtn:active{transform:translateY(3px);box-shadow:0 1px 0 #59401a}
.dfxSaga button:focus-visible,.dfxSaga summary:focus-visible{outline:3px solid #c9f7ff;outline-offset:3px}
.dfxSaga .dfxProgressCard{border-color:#587a8977;background:linear-gradient(130deg,#1a3447e8,#0c1b2ce8);border-radius:15px;padding:13px 15px}
.dfxSaga .dfxBar{height:12px;border-radius:6px}.dfxSaga .dfxBar i{border-radius:6px}
.dfxSaga .dfxPT{font-size:.84rem;color:#e2ffed}.dfxSaga .dfxLine{font-size:.76rem;color:#bcd5df}
.dfxSaga .dfxN{bottom:0;right:9%;transform:rotate(-4deg);padding:10px 12px;background:linear-gradient(#286076,#123545)}
.dfxSaga .dfxCoinN{font-size:2.8rem;color:#ffdf8d;text-shadow:0 3px #744a23}
/* Discovery: ceremonial wings, a tall rune gate and completely unboxed original art. */
.dfxSaga.isDiscovery .dfxBg:after{opacity:.7;background:repeating-conic-gradient(from 0deg at 50% 42%,transparent 0 26deg,#fff6c708 27deg 29deg,transparent 30deg 45deg);mask-image:radial-gradient(ellipse at 50% 40%,#000,transparent 72%)}
.dfxSaga.isDiscovery .dfxRays{top:39%;opacity:.48;animation:sagaArrival 1.1s ease-out both}
.dfxSaga .newVera .dfxHeroArt{height:min(33dvh,310px);width:min(87vw,380px);margin:5px 0 0}
.dfxSaga .newVera .dfxHalo{inset:-7% 0;opacity:.85;mask-image:none}
.dfxSaga .newVera .dfxHalo:before{inset:-20% 0;background:radial-gradient(ellipse,color-mix(in srgb,var(--t) 50%,transparent),transparent 65%);filter:none}
.dfxSaga .newVera .dfxHeroFrame{inset:0 18% -1%;border-radius:50% 50% 4px 4px;transform:none;background:linear-gradient(180deg,color-mix(in srgb,var(--t) 26%,#19283b),#101b30aa);border:1px solid color-mix(in srgb,var(--en) 70%,transparent);box-shadow:inset 0 0 0 5px #090f28,0 0 0 6px color-mix(in srgb,var(--t) 19%,transparent),0 15px 40px #0004;overflow:visible}
.dfxSaga .newVera .dfxHeroFrame:before{content:"";position:absolute;inset:10% -26% -4%;background:linear-gradient(90deg,var(--t),transparent 33% 67%,var(--t));clip-path:polygon(0 8%,23% 21%,24% 100%,19% 80%,7% 65%,20% 62%,0 39%,19% 44%,0 8%,100% 8%,81% 44%,100% 39%,80% 62%,93% 65%,81% 80%,76% 100%,77% 21%,100% 8%);opacity:.5}
.dfxSaga .newVera .dfxHeroFrame:after{inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 35%,#fff6c744,transparent 65%);animation:sagaFoil 1.1s .2s both;transform:none}
.dfxSaga .newVera .dfxHeroFrame i{display:none}
.dfxSaga .newVera .dfxCrown{position:absolute;display:block;top:-6%;left:calc(50% - 19px);width:38px;height:38px;border:1px solid var(--en);transform:rotate(45deg);background:#101b2c;color:var(--en);font:700 28px/36px Georgia;text-align:center;z-index:-1;opacity:.8}
.dfxSaga .newVera .dfxArt{animation:sagaHero 1s cubic-bezier(.12,.8,.2,1) both}
.dfxSaga .newVera .dfxArt img{max-width:100%;max-height:100%;height:100%}
.dfxSaga .newVera .dfxPedestal{bottom:-2%;width:83%;height:7%;background:radial-gradient(ellipse,color-mix(in srgb,var(--t) 25%,#263846),#071120 65%,transparent 68%);border-color:var(--en)}
.dfxSaga .newVera .dfxRewardTag{z-index:2;background:linear-gradient(100deg,#d6ac60,#fff0b5 50%,#d6ac60);box-shadow:0 3px #6e5027,0 0 22px #ecc47222;color:#382613;border-color:#ffe9ad}
.dfxSaga .newVera .dfxRewardName h2{font-size:clamp(2.1rem,10vw,3rem)!important}
.dfxIdentity{display:flex;align-items:center;gap:10px;text-align:left;font:800 .81rem/1.3 var(--ui-body);color:#e0d9c5;max-width:100%}
.dfxIdentity>span{min-width:0}.dfxIdentity small{display:block;font:650 .65rem/1.4 var(--ui-body);color:#adc2d6;margin-top:2px}
.dfxCost{display:grid;justify-items:center;align-content:center;background:linear-gradient(#b07de5,#6846a0);width:38px;height:40px;flex:none;border:1px solid #d9bdf8;border-radius:11px 11px 14px 14px;color:white;font:950 1.25rem/1 var(--ui-body);box-shadow:0 3px 0 #352449}
.dfxCost small{font-size:8px;margin:1px 0 0;color:#f0dcff;line-height:1}
.dfxLearn{width:100%;max-width:330px;text-align:left;border-top:1px solid #a7c5da29;border-bottom:1px solid #a7c5da29;color:#d1e6ef}
.dfxLearn summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;font:800 .76rem/1.3 var(--ui-body);list-style:none;padding:10px 6px}
.dfxLearn summary::-webkit-details-marker{display:none}.dfxLearn summary:after{content:"+";font-size:1.2rem;color:#edcc89}.dfxLearn[open] summary:after{content:"−"}
.dfxLearn p{font:650 .8rem/1.45 var(--ui-body);color:#c7d9e6;margin:0 6px 12px}
.dfxSaga .dfxUnlockLine{padding:6px 10px;background:#3560513b;border:1px solid #9de4bd33;border-radius:8px;color:#bce7cc;margin:0}
@keyframes sagaArrival{from{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(-8deg)}to{opacity:.48;transform:translate(-50%,-50%) scale(1)}}
@keyframes sagaHero{0%{transform:scale(.6) translateY(30px);opacity:0}65%{transform:scale(1.04) translateY(-3px);opacity:1}100%{transform:none;opacity:1}}
@keyframes sagaFoil{0%{opacity:0;transform:scaleX(.1)}45%{opacity:.9}100%{opacity:0;transform:scaleX(1)}}
/* Bulk rewards retain a large, readable place for discoveries. */
.oaDiscoveries{display:grid;grid-template-columns:1fr;gap:14px;margin:12px 0 20px}
.oaVault .oaRow.oaDiscovery{display:grid;grid-template-columns:100px minmax(0,1fr);grid-template-rows:auto auto auto;text-align:left;align-items:center;gap:5px 12px;padding:17px 12px;border-width:2px;border-radius:8px 23px 8px 23px;background:radial-gradient(ellipse at 10% 50%,color-mix(in srgb,var(--reward-color) 35%,#253b53),#14253b 70%);box-shadow:0 4px 0 #041121,inset 0 1px #e5faff33;min-height:135px}
.oaDiscovery .oaArt{grid-column:1;grid-row:1/4;height:102px!important}.oaDiscovery .oaArt img{max-width:110px!important;max-height:116px!important}.oaDiscovery .oaTier{grid-column:2;font-size:.64rem!important;color:#ffe0a0!important;letter-spacing:.08em}.oaDiscovery b{grid-column:2;font:700 1.75rem/1.05 var(--ui-title)!important;color:#fff0d3;overflow-wrap:anywhere}.oaDiscovery .oaAmount{grid-column:2;font-size:.73rem!important;color:#c1d2e2!important}
.oaVault .oaTotals{flex-direction:column;gap:4px;margin:4px 0 16px}.oaVault .oaTotals b{font:850 1rem var(--ui-body);color:#f3d48c}.oaVault .oaTotals span{font:650 .73rem var(--ui-body);color:#a6cbbb;background:none;border:none;padding:0}
.oaResourcesTitle{font:850 .68rem var(--ui-body)!important;color:#a9c4d4;text-transform:uppercase;letter-spacing:.13em;margin:0 0 10px}
.oaVault .oaList{gap:10px}.oaVault .oaRow{padding:12px 8px;border-radius:13px}.oaVault .oaTier{font-size:.57rem}.oaVault .oaAmount{font-size:.79rem}.oaVault .oaRow b{font-size:.85rem;overflow-wrap:anywhere}
.moCel:has(.oaVault) .celKick{margin-top:8px!important;color:#e7c784}.moCel:has(.oaVault) .celTitle{font-size:2.2rem!important}.moCel:has(.oaVault) .moBtn{min-height:50px}
/* Daily Rune Drop vault and the Home entry share the same ritual object. */
#scr-quests .dropInfo.runeVault{display:grid;grid-template-columns:55px minmax(0,1fr);gap:12px 13px;border:1px solid #769cad80;border-radius:9px 24px 9px 24px;padding:19px 16px;background:radial-gradient(ellipse at 0 15%,#375873,#14273e 60%);box-shadow:0 4px 0 #071623,inset 0 1px #dbf6ff22}
#scr-quests .runeVault>.runeEmblem{width:55px;height:72px;align-self:start;filter:drop-shadow(0 8px 5px #0006)}
.vaultTitle{display:block;color:#f0d694;font:900 1rem/1.3 var(--ui-body);margin-bottom:9px}
.runeVault .diRow{font-size:.76rem;line-height:1.45;margin-bottom:5px}
#scr-quests .runeVault>.btn{grid-column:1/-1;min-height:48px;margin:0;width:100%;font-size:.87rem!important;border-radius:12px}
#scr-quests .runeVault>#qDropAll{min-height:44px;background:#13273d;color:#c9dae6;border:1px solid #516c86}
#meta.home #hDrop .runeEmblem{filter:drop-shadow(0 6px 3px #0009) drop-shadow(0 0 13px #9bebd766)}
#meta.home .homeDropLabel{border-color:#e1bd73aa;background:linear-gradient(#263f50,#0e2637);color:#ffe9b3;box-shadow:0 3px 0 #061622}
/* Short phones: retain a clear face, name and thumb actions. Extra advice can scroll. */
@media(max-height:700px){.dfxSaga.revealed .dfxHead{top:calc(14px + env(safe-area-inset-top,0px))}.dfxSaga.revealed .dfxTier{font-size:1.2rem}.dfxSaga .dfxOut{top:calc(80px + env(safe-area-inset-top,0px));padding:0 13px calc(12px + env(safe-area-inset-bottom,0px));gap:3px}.dfxSaga .dfxCard{gap:5px;padding-bottom:7px}.dfxSaga .dfxHeroArt{height:24dvh;margin:3px 0}.dfxSaga .newVera .dfxHeroArt{height:26dvh;min-height:130px;margin:1px 0}.dfxSaga .newVera .dfxRewardName h2{font-size:2.1rem!important}.dfxSaga .dfxDescription{font-size:.79rem!important}.dfxSaga .dfxRewardTag{padding:5px 15px;font-size:.61rem}.dfxSaga .dfxBtn{min-height:47px!important;padding:11px 9px}.dfxSaga .dfxBtn.quiet{min-height:44px!important}.dfxSaga .dfxBtns{gap:6px;padding-top:6px}.dfxSaga .dfxHead{top:54px}.dfxSaga .dfxStage{top:49%}.dfxSaga .dfxGuidance{bottom:18px}.dfxSaga .dfxQueue{margin-top:9px}}
body.bigText .dfxSaga .dfxDescription{font-size:.97rem!important}body.bigText .dfxLearn summary,body.bigText .dfxIdentity{font-size:.94rem}body.bigText .dfxIdentity small{font-size:.77rem}body.bigText .dfxSaga .dfxBtn{font-size:1rem!important}body.bigText .dfxLearn p{font-size:.96rem}body.bigText .dfxSaga .dfxSaved{font-size:.77rem}
@media(max-width:359px){.dfxSaga .dfxBtns{gap:6px}.dfxSaga .dfxBtn{font-size:.83rem!important}.oaDiscovery b{font-size:1.5rem!important}}
@media(min-width:700px){.dfxSaga .dfxOut{inset:108px 0 0}.dfxSaga .newVera .dfxHeroArt{height:min(39dvh,355px)}.oaDiscoveries{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}
/* Quiet mode is equally complete. No silhouette wait, shake, flash or particles. */
.dfxSaga.low .dfxPresence{display:none!important}.dfxSaga.low .dfxArt{opacity:1!important;transform:none!important}.dfxSaga.low .dfxRays{opacity:.25!important}.dfxSaga.low .dfxHeroFrame:after{display:none}
@media(prefers-reduced-motion:reduce){.dfxSaga *,#meta.home #hDrop *{animation:none!important;transition:none!important}.dfxSaga .dfxPresence,.dfxSaga .dfxFlash,.dfxSaga .dfxParticles{display:none!important}}

.dfxSaga .dfxHeroArt{max-width:100%}

.moCel.low *{animation:none!important;transition:none!important}.moCel.low .moMotes,.moCel.low .moRays{display:none}.moCel.low .celCard,.moCel.low .celCard>*,.moCel.low .celBtns,.moCel.low .moBtn{opacity:1!important;transform:none!important}

/* Short phones keep the floating stone clear of the rarity pips. */
@media(max-height:620px){.dfxSaga .dfxStage{top:51%}}


/* Source: css/spell-cards.css */
/* Spells are spell cards, not Vera portraits or collectible rune currency.
   Same hit areas and layout. Shape + written type survive colour loss. */
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key])[data-bh-type="spell"]{
 border-radius:4px 14px 4px 14px!important;
 --bh-edge:#a3e0d7;--bh-aura:#367c81;--bh-deep:#143d47;
}
:is(#hand .card,.flycard[data-bh-key])[data-bh-type="spell"] .bh-visual{border-radius:2px 10px 0 0;background:linear-gradient(145deg,#234952,#102b36)}
:is(#hand .card,.flycard[data-bh-key])[data-bh-type="spell"] .bh-visual::before{inset:16% 15% 5%;border:1px solid #bdebd37a;border-radius:50%;background:radial-gradient(circle,#77cbb92b,transparent 65%);opacity:1;box-shadow:0 0 0 3px #8cd7c714}
:is(#hand .card,.flycard[data-bh-key])[data-bh-type="spell"] .bh-visual::after{inset:3px;border:1px solid #a7e3d166;border-left-width:3px;border-right-width:3px;border-radius:1px 7px 1px 7px;box-shadow:none}
:is(#hand,.flycard) .bh-spell-label{position:absolute;z-index:4;right:3px;top:3px;color:#d8fff1;background:#173d43;border:1px solid #9ad5c77a;border-radius:2px 6px 2px 6px;padding:2px 2px 1px;font:900 8.5px/11px var(--num);letter-spacing:.1px;pointer-events:none}
:is(#hand .card,.flycard[data-bh-key])[data-bh-type="spell"] .bh-spell-icon{padding:10px 3px 0;}
:is(#hand .card,.flycard[data-bh-key])[data-bh-type="spell"] .bh-caption{border-radius:0 0 2px 10px;border-top:2px solid #8ed2bc7a}
:is(#hand .card,.flycard[data-bh-key])[data-bh-state]:not([data-bh-state="ready"]) .bh-spell-label{filter:grayscale(1);color:#c1c9cf;background:#26313a;border-color:#8a959d}
body.battle-hand-pass.in-battle #hand .next .nxCard.spellCard{border-radius:2px 10px 2px 10px!important;border-color:#9bc8be!important;background:linear-gradient(135deg,#29484f,#102b35)!important}
.ctile.rar-rune{border-radius:4px 18px 4px 18px!important;border-color:#9ad6c5!important}
.ctile.rar-rune .vcBg{background:linear-gradient(145deg,#234c51,#0c2634)!important;border-radius:inherit}
.ctile .spellMedallion::before{content:"";position:absolute;width:65%;height:70%;left:17.5%;top:14%;border:1px solid #b9ecd885;border-radius:50%;box-shadow:0 0 0 4px #80c9b719;background:radial-gradient(circle,#7ed8c229,transparent 70%)}
.ctile .spellMedallion{position:relative;isolation:isolate}
.ctile .spellMedallion .bh-spell-icon{position:relative;z-index:1}
.ctile .spellLabel{color:#dcfff3!important;background:#1e4b4c!important;letter-spacing:1px;font-weight:900!important;border-top:2px solid #b8e7cc8c;border-radius:0 0 2px 14px!important}
.ctile.rar-rune.locked{filter:grayscale(1)}
.spellSheet .shRoleT{color:#c3f5de;font-weight:800}
.spellSheet .shIdle{background:radial-gradient(circle,#2c71625c,transparent 70%);border:1px solid #98cdb68c;border-radius:4px 20px 4px 20px}
@media(min-width:390px){:is(#hand,.flycard) .bh-spell-label{font-size:9px;padding:2px 3px}}
@media(prefers-reduced-motion:reduce){.spellMedallion,.bh-spell-label{animation:none}}


/* Source: css/copy-layout.css */
/* Named rewards need room to read; keep the action beside the reward on its own row. */
#scr-quests .quest{grid-template-columns:37px minmax(0,1fr)!important;gap:9px 10px!important}
#scr-quests .qIco{grid-column:1;grid-row:1 / span 2;align-self:start}
#scr-quests .qtxt{grid-column:2;min-width:0}
#scr-quests .qside{grid-column:2;grid-row:2;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;border:0;padding:0;min-width:0}
#scr-quests .qrw{white-space:normal;line-height:1.25!important;justify-content:flex-start;min-width:0}
#scr-quests .qrw b{white-space:normal;overflow-wrap:anywhere}
#scr-quests .qrw>.mi{flex-shrink:0}
#scr-quests .qSwap,#scr-quests .qside .btn{width:auto;flex-shrink:0;min-width:54px;min-height:40px!important;padding:8px!important}
@media(max-width:374px){#scr-quests .quest{grid-template-columns:30px minmax(0,1fr)!important;gap:8px!important}}

.quest .qrw small{display:block;grid-column:1 / -1;color:var(--muted,#b9c7d5);font-size:.78rem;line-height:1.35}
.questKind{display:block;color:#66d4c3;margin-bottom:4px;font-size:.75rem;line-height:1.35}

.hud .score .crownLabel{display:block;font:600 10px/12px var(--ui-body,sans-serif);color:#e1eaf2;letter-spacing:0;text-transform:none}.resScoreLabel{text-align:center;color:#bdc9db;font-size:.85rem;margin-top:8px}


/* Source: css/guidance.css */
/* One bright, local focus treatment. Nothing dims the board or the held card. */
#coach .cSpot,body.in-battle #coach .cSpot{border:2px solid #effffb!important;box-shadow:0 0 0 2px #061721,0 0 0 5px #67f3d0,0 0 0 7px #061721!important;animation:none!important;transition:none!important;box-sizing:border-box}
#coach .cHand,body.in-battle #coach .cHand{width:48px;height:56px;filter:drop-shadow(0 2px 1px #061721) drop-shadow(0 0 2px #061721);opacity:1}
#coach .cBub:not(.docked){border:2px solid #91f1d8!important;box-shadow:0 3px 0 #05121d,0 8px 24px #0008!important}
#coach #cOk{border:2px solid #fff4cc;box-shadow:0 3px 0 #624c1b;min-height:44px}
body.in-battle .dock #cBub.docked{border-left:4px solid #67f3d0!important;padding-left:9px!important;background:linear-gradient(90deg,#20534880,transparent)!important}
body.in-battle .dock #cBub .cPause{color:#b4ffe9}
#mmodal .sheet .guideFocus,#meta #scr-deck .menuGuideTarget,.menuGuideTarget{outline:3px solid #e9fff8!important;outline-offset:2px;box-shadow:0 0 0 7px #071824,0 0 0 9px #67f3d0!important;scroll-margin:20px}
.menuGuideTarget{position:relative;z-index:1}
#cardGuide,.menuTip{border:2px solid #83e8d0;border-left:5px solid #67f3d0;background:linear-gradient(120deg,#214c52,#142b40);box-shadow:0 3px 0 #071725;color:#f3fcff}
.menuTip{flex-wrap:wrap;gap:8px 12px;padding:12px}
.menuTip p{flex:1 1 180px}.menuTip button{border:1px solid #82b8b3;color:#edfffa;background:#0b2232}
.menuTip p::before{content:'TIP';display:block;color:#9bffe3;font:900 11px/1.5 var(--ui-body);letter-spacing:.1em;margin-bottom:3px}
#cardGuide .guideEyebrow{color:#b0ffe8}#cardGuide p{color:#edf9ff}
body.in-battle .clock.clockCue{outline:2px solid #ffedb1!important;box-shadow:0 0 0 4px #091725!important;background:#483c24ed!important}
/* The destination, text and bright frame remain even with all motion disabled. */
#coach.quietGuide .cHand.drag,#coach.quietGuide .cHand.tapmode{animation:none!important;transform:translate(var(--x0),var(--y0))!important}
@media(prefers-reduced-motion:reduce){#coach .cHand.drag,#coach .cHand.tapmode{animation:none!important;transform:translate(var(--x0),var(--y0))!important}}


/* Source: css/first-steps.css */
/* A single invitation in normal flow; never a screen-darkening coach. */
#firstStepSlot:empty{display:none}
.firstStep{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border:1px solid #efce88;border-radius:16px;background:linear-gradient(140deg,#224f56f5,#142b42fa);box-shadow:inset 0 1px #d6f6da66,0 3px 0 #071c2c,0 6px 14px #0005;color:#fff1c2}
.firstStepStar{font-size:27px;color:#ffe09b;filter:drop-shadow(0 1px 3px #0008)}
.firstStepOpen{flex:1;min-width:0;min-height:52px;border:0;background:none;color:inherit;text-align:left;cursor:pointer;padding:2px 0;font-family:var(--ui-body)}
.firstStepOpen small{display:block;font-size:.69rem;line-height:1.25;color:#bce5de;margin-bottom:4px}.firstStepOpen b{display:block;font-size:.94rem;line-height:1.2}.firstStepOpen b span{color:#7cf0d1;margin-left:3px}
.firstStepLater{min-width:44px;min-height:44px;border:0;border-left:1px solid #bce5de55;border-radius:0;background:none;color:#e0ebef;font:700 .76rem var(--ui-body);cursor:pointer;padding:5px 7px}
.firstStep button:focus-visible,.fieldTabs button:focus-visible{outline:3px solid white;outline-offset:2px}
#meta.home .fieldHomeLink{position:absolute;left:0;bottom:12px;min-height:44px;padding:8px 12px;border:1px solid #b6d2d566;border-radius:12px;background:#102b40e8;color:#ecf6e9;font:800 .77rem var(--ui-body);box-shadow:0 2px 0 #061522;pointer-events:auto;cursor:pointer}
.fieldGuide h2{margin:5px 24px 14px 0;font:700 1.6rem/1.12 var(--ui-title);color:#ffdf98}.fieldEyebrow{font:900 .66rem/1.4 var(--ui-body);letter-spacing:.09em;color:#75e8d1}
.fieldTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 14px}.fieldTabs button{min-height:44px;min-width:0;border:1px solid #819faf80;border-radius:10px;background:#142e42;color:#c2d5e2;font:800 .78rem var(--ui-body);cursor:pointer;padding:7px}.fieldTabs button[aria-pressed=true]{background:linear-gradient(#315e64,#264753);border-color:#84e1cc;color:#fff6d2;box-shadow:inset 0 1px #fff4,0 2px 0 #061c29}
.fieldGuide .fieldLead{font:750 .9rem/1.45 var(--ui-body);color:#e1e9f4;margin:10px 0}
.fieldFact{margin:12px 0;padding:12px 13px;border-radius:12px;background:#0b2132;border:1px solid #57788766}.fieldGuide .fieldFact h3{color:#97ead6;margin:0 0 5px;font:900 .94rem/1.2 var(--ui-body)}.fieldGuide .fieldFact p{margin:0;font:600 .83rem/1.5 var(--ui-body);color:#d6e4f2}
.fieldCombo{display:flex;align-items:center;justify-content:center;gap:6px;padding:5px 0}.fieldCombo figure{flex:1;min-width:0;max-width:100px;margin:0;padding:7px 3px;border-radius:12px;background:linear-gradient(#314b59,#102439);border:1px solid #9bb4bc77;text-align:center}.fieldCombo figure>img,.fieldCombo .spellArt{display:block;width:100%;height:66px;object-fit:contain}.fieldCombo .spellArt svg{height:100%;width:100%}.fieldCombo figcaption{font:800 .68rem/1.3 var(--ui-body);margin:5px 0 0;color:white}.fieldCombo figcaption b{display:block;color:#aedacc;font-size:.62rem}.fieldCombo>span{color:#ffe3a5;font:900 1.3rem var(--ui-body)}.fieldCombo .fieldSpell{border-color:#86dce5;background:radial-gradient(ellipse at top,#376e75,#10273b)}
.fieldRoad,.fieldDaily{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px;color:#ffe09a;font-size:26px}.fieldRoad i{height:3px;width:28px;border-radius:2px;background:#82d9c7}.fieldDaily span{display:grid;place-items:center;width:47px;height:47px;border:1px solid #b8be8b;border-radius:12px;background:linear-gradient(#415c5c,#122b3c);box-shadow:0 3px 0 #061522}
.fieldDiscovery{height:92px;display:grid;place-items:center}.fieldDiscovery svg{width:65px;height:86px;filter:drop-shadow(0 0 14px #b191ed44)}
.fieldActions{display:grid;gap:8px;margin-top:15px}.fieldActions button{min-height:46px;font-size:.86rem}.fieldLocked{color:#c1ccdc;font:700 .83rem/1.4 var(--ui-body);text-align:center}.fieldReturn{display:block;text-align:center;color:#b1c7d9;font:600 .7rem/1.4 var(--ui-body);margin:12px 0 4px}
body.bigText .fieldFact p,body.bigText .fieldLead{font-size:1rem}body.bigText .fieldTabs button{font-size:.9rem}body.bigText .firstStepOpen b{font-size:1.05rem}body.bigText .firstStepOpen small{font-size:.8rem}
@media(max-height:700px){#meta.home #scr-home:has(.firstStep) .homeWorld{min-height:74px;flex-basis:74px}#meta.home #scr-home:has(.firstStep) .homeWorld:has(#hDrop){min-height:112px;flex-basis:112px}}
/* Locked spells need separate type and unlock labels, even in the narrow grid. */
#meta .ctile.locked .spellLabel{inset:7px 4px auto auto!important;width:auto;min-height:14px;padding:2px 3px!important;font-size:.52rem!important;letter-spacing:0;border-radius:4px!important}
.trackingStatus{padding:10px 12px;margin:10px 0;color:#c1f7e6;background:#244c4d;border:1px solid #72c5b1;border-radius:10px;font:750 .82rem/1.4 var(--ui-body)}
.swapEmpty{width:100%;padding:10px 12px;background:#102a3c;border:1px solid #476879;border-radius:10px;text-align:left}
.recruitInvite{display:flex;align-items:center;gap:12px;margin:12px 0;padding:12px;border:1px solid #d6b779;border-radius:14px;background:linear-gradient(125deg,#294950,#152a3d);box-shadow:inset 0 1px #f5e8b833,0 3px 0 #071825}
.recruitInvite>div{flex:1;min-width:0}.recruitInvite small,.recruitInvite b,.recruitInvite span{display:block}.recruitInvite small{font-size:.59rem;letter-spacing:.06em;color:#f3d68d}.recruitInvite b{font-size:.94rem;color:#fff3d0;margin:3px 0}.recruitInvite span{font-size:.74rem;color:#c2d9df}.recruitInvite .btn{flex:none;min-height:44px}
.recruitSheet h2{font:700 1.65rem/1.12 var(--ui-title);color:#ffe2a0;margin:8px 25px 12px 0}.recruitSheet p{font:650 .86rem/1.45 var(--ui-body);color:#cbdee8}.recruitOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.recruitOption{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;gap:7px;padding:10px;border:2px solid #698393;border-radius:15px;background:linear-gradient(#293e52,#12283a);box-shadow:inset 0 1px #fff2,0 3px 0 #061625;color:#eaf4f8;text-align:left;font:600 .78rem/1.35 var(--ui-body);cursor:pointer}
.recruitOption[aria-pressed=true]{border-color:#9fe9d5;background:linear-gradient(#315859,#123442);box-shadow:0 0 0 2px #9fe9d533,inset 0 1px #effff844,0 3px 0 #061625}.recruitOption[aria-pressed=true]::after{content:'✓';position:absolute;right:8px;top:8px;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;background:#a5f0dc;color:#123a36;font-weight:900;box-shadow:0 2px 5px #0008}
.recruitPortrait{display:block;aspect-ratio:1.15;overflow:hidden;border-radius:10px;background:#102535}.recruitPortrait img{width:100%;height:100%;object-fit:cover;display:block}.recruitOption b{font:850 .92rem/1.18 var(--ui-body);color:#fff8dc}.recruitOption em{font-style:normal;font-size:.73rem;color:#a6ebd8}.recruitCost{position:absolute;left:14px;top:15px;border:1px solid #dfc5ff;background:linear-gradient(#a879d8,#663ba0);border-radius:9px;padding:3px 6px;color:white;font-size:1.1rem;font-weight:900;text-shadow:0 1px 2px #000}.recruitCost small{display:block;font-size:.52rem;line-height:1}.recruitWeakness{font-size:.71rem;color:#b8ccd7}.recruitAward{margin-top:auto;padding-top:6px;border-top:1px solid #8da9b533;font-size:.73rem;color:#ffe3a0}.recruitSheet .recruitNote{font-size:.74rem;color:#aebfce}.recruitOption:focus-visible{outline:3px solid #fff;outline-offset:3px}.recruitHero{width:132px;height:132px;border:2px solid #b4dad6;border-radius:20px;overflow:hidden;margin:12px auto;background:#152c3d;box-shadow:0 5px 0 #071725}.recruitHero img{display:block;width:100%;height:100%;object-fit:cover}.recruitReceipt h2,.recruitReceipt>.recruitLead{text-align:center;margin-right:0}
body.bigText .recruitOption{font-size:.9rem}body.bigText .recruitOption b{font-size:1.04rem}body.bigText .recruitOption em,body.bigText .recruitWeakness,body.bigText .recruitAward{font-size:.82rem}body.bigText .recruitSheet p{font-size:1rem}
#scr-deck .dinfo:has(#swapCancel)>span{flex:1;min-width:0;text-align:left;line-height:1.4}#scr-deck #swapCancel{flex:none;min-width:52px;min-height:44px}


/* Source: css/visual-polish.css */
/* One scrolling area for reference text, with a reachable battle exit. */
/* Auto-sized lazy images need a nonzero square placeholder. The browser's
   300 x 150 default stretches small slots; zero collapses max-size-only art.
   Each component's explicit dimensions and object-fit still own its layout. */
img[loading="lazy"]{min-width:0;min-height:0;contain-intrinsic-size:96px 96px}
/* Decorative Rune Drop rays extend beyond the viewport. They must not make
   the root a scroll container when focus or scrollIntoView targets a button. */
.dfx{overflow:clip}
/* Programmatic reading focus is announced without a false input outline.
   Buttons and keyboard-operated controls retain their focus indicators. */
#cardGuide h3:focus{outline:none}
.mbox :is(.sett,.collectionGuide,.wildPicker,.trackerSheet)>h2{padding-right:42px;overflow-wrap:break-word}
.pfHead>div{min-width:0}.pfHead h2{overflow-wrap:anywhere;padding-right:30px}
#howOv{padding:12px;overflow:hidden}
#howOv .sheet{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 24px);overflow:hidden;margin:auto;padding:18px 16px 12px!important}
#howOv #howTitle{flex:none;margin:0 0 12px;outline:0!important}
#howOv .howReading{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0 3px 3px}
#howOv .howLeaveRow{position:static;flex:none;flex-wrap:wrap;margin-top:10px;padding-top:10px;background:transparent}
#howOv .howLeaveRow button{min-height:44px;flex:1;padding:9px 10px!important}
#howOv .howLeaveRow #howState{flex:1 0 100%;text-align:center;font-size:.75rem}
#howOv .row[hidden],#howOv #howDots[hidden]{display:none!important}
#howOv .howTopics{margin:0;gap:6px}
#howOv .howTopic{min-height:44px!important;padding:6px 10px!important}
#howOv .howArt[hidden]{display:none!important}
#howOv #howArt:not([hidden]){display:flex!important;min-height:100px}
#howOv .howBuildings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:5px;padding:10px 3px}
.howBuildings figure{margin:0;text-align:center;min-width:0}.howBuildings figcaption{font:800 .67rem/1.3 var(--ui-body);color:#fff0d1}.howBuildings small{display:block;color:#b8d5e1;font-size:.63rem;margin-top:3px}
.howBuilding{height:65px;display:grid;place-items:center;position:relative}.howBuilding img{width:100%;max-width:100%;max-height:65px;object-fit:contain}
.howCrystal{position:absolute;left:calc(50% - 5px);top:35px;width:10px;height:13px;clip-path:polygon(50% 0,100% 35%,80% 100%,20% 100%,0 35%);background:#183746;border:1px solid #a9ccd5}
.howCrystal.awake{background:#b7faff;filter:drop-shadow(0 0 3px #91efff)}
/* Scoped size rules outrank the generic #meta .mi currency icon. */
#meta .qChest .qcIco>.mi{width:28px;height:28px}
#meta .offer.wild .wIco>.mi{width:34px;height:40px}
#meta .ricon>.mi{width:27px;height:30px}
#meta .offer.wild .wIco i{background:var(--rc,#92dfda) border-box;opacity:.85}
.mbox .mClose{width:44px!important;height:44px!important;min-width:44px;min-height:44px;display:grid;place-items:center}
.mbox .shHead{padding-right:10px!important}
/* Group portraits keep every member below the cost gem. */
.mbox .shHead:has(img[src*="_card.svg"]){min-height:170px}
.mbox .shHead .shIdle:has(img[src*="_card.svg"]){align-self:end;height:88px!important}
.mbox .sheet .shArt[src*="_card.svg"]{height:88px!important}
@media(min-width:360px) and (max-width:380px){
 body.bigText .mbox .shHead{grid-template-columns:96px minmax(0,1fr);gap:8px}
 body.bigText .mbox .shIdle,body.bigText .mbox .sheet .shArt{width:96px!important;max-width:96px!important}
}
#scr-quests .qside .btn,#scr-quests .wildChoose{min-height:44px!important}
#meta .ctile .cGroupCount{position:absolute;right:5px;top:27px;z-index:3;padding:2px 5px;border:1px solid #829caf;border-radius:5px;background:#0c2336eb;color:#ecf7ff;font:900 .65rem/1.2 var(--ui-body)}
.dailyJump{display:flex;gap:6px;margin:0 0 14px}.dailyJump .btn{flex:1;min-width:0;min-height:44px;font-size:.78rem;padding:8px 5px!important}
#qDropsHeading,#qShopHeading{scroll-margin-top:12px}
body.bigText .howBuildings figcaption{font-size:.75rem}body.bigText .howBuildings small{font-size:.7rem}
@media(max-height:650px){#howOv .sheet{padding-top:12px!important}#howOv .howTopic{min-height:44px!important}#howOv .howLeaveRow{gap:6px}}
/* Build 36: a compact, tactile hierarchy. Existing component rules live here
   rather than adding another stylesheet to the mobile cascade. */
#meta .trackerCompact{display:grid;grid-template-columns:48px minmax(0,1fr) 44px;gap:10px;padding:12px;margin:15px 0 9px;align-items:center}
#meta .trackerCompact .collectPortrait{width:48px;height:62px;border-radius:10px}
#meta .trackerCompact small{font-size:.68rem;line-height:1.2}
#meta .trackerCompact b{display:flex;gap:8px;align-items:baseline;justify-content:space-between;font-size:.94rem;line-height:1.4}
#meta .trackerCompact b em{font:800 .76rem/1.2 var(--ui-body);color:#d4ece6;white-space:nowrap}
#meta .trackerCompact .trackerGoalBar{margin:5px 0;height:6px}
#meta .trackerCompact .trackerRoadLink{margin:0;min-height:36px;font-size:.7rem;line-height:1.3;padding:3px 0}
#meta .trackerCompact .trackerInfo{width:44px;min-height:44px;border:1px solid #7a9bab70;border-radius:12px;background:#162d42;color:#e7d7a7;font:900 1rem var(--ui-body);cursor:pointer}
.collHeading{display:flex;align-items:center;justify-content:space-between;gap:8px}.collHeading h3{margin:0!important}.collHeading .lnk{min-height:44px;font-size:.76rem;padding:4px 8px}
#meta .collHead{display:block}.collHead .fchips{padding:0 0 7px;scrollbar-width:thin;scrollbar-color:#709d9c #13273b}
#meta .fchips.expanded{display:flex;flex-wrap:wrap;overflow:visible;white-space:normal}
#meta .fchip{min-height:44px;flex-shrink:0}
#meta .ctile.upgradeReady{border-color:#88d8ad;box-shadow:inset 0 0 0 1px #bbffbc50,0 3px 0 #071522}
#meta .ctile .clvl.ready{background:linear-gradient(#295a48,#173b35);color:#d6ffe2;border-top:1px solid #baf1c185}
#meta .ctile .clvl.ready .cup{display:inline-grid;place-items:center;position:static;width:18px;height:18px;margin-left:4px;background:#b3e4a1;color:#102b28;border-radius:5px;font-size:16px;line-height:1;box-shadow:0 1px #061d1f}
.mbox .shDesc{margin:10px 0 7px;font-size:.9rem;line-height:1.45;color:#e1eaf0}
.shTargetLine{padding:7px 10px;margin:0 0 12px;border-left:3px solid #83cec1;border-radius:0 8px 8px 0;background:#76ccbe12;color:#bdebe1;font:800 .78rem/1.4 var(--ui-body)}
.mbox .shHead{margin-bottom:6px}.mbox .upBlock{margin:12px 0;padding:12px}.mbox .upBlock .upDelta{margin:7px 0;line-height:1.45;font-size:.8rem}.mbox .upBlock .srBar{height:6px}
.mbox .shMore>summary{min-height:44px;display:flex;align-items:center}.shFlavour{font-size:.85rem;line-height:1.5;color:#c1d4de}
#meta .chestCompact{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:9px 10px;padding:14px;border-radius:17px;background:linear-gradient(135deg,#253f51,#14283b);border:1px solid #9ea98260;box-shadow:inset 0 1px #f9e3af22,0 3px #071421}
#meta .chestCompact .qcIco{width:48px;height:48px;display:grid;place-items:center;background:none;border:none;box-shadow:none;padding:0}
#meta .chestCompact .qcIco svg{width:46px;height:46px;filter:drop-shadow(0 3px 1px #07111faa)}
#meta .chestCompact .qcBody{min-width:0}.chestCompact .qcBody b{display:block;color:#f4dfab;font-size:1rem}.chestCompact .qcBody small{display:block;color:#c7d9e1;font-size:.75rem;line-height:1.35;margin:3px 0}
.chestSlots{display:flex;gap:5px;margin-top:7px}.chestSlots span{height:17px;flex:1;display:grid;place-items:center;border:1px solid #788f9866;background:#0c2033;border-radius:5px;font:900 10px/1 var(--ui-body);color:#647c89}.chestSlots .filled{background:linear-gradient(#bfe9bc,#65bba6);border-color:#cdf8bd;color:#153b31;box-shadow:inset 0 1px #e8ffdc}
#meta .chestCompact.ready{border-color:#e5cd7b}#meta .chestCompact .btn{min-height:44px;padding:8px 14px!important}
.chestLoot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px;border-top:1px solid #87a0aa36;padding-top:9px}.chestLoot span{font:800 .69rem/1.35 var(--ui-body);padding:3px 7px;border-radius:6px;background:#081c2f8c;color:#c4d8e6}.chestLoot span:first-child{color:#ffe2a3}
#meta .offer.trackedOffer{border:1px solid #92d6c4;box-shadow:inset 0 0 0 1px #9be6cf20,0 3px #071421}.offerTarget{display:block;grid-column:1/-1;color:#b0f0d6;font:800 .7rem/1.3 var(--ui-body);text-align:center;padding:4px 7px;border-radius:6px;background:#2860506b}
#meta .rstep.got{border-color:#52616b65;box-shadow:none;background:linear-gradient(120deg,#172b39,#142534)}#meta .rstep.got .rrw{opacity:.7}#meta .rstep.got .rt{color:#95a6ae}
#meta .rstep.nextReward{opacity:1;border-color:#86bdae;box-shadow:0 0 0 1px #b9ead422,0 3px #071421}#meta .rstep.nextReward .lmTag{background:#254a49;color:#cbf2df}#meta .rstep.landmark:not(.nextReward){box-shadow:none;border-color:#65777c}
.prof>.pstats{margin:12px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.prof>.pstats>div{padding:8px 4px;background:#10273a;border-radius:9px;border:1px solid #66829433;min-width:0}.prof>.pstats b{font-size:1.2rem}.prof>.pstats small{font-size:.65rem;line-height:1.3}
.prof .pfLevel small{font-size:.75rem;line-height:1.45}.pfDisclosure{margin:12px 0;border:1px solid #6c859044;border-radius:12px;background:#13283b;padding:0 12px}.pfDisclosure>summary{cursor:pointer;min-height:48px;padding:12px 0;color:#d7e6ec;font:800 .87rem/1.4 var(--ui-body)}.pfDisclosure[open]{padding-bottom:12px}.pfDisclosure h3{font-size:.88rem}
.bh-next-label{font-size:9px;letter-spacing:.8px;color:#b2c7d1}
.questHelp{display:block;min-height:44px;margin:5px 0 0;padding:6px 0;text-align:left;border:0;background:none;color:#9ee4d4;font:800 .74rem/1.35 var(--ui-body);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.pfXpInfo{margin-top:4px}.pfXpInfo summary{min-height:36px;cursor:pointer;padding:9px 0 0;color:#a7c8d3;font-size:.74rem}.pfXpInfo p{font-size:.76rem;line-height:1.45}
body.bigText .shTargetLine,body.bigText .chestCompact .qcBody small{font-size:.88rem}body.bigText #meta .trackerCompact{grid-template-columns:44px minmax(0,1fr) 44px}body.bigText #meta .trackerCompact b{font-size:1rem}body.bigText #meta .trackerCompact .trackerRoadLink{font-size:.8rem}
@media(max-width:370px){#meta .chestCompact{grid-template-columns:40px minmax(0,1fr) auto;padding:11px;gap:7px}#meta .chestCompact .qcIco,#meta .chestCompact .qcIco svg{width:40px;height:40px}.chestLoot span{font-size:.66rem}#meta .trackerCompact{gap:7px;padding:10px}}
/* Clear reference art, outside the active battlefield. */
#howOv .howVeraCard{width:100%;display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:14px;padding:12px;border:1px solid #6e8a9b88;border-radius:13px;background:linear-gradient(120deg,#2b4256,#172738);text-align:left;box-shadow:inset 0 1px #fff1}
#howOv .howVeraCard>img{width:86px;height:86px;max-width:100%;max-height:none;object-fit:contain}
.howVeraCard>span{min-width:0;display:grid;gap:6px}
.howVeraCard b{font:800 1rem/1.25 var(--num);color:#fff1c7}
.howVeraCard small{font:700 .75rem/1.4 var(--num);color:#c2d7e3}
.howVeraCard em{display:flex;align-items:center;gap:8px;font:700 .75rem/1.4 var(--num);font-style:normal;color:#d4c9ed}
.howVeraCard em i{display:grid;place-items:center;width:25px;height:29px;border:1px solid #dbb8fa;border-radius:8px;background:linear-gradient(#b689e9,#7953b5);box-shadow:inset 0 1px #efceff80;color:white;font:900 1rem/1 var(--num);font-style:normal}
#howBody .howFormation{display:grid;gap:12px;margin-top:18px;padding:14px 12px;border:1px solid #6d9b9666;border-radius:13px;background:#132c3977}
#howBody .howFormation>b{color:#b5eadb}
#howBody .howPushExample{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:center;gap:6px;padding:6px 0 12px;border-bottom:1px solid #9fc9c833;text-align:center}
#howBody .howPushExample>span{display:grid;justify-items:center;gap:3px;min-width:0}
#howBody .howPushExample img{width:68px;height:70px;object-fit:contain}
#howBody .howPushExample b{font:800 .8rem/1.3 var(--num);color:#eff5ec}
#howBody .howPushExample small{font:700 .72rem/1.3 var(--num);color:#aacabd}
#howBody .howPushExample svg{width:30px;height:24px;color:#a7ddc8}
body.bigText .howVeraCard small,body.bigText .howVeraCard em{font-size:.88rem}
body.bigText #howBody .howPushExample b{font-size:.9rem}
body.bigText #howBody .howPushExample small{font-size:.82rem}


/* Optional counter drills in existing sheets. */
.counterTrials148{display:grid;gap:10px;margin:18px 0}.counterTrials148 .btn{display:flex;flex-direction:column;align-items:flex-start;text-align:left;white-space:normal;gap:6px;padding:14px 16px}.counterTrials148 small{font-size:.82em;font-weight:500;line-height:1.45;color:var(--muted,#bbccd9)}

/* Source: css/entry.css */
/* Entry composition. Live type stays sharp at any phone pixel density. */
#intro.entry42{isolation:isolate;background:#071619;cursor:default;transition:opacity .25s ease}
.entryWorld{position:absolute;inset:0;background:linear-gradient(180deg,#061316e8 0%,#06131666 35%,#07171d22 52%,#071619c9 75%,#061317 100%),url('../assets/ui/entry-world.webp') center 48%/cover no-repeat;filter:saturate(.82);animation:entryWorldIn 1.2s ease-out both}
.entryLight{position:absolute;inset:10% -40% 12%;pointer-events:none;background:radial-gradient(ellipse at 48% 50%,#63d7c741,transparent 55%);opacity:.85}
.entryFrame{position:absolute;inset:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom));border:0;border-radius:3px;pointer-events:none}
.entryFrame i{position:absolute;width:22px;height:22px;border-color:#e8c78585;border-style:solid;border-width:0}.entryFrame i:nth-child(1){left:-1px;top:-1px;border-top-width:2px;border-left-width:2px}.entryFrame i:nth-child(2){right:-1px;top:-1px;border-top-width:2px;border-right-width:2px}.entryFrame i:nth-child(3){left:-1px;bottom:-1px;border-bottom-width:2px;border-left-width:2px}.entryFrame i:nth-child(4){right:-1px;bottom:-1px;border-bottom-width:2px;border-right-width:2px}
.entryBrand{position:absolute;top:max(3%,calc(env(safe-area-inset-top) + 20px));left:22px;right:22px;text-align:center;z-index:2;animation:entryArrive .65s ease-out both}
.entryValhalla{display:block;font:800 clamp(21px,6.3vw,29px)/1.1 'VCCinzel',serif;letter-spacing:.16em;color:#e9d6a8;text-transform:uppercase;text-shadow:0 2px 0 #172a29;margin:0 0 7px}
.entryBrand h1,.entrySplashTitle{display:block;margin:0;font:900 clamp(33px,10.2vw,48px)/1.08 'VCCinzel',serif;letter-spacing:-.035em;text-transform:uppercase;color:#ffedbd;background:linear-gradient(#fff4d7 18%,#f5d28a 59%,#d49d44 62%,#edca82 90%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #795629) drop-shadow(0 5px 0 #051113);}
.entryDivider{display:flex;align-items:center;justify-content:center;gap:13px;margin:17px auto 0;color:#86d9ce}.entryDivider i{height:1px;width:48px;background:linear-gradient(90deg,transparent,#d3bb7e)}.entryDivider i:last-child{transform:rotate(180deg)}.entryDivider b{font:22px/1 serif;text-shadow:0 0 12px #56dfc97a}
.entryCast{position:absolute;z-index:1;left:50%;top:29%;bottom:28%;width:min(100%,440px);transform:translateX(-50%);pointer-events:none}
.entryGround{position:absolute;left:8%;right:8%;bottom:0;height:26%;border-radius:50%;background:radial-gradient(ellipse,#04100ce8 0%,#04100c7a 43%,transparent 71%);transform:scaleY(.6)}
.entryVera{position:absolute;object-fit:contain;filter:drop-shadow(0 7px 3px #04100da6);animation:entryVeraIn .7s cubic-bezier(.22,.8,.2,1) both}
.entryBjorn{height:108%;width:91%;left:17%;bottom:0;z-index:2;animation-delay:.1s}
.entryFloki{width:72%;height:67%;left:-8%;bottom:-1%;z-index:3;animation-delay:.18s}
.entryIgby{height:52%;width:43%;left:1%;bottom:49%;z-index:1;animation-delay:.26s}
.entrySparks{position:absolute;inset:0;z-index:4}.entrySparks i{position:absolute;left:13%;top:37%;width:3px;height:3px;background:#f9d386;box-shadow:0 0 7px #f3bf69;border-radius:50%;animation:entrySpark 4s ease-in-out infinite}.entrySparks i:nth-child(2){left:83%;top:49%;animation-delay:-1s}.entrySparks i:nth-child(3){left:32%;top:70%;animation-delay:-3s}.entrySparks i:nth-child(4){left:75%;top:12%;animation-delay:-2s}.entrySparks i:nth-child(5){left:51%;top:83%;animation-delay:-2.5s}
.entryAction{position:absolute;left:30px;right:30px;bottom:max(6%,calc(env(safe-area-inset-bottom) + 23px));z-index:5;text-align:center;animation:entryArrive .6s .18s ease-out both}
.entryAction p{margin:0 0 19px;font:700 clamp(17px,4.5vw,20px)/1.45 'VCNunito',var(--sans),sans-serif;color:#cfe2dc;text-shadow:0 2px 3px #000}.entryAction strong{font-weight:900;color:#fff0cd}
.entryPlay{display:flex;align-items:center;justify-content:center;gap:16px;width:min(100%,320px);min-height:60px;margin:0 auto;padding:12px 18px;border:1px solid #fff0b8;border-radius:16px;background:linear-gradient(#fff0b6,#eed38f 50%,#dfb65a);box-shadow:inset 0 2px 0 #fff8d6,inset 0 -3px 0 #b98a38,0 5px 0 #785523,0 9px 18px #0008;color:#2f2515;font:900 21px/1.2 var(--sans),sans-serif;cursor:pointer;touch-action:manipulation;transition:transform .12s,filter .12s}
.entryPlay svg{width:20px;height:20px}.entryPlay:active{transform:translateY(3px);filter:brightness(1.08)}.entryPlay:focus-visible{outline:3px solid #97ffec;outline-offset:6px}.entryPlay:disabled{opacity:.9}
#splash .lockup .entryValhalla{margin-bottom:10px}#splash .entrySplashTitle{font-size:clamp(32px,9.8vw,44px)}
@keyframes entryArrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes entryVeraIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes entryWorldIn{from{opacity:.45}to{opacity:1}}
@keyframes entrySpark{0%,100%{opacity:.2;transform:translateY(6px)}50%{opacity:.8;transform:translateY(-9px)}}
@media(max-height:680px){.entryBrand{top:max(2%,calc(env(safe-area-inset-top) + 14px))}.entryDivider{margin-top:10px}.entryCast{top:30%;bottom:28%}.entryAction{bottom:max(6%,calc(env(safe-area-inset-bottom) + 20px))}.entryAction p{margin-bottom:12px;font-size:16px}.entryPlay{min-height:54px;font-size:19px}}
@media(min-width:600px){.entryWorld{background-size:cover;background-position:center 53%}.entryCast{max-height:440px;top:27%}.entryBrand{top:3%}.entryAction{bottom:6%}}
@media(orientation:landscape) and (max-height:540px){.entryBrand{left:3%;right:auto;top:16%;width:45%}.entryBrand h1{font-size:clamp(26px,5vw,42px)}.entryCast{left:75%;top:12%;bottom:10%;width:45%}.entryAction{left:6%;right:auto;bottom:12%;width:39%}.entryAction p{font-size:14px;margin-bottom:9px}.entryPlay{min-height:46px;font-size:18px}.entryDivider{display:none}}
@media(prefers-reduced-motion:reduce){#intro.entry42,#intro.entry42 *{animation:none!important;transition:none!important}.entrySparks{display:none}}
body.fxLow .entrySparks{display:none}

.entryLogo{display:block;width:190px;height:124px;object-fit:contain;margin:0 auto 6px;filter:drop-shadow(0 4px 5px #0008)}
#splash .lockup .entryLogo{width:190px;height:124px;margin:0 auto 10px}
.entryDivider{display:none}
@media(max-height:680px){.entryLogo{width:148px;height:97px;margin-bottom:3px}}
@media(orientation:landscape) and (max-height:540px){.entryLogo{width:130px;height:86px}}


/* Source: css/card-intel.css */
/* A fixed, readable selection row. No popup enters the phone battlefield. */
body.battle-hand-pass.in-battle .bh-readout{height:30px;min-height:30px;padding-right:63px;justify-content:center;gap:0}
body.battle-hand-pass .bh-readout-main{font:800 11px/13px var(--num);white-space:nowrap;color:#f2e5bd;overflow:hidden;text-overflow:ellipsis}
body.battle-hand-pass .bh-readout-detail{font:600 11.5px/13px var(--num);color:#d5e4eb;white-space:normal;overflow:visible;text-overflow:clip;max-width:100%}
body.battle-hand-pass.in-battle .bh-battle-clock{width:58px!important;height:30px!important}
body.battle-hand-pass.in-battle .bh-battle-clock b{font-size:20px!important}
body.battle-hand-pass.bigText.in-battle .bh-readout{height:38px;min-height:38px}
body.battle-hand-pass.bigText .bh-readout-main{font-size:13px;line-height:15px}
body.battle-hand-pass.bigText .bh-readout-detail{font-size:13px;line-height:16px}
body.battle-hand-pass.bigText.in-battle .bh-battle-clock{height:38px!important}
/* One wing badge for every flier. Counts and champion badges keep their slots. */
.bh-flight{position:absolute;top:4px;right:4px;z-index:3;display:grid;place-items:center;width:25px;height:21px;border:1px solid #b9e8ef8f;border-radius:7px;background:#122a39e8;color:#e8fbff;box-shadow:0 1px 2px #020c1499;pointer-events:none}
.bh-flight svg{width:21px;height:16px}
#hand .card[data-bh-flying="true"] .bh-count{top:28px}
.ci-type-target{display:grid;grid-template-columns:minmax(70px,.7fr) minmax(0,1.3fr);gap:12px;margin:10px 0 12px;padding:11px 13px;border:1px solid #8fa9b14d;border-radius:12px;background:#0c1c2c}
.ci-type-target>span{display:grid;gap:3px;min-width:0}
.ci-type-target small{color:#9cb7c8;font:700 11px/1.3 var(--num)}
.ci-type-target b{font:800 14px/1.3 var(--num);color:#e5f3f7;overflow-wrap:break-word}
.ci-cue{color:#b4cbd6!important;font:600 13px/1.45 var(--num)!important;margin:10px 0 14px!important}
.ci-cue b{color:#91ddc9;margin-right:4px}
.bigText .ci-cue{font-size:15px!important}
.bigText .ci-type-target b{font-size:16px}
.ci-inspect{position:fixed;z-index:20;padding:18px;border:1px solid #b8c6ad80;border-radius:18px;background:linear-gradient(145deg,#1f3546,#101f30 80%);box-shadow:0 8px 28px #020b1555,inset 0 1px #edf3cf20;pointer-events:none;max-height:calc(100dvh - 32px);overflow:hidden;color:#dce9f0}
.ci-inspect[hidden]{display:none!important}
.ci-inspect-head{display:flex;align-items:center;gap:11px;min-width:0}
.ci-inspect-head>img,.ci-inspect-head>svg{width:60px;height:72px;object-fit:contain;flex:0 0 60px;filter:drop-shadow(0 3px 2px #0006)}
.ci-inspect small{font:700 12px/1.3 var(--num);color:#9ddfcf}
.ci-inspect h2{font:800 20px/1.15 var(--num);margin:4px 0;color:#fff0c1;overflow-wrap:anywhere}
.ci-inspect dl{margin:14px 0;display:grid;grid-template-columns:56px minmax(0,1fr);gap:7px;font:700 12px/1.4 var(--num)}
.ci-inspect dt{color:#9cb7c8}.ci-inspect dd{margin:0}
.ci-inspect p{font:600 14px/1.5 var(--num);margin:0 0 12px}
.ci-inspect .ci-cue{border-top:1px solid #afc8cc30;padding-top:12px;margin-bottom:0!important}
.bigText .ci-inspect p{font-size:16px}
@media(max-width:1119px),(max-height:599px),(hover:none),(pointer:coarse){.ci-inspect{display:none!important}}
.swapCmp .cmpGrid{grid-template-columns:minmax(52px,.55fr) minmax(0,1fr) minmax(0,1fr)}
.swapCmp .cmpGrid>*{min-width:0;overflow-wrap:break-word}
.swapCmp .cmpGrid{gap:0;align-items:stretch;border:1px solid #718d9f38;border-radius:12px;overflow:hidden;background:#102030}
.swapCmp .cmpGrid>*{padding:9px 7px;border-bottom:1px solid #718d9f38;min-height:38px}
.swapCmp .cmpGrid>span{display:flex;align-items:center;justify-content:center}
.swapCmp .cmpGrid>:nth-child(3n){background:#78c6b60b}
.swapCmp .cmpGrid>:nth-child(3n+2){border-inline:1px solid #718d9f22}
.swapCmp .cmpGrid>:nth-last-child(-n+3){border-bottom:0}
.swapCmp .cmpGrid>b{padding:10px 5px 12px;align-self:stretch;align-content:start;grid-template-rows:26px 72px auto;gap:6px}
.swapCmp .cmpGrid span{line-height:1.4;font-weight:600}
.swapCmp .cmpGrid>small{align-self:stretch;display:flex;align-items:center;text-transform:none;letter-spacing:0;font-size:11px}
.swapCmp .cmpSide{font:800 10px/1.3 var(--num);font-style:normal;color:#abc1cf}
.swapCmp .cmpSide.incoming{color:#a3e6cf}
.swapCmp .cmpGrid .cmpPortrait{display:grid;place-items:center;width:72px;height:72px;padding:3px;border:1px solid #8eacba38;border-radius:12px;background:radial-gradient(ellipse at 50% 80%,#41627244,transparent 72%)}
.swapCmp .cmpGrid .cmpPortrait img{width:64px;height:64px;object-fit:contain}
.swapCmp .cmpGrid .cmpName{font-weight:800;color:#f1f3ed;line-height:1.3}
.swapCmp .cmpGrid>small{color:#acbfce;font-size:11px}
.swapCmp .cmpSide{align-self:center}
@media(max-width:350px){.swapCmp .cmpGrid>*{padding-inline:4px}.swapCmp .cmpGrid .cmpPortrait{width:62px}.swapCmp .cmpGrid .cmpPortrait img{width:58px}}
.swapCmp .sheetNote{font-size:13px;line-height:1.5;padding:11px;border:1px solid #587d8055;border-radius:10px;background:#102a36}
.swapCmp .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
body.bigText .swapCmp .cmpGrid span{font-size:14px}
body.bigText .swapCmp .sheetNote{font-size:15px}

/* The original 30/38px slot is a hard arena constraint. The card itself names
   the selection and its availability; this space supplies its ability. */
.bh-readout[data-selected="true"] .bh-readout-main{display:none}
.bh-readout[data-selected="true"] .bh-readout-detail{color:#e5f1f3;font-weight:700}


/* Source: css/position.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
.mo.calm .resTitle{font-size:clamp(1.65rem,8.5vw,3rem)!important;line-height:1.16!important;letter-spacing:.035em!important;text-align:center;animation:resultArrive .45s ease-out both!important}
.mo.moEnd{height:100dvh;bottom:auto;overflow:clip}
.moEnd .moBody{width:min(560px,100%);min-width:0;overflow:visible;padding:calc(24px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px))}
.moEnd .endWord{width:100%;min-width:0;max-width:100%;font-size:clamp(1.7rem,9vw,3.5rem);line-height:1.18;letter-spacing:.055em;text-align:center;overflow-wrap:normal;animation:resultArrive .45s ease-out both}

@keyframes resultArrive{from{transform:translateY(6px) scale(.9);opacity:0}to{transform:none;opacity:1}}

@media(prefers-reduced-motion:reduce){.moEnd .endWord,.mo.calm .resTitle{animation:none!important}}
#coach .cHand{margin:-4px 0 0 -18px;transform-origin:18px 4px}

@keyframes cTap{0%,100%{transform:translate(var(--x0),var(--y0)) scale(1)}50%{transform:translate(var(--x0),var(--y0)) scale(.9)}}
.roadYou{max-width:calc(100% - 24px);min-height:38px;flex-wrap:wrap;scroll-margin-block:24px}
.roadYou::before{content:'';position:absolute;width:10px;height:10px;border-radius:50%;background:#a9ffe7;border:2px solid #08202a;box-shadow:0 0 0 2px #78d9bd;left:var(--road-join-x);top:50%;transform:translate(-50%,-50%)}
#scr-road .rstep::before,#scr-road .rstep.got::before,#scr-road .rstep.ready::before,#scr-road .rstep.first::before{left:var(--road-join-x)!important;top:50%!important;margin-top:0!important;transform:translate(-50%,-50%)!important}
#scr-road .rstep.got::before{transform:translate(-50%,-50%) rotate(45deg)!important}


/* Source: css/studio.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
.mbox:has(>.cardSheet),.mbox:has(>.settingsPanel){padding:0!important;overflow:hidden}
.cardSheet,.settingsPanel{display:flex;flex-direction:column;max-height:calc(100dvh - 30px);min-height:0}
.shTitlebar,.stTitlebar{flex:none;padding:18px 62px 14px 18px;border-bottom:1px solid #7993a438;background:linear-gradient(110deg,#2d4254aa,#17263755)}
.shTitlebar .eyebrow,.stTitlebar .eyebrow{display:block;font-size:.6rem;line-height:1.4;letter-spacing:.13em;color:#a3c8c4;margin:0 0 4px}
.mbox .shTitlebar h2,.mbox .stTitlebar h2{margin:0!important;padding:0!important;font-size:1.25rem!important;line-height:1.2!important;overflow-wrap:break-word}
.cardSheet>.shBody,.settingsPanel>.stBody{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#526e7f transparent;padding:14px 16px 16px;scroll-padding:12px;overflow-anchor:none}
.mbox .cardSheet .shHead{grid-template-columns:104px minmax(0,1fr)!important;gap:12px!important;min-height:0;margin:0 0 12px;padding:12px!important;align-items:center!important}
.mbox .cardSheet .shHead>div{padding:0;min-width:0}
.mbox .cardSheet .shHead .shIdle{padding:0!important;min-height:0!important;height:112px!important;width:104px;align-self:center}
.mbox .cardSheet .shHead .shArt{width:104px!important;height:112px!important;max-width:104px!important;object-fit:contain}
.mbox .cardSheet .shHead:has(img[src*="_card.svg"]){min-height:0}
.mbox .cardSheet .shHead .shIdle:has(img[src*="_card.svg"]){width:104px!important;height:112px!important;align-self:center}
.mbox .cardSheet .shRole{flex-direction:column;align-items:flex-start;gap:8px}
.mbox .cardSheet .shRoleT{font-size:.81rem;line-height:1.35}
.shPrice{display:flex;align-items:center;gap:14px;margin-top:12px;color:#c6cced;font-size:.76rem;font-weight:700}
.mbox .cardSheet .shHead .shCost{position:relative!important;inset:auto!important;flex:none!important;margin:0;width:32px!important;min-width:32px!important;height:38px!important;min-height:38px!important;font-size:1rem!important}
.mbox .cardSheet>.shBtns,.mbox .settingsPanel>.stFooter{flex:none;position:static;margin:0!important;padding:12px 16px max(14px,env(safe-area-inset-bottom,0px))!important;border-top:1px solid #6f899f55;background:#152537!important;box-shadow:0 -4px 12px #07111d22}
.cardSheet>.shBtns .btn,.settingsPanel>.stFooter .btn{width:100%;min-height:46px}
.cardSheet>.shBtns .roNote{margin:0!important}
.settingsPanel .stVersion{overflow-wrap:anywhere;margin-bottom:0}
.settingsPanel>.stBody>.stGroup:last-of-type{margin-bottom:12px}
.mbox:has(>.cardSheet)>.mClose,.mbox:has(>.settingsPanel)>.mClose{width:44px!important;height:44px!important;top:12px!important;right:12px!important}
body.bigText .shTitlebar .eyebrow,body.bigText .stTitlebar .eyebrow{font-size:.7rem}
body.bigText .mbox .shTitlebar h2,body.bigText .mbox .stTitlebar h2{font-size:1.35rem!important}
body.bigText .mbox .cardSheet .shRoleT{font-size:.9rem}
body.bigText .shPrice{font-size:.86rem}
#meta .fchip{min-width:44px}
.mbox:has(>.prof){overflow:hidden}
.prof{display:flex;flex-direction:column;max-height:calc(100dvh - 76px);min-height:0}
.prof .pfHead{flex:none;margin:0 0 14px;padding:0 40px 14px 0;border-bottom:1px solid #8398aa30;gap:12px}
.prof .pfHead h2{padding-right:0;font-size:1.25rem!important;line-height:1.2!important}
.prof .pfHead.longName{flex-direction:column;text-align:center;padding-right:0;gap:8px}
.prof .pfHead.longName .pfAv{width:60px;height:60px}
.prof .pfHead.longName .pfAv img{width:54px;height:54px}
.prof .pfHead.longName h2{font-size:1rem!important;text-wrap:balance;text-align:center!important}
.prof .pfTitle{display:block;font-size:.72rem;line-height:1.4;margin-top:5px;letter-spacing:0;overflow-wrap:anywhere}
.prof .pfBody{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#486071 transparent;padding:2px 8px 6px 2px;margin:0 -8px 0 -2px}
.prof .pfBody>.pstats{margin:0 0 12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.prof .pfBody>.pstats>div{padding:10px 4px;background:#102034;border:1px solid #68849833;border-radius:12px;min-width:0}
.prof .pfBody>.pstats b{font-size:1.2rem;overflow-wrap:anywhere}
.prof .pfBody>.pstats small{font-size:.67rem;line-height:1.35}
.prof .pfActions{flex:none;margin:12px 0 0;padding-top:12px;border-top:1px solid #8398aa30}
.prof .pfActions .btn{width:100%;min-height:48px}
.prof .pfChips .chip{min-height:44px;text-align:left;line-height:1.35}
.prof .pfXpInfo summary{min-height:44px;padding:12px 0 4px;line-height:1.4}
.prof .pfChips .frm{min-height:94px;flex:1 1 76px;max-width:112px;position:relative}
.prof .pfChips .frm[aria-pressed=true]{background:#354734;box-shadow:inset 0 0 0 1px #e5ce88}
.prof .av[aria-pressed=true]{box-shadow:0 0 0 2px #a4ecdc,inset 0 0 0 2px #122a32;background:#295251!important}
.prof .av[aria-pressed=true]::before{content:"";position:absolute;right:2px;bottom:2px;width:13px;height:8px;border:solid #effff6;border-width:0 0 3px 3px;transform:rotate(-45deg);z-index:3;filter:drop-shadow(0 1px 1px #07131c)}
.prof .av{position:relative}
.wildPickEmpty{grid-column:1/-1;padding:18px 14px;text-align:center;background:#15372f;border:1px solid #70cbb87a;border-radius:14px}
.wildPickEmpty>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid #9edac899;border-radius:50%;background:#29584d;color:#cdf8e5;margin:0 auto 10px}
.wildPickEmpty>span svg{width:23px;height:23px}
.wildPickEmpty b{display:block;color:#e5f6eb;font-size:.95rem;line-height:1.4}
.wildPickEmpty p{font-size:.83rem!important;line-height:1.5!important;color:#b6d2c8;margin-top:8px!important}
.collectionCallout.complete{gap:14px!important}
.collectionCallout.complete .collectStone{width:40px!important;height:40px!important;background:#31584b;border:1px solid #81bdaa;border-radius:50%;display:grid;place-items:center;align-self:start;margin-top:3px}
#meta .collectionCallout.complete .collectStone svg{width:22px!important;height:22px!important}
body.bigText .prof .pfTitle{font-size:.85rem}
body.bigText .prof .pfBody>.pstats small{font-size:.78rem}
body.bigText .wildPickEmpty p{font-size:.95rem!important}
.screen.enter{animation:studioScreenIn .16s ease-out}

@keyframes studioScreenIn{from{opacity:0}to{opacity:1}}

@media(prefers-reduced-motion:reduce){.screen.enter{animation:none}}
.homeDeckArrow svg,.homeDeckChevron svg{display:block;width:22px;height:22px;margin:auto}
.homeDeckChevron{display:grid;place-items:center}
#scr-quests .dailyJump{display:grid;grid-template-columns:1fr 1.3fr 1fr;padding:4px;gap:4px;border:1px solid #475568;border-radius:15px;background:#0c1826;box-shadow:inset 0 2px 5px #0005;margin:0 0 16px}
#scr-quests .dailyJump .btn{min-height:44px;border:1px solid transparent!important;border-radius:11px;box-shadow:none!important;background:transparent!important;color:#aebdce!important;font-size:.85rem;padding:8px 5px!important}
#scr-quests .dailyJump .btn[aria-selected="true"]{background:linear-gradient(#395061,#23394a)!important;border-color:#79b9b4!important;color:#f2f8f5!important;box-shadow:inset 0 1px #bceee635,0 2px 4px #0005!important}
#scr-quests [data-daily-panel][hidden]{display:none!important}
#scr-quests .dailyJump .btn{display:flex;align-items:center;justify-content:center;gap:4px}
#scr-quests .dailyCount{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 2px;border-radius:6px;background:#ebd09b;color:#253445;font-size:.64rem;line-height:1;font-variant-numeric:tabular-nums;box-sizing:border-box;flex-shrink:0}
#scr-quests [data-daily-panel]>h3:first-child{margin-top:0}
#scr-quests .offer .btn{min-height:44px!important;width:100%;margin-top:auto}
#scr-quests .offer .btn[aria-disabled="true"]{background:linear-gradient(#36414d,#27313c)!important;color:#b3bec9!important;border-color:#566270!important;box-shadow:inset 0 1px #ffffff0c,0 2px #101823!important;filter:grayscale(1)!important}
#scr-quests .offer .oTitle{font-size:.87rem;line-height:1.28;min-height:2.56em}
#scr-quests .oHave{line-height:1.4}
#scr-quests .quest{grid-template-columns:30px minmax(0,1fr);gap:8px 10px;padding:13px!important;align-items:start}
#scr-quests .quest .qIco{width:30px;height:32px;grid-column:1;grid-row:1}
#scr-quests .quest .qtxt{grid-column:2;min-width:0}
#scr-quests .quest .qside{grid-column:2;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;width:auto;text-align:left}
#scr-quests .quest .qrw{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px;max-width:100%;font-size:.77rem;line-height:1.45}
#scr-quests .quest .qrw small{display:block;color:#b2c3d0;font-size:.71rem;line-height:1.4}
#scr-quests .quest .qside>.btn{min-width:64px;min-height:44px!important;margin:0}
#scr-quests .questHelp{min-height:44px;justify-content:flex-start;text-align:left;padding:8px 0;font-size:.77rem}
#scr-quests .quest .qrow{flex-wrap:wrap;gap:5px 8px}
#scr-quests .quest .qbar{min-width:60px;flex:1}
#scr-quests .quest .qcnt{font-variant-numeric:tabular-nums;white-space:nowrap}
#scr-quests .qreset{line-height:1.5}
#scr-ranks .rkCard{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 14px;padding:12px 14px!important;border-radius:18px;background:linear-gradient(125deg,#244450,#152938)!important;backdrop-filter:none;box-shadow:0 5px 12px #050b12aa;overflow:visible}
#meta .mwrap:has(#scr-ranks:not([hidden])){padding-top:0}
#scr-ranks .rkCard::before{display:none}
#scr-quests .runeVault{display:grid;grid-template-columns:1fr;justify-items:center;padding:18px!important;gap:12px;background:radial-gradient(ellipse at 50% 0,#34455d,#152334 70%)!important}
#scr-quests .runeVault>.runeEmblem{width:52px;height:65px;float:none;position:static;filter:drop-shadow(0 5px 6px #050b1466)}
#scr-quests .runeVault .diRows{display:flex;flex-direction:column;gap:10px;width:100%;min-width:0;align-items:stretch}
#scr-quests .runeVault .vaultTitle{font-size:1rem!important;line-height:1.35;text-align:center;color:#f3dea3}
#scr-quests .runeVault .diRow{display:block;font-size:.79rem!important;font-weight:600!important;line-height:1.5!important;color:#b9cadb}
#scr-quests .runeVault .diRow b{color:#ecf6fa;font-weight:800}
#scr-quests .runeVault .diRow:first-of-type{text-align:center}
#scr-quests .runeVault .diRow+.diRow{border-top:1px solid #748ba32c;padding-top:9px}
#scr-quests .runeVault>.btn{width:100%;min-height:44px;margin:0}
#scr-quests .collectionRules{margin-top:12px;min-height:44px;width:100%}
#scr-quests .runeVault{display:flex!important;flex-direction:column;align-items:stretch;gap:14px}
#scr-quests .vaultHeader{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center}
#scr-quests .vaultHeader>.runeEmblem{width:48px!important;height:60px!important;margin:0;position:static}
#scr-quests .vaultHeader .vaultTitle{display:block;text-align:left;margin:0;font-size:1rem!important;line-height:1.3}
#scr-quests .vaultHeader small{display:block;font-size:.72rem;line-height:1.45;color:#b3c5d9;margin-top:5px}
#scr-quests .vaultActions{display:flex;flex-direction:column;gap:10px}
#scr-quests .vaultActions .btn{width:100%;min-height:44px!important;margin:0;white-space:normal}
#scr-quests .vaultBonus{font-size:.78rem;line-height:1.5;color:#c6d6e6;margin:0;padding-top:12px;border-top:1px solid #71869c44}
#scr-quests .vaultBonus b{color:#bee8db}
#scr-quests .vaultRules{font-size:.78rem;line-height:1.5;color:#b9cada}
#scr-quests .vaultRules summary{min-height:44px;display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;color:#c9ddd9;font-weight:800}
#scr-quests .vaultRules summary::-webkit-details-marker{display:none}
#scr-quests .vaultRules summary::after{content:'+';margin-left:auto;font-size:1.2rem}
#scr-quests .vaultRules[open] summary::after{content:'−'}
#scr-quests .vaultRules p{margin:0 0 10px}
#scr-ranks .rkBig{align-self:center;text-align:center;min-width:52px}
#scr-ranks .rkBig small{font-size:.66rem;white-space:normal;color:#c4d8df}
#scr-ranks .rkBig b{font-size:2rem;line-height:1.05;font-variant-numeric:tabular-nums}
#scr-ranks .rkInfo{min-width:0;display:flex;flex-direction:column;gap:3px}
#scr-ranks .rkInfo>b{font-size:1rem;line-height:1.25;overflow-wrap:anywhere}
#scr-ranks .rkInfo>span{display:flex;align-items:center;gap:5px;font-size:.8rem;line-height:1.25}
#scr-ranks .rkInfo>span .ic{width:16px;height:16px}
#scr-ranks .rkNext{grid-column:1/-1;margin:0;padding-top:7px;border-top:1px solid #b7d9d52a;font-size:.75rem;line-height:1.4;color:#c9d8e2}
#scr-ranks .rkNext b{color:#f2dfa0}
#scr-ranks .rkActions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 0}
#scr-ranks .rkActions .btn{min-height:44px;font-size:.8rem;padding:8px 12px!important}
#scr-ranks .rkDetails{border:1px solid #415263;border-radius:12px;background:#142231;margin:0 0 12px}
#scr-ranks .rkDetails summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;padding:9px 12px;color:#becfdc;font-size:.8rem;font-weight:700}
#scr-ranks .rkDetails summary::-webkit-details-marker{display:none}
#scr-ranks .rkDetails summary::after{content:'+';font-size:1.2rem;color:#e9d99b}
#scr-ranks .rkDetails[open] summary::after{content:'−'}
#scr-ranks .rkDetails .lbIntro{margin:0;padding:0 12px 12px;font-size:.8rem;line-height:1.5}
#scr-ranks .rkDetails .lbGlobal{font-size:.8rem;line-height:1.5;color:#e1d399}
#scr-ranks .rkDetails .btn{min-height:44px}
#scr-ranks .rkRow{grid-template-columns:26px 38px minmax(0,1fr) auto;gap:8px;margin:7px 0;padding:10px!important;min-height:68px}
#scr-ranks .rkPos{width:26px;min-width:26px;height:28px;display:grid;place-items:center;font-size:.78rem;font-variant-numeric:tabular-nums}
#scr-ranks .rkAv{width:38px;height:38px}
#scr-ranks .rkName{min-width:0}
#scr-ranks .rkName b{font-size:.87rem;line-height:1.3;white-space:normal;gap:4px 6px;min-width:0}
#scr-ranks .rkNm{overflow-wrap:anywhere;white-space:normal}
#scr-ranks .rkName small{white-space:normal;overflow:visible;display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;font-size:.68rem;line-height:1.45;margin-top:4px}
#scr-ranks .rkLeague{display:inline-flex;align-items:center;gap:4px}
#scr-ranks .rkLevel{color:#a6b8ca;white-space:nowrap}
#scr-ranks .rkTro{font-size:.88rem;min-width:0;gap:4px;font-variant-numeric:tabular-nums;white-space:nowrap}
#scr-ranks .rkTro .ic{width:15px;height:15px}
.swapCmp .cmpImpact{border:1px solid #465466;border-radius:12px;background:#101e2d;margin:12px 0;padding:10px 12px}
.swapCmp .cmpImpact h3{font-size:.8rem;line-height:1.4;font-family:var(--font-ui,inherit);margin:0 0 7px;color:#dfd6b5;text-transform:none;letter-spacing:0}
.swapCmp .cmpImpact dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;font-size:.78rem;line-height:1.4}
.swapCmp .cmpImpact dt{color:#aabace}
.swapCmp .cmpImpact dd{margin:0;text-align:right;color:#f0f4f8}
.swapCmp .cmpImpact .cmpBefore{color:#9facbd}
.swapCmp .cmpImpact .cmpAfter{color:#a9e9d5;font-weight:700}
.moCel .moBody{grid-template-columns:minmax(0,1fr)}
.moCel .celCard{min-width:0;max-width:100%}
.moCel .celBtns{width:100%;min-width:0;flex-wrap:wrap;justify-content:center}
.moCel .celBtns>.moBtn{min-width:0;flex:1 1 120px;max-width:100%;padding-inline:12px}
.swapCmp .cmpImpact p{font-size:.7rem;color:#9daec1;margin:7px 0 0;line-height:1.4}
.mbox:has(>.swapCmp){padding:0!important;overflow:hidden;max-height:calc(100dvh - 26px)!important}
.swapCmp{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100dvh - 28px);min-height:0}
.mbox .swapCmp>h2{padding:22px 64px 16px 18px;margin:0!important}
.swapCmp>.cmpBody{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#587287 transparent;padding:0 18px}
.swapCmp>.row{margin:0!important;padding:14px 18px max(16px,env(safe-area-inset-bottom,0px));border-top:1px solid #506479;background:#152337;gap:10px}
.swapCmp>.row .btn{min-height:44px!important;min-width:0;flex:1;padding:10px 8px!important}

@media(max-width:350px){#scr-ranks .rkRow{grid-template-columns:22px 32px minmax(0,1fr) auto;gap:6px;padding:9px!important}
#scr-ranks .rkAv{width:32px;height:32px}
#scr-ranks .rkPos{width:22px;min-width:22px}
#scr-ranks .rkName b{font-size:.82rem}}
.mo.moEnd{--end-light:#fff1bc;--end-metal:#d7b563;--end-dark:#7e592d;--end-ink:#ffe7a2;pointer-events:auto}
.mo.moEnd.end-lose{--end-light:#d4dde7;--end-metal:#90a6ba;--end-dark:#445767;--end-ink:#e1e8ef}
.mo.moEnd.end-draw,.mo.moEnd.end-practice{--end-light:#d4fff1;--end-metal:#79cdbb;--end-dark:#376b6b;--end-ink:#cefaeb}
.mo.moEnd .moBg{filter:none;background:linear-gradient(180deg,#05101a35,#040d1c88 45%,#050c1977);animation:none}
.mo.moEnd .moBody{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);width:min(540px,100%);height:auto;max-height:100%;padding:20px 20px 26px;overflow:visible;display:block;box-sizing:border-box}
.endStandard{position:relative;display:grid;justify-items:center;width:100%;isolation:isolate;filter:drop-shadow(0 10px 12px #02070bc0)}
.endInsignia{position:relative;z-index:2;width:154px;height:116px;margin-bottom:-16px;transform-origin:50% 85%;animation:endCrestArrive .46s cubic-bezier(.2,.85,.25,1) both}
.endInsignia svg{width:100%;height:100%;display:block;overflow:visible}
.endRibbon{position:relative;width:100%;padding:24px 12px 22px;border:1px solid var(--end-metal);border-radius:5px;background:linear-gradient(180deg,#32434c 0,#1c2d3a 6%,#152735 53%,#101d2b 54%,#172735 100%);box-shadow:inset 0 2px 0 #ffffff24,inset 0 -3px 0 #0005,0 4px 0 #08131c;box-sizing:border-box;animation:endBannerArrive .38s .06s cubic-bezier(.18,.8,.25,1) both}
.endRibbon::before,.endRibbon::after{content:'';position:absolute;top:12px;bottom:12px;width:10px;border-block:1px solid var(--end-metal);background:#1c2e3b;z-index:-1}
.endRibbon::before{right:100%;clip-path:polygon(100% 0,0 0,35% 50%,0 100%,100% 100%)}
.endRibbon::after{left:100%;clip-path:polygon(0 0,100% 0,65% 50%,100% 100%,0 100%)}
.mo.moEnd .endWord{color:var(--end-ink);background:none;-webkit-text-fill-color:currentColor;filter:none;font-size:clamp(1.8rem,11.5vw,3.6rem);font-weight:900;line-height:1.12;letter-spacing:.065em;text-shadow:0 2px 0 #07111d,0 -1px 0 #fff3;animation:none;margin:0}
.mo.moEnd.end-practice .endWord{font-size:clamp(1.55rem,8.4vw,2.7rem);line-height:1.2;letter-spacing:.035em}
.endScore{display:grid;grid-template-columns:minmax(66px,1fr) 58px minmax(66px,1fr);align-items:center;gap:4px;width:min(254px,calc(100% - 32px));padding:13px 14px 14px;border:1px solid #b8cddd42;border-top:0;border-radius:0 0 28px 28px;background:linear-gradient(180deg,#122331f7,#0b1927ed);box-shadow:inset 0 -2px 0 #ffffff0b;animation:endScoreArrive .28s .2s ease-out both;box-sizing:border-box}
.endTeam{display:grid;justify-items:center;gap:3px;min-width:0}
.endTeam small{font:800 .625rem/1.25 var(--num);letter-spacing:.075em;text-transform:uppercase;color:#c5d5e1;white-space:nowrap}
.endTeam b{font:900 1.9rem/1 var(--num);font-variant-numeric:tabular-nums;color:#85cbfa;text-shadow:0 2px 0 #030a10}
.endTeam.opponent b{color:#f297a1}
.endCrown{display:grid;justify-items:center;gap:5px;color:#c2cfd7}
.endCrown svg{width:26px;height:20px;fill:var(--end-metal)}
.endCrown small{font:700 .56rem/1.2 var(--num);letter-spacing:.06em;text-transform:uppercase}
.mo.end-lose .endInsignia{animation-name:endCrestSettle;animation-duration:.55s}
.mo.end-lose .endRibbon{background:linear-gradient(180deg,#35424c,#202c3a 6%,#17232f 54%,#121d29 55%,#1c2937);animation-duration:.48s}
.mo.moEnd.low .moBody *{animation:none!important;transition:none!important}

@keyframes endCrestArrive{from{transform:translateY(-18px) scale(.85);opacity:0}to{transform:none;opacity:1}}

@keyframes endCrestSettle{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}

@keyframes endBannerArrive{from{transform:translateY(6px) scale(.94);opacity:0}to{transform:none;opacity:1}}

@keyframes endScoreArrive{from{transform:translateY(-6px);opacity:0}to{transform:none;opacity:1}}

@media(max-height:580px){.mo.moEnd .moBody{top:44%}
.endInsignia{width:132px;height:100px}
.endRibbon{padding-block:20px 18px}}

@media(prefers-reduced-motion:reduce){.mo.moEnd .moBody *{animation:none!important;transition:none!important}
.mo.moEnd{transition:none}}
.cardSheet .veraWeight{margin:12px 0;opacity:1;border:1px solid #64889377;border-radius:12px;background:linear-gradient(115deg,#203949,#152739);overflow:hidden}
.cardSheet .veraWeight>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;list-style:none;color:#b5cbd7;font:700 .82rem/1.4 var(--num)}
.cardSheet .veraWeight>summary::-webkit-details-marker{display:none}
.cardSheet .veraWeight>summary strong{margin-left:auto;color:#d0f1e3;font-size:.88rem;overflow-wrap:break-word}
.cardSheet .veraWeight>summary i{flex:none;width:8px;height:8px;border-right:2px solid #b6d8d0;border-bottom:2px solid #b6d8d0;transform:rotate(45deg);margin:-4px 2px 0 1px}
.cardSheet .veraWeight[open]>summary{border-bottom:1px solid #7eaaab33}
.cardSheet .veraWeight[open]>summary i{transform:rotate(225deg);margin-top:4px}
.cardSheet .veraWeight>p{font:600 .82rem/1.55 var(--num);color:#d4e3e9;margin:0;padding:11px 12px 13px}
.cardSheet .veraWeight>summary:focus-visible{outline:2px solid #a6e6d8;outline-offset:-4px;border-radius:11px}
body.bigText .cardSheet .veraWeight>summary,body.bigText .cardSheet .veraWeight>p{font-size:.94rem}
body.bigText .cardSheet .veraWeight>summary strong{font-size:1rem}
#meta .mwrap{scrollbar-width:thin;scrollbar-color:#668092 transparent}
#meta .mwrap::-webkit-scrollbar{width:5px}
#meta .mwrap::-webkit-scrollbar-thumb{background:#668092;border-radius:5px}
.cardSheet .comboGuide{margin:12px 0;border:1px solid #887baa66;border-radius:12px;background:#252b3f;opacity:1;overflow:hidden}
.cardSheet .comboGuide>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:11px 12px;color:#ead8f0;font-weight:800;list-style:none;cursor:pointer}
.cardSheet .comboGuide>summary::-webkit-details-marker{display:none}
.cardSheet .comboGuide>summary span{border:1px solid #b3a0c455;padding:1px 8px;border-radius:8px;font-size:.75rem}
.cardSheet .comboGuide>summary:focus-visible{outline:2px solid #dcbce8;outline-offset:-4px;border-radius:10px}
.cardSheet .comboGuide[open]>summary{border-bottom:1px solid #a996ba33}
.cardSheet .comboGuide p{margin:0;padding:12px;color:#d8e3ec;font:600 .8rem/1.55 var(--num)}
.cardSheet .comboGuide p+p{border-top:1px solid #a996ba33}
.cardSheet .comboGuide p>b{display:block;color:#efdfef;margin-bottom:4px}
body.bigText .cardSheet .comboGuide p{font-size:.95rem}
.cjOpen{display:flex;align-items:center;gap:12px;width:100%;margin:10px 0 14px;padding:12px 14px;border:1px solid #827695;border-radius:13px;background:linear-gradient(115deg,#303649,#222b3d);box-shadow:inset 0 1px #e7daf024,0 2px 0 #090d16;color:#efe3f7;text-align:left;font:700 .85rem/1.35 var(--num);cursor:pointer}
.cjOpen>span:first-child{flex:1;min-width:0}
.cjOpen b,.cjOpen small{display:block}
.cjOpen small{color:#bdc8d8;font-size:.74rem;font-weight:600;margin-top:3px}
.cjOpen .cjCount{flex:none;padding:4px 9px;border:1px solid #b3a0c477;border-radius:8px;font-variant-numeric:tabular-nums;color:#f1d9aa}
.cjOpen>i{font-style:normal;font-size:1.6rem}
.cjOpen:active{transform:translateY(1px)}
.cjOpen:focus-visible,.cjEntry>summary:focus-visible{outline:3px solid #a9e7d6;outline-offset:-4px}
#howOv.hasJournal #howBody{display:block;width:100%;text-align:left}
#howBody .comboJournal{font:600 .84rem/1.55 var(--num);color:#d8e1ed;overflow-wrap:break-word}
#howBody .cjLead{padding:0 0 16px;border-bottom:1px solid #a58bc33d;margin-bottom:14px}
#howBody .cjKicker{display:block;font-size:.66rem;letter-spacing:.13em;color:#b9b1cc;margin-bottom:5px}
#howBody .cjLead>b{font-size:1.15rem;color:#f2d59a;line-height:1.4;display:block}
#howBody .cjLead p,#howBody .cjEmpty{margin:8px 0 0}
#howBody .cjEntries{display:grid;gap:10px;margin-top:14px}
#howBody .cjEntry{border:1px solid #84739180;border-radius:12px;background:linear-gradient(130deg,#2e3043,#1c293b);overflow:hidden}
#howBody .cjEntry>summary{display:flex;gap:11px;align-items:center;min-height:64px;padding:12px;cursor:pointer;list-style:none;color:#f2e4f1}
#howBody .cjEntry>summary::-webkit-details-marker{display:none}
#howBody .cjEntry summary>span:nth-child(2){flex:1;min-width:0}
#howBody .cjEntry strong{font-size:.94rem;line-height:1.35;display:block}
#howBody .cjEntry summary small{display:block;color:#9fd4c3;font-size:.68rem;margin-top:2px}
#howBody .cjMark{display:grid;place-items:center;flex:none;width:28px;height:32px;border:1px solid #dbc08b7a;border-radius:7px;color:#f1d497;background:#151d2e;font-size:1.25rem}
#howBody .cjEntry summary i{width:8px;height:8px;border-right:2px solid #c2b7d0;border-bottom:2px solid #c2b7d0;transform:rotate(45deg);flex:none;margin:0 4px 4px 0}
#howBody .cjEntry[open] summary{border-bottom:1px solid #9987b44d}
#howBody .cjEntry[open] summary i{transform:rotate(225deg);margin-top:7px}
#howBody .cjContent{padding:12px 14px 16px}
#howBody .cjContent h3{font:800 .75rem/1.4 var(--num);color:#eed4a2;margin:16px 0 4px;text-transform:none;letter-spacing:0}
#howBody .cjContent p{margin:0}
#howBody .cjPair{display:flex;align-items:center;justify-content:center;gap:12px;padding:0 0 10px;border-bottom:1px solid #99acc526}
#howBody .cjPortrait{display:flex;flex-direction:column;align-items:center;max-width:90px;min-width:0;font:700 .7rem/1.35 var(--num);color:#cbd6e4;text-align:center}
#howBody .cjPortrait img{width:64px;height:64px;object-fit:contain;margin-bottom:5px}
#howBody .cjPortrait.spell img{border:1px solid #81d9cb77;background:#173338;border-radius:10px;padding:5px;box-sizing:border-box}
#howBody .cjPlus{font-size:1.25rem;color:#cab691}
#howBody .cjLocked{display:flex;align-items:center;gap:12px;padding:13px;border:1px dashed #78829477;border-radius:12px;background:#152132;color:#b8c4d5}
#howBody .cjLocked>span{font:800 1.2rem var(--num);color:#93a2bb;flex:none;width:26px;text-align:center}
#howBody .cjLocked b{color:#bdcadd;font-size:.8rem}
#howBody .cjLocked p{font-size:.76rem;margin:3px 0 0}
#howBody .cjFoot{color:#a9b8cb;font-size:.72rem;margin:16px 0 0}
body.bigText .cjOpen{font-size:.98rem}
body.bigText .cjOpen small{font-size:.85rem}
body.bigText #howBody .comboJournal{font-size:.97rem}
body.bigText #howBody .cjEntry strong{font-size:1.03rem}
body.bigText #howBody .cjContent h3{font-size:.87rem}
body.bigText #howBody .cjLocked b{font-size:.94rem}
body.bigText #howBody .cjLocked p,body.bigText #howBody .cjFoot{font-size:.85rem}
#howOv.hasJournal .sheet>.row{flex:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid #93a1ba44}
#howOv.hasJournal .sheet>.row button{min-height:44px}
#howOv.hasJournal #howNext{display:none}
.mbox>.mClose{z-index:30}
.homeShop{pointer-events:auto;position:absolute;left:12px;top:8px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:58px;min-height:62px;padding:7px 9px;border:1px solid #a18d5d;border-radius:15px;background:linear-gradient(#2b4252ee,#112332ee);color:#f4dfac;font:700 .73rem/1.2 var(--ui-body);box-shadow:inset 0 1px #fff2,0 3px 0 #071320aa;cursor:pointer}
.homeShop svg{width:30px;height:30px;filter:drop-shadow(0 2px 1px #0005)}
.homeShop:active{transform:translateY(2px);box-shadow:inset 0 1px #fff2,0 1px 0 #071320aa}
.homeShop:focus-visible{outline:3px solid #8ae3d0;outline-offset:3px}
.cardSheet .shAbility{border:1px solid #59768766;border-radius:12px;margin:12px 0;background:#142b3c}
.cardSheet .shAbility>summary{padding:14px;font:800 .86rem/1.35 var(--num);color:#dfedea;cursor:pointer;min-height:46px;box-sizing:border-box}
.cardSheet .shAbility>p{margin:0 14px 14px;font:600 .83rem/1.5 var(--num)}
.duCycle{margin:12px 0;border:1px solid #75948c66;border-radius:12px;padding:12px;background:linear-gradient(130deg,#24424888,#0d1f33)}
.mbox .duStart{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap;margin:0 0 10px;font:700 .76rem/1.4 var(--num);color:#b8ceca}
.duStart b{color:#f4d997}
.duGrid.duPhases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.duPhase{display:flex;flex-direction:column;gap:5px;border:1px solid #79909940;border-radius:9px;background:#0b1c2c99;padding:10px;min-width:0}
.duPhase.aw{background:#34534766;border-color:#a7c59466}
.duPhase small{font:800 .69rem/1.35 var(--num);color:#c5d2d6}
.duPhase.aw small{color:#d8e5b2}
.duPhase b{font:900 .94rem/1.3 var(--num);color:#f5f3df}
.duPhase span{font:600 .69rem/1.4 var(--num);color:#c3d3df}
.mbox .duRepeat{font:600 .73rem/1.4 var(--num);color:#b7cbc9;margin:10px 0 0}
.kFacts.duOverviewStats{grid-template-columns:repeat(2,minmax(0,1fr))}
body.bigText .duPhase small,body.bigText .duPhase span,body.bigText .duRepeat,body.bigText .duStart{font-size:.85rem}
body.bigText .duPhase b{font-size:1rem}
body.bigText .cardSheet .shAbility>p{font-size:1rem}


@media(max-width:380px){.mbox .cardSheet:not(.spellSheet) .shHead{grid-template-columns:84px minmax(0,1fr)!important;padding:10px!important}
.mbox .cardSheet:not(.spellSheet) .shHead .shIdle{width:84px!important;height:88px!important}
.mbox .cardSheet:not(.spellSheet) .shHead .shArt{width:84px!important;max-width:84px!important;height:88px!important}
.duPhase{padding:8px}
.duPhase b{font-size:.85rem}}


/* Source: css/navigation.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
#scr-quests .dailyJump .btn:focus-visible{outline:2px solid #a0ece0;outline-offset:-3px}
#scr-quests .dailyJump{grid-template-columns:1fr 1fr}
#meta .mwrap:has(#scr-ranks:not([hidden]),#scr-road:not([hidden])){padding-top:0}
#scr-ranks .rkCard{position:relative;top:auto}
#scr-shop .shopIntro{margin:0 0 20px;color:#bacbdc;font-size:.84rem;line-height:1.5;max-width:48em}
#scr-shop h3{font:700 1.08rem/1.3 var(--ui-title);color:#eed6a1;margin:20px 0 12px}
#scr-shop .offer{position:relative;overflow:hidden}
#scr-shop .trackedOffer{border-color:#73cbbc!important;box-shadow:inset 0 0 0 1px #8edccc35,0 4px 10px #07101e55!important}
#scr-shop .offerTarget{position:relative;inset:auto;display:block;align-self:center;margin:0 0 4px;padding:3px 8px;background:#284e48;color:#bdf9e8;border:1px solid #65978b;border-radius:8px;font-size:.66rem;line-height:1.2;font-weight:800}
#scr-shop .qreset{line-height:1.5}
#scr-shop .offer .btn{min-height:44px!important;width:100%;margin-top:auto}
#scr-shop .offer .btn[aria-disabled="true"]{background:linear-gradient(#36414d,#27313c)!important;color:#b3bec9!important;border-color:#566270!important;box-shadow:inset 0 1px #ffffff0c,0 2px #101823!important;filter:grayscale(1)!important}
#scr-shop .offer .oTitle{font-size:.87rem;line-height:1.28;min-height:2.56em}
#scr-shop .shop{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#scr-shop .offer{gap:7px;padding:14px 11px!important;border-radius:15px!important;border:1px solid color-mix(in srgb,var(--rc,#94c8d5) 45%,#31485f)!important;background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--rc,#94c8d5) 14%,transparent),transparent 62%),linear-gradient(#21364d,#14283f)!important;filter:none!important;transform:none!important;box-shadow:inset 0 1px 0 #ffffff11!important}
#scr-shop .oArt{height:85px;align-items:center}
#scr-shop .oArt img{height:80px;max-width:100%;object-fit:contain}
#scr-shop .oTitle{font:900 .9rem/1.25 var(--ui-body)!important;margin-top:6px;min-height:2.5em;display:grid;align-items:center}
#scr-shop .oPrice{font-size:.83rem;border-color:#7891ad33;margin-top:1px;padding-top:10px}
#scr-shop .oHave{font:700 .71rem var(--ui-body);color:#aec5df}
#scr-shop .offer .btn{width:100%;margin-top:4px;min-height:40px!important}
#scr-shop .offer.sold{opacity:.68}
#scr-shop .wildShop .oArt{height:65px}
#scr-shop .offer .btn{min-height:44px!important;margin-top:auto!important}
#scr-shop .shop{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#scr-shop .shopIntro{margin-bottom:16px}
#scr-shop .offerFlags{min-height:18px;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;width:100%;color:#c6d5e6;font-size:.65rem;line-height:1.25;font-weight:800}
#scr-shop .offerFlags small{font:inherit}
#scr-shop .offerTarget{margin:0;padding:2px 5px;font-size:.62rem}
#scr-shop .shopClock{display:flex;flex-direction:column;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}
#scr-shop .shopClock small{font-size:.6rem;color:#a8bdce;font-weight:650;line-height:1.2}

@media(min-width:560px){#scr-shop .shop{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media(min-width:800px){#scr-shop .shop{grid-template-columns:repeat(4,minmax(0,1fr))}}


/* Source: css/portraits.css */
/* One still portrait treatment. No arena, dock, card-size or input changes. */
.veraPortrait{display:block;width:100%;height:100%;max-width:100%;overflow:hidden;pointer-events:none}
.veraPortrait image{pointer-events:none}
#meta .ctile .cart:has(.veraPortrait){inset:28px 4px 56px!important;height:auto!important;overflow:hidden;z-index:2}
#meta .ctile .cart>.veraPortrait{width:100%;height:100%;filter:drop-shadow(0 2px 2px #02081188)}
#meta .ctile .cart:has(.veraPortrait)::after{display:none}
#meta .ctile .cart>.veraPortrait{mask-image:linear-gradient(#000 88%,transparent)}
/* The aperture owns both dimensions, including the 36px narrow-phone header.
   Size only the portrait; frame ornaments and the level badge stay unclipped. */
#meta .meAv>.veraPortrait{width:100%;height:100%;border-radius:50%;padding:3px;box-sizing:border-box}
.homeDeckPortrait>.veraPortrait,.homePreviewArt>.veraPortrait,.cmpPortrait>.veraPortrait{width:100%;height:100%;padding:3px;box-sizing:border-box}
.mbox .cardSheet .shHead .shArt.veraPortrait{transform:none!important;filter:drop-shadow(0 3px 3px #0006);mask-image:linear-gradient(#000 92%,transparent)}
#scr-shop .oArt:has(.veraPortrait){height:104px;width:100%;max-width:140px;align-self:center}
#scr-shop .oArt>.veraPortrait{mask-image:linear-gradient(#000 88%,transparent);filter:drop-shadow(0 3px 3px #01091766)}
.trackerPick>span:has(.veraPortrait),.wildPick>.veraPortrait{height:74px;display:block}
.collectPortrait>.veraPortrait{width:100%;height:100%;padding:4px;box-sizing:border-box}
.qicon>.veraPortrait{width:100%;height:100%}
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key]) .veraPortrait.art{inset:2px 1px 5px 23px!important;width:calc(100% - 24px)!important;height:calc(100% - 7px)!important;filter:drop-shadow(0 2px 1px #02081188)!important;object-fit:initial!important}
:is(#hand,.flycard) :is(.bh-count,.bh-crown,.bh-flight){top:-4px!important;height:15px!important;min-height:0!important;line-height:13px!important}
:is(#hand,.flycard) .bh-count.bh-flight{display:flex;align-items:center;justify-content:center;gap:1px;width:27px;padding:0 2px;font-size:9px}
:is(#hand,.flycard) .bh-count.bh-flight svg{width:10px;height:10px;flex:none}
.nxCard>.veraPortrait{padding:2px 2px 7px;box-sizing:border-box}
/* Keep availability and selection messages in the caption, off the face. */
body.battle-hand-pass :is(#hand,.flycard) .bh-state{bottom:5px;height:15px;line-height:13px;font-size:10px}
body.battle-hand-pass :is(#hand .card,.flycard):has(.bh-state:not(:empty)) .bh-target{visibility:hidden}
body.battle-hand-pass.bigText :is(#hand,.flycard) .bh-state{bottom:7px;font-size:10.5px}
.ci-inspect-head>.veraPortrait{width:64px;height:70px;flex:none}
.pfAv>.veraPortrait{width:100%;height:100%;padding:6px;box-sizing:border-box;border-radius:50%}
.frm>.veraPortrait{width:40px;height:40px;display:block;margin:auto}
:is(#hand,.flycard) .bh-visual:has(.veraPortrait) .bh-halo{display:none}
@media(min-width:700px){#meta .ctile .cart:has(.veraPortrait){inset:30px 7px 64px!important}}
/* Card surfaces reuse the battle master, including its backdrop and focal point.
   These rules only affect menus. No hand, dock or battlefield dimensions change. */
.cardPortrait{border-radius:8px}
#meta .ctile .cart>.cardPortrait,#scr-shop .oArt>.cardPortrait,
.mbox .cardSheet .shHead .shArt.cardPortrait{mask-image:none;filter:none}
.homeDeckPortrait>.cardPortrait,.homePreviewArt>.cardPortrait,
.cmpPortrait>.cardPortrait,.collectPortrait>.cardPortrait{padding:0}
.homePreviewArt:has(.cardPortrait){padding:0}
.av>.cardPortrait{width:100%;height:100%;border-radius:50%}
/* Full card composition: the illustration reaches the frame and dissolves into
   its dark lower ground, with no inset photograph or exposed rectangular edge. */
#meta .ctile .cart:has(.cardPortrait){inset:0 0 50px!important;height:auto!important;overflow:hidden}
#meta .ctile .cart>.cardPortrait{border-radius:0;mask-image:linear-gradient(#000 0 66%,#000b 82%,transparent 100%)}
#meta .ctile:has(.cardPortrait) .vcBg{inset:0;border-radius:inherit;background:linear-gradient(#143149,#102739 58%,#081522)!important}
#meta .ctile:has(.cardPortrait) .vcBg::before{display:none}
#meta .ctile:has(.cardPortrait)::after{height:56px;background:linear-gradient(transparent,#081522 55%)}
/* Swarms use the same frame-to-caption treatment as every other Vera.
   A separate inset/top fade exposed a rectangular background inside the card. */
#meta .ctile .cart:has(.veraGroup){aspect-ratio:auto}
.homePreviewArt>.cardPortrait{border-radius:0;mask-image:linear-gradient(#000 0 78%,transparent)}
.homePreviewCard:has(.cardPortrait){background:#0b2030}
.homePreviewCard:has(.cardPortrait)>b{background:none}
#scr-shop .oArt>.cardPortrait{border-radius:0;mask-image:linear-gradient(90deg,transparent,#000 10% 90%,transparent),linear-gradient(transparent,#000 12% 65%,transparent);mask-composite:intersect}
/* Collection prices share the bottom metadata row. Battle prices stay fixed. */
#meta .ctile .ccost{top:auto!important;bottom:5px!important;left:4px!important;width:21px!important;height:23px!important;border-radius:9px!important;font-size:1rem!important}
#meta .ctile .clvl{left:28px!important;right:3px!important;bottom:8px!important;min-height:17px;gap:2px;font-size:.64rem!important;white-space:nowrap}
#meta .ctile .clvl .cup{width:10px!important;height:12px!important;font-size:.7rem!important;flex-shrink:0}
#meta .ctile.locked .clk{left:28px!important;right:3px!important}
#meta .ctile .cGroupCount{top:5px;right:5px}
#meta .ctile .cMed{top:5px;left:5px;right:auto;transform-origin:left top}
/* A fixed-width spell span used to expand its implicit grid track beyond the
   narrow card. The symbol and its medallion now share the actual art slot. */
#meta .ctile .cart.spellMedallion{inset:6px 4px 56px!important;height:auto!important;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
#meta .ctile .spellArt{width:100%;height:100%;min-width:0;min-height:0;max-height:100%;place-self:stretch}
body.bigText #meta .ctile .cart.spellMedallion{bottom:65px!important}


/* Source: css/mastery-prestige.css */
/* Menu and ceremony only. No battlefield sizing or hand geometry rules. */
.masteryNew{padding:0!important;background:none!important;border:0!important}
.masteryRole{display:grid;gap:6px;padding:15px;border-left:3px solid #7cd2c7;background:#142c3b;color:#e8f5fa;line-height:1.5}
.masteryRole>b{color:#91ded3;font-size:.78em;letter-spacing:.09em;text-transform:uppercase}
.masteryRules{margin:12px 0 20px;line-height:1.5;color:#b7c8d6}
.masteryRules summary,.masteryTitles summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#dce8f6}
.masteryRank{padding:16px;margin:12px 0;background:linear-gradient(130deg,#1d3041,#101e30);border:1px solid #435269;border-radius:15px;box-shadow:inset 0 1px #ffffff0c;line-height:1.4}
.masteryRank.current{border-color:#8fb7be;box-shadow:inset 3px 0 #82d3c7}
.masteryRank.earned{border-color:#b8985c;background:linear-gradient(130deg,#28333d,#172637)}
.masteryRankHead{display:flex;align-items:center;gap:10px;margin-bottom:12px}.masteryRankHead>b{font-size:1.12em}.masteryRankHead>span{margin-left:auto;font-size:.72em;color:#a9bbce}
.masteryRankHead .md{flex:none;width:28px;height:32px;text-align:center;line-height:32px;font-style:normal;color:#152438}
.md.m{background:linear-gradient(135deg,#f4d69b,#d1b0fb 45%,#8266a8);border-color:#ecd09c;box-shadow:0 0 0 1px #b393c3,inset 0 1px #fff4dc}
.masteryCheck{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;margin:13px 0;font-size:.86em;color:#c4d2e0}.masteryCheck>b{color:#eff4ff;font-variant-numeric:tabular-nums;white-space:nowrap}.masteryCheck .srBar{grid-column:1/-1;height:6px}
.masteryChallenge{font-size:.9em;line-height:1.55;color:#e4d5fb}.masteryChallenge b{display:block;margin-top:5px;color:#f4d89c}
.masteryPrize{display:flex;align-items:center;gap:8px;padding-top:11px;border-top:1px solid #ffffff16;font-size:.86em;color:#f2d49a;overflow-wrap:anywhere}.masteryPrize svg{width:20px;height:22px;flex:none}.masteryRank>small{display:block;margin-top:7px;color:#acc2d5;line-height:1.5}
.masteryNotice{padding:15px;border:1px solid #747293;border-radius:12px;background:#29293e;margin:12px 0}.masteryNotice p{font-size:.84em;line-height:1.5;margin-bottom:0;color:#cccede}
.masteryShowcase{margin-top:20px}.masteryShowcase>p{font-size:.82em;color:#b0c3d6}.masteryShowcaseCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.masteryShowcaseCards>p{grid-column:1/-1;font-size:.85em;color:#9eafc0}.masteryShowcaseCards button{position:relative;min-width:0;min-height:96px;background:#132437;border:1px solid #455367;border-radius:12px;color:#cedae8;padding:9px 5px;cursor:pointer}.masteryShowcaseCards button[aria-pressed=true]{border:2px solid #e6c480;background:#2b3441}.masteryShowcaseCards img{height:60px;width:100%;object-fit:contain}.masteryShowcaseCards span{display:block;font-size:11px;overflow-wrap:anywhere}.masteryShowcaseCards i{position:absolute;right:5px;top:5px}
.masteryTitles>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:12px 0;border-top:1px solid #ffffff15;font-size:.9em}.masteryTitles span{color:#b8c4d2;font-size:.75em}.masteryTitles small{grid-column:1/-1;line-height:1.5;color:#a6b9cb}
.masteryChoice{display:grid;gap:8px}.masteryChoice .btn{display:flex;align-items:center;gap:12px;text-align:left;min-height:64px}.masteryChoice img{width:52px;height:52px;object-fit:contain}.masteryChoice small{display:block;color:#bfcde0;font-size:.8em}
/* The whole shared swarm composition stays visible in a fixed identity slot. */
.masteryChoice .btn{display:grid;grid-template-columns:56px minmax(0,1fr)}
.masteryChoice .masteryRewardPortrait167{width:56px;height:56px;border-radius:8px;mask-image:none;filter:none}
.masteryChoice .masteryRewardName167{min-width:0;overflow-wrap:anywhere;line-height:1.3}
.masteryChoice .masteryRewardName167 small{margin-top:4px;line-height:1.35}
.pfMc{flex-wrap:wrap}.cMed.m{box-shadow:0 0 0 1px #e0bd89,inset 0 1px #f4e1b6}.celMst.m{border-color:#cdb2e9;background:radial-gradient(ellipse,#4b3c65,#182237)}
#scr-shop .offer button{min-height:48px}
.battle.prestigeBattle{background:linear-gradient(125deg,#3b2e53,#202139 58%,#352b4b);border-color:#d9b779;color:#fff0c5;box-shadow:inset 0 2px #eed6a655,0 5px #0a1121,0 7px #9d7f47}.battle.prestigeBattle small{color:#dbbfef}
.prestigeInfo{border:1px solid #86718d;border-radius:12px;background:#221f34;padding:12px 15px;margin:12px 0;color:#d2c6e1;line-height:1.5;font-size:.85em}.prestigeInfo summary{min-height:32px;color:#f0d69c;cursor:pointer}.prestigePool{display:grid;gap:8px;margin-top:12px}.prestigePool span{display:flex;gap:8px;flex-wrap:wrap}.prestigePool small{color:#b9c8d8}
.mo.prestigeMoment{--t:#e5c17c;--ray:rgba(181,137,224,.2);--glow:#ead6ff;background:#0b101c}
.prestigeMoment .moBg{background:radial-gradient(ellipse at 50% 24%,#422e55 0,#161d30 48%,#080e18 100%)}
.prestigeMoment .moBody{position:relative}.prestigeMoment .endStandard{max-width:min(94vw,560px)}
.prestigeCrest{width:clamp(120px,30vw,180px);margin:0 auto 10px;filter:drop-shadow(0 10px 18px #060a1466)}.prestigeCrest svg{width:100%;display:block}.prestigeCrest.fallen{filter:saturate(.35) drop-shadow(0 10px 18px #060a1466)}
.prestigeKicker{font-size:12px!important;letter-spacing:.22em;color:#d5b983;text-transform:uppercase;text-align:center;margin:3px 0 12px!important;font-weight:800}.prestigeMoment .endRibbon{border-block:1px solid #bfa26988;background:linear-gradient(90deg,transparent,#302a42 20%,#302a42 80%,transparent);padding:16px 8px;box-shadow:none}.prestigeMoment .endWord{font-size:clamp(28px,9vw,58px)!important;color:#ffedc0}.prestigeMoment .endRibbon:before,.prestigeMoment .endRibbon:after{display:none}.prestigeMoment.end-lose .endWord{color:#d0d8e6}.prestigeMoment .endInsignia{display:none}.prestigeMoment .resCrest{display:none}.prestigeMoment .resTitle{font-size:clamp(26px,7vw,43px);color:#f4d699}.prestigeMoment .prestigeReward{font-size:clamp(12px,3.5vw,16px);color:#dfccf4;text-align:center;line-height:1.5;margin:14px auto 0;max-width:28em}.prestigeMoment .moFoot{background:linear-gradient(transparent,#111729 20%)}
.vsTitle{display:block;font-size:11px;color:#e1c58f;letter-spacing:.03em;margin-top:5px}
.prestigeWelcome{text-align:center}.prestigeWelcome>p{color:#c7d1e2;line-height:1.5}.prestigeWelcome .prestigeCrest{width:110px}.prestigeTerms{display:grid;gap:9px;padding:16px 10px;margin:12px 0;border-block:1px solid #a88a5266;color:#e8d09e}.prestigeTerms span{font-size:.88em;color:#d5c5e8}.prestigeTerms b:nth-of-type(2){margin-top:8px}
.pfHonours{display:flex;justify-content:center;gap:12px;margin:6px 0 18px}.pfHonours>span{position:relative;display:grid;justify-items:center;width:78px;border:1px solid #b09360;border-radius:14px;background:#162539;padding:8px 4px}.pfHonours img{width:60px;height:62px;object-fit:contain}.pfHonours small{font-size:10px;color:#dfc286;text-align:center}.pfHonours i{position:absolute;right:2px;top:2px}
@media(max-height:650px){.prestigeMoment .prestigeCrest{width:110px;margin-bottom:4px}.prestigeKicker{margin-bottom:7px!important}.prestigeMoment .endRibbon{padding:10px 6px}.masteryRank{padding:12px}}
@media(prefers-reduced-motion:reduce){.prestigeMoment *{animation:none!important;transition:none!important}}


/* Source: css/polish-62.css */
/* Five review rounds. Menu overlays only: protected arena geometry is untouched. */
/* Round 1: a legible mastery path, with detail on demand. */
.masteryNew{font-size:.875rem;gap:10px}
.masteryNew .masteryRole{padding:12px;margin:2px 0;font-size:1em}
.masteryCarry{margin:0!important;font-size:.8rem!important;line-height:1.45;color:#b4c8d8}
.masteryNew .masteryRank{margin:0;padding:0;overflow:hidden}
.mbox .mBlockD .masteryRankHead{display:flex;align-items:center;gap:10px;padding:12px!important;margin:0;min-height:72px;list-style:none}
.masteryRankHead::-webkit-details-marker{display:none}
.masteryRankHead::after{content:'⌄';color:#b6c6d6;flex:none}
.masteryRank[open]>.masteryRankHead::after{transform:rotate(180deg)}
.masteryRankHead .masteryRankName{flex:1;margin:0;min-width:0;font-size:1rem;font-family:var(--num)}
.masteryRankName b{display:block;font-size:.9375rem;color:#f0e9d6}
.masteryRankName small{display:flex;align-items:center;gap:5px;margin-top:4px;font-size:.75rem;line-height:1.4;color:#dcc18b}
.masteryRankName svg{width:14px;height:17px;flex:none}
.masteryRankHead .masteryRankState{margin:0;flex:0 0 auto;font-size:.6875rem;color:#bed0df}
.masteryRankBody{padding:0 12px 12px;border-top:1px solid #9bb9d31a}
.masteryCheck{font-size:.8125rem;line-height:1.5;gap:7px 8px;margin:12px 0}
.masteryDifficulty,.masteryUnlock,.masteryPaid{font-size:.75rem!important;line-height:1.5!important;color:#b8c9d9;margin:10px 0 0!important}
.masteryUnlock{color:#ead09c}.masteryChallenge{font-size:.875rem!important;line-height:1.5!important}
.masteryNew .masteryRules{margin:0;font-size:.8125rem}
.masteryShowcaseCount{display:block;color:#ebce97;margin-top:5px;font-variant-numeric:tabular-nums}
.pfHonours[hidden]{display:none}.pfHonours>span{overflow:hidden}.pfHonours img{object-fit:contain}
.masteryShowcaseCards button:focus-visible,.masteryRank summary:focus-visible{outline:2px solid #f5d48a;outline-offset:-3px}

/* Round 2: portraits carry identity; optional stats support a deliberate swap. */
.swapCmp .cmpPortrait>.veraPortrait{padding:0;border-radius:9px;overflow:hidden}
.swapCmp .cmpStats{border:1px solid #789bb24a;border-radius:12px;margin:12px 0;background:#142332}
.cmpStats>summary{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:10px 12px;font-weight:800;font-size:.875rem;cursor:pointer;list-style:none}
.cmpStats>summary::-webkit-details-marker{display:none}.cmpStats[open]>summary>span{transform:rotate(180deg)}
.swapCmp .cmpStats .cmpGrid{margin:0 8px}.swapCmp .cmpStats .cmpGrid>b{display:flex;align-items:center;justify-content:center;grid-template-rows:none;padding:10px 4px;min-height:44px}
.cmpStats>p{padding:0 12px;font-size:.75rem;line-height:1.5;color:#b7c7d6}
.swapCmp .cmpGrid>small{font-size:.75rem}.swapCmp .cmpSide{font-size:.6875rem}

/* Round 3: readable supporting information, without adding Home clutter. */
#scr-quests .screenCount{display:grid;gap:4px;max-width:120px}
#scr-quests .screenCount small{font-size:.6875rem;font-weight:600;line-height:1.25;color:#bbcbd9}
#scr-quests .screenCount strong{font-size:.8125rem;color:#f0e6ce}
#scr-quests .qcnt{font-size:.75rem;line-height:1.4;font-variant-numeric:tabular-nums}
#scr-quests .chestLoot span{font-size:.6875rem;line-height:1.4}
#scr-quests .qrw small{font-size:.6875rem}
#scr-shop .offerFlags{font-size:.75rem;min-height:20px}
#scr-shop .offerTarget{font-size:.6875rem}
#scr-shop .oHave{font-size:.75rem;line-height:1.45}
#scr-shop .shopClock small{font-size:.6875rem}
#scr-shop .offer.sold{opacity:1;background:linear-gradient(#1b2b3c,#122234)!important;border-color:#526276!important}
#scr-shop .offer.sold .oArt{opacity:.68;filter:saturate(.65)}
#scr-shop .offer.sold .oSold{color:#baddd1;min-height:44px;display:flex;align-items:center;justify-content:center;gap:5px}

/* Round 4: four distinct mastery ranks, with explicit rewards. */
.masteryIntroRanks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:14px 0}
.masteryIntroRanks>span{display:grid;gap:5px;padding:10px 3px;border:1px solid #73949455;border-radius:9px;background:#14293b}
.masteryIntroRanks b{font-size:.6875rem;color:#d7e4ea}.masteryIntroRanks strong{font-size:1.3rem;color:#f0d29c;font-variant-numeric:tabular-nums}
.masteryIntroRanks small{font-size:.625rem;color:#b8c9d7}.masteryIntroRanks>span:last-child{border-color:#b69ccb;background:linear-gradient(#35304c,#1c2c40)}
.moCel:has(.masteryIntroRanks) .celMedals{gap:12px}.moCel:has(.masteryIntroRanks) .celText{font-size:.875rem;line-height:1.5}
@media(max-width:350px){.masteryIntroRanks{grid-template-columns:repeat(2,minmax(0,1fr))}.moCel:has(.masteryIntroRanks) .celMedals{gap:8px}}

/* Round 5: small screens, meaningful rank labels and keyboard feedback. */
.pfHonours{gap:8px}.pfHonours>span{min-width:0;max-width:calc((100% - 16px)/3);box-sizing:border-box;gap:3px}
.pfHonours .veraPortrait{width:60px;max-width:100%;height:62px}
.pfHonours small{font-size:.75rem;line-height:1.3;overflow-wrap:anywhere}
.pfHonours em{font:800 .625rem/1.3 var(--num);text-transform:uppercase;letter-spacing:.07em;color:#d8c3e8}
.masteryShowcaseCards .veraPortrait{width:100%;height:64px;display:block}
.masteryShowcaseCards span{font-size:.75rem;line-height:1.4}.masteryShowcaseCards small{font-size:.6875rem;color:#d8c3e8}
.masteryShowcaseCards button{min-height:112px;transition:border-color .12s,background-color .12s}
.masteryComplete{font-size:.875rem;color:#d2c4e7;line-height:1.5}
.cmpStats>summary:focus-visible,.prestigeInfo>summary:focus-visible{outline:2px solid #cfe9d8;outline-offset:2px;border-radius:8px}
.prestigeInfo>summary{min-height:44px;display:flex;align-items:center}
body.bigText .masteryCheck,body.bigText .masteryDifficulty,body.bigText .masteryUnlock{font-size:.875rem!important}
body.bigText .masteryRankName small{font-size:.8125rem}
@media(prefers-reduced-motion:reduce){.masteryShowcaseCards button{transition:none}}

/* Overflow correction found in round 5 at 320px with larger text. */
.moCel:has(.masteryIntroRanks) .moBody{display:flex;flex-direction:column;align-items:stretch;width:min(520px,100%);height:100%;min-height:0;padding:20px 16px 16px;overflow:hidden}
.moCel:has(.masteryIntroRanks) .celCard{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:0;flex:1;overflow:auto;padding:6px 2px 16px;scrollbar-width:thin}
.moCel:has(.masteryIntroRanks) .celCard>*{flex-shrink:0}
.moCel:has(.masteryIntroRanks) .celArt{min-height:56px}.moCel:has(.masteryIntroRanks) .celMedals .md{width:36px;height:40px}
.moCel:has(.masteryIntroRanks) .celTitle{font-size:1.65rem;line-height:1.25;letter-spacing:.02em}
.moCel:has(.masteryIntroRanks) .masteryIntroRanks{width:100%;grid-template-columns:repeat(4,minmax(0,1fr));margin:8px 0}
.moCel:has(.masteryIntroRanks) .celText{font-size:.875rem!important;line-height:1.5}
.moCel:has(.masteryIntroRanks) .celBtns{flex:none;border-top:1px solid #67849244;padding-top:12px;margin:0;background:#0d1925}
.moCel:has(.masteryIntroRanks) .celBtns>.moBtn{flex:1 1 0;min-height:48px}


/* Source: css/battle-portraits.css */
/* Full-width still card illustrations. Hand, dock and battlefield geometry stay fixed. */
body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key]) .battlePortrait.art{
 inset:0!important;width:100%!important;height:100%!important;
 filter:drop-shadow(0 1px 1px #02081166)!important;
}
:is(#hand,.flycard) .bh-visual:has(.battlePortrait){
 background:radial-gradient(ellipse at 55% 35%,#49667a,#1d3549 68%,#102535);
}
:is(#hand,.flycard) .bh-visual:has(.battlePortrait)::before{display:none}
:is(#hand,.flycard) .bh-visual:has(.battlePortrait)::after{
 border-color:#e6f3ff22;box-shadow:inset 0 1px 0 #eff9ff33;z-index:2;
}
.nxCard>.battlePortrait{padding:0;overflow:hidden;border-radius:5px}
body.battle-hand-pass .bh-readout[data-selected="true"] .bh-readout-main{display:block;flex:none}
body.battle-hand-pass .bh-readout[data-selected="true"] .bh-readout-detail{white-space:nowrap;flex:none}
@media(max-width:374px){
 /* Keep the five-pixel selection lift while clearing the hint's lower line. */
 body.battle-hand-pass.in-battle :is(#hand .card,.flycard[data-bh-key]) .cost{
  top:-2px!important;left:-6px!important;width:27px!important;height:28px!important;font-size:22px!important;
 }
}
/* Fit the full two-line Next caption inside the existing 80px hand slot.
   Larger text already has a taller card slot, so its preview keeps its size. */
@media(max-height:740px){
 body.battle-hand-pass.in-battle:not(.bigText) #hand .next .nxCard{height:34px!important}
 body.battle-hand-pass.in-battle:not(.bigText) #hand .next .nxCard img{height:30px!important}
}
/* Reclaim the former target line inside the card, without changing its outer box. */
body.battle-hand-pass :is(#hand,.flycard) .bh-caption{height:21px}
body.battle-hand-pass :is(#hand,.flycard) .bh-visual{bottom:24px}
body.battle-hand-pass.bigText :is(#hand,.flycard) .bh-caption{height:35px}
body.battle-hand-pass.bigText :is(#hand,.flycard) .bh-visual{bottom:38px}
/* An unavailable card reserves a second caption line for the actionable status. */
body.battle-hand-pass :is(#hand .card,.flycard):has(.bh-state:not(:empty)) .bh-caption{height:35px;padding-bottom:15px;box-sizing:border-box}
body.battle-hand-pass :is(#hand .card,.flycard):has(.bh-state:not(:empty)) .bh-visual{bottom:38px}
body.battle-hand-pass.bigText :is(#hand .card,.flycard):has(.bh-state:not(:empty)) .bh-caption{height:50px;padding-bottom:15px}
body.battle-hand-pass.bigText :is(#hand .card,.flycard):has(.bh-state:not(:empty)) .bh-visual{bottom:53px}


/* Source: css/game-updates.css */
/* Floating menu notification. No layout space is taken from the battlefield. */
#gameUpdateNotice{position:fixed;z-index:120;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(410px,calc(100% - 24px));box-sizing:border-box;padding:12px;display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;border:1px solid #d2b875;border-radius:18px;background:linear-gradient(140deg,#243c50,#101d30);color:#fff4d5;box-shadow:0 5px 0 #07111c,0 9px 26px #0008;font-family:Nunito,sans-serif}
#gameUpdateNotice b{display:block;font-size:18px;line-height:1.2}#gameUpdateNotice small{display:block;color:#c9d7df;font-size:13px;margin-top:4px}#gameUpdateNotice .btn{min-height:44px;font-size:16px;margin:0;padding:8px 14px}#gameUpdateNotice .guLater{grid-column:1/-1;background:transparent;border:0;color:#c9d7df;min-height:30px;font:700 13px Nunito,sans-serif;text-decoration:underline;cursor:pointer}body.in-battle #gameUpdateNotice{display:none!important}.guDialog p{overflow-wrap:anywhere}.bigText #gameUpdateNotice{width:calc(100% - 24px)}.bigText #gameUpdateNotice b{font-size:21px}.bigText #gameUpdateNotice small{font-size:16px}


/* Source: css/effects.css */
/* Absolute controls leave arena bounds, tile scale and hand height untouched. */
#effectsBtn{display:none}
body.battle-hand-pass.in-battle #effectsBtn{display:grid;place-items:center;position:fixed;top:49px;left:4px;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;z-index:5;pointer-events:auto;border:1px solid #ffffff59;border-radius:50%;background:#071721b3;color:#d8e9ef;cursor:pointer}
#effectsBtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#effectsBtn .muteSlash{display:none}#effectsBtn.muted .soundWave{display:none}#effectsBtn.muted .muteSlash{display:block}
#effectsBtn:focus-visible{outline:2px solid #ebcc78;outline-offset:2px}#effectsBtn:active{background:#244653}
.effectsLevel{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;margin:2px 0 12px;color:#d2dee9}
.effectsLevel output{font-variant-numeric:tabular-nums;color:#f0d992}.effectsLevel input{grid-column:1/-1;width:100%;height:44px;margin:0;accent-color:#8dd6cf;cursor:pointer}.effectsLevel input:disabled{opacity:.4}


/* Source: css/results.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
.dfxTracker{margin:12px auto 0;padding:12px;max-width:340px;box-sizing:border-box;border:1px solid #68baac75;border-radius:14px;background:#0b242be8;text-align:left;line-height:1.45}
.dfxTracker header{display:flex;align-items:center;gap:10px}
.dfxTracker header img{width:44px;height:44px;object-fit:contain}
.dfxTracker header small{display:block;color:#86d8c7;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.dfxTracker header b{font-size:1rem}
.dfxTracker p{font-size:.85rem;color:#c8d8df;margin:8px 0 0}
.dfxTracker strong{color:#9fe6d4}
.dfxTracker .trackerPotential{height:6px;background:#030e1e;border-radius:5px;overflow:hidden;margin-top:10px;display:flex}
.dfxTracker .trackerPotential i{display:block;height:100%;background:#9ce8d6}
.dfxTracker .trackerPotential i+ i{background:#dbb66c}
.dfxTracker .trackerPotential+small{display:block;font-size:.75rem;color:#b9cbd2;margin-top:6px}
.dfx .dfxBtn[data-a=inspect]{color:#9fe5d4;border:1px solid #5c9c9560;border-radius:12px}
.dfxTracker .trackerInspect{margin-left:auto;min-height:44px;padding:8px 10px;font:800 .8rem var(--ui-body);color:#9fe5d4;border:1px solid #5c9c9560;border-radius:10px;background:#133741;cursor:pointer}
.dfxTracker .trackerInspect:focus-visible{outline:2px solid #c2f7e6;outline-offset:2px}
.dfxTracker .trackerInspect:active{background:#28534f}
.dfx.dfxSaga.hasTracker .dfxHeroArt{height:min(18dvh,156px);min-height:0;margin:3px 0}
.dfx.dfxSaga.hasTracker .dfxRewardName h2{font-size:clamp(24px,6vw,30px)!important;line-height:1.08!important}
.dfx.dfxSaga.hasTracker .dfxHeroArt .dfxArt{height:100%}

@media(max-height:700px){.dfx.hasTracker .dfxHeroArt{height:110px;min-height:0}
.dfx.hasTracker .dfxHeroArt .dfxArt{height:100px}
.dfx.hasTracker .dfxHalo{transform:scale(.65)}
.dfx.hasTracker .dfxRewardName h2{font-size:1.5rem}}

@media(max-height:700px){.dfx.dfxSaga.hasTracker .dfxHeroArt{height:82px}
.dfx.dfxSaga.hasTracker .dfxHeroArt .dfxArt{height:82px}}


/* Source: css/polish81.css */
/* Menu and overlay presentation only. Battlefield geometry is deliberately untouched. */
.masteryShowcaseCards button{display:grid;grid-template-rows:64px auto auto;align-content:start;gap:5px;padding:9px 5px;min-height:132px}
.masteryShowcaseCards .masteryArt{height:64px;min-height:0;width:100%;display:block}
.masteryShowcaseCards .masteryArt>.spellArt,.masteryShowcaseCards .masteryArt>.veraPortrait{display:block;width:100%;height:64px}
.masteryShowcaseCards .masteryArt>.spellArt{display:grid}
.masteryShowcaseCards button>span:not(.masteryArt){font-size:.76rem;line-height:1.25;min-width:0}
.masteryShowcaseCards button>small{font-size:.69rem;line-height:1.25}
.pfHonours>span>.spellArt{width:60px;max-width:100%;height:62px}
.pfGoalArt{display:block;width:44px;height:44px;flex:0 0 44px;overflow:hidden;border-radius:9px}
.pfGoalArt>.veraPortrait,.pfGoalArt>.spellArt{width:100%;height:100%;display:block}
.pfGoalArt>.spellArt{display:grid}
.dfxTracker header>.veraPortrait{width:44px;height:44px;flex:0 0 44px;border-radius:9px}
.gVs .veraPortrait{width:100%;height:100%}
#scr-deck .deckHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
#scr-deck .deckHeading h1{margin:0;font:900 1.5rem/1.1 var(--ui-body);color:var(--ui-text)}
#scr-deck .deckHeading>div>small{display:block;margin-top:3px;font:700 .7rem/1.3 var(--ui-body);color:var(--ui-muted)}
#scr-deck .cjCompact{width:auto;max-width:65%;min-height:44px;margin:0;padding:7px 10px;gap:8px;font-size:.72rem;border-color:#77718c}
#scr-deck .cjCompact .cjCount{padding:3px 5px;white-space:nowrap}
#scr-deck .cjCompact>i{font-size:1.25rem}
#scr-deck .dtabs{margin-bottom:10px}
#scr-deck .deckTitle{margin-bottom:8px}
.cmpSectionTitle{margin:14px 0 8px!important;font:900 .85rem/1.3 var(--sans)!important}
.cmpShared{margin:12px 0;border:1px solid #3e4e61;border-radius:10px;background:#111e2e}
.cmpShared summary,.resCoaching summary{min-height:44px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;font-weight:800;color:#cfdfec}
.cmpShared dl{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin:0;padding:0 12px 14px;font-size:.78rem;line-height:1.45}
.cmpShared dd{margin:0;text-align:right;color:#e4eef5}
.cmpShared dt{color:#b2c2d1}
.cmpImpact .cmpUnchanged{font-size:.75rem;line-height:1.45;color:#b7c9d9;margin:8px 0 0}
.cmpChanges span{align-self:start}
.resCoaching{background:#102333;border:1px solid #375966;border-radius:12px;margin:8px 0}
.resCoaching>p{padding:0 12px 14px;margin:0;color:#c7d9e4;font-size:.86rem;line-height:1.5}
.journalBack{flex-basis:100%;font-size:.78rem!important}
#howBody button.cjPortrait{background:#182b3d;border:1px solid #577386;border-radius:12px;padding:7px;width:104px;max-width:104px;cursor:pointer;box-shadow:inset 0 1px #fff1,0 2px #06101a}
#howBody .cjArt{display:block;width:76px;height:70px;max-width:100%;overflow:hidden;border-radius:8px;margin-bottom:5px}
#howBody .cjArt>.veraPortrait,#howBody .cjArt>img{display:block;width:100%;height:100%;margin:0;object-fit:contain}
#howBody .cjPortrait>small{font-size:.65rem;margin-top:5px;color:#a6e6da}
#howBody button.cjPortrait:focus-visible{outline:3px solid #a6e6da;outline-offset:3px}
#howBody .cjPractice{border-top:1px solid #55788166;margin-top:18px;padding-top:15px}
#howBody .cjPractice>b{color:#d4e9e8;font-size:.86rem}
#howBody .cjPractice .btn{white-space:normal;width:100%;min-height:44px;font-size:.85rem}
#howBody .cjPractice>small{display:block;color:#b8c6d8;line-height:1.5}
#howBody .cjReturn{padding:10px;border:1px solid #75c9b488;background:#203e42;border-radius:8px;color:#cff9eb}
/* A single painted environment, with live type and controls over its quiet areas. */
#intro.entry81 .entryScene{position:absolute;inset:0;overflow:hidden}
#intro.entry81 .entryScene>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 52%}
#intro.entry81 .entryScene:after{content:'';position:absolute;inset:0;background:linear-gradient(#04152260,transparent 30%,transparent 68%,#05131da8 100%)}
#intro.entry81 .entryBrand{top:max(2%,calc(env(safe-area-inset-top) + 12px))}
#intro.entry81 .entryLogo{width:168px;height:109px;margin-bottom:0}
#intro.entry81 .entryBrand h1{font-size:clamp(32px,9.5vw,45px)}
#intro.entry81 .entryAction{bottom:max(5%,calc(env(safe-area-inset-bottom) + 22px))}
#intro.entry81 .entryFrame{z-index:3;opacity:.55}
@media(min-height:780px){#intro.entry81 .entryBrand{top:max(4%,calc(env(safe-area-inset-top) + 16px))}#intro.entry81 .entryLogo{width:190px;height:124px}}
@media(orientation:landscape) and (max-height:540px){#intro.entry81 .entryScene>img{position:absolute;right:12%;width:auto;max-width:none;object-fit:contain;object-position:center;background:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}#intro.entry81 .entryScene:after{background:linear-gradient(90deg,#071b2a 0%,#071b2a 36%,transparent 70%)}#intro.entry81 .entryBrand{top:9%}#intro.entry81 .entryLogo{width:130px;height:85px}#intro.entry81 .entryAction{bottom:12%}}
@media(min-width:700px) and (min-height:541px){#intro.entry81 .entryScene>img{object-fit:contain;background:#071b2a}#intro.entry81 .entryScene:after{background:linear-gradient(90deg,#071b2a,transparent 30%,transparent 70%,#071b2a)}}

@media(orientation:portrait){#intro.entry81 .entryScene{background:#092c48}#intro.entry81 .entryScene>img{height:calc(100% - 56px);margin-top:56px;mask-image:linear-gradient(transparent,#000 8%)}#intro.entry81 .entryScene:after{background:linear-gradient(#06172790,transparent 32%,transparent 68%,#05131da8)}}


/* Source: css/studio83-art.css */
/* Art cameras and shared courtyard light. No battlefield selectors or layout rules. */
@media(orientation:portrait){
 #intro.entry81 .entryScene{background:radial-gradient(ellipse at 50% 28%,#114668,#092b46 58%,#061b2c)}
 /* Fit width on tall phones so all foreground paws and horns remain in frame.
    The existing sky and lower stone dissolve into the same night-blue surround. */
 #intro.entry81 .entryScene>img{position:absolute;top:50%;left:0;width:100%;height:auto;margin:0;max-width:none;object-fit:contain;transform:translateY(-44%);mask-image:linear-gradient(transparent,#000 6%,#000 91%,transparent);filter:saturate(.95) brightness(.96)}
 #intro.entry81 .entryScene:after{background:linear-gradient(#06172755,transparent 30%,transparent 76%,#05131d80)}
}
/* Home keeps its tactile geometry and portal. A warm light on timber/stone and
   cooler edges connect it to entry without a replacement environment download. */
#meta.home .metaBg img{filter:saturate(.92) contrast(1.035) brightness(.97)}
#meta.home .metaBg::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 51% 43%,#ffc17217 0%,#f1bc6810 20%,transparent 47%),linear-gradient(180deg,#0a2b4120,transparent 35%,transparent 70%,#0c28351c)}


/* Source: css/studio83.css */
/* Content surfaces only. The battle grid and hand geometry remain untouched. */
.kUse{border-inline-start:3px solid #66d9c6;padding:10px 12px;background:rgba(61,142,132,.09);border-radius:0 9px 9px 0;line-height:1.5}
.kUse>b{display:block;color:#8ce7d7;font-size:.78em;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.collectionCallout.ready{border-color:#72d8be}
.trackerReady{color:#9cf1cf;font-weight:800;min-height:44px;text-align:left;white-space:normal}
.collectionCallout.complete small{display:block;color:#a8bac9}
.collectionCallout.complete .lnk{display:block;text-align:left;white-space:normal;min-height:40px}
.resCoaching .resPractice83{width:100%;white-space:normal;min-height:44px;margin:0 0 12px}
.welcome .fld>span{display:block;text-align:left;font-size:.86em;color:#bcd0df;margin-bottom:6px}
/* The title is the dialog announcement target, not an editable control.
   Keep the existing visible focus rings on every interactive element. */
#mmodal :is(h1,h2,h3)[tabindex="-1"]:focus{outline:none}


/* Source: css/reward-components.css */
/* Generated by styles.py. Edit the named component sources. */
/* wild-runes.css */
/* Static, crisp material artwork. Dimensions belong to existing UI slots. */
.wildRuneIcon{display:inline-grid;place-items:center;vertical-align:middle;width:1.5em;height:1.7em;flex:none;line-height:1}
.wildRuneIcon>img{display:block;width:100%;height:100%;object-fit:contain;filter:none;animation:none;transform:none}
.wildRewardArt .wildRuneIcon{width:80%;height:100%;max-width:150px}
#meta .offer.wild .wIco{width:76px;height:78px;margin:0 auto 4px;border:0;border-radius:0;background:none;box-shadow:none}
#meta .offer.wild .wIco .wildRuneIcon{width:72px;height:78px;filter:drop-shadow(0 4px 3px #030b1680)}
.ricon>.wildRuneIcon,.trackerRuneIcon>.wildRuneIcon{width:100%;height:100%;max-width:72px;max-height:80px}
.celebIco>.wildRuneIcon{width:94px;height:108px}
.oaArt>.wildRuneIcon{width:100%;height:100%}
.dfxVr>.wildRuneIcon{width:100%;height:100%}
.wildPickerHeading{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.wildPickerHeading>.wildRuneIcon{width:58px;height:66px}
.wildPickerHeading h2{margin:6px 24px 4px 0}
.wildPickerHeading p{margin:0;font-size:.85rem;color:var(--muted)}
.mbox .wildUse .wildRuneIcon{width:25px;height:29px}

/* rewards87.css */
/* Reward-specific layout. No battlefield selectors or arena dimensions. */
.battleDropProgress{display:grid;gap:7px;width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #67878e70;border-radius:14px;background:linear-gradient(130deg,#18353fed,#102330f0);color:#edf9f5;text-align:left;font:inherit}
.battleDropProgress.compact{cursor:pointer;min-height:66px;box-shadow:inset 0 1px #bde9e812,0 2px 0 #06121c;gap:5px;padding:9px 12px}
.battleDropProgress.compact:active{filter:brightness(1.16)}
.battleDropProgress:focus-visible{outline:2px solid #ffe19c;outline-offset:3px}
.battleDropTop{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.battleDropTop b{font-size:.8rem;line-height:1.25}.battleDropTop em{font-style:normal;color:#a2ece0;margin-left:5px;font-variant-numeric:tabular-nums}
.battleDropTop small{font-size:.65rem;color:#bfd1d8;line-height:1.3;font-variant-numeric:tabular-nums}
.battleDropTrack{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.battleDropTrack i{display:block;height:5px;border-radius:2px;background:#06131e;box-shadow:inset 0 1px #0008}
.battleDropTrack i.earned{background:linear-gradient(90deg,#6dccbb,#c2f3d9);box-shadow:0 0 5px #95dec622}
.battleDropTrack i.half{background:linear-gradient(90deg,#6dccbb 50%,#06131e 50%)}
.battleDropFoot{font-size:.65rem;color:#bdced6;line-height:1.3}.battleDropFoot>span{color:#9de6d9}
.runeVault>.battleDropProgress{margin:14px 0}
.lockedRuneArt{position:relative;display:grid;place-items:center;width:100%;height:100%;isolation:isolate}
.lockedRuneArt::before{content:'';position:absolute;inset:8%;background:radial-gradient(ellipse,#4b728f66,transparent 68%);z-index:-1}
.lockedRuneArt>img{width:100%!important;height:100%!important;object-fit:contain!important;filter:brightness(0) drop-shadow(0 0 2px #c8e7fa) drop-shadow(0 0 9px #72accc66)!important;opacity:.9}
.lockedRuneArt>span{position:absolute;bottom:9%;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:34px;height:34px;background:#122b3a;border:1px solid #8eb3c5;border-radius:50%;box-shadow:0 3px 9px #0009;color:#d5e9f3}
.lockedRuneArt>span svg{width:18px;height:18px}
.oaArt .lockedRuneArt>span{width:22px;height:22px;bottom:0}.oaArt .lockedRuneArt>span svg{width:12px;height:12px}
.dfx.isLockedRunes .dfxHeroFrame,.dfx.isLockedRunes .dfxCrown,.dfx.isLockedRunes .dfxHalo,.dfx.isLockedRunes .dfxPedestal{display:none}
.dfx.isLockedRunes .dfxHeroArt{width:min(56vw,210px,26dvh);height:min(56vw,210px,26dvh);margin:0}
.dfx .dfxLockedNotice{margin:0!important;color:#c6dce8;font:800 .74rem/1.35 var(--ui-body)!important;letter-spacing:.02em}
.dfx.isLockedRunes .dfxRewardTag{background:#20394b;color:#c4e2ef;border-color:#759aac}
.dfx.isWildRunes .dfxHeroFrame,.dfx.isWildRunes .dfxCrown,.dfx.isWildRunes .dfxHalo,.dfx.isWildRunes .dfxPedestal{display:none}
.dfx.isWildRunes .dfxHeroArt{width:min(70vw,270px,32dvh);height:min(70vw,270px,32dvh)}
.dfx .wildRewardArt{display:grid;place-items:center;width:100%;height:100%}
.dfx .wildRewardArt .wildRuneIcon{width:100%;height:100%;max-width:none}
.dfx .wildRewardArt .wildRuneIcon>img{width:100%;height:100%;max-width:100%;max-height:100%;filter:drop-shadow(0 9px 12px #0008)}
.dfx.isWildRunes .dfxN{bottom:0;right:6%;transform:none;border-color:color-mix(in srgb,var(--t) 65%,#fff);background:linear-gradient(#263b50,#122535)}
.dfx.isWildRunes .dfxVr{display:none}.dfx.isWildRunes .dfxN{padding:8px 14px}
.dfx.isLockedRunes .dfxN{bottom:0;right:-14px;transform:none}
.dfx.isLockedRunes .lockedRuneArt>span{left:12%;bottom:0}
.dfx.isLockedRunes .dfxN b{font-size:1.15rem}
.dfx.isLockedRunes .dfxProgressCard{width:100%;box-sizing:border-box}
@media(max-height:650px){.battleDropProgress.compact{min-height:60px;padding:8px 11px;gap:4px}.dfx.isLockedRunes .dfxHeroArt{width:130px;height:130px}.dfx.isWildRunes .dfxHeroArt{width:178px;height:178px}}

/* discovery88.css */
/* Collection and reward presentation only. Arena, hand and original art stay intact. */
.dfx{--reward-portrait-size:min(70vw,290px,40dvh);--reward-frame-radius:17px;--reward-panel:#0e2639;--reward-action:#16343f;--reward-ink:#e2fff4;--reward-control-min:44px}
#meta .ctile.undiscovered{border-color:color-mix(in srgb,var(--rc) 54%,#34465b)!important}
#meta .ctile.undiscovered .cart{inset:5px 5px 57px!important;height:auto!important;filter:none!important;opacity:1!important;overflow:hidden}
#meta .ctile.undiscovered .cart::after{display:none}
#meta .ctile.undiscovered .lockedRuneArt>img{height:100%!important;max-height:100%!important;transform:none!important;padding:4px;box-sizing:border-box}
#meta .ctile.undiscovered .lockedRuneArt>span{display:none}
#meta .ctile.undiscovered .cnm{font-size:.67rem!important;line-height:1.12!important;color:#d9e4ed!important;display:block;padding-top:3px;box-sizing:border-box}
#meta .ctile.undiscovered .clk{font-variant-numeric:tabular-nums;color:#c4e3de!important}
body.bigText #meta .ctile.undiscovered .cart{bottom:67px!important}
body.bigText #meta .ctile.undiscovered .cnm{font-size:.73rem!important}
.dfx.hasVeraPortrait .dfxHeroFrame,.dfx.hasVeraPortrait .dfxCrown,.dfx.hasVeraPortrait .dfxPedestal{display:none}
.dfx.hasVeraPortrait .dfxHeroArt{width:var(--reward-portrait-size);height:auto;aspect-ratio:4/3;margin:7px 0;flex:none}
.dfx.hasVeraPortrait .dfxHalo{inset:-10%;opacity:.35}
.dfx.hasVeraPortrait .dfxArt{box-sizing:border-box;overflow:hidden;border-radius:var(--reward-frame-radius);border:2px solid color-mix(in srgb,var(--t) 74%,#e9dfce);background:var(--reward-panel);box-shadow:0 5px 0 #030c17,0 12px 24px #0007}
.dfx.hasVeraPortrait .dfxArt>.veraPortrait{border-radius:0;width:100%;height:100%;mask-image:none;filter:none;transform:none}
.dfx.hasVeraPortrait .dfxN{right:-6px;bottom:-6px;transform:none;z-index:3}
.dfx.hasVeraPortrait .dfxN .dfxVr{display:none}
.dfx.isLockedRunes .dfxRewardName h2{font-size:clamp(1.45rem,7vw,2rem)!important;line-height:1.08!important;max-width:290px}
.oaArt:has(.cardPortrait){overflow:hidden;border-radius:10px;background:#102638;box-shadow:inset 0 0 0 1px #acc2d94d}
.oaArt>.cardPortrait{width:100%;height:100%;border-radius:0;mask-image:none;filter:none}
@media(max-height:650px){.dfx{--reward-portrait-size:min(206px,70vw)}.dfx.isLockedRunes .dfxRewardName h2{font-size:1.45rem!important;max-width:250px}}
/* A collection target stays findable without exposing the other silhouettes. */
#meta .ctile.isTracked{border-color:#a2e6d5!important;box-shadow:0 0 0 1px #d7fff0,0 3px 0 #061722!important}
#meta .trackingTag{position:absolute;top:6px;right:5px;z-index:4;border:1px solid #9be3d0;border-radius:5px;background:#113c40;color:#d9fff0;font:850 .53rem/1.2 var(--ui-body);padding:3px 5px;letter-spacing:.02em;pointer-events:none}
#meta .collectionInspectHint{margin:7px 0 3px;color:#a9c5d5;font:650 .75rem/1.4 var(--ui-body);max-width:34em}
#meta .trackerLocate{min-height:40px;display:flex;align-items:center;gap:6px;text-align:left;color:#bcecdf}
/* Each fact is shown once. The footer stays reachable while longer card facts scroll. */
.dfx.isLockedRunes .dfxVr{display:none}
.dfx.isLockedRunes .dfxN{gap:5px;padding:7px 11px}
.dfx.isLockedRunes .dfxN small{font:750 .7rem/1 var(--ui-body);color:#dbeaf0}
.dfx .dfxWildChoice{max-width:310px;color:#bfd8df!important;font:700 .77rem/1.4 var(--ui-body)!important;margin:0!important}
.dfx .dfxBtns:has(.rewardRoute) .dfxBtn.rewardRoute{grid-column:1/-1;min-height:var(--reward-control-min)!important;border:1px solid #a8d8d09c;background:linear-gradient(#254754,var(--reward-action));color:var(--reward-ink)}
.dfx .dfxBtns:has(.rewardRoute) .dfxBtn[data-a="next"],.dfx .dfxBtns:has(.rewardRoute) .dfxBtn[data-a="ok"]{grid-column:auto}
.dfx .dfxBtns:has(.rewardRoute) .dfxBtn[data-a="ok"]:last-child{grid-column:1/-1}
.dfx .dfxBtns:has(.rewardRoute) .dfxBtn[data-a="next"]+.dfxBtn[data-a="ok"]:last-child{grid-column:auto}
.dfx .dfxBtns:has(.rewardRoute) .dfxBtn[data-a="next"]{flex-wrap:wrap;gap:3px 6px}
.dfx .dfxBtns:has(.rewardRoute) .dfxBtn[data-a="next"] small{font-size:.63rem}
.oaVault .rewardRoute{grid-column:1/-1;min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;width:100%;border-top:1px solid #91b8c03d;margin-top:5px;color:#c0e8de}
body.bigText #meta .trackingTag{font-size:.61rem}
body.bigText #meta .collectionInspectHint,body.bigText .dfx .dfxWildChoice{font-size:.9rem!important}

/* economy90.css */
/* Permanent profile finishes. Original portraits stay still and uncropped. */
.cosmeticEntry{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;margin-block:14px}
.cosmeticEntry small{display:block;margin-top:4px;color:#bbcbd9;font-size:.76rem;font-weight:400;line-height:1.4}
.cosmeticForge{text-align:center;padding:4px 0;color:#e7f0f6}
.cosmeticForge>p{font-size:.85rem;line-height:1.5;color:#bdcedb;max-width:35em;margin:12px auto}
.cosmeticForge h2{margin:9px 0 12px;color:#f0d49a}
.forgeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.forgeCard{min-width:0;display:grid;justify-items:center;gap:7px;padding:16px 8px 12px;border-radius:17px;border:1px solid #627486;background:linear-gradient(145deg,#233a4b,#102034);box-shadow:inset 0 1px #d4eaf522,0 3px #060e19;color:#ecf5fa;font:inherit;cursor:pointer}
.forgeCard b{font-size:.85rem}.forgeCard>span:not(.forgePortrait){font-size:.74rem;line-height:1.4;color:#e3ca99}.forgeCard small{font-size:.71rem;color:#b9cbd8;line-height:1.4}
.forgePortrait{display:block;position:relative;width:80px;height:80px;border-radius:50%;isolation:isolate;background:#102133;border:1px solid #d2b572;box-shadow:0 6px 12px #050b1490;flex:none}
.forgePortrait>.veraPortrait{width:100%;height:100%;display:block;overflow:hidden;border-radius:inherit}
.forgeHero{display:flex;justify-content:center;padding:20px 0 12px}.forgeHero .forgePortrait{width:152px;height:152px}
.cosmeticForge .forgeName{font-weight:800;font-size:1.05rem;color:#f2f3ef;overflow-wrap:anywhere;margin-block:4px 15px}
.forgePrice{display:grid;gap:6px;padding:14px 10px;border-block:1px solid #9e895f77;background:#152a3a;font-size:.9rem}.forgePrice span{font-size:.8rem;color:#bdcedb}
.forgeActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.forgeActions>.btn{flex:1 1 105px;min-height:48px;font-size:.87rem;white-space:normal}
.forgeCard:focus-visible,.cosmeticEntry:focus-visible{outline:3px solid #f2d38c;outline-offset:2px}.forgeCard:active{transform:translateY(1px)}
.frame-runic-common{--forge-light:#b6eed1;--forge-mid:#5dba97;--forge-dark:#244a43}
.frame-runic-rare{--forge-light:#dbf4ff;--forge-mid:#79badb;--forge-dark:#314d72}
.frame-runic-epic{--forge-light:#ead8ff;--forge-mid:#ad85d6;--forge-dark:#55416f}
.frame-runic-legendary{--forge-light:#fff0b8;--forge-mid:#dcac5a;--forge-dark:#795832}
[class*="frame-runic-"]::after{display:block;inset:-4px;border:4px solid transparent;background:conic-gradient(from 22.5deg,var(--forge-light) 0 8%,var(--forge-dark) 8% 9%,var(--forge-mid) 9% 16%,var(--forge-dark) 16% 17%,var(--forge-light) 17% 25%,var(--forge-mid) 25% 33%,var(--forge-dark) 33% 34%,var(--forge-light) 34% 50%,var(--forge-mid) 50% 58%,var(--forge-dark) 58% 59%,var(--forge-light) 59% 75%,var(--forge-mid) 75% 91%,var(--forge-dark) 91% 92%,var(--forge-light) 92%) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:none;box-shadow:0 0 0 1px #e9d9b5}
.masteryNext90{margin:0 0 12px;padding:12px;border:1px solid #617d89;border-radius:12px;background:#152d3c;line-height:1.5;color:#d3e5ea;font-size:.84rem}.masteryNext90 b{display:block;color:#a1ded4;margin-bottom:5px}.masteryNext90 small{display:block;color:#b6cbd9;margin-top:8px;font-size:.78rem}
.masteryProof90{padding:10px 12px;margin:10px 0;border-left:2px solid #8197ad;background:#142536;font-size:.8rem;line-height:1.5}.masteryProof90>strong{display:block;color:#dbe8ee}.masteryProof90 p{margin:7px 0!important;font-size:inherit!important}.masteryProof90 ul{padding-left:17px;margin:7px 0}.masteryProof90 li{padding:2px 0;color:#bfcfdd}
body.bigText .forgeCard b,body.bigText .cosmeticForge>p{font-size:.94rem}body.bigText .forgeCard>span:not(.forgePortrait),body.bigText .forgeCard small{font-size:.82rem}
@media(max-width:350px){.forgeGrid{gap:9px}.forgePortrait{width:70px;height:70px}.forgeCard{padding-inline:6px}}

/* rewards116.css */
/* One reserved art box for each reward composition. Content scrolls; art never shrinks. */
.dfx.dfxSaga{--reward-art-width:min(70vw,240px,30dvh);--reward-art-height:min(70vw,240px,30dvh)}
.dfx.dfxSaga.isLockedRunes{--reward-art-width:min(56vw,180px,26dvh);--reward-art-height:min(56vw,180px,26dvh)}
.dfx.dfxSaga.hasVeraPortrait{--reward-art-width:calc(var(--reward-portrait-size) + 24px);--reward-art-height:calc(var(--reward-portrait-size)*.75 + 24px)}
.dfx.dfxSaga .dfxCard>.dfxHeroArt{box-sizing:border-box;flex:0 0 auto;width:var(--reward-art-width);height:var(--reward-art-height);min-height:var(--reward-art-height);max-width:100%;aspect-ratio:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding:16px;margin:5px 0 8px}
.dfx.dfxSaga .dfxCard>.dfxHeroArt>.dfxArt{box-sizing:border-box;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.dfx.dfxSaga .dfxHeroArt .wildRewardArt,.dfx.dfxSaga .dfxHeroArt .wildRuneIcon,.dfx.dfxSaga .dfxHeroArt .lockedRuneArt{width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.dfx.dfxSaga .dfxHeroArt .dfxArt img{box-sizing:border-box;max-width:100%;max-height:100%;object-fit:contain}
.dfx.dfxSaga.isWildRunes .dfxHeroArt .wildRuneIcon>img{width:100%;height:100%;object-fit:contain}
.dfx.dfxSaga .dfxHeroArt>.dfxN{right:8px;bottom:0;transform:none}
.dfx.dfxSaga .dfxCard>.dfxRewardName{margin-top:4px}
.dfx.dfxSaga.isWildRunes .dfxRewardName h2{font-size:clamp(1.5rem,6.5vw,2rem)!important;line-height:1.12!important}
.dfx.dfxSaga .dfxCard>.dfxDetails116{box-sizing:border-box;width:100%;max-width:340px;margin:3px 0;padding:0;border:0;border-top:1px solid #8fb8c13d;border-bottom:1px solid #8fb8c13d;border-radius:0;background:transparent;text-align:left;line-height:1.4}
.dfxDetails116>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;min-height:44px;padding:8px 3px;color:#c3e9e0;font:750 .8rem/1.35 var(--ui-body);cursor:pointer;list-style:none}
.dfxDetails116>summary::-webkit-details-marker{display:none}
.dfxDetailsLabel116{color:#d8c38e;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;font-size:.73rem}
.dfxDetailsBody116{padding:2px 3px 10px;display:grid;gap:8px}
.dfxDetailsBody116 p{margin:0;font:650 .8rem/1.45 var(--ui-body);color:#bdd3dc}
.dfxInspect116{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;width:100%;padding:9px 11px;border:1px solid #8bb9b34d;border-radius:9px;background:#16333b;color:#d4eee6;cursor:pointer;text-align:left;font:800 .8rem/1.35 var(--ui-body)}
.dfx.dfxSaga .dfxQueueActions116{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.dfx.dfxSaga .dfxQueueActions116>.dfxBtn{grid-column:auto;flex-wrap:wrap;gap:3px 6px}
.dfx.dfxSaga .dfxQueueActions116>.dfxBtn:only-child{grid-column:1/-1}
.dfx.dfxSaga .dfxQueueActions116>.dfxBtn small{font-size:.65rem;margin:0}
body.bigText .dfxDetails116>summary,body.bigText .dfxInspect116,body.bigText .dfxDetailsBody116 p{font-size:.95rem}
body.bigText .dfxDetailsLabel116{font-size:.85rem}
@media(max-height:700px){.dfx.dfxSaga{--reward-art-width:178px;--reward-art-height:178px}.dfx.dfxSaga.isLockedRunes{--reward-art-width:146px;--reward-art-height:146px}.dfx.dfxSaga.hasVeraPortrait{--reward-art-width:calc(var(--reward-portrait-size) + 24px);--reward-art-height:calc(var(--reward-portrait-size)*.75 + 24px)}}
/* Offers lead with their actual reward and one explicit purchase price. */
#scr-shop .screenHeading,#scr-quests .screenHeading{margin-bottom:12px}
#scr-shop .screenHeading .eyebrow:empty,#scr-quests .screenHeading .eyebrow:empty{display:none}
#scr-shop h3{margin:12px 0 9px}
#scr-shop .shopClock{font-size:.86rem;gap:3px}
#scr-shop .offer{padding:11px 9px!important;gap:5px;align-content:start;grid-template-rows:auto}
#scr-shop .offer .oTitle{margin-top:1px;font-size:.86rem!important;line-height:1.25;min-height:2.5em}
#scr-shop .offer .oHave{line-height:1.35}
#scr-shop .offer .oArt:has(.veraPortrait){height:91px}
#scr-shop .offer .buyPrice116{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;min-height:44px!important;margin-top:5px!important;padding:9px 6px!important;font-size:.82rem!important}
#scr-shop .buyPrice116 .mi{width:17px;height:17px;flex:none}
#scr-shop .shopArchive116,#scr-shop .shopRules116,#scr-quests .questRules116{margin:15px 0;border-block:1px solid #7b9eae40;color:#b9ccd6}
#scr-shop .shopArchive116>summary,#scr-shop .shopRules116>summary,#scr-quests .questRules116>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font:750 .8rem/1.4 var(--ui-body)}
#scr-shop .shopArchive116 .shop{margin:4px 0 12px}
#scr-shop .shopRules116 p,#scr-quests .questRules116 p{font-size:.79rem;line-height:1.5;margin:5px 0 12px}
#scr-shop .shopWildNote116{margin:0 0 10px;font-size:.77rem;line-height:1.4;color:#b9ccd6}
#scr-shop .wildShop .cosmeticOffer106{padding:12px!important;gap:7px 12px}
body.bigText #scr-shop .offer .oTitle{font-size:.96rem!important}
body.bigText #scr-shop .offer .oHave,body.bigText #scr-shop .shopWildNote116{font-size:.85rem}
body.bigText #scr-shop .offer .buyPrice116{font-size:.94rem!important}
body.bigText #scr-shop .shopArchive116>summary,body.bigText #scr-shop .shopRules116>summary,body.bigText #scr-quests .questRules116>summary{font-size:.93rem}


/* Source: css/forge98.css */
/* Finite, static profile ornaments. All metal and stones stay outside the face. */
[class*="frame-runic-common"]{--forge-light:#b6eed1;--forge-mid:#5dba97;--forge-dark:#244a43}
[class*="frame-runic-rare"]{--forge-light:#dbf4ff;--forge-mid:#79badb;--forge-dark:#314d72}
[class*="frame-runic-epic"]{--forge-light:#ead8ff;--forge-mid:#ad85d6;--forge-dark:#55416f}
[class*="frame-runic-legendary"]{--forge-light:#fff0b8;--forge-mid:#dcac5a;--forge-dark:#795832}
[class*="frame-runic-"][class*="-crest"]::after{inset:-6px;border-width:6px;background:conic-gradient(from -5deg,var(--forge-light) 0 10deg,var(--forge-dark) 10deg 12deg,var(--forge-mid) 12deg 88deg,var(--forge-dark) 88deg 90deg,var(--forge-light) 90deg 100deg,var(--forge-dark) 100deg 102deg,var(--forge-mid) 102deg 178deg,var(--forge-dark) 178deg 180deg,var(--forge-light) 180deg 190deg,var(--forge-dark) 190deg 192deg,var(--forge-mid) 192deg 268deg,var(--forge-dark) 268deg 270deg,var(--forge-light) 270deg 280deg,var(--forge-dark) 280deg 282deg,var(--forge-mid) 282deg 358deg,var(--forge-dark) 358deg) border-box;box-shadow:0 0 0 1px #091723,0 0 0 3px var(--forge-dark),0 0 0 4px var(--forge-mid)}
[class*="frame-runic-"][class*="-relic"]::after{inset:-7px;border-width:7px;background:conic-gradient(from 22.5deg,var(--forge-dark) 0deg 3deg,var(--forge-light) 3deg 21deg,var(--forge-mid) 21deg 42deg,var(--forge-dark) 42deg 48deg,var(--forge-light) 48deg 66deg,var(--forge-mid) 66deg 87deg,var(--forge-dark) 87deg 93deg,var(--forge-light) 93deg 111deg,var(--forge-mid) 111deg 132deg,var(--forge-dark) 132deg 138deg,var(--forge-light) 138deg 156deg,var(--forge-mid) 156deg 177deg,var(--forge-dark) 177deg 183deg,var(--forge-light) 183deg 201deg,var(--forge-mid) 201deg 222deg,var(--forge-dark) 222deg 228deg,var(--forge-light) 228deg 246deg,var(--forge-mid) 246deg 267deg,var(--forge-dark) 267deg 273deg,var(--forge-light) 273deg 291deg,var(--forge-mid) 291deg 312deg,var(--forge-dark) 312deg 318deg,var(--forge-light) 318deg 336deg,var(--forge-mid) 336deg 357deg,var(--forge-dark) 357deg) border-box;box-shadow:0 0 0 1px #08101a,0 0 0 2px var(--forge-mid)}
[class*="frame-runic-"][class*="-relic"]::before{content:"";position:absolute;inset:-10px;border-radius:50%;pointer-events:none;z-index:2;background:radial-gradient(ellipse at 50% 5px,var(--forge-light) 0 2px,var(--forge-mid) 2px 3px,var(--forge-dark) 3px 4px,transparent 4.5px),radial-gradient(ellipse at calc(100% - 5px) 50%,var(--forge-light) 0 2px,var(--forge-mid) 2px 3px,var(--forge-dark) 3px 4px,transparent 4.5px),radial-gradient(ellipse at 50% calc(100% - 5px),var(--forge-light) 0 2px,var(--forge-mid) 2px 3px,var(--forge-dark) 3px 4px,transparent 4.5px),radial-gradient(ellipse at 5px 50%,var(--forge-light) 0 2px,var(--forge-mid) 2px 3px,var(--forge-dark) 3px 4px,transparent 4.5px)}
.forgeFilter98{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;margin:20px 0 10px;font-size:.78rem;color:#b6ccda}
.forgeFilter98 select{font:inherit;font-weight:700;color:#eef6ff;background:#173047;border:1px solid #65889c;border-radius:10px;padding:11px 30px 11px 12px;min-height:44px;max-width:60%}
.forgeFilter98 select:focus-visible{outline:3px solid #e9ce91;outline-offset:2px}
.forgeBalance98{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;text-align:left;padding:12px;background:#0d2333;border-radius:11px;line-height:1.5;font-size:.77rem;color:#b7cbda}
.forgeBalance98 b{color:#a9ddd4}.forgeGrid98{grid-template-columns:1fr;gap:12px;margin:16px 0}
.forgeGrid98 .forgeCard{position:relative;display:grid;grid-template-columns:74px minmax(0,1fr) 12px;grid-template-rows:auto auto auto;align-content:center;align-items:center;justify-items:start;gap:3px 15px;padding:18px 16px;text-align:left;min-height:116px}
.forgeGrid98 .forgePortrait{grid-row:1/4;grid-column:1;width:64px;height:64px;margin:4px}.forgeGrid98 .forgeCard>b{grid-row:1;grid-column:2;font-size:.94rem;overflow-wrap:anywhere}.forgeGrid98 .forgeCard>span:not(.forgePortrait){grid-row:2;grid-column:2;font-size:.78rem}.forgeGrid98 .forgeCard>small{grid-row:3;grid-column:2;font-size:.74rem;color:#b9cdda}.forgeGrid98 .forgeCard>i{grid-row:1/4;grid-column:3;color:#b4d8e7;font-style:normal;font-size:24px}
body.bigText .forgeGrid98 .forgeCard>b{font-size:1rem}body.bigText .forgeGrid98 .forgeCard>small,body.bigText .forgeGrid98 .forgeCard>span:not(.forgePortrait){font-size:.85rem}
@media(max-width:370px){.forgeGrid98 .forgeCard{grid-template-columns:64px minmax(0,1fr) 9px;column-gap:12px;padding:17px 12px}.forgeGrid98 .forgePortrait{width:56px;height:56px}.forgeGrid98 .forgeCard>b{font-size:.88rem}}


/* Source: css/valhalla-choice.css */
/* Deck loadout only. Does not change the battle canvas, hand or menu navigation. */
.valhallaChoice{display:flex;align-items:center;gap:12px;box-sizing:border-box;width:100%;min-height:76px;margin:13px 0 5px;padding:12px 14px;border:1px solid #a78d56;border-radius:15px;background:linear-gradient(135deg,#3e392b,#1b2935 58%);color:#f7e3b4;text-align:left;box-shadow:inset 0 1px #fce5b529,0 3px 0 #050d16;font:inherit;cursor:pointer}
.valhallaChoice.vcHeal{border-color:#5cad9f;background:linear-gradient(135deg,#194841,#1b2935 58%);color:#a1f0d9}
.valhallaChoice:hover{filter:brightness(1.09)}
.valhallaChoice:active{transform:translateY(1px);box-shadow:inset 0 1px #fff2,0 1px 0 #050d16}
.valhallaChoice:focus-visible,.valhallaCompare button:focus-visible{outline:3px solid #a6f3dd;outline-offset:3px}
.vcIcon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:42px}
.vcIcon svg{display:block;width:100%!important;height:100%!important}
.vcCopy{display:grid;gap:3px;min-width:0;flex:1}
.vcCopy small{font-size:9px;line-height:1.3;letter-spacing:.07em;color:#b7c8cc;font-weight:800}
.vcCopy b{font-size:18px;line-height:1.1;letter-spacing:0}
.vcCopy>span{font-size:11px;line-height:1.35;color:#d0dce3}
.vcChange{display:flex;align-items:center;gap:6px;flex:0 0 auto;font-size:11px;font-weight:800;color:#fff0c6}
.vcHeal .vcChange{color:#bcffeb}.vcChange>span{font-size:22px;line-height:1}
.valhallaCompare{box-sizing:border-box;max-width:100%;padding:3px 0 0}
.valhallaCompare h2{font-size:clamp(24px,6vw,31px)!important;line-height:1.15!important;max-width:calc(100% - 24px);margin:8px 0 13px!important;overflow-wrap:normal}
.valhallaCompare .vcIntro{font-size:14px;line-height:1.5;margin:0 0 18px;color:#c4d4e0}
.vcOptions{display:grid;grid-template-columns:1fr;gap:13px;margin-bottom:18px}
.vcOption{--choice:#e9cb8a;box-sizing:border-box;min-width:0;padding:17px 16px 16px;border:1px solid #506070;border-radius:17px;background:linear-gradient(135deg,#243846,#132534);box-shadow:inset 0 1px #fff1}
.vcOption.vcHeal{--choice:#8ae7c9}.vcOption.vcSelected{border-color:var(--choice);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--choice) 35%,transparent),inset 0 1px #fff2}
.vcOptionHead{display:flex;gap:13px;align-items:center;min-width:0;color:var(--choice)}
.vcEmblem{display:grid;place-items:center;flex:0 0 45px;width:45px;height:48px}
.vcEmblem svg{display:block;width:100%!important;height:100%!important}
.vcOptionHead small{display:block;font-weight:800;font-size:10px;letter-spacing:.1em;line-height:1.5;color:#c5d5df}
.vcOptionHead h3{margin:3px 0 0!important;padding:0!important;font-family:inherit;font-weight:900;font-size:21px!important;line-height:1.15!important;color:var(--choice)}
.vcOption p{font-size:14px;line-height:1.4;margin:13px 0;color:#e4edf5}
.vcOption dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;padding:13px 0;border-top:1px solid #aecbc329;border-bottom:1px solid #aecbc329}
.vcOption dl>div{min-width:0}.vcOption dt{font-size:11px;color:#acc1d1;line-height:1.4}.vcOption dd{font-weight:800;font-size:14px;line-height:1.4;margin:2px 0 0;color:#f4f8fb}
.vcOption p.vcLimit{font-size:12px;line-height:1.45;margin:0 0 14px;color:#b8ccdb}
.vcOption .btn{min-height:45px;white-space:normal;line-height:1.3;padding:11px 8px!important;font-size:14px!important}
.vcOption.vcSelected .btn:disabled{opacity:1!important;filter:none!important;background:#183731!important;border-color:#497968!important;color:#b9e9d7!important;box-shadow:none!important}
.vcOption.vcLocked .btn:disabled{opacity:1!important;filter:none!important;background:#20303c!important;color:#b1c2d0!important;border-color:#485c6c!important;box-shadow:none!important}
.vcUnlock{display:block;margin-top:9px;text-align:center;color:#b4c7d8;font-size:11px;line-height:1.4}
#valhallaClose{min-height:44px}
body.bigText .vcCopy small{font-size:11px}body.bigText .vcCopy>span,body.bigText .vcChange{font-size:13px}body.bigText .vcOption p.vcLimit{font-size:14px}
@media(min-width:680px){.vcOptions{grid-template-columns:1fr 1fr}.vcOption{display:flex;flex-direction:column}.vcOption p.vcLimit{flex:1}.vcOptionHead h3{font-size:20px!important}}
@media(max-width:359px){.valhallaChoice{gap:9px;padding:12px 10px}.vcCopy b{font-size:16px}.vcIcon{flex-basis:31px;width:31px}.vcChange{font-size:10px}.vcOption{padding:14px 13px}}


/* Source: css/healing-ward.css */
/* Keep the same battle button, target size and field geometry. */
#valkBtn[data-ability="heal"]{color:#d5fff2!important;--ability-tint:#8fe9d0;background:linear-gradient(160deg,#234e4c,#102b38)!important}
#valkBtn[data-ability="heal"].ready{border-color:#a6f1d7!important}
#valkBtn[data-ability="heal"] .abCap b{font-size:.65rem!important;letter-spacing:0!important}
#valkBtn[data-ability="heal"] .vfill{background:linear-gradient(#8fe9d0,#367f76)!important}
#valkBtn[data-ability="heal"] .vico{color:#c9ffeb;fill:currentColor}


/* Source: css/tactics.css */
/* Cards and existing Valhalla surfaces only. No battlefield layout rules. */
.expEntry{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:14px;margin:12px 0;border:1px solid #928267;border-radius:18px;color:#fff2d5;background:linear-gradient(125deg,#303e48,#1a2536);box-shadow:inset 0 1px #ffffff20,0 3px 0 #07101d;font:inherit;cursor:pointer}
.expEntry>span:nth-child(2){flex:1;min-width:0}.expEntry b,.expEntry small{display:block}.expEntry small{font-size:12px;color:#c8d3db;margin-top:4px}.expBadge{width:36px;color:#f1d28e}.expBadge svg{width:100%;height:36px}
.expedition{padding:clamp(16px,4vw,28px);color:#ecf2ff}.expedition h2{font-family:Georgia,serif;color:#f7e8bb;font-size:clamp(25px,6vw,34px);line-height:1.12;margin:8px 0 14px}.expedition p{line-height:1.5;color:#c6d2e1;font-size:15px;overflow-wrap:break-word}.expedition .wide{margin-top:10px;min-height:48px;white-space:normal;height:auto;padding:12px}.expStages{list-style:none;padding:0;margin:22px 0;display:grid;gap:10px}.expStage{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #506174;border-radius:14px;background:#122338}.expStage.current{border-color:#e0c383;box-shadow:inset 3px 0 #e0c383}.expStage.done{border-color:#78c6b3}.expStageNo{font-weight:900;color:#e0c383;width:16px}.expStageArt{display:block;width:52px;height:64px;flex:none;overflow:hidden;border-radius:8px}.expStageArt img{width:100%;height:100%;object-fit:cover}.expStage>span:last-child{display:grid;gap:4px;min-width:0}.expStage small{font-size:10px;letter-spacing:.12em;color:#9ccdc8}.expStage b{font-size:16px}.expStage span span{font-size:12px;color:#afc0d3}.expPrize{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #9b8757;background:linear-gradient(135deg,#3e3e34,#182738);border-radius:15px}.expPrize>span:first-child{width:38px;color:#eaca83;flex:none}.expPrize svg{width:38px;height:38px}.expPrize div{display:grid;gap:4px}.expPrize small{font-size:10px;color:#e1c581;letter-spacing:.1em}.expPrize b{font-family:Georgia,serif;font-size:25px}.expPrize div span{font-size:12px;color:#c6d2e1}.expEarned{margin-left:auto;font-size:12px;color:#90dec6}.expRules{margin:18px 0}.expRules summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#addbce;text-decoration:underline;text-underline-offset:4px}.expRules p{font-size:13px}.expResult{display:grid;gap:6px;padding:14px;background:#23444a;border-radius:12px;margin:16px 0}.expResult span{font-size:14px;color:#cee3e5}.expOpponent{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}.expCard{display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:0 0 7px;border:1px solid #6e8999;border-radius:11px;background:#142438;color:#ecf2ff;text-align:center;font:inherit}.expCardName{font-size:11px;font-weight:800;overflow-wrap:anywhere;padding:5px 3px 0}.expCardCost{font-size:10px;color:#b7c7d6;padding-top:3px}.expPortrait{display:block;position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:#1b3445}.expPortrait>*{width:100%;height:100%;display:block}.expPortrait img{width:100%;height:100%;object-fit:cover}.expOffers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.expOffers button,.expReplaceGrid button{cursor:pointer;box-shadow:0 3px 0 #061522}.expOffers button:focus-visible,.expReplaceGrid button:focus-visible{outline:3px solid #fff0bc;outline-offset:3px}.expOffers .expCardName{font-size:13px}.expCompare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.expCompare>div>small{display:block;font-size:10px;min-height:32px;color:#a9becd}.expCompareCard>.expCard{max-width:144px;margin:0 auto}.expCompareCard p{font-size:13px}.expCompareCard dl{font-size:12px;display:grid;gap:6px}.expCompareCard dl div{display:flex;justify-content:space-between;gap:8px}.expCompareCard dd{margin:0;text-align:right}.expReplaceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}.expRuleLine{font-size:13px!important;color:#9bdbcd!important}.expWinCrest{display:block;width:88px;margin:auto;color:#edcb7e}.expWinCrest svg{width:88px;height:88px}.vcRally{--vc-accent:#a4d5ff}.vcOptions:has(.vcRally){grid-template-columns:1fr}.vcRally .vcEmblem{color:#a4d5ff}.vcRally svg{width:100%;height:100%}

.expedition .expStages{gap:8px;margin:16px 0}.expedition .expStage{padding:9px 10px;gap:9px}.expedition .expStageArt{width:44px;height:52px}.expedition .expStage b{font-size:15px}.expedition .expStage small{font-size:9px}.expedition .expActions{position:sticky;bottom:-16px;margin:18px -10px -10px;padding:8px 10px 10px;background:linear-gradient(#112235f5,#101f31);border-top:1px solid #6f806b;z-index:2}.expedition .expActions .wide{margin-top:6px}.expedition .expActions .wide:last-child{background:transparent;box-shadow:none;min-height:38px;padding:7px}.expedition .expRules{margin:12px 0}.expedition .expPrize{padding:12px}.expedition>h2{padding-right:35px}.expedition .expStage.current .expStageNo{color:#fff0b9}.expedition .expStage.done .expStageNo{color:#9be5c8}.expedition .expPortrait{aspect-ratio:4/3}.expEntry:active{transform:translateY(2px);box-shadow:inset 0 1px #ffffff20}.expEntry:focus-visible{outline:3px solid #f5dea0;outline-offset:3px}

/* Leave the modal its own outer padding and reserve the close control. */
.expedition{padding:12px 4px 4px}.expedition>.eyebrow{display:block;padding-right:44px;line-height:1.55;white-space:normal;overflow-wrap:normal}.expedition .expCardName{overflow-wrap:normal;word-break:normal}.expedition .expOffers .expCardName{font-size:clamp(10.5px,3vw,12px);line-height:1.35;min-height:34px}.expedition .expCardCost{margin-top:auto}.expedition .expCompareCard dl div{flex-wrap:wrap}.expedition .expCompareCard dd{overflow-wrap:normal}@media(max-width:390px){.expedition .expOpponent{grid-template-columns:repeat(3,minmax(0,1fr))}}
.expCompare>div{display:grid;grid-template-rows:32px 1fr}.expCompare .expCompareCard{display:flex;flex-direction:column}.expCompare .expCompareCard>.expCard{width:100%}.expCompare .expCompareCard dl{margin-top:auto;padding-top:12px}

/* Expedition ownership, objective and temporary rewards, confined to its sheets. */
.expedition .expLead{font-size:17px;color:#edf6ff;margin:10px 0 18px}
.expedition .expHow{list-style:none;padding:0;margin:16px 0 20px;display:grid;gap:12px;color:#c6d2e1;font-size:14px;line-height:1.5}
.expedition .expHow li{padding-left:12px;border-left:3px solid #8fcdbf}
.expedition .expHow b{color:#f3ecd2}
.expedition .expSectionTitle{font-size:15px;color:#c5d6e8;margin:24px 0 8px}
.expedition .expNoLoot{font-size:12px;line-height:1.5;margin:8px 0 18px;color:#b4c6d6}
.expedition .expStageNo{width:26px;height:30px;flex:none;border-radius:8px;background:#0b1927;display:grid;place-items:center;font-size:16px}
.expedition .expStage.current{border-color:#d9bf82}
.expedition .expStage small{font-size:10px;line-height:1.5;letter-spacing:.07em}
.expedition .expStage.done .expStageNo{background:#1d4946}
.expedition .expFailure{background:#342a34;border:1px solid #886269}
.expedition .expBrief{border:1px solid #89646b;border-left:4px solid #de8b92;border-radius:13px;padding:12px;margin:14px 0;background:#2a2633}
.expedition .expBrief>small{color:#edb5ba;font-weight:800;font-size:10px;letter-spacing:.1em}
.expedition .expBrief h3{font:700 20px/1.2 Georgia,serif;color:#f2d8cd;margin:5px 0 8px}
.expedition .expBrief p{font-size:13px;margin:6px 0 10px}
.expedition .expTeam{border:1px solid #618caa;border-left:4px solid #8cc8ed;border-radius:13px;padding:12px 8px;margin:14px 0;background:#162d42}
.expedition .expTeam h3{margin:0;color:#c1e5ff;font-size:17px;line-height:1.3}
.expedition .expTeam p{font-size:12px;margin:7px 0 12px}
.expedition .expTeamGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:12px 0 2px}
.expedition .expOwnGrid .expCard{border-color:#668eaa}
.expedition .expEnemyGrid .expCard{border-color:#98777f;background:#272538}
.expedition .expTeamGrid .expCardName{font-size:10px;line-height:1.3;min-height:32px;padding:5px 1px 0;overflow-wrap:anywhere;display:flex;align-items:center;justify-content:center}
.expedition .expScout>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#d8e7f0;font-size:13px;font-weight:750;cursor:pointer;list-style:none}
.expedition .expScout>summary::-webkit-details-marker{display:none}
.expedition .expScout>summary::after{content:'+';font-size:23px;font-weight:400;flex:none}
.expedition .expScout[open]>summary::after{content:'−'}
.expedition .expScout>summary:focus-visible,.expedition .expTextLink:focus-visible{outline:2px solid #f3d697;outline-offset:3px}
.expedition .expLoan{background:#223c45;border-radius:9px;padding:10px 12px;font-size:13px;color:#bde7d9;line-height:1.5}
.expedition .expNext{font-size:14px}
.expedition .expActions{bottom:-16px;margin:18px -10px -10px;padding-bottom:10px}
.expedition .expActions .wide:not(.primary){background:transparent;box-shadow:none;min-height:44px;padding:9px}
.expedition .expActions .primary{min-height:48px}
.expedition .expTextLink{display:block;width:100%;min-height:44px;border:0;border-radius:8px;background:transparent;color:#bed6e4;text-decoration:underline;text-underline-offset:4px;font:inherit;font-size:13px;cursor:pointer;padding:10px}
.expedition .expCompare>div{grid-template-rows:minmax(36px,auto) 1fr}
.expedition .expCompare>div>small{min-height:36px;font-size:10px;line-height:1.5;overflow-wrap:normal}
.expedition .expPrize>div{min-width:0}
.expedition .expEarned{flex:none}
@media(max-width:350px){.expedition .expTeam{padding:10px 8px}.expedition .expTeamGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.expedition .expTeamGrid .expCardName{font-size:11px}.expedition .expPrize{gap:9px}.expedition .expEarned{max-width:44px}}


/* Source: css/prestige94.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
.prestigeEntry94{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:9px 14px;color:#eee5ff;background:linear-gradient(125deg,#302947,#1b2034);border:1px solid #a993ca;border-radius:16px;box-shadow:inset 0 1px #ece0ff25,0 3px #0a1024;text-align:left;font:inherit;cursor:pointer}
.prestigeEntry94>span:nth-child(2){flex:1;min-width:0}
.prestigeEntry94 b{display:block;font-size:14px}
.prestigeEntry94 small{display:block;font-size:11px;color:#c6bcd7;line-height:1.35}
.prestigeEntryCrown .mi{width:22px;height:22px}
.prestigeEntryCost{text-align:center;font-size:20px;font-weight:900;line-height:1.15}
.prestigeEntryCost small{font-size:10px;font-weight:600}
.prestigeEntry94:hover{border-color:#ead5ff}
.prestigeEntry94:active{transform:translateY(1px);box-shadow:inset 0 1px #ece0ff25,0 1px #0a1024}
.prestigeChallenge{padding:4px 2px;color:#eef3ff;max-width:440px;margin:auto}
.prestigeChallenge>header{display:flex;align-items:center;gap:12px;margin:24px 0 16px;padding-right:28px}
.prestigeChallenge>header>.prestigeCrest{width:70px;min-width:70px;height:auto;margin:0;filter:drop-shadow(0 4px 8px #0004)}
.prestigeChallenge h2{font-size:clamp(23px,6vw,31px);line-height:1.05;margin:0 0 7px;text-wrap:balance}
.prestigeChallenge header p{margin:0;font-size:13px;color:#c4cddd;line-height:1.4}
.prestigeRival{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;background:#09182a;border:1px solid #55617f}
.prestigeRival>span:last-child{min-width:0;display:grid;gap:2px}
.prestigeRival small{font-size:11px;color:#bcb0d4}
.prestigeRival b{font-size:19px;overflow-wrap:anywhere}
.prestigeRival span span{font-size:12px;color:#bac8d9}
.prestigePortrait{position:relative;display:block;flex:0 0 56px;width:56px;height:60px;overflow:hidden;border-radius:10px;background:#172a3f;border:1px solid #ac92c8}
.prestigePortrait img{width:100%;height:100%;object-fit:cover;display:block}
.prestigePrizes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.prestigePrizes>div{display:grid;gap:3px;justify-items:center;padding:13px 8px;border-radius:13px;background:linear-gradient(#352a4d,#202238);border:1px solid #9273b4}
.prestigePrizes>div+div{background:linear-gradient(#263d55,#192839);border-color:#678cac}
.prestigePrizes small{font-size:10px;letter-spacing:.07em;font-weight:900;color:#d3c6e4}
.prestigePrizes b{font-size:25px;color:#dec4ff;line-height:1.12}
.prestigePrizes>div+div b{color:#abd9ff}
.prestigePrizes span{font-size:12px;color:#dbe3ee}
.prestigePrice{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:#0d1827;border:1px solid #6d647f;border-radius:12px;padding:11px;font-size:13px;font-variant-numeric:tabular-nums}
.prestigePrice>span:first-child{display:flex;align-items:center;gap:5px}
.prestigePrice .mi{width:19px;height:19px}
.prestigePrice b{font-size:17px;color:#f3db9a}
.prestigeChallenge .prestigeTerms94{font-size:12px;line-height:1.5;color:#ced7e4;margin:10px 0}
.prestigeQuota{font-size:12px;font-weight:800;color:#d9c8f4;margin:12px 0}
.prestigeUnavailable{font-size:13px;line-height:1.45;padding:10px;border-left:3px solid #e9c679;background:#40332260;border-radius:6px}
.prestigeChallenge details{font-size:12px;line-height:1.5;color:#becbdd;padding:10px 0;border-top:1px solid #64758d55}
.prestigeChallenge summary{font-size:13px;font-weight:800;color:#e6ebf6;cursor:pointer;min-height:30px}
.prestigeChallenge details p{margin:8px 0}
.prestigeActions{display:grid;gap:9px;margin-top:8px}
.prestigeActions .btn{min-height:48px;white-space:normal;font-size:15px;line-height:1.3;padding:12px}
#mmodal .prestigeActions .primary{background:linear-gradient(#dec5ff,#ac89d6);color:#201a30;border-color:#eedcff;box-shadow:inset 0 1px #fff9,0 3px #664f88}
#mmodal .prestigeActions .primary:disabled{box-shadow:none;filter:grayscale(1);opacity:.5;cursor:not-allowed}
.prestigeNote small{display:block;margin-top:7px;line-height:1.45;color:#cbd3e0}
.bigText .prestigeEntry94{min-height:65px}
.bigText .prestigeEntry94 b{font-size:16px}
.bigText .prestigeEntry94 small{font-size:12px}
.bigText .prestigeChallenge header p,.bigText .prestigeChallenge .prestigeTerms94,.bigText .prestigeQuota,.bigText .prestigeChallenge details{font-size:14px}

@media(max-width:360px){.prestigeChallenge>header{gap:8px}
.prestigeChallenge>header>.prestigeCrest{width:56px;min-width:56px}
.prestigePrice{font-size:12px}
.prestigeEntry94{padding:8px 11px}}
#mmodal .prestigeActions .primary{background:linear-gradient(#dec5ff,#ac89d6)!important;color:#201a30!important;border-color:#eedcff!important}

@media(max-height:700px){#meta.home #scr-home:has(.prestigeEntry94) .homeWorld{min-height:48px;flex:1 1 48px}
#meta.home #scr-home:has(.prestigeEntry94) .hBottom{gap:6px}
#scr-home:has(.prestigeEntry94) .homeDeckChoice{gap:6px;padding:0}
#scr-home:has(.prestigeEntry94) .homeDeckPortrait{width:36px;height:44px}
#scr-home:has(.prestigeEntry94) .homeDeckText b{font-size:14px;white-space:nowrap}
#scr-home:has(.prestigeEntry94) .homeDeckText small{font-size:11px}
#meta.home #scr-home:has(.prestigeEntry94) .battle{min-height:66px}
#meta.home #scr-home:has(.prestigeEntry94) .battle b{font-size:28px!important}
#meta.home #scr-home:has(.prestigeEntry94) #hDrop{bottom:0;right:0;width:148px;min-height:48px;padding:0 6px;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:6px}
#meta.home #scr-home:has(.prestigeEntry94) #hDrop .runeEmblem{width:27px;height:36px;flex:0 0 27px}
#meta.home #scr-home:has(.prestigeEntry94) #hDrop .homeDropLabel{font-size:11px;position:static;min-width:0;padding:5px}
#meta.home #scr-home:has(.prestigeEntry94) #hDrop .homeDropLabel small{display:none}
#meta.home #scr-home:has(.prestigeEntry94) #hDrop .homeDropCount{position:static;min-width:22px;height:22px;font-size:12px}}


/* Source: css/battlefields.css */
/* Fits existing Home world space. No battle geometry or hand dimensions change. */
.mapHome96{position:absolute;z-index:5;bottom:12px;right:0;min-height:44px;max-width:48%;padding:6px 11px;border:1px solid #8cb1bd7a;border-radius:12px;background:linear-gradient(155deg,#203c4def,#10202ef2);box-shadow:inset 0 1px #c5e7ec30,0 3px 0 #07121db3;color:#bcd1df;text-align:left;font:700 11px var(--ui-body);cursor:pointer;pointer-events:auto}
.mapHome96 b{display:block;color:#f0e6c3;font-size:13px;line-height:1.3}.mapHome96>span{float:right;margin:6px 0 0 8px;color:#b5e6ec;font-size:20px}.mapHome96:active{transform:translateY(2px)}
.mapChoice96{padding:6px 4px 12px}.mapChoice96 h2{margin:0 0 8px}.mapChoice96>p{color:#b7cbd9;line-height:1.45;font-size:14px;margin:0 0 17px}.mapCards96{display:grid;gap:12px}
.mapPick96{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:center;width:100%;padding:10px;text-align:left;color:#eaf3ff;border:1px solid #4d6374;border-radius:15px;background:linear-gradient(125deg,#263746,#152636);box-shadow:inset 0 1px #aecdd321,0 4px 0 #0814236b;cursor:pointer}
.mapPick96[aria-pressed=true]{border:2px solid #a3dbc9;padding:9px;background:linear-gradient(125deg,#254a4c,#172c36)}.mapPick96 canvas{display:block;width:88px;height:117px;border-radius:8px;border:1px solid #b5d1da4d}.mapPick96 strong{display:block;font:700 20px Georgia,serif;color:#f6e8bd;margin:3px 0 6px}.mapPick96 small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#a3d8e3}.mapPick96 .mapCue96{display:block;font-size:12px;line-height:1.45;color:#bfd0dd}.mapPick96 .mapState96{display:inline-block;font-size:12px;font-weight:800;margin-top:10px;color:#99e0d0}.mapChoice96 .mapRules96{font-size:12px;line-height:1.5;color:#abc1ce;margin-top:18px}.mapChoice96 .mapClose96{margin-top:14px;width:100%}
.bigText .mapCue96{font-size:14px}.bigText .mapPick96 strong{font-size:21px}@media(max-width:360px){.mapPick96{grid-template-columns:72px minmax(0,1fr);gap:10px}.mapPick96 canvas{width:72px;height:96px}.mapPick96 strong{font-size:18px}.mapPick96 .mapCue96{font-size:11px}.mapHome96{padding:5px 8px}.mapHome96 b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.mapHome96:active{transform:none}}

/* The shared reference body owns scroll padding; map cards remain fully
   readable at their original size, with generous text at Larger text. */
#mmodal .mapChoice96.referenceSheet164 .referenceBody164>.mapNext98{padding:10px 12px;margin-bottom:12px}
#mmodal .mapChoice96.referenceSheet164 .mapRules98{margin-bottom:2px}
body.bigText #mmodal .mapChoice96.referenceSheet164 .mapCue96{font-size:14px}
body.bigText #mmodal .mapChoice96.referenceSheet164 :is(.mapState96,.mapRules98 summary){font-size:14px}


/* Source: css/ui98.css */
/* Menu-only surfaces. These rules never target battle layout or tile scale. */
#meta.home .homeWorld:has(#hDrop):not(.hasMapWelcome98) .mapHome96{left:0;right:auto;top:0;bottom:auto;max-width:55%}
@media(max-height:700px){
 #meta.home #scr-home:has(.firstStep) .homeWorld:has(#hDrop){min-height:74px;flex-basis:74px}
 #meta.home #scr-home:has(.firstStep) .homeWorld:has(#hDrop) .fieldHomeLink{display:none}
 #meta.home #scr-home:has(.firstStep) .homeWorld:has(#hDrop) .mapHome96{top:auto;bottom:10px}
 #meta.home #scr-home:has(.firstStep) #hDrop{min-height:74px;bottom:0;padding-top:0}
 #meta.home #scr-home:has(.firstStep) #hDrop .runeEmblem{width:28px;height:32px}
 #meta.home #scr-home:has(.firstStep) #hDrop .homeDropLabel{padding:4px 6px;gap:2px}
}
.mapWelcome98{position:absolute;left:0;right:0;bottom:0;z-index:6;pointer-events:auto;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;margin:0;padding:8px 6px 8px 12px;border:1px solid #71ada580;border-radius:14px;background:linear-gradient(125deg,#19343bf5,#10222ef5);box-shadow:inset 0 1px #bdfff024;color:#e4eee9;text-align:left}
.hasMapWelcome98>.mapHome96,.hasMapWelcome98>.fieldHomeLink{visibility:hidden}.homeWorld.hasMapWelcome98:has(#hDrop) .mapWelcome98{right:auto;width:58%}.homeWorld.hasMapWelcome98 #hDrop{left:auto;right:0;transform:none}
.homeWorld.hasMapWelcome98{min-height:154px!important;flex-basis:154px!important}.homeWorld.hasMapWelcome98:has(#hDrop){min-height:154px!important;flex-basis:154px!important}
.mapWelcome98 small{display:block;font:800 10px var(--ui-body);letter-spacing:.09em;color:#83d9c7}.mapWelcome98 b{display:block;margin:3px 0;font:700 18px Georgia,serif;color:#f2deb0}.mapWelcome98 p{font:500 12px/1.4 var(--ui-body);margin:4px 0;color:#c4d5df}.mapWelcome98 .lnk{min-height:40px;font-size:12px;padding:4px 0}.mapWelcome98>button{width:44px;height:44px;align-self:start;border:1px solid #7ba4ad55;border-radius:10px;background:#0c1d2b;color:#d0dce7;font:26px var(--ui-body);cursor:pointer}
.mapNext98{padding:12px 14px;border-left:3px solid #9fe4cf;background:#172f36;border-radius:0 10px 10px 0}.mapNext98 b{display:block;color:#f6e6bd;font-size:19px;margin-top:3px}.mapPreview98{margin-top:16px;padding:14px;border:1px solid #79bcb166;border-radius:12px;background:#10232e}.mapPreview98>small{font-size:10px;letter-spacing:.1em;color:#91d1c1}.mapPreview98 h3{margin:5px 0 8px;color:#f0dfb2}.mapPreview98 p,.mapRules98 p{font-size:13px;line-height:1.55;color:#bdd0dc}.mapRules98{margin-top:16px}.mapRules98 summary{min-height:44px;display:flex;align-items:center;color:#b8d9d4;font-size:13px;cursor:pointer}.mapPractice98 .btn+.btn{margin-top:10px}
.rivalHonours98{margin:14px 0;padding:14px;border:1px solid #a793cc66;border-radius:14px;background:linear-gradient(135deg,#252d48,#112330)}.rivalHonours98>small{display:block;color:#c3b4e7;font-size:10px;letter-spacing:.09em}.rivalHonours98>b{display:block;color:#f2e4bf;margin:6px 0}.rivalMastery98{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;margin-top:10px}.rivalMastery98 .veraPortrait{width:52px;height:64px;border-radius:9px;overflow:hidden}.rivalMastery98 details{font-size:12px;line-height:1.5}.rivalMastery98 summary{cursor:pointer;min-height:44px;color:#e0d7f1}.rivalMastery98 p{margin:6px 0;color:#c4d0df}.rivalHonours98 .rivalHonoursNote98{font-size:11px;line-height:1.5;color:#aebcd0;margin:10px 0 0}.lbSettings .tgl small{display:block;font-size:11px;line-height:1.5;color:#aebdce}.bigText .mapWelcome98 p,.bigText .mapPreview98 p,.bigText .mapRules98 p{font-size:15px}


/* Source: css/ui100.css */
/* Keep the established arena and readout row geometry. Each text line owns its
   natural height; phase copy is short enough not to wrap into its neighbour. */
body.battle-hand-pass.in-battle .bh-readout :is(.bh-readout-main,.bh-readout-detail){flex:0 0 auto;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.deckCombo100{display:flex;align-items:center;gap:12px;width:100%;margin:10px 0;padding:13px 14px;border:1px solid #9685af88;border-radius:14px;background:linear-gradient(125deg,#33334e,#17283b);color:#f2e6cb;text-align:left;font:700 .83rem/1.4 var(--num);cursor:pointer}
.deckCombo100>span:first-child{flex:1;min-width:0}.deckCombo100 b,.deckCombo100 small{display:block}.deckCombo100 small{color:#b8cadc;font-size:.75rem;font-weight:600;margin-top:3px}.deckCombo100>i{font-style:normal;color:#b9eadb;font-size:1.3rem}
.comboGuide .comboTry100{display:block;margin:9px 0 14px;width:100%;min-height:44px;white-space:normal}
.cjEntry.learning100 .cjMark{color:#acdaca}.cjEntry.learning100>summary small{color:#afc5d5}.cjPracticeHint100{margin:10px 0;color:#b8cbd9;font-size:.76rem;line-height:1.5}
.masteryFeature100{margin:10px 0 14px;padding:12px;border:1px solid #bb9d6288;border-radius:13px;background:linear-gradient(130deg,#373647,#182b3c)}
.masteryFeature100>label{display:block;font-size:.78rem;font-weight:800;color:#f0dab0;margin-bottom:7px}.masteryFeature100 select{display:block;width:100%;min-height:44px;padding:8px 10px;font:700 .85rem/1.35 var(--num);color:#f4e7d0;background:#132334;border:1px solid #7d8190;border-radius:9px}.masteryFeature100 p{font-size:.75rem;line-height:1.5;color:#b9cada;margin:8px 0 0}
.pfHonours>span.isFeatured100{border-color:#ead297;box-shadow:0 0 0 1px #c5a76a}.pfHonours .featureLabel100{font:800 .55rem/1.3 var(--num);text-transform:uppercase;letter-spacing:.05em;color:#b7e5d6;text-align:center}.masteryShowcaseCards .isFeatured100::after{content:'Featured';position:absolute;top:6px;left:5px;padding:2px 4px;background:#122938e8;border:1px solid #bba77688;border-radius:4px;color:#f3dda5;font:800 9px/1.2 var(--num)}
.rivalIdentity100{display:flex;align-items:center;gap:12px;margin:10px 0}.rivalAvatar100{display:block;flex:none;position:relative;width:66px;height:66px;border:3px solid #748ba0;border-radius:50%;padding:3px;background:#0b1b2d;box-sizing:border-box}.rivalAvatar100>.veraPortrait{display:block;width:100%;height:100%;border-radius:50%;overflow:hidden}.rivalIdentity100>b{font-size:1rem;color:#f2e3bf;overflow-wrap:anywhere}.rivalFrame100{display:block;font-size:.72rem;color:#bdcadd;margin-top:3px}.benchChoice100 .benchMaps100{display:grid;gap:10px;margin:16px 0}.benchChoice100 .benchMap100{width:100%;min-height:58px;text-align:left}.benchMap100 b,.benchMap100 small{display:block}.benchMap100 small{font-size:.75rem;font-weight:600;color:#bed2e2;margin-top:3px}.bigText .deckCombo100{font-size:.9rem}.bigText .deckCombo100 small,.bigText .masteryFeature100 p{font-size:.82rem}


/* Source: css/clarity-rewards104.css */
/* Quest receipts and three distinct Rune Drop facts: chances, points, stock. */
#scr-quests .quest .qrw .qRewardHint{flex-basis:100%;color:#a9c2cf;font-size:.68rem}
#scr-quests .questAbilityHelp{margin-top:8px;padding:8px 10px 0;border-left:2px solid #cfaa68;border-radius:0 9px 9px 0;background:#cfaa6810}
#scr-quests .questAbilityHelp>small{display:block;color:#ddceb0;font-size:.72rem;line-height:1.45}
#scr-quests .questAbilityHelp .questHelp{margin:0}
.battleDropTop{flex-wrap:nowrap;align-items:center}
.battleDropTop b{min-width:0}
.battleDropInfoIcon{color:#9de6d9;font-size:.8rem;flex-shrink:0}
.battleDropNext{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:3px 10px;font-size:.65rem;line-height:1.3;color:#bdced6}
.battleDropNext b{color:#d1eee6;font-variant-numeric:tabular-nums}
.battleDropNext small{font:inherit;font-variant-numeric:tabular-nums}
.battleDropStock{font-size:.65rem;line-height:1.3;color:#d6c5f0}


/* Source: css/clarity-cards104.css */
/* Card decisions only: no arena geometry or portrait motion. */
.swapCmp .cmpDeck104{margin:2px 0 12px;color:#daca9c;font:700 .84rem/1.4 var(--num)}
.swapCmp .cmpIdentity>b{grid-template-rows:auto 72px auto auto}
.swapCmp .cmpIdentity .cmpElixir104{font-size:.8rem;color:#cbb9ef}
.swapCmp .cmpHowl104{margin-bottom:5px}
.swapCmp .cmpHowlNote104{font-size:.78rem;line-height:1.5;color:#b8c9d7;margin:0 0 14px}
.wildConvert104,.trackerBlock104,.conversionReceipt104{margin:14px 0;padding:13px;border:1px solid #8570a765;border-radius:13px;background:linear-gradient(145deg,#29243a,#172638);box-shadow:inset 0 1px #d0c1ed12;overflow-wrap:anywhere}
.wildConvert104 h3{margin:0 0 9px;color:#dccdef;font:800 .86rem/1.4 var(--num);text-transform:none;letter-spacing:0}
.wildConvert104 p,.trackerChoice104,.conversionReceipt104 p{font-size:.85rem;line-height:1.55;margin:0 0 10px;color:#dce7ee}
.wildConvert104>small,.trackerChoice104 small,.conversionReceipt104>small{display:block;font-size:.78rem;line-height:1.5;color:#b8cad9}
.wildConvert104 .wildUse{margin:8px 0 10px;min-height:48px;white-space:normal}
.trackerBlock104{border-color:#548a835c;background:linear-gradient(145deg,#16363a,#172638)}
.trackerChoice104{padding:0;border:0;background:none;margin:0}
.trackerChoice104 b{color:#b9e6d7}.trackerChoice104 small{margin-top:7px}
.conversionReceipt104{border-color:#70bca178;background:linear-gradient(145deg,#1a3b35,#192c38)}
.conversionReceipt104>b{display:block;margin-bottom:6px;color:#b4efd7;font-size:.88rem;line-height:1.4}
.conversionReceipt104 p{margin-bottom:6px}
body.bigText .cmpDeck104,body.bigText .cmpHowlNote104,body.bigText .wildConvert104 p,body.bigText .trackerChoice104,body.bigText .conversionReceipt104 p{font-size:1rem}
body.bigText .wildConvert104>small,body.bigText .trackerChoice104 small,body.bigText .conversionReceipt104>small{font-size:.9rem}
@media(max-width:350px){.wildConvert104,.trackerBlock104,.conversionReceipt104{padding:11px}.swapCmp .cmpIdentity>b{grid-template-rows:auto 72px auto auto}}


/* Source: css/clarity-modes104.css */
/* Mode terms stay inside their existing menu surfaces; no battlefield geometry changes. */
.prestigeChallenge .prestigePrizes b{font-size:clamp(16px,4.4vw,20px);text-align:center;text-wrap:balance}
.prestigeChallenge .prestigeExit104{margin:9px 0;padding:10px 12px;border:1px solid #bc956352;border-radius:10px;background:#46311e55;color:#f5dcb5;font-size:12px;line-height:1.45}
.prestigeExit104 b{color:#ffe9c9}
.btn.cardLesson104{display:grid;gap:8px;padding:12px 14px;text-align:left;white-space:normal;line-height:1.4}
.lessonTitle104{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 10px}
.lessonTitle104>b{font-size:14px;color:#e2fff7}.lessonTitle104>span{font-size:12px;color:#b9e4dd}
.btn.cardLesson104 small{display:block;margin:0;opacity:1;font-size:12px;line-height:1.45;font-weight:500;color:#c5e9e2}
.btn.cardLesson104 .lessonChallenge104{padding-top:7px;border-top:1px solid #7dc7b93d;color:#e9dfa7}
.lessonStart104{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:800;color:#baffea}
.bigText .prestigeChallenge .prestigeExit104,.bigText .btn.cardLesson104 small,.bigText .lessonTitle104>span{font-size:14px}
.bigText .lessonTitle104>b{font-size:16px}.bigText .lessonStart104{font-size:15px}


/* Source: css/header106.css */
/* Menu identity is given deliberate space even when the wallet grows.
   These selectors never reach the battle HUD or its canvas. */
#meta .mtop .cur{margin:0!important;flex:0 0 auto}
#meta .mtop .gear{margin:0;flex:0 0 44px;min-width:44px;min-height:44px}
#meta .mtop .me{min-width:96px!important;min-height:44px;gap:7px}
#meta .mtop .meAv{flex:0 0 auto}
#meta .mtop .meTxt{flex:1;min-width:0}
#meta .mtop .meTxt b{max-width:100%!important}
#meta .mtop .cur b{font-variant-numeric:tabular-nums}
@media(max-width:380px){
  #meta:not(.home) .mtop{padding-left:10px;padding-right:10px;gap:6px}
  #meta .mtop .cur{padding:0 7px!important;gap:4px!important}
  #meta .mtop .me{gap:5px}
}
@media(max-width:340px){
  #meta:not(.home) .mtop{gap:5px}
  #meta .mtop .cur{padding:0 5px!important}
  #meta .mtop .me{min-width:86px!important}
}


/* Source: css/rating106.css */
/* Menu-only match context. Never alter the battle canvas or hand. */
.homeMatch106{display:grid;gap:5px;width:100%;min-height:52px;padding:10px 14px;border:1px solid #637c8970;border-radius:15px;background:linear-gradient(135deg,#173238ed,#142536f5);color:#edf7f8;text-align:left;cursor:pointer;box-shadow:inset 0 1px #c9ebed18,0 2px 4px #0002;font:inherit}
.homeMatch106:hover{border-color:#89c1bd;background:linear-gradient(135deg,#1e4246,#1b3147)}
.homeMatch106:active{transform:translateY(1px)}
.homeMatch106:focus-visible{outline:3px solid #85dfd2;outline-offset:3px}
.homeMatchWho106,.homeMatchStakes106{display:flex;align-items:center;gap:9px;min-width:0}
.homeMatchWho106>b{font-size:14px;min-width:0;overflow-wrap:anywhere}
.homeMatchWho106>span{margin-left:auto;flex-shrink:0;font-size:12px;color:#d0dce4}
.homeMatchWho106 svg{width:12px;height:12px;vertical-align:-1px;color:#e9ca6d}
.homeMatchStakes106{font-size:12px;flex-wrap:wrap;color:#b7c9d5}
.homeMatchStakes106 b{color:#e8eff2;font-variant-numeric:tabular-nums}
.homeMatchStakes106>span:first-child b{color:#9be0ce}
.homeMatchMore106{margin-left:auto;color:#d7c992;font-weight:800}
.homeSummit106{font-size:12px;line-height:1.35;color:#edce8e}
.ratingPreview106>header{display:flex;align-items:center;gap:16px;margin:12px 0 20px}
.ratingPortrait106{display:block;width:76px;height:88px;flex:0 0 76px;overflow:hidden;border-radius:16px;border:1px solid #c5aa69;background:#142638;box-shadow:inset 0 0 0 3px #202c3e,0 4px 14px #0005}
.ratingPortrait106>*{display:block;width:100%;height:100%;object-fit:cover}
.ratingPreview106 header>div{min-width:0}.ratingPreview106 header h2{overflow-wrap:anywhere;margin:0 0 7px}.ratingPreview106 header p{margin:0 0 6px}.ratingPreview106 header small{color:#bacbd8}
.ratingStakes106{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.ratingStakes106>div{display:grid;gap:4px;justify-items:center;padding:15px 10px;border:1px solid #759dad65;border-radius:14px;background:#102437}
.ratingStakes106 small{font-size:11px;font-weight:800;letter-spacing:.08em;color:#bdcdd9}.ratingStakes106 b{font-size:clamp(16px,4.8vw,21px);white-space:nowrap;color:#dfe9ee;font-variant-numeric:tabular-nums}.ratingStakes106>div:first-child b{color:#99dfc9}.ratingStakes106 span{font-size:12px;color:#bdcdd9}
.ratingSummit106{padding:14px;border:1px solid #b8a05f66;border-radius:12px;background:#ba965318;color:#f2dfb3;line-height:1.5}.ratingSummit106 b{display:block;margin-bottom:6px}
.ratingMastery106{padding:12px 0;line-height:1.5;color:#c8d8e2}.ratingMastery106 b{color:#e8eff4}
.ratingPreview106 details{border-block:1px solid #617b8d60;padding:8px 0;margin:10px 0 18px}.ratingPreview106 summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#b6e4dc;font-weight:800}.ratingPreview106 summary:after{content:'+';margin-left:auto}.ratingPreview106 details[open] summary:after{content:'−'}.ratingPreview106 details p{color:#bacddc;font-size:14px;line-height:1.5}
.ratingResult106{display:block;margin-top:5px;font-size:.87em;color:#bed2df}.ratingActions106 .btn{min-height:48px}
@media(max-width:359px){.homeMatch106{padding:9px 10px}.homeMatchWho106{align-items:flex-start}.homeMatchWho106>span{font-size:11px}.ratingPreview106>header{gap:10px}.ratingPortrait106{width:62px;height:74px;flex-basis:62px}}


/* Source: css/leaderboard106.css */
/* A shared identity, honest scores and a short, useful list on phones. */
#scr-ranks .rkSync106{margin:4px 0 14px;padding:13px 14px;border:1px solid #52777f;border-radius:16px;background:linear-gradient(125deg,#203e49,#132639);box-shadow:inset 0 1px #b7f4e41f,0 4px 0 #07162355}
#scr-ranks .rkSync106.warning{border-color:#ceaa6c;background:linear-gradient(125deg,#443a29,#242a37)}
.rkSyncTitle106{display:flex;align-items:center;justify-content:space-between;gap:10px}.rkSyncTitle106>b{font-size:.9rem;color:#b2f0dc;line-height:1.3}.warning .rkSyncTitle106>b{color:#ffe0a4}
.rkSyncTitle106 .lnk{min-height:44px;min-width:78px;padding:8px 0 8px 8px;font-size:.76rem;font-weight:800;color:#c4e9f1;text-align:right;text-decoration:underline;text-underline-offset:4px;white-space:normal;flex:none}
.rkScores106{display:grid;grid-template-columns:1fr 1fr;gap:9px 15px;margin:3px 0 10px}.rkScores106>span{min-width:0;display:flex;flex-direction:column;gap:4px}.rkScores106>span:last-child{grid-column:1/-1;flex-direction:row;align-items:baseline;justify-content:space-between;border-top:1px solid #91bdc331;padding-top:9px}
.rkScores106 small{color:#bdcdda;font-size:.71rem;line-height:1.35}.rkScores106 b{display:flex;gap:5px;align-items:center;color:#f9e8bb;font-size:1.12rem;line-height:1.2;overflow-wrap:anywhere}.rkScores106 b svg{width:17px;height:17px;flex:none}.rkScores106>span:last-child b{font-size:.87rem;color:#d8e8f1}
.rkSync106 p{font-size:.77rem;line-height:1.48;color:#d5e0e9;margin:8px 0}.rkFresh106{display:block;color:#9eb7c9;font-size:.7rem;line-height:1.4}
.rkSection106{margin:19px 0 15px}.rkSection106>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 3px 6px}.rkSection106 h3{margin:0;font:800 1rem/1.3 var(--ui-body,system-ui);color:#f4e8c9}.rkSection106 header p{margin:4px 0 0;color:#aabfcf;font-size:.7rem;line-height:1.4}.rkSectionMark106{display:grid;place-items:center;width:34px;height:34px;border:1px solid #b7a16d77;border-radius:11px;background:linear-gradient(#6c624066,#263a4055);color:#efcc78;box-shadow:inset 0 1px #f6e5a044}.rkSectionMark106 svg{width:20px;height:20px}
#scr-ranks .rkRow106{display:grid;grid-template-columns:24px 42px minmax(0,1fr) auto;gap:9px;margin:0;min-height:80px;padding:11px 10px!important;border-color:#50697b!important;box-shadow:inset 0 1px #cfe3ee17,0 3px 0 #06142355}
#scr-ranks .rkSection106 .rkList{gap:8px;padding:0}#scr-ranks .rkRow106.top{border-color:#b89b6655!important}
#scr-ranks .rkRow106 .rkPos{width:24px;min-width:24px;height:auto;line-height:1.3!important;color:#d2e1eb}#scr-ranks .rkRow106.top .rkPos{width:26px;height:29px;display:grid;place-items:center;color:#30240f}
#scr-ranks .rkPortrait106{position:relative;width:42px;height:42px;border-radius:50%;border:2px solid #7c9cae;padding:2px;box-sizing:border-box;background:#0b1c2e;overflow:visible;isolation:isolate}
#scr-ranks .rkPortrait106>.veraPortrait{display:block;width:100%;height:100%;border-radius:50%;overflow:hidden}#scr-ranks .rkPortrait106 .veraPortrait img{max-width:none;max-height:none}#scr-ranks .rkPortrait106::after{animation:none!important}
#scr-ranks .rkPortrait106 .rkMono{width:100%;height:100%;display:grid;place-items:center;font:800 1rem/1 var(--ui-body,system-ui);font-style:normal;border:0;border-radius:50%;background:linear-gradient(135deg,color-mix(in srgb,var(--lc) 35%,#213348),#182a40);color:#f4e6ce}
#scr-ranks .rkRow106 .rkName{min-width:0}#scr-ranks .rkRow106 .rkName b{gap:4px;font-size:.85rem!important;line-height:1.3!important;min-width:0}#scr-ranks .rkRow106 .rkNm{display:block;max-width:100%;overflow-wrap:anywhere}#scr-ranks .rkRow106 .lbBadge{padding:1px 5px;font-size:9px;line-height:1.4;border-radius:4px}
#scr-ranks .rkRow106 .rkName small{display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;font-size:.64rem!important;line-height:1.4!important;margin-top:4px}#scr-ranks .rkRow106 .rkViewDeck{white-space:normal}#scr-ranks .rkRow106 .rkViewDeck>span{font-size:15px}#scr-ranks .rkRow106 .rkTie106{color:#d2c29d;font-weight:650}
#scr-ranks .rkRow106 .rkTro{min-width:0;white-space:nowrap;display:flex;font-size:.88rem!important;font-variant-numeric:tabular-nums;gap:4px}#scr-ranks .rkRow106 .rkTro svg{width:14px;height:14px;flex:none}
.rkEmpty106{padding:16px;border:1px dashed #5d7b8c;border-radius:12px;background:#112638}.rkEmpty106>b{color:#e1eaf2;font-size:.9rem}.rkEmpty106 p,.rkQuiet106{color:#aec4d4;font-size:.76rem;line-height:1.5;margin:7px 0}.rkEmpty106 .btn{min-height:44px;margin-top:8px}
.rkFull106{margin:12px 0 16px;border:1px solid #496374;border-radius:12px;background:#142537;overflow:hidden}.rkFull106>summary{padding:14px;min-height:48px;box-sizing:border-box;color:#cbe5ee;font-size:.84rem;font-weight:800;cursor:pointer}.rkFull106[open]>.rkList{padding:0 8px 10px;gap:8px}#scr-ranks .rkDetails>summary,#scr-ranks .prestigeInfo>summary{min-height:48px;box-sizing:border-box;display:flex;align-items:center}
#scr-ranks :is(button,summary):focus-visible{outline:3px solid #9ff0dd;outline-offset:3px}
body.bigText .rkSync106 p,body.bigText .rkFresh106,body.bigText .rkQuiet106,body.bigText .rkEmpty106 p{font-size:.88rem}body.bigText .rkScores106 small,body.bigText .rkSection106 header p{font-size:.8rem}body.bigText .rkSyncTitle106>b{font-size:1rem}body.bigText .rkSyncTitle106 .lnk{font-size:.87rem}body.bigText #scr-ranks .rkRow106 .rkName b{font-size:1rem!important}body.bigText #scr-ranks .rkRow106 .rkName small{font-size:.77rem!important}body.bigText #scr-ranks .rkRow106 .rkTro{font-size:1rem!important}
@media(max-width:370px){#scr-ranks .rkRow106{grid-template-columns:22px 40px minmax(0,1fr) auto;gap:7px;padding:11px 8px!important}#scr-ranks .rkPortrait106{width:40px;height:40px}#scr-ranks .rkRow106 .rkTro{flex-direction:column;gap:2px}#scr-ranks .rkRow106 .rkTro svg{width:13px;height:13px}.rkSync106{padding:11px!important}.rkSyncTitle106{gap:6px}}

/* Normal connectivity occupies one row. Exceptions retain the full score receipt. */
#scr-ranks .rkSync106.rkSyncCompact112{display:flex;align-items:flex-start;gap:10px;padding:5px 12px!important;margin-bottom:10px}
.rkSyncCompact112 details{flex:1;min-width:0}.rkSyncCompact112 summary{min-height:44px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-size:.78rem;color:#a4e8d0}.rkSyncCompact112 summary::-webkit-details-marker{display:none}.rkSyncCompact112 summary b{color:#e3ecf4;font-size:.85rem}.rkSyncCompact112>.lnk{min-height:44px;flex:none;font-size:.76rem;color:#c4e9f1;text-decoration:underline}
#scr-ranks .rkChase112{margin-top:12px}#scr-ranks .rkChase112>header{padding-bottom:5px}
body.bigText .rkSyncCompact112 summary{font-size:.86rem}body.bigText .rkSyncCompact112 summary b{font-size:.94rem}


/* Source: css/economy106.css */
/* Maxed collections get a destination, with the same static portrait and frame as Profile. */
#scr-shop .wildShop .cosmeticOffer106{grid-column:1/-1;grid-template-columns:76px minmax(0,1fr);align-items:center;justify-items:start;gap:8px 15px;padding:18px 16px!important;text-align:left}
#scr-shop .cosmeticOffer106>.forgePortrait{width:64px;height:64px;margin:6px;grid-column:1;grid-row:1}
.cosmeticOfferBody106{min-width:0;display:grid;gap:5px;grid-column:2;grid-row:1}
#scr-shop .cosmeticOffer106 .oTitle{font-size:1rem;line-height:1.25;overflow-wrap:anywhere;text-align:left}
.cosmeticKicker106{font-size:.69rem;line-height:1.35;font-weight:700;color:#bdd4df}
.cosmeticBalance106{font-size:.78rem;line-height:1.4;color:#a5dfd2}
#scr-shop .cosmeticOffer106 .oHave{font-size:.76rem;line-height:1.4;color:#c4d1df}
#scr-shop .cosmeticOffer106>.btn{grid-column:1/-1;width:100%;margin-top:5px;min-height:44px;white-space:normal;font-size:.87rem}
.shopFrameNote106{padding:12px;border-left:2px solid #8ebac9;background:#132638;line-height:1.5}
.spellDetails106{margin-block:12px}
.spellDetails106>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700}
.spellDetails106>summary::after{content:'+';color:#a4dbcf;font-size:1.2rem}
.spellDetails106[open]>summary::after{content:'−'}
.spellDetails106 .cInfo{margin-top:8px}
body.bigText .cosmeticKicker106,body.bigText .cosmeticBalance106,body.bigText #scr-shop .cosmeticOffer106 .oHave{font-size:.86rem}
body.bigText #scr-shop .cosmeticOffer106 .oTitle{font-size:1.08rem}
body.bigText #scr-shop .cosmeticOffer106>.btn{font-size:1rem}
@media(max-width:350px){#scr-shop .wildShop .cosmeticOffer106{grid-template-columns:64px minmax(0,1fr);gap:8px 12px;padding:15px 12px!important}#scr-shop .cosmeticOffer106>.forgePortrait{width:52px;height:52px}}


/* Source: css/playstyles107.css */
/* One quiet, optional deck disclosure. No battle or shared frame selectors. */
#scr-deck .deckPlan107{background:linear-gradient(145deg,#192e3e,#142431);border-color:#405b6a;box-shadow:inset 0 1px 0 #ffffff08}
#scr-deck .deckPlan107 summary{min-height:48px;gap:8px;padding:7px 0;box-sizing:border-box}
#scr-deck .deckPlan107 summary b{font:inherit;min-width:0}
#scr-deck .deckPlan107 summary .deckPlanStyle107{line-height:1.3;text-align:right;max-width:55%;overflow-wrap:anywhere;color:#9bd9ce}
#scr-deck .deckPlan107 .deckPlanBody107{gap:8px;padding-bottom:12px}
#scr-deck .deckPlan107 .deckPlanLine107{border-left:0;padding-left:0;font-weight:550;color:#d0dce6;overflow-wrap:anywhere}
#scr-deck .deckPlan107 .deckPlanLine107 strong{font-weight:850;color:#f2e7c6}
#scr-deck .deckPlan107 .deckPlanCoverage107{display:grid;gap:7px;margin-top:2px;padding-top:10px;border-top:1px solid #7696a52f}
#scr-deck .deckPlan107 .deckPlanCoverage107 p{font-weight:550;border-left-color:#7eabb8;color:#b7cbd8;overflow-wrap:anywhere}


/* Source: css/ux114.css */
/* Navigation/result rules are owned by their *-owned121.css component. */
.cardsSections114{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:0 0 14px;background:#091523;border:1px solid #68848d70;border-radius:14px}
.cardsSections114 button{font:800 1rem/1.2 var(--ui-body);color:#bed1df;min-height:44px;border:0;border-radius:10px;background:transparent;padding:10px;cursor:pointer}
.cardsSections114 button[aria-selected=true]{color:#f5fff9;background:linear-gradient(#3b625c,#254b46);box-shadow:inset 0 1px #c1f9dc55,0 2px 4px #0005}
.cardsSections114 button:disabled{cursor:default}
.cardsPane114[hidden]{display:none!important}
.cardsPane114 .collHead{margin-top:0}
.collectionInfo114{border-top:1px solid #5c788758;margin-top:18px;padding-top:8px}
.collectionInfo114>summary{min-height:44px;padding:12px 4px;color:#b7d8d1;font-size:.95rem;cursor:pointer}
.collectionInfo114 .collectionCallout{margin-top:8px;border:0;background:none;box-shadow:none;padding:10px 0}
#scr-deck .deckAdvice{box-shadow:none;background:#12263366;border-width:0 0 1px;border-radius:0}
.expeditionHome114{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:13px 16px;min-height:48px;color:#e4efef;background:linear-gradient(120deg,#1b3540,#152435);border:1px solid #7c95866b;border-radius:12px;text-align:left;cursor:pointer;font:800 .92rem/1.35 var(--ui-body)}
.expeditionHome114 span{font-weight:600;font-size:.8rem;color:#b5c9ca;max-width:58%;text-align:right}
.expRules114{margin:8px 0 16px!important;padding:10px 0!important;color:#c6e1df;border-block:1px solid #7d998440}
.accountSettings{padding:14px!important;border:1px solid #70bca075!important;background:linear-gradient(125deg,#183c39,#172b3b)!important;border-radius:13px;margin:0 0 20px!important}
.accountSettings h3{margin:0 0 6px!important}
.accountSettings .sheetNote{font-size:1rem!important;margin:6px 0 12px!important;color:#d8ece6}
.prof .accountSettings{margin-top:16px!important}
.homeMatchWho106>b{font-size:1rem}
.homeMatchWho106>span,.homeMatchStakes106{font-size:.9rem;line-height:1.35}
.homeMatch106{min-height:60px}
.homeMatchMore106{font-size:inherit}
.scoreNotice114{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #b69b6970;border-left:3px solid #e9c674;background:#2a2c28;border-radius:10px;text-align:left;color:#f6dfaa;font:700 .9rem/1.3 var(--ui-body);width:100%}
.scoreNotice114.waiting{border-color:#769baa70;border-left-color:#9cceca;background:#142e37;color:#cae5e8}
.scoreNotice114 b,.scoreNotice114 small{display:block}
.scoreNotice114 small{color:#d1d8d9;font-size:.85rem;font-weight:600;margin-top:4px;line-height:1.4}
.scoreNotice114 button{font:800 .85rem var(--ui-body);color:#a4e9d4;background:transparent;border:0;min-width:52px;min-height:44px;cursor:pointer;margin-left:auto}
#homeSync114:empty,#resultSync114:empty{display:none}
.scoreWarning114 h2{margin:8px 0 14px}
.scoreWarning114 p{line-height:1.5}
.scorePair114{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 0;border-block:1px solid #65868e60;margin:18px 0}
.scorePair114 small,.scorePair114 b{display:block}
.scorePair114 b{font:900 1.45rem/1.2 var(--ui-body);color:#f3d68c;margin-top:6px;overflow-wrap:anywhere}
.scoreLimit114{color:#d6c194}
.scoreActions114{display:grid;gap:8px;margin-top:18px}
#resultSync114{width:100%;max-width:500px;margin:12px 0}
.dfx .rsOut{stroke:#111d2bd0;stroke-width:1.4}
.dfx .rsRim{stroke:#f6edda90;stroke-width:1.25}
.dfx .rsStoneVeins114{opacity:.28}
.dfx .rsMaterial114{opacity:.45}
.dfx[data-tier=common] .gE{stroke-width:3;opacity:.7;filter:none}
.dfx[data-tier=common] .chG{stroke-width:4}
.dfx[data-tier=common] .gG{stroke-width:8}

@media(max-width:359px){.homeMatchWho106>span{font-size:.85rem}}
.rkRefreshFeedback114{font-size:.86rem;line-height:1.45;color:#c6dedc;margin:10px 4px 18px}
.rkRefreshFeedback114:empty{display:none}
.rkSyncTitle106{gap:12px}
.rkSyncTitle106 .lnk{min-height:44px;max-width:45%;white-space:normal;text-align:right}
.scoreWarning114 h2{padding-right:42px;font-size:1.5rem}
.scoreRules114 summary{min-height:44px;padding:10px 0;cursor:pointer;color:#acded4}
.scoreRules114 p{font-size:.9rem;color:#c8d2d8}
.scoreWarning114 #scoreCheck114:empty{display:none}
.scoreWarning114 .scoreActions114{margin-top:10px;gap:6px}


/* Source: css/cards116.css */
/* Cards hierarchy only. Portraits, card tile sizes and battlefield geometry are inherited. */
#scr-deck .cardsTop116{display:flex;align-items:center;gap:10px;margin-bottom:8px;min-width:0}
#scr-deck .cardsTop116 .deckHeading{display:grid;flex:none;gap:3px;margin:0;min-height:28px}
#scr-deck .deckHeading h1{font-size:1.3rem;line-height:1.15}
#scr-deck .deckHeading>small{font:700 .65rem/1.3 var(--ui-body);color:#b9cbd4}
#scr-deck .cardsSections114{flex:1;min-width:0;margin:0;padding:3px;gap:4px}
#scr-deck .cardsSections114 button{padding:8px;min-height:44px;font-size:.94rem}
#scr-deck .deckControl116{display:flex;align-items:center;gap:9px;margin:0 0 9px;min-width:0}
#scr-deck .deckControl116 .dtabs{flex:1;min-width:0;max-width:none;margin:0;padding:3px;gap:3px}
#scr-deck .deckControl116 .dt{flex:1;min-width:0;min-height:44px;padding:6px 3px;font-size:.78rem!important;white-space:normal}
#scr-deck .deckControl116 .avgElixir{flex:none;display:flex;align-items:center;gap:5px;min-width:45px;font-size:.94rem;line-height:1.1}
#scr-deck .deckControl116 .avgElixir>span{display:grid;gap:2px}
#scr-deck .deckControl116 .avgElixir small{font:700 .65rem/1.1 var(--ui-body);color:#b7c1d1}
#scr-deck .deckTitle{margin:0 0 9px;gap:6px;flex-wrap:wrap}
#scr-deck .deckInvalid116{padding:8px 10px;border:1px solid #cda9638c;border-radius:10px;background:#392f27;color:#f4d99e}
#scr-deck .deckInvalid116>span{font-size:.75rem;line-height:1.35}
#scr-deck .dinfo:empty{display:none}
#scr-deck .valhallaChoice{min-height:52px;margin:9px 0 7px;padding:7px 10px;gap:10px;border-radius:12px}
#scr-deck .valhallaChoice .vcIcon{width:30px;flex-basis:30px;height:32px}
#scr-deck .valhallaChoice .vcCopy{gap:2px}
#scr-deck .valhallaChoice .vcCopy small{font-size:.56rem;line-height:1.15;letter-spacing:.06em}
#scr-deck .valhallaChoice .vcCopy b{font-size:1rem;line-height:1.15}
#scr-deck .valhallaChoice .vcChange{font-size:.72rem}
#scr-deck .deckJournal116{display:flex;justify-content:flex-end;margin:2px 0}
#scr-deck .deckJournal116 .lnk{min-height:44px;padding:8px 4px;color:#b4cbc8;font-size:.81rem}
#scr-deck .deckJournal116 .lnk span{padding-left:8px;color:#90d9c7}
#scr-deck .deckCombo100{margin-top:0}

.mbox .cardSheet116>.shTitlebar{display:flex;align-items:baseline;gap:8px;padding:17px 62px 14px 16px;min-height:56px;box-sizing:border-box}
.cardSheet116>.shTitlebar .eyebrow{margin:0;flex:none;letter-spacing:.06em}
.cardSheet116>.shBody{padding:10px 14px 14px}
.mbox .cardSheet116 .shHead{padding:8px 10px!important;gap:12px!important;margin-bottom:8px}
.mbox .cardSheet116 .shRole{gap:6px}
.cardSheet116 .shPrice{gap:9px;margin-top:7px}
.mbox .cardSheet116 .shDesc{margin:8px 0;font-size:.86rem;line-height:1.4}
.cardSheet116 .ci-type-target{padding:8px 10px;margin:8px 0;gap:10px}
.cardSheet116 .ci-type-target:has(>span:only-child){display:flex;padding:5px 10px}
.cardSheet116 .ci-type-target>span:only-child{display:flex;align-items:baseline;gap:7px}
.cardSheet116 .shCritical116{font-size:.79rem;line-height:1.4;color:#d4dfeb;margin:8px 0}
.cardSheet116 .cardActions116{display:grid;gap:7px;margin:10px 0}
.cardSheet116 .cardActions116:empty{display:none}
.cardSheet116 .cardActions116>.btn{width:100%;min-height:44px;white-space:normal}
.cardSheet116 .upgradePreview116,.cardSheet116 .wildPreview116,.cardSheet116 .unlockDetails116{border:1px solid #5e7d886e;border-radius:11px;background:linear-gradient(130deg,#24394b,#172c3c);margin:0;min-width:0;overflow:hidden}
.cardSheet116 .upgradeReady116{border-color:#71c4a584;background:linear-gradient(130deg,#254b44,#183438)}
.cardSheet116 .wildPreview116{border-color:#a493bd66;background:linear-gradient(130deg,#343044,#1c2c3e)}
.cardSheet116 .upgradePreview116>summary,.cardSheet116 .wildPreview116>summary,.cardSheet116 .unlockDetails116>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;box-sizing:border-box;list-style:none;padding:10px 12px;color:#e5f0ee;font:800 .85rem/1.35 var(--ui-body);cursor:pointer}
.cardSheet116 .upgradePreview116>summary::-webkit-details-marker,.cardSheet116 .wildPreview116>summary::-webkit-details-marker,.cardSheet116 .unlockDetails116>summary::-webkit-details-marker{display:none}
.cardSheet116 .upgradePreview116>summary::after,.cardSheet116 .wildPreview116>summary::after,.cardSheet116 .unlockDetails116>summary::after{content:'+';font-size:1rem;line-height:1;flex:none;color:#bedad7}
.cardSheet116 .upgradePreview116[open]>summary::after,.cardSheet116 .wildPreview116[open]>summary::after,.cardSheet116 .unlockDetails116[open]>summary::after{content:'−'}
.cardSheet116 .upgradePreview116>summary>span{flex:1;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}
.cardSheet116 .upgradePreview116>summary b{font-size:.76rem;color:#b5d6d0}
.cardSheet116 .upgradePreview116>summary small,.cardSheet116 .wildPreview116>summary>span{font:700 .72rem/1.3 var(--ui-body);color:#bfd4d9}
.cardSheet116 .upgradeReady116>summary small{color:#b4edc9}
.mbox .cardSheet116 .upgradePreview116 .upBlock,.mbox .cardSheet116 .wildPreview116 .wildConvert104{margin:0;padding:11px 12px;border:0;border-top:1px solid #7998a040;border-radius:0;background:#101f2a50;box-shadow:none}
.cardSheet116 .upgradeCosts116,.cardSheet116 .unlockDetails116>p{font-size:.82rem;line-height:1.5;margin:8px 0;color:#d2e1e5}
.cardSheet116 .upgradeCosts116 b{color:#f3dda9}
.cardSheet116 .lockedActions116{display:grid;gap:7px}
.mbox .cardSheet116 .lockedActions116>.upBlock{margin:0;padding:10px 12px;border-color:color-mix(in srgb,var(--rc) 50%,transparent)}
.cardSheet116 .lockedActions116 .ubTop{gap:8px;flex-wrap:wrap}
.cardSheet116 .lockedActions116 .ubTop>span{font-size:.78rem}
.cardSheet116 .lockedActions116 .srBar{margin:8px 0}
.cardSheet116 #shTrack{width:100%;min-height:44px;margin:2px 0 0;white-space:normal}
.cardSheet116 .unlockDetails116{padding:0;background:#132d34;border-color:#60847d5c}
.cardSheet116 .unlockDetails116>p,.cardSheet116 .unlockDetails116>.btn{margin:10px 12px}
.cardSheet116 .unlockDetails116>.btn{width:calc(100% - 24px);white-space:normal}
.cardSheet116 .unlockDetails116 .trackerChoice104{padding:0;font-size:.8rem}
.mbox .cardSheet116 .detailsTactics116,.mbox .cardSheet116 .mBlockD{margin:8px 0}
.mbox .cardSheet116 .detailsTactics116>summary,.mbox .cardSheet116 .mBlockD>summary{font-size:.86rem!important;min-height:46px}
.cardSheet116 .tacticsCopy116{font-size:.83rem;line-height:1.5}
.mbox .cardSheet116>.shBtns:not(:has(button)):not(:has(.roNote)){display:none}
.cardSheet116 .duCycle{padding:9px;margin:10px 0}
.cardSheet116 .duStart{margin-bottom:7px}
.cardSheet116 .duPhase{padding:8px;gap:3px}
.cardSheet116 .duRepeat{margin-top:7px}
.cardSheet116 summary:focus-visible{outline:3px solid #a6f3dd;outline-offset:-3px}
body.bigText #scr-deck .deckHeading>small{font-size:.75rem}
body.bigText #scr-deck .deckControl116 .dt{font-size:.88rem!important}
body.bigText #scr-deck .valhallaChoice .vcCopy small{font-size:.65rem}
body.bigText #scr-deck .valhallaChoice .vcCopy b{font-size:1.1rem}
body.bigText #scr-deck .valhallaChoice .vcChange{font-size:.8rem}
body.bigText .mbox .cardSheet116 .shDesc,body.bigText .cardSheet116 .upgradeCosts116,body.bigText .cardSheet116 .shCritical116,body.bigText .cardSheet116 .unlockDetails116>p{font-size:1rem}
body.bigText .cardSheet116 .upgradePreview116>summary,body.bigText .cardSheet116 .wildPreview116>summary,body.bigText .cardSheet116 .unlockDetails116>summary{font-size:1rem}
body.bigText .cardSheet116 .upgradePreview116>summary b,body.bigText .cardSheet116 .upgradePreview116>summary small,body.bigText .cardSheet116 .wildPreview116>summary>span,body.bigText .cardSheet116 .lockedActions116 .ubTop>span{font-size:.87rem}
body.bigText .mbox .cardSheet116 .detailsTactics116>summary,body.bigText .mbox .cardSheet116 .mBlockD>summary{font-size:1rem!important}
@media(max-width:359px){#scr-deck .deckControl116{gap:6px}.mbox .cardSheet116>.shTitlebar{padding-left:14px}.cardSheet116>.shBody{padding-inline:12px}.cardSheet116 .upgradePreview116>summary{gap:5px;padding-inline:10px}}

/* Shared disclosure affordance and compact context at the tracking decision. */
.cardSheet116 .trackerContext119{display:grid;gap:3px;margin:9px 0 7px;font-size:.78rem;line-height:1.35;color:#c6dfdc}
.cardSheet116 .trackerContext119 b{color:#a6e4d1;font-size:.8rem}.cardSheet116 .trackerContext119 small{font-size:.72rem;color:#b8c9d2}
.mbox .cardSheet116 .exactStats116{border:1px solid #65858e70;border-radius:10px;background:#142b3a;margin:10px 0}
.mbox .cardSheet116 .exactStats116>summary{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:46px;padding:10px 12px;list-style:none;cursor:pointer;color:#daeeeb;font-size:.86rem}
.cardSheet116 .exactStats116>summary::-webkit-details-marker{display:none}
.cardSheet116 .exactStats116>summary::after{content:'+';flex:none;color:#b9e0d8;font-size:1rem}
.cardSheet116 .exactStats116[open]>summary::after{content:'−'}
body.bigText .cardSheet116 .trackerContext119{font-size:.87rem}body.bigText .cardSheet116 .trackerContext119 b{font-size:.9rem}body.bigText .cardSheet116 .trackerContext119 small{font-size:.8rem}


/* 162: put the real upgrade decision together; optional explanations follow. */
.cardSheet116 .upgradeDecision162 .upDelta{margin:0 0 10px;line-height:1.5}
.cardSheet116 .upgradeDecision162 #shUp{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;width:100%;min-height:48px;margin:0;padding:10px 12px;white-space:normal}
.upgradePrice162{display:inline-flex;gap:5px;align-items:center;white-space:nowrap;font-variant-numeric:tabular-nums}
.cardSheet116 .upgradeFacts162{margin-top:8px;border-top:1px solid #b3d3d82b}
.cardSheet116 .upgradeFacts162>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:8px;font:700 .8rem/1.4 var(--ui-body);color:#c0d5d7;cursor:pointer;list-style:none}
.cardSheet116 .upgradeFacts162>summary::-webkit-details-marker{display:none}
.cardSheet116 .upgradeFacts162>small,.cardSheet116 .upgradeShortfall162{display:block;font-size:.78rem;line-height:1.5;color:#c0d5d7}
.cardSheet116 .upgradeShortfall162{margin-top:8px;color:#f1d69b}
.collectionFilterLabel162{font:800 .8rem/1.35 var(--ui-body);color:#b8ced8}
#meta .filterElixir162{display:inline-flex;vertical-align:middle;margin-right:4px}
#meta .filterElixir162 svg{width:14px;height:18px;margin:0}

/* Source: css/modes116.css */
/* Mode briefings. All selectors are confined to menu modals. */
.expedition116>h2{margin:6px 0 10px;font-size:1.55rem}
.expedition116 .expLead{margin:8px 0 12px;font-size:.9rem}
.expedition116 .expHow{gap:9px;margin:12px 0 16px;font-size:.84rem;line-height:1.45}
.expedition116 .expHow li{padding-left:10px}
.expedition116 .expPrize{padding:10px 12px;gap:10px}
.expedition116 .expPrize b{font-size:1.35rem}
.expedition116 .expRules{margin:8px 0}
.expedition116 .expRules>summary{min-height:44px;font-size:.9rem}
.expedition116 .expActions{bottom:-16px;margin-top:10px}
.expedition116 .expActions .btn{min-height:44px;margin-top:5px;padding:10px}
.expedition116 .expRunStatus116{display:grid;gap:4px;margin:10px 0 14px;padding:10px 12px;border:1px solid #77b9a964;border-radius:12px;background:linear-gradient(120deg,#24463e,#173343);font-size:.86rem;color:#cce3de}
.expedition116 .expRunStatus116 b{color:#ededd0;font-size:1rem}
.expedition116 .expObjective116{font-weight:800;font-size:.94rem;color:#f1dfb4;margin:8px 0 10px}
.expedition116 .expRuleLine.expRules114{font-size:.78rem!important;padding:8px 0!important;margin:8px 0 10px!important}
.expBattleBrief116 .expBrief{padding:0 10px;margin:8px 0;border-left-width:3px}
.expBattleBrief116 .expScout>summary{display:flex;align-items:center;min-height:46px;padding:8px 0;color:#f4d8d5;font-size:.9rem;font-weight:800;cursor:pointer;list-style:none}
.expBattleBrief116 .expScout>summary::-webkit-details-marker{display:none}
.expBattleBrief116 .expScout>summary::after{content:'+';margin-left:auto;padding-left:10px;color:#e9bdba}
.expBattleBrief116 .expScout[open]>summary::after{content:'−'}
.expBattleBrief116 .expScout>summary small{font-size:.72rem;color:#d4b8c0;margin-left:8px;font-weight:600}
.expBattleBrief116 .expTeam{margin:10px 0;padding:10px 8px}
.expBattleBrief116 .expTeam>p{margin:4px 0 8px}
.expBattleBrief116 .expTeamGrid{margin-top:8px}
.expBattleBrief116 .expNext{font-size:.82rem;margin:10px 0}
.expBattleBrief116 .expConsequence116{font-size:.75rem;line-height:1.35;text-align:center;margin:2px 0 7px;color:#e2d3ad}
#mmodal .mbox:has(>.prestigeChallenge116){display:flex;flex-direction:column;height:calc(100dvh - 30px);max-height:calc(100dvh - 30px)!important;min-height:0;padding:0!important;overflow:hidden;transform-origin:50% 100%;animation:prestigeEnter116 .18s ease-out both}
/* The generic sheet translates 40px below its final bounds while entering.
   Keep this spending panel and its terms inside the phone for the whole entrance. */
@keyframes prestigeEnter116{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
.prestigeChallenge116{display:flex;flex-direction:column;flex:1 1 0;width:100%;max-width:none;max-height:100%;min-height:0;margin:0;padding:0;overflow:hidden}
.prestigeChallenge116 .modeBody116{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 16px 12px;scrollbar-width:thin;scroll-padding:12px}
.prestigeChallenge116 .modeBody116>.eyebrow{display:block;padding-right:46px;font-size:.65rem;color:#cdb7ed}
.prestigeChallenge116 .prestigeHeader116{display:flex;align-items:center;gap:10px;margin:10px 0 12px;padding-right:32px}
.prestigeChallenge116 .prestigeHeader116>.prestigeCrest{width:52px;min-width:52px;height:auto;margin:0}
.prestigeChallenge116 .prestigeHeader116 h2{font-size:1.4rem;margin:0 0 5px;line-height:1.15}
.prestigeChallenge116 .prestigeHeader116 p{font-size:.79rem;line-height:1.4;margin:0;color:#c7cddd}
.prestigeChallenge116 .prestigeRival{margin:10px 0;padding:10px}
.prestigeChallenge116 .prestigeQuota{margin:9px 0;font-size:.76rem}
.prestigeChallenge116 details{padding:0;margin-top:5px}
.prestigeChallenge116 details>summary{display:flex;align-items:center;min-height:44px;font-size:.88rem}
.prestigeChallenge116 .prestigeCommit116{flex:none;padding:10px 14px max(12px,env(safe-area-inset-bottom,0px));background:linear-gradient(#202f40,#152436);border-top:1px solid #8579957a;box-shadow:0 -4px 15px #060e1933}
.prestigeChallenge116 .prestigePrizes{margin:0 0 8px;gap:7px}
.prestigeChallenge116 .prestigePrizes>div{padding:8px 5px;gap:3px}
.prestigeChallenge116 .prestigePrizes small{font-size:.58rem;line-height:1.3;letter-spacing:.025em}
.prestigeChallenge116 .prestigePrizes b{font-size:.97rem;line-height:1.3}
.prestigeChallenge116 .prestigePrice{padding:8px 10px;font-size:.78rem;gap:5px}
.prestigeChallenge116 .prestigePrice b{font-size:1rem}
.prestigeChallenge116 .prestigeTerms94{font-size:.75rem;margin:6px 1px;line-height:1.35}
.prestigeChallenge116 .prestigeExit104{font-size:.75rem;margin:6px 0 8px;padding:7px 9px;line-height:1.35}
.prestigeChallenge116 .prestigeActions{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0}
.prestigeChallenge116 .prestigeActions .btn{min-height:46px;padding:10px;font-size:.88rem}
.prestigeChallenge116 #prestigeBack{width:auto;min-width:58px}
.mbox:has(>.prestigeChallenge116)>.mClose{z-index:30;width:44px!important;height:44px!important;top:10px!important;right:10px!important}
body.bigText .expedition116 .expHow,body.bigText .expedition116 .expLead,body.bigText .expedition116 .expRuleLine.expRules114,body.bigText .expedition116 .expRunStatus116,body.bigText .expBattleBrief116 .expNext{font-size:1rem!important}
body.bigText .expBattleBrief116 .expConsequence116{font-size:.88rem}
body.bigText .expBattleBrief116 .expScout>summary{font-size:1rem}
body.bigText .expBattleBrief116 .expScout>summary small{font-size:.85rem}
body.bigText .prestigeChallenge116 .prestigePrizes small{font-size:.69rem}
body.bigText .prestigeChallenge116 .prestigePrice,body.bigText .prestigeChallenge116 .prestigeTerms94,body.bigText .prestigeChallenge116 .prestigeExit104,body.bigText .prestigeChallenge116 .prestigeQuota{font-size:.87rem}
body.bigText .prestigeChallenge116 .prestigeActions .btn{font-size:1rem}
@media(max-height:610px){.prestigeChallenge116 .prestigeCommit116{padding-top:8px}.prestigeChallenge116 .prestigePrizes>div{padding:6px 4px}.prestigeChallenge116 .prestigeExit104{margin-bottom:6px}.prestigeChallenge116 .prestigeHeader116>.prestigeCrest{width:44px;min-width:44px}}

/* A deck review starts with the player's team. Its header and commitment
   remain stable while the optional opponent briefing and rules scroll. */
#mmodal .mbox:has(>.expBattleBrief162){
 display:grid;grid-template-columns:minmax(0,1fr);
 grid-template-rows:auto minmax(0,1fr) auto;
 height:min(800px,calc(100dvh - 28px));padding:0!important;overflow:hidden;
}
#mmodal .expBattleBrief162{display:contents}
#mmodal .expBattleBrief162>.expHead162{grid-column:1;grid-row:1;padding:16px 64px 12px 16px;border-bottom:1px solid #56738a55}
.expHead162>.eyebrow{display:block;font-size:.65rem;line-height:1.4;color:#a9cfc9;letter-spacing:.07em}
#mmodal .expHead162>h2{margin:6px 0 0!important;padding:0;font-size:1.35rem!important;line-height:1.2!important}
#mmodal .mbox:has(>.expBattleBrief162)>.mClose{
 position:relative!important;top:auto!important;right:auto!important;
 grid-column:1;grid-row:1;align-self:center;justify-self:end;
 width:44px!important;height:44px!important;margin:0 12px 0 0!important;z-index:5;
}
.expBattleBrief162>.expBody162{grid-column:1;grid-row:2;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:12px 14px;scroll-padding:12px}
.expBattleBrief162 .expBody162>.expTeam{margin:0 0 10px;padding:10px 8px;border-radius:var(--fl-inset-radius,8px)}
.expBattleBrief162 .expTeam>p{line-height:1.35;margin:4px 0 8px}
.expBattleBrief162 .expBrief{border-radius:var(--fl-inset-radius,8px)}
.expBattleBrief162 .expBody162>.expRules{margin-bottom:0}
.expBattleBrief162>.expCommit162{
 grid-column:1;grid-row:3;position:static;z-index:2;margin:0;padding:10px 14px 14px;
 border-top:1px solid #6f806b;background:linear-gradient(#1c3040,#102131);
}
.expBattleBrief162 .expConsequence116{margin:0 0 8px;text-align:left;font-size:.8rem;line-height:1.4;color:#e2d3ad}
.expControls162{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;align-items:stretch}
.expBattleBrief162 .expControls162>.btn{min-height:44px;margin:0;padding:10px 8px;white-space:normal;line-height:1.3}
#mmodal .expControls162>#expLater{background:transparent!important;box-shadow:none!important;border-color:#71899c6b!important;color:#c9dfdf!important}
body.bigText .expBattleBrief162 .expConsequence116{font-size:.94rem}
body.bigText .expHead162>.eyebrow{font-size:.76rem;letter-spacing:.03em}

/* Challenges remain inspectable when unavailable; reference material has
   a quieter treatment than the tactile play-mode rows. */
.modes116>.modeUnavailable162{background:linear-gradient(125deg,#24333f,#162735);border-color:#788a9259;box-shadow:inset 0 1px #d0f3e314}
.modes116>.modeUnavailable162>b{color:#e1d6bd}
.modes116>.modeUnavailable162>i{color:#cbbc94}
.modes116>.modeUnavailable162>i>.mi{width:18px;height:18px;display:block}
.modes116>.modeReference162{
 display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;
 margin:14px 0 0;padding:10px 6px;border:0;border-top:1px solid #7b9b9a55;border-radius:0;
 background:transparent;box-shadow:none;color:#b8e0d3;font:750 .95rem/1.35 var(--ui-body);text-align:left;cursor:pointer;
}
.modeReference162>i{font-style:normal;font-size:1.1rem;flex:none}
.modes116>.modeReference162:focus-visible{outline:2px solid #afffec;outline-offset:2px}
.modes116>.modeReference162:hover{color:#e7fff5}


/* Source: css/ui116.css */
/* Menu information hierarchy. No battlefield or hand geometry is changed. */
#meta.home #scr-home{gap:6px;padding:4px var(--home-gutter) 10px;min-height:100%}
#meta.home .homeArena{min-height:58px;border-radius:14px}
#meta.home .homeArena .peCrest{width:54px;height:54px}
#meta.home .homeArenaText{gap:4px}
#meta.home .homeArenaText>b{font-size:1rem}
#meta.home .homeWorld{flex:1 0 68px;min-height:68px}
#meta.home .homeMapModes116{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;flex:none}
#meta.home .homeMapModes116>button{position:static;inset:auto;display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:44px;width:auto;max-width:none;padding:8px 12px;color:#dcebe6;background:linear-gradient(135deg,#254238ed,#182f37ef);border:1px solid #84ad9688;border-radius:12px;font:750 .85rem/1.2 var(--ui-body);cursor:pointer;text-align:left}
#meta.home .homeMapModes116>button>b{font:inherit;color:#f1e5b9;min-width:0}
#meta.home .homeMapModes116>button>span{font-size:1rem}
#meta.home .hBottom{gap:6px}
#meta.home .homeDeck{padding:3px;border-radius:13px}
#meta.home .homeDeckChoice{min-height:48px;gap:8px}
#meta.home .homeDeckPortrait{width:44px;height:44px}
#meta.home .homeDeckArrow{min-height:44px}
#meta.home .homeDeckText{gap:2px}
#meta.home .homeMatch106{min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:6px 10px;gap:8px;border-radius:10px;margin:0}
#meta.home .homeMatchWho106{display:flex;align-items:center;gap:6px;min-width:0;flex:1}
#meta.home .homeMatchWho106>small{font-size:.65rem;white-space:nowrap;color:#bed6d2}
#meta.home .homeMatchWho106>b{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#meta.home .homeMatchWho106>span{display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:.8rem;color:#ecd58e}
#meta.home .homeMatchWho106 .mi{width:13px;height:13px}
#meta.home .homeMatchMore106{font-size:.76rem;white-space:nowrap}
#meta.home #battleBtn{min-height:64px;padding:8px 12px;margin:0;border-radius:16px}
#meta.home #battleBtn>b{font-size:1.8rem;line-height:1.1}
#meta.home #battleBtn>small{font-size:.8rem;line-height:1.25;margin-top:4px}
#meta.home .progress116{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin:0;padding:7px 10px;font:700 .78rem/1.2 var(--ui-body);border:0;background:#101c28d9;box-shadow:none;color:#c8d6df;border-radius:10px}
.progress116>span:last-child{color:#aacec6;white-space:nowrap}.progress116 i{font-style:normal;margin-left:3px}
#meta.home #hDrop{min-height:68px;height:68px;width:122px;bottom:0;right:8px;display:grid;grid-template-columns:38px 1fr;align-items:center;padding:3px 0;gap:3px;pointer-events:auto}
#meta.home #hDrop .runeEmblem{width:38px;height:52px;margin:0}
#meta.home #hDrop .homeDropLabel{min-width:0;padding:6px 4px;font-size:.7rem}
#meta.home #hDrop .homeDropLabel small{font-size:.6rem}
#meta.home #hDrop .homeDropCount{right:auto;left:20px;top:0;min-width:20px;height:20px;font-size:.7rem}
#meta.home #scr-home:has(.scoreNotice114) .homeWorld{flex-basis:0;min-height:0}
#meta.home #scr-home:has(.scoreNotice114) #hDrop{display:none}
#meta.home #scr-home:has(.scoreNotice114) .scoreNotice114{padding:7px 9px;font-size:.8rem}
#meta.home #scr-home:has(.scoreNotice114) .scoreNotice114 small{font-size:.75rem;margin-top:2px}
#meta.home #scr-home .homeWorld.hasMapWelcome98,#meta.home #scr-home:has(.firstStep) .homeWorld{min-height:80px!important;flex-basis:80px!important}
#meta.home .homeWorld.hasMapWelcome98 #hDrop,#meta.home #scr-home:has(.firstStep) #hDrop{display:none}
#meta.home .homeWorld.hasMapWelcome98 .mapWelcome98{width:100%;right:0;padding:5px 6px 5px 12px;min-height:76px;align-items:center}
#meta.home .mapWelcome98>.mapInvite116{display:grid;gap:3px;width:auto;height:auto;min-height:62px;border:0;background:none;color:#f2e8c8;font:800 .95rem/1.2 var(--ui-body);text-align:left;border-radius:4px;padding:0;cursor:pointer}
#meta.home .mapWelcome98>.mapInvite116 b{font:inherit;margin:0}.mapInvite116>span{font-size:.78rem;color:#a8e0d2}
#meta.home .mapWelcome98>#mapDismiss98{align-self:center}
#meta.home .homeWorld #firstStepSlot{position:absolute;inset:auto 0 0;pointer-events:auto}
#meta.home .homeWorld .firstStep{padding-block:5px}.homeWorld .firstStepOpen{min-height:56px}
#meta.home #scr-home:has(.scoreNotice114) .homeWorld{min-height:0!important;flex-basis:0!important}
#meta.home #scr-home:has(.scoreNotice114) .homeWorld #firstStepSlot,#meta.home #scr-home:has(.scoreNotice114) .mapWelcome98{display:none}
.modes116 h2{margin:6px 30px 20px 0}.modeChoice116{display:grid;grid-template-columns:1fr auto;gap:5px 12px;min-height:76px;width:100%;padding:14px;margin:9px 0;text-align:left;background:linear-gradient(125deg,#233c4b,#122739);border:1px solid #77999a80;border-radius:14px;color:#fff0cf;cursor:pointer;font:850 1rem/1.25 var(--ui-body);box-shadow:inset 0 1px #d0f3e329,0 2px 0 #061320}
.modeChoice116 span{grid-column:1;font-size:.88rem;font-weight:600;color:#c0d7dc}.modeChoice116 i{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;color:#abd5c4}.modeLocked116{font-size:.9rem;color:#b5c5cc;padding:10px}.modes116>.btn{margin-top:15px}
.rankScopes116{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:#0b1825;border:1px solid #526d7b;border-radius:12px;padding:3px;margin:0 0 8px}
.rankScopes116>button{min-width:0;min-height:44px;padding:8px 4px;border:0;border-radius:8px;font:850 .9rem/1.2 var(--ui-body);color:#b9cbd7;background:none;cursor:pointer}
.rankScopes116>button[aria-pressed=true]{background:linear-gradient(#335d52,#204a41);box-shadow:inset 0 1px #b6eed855,0 2px 3px #0005;color:#edfff7}
#scr-ranks .rankStatus116{margin:0 0 8px;padding:0 10px!important;border:1px solid #68878b55;border-radius:10px;background:#152332;box-shadow:none}
.rankStatus116 .rkSyncTitle106{min-height:40px;margin:0;gap:8px}.rankStatus116 .rkSyncTitle106>b{font-size:.82rem}.rankStatus116 .rkSyncTitle106 .lnk{font-size:.76rem;min-height:44px}
.rkSyncDetails116{border-top:1px solid #6b879440;font-size:.85rem}.rkSyncDetails116 summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#aad6ce}
.rankStatus116.synced{display:flow-root}
.rankStatus116.synced .rkSyncTitle106{float:right;width:calc(100% - 98px)}
.rankStatus116.synced .rkSyncTitle106 .lnk{max-width:none;min-width:0;flex-shrink:1;white-space:normal;text-align:right;padding:4px 0;font-size:.76rem;line-height:1.2}
.rankStatus116.synced .rkSyncDetails116{border:0}
.rankStatus116.synced .rkSyncDetails116:not([open]) summary{width:98px;font-size:.76rem}
.rankStatus116 .rankRisk116{margin:0 0 6px;line-height:1.35;color:#f1d79e}.rankStatus116 .rankScoreLine116{margin:0 0 8px;font-size:.85rem}
#scr-ranks .rkSection106{margin:0 0 12px}
#scr-ranks .rkSection106[hidden]{display:none}
.rankSummary116{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:7px 3px 10px;color:#e8eddc}.rankSummary116>b{font-size:.92rem}.rankSummary116 small{font-size:.72rem;color:#a8c2c6;align-self:center}.rankSummary116 p{grid-column:1/-1;font-size:.8rem;margin:0;color:#b5d2ce;line-height:1.3}
.rankSummary116 .rankPosition143{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 8px}.rankPosition143 .lnk{min-height:44px;padding:6px 0;font-size:.82rem}
#scr-ranks .rkRow106{grid-template-columns:minmax(32px,max-content) 42px minmax(0,1fr) auto;min-height:70px;margin:0 0 7px;padding:8px 10px;gap:8px;border-radius:13px}
#scr-ranks .rkSection106 .rkList{gap:0}
#scr-ranks .rkRow106 .rkAv{width:40px;height:44px}#scr-ranks .rkRow106 .rkPos{width:auto;min-width:0;font-size:.9rem}#scr-ranks .rkRow106 .rkTro{font-size:.94rem}#scr-ranks .rkRow106 .rkName b{font-size:.92rem;gap:5px}#scr-ranks .rkRow106 .rkName small{font-size:.75rem}#scr-ranks .rkRow106 .lbBadge{font-size:.62rem}
.settings116 .stTitlebar .eyebrow{display:none}.settings116 .stTitlebar{padding-bottom:12px}
.settings116 .stBody{gap:0}.settingsCategory116{border:1px solid #71959965;border-radius:12px;background:linear-gradient(125deg,#21384a,#122538);margin:0 0 9px;overflow:clip}
.settingsCategory116>summary{list-style:none;position:relative;min-height:62px;padding:12px 36px 11px 14px;cursor:pointer;display:grid;align-content:center;gap:4px}
.settingsCategory116>summary::-webkit-details-marker{display:none}.settingsCategory116>summary::after{content:'›';position:absolute;right:15px;top:20px;font-size:1.15rem;color:#a9dacb}.settingsCategory116[open]>summary::after{transform:rotate(90deg)}
.settingsCategory116>summary>b{font-size:1rem;color:#e3f2ee}.settingsCategory116>summary>small{font-size:.8rem;color:#aac4d0}.settingsCategory116>.stGroup{margin:0;padding:12px;border-top:1px solid #71899e44}.settingsCategory116>.stGroup>h3{display:none}.settingsCategory116>.stAdvanced{margin:8px 12px 12px}
.accountSettings.accountCompact116{display:grid;grid-template-columns:1fr auto;gap:4px 9px;align-items:center;padding:10px 12px!important;margin:0 0 12px!important;background:linear-gradient(125deg,#244c43,#172f40)!important}
.accountSettings.accountCompact116 h3{grid-column:1;margin:0!important;font-size:.92rem!important}
.accountSettings.accountCompact116 .sheetNote{grid-column:1;margin:0!important;font-size:.8rem!important;line-height:1.35!important}
.accountSettings.accountCompact116>.btn{grid-column:2;grid-row:1/3;width:auto;min-height:44px;font-size:.82rem;padding:9px;max-width:104px}
.prof .personalise116{margin:0 0 10px;border-color:#8dafac80;background:#1d3849}.prof .personalise116>summary{color:#e7e5b6}
body.bigText #meta.home .homeDeckText b{font-size:1.02rem}body.bigText #meta.home .homeDeckText small{font-size:.8rem}
body.bigText #meta.home .homeMapModes116>button{font-size:.9rem}body.bigText #meta.home .homeMatchWho106>b{font-size:.94rem}body.bigText #meta.home .progress116{font-size:.84rem}
@media(max-width:359px){#meta.home{--home-gutter:10px}.rankSummary116{grid-template-columns:1fr}.rankSummary116 p{grid-column:1}.rankSummary116 small{font-size:.7rem}#scr-ranks .rkRow106{gap:5px;padding-inline:7px}}
@media(max-height:610px){#meta.home #scr-home{gap:4px;padding-bottom:6px}#meta.home .hBottom{gap:4px}}

.expedition116 .expTip119{margin:8px 0 12px;font-size:.84rem;line-height:1.4;color:#bfd1d9}
.expedition116 .expTip119>b{color:#a8dccb;margin-right:5px}
body.bigText .expedition116 .expTip119{font-size:.94rem}
#scr-shop .shopCurrent119 .offer.sold{opacity:.88}
#scr-shop .oSold:focus-visible{outline:3px solid #a6f3dd;outline-offset:3px;border-radius:5px}


/* Source: css/navigation-owned121.css */
/* Component owner: navigation. Original cascade order, no visual redesign. */
.mtabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px 8px calc(8px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--bg) 88%,#000);border-top:1px solid var(--line);width:100%}
.mtabs{position:relative;z-index:2}
.mtabs{background:linear-gradient(180deg,#183651,#0d1f30)!important;border-top:2px solid var(--ol)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.08),0 -6px 18px rgba(0,0,0,.35);gap:6px;padding:7px 8px calc(9px + env(safe-area-inset-bottom,0px))!important}
@media (min-width:700px){
.mtabs{width:min(620px,100%)!important;margin:0 auto;border-radius:18px 18px 0 0;border-left:2px solid var(--ol)!important;border-right:2px solid var(--ol)!important}
}
.mtabs{background:rgba(6,14,30,.82)!important;border-top:1px solid rgba(255,255,255,.08)!important;box-shadow:0 -10px 30px rgba(0,0,0,.4)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
@media (min-width:700px){
.mtabs{border:1px solid rgba(255,255,255,.08)!important;border-bottom:0!important}
}
.mtabs .tab{min-width:0}
.mtabs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;flex-wrap:nowrap!important;gap:4px!important}
.mtabs .tab{padding-left:0!important;padding-right:0!important;font-size:.64rem!important;letter-spacing:.04em!important;white-space:nowrap}
#meta .mtabs{grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%!important;max-width:none!important;border-radius:0!important;gap:4px;padding:6px max(8px,calc((100vw - 620px)/2)) calc(7px + env(safe-area-inset-bottom,0px))!important;background:linear-gradient(#122239,#0b1525)!important;border-top:1px solid #30415a!important;box-shadow:0 -8px 24px #050b1855!important;backdrop-filter:none}
#meta .tab{min-height:53px;gap:4px;padding:7px 0 5px!important;border:1px solid transparent!important;border-radius:13px!important;transform:none!important;color:#9eb3ce!important;text-shadow:none!important;transition:color .16s,background .16s}
#meta .tab .tabLabel{font:900 .69rem/1 var(--ui-body)!important;letter-spacing:.01em;text-transform:none}
#meta .tab .tico{height:22px;display:grid;place-items:center}
#meta .tab .tico svg{width:21px;height:21px;fill:currentColor!important;filter:none!important;transform:none!important}
#meta .tab.on{background:linear-gradient(#24483f,#173c36)!important;color:#b9ffed!important;border-color:#4b9b89!important;box-shadow:inset 0 1px 0 #ffffff14!important}
#meta .tab.locked{opacity:.65}
#meta .tab .dot{width:7px!important;height:7px!important;top:6px!important;right:calc(50% - 18px)!important;box-shadow:0 0 0 3px #122239!important;background:#ffaf82!important}
@media(prefers-reduced-motion:reduce){
#meta .tab{transition:none!important}
}
body.fxLow #meta .tab{transition:none!important}
#meta .tab[data-t="home"] .tico{color:#e9cb88}
#meta .tab[data-t="home"].on{background:linear-gradient(#5a4e30,#342e22)!important;color:#ffe4a1!important;border-color:#baa065!important;box-shadow:inset 0 1px #ffefbf35,0 2px 0 #050c16!important}
#meta .tab[data-t="shop"] .shopNew{background:#85dece!important}
#meta .tab:focus-visible,.roadSectionNav .btn:focus-visible{outline:2px solid #a0ece0;outline-offset:-3px}
#meta .tab .tabLabel{max-width:100%;white-space:nowrap;line-height:1.3!important}
.roadSectionNav{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:0 0 16px;border:1px solid #475568;border-radius:15px;background:#0c1826;box-shadow:0 4px 10px #050b1255}
#meta .roadSectionNav .btn{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;white-space:normal;font-size:.85rem;line-height:1.25;padding:8px 5px!important;border:1px solid transparent!important;border-radius:11px;box-shadow:none!important;background:#101c2a!important;color:#bdcbd9!important}
#meta .roadSectionNav .btn[aria-pressed="true"]{background:linear-gradient(#40695f,#254a44)!important;border-color:#9bdfcb!important;color:#f1fff9!important;box-shadow:inset 0 1px #d5ffee45,0 2px 4px #0005!important}
#meta .roadSectionNav .btn[aria-pressed="true"]::after{content:"";position:absolute;bottom:3px;left:calc(50% - 12px);width:24px;height:3px;border-radius:3px;background:#bcf5dc;pointer-events:none}
#meta .roadSectionCount{display:inline-grid;place-items:center;flex:none;min-width:20px;height:20px;padding:0 4px;border-radius:7px;box-sizing:border-box;background:#f1d58e;color:#2d271b;font-size:.7rem;font-weight:900;line-height:1;box-shadow:inset 0 1px #fff8}
#meta .mtabs{flex:0 0 auto;min-height:67px;box-sizing:border-box}
#meta .mtabs .tab{min-width:0;align-content:center;grid-template-rows:22px auto}

/* Peer page-section controls use one selected material and underline. Gold
   stays reserved for the principal action; rarity keeps its own colors. */
:root{--fl-segment-selected:linear-gradient(#40695f,#254a44);--fl-segment-edge:#9bdfcb;--fl-segment-ink:#f1fff9;--fl-segment-marker:#bcf5dc}
#meta :is(#scr-road,#scr-ranks,#scr-quests,#scr-deck) :is(.roadSectionNav,.dailyJump,.cardsSections114){
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;
 border:1px solid #475568;border-radius:15px;background:#0c1826;
}
#meta :is(#scr-road,#scr-ranks,#scr-quests,#scr-deck) :is(.roadSectionNav,.dailyJump,.cardsSections114)>button{
 position:relative;display:flex;align-items:center;justify-content:center;gap:6px;
 min-width:0;min-height:44px;padding:8px 5px 10px!important;white-space:normal;
 font:800 .9rem/1.25 var(--ui-body);color:#bdcbd9!important;
 border:1px solid transparent!important;border-radius:11px;
 background:#101c2a!important;box-shadow:none!important;
}
#meta :is(#scr-road,#scr-ranks,#scr-quests,#scr-deck) :is(.roadSectionNav,.dailyJump,.cardsSections114)>button:is([aria-selected="true"],[aria-pressed="true"]){
 background:var(--fl-segment-selected)!important;border-color:var(--fl-segment-edge)!important;
 color:var(--fl-segment-ink)!important;box-shadow:inset 0 1px #d5ffee45,0 2px 4px #0005!important;
}
#meta :is(#scr-road,#scr-ranks,#scr-quests,#scr-deck) :is(.roadSectionNav,.dailyJump,.cardsSections114)>button:is([aria-selected="true"],[aria-pressed="true"])::after{
 content:'';position:absolute;bottom:3px;left:calc(50% - 12px);width:24px;height:3px;
 border-radius:3px;background:var(--fl-segment-marker);pointer-events:none;
}
#meta :is(.roadSectionNav,.dailyJump,.cardsSections114)>button:focus-visible{outline:2px solid #afffec;outline-offset:-3px}
body.bigText #meta :is(#scr-road,#scr-ranks,#scr-quests,#scr-deck) :is(.roadSectionNav,.dailyJump,.cardsSections114)>button{font-size:1rem}


/* Source: css/results-owned121.css */
/* Component owner: results. Original cascade order, no visual redesign. */
.moRes .moBody{align-content:center}
.moRes .moBtn{margin-top:4px}
.moRes .moBody{align-content:start!important;padding-bottom:0!important}
.moRes .moBtn.pri{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:3;margin-top:6px;box-shadow:0 -10px 24px 12px rgba(4,9,20,.78),inset 0 1px 0 rgba(255,255,255,.55)}
.moRes .moBody::after{content:"";display:block;height:4px}
.moRes .moBody{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}
.moRes .moBg{background:radial-gradient(70% 55% at 50% 40%,rgba(8,14,28,.5),rgba(4,8,18,.86) 80%)!important;-webkit-backdrop-filter:blur(3px) saturate(.8);backdrop-filter:blur(3px) saturate(.8)}
.moRes .moRays{opacity:.16!important}
.moRes .moBg{background:radial-gradient(78% 62% at 50% 16%,rgba(8,14,28,.78),rgba(4,8,18,.96) 86%)!important}
.moRes .moBody{padding-top:calc(20px + env(safe-area-inset-top,0px))!important}
@media (max-height:720px){
.moRes .resTitle{font-size:2.2rem!important}
.moRes .moBody{gap:9px!important;padding-top:calc(10px + env(safe-area-inset-top,0px))!important}
}
.moRes .moRays{display:none!important}
@media (max-height:900px){
.moRes .moBody{gap:9px!important}
.moRes .resTitle{font-size:2.1rem!important}
.moRes .resSide{padding:6px 6px!important;gap:3px!important}
.moRes .rcr{width:26px!important;height:20px!important}
.moRes .resTro{padding:6px 16px!important}
.moRes .resTroN{font-size:1.6rem!important}
.moRes .resRw{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;width:100%}
.moRes .rw{flex:1 1 0;min-width:0!important;padding:7px 4px 6px!important}
.moRes .rw b{font-size:1rem!important}
.moRes .rw small{font-size:.56rem!important;white-space:normal;line-height:1.1}
.moRes .rwI .mi{width:22px!important;height:22px!important}
.moRes .rwI.xp{padding:3px 5px!important;font-size:.72rem!important}
.moRes .resNote.debrief:has(.dbIco){grid-template-columns:28px 1fr!important;gap:8px!important;padding:8px 10px!important}
.moRes .resNote.debrief .dbIco{width:28px!important;height:28px!important}
.moRes .resNote.debrief .dbIco .mi{width:18px!important;height:18px!important}
.moRes .resNote.debrief .dbTxt{font-size:.84rem;line-height:1.32}
}
@media (max-height:700px){
.moRes .resTitle{font-size:1.9rem!important}
.moRes .moBody{gap:7px!important}
}
.moRes .resVs .resSide{border-radius:12px;background:#11253ccc;border-color:#45617b77}
.moRes .resSide small{font:850 .84rem/1.25 var(--ui-body)}
.moRes .resRw .rw{background:linear-gradient(#263d51,#192c42)!important;border-color:#61728277!important;border-radius:12px;padding:12px 7px!important}
.moRes .resRw .rw b{font:900 1.2rem/1.1 var(--ui-body)!important}
.moRes .resRw .rw small{font:750 .67rem/1.2 var(--ui-body)!important;color:#becfe1;letter-spacing:0;text-transform:none}
.moRes .resNote,.moRes .resRank,.moRes .resMore{border-color:#3c536b!important;border-radius:13px;background:#152940e8!important}
.moRes .resMore>summary{font-family:var(--ui-body);letter-spacing:0;text-transform:none}
.moRes .resTro{border-radius:12px!important;background:linear-gradient(120deg,#333f3a,#1a2d42)!important;border-color:#858466!important}
.moRes .resTitle{letter-spacing:.035em!important}
.moRes .resTroN{font-family:var(--ui-body)!important}
.moRes .dbTxt b{font-family:var(--ui-body)!important;font-weight:900!important;letter-spacing:0!important;text-transform:none!important}
@media(prefers-reduced-motion:reduce){
.moRes .resRw{animation:none!important}
}
.moRes .rw.drop .rwI{display:grid;place-items:center;height:36px}
.moRes .rw.drop .runeEmblem{height:39px;width:30px}
.moRes .resRw .rw.drop{background:linear-gradient(130deg,#2b485b,#18304a)!important;border-color:#84b6ca!important;box-shadow:inset 0 1px 0 #c9faff20,0 0 18px #8c9fff0c!important}
.moRes .moFoot:has(.resNextCue){padding-top:10px;flex-direction:column;align-items:center;gap:0}
.moRes:has(.resNextCue) .moBody{padding-bottom:calc(125px + env(safe-area-inset-bottom,0px))!important}
.moRes .moFoot{background:#0b1726!important;border-top:1px solid #81969e50}
@media(max-height:740px){
.moRes .moBody{gap:9px!important}
.moRes .resCrest{width:60px!important;height:60px!important}
.moRes .resTitle{font-size:2rem!important}
.moRes .rcr{width:30px;height:26px}
.moRes .resRw{gap:7px}
.moRes .resNote.debrief{padding:10px!important}
}
.mo.moRes{height:100dvh;bottom:auto;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;justify-items:center;overflow:clip}
.moRes .moBody{grid-row:1;min-width:0;min-height:0;height:100%;max-height:none;align-content:start!important;align-self:stretch;padding:calc(18px + env(safe-area-inset-top,0px)) 20px 20px!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding:18px;scrollbar-gutter:stable both-edges}
.moRes .moBody::after{display:none}
.mo.moRes .moFoot{position:relative;grid-row:2;width:100%;left:auto;right:auto;bottom:auto;min-width:0;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));box-shadow:0 -4px 16px #0005}
.mo.moRes .moFoot .moBtn{white-space:normal;min-height:48px;line-height:1.25}
.moRes .moBody>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
.moRes .resCrest{flex:none;margin:0!important}
.moRes .resTitle{font-size:clamp(1.65rem,8.5vw,3rem)!important;line-height:1.16!important;letter-spacing:.035em!important;text-align:center;animation:resultArrive .45s ease-out both!important}
@media(prefers-reduced-motion:reduce){
.moRes .resTitle{animation:none!important}
}
.mo.moRes .resCrest{display:grid;place-items:center;width:84px!important;height:auto!important;aspect-ratio:220/190;filter:drop-shadow(0 3px 4px #02081088)}
.mo.moRes .resCrest .peCrest{display:block;width:100%!important;height:100%!important;max-width:none}
.moRes .resRw{width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}
.moRes .resRw .rw{min-width:0;width:100%;padding:11px 6px 10px;grid-template-rows:32px auto auto;align-content:start;border-radius:13px}
.moRes .resRw .rwI{width:32px;height:32px;display:grid;place-items:center;align-self:center;margin:0}
.moRes .resRw .rwI>svg{max-width:100%;max-height:100%;display:block}
.moRes .resRw .rw small{line-height:1.35;text-align:center}
.mo.moRes .moBody{scrollbar-width:thin;scrollbar-color:#668092 transparent}
.mo.moRes .moBody::-webkit-scrollbar{width:5px}
.mo.moRes .moBody::-webkit-scrollbar-thumb{background:#668092;border-radius:5px}
.moRes .resNote.debrief{align-items:flex-start}
.moRes .resNote.debrief .dbIco{flex:none;margin-top:1px}
@media(max-height:740px){
.mo.moRes .resCrest{width:64px!important}
}
.moRes .resTro{opacity:1;transform:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 12px;max-width:100%;box-sizing:border-box}
.moRes .resTro .resDelta.flat{font-size:.9rem;color:#c3d2e2;font-weight:700}
.moRes .resLoot{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;padding:12px 10px;border-block:1px solid #ffffff1a;width:100%;box-sizing:border-box}
.moRes .resLoot .resLootItem{display:flex;flex:0 0 auto;flex-direction:row;align-items:center;gap:5px;min-width:0;white-space:nowrap;padding:0;background:none!important;border:0!important;box-shadow:none!important;opacity:1;transform:none}
.moRes .resLoot .resLootIcon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:.72rem;color:#bbd2ed}
.moRes .resLoot .resLootIcon svg{width:22px;height:22px}
.moRes .resLoot .resLootItem b{font-size:1rem}
.moRes .resLoot .resLootItem small{font-size:.82rem}
.moRes .resLoot .resLootItem.drop{flex-basis:auto}
.moRes .resLoot .resLootItem.drop .resLootIcon svg{width:25px;height:25px}
.moRes .resNote,.moRes .rq2{opacity:1;transform:none}
.moRes .resNote.debrief{padding:12px;border-left-width:3px}
.moRes .resMore,.moRes .resRankDetails,.moRes .resProgress{width:100%;box-sizing:border-box}
.moRes .resProgress{border:1px solid #6b8c9d55;border-radius:14px;background:#0d2038;text-align:left;min-height:max-content;align-self:start}
.moRes .moBody{grid-auto-rows:max-content}
.moRes .resProgress>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px;font-weight:800;min-height:44px;box-sizing:border-box}
.moRes .resProgress>summary::-webkit-details-marker{display:none}
.moRes .resSummary164{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 12px;min-width:0}
.moRes .resSummary164>b{font-size:inherit;font-weight:800}
.moRes .resSummary164>small{font-weight:600;font-size:.82rem;color:#b8c7d9;line-height:1.4}
.moRes .resProgress .resNotes,.moRes .resProgress .resQ{padding:0 10px 10px;box-sizing:border-box}
.moRes .resProgress .resNote{margin-block:6px}
.moRes .resProgress .resQ{margin:0}
.resMasteryCard{padding:14px;border-top:1px solid #ffffff16;overflow-wrap:anywhere}
.resMasteryCard header{display:flex;gap:10px;align-items:center}
.resMasteryCard header b{font-size:1.06rem}
.resMasteryCard header small{display:block;color:#d5b874;font-weight:700;margin-top:3px}
.resMasteryPortrait{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;background:#0b1424;border:1px solid #496174;border-radius:10px;overflow:hidden}
.resMasteryPortrait img{width:100%;height:100%;object-fit:contain}
.resMasteryCard p{font-size:.86rem;line-height:1.5;margin:10px 0;color:#bfcddb}
.resMasteryCard p b{color:#88e3ca}
.resMasteryCard dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;font-size:.85rem;margin:12px 0 0;align-items:start}
.resMasteryCard dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.resMasteryCard dd em{color:#86dec6;font-style:normal;margin-left:6px}
.resMasteryCard dd small{display:block;color:#a8b9cc;margin-top:3px}
.moRes .resMatchFacts{font-size:.85rem;line-height:1.55;color:#b8c7d9;margin:10px 0 4px;text-align:left}
@media(max-height:700px){
.moRes .moBody{gap:10px}
.moRes .resCrest{width:56px;height:56px}
.moRes .resProgress>summary{padding:11px 12px}
}
.moRes.prestigeMoment{overflow-x:clip}
.moRes.prestigeMoment .moMotes{overflow:hidden}
.moRes .moFoot:has(.resOpen114){display:grid;grid-template-columns:1fr 1fr;gap:8px}
.moRes .moFoot:has(.resOpen114) .resNextCue{grid-column:1/-1;text-align:center;margin:0}
.moRes .moFoot:has(.resOpen114) .moBtn{width:100%;min-width:0;margin:0;padding:12px 8px;font-size:1rem;white-space:normal;min-height:48px}
.moRes .resOpen114{opacity:1;transform:none}
.moRes .resCoaching{width:100%;border-width:0 0 1px;border-radius:0;box-shadow:none;background:#0e1b2b}
@media(max-width:359px){
.moRes .moFoot:has(.resOpen114) .moBtn{font-size:.9rem}
}

/* Results use the same in-place expansion signal as the menus. The complete
   row is the touch target; progress counts may wrap without pushing the
   chevron or changing the reading alignment. Keep optional rows quiet. */
.moRes :is(.resMore,.resRankDetails){padding-top:0;margin-top:0;border-radius:0;background:#0e1b2b!important;border-width:0 0 1px}
.moRes details>summary{
 position:relative;display:flex;align-items:center;justify-content:flex-start;
 box-sizing:border-box;min-height:44px;padding:12px 42px 12px 14px!important;
 text-align:left;list-style:none;cursor:pointer;gap:10px;text-decoration:none!important;
 font:800 .92rem/1.4 var(--ui-body);color:#cfdfec;opacity:1;
}
.moRes details>summary::-webkit-details-marker{display:none}
.moRes details>summary::marker{content:''}
.moRes details>summary::after{
 content:''!important;position:absolute!important;top:50%!important;right:16px!important;
 display:block!important;width:8px!important;height:8px!important;box-sizing:border-box;
 margin:0!important;padding:0!important;border:0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
 color:#b9dcd1;background:none;box-shadow:none;pointer-events:none;
 transform:translateY(-70%) rotate(45deg)!important;
}
.moRes details[open]>summary::after{transform:translateY(-30%) rotate(225deg)!important}
.moRes details>summary:focus-visible{outline:2px solid #afffec;outline-offset:-3px;border-radius:var(--fl-inset-radius)}
.moRes .resCombo153>summary>i{display:none!important}
.moRes .resMore>:not(summary){width:auto;max-width:calc(100% - 28px);margin-left:14px;margin-right:14px}
.moRes .resMore>:last-child{margin-bottom:14px}
.moRes .resMasteryCard .masteryProof90{padding:0;background:#142536}
.moRes .resMasteryCard .masteryProof90>ul{padding:0 14px 8px 30px}

/* Preserve the full Prestige ceremony on spacious screens. Short phones use
   one crest beside the result so earned rewards arrive sooner in the scroll. */
.moRes .prestigeResult135{display:contents}
@media(max-width:600px) and (max-height:740px){
  .moRes.prestigeMoment .prestigeResult135{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:14px;row-gap:3px;width:100%;max-width:360px;padding:6px 0 10px;border-bottom:1px solid #c3a76a66;text-align:left}
  .moRes.prestigeMoment .prestigeResult135>.prestigeCrest{grid-column:1;grid-row:1/3;width:72px;height:auto;margin:0;filter:drop-shadow(0 4px 8px #060a1488)}
  .moRes.prestigeMoment .prestigeResult135>.prestigeKicker{grid-column:2;grid-row:1;text-align:left;margin:0!important;align-self:end;font-size:.7rem!important;letter-spacing:.14em}
  .moRes.prestigeMoment .prestigeResult135>.resTitle{grid-column:2;grid-row:2;text-align:left;align-self:start;font-size:clamp(1.7rem,8vw,2.2rem)!important;line-height:1.16!important}
  .moRes.prestigeMoment .moBody{padding-top:calc(12px + env(safe-area-inset-top,0px))!important}
}


/* Source: css/economy121.css */
/* Personal cosmetics use the existing phone layout. No arena or hand selectors. */
.savings121{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #7fbcb74d;border-radius:14px;background:#15343a66;margin:12px 0}.savings121>.lnk:first-child{flex:1;text-align:left;min-width:0}.savings121 b,.savings121 span{display:block;line-height:1.4;overflow-wrap:anywhere}.savings121 span{font-size:.78rem;color:#b9cbd4}.savingsToggle121{margin-top:12px;min-height:40px}.savingsHint121{display:block;color:#aabdc9!important;font-size:.75rem!important;line-height:1.4}
.personalise121{max-width:520px;margin:auto}.personalise121 h2{padding-right:32px}.personalise121>p{line-height:1.45}.cosmeticTabs121{display:flex;gap:8px;margin:16px 0}.cosmeticTabs121 .btn{flex:1;min-width:0;padding:10px 8px;font-size:.8rem}.cosmeticTabs121 [aria-pressed=true]{color:#f4dc96;border-color:#bba163;background:#494027}.cosmeticList121{display:grid;gap:12px}.cosmeticChoice121{display:grid;grid-template-columns:1fr auto;gap:10px;text-align:left;padding:10px;border:1px solid #728ea065;border-radius:16px;background:#10202f;color:#f5f6f8;cursor:pointer;min-width:0}.cosmeticChoice121>.cosmeticPreview121{grid-column:1/-1;width:100%;pointer-events:none}.cosmeticChoice121>span{display:flex;flex-direction:column;gap:3px;padding:0 4px}.cosmeticChoice121 small{color:#c4cedb}.cosmeticChoice121>i{align-self:center;font-style:normal;color:#dbbd74}.cosmeticChoice121:focus-visible{outline:3px solid #7ee7d4;outline-offset:2px}.cosmeticPreview121{display:flex;position:relative;isolation:isolate;align-items:center;gap:12px;padding:18px;min-height:106px;border-radius:12px;overflow:hidden;background:#132839;border:1px solid #728b9a66;box-shadow:inset 0 0 0 4px #07111b40}.cosmeticPreview121>div{min-width:0;position:relative;z-index:1}.cosmeticPreview121 b{display:block;font:800 1.05rem var(--num);overflow-wrap:anywhere;text-shadow:0 2px 3px #000}.cosmeticPreview121 small{display:block;font-size:.75rem;color:#d0d8df;margin-top:4px}.previewAvatar121{position:relative;z-index:1;flex:none;width:54px;height:54px;border-radius:50%;overflow:hidden;background:#0a1827;border:2px solid #d1b574}.previewAvatar121 .veraPortrait,.previewAvatar121 img{display:block;width:100%;height:100%;object-fit:cover}.bannerMark121{position:absolute;right:7px;top:50%;width:100px;height:100px;transform:translateY(-50%);color:#dbcba1;opacity:.1;z-index:-1}.bannerMark121 svg{width:100%;height:100%}.profileBanner121{position:relative;isolation:isolate;overflow:hidden}.banner-grove{background:linear-gradient(110deg,#0c231c 10%,#254e39 100%)!important;border-color:#779b735e!important}.banner-frost{background:linear-gradient(110deg,#0a192d 10%,#254969 100%)!important;border-color:#779fbf70!important}.banner-ember{background:linear-gradient(110deg,#23181d 10%,#49302a 100%)!important;border-color:#b980566e!important}.profileBanner121:before,.cosmeticPreview121[class*=banner-]:before{content:"";position:absolute;inset:4px;border:1px solid #ddc39138;pointer-events:none;z-index:-1}.prof .pfHead.profileBanner121{padding:18px 40px 18px 14px;border-radius:15px}.me.profileBanner121{border-radius:12px}.profileSigil121{display:inline-flex;width:36px;height:36px;vertical-align:middle;flex:none;color:#ced8bf;filter:drop-shadow(0 1px 1px #000b)}.profileSigil121 svg{display:block;width:100%;height:100%}.profileSigil121.motif-frost{color:#b8daeb}.profileSigil121.motif-ember{color:#e4a37b}.profileSigil121.motif-crown{color:#e5c67b}.profileSigil121.motif-prestige{color:#cfb4fa}.pfTitle .profileSigil121{width:25px;height:25px;margin-right:5px}.cosmeticStatus121:empty{display:none}.cosmeticStatus121{color:#ffca9a}.prestigeRecords121{margin:12px 0}.prestigeRecords121 summary{padding:10px 0;font-weight:800;cursor:pointer}.prestigeRecords121 ul{padding:0;list-style:none;display:grid;gap:8px}.prestigeRecords121 li{display:flex;justify-content:space-between;gap:12px;font-size:.82rem}.prestigeRecords121 small{display:block;font-size:.72rem;color:#b4c3d0;line-height:1.45}.prestigeStats121{display:flex;gap:12px;margin-top:8px}.prestigeStats121 span{flex:1;padding:10px;border-radius:10px;background:#141c2c;font-size:.72rem;color:#b4c3d0}.prestigeStats121 b{display:block;font-size:1.15rem;color:#ead8ae}
@media(max-width:360px){.cosmeticPreview121{padding:14px;gap:9px}.cosmeticPreview121 b{font-size:.95rem}.personalise121 .forgeActions{flex-wrap:wrap}.personalise121 .forgeActions .btn{min-width:120px;flex:1}}

/* One stable purchase sheet for frames, standards and sigils. Only the middle
   scrolls; the identity, exit, exact balance and explicit action stay in view. */
#mmodal .mbox:has(>.cosmeticSheet162){padding:0!important;overflow:hidden;max-height:calc(100dvh - 24px)!important}
#mmodal .mbox:has(>.cosmeticSheet162)>.mClose{top:11px!important;right:10px!important;width:44px!important;height:44px!important;z-index:5}
.cosmeticSheet162{display:flex;flex-direction:column;max-width:none;width:100%;min-height:0;max-height:calc(100dvh - 28px);margin:0;padding:0;box-sizing:border-box;text-align:left;color:#e2edf0}
.cosmeticSheetHeader162{flex:none;padding:18px 66px 16px 18px;background:linear-gradient(120deg,#244448,#152c3c);border-bottom:1px solid #8f94704d;box-shadow:inset 0 1px #d3efcf22}
.cosmeticSheetHeader162>.eyebrow{display:block;font-size:.65rem;line-height:1.5;letter-spacing:.11em;color:#b7d8d1}
.cosmeticSheet162 .cosmeticSheetHeader162>h2{margin:4px 0 0!important;padding:0!important;font-size:1.5rem;line-height:1.2;color:#f1dba5;overflow-wrap:anywhere}
.cosmeticSheetBody162{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3e6875 transparent;padding:16px 18px 18px}
.cosmeticSheetBody162>p{font-size:.85rem;line-height:1.5;color:#bdcedb;margin:12px 0}
.cosmeticSheetBody162>.forgeHero{padding-top:12px}
.cosmeticSheetBody162>.forgeName{text-align:center}
.cosmeticSheetFooter162{flex:none;padding:12px 16px 14px;background:linear-gradient(#182e3e,#112432);border-top:1px solid #8d9ba23d;box-shadow:0 -6px 14px #07152333}
.cosmeticSheet162 .cosmeticSheetFooter162 .forgePrice{padding:0 0 10px;border:0;background:none;gap:4px;font-size:.88rem;line-height:1.4}
.cosmeticSheet162 .cosmeticSheetFooter162 .forgePrice>b{color:#eddbad}
.cosmeticSheet162 .cosmeticSheetFooter162 .forgePrice>span{font-size:.78rem;line-height:1.4;color:#c1d3df}
.cosmeticSheet162 .cosmeticSheetFooter162 .forgeActions{display:flex;flex-wrap:nowrap;gap:9px;margin:0}
.cosmeticSheet162 .cosmeticSheetFooter162 .btn{flex:1 1 0;min-width:0;min-height:48px;padding:10px 9px;white-space:normal;font-size:.83rem;line-height:1.3}
.cosmeticSheet162 .cosmeticStatus121:not(:empty){font-size:.8rem;line-height:1.4;margin:0 0 12px}
.cosmeticInfo162{margin-top:12px;border-top:1px solid #7799a340}
.cosmeticInfo162>summary{display:flex;align-items:center;gap:12px;min-height:44px;list-style:none;cursor:pointer;font-size:.8rem;font-weight:700;color:#acd6ce;line-height:1.4;padding:8px 0}
.cosmeticInfo162>summary::-webkit-details-marker{display:none}
.cosmeticInfo162>summary::after{content:'';width:7px;height:7px;flex:none;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin-left:auto;margin-right:4px}
.cosmeticInfo162[open]>summary::after{transform:rotate(225deg)}
.cosmeticInfo162>.sheetNote{margin:6px 0 0;line-height:1.5}
.cosmeticInfo162>summary:focus-visible{outline:3px solid #a1ead7;outline-offset:2px}
body.bigText .cosmeticSheetBody162>p,body.bigText .cosmeticInfo162>summary,body.bigText .cosmeticSheet162 .cosmeticSheetFooter162 .forgePrice>span{font-size:.9rem}
body.bigText .cosmeticSheet162 .cosmeticSheetFooter162 .btn{font-size:.94rem}
@media(max-width:380px){.cosmeticSheetHeader162{padding-left:15px}.cosmeticSheetBody162{padding:12px 14px 16px}.cosmeticSheetFooter162{padding:10px 12px 12px}}


/* Prestige identities use a clear system sans: Nunito's curved l + J read
   as U even with extra tracking. Keep the original name text and storage key. */
.prestigeRecords121 li>.prestigeName165,.prestigeRival b[data-no-i18n]{
 font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
 letter-spacing:.015em;text-shadow:none;
}
.prestigeRecords121 li>.prestigeName165{
 min-width:0;font-size:1rem;font-weight:700;line-height:1.5;overflow-wrap:anywhere;
}
.prestigeRecords121 li>b{flex-shrink:0;align-self:center;font-variant-numeric:tabular-nums}
body.bigText .prestigeRecords121 li>.prestigeName165{font-size:1.125rem}

/* Source: css/usability121.css */
/* Mobile loadout and offer inspection. No selectors target the arena or battle HUD. */
.abilityChooser121{padding:6px 2px;min-width:0}.abilityChooser121 h2{font-size:clamp(23px,6.8vw,32px);line-height:1.12;margin:10px 42px 16px 0}.abilityChooser121>.eyebrow{display:block;padding-right:42px;overflow-wrap:anywhere}.abilityOverview121{display:grid;gap:8px;margin:0 0 14px}.abilityRow121{display:grid;grid-template-columns:34px minmax(0,1fr) auto 12px;gap:9px;align-items:center;min-height:64px;width:100%;padding:9px 12px;border:1px solid #425669;border-radius:14px;background:linear-gradient(155deg,#263d51,#182739);box-shadow:inset 0 1px #ffffff15,0 2px 0 #070e18;color:#f0f6fc;text-align:left;font:inherit}.abilityRow121.inspected{border-color:#8bdfcf;background:linear-gradient(135deg,#294e51,#18343e);box-shadow:inset 0 0 0 1px #8bdfcf44,0 2px #070e18}.abilityRow121 b{display:block;font-size:16px;line-height:1.2}.abilityRow121 small{display:block;font-size:12px;color:#b5c9d4;margin-top:3px}.abilityRow121 em{font-size:11px;font-style:normal;color:#a2ebd8}.abilityIcon121{display:flex;width:32px;height:34px;align-items:center;justify-content:center;color:#a2ebd8}.abilityIcon121 svg{width:32px;height:32px}.abilityDetail121{padding:14px;border:1px solid #3a5262;border-radius:16px;background:#0d1e2b}.abilityDetail121 h3{margin:0 0 6px;font-size:21px}.abilityDetail121 p{line-height:1.4;margin:6px 0 12px}.abilityActions121{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px}.abilityActions121 .btn{min-height:44px;padding:9px 8px;font-size:14px;white-space:normal}.abilityActions121 .btn:disabled{opacity:.7}.abilityPractice121{display:block;color:#afc0cf;line-height:1.4;margin:8px 0}.abilityFacts121{margin-top:10px;border-top:1px solid #fff2}.abilityFacts121 summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;font-size:14px}.abilityFacts121 summary:after{content:'+'}.abilityFacts121[open] summary:after{content:'−'}.abilityFacts121 dl{margin:6px 0 12px}.abilityFacts121 dl>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #fff1}.abilityFacts121 dd{margin:0;text-align:right;color:#f1dfae}.abilityLocked121{color:#edce8d;font-size:13px}#valhallaClose{margin-top:12px;min-height:44px}.deckName121 label{display:block;margin:16px 0 8px}.deckName121 input{display:block;box-sizing:border-box;width:100%;min-height:48px;border:1px solid #8bdfcf;border-radius:12px;padding:12px;color:#fff;background:#091826;font:inherit}.deckName121 p{font-size:14px;line-height:1.5}.homeDeckText b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.previewAbility121{color:#b3e9da;font-size:14px;line-height:1.35;margin:6px 0 14px}.shopInspect121{display:flex;align-items:center;flex-direction:column;width:100%;min-height:44px;min-width:0;padding:0 0 6px;border:0;border-radius:12px;background:transparent;color:inherit;font:inherit;text-align:center;cursor:pointer}.shopInspect121:focus-visible{outline:2px solid #8aebd5;outline-offset:3px}.shopInspect121 .oArt{pointer-events:none}.shopInspect121 .oTitle{font:inherit;font-weight:800}.shopInspectLabel121{display:block;color:#98e2d5;text-decoration:underline;text-underline-offset:3px;font-size:12px;line-height:1.3;margin-top:6px}.bigText .abilityRow121 b{font-size:18px}.bigText .abilityRow121 small{font-size:14px}.bigText .abilityRow121 em{font-size:12px}.bigText .abilityRow121{min-height:74px}.bigText .abilityFacts121 summary,.bigText .abilityPractice121{font-size:16px}.bigText .abilityActions121 .btn{font-size:16px}.bigText .shopInspectLabel121{font-size:14px}

.abilityChooser121 .abilityIcon121 svg.mi{width:32px;height:32px;max-width:none;max-height:none;flex:none}

/* Deck identity uses the existing selector row, keeping every portrait and the ability above navigation. */
#scr-deck .deckControl116 .deckRenameControl121{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:10px;border:1px solid #546b78;border-radius:12px;background:linear-gradient(145deg,#294153,#172a3a);color:#a5e4d7;box-shadow:inset 0 1px #ffffff18,0 2px #07111a;cursor:pointer}
#scr-deck .deckRenameControl121 svg{width:22px;height:22px;display:block}
#scr-deck .deckRenameControl121:focus-visible{outline:2px solid #a5e4d7;outline-offset:2px}
#scr-deck .deckControl116 .deckPresetName121{display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Practice actions overlay the arena; target size never changes the battlefield. */
body.practice #pracObj .poBtns .btn{min-width:44px;min-height:44px}


/* Source: css/alignment-cards123.css */
/* Cards component alignment. Portrait dimensions and battlefield styles stay owned
   by their existing components. */
#scr-deck .collHeading h3 {
  margin: 0 !important;
}

/* Keep the chooser's intended type and inset above the shared button shorthand. */
.mbox .abilityChooser121 .abilityActions121 > .btn {
  font-size: 14px !important;
  padding: 9px 8px !important;
}

body.bigText .mbox .abilityChooser121 .abilityActions121 > .btn {
  font-size: 16px !important;
}

/* Replacement temporarily locks both sections; the current section remains clear. */
#scr-deck .cardsSections114 button:disabled {
  color: #a1b3bf;
  background: #101f2c;
  box-shadow: none;
}

#scr-deck .cardsSections114 button:disabled[aria-selected="true"] {
  color: #d1e2de;
  background: linear-gradient(#344e4d, #263e3c);
  box-shadow: inset 0 0 0 1px #758d87;
}

/* The identity pair has no row label. Give each card half of the available space;
   stretch each name track so the two elixir rows share a baseline after wrapping. */
.swapCmp .cmpGrid.cmpIdentity {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.swapCmp .cmpIdentity > div:empty {
  display: none;
}

.swapCmp .cmpGrid.cmpIdentity > b {
  grid-template-rows: auto 72px minmax(min-content, 1fr) auto;
  align-content: stretch;
}

.swapCmp .cmpIdentity > b:nth-child(2) {
  border-inline: 0;
  border-right: 1px solid #718d9f22;
}

.swapCmp .cmpIdentity .cmpName {
  align-self: start;
}


/* Source: css/alignment-colors123.css */
/* Menu state repairs. These selectors do not affect the arena, hand or base buttons. */

/* The selected category must survive the legacy important .mbox .btn skin. */
.mbox .cosmeticTabs121 .btn[aria-pressed="true"]{
  color:#f4dc96!important;
  background:linear-gradient(#51462d,#393426)!important;
  border-color:#bba163!important;
  box-shadow:inset 0 1px #f8e5ad33,inset 0 -3px #e5ca82,0 3px 0 #060e1e66!important;
}

/* Claimed rewards remain readable receipts; completion uses the surface and check. */
#scr-quests .quest.claimed{
  opacity:1!important;
  background:#15283b!important;
  border-color:#496273!important;
}
#scr-quests .quest.claimed .qrw{opacity:1;color:#c4d5df}
#scr-quests .quest.claimed .qtxt b{color:#d5e0e9}
#scr-quests .quest.claimed .qrw small{color:#b7c9d7}
#scr-quests .quest.claimed .qClaimed{color:#b3dccb}

/* Road history uses the same opaque, muted copy instead of two opacity layers. */
#scr-road .rstep.got{
  opacity:1;
  background:linear-gradient(120deg,#172b39,#142534)!important;
  border-color:#496273!important;
}
#scr-road .rstep.got .rrw{opacity:1}
#scr-road .rstep.got .rrw b{color:#c4d5df}
#scr-road .rstep.got .rrw small{color:#b7c9d7!important}
#scr-road .rstep.got .rt{color:#b7c9d7!important}
#scr-road .rstep.got .rst{color:#b3dccb}

/* Grey purchase controls still explain their price while funds are insufficient. */
#scr-shop .offer .buyPrice116[aria-disabled="true"]{opacity:1}

/* This Builder-only note explains the full-width download action above it. */
.settingsPanel .stActions>#offlineStatus{grid-column:1/-1}


/* Source: css/alignment-shell123.css */
/* Disclosure arrows follow the center of their actual row, including Larger text. */
.settingsCategory116 > summary::after {
  top: 50%;
  line-height: 1;
  transform: translateY(-50%);
}
.settingsCategory116[open] > summary::after {
  transform: translateY(-50%) rotate(90deg);
}

/* Old floating-arrow margins no longer belong inside this flex row. */
#meta.home .homeMapModes116 > .mapHome96 > span {
  float: none;
  margin: 0;
}


/* Source: css/battle-safety125.css */
/* Keep ability hit targets away from browser edge gestures. The arena does not move. */
body.battle-hand-pass.in-battle .bar .valk{left:max(24px,env(safe-area-inset-left,0px))!important}
body.battle-hand-pass.in-battle .bar .tap{right:max(24px,env(safe-area-inset-right,0px))!important}
.battleRecovery125{box-sizing:border-box;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;margin:auto;padding:24px;border:1px solid #819b9b;border-radius:22px;background:linear-gradient(150deg,#203d4b,#102236 70%);color:#eef5ff;box-shadow:0 18px 64px #0009;font:inherit}
.battleRecovery125::backdrop{background:#040a13b8}
.battleRecovery125 h2{margin:12px 0;font-size:clamp(24px,6.8vw,32px);line-height:1.14;overflow-wrap:anywhere}
.battleRecovery125 .recoveryMessage125{margin:12px 0 22px;line-height:1.5;color:#c7d8e5}
.recoveryActions125{display:grid;gap:12px}
.recoveryActions125 .btn{min-height:48px;white-space:normal;line-height:1.25;padding:12px 16px}


/* Source: css/home-scene125.css */
/* Home owns this painted scene. Arena dimensions and card illustrations are untouched. */
#meta.hasHomeScene125.home #homeLife,
#meta.hasHomeScene125.home #portal,
#meta.hasHomeScene125.home #metaBg>.ffly,
#meta.hasHomeScene125.home #metaBg>.flame{display:none!important}
#homeScene125{position:absolute;z-index:1;pointer-events:none;overflow:visible;contain:layout style}
#homeScene125[hidden]{display:none}
.courtyardBrazier125{position:absolute;transform:translate(-50%,-100%);isolation:isolate;pointer-events:none}
.courtyardLight125{position:absolute;left:-120%;right:-120%;top:-50%;bottom:-190%;border-radius:50%;background:radial-gradient(ellipse at 50% 32%,#ffd48048 0%,#ffac3929 25%,#ff9b2014 48%,transparent 71%);mix-blend-mode:screen;opacity:.62;animation:courtyardLight125 3.7s ease-in-out infinite;animation-play-state:paused}
.courtyardFire125{display:block;width:100%;height:100%;overflow:visible;opacity:.66;mix-blend-mode:screen}
.fireOuter125{fill:#ffc455;transform-origin:50% 100%;animation:courtyardFlame125 1.6s ease-in-out infinite;animation-play-state:paused}
.fireInner125{fill:#fff2b3;transform-origin:50% 100%;animation:courtyardFlame125 1.13s ease-in-out -.4s infinite reverse;animation-play-state:paused}
.courtyardBrazier125:nth-child(2) .courtyardLight125{animation-delay:-1.6s}
.courtyardBrazier125:nth-child(2) .fireOuter125{animation-delay:-.85s}
#homeScene125.isRunning125 .courtyardLight125,#homeScene125.isRunning125 .fireOuter125,#homeScene125.isRunning125 .fireInner125{animation-play-state:running}
@keyframes courtyardFlame125{0%,100%{transform:scale(.94,.94) skewX(-2deg);opacity:.68}38%{transform:scale(1.015,1.035) skewX(1.5deg);opacity:.93}72%{transform:scale(.98,.91) skewX(-1deg);opacity:.78}}
@keyframes courtyardLight125{0%,100%{opacity:.46}31%{opacity:.72}69%{opacity:.54}}
/* The desktop courtyard has room beside a deliberate action column.
   Small laptops and phones retain the mobile composition and all original heights. */
@media(min-width:1000px) and (min-height:650px){
 #meta.hasHomeScene125.home{--home-column:420px;--home-gutter:16px;--home-desktop-inset:clamp(28px,5vw,96px)}
 #meta.hasHomeScene125.home>.mtop,#meta.hasHomeScene125.home>.mwrap{margin-left:auto;margin-right:var(--home-desktop-inset);width:var(--home-column);max-width:var(--home-column)}
 #meta.hasHomeScene125.home>.mtop{padding-top:20px;padding-bottom:12px}
 #meta.hasHomeScene125.home #scr-home{justify-content:center;gap:10px;padding-top:16px;padding-bottom:24px}
 #meta.hasHomeScene125.home .homeWorld{flex:0 0 auto;min-height:68px}
 #meta.hasHomeScene125.home .homeWorld:not(:has(#hDrop,.firstStep,.mapWelcome98)){display:none}
 #meta.hasHomeScene125.home .hBottom{gap:9px}
 #meta.hasHomeScene125.home .metaBg::after{background:linear-gradient(90deg,#07142100 0%,#07142100 35%,#07142126 54%,#071421bd 76%,#071421de 100%)}
 #meta.hasHomeScene125.home .homeArena{min-height:68px}
 #meta.hasHomeScene125.home .homeArena .peCrest{width:64px;height:62px}
 #meta.hasHomeScene125.home .homeArenaText>b{font-size:1.1rem}
}
@media(prefers-reduced-motion:reduce){#homeScene125 .courtyardLight125,#homeScene125 .fireOuter125,#homeScene125 .fireInner125{animation:none!important}}
body.fxLow #homeScene125 .courtyardLight125,body.fxLow #homeScene125 .fireOuter125,body.fxLow #homeScene125 .fireInner125{animation:none!important}

/* Source: css/polish128.css */
/* Deck tools stay beside the equipped team; all candidates remain directly browsable. */
#scr-deck .deckTools141{position:relative;margin-top:8px}
#scr-deck .deckTools141 .deckAdvice{min-width:0;margin:0;padding:0 8px}
#scr-deck .deckTools141 .deckAdvice summary{padding-right:min(48%,160px)}
#scr-deck .deckTools141 .deckJournal116{position:absolute;right:0;top:0;margin:0}
#scr-deck .deckTools141 .deckJournal116 .lnk{padding-inline:6px}
@media(max-width:480px){#scr-deck .deckTools141 .deckPlanStyle107{display:none}}
.availableCards128{margin:20px 0 24px;padding-top:18px;border-top:1px solid #ffffff26}
.availableCards128>header{display:flex;align-items:center;gap:10px}
.availableCards128 h2{font:700 18px var(--ui);margin:0;color:#eee7d3}
.availableCards128>header>span{color:#a3b6c9;font-size:13px;font-variant-numeric:tabular-nums}
.availableCards128>p{margin:6px 0 12px;color:#bac8d8;font-size:13px;line-height:1.5}
.availableFilters128{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.availableFilters128 .btn{min-height:44px;padding:8px 18px;background:#112337;border:1px solid #70819855;color:#b8c9dc}
#meta #scr-deck .availableFilters128 .btn[aria-pressed=true]{background:linear-gradient(#416b60,#29483f)!important;border-color:#97d5c0!important;color:#f2fff9!important;box-shadow:inset 0 1px #d6ffec38!important}
.availableCards128 .coll{margin-top:0}
/* A stretched row plus an auto-margin footer survives translated/large text. */
#scr-shop .shop{align-items:stretch}
#scr-shop .offer:not(.cosmeticOffer106){display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;height:auto;min-width:0}
#scr-shop .offer .shopInspect121{flex:none;min-width:0}
#scr-shop .offer .oTitle{min-height:2.7em;line-height:1.35;text-wrap:balance}
#scr-shop .offer .oHave{line-height:1.4;min-height:2.8em}
#scr-shop .offer .offerAction128{display:flex;flex-direction:column;justify-content:flex-end;gap:5px;margin-top:auto;padding-top:6px;width:100%;min-height:50px}
#scr-shop .offerAction128 .btn,#scr-shop .offerAction128 .oSold{box-sizing:border-box;min-height:44px;width:100%;margin:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;line-height:1.3;white-space:normal}
#scr-shop .offerAction128 .oPrice{margin:0;text-align:center}
#scr-shop .offer .wildChoose{min-height:44px;align-self:stretch;margin:0;line-height:1.4}
#scr-shop .offer .oArt{flex-shrink:0}
/* Shop merchandise: still art and quantity first, with a compact rarity rim and progress group. */
#scr-shop .offer.shopOffer132{gap:6px;padding:8px 9px 10px!important;border-top:3px solid var(--rc)!important;background:linear-gradient(160deg,#2b3b4f,#1a2c42)!important}
#scr-shop .shopOffer132 .offerFlags{justify-content:flex-start;gap:4px;min-height:20px;color:#d7e0ea}
#scr-shop .shopOffer132 .offerFlags>small:first-child{padding:2px 6px;border-radius:3px 3px 7px 3px;background:color-mix(in srgb,var(--rc) 17%,#172739);box-shadow:inset 2px 0 var(--rc)}
#scr-shop .shopOffer132 .shopInspect121{padding:0;gap:3px;border-radius:7px}
#scr-shop .offer.shopOffer132 .oTitle{min-height:0;margin:0;line-height:1.35}
#scr-shop .shopMerchMeta132{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:3px 8px;width:100%}
#scr-shop .oQuantity132{font-size:.86rem;line-height:1.35;color:#eef4fc}
#scr-shop .shopOffer132 .shopInspectLabel121{margin:0;color:#b9d2d7;text-decoration-color:#b9d2d766;text-underline-offset:2px}
#scr-shop .offerProgress132{display:grid;gap:5px;padding-top:3px}
#scr-shop .shopOffer132 .offerProgress132 .oHave{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:2px 6px;min-height:0;margin:0;text-align:center;line-height:1.4}
#scr-shop .offerProgress132 .oHave b{color:#d1dfec;font-variant-numeric:tabular-nums}
#scr-shop .offerProgressTrack132{display:block;height:3px;overflow:hidden;border-radius:2px;background:#101e2e;box-shadow:0 1px #ffffff0c}
#scr-shop .offerProgressTrack132>i{display:block;height:100%;border-radius:inherit;background:var(--rc)}
#scr-shop .shopOffer132 .offerProgress132 .oSurplus{display:block;text-align:left;margin-top:3px}
#scr-shop .offer.shopOffer132 .offerAction128{padding-top:3px;min-height:44px}
#scr-shop .shopOffer132 .offerAction128 .buyPrice116{margin-top:0!important}
#scr-shop .shopOffer132 .wildChoose{gap:3px}
#scr-shop .shopOffer132.wild .offerProgress132 .oHave{gap:0 6px}
#scr-shop .offer.shopOffer132.sold{border-top-color:var(--rc)!important}
body.bigText #scr-shop .oQuantity132{font-size:.96rem}
#qShowAll{min-height:44px}
.lbName128{padding:14px;border:1px solid #d9b87580;border-radius:12px;background:#d9b8750d;margin:12px 0}
.lbName128[hidden]{display:none}
.lbName128 label{display:block;margin-bottom:8px;font-weight:700}
.lbName128 input{box-sizing:border-box;width:100%;min-height:44px;font-size:16px}
.lbName128 p{font-size:13px;line-height:1.5}
.lbName128 [role=status]{color:#f5d292;min-height:1.5em}
.lbName128 .btn{min-height:44px;width:100%}
/* Keep account identity and escape controls steady while comparing long saves. */
#mmodal .mbox:has(>.accountPanel){padding:0!important;overflow:hidden;max-height:calc(100dvh - 24px)!important}
#mmodal .accountPanel{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 28px);padding:0!important}
#mmodal .accountHeader130{flex:none;padding:20px 66px 16px 22px;border-bottom:1px solid #76939f40;background:linear-gradient(125deg,#21384b,#162b3b)}
#mmodal .accountHeader130 .eyebrow{display:block;margin-bottom:8px}
#mmodal .accountHeader130 h2{padding:0;margin:0;line-height:1.15;font-size:clamp(23px,6.5vw,30px)}
#mmodal .accountBody130{min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px 22px 20px;scrollbar-gutter:stable}
#mmodal .mbox:has(>.accountPanel)>.mClose{top:12px!important;right:12px!important;width:44px!important;height:44px!important}
body.bigText #mmodal .accountHeader130 h2{font-size:1.65rem}
#bkCreateSt130{margin:0;min-height:0;line-height:1.45}
#bkCreateSt130:empty{display:none}
@media(max-width:380px){#mmodal .accountHeader130{padding-left:16px}#mmodal .accountBody130{padding:14px 16px 18px}}
/* Visual preview is separate from the core reading and effects options. */
.settings116 .stPreview135 .tgl{align-items:flex-start}
.settings116 .stPreview135 .tgl input{flex:none;margin-top:3px}
.atlasCalibration135{padding:12px;border:1px solid #6f809366;border-radius:12px;background:#101e2b}
.atlasCalibration135 .sheetNote{margin-bottom:0}

/* Source: css/honours150.css */
/* Honours live in menu sheets. No arena, unit, hand or card-art animation rules. */
.h150Entry,.h150Notice{--h150-line:#94b9a981;display:flex;align-items:center;gap:12px;width:100%;padding:13px 15px;border:1px solid var(--h150-line);border-radius:16px;background:linear-gradient(125deg,#254849,#123036 62%,#17303d);box-shadow:inset 0 1px #d3f1dc33,0 3px #06191e;color:#edf5e9;text-align:left;font:inherit;cursor:pointer;min-width:0}
.h150Entry{margin:12px 0 17px}.h150Entry>span:nth-child(2),.h150Notice>span:nth-child(2){flex:1;min-width:0}.h150Entry b,.h150Notice b{display:block;font-size:1.04rem;line-height:1.25;color:#f5dfaa}.h150Entry small,.h150Notice small{display:block;color:#c1d9d5;font-size:.76rem;line-height:1.4;margin-top:4px}.h150EntryEnd{display:flex;align-items:center;gap:10px;flex:none}.h150EntryEnd>span{font-size:1.6rem;color:#dfc17e}.h150Crest{display:block;color:#e4c27f;width:45px;height:50px;flex:none}.h150Crest svg,.h150NoticeIcon svg{display:block;width:100%;height:100%}.h150New{display:inline-block;font-style:normal;font-weight:800;font-size:.66rem;line-height:1.2;border-radius:6px;background:#eacb88;color:#162b31;padding:4px 6px;white-space:nowrap;box-shadow:inset 0 1px #fff4ce66}
.h150Notice{gap:8px;padding:8px 11px;min-height:57px;border-color:#b39c6399;background:linear-gradient(110deg,#31453c,#193b3e 70%,#26364b)}.h150NoticeIcon{width:30px;height:35px;color:#edce8a;flex:none}.h150Notice b{font-size:.8rem}.h150Notice small{font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.h150NoticeAction{color:#f1d99e;white-space:nowrap;font-size:.76rem;font-weight:800}
#mmodal .mbox:has(>.honours150){padding:0!important;overflow:hidden;max-height:calc(100dvh - 24px)!important;animation-name:honoursSheet150;animation-duration:.16s;animation-timing-function:ease-out;animation-iteration-count:1}
/* Keep thumb actions in their final positions throughout the sheet entrance. */
@keyframes honoursSheet150{from{opacity:.25}to{opacity:1}}
#mmodal .mbox:has(>.honours150)>.mClose{top:11px!important;right:10px!important;width:44px!important;height:44px!important;z-index:5}
.honours150{--honour:#90d6c9;display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 28px);color:#e2edf0;text-align:left;isolation:isolate}
.h150Header{display:flex;align-items:center;gap:12px;flex:none;padding:22px 62px 17px 20px;background:radial-gradient(ellipse at 0 0,#568a7155,transparent 70%),linear-gradient(120deg,#244448,#152c3c);border-bottom:1px solid #8f94704d;box-shadow:inset 0 1px #d3efcf22}
.h150Header>div{min-width:0}.h150Header .eyebrow{display:block;color:#b7d8d1;font-size:.65rem;letter-spacing:.13em;line-height:1.5}.h150Header h2{margin:4px 0 0!important;padding:0!important;font-size:1.7rem!important;line-height:1.15;color:#f1dba5;overflow-wrap:anywhere}.h150Header p{margin:5px 0 0!important;color:#c0d3d8;font-size:.76rem!important;line-height:1.4}.h150Header .h150Crest{width:44px;height:52px}
.h150Body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px 17px 18px;scrollbar-width:thin;scrollbar-color:#3e6875 transparent}.honours150 .h150Intro{margin:0 0 14px!important;font-size:.82rem;line-height:1.45;color:#c6d9df}.h150Tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:4px;background:#0d1e2e;border:1px solid #7799a340;border-radius:12px;margin-bottom:13px}.h150Tabs button{min-height:44px;min-width:0;padding:7px 3px;border:1px solid transparent;background:none;border-radius:8px;color:#c4d5df;font:800 .74rem var(--num,inherit);cursor:pointer;overflow-wrap:anywhere}.h150Tabs button[aria-pressed=true]{color:#fff0be;background:linear-gradient(#49605a,#2b4546);border-color:#aca06b;box-shadow:inset 0 1px #f2dfa933,0 2px #071b24}
.h150Filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px 10px;margin:0 0 12px}.h150Filters label{display:grid;gap:5px;min-width:0;font-size:.69rem;color:#bfced9;line-height:1.35}.h150Filters select,.h150Filters input{min-width:0;width:100%;min-height:44px;background:#102637;border:1px solid #688292;border-radius:9px;padding:9px 8px;color:#e5eff3;font:inherit;font-size:.77rem;box-sizing:border-box}.h150Filters input::placeholder{color:#99b1c0}.h150Filters .h150Search{grid-column:1/-1}.h150InboxLink{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:10px 12px;margin:10px 0;border:1px solid #af9866;border-radius:10px;background:#39433c;color:#ffe1a6;font:800 .76rem var(--num,inherit);text-align:left;cursor:pointer}.h150Count{font-size:.7rem!important;color:#b5cbd4;margin:12px 0 9px!important}
.h150Group{border:1px solid #73919b4d;border-radius:13px;background:#0c1f2f77;overflow:hidden;margin:10px 0}.h150Group>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:49px;padding:11px 12px;list-style:none;color:#e2d4ac;background:linear-gradient(110deg,#29434a,#1c3042);font-size:.85rem;font-weight:800;cursor:pointer}.h150Group>summary::-webkit-details-marker{display:none}.h150Group>summary:after{content:'+';font-size:1.15rem;color:#aad9ce;order:3;flex:none}.h150Group[open]>summary:after{content:'−'}.h150Group>summary>span{flex:1;min-width:0;overflow-wrap:anywhere}.h150Group>summary>small{display:flex;align-items:center;gap:7px;color:#b8cbd5;font-size:.68rem;white-space:nowrap}.h150GroupBody{display:grid;gap:9px;padding:10px}
.h150Row{--honour:#9ad9cd;border:1px solid #5e7f895c;background:linear-gradient(125deg,#213943,#142636);border-radius:11px;box-shadow:inset 0 1px #dce9e40b;overflow:hidden;min-width:0}.h150-gold{--honour:#e8c174}.h150-violet{--honour:#d2b0f3}.h150Row.h150-gold.is-owned{border-color:#b89b62;background:linear-gradient(120deg,#494735,#293642 70%);box-shadow:inset 3px 0 #d5b875,inset 0 1px #f9e7bc22}.h150Row.h150-violet.is-owned{border-color:#a68ac1;background:linear-gradient(120deg,#433952,#293348 75%);box-shadow:inset 3px 0 #c0a0e3,inset 0 1px #f1dbff22}.h150Row.is-locked{background:linear-gradient(125deg,#1d3440,#122334);border-style:solid}.h150Inspect{display:flex;align-items:center;gap:12px;width:100%;min-height:88px;border:0;background:none;padding:13px 11px;color:inherit;font:inherit;text-align:left;cursor:pointer;min-width:0}.h150RowText{display:block;min-width:0;flex:1}.h150RowText>b{display:block;color:#e8eef1;line-height:1.3;font-size:.85rem;overflow-wrap:anywhere}.h150Row.is-owned .h150RowText>b{color:var(--honour)}.h150RowText>small:first-child{display:block;font-size:.57rem;color:#b9cbd7;letter-spacing:.09em;line-height:1.4;margin-bottom:4px}.h150State{display:inline-block;font-size:.65rem;line-height:1.35;color:#bbd5d6;margin-top:5px;font-weight:700}.h150State.h150New{color:#162b31}.h150RowText>.h150RowProgress{display:block;font-size:.69rem;line-height:1.45;color:#b7ccd8;margin-top:6px}.h150Chevron{color:#d9bf84;flex:none;font-size:1.25rem}.h150Inspect>.h150Crest{width:33px;height:40px;color:var(--honour)}
.h150Frame.forgePortrait{width:60px;height:60px;margin:4px;flex:none}.h150Frame.forgePortrait>.veraPortrait{width:100%;height:100%;border-radius:inherit;overflow:hidden;display:block}.h150Portrait{position:relative;display:block;width:58px;height:60px;flex:none}.h150Portrait>.veraPortrait{width:100%;height:100%;display:block}.h150Portrait>.md{position:absolute;right:-2px;bottom:0;font-size:11px;font-style:normal;text-align:center}.h150CosmeticArt{display:block;width:76px;flex:none;overflow:hidden;border-radius:9px}.h150CosmeticArt .cosmeticPreview121{width:100%;min-height:79px;padding:9px;gap:0;border-radius:9px;justify-content:center}.h150CosmeticArt .cosmeticPreview121>div{display:none}.h150CosmeticArt .previewAvatar121{width:43px;height:43px}.h150CosmeticArt .profileSigil121{position:absolute;right:3px;bottom:5px;width:30px;height:30px;z-index:2;filter:drop-shadow(0 2px 1px #05101f)}.h150CosmeticArt .bannerMark121{width:70px;height:70px;opacity:.19;right:-5px}
.h150Pair{overflow:hidden;border:1px solid #85939d55;border-radius:12px;background:#102333}.h150PairHead{display:flex;align-items:center;gap:10px;padding:10px 11px;border-bottom:1px solid #a1bac422;color:#dfe9ed}.h150PairHead>b{font-size:.85rem;flex:1;min-width:0;overflow-wrap:anywhere}.h150PairHead>small{font-size:.62rem;color:#afc5d3;flex:none}.h150PairPortrait{display:block;width:42px;height:43px;flex:none}.h150PairPortrait>.veraPortrait{display:block;width:100%;height:100%}.h150Pair .h150Row{border-width:0;border-radius:0;border-top:1px solid #93a9b522;box-shadow:none!important}.h150Pair .h150Inspect{min-height:78px;padding:11px 14px}.h150Pair .h150Row.is-owned{border-left:3px solid var(--honour)}.h150Pair .h150RowText>b{font-size:.83rem}.h150Pair .h150RowText>small:first-child{color:var(--honour)}
.honours150 .h150Footnote{font-size:.7rem!important;line-height:1.45;color:#b6c9d4;margin:15px 0 0!important}.h150Empty{padding:22px 12px;line-height:1.5;color:#c5d7de;font-size:.85rem}.h150Footer{display:flex;gap:9px;padding:12px 16px 15px;background:linear-gradient(#182e3e,#112432);border-top:1px solid #8d9ba23d;flex:none}.h150Footer .btn{flex:1;min-width:0;min-height:46px;font-size:.82rem;padding:10px 9px;white-space:normal;line-height:1.3}.h150Receipt .h150Header{background:radial-gradient(ellipse at 0 0,#9d865433,transparent 80%),linear-gradient(125deg,#334b42,#26354d)}.h150Receipt .h150RowProgress{display:none}.h150ReceiptAction{display:flex;align-items:center;gap:9px;padding:0 11px 12px}.h150ReceiptAction>span{flex:1;min-width:0;font-size:.69rem;line-height:1.4;color:#c3d6df}.h150ReceiptAction>.btn{flex:none;min-height:44px;min-width:78px;padding:9px;font-size:.75rem;line-height:1.2}.h150ReceiptAction>.btn:disabled{opacity:.8}
.h150Detail .h150Header{border-bottom-color:var(--honour)}.h150Detail .h150Header h2{color:var(--honour);font-size:1.5rem!important}.h150Detail .h150Body{text-align:center}.h150HeroArt{display:flex;justify-content:center;margin:16px 0 21px}.h150HeroArt .h150Frame{width:128px;height:128px}.h150HeroArt .h150Crest{width:86px;height:99px;color:var(--honour)}.h150HeroArt .h150Portrait{width:130px;height:135px}.h150HeroArt .h150Portrait>.md{right:4px;bottom:0;width:30px;height:34px;font-size:15px;line-height:34px}.h150HeroArt .h150CosmeticArt{width:100%;max-width:340px}.h150HeroArt .h150CosmeticArt .cosmeticPreview121{min-height:122px;padding:18px;gap:13px;justify-content:flex-start}.h150HeroArt .cosmeticPreview121>div{display:block;text-align:left}.h150HeroArt .previewAvatar121{width:56px;height:56px}.h150HeroArt .h150CosmeticArt .profileSigil121{position:static;width:40px;height:40px}.h150HeroArt .h150CosmeticArt .bannerMark121{width:110px;height:110px;right:3px}.h150DetailState{display:inline-block;padding:5px 10px;border:1px solid #90b5b366;border-radius:8px;color:var(--honour);background:#173041;font-size:.75rem;font-weight:800}.honours150 .h150Provenance{font-size:.9rem!important;line-height:1.55;color:#e0e9ee;margin:16px 0 10px!important}.h150OwnedMessage{font-size:.76rem!important;color:#a9dfcb}.h150DetailProgress{background:#102534;padding:13px;border-radius:10px;color:#bfd9e1;font-size:.78rem!important;line-height:1.5}.h150Challenge{text-align:left;border-left:3px solid #c4a0e0;background:#302e444d;padding:12px;margin:14px 0;color:#e6d9f3;font-size:.8rem;line-height:1.5}.h150Challenge>p{font-size:inherit!important;line-height:inherit!important;margin:7px 0!important}.h150Challenge>small{color:#bdccdb;font-size:.72rem}.h150Detail .h150Body>.btn{margin-top:16px;font-size:.8rem;min-height:46px}
.h150Entry:focus-visible,.h150Notice:focus-visible,.honours150 button:focus-visible,.honours150 input:focus-visible,.honours150 select:focus-visible,.h150Group>summary:focus-visible{outline:3px solid #a1ead7;outline-offset:2px}.h150Entry:active,.h150Notice:active,.h150Tabs button:active{transform:translateY(1px)}
.h150ReceiptList{display:grid;gap:10px}.h150Receipt .h150RowText>small:first-child{letter-spacing:.025em}.h150Receipt .h150Header h2{font-size:1.5rem!important}
body.bigText .h150Entry small,body.bigText .h150Notice small,body.bigText .h150Header p,body.bigText .h150Intro,body.bigText .h150Filters label,body.bigText .h150Filters input,body.bigText .h150Filters select,body.bigText .h150RowProgress,body.bigText .h150ReceiptAction>span,body.bigText .honours150 .h150Footnote{font-size:.84rem!important}body.bigText .h150RowText>b,body.bigText .h150PairHead>b{font-size:1rem}body.bigText .h150Tabs button,body.bigText .h150Footer .btn{font-size:.9rem}body.bigText .h150State,body.bigText .h150New,body.bigText .h150RowText>small:first-child{font-size:.74rem}
@media(max-width:380px){.h150Header{padding-left:15px;gap:9px}.h150Header .h150Crest{width:37px;height:44px}.h150Header h2{font-size:1.5rem!important}.h150Body{padding:12px 12px 16px}.h150GroupBody{padding:8px}.h150Inspect{gap:10px;padding:12px 9px}.h150Frame.forgePortrait{width:51px;height:51px}.h150CosmeticArt{width:63px}.h150CosmeticArt .cosmeticPreview121{min-height:73px}.h150Footer{padding-inline:12px}.h150Entry{padding-inline:11px;gap:9px}.h150Entry>.h150Crest{width:35px;height:42px}.h150EntryEnd{gap:6px}.h150HeroArt .h150Frame{width:120px;height:120px}.h150HeroArt .h150CosmeticArt{width:100%}.h150HeroArt .cosmeticPreview121 b{font-size:.9rem}}
@media(max-height:650px){.h150Header{padding-top:15px;padding-bottom:13px}.h150Body{padding-top:12px}.h150Footer{padding-block:10px 12px}.h150HeroArt{margin-top:7px}.h150HeroArt .h150Portrait{width:108px;height:112px}.h150HeroArt .h150Frame{width:108px;height:108px}}

/* The collection opens on rewards. Refinement remains one deliberate step away,
   including at large text sizes; no clipped horizontal category strip. */
.honours150.h150Catalogue162 .h150Tabs{grid-template-columns:minmax(44px,.7fr) minmax(52px,1fr) minmax(80px,1.4fr) minmax(44px,.7fr);gap:4px;margin-bottom:8px}
.honours150.h150Catalogue162 .h150Tabs>button{min-width:0;padding:8px 3px;white-space:normal;overflow-wrap:normal;line-height:1.3}
.h150Catalogue162 .h150Header{padding-top:16px;padding-bottom:14px}
.h150Refine162{margin-bottom:8px;border-bottom:1px solid #7799a340}
.h150Refine162>summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 1px;list-style:none;cursor:pointer;color:#c2ded8;font-size:.8rem;font-weight:700;line-height:1.35}
.h150Refine162>summary::-webkit-details-marker{display:none}
.h150Refine162>summary>span{flex:1;min-width:0}
.h150Refine162>summary>small{display:inline-flex;align-items:center;justify-content:center;min-width:23px;min-height:23px;padding:2px 5px;border-radius:6px;background:#334f4d;color:#e3f2e8;font-size:.7rem;font-variant-numeric:tabular-nums}
.h150Refine162>summary>small[hidden],.h150Clear162[hidden]{display:none}
.h150Refine162>summary::after{content:'';width:7px;height:7px;flex:none;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin-left:3px;margin-right:5px}
.h150Refine162[open]>summary::after{transform:rotate(225deg)}
.h150Refine162 .h150Filters{margin:5px 0 7px}
.h150Clear162{display:block;min-height:44px;padding:8px 0;margin-bottom:5px;font-size:.8rem}
.h150Refine162>summary:focus-visible{outline:3px solid #a1ead7;outline-offset:2px}
.h150VisuallyHidden162,.h150CountQuiet162{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.h150Catalogue162 #h150Results>.h150Group:first-of-type{margin-top:0}
body.bigText .h150Refine162>summary,body.bigText .h150Clear162{font-size:.9rem}

/* Source: css/integration150.css */
/* Appearance rewards stay within existing menu/profile surfaces. */
.meAv{position:relative}
.honourDot150{position:absolute;left:50%;top:-5px;transform:translateX(-50%);padding:2px 5px;border:1px solid #e8cf84;border-radius:7px;background:#263b3e;color:#fff1bf;font:800 9px/1.15 var(--body-font,system-ui);box-shadow:0 1px 4px #0008;pointer-events:none}
.banner-wayfarer{background:linear-gradient(100deg,#284847,#172e36 70%)!important;border-color:#7faaa0!important}
.banner-wayfarer::before{opacity:.4}
.collectionTier150{display:block;color:#abd4ce;letter-spacing:.03em;margin:4px 0 7px}
.rivalHonours98.profileBanner121{padding:16px;border-radius:14px}
.rivalSigil150{display:inline-flex;vertical-align:middle;width:38px;height:38px;margin:8px 8px 8px 0}
.rivalSigilName150{display:inline;vertical-align:middle;font-size:13px;overflow-wrap:anywhere}
.motif-prestige{color:#d9c4ff}
.motif-prestige svg{filter:drop-shadow(0 1px 1px #0008)}
.resLoot+.h150Notice{margin:10px 0}

/* Source: css/cosmetic-frames151.css */
/* The same authored metal plate is used on every equipped portrait and preview.
   Percentage overhang keeps the circular opening at the original portrait edge.
   No portrait crop, wrapper dimensions or battlefield geometry change here. */
.frame-none{--frame151-image:url('../assets/cosmetics/frames/none.svg')}
.frame-bronze{--frame151-image:url('../assets/cosmetics/frames/bronze.svg')}
.frame-silver{--frame151-image:url('../assets/cosmetics/frames/silver.svg')}
.frame-gold{--frame151-image:url('../assets/cosmetics/frames/gold.svg')}
.frame-aurora{--frame151-image:url('../assets/cosmetics/frames/aurora.svg')}
.frame-flame{--frame151-image:url('../assets/cosmetics/frames/flame.svg')}
.frame-runic-common{--frame151-image:url('../assets/cosmetics/frames/runic-common.svg')}
.frame-runic-common-crest{--frame151-image:url('../assets/cosmetics/frames/runic-common-crest.svg')}
.frame-runic-common-relic{--frame151-image:url('../assets/cosmetics/frames/runic-common-relic.svg')}
.frame-runic-rare{--frame151-image:url('../assets/cosmetics/frames/runic-rare.svg')}
.frame-runic-rare-crest{--frame151-image:url('../assets/cosmetics/frames/runic-rare-crest.svg')}
.frame-runic-rare-relic{--frame151-image:url('../assets/cosmetics/frames/runic-rare-relic.svg')}
.frame-runic-epic{--frame151-image:url('../assets/cosmetics/frames/runic-epic.svg')}
.frame-runic-epic-crest{--frame151-image:url('../assets/cosmetics/frames/runic-epic-crest.svg')}
.frame-runic-epic-relic{--frame151-image:url('../assets/cosmetics/frames/runic-epic-relic.svg')}
.frame-runic-legendary{--frame151-image:url('../assets/cosmetics/frames/runic-legendary.svg')}
.frame-runic-legendary-crest{--frame151-image:url('../assets/cosmetics/frames/runic-legendary-crest.svg')}
.frame-runic-legendary-relic{--frame151-image:url('../assets/cosmetics/frames/runic-legendary-relic.svg')}
:is(.meAv,.pfAv,.frm,.forgePortrait,.celAvF,.rkAv,.rivalAvatar100,.previewAvatar121)[class*="frame-"]{position:relative}
:is(.meAv,.pfAv,.frm,.forgePortrait,.celAvF,.rkAv,.rivalAvatar100,.previewAvatar121)[class*="frame-"]::after{
  content:"";display:block;position:absolute;inset:-8%;width:auto;height:auto;margin:0;
  border:0;border-radius:0;outline:0;box-shadow:none;filter:none;
  background:var(--frame151-image) center/contain no-repeat;
  -webkit-mask:none;mask:none;animation:none;transform:none;
  pointer-events:none;z-index:1;
}
/* Replace the old four floating dots with stones cut into the actual plate. */
[class*="frame-runic-"][class*="-relic"]::before{content:none;display:none}
/* This legacy button includes its label below the portrait. Anchor only to art. */
.frm[class*="frame-"]::after{inset:4px auto auto 50%;width:48px;height:48px;margin-left:-24px}
/* Legacy celebration has important geometry; the new asset needs no CSS border. */
.celAvF[class*="frame-"]::after{inset:-8%!important;border:0!important}
.previewAvatar121[class*="frame-"]{overflow:visible}
.previewAvatar121[class*="frame-"]>.veraPortrait{overflow:hidden;border-radius:inherit}

/* Source: css/cosmetic-standards151.css */
/* Authored cloth and metal art, shared by previews and the equipped profile.
   All art stays in existing profile rectangles; there are no arena selectors. */
.banner-wayfarer{--standardArt151:url('../assets/cosmetics/standards/wayfarer.svg');--standardInk151:#193235;--standardShade151:#193235c9;--standardEdge151:#6f9281}
.banner-grove{--standardArt151:url('../assets/cosmetics/standards/grove.svg');--standardInk151:#142e2b;--standardShade151:#142e2bc9;--standardEdge151:#7d9c79}
.banner-frost{--standardArt151:url('../assets/cosmetics/standards/frost.svg');--standardInk151:#14263e;--standardShade151:#14263ec9;--standardEdge151:#7898ad}
.banner-ember{--standardArt151:url('../assets/cosmetics/standards/ember.svg');--standardInk151:#252431;--standardShade151:#252431c9;--standardEdge151:#aa795c}
.profileBanner121[class*='banner-'],.cosmeticPreview121[class*='banner-']{
 background:linear-gradient(90deg,var(--standardShade151),transparent 82%),var(--standardArt151) right center/auto 100% no-repeat,var(--standardInk151)!important;
 border-color:var(--standardEdge151)!important;
 box-shadow:inset 0 1px 0 #e3ddbf12,inset 0 -2px 0 #07172135;
}
.profileBanner121[class*='banner-']::before,.cosmeticPreview121[class*='banner-']::before{content:none}
.profileBanner121>.meTxt,.profileBanner121.pfHead>div{position:relative;z-index:1;text-shadow:0 1px 2px #081a23}
.profileBanner121.me{background-position:center,right center!important}
.rivalHonours98.profileBanner121{background-position:center,right top!important;background-size:auto,auto 148px!important;background-repeat:no-repeat!important}
.profileSigil121{filter:none}
.profileSigil121>.cosmeticSigilArt151,.cosmeticSigilArt151{display:block;width:100%;height:100%;object-fit:contain;flex:none;pointer-events:none;user-select:none}
.cosmeticPreview121.standardPreview151>.bannerMark121{display:none}
.cosmeticPreview121[class*='banner-']>.previewIdentity151{max-width:calc(100% - 96px)}
.cosmeticPreview121.sigilPreview151>div{flex:1;min-width:0}
.cosmeticPreview121 .previewTitle151{display:flex;align-items:center;gap:5px;min-width:0;margin-top:4px;font-size:.7rem;line-height:1.35;text-align:left}
.cosmeticPreview121 .previewTitle151>.honourTitle151{min-width:0;overflow-wrap:anywhere}
.cosmeticPreview121 .previewTitle151>.profileSigil121,.h150HeroArt .cosmeticPreview121 .previewTitle151>.profileSigil121{position:static;width:25px;height:25px;flex:0 0 25px;margin:0;filter:none}
@media(max-width:360px){.cosmeticPreview121[class*='banner-']>.previewIdentity151{max-width:calc(100% - 88px)}}

/* Source: css/cosmetic-presentation151.css */
/* Cosmetic objects and their actual profile presentation share the same artwork. */
.h150Crest img,.h150NoticeIcon img{display:block;width:100%;height:100%;object-fit:contain}
.h150Tabs{grid-template-columns:minmax(44px,.7fr) minmax(52px,1fr) minmax(80px,1.4fr) minmax(44px,.7fr)}
.h150Tabs button{white-space:nowrap;overflow-wrap:normal}
.h150CosmeticArt:not(.is-large) .standardPreview151>.previewAvatar121{display:none}
.honourTitle151{display:inline;color:#b9ded7;font-weight:700;line-height:inherit;text-wrap:pretty}
.honourTitle151.title-gold{color:#efd29a;text-shadow:0 1px 1px #071525}
.honourTitle151.title-master{color:#ddc5f6;text-shadow:0 1px 1px #071525;text-decoration:underline;text-decoration-color:#aa88c566;text-underline-offset:4px;text-decoration-thickness:1px}
.h151MasteryPortrait{isolation:isolate}
.h151MasteryPortrait>.veraPortrait{overflow:hidden;border-radius:12px;border:1px solid #809b9b66;background:#122331}
.h151MasteryPortrait .h151RankSeal{position:absolute;width:25px;height:29px;right:-5px;bottom:-4px;object-fit:contain;filter:drop-shadow(0 2px 1px #06111bcc)}
.h151TitlePreview{display:flex;align-items:center;gap:13px;position:relative;isolation:isolate;width:100%;max-width:340px;min-height:116px;padding:18px 16px;border:1px solid #a8a28b70;border-radius:14px;background:radial-gradient(ellipse at 15% 0,#53635e40,transparent 80%),linear-gradient(120deg,#253c46,#142637);box-shadow:inset 0 1px #e5e7ce1f,0 3px 10px #040e1726;text-align:left;box-sizing:border-box}
.h151TitleAvatar.forgePortrait{display:block;flex:none;width:56px;height:56px;margin:0}
.h151TitleAvatar>.veraPortrait{display:block;width:100%;height:100%;overflow:hidden;border-radius:inherit}
.h151TitleWords{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px;position:relative;z-index:1}
.h151TitleWords>small{font-size:.56rem;letter-spacing:.1em;color:#acbec6;line-height:1.4}
.h151TitleWords>b{font-size:1.04rem;line-height:1.25;color:#f0f0df;overflow-wrap:anywhere}
.h151TitleWords>.honourTitle151{font-size:.8rem;line-height:1.45;overflow-wrap:anywhere}
.h151TitleSeal{display:block;flex:none;width:33px;height:38px;object-fit:contain}
.h151SigilThumb{display:flex;align-items:center;justify-content:center;flex:none;width:60px;height:64px}
.h151SigilThumb>img{display:block;width:100%;height:100%;object-fit:contain}
.h151SigilShowcase{display:flex;align-items:center;flex-direction:column;width:100%;max-width:340px;gap:15px}
.h151SigilObject{display:flex;align-items:center;justify-content:center;width:110px;height:112px;position:relative;isolation:isolate}
.h151SigilObject:before{content:'';position:absolute;inset:8px -14px;border-radius:50%;background:radial-gradient(ellipse,#93b4b014,transparent 72%);z-index:-1}
.h151SigilObject>img{display:block;width:100%;height:100%;object-fit:contain}
.h150HeroArt .h151SigilShowcase .cosmeticPreview121{min-height:100px;padding:14px 16px}
body.bigText .h151TitleWords>.honourTitle151{font-size:.9rem}
@media(max-width:380px){.h151TitlePreview{gap:11px;padding:15px 12px}.h151TitleAvatar.forgePortrait{width:49px;height:49px}.h151TitleSeal{width:27px;height:33px}.h151SigilThumb{width:53px;height:59px}}
@media(max-height:700px){.h151SigilShowcase{gap:10px}.h151SigilObject{width:88px;height:90px}.h150HeroArt .h151SigilShowcase .cosmeticPreview121{min-height:92px}}

/* Source: css/home-modes152.css */
/* Keep battle choices together, using the existing Home row and height budget. */
#meta.home .homeBattleOptions152 {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  gap: 8px;
  margin: 0;
}
#meta.home .homeBattleOptions152 > button {
  min-width: 0;
  min-height: 44px;
  padding: 8px 10px;
  gap: 6px;
  border-radius: 12px;
  box-shadow: inset 0 1px #e7fff51c, 0 2px 0 #06151ed9;
  transition: background-color .12s ease, border-color .12s ease;
}
#meta.home .homeBattleOptions152 > .mapHome96 {
  background: linear-gradient(145deg, #203747, #162734);
  border-color: #587081;
  color: #bacbd6;
}
#meta.home .homeBattleOptions152 > .mapHome96 > b {
  color: #d5e1e8;
  font-size: .8rem;
  line-height: 1.2;
  text-align: left;
}
#meta.home .homeBattleOptions152 > #homeModes116 {
  background: linear-gradient(160deg, #315f60, #214448);
  border-color: #85c9ba;
  color: #b5f0dc;
}
#meta.home .homeBattleOptions152 > #homeModes116 > b {
  flex: 1;
  color: #f2fff8;
  font-size: .88rem;
  line-height: 1.2;
  white-space: normal;
}
#meta.home .homeModesIcon152 {
  display: block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
#meta.home .homeBattleOptions152 > button > span:last-child {
  flex: 0 0 auto;
  line-height: 1;
}
#meta.home .homeBattleOptions152 > button:focus-visible {
  outline: 3px solid #b2f2e1;
  outline-offset: 3px;
}
#meta.home .homeBattleOptions152 > button:active {
  transform: translateY(1px);
  box-shadow: inset 0 1px 3px #071a294d;
}
@media (hover: hover) {
  #meta.home .homeBattleOptions152 > #homeModes116:hover {
    background: linear-gradient(160deg, #3c7170, #285354);
    border-color: #b5ebd8;
  }
  #meta.home .homeBattleOptions152 > .mapHome96:hover {
    background: linear-gradient(145deg, #2b4859, #1d3542);
    border-color: #97bcc9;
  }
}
body.bigText #meta.home .homeBattleOptions152 > #homeModes116 > b {
  font-size: 1rem;
}
body.bigText #meta.home .homeBattleOptions152 > .mapHome96 > b {
  font-size: .9rem;
}
@media (prefers-reduced-motion: reduce) {
  #meta.home .homeBattleOptions152 > button { transition: none; }
}

/* Source: css/playtest152.css */
/* Keep the ability's charge and full name inside its existing 56 x 48 target.
   The arena, dock, safe-area offsets and pointer handlers stay unchanged. */
body.battle-hand-pass.in-battle .bar :is(.valk,.tap)::before{
  inset:-2px;border-radius:inherit;padding:2px;box-sizing:border-box;
  background:conic-gradient(var(--ability-tint,#ead18d) calc(var(--p,0)*1turn),#b9ced24d 0);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  pointer-events:none;
}
body.battle-hand-pass.in-battle .bar .valk .vico{display:none}
body.battle-hand-pass.in-battle .bar :is(.valk,.tap) .abCap b{
  left:2px;right:2px;bottom:4px;white-space:normal!important;
  line-height:11px!important;overflow-wrap:normal;text-wrap:balance;text-shadow:none;
}
body.battle-hand-pass.in-battle .bar .valk .abCap i{
  inset:4px 0 auto;line-height:14px!important;font-size:12px!important;
  font-variant-numeric:tabular-nums;text-shadow:none!important;
}
body.battle-hand-pass.in-battle .bar .valk.ready .abCap i{color:#f4de9b!important}
body.battle-hand-pass.in-battle .bar #valkBtn[data-ability="heal"].ready .abCap i{color:#bbf4dc!important}
body.battle-hand-pass.in-battle .bar .valk[aria-pressed="true"]{box-shadow:0 0 0 3px #f5dea0,0 2px 5px #0008!important}

/* Old desktop and large-text rules set a 144/96 px portrait wrapper inside a
   104/84 px grid track. Size both wrapper and art from their actual track. */
.mbox .cardSheet .shHead .shIdle{
  width:100%!important;max-width:100%!important;min-width:0;box-sizing:border-box;
  justify-self:stretch;overflow:hidden;
}
.mbox .cardSheet .shHead .shArt{
  width:100%!important;max-width:100%!important;box-sizing:border-box;
}
/* Match the higher-specificity compact Vera rule without reducing the image. */
@media(max-width:380px){
  .mbox .cardSheet:not(.spellSheet) .shHead .shIdle,
  .mbox .cardSheet:not(.spellSheet) .shHead .shArt{width:100%!important;max-width:100%!important}
}

/* Source: css/combo-results153.css */
/* Discoveries belong to the result's reading area, never the arena. */
.moRes .resCombo153{width:100%;box-sizing:border-box;min-height:max-content;align-self:start;text-align:left;border:1px solid #81cdbb88;border-radius:14px;background:linear-gradient(125deg,#25453e,#142a37);overflow:hidden}
.resCombo153>summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:13px 14px;box-sizing:border-box;list-style:none;cursor:pointer}
.resCombo153>summary::-webkit-details-marker{display:none}
.resCombo153>summary>span:first-child{flex:1;min-width:0}
.resCombo153>summary b{display:block;font-size:1rem;color:#e4f7ec;line-height:1.3}
.resCombo153>summary small{display:block;margin-top:4px;font-size:.82rem;line-height:1.4;color:#b6d9cf;overflow-wrap:anywhere}
.resComboCount153{display:grid;place-items:center;flex:0 0 28px;min-height:28px;border:1px solid #83cbbb77;border-radius:9px;background:#122d2b;color:#cdf8e6;font-size:.85rem;font-weight:800;font-variant-numeric:tabular-nums}
.resCombo153>summary i{font-style:normal;color:#a9dacc;transition:transform .15s ease}
.resCombo153[open]>summary i{transform:rotate(180deg)}
.resCombo153 summary:focus-visible{outline:2px solid #f4d77e;outline-offset:-4px;border-radius:10px}
.resComboBody153{padding:0 14px 14px}
.resComboSaved153{margin:0 0 12px;color:#a8c9c3;font-size:.78rem;line-height:1.45}
.resComboEntry153{border-top:1px solid #a1cbbe33;padding-top:12px;margin-top:12px}
.resComboEntry153 h3{margin:0 0 12px;color:#f2e2b5;font-size:1.1rem;line-height:1.3}
.resComboEntry153 h4{margin:12px 0 4px;color:#bbddd1;font-size:.78rem;font-weight:800}
.resComboEntry153 p{margin:0;color:#dfebe7;font-size:.88rem;line-height:1.55;overflow-wrap:anywhere}
.resComboDetail153{margin-top:8px}
.resComboDetail153>summary{display:flex;align-items:center;min-height:44px;color:#a6dbcd;font-size:.82rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;list-style:none}
.resComboDetail153>summary::-webkit-details-marker{display:none}
.resComboDetail153>summary::after{content:'+';margin-left:auto;text-decoration:none}
.resComboDetail153[open]>summary::after{content:'âˆ’'}
.resComboDetail153 p{color:#b7ccc8;font-size:.82rem}
@media(prefers-reduced-motion:reduce){.resCombo153>summary i{transition:none}}

/* Source: css/chinese154.css */
/* CJK uses platform fonts, with no font download and no changes to arena geometry. */
html:lang(zh-CN) { --font-ui-cjk: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif; --display:var(--font-ui-cjk); --ui-title:var(--font-ui-cjk); --ui-body:"VCBody",var(--font-ui-cjk); --num:"VCBody",var(--font-ui-cjk); }
html:lang(zh-CN) body, html:lang(zh-CN) button, html:lang(zh-CN) select, html:lang(zh-CN) input, html:lang(zh-CN) textarea { font-family: var(--font-ui-cjk); }
html:lang(zh-CN) :is(h1,h2,h3,h4,.eyebrow,.btn,.lnk,.card,.mnav,.cardName,.entryPlay) { font-family: var(--font-ui-cjk); letter-spacing: normal; text-transform: none; }
html:lang(zh-CN) :is(.mbox p,.mbox summary,.mbox label,.scr p,.stBody,.cardIntel,.runeSaga) { line-height: 1.5; }
html:lang(zh-CN) :is(.eyebrow,.mnav button,.btn,.lnk) { letter-spacing: normal; }
html:lang(zh-CN) .card .name { line-height: 1.18; }
/* A mixed-language Vera name wraps at its space, not inside a Chinese suffix
   (for example Hushroom / 幼体). Preserve the card's two-line label and size. */
html:lang(zh-CN) #meta .ctile .cnm { word-break:keep-all; overflow-wrap:normal; }
html:lang(zh-CN) .quest.done:not(.claimed)::after { content: "已完成"; }
html:lang(zh-CN) body.in-battle .hand .card.queued::after { content: "已排队"; }
.language154 { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; color:#e8f2f3; font:700 14px/1.4 system-ui,sans-serif; }
.language154 select { min-height:44px; max-width:55%; padding:8px 30px 8px 12px; border:1px solid #6c8e9e; border-radius:12px; background:#162c40; color:#fff3ca; font:700 14px/1.3 system-ui,sans-serif; cursor:pointer; }
.language154 select:focus-visible { outline:3px solid #9debd8; outline-offset:3px; }
.entry42>.language154 { position:absolute; z-index:3; right:max(20px,env(safe-area-inset-right)); top:max(12px,env(safe-area-inset-top)); padding:0; }
.entry42>.language154>span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.entry42>.language154 select { max-width:none; box-shadow:0 3px 12px #0008; }
/* Honour filters must retain the full label and count at the large text setting. */
html:lang(zh-CN) .h150Tabs button { min-width:44px; min-height:44px; padding:8px; white-space:normal; line-height:1.35; overflow-wrap:anywhere; }
@media (max-width:480px) {
  html:lang(zh-CN) .h150Tabs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
}

/* Chinese shop metadata keeps quantity and inspect action on distinct lines. */
@media (max-width:480px) {
  html:lang(zh-CN) #scr-shop .shopMerchMeta132 { flex-direction:column; align-items:center; gap:3px; }
}

/* Keep the official Hushroom name readable without widening a battle card. */
@media (max-width:480px) {
  html:lang(zh-CN) body.battle-hand-pass.in-battle:not(.bigText) :is(#hand .card,.flycard)[data-bh-key="hushlings"] .nm {
    white-space:normal; line-height:13px!important;
  }
  html:lang(zh-CN) body.battle-hand-pass.in-battle:not(.bigText) :is(#hand .card,.flycard)[data-bh-key="hushlings"] .bh-caption { height:28px; }
  html:lang(zh-CN) body.battle-hand-pass.in-battle:not(.bigText) :is(#hand .card,.flycard)[data-bh-key="hushlings"] .bh-visual { bottom:31px; }
  html:lang(zh-CN) body.battle-hand-pass.in-battle:not(.bigText) :is(#hand .card,.flycard)[data-bh-key="hushlings"]:has(.bh-state:not(:empty)) .bh-caption { height:43px; padding-bottom:15px; }
  html:lang(zh-CN) body.battle-hand-pass.in-battle:not(.bigText) :is(#hand .card,.flycard)[data-bh-key="hushlings"]:has(.bh-state:not(:empty)) .bh-visual { bottom:46px; }
}

/* Source: css/keyboard156.css */
/* Menu dialogs follow the visible screen above a software keyboard. These
   variables belong to the dialog only; no battlefield dimensions are changed. */
#mmodal.modalViewport156{
  inset:auto;left:var(--modal-left156);top:var(--modal-top156);
  width:var(--modal-width156);height:var(--modal-height156);
}
#mmodal.modalViewport156:is(.modalEditing156,.modalReduced156)>.mbox{
  max-height:calc(var(--modal-height156) - 28px)!important;
  overscroll-behavior:contain;scroll-padding-block:12px;
}
#mmodal.modalViewport156.modalReduced156 .accountPanel{
  max-height:calc(var(--modal-height156) - 28px);
}
#mmodal.modalViewport156:is(.modalEditing156,.modalReduced156) .settingsPanel{max-height:calc(var(--modal-height156) - 30px)}
#mmodal.modalViewport156:is(.modalEditing156,.modalReduced156) .prof{max-height:calc(var(--modal-height156) - 76px)}
@media(max-width:699px){#mmodal.modalViewport156:is(.modalEditing156,.modalReduced156)>.mbox{max-height:calc(var(--modal-height156) - 24px)!important}}
#mmodal.modalEditing156>.mbox{animation:none}
/* 16px prevents iOS from zooming the page when a small input receives focus. */
#mmodal input:not([type]),#mmodal input:is([type="text"],[type="search"],[type="email"],[type="url"],[type="tel"],[type="number"],[type="password"]),#mmodal textarea{
  font-size:max(16px,1em)!important;
}

/* Source: css/playtest156.css */
/* A visible route to voluntary sharing, within the Global list only. */
.rankJoin156{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #527b7b;border-radius:14px;background:linear-gradient(125deg,#203e43,#152a39);box-shadow:inset 0 1px #b7f4e41f}
.rankJoin156>div{flex:1;min-width:0}.rankJoin156 b{display:block;color:#ddf4e8;font-size:.9rem;line-height:1.35}.rankJoin156 p{margin:5px 0 0;color:#b8cdd8;font-size:.78rem;line-height:1.45}.rankJoin156 .btn{flex:none;min-height:44px;max-width:100%;white-space:normal;font-size:.8rem;line-height:1.3}
body.bigText .rankJoin156 b{font-size:1rem}body.bigText .rankJoin156 p,body.bigText .rankJoin156 .btn{font-size:.9rem}
@media(max-width:600px){.rankJoin156{align-items:stretch;flex-direction:column;gap:9px}.rankJoin156 .btn{align-self:flex-start}}
/* One-time disclosure after the default-sharing rollout. Home only. */
#scr-home .sharingNotice156{flex:none;margin:0 0 4px;padding:10px 12px;border:1px solid #527b7b;border-radius:14px;background:linear-gradient(125deg,#203e43,#152a39);box-shadow:inset 0 1px #b7f4e41f;text-align:left}
#meta.home #scr-home:has(.sharingNotice156) .homeWorld{display:none}
#meta.home #scr-home:has(.sharingNotice156){gap:4px}
.sharingNotice156>b{display:block;font-size:.88rem;line-height:1.3;color:#ddf4e8}.sharingNotice156 p{margin:5px 0;color:#c4d6df;font-size:.75rem;line-height:1.45}.sharingNotice156>div{display:flex;gap:10px;align-items:center}.sharingNotice156 :is(.btn,.lnk){min-height:44px;font-size:.78rem;line-height:1.3;white-space:normal}.sharingNotice156 .lnk{padding:8px 10px;color:#cee6e0}
body.bigText .sharingNotice156>b{font-size:1rem}body.bigText .sharingNotice156 p,body.bigText .sharingNotice156 :is(.btn,.lnk){font-size:.9rem}

/* Source: css/home157.css */
/* Home composition: the courtyard, a chosen team and one battle action.
   Everything here is menu-scoped; it cannot resize the battlefield. */
#meta.home #scr-home{gap:10px;padding-bottom:14px}
#meta.home .homeIdentity{padding:0 2px}
#meta.home .homeArena{background:none;border-radius:0;box-shadow:none;min-height:62px;padding-right:6px}
#meta.home .homeArenaText>b{font-size:1.05rem;letter-spacing:.015em;color:#f0dfb7}
#meta.home .homeRoadLink{color:#d4e4e4;font-weight:700;text-shadow:0 1px 3px #000c}
/* The painted courtyard owns contrast. No rectangular scrim behind the crest. */
#meta.home .homeArenaText{text-shadow:0 1px 3px #000c}
#meta.home .homeArena:focus-visible{outline:2px solid #b2eddb;outline-offset:3px;border-radius:8px}
#meta.home .homeWorld{flex:1 0 84px;min-height:84px}
#meta.home .hBottom{gap:8px}
#meta.home #homeSync114:empty{display:none}

/* The deck is a substantial, tactile control. Side arrows remain obvious. */
#meta.home .homeDeck{padding:5px;gap:4px;border-color:#789e9b;border-radius:15px;background:linear-gradient(160deg,#25424d,#142c38);box-shadow:inset 0 1px #b4ded72e,0 3px 0 #071620,0 6px 12px #0003}
#meta.home .homeDeckChoice{min-height:54px;gap:10px}
#meta.home .homeDeckPortrait{height:49px;width:49px;border-radius:10px;border-color:#9abcb096;box-shadow:none}
#meta.home .homeDeckArrow{min-height:46px;border-color:#89c3b7;background:linear-gradient(#365b62,#28414d);color:#d5f1e5;box-shadow:inset 0 1px #d1f8ec2a,0 2px #081b25}
#meta.home .homeDeckText small{color:#b6cdd4}

/* Rival and location are two thumb targets inside one quiet match briefing. */
#meta.home .homeBrief157{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:0;border:1px solid #647d8470;border-radius:13px;background:#102632f2;box-shadow:inset 0 1px #c3ded514;overflow:hidden}
#meta.home .homeBrief157:not(:has(.homeMatch106)){grid-template-columns:minmax(0,1fr)}
#meta.home .homeBrief157>button{position:static;inset:auto;max-width:none;min-width:0;min-height:76px;width:100%;margin:0;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:6px;text-align:left;border:0;border-radius:0;background:transparent;box-shadow:none;color:#a3c7c7;font:inherit;cursor:pointer;touch-action:manipulation}
#meta.home .homeBrief157>button+button{border-left:1px solid #5d7a814d}
#meta.home .homeMatchWho106{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;align-items:center;min-width:0;flex:1}
#meta.home .homeMatchWho106>small{grid-column:1/-1}
#meta.home .homeMatchWho106>small,.homeMapCopy157>small{color:#abc2cc;font:750 .65rem/1.25 var(--ui-body);letter-spacing:.045em}
#meta.home .homeMatchWho106>b,.homeMapCopy157>b{display:block;color:#e9f0ec;font:850 .84rem/1.25 var(--ui-body);white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}
#meta.home .homeMatchWho106>span{color:#e6cf9c;font-size:.72rem;gap:4px;justify-self:end}
#meta.home .homeMatchMore106{font:700 1.1rem/1 var(--ui-body)}
.homeMapCopy157{display:grid;gap:4px;min-width:0}
#meta.home .homeBrief157>button:focus-visible{outline:3px solid #b2eddb;outline-offset:-4px}
#meta.home .homeBrief157>button:active{background:#9acfc418;transform:none}

/* Modes stay immediately above Battle, with no competing gold panel. */
#meta.home .homeModes157{display:flex;justify-content:center;margin:0}
#meta.home .homeModes157>#homeModes116{display:flex;justify-content:center;align-items:center;gap:8px;min-height:44px;min-width:160px;max-width:100%;padding:7px 14px;border:0;border-radius:10px;background:#0c2532c7;box-shadow:none;color:#b9e7db;cursor:pointer}
#meta.home .homeModes157>#homeModes116>b{flex:none;color:#d8eee4;font:800 .85rem/1.25 var(--ui-body)}
#meta.home .homeModes157 .homeModesIcon152{width:17px;height:17px;flex-basis:17px}
#meta.home #battleBtn{border:1px solid #f2dda5;min-height:76px;box-shadow:inset 0 2px #fff4c9,0 4px #846333,0 8px 14px #0005!important}
#meta.home #battleBtn b{letter-spacing:.055em!important}
#meta.home .progress116{border-radius:0;background:none;text-shadow:0 1px 3px #000c;min-height:44px;padding:7px 8px;font-size:.73rem;color:#c5d9d9}
#meta.home .progress116>span:last-child{color:#b5c9cc}
#meta.home #hDrop .homeDropLabel{border:0;border-bottom:1px solid #a9c2b770;border-radius:7px;background:#102937ed;box-shadow:none}

body.bigText #meta.home .homeMatchWho106>b,body.bigText .homeMapCopy157>b{font-size:.96rem}
body.bigText #meta.home .homeMatchWho106>small,body.bigText .homeMapCopy157>small{font-size:.76rem}
body.bigText #meta.home .homeMatchWho106>span{font-size:.84rem}
body.bigText #meta.home .homeModes157>#homeModes116>b{font-size:.96rem}
body.bigText #meta.home .progress116{font-size:.86rem}
@media(max-height:700px){
 #meta.home #scr-home:has(.sharingNotice156) .homeArena{min-height:44px}
 #meta.home #scr-home{gap:6px;padding-top:2px;padding-bottom:10px}
 #meta.home .homeArena{min-height:56px}
 #meta.home .homeWorld{min-height:50px;flex-basis:50px}
 #meta.home .hBottom{gap:5px}
 #meta.home .homeDeckChoice{min-height:48px}
 #meta.home .homeDeckPortrait{height:44px;width:44px}
 #meta.home .homeBrief157>button{min-height:68px;padding:7px 10px}
 #meta.home #battleBtn{min-height:68px}
}
/* Status and first-visit messages may use the courtyard space, never the arena. */
#meta.home #scr-home:has(.sharingNotice156) .homeWorld{display:none}
#meta.home #scr-home:has(.sharingNotice156){gap:4px}
@media(max-height:700px){
 #meta.home #scr-home:has(.sharingNotice156) .hBottom{gap:3px}
 #meta.home #scr-home:has(.sharingNotice156) .peCrest{width:44px;height:44px;flex-basis:44px}
 #meta.home #scr-home .sharingNotice156{padding-block:6px;margin-bottom:0}
 #meta.home #scr-home:has(.sharingNotice156) .homeDeckChoice{min-height:44px}
 #meta.home #scr-home:has(.sharingNotice156) .homeBrief157>button{padding:5px 10px;min-height:61px}
 #meta.home #scr-home:has(.sharingNotice156) #battleBtn{min-height:64px}
 body.bigText #meta.home #scr-home:has(.sharingNotice156) #battleBtn{padding-block:6px!important}
}
@media(min-width:1000px) and (min-height:650px){
 #meta.hasHomeScene125.home #scr-home{gap:14px}
 #meta.hasHomeScene125.home .homeArena{min-height:72px}
 #meta.hasHomeScene125.home .hBottom{gap:9px}
 #meta.hasHomeScene125.home .homeWorld:not(:has(#hDrop,.firstStep,.mapWelcome98)){display:none}
}
@media(hover:hover){
 #meta.home .homeBrief157>button:hover{background:#93cebf14}
 #meta.home .homeModes157>#homeModes116:hover{background:#254b50;color:#e1f9eb}
}

/* Source: css/materials157.css */
/* Frontlines menu materials: navy for reading, mint for selection, gold for
   commitment/rewards. Scoped to named menu components; portraits and combat
   geometry keep their existing owners. */
#meta,#mmodal,#howOv{
  --fl-reading157:#142b3a;
  --fl-line157:#607f8c70;
  --fl-copy157:#c5d7df;
  --fl-selected157:linear-gradient(#365f56,#234740);
  --fl-select-line157:#94d2be;
  --fl-edge157:inset 0 1px #d7ede21c,0 2px 0 #061522;
}

/* A card has one main illustrated surface. Reference disclosures use a shared
   inset material; an available upgrade keeps its existing green signal. */
.mbox .cardSheet116 :is(.detailsTactics116,.mBlockD,.exactStats116),
.mbox .cardSheet116 .upgradePreview116:not(.upgradeReady116),
.mbox .cardSheet116 .unlockDetails116{
  background:var(--fl-reading157);
  border-color:var(--fl-line157);
  box-shadow:inset 0 1px #d7ede20c;
  border-radius:12px;
}
.mbox .cardSheet116 :is(.detailsTactics116,.mBlockD,.exactStats116)>summary{
  color:#e1ecec;
}
/* The shelf, rather than every price, carries the decoration. Rarity borders,
   quantities, sold receipts, and insufficient-funds states are retained. */
#scr-shop .offer.shopOffer132{
  background:linear-gradient(155deg,#293f50,#182e40)!important;
  box-shadow:var(--fl-edge157)!important;
}
#scr-shop .offer.shopOffer132.sold{
  background:#152a3a!important;
  box-shadow:inset 0 1px #d7ede20c!important;
}
#scr-shop .offer .buyPrice116:not([aria-disabled="true"]):not(:disabled){
  color:#ecfff5!important;
  background:var(--fl-selected157)!important;
  border-color:#81b6a5!important;
  box-shadow:inset 0 1px #daffed38,0 2px 0 #0b211f!important;
  text-shadow:0 1px #12352b!important;
}
#scr-shop .offer .buyPrice116:not([aria-disabled="true"]):not(:disabled):active{
  box-shadow:inset 0 1px 3px #071b2459!important;
}
#scr-shop .offerAction128{align-self:stretch}
#scr-shop .offer .buyPrice116{font-variant-numeric:tabular-nums}
#scr-shop .offer .buyPrice116:focus-visible{outline:3px solid #e8fff4;outline-offset:2px}

/* Ordinary goals are calm; ready claims remain visibly green with gold actions. */
#scr-quests .quest:not(.done):not(.claimed){
  background:linear-gradient(120deg,#203849,#162c3c)!important;
  border-color:var(--fl-line157)!important;
  box-shadow:inset 0 1px #d7ede210!important;
}
.mbox .honours150 .h150Tabs button[aria-pressed="true"],
.mbox .cosmeticTabs121 .btn[aria-pressed="true"]{
  color:#effff6!important;
  background:var(--fl-selected157)!important;
  border-color:var(--fl-select-line157)!important;
  box-shadow:inset 0 -3px #a9e5cf,inset 0 1px #d7ede22b!important;
}
/* Gold/master ownership rims and actual cosmetic previews are untouched. */
.honours150 .h150Row.is-locked{
  background:var(--fl-reading157);
  box-shadow:none;
}

/* Reading is not a stack of purchase tiles. One separator groups each fact. */
.mbox .fieldGuide .fieldFact{
  border:0;
  border-top:1px solid var(--fl-line157);
  border-radius:0;
  padding:14px 0 0;
  background:transparent;
  box-shadow:none;
}
.mbox .fieldGuide .fieldFact h3{color:#dceee8}
.mbox .fieldGuide .fieldFact p{color:var(--fl-copy157)}
.mbox .fieldGuide .fieldMore157,
#howBody .cjNotes157{
  border:0;
  border-block:1px solid var(--fl-line157);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  margin:12px 0;
}
.fieldMore157>summary,#howBody .cjNotes157>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:44px;
  padding:8px 0;
  box-sizing:border-box;
  color:#b9e0d4;
  font:750 .83rem/1.4 var(--ui-body);
  list-style:none;
  cursor:pointer;
}
.fieldMore157>summary::-webkit-details-marker,#howBody .cjNotes157>summary::-webkit-details-marker{display:none}
.fieldMore157>summary::after,#howBody .cjNotes157>summary::after{content:'+';flex:none;font-size:1.1rem}
.fieldMore157[open]>summary::after,#howBody .cjNotes157[open]>summary::after{content:'−'}
.fieldMore157>p,#howBody .cjNotes157>p{margin:0 0 12px;font:600 .83rem/1.5 var(--ui-body);color:var(--fl-copy157)}
.fieldMore157>summary:focus-visible,#howBody .cjNotes157>summary:focus-visible{outline:3px solid #a6edda;outline-offset:1px}
#howBody .cjEntry[open] .cjNotes157>summary{border-bottom:0}
#howBody .cjPractice .cjNotes157{margin:8px 0 12px;border-top:0}
#howBody .cjPractice{padding-top:12px;margin-top:14px}
#scr-deck .deckPlanBody107>.deckCombo100{
  border:0;
  border-top:1px solid var(--fl-line157);
  border-radius:0;
  background:none;
  box-shadow:none;
  padding:12px 0 4px;
  margin:4px 0 0;
}

/* Only an explicit press starts card teaching, including its focus movement. */
#mmodal #cardGuide.cardGuideOffer157{
  padding:0;
  margin:4px 0 8px;
  border:0;
  background:none;
  box-shadow:none;
}
.guideOptIn157{
  min-height:44px;
  padding:8px 2px;
  border:0;
  background:none;
  color:#a9dccc;
  font:750 .83rem/1.4 var(--ui-body);
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.guideOptIn157:focus-visible{outline:3px solid #a6edda;outline-offset:2px;border-radius:5px}
body.bigText .guideOptIn157,body.bigText .fieldMore157>summary,body.bigText #howBody .cjNotes157>summary{font-size:1rem}
body.bigText .fieldMore157>p,body.bigText #howBody .cjNotes157>p{font-size:1rem}

/* Source: css/moments157.css */
/* Authored moments: one strong beat, then room to read. Presentation only. */
.mo.moRes .resCrest{display:none!important}
.mo.moRes .resTitle{animation:none!important;filter:none;text-shadow:0 2px #040b1580}
.mo.moRes .rcr.lit{animation:none}
.mo.moRes .rcr.lit svg{filter:none}
.mo.moRes .resSide{background:transparent;border-color:transparent}
.mo.moRes .resTro{box-shadow:none}
.mo.moRes .resLoot{border-top:0}
.mo.moRes .moBody{gap:10px!important}
.moCel .moMote{animation-iteration-count:1}
.moCel .celArt img{filter:drop-shadow(0 8px 7px #020a1680)}
.crownFly{width:42px;height:33px;filter:drop-shadow(0 3px 3px #04101a99)}
.mo.moEnd.end-win[data-crowns="3"] .endRibbon{border-color:#efd28a;box-shadow:inset 0 2px 0 #ffffff29,inset 0 -3px 0 #0005,0 4px 0 #08131c}
.mo.moEnd .endDoubleCrest157{filter:none}

/* Keep the engraved stone and its tactile input. Remove competing decoration,
   especially the eight satellites, revolving rays and full-screen flash. */
.dfx.dfxSaga .dfxSatellites,.dfx.dfxSaga .dfxRays,.dfx.dfxSaga .dfxAurora,.dfx.dfxSaga .dfxSlashes,.dfx.dfxSaga .dfxFlash{display:none!important}
.dfx.dfxSaga .dfxArch{opacity:.38}
.dfx.dfxSaga .gateSvg,.dfx.dfxSaga .rewardSigil{animation:none!important}
.dfx.dfxSaga .dfxHeroFrame:after{display:none!important}
.dfx.dfxSaga .dfxTierDetail:empty{display:none}
.dfx.dfxSaga.revealed .dfxBg{background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--t) 12%,#10213b),#071322 64%,#040c17)}
.dfx.dfxSaga.revealed:not(.isDiscovery) .dfxHalo{display:none}
.dfx.dfxSaga.revealed .dfxArt{animation:none!important;transform:none!important;opacity:1}
.dfx.dfxSaga .dfxCard{animation:rewardRead157 .2s ease-out both}
.dfx.dfxSaga.isDiscovery .dfxCard{animation-duration:.32s}
.dfx.dfxSaga.isDiscovery .dfxBg:after{display:none}
.dfx.dfxSaga.isDiscovery .dfxHalo{opacity:.28}
.dfx.dfxSaga.isDiscovery .dfxHeroFrame:before{display:none}
.dfx.dfxSaga .dfxCard .dfxAmount157{position:static;display:flex;align-items:baseline;justify-content:center;gap:7px;margin:2px 0 0;padding:0;border:0;background:none;box-shadow:none;transform:none;color:#d0eee5;line-height:1.2}
.dfx.dfxSaga .dfxCard .dfxAmount157 b{font:900 1.8rem/1.05 var(--ui-body);font-variant-numeric:tabular-nums;color:#d7f4e9}
.dfx.dfxSaga .dfxCard .dfxAmount157 small{font:700 .85rem/1.25 var(--ui-body);color:#b5cfd7;text-transform:none}
.dfx.dfxSaga:not(.isDiscovery) .dfxCard h2{font-size:clamp(1.45rem,7vw,2rem)!important;line-height:1.15!important;color:#e7edf1}
.dfx.dfxSaga .dfxFreshAction157{width:100%;max-width:340px;justify-content:center;border-color:#88bdb46b;background:linear-gradient(#224448,#153239);color:#dcf2e7}
.dfx.dfxSaga .dfxFreshAction157:active{transform:translateY(1px);background:#163438}
.dfx.dfxSaga .dfxSaved{letter-spacing:0}
body.bigText .dfx.dfxSaga .dfxCard .dfxAmount157 small{font-size:1rem}
@keyframes rewardRead157{from{opacity:0}to{opacity:1}}
@media(max-height:700px){
  .dfx.dfxSaga .dfxCard .dfxAmount157 b{font-size:1.6rem}
  .dfx.dfxSaga .dfxCard{gap:6px}
}
.dfx.dfxSaga.low .dfxCard{animation:none!important}
body.fxLow .crownFly{display:none}
@media(prefers-reduced-motion:reduce){.dfx.dfxSaga .dfxCard{animation:none!important}.crownFly{display:none}}

/* Source: css/home159.css */
/* The painted floor stays an atmospheric part of Home, not a lit empty stage.
   Anchored to the actual painting by HOME_SCENE125, not to viewport guesses.
   The soft treatment never covers the water, braziers or any user interface. */
#homeScene125::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 24% 12% at 50% 71%,rgba(9,23,36,.48) 0%,rgba(9,23,36,.36) 46%,rgba(9,23,36,.10) 75%,transparent 100%)}
#homeScene125[data-orientation="p"]::before{background:radial-gradient(ellipse 42% 10% at 50% 75%,rgba(9,23,36,.38),rgba(9,23,36,.18) 58%,transparent 100%)}

/* Keep the animated fire inside the painted material, never a flat cut-out. */
#homeScene125 .courtyardFire125{opacity:.22}

/* Source: css/materials159.css */
/* Frontlines 159: give the illustration and the reward the room formerly
   occupied by nested frames. Menu-only owners; no battle or art-source edits. */

/* The sheet is already the frame. Keep a readable portrait/metadata pair
   inside it instead of a second large, mostly empty illustrated panel. */
.mbox .cardSheet.cardSheet116 .shHead{
  grid-template-columns:128px minmax(0,1fr)!important;
  gap:16px!important;
  min-height:0!important;
  margin:0 0 12px;
  padding:6px 2px 10px!important;
  border:0;
  border-radius:0;
  background:none!important;
  box-shadow:none;
}
.mbox .cardSheet.cardSheet116 .shHead>div{padding:0;align-self:center}
.mbox .cardSheet.cardSheet116 .shHead .shIdle,
.mbox .cardSheet.cardSheet116 .shHead .shArt{
  width:100%!important;
  max-width:100%!important;
  height:128px!important;
  min-height:0!important;
}
.mbox .cardSheet.cardSheet116 .shHead .shArt.cardPortrait{
  border-radius:10px;
  mask-image:none;
  filter:none!important;
}
.mbox .cardSheet.cardSheet116 .shRole{gap:7px}
.mbox .cardSheet.cardSheet116 .shPrice{margin-top:10px;gap:8px}
/* These are facts, not raised tiles. The ready upgrade and its primary action
   keep their colour and depth. Expandable rows keep their hit areas/focus. */
.mbox .cardSheet.cardSheet116 .ci-type-target{
  border:0;
  border-block:1px solid #7799a33b;
  border-radius:0;
  background:none;
  box-shadow:none;
  padding:10px 2px;
}
.mbox .cardSheet.cardSheet116 :is(.masteryNext90,.duCycle,.trackerContext119){
  box-shadow:none;
}
.mbox .cardSheet.cardSheet116 .masteryNext90{
  background:#142b39;
  border-color:#607f8c55;
}
@media(max-width:480px){
  .mbox .cardSheet.cardSheet116 .shHead{
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:14px!important;
  }
  .mbox .cardSheet.cardSheet116 .shHead .shIdle,
  .mbox .cardSheet.cardSheet116 .shHead .shArt{height:112px!important}
}
@media(max-width:340px){
  .mbox .cardSheet.cardSheet116 .shHead{
    grid-template-columns:104px minmax(0,1fr)!important;
    gap:10px!important;
  }
  .mbox .cardSheet.cardSheet116 .shHead .shIdle,
  .mbox .cardSheet.cardSheet116 .shHead .shArt{height:104px!important}
}

/* One rarity rim per offer. The progress line is real rune progress, and stays.
   Inspect, buy, sold, tracked and insufficient-funds states keep their owners. */
#scr-shop .offer.shopOffer132{
  border:1px solid color-mix(in srgb,var(--rc) 55%,#31485f)!important;
  background:linear-gradient(160deg,#243b4a,#182e3e)!important;
  box-shadow:0 2px 0 #061522!important;
}
#scr-shop .offer.shopOffer132.sold{
  border-color:color-mix(in srgb,var(--rc) 35%,#31485f)!important;
  background:#152a38!important;
  box-shadow:none!important;
}
#scr-shop .shopOffer132 .offerFlags>small:first-child{
  padding:2px 0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:#d5e1e8;
}
#scr-shop .shopOffer132 .oArt::after{display:none}
#scr-shop .shopOffer132 .oArt:has(.cardPortrait){
  height:104px;
  max-width:140px;
}
#scr-shop .shopOffer132 .oArt:has(.cardPortrait.veraGroup){max-width:156px}
/* Keep the existing camera and every swarm member. A narrow feather joins the
   source backdrop to the shelf without dimming faces or drawing a hard inset. */
#scr-shop .shopOffer132 .oArt>.cardPortrait{
  mask-image:linear-gradient(90deg,transparent,#000 6% 94%,transparent),linear-gradient(transparent,#000 8% 80%,transparent);
  mask-composite:intersect;
}
#scr-shop .shopOffer132 .offerProgressTrack132{box-shadow:none}

/* Small labels share an edge, not extra miniature decoration. Mint denotes
   player level; warm gold denotes something earned/unread. Counts stay counts,
   and the small shop/upgrade dots retain their existing meanings and anchors. */
#meta .honourDot150{
  top:-4px;
  padding:2px 4px;
  border:1px solid #182c3a;
  border-radius:5px;
  background:#efd18e;
  color:#263027;
  font-family:var(--ui-body);
  font-weight:850;
  text-shadow:none;
  box-shadow:0 1px 1px #030c1666;
}
#meta .meAv .meLv{
  border-radius:5px!important;
  border:1px solid #182c3a;
  background:#9bdcca!important;
  box-shadow:0 1px 1px #030c1666!important;
}
#meta .homeNavCount,
#meta .roadSectionCount,
#meta .homeDropCount,
.h150New{
  border:1px solid #182c3a;
  border-radius:5px;
  background:#efd18e;
  color:#263027;
  font-family:var(--ui-body);
  font-weight:850;
  font-variant-numeric:tabular-nums;
  text-shadow:none;
  box-shadow:0 1px 1px #030c1666;
}
#meta .tab .dot{
  border:1px solid #182c3a;
  box-sizing:border-box;
  background:#efd18e!important;
  box-shadow:0 0 0 2px #122239!important;
}

/* A quiet reading surface lets earned rewards carry the colour. Claim buttons,
   completion colour, reward artwork and progress tracks remain unchanged. */
#scr-quests .quest:not(.done):not(.claimed){
  background:#182f3f!important;
  box-shadow:none!important;
}
#scr-quests .quest:not(.done) .qIco{
  border:0;
  background:none;
  box-shadow:none;
}
#scr-quests .dropInfo{
  background:#152c3b;
  box-shadow:none;
}

/* Source: css/ceremony159.css */
/* Put the earned object first. Existing art, real profile scale, no new ornament. */
.cosmeticShowcase159{display:grid;justify-items:center;gap:12px;width:100%;max-width:360px;margin:14px auto 18px;min-width:0}
.cosmeticObject159{display:grid;place-items:center;width:128px;height:128px;flex:none}
.cosmeticObject159>.cosmeticSigilArt151{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 3px #020b1470)}
.cosmeticContext159{width:100%;min-width:0;text-align:left}
.cosmeticContext159>small{display:block;margin:0 0 5px;font:700 .7rem/1.4 var(--ui-body);color:#acc6ce}
.cosmeticContext159 .cosmeticPreview121{min-height:78px;padding:12px 0;gap:12px;border:0;border-top:1px solid #8cabb02e;border-radius:0;box-shadow:none;background:transparent}
.cosmeticContext159 .previewAvatar121{width:46px;height:46px}
.cosmeticContext159 .cosmeticPreview121 .previewTitle151>.profileSigil121{width:25px;height:25px;flex:0 0 25px}
.cosmeticContext159 .cosmeticPreview121 b{font-size:.95rem;line-height:1.25}
.cosmeticContext159 .cosmeticPreview121[class*='banner-']{border-radius:8px;padding-inline:12px}
.cosmeticContext159 .cosmeticPreview121[class*='banner-']>.previewIdentity151{max-width:calc(100% - 82px)}
.h150HeroArt>.cosmeticShowcase159{margin:0}
.h150HeroArt .cosmeticContext159 .previewAvatar121{width:46px;height:46px}
.h150HeroArt .cosmeticContext159 .cosmeticPreview121 .profileSigil121{width:25px;height:25px}
.cosmeticChoice121{font-family:var(--ui-body);font-size:.9rem}
.cosmeticChoice121>span:not(.cosmeticThumb159)>b{font-size:.95rem;line-height:1.25}
.cosmeticChoice121>span:not(.cosmeticThumb159)>small{font-size:.78rem;line-height:1.4}
.cosmeticChoice121.sigilChoice159{grid-template-columns:68px minmax(0,1fr) 12px;align-items:center;gap:12px;min-height:96px;padding:12px}
.cosmeticChoice121.sigilChoice159>.cosmeticThumb159{display:grid;place-items:center;width:68px;height:68px;padding:0}
.cosmeticThumb159>.cosmeticSigilArt151{display:block;width:100%;height:100%;object-fit:contain}
.cosmeticChoice121.sigilChoice159>span:not(.cosmeticThumb159){padding:0;min-width:0;overflow-wrap:anywhere;line-height:1.4}
body.bigText .cosmeticChoice121>span:not(.cosmeticThumb159)>b{font-size:1rem}
body.bigText .cosmeticChoice121>span:not(.cosmeticThumb159)>small{font-size:.88rem}

/* A category is a heading, not a second box around every reward card. */
.honours150 .h150Group{border:0;border-radius:0;background:none;overflow:visible;margin:12px 0 18px}
.honours150 .h150Group>summary{min-height:48px;padding:10px 1px;color:#d8e7e5;background:none;border-bottom:1px solid #7799a340;border-radius:0}
.honours150 .h150Group>summary>small{font-variant-numeric:tabular-nums;color:#acc3ca}
.honours150 .h150GroupBody{padding:10px 0 0;gap:10px}
.honours150 .h150Group:not([open]){margin-bottom:2px}

/* The shield carries the ceremony. Title and score no longer form nested plaques. */
.mo.moEnd .endStandard{gap:3px;filter:drop-shadow(0 5px 6px #02070b90)}
.mo.moEnd .endInsignia{margin-bottom:0;width:156px;height:118px}
.mo.moEnd .endRibbon,
.mo.moEnd.end-win[data-crowns='3'] .endRibbon,
.mo.moEnd.end-lose .endRibbon{padding:9px 0 7px;border:0;border-radius:0;background:none;box-shadow:none}
.mo.moEnd .endRibbon::before,.mo.moEnd .endRibbon::after{content:none}
.mo.moEnd .endWord{letter-spacing:.035em;text-shadow:0 3px 0 #07111d,0 5px 12px #02070bd9}
.mo.moEnd .endScore{width:min(238px,100%);grid-template-columns:minmax(62px,1fr) 38px minmax(62px,1fr);gap:4px;margin-top:4px;padding:4px 0 0;border:0;border-radius:0;background:none;box-shadow:none}
.mo.moEnd .endTeam{gap:4px}
.mo.moEnd .endTeam small{font-size:.63rem;letter-spacing:.04em;color:#d3e1e8;text-shadow:0 2px 3px #02070b}
.mo.moEnd .endTeam b{font-size:1.8rem;text-shadow:0 2px 0 #030a10,0 3px 5px #030a10}
.mo.moEnd .endCrown{gap:4px}
.mo.moEnd .endCrown svg{width:23px;height:18px}
.mo.moEnd .endCrown small{font-size:.55rem;color:#d3e1e8;text-shadow:0 2px 3px #02070b}

@media(max-width:380px){
 .cosmeticChoice121.sigilChoice159{grid-template-columns:58px minmax(0,1fr) 12px;gap:10px}
 .cosmeticChoice121.sigilChoice159>.cosmeticThumb159{width:58px;height:58px}
}
@media(max-height:700px){
 .cosmeticShowcase159{gap:8px;margin-block:10px 14px}
 .cosmeticObject159{width:104px;height:104px}
 .cosmeticContext159 .cosmeticPreview121{min-height:68px;padding-block:8px}
 .mo.moEnd .endInsignia{width:140px;height:106px}
 .mo.moEnd .endRibbon{padding-block:7px 5px}
}

/* Source: css/portraits160.css */
/* Portrait aperture ownership. The original art and frame overhang are kept:
   only the image inside an avatar is circular, never the decorated container.
   Legacy frame selectors and level-up rewards used an 8px card image inside
   a circular metal frame, leaving square background corners visible. */
:is(.meAv,.pfAv,.frm,.forgePortrait,.celAvF,.rkAv,.rivalAvatar100,.previewAvatar121)>.veraPortrait{
  border-radius:50%;
  clip-path:circle(50% at 50% 50%);
  overflow:hidden;
}
/* A framed avatar never inherits a card's fading edge or inset photograph.
   Labels and frame ornaments are siblings and are deliberately not clipped. */
:is(.meAv,.pfAv,.frm,.forgePortrait,.celAvF,.rkAv,.rivalAvatar100,.previewAvatar121)>.cardPortrait{
  mask-image:none;
  filter:none;
}
/* The compact leaderboard row had changed only avatar height to 44px. Its
   nominally circular 40px frame and 32px portrait became vertically oval. */
#scr-ranks .rkRow106 .rkPortrait106{height:40px}

/* Source: css/menus160.css */
/* Frontlines menu shape grammar: soft sheet, tactile action, quieter inset.
   Round avatars, shields, card art and battlefield geometry remain untouched. */
:root{
 --fl-sheet-radius:22px;
 --fl-action-radius:12px;
 --fl-inset-radius:8px;
 --fl-tag-radius:4px;
}
/* One component rule: all menu sheets share their outer silhouette. */
#mmodal .mbox{border-radius:var(--fl-sheet-radius)!important}
#mmodal :is(.modeChoice116,.settingsCategory116,.h150Entry,.h150Notice,.cosmeticChoice121){border-radius:var(--fl-action-radius)}
#mmodal :is(.h150Row,.h150Pair,.h150DetailProgress,.pfR){border-radius:var(--fl-inset-radius)}
#mmodal :is(.h150Filters select,.h150Filters input,.language154 select){border-radius:var(--fl-inset-radius)}
#mmodal :is(.h150New,.h150DetailState){border-radius:var(--fl-tag-radius)}

/* Settings formerly put the Close button across the header divider. This
   centered row includes the entire 44px control, including Larger text. */
.settingsPanel.settings116>.stTitlebar{
 box-sizing:border-box;min-height:64px;display:flex;align-items:center;
 padding:12px 68px 12px 16px;
}
#mmodal .mbox:has(>.settingsPanel)>.mClose{top:10px!important;right:12px!important}
.settingsPanel.settings116>.stTitlebar h2{margin:0!important}
.settingsPanel.settings116>.stBody{padding-top:12px}
.modes116>h2{display:flex;align-items:center;min-height:44px;margin:0 52px 20px 0}
/* Modes inherits responsive sheet padding. Its title and Close share that
   inset, including compact phones and the roomier desktop sheet. */
#mmodal .mbox:has(>.modes116){--fl-mode-inset:22px;padding-top:var(--fl-mode-inset)!important}
#mmodal .mbox:has(>.modes116)>.mClose{top:var(--fl-mode-inset)!important}
@media(min-width:700px){#mmodal .mbox:has(>.modes116){--fl-mode-inset:25px}}
@media(max-width:359px){#mmodal .mbox:has(>.modes116){--fl-mode-inset:20px}}
/* The card sheet's real title row owns Close alignment. Grid overlays the
   sibling control in that row without guessed offsets or a taller header. */
#mmodal .mbox:has(>.cardSheet116){
 display:grid;grid-template-columns:minmax(0,1fr);
 grid-template-rows:auto minmax(0,1fr) auto;
}
#mmodal .mbox>.cardSheet116{display:contents}
#mmodal .cardSheet116>.shTitlebar{grid-column:1;grid-row:1}
#mmodal .cardSheet116>.shBody{grid-column:1;grid-row:2}
#mmodal .cardSheet116>.shBtns{grid-column:1;grid-row:3}
#mmodal .mbox:has(>.cardSheet116)>.mClose{
 position:relative!important;top:auto!important;right:auto!important;
 grid-column:1;grid-row:1;align-self:center;justify-self:end;
 margin:0 12px 0 0!important;z-index:5;
}

/* Titles belong to the same reading column as their supporting copy. The
   account label keeps its meaningful mint block without spaced-out capitals. */
.settingsPanel.settings116 .accountCompact116 h3,
.pfBody .accountCompact116 h3{
 letter-spacing:0!important;text-transform:none!important;
 font-family:var(--ui-body)!important;font-weight:800!important;
 line-height:1.3!important;color:#e3f2ee!important;
}
.modeChoice116{grid-template-columns:minmax(0,1fr) 16px;column-gap:12px}
.modeChoice116>b,.modeChoice116>span{min-width:0;overflow-wrap:break-word}
.modeChoice116>i{display:grid;place-items:center;width:16px;line-height:1;font-size:1.1rem}
.settingsCategory116>summary{padding-inline:14px 42px}
.settingsCategory116>summary::after{right:14px;display:grid;place-items:center;width:16px;line-height:1}
.settingsCategory116>summary>b,.settingsCategory116>summary>small{min-width:0;overflow-wrap:break-word}

/* Counts and prices use stable figures; labels remain regular body text.
   No fixed text heights: Chinese and accessibility sizes may wrap naturally. */
:is(.h150Group>summary>small,.h150Count,.pfR b,.rstep .rt){font-variant-numeric:tabular-nums}
#meta #scr-road .rstep>.btn{min-height:44px}
.h150EntryEnd{align-self:center}
.h150NoticeAction{align-self:center;line-height:1.3}
.honours150 .h150Group>summary{column-gap:10px}
.honours150 .h150Group>summary::after{display:grid;place-items:center;width:16px;line-height:1}

/* Smaller insets now have a clearly quieter shape than the outer sheet.
   Primary action colours, bevels, pressed depth and focus rings are preserved. */
#mmodal .modeChoice116:focus-visible,
#mmodal .settingsCategory116>summary:focus-visible{
 outline:2px solid #afffec;outline-offset:3px;
}
/* Disclosure content is clipped to its rounded panel. Put keyboard focus
   inside that boundary so it cannot disappear behind overflow:clip. */
#mmodal .settingsCategory116>summary:focus-visible{
 outline-offset:-3px;border-radius:var(--fl-action-radius)!important;
}

/* Shared reference-sheet contract: a fixed title and Close, a scrolling
   reading area, and a separate navigation/action row. Battle geometry is
   deliberately outside these selectors. */
#howOv{padding:14px!important}
#howOv .sheet{
 box-sizing:border-box;width:min(500px,calc(100% - 20px));max-width:500px;
 max-height:calc(100dvh - 28px);padding:0!important;
 border-radius:var(--fl-sheet-radius)!important;
}
#howOv .howHeader162{
 display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;
 flex:none;gap:12px;padding:12px 12px 12px 16px;
 border-bottom:1px solid #7598ad35;
}
#howOv .howHeader162 #howTitle{
 min-width:0;margin:0;font-size:1.4rem!important;line-height:1.2!important;
 overflow-wrap:break-word;text-align:left;
}
#howOv #howSkip{
 display:grid;place-items:center;box-sizing:border-box;
 width:44px;height:44px;min-width:44px;min-height:44px;padding:0!important;
 border:1px solid #526984!important;border-radius:var(--fl-action-radius)!important;
 background:#11243c!important;color:#c9d7ea!important;
 font:500 1.6rem/1 var(--ui-body)!important;text-shadow:none!important;
 box-shadow:0 2px 6px #0003!important;
}
#howOv #howSkip:focus-visible{outline:2px solid #afffec;outline-offset:-4px}
#howOv .howReading{flex:1;min-height:0;padding:14px 16px;scrollbar-gutter:stable}
#howOv .howNavigation162{
 flex:none;display:flex;justify-content:space-between;gap:10px;
 margin:0;padding:12px 16px;border-top:1px solid #7598ad35;
}
#howOv.hasJournal .sheet>.howNavigation162{margin:0;padding:12px 16px;border-top:1px solid #7598ad35}
#howOv .howNavigation162>button{min-height:44px;white-space:normal;font-size:.85rem}
#howOv .howNavigation162 #howNext{margin-left:auto}
#howOv .howLeaveRow{margin:0;padding:12px 16px;border-top:1px solid #7598ad35}
#howOv .howLeaveRow[hidden]{display:none!important}
#howOv .howPick{display:block;margin-bottom:10px}

/* The selected Field guide topic is its title. Keep the rune as an accent,
   while practical rules share the first viewport with the topic choices. */
#mmodal .mbox:has(>.fieldGuide){
 display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;
 padding:0!important;overflow:hidden;max-height:calc(100dvh - 28px)!important;
}
#mmodal .mbox>.fieldGuide{display:contents}
#mmodal .fieldGuide>.fieldHeader162{grid-column:1;grid-row:1;padding:12px 68px 12px 16px;border-bottom:1px solid #7598ad35}
#mmodal .fieldHeader162 .fieldEyebrow{letter-spacing:0;text-transform:none;display:block;margin-bottom:3px}
#mmodal .fieldHeader162 h2{font:700 1.4rem/1.2 var(--ui-title);margin:0;color:#fff0d1;overflow-wrap:break-word}
#mmodal .mbox:has(>.fieldGuide)>.mClose{
 position:relative!important;top:auto!important;right:auto!important;
 grid-column:1;grid-row:1;align-self:center;justify-self:end;
 width:44px!important;height:44px!important;margin:0 12px 0 0!important;
}
#mmodal .fieldGuide>.fieldBody162{grid-column:1;grid-row:2;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 16px;scrollbar-width:thin}
#mmodal .fieldBody162 .fieldTabs{margin-bottom:12px}
#mmodal .fieldBody162 .fieldLead{margin:0;font-weight:600;font-size:.85rem;line-height:1.45}
#mmodal .fieldIntroRune162{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:center}
#mmodal .fieldIntroRune162 .fieldDiscovery{height:64px}
#mmodal .fieldIntroRune162 .fieldDiscovery svg{width:44px;height:58px;filter:drop-shadow(0 2px 4px #0005)}
#mmodal .fieldGuide .fieldFact{margin:12px 0;padding:10px 12px}
#mmodal .fieldGuide .fieldActions{
 grid-column:1;grid-row:3;display:grid;grid-template-columns:minmax(74px,1fr) minmax(0,1.7fr);
 gap:10px;margin:0;padding:12px 16px;border-top:1px solid #7598ad35;background:#101e30;
}
#mmodal .fieldActions>button{min-height:44px;min-width:0;white-space:normal;line-height:1.3;padding:10px!important}
#mmodal .fieldActions>.fieldLocked{grid-column:1/-1;margin:0}
#mmodal .fieldActions>.fieldLocked+#fieldDone{grid-column:1/-1}
body.bigText #mmodal .fieldBody162 .fieldLead{font-size:1rem}
body.bigText #howOv .howHeader162 #howTitle,body.bigText #mmodal .fieldHeader162 h2{font-size:1.5rem!important}

/* In-place expansion has one signal: down/up at the right edge. Scope to
   menu/reference/reward surfaces, preserve native details state/semantics,
   and leave navigation chevrons, add buttons and rarity marks untouched. */
:is(#mmodal,#meta,#howOv,.dfx,#endOv) details>summary{
 position:relative;box-sizing:border-box;min-height:44px;list-style:none;
 padding-right:42px!important;cursor:pointer;text-decoration:none!important;
}
:is(#mmodal,#meta,#howOv,.dfx,#endOv) details>summary::-webkit-details-marker{display:none}
:is(#mmodal,#meta,#howOv,.dfx,#endOv) details>summary::marker{content:''}
:is(#mmodal,#meta,#howOv,.dfx,#endOv) details>summary::after{
 content:''!important;position:absolute!important;top:50%!important;right:16px!important;
 display:block!important;width:8px!important;height:8px!important;box-sizing:border-box;
 margin:0!important;padding:0!important;border:0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
 color:#b9dcd1;background:none;box-shadow:none;pointer-events:none;
 transform:translateY(-70%) rotate(45deg)!important;
}
:is(#mmodal,#meta,#howOv,.dfx,#endOv) details[open]>summary::after{transform:translateY(-30%) rotate(225deg)!important}
:is(#mmodal,#meta,#howOv,.dfx,#endOv) details>summary:focus-visible{outline:2px solid #afffec;outline-offset:-3px;border-radius:var(--fl-inset-radius)}
/* These older arrows lived in markup. Replace only the redundant affordance;
   mastery medals and descriptive icons remain part of their rows. */
#howOv .cjEntry>summary>i,#mmodal .veraWeight>summary>i,
#endOv .resCombo153>summary>i,.dfxDetailsLabel116{display:none!important}
#meta .rankStatus116.synced .rkSyncDetails116:not([open]) summary{width:auto;max-width:100%}
/* These summaries previously relied on a native marker and block layout. */
:is(#mmodal,#meta) :is(.pfDisclosure,.pfXpInfo,.stAdvanced,.expRules,.masteryRules,.masteryTitles,.collectOdds,.abilityFacts121,.mapRules98,.upgradeFacts162,.shopArchive116,.shopRules116,.questRules116)>summary{display:flex;align-items:center}

/* Source: css/help164.css */
/* Illustrated reference lessons. Scoped to Help: arena geometry is untouched. */
#howBody{font:650 .85rem/1.5 var(--ui-body);color:#c3d2df;text-align:left}
#howBody>p,#howBody .howLesson164>p{margin:12px 0}
#howBody .howLead164{color:#e2eceb!important}
#howBody .howLesson164+ .howLesson164{border-top:1px solid #77959d40;margin-top:22px;padding-top:16px}
#howBody .howLesson164>h2{font:800 1rem/1.3 var(--ui-body)!important;color:#e6d7ad!important;background:none!important;-webkit-text-fill-color:currentColor;letter-spacing:0;margin:0 0 12px}
#howBody .howExample164{margin:0;overflow:hidden;border:1px solid #5b7a8066;border-radius:var(--fl-inset-radius,10px);background:#102834;box-shadow:inset 0 1px #dcf5ec0d}
#howBody .howExample164>figcaption{padding:10px 10px 8px;text-align:center;font:750 .82rem/1.35 var(--ui-body);color:#e0eae6}
#howBody .howField164{display:block;width:100%;height:auto;background:linear-gradient(160deg,#203a38,#152b32);border-block:1px solid #647e7944}
#howBody .howDiagramLabels164{display:flex;justify-content:space-between;align-items:start;gap:14px;padding:9px 10px;font:650 .72rem/1.35 var(--ui-body);color:#b4dcd3}
#howBody .howDiagramLabels164>span{flex:1;min-width:0}
#howBody .howDiagramLabels164 .howAimLabel164{text-align:right;color:#e5d1a0}
#howBody .howSpendSteps164{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,1fr);gap:10px;align-items:center;padding:5px 12px 10px}
#howBody .howSpendSteps164>div{display:flex;min-width:0;align-items:center;flex-direction:column;gap:9px}
#howBody .howStepLabel164{font:750 .73rem/1.3 var(--ui-body);color:#baccd9;text-align:center;min-height:2.6em;display:flex;align-items:center;justify-content:center}
#howBody .howElixir164{display:grid;place-items:center;width:41px;height:46px;border:1px solid #dbc5f9;border-radius:16px 16px 18px 18px;background:linear-gradient(145deg,#bd91e5,#7153a5);box-shadow:inset 0 2px #fff4,0 3px #06131b66;font:800 1.5rem/1 var(--num);color:#fff;text-shadow:0 2px #3b246388}
#howBody .howMeter164{display:flex;width:100%;height:10px;padding:2px;gap:1px;background:#091924;border:1px solid #577487;border-radius:4px;box-sizing:border-box}
#howBody .howMeter164 i{flex:1;background:#72899c36;min-width:0;border-radius:1px}
#howBody .howMeter164 i.filled{background:#b092da}
#howBody .howCardFace164{position:relative;display:block;width:69px;height:65px;border-radius:7px;background:#203b46;box-shadow:inset 0 0 0 1px #7ba1ad;overflow:hidden}
#howBody .howCardFace164 img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;filter:none}
#howBody .howCardFace164>.veraPortrait{display:block;width:100%;height:100%;max-width:none;padding:0;margin:0;filter:none}
#howBody .howCardFace164 i{position:absolute;bottom:2px;left:2px;display:grid;place-items:center;min-width:19px;height:21px;padding:0 2px;box-sizing:border-box;border:1px solid #e2cbff;border-radius:7px;background:#8061b0;color:#fff;font:800 .78rem/1 var(--num);font-style:normal}
#howBody .howEquation164{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 10px 10px;border-top:1px solid #77959d33;font:800 1.05rem/1.2 var(--num);color:#e5d7f8}
#howBody .howEquation164>span{color:#91aabb;font-size:.85rem}
#howBody .howNotes164{margin:14px 0 0;border-block:1px solid #82999f40}
#howBody .howNotes164>summary{min-height:44px;padding:10px 30px 10px 0!important;box-sizing:border-box;display:flex;align-items:center;color:#b7d9d1;font:750 .82rem/1.35 var(--ui-body);cursor:pointer;text-align:left}
#howBody .howNotes164>p{margin:0 0 12px;font:600 .82rem/1.5 var(--ui-body);color:#bbcbd8}
body.bigText #howBody{font-size:1rem}
body.bigText #howBody .howExample164>figcaption,body.bigText #howBody .howNotes164>summary,body.bigText #howBody .howNotes164>p{font-size:.95rem}
body.bigText #howBody .howDiagramLabels164{font-size:.84rem}
body.bigText #howBody .howStepLabel164{font-size:.84rem}
body.bigText #howBody .howLesson164>h2{font-size:1.1rem!important}

/* Source: css/battle-notices160.css */
/* Short battle feedback belongs to the hand. The row, clock, cards, canvas
   and tile scale retain their existing dimensions at every text setting. */
body.battle-hand-pass.in-battle #info{display:none!important}
/* A paused lesson owns the hand row. Its explicit input error must still be
   readable while the coach is teaching; ordinary running battles never use it. */
body.battle-hand-pass.in-battle:has(.dock[data-coaching]) #info.warn:not(.bh-docked){display:block!important}
body.battle-hand-pass.in-battle .bh-readout[data-notice]:not([data-notice=""]){border:0;border-radius:0;box-shadow:none;background:none}
body.battle-hand-pass.in-battle .bh-readout[data-notice]:not([data-notice=""]) :is(.bh-readout-main,.bh-readout-detail){display:block!important;text-align:left;margin:0;transform:none;letter-spacing:0}
body.battle-hand-pass.in-battle .bh-readout[data-notice="error"] .bh-readout-main{color:#ffc1af}
body.battle-hand-pass.in-battle .bh-readout[data-notice="event"] .bh-readout-main{color:#f2d596}
body.battle-hand-pass.in-battle .bh-readout.bh-countdown .bh-battle-clock b{color:#ffb6aa!important}
body.battle-hand-pass.in-battle .bh-battle-clock{font-variant-numeric:tabular-nums;text-align:center}
body.battle-hand-pass.in-battle .bh-battle-clock.clockCue{animation:none!important;transform:none!important}

/* Source: css/combat-demos168.css */
/* Card-sheet-only: no arena, dock, hand or portrait rules. */
:is(.cardSheet,.wildGuide176) .combatDemo168{margin:10px 0 14px;border:1px solid #789b9c66;border-radius:12px;background:#102832;overflow:hidden}
:is(.cardSheet,.wildGuide176) .combatDemoOpen168{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:11px 14px;border:0;color:#e4f3e9;background:linear-gradient(180deg,#284f58,#193b46);font:750 .87rem/1.35 var(--ui-body);cursor:pointer;text-align:left}
:is(.cardSheet,.wildGuide176) .combatDemoOpen168::after{content:'▶';font-size:.72rem;color:#b5e7d7}
:is(.cardSheet,.wildGuide176) .combatDemoOpen168[aria-expanded=true]::after{content:'×';font-size:1.25rem}
:is(.cardSheet,.wildGuide176) .combatDemoPanel168{padding:0 12px 12px}
:is(.cardSheet,.wildGuide176) .combatDemoPanel168[hidden]{display:none}
:is(.cardSheet,.wildGuide176) .combatDemoStage168{position:relative;aspect-ratio:1.45;background:#172b2d;border:1px solid #72918a55;border-radius:7px;overflow:hidden;margin:10px 0}
:is(.cardSheet,.wildGuide176) .combatDemoStage168 iframe{display:block;border:0;width:100%;height:100%;pointer-events:none}
:is(.cardSheet,.wildGuide176) .combatDemoStatus168{font:650 .8rem/1.4 var(--ui-body);color:#c7dcd8;margin:7px 0;min-height:1.4em}
:is(.cardSheet,.wildGuide176) .combatDemoCaption168{font:600 .84rem/1.45 var(--ui-body);color:#e4e9df;margin:10px 0 6px}
:is(.cardSheet,.wildGuide176) .combatDemoControls168{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
:is(.cardSheet,.wildGuide176) .combatDemoControls168 button{min-height:44px;padding:8px 14px;border:1px solid #94c1af7a;border-radius:8px;color:#e9f5ed;background:#30564f;font:750 .84rem/1.3 var(--ui-body);cursor:pointer}
:is(.cardSheet,.wildGuide176) .combatDemoControls168 button:disabled{opacity:.45;cursor:default}
:is(.cardSheet,.wildGuide176) .combatDemoControls168 small{font:600 .71rem/1.35 var(--ui-body);color:#9ab8bc}
body.bigText :is(.cardSheet,.wildGuide176) :is(.combatDemoOpen168,.combatDemoCaption168,.combatDemoStatus168,.combatDemoControls168 button){font-size:1rem}

/* Source: css/show172.css */
/* Compact, state-driven visual explanations. No arena sizing or global skin. */
.runeGoal172{padding:12px 0;--saved:#9bd1bd;--preview:#e7c579}
.runeGoalNumbers172,.runeGoalLegend172{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.8rem;line-height:1.5}
.runeGoalNumbers172 b{font-variant-numeric:tabular-nums;color:#f8eac7}
.runeGoalTrack172{display:flex;height:14px;border:1px solid #b6c8c450;border-radius:4px;background:#08161f;margin:8px 0;overflow:hidden}
.runeGoalTrack172 i,.runeGoalLegend172 i{background:var(--saved)}
.runeGoalTrack172 em,.runeGoalLegend172 em{background:repeating-linear-gradient(130deg,var(--preview) 0 4px,#645335 4px 7px)}
.runeGoalLegend172{justify-content:flex-start;color:#c0d2d5;gap:14px;font-size:.73rem}
.runeGoalLegend172 i,.runeGoalLegend172 em{display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:2px}
.runeGoalOutcome172{display:block;margin-top:8px;font-size:.83rem;line-height:1.4}
.wildConvert104 .conversionFlow172{display:grid;grid-template-columns:1fr 24px 1fr;align-items:center;text-align:center;gap:8px;margin:10px 0}
.conversionFlow172>span{min-width:0;display:flex;align-items:center;flex-direction:column;gap:5px;font-size:.8rem}
.conversionFlow172 svg,.conversionFlow172 .wildArt{width:40px;height:48px}
.conversionFlow172 .veraPortrait{width:54px;height:60px;flex:none}
.expRoute172{margin:14px 0 20px}
.expRoute172 ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;gap:10px}
.expRoute172 li{position:relative;min-width:0;display:flex;align-items:center;flex-direction:column;gap:4px;text-align:center;padding:9px 3px 0;border-top:2px solid #70838866}
.expRoute172 li>b{display:grid;place-items:center;width:30px;height:30px;background:#25394b;color:#e6e7d5;border:1px solid #8c9ea0;border-radius:50%;font-size:1rem}
.expRoute172 li.done>b{background:#315c4d;color:#c2f3db}.expRoute172 li.current>b{background:#746039;border-color:#f5d589;color:#fff0bf}
.expRoute172 li>span{font-size:.82rem;font-weight:750}.expRoute172 small{font-size:.7rem;color:#bed0d5;line-height:1.4}.expRoute172 em{font:600 .65rem/1.4 var(--ui-body);color:#ddcda6;align-self:flex-end;margin-top:6px}
.expCard{position:relative}.expCard .loanBadge172{display:block;color:#e8d392;background:#273c47;padding:3px 5px;font:700 .65rem/1.3 var(--ui-body);text-align:center;border-top:1px solid #a38b5d66}
.prestigeStamps172{list-style:none!important;padding:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px;margin:14px 0!important}
.prestigeStamps172 li{display:flex!important;min-width:0;flex-direction:column;align-items:center;gap:5px;text-align:center;padding:0!important;font-size:.74rem;line-height:1.35}
.prestigeStamps172 .stampPortrait172{position:relative;display:block;width:58px;height:65px}
.prestigeStamps172 .stampPortrait172>.veraPortrait{width:100%;height:100%}
.stampPortrait172>i{position:absolute;right:-4px;bottom:-3px;display:grid;place-items:center;width:22px;height:22px;background:#203240;border:1px solid #7e9294;border-radius:50%;font:800 .8rem var(--ui-body);color:#bfcfd2}
.prestigeStamps172 .earned i{background:#385e49;color:#def6cc;border-color:#a5d3b2}
.prestigeStamps172 .prestigeName165{overflow-wrap:anywhere}
.sigilGoal172{display:flex;align-items:center;gap:14px;border-block:1px solid #8ca3b043;padding:12px 0;margin:10px 0}.sigilGoal172>span{width:56px;flex:none}.sigilGoal172 svg{width:100%;height:60px}.sigilGoal172 b,.sigilGoal172 small{display:block;line-height:1.5}
.saveMap172{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:6px;margin:18px 0;color:#c4d1d8}
.saveMap172 section{display:flex;position:relative;flex-direction:column;align-items:center;gap:7px;min-width:0;padding:12px 7px;text-align:center;border:1px solid #798f9d66;border-radius:9px;background:#11212c}
.saveMap172 svg{width:32px;height:32px;color:#a7bac6}.saveMap172 section[data-ok=true]{border-color:#81b79d88}.saveMap172 section[data-ok=true] svg{color:#a5d6bc}
.saveMap172 b{font-size:.87rem;color:#f0ead4}.saveMap172 small,.saveMap172 time{font-size:.73rem;line-height:1.45;overflow-wrap:anywhere}.saveMap172 time{color:#aabcc7}.saveMark172{position:absolute;top:8px;right:8px;font-weight:800;color:#e8cc83}.saveMap172 [data-ok=true] .saveMark172{color:#b6e7c3}.saveLink172{align-self:center;text-align:center;color:#96aeb1;font-size:1.25rem}.saveMap172[data-saving=true] .saveLink172{color:#f5db90}
.saveDestination172{display:grid;grid-template-columns:1fr 20px 1fr;gap:7px;align-items:center;text-align:center;border:1px solid #a7936466;background:#312e2566;padding:10px;border-radius:6px;margin:12px 0;font-size:.8rem}.saveDestination172 span{display:flex;align-items:center;justify-content:center;gap:6px}.saveDestination172 svg{width:22px;height:22px;flex:none}.saveDestination172 small{grid-column:1/-1;color:#ebd6a3}
.saveCompare172{margin-bottom:14px}.saveCompareHead172,.saveCompareRow172{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:center;text-align:center;font-size:.75rem;padding:9px 0;border-bottom:1px solid #859aaf30}.saveCompareRow172>span{min-width:0;overflow-wrap:anywhere}.saveCompareRow172 .veraPortrait{width:42px;height:48px;margin:auto}.saveCompareRow172 small{display:block}
.deckCoverage172{margin:12px 0}.deckCoverage172 details{border-top:1px solid #8ca5b145}.deckCoverage172 summary{display:flex;align-items:center;gap:8px;min-height:60px;padding:8px 0;list-style:none;cursor:pointer}.deckCoverage172 summary::after{content:'+';margin-left:2px;color:#bce0d6}.deckCoverage172 details[open]>summary::after{content:'−'}.deckCoverage172 summary>b{font-size:.8rem;flex:1;min-width:0}.deckCoverage172 summary>span{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:65%}.coveragePortrait172{width:29px;height:34px;position:relative;display:block}.coveragePortrait172 .veraPortrait{width:100%;height:100%}.coveragePortrait172 em{position:absolute;right:0;bottom:0;font-style:normal;color:#ffe29c;background:#18262b;line-height:1}
.coverageNames172{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:12px}.coverageNames172>button{font:650 .78rem/1.35 var(--ui-body);color:#c5e3d9;border:1px solid #6c988777;border-radius:5px;background:#234139;padding:8px;min-height:44px;cursor:pointer}.coverageNames172 small{display:block;color:#e5ce9d}.coverageNames172 .lnk{flex-basis:100%;text-align:left;background:none;border:0}
#scr-deck .ctile.coverageMatch172{outline:2px solid #f4d78e;outline-offset:2px}
.handLesson172{display:inline-flex;align-items:center;gap:9px;vertical-align:middle;font-size:.78rem}.handLesson172>span{display:inline-flex;align-items:center;gap:3px}.handLesson172 i{display:inline-block;width:7px;height:12px;border:1px solid #d5d0ad;background:#405e59;border-radius:1px}.handLesson172 b{color:#f2d88e}
.dock .rotationFrom172{outline:2px solid #f2d78e;outline-offset:2px}.dock .rotationTo172{box-shadow:inset 0 0 0 2px #f2d78e}.dock .rotationCost172{color:#fff0c8!important;text-shadow:0 0 7px #bd8de2}
.dock .rotationFlight172{position:fixed;z-index:5;pointer-events:none;transform-origin:top left;overflow:hidden;border:1px solid #f2d78e;border-radius:6px;background:#152736}
.rotationFlight172 .veraPortrait{width:100%;height:100%}
body.bigText :is(.saveMap172 small,.saveMap172 time,.runeGoalNumbers172,.runeGoalLegend172,.expRoute172 small,.expRoute172 em,.coverageNames172>button,.saveCompareRow172,.saveCompareHead172){font-size:.88rem}
body.bigText .deckCoverage172 summary>b{font-size:.95rem}

.wildConvert104 .conversionFlow172 .wildRuneIcon{width:54px;height:60px;flex:none;display:block}
.wildConvert104 .conversionFlow172 .wildRuneIcon img{width:100%;height:100%;object-fit:contain}

/* One disclosure cue, and compact rows that keep every rival name intact. */
.deckCoverage172 summary::before{content:none!important;display:none!important}
.prestigeStamps172{grid-template-columns:1fr;gap:7px}
.prestigeStamps172 li{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;text-align:left;min-height:46px}
.prestigeStamps172 .stampPortrait172{width:38px;height:43px}
.prestigeStamps172 .prestigeName165{font-size:.85rem;line-height:1.35;overflow-wrap:normal;word-break:normal}
.prestigeStamps172 li>b{font-size:.75rem;white-space:nowrap;text-align:right}
.prestigeStamps172 .stampPortrait172>i{width:18px;height:18px;right:-3px;font-size:.68rem}
.saveCompareRow172 .saveRunes172{display:block;white-space:nowrap;line-height:1.5;margin-top:4px}
.expRoute172 small:empty{display:none}

/* 174: shorten decisions, preserve existing arena and portrait geometry. */
.accountChoosing174 .accountHeader130 .eyebrow,.accountChoosing174 .accountIdentityLabel{display:none}
.accountChoosing174 .accountIdentity{padding:8px 0;margin:0 0 8px;border:0;background:none;gap:2px}
.accountChoosing174 .accountIdentity strong{font-size:1rem;line-height:1.3}
.accountChoosing174 .accountIdentity .accountEmail{font-size:.78rem;overflow-wrap:anywhere}
.accountChoice174>p:first-child{margin:6px 0 12px;line-height:1.4}
.accountChoice174 table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.85rem}
.accountChoice174 th,.accountChoice174 td{padding:7px 4px;border-bottom:1px solid #8da7b12d;text-align:center;line-height:1.4;overflow-wrap:anywhere}
.accountChoice174 tbody th{text-align:left;color:#b8ccd4;font-weight:600}
.accountChoice174 thead th{color:#f4dfab}
.accountChoiceActions174{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.accountChoiceActions174 .btn{width:100%;height:auto;min-height:64px;padding:9px 6px;font-size:.83rem;display:flex;flex-direction:column;justify-content:center;gap:4px;line-height:1.3;white-space:normal}
.accountChoiceActions174 small{font-size:.72rem;font-weight:500;color:#c5d9dc}
.accountChoice174>details{margin:10px 0}
.accountChoice174 .accountFine{font-size:.75rem;line-height:1.45}
.prestigeChallenge116 .prestigeCommit174{padding:10px 14px;flex:none}
.prestigeCommit174 .prestigeActions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.prestigeCommit174 .prestigeActions .btn{width:auto;min-height:48px;padding:8px 12px;font-size:.85rem;line-height:1.35;white-space:normal}
.prestigeCommit174 .prestigeBlocked174{font-size:.8rem;line-height:1.4;margin:0 0 8px;color:#efd49c}
.prestigeReward174{margin:16px 0 6px;padding-top:14px;border-top:1px solid #8da7b133}
.prestigeReward174>p,.prestigeConfirm174>p{font-size:.85rem;line-height:1.5}
.prestigeConfirm174 .prestigePrice{margin:14px 0}.prestigeConfirm174>.btn{margin-top:10px}
.expRoute174 ol{display:flex;flex-direction:column;gap:0}
.expRoute174 li{display:grid;grid-template-columns:28px 1fr;border:0;padding:0;gap:8px;text-align:left}
.expRoute174 li>b{width:28px;height:28px;font-size:.85rem}.expRoute174 li>span{align-self:center}
.expRoute174 li>em{grid-column:1/-1;margin:0 0 8px 11px;padding:3px 0 3px 0;font-style:normal;font-size:.75rem;display:flex;gap:15px;align-items:center}
.expRoute174 li>em>span{font-size:1.1rem;flex:none;color:#a9c8ba}
.expRoute174>small{display:block;margin-top:10px;color:#b9ced3;font-size:.75rem;line-height:1.4}
.coverageScope174{font-size:.75rem;color:#b9ced3;display:block;margin:0 0 5px}
.mapNext174{display:flex;align-items:center;gap:14px;border-bottom:1px solid #a4bdac55;padding-bottom:16px}
.mapNext174>canvas{width:86px;height:110px;object-fit:cover;border:1px solid #ddc28188;border-radius:8px;flex:none}
.mapNext174>div{min-width:0;flex:1}.mapNext174 small{font-weight:750;color:#a5d8c8;letter-spacing:.08em;font-size:.7rem}
.mapNext174 h3{margin:5px 0;font-size:1.1rem}.mapNext174 p{margin:0 0 8px;font-size:.8rem;color:#b9ced3}
.mapNext174 .btn{min-height:44px;padding:7px 12px}.mapRotation174{font-size:.8rem;line-height:1.5;color:#bfd0d4}
.mapGallery174{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mapGallery174 button{min-width:0;cursor:pointer;background:#162a37;border:1px solid #728e9b77;border-radius:7px;color:#d6e4e7;padding:5px;font:650 .75rem/1.4 var(--ui-body)}
.mapGallery174 button[aria-pressed=true]{background:#2e4d4b;border-color:#a6d0be}
.mapGallery174 canvas{display:block;width:100%;height:58px;object-fit:cover;border-radius:3px;margin-bottom:5px}
.mapPreview174{margin-top:12px;padding-top:12px;border-top:1px solid #8da7b133}
.mapPreview174 h3{margin:0 0 8px;font-size:1rem}.mapPreview174 h3 small{display:block;margin-top:5px;color:#acc9c2;font-size:.68rem;letter-spacing:.06em}
.mapPreview174>p{font-size:.85rem;line-height:1.45}.mapPreview174 details{margin-top:12px}
.homeBrief157 .mapHome96{gap:8px}.mapHomeThumb174{display:block;width:34px;height:38px;object-fit:cover;border-radius:4px;flex:none}
body.bigText :is(.accountChoice174 table,.accountChoiceActions174 .btn,.prestigeCommit174 .prestigeActions .btn,.prestigeCommit174 .prestigeBlocked174,.mapRotation174,.mapPreview174>p,.mapGallery174 button,.expRoute174>small,.coverageScope174){font-size:.94rem}
body.bigText .accountChoiceActions174 small{font-size:.82rem}
:is(.cardSheet,.wildGuide176) .combatDemoOpen168[aria-expanded=true]{min-height:44px;justify-content:flex-end;background:none;padding:5px 12px;font-size:.78rem}
:is(.cardSheet,.wildGuide176) .combatDemoPanel168{padding:0 8px 8px}
:is(.cardSheet,.wildGuide176) .combatDemoStage168{margin:6px 0}
:is(.cardSheet,.wildGuide176) .combatDemoCaption168{margin:0 3px 8px}
:is(.cardSheet,.wildGuide176) .combatDemo168:not([data-demo-state=error]):not([data-demo-state=load]):not([data-demo-state=paused]) .combatDemoStatus168{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
:is(.cardSheet,.wildGuide176) .combatDemoControls168 small{margin-left:auto}

.mapChoice96 .referenceBody164>h3{margin:12px 0 8px}
#scr-deck .deckPlanCoverage107>summary::before{content:none;display:none}

/* 176: contextual menu help uses existing surfaces; arena geometry is untouched. */
.deckMap176{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:10px 0 14px;border-block:1px solid #b0d8ca38;background:#1c383841}
.deckMap176 canvas{width:48px;height:56px;object-fit:cover;border:1px solid #95b9af55;border-radius:5px;flex:none}
.deckMap176>div{display:grid;gap:3px;min-width:0;flex:1}.deckMap176 small{font-size:10px;letter-spacing:.08em;color:#a9dcd0}.deckMap176 b{font-size:15px;color:#f1e7ca}.deckMap176 .btn{max-width:42%;min-height:44px;padding:8px 12px;line-height:1.25;white-space:normal}
.availableEmpty176{grid-column:1/-1;width:100%;max-width:none!important;margin:8px 0!important}.availableRecruit176>h2{font-size:16px;margin:0 0 10px}.availableRecruit176 .recruitBanner{margin:0}
.practice176 .practiceMap176{width:100%;height:136px;object-fit:cover;object-position:center;border-radius:6px;background:#14282d}
.practiceFacts176{list-style:none;padding:0;margin:16px 0;display:grid;gap:12px}.practiceFacts176 li{display:flex;align-items:baseline;gap:10px;font-weight:700;color:#ebeee5}.practiceFacts176 li:before{content:'✓';color:#9cd7bc;flex:none}.practiceAbility176{font-size:13px;color:#c3dacd}.practice176 details{border-top:1px solid #bad6d02b;padding-top:12px}.practice176 .referenceFooter164{display:flex;gap:10px}.practice176 .referenceFooter164 .primary{flex:1}
.wildHelp176{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;text-align:left;padding:12px 0;margin:4px 0 18px;border:0;border-block:1px solid #b0d8ca38;background:none;color:#b5e2d1;font:700 .85rem/1.4 var(--ui-body);cursor:pointer}.wildHelp176 span{font-size:20px}.wildGuide176 ol{padding-left:22px;display:grid;gap:12px}.wildGuide176 .combatDemo168{margin-top:20px}.wildGuide176 .combatDemoStage168{height:190px}
@media(max-width:380px){.deckMap176{gap:8px;padding:8px}.deckMap176 .btn{padding:8px;font-size:12px}.deckMap176 canvas{width:40px;height:48px}.practice176 .practiceMap176{height:110px}}

.practice176 .referenceFooter164>.btn{width:auto;min-width:0;flex:1 1 0}.practice176 .referenceFooter164>.primary{flex:2.5 1 0}
.availableCards128.availableRecruit176{border-top:0;padding-top:0;margin-top:14px}.availableRecruit176 .recruitInvite{margin:0}

/* 178: one optional visual example first; no battle-space or card crop changes. */
.wildGuide176 .combatDemoHero178{margin:0 0 12px;background:#142d35}
.wildGuide176 .combatDemoHero178 .combatDemoOpen168[aria-expanded=false]{display:block;padding:0;text-align:center;background:#213e43}
.wildGuide176 .combatDemoHero178 .combatDemoOpen168::after{content:none}
.wildDemoPoster178{display:grid;place-items:center;height:134px;background:#1b3438 url('../assets/ui/wild-demo178.png') center/cover no-repeat}
.wildDemoPlayMark178{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#102834e8;border:2px solid #f1d68e;color:#f3db9e;font-size:20px;padding-left:3px;box-shadow:0 3px 10px #07131c88}
.wildDemoLabel178{display:block;padding:11px 14px;color:#f5e1ac;font-weight:800}
.wildGuide176 .wildOwnership178{font-size:.84rem;line-height:1.5;color:#c6d8d5;margin:12px 0}
.wildRules178{border-top:1px solid #b0d8ca38;margin-top:12px}.wildRules178 summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;font-weight:700;cursor:pointer}.wildRules178 summary:after{content:'+';font-size:20px;color:#a9d8ce}.wildRules178[open] summary:after{content:'−'}.wildRules178 ol{margin:8px 0 14px;font-size:.85rem;line-height:1.5}
body.bigText .wildGuide176 :is(.wildOwnership178,.wildRules178 ol){font-size:1rem}
.wildGuide176 .combatDemoStage168{height:190px;aspect-ratio:auto}
.mapPreview174 .primary{min-height:48px;white-space:normal;line-height:1.35}

.wildGuide176 .wildRules178>summary{font-size:.9rem;color:#d2e4dd}body.bigText .wildGuide176 .wildRules178>summary{font-size:1rem}

/* Source: css/cards179.css */
/* Card reading hierarchy. These rules never select the arena or battle hand. */
.mbox .cardSheet179 .shHead{margin-bottom:12px}
.mbox .cardSheet179 .shDesc{font-size:.88rem;line-height:1.5;margin:10px 0 12px}
.cardSheet179 .ci-type-target{margin:0 0 12px;padding:9px 0;border-top:1px solid #8ba9b42e;border-bottom:1px solid #8ba9b42e}
.cardSheet179 .cardActions116{margin:12px 0;gap:9px}
.cardSheet179 .cardExplore179{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.cardSheet179 .cardExplore179:has(>button:only-child){grid-template-columns:1fr}
.cardSheet179 .cardLink179,.cardPanel179 .cardLink179{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;min-width:0;width:100%;padding:11px 12px;border:1px solid #6f8d9d66;border-radius:10px;box-shadow:inset 0 1px #d5edf60b,0 2px 0 #070e194d;background:linear-gradient(#293d51,#1c2d40);color:#dfebe9;text-align:left;font:700 .84rem/1.35 var(--ui-body);cursor:pointer;white-space:normal}
.cardSheet179 .cardLink179>span,.cardPanel179 .cardLink179>span{min-width:0;overflow-wrap:anywhere}
.cardLink179>i{font-style:normal;font-size:1.2rem;line-height:1;color:#a9d9d0;flex:none}
.cardLink179:focus-visible{outline:2px solid #ffe29b;outline-offset:3px}
.cardLink179:active{transform:translateY(1px)}
.cardSheet179 .shBody>[data-card-panel179="mastery"]{margin-top:12px;padding:10px 1px;border:0;border-top:1px solid #8ba9b42e;border-radius:0;background:none;box-shadow:none;gap:12px}
[data-card-panel179="mastery"]>span:first-child{display:flex;align-items:baseline;gap:9px;flex:1}
[data-card-panel179="mastery"] small{color:#bacdd4;font-size:.76rem;font-weight:500}
.cardMasteryTrack179{width:42px;height:4px;border-radius:2px;background:#081521;overflow:hidden;flex:none}
.cardMasteryTrack179 i{display:block;height:100%;background:#e9cb80}
.cardSheet179 .upgradeStock179{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.8rem;color:#c1d3dc;margin-bottom:10px}
.upgradeStock179 span{display:grid;gap:3px}
.upgradeStock179 b{color:#f2e3b6;font-variant-numeric:tabular-nums}
.cardSheet179 .upgradeAbility179{margin:8px 0 12px;font-size:.8rem;line-height:1.5;color:#c2d2dc}
.cardSheet179 .upBlock>.cardLink179{margin-top:10px;background:#353249;border-color:#9f92b85e}
.cardSheet179 .upgradePreview116>summary>span{gap:4px 8px}
.cardSheet179 .upgradePreview116>summary small{flex:none}
.cardPanel179 .shBody{padding-top:14px!important}
.cardPanel179 .shTitlebar{align-items:flex-start;flex-direction:column;gap:4px}
.cardPanel179 .shTitlebar .eyebrow{font-size:.7rem;letter-spacing:.07em}
.cardPanel179 .shBody p{font-size:.86rem;line-height:1.5;color:#c5d5df}
.cardPanel179 .cardFactGroup179{margin:16px 0;padding-top:14px;border-top:1px solid #7695a633}
.cardPanel179 h3{font:800 .85rem/1.4 var(--ui-body);margin:0 0 7px;color:#e7d7a8}
.cardPanel179 .cardFactGroup179 h3 span{color:#c6d9df;font-weight:500;margin-left:8px}
.cardPanel179 .cardFactGroup179 p{margin:6px 0}
.cardPanel179 .cInfo{margin:0}
.cardPanel179 .shBtns{padding:10px 14px!important;flex:none}
.cardPanel179 .shBtns .btn{min-height:46px;width:100%;white-space:normal}
.cardPanel179 .kUse{margin:10px 0 16px}
.cardPanel179 [data-combat-demo="status"]{margin-top:20px}
.cardPanel179 .cardLink179{margin-top:12px}
.cardPanel179 .combatDemo168{margin-top:0}
.cardPanel179 .cInfo.rows>div{gap:10px}
.cardPanel179 .cInfo.rows>div>span{min-width:0}
.cardPanel179 .wildPreview116,.cardPanel179 .wildConvert104{max-width:100%}
.cardPanel179 .duTiming179{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#d2e5df;font-size:.8rem;line-height:1.5}
.cardPanel179 .duTiming179 i{font-style:normal;color:#c7b576}
@media (max-width:380px){.cardSheet179 .cardExplore179{gap:8px}.cardSheet179 .cardExplore179 .cardLink179{padding:10px;font-size:.8rem}}

/* Source: css/cards181.css */
/* Earned status and actions stay beside the frame; portrait crops remain intact. */
.masteryCrest181{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:44px;vertical-align:middle;filter:drop-shadow(0 2px 1px #0007)}
.masteryCrest181 img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.masteryPath181 .masteryCrest181{width:54px;height:59px}
#meta .ctile .cMed.masteryCrest181{position:absolute;top:4px;left:4px;width:24px;height:26px;transform:none;border:0;border-radius:0;background:none;box-shadow:none;z-index:4}
#meta .ctile.upgradeReady{border-color:var(--rc);box-shadow:inset 0 0 0 1px #ffffff16,0 3px 0 #071522}
#meta .ctile.upgradeReady.rar-common{border-color:#9eb9b9}#meta .ctile.upgradeReady.rar-rare{border-color:#6da2f1}#meta .ctile.upgradeReady.rar-epic{border-color:#bb7ce9}#meta .ctile.upgradeReady.rar-legendary{border-color:#e4bf6c}
#meta .ctile .clvl.ready{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#b4f0ca;color:#123e31;border:1px solid #e2ffdf;border-radius:4px;padding:1px 4px;box-shadow:0 1px 0 #143d32;line-height:1.2}
#meta .ctile .clvl .cup{display:inline-flex;align-items:center;justify-content:center;width:13px;height:16px;font:bold 16px/1 var(--ui-body)!important;color:#154b38;text-shadow:none;transform:none}
.mbox .cardSheet179 .upgradeReady116{border:1px solid #9cddba;background:linear-gradient(110deg,#315c4b,#233e37);box-shadow:inset 0 1px #d9ffce25,0 2px #071e1d}
.mbox .cardSheet179 .upgradeReady116>summary{color:#ecffdf;flex-wrap:wrap;gap:6px 12px}
.cardSheet179 .upgradeReady116>summary>small{display:flex;align-items:center;gap:6px;color:#d3f3d5;font-weight:700;font-size:.8rem}
.upgradeCoin181{display:inline-flex;align-items:center;gap:4px;color:#ffe3a2;font-variant-numeric:tabular-nums}
.upgradeCoin181 svg{width:14px;height:14px}.upgradeArrow181{font-size:20px;line-height:1}
.cardSheet179 [data-card-panel179="mastery"]>span:first-child{align-items:center;gap:10px}
.cardSheet179 [data-card-panel179="mastery"] .masteryLabel181{display:grid;gap:3px}
.cardSheet179 [data-card-panel179="mastery"] b{font-size:.85rem}
.cardSheet179 [data-card-panel179="mastery"] small{font-size:.75rem}
.masteryPath181{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 16px}
.masteryPath181 button{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;min-height:100px;padding:7px 2px;border:1px solid transparent;border-radius:8px;background:none;color:#c0ced8;font:600 .73rem/1.25 var(--ui-body);cursor:pointer}
.masteryPath181 button b,.masteryPath181 button small{overflow-wrap:anywhere;font-size:inherit}.masteryPath181 button small{font-size:.64rem;font-weight:500;color:#a6bac5}
.masteryPath181 button[aria-pressed=true]{background:#293b47;border-color:#d8c18a;color:#fff1c9;box-shadow:inset 0 -3px #d8c18a}
.masteryPath181 button:focus-visible{outline:2px solid #ffe19b;outline-offset:2px}
.masteryPath181 button:not(.earned):not([aria-pressed=true]) .masteryCrest181{filter:grayscale(.4);opacity:.65}
.masterySelected181>header{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #91aab333}
.masterySelected181>header>div{min-width:0;flex:1}.masterySelected181>header>.masteryCrest181{width:58px;height:63px}
.cardPanel179 .masteryReward181{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-size:.8rem;color:#dfc99b}
.masteryReward181 .wildArt,.masteryReward181 svg,.masteryReward181 img{width:24px!important;height:30px!important;flex:none;object-fit:contain}
.cardPanel179 .masteryCheck{margin:12px 0;font-size:.8rem}.cardPanel179 .masteryRules,.cardPanel179 .masteryProof90{margin-top:18px}
.celMst .masteryCrest181{position:absolute;right:0;bottom:0;width:64px;height:68px}
#scr-deck .deckTipsEntry181{width:100%;display:flex;align-items:center;justify-content:space-between;min-height:46px;border:0;border-block:1px solid #b6d9d52b;background:none;color:#bcd9d4;font:700 .85rem/1.4 var(--ui-body);padding:11px 0;text-align:left;cursor:pointer}
#scr-deck .deckTipsEntry181 i{font-size:20px;font-style:normal}.deckTips181 .deckPlanContent181>h3{display:flex;justify-content:space-between;align-items:center;gap:12px}
#scr-deck .filters181 .fchips{display:flex;gap:6px;flex-wrap:wrap;overflow:visible;max-height:none;margin:0;padding:0}
#scr-deck .filters181 .fchips[hidden]{display:none!important}
#scr-deck .filters181 .filterQuick181{flex-wrap:nowrap;align-items:stretch}
#scr-deck .filters181 .fchip{min-height:44px;padding:8px 11px;white-space:normal;font-size:.78rem;line-height:1.3;flex:none}
#scr-deck .filters181 #filterMore{margin-left:auto}
#scr-deck .filters181 #collectionFilters{padding-top:10px}
.filterActive181{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8rem;color:#cfdfdd;margin-top:4px}.filterActive181 button{min-height:44px}
.cardPanel179[data-panel179=try]>.shBody>.combatDemo168:first-child>.combatDemoOpen168{display:none}
.cardPanel179[data-panel179=try] .combatDemoStage168{aspect-ratio:1.55}
.cardPanel179[data-panel179=try] .combatDemoCaption168{font-size:.82rem;line-height:1.45}
@media(max-width:380px){#scr-deck .filters181 .fchip{padding:8px 7px}.masteryPath181{gap:2px}.masteryPath181 button{font-size:.7rem}}

/* Source: css/cards184.css */
/* Presentation-only. No arena, hand, card crop or game navigation geometry. */
.masteryCrest181.compactMedal184{width:28px;height:31px;filter:drop-shadow(0 1px 1px #0009)}
.masteryPath181{gap:5px;margin-bottom:14px}
.masteryPath181 button{min-height:86px;gap:3px;padding:7px 2px;border-radius:7px}
.masteryPath181 .masteryCrest181{width:34px;height:37px}
.masteryPath181 button[aria-pressed=true]{background:#283e44;border-color:#cbb274;box-shadow:inset 0 -2px #dfcb8c}
.masterySelected181>header{gap:14px;padding:15px 4px 17px;margin-bottom:15px}
.masterySelected181>header>.masteryCrest181{width:80px;height:87px;filter:drop-shadow(0 3px 2px #0008)}
.masterySelected181 h3{font-size:1.3rem!important;margin:4px 0 8px!important;color:#f5e4ad}
.masteryState184{font-size:.7rem;color:#b9d9cc;font-weight:750;letter-spacing:.025em}
.masteryEarned184>header{background:radial-gradient(ellipse at 20% 50%,#72958b18,transparent 68%)}
.cardPanel179 .masteryReward181{font-size:.8rem;line-height:1.45;flex-wrap:wrap;gap:6px;margin:0}
.cardPanel179 .masteryReward181 .wildArt{width:18px!important;height:22px!important}
.masteryEarned184 .masteryPaid{font-size:.8rem;color:#c3dfd1}
.masteryEarned184 .masteryUnlock{font-size:.8rem;line-height:1.5;color:#c1cfd9}
.masteryCompleted184,.cardContinue184{border-top:1px solid #92b4b433;margin-top:16px;padding:0}
.masteryCompleted184>summary,.cardContinue184>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 0;list-style:none;color:#c9dfdc;font:750 .82rem/1.35 var(--ui-body);cursor:pointer}
.masteryCompleted184>summary::-webkit-details-marker,.cardContinue184>summary::-webkit-details-marker{display:none}
.masteryCompleted184>summary:after,.cardContinue184>summary:after{content:'+';font-size:20px;font-weight:500;flex:none}
.masteryCompleted184[open]>summary:after,.cardContinue184[open]>summary:after{content:'ÃƒÂ¢Ã‹â€ Ã¢â‚¬â„¢'}
.masteryCompleted184 ul{padding-left:18px;color:#c6d4dd;font-size:.8rem;line-height:1.6}
.masteryCompleted184 li{margin:8px 0}.masteryCompleted184 .masteryChallenge{margin-top:6px}
.cardPanel179 .masteryRules{margin-top:8px}
.pfHonours>span,.masteryShowcaseCards>button,.rivalMasteryArt184{position:relative}
.pfHonours .profileMedal184,.masteryShowcaseCards .profileMedal184{position:absolute;top:3px;right:3px;width:27px;height:30px;margin:0}
.pfMc .masteryCrest181{width:20px;height:23px;margin-right:4px}
.celMedals{gap:10px}.celMedals .masteryCrest181{width:52px;height:57px}
.celMst .masteryCrest181{width:68px;height:74px;right:-3px;bottom:-3px}
.rivalMasteryArt184{display:block;width:54px;height:64px;flex:none}
.rivalMasteryArt184>.veraPortrait{width:100%;height:100%}
.rivalMasteryArt184 .profileMedal184{position:absolute;bottom:-1px;right:-3px;width:25px;height:28px}
.h151RankSeal{object-fit:contain}.h151TitleSeal{object-fit:contain}
.honourTitle151.title-master{--title-glow:#92cfc0;color:#c7e8db}
/* One stage, one readable cue, one transport. Secondary activities stay optional. */
:is(.cardSheet,.wildGuide176) .combatDemo168{margin:0 0 12px;border:0;border-radius:0;background:none;overflow:visible}
:is(.cardSheet,.wildGuide176) .combatDemoPanel168{padding:0}
:is(.cardSheet,.wildGuide176) .combatDemoStage168{aspect-ratio:1.28;margin:0;border-radius:8px;border:1px solid #78978777;background:#20383b}
.cardPanel179[data-panel179=try]>.shBody{padding:14px}
.cardPanel179[data-panel179=try] .combatDemoStage168{aspect-ratio:1.28}
:is(.cardSheet,.wildGuide176) .combatDemoCaption168{position:absolute!important;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0;margin:0;border:0}
:is(.cardSheet,.wildGuide176) .combatDemoCue184{min-height:2.8em;margin:10px 1px 8px;color:#e5eedf;font:650 .86rem/1.4 var(--ui-body);text-align:left}
:is(.cardSheet,.wildGuide176) .combatDemoControls168{display:flex;align-items:center;flex-wrap:nowrap;gap:14px}
:is(.cardSheet,.wildGuide176) .combatDemoControls168 button{flex:none;min-width:82px;min-height:44px;border-radius:7px;padding:8px 13px;background:linear-gradient(#385c55,#29483f);box-shadow:inset 0 1px #d9f3df22,0 2px #081b21;color:#f0f6e9}
.combatDemoProgress184{height:5px;flex:1;min-width:25px;background:#061a25;border-radius:3px;overflow:hidden;border:1px solid #486364}
.combatDemoProgress184 i{display:block;width:0;height:100%;background:#b8dec4}
.combatDemoNote184{display:block;text-align:right;color:#a4bac0;font:500 .68rem/1.4 var(--ui-body);margin:5px 1px 0}
:is(.cardSheet,.wildGuide176) .combatDemoStatus168{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;margin:0;min-height:0}
:is(.cardSheet,.wildGuide176) .combatDemo168[data-demo-state=load] .combatDemoStatus168,
:is(.cardSheet,.wildGuide176) .combatDemo168[data-demo-state=error] .combatDemoStatus168{position:static;clip-path:none;width:auto;height:auto;margin:8px 0;color:#efd9ab}
.cardContinue184>div{padding:0 0 12px;display:grid;gap:10px}
.cardContinue184>div>.btn,.cardContinue184 .cardLink179{margin:0;min-height:46px}
.cardContinue184 .cardLesson104{margin:0}
.cardContinue184 .combatDemoOpen168{border:1px solid #6e999266;border-radius:7px;background:#213d43}
.cardContinue184 .combatDemoPanel168{padding-top:12px}
.wildGuide176 .combatDemoOpen168[aria-expanded=true]{min-height:44px;padding:4px 0 8px;background:none;font-size:.75rem}
body.bigText :is(.cardSheet,.wildGuide176) .combatDemoCue184{font-size:1rem}
body.bigText .combatDemoNote184{font-size:.76rem}
body.bigText .masteryCompleted184>summary,body.bigText .cardContinue184>summary{font-size:1rem}
@media(max-width:380px){.masteryPath181{gap:3px}.masterySelected181>header>.masteryCrest181{width:74px;height:81px}.masterySelected181>header{gap:10px}}

/* A secondary comparison must leave a route back to the primary example. */
.cardPanel179[data-panel179=try]>.shBody>.combatDemo168:first-child>.combatDemoOpen168[aria-expanded=false]{display:flex;min-height:44px}

.celMst.m{border-color:#cbb77d;background:radial-gradient(ellipse,#345653,#142936)}
.honourTitle151.title-master{text-decoration-color:#92cfc066}

/* Source: css/cards186.css */
/* Quiet cards: the artwork slots, crops, hand and arena retain their geometry. */
.cardPanel179[data-panel179=status]>.shBody{padding:14px}
.cardPanel179[data-panel179=status] .combatDemoOpen168[aria-expanded=true]{display:none}
.combatDemoCue184[data-layout]{display:grid;gap:5px 12px;min-height:0}
.combatDemoCue184[data-layout=columns]{grid-template-columns:1fr 1fr}
.combatDemoCue184[data-layout=columns]>span{min-width:0;text-align:center}
.combatDemoCue184[data-layout=rows]>span{display:block;line-height:1.45;word-break:keep-all;overflow-wrap:normal}
.cardPanel179[data-panel179=status] .combatDemoCue184{margin:10px 0 12px;font-size:.8rem}
body.bigText .cardPanel179[data-panel179=status] .combatDemoCue184{font-size:.95rem}
.masteryCompleted184[open]>summary:after,.cardContinue184[open]>summary:after{content:'−'}
.h150Completed186{border-top:1px solid #93b2ae38;margin-top:16px}
.h150Completed186>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:48px;color:#c8dfd9;font:700 .82rem/1.35 var(--ui-body);cursor:pointer;list-style:none}
.h150Completed186>summary:after{content:'+';font-size:21px;font-weight:500}
.h150Completed186[open]>summary:after{content:'−'}
.h150Completed186>summary::-webkit-details-marker{display:none}
.h150Completed186 .h150Challenge{background:#17373755;border-color:#9bbbaa44}
.h150Completed186 .h150Footnote{margin-bottom:12px}
.h150Detail .h150OwnedMessage{font-size:.88rem;color:#b4dfc5}
.h150Detail .h151TitlePreview{gap:10px;padding:16px 12px;border-radius:9px}
.h150Detail .h151TitleSeal{width:44px;height:48px}
.h150Detail .h151TitleWords{min-width:0;flex:1}
.masteryCelebration186{position:relative;display:flex;align-items:center;justify-content:center;width:204px;height:153px;margin:0 auto;isolation:isolate}
.masteryCelebration186:before{content:'';position:absolute;z-index:-1;inset:20px -18px -6px;background:radial-gradient(ellipse at 52% 66%,#7caa8a2b,transparent 65%)}
.masteryPortrait186{display:block;position:relative;width:104px;height:128px;border:2px solid #bfa978;border-radius:9px;background:#17333d;box-shadow:inset 0 0 0 2px #10212e,0 5px 9px #040d1c66;overflow:hidden}
.masteryPortrait186>.veraPortrait{display:block;width:100%;height:100%}
.masteryCelebration186>.masteryCrest181{flex:none;width:87px;height:95px;align-self:flex-end;margin:0 0 5px -16px;filter:drop-shadow(0 3px 2px #071520aa);z-index:1}
.masteryRewardNote186{max-width:300px;margin:12px auto 0;text-align:center;font:700 .92rem/1.5 var(--ui-body);color:#e1eee5}
.masteryRewardNote186 small{display:block;margin-top:4px;font-size:.78rem;font-weight:500;color:#b7cbd0}
body.bigText .masteryRewardNote186{font-size:1rem}body.bigText .masteryRewardNote186 small{font-size:.87rem}
.rewardObject186{display:block;width:100%;height:100%;object-fit:contain}
.qcIco>.rewardObject186{width:48px;height:48px;max-width:100%;max-height:100%}
.ricon>.rewardObject186{width:100%;height:100%;max-width:52px;max-height:52px}
@media(max-width:380px){.h150Detail .h151TitleAvatar.forgePortrait{width:43px;height:43px}.h150Detail .h151TitlePreview{gap:8px;padding:14px 10px}.h150Detail .h151TitleSeal{width:40px;height:44px}}

/* Master is ruby enamel; Gold keeps its existing gold. No extra card layer. */
.masteryPath181 button[data-mastery-rank181="3"][aria-pressed=true]{background:#482d3d;border-color:#cf8c9d;color:#ffe4e9;box-shadow:inset 0 -3px #cf8c9d}
.masteryRuby198>header{background:radial-gradient(ellipse at 18% 50%,#9e3a5724,transparent 70%);border-bottom-color:#c17a9140}
.masteryRuby198>header h3{color:#f4c7d3}
.masteryCelebration186.masteryRuby198:before{background:radial-gradient(ellipse at 52% 66%,#b441672b,transparent 65%)}
.masteryRuby198 .masteryPortrait186{border-color:#c19099}

.honourTitle151.title-master{--title-glow:#dc839e;color:#f1c1cf;text-decoration-color:#d7789566}
.h150-ruby{--honour:#edb0c3}.h150-ruby>.h150Header{background:radial-gradient(ellipse at 0 0,#9c4d6638,transparent 70%),linear-gradient(120deg,#3b2b3b,#19283a);border-bottom-color:#b9788d55}
.h150-ruby>.h150Header h2{color:#f4c7d3}.h150Row.h150-ruby.is-owned{border-color:#bb7c9266}

/* Source: css/clarity205.css */
/* Existing card art/crops and arena layout stay untouched. */
.comboChanges205{display:grid;gap:8px;margin:12px 0;padding:10px 12px;background:rgba(119,190,167,.07);border-block:1px solid #55776e66;text-align:left}
.comboDelta205{display:flex;gap:10px;align-items:center;min-width:0}
.comboDelta205>i{font:700 22px/1 system-ui;color:#b3e6d1;width:18px;text-align:center;flex:none}
.comboDelta205.lost>i{color:#e2c58d}.comboDelta205>span{min-width:0}.comboDelta205 b,.comboDelta205 small{display:block;line-height:1.35;overflow-wrap:anywhere}
.comboDelta205 small{font-size:12px;color:#c1d0da}.comboChanges205>details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;gap:8px}.comboChanges205>details>summary:after{content:'+'}.comboChanges205>details[open]>summary:after{content:'−'}
.battleInsight205{margin:12px 0;text-align:left;border-block:1px solid #779a9c55;color:#e5edf2}
.battleInsight205>summary{display:flex;gap:10px;align-items:center;min-height:64px;padding:10px 4px;cursor:pointer;list-style:none}
.battleInsight205>summary::-webkit-details-marker{display:none}.battleInsight205>summary>span:not(.insPortrait205):not(.insWard205){flex:1;min-width:0}
.battleInsight205>summary b,.battleInsight205>summary small{display:block;line-height:1.4}.battleInsight205>summary b{font-size:14px;color:#f1d99e}.battleInsight205>summary small{font-size:13px;color:#d2dfe7;overflow-wrap:anywhere}
.battleInsight205>summary>i{font:700 20px/1 system-ui;flex:none;color:#bddbcd}.battleInsight205[open]>summary>i{transform:rotate(180deg)}
.insPortrait205,.insWard205{display:block;position:relative;width:40px;height:44px;flex:none;overflow:hidden;border-radius:7px;background:#172b39;border:1px solid #78958d77}
.insPortrait205 .veraPortrait{width:100%;height:100%}.insPortrait205>img{width:100%;height:100%;object-fit:contain}.insWard205{display:grid;place-items:center;color:#b1e8ce;font:700 30px/1 system-ui}
.insBody205{padding:0 4px 10px}.insBody205>p{font-size:12px;line-height:1.5;color:#b8cbd8;margin:4px 0 14px}
.insRow205{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid #6b86932e}.insRow205>div{flex:1;min-width:0}.insRow205 b{font-size:14px;line-height:1.4}.insRow205 dl{margin:5px 0 0;display:grid;gap:4px}.insRow205 dl>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:12px;line-height:1.45}.insRow205 dt{color:#c5d6df;overflow-wrap:anywhere}.insRow205 dd{margin:0;font-variant-numeric:tabular-nums;color:#ebf2f5;flex:none}.insRow205 .insCaution205 dt,.insRow205 .insCaution205 dd{color:#efcc92}
.battleInsight205 summary:focus-visible,.comboChanges205 summary:focus-visible{outline:2px solid #f2d69c;outline-offset:3px}
