/* Breach War Room (prog-war.js). Uses the shared lx-* look; these are the game-only layouts. */
.lw-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;margin:1rem 0}
.lw-stats>div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:.7rem .9rem}
.lw-stats small{display:block;opacity:.7;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}
.lw-stats b{font-size:1.25rem}
.lw-stats i{display:block;height:6px;border-radius:4px;background:rgba(255,255,255,.14);margin-top:.35rem;overflow:hidden}
.lw-stats i s{display:block;height:100%;background:linear-gradient(90deg,#e0524d,#f5c451,#4cc38a);transition:width .5s}
.lw-regimes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:.8rem}
.lw-reg{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start;padding:1.1rem;text-align:left;cursor:pointer}
.lw-flag{font-size:2rem}
.lw-how{margin:.4rem 0 0;padding-left:1.2rem;line-height:1.6}
.lw-fore{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem;margin-top:.8rem}
.lw-atk{background:rgba(224,82,77,.1);border:1px solid rgba(224,82,77,.35);border-radius:14px;padding:.9rem}
.lw-atk.unk{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2);border-style:dashed}
.lw-atk p{margin:.3rem 0 0;font-size:.9rem;opacity:.85}
.lw-ico{font-size:1.6rem;display:inline-block;margin-right:.4rem}
.lw-ico.big{font-size:2.8rem}
.lw-defs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem;margin-top:.8rem}
.lw-def{text-align:left;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:.9rem;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;transition:transform .15s,border-color .15s}
.lw-def:hover:not(:disabled){transform:translateY(-2px);border-color:#f5c451}
.lw-def small{opacity:.7}
.lw-def p{margin:.1rem 0 .3rem;font-size:.88rem;opacity:.85}
.lw-def.own{border-color:#4cc38a;background:rgba(76,195,138,.12)}
.lw-def.no{opacity:.45;cursor:not-allowed}
.lw-cost{margin-top:auto;font-weight:700;color:#f5c451}
.lw-def.own .lw-cost{color:#4cc38a}
.lw-hit{display:flex;gap:1rem;align-items:center;margin:1rem 0}
.lw-hit h2,.lw-hit h3{margin:.1rem 0}
.lw-ok{border-color:rgba(76,195,138,.5)!important}
.lw-bad{border-color:rgba(224,82,77,.55)!important}
.lw-opts{display:grid;gap:.7rem;margin:1rem 0}
.lw-opt{text-align:left;padding:.9rem 1rem;cursor:pointer;color:inherit;border:1px solid rgba(255,255,255,.16)}
.lw-opt:hover:not(:disabled){border-color:#f5c451}
.lw-opt.good{border-color:#4cc38a;background:rgba(76,195,138,.14)}
.lw-opt.bad{border-color:#e0524d;background:rgba(224,82,77,.14)}
.lw-stars{font-size:2rem;color:#f5c451;letter-spacing:.2em}
.lw-sum{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;list-style:none;padding:0;margin:.8rem 0 0}
@media (max-width:600px){.lw-hit{flex-direction:column;align-items:flex-start}}

/* ---- battlefield (canvas) ---- */
.lw-stage{position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#0b3560;box-shadow:0 18px 50px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.14);margin:.6rem 0 1rem;user-select:none;-webkit-user-select:none}
.lw-stage canvas{display:block;width:100%;height:100%;touch-action:manipulation}
.lw-hud{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem .8rem;background:linear-gradient(180deg,rgba(8,12,20,.88),rgba(8,12,20,.55) 70%,transparent);color:#fff;pointer-events:none;flex-wrap:wrap}
.lw-hud>div{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.lw-hud button{pointer-events:auto}
.lw-pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:.25rem .7rem;border-radius:999px;font-weight:700;font-size:.85rem}
.lw-h2>span{display:inline-flex;align-items:center;gap:.35rem;background:rgba(0,0,0,.4);padding:.25rem .65rem;border-radius:8px;font-size:.92rem}
.lw-h2 i{display:inline-block;width:70px;height:7px;border-radius:4px;background:rgba(255,255,255,.2);overflow:hidden}
.lw-h2 i s{display:block;height:100%;background:linear-gradient(90deg,#e0524d,#f5c451,#4cc38a);transition:width .4s}
.lw-coin b{color:#f5c451}
.lw-spd{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:8px;padding:.25rem .6rem;cursor:pointer;font-weight:700}
.lw-radar{position:absolute;right:.7rem;top:3.6rem;width:210px;background:rgba(8,12,20,.78);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:.55rem .65rem;color:#fff;pointer-events:none}
.lw-rh{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;opacity:.75;margin-bottom:.3rem}
.lw-rr{display:flex;gap:.5rem;align-items:center;padding:.2rem 0;font-size:.85rem}
.lw-rr span{font-size:1.2rem}
.lw-rr.unk{opacity:.7;border-top:1px dashed rgba(255,255,255,.25);margin-top:.2rem;padding-top:.35rem}
.lw-banner{position:absolute;left:50%;top:3.6rem;transform:translate(-50%,-14px);opacity:0;transition:.25s;max-width:min(560px,86%);background:rgba(8,12,20,.9);border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:.55rem .9rem;color:#fff;display:flex;gap:.7rem;align-items:center;pointer-events:none;font-size:.9rem}
.lw-banner.on{opacity:1;transform:translate(-50%,0)}
.lw-banner.inc{border-color:#e0524d}
.lw-banner.ok{border-color:#4cc38a}
.lw-banner small{display:block;opacity:.75;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.lw-banner b{display:block;font-size:1rem}
.lw-banner em{display:block;font-style:normal;opacity:.82;font-size:.8rem;margin-top:.15rem}
.lw-bi{font-size:1.9rem}
.lw-tray{position:absolute;left:0;right:0;bottom:0;padding:.6rem .7rem .7rem;display:flex;gap:.7rem;align-items:flex-end;background:linear-gradient(0deg,rgba(8,12,20,.94),rgba(8,12,20,.7) 75%,transparent)}
.lw-tray:empty{display:none}
.lw-cards{display:flex;gap:.5rem;overflow-x:auto;flex:1;padding-bottom:.2rem;scrollbar-width:thin}
.lw-card{flex:0 0 auto;width:132px;display:flex;flex-direction:column;gap:.2rem;align-items:flex-start;text-align:left;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:.45rem .55rem;color:#fff;cursor:pointer;font-size:.74rem;line-height:1.2}
.lw-card b{font-size:.78rem;min-height:2.3em}
.lw-card:hover:not(:disabled){border-color:#f5c451}
.lw-card.sel{border-color:#f5c451;background:rgba(245,196,81,.2);box-shadow:0 0 0 2px rgba(245,196,81,.5)}
.lw-card.own{border-color:#4cc38a;background:rgba(76,195,138,.15);opacity:.85}
.lw-card.no{opacity:.4}
.lw-ct{font-family:'Courier New',monospace;font-weight:700;background:rgba(0,0,0,.5);border-radius:5px;padding:0 .35rem;color:#f5c451}
.lw-cc{color:#f5c451;font-weight:700}
.lw-go{flex:0 0 auto;white-space:nowrap}
.lw-info{position:absolute;left:.7rem;bottom:8.2rem;max-width:260px}
.lw-infoc{background:rgba(8,12,20,.92);border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:.7rem .85rem;color:#fff;font-size:.82rem}
.lw-infoc small{display:block;opacity:.7;margin:.1rem 0 .3rem}
.lw-infoc p{margin:0 0 .5rem}
.lw-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.lw-ov:empty{display:none}
.lw-modal{pointer-events:auto;width:min(640px,92%);max-height:92%;overflow:auto;background:rgba(10,14,24,.94);border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:1.1rem 1.3rem;color:#fff;box-shadow:0 20px 60px rgba(0,0,0,.6);animation:lwpop .25s ease-out}
@keyframes lwpop{from{transform:scale(.94);opacity:0}to{transform:none;opacity:1}}
.lw-modal h2,.lw-modal h3{margin:.2rem 0 .6rem}
.lw-modal .lw-opts{margin:.6rem 0}
.lw-fbk{border:1px solid;border-radius:12px;padding:.6rem .8rem;margin-top:.4rem}
.lw-fbk h4{margin:.1rem 0 .3rem}
.lw-fbk p{margin:.2rem 0;font-size:.9rem}
.lw-fbk.lw-ok{border-color:rgba(76,195,138,.7)}
.lw-fbk.lw-bad{border-color:rgba(224,82,77,.75)}
@media (max-width:760px){.lw-stage{aspect-ratio:4/5}.lw-stage canvas{object-fit:cover}.lw-radar{display:none}.lw-card{width:112px}.lw-info{bottom:9rem}}

.lw-rr small{display:block;opacity:.7;font-size:.72rem;line-height:1.25}
.lw-ai{border-top:1px dashed rgba(255,255,255,.25);margin-top:.35rem;padding-top:.35rem}
.lw-pb{height:6px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden;margin-top:.15rem}
.lw-pb i{display:block;height:100%;background:linear-gradient(90deg,#f5c451,#e0524d)}
.lw-radar{width:230px}

.lw-host{position:absolute;inset:0}
.lw-host canvas{display:block}

.lw-cu{opacity:.78;font-style:italic;font-size:.7rem;margin-top:-.15rem}
