@import url('./choice-layout.css');
@import url('./gameplay-motion.css');
/* Earlier layout remains runnable at /legacy/2026-09-23-first-playable/. */
body:has(.game-table) .app-header{position:absolute;left:16px;top:12px;height:28px;padding:0;background:none;border:0;z-index:40}
body:has(.game-table) .brand,body:has(.game-table) .seat-status{display:none}
body:has(.game-table) .header-actions{gap:5px}
body:has(.game-table) .header-actions button{font-size:10px;min-height:25px;padding:4px 8px;color:#e1d4bd;background:#121517bd;border-color:#86765960}
.game-table{--field-card:116px;--land-card:86px;position:relative;height:100dvh;min-height:680px;overflow:hidden;color:#fff3df;font-family:system-ui,sans-serif;background:linear-gradient(#080d1470,#10141b12 34%,#0a0f161a 66%,#060b15aa),url('./assets/fractured-stone-v1.png') center/cover}
.game-table::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,#0004);box-shadow:inset 0 0 90px #0006}
.game-table button,.game-table select,.game-table input{font:inherit;color:inherit;border:1px solid #93816b;background:linear-gradient(#252a30ed,#10151bed);border-radius:3px;padding:7px 10px;cursor:pointer;min-height:30px}
.game-table button:hover{border-color:#f5ce86;background:#343d43}.game-table button:focus-visible{outline:2px solid #86f6ff;outline-offset:3px}
.game-table .primary{background:linear-gradient(#ffd497,#cf793a 45%,#934218);border:1px solid #ffe6b5;color:#fff5df;font:bold 18px Georgia,serif;min-height:44px;box-shadow:inset 0 0 0 2px #4b251a80,0 0 20px #f49b3650;text-shadow:0 1px 2px #391300;border-radius:4px 16px 4px 16px}
.game-topbar{position:absolute;right:16px;top:12px;display:flex;align-items:center;gap:12px;height:28px;z-index:35;font-size:11px;text-shadow:0 2px 3px black}.game-set{font:11px Georgia,serif;letter-spacing:.18em;color:#d3c2a4}.game-topbar .quiet{font-size:10px;min-height:25px;padding:4px 8px;background:#11161cbb;border-color:#8b7c6255}
.turn-status{position:absolute;left:22px;top:55px;display:flex;flex-direction:column;gap:3px;font-size:10px;color:#e5dccb;z-index:10;text-shadow:0 2px 3px #000}.turn-status strong{font:16px Georgia,serif;color:#fff2d4}
.player-side{position:absolute;inset:0;pointer-events:none}.permanent-lane{position:absolute;left:15%;right:21%;display:flex;justify-content:safe center;align-items:center;gap:15px;height:150px;padding:20px 12px 25px;overflow-x:auto;overflow-y:hidden;pointer-events:auto;scrollbar-width:thin;scrollbar-color:#b09a7155 transparent}.opponent .creatures{top:27%}.self .creatures{top:51%}.permanent-lane.lands{left:13%;right:51%;height:115px;gap:6px;justify-content:safe flex-start;padding:18px 10px 24px}.opponent .lands{top:13%}.self .lands{top:70%}
.game-card{position:relative;width:128px;min-width:80px;flex-shrink:0;aspect-ratio:744/1040;isolation:isolate;transition:transform 150ms ease}.card-visual{position:absolute;inset:0;border-radius:7px;background:#1b2025;overflow:hidden;box-shadow:2px 5px 9px #000b;border:1px solid #000}.card-visual>img{width:100%;height:100%;object-fit:contain;display:block}.card-title{display:none}
.battlefield-card{width:var(--field-card);min-width:var(--field-card);aspect-ratio:1.15}.battlefield-card .card-visual{border:3px solid #282c2e;border-radius:7px 7px 5px 5px;box-shadow:0 1px 1px #ded3baaa,inset 0 0 0 1px #d5c5a8,3px 7px 8px #000b}.battlefield-card .card-visual>img{position:absolute;width:114%;height:auto;max-width:none;left:-7%;top:-22%;object-fit:unset}.battlefield-card .card-title{display:block;position:absolute;top:0;left:0;right:0;height:17px;padding:2px 3px;background:linear-gradient(#d7d4c4,#b9b9aa);color:#111719;font:bold 9px Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid #272c32}.battlefield-card.land-card{width:var(--land-card);min-width:var(--land-card);aspect-ratio:1.3}.land-card .card-title{font-size:8px;height:14px;padding:1px 3px}.land-card .card-visual>img{top:-24%}
.game-card.tapped{transform:none}.game-card.tapped .card-visual{transform:rotate(12deg) translateY(2px);filter:brightness(.74);transform-origin:50% 65%}.game-card.legal .card-visual{outline:2px solid #b1f9ff;box-shadow:0 0 4px 3px #79e9fa,0 0 20px #33c9ef99,3px 7px 10px #000b}
.card-stats{position:absolute;bottom:-2px;right:-3px;z-index:5;min-width:43px;text-align:center;padding:0 5px 1px;background:linear-gradient(#fffdf0,#cdc9b8);border:1px solid #62645c;border-radius:5px 1px 5px 1px;color:#171e22;font:700 24px/1.05 Georgia,serif;letter-spacing:-1px;box-shadow:0 2px 3px #0009}.card-stats.modified{color:#164d82}.card-stats.damaged{color:#982820}
.card-badges{position:absolute;left:0;bottom:-22px;right:0;display:flex;gap:3px;flex-wrap:wrap;z-index:5;pointer-events:none}.card-badge{font-size:9px;line-height:16px;font-weight:650;white-space:nowrap;color:#fff4d8;background:#171a20ee;border:1px solid #b6a282;border-radius:3px;padding:0 3px;box-shadow:0 1px 3px black}
.object-marker{position:absolute;left:2px;bottom:2px;z-index:5;background:#18232ddc;color:#e1e8e9;font:9px/1.25 system-ui;padding:1px 3px;border-radius:2px;border:1px solid #b5c1c566}.game-table .card-inspect{position:absolute;right:1px;top:20px;z-index:7;font-size:9px;min-height:21px;padding:2px 4px;opacity:0}.game-card:hover .card-inspect,.game-card:focus-within .card-inspect{opacity:1}.game-card:hover,.game-card:focus-within{z-index:35}
.card-actions{display:none;position:absolute;left:-15%;right:-15%;top:22%;z-index:8;max-height:125px;overflow:auto;padding:4px;background:#0c1317ee;border:1px solid #93d9df}.game-card:hover .card-actions,.game-card:focus-within .card-actions{display:grid;gap:4px}.game-table .card-actions button{font-size:11px;padding:5px;min-height:26px}
.game-card.missing-art .card-title{display:block;position:absolute;inset:4px;height:auto;background:#24323d;color:white;white-space:normal;font-size:12px;padding:5px;overflow-wrap:anywhere}.game-card.missing-art .card-inspect{opacity:1}
.player-avatar{position:absolute;left:50%;width:150px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;z-index:12;pointer-events:auto}.opponent .player-avatar{top:7%}.self .player-avatar{top:76%}.avatar-sigil{position:relative;width:76px;height:76px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 25%,#abc2c599,#2c3c4a 40%,#101622 70%);border:3px double #bfad8b;border-radius:44% 44% 48% 48%;font:48px Georgia,serif;color:#e9d7b8;box-shadow:0 0 0 3px #101721,0 7px 12px #000a,inset 0 0 20px #000}.has-priority .avatar-sigil{box-shadow:0 0 0 2px #ffd390,0 0 22px #edb55988,0 7px 12px #000a,inset 0 0 20px #000}.life{position:relative;margin-top:-17px;width:56px;border:2px solid #bfa980;border-radius:45%;text-align:center;background:linear-gradient(#36404a,#141b22);color:#fffdf0;font:700 30px/1.1 Georgia,serif;box-shadow:0 3px 7px #000;text-shadow:0 2px 3px #000}.player-name{font-size:11px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#111820d9;color:#ebdfce;padding:2px 9px;margin-top:4px;border-radius:3px}
.zone-bar{position:absolute;display:flex;align-items:center;gap:5px;font-size:10px;pointer-events:auto;z-index:14;max-width:25%;flex-wrap:wrap}.opponent .zone-bar{right:12%;top:13%}.self .zone-bar{left:5%;bottom:8%}.game-table .zone-bar button{font-size:10px;padding:5px 7px;background:#17212ce6;border-color:#a28c6d77;color:#d6d7d0;box-shadow:2px 3px 6px #0006}.game-table .zone-bar .library-pile{height:66px;width:49px;padding:3px;font:11px Georgia,serif;border:3px double #b09568;border-radius:5px;background:radial-gradient(ellipse,#425167,#151f30 70%);box-shadow:3px 2px #b6a68a,5px 4px #253244,7px 6px #8c7c62;transform:rotate(8deg);margin-right:7px}.mana-pool{color:#b8f4ff;font-weight:bold;padding:5px}
.player-hand{position:absolute;display:flex;justify-content:center;left:23%;right:23%;bottom:-105px;z-index:25;height:235px;overflow:visible;isolation:isolate}.hand-card{width:166px;min-width:110px;margin-left:-43px;transform-origin:50% 100%;transform:translateY(var(--fan-drop,0px)) rotate(var(--fan,0deg));transition:transform 150ms ease}.hand-card:first-child{margin-left:0}.hand-card:hover,.hand-card:focus-within{transform:translateY(-75px) rotate(0) scale(1.12);z-index:40}.hand-card .card-stats{font-size:19px;right:7%;bottom:6%;min-width:34px}.hand-card .card-badges{display:none}
.enemy-hand{position:absolute;display:flex;justify-content:center;left:35%;right:35%;top:-60px;z-index:5}.card-back{display:grid;place-items:center;width:67px;height:94px;border:4px double #b19363;border-radius:7px;background:radial-gradient(ellipse,#536c80,#1a293f 55%,#0b1420);font:35px Georgia,serif;color:#cab991;margin-left:-25px;box-shadow:2px 4px 7px #000}.hidden-card .card-back{width:100%;height:100%;margin:0}
.decision-rail{position:absolute;right:2%;bottom:4%;width:230px;max-height:44%;overflow:auto;z-index:30;display:flex;flex-direction:column;gap:7px;padding:13px;background:linear-gradient(110deg,#131a24ed,#0b1019f5);border:1px solid #8b7b61;box-shadow:0 5px 25px #0008;border-radius:4px}.decision-rail h2{font:21px Georgia,serif;margin:0;color:#fff0cf}.decision-rail p{font-size:11px;line-height:1.4;margin:0;color:#cdd4d6}.decision-eyebrow{font-size:9px;letter-spacing:.18em;color:#deb67a}.decision-rail>button,.decision-rail>select{flex-shrink:0;font-size:11px}.decision-rail>.primary{font-size:18px}.decision-rail .legal-action-list{min-height:46px;max-height:82px;flex-shrink:0}.legal-action-list,.choice-list,.ordered-choice{display:flex;flex-direction:column;gap:5px;overflow:auto}.legal-action-list button{font-size:10px;min-height:26px;flex-shrink:0;text-align:left;white-space:normal;overflow-wrap:anywhere}.full-control{font-size:9px;color:#a3aeb5;line-height:1.4}.game-table[data-decision=waiting] .decision-rail{background:#10151bb8;border-color:#a5957455;bottom:7%}
.stack-rail{position:absolute;right:2%;top:15%;width:230px;max-height:35%;overflow:auto;z-index:15;scrollbar-width:thin}.stack-rail h3{font:11px Georgia,serif;letter-spacing:.15em;text-transform:uppercase;color:#f3d8aa;text-shadow:0 2px 4px black;margin-bottom:8px}.stack-object{position:relative;background:#121b25de;border:1px solid #958267;box-shadow:0 2px 8px #0009;padding:6px;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:5px}.stack-object .game-card{width:102px;min-width:90px}.stack-object p{font-size:11px;line-height:1.4;flex:1;margin:0}.stack-object small{width:100%;font-size:10px;color:#f6cd8b}
.game-error{color:#ffafa1!important}.game-error:empty{display:none}.game-table>.game-error{position:absolute;left:25%;right:25%;top:45%;z-index:100;background:#431d1ded;padding:14px}.number-choice,.combat-choice{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px}.number-choice input{width:70px}.combat-choice{flex-direction:column;align-items:stretch}.order-row{display:flex;gap:4px;align-items:center;flex-wrap:wrap;padding:5px;background:#ffffff08}.order-row span{width:100%;font-size:13px}.order-row select{max-width:150px}.game-table .order-row button{padding:6px}.game-table .selected{border-color:#ffcd74;background:#665039}.game-table .selected:before{content:'✓ ';color:#ffcd74}
.game-zone-dialog{max-width:90vw;width:900px;max-height:85vh;background:#141d27;color:#f4eee1;border:1px solid #a98d60}.game-zone-dialog::backdrop{background:#000b}.zone-card-tray{display:flex;gap:15px;flex-wrap:wrap;padding:20px}.zone-card-tray .game-card{width:140px}
.combat-connectors{position:absolute;inset:0;width:100%;height:100%;z-index:23;pointer-events:none;overflow:visible}.combat-connectors path{fill:none;stroke:#ffa645;stroke-width:4;filter:drop-shadow(0 2px 2px #000)}.combat-connectors path.block{stroke:#86eafb}.combat-connectors path.draft{stroke-dasharray:8 6}.combat-linked .card-visual{outline:2px solid #ffd992}.game-empty{padding:80px;text-align:center}.game-table [hidden]{display:none!important}
@media(min-width:651px) and (max-width:1150px){.game-table{--field-card:96px;--land-card:72px}.permanent-lane{left:6%;right:26%;gap:10px}.permanent-lane.lands{left:9%;right:50%}.decision-rail,.stack-rail{width:208px;right:1%}.game-set{display:none}.game-topbar{gap:8px}.card-stats{font-size:21px}.hand-card{width:140px;margin-left:-45px}.player-hand{left:17%;right:27%;height:196px;bottom:-80px}.self .zone-bar{left:3%;bottom:9%;max-width:24%}.opponent .zone-bar{right:12%}}
@media(max-height:760px) and (min-width:651px){.game-table{min-height:620px;--field-card:96px;--land-card:70px}.permanent-lane{height:125px;padding-top:16px}.permanent-lane.lands{height:98px}.opponent .creatures{top:26%}.self .creatures{top:49%}.self .lands{top:68%}.player-avatar .avatar-sigil{width:58px;height:58px;font-size:38px}.life{font-size:26px;width:49px}.self .player-avatar{top:76%}.player-hand{bottom:-125px}.decision-rail{max-height:49%;bottom:2%;gap:5px;padding:10px}.decision-rail p,.full-control{font-size:9px}.decision-rail .legal-action-list{max-height:55px}.stack-rail{top:12%;max-height:34%}}
@media(max-width:650px){body:has(.game-table) .app-header{position:relative;top:0;left:0;padding:5px;height:35px;background:#121923}.game-table{min-height:100dvh;height:auto;padding:105px 8px 18px;display:flex;flex-direction:column;gap:16px;overflow:visible}.game-topbar{left:8px;right:8px;top:6px}.turn-status{top:44px;left:8px}.player-side,.player-side.opponent,.player-side.self{position:relative;inset:auto;min-height:320px;padding:90px 0 28px;display:flex;flex-direction:column;gap:5px}.player-side.opponent{order:1}.player-side.self{order:3}.permanent-lane,.permanent-lane.lands{position:relative;inset:auto;width:100%;height:110px;padding:10px 5px 25px;justify-content:flex-start;flex-shrink:0}.permanent-lane .game-card{width:90px;min-width:90px}.permanent-lane.lands .game-card{width:70px;min-width:70px}.player-avatar,.self .player-avatar,.opponent .player-avatar{top:0;left:50%}.avatar-sigil{width:54px;height:54px;font-size:34px}.life{font-size:25px;width:45px}.zone-bar,.self .zone-bar,.opponent .zone-bar{top:auto;bottom:0;left:0;right:auto;max-width:100%}.game-table .zone-bar .library-pile{height:32px;width:auto;transform:none;border-width:1px;margin:0;box-shadow:none}.decision-rail:not(.choice-overlay){position:relative;inset:auto;order:0;width:100%;max-height:290px;padding:12px}.stack-rail{position:relative;inset:auto;order:2;width:100%;max-height:220px}.player-hand{position:relative;inset:auto;order:4;width:100%;height:185px;padding:7px;justify-content:flex-start;overflow:auto}.hand-card{width:110px;min-width:110px;margin:0 8px 0 0;transform:none}.hand-card:hover,.hand-card:focus-within{transform:none}.enemy-hand{display:block;position:relative;order:1;inset:auto;font-size:12px}.enemy-hand>.card-back{display:none}.enemy-hand::before{content:attr(aria-label)}.card-stats{font-size:22px}.card-badges{bottom:-19px}.game-table .choice-overlay{position:fixed;z-index:60}.game-table .choice-shade{position:fixed;inset:0;z-index:55}}
@media(prefers-reduced-motion:reduce){.game-card,.hand-card{transition:none}}
.battlefield-card .card-visual>img{width:180%;left:-40%;top:-35%}
.battlefield-card.land-card .card-visual>img{top:-37%}
.legal-action-list:empty{display:none}
.priority-controls{background:transparent;border:0;box-shadow:none;padding:0;overflow:visible;gap:8px}
.priority-controls .decision-eyebrow{display:none}.priority-controls h2{font-size:15px;text-align:center;text-shadow:0 2px 3px black;color:#ffe0a1}
.priority-controls>.primary{order:10;min-height:48px;font-size:20px}
.priority-options{background:#121c26e8;border:1px solid #9e8c6966;border-radius:4px;box-shadow:0 3px 12px #0006;font-size:11px;padding:8px;color:#e3d5bd}
.priority-options summary{cursor:pointer;font-size:11px;padding:3px;text-align:center}.priority-options[open]{display:flex;flex-direction:column;gap:7px}.priority-options>*:not(summary){margin-top:7px;width:100%}.priority-options .legal-action-list{max-height:110px}.priority-options .full-control{display:block}
.game-table[data-decision=waiting] .decision-rail{border:0;box-shadow:none;background:transparent;text-shadow:0 2px 3px black;text-align:center}.game-table[data-decision=waiting] .decision-eyebrow{display:none}.game-table[data-decision=waiting] .decision-rail h2{font-size:18px}
.battlefield-card .card-title{font-size:11px;height:18px;padding:1px 3px}.battlefield-card.land-card .card-title{font-size:10px;height:16px}
.card-stats{border:2px solid #54564e;border-radius:8px 2px 8px 2px;box-shadow:inset 0 1px 1px #fff,0 2px 4px #0009;padding:0 4px}
.instance-details{margin:12px 0 18px;padding:13px;background:#223039;border:1px solid #8f805e;border-radius:5px}.instance-details p{font-size:12px;line-height:1.6;margin:8px 0}.instance-stats{display:block;font:bold 28px Georgia,serif;color:#fff0c9;margin:8px 0}
.card-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}.zone-search{width:100%;margin-top:12px}
.permanent-lane{height:170px;padding-bottom:45px}.permanent-lane.lands{height:115px;padding-bottom:24px}
.card-badges{top:calc(100% + 5px);bottom:auto;max-height:36px;overflow:hidden}.card-stats{z-index:6}
@media(max-height:760px) and (min-width:651px){.permanent-lane{height:145px;padding-bottom:40px}.permanent-lane.lands{height:98px;padding-bottom:24px}}
.card-badges{max-height:42px}
.opponent .zone-bar{right:23%}
@media(min-width:651px){.inspector-open .game-table{width:calc(100% - 316px);--field-card:96px;--land-card:72px}.inspector-open .game-set{display:none}.inspector-open .player-hand{left:20%;right:26%}.inspector-open .hand-card{width:140px;margin-left:-46px}.inspector-open .self .zone-bar{left:3%;max-width:23%}}
.player-hand{align-items:flex-start}
.decision-rail.choice-overlay{width:min(1120px,calc(100% - 80px))}.choice-overlay h2{font-size:30px}.choice-overlay p{font-size:13px}.choice-overlay .choice-list{flex-wrap:nowrap;justify-content:flex-start;max-width:100%;width:100%;padding:5px}.choice-overlay .choice-item{flex:0 0 145px}.choice-overlay:not(:has(.opening-hand,.choice-list,.scry-cards,.ordered-choice)){width:min(640px,calc(100% - 80px))}
.land-group{position:relative;width:calc(var(--land-card) + var(--pile-peek));height:calc(var(--land-card)/1.3);flex-shrink:0;margin-right:5px}.land-group>.game-card{position:absolute;left:var(--pile-offset);top:0}.land-group:not(.expanded)>.game-card:not(:nth-last-child(2)){pointer-events:none}.game-table .land-group-toggle{position:absolute;right:-2px;top:-12px;z-index:40;font-size:9px;line-height:1;min-height:20px;padding:3px 5px;background:#151d25;border-color:#c4ac84;color:#fff1d3}.land-group.expanded{display:flex;gap:7px;width:auto;margin-right:8px}.land-group.expanded>.game-card{position:relative;left:auto;top:auto}.land-group.expanded .land-group-toggle{right:0;top:-18px}

/* Printed faces already show abilities; battlefield badges must not overlap chooser labels. */
.game-card:not(.battlefield-card) .card-badges{display:none}

/* Keep local life above the resting hand across desktop heights. */
@media(min-width:651px){.self .player-avatar{top:auto;bottom:140px}}
@media(min-width:651px) and (max-height:760px){.self .player-avatar{top:auto;bottom:120px}}

@media(min-width:651px) and (min-height:761px) and (max-height:850px){.player-avatar .avatar-sigil{width:58px;height:58px;font-size:38px}.life{font-size:26px;width:49px}}

/* Inspection has its own hover hit area above cast/activation actions. */
.game-table .battlefield-card .card-inspect{top:0;right:0;z-index:10}
.battlefield-card .card-actions{top:max(24px,22%)}
/* Arena ability-choice scene, based on inspected official BRO multimode reference. */
.arena-ability-scene{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:0;background:#071019b8;color:#fff9e8;overflow:hidden;font-family:Georgia,serif;box-shadow:none}.arena-ability-scene::backdrop{background:#02060966;backdrop-filter:blur(2px)}
.arena-ability-scene h2{position:absolute;top:6%;left:15%;width:70%;margin:0;text-align:center;font-size:44px;text-shadow:0 3px 4px #000}.arena-ability-scene .scene-instruction{position:absolute;top:13%;left:20%;width:60%;text-align:center;font:18px system-ui,sans-serif}
.ability-tray{display:flex;align-items:center;justify-content:center;gap:24px;padding:28px 22px;overflow:auto;min-height:420px;width:100%;scrollbar-color:#c8c8ba #303638}.arena-ability-scene .ability-tray{position:absolute;top:20%;left:4%;width:76%;height:58%}
.game-table .ability-choice{position:relative;display:flex;flex-direction:column;flex:0 0 225px;width:225px;min-height:332px;height:332px;padding:8px 9px 20px;border:3px solid #97ebff;border-radius:16px 16px 46% 46% / 16px 16px 20% 20%;background:linear-gradient(115deg,#172936,#567384 48%,#122b3e);box-shadow:0 0 4px #b9ffff,0 0 15px #0fceffb0,inset 0 0 0 4px #171d24;color:#1b2025;text-align:left;white-space:normal;transition:transform .14s,box-shadow .14s;overflow:hidden;font-family:Georgia,serif;cursor:pointer}
.game-table .ability-choice:hover,.game-table .ability-choice:focus-visible{transform:scale(1.08);z-index:3;box-shadow:0 0 6px #d0ffff,0 0 24px #16ceff;outline:none}.game-table .ability-choice.selected{border-color:#ffa644;box-shadow:0 0 8px #ff991b,0 0 20px #ff891999}.game-table .ability-choice.selected:before{display:none}
.ability-name{display:block;width:100%;padding:4px 5px;border:2px solid #15242c;border-radius:8px;background:linear-gradient(100deg,#b6d2dd,#dfddd0);font-weight:700;font-size:14px;line-height:1.15;min-height:27px;z-index:1}
.ability-art{position:relative;display:block;overflow:hidden;width:100%;height:126px;flex-shrink:0;background:radial-gradient(ellipse,#6a8294,#101b2b)}.ability-art img{position:absolute;width:118%;max-width:none;left:-9%;top:-24%;height:auto}
.ability-type{display:block;width:100%;background:linear-gradient(100deg,#88a6b8,#d3d9d5);border:2px solid #22303c;border-radius:6px;padding:3px 5px;font-size:14px;font-weight:bold;z-index:1}
.ability-rules{display:flex;gap:8px;align-items:flex-start;flex:1;width:100%;padding:12px 10px 16px;background:linear-gradient(115deg,#b7c3c9,#e2e1d8);font:15px/1.35 system-ui,sans-serif;overflow:auto;border-radius:0 0 40% 40% / 0 0 23% 23%;min-height:105px}
.ability-loyalty{flex-shrink:0;min-width:32px;padding:3px 5px;background:#141921;color:#fff;font:bold 20px Georgia,serif;text-align:center;border:2px solid #c3cdd3;border-radius:4px 4px 45% 45%}
.ability-source{position:absolute;right:3%;top:29%;width:17%;max-height:48%;object-fit:contain;filter:drop-shadow(0 0 13px #b95624)}
.game-table .arena-ability-scene .scene-done{position:absolute;bottom:9%;left:calc(50% - 110px);width:220px;padding:10px;font:bold 23px Georgia,serif;background:linear-gradient(#b67a3d,#803409);border:2px solid #d9b474;border-radius:24px;color:white}
.game-table .arena-ability-scene .view-battlefield{position:absolute;right:4%;top:6%;border:1px solid #dddacb;border-radius:28px;padding:10px 20px;background:#15202780;font:20px Georgia,serif}
.loyalty-shield{position:absolute;bottom:-6px;right:-5px;z-index:7;background:#151b25;color:#fff;border:2px solid #c6c9ce;border-radius:4px 4px 50% 50%;padding:2px 9px 5px;font:bold 24px/1 Georgia,serif;text-shadow:0 2px 2px black}.planeswalker-card .card-visual{border-radius:8px 8px 28% 28%}
.decision-rail.choice-overlay.arena-mode-scene{inset:5% 3% 5%;transform:none;width:94%;height:90%;max-height:none;background:transparent;border:0;box-shadow:none;padding:20px;overflow:hidden}.arena-mode-scene .decision-eyebrow{display:none}.arena-mode-scene h2{font-size:40px}.arena-mode-scene .ability-tray{flex:1;min-height:0;padding:28px;justify-content:center}.arena-mode-scene .ability-slot{position:relative;flex:0 0 225px}.arena-mode-scene .mode-total{font:18px system-ui,sans-serif;margin:0}.arena-mode-scene>.primary{font:24px Georgia,serif;border-radius:25px;min-width:220px;margin-bottom:3%}.mode-weight{position:absolute;bottom:8px;left:15%;width:70%;text-align:center;font:bold 12px system-ui,sans-serif}.mode-remove{position:absolute;bottom:-28px;left:25%;width:50%;font-size:11px!important}
@media(max-height:760px){.game-table .ability-choice{flex-basis:200px;width:200px;min-height:300px;height:300px}.ability-art{height:104px}.ability-rules{font-size:14px}.arena-mode-scene .ability-slot{flex-basis:200px}.ability-tray{gap:18px;min-height:350px}.arena-ability-scene h2{font-size:36px}.arena-ability-scene .scene-instruction{font-size:16px}}

/* A focused modal choice must not scroll the entire fixed battlefield. */
.game-table{overflow:clip}
.mode-weight{bottom:12px;color:#f6f2dc;background:#17212de8;border-radius:10px;padding:2px 4px}
/* Direct battlefield combat selection. */
.combat-eligible .card-visual,.target-eligible .card-visual{outline:2px solid #8beaff;box-shadow:0 0 12px #49d6ff}.combat-selected .card-visual{outline:3px solid #ffab4e;box-shadow:0 0 16px #ef833f}.combat-focus .card-visual{outline:3px solid #e5ffff;box-shadow:0 0 20px #8bfaff}.player-avatar.target-eligible{pointer-events:auto;filter:drop-shadow(0 0 8px #8bfaff);cursor:pointer}.battlefield-card[role=button]{cursor:pointer}.board-choice-controls{background:transparent;border:0;box-shadow:none;text-align:center}.board-choice-controls .decision-eyebrow{display:none}.board-choice-controls>p{font-size:14px;line-height:1.4}.board-choice-controls h2{font-size:25px}.board-choice-controls .primary{border-radius:22px;font-size:22px}
.arena-mode-scene.has-source .ability-tray{width:79%;align-self:flex-start;justify-content:safe center}.arena-mode-scene .ability-source{right:1%;top:25%;width:17%;max-height:49%}.arena-mode-scene .view-battlefield{right:1%;top:1%;border-radius:24px;font:18px Georgia,serif;padding:9px 16px}.arena-mode-scene.has-source .ability-slot{flex-shrink:0}
/* Full effect text stays readable without a nested scrollbar. */
.game-table .ability-choice{width:250px;flex-basis:250px;min-height:400px;height:400px;padding-bottom:16px}.ability-art{height:114px}.ability-rules{min-height:204px;font-size:15px;line-height:1.35;padding:12px 9px 25px;overflow:visible}.arena-ability-scene .ability-tray{top:18%;height:64%}.arena-mode-scene .ability-slot{flex-basis:250px}.arena-mode-scene .ability-tray{justify-content:safe center}
@media(max-height:760px){.game-table .ability-choice{width:236px;flex-basis:236px;height:380px;min-height:380px}.ability-art{height:100px}.ability-rules{min-height:195px;font-size:14px}.arena-mode-scene .ability-slot{flex-basis:236px}.ability-tray{gap:16px}}

.ability-art img{top:-43px}
/* Spatial private card ordering: official BRO/Sylvan Library scene proportions. */
.decision-rail.choice-overlay.spatial-order-scene{inset:5% 3%;transform:none;width:94%;height:90%;max-height:none;background:transparent;border:0;box-shadow:none;padding:18px;overflow:hidden;gap:14px}.spatial-order-scene .decision-eyebrow{display:none}.spatial-order-scene h2{font-size:40px}.spatial-order-scene .scene-instruction{font-size:17px}.spatial-order-trays{display:flex;align-items:stretch;justify-content:center;gap:30px;width:82%;align-self:flex-start;flex:1;min-height:0;padding:30px 5px}.order-destination{flex:1;min-width:0;display:flex;flex-direction:column}.order-destination h3{font:23px Georgia,serif;margin:0 0 12px}.order-card-tray{border:1px solid #a8a18b;border-radius:5px;min-height:290px;flex:1;display:flex;align-items:center;justify-content:safe center;padding:15px;gap:12px;overflow:auto;background:#07101655}.spatial-card{flex:0 0 150px;display:flex;flex-direction:column;gap:14px}.spatial-card .game-card{width:150px;outline:2px solid #76ddf4;border-radius:8px;cursor:grab}.spatial-card .card-inspect{display:none}.spatial-card .game-card:focus-visible{outline:3px solid #ffd883}.order-endpoints{display:flex;justify-content:space-between;white-space:pre;font:italic 20px Georgia,serif;padding-top:10px;overflow:hidden}.move-destination{font-size:11px!important;white-space:normal}.drop-hint{color:#bcbaac;font:16px Georgia,serif}.order-source{position:absolute;right:0;top:28%;width:16%;max-height:45%;object-fit:contain;filter:drop-shadow(0 0 12px #9d562f)}.spatial-order-scene>.primary{font:24px Georgia,serif;border-radius:25px;min-width:220px;margin-bottom:3%}.spatial-order-scene .view-battlefield{right:1%;top:1%;border-radius:24px;font:18px Georgia,serif;padding:9px 16px}
@media(max-height:760px){.spatial-order-trays{padding:15px 5px;gap:18px}.spatial-card,.spatial-card .game-card{width:126px;flex-basis:126px}.order-card-tray{min-height:230px}.spatial-order-scene h2{font-size:34px}}
/* Current combat damage uses full recipient cards and prominent damage badges. */
.decision-rail.choice-overlay.damage-scene{inset:5% 4%;transform:none;width:92%;height:90%;max-height:none;background:transparent;border:0;box-shadow:none;padding:20px;overflow:hidden}.damage-scene .decision-eyebrow{display:none}.damage-scene h2{font-size:40px}.damage-layout{display:flex;align-items:center;gap:50px;flex:1;width:100%;min-height:0;padding:25px 20px}.damage-attacker{flex:0 0 210px;display:flex;align-items:center;flex-direction:column;gap:15px}.damage-attacker .game-card{width:210px}.damage-attacker p{font-size:18px}.damage-targets{flex:1;display:flex;justify-content:safe center;align-items:center;gap:28px;border:1px solid #aeab96;border-radius:5px;background:#13130f33;padding:25px 18px;overflow:auto}.damage-recipient{position:relative;flex:0 0 195px}.damage-recipient>.game-card{width:195px;outline:2px solid #69e1f0;border-radius:8px}.damage-amount{position:absolute;top:22%;left:calc(50% - 28px);width:56px;background:#080e10;color:#7bebf4;padding:10px;font:26px Georgia,serif;box-shadow:0 2px 6px #000b}.damage-adjust{display:flex;justify-content:center;gap:35px;margin-top:15px}.damage-adjust button{font-size:24px;min-width:45px}.damage-scene .damage-remaining{font-size:20px}.damage-scene>.primary{font:24px Georgia,serif;border-radius:25px;min-width:220px;margin-bottom:3%}.damage-scene .view-battlefield{right:1%;top:1%;border-radius:24px;font:18px Georgia,serif;padding:9px 16px}.damage-player{height:273px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.damage-player .life{position:static}.damage-player .avatar-sigil{width:75px;height:75px}.damage-recipient:has(.damage-player) .damage-amount{top:5%}
@media(max-height:760px){.damage-layout{gap:25px;padding:15px}.damage-attacker{flex-basis:180px}.damage-attacker .game-card{width:180px}.damage-recipient{flex-basis:165px}.damage-recipient>.game-card{width:165px}.damage-targets{gap:20px;padding:15px}.damage-player{height:230px}}
/* Always reserve the full primary-action button below expanded priority details. */
.decision-rail.priority-controls{overflow:visible;max-height:calc(100% - 160px)}.priority-controls .priority-options{flex:0 1 auto;min-height:0}.priority-controls .priority-options[open]{max-height:min(310px,43vh);overflow:auto}.priority-controls>.primary{flex:0 0 auto;min-height:48px}
.target-eligible{cursor:crosshair}.stack-object.target-eligible{outline:3px solid #82e9ff;box-shadow:0 0 15px #3cd3ee}.target-fallback{display:flex;overflow:auto;gap:12px}.target-option{display:flex;flex-direction:column;width:130px;font-size:12px!important}.target-option img{width:100%;border-radius:6px}.order-endpoints{white-space:normal}
/* Observed Arena color wheel: lower right beneath source ability; unavailable colors dimmed. */
.decision-rail.color-controls{bottom:3%;right:2%;width:235px;overflow:visible;max-height:none;background:transparent;border:0;box-shadow:none;align-items:center;text-align:center}.color-controls .decision-eyebrow{display:none}.color-controls h2{font-size:20px;order:1;background:#10151de8;border-radius:8px;padding:8px}.mana-wheel{position:relative;width:212px;height:212px;border-radius:50%;background:conic-gradient(from -36deg,#c1b98755 0 72deg,#486d8355 72deg 144deg,#24242b88 144deg 216deg,#814a3855 216deg 288deg,#41634455 288deg 360deg);border:3px solid #8f8b7a;box-shadow:0 3px 15px #000a;order:2}.game-table .mana-pip{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;padding:0;min-height:0;width:48px;height:48px;border-radius:50%}.mana-pip img{display:block;width:100%;height:100%}.mana-pip:disabled{opacity:.2;filter:grayscale(1)}.game-table .mana-pip:hover:not(:disabled),.game-table .mana-pip[aria-pressed=true]{box-shadow:0 0 18px #91e7ff;outline:2px solid #a8eaff}.mana-count{position:absolute;right:-5px;bottom:-5px;background:#101a24;color:white;border-radius:50%;font:18px Georgia,serif;min-width:22px;padding:2px}.wheel-total{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:bold 20px Georgia,serif}.color-controls>.primary,.color-controls>button:not(.color-source){order:3}.game-table .color-source{position:absolute;right:0;bottom:calc(100% + 8px);width:220px;min-height:320px;height:320px;pointer-events:none;opacity:1;box-shadow:0 0 10px #97612d;border-color:#caaa7e}.color-source .ability-art{height:95px}.color-source .ability-rules{font-size:12px;min-height:135px}
@media(max-height:760px){.mana-wheel{width:175px;height:175px}.game-table .mana-pip{width:40px;height:40px}.game-table .color-source{width:190px;min-height:280px;height:280px}.color-source .ability-art{height:75px}.color-source .ability-rules{min-height:115px;font-size:11px}.decision-rail.color-controls{width:205px}}
.hand-eligible .card-visual{outline:3px solid #82e7ff;box-shadow:0 0 14px #22c4ff}.hand-selected .card-visual{outline:3px solid #ffb654;box-shadow:0 0 20px #fa922e}.hand-selected{translate:0 -24px}.game-table[data-decision=chooseCards] .player-hand:has(.hand-eligible){z-index:45}.game-table[data-decision=chooseCards] .player-hand:has(.hand-eligible) .hand-card{cursor:pointer}
.decision-rail.choice-overlay.trigger-order-scene{inset:5% 4%;width:92%;height:90%;transform:none;max-height:none;border:0;background:transparent;box-shadow:none;padding:20px;overflow:hidden}.trigger-order-scene .decision-eyebrow{display:none}.trigger-order-scene h2{font-size:40px}.trigger-order-scene .scene-instruction{font-size:17px}.trigger-order-tray{flex:1;min-height:0;display:flex;width:100%;align-items:center;justify-content:safe center;gap:24px;padding:20px;overflow:auto;border:1px solid #bdb49a;border-radius:6px;margin-top:15px}.trigger-slot{flex:0 0 250px}.trigger-moves{display:flex;justify-content:center;gap:10px;margin-top:15px}.trigger-moves button{font-size:11px}.trigger-order-scene .order-endpoints{width:100%}.trigger-order-scene>.primary{font:24px Georgia,serif;border-radius:25px;min-width:220px;margin-bottom:2%}.trigger-order-scene .view-battlefield{right:1%;top:1%;border-radius:24px;font:18px Georgia,serif;padding:9px 16px}
@media(max-height:760px){.trigger-slot{flex-basis:236px}.trigger-order-tray{padding:12px}.trigger-order-scene h2{font-size:34px}}

/* Keep hand choices clear of the bottom-right action, including long hands. */
.game-table{container-type:inline-size}.game-table[data-decision=chooseCards] .player-hand:has(.hand-eligible){left:12%;right:30%}.game-table[data-decision=chooseCards] .hand-eligible:not(:first-child){margin-left:clamp(-135px,calc((100cqw - 560px - 166px * var(--hand-count)) / max(1,var(--hand-count) - 1)),-50px)}.game-table[data-decision=chooseCards] .board-choice-controls{z-index:55}

/* Search is limited to native legal card names; free text never becomes an answer. */
.decision-rail.card-name-scene{width:min(620px,86vw);max-height:82%;padding:28px}.card-name-search{width:100%;padding:12px;font-size:18px;background:#121c24;color:#fff6dd;border:1px solid #b8a482;border-radius:4px}.card-name-results{display:flex;flex-direction:column;gap:5px;min-height:80px;max-height:43vh;overflow:auto}.card-name-result{text-align:left;padding:12px;font-size:16px;flex-shrink:0}.card-name-result.selected{border-color:#ffb34d;background:#6a4827}.game-table[data-decision=waiting] .player-hand{right:30%}

/* Arena-like status medallions: card text stays on its face and inspection. */
.card-status-icons{position:absolute;left:1px;bottom:2px;z-index:7;display:flex;gap:2px;max-width:calc(100% - 40px);flex-wrap:wrap-reverse;pointer-events:auto}.status-icon{position:relative;display:grid;place-items:center;width:19px;height:19px;color:#eae7dc;background:#131c21ee;border:1px solid #b8bcae;border-radius:50%;box-shadow:0 1px 3px #000}.status-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.status-count{position:absolute;right:-4px;bottom:-3px;font-size:9px;background:#16232c;border-radius:50%;padding:1px 2px}.battlefield-card .card-badges{left:auto;right:-4px;top:24px;max-width:30px;overflow:visible;gap:3px}.counter-badge{display:grid;place-items:center;min-width:20px;height:20px;padding:0 3px;border:1px solid #b7d4fc;background:radial-gradient(#397dc4,#164679);color:white;border-radius:50%;font:bold 12px Georgia,serif;box-shadow:0 1px 4px black}

/* Spell faces overlap in resolution order; abilities use source-art mini cards. */
.stack-rail{--stack-card-width:180px;position:absolute;top:13%;right:2%;width:250px;height:60%;max-height:none;overflow:visible;pointer-events:none;z-index:20;--stack-x:min(9px,calc(60px / var(--stack-depth)));--stack-y:clamp(6px,calc((58vh - 255px) / var(--stack-depth)),29px)}.stack-object{position:absolute;top:calc(var(--stack-level) * var(--stack-y));left:calc(var(--stack-level) * var(--stack-x));padding:0;margin:0;width:var(--stack-card-width);height:auto;border:0;background:none;box-shadow:none;display:block;pointer-events:auto;transition:transform 140ms ease}.stack-object .game-card{width:var(--stack-card-width);min-width:0;aspect-ratio:744/1040}.stack-object .card-visual{box-shadow:0 0 0 1px #c4bba0,3px 5px 13px #000c;border:2px solid #1d2023;border-radius:8px}.stack-object.stack-focused,.stack-object:focus-within{z-index:100!important;transform:translateX(-30px) scale(1.07);outline:none}.stack-object:focus-visible .card-visual{outline:2px solid #a4edff}.stack-object .card-stats{display:none}.stack-object .card-inspect{top:auto;bottom:6px;right:6px}.stack-ability-face{background:linear-gradient(#d7d9d2,#a9b3b4);color:#121819;clip-path:polygon(0 0,100% 0,100% 90%,90% 97%,50% 100%,10% 97%,0 90%);padding:5px}.stack-ability-face .ability-name{font-size:12px;padding:3px;min-height:20px}.stack-ability-face .ability-art{height:74px}.stack-ability-face .ability-type{font-size:10px;padding:3px}.stack-ability-face .ability-rules{font:12px/1.25 Georgia,serif;min-height:0;padding:7px 5px 14px}.stack-ability-face .ability-art img{top:-31px}.stack-object.target-eligible{outline:none}.stack-object.target-eligible .card-visual{outline:3px solid #8fefff;box-shadow:0 0 18px #43cbe9}
@media(min-width:651px){.game-table:has(.stack-rail) .permanent-lane.creatures{right:calc(2% + 270px)}.inspector-open .game-table:has(.stack-rail) .permanent-lane.creatures{left:7%}.game-table:has(.stack-rail) .opponent .zone-bar{right:calc(2% + 270px)}}
@media(max-height:760px){.stack-rail{--stack-card-width:160px;width:226px;--stack-y:clamp(6px,calc((58vh - 225px) / var(--stack-depth)),25px)}.stack-ability-face .ability-art{height:59px}.stack-ability-face .ability-rules{font-size:11px}.game-table:has(.stack-rail) .permanent-lane.creatures{right:calc(2% + 245px)}}

/* Directly observed four-card Arena fan: newest upper-right, older left/down. */
.stack-rail{--stack-card-width:220px;top:23%;width:320px;height:57%;--stack-x:min(32px,calc(96px / var(--stack-depth)));--stack-y:min(18px,calc(80px / var(--stack-depth)));--stack-angle:min(4deg,calc(14deg / var(--stack-depth)))}.stack-object{left:calc(96px - var(--stack-level) * var(--stack-x));top:calc(var(--stack-level) * var(--stack-y));transform:rotate(calc(-1 * var(--stack-level) * var(--stack-angle)));transform-origin:50% 90%}.stack-object.stack-focused,.stack-object:focus-within{transform:translateX(-24px) scale(1.07)}.stack-count{position:absolute;right:4px;top:-34px;border:1px solid #d1c7ad;border-radius:45%;padding:3px 12px;background:#15202dcc;color:#f3eddf;font:15px Georgia,serif}.stack-ability-face .ability-art{height:92px}.stack-ability-face .ability-rules{font-size:14px}.stack-ability-face .ability-name{font-size:14px}.stack-ability-face .ability-art img{top:-38px}
@media(min-width:651px){.game-table:has(.stack-rail) .permanent-lane.creatures{right:calc(2% + 350px)}.game-table:has(.stack-rail) .opponent .zone-bar{right:calc(2% + 350px)}}
@media(max-width:1350px),(max-height:760px){.stack-rail{--stack-card-width:195px;width:295px}.stack-ability-face .ability-art{height:76px}.stack-ability-face .ability-rules{font-size:12px}.game-table:has(.stack-rail) .permanent-lane.creatures{right:calc(2% + 330px)}}

@media(min-width:651px){.game-table:has(.stack-rail) .permanent-lane.creatures{right:calc(2% + 410px)}.game-table .opponent .zone-bar{left:calc(50% + 100px);right:auto;max-width:calc(50% - 130px)}}

.battlefield-card .card-stats{z-index:9}.card-status-icons{max-width:calc(100% - var(--stats-space,0px) - 4px)}

/* Keep all three public-zone buttons accessible beside a seven-plus-card hand. */
@media(min-width:651px){.game-table{--hand-width:166px}.hand-card{width:var(--hand-width)}.player-hand .hand-card:not(:first-child){margin-left:clamp(-145px,calc((100cqw - 520px - var(--hand-width) * var(--hand-count)) / max(1,var(--hand-count) - 1)),-43px)}.self .zone-bar{left:2%;bottom:4%;right:auto;max-width:175px;display:grid;grid-template-columns:max-content max-content;gap:4px;z-index:28}.self .zone-bar .library-pile{grid-column:1;grid-row:1 / span 3;align-self:center}.self .zone-bar button:not(.library-pile){grid-column:2}.self .zone-bar .mana-pool{grid-column:1 / span 2}.inspector-open .game-table{--hand-width:140px}.inspector-open .self .zone-bar{left:2%;max-width:175px}}

/* Owner Arena gameplay recording 03:06–11:17, September 23. */
.game-table .decision-rail.opening-scene{inset:8% 2% 6%;transform:none;width:96%;height:86%;max-height:none;background:transparent;border:0;box-shadow:none;overflow:visible;align-items:center;justify-content:center;padding:20px;gap:18px}
.opening-scene .decision-eyebrow{display:none}.opening-scene h2{font:clamp(28px,3vw,46px) Georgia;text-shadow:0 3px 6px #000}.opening-scene .opening-hand{display:flex;justify-content:center;align-items:center;width:100%;height:auto;min-height:0;overflow:visible;margin:25px 0 35px;padding:0}
.opening-hand .game-card{width:min(20vw,calc(47vh*744/1040));min-width:0;transform:rotate(var(--opening-fan));transform-origin:50% 110%;margin-left:-4.5%;box-shadow:0 6px 18px #000a}.opening-hand .game-card:first-child{margin-left:0}.opening-hand .game-card:hover,.opening-hand .game-card:focus-visible{transform:translateY(-12px) rotate(0);z-index:40}.opening-hand .card-stats{display:none}
.opening-scene .opening-hand{gap:0}.opening-scene .opening-hand .game-card{width:min(17vw,calc(45vh*744/1040));margin-left:-4.3vw}.opening-scene .opening-hand .game-card:first-child{margin-left:0}
.opening-actions{display:flex;gap:85px;justify-content:center}.game-table .opening-actions button{min-width:210px;border-radius:30px;font:bold 26px Georgia;padding:10px 25px;min-height:55px}.game-table .mulligan-button{background:linear-gradient(#48b4db,#1c577b);border-color:#91d9ee;box-shadow:0 0 12px #25b1e877}.opening-scene .mulligan-note{font-size:14px;text-shadow:0 2px 4px #000}.game-table:has(.opening-scene)>.player-hand{visibility:hidden}.opening-announcement>button:not(.view-battlefield){display:none}
.hand-card{touch-action:none;user-select:none}.hand-drag-source{opacity:.18!important;transform:none!important}.hand-drag-ghost{position:fixed;pointer-events:none;z-index:10000;width:210px;transform:translate(-50%,-40%) rotate(-3deg);filter:drop-shadow(0 18px 20px #000b)}.hand-drag-ghost .card-stats{display:none}.dragging-hand::after{content:'Release to cancel';position:absolute;bottom:0;left:0;right:0;height:180px;border-top:3px solid #7ceaff;background:linear-gradient(transparent,#298abe55);box-shadow:0 -10px 30px #59dfff33;pointer-events:none;z-index:40;text-align:center;padding-top:8px;color:#c2f4ff;font:18px Georgia}.dragging-hand.drag-play::after{content:'Release to play';border-color:#ffc369;color:#ffdb9b;box-shadow:0 -15px 40px #f4a34555;background:linear-gradient(transparent,#b8702a44)}
@media(min-width:651px){.player-hand .hand-card:hover,.player-hand .hand-card:focus-within{transform:translateY(-150px) rotate(0) scale(1.3)}}.dragging-hand::after{text-align:left;padding-left:32px}
.summoning-sick .card-visual:after{content:'';position:absolute;inset:16px 0 0;background:linear-gradient(135deg,#03071111,#04081266);pointer-events:none}.battlefield-card.flying{translate:0 -4px;filter:drop-shadow(0 8px 8px #0008)}.game-card:focus-visible{outline:2px solid #90dce9;outline-offset:3px}
.next-action{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:25px!important;border-radius:30px!important;min-height:57px!important}.next-action small{font:12px system-ui,sans-serif;line-height:1.2;color:#fce9cc;margin-top:3px}.priority-controls{background:transparent;border:0;box-shadow:none}.priority-controls>.decision-eyebrow,.priority-controls>h2{display:none}.priority-options:not([open]){align-self:flex-end;font-size:10px;opacity:.6}.auto-payment>button:not(:first-of-type),.auto-payment>p:not(.game-error){display:none}.auto-payment>h2{font-size:17px}.auto-payment>h2:after{content:'…'}
.floating-mana{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);display:flex;gap:6px;align-items:center;pointer-events:none}.floating-pip{position:relative;display:flex;align-items:center;gap:3px;text-shadow:0 2px 4px #000}.floating-pip img{width:25px;height:25px;filter:drop-shadow(0 0 6px #82d6eb)}.floating-pip b{font:18px Georgia;color:#edf8fa}
.game-table .zone-bar{display:flex;gap:10px;max-width:240px;flex-wrap:nowrap;align-items:center}.game-table .self .zone-bar{left:2%;bottom:6%}.game-table .zone-bar .zone-pile{position:relative;display:block;flex:0 0 55px;width:55px;height:76px;padding:0;border:2px solid #69675e;border-radius:4px;background:#162230;box-shadow:3px 2px #9b9785,5px 4px #182c35;transform:rotate(5deg);margin:0}.zone-pile img{width:100%;height:100%;object-fit:contain;display:block}.zone-pile .zone-sigil{display:grid;place-items:center;height:100%;font:27px Georgia;color:#b2a785}.zone-count{position:absolute;bottom:0;right:0;padding:0 4px;background:#08121cec;color:#f6edd9;font:bold 17px Georgia}.zone-label{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);font:9px system-ui,sans-serif;white-space:nowrap;text-shadow:0 2px 3px #000}.zone-pile:hover{z-index:2;transform:rotate(0)!important}.permanent-lane.auxiliary{left:calc(50% + 110px);right:24%;height:105px;justify-content:start;padding:10px;gap:5px}.self .auxiliary{top:74%}.opponent .auxiliary{top:10%}.auxiliary .battlefield-card{width:76px;min-width:76px}
.cast-mode-choice{padding:0!important;background:none!important;border:0!important;display:flex;flex-direction:column;align-items:center;gap:13px;width:min(25vw,280px);font:18px Georgia!important}.cast-mode-choice img{width:100%;border-radius:9px;box-shadow:0 5px 20px #000b}.cast-mode-choice:hover img{outline:3px solid #96e9ef;box-shadow:0 0 20px #58dced}.cast-mode-choice span{background:#16212a;padding:8px 14px;border:1px solid #aa956c;border-radius:4px}
.combat-connectors path.block{stroke:#e9bf72}.combat-connectors path.draft{stroke-dasharray:none}.attacker-selected .card-visual,.blocker-assigned .card-visual{outline-color:#ffc772!important;box-shadow:0 0 12px #ffb44b!important}
.mana-preview .card-visual{outline:3px solid #ffd977!important;box-shadow:0 0 8px 3px #f7c160,0 0 24px #eda33999!important}.exile-playable{position:absolute;right:20%;bottom:13%;display:flex;gap:8px;pointer-events:auto;z-index:22}.exile-playable .game-card{width:90px;min-width:90px}.combat-connectors path.target{stroke:#69ccec;stroke-width:3}
.game-table:is([data-decision=chooseAttackers],[data-decision=chooseBlockers]) .board-choice-controls h2{position:fixed;top:43%;left:50%;transform:translate(-50%,-50%);font:28px Georgia;white-space:nowrap;text-shadow:0 2px 5px #000}.game-table:is([data-decision=chooseAttackers],[data-decision=chooseBlockers]) .board-choice-controls>p:not(.game-error){display:none}.game-table:is([data-decision=chooseAttackers],[data-decision=chooseBlockers]) .board-choice-controls>.primary{border-radius:30px;font-size:25px;min-height:52px}.game-table[data-decision=chooseAttackers] .board-choice-controls.has-combat-selection>button:first-of-type{display:none}.game-table[data-decision=chooseAttackers] .board-choice-controls:not(.has-combat-selection)>button:nth-of-type(2){display:none}
.game-table[data-decision=chooseAttackers] .combat-selected:after,.battlefield-card.attacking:after{content:'';position:absolute;top:-18px;left:calc(50% - 12px);width:24px;height:19px;background:#ffc96b;clip-path:polygon(50% 0,100% 70%,75% 70%,75% 100%,25% 100%,25% 70%,0 70%);filter:drop-shadow(0 0 5px #ed9e40)}.game-table[data-decision=chooseBlockers] .combat-selected:after{content:'◇';position:absolute;top:-21px;left:calc(50% - 10px);font:bold 24px Georgia;color:#ffdc8c;text-shadow:0 0 7px #b97d32}
@media(prefers-reduced-motion:no-preference){.stack-object.arrived{animation:stack-arrive .23s ease-out}.battlefield-card.arrived{animation:permanent-arrive .2s ease-out}@keyframes stack-arrive{from{opacity:0;translate:20px 8px}to{opacity:1;translate:0 0}}@keyframes permanent-arrive{from{opacity:.6;scale:.96}to{opacity:1;scale:1}}}
@media(min-width:651px) and (max-width:1150px){.game-table{--hand-width:140px}}

.arena-ability-scene.cast-mode-scene .ability-tray{left:4%;width:92%;min-height:0}.cast-mode-scene .cast-mode-choice img{max-height:48vh;width:auto;max-width:100%;object-fit:contain}.opponent .exile-playable{bottom:auto;top:13%}

/* Astra audit: reserve distinct space for support permanents, replayable cards and phase controls. */
@media(min-width:651px){
 .turn-status{top:48px}
 .game-table .phase-ladder-button,.game-table .phase-ladder-button:hover{width:max-content;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
 .permanent-lane.support{left:57%;right:8%;height:250px;padding:24px 14px 28px 34px;gap:24px;overflow-y:hidden}
 .self .permanent-lane.support{top:55%}
 .opponent .permanent-lane.support{top:7%;right:18%;height:245px}
 .support .planeswalker-card,.opponent .support .planeswalker-card{width:144px;min-width:144px}
 .game-table .exile-playable{left:2%;right:auto;bottom:33%;max-width:20%;overflow-x:auto;padding:8px;gap:12px}
 .game-table .opponent .exile-playable{left:auto;right:2%;top:22%;bottom:auto;max-width:16%}
 .game-table .exile-playable .game-card{width:82px;min-width:82px}
 .opponent .permanent-lane.lands{top:max(13%,120px)}
}

.ability-rules .ability-mana{display:inline-block;width:17px;height:17px;vertical-align:-3px;margin-right:2px}.ability-rules:not(:has(.ability-loyalty)){display:block}

.game-table .turn-status{z-index:60}
.hover-preview.combat-hover .lb-reading{flex-direction:column;padding-top:0;gap:6px;max-height:calc(100vh - 160px);overflow:hidden}
.hover-preview.combat-hover .lb-reading-faces>img,.hover-preview.combat-hover .lb-reading-faces .lb-related img{width:calc((var(--hover-room) - 12px)/var(--reading-images));height:auto;max-height:48vh}
.hover-preview.combat-hover .lb-reading-help{width:var(--hover-room);max-height:20vh}

/* Optional costs: make the benefit a single question before exposing hand selection. */
.game-table .decision-rail.optional-cost{left:50%;right:auto;top:44%;bottom:auto;transform:translate(-50%,-50%);width:min(440px,80vw);padding:22px 26px;background:linear-gradient(#172832f5,#0a151ef5);border:1px solid #b69a65;border-radius:12px;box-shadow:0 12px 35px #000a;align-items:stretch;gap:12px;max-height:none}
.optional-cost .decision-eyebrow,.optional-cost .selection-range,.optional-cost>p:not(.optional-question):not(.optional-ability):not(.game-error),.optional-cost.clear-payoff .optional-ability{display:none}
.optional-cost h2{font:14px Georgia!important;letter-spacing:.06em;color:#d8c69e!important;text-align:center;margin:0!important}
.optional-cost .optional-question{margin:2px 0 6px!important;font-size:26px!important;line-height:1.25}
.hand-cost-selection .selection-range,.hand-cost-selection .optional-ability,.hand-cost-selection h2,.hand-cost-selection .decision-eyebrow,.hand-cost-selection>p:not(.hand-choice-count):not(.game-error){display:none}

/* Owner 17:51: larger Arena-proportioned tiles, clear land identity and readable type. */
@media(min-width:651px){
 .game-table{--field-card:clamp(122px,8.7vw,168px);--land-card:clamp(86px,6.8vw,130px)}
 .permanent-lane.creatures{height:calc(var(--field-card) / 1.13 + 48px);padding:22px 15px 24px}
 .opponent .permanent-lane.creatures{top:26%}.self .permanent-lane.creatures{top:51%}
 .permanent-lane.lands{height:calc(var(--land-card) / 1.3 + 56px);padding-top:28px}
 .permanent-lane.support,.opponent .permanent-lane.support{left:56%;right:3%;height:250px;padding:16px 12px 24px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:15px;overflow-y:auto;overflow-x:hidden}
 .opponent .permanent-lane.support{top:17%}.self .permanent-lane.support{top:54%}
 .walker-row{display:flex;width:100%;gap:12px;align-items:flex-start;flex-shrink:0;padding-right:6px}
 .support .walker-row .planeswalker-card,.opponent .support .walker-row .planeswalker-card{width:min(144px,calc((100% - (var(--walkers) - 1)*12px)/var(--walkers)));min-width:0;flex-shrink:1}
 .support-row{display:flex;gap:12px;flex-wrap:wrap;padding:8px 0}
 .support-row .battlefield-card{width:90px;min-width:90px}
 .multiple-walkers .creatures{left:10%;right:45%}
}
.game-table .card-title{font-family:'Segoe UI',sans-serif;font-weight:600;line-height:1.2}
.game-table .land-card .card-title{background:var(--land-header,#bdc3c1);color:#101416;border-bottom:1px solid #262c2d}
.game-table .card-stats{font-family:Constantia,'Palatino Linotype',serif;letter-spacing:0;line-height:1.1}
.game-table .turn-status strong,.game-table .decision-rail h2,.game-table .primary,.game-table .combat-primary{font-family:Constantia,'Palatino Linotype',serif}
.game-table .permanent-lane .mana-preview{translate:0 -16px;z-index:36;transition:translate .16s ease}
.game-table .mana-preview .card-visual{outline:3px solid #ffcc67;box-shadow:0 0 7px 3px #ffb442,0 0 23px #e8812999}
.land-group.payment-preview{width:calc(var(--land-card) + var(--payment-peek));margin-right:20px}
.land-group.payment-preview>.game-card{left:var(--payment-offset);pointer-events:auto}
.land-group.payment-preview .land-group-toggle{display:none}
.game-table .opponent .battlefield-card.attacking:after{top:auto;bottom:-20px;rotate:180deg}
.game-table .battlefield-card.attacking .card-visual{border-color:#d9a360}

@media(min-width:651px){
 .permanent-lane.support,.opponent .permanent-lane.support{height:280px;padding-top:12px;gap:9px}
 .support .walker-row .planeswalker-card,.opponent .support .walker-row .planeswalker-card{width:min(144px,calc(22vh * 744/1040),calc((100% - (var(--walkers) - 1)*12px)/var(--walkers)))}
 .support-row{width:100%;justify-content:center;padding:2px 0 6px}
 .support-row .battlefield-card{width:72px;min-width:72px}
 .game-table .opponent .exile-playable{top:7%;right:25%;max-width:17%;padding:4px}
 .game-table .opponent .exile-playable .game-card{width:48px;min-width:48px}
}

.generic-mana{display:inline-grid!important;place-items:center;border-radius:50%;background:#b9c0c2;color:#172024;font:bold 12px/17px sans-serif;vertical-align:0!important}

@media(min-width:651px){
 .self .permanent-lane.support{top:50%}
 .game-table:has(.stack-rail) .permanent-lane.support{left:52%;right:calc(2% + 270px)}
 .game-table:has(.stack-rail) .multiple-walkers .permanent-lane.creatures{right:49%}
}
