html,body{width:100%;height:100%;overflow:hidden}body.run-active #app{max-width:none;width:100vw;height:100vh;padding:0}body.run-active .topbar{height:52px;margin:0;padding:6px 12px;border-bottom:1px solid #252f40;background:rgba(7,10,15,.94);position:relative;z-index:30}body.run-active .topbar h1{font-size:19px;margin:0}body.run-active .topbar .eyebrow{font-size:8px}body.run-active main{height:calc(100vh - 52px);min-height:0}body.run-active #gamePanel{height:100%;min-height:0}body.run-active .room-head{height:42px;margin:0;border-radius:0;border-left:0;border-right:0;padding:5px 10px;background:#0b1017;position:relative;z-index:25}body.run-active .game-layout{height:calc(100vh - 94px);min-height:0;display:block}body.run-active .main-column{height:100%;min-height:0;display:block;position:relative}body.run-active .main-column>section{position:absolute;inset:0;margin:0;border-radius:0}body.run-active .main-column>section.hidden{display:none!important}

body[data-phase="map"] .party-panel,body[data-phase="map"] .inventory-panel{display:none!important}body[data-phase="map"] #mapPanel{display:grid!important;grid-template-rows:70px minmax(0,1fr);padding:0;background:linear-gradient(180deg,#0c1119,#090d13)}body[data-phase="map"] #mapPanel .section-head{padding:9px 16px;border-bottom:1px solid #263044;align-items:center;background:rgba(11,16,23,.96)}body[data-phase="map"] #mapPanel h2{font-size:18px;margin:2px 0 3px}body[data-phase="map"] #mapPanel p{margin:0;font-size:10px}body[data-phase="map"] #mapPanel .legend{font-size:11px;gap:12px}body[data-phase="map"] #routeMap{margin:0;border:0;border-radius:0;height:100%;background:radial-gradient(circle at 50% 0,rgba(57,217,255,.055),transparent 24%),linear-gradient(180deg,#0c121a,#080b10)}body[data-phase="map"] .route-svg-v9{overflow:visible}body[data-phase="map"] .map-node-svg circle{stroke-width:3.5}body[data-phase="map"] .map-node-svg.available circle{stroke-width:5}

body[data-phase="combat"] .party-panel,body[data-phase="combat"] .inventory-panel{display:block!important;z-index:10;pointer-events:none;background:none;border:0;box-shadow:none}body[data-phase="combat"] .party-panel{position:absolute;left:12px;top:16px;bottom:auto;width:245px;height:auto;padding:0}body[data-phase="combat"] .party-panel .zone-title{display:none}body[data-phase="combat"] .party{display:flex;flex-direction:column;gap:8px}body[data-phase="combat"] .player{width:245px;min-width:0;min-height:96px;flex:none;padding:7px 8px;grid-template-columns:52px 1fr;background:linear-gradient(90deg,rgba(9,14,21,.94),rgba(12,18,27,.8));border-color:#344257;box-shadow:0 9px 24px rgba(0,0,0,.22)}body[data-phase="combat"] .player.me{border-color:#477f91}body[data-phase="combat"] .inventory-panel{position:absolute;left:12px;bottom:10px;width:245px;height:auto;padding:7px;display:grid!important;grid-template-columns:1fr;gap:6px;background:rgba(8,12,18,.78);border:1px solid #2c3749;border-radius:12px;pointer-events:auto}body[data-phase="combat"] .inventory-panel .zone-title{font-size:8px;margin-bottom:4px}body[data-phase="combat"] .inventory-list,body[data-phase="combat"] .relic-list{gap:4px}body[data-phase="combat"] .inventory-chip,body[data-phase="combat"] .relic-chip{font-size:9px;padding:4px 6px;max-width:108px}body[data-phase="combat"] #combatPanel{display:grid!important;grid-template-columns:270px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 34px 172px 52px;padding:0;background:radial-gradient(circle at 70% 36%,rgba(57,217,255,.05),transparent 25%),linear-gradient(180deg,#151a22 0,#0d1118 58%,#080b10 100%);overflow:hidden}body[data-phase="combat"] #combatPanel:before{content:"";position:absolute;left:270px;right:0;top:0;bottom:0;background:linear-gradient(180deg,transparent 67%,rgba(0,0,0,.32)),radial-gradient(ellipse at 65% 72%,rgba(255,255,255,.025),transparent 50%);pointer-events:none}body[data-phase="combat"] .enemy-zone{grid-column:2;grid-row:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:32px 32px 4px}body[data-phase="combat"] .enemies{align-items:flex-end;gap:32px}body[data-phase="combat"] .enemy{width:230px}body[data-phase="combat"] .enemy-art{height:205px;background:radial-gradient(circle at 50% 45%,#202b34,#0d131a 68%);border-color:#39485e}body[data-phase="combat"] .intent{font-size:12px;min-height:34px}body[data-phase="combat"] .turn-note{grid-column:2;grid-row:2;font-size:10px;display:flex;align-items:center;justify-content:center;position:relative;z-index:3}body[data-phase="combat"] .hand-head{grid-column:2;grid-row:3;position:absolute;left:0;right:0;top:0;height:28px;padding:4px 18px 0;border:0;z-index:5}body[data-phase="combat"] .hand{grid-column:2;grid-row:3;height:172px;min-height:172px;overflow:visible;padding:20px 24px 0;gap:0;align-items:flex-end;position:relative;z-index:4}body[data-phase="combat"] .hand .card{width:132px;min-width:132px;height:166px;margin-left:-16px;transform:translateY(var(--fan-y,0)) rotate(var(--fan-rot,0));transform-origin:50% 115%;z-index:var(--fan-z,1);box-shadow:0 9px 18px rgba(0,0,0,.3)}body[data-phase="combat"] .hand .card:first-child{margin-left:0}body[data-phase="combat"] .hand .card:hover:not(.disabled){transform:translateY(-24px) rotate(0deg) scale(1.08);z-index:100}body[data-phase="combat"] .combat-actions{grid-column:2;grid-row:4;display:flex;align-items:center;justify-content:flex-end;padding:6px 18px;position:relative;z-index:6}body[data-phase="combat"] #readyBtn{min-width:190px;font-size:13px}body[data-phase="combat"] .combat-room-label{position:absolute;left:290px;top:16px;font-size:9px;letter-spacing:.24em;color:#566276;font-weight:900;pointer-events:none}body[data-phase="combat"] .humanoid{width:48px;height:80px}body[data-phase="combat"] .humanoid svg{width:40px;height:74px}body[data-phase="combat"] .humanoid span{top:27px}body[data-phase="combat"] .player-head{font-size:10px}body[data-phase="combat"] .stats{font-size:9px;gap:5px}body[data-phase="combat"] .player-state{font-size:9px}

body[data-phase="start_event"] .party-panel,body[data-phase="start_event"] .inventory-panel,body[data-phase="event"] .party-panel,body[data-phase="event"] .inventory-panel,body[data-phase="reward"] .party-panel,body[data-phase="reward"] .inventory-panel,body[data-phase="shop"] .party-panel,body[data-phase="shop"] .inventory-panel,body[data-phase="camp"] .party-panel,body[data-phase="camp"] .inventory-panel{display:none!important}body[data-phase="start_event"] #startEventPanel,body[data-phase="event"] #eventPanel,body[data-phase="reward"] #rewardPanel,body[data-phase="shop"] #shopPanel,body[data-phase="camp"] #campPanel,body[data-phase="act_complete"] #endPanel,body[data-phase="defeat"] #endPanel{position:absolute;inset:0;overflow:auto!important;border-radius:0;padding:24px}

@media(max-width:980px){body[data-phase="combat"] .party-panel{width:205px}body[data-phase="combat"] .player{width:205px;grid-template-columns:42px 1fr}body[data-phase="combat"] .inventory-panel{width:205px}body[data-phase="combat"] #combatPanel{grid-template-columns:225px minmax(0,1fr)}body[data-phase="combat"] #combatPanel:before{left:225px}body[data-phase="combat"] .enemy{width:190px}body[data-phase="combat"] .enemy-art{height:170px}body[data-phase="combat"] .hand .card{width:116px;min-width:116px;height:150px}body[data-phase="combat"] .combat-room-label{left:240px}}
