/* ASTRA 12: one fixed world, physical objects, unchanged game rules. */
:root{--rail-l:13%;--rail-r:13%;--hand-h:174px;--unit-w:100px;--hand-w:99px;--footer-h:0px}
html,body{height:100%;overflow:hidden;background:#070e14}
.app{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:0;max-width:1800px;height:100dvh;padding:8px 2% 12px;overflow:hidden;background:none}
.astra-floor{inset:0;z-index:-2;background:#1a252c url('../assets/arena-table.png') center/100% 100% no-repeat;box-shadow:none}
.astra-floor:before{inset:0;border:0;border-radius:0;background:linear-gradient(180deg,#020c15aa,transparent 18% 76%,#020a1566);box-shadow:none}
.astra-floor:after{inset:0;border:0;background:radial-gradient(ellipse at 50% 43%,#7ed9ea08,transparent 57%);border-radius:0}
.topbar{flex:0 0 46px;border:0;padding:0 8px;gap:12px;text-shadow:0 2px 5px #000}
.brand-title{font-size:20px}.brand-subtitle{font-size:7px}.sigil{width:30px;height:30px;font-size:29px;background:#172f3ade}
.header-actions .btn.subtle,.more-menu summary{background:#0c1821db;border-color:#ad97786e;border-radius:5px;min-height:33px}
.ribbon{flex:0 0 25px;margin:0 14%;font-size:10px;padding:0 5px;text-shadow:0 1px 5px #000}
.ribbon-metrics{font-size:7px}.ribbon-metrics strong{font-size:10px}.match-caption{font-size:8px}
.board{flex:1;min-height:0;display:grid;grid-template-rows:25px minmax(0,1fr) var(--hand-h);gap:0}
.enemy-strip{margin:0 15%;padding:0 8px;background:none;border:0;position:relative;justify-content:space-between}
.field-label{font-size:7px;letter-spacing:1.4px;color:#d9d4c4;text-shadow:0 2px 4px #000}.field-label b{color:#f5df9f}
.ai-hand{top:-6px;height:34px;max-width:38%;opacity:.95}.back-card{width:25px;height:35px;margin-left:-7px;border-color:#b9a269;background:#163439 url('../assets/card-back.svg') center/cover}.back-card:after{content:none}
.arena-layout{grid-template-columns:var(--rail-l) minmax(0,1fr) var(--rail-r);gap:1.3%;padding:0 1%;min-height:0}
.left-tray,.right-tray{gap:0;justify-content:space-between;position:relative;align-items:center;padding:5px 0 9px;min-height:0}
.arena-core{min-height:0;min-width:0}
.rv-battlefield{border:0;border-radius:0;box-shadow:none;background:none;overflow:visible;padding:0 8px 8px;gap:1px;grid-template-rows:13px minmax(0,1fr) auto auto 13px minmax(0,1fr) auto auto;isolation:auto}
.arena-divider{font-size:7px;letter-spacing:1.4px;padding:0 8px;color:#d0d4cb;text-shadow:0 1px 4px #000}
.arena-divider b{font-size:7px;color:#e6d5a1}.unit-row{padding:12px 12px 15px;gap:18px;background:radial-gradient(ellipse at 50% 90%,#00111a30,transparent 65%);justify-content:center;align-items:center}
.empty-field{font-size:10px;color:#c8d7d65c;text-shadow:0 2px 3px #001522}.empty-field:before,.empty-field:after{color:#c2dac133}
.unit,.card{box-shadow:0 3px 0 #03090d,0 6px 0 #111a1e,0 12px 12px #0009,0 18px 20px #0007;border-color:#c0bd9b;border-radius:5px}
.unit.exhausted{transform:translateY(2px) rotate(3deg)}
.unit.can-attack{box-shadow:0 3px 0 #06141e,0 10px 10px #000b,0 0 0 1px #9af5e9,0 0 15px #51d5c752}
.card-inner{grid-template-rows:23px minmax(0,1fr) 24px}.unit .unit-name{font-size:10px}.card .card-name{font-size:10px}
.unit-cost,.power-pill{width:29px;height:29px;font-size:18px}.unit .card-traits-row .trait-list{max-height:22px}
.arena-room-wrap{padding:10px 0 13px}.room-section{width:min(350px,76%);max-width:76%}
.room-topline{position:absolute;left:14px;right:4px;top:-10px;font-size:6px;letter-spacing:1px;margin:0;text-shadow:0 2px 4px #000}
.room-card{grid-template-rows:53px auto;box-shadow:0 3px 0 #121719,0 5px 0 #6d6048,0 13px 17px #000a;transform:perspective(1200px) rotateX(3deg);border-radius:6px;background:#75674c;border-color:#d9c292}
.room-content{padding:5px 9px 7px}.room-content p{font-size:10px;line-height:1.4;margin:3px 0 4px}.room-content h2{font-size:12px}.room-art{border-radius:3px 3px 0 0}.room-type{font-size:6px}#roomRemaining{bottom:-12px;font-size:7px;color:#d2d5c8;text-shadow:0 1px 4px #000}
.level-box{width:42px;height:42px;top:-7px;left:-14px}.level-box strong{font-size:23px}
.command-station{width:100%;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative}
.rv-commander{flex:none;width:95%;max-width:134px;min-height:0;display:block;padding:5px 5px 8px;border:0;border-radius:48% 48% 12% 12%;background:linear-gradient(125deg,#e7cf95,#55472f 23%,#baa379 48%,#392f21 69%,#bfa879);box-shadow:inset 0 0 0 2px #130f0c,0 4px 0 #2c2319,0 10px 12px #0009}
.rv-commander-portrait{height:74px;min-height:0;max-height:none;aspect-ratio:auto;border-radius:50% 50% 28% 28%;border:2px solid #1a2225;box-shadow:inset 0 0 0 2px #ad9869;overflow:hidden;background:#0f2633}
.rv-commander-portrait:after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 18px #0009;pointer-events:none}
.rv-commander-overline{position:absolute;top:-12px;left:0;right:0;justify-content:center;font-size:7px;text-shadow:0 2px 4px #000;color:#e6d4ad;letter-spacing:1.3px}
.rv-rarity,.rv-commander-sub,.rv-commander-name,.rv-score-dots{display:none}
.rv-commander-score{position:relative;margin:0;display:flex;justify-content:center;align-items:baseline;gap:7px;background:linear-gradient(90deg,#172426e6,#0e1b23,#172426e6);padding:4px 2px 3px;border:0;border-radius:3px;box-shadow:0 1px 0 #d6c7a54a}
.rv-commander-score>span{font-size:6px;letter-spacing:.7px;color:#cdbea1}.rv-commander-score strong{font-size:24px;text-shadow:0 2px 3px #000}.rv-commander-score strong span{font-size:10px;color:#bdc8c6}
.field-mana{display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:none;color:#c8d6d8;padding:4px 0;width:100%;text-shadow:0 2px 4px #000;min-height:38px}
.field-mana>span{font-size:7px;letter-spacing:1.8px}.field-mana b{font:700 14px Georgia;letter-spacing:0;color:#c2f3ff;margin-left:5px}
.mana-pips{gap:3px;justify-content:center;flex-wrap:nowrap}.mana-pip{width:13px;height:13px;border-color:#827c65;box-shadow:0 3px 5px #000b,inset 0 1px 2px #fff3}.mana-pip.active{box-shadow:0 0 7px #5de4ef65,0 3px 4px #0009,inset 0 -2px 3px #092d5e}
.field-log{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:53px;height:55px;border:2px solid #b7a071;background:linear-gradient(135deg,#5a5141,#19242a 60%,#53666a);border-radius:11px;color:#eed9aa;box-shadow:0 4px 0 #252419,0 9px 12px #0009,inset 0 0 0 3px #19262b;display:grid;place-content:center;padding:0;z-index:2}
.field-log>span{font:32px Georgia;line-height:28px}.field-log small{font-size:5px;letter-spacing:.8px}
.physical-piles{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0 7px;min-height:130px}
.pile-box{display:block;position:relative;width:59px;min-height:110px;flex:none;padding:0;background:none;border:0;color:#ebd9aa;transition:transform .18s;outline-offset:7px}
.pile-box:hover{transform:translateY(-3px);filter:brightness(1.14)}.pile-box:active{transform:translateY(1px)}
.pile-visual{display:block;width:52px;height:74px;margin:0 auto 6px;position:relative}
.stack-card,.mini-pile-card{display:block;width:50px;height:70px;border:1px solid #c8b480;border-radius:4px;background:#153b41 url('../assets/card-back.svg') center/100% 100%;box-shadow:0 1px 0 #051319,0 3px 0 #b7ad9144,0 4px 0 #101c22,0 9px 10px #0009;transform:translate(calc(var(--i)*1px),calc(var(--i)*-1.8px)) rotate(4deg)}
.stack-card:after,.mini-pile-card.back:after{content:none}.mini-pile-card{transform:rotate(calc(var(--i)*8deg - 8deg)) translateX(calc(var(--i)*2px));background:#112c31}
.mini-pile-card .art-mini{width:100%;height:100%;display:block;padding:2px}.mini-pile-card .art-asset{height:100%}
.drop-object{width:40px;min-height:86px}.drop-object .pile-visual{width:35px;height:49px}.drop-object .mini-pile-card{width:33px;height:47px}.drop-fan.empty{opacity:1;border:1px solid #b6ad8a66;border-radius:4px;background:linear-gradient(145deg,#293a3d77,#12202455);box-shadow:inset 0 0 9px #0007;transform:rotate(-5deg)}
.drop-fan.empty:after{content:'◇';color:#b8bea46b;display:grid;place-items:center;height:100%;font-size:22px}
.pile-title{display:block;margin:0;font-size:6px;letter-spacing:1.1px;color:#ddd0af;text-shadow:0 1px 4px #000}
.pile-count{position:absolute;top:54px;right:-2px;width:26px;height:26px;border:1px solid #d1b783;border-radius:50%;background:radial-gradient(circle at 40% 20%,#46616a,#122932 70%);box-shadow:0 3px 5px #000b;display:grid;place-items:center}
.pile-count strong{font-size:16px;color:#f6e6bd}.drop-object .pile-count{top:31px;right:-3px;width:23px;height:23px}.drop-object .pile-count strong{font-size:14px}
.turn-dial{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;z-index:4}
.dial-crown{color:#d5bf83;font-size:14px;line-height:1;text-shadow:0 2px 4px #000;position:absolute;top:-15px}
.footer-buttons{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}
.footer-buttons .btn{min-width:0;width:min(112px,100%);height:112px;min-height:0;border-radius:50%;padding:16px 10px;border:5px ridge #baa47a;background:radial-gradient(circle at 34% 25%,#f8f6b6,#91c65a 22%,#246a46 54%,#0c342b 78%,#09262a);box-shadow:0 0 0 3px #14262a,0 0 0 4px #ac9166,0 7px 0 #161c1d,0 13px 18px #000b,inset 0 0 0 2px #d6e8a666,inset 0 -9px 18px #08252a;color:#fff5d9;text-shadow:0 2px 4px #113629;font-size:13px;line-height:1.5}
.footer-buttons .btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.12);border-color:#f4dba4}.footer-buttons .btn:active:not(:disabled){transform:translateY(2px)}
.footer-buttons .btn:not(.primary){height:31px;min-height:31px;border-radius:6px;border:1px solid #b3a07a;background:linear-gradient(#39494a,#182b32);box-shadow:0 3px 0 #0a1419;padding:3px;font-size:10px;order:1}
.footer-tip{display:block;font-size:8px;line-height:1.55;text-align:center;color:#d8e2dc;text-shadow:0 2px 5px #000;max-width:118px}.footer-tip b{display:block;font-size:8px;color:#f1d797;margin-bottom:3px;letter-spacing:1.2px}
.rv-feed{display:none}.rv-feed.expanded{display:flex;left:3%;top:15%;bottom:12%;height:auto;width:min(360px,92vw);z-index:11000;border-color:#b6a27b;background:#12232df5;padding:15px;border-radius:9px}.feed-item{font-size:11px;padding:8px}.rv-feed-toggle{width:32px;height:30px}
.hand-zone{grid-template-columns:1fr;grid-template-rows:19px minmax(0,1fr);column-gap:0;background:none;border:0;padding:6px 15% 0;position:relative;min-height:0}
.rv-hand-kicker{grid-row:1;grid-column:1;font-size:7px;letter-spacing:1.5px;color:#e8d9b4;padding:0 9px;text-shadow:0 2px 4px #000}.rv-hand-kicker>span:last-child{font-size:8px;color:#c0d0cb;display:block}.rv-hand-kicker #handCount{display:none}
.hand-scroll{grid-row:2;grid-column:1;gap:17px;padding:13px 15px 15px;align-items:center;justify-content:flex-start;overflow:auto;scrollbar-width:thin}
.card{--unit-w:var(--hand-w)}.hand-scroll:not(:has(.card:nth-child(7))){justify-content:center}.card.unplayable{opacity:1;filter:none}
.combat-result-bar{bottom:-4px;left:5px;right:5px;font-size:8px;color:#d4e2d6;text-shadow:0 2px 4px #000}
.tut-coach{flex:none;display:grid;grid-template-columns:130px minmax(0,1fr) 150px;grid-template-rows:auto auto;gap:3px 14px;width:auto;margin:2px 14% 6px;max-height:130px;padding:9px 13px;border-radius:7px;background:linear-gradient(100deg,#162b35f5,#263e47ef);border-color:#cfb47d;overflow:auto}
.tut-head{grid-column:1;grid-row:1/3;align-items:center;gap:4px;margin:0}.tut-coach h2{grid-column:2;grid-row:1;font-size:12px;margin:0}.tut-coach p{grid-column:2;grid-row:2;font-size:10px;line-height:1.5;margin:0}.tut-actions{grid-column:3;grid-row:1/3;display:flex;flex-direction:column;gap:4px;justify-content:center;margin:0}.tut-actions button{font-size:10px;padding:5px 8px;min-height:28px}.tut-coach.collapsed{grid-template-columns:1fr;margin-bottom:3px;padding:4px 12px}.tut-coach.collapsed .tut-head{grid-column:1;grid-row:1;justify-content:space-between}.tut-coach.collapsed h2,.tut-coach.collapsed p,.tut-coach.collapsed .tut-actions{display:none}
.bd-shell{background:linear-gradient(90deg,#041320ed,#0c2223b8 55%,#0718218c),url('../assets/arena-table.png') center/cover}.bd-page{background:transparent}.home-art:before{box-shadow:0 0 100px #63fff51c}.modal,.rv2-zoom-panel{border-color:#bba679}
.room-inspector .room-card{grid-template-rows:130px auto}.room-inspector .room-content p{font-size:13px}.room-inspector .room-content h2{font-size:17px}
@media(min-width:1500px){:root{--hand-h:190px}.command-station{max-width:165px}.rv-commander-portrait{height:90px}.pile-visual{width:62px;height:86px}.stack-card{width:60px;height:84px}.pile-box{width:66px;min-height:120px}.pile-count{top:66px}.physical-piles{gap:15px}.room-card{grid-template-rows:62px auto}}
@media(min-width:701px) and (max-width:1100px){:root{--hand-h:155px}.app{padding:6px 1.7% 10px}.topbar{flex-basis:41px}.brand-title{font-size:17px}.match-caption{font-size:7px}.ribbon{flex-basis:23px}.board{grid-template-rows:22px minmax(0,1fr) var(--hand-h)}.arena-layout{gap:1%;padding:0 1%}.rv-battlefield{padding:0 7px 6px;grid-template-rows:12px minmax(0,1fr) auto auto 12px minmax(0,1fr) auto auto;gap:0}.unit-row{padding:10px 10px 12px;gap:17px}.room-card{grid-template-rows:43px auto}.room-section{width:310px;max-width:77%}.room-content p{font-size:10px}.room-content h2{font-size:11px}.room-type{display:none}.rv-commander-portrait{height:62px}.rv-commander-score strong{font-size:22px}.rv-commander-score>span{font-size:5px}.field-mana{gap:4px}.mana-pip{width:12px;height:12px}.mana-pips{gap:3px}.physical-piles{gap:6px}.pile-box{width:52px}.drop-object{width:35px}.footer-buttons .btn{width:96px;height:96px;font-size:11px;padding:12px 7px}.footer-tip{max-width:105px;font-size:8px}.field-log{width:46px;height:47px}.tut-coach{grid-template-columns:104px minmax(0,1fr) 113px;margin-left:13%;margin-right:13%;gap:2px 9px;padding:7px 10px}.tut-coach h2{font-size:11px}.tut-coach p{font-size:9px}.tut-progress{font-size:7px}.hand-scroll{padding:12px 13px 13px}.unit .unit-name{font-size:9px}.unit-cost,.power-pill{width:27px;height:27px;font-size:17px}}
@media(max-height:700px) and (min-width:701px){:root{--hand-h:126px}.topbar{flex-basis:36px}.ribbon{flex-basis:20px}.board{grid-template-rows:18px minmax(0,1fr) var(--hand-h)}.room-card{grid-template-rows:30px auto}.room-content p{font-size:9px}.room-content h2{font-size:10px}.rv-commander-portrait{height:45px}.field-mana{gap:2px}.physical-piles{padding:6px 0;min-height:96px}.pile-visual{height:61px;width:44px}.stack-card{width:42px;height:59px}.pile-count{top:45px}.pile-box{min-height:89px}.footer-buttons .btn{width:80px;height:80px}.footer-tip{font-size:7px}.unit .card-inner,.card .card-inner{grid-template-rows:19px minmax(0,1fr) 20px}.field-log{width:40px;height:41px}.room-topline{font-size:5px}.tut-coach{max-height:100px}}
@media(max-width:700px){:root{--hand-h:176px;--rail-l:55px;--rail-r:58px;--unit-w:88px}.app{min-height:100dvh;height:auto;overflow:visible;padding:5px 6px 10px}.astra-floor{background-size:auto 100%;background-position:center;position:fixed;z-index:-2}.topbar{flex:0 0 45px;padding:0 3px;gap:6px}.brand-title{font-size:15px}.brand-subtitle{font-size:5px}.sigil{width:25px;height:25px;font-size:23px}.header-actions .btn{font-size:9px;padding:5px 7px;min-height:30px}.more-menu summary{padding:5px 8px;min-height:30px}.match-caption{display:none}.ribbon{margin:0 4px;flex:0 0 29px;height:auto;font-size:9px;gap:4px}.ribbon-metrics{font-size:6px;gap:6px}.ribbon-metrics strong{font-size:9px}.board{display:grid;flex:none;grid-template-rows:23px 480px var(--hand-h);gap:3px}.enemy-strip{margin:0 61px;height:auto;padding:0 3px}.field-label{font-size:5px;letter-spacing:.4px}.field-label:last-child{display:none}.ai-hand{left:75%;top:-3px;height:25px;max-width:48%}.back-card{width:18px;height:25px}.arena-layout{display:grid;grid-template-columns:55px minmax(0,1fr) 58px;gap:3px;padding:0;min-height:0}.left-tray,.right-tray{display:flex;flex-direction:column;order:initial;gap:0;padding:10px 0;justify-content:space-between}.arena-core{order:initial;height:auto;flex:none}.rv-battlefield{height:100%;padding:0 2px 7px;grid-template-rows:14px minmax(0,1fr) auto auto 14px minmax(0,1fr) auto auto}.arena-divider{font-size:5px;letter-spacing:.5px;padding:0 3px}.arena-divider b{font-size:5px}.unit-row{padding:12px 11px 17px;gap:18px;justify-content:flex-start}.empty-field{font-size:8px;gap:5px}.empty-field:before,.empty-field:after{font-size:12px}.unit .unit-name{font-size:9px}.room-section{width:90%;max-width:90%}.arena-room-wrap{padding:10px 0 13px}.room-card{grid-template-rows:46px auto}.room-content{padding:5px 5px 6px}.room-content h2{font-size:10px}.room-content p{font-size:9px;line-height:1.5}.room-type{display:none}.room-title-row{gap:3px}.room-traits .trait-badge{width:11px;height:11px;min-width:11px}.room-topline{font-size:4px;letter-spacing:.2px;left:8px;right:1px;top:-8px}.level-box{width:30px;height:30px;left:-10px;top:-6px}.level-box strong{font-size:18px}.level-box>span{font-size:4px;letter-spacing:1px}#roomRemaining{font-size:5px;bottom:-10px}.rv-commander{display:block;padding:3px;width:100%;border-radius:40% 40% 10% 10%}.rv-commander-portrait{height:43px;width:100%;min-height:0;border-radius:50% 50% 20% 20%;border-width:1px}.rv-commander-overline{display:flex;top:-10px;font-size:5px;letter-spacing:.4px;padding:0}.rv-commander-score{display:block;padding:1px;text-align:center}.rv-commander-score>span{display:none}.rv-commander-score strong{font-size:19px}.rv-commander-score strong span{font-size:8px}.field-mana{padding:2px 0;gap:4px;min-height:30px}.field-mana>span{font-size:5px;letter-spacing:.5px}.field-mana b{font-size:11px;margin-left:2px}.mana-pips{gap:2px;flex-wrap:wrap;max-width:50px}.mana-pip{width:9px;height:9px}.field-log{width:35px;height:39px;top:50%;border-width:1px}.field-log>span{font-size:26px;line-height:25px}.field-log small{font-size:4px;letter-spacing:.2px}.physical-piles{display:flex;flex-direction:column;gap:5px;min-height:150px;padding:0}.pile-box{display:block;width:43px;min-height:83px}.pile-visual{display:block;width:39px;height:55px;margin-bottom:7px}.stack-card{width:37px;height:52px}.pile-count{top:39px;right:-2px;width:22px;height:22px}.pile-count strong{font-size:13px}.pile-title{display:block;font-size:5px;letter-spacing:.6px}.drop-object{width:35px;min-height:53px}.drop-object .pile-visual{width:28px;height:39px;margin-bottom:4px}.drop-object .mini-pile-card{width:26px;height:37px}.drop-object .pile-count{top:24px;right:-3px;width:19px;height:19px}.drop-object .pile-count strong{font-size:12px}.turn-dial{top:50%;gap:7px;width:64px}.footer-buttons{width:100%;flex-direction:column;gap:7px}.footer-buttons .btn{flex:none;width:60px;height:60px;min-height:60px;min-width:0;font-size:8px;padding:8px 4px;border-width:3px;line-height:1.5}.footer-buttons .btn:not(.primary){width:58px;min-height:28px;height:auto;font-size:8px}.footer-tip{width:60px;font-size:6px;white-space:normal;overflow:visible;max-width:none;line-height:1.5}.footer-tip b{font-size:6px;letter-spacing:.5px}.dial-crown{font-size:10px;top:-11px}.hand-zone{height:auto;flex:none;padding:3px 3px 0;grid-template-columns:1fr;grid-template-rows:20px minmax(0,1fr);background:linear-gradient(180deg,transparent,#07131b99);border-top:1px solid #bda67e55;border-radius:4px}.rv-hand-kicker{justify-content:space-between;font-size:6px;padding:0 8px;grid-column:1}.rv-hand-kicker>span:first-child{display:block}.rv-hand-kicker>span:last-child{font-size:7px}.hand-scroll{gap:17px;padding:12px 14px 15px;grid-column:1}.hand-scroll:not(:has(.card:nth-child(7))){justify-content:flex-start}.tut-coach{margin:3px 0 7px;grid-template-columns:1fr 90px;grid-template-rows:auto auto auto;max-height:170px;padding:8px;gap:2px 7px}.tut-head{grid-column:1;grid-row:1;justify-content:space-between}.tut-coach h2{grid-column:1;grid-row:2;font-size:11px}.tut-coach p{grid-column:1;grid-row:3;font-size:9px}.tut-actions{grid-column:2;grid-row:1/4;flex-direction:column}.tut-actions button{font-size:9px;min-height:30px;padding:5px}.tut-progress{font-size:7px}.tut-coach.collapsed .tut-head{grid-column:1/-1}.combat-result-bar{font-size:6px;bottom:0}.rv-feed.expanded{top:12%;bottom:12%;width:94%;left:3%}.rv2-quick-targets{bottom:10px}.toast{top:70px;right:10px;font-size:11px}.room-inspector .room-card{grid-template-rows:100px auto}.room-inspector .room-content p{font-size:12px}.room-inspector .room-content h2{font-size:15px}}
.level-box strong{white-space:nowrap}.level-box small{display:block;position:absolute;bottom:2px;left:0;right:0;text-align:center;font-size:6px;line-height:1}.level-box>span{margin-top:-6px}
@media(max-width:700px){html,body{height:auto;overflow-x:hidden;overflow-y:auto}.level-box small{font-size:5px;bottom:1px}}
@media(prefers-reduced-motion:reduce){.pile-box,.footer-buttons .btn{transition:none}}


/* ASTRA12 PATCH 01 — room card ratio matches normal cards (landscape) + exhausted rotates 90deg */
:root{--room-landscape-h:clamp(106px,calc(var(--unit-w)*1.05),150px)}
.room-section{width:auto;max-width:100%;display:flex;flex-direction:column;align-items:center}
.room-topline,#roomRemaining{width:min(calc(var(--room-landscape-h)*1.397),100%)}
.room-card{width:min(calc(var(--room-landscape-h)*1.397),340px);height:var(--room-landscape-h);aspect-ratio:1.397 / 1;grid-template-columns:44% 56%;grid-template-rows:1fr;align-items:stretch;transform:none}
.room-card .room-art{border-radius:6px 0 0 6px;height:100%}
.room-card .room-content{display:flex;flex-direction:column;justify-content:center;border-top:0;border-left:1px solid #a5926a88;border-radius:0 0 5px 0;padding:6px 9px 6px}
.room-card .room-title-row{align-items:flex-start;gap:5px}
.room-card .room-content h2{line-height:1.15}
.room-card .room-content p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:0;margin:3px 0 6px}
.room-card .room-health{margin-top:auto}
.room-card.attackable{transform:translateY(-2px)}
.room-inspector .room-card{width:min(100%,520px);height:auto;min-height:185px;aspect-ratio:1.397 / 1;grid-template-columns:42% 58%;grid-template-rows:1fr}
.room-inspector .room-card .room-art{border-radius:6px 0 0 6px}
.room-inspector .room-card .room-content{padding:12px 14px 12px}
.unit{transition:transform .18s ease,box-shadow .18s ease,margin .18s ease}
.unit.exhausted{transform:rotate(90deg);margin-inline:calc(var(--unit-w)*.2);z-index:2}
.unit.exhausted.can-attack:hover,.unit.exhausted.selected,.unit.exhausted.rv2-targeted{transform:translateY(-4px) rotate(90deg)}
.unit.exhausted .exhausted-mark{top:6px;left:6px;right:auto;bottom:auto}
@media(min-width:1500px){:root{--room-landscape-h:150px}.room-card{width:min(calc(var(--room-landscape-h)*1.397),380px)}}
@media(max-width:1100px) and (min-width:701px){:root{--room-landscape-h:118px}.room-card{width:min(calc(var(--room-landscape-h)*1.397),320px)}.room-topline,#roomRemaining{width:min(calc(var(--room-landscape-h)*1.397),94%)}.room-card .room-content{padding:5px 8px 5px}}
@media(max-height:700px) and (min-width:701px){:root{--room-landscape-h:94px}.room-card{width:min(calc(var(--room-landscape-h)*1.397),285px)}}
@media(max-width:700px){:root{--room-landscape-h:98px}.room-topline,#roomRemaining{width:min(calc(var(--room-landscape-h)*1.397),92vw)}.room-card{width:min(calc(var(--room-landscape-h)*1.397),92vw);height:var(--room-landscape-h);grid-template-columns:43% 57%}.room-card .room-content{padding:5px 7px 5px}.room-card .room-content p{-webkit-line-clamp:2}.room-inspector .room-card{min-height:145px}.unit.exhausted{margin-inline:calc(var(--unit-w)*.22)}}


/* PATCH ASTRA12-01: Room cards use the same card ratio as normal cards, just landscape. */
:root{--room-card-h:clamp(86px,calc(var(--unit-w) * 1.08),150px)}
.room-section{
  width:min(calc(var(--room-card-h) * 1.397), 94%);
  max-width:min(calc(var(--room-card-h) * 1.397), 94%);
}
.room-card{
  width:100%;
  min-height:var(--room-card-h);
  height:var(--room-card-h);
  aspect-ratio:1.397 / 1;
  display:grid;
  grid-template-columns:39% 61%;
  grid-template-rows:1fr;
  gap:0;
  padding:4px;
  border-radius:8px;
  background:linear-gradient(145deg,#a4b0ae,#53646b 15%,#1a2c35 50%,#b6a875 95%);
  border:1px solid #b8bfaf;
  box-shadow:0 3px 0 #050e14,1px 5px 0 #0b1217,0 10px 14px #000a,inset 0 0 0 1px #2b3b46;
  transform:none;
  overflow:visible;
}
.room-card:before{
  content:'';position:absolute;inset:3px;border:1px solid #e1d4a478;border-radius:5px;pointer-events:none;z-index:3;
}
.room-card .level-box{
  left:-10px;top:-8px;width:32px;height:32px;z-index:6;
}
.room-card .room-art{
  grid-column:1;grid-row:1;min-width:0;min-height:0;height:100%;
  border:1px solid #a5b6ac77;border-radius:3px;overflow:hidden;background:#0c202a;position:relative;
}
.room-card .room-art > *{width:100%;height:100%}
.room-card .room-content{
  grid-column:2;grid-row:1;display:grid;grid-template-rows:auto 1fr auto;align-content:start;
  min-width:0;padding:6px 8px 8px;background:#152731;border-radius:3px;position:relative;overflow:hidden;
}
.room-card .room-title-row{display:grid;grid-template-columns:1fr;gap:3px;align-items:start;margin-bottom:3px}
.room-card .room-type{display:block;font-size:7px;letter-spacing:1px;color:#d9c89b}
.room-card .room-content h2{margin:0;font-size:11px;line-height:1.1;color:#f5e6bb}
.room-card .room-content p{margin:0;font-size:9px;line-height:1.28;color:#d7e0e6;overflow:hidden}
.room-card .room-traits{display:flex;gap:2px;flex-wrap:wrap;margin-top:3px}
.room-card .room-traits .trait-badge{width:13px;height:13px;min-width:13px;padding:1px;border-radius:4px}
.room-card .room-traits .trait-badge svg{width:10px;height:10px}
.room-card .room-health{align-self:end;margin-top:5px;height:8px;border-radius:999px;overflow:hidden;background:#0f1c25;border:1px solid #9b8c695f}
.room-card .room-health > div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#f0e4bf,#d0a24e 55%,#8f5a2d)}
.room-topline{margin-bottom:5px}
#roomRemaining{bottom:-12px}
.room-inspector .room-card{
  width:min(100%, 460px);
  height:auto;
  min-height:calc(var(--room-card-h) * 1.45);
}
.room-inspector .room-card .room-content h2{font-size:16px}
.room-inspector .room-card .room-content p{font-size:12px;line-height:1.4}
@media (max-width:1100px){
  :root{--room-card-h:clamp(80px,calc(var(--unit-w) * 1.02),130px)}
}
@media (max-width:700px){
  :root{--room-card-h:96px}
  .room-section{width:min(calc(var(--room-card-h) * 1.397), 92%);max-width:min(calc(var(--room-card-h) * 1.397), 92%)}
  .room-card .room-content{padding:5px 6px 6px}
  .room-card .room-content h2{font-size:10px}
  .room-card .room-content p{font-size:8px;line-height:1.22}
  .room-card .room-type{font-size:6px}
  .room-card .level-box{width:28px;height:28px;left:-8px;top:-7px}
  .room-card .level-box strong{font-size:16px}
  .room-card .level-box small{font-size:4px}
}

/* PATCH ASTRA12-01 QA follow-up: inspector respects exactly the same landscape proportion. */
.room-inspector .room-card{
  width:min(100%,400px);max-width:100%;height:auto;min-height:0;
  aspect-ratio:1.397 / 1;grid-template-columns:39% 61%;grid-template-rows:minmax(0,1fr);
}
.room-inspector .room-card .room-art,.room-inspector .room-card .room-content{grid-row:1}
@media(max-width:700px){
  .unit-row{gap:10px;padding-left:8px;padding-right:8px}
}
