:root{
  --bg:#0b0d0b;--panel:#191d18;--panel2:#242a22;--line:#69634c;--paper:#f0ead8;--ink:#171914;
  --muted:#b8b6a8;--accent:#c6a15b;--accent2:#8d6f37;--danger:#aa493d;--good:#7f9e69;
  --spent:#7d8e71;--lost:#b45e53;--character:#4d672f;--ammo:#245a83;--action:#b76518;--reaction:#64457c;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#0b0d0b;color:#ece8dc;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.hidden{display:none!important}
body{background:radial-gradient(circle at 50% -15%,#3f3b27 0,#151812 27%,#0b0d0b 58%,#070807 100%);overflow-x:hidden}.deco-sunburst{position:fixed;inset:0;pointer-events:none;opacity:.09;background:repeating-conic-gradient(from -9deg at 50% -5%,transparent 0 8deg,#d4b36b 8deg 9deg,transparent 9deg 18deg);mask-image:linear-gradient(to bottom,#000 0,transparent 48%);z-index:0}
#app{position:relative;z-index:1;max-width:1880px;margin:0 auto;padding:12px 16px 20px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 16px;margin-bottom:14px;background:linear-gradient(180deg,#1f241d,#161a15);border:1px solid #77705a;box-shadow:0 10px 30px #0008}.deco-frame{position:relative}.deco-frame:before,.deco-frame:after{content:"";position:absolute;top:8px;bottom:8px;width:9px;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent)}.deco-frame:before{left:8px;border-left:1px solid var(--accent)}.deco-frame:after{right:8px;border-right:1px solid var(--accent)}
.brand{padding-left:10px}.brand-rule{width:210px;height:4px;margin-bottom:5px;background:linear-gradient(90deg,var(--accent),var(--accent) 32%,transparent 32% 38%,var(--accent) 38% 66%,transparent 66% 72%,var(--accent) 72%)}h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:5px;margin:0;font-size:34px;font-weight:700}.subtitle{color:#c9c2aa;font-size:13px;letter-spacing:1.6px;text-transform:uppercase;margin-top:4px}.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge{border:1px solid #716c59;background:#272b23;padding:7px 10px;border-radius:2px;font:12px "Courier New",monospace;letter-spacing:.5px}
.panel{background:linear-gradient(180deg,rgba(35,40,31,.98),rgba(24,28,22,.98));border:1px solid #595744;box-shadow:0 10px 26px #0007}.deco-panel{position:relative}.deco-panel:before{content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid rgba(198,161,91,.28)}.lobby{padding:24px}.era-banner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);padding:9px 4px;margin-bottom:22px;text-align:center;color:#d8c795;letter-spacing:1.6px;font-size:11px}.era-banner strong{font-family:Georgia,"Times New Roman",serif;font-size:18px;letter-spacing:2px;color:#f1e6c5;text-transform:uppercase}.era-banner span:last-child{text-align:right}.era-banner span:first-child{text-align:left}.lobby h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:1px;margin-top:0}.lobby-copy{max-width:1380px}.intro-copy>p{line-height:1.55}.tiny-note{font-size:13px;color:#c8c5b5;margin-bottom:0}.quick-rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.quick-rules>div{background:#141713;border:1px solid #56523f;padding:13px 14px;min-height:126px;position:relative}.quick-rules>div:before{content:"";position:absolute;left:7px;right:7px;top:7px;border-top:1px solid #776c4c}.quick-rules strong{display:block;color:#e1c573;margin:8px 0 7px;font-family:Georgia,"Times New Roman",serif;font-size:14px;letter-spacing:.5px}.quick-rules span{display:block;color:#d0cec2;font-size:13px;line-height:1.45}.lobby-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.lobby-card{background:#151813;border:1px solid #5b5744;padding:18px}.lobby-card h3{font-family:Georgia,"Times New Roman",serif;margin-top:0;color:#ead38b}.lobby-card p{color:#c9c6b8;min-height:50px;line-height:1.45}.lobby-card input{width:100%;background:#0d0f0c;color:white;border:1px solid #6d6854;padding:11px;margin-bottom:9px;text-transform:uppercase;letter-spacing:4px}.panel-inset{background:#141713;border:1px solid #4e4b3a;padding:12px 15px}.rules summary{cursor:pointer;font-weight:bold;color:#ead38b}.rules li{margin:7px 0;color:#d0cdc0;line-height:1.4}.message{margin-top:12px;color:#e3c879;min-height:20px}.primary,.ghost,.secondary,.choice-btn,.mode-choice{border:1px solid #887a58;border-radius:2px;padding:9px 13px;background:#4c5840;color:#fff;font-weight:bold}.primary{background:linear-gradient(180deg,#687354,#4b5840)}.primary:hover,.choice-btn:hover,.mode-choice:hover,.secondary:hover{filter:brightness(1.12)}.ghost{background:#232720}.secondary{background:#3d4437}
/* Main board */
.game{display:flex;flex-direction:column;gap:10px}.player-area{border:1px solid #514f3f;background:linear-gradient(180deg,rgba(19,22,17,.94),rgba(11,13,10,.94));padding:10px 12px;box-shadow:0 5px 18px #0008}.player-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px}.player-title{font-family:Georgia,"Times New Roman",serif;font-weight:bold;letter-spacing:1.4px;font-size:16px;color:#e9d9a5}.counters{display:flex;gap:6px;flex-wrap:wrap}.counter{font-size:11px;border:1px solid #5a5746;background:#23271f;padding:5px 7px}.counter.spent{border-color:var(--spent)}.counter.lost{border-color:var(--lost);color:#f0aaa1}.board{display:flex;flex-direction:column;gap:8px}.opponent .board{flex-direction:column}.player .board{flex-direction:column-reverse}.hand-zone{padding:4px 2px}.zone-label{font:10px/1.2 "Courier New",monospace;text-transform:uppercase;letter-spacing:1px;color:#b9b49f;margin-bottom:5px}.hand-row{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;padding:4px 3px 8px;min-height:179px;scrollbar-color:#5d5a48 #151713}.hand-row.hand-drop-hover{outline:1px dashed #d8b867;outline-offset:2px}.battlefield{display:grid;grid-template-columns:96px minmax(0,1fr) 96px;gap:9px;align-items:stretch}.resource-zone{display:flex;align-items:center;justify-content:center;min-height:250px}.pile-stack{display:flex;flex-direction:column;gap:10px;align-items:center}.mini-pile{text-align:center}.pile-card{width:76px;height:106px;border:1px solid #81795e;background:linear-gradient(135deg,#2e3529,#131610);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px;text-align:center;box-shadow:0 4px 10px #0008}.pile-card.clickable-pile{cursor:pointer}.spent-pile{border-color:#74866b}.lost-pile{border-color:#a8544a;background:linear-gradient(135deg,#3a2420,#17100e)}.pile-top-name{font-size:9px;font-weight:bold;line-height:1.15}.pile-count{font-size:9px;color:#c7c3b4;margin-top:5px}.hand-back{width:102px;height:153px;flex:0 0 102px;background:repeating-linear-gradient(135deg,#283024 0 8px,#192018 8px 16px);border:1px solid #6a644d;color:#c9b66f;font:10px Georgia,serif;letter-spacing:1px}.field-zone{min-width:0}.field-row{display:grid;grid-template-columns:repeat(6,minmax(128px,1fr));gap:6px;min-height:258px}.field-slot{position:relative;min-width:0;min-height:248px;border:1px dashed #494a3d;display:flex;align-items:stretch;justify-content:stretch;background:linear-gradient(180deg,rgba(55,58,45,.16),rgba(0,0,0,.08));transition:.12s}.field-slot:before{content:"";position:absolute;inset:5px;border:1px solid rgba(198,161,91,.08);pointer-events:none}.field-slot.drop-valid{border-color:#c5a85d;background:rgba(147,126,68,.15)}.field-slot.drop-hover{border-color:#f2d57d;background:rgba(189,161,82,.24);box-shadow:inset 0 0 0 2px rgba(242,213,125,.13)}.empty-slot-label{margin:auto;color:#55594b;font:10px "Courier New",monospace;text-transform:uppercase}.field-slot.occupied{border-style:solid;border-color:#33362d;background:none}.field-slot.unit-move-valid{border-color:#8fb07a}.field-slot.unit-move-hover{background:rgba(92,122,78,.25);border-color:#bad6a7}.field-slot.part-0{margin-right:-6px;z-index:2}.field-slot.part-mid{margin-left:-6px;margin-right:-6px;z-index:2}.field-slot.part-last{margin-left:-6px;z-index:2}.field-slot.part-0 .card{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.field-slot.part-mid .card{border-left:0;border-right:0;border-radius:0}.field-slot.part-last .card{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}
/* Cards */
.card{--type:var(--character);position:relative;width:150px;height:225px;background:var(--paper);color:var(--ink);border:1.5px solid var(--type);border-radius:6px;box-shadow:0 4px 10px #0008;overflow:hidden;user-select:none;display:flex;flex-direction:column}.card:after{content:"";position:absolute;inset:3px;pointer-events:none;border:1px solid color-mix(in srgb,var(--type) 35%,transparent);border-radius:3px}.card.character{--type:var(--character)}.card.ammo{--type:var(--ammo)}.card.action{--type:var(--action)}.card.reaction{--type:var(--reaction)}.card.clickable{cursor:pointer}.card[draggable="true"]{cursor:grab}.card.dragging{opacity:.55}.card.selected{outline:3px solid #e8cb6a;outline-offset:2px}.card.hand-insert-before{box-shadow:-5px 0 0 #e6c563,0 4px 10px #0008}.card.hand-insert-after{box-shadow:5px 0 0 #e6c563,0 4px 10px #0008}.card-head{position:relative;background:linear-gradient(180deg,color-mix(in srgb,var(--type) 90%,#fff 5%),var(--type));color:#fff;padding:6px 8px 5px;min-height:41px;border-bottom:1px solid rgba(0,0,0,.35)}.card-head:after{content:"";position:absolute;left:9px;right:9px;bottom:3px;border-bottom:1px solid rgba(255,240,194,.35)}.card-kicker{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:1px;opacity:.93;line-height:1}.card-title{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:15px;line-height:1.05;padding-right:42px;margin-top:4px}.hp-tag{position:absolute;right:6px;top:6px;font:bold 12px Arial;background:#1d211b80;color:#fff;padding:3px 5px;border:1px solid #ffffff30;min-width:38px;text-align:center}.hp-tag.damaged{background:#a63e34}.card-art{height:91px;margin:6px 9px 5px;border:1px solid rgba(24,27,22,.25);border-radius:2px;background:#8b927d center/cover no-repeat;flex:0 0 auto;position:relative}.card-info{padding:0 9px 7px;display:flex;flex-direction:column;gap:5px;min-height:0;flex:1}.statline{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700}.loss-tag{margin-left:auto;color:#7b2822}.deploy-tag{font-size:9px;font-weight:800;color:#74352e}.ammo-icons{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.ammo-chip{display:inline-flex;align-items:center;justify-content:center;gap:3px;border:1px solid #8c8b7d;background:#faf7ed;border-radius:10px;padding:1px 5px;font-size:8px;font-weight:800;white-space:nowrap}.ammo-chip .glyph{font-size:12px;line-height:1}.card-text{font-size:9px;line-height:1.25;color:#35382f}.part-tag{position:absolute;left:8px;top:46px;background:#181b16d9;color:#fff;padding:2px 5px;border-radius:2px;font:bold 8px Arial;z-index:3}.damage-badge{position:absolute;left:8px;top:48px;background:#a83c31;color:#fff;border:1px solid #ffd6ca;padding:4px 6px;font:bold 11px Arial;z-index:4}.ready-badge{position:absolute;left:8px;bottom:7px;background:#536a4c;color:#fff;padding:3px 5px;font:bold 8px Arial;z-index:5}.exhausted-badge{background:#805945}.smoke-badge{position:absolute;right:8px;bottom:7px;background:#68757a;color:#fff;padding:3px 5px;font:bold 8px Arial;z-index:5}.ammo-main-symbol{position:absolute;left:12px;top:48px;width:38px;height:38px;border-radius:50%;background:var(--type);color:white;border:2px solid #f7f2df;display:flex;align-items:center;justify-content:center;font:bold 19px Arial;z-index:3;box-shadow:0 1px 4px #0008}.damage-grid{display:grid;grid-template-columns:1fr 1.5fr;border:1px solid #aaa899;overflow:hidden;margin-top:1px}.damage-grid span{padding:4px 5px;font-size:9px;border-bottom:1px solid #b7b4a6}.damage-grid span:nth-last-child(-n+2){border-bottom:0}.damage-grid .num{font:bold 16px Georgia,"Times New Roman",serif;text-align:center;background:#f7f2e5}.mode-lines{display:grid;gap:5px;font-size:9px;line-height:1.22}.mode-box{border:1px solid #9ca28f;padding:5px}.mode-box strong{display:block;font-size:9px;color:#2b632a;margin-bottom:2px}.mode-box.lose{border-color:#b59284}.mode-box.lose strong{color:#9b2e25}.field-row .card{width:100%;height:248px;max-width:none}.field-row .card-title{font-size:15px}.field-row .card-text{font-size:9px}.field-row .card-art{height:106px}.field-character.multipart .card-art{margin-left:0;margin-right:0;border-left:0;border-right:0;border-radius:0}.field-slot.part-0 .card-art{margin-left:9px;border-left:1px solid rgba(24,27,22,.25)}.field-slot.part-last .card-art{margin-right:9px;border-right:1px solid rgba(24,27,22,.25)}.hand-row .card{flex:0 0 108px;width:108px;height:162px}.hand-row .card-head{padding:5px 6px;min-height:33px}.hand-row .card-kicker{font-size:6px}.hand-row .card-title{font-size:11px;padding-right:30px}.hand-row .hp-tag{font-size:8px;padding:2px 3px;min-width:27px}.hand-row .card-art{height:63px;margin:4px 5px}.hand-row .card-info{padding:0 5px 4px;gap:2px}.hand-row .card-text,.hand-row .mode-lines,.hand-row .damage-grid,.hand-row .deploy-tag{display:none}.hand-row .ammo-chip{font-size:0;padding:1px 3px}.hand-row .ammo-chip .glyph{font-size:10px}.hand-row .statline{font-size:7px}.hand-row .part-tag{top:35px;left:5px;font-size:6px}.hand-row .ammo-main-symbol{width:27px;height:27px;top:38px;left:8px;font-size:13px}.big-card{width:260px!important;height:390px!important;margin:0 auto 12px}.big-card .card-head{min-height:53px;padding:8px 10px}.big-card .card-kicker{font-size:11px}.big-card .card-title{font-size:21px;padding-right:58px}.big-card .hp-tag{font-size:16px}.big-card .card-art{height:165px;margin:8px 12px}.big-card .card-info{padding:0 12px 10px;gap:7px}.big-card .statline{font-size:14px}.big-card .ammo-chip{font-size:11px;padding:2px 7px}.big-card .ammo-chip .glyph{font-size:15px}.big-card .card-text{font-size:12px}.big-card .mode-lines{font-size:12px}.big-card .mode-box strong{font-size:12px}.big-card .damage-grid span{font-size:12px;padding:5px}.big-card .damage-grid .num{font-size:21px}.big-card .part-tag{top:58px;font-size:10px}.big-card .damage-badge{top:61px;font-size:12px}.big-card .ammo-main-symbol{width:50px;height:50px;top:63px;font-size:25px}
.middle-strip{padding:11px 14px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,1.5fr) auto;gap:12px;align-items:center;min-height:78px;position:relative}.middle-strip.drop-valid{border-color:#d3b45f;box-shadow:inset 0 0 0 2px #d3b45f22}.middle-strip.drop-hover{background:#333526}.turn-info{display:flex;flex-direction:column;gap:4px}.turn-info strong{font-family:Georgia,"Times New Roman",serif;color:#f0d88f}.turn-info span{font-size:12px;color:#cbc8b8}.reaction-panel{background:#351f1b;border:1px solid #9a6559;padding:8px}.incoming{font-size:11px;margin-bottom:6px;color:#f2c7bc}.reaction-options{display:flex;gap:6px;flex-wrap:wrap}.reaction-option{border:1px solid #686f64;background:#1f241d;padding:5px;font-size:10px}.reaction-option strong{display:block;margin-bottom:3px}.reaction-option button{padding:5px 7px;margin-right:3px;font-size:9px}.middle-actions{text-align:right;display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}
/* Inspector floats so it does not steal board width. */
.inspector{position:fixed;right:18px;top:82px;width:330px;max-height:calc(100vh - 105px);overflow:auto;padding:14px;z-index:35;border-color:#8a7b59;box-shadow:0 16px 42px #000c}.inspector-close{position:absolute;right:8px;top:7px;width:30px;height:30px;border:1px solid #796e51;background:#262a22;color:#e9d9a5;font-size:22px;line-height:22px}.inspector h3{font-family:Georgia,"Times New Roman",serif;margin:8px 34px 8px 0}.action-list{display:flex;flex-direction:column;gap:7px}.action-list button{text-align:left}.inspector-note{color:#beb9aa;font-size:12px;margin-top:9px;line-height:1.4}.log-panel{padding:10px 12px}.log-title{display:flex;align-items:center;justify-content:space-between}.log-title h3{font-family:Georgia,"Times New Roman",serif;margin:0;color:#d8c078}.log-title span{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#8f8d82}.game-log{max-height:122px;overflow:auto;font:11px/1.4 "Courier New",monospace;margin-top:5px}.log-entry{padding:3px 0;border-bottom:1px solid #33382e}
.modal{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;padding:16px;z-index:60}.modal-card{width:min(700px,96vw);max-height:90vh;overflow:auto;padding:18px}.modal-card h3{font-family:Georgia,"Times New Roman",serif;color:#ecd386;margin-top:0}.modal-actions{display:flex;gap:7px;justify-content:flex-end;margin-top:12px}.choice-list{display:grid;gap:7px}.choice-btn{text-align:left}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-choice{min-height:120px;text-align:left;background:#323828}.mode-choice.lose-mode{background:#4b2924;border-color:#935e54}.mode-choice strong{display:block;font-size:16px;margin-bottom:8px}.mode-choice span{font-weight:normal;line-height:1.35}.loss-choice-grid,.payment-grid{display:grid;gap:7px}.loss-card-btn,.payment-card-btn{background:#332522;border:1px solid #86584e;color:#fff;padding:9px;text-align:left}.payment-card-btn.discard-pay{background:#28362a;border-color:#6c8068}.payment-help,.loss-help,.resupply-help{color:#d3c7bd;line-height:1.4}.pile-list{display:grid;gap:6px}.pile-list-row{display:grid;grid-template-columns:88px 1fr 90px;gap:8px;align-items:center;background:#171b14;border:1px solid #41493b;padding:8px}.pile-list-row span:last-child{text-transform:uppercase;font-size:10px;color:#aeb7a3}.pile-order{font-size:8px;color:#e3cf83;letter-spacing:.5px}.resupply-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.resupply-card{background:#30362b;border:1px solid #66705d;color:#fff;padding:9px;text-align:left}footer{text-align:center;color:#747466;font-size:10px;letter-spacing:1px;padding:15px;text-transform:uppercase}
@media(max-width:1420px){#app{padding-left:8px;padding-right:8px}.field-row{grid-template-columns:repeat(6,minmax(112px,1fr))}.battlefield{grid-template-columns:82px minmax(0,1fr) 82px}.pile-card{width:66px;height:94px}.field-row .card-title{font-size:13px}.field-row .card-art{height:95px}.field-row .card{height:235px}.field-slot{min-height:235px}.resource-zone{min-height:235px}}
@media(max-width:1080px){.quick-rules{grid-template-columns:repeat(2,minmax(0,1fr))}.era-banner{grid-template-columns:1fr}.era-banner span{text-align:center!important}.battlefield{grid-template-columns:72px minmax(0,1fr) 72px}.field-row{display:flex;overflow-x:auto;min-height:235px}.field-slot{flex:0 0 132px}.field-slot.part-0,.field-slot.part-mid,.field-slot.part-last{margin-left:0;margin-right:0}.middle-strip{grid-template-columns:1fr}.inspector{right:8px;top:72px;width:min(330px,92vw)}}
@media(max-width:720px){#app{padding:6px}.topbar{align-items:flex-start}.topbar h1{font-size:24px}.subtitle{font-size:10px}.lobby{padding:14px}.lobby-grid,.quick-rules{grid-template-columns:1fr}.battlefield{grid-template-columns:1fr}.resource-zone{min-height:auto;justify-content:flex-start}.pile-stack{flex-direction:row}.field-row{min-height:222px}.field-slot{flex-basis:122px;min-height:220px}.field-row .card{height:220px}.hand-row{min-height:165px}.hand-row .card{flex-basis:98px;width:98px;height:148px}.mode-grid,.resupply-grid{grid-template-columns:1fr}.pile-list-row{grid-template-columns:70px 1fr}.pile-list-row span:last-child{display:none}.inspector{inset:60px 6px auto 6px;width:auto;max-height:78vh}}

/* v0.6 Battlefields */
:root{--battlefield:#8b6b32}
.card.battlefield{--type:var(--battlefield);background:#f1ead3}
.card.battlefield .card-head{background:linear-gradient(180deg,#a9823c,#72572c)}
.card.battlefield .card-art{background-color:#b7aa86}
.battlefield-rule-label{font-size:8px;font-weight:900;letter-spacing:.7px;color:#6f5527;border-bottom:1px solid #b9a77d;padding-bottom:3px}
.battlefield-text{font-size:10px!important;line-height:1.35!important;font-weight:700;color:#29291f}
.battlefield-panel{min-width:310px;max-width:580px}
.battlefield-empty{min-height:58px;border:1px dashed #766d4e;background:#141713;padding:9px 12px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.battlefield-empty strong{font:700 12px Georgia,"Times New Roman",serif;letter-spacing:1px;color:#d8bd72}
.battlefield-empty span{font-size:10px;color:#aaa797}
.active-battlefield-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;align-items:center;border:1px solid #9c854e;background:linear-gradient(90deg,#3a311d,#20231c);padding:6px 9px;cursor:pointer;min-height:64px;box-shadow:inset 0 0 0 1px #d2b96a18}
.active-battlefield-card:hover{filter:brightness(1.08)}
.battlefield-art{height:52px;border:1px solid #9f8e62;background:#736c55 center/cover no-repeat}
.battlefield-kicker{display:block;font:8px "Courier New",monospace;letter-spacing:.8px;color:#c6b98f;text-transform:uppercase;margin-bottom:2px}
.active-battlefield-card strong{font:700 15px Georgia,"Times New Roman",serif;color:#f0d790;letter-spacing:.3px}
.active-battlefield-card p{margin:3px 0 0;font-size:10px;line-height:1.28;color:#d6d1be}
.battlefield-modal-text{font-size:13px;line-height:1.45;color:#d8d2bf}
.selected-resupply{outline:2px solid #e6c563;outline-offset:-2px;background:#53604a!important}
.middle-strip{grid-template-columns:minmax(235px,.75fr) minmax(310px,1.25fr) minmax(280px,1fr) auto}
.quick-rules{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1500px){.quick-rules{grid-template-columns:repeat(3,minmax(0,1fr))}.middle-strip{grid-template-columns:1fr 1.3fr 1fr}.middle-actions{grid-column:3}.reaction-panel:not(.hidden){grid-column:1/-1}}
@media(max-width:1080px){.battlefield-panel{min-width:0;max-width:none}.middle-strip{grid-template-columns:1fr}.middle-actions,.reaction-panel:not(.hidden){grid-column:auto}.quick-rules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.quick-rules{grid-template-columns:1fr}.active-battlefield-card{grid-template-columns:68px 1fr}.battlefield-art{height:48px}}

/* v0.7 Deck Builder */
.deck-select-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0 18px;padding:14px 16px;border-color:#756a4a;background:linear-gradient(90deg,#181c16,#24271d)}
.deck-select-copy{display:grid;grid-template-columns:auto minmax(220px,360px);gap:5px 12px;align-items:center;min-width:0}
.deck-select-copy label{font:700 12px Georgia,"Times New Roman",serif;color:#e3cb83;letter-spacing:.6px;text-transform:uppercase}
.deck-select-copy select{background:#0e110d;color:#f2ecdc;border:1px solid #746c52;padding:9px 11px;font-weight:700;min-width:220px}
.deck-select-status{grid-column:2;font:10px/1.3 "Courier New",monospace;color:#bcb8a7}
.deck-builder-overlay{position:fixed;inset:0;z-index:80;background:#050605f2;padding:16px;overflow:auto}
.deck-builder-shell{width:min(1500px,98vw);margin:0 auto;padding:18px;min-height:calc(100vh - 32px);border-color:#8f7b4f;background:linear-gradient(180deg,#22271e,#11140f)}
.deck-builder-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:2px solid #b29151;padding:5px 8px 12px;margin-bottom:14px}
.deck-builder-kicker{font:9px "Courier New",monospace;letter-spacing:2px;color:#b5a36f}.deck-builder-head h2{font-family:Georgia,"Times New Roman",serif;font-size:30px;letter-spacing:2px;margin:3px 0 0;color:#f0dfaa}
.deck-builder-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:12px;align-items:end;background:#151914;border:1px solid #5e5945;padding:11px;margin-bottom:10px}
.deck-builder-toolbar label{display:flex;flex-direction:column;gap:5px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#c7b983}.deck-builder-toolbar input{background:#0b0e0a;color:#fff;border:1px solid #6d6650;padding:10px;font-size:15px;text-transform:none;letter-spacing:0}
.deck-builder-presets{display:flex;gap:6px;flex-wrap:wrap}.deck-builder-presets button{padding:8px 10px;font-size:11px}.deck-builder-count{font:700 28px Georgia,"Times New Roman",serif;color:#e0b967;border:1px solid #766849;padding:7px 12px;min-width:112px;text-align:center;background:#11140f}.deck-builder-count.legal{color:#a9ca89;border-color:#6e8a5b}
.deck-builder-stats{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.deck-builder-stats span{background:#20251d;border:1px solid #514d3d;padding:6px 9px;font-size:10px;color:#d0cbbb;text-transform:uppercase;letter-spacing:.5px}
.deck-builder-messages{display:grid;gap:5px;margin:8px 0 12px}.deck-error,.deck-warning,.deck-ok{padding:8px 10px;border:1px solid;font-size:11px;line-height:1.35}.deck-error{background:#3b211d;border-color:#9c574d;color:#ffd1ca}.deck-warning{background:#39321e;border-color:#9a8248;color:#f3dda1}.deck-ok{background:#20301e;border-color:#64805d;color:#cfe8c8}
.deck-builder-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.75fr);gap:14px;align-items:start}.deck-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.deck-group{border:1px solid #4e4b3a;background:#121510;padding:8px}.deck-group h3{font-family:Georgia,"Times New Roman",serif;color:#e4c778;margin:2px 4px 8px;border-bottom:1px solid #5f573f;padding-bottom:6px;letter-spacing:.7px}
.deck-entry{display:grid;grid-template-columns:58px minmax(0,1fr) 34px 28px 34px;gap:7px;align-items:center;min-height:62px;padding:5px;border-bottom:1px solid #2f342b}.deck-entry:last-child{border-bottom:0}.deck-entry-art{width:58px;height:52px;border:1px solid #665f49;background:#32372f center/cover no-repeat}.deck-entry-copy{min-width:0}.deck-entry-copy strong{display:block;font-size:12px;color:#eee5cc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck-entry-copy span{display:block;font-size:9px;color:#aaa697;margin-top:3px;text-transform:uppercase;letter-spacing:.4px}.deck-step,.deck-mini-minus{border:1px solid #6f684f;background:#30372c;color:#fff;font-weight:bold}.deck-step{height:32px;font-size:18px}.deck-entry-count{text-align:center;color:#e4ca81}.deck-current{position:sticky;top:8px;max-height:calc(100vh - 250px);overflow:auto}.deck-current h3{font-family:Georgia,"Times New Roman",serif;color:#ecd28a;margin-top:0}.deck-rule-note{font-size:10px;line-height:1.4;color:#bbb6a5}.deck-current-list{display:grid;gap:4px}.deck-list-row{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:7px;align-items:center;background:#191d17;border:1px solid #373b31;padding:6px 7px;font-size:10px}.deck-list-row em{color:#9f9a8c}.deck-mini-minus{height:25px}.deck-empty{color:#8d8a7d;font-size:11px;font-style:italic}.deck-builder-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #5e5944;margin-top:14px;padding-top:12px}.deck-builder-footer>div{display:flex;gap:8px}
.deck-limit-tag{position:absolute;right:5px;bottom:4px;z-index:4;font:700 6px/1 "Courier New",monospace;letter-spacing:.2px;padding:2px 3px;background:#ede5cecc;border:1px solid #776f5b;color:#3b3a30}.hand-row .deck-limit-tag{display:none}.big-card .deck-limit-tag{font-size:9px;padding:3px 5px;bottom:6px;right:7px}

@media(max-width:1050px){.deck-builder-grid{grid-template-columns:1fr}.deck-library{grid-template-columns:1fr}.deck-current{position:static;max-height:none}.deck-builder-toolbar{grid-template-columns:1fr}.deck-select-panel{align-items:stretch;flex-direction:column}.deck-select-copy{grid-template-columns:1fr}.deck-select-status{grid-column:auto}}
.quick-rules{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1080px){.quick-rules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.quick-rules{grid-template-columns:1fr}}

/* v0.8 Deck Viewer + Character Specialties */
.deck-builder-grid{grid-template-columns:minmax(0,1.7fr) minmax(460px,.9fr)}
.deck-builder-side{position:sticky;top:8px;display:grid;gap:12px;max-height:calc(100vh - 220px);overflow:auto;align-self:start}
.deck-current{position:static;top:auto;max-height:none;overflow:visible}
.deck-viewer{border-color:#766949;background:linear-gradient(180deg,#1d211a,#11140f)}
.deck-viewer h3{font-family:Georgia,"Times New Roman",serif;color:#ecd28a;margin:0 0 4px}
.deck-viewer-content{min-height:275px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding-top:4px}
.deck-viewer-title{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-top:1px solid #554d38;border-bottom:1px solid #554d38;padding:7px 3px;margin-bottom:2px}
.deck-viewer-title strong{font:700 15px Georgia,"Times New Roman",serif;color:#f0dfaa}.deck-viewer-title span{font:9px "Courier New",monospace;color:#aaa694;text-transform:uppercase;text-align:right}
.builder-single-preview{display:flex;justify-content:center;width:100%;overflow:auto;padding:4px}
.builder-multipart-preview{display:flex;gap:0;align-items:stretch;justify-content:flex-start;max-width:100%;overflow-x:auto;padding:4px 2px 8px}
.builder-preview-card{flex:0 0 150px;width:150px;height:225px;margin:0}
.builder-multipart-preview .builder-preview-card:not(:first-child){border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}
.builder-multipart-preview .builder-preview-card:not(:last-child){border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}
.builder-multipart-preview .builder-preview-card:not(:first-child) .card-art{margin-left:0;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}
.builder-multipart-preview .builder-preview-card:not(:last-child) .card-art{margin-right:0;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}
.deck-entry,.deck-list-row{cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s}
.deck-entry:hover,.deck-list-row:hover{background:#22281e;border-color:#6f6648}
.deck-entry.viewer-selected{background:#2b3022;box-shadow:inset 3px 0 0 #d0aa5c}
.deck-entry.viewer-selected .deck-entry-copy strong{color:#f3d98e}
.deck-entry-art,.deck-entry-copy{pointer-events:none}
@media(max-width:1200px){.deck-builder-grid{grid-template-columns:1fr}.deck-builder-side{position:static;max-height:none;overflow:visible}.deck-library{grid-template-columns:repeat(2,minmax(0,1fr))}.deck-viewer-content{min-height:250px}}
@media(max-width:760px){.deck-library{grid-template-columns:1fr}.builder-preview-card{flex-basis:132px;width:132px;height:205px}.deck-viewer-title{align-items:flex-start;flex-direction:column;gap:3px}.deck-viewer-title span{text-align:left}}

/* v0.9 Homepage redesign */
.lobby-home{display:grid;gap:16px;padding:0 0 8px}
.home-hero{min-height:460px;display:grid;grid-template-columns:minmax(430px,.95fr) minmax(520px,1.15fr);overflow:hidden;border:1px solid #8b7447;background:#11140f;box-shadow:0 16px 36px #0009}
.home-hero:before{inset:8px;border-color:#c99b4a66;z-index:3}
.home-hero-copy{position:relative;z-index:4;padding:48px 20px 42px 54px;background:linear-gradient(90deg,#10140ef7 0,#141711ee 72%,#14171144 100%)}
.home-eyebrow,.home-section-kicker{font:700 11px/1.2 "Courier New",monospace;letter-spacing:2.2px;color:#caa85c;text-transform:uppercase}
.home-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(64px,7vw,112px);line-height:.78;letter-spacing:4px;margin:24px 0 22px;color:#ead9aa;text-shadow:0 3px 0 #72542a,0 7px 18px #000b;font-weight:700}
.home-version{display:inline-block;border:1px solid #bd9751;color:#d8b66f;padding:6px 14px;font:700 13px "Courier New",monospace;letter-spacing:1.5px;background:#20190f;margin-bottom:20px}
.home-lede{max-width:650px;font:18px/1.52 Georgia,"Times New Roman",serif;color:#e2dcc8;margin:0 0 24px}
.home-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.home-cta{padding:14px 20px;font-size:14px;letter-spacing:.5px;text-transform:uppercase;border-color:#b69451;box-shadow:inset 0 0 0 1px #f0d59122,0 4px 12px #0006}
.home-deck-btn{background:linear-gradient(180deg,#6d3d23,#4c291a);color:#fff;border:1px solid #a86f40;font-weight:bold}
.home-hero-art{position:relative;min-height:460px;background-image:linear-gradient(90deg,#141711 0%,transparent 20%),url('assets/home-hero.jpg');background-size:cover;background-position:center center}
.home-hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#0b0d0bd9 100%);pointer-events:none}
.home-online{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:0;padding:0;overflow:hidden;border-color:#76633f;background:#171a14}
.home-online>div{padding:18px 22px;min-height:140px;border-right:1px solid #544a34}.home-online>div:last-child{border-right:0}
.home-online label,.home-online strong{display:block;font:700 17px Georgia,"Times New Roman",serif;color:#eee1bb;margin:6px 0 8px}
.home-online p{font-size:12px;line-height:1.45;color:#bdb9a9;margin:0 0 10px}
.home-deck-select select{width:100%;max-width:420px;background:#0d100c;color:#f3eddb;border:1px solid #786a4e;padding:10px 11px;font-weight:700}
.home-deck-select .deck-select-status{margin-top:6px;color:#aaa793}
.home-room-row{display:flex;gap:7px}.home-room-row input{min-width:0;flex:1;background:#0b0e0a;color:white;border:1px solid #74684d;padding:10px;text-transform:uppercase;letter-spacing:3px}
.home-intro{border-top:1px solid #715f3d;border-bottom:1px solid #715f3d;padding:19px 6vw;text-align:center;background:#12150f}.home-intro p{margin:0 auto;max-width:1160px;font:17px/1.6 Georgia,"Times New Roman",serif;color:#ddd7c4}.home-intro b{color:#d6ae61}
.home-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.home-feature{position:relative;background:linear-gradient(180deg,#1c2119,#11140f);border:1px solid #635637;padding:18px 17px 18px 74px;min-height:132px;box-shadow:inset 0 0 0 4px #c59b4820}.home-feature-icon{position:absolute;left:16px;top:22px;width:44px;height:44px;border:1px solid #a8864c;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#e2bc6b;font:700 20px Georgia,serif;background:#292419}.home-feature h3{font-family:Georgia,"Times New Roman",serif;color:#e5c977;margin:1px 0 7px;font-size:17px}.home-feature p{margin:0;font-size:12px;line-height:1.45;color:#c7c2b1}
.home-showcase,.home-how{padding:22px;border-color:#735f3e;background:linear-gradient(180deg,#191d16,#10130f)}
.home-showcase-head h3{font:700 28px Georgia,"Times New Roman",serif;color:#eee0b6;margin:4px 0 16px}.home-showcase-head.centered{text-align:center}.home-showcase-cards{display:grid;grid-template-columns:1fr 1fr 1.35fr 1fr;gap:12px}.showcase-card{background:#e8e0c9;color:#171914;border:2px solid #58703b;border-radius:6px;overflow:hidden;box-shadow:0 8px 18px #0008;min-width:0}.showcase-card.showcase-action{border-color:#ad6a23}.showcase-art{height:160px;background-position:center;background-size:cover;border-bottom:1px solid #6a6655}.showcase-wide .showcase-art{background-size:cover;background-position:center}.showcase-copy{padding:11px 12px 13px}.showcase-copy strong{display:block;font:700 19px Georgia,"Times New Roman",serif}.showcase-copy span{display:block;font:700 9px "Courier New",monospace;text-transform:uppercase;letter-spacing:.7px;color:#4f6336;margin:3px 0 6px}.showcase-copy p{margin:0;font-size:11px;line-height:1.35;color:#35362f}
.home-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #66583c;border-bottom:1px solid #66583c}.home-how-grid article{display:grid;grid-template-columns:54px 1fr;gap:12px;padding:22px 20px;border-right:1px solid #66583c}.home-how-grid article:last-child{border-right:0}.home-how-grid b{width:44px;height:44px;border:1px solid #a9894e;transform:rotate(45deg);display:flex;align-items:center;justify-content:center;color:#dfbc6f;font:700 20px Georgia,serif;background:#1e2119}.home-how-grid b::first-line{transform:rotate(-45deg)}.home-how-grid strong{font:700 18px Georgia,"Times New Roman",serif;color:#e7d59d}.home-how-grid p{font-size:12px;line-height:1.5;color:#c6c1b1;margin:7px 0 0}
.home-rules{margin-top:0;background:#11140f;border-color:#574e38}.home-rules summary{padding:4px 0;font:700 15px Georgia,"Times New Roman",serif;color:#ddbd73}.home-message{padding:0 12px 10px}
#lobby:not(.hidden)~#game{}.lobby-home+.game{}
@media(max-width:1200px){.home-hero{grid-template-columns:1fr 1fr}.home-hero-copy{padding-left:34px}.home-features{grid-template-columns:repeat(2,1fr)}.home-showcase-cards{grid-template-columns:repeat(2,1fr)}.home-online{grid-template-columns:1fr 1fr}.home-deck-select{grid-column:1/-1;border-bottom:1px solid #544a34}.home-online>div:nth-child(2){border-right:1px solid #544a34}}
@media(max-width:820px){.home-hero{grid-template-columns:1fr;min-height:0}.home-hero-copy{padding:34px 26px}.home-title{font-size:72px}.home-hero-art{min-height:280px;background-position:center}.home-online{grid-template-columns:1fr}.home-online>div,.home-online>div:nth-child(2){border-right:0;border-bottom:1px solid #544a34}.home-online>div:last-child{border-bottom:0}.home-features,.home-showcase-cards,.home-how-grid{grid-template-columns:1fr}.home-how-grid article{border-right:0;border-bottom:1px solid #66583c}.home-how-grid article:last-child{border-bottom:0}}
@media(max-width:560px){#app{padding-left:8px;padding-right:8px}.home-title{font-size:58px}.home-lede{font-size:16px}.home-hero-actions{display:grid}.home-cta{width:100%}.home-room-row{display:grid}.home-features{grid-template-columns:1fr}.showcase-art{height:145px}}

/* v0.11: use a tiny native drag preview instead of rasterizing a full illustrated card. */
.drag-ghost{position:fixed;left:-10000px;top:-10000px;z-index:-1;min-width:110px;max-width:180px;height:36px;padding:0 10px;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#20251d;color:#f0dfaa;border:1px solid #b69b5b;border-radius:3px;font:bold 12px Georgia,serif;letter-spacing:.4px;box-shadow:none;pointer-events:none}
