:root{--ksbc-bg:#080d13;--ksbc-panel:#101822;--ksbc-panel2:#0c131b;--ksbc-line:rgba(215,168,75,.28);--ksbc-gold:#d7a84b;--ksbc-gold2:#f1d18a;--ksbc-text:#eef2f5;--ksbc-muted:#93a0ac;--ksbc-green:#53d18a;--ksbc-red:#ef6969}
.ksbc-entry{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;border:1px solid var(--ksbc-line);border-radius:10px;background:#101822}.ksbc-entry a{font-weight:900;color:var(--ksbc-gold2);text-decoration:none}.ksbc-entry span{color:#9ba7b2;font-size:.82rem}
.ksbc-app{max-width:1800px;margin:0 auto;padding:18px;color:var(--ksbc-text);background:var(--ksbc-bg);min-height:72vh;font-family:Inter,system-ui,sans-serif}.ksbc-app *{box-sizing:border-box}.ksbc-app button,.ksbc-app select,.ksbc-app input{font:inherit}.ksbc-loading,.ksbc-empty{padding:40px;text-align:center;color:var(--ksbc-muted)}
.ksbc-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.ksbc-head h1,.ksbc-setup h1{margin:2px 0;font-size:clamp(1.8rem,4vw,3rem);color:var(--ksbc-gold2)}.ksbc-kicker{font-size:.7rem;font-weight:900;letter-spacing:.16em;color:var(--ksbc-gold);text-transform:uppercase}.ksbc-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ksbc-code{padding:8px 11px;border:1px solid var(--ksbc-line);border-radius:8px;color:var(--ksbc-muted)}.ksbc-code b{color:#fff;font-size:1.15rem;letter-spacing:.12em}
.ksbc-app button,.ksbc-primary{border:1px solid var(--ksbc-line);border-radius:8px;background:#182331;color:#eaf0f4;padding:8px 11px;cursor:pointer;font-weight:800}.ksbc-app button:hover{border-color:var(--ksbc-gold)}.ksbc-app .primary,.ksbc-primary{background:var(--ksbc-gold);border-color:var(--ksbc-gold);color:#101318}.ksbc-app .danger{border-color:rgba(239,105,105,.45);color:#ff8d8d;background:rgba(239,105,105,.08)}.ksbc-app .ghost{background:transparent}.ksbc-app .small{padding:5px 8px;font-size:.74rem}.ksbc-app .icon{padding:2px 8px;font-size:1.2rem}
.ksbc-setup{max-width:520px;margin:8vh auto;padding:28px;border:1px solid var(--ksbc-line);border-radius:14px;background:var(--ksbc-panel)}.ksbc-setup label{display:grid;gap:6px;color:var(--ksbc-muted);margin:18px 0}.ksbc-setup input{width:100%;padding:12px;border:1px solid var(--ksbc-line);border-radius:8px;background:#09111a;color:#fff}
.ksbc-addbar{display:flex;gap:8px;margin-bottom:14px}.ksbc-addbar select,.ksbc-join select,.ksbc-leader select,.ksbc-leader input,.ksbc-strike-admin input{background:#09111a;border:1px solid #283747;color:#fff;border-radius:7px;padding:8px}.ksbc-columns{display:flex;gap:12px;overflow-x:auto;align-items:flex-start;padding-bottom:16px}.ksbc-col{flex:1 0 270px;max-width:380px;min-width:270px;border:1px solid var(--ksbc-line);border-radius:12px;background:linear-gradient(#101923,#0c131b);overflow:hidden}.ksbc-col-head{display:flex;justify-content:space-between;align-items:center;padding:12px 13px;border-bottom:1px solid var(--ksbc-line);background:#121d28}.ksbc-col-head h2{margin:0;color:var(--ksbc-gold2);font-size:1.35rem}.ksbc-targets{padding:11px;border-bottom:1px solid rgba(215,168,75,.13)}.ksbc-targets .label{font-size:.61rem;letter-spacing:.12em;color:var(--ksbc-muted);font-weight:900;margin-bottom:6px}.ksbc-targets label{display:block;font-size:.8rem;margin:4px 0}.ksbc-chips{display:flex;gap:5px;flex-wrap:wrap}.ksbc-chips span,.ksbc-saved span{padding:3px 6px;border-radius:999px;background:rgba(215,168,75,.1);color:var(--ksbc-gold2);font-size:.68rem}.ksbc-no-leaders{padding:18px 11px;color:var(--ksbc-muted);font-size:.8rem;text-align:center}
.ksbc-leader{margin:9px;padding:10px;border:1px solid #243241;border-radius:9px;background:#0a121b}.ksbc-leader.mine{border-color:var(--ksbc-gold)}.ksbc-leader-title{display:flex;align-items:center;gap:6px;margin-bottom:8px}.ksbc-leader-title b{font-size:.95rem}.ksbc-leader-title .ready{margin-left:auto;color:var(--ksbc-green);font-size:.62rem;font-weight:900}.you{font-size:.58rem;color:#111;background:var(--ksbc-gold2);padding:2px 4px;border-radius:4px;font-weight:900}.ksbc-leader-row{display:grid;grid-template-columns:1fr 84px;gap:6px}.ksbc-leader-row select{min-width:0}.ksbc-march{display:flex;align-items:center;gap:3px}.ksbc-march input{width:58px;padding:8px 5px}.ksbc-march span{font-size:.67rem;color:var(--ksbc-muted)}.ksbc-leader-actions{display:flex;gap:5px;margin-top:7px}.ksbc-saved{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}
.ksbc-strike-admin{margin:9px;padding:9px;border:1px solid rgba(239,105,105,.28);border-radius:9px;background:rgba(239,105,105,.045);font-size:.76rem}.ksbc-strike-admin>b,.ksbc-strike-admin>span{display:block}.ksbc-strike-admin span{color:var(--ksbc-muted);margin:2px 0 6px}.ksbc-strike-admin input{width:62px;padding:5px}.ksbc-countbox{margin-top:8px;padding:8px;text-align:center;border:1px solid rgba(215,168,75,.35);border-radius:8px;background:#131109}.ksbc-countbox small,.ksbc-countbox em{display:block;color:var(--ksbc-muted);font-size:.63rem}.ksbc-countbox strong{display:block;color:var(--ksbc-gold2);font-size:1.05rem;margin:4px}.ksbc-countbox.go{background:#351414;border-color:var(--ksbc-red)}.ksbc-countbox.go strong{color:#fff}.ksbc-countbox.late strong{color:#ff8d8d}
.ksbc-join{position:sticky;bottom:10px;z-index:20;display:grid;grid-template-columns:1fr 140px minmax(180px,260px) auto;gap:8px;align-items:center;margin-top:12px;padding:10px 12px;border:1px solid var(--ksbc-gold);border-radius:11px;background:rgba(10,16,23,.96);box-shadow:0 8px 30px rgba(0,0,0,.4);backdrop-filter:blur(8px)}.ksbc-join h3{margin:1px 0;font-size:.95rem}
@media(max-width:700px){.ksbc-app{padding:10px}.ksbc-head{align-items:flex-start}.ksbc-head-actions{justify-content:flex-end}.ksbc-columns{scroll-snap-type:x proximity}.ksbc-col{flex-basis:86vw;scroll-snap-align:start}.ksbc-join{grid-template-columns:1fr 1fr}.ksbc-join>div{grid-column:1/-1}.ksbc-join button{grid-column:1/-1}.ksbc-code{width:100%;text-align:center}}

/* v0.1.6: dedicated full-screen war console */
body.ksbc-war-console{background:var(--ksbc-bg)!important}
body.ksbc-war-console .site-header,
body.ksbc-war-console .site-footer,
body.ksbc-war-console .ks-page-hero{display:none!important}
body.ksbc-war-console .site-main{margin:0!important;padding:0!important;max-width:none!important}
body.ksbc-war-console .ks-content-wrap{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.ksbc-war-console .entry-content{margin:0!important;padding:0!important}
body.ksbc-war-console article{margin:0!important;padding:0!important}
body.ksbc-war-console #wpadminbar + *{margin-top:0}
body.ksbc-war-console .ksbc-app{max-width:none;min-height:100vh;padding:14px 18px 20px}

.ksbc-head{align-items:flex-start;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--ksbc-line)}
.ksbc-brand{display:flex;align-items:center;gap:11px;min-height:48px}
.ksbc-brand h1{margin:0!important;font-size:clamp(1.55rem,2.7vw,2.35rem)!important;line-height:1;color:var(--ksbc-gold2)}
.ksbc-logo{display:block;width:auto;height:44px;max-width:150px;object-fit:contain}
.ksbc-logo-fallback{display:grid;place-items:center;min-width:58px;height:40px;padding:0 9px;border:1px solid var(--ksbc-gold);border-radius:7px;color:var(--ksbc-gold2);font-weight:950;letter-spacing:.08em}
.ksbc-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.ksbc-match{font-size:.72rem;font-weight:950;letter-spacing:.14em;color:var(--ksbc-gold);text-transform:uppercase;white-space:nowrap}
.ksbc-match span{color:var(--ksbc-muted);padding:0 4px}
.ksbc-commandbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ksbc-commandbar .ksbc-addbar{margin:0}
.ksbc-filterbar{display:flex;align-items:center;gap:7px;padding:5px 7px;border:1px solid rgba(215,168,75,.2);border-radius:9px;background:#0d151e}
.ksbc-filterbar>span{font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--ksbc-muted);margin-right:2px}
.ksbc-filterbar label{display:flex;align-items:center;gap:5px;font-size:.7rem;color:var(--ksbc-muted);white-space:nowrap}
.ksbc-filterbar select{background:#09111a;border:1px solid #283747;color:#fff;border-radius:7px;padding:5px 7px}

@media(max-width:700px){
 body.ksbc-war-console .ksbc-app{padding:9px}
 .ksbc-head{gap:8px}
 .ksbc-logo{height:34px;max-width:105px}
 .ksbc-brand{gap:7px;min-height:38px}
 .ksbc-brand h1{font-size:1.45rem!important}
 .ksbc-match{font-size:.58rem;letter-spacing:.08em}
 .ksbc-head-right{gap:5px}
 .ksbc-commandbar{align-items:stretch}
 .ksbc-commandbar .ksbc-addbar,.ksbc-filterbar{width:100%}
 .ksbc-filterbar{justify-content:space-between;flex-wrap:wrap}
 .ksbc-filterbar>span{width:100%}
}


/* v0.1.7: robust full-screen mode for both commanders and rally leaders */
body.ksbc-war-console header:not(.ksbc-head),
body.ksbc-war-console footer,
body.ksbc-war-console .site-header,
body.ksbc-war-console .site-footer,
body.ksbc-war-console .main-navigation,
body.ksbc-war-console nav.site-navigation,
body.ksbc-war-console .ks-page-hero,
body.ksbc-war-console .entry-header,
body.ksbc-war-console .page-header,
body.ksbc-war-console .wp-block-post-title{display:none!important}
body.ksbc-war-console main,
body.ksbc-war-console .site,
body.ksbc-war-console .site-content,
body.ksbc-war-console .content-area,
body.ksbc-war-console .site-main,
body.ksbc-war-console .entry-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.ksbc-march.missing{padding:2px 4px;border:1px solid rgba(239,105,105,.8);border-radius:8px;background:rgba(239,105,105,.16)}
.ksbc-march.missing input{border-color:var(--ksbc-red)!important;background:#2a1013!important;color:#fff!important}
.ksbc-march.missing input::placeholder{color:#ff9b9b;opacity:1;font-size:.63rem;font-weight:900}
.ksbc-countbox.estimated{border-color:rgba(239,105,105,.55);background:rgba(239,105,105,.07)}
.ksbc-countbox.estimated small,.ksbc-countbox.estimated em{color:#ffaaaa}


/* v0.1.8: compact commander header + 20-second stale-edit recovery */
.ksbc-head{display:grid;grid-template-columns:auto minmax(430px,1fr) auto;align-items:center;gap:14px}
.ksbc-head .ksbc-commandbar{margin:0;justify-content:center;align-items:center;flex-wrap:wrap}
.ksbc-head .ksbc-addbar{margin:0}
.ksbc-head-right{min-width:max-content}
@media(max-width:1050px){
 .ksbc-head{grid-template-columns:auto 1fr}
 .ksbc-head .ksbc-commandbar{grid-column:1/-1;grid-row:2;justify-content:flex-start}
 .ksbc-head-right{grid-column:2;grid-row:1}
}
@media(max-width:700px){
 .ksbc-head{display:flex;flex-direction:column;align-items:stretch;gap:8px}
 .ksbc-brand{order:1}
 .ksbc-head .ksbc-commandbar{order:2;width:100%;justify-content:stretch}
 .ksbc-head-right{order:3;align-items:stretch;min-width:0}
 .ksbc-head-actions{justify-content:flex-start}
 .ksbc-head .ksbc-addbar,.ksbc-head .ksbc-filterbar{width:100%}
 .ksbc-head .ksbc-addbar select{min-width:0;flex:1}
 .ksbc-match{text-align:left}
}


/* v0.1.9: compact alliance headers + target picker popup */
.ksbc-col-head{position:relative;gap:8px;min-height:58px}
.ksbc-col-head h2{flex:0 0 auto}
.ksbc-col-tools{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.ksbc-head-chips{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.ksbc-head-chips span{padding:3px 6px;border-radius:999px;background:rgba(215,168,75,.10);color:var(--ksbc-gold2);font-size:.64rem;white-space:nowrap}
.ksbc-head-chips em{color:var(--ksbc-muted);font-size:.63rem;white-space:nowrap}
.ksbc-target-btn{white-space:nowrap}
.ksbc-target-popover{position:fixed;top:0;left:0;right:auto;z-index:10000;width:210px;padding:11px;border:1px solid var(--ksbc-gold);border-radius:10px;background:#0b131c;box-shadow:0 14px 35px rgba(0,0,0,.55)}
.ksbc-target-popover[hidden]{display:none!important}
.ksbc-target-popover .ksbc-pop-title{margin-bottom:7px;color:var(--ksbc-gold2);font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.ksbc-target-popover label{display:block;margin:6px 0;color:var(--ksbc-text);font-size:.79rem;cursor:pointer}
.ksbc-pop-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:10px;padding-top:8px;border-top:1px solid rgba(215,168,75,.16)}
.ksbc-targets{display:none!important}
@media(max-width:700px){
 .ksbc-col-head{align-items:flex-start}
 .ksbc-col-tools{flex-wrap:wrap}
 .ksbc-head-chips{order:1;width:100%}
 .ksbc-target-btn,.ksbc-col-head .icon{order:2}
 .ksbc-target-popover{width:min(210px,calc(100vw - 16px))}
}


/* v0.2.1: global target launch bar + uniform command/header/player layout */
.ksbc-head{grid-template-columns:auto minmax(430px,1fr) auto}
.ksbc-head-right{display:flex;align-items:center;justify-content:flex-end;min-width:max-content}
.ksbc-head-actions{align-items:stretch}
.ksbc-head-actions .ksbc-code,.ksbc-head-actions button,.ksbc-addbar select,.ksbc-addbar button{height:42px;min-height:42px}
.ksbc-code{display:flex;align-items:center;gap:5px;padding:0 12px}
.ksbc-head-actions button,.ksbc-addbar button{padding:0 13px}
.ksbc-addbar select{padding:0 10px}
.ksbc-match{display:none!important}

/* Alliance headers stay aligned even when target chips wrap. */
.ksbc-col-head{height:68px;min-height:68px;padding:9px 12px;align-items:center;overflow:visible}
.ksbc-col-tools{max-width:calc(100% - 54px)}
.ksbc-head-chips{max-height:42px;overflow:hidden;align-content:center}

/* One clean warning surface for a missing march time. */
.ksbc-march.missing{padding:0;border:0;background:transparent;border-radius:7px}
.ksbc-march.missing input{border:1px solid var(--ksbc-red)!important;background:#2a1013!important;box-shadow:inset 0 0 0 1px rgba(239,105,105,.18)}

/* Global target-level timing controls. */
.ksbc-launchbar{margin:-1px 0 10px;padding:8px 0 10px;border-bottom:1px solid var(--ksbc-line)}
.ksbc-launchbar-label{margin-bottom:6px;font-size:.61rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase;color:var(--ksbc-muted)}
.ksbc-launch-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:7px}
.ksbc-launch-target{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:7px 9px;border:1px solid #263341;border-radius:9px;background:#0b131c;color:var(--ksbc-muted)}
.ksbc-launch-target.ready{border-color:rgba(215,168,75,.45);background:rgba(215,168,75,.055);color:var(--ksbc-text)}
.ksbc-launch-target.active{border-color:var(--ksbc-green);box-shadow:inset 0 0 0 1px rgba(83,209,138,.15)}
.ksbc-launch-copy{min-width:0}.ksbc-launch-target b{display:block;color:var(--ksbc-gold2);font-size:.78rem;white-space:nowrap}.ksbc-launch-target span{display:block;font-size:.61rem;line-height:1.2;white-space:nowrap}.ksbc-launch-target em{font-size:.61rem;font-style:normal;font-weight:900;color:var(--ksbc-green)}
.ksbc-launch-actions{display:flex;align-items:center;gap:3px;flex:0 0 auto}.ksbc-launch-actions input{width:43px;padding:5px 4px;border:1px solid #283747;border-radius:6px;background:#09111a;color:#fff;font-size:.68rem}.ksbc-launch-actions>span{font-size:.58rem;color:var(--ksbc-muted)}
.ksbc-launch-target.disabled{opacity:.52}.ksbc-launch-target.disabled button{cursor:not-allowed}

/* More room and status context for rally leaders now that timing cards are global. */
.ksbc-leader{margin:9px;padding:11px 10px 12px;min-height:118px}
.ksbc-leader-title{min-height:22px;margin-bottom:9px}
.ksbc-time-state{margin-left:6px;padding:2px 5px;border-radius:999px;font-size:.56rem;font-weight:950;letter-spacing:.03em;white-space:nowrap}
.ksbc-time-state.exact{color:var(--ksbc-green);background:rgba(83,209,138,.08)}
.ksbc-time-state.missing{color:#ff9b9b;background:rgba(239,105,105,.1)}
.ksbc-time-state.idle{color:var(--ksbc-muted);background:rgba(147,160,172,.08)}
.ksbc-saved{align-items:center}.ksbc-saved .ksbc-saved-label{background:transparent;color:var(--ksbc-muted);padding-left:0}
.ksbc-strike-admin{display:none!important}

@media(max-width:1180px){.ksbc-launch-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}}
@media(max-width:760px){
 .ksbc-launch-grid{grid-template-columns:1fr 1fr}
 .ksbc-launch-target{min-height:58px}
 .ksbc-col-head{height:74px;min-height:74px}
 .ksbc-head-actions .ksbc-code,.ksbc-head-actions button,.ksbc-addbar select,.ksbc-addbar button{height:40px;min-height:40px}
}
@media(max-width:460px){.ksbc-launch-grid{grid-template-columns:1fr}}


/* v0.2.2: denser launch bar polish + slightly roomier rally leader cards */
.ksbc-launchbar{padding-top:7px}
.ksbc-launchbar-label{display:none!important}
.ksbc-launch-target.ready{background:rgba(215,168,75,.14);border-color:rgba(215,168,75,.72);box-shadow:inset 0 0 0 1px rgba(215,168,75,.08)}
.ksbc-launch-target.ready .ksbc-launch-actions .primary{align-self:stretch;min-height:36px;padding-left:13px;padding-right:13px}
.ksbc-leader{padding-top:14px;padding-bottom:15px}
.ksbc-leader-title{margin-bottom:11px}
.ksbc-leader-actions{margin-top:9px}
.ksbc-saved{margin-top:9px}


/* v0.2.3: equal launch tiles + a touch more breathing room in player cards */
.ksbc-launch-target{width:100%;min-width:0;box-sizing:border-box}
.ksbc-launch-target.ready{margin-left:0}
.ksbc-leader{padding-top:17px;padding-bottom:18px}
.ksbc-leader-title{margin-bottom:12px}
.ksbc-leader-actions{margin-top:10px}
.ksbc-saved{margin-top:10px}


/* v0.2.5: space around each rally-leader card, not inside it */
.ksbc-leaders{padding:3px 0 4px!important}
.ksbc-leaders > article.ksbc-leader{
  display:block!important;
  width:auto!important;
  box-sizing:border-box!important;
  margin:10px 9px 12px!important;
  padding:12px 10px!important;
}
.ksbc-leaders > article.ksbc-leader + article.ksbc-leader{margin-top:12px!important}
.ksbc-leaders > article.ksbc-leader .ksbc-leader-title{margin-bottom:9px!important}
.ksbc-leaders > article.ksbc-leader .ksbc-leader-actions{margin-top:8px!important}
.ksbc-leaders > article.ksbc-leader .ksbc-saved{margin-top:8px!important}


/* v0.3.0: readiness + live strike state machine */
.ksbc-title-spacer{flex:1 1 auto}
.ksbc-ready-toggle,.ksbc-ready-static{border:0!important;background:transparent!important;padding:2px 4px!important;margin:0!important;border-radius:999px;font-size:.62rem!important;font-weight:950!important;letter-spacing:.02em;white-space:nowrap;box-shadow:none!important}
.ksbc-ready-toggle{cursor:pointer}
.ksbc-ready-toggle.is-ready,.ksbc-ready-static.is-ready{color:var(--ksbc-green)!important}
.ksbc-ready-toggle.is-not-ready,.ksbc-ready-static.is-not-ready{color:#ffb35c!important;background:rgba(255,169,77,.08)!important}
.ksbc-leader.not-ready{opacity:.72}
.ksbc-strike-badge{margin-left:7px;padding:2px 6px;border-radius:999px;background:rgba(215,168,75,.10);color:var(--ksbc-gold2);font-size:.59rem;font-weight:900}
.ksbc-strike-leader{transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.ksbc-live-state{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:3px 10px;padding:9px 11px;border-radius:9px;background:rgba(0,0,0,.16)}
.ksbc-live-label{font-size:.62rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.ksbc-live-time{font-size:1.35rem;font-weight:950;line-height:1;color:#fff;text-align:right}
.ksbc-live-sub{grid-column:1/-1;font-size:.66rem;color:var(--ksbc-muted)}
.ksbc-live-actions{display:flex;gap:7px;margin-top:9px}
.ksbc-live-actions button[hidden],.ksbc-live-target-actions button[hidden]{display:none!important}
@keyframes ksbc-red-pulse{0%,100%{background:rgba(109,22,28,.14);box-shadow:0 0 0 rgba(239,105,105,0)}50%{background:rgba(143,31,39,.28);box-shadow:0 0 18px rgba(239,105,105,.13)}}
/* Flash only during PREP: this is the visual cue to get ready to start the rally. */
.ksbc-strike-leader.phase-prep{border-color:#b7424b!important;animation:ksbc-red-pulse 1.25s ease-in-out infinite}
/* Once the 5-minute rally timer begins, stay solid red rather than flashing. */
.ksbc-strike-leader.phase-rally{border-color:#b7424b!important;background:rgba(125,27,34,.24)!important;animation:none!important;box-shadow:inset 0 0 0 1px rgba(239,105,105,.08)}
.ksbc-strike-leader.phase-prep .ksbc-live-label,.ksbc-strike-leader.phase-rally .ksbc-live-label{color:#ff9b9b}
.ksbc-strike-leader.phase-march,.ksbc-strike-leader.phase-arrived{border-color:#ef6969!important;background:rgba(125,27,34,.24)!important}
.ksbc-strike-leader.phase-march .ksbc-live-label,.ksbc-strike-leader.phase-arrived .ksbc-live-label{color:#ff8585}
.ksbc-strike-leader.phase-garrison{border-color:#4aa3ff!important;background:rgba(36,107,179,.22)!important;box-shadow:inset 0 0 0 1px rgba(74,163,255,.12)}
.ksbc-strike-leader.phase-garrison .ksbc-live-label{color:#77bbff}
.ksbc-strike-leader.phase-return{border-color:#66717c!important;background:rgba(100,112,124,.12)!important}
.ksbc-strike-leader.phase-return .ksbc-live-label{color:#aeb8c2}
.ksbc-garrison{background:#286cae!important;border-color:#4aa3ff!important;color:#fff!important}
.ksbc-live-target{opacity:1!important;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
.ksbc-live-target.state-orange{background:rgba(191,111,26,.24)!important;border-color:#d8872d!important;box-shadow:inset 0 0 0 1px rgba(216,135,45,.12)}
.ksbc-live-target.state-orange .ksbc-target-live-text{color:#ffb35c;font-weight:900}
.ksbc-live-target.state-red{background:rgba(151,37,45,.28)!important;border-color:#ef6969!important;box-shadow:inset 0 0 0 1px rgba(239,105,105,.13)}
.ksbc-live-target.state-red .ksbc-target-live-text{color:#ff8f8f;font-weight:900}
.ksbc-live-target.state-blue{background:rgba(36,107,179,.26)!important;border-color:#4aa3ff!important;box-shadow:inset 0 0 0 1px rgba(74,163,255,.13)}
.ksbc-live-target.state-blue .ksbc-target-live-text{color:#78bdff;font-weight:950}
.ksbc-live-target.state-grey{background:rgba(100,112,124,.15)!important;border-color:#65717d!important}
.ksbc-live-target.state-grey .ksbc-target-live-text{color:#b0bac4;font-weight:900}
.ksbc-live-target-actions{display:flex;gap:5px;align-items:center;flex:0 0 auto}
@media(max-width:700px){.ksbc-live-time{font-size:1.15rem}.ksbc-live-state{grid-template-columns:1fr}.ksbc-live-time{text-align:left}.ksbc-live-sub{grid-column:1}}


/* v0.3.2: focused mobile rally-leader experience */
.ksbc-mobile-mode{max-width:760px!important;margin:0 auto!important;padding:12px!important}
.ksbc-mobile-head{padding:4px 2px 14px;border-bottom:1px solid rgba(215,168,75,.24);margin-bottom:14px}
.ksbc-mobile-brand{display:flex;align-items:center;gap:12px}
.ksbc-mobile-brand .ksbc-logo{width:auto;height:34px;max-width:145px;object-fit:contain}
.ksbc-mobile-brand h1{margin:1px 0 0;color:var(--ksbc-gold2);font-size:1.45rem;line-height:1.05}
.ksbc-mobile-sub{margin-top:4px;color:var(--ksbc-muted);font-size:.76rem}
.ksbc-mobile-shell{width:100%}
.ksbc-mobile-card{width:100%;max-width:680px;margin:0 auto}
.ksbc-mobile-card>.ksbc-leader{margin:0!important;width:auto!important;max-width:none!important;padding:16px!important}
.ksbc-mobile-card .ksbc-leader-title{margin-bottom:14px!important}
.ksbc-mobile-card .ksbc-leader-title b{font-size:1.12rem}
.ksbc-mobile-card .ksbc-leader-row{grid-template-columns:minmax(0,1fr) 104px;gap:9px}
.ksbc-mobile-card .ksbc-leader select,.ksbc-mobile-card .ksbc-leader input{min-height:50px;font-size:1rem}
.ksbc-mobile-card .ksbc-march input{width:72px}
.ksbc-mobile-card .ksbc-leader-actions{margin-top:12px!important;gap:8px}
.ksbc-mobile-card .ksbc-leader-actions button,.ksbc-mobile-card .ksbc-ready-toggle,.ksbc-mobile-card .ksbc-live-actions button{min-height:44px;padding:9px 14px;font-size:.86rem}
.ksbc-mobile-card .ksbc-saved{margin-top:12px!important}
.ksbc-mobile-card .ksbc-live-state{padding:16px}
.ksbc-mobile-card .ksbc-live-time{font-size:1.55rem}
.ksbc-mobile-mode .ksbc-join{position:static!important;display:flex!important;flex-direction:column!important;gap:10px!important;margin:0!important;padding:16px!important}
.ksbc-mobile-mode .ksbc-join>div{width:100%}
.ksbc-mobile-mode .ksbc-join select,.ksbc-mobile-mode .ksbc-join button{width:100%!important;min-height:50px!important;font-size:1rem}
.ksbc-mobile-mode .ksbc-join h3{font-size:1.2rem;margin:3px 0 4px}
.ksbc-mobile-wait{padding:24px;border:1px solid var(--ksbc-line);border-radius:12px;color:var(--ksbc-muted);text-align:center}
@media(max-width:520px){
 .ksbc-mobile-mode{padding:9px!important}
 .ksbc-mobile-brand .ksbc-logo{height:29px;max-width:122px}
 .ksbc-mobile-brand h1{font-size:1.3rem}
 .ksbc-mobile-card>.ksbc-leader{padding:13px!important}
 .ksbc-mobile-card .ksbc-leader-row{grid-template-columns:minmax(0,1fr) 94px}
}


/* v0.3.4: full-height personal rally view + rally-start audio control */
.ksbc-mobile-mode{
 min-height:100dvh!important;
 height:100dvh!important;
 display:flex!important;
 flex-direction:column!important;
 overflow:hidden;
}
.ksbc-mobile-mode .ksbc-mobile-head{flex:0 0 auto}
.ksbc-mobile-mode .ksbc-mobile-shell{
 flex:1 1 auto;
 min-height:0;
 display:flex;
 width:100%;
}
.ksbc-mobile-mode .ksbc-mobile-card{
 flex:1 1 auto;
 display:flex;
 width:100%;
 max-width:none;
 min-height:0;
}
.ksbc-mobile-mode .ksbc-mobile-card>.ksbc-leader{
 flex:1 1 auto;
 display:flex;
 flex-direction:column;
 min-height:100%;
 margin:0!important;
}
.ksbc-mobile-mode .ksbc-mobile-card .ksbc-live-state{
 flex:1 1 auto;
 min-height:220px;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 text-align:center;
}
.ksbc-mobile-mode .ksbc-mobile-card .ksbc-live-time{font-size:clamp(2rem,10vw,4.5rem)!important;line-height:1}
.ksbc-mobile-mode .ksbc-mobile-card .ksbc-live-label{font-size:.9rem;letter-spacing:.16em}
.ksbc-mobile-mode .ksbc-mobile-card .ksbc-live-sub{font-size:.9rem;margin-top:10px}
.ksbc-mobile-mode .ksbc-mobile-card .ksbc-live-actions{margin-top:auto}
.ksbc-mobile-brand{width:100%}
.ksbc-mobile-audio{margin-left:auto;align-self:center}
.ksbc-sound-btn{white-space:nowrap;padding:7px 10px!important;font-size:.72rem!important}
@media(max-width:520px){
 .ksbc-mobile-mode{padding:8px!important}
 .ksbc-mobile-head{margin-bottom:8px!important;padding-bottom:8px!important}
 .ksbc-mobile-card>.ksbc-leader{border-radius:12px!important}
 .ksbc-mobile-mode .ksbc-mobile-card .ksbc-live-state{min-height:46vh}
 .ksbc-sound-btn{padding:6px 8px!important;font-size:.68rem!important}
}


/* v0.3.5: explicit personal-view audio control */
.ksbc-mobile-audio{
 width:100%!important;
 margin:0 0 10px!important;
 flex:0 0 auto;
}
.ksbc-mobile-audio .ksbc-sound-btn{
 display:block!important;
 width:100%!important;
 min-height:46px!important;
 padding:10px 14px!important;
 border-radius:10px!important;
 font-size:.82rem!important;
 font-weight:900!important;
 letter-spacing:.04em!important;
 text-align:center!important;
}
.ksbc-sound-btn.is-off{
 background:rgba(196,70,70,.16)!important;
 border-color:rgba(225,95,95,.65)!important;
 color:#ffd5d5!important;
}
.ksbc-sound-btn.is-on{
 background:rgba(69,165,112,.17)!important;
 border-color:rgba(83,190,128,.65)!important;
 color:#d9ffe9!important;
}
@media(max-width:520px){
 .ksbc-mobile-audio .ksbc-sound-btn{min-height:48px!important;font-size:.8rem!important}
}


/* v0.3.6: explicit user-selected view + robust mobile audio */
.ksbc-view-choice{max-width:760px;margin:7vh auto 0;padding:24px;text-align:center}
.ksbc-view-choice h1{color:var(--ksbc-gold2);margin:.3rem 0 .4rem}
.ksbc-view-choice p{color:var(--ksbc-muted);margin:0 0 18px}
.ksbc-view-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ksbc-view-option{min-height:150px!important;padding:20px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#111923!important;border:1px solid var(--ksbc-line)!important}
.ksbc-view-option:hover{border-color:var(--ksbc-gold)!important}
.ksbc-view-icon{font-size:2.2rem}.ksbc-view-option b{font-size:1.02rem;color:#fff}.ksbc-view-option small{color:var(--ksbc-muted);font-weight:600;line-height:1.35}
.ksbc-mobile-audio{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:stretch!important}
.ksbc-mobile-audio .ksbc-sound-btn{min-width:0!important}
.ksbc-mobile-audio .ksbc-switch-view{min-height:46px!important;padding:10px 12px!important}
@media(max-width:600px){
 .ksbc-view-choice{margin:0 auto;padding:16px 10px}.ksbc-view-options{grid-template-columns:1fr}.ksbc-view-option{min-height:125px!important}
 .ksbc-mobile-audio{grid-template-columns:1fr!important}.ksbc-mobile-audio .ksbc-switch-view{width:100%!important}
}

/* v0.3.11: Battle Command branded wordmark */
.ksbc-battle-logo{display:block;width:auto;height:46px;max-width:390px;object-fit:contain}
.ksbc-battle-logo-fallback{font-size:1.5rem;font-weight:900;letter-spacing:.08em;color:#f4c65f}
.ksbc-brand{min-width:360px;display:flex;align-items:center}
.ksbc-mobile-brand .ksbc-battle-logo{height:42px;max-width:min(72vw,330px)}
@media(max-width:700px){
 .ksbc-battle-logo{height:38px;max-width:72vw}
 .ksbc-brand{min-width:0}
 .ksbc-mobile-brand{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
 .ksbc-mobile-brand .ksbc-battle-logo{height:auto;width:min(86vw,420px);max-width:100%}
}

/* v0.3.12: target partner count in rally leader cards */
.ksbc-sync-state{padding:2px 6px;border-radius:999px;font-size:.56rem;font-weight:950;letter-spacing:.035em;white-space:nowrap}
.ksbc-sync-state.solo{color:#f4c65f;background:rgba(244,198,95,.10);border:1px solid rgba(244,198,95,.25)}
.ksbc-sync-state.group{color:#8fc9ff;background:rgba(91,166,230,.10);border:1px solid rgba(91,166,230,.22)}
.ksbc-mobile-card .ksbc-sync-state{font-size:.66rem;padding:3px 8px}

/* Independent target waves */
.ksbc-wave-launches{display:flex;flex-direction:column;gap:8px}.ksbc-wave-row{display:flex;flex-direction:column;gap:4px}.ksbc-wave-heading{font-size:11px;font-weight:800;color:#d6ad54;padding:0 8px}.ksbc-wave-row .ksbc-launch-grid{width:100%}.ksbc-wave-select{width:65px!important;flex:0 0 65px!important;min-width:65px!important}
.ksbc-leader-row{grid-template-columns:minmax(0,1fr) 65px 84px}
.ksbc-mobile-card .ksbc-leader-row{grid-template-columns:minmax(0,1fr) 65px 94px}
@media(max-width:460px){.ksbc-leader-row,.ksbc-mobile-card .ksbc-leader-row{grid-template-columns:minmax(0,1fr) 60px 80px}.ksbc-wave-select{width:60px!important;min-width:60px!important}}

/* v0.3.17: compact commander display */
.ksbc-head .ksbc-commandbar{position:relative;justify-content:center;flex:0 0 auto}
.ksbc-settings-toggle{font-size:22px;line-height:1;min-width:40px;height:38px;border:1px solid #485663;background:#14202e;color:#efc371;border-radius:8px;cursor:pointer}
.ksbc-settings-panel[hidden]{display:none!important}
.ksbc-settings-panel{position:absolute;right:0;top:calc(100% + 9px);z-index:200;background:#101b27;border:1px solid #806534;border-radius:10px;padding:14px;min-width:min(730px,90vw);box-shadow:0 14px 30px #0009;display:flex;gap:8px;flex-direction:column}
.ksbc-settings-panel .ksbc-addbar{margin:0}
.ksbc-settings-panel .ksbc-filterbar{display:flex;flex-wrap:wrap;gap:8px}
.ksbc-launch-placeholder{min-height:40px;visibility:hidden}
.ksbc-wave-launches .ksbc-wave-row{gap:0}
.ksbc-wave-launches .ksbc-launch-grid{grid-template-columns:repeat(5,minmax(150px,1fr))}
.ksbc-card-close{border:1px solid #633339;background:#2c151b;color:#fa727e;font-size:17px;font-weight:800;border-radius:6px;padding:0 6px;line-height:22px;cursor:pointer}
.ksbc-saved{font-size:11px}
.ksbc-saved span{padding:2px 5px}
@media(max-width:950px){.ksbc-wave-launches{overflow-x:auto}.ksbc-wave-launches .ksbc-launch-grid{min-width:900px}}

.ksbc-inline-times{display:inline-flex;vertical-align:middle;margin-left:7px;gap:3px;flex-wrap:wrap}

/* v0.3.19: compact commander header and card close positioning */
.ksbc-head .ksbc-head-right:empty,.ksbc-head .ksbc-head-actions:empty{display:none}
.ksbc-head .ksbc-commandbar{position:relative;z-index:35}
.ksbc-settings-panel{max-width:calc(100vw - 24px);box-sizing:border-box}
.ksbc-settings-battle{border-top:1px solid #344252;padding-top:12px;margin-top:5px}
.ksbc-settings-battle-title{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:#efc371;margin-bottom:8px}
.ksbc-settings-battle .ksbc-head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ksbc-leader{position:relative;min-width:0}
.ksbc-leader-title{position:relative;min-width:0;min-height:27px;padding-right:37px;flex-wrap:wrap;align-content:center;box-sizing:border-box}
.ksbc-leader-title b{min-width:0;overflow-wrap:anywhere}
.ksbc-card-close{position:absolute!important;right:0!important;top:0!important;left:auto!important;bottom:auto!important;z-index:2;display:flex!important;align-items:center;justify-content:center;flex:none!important;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;margin:0!important;line-height:1!important;box-sizing:border-box!important;color:#fa727e!important}
.ksbc-leader-title .you{flex:none}
@media(max-width:850px){.ksbc-settings-panel{right:auto;left:0;min-width:min(680px,calc(100vw - 24px))}}

/* v0.3.20: compact join controls and consistent player card grid */
.ksbc-settings-join{border-top:1px solid #344252;padding-top:12px;margin-top:4px}
.ksbc-settings-join .ksbc-join{position:static;display:grid;grid-template-columns:1fr 135px minmax(150px,1fr) auto;margin:0;box-shadow:none;backdrop-filter:none;gap:8px}
.ksbc-leaders{display:grid;grid-template-columns:minmax(0,1fr);align-content:start}
.ksbc-leaders > article.ksbc-idle-leader{height:168px;min-height:168px;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start}
.ksbc-leader.ksbc-idle-leader.is-ready-card{background:linear-gradient(135deg,rgba(15,73,48,.43),rgba(9,39,31,.7));border-color:rgba(64,168,103,.55)}
.ksbc-leader.ksbc-idle-leader.not-ready{opacity:1;background:#101923;border-color:#5a4835}
.ksbc-idle-leader .ksbc-ready-toggle,.ksbc-idle-leader .ksbc-ready-static{font-size:14px!important;min-width:18px!important;padding:0!important;line-height:1!important}
.ksbc-idle-leader .ksbc-leader-title{flex-wrap:nowrap!important;gap:5px!important}
.ksbc-idle-leader .ksbc-leader-title b{font-size:.89rem}
.ksbc-idle-leader .ksbc-time-state,.ksbc-idle-leader .ksbc-sync-state{font-size:.58rem}
@media(max-width:700px){.ksbc-settings-join .ksbc-join{grid-template-columns:1fr 1fr}.ksbc-settings-join .ksbc-join>div{grid-column:1/-1}.ksbc-settings-join .ksbc-join button{grid-column:1/-1}.ksbc-leaders > article.ksbc-idle-leader{height:auto;min-height:168px}}

/* v0.3.21: abbreviated badges and denser, consistently aligned idle cards */
.ksbc-leaders > article.ksbc-idle-leader{height:148px;min-height:148px;padding:10px 9px 9px}
.ksbc-idle-leader .ksbc-leader-title{margin-bottom:7px;min-height:25px}
.ksbc-idle-leader .ksbc-time-state,.ksbc-idle-leader .ksbc-sync-state{font-size:.59rem;padding:2px 6px}
.ksbc-idle-leader .ksbc-leader-row{margin-bottom:5px}
@media(max-width:700px){.ksbc-leaders > article.ksbc-idle-leader{height:auto;min-height:148px}}
