*{box-sizing:border-box;margin:0;padding:0}
:root{
  --red:#c0392b;--red-dark:#7b1a10;--red-light:#e74c3c;
  --gold:#d4a017;--gold-light:#f0c040;
  --blue-light:#2980b9;
  --purple:#8e44ad;--purple-dark:#5b2c8a;
  --orange:#e67e22;--orange-dark:#a04000;
  --panel:#0d0d12;--panel2:#13131e;--panel3:#1a1a28;
  --border:#2a2a40;--border2:#3a3a55;
  --text:#e8e8f0;--text2:#9090b0;
}
html,body{min-height:100vh;background:var(--panel);color:var(--text);font-family:'Barlow',sans-serif;font-size:150%}

/* ── CARD PICKER CHIPS ── */
.card-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.card-chip{font-family:'Barlow Condensed',sans-serif;font-size:0.82rem;padding:6px 14px;border-radius:20px;border:1px solid var(--border2);background:var(--panel3);color:var(--text2);cursor:pointer;transition:all 0.12s;font-weight:600}
.card-chip:hover{border-color:var(--gold);color:var(--gold)}
.card-chip.selected{background:#2a1e00;border-color:var(--gold-light);color:var(--gold-light)}
.auth-tab{flex:1;font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:0.08em;padding:8px;border:none;background:var(--panel3);color:var(--text2);cursor:pointer;transition:all 0.12s}
.auth-tab.active{background:var(--gold);color:#000}
.auth-tab:not(.active):hover{background:var(--border2);color:var(--text)}

/* ── SCENARIO BRIEFING ── */
#scenarioBriefingScreen{display:none;flex-direction:column;min-height:100vh}
.brief-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--panel2);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px}
.brief-header h2{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:var(--gold-light)}
.brief-body{padding:16px;display:flex;flex-direction:column;gap:14px;flex:1;overflow-y:auto;max-width:740px;width:100%;margin:0 auto}
.brief-section{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.brief-section-title{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--gold-light);letter-spacing:0.06em}
.brief-intro{font-family:'Barlow',sans-serif;font-size:0.9rem;color:var(--text);line-height:1.5;font-style:italic}
.brief-label{font-family:'Barlow Condensed',sans-serif;font-size:0.75rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:2px}
.brief-value{font-family:'Barlow',sans-serif;font-size:0.88rem;color:var(--text);line-height:1.4}
.brief-list{display:flex;flex-direction:column;gap:6px;padding-left:4px}
.brief-list-item{display:flex;gap:8px;align-items:flex-start;font-family:'Barlow',sans-serif;font-size:0.88rem;color:var(--text);line-height:1.4}
.brief-list-item::before{content:"›";color:var(--gold);font-size:1rem;flex-shrink:0;margin-top:-1px}
.brief-list-item.expert{color:#c06bff}
.brief-list-item.expert::before{content:"★";color:#8e44ad}
.brief-tag{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:0.72rem;padding:2px 8px;border-radius:12px;font-weight:600;border:1px solid var(--border2);color:var(--text2);background:var(--panel3);margin-right:4px;margin-bottom:4px}
.end-game-panel{position:fixed;bottom:0;left:0;right:0;background:var(--panel2);border-top:2px solid var(--border);padding:12px 16px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;z-index:50}

/* ── CAMPAIGN SCREEN ── */
#campaignScreen{display:none;flex-direction:column;min-height:100vh}
.camp-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--panel2);border-bottom:1px solid var(--border)}
.camp-header h2{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;color:var(--gold-light)}
.camp-body{padding:16px;display:flex;flex-direction:column;gap:14px;flex:1;overflow-y:auto;max-width:740px;width:100%;margin:0 auto}
.camp-section-title{font-family:'Barlow Condensed',sans-serif;font-size:0.8rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:4px}
.camp-card{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:border-color 0.12s}
.camp-card:hover{border-color:var(--gold)}
.camp-card.selected{border-color:var(--gold-light);background:#1a1400}
.camp-card-title{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--gold-light)}
.camp-card-sub{font-family:'Barlow Condensed',sans-serif;font-size:0.8rem;color:var(--text2)}
.camp-card-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.camp-badge{font-family:'Barlow Condensed',sans-serif;font-size:0.72rem;padding:2px 8px;border-radius:12px;font-weight:600}
.camp-badge.win{background:#0a2a0a;border:1px solid #27ae60;color:#6bdd8a}
.camp-badge.loss{background:#2a0808;border:1px solid var(--red-dark);color:#ff8888}
.camp-badge.ongoing{background:#1a1400;border:1px solid var(--gold);color:var(--gold-light)}
.camp-badge.expert{background:#2a1a50;border:1px solid #8e44ad;color:#c06bff}
.camp-form{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px}
.camp-form-title{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--gold-light)}
.camp-field{display:flex;flex-direction:column;gap:5px}
.camp-field label{font-family:'Barlow Condensed',sans-serif;font-size:0.8rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.08em}
.camp-field input,.camp-field select,.camp-field textarea{width:100%;padding:9px 12px;background:var(--panel3);border:1px solid var(--border2);border-radius:6px;color:var(--text);font-family:'Barlow',sans-serif;font-size:0.9rem;outline:none}
.camp-field input:focus,.camp-field select:focus,.camp-field textarea:focus{border-color:var(--gold)}
.camp-field select option{background:var(--panel3)}
.camp-field textarea{resize:vertical;min-height:60px}
.camp-player-row{display:flex;gap:8px;align-items:center}
.camp-player-num{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--text2);min-width:20px}
.session-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel3);border-radius:8px;border-left:3px solid var(--border2)}
.session-row.win{border-left-color:#27ae60}
.session-row.loss{border-left-color:var(--red)}
.session-row-info{flex:1}
.session-row-name{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--text)}
.session-row-sub{font-family:'Barlow Condensed',sans-serif;font-size:0.75rem;color:var(--text2)}
.player-state-card{background:var(--panel3);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.player-state-name{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--gold-light)}
.player-state-hero{font-family:'Barlow Condensed',sans-serif;font-size:0.85rem;color:var(--text2)}
.player-state-field{display:flex;justify-content:space-between;font-family:'Barlow Condensed',sans-serif;font-size:0.8rem}
.player-state-field span:first-child{color:var(--text2)}
.player-state-field span:last-child{color:var(--text);font-weight:600}
.rors-scenario-state{background:var(--panel3);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.rors-scenario-title{font-family:'Bebas Neue',sans-serif;font-size:0.9rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.06em}

/* ── SETUP ── */
#setup{display:flex;flex-direction:column;align-items:center;padding:1.5rem;gap:1rem}
#setup h1{font-family:'Bebas Neue',sans-serif;font-size:2.8rem;color:var(--gold-light);text-align:center;text-shadow:0 0 24px rgba(240,192,64,0.2)}
.filter-bar{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;width:100%;max-width:740px}
.filter-btn{font-family:'Barlow Condensed',sans-serif;font-size:0.75rem;padding:6px 14px;border-radius:20px;border:1px solid var(--border2);background:var(--panel3);cursor:pointer;color:var(--text2);white-space:nowrap;transition:all 0.1s}
.filter-btn.active{background:#2a1e00;border-color:var(--gold);color:var(--gold-light)}
.search-bar{width:100%;max-width:740px}
.search-bar input{width:100%;padding:12px 18px;background:var(--panel3);border:1px solid var(--border2);border-radius:8px;color:var(--text);font-family:'Barlow',sans-serif;font-size:0.95rem;outline:none}
.search-bar input:focus{border-color:var(--gold)}
.scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;width:100%;max-width:740px;max-height:300px;overflow-y:auto;padding:4px}
.scenario-card{background:var(--panel3);border:1px solid var(--border);border-radius:8px;padding:14px 16px;cursor:pointer;transition:all 0.12s}
.scenario-card:hover{border-color:var(--gold);background:var(--panel2)}
.scenario-card.selected{border-color:var(--gold-light);background:#1a1400}
.vname{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--gold-light);line-height:1.15}
.vsub{font-size:0.72rem;color:var(--text2);margin-top:2px;font-family:'Barlow Condensed',sans-serif}

/* player select */
.player-row{display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 0}
.player-row-label{font-family:'Barlow Condensed',sans-serif;font-size:0.85rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.1em}
.player-btns{display:flex;gap:8px}
.player-btn{width:60px;height:60px;border-radius:50%;border:2px solid var(--border2);background:var(--panel3);color:var(--text2);font-family:'Bebas Neue',sans-serif;font-size:1.5rem;cursor:pointer;transition:all 0.12s;display:flex;align-items:center;justify-content:center}
.player-btn:hover{border-color:var(--gold);color:var(--gold)}
.player-btn.active{border-color:var(--gold-light);background:#2a1e00;color:var(--gold-light)}

.setup-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.btn{font-family:'Bebas Neue',sans-serif;letter-spacing:0.1em;font-size:1.05rem;padding:12px 28px;border:none;border-radius:6px;cursor:pointer;transition:all 0.12s;display:inline-flex;align-items:center;gap:8px}
.btn-gold{background:var(--gold);color:#000}.btn-gold:hover{background:var(--gold-light)}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-light)}
.btn-outline{background:transparent;color:var(--text2);border:1px solid var(--border2)}.btn-outline:hover{border-color:var(--text);color:var(--text)}
.btn-sm{font-size:0.82rem;padding:8px 16px}
.btn:disabled{opacity:0.38;cursor:not-allowed}

/* ── TRACKER ── */
#tracker{display:none;flex-direction:column;min-height:100vh}
.tracker-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--panel2);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px}
.tracker-header h2{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:var(--gold-light)}
.hdr-sub{font-size:0.7rem;color:var(--text2);font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:0.1em}

/* top grid: villain | accel | scheme */
.top-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;padding:12px 12px 0}
.counter-card{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:7px}
.villain-card{border-color:var(--red-dark);background:#120808}
.scheme-card{border-color:#1a3060;background:#080a12}
.accel-card{border-color:#2a1a50;background:#0d0812;width:150px}
.card-label{font-size:0.78rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.1em;font-family:'Barlow Condensed',sans-serif;font-weight:600}
.card-title{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--text);text-align:center;line-height:1.1}
.counter-value{font-family:'Bebas Neue',sans-serif;font-size:2.8rem;line-height:1}
.tappable{cursor:pointer;transition:opacity 0.1s,transform 0.1s}
.tappable:active{opacity:0.6;transform:scale(0.93)}
.villain-card .counter-value{color:#ff9999;text-shadow:0 0 20px rgba(255,80,80,0.6)}
.scheme-card .counter-value{color:#99ccff;text-shadow:0 0 20px rgba(80,160,255,0.6)}
.accel-card .counter-value{color:#b06bff;font-size:2rem}
.counter-controls{display:flex;align-items:center;gap:14px}
.ctrl-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--border2);background:var(--panel3);color:var(--text);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.1s;font-family:'Bebas Neue',sans-serif;line-height:1}
.ctrl-btn:hover{background:var(--border2)}
.ctrl-btn:active{transform:scale(0.92)}
.villain-card .ctrl-btn,.scheme-card .ctrl-btn{width:66px;height:66px;font-size:1.4rem}
.villain-card .ctrl-btn:hover{background:var(--red-dark);border-color:var(--red)}
.scheme-card .ctrl-btn:hover{background:#1a2a50;border-color:var(--blue-light)}
.accel-card .ctrl-btn{width:36px;height:36px;font-size:1rem}
.max-badge{font-size:0.68rem;color:var(--text2);font-family:'Barlow Condensed',sans-serif}
.villain-card .max-badge,.scheme-card .max-badge{font-size:1.02rem}
.phase-controls{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}
.phase-btn{font-family:'Bebas Neue',sans-serif;font-size:0.75rem;padding:4px 10px;border-radius:4px;border:1px solid var(--border2);background:var(--panel3);cursor:pointer;color:var(--text2);letter-spacing:0.04em}
.phase-btn.active{background:var(--red-dark);border-color:var(--red);color:#ffaaaa}
.scheme-phase-btn{font-family:'Bebas Neue',sans-serif;font-size:0.75rem;padding:4px 9px;border-radius:4px;border:1px solid var(--border2);background:var(--panel3);cursor:pointer;color:var(--text2)}
.scheme-phase-btn.active{background:#1a2a50;border-color:#2980b9;color:#aaccff}

/* ── STATUS + S6 SCHEME ROW ── */
.status-scheme-row{display:flex;gap:10px;padding:10px 12px 0;align-items:flex-start}
.status-box{background:var(--panel3);border:1px solid var(--border);border-radius:8px;padding:12px 16px;display:flex;flex-direction:column;gap:9px;flex:1}
.status-box-header{font-family:'Barlow Condensed',sans-serif;font-size:0.78rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.1em;font-weight:600}
.status-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* radial status button */
.status-btn{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;user-select:none}
.status-btn .s-label{font-family:'Barlow Condensed',sans-serif;font-size:0.7rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.05em;transition:color 0.15s}
.s-circle{width:54px;height:54px;border-radius:50%;border:2px solid var(--border2);background:var(--panel2);position:relative;overflow:hidden;transition:border-color 0.15s;display:flex;align-items:center;justify-content:center}
.s-circle .s-fill{position:absolute;bottom:0;left:0;width:100%;height:0%;background:#555;transition:height 0.2s,background 0.2s;border-radius:0}
.s-circle .s-icon{position:relative;z-index:1;font-size:1.5rem;color:var(--text2);transition:color 0.15s}

/* status states */
.status-btn[data-state="0"] .s-fill{height:0%}
.status-btn[data-state="half"] .s-fill{height:50%;background:#5b4a00}
.status-btn[data-state="half"] .s-circle{border-color:var(--gold)}
.status-btn[data-state="half"] .s-label{color:var(--gold)}
.status-btn[data-state="half"] .s-icon{color:var(--gold)}
.status-btn[data-state="1"] .s-fill{height:100%}

/* per-status active colors */
.status-btn[data-id="confused"][data-state="1"] .s-fill{background:#1a3a6b}
.status-btn[data-id="confused"][data-state="1"] .s-circle{border-color:#2980b9}
.status-btn[data-id="confused"][data-state="1"] .s-label{color:#6baeff}
.status-btn[data-id="confused"][data-state="1"] .s-icon{color:#6baeff}

.status-btn[data-id="stunned"][data-state="1"] .s-fill{background:#6b1a1a}
.status-btn[data-id="stunned"][data-state="1"] .s-circle{border-color:var(--red)}
.status-btn[data-id="stunned"][data-state="1"] .s-label{color:#ff8080}
.status-btn[data-id="stunned"][data-state="1"] .s-icon{color:#ff8080}

.status-btn[data-id="tough"][data-state="1"] .s-fill{background:#2a5a1a}
.status-btn[data-id="tough"][data-state="1"] .s-circle{border-color:#27ae60}
.status-btn[data-id="tough"][data-state="1"] .s-label{color:#6bdd8a}
.status-btn[data-id="tough"][data-state="1"] .s-icon{color:#6bdd8a}

.status-btn[data-id="steady"][data-state="1"] .s-fill{background:#2a1a50}
.status-btn[data-id="steady"][data-state="1"] .s-circle{border-color:var(--purple)}
.status-btn[data-id="steady"][data-state="1"] .s-label{color:#c06bff}
.status-btn[data-id="steady"][data-state="1"] .s-icon{color:#c06bff}

.status-btn[data-id="stalwart"][data-state="1"] .s-fill{background:#4a2800}
.status-btn[data-id="stalwart"][data-state="1"] .s-circle{border-color:var(--orange)}
.status-btn[data-id="stalwart"][data-state="1"] .s-label{color:#ffaa55}
.status-btn[data-id="stalwart"][data-state="1"] .s-icon{color:#ffaa55}

.status-btn.disabled{opacity:0.3;pointer-events:none}
.status-divider{width:1px;height:54px;background:var(--border2);align-self:center}
.steady-note{font-family:'Barlow Condensed',sans-serif;font-size:0.7rem;color:var(--text2);font-style:italic}

/* ── VILLAIN PHASE BUTTON ── */
.vphase-section{padding:10px 12px 0;display:flex;justify-content:center}
.vphase-btn{
  font-family:'Bebas Neue',sans-serif;letter-spacing:0.12em;font-size:1rem;
  padding:14px 36px;border-radius:8px;cursor:pointer;
  border:1px solid #3a1a1a;background:#1a0808;color:#cc6666;
  display:flex;align-items:center;gap:10px;position:relative;overflow:hidden;
  transition:border-color 0.15s,color 0.15s;user-select:none;-webkit-user-select:none;
  width:100%;max-width:420px;justify-content:center;
}
.vphase-btn:hover{border-color:var(--red);color:#ff8888}
.vphase-progress{position:absolute;left:0;top:0;height:100%;width:0%;background:rgba(192,57,43,0.25);transition:width 0.05s linear;pointer-events:none}
.vphase-btn.firing{border-color:var(--red-light);color:#fff}
.vphase-btn.resolving{border-color:#ff6b6b;background:#2a0808;color:#ffaaaa}

/* ── HOLD BUTTONS (Reset / New Game) ── */
.hold-btn{position:relative;overflow:hidden}
.hold-progress{position:absolute;left:0;top:0;height:100%;width:0%;background:rgba(255,255,255,0.15);transition:width 0.05s linear;pointer-events:none}

/* ── EXTRA COUNTERS ── */
.extra-section{padding:10px 12px;flex:1}
.extra-section-header{display:flex;align-items:center;margin-bottom:8px}
.extra-section-header span{font-family:'Barlow Condensed',sans-serif;font-size:0.8rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.1em}
.extra-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:9px}
.extra-counter{background:var(--panel3);border:1px solid var(--border);border-radius:8px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}
.ec-label{font-family:'Barlow Condensed',sans-serif;font-size:0.78rem;color:var(--text2);text-align:center;font-weight:600;text-transform:uppercase;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
.ec-value{font-family:'Bebas Neue',sans-serif;font-size:1.9rem}
.ec-controls{display:flex;gap:6px}
.del-btn{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:transparent;border:none;color:var(--border2);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.del-btn:hover{color:var(--red-light)}
.add-counter-btn{background:var(--panel3);border:1px dashed var(--border2);border-radius:8px;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;min-height:90px;transition:all 0.12s;color:var(--text2)}
.add-counter-btn:hover{border-color:var(--gold);color:var(--gold)}
.add-counter-btn i{font-size:1.8rem}
.add-counter-btn span{font-family:'Barlow Condensed',sans-serif;font-size:0.75rem;letter-spacing:0.05em}

/* ── MODAL ── */
.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.78);z-index:100;align-items:center;justify-content:center}
.modal-overlay.open{display:flex}
.modal{background:var(--panel2);border:1px solid var(--border2);border-radius:12px;padding:22px;width:360px;display:flex;flex-direction:column;gap:12px}
.modal h3{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--gold-light)}
.modal input{width:100%;padding:10px 14px;background:var(--panel3);border:1px solid var(--border2);border-radius:6px;color:var(--text);font-family:'Barlow',sans-serif;font-size:0.9rem;outline:none}
.modal input:focus{border-color:var(--gold)}
.modal-btns{display:flex;gap:8px;justify-content:flex-end}
.mfl{font-size:0.75rem;color:var(--text2);margin-bottom:3px;font-family:'Barlow Condensed',sans-serif}
.color-opts{display:flex;gap:7px;flex-wrap:wrap}
.color-dot{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent}
.color-dot.picked{border-color:#fff}
.presets{display:flex;gap:6px;flex-wrap:wrap}
.preset-chip{font-family:'Barlow Condensed',sans-serif;font-size:0.72rem;padding:4px 12px;border-radius:20px;border:1px solid var(--border2);background:var(--panel3);cursor:pointer;color:var(--text2)}
.preset-chip:hover{border-color:var(--gold);color:var(--gold)}

input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}

/* ── GAME LOG ── */
.log-entry{display:flex;gap:8px;align-items:flex-start;padding:6px 8px;border-radius:6px;background:var(--panel3);border-left:3px solid var(--border2);font-family:'Barlow',sans-serif;font-size:0.78rem}
.log-entry.log-villain{border-left-color:#e74c3c}
.log-entry.log-scheme{border-left-color:#2980b9}
.log-entry.log-accel{border-left-color:#8e44ad}
.log-entry.log-phase{border-left-color:#d4a017}
.log-entry.log-status{border-left-color:#27ae60}
.log-entry.log-extra{border-left-color:#16a085}
.log-entry.log-round{border-left-color:#e67e22;background:#1a1000}
.log-time{font-family:'Barlow Condensed',sans-serif;font-size:0.7rem;color:var(--text2);white-space:nowrap;padding-top:1px}
.log-text{color:var(--text);line-height:1.35}
.log-empty{font-family:'Barlow Condensed',sans-serif;font-size:0.85rem;color:var(--text2);text-align:center;padding:24px 0;font-style:italic}

/* ── TOWER DEFENSE & WRECKING CREW COMPACT CARDS ── */
#tdGrid .counter-card,#wcGrid .counter-card{padding:12px 8px;gap:5px}
#tdGrid .phase-btn,#wcGrid .phase-btn{font-size:0.7rem;padding:2px 6px}
#tdGrid .counter-controls,#wcGrid .counter-controls{flex-direction:column;gap:10px;align-items:center}
#tdGrid .ctrl-row,#wcGrid .ctrl-row{display:flex;gap:24px}
#tdGrid .ctrl-btn,#wcGrid .ctrl-btn{width:44px;height:44px;font-size:1rem}
#tdGrid .scheme-card,#wcGrid .scheme-card{justify-content:flex-end}
#sinisterSixLayout{display:none;flex-direction:column;gap:10px;padding:10px 10px 0}
#sinisterSixLayout.visible{display:flex}
.s6-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.s6-card{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:5px;transition:border-color 0.2s,background 0.2s}
.s6-card.active{border-color:#e67e22;background:#150c00}
.s6-card.defeated{opacity:0.35;filter:grayscale(0.5)}
.s6-card.set-aside{opacity:0.4;filter:grayscale(0.7);background:#0a0a0a;border-color:var(--border)}
.s6-name{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--text);text-align:center;line-height:1.1}
.s6-order{font-family:'Barlow Condensed',sans-serif;font-size:0.65rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.08em}
.s6-hp{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;line-height:1;color:#ffcc88}
.s6-card.active .s6-hp{color:#ff9944;text-shadow:0 0 14px rgba(255,140,40,0.5)}
.s6-max{font-family:'Barlow Condensed',sans-serif;font-size:0.75rem;color:var(--text2)}
.s6-controls{display:flex;gap:6px}
.s6-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border2);background:var(--panel3);color:var(--text);font-size:0.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;transition:all 0.1s}
.s6-btn:hover{background:var(--border2)}
.s6-card.active .s6-btn:hover{background:#3a1a00;border-color:#e67e22}
.s6-badge{font-family:'Barlow Condensed',sans-serif;font-size:0.65rem;border-radius:4px;padding:1px 8px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em}
.s6-badge.active{background:#e67e22;color:#000}
.s6-badge.set-aside{background:var(--border);color:var(--text2)}
.s6-badge.defeated{background:#2a0808;color:#ff6b6b;border:1px solid var(--red-dark)}
.s6-activate-btn{font-family:'Bebas Neue',sans-serif;font-size:0.7rem;padding:3px 10px;border-radius:4px;border:1px solid var(--border2);background:var(--panel3);cursor:pointer;color:var(--text2);letter-spacing:0.06em;transition:all 0.1s}
.s6-activate-btn:hover{border-color:#e67e22;color:#e67e22}
.s6-note{font-family:'Barlow Condensed',sans-serif;font-size:0.75rem;color:var(--text2);text-align:center;font-style:italic}

/* S6 Ambush button */
.s6-ambush-btn{font-family:'Bebas Neue',sans-serif;letter-spacing:0.1em;font-size:0.95rem;padding:8px 20px;border-radius:8px;cursor:pointer;border:1px solid #3a1a3a;background:#150815;color:#cc66cc;display:flex;align-items:center;gap:6px;position:relative;overflow:hidden;transition:border-color 0.15s,color 0.15s;user-select:none;-webkit-user-select:none}
.s6-ambush-btn:hover{border-color:#8e44ad;color:#dd88ff}
.s6-ambush-progress{position:absolute;left:0;top:0;height:100%;width:0%;background:rgba(142,68,173,0.3);transition:width 0.05s linear;pointer-events:none}
.s6-ambush-btn.firing{border-color:#c06bff;color:#fff}
.s6-ambush-btn.resolved{border-color:#ff88ff;background:#200820;color:#ffaaff}

/* ── MODE TOGGLES ── */
.mode-toggle{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;user-select:none}
.mode-circle{width:54px;height:54px;border-radius:50%;border:2px solid var(--border2);background:var(--panel2);position:relative;overflow:hidden;transition:border-color 0.15s;display:flex;align-items:center;justify-content:center}
.mode-circle::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:0%;background:var(--gold);transition:height 0.2s;border-radius:0}
.mode-toggle.active .mode-circle{border-color:var(--gold-light)}
.mode-toggle.active .mode-circle::after{height:100%}
.mode-label{font-family:'Barlow Condensed',sans-serif;font-size:0.78rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.08em;transition:color 0.15s}
.mode-toggle.active .mode-label{color:var(--gold-light)}

/* modular set panel */
.mod-panel{width:100%;max-width:740px;background:var(--panel3);border:1px solid var(--border);border-radius:10px;padding:14px 18px;display:none}
.mod-panel.visible{display:block}
.mod-panel-header{font-family:'Barlow Condensed',sans-serif;font-size:0.78rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.1em;font-weight:600;margin-bottom:10px}
.mod-tags{display:flex;flex-wrap:wrap;gap:8px}
.mod-tag{font-family:'Barlow Condensed',sans-serif;font-size:0.8rem;padding:6px 14px;border-radius:20px;font-weight:600}
.mod-tag.fixed{background:#1a2a10;border:1px solid #27ae60;color:#6bdd8a}
.mod-tag.required{background:#2a1000;border:1px solid #e67e22;color:#ffaa55}
.mod-tag.random{background:#1a1a30;border:1px solid var(--border2);color:var(--text2)}
.mod-tag.none{color:var(--text2);font-style:italic;font-weight:400}
