/* Local simulator alpha */
.sim-wrap{display:flex;flex-direction:column;gap:20px;min-width:0}.sim-heading,.sim-game-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.sim-heading h1,.sim-game-top h1{font-size:36px;line-height:1.1;margin:6px 0 8px}.sim-heading p,.sim-game-top p{color:var(--web-muted);line-height:1.65;max-width:760px;margin:0}.sim-alpha-note{line-height:1.6}.sim-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sim-player-setup{display:flex;flex-direction:column;gap:14px}.sim-player-setup .label,.sim-first-player .label{display:flex;flex-direction:column;gap:7px;color:#b7cedc;font-size:12px}.sim-player-setup input,.sim-player-setup select,.sim-first-player select,.sim-placement select{width:100%;background:#0b1822;color:#e7f4fc;border:1px solid #3c5668;border-radius:7px;padding:11px}.sim-player-chip{display:inline-flex;align-items:center;align-self:flex-start;border:1px solid #4d6d82;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:850;letter-spacing:.11em;color:#d4effc;background:#183246}.sim-player-chip.p2{border-color:#76546d;background:#382335;color:#f1cde7}.sim-deck-summary{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:9px}.sim-deck-summary span{border:1px solid #36566a;background:#112431;border-radius:6px;padding:6px 8px;color:#bcd9e9;font-size:11px}.sim-ready{font-size:11px;color:#bfe8ce;border:1px solid #3e7453;background:#173226;padding:9px 10px;border-radius:7px}.sim-card-id-list{font-size:11px!important;line-height:1.7!important}.sim-first-player{display:flex;align-items:end;gap:15px;flex-wrap:wrap}.sim-first-player .label{min-width:200px}.sim-first-player p{margin:0;flex:1;min-width:260px}.sim-starting-cards{display:grid;grid-template-columns:repeat(3,minmax(0,190px));justify-content:center;gap:18px}.sim-card{display:flex;flex-direction:column;padding:0;background:#10202b;border:1px solid #315165;border-radius:10px;overflow:hidden;color:#e9f4fa;text-align:left}.sim-card img{display:block;width:100%;aspect-ratio:219/306;object-fit:contain;background:#09131c}.sim-card>span{padding:9px 10px;font-size:11px;font-weight:750}.sim-placement-stage{display:flex;flex-direction:column;align-items:center;gap:16px;padding:22px}.sim-placement-slots{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,220px));justify-content:center;align-items:end;gap:22px}.sim-placement-slot{min-width:0;padding:0;border:1px solid #33566b;border-radius:12px;background:#0b1720;color:#e8f4fa;overflow:hidden;cursor:grab;text-align:center;transition:border-color .15s ease,transform .15s ease,background .15s ease,opacity .15s ease}.sim-placement-slot:active{cursor:grabbing}.sim-placement-slot.leader{border-color:#79b7d4;background:#102838}.sim-placement-slot.selected{border-color:#b9eafb;box-shadow:0 0 0 2px #82c7e35a}.sim-placement-slot.dragging{opacity:.48}.sim-placement-slot.drag-over{border-color:#c8efff;transform:translateY(-5px);background:#17364a}.sim-placement-art{background:#07121a;padding:8px}.sim-placement-art img{display:block;width:100%;aspect-ratio:219/306;object-fit:contain;border-radius:7px}.sim-placement-name{display:block;padding:9px 10px 3px;font-size:11px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sim-placement-role{display:inline-flex;margin:5px auto 11px;border:1px solid #46687c;border-radius:999px;padding:4px 10px;font-size:8px;font-weight:900;letter-spacing:.14em;color:#a9c9da}.sim-placement-slot.leader .sim-placement-role{border-color:#7db9d6;color:#c9f1ff;background:#18384b}.sim-placement-hint{margin:0;color:#8eabba;font-size:10px;text-align:center}.sim-placement-stage>.btn{min-width:240px}.sim-pass-note{text-align:center}.sim-hand{display:flex;gap:10px;overflow-x:auto;padding:8px 2px 12px;scrollbar-color:#4d6a7b #111d27}.sim-hand-card,.sim-mini-card{flex:0 0 118px;border:1px solid #335267;border-radius:8px;background:#0c1822;color:#e6f3fa;padding:0;overflow:hidden;text-align:left}.sim-hand-card img,.sim-mini-card img{width:100%;aspect-ratio:219/306;object-fit:contain;background:#071019;display:block}.sim-hand-card span,.sim-mini-card span{display:block;padding:7px 8px 2px;font-size:10px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sim-hand-card small{display:block;padding:0 8px 8px;color:#8fb0c4;font-size:9px}.mulligan-hand{justify-content:center;flex-wrap:wrap;overflow:visible}.sim-mulligan-card{position:relative;width:150px;border:1px solid #34586e;border-radius:9px;background:#0d1923;overflow:hidden;cursor:pointer}.sim-mulligan-card input{position:absolute;top:8px;left:8px;width:20px;height:20px;z-index:2;accent-color:#9eddf3}.sim-mulligan-card:has(input:checked){border-color:#a3e0f5;box-shadow:0 0 0 2px #72b9d955}.sim-mulligan-card img{width:100%;aspect-ratio:219/306;object-fit:contain;display:block}.sim-mulligan-card span{display:block;padding:8px;font-size:10px;font-weight:700}.sim-center{justify-content:center}.sim-player-board{border:1px solid #2d4a5c;border-radius:15px;background:linear-gradient(135deg,#12222e,#0d1821);padding:18px;display:flex;flex-direction:column;gap:14px}.sim-player-board.p2{background:linear-gradient(135deg,#211724,#10171f);border-color:#594255}.sim-player-board.active-turn{box-shadow:inset 0 0 0 1px #80bdd8;border-color:#6ea5bf}.sim-player-board>header{display:flex;justify-content:space-between;align-items:center;gap:14px}.sim-player-board h2{margin:7px 0 2px;font-size:20px}.sim-player-board header p{margin:0;color:#8da8b8;font-size:10px}.sim-life{width:74px;height:74px;border:1px solid #54778b;border-radius:50%;display:grid;place-items:center;align-content:center;background:#102735}.sim-life small{font-size:8px;letter-spacing:.12em;color:#8fb2c6}.sim-life strong{font-size:27px;line-height:1}.sim-zone-stats{display:flex;gap:7px;flex-wrap:wrap}.sim-zone-stats span{background:#0a1620;border:1px solid #2d4657;border-radius:6px;padding:6px 8px;font-size:10px;color:#91adbd}.sim-zone-stats b{color:#e7f4fb;font-size:12px;margin-left:3px}.sim-zone-stats .predominance{color:#ffe29a;border-color:#7b6534;background:#332b19}.sim-character-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sim-char-slot{border:1px solid #2f4e60;border-radius:10px;background:#0b1720;padding:9px;min-width:0}.sim-char-slot.leader{border-color:#8bc8e2;background:#112736}.sim-position{display:block;font-size:8px;font-weight:850;letter-spacing:.12em;color:#86a9bc;margin-bottom:7px}.sim-char-slot.leader .sim-position{color:#b6e7f8}.sim-char-main{width:100%;display:flex;gap:9px;align-items:center;background:transparent;border:0;color:#edf6fb;padding:0;text-align:left}.sim-char-main img{width:74px;aspect-ratio:219/306;object-fit:contain;border-radius:6px;background:#061019;flex:none}.sim-char-main span{min-width:0}.sim-char-main strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sim-char-main small{display:block;color:#8faabc;font-size:9px;margin-top:3px}.sim-stack-list{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.sim-stack-list button{border:1px solid #345568;background:#132632;color:#b7d3e2;border-radius:4px;font-size:8px;padding:4px 5px}.sim-zone-label{font-size:9px;font-weight:850;letter-spacing:.12em;color:#88a9bb;text-transform:uppercase}.sim-action-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.sim-mini-card{flex-basis:90px}.sim-empty-zone,.sim-hidden-hand{border:1px dashed #2d4858;border-radius:8px;padding:14px;color:#7895a7;font-size:11px;text-align:center}.sim-current-hand{padding:14px 17px}.sim-current-hand .sim-zone-label{margin-bottom:8px}.sim-controls{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;padding:15px;border:1px solid #426276;border-radius:12px;background:#142837}.sim-controls>div:first-child{margin-right:10px}.sim-controls strong{display:block}.sim-controls.gameover{border-color:#947647;background:#302a1b;color:#ffe6a8}.sim-test-toggle{display:flex;gap:7px;align-items:center;font-size:11px;color:#a9c2d1;padding:8px 10px;border:1px solid #304d5f;border-radius:7px}.sim-test-toggle input{accent-color:#9eddf3}.sim-log{padding:16px}.sim-log-head{display:flex;justify-content:space-between;align-items:center}.sim-log-head h2{margin:0;font-size:15px}.sim-log-head span{font-size:10px;color:#87a5b7}.sim-log ol{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:5px;max-height:360px;overflow:auto}.sim-log li{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:7px 8px;background:#0e1b25;border-radius:5px;font-size:10px;line-height:1.45}.sim-log li>span{color:#7396aa;font-size:9px;text-transform:uppercase}.sim-choice-dialog{width:min(820px,calc(100vw - 28px));max-height:88vh;border:1px solid #4b6b7e;border-radius:14px;background:#101d27;color:#edf5fa;padding:0}.sim-choice-dialog::backdrop{background:#02080fdf;backdrop-filter:blur(4px)}.sim-choice-shell{padding:22px;overflow:auto;max-height:86vh}.sim-choice-shell h2{font-size:24px;margin:9px 0 7px}.sim-choice-shell>p{color:#a8c0cf;line-height:1.6;margin:0 0 17px}.sim-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:9px;margin-bottom:14px}.sim-choice-option{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center;border:1px solid #355468;background:#132631;color:#e8f3f9;padding:8px;border-radius:8px;text-align:left;min-height:76px}.sim-choice-option:hover{border-color:#80bdd9;background:#193446}.sim-choice-option img{width:58px;height:76px;object-fit:contain;border-radius:4px;background:#07121a}.sim-choice-option span{min-width:0}.sim-choice-option strong{display:block;font-size:11px;line-height:1.35}.sim-choice-option small{display:block;font-size:9px;color:#8eacbd;margin-top:4px;line-height:1.35}.sim-choice-option.checkbox{position:relative;cursor:pointer}.sim-choice-option.checkbox input{position:absolute;top:8px;left:8px;width:18px;height:18px;z-index:2;accent-color:#9eddf3}.sim-choice-option.checkbox:has(input:checked){border-color:#a5dff5;box-shadow:inset 0 0 0 1px #87c8e5}.sim-choice-cancel{width:100%}
@media(max-width:900px){.sim-setup-grid{grid-template-columns:1fr}.sim-placement{grid-template-columns:1fr}.sim-placement>.btn{grid-column:1}.sim-character-line{grid-template-columns:1fr}.sim-char-main img{width:58px}.sim-game-top,.sim-heading{flex-direction:column}.sim-game-top .button-row{width:100%}.sim-controls>div:first-child{width:100%;text-align:center;margin:0}.sim-log li{grid-template-columns:70px 1fr}}
@media(max-width:560px){.sim-heading h1,.sim-game-top h1{font-size:29px}.sim-starting-cards{gap:8px}.sim-card>span{font-size:9px;padding:7px}.sim-player-board{padding:12px}.sim-life{width:60px;height:60px}.sim-life strong{font-size:22px}.sim-zone-stats span{font-size:9px}.sim-choice-grid{grid-template-columns:1fr}.sim-choice-shell{padding:16px}.sim-hand-card{flex-basis:105px}.sim-mulligan-card{width:132px}}
.sim-detail-grid{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:20px;align-items:start}.sim-detail-grid>img{width:100%;aspect-ratio:219/306;object-fit:contain;border-radius:9px;background:#07121a}.sim-detail-grid h2{margin:6px 0 8px}.sim-detail-stats{color:#b9d2e0!important}.sim-detail-grid ul{padding-left:18px;color:#9fb8c8;font-size:11px;line-height:1.65}.sim-effect-text{white-space:normal;line-height:1.7;color:#dceaf2;background:#0b1720;border:1px solid #2f4b5d;border-radius:8px;padding:13px;margin:14px 0 17px;font-size:12px}@media(max-width:620px){.sim-detail-grid{grid-template-columns:1fr}.sim-detail-grid>img{max-width:220px;margin:auto}}

.sim-hover-preview{position:fixed;right:20px;top:88px;width:min(400px,calc(100vw - 40px));max-height:calc(100vh - 110px);z-index:1200;pointer-events:none;display:none}.sim-hover-preview.visible{display:block}.sim-hover-preview-inner{display:grid;grid-template-columns:minmax(150px,180px) 1fr;gap:16px;padding:16px;border:1px solid #4a6a7e;border-radius:14px;background:rgba(10,18,25,.97);box-shadow:0 20px 50px rgba(0,0,0,.45);backdrop-filter:blur(8px)}.sim-hover-preview-image img{display:block;width:100%;aspect-ratio:219/306;object-fit:contain;border-radius:9px;background:#07121a}.sim-hover-preview-copy{min-width:0}.sim-hover-preview-copy h3{margin:6px 0 8px;font-size:22px;line-height:1.15}.sim-hover-preview-stats{margin:0 0 10px;color:#b4cdde;font-size:12px;line-height:1.5}.sim-hover-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin:0 0 12px}.sim-hover-meta-item{margin:0;padding:8px 9px;border:1px solid #2f4a5b;border-radius:8px;background:#0d1821}.sim-hover-meta-item dt{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#7fa1b5;margin-bottom:4px}.sim-hover-meta-item dd{margin:0;color:#e5f1f8;font-size:11px;line-height:1.45;word-break:break-word}.sim-hover-preview-effect{line-height:1.7;color:#dceaf2;background:#0b1720;border:1px solid #2f4b5d;border-radius:8px;padding:12px;font-size:12px;max-height:280px;overflow:auto}@media(max-width:1200px){.sim-hover-preview{right:14px;top:auto;bottom:14px;width:min(360px,calc(100vw - 28px));max-height:min(70vh,700px)}.sim-hover-preview-inner{grid-template-columns:150px 1fr}}@media(max-width:820px),(hover:none),(pointer:coarse){.sim-hover-preview{display:none!important}}


/* v1.4.3 board refresh */
.sim-match-wrap{gap:18px}.sim-table-panel{padding:16px}.sim-table-board{display:flex;flex-direction:column;gap:16px}.sim-table-middle{display:flex;justify-content:center}.sim-playmat{border:1px solid #5a7384;border-radius:22px;padding:18px;background:linear-gradient(180deg,rgba(31,53,73,.96),rgba(12,23,34,.98));box-shadow:inset 0 0 0 1px rgba(207,230,243,.08);position:relative;overflow:hidden}.sim-playmat::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.08),transparent 40%),repeating-linear-gradient(170deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 2px,transparent 2px,transparent 20px);opacity:.35;pointer-events:none}.sim-playmat>*{position:relative;z-index:1}.sim-playmat.p2{background:linear-gradient(180deg,rgba(41,35,52,.97),rgba(14,20,30,.98))}.sim-playmat.active-turn{box-shadow:inset 0 0 0 1px rgba(160,222,247,.7),0 0 0 1px rgba(121,183,212,.4)}.sim-playmat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.sim-playmat-head h2{margin:8px 0 2px;font-size:22px}.sim-playmat-head p{margin:0;color:#9bb3c3;font-size:11px}.sim-life-tile{min-width:82px;border:1px solid #6b8798;border-radius:16px;padding:12px 10px;background:rgba(8,18,26,.58);display:grid;place-items:center;gap:2px}.sim-life-tile small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#96b6c8}.sim-life-tile strong{font-size:30px;line-height:1}.sim-playmat-grid{display:grid;grid-template-columns:minmax(190px,.9fr) minmax(0,2.2fr) minmax(170px,.8fr);gap:16px;align-items:stretch}.sim-playmat-side{display:flex;flex-direction:column;gap:12px}.sim-zone-title{font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:#9fc0d1;margin-bottom:8px}.sim-concerto-zone,.sim-playmat-action,.sim-pile-column{border:1px solid rgba(214,232,242,.28);border-radius:16px;background:rgba(7,18,26,.34);padding:14px;min-height:100%}.sim-concerto-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.sim-concerto-card{flex:0 0 72px;border:1px solid #335267;border-radius:8px;background:#0c1822;padding:0;overflow:hidden}.sim-concerto-card img{display:block;width:100%;aspect-ratio:219/306;object-fit:contain;background:#071019}.sim-empty-zone.compact{padding:12px 10px;font-size:10px}.sim-playmat-center{display:flex;flex-direction:column;gap:16px}.sim-playmat.opponent .sim-playmat-center{flex-direction:column}.sim-playmat-action{min-height:170px}.playmat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sim-char-slot{border-radius:16px;background:rgba(5,14,22,.42);padding:12px;min-height:200px}.sim-char-slot.leader{background:rgba(17,39,54,.7)}.sim-position{font-size:9px;margin-bottom:10px}.sim-char-main{flex-direction:column;align-items:flex-start;gap:10px}.sim-char-main img{width:100%;max-width:146px;align-self:center;border-radius:10px}.sim-char-main strong{font-size:13px;white-space:normal}.sim-char-main small{font-size:10px}.sim-stack-list{margin-top:10px}.sim-stack-list button{font-size:9px;padding:5px 7px;border-radius:7px}.sim-pile-column{display:grid;grid-template-columns:1fr;gap:12px}.sim-pile-stack{border:1px solid #5b7788;border-radius:14px;padding:14px 12px;display:flex;align-items:center;justify-content:space-between;background:rgba(9,18,28,.58);min-height:84px}.sim-pile-label{font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#a6c4d5}.sim-pile-stack strong{font-size:28px;line-height:1}.sim-zone-stats{margin-top:12px}.sim-current-hand{padding:14px 17px}.sim-hand-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.sim-hand-header small{color:#92afc0;font-size:11px}.sim-controls{width:min(100%,980px);box-shadow:0 10px 26px rgba(0,0,0,.18)}
.sim-choice-dialog{width:min(1120px,calc(100vw - 28px));max-height:90vh}.sim-choice-shell.with-preview{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,420px);gap:16px;align-items:start}.sim-choice-main{min-width:0}.sim-choice-preview{position:sticky;top:0;align-self:start}.sim-choice-preview-sticky{position:sticky;top:0;border:1px solid #4a6a7e;border-radius:14px;background:rgba(10,18,25,.97);box-shadow:0 18px 36px rgba(0,0,0,.3);overflow:hidden}.sim-choice-preview-empty{padding:20px;color:#9cb7c9;line-height:1.6}.sim-choice-preview .sim-hover-preview-inner{border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}.sim-choice-preview .sim-hover-preview-effect{max-height:320px}.sim-hover-preview{z-index:1200}.sim-hover-preview.visible{display:block}.sim-hover-preview{top:86px;width:min(410px,calc(100vw - 36px))}
@media(max-width:1080px){.sim-playmat-grid{grid-template-columns:1fr}.sim-playmat-side.right{order:3}.sim-playmat-side.left{order:2}.sim-playmat-center{order:1}.sim-choice-shell.with-preview{grid-template-columns:1fr}.sim-choice-preview{position:static}.sim-choice-preview-sticky{position:static}.sim-choice-preview .sim-hover-preview-effect{max-height:none}}
@media(max-width:900px){.sim-playmat-head{flex-direction:column}.playmat-row{grid-template-columns:1fr}.sim-char-main img{max-width:120px}.sim-pile-stack{min-height:70px}.sim-hand-header{flex-direction:column;align-items:flex-start}}


/* v1.4.4 single-screen simulator board */
.sim-wrap.sim-match-wrap{height:calc(100vh - 170px);min-height:680px;gap:10px;overflow:hidden}
.sim-toolbar-compact{gap:12px;align-items:center}.sim-toolbar-compact h1{font-size:24px;margin:4px 0}.sim-toolbar-compact p{font-size:11px;line-height:1.45;max-width:760px}.sim-toolbar-compact .button-row{gap:8px;flex-wrap:wrap}
.sim-arena-panel{padding:14px;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:linear-gradient(180deg,#0d2132,#081521)}
.sim-arena-grid{display:grid;grid-template-columns:148px minmax(0,1fr) 148px;grid-template-rows:minmax(160px,1fr) 180px minmax(160px,1fr);grid-template-areas:"tl tp tr" "bt bt bt" "bl bp br";gap:14px 18px;flex:1;min-height:0}
.sim-side-zone{display:flex;flex-direction:column;gap:12px;min-height:0}.sim-side-zone.top-left{grid-area:tl}.sim-side-zone.top-right{grid-area:tr}.sim-side-zone.bottom-left{grid-area:bl}.sim-side-zone.bottom-right{grid-area:br}.sim-player-slot.top-player{grid-area:tp}.sim-player-slot.bottom-player{grid-area:bp}.sim-battle-slot{grid-area:bt;min-height:0}
.sim-pile-zone,.sim-concerto-zone.compact-zone{border:2px solid rgba(226,238,245,.65);border-radius:22px;background:rgba(5,14,21,.55);padding:14px 12px;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:0}.sim-pile-zone{min-height:118px;gap:10px}.sim-pile-zone strong{font-size:34px;line-height:1;color:#fff}.sim-pile-name{font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#f1f7fb;text-align:center}
.sim-concerto-zone.compact-zone{align-items:stretch;justify-content:flex-start;padding:14px 10px 10px;overflow:hidden}.sim-concerto-zone.compact-zone .sim-zone-title{margin:0 0 8px;text-align:center;color:#e8f5fb}.sim-concerto-stack{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:4px 0 0;overflow:hidden}.sim-concerto-card.layered{width:82px;min-width:82px;border-radius:10px;border:1px solid #3d647c;background:#081119;overflow:hidden;box-shadow:0 7px 16px rgba(0,0,0,.28)}.sim-concerto-card.layered+.sim-concerto-card.layered{margin-top:-78px}.sim-concerto-card.layered img{display:block;width:100%;aspect-ratio:219/306;object-fit:cover;background:#071019}
.sim-player-lane{height:100%;border:1px solid rgba(152,198,223,.35);border-radius:24px;padding:10px 16px;background:linear-gradient(180deg,rgba(8,24,37,.9),rgba(6,17,26,.95));display:flex;flex-direction:column;justify-content:center;gap:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.sim-player-lane.active-turn{box-shadow:inset 0 0 0 1px rgba(153,219,246,.8),0 0 0 1px rgba(133,200,229,.35)}.sim-player-lane.opponent{background:linear-gradient(180deg,rgba(14,27,45,.92),rgba(7,18,28,.96))}
.sim-lane-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.sim-lane-header strong{display:block;font-size:15px}.sim-lane-header small{display:block;color:#8fa9bb;font-size:10px;margin-top:3px}.sim-lane-main{display:grid;grid-template-columns:minmax(0,1fr) 164px;gap:16px;align-items:center}.sim-player-lane.opponent .sim-lane-main{grid-template-columns:164px minmax(0,1fr)}
.sim-stats-bubble{display:flex;flex-direction:column;gap:10px;padding:16px 14px;border-radius:26px;background:#edf2f5;color:#09141e;min-height:136px;justify-content:center;align-items:center}.sim-stats-bubble span{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.sim-stats-bubble b{font-size:40px;line-height:1;margin-left:6px}.sim-stats-bubble .predominance{background:#ffe29a;border-radius:999px;padding:6px 10px;color:#5e4916;font-size:10px}
.sim-character-lane{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:end}.sim-character-slot{border:0;background:transparent;padding:0;min-height:0}.sim-slot-caption{font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#ecf5fb;text-align:center;margin-bottom:10px}.sim-char-main.sim-stack-card{border:0;background:transparent;color:#edf6fb;padding:0;display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;text-align:center}.sim-char-stack-art{position:relative;width:clamp(112px,11vw,150px);aspect-ratio:219/306;display:flex;justify-content:center;align-items:center}.sim-char-card-face,.sim-char-shadow-card{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 30px rgba(0,0,0,.28)}.sim-char-shadow-card.shadow-1{transform:translate(-10px,10px) scale(.96);opacity:.45}.sim-char-shadow-card.shadow-2{transform:translate(10px,10px) scale(.96);opacity:.3}.sim-char-card-copy{max-width:100%}.sim-char-card-copy strong{display:block;font-size:13px;line-height:1.35;white-space:normal}.sim-char-card-copy small{display:block;color:#91afc2;font-size:10px;margin-top:4px}
.sim-inherit-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}.sim-inherit-pill{border:1px solid #40647d;background:#112534;color:#dcedf8;border-radius:999px;padding:6px 10px;font-size:9px;line-height:1.35;max-width:100%}.sim-stack-empty-note{text-align:center;color:#7390a4;font-size:10px;margin-top:8px}
.sim-battle-lane{height:100%;border:2px solid rgba(235,240,243,.9);border-radius:18px;background:linear-gradient(180deg,rgba(1,6,10,.82),rgba(6,14,20,.82));padding:14px 18px;display:grid;grid-template-rows:1fr auto 1fr;gap:12px}.sim-zone-band{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:0}.sim-zone-band.top{align-items:flex-start}.sim-zone-band.bottom{align-items:flex-end}.sim-zone-band .sim-zone-title{color:#f2f8fc;margin:0}.sim-battle-cards{display:flex;gap:14px;align-items:center;flex-wrap:wrap;min-height:0}.sim-zone-band.top .sim-battle-cards{justify-content:flex-start}.sim-zone-band.bottom .sim-battle-cards{justify-content:flex-end}.sim-battle-card{width:120px;border:1px solid #355367;border-radius:10px;background:#0d1821;padding:0;overflow:hidden;color:#eef6fb;text-align:left;box-shadow:0 10px 20px rgba(0,0,0,.24)}.sim-battle-card img{display:block;width:100%;aspect-ratio:219/280;object-fit:cover;background:#071019}.sim-battle-card-name,.sim-battle-card-meta{display:block;padding:5px 8px}.sim-battle-card-name{font-size:10px;font-weight:800;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sim-battle-card-meta{padding-top:0;padding-bottom:8px;color:#8eb0c3;font-size:9px}.sim-center-controls{display:flex;justify-content:center;align-items:center}.sim-center-controls .sim-controls{width:100%;max-width:none;padding:12px 14px;border-radius:14px;background:rgba(17,33,45,.92)}.sim-center-controls .sim-controls>div:first-child{margin-right:auto}
.sim-hand-dock{padding:10px 14px 14px;overflow:hidden}.sim-hand-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.sim-hand-header small{font-size:10px;color:#9ab6c7}.sim-hand.sim-hand-fan{display:flex;align-items:flex-end;justify-content:center;padding:6px 48px 4px 90px;overflow:visible}.sim-hand.sim-hand-fan.compact{padding-left:64px}.sim-hand-card.fan{position:relative;flex:0 0 auto;width:clamp(90px,7vw,124px);height:170px;border:1px solid #45657b;border-radius:12px;background:#09141d;overflow:hidden;box-shadow:0 12px 26px rgba(0,0,0,.26)}.sim-hand-card.fan+.sim-hand-card.fan{margin-left:clamp(-42px,-2.8vw,-28px)}.sim-hand-card.fan img{width:100%;height:100%;object-fit:cover;background:#071019}.sim-hand-card.fan span,.sim-hand-card.fan small{position:absolute;left:0;right:0;z-index:2;padding-left:8px;padding-right:8px;text-shadow:0 1px 2px rgba(0,0,0,.65)}.sim-hand-card.fan span{bottom:18px;padding-top:14px;padding-bottom:2px;background:linear-gradient(180deg,transparent,rgba(5,11,17,.92) 48%,rgba(5,11,17,.98));font-size:9px;font-weight:900;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sim-hand-card.fan small{bottom:0;padding-bottom:7px;background:rgba(5,11,17,.98);font-size:8px;color:#d6e7f2;letter-spacing:.02em}.sim-reveal-secondary{margin-top:10px;padding-top:10px;border-top:1px solid rgba(92,117,133,.4)}
.sim-log.sim-log-compact{padding:10px 14px;overflow:hidden}.sim-log.sim-log-compact .sim-log-head h2{font-size:13px}.sim-log.sim-log-compact ol{margin-top:8px;max-height:84px}.sim-log.sim-log-compact li{padding:5px 8px;font-size:9px;grid-template-columns:74px 1fr}
.sim-hover-preview{width:min(470px,calc(100vw - 36px));top:78px}.sim-stack-preview .sim-hover-preview-copy h3{font-size:20px}.sim-stack-effect-list{display:flex;flex-direction:column;gap:10px}.sim-stack-effect-block h4{margin:0 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#e3f0f8}.sim-stack-effect-block .sim-hover-preview-effect{max-height:none}
.sim-stack-detail-dialog .sim-hover-preview-inner{border:0;background:transparent;box-shadow:none;padding:0}.sim-stack-detail-dialog .sim-hover-preview-image img{max-height:360px;object-fit:contain}
@media(max-width:1280px){.sim-wrap.sim-match-wrap{height:auto;min-height:0;overflow:visible}.sim-arena-grid{grid-template-columns:120px minmax(0,1fr) 120px;grid-template-rows:auto auto auto}.sim-character-lane{gap:14px}.sim-char-stack-art{width:118px}.sim-stats-bubble{min-height:120px}.sim-battle-card{width:104px}.sim-hand-card.fan{width:104px;height:152px}.sim-hand-card.fan+.sim-hand-card.fan{margin-left:-34px}}
@media(max-width:980px){.sim-arena-grid{grid-template-columns:1fr;grid-template-areas:"tp" "tl" "tr" "bt" "bl" "bp" "br";grid-template-rows:auto}.sim-player-lane,.sim-battle-lane{min-height:0}.sim-lane-main,.sim-player-lane.opponent .sim-lane-main{grid-template-columns:1fr}.sim-stats-bubble{flex-direction:row;min-height:0;border-radius:16px}.sim-hand.sim-hand-fan{justify-content:flex-start;overflow-x:auto;padding:6px 8px}.sim-hand-card.fan+.sim-hand-card.fan{margin-left:10px}.sim-log.sim-log-compact ol{max-height:120px}.sim-hover-preview{display:none!important}}


/* v1.4.5 dedicated full-screen play client */
body.dedicated-play{overflow:hidden;background:#06111a}
body.dedicated-play .site-skip,body.dedicated-play .site-nav,body.dedicated-play #player-view-banner,body.dedicated-play #site-notice,body.dedicated-play .web-footer,body.dedicated-play noscript{display:none!important}
body.dedicated-play #site-main{width:100vw;max-width:none;height:100dvh;min-height:0;margin:0;padding:0;overflow:hidden}
body.dedicated-play #home-view,body.dedicated-play #builder-view{display:none!important}
body.dedicated-play #page-view{height:100dvh;overflow:auto}
body.dedicated-play .sim-wrap:not(.sim-match-wrap){box-sizing:border-box;min-height:100dvh;padding:18px;max-width:1500px;margin:0 auto}
body.dedicated-play .sim-match-wrap{box-sizing:border-box;width:100%;height:100dvh;min-height:0;max-height:100dvh;padding:8px 10px;gap:7px;overflow:hidden}
body.dedicated-play .sim-toolbar-compact{flex:0 0 42px;min-height:42px;padding:0 4px;align-items:center}
body.dedicated-play .sim-turn-title{display:flex;align-items:baseline;gap:12px;min-width:0}
body.dedicated-play .sim-turn-title strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.dedicated-play .sim-toolbar-actions{align-items:center;gap:6px;flex-wrap:nowrap}
body.dedicated-play .sim-toolbar-actions .btn,body.dedicated-play .sim-test-toggle{padding:6px 9px;font-size:10px;white-space:nowrap}
body.dedicated-play .sim-arena-panel{flex:1 1 auto;min-height:0;padding:8px 10px;border-radius:12px}
body.dedicated-play .sim-arena-grid{height:100%;grid-template-columns:92px minmax(0,1fr) 92px;grid-template-rows:minmax(0,1fr) 122px minmax(0,1fr);gap:8px 14px}
body.dedicated-play .sim-side-zone{gap:7px;overflow:hidden}
body.dedicated-play .sim-pile-zone,body.dedicated-play .sim-concerto-zone.compact-zone{border-radius:12px;padding:8px 7px;border-width:1px;overflow:hidden}
body.dedicated-play .sim-pile-zone{flex:1 1 0;min-height:0;gap:4px}
body.dedicated-play .sim-pile-zone strong{font-size:25px}
body.dedicated-play .sim-pile-name{font-size:8px;line-height:1.15;letter-spacing:.1em;overflow-wrap:anywhere}
body.dedicated-play .sim-concerto-zone.compact-zone{flex:1.45 1 0;min-height:0}
body.dedicated-play .sim-concerto-zone.compact-zone .sim-zone-title{font-size:8px;margin-bottom:3px}
body.dedicated-play .sim-concerto-stack{min-height:0;padding-top:1px}
body.dedicated-play .sim-concerto-card.layered{width:min(72px,72%);min-width:0;border-radius:6px}
body.dedicated-play .sim-concerto-card.layered+.sim-concerto-card.layered{margin-top:-78%}
body.dedicated-play .sim-player-lane{height:100%;box-sizing:border-box;border-radius:14px;padding:6px 12px;gap:5px;overflow:hidden;justify-content:flex-start}
body.dedicated-play .sim-lane-name{height:20px;display:flex;align-items:center;gap:7px;min-width:0}
body.dedicated-play .sim-lane-name strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
body.dedicated-play .sim-lane-name small{color:#69899c;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
body.dedicated-play .sim-lane-name .sim-player-chip{font-size:7px;padding:3px 6px}
body.dedicated-play .sim-lane-main,body.dedicated-play .sim-player-lane.opponent .sim-lane-main{grid-template-columns:72px minmax(0,1fr);gap:12px;min-height:0;flex:1}
body.dedicated-play .sim-player-lane.player .sim-lane-main{grid-template-columns:minmax(0,1fr) 72px}
body.dedicated-play .sim-stats-bubble{min-height:0;height:auto;box-sizing:border-box;border-radius:10px;padding:6px 4px;gap:4px;align-self:center;justify-self:center;width:72px}
body.dedicated-play .sim-stats-bubble span{font-size:7px;letter-spacing:.03em;white-space:nowrap}
body.dedicated-play .sim-stats-bubble b{font-size:20px;margin-left:2px}
body.dedicated-play .sim-character-lane{height:100%;min-height:0;gap:clamp(18px,4vw,60px);align-items:center;padding:0 clamp(10px,2vw,28px)}
body.dedicated-play .sim-character-slot{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:visible}
body.dedicated-play .sim-slot-caption{font-size:8px;line-height:1;margin:0 0 4px;white-space:nowrap}
body.dedicated-play .sim-char-main.sim-stack-card{gap:3px;min-width:0}
body.dedicated-play .sim-char-stack-art{width:auto;height:clamp(126px,20vh,210px);max-width:100%;aspect-ratio:219/306}
body.dedicated-play .sim-char-card-copy{width:100%;min-width:0;text-align:center}
body.dedicated-play .sim-char-card-copy strong{font-size:10px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
body.dedicated-play .sim-char-card-copy small{font-size:8px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.dedicated-play .sim-battle-lane{border-radius:12px;padding:5px 9px;grid-template-rows:1fr 34px 1fr;gap:2px;border-width:1px;overflow:hidden}
body.dedicated-play .sim-zone-band{gap:2px;min-height:0;overflow:hidden}
body.dedicated-play .sim-zone-band .sim-zone-title{font-size:7px;line-height:1}
body.dedicated-play .sim-battle-cards{gap:6px;flex-wrap:nowrap;overflow:hidden}
body.dedicated-play .sim-battle-card{width:84px;border-radius:6px;flex:0 0 auto}
body.dedicated-play .sim-battle-card img{aspect-ratio:219/245}
body.dedicated-play .sim-battle-card-name{font-size:7px;padding:2px 5px 1px}
body.dedicated-play .sim-battle-card-meta{font-size:6px;padding:0 5px 3px}
body.dedicated-play .sim-center-controls .sim-controls{min-height:34px;padding:3px 7px;gap:5px;border-radius:8px;flex-wrap:nowrap;overflow:hidden}
body.dedicated-play .sim-center-controls .sim-controls>div:first-child{min-width:95px;margin-right:4px}
body.dedicated-play .sim-center-controls .sim-controls .eyebrow{font-size:6px}
body.dedicated-play .sim-center-controls .sim-controls strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.dedicated-play .sim-center-controls .btn{padding:5px 7px;font-size:8px;white-space:nowrap}
body.dedicated-play .sim-hand-dock{flex:0 0 182px;min-height:182px;max-height:182px;padding:6px 12px 8px;border-radius:12px;overflow:hidden}
body.dedicated-play .sim-hand-header{height:18px;margin:0 0 5px}
body.dedicated-play .sim-hand-header .sim-zone-label{font-size:8px}
body.dedicated-play .sim-hand-header small{font-size:8px}
body.dedicated-play .sim-hand.sim-hand-fan{height:150px;box-sizing:border-box;padding:0 32px 0 70px;align-items:flex-end;overflow:visible}
body.dedicated-play .sim-hand-card.fan{width:106px;height:148px;border-radius:8px}
body.dedicated-play .sim-hand-card.fan+.sim-hand-card.fan{margin-left:-31px}
body.dedicated-play .sim-hand-card.fan span{bottom:16px;padding:10px 6px 1px;font-size:8px}
body.dedicated-play .sim-hand-card.fan small{bottom:0;padding:0 6px 5px;font-size:7px}
body.dedicated-play .sim-reveal-secondary{display:none}
body.dedicated-play .sim-hover-preview{top:50px;right:10px;width:min(440px,36vw);max-height:calc(100dvh - 60px)}
body.dedicated-play .sim-hover-preview-inner{grid-template-columns:minmax(120px,150px) 1fr;gap:10px;padding:10px}
body.dedicated-play .sim-hover-preview-copy h3{font-size:16px;margin:4px 0 5px}
body.dedicated-play .sim-hover-preview-stats{font-size:9px;margin-bottom:6px}
body.dedicated-play .sim-hover-meta{gap:4px;margin-bottom:6px}
body.dedicated-play .sim-hover-meta-item{padding:5px 6px}.dedicated-play .sim-hover-meta-item dt{font-size:6px}.dedicated-play .sim-hover-meta-item dd{font-size:8px}
body.dedicated-play .sim-hover-preview-effect{font-size:9px;line-height:1.45;padding:7px;max-height:170px}
body.dedicated-play .sim-stack-effect-block h4{font-size:8px;margin-bottom:3px}
.sim-log-dialog-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:5px}.sim-log-dialog-list li{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:7px 8px;background:#0e1b25;border-radius:5px;font-size:10px;line-height:1.45}.sim-log-dialog-list li>span{color:#7396aa;font-size:9px;text-transform:uppercase}
@media(max-height:780px) and (min-width:981px){body.dedicated-play .sim-match-wrap{padding:5px 8px;gap:4px}body.dedicated-play .sim-toolbar-compact{flex-basis:34px;min-height:34px}body.dedicated-play .sim-arena-grid{grid-template-columns:84px minmax(0,1fr) 84px;grid-template-rows:minmax(0,1fr) 108px minmax(0,1fr);gap:5px 8px}body.dedicated-play .sim-lane-main,body.dedicated-play .sim-player-lane.opponent .sim-lane-main{grid-template-columns:64px minmax(0,1fr)}body.dedicated-play .sim-player-lane.player .sim-lane-main{grid-template-columns:minmax(0,1fr) 64px}body.dedicated-play .sim-stats-bubble{width:64px;padding:4px 3px}body.dedicated-play .sim-hand-dock{flex-basis:148px;min-height:148px;max-height:148px}body.dedicated-play .sim-hand.sim-hand-fan{height:120px;padding:0 24px 0 48px}body.dedicated-play .sim-hand-card.fan{width:84px;height:118px}body.dedicated-play .sim-hand-card.fan+.sim-hand-card.fan{margin-left:-24px}body.dedicated-play .sim-char-stack-art{height:clamp(104px,17vh,150px)}}
@media(max-width:980px){body.dedicated-play{overflow:auto}body.dedicated-play #site-main,body.dedicated-play #page-view{height:auto;min-height:100dvh;overflow:visible}body.dedicated-play .sim-match-wrap{height:auto;max-height:none;overflow:visible}body.dedicated-play .sim-arena-grid{grid-template-columns:1fr;grid-template-areas:"tp" "tl" "tr" "bt" "bl" "bp" "br";grid-template-rows:auto}body.dedicated-play .sim-player-lane{min-height:320px}body.dedicated-play .sim-lane-main,body.dedicated-play .sim-player-lane.opponent .sim-lane-main,body.dedicated-play .sim-player-lane.player .sim-lane-main{grid-template-columns:1fr}body.dedicated-play .sim-stats-bubble{height:auto;flex-direction:row}body.dedicated-play .sim-hand-dock{max-height:none;height:auto}body.dedicated-play .sim-hand.sim-hand-fan{overflow-x:auto;justify-content:flex-start;padding-left:8px}body.dedicated-play .sim-hand-card.fan+.sim-hand-card.fan{margin-left:8px}}


/* v1.4.7 formation / stats / readability refinement */
body.dedicated-play .sim-player-lane{position:relative;padding-left:12px;padding-right:12px}
body.dedicated-play .sim-lane-main,
body.dedicated-play .sim-player-lane.opponent .sim-lane-main,
body.dedicated-play .sim-player-lane.player .sim-lane-main{display:flex;grid-template-columns:none!important;align-items:center;justify-content:center;min-height:0;flex:1;width:100%}
body.dedicated-play .sim-stats-bubble{position:absolute;z-index:5;width:auto;min-width:72px;height:auto;min-height:0;padding:6px 9px;display:grid;grid-template-columns:auto auto;column-gap:7px;row-gap:2px;border-radius:9px;border:1px solid rgba(210,229,239,.72);background:rgba(235,242,246,.96);box-shadow:0 5px 12px rgba(0,0,0,.16);color:#07131c}
body.dedicated-play .sim-player-lane.player .sim-stats-bubble{right:8px;top:30px}
body.dedicated-play .sim-player-lane.opponent .sim-stats-bubble{left:8px;top:30px}
body.dedicated-play .sim-stats-bubble span{font-size:7px;line-height:1.1;letter-spacing:.03em;display:flex;align-items:baseline;gap:3px}
body.dedicated-play .sim-stats-bubble b{font-size:17px;line-height:1;margin:0}
body.dedicated-play .sim-stats-bubble .predominance{grid-column:1/-1;font-size:6px;padding:3px 5px;text-align:center}
body.dedicated-play .sim-character-lane{width:min(100%,560px);height:100%;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,minmax(120px,154px));justify-content:center;align-items:center;gap:clamp(22px,3vw,44px)}
body.dedicated-play .sim-character-slot{overflow:visible}
body.dedicated-play .sim-character-slot.leader{z-index:3}
body.dedicated-play .sim-player-lane.player .sim-character-slot.leader{transform:translateY(-18px)}
body.dedicated-play .sim-player-lane.opponent .sim-character-slot.leader{transform:translateY(18px)}
body.dedicated-play .sim-char-stack-art{height:clamp(142px,21vh,222px);width:auto}
body.dedicated-play .sim-char-card-copy strong{font-size:10px}
body.dedicated-play .sim-char-card-copy small{font-size:8px}

body.dedicated-play > .sim-hover-preview{top:48px;right:12px;width:min(680px,48vw);max-height:calc(100dvh - 60px)}
body.dedicated-play > .sim-hover-preview .sim-hover-preview-inner{grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:18px;padding:16px;border-radius:14px}
body.dedicated-play > .sim-hover-preview .sim-hover-preview-image img{width:100%;max-height:540px;object-fit:contain}
body.dedicated-play > .sim-hover-preview .sim-hover-preview-copy h3{font-size:23px;line-height:1.16;margin:6px 0 8px}
body.dedicated-play > .sim-hover-preview .sim-hover-preview-stats{font-size:13px;line-height:1.4;margin-bottom:10px}
body.dedicated-play > .sim-hover-preview .sim-hover-meta{gap:7px 9px;margin-bottom:10px}
body.dedicated-play > .sim-hover-preview .sim-hover-meta-item{padding:7px 8px}
body.dedicated-play > .sim-hover-preview .sim-hover-meta-item dt{font-size:9px}
body.dedicated-play > .sim-hover-preview .sim-hover-meta-item dd{font-size:11px;line-height:1.35}
body.dedicated-play > .sim-hover-preview .sim-hover-preview-effect{font-size:14px;line-height:1.6;padding:11px 12px;max-height:360px}
body.dedicated-play > .sim-hover-preview .sim-stack-effect-list{gap:12px}
body.dedicated-play > .sim-hover-preview .sim-stack-effect-block h4{font-size:11px;margin-bottom:5px}

@media(max-height:780px) and (min-width:981px){
  body.dedicated-play .sim-character-lane{width:min(100%,500px);grid-template-columns:repeat(3,minmax(102px,134px));gap:clamp(18px,2.5vw,34px)}
  body.dedicated-play .sim-char-stack-art{height:clamp(112px,17vh,158px)}
  body.dedicated-play .sim-player-lane.player .sim-character-slot.leader{transform:translateY(-12px)}
  body.dedicated-play .sim-player-lane.opponent .sim-character-slot.leader{transform:translateY(12px)}
  body.dedicated-play .sim-stats-bubble{min-width:62px;padding:4px 6px}
  body.dedicated-play .sim-stats-bubble b{font-size:15px}
  body.dedicated-play > .sim-hover-preview{width:min(600px,46vw)}
  body.dedicated-play > .sim-hover-preview .sim-hover-preview-inner{grid-template-columns:190px minmax(0,1fr);padding:12px;gap:13px}
  body.dedicated-play > .sim-hover-preview .sim-hover-preview-effect{font-size:12px;max-height:280px}
}


/* v1.4.8 original-board proportion pass + Concerto viewer */
body.dedicated-play .sim-match-wrap{padding:6px 8px;gap:6px}
body.dedicated-play .sim-toolbar-compact{flex:0 0 36px;min-height:36px}
body.dedicated-play .sim-arena-panel{padding:7px 8px}
body.dedicated-play .sim-arena-grid{grid-template-columns:128px minmax(0,1fr) 128px;grid-template-rows:minmax(0,1fr) 136px minmax(0,1fr);gap:6px 14px}
body.dedicated-play .sim-side-zone{gap:6px}
body.dedicated-play .sim-pile-zone{border-radius:8px;padding:6px 5px;min-height:0;gap:2px}
body.dedicated-play .sim-pile-zone strong{font-size:24px}
body.dedicated-play .sim-pile-name{font-size:8px;letter-spacing:.08em}
body.dedicated-play .sim-concerto-zone.compact-zone{position:relative;border-radius:14px;padding:7px 7px 6px;cursor:pointer;transition:border-color .14s ease,background .14s ease}
body.dedicated-play .sim-concerto-zone.compact-zone:hover{border-color:#9bd9f2;background:rgba(14,38,54,.7)}
body.dedicated-play .sim-concerto-head{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:18px}
body.dedicated-play .sim-concerto-head .sim-zone-title{margin:0;font-size:8px}
body.dedicated-play .sim-concerto-count{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#8fd8f4;color:#07131b;font-size:10px;font-weight:950;line-height:1}
body.dedicated-play .sim-concerto-open-hint{text-align:center;color:#7397ab;font-size:6px;line-height:1;margin-top:2px;text-transform:uppercase;letter-spacing:.08em}
body.dedicated-play .sim-concerto-stack{position:relative;display:block;flex:1;width:100%;min-height:0;overflow:hidden}
body.dedicated-play .sim-concerto-card.layered{position:absolute;left:50%;top:calc(var(--concerto-index) * 14px);transform:translateX(-50%);width:min(82px,78%);min-width:0;margin:0!important;border-radius:6px;box-shadow:0 4px 10px rgba(0,0,0,.3)}
body.dedicated-play .sim-concerto-card.layered img{width:100%;aspect-ratio:219/306;object-fit:cover}

body.dedicated-play .sim-player-lane{position:relative;border-radius:10px;padding:5px 8px;background:rgba(5,18,28,.72);justify-content:flex-start;overflow:visible}
body.dedicated-play .sim-lane-name{height:18px;padding-left:2px}
body.dedicated-play .sim-lane-name strong{font-size:9px;max-width:120px}
body.dedicated-play .sim-lane-name small{font-size:7px;opacity:.7}
body.dedicated-play .sim-lane-name .sim-player-chip{font-size:6px;padding:2px 5px}
body.dedicated-play .sim-lane-main,body.dedicated-play .sim-player-lane.opponent .sim-lane-main,body.dedicated-play .sim-player-lane.player .sim-lane-main{display:flex;align-items:center;justify-content:center;width:100%;min-height:0;flex:1}
body.dedicated-play .sim-character-lane{position:relative;width:500px;max-width:calc(100% - 100px);height:100%;margin:0 auto;padding:0;display:flex;align-items:center;justify-content:center;gap:18px}
body.dedicated-play .sim-character-slot{flex:0 0 146px;max-width:146px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:visible}
body.dedicated-play .sim-character-slot.leader{order:2;z-index:4}
body.dedicated-play .sim-character-slot:nth-child(1){order:1}
body.dedicated-play .sim-character-slot:nth-child(3){order:3}
body.dedicated-play .sim-slot-caption{font-size:8px;line-height:1;margin:0 0 4px}
body.dedicated-play .sim-char-stack-art{height:clamp(152px,22vh,220px);width:auto}
body.dedicated-play .sim-char-card-copy strong{font-size:10px}
body.dedicated-play .sim-char-card-copy small{font-size:7px}
body.dedicated-play .sim-player-lane.player .sim-character-slot.leader{transform:translateY(-28px)}
body.dedicated-play .sim-player-lane.player .sim-character-slot:not(.leader){transform:translateY(12px)}
body.dedicated-play .sim-player-lane.opponent .sim-character-slot.leader{transform:translateY(28px)}
body.dedicated-play .sim-player-lane.opponent .sim-character-slot:not(.leader){transform:translateY(-12px)}

body.dedicated-play .sim-stats-bubble{position:absolute;z-index:7;width:76px!important;min-width:76px!important;height:48px!important;min-height:48px!important;padding:5px 6px!important;border-radius:8px!important;display:grid!important;grid-template-columns:1fr!important;gap:2px!important;align-content:center!important;justify-items:start!important;background:#edf2f5!important;color:#08131b!important;box-shadow:0 4px 10px rgba(0,0,0,.18)!important}
body.dedicated-play .sim-player-lane.player .sim-stats-bubble{right:7px;top:25px}
body.dedicated-play .sim-player-lane.opponent .sim-stats-bubble{left:7px;top:25px}
body.dedicated-play .sim-stats-bubble span{font-size:7px!important;line-height:1!important;gap:3px!important}
body.dedicated-play .sim-stats-bubble b{font-size:14px!important;line-height:1!important}
body.dedicated-play .sim-stats-bubble .predominance{display:none!important}

body.dedicated-play .sim-battle-lane{padding:5px 10px;grid-template-rows:1fr 34px 1fr;border-radius:8px;background:#040b11}
body.dedicated-play .sim-zone-band .sim-zone-title{font-size:7px;letter-spacing:.08em}
body.dedicated-play .sim-center-controls .sim-controls{border-radius:7px}

body.dedicated-play .sim-hand-dock{flex:0 0 214px;min-height:214px;max-height:214px;padding:5px 10px 7px}
body.dedicated-play .sim-hand-header{height:18px;margin:0 0 2px}
body.dedicated-play .sim-hand.sim-hand-fan{height:184px;padding:0 40px 0 90px;justify-content:center;align-items:flex-end}
body.dedicated-play .sim-hand-card.fan{width:128px;height:180px;border-radius:8px}
body.dedicated-play .sim-hand-card.fan+.sim-hand-card.fan{margin-left:-38px}
body.dedicated-play .sim-hand-card.fan span{bottom:18px;font-size:9px;padding:12px 6px 1px}
body.dedicated-play .sim-hand-card.fan small{font-size:8px;padding:0 6px 5px}

.sim-concerto-dialog{width:min(1100px,calc(100vw - 36px))}
.sim-concerto-dialog .dialog-heading p{color:#9cb7c8;line-height:1.5;margin:6px 0 0}
.sim-dialog-count{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border-radius:999px;background:#8fd8f4;color:#07131b;font-size:15px;vertical-align:middle}
.sim-concerto-view-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:18px}
.sim-concerto-view-card{border:1px solid #38586c;border-radius:10px;background:#0b1821;color:#e8f5fb;padding:8px;text-align:left;display:flex;flex-direction:column;gap:8px;transition:border-color .14s ease,transform .14s ease}
.sim-concerto-view-card:hover{border-color:#94d7f1;transform:translateY(-2px)}
.sim-concerto-view-card img{width:100%;aspect-ratio:219/306;object-fit:contain;border-radius:7px;background:#071019}
.sim-concerto-view-card strong{display:block;font-size:11px;line-height:1.3}.sim-concerto-view-card small{display:block;color:#8facbd;font-size:9px;margin-top:3px}

@media(max-height:780px) and (min-width:981px){
 body.dedicated-play .sim-arena-grid{grid-template-columns:112px minmax(0,1fr) 112px;grid-template-rows:minmax(0,1fr) 118px minmax(0,1fr)}
 body.dedicated-play .sim-character-lane{width:430px;max-width:calc(100% - 88px);gap:14px}
 body.dedicated-play .sim-character-slot{flex-basis:126px;max-width:126px}
 body.dedicated-play .sim-char-stack-art{height:clamp(120px,18vh,158px)}
 body.dedicated-play .sim-player-lane.player .sim-character-slot.leader{transform:translateY(-20px)}
 body.dedicated-play .sim-player-lane.opponent .sim-character-slot.leader{transform:translateY(20px)}
 body.dedicated-play .sim-player-lane.player .sim-character-slot:not(.leader){transform:translateY(8px)}
 body.dedicated-play .sim-player-lane.opponent .sim-character-slot:not(.leader){transform:translateY(-8px)}
 body.dedicated-play .sim-hand-dock{flex-basis:170px;min-height:170px;max-height:170px}
 body.dedicated-play .sim-hand.sim-hand-fan{height:142px;padding-left:58px}
 body.dedicated-play .sim-hand-card.fan{width:98px;height:140px}
 body.dedicated-play .sim-hand-card.fan+.sim-hand-card.fan{margin-left:-28px}
}

/* v1.4.9 combat flow + inspectable zones */
body.dedicated-play .sim-battle-lane{grid-template-rows:1fr 52px 1fr}
body.dedicated-play .sim-center-controls .sim-controls{min-height:52px;padding:7px 12px;gap:10px;justify-content:center;overflow:visible}
body.dedicated-play .sim-center-controls .sim-controls>div:first-child{min-width:150px;margin-right:10px}
body.dedicated-play .sim-center-controls .sim-controls .eyebrow{font-size:8px}
body.dedicated-play .sim-center-controls .sim-controls strong{font-size:10px}
body.dedicated-play .sim-center-controls .sim-controls .btn{padding:9px 13px;font-size:10px;border-radius:8px}
body.dedicated-play .sim-center-controls .sim-controls .btn.primary{padding-inline:16px}
body.dedicated-play .sim-center-controls .combat-pick-controls,
body.dedicated-play .sim-center-controls .combat-priority-controls{justify-content:center;background:linear-gradient(180deg,rgba(18,43,58,.96),rgba(11,27,38,.96));border-color:#6faac7}
body.dedicated-play .sim-center-controls .combat-pick-controls>div:first-child,
body.dedicated-play .sim-center-controls .combat-priority-controls>div:first-child{min-width:0;max-width:58%;margin-right:10px}
body.dedicated-play .sim-center-controls .combat-priority-controls small{display:block;margin-top:2px;color:#9fc1d3;font-size:8px;line-height:1.25;white-space:normal}
body.dedicated-play .sim-center-controls .priority-confirm,
body.dedicated-play .sim-center-controls .combat-pass{font-size:11px!important;padding:10px 17px!important}

body.dedicated-play .sim-hand.combat-picking .sim-hand-card.fan{transition:opacity .15s ease,filter .15s ease,transform .15s ease,box-shadow .15s ease,border-color .15s ease}
body.dedicated-play .sim-hand-card.fan.combat-eligible{cursor:pointer;border-color:#9ee8ff;box-shadow:0 0 0 2px rgba(126,218,250,.55),0 0 24px rgba(91,200,239,.8),0 12px 26px rgba(0,0,0,.3);filter:brightness(1.08);transform:translateY(-9px);z-index:30}
body.dedicated-play .sim-hand-card.fan.combat-eligible:hover{transform:translateY(-17px) scale(1.045);box-shadow:0 0 0 2px #c8f4ff,0 0 34px rgba(92,209,250,.95),0 18px 34px rgba(0,0,0,.36)}
body.dedicated-play .sim-hand-card.fan.combat-ineligible{opacity:.35;filter:saturate(.55) brightness(.75)}

body.dedicated-play .sim-battle-card.face-down{height:106px;display:grid;place-items:center;background:linear-gradient(145deg,#071522,#102a3c);border:2px solid #6f9eb8;box-shadow:0 0 0 1px rgba(161,218,244,.15),0 10px 22px rgba(0,0,0,.34);overflow:hidden;position:relative}
body.dedicated-play .sim-battle-card.face-down::before{content:'';position:absolute;inset:7px;border:1px solid rgba(158,213,238,.34);border-radius:6px;background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(129,195,225,.08) 8px 10px)}
body.dedicated-play .sim-card-back-mark{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px;color:#dff6ff}
body.dedicated-play .sim-card-back-mark span{display:grid;place-items:center;width:36px;height:36px;border:1px solid #94d9f5;border-radius:50%;font-size:19px;font-weight:950}
body.dedicated-play .sim-card-back-mark small{font-size:6px;letter-spacing:.14em;font-weight:900}

body.dedicated-play .sim-pile-zone.inspectable{appearance:none;width:100%;color:inherit;font:inherit;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}
body.dedicated-play .sim-pile-zone.inspectable:hover{border-color:#9bdcf5;background:rgba(15,42,59,.76);transform:translateY(-1px)}
body.dedicated-play .sim-pile-hint{font-size:6px;line-height:1;text-transform:uppercase;letter-spacing:.1em;color:#7199af}
.sim-zone-dialog{width:min(1100px,calc(100vw - 36px))}

@media(max-height:780px) and (min-width:981px){
  body.dedicated-play .sim-battle-lane{grid-template-rows:1fr 46px 1fr}
  body.dedicated-play .sim-center-controls .sim-controls{min-height:46px;padding:5px 8px;gap:6px}
  body.dedicated-play .sim-center-controls .sim-controls .btn{padding:7px 9px;font-size:8px}
  body.dedicated-play .sim-center-controls .combat-pick-controls>div:first-child,
  body.dedicated-play .sim-center-controls .combat-priority-controls>div:first-child{max-width:52%}
}


/* v1.4.10 combat-stage expansion */
body.dedicated-play .sim-match-wrap.combat-mode .sim-arena-grid{
  grid-template-rows:minmax(0,.72fr) minmax(330px,1.6fr) minmax(0,.72fr);
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-player-lane{
  padding-top:4px;
  padding-bottom:4px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-lane-name{
  height:14px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-lane-name small{
  display:none;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-character-lane{
  width:430px;
  max-width:calc(100% - 92px);
  gap:14px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-character-slot{
  flex-basis:122px;
  max-width:122px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-char-stack-art{
  height:clamp(112px,15vh,150px);
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-char-card-copy strong{
  font-size:8px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-char-card-copy small,
body.dedicated-play .sim-match-wrap.combat-mode .sim-stack-empty-note{
  display:none;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-player-lane.player .sim-character-slot.leader{
  transform:translateY(-13px);
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-player-lane.player .sim-character-slot:not(.leader){
  transform:translateY(4px);
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-player-lane.opponent .sim-character-slot.leader{
  transform:translateY(13px);
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-player-lane.opponent .sim-character-slot:not(.leader){
  transform:translateY(-4px);
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-stats-bubble{
  transform:scale(.86);
  transform-origin:center;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-battle-lane{
  overflow:visible;
  padding:10px 18px;
  grid-template-rows:minmax(0,1fr) 66px minmax(0,1fr);
  gap:8px;
  border-color:#719bb1;
  background:linear-gradient(180deg,rgba(5,17,27,.98),rgba(2,8,13,.99));
  box-shadow:inset 0 0 0 1px rgba(142,205,233,.08),0 0 24px rgba(25,91,121,.16);
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-zone-band{
  overflow:visible;
  justify-content:center;
  gap:5px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-zone-band.top{
  align-items:flex-start;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-zone-band.bottom{
  align-items:flex-end;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-zone-band .sim-zone-title{
  font-size:9px;
  letter-spacing:.11em;
  color:#d7ecf6;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-battle-cards{
  width:100%;
  overflow:visible;
  align-items:center;
  min-height:0;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-zone-band.top .sim-battle-cards{
  justify-content:flex-start;
  padding-left:34px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-zone-band.bottom .sim-battle-cards{
  justify-content:flex-end;
  padding-right:34px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-battle-card{
  width:clamp(118px,8vw,150px);
  border-radius:9px;
  box-shadow:0 14px 30px rgba(0,0,0,.38);
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-battle-card img{
  display:block;
  width:100%;
  aspect-ratio:219/306;
  object-fit:contain;
  background:#071019;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-battle-card-name{
  font-size:9px;
  padding:4px 7px 2px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-battle-card-meta{
  font-size:8px;
  padding:0 7px 5px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-battle-card.face-down{
  width:clamp(118px,8vw,150px);
  height:auto;
  aspect-ratio:219/306;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-card-back-mark span{
  width:48px;
  height:48px;
  font-size:24px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-card-back-mark small{
  font-size:8px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-center-controls .sim-controls{
  min-height:66px;
  padding:8px 14px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-center-controls .sim-controls .eyebrow{
  font-size:9px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-center-controls .sim-controls strong{
  font-size:11px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-center-controls .combat-priority-controls small{
  font-size:9px;
  line-height:1.35;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-center-controls .sim-controls .btn{
  font-size:11px;
  padding:10px 15px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-hand-dock{
  flex-basis:176px;
  min-height:176px;
  max-height:176px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-hand.sim-hand-fan{
  height:146px;
}
body.dedicated-play .sim-match-wrap.combat-mode .sim-hand-card.fan{
  width:103px;
  height:144px;
}

@media(max-height:820px) and (min-width:981px){
  body.dedicated-play .sim-match-wrap.combat-mode .sim-arena-grid{
    grid-template-rows:minmax(0,.65fr) minmax(276px,1.55fr) minmax(0,.65fr);
  }
  body.dedicated-play .sim-match-wrap.combat-mode .sim-character-lane{
    width:380px;
    max-width:calc(100% - 84px);
    gap:10px;
  }
  body.dedicated-play .sim-match-wrap.combat-mode .sim-character-slot{
    flex-basis:108px;
    max-width:108px;
  }
  body.dedicated-play .sim-match-wrap.combat-mode .sim-char-stack-art{
    height:clamp(88px,13vh,118px);
  }
  body.dedicated-play .sim-match-wrap.combat-mode .sim-battle-lane{
    grid-template-rows:minmax(0,1fr) 54px minmax(0,1fr);
    padding:7px 12px;
    gap:4px;
  }
  body.dedicated-play .sim-match-wrap.combat-mode .sim-battle-card,
  body.dedicated-play .sim-match-wrap.combat-mode .sim-battle-card.face-down{
    width:clamp(94px,7vw,118px);
  }
  body.dedicated-play .sim-match-wrap.combat-mode .sim-zone-band.top .sim-battle-cards{
    padding-left:20px;
  }
  body.dedicated-play .sim-match-wrap.combat-mode .sim-zone-band.bottom .sim-battle-cards{
    padding-right:20px;
  }
  body.dedicated-play .sim-match-wrap.combat-mode .sim-center-controls .sim-controls{
    min-height:54px;
    padding:5px 9px;
  }
  body.dedicated-play .sim-match-wrap.combat-mode .sim-hand-dock{
    flex-basis:144px;
    min-height:144px;
    max-height:144px;
  }
  body.dedicated-play .sim-match-wrap.combat-mode .sim-hand.sim-hand-fan{
    height:116px;
  }
  body.dedicated-play .sim-match-wrap.combat-mode .sim-hand-card.fan{
    width:82px;
    height:114px;
  }
}

/* v1.4.11 combat resolution presentation */
body.dedicated-play .sim-battle-lane{position:relative;isolation:isolate}
body.dedicated-play .sim-combat-visual{position:absolute;inset:0;z-index:40;display:grid;grid-template-rows:1fr auto 1fr;pointer-events:none;overflow:hidden;border-radius:inherit}
body.dedicated-play .sim-combat-visual-side{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}
body.dedicated-play .sim-combat-visual-side.top{grid-row:1}
body.dedicated-play .sim-combat-visual-side.bottom{grid-row:3}
body.dedicated-play .sim-combat-visual-side::before{content:"";position:absolute;inset:0;opacity:0;animation:simResultWash 1.45s ease both}
body.dedicated-play .sim-combat-visual-side.win::before{background:linear-gradient(180deg,rgba(24,196,104,.06),rgba(24,196,104,.58))}
body.dedicated-play .sim-combat-visual-side.top.win::before{background:linear-gradient(0deg,rgba(24,196,104,.06),rgba(24,196,104,.58))}
body.dedicated-play .sim-combat-visual-side.lose::before{background:linear-gradient(180deg,rgba(230,52,70,.06),rgba(230,52,70,.58))}
body.dedicated-play .sim-combat-visual-side.top.lose::before{background:linear-gradient(0deg,rgba(230,52,70,.06),rgba(230,52,70,.58))}
body.dedicated-play .sim-combat-visual-side.tie::before{background:linear-gradient(180deg,rgba(44,128,238,.08),rgba(52,144,255,.54))}
body.dedicated-play .sim-combat-visual-side.top.tie::before{background:linear-gradient(0deg,rgba(44,128,238,.08),rgba(52,144,255,.54))}
body.dedicated-play .sim-combat-visual-side.effect-active::before{background:radial-gradient(circle at center,rgba(113,225,255,.46),rgba(68,152,208,.12) 60%,transparent 76%)}
body.dedicated-play .sim-combat-visual-side.effect-empty::before{background:radial-gradient(circle at center,rgba(122,148,165,.26),rgba(50,70,84,.08) 62%,transparent 78%)}
body.dedicated-play .sim-combat-visual-side.turn-active::before{background:radial-gradient(circle at center,rgba(103,211,255,.35),transparent 70%)}
body.dedicated-play .sim-combat-visual-side>strong{position:relative;z-index:2;font-size:clamp(24px,3vw,48px);line-height:1;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.7);animation:simResultText 1.05s cubic-bezier(.2,.8,.2,1) both}
body.dedicated-play .sim-combat-visual-side.win>strong{color:#caffdd}
body.dedicated-play .sim-combat-visual-side.lose>strong{color:#ffd0d5}
body.dedicated-play .sim-combat-visual-side.tie>strong{color:#d8ecff}
body.dedicated-play .sim-combat-visual-center{grid-row:2;position:relative;z-index:3;justify-self:center;align-self:center;min-width:min(54%,560px);max-width:80%;padding:10px 24px;border:1px solid rgba(160,215,239,.62);border-radius:999px;background:rgba(4,15,23,.9);box-shadow:0 10px 34px rgba(0,0,0,.5),0 0 28px rgba(85,184,226,.18);display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;animation:simCombatBanner .9s cubic-bezier(.17,.84,.44,1) both}
body.dedicated-play .sim-combat-visual-center>strong{font-size:clamp(18px,2.2vw,34px);font-weight:950;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:#f4fbff;text-shadow:0 0 18px rgba(113,213,255,.35)}
body.dedicated-play .sim-combat-visual-center>small{font-size:clamp(8px,.8vw,12px);line-height:1.25;color:#a9c9db;max-width:92%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.dedicated-play .sim-combat-visual.kind-vs .sim-combat-visual-center>strong{font-size:clamp(38px,5vw,74px);letter-spacing:.04em}
body.dedicated-play .sim-combat-visual.kind-tie .sim-combat-visual-center,
body.dedicated-play .sim-combat-visual.kind-draw .sim-combat-visual-center,
body.dedicated-play .sim-combat-visual.kind-tiebreaker .sim-combat-visual-center,
body.dedicated-play .sim-combat-visual.kind-speed .sim-combat-visual-center{border-color:rgba(87,161,255,.82);box-shadow:0 10px 34px rgba(0,0,0,.5),0 0 32px rgba(65,143,255,.28)}
body.dedicated-play .sim-combat-visual.kind-result .sim-combat-visual-center{min-width:min(42%,440px)}
body.dedicated-play .sim-combat-visual.kind-damage .sim-combat-visual-center{border-color:rgba(255,126,126,.72)}
body.dedicated-play .sim-combat-visual.kind-effect .sim-combat-visual-center{border-color:rgba(116,225,255,.72)}
body.dedicated-play .sim-battle-card.combat-visual-glow{position:relative;z-index:45;animation:simCardPulse .8s ease-in-out infinite alternate;filter:brightness(1.12) saturate(1.08)}
body.dedicated-play .sim-battle-card.combat-visual-glow.effect-hit{box-shadow:0 0 0 2px rgba(157,235,255,.95),0 0 28px rgba(86,199,242,.88),0 16px 34px rgba(0,0,0,.4)}
body.dedicated-play .sim-battle-card.combat-visual-glow.effect-none{box-shadow:0 0 0 2px rgba(151,170,184,.72),0 0 20px rgba(121,151,170,.45),0 16px 34px rgba(0,0,0,.4)}
body.dedicated-play .sim-combat-visual.kind-speed .sim-combat-visual-side>strong{font-size:clamp(30px,4vw,58px);letter-spacing:.06em}
body.dedicated-play .sim-combat-visual.kind-damage .sim-combat-visual-side.lose>strong{font-size:clamp(28px,4vw,58px)}
@keyframes simResultWash{0%{opacity:0}35%{opacity:1}100%{opacity:.42}}
@keyframes simResultText{0%{opacity:0;transform:scale(.55) translateY(8px)}65%{opacity:1;transform:scale(1.08) translateY(0)}100%{opacity:1;transform:scale(1)}}
@keyframes simCombatBanner{0%{opacity:0;transform:scale(.7)}100%{opacity:1;transform:scale(1)}}
@keyframes simCardPulse{from{transform:scale(1);filter:brightness(1.05) saturate(1.02)}to{transform:scale(1.035);filter:brightness(1.25) saturate(1.18)}}
@media(max-height:820px) and (min-width:981px){body.dedicated-play .sim-combat-visual-center{padding:7px 18px}body.dedicated-play .sim-combat-visual-center>strong{font-size:clamp(15px,1.8vw,26px)}body.dedicated-play .sim-combat-visual-center>small{font-size:8px}body.dedicated-play .sim-combat-visual-side>strong{font-size:clamp(20px,2.5vw,36px)}}

/* v1.4.12 pre-game presentation + persistent combat-sized board */
body.dedicated-play .sim-match-wrap.pregame-mode .sim-arena-panel{filter:none}
body.dedicated-play .sim-pregame-overlay{position:absolute;inset:0;z-index:80;display:grid;place-items:center;background:rgba(2,8,13,.62);backdrop-filter:blur(2px)}
body.dedicated-play .sim-match-wrap{position:relative}
body.dedicated-play .sim-pregame-panel{width:min(860px,calc(100vw - 80px));max-height:calc(100dvh - 100px);overflow:auto;padding:22px;border:1px solid rgba(131,205,238,.72);border-radius:18px;background:linear-gradient(180deg,rgba(11,31,45,.98),rgba(5,16,25,.98));box-shadow:0 28px 70px rgba(0,0,0,.6),0 0 40px rgba(83,183,224,.15);text-align:center}
body.dedicated-play .sim-pregame-panel h2{font-size:25px;margin:7px 0 6px}
body.dedicated-play .sim-pregame-panel p{margin:0 auto 14px;color:#9db8c8;font-size:11px;line-height:1.55;max-width:680px}
body.dedicated-play .sim-placement-slots.pregame{grid-template-columns:repeat(3,minmax(0,190px));gap:22px;max-width:650px;margin:14px auto}
body.dedicated-play .sim-placement-slots.pregame .sim-placement-slot{border-width:2px;box-shadow:0 12px 26px rgba(0,0,0,.28)}
body.dedicated-play .sim-placement-slots.pregame .sim-placement-slot.leader{transform:translateY(-12px);border-color:#9de0fa;box-shadow:0 14px 34px rgba(67,170,214,.22)}
body.dedicated-play .sim-pregame-confirm{min-width:230px;padding:11px 18px}

body.dedicated-play .sim-start-card-back{position:absolute;inset:0;border-radius:10px;border:1px solid rgba(135,207,238,.5);background:radial-gradient(circle at 50% 35%,rgba(72,141,171,.28),transparent 44%),repeating-linear-gradient(135deg,#07121b 0,#07121b 11px,#0e2736 11px,#0e2736 13px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#dff5ff;box-shadow:0 12px 24px rgba(0,0,0,.3)}
body.dedicated-play .sim-start-card-back span{display:grid;place-items:center;width:42px;height:42px;border:1px solid #9edcf5;border-radius:50%;font-size:22px;font-weight:950}
body.dedicated-play .sim-start-card-back small{font-size:7px;letter-spacing:.16em;font-weight:900}
body.dedicated-play .starting-reveal .sim-character-slot .sim-char-card-face{animation:simStartFlip .75s cubic-bezier(.2,.75,.2,1) both}
@keyframes simStartFlip{0%{transform:perspective(700px) rotateY(90deg) scale(.94);filter:brightness(.6)}65%{transform:perspective(700px) rotateY(-7deg) scale(1.04);filter:brightness(1.22)}100%{transform:perspective(700px) rotateY(0) scale(1);filter:brightness(1)}}

body.dedicated-play .sim-hand.opening-deal .sim-hand-card{animation:simOpeningDeal 1.15s cubic-bezier(.16,.84,.32,1) both;animation-delay:calc(var(--hand-index) * 95ms)}
@keyframes simOpeningDeal{0%{opacity:0;transform:translate(250px,-95px) scale(.48) rotate(18deg)}70%{opacity:1;transform:translate(0,5px) scale(1.05) rotate(-2deg)}100%{opacity:1;transform:none}}

body.dedicated-play .sim-hand.mulligan-picking .sim-hand-card.mulligan-selectable{cursor:pointer;filter:brightness(1.04);box-shadow:0 0 0 2px rgba(111,216,255,.85),0 0 20px rgba(73,190,238,.5);animation:simMulliganReady 1.35s ease-in-out infinite alternate}
body.dedicated-play .sim-hand.mulligan-picking .sim-hand-card.mulligan-selected{box-shadow:0 0 0 3px rgba(255,78,91,.95),0 0 26px rgba(255,55,72,.68);filter:brightness(.9) saturate(1.15);transform:translateY(-8px)}
body.dedicated-play .sim-hand.mulligan-picking .sim-hand-card.mulligan-selected::after{content:"MULLIGAN";position:absolute;inset:auto 6px 31px;z-index:5;padding:4px 5px;border-radius:5px;background:rgba(154,20,31,.92);color:#fff;font-size:7px;font-weight:950;letter-spacing:.1em;text-align:center}
@keyframes simMulliganReady{from{box-shadow:0 0 0 1px rgba(111,216,255,.72),0 0 12px rgba(73,190,238,.35)}to{box-shadow:0 0 0 3px rgba(111,216,255,.95),0 0 28px rgba(73,190,238,.7)}}
body.dedicated-play .mulligan-controls .mulligan-confirm{min-width:180px;font-size:11px;padding:10px 16px}
body.dedicated-play .mulligan-controls small{display:block;color:#8fb0c4;font-size:8px;margin-top:2px}

body.dedicated-play .event-card-glow .sim-char-card-face{animation:simEventCardGlow 1.1s ease-in-out alternate 2;box-shadow:0 0 0 2px rgba(129,225,255,.95),0 0 34px rgba(91,201,245,.8)}
@keyframes simEventCardGlow{from{filter:brightness(1);transform:scale(1)}to{filter:brightness(1.35);transform:scale(1.045)}}

body.dedicated-play .sim-combat-visual.kind-action .sim-combat-visual-center,
body.dedicated-play .sim-combat-visual.kind-opening-draw .sim-combat-visual-center,
body.dedicated-play .sim-combat-visual.kind-turn-start .sim-combat-visual-center,
body.dedicated-play .sim-combat-visual.kind-phase .sim-combat-visual-center{border-color:rgba(116,225,255,.8);box-shadow:0 10px 34px rgba(0,0,0,.5),0 0 40px rgba(83,194,239,.32)}
body.dedicated-play .sim-combat-visual.kind-action .sim-combat-visual-center>strong,
body.dedicated-play .sim-combat-visual.kind-turn-start .sim-combat-visual-center>strong{font-size:clamp(28px,3.5vw,54px)}

body.dedicated-play .sim-combat-visual.kind-dice .sim-combat-visual-center,
body.dedicated-play .sim-combat-visual.kind-dice-result .sim-combat-visual-center{min-width:min(48%,480px);border-color:rgba(180,218,255,.84);background:rgba(4,15,28,.94)}
body.dedicated-play .sim-combat-visual.kind-dice .sim-combat-visual-side>strong{font-size:clamp(28px,4vw,58px);animation:simDiceShake .2s linear infinite alternate}
body.dedicated-play .sim-combat-visual.kind-dice-result .sim-combat-visual-side>strong{font-size:clamp(30px,4.4vw,62px)}
@keyframes simDiceShake{from{transform:translate(-3px,-2px) rotate(-2deg)}to{transform:translate(3px,2px) rotate(2deg)}}

/* Keep the expanded Combat-board proportions for the entire match. */
body.dedicated-play .sim-match-wrap.combat-mode .sim-arena-grid{grid-template-rows:minmax(0,.72fr) minmax(330px,1.6fr) minmax(0,.72fr)}

@media(max-height:820px) and (min-width:981px){
  body.dedicated-play .sim-pregame-panel{padding:14px 18px;max-height:calc(100dvh - 60px)}
  body.dedicated-play .sim-placement-slots.pregame{grid-template-columns:repeat(3,minmax(0,150px));max-width:520px;gap:16px}
}
body.dedicated-play .sim-die{position:relative;z-index:3;width:58px;height:58px;border-radius:13px;border:2px solid rgba(223,244,255,.92);background:linear-gradient(145deg,#f7fbff,#bdd9e8);box-shadow:0 12px 28px rgba(0,0,0,.42),inset 0 0 0 2px rgba(255,255,255,.55);display:grid;place-items:center;color:#07141f;margin:0 12px}
body.dedicated-play .sim-die span{font-size:30px;line-height:1;font-weight:950;text-shadow:none}
body.dedicated-play .sim-die.rolling{animation:simDieRoll .18s linear infinite alternate}
@keyframes simDieRoll{0%{transform:perspective(260px) rotateX(-16deg) rotateY(-18deg) translate(-4px,-2px)}50%{transform:perspective(260px) rotateX(14deg) rotateY(18deg) translate(3px,3px)}100%{transform:perspective(260px) rotateX(-8deg) rotateY(24deg) translate(4px,-3px)}}
body.dedicated-play .sim-combat-visual.kind-dice .sim-combat-visual-side,body.dedicated-play .sim-combat-visual.kind-dice-result .sim-combat-visual-side{flex-direction:column;gap:6px}
body.dedicated-play .sim-combat-visual.kind-dice .sim-combat-visual-side>strong,body.dedicated-play .sim-combat-visual.kind-dice-result .sim-combat-visual-side>strong{font-size:14px;letter-spacing:.08em}
body.dedicated-play .sim-concerto-zone.event-zone-glow{animation:simEventZoneGlow 1.1s ease-in-out alternate 2}
@keyframes simEventZoneGlow{from{box-shadow:0 0 0 1px rgba(100,208,250,.4)}to{box-shadow:0 0 0 2px rgba(130,229,255,.95),0 0 28px rgba(72,194,240,.65)}}


/* v1.4.14 draw presentation + slower event pacing */
body.dedicated-play .sim-hand.draw-deal .sim-hand-card.just-drawn{z-index:30;animation:simOpeningDeal 1.15s cubic-bezier(.16,.84,.32,1) both;box-shadow:0 0 0 3px rgba(115,223,255,.95),0 0 36px rgba(71,193,242,.78),0 16px 34px rgba(0,0,0,.4)}
body.dedicated-play .sim-combat-visual.kind-card-draw .sim-combat-visual-center{border-color:rgba(116,225,255,.86);box-shadow:0 10px 34px rgba(0,0,0,.5),0 0 44px rgba(83,194,239,.38)}
body.dedicated-play .sim-combat-visual.kind-card-draw .sim-combat-visual-center>strong{font-size:clamp(30px,3.8vw,58px)}

body.dedicated-play .sim-combat-visual.kind-game-result .sim-combat-visual-center{min-width:min(46%,520px);border-color:rgba(255,224,130,.86);box-shadow:0 12px 36px rgba(0,0,0,.52),0 0 42px rgba(255,215,94,.28)}
body.dedicated-play .sim-combat-visual.kind-game-result .sim-combat-visual-center>strong{font-size:clamp(26px,3.6vw,56px);color:#fff4c9;text-shadow:0 0 20px rgba(255,221,121,.42)}
body.dedicated-play .sim-combat-visual.kind-game-result .sim-combat-visual-side.win::after{content:"";position:absolute;inset:-6% -4%;background:
radial-gradient(circle at 12% 18%,rgba(255,207,74,.92) 0 4px,transparent 5px),
radial-gradient(circle at 26% 10%,rgba(122,245,173,.95) 0 4px,transparent 5px),
radial-gradient(circle at 44% 22%,rgba(255,126,126,.95) 0 4px,transparent 5px),
radial-gradient(circle at 64% 12%,rgba(137,204,255,.95) 0 4px,transparent 5px),
radial-gradient(circle at 82% 20%,rgba(245,130,255,.95) 0 4px,transparent 5px),
radial-gradient(circle at 18% 34%,rgba(255,238,149,.92) 0 4px,transparent 5px),
radial-gradient(circle at 74% 36%,rgba(147,255,197,.92) 0 4px,transparent 5px);
opacity:0;animation:simConfettiBurst 1.7s ease-out infinite;pointer-events:none}
body.dedicated-play .sim-combat-visual.kind-game-result .sim-game-result-icons{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:10px;animation:simResultText 1s cubic-bezier(.2,.8,.2,1) both}
body.dedicated-play .sim-combat-visual.kind-game-result .sim-visual-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:999px;font-size:30px;line-height:1;background:rgba(9,20,30,.42);box-shadow:0 8px 24px rgba(0,0,0,.28)}
body.dedicated-play .sim-combat-visual.kind-game-result .sim-combat-visual-side.win .sim-visual-icon{box-shadow:0 0 0 1px rgba(255,224,130,.38),0 10px 28px rgba(24,196,104,.22);background:rgba(255,214,94,.14)}
body.dedicated-play .sim-combat-visual.kind-game-result .sim-combat-visual-side.lose .sim-visual-icon{box-shadow:0 0 0 1px rgba(255,170,176,.28),0 10px 28px rgba(230,52,70,.18);background:rgba(255,120,132,.12)}
@keyframes simConfettiBurst{0%{transform:translateY(-10px) scale(.9);opacity:0}20%{opacity:1}100%{transform:translateY(28px) scale(1.08);opacity:0}}


/* v1.4.15 readability + character stack browser */
body.dedicated-play .sim-stats-bubble{
  width:118px!important;
  min-width:118px!important;
  height:82px!important;
  min-height:82px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  gap:6px!important;
  align-content:center!important;
  box-shadow:0 8px 20px rgba(0,0,0,.24)!important;
}
body.dedicated-play .sim-player-lane.player .sim-stats-bubble{right:12px;top:32px}
body.dedicated-play .sim-player-lane.opponent .sim-stats-bubble{left:12px;top:32px}
body.dedicated-play .sim-stats-bubble span{font-size:10px!important;line-height:1.1!important;gap:5px!important;font-weight:900!important}
body.dedicated-play .sim-stats-bubble b{font-size:25px!important;line-height:1!important}
body.dedicated-play .sim-character-slot:not(.leader)>.sim-slot-caption{display:none!important}
body.dedicated-play .sim-slot-caption{font-size:9px;letter-spacing:.14em;margin-bottom:6px}
body.dedicated-play .sim-char-card-copy.sim-char-name-row{position:relative;width:auto;max-width:100%;display:grid;grid-template-columns:minmax(0,auto) auto;grid-template-rows:auto auto;justify-content:center;align-items:center;gap:2px 6px;margin-top:3px;text-align:center;overflow:visible}
body.dedicated-play .sim-char-name-row>strong{grid-column:1;font-size:10px;max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.dedicated-play .sim-char-name-row>small{grid-column:1/-1;grid-row:2;font-size:7px;color:#8faabc;white-space:nowrap}
body.dedicated-play .sim-stack-view-btn{grid-column:2;grid-row:1;display:inline-flex;align-items:center;gap:3px;padding:2px 5px;border:1px solid #6ba6c4;border-radius:999px;background:#102b3b;color:#dff6ff;font-size:8px;line-height:1;cursor:pointer;box-shadow:0 0 0 1px rgba(123,202,237,.08)}
body.dedicated-play .sim-stack-view-btn:hover{border-color:#b7ecff;background:#174158;box-shadow:0 0 14px rgba(92,201,242,.3)}
body.dedicated-play .sim-stack-view-btn span{font-size:12px;line-height:.8}
body.dedicated-play .sim-stack-view-btn b{font-size:8px;line-height:1}
.sim-stack-cards-dialog{width:min(1100px,calc(100vw - 36px))}
.sim-stack-cards-grid{grid-template-columns:repeat(auto-fit,minmax(150px,190px));justify-content:center}
.sim-stack-card-view{position:relative}
.sim-stack-card-view.active-stack-card{border-color:#8ff0ad;box-shadow:0 0 0 2px rgba(92,230,135,.5),0 0 26px rgba(44,194,96,.42);background:linear-gradient(180deg,#102c23,#0b1821)}
.sim-stack-card-image-wrap{position:relative}
.sim-active-stack-badge{position:absolute;top:7px;right:7px;padding:4px 7px;border-radius:999px;background:#2bc76d;color:#04150b;font-size:8px;font-weight:950;letter-spacing:.08em;box-shadow:0 2px 10px rgba(0,0,0,.35)}
@media(max-height:780px) and (min-width:981px){
  body.dedicated-play .sim-stats-bubble{width:96px!important;min-width:96px!important;height:66px!important;min-height:66px!important;padding:7px 9px!important;gap:3px!important}
  body.dedicated-play .sim-stats-bubble span{font-size:8px!important}
  body.dedicated-play .sim-stats-bubble b{font-size:20px!important}
}


/* v1.4.18 subtle Switch movement */
body.dedicated-play .sim-character-slot.switch-leader-left .sim-stack-card{animation:simSwitchLeaderLeft 1.35s cubic-bezier(.3,.7,.25,1) both;z-index:52}
body.dedicated-play .sim-character-slot.switch-leader-right .sim-stack-card{animation:simSwitchLeaderRight 1.35s cubic-bezier(.3,.7,.25,1) both;z-index:52}
body.dedicated-play .sim-character-slot.switch-back-left .sim-stack-card{animation:simSwitchBackLeft 1.35s cubic-bezier(.3,.7,.25,1) both;z-index:51}
body.dedicated-play .sim-character-slot.switch-back-right .sim-stack-card{animation:simSwitchBackRight 1.35s cubic-bezier(.3,.7,.25,1) both;z-index:51}
body.dedicated-play .sim-character-slot[class*="switch-"] .sim-char-card-face{box-shadow:0 0 0 2px rgba(128,225,255,.72),0 0 18px rgba(82,196,242,.48),0 10px 22px rgba(0,0,0,.28)}
body.dedicated-play .sim-player-lane.player .switch-leader-left .sim-stack-card{--switch-y:22px}
body.dedicated-play .sim-player-lane.player .switch-leader-right .sim-stack-card{--switch-y:22px}
body.dedicated-play .sim-player-lane.player .switch-back-left .sim-stack-card{--switch-y:-22px}
body.dedicated-play .sim-player-lane.player .switch-back-right .sim-stack-card{--switch-y:-22px}
body.dedicated-play .sim-player-lane.opponent .switch-leader-left .sim-stack-card{--switch-y:-22px}
body.dedicated-play .sim-player-lane.opponent .switch-leader-right .sim-stack-card{--switch-y:-22px}
body.dedicated-play .sim-player-lane.opponent .switch-back-left .sim-stack-card{--switch-y:22px}
body.dedicated-play .sim-player-lane.opponent .switch-back-right .sim-stack-card{--switch-y:22px}
@keyframes simSwitchLeaderLeft{0%{transform:translate(0,0)}48%{transform:translate(-72%,-5px)}100%{transform:translate(-145%,var(--switch-y,18px))}}
@keyframes simSwitchLeaderRight{0%{transform:translate(0,0)}48%{transform:translate(72%,-5px)}100%{transform:translate(145%,var(--switch-y,18px))}}
@keyframes simSwitchBackLeft{0%{transform:translate(0,0)}48%{transform:translate(72%,5px)}100%{transform:translate(145%,var(--switch-y,-18px))}}
@keyframes simSwitchBackRight{0%{transform:translate(0,0)}48%{transform:translate(-72%,5px)}100%{transform:translate(-145%,var(--switch-y,-18px))}}
body.dedicated-play .sim-combat-visual.kind-switch .sim-combat-visual-center{border-color:rgba(116,225,255,.78);box-shadow:0 8px 24px rgba(0,0,0,.42),0 0 24px rgba(83,194,239,.28)}
body.dedicated-play .sim-combat-visual.kind-switch .sim-combat-visual-center>strong{font-size:clamp(22px,2.7vw,40px)}

/* v1.4.19 hand-choice highlighting */
body.dedicated-play .sim-hand-card.hand-choice-selected{border-color:#ff6565!important;box-shadow:0 0 0 2px rgba(255,86,86,.8),0 0 24px rgba(255,62,62,.58)!important;transform:translateY(-8px)}
body.dedicated-play .hand-multi-picking .sim-hand-card.combat-eligible{cursor:pointer}

/* v1.5.3 public deck-reveal presentation */
.sim-player-chip.public{border-color:#86c8e6;background:#143247;color:#d9f5ff;box-shadow:0 0 0 1px #7fc5e733}
.sim-choice-shell.reveal-shell .sim-choice-main>p{max-width:760px}
.sim-reveal-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:18px 0 16px}
.sim-reveal-card{width:150px;border:1px solid #4a7087;border-radius:11px;background:#0b1822;color:#edf7fc;overflow:hidden;outline:none;box-shadow:0 10px 24px rgba(0,0,0,.22);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.sim-reveal-card:hover,.sim-reveal-card:focus-visible{transform:translateY(-4px);border-color:#a5e6ff;box-shadow:0 0 0 2px #7dd5fa55,0 15px 32px rgba(0,0,0,.32)}
.sim-reveal-card img{display:block;width:100%;aspect-ratio:219/306;object-fit:contain;background:#061019}
.sim-reveal-card>span{display:block;padding:8px 9px 10px}
.sim-reveal-card strong{display:block;font-size:10px;line-height:1.35}
.sim-reveal-card small{display:block;margin-top:4px;color:#8fb1c4;font-size:8px;line-height:1.35}
.sim-reveal-continue{margin-top:4px}
@media(max-width:700px){.sim-reveal-card{width:120px}}

body.dedicated-play .sim-combat-visual.kind-game-result .sim-combat-visual-side{flex-direction:column;gap:4px}

/* v1.6.0 simulator modes / online rooms / AI */
body.dedicated-play .sim-mode-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
body.dedicated-play .sim-online-setup{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:18px;align-items:stretch}
body.dedicated-play .sim-online-room-card{padding:22px;display:flex;flex-direction:column;justify-content:center}
body.dedicated-play .sim-online-room-card h2{margin:5px 0 8px;font-size:24px}
body.dedicated-play .sim-online-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:14px 0}
body.dedicated-play .sim-online-or{color:var(--muted);padding:0 2px 10px}
body.dedicated-play .sim-room-code-label{min-width:170px;margin:0}
body.dedicated-play .sim-room-code-label input{text-transform:uppercase;letter-spacing:.18em;font-weight:800}
body.dedicated-play .sim-room-lobby{max-width:760px;margin:20px auto;padding:30px;text-align:center}
body.dedicated-play .sim-room-code-display{font-size:clamp(42px,8vw,82px);font-weight:950;letter-spacing:.18em;line-height:1;margin:14px 0 18px;color:#eaf8ff;text-shadow:0 0 32px rgba(113,213,255,.26)}
body.dedicated-play .sim-room-seats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;text-align:left}
body.dedicated-play .sim-room-seats>div{border:1px solid var(--line);background:rgba(11,26,36,.72);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:5px}
body.dedicated-play .sim-room-seats strong{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
body.dedicated-play .sim-room-seats span{font-size:16px;font-weight:750}
body.dedicated-play .sim-mode-indicator{display:inline-flex;margin-left:8px;padding:3px 7px;border:1px solid rgba(121,196,231,.35);border-radius:999px;color:#bcecff;font-size:8px;letter-spacing:.12em;vertical-align:middle}
body.dedicated-play .sim-controls.ai-thinking strong,body.dedicated-play .sim-controls.online-waiting strong{color:#dff6ff}
body.dedicated-play .sim-controls.ai-thinking small{display:block;color:#8fb2c5;margin-top:3px}
@media(max-width:900px){body.dedicated-play .sim-online-setup{grid-template-columns:1fr}body.dedicated-play .sim-room-seats{grid-template-columns:1fr}}

/* v1.8.0 replay library, transport, and two-hand analysis board */
body.dedicated-play .sim-replay-setup{display:flex;flex-direction:column;gap:24px}
body.dedicated-play .sim-replay-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:linear-gradient(135deg,rgba(21,50,68,.94),rgba(11,25,36,.96))}
body.dedicated-play .sim-replay-intro h2{font-size:28px;margin:6px 0 8px}
body.dedicated-play .sim-replay-intro p{max-width:760px;margin:0;color:#a9c4d4;line-height:1.65}
body.dedicated-play .sim-replay-section{display:flex;flex-direction:column;gap:12px}
body.dedicated-play .sim-replay-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px}
body.dedicated-play .sim-replay-section-head h2{font-size:22px;margin:5px 0 0}
body.dedicated-play .sim-replay-section-head>span{color:#8eacbd;font-size:11px}
body.dedicated-play .sim-replay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
body.dedicated-play .sim-replay-card{min-width:0;padding:17px;border:1px solid #34566a;border-radius:12px;background:linear-gradient(160deg,#102431,#0a1720);box-shadow:0 12px 28px rgba(0,0,0,.18)}
body.dedicated-play .sim-replay-card-top,body.dedicated-play .sim-replay-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
body.dedicated-play .sim-player-chip.replay-chip{border-color:#5b7d91;background:#173246;color:#caefff;font-size:7px}
body.dedicated-play .sim-replay-quality{font-size:9px;font-weight:850;color:#ffd98a;letter-spacing:.06em;text-transform:uppercase}
body.dedicated-play .sim-replay-card h3{font-size:17px;line-height:1.3;margin:12px 0 8px}
body.dedicated-play .sim-replay-card p{margin:0 0 6px;color:#dbeaf2;font-size:12px}
body.dedicated-play .sim-replay-card p span{margin:0 5px;color:#7595a8;font-size:9px;text-transform:uppercase}
body.dedicated-play .sim-replay-card>small{display:block;min-height:31px;color:#8faebe;font-size:9px;line-height:1.5}
body.dedicated-play .sim-replay-card-foot{margin-top:14px;padding-top:12px;border-top:1px solid rgba(80,111,130,.42)}
body.dedicated-play .sim-replay-card-foot>span{margin-right:auto;color:#a9c2d0;font-size:9px}
body.dedicated-play .sim-replay-empty{padding:24px;color:#b8d0dd}
body.dedicated-play .sim-replay-empty strong{color:#edf8fd}
body.dedicated-play .sim-replay-empty p{margin:7px 0 0;line-height:1.6}
body.dedicated-play .sim-replay-empty small{display:block;margin-top:9px;color:#e6b8a8}

body.dedicated-play .sim-match-wrap.replay-mode{height:auto!important;max-height:none!important;min-height:100dvh!important;overflow:visible!important;padding:8px 10px 24px;gap:9px}
body.dedicated-play .sim-match-wrap.replay-mode .sim-toolbar-compact{flex:0 0 auto}
body.dedicated-play .sim-replay-transport{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(250px,1fr);align-items:center;gap:14px;padding:10px 13px;border-color:#55798e;background:linear-gradient(90deg,rgba(18,44,59,.98),rgba(10,25,35,.98));box-shadow:0 9px 24px rgba(0,0,0,.23)}
body.dedicated-play .sim-replay-now{min-width:0;display:flex;flex-direction:column;gap:2px}
body.dedicated-play .sim-replay-now strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.dedicated-play .sim-replay-now small{font-size:8px;color:#8cabbc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.dedicated-play .sim-replay-buttons{display:flex;align-items:center;justify-content:center;gap:6px}
body.dedicated-play .sim-replay-buttons .btn{white-space:nowrap}
body.dedicated-play .sim-replay-scrub{display:grid;grid-template-columns:minmax(100px,1fr) auto auto;align-items:center;gap:9px;color:#a9c4d3;font-size:9px}
body.dedicated-play .sim-replay-scrub input{width:100%;accent-color:#86d5f4}
body.dedicated-play .sim-replay-scrub label{display:flex;align-items:center;gap:5px;white-space:nowrap}
body.dedicated-play .sim-replay-scrub select{border:1px solid #42657a;border-radius:6px;background:#0b1b25;color:#e6f4fa;padding:5px 7px;font-size:9px}
body.dedicated-play .sim-match-wrap.replay-mode .sim-replay-hand-dock{flex:0 0 178px!important;min-height:178px!important;max-height:178px!important;padding:6px 12px 8px!important;overflow:hidden}
body.dedicated-play .sim-match-wrap.replay-mode .sim-replay-top-hand{border-color:#72546d;background:linear-gradient(180deg,rgba(48,28,45,.94),rgba(14,22,30,.98))}
body.dedicated-play .sim-match-wrap.replay-mode .sim-replay-bottom-hand{border-color:#416d85;background:linear-gradient(180deg,rgba(17,46,62,.94),rgba(11,23,32,.98))}
body.dedicated-play .sim-match-wrap.replay-mode .sim-replay-hand-dock .sim-hand.sim-hand-fan{height:145px!important;padding:0 38px 0 72px!important;overflow:visible;justify-content:center}
body.dedicated-play .sim-match-wrap.replay-mode .sim-replay-hand-dock .sim-hand-card.fan{width:100px!important;height:142px!important}
body.dedicated-play .sim-match-wrap.replay-mode .sim-replay-hand-dock .sim-hand-card.fan+.sim-hand-card.fan{margin-left:-29px!important}
body.dedicated-play .sim-match-wrap.replay-mode .sim-arena-panel{flex:0 0 auto;height:900px;min-height:900px;overflow:hidden}
body.dedicated-play .sim-match-wrap.replay-mode .sim-arena-grid{grid-template-rows:minmax(260px,1fr) minmax(300px,1.1fr) minmax(260px,1fr)!important}
body.dedicated-play .sim-match-wrap.replay-mode .sim-player-lane{min-height:255px}
body.dedicated-play .sim-match-wrap.replay-mode .sim-controls.replay-event{justify-content:center;text-align:center;min-height:50px}
body.dedicated-play .sim-match-wrap.replay-mode .sim-controls.replay-event>div{margin:0;max-width:90%}
body.dedicated-play .sim-match-wrap.replay-mode .sim-controls.replay-event small{display:block;margin-top:3px;color:#9cb8c8;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:1180px){
  body.dedicated-play .sim-replay-transport{grid-template-columns:1fr auto;grid-template-areas:"now buttons" "scrub scrub"}
  body.dedicated-play .sim-replay-now{grid-area:now}
  body.dedicated-play .sim-replay-buttons{grid-area:buttons}
  body.dedicated-play .sim-replay-scrub{grid-area:scrub}
}
@media(max-width:980px){
  body.dedicated-play .sim-replay-intro{align-items:flex-start;flex-direction:column}
  body.dedicated-play .sim-replay-transport{grid-template-columns:1fr;grid-template-areas:"now" "buttons" "scrub"}
  body.dedicated-play .sim-replay-buttons{flex-wrap:wrap;justify-content:flex-start}
  body.dedicated-play .sim-match-wrap.replay-mode .sim-replay-hand-dock{max-height:none!important;height:auto!important}
  body.dedicated-play .sim-match-wrap.replay-mode .sim-replay-hand-dock .sim-hand.sim-hand-fan{height:150px!important;padding-left:8px!important;overflow-x:auto!important;justify-content:flex-start!important}
  body.dedicated-play .sim-match-wrap.replay-mode .sim-replay-hand-dock .sim-hand-card.fan+.sim-hand-card.fan{margin-left:8px!important}
  body.dedicated-play .sim-match-wrap.replay-mode .sim-arena-panel{height:auto;min-height:0;overflow:visible}
  body.dedicated-play .sim-match-wrap.replay-mode .sim-arena-grid{grid-template-rows:auto!important}
}
@media(max-width:620px){
  body.dedicated-play .sim-replay-grid{grid-template-columns:1fr}
  body.dedicated-play .sim-replay-scrub{grid-template-columns:1fr auto}
  body.dedicated-play .sim-replay-scrub label{grid-column:1/-1}
}

/* 1.8.3 Discord bug-reporting and beta warnings */
body.dedicated-play .site-discord-strip{display:none!important}.sim-beta-report-banner{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0;padding:11px 16px;border:1px solid #6d8ba0;border-radius:10px;background:linear-gradient(90deg,rgba(31,55,72,.92),rgba(22,43,58,.92));color:#e4f7ff;text-align:center;text-decoration:none;font-size:12px;line-height:1.5}.sim-beta-report-banner strong{color:#fff}.sim-beta-report-banner:hover{border-color:#9eddf3;background:linear-gradient(90deg,rgba(45,78,99,.96),rgba(28,58,77,.96))}.sim-bug-report-dialog .dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:12px}.sim-bug-report-dialog p{color:#a8c0cf;line-height:1.65;margin:0 0 18px}@media(max-width:560px){.sim-beta-report-banner{align-items:flex-start;flex-direction:column;text-align:left}}
