/* Artist edition: the world fills the table; the cards are its foreground. */
:root { --bg:#030303; --panel:#151822; --yellow:#ffe66a; }
body { background:#030303; }
#app { padding:0 24px; max-width:1800px; }
.topbar { height:72px; border-bottom:2px solid #222b43; gap:24px; }
.wordmark { width:185px; height:64px; }
.mode { font-size:16px; }
.live-dot { display:none; }
.home-screen { min-height:850px; }
.splash-art { width:min(83%,1120px); right:-30px; top:0; animation:none; }
.splash-vignette { background:linear-gradient(90deg,#030303 0%,#030303e8 19%,#03030322 43%,transparent 62%),linear-gradient(0deg,#030303 0%,transparent 35%); }
.splash-content { padding:90px 0 270px 28px; max-width:550px; }
.splash-subtitle { font-size:25px; line-height:1.2; color:#e8eff5; }
.splash-floor { top:56%; }
.splash-kicker { font-size:12px; }
.home-deck-strip { background:#030303c9; border-top:2px solid #40516d; bottom:60px; padding:20px 0 0; }
.loadout { background:#0e1729; }
.home-bottom { bottom:18px; }
.game-layout { display:block; position:relative; padding-top:0; min-height:0; }
.arena-column { width:min(100%,1280px); margin:auto; }
.arena-top { position:relative; z-index:4; height:44px; padding:0 16px; background:#05070bd9; border-bottom:1px solid #263044; }
.arena-name,.round-info,.round-info>span { font-size:16px; }
.floor-tag { font-size:16px; }
.stage-wrap { min-height:0; height:auto; aspect-ratio:1280/1080; width:100%; flex:none; }
#arena { width:100%; height:100%; max-height:none; object-fit:contain; }
.left-panel { position:absolute; top:60px; left:0; width:174px; z-index:5; padding:14px; background:#080b13ed; border:2px solid #3e4d6b; box-shadow:4px 4px #000; }
.left-panel>h1,.left-panel>.eyebrow,.left-panel>.location,.left-panel>.divider { display:none; }
.hero-panel { padding:0; border:0; margin:0; background:none; }
.battle-status { margin-top:20px; }
#log { max-height:130px; overflow:auto; }
#log p { font-size:16px; line-height:1.12; }
.right-panel { position:absolute; right:0; top:245px; width:190px; z-index:6; padding:0; }
.inspector { border:2px solid #3e4d6b; background:#0a0e19f5; box-shadow:4px 4px #000; padding:12px; }
.intel-empty { min-height:170px; }
.intel-empty small { font-size:17px; }
.deck-indicator { background:#0a0e19e6; margin-top:12px; padding:10px; border:2px solid #3e4d6b; }
.opponent-hand { top:2%; left:50%; transform:translateX(-50%); width:60%; justify-content:center; gap:8px; height:auto; z-index:2; }
.opponent-hand i { flex:0 1 92px; width:92px; height:auto; aspect-ratio:265/382; transform:none!important; margin:0!important; box-shadow:none; }
.orders-panel { margin:0; border:2px solid #3c4e6b; padding:10px 14px; background:#0b1220; }
.action-row { background:#0b1220; border:2px solid #3c4e6b; border-top:0; padding:12px 14px; }
.action-row #hint { font-size:18px; }
.player-dock { width:min(100%,1240px); margin:-310px auto 0; position:relative; z-index:7; display:grid; grid-template-columns:160px minmax(0,1fr) 160px; gap:12px; padding:0 10px; border:0; min-height:245px; pointer-events:none; }
.player-dock>* { pointer-events:auto; }
.player-profile,.power-panel { background:#0b1120ef; border:2px solid #49617d; padding:10px; box-shadow:4px 4px #000; align-self:end; margin-bottom:22px; }
.player-profile { gap:8px; }
.player-profile .avatar { display:none; }
.player-profile .eyebrow { font-size:14px; }
.hand { gap:10px; min-height:245px; align-items:end; padding-bottom:15px; }
.hand-card { width:154px; height:224px; transition:transform .17s,filter .17s; }
.hand-card:hover,.hand-card:focus-visible { transform:translateY(-42px) scale(1.09); z-index:30; }
.hand-card.selected { transform:translateY(-35px); z-index:29; }
.card-art { height:104px; }
.card-title { height:32px; font-size:18px; }
.card-ability { font-size:15px; height:25px; }
.card-stats { bottom:5px; height:28px; }
.card-stats .type { font-size:13px; }
.bottom-line { margin-top:78px; padding:20px 0; border-top:1px solid #28314b; }
.game-layout .orders-panel,.game-layout .action-row { position:relative; top:245px; }
.collection-card { --faction-color:#1461d1; background:var(--faction-color); }
.collection-card h3 { font-size:20px; }
.collection-art { background:#ffe66a; }
@media(min-width:1500px){ .arena-column{width:1280px}.left-panel{left:8px}.right-panel{right:8px}.player-dock{margin-top:-330px}.game-layout .orders-panel,.game-layout .action-row{top:225px} }
@media(max-width:1100px){ #app{padding:0 12px}.left-panel{width:148px;top:55px;padding:8px}.battle-status{display:none}.right-panel{width:157px;top:210px}.intel-name{font-size:22px}.intel-description{font-size:17px}.opponent-hand{width:58%}.player-dock{grid-template-columns:120px minmax(0,1fr) 130px;margin-top:-250px;min-height:210px}.hand{min-height:210px}.hand-card{width:132px;height:200px}.card-art{height:85px}.game-layout .orders-panel,.game-layout .action-row{top:210px}.bottom-line{margin-top:70px}.home-screen{min-height:780px}.splash-content{padding-top:60px}.splash-art{right:-120px;width:95%}.splash-content h1.game-title{width:420px} }
@media(max-width:800px){ .topbar{height:62px;gap:10px}.wordmark{width:155px}.mode{display:none}.left-panel{width:126px;font-size:14px}.hero-vitals strong{font-size:28px}.hero-label{display:block}.hero-label small{display:none}.right-panel{display:none}.arena-top{padding:0 5px}.arena-name{font-size:14px}.player-dock{grid-template-columns:105px minmax(0,1fr) 110px;gap:6px;margin-top:-185px;min-height:170px;padding:0}.hand{min-height:170px;gap:5px}.hand-card{width:110px;height:168px}.card-art{height:67px}.card-title{font-size:16px;height:29px}.card-ability{font-size:13px;height:22px}.card-stats .type{font-size:12px}.card-stats{height:25px}.card-stats .attack,.card-stats .health{font-size:20px}.power-panel,.player-profile{padding:7px;margin-bottom:15px}.player-health strong{font-size:28px}.hero-power{padding:5px}.hero-power div{font-size:14px}.energy-readout b{font-size:27px}.game-layout .orders-panel,.game-layout .action-row{top:175px}.bottom-line{margin-top:72px}.home-screen{min-height:850px}.splash-art{width:115%;right:-135px;top:10px;opacity:.8}.splash-content{padding:40px 0 290px 8px;max-width:400px}.home-deck-strip{left:8px;right:8px;display:block}.deck-strip-label p{display:none}.loadouts{margin-top:10px}.splash-floor{display:none}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media(max-width:560px){ #app{padding:0 6px}.topbar{gap:5px}.wordmark{width:133px}.topbar nav{gap:4px}.icon-button{width:28px}.menu-button{font-size:14px;min-width:0;padding:4px 7px}.stage-wrap{aspect-ratio:1280/1140}.arena-top{height:38px}.arena-name{display:none}.round-info,.round-info>span{font-size:14px}.left-panel{top:43px;width:95px;padding:6px}.hero-label span{font-size:13px}.hero-symbol{display:none}.hero-vitals{gap:4px}.health-caption{font-size:12px}.mini-mana{font-size:12px}.left-panel #restart{display:none}.opponent-hand{top:3%;left:62%;width:56%;gap:3px}.player-dock{margin-top:-92px;grid-template-columns:1fr 1fr;gap:6px;min-height:205px}.hand{grid-row:1;grid-column:1/-1;min-height:150px;width:100%;padding:0 6px 5px}.hand-card{width:102px;height:158px}.hand-card:hover,.hand-card:focus-visible{transform:translateY(-25px) scale(1.04)}.card-art{height:61px}.card-title{font-size:15px;height:27px}.card-ability{font-size:13px;height:22px}.player-profile,.power-panel{margin:0;height:65px;align-self:center;padding:5px 9px}.player-profile{grid-row:2;grid-column:1}.power-panel{grid-row:2;grid-column:2;display:flex;gap:8px;align-items:center}.crystals{display:none}.hero-power{margin:0;min-height:40px}.hero-power>span{display:none}.hero-power small{font-size:12px}.player-health{padding:0}.player-health strong{font-size:24px}.energy-readout{display:block}.energy-readout span{font-size:12px}.game-layout .orders-panel,.game-layout .action-row{top:230px}.action-row{display:flex;gap:8px;align-items:center}.action-row #hint{font-size:15px;line-height:1.1}.end-turn{font:14px VT323;min-width:105px;padding:12px}.bottom-line{margin-top:155px;justify-content:center}.bottom-line>span:not(:first-child){display:none}.orders-heading{font-size:14px}.order-list>p{font-size:15px}.home-screen{min-height:800px}.splash-art{top:175px;right:-85px;width:128%;opacity:1}.splash-vignette{background:linear-gradient(0deg,#030303 2%,transparent 35%),linear-gradient(180deg,#030303 8%,transparent 52%)}.splash-content{padding:30px 12px 315px;max-width:100%}.splash-content h1.game-title{width:320px}.splash-subtitle{font-size:21px;margin-bottom:20px}.play-button,.secondary-play{width:280px;max-width:100%}.splash-kicker{font-size:10px}.splash-chips{font-size:13px}.home-deck-strip{bottom:54px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-card h3{font-size:18px}.mobile-detail{bottom:70px} }
@media(prefers-reduced-motion:reduce){ .hand-card{transition:none} }

/* Combat controls remain in document flow after the overlapping hand. */
.arena-column{width:min(100%,1180px)}
.battle-controls{width:min(100%,1180px);margin:18px auto 0;position:relative;z-index:8}
.player-dock{margin-top:-230px;min-height:245px}
.bottom-line{margin-top:16px}
@media(min-width:1500px){.player-dock{margin-top:-245px}}
@media(max-width:1100px){.player-dock{margin-top:-195px;min-height:210px}}
@media(max-width:800px){.player-dock{margin-top:-158px;min-height:170px}}
@media(max-width:560px){.player-dock{margin-top:-94px;min-height:225px}.battle-controls{margin-top:12px}.bottom-line{margin-top:15px}}

.player-profile,.power-panel,.hand{grid-column:auto;grid-row:auto}
.left-panel,.left-panel .hero-panel{display:block}
.left-panel .mini-mana{display:block}
.mobile-detail:not([hidden]){bottom:70px}
@media(max-width:560px){.hand{grid-row:1;grid-column:1/-1}.player-profile{grid-row:2;grid-column:1}.power-panel{grid-row:2;grid-column:2}}
