.arena-portal-page{--yellow:#ffe500;--cyan:#38d9ff;--red:#ff4f64;--green:#63efa8;--ink:#070808;--panel:#151719;--panel-2:#202326;--line:rgba(255,255,255,0.13);--muted:#8d929a;--font-display:var(--font-jost);--font-geist:var(--font-geist-sans);--font-mono:var(--font-geist-mono);min-width:320px;min-height:100vh;overflow-x:hidden;background:linear-gradient(rgba(255,255,255,.027) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.027) 1px,transparent 0),#070808;background-size:48px 48px;color:#f6f7f8;font-family:var(--font-geist),Arial,sans-serif}.arena-portal-page *{box-sizing:border-box;letter-spacing:0}.arena-portal-page a,.arena-portal-page button{-webkit-tap-highlight-color:transparent}.arena-portal-page button{font:inherit}.arena-portal-page a:focus-visible,.arena-portal-page button:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.portal-shell{min-height:100vh}.portal-header{position:sticky;z-index:50;top:0;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);min-height:74px;align-items:center;gap:24px;padding:0 4vw;border-bottom:1px solid var(--line);background:rgba(5,6,6,.94);backdrop-filter:blur(18px)}.brand-lockup{display:flex;width:-moz-max-content;width:max-content;align-items:center;gap:12px;color:white;text-decoration:none}.brand-lockup img{width:88px;height:auto;-o-object-fit:contain;object-fit:contain}.brand-lockup span{padding-left:12px;border-left:1px solid rgba(255,255,255,.22);color:var(--yellow);font-family:var(--font-mono),monospace;font-size:12px;font-weight:800;text-transform:uppercase}.portal-nav{height:44px;padding:4px;border:1px solid var(--line);background:#111214;border-radius:6px}.portal-nav,.portal-nav button{display:flex;align-items:center}.portal-nav button{height:34px;gap:8px;padding:0 16px;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:800}.portal-nav button svg{width:16px}.portal-nav button.is-active,.portal-nav button:hover{background:#2b2e31;color:white}.account-cluster{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:10px}.currency-readout{display:flex;height:38px;align-items:center;gap:7px;padding:0 12px;border:1px solid rgba(255,229,0,.3);border-radius:5px;color:var(--yellow);font-family:var(--font-mono),monospace;font-size:12px;font-weight:800}.currency-readout svg{width:15px}.player-chip{display:flex;min-width:0;align-items:center;gap:10px;color:white;text-decoration:none}.player-chip>img,.player-chip>svg{width:38px;height:38px;flex:0 0 38px;border:1px solid rgba(255,255,255,.28);border-radius:5px;-o-object-fit:cover;object-fit:cover}.player-chip span{display:grid;min-width:0}.player-chip strong{max-width:130px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.player-chip small{margin-top:2px;color:var(--muted);font-family:var(--font-mono),monospace;font-size:9px}.icon-button{display:inline-grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border:1px solid var(--line);border-radius:5px;background:#17191b;color:#c4c7cb;cursor:pointer}.icon-button:hover:not(:disabled){border-color:rgba(255,229,0,.55);color:var(--yellow)}.icon-button svg{width:17px}.primary-button,.secondary-button,.text-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:9px;border-radius:5px;cursor:pointer;font-size:12px;font-weight:900;text-decoration:none;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.primary-button{padding:0 20px;border:1px solid var(--yellow);background:var(--yellow);color:#050505}.primary-button:hover:not(:disabled){transform:translateY(-1px);background:white;border-color:white}.primary-button.compact{min-height:40px;padding:0 14px}.primary-button svg,.secondary-button svg,.text-button svg{width:16px;height:16px}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.42}.secondary-button{padding:0 18px;border:1px solid var(--line);background:#1c1e20;color:white}.secondary-button:hover:not(:disabled){border-color:rgba(255,255,255,.35);background:#292c2f}.text-button{min-height:36px;padding:0 4px;border:0;background:transparent;color:var(--yellow)}.eyebrow{color:var(--muted);font-family:var(--font-mono),monospace;font-size:10px;font-weight:800;text-transform:uppercase}.collection-view,.lobby-view{width:min(1540px,92vw);margin:0 auto}.commander-strip{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(250px,1fr);align-items:center;gap:28px;padding:24px 0;border-bottom:1px solid var(--line)}.collection-toolbar h1,.commander-identity h1{margin:3px 0 0;font-family:var(--font-display),sans-serif;font-size:clamp(26px,3vw,42px);font-style:italic;font-weight:900;line-height:1;text-transform:uppercase}.commander-identity p{margin:7px 0 0;color:var(--muted);font-family:var(--font-mono),monospace;font-size:11px}.stat-row{display:flex;gap:8px}.stat-pip{display:grid;grid-template-columns:20px 1fr;grid-template-rows:auto auto;width:94px;height:62px;align-content:center;-moz-column-gap:8px;column-gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:5px;background:#151719}.stat-pip svg{grid-row:1/3;width:18px;align-self:center;color:var(--yellow)}.stat-pip span{color:var(--muted);font-family:var(--font-mono),monospace;font-size:9px;font-weight:800}.stat-pip strong{font-family:var(--font-display),sans-serif;font-size:19px;line-height:1}.ability-readout{display:flex;justify-self:end;align-items:center;gap:12px}.ability-readout>svg{width:42px;height:42px;padding:10px;border-radius:5px;background:var(--yellow);color:black}.ability-readout span{display:grid}.ability-readout small{color:var(--muted);font-size:10px}.ability-readout strong{margin-top:2px;font-size:14px}.mission-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);gap:16px;padding:24px 0 16px}.mission-stage{position:relative;min-height:560px;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:#111315;isolation:isolate}.battle-background,.mission-stage-background{position:absolute;z-index:-3;inset:0;background-image:url(/portal/arena-background.webp);background-position:50%;background-size:cover}.mission-stage:after{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(6,7,7,.98),rgba(6,7,7,.81) 42%,rgba(6,7,7,.05) 78%);content:""}.mission-stage-grid{position:absolute;z-index:-2;inset:0;background-image:linear-gradient(rgba(255,229,0,.05) 1px,transparent 0),linear-gradient(90deg,rgba(255,229,0,.05) 1px,transparent 0);background-size:30px 30px}.enemy-portrait{position:absolute;z-index:-1;top:7%;right:2%;width:53%;height:88%;background-repeat:no-repeat;filter:saturate(.88) contrast(1.08);-webkit-mask-image:linear-gradient(180deg,black 70%,transparent);mask-image:linear-gradient(180deg,black 70%,transparent)}.mission-copy{display:flex;width:min(570px,62%);min-height:560px;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,72px)}.mission-kicker{display:flex;align-items:center;gap:8px;color:var(--yellow);font-family:var(--font-mono),monospace;font-size:10px;font-weight:800;text-transform:uppercase}.mission-kicker svg{width:16px}.mission-copy h2{margin:16px 0 8px;font-family:var(--font-display),sans-serif;font-size:clamp(42px,6vw,82px);font-style:italic;font-weight:900;line-height:.9;text-transform:uppercase}.opponent-line{margin:10px 0 24px;color:#c8cbd0;font-family:var(--font-mono),monospace;font-size:11px;font-weight:700}.reward-line{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.reward-line span{display:inline-flex;height:31px;align-items:center;gap:6px;padding:0 9px;border:1px solid rgba(255,255,255,.16);border-radius:4px;background:rgba(0,0,0,.58);color:#d6d8db;font-family:var(--font-mono),monospace;font-size:9px;font-weight:800}.reward-line svg{width:13px;color:var(--yellow)}.play-button{width:-moz-max-content;width:max-content;min-height:54px;padding:0 26px;box-shadow:0 12px 40px rgba(255,229,0,.12)}.mission-error{width:min(410px,100%);margin:-12px 0 16px;color:#ff8796;line-height:1.4}.mission-badge,.mission-error{font-family:var(--font-mono),monospace;font-size:9px}.mission-badge{position:absolute;right:18px;bottom:18px;padding:8px 10px;border:1px solid rgba(255,79,100,.44);border-radius:4px;background:rgba(13,5,7,.8);color:#ff8292;font-weight:800;text-transform:uppercase}.loadout-panel{min-height:560px;padding:22px;border:1px solid var(--line);border-radius:7px;background:#151719}.collection-toolbar,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.panel-heading h2{margin:4px 0 0;font-family:var(--font-display),sans-serif;font-size:22px;font-style:italic;text-transform:uppercase}.loadout-list{display:grid;margin-top:17px;border-top:1px solid var(--line)}.loadout-row{display:grid;grid-template-columns:24px 46px minmax(0,1fr) auto;min-height:53px;align-items:center;gap:9px;border-bottom:1px solid rgba(255,255,255,.08)}.loadout-index{color:#5f646b;font-family:var(--font-mono),monospace;font-size:9px}.loadout-thumb{width:42px;height:42px;border-radius:3px;background-repeat:no-repeat}.loadout-row>span:nth-child(3){display:grid;min-width:0}.loadout-row strong{font-size:11px}.loadout-row small,.loadout-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loadout-row small{margin-top:3px;color:var(--muted);font-size:8px}.loadout-row b{display:flex;align-items:center;gap:3px;color:var(--yellow);font-family:var(--font-mono),monospace;font-size:10px}.loadout-row b svg{width:11px}.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:16px;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:var(--line)}.activity-grid>div{display:flex;min-height:46px;align-items:center;justify-content:space-between;padding:0 12px;background:#101113}.activity-grid span{color:var(--muted);font-size:9px}.activity-grid strong{font-family:var(--font-mono),monospace;font-size:12px}.mode-bar{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:26px}.mode-option{display:grid;grid-template-columns:38px minmax(0,1fr) auto;min-height:68px;align-items:center;gap:12px;padding:0 16px;border:1px solid var(--line);border-radius:6px;background:#111315;color:var(--muted);text-align:left}.mode-option>svg:first-child{width:36px;height:36px;padding:9px;border-radius:4px;background:#222528}.mode-option span{display:grid}.mode-option strong{color:#d7dade;font-size:12px}.mode-option small{margin-top:3px;font-family:var(--font-mono),monospace;font-size:9px;text-transform:uppercase}.mode-option.is-active{border-color:rgba(99,239,168,.34)}.mode-option.is-active>svg:first-child,.mode-option.is-active>svg:last-child{color:var(--green)}.collection-toolbar{min-height:110px;border-bottom:1px solid var(--line)}.deck-count{display:flex;align-items:center;gap:10px;margin-left:auto;padding:10px 14px;border:1px solid var(--line);border-radius:5px;background:#131517}.deck-count>svg{width:20px;color:var(--yellow)}.deck-count span{display:grid}.deck-count strong{font-family:var(--font-mono),monospace;font-size:13px}.deck-count small{color:var(--muted);font-size:9px}.toolbar-actions{display:flex;gap:8px}.deck-rack{display:grid;grid-template-columns:repeat(8,minmax(92px,1fr));gap:8px;padding:18px 0;overflow-x:auto;border-bottom:1px solid var(--line)}.deck-slot{display:grid;min-width:92px;height:76px;place-items:center;align-content:center;gap:4px;overflow:hidden;border:1px dashed rgba(255,255,255,.18);border-radius:5px;background:rgba(255,255,255,.025);color:#656a71;font-family:var(--font-mono),monospace}button.deck-slot{position:relative;display:block;padding:0;border-style:solid;cursor:pointer;color:white}.deck-slot>span:first-child:not(:only-child){position:absolute;inset:0;background-repeat:no-repeat;opacity:.48}.deck-slot.is-filled:after{position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.9));content:""}.deck-slot small,.deck-slot strong{position:absolute;z-index:1;right:8px;bottom:20px;left:8px;overflow:hidden;font-size:9px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.deck-slot.is-filled small{bottom:7px;color:#b3b7bd;font-size:8px}.collection-summary{display:flex;align-items:center;justify-content:space-between;padding:18px 0 12px}.collection-summary p{margin:0;color:var(--muted);font-size:11px}.affinity-legend{display:flex;gap:7px}.affinity-chip,.affinity-legend span{padding:4px 6px;border:1px solid;border-radius:3px;font-family:var(--font-mono),monospace;font-size:8px;font-weight:800}.str-dot{color:var(--red)}.dex-dot{color:var(--cyan)}.cha-dot{color:var(--green)}.card-collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:8px 0 40px}.collection-card{position:relative;min-width:0;aspect-ratio:.78;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:7px;background:#181a1c;color:white;cursor:pointer;text-align:left;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease}.collection-card:hover:not(:disabled){z-index:2;transform:translateY(-3px);border-color:rgba(255,255,255,.42)}.collection-card.is-selected{border:2px solid var(--yellow);box-shadow:0 0 0 3px rgba(255,229,0,.12)}.collection-card.is-selected:after{position:absolute;z-index:8;top:12px;right:12px;display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--yellow);color:black;content:"✓";font-size:13px;font-weight:900}.collection-card-art{position:absolute;inset:0 0 27%;background-repeat:no-repeat}.collection-card-scrim{position:absolute;inset:0;background:linear-gradient(transparent 38%,rgba(7,8,8,.28) 52%,#111315 72%)}.card-cost{position:absolute;z-index:4;top:12px;left:12px;display:inline-flex;height:30px;align-items:center;gap:3px;padding:0 8px;border:1px solid rgba(255,229,0,.55);border-radius:4px;background:rgba(0,0,0,.82);color:var(--yellow);font-family:var(--font-mono),monospace;font-size:12px;font-weight:900}.card-cost svg{width:12px}.card-rarity{position:absolute;z-index:4;top:15px;right:13px;color:rgba(255,255,255,.72);font-family:var(--font-mono),monospace;font-size:8px;font-weight:800;text-transform:uppercase}.collection-card-copy{position:absolute;z-index:4;right:14px;bottom:48px;left:14px;display:grid}.collection-card-copy strong{font-family:var(--font-display),sans-serif;font-size:clamp(16px,1.6vw,25px);font-style:italic;font-weight:900;line-height:.95;text-transform:uppercase}.collection-card-copy>span{margin-top:8px;color:#b4b8be;font-size:9px;line-height:1.35}.card-stats{position:absolute;z-index:5;right:14px;bottom:12px;left:14px;justify-content:space-between;font-family:var(--font-mono),monospace;font-size:11px;font-weight:900}.card-stats,.card-stats>span{display:flex;align-items:center}.card-stats>span{gap:4px}.card-stats svg{width:13px}.affinity-str .affinity-chip{color:var(--red)}.affinity-dex .affinity-chip{color:var(--cyan)}.affinity-cha .affinity-chip{color:var(--green)}.card-lock{position:absolute;z-index:10;inset:0;display:grid;place-items:center;align-content:center;gap:8px;padding:20px;background:rgba(5,6,6,.84);text-align:center;backdrop-filter:grayscale(1) blur(2px)}.card-lock svg{width:26px;color:#858a91}.card-lock strong{font-family:var(--font-display),sans-serif;font-style:italic;text-transform:uppercase}.card-lock small{max-width:170px;color:#9ba0a7;font-size:9px;line-height:1.4}.portal-footer{display:flex;width:min(1540px,92vw);min-height:70px;align-items:center;justify-content:space-between;margin:0 auto;border-top:1px solid var(--line);color:#656a71;font-family:var(--font-mono),monospace;font-size:9px}.portal-footer a{display:flex;align-items:center;gap:5px;color:#8c9198;text-decoration:none}.portal-footer svg{width:12px}.battle-view{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:#090a0b}.battle-view:before{position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,rgba(14,4,6,.7),transparent 24%,transparent 62%,rgba(2,11,15,.84));content:""}.battle-background{filter:brightness(.58) saturate(.8)}.battle-topbar{position:absolute;z-index:10;top:16px;right:20px;left:20px;display:grid;grid-template-columns:44px minmax(250px,420px) 90px minmax(120px,1fr);align-items:center;gap:12px}.health-block{min-width:0;padding:10px 12px;border:1px solid rgba(56,217,255,.28);border-radius:5px;background:rgba(9,12,14,.88);backdrop-filter:blur(10px)}.health-block.is-enemy{border-color:rgba(255,79,100,.34)}.health-block>div:first-child{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.health-block strong{overflow:hidden;font-family:var(--font-display),sans-serif;font-size:13px;font-style:italic;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.health-block>div:first-child span{display:flex;align-items:center;gap:4px;color:var(--cyan);font-family:var(--font-mono),monospace;font-size:9px}.health-block.is-enemy>div:first-child span{color:var(--red)}.health-block svg{width:12px}.health-track{height:4px;margin-top:7px;overflow:hidden;background:#2b3034}.health-track span{display:block;height:100%;background:var(--cyan);transition:width .24s ease}.health-block.is-enemy .health-track span{background:var(--red)}.round-counter{display:grid;height:55px;place-items:center;align-content:center;border:1px solid var(--line);border-radius:5px;background:rgba(9,10,11,.86);font-family:var(--font-mono),monospace}.round-counter small{color:var(--muted);font-size:8px;text-transform:uppercase}.round-counter strong{margin-top:2px;color:var(--yellow);font-size:13px}.enemy-hand{display:flex;height:56px;align-items:center;justify-content:flex-end;padding-right:8px}.enemy-hand span{width:36px;height:51px;margin-left:-12px;border:1px solid rgba(255,79,100,.32);border-radius:4px;background:repeating-linear-gradient(135deg,#291115,#291115 4px,#10080a 0,#10080a 8px);transform:rotate(3deg);box-shadow:-5px 5px 12px rgba(0,0,0,.35)}.sector-board{position:absolute;z-index:2;top:88px;right:20px;bottom:252px;left:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.battle-sector{position:relative;display:grid;grid-template-rows:1fr 28px 1fr;min-width:0;min-height:0;overflow:hidden;padding:30px 10px 10px;border:1px solid rgba(255,255,255,.16);border-radius:5px;background:rgba(5,7,8,.25);color:white;cursor:default}.battle-sector:after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,79,100,.06),transparent 42%,rgba(56,217,255,.07));content:"";pointer-events:none}.battle-sector.is-targetable{cursor:crosshair;border-color:rgba(255,229,0,.65);box-shadow:inset 0 0 35px rgba(255,229,0,.07),0 0 18px rgba(255,229,0,.08)}.battle-sector.is-targetable:hover{background:rgba(255,229,0,.06)}.sector-label{position:absolute;z-index:3;top:9px;left:10px;color:rgba(255,255,255,.52);font-family:var(--font-mono),monospace;font-size:8px;font-weight:800;text-transform:uppercase}.minion-line{display:flex;min-height:0;justify-content:center}.minion-line,.sector-divider{position:relative;z-index:2;align-items:center;gap:8px}.sector-divider{display:grid;grid-template-columns:1fr auto 1fr}.sector-divider i{height:1px;background:rgba(255,229,0,.34)}.sector-divider b{max-width:140px;overflow:hidden;color:rgba(255,229,0,.5);font-family:var(--font-mono),monospace;font-size:7px;font-style:normal;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.board-minion{position:relative;width:min(42%,150px);aspect-ratio:1/.78;overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:5px;background:#141719;box-shadow:0 12px 22px rgba(0,0,0,.38)}.board-minion.affinity-str{border-color:rgba(255,79,100,.44)}.board-minion.affinity-dex{border-color:rgba(56,217,255,.44)}.board-minion.affinity-cha{border-color:rgba(99,239,168,.44)}.board-minion-art{position:absolute;inset:0;background-repeat:no-repeat}.board-minion:after{position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.88));content:""}.board-minion>strong{position:absolute;z-index:2;right:7px;bottom:22px;left:7px;overflow:hidden;font-family:var(--font-display),sans-serif;font-size:10px;font-style:italic;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.board-minion-stats{position:absolute;z-index:3;right:7px;bottom:5px;left:7px;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono),monospace;font-size:8px;font-weight:900}.board-minion-stats>span{display:flex;align-items:center;gap:2px}.board-minion-stats svg{width:9px;height:9px}.board-minion-stats .shield-stat{color:var(--yellow)}.battle-controls{position:absolute;z-index:8;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(230px,.65fr) minmax(420px,2.4fr) minmax(200px,.7fr);height:238px;align-items:center;gap:16px;padding:16px 20px;border-top:1px solid rgba(56,217,255,.22);background:rgba(5,8,9,.94);backdrop-filter:blur(16px)}.player-status{display:grid;gap:10px}.energy-meter{display:flex;height:48px;align-items:center;gap:6px;padding:0 14px;border:1px solid rgba(255,229,0,.28);border-radius:5px;background:#101214;color:var(--yellow)}.energy-meter svg{width:18px}.energy-meter strong{margin-left:auto;font-family:var(--font-display),sans-serif;font-size:24px}.energy-meter span{color:#767b83;font-family:var(--font-mono),monospace;font-size:10px}.player-hand{display:flex;min-width:0;height:208px;align-items:flex-end;justify-content:center;gap:7px;overflow-x:auto;overflow-y:hidden;padding:6px 4px 2px}.hand-card{position:relative;width:clamp(108px,9.5vw,148px);height:190px;flex:0 0 clamp(108px,9.5vw,148px);overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:#17191b;color:white;cursor:pointer;text-align:left;transform-origin:bottom center;transition:transform .15s ease,border-color .15s ease,opacity .15s ease}.hand-card.affinity-str{border-bottom:3px solid var(--red)}.hand-card.affinity-dex{border-bottom:3px solid var(--cyan)}.hand-card.affinity-cha{border-bottom:3px solid var(--green)}.hand-card.is-selected,.hand-card:hover:not(:disabled){z-index:5;transform:translateY(-8px);border-color:var(--yellow)}.hand-card.is-selected{box-shadow:0 0 0 2px var(--yellow),0 0 28px rgba(255,229,0,.18)}.hand-card:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.5}.hand-card-art{position:absolute;inset:0 0 34%;background-repeat:no-repeat}.hand-card-scrim{position:absolute;inset:0;background:linear-gradient(transparent 32%,#151719 65%)}.hand-card .card-cost{top:8px;left:8px;height:25px;font-size:10px}.hand-card-copy{position:absolute;z-index:3;right:9px;bottom:34px;left:9px;display:grid}.hand-card-copy strong{font-family:var(--font-display),sans-serif;font-size:clamp(12px,1vw,16px);font-style:italic;line-height:.95;text-transform:uppercase}.hand-card-copy small{display:-webkit-box;margin-top:6px;overflow:hidden;color:#aeb2b7;font-size:7px;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.hand-card .card-stats{right:9px;bottom:8px;left:9px;font-size:9px}.empty-hand{display:grid;min-width:240px;height:120px;place-items:center;border:1px dashed var(--line);color:var(--muted);font-family:var(--font-mono),monospace;font-size:10px}.ability-button,.turn-actions{display:grid;gap:10px}.ability-button{grid-template-columns:36px 1fr;min-height:62px;align-items:center;padding:0 12px;border:1px solid rgba(255,229,0,.28);border-radius:5px;background:#17191b;color:white;cursor:pointer;text-align:left}.ability-button>svg{width:34px;height:34px;padding:8px;border-radius:4px;background:rgba(255,229,0,.11);color:var(--yellow)}.ability-button span{display:grid;min-width:0}.ability-button small{color:var(--yellow);font-family:var(--font-mono),monospace;font-size:8px}.ability-button strong{margin-top:3px;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.ability-button:disabled{cursor:not-allowed;filter:grayscale(1);opacity:.45}.end-turn-button{min-height:58px}.battle-log{position:absolute;z-index:7;right:20px;bottom:250px;left:20px;display:flex;height:30px;align-items:center;gap:12px;padding:0 10px;pointer-events:none}.battle-log small{color:var(--yellow);font-family:var(--font-mono),monospace;font-size:7px;font-weight:800;text-transform:uppercase}.battle-log p{max-width:min(650px,70vw);margin:0;overflow:hidden;color:#b7bbc0;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.result-overlay{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(2,3,3,.82);backdrop-filter:blur(12px)}.result-panel{display:grid;width:min(540px,100%);justify-items:center;padding:42px;border:1px solid rgba(255,255,255,.22);border-top:4px solid var(--red);border-radius:7px;background:#17191b;text-align:center;box-shadow:0 40px 100px rgba(0,0,0,.62)}.result-panel.is-victory{border-top-color:var(--yellow)}.result-panel>svg{width:52px;height:52px;margin-bottom:18px;padding:12px;border-radius:6px;background:rgba(255,229,0,.1);color:var(--yellow)}.result-panel.is-defeat>svg{color:var(--red);background:rgba(255,79,100,.1)}.result-panel h2{margin:9px 0 12px;font-family:var(--font-display),sans-serif;font-size:clamp(30px,6vw,48px);font-style:italic;line-height:.94;text-transform:uppercase}.result-panel>p{max-width:410px;margin:0;color:#a3a8ae;font-size:12px;line-height:1.55}.result-rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:24px}.result-rewards a,.result-rewards span{display:flex;min-height:36px;align-items:center;gap:6px;padding:0 10px;border:1px solid rgba(255,229,0,.24);border-radius:4px;background:#101214;color:#e4e6e8;font-family:var(--font-mono),monospace;font-size:9px;font-weight:800;text-decoration:none}.result-rewards svg{width:13px;color:var(--yellow)}.result-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px;margin-top:28px}.loading-screen{display:grid;min-height:100vh;place-items:center;align-content:center;gap:22px;background:#070808}.loading-screen img{width:150px;height:auto}.loading-screen svg{width:25px;color:var(--yellow)}.loading-screen p{margin:0;color:var(--muted);font-family:var(--font-mono),monospace;font-size:10px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1180px){.portal-header{grid-template-columns:auto 1fr auto;padding:0 3vw}.portal-nav{justify-self:center}.currency-readout,.player-chip span{display:none}.mission-layout{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr)}.mission-copy{width:68%;padding:36px}.card-collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.battle-controls{grid-template-columns:190px minmax(390px,1fr) 190px}.hand-card{width:112px;flex-basis:112px}}@media (max-width:900px){.portal-header{position:relative;grid-template-columns:auto 1fr;min-height:66px;gap:10px}.portal-nav{position:fixed;z-index:70;right:12px;bottom:12px;left:12px;justify-content:stretch;box-shadow:0 12px 50px rgba(0,0,0,.5)}.portal-nav button{flex:1;justify-content:center}.account-cluster{min-width:0}.account-cluster .primary-button.compact{width:40px;overflow:hidden;padding:0;font-size:0}.commander-strip{grid-template-columns:1fr auto;gap:14px;padding:18px 0}.stat-row{grid-column:1/3;display:grid;grid-template-columns:repeat(3,1fr)}.stat-pip{width:auto}.ability-readout{align-self:center}.ability-readout span{display:none}.mission-layout{grid-template-columns:1fr}.mission-copy,.mission-stage{min-height:470px}.mission-copy{width:70%}.loadout-panel{min-height:0}.mode-bar{padding-bottom:94px}.collection-view{padding-bottom:70px}.collection-toolbar{flex-wrap:wrap;padding:20px 0}.deck-count{margin-left:0}.toolbar-actions{width:100%}.toolbar-actions button{flex:1}.card-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-footer{padding-bottom:88px}.battle-view{min-height:1180px;overflow:visible}.battle-background,.battle-view:before{position:fixed}.battle-topbar{position:relative;top:auto;right:auto;left:auto;grid-template-columns:42px minmax(0,1fr) 70px;padding:12px}.enemy-hand{display:none}.sector-board{position:relative;top:auto;right:auto;bottom:auto;left:auto;display:grid;height:660px;margin:0 12px;gap:6px}.battle-sector{padding-right:4px;padding-left:4px}.minion-line{flex-direction:column;gap:3px}.board-minion{width:min(92%,118px)}.board-minion:nth-child(2){margin-top:-22px}.battle-controls{position:relative;right:auto;bottom:auto;left:auto;grid-template-columns:1fr;height:auto;margin-top:34px;padding:14px 12px 24px}.player-status{grid-template-columns:1fr 100px}.player-hand{height:220px;justify-content:flex-start}.hand-card{width:132px;flex-basis:132px}.turn-actions{grid-template-columns:1fr 1fr}.battle-log{position:absolute;top:754px;right:12px;bottom:auto;left:12px;height:34px;margin-top:0}}@media (max-width:580px){.brand-lockup img{width:78px}.account-cluster .icon-button,.brand-lockup span{display:none}.collection-view,.lobby-view,.portal-footer{width:calc(100vw - 24px)}.collection-toolbar h1,.commander-identity h1{font-size:25px}.mission-copy,.mission-stage{min-height:510px}.mission-copy{width:100%;justify-content:flex-end;padding:24px 20px 36px}.mission-stage:after{background:linear-gradient(180deg,rgba(6,7,7,.08) 20%,rgba(6,7,7,.96) 70%)}.enemy-portrait{top:0;right:0;width:100%;height:73%}.mission-copy h2{margin-top:10px;font-size:48px}.opponent-line{margin-bottom:12px}.reward-line{margin-bottom:18px}.mission-badge{top:12px;right:12px;bottom:auto}.mode-bar{grid-template-columns:1fr}.collection-toolbar{align-items:flex-start}.deck-count{margin-left:auto}.collection-summary{align-items:flex-start;gap:12px}.collection-summary p{max-width:210px}.card-collection-grid{gap:8px}.collection-card-copy{right:10px;left:10px}.collection-card-copy strong{font-size:15px}.collection-card-copy>span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.collection-card .card-stats{right:10px;left:10px}.collection-card .affinity-chip{display:none}.battle-view{min-height:1120px}.battle-topbar{grid-template-columns:40px minmax(0,1fr) 60px;gap:6px}.health-block{padding:8px}.health-block strong{font-size:10px}.sector-board{height:590px}.battle-log{top:682px}.sector-label{left:6px;font-size:7px}.sector-divider b{display:none}.sector-divider{grid-template-columns:1fr}.sector-divider i:last-child{display:none}.board-minion{width:96%;aspect-ratio:1/.82}.board-minion>strong{font-size:8px}.player-status{grid-template-columns:1fr 86px}.energy-meter{padding:0 9px}.energy-meter span{display:none}.turn-actions{grid-template-columns:1fr}.result-panel{padding:32px 20px 24px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}