:root{
  color-scheme:dark;--bg:#070a13;--panel:rgba(15,20,36,.82);--panel-strong:rgba(12,17,31,.96);--line:rgba(255,255,255,.11);
  --text:#f4f6ff;--muted:#9aa4bf;--violet:#8b6dff;--cyan:#59d9ff;--gold:#ffc969;--danger:#ff6378;--good:#66e2aa;
  --shadow:0 28px 80px rgba(0,0,0,.48);--radius:22px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{overflow-x:hidden}button,input,select{font:inherit;color:inherit}button{border:0}img{display:block;max-width:100%}.hidden{display:none!important}
#ambient{position:fixed;inset:0;width:100%;height:100%;z-index:-3;background:radial-gradient(circle at 15% 20%,#241b54 0,transparent 30%),radial-gradient(circle at 85% 10%,#123950 0,transparent 28%),radial-gradient(circle at 50% 100%,#3b152f 0,transparent 35%),#070a13}.noise{position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.19;background-image:repeating-linear-gradient(0deg,transparent 0 2px,rgba(255,255,255,.014) 3px)}
.view{min-height:100vh}.glass-card,.glass-strip{background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(24px)}.glass-strip{background:rgba(10,14,27,.8)}
.eyebrow,.micro-label,.card-kicker{font-size:.65rem;letter-spacing:.19em;font-weight:900;color:#98a5c6}.micro-label{display:block}.button{border-radius:14px;padding:13px 16px;cursor:pointer;font-weight:850;transition:.18s transform,.18s filter,.18s border-color;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button:hover{transform:translateY(-2px);filter:brightness(1.08)}.button:disabled{opacity:.36;cursor:not-allowed;transform:none}.button small{display:block;font-weight:650;opacity:.66}.button-primary{background:linear-gradient(135deg,var(--violet),#3c84d6);box-shadow:0 14px 32px rgba(97,92,233,.26)}.button-secondary{background:linear-gradient(135deg,rgba(255,201,105,.2),rgba(255,111,81,.16));border:1px solid rgba(255,201,105,.35)}.button-ghost{background:rgba(255,255,255,.055);border:1px solid var(--line)}.compact{padding:9px 13px;font-size:.84rem}.field{width:100%;border:1px solid var(--line);border-radius:12px;background:rgba(4,8,18,.6);padding:12px 13px;outline:0;transition:border-color .18s,box-shadow .18s}.field:focus{border-color:rgba(89,217,255,.72);box-shadow:0 0 0 3px rgba(89,217,255,.1)}.field-label{font-size:.76rem;font-weight:800;color:#c8d0e5;display:block;margin:13px 0 7px}.icon-button,.tiny-button{cursor:pointer;border:1px solid var(--line);background:rgba(255,255,255,.055);border-radius:11px;min-width:36px;min-height:36px;display:inline-grid;place-items:center}.tiny-button{padding:8px 11px;font-size:.72rem;font-weight:850}.inline-actions,.header-actions{display:flex;align-items:center;gap:8px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-heading strong{display:block}.microcopy{color:var(--muted);font-size:.76rem;line-height:1.45}.error-line{min-height:22px;color:#ff9cab;font-weight:750}.source-note{margin-top:22px;text-align:center;color:#727d99;font-size:.7rem}

/* Lobby */
.lobby-view{display:grid;place-items:center;padding:42px 18px}.hero-shell{width:min(1080px,100%)}.landing-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}.brand-mark{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;font-weight:1000;background:linear-gradient(145deg,#7c5cff,#2e88c6);box-shadow:0 18px 42px rgba(74,91,215,.32);border:1px solid rgba(255,255,255,.2)}h1{margin:1px 0 0;font-size:clamp(2.2rem,6vw,5.2rem);line-height:.94;letter-spacing:-.055em}h1 span{background:linear-gradient(90deg,#9f8aff,#5ce0ff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{max-width:810px;font-size:1.02rem;line-height:1.65;color:#b8c2d9;margin:19px 0 24px}.lobby-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.primary-card,.join-card{border-radius:var(--radius);padding:22px}.button-stack{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.room-field{text-transform:uppercase;letter-spacing:.24em;font-weight:950;font-size:1.2rem}.join-card .button{width:100%;margin-top:12px}.deck-choice{border-radius:var(--radius);padding:17px 20px;margin:0 0 16px}.deck-choice-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.deck-choice-head strong,.deck-choice-head small{display:block}.deck-choice-head small{margin-top:4px;color:var(--muted)}.deck-select{min-width:250px}.selected-commander{display:flex;align-items:center;gap:13px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.selected-commander img,.commander-thumb{width:64px;height:48px;object-fit:cover;border-radius:10px;background:linear-gradient(135deg,#342b57,#153f55);border:1px solid var(--line)}.selected-commander strong,.selected-commander span{display:block}.selected-commander span{font-size:.78rem;color:var(--muted);margin-top:3px}.share-panel{margin-top:16px;border:1px solid rgba(89,217,255,.23);border-radius:18px;padding:16px;background:rgba(20,55,78,.24)}.share-links{display:grid;gap:8px;margin-top:10px}.share-link{display:flex;justify-content:space-between;gap:10px;align-items:center;background:rgba(0,0,0,.2);border:1px solid var(--line);padding:9px;border-radius:11px}.share-link code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c9f3ff}

/* Deck editor */
.deck-view{padding:10px}.deck-header{height:68px;border-radius:18px;padding:10px 14px;display:grid;grid-template-columns:auto auto minmax(220px,1fr) auto;align-items:center;gap:14px}.deck-header>div:nth-child(2) strong{display:block}.deck-workspace{height:calc(100vh - 88px);display:grid;grid-template-columns:minmax(310px,.9fr) minmax(340px,1.15fr) minmax(320px,.95fr);gap:10px;margin-top:10px}.catalog-panel,.card-inspector,.deck-list-panel{border-radius:20px;padding:15px;min-height:0;overflow:hidden}.catalog-panel,.deck-list-panel{display:flex;flex-direction:column}.search-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:13px 0 8px}.catalog-results{overflow:auto;display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-right:4px}.catalog-card{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;text-align:left;background:rgba(255,255,255,.045);border:1px solid var(--line);padding:7px;border-radius:13px;cursor:pointer}.catalog-card:hover,.catalog-card.selected{border-color:rgba(89,217,255,.55);background:rgba(89,217,255,.07)}.catalog-card img{width:56px;height:78px;border-radius:7px;object-fit:cover;background:#1b2134}.catalog-card strong,.catalog-card span{display:block}.catalog-card span{font-size:.7rem;color:var(--muted);margin-top:4px}.catalog-card em{font-style:normal;font-size:.62rem;padding:4px 6px;border-radius:99px;background:rgba(255,255,255,.08)}.card-inspector{overflow:auto}.inspector-empty{min-height:100%;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;color:var(--muted)}.placeholder-card{width:180px;aspect-ratio:.716;border-radius:15px;background:linear-gradient(145deg,#2d3152,#142432);border:1px solid var(--line);box-shadow:0 24px 50px rgba(0,0,0,.35)}#inspectorContent{display:grid;grid-template-columns:minmax(180px,40%) 1fr;gap:18px;align-items:start}.inspector-image{width:100%;border-radius:15px;box-shadow:0 22px 55px rgba(0,0,0,.42);background:#171c2c}.inspector-copy h2{font-size:clamp(1.45rem,2.5vw,2.35rem);margin:6px 0 8px;letter-spacing:-.035em}.type-line{font-size:.76rem;color:#b8c5dc;font-weight:800}.inspector-copy p,.selected-card-panel p{white-space:pre-line;line-height:1.55;color:#d6ddef;font-size:.88rem}.keyword-list{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.keyword{padding:5px 8px;border-radius:99px;font-size:.65rem;font-weight:850;background:rgba(102,226,170,.11);border:1px solid rgba(102,226,170,.28);color:#a9f7d1}.keyword.manual{background:rgba(255,201,105,.09);border-color:rgba(255,201,105,.27);color:#ffdda0}.automation-note{border-radius:12px;padding:10px;font-size:.74rem;line-height:1.45;background:rgba(255,255,255,.045);border:1px solid var(--line)}.inspector-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.deck-meter{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}.deck-meter strong{font-size:1.4rem}.meter{height:8px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden}.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--violet),var(--cyan));transition:width .2s}.validation-box{margin:12px 0;padding:10px;border-radius:11px;font-size:.74rem;line-height:1.4;border:1px solid var(--line)}.validation-box.good{border-color:rgba(102,226,170,.35);color:#aff4d4;background:rgba(102,226,170,.08)}.validation-box.bad{border-color:rgba(255,99,120,.4);color:#ffabb8;background:rgba(255,99,120,.08)}.validation-box.neutral{color:var(--muted)}.commander-slot{min-height:78px;border:1px dashed rgba(255,201,105,.45);border-radius:14px;padding:10px;background:rgba(255,201,105,.055);display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center}.commander-slot.empty{display:block}.commander-slot img{width:58px;height:58px;object-fit:cover;border-radius:9px}.commander-slot strong,.commander-slot span{display:block}.deck-list-head{display:flex;justify-content:space-between;align-items:center;margin:14px 0 8px}.identity-pips{display:flex;gap:4px}.pip{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.61rem;font-weight:950;border:1px solid rgba(255,255,255,.2)}.pip.W{background:#e9dfb8;color:#222}.pip.U{background:#397bc4}.pip.B{background:#37313d}.pip.R{background:#bd4d3e}.pip.G{background:#3b8156}.deck-entries{overflow:auto;display:flex;flex-direction:column;gap:5px;padding-right:4px}.deck-entry{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;background:rgba(255,255,255,.038);border:1px solid rgba(255,255,255,.07);padding:5px;border-radius:10px}.deck-entry img{width:42px;height:34px;object-fit:cover;border-radius:6px}.deck-entry strong{font-size:.76rem}.qty-controls{display:flex;align-items:center;gap:5px}.qty-controls button{width:25px;height:25px;border-radius:7px;background:rgba(255,255,255,.07);cursor:pointer}.qty-controls b{min-width:20px;text-align:center;font-size:.72rem}.switch{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800;color:#b8c2d8}.switch input{display:none}.switch span{width:36px;height:20px;border-radius:99px;background:#2a3044;position:relative;border:1px solid var(--line)}.switch span:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;left:2px;top:2px;background:#bdc7dc;transition:.18s}.switch input:checked+span{background:#4c68b6}.switch input:checked+span:after{left:18px;background:white}.switch em{font-style:normal}.compact-switch em{font-size:.65rem}

/* Game */
.game-view{height:100vh;overflow:hidden;padding:7px}.game-header{height:66px;border-radius:18px;padding:8px 12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:relative;z-index:30}.room-meta,.phase-orbit{display:flex;align-items:center;gap:10px}.room-meta strong,.phase-orbit strong{display:block}.phase-orbit{justify-self:center}.turn-badge{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-weight:950;background:linear-gradient(145deg,#7b5eff,#397ec4)}.priority-pulse{display:flex;align-items:center;gap:7px;color:#778199}.priority-pulse i{width:10px;height:10px;border-radius:50%;background:#44506a}.priority-pulse.active{color:#b9f3ff}.priority-pulse.active i{background:var(--cyan);box-shadow:0 0 0 6px rgba(89,217,255,.12),0 0 24px var(--cyan);animation:pulse 1.5s infinite}@keyframes pulse{50%{transform:scale(.72);opacity:.72}}.game-header .header-actions{justify-self:end}.game-shell{height:calc(100vh - 80px);position:relative;overflow:hidden}.board{height:calc(100% - 78px);position:relative;overflow:hidden;padding:42px 130px 120px;transform-style:preserve-3d;background:radial-gradient(ellipse at center,rgba(71,84,125,.19),transparent 60%)}.board:before{content:"";position:absolute;inset:7% 6% 3%;border-radius:48px;background:linear-gradient(180deg,rgba(95,72,144,.1),rgba(14,51,63,.08));border:1px solid rgba(255,255,255,.05);transform:perspective(800px) rotateX(52deg) scale(1.15);box-shadow:inset 0 0 120px rgba(0,0,0,.52)}.battlefield{position:relative;z-index:3;min-height:29%;display:flex;align-items:center;justify-content:center;gap:clamp(5px,1vw,14px);padding:6px}.battlefield-opponent{transform:scale(.82);transform-origin:center top}.board-rift{height:25px;position:relative;z-index:4;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;color:#68738f;font-size:.62rem;letter-spacing:.15em}.board-rift span{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent)}.player-ribbon{position:absolute;left:14px;z-index:8;display:flex;align-items:center;gap:10px}.opponent-ribbon{top:8px}.player-ribbon-self{bottom:78px}.avatar{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;font-weight:950;background:linear-gradient(145deg,#493b7c,#20586c);border:1px solid var(--line);box-shadow:0 14px 28px rgba(0,0,0,.35)}.player-copy strong,.player-copy span{display:block}.player-copy span{font-size:.68rem;color:var(--muted);margin-top:3px}.life-pill{display:inline-flex!important;align-items:center;gap:4px;color:#ffadbb!important;font-size:.77rem!important;font-weight:950}.zone-cluster{position:absolute;right:14px;z-index:7;display:flex;gap:7px}.opponent-zones{top:10px}.player-zones{bottom:80px}.zone-cluster>div{min-width:52px;min-height:43px;border:1px solid var(--line);background:rgba(10,14,28,.7);border-radius:10px;padding:5px;text-align:center}.zone-cluster span{display:block;font-size:.48rem;letter-spacing:.12em;color:#7f8aa5}.zone-cluster b{font-size:.78rem}.mini-zone{display:flex;justify-content:center}.mini-zone .game-card{width:38px;border-radius:5px;padding:1px}.opponent-hand{position:absolute;top:7px;left:50%;transform:translateX(-50%);z-index:6;display:flex}.card-back-mini{width:36px;height:50px;margin-left:-15px;border-radius:6px;background:radial-gradient(circle,#7058c8 0 12%,#171a32 13% 33%,#5d4aa5 34% 39%,#0c1020 41%);border:1px solid var(--line);box-shadow:0 7px 15px rgba(0,0,0,.35)}
.game-card{width:clamp(86px,7.5vw,122px);aspect-ratio:.716;border-radius:10px;padding:3px;background:#111522;border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 26px rgba(0,0,0,.38);position:relative;transition:.18s transform,.18s box-shadow;overflow:hidden}.game-card img{width:100%;height:100%;object-fit:cover;border-radius:7px;background:linear-gradient(145deg,#303653,#162532)}.game-card.is-legal{cursor:pointer;box-shadow:0 0 0 2px var(--cyan),0 0 30px rgba(89,217,255,.28),0 14px 27px rgba(0,0,0,.4)}.game-card.is-legal:hover{transform:translateY(-8px) scale(1.04);z-index:12}.game-card.selected{transform:translateY(-12px) scale(1.055);box-shadow:0 0 0 3px var(--gold),0 0 40px rgba(255,201,105,.35);z-index:13}.game-card.tapped{transform:rotate(90deg) scale(.82);margin:0 12px}.game-card.attacking:after{content:"ATTACCA";position:absolute;left:50%;bottom:3px;transform:translateX(-50%);background:#e94f66;color:white;padding:3px 6px;border-radius:99px;font-size:.46rem;font-weight:950}.card-state-badges{position:absolute;top:5px;left:5px;right:5px;display:flex;justify-content:space-between;pointer-events:none}.card-state-badges span{background:rgba(7,10,19,.86);border:1px solid rgba(255,255,255,.18);font-size:.44rem;padding:3px 5px;border-radius:99px}.hand-zone{position:absolute;z-index:10;bottom:-35px;left:50%;transform:translateX(-50%);width:min(900px,80vw);height:170px;display:flex;justify-content:center;align-items:flex-start;pointer-events:none}.hand-zone .game-card{pointer-events:auto;margin-left:clamp(-31px,-2.2vw,-16px);transform-origin:50% 125%}.hand-zone .game-card:nth-child(odd){transform:rotate(-2deg)}.hand-zone .game-card:nth-child(even){transform:rotate(2deg)}.hand-zone .game-card.is-legal:hover,.hand-zone .game-card.selected{transform:translateY(-50px) scale(1.08) rotate(0)}.stack-rail{position:absolute;right:16px;top:95px;z-index:12;display:flex;flex-direction:column;gap:7px}.stack-item{width:110px;border-radius:12px;padding:9px;background:rgba(25,31,55,.92);border:1px solid var(--line);font-size:.68rem}.stack-item strong,.stack-item span{display:block}.stack-item span{color:var(--muted);margin-top:3px}.action-dock{height:70px;margin:0 6px 5px;border-radius:17px;display:grid;grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr);align-items:center;gap:10px;padding:8px 12px;position:relative;z-index:20}.selection-info strong{display:block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-buttons{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.action-button{border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:rgba(255,255,255,.07);cursor:pointer;font-size:.75rem;font-weight:850}.action-button.primary{background:linear-gradient(135deg,#765bff,#3c83cb)}.action-button.warn{border-color:rgba(255,201,105,.42)}.pass-button{justify-self:end;min-width:145px;border-radius:13px;padding:12px 15px;cursor:pointer;font-weight:950;background:linear-gradient(135deg,#f0c05a,#dd694f);color:#1b120d;box-shadow:0 12px 25px rgba(221,105,79,.23)}.pass-button:disabled{opacity:.3;cursor:not-allowed}.pass-button span{font-size:.55rem;margin-left:7px;opacity:.6}.game-log,.rules-hud{position:absolute;z-index:35;top:5px;bottom:80px;width:min(390px,calc(100vw - 20px));border-radius:18px;padding:14px;transition:.22s transform}.game-log{right:5px;transform:translateX(calc(100% + 20px))}.game-log.open{transform:translateX(0)}.rules-hud{left:5px;transform:translateX(calc(-100% - 20px));overflow:auto}.rules-hud.open{transform:translateX(0)}.log-entries{height:calc(100% - 42px);overflow:auto;margin-top:10px;display:flex;flex-direction:column;gap:6px}.log-entry{border-left:2px solid #5b657d;background:rgba(255,255,255,.035);padding:8px 9px;border-radius:0 9px 9px 0;color:#bac3d8;font-size:.74rem}.log-entry.action{border-color:var(--cyan);color:#dcf7ff}.log-entry.danger{border-color:var(--danger);color:#ffd4dc}.log-entry.rules{border-color:var(--gold);color:#ffe7b8}.coverage-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.coverage-section h4{margin:0 0 8px}.coverage-section p{font-size:.75rem;color:var(--muted);line-height:1.5}.selected-card-panel{position:absolute;z-index:26;right:10px;bottom:82px;width:min(520px,calc(100vw - 20px));max-height:65vh;overflow:auto;border-radius:18px;padding:12px;display:grid;grid-template-columns:145px 1fr;gap:12px}.selected-card-panel>button{position:absolute;right:8px;top:8px;z-index:2}.selected-card-panel>img{width:145px;border-radius:11px;background:#151b2c}.selected-card-panel h3{margin:7px 35px 5px 0;font-size:1.3rem}.automation-chip{display:inline-block;padding:4px 7px;border-radius:99px;font-size:.58rem;font-weight:900;background:rgba(102,226,170,.12);color:#a7f4cf}.automation-chip.manual{background:rgba(255,201,105,.12);color:#ffdaa0}.combat-panel{position:absolute;left:50%;top:50%;z-index:22;transform:translate(-50%,-50%);width:min(620px,86vw);max-height:55vh;overflow:auto;padding:15px;border-radius:17px;background:rgba(8,11,23,.96);border:1px solid rgba(255,201,105,.35);box-shadow:0 30px 90px rgba(0,0,0,.65)}.block-row{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}.block-row select{background:#11172a;border:1px solid var(--line);border-radius:9px;padding:8px}.modal-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.68);backdrop-filter:blur(10px)}.target-modal{width:min(650px,100%);border-radius:20px;padding:17px}.target-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-top:14px}.target-option{border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.055);padding:12px;cursor:pointer;text-align:left}.target-option:hover{border-color:var(--cyan)}.target-option strong,.target-option span{display:block}.toast{position:fixed;z-index:100;left:50%;bottom:90px;transform:translateX(-50%);padding:10px 14px;border-radius:11px;background:#171d31;border:1px solid var(--line);box-shadow:var(--shadow);font-weight:750;max-width:min(640px,90vw);text-align:center}

@media(max-width:1100px){.deck-workspace{grid-template-columns:330px 1fr}.deck-list-panel{grid-column:1/-1;height:330px}.deck-entries{display:grid;grid-template-columns:repeat(2,1fr)}.board{padding-left:85px;padding-right:85px}.zone-cluster{display:none}}
@media(max-width:800px){.lobby-grid{grid-template-columns:1fr}.button-stack{grid-template-columns:1fr}.deck-choice-head{align-items:stretch;flex-direction:column}.inline-actions{align-items:stretch}.deck-select{min-width:0}.deck-header{height:auto;grid-template-columns:auto 1fr}.deck-header>.field{grid-column:1/-1}.deck-header .header-actions{grid-column:1/-1;justify-self:stretch}.deck-workspace{height:auto;display:block}.catalog-panel,.card-inspector,.deck-list-panel{height:auto;min-height:420px;margin-top:10px}.deck-view{overflow:auto}.game-header{grid-template-columns:1fr auto}.game-header .phase-orbit{justify-self:end}.game-header .header-actions{display:none}.board{padding-left:18px;padding-right:18px}.player-ribbon{left:4px}.stack-rail{right:4px}.action-dock{grid-template-columns:1fr auto}.selection-info{display:none}.selected-card-panel{grid-template-columns:110px 1fr}.selected-card-panel>img{width:110px}}
@media(max-width:560px){.lobby-view{padding:24px 12px}.landing-header{grid-template-columns:auto 1fr}.landing-header .button{grid-column:1/-1}.inline-actions{flex-direction:column}.deck-workspace{margin-top:4px}.catalog-card{grid-template-columns:46px 1fr}.catalog-card img{width:46px;height:64px}.catalog-card em{display:none}#inspectorContent{display:block}.inspector-image{width:72%;margin:0 auto 16px}.deck-entries{display:flex}.game-header{height:58px;margin:0}.room-meta .tiny-button,.phase-orbit>div:not(.priority-pulse),.priority-pulse span{display:none}.game-shell{height:calc(100vh - 66px)}.board{height:calc(100% - 63px);padding-bottom:85px}.action-dock{height:58px}.game-card{width:78px}.battlefield{justify-content:flex-start;overflow-x:auto}.opponent-hand{display:none}.player-ribbon-self{bottom:65px}.hand-zone{bottom:-43px;width:100vw}.selected-card-panel{grid-template-columns:1fr}.selected-card-panel>img{width:120px;margin:auto}.pass-button{min-width:105px;padding:10px}.action-buttons{max-width:55vw;overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap}}

.coverage-list { list-style: none; display: grid; gap: .52rem; padding: 0; margin: .65rem 0 0; }
.coverage-list li { display: grid; grid-template-columns: 10px 1fr; align-items: start; gap: .55rem; color: var(--muted); font-size: .82rem; line-height: 1.35; }
.coverage-dot { width: 8px; height: 8px; border-radius: 999px; margin-top: .2rem; box-shadow: 0 0 12px currentColor; }
.coverage-dot.native { color: #65f2b2; background: currentColor; }
.coverage-dot.partial { color: #ffd278; background: currentColor; }
.coverage-dot.manual { color: #ff8095; background: currentColor; }
.coverage-section small { display: block; margin-top: .6rem; color: var(--muted); font-size: .7rem; line-height: 1.4; }

/* QoL 0.3 plus CR 2026-04 kernel UI: import, phase timeline, readable stack, battlefield lanes and mandatory choices */
.import-accent{border-color:rgba(89,217,255,.38);background:rgba(89,217,255,.08);color:#c9f6ff}.import-modal{width:min(980px,96vw);max-height:92vh;overflow:auto;border-radius:22px;padding:18px}.import-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:15px}.import-pane{min-height:360px;border:1px solid var(--line);border-radius:17px;padding:16px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;gap:10px}.import-pane h3{margin:0;font-size:1.25rem}.import-pane .button{margin-top:auto}.import-textarea{min-height:230px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;line-height:1.48}.import-tip{margin-top:12px;padding:12px;border-radius:12px;border:1px solid rgba(255,201,105,.25);background:rgba(255,201,105,.06)}.import-tip strong,.import-tip span{display:block}.import-tip span{margin-top:4px;color:var(--muted);font-size:.74rem;line-height:1.45}

.phase-rail{height:52px;margin:6px 0;border-radius:15px;padding:5px 7px;display:flex;align-items:stretch;gap:4px;position:relative;z-index:29;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.phase-step{position:relative;flex:1 0 58px;min-width:58px;border:1px solid transparent;border-radius:10px;background:transparent;color:#68738f;cursor:pointer;padding:6px 4px 5px;display:grid;grid-template-columns:8px 1fr;grid-template-rows:1fr auto;align-items:center;column-gap:5px;text-align:left;transition:.18s background,.18s border-color,.18s color,.18s transform}.phase-step i{grid-row:1/3;width:7px;height:7px;border-radius:50%;background:#39445c;box-shadow:0 0 0 3px rgba(255,255,255,.025)}.phase-step span{font-size:.59rem;font-weight:950;letter-spacing:.035em;white-space:nowrap}.phase-step em{font-style:normal;font-size:.43rem;font-weight:900;letter-spacing:.09em;color:#56617a}.phase-step.complete{color:#8995ad}.phase-step.complete i{background:#60708c}.phase-step.current{color:#f5fbff;border-color:rgba(89,217,255,.5);background:linear-gradient(135deg,rgba(89,217,255,.17),rgba(139,109,255,.11));transform:translateY(-1px);box-shadow:0 7px 20px rgba(51,139,190,.16)}.phase-step.current i{background:var(--cyan);box-shadow:0 0 0 4px rgba(89,217,255,.12),0 0 17px var(--cyan)}.phase-step.current em{color:#bcefff}.phase-step.has-stop{border-color:rgba(255,201,105,.38)}.phase-step.has-stop i{background:var(--gold);box-shadow:0 0 0 4px rgba(255,201,105,.1),0 0 14px rgba(255,201,105,.55)}.phase-step.has-stop em{color:#ffd78f}.phase-step:hover{background:rgba(255,255,255,.06);color:#dce8fa}
.game-shell{height:calc(100vh - 138px)}

.stack-count-button{border:1px solid transparent;background:transparent;color:#68738f;font-size:.62rem;font-weight:950;letter-spacing:.15em;cursor:pointer;border-radius:99px;padding:5px 11px}.stack-count-button.active{color:#d7f6ff;border-color:rgba(89,217,255,.35);background:rgba(89,217,255,.09);box-shadow:0 0 24px rgba(89,217,255,.14)}
.game-status-banner{position:absolute;z-index:11;left:50%;top:50%;transform:translate(-50%,-50%);min-width:260px;max-width:min(520px,58vw);padding:8px 14px;border-radius:13px;text-align:center;background:rgba(7,11,22,.86);border:1px solid var(--line);box-shadow:0 16px 42px rgba(0,0,0,.4);backdrop-filter:blur(16px);pointer-events:none}.game-status-banner strong,.game-status-banner small{display:block}.game-status-banner strong{font-size:.82rem}.game-status-banner small{font-size:.64rem;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-status-banner.decision{border-color:rgba(89,217,255,.43);box-shadow:0 0 34px rgba(89,217,255,.12),0 16px 42px rgba(0,0,0,.4)}.game-status-banner.stack{border-color:rgba(139,109,255,.55);background:linear-gradient(135deg,rgba(47,35,90,.91),rgba(8,19,33,.91))}.game-status-banner.combat{border-color:rgba(255,99,120,.48);background:linear-gradient(135deg,rgba(78,25,43,.91),rgba(21,13,31,.91))}
.phase-transition{position:absolute;z-index:60;left:50%;top:43%;transform:translate(-50%,-42%) scale(.94);min-width:min(430px,80vw);padding:18px 28px;border-radius:20px;text-align:center;background:rgba(7,10,20,.94);border:1px solid rgba(89,217,255,.38);box-shadow:0 30px 90px rgba(0,0,0,.68),0 0 55px rgba(89,217,255,.12);backdrop-filter:blur(22px);opacity:0;pointer-events:none;transition:.22s opacity,.22s transform}.phase-transition.visible{display:block!important;opacity:1;transform:translate(-50%,-50%) scale(1)}.phase-transition strong,.phase-transition small{display:block}.phase-transition strong{font-size:clamp(1rem,2.2vw,1.65rem);letter-spacing:.02em;margin-top:5px}.phase-transition small{color:var(--muted);margin-top:6px}.phase-transition.stack{border-color:rgba(139,109,255,.55);box-shadow:0 30px 90px rgba(0,0,0,.68),0 0 65px rgba(139,109,255,.2)}

/* Battlefield grouping: creatures in the center, lands near their owner, support permanents on the sides. */
.board{padding:37px 102px 112px}.battlefield{display:block;min-height:30%;padding:2px 4px;overflow:visible}.battlefield-opponent{transform:none}.field-layout{width:100%;height:100%;min-height:150px;display:grid;grid-template-columns:minmax(82px,16%) minmax(0,1fr) minmax(82px,16%);gap:7px;align-items:stretch}.field-center{min-width:0;display:flex;flex-direction:column;gap:5px}.field-opponent .field-center{flex-direction:column-reverse}.field-support{min-width:0}.permanent-lane{position:relative;height:100%;min-height:66px;border:1px solid rgba(255,255,255,.055);border-radius:13px;background:rgba(8,13,26,.28);padding:17px 5px 4px;overflow:visible}.field-center .permanent-lane{min-height:72px}.permanent-lane.creatures{flex:1.15;border-color:rgba(255,99,120,.09);background:linear-gradient(180deg,rgba(94,35,52,.08),rgba(8,13,26,.25))}.permanent-lane.lands{flex:.85;border-color:rgba(102,226,170,.09);background:linear-gradient(180deg,rgba(35,86,67,.07),rgba(8,13,26,.25))}.permanent-lane.artifacts{border-color:rgba(89,217,255,.09);background:linear-gradient(180deg,rgba(45,80,100,.08),rgba(8,13,26,.25))}.permanent-lane.enchantments{border-color:rgba(139,109,255,.11);background:linear-gradient(180deg,rgba(72,53,118,.09),rgba(8,13,26,.25))}.lane-label{position:absolute;z-index:1;top:4px;left:7px;right:7px;display:flex;justify-content:space-between;color:#707d98;font-size:.44rem;font-weight:950;letter-spacing:.12em;pointer-events:none}.lane-label b{font-size:.49rem;color:#a2aec7}.lane-cards{height:100%;min-height:46px;display:flex;justify-content:center;align-items:center;align-content:center;gap:clamp(3px,.55vw,8px);flex-wrap:wrap;overflow:visible}.permanent-lane.is-empty .lane-cards:after{content:"";width:42%;height:1px;border-top:1px dashed rgba(255,255,255,.09)}.battlefield .game-card{width:clamp(58px,5vw,88px);border-radius:8px}.field-support .game-card{width:clamp(52px,4.4vw,76px)}.field-support .lane-cards{gap:3px}.battlefield .game-card.tapped{margin:0 8px;transform:rotate(90deg) scale(.76)}.battlefield .game-card.is-legal:hover{transform:translateY(-5px) scale(1.035)}.battlefield .game-card.tapped.is-legal:hover{transform:rotate(90deg) scale(.8)}

.stack-rail{right:13px;top:78px;width:min(300px,27vw);max-height:calc(100% - 170px);overflow:auto;gap:7px;padding:7px;border-radius:15px;transform:translateX(calc(100% - 48px));transition:.2s transform,.2s background;pointer-events:none}.stack-rail.has-items{pointer-events:auto;background:rgba(7,10,20,.52);border:1px solid rgba(139,109,255,.24);backdrop-filter:blur(15px)}.stack-rail.has-items:hover,.stack-rail.expanded{transform:translateX(0);background:rgba(7,10,20,.92);box-shadow:0 24px 60px rgba(0,0,0,.5)}.stack-rail-head{padding:5px 7px 7px}.stack-rail-head strong{font-size:.72rem}.stack-item{width:100%;min-height:74px;display:grid;grid-template-columns:25px 46px 1fr;gap:7px;align-items:center;text-align:left;cursor:pointer;padding:7px;position:relative;background:rgba(27,31,56,.94)}.stack-item.top{border-color:rgba(89,217,255,.52);box-shadow:0 0 24px rgba(89,217,255,.12)}.stack-item img{width:46px;height:64px;object-fit:cover;border-radius:6px;background:#161c2e}.stack-order{width:23px;height:23px;border-radius:8px;display:grid!important;place-items:center;background:rgba(139,109,255,.22);color:#d9ceff!important;font-size:.52rem!important;font-weight:950}.stack-copy{min-width:0}.stack-copy strong,.stack-copy small,.stack-copy em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack-copy strong{font-size:.72rem}.stack-copy small{font-size:.58rem;color:var(--muted);margin-top:3px}.stack-copy em{font-style:normal;font-size:.56rem;color:#9edff0;margin-top:4px}

@media(max-width:1000px){.phase-step{flex-basis:55px;min-width:55px}.board{padding-left:72px;padding-right:72px}.field-layout{grid-template-columns:minmax(64px,14%) minmax(0,1fr) minmax(64px,14%)}.stack-rail{width:245px}.game-status-banner{max-width:50vw}}
@media(max-width:800px){.import-grid{grid-template-columns:1fr}.import-pane{min-height:300px}.phase-rail{height:46px}.phase-step{min-width:51px;padding:4px 3px}.phase-step span{font-size:.52rem}.phase-step em{display:none}.game-shell{height:calc(100vh - 124px)}.board{padding:30px 17px 98px}.field-layout{grid-template-columns:60px minmax(0,1fr) 60px;gap:4px}.lane-label span{font-size:.38rem}.field-support .game-card{width:49px}.battlefield .game-card{width:60px}.game-status-banner{min-width:210px;max-width:62vw;padding:6px 10px}.game-status-banner small{display:none}.stack-rail{top:60px;width:220px;transform:translateX(calc(100% - 40px))}}
@media(max-width:560px){.import-modal{padding:13px}.import-pane{padding:12px}.phase-rail{margin:3px 0;height:42px}.phase-step{min-width:47px;grid-template-columns:6px 1fr}.phase-step i{width:6px;height:6px}.phase-step span{font-size:.47rem}.game-shell{height:calc(100vh - 107px)}.board{height:calc(100% - 60px);padding:22px 3px 76px}.field-layout{grid-template-columns:47px minmax(0,1fr) 47px;gap:2px;min-height:125px}.permanent-lane{border-radius:8px;padding:13px 2px 2px;min-height:52px}.field-center{gap:2px}.lane-label{top:3px;left:4px;right:4px}.lane-label span{max-width:34px;overflow:hidden;text-overflow:ellipsis}.battlefield .game-card{width:48px}.field-support .game-card{width:41px}.battlefield .game-card.tapped{margin:0 5px}.game-status-banner{top:49%;min-width:180px;max-width:65vw}.game-status-banner strong{font-size:.68rem}.phase-transition{top:45%;padding:14px 18px}.stack-rail{display:none}}
.choice-explainer{font-size:.75rem;color:var(--muted);line-height:1.45}
.damage-assignment-grid{display:grid;gap:8px;margin:12px 0}.damage-assignment-grid label{display:grid;grid-template-columns:1fr 90px;gap:10px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.045)}.damage-assignment-grid input{width:100%;padding:8px;border-radius:8px;border:1px solid var(--line);background:#11172a;color:var(--text);font-weight:900}.damage-assignment-total{display:flex;justify-content:space-between;align-items:center;margin:9px 0 12px;color:var(--muted)}.damage-assignment-total strong{color:var(--good);font-size:1.05rem}.damage-assignment-total strong.invalid{color:var(--danger)}

/* v0.5: stack always visible, private library browser and fast raster loading */
.stack-rail{transform:none!important;pointer-events:auto!important;background:rgba(7,10,20,.9)!important;border:1px solid rgba(139,109,255,.28);backdrop-filter:blur(15px);box-shadow:0 18px 48px rgba(0,0,0,.4);min-height:118px}
.stack-rail:hover,.stack-rail.expanded{transform:none!important}
.stack-empty{min-height:76px;display:grid;grid-template-columns:16px 1fr;grid-template-rows:auto auto;column-gap:8px;align-content:center;padding:9px;border:1px dashed rgba(255,255,255,.11);border-radius:11px;color:var(--muted)}
.stack-empty i{grid-row:1/3;width:10px;height:10px;margin-top:3px;border-radius:50%;background:rgba(139,109,255,.42);box-shadow:0 0 18px rgba(139,109,255,.38)}
.stack-empty strong{font-size:.72rem;color:#d9def1}.stack-empty span{font-size:.57rem;line-height:1.35;margin-top:3px}
.stack-item.resolving{border-color:rgba(255,201,105,.7);box-shadow:0 0 28px rgba(255,201,105,.18)}
.stack-item.resolving .stack-order{background:rgba(255,201,105,.24);color:#ffe0a2!important}
.library-search-modal{width:min(1180px,97vw)!important;height:min(860px,94vh);display:grid;grid-template-rows:auto minmax(0,1fr);padding:16px!important}
.library-search-modal .target-options{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;margin-top:12px}
.library-search-summary{display:flex;gap:8px;flex-wrap:wrap;padding:0 2px 9px}
.library-search-summary span{padding:7px 10px;border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,.045);font-size:.68rem;color:var(--muted)}
.library-search-summary b{color:#f2f5ff}
.library-browser{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));align-content:start;gap:9px;padding:4px 5px 12px 2px;scrollbar-gutter:stable}
.library-card{min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:6px;background:rgba(255,255,255,.035);display:grid;grid-template-rows:auto auto auto;gap:5px;text-align:left;position:relative;transition:.14s transform,.14s border-color,.14s opacity;cursor:pointer}
.library-card img{display:block;width:100%;aspect-ratio:488/680;object-fit:cover;border-radius:8px;background:linear-gradient(145deg,#1a2033,#0d1220)}
.library-card span,.library-card strong,.library-card small{display:block;min-width:0}.library-card strong{font-size:.66rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-card small{font-size:.52rem;color:var(--muted);line-height:1.25;min-height:2.4em;overflow:hidden}.library-card em{font-style:normal;font-size:.49rem;font-weight:950;letter-spacing:.08em;color:#7f8ba7}
.library-card.eligible{border-color:rgba(89,217,255,.45);background:rgba(50,169,211,.075)}.library-card.eligible:hover{transform:translateY(-3px);border-color:var(--cyan)}
.library-card.selected{border-color:rgba(102,226,170,.85);box-shadow:0 0 0 2px rgba(102,226,170,.18),0 12px 28px rgba(0,0,0,.35)}.library-card.selected em{color:#a7f4cf}
.library-card.ineligible{opacity:.38;filter:saturate(.45);cursor:not-allowed}.library-card.ineligible img{filter:brightness(.72)}
.library-search-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px 1px;border-top:1px solid var(--line)}
.library-search-footer strong,.library-search-footer span{display:block}.library-search-footer span{font-size:.62rem;color:var(--muted);margin-top:3px;max-width:620px}.library-search-footer button:disabled{opacity:.35;cursor:not-allowed}
.game-card img,.catalog-card img,.deck-entry img,.commander-slot img,.selected-commander img,.stack-item img,.library-card img{content-visibility:auto}
@media(max-width:800px){.stack-rail{right:3px!important;top:54px!important;width:178px!important;max-height:42vh!important}.stack-item{grid-template-columns:22px 38px 1fr!important;min-height:62px!important;padding:5px!important}.stack-item img{width:38px!important;height:53px!important}.stack-copy small,.stack-copy em{font-size:.49rem!important}.library-search-modal{width:100%!important;height:96vh;padding:11px!important}.library-browser{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:6px}.library-search-footer{align-items:stretch;flex-direction:column}.library-search-footer button{width:100%}}
@media(max-width:560px){.stack-rail{display:flex!important;right:2px!important;top:47px!important;width:148px!important;max-height:37vh!important;padding:5px!important;min-height:94px}.stack-rail-head{padding:3px 4px 5px!important}.stack-rail-head strong{font-size:.58rem!important}.stack-empty{min-height:56px;padding:6px}.stack-empty span{display:none}.stack-item{grid-template-columns:20px 32px 1fr!important}.stack-item img{width:32px!important;height:45px!important}.stack-copy em{display:none!important}.library-browser{grid-template-columns:repeat(3,minmax(0,1fr))}.library-card{padding:4px}.library-card small{display:none}.library-card strong{font-size:.56rem}.library-card em{font-size:.42rem}}

/* v0.6 — rules-first battlefield readability, attached Auras and high-contrast HUD */
.board{
  padding-right:350px;
  padding-left:370px;
}
.player-ribbon{
  min-width:320px;
  padding:10px 12px;
  border:1px solid rgba(89,217,255,.28);
  border-radius:17px;
  background:linear-gradient(135deg,rgba(11,18,38,.96),rgba(15,34,53,.92));
  box-shadow:0 18px 42px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.05);
  backdrop-filter:blur(16px);
}
.opponent-ribbon{top:12px}.player-ribbon-self{bottom:84px}
.player-copy{min-width:0;flex:1}.player-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.player-title strong{font-size:.9rem}.player-copy em{display:block;margin-top:5px;color:#7887a6;font-size:.61rem;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player-stats{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.player-stats span{margin:0!important;padding:4px 7px;border-radius:99px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07);font-size:.56rem!important;font-weight:900;color:#b9c7df!important}
.life-pill{padding:5px 9px;border-radius:99px;background:rgba(255,91,122,.12);border:1px solid rgba(255,91,122,.23)}

/* Auras and other attachments are physically stacked behind their host permanent. */
.attached-permanent-stack{display:grid;place-items:center;position:relative;isolation:isolate;overflow:visible;margin-top:17px}
.attached-permanent-stack>.attached-layer,.attached-permanent-stack>.attached-host{grid-area:1/1;position:relative}
.attached-permanent-stack>.attached-layer{z-index:calc(2 + var(--attach-index));transform:translate(calc((var(--attach-index) + 1) * 7px),calc((var(--attach-index) + 1) * -15px));filter:brightness(.78) saturate(.9);transition:.18s transform,.18s filter}
.attached-permanent-stack>.attached-layer:hover{z-index:24;filter:none;transform:translate(calc((var(--attach-index) + 1) * 10px),calc((var(--attach-index) + 1) * -24px)) scale(1.04)}
.attached-permanent-stack>.attached-host{z-index:20}
.attached-permanent-stack .is-attached{box-shadow:0 0 0 2px rgba(139,109,255,.72),0 12px 28px rgba(0,0,0,.5)}
.attachment-count{position:absolute;z-index:30;right:-8px;top:-12px;min-width:24px;height:24px;padding:0 6px;border-radius:99px;display:grid;place-items:center;background:#8b6dff;color:white;border:2px solid #11172a;font-size:.58rem;font-weight:950;box-shadow:0 7px 20px rgba(0,0,0,.45)}
.summoning-sick{border-color:rgba(255,190,91,.62)!important;box-shadow:0 0 0 2px rgba(255,190,91,.18),0 14px 26px rgba(0,0,0,.4)}
.sick-badge{background:rgba(117,63,12,.94)!important;border-color:rgba(255,198,103,.55)!important;color:#ffe1aa}

/* The stack is an always-on primary HUD, not a retractable rail. */
.stack-rail{
  right:12px!important;
  top:72px!important;
  width:326px!important;
  max-height:calc(100% - 162px)!important;
  padding:11px!important;
  gap:9px!important;
  border-radius:19px!important;
  background:linear-gradient(180deg,rgba(15,12,34,.98),rgba(8,14,29,.97))!important;
  border:1px solid rgba(153,124,255,.5)!important;
  box-shadow:0 25px 65px rgba(0,0,0,.52),0 0 40px rgba(105,72,207,.12)!important;
}
.stack-rail-head{position:sticky;top:-11px;z-index:5;margin:-11px -11px 0;padding:12px 13px 10px!important;background:linear-gradient(180deg,#17122f 65%,rgba(23,18,47,.88));border-bottom:1px solid rgba(153,124,255,.25)}
.stack-rail-head strong{font-size:.83rem!important;color:#efeaff}
.stack-item{min-height:94px!important;grid-template-columns:30px 60px 1fr!important;padding:9px!important;border-radius:14px!important;background:linear-gradient(135deg,rgba(37,32,70,.98),rgba(17,28,49,.98))!important;border:1px solid rgba(255,255,255,.11)!important}
.stack-item.top{border-color:rgba(89,217,255,.82)!important;box-shadow:0 0 0 2px rgba(89,217,255,.12),0 0 30px rgba(89,217,255,.16)!important}
.stack-item img{width:60px!important;height:84px!important;border-radius:8px!important}.stack-order{width:28px!important;height:28px!important;font-size:.57rem!important}.stack-copy strong{font-size:.82rem!important}.stack-copy small{font-size:.61rem!important;line-height:1.35}.stack-copy em{font-size:.6rem!important}
.stack-empty{min-height:104px;border-color:rgba(153,124,255,.23);background:rgba(255,255,255,.025)}

/* Cast permissions from command zone, graveyard and exile remain visible together. */
.cast-zone-hud{
  position:absolute;z-index:16;left:12px;top:82px;width:348px;max-height:46%;overflow:auto;padding:12px;border-radius:18px;
  background:linear-gradient(155deg,rgba(8,28,47,.97),rgba(10,17,36,.97));
  border:1px solid rgba(64,188,236,.44);box-shadow:0 24px 58px rgba(0,0,0,.48),0 0 36px rgba(45,163,210,.11);backdrop-filter:blur(16px)
}
.cast-zone-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:2px 2px 10px;border-bottom:1px solid rgba(89,217,255,.17)}
.cast-zone-head strong,.cast-zone-head span{display:block}.cast-zone-head strong{font-size:.88rem}.cast-zone-head>span{min-width:27px;height:27px;display:grid;place-items:center;border-radius:99px;background:rgba(89,217,255,.15);color:#b7f1ff;font-size:.7rem;font-weight:950}
.cast-zone-groups{display:grid;gap:10px;margin-top:10px}.cast-zone-groups>section>span{display:block;margin:0 0 6px;color:#6fdcf4;font-size:.51rem;font-weight:950;letter-spacing:.12em}.cast-zone-groups>section>div{display:grid;gap:6px}
.cast-zone-card{display:grid;grid-template-columns:48px 1fr;gap:9px;align-items:center;padding:6px;text-align:left;border-radius:12px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);cursor:pointer}.cast-zone-card:hover,.cast-zone-card.selected{border-color:rgba(89,217,255,.62);background:rgba(89,217,255,.09)}.cast-zone-card img{width:48px;height:67px;object-fit:cover;border-radius:7px}.cast-zone-card strong,.cast-zone-card small{display:block}.cast-zone-card strong{font-size:.7rem}.cast-zone-card small{margin-top:3px;color:#9aabc6;font-size:.55rem;line-height:1.35}

/* Selected-card details get a dedicated high-contrast surface. */
.selected-card-panel{
  left:12px!important;right:auto!important;bottom:84px!important;width:min(590px,calc(100vw - 390px))!important;max-height:43vh!important;
  grid-template-columns:175px 1fr!important;gap:16px!important;padding:15px!important;border-radius:20px!important;
  background:linear-gradient(145deg,rgba(8,25,40,.985),rgba(15,17,38,.98))!important;border:1px solid rgba(89,217,255,.5)!important;
  box-shadow:0 28px 72px rgba(0,0,0,.58),0 0 42px rgba(89,217,255,.1)!important;backdrop-filter:blur(18px)
}
.selected-card-panel>img{width:175px!important;border-radius:13px!important;box-shadow:0 18px 42px rgba(0,0,0,.48)}.selected-card-panel h3{font-size:1.55rem!important;color:#f3f8ff}.selected-card-panel p{font-size:.85rem!important;line-height:1.55!important}.selected-card-panel .type-line{color:#91cfe4}

/* Wheel-to-read fullscreen overlay. */
.card-zoom-overlay{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:24px;background:rgba(2,4,10,.9);backdrop-filter:blur(20px) saturate(.65);animation:cardZoomFade .14s ease-out}
.card-zoom-stage{width:min(1180px,96vw);height:min(900px,94vh);display:grid;grid-template-columns:minmax(300px,560px) minmax(290px,1fr);align-items:center;gap:clamp(24px,5vw,68px)}
.card-zoom-stage>img{display:block;max-width:100%;max-height:92vh;justify-self:end;border-radius:24px;background:#11182a;box-shadow:0 40px 110px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.13),0 0 70px rgba(89,217,255,.12)}
.card-zoom-copy{max-height:84vh;overflow:auto;padding:28px;border:1px solid rgba(89,217,255,.28);border-radius:24px;background:linear-gradient(145deg,rgba(12,28,46,.95),rgba(17,17,38,.95));box-shadow:0 28px 75px rgba(0,0,0,.48)}
.card-zoom-copy h2{margin:8px 0 10px;font-size:clamp(2rem,4vw,4rem);line-height:.98;letter-spacing:-.045em}.card-zoom-copy .type-line{font-size:.92rem;color:#9dd7e9}.card-zoom-copy p{white-space:pre-line;margin:20px 0 0;font-size:1.08rem;line-height:1.65;color:#e1e8f6}.card-zoom-close{position:fixed;right:26px;top:22px;z-index:2;width:48px;height:48px;border-radius:16px;background:rgba(24,31,54,.94);border:1px solid rgba(255,255,255,.17);color:white;font-size:1.7rem;cursor:pointer}
@keyframes cardZoomFade{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}

@media(max-width:1200px){
  .board{padding-left:300px;padding-right:292px}.cast-zone-hud{width:280px}.stack-rail{width:270px!important}.selected-card-panel{width:min(520px,calc(100vw - 310px))!important;grid-template-columns:145px 1fr!important}.selected-card-panel>img{width:145px!important}.player-ribbon{min-width:270px}
}
@media(max-width:900px){
  .board{padding-left:18px;padding-right:232px}.cast-zone-hud{left:5px;top:auto;bottom:82px;width:250px;max-height:34%}.stack-rail{width:215px!important}.selected-card-panel{left:5px!important;width:min(470px,calc(100vw - 230px))!important;grid-template-columns:120px 1fr!important}.selected-card-panel>img{width:120px!important}.player-ribbon{min-width:235px;padding:7px}.player-stats span:nth-last-child(-n+3){display:none}.card-zoom-stage{grid-template-columns:minmax(260px,44vw) 1fr;gap:22px}.card-zoom-copy{padding:20px}.card-zoom-copy p{font-size:.92rem}
}
@media(max-width:620px){
  .board{padding-left:3px;padding-right:153px}.stack-rail{width:145px!important;max-height:42vh!important}.stack-item{grid-template-columns:20px 35px 1fr!important;min-height:60px!important;padding:5px!important}.stack-item img{width:35px!important;height:49px!important}.stack-copy small,.stack-copy em{display:none!important}.stack-copy strong{font-size:.6rem!important}.cast-zone-hud{left:3px;bottom:66px;width:calc(100vw - 160px);max-height:25%;padding:8px}.cast-zone-card{grid-template-columns:35px 1fr}.cast-zone-card img{width:35px;height:49px}.selected-card-panel{left:3px!important;bottom:66px!important;width:calc(100vw - 160px)!important;max-height:42vh!important;display:block!important;padding:10px!important}.selected-card-panel>img{width:94px!important;float:left;margin:0 10px 7px 0!important}.selected-card-panel h3{font-size:1.05rem!important}.selected-card-panel p{font-size:.7rem!important}.player-ribbon{min-width:0;max-width:calc(100vw - 160px)}.player-copy em,.player-stats{display:none}.card-zoom-overlay{padding:12px}.card-zoom-stage{display:flex;height:96vh;flex-direction:column;gap:10px;overflow:auto}.card-zoom-stage>img{max-height:67vh;max-width:90vw;justify-self:center;border-radius:15px}.card-zoom-copy{width:100%;max-height:none;padding:16px}.card-zoom-copy h2{font-size:1.65rem}.card-zoom-copy p{font-size:.84rem}.card-zoom-close{right:10px;top:10px;width:40px;height:40px}
}

/* v0.7 — rules-correct combat graph and curved relationship arrows */
.combat-arrows{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:visible;opacity:0;transition:opacity .16s ease}
.combat-arrows.visible{opacity:1}
#attackArrowHead path{fill:#ffb24a;stroke:#fff0cf;stroke-width:.45}
#blockArrowHead path{fill:#55dcff;stroke:#d8f8ff;stroke-width:.45}
.combat-link-line,.combat-link-shadow{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.combat-link-shadow{stroke:rgba(0,0,0,.76);stroke-width:9;opacity:.7}
.combat-link-line{stroke-width:3.3;filter:url(#combatArrowGlow);stroke-dasharray:13 8;animation:combatArrowFlow 1.05s linear infinite}
.combat-link.attack .combat-link-line{stroke:#ffb24a}
.combat-link.block .combat-link-line{stroke:#55dcff;stroke-dasharray:7 6;animation-duration:.82s}
.combat-link.attack circle{fill:#ffb24a;stroke:#fff0cf;stroke-width:1.4;filter:url(#combatArrowGlow)}
.combat-link.block circle{fill:#55dcff;stroke:#d8f8ff;stroke-width:1.4;filter:url(#combatArrowGlow)}
.combat-link text{font-size:9px;font-weight:1000;letter-spacing:.16em;text-anchor:middle;paint-order:stroke;stroke:rgba(4,7,15,.95);stroke-width:4px;stroke-linejoin:round}
.combat-link.attack text{fill:#ffd89b}.combat-link.block text{fill:#bdefff}
@keyframes combatArrowFlow{to{stroke-dashoffset:-21}}
.combat-legend{position:absolute;z-index:9;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:12px;padding:6px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(5,9,18,.8);box-shadow:0 12px 32px rgba(0,0,0,.42);backdrop-filter:blur(12px);pointer-events:none}
.combat-legend span{display:flex;align-items:center;gap:6px;font-size:.52rem;font-weight:950;letter-spacing:.12em;color:#cbd5e9}
.combat-legend i{width:22px;height:3px;border-radius:99px;display:block;box-shadow:0 0 10px currentColor}.combat-legend .attack-key{color:#ffb24a;background:#ffb24a}.combat-legend .block-key{color:#55dcff;background:#55dcff}
.game-card.attacking{box-shadow:0 0 0 3px rgba(255,178,74,.72),0 0 30px rgba(255,132,50,.34),0 18px 34px rgba(0,0,0,.54)!important}
.game-card.blocking{box-shadow:0 0 0 3px rgba(85,220,255,.72),0 0 30px rgba(51,184,235,.3),0 18px 34px rgba(0,0,0,.54)!important}
.game-card.blocked{outline:2px solid rgba(85,220,255,.45);outline-offset:3px}
.attack-badge{background:rgba(126,62,8,.95)!important;border-color:rgba(255,190,87,.7)!important;color:#ffe4b5!important}
.block-badge{background:rgba(5,79,106,.95)!important;border-color:rgba(90,224,255,.7)!important;color:#d8f8ff!important}
@media(max-width:800px){.combat-link text{display:none}.combat-link-line{stroke-width:2.8}.combat-link-shadow{stroke-width:7}.combat-legend{top:48%;padding:4px 7px}.combat-legend span{font-size:.44rem}}
@media(prefers-reduced-motion:reduce){.combat-link-line{animation:none}.combat-arrows{transition:none}}

/* v0.8 — authoritative timing, Forge-style yields, dual phase controls and readable choices */
.phase-control-deck{position:relative;z-index:20;margin:6px 12px;display:grid;gap:5px}
.phase-player-row{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:stretch;gap:7px;opacity:.72;transition:.18s opacity,.18s transform}
.phase-player-row.active-turn{opacity:1;transform:translateX(2px)}
.phase-player-row>header{min-width:0;padding:6px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(13,20,40,.96),rgba(15,29,48,.92));display:flex;flex-direction:column;justify-content:center}
.phase-player-row.self>header{border-left:3px solid #59d9ff}.phase-player-row.opponent>header{border-left:3px solid #ff9d72}
.phase-player-row>header strong{font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phase-player-row>header em{font-style:normal;font-size:.5rem;color:#8897b5;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.phase-player-row .phase-rail{margin:0;height:36px;min-width:0;overflow-x:auto;overflow-y:hidden;border-radius:12px;padding:3px}
.phase-player-row .phase-step{height:28px;min-width:54px;padding:2px 4px}.phase-player-row .phase-step.inactive{opacity:.42}.phase-player-row .phase-step.has-stop{opacity:1}.phase-player-row .phase-step.current{box-shadow:0 0 0 2px rgba(89,217,255,.28),0 0 24px rgba(89,217,255,.2)}
.phase-player-row .phase-step em{font-size:.4rem}.phase-player-row .phase-step span{font-size:.5rem}
.game-shell{height:calc(100vh - 176px);min-height:430px}

.yield-control{border-color:rgba(255,255,255,.13)!important;transition:.16s background,.16s box-shadow,.16s transform}.yield-control:hover{transform:translateY(-1px)}
.yield-control.resolve{background:rgba(126,87,255,.12)}.yield-control.phase{background:rgba(255,172,68,.1)}
.yield-control.active{box-shadow:0 0 0 2px rgba(111,232,182,.22),0 0 22px rgba(111,232,182,.14);border-color:rgba(111,232,182,.55)!important;color:#caffea}
.yield-control:disabled{opacity:.35;cursor:not-allowed}

.pass-button{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:8px;min-width:220px;text-align:left;transition:.18s background,.18s box-shadow,.18s transform}
.pass-button>span{grid-column:2;grid-row:1;font-size:.53rem}.pass-button>small{grid-column:1/-1;grid-row:2;display:block;margin-top:3px;font-size:.52rem;font-weight:650;opacity:.7;line-height:1.2}
.pass-button.priority{background:linear-gradient(135deg,#2d6fa8,#21567f);color:#ecf8ff;box-shadow:0 13px 30px rgba(39,112,164,.23)}
.pass-button.resolve{background:linear-gradient(135deg,#8d63ff,#5742c8);color:#fff;box-shadow:0 13px 34px rgba(112,75,225,.32)}
.pass-button.phase{background:linear-gradient(135deg,#ffc056,#e57b3d);color:#1c1107;box-shadow:0 13px 32px rgba(229,123,61,.28)}
.pass-button.combat{background:linear-gradient(135deg,#ff7969,#d63f64);color:white;box-shadow:0 13px 32px rgba(214,63,100,.28)}
.pass-button.read{background:linear-gradient(135deg,#4bd7e9,#6667ee);color:#07121c;box-shadow:0 0 0 3px rgba(75,215,233,.15),0 15px 38px rgba(75,150,233,.3);animation:readPulse 1.7s ease-in-out infinite}
.pass-button.idle{background:#353b4e;color:#cbd2e5}.pass-button:not(:disabled):hover{transform:translateY(-2px) scale(1.01)}
@keyframes readPulse{50%{box-shadow:0 0 0 8px rgba(75,215,233,.04),0 15px 42px rgba(75,150,233,.4)}}
.stack-item.unread{border-color:rgba(75,215,233,.92)!important;box-shadow:0 0 0 3px rgba(75,215,233,.13),0 0 36px rgba(75,215,233,.22)!important}

/* Cards in hand are deliberately about twice the former battlefield size. */
.hand-zone{width:min(1500px,96vw)!important;height:320px!important;bottom:-116px!important;align-items:flex-start!important;padding-top:6px}
.hand-zone .game-card{width:clamp(165px,14vw,230px)!important;margin-left:clamp(-76px,-5.2vw,-44px)!important;border-radius:16px!important;box-shadow:0 24px 48px rgba(0,0,0,.52)!important}
.hand-zone .game-card:first-child{margin-left:0!important}.hand-zone .game-card.is-legal:hover,.hand-zone .game-card.selected{transform:translateY(-122px) scale(1.06) rotate(0)!important}
.board{padding-bottom:226px!important}.player-ribbon-self{bottom:126px!important}.action-dock{height:84px!important}

/* Stable, non-deforming hidden-zone browser. */
.library-search-modal{width:min(1240px,98vw)!important;height:min(900px,96vh)!important;max-width:none!important;overflow:hidden!important}
.library-browser{grid-template-columns:repeat(auto-fill,132px)!important;justify-content:center!important;grid-auto-rows:246px!important;align-items:stretch!important}
.library-card{width:132px!important;height:238px!important;overflow:hidden!important;grid-template-rows:174px 35px 18px!important;align-content:start!important}
.library-card-image{display:block;position:relative;width:100%;height:174px;overflow:hidden;border-radius:8px;background:#101626}
.library-card-image img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important}
.library-card>span:nth-child(2){overflow:hidden}.library-card.ineligible{opacity:.29!important;filter:grayscale(.9) brightness(.7)!important;pointer-events:none!important;user-select:none!important}
.disabled-card-lock{position:absolute;inset:0;display:grid;place-items:center;background:rgba(3,6,12,.48);color:#ff8e9e;font-style:normal;font-size:3rem;font-weight:300;text-shadow:0 3px 15px #000}
.library-card:disabled{cursor:not-allowed!important}.library-card:disabled *{pointer-events:none}

.scry-modal .target-options{overflow:hidden}.scry-explainer{padding:10px 13px;border-radius:11px;background:rgba(89,217,255,.07);border:1px solid rgba(89,217,255,.19);font-size:.7rem;color:#bdcce5;line-height:1.45}
.scry-workspace{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:0;overflow:hidden;margin:10px 0}
.scry-workspace>section{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.025);overflow:hidden}
.scry-workspace>section>header{display:flex;justify-content:space-between;padding:9px 11px;background:rgba(255,255,255,.05);font-size:.64rem;font-weight:950;letter-spacing:.12em}.scry-workspace>section>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;gap:9px;padding:10px;overflow:auto}
.scry-card{min-width:0;padding:7px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#11182b}.scry-card img{display:block;width:100%;aspect-ratio:488/680;object-fit:cover;border-radius:8px}.scry-card strong{display:block;margin:6px 0;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scry-card>div{display:flex;gap:4px}.scry-card button{flex:1;min-width:0;padding:6px 4px;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:white;font-size:.55rem;cursor:pointer}.scry-card button:disabled{opacity:.25;cursor:not-allowed}.empty-choice{color:#71809e;text-align:center;padding:30px 5px}

/* Side HUDs fill available space but remain user-resizable on desktop. */
.stack-rail,.cast-zone-hud,.selected-card-panel{resize:both;overflow:auto!important;min-width:220px;min-height:120px;max-width:52vw;max-height:76vh}
.stack-rail{width:350px!important}.cast-zone-hud{width:365px}.selected-card-panel{width:min(650px,48vw)!important}
.board{padding-left:390px!important;padding-right:380px!important}

@media(max-width:1050px){
  .phase-player-row{grid-template-columns:125px minmax(0,1fr)}.phase-player-row>header em{display:none}
  .board{padding-left:285px!important;padding-right:285px!important}.stack-rail{width:270px!important}.cast-zone-hud{width:270px}.hand-zone .game-card{width:clamp(145px,16vw,190px)!important}
}
@media(max-width:760px){
  .game-header{grid-template-columns:1fr auto}.header-actions .yield-control{display:none}.phase-control-deck{margin:3px 4px}.phase-player-row{grid-template-columns:78px minmax(0,1fr);gap:3px}.phase-player-row>header{padding:4px 6px}.phase-player-row>header strong{font-size:.55rem}.phase-player-row>header .micro-label{font-size:.43rem}.phase-player-row .phase-rail{height:33px}.game-shell{height:calc(100vh - 159px)}
  .board{padding-left:4px!important;padding-right:185px!important;padding-bottom:188px!important}.stack-rail{width:180px!important;min-width:140px!important;resize:none}.cast-zone-hud{left:4px!important;bottom:92px!important;width:calc(100vw - 194px)!important;resize:none}.selected-card-panel{width:calc(100vw - 195px)!important;resize:none}.hand-zone{height:250px!important;bottom:-91px!important}.hand-zone .game-card{width:130px!important;margin-left:-53px!important}.hand-zone .game-card.is-legal:hover,.hand-zone .game-card.selected{transform:translateY(-88px) scale(1.04)!important}.player-ribbon-self{bottom:99px!important}.action-dock{height:76px!important}.pass-button{min-width:145px}
  .library-browser{grid-template-columns:repeat(auto-fill,105px)!important;grid-auto-rows:202px!important}.library-card{width:105px!important;height:194px!important;grid-template-rows:138px 31px 17px!important}.library-card-image{height:138px}.scry-workspace{grid-template-columns:1fr}.scry-workspace>section{min-height:280px}
}
@media(max-width:520px){
  .phase-player-row{grid-template-columns:60px minmax(0,1fr)}.phase-player-row>header strong{font-size:.48rem}.phase-player-row .phase-step{min-width:46px}.board{padding-right:150px!important}.stack-rail{width:146px!important}.cast-zone-hud,.selected-card-panel{width:calc(100vw - 156px)!important}.hand-zone .game-card{width:112px!important;margin-left:-49px!important}.library-browser{grid-template-columns:repeat(3,1fr)!important;grid-auto-rows:176px!important}.library-card{width:100%!important;height:170px!important;grid-template-rows:120px 29px 15px!important}.library-card-image{height:120px}.pass-button small{display:none}
}

/* v0.15 — compact, icon-led match HUD */
.hud-symbol{width:25px;height:25px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 5px rgba(0,0,0,.4))}
.hud-zone-tab{min-width:62px!important;min-height:56px!important;display:grid!important;grid-template-columns:28px auto!important;grid-template-rows:1fr auto!important;align-items:center!important;justify-content:center!important;column-gap:5px!important;padding:5px 7px!important}
.hud-zone-tab .hud-symbol{grid-row:1/-1;width:27px;height:27px;color:#a9dff1}.hud-zone-tab strong{font-size:.9rem!important;line-height:1}.hud-zone-tab span{font-size:.48rem!important;letter-spacing:.08em;opacity:.68}
.hud-zone-tab:hover .hud-symbol,.hud-zone-tab:focus-visible .hud-symbol{color:#fff;transform:scale(1.08)}
.hud-action-button{min-height:52px!important;display:inline-flex!important;align-items:center!important;gap:8px!important;padding:7px 13px!important}.button-glyph{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.11);font-size:1.35rem;font-weight:800}.hud-action-button>span:last-child{font-size:.68rem;font-weight:900}
.hud-primary-action{gap:8px!important}.selection-info{max-width:180px}.selection-info .micro-label{font-size:.5rem}.selection-info strong{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pass-button{min-height:58px!important;font-size:.86rem!important;border:1px solid rgba(255,255,255,.17)!important}.pass-button small{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hud-name em,.mana-help{display:none!important}.hud-player-identity{gap:9px!important}.hud-life strong{font-size:1.7rem!important}.hud-danger-stats span{min-width:42px!important;min-height:35px!important;font-size:.72rem!important}
@media(max-width:760px){.hud-zone-tab{min-width:51px!important;min-height:48px!important;grid-template-columns:23px auto!important;padding:3px!important}.hud-zone-tab .hud-symbol{width:22px;height:22px}.hud-zone-tab span{display:none}.hud-action-button{min-width:48px!important;padding:6px!important}.hud-action-button>span:last-child{display:none}.button-glyph{width:35px;height:35px}.selection-info{display:none!important}}

/* v1.0 — paced online-card-game feedback and unclipped dual battlefield */
.game-view{height:100dvh;min-height:680px;overflow:hidden}
.game-shell{height:calc(100dvh - 184px)!important;min-height:500px;overflow:hidden}
.board{
  height:calc(100% - 88px)!important;
  overflow:auto!important;
  overscroll-behavior:contain;
  padding:54px clamp(270px,20vw,330px) 318px!important;
  scrollbar-gutter:stable both-edges;
}
.board:before{inset:3% 3% 2%;transform:none;border-radius:34px;background:radial-gradient(ellipse at center,rgba(72,92,142,.16),rgba(13,21,39,.24) 66%,rgba(5,9,18,.48));}
.battlefield{min-height:clamp(220px,34%,360px)!important;padding:8px 12px!important}
.field-layout{min-height:220px!important;grid-template-columns:minmax(110px,17%) minmax(460px,1fr) minmax(110px,17%)!important;gap:10px!important}
.field-center{gap:8px!important}.permanent-lane{min-height:94px!important;padding-top:20px!important}.field-center .permanent-lane{min-height:104px!important}
.battlefield .game-card{width:clamp(78px,6.1vw,116px)!important}.field-support .game-card{width:clamp(68px,5vw,94px)!important}
.lane-cards{gap:clamp(5px,.7vw,12px)!important}.battlefield-opponent{transform:none!important}
.hand-zone{bottom:8px!important;height:276px!important;width:min(1580px,calc(100% - 34px))!important;align-items:flex-start!important;overflow:visible!important;padding-top:8px!important}
.hand-zone .game-card{width:clamp(150px,12vw,210px)!important;margin-left:clamp(-72px,-4.7vw,-40px)!important}
.hand-zone .game-card.is-legal:hover,.hand-zone .game-card.selected{transform:translateY(-64px) scale(1.05)!important}
.player-ribbon-self{bottom:286px!important}.player-zones{bottom:288px!important}.opponent-ribbon{top:10px!important}.opponent-zones{top:12px!important}
.stack-rail{width:clamp(250px,19vw,310px)!important;right:10px!important;max-height:calc(100% - 128px)!important}
.cast-zone-hud{width:clamp(250px,19vw,310px)!important;left:10px!important;max-height:43%!important}
.selected-card-panel{left:10px!important;bottom:94px!important;width:min(560px,42vw)!important}
.action-dock{height:88px!important}.player-ribbon{background:rgba(8,15,29,.82);padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 15px 34px rgba(0,0,0,.35)}

.fx-layer{position:absolute;inset:0;z-index:90;pointer-events:none;overflow:hidden}
.fx-spotlight{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%) scale(.86);display:flex;align-items:center;gap:18px;min-width:260px;max-width:min(720px,80vw);padding:16px 22px;border:1px solid rgba(255,255,255,.22);border-radius:22px;background:linear-gradient(145deg,rgba(23,30,55,.97),rgba(10,15,29,.96));box-shadow:0 34px 100px rgba(0,0,0,.72),0 0 75px rgba(98,112,255,.25);opacity:0;filter:blur(5px);transition:.18s opacity,.22s transform,.18s filter}
.fx-spotlight.visible{opacity:1;filter:none;transform:translate(-50%,-50%) scale(1)}
.fx-spotlight img{width:132px;max-height:185px;object-fit:cover;border-radius:12px;box-shadow:0 22px 48px rgba(0,0,0,.58)}
.fx-spotlight div{min-width:0}.fx-spotlight span{display:block;font-size:.58rem;font-weight:1000;letter-spacing:.2em;color:#8ddfff}.fx-spotlight strong{display:block;margin-top:5px;font-size:clamp(1rem,2.2vw,1.75rem);line-height:1.08}.fx-spotlight b{display:block;margin-top:4px;font-size:2.4rem;color:#ff7f85;text-shadow:0 0 24px rgba(255,76,92,.55)}
.fx-spotlight.cast,.fx-spotlight.trigger,.fx-spotlight.copy{border-color:rgba(151,116,255,.58)}.fx-spotlight.damage{border-color:rgba(255,96,103,.65)}.fx-spotlight.turn,.fx-spotlight.phase{border-color:rgba(89,217,255,.45)}
.fx-particles{position:absolute;left:50%;top:46%;width:1px;height:1px}.fx-particle{position:absolute;width:8px;height:8px;border-radius:50%;background:#9b83ff;box-shadow:0 0 18px #8f75ff;animation:fxBurst 1.05s ease-out var(--delay) forwards}.fx-particle.impact{background:#ff8b63;box-shadow:0 0 19px #ff5d45}
@keyframes fxBurst{0%{opacity:0;transform:translate(0,0) scale(.2)}15%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(0)}}
.fx-hit{animation:fxHit .46s ease-out!important}.fx-glow{animation:fxGlow .85s ease-out!important}.fx-zone{animation:fxZone .7s ease-out!important}
@keyframes fxHit{20%{transform:translateX(-7px) rotate(-2deg);filter:brightness(1.8) saturate(1.5)}45%{transform:translateX(6px) rotate(2deg)}100%{transform:none}}
@keyframes fxGlow{35%{box-shadow:0 0 0 5px rgba(145,116,255,.35),0 0 44px rgba(145,116,255,.65);filter:brightness(1.35)}100%{filter:none}}
@keyframes fxZone{0%{opacity:.25;transform:translateY(-20px) scale(.7)}55%{opacity:1;transform:translateY(3px) scale(1.08)}100%{transform:none}}
.copy-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px;max-height:68vh;overflow:auto;padding:6px}.copy-choice-card{padding:8px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#11182a;color:white;text-align:left;cursor:pointer}.copy-choice-card:hover{border-color:#8b6dff;box-shadow:0 0 28px rgba(139,109,255,.25)}.copy-choice-card img{width:100%;aspect-ratio:488/680;object-fit:cover;border-radius:9px}.copy-choice-card strong,.copy-choice-card small{display:block}.copy-choice-card strong{margin-top:7px}.copy-choice-card small{color:#9ba8c2;font-size:.64rem;margin-top:3px}

@media(max-width:1350px){
  .board{padding-left:235px!important;padding-right:235px!important}.stack-rail,.cast-zone-hud{width:220px!important}.field-layout{grid-template-columns:minmax(90px,15%) minmax(400px,1fr) minmax(90px,15%)!important}.selected-card-panel{width:min(490px,47vw)!important}
}
@media(max-width:900px){
  .game-view{min-height:600px}.board{padding:48px 176px 250px 6px!important}.stack-rail{width:166px!important;min-width:145px!important}.cast-zone-hud{top:auto!important;bottom:92px!important;width:calc(100% - 184px)!important;max-height:26%!important}.field-layout{min-width:680px!important}.battlefield{min-width:680px!important}.hand-zone{height:215px!important}.hand-zone .game-card{width:126px!important;margin-left:-50px!important}.player-ribbon-self,.player-zones{bottom:226px!important}.selected-card-panel{width:calc(100% - 184px)!important;max-height:44%!important}.fx-spotlight{max-width:72vw;padding:12px}.fx-spotlight img{width:92px}
}
@media(max-width:600px){
  .phase-control-deck{max-height:82px;overflow:auto}.game-shell{height:calc(100dvh - 154px)!important}.board{padding-right:138px!important;padding-bottom:210px!important}.stack-rail{width:130px!important;min-width:118px!important}.field-layout,.battlefield{min-width:620px!important}.hand-zone{height:180px!important}.hand-zone .game-card{width:104px!important;margin-left:-43px!important}.player-ribbon-self,.player-zones{bottom:190px!important}.fx-spotlight{left:43%;max-width:70vw}.fx-spotlight img{width:72px}.fx-spotlight strong{font-size:.85rem}
}
@media(prefers-reduced-motion:reduce){.fx-particle,.fx-hit,.fx-glow,.fx-zone{animation:none!important}.fx-spotlight{transition:none}}

/* 0.11: one non-blocking card reveal, no duplicate center modal. */
.phase-player-row.phase-shift{animation:phaseRowFeedback .62s ease-out}
@keyframes phaseRowFeedback{0%{box-shadow:0 0 0 0 rgba(89,217,255,.55);filter:brightness(1.35)}100%{box-shadow:0 0 0 14px rgba(89,217,255,0);filter:none}}
.stack-rail.stack-updated{animation:stackRailFeedback .72s ease-out}
@keyframes stackRailFeedback{0%{box-shadow:0 0 0 2px rgba(151,116,255,.72),0 0 48px rgba(151,116,255,.58)}100%{box-shadow:0 18px 48px rgba(0,0,0,.4)}}

.fx-layer{inset:0!important;overflow:visible!important;z-index:32!important}
.fx-spotlight{
  left:auto!important;
  right:calc(clamp(250px,19vw,310px) + 24px)!important;
  top:12px!important;
  transform:translateY(-12px) scale(.94)!important;
  min-width:250px!important;
  width:min(430px,calc(100vw - 610px))!important;
  max-width:430px!important;
  min-height:92px;
  padding:9px 14px!important;
  gap:12px!important;
  border-radius:17px!important;
  box-shadow:0 20px 54px rgba(0,0,0,.65),0 0 42px rgba(98,112,255,.2)!important;
}
.fx-spotlight.visible{transform:translateY(0) scale(1)!important}
.fx-spotlight img{width:68px!important;height:95px!important;max-height:95px!important;flex:0 0 68px;object-fit:cover!important;border-radius:8px!important}
.fx-spotlight strong{font-size:clamp(.82rem,1.3vw,1.14rem)!important;line-height:1.14!important;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fx-spotlight b{font-size:1.75rem!important}
.fx-particles{left:auto!important;right:calc(clamp(250px,19vw,310px) + 225px)!important;top:66px!important}

@media(max-width:1350px){
  .fx-spotlight{left:50%!important;right:auto!important;top:8px!important;width:min(390px,46vw)!important;transform:translate(-50%,-12px) scale(.94)!important}
  .fx-spotlight.visible{transform:translate(-50%,0) scale(1)!important}
  .fx-particles{left:50%!important;right:auto!important;top:58px!important}
}
@media(max-width:900px){
  .fx-spotlight{left:8px!important;right:184px!important;top:7px!important;width:auto!important;min-width:0!important;max-width:none!important;transform:translateY(-10px) scale(.96)!important}
  .fx-spotlight.visible{transform:translateY(0) scale(1)!important}
  .fx-spotlight img{width:52px!important;height:73px!important;flex-basis:52px}
  .fx-spotlight span{font-size:.48rem!important}.fx-spotlight strong{font-size:.74rem!important;-webkit-line-clamp:2}.fx-spotlight b{font-size:1.3rem!important}
  .fx-particles{left:42%!important;right:auto!important;top:48px!important}
}
@media(max-width:600px){
  .fx-spotlight{left:5px!important;right:142px!important;top:4px!important;padding:7px 9px!important;min-height:65px!important}
  .fx-spotlight img{width:43px!important;height:60px!important;flex-basis:43px}
  .fx-spotlight div{max-width:calc(100% - 50px)}
}

/* 0.12 — horizontal Forge-style command bars and unclipped responsive battlefield */
:root{
  --command-bar-bg:linear-gradient(180deg,rgba(18,29,50,.985),rgba(7,13,25,.985));
  --command-bar-border:rgba(120,185,255,.24);
  --command-bar-accent:#66c8ff;
  --command-bar-self:#67e4b4;
  --command-bar-height-top:92px;
  --command-bar-height-bottom:142px;
}
.game-view{height:100dvh!important;min-height:0!important;overflow:hidden!important;background:#050913}
.modern-match-shell.game-shell{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  width:100%!important;height:100dvh!important;min-height:0!important;
  overflow:hidden!important;position:relative!important;
}
.player-command-bar{
  position:relative!important;inset:auto!important;z-index:130!important;
  display:grid!important;align-items:center!important;gap:8px!important;
  width:100%!important;min-width:0!important;padding:7px 44px 7px 10px!important;
  background:var(--command-bar-bg)!important;border:0!important;
  box-shadow:0 10px 35px rgba(0,0,0,.38)!important;
  color:#edf7ff;overflow:hidden!important;
  transition:max-height .25s ease,padding .25s ease,background .25s ease!important;
}
.opponent-command-bar{
  grid-row:1!important;max-height:var(--command-bar-height-top)!important;
  grid-template-columns:minmax(180px,1.25fr) minmax(220px,1.1fr) minmax(230px,1fr) minmax(380px,2.25fr) minmax(135px,.7fr) auto!important;
  border-bottom:1px solid var(--command-bar-border)!important;
}
.self-command-bar{
  grid-row:3!important;max-height:var(--command-bar-height-bottom)!important;
  grid-template-columns:minmax(200px,1.1fr) minmax(230px,1.1fr) minmax(230px,1fr) minmax(420px,2.3fr) auto!important;
  grid-template-areas:
    "identity zones mana phases tools"
    "primary primary primary primary primary"!important;
  border-top:1px solid rgba(103,228,180,.24)!important;
}
.self-command-bar .hud-player-identity{grid-area:identity}.self-command-bar .hud-zone-tabs{grid-area:zones}.self-command-bar .hud-mana-pool{grid-area:mana}.self-command-bar .hud-phase-strip{grid-area:phases}.self-command-bar .hud-forge-actions{grid-area:tools}.self-command-bar .hud-primary-action{grid-area:primary}
.hud-collapse-button{
  position:absolute;right:10px;top:50%;translate:0 -50%;z-index:3;
  width:27px;height:58px;border:1px solid rgba(255,255,255,.13);border-radius:10px;
  background:rgba(255,255,255,.055);color:#b9cbe3;cursor:pointer;font-size:1rem;
}
.player-command-bar.collapsed{max-height:42px!important;padding-top:4px!important;padding-bottom:4px!important}
.player-command-bar.collapsed .hud-zone-tabs,.player-command-bar.collapsed .hud-mana-pool,.player-command-bar.collapsed .hud-phase-strip,.player-command-bar.collapsed .hud-forge-actions,.player-command-bar.collapsed .hud-primary-action,.player-command-bar.collapsed .hud-stack-preview,.player-command-bar.collapsed .hud-room-controls{display:none!important}
.player-command-bar.collapsed .hud-player-identity{max-width:520px}.player-command-bar.collapsed .hud-collapse-button{height:30px;transform:rotate(180deg)}
.hud-player-identity{display:flex;align-items:center;gap:10px;min-width:0;padding:5px 8px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.hud-avatar{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;font-weight:950;background:radial-gradient(circle at 35% 28%,#6ed9ff,#3655a9 65%,#161f40);box-shadow:0 0 0 3px rgba(89,191,255,.16)}
.self-command-bar .hud-avatar{background:radial-gradient(circle at 35% 28%,#9dffd4,#218a70 65%,#112f2b);box-shadow:0 0 0 3px rgba(103,228,180,.15)}
.hud-player-copy{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 8px;align-items:center}.hud-player-copy strong{font-size:.79rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-player-copy small{font-size:.56rem;color:#8192ad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-life{grid-row:1/3;grid-column:2;font-size:1.35rem;font-weight:1000;color:#fff;text-shadow:0 0 18px rgba(98,205,255,.45)}
.hud-status-chips{display:flex;gap:4px;grid-column:1/3}.hud-status-chips span{font-size:.48rem;padding:2px 5px;border-radius:999px;background:rgba(255,255,255,.06);color:#aebed5}
.hud-zone-tabs{display:flex!important;align-items:stretch;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}.hud-zone-tabs::-webkit-scrollbar{display:none}
.hud-zone-button{display:grid;place-items:center;min-width:43px;padding:5px 7px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));color:#c9d6e7;cursor:pointer}.hud-zone-button:hover{border-color:rgba(102,200,255,.5);background:rgba(102,200,255,.1)}.hud-zone-button b{font-size:.78rem;color:white}.hud-zone-button span{font-size:.44rem;letter-spacing:.08em;text-transform:uppercase;color:#8090a8}
.hud-mana-pool{display:flex!important;align-items:center;gap:4px;min-width:0;padding:5px 7px;border-radius:12px;background:rgba(1,7,16,.42);border:1px solid rgba(255,255,255,.075);overflow-x:auto;scrollbar-width:none}.hud-mana-pool::-webkit-scrollbar{display:none}
.mana-pip{position:relative;display:grid;place-items:center;flex:0 0 31px;height:31px;border-radius:50%;font-weight:1000;font-size:.7rem;color:#07111b;border:2px solid rgba(255,255,255,.5);box-shadow:inset 0 0 8px rgba(255,255,255,.36),0 3px 10px rgba(0,0,0,.4)}.mana-pip[data-color="W"]{background:#f5eacb}.mana-pip[data-color="U"]{background:#67b9ef}.mana-pip[data-color="B"]{background:#9b8da8;color:#fff}.mana-pip[data-color="R"]{background:#ef7868}.mana-pip[data-color="G"]{background:#74c888}.mana-pip[data-color="C"]{background:#b9c0ca}.mana-pip.zero{opacity:.28;filter:saturate(.3)}.mana-pip em{position:absolute;right:-4px;bottom:-5px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:#07101e;color:#fff;border:1px solid rgba(255,255,255,.25);font-size:.53rem;font-style:normal}.mana-pip .mana-retained{position:absolute;left:-5px;top:-5px;font-size:.58rem;color:#ffe780;text-shadow:0 1px 5px #000}
.hud-phase-strip{display:flex!important;min-width:0;overflow-x:auto;scrollbar-width:none;border-radius:11px;border:1px solid rgba(255,255,255,.075);background:rgba(3,8,17,.4);padding:4px;gap:2px}.hud-phase-strip::-webkit-scrollbar{display:none}
.hud-phase-step{position:relative;display:grid;place-items:center;flex:1 0 33px;min-width:33px;height:33px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#61728e;cursor:pointer;font-size:.48rem;font-weight:900;letter-spacing:.02em}.hud-phase-step:hover{background:rgba(102,200,255,.09);color:#cfefff}.hud-phase-step.active{background:linear-gradient(180deg,rgba(87,193,255,.36),rgba(36,91,153,.35));border-color:#69cbff;color:#fff;box-shadow:0 0 18px rgba(84,194,255,.25)}.self-command-bar .hud-phase-step.active{border-color:#6cf0bd;box-shadow:0 0 18px rgba(103,228,180,.23)}.hud-phase-step.stop:after{content:"";position:absolute;right:3px;top:3px;width:6px;height:6px;border-radius:50%;background:#ff6b76;box-shadow:0 0 7px #ff6b76}.hud-phase-step.past{color:#9aabc1}.hud-phase-step.future{opacity:.45}
.hud-stack-preview{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:0 8px;min-width:122px;padding:6px 9px;border-radius:11px;border:1px solid rgba(179,128,255,.24);background:linear-gradient(135deg,rgba(117,72,190,.2),rgba(36,25,68,.38));color:#f1e9ff;cursor:pointer}.hud-stack-preview span{font-size:.47rem;letter-spacing:.12em}.hud-stack-preview strong{font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-stack-preview em{grid-row:1/3;grid-column:2;align-self:center;font-size:1.05rem;font-style:normal;font-weight:950}
.hud-room-controls,.hud-forge-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}.hud-room-controls span{font-size:.48rem;color:#75859c}.hud-room-controls b{color:#d7e8ff}.hud-icon-button,.hud-action-button{height:31px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:rgba(255,255,255,.055);color:#d7e6f7;cursor:pointer;font-weight:800}.hud-icon-button{width:31px}.hud-action-button{padding:0 10px;font-size:.58rem}.hud-action-button.resolve{border-color:rgba(170,115,255,.3);background:rgba(126,75,205,.18)}.hud-action-button.phase{border-color:rgba(103,228,180,.3);background:rgba(45,151,116,.17)}.hud-full-control{display:flex;align-items:center;gap:5px;padding:0 7px;height:31px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:rgba(255,255,255,.035);font-size:.53rem;color:#aebed3}.hud-full-control input{accent-color:#69d9ae}
.hud-primary-action{display:grid!important;grid-template-columns:minmax(180px,1fr) minmax(0,2.7fr) auto;align-items:center;gap:8px;min-height:48px;padding-top:5px;border-top:1px solid rgba(255,255,255,.065)}.hud-primary-action .selection-info{padding:3px 6px}.hud-primary-action .selection-info strong{font-size:.69rem}.hud-primary-action .action-buttons{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none}.hud-primary-action .action-buttons::-webkit-scrollbar{display:none}.hud-primary-action .action-button{white-space:nowrap;min-height:34px}.hud-primary-action .pass-button{min-width:210px;height:42px;margin:0!important;border-radius:11px;font-size:.72rem}
.modern-match-shell>.board{grid-row:2!important;position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-height:0!important;overflow:auto!important;padding:24px clamp(200px,15vw,300px) 305px!important;scrollbar-gutter:stable!important;overscroll-behavior:contain!important}
.legacy-hud-elements,.game-status-banner{display:none!important}
.opponent-hand{top:12px!important}.battlefield-opponent{margin-top:78px!important}.battlefield-player{margin-top:8px!important}
.stack-rail{position:absolute!important;right:12px!important;top:14px!important;bottom:auto!important;width:clamp(220px,17vw,300px)!important;max-height:calc(100% - 28px)!important;z-index:62!important;border:1px solid rgba(168,111,255,.25)!important;background:linear-gradient(180deg,rgba(31,22,55,.96),rgba(10,14,26,.96))!important;box-shadow:0 20px 55px rgba(0,0,0,.42)!important}
.stack-rail:empty:after{content:"Pila vuota";display:grid;place-items:center;height:76px;color:#765f91;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}
.cast-zone-hud,.selected-card-panel{position:absolute!important;left:12px!important;right:auto!important;z-index:63!important;width:clamp(240px,19vw,330px)!important;max-width:38vw!important;background:linear-gradient(180deg,rgba(16,35,49,.97),rgba(7,15,27,.97))!important;border:1px solid rgba(85,205,255,.2)!important;box-shadow:0 18px 55px rgba(0,0,0,.42)!important;transform:translateX(calc(-100% - 26px));opacity:0;pointer-events:none;transition:.22s transform,.18s opacity!important}
.cast-zone-hud{top:14px!important;bottom:auto!important;max-height:44%!important}.selected-card-panel{bottom:18px!important;top:auto!important;max-height:48%!important}.cast-zone-hud.drawer-open,.selected-card-panel.drawer-open,.selected-card-panel:not(.hidden){transform:translateX(0);opacity:1;pointer-events:auto}
.board-rift{margin:6px 0!important}.combat-panel{z-index:70!important}
.hand-zone{position:absolute!important;left:50%!important;bottom:4px!important;transform:translateX(-50%)!important;width:min(1680px,calc(100% - 28px))!important;height:294px!important;overflow:visible!important;z-index:55!important}.hand-zone .game-card{width:clamp(155px,11.7vw,215px)!important}
.fx-layer{position:absolute!important;inset:0!important;z-index:105!important;pointer-events:none!important;overflow:hidden!important}.fx-spotlight{top:92px!important;left:50%!important;translate:-50% 0!important;transform:scale(.94)!important;max-width:min(720px,74vw)!important;min-width:290px!important;padding:10px 15px!important;border-radius:15px!important}.fx-spotlight.visible{transform:scale(1)!important}.fx-spotlight img{width:72px!important}.fx-spotlight h3{font-size:.83rem!important}.fx-spotlight p{font-size:.6rem!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1380px){
  .opponent-command-bar{grid-template-columns:minmax(160px,1fr) minmax(175px,.8fr) minmax(190px,.8fr) minmax(320px,1.8fr) 115px auto!important}.self-command-bar{grid-template-columns:minmax(170px,1fr) minmax(190px,.8fr) minmax(190px,.8fr) minmax(330px,1.8fr) auto!important}.hud-phase-step{min-width:29px}.hud-action-button{padding:0 7px}.modern-match-shell>.board{padding-left:225px!important;padding-right:260px!important}
}
@media(max-width:1080px){
  .opponent-command-bar{grid-template-columns:minmax(175px,1fr) minmax(160px,.8fr) minmax(190px,.9fr) minmax(280px,1.45fr) 105px!important}.opponent-command-bar .hud-room-controls{display:none}.self-command-bar{grid-template-columns:minmax(170px,1fr) minmax(165px,.8fr) minmax(185px,.85fr) minmax(280px,1.45fr)!important;grid-template-areas:"identity zones mana phases" "tools primary primary primary"!important}.self-command-bar .hud-forge-actions{justify-content:flex-start}.hud-primary-action{grid-template-columns:minmax(150px,.8fr) minmax(0,2fr) auto}.modern-match-shell>.board{padding-left:185px!important;padding-right:215px!important}.stack-rail{width:205px!important}.cast-zone-hud,.selected-card-panel{width:270px!important}.field-layout{grid-template-columns:minmax(80px,14%) minmax(380px,1fr) minmax(80px,14%)!important}
}
@media(max-width:780px){
  .modern-match-shell.game-shell{overflow:hidden!important}.player-command-bar{padding-left:7px!important;padding-right:36px!important}.opponent-command-bar{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(210px,1.35fr)!important}.opponent-command-bar .hud-zone-tabs,.opponent-command-bar .hud-stack-preview,.opponent-command-bar .hud-room-controls{display:none!important}.self-command-bar{grid-template-columns:minmax(145px,1fr) minmax(145px,1fr) minmax(210px,1.4fr)!important;grid-template-areas:"identity mana phases" "tools primary primary"!important}.self-command-bar .hud-zone-tabs{display:none!important}.hud-forge-actions .hud-action-button{display:none}.hud-full-control span{display:none}.hud-primary-action{grid-template-columns:minmax(0,1fr) auto}.hud-primary-action .selection-info{display:none}.modern-match-shell>.board{padding:14px 158px 245px 8px!important;min-width:0!important}.stack-rail{right:7px!important;width:145px!important;min-width:140px!important;resize:none!important}.cast-zone-hud,.selected-card-panel{left:7px!important;width:min(310px,76vw)!important;max-width:76vw!important;resize:none!important}.hand-zone{height:235px!important}.hand-zone .game-card{width:130px!important;margin-left:-54px!important}.field-layout{grid-template-columns:80px minmax(360px,1fr) 80px!important}.fx-spotlight{top:54px!important;max-width:72vw!important;min-width:250px!important}
}
@media(max-width:520px){
  .opponent-command-bar{grid-template-columns:minmax(135px,1fr) minmax(185px,1.3fr)!important}.opponent-command-bar .hud-mana-pool{display:none!important}.self-command-bar{grid-template-columns:minmax(135px,1fr) minmax(190px,1.35fr)!important;grid-template-areas:"identity phases" "primary primary"!important}.self-command-bar .hud-mana-pool,.self-command-bar .hud-forge-actions{display:none!important}.hud-primary-action .pass-button{min-width:145px}.modern-match-shell>.board{padding-right:130px!important;padding-bottom:215px!important;min-width:0!important}.stack-rail{width:118px!important;min-width:112px!important}.hand-zone{height:205px!important}.hand-zone .game-card{width:112px!important;margin-left:-49px!important}.hud-phase-step{min-width:27px;height:29px}.hud-player-identity{padding:3px 5px}.hud-avatar{flex-basis:31px;height:31px}.hud-life{font-size:1.05rem}
}
/* 0.12 markup compatibility */
.hud-player-identity .hud-name{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:1px}.hud-player-identity .hud-name>span{font-size:.44rem;letter-spacing:.12em;color:#6ccdfd}.hud-player-identity .hud-name strong{font-size:.77rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-player-identity .hud-name em{font-size:.51rem;font-style:normal;color:#71819c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hud-player-identity>.hud-life{margin-left:auto;display:grid;place-items:center;padding:0 7px}.hud-player-identity>.hud-life span{font-size:.42rem;color:#7891aa;letter-spacing:.08em}.hud-player-identity>.hud-life strong{font-size:1.34rem;line-height:1;color:#fff}.hud-danger-stats{display:flex;gap:4px;align-items:center}.hud-danger-stats span{padding:2px 4px;border-radius:6px;background:rgba(255,255,255,.05);font-size:.47rem;color:#91a4bd}.hud-danger-stats b{color:#eef8ff}
.hud-zone-tab{display:grid;place-items:center;min-width:43px;padding:5px 7px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));color:#c9d6e7;cursor:pointer}.hud-zone-tab:hover{border-color:rgba(102,200,255,.5);background:rgba(102,200,255,.1)}.hud-zone-tab strong{font-size:.78rem;color:white}.hud-zone-tab span{font-size:.42rem;letter-spacing:.06em;color:#8090a8}
.hud-mana-pool>header{display:grid;place-items:center;min-width:34px}.hud-mana-pool>header span{font-size:.41rem;color:#71839e;letter-spacing:.08em}.hud-mana-pool>header strong{font-size:.85rem}.mana-pip-row{display:flex;gap:4px}.hud-mana-pool .mana-pip{position:relative;display:grid;grid-template-columns:1fr;place-items:center;flex:0 0 31px;height:31px;border-radius:50%;font-weight:1000;font-size:.7rem;color:#07111b;border:2px solid rgba(255,255,255,.5);box-shadow:inset 0 0 8px rgba(255,255,255,.36),0 3px 10px rgba(0,0,0,.4);opacity:.3}.hud-mana-pool .mana-pip.has-mana{opacity:1}.mana-pip.mana-w{background:#f5eacb}.mana-pip.mana-u{background:#67b9ef}.mana-pip.mana-b{background:#75697f;color:#fff}.mana-pip.mana-r{background:#ef7868}.mana-pip.mana-g{background:#74c888}.mana-pip.mana-c{background:#b9c0ca}.hud-mana-pool .mana-pip i{font-style:normal;font-size:.62rem;line-height:1}.hud-mana-pool .mana-pip b{position:absolute;right:-4px;bottom:-5px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:#07101e;color:#fff;border:1px solid rgba(255,255,255,.25);font-size:.53rem;line-height:15px;text-align:center}.hud-mana-pool .mana-pip small{position:absolute;left:-5px;top:-6px;font-size:.56rem;color:#ffe780;text-shadow:0 1px 5px #000}.mana-help{display:none}
.hud-phase-step.current{background:linear-gradient(180deg,rgba(87,193,255,.36),rgba(36,91,153,.35));border-color:#69cbff;color:#fff;box-shadow:0 0 18px rgba(84,194,255,.25)}.self-command-bar .hud-phase-step.current{border-color:#6cf0bd;box-shadow:0 0 18px rgba(103,228,180,.23)}.hud-phase-step.has-stop:after{content:"";position:absolute;right:3px;top:3px;width:6px;height:6px;border-radius:50%;background:#ff6b76;box-shadow:0 0 7px #ff6b76}.hud-phase-step.complete{color:#9aabc1}.hud-phase-step.upcoming,.hud-phase-step.inactive{opacity:.42}.hud-phase-step i,.hud-phase-step em{display:none}.hud-phase-step span{pointer-events:none}
.hud-zone-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-height:70vh;overflow:auto}.hud-zone-card{display:grid;gap:5px;padding:7px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:#10182b;color:#eef6ff;text-align:left}.hud-zone-card img{width:100%;aspect-ratio:488/680;object-fit:cover;border-radius:8px}.hud-zone-card strong{font-size:.64rem}.hud-zone-card small{font-size:.52rem;color:#7f91aa}
.player-command-bar.active-turn{background:linear-gradient(180deg,rgba(22,42,67,.99),rgba(8,17,32,.99))!important}.self-command-bar.active-turn{background:linear-gradient(180deg,rgba(20,52,48,.99),rgba(7,25,27,.99))!important}.player-command-bar.has-priority:before{content:"PRIORITÀ";position:absolute;left:50%;top:0;translate:-50% 0;padding:2px 10px;border-radius:0 0 8px 8px;background:#61cbff;color:#06111e;font-size:.43rem;font-weight:1000;letter-spacing:.11em;box-shadow:0 0 20px rgba(97,203,255,.48)}.self-command-bar.has-priority:before{background:#6ee7b2}

/* 0.13 — one large, non-blocking card reveal; all non-card feedback stays in HUD. */
.fx-spotlight.card-reveal{top:72px!important;left:50%!important;right:auto!important;translate:-50% 0!important;width:min(760px,72vw)!important;min-width:360px!important;min-height:210px!important;padding:18px 24px!important;gap:22px!important;border-radius:24px!important;background:linear-gradient(145deg,rgba(21,27,52,.985),rgba(8,12,25,.98))!important;box-shadow:0 28px 90px rgba(0,0,0,.76),0 0 70px rgba(122,91,255,.32)!important}
.fx-spotlight.card-reveal img{width:150px!important;height:auto!important;max-height:210px!important;flex:0 0 150px!important;border-radius:12px!important}
.fx-spotlight.card-reveal strong{font-size:clamp(1.25rem,2.3vw,2rem)!important;-webkit-line-clamp:2!important}
.fx-spotlight.card-reveal small{display:block;margin-top:8px;color:#c8d2e8;font-size:.82rem;line-height:1.35}
@media(max-width:760px){.fx-spotlight.card-reveal{top:58px!important;width:min(540px,calc(100vw - 170px))!important;min-width:250px!important;min-height:150px!important;padding:12px 15px!important}.fx-spotlight.card-reveal img{width:96px!important;max-height:135px!important;flex-basis:96px!important}.fx-spotlight.card-reveal strong{font-size:1rem!important}}

/* 0.13 — large, stable choice surface for modal spells. */
#choiceModal .target-modal{width:min(980px,96vw)!important;max-height:88dvh!important;overflow:auto!important;padding:22px!important}
.mode-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:16px}.mode-choice-option{border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:12px;background:rgba(18,25,47,.92);transition:.18s border-color,.18s transform,.18s box-shadow}.mode-choice-option.selected{border-color:#59d9ff;box-shadow:0 0 0 2px rgba(89,217,255,.18),0 18px 40px rgba(0,0,0,.35);transform:translateY(-2px)}.mode-choice-toggle{width:100%;min-height:76px;border:0;background:transparent;color:#eef6ff;text-align:left;display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start;cursor:pointer}.mode-check{width:25px;height:25px;border-radius:8px;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;color:transparent}.mode-choice-option.selected .mode-check{color:#06101a;background:#59d9ff}.mode-choice-option label,.mode-choice-option small{display:block;margin-top:9px;color:#aebbd4;font-size:.72rem}.mode-choice-option select{display:block;width:100%;margin-top:6px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#0e1528;color:#fff}.mode-choice-footer{position:sticky;bottom:-22px;margin:18px -22px -22px;padding:14px 22px;background:rgba(8,12,24,.97);border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;gap:12px}

/* 0.14 — viewport-safe match layout and compact horizontal Forge HUD. */
html,body{max-width:100%;overflow-x:hidden}.game-view{width:100vw;height:100dvh;min-height:0;padding:0;overflow:hidden}.modern-match-shell.game-shell{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;width:100vw!important;height:100dvh!important;min-height:0!important;max-width:100vw!important;overflow:hidden!important;background:radial-gradient(circle at 50% 45%,rgba(33,81,87,.2),transparent 45%),#070b13}
.player-command-bar{position:relative!important;inset:auto!important;width:100%!important;max-width:100vw!important;min-width:0!important;max-height:118px!important;overflow:hidden!important;padding:6px 42px 6px 8px!important;border-radius:0!important;display:grid!important;align-items:center!important;column-gap:7px!important;row-gap:5px!important;z-index:70!important;box-shadow:0 8px 24px rgba(0,0,0,.32)!important}
.opponent-command-bar{grid-row:1!important;grid-template-columns:minmax(180px,1.1fr) minmax(220px,.9fr) minmax(205px,.85fr) 88px minmax(300px,1.8fr) 116px minmax(140px,.7fr)!important;grid-template-areas:"identity zones mana daynight phases stack room"!important}.self-command-bar{grid-row:3!important;grid-template-columns:minmax(180px,1.05fr) minmax(210px,.85fr) minmax(205px,.8fr) minmax(320px,1.65fr) minmax(245px,1fr)!important;grid-template-areas:"identity zones mana phases tools" "primary primary primary primary primary"!important}
.hud-player-identity{grid-area:identity;min-width:0!important}.hud-zone-tabs{grid-area:zones;min-width:0;overflow-x:auto;scrollbar-width:thin}.hud-mana-pool{grid-area:mana;min-width:0}.hud-phase-strip{grid-area:phases;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.hud-stack-preview{grid-area:stack}.hud-room-controls{grid-area:room;min-width:0}.hud-forge-actions{grid-area:tools;min-width:0;justify-content:flex-end;flex-wrap:nowrap!important;overflow-x:auto}.hud-primary-action{grid-area:primary;min-width:0!important;display:grid!important;grid-template-columns:minmax(130px,.65fr) minmax(0,2fr) minmax(170px,.65fr)!important}.hud-day-night{grid-area:daynight;height:52px;min-width:78px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:linear-gradient(160deg,rgba(22,30,49,.96),rgba(8,13,24,.96));color:#cbd7e8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.hud-day-night span{font-size:.44rem;letter-spacing:.08em;font-weight:900}.hud-day-night strong{font-size:.72rem}.hud-day-night.day{background:linear-gradient(160deg,#6d5320,#21170a);border-color:#f8d774;color:#fff0ad;box-shadow:inset 0 0 18px rgba(255,203,78,.18)}.hud-day-night.night{background:linear-gradient(160deg,#172b58,#070e25);border-color:#7f9fff;color:#cfdbff;box-shadow:inset 0 0 18px rgba(94,126,255,.18)}
.hud-mana-pool header{display:flex;align-items:center;gap:6px}.hud-mana-pool header em{margin-left:auto;font-style:normal;font-size:.62rem;color:#bceeff}.mana-pip.snow-mana{outline:1px solid rgba(177,235,255,.68);box-shadow:0 0 10px rgba(139,224,255,.22)}.mana-pip.snow-mana small{color:#d8f6ff;font-size:.5rem}
.modern-match-shell>.board{grid-row:2!important;position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;overflow:auto!important;padding:10px clamp(8px,1.2vw,18px) clamp(150px,20vh,230px)!important;scrollbar-gutter:stable both-edges!important}.battlefield{width:100%!important;min-width:0!important;min-height:clamp(210px,28vh,340px)!important}.field-layout{width:100%!important;min-width:0!important;grid-template-columns:minmax(72px,14%) minmax(0,1fr) minmax(72px,14%)!important;gap:clamp(5px,.8vw,12px)!important}.field-lane{min-width:0!important;overflow-x:auto!important;overflow-y:visible!important}.battlefield .game-card{width:clamp(82px,min(8.1vw,13vh),140px)!important}.opponent-hand{min-height:44px!important}.hand-zone{left:0!important;right:0!important;bottom:0!important;width:100%!important;height:clamp(145px,21vh,225px)!important;overflow-x:auto!important;overflow-y:visible!important;padding:20px 12px 5px!important;justify-content:center!important}.hand-zone .game-card{width:clamp(125px,min(12vw,20vh),210px)!important;margin-left:clamp(-72px,-4.7vw,-38px)!important;flex:0 0 auto!important}.hand-zone .game-card:first-child{margin-left:0!important}
.stack-rail{position:absolute!important;right:8px!important;top:50%!important;translate:0 -50%!important;width:min(300px,25vw)!important;max-height:64%!important;min-width:210px!important;z-index:35!important;resize:horizontal!important;overflow:auto!important}.cast-zone-hud,.selected-card-panel{position:absolute!important;left:8px!important;width:min(330px,27vw)!important;max-width:calc(100vw - 16px)!important;z-index:36!important}.selected-card-panel{top:50%!important;translate:0 -50%!important;max-height:70%!important;overflow:auto!important}.cast-zone-hud{top:10px!important;max-height:50%!important;overflow:auto!important}.fx-spotlight.card-reveal{top:clamp(84px,12vh,132px)!important;max-width:min(620px,60vw)!important;z-index:60!important}.board-rift,.game-status-banner{max-width:min(620px,60vw)!important;margin-inline:auto!important}.player-command-bar.collapsed{max-height:38px!important;padding-block:3px!important}.hud-collapse-button{right:7px!important;left:auto!important}
@media(max-width:1180px){.opponent-command-bar{grid-template-columns:minmax(165px,1fr) minmax(180px,.8fr) minmax(180px,.75fr) 78px minmax(270px,1.45fr)!important;grid-template-areas:"identity zones mana daynight phases"!important}.opponent-command-bar .hud-stack-preview,.opponent-command-bar .hud-room-controls{display:none!important}.self-command-bar{grid-template-columns:minmax(165px,1fr) minmax(180px,.8fr) minmax(180px,.75fr) minmax(260px,1.35fr)!important;grid-template-areas:"identity zones mana phases" "tools primary primary primary"!important}.stack-rail{width:230px!important}.cast-zone-hud,.selected-card-panel{width:260px!important}.modern-match-shell>.board{padding-inline:8px!important}.field-layout{grid-template-columns:minmax(68px,12%) minmax(0,1fr) minmax(68px,12%)!important}}
@media(max-width:820px){.player-command-bar{max-height:104px!important;padding-right:34px!important}.opponent-command-bar{grid-template-columns:minmax(145px,1fr) 72px minmax(210px,1.4fr)!important;grid-template-areas:"identity daynight phases"!important}.opponent-command-bar .hud-zone-tabs,.opponent-command-bar .hud-mana-pool{display:none!important}.self-command-bar{grid-template-columns:minmax(145px,1fr) minmax(150px,.9fr) minmax(210px,1.35fr)!important;grid-template-areas:"identity mana phases" "primary primary primary"!important}.self-command-bar .hud-zone-tabs,.self-command-bar .hud-forge-actions{display:none!important}.hud-primary-action{grid-template-columns:minmax(0,1fr) minmax(145px,.55fr)!important}.hud-primary-action .selection-info{display:none!important}.modern-match-shell>.board{padding:8px 6px clamp(130px,19vh,190px)!important;overflow-x:hidden!important}.field-layout{grid-template-columns:64px minmax(0,1fr) 64px!important}.battlefield .game-card{width:clamp(76px,16vw,116px)!important}.stack-rail{right:4px!important;width:145px!important;min-width:132px!important;max-height:55%!important;resize:none!important}.cast-zone-hud,.selected-card-panel{left:4px!important;width:min(245px,67vw)!important;resize:none!important}.hand-zone{height:clamp(130px,18vh,180px)!important;justify-content:flex-start!important}.hand-zone .game-card{width:clamp(112px,27vw,155px)!important;margin-left:-44px!important}.fx-spotlight.card-reveal{max-width:calc(100vw - 24px)!important;top:76px!important}.board-rift,.game-status-banner{max-width:calc(100vw - 310px)!important}}

/* Forge ChooseType: compact, searchable and resizable without overflowing. */
.target-modal.creature-type-modal{width:min(560px,calc(100vw - 24px));max-height:min(680px,calc(100dvh - 24px));overflow:hidden}
.creature-type-choice{display:grid;gap:12px;min-height:0}
.creature-type-choice label{display:grid;gap:6px;color:var(--muted);font-size:clamp(.78rem,1vw,.95rem);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.creature-type-choice input,.creature-type-choice select{width:100%;border:1px solid rgba(157,182,224,.24);border-radius:10px;background:#091321;color:#eef5ff;font:inherit}
.creature-type-choice input{padding:11px 13px}.creature-type-choice select{min-height:clamp(220px,42vh,390px);padding:6px;overflow:auto}
.creature-type-choice option{padding:8px 10px;border-radius:7px}.creature-type-choice option:checked{background:linear-gradient(90deg,#1f7a71,#275f91);color:white}
.creature-type-choice footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:clamp(.75rem,.9vw,.9rem)}
.target-modal.color-choice-modal{width:min(440px,calc(100vw - 24px))}.modal-color-grid{display:grid;grid-template-columns:repeat(5,minmax(52px,1fr));gap:10px}.modal-color-grid .action-button{min-height:64px}.modal-color-grid .mana-symbol{width:38px;height:38px;font-size:1.15rem}
@media(max-width:560px){.player-command-bar{max-height:94px!important}.opponent-command-bar{grid-template-columns:minmax(125px,1fr) 66px minmax(145px,1.1fr)!important}.self-command-bar{grid-template-columns:minmax(125px,1fr) minmax(135px,.9fr)!important;grid-template-areas:"identity phases" "primary primary"!important}.self-command-bar .hud-mana-pool{display:none!important}.hud-phase-step{min-width:27px!important}.hud-primary-action{grid-template-columns:1fr!important}.action-buttons{display:none!important}.pass-button{min-width:0!important;width:100%!important}.field-layout{grid-template-columns:52px minmax(0,1fr) 52px!important}.stack-rail{width:112px!important;min-width:104px!important}.cast-zone-hud,.selected-card-panel{width:min(210px,62vw)!important}.board-rift,.game-status-banner{max-width:calc(100vw - 230px)!important}.battlefield{min-height:190px!important}.battlefield .game-card{width:72px!important}.hand-zone .game-card{width:108px!important;margin-left:-47px!important}}

/* 0.15 — compact action HUD and direct battlefield targeting. */
.opponent-command-bar{grid-template-areas:"identity zones mana daynight stack room"!important;grid-template-columns:minmax(180px,1fr) minmax(220px,.9fr) minmax(205px,.85fr) 88px 116px minmax(140px,.7fr)!important}
.self-command-bar{max-height:146px!important;grid-template-columns:minmax(180px,1fr) minmax(210px,.9fr) minmax(205px,.85fr) minmax(220px,1fr)!important;grid-template-areas:"phases phases phases phases" "identity zones mana tools" "primary primary primary primary"!important}
.unified-phase-strip{height:35px!important;width:100%;padding:2px!important}.unified-phase-strip .hud-phase-step{height:29px;min-width:42px;padding:3px}.unified-phase-strip .hud-phase-step span{font-size:.5rem}
.hud-symbol{width:20px!important;height:20px!important;stroke-width:1.8}.hud-zone-tab{min-width:48px!important;height:43px!important;padding:3px 6px!important}.hud-zone-tab strong{font-size:.7rem!important}.hud-zone-tab span{font-size:.38rem!important}
.hud-forge-actions{gap:7px!important}.base-action{height:38px!important;display:inline-flex;align-items:center;gap:7px;padding:0 12px!important;font-size:.65rem!important}.button-glyph{font-size:1rem;line-height:1}
.hud-life{position:relative;border:0;background:transparent;color:inherit;cursor:pointer;overflow:visible}.life-details{display:none;position:absolute;z-index:100;right:0;top:calc(100% + 7px);width:max-content;padding:8px 10px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:#0b1322;color:#dce9fa;font-size:.62rem;box-shadow:0 12px 35px rgba(0,0,0,.55)}.hud-life.show-details .life-details{display:block}
.game-card.is-targetable{cursor:crosshair!important;box-shadow:0 0 0 3px #fff,0 0 34px rgba(255,255,255,.72),0 14px 27px rgba(0,0,0,.5)!important}.hud-life.is-targetable{outline:3px solid #fff;box-shadow:0 0 24px rgba(255,255,255,.7);border-radius:9px}
.game-log{bottom:8px!important}.game-log .panel-heading .micro-label{display:none}.log-entry{font-size:.69rem!important;padding:6px 8px!important}
@media(max-width:820px){.self-command-bar{grid-template-areas:"phases phases phases" "identity mana tools" "primary primary primary"!important;max-height:146px!important}.opponent-command-bar{grid-template-areas:"identity daynight stack"!important}.hud-forge-actions{display:flex!important}.hud-forge-actions .base-action{display:inline-flex!important}.hud-full-control span{display:none}.self-command-bar .hud-zone-tabs{display:none!important}}

/* Hand must be anchored to the board, never to the legacy 50% origin. */
.modern-match-shell>.board .hand-zone{
  left:0!important;right:0!important;bottom:6px!important;
  transform:none!important;width:100%!important;
  height:clamp(170px,22vh,230px)!important;
  padding:8px clamp(10px,2vw,28px) 2px!important;
  align-items:flex-end!important;justify-content:safe center!important;
  overflow-x:auto!important;overflow-y:hidden!important;
  scroll-padding-inline:18px;scrollbar-width:thin;
}
.modern-match-shell>.board .hand-zone .game-card{
  width:clamp(105px,min(9vw,14vh),160px)!important;
  max-height:calc(100% - 6px)!important;
  margin-left:clamp(-42px,-2.4vw,-22px)!important;
  transform-origin:50% 100%!important;
}
.modern-match-shell>.board .hand-zone .game-card:first-child{margin-left:0!important}
.modern-match-shell>.board .hand-zone .game-card.is-legal:hover,
.modern-match-shell>.board .hand-zone .game-card.selected{transform:translateY(-8px) scale(1.025) rotate(0)!important}

/* Collapsed means one complete identity/life tab, not a clipped grid. */
.player-command-bar.collapsed{
  display:flex!important;align-items:center!important;
  width:100%!important;height:42px!important;max-height:42px!important;
  min-height:42px!important;padding:4px 42px 4px 6px!important;
  overflow:visible!important;
}
.player-command-bar.collapsed .hud-player-identity{
  display:flex!important;width:min(420px,calc(100vw - 54px))!important;
  max-width:min(420px,calc(100vw - 54px))!important;height:34px!important;
  min-height:34px!important;padding:2px 7px!important;overflow:visible!important;
}
.player-command-bar.collapsed .hud-avatar{height:28px!important;flex:0 0 28px!important;border-radius:9px!important}
.player-command-bar.collapsed .hud-life{height:28px!important;margin-left:auto!important;padding:0 6px!important}
.player-command-bar.collapsed .hud-life strong{font-size:1.15rem!important}
.player-command-bar.collapsed .hud-life span{font-size:.38rem!important}
.player-command-bar.collapsed .hud-zone-tabs,
.player-command-bar.collapsed .hud-mana-pool,
.player-command-bar.collapsed .hud-phase-strip,
.player-command-bar.collapsed .hud-forge-actions,
.player-command-bar.collapsed .hud-primary-action,
.player-command-bar.collapsed .hud-stack-preview,
.player-command-bar.collapsed .hud-room-controls,
.player-command-bar.collapsed .hud-day-night{display:none!important}
.player-command-bar.collapsed .hud-collapse-button{display:grid!important;place-items:center;top:5px!important;height:32px!important}
@media(max-width:560px){
  .modern-match-shell>.board .hand-zone{height:160px!important;padding-inline:6px!important;justify-content:flex-start!important}
  .modern-match-shell>.board .hand-zone .game-card{width:104px!important;margin-left:-34px!important}
  .player-command-bar.collapsed .hud-player-identity{width:min(330px,calc(100vw - 48px))!important}
}

/* 0.16 — one viewport, no nested HUD scrollers. This block intentionally
   normalizes the accumulated legacy layouts above. */
.game-view,.modern-match-shell.game-shell{width:100vw!important;height:100dvh!important;overflow:hidden!important}
.modern-match-shell>.board{
  display:grid!important;grid-template-rows:minmax(0,1fr) 22px minmax(0,1fr)!important;
  width:100%!important;height:100%!important;min-height:0!important;
  padding:4px 8px clamp(150px,21vh,225px)!important;
  overflow:hidden!important;scrollbar-gutter:auto!important;overscroll-behavior:none!important;
}
.battlefield{min-height:0!important;height:100%!important;margin:0!important;padding:2px!important;overflow:visible!important}
.battlefield-opponent{grid-row:1!important;transform:none!important}.board-rift{grid-row:2!important;margin:0!important;height:22px!important}.battlefield-player{grid-row:3!important}
.field-layout{height:100%!important;min-height:0!important;grid-template-columns:minmax(54px,13%) minmax(0,1fr) minmax(54px,13%)!important;gap:5px!important}
.field-center,.field-support,.permanent-lane,.lane-cards{min-width:0!important;min-height:0!important;overflow:visible!important}
.field-center{display:grid!important;grid-template-rows:1fr 1fr!important;gap:4px!important}.permanent-lane{padding:3px!important}
.lane-cards{display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:nowrap!important;gap:3px!important}
.lane-cards>.game-card,.lane-cards>.attached-permanent-stack{width:var(--field-card-width,82px)!important;min-width:0!important;flex:0 0 var(--field-card-width,82px)!important}
.battlefield .game-card{width:100%!important;max-height:min(17vh,145px)!important}
.modern-match-shell>.board .hand-zone{overflow:hidden!important;scrollbar-width:none!important;justify-content:center!important}
.modern-match-shell>.board .hand-zone .game-card{width:var(--hand-card-width,112px)!important;flex:0 0 var(--hand-card-width,112px)!important;margin-left:calc(-1 * var(--hand-overlap,34px))!important}
.modern-match-shell>.board .hand-zone .game-card:first-child{margin-left:0!important}
.hud-zone-tabs,.hud-mana-pool,.hud-phase-strip,.hud-forge-actions,.hud-primary-action .action-buttons{overflow:hidden!important;scrollbar-width:none!important}
.hud-phase-step{min-width:0!important;flex:1 1 0!important}.hud-zone-tab{min-width:0!important;flex:1 1 44px!important}

/* Stack is contextual: the permanent empty panel no longer floats mid-board. */
.stack-rail{display:none!important;position:absolute!important;right:8px!important;top:8px!important;bottom:auto!important;translate:none!important;transform:none!important;width:min(300px,30vw)!important;min-width:0!important;max-height:none!important;overflow:hidden!important;resize:none!important}
.stack-rail.has-items{display:flex!important}.stack-item{width:100%!important;padding:6px!important}.stack-item:nth-of-type(n+6){display:none!important}.stack-more{padding:5px;text-align:center;font-size:.6rem;color:#a995cb}

/* Every overlay is fully contained. Dense content scales instead of being cut. */
.selected-card-panel,.combat-panel,.target-modal,.import-modal,.game-log,.rules-hud{
  box-sizing:border-box!important;max-width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important;
  overflow:hidden!important;resize:none!important;
}
.selected-card-panel{
  position:fixed!important;left:clamp(6px,4vw,54px)!important;top:clamp(54px,12vh,130px)!important;right:auto!important;bottom:auto!important;
  translate:none!important;transform:none!important;width:min(720px,92vw)!important;
  padding:38px 14px 14px!important;grid-template-columns:minmax(110px,30%) minmax(0,1fr)!important;gap:14px!important;
}
.selected-card-panel>img{width:100%!important;max-height:calc(100dvh - 90px)!important;object-fit:contain!important}
.selected-card-panel h3{font-size:clamp(1rem,2vw,1.35rem)!important;margin-block:5px!important}.selected-card-panel p{font-size:clamp(.62rem,1.15vw,.82rem)!important;line-height:1.35!important;margin-block:7px!important}.selected-card-panel .keyword-list{margin:6px 0!important}.selected-card-panel .keyword{padding:3px 6px!important;font-size:.55rem!important}
.panel-drag-handle{position:absolute;inset:0 42px auto 0;height:32px;padding:9px 13px;border-bottom:1px solid rgba(255,255,255,.09);color:#9eb0c7;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.drag-handle{cursor:grab;touch-action:none;user-select:none}.is-dragging .drag-handle{cursor:grabbing}.is-dragging{transition:none!important;box-shadow:0 25px 80px rgba(0,0,0,.72)!important}
.modal-backdrop{padding:6px!important;overflow:hidden!important}.target-modal,.import-modal{position:relative;width:min(900px,calc(100vw - 12px))!important;max-height:calc(100dvh - 12px)!important;padding:14px!important}
.target-modal>.panel-heading,.import-modal>.panel-heading,.game-log>.panel-heading,.rules-hud>.panel-heading,.combat-panel>.panel-heading{touch-action:none;user-select:none}
.target-options{margin-top:8px!important;gap:6px!important;grid-template-columns:repeat(auto-fit,minmax(105px,1fr))!important}.target-option{padding:8px!important}.target-option strong{font-size:.7rem!important}
#choiceModal .target-modal{overflow:hidden!important;max-height:calc(100dvh - 12px)!important;padding:14px!important}.hud-zone-card-grid,.copy-choice-grid,.library-choice-grid{overflow:hidden!important;max-height:none!important;grid-template-columns:repeat(auto-fit,minmax(70px,1fr))!important;gap:5px!important}.hud-zone-card,.copy-choice-card{padding:4px!important}.hud-zone-card img,.copy-choice-card img{max-height:clamp(70px,12vh,125px)!important;object-fit:contain!important}
.card-zoom-overlay{overflow:hidden!important;padding:8px!important}.card-zoom-stage{max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow:hidden!important}.card-zoom-stage img{max-height:calc(100dvh - 32px)!important;width:auto!important;object-fit:contain!important}.card-zoom-copy{font-size:clamp(.62rem,1vw,.85rem)!important}
@media(max-width:700px){
  .modern-match-shell>.board{padding:3px 4px clamp(128px,19vh,165px)!important}.field-layout{grid-template-columns:44px minmax(0,1fr) 44px!important}.lane-label{font-size:.42rem!important}
  .selected-card-panel{left:6px!important;top:48px!important;width:calc(100vw - 12px)!important;grid-template-columns:100px minmax(0,1fr)!important;padding:36px 9px 9px!important}.selected-card-panel>img{max-height:145px!important}
  .target-modal,.import-modal{font-size:.76rem!important}.card-zoom-copy{display:none!important}.stack-rail{width:min(220px,58vw)!important}
}
@media(max-height:650px){
  .modern-match-shell>.board{padding-bottom:120px!important}.modern-match-shell>.board .hand-zone{height:125px!important}.selected-card-panel{top:6px!important}.selected-card-panel>img{max-height:calc(100dvh - 60px)!important}.hud-phase-strip{height:29px!important}.self-command-bar{max-height:132px!important}
}

/* 0.17 — single right-aligned action cluster and symbolic mana costs. */
.self-command-bar{
  max-height:100px!important;
  grid-template-columns:minmax(165px,.8fr) minmax(190px,.8fr) minmax(190px,.75fr) minmax(360px,2fr)!important;
  grid-template-areas:"phases phases phases phases" "identity zones mana primary"!important;
}
.self-command-bar .hud-primary-action{
  grid-area:primary!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;
  min-height:42px!important;padding:0!important;border:0!important;gap:7px!important;overflow:visible!important;
}
.hud-primary-action .selection-info{display:none!important}
.hud-primary-action .action-buttons{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex:0 1 auto!important}
.hud-action-cluster{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto}
.hud-action-button.base-action,.action-button.dock-action{
  height:38px!important;min-height:38px!important;padding:0 12px!important;border:1px solid rgba(255,255,255,.14)!important;
  border-radius:10px!important;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045))!important;
  color:#eaf3ff!important;box-shadow:none!important;font-size:.65rem!important;font-weight:850!important;white-space:nowrap!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
}
.hud-action-button.base-action:hover,.action-button.dock-action:hover{border-color:rgba(102,210,255,.55)!important;background:rgba(102,200,255,.12)!important}
.hud-action-button.primary-flow,.action-button.dock-action.primary{border-color:rgba(103,228,180,.38)!important;background:linear-gradient(180deg,rgba(57,179,137,.3),rgba(31,111,90,.25))!important}
.hud-action-button:disabled{opacity:.35;cursor:not-allowed}
.mana-cost{display:inline-flex;align-items:center;gap:3px}.mana-symbol{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:.68rem;font-weight:1000;line-height:1;color:#08101a;border:1px solid rgba(255,255,255,.55);box-shadow:inset 0 0 6px rgba(255,255,255,.4),0 2px 5px rgba(0,0,0,.4)}
.mana-symbol.mana-w{background:#f5e8bd}.mana-symbol.mana-u{background:#58abe2;color:#071424}.mana-symbol.mana-b{background:#51495b;color:#fff}.mana-symbol.mana-r{background:#df6252}.mana-symbol.mana-g{background:#59ad72}.mana-symbol.mana-c{background:#aeb7c2}.mana-symbol.mana-s{background:#d7f4ff;color:#24506a}.mana-symbol.mana-generic,.mana-symbol.mana-special{background:linear-gradient(145deg,#d7dbe1,#737e8c)}.action-cost-text{font-size:.58rem;color:#b7c5d8}
@media(max-width:1000px){
  .self-command-bar{grid-template-columns:minmax(145px,.8fr) minmax(160px,.7fr) minmax(330px,1.8fr)!important;grid-template-areas:"phases phases phases" "identity mana primary"!important}.self-command-bar .hud-zone-tabs{display:none!important}
  .hud-action-button.base-action,.action-button.dock-action{padding-inline:9px!important}.button-glyph{display:none}
}
@media(max-width:680px){
  .self-command-bar{max-height:92px!important;grid-template-columns:minmax(118px,.65fr) minmax(0,2fr)!important;grid-template-areas:"phases phases" "identity primary"!important}.self-command-bar .hud-mana-pool{display:none!important}
  .hud-action-button.base-action,.action-button.dock-action{height:34px!important;min-height:34px!important;padding-inline:7px!important;font-size:.58rem!important}.mana-symbol{width:17px;height:17px;font-size:.56rem}.hud-action-cluster{gap:3px}.hud-primary-action .action-buttons{gap:3px}
}

/* 0.18 — readable Forge rail and one aligned control row. */
:root{--hud-phase-h:clamp(36px,3.2vw,44px);--hud-control-h:clamp(44px,4.2vw,54px);--hud-text:clamp(.68rem,.72vw,.88rem);--hud-icon:clamp(22px,1.8vw,30px)}
.self-command-bar{max-height:calc(var(--hud-phase-h) + var(--hud-control-h) + 14px)!important;grid-template-rows:var(--hud-phase-h) var(--hud-control-h)!important;row-gap:5px!important;padding-top:5px!important;padding-bottom:5px!important}
.unified-phase-strip{height:var(--hud-phase-h)!important;padding:3px!important;align-items:stretch!important}
.unified-phase-strip .hud-phase-step{height:auto!important;min-height:0!important;border-radius:8px!important}
.unified-phase-strip .hud-phase-step span{font-size:clamp(.72rem,.78vw,.98rem)!important;font-weight:1000!important;letter-spacing:.04em!important;line-height:1!important}
.hud-collapse-button{top:5px!important;translate:none!important;height:calc(var(--hud-phase-h) - 2px)!important;width:32px!important;border-radius:8px!important;font-size:clamp(.85rem,1vw,1.05rem)!important}
.self-command-bar .hud-player-identity,.self-command-bar .hud-zone-tabs,.self-command-bar .hud-mana-pool,.self-command-bar .hud-primary-action{height:var(--hud-control-h)!important;min-height:var(--hud-control-h)!important;align-self:center!important;margin:0!important}
.self-command-bar .hud-player-identity{padding:5px 9px!important}.self-command-bar .hud-avatar{flex-basis:calc(var(--hud-control-h) - 12px)!important;height:calc(var(--hud-control-h) - 12px)!important;font-size:clamp(.72rem,.8vw,.95rem)!important}
.hud-player-identity .hud-name>span{font-size:clamp(.52rem,.5vw,.65rem)!important}.hud-player-identity .hud-name strong{font-size:var(--hud-text)!important}.hud-player-identity>.hud-life strong{font-size:clamp(1.35rem,1.7vw,2rem)!important}.hud-player-identity>.hud-life span{font-size:clamp(.48rem,.46vw,.6rem)!important}
.self-command-bar .hud-zone-tabs{gap:5px!important}.self-command-bar .hud-zone-tab{height:100%!important;min-width:0!important;padding:4px 7px!important;grid-template-columns:auto auto!important;grid-template-rows:1fr auto!important;column-gap:5px!important}.self-command-bar .hud-zone-tab .hud-symbol{width:var(--hud-icon)!important;height:var(--hud-icon)!important;grid-row:1/3!important}.self-command-bar .hud-zone-tab strong{font-size:clamp(.78rem,.78vw,.95rem)!important}.self-command-bar .hud-zone-tab span{font-size:clamp(.46rem,.43vw,.58rem)!important}
.self-command-bar .hud-mana-pool{padding:5px 9px!important;gap:6px!important}.self-command-bar .hud-mana-pool>header span{font-size:clamp(.48rem,.46vw,.6rem)!important}.self-command-bar .hud-mana-pool>header strong{font-size:clamp(.9rem,.9vw,1.1rem)!important}.self-command-bar .mana-pip{flex-basis:clamp(30px,2.25vw,38px)!important;height:clamp(30px,2.25vw,38px)!important;font-size:clamp(.7rem,.7vw,.9rem)!important}
.self-command-bar .hud-primary-action{border:0!important;padding:0!important}.hud-primary-action:before,.hud-primary-action:after{display:none!important}#selectionInfo{display:none!important}.hud-primary-action .action-buttons,.hud-action-cluster{height:100%!important;align-items:stretch!important}
.hud-action-button.base-action,.action-button.dock-action{height:100%!important;min-height:var(--hud-control-h)!important;padding-inline:clamp(9px,.85vw,15px)!important;font-size:var(--hud-text)!important;border-radius:10px!important}.button-glyph{display:grid!important;place-items:center!important;width:var(--hud-icon)!important;height:var(--hud-icon)!important;font-size:clamp(1rem,1.25vw,1.4rem)!important}.primary-glyph{border-radius:50%;background:rgba(255,255,255,.12);font-size:clamp(1rem,1.1vw,1.25rem)!important}
@media(max-width:1000px){:root{--hud-text:clamp(.62rem,1.15vw,.78rem);--hud-icon:clamp(20px,2.8vw,26px)}.button-glyph{display:grid!important}.self-command-bar{grid-template-columns:minmax(145px,.78fr) minmax(155px,.72fr) minmax(315px,1.8fr)!important}.hud-action-button.base-action,.action-button.dock-action{padding-inline:8px!important}}
@media(max-width:680px){:root{--hud-phase-h:36px;--hud-control-h:43px;--hud-text:clamp(.58rem,2.2vw,.72rem)}.self-command-bar{max-height:89px!important}.unified-phase-strip .hud-phase-step span{font-size:clamp(.62rem,2.1vw,.78rem)!important}.hud-action-button.base-action,.action-button.dock-action{min-height:var(--hud-control-h)!important}.hud-action-button.base-action span:last-child{display:none}.hud-action-button.primary-flow span:last-child{display:inline}.hud-action-cluster{gap:2px!important}}

/* 0.19 — Arcane Joint: palette, light/dark themes and chubby brand system. */
:root,
html[data-theme="dark"]{
  --aj-ink:#03122F;
  --aj-navy:#19305C;
  --aj-plum:#413B61;
  --aj-mauve:#AE7DAC;
  --aj-blush:#F3DADF;
  --aj-coral:#F1916D;
  color-scheme:dark;
  --bg:#03122F;
  --panel:rgba(25,48,92,.76);
  --panel-strong:rgba(3,18,47,.96);
  --surface:rgba(65,59,97,.58);
  --surface-hover:rgba(174,125,172,.2);
  --field-bg:rgba(3,18,47,.76);
  --text:#F3DADF;
  --text-strong:#FFF8FA;
  --muted:#D8BECE;
  --line:rgba(243,218,223,.16);
  --line-strong:rgba(243,218,223,.3);
  --brand:#F1916D;
  --brand-alt:#AE7DAC;
  --on-brand:#03122F;
  --focus:#F1916D;
  --scrim:rgba(3,18,47,.78);
  --browser-theme:#03122F;
  --ambient-particle-rgb:243,218,223;
  --violet:var(--brand-alt);
  --cyan:var(--focus);
  --gold:var(--brand);
  --danger:#FF8292;
  --good:#78D3AE;
  --shadow:0 24px 70px rgba(0,0,0,.45),0 4px 0 rgba(3,18,47,.2);
  --radius:28px;
  font-family:"Nunito Sans",Nunito,ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;
}
html[data-theme="light"]{
  color-scheme:light;
  --bg:#F3DADF;
  --panel:rgba(255,249,250,.86);
  --panel-strong:rgba(255,248,249,.97);
  --surface:rgba(174,125,172,.16);
  --surface-hover:rgba(241,145,109,.19);
  --field-bg:rgba(255,252,252,.88);
  --text:#03122F;
  --text-strong:#03122F;
  --muted:#413B61;
  --line:rgba(3,18,47,.15);
  --line-strong:rgba(3,18,47,.28);
  --brand:#F1916D;
  --brand-alt:#AE7DAC;
  --on-brand:#03122F;
  --focus:#19305C;
  --scrim:rgba(3,18,47,.48);
  --browser-theme:#F3DADF;
  --ambient-particle-rgb:65,59,97;
  --violet:#413B61;
  --cyan:#19305C;
  --gold:#C9573F;
  --danger:#A8324B;
  --good:#286249;
  --shadow:0 24px 65px rgba(3,18,47,.16),0 4px 0 rgba(174,125,172,.12);
}

html,body{background:var(--bg);color:var(--text);font-size:clamp(14px,13.25px + .18vw,16px)}
body{font-family:"Nunito Sans",Nunito,ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif}
body,#ambient,.glass-card,.glass-strip,.player-command-bar,.field,.button,.theme-toggle{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}
h1,h2,h3,.brand-wordmark strong,.button,.tiny-button,.hud-action-button{font-family:Fredoka,"Arial Rounded MT Bold","Nunito Sans",sans-serif}
a{color:var(--focus)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
::selection{background:var(--brand);color:var(--on-brand)}
*{scrollbar-color:var(--brand-alt) transparent}

#ambient{background:radial-gradient(circle at 14% 12%,rgba(174,125,172,.34) 0,transparent 30%),radial-gradient(circle at 86% 2%,rgba(241,145,109,.2) 0,transparent 26%),radial-gradient(circle at 48% 108%,rgba(65,59,97,.72) 0,transparent 43%),var(--bg)}
html[data-theme="light"] #ambient{background:radial-gradient(circle at 12% 9%,rgba(241,145,109,.29) 0,transparent 31%),radial-gradient(circle at 88% 7%,rgba(174,125,172,.36) 0,transparent 30%),linear-gradient(155deg,#F3DADF 0%,#F8E8EB 48%,#E8C9DA 100%)}
.noise{opacity:.12;background-image:radial-gradient(rgba(243,218,223,.2) .7px,transparent .7px);background-size:7px 7px}
html[data-theme="light"] .noise{opacity:.18;background-image:radial-gradient(rgba(3,18,47,.13) .7px,transparent .7px)}

.glass-card,.glass-strip{background:linear-gradient(145deg,rgba(243,218,223,.075),rgba(174,125,172,.025)),var(--panel)!important;border-color:var(--line)!important;box-shadow:var(--shadow)}
html[data-theme="light"] .glass-card,
html[data-theme="light"] .glass-strip{background:linear-gradient(145deg,rgba(255,255,255,.66),rgba(243,218,223,.18)),var(--panel)!important}
.eyebrow,.micro-label,.card-kicker{color:var(--muted);font-weight:900}
.microcopy,.source-note{color:var(--muted)}
.field,.block-row select,.mode-choice-option select,.creature-type-choice input,.creature-type-choice select{background:var(--field-bg)!important;color:var(--text-strong)!important;border-color:var(--line)!important;border-radius:15px}
.field::placeholder,input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 72%,transparent)}
.field:focus,.creature-type-choice input:focus,.creature-type-choice select:focus{border-color:var(--focus)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus) 16%,transparent)}
.field-label,.type-line,.inspector-copy p,.selected-card-panel p{color:var(--text)}
.button,.tiny-button,.icon-button{border-radius:16px;border:1px solid var(--line);font-weight:800}
.button{min-height:46px;padding-inline:20px}
.button-primary{background:linear-gradient(145deg,#F6A17F,#F1916D)!important;color:var(--on-brand)!important;border-color:rgba(3,18,47,.18)!important;box-shadow:0 8px 0 rgba(128,62,52,.24),0 15px 35px rgba(241,145,109,.22)}
.button-primary:hover{box-shadow:0 5px 0 rgba(128,62,52,.25),0 13px 32px rgba(241,145,109,.3);transform:translateY(2px)}
.button-secondary{background:linear-gradient(145deg,color-mix(in srgb,var(--brand-alt) 56%,var(--panel-strong)),color-mix(in srgb,var(--aj-plum) 68%,var(--panel-strong)))!important;color:var(--text-strong)!important;border-color:color-mix(in srgb,var(--brand-alt) 55%,transparent)!important}
html[data-theme="light"] .button-secondary{background:linear-gradient(145deg,#D8B5CD,#C59BBB)!important;color:var(--aj-ink)!important}
.button-ghost,.tiny-button,.icon-button{background:var(--surface)!important;color:var(--text-strong)!important;border-color:var(--line)!important}
.button-ghost:hover,.tiny-button:hover,.icon-button:hover{background:var(--surface-hover)!important;border-color:var(--line-strong)!important}

/* Theme control */
.theme-toggle{min-width:44px;min-height:44px;padding:7px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--text-strong);cursor:pointer;font:800 .76rem/1 "Nunito Sans",sans-serif;white-space:nowrap}
.theme-toggle:hover{background:var(--surface-hover);transform:translateY(-1px)}
.theme-toggle-icon{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px}
.theme-toggle svg{grid-area:1/1;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .theme-moon{display:none;fill:currentColor;stroke:none}
html[data-theme="light"] .theme-toggle .theme-sun{display:none}
html[data-theme="light"] .theme-toggle .theme-moon{display:block}
.theme-toggle-icon-only{width:44px;padding:0}
.theme-toggle-icon-only [data-theme-label]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.theme-toggle-compact{min-height:40px;padding-block:5px}
.theme-toggle-game-fallback{display:none!important}

/* Landing and identity */
.lobby-view{place-items:start center;padding:clamp(22px,4vw,56px) clamp(12px,3vw,34px) 34px}
.hero-shell{width:min(1240px,100%)}
.landing-header{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand-lockup{display:flex;align-items:center;gap:13px;min-width:0}
.brand-mark{width:62px;height:62px;flex:0 0 62px;border-radius:22px;background:linear-gradient(145deg,var(--aj-coral),var(--aj-mauve))!important;border:2px solid color-mix(in srgb,var(--aj-blush) 46%,transparent)!important;box-shadow:0 8px 0 rgba(3,18,47,.3),0 20px 44px rgba(3,18,47,.22);overflow:hidden}
.brand-mark svg{width:52px;height:52px;overflow:visible}
.brand-mark rect:first-child{fill:var(--aj-ink);stroke:var(--aj-blush);stroke-width:1.5}
.brand-mark rect:nth-child(2){fill:var(--aj-navy);stroke:var(--aj-blush);stroke-width:1.5}
.brand-mark path{fill:var(--aj-coral);stroke:var(--aj-blush);stroke-width:1}
.brand-wordmark{display:grid;gap:1px;min-width:0}
.brand-wordmark>span{font-size:.61rem;letter-spacing:.18em;color:var(--muted);font-weight:900}
.brand-wordmark strong{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1;color:var(--text-strong);white-space:nowrap}
.landing-actions{display:flex;align-items:center;gap:9px}
.brand-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);align-items:center;gap:clamp(34px,6vw,82px);padding:clamp(42px,7vw,82px) 0 clamp(38px,5vw,64px)}
.brand-hero-copy{position:relative;z-index:2}
.hero-pill{width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--text);font-size:.76rem;font-weight:900;letter-spacing:.04em}
.hero-pill i{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:var(--on-brand);font-style:normal}
.brand-hero h1{margin:20px 0 0;font-size:clamp(3.7rem,7.1vw,7rem);line-height:.82;letter-spacing:-.065em;color:var(--text-strong)}
.brand-hero h1 span{color:var(--brand);background:none;-webkit-text-fill-color:currentColor}
.brand-hero .hero-copy{max-width:610px;margin:26px 0 24px;font-size:clamp(1rem,1.2vw,1.18rem);line-height:1.62;color:var(--muted)}
.hero-signals{display:flex;gap:10px;flex-wrap:wrap}
.hero-signals>span{min-width:86px;display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:7px;padding:10px 13px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.hero-signals b{font:700 1.35rem/1 Fredoka,sans-serif;color:var(--text-strong)}
.hero-signals small{font-size:.68rem;color:var(--muted);font-weight:800}
.hero-visual{position:relative;min-height:clamp(390px,39vw,520px);margin:0;isolation:isolate}
.hero-table-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:46px;border:2px solid rgba(243,218,223,.28);box-shadow:0 12px 0 rgba(65,59,97,.5),0 40px 80px rgba(3,18,47,.34);filter:saturate(.78) contrast(1.04)}
.hero-photo-wash{position:absolute;inset:0;border-radius:46px;background:linear-gradient(145deg,rgba(3,18,47,.18),rgba(65,59,97,.56) 62%,rgba(241,145,109,.3));mix-blend-mode:multiply;pointer-events:none}
html[data-theme="light"] .hero-photo-wash{background:linear-gradient(145deg,rgba(243,218,223,.06),rgba(174,125,172,.25) 62%,rgba(241,145,109,.22));mix-blend-mode:color}
.hero-floating-card{position:absolute;z-index:3;border:1px solid rgba(243,218,223,.34);background:rgba(3,18,47,.86);color:var(--aj-blush);box-shadow:0 18px 42px rgba(3,18,47,.35);backdrop-filter:blur(16px)}
.hero-floating-main{left:-28px;bottom:30px;min-width:225px;padding:15px 17px;border-radius:24px;display:grid;grid-template-columns:1fr auto;gap:2px 14px}
.hero-floating-main span{grid-column:1/-1;font-size:.56rem;letter-spacing:.14em;font-weight:900;color:var(--aj-mauve)}
.hero-floating-main strong{font:700 1.16rem Fredoka,sans-serif}.hero-floating-main i{grid-row:2;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--aj-coral);color:var(--aj-ink);font-style:normal;font-weight:1000}
.hero-floating-sky{right:-22px;top:26px;width:155px;padding:6px;border-radius:25px;transform:rotate(4deg)}
.hero-floating-sky img{width:100%;height:95px;object-fit:cover;border-radius:19px}
.hero-floating-sky span{display:block;padding:7px 7px 6px;text-align:center;font-size:.65rem;font-weight:900}
.hero-visual figcaption{position:absolute;right:15px;bottom:-26px;color:var(--muted);font-size:.62rem}.hero-visual figcaption a{color:inherit}
.deck-choice{padding:20px 22px;margin-bottom:18px;border-radius:30px}
.primary-card,.join-card{padding:clamp(20px,2.2vw,28px);border-radius:30px}
.primary-card{position:relative;overflow:hidden}.primary-card:after{content:"✦";position:absolute;right:-12px;top:-32px;font:700 8rem Fredoka,sans-serif;color:color-mix(in srgb,var(--brand) 12%,transparent);pointer-events:none}
.selected-commander{border-color:var(--line)}
.selected-commander img,.commander-thumb{border-radius:15px;background:linear-gradient(135deg,var(--aj-plum),var(--aj-navy));border-color:var(--line)}
.share-panel{border-color:color-mix(in srgb,var(--brand-alt) 44%,transparent);border-radius:22px;background:var(--surface)}
.share-link{background:var(--field-bg);border-radius:15px}.share-link code{color:var(--text)}
.source-note{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin-top:25px}.source-note strong{color:var(--text-strong);font-family:Fredoka,sans-serif}.source-note span{font-size:.68rem}

/* Deck Lab */
.deck-header{border-radius:22px}.deck-header>div:nth-child(2) strong{font-family:Fredoka,sans-serif;font-size:1.08rem}
.catalog-panel,.card-inspector,.deck-list-panel{border-radius:24px}
.catalog-card,.deck-entry,.automation-note,.target-option,.mode-choice-option,.hud-zone-card,.copy-choice-card,.library-card{background:var(--surface)!important;border-color:var(--line)!important;color:var(--text-strong)!important}
.catalog-card,.deck-entry{border-radius:15px}.catalog-card:hover,.catalog-card.selected,.target-option:hover{background:var(--surface-hover)!important;border-color:var(--focus)!important}
.catalog-card span,.catalog-card em,.hud-zone-card small,.copy-choice-card small,.library-card small{color:var(--muted)!important}
.placeholder-card{background:linear-gradient(145deg,var(--aj-plum),var(--aj-navy));border-color:var(--line);border-radius:22px}
.meter{background:var(--surface)}.meter i{background:linear-gradient(90deg,var(--brand-alt),var(--brand))}
.commander-slot{border-color:color-mix(in srgb,var(--brand) 55%,transparent);background:color-mix(in srgb,var(--brand) 9%,transparent);border-radius:18px}
.qty-controls button,.switch span{background:var(--surface);color:var(--text);border-color:var(--line)}
.switch{color:var(--muted)}.switch input:checked+span{background:var(--brand)}.switch input:checked+span:after{background:var(--on-brand)}
.keyword{background:color-mix(in srgb,var(--good) 12%,transparent);border-color:color-mix(in srgb,var(--good) 32%,transparent);color:var(--good)}
.keyword.manual{background:color-mix(in srgb,var(--brand) 12%,transparent);border-color:color-mix(in srgb,var(--brand) 34%,transparent);color:var(--brand)}

/* Match chrome: only colors and shape, never board geometry. */
.modern-match-shell.game-shell{background:radial-gradient(circle at 50% 45%,rgba(174,125,172,.17),transparent 46%),var(--aj-ink)!important}
html[data-theme="light"] .modern-match-shell.game-shell{background:radial-gradient(circle at 50% 45%,rgba(174,125,172,.28),transparent 48%),linear-gradient(155deg,#F3DADF,#EACEDA)!important}
.player-command-bar{background:var(--panel-strong)!important;border-color:var(--line)!important;box-shadow:0 8px 28px rgba(3,18,47,.3)!important}
.player-command-bar.active-turn,.self-command-bar.active-turn{background:linear-gradient(180deg,color-mix(in srgb,var(--aj-navy) 88%,var(--panel-strong)),var(--panel-strong))!important}
.self-command-bar.active-turn{background:linear-gradient(180deg,color-mix(in srgb,var(--aj-plum) 72%,var(--panel-strong)),var(--panel-strong))!important}
html[data-theme="light"] .player-command-bar.active-turn{background:linear-gradient(180deg,#E8CFDE,#F9EDF0)!important}
html[data-theme="light"] .self-command-bar.active-turn{background:linear-gradient(180deg,#F2C9C7,#FAE7E8)!important}
.hud-player-identity,.hud-zone-tab,.hud-mana-pool,.hud-day-night,.hud-stack-preview,.hud-room-controls,.unified-phase-strip{background:var(--surface)!important;border-color:var(--line)!important;color:var(--text)!important}
.hud-player-identity,.hud-mana-pool,.hud-day-night,.hud-stack-preview,.hud-room-controls{border-radius:14px}
.hud-avatar{background:linear-gradient(145deg,var(--brand),var(--brand-alt))!important;color:var(--on-brand)!important;border-color:var(--line-strong)!important}
.hud-player-identity .hud-name>span,.hud-player-identity .hud-name em,.hud-player-identity>.hud-life span,.hud-zone-tab span,.hud-mana-pool>header span,.hud-day-night span,.hud-room-controls span{color:var(--muted)!important}
.hud-player-identity .hud-name strong,.hud-player-identity>.hud-life strong,.hud-zone-tab strong,.hud-mana-pool>header strong,.hud-day-night strong,.hud-stack-preview strong,.hud-room-controls b{color:var(--text-strong)!important}
.hud-zone-tab:hover{background:var(--surface-hover)!important;border-color:var(--focus)!important}
.hud-symbol{stroke:currentColor}.unified-phase-strip{border-radius:14px!important}
.hud-phase-step{color:var(--muted)!important;border-color:transparent!important;border-radius:11px!important}
.hud-phase-step.current{background:linear-gradient(180deg,var(--brand),color-mix(in srgb,var(--brand) 78%,var(--aj-plum)))!important;border-color:color-mix(in srgb,var(--brand) 72%,white)!important;color:var(--on-brand)!important;box-shadow:0 5px 15px rgba(241,145,109,.24)!important}
.hud-phase-step.complete{color:var(--muted)!important}.hud-collapse-button,.hud-icon-button{background:var(--surface)!important;color:var(--text-strong)!important;border-color:var(--line)!important}
.player-command-bar.has-priority:before,.self-command-bar.has-priority:before{background:var(--brand)!important;color:var(--on-brand)!important;box-shadow:0 0 20px rgba(241,145,109,.4)!important}
.modern-match-shell>.board{background:radial-gradient(ellipse at center,rgba(65,59,97,.26),transparent 61%)!important}
html[data-theme="light"] .modern-match-shell>.board{background:radial-gradient(ellipse at center,rgba(255,255,255,.58),rgba(174,125,172,.08) 64%,transparent)!important}
.board:before{background:linear-gradient(180deg,rgba(174,125,172,.1),rgba(25,48,92,.13));border-color:var(--line)}
html[data-theme="light"] .board:before{background:linear-gradient(180deg,rgba(255,255,255,.46),rgba(174,125,172,.12));box-shadow:inset 0 0 100px rgba(65,59,97,.08)}
.permanent-lane{background:color-mix(in srgb,var(--surface) 58%,transparent)!important;border-color:var(--line)!important}
.permanent-lane.creatures{background:linear-gradient(180deg,rgba(241,145,109,.1),color-mix(in srgb,var(--surface) 50%,transparent))!important}
.permanent-lane.lands{background:linear-gradient(180deg,rgba(174,125,172,.1),color-mix(in srgb,var(--surface) 50%,transparent))!important}
.permanent-lane.artifacts{background:linear-gradient(180deg,rgba(25,48,92,.16),color-mix(in srgb,var(--surface) 50%,transparent))!important}
.permanent-lane.enchantments{background:linear-gradient(180deg,rgba(65,59,97,.16),color-mix(in srgb,var(--surface) 50%,transparent))!important}
.lane-label,.lane-label b,.board-rift{color:var(--muted)!important}.board-rift span{background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}
.card-back-mini{background:radial-gradient(circle,var(--aj-coral) 0 12%,var(--aj-ink) 13% 33%,var(--aj-mauve) 34% 39%,var(--aj-ink) 41%);border-color:var(--line)}
.game-status-banner,.combat-panel,.selected-card-panel,.cast-zone-hud{background:var(--panel-strong)!important;color:var(--text-strong)!important;border-color:var(--line-strong)!important;box-shadow:var(--shadow)!important}
.game-status-banner.stack{background:linear-gradient(135deg,color-mix(in srgb,var(--aj-plum) 78%,var(--panel-strong)),var(--panel-strong))!important;border-color:var(--brand-alt)!important}
.game-status-banner.combat{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 28%,var(--panel-strong)),var(--panel-strong))!important;border-color:var(--brand)!important}
.stack-rail.has-items,.stack-rail.expanded{background:var(--panel-strong)!important;border-color:color-mix(in srgb,var(--brand-alt) 45%,transparent)!important}
.stack-item{background:var(--surface)!important;color:var(--text-strong)!important;border-color:var(--line)!important;border-radius:15px}.stack-order{background:color-mix(in srgb,var(--brand-alt) 25%,transparent)!important;color:var(--text-strong)!important}
.stack-copy small,.stack-copy em,.stack-more{color:var(--muted)!important}
.hud-action-button.base-action,.action-button.dock-action{background:var(--surface)!important;color:var(--text-strong)!important;border-color:var(--line)!important;border-radius:14px!important}
.hud-action-button.base-action:hover,.action-button.dock-action:hover{background:var(--surface-hover)!important;border-color:var(--focus)!important}
.hud-action-button.primary-flow,.action-button.dock-action.primary{background:linear-gradient(145deg,#F6A17F,#F1916D)!important;color:var(--on-brand)!important;border-color:rgba(3,18,47,.2)!important;box-shadow:0 5px 0 rgba(128,62,52,.22)!important}
.primary-glyph{background:rgba(3,18,47,.12)!important}
.theme-toggle-game-fallback{height:100%;min-height:var(--hud-control-h);border-radius:14px}
.life-details{background:var(--panel-strong)!important;color:var(--text)!important;border-color:var(--line-strong)!important}
.game-card.is-targetable{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--aj-mauve),0 0 34px rgba(255,255,255,.64),0 14px 27px rgba(0,0,0,.4)!important}
html[data-theme="light"] .game-card.is-targetable{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--aj-ink),0 0 30px rgba(3,18,47,.35),0 14px 27px rgba(3,18,47,.18)!important}

/* Dialogs, stack details and feedback */
.modal-backdrop,.card-zoom-overlay{background:var(--scrim)!important}
.target-modal,.import-modal,.game-log,.rules-hud,.card-zoom-stage,.fx-spotlight.card-reveal{background:linear-gradient(145deg,color-mix(in srgb,var(--brand-alt) 8%,var(--panel-strong)),var(--panel-strong))!important;color:var(--text-strong)!important;border-color:var(--line-strong)!important;box-shadow:var(--shadow)!important}
.target-option,.mode-choice-toggle{color:var(--text-strong)!important}.mode-choice-option label,.mode-choice-option small,.coverage-section p,.log-entry,.panel-drag-handle{color:var(--muted)!important}
.mode-choice-option.selected{border-color:var(--focus)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--focus) 18%,transparent),var(--shadow)!important}
.mode-choice-option.selected .mode-check{background:var(--focus)!important;color:var(--on-brand)!important}
.mode-choice-footer{background:var(--panel-strong)!important;border-color:var(--line)!important}
.creature-type-choice option:checked{background:linear-gradient(90deg,var(--aj-navy),var(--aj-plum));color:var(--aj-blush)}
.card-zoom-copy{background:var(--panel-strong)!important;color:var(--text-strong)!important}.card-zoom-copy p{color:var(--text)!important}
.log-entry{background:var(--surface)!important;border-color:var(--line-strong)}.log-entry.action{border-color:var(--focus)!important;color:var(--text)!important}.log-entry.rules{border-color:var(--brand)!important;color:var(--text)!important}
.toast{background:var(--panel-strong)!important;color:var(--text-strong)!important;border-color:var(--line-strong)!important;border-radius:16px}

@media(max-width:1180px){
  .theme-toggle-compact [data-theme-label]{display:none}
  .theme-toggle-compact{width:42px;padding:0}
  .theme-toggle-game-fallback{display:inline-flex!important}
}
@media(max-width:900px){
  .brand-hero{grid-template-columns:1fr;gap:34px;padding-top:42px}
  .brand-hero-copy{max-width:700px}.brand-hero h1{font-size:clamp(3.5rem,12vw,6rem)}
  .hero-visual{min-height:clamp(330px,58vw,500px);width:min(760px,100%);justify-self:center}
}
@media(max-width:620px){
  .lobby-view{padding:18px 12px 28px}.landing-header{align-items:flex-start}.brand-mark{width:52px;height:52px;flex-basis:52px;border-radius:18px}.brand-mark svg{width:44px;height:44px}.brand-wordmark>span{font-size:.5rem}.brand-wordmark strong{font-size:1.12rem}
  .landing-actions{gap:5px}.landing-actions .theme-toggle{width:44px;padding:0}.landing-actions .theme-toggle [data-theme-label]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.landing-actions .button{min-height:44px;padding:8px 12px}
  .brand-hero{padding:34px 0 42px}.brand-hero h1{font-size:clamp(3rem,17vw,4.8rem)}.brand-hero .hero-copy{margin-block:20px;font-size:.98rem}.hero-signals>span{min-width:75px;padding:8px 10px}.hero-visual{min-height:315px}.hero-table-photo,.hero-photo-wash{border-radius:32px}.hero-floating-main{left:10px;bottom:16px;min-width:190px;padding:11px 13px}.hero-floating-sky{right:8px;top:12px;width:120px}.hero-floating-sky img{height:70px}.hero-visual figcaption{right:6px;bottom:-25px;max-width:88%;text-align:right}
  .deck-choice,.primary-card,.join-card{border-radius:24px}.source-note{align-items:flex-start;flex-direction:column}
}
@media(max-width:430px){
  .brand-wordmark>span{display:none}.landing-actions .button{font-size:.72rem}.hero-pill{font-size:.68rem}.hero-signals{gap:6px}.hero-signals>span{min-width:0;flex:1}.hero-floating-sky{display:none}.hero-visual{min-height:285px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .button:hover,.theme-toggle:hover{transform:none}
}

/* 0.20 — stable deck/library selection workspace. */
.is-drag-positioned{position:fixed!important}
#choiceModal .target-modal.library-search-modal{
  width:min(1180px,calc(100vw - 12px))!important;
  height:min(820px,calc(100dvh - 12px))!important;
  max-width:calc(100vw - 12px)!important;
  max-height:calc(100dvh - 12px)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
  border-radius:clamp(20px,2vw,30px)!important;
}
#choiceModal .target-modal.library-search-modal>.panel-heading{min-width:0;padding:2px 2px 10px;border-bottom:1px solid var(--line)}
#choiceModal .target-modal.library-search-modal>.target-options{
  display:block!important;
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  margin-top:10px!important;
  overflow:hidden!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
}
.library-choice-layout{
  width:100%;height:100%;min-width:0;min-height:0;
  display:grid;grid-template-columns:minmax(0,1fr) clamp(230px,26vw,310px);gap:10px;
}
.library-catalog-pane{
  min-width:0;min-height:0;overflow:hidden;
  display:grid;grid-template-rows:auto auto minmax(0,1fr);
  border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 66%,transparent);
}
.library-search-summary{padding:10px 10px 5px;gap:6px}
.library-search-summary span{padding:6px 9px;background:var(--surface);border-color:var(--line);color:var(--muted)}
.library-search-summary b{color:var(--text-strong)!important}
.library-filter{display:grid;gap:5px;padding:5px 10px 9px;color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.05em}
.library-filter input{
  width:100%;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:13px;
  background:var(--field-bg);color:var(--text-strong);outline:0;
}
.library-filter input:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 15%,transparent)}
#choiceModal .library-browser{
  min-width:0!important;min-height:0!important;height:auto!important;
  padding:6px 10px 12px!important;overflow-x:hidden!important;overflow-y:auto!important;
  display:grid!important;grid-template-columns:repeat(auto-fill,minmax(118px,1fr))!important;
  grid-auto-rows:max-content!important;align-content:start!important;align-items:start!important;justify-content:stretch!important;
  gap:8px!important;scrollbar-gutter:stable;
}
#choiceModal .library-card{
  position:relative;width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;
  padding:6px!important;overflow:hidden!important;
  display:grid!important;grid-template-rows:auto minmax(34px,auto) 18px!important;align-content:start!important;gap:5px!important;
  border:2px solid var(--line)!important;border-radius:14px!important;background:var(--surface)!important;
  color:var(--text-strong)!important;text-align:left;cursor:pointer;align-self:start!important;
}
#choiceModal .library-card:disabled{cursor:wait;opacity:.72}
#choiceModal .library-card:hover{transform:translateY(-2px);border-color:var(--brand-alt)!important;background:var(--surface-hover)!important}
#choiceModal .library-card.eligible{border-color:color-mix(in srgb,var(--brand-alt) 48%,var(--line))!important}
#choiceModal .library-card.selected{
  border-color:#fff!important;
  background:color-mix(in srgb,var(--brand) 18%,var(--surface))!important;
  box-shadow:0 0 0 2px var(--brand),0 12px 26px rgba(3,18,47,.28)!important;
}
html[data-theme="light"] #choiceModal .library-card.selected{border-color:var(--aj-ink)!important;box-shadow:0 0 0 2px var(--brand),0 10px 24px rgba(3,18,47,.16)!important}
#choiceModal .library-card.selected:after{
  content:"✓";position:absolute;right:8px;top:8px;z-index:2;width:27px;height:27px;
  display:grid;place-items:center;border-radius:50%;background:var(--brand);color:var(--on-brand);
  border:2px solid #fff;font-size:.8rem;font-weight:1000;box-shadow:0 5px 14px rgba(3,18,47,.35);
}
#choiceModal .library-card.is-filtered-out{display:none!important}
#choiceModal .library-card-image{
  display:block!important;position:relative;width:100%!important;height:auto!important;
  aspect-ratio:488/680;overflow:hidden;border-radius:9px;background:var(--aj-navy);
}
#choiceModal .library-card-image img{
  width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:auto!important;
  object-fit:cover!important;border-radius:9px!important;
}
#choiceModal .library-card>span:nth-child(2){min-width:0;overflow:hidden}
#choiceModal .library-card strong{font-size:clamp(.58rem,.65vw,.7rem);color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#choiceModal .library-card small{display:block!important;min-height:0;font-size:.49rem;color:var(--muted)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#choiceModal .library-card em{font-size:.46rem;color:var(--muted);white-space:nowrap}
#choiceModal .library-card.selected em{color:var(--brand)!important}
.library-no-results{grid-column:1/-1;margin:auto;padding:34px 12px;color:var(--muted);text-align:center}
.library-selection-panel{
  min-width:0;min-height:0;overflow:hidden;
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  border:1px solid var(--line);border-radius:20px;background:var(--panel-strong);
}
.library-selection-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px;border-bottom:1px solid var(--line)}
.library-selection-panel>header strong{display:block;margin-top:2px;font-size:.83rem;color:var(--text-strong)}
.library-selection-panel>header>b{min-width:48px;padding:7px 9px;border-radius:999px;background:var(--brand);color:var(--on-brand);font:700 .8rem Fredoka,sans-serif;text-align:center}
.library-selected-list{min-height:0;padding:9px;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:7px}
.library-selected-item{
  min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) 32px;align-items:center;gap:8px;
  padding:6px;border:1px solid var(--line);border-radius:13px;background:var(--surface);
}
.library-selected-item>img{width:42px;height:58px;object-fit:cover;border-radius:7px;background:var(--aj-navy)}
.library-selected-item>span{min-width:0}.library-selected-item strong,.library-selected-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.library-selected-item strong{font-size:.69rem;color:var(--text-strong)}.library-selected-item small{margin-top:3px;font-size:.52rem;color:var(--muted)}
.library-selected-item>button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface-hover);color:var(--text-strong);cursor:pointer}
.library-selection-empty{height:100%;min-height:145px;display:grid;place-items:center;align-content:center;gap:4px;padding:18px;color:var(--muted);text-align:center}
.library-selection-empty i{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:var(--surface);color:var(--brand);font-style:normal;font-size:1.2rem}
.library-selection-empty strong{color:var(--text-strong);font-size:.75rem}.library-selection-empty span{font-size:.61rem}
.library-selection-panel>footer{display:grid;gap:8px;padding:11px;border-top:1px solid var(--line)}
.library-selection-panel>footer>span{color:var(--muted);font-size:.62rem;line-height:1.35}
.library-selection-panel [data-confirm-library-search]{
  width:100%;min-height:44px;border:1px solid rgba(3,18,47,.18);border-radius:14px;
  background:linear-gradient(145deg,#F6A17F,#F1916D);color:var(--on-brand);font:700 .76rem Fredoka,sans-serif;cursor:pointer;
}
.library-selection-panel [data-confirm-library-search]:disabled{opacity:.4;cursor:not-allowed;filter:saturate(.45)}

@media(max-width:720px){
  #choiceModal .target-modal.library-search-modal{height:calc(100dvh - 12px)!important;border-radius:20px!important}
  .library-choice-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:7px}
  .library-catalog-pane{border-radius:15px}
  #choiceModal .library-browser{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))!important;padding:5px 7px 9px!important;gap:5px!important}
  #choiceModal .library-card{padding:4px!important;border-radius:11px!important;grid-template-rows:auto 24px 15px!important;gap:3px!important}
  #choiceModal .library-card-image,#choiceModal .library-card-image img{border-radius:7px!important}
  #choiceModal .library-card small{display:none!important}
  .library-search-summary{padding:7px 7px 3px}.library-search-summary span{padding:5px 7px;font-size:.57rem}
  .library-filter{padding:4px 7px 7px}.library-filter>span{display:none}.library-filter input{height:36px}
  .library-selection-panel{grid-template-rows:auto auto auto;border-radius:15px}
  .library-selection-panel>header{padding:8px 10px}.library-selection-panel>header .micro-label{display:none}
  .library-selected-list{max-height:136px;padding:6px;overflow-x:hidden;overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}
  .library-selected-item{min-width:0;grid-template-columns:34px minmax(0,1fr) 28px;padding:4px}
  .library-selected-item>img{width:34px;height:47px}.library-selected-item>button{width:28px;height:28px}
  .library-selection-empty{min-height:70px;padding:7px;grid-template-columns:auto 1fr;text-align:left}.library-selection-empty i{grid-row:1/3;width:34px;height:34px}.library-selection-empty span{display:none}
  .library-selection-panel>footer{grid-template-columns:1fr minmax(120px,42%);align-items:center;padding:7px}.library-selection-panel>footer>span{font-size:.55rem}.library-selection-panel [data-confirm-library-search]{min-height:40px}
}
@media(max-width:390px){
  .library-selection-panel>footer{grid-template-columns:1fr}.library-selection-panel>footer>span{display:none}
}
@media(max-width:720px) and (max-height:560px) and (min-width:520px){
  .library-choice-layout{grid-template-columns:minmax(0,1fr) minmax(190px,34vw);grid-template-rows:minmax(0,1fr)}
  .library-selection-panel{grid-template-rows:auto minmax(0,1fr) auto}
  .library-selected-list{max-height:none;display:flex;flex-direction:column;overflow-y:auto}
}

/* 0.21 — physical Magic card geometry and Forge sound controls. */
:root{--mtg-card-ratio:63 / 88}
.game-card{
  box-sizing:border-box!important;
  width:auto;
  height:auto!important;
  aspect-ratio:var(--mtg-card-ratio)!important;
}
.game-card>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.battlefield .game-card{max-height:none!important;aspect-ratio:var(--mtg-card-ratio)!important}
.modern-match-shell>.board .hand-zone .game-card{max-height:none!important;aspect-ratio:var(--mtg-card-ratio)!important}
.battlefield .lane-cards .game-card.tapped,
.battlefield .lane-cards .game-card.tapped.is-legal:hover,
.battlefield .lane-cards .game-card.tapped.selected,
.battlefield .lane-cards .game-card.tapped.is-targetable{
  transform:rotate(90deg)!important;
  transform-origin:center!important;
}
.battlefield .lane-cards>.game-card,
.battlefield .lane-cards>.attached-permanent-stack{
  margin-inline:var(--tapped-card-gutter,16px)!important;
}
.battlefield .attached-permanent-stack .game-card.tapped{margin:0!important}
.battlefield .attached-permanent-stack>.attached-layer,
.battlefield .attached-permanent-stack>.attached-host{width:var(--field-card-width,82px)!important}
.battlefield .attached-permanent-stack .game-card{width:100%!important;max-height:none!important}

/* 0.23 — effective power/toughness readout and Forge keyword iconography.
   Both overlays live inside .game-card (position:relative; overflow:hidden) so they are
   clipped to the card. The container ignores pointer events while the individual icons
   accept them, which keeps native title tooltips working: board clicks are delegated
   through closest("[data-card-id]"), so a click on an icon still selects the card. */
.card-keyword-icons{
  position:absolute;left:4px;right:4px;bottom:4px;
  display:flex;flex-wrap:wrap;align-content:flex-end;gap:2px;
  pointer-events:none;z-index:3;
}
.card-pt-badge+.card-keyword-icons,.card-keyword-icons:has(+.card-pt-badge){right:clamp(26px,2.4vw,34px)}
.kw-icon,.kw-chip{
  --kw-size:clamp(11px,1.05vw,15px);
  pointer-events:auto;cursor:help;
  width:var(--kw-size);height:var(--kw-size);
  border-radius:4px;
  background-color:rgba(7,10,19,.82);
  box-shadow:0 0 0 1px rgba(255,255,255,.16),0 1px 3px rgba(0,0,0,.5);
}
.kw-icon{
  background-image:url("/assets/forge/sprite_ability.png");
  background-repeat:no-repeat;
  /* Forge sprite_ability.png is 494x740 with 80x80 tiles; --kw-x/--kw-y are tile origins. */
  background-size:calc(494 * var(--kw-size) / 80) calc(740 * var(--kw-size) / 80);
  background-position:calc(-1 * var(--kw-x) * var(--kw-size) / 80) calc(-1 * var(--kw-y) * var(--kw-size) / 80);
}
.kw-chip{
  display:grid;place-items:center;width:auto;min-width:var(--kw-size);padding:0 3px;
  font-size:calc(var(--kw-size) * .52);font-weight:700;letter-spacing:.03em;
  color:#F3DADF;background-color:rgba(7,10,19,.86);
}
.kw-chip-manual{color:#F1916D;box-shadow:0 0 0 1px rgba(241,145,109,.5),0 1px 3px rgba(0,0,0,.5)}

.card-pt-badge{
  position:absolute;right:4px;bottom:4px;z-index:4;
  display:flex;align-items:baseline;gap:2px;
  padding:1px 4px;border-radius:5px;
  font-size:clamp(.5rem,.72vw,.68rem);font-weight:800;font-variant-numeric:tabular-nums;
  line-height:1.25;color:#F6F7FB;
  background:rgba(7,10,19,.88);
  box-shadow:0 0 0 1px rgba(255,255,255,.22),0 2px 5px rgba(0,0,0,.55);
  pointer-events:auto;cursor:help;
}
.card-pt-badge>small{font-size:.72em;font-weight:700;opacity:.85}
.card-pt-badge.is-buffed{color:#7BE0A6;box-shadow:0 0 0 1px rgba(123,224,166,.6),0 2px 6px rgba(0,0,0,.55)}
.card-pt-badge.is-weakened{color:#F1916D;box-shadow:0 0 0 1px rgba(241,145,109,.62),0 2px 6px rgba(0,0,0,.55)}
.card-pt-badge.is-modified{color:#AE7DAC;box-shadow:0 0 0 1px rgba(174,125,172,.62),0 2px 6px rgba(0,0,0,.55)}
.card-pt-badge.is-lethal{color:#FF8F8F;background:rgba(58,9,14,.92);box-shadow:0 0 0 1px rgba(255,143,143,.72),0 2px 8px rgba(0,0,0,.6)}

/* Tapped permanents rotate 90deg; counter-rotate the readouts so they stay legible. */
.game-card.tapped .card-pt-badge,.game-card.tapped .kw-icon,.game-card.tapped .kw-chip{transform:rotate(-90deg)}

/* The sprite is light-on-dark line art, so the chips keep their dark backdrop in both
   themes; only the surrounding contrast ring is adjusted for the light palette. */
html[data-theme="light"] .kw-icon,html[data-theme="light"] .kw-chip{box-shadow:0 0 0 1px rgba(3,18,47,.28),0 1px 3px rgba(3,18,47,.32)}
html[data-theme="light"] .card-pt-badge{box-shadow:0 0 0 1px rgba(3,18,47,.32),0 2px 5px rgba(3,18,47,.35)}

@media (prefers-reduced-motion:reduce){
  .card-pt-badge,.kw-icon,.kw-chip{transition:none}
}

.sound-toggle{display:inline-grid;place-items:center;padding:0!important;flex:0 0 var(--hud-control-h,44px)}
.sound-toggle-icon{width:clamp(18px,1.3vw,23px);height:clamp(18px,1.3vw,23px);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.sound-toggle-icon>path:first-child{fill:currentColor;stroke:currentColor}
.sound-toggle .sound-muted{display:none}
.sound-toggle.is-muted .sound-waves{display:none}
.sound-toggle.is-muted .sound-muted{display:block}
.sound-toggle.is-muted{color:var(--muted)!important}
.hud-room-controls .sound-toggle{width:31px;height:31px;flex-basis:31px}
.hud-room-controls .theme-toggle-icon-only{width:31px;min-width:31px;min-height:31px;height:31px;padding:0;border-radius:8px}
.hud-room-controls .theme-toggle-icon,.hud-room-controls .theme-toggle svg{width:18px;height:18px;flex-basis:18px}
.sound-toggle-game-fallback{display:none!important}
@media(max-width:1180px){.sound-toggle-game-fallback{display:inline-grid!important}}

/* 0.22 — final alignment and responsive control baseline.
   All interactive surfaces share the same box model; legacy layers above may
   choose their layout, but cannot reintroduce off-centre text or mismatched icons. */
:root{
  --ui-control-h:clamp(42px,3.6vw,48px);
  --ui-toolbar-h:42px;
  --ui-icon-button:40px;
  --ui-icon-size:clamp(19px,1.45vw,23px);
  --ui-control-leading:1.15;
}

button,input,select,textarea{box-sizing:border-box;min-width:0}
button{margin:0;line-height:var(--ui-control-leading);text-align:center}
button>svg,button svg{display:block;max-width:100%;max-height:100%}
.button,.tiny-button,.icon-button,.action-button,.hud-icon-button,.hud-action-button,
.hud-collapse-button,.theme-toggle,.card-zoom-close,.library-selected-item>button,
.qty-controls button{
  align-items:center;justify-content:center;vertical-align:middle;
}
.button,.tiny-button,.action-button,.hud-action-button,.theme-toggle{
  text-wrap:balance;
}
.button>span,.button>small,.hud-action-button>span,.action-button>span{
  line-height:var(--ui-control-leading);
}
.button-stack .button{flex-direction:column;gap:3px;text-align:center}
.button-stack .button small{margin:0;line-height:1.2}
.compact{min-height:var(--ui-toolbar-h)}

/* Square icon controls and their optical centres. */
.icon-button{
  width:var(--ui-icon-button);height:var(--ui-icon-button);
  min-width:var(--ui-icon-button);min-height:var(--ui-icon-button);
  padding:0!important;display:inline-grid!important;place-items:center!important;
  flex:0 0 var(--ui-icon-button);font-size:clamp(1rem,1.4vw,1.25rem);line-height:1!important;
}
.icon-button>svg{width:var(--ui-icon-size);height:var(--ui-icon-size)}
.tiny-button{min-height:var(--ui-toolbar-h);padding:0 13px;display:inline-flex}
.qty-controls button,.library-selected-item>button{
  padding:0!important;display:grid!important;place-items:center!important;line-height:1!important;
}
.card-zoom-close{
  display:grid!important;place-items:center!important;padding:0!important;line-height:1!important;
}

/* Text blocks and headings keep a stable baseline beside close buttons. */
.panel-heading{min-width:0;min-height:var(--ui-icon-button);align-items:center!important}
.panel-heading>div,.panel-heading>strong,.panel-heading>span{min-width:0}
.panel-heading strong{line-height:1.2}
.panel-heading .micro-label{line-height:1.15;margin-bottom:3px}
.panel-heading>.icon-button{margin-left:auto}
.micro-label,.card-kicker,.eyebrow{line-height:1.2}
.field{min-height:var(--ui-control-h);line-height:1.25}
select.field{padding-block:0}
.error-line{display:flex;align-items:center;line-height:1.3}

/* Lobby and deck editor toolbars. */
.landing-header,.brand-lockup,.landing-actions,.deck-choice-head,.inline-actions,
.deck-header,.deck-header .header-actions,.search-row{min-width:0}
.landing-actions{align-items:center!important}
.landing-actions>.button,.landing-actions>.theme-toggle{min-height:var(--ui-control-h)}
.landing-tool-button{gap:7px;text-decoration:none;white-space:nowrap}
.landing-tool-button svg{display:block;width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.deck-choice-head>div,.inline-actions>.field{min-width:0}
.deck-choice-head .inline-actions{justify-content:flex-end}
.deck-header{min-height:62px;height:auto!important}
.deck-header>.icon-button,.deck-header .header-actions>*{
  height:var(--ui-toolbar-h)!important;min-height:var(--ui-toolbar-h)!important;
}
.deck-header .theme-toggle{min-width:var(--ui-toolbar-h);padding-block:0}
.deck-header .header-actions{flex-wrap:wrap;justify-content:flex-end}
.search-row>.icon-button{width:var(--ui-control-h);height:var(--ui-control-h);align-self:stretch}
.catalog-card>span,.deck-entry>div,.deck-entry>span{min-width:0}
.catalog-card strong,.deck-entry strong{line-height:1.2}
.catalog-card em{line-height:1.1;text-align:center}
.inspector-actions>.button{width:100%;min-height:var(--ui-control-h)}

/* Match HUD: one height, one icon scale and one baseline per row. */
.player-command-bar:not(.collapsed)>*{min-width:0}
.opponent-command-bar:not(.collapsed){
  min-height:calc(var(--hud-control-h) + 10px)!important;
  grid-auto-rows:var(--hud-control-h)!important;
  padding-top:5px!important;padding-bottom:5px!important;
}
.player-command-bar:not(.collapsed) .hud-player-identity,
.player-command-bar:not(.collapsed) .hud-zone-tabs,
.player-command-bar:not(.collapsed) .hud-mana-pool,
.player-command-bar:not(.collapsed) .hud-day-night,
.player-command-bar:not(.collapsed) .hud-stack-preview,
.player-command-bar:not(.collapsed) .hud-room-controls{
  height:var(--hud-control-h)!important;min-height:var(--hud-control-h)!important;
  align-self:center!important;margin:0!important;
}
.hud-player-identity{align-items:center!important;overflow:visible}
.hud-avatar{
  width:calc(var(--hud-control-h) - 12px)!important;
  height:calc(var(--hud-control-h) - 12px)!important;
  flex:0 0 calc(var(--hud-control-h) - 12px)!important;
  line-height:1!important;
}
.hud-player-identity .hud-name{align-content:center}
.hud-player-identity .hud-name>span,.hud-player-identity .hud-name strong{line-height:1.12}
.hud-player-identity>.hud-life{
  align-self:stretch;min-width:clamp(44px,4vw,58px);height:100%;padding:2px 7px!important;
  display:grid!important;grid-template-rows:auto auto;align-content:center;justify-items:center;gap:1px;
  line-height:1!important;
}
.hud-player-identity>.hud-life span,.hud-player-identity>.hud-life strong{line-height:1!important}
.hud-zone-tabs{align-items:stretch!important}
.hud-zone-tab{
  height:100%!important;min-height:0!important;align-content:center!important;
  justify-items:center!important;line-height:1!important;
}
.hud-zone-tab .hud-symbol{align-self:center;justify-self:center;flex:none;transform:none}
.hud-zone-tab span,.hud-zone-tab strong{line-height:1!important;margin:0}
.hud-mana-pool{align-items:center!important}
.hud-mana-pool>header{align-content:center!important;justify-items:center!important}
.hud-mana-pool>header span,.hud-mana-pool>header strong{line-height:1!important}
.mana-pip-row{min-width:0;align-items:center!important}
.mana-pip,.mana-symbol{line-height:1!important}
.hud-mana-pool .mana-pip i{display:grid;place-items:center;width:100%;height:100%;line-height:1!important}
.hud-mana-pool .mana-pip b{display:grid!important;place-items:center!important;line-height:1!important}
.hud-day-night{line-height:1!important;text-align:center}
.hud-day-night span,.hud-day-night strong{line-height:1!important}
.hud-stack-preview{height:100%!important;align-content:center!important;align-items:center!important;text-align:left}
.hud-stack-preview span,.hud-stack-preview strong,.hud-stack-preview em{line-height:1.1!important}
.hud-room-controls{
  align-items:center!important;padding:4px 6px;border:1px solid var(--line);
  line-height:1!important;
}
.hud-room-controls>span{display:flex;align-items:center;gap:3px;line-height:1!important}
.hud-icon-button,.hud-room-controls .sound-toggle,.hud-room-controls .theme-toggle-icon-only{
  width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
  flex:0 0 34px!important;padding:0!important;display:grid!important;place-items:center!important;
  line-height:1!important;
}
.hud-room-controls .sound-toggle-icon,.hud-room-controls .theme-toggle-icon,
.hud-room-controls .theme-toggle svg{width:var(--ui-icon-size)!important;height:var(--ui-icon-size)!important;flex-basis:var(--ui-icon-size)!important}
.hud-collapse-button{
  display:grid!important;place-items:center!important;padding:0!important;line-height:1!important;
}
.unified-phase-strip{justify-content:stretch!important;overflow:hidden!important}
.unified-phase-strip .hud-phase-step{
  display:grid!important;place-items:center!important;padding:0 2px!important;line-height:1!important;
}
.unified-phase-strip .hud-phase-step span{display:block;line-height:1!important;text-align:center}
.hud-primary-action,.hud-primary-action .action-buttons,.hud-action-cluster{min-width:0}
.hud-primary-action .action-buttons,.hud-action-cluster{
  align-items:stretch!important;justify-content:flex-end!important;
}
.hud-action-button.base-action,.action-button.dock-action{
  box-sizing:border-box!important;align-self:stretch!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;line-height:1!important;text-align:center!important;
}
.button-glyph{
  flex:0 0 var(--hud-icon)!important;display:grid!important;place-items:center!important;
  padding:0!important;line-height:1!important;text-align:center!important;
}
.hud-action-button.base-action>span:last-child,.action-button.dock-action>span{line-height:1.1!important}
.mana-cost{align-items:center!important;justify-content:center!important;line-height:1!important}

/* Viewport-contained, draggable dialogs. The body scrolls only if content truly
   exceeds the available modal height; headers and action rows stay aligned. */
.modal-backdrop{width:100vw;height:100dvh;place-items:center!important;padding:6px!important}
#choiceModal .target-modal:not(.library-search-modal){
  display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;
  width:min(900px,calc(100vw - 12px))!important;height:auto!important;
  max-height:calc(100dvh - 12px)!important;overflow:hidden!important;
}
#choiceModal .target-modal:not(.library-search-modal)>.target-options{
  min-width:0;min-height:0;overflow-x:hidden!important;overflow-y:auto!important;
  overscroll-behavior:contain;padding:2px 3px 3px;margin-top:8px!important;
  align-content:start;
}
.target-option{min-width:0;min-height:48px;display:grid!important;align-content:center;justify-items:start;gap:3px;line-height:1.2}
.target-option strong,.target-option span{line-height:1.2}
.mode-choice-toggle{align-items:center!important;line-height:1.2}
.mode-check{display:grid!important;place-items:center!important;align-self:center}
.mode-choice-footer{align-items:center!important}
.mode-choice-footer>.button,.creature-type-choice footer>.button{min-height:var(--ui-control-h)}
.creature-type-choice footer{align-items:center!important}
.modal-color-grid .action-button{display:grid!important;place-items:center!important;padding:7px!important}

#deckImportModal .import-modal{
  display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;
  width:min(980px,calc(100vw - 12px))!important;max-height:calc(100dvh - 12px)!important;
  overflow:hidden!important;
}
#deckImportModal .import-grid{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;align-items:stretch}
#deckImportModal .import-pane{min-width:0;min-height:0}
#deckImportModal .import-textarea{min-height:clamp(150px,30dvh,230px)}
#deckImportModal .validation-box{margin-bottom:0}

.selected-card-panel>div:last-child{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto}
.selected-card-panel .panel-drag-handle{
  height:36px!important;padding:0 13px!important;display:flex;align-items:center;line-height:1!important;
}
.selected-card-panel>.icon-button{top:4px!important;right:5px!important;width:32px;height:32px;min-width:32px;min-height:32px}
.game-log,.rules-hud{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important}
.game-log .log-entries,.rules-hud #rulesHudContent{height:auto!important;min-height:0;overflow-x:hidden;overflow-y:auto}
.combat-panel{overflow-x:hidden!important;overflow-y:auto!important}
.block-row{min-width:0}.block-row>strong,.block-row>select{min-width:0;line-height:1.2}

.card-zoom-stage{min-width:0;min-height:0;align-items:center!important}
.card-zoom-stage>img{justify-self:center!important}
.card-zoom-copy{min-width:0;min-height:0}

/* Responsive composition: remove empty legacy grid tracks and keep controls
   centred without horizontal HUD scrollbars. */
@media(max-width:1180px){
  .opponent-command-bar:not(.collapsed){
    grid-template-columns:minmax(160px,1fr) minmax(190px,1fr) minmax(190px,1fr) minmax(78px,.42fr)!important;
    grid-template-areas:"identity zones mana daynight"!important;
  }
  .deck-header .header-actions{gap:6px}
}
@media(max-width:820px){
  :root{--ui-control-h:44px;--ui-toolbar-h:40px;--ui-icon-button:38px}
  .opponent-command-bar:not(.collapsed){
    grid-template-columns:minmax(150px,1fr) minmax(72px,.32fr)!important;
    grid-template-areas:"identity daynight"!important;
  }
  .deck-header{grid-template-columns:auto minmax(0,1fr)!important;gap:8px!important;padding:8px!important}
  .deck-header>.field,.deck-header .header-actions{grid-column:1/-1!important}
  .deck-header .header-actions{justify-content:flex-start!important}
  .deck-header .header-actions>*{flex:1 1 auto}
  .deck-header .header-actions>.theme-toggle{flex:0 0 var(--ui-toolbar-h)}
  .deck-workspace{height:auto!important}
  .deck-choice-head .inline-actions{justify-content:stretch}
  .deck-choice-head .inline-actions>*{width:100%}
  #deckImportModal .import-grid{grid-template-columns:1fr!important}
  .block-row{grid-template-columns:minmax(0,1fr)!important;gap:5px}
}
@media(max-width:700px){
  .card-zoom-stage{display:grid!important;grid-template-columns:1fr!important;place-items:center!important;width:100%!important}
  .card-zoom-stage>img{max-width:calc(100vw - 28px)!important;justify-self:center!important}
  .card-zoom-copy{display:none!important}
  .card-zoom-close{right:8px!important;top:8px!important;width:40px!important;height:40px!important}
  .selected-card-panel>div:last-child{max-height:calc(100dvh - 102px)}
}
@media(max-width:620px){
  .landing-header{align-items:center!important;gap:10px}
  .brand-lockup{flex:1 1 auto}
  .landing-actions{flex:0 0 auto}
  .landing-actions .button{padding-inline:11px;font-size:.74rem}
  .deck-choice-head .inline-actions{flex-direction:column}
  .share-link{align-items:center;flex-wrap:wrap}
  .share-link>div{min-width:0;flex:1 1 180px}
  .share-link>.tiny-button{flex:0 0 auto}
  #choiceModal .target-modal:not(.library-search-modal){padding:10px!important;border-radius:18px!important}
  #choiceModal .target-modal:not(.library-search-modal)>.target-options{grid-template-columns:1fr!important}
  .mode-choice-grid{grid-template-columns:1fr!important}
  .mode-choice-footer{margin-inline:-10px!important;margin-bottom:-10px!important;padding:10px!important}
}
@media(max-width:430px){
  :root{--ui-icon-button:36px}
  .landing-actions .button{max-width:92px;padding-inline:8px}
  .landing-actions .landing-tool-button{width:44px;min-width:44px;max-width:44px;padding:0!important}
  .landing-actions .landing-tool-button span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .deck-header .header-actions>*{flex:1 1 calc(50% - 4px)}
  .deck-header .header-actions>.theme-toggle{flex:0 0 var(--ui-toolbar-h)}
  .hud-player-identity>.hud-life{min-width:42px;padding-inline:4px!important}
  .hud-action-button.base-action,.action-button.dock-action{padding-inline:6px!important}
  .mana-cost{gap:1px}
  .mana-symbol{width:16px!important;height:16px!important;font-size:.52rem!important}
}
@media(max-width:360px){.brand-wordmark{display:none}.landing-actions{gap:3px!important}}
