:root{color:#e3e5dc;font-synthesis:none;--bg:#10191b;--panel:#192426;--line:#33403d;--muted:#94a6a0;--gold:#d9bf81;--mint:#9ed8bd;--coin:#e4c580;--gem:#a4cabe;--red:#d99085;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#10191b;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:87.5%;font-weight:400}.combat-feedback{z-index:8;pointer-events:none;animation:combat-notice var(--feedback-duration,1.7s) both;flex-direction:column;align-items:center;gap:3px;display:flex;position:absolute;inset:30% 6px auto}.feedback-damage,.feedback-label{background:#091719ed;border:1px solid #b1dcd377;border-radius:8px;padding:4px 5px;box-shadow:0 2px 8px #0008}@media (width<=350px){.feedback-damage{flex-direction:column;gap:0;padding:2px}.combat-feedback{top:18%}}.feedback-damage{gap:4px;max-width:100%;padding:3px;font-size:17px;font-weight:800;line-height:1.15;display:flex}.feedback-damage>span{isolation:isolate;text-shadow:0 1px 3px #000,0 0 3px #000;place-items:center;width:36px;height:32px;display:grid;position:relative}.feedback-damage .icon{opacity:.65;z-index:-1;width:32px;height:32px;position:absolute}.feedback-armor{color:#c1e9ff}.feedback-life{color:#ffadab}.feedback-label{text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:14px;font-weight:700;line-height:1.15}.feedback-barrier:before{content:"";clip-path:polygon(50% 0,96% 18%,84% 65%,50% 100%,41% 62%,62% 39%,42% 25%,51% 65%,28% 83%,13% 64%,4% 18%);z-index:-1;background:#bcf0ff;width:46px;height:54px;animation:.45s both barrier-break;position:absolute;top:-15px}@keyframes combat-notice{0%{opacity:0;transform:translateY(5px)}12%,80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}@keyframes barrier-break{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(1.6)rotate(12deg)}}.combat-feedback.still{animation:none}.combat-feedback.still:before{display:none}.catalog-card{content-visibility:auto;contain-intrinsic-block-size:auto 420px}@supports ((-moz-appearance:none)){.catalog-card{content-visibility:visible;contain-intrinsic-block-size:none}}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.43}button{background:0 0;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{transition:background .15s,border-color .15s,transform .15s}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400}h1{letter-spacing:-1px;font-size:40px;line-height:1.2}h2{margin:8px 0 22px;font-size:32px;line-height:1.2}h3{font-size:20px}h4{font-size:14px;font-weight:500}.icon{vertical-align:middle;flex-shrink:0}small{font-size:11px}.app{background:radial-gradient(ellipse at 48% 38%, #23393265, transparent 52%), radial-gradient(ellipse at 100% 5%, #29433822, transparent 40%), var(--bg);min-height:100vh}.site-header{background:#101a1be6;border-bottom:1px solid #33433a88;justify-content:space-between;align-items:center;gap:24px;height:92px;padding:0 4%;display:flex}.brand{letter-spacing:3px;color:#e6ddc1;align-items:center;gap:13px;font-family:Georgia,serif;font-size:24px;display:flex}.brand-mark{color:var(--gold);clip-path:polygon(50% 0,100% 22%,100% 78%,50% 100%,0 78%,0 22%);background:#b7ad7220;border:1px solid #736d4790;place-items:center;width:43px;height:49px;display:grid}.brand small{color:#94a99b;letter-spacing:3.2px;margin-top:6px;font:8px Segoe UI,sans-serif;display:block}.site-header nav{align-items:stretch;gap:28px;height:100%;display:flex}.site-header nav button{color:#92a39a;letter-spacing:.4px;align-items:center;gap:9px;padding:0 6px;font-size:13px;display:flex;position:relative}.site-header nav button.active{color:var(--gold)}.site-header nav button.active:after{content:"";background:var(--gold);height:2px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -3px 15px #c7b46a44}.site-header nav button:hover{color:#f1dfb6}.header-right{align-items:center;gap:22px;display:flex}.currency{align-items:center;gap:8px;min-width:52px;display:flex}.currency b{font-variant-numeric:tabular-nums;font-weight:500}.coin-color{color:var(--coin)}.gem-color{color:var(--gem)}.icon-button{color:var(--muted);border-radius:5px;place-items:center;padding:9px;display:inline-grid}.icon-button:hover:not(:disabled){color:#e2d9b9;background:#ffffff0c}.settings-button{border-left:1px solid var(--line);border-radius:0;padding-left:21px}.live-dot{background:#9ed8bd;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block;box-shadow:0 0 9px #9ed8bd55}.tiny-diamond{background:var(--gold);flex-shrink:0;width:5px;height:5px;display:inline-block;transform:rotate(45deg)}.eyebrow{letter-spacing:2.2px;color:var(--gold);align-items:center;gap:8px;font-size:9px;font-weight:600;display:flex}.muted{color:var(--muted);line-height:1.7}.fine-print{color:var(--muted);margin-top:20px;font-size:11px;line-height:1.7}.primary,.secondary{letter-spacing:.2px;border-radius:4px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:12px 19px;font-size:12px;font-weight:600;display:inline-flex}.primary{color:#263329;background:linear-gradient(115deg,#d8c38d,#bea776);border:1px solid #e5d19c;box-shadow:0 2px 10px #0003}.primary:hover:not(:disabled){background:#ebd5a1;transform:translateY(-1px)}.secondary{color:#ced8c6;background:#a7bd9d0b;border:1px solid #5d726150}.secondary:hover:not(:disabled){background:#a7bd9d20;border-color:#80927a}.text-button{color:#a2b4a8;justify-content:center;align-items:center;gap:7px;padding:8px 0;font-size:11px;display:inline-flex}.text-button:hover:not(:disabled){color:var(--gold)}.full{width:100%}.button-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}main{max-width:1320px;min-height:calc(100vh - 166px);margin:auto;padding:0 36px}.arena-heading{justify-content:space-between;align-items:center;padding:34px 0 23px;display:flex}.arena-heading h1{margin:9px 0 8px}.arena-heading p,.page-heading p{color:#93a59b;font-size:12px;line-height:1.7}.arena-meta{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.victory-count{color:#b1b99c;align-items:center;gap:8px;font-size:12px;display:flex}.encounter-bar{border-bottom:1px solid #45534560;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:17px;display:flex}.difficulty-picker{background:#0c1517;border:1px solid #33453c80;border-radius:5px;gap:4px;padding:3px;display:flex}.difficulty-picker button{color:#91a49a;letter-spacing:.3px;border-radius:3px;padding:8px 17px;font-size:11px}.difficulty-picker button.active{color:#d7c896;background:#3c514133;box-shadow:inset 0 0 0 1px #b1aa6340}.reward-preview{letter-spacing:1.5px;color:#819889;align-items:center;gap:18px;font-size:9px;display:flex}.reward-preview span{letter-spacing:0;align-items:center;gap:6px;font-size:13px;display:flex}.battlefield{grid-template-columns:minmax(175px,1fr) minmax(320px,1.87fr) minmax(175px,1fr);align-items:start;gap:30px;display:grid}.troop-side{min-width:0}.side-heading{letter-spacing:1.3px;color:#a6b6a4;justify-content:space-between;align-items:center;height:37px;font-size:9px;display:flex}.side-heading>div{align-items:center;gap:7px;display:flex}.side-heading>span{color:#6c8376;letter-spacing:1px;font-size:10px}.team-indicator{background:#94b99d;border-radius:50%;width:5px;height:5px}.team-indicator.enemy{background:#c18071}.troop-stack{flex-direction:column;gap:10px;display:flex}.battle-card{isolation:isolate;text-align:left;background:linear-gradient(130deg,#243c35,#172424);border:1px solid #57644a80;border-radius:5px;width:100%;height:123px;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 3px 7px #0002}.battle-card:before{content:"";z-index:3;background:#99a47766;width:2px;position:absolute;top:0;bottom:0;left:0}.battle-card.enemy{background:linear-gradient(130deg,#342e2b,#242828);border-color:#69564588}.battle-card.enemy:before{background:#bc867866}.battle-card-frame{isolation:isolate;width:100%;height:100%;display:block;position:relative}.battle-card:hover{border-color:#9cae79;transform:translateY(-1px)}.portrait{object-fit:contain;pointer-events:none}.battle-card-frame>.portrait{object-fit:cover;object-position:center top;opacity:.87;z-index:-2;width:70%;height:140%;transform:translate(var(--portrait-battle-x,0%), var(--portrait-battle-y,0%));position:absolute;top:-9%;right:-5%}.card-vignette{z-index:-1;background:linear-gradient(90deg,#17292cf5 0%,#182c2bc9 35%,#1b2e2440 70%),linear-gradient(#0000 40%,#122321e6);position:absolute;inset:0}.enemy .card-vignette{background:linear-gradient(90deg,#302c2bf2 0%,#2a2a2bbe 37%,#282b2040 70%),linear-gradient(#0000 40%,#252520ef)}.slot-index{color:#e0dbb887;background:#15202080;border:1px solid #cdd0b124;padding:2px 4px;font-size:8px;position:absolute;top:7px;right:8px}.battle-card-content{width:100%;padding:10px 12px 8px;position:relative}.card-top{align-items:center;gap:8px;margin-bottom:6px;display:flex}.troop-type{text-transform:uppercase;color:#afb7a7;letter-spacing:1px;font-size:8px}.mana-dots{align-items:center;gap:3px;display:inline-flex}.mana-dot{border:1px solid #ffffff70;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 4px #0004}.red{background:#d56b61}.green{background:#79b371}.blue{background:#609ec1}.yellow{background:#dcc775}.purple{background:#a585bd}.brown{background:#b0916b}.battle-card h3{text-shadow:0 1px 3px #0009;white-space:nowrap;letter-spacing:-.2px;margin:0 0 8px;font-size:18px}.stats{--stat-number-size:18px;font-variant-numeric:tabular-nums;align-items:center;gap:11px;font-weight:500;display:flex}.stats>span{align-items:center;gap:3px;display:flex}.stats .attack{color:#d7bdb0}.stats .armor{color:#b4c5d2}.stats .life{color:#b7cf9d}.stats .magic{color:#c9add3}.battle-card .stats .magic{display:none}.mana-track{background:#090f136f;border-radius:2px;width:100%;height:3px;margin-top:11px;overflow:hidden}.mana-track i{background:linear-gradient(90deg,#4f8c86,#a7dacc);border-radius:2px;height:100%;transition:width .25s;display:block}.enemy .mana-track i{background:linear-gradient(90deg,#836458,#c9a780)}.mana-label{color:#a3b5a9;letter-spacing:.4px;justify-content:space-between;align-items:center;margin-top:5px;font-size:8px;display:flex}.mana-label b{color:#c3cdbf;font-size:10px;font-weight:500}.mana-label b span{color:#8a9a8e;font-size:8px}.battle-card.ready{border-color:#9dcc9b;box-shadow:0 0 14px #88c99118}.ready .mana-label>span{color:#c6e5b3}.ready .mana-track i{background:#b9d594;box-shadow:0 0 7px #b9d594}.battle-card.fallen{filter:grayscale();opacity:.38}.battle-card.selected,.battle-card.targetable{border-color:var(--gold);box-shadow:0 0 0 1px #d9bf8188,0 0 18px #d9bf8122}.targetable{animation:1.2s ease-in-out infinite alternate target-glow}.side-link{color:#8b9f90;justify-content:space-between;align-items:center;width:100%;padding:12px 0;font-size:10px;display:flex}.side-link:hover{color:var(--gold)}.side-link.static:hover{color:#8b9f90}.board-column{min-width:0}.turn-ribbon{letter-spacing:2px;color:#c8c996;justify-content:center;align-items:center;gap:10px;height:37px;font-size:9px;display:flex}.ribbon-line{background:linear-gradient(90deg,#0000,#b4b57a66);width:30px;height:1px}.ribbon-line:last-child{transform:rotate(180deg)}.enemy-turn{color:#d59d8d}.board-frame{background:linear-gradient(145deg,#58654a66,#293d3277 40%,#293632b0);border:1px solid #8a8c586f;border-radius:5px;padding:11px;position:relative;box-shadow:0 16px 45px #0005,inset 0 0 0 3px #111d19}.corner{pointer-events:none;z-index:2;border-style:solid;border-color:#c8ba80;width:13px;height:13px;position:absolute}.corner.tl{border-width:2px 0 0 2px;top:-1px;left:-1px}.corner.tr{border-width:2px 2px 0 0;top:-1px;right:-1px}.corner.bl{border-width:0 0 2px 2px;bottom:-1px;left:-1px}.corner.br{border-width:0 2px 2px 0;bottom:-1px;right:-1px}.board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;background:#09171a;border:1px solid #0c1516;flex-direction:column;gap:2px;padding:3px;display:flex;box-shadow:inset 0 0 18px #0005}.board-row{flex:1;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;min-height:0;display:grid}.gem-cell{background:linear-gradient(145deg,#223b3bb0,#1a292d);border:1px solid #35474766;border-radius:3px;place-items:center;min-width:0;min-height:0;padding:5px;display:grid;position:relative;box-shadow:inset 0 1px #80907808}.board-row:nth-child(2n) .gem-cell:nth-child(odd),.board-row:nth-child(odd) .gem-cell:nth-child(2n){--tile-top:#203336;--tile-bottom:#14222a}.gem-cell:hover{background:#35504b!important}.gem-cell.selected{z-index:2;border-color:#e8d394;box-shadow:0 0 0 2px #d4c18a,0 0 14px #d4c18a44;background:#526249!important}.gem-cell.matched{background:#789e6540}.gem-art{filter:drop-shadow(0 3px 2px #0008);width:100%;max-width:53px;height:100%;overflow:visible}.gem-art.small{filter:drop-shadow(0 1px 1px #0006);width:24px;height:24px}.gem-cell:focus-visible{outline-offset:-2px;z-index:3}.gem-cell[aria-disabled=true]{cursor:default}.board-status{text-align:center;color:#e3e5dc;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:10px 4px;font-size:18px;line-height:1.35;display:flex}.board-status.extra{color:#dce7b2}.board-tools{justify-content:space-between;align-items:center;gap:12px;min-height:40px;display:flex}.board-tools .text-button{padding:9px;font-size:10px}.turn-count{color:#788c80;letter-spacing:1.5px;font-size:9px}.arena-bottom{border-top:1px solid #45554566;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 0;padding:17px 0 22px;display:flex}.battle-legend{color:#839b8b;gap:23px;font-size:9px;display:flex}.battle-legend>span{align-items:center;gap:7px;display:flex}.battle-legend .icon{color:#a7b594}.surrender{color:#bd9385}.site-footer{color:#697e71;border-top:1px solid #2c3d3244;justify-content:space-between;align-items:center;gap:15px;max-width:1320px;margin:auto;padding:18px 36px 24px;font-size:9px;display:flex}.site-footer>span{align-items:center;gap:10px;display:flex}.site-footer .tiny-diamond{background:#829777}.site-footer i{background:#698171;border-radius:50%;width:3px;height:3px}.global-notice{color:#b8d0a9;background:#344e392f;border:1px solid #78916d55;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:8px 14px;font-size:12px;display:flex}.global-notice.warning{color:#e7cca2;background:#78522a33;border-color:#997147}.update-notice{flex-wrap:wrap;margin-bottom:16px;padding:14px}.update-notice p{margin:4px 0 0}.update-notice .button-row{margin:0}.practice-team{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:15px;display:flex}.practice-team>span{color:var(--muted);font-size:11px}.collection-page{padding-bottom:35px}.page-heading{justify-content:space-between;align-items:center;padding:40px 0 30px;display:flex}.page-heading h1{margin:10px 0}.collection-total{text-align:right}.collection-total>b{color:#e2d6aa;font:36px Georgia,serif}.collection-total>b>span{color:#8c9f8d;font-size:20px}.collection-total>small{color:#8b9f8b;letter-spacing:1.6px;margin-top:8px;font-size:8px;display:block}.filters{align-items:center;gap:10px;margin:5px 0 24px;display:flex}.search-field{color:#91a086;background:#122023;border:1px solid #53634988;border-radius:4px;flex:1;align-items:center;gap:10px;padding:0 14px;display:flex}.search-field input{background:0 0;border:0;width:100%;padding-left:0}.search-field input:focus-visible{outline:0}input,select{color:#c9d1c0;background:#172527;border:1px solid #58664e77;border-radius:4px;max-width:100%;padding:12px;font-size:12px}input::placeholder{color:#778c7e}select{text-transform:capitalize}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.catalog-card{background:linear-gradient(150deg,#253631,#172426);border:1px solid #58684c6b;border-radius:7px;flex-direction:column;min-width:0;transition:transform .2s,border-color .2s;display:flex;overflow:hidden;box-shadow:0 8px 15px #0002}.catalog-card:hover{border-color:#98a372;transform:translateY(-3px)}.catalog-inspect{text-align:left;width:100%;padding:0}.catalog-art{background:radial-gradient(at 50% 75%,#67816633,#0000 75%);height:205px;position:relative;overflow:hidden}.catalog-art:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#1d2b29);position:absolute;inset:0}.catalog-art .portrait{object-position:50% 0;object-fit:contain;width:100%;height:120%;transform:translate(var(--portrait-collection-x,0%), var(--portrait-collection-y,0%)) scale(1.02);transition:transform .3s;position:absolute;top:10px}.catalog-card:hover .catalog-art .portrait{transform:translate(var(--portrait-collection-x,0%), var(--portrait-collection-y,0%)) scale(1.06)}.rarity-pill{z-index:2;color:#bfc9aa;letter-spacing:1px;text-transform:uppercase;background:#132225bc;border:1px solid #d3dab238;border-radius:3px;padding:4px 7px;font-size:8px;position:absolute;top:12px;left:13px}.rarity-epic .rarity-pill{color:#ccb3dc;border-color:#9270a46a}.rarity-legendary .rarity-pill{color:#e9c784;border-color:#bd985d8c}.rarity-ultra-rare .rarity-pill{color:#b5d4df;border-color:#7195a77a}.in-team{color:#a2c29f;z-index:2;align-items:center;gap:4px;font-size:9px;display:flex;position:absolute;bottom:8px;right:12px}.catalog-body{padding:10px 16px 0}.catalog-title{min-height:2.4em;font-size:22px}.catalog-title h3{font-size:inherit;overflow-wrap:anywhere;line-height:1.2}.catalog-affinities{align-items:center;min-height:24px;margin-bottom:6px;display:flex}.catalog-affinities .mana-dots{gap:4px}.catalog-affinities .mana-dots>.mana-dot{width:22px;height:22px}.troop-role{color:#869e8e;margin:7px 0 15px;font-size:12px}.catalog-body .stats{gap:14px}.catalog-spell{color:#b4bca3;text-align:left;gap:4px;padding:16px 0;font-size:14px;display:grid}.catalog-spell>span{color:#859d8e;font-size:14px}.catalog-footer{border-top:1px solid #80907133;justify-content:space-between;align-items:center;min-height:48px;margin:auto 16px 0;display:flex}.owned-label{color:#90b193;align-items:center;gap:5px;font-size:10px;display:flex}.catalog-footer .coin-color{color:var(--gold)}.catalog-footer .coin-color span{color:#afbd9e;margin-left:8px}.pinned{color:var(--gold)}.savings{color:var(--gold);background:#494b2e2b;border:1px solid #8c875455;border-radius:4px;align-items:center;gap:15px;margin-bottom:22px;padding:13px 18px;font-size:11px;display:flex}.savings>div{flex:1}.savings b{font-weight:500}.savings-track{background:#aaad6c22;max-width:400px;height:3px;margin-top:8px}.savings-track>i{background:#cdb676;height:100%;display:block}.team-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.team-slot{background:linear-gradient(145deg,#263c33,#162626);border:1px solid #69745880;border-radius:5px;min-height:220px;position:relative;overflow:hidden}.team-slot>.eyebrow{z-index:1;letter-spacing:1px;padding:15px;font-size:8px;position:relative}.team-slot>.portrait{opacity:.65;width:200px;height:200px;transform:translate(var(--portrait-team-x,0%), var(--portrait-team-y,0%));position:absolute;top:15px;right:-20px}.team-slot-body{background:linear-gradient(#0000,#132224);padding:55px 14px 14px;position:relative}.team-slot-body h3{text-shadow:0 2px 4px #000;margin:0 0 10px}.team-slot-inspect{z-index:1;width:100%;height:100%;position:absolute;inset:0}.team-slot-inspect:hover{background:#c5dfb60b}.team-slot-inspect:focus-visible{outline-offset:-3px}.team-slot-actions{z-index:2;gap:4px;margin-top:15px;display:flex;position:relative}.collection-sort-note{color:var(--muted);margin:-6px 0 14px;font-size:13px}.team-slot-actions .secondary{min-height:34px;margin-right:auto;padding:8px 14px;font-size:10px}.team-slot.chosen{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.team-insights{align-items:center;gap:30px;padding:22px 0;display:flex}.team-insights p{color:#9aab95;max-width:370px;font-size:11px;line-height:1.7}.coverage{align-items:center;gap:15px;margin-top:7px;display:flex}.coverage>span{color:#bfccb4;align-items:center;gap:3px;display:flex}.coverage b{font-size:11px;font-weight:400}.coverage .uncovered{opacity:.3}.preset-bar{border-bottom:1px solid #697b5c44;gap:12px;margin-bottom:25px;padding-bottom:28px;display:flex}.preset-bar input{flex:1}.section-caption{letter-spacing:1.4px;color:#c9c395;justify-content:space-between;align-items:center;gap:10px;margin:23px 0 12px;font-size:9px;display:flex}.section-caption>span{letter-spacing:0;color:#94a68d;font-size:9px}.inline-message{color:var(--mint);margin:10px 0 15px;font-size:12px}.empty-state{text-align:center;color:var(--muted);padding:60px}.modal{color:#dbe2d1;background:linear-gradient(135deg,#223330,#162427);border:1px solid #7c856277;border-radius:9px;width:100%;max-width:min(520px,100vw - 28px);max-height:calc(100dvh - 40px);padding:0;overflow:auto;box-shadow:0 24px 100px #0009}.modal.wide{max-width:min(700px,100vw - 28px)}.modal.scroll-inner{overflow:hidden}.modal.scroll-inner .modal-inner{max-height:inherit;overflow:auto}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#061113c9}.modal-inner{padding:30px;position:relative}.modal-close{position:absolute;top:15px;right:14px}.modal .eyebrow{padding-right:30px;line-height:1.7}.modal .primary{margin-top:18px}.modal .primary span{align-items:center;gap:6px;margin-left:auto;display:flex}.notice{color:#c4cbaa;background:#86925712;border:1px solid #8d9a6855;border-radius:4px;margin:15px 0;padding:13px 16px;font-size:12px;line-height:1.7}.notice p{margin-bottom:8px}.error{color:#f4b7a2}.detail-hero{grid-template-columns:minmax(0,1fr) minmax(112px,.75fr);align-items:center;gap:24px;display:grid}.detail-art{aspect-ratio:1;background:radial-gradient(at 50% 65%,#9dad7240,#0000 75%),linear-gradient(145deg,#30473d,#101f23);border-radius:8px;min-width:0;overflow:hidden}.detail-art>.portrait{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.detail-summary{min-width:0}.detail-hero .stats{margin:16px 0}.detail-summary .stats.explainable-stats{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:240px}.detail-summary .mana-dot{width:28px;height:28px}.spell-info{background:#0b1c1d5e;border:1px solid #55725244;border-radius:4px;margin:18px 0;padding:15px}.spell-heading{color:#c8d0a3;align-items:center;gap:8px;display:flex}.spell-heading h3{font-size:18px}.spell-heading>span{color:#a3bba0;white-space:nowrap;margin-left:auto;font-size:10px}.spell-info p{color:#cbd8c9;margin-top:10px;font-size:12px;line-height:1.8}.upgrade-row{justify-content:space-between;align-items:center;gap:15px;margin:23px 0 8px;display:flex}.upgrade-row p{margin-top:6px;font-size:11px}.upgrade-row .secondary{white-space:nowrap}.upgrade-preview{color:#adbfaa;font-size:11px}.upgrade-preview summary{cursor:pointer;padding:8px 0}.result-actions{gap:10px;display:grid}.training-preview{margin:12px 0 22px}.training-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.training-stat{font-variant-numeric:tabular-nums;background:#ffffff06;border:1px solid #ffffff18;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;display:flex}.training-stat-label{align-items:center;gap:4px;font-size:12px;display:flex}.training-values{align-items:center;gap:6px;font-size:18px;display:flex}.training-values>span,.training-stat small{color:#bdc9bd}.training-spell{margin-top:14px;font-size:14px;line-height:1.6}.training-spell h4{margin-bottom:4px}.training-spell-change{color:#f6d889;white-space:nowrap}.training-spell-change>span{color:#bdc9bd;font-weight:400}@media (width<=380px){.training-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.trait-list{flex-direction:column;display:flex}.trait-row{border-bottom:1px solid #687d5833;align-items:center;gap:12px;padding:12px 0;display:flex}.trait-row>div:nth-child(2){flex:1}.trait-row p{color:#93a68f;margin-top:4px;font-size:10px;line-height:1.6}.trait-row h4{color:#b6c6a8;font-size:12px}.trait-row:not(.unlocked) h4{color:#9ea899}.trait-icon{color:#829277;border:1px solid #63775460;border-radius:4px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.unlocked .trait-icon{color:#c3d9a2;background:#8dab5522;border-color:#95b36977}.unlocked>svg{color:#b5d39e}.trait-row .text-button{white-space:nowrap;font-size:10px}.enhancement-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.enhancement-grid button{color:#a5b793;background:#8faa5710;border:1px solid #687d5355;border-radius:4px;flex-direction:column;align-items:center;gap:8px;padding:14px 4px;display:flex}.enhancement-grid button b{text-transform:capitalize;font-size:10px;font-weight:500}.enhancement-grid button small{color:#96ab85;font-size:9px}.enhancement-grid button.equipped{background:#87ac5524;border-color:#b7cb8c}.battle-detail{align-items:center;gap:20px;height:130px;display:flex}.battle-detail>.portrait{object-fit:contain;width:140px;height:150px}.battle-detail .stats{margin:16px 0}.battle-detail p{color:var(--mint);font-size:12px}.compact{margin-bottom:18px}.color-choices{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.color-choices>button{background:#091b1c44;border:1px solid #74876566;border-radius:4px;flex-direction:column;align-items:center;gap:8px;padding:15px 7px;display:flex}.color-choices .gem-art{width:50px;height:50px}.color-choices b{text-transform:capitalize;font-size:12px;font-weight:500}.color-choices small{color:#94a28b;font-size:10px}.color-choices span{color:#c4d998;font-size:10px}.color-choices button:hover:not(:disabled){border-color:var(--gold);background:#7a945520}.setting-row{border-bottom:1px solid #65795744;justify-content:space-between;align-items:center;gap:15px;padding:20px 0;display:flex}.setting-row p{color:#91a78d;margin-top:6px;font-size:11px;line-height:1.6}.setting-row h3{font-size:18px}.setting-row input[type=checkbox]{accent-color:#b9cf91;flex-shrink:0;width:20px;height:20px}.segmented{border:1px solid #71825955;border-radius:4px;padding:3px;display:flex}.segmented button{color:#9bac8b;border-radius:2px;padding:7px 9px;font-size:11px}.segmented .active{color:#dfd5a4;background:#a8be762d}.save-panel{color:#bdcda7;align-items:flex-start;gap:15px;padding:23px 0;display:flex}.save-panel p{color:#8fa687;margin-top:8px;font-size:11px;line-height:1.7}.result-emblem{color:#d9c188;background:radial-gradient(circle,#d5bc7522,#0000);border:1px solid #9b95666b;border-radius:50%;place-items:center;width:100px;height:100px;margin:5px auto 25px;display:grid;box-shadow:0 0 0 7px #b6a76a09,0 0 0 8px #a8995325}.result-description{text-align:center;color:#aabb9d;font-size:12px;line-height:1.8}.result-rewards{border-top:1px solid #8a966344;border-bottom:1px solid #8a966344;justify-content:space-around;gap:20px;margin-top:10px;padding:27px 0;display:flex}.result-rewards>div{flex-direction:column;align-items:center;gap:9px;display:flex}.result-rewards b{font:29px Georgia,serif}.result-rewards span{letter-spacing:1.6px;color:#93a784;font-size:8px}.journal-timeline{gap:20px;display:grid}.journal-group{background:#101a22;border:1px solid #648da14d;border-radius:12px;overflow:hidden}.journal-group>h3{background:#193b45;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:12px 14px;font-size:18px;display:flex}.journal-side-enemy>h3{background:#492a31}.journal-group h3 small{font:400 13px var(--font-body,sans-serif);opacity:.8}.journal-group ol{margin:0;padding:0;list-style:none}.journal-entry{border-top:1px solid #738b9930;align-items:flex-start;gap:10px;padding:12px;display:flex}.journal-icon{color:#d9c18c;flex:0 0 30px;place-items:center;width:30px;height:32px;display:grid}.journal-icon .gem{width:28px;height:28px}.journal-entry-body{min-width:0;font-size:15px;line-height:1.45}.journal-entry-body>strong{color:#f5e5bb;font-size:15px}.journal-entry-body p{font-size:inherit;line-height:inherit;overflow-wrap:anywhere;margin:2px 0}.journal-losses,.journal-change,.journal-stats{flex-wrap:wrap;gap:5px 14px;margin-top:6px;display:flex}.journal-losses{color:#ffb6a8;font-size:16px;font-weight:700}.journal-change{color:#d6c98e;font-size:15px;font-weight:700}.journal-losses>span,.journal-change>span,.journal-stats>span,.journal-roster>span:not(:first-child){align-items:center;gap:5px;display:inline-flex}.journal-stats{color:#c5d4dc;font-size:14px}.journal-stats b{color:#eeaea2;font-size:13px}.journal-stats svg,.journal-losses svg,.journal-roster svg{flex:none}.journal-teams{border:1px solid #738b994d;border-radius:10px;padding:12px}.journal-teams summary{cursor:pointer;font-size:16px}.journal-teams h3{margin:16px 0 8px;font-size:16px}.journal-roster{grid-template-columns:minmax(0,1fr) 62px 62px;gap:8px;padding:6px 0;font-size:15px;display:grid}.journal-legacy{padding-left:24px;font-size:16px;line-height:1.6}.journal-legacy li{margin-bottom:12px}.glossary-term{color:#ffe1a3;font:inherit;line-height:inherit;cursor:help;background:0 0;border:0;border-bottom:1px dotted;border-radius:0;padding:0;display:inline}.glossary-term:focus-visible{outline-offset:3px;outline:2px solid #ffe1a3}.glossary-copy{font-size:18px;line-height:1.6}.gem-guide-art{place-items:center;height:100px;margin:8px auto 20px;display:grid}.gem-guide-art .gem{width:96px;height:96px}.glossary-status-art .status-icon{width:56px;height:56px}.gem-help-trigger{color:#ffe1a3;max-width:100%;min-height:40px;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:0 3px;display:flex}.gem-help-trigger>span{text-overflow:ellipsis;white-space:nowrap;border-bottom:1px dotted;overflow:hidden}.gem-help-trigger b{border:1px solid;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font:700 13px sans-serif;display:grid}.help-grid{grid-template-columns:1fr 1fr;gap:25px;margin:15px 0 25px;display:grid}.help-grid .icon{color:var(--gold);margin-bottom:14px}.help-grid p{color:#a5b89c;margin-top:9px;font-size:12px;line-height:1.8}@keyframes hint-glow{0%{box-shadow:inset 0 0 8px #cfdb8177}to{box-shadow:inset 0 0 18px #cfdb8199}}@keyframes target-glow{0%{box-shadow:0 0 8px #d9bf8110}to{box-shadow:0 0 18px #d9bf8150}}.reduce-motion *{transition:none!important;animation:none!important}@media (width>=1450px){main{padding-top:10px}.battle-card{height:127px}.board-frame{padding:12px}.arena-heading{padding-top:40px}}@media (width<=1100px){.site-header{gap:16px;padding:0 25px}.brand{gap:8px;font-size:20px}.brand small{letter-spacing:2.4px;font-size:7px}.site-header nav{gap:17px}.header-right{gap:14px}main{padding:0 25px}.battlefield{grid-template-columns:minmax(155px,1fr) minmax(300px,1.9fr) minmax(155px,1fr);gap:18px}.battle-card{height:112px}.battle-card h3{font-size:16px}.battle-card-content{padding:9px}.battle-card .stats{gap:8px;font-size:11px}.mana-track{margin-top:8px}.board-frame{padding:9px}.gem-cell{padding:4px}.troop-type{font-size:7px}.side-heading{letter-spacing:.7px;font-size:8px}.board-tools{min-height:37px}.catalog-grid{gap:14px}.catalog-art{height:170px}.catalog-title{font-size:19px}.catalog-body{padding:10px 12px 0}.catalog-footer{margin:0 12px}.catalog-body .stats{gap:8px}.battle-legend{gap:14px;font-size:8px}.arena-heading h1{font-size:36px}.team-slot-actions .icon-button{padding:7px}}@media (width<=850px){.site-header{flex-wrap:wrap;gap:12px;height:78px;padding:0 20px}.brand{font-size:18px}.brand-mark{width:32px;height:40px}.brand small{letter-spacing:2px;font-size:6px}.site-header nav{gap:11px}.site-header nav button{gap:5px;font-size:11px}.header-right{gap:8px}.currency{min-width:40px;font-size:12px}.currency>.icon{width:17px}.settings-button{padding-left:10px}.battlefield{grid-template-columns:minmax(135px,1fr) minmax(280px,2fr) minmax(135px,1fr);gap:12px}.battle-card{height:98px}.battle-card-content{padding:8px}.battle-card h3{margin-bottom:6px;font-size:14px}.battle-card .stats{gap:6px}.card-top{margin-bottom:5px}.slot-index{padding:1px 3px;font-size:6px}.troop-type{display:none}.mana-track{margin-top:7px}.mana-label{font-size:7px}.mana-label b{font-size:8px}.side-heading{font-size:7px}.gem-cell{padding:3px}.turn-ribbon{letter-spacing:1.2px;gap:6px;font-size:8px}.ribbon-line{width:15px}.board-status{min-height:38px;font-size:9px}.board-tools .text-button{padding:7px 2px;font-size:9px}.side-link{font-size:9px}.arena-bottom{flex-direction:column;align-items:stretch}.arena-bottom>.button-row{justify-content:space-between}.battle-legend{justify-content:space-between;gap:8px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{flex-wrap:wrap}.search-field{min-width:200px}.filters select{flex:1;min-width:120px}.preset-bar{flex-wrap:wrap}.preset-bar select{width:100%}}@media (width<=650px){.site-header{align-content:space-between;height:113px;padding:14px 18px 0;position:relative}.brand{font-size:20px}.brand small{font-size:6px}.site-header nav{order:3;justify-content:center;gap:38px;width:100%;height:43px}.site-header nav button{font-size:11px}.header-right{gap:10px;margin-left:auto}.settings-button{border:0;padding:6px}.currency{gap:4px;min-width:25px;font-size:11px}.currency .icon{width:15px}.brand-mark{width:30px;height:35px}.brand-mark .icon{width:25px}.site-header nav .icon{width:14px;height:14px}main{padding:0 18px}.arena-heading{align-items:flex-start;padding:24px 0 18px}.arena-heading h1{margin:8px 0 6px;font-size:29px}.arena-heading p{font-size:10px}.eyebrow{letter-spacing:1.5px;font-size:7px}.arena-meta{flex-shrink:0;gap:6px;padding-top:2px}.victory-count{gap:4px;font-size:9px}.victory-count .icon{width:13px}.arena-meta .text-button{gap:4px;font-size:9px}.arena-meta .text-button .icon{width:13px}.encounter-bar{flex-wrap:wrap;gap:12px;margin-bottom:9px;padding-bottom:13px}.difficulty-picker{justify-content:space-between;width:100%}.difficulty-picker button{flex:1;padding:8px 15px;font-size:10px}.reward-preview{justify-content:flex-end;gap:14px;width:100%;font-size:8px}.reward-preview span{font-size:11px}.battlefield{flex-direction:column;gap:0;display:flex}.troop-side{width:100%}.enemy-side{order:0}.board-column{order:1;width:100%;margin-top:5px}.player-side{order:2}.troop-stack{flex-direction:row;gap:6px}.side-heading{letter-spacing:1px;height:25px;font-size:8px}.side-heading>span{font-size:9px}.battle-card{flex:1;min-width:0;height:105px}.battle-card-frame>.portrait{opacity:.72;width:110%;height:110%;top:0;right:-10%}.card-vignette,.enemy .card-vignette{background:linear-gradient(#17292711 10%,#152426cc 70%,#152426f9 100%)}.battle-card-content{padding:42px 6px 5px}.card-top{position:absolute;top:7px;left:6px}.mana-dot{width:6px;height:6px}.battle-card h3{white-space:normal;align-items:flex-end;min-height:24px;margin:0 0 5px;font-size:11px;line-height:1.08;display:flex}.battle-card .stats{justify-content:space-between;gap:4px}.battle-card .stats>span{gap:1px}.mana-track{height:2px;margin-top:5px}.mana-label{letter-spacing:0;margin-top:4px;font-size:6px}.mana-label>b{font-size:7px}.mana-label b span{font-size:6px}.slot-index{font-size:6px;top:5px;right:4px}.side-link{display:none}.turn-ribbon{letter-spacing:1.7px;height:30px;font-size:8px}.ribbon-line{width:35px}.board-frame{padding:7px}.board{gap:2px;padding:2px}.gem-cell{padding:4px}.board-status{min-height:36px;padding:7px 3px;font-size:9px}.board-tools{min-height:37px;margin-bottom:9px}.board-tools .text-button{padding:7px;font-size:10px}.arena-bottom{margin-top:17px;padding:15px 0}.battle-legend{flex-wrap:wrap;justify-content:center;gap:9px 14px;font-size:8px;line-height:1.5}.battle-legend .icon{width:13px;height:13px}.site-footer{flex-direction:column;align-items:flex-start;gap:10px;padding:15px 18px 23px;font-size:8px}.page-heading{padding:27px 0 24px}.page-heading h1{font-size:32px}.page-heading p{max-width:230px;font-size:11px}.collection-total>b{font-size:30px}.collection-total small{letter-spacing:1px;font-size:6px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.catalog-art{height:166px}.catalog-body{padding:7px 11px 0}.catalog-title{font-size:19px}.catalog-body .stats{justify-content:space-between;gap:6px}.catalog-spell{flex-wrap:wrap;gap:4px;padding:13px 0;font-size:14px}.catalog-spell>span{font-size:14px}.troop-role{margin:6px 0 13px;font-size:12px}.catalog-footer{margin:auto 11px 0}.catalog-footer .text-button{gap:4px;font-size:10px}.catalog-footer .coin-color span{margin-left:2px}.owned-label{gap:3px;font-size:9px}.catalog-footer .icon-button{padding:5px}.rarity-pill{font-size:6px;top:9px;left:9px}.in-team{font-size:7px;right:8px}.filters{gap:8px;margin-bottom:18px}.search-field{flex-basis:100%}.filters select{min-width:90px;padding:10px 5px;font-size:10px}.team-slots{gap:10px}.team-slot{min-height:185px}.team-slot>.eyebrow{letter-spacing:.8px;padding:12px;font-size:6px}.team-slot>.portrait{width:170px;height:170px;top:10px}.team-slot-body{padding:45px 11px 10px}.team-slot-body h3{font-size:18px}.team-slot-actions{gap:1px}.team-slot-actions .secondary{min-height:31px;padding:7px 9px;font-size:9px}.team-slot-actions .icon-button{padding:5px}.team-slot-actions .icon{width:16px}.team-insights{flex-direction:column;align-items:flex-start;gap:8px;padding:18px 0}.team-insights p{font-size:10px}.team-insights .section-caption{margin-top:0}.coverage{gap:20px}.preset-bar{gap:8px;margin-bottom:20px;padding-bottom:20px}.preset-bar input{width:100px;min-width:0}.preset-bar .secondary{padding:10px;font-size:11px}.savings{gap:8px;padding:11px;font-size:9px}.savings>.icon{width:16px}.savings>span{white-space:nowrap}.modal-inner{padding:25px 20px}.modal h2{margin-bottom:20px;font-size:28px}.modal .eyebrow{letter-spacing:1.3px;font-size:7px}.spell-heading{flex-wrap:wrap;gap:6px}.spell-heading h3{font-size:17px}.spell-heading>.icon{width:16px}.spell-heading>span{font-size:9px}.spell-info p{font-size:11px}.detail-hero .spell-info p{font-size:10px}.upgrade-row h3{font-size:18px}.upgrade-row p{font-size:10px}.upgrade-row .secondary{padding:10px;font-size:11px}.section-caption{letter-spacing:1px;font-size:8px}.section-caption>span{font-size:8px}.enhancement-grid{gap:5px}.enhancement-grid button b{font-size:9px}.enhancement-grid button small{font-size:8px}.trait-row{gap:9px}.trait-icon{width:28px;height:28px}.trait-row h4{font-size:11px}.trait-row p{font-size:10px}.help-grid{grid-template-columns:1fr;gap:20px}.help-grid>div{padding-left:43px;position:relative}.help-grid .icon{width:27px;position:absolute;top:3px;left:0}.help-grid h3{font-size:21px}.help-grid p{font-size:11px}.setting-row{gap:10px}.setting-row h3{font-size:17px}.setting-row p{font-size:10px}.global-notice{font-size:11px}.practice-team{gap:6px}.practice-team select{width:calc(50% - 3px);padding:8px;font-size:10px}.practice-team>span{width:100%;font-size:10px}}@media (width<=370px){main{padding:0 12px}.site-header{padding-left:12px;padding-right:12px}.brand{font-size:18px}.header-right{gap:5px}.arena-heading h1{font-size:25px}.arena-meta{display:none}.gem-cell{padding:3px}.battle-card h3{font-size:10px}.catalog-title{font-size:17px}.catalog-body .stats{gap:4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=650px){.in-battle .site-header{height:89px;padding-top:8px}.in-battle .site-header nav{height:34px}.in-battle .brand{font-size:18px}.in-battle .brand small{margin-top:3px}.in-battle .arena-heading{padding:12px 0 6px}.in-battle .arena-heading h1{margin:5px 0;font-size:23px}.in-battle .arena-heading p,.in-battle .arena-meta{display:none}.in-battle .arena-heading .eyebrow{font-size:6px}.in-battle .battle-card{height:98px}.in-battle .battle-card-content{padding-top:35px}.in-battle .side-heading{height:22px}.in-battle .turn-ribbon{height:24px}.in-battle .board-status{min-height:29px;padding:6px 2px}.in-battle .board-tools{min-height:30px;margin-bottom:3px}.in-battle .board-tools .text-button{padding:5px}.in-battle .board-column{margin-top:2px}.in-battle .arena-bottom{margin-top:13px}}.battlefield{isolation:isolate;position:relative}.battle-effects{z-index:12;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.board{overflow:hidden}.gem-art{max-width:58px}.gem-core{transform-origin:24px 24px;animation:4.8s ease-in-out infinite gem-breathe}.gem-core>:not(.gem-raster):not(.gem-label){display:none}.gem-glint{transform-origin:33px 11px;animation:5s ease-in-out infinite gem-twinkle}.battlefield.busy .gem-core,.battlefield.busy .gem-glint{animation-play-state:paused}.board-row:nth-child(2n) .gem-core{animation-delay:-1.7s}.gem-cell:nth-child(3n) .gem-core{animation-delay:-3.1s}.gem-cell:nth-child(2n) .gem-glint{animation-delay:-2.4s}.gem-cell:nth-child(3n) .gem-glint{animation-delay:-4.1s}.gem-cell.selected{box-shadow:0 0 0 2px #f6dc9a,0 0 24px #f8d78177,inset 0 0 18px #f7e6b322;background:radial-gradient(#84936688,#425744)!important}.gem-cell.selected:after{content:"";pointer-events:none;border:1px solid #ffe9af;border-radius:8px;animation:1.2s ease-out infinite selection-ring;position:absolute;inset:-3px}.gem-cell.selected .gem-core{animation:1.6s ease-in-out infinite selected-gem}.gem-cell.matched .gem-art{animation:none}.phase-resolve .gem-cell.matched .gem-art{opacity:0}.phase-drop .gem-cell .gem-art{z-index:3;position:relative}.battlefield[data-actor=player] .player-side .side-heading,.battlefield[data-actor=enemy] .enemy-side .side-heading{color:#f4dfaf;text-shadow:0 0 12px #f3d59377}.battlefield[data-actor=player] .player-side .side-heading:after,.battlefield[data-actor=enemy] .enemy-side .side-heading:after{content:"◆";color:#e8d89d;margin-left:5px}.action-banner{z-index:15;pointer-events:none;text-align:center;background:linear-gradient(90deg,#142f3100,#193b39f5 12% 88%,#142f3100);border-block:1px solid #d6bd7866;padding:20px 14px;animation:.25s ease-out both banner-arrive;position:absolute;box-shadow:0 12px 25px #0004}.action-banner.enemy{background:linear-gradient(90deg,#391f2a00,#4c2939f5 12% 88%,#391f2a00);border-color:#dca89088}.action-banner small{letter-spacing:3px;color:#e2cd9f;margin-bottom:8px;font-size:9px;display:block}.action-banner strong{color:#fff0ce;text-shadow:0 2px 12px #0008;font-family:Georgia,serif;font-size:clamp(17px,2vw,27px);line-height:1.3;display:block}.phase-cast .action-banner strong{font-size:clamp(15px,1.5vw,21px)}.mana-track i{transition:width .2s ease-out}.kingdom-label{color:#b5c7aa;margin:6px 0;font-size:11px;display:block}.kingdom-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.kingdom-preset{background:#172f2a;border:1px solid #667d6555;border-radius:8px;padding:20px}.kingdom-preset h3{color:#e7d5a7;margin:0}.kingdom-preset p{color:#b8c7b5;font-size:13px;line-height:1.6}.kingdom-roster{flex-wrap:wrap;gap:8px 12px;margin-bottom:18px;display:flex}.kingdom-roster .text-button{font-size:12px}@keyframes gem-breathe{0%,to{transform:translateY(0)scale(.97)}50%{transform:translateY(-.7px)scale(1)}}@keyframes gem-twinkle{0%,65%,to{opacity:.18;transform:scale(.55)}76%{opacity:.95;transform:scale(1.12)}84%{opacity:.4;transform:scale(.8)}}@keyframes selected-gem{0%,to{transform:scale(1.06)rotate(-3deg)}50%{transform:scale(1.12)rotate(3deg)}}@keyframes selection-ring{0%{opacity:.85;transform:scale(.96)}to{opacity:0;transform:scale(1.17)}}@keyframes banner-arrive{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition:none!important;animation:none!important}@media (width<=650px){.kingdom-presets{grid-template-columns:1fr}.action-banner{padding:14px 10px}}@media (prefers-reduced-motion:reduce){.gem-core,.gem-glint,.gem-cell.selected:after,.action-banner{animation:none!important}}.app{min-height:100svh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.modal{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.install-panel{background:#1a302b;border:1px solid #8ba98755;border-radius:8px;margin:8px 0 20px;padding:16px}.install-panel h3{color:#ead8aa;margin:0 0 8px}.install-panel p{color:#b8c9bb;font-size:13px;line-height:1.55}.install-panel a{color:#eed69b;text-decoration:underline}.install-panel .offline-state{color:#a0dbb8}@media (width<=950px) and (height<=950px){.arena-view:is(.in-battle,.arena-ready) .site-header{flex-wrap:nowrap;align-content:normal;gap:8px;height:48px;padding:0 10px}.arena-view:is(.in-battle,.arena-ready) .brand{letter-spacing:1.5px;gap:0;font-size:14px}.arena-view:is(.in-battle,.arena-ready) .brand-mark,.arena-view:is(.in-battle,.arena-ready) .brand small,.arena-view:is(.in-battle,.arena-ready) .header-right .currency,.arena-view:is(.in-battle,.arena-ready) .site-header nav .icon,.arena-view:is(.in-battle,.arena-ready) .site-header nav .live-dot{display:none}.arena-view:is(.in-battle,.arena-ready) .site-header nav{order:0;gap:5px;width:auto;height:48px;margin-left:auto}.arena-view:is(.in-battle,.arena-ready) .site-header nav button{min-height:44px;padding:4px 6px;font-size:10px}.arena-view:is(.in-battle,.arena-ready) .header-right{margin-left:0}.arena-view:is(.in-battle,.arena-ready) .settings-button{border:0;width:40px;min-height:44px;padding:7px}.arena-view:is(.in-battle,.arena-ready) main{padding:0 10px}.arena-view:is(.in-battle,.arena-ready) .arena-heading{min-height:30px;margin:0;padding:5px 0}.arena-view:is(.in-battle,.arena-ready) .arena-heading h1{margin:0;font-size:18px;line-height:20px}.arena-view:is(.in-battle,.arena-ready) .arena-heading p,.arena-view:is(.in-battle,.arena-ready) .arena-heading .eyebrow,.arena-view:is(.in-battle,.arena-ready) .arena-meta,.arena-view:is(.in-battle,.arena-ready) .battle-legend,.arena-view:is(.in-battle,.arena-ready) .site-footer{display:none}.arena-view:is(.in-battle,.arena-ready) .arena-bottom{border:0;gap:0;margin:4px 0 0;padding:0}.arena-view:is(.in-battle,.arena-ready) .arena-bottom .text-button{min-height:36px;padding:6px;font-size:10px}.arena-view:is(.in-battle,.arena-ready) .arena-bottom>.button-row{justify-content:space-between;width:100%}.arena-view:is(.in-battle,.arena-ready) .side-link{display:none}.arena-view:is(.in-battle,.arena-ready) .turn-ribbon{height:22px;font-size:8px}.arena-view:is(.in-battle,.arena-ready) .board-status{min-height:28px;padding:4px 2px;font-size:9px;line-height:1.2}.arena-view:is(.in-battle,.arena-ready) .board-tools{min-height:34px;margin:0}.arena-view:is(.in-battle,.arena-ready) .board-tools .text-button{min-height:34px;padding:4px 6px;font-size:10px}.arena-view:is(.in-battle,.arena-ready) .board-frame{padding:5px}.arena-view:is(.in-battle,.arena-ready) .side-heading{height:18px;font-size:8px}.arena-view:is(.in-battle,.arena-ready) .battlefield{gap:0}}@media (width<=650px) and (orientation:portrait){.arena-view:is(.in-battle,.arena-ready) .troop-stack{gap:4px}.arena-view:is(.in-battle,.arena-ready) .battle-card{height:78px}.arena-view:is(.in-battle,.arena-ready) .battle-card-content{padding:24px 5px 3px}.arena-view:is(.in-battle,.arena-ready) .battle-card h3{min-height:22px;margin:0 0 2px;font-size:10px;line-height:11px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats{gap:3px}.arena-view:is(.in-battle,.arena-ready) .mana-track{height:3px;margin-top:3px}.arena-view:is(.in-battle,.arena-ready) .mana-label{margin-top:2px;font-size:7px}.arena-view:is(.in-battle,.arena-ready) .mana-label b{font-size:8px}.arena-view:is(.in-battle,.arena-ready) .mana-label>span{font-size:7px}.arena-view:is(.in-battle,.arena-ready) .board-column{width:min(100%, max(264px, calc(100svh - 382px - env(safe-area-inset-top) - env(safe-area-inset-bottom))));align-self:center;margin:0}.arena-view:is(.in-battle,.arena-ready) .gem-cell{padding:3px}}@media (orientation:landscape) and (height<=600px) and (width<=1100px){.arena-view{--arena-board:max(224px, min(calc(100svh - 142px - env(safe-area-inset-top) - env(safe-area-inset-bottom)), calc(100vw - 300px - env(safe-area-inset-left) - env(safe-area-inset-right))))}.arena-view:is(.in-battle,.arena-ready) .arena-heading{display:none}.arena-view:is(.in-battle,.arena-ready) main{padding:2px 10px 0}.arena-view .battlefield{grid-template-columns:minmax(120px, 1fr) var(--arena-board) minmax(120px, 1fr);align-items:start;gap:12px;max-width:950px;margin:auto;display:grid}.arena-view .player-side{order:0;width:auto}.arena-view .board-column{order:1;width:100%;margin:0}.arena-view .enemy-side{order:2;width:auto}.arena-view .troop-stack{flex-direction:column;gap:4px;display:flex}.arena-view .battle-card{height:calc((var(--arena-board) + 42px) / 4);flex:none;min-height:52px}.arena-view .battle-card-content{padding:7px 9px 4px}.arena-view .battle-card h3{min-height:0;margin:0 0 4px;padding-right:8px;font-size:13px;line-height:15px;display:block}.arena-view .battle-card .stats{justify-content:flex-start;gap:8px}.arena-view .battle-card-frame>.portrait{opacity:.8;width:65%;height:145%;top:-10%;right:0}.arena-view .card-top{display:none}.arena-view .mana-track{height:3px;margin-top:4px}.arena-view .mana-label{margin-top:2px;font-size:7px}.arena-view .mana-label b{font-size:8px}.arena-view .slot-index{display:none}.arena-view .board{gap:1px;padding:2px}.arena-view .board-row{gap:1px}.arena-view .gem-cell{padding:2px}.arena-view:is(.in-battle,.arena-ready) .arena-bottom{max-width:950px;margin:0 auto}.arena-view:is(.in-battle,.arena-ready) .board-status{min-height:24px}.arena-view .action-banner{padding:12px 8px}.arena-view .action-banner strong{font-size:17px}}@media (width<=370px) and (orientation:portrait){.arena-view:is(.in-battle,.arena-ready) .brand{display:none}.arena-view:is(.in-battle,.arena-ready) .site-header nav{gap:12px;margin-left:0;margin-right:auto}}@media (orientation:landscape) and (height>=360px) and (height<=600px) and (width<=950px){.arena-view:is(.in-battle,.arena-ready){--arena-board:max(224px, min(calc(100svh - 124px - env(safe-area-inset-top) - env(safe-area-inset-bottom)), calc(100vw - 300px - env(safe-area-inset-left) - env(safe-area-inset-right))))}.arena-view:is(.in-battle,.arena-ready) .site-header,.arena-view:is(.in-battle,.arena-ready) .site-header nav{height:44px}.arena-view:is(.in-battle,.arena-ready) .turn-ribbon{height:18px}.arena-view:is(.in-battle,.arena-ready) .battle-card{height:calc(var(--arena-board) / 4)}.arena-view:is(.in-battle,.arena-ready) .board-status{min-height:22px}.arena-view:is(.in-battle,.arena-ready) .board-tools,.arena-view:is(.in-battle,.arena-ready) .board-tools .text-button{min-height:28px}.arena-view:is(.in-battle,.arena-ready) .arena-bottom{bottom:env(safe-area-inset-bottom);left:calc(10px + env(safe-area-inset-left));right:calc(10px + env(safe-area-inset-right));pointer-events:none;z-index:16;position:fixed}.arena-view:is(.in-battle,.arena-ready) .arena-bottom button{pointer-events:auto}}.gem-core,.gem-glint{animation:none}.gem-glint{opacity:0;stroke:#32403b;stroke-width:.35px}.gem-cell:before{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:#e9fff0;transition:opacity .26s ease-out;position:absolute;inset:0}.gem-cell.hinted:before{opacity:.38}.gem-cell .gem-art{position:relative}.stats>span{flex:none;place-items:center;gap:0;width:36px;height:34px;display:grid;position:relative}.stats>span .icon{width:100%;height:100%;position:absolute;inset:0}.stats>:is(span,button) .icon{fill:currentColor;fill-opacity:.18;stroke-width:1.2px;opacity:.9}.stats>span b{z-index:1;font-size:var(--stat-number-size);letter-spacing:0;color:#fffbed;font-variant-numeric:tabular-nums;font-kerning:none;text-shadow:0 1px 2px #000,1px 0 2px #000,-1px 0 2px #000;font-weight:700;line-height:1;position:relative}.battle-card .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-width:140px;display:grid}.battle-card .stats>span{width:100%;height:32px}.battle-card .stats .icon{width:100%;height:100%}.modal{width:min(720px,100% - 20px)}.modal-inner{padding:26px}.modal h2{font-size:30px;line-height:1.2}.modal p,.modal .muted,.modal .setting-row p{font-size:18px;line-height:1.5}.modal .eyebrow{font-size:12px}.modal .spell-info p,.modal .detail-hero .spell-info p{font-size:20px;line-height:1.5}.modal .spell-heading{flex-wrap:wrap;gap:8px}.modal .spell-heading>span{font-size:16px}.modal .trait-row h4,.modal .trait-row h3{font-size:19px}.modal .trait-row p{font-size:17px;line-height:1.5}.modal .trait-row small{font-size:13px}.modal .battle-detail p{font-size:18px}.modal .stats{gap:10px}.modal .stats>span{width:42px;height:42px}.modal .stats .icon{width:100%;height:100%}.modal .stats{--stat-number-size:22px}.modal .primary,.modal .secondary{min-height:44px;font-size:17px}.modal .fine-print{font-size:14px}@media (width<=650px){.modal-inner{padding:20px 16px}.modal .battle-detail{gap:12px}.modal .battle-detail>.portrait{width:82px;height:100px}.modal .stats{flex-wrap:wrap;gap:4px}.modal .stats>span{width:36px;height:38px}.modal .spell-heading h3{font-size:21px}.modal .trait-row{align-items:start}}@media (width<=950px) and (height<=950px){.arena-view:is(.in-battle,.arena-ready) .site-header,.arena-view:is(.in-battle,.arena-ready) .site-header nav{height:44px}.arena-view:is(.in-battle,.arena-ready) .brand,.arena-view:is(.in-battle,.arena-ready) .arena-heading{display:none}.arena-view:is(.in-battle,.arena-ready) .site-header nav{margin-left:0;margin-right:auto}.arena-view:is(.in-battle,.arena-ready) .site-header nav button{font-size:12px}.arena-view:is(.in-battle,.arena-ready) .side-heading{font-size:10px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats{gap:2px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats>span{height:28px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats .icon{width:100%;height:100%}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats{--stat-number-size:18px}.arena-view:is(.in-battle,.arena-ready) .mana-label,.arena-view:is(.in-battle,.arena-ready) .mana-label>b,.arena-view:is(.in-battle,.arena-ready) .mana-label b span,.arena-view:is(.in-battle,.arena-ready) .turn-ribbon{font-size:11px}.arena-view:is(.in-battle,.arena-ready) .board-status,.arena-view:is(.in-battle,.arena-ready) .board-tools .text-button,.arena-view:is(.in-battle,.arena-ready) .arena-bottom .text-button{font-size:12px}}@media (width<=650px) and (orientation:portrait){.arena-view:is(.in-battle,.arena-ready) main{padding:0}.arena-view:is(.in-battle,.arena-ready) .troop-side{padding:0 6px}.arena-view:is(.in-battle,.arena-ready) .board-column{width:100%}.arena-view:is(.in-battle,.arena-ready) .board-frame{box-shadow:none;border-inline:0;padding:2px 0}.arena-view:is(.in-battle,.arena-ready) .board-frame .corner{display:none}.arena-view:is(.in-battle,.arena-ready) .battle-card{height:98px}.arena-view:is(.in-battle,.arena-ready) .battle-card-content{padding:20px 4px 3px}.arena-view:is(.in-battle,.arena-ready) .battle-card h3{min-height:26px;margin-bottom:2px;font-size:12px;line-height:13px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats{gap:1px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats>span{height:26px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats{--stat-number-size:16px}.arena-view:is(.in-battle,.arena-ready) .mana-label>span{font-size:9px}.arena-view:is(.in-battle,.arena-ready) .mana-label>b,.arena-view:is(.in-battle,.arena-ready) .mana-label b span{font-size:10px}.arena-view:is(.in-battle,.arena-ready) .board-tools,.arena-view:is(.in-battle,.arena-ready) .arena-bottom{padding:0 8px}}.catalog-body .stats .icon{width:100%;height:100%}.cast-action{margin:0 0 18px}@media (orientation:landscape) and (height<=600px) and (width<=1100px){.arena-view:is(.in-battle,.arena-ready){--arena-board:min(calc(100svh - 8px - env(safe-area-inset-top) - env(safe-area-inset-bottom)), calc(100vw - 232px - env(safe-area-inset-left) - env(safe-area-inset-right)));--arena-side:calc((100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - var(--arena-board) - 32px) / 2)}.arena-view:is(.in-battle,.arena-ready) main{padding:4px 8px 0}.arena-view:is(.in-battle,.arena-ready) .battlefield{grid-template-columns:minmax(100px, 1fr) var(--arena-board) minmax(100px, 1fr);gap:8px;max-width:none}.arena-view:is(.in-battle,.arena-ready) .board-column{margin:0}.arena-view:is(.in-battle,.arena-ready) .board-frame{border:0;padding:0}.arena-view:is(.in-battle,.arena-ready) .board-frame .corner,.arena-view:is(.in-battle,.arena-ready) .turn-ribbon,.arena-view:is(.in-battle,.arena-ready) .brand,.arena-view:is(.in-battle,.arena-ready) .wallet,.arena-view:is(.in-battle,.arena-ready) .arena-heading,.arena-view:is(.in-battle,.arena-ready) .side-link,.arena-view:is(.in-battle,.arena-ready) .battle-legend,.arena-view:is(.in-battle,.arena-ready) .site-footer{display:none}.arena-view:is(.in-battle,.arena-ready) .site-header{border:0;height:0;padding:0}.arena-view:is(.in-battle,.arena-ready) .site-header nav{left:calc(8px + env(safe-area-inset-left));top:env(safe-area-inset-top);width:var(--arena-side);z-index:16;gap:4px;height:32px;margin:0;position:fixed}.arena-view:is(.in-battle,.arena-ready) .site-header nav button{width:30px;min-height:32px;padding:5px}.arena-view:is(.in-battle,.arena-ready) .site-header nav button .icon{width:18px;height:18px;display:block}.arena-view:is(.in-battle,.arena-ready) .site-header nav button span{display:none}.arena-view:is(.in-battle,.arena-ready) .header-right{right:calc(8px + env(safe-area-inset-right));top:env(safe-area-inset-top);z-index:16;height:32px;margin:0;position:fixed}.arena-view:is(.in-battle,.arena-ready) .header-right>:not(.settings-button){display:none}.arena-view:is(.in-battle,.arena-ready) .settings-button{border:0;width:30px;height:32px;min-height:32px;padding:5px}.arena-view:is(.in-battle,.arena-ready) .troop-side{padding-top:30px}.arena-view:is(.in-battle,.arena-ready) .board-status{top:env(safe-area-inset-top);left:auto;right:calc(42px + env(safe-area-inset-right));width:calc(var(--arena-side) - 34px);text-overflow:ellipsis;flex-direction:column;justify-content:center;gap:0;height:32px;min-height:0;padding:2px;font-size:9px;line-height:1.2;display:flex;position:fixed;overflow:hidden;transform:none}.arena-view:is(.in-battle,.arena-ready) .board-status>span{display:none}.arena-view:is(.in-battle,.arena-ready) .board-status:before{content:"YOUR TURN";color:#e4d39e;font-size:11px;font-weight:700}.arena-view:is(.in-battle,.arena-ready) [data-actor=enemy] .board-status:before{content:"OPPONENT’S TURN";color:#ffc2ac}.arena-view:is(.in-battle,.arena-ready) .side-heading{letter-spacing:.4px;height:16px;margin:0;padding:0;font-size:9px}.arena-view:is(.in-battle,.arena-ready) .troop-stack{gap:4px}.arena-view:is(.in-battle,.arena-ready) .battle-card{height:calc((100svh - 96px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) / 4);min-height:50px}.arena-view:is(.in-battle,.arena-ready) .battle-card-content{padding:2px 5px}.arena-view:is(.in-battle,.arena-ready) .battle-card h3{white-space:nowrap;text-overflow:ellipsis;min-height:0;margin:0 0 1px;font-size:12px;line-height:14px;overflow:hidden}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats{gap:2px;max-width:120px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats>span{height:24px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats .icon{width:100%;height:100%}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats{--stat-number-size:18px}.arena-view:is(.in-battle,.arena-ready) .mana-track{height:2px;margin-top:1px}.arena-view:is(.in-battle,.arena-ready) .mana-label{margin-top:1px;line-height:11px}.arena-view:is(.in-battle,.arena-ready) .mana-label,.arena-view:is(.in-battle,.arena-ready) .mana-label>b,.arena-view:is(.in-battle,.arena-ready) .mana-label b span{font-size:10px}.arena-view:is(.in-battle,.arena-ready) .board-tools{bottom:env(safe-area-inset-bottom);left:calc(8px + env(safe-area-inset-left));width:var(--arena-side);min-height:32px;margin:0;position:fixed}.arena-view:is(.in-battle,.arena-ready) .board-tools .turn-count{display:none}.arena-view:is(.in-battle,.arena-ready) .arena-bottom{z-index:16;left:auto;right:calc(8px + env(safe-area-inset-right));bottom:env(safe-area-inset-bottom);width:var(--arena-side);pointer-events:none;border:0;gap:0;max-width:none;margin:0;padding:0;position:fixed}.arena-view:is(.in-battle,.arena-ready) .arena-bottom button{pointer-events:auto}.arena-view:is(.in-battle,.arena-ready) .arena-bottom>.button-row{flex-wrap:nowrap;justify-content:space-between;gap:4px;width:100%}.arena-view:is(.in-battle,.arena-ready) .journal-prefix{display:none}.arena-view:is(.in-battle,.arena-ready) .side-heading>div{white-space:nowrap;overflow:hidden}.arena-view:is(.in-battle,.arena-ready) .board-tools .text-button,.arena-view:is(.in-battle,.arena-ready) .arena-bottom .text-button{min-height:32px;padding:4px 1px;font-size:11px}}@media (orientation:landscape) and (height<=340px){.arena-view:is(.in-battle,.arena-ready) .battle-card-content{padding:1px 4px}.arena-view:is(.in-battle,.arena-ready) .battle-card h3{font-size:11px;line-height:12px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats>span{height:20px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats{--stat-number-size:16px}}@media (orientation:landscape) and (width<=650px){.arena-view:is(.in-battle,.arena-ready) .side-heading>span{display:none}}.app{padding-top:calc(44px + env(safe-area-inset-top))}#root .site-header{z-index:20;top:env(safe-area-inset-top);left:env(safe-area-inset-left);right:env(safe-area-inset-right);background:#101c1dee;border-bottom:1px solid #40554c66;flex-wrap:nowrap;gap:8px;height:44px;padding:0 8px;position:fixed}#root .site-header .brand,#root .site-header .currency{display:none}#root .site-header nav{order:0;gap:8px;width:auto;height:44px;margin:0;display:flex;position:static}#root .site-header nav button{width:auto;min-height:44px;padding:6px 8px;font-size:14px}#root .site-header nav button .icon{width:18px;height:18px;display:block}#root .site-header nav button span{display:inline}#root .header-right{height:44px;margin:0 0 0 auto;padding:0;position:static}#root .settings-button{border:0;width:40px;height:44px;min-height:44px;padding:8px}#root .settings-button .icon{width:24px;height:24px}.menu-actions{gap:8px;margin-bottom:16px;display:grid}.menu-actions .secondary{justify-content:flex-start}.menu-wallet,.troops-wallet{color:var(--gold);flex-wrap:wrap;gap:20px;margin:0 0 16px;font-size:17px;display:flex}.menu-wallet>span,.troops-wallet>span{align-items:center;gap:6px;display:flex}.troops-collection-heading{margin:24px 0 16px;font-size:24px}.arena-view:is(.in-battle,.arena-ready) .side-heading,.arena-view:is(.in-battle,.arena-ready) .turn-ribbon,.arena-view:is(.in-battle,.arena-ready) .board-tools,.arena-view:is(.in-battle,.arena-ready) .arena-bottom{display:none}.arena-view:is(.in-battle,.arena-ready) .troop-stack{border-radius:5px;transition:box-shadow .15s;box-shadow:0 0 0 1px #3b4c45}.arena-view:is(.in-battle,.arena-ready) [data-actor=player] .player-side .troop-stack{box-shadow:0 0 0 2px #a4caaa,0 0 12px #a4caaa33}.arena-view:is(.in-battle,.arena-ready) [data-actor=enemy] .enemy-side .troop-stack{box-shadow:0 0 0 2px #dcab94,0 0 12px #dcab9433}.arena-view:is(.in-battle,.arena-ready) [data-actor=player] .enemy-side .portrait,.arena-view:is(.in-battle,.arena-ready) [data-actor=enemy] .player-side .portrait{opacity:.65}@media (width<=650px) and (orientation:portrait){.arena-view:is(.in-battle,.arena-ready) .troop-side{padding:4px 6px}.arena-view:is(.in-battle,.arena-ready) .battle-card{height:128px}.arena-view:is(.in-battle,.arena-ready) .battle-card-content{padding:32px 5px 6px}.arena-view:is(.in-battle,.arena-ready) .battle-card h3{min-height:30px;font-size:13px;line-height:15px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats>span{height:30px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats{--stat-number-size:18px}.arena-view:is(.in-battle,.arena-ready) .mana-track{height:4px;margin-top:3px}.arena-view:is(.in-battle,.arena-ready) .mana-label,.arena-view:is(.in-battle,.arena-ready) .mana-label>span,.arena-view:is(.in-battle,.arena-ready) .mana-label>b,.arena-view:is(.in-battle,.arena-ready) .mana-label b span{font-size:11px;line-height:12px}.arena-view:is(.in-battle,.arena-ready) .board-status{min-height:30px;padding:5px 8px}}@media (orientation:landscape) and (height<=600px) and (width<=1100px){.app{padding-top:env(safe-area-inset-top)}#root .site-header{background:0 0;border:0;height:0;padding:0}#root .site-header nav{top:env(safe-area-inset-top);left:calc(8px + env(safe-area-inset-left));gap:4px;height:32px;position:fixed}#root .site-header nav button{width:34px;min-height:32px;padding:6px}#root .site-header nav button span{display:none}#root .header-right{top:env(safe-area-inset-top);right:calc(8px + env(safe-area-inset-right));height:32px;position:fixed}#root .settings-button{width:34px;height:32px;min-height:32px;padding:5px}#root .settings-button .icon{width:22px;height:22px}.app main{padding-top:40px}.arena-view:is(.in-battle,.arena-ready){--arena-board:min(calc(100dvh - 8px - env(safe-area-inset-top) - env(safe-area-inset-bottom)), calc(100vw - 232px - env(safe-area-inset-left) - env(safe-area-inset-right)))}.arena-view:is(.in-battle,.arena-ready) main{padding-top:4px}.arena-view:is(.in-battle,.arena-ready) .troop-side{padding-top:34px}.arena-view:is(.in-battle,.arena-ready) .battle-card{height:calc((100dvh - 86px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) / 4)}.arena-view:is(.in-battle,.arena-ready) .board-status{top:auto;bottom:calc(3px + env(safe-area-inset-bottom));right:auto;left:calc(8px + env(safe-area-inset-left));width:var(--arena-side);height:28px;font-size:11px}.arena-view:is(.in-battle,.arena-ready) .board-status:before{content:none}}@media (display-mode:browser) and (hover:none) and (orientation:landscape) and (height<=600px) and (width<=1100px){.arena-view:is(.in-battle,.arena-ready){min-height:calc(100lvh + 64px)}.arena-view:is(.in-battle,.arena-ready) main{top:env(safe-area-inset-top);position:sticky}.arena-view:is(.in-battle,.arena-ready) .troop-side{touch-action:pan-y}}.team-presets{border:1px solid var(--line);border-radius:6px;margin-top:16px;padding:12px}.team-presets>summary{cursor:pointer;color:var(--gold);font-size:16px}:is(.modal,.settings-page) .setting-row h3{font-size:19px}:is(.modal,.settings-page) .setting-row:has(.segmented){flex-direction:column;align-items:stretch;gap:12px}:is(.modal,.settings-page) .segmented button{flex:1;min-width:44px;min-height:44px;font-size:16px}:is(.modal,.settings-page) .setting-row input[type=checkbox]{width:24px;height:24px}#root .site-header nav .live-dot{width:4px;height:4px;display:block;position:absolute;top:5px;right:2px}#root .site-header{border-bottom:0;box-shadow:0 1px #40554c66}@media (orientation:landscape) and (height<=600px) and (width<=1100px){#root .site-header{box-shadow:none}}.troops-wallet{margin:12px 0 0}.mana-dots{gap:3px}.mana-dots>.mana-dot{width:21px;height:23px;box-shadow:none;background:0 0;border:0;border-radius:0;flex:none;display:inline-flex}.mana-dot .gem-art.small{filter:drop-shadow(0 1px 1px #000);width:100%;max-width:none;height:100%}.battle-card .card-top,.arena-view .battle-card .card-top{gap:3px;margin:0;display:flex;position:static}.battle-card .troop-type{display:none}.battle-card-content,.arena-view:is(.in-battle,.arena-ready) .battle-card-content{flex-direction:column;justify-content:flex-end;gap:3px;padding:7px;display:flex;position:absolute;inset:0}.battle-card .card-top,.arena-view:is(.in-battle,.arena-ready) .battle-card .card-top{margin-bottom:auto}.battle-card h3,.arena-view:is(.in-battle,.arena-ready) .battle-card h3{margin:0;padding:0}.battle-card .mana-track,.arena-view:is(.in-battle,.arena-ready) .battle-card .mana-track{height:7px;min-height:7px;box-shadow:none;background:0 0;border-radius:3px;gap:5px;margin:2px 0 0;display:flex;overflow:visible}.mana-affinities{flex:none;align-items:center;gap:2px;display:flex}.mana-affinities>span{background-image:linear-gradient(135deg,#ffffff70,#0000 50%,#0005);border-radius:2px;width:7px;height:7px;box-shadow:inset 0 0 0 1px #ffffff50,0 1px 2px #000}.mana-reservoir{background:#080f13;border-radius:3px;flex:1;min-width:0;height:100%;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff30}.battle-card .mana-reservoir i{background:linear-gradient(180deg, #ffffff70, transparent 45%, #0005), var(--mana-gradient);box-shadow:0 0 9px var(--mana-color), inset 0 1px 0 #ffffffb0;position:relative}.battle-card.ready .mana-reservoir{outline-offset:1px;outline:1px solid #fff1bd}.battle-card.ready .mana-track i{background:linear-gradient(180deg, #ffffffa0, transparent 50%, #ffffff30), var(--mana-gradient);box-shadow:0 0 12px var(--mana-color), inset 0 1px 0 #fff}.battle-card.ready .mana-reservoir{box-shadow:0 0 9px var(--mana-color), inset 0 0 3px #fff8}.battle-card.ready .mana-reservoir i:after{content:"";background:linear-gradient(110deg,#0000 30%,#ffffffb0 50%,#0000 70%);animation:2.8s ease-in-out infinite mana-lustre;position:absolute;inset:0;transform:translate(-100%)}@keyframes mana-lustre{60%,to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.battle-card.ready .mana-reservoir i:after{animation:none}}.battle-card.ready .mana-track[data-reduced-motion] .mana-reservoir i:after{animation:none}.modal .battle-detail{gap:14px;height:auto;min-height:76px;margin:0 0 12px}.modal .battle-detail>.portrait{width:72px;height:80px}.modal .battle-detail .stats{margin:6px 0 0}.modal .battle-detail .mana-dot{width:21px;height:23px}.modal .battle-detail+.spell-info{margin-top:8px}.modal .spell-heading{grid-template-columns:18px minmax(0,1fr) auto;gap:8px;display:grid}.modal .spell-heading h3{font-size:21px;line-height:1.2}.modal .spell-heading>.spell-mana{margin-left:0;font-size:15px}.spell-cast{color:#e3edc4;background:#334535;border:1px solid #b9ce9277;border-radius:5px;justify-content:center;align-items:center;gap:4px;min-width:66px;min-height:40px;padding:6px 9px;font-size:15px;font-weight:600;display:inline-flex}.spell-cast:hover:not(:disabled){background:#456044}@media (width<=650px) and (orientation:portrait){.arena-view:is(.in-battle,.arena-ready) .battle-card-content{gap:2px;padding:5px}.arena-view:is(.in-battle,.arena-ready) .battle-card h3{min-height:30px;font-size:13px;line-height:15px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats>span{height:30px}}@media (orientation:landscape) and (height<=600px) and (width<=1100px){.arena-view:is(.in-battle,.arena-ready) .battle-card-content{grid-template-rows:minmax(16px,1fr) 24px 7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 3px;padding:4px 5px;display:grid}.arena-view:is(.in-battle,.arena-ready) .battle-card h3{grid-area:1/1;min-width:0;font-size:12px;line-height:14px}.arena-view:is(.in-battle,.arena-ready) .battle-card .card-top{grid-area:1/2;margin:0}.arena-view:is(.in-battle,.arena-ready) .battle-card .mana-dots{gap:1px}.arena-view:is(.in-battle,.arena-ready) .battle-card .mana-dot{width:16px;height:18px}.arena-view:is(.in-battle,.arena-ready) .battle-card .stats{grid-area:2/1/auto/-1;width:100%}.arena-view:is(.in-battle,.arena-ready) .battle-card .mana-track{grid-area:3/1/auto/-1;margin:0}}@media (orientation:landscape) and (height<=340px){.arena-view:is(.in-battle,.arena-ready) .battle-card-content{grid-template-rows:minmax(16px,1fr) 20px 7px;gap:1px 3px;padding:2px 4px}}@media (width<=400px){.modal .spell-heading{gap:5px}.modal .spell-heading h3{font-size:18px}.modal .spell-heading>.spell-mana{font-size:14px}}.victory-banner.action-banner{background:linear-gradient(90deg,#17312a00,#17312aeb 15% 85%,#17312a00);border-color:#ffe3a2;padding:24px 10px;animation:1s cubic-bezier(.15,.6,.25,1) both victory-arrive;top:34%;box-shadow:0 0 60px #e8b84933}.victory-banner.action-banner strong{letter-spacing:.05em;color:#fff0bc;text-shadow:0 2px 4px #000,0 0 28px #ffd66899;font-size:clamp(36px,7vw,64px)}.victory-banner.action-banner small{letter-spacing:.3em;font-size:13px}.victory-flourish{color:#ecc877;margin-top:14px;font-size:12px;display:block}@keyframes victory-arrive{0%{opacity:0;transform:scale(.88)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal .button-row>.primary{margin-top:0}.modal .surrender-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;margin-top:24px;display:grid}.modal .surrender-actions>button{text-align:center;justify-content:center;height:100%;min-height:52px;padding:12px}@media (width<=360px){.modal .surrender-actions{grid-template-columns:1fr}}.hero-summary{background:#263a3266;border:1px solid #b8aa6855;border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;margin:0 0 22px;padding:18px;display:flex}.hero-summary>.portrait{object-fit:contain;border-radius:6px;width:76px;height:76px}.hero-summary-text{flex:1;min-width:150px}.hero-summary-text h2{margin:0 0 5px;font-size:24px}.hero-summary-text p{margin:0 0 8px;font-size:16px}.hero-summary .button-row{gap:8px}.hero-summary .secondary{min-height:44px;font-size:16px}.armory-wallet{color:var(--gold);align-items:center;gap:8px;display:flex}.armory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.weapon-card{background:#0e201f88;border:1px solid #80927a55;border-radius:8px;flex-direction:column;gap:10px;min-width:0;padding:16px;display:flex}.weapon-card.equipped{border-color:#d9c078}.weapon-art{object-fit:contain;border-radius:5px;width:100%;height:120px}.weapon-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.weapon-heading h3{margin:0;font-size:22px}.weapon-card>small{color:#b8c9bd;font-size:15px}.weapon-card>p{margin:0 0 6px}.modal .weapon-card>button{white-space:normal;text-align:center;justify-content:center;min-height:48px;margin-top:auto}.battle-card .battle-card-frame>.portrait.weapon-portrait{object-fit:contain;object-position:center top;width:100%;height:100%;inset:0}.team-slot .portrait.weapon-portrait{object-fit:contain}@media (width<=650px) and (orientation:portrait){.arena-view .battle-card .battle-card-frame>.portrait{aspect-ratio:1;object-fit:contain;object-position:center top;width:100%;height:auto;transform:translate(var(--portrait-collection-x,0%), var(--portrait-collection-y,0%));top:0;right:0}.arena-view .battle-card .battle-card-frame>.portrait.weapon-portrait{transform:none}}@media (width<=550px){.armory-grid{grid-template-columns:1fr}.hero-summary{gap:12px;padding:14px}.hero-summary>.button-row{width:100%}.hero-summary .secondary{flex:1}}.difficulty-picker{flex-wrap:wrap}@media (width<=600px){.difficulty-picker button{padding:8px 10px;font-size:12px}}.battle-launch{z-index:4;border-radius:inherit;background:radial-gradient(#071719f5 12%,#0b1c20de 48%,#09161973 100%);place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.battle-launch-display{text-align:center;flex-direction:column;align-items:center;gap:14px;width:90%;display:flex}.launch-eyebrow{letter-spacing:.2em;color:#ccd2bd;font-size:11px}.battle-launch-button{color:#ffdf98;text-shadow:0 2px 8px #000;border-radius:12px;flex-direction:column;align-items:center;gap:13px;width:100%;max-width:310px;padding:14px 12px;font-family:Georgia,serif;font-size:clamp(26px,4vw,36px);font-weight:700;display:flex}.battle-launch-button:hover{background:#d9bf810d}.launch-emblem{background:radial-gradient(circle at 40% 25%,#7c693b,#263631 70%);border:1px solid #e6c982;border-radius:50%;place-items:center;width:76px;height:76px;display:grid;box-shadow:0 0 0 5px #d9bf8112,0 0 35px #e0b96226,inset 0 0 14px #0007}.launch-rule{color:#dfc07c;align-items:center;gap:12px;width:80%;display:flex}.launch-rule:before,.launch-rule:after{content:"";background:linear-gradient(90deg,#0000,#dfc07c99);flex:1;height:1px}.launch-rule:after{transform:rotate(180deg)}.launch-encounter{color:#d3dacf;font-size:14px;line-height:1.4}.battle-launch.departing{animation:.48s ease-out both launch-dissolve}.battle-launch.departing .battle-launch-display{animation:.48s ease-out both launch-release}.battle-launch.departing .battle-launch-button{opacity:1}@keyframes launch-dissolve{0%,12%{opacity:1}to{opacity:0}}@keyframes launch-release{to{opacity:0;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.battle-launch.departing,.battle-launch.departing .battle-launch-display{animation:none}}.reduce-motion .battle-launch.departing,.reduce-motion .battle-launch.departing .battle-launch-display{animation:none}.launch-reward{color:#c5cbb9;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.launch-reward>span{align-items:center;gap:4px;display:inline-flex}.arena-ready .encounter-bar{justify-content:center;margin-top:18px}@media (width<=650px) and (orientation:portrait){.arena-ready .arena-heading{display:none}.arena-ready .encounter-bar{margin-bottom:2px;padding:4px 8px 8px}}@media (orientation:landscape) and (height<=600px) and (width<=1100px){.arena-view.arena-ready{--arena-board:min(calc(100svh - 52px - env(safe-area-inset-top) - env(safe-area-inset-bottom)), calc(100vw - 232px - env(safe-area-inset-left) - env(safe-area-inset-right)))}.arena-ready .encounter-bar{border:0;min-height:36px;margin:0 60px 8px;padding:0}.arena-ready .difficulty-picker{width:auto}.arena-ready .difficulty-picker button{min-height:32px;padding:7px 9px;font-size:12px}.arena-view.arena-ready .troop-side{padding-top:0}.arena-view.arena-ready .board-status{display:none}.arena-view.arena-ready .battle-card{height:calc((var(--arena-board) - 12px) / 4)}.arena-ready .battle-launch-display{gap:8px}.arena-ready .battle-launch-button{gap:9px;padding:6px;font-size:28px}.arena-ready .launch-emblem{width:60px;height:60px}.arena-ready .launch-eyebrow{font-size:10px}.arena-ready .practice-team{margin:0 0 8px}}@media (orientation:landscape) and (height<=340px){.arena-ready .battle-launch-display{gap:5px}.arena-ready .launch-emblem{width:48px;height:48px}.arena-ready .launch-emblem .icon{width:30px;height:30px}.arena-ready .launch-eyebrow{display:none}}.battle-card .card-top{justify-content:flex-end}.battle-card .mana-dots>.mana-dot{width:18px;height:20px}.modal .spell-info .summon-rule{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.5}@media (orientation:landscape) and (height<=600px) and (width<=1100px){.arena-view:is(.in-battle,.arena-ready) .battle-card .mana-dot{width:16px;height:18px}}.encounter-bar{align-items:stretch;gap:10px;display:flex}.opponent-browse{text-align:left;color:#f7ead0;background:#172525;border:1px solid #94764766;border-radius:10px;flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 14px;display:flex}.opponent-browse>span:first-child{gap:4px;display:grid}.opponent-browse small{letter-spacing:.08em;color:#d4bd90;font-size:13px}.opponent-browse strong{font-size:20px}.opponent-browse em{color:#b7c4bb;max-width:72ch;font-size:14px;font-style:normal;line-height:1.4}.opponent-browse>span:last-child{align-items:center;gap:6px;font-size:15px;display:flex}.opponent-ai{color:#f7ead0;background:#1b292b;border:1px solid #94764766;border-radius:10px;padding:10px}.opponent-controls{gap:12px;display:grid}.opponent-controls label{gap:7px;font-size:16px;display:grid}.opponent-controls select,.opponent-controls input[type=search]{width:100%;min-height:44px;font-size:16px}.opponent-controls p,.opponent-rating-note{color:#b8c7c6;font-size:14px;line-height:1.5}.opponent-controls .advance-choice{align-items:center;gap:10px;display:flex}.advance-choice input{flex-shrink:0;width:20px;height:20px}.opponent-list{gap:12px;margin-top:16px;display:grid}.opponent-personal-record{color:#d6c294;margin-top:8px;font-size:13px;line-height:1.35;display:block}.team-library-open{width:100%;margin-top:16px}.team-library-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.team-library-filters label:first-child{grid-column:1/-1}.team-library-filters label{align-content:start;gap:6px;min-width:0;font-size:16px;display:grid}.team-library-filters input,.team-library-filters select{width:100%;min-width:0;min-height:44px;font-size:16px}.team-library-list{gap:14px;margin-bottom:16px;display:grid}.team-library-entry{overflow-wrap:anywhere;background:#1b292b;border:1px solid #66817e66;border-radius:12px;padding:16px}.team-library-heading,.team-library-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.team-library-heading h3{margin:0;font-size:20px}.team-origin{color:#ddc68e;font-size:14px}.team-library-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;padding-left:24px;font-size:16px;display:grid}.team-library-entry details{margin-top:14px;font-size:15px;line-height:1.5}.team-library-entry summary{cursor:pointer;color:#d4bd90}.modal .team-library-entry details p{margin:10px 0;font-size:15px}.modal .team-library-actions .secondary{min-height:44px;padding:8px 12px;font-size:16px}@media (width<=600px){.team-library-entry{padding:12px}}@media (width<=440px){.team-library-filters{grid-template-columns:minmax(0,1fr)}}.opponent-choice{text-align:left;color:#e2e8e2;background:#1b292b;border:1px solid #66817e66;border-radius:12px;gap:10px;width:100%;padding:14px;display:grid}.opponent-choice.active{background:#293431;border-color:#d9b968}.opponent-choice-title,.opponent-choice-footer{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.opponent-choice-title strong{color:#f7ead0;font-size:19px}.opponent-choice-title>span{color:#ddc68e;font-size:14px}.opponent-roster{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.opponent-roster>span{overflow-wrap:anywhere;text-align:center;flex-direction:column;align-items:center;gap:4px;min-width:0;font-size:12px;display:flex}.opponent-roster .portrait{object-fit:cover;border-radius:50%;width:42px;height:42px}.opponent-rank{color:#e5cf94;font-size:12px;line-height:1.3}.library-rank{font-size:inherit;color:var(--coin)}.battle-training{font-size:var(--support-font);color:var(--muted);margin-top:8px;display:block}.opponent-description{font-size:14px;line-height:1.4}.opponent-choice-footer{color:#b8c7c6;font-size:12px}.next-opponent{text-align:center;font-size:17px;line-height:1.5}@media (width<=520px){.opponent-browse{gap:6px;padding:9px}.opponent-browse>span:last-child,.opponent-ai{font-size:12px}}@media (orientation:landscape) and (height<=600px){.arena-ready .encounter-bar{margin:0 calc(44px + env(safe-area-inset-right)) 8px calc(80px + env(safe-area-inset-left));gap:6px;height:36px;min-height:36px}.opponent-browse{padding:5px 10px}.opponent-browse>span:first-child{align-items:center;gap:10px;min-width:0;display:flex}.arena-ready .opponent-browse strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.arena-ready .opponent-browse small,.arena-ready .opponent-browse>span:last-child,.arena-ready .opponent-ai{white-space:nowrap;flex:none;font-size:11px}.arena-ready .opponent-ai{padding:5px 8px}.arena-ready .opponent-browse em{display:none}}.opponent-controls .ai-choice{grid-template-columns:auto minmax(100px,1fr);align-items:center;gap:12px;display:grid}.opponent-explanation{margin-top:14px}.opponent-explanation summary{cursor:pointer;color:#d4bd90;font-size:14px}.modal .opponent-explanation p{margin:10px 0;font-size:15px;line-height:1.45}.modal:has(.opponent-controls) h2{margin-bottom:20px}@media (orientation:landscape) and (height<=600px) and (width>=560px){.modal:has(.opponent-layout){width:min(960px,100% - 28px);max-width:min(960px,100vw - 28px)}.modal:has(.opponent-layout) .modal-inner{padding:14px 20px}.modal:has(.opponent-layout) h2{margin-bottom:12px;font-size:25px}.opponent-layout{grid-template-columns:minmax(190px,.8fr) minmax(290px,1.2fr);gap:20px;display:grid}.opponent-sidebar,.opponent-layout .opponent-list{overscroll-behavior:contain;min-width:0;max-height:calc(100svh - 118px);padding:3px;overflow-y:auto}.opponent-layout .opponent-list{margin-top:0}.opponent-explanation summary{font-size:13px}}.arena-view .board .gem-cell{padding:0}.board .gem-cell .gem-art{max-width:none}.board .gem-cell{--tile-top:#263b3d;--tile-bottom:#17262c;background:linear-gradient(145deg, var(--tile-top), var(--tile-bottom))}.app{isolation:isolate;background:var(--bg)}.app:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#10191b6e,#10191ba6),url(../assets/board/arena-dusk.webp) 50%/cover no-repeat;position:fixed;inset:0}.board .gem-cell.drag-source{z-index:auto;cursor:grabbing}.board .gem-cell.drag-neighbor{z-index:auto}.board .gem-cell:is(.drag-source,.drag-neighbor) .gem-art{will-change:transform;pointer-events:none}.board .gem-cell.drag-source .gem-art{z-index:6;filter:drop-shadow(0 5px 5px #000b)brightness(1.12)}.board .gem-cell.drag-source .gem-core{animation:none}.board .gem-cell.drag-source:after{opacity:0;animation:none}.board .gem-cell.drag-neighbor .gem-art{z-index:5}.catalog-body .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(2px,1vw,8px);display:grid}.catalog-body .stats>span{aspect-ratio:1;justify-self:center;width:100%;max-width:36px;height:auto}.catalog-body .stats{--stat-number-size:18px}@media (width<=350px){.catalog-body .stats{--stat-number-size:16px}}.board-status{position:relative}.battle-status-text{min-width:0}.board-atmosphere{z-index:8;pointer-events:none;border-radius:inherit;contain:paint;position:absolute;inset:0;overflow:hidden}.storm-canopy{opacity:.65;background:linear-gradient(180deg, color-mix(in srgb, var(--weather-color) 18%, #171625), transparent);height:24%;animation:.8s ease-out both cloud-gather;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 45%,#0000);mask-image:linear-gradient(#000 45%,#0000)}.storm-canopy i{background:radial-gradient(ellipse at 50% 75%, color-mix(in srgb, var(--weather-color) 30%, #6c667b), #242031 70%);filter:blur(3px);border-radius:50%;width:42%;height:130%;position:absolute;top:-25%;left:-8%}.storm-canopy i:nth-child(2){top:-65%;left:15%}.storm-canopy i:nth-child(3){top:-30%;left:37%}.storm-canopy i:nth-child(4){top:-55%;left:63%}.storm-canopy i:nth-child(5){left:84%}.board-event{animation:1.6s ease-out both atmosphere-fade;position:absolute;inset:0}.event-storm-arrive{background:radial-gradient(ellipse at 50% 0, color-mix(in srgb, var(--weather-color) 60%, transparent), transparent 75%);animation:1.6s ease-out both weather-roll-in;bottom:68%}.event-storm-arrive svg{opacity:.65;width:100%;height:100%}.event-storm-arrive path{fill:none;stroke:#f2eeff;stroke-width:2px;filter:drop-shadow(0 0 6px var(--weather-color))}.event-storm-clear{background:radial-gradient(at 50% 0,#ffecc87a,#0000 75%);bottom:55%}.clearing-cloud{filter:blur(5px);background:radial-gradient(#77718899,#38344655 60%,#0000 75%);border-radius:45%;width:70%;height:65%;animation:1.2s ease-out both cloud-part;position:absolute;top:-20%;left:-10%}.clearing-cloud.right{--part-direction:1;left:40%}.clearing-cloud.left{--part-direction:-1}@keyframes cloud-part{0%{opacity:.65;transform:translate(0)}to{opacity:0;transform:translate(calc(var(--part-direction) * 40%), -30%)}}.event-storm-clear i{filter:blur(7px);background:linear-gradient(#fff2be77,#0000);width:15%;height:115%;position:absolute;top:-20%;left:40%;transform:rotate(25deg)}.event-storm-clear i:nth-of-type(2){left:65%;transform:rotate(-20deg)}.event-storm-clear i:nth-of-type(3){left:15%;transform:rotate(40deg)}.conversion-wave{background:linear-gradient(115deg,#0000 40%,#dcb9ff88 49%,#fff1 54%,#0000 62%);animation:1.1s ease-out both board-magic-sweep;position:absolute;inset:-20%}.reshuffle-vortex{background:conic-gradient(#0000,#c4a3ed44,#0000,#f9df9d33,#0000);border:3px solid #cfb1ff77;border-radius:50%;animation:1.4s ease-out both board-vortex;position:absolute;inset:10%}@keyframes weather-roll-in{0%{opacity:0;transform:translateY(-30%)}20%{opacity:.8;transform:translateY(0)}to{opacity:0}}@keyframes atmosphere-fade{0%{opacity:0}20%{opacity:.8}to{opacity:0}}@keyframes board-magic-sweep{0%{transform:translate(-80%)}to{transform:translate(80%)}}@keyframes board-vortex{0%{opacity:0;transform:rotate(-160deg)scale(.35)}35%{opacity:.7}to{opacity:0;transform:rotate(100deg)scale(1.3)}}.board-atmosphere.reduced .storm-canopy{opacity:.3;animation:none}@keyframes cloud-gather{0%{opacity:0;transform:translateY(-25%)}to{opacity:.65;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.board-atmosphere .board-event{display:none}}.storm-badge{color:#fff3d7;flex:none;position:relative}.storm-badge summary{cursor:pointer;border:1px solid #b6c7a85c;border-radius:14px;align-items:center;gap:3px;padding:2px 4px;list-style:none;display:flex}.storm-badge summary::-webkit-details-marker{display:none}.storm-badge summary:focus-visible{outline:2px solid #e8d7a4}.storm-badge .gem-art.small{width:23px;height:23px}.storm-badge b{font-size:14px;line-height:1}.storm-explanation{z-index:30;text-align:left;background:#152626;border:1px solid #8e9c72;border-radius:8px;width:min(280px,75vw);padding:14px;font-size:15px;line-height:1.4;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 5px 20px #0009}.storm-explanation p{margin:8px 0 0}.phase-weather .storm-badge summary{animation:.24s ease-out storm-arrival}@keyframes storm-arrival{0%{filter:brightness(1.7);box-shadow:0 0 15px #e1e4a8}to{filter:brightness();box-shadow:0 0 #0000}}@media (orientation:landscape) and (height<=600px) and (width<=1100px){.arena-view.in-battle .board-status>.battle-status-text{white-space:nowrap;text-overflow:ellipsis;width:100%;display:block;overflow:hidden}.arena-view.in-battle .board-status.has-storm{padding-right:44px;overflow:visible}.arena-view.in-battle .storm-badge{position:absolute;top:0;right:0}.arena-view.in-battle .storm-badge .gem-art.small{width:20px;height:20px}.arena-view.in-battle .storm-explanation{left:calc(8px + env(safe-area-inset-left));top:auto;right:auto;bottom:calc(36px + env(safe-area-inset-bottom));position:fixed}}.battle-card .statuses{z-index:2;gap:2px;max-width:calc(100% - 6px);display:flex;position:absolute;top:7px;left:7px}.battle-card .statuses>span{flex:0 0 24px;place-items:center;width:24px;height:24px;animation:.22s ease-out status-arrival;display:grid}.status-icon{flex-shrink:0;width:100%;height:100%;display:block}.battle-card .statuses>.status-overflow{color:#fff3d3;background:#111e27;border:1px solid #d4c6a2;border-radius:6px;flex-basis:18px;width:18px;font:700 12px/1 system-ui,sans-serif}@keyframes status-arrival{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.active-status-details{background:#1b2c2b;border-radius:8px;margin:16px 0;padding:16px}.active-status-details h3{margin:0 0 14px;font-size:20px}.status-detail-row{grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;display:grid}.status-detail-row+.status-detail-row{margin-top:18px}.status-detail-row>.status-icon{width:38px;height:38px}.active-status-details strong{color:#f6d8a2;font-size:19px}.modal .active-status-details p{margin:4px 0 0;font-size:18px;line-height:1.45}@media (width<=650px) and (orientation:portrait){.battle-card .statuses{top:24px;left:2px}.arena-view:is(.in-battle,.arena-ready) .battle-card .card-top{transform:translateY(-4px)}}@media (orientation:landscape) and (height<=600px) and (width<=1100px){.battle-card .statuses{flex-direction:column;top:3px;left:3px}.arena-view:is(.in-battle,.arena-ready) .battle-card:has(.statuses) .battle-card-content{padding-left:32px}.battle-card .statuses>.status-overflow{flex-basis:18px;width:24px;height:18px}}@media (orientation:landscape) and (height<=340px){.battle-card .statuses{gap:0;top:1px;left:2px}.battle-card .statuses>span{flex-basis:20px;width:20px;height:20px}.battle-card .statuses>.status-overflow{flex-basis:14px;width:20px;height:14px;font-size:11px}.arena-view:is(.in-battle,.arena-ready) .battle-card:has(.statuses) .battle-card-content{padding-left:26px}}.gem-cell.spell-area{background:#ffb45842;box-shadow:inset 0 0 0 2px #ffcc79}.gem-burning .gem-element{opacity:.7}.modal:has(.detail-hero){width:calc(100% - 20px);max-width:min(860px,100vw - 20px)}.modal:has(.detail-hero) h2{padding-right:28px}.modal .detail-summary .stats{flex-wrap:nowrap;gap:8px}.modal .detail-summary .stats>span{flex:0 0 44px;width:44px;height:44px}.modal:has(.detail-hero) .section-caption{flex-wrap:wrap;gap:8px;font-size:12px}.modal:has(.detail-hero) .section-caption>span{font-size:12px}.modal:has(.detail-hero) .enhancement-grid button small{font-size:12px}.modal:has(.detail-hero) .enhancement-grid button b{font-size:14px}@media (orientation:portrait),(width<=540px){.detail-hero{gap:12px}.detail-summary .stats.explainable-stats{gap:4px;margin:12px 0}.detail-summary .stats.explainable-stats>button small{font-size:10px}.modal .detail-summary>p{font-size:15px;line-height:1.45}.modal .detail-summary .detail-wallet{font-size:14px}.detail-summary .kingdom-label{margin:8px 0}.modal:has(.detail-hero) .upgrade-row{flex-wrap:wrap}.modal:has(.detail-hero) .enhancement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media (width<=360px){.detail-hero{grid-template-columns:minmax(0,1fr) minmax(100px,.7fr);gap:8px}}@media (orientation:landscape) and (height<=500px) and (width>=541px){.modal:has(.detail-hero){max-height:calc(100dvh - 12px)}.modal:has(.detail-hero) .modal-inner{padding:16px 20px}.modal:has(.detail-hero) h2{margin:6px 0 14px}.detail-hero{grid-template-columns:minmax(180px,1fr) minmax(0,.75fr);gap:20px}}.rarity-mythic .rarity-pill{color:#b5f1ff;background:#163a50;border-color:#5bbfe0}:root{--control-height:44px;--control-font:max(16px, 1rem);--support-font:max(14px, 1rem)}.modal :is(input:not([type=checkbox]),select),.collection-page :is(input,select){min-height:var(--control-height);font-size:var(--control-font);max-width:100%}.modal :is(.primary,.secondary,.text-button,.icon-button,.spell-cast,summary),.collection-page :is(.primary,.secondary,.text-button,.icon-button,summary){min-height:var(--control-height)}.modal :is(.text-button,.secondary,.spell-cast),.collection-page :is(.text-button,.secondary){font-size:var(--support-font)}.modal .icon-button,.collection-page .icon-button{min-width:var(--control-height);flex-shrink:0}:is(.modal h2,.modal:has(.detail-hero) h2){overflow-wrap:anywhere;padding-right:44px}.modal .modal-close{top:8px;right:8px}.collection-page :is(.collection-sort-note,.catalog-spell,.troop-role,.owned-label){font-size:var(--support-font)}.modal:has(.detail-hero) :is(.section-caption,.section-caption>span,.enhancement-grid button small){font-size:var(--support-font)}.collection-page .rarity-pill{font-size:12px}.modal .trait-row{grid-template-columns:30px minmax(0,1fr) auto}.modal .trait-row>div,.modal .upgrade-row>div{min-width:0}.modal .enhancement-grid button{overflow-wrap:anywhere;min-width:0}.modal .purchase-requirement{font-size:var(--support-font);color:var(--muted);margin:8px 0 18px}.modal p,.modal .muted,.modal .setting-row p{font-size:max(18px,1.1rem)}.modal .spell-info p,.modal .detail-hero .spell-info p{font-size:max(20px,1.25rem)}.modal .trait-row p{font-size:max(17px,1.05rem)}.modal .spell-heading h3{font-size:max(23px,1.4rem)}.modal summary{cursor:pointer;align-content:center;display:list-item}.savings-progress{background:#26332b;border:1px solid #756744;border-radius:12px;margin:18px 0;padding:14px}.savings-progress.affordable{background:#253c30;border-color:#b2cd92}.savings-heading{color:var(--coin);align-items:center;gap:10px;display:flex}.savings-heading strong{flex:1;min-width:0;font-size:max(16px,1.1rem)}.savings-heading>.icon{flex-shrink:0}.savings-meter{background:#101919;border-radius:8px;height:12px;margin:12px 0;position:relative;overflow:hidden}.savings-meter>i{position:absolute;top:0;bottom:0}.savings-before{background:#b49b5f;left:0}.savings-earned{background:#e6e3a4}.savings-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.savings-footer>span{font-size:var(--support-font)}.savings-footer small{color:#b5c4bc;font-size:var(--support-font);margin-top:4px;display:block}.savings-footer button{white-space:normal;text-align:left;max-width:100%}.tactic-tags{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.tactic-tags>span{color:#dce8dc;background:#233b35;border:1px solid #9cbbaf55;border-radius:6px;padding:3px 7px;font-size:max(13px,.95rem);line-height:1.25}.launch-tactics{justify-content:center;max-width:100%;margin-top:8px}.opponent-choice .tactic-tags{margin:6px 0}@media (width<=420px){.modal .trait-row{grid-template-columns:26px minmax(0,1fr)}.modal .trait-row>button{grid-column:2;justify-self:start}.modal .enhancement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.savings-footer .secondary{justify-content:center;width:100%}}@media (orientation:landscape) and (height<=400px){.launch-tactics{gap:4px;margin-top:4px}.launch-tactics>span{padding:2px 5px;font-size:13px}}.arena-view:is(.in-battle,.arena-ready) .board-status{color:#e8e7d8;background:linear-gradient(90deg,#253a3100,#293e35aa,#253a3100);gap:10px;height:auto;min-height:36px;padding:4px 12px;font-family:inherit;font-size:clamp(16px,1.6vw,20px);font-weight:400;line-height:1.3}.arena-view:is(.in-battle,.arena-ready) .board-status>.battle-status-text{white-space:normal;overflow-wrap:anywhere;flex:1;animation:.2s ease-out battle-status-arrive;display:block;overflow:visible}@keyframes battle-status-arrive{0%{opacity:.35}to{opacity:1}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.action-banner:not(.victory-banner){animation:action-message-in .16s ease-out both, action-message-out .18s ease-in calc(var(--banner-duration,1.8s) - .18s) forwards}@keyframes action-message-in{0%{opacity:0}to{opacity:1}}@keyframes action-message-out{0%{opacity:1}to{opacity:0}}.reduce-motion .battle-status-text{animation:none!important}@media (prefers-reduced-motion:reduce){.arena-view .board-status>.battle-status-text{animation:none}}.arena-view .board-status.extra{color:#f2daa1}.arena-view:is(.in-battle,.arena-ready) .board-status.status-minimal{background:0 0;height:0;min-height:0;padding:0}.arena-view:is(.in-battle,.arena-ready) .board-status.status-minimal>.battle-status-text{display:none}.arena-view:is(.in-battle,.arena-ready) .board-status.status-minimal .storm-badge{z-index:10;background:#102025ed;border-radius:14px;position:absolute;inset:auto 8px 8px auto}.board-status .gem-help-trigger{font:inherit;line-height:inherit;min-height:40px}.board-status .gem-help-trigger>span{white-space:normal;overflow:visible}.status-cancel{border:1px solid var(--line);border-radius:6px;flex:none;place-items:center;width:44px;height:44px;display:grid}.stats.explainable-stats{--stat-number-size:18px;grid-template-columns:repeat(4,minmax(58px,1fr));gap:8px;width:min(100%,300px);display:grid}.stats.explainable-stats>button{cursor:help;background:#09171978;border:1px solid #9aab9340;border-radius:6px;place-items:start center;min-width:0;height:58px;padding:0 2px 17px;display:grid;position:relative}.stats.explainable-stats>button:hover{background:#172925b8;border-color:currentColor}.stats.explainable-stats>button:focus-visible{outline-offset:2px;outline:2px solid #ffe1a3}.stats.explainable-stats>button :is(.icon,b){width:min(36px,100%);height:34px;position:absolute;top:2px;left:50%;transform:translate(-50%)}.stats.explainable-stats>button b{z-index:1;color:#fffbed;font-size:var(--stat-number-size);text-shadow:0 1px 2px #000,1px 0 2px #000,-1px 0 2px #000;place-items:center;line-height:1;display:grid}.stats.explainable-stats>button small{color:#c9d2c6;text-align:center;font-size:11px;font-weight:500;line-height:1;position:absolute;inset:auto 2px 4px}.glossary-stat-art{background:#0b191b;border:1px solid;border-radius:50%;place-items:center;width:82px;height:82px;margin:8px auto 18px;display:grid}.glossary-stat-art.attack{color:#d7bdb0}.glossary-stat-art.armor{color:#b4c5d2}.glossary-stat-art.life{color:#b7cf9d}.glossary-stat-art.magic{color:#c9add3}.detail-wallet{color:var(--gold);font-variant-numeric:tabular-nums}.arena-view.in-battle .arena-heading{padding:22px 0 16px}.arena-view.in-battle .arena-heading p{font-size:15px}.saved-team-list{gap:8px;margin:4px 0 28px;display:grid}.saved-team{background:#0b191b66;border:1px solid #697b5c55;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.saved-team-summary{min-width:0}.saved-team-summary strong,.saved-team-summary span{display:block}.saved-team-summary span{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:14px}.saved-team-actions,.saved-team-confirm,.saved-team-edit{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.saved-team-edit{grid-column:1/-1}.saved-team-edit input{flex:220px}.saved-team-confirm span{color:#ffd0bd}.saved-team-confirm .danger{min-height:var(--control-height);color:#fff1e8;font:inherit;cursor:pointer;background:#6f2927;border:1px solid #c86e62;border-radius:5px;padding:8px 14px}@media (width<=700px){.saved-team{grid-template-columns:minmax(0,1fr)}.saved-team-actions,.saved-team-confirm{justify-content:flex-start}.stats.explainable-stats{width:100%}}.status-cancel:hover{background:#ffffff12}.first-match-intro{color:#e6e8dc;max-width:360px;font-size:17px;line-height:1.4}.first-match-intro p+p{margin-top:6px}.first-match-intro .text-button{min-height:44px;color:var(--gold);margin:6px auto 0;font-size:16px}.battle-launch-display:has(.first-match-intro){gap:12px;padding:12px}.battle-launch-display:has(.first-match-intro) :is(.launch-emblem,.launch-rule,.launch-tactics){display:none}.settings-page{max-width:1080px;margin:0 auto;padding-bottom:28px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.settings-section{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0;padding:24px}.settings-support{gap:20px;min-width:0;display:grid}.app-updates .button-row{margin-top:16px}.app-updates p+p{margin-top:12px}.settings-section h2{align-items:center;gap:10px;margin-bottom:16px;font-size:24px;display:flex}.settings-section h2 .icon{color:var(--gold);flex:none}.settings-section p,.settings-section .setting-row p,.settings-section .save-panel p{color:#b6c5bd;font-size:16px;line-height:1.55}.settings-section .fine-print{font-size:14px}.settings-section .fine-print a{text-underline-offset:3px;text-decoration:underline}.settings-help{justify-content:space-between;margin:16px 0}.settings-section .menu-actions{margin:20px 0 0}.settings-section .surrender{color:var(--red);margin-top:12px}.settings-section :is(.primary,.secondary,.text-button){min-height:44px;font-size:16px}.settings-battle{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;font-size:16px;display:flex}.settings-battle p{margin-top:4px}.collection-guide summary,.play-guide summary{cursor:pointer;min-height:44px;color:var(--gold);padding:12px 0;font-size:17px}.collection-guide{border-block:1px solid var(--line);margin:0 0 20px}.collection-guide p{color:#b6c5bd;max-width:760px;margin:8px 0 16px;font-size:16px;line-height:1.55}.settings-section .setting-row:last-child{border-bottom:0}.play-guide .guide-intro{color:#e8e7d8;margin:16px 0 24px;font-size:21px;line-height:1.5}.guide-steps{counter-reset:guide;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;list-style:none;display:grid}.guide-steps li{counter-increment:guide;min-width:0}.guide-steps h3{margin-bottom:10px;font-size:20px;line-height:1.3}.guide-steps h3:before{content:counter(guide) ". ";color:var(--gold)}.guide-art{height:60px;color:var(--gold);align-items:center;gap:8px;margin-bottom:12px;display:flex}.guide-art .gem-art{width:38px;height:42px}.play-guide p{line-height:1.5}.play-guide .guide-reassurance{color:var(--muted);margin:24px 0 16px}.guide-reference-title{margin:28px 0 12px;font-size:22px}.play-guide details{border-top:1px solid var(--line)}.play-guide details p{margin:8px 0 16px}.guide-status-list{flex-wrap:wrap;gap:8px 18px;padding-bottom:16px;display:flex}.guide-status-list .glossary-term{min-height:44px;font-size:18px}@media (width<=700px){.settings-grid,.guide-steps{grid-template-columns:minmax(0,1fr)}.settings-section{padding:20px}.guide-art{height:40px}.first-match-intro{font-size:16px}}@media (orientation:landscape) and (height<=600px) and (width<=1100px){#root .site-header nav{left:calc(4px + env(safe-area-inset-left));gap:0}.arena-ready .encounter-bar{margin-left:108px;margin-right:8px}.arena-view.in-battle{--arena-board:min(calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom)), calc(100vw - 232px - env(safe-area-inset-left) - env(safe-area-inset-right)))}.arena-view.in-battle:has(.board-status.status-minimal){--arena-board:min(calc(100dvh - 8px - env(safe-area-inset-top) - env(safe-area-inset-bottom)), calc(100vw - 232px - env(safe-area-inset-left) - env(safe-area-inset-right)))}.arena-view.in-battle .board-status{flex-direction:row;width:100%;min-height:36px;padding:4px 8px;font-size:16px;position:relative;inset:auto;overflow:visible}.arena-view.in-battle .board-status.has-storm{padding-right:8px}.arena-view.in-battle .status-cancel{width:36px;height:36px}.arena-view.in-battle .storm-badge{position:relative;inset:auto}.arena-view.in-battle .storm-explanation{right:0}.battle-launch-display:has(.first-match-intro){gap:6px}.first-match-intro{font-size:15px}.first-match-intro .text-button{margin-top:0}}.transform-origin{z-index:5;pointer-events:none;background:linear-gradient(145deg,#243831,#132126);position:absolute;inset:0;overflow:hidden}.transform-origin>span{color:#fff1d1;text-align:left;background:#10191bea;padding:5px;font-family:Georgia,serif;font-size:14px;position:absolute;inset:auto 6px 12px}.transform-origin>.portrait{object-fit:contain;object-position:center top;width:100%;height:100%;position:absolute;inset:0}.transform-ring{z-index:6;pointer-events:none;border:2px solid #e0bfff;border-radius:50%;position:absolute;inset:8%;box-shadow:0 0 18px #c58bff88,inset 0 0 16px #c58bff66}.transform-comparison{color:#dec2ff;justify-content:center;align-items:center;gap:16px;margin-top:12px;display:flex}.transform-comparison .portrait{object-fit:contain;background:#132126;border:1px solid #cfb0ec77;border-radius:50%;width:54px;height:54px;position:static}.glossary-rule-art{color:#dec2ff;background:radial-gradient(circle at 35% 25%,#77599355,#142426);border:1px solid #d3b7ef66;border-radius:20px;place-items:center;width:72px;height:72px;margin:4px auto 18px;display:grid}.stats,.spell-mana,.spell-cast{font-variant-numeric:tabular-nums}.modal .spell-info .summon-rule{border-top:1px solid var(--line);color:#b4c6be;padding-top:12px;font-size:15px}.modal .spell-heading{grid-template-columns:20px minmax(0,1fr) auto}.modal .spell-heading h3{overflow-wrap:anywhere}.glossary-term:hover{color:#fff1cf;border-bottom-style:solid}@media (orientation:landscape) and (height<=500px){.transform-comparison{gap:10px;margin-top:6px}.transform-comparison .portrait{width:36px;height:36px}}.battle-card[data-cast-draggable]{touch-action:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;cursor:grab}.battle-card[data-cast-draggable] img{pointer-events:none}.battle-card[data-cast-dragging]{outline-offset:2px;cursor:grabbing;outline:2px solid #f7db98}.cast-drag-active .board-frame{outline-offset:3px;outline:2px dashed #d9bf81}.cast-drop-ready .board-frame{outline-style:solid;box-shadow:0 0 28px #d9bf8155}.detail-cast-bar{display:none}@media (orientation:portrait),(height<=500px),(width<=540px){.modal:has(.detail-cast-bar) .spell-info .spell-cast{display:none}.detail-cast-bar{z-index:4;padding:12px 4px max(8px, env(safe-area-inset-bottom));background:#192a29f5;border-top:1px solid #d9bf8155;gap:6px;margin:16px -4px -4px;display:grid;position:sticky;bottom:-16px;box-shadow:0 -8px 16px #10202088}.detail-cast-bar .primary{min-height:50px;font-size:18px}.detail-cast-bar small{text-align:center;color:#bbc9bd;font-size:12px}}.settings-battle .settings-surrender{color:#ffd0c6;background:#71382f55;border:1px solid #ce776b;min-height:48px;font-weight:700}.action-banner.spell-announcement{padding:8px 10px;animation:none}.action-banner.spell-announcement small{margin-bottom:3px}.action-banner.spell-announcement strong{font-size:clamp(13px,1.4vw,18px)}.opponent-entry{min-width:0}.opponent-strategy{color:#bdcdc3;border:1px solid #66817e66;border-radius:0 0 12px 12px;margin-top:-6px;padding:12px 14px;font-size:14px;line-height:1.5}.opponent-strategy summary{cursor:pointer;color:#ddc68e;min-height:32px;padding-top:4px}.opponent-strategy p,.opponent-strategy ul{margin:10px 0}.opponent-strategy ul{padding-left:22px}.portrait.portrait-pending{color:#d8b47a;background:#24172f;justify-content:center;align-items:center;font-family:Georgia,serif;font-size:clamp(18px,4vw,42px);font-weight:700;display:flex}.opponent-roster .portrait-pending{flex-shrink:0;font-size:14px}.troop-lore{color:var(--muted);font-style:italic}:is(.settings-page,.collection-page) .page-heading{align-items:flex-start;gap:20px;padding-block:28px 24px}:is(.settings-page,.collection-page) .page-heading h1{margin:0 0 12px}:is(.settings-page,.collection-page) .page-heading p{max-width:60ch;font-size:16px;line-height:1.5}.settings-section .setting-row{padding-block:18px}.settings-section .setting-row>div{min-width:0}.settings-section .setting-row:nth-child(2){padding-top:0}.settings-section .setting-row:last-child{padding-bottom:0}.settings-section .setting-speed{grid-template-columns:minmax(0,1fr) minmax(120px,160px);gap:10px 16px;display:grid}.setting-speed>label{font-family:Georgia,serif;font-size:19px;font-weight:400}.setting-speed>select{width:100%;min-height:44px;font:inherit;color:#e3e5dc;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:16px}.setting-speed>p{grid-column:1/-1;margin:0}.setting-speed>select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media (width<=400px){.settings-section .setting-speed{grid-template-columns:minmax(0,1fr)}}.collection-page .collection-total{flex:none}.collection-page .collection-total>b{white-space:nowrap}.collection-page .collection-total>small{letter-spacing:0;color:#b6c5bd;margin-top:4px;font-size:13px}.collection-page .team-slot>.eyebrow{letter-spacing:0;text-shadow:0 1px 3px #000;padding:12px;font-size:12px;line-height:1.4}@media (width<=500px){.collection-page .page-heading{flex-wrap:wrap;gap:12px}.collection-page .collection-total{text-align:left;align-items:baseline;gap:10px;display:flex}}.settings-section .progress-actions{margin-top:18px}.settings-action-group{border-top:1px solid var(--line);justify-items:start;gap:14px;margin-top:24px;padding-top:22px;display:grid}.settings-action-group h3{margin:0;font-size:20px}.settings-action-group p{margin:0}.settings-action-group .secondary{text-align:left;max-width:100%}.settings-reset>button{border-color:#b7846b}.settings-section .notice{margin-top:20px}.settings-section .notice .button-row{margin-top:16px}@media (width<=500px){.settings-section .progress-actions{grid-template-columns:minmax(0,1fr);display:grid}.settings-action-group{justify-items:stretch}}
