:root{
  color-scheme:light;
  --bg:#f6f8fb;--panel:#fff;--panel-soft:#f9fafb;--line:#e7ebf1;--text:#172033;--muted:#6b7280;
  --accent:#2563eb;--accent-soft:#eff6ff;--ok:#0f9f6e;--ok-soft:#ecfdf5;--warn:#d97706;--warn-soft:#fffbeb;
  --bad:#dc2626;--bad-soft:#fef2f2;--purple:#7c3aed;--shadow:0 8px 28px rgba(24,39,75,.06);--radius:16px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}.shell{min-height:100vh}.topbar{height:68px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:0 28px;position:sticky;top:0;z-index:20}.brand{justify-self:start;display:flex;align-items:center;gap:12px;font-weight:780;letter-spacing:-.03em;font-size:20px}.logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 6px 16px rgba(37,99,235,.22)}.version{font-size:12px;color:var(--muted);font-weight:650;background:#f3f4f6;border:1px solid var(--line);padding:4px 8px;border-radius:999px}.nav{justify-self:center;display:flex;gap:6px}.nav a{padding:9px 12px;border-radius:10px;color:#536079;font-size:14px;font-weight:650}.nav a:hover,.nav a.active{background:var(--accent-soft);color:var(--accent)}.status-pill{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;padding:7px 10px;border-radius:999px}.status-pill.ok{background:var(--ok-soft);color:var(--ok)}.status-pill.bad{background:var(--bad-soft);color:var(--bad)}.dot{width:8px;height:8px;border-radius:50%;background:currentColor}.content{width:min(98vw,2100px);max-width:none;margin:0 auto;padding:28px 20px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.page-head h1{font-size:28px;letter-spacing:-.04em;margin:0 0 5px}.page-head p{margin:0;color:var(--muted);font-size:14px}.subtle{font-size:12px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.metric-label{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#7b8497;font-weight:760}.metric-value{font-size:28px;font-weight:790;letter-spacing:-.04em;margin-top:6px}.metric-foot{font-size:12px;color:var(--muted);margin-top:5px}.section-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-top:14px}.section{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.section-head{padding:17px 19px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.section-head h2{font-size:15px;margin:0}.section-body{padding:18px}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kv{padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft)}.kv .k{font-size:12px;color:var(--muted)}.kv .v{font-size:17px;font-weight:750;margin-top:3px}.bar-row{display:grid;grid-template-columns:130px 1fr 72px;align-items:center;gap:10px;margin:12px 0;font-size:13px}.bar-track{height:9px;background:#eef1f5;border-radius:999px;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:var(--accent)}.bar-fill.pg{background:var(--purple)}.bar-fill.rpc{background:var(--warn)}table{width:100%;border-collapse:collapse}th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#7b8497;text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);background:#fbfcfd}td{font-size:13px;padding:11px 12px;border-bottom:1px solid #eef1f5;vertical-align:top}tbody tr:hover{background:#fafcff}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:760;background:#f3f4f6;color:#4b5563}.badge.attack{background:#fff1f2;color:#be123c}.badge.scout{background:#eff6ff;color:#1d4ed8}.badge.monk{background:#f5f3ff;color:#6d28d9}.badge.capture{background:#ecfdf5;color:#047857}.badge.raze{background:#fff7ed;color:#c2410c}.badge.reinforcement{background:#f0fdf4;color:#15803d}.toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:15px 18px;border-bottom:1px solid var(--line);background:#fcfdff}.input,.select,.button{height:38px;border:1px solid #dce2ea;border-radius:10px;background:#fff;color:var(--text);padding:0 11px;font:inherit;font-size:13px;outline:none}.input:focus,.select:focus{border-color:#9bbcfb;box-shadow:0 0 0 3px #eff6ff}.button{cursor:pointer;font-weight:700}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button:hover{filter:brightness(.98)}.grow{flex:1;min-width:220px}.stat-cluster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mini{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.mini .n{font-size:20px;font-weight:780}.mini .l{font-size:11px;color:var(--muted);margin-top:3px}.health{display:flex;gap:8px;align-items:center}.health strong{font-size:13px}.ok-text{color:var(--ok)}.warn-text{color:var(--warn)}.bad-text{color:var(--bad)}.footer{padding:22px 0;color:#8a93a4;font-size:12px;text-align:center}.empty{padding:28px;color:var(--muted);text-align:center}.nowrap{white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.scroll{overflow:auto}.system-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wide{grid-column:1/-1}.policy{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.policy .mini{background:var(--panel-soft)}
@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.section-grid,.system-layout{grid-template-columns:1fr}.policy{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.topbar{height:auto;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;flex-direction:column}.brand,.nav,.topbar-meta{justify-self:auto}.nav{width:100%;overflow:auto}.topbar-meta{margin-left:0}.content{width:100%;padding:18px 12px}.cards{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.kv-grid,.stat-cluster,.policy{grid-template-columns:1fr}.bar-row{grid-template-columns:100px 1fr 58px}}

.badge.raid{background:#fef3c7;color:#92400e}.compact{width:140px}.troop-summary{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:150px}.troop-summary>strong{font-size:15px}.troop-summary>span:not(.troop-chip){font-size:11px;color:var(--muted)}.troop-chip{font-size:11px;font-weight:700;background:#f3f6fa;border:1px solid var(--line);border-radius:999px;padding:3px 7px;white-space:nowrap}.troop-grid{display:grid;grid-template-columns:repeat(2,minmax(84px,1fr));gap:5px;min-width:190px}.troop-cell{display:flex;justify-content:space-between;gap:10px;padding:5px 7px;border-radius:8px;background:#f8fafc;border:1px solid #edf1f5}.troop-cell span{font-size:10px;color:var(--muted)}.troop-cell strong{font-size:12px}.troop-cell:has(strong:not(:empty)){ }

.worker-table{width:100%;border-collapse:collapse}.worker-table th,.worker-table td{padding:12px 10px;border-bottom:1px solid #e8edf3;text-align:left;vertical-align:top}.worker-table th{font-size:12px;color:#667085;font-weight:700;background:#f8fafc;position:sticky;top:0}.worker-status{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#eef2f6;color:#475467}.worker-status.running{background:#e8f7ef;color:#067647}.worker-status.idle{background:#eef4ff;color:#3538cd}.worker-status.error{background:#fef3f2;color:#b42318}.worker-status.stopped,.worker-status.disabled{background:#f2f4f7;color:#667085}.worker-error{margin-top:4px;color:#b42318;font-size:12px;max-width:420px;white-space:normal}.table-wrap{overflow:auto}.worker-table td:nth-child(1){min-width:190px}.worker-table td:nth-child(9){min-width:280px}

/* v26.6.4 live event experience */
.live-section{margin-top:14px;overflow:visible}.event-head{gap:18px;align-items:center}.event-title-row{display:flex;align-items:center;gap:10px}.event-title-row h2{font-size:17px}.live-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.live-button,.stop-button{min-width:84px}.live-button.active{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.stop-button.active{background:#fff1f2;border-color:#fecdd3;color:#be123c}.live-interval{width:82px}.live-state{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:850;letter-spacing:.08em}.live-state.is-live{background:#ecfdf5;color:#047857}.live-state.is-paused{background:#fff1f2;color:#be123c}.live-pulse,.pause-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.live-pulse{background:#10b981;box-shadow:0 0 0 0 rgba(16,185,129,.4);animation:livePulse 1.6s infinite}.pause-dot{background:#f43f5e}@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,.35)}70%{box-shadow:0 0 0 7px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}
.event-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line);background:#fbfcfe}.quick-filters{display:flex;gap:7px;flex-wrap:wrap}.filter-chip,.view-btn{border:1px solid #dfe5ed;background:#fff;color:#667085;border-radius:999px;padding:7px 11px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.filter-chip:hover,.view-btn:hover{background:#f8fafc}.filter-chip.active{background:#111827;color:#fff;border-color:#111827}.event-toolbar-right{display:flex;align-items:center;gap:12px}.toggle-label{display:flex;align-items:center;gap:7px;color:#667085;font-size:12px;white-space:nowrap}.view-switch{display:flex;border:1px solid #dfe5ed;border-radius:10px;padding:3px;background:#f8fafc}.view-btn{border:0;border-radius:7px;padding:6px 10px;background:transparent}.view-btn.active{background:#fff;color:#111827;box-shadow:0 1px 3px rgba(16,24,40,.08)}
.paused-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:14px 18px 0;padding:13px 15px;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;color:#9a3412}.paused-banner div{display:flex;flex-direction:column;gap:2px}.paused-banner span{font-size:12px;color:#c2410c}.hidden{display:none!important}.live-meta{display:flex;gap:16px;padding:10px 18px;border-bottom:1px solid var(--line);font-size:11px;color:#7b8497;background:#fff}.event-feed{max-height:780px;overflow:auto;padding:12px;background:#f7f9fc;scroll-behavior:smooth}.event-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;background:#fff;border:1px solid #e5eaf0;border-radius:14px;margin-bottom:9px;overflow:hidden;box-shadow:0 2px 8px rgba(16,24,40,.035);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.event-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(16,24,40,.07);border-color:#d7dfe9}.event-accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:#ef4444}.event-scout .event-accent{background:#3b82f6}.event-monk .event-accent{background:#8b5cf6}.event-capture .event-accent{background:#10b981}.event-raze .event-accent{background:#f97316}.event-raid .event-accent{background:#f59e0b}.event-card-main{padding:14px 10px 14px 18px;min-width:0}.event-card-troops{padding:13px 14px;border-left:1px solid #edf1f5;background:#fbfcfe;display:flex;align-items:center}.event-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.event-card-top time{color:#667085;font-size:12px;font-variant-numeric:tabular-nums}.event-card-badges{display:flex;align-items:center;gap:8px}.event-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#98a2b3;font-size:11px}.event-route{margin-top:9px}.event-actors{font-size:15px;font-weight:800;color:#101828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-villages{font-size:12px;color:#667085;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-card-bottom{display:flex;align-items:center;gap:12px;margin-top:10px;min-width:0}.event-eta{display:inline-flex;padding:5px 8px;border-radius:8px;background:#eef4ff;color:#3538cd;font-size:11px;font-weight:750;white-space:nowrap}.event-eta.arrived{background:#f2f4f7;color:#667085}.event-detail-text{font-size:11px;color:#98a2b3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-no-troops{font-size:12px;color:#7b8497}.event-card .troop-grid{grid-template-columns:repeat(2,minmax(95px,1fr));width:100%}.event-card .troop-cell{background:#fff}.event-card .troop-cell strong{font-size:13px}.event-card.event-new{animation:newEvent 1.4s ease-out}@keyframes newEvent{0%{background:#ecfdf5;box-shadow:0 0 0 2px rgba(16,185,129,.18)}100%{background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.035)}}.event-new-row{animation:newRow 1.4s ease-out}@keyframes newRow{0%{background:#ecfdf5}100%{background:transparent}}.event-empty{background:#fff;border:1px dashed #dfe5ed;border-radius:12px}.event-table-wrap{max-height:780px}.event-table-wrap thead{position:sticky;top:0;z-index:2}
@media(max-width:1000px){.event-card{grid-template-columns:1fr}.event-card-troops{border-left:0;border-top:1px solid #edf1f5}.event-card .troop-grid{grid-template-columns:repeat(4,minmax(75px,1fr))}.event-toolbar{align-items:flex-start;flex-direction:column}.event-toolbar-right{width:100%;justify-content:space-between}}
@media(max-width:680px){.event-head{align-items:flex-start;flex-direction:column}.live-controls{width:100%}.live-controls .button{flex:1}.event-card .troop-grid{grid-template-columns:repeat(2,minmax(90px,1fr))}.event-feed{padding:8px}.event-actors,.event-villages{white-space:normal}.live-meta{flex-direction:column;gap:3px}.paused-banner{align-items:flex-start;flex-direction:column}.event-toolbar-right{align-items:flex-start;flex-direction:column}.quick-filters{width:100%}}

/* v26.6.4 structured event readability */
.event-times{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.event-times time{font-size:13px;font-weight:750;color:#344054}.event-times span{font-size:10px;color:#98a2b3}.actor-route,.village-route,.history-route,.history-villages{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:8px;align-items:center}.actor-route{margin-top:12px;padding:11px 12px;background:#fbfcfe;border:1px solid #edf1f5;border-radius:12px}.actor{display:flex;flex-direction:column;min-width:0}.actor-target{text-align:right;align-items:flex-end}.actor-kicker,.village-kicker,.meta-label{font-size:9px;letter-spacing:.09em;font-weight:800;color:#98a2b3}.actor strong{font-size:15px;color:#101828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.actor-id{font-size:10px;color:#98a2b3;margin-top:2px}.actor-muted strong{color:#98a2b3;font-weight:650}.route-arrow{text-align:center;color:#98a2b3;font-size:20px;font-weight:650}.route-arrow.small{font-size:15px}.village-route{margin-top:7px;padding:0 12px}.village{display:flex;align-items:baseline;gap:6px;min-width:0}.village-target{justify-content:flex-end;text-align:right}.village-kicker{display:none}.village strong{font-size:12px;color:#475467;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.village-id{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:#98a2b3;white-space:nowrap}.eta-clock,.event-fact{font-size:11px;color:#667085}.monk-meta{display:flex;flex-direction:column;gap:6px;width:100%;padding:10px}.monk-meta strong{font-size:13px;color:#6d28d9}.monk-meta span{font-size:11px;color:#667085}.monk-meta.compact{padding:0}.table-route{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:260px}.table-route strong{font-size:12px}.table-route>span{color:#98a2b3}.table-route small{width:100%;color:#667085;font-size:10px}.history-event-row td{padding-top:15px;padding-bottom:15px}.history-event-row td:first-child strong,.history-event-row td:nth-child(4) strong{display:block;font-size:13px}.history-event-row td:first-child small,.history-event-row td:nth-child(4) small{display:block;color:#98a2b3;font-size:10px;margin-top:3px}.history-route{min-width:330px;padding:8px 10px;background:#fbfcfe;border:1px solid #edf1f5;border-radius:10px}.history-route .actor strong{font-size:13px}.history-villages{min-width:330px;margin-top:6px;padding:0 10px}.history-villages .village strong{font-size:11px}.history-event-row .troop-grid{min-width:245px;grid-template-columns:repeat(2,minmax(105px,1fr))}.history-event-row:hover{background:#fbfcfe}.event-card-bottom{flex-wrap:wrap}
@media(max-width:760px){.actor-route,.village-route,.history-route,.history-villages{grid-template-columns:1fr}.route-arrow{transform:rotate(90deg)}.actor-target,.village-target{align-items:flex-start;text-align:left;justify-content:flex-start}.history-route,.history-villages{min-width:220px}.event-times{align-items:flex-start}.event-card-top{align-items:flex-start}}


/* v26.6.4: strict one-line radar event presentation */
.one-line-lock{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid #e4e7ec;border-radius:999px;background:#fff;color:#667085;font-size:11px;font-weight:750;white-space:nowrap}
.event-feed{padding:0;background:#fff;max-height:780px;overflow:auto;border-top:1px solid var(--line)}
.event-line{position:relative;display:flex;align-items:center;gap:7px;min-width:max-content;width:100%;height:42px;min-height:42px;max-height:42px;padding:0 12px 0 14px;box-sizing:border-box;white-space:nowrap;border-bottom:1px solid #edf0f4;border-left:3px solid #ef4444;background:#fff;font-size:13px;line-height:1;transition:background-color .14s ease,box-shadow .14s ease}
.event-line:hover{background:#f8fafc;box-shadow:inset 0 0 0 1px #eef2f6}
.event-line.event-scout{border-left-color:#3b82f6}.event-line.event-monk{border-left-color:#8b5cf6}.event-line.event-capture{border-left-color:#10b981}.event-line.event-raze{border-left-color:#f97316}.event-line.event-raid{border-left-color:#f59e0b}.event-line.event-reinforcement{border-left-color:#22c55e}
.event-time-inline{color:#667085;font:700 12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}
.event-sep{color:#d0d5dd;font-weight:500;margin:0 1px}
.event-badge-inline{display:inline-flex;align-items:center;padding:4px 8px;border-radius:7px;font-size:11px;font-weight:850;letter-spacing:.025em;background:#fff1f2;color:#b42318;border:1px solid #fecdd3}
.event-badge-inline.scout{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.event-badge-inline.monk{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.event-badge-inline.capture{background:#ecfdf3;color:#047857;border-color:#a7f3d0}.event-badge-inline.raze{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.event-badge-inline.raid,.event-badge-inline.pillage,.event-badge-inline.ransack{background:#fffbeb;color:#b45309;border-color:#fde68a}.event-badge-inline.reinforcement{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}
.event-command{display:inline-flex;padding:3px 7px;border-radius:6px;background:#f2f4f7;color:#475467;font-size:11px;font-weight:750;border:1px solid #eaecf0}
.event-player{font-weight:850;color:#101828}.event-player.muted{color:#98a2b3;font-weight:700}
.event-arrow{color:#98a2b3;font-weight:900;margin:0 1px}
.event-village-id{font:650 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#98a2b3}
.event-village-name{font-weight:700;color:#344054}
.event-eta-inline{display:inline-flex;align-items:center;padding:4px 7px;border-radius:7px;background:#eef4ff;color:#3538cd;font-size:11px;font-weight:850;font-variant-numeric:tabular-nums;border:1px solid #d9e2ff}
.event-left-inline{display:inline-flex;align-items:center;padding:4px 7px;border-radius:7px;background:#fffaeb;color:#b54708;font-size:11px;font-weight:900;font-variant-numeric:tabular-nums;border:1px solid #fde68a}.event-left-inline.arrived{background:#ecfdf3;color:#047857;border-color:#a7f3d0}
.event-self-interdiction{display:inline-flex;align-items:center;height:24px;box-sizing:border-box;padding:0 8px;border-radius:7px;background:#ecfeff;color:#0e7490;border:1px solid #a5f3fc;font-size:10px;font-weight:900;letter-spacing:.035em}
.event-id-inline{font:650 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#667085}.subtle-id{color:#98a2b3}
.event-fact-inline{display:inline-flex;padding:3px 6px;border-radius:6px;background:#fffaeb;color:#b54708;font-size:10px;font-weight:800}
.event-troops-inline{display:inline-flex;align-items:center;gap:5px;color:#667085}.troop-inline{font-size:11px;white-space:nowrap}.troop-inline .troop-name{color:#98a2b3}.troop-inline strong{color:#475467;font-weight:800;font-variant-numeric:tabular-nums}.troop-inline.active strong{color:#101828}.troop-inline.important.active{padding:2px 5px;border-radius:5px;background:#fff1f2}.troop-inline.important.active strong{color:#b42318}.troop-dot{color:#d0d5dd;font-size:10px}
.event-new-line{animation:newOneLine 1.35s ease-out}@keyframes newOneLine{0%{background:#ecfdf5}100%{background:#fff}}
.event-line-cell{padding:0!important;background:#fff!important;border:0!important}.event-line-cell .event-line{border-bottom:1px solid #edf0f4}
.history-one-line{overflow-x:auto}.one-line-table{min-width:100%;width:max-content}.one-line-table thead th{position:sticky;top:0;background:#f8fafc;z-index:2}.history-event-row:hover td{background:#fff!important}
/* The event itself never wraps. Narrow windows scroll horizontally instead. */
@media(max-width:760px){.event-line{white-space:nowrap;min-width:max-content}.event-feed,.history-one-line{overflow-x:auto}.event-arrow{transform:none}.event-toolbar{overflow:visible}}

/* v26.6.4 History ETA ordering */
.check-pill{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#344054;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.check-pill:hover{background:#f9fafb;border-color:#b9c0ca}.check-pill input{width:15px;height:15px;accent-color:#2563eb;cursor:pointer}.check-pill:has(input:checked){background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}

/* v26.6.6 focused radar polish */
.topbar-meta{justify-self:end;display:flex;align-items:center;gap:10px;margin-left:0}.timezone-pill{display:inline-flex;align-items:center;height:28px;padding:0 9px;border:1px solid #e4e7ec;border-radius:999px;background:#fff;color:#667085;font-size:10px;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}
.history-head-meta{display:flex;align-items:center;gap:10px}.sort-state{display:inline-flex;align-items:center;height:28px;padding:0 9px;border-radius:999px;border:1px solid #e4e7ec;background:#f8fafc;color:#667085;font-size:10px;font-weight:800;white-space:nowrap}.sort-state.eta{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;box-shadow:0 0 0 2px rgba(37,99,235,.06)}.sort-state.detected{background:#f8fafc;color:#667085}
.paused-new-count{display:inline-flex;align-items:center;margin-top:6px;width:max-content;padding:3px 8px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:10px;font-weight:800}.paused-new-count.has-new{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}
.resolver-warning{display:inline-flex;align-items:center;padding:3px 6px;border-radius:6px;background:#fff7ed;color:#b54708;border:1px solid #fed7aa;font-size:9px;font-weight:900;letter-spacing:.035em}.resolver-warning.stale{background:#fffaeb;color:#b54708;border-color:#fde68a}.resolver-warning.unresolved{background:#fff1f2;color:#b42318;border-color:#fecdd3}
.event-copy-btn{position:sticky;right:7px;z-index:4;width:46px;margin-left:-46px;opacity:0;pointer-events:none;transform:translateY(0);padding:4px 7px;border:1px solid #d0d5dd;border-radius:6px;background:rgba(255,255,255,.96);color:#475467;font-size:9px;font-weight:850;box-shadow:0 2px 8px rgba(16,24,40,.08);transition:opacity .12s ease,background-color .12s ease,color .12s ease}.event-line:hover .event-copy-btn{opacity:1;pointer-events:auto}.event-copy-btn:hover{background:#f8fafc;color:#101828}.event-copy-btn.copied{background:#ecfdf3;color:#047857;border-color:#a7f3d0}
/* All threshold highlights use the same treatment. Thresholds are applied in app.js. */
.troop-inline.important.active{padding:2px 5px;border-radius:5px;background:#fff1f2}.troop-inline.important.active .troop-name,.troop-inline.important.active strong{color:#b42318}.troop-cell.important{background:#fff1f2!important;border-color:#fecdd3}.troop-cell.important span,.troop-cell.important strong{color:#b42318!important}.troop-chip.important{background:#fff1f2;color:#b42318;border-color:#fecdd3}
@media(max-width:800px){.timezone-pill{display:none}.history-head-meta{align-items:flex-end;flex-direction:column;gap:4px}}

/* v26.6.6: 1080p-first wide radar layout */
@media (min-width:681px) and (max-width:1920px){
  .content{width:98vw;padding-left:16px;padding-right:16px}
  .event-line{font-size:13px}
  .event-line-inner{gap:clamp(5px,.34vw,8px)}
}
@media (min-width:1921px){
  .content{width:min(96vw,2100px)}
}

.event-monk-count,.event-scout-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:850;font-variant-numeric:tabular-nums}.event-monk-count{background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}.event-scout-count{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.rpc-chart{margin:16px 0 18px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;min-height:220px}.rpc-chart svg{display:block;width:100%;height:auto;max-height:260px}.rpc-line{stroke:#6d28d9;stroke-width:2.5;vector-effect:non-scaling-stroke}.rpc-grid{stroke:#e5e7eb;stroke-width:1;vector-effect:non-scaling-stroke}.rpc-axis{fill:#98a2b3;font-size:10px}.rpc-table th,.rpc-table td{white-space:nowrap}.rpc-kv{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.rpc-kv{grid-template-columns:repeat(2,minmax(0,1fr))}}

.event-army-fact{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:3px 7px;border-radius:999px;background:#fffbeb;color:#b45309;border:1px solid #fde68a;font-size:11px;font-weight:850;font-variant-numeric:tabular-nums}
.event-army-fact.pillage,.event-army-fact.ransack{background:#fffbeb;color:#b45309;border-color:#fde68a}

.shk-health-banner{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:14px;border:1px solid #d0d5dd;border-radius:12px;background:#f8fafc}.shk-health-banner>div{display:flex;flex-direction:column;gap:2px}.shk-health-banner strong{font-size:16px;letter-spacing:.02em}.shk-health-banner span:not(.shk-health-dot){font-size:12px;color:#667085}.shk-health-dot{width:11px;height:11px;border-radius:50%;background:#98a2b3;box-shadow:0 0 0 4px rgba(152,162,179,.14)}.shk-health-banner.ok{background:#f0fdf4;border-color:#bbf7d0}.shk-health-banner.ok .shk-health-dot{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.12)}.shk-health-banner.ok strong{color:#15803d}.shk-health-banner.slow{background:#fffbeb;border-color:#fde68a}.shk-health-banner.slow .shk-health-dot{background:#d97706;box-shadow:0 0 0 4px rgba(217,119,6,.12)}.shk-health-banner.slow strong{color:#b45309}.shk-health-banner.very-slow,.shk-health-banner.degraded{background:#fff7ed;border-color:#fed7aa}.shk-health-banner.very-slow .shk-health-dot,.shk-health-banner.degraded .shk-health-dot{background:#ea580c;box-shadow:0 0 0 4px rgba(234,88,12,.12)}.shk-health-banner.very-slow strong,.shk-health-banner.degraded strong{color:#c2410c}.shk-health-banner.offline{background:#fff1f2;border-color:#fecdd3}.shk-health-banner.offline .shk-health-dot{background:#e11d48;box-shadow:0 0 0 4px rgba(225,29,72,.12)}.shk-health-banner.offline strong{color:#be123c}.rpc-health-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#f2f4f7;color:#667085;white-space:nowrap}.rpc-health-badge.ok{background:#ecfdf3;color:#067647}.rpc-health-badge.slow{background:#fffaeb;color:#b54708}.rpc-health-badge.very-slow,.rpc-health-badge.degraded{background:#fff4ed;color:#c4320a}.rpc-health-badge.offline{background:#fff1f3;color:#c01048}.rpc-health-table th,.rpc-health-table td{white-space:nowrap}.rpc-health-table td:first-child{white-space:normal;min-width:230px}
.shk-health-banner.stale{background:#fffbeb;border-color:#fde68a}.shk-health-banner.stale .shk-health-dot{background:#d97706;box-shadow:0 0 0 4px rgba(217,119,6,.12)}.shk-health-banner.stale strong{color:#b45309}.rpc-health-badge.idle{background:#f2f4f7;color:#667085}
.shk-health-banner.warn{background:#fffbeb;border-color:#fde68a}.shk-health-banner.warn .shk-health-dot{background:#d97706;box-shadow:0 0 0 4px rgba(217,119,6,.12)}.shk-health-banner.warn strong{color:#b45309}.rpc-health-badge.warn{background:#fffaeb;color:#b54708}

/* v26.6.9.6 PostgreSQL SHK health history */
.rpc-history-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rpc-history-controls .select{min-width:105px}.rpc-history-label{margin:18px 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#7b8497;font-weight:800}.rpc-health-timeline{display:flex;align-items:stretch;gap:2px;height:42px;padding:6px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;overflow:hidden}.rpc-history-segment{flex:1 1 3px;min-width:2px;border-radius:3px;background:#d0d5dd}.rpc-history-segment.ok{background:#22c55e}.rpc-history-segment.warn,.rpc-history-segment.slow{background:#f59e0b}.rpc-history-segment.very-slow{background:#f97316}.rpc-history-segment.degraded{background:#ef4444}.rpc-history-segment.offline{background:#be123c}.rpc-history-segment.no-data{background:#e5e7eb}.rpc-history-avg{stroke:#2563eb;stroke-width:2.6;vector-effect:non-scaling-stroke}.rpc-history-max{stroke:#f97316;stroke-width:1.7;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.rpc-chart-legend{display:flex;gap:16px;margin:0 0 5px 44px;color:#667085;font-size:11px;font-weight:700}.rpc-chart-legend span{display:inline-flex;align-items:center;gap:5px}.rpc-chart-legend i{width:18px;height:3px;border-radius:4px;display:inline-block}.rpc-chart-legend i.avg{background:#2563eb}.rpc-chart-legend i.max{background:#f97316}@media(max-width:760px){.rpc-history-controls{width:100%;margin-top:10px}.rpc-history-controls .select,.rpc-history-controls .button{flex:1}.rpc-health-timeline{height:34px}}
/* v26.6.9.6 professional RPC monitoring */
.rpc-health-badge.error,.rpc-health-badge.http-error,.rpc-health-badge.timeout{background:#fff1f3;color:#c01048}.rpc-health-badge.cancelled{background:#f2f4f7;color:#667085}
.rpc-cadence-avg{stroke:#7c3aed;stroke-width:2.5;vector-effect:non-scaling-stroke}.rpc-cadence-max{stroke:#db2777;stroke-width:1.7;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.rpc-cadence-cfg{stroke:#475467;stroke-width:1.5;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}
.rpc-chart-legend i.cadence-avg{background:#7c3aed}.rpc-chart-legend i.cadence-max{background:#db2777}.rpc-chart-legend i.cadence-cfg{background:#475467}
.monitor-note{padding:9px 11px;margin-bottom:12px;border-radius:8px;border:1px solid var(--line);background:#f8fafc;color:#667085;font-size:12px}.monitor-note.ok{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.monitor-note.warn{background:#fffbeb;border-color:#fde68a;color:#b45309}
.rpc-call-table th,.rpc-call-table td{white-space:nowrap}.rpc-call-table .rpc-error-cell{white-space:normal;min-width:220px;max-width:420px}.rpc-late{color:#c2410c}

/* v26.6.12 history controls */
.history-filter-section{overflow:visible}.history-primary-toolbar{display:flex;align-items:center;gap:9px;padding:14px 16px;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap}.history-live-controls{display:flex;align-items:center;gap:7px;padding-right:10px;border-right:1px solid var(--line)}.history-search{min-width:260px}.history-secondary-toolbar{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr)) minmax(300px,1.25fr) minmax(300px,1.2fr) minmax(240px,.9fr);gap:10px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid var(--line)}.filter-group{display:flex;gap:7px;align-items:center;min-width:0;flex-wrap:wrap}.filter-group-title{width:100%;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#98a2b3}.filter-group .input{min-width:0;flex:1 1 120px}.compact-group .compact{min-width:78px}.history-options{align-content:flex-start}.history-result-meta{display:flex;justify-content:space-between;gap:12px;padding:8px 16px;border-bottom:1px solid var(--line);font-size:11px;color:#7b8497;background:#fff}.multi-select{position:relative;min-width:190px}.multi-select-button{width:100%;height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.multi-select-button.has-selection{border-color:#98a2b3;color:#101828;font-weight:700}.multi-caret{color:#98a2b3}.multi-select-menu{position:absolute;z-index:30;top:calc(100% + 5px);left:0;width:250px;max-height:390px;overflow:auto;padding:7px;background:#fff;border:1px solid #dfe5ed;border-radius:10px;box-shadow:0 12px 28px rgba(16,24,40,.14)}.multi-select-menu label{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:7px;color:#344054;font-size:12px;cursor:pointer}.multi-select-menu label:hover{background:#f8fafc}.multi-select-actions{display:flex;justify-content:space-between;gap:6px;padding:2px 3px 7px;border-bottom:1px solid #eef2f6;margin-bottom:4px}.multi-select-actions button{border:0;background:transparent;color:#475467;font:inherit;font-size:11px;font-weight:800;cursor:pointer;padding:5px}.multi-select-actions button:hover{color:#101828}.history-primary-toolbar .live-button.active{background:#ecfdf3;border-color:#86efac;color:#15803d}.history-primary-toolbar .stop-button.active{background:#fff7ed;border-color:#fed7aa;color:#c2410c}
@media(max-width:1500px){.history-secondary-toolbar{grid-template-columns:repeat(2,minmax(260px,1fr))}.history-options{grid-column:auto}.history-primary-toolbar .history-search{order:5;flex-basis:100%}}
@media(max-width:800px){.history-live-controls{width:100%;padding-right:0;border-right:0}.history-live-controls .button{flex:1}.history-primary-toolbar>*{flex:1 1 180px}.history-secondary-toolbar{grid-template-columns:1fr}.history-result-meta{flex-direction:column;gap:2px}.multi-select{min-width:0}}

/* v26.6.13 event modifiers and history polish */
.event-captain-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:7px;font-size:11px;font-weight:900;letter-spacing:.035em;background:#fffbeb;color:#b45309;border:1px solid #fcd34d}.history-new-events{display:inline-flex;align-items:center;padding:2px 7px;margin-left:8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;font-size:10px;font-weight:850}.history-new-events.hidden{display:none}

/* v26.6.15 attack direction, anomaly flags and fixed row geometry */
.event-badge-inline,.event-captain-badge,.event-unknown-badge,.event-illegal-badge,.event-command,.event-eta-inline,.event-left-inline,.event-army-fact,.event-monk-count,.event-scout-count{height:24px;min-height:24px;box-sizing:border-box;align-items:center}
.event-unknown-badge{display:inline-flex;padding:0 8px;border-radius:7px;background:#fffaeb;color:#b54708;border:1px solid #fedf89;font-size:10px;font-weight:900;letter-spacing:.03em}
.event-illegal-badge{display:inline-flex;padding:0 8px;border-radius:7px;background:#fee4e2;color:#b42318;border:1px solid #fda29b;font-size:10px;font-weight:950;letter-spacing:.035em}
.event-line:has(.event-illegal-badge){border-left-color:#d92d20}
.flag-select{min-width:155px}
@media(min-width:801px){.flag-select .multi-select-menu{width:220px}}


/* v26.6.15 - 1080p reference layout, optional ETA alignment, mobile compact */
@media (min-width:1501px){
  .history-secondary-toolbar{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
  .history-players,.history-villages{min-width:0}
  .history-players .input,.history-villages .input{flex:1 1 calc(50% - 4px);min-width:0}
  .history-search{min-width:320px}
}
@media (min-width:801px){
  .desktop-only-option{display:inline-flex}
  body.align-eta-left .history-event-row .event-line{
    display:grid;
    grid-template-columns:112px minmax(190px,260px) minmax(190px,.85fr) minmax(240px,1fr) max-content max-content minmax(170px,.9fr) auto;
    align-items:center;
    column-gap:6px;
    width:100%;
    overflow:hidden;
  }
  body.align-eta-left .history-event-row .event-line>.event-sep{display:none}
  body.align-eta-left .history-event-row .event-time-inline{grid-column:1;white-space:nowrap}
  body.align-eta-left .history-event-row .event-type-block{grid-column:2;min-width:0;overflow:hidden;white-space:nowrap}
  body.align-eta-left .history-event-row .event-players-block{grid-column:3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.align-eta-left .history-event-row .event-villages-block{grid-column:4;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.align-eta-left .history-event-row .event-eta-inline{grid-column:5;white-space:nowrap;padding-inline:5px}
  body.align-eta-left .history-event-row .event-left-inline{grid-column:6;white-space:nowrap;padding-inline:5px}
  body.align-eta-left .history-event-row .event-details-block{grid-column:7;min-width:0;overflow:hidden;white-space:nowrap}
  body.align-eta-left .history-event-row .event-copy-btn{grid-column:8}
}
.event-type-block,.event-players-block,.event-villages-block,.event-village-side,.event-details-block{display:inline-flex;align-items:center;gap:4px;min-width:0}
.monk-id-filter{max-width:130px}
@media (max-width:800px){
  .desktop-only-option{display:none!important}
  .history-one-line{overflow:visible}
  .history-event-row .event-line{height:auto!important;min-height:38px;white-space:normal;display:flex;flex-wrap:wrap;gap:3px 5px;padding:7px 8px}
  .history-event-row .event-time-inline{flex:0 0 auto}
  .history-event-row .event-type-block{flex:1 1 auto;overflow:hidden;white-space:nowrap}
  .history-event-row .event-players-block,.history-event-row .event-villages-block{flex:1 1 100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .history-event-row .event-eta-inline,.history-event-row .event-left-inline{flex:0 0 auto;font-weight:850}
  .history-event-row .event-details-block,.history-event-row .event-copy-btn{display:none}
  .history-event-row .event-sep{display:none}
  .history-secondary-toolbar{grid-template-columns:1fr}
  .history-players .input,.history-villages .input{flex:1 1 100%}
}

/* v26.6.16 - mobile isolation, compact dynamic ETA/LEFT, targeted scroll-pause UI */
.event-time-inline,.event-eta-inline,.event-left-inline{font-variant-numeric:tabular-nums}
.event-eta-inline,.event-left-inline{min-width:0;white-space:nowrap}
.event-line,.event-line *{transition-property:background-color,color,border-color,opacity,transform;}
@media (max-width:800px){
  html,body,.shell,.content,.section,.event-feed,.history-one-line,.one-line-table{max-width:100%;min-width:0!important}
  html,body{overflow-x:hidden}
  .event-feed,.history-one-line{overflow-x:hidden!important}
  .event-line,.history-event-row .event-line{width:100%!important;max-width:100%;min-width:0!important;height:auto!important;min-height:0!important;box-sizing:border-box;overflow:hidden;white-space:normal!important;display:flex;flex-wrap:wrap;align-items:center;gap:5px 6px;padding:8px}
  .event-type-block{flex:1 1 55%;min-width:0;display:flex;flex-wrap:wrap!important;white-space:normal!important;overflow:visible!important}
  .event-badge-inline,.event-captain-badge,.event-unknown-badge,.event-illegal-badge,.event-command,.event-self-interdiction,.event-monk-count,.event-scout-count{height:auto!important;min-height:24px;max-width:100%;white-space:normal!important;overflow-wrap:anywhere}
  .event-players-block,.event-villages-block,.history-event-row .event-players-block,.history-event-row .event-villages-block{flex:1 1 100%;width:100%;min-width:0;max-width:100%;white-space:normal!important;overflow:hidden;display:flex;flex-wrap:wrap;overflow-wrap:anywhere}
  .event-player,.event-village-side,.event-village-name{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .event-eta-inline,.event-left-inline,.history-event-row .event-eta-inline,.history-event-row .event-left-inline{min-width:0;flex:0 0 auto;white-space:nowrap}
  .event-details-block,.event-copy-btn{display:none!important}
  body.align-eta-left .history-event-row .event-line{display:flex!important}
}


/* v26.6.16 system information architecture */
.system-layout{display:block}
.system-group{margin:0 0 14px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow);overflow:hidden}
.system-group-summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 19px;background:#fff;user-select:none}
.system-group-summary::-webkit-details-marker{display:none}
.system-group-summary:hover{background:#fbfcfe}
.system-group-title{display:flex;align-items:baseline;gap:10px;min-width:0}.system-group-title strong{font-size:15px}.system-group-title .subtle{white-space:normal}
.system-group-caret{font-size:16px;color:#667085;transition:transform .15s ease}.system-group:not([open]) .system-group-caret{transform:rotate(-90deg)}
.system-group-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 14px 14px;background:#fbfcfe;border-top:1px solid var(--line)}
.system-group-body>.section{margin-top:14px;box-shadow:none}.system-group-body>.wide{grid-column:1/-1}
.system-group[data-system-group="overview"] .system-group-body>.section:first-child{grid-column:1/-1}
@media(max-width:1050px){.system-group-body{grid-template-columns:1fr}.system-group-body>.wide,.system-group[data-system-group="overview"] .system-group-body>.section:first-child{grid-column:auto}}

/* v26.6.16 mobile event layout is intentionally independent from desktop 1080p rules */
@media(max-width:800px){
  .content{overflow-x:hidden}
  .event-feed,.history-one-line{width:100%;max-width:100%;overflow-x:hidden!important}
  .one-line-table{width:100%!important;min-width:0!important;table-layout:fixed}
  .one-line-table td{width:100%;max-width:100%}
  .event-line,.event-feed .event-line,.history-event-row .event-line{
    display:flex!important;flex-wrap:wrap!important;align-items:center!important;
    width:100%!important;max-width:100%!important;min-width:0!important;
    height:auto!important;min-height:0!important;overflow:hidden!important;
    white-space:normal!important;gap:5px 6px!important;padding:8px!important;
  }
  .event-line>.event-sep{display:none!important}
  .event-time-inline{flex:0 0 auto!important;font-size:11px!important;color:#667085;white-space:nowrap!important}
  .event-type-block{flex:1 1 180px!important;min-width:0!important;max-width:100%!important;display:flex!important;flex-wrap:wrap!important;gap:4px!important;white-space:normal!important;overflow:visible!important}
  .event-type-block>.event-sep{display:none!important}
  .event-badge-inline,.event-captain-badge,.event-unknown-badge,.event-illegal-badge,.event-command,.event-self-interdiction,.event-monk-count,.event-scout-count,.event-army-fact{
    flex:0 1 auto;max-width:100%!important;height:auto!important;min-height:22px!important;padding-top:3px!important;padding-bottom:3px!important;white-space:normal!important;overflow-wrap:anywhere!important
  }
  .event-players-block,.event-villages-block,.history-event-row .event-players-block,.history-event-row .event-villages-block{
    flex:1 1 100%!important;width:100%!important;max-width:100%!important;min-width:0!important;
    display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important
  }
  .event-player,.event-village-side{flex:1 1 0!important;min-width:0!important;max-width:calc(50% - 10px)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .event-village-side{display:block!important}.event-village-name{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-village-id{white-space:nowrap}
  .event-arrow{flex:0 0 auto!important}
  .event-eta-inline,.event-left-inline,.history-event-row .event-eta-inline,.history-event-row .event-left-inline{
    flex:0 0 auto!important;min-width:0!important;width:auto!important;padding:3px 6px!important;white-space:nowrap!important;font-size:11px!important
  }
  .event-details-block,.event-copy-btn{display:none!important}
  body.align-eta-left .history-event-row .event-line{display:flex!important}
  .live-section,.section{max-width:100%;overflow:hidden}
  .event-toolbar{align-items:flex-start;flex-direction:column}.event-toolbar-right{width:100%;justify-content:space-between;flex-wrap:wrap}
}


/* v26.6.16.2 - mobile row height + scroll/resume hotfix (superseded by 16.2) */
@media(max-width:800px){
  .event-line,.event-feed .event-line,.history-event-row .event-line{
    min-height:82px!important;
    height:auto!important;
    overflow:visible!important;
    align-content:flex-start!important;
    align-items:flex-start!important;
    padding:10px 8px!important;
    row-gap:7px!important;
  }
  .event-type-block{flex:1 1 100%!important;}
  .event-players-block,.event-villages-block,.history-event-row .event-players-block,.history-event-row .event-villages-block{
    flex:1 1 100%!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .event-player,.event-village-side{
    min-width:0!important;max-width:calc(50% - 10px)!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
  }
  .event-village-name{white-space:normal!important;overflow-wrap:anywhere!important;}
  .event-eta-inline,.event-left-inline{align-self:flex-start!important;}
}


/* v26.6.16.3 - keep content-driven mobile rows; no automatic scroll-pause containers */
@media(max-width:800px){
  .one-line-table,.one-line-table tbody,.one-line-table tr,.one-line-table td{
    height:auto!important;max-height:none!important;overflow:visible;
  }
  .event-line,.event-feed .event-line,.history-event-row .event-line{
    height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
    align-content:flex-start!important;align-items:flex-start!important;padding:10px 8px!important;row-gap:7px!important;
  }
  .event-type-block{flex:1 1 100%!important;}
  .event-players-block,.event-villages-block,.history-event-row .event-players-block,.history-event-row .event-villages-block{
    flex:1 1 100%!important;width:100%!important;white-space:normal!important;overflow:visible!important;
  }
  .event-player,.event-village-side{
    min-width:0!important;max-width:calc(50% - 10px)!important;white-space:normal!important;overflow:visible!important;
    text-overflow:clip!important;overflow-wrap:anywhere!important;
  }
  .event-village-name{white-space:normal!important;overflow-wrap:anywhere!important;}
  .event-eta-inline,.event-left-inline{align-self:flex-start!important;}
}


/* v26.6.16.4 - restore mobile army/monk details without changing desktop */
@media(max-width:800px){
  .event-details-block{
    display:flex!important;
    flex:1 1 100%!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:4px 6px!important;
    white-space:normal!important;
    overflow:visible!important;
    padding-top:2px!important;
  }
  .event-details-block>.event-sep{display:none!important}
  .event-troops-inline{
    display:flex!important;
    flex:1 1 100%!important;
    min-width:0!important;
    max-width:100%!important;
    flex-wrap:wrap!important;
    gap:3px 5px!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .event-troops-inline .troop-inline{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    font-size:10.5px!important;
  }
  .event-troops-inline .troop-dot{display:inline!important}
  .event-id-inline{
    display:inline-flex!important;
    flex:0 0 auto!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:10.5px!important;
    color:#98a2b3!important;
  }
  .resolver-warning{max-width:100%!important;white-space:normal!important}
  .event-copy-btn{display:none!important}
}

/* v26.6.16.6 - mobile troop details only: hide zero values and event IDs */
@media(max-width:800px){
  .event-troops-inline .troop-inline:not(.active){display:none!important}
  .event-troops-inline .troop-dot{display:none!important}
  .event-id-inline{display:none!important}
  .event-troops-inline{gap:4px 9px!important}
}

/* v26.6.16.6 - restore classic scrollable History viewport; no new-event jitter badge */
.history-one-line{max-height:780px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;}
@media(max-width:800px){.history-one-line{max-height:70vh;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;}}


/* v26.6.20.2-fix4 - restore v26.6.15 desktop History viewport exactly */
@media (min-width:801px){
  .history-one-line{
    max-height:780px !important;
    overflow-y:auto !important;
    overflow-x:auto;
  }
  .event-table-wrap{
    max-height:780px !important;
    overflow-y:auto !important;
  }
}

/* v26.6.20.2-fix4 telemetry dashboard */
.telemetry-section{background:linear-gradient(180deg,#fff,#fbfcff)}
.telemetry-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.telemetry-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.035)}
.telemetry-title{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#344054}
.telemetry-title strong{font-size:13px}.telemetry-dot{width:9px;height:9px;border-radius:50%;background:#2563eb}
.telemetry-classification .telemetry-dot{background:#7c3aed}.telemetry-resolver .telemetry-dot{background:#0f9f6e}.telemetry-dedupe .telemetry-dot{background:#d97706}
.telemetry-card .kv-grid{grid-template-columns:1fr}.telemetry-card .kv{padding:10px 11px}
.telemetry-card .kv .v{font-size:18px}
@media(max-width:1500px){.telemetry-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.telemetry-board{grid-template-columns:1fr}}
/* JS calculates the exact History viewport height; this is only a safe fallback. */
@media(min-width:801px){.history-one-line{max-height:calc(100vh - 260px);overflow-y:auto}}

/* v26.6.20.2-fix4 health dashboard */
.health-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.health-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;min-height:98px}.health-top{display:flex;align-items:center;gap:8px;font-size:12px;color:#475467}.health-state{font-size:20px;font-weight:800;margin-top:9px}.health-detail{font-size:11px;color:#667085;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-dot{width:10px;height:10px;border-radius:50%;background:#98a2b3}.health-dot.normal,.health-dot.healthy{background:#16a34a}.health-dot.slow,.health-dot.aging,.health-dot.check{background:#f59e0b}.health-dot.very-slow,.health-dot.stale{background:#f97316}.health-dot.degraded,.health-dot.very-stale{background:#dc2626}.problem-list{display:flex;flex-direction:column;gap:7px}.problem-row{display:grid;grid-template-columns:88px 130px 1fr;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:12px}.problem-row span{font-variant-numeric:tabular-nums;color:#667085}.problem-row strong{color:#344054}.problem-row em{font-style:normal;color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1400px){.health-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.health-strip{grid-template-columns:1fr 1fr}.problem-row{grid-template-columns:72px 100px 1fr}}

/* v26.6.20.2-fix4 Nuke/Bomb Detection */
.nuke-controls{display:flex;gap:8px}.nuke-controls select,.nuke-controls button{height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 12px}
.nuke-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.nuke-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;gap:4px}.nuke-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#667085}.nuke-stat strong{font-size:27px}.nuke-stat em{font-size:11px;font-style:normal;color:#98a2b3}
.nuke-stat.bomb{border-top:3px solid #b42318}.nuke-stat.nuke{border-top:3px solid #f79009}
.nuke-legend{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:11px;color:#667085;margin:4px 2px 14px}.nuke-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.nuke-dot.bomb{background:#b42318}.nuke-dot.nuke{background:#f79009}
.nuke-clusters{display:grid;gap:14px}.nuke-cluster{background:#fff;border:1px solid var(--line);border-left:4px solid #f79009;border-radius:14px;overflow:hidden}.nuke-cluster.is-bomb{border-left-color:#b42318}
.nuke-cluster-head{display:flex;justify-content:space-between;gap:18px;padding:15px 17px;border-bottom:1px solid var(--line);background:#fcfcfd}.nuke-type{font-size:10px;font-weight:800;letter-spacing:.08em;color:#b54708}.is-bomb .nuke-type{color:#b42318}.nuke-cluster-head h2{font-size:16px;margin:4px 0 2px}.nuke-cluster-head p{margin:0;color:#667085;font-size:12px}
.nuke-cluster-metrics{display:flex;gap:18px;align-items:center}.nuke-cluster-metrics span{display:grid;font-size:9px;color:#98a2b3;letter-spacing:.06em}.nuke-cluster-metrics b{font-size:13px;color:#344054;letter-spacing:0;margin-top:2px}
.nuke-wave{padding:6px 12px}.nuke-event{display:grid;grid-template-columns:82px 110px 100px auto 1fr;gap:10px;align-items:center;min-height:34px;border-bottom:1px solid #f2f4f7;font-size:12px}.nuke-event.last{border-bottom:0;font-weight:600}.nuke-time{font-variant-numeric:tabular-nums;color:#475467}.nuke-event-type{font-weight:700}.nuke-units{color:#667085}.nuke-source{color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:800px){
 .nuke-page{padding-bottom:20px}.nuke-page .page-head{align-items:flex-start}.nuke-controls{width:100%}.nuke-controls select,.nuke-controls button{flex:1}
 .nuke-summary{grid-template-columns:1fr 1fr;gap:8px}.nuke-stat{padding:11px 12px}.nuke-stat strong{font-size:22px}
 .nuke-legend{gap:8px 14px}.nuke-cluster-head{display:block;padding:12px}.nuke-cluster-metrics{margin-top:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.nuke-cluster-metrics span{background:#f9fafb;border-radius:8px;padding:7px}
 .nuke-wave{padding:4px 9px}.nuke-event{grid-template-columns:70px 1fr auto;gap:6px;padding:7px 0;min-height:0}.nuke-event-type{font-size:11px}.nuke-units{font-size:11px;text-align:right}.nuke-event .event-captain-badge{grid-column:2/4;justify-self:start}.nuke-source{grid-column:2/4;font-size:10px}
}

/* v26.6.20.2-fix4 */
.system-health-title-row,.nuke-title-row{display:flex;align-items:center;gap:10px}.system-health-hero{margin-bottom:14px}.nuke-page-head{align-items:flex-start}.nuke-control-section{padding:10px 12px;margin-bottom:12px}.nuke-controls-row{display:flex;align-items:center;gap:12px}.nuke-period-wrap{display:flex;align-items:center;gap:10px}.nuke-control-label{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#667085}.nuke-period-tabs{display:inline-flex;padding:3px;background:#f2f4f7;border-radius:10px;gap:2px}.nuke-period-tabs button{border:0;background:transparent;border-radius:8px;padding:7px 13px;color:#667085;font-size:12px;font-weight:750;cursor:pointer}.nuke-period-tabs button.active{background:#fff;color:#101828;box-shadow:0 1px 3px rgba(16,24,40,.12)}.nuke-live-toggle{margin-left:auto;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.nuke-live-toggle span{font-size:12px;font-weight:750}.nuke-live-toggle small{font-size:10px;color:#98a2b3}.nuke-hidden-select{display:none}
.nuke-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.nuke-stat{position:relative;background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 15px;display:grid;gap:3px;min-height:82px;align-content:center;overflow:hidden}.nuke-stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#98a2b3}.nuke-stat.bomb:before{background:#d92d20}.nuke-stat.nuke:before{background:#f79009}.nuke-stat span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#667085}.nuke-stat strong{font-size:25px;line-height:1}.nuke-stat em{font-size:10px;color:#98a2b3;font-style:normal}.nuke-rules-section{margin-bottom:14px}.nuke-rules-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.nuke-rule{border:1px solid #eaecf0;border-radius:10px;padding:9px 11px;background:#fcfcfd;display:grid;gap:3px}.nuke-rule.bomb{border-left:3px solid #d92d20}.nuke-rule.nuke{border-left:3px solid #f79009}.nuke-rule span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#667085}.nuke-rule strong{font-size:15px}.nuke-rule em{font-size:9px;color:#98a2b3;font-style:normal}.nuke-rule-note{margin-top:8px;font-size:10px;color:#667085}.nuke-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:15px 2px 8px}.nuke-list-head h2{margin:0 0 2px;font-size:16px}.nuke-key{display:flex;gap:13px;font-size:10px;color:#667085}.nuke-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.nuke-dot.bomb{background:#d92d20}.nuke-dot.nuke{background:#f79009}
.nuke-clusters{display:grid;gap:13px}.nuke-cluster{background:#fff;border:1px solid var(--line);border-left:4px solid #f79009;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px rgba(16,24,40,.035)}.nuke-cluster.is-bomb{border-left-color:#d92d20}.nuke-cluster.hidden{display:none}.nuke-wave-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-bottom:1px solid #eaecf0;background:linear-gradient(180deg,#fff,#fcfcfd)}.nuke-wave-badges{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.nuke-type-badge,.nuke-wave-status,.nuke-strong-badge,.nuke-eta-badge{display:inline-flex;align-items:center;border-radius:7px;padding:4px 7px;font-size:10px;font-weight:900}.nuke-type-badge.bomb{background:#fef3f2;color:#b42318;border:1px solid #fecdca}.nuke-type-badge.nuke{background:#fffaeb;color:#b54708;border:1px solid #fedf89}.nuke-wave-status.active,.nuke-eta-badge.active{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.nuke-wave-status.arrived,.nuke-eta-badge.arrived{background:#f2f4f7;color:#475467;border:1px solid #d0d5dd}.nuke-wave-range{margin-top:5px;font-size:11px;color:#667085;font-variant-numeric:tabular-nums}.nuke-wave-metrics{display:grid;grid-template-columns:repeat(7,minmax(58px,1fr));gap:6px}.nuke-wave-metrics span{background:#f9fafb;border:1px solid #f2f4f7;border-radius:8px;padding:6px 8px;display:grid}.nuke-wave-metrics small{font-size:8px;color:#98a2b3;font-weight:850}.nuke-wave-metrics b{font-size:12px;color:#344054}
.nuke-versus-grid{display:grid;grid-template-columns:minmax(0,2fr) 34px minmax(250px,.9fr)}.nuke-attackers{padding:13px}.nuke-defender{padding:13px;border-left:1px solid #eaecf0;background:#fcfcfd}.nuke-versus-arrow{display:grid;place-items:center;color:#98a2b3;font-size:22px;font-weight:800;border-left:1px solid #f2f4f7}.nuke-side-head{display:flex;justify-content:space-between;margin-bottom:9px;font-size:10px;font-weight:900;letter-spacing:.07em}.nuke-side-head.attacker{color:#b42318}.nuke-side-head.defender{color:#175cd3}.nuke-side-head strong{font-size:9px;color:#667085}
.nuke-source-player{border:1px solid #eaecf0;border-radius:11px;overflow:hidden;margin-bottom:9px}.nuke-source-player-head{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;background:#fff7f6;border-bottom:1px solid #fecdca}.nuke-source-player-head strong{font-size:12px}.nuke-person-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d92d20;margin-right:6px}.nuke-source-counts{display:flex;gap:6px}.nuke-source-counts span{font-size:8px;font-weight:850;color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:6px;padding:3px 5px}.nuke-source-villages{padding:7px}.nuke-source-village{border:1px solid #eaecf0;border-radius:9px;overflow:hidden;margin-bottom:7px}.nuke-source-village-head{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;background:#f9fafb;border-bottom:1px solid #f2f4f7}.nuke-source-village-head strong{font-size:11px;overflow-wrap:anywhere}.nuke-village-dot{display:inline-block;width:6px;height:6px;border-radius:2px;background:#667085;margin-right:6px}.nuke-village-army-count{font-size:8px;color:#667085;font-weight:800}.nuke-village-armies{padding:0 8px}.nuke-army-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #f2f4f7}.nuke-army-row:last-child{border-bottom:0}.nuke-army-top{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.nuke-army-date{font-size:10px;font-weight:700;color:#475467}.nuke-strong-badge{background:#fffaeb;color:#b54708;border:1px solid #fedf89}.nuke-troops{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.nuke-troop{font-size:9px;color:#667085;background:#f9fafb;border-radius:5px;padding:2px 5px}.nuke-troop b{color:#475467}.nuke-army-meta{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:3px;white-space:nowrap;font-size:9px;color:#667085}.nuke-defender-card{border:1px solid #b2ddff;background:#eff8ff;border-radius:11px;padding:14px}.nuke-defender-user{font-size:14px;font-weight:850;color:#175cd3;overflow-wrap:anywhere}.nuke-defender-village{font-size:12px;font-weight:750;color:#344054;margin-top:7px;overflow-wrap:anywhere}.nuke-defender-summary{display:grid;gap:6px;margin-top:13px}.nuke-defender-summary span{font-size:10px;color:#475467;background:#fff;border:1px solid #d1e9ff;border-radius:7px;padding:6px 8px}
.nuke-empty-state{background:#fff;border:1px dashed #d0d5dd;border-radius:13px;padding:38px 20px;text-align:center;color:#667085}.nuke-empty-state h3{margin:7px 0 3px;color:#344054}.nuke-empty-state p{margin:0;font-size:11px}.nuke-loading-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px}.nuke-loading-line{height:12px;width:35%;border-radius:6px;background:#f2f4f7;margin-bottom:8px}.nuke-loading-line.short{width:20%;height:9px}.nuke-loading-body{height:100px;border-radius:9px;background:#f8f9fb}
@media(max-width:1250px){.nuke-wave-summary{align-items:flex-start;flex-direction:column}.nuke-wave-metrics{width:100%;grid-template-columns:repeat(4,1fr)}.nuke-rules-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.topbar .nav{overflow-x:auto;white-space:nowrap;max-width:100%;scrollbar-width:none}.nuke-controls-row{display:grid;grid-template-columns:1fr}.nuke-period-wrap{display:block}.nuke-period-tabs{display:grid;grid-template-columns:repeat(4,1fr);width:100%}.nuke-live-toggle{margin:0}.nuke-control-section .button{width:100%}.nuke-summary{grid-template-columns:1fr 1fr;gap:7px}.nuke-rules-grid{grid-template-columns:1fr 1fr}.nuke-rule:last-child{grid-column:1/-1}.nuke-list-head{display:block}.nuke-key{margin-top:5px}.nuke-wave-metrics{grid-template-columns:repeat(3,1fr)}.nuke-versus-grid{display:block}.nuke-versus-arrow{height:28px;border:0;border-top:1px solid #f2f4f7;border-bottom:1px solid #f2f4f7;transform:rotate(90deg)}.nuke-defender{border-left:0}.nuke-attackers,.nuke-defender{padding:10px}.nuke-source-player-head{flex-direction:column}.nuke-army-row{display:block}.nuke-army-meta{margin-top:6px;flex-direction:row;justify-content:space-between}.nuke-army-date{width:100%}.system-health-hero .health-strip{grid-template-columns:1fr 1fr}.history-one-line{min-height:300px}}

/* v26.6.20.2-fix4 — Nuke/Bomb visual parity with Overview/History */
.nuke-army-top .badge{font-size:10px;padding:4px 7px}
.nuke-army-top .event-captain-badge{font-size:10px}
.nuke-eta-badge.active{animation:nukeLeftPulse 1.35s ease-in-out infinite}
@keyframes nukeLeftPulse{0%,100%{box-shadow:0 0 0 0 rgba(18,183,106,0)}50%{box-shadow:0 0 0 3px rgba(18,183,106,.10)}}
.nuke-defender-user{font-size:17px;font-weight:850;line-height:1.25}
.nuke-defender-village{font-size:12.5px;font-weight:650;color:#475467}
.nuke-defender-summary{margin-top:12px}
.nuke-defender-summary span{display:inline-flex;width:max-content;font-weight:850;text-transform:uppercase;letter-spacing:.035em}
.nuke-wave-metrics{grid-template-columns:repeat(6,minmax(58px,1fr))}

/* v26.6.20.2-fix4 */
body[data-page="history"] .history-one-line{
  overflow-y:auto !important;
  max-height:none !important;
}
body[data-page="history"] .history-one-line .event-table-wrap{
  max-height:none !important;
}
.nuke-army-row.event-line{
  border-left-width:3px;
  border-radius:8px;
  padding:7px 8px;
  margin:6px 0;
  background:#fff;
}
.nuke-army-row .event-time-inline{font-size:11px}
.nuke-army-row .event-eta-inline,
.nuke-army-row .event-left-inline,
.nuke-army-row .event-badge-inline,
.nuke-army-row .event-captain-badge{height:24px;min-height:24px}
.nuke-army-row .event-left-inline{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.nuke-troops{padding-left:2px}
.nuke-wave-status.active{animation:nukeWavePulse 1.4s ease-in-out infinite}
@keyframes nukeWavePulse{0%,100%{opacity:1}50%{opacity:.72}}

/* v26.6.20.2-fix6-house */
.event-player-side{display:inline-flex;align-items:center;gap:5px;min-width:0}
.event-house-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:25px;height:21px;padding:0 6px;border-radius:6px;
  border:1px solid #d0d5dd;background:#f2f4f7;color:#344054;
  font-size:9px;font-weight:900;letter-spacing:.035em;line-height:1;
  white-space:nowrap;vertical-align:middle
}
.nuke-source-player-head .event-house-badge,.nuke-defender-user .event-house-badge{margin-left:5px}
@media(max-width:800px){
  .event-player-side{gap:4px}
  .event-house-badge{min-width:23px;height:20px;padding:0 5px;font-size:8.5px}
}

/* v26.6.21-house-badges
   House badges use the same soft/pastel visual language as TitanRadar's
   ATTACK / ETA / LEFT / count badges: pale fill, colored border, dark text. */
.event-house-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:25px;height:21px;padding:0 6px;border-radius:6px;
  border:1px solid;font-size:9px;font-weight:900;letter-spacing:.035em;
  line-height:1;white-space:nowrap;vertical-align:middle
}
.event-house-badge.house-1{background:#fff1f1;border-color:#f3a0a0;color:#c52c2c}
.event-house-badge.house-2{background:#fff5e9;border-color:#efbd7d;color:#b8610b}
.event-house-badge.house-3{background:#fffbe5;border-color:#e4d06b;color:#8b7500}
.event-house-badge.house-4{background:#edf9ef;border-color:#8dce98;color:#287b38}
.event-house-badge.house-5{background:#eef9fd;border-color:#8ecce2;color:#28758f}
.event-house-badge.house-6{background:#eef4ff;border-color:#91afe9;color:#315fae}
.event-house-badge.house-7{background:#f5f0ff;border-color:#b8a0e1;color:#6943a5}
.event-house-badge.house-8{background:#fff1f7;border-color:#e8a1c1;color:#ad4776}
.event-house-badge.house-9{background:#ffffff;border-color:#cbd1d8;color:#59616c}
.event-house-badge.house-10{background:#f2f3f5;border-color:#a9afb7;color:#30343a}
.event-house-badge.house-11{background:#f3f4f5;border-color:#b7bbc1;color:#555b63}
.event-house-badge.house-12{background:#fbf7e7;border-color:#d4bd6b;color:#7b6716}
.event-house-badge.house-13{background:#edf7f0;border-color:#86b895;color:#29643b}
.event-house-badge.house-14{background:#eaf8f8;border-color:#7fc4c4;color:#216e6e}
.event-house-badge.house-15{background:#edf9ff;border-color:#8acbea;color:#26769b}
.event-house-badge.house-16{background:#fff0f0;border-color:#ed9696;color:#b82424}
.event-house-badge.house-17{background:#f8f1ea;border-color:#c7a27e;color:#76502e}
.event-house-badge.house-18{background:#fff8e2;border-color:#e0c15c;color:#8a6b08}
.event-house-badge.house-19{background:#f7f0fb;border-color:#c09bd5;color:#74428e}
.event-house-badge.house-20{background:#faf3ff;border-color:#d1afe8;color:#8757a4}


/* v26.6.22.1 */
.house-period{display:flex;gap:6px}.house-match{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;margin:3px;border:1px solid var(--border);border-radius:8px}.house-matrix{display:flex;flex-wrap:wrap;gap:3px}
@media(max-width:700px){.event-route,.event-actors{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;column-gap:4px!important}.event-house-badge{font-size:9px!important;padding:1px 4px!important;margin-left:3px!important}.event-player,.event-actor-name{min-width:0!important;overflow-wrap:normal!important;word-break:normal!important}.event-arrow{width:18px!important;min-width:18px!important}.nav{overflow-x:auto;white-space:nowrap}}

.house-filter{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.house-chips{display:flex;flex-wrap:wrap;gap:4px}.house-check{cursor:pointer}.house-check input{position:absolute;opacity:0;pointer-events:none}.house-check .event-house-badge{opacity:.42;cursor:pointer}.house-check input:checked+span{opacity:1;outline:2px solid currentColor;outline-offset:1px}@media(max-width:700px){.house-filter{flex-direction:column}.house-chips{gap:3px}}

.house-custom-hours{width:110px}.house-change-filters{display:flex;gap:8px;flex-wrap:wrap}.house-change-filters .input{min-width:180px}@media(max-width:700px){.house-change-filters{width:100%}.house-change-filters .input,.house-change-filters .select{flex:1 1 140px;min-width:0}}

/* v26.9.0 multi-world control-plane additions; keep the 26.6.x light visual language. */
.topbar{grid-template-columns:minmax(220px,1fr) auto minmax(280px,1fr)}
.topbar-meta{justify-self:end;display:flex;align-items:center;gap:10px}.world-switch{min-width:210px}.world-badge{display:inline-flex;align-items:center;border:1px solid #dbe4f0;background:#f8fafc;color:#475569;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800}.client-mobile{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.client-desktop{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.admin-actions{display:flex;gap:7px;flex-wrap:wrap}.button.danger{background:#fff;color:#b42318;border-color:#fecaca}.button.danger:hover{background:#fef2f2}.button.warn{background:#fff;color:#b45309;border-color:#fed7aa}.button.success{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.world-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.world-admin-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:var(--shadow)}.world-admin-card.off{opacity:.78}.world-admin-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.world-admin-title h3{margin:0 0 3px}.world-admin-meta{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.control-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.04em}.control-pill.enabled{background:#ecfdf5;color:#047857}.control-pill.disabled{background:#f3f4f6;color:#667085}.control-pill.unknown{background:#fffbeb;color:#b45309}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .wide{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:800;color:#667085}.input,.textarea{width:100%;border:1px solid #d9e0ea;border-radius:10px;padding:9px 10px;background:#fff;color:var(--text);font:inherit}.textarea{min-height:86px;resize:vertical}.input:focus,.textarea:focus,.select:focus{outline:2px solid #dbeafe;border-color:#93c5fd}
.modal{position:fixed;inset:0;background:rgba(15,23,42,.34);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal.hidden{display:none}.modal-card{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:0 24px 80px rgba(15,23,42,.25);padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-head h2{margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.settings-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-table td,.settings-table th{vertical-align:middle}.setting-key{font-weight:800}.setting-desc{font-size:11px;color:#8a94a6}.setting-input{min-width:180px}.setting-json{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.override-cell{display:flex;align-items:center;gap:8px}.override-cell input[type=checkbox]{width:17px;height:17px}.effective-value{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#475569}
.code-box{background:#0f172a;color:#dbeafe;border-radius:12px;padding:14px;white-space:pre-wrap;overflow:auto;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;max-height:500px}.notice{border:1px solid #dbe4f0;background:#f8fafc;border-radius:12px;padding:12px 14px;color:#475569;font-size:13px;margin-bottom:14px}.notice.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}
.auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.auth-card h3{margin:0 0 4px}.secret-state{font-size:11px;color:#047857;font-weight:800}
.empty-state{text-align:center;padding:40px 15px;color:#7b8495}.toast-stack{position:fixed;right:18px;bottom:18px;display:grid;gap:8px;z-index:200}.toast{background:#172033;color:#fff;padding:11px 14px;border-radius:10px;box-shadow:0 12px 32px rgba(15,23,42,.2);max-width:420px}.toast.error-toast{background:#991b1b}
.bootstrap-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bootstrap-item{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafbfc}.bootstrap-item strong{display:block;margin-bottom:4px}
.world-inline{display:flex;align-items:center;gap:8px}.world-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8}.world-dot.ONLINE{background:#10b981}.world-dot.DEGRADED,.world-dot.STARTING{background:#f59e0b}.world-dot.OFFLINE,.world-dot.STOPPED{background:#ef4444}.world-dot.DISABLED{background:#94a3b8}
.event-world{margin-right:5px}.event-feed .event-line{cursor:default}.event-row-card{border-bottom:1px solid var(--line)}
@media(max-width:1100px){.topbar{grid-template-columns:1fr auto}.nav{order:3;grid-column:1/-1;justify-self:start;overflow:auto;width:100%;padding-bottom:8px}.topbar{height:auto;min-height:68px;padding-top:10px}.topbar-meta{grid-column:2}.world-admin-grid,.auth-grid{grid-template-columns:1fr}}
@media(max-width:800px){.topbar{padding:10px 14px}.topbar-meta{grid-column:1/-1;justify-self:stretch}.world-switch{width:100%}.content{padding:18px 12px}.form-grid{grid-template-columns:1fr}.bootstrap-list{grid-template-columns:1fr}.settings-table{min-width:780px}}

/* v26.9.0 administrator authentication */
.auth-shell{min-height:100vh;display:grid;place-items:center;background:#f5f7fb;padding:24px}.auth-login-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.12);padding:28px}.setup-card{width:min(620px,100%)}.auth-login-brand{display:flex;align-items:center;gap:9px;font-weight:900;margin-bottom:22px}.auth-login-card h1{margin:0 0 8px}.auth-login-form{display:grid;gap:13px;margin-top:20px}.auth-login-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#667085}.auth-error{margin-top:14px;background:#fef2f2;border:1px solid #fecaca;color:#b42318;border-radius:10px;padding:10px 12px}.totp-setup{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;margin:20px 0}.totp-qr{width:180px;height:180px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px}.totp-secret{display:block;word-break:break-all;font-size:15px;font-weight:800;margin:6px 0 10px}.recovery-codes{font-size:14px;line-height:1.8;letter-spacing:.04em}.admin-user-menu{position:relative}.admin-user-dropdown{position:absolute;right:0;top:calc(100% + 6px);min-width:150px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 36px rgba(15,23,42,.16);padding:6px;z-index:500}.admin-user-dropdown a,.admin-user-dropdown button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:7px;color:var(--text);font:inherit;font-size:13px;text-decoration:none;cursor:pointer}.admin-user-dropdown a:hover,.admin-user-dropdown button:hover{background:#f4f7fb}.admin-user-button{font-weight:800}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.section-body .button+.button{margin-left:7px}@media(max-width:760px){.totp-setup{grid-template-columns:1fr}.totp-qr{margin:auto}.two-col{grid-template-columns:1fr}}
/* v26.9.0 unified admin controls */
.admin-actions .button,.admin-actions a.button{display:inline-flex;align-items:center;justify-content:center;line-height:1;box-sizing:border-box;vertical-align:middle}
.button[title]{position:relative}
