/* Six positions / desktop. Readable interface text is not scaled down with the arena. */
:root{font-size:16px}
body{display:block;min-width:1180px;background:#050b10;font-family:var(--wo-text)}
.battle-app{width:100%;max-width:2560px;height:100svh;min-height:680px;min-width:1180px;margin:0 auto;aspect-ratio:auto;grid-template-rows:58px minmax(0,1fr) var(--dock-height,220px) 24px;--rail-left:clamp(176px,12vw,230px);--rail-right:clamp(248px,16.1vw,310px);--hand-width:154px;--field-width:225px;--dock-height:220px}
.topbar{height:58px;padding:0 22px;gap:22px}.wordmark{font-size:17px;gap:3px}.table-location{font-size:10px;padding-left:18px;gap:3px}.round-plaque>strong{font-size:30px}.phase-name{font-size:12px}.session-status{font-size:10px}.icon-button{width:34px;height:34px}.top-actions{gap:10px}
.battle-layout{grid-template-columns:var(--rail-left) minmax(0,1fr) var(--rail-right);padding:10px 18px 10px;gap:18px;overflow:visible}
.leaders-rail{gap:8px}.leader-panel{padding-bottom:8px;flex:0 1 auto;min-height:0}.portrait-wrap{height:clamp(54px,10vh,130px)}.leader-name{font-size:19px;margin:7px 10px}.leader-country,.leader-role{font-size:9px}.sovereignty-row{font-size:10px;padding:0 10px}.sovereignty-row strong{font-size:29px}.sovereignty-row small{font-size:12px}.sovereignty-track{margin:5px 10px 8px;height:5px}.budget-top{font-size:10px;margin:0 10px 5px}.budget-top strong{font-size:15px}.budget-pips{margin:0 10px;gap:3px}.budget-pip{height:7px}.special-button{margin:8px 7px 0;padding:7px;gap:7px;width:calc(100% - 14px)}.special-button img{width:24px;height:24px}.special-button .special-info strong,.opponent .special-button .special-info strong{font-size:12px;line-height:1.25}.special-button .special-info small{font-size:9px}.special-cost{font-size:24px}.initiative-panel{padding:0 5px;gap:6px}.initiative-panel strong{font-size:11px}.initiative-panel .eyebrow{font-size:9px}.initiative-rule{width:15px}
.battlefield{padding:0;min-height:0}.opponent-hand{height:30px}.hidden-card{height:34px;width:25px}.hidden-count{font-size:11px;top:5px}.opponent-pile-info{font-size:10px}.opponent-pile-info button{font-size:10px}.lanes{gap:14px}.front-heading{height:34px;font-size:13px;letter-spacing:1.2px}.front-heading svg{width:18px;height:18px}.front-heading:before,.front-heading:after{width:18px}.field-slot{padding:3px 0 7px}.field-card,.empty-slot{width:var(--field-width);max-width:100%}.empty-slot span{font-size:12px}.field-card .card-name{font-family:var(--wo-title);font-size:clamp(14px,1.05vw,20px);line-height:1.05;height:10%;top:56%}.field-card .card-type{font-size:10px;letter-spacing:0;top:69%;left:8%}.field-card .card-rule{font-size:12px;line-height:1.25;top:76%;height:12%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.field-card .card-attributes{font-size:18px}.field-card .card-footer{font-size:8px}.field-card .card-cost{font-size:23px;left:5.5%;top:3%;width:10%}.field-card .card-tags{display:none}.field-stats{bottom:-4px;gap:6px}.state-stat{font-size:23px;min-width:44px;padding:3px 7px;gap:5px}.state-stat svg{width:17px;height:17px}.modifier-label{font-size:11px;top:51%;right:-8px}.modifier-duration{font-size:8px}.silence-label{font-size:11px}
.command-rail{position:relative;gap:9px}.combat-sequence{flex:1 1 160px;max-height:300px;min-height:90px;padding:11px}.combat-heading .eyebrow{font-size:11px}#combat-phase-status{font-size:10px}#combat-sequence-title{font-size:18px}#combat-sequence-note{font-size:12px}.combat-sequence-steps li{font-size:11px;padding:4px 2px}.combat-steps-context{font-size:9px}.combat-latest-heading>span{font-size:10px}#combat-details-toggle{font-size:11px}#combat-last-title{font-size:14px}#combat-last-summary{font-size:12px}.combat-last-facts>span{font-size:11px}.combat-sequence-details{max-height:180px}#combat-feed li,.combat-feed-source,.combat-feed-kind{font-size:12px}.combat-skip{font-size:12px;padding:8px}
.has-combat-presentation .chronicle-panel{flex:1 1 100px;min-height:50px;padding:10px}.has-combat-presentation .chronicle-panel .log-item{font-size:13px;line-height:1.5}.log-item small{font-size:9px}.rail-heading{padding-bottom:7px}.rail-heading .eyebrow,.has-combat-presentation .chronicle-panel .rail-heading .eyebrow{font-size:11px}.log-bottom{display:none}.priority-panel{padding:12px;min-height:130px}.priority-top{font-size:11px;letter-spacing:.7px}.priority-panel p{font-size:13px;line-height:1.45;min-height:0;margin:9px 0}.primary-button{font-size:13px;letter-spacing:1px;padding:11px}.pass-caption{font-size:11px}.window-button{font-size:11px}.inline-response strong{font-size:13px;color:#c3e4e7}.inline-response p{font-size:12px;margin:5px 0}.inline-response span{font-size:11px;color:#e9c582}
.hand-dock{grid-template-columns:118px minmax(0,1fr) 180px;gap:12px;margin:0 18px;overflow:visible}.hand-heading{padding:7px 0 5px}.hand-heading .eyebrow,.hand-heading strong{font-size:12px}.hand-heading>span:last-child{font-size:10px;color:#c1d1d4;letter-spacing:.4px}.hand-cards{padding-top:2px;justify-content:center;gap:0}.hand-card{width:var(--hand-width);flex-basis:var(--hand-width);margin-left:var(--hand-overlap,-18px);transform:translateY(var(--offset)) rotate(var(--angle));touch-action:none;user-select:none;cursor:grab}.hand-card:active{cursor:grabbing}.hand-card:hover,.hand-card:focus-visible,.hand-card.active{transform:translateY(-26px) rotate(0) scale(1.12);filter:brightness(1.08)}.hand-card .card-name{font-size:clamp(13px,.93vw,18px);line-height:1.03;top:56%;height:11%}.hand-card .card-cost{font-size:21px;left:5.5%;width:10%;top:3%}.hand-card .card-type{font-size:9px;top:69%;left:8%;letter-spacing:0}.hand-card .card-tags{display:none}.hand-card .card-effect{font-size:10px;top:75%;line-height:1.3;max-height:13%;overflow:hidden}.hand-card .card-attributes{font-size:17px}.hand-card .card-attributes small{display:none}.hand-card .card-footer{font-size:7px}.playable-marker{font-size:9px;letter-spacing:1px}.discount-marker{font-size:20px}.piles{gap:12px}.pile-button{width:45px}.pile-art{height:62px;width:46px}.pile-label{font-size:9px;letter-spacing:.2px}.pile-number{font-size:15px;min-width:25px}.dock-actions{gap:7px;padding:3px 0;align-self:center}.dock-actions .text-button{font-size:12px;padding:3px;gap:6px}.autosave-status{font-size:9px}.status-bar{padding:0 18px;font-size:10px;letter-spacing:.5px}.keyboard-tip{font-size:10px}.keyboard-tip kbd{font-size:10px}.toast{font-size:15px;max-width:680px;z-index:90;bottom:calc(var(--dock-height) + 34px);padding:12px 18px}
.card-dossier{position:absolute;inset:0;z-index:42;padding:18px;overflow:auto;background:linear-gradient(145deg,#1a303b,#091a25);border:1px solid #cbb17b;box-shadow:0 15px 38px #0009;pointer-events:none}.card-dossier[hidden]{display:none}.card-dossier .eyebrow{font-size:11px}.card-dossier>img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;margin-top:12px;border:1px solid #7c8174}.card-dossier h2{font:24px/1.15 var(--wo-title);margin:14px 0 12px;color:#f4e6c7}.dossier-effect{font-size:18px;line-height:1.5;color:#e1eae4;margin:0 0 14px}.dossier-stats{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.dossier-stats b{font-size:22px;display:block;color:#ecd19c}.dossier-scope{font-size:13px;line-height:1.55;color:#c4d5d6;border-top:1px solid #435960;padding-top:12px}.card-dossier small{font-size:9px;letter-spacing:1px}.show-dossier .combat-sequence,.show-dossier .chronicle-panel{visibility:hidden}
/* Pointer targets and in-table choices. Replacement is explicit before release, not a modal. */
.dragging-card .field-slot.drop-valid{box-shadow:inset 0 0 0 2px #eed6a3,inset 0 0 40px #bba66820}.dragging-card .field-slot.drop-invalid{opacity:.5}.dragging-card .drop-hover{background:#dac07a25!important;box-shadow:inset 0 0 0 3px #f9dc96,inset 0 0 45px #d5b26440!important}.drop-valid:after{content:attr(data-drop-label);position:absolute;z-index:6;top:0;left:50%;transform:translateX(-50%);font-size:12px;line-height:1.2;background:#18313a;color:#fff0cd;border:1px solid #d4b57b;padding:6px 10px;max-width:100%;text-align:center;width:max-content}.drop-replace:after{background:#573c27}.drag-source{opacity:.25!important}.drag-card-ghost{position:fixed;pointer-events:none;z-index:1000;transform:rotate(-3deg);filter:drop-shadow(0 18px 18px #000a)}.drag-card-ghost .card-cost{font-size:24px}.drag-card-ghost .card-name{font-size:19px}.drag-card-ghost .card-effect{font-size:11px}.drag-card-ghost .card-type{font-size:10px}.drag-card-ghost .card-tags{display:none}.table-drop-zone{position:absolute;z-index:22;top:46%;left:4%;width:92%;min-height:48px;padding:15px;background:#18343ef7;border:2px solid #d9c183;text-align:center;font-size:13px;font-weight:700;letter-spacing:1px;box-shadow:0 5px 25px #000a}.table-drop-zone[hidden]{display:none}.selection-banner{font-size:13px;max-width:95%;padding:10px 14px}.selection-banner button{font-size:12px}.inline-options{position:absolute;left:calc(var(--rail-left) + 40px);right:calc(var(--rail-right) + 40px);bottom:calc(var(--dock-height) + 28px);z-index:60;padding:16px;background:#102a35f7;border:1px solid #dbc48d;box-shadow:0 15px 45px #000a;max-height:260px;overflow:auto}.inline-options[hidden]{display:none}.inline-options>strong{font-size:17px}.inline-options>p{font-size:13px;color:#aabec1}.inline-options>div{display:flex;gap:8px;flex-wrap:wrap}.inline-options button{font-size:14px}.target-valid:after{font-size:11px}.target-invalid{opacity:.55}
/* Full effect layer. All beams in a Clash start together from the engine's single snapshot. */
#duel-fx{position:absolute;inset:0;z-index:29;pointer-events:none;overflow:hidden}.fx-ring{position:absolute;width:74px;height:74px;border:2px solid;border-radius:50%;pointer-events:none}.fx-restore{border-radius:25%;width:90px;height:90px}.fx-beam{position:absolute;height:3px;transform-origin:left center;pointer-events:none}.fx-spark{position:absolute;width:4px;height:4px;border-radius:1px}.fx-shard{position:absolute;width:12px;height:7px;clip-path:polygon(50% 0,100% 40%,70% 100%,0 85%)}.fx-number{position:absolute;font:bold 25px/1.2 var(--wo-text);text-shadow:0 2px 4px #000,0 0 12px #000;white-space:nowrap;max-width:280px;text-align:center}.fx-shield{position:absolute;filter:drop-shadow(0 0 10px #78c9db);pointer-events:none}.fx-shield svg{width:100%;height:100%;stroke:#b5f1f8;stroke-width:2;fill:#83daea18}.fx-silence{position:absolute;background:repeating-linear-gradient(0deg,transparent 0 4px,#92bbd966 4px 7px);border:1px solid #9dcde0;display:grid;place-items:center;font-size:18px;letter-spacing:3px;color:#e5fbff;text-shadow:0 2px 5px black}.fx-card-flight,.fx-destroyed-card{position:absolute;pointer-events:none}.fx-event-banner{position:absolute;font:700 17px var(--wo-text);padding:13px 20px;background:#122a36ed;border-top:1px solid #ddbe7f;border-bottom:1px solid #ddbe7f;box-shadow:0 8px 35px #000b;white-space:nowrap;color:#ffe4b2}.fx-round-sweep{position:absolute;left:20%;right:20%;top:46%;text-align:center;background:linear-gradient(90deg,transparent,#789ba866,transparent);font:26px var(--wo-title);padding:12px}
.combat-change{font-size:11px;line-height:1.3}.combat-special-banner strong{font-size:15px}.combat-special-banner>span{font-size:10px}.combat-clash strong{font-size:15px}.combat-clash>span{font-size:11px}
#wo-tutorial-launch{left:auto;right:214px;bottom:34px;font-size:11px;padding:6px 9px;z-index:10}#wo-tutorial{z-index:200}
.modal{font-size:16px}.inspection-effect{font-size:19px;line-height:1.6}.inspection-meta{font-size:13px}.inspection-note,.inspection-status{font-size:14px}.inspect-layout{grid-template-columns:minmax(260px,38%) 1fr}.setup-modal{width:min(1050px,94vw)}
@media(max-height:820px){.portrait-wrap{height:46px}.leader-name{font-size:17px;margin:5px 8px}.sovereignty-row strong{font-size:25px}.special-button{padding:5px;margin-top:5px}.budget-pip{height:6px}.leader-panel{padding-bottom:5px}.combat-sequence{max-height:220px}.combat-sequence-steps{display:none}.combat-steps-context{display:none}.combat-scroll #combat-sequence-note{font-size:12px}.priority-panel{padding:10px;min-height:125px}.hand-card .card-effect{font-size:9px}.field-card .card-rule{font-size:10px;-webkit-line-clamp:1}.field-card .card-type{font-size:9px}.field-card .card-name{font-size:14px}.field-card .card-footer{font-size:7px}.state-stat{font-size:19px;min-width:36px}.card-dossier{padding:14px}.card-dossier>img{max-height:120px}.card-dossier h2{font-size:21px}.dossier-effect{font-size:16px;line-height:1.4}.dossier-scope{font-size:12px}.inline-response p{font-size:11px}.inline-response span{display:none}}
@media(prefers-reduced-motion:reduce){.hand-card,.field-card,.field-slot{transition:none!important}.drag-card-ghost{transform:none}}
.reduced-motion .hand-card,.reduced-motion .field-card,.reduced-motion .field-slot{transition:none!important}
/* Small cards retain name/cost/stats; the full rule is read in the fixed large dossier. */
.hand-card .card-name{top:56%;height:max(19%,32px);align-items:flex-start;padding-top:2px;overflow:hidden}
.hand-card .card-type{top:81%;font-size:9px}
.hand-card .card-effect{display:none}
.field-card .card-name{height:16%;align-items:flex-start;padding-top:2px}
.field-card .card-type{top:77%;font-size:10px}
.field-card .card-rule{display:none}
.field-card .card-attributes{display:none}
.field-card .card-footer{top:87%;font-size:8px}

.top-actions #wo-tutorial-launch{position:static;inset:auto;width:auto;max-width:none;min-height:30px;font-size:10px;letter-spacing:.5px;padding:6px 9px;z-index:auto;white-space:nowrap}
