:root{
  --bg:#202324;
  --bg2:#25292b;
  --row:#292e30;
  --row2:#25292b;
  --panel:#2a2f31;
  --line:#3b4246;
  --line2:#cbd5dc88;
  --top:#34495e;
  --top2:#2d4052;
  --text:#edf5fb;
  --muted:#a5b1b8;
  --blue:#1294ff;
  --blue2:#0b83e5;
  --danger:#eb4d4b;
  --ok:#35d179;
  --warn:#ffcc55;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:Meiryo,"Yu Gothic",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:13px;overflow:hidden}.topbar{height:74px;background:var(--top);display:flex;align-items:center;justify-content:space-between;padding:0 22px 0 22px;border-bottom:1px solid #253647;box-shadow:0 1px 0 #405a73 inset}.brand-wrap{min-width:430px}.brand-line{display:flex;align-items:center;gap:9px}.brand-main{font-family:Georgia,"Times New Roman",serif;font-weight:900;font-size:31px;letter-spacing:.5px;color:#f6f7ef;text-shadow:0 1px 0 #000}.brand-mark{background:#22a9e9;color:white;font-weight:900;font-size:23px;line-height:1;padding:6px 9px;border-radius:2px}.brand-users{font-size:11px;color:#e8f5ff;font-weight:800;margin-left:8px}.brand-users b{color:#fff}.brand-links{display:flex;gap:23px;margin-top:4px;font-size:11px;color:#16a4ff;font-weight:700}.brand-links span:last-child{color:#b8c9d4}.topnav{display:flex;align-items:center;gap:20px;height:100%}.tab{background:transparent;border:0;color:#f4f8fb;font-weight:900;font-size:16px;cursor:pointer;padding:8px 2px;opacity:.94;text-shadow:0 1px 0 #000}.tab:hover,.tab.active{color:var(--blue)}.quick-rail{display:none!important;visibility:hidden!important;pointer-events:none!important}.quick-rail button{display:none!important;visibility:hidden!important;pointer-events:none!important}main{height:calc(100vh - 74px);padding:0 11px 12px;overflow:hidden}.statusbar{height:82px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line2);color:var(--muted);white-space:nowrap;min-width:0}.statusbar b{color:#fff}.refresh{min-width:50px;height:30px;padding:0 10px;background:var(--blue);border:0;border-radius:2px;font-weight:900;letter-spacing:.05em}.stat{display:inline-flex;align-items:center;gap:4px}.status-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.conn{font-size:24px;font-weight:900;line-height:1;text-align:right;min-width:120px}.conn.ok{color:#52dc7b}.conn.bad{color:#ff6767}button{background:#3a4449;color:#fff;border:1px solid #5b666b;border-radius:1px;padding:7px 12px;cursor:pointer;font-weight:800}button:hover{filter:brightness(1.16)}button.blue{background:var(--blue);border-color:var(--blue2)}button.danger{background:#8e2222;border-color:#bf3b3b}.panel{display:none;height:calc(100vh - 156px);overflow:hidden}.panel.active{display:block}.section-title{height:55px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 2px 7px}.section-title.compact{height:51px}.section-title h1{font-size:22px;line-height:1;margin:0;color:white;font-weight:900;text-shadow:0 1px #000}.section-title small{display:block;margin-top:2px;color:#aab8bf;font-size:11px}.toolbar{display:flex;align-items:center;gap:20px}.toolbar input{width:305px;height:30px}.divider{height:9px;display:flex;align-items:center;justify-content:center}.divider:before{content:"";display:block;width:44px;height:2px;background:var(--blue);box-shadow:0 0 10px #0b82c7}.table-shell{border-top:1px solid var(--line2);background:var(--bg2);overflow:auto;box-shadow:0 1px 0 #1a1d1f inset}.online-shell{height:calc((100vh - 230px) * .58)}.offline-shell{height:calc((100vh - 230px) * .42)}.action-shell{height:calc(100vh - 280px)}table{width:100%;border-collapse:collapse;min-width:1480px}th,td{padding:8px 10px;border-bottom:1px solid #3b4246;text-align:left;font-family:Consolas,"Yu Gothic",Meiryo,monospace;white-space:nowrap;font-size:12px}th{background:#222627;position:sticky;top:0;z-index:2;color:#fff;font-weight:900;border-bottom:1px solid #565f64}tbody tr:nth-child(odd){background:var(--row2)}tbody tr:nth-child(even){background:var(--row)}tbody tr:hover{background:#333b3f}.steam{color:#168fff}.icons-head{min-width:88px;color:#e7ecef}.flag{display:inline-flex;align-items:center;justify-content:center;background:#f2f2f2;color:#111;min-width:27px;height:18px;border-radius:1px;margin-right:5px;font-size:11px;box-shadow:0 0 0 1px #1112 inset}.flag.jp:before{content:"";width:9px;height:9px;border-radius:50%;background:#d7003a;display:inline-block;margin-right:3px}.threat{font-weight:900}.threat.low{color:#fff}.threat.mid{color:#ffcc55}.threat.high{color:#ff6262}.badtxt{color:#ff5454}.goodtxt{color:#fff}.smallbtn{font-size:11px;padding:4px 7px;margin-right:4px}.console-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;height:100%;padding-top:14px}.card{background:var(--panel);border:1px solid var(--line);padding:14px;overflow:hidden}.card-head{display:flex;justify-content:space-between;align-items:center}.card h2{margin:0 0 11px;font-size:22px}.console-card{display:flex;flex-direction:column}.console{flex:1;background:#111516;border:1px solid #3d464a;color:#d8f6ff;overflow:auto;padding:12px;font-family:Consolas,Menlo,monospace;white-space:pre-wrap}.commandbar{display:flex;gap:8px;margin-top:10px}.commandbar input{flex:1}.side-panel button{display:block;width:100%;margin-bottom:8px;text-align:left}.side-panel textarea{width:100%;height:150px;margin-top:8px}input,textarea,select{background:#222728;border:1px solid #576268;color:#fff;padding:8px;border-radius:1px;outline:none}input:focus,textarea:focus{border-color:var(--blue)}.muted{color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:12px}.form-grid label{display:flex;flex-direction:column;gap:6px;color:#cbd7de}.buttons{display:flex;gap:10px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:14px 0}.metric{background:#2d3336;border:1px solid #3d464a;padding:18px;text-align:center}.metric b{font-size:32px;display:block}.metric span{color:var(--muted)}.checks{display:flex;flex-wrap:wrap;gap:18px;margin:12px 0}.toast{position:fixed;right:18px;bottom:18px;background:#111;color:#fff;border:1px solid var(--blue);padding:12px 16px;z-index:20}.hidden{display:none!important}.login{position:fixed;inset:0;background:#000b;z-index:30;display:flex;align-items:center;justify-content:center}.login-card{width:380px;background:#2d3336;border:1px solid #65727a;padding:24px;box-shadow:0 20px 70px #000}.login-card h1{margin:0 0 10px}.login-card input,.login-card button{width:100%;margin-top:10px}.error{color:#ff7373;margin-top:10px}.drawer{position:fixed;inset:0;background:#0008;z-index:25;display:flex;justify-content:flex-end}.drawer-card{width:430px;background:#252b2e;border-left:1px solid #58656b;height:100%;padding:18px;box-shadow:-15px 0 50px #0009;overflow:auto}.drawer-close{float:right;background:#111;border-color:#444}.drawer dl{display:grid;grid-template-columns:135px 1fr;gap:8px;margin:15px 0}.drawer dt{color:#aeb9bf}.drawer dd{margin:0;font-family:Consolas,Meiryo,monospace}.drawer .buttons{margin-top:16px;flex-wrap:wrap}@media(max-width:1100px){body{overflow:auto}main{overflow:auto}.topbar{height:auto;min-height:74px;align-items:flex-start;flex-direction:column;gap:8px;padding-bottom:10px}.topnav{flex-wrap:wrap}.panel{height:auto}.online-shell,.offline-shell,.action-shell{height:360px}.statusbar{overflow:auto}.form-grid{grid-template-columns:1fr}.quick-rail{display:none}}

/* v1.2 Pro additions */
.buttons.wrap{flex-wrap:wrap}.watch{color:#ffcc55;font-weight:900}.profile-head{display:flex;justify-content:space-between;align-items:center;background:#1d2224;border:1px solid #3c464b;padding:10px;margin:10px 0}.profile-head .threat{font-size:32px;font-weight:900}.drawer-card.wide{width:720px}.drawer-tabs{display:flex;gap:7px;margin:14px 0 8px;flex-wrap:wrap}.drawer-tabs button{padding:6px 10px}.drawer-tab{display:none;max-height:280px;overflow:auto;border:1px solid var(--line);background:#202527}.drawer-tab.active{display:block}.drawer-tab table{min-width:620px}.drawer-tab th,.drawer-tab td{font-size:11px;padding:6px 8px}.monitor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 14px}.monitor-grid.bottom{grid-template-columns:0.9fr 1.1fr}.mini-shell{height:255px}.metric-grid.seven{grid-template-columns:repeat(7,1fr);gap:9px;margin:12px 0}.metric-grid.seven .metric{padding:10px}.metric-grid.seven .metric b{font-size:24px}.quick-list{max-height:430px;overflow:auto}.quick-list h3{font-size:13px;margin:10px 0 6px;color:#9ed6ff;border-bottom:1px solid #3f4c52;padding-bottom:4px}.quick-list button{display:block;width:100%;margin:0 0 6px;text-align:left;line-height:1.25}.quick-list small{display:block;color:#b1c0c7;font-family:Consolas,monospace;font-weight:400;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bars{height:240px;background:#1b2022;border:1px solid #3b454a;display:flex;align-items:flex-end;gap:2px;padding:10px;overflow:hidden}.bar{flex:1;min-width:3px;background:linear-gradient(to top,#168fff,#54c8ff);position:relative;border-radius:2px 2px 0 0}.bar span{position:absolute;bottom:2px;left:50%;transform:translateX(-50%) rotate(-90deg);font-size:9px;color:#fff;text-shadow:0 1px #000}.form-line{display:grid;grid-template-columns:180px 1fr 130px auto;gap:8px;margin-bottom:10px}.form-line input{min-width:0}.settings-card{height:calc(100vh - 180px);overflow:auto}.drawer-card dl{max-width:100%}.drawer-card table{width:100%;min-width:0}@media(max-width:1300px){.metric-grid.seven{grid-template-columns:repeat(4,1fr)}.monitor-grid,.monitor-grid.bottom{grid-template-columns:1fr}.drawer-card.wide{width:92vw}.form-line{grid-template-columns:1fr}}
.console-tools{display:flex;gap:8px;align-items:center}.console-tools button{padding:6px 9px;font-size:12px}


/* v1.9 Player table sort + right-click menu */
th.sortable{cursor:pointer;user-select:none;position:sticky}
th.sortable:hover{background:#2b3133;color:#9ed6ff}.sort-mark{font-size:10px;color:#8ea0aa;margin-left:6px}.sortable.active .sort-mark{color:#16a4ff}.sortable.asc,.sortable.desc{color:#e9f8ff}.player-name{cursor:context-menu;color:#fff;font-weight:800;position:relative}.player-name:hover{color:#9ed6ff;text-decoration:underline}.rightclick-hint{display:none}.player-context{position:fixed;z-index:80;width:240px;background:#202628;border:1px solid #5d6b72;box-shadow:0 18px 55px #000b;padding:7px}.player-context .ctx-title{border-bottom:1px solid #3e4a50;padding:7px 8px 9px;margin-bottom:6px}.player-context .ctx-title b{display:block;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-context .ctx-title span{display:block;color:#168fff;font-family:Consolas,monospace;font-size:11px;margin-top:2px}.player-context button{width:100%;display:block;text-align:left;background:transparent;border:0;border-radius:0;padding:8px 9px;color:#eaf4fb;font-weight:800}.player-context button:hover{background:#344249;color:#fff;filter:none}.player-context button.danger{color:#ff7777}.player-context button.danger:hover{background:#4b2626}.player-context .ctx-sep{height:1px;background:#3e4a50;margin:5px 0}#onlineTable,#offlineTable{min-width:1120px}

/* v1.11 context stats modal */
.stats-modal.hidden{display:none}
.stats-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:9000}
.stats-dialog{position:fixed;z-index:9001;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 28px));max-height:calc(100vh - 36px);overflow:auto;background:#111827;border:1px solid #334155;box-shadow:0 20px 70px rgba(0,0,0,.55);border-radius:12px;padding:16px;color:#dbeafe}
.stats-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;border-bottom:1px solid #26364e;padding-bottom:10px}
.stats-head h2{margin:0 0 4px 0;font-size:18px;color:#f8fafc}
.stats-head p{margin:0;color:#9fb3ce}
.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.stat-cards div{background:#0b1220;border:1px solid #243349;border-radius:10px;padding:12px;text-align:center}
.stat-cards b{display:block;font-size:24px;color:#fff}
.stat-cards span{font-size:12px;color:#9fb3ce}
.kd-bars{display:grid;grid-template-columns:95px 1fr;gap:8px 10px;align-items:center;margin:12px 0}
.kd-bars label{font-size:12px;color:#a8bdd7}
.kd-bars div{height:12px;background:#0b1220;border:1px solid #243349;border-radius:999px;overflow:hidden}
.kd-bars i{display:block;height:100%;background:linear-gradient(90deg,#16a34a,#84cc16)}
.kd-bars i.death{background:linear-gradient(90deg,#dc2626,#f97316)}
.stats-table{width:100%;border-collapse:collapse;margin-top:10px}
.stats-table th,.stats-table td{padding:8px 10px;border-bottom:1px solid #243349;text-align:left;font-size:13px}
.stats-table th{width:190px;color:#9fb3ce;font-weight:600;background:#0b1220}
@media(max-width:620px){.stat-cards{grid-template-columns:repeat(2,1fr)}.stats-table th{width:130px}.kd-bars{grid-template-columns:1fr}}


/* v1.14 offline refresh + clickable team number */
.team-link{background:transparent;border:0;color:#16a4ff;padding:0;font-family:Consolas,monospace;font-weight:900;text-decoration:underline;cursor:pointer}
.team-link:hover{color:#9ed6ff;filter:none}
.team-modal.hidden{display:none}
.team-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:9000}
.team-dialog{position:fixed;z-index:9001;left:50%;top:50%;transform:translate(-50%,-50%);width:min(980px,calc(100vw - 28px));max-height:calc(100vh - 36px);overflow:auto;background:#111827;border:1px solid #334155;box-shadow:0 20px 70px rgba(0,0,0,.55);border-radius:12px;padding:16px;color:#dbeafe}
.team-table-wrap{overflow:auto;max-height:62vh;border:1px solid #243349;background:#0b1220}
.team-table{width:100%;min-width:900px;border-collapse:collapse}
.team-table th,.team-table td{padding:8px 10px;border-bottom:1px solid #243349;font-size:12px;text-align:left}
.team-table th{position:sticky;top:0;background:#152033;color:#e5f0ff;z-index:1}
.team-table tr:hover{background:#1d2a3e}

/* v1.18 kill/death detail modal */
.stats-dialog.wide{width:min(1050px,calc(100vw - 28px))}
.detail-table-wrap{overflow:auto;max-height:46vh;border:1px solid #243349;background:#0b1220;margin-top:8px}
.stats-detail-table{width:100%;min-width:920px;border-collapse:collapse}
.stats-detail-table th,.stats-detail-table td{padding:8px 10px;border-bottom:1px solid #243349;text-align:left;font-size:12px;white-space:nowrap}
.stats-detail-table th{position:sticky;top:0;background:#152033;color:#e5f0ff;z-index:1}
.stats-detail-table tr:hover{background:#1d2a3e}

/* v1.24 Monitor Plus: health, activity timeline, risk queue */
.health-panel{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:stretch;height:255px;overflow:hidden}
.health-score{border:1px solid #34485a;background:#111827;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.health-score b{font-size:44px;line-height:1;color:#fff}.health-score span{font-size:12px;color:#9fb3ce;margin-top:8px}.health-score.ok{box-shadow:inset 0 0 0 2px #35d17955}.health-score.warn{box-shadow:inset 0 0 0 2px #ffcc5555}.health-score.danger{box-shadow:inset 0 0 0 2px #eb4d4b66}
.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.health-grid div{background:#20282d;border:1px solid #39474f;border-radius:8px;padding:10px;text-align:center}.health-grid b{font-size:18px;display:block;color:#fff}.health-grid span{font-size:11px;color:var(--muted)}
.alert-list{grid-column:1/3;margin:0;padding:0;list-style:none;overflow:auto;border-top:1px solid #3b4246}.alert-list li{display:grid;grid-template-columns:150px 1fr 120px;gap:8px;padding:8px;border-bottom:1px solid #334047}.alert-list li.warn b{color:#ffcc55}.alert-list li.danger b{color:#ff6767}.alert-list em{color:#8fa0aa;font-style:normal;font-size:11px}.sev.warn{color:#ffcc55}.sev.danger{color:#ff6767}.sev.info{color:#9ed6ff}
#activityTable{min-width:1180px}#riskTable{min-width:980px}.metric-grid.seven{grid-template-columns:repeat(8,1fr)}
@media(max-width:1300px){.health-panel{grid-template-columns:1fr;height:auto}.alert-list{grid-column:1}.alert-list li{grid-template-columns:1fr}.metric-grid.seven{grid-template-columns:repeat(4,1fr)}}


/* v1.25 Performance Monitor plugin details */
.performance-monitor-card{margin-top:12px}
.pm-status{margin:4px 0 10px 0;font-size:12px}.danger-text{color:#ff7777}.pm-raw{white-space:pre-wrap;background:#0b1220;border:1px solid #334155;padding:8px;border-radius:8px;max-height:120px;overflow:auto}
.pm-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:12px}.pm-summary div{background:#20282d;border:1px solid #39474f;border-radius:8px;padding:10px;text-align:center}.pm-summary b{display:block;font-size:18px;color:#fff}.pm-summary span{font-size:11px;color:var(--muted)}
.pm-grid{display:grid;grid-template-columns:1.1fr 1.1fr .8fr;gap:12px}.pm-box h3{margin:0 0 8px 0;font-size:13px;color:#cfe1ff}.pm-shell{max-height:330px;overflow:auto;background:#0b1220;border:1px solid #243349}.pm-shell table{width:100%;min-width:520px;border-collapse:collapse}.pm-shell th,.pm-shell td{padding:7px 9px;border-bottom:1px solid #243349;text-align:left;font-size:12px;white-space:nowrap}.pm-shell th{position:sticky;top:0;background:#152033;color:#e5f0ff;z-index:1}.pm-shell tr:hover{background:#1d2a3e}
@media(max-width:1200px){.pm-grid{grid-template-columns:1fr}.pm-summary{grid-template-columns:repeat(3,1fr)}}

/* v1.25.2 Monitor Scroll Fix */
#tab-monitor.panel.active{overflow-y:auto;overflow-x:hidden;padding-right:8px;box-sizing:border-box;scrollbar-gutter:stable;}
#tab-monitor .performance-monitor-card{margin-bottom:18px;}
#tab-monitor .monitor-grid.bottom{padding-bottom:22px;}
#tab-monitor::-webkit-scrollbar,.table-shell::-webkit-scrollbar,.pm-shell::-webkit-scrollbar{width:12px;height:12px;}
#tab-monitor::-webkit-scrollbar-thumb,.table-shell::-webkit-scrollbar-thumb,.pm-shell::-webkit-scrollbar-thumb{background:#4b5b64;border-radius:8px;border:2px solid #1f2528;}
#tab-monitor::-webkit-scrollbar-track,.table-shell::-webkit-scrollbar-track,.pm-shell::-webkit-scrollbar-track{background:#15191b;}


/* v1.25.3 No Glyph / No Blank Squares Fix */
.quick-rail{display:none!important;}
.topnav{gap:16px;}
.tab{min-width:auto;padding:8px 4px;}
.brand-users{letter-spacing:.04em;}


/* v1.25.4: 左下の青いショートカットアイコンを完全非表示 */
.quick-rail,
.left-shortcuts,
.left-shortcut,
.floating-shortcuts,
.floating-buttons,
.floating-actions,
.fab,
.fab-stack,
[data-floating-shortcuts]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}


/* v1.25.5: remove remaining glyph/icon column and blank square artifacts */
.icons-head{display:none!important;}
.sort-mark{font-family:Consolas,Meiryo,monospace;font-size:10px;letter-spacing:.03em;}
.watch{color:#ffcc55;font-weight:900;}
#onlineTable,#offlineTable{min-width:1040px;}
.pm-status.danger-text{color:#ff7777;}

/* v1.25.6 Quick command editor */
.quick-editor{border:1px solid #3d464a;background:#202527;padding:9px;margin:0 0 10px;display:grid;gap:7px}
.quick-editor input{width:100%;box-sizing:border-box;height:30px;padding:6px 8px}
.quick-editor-actions{display:flex;gap:6px}
.quick-editor-actions button{flex:1;text-align:center;padding:6px 8px}
.quick-row{display:grid;grid-template-columns:minmax(0,1fr) 48px 48px;gap:5px;margin:0 0 6px}
.quick-row .quick-run{margin:0;text-align:left;min-width:0;overflow:hidden}
.quick-row .quick-run b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quick-row .quick-run small{display:block;color:#b1c0c7;font-family:Consolas,monospace;font-weight:400;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quick-row .smallbtn{margin:0;padding:5px 6px;text-align:center;font-size:11px}
.quick-list{max-height:360px;overflow:auto}

/* v1.25.7: left-top glyph/buttons cleanup and NPC filter UI guard */
.icons-head,.quick-rail,.left-shortcuts,.floating-shortcuts,.floating-buttons,.floating-actions,.fab,.fab-stack,.glyphs,.icon-buttons,.desktop-buttons{display:none!important;visibility:hidden!important;pointer-events:none!important;}

/* v1.26.0 RC usability improvements */
.theme-toggle {padding:2px 8px;font-size:11px;background:#253c4a;color:#e9f6ff;border:1px solid #60809a}
.console-tools input{max-width:180px;padding:6px;vertical-align:middle}
.column-picker{position:fixed;inset:0;background:#0008;z-index:45;display:flex;align-items:center;justify-content:center}
.column-picker.hidden{display:none}
.column-picker-card{background:var(--panel);border:1px solid var(--line);padding:25px;width:min(640px,92vw);box-shadow:0 20px 70px #0009}
.column-pick-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0;max-height:50vh;overflow:auto}
.column-pick-options label{display:flex;align-items:center;gap:5px;white-space:nowrap}
.pm-raw{max-height:430px;overflow:auto;white-space:pre-wrap;background:#151b1e;border:1px solid var(--line);padding:16px;font:12px/1.6 Consolas,monospace}
body.light{--bg:#eef2f5;--bg2:#fff;--row:#e9eff3;--row2:#f7fafb;--panel:#fff;--line:#bccbd4;--line2:#b3c3cc;--text:#183043;--muted:#5a6e78;--top:#34495e;--top2:#2d4052}
body.light .statusbar b,body.light .section-title h1,body.light .metric b{color:#142b3b;text-shadow:none}
body.light .table-shell,body.light table tbody tr{color:#1e3545}
body.light th{background:#dbe5eb;color:#163348;border-color:#b9cbd6}
body.light td{border-color:#d3dde4}body.light tbody tr:hover{background:#d8eafa}
body.light input,body.light textarea,body.light select{background:#fff;color:#172b3d;border-color:#a8bbc9}
body.light .metric{background:#f4f8fb;border-color:#cdd9e2}
body.light .drawer-card,body.light .column-picker-card{background:#fff;color:#193044}
body.light .drawer-tab{background:#fff}
body.light .console{background:#11212c;color:#eff6fa}
body.light .pm-raw{background:#edf3f5;color:#20343d}
@media(max-width:1500px){.topbar{flex-wrap:wrap;height:auto;min-height:74px}.topnav{gap:10px;flex-wrap:wrap}.tab{font-size:14px}.statusbar{overflow-x:auto}.console-tools{display:flex;gap:6px;flex-wrap:wrap}}

/* On-demand map; markers use the configured world size */
.map-page{overflow:auto;padding-top:14px}.map-page .card{min-height:75vh}
#mapViewport{position:relative;width:min(820px,95%);margin:10px auto;background:#1a2125}
#mapImage{display:block;width:100%;height:auto}
#mapMarkers{position:absolute;inset:0;pointer-events:none}
.map-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:1px solid #fff;background:#0c77ef;color:white;border-radius:50%;width:20px;height:20px;line-height:14px;padding:0;text-align:center;box-shadow:0 1px 4px #000}

body.light .player-name,body.light .player-name span,body.light .threat.low,body.light .stat {color:#19384d}
body.light .table-shell a {color:#1466b1}

/* Console and chat are separate live readouts; keep the chat list scrollable. */
.chat-head{margin-top:8px}.chat-head h2{font-size:15px;margin:0}.chat-shell{height:172px;min-height:120px;flex-shrink:0}.chat-shell table{min-width:560px}.chat-shell th,.chat-shell td{padding:6px 8px}.console-card .console{min-height:160px}


/* v1.26.3 UI1: resizing the online/offline player lists */
#tab-players.panel.active{
  display:flex;flex-direction:column;overflow:hidden;min-height:0;
  height:calc(100vh - 156px);
}
#tab-players > .section-title{height:55px;flex:0 0 55px;box-sizing:border-box;min-width:0}
#tab-players > .section-title.compact{height:51px;flex:0 0 51px}
#tab-players .table-shell.online-shell{height:360px;flex:0 0 auto;min-height:0}
#tab-players .table-shell.offline-shell{height:auto;flex:1 1 0;min-height:0}
#tab-players .players-splitter{
  flex:0 0 14px;height:14px;box-sizing:border-box;cursor:row-resize;
  touch-action:none;user-select:none;display:flex;align-items:center;justify-content:center;
  background:#2a353b;border-block:1px solid #485c66;outline:none;z-index:3;
}
#tab-players .players-splitter:hover,#tab-players .players-splitter:focus-visible,
.dragging-players-splitter #tab-players .players-splitter{background:#15547a;border-color:#2187c3}
#tab-players .splitter-handle{width:58px;height:3px;border-radius:2px;background:#68afd7;box-shadow:0 0 4px #082b3d}
.dragging-players-splitter{cursor:row-resize!important;user-select:none!important}
#tab-players .name-history-trigger{appearance:none;display:inline;padding:1px 0;border:0;background:transparent;color:inherit;text-decoration:none;cursor:pointer;font:inherit;font-weight:800;text-align:left}
#tab-players .name-history-trigger:hover,#tab-players .name-history-trigger:focus-visible{color:#53bcff;text-decoration:underline;outline-offset:3px}
body.light #tab-players .players-splitter{background:#cbdde7;border-color:#a2bccb}
body.light #tab-players .players-splitter:hover,body.light #tab-players .players-splitter:focus-visible{background:#a4d7f2}

/* v1.26.3 UI1: lightweight name-history popup; all values are HTML-escaped. */
.name-history-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.72);padding:18px;box-sizing:border-box}
.name-history-overlay.hidden{display:none}
.name-history-dialog{width:min(660px,100%);max-height:85vh;display:flex;flex-direction:column;gap:10px;overflow:hidden;border:1px solid #58718b;border-radius:7px;background:var(--panel);box-shadow:0 24px 80px #000c;padding:18px;color:var(--text)}
.name-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.name-history-head h2{margin:0 0 6px;font-size:22px;color:var(--text)}
.name-history-head button{flex-shrink:0}
.name-history-note{color:var(--muted);font-size:12px;margin:0;line-height:1.5}
.name-history-list{overflow:auto;min-height:65px;max-height:55vh;border:1px solid var(--line)}
.name-history-list table{width:100%;min-width:0}
.name-history-list th:first-child,.name-history-list td:first-child{width:190px;white-space:nowrap}
.name-history-list td:last-child{white-space:normal;overflow-wrap:anywhere}
.name-history-footer{display:flex;justify-content:space-between;align-items:center;gap:10px}
.name-current-tag{display:inline-block;color:#8ad8a8;border:1px solid #358054;border-radius:4px;padding:0 5px;margin-left:10px;font-size:10px;white-space:nowrap}
body.light .name-history-dialog{color:#183043}
body.light .name-history-head h2{color:#183043}
@media(max-width:1100px){
  #tab-players.panel.active{height:calc(100vh - 170px);min-height:380px}
  #tab-players > .section-title{flex-wrap:wrap;height:auto;min-height:55px;flex:0 0 auto}
  #tab-players > .section-title.compact{height:51px;flex:0 0 51px}
  #tab-players .table-shell.online-shell,#tab-players .table-shell.offline-shell{min-height:0}
}

/* v1.26.4 current server map + player markers + dedicated chat viewer */
#tab-map.panel.active{overflow-y:auto}
#tab-map .card{min-height:0;height:auto;overflow:visible}
.map-workspace{display:grid;grid-template-columns:minmax(320px,1fr) 320px;gap:12px;align-items:start}
#mapViewport{width:min(820px,100%);max-width:100%;margin:10px auto;min-height:320px;background:#1a2125}
#mapMarkers{overflow:hidden}.map-marker{font-size:13px;width:19px;height:19px;padding:0;border-radius:50%;background:#1479ec;cursor:pointer;z-index:2}
.map-marker:hover,.map-marker:focus{background:#ffcc55;color:#17212c;z-index:3;transform:translate(-50%,-50%) scale(1.4)}
.map-sidebar{border:1px solid var(--line);background:var(--bg2);padding:12px;min-width:0}.map-sidebar h3{margin:0 0 8px}
.map-sidebar input{width:100%;margin:0 0 8px}.map-player-list{overflow-y:auto;max-height:min(62vh,700px);display:grid;gap:4px}
.map-player-button{width:100%;text-align:left;font-weight:500;font-size:12px;overflow-wrap:anywhere}
#tab-chat.panel.active{display:block;overflow:hidden;padding:12px 0}
.chat-dedicated{display:flex;flex-direction:column;height:100%;min-height:0}
.chat-header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.chat-header h2{margin:0 0 5px}.chat-header small{color:var(--muted)}.chat-action-buttons{display:flex;gap:6px}
.chat-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:13px 0}
.chat-filters label{display:grid;gap:5px;color:var(--muted);font-size:12px}.chat-filters input,.chat-filters select{min-height:34px}
.chat-filters #chatSearch{min-width:230px}.chat-filters .chat-live-label{display:flex;gap:6px;align-items:center;padding-bottom:8px}
.chat-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line)}
#chatHistoryStatus{margin-left:auto;color:var(--muted)}
.chat-badge{font:700 10px/1.4 Consolas,monospace;white-space:nowrap;display:inline-block;border:1px solid transparent;border-radius:4px;padding:3px 7px}
.chat-badge.global{background:#123d61;color:#85cfff;border-color:#2373ab}.chat-badge.team{background:#174b32;color:#8ef0ad;border-color:#378656}
.chat-badge.unknown{background:#484035;color:#efc88c;border-color:#8b6c3e}.chat-badge.other{background:#443454;color:#dac2fb;border-color:#8662a1}
.chat-history-list{flex:1;min-height:0;overflow-y:auto;background:#171d20;border:1px solid var(--line);margin-top:8px}
.chat-entry{display:grid;grid-template-columns:155px 128px 160px 170px minmax(180px,1fr);gap:10px;align-items:start;padding:9px 12px;border-bottom:1px solid #2d383e;border-left:3px solid #4e6470}
.chat-entry:nth-child(even){background:#20282b}.chat-entry.global{border-left-color:#2b94ff}.chat-entry.team{border-left-color:#48ba7a}
.chat-entry.unknown{border-left-color:#c39a52}.chat-entry.other{border-left-color:#a77dd9}
.chat-entry-time{font-family:Consolas,monospace;font-size:11px;color:#adbac3}.chat-entry-id{font-family:Consolas,monospace;font-size:11px;color:#91a7b5}
.chat-entry-name{border:0;background:transparent;padding:0;text-align:left;color:#b9d9ff;white-space:normal;overflow-wrap:anywhere}
.chat-entry-message{white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;color:#f2f5f7}
.chat-footer{display:flex;align-items:center;gap:12px;padding-top:10px}.chat-footer .muted{font-size:11px}
body.light .chat-history-list{background:#f6f9fc}body.light .chat-entry:nth-child(even){background:#e9eef3}
body.light .chat-entry-message{color:#193043}body.light .chat-entry-time,body.light .chat-entry-id{color:#536d80}
body.light .chat-entry-name{color:#1763a4}
@media(max-width:1050px){.map-workspace{grid-template-columns:1fr}.map-player-list{max-height:190px}.chat-entry{grid-template-columns:130px 105px minmax(120px,1fr)}.chat-entry-id{display:none}.chat-entry-message{grid-column:1/-1}.chat-filters #chatSearch{min-width:170px}}

/* v1.26.7 lightweight column drag + column picker order controls */
#tab-players th.sortable{cursor:grab;user-select:none;position:sticky;padding-right:28px}
#tab-players th.sortable:active{cursor:grabbing}
#tab-players th.column-dragging{opacity:.4}
#tab-players th.column-drop-target{box-shadow:inset 4px 0 #49bfff;background:#23445b}
#tab-players th .column-grip{position:absolute;right:7px;top:50%;transform:translateY(-50%);font-size:12px;color:#83a8b9;letter-spacing:1px}
#tab-players th.sortable:hover .column-grip{color:#fff}
.column-pick-options label{display:flex;align-items:center;gap:10px}
.column-order-buttons{display:flex;gap:4px;margin-left:auto}
.column-order-buttons button{padding:2px 7px;min-height:26px;min-width:28px}

.column-picker-card{width:min(740px,96vw);max-height:90vh;overflow:auto}
.column-pick-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 15px}
.column-pick-options label{min-width:0;white-space:normal;line-height:1.35}
.column-pick-options label input{flex:0 0 auto}
.column-order-buttons{flex:0 0 auto}
@media(max-width:600px){.column-pick-options{grid-template-columns:1fr}}


/* v1.26.7 readable dedicated chat: message-first, high-contrast, responsive cards */
#tab-chat.panel.active{padding:8px 0 0;overflow:hidden}
#tab-chat .chat-dedicated{background:#252d32;padding:16px 18px;border:1px solid #46525a;border-radius:8px;gap:0}
#tab-chat .chat-header{align-items:center;gap:14px;padding-bottom:13px;border-bottom:1px solid #40505a}
#tab-chat .chat-header-title h2{font-size:23px;color:#f3f9ff;margin:3px 0 4px;line-height:1.2}
#tab-chat .chat-header-title small{font-size:12px;color:#b6c7cf;line-height:1.4}
#tab-chat .chat-kicker{color:#6cc5ff;font-size:10px;font-weight:800;letter-spacing:.11em}
#tab-chat .chat-action-buttons button{padding:9px 12px;white-space:nowrap;font-size:12px}
#tab-chat .chat-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:14px 0 10px;flex-wrap:wrap}
#tab-chat .chat-channel-buttons{display:flex;flex-wrap:wrap;gap:5px}
#tab-chat .chat-channel-btn{display:flex;align-items:center;gap:7px;border:1px solid #51626c;background:#26333c;border-radius:6px;color:#d8e4eb;font-size:13px;line-height:1.2;font-weight:600;padding:10px 13px;min-height:39px}
#tab-chat .chat-channel-btn:hover{background:#354755;color:#fff;border-color:#7293a9}
#tab-chat .chat-channel-btn.active{background:#12466b;border-color:#60bdff;color:#f3faff;box-shadow:inset 0 -2px #48b6ff}
#tab-chat .channel-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#9eacb4}
#tab-chat .channel-dot.global{background:#45b4ff}#tab-chat .channel-dot.team{background:#4de69a}#tab-chat .channel-dot.unknown{background:#ffd078}
#tab-chat .chat-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;opacity:0;pointer-events:none}
#tab-chat .chat-search-box{display:flex;gap:6px;align-items:center;flex:1 1 350px;max-width:600px;min-width:270px}
#tab-chat .chat-search-box label{font-size:12px;font-weight:600;color:#c7d6df;white-space:nowrap}
#tab-chat .chat-search-box input{flex:1;min-width:0;min-height:39px;background:#111c24;border:1px solid #547184;color:#f3faff;padding:9px 12px;font-size:13px;border-radius:5px}
#tab-chat .chat-search-box button{min-height:39px;padding:8px 13px}
#tab-chat .chat-controls{display:flex;align-items:center;gap:16px;min-height:42px;padding:5px 0 11px;flex-wrap:wrap}
#tab-chat .chat-controls .chat-live-label{display:inline-flex;gap:7px;align-items:center;color:#dce8ef;font-size:12px;margin:0;padding:0;white-space:nowrap}
#tab-chat .chat-controls .chat-live-label input{width:16px;height:16px;accent-color:#3aa7ff}
#tab-chat .chat-date-filters{position:relative;flex:0 0 auto;font-size:12px;color:#ddeaf1}
#tab-chat .chat-date-filters summary{cursor:pointer;color:#bed9e9;padding:7px 10px;background:#293944;border:1px solid #4f6575;border-radius:5px;user-select:none}
#tab-chat .chat-date-filters[open]{z-index:5}
#tab-chat .chat-date-inputs{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:11px;background:#1b2932;border:1px solid #587185;box-shadow:0 5px 16px #0007;position:absolute;top:100%;left:0;min-width:min(580px,85vw);z-index:6;border-radius:6px}
#tab-chat .chat-date-inputs label{display:grid;gap:5px;flex:1;min-width:205px}
#tab-chat .chat-date-inputs input{min-height:36px;width:100%;font-size:12px}
#tab-chat .chat-date-inputs button{min-height:36px}
#tab-chat .chat-font-label{display:flex;align-items:center;gap:7px;white-space:nowrap;color:#b9d2df;font-size:12px}
#tab-chat #chatFontSize{height:32px;min-width:95px;font-size:12px}
#tab-chat .chat-history-status{margin-left:auto;color:#8fe3be;background:#1e3833;padding:6px 10px;border:1px solid #376a54;border-radius:5px;line-height:1.4;font-size:12px}
#tab-chat .chat-legend{display:flex;flex-wrap:wrap;gap:7px;padding:9px 10px;background:#19262d;border:1px solid #3b4b54;border-radius:6px;margin-bottom:10px}
#tab-chat .chat-badge{font:700 11px/1.35 'Meiryo UI',sans-serif;border-radius:5px;padding:4px 9px}
#tab-chat .chat-badge.global{background:#123853;color:#9cdbff;border-color:#247eaf}
#tab-chat .chat-badge.team{background:#194332;color:#a1fac3;border-color:#429469}
#tab-chat .chat-badge.unknown{background:#4b3d2b;color:#ffdc9a;border-color:#8b6b3d}
#tab-chat .chat-badge.other{background:#40354d;color:#edd5ff;border-color:#8267a0}
#tab-chat .chat-legend-note{font-size:11px;color:#a9c0cc;margin-left:auto;align-self:center}
#tab-chat .chat-history-list{min-height:120px;flex:1;overflow-y:auto;overflow-x:hidden;background:#121c24;border:1px solid #3a4d5c;border-radius:6px;margin:0;scrollbar-color:#577183 #16232c}
#tab-chat .chat-date-divider{display:flex;align-items:center;gap:12px;color:#b5c9d5;font-size:11px;font-weight:800;letter-spacing:.025em;padding:10px 15px;background:#202f3a;border-top:1px solid #334755;border-bottom:1px solid #334755}
#tab-chat .chat-date-divider:after{content:'';height:1px;flex:1;background:#47606e}
#tab-chat .chat-entry{display:grid;grid-template-columns:92px minmax(0,1fr);gap:15px;padding:13px 16px;margin:0;border-left:4px solid #536675;border-bottom:1px solid #2d404e;background:#16222b;line-height:1.55}
#tab-chat .chat-entry:nth-of-type(even){background:#192732}
#tab-chat .chat-entry.global{border-left-color:#2f9eff}
#tab-chat .chat-entry.team{border-left-color:#2ecc84;background:#152a27}
#tab-chat .chat-entry.team:nth-of-type(even){background:#19332c}
#tab-chat .chat-entry.unknown{border-left-color:#d6a64f}
#tab-chat .chat-entry.other{border-left-color:#b28adf}
#tab-chat .chat-entry:hover{filter:brightness(1.12)}
#tab-chat .chat-entry-rail{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding-top:1px}
#tab-chat .chat-entry-time{font:700 12px/1.45 Consolas,monospace;color:#c0d0da}
#tab-chat .chat-entry-main{min-width:0;display:block}
#tab-chat .chat-entry-meta{display:flex;gap:10px;align-items:baseline;min-width:0;flex-wrap:wrap;margin:0 0 4px}
#tab-chat .chat-entry-name{font-size:14px;font-weight:800;line-height:1.3;color:#9bd5ff;max-width:min(65ch,100%);cursor:pointer;border:0;background:transparent;padding:0;text-decoration:none}
#tab-chat .chat-entry-name:hover{text-decoration:underline;color:#d2efff}
#tab-chat .chat-entry.team .chat-entry-name{color:#a3f7cb}
#tab-chat .chat-entry-id{color:#8ea8b7;font:11px Consolas,monospace;opacity:.8;word-break:break-all}
#tab-chat .chat-copy-btn{margin-left:auto;color:#aac9db;background:transparent;border:1px solid transparent;font-size:11px;padding:3px 7px;min-height:0;opacity:.75;border-radius:4px}
#tab-chat .chat-copy-btn:hover,#tab-chat .chat-copy-btn:focus-visible{opacity:1;border-color:#6a8ca1;background:#284355;color:#fff}
#tab-chat .chat-entry-message{display:block;font-size:16px;font-weight:500;line-height:1.6;color:#f1f7fc;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;letter-spacing:.005em;max-width:115ch}
#tab-chat .chat-entry.team .chat-entry-message{color:#e7fff2}
#tab-chat .chat-size-large .chat-entry-message{font-size:19px;line-height:1.8}
#tab-chat .chat-size-large .chat-entry-name{font-size:16px}
#tab-chat .chat-size-compact .chat-entry{padding:7px 14px;gap:10px}
#tab-chat .chat-size-compact .chat-entry-message{font-size:13px;line-height:1.4}
#tab-chat .chat-size-compact .chat-entry-name{font-size:12px}
#tab-chat .chat-empty{text-align:center;padding:40px 12px;color:#c5d6e0;line-height:1.8}
#tab-chat .chat-empty small{color:#8da2b2}
#tab-chat .chat-footer{padding:10px 0 0;gap:15px;flex-wrap:wrap}
#tab-chat .chat-footer .muted{line-height:1.5;max-width:800px}
#tab-chat .chat-footer button{background:#314a5a;color:#e5f4ff;border:1px solid #658197;border-radius:5px;padding:9px 13px}
#tab-chat .chat-entry-name:focus-visible,#tab-chat button:focus-visible,#tab-chat input:focus-visible,#tab-chat select:focus-visible{outline:2px solid #7dd2ff;outline-offset:2px}
/* light-mode contrast remains readable */
body.light #tab-chat .chat-dedicated{background:#eff4f7;border-color:#bacbd8}
body.light #tab-chat .chat-header{border-color:#c6d5e0}
body.light #tab-chat .chat-header-title h2{color:#17354a}
body.light #tab-chat .chat-kicker{color:#0968a5}
body.light #tab-chat .chat-header-title small{color:#475e6f}
body.light #tab-chat .chat-channel-btn{background:#e0eaf0;color:#183c52;border-color:#b0c5d5}
body.light #tab-chat .chat-channel-btn.active{background:#c4e3f7;border-color:#197ebd;color:#12537b}
body.light #tab-chat .chat-search-box label,body.light #tab-chat .chat-controls .chat-live-label,body.light #tab-chat .chat-font-label{color:#21445d}
body.light #tab-chat .chat-search-box input{background:#fff;color:#15374d;border-color:#9bb3c3}
body.light #tab-chat .chat-legend{background:#e4edf3;border-color:#b4cbd8}
body.light #tab-chat .chat-legend-note{color:#526d7f}
body.light #tab-chat .chat-history-list{background:#fff;border-color:#b0c6d5}
body.light #tab-chat .chat-date-divider{background:#dce9f2;color:#234b65;border-color:#bbd3e0}
body.light #tab-chat .chat-entry{background:#fff;border-bottom-color:#d7e2e9}
body.light #tab-chat .chat-entry:nth-of-type(even){background:#f0f6fa}
body.light #tab-chat .chat-entry.team{background:#f2fbf5}
body.light #tab-chat .chat-entry.team:nth-of-type(even){background:#e6f7ec}
body.light #tab-chat .chat-entry-time{color:#4d697e}
body.light #tab-chat .chat-entry-name{color:#176093}
body.light #tab-chat .chat-entry.team .chat-entry-name{color:#147a48}
body.light #tab-chat .chat-entry-id{color:#687e8e}
body.light #tab-chat .chat-copy-btn{color:#375c73}
body.light #tab-chat .chat-entry-message{color:#17384c}
body.light #tab-chat .chat-entry.team .chat-entry-message{color:#175332}
body.light #tab-chat .chat-history-status{background:#d1efde;color:#19643f;border-color:#9dd3b4}
body.light #tab-chat .chat-date-filters summary{background:#e6eef4;color:#244860;border-color:#b4c5d1}
body.light #tab-chat .chat-date-inputs{background:#f6fbff;border-color:#b2c7d4}
body.light #tab-chat .chat-footer button{background:#d6e7f0;color:#254b63;border-color:#aac7d8}
@media(max-width:1150px){#tab-chat .chat-toolbar{align-items:stretch}#tab-chat .chat-search-box{max-width:100%;flex:1 1 100%}}
@media(max-width:700px){#tab-chat .chat-dedicated{padding:11px 10px}#tab-chat .chat-header{flex-direction:column;align-items:stretch}#tab-chat .chat-entry{grid-template-columns:minmax(0,1fr);gap:5px;padding:10px 11px}#tab-chat .chat-entry-rail{flex-direction:row;align-items:center}#tab-chat .chat-entry-id{display:none}#tab-chat .chat-entry-message{font-size:15px}#tab-chat .chat-controls{gap:9px}#tab-chat .chat-history-status{margin-left:0}#tab-chat .chat-date-inputs{min-width:min(340px,88vw)}}


/* ChatSpace: more messages visible, without additional Rust/RCON polling */
#tab-chat.panel.active{padding:4px 0 0}
#tab-chat .chat-dedicated{padding:9px 12px}
#tab-chat .chat-header{padding-bottom:6px}
#tab-chat .chat-header-title h2{font-size:20px;margin:1px 0}
#tab-chat .chat-header-title small{font-size:11px}
#tab-chat .chat-toolbar{gap:7px;padding:8px 0 5px}
#tab-chat .chat-channel-btn{padding:5px 9px;min-height:30px;font-size:12px}
#tab-chat .chat-search-box input,#tab-chat .chat-search-box button{min-height:32px;padding:6px 10px}
#tab-chat .chat-controls{min-height:32px;gap:12px;padding:3px 0 6px}
#tab-chat .chat-date-filters summary{padding:5px 9px}
#tab-chat .chat-history-status{padding:4px 8px}
#tab-chat .chat-legend{padding:5px 8px;margin-bottom:5px}
#tab-chat .chat-legend .chat-badge{padding:2px 6px}
#tab-chat .chat-footer{padding:6px 0 0}
#tab-chat .chat-footer button{padding:6px 10px}
#tab-chat .chat-entry{grid-template-columns:88px minmax(0,1fr);gap:9px;padding:8px 11px}
#tab-chat .chat-entry-rail{gap:3px}
#tab-chat .chat-entry-meta{gap:7px;margin-bottom:1px}
#tab-chat .chat-entry-message{font-size:15px;line-height:1.4;max-width:none}
#tab-chat .chat-date-divider{padding:6px 11px}
#tab-chat .chat-size-compact .chat-entry{grid-template-columns:82px minmax(0,1fr);gap:8px;padding:5px 9px}
#tab-chat .chat-size-compact .chat-entry-meta{margin-bottom:0;gap:6px}
#tab-chat .chat-size-compact .chat-entry-message{font-size:14px;line-height:1.4}
#tab-chat .chat-size-compact .chat-entry-time{font-size:11px}
#tab-chat .chat-size-compact .chat-badge{font-size:10px;padding:2px 6px}
#tab-chat .chat-size-compact .chat-entry-id{display:none}
#tab-chat .chat-size-compact .chat-copy-btn{padding:0 5px}
#tab-chat #chatPageSize{min-width:83px;height:32px;font-size:12px}
@media(max-width:700px){
 #tab-chat .chat-dedicated{padding:7px 8px}
 #tab-chat .chat-entry,#tab-chat .chat-size-compact .chat-entry{grid-template-columns:72px minmax(0,1fr);gap:6px;padding:6px 7px}
 #tab-chat .chat-entry-rail{flex-direction:column}
 #tab-chat .chat-entry-time{font-size:11px}
 #tab-chat .chat-legend-note{display:none}
}

/* Show actual running application version (v1.26.10 UI patch). */
.app-version-badge{display:inline-flex;align-items:center;padding:2px 9px;border:1px solid #5087aa;border-radius:6px;background:#152b42;color:#e4f5ff;font:700 12px/1.5 Consolas,'Yu Gothic UI',sans-serif;letter-spacing:.02em;white-space:nowrap;vertical-align:middle;user-select:text}
.app-version-login{display:inline-block;margin-left:6px;border:1px solid #526b81;border-radius:5px;background:#1c3448;padding:3px 7px;color:#d9f0ff;font:700 12px/1.4 Consolas,'Yu Gothic UI',sans-serif;vertical-align:middle;white-space:nowrap}
body.light .app-version-badge,body.light .app-version-login{background:#e5f1ff;color:#10324e;border-color:#5891bf}

/* Offline/online header: click to sort, drag ONLY the grip to move columns. */
#tab-players th.sortable{cursor:pointer}
#tab-players th.sortable:active{cursor:pointer}
#tab-players th .column-grip{cursor:grab;display:inline-flex;justify-content:center;align-items:center;min-width:20px;min-height:28px;touch-action:none;border-radius:3px}
#tab-players th .column-grip:active{cursor:grabbing}
#tab-players th .column-grip:focus-visible{outline:2px solid #49bfff;outline-offset:2px}
#tab-players th[aria-sort="ascending"] .sort-mark,#tab-players th[aria-sort="descending"] .sort-mark{color:#66d3ff;font-weight:900}

/* Offline team history: visible but never presented as live membership. */
#offlineTable .team-last-seen{display:inline-block;margin-left:5px;padding:2px 5px;border:1px solid #4b677c;border-radius:3px;color:#a9c5d7;font-size:10px;white-space:nowrap;vertical-align:middle}
#offlineTable .team-unknown{color:#8c9eaa;font-size:11px}
body.light #offlineTable .team-last-seen{color:#3a5263;border-color:#9fb7c8}

/* Steam VAC/Game BAN: never imply that an unchecked player has zero bans. */
.ban-link{background:transparent;border:0;padding:1px 2px;color:#77c8ff;text-decoration:underline;cursor:pointer;font-size:12px;font-weight:700}
.ban-link:hover,.ban-link:focus-visible{color:#fff;background:#235077;outline:1px solid #77c8ff}
.drawer dd a{color:#79c9ff;text-decoration:underline}


/* v1.26.14: optional per-message translation, no server requests. */
#tab-chat .chat-translate-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #3a5263;background:#172831;border-radius:6px;padding:8px 10px;margin:2px 0 7px}
#tab-chat .chat-translate-title{font-size:12px;font-weight:800;color:#a4dfff;white-space:nowrap}
#tab-chat .chat-translate-tools label{font-size:12px;color:#c0d6e3;display:inline-flex;align-items:center;gap:5px}
#tab-chat .chat-translate-tools select{height:30px;min-width:105px;padding:3px 6px;background:#263d4c;color:#fff;border-color:#5e7d90;border-radius:4px}
#tab-chat .chat-translate-tools .chat-translate-batch{height:30px;padding:4px 10px;background:#244b66;color:#dff3ff;border:1px solid #4981a4;border-radius:4px}
#tab-chat .chat-translate-tools .chat-translate-batch:disabled{opacity:.5}
#tab-chat #chatTranslateStatus{font-size:11px;color:#acbdc9;margin-left:auto;max-width:440px}
#tab-chat .chat-translate-privacy{font-size:11px;color:#97afbe;margin:0 0 6px;padding:0 5px}
#tab-chat .chat-translate-row{display:flex;align-items:flex-start;gap:8px;margin-top:3px;min-height:22px}
#tab-chat .chat-translate-button{background:transparent;border:1px solid #47657c;border-radius:4px;color:#92c9f0;font-weight:700;font-size:11px;padding:1px 8px;min-height:21px;flex:none}
#tab-chat .chat-translate-button:hover,#tab-chat .chat-translate-button:focus-visible{color:#fff;background:#2c526b}
#tab-chat .chat-translate-button:disabled{opacity:.6}
#tab-chat .chat-translation{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45;color:#b9f1c7;font-size:13px}
#tab-chat .chat-translation[hidden]{display:none}
#tab-chat .chat-translation.chat-translate-error{color:#ffb6aa}
body.light #tab-chat .chat-translate-tools{background:#e2eef5;border-color:#adc8da}
body.light #tab-chat .chat-translate-title{color:#245575}
body.light #tab-chat .chat-translate-tools label{color:#35576c}
body.light #tab-chat .chat-translate-tools select{background:#fff;color:#20445c}
body.light #tab-chat #chatTranslateStatus,body.light #tab-chat .chat-translate-privacy{color:#47697d}
body.light #tab-chat .chat-translate-button{color:#15618f;border-color:#9dbbca}
body.light #tab-chat .chat-translation{color:#236d48}
body.light #tab-chat .chat-translation.chat-translate-error{color:#b12d27}

/* High-density chat view (v1.26.13 UI) — isolated from all other tabs. */
#tab-chat.panel.active{padding:4px 0 0;overflow:hidden}
#tab-chat .chat-dedicated{display:flex;flex-direction:column;min-height:0;height:100%;gap:0;padding:8px 12px;border-radius:7px;background:#151f28;border:1px solid #344755}
#tab-chat .chat-header{padding:0 0 5px;min-height:33px;gap:10px;border-color:#314552}
#tab-chat .chat-header-title{display:flex;align-items:baseline;gap:12px;min-width:0}
#tab-chat .chat-header-title h2{font-size:17px;margin:0;color:#f1f8fd;white-space:nowrap}
#tab-chat .chat-header-title small{font-size:10px;margin:0;color:#94abba;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tab-chat .chat-action-buttons button{min-height:29px;padding:4px 10px;font-size:11px;border-radius:5px}
#tab-chat .chat-toolbar{display:flex;align-items:center;flex-wrap:nowrap;justify-content:stretch;gap:8px;padding:7px 0 5px;min-height:41px}
#tab-chat .chat-channel-buttons{flex-wrap:nowrap;gap:2px}
#tab-chat .chat-channel-btn{padding:4px 8px;min-height:29px;font-size:11px;white-space:nowrap;gap:4px}
#tab-chat .channel-dot{width:6px;height:6px}
#tab-chat .chat-search-box{flex:1;min-width:150px;max-width:none;gap:5px}
#tab-chat .chat-search-box label{font-size:11px}
#tab-chat .chat-search-box input{height:29px;min-height:29px;padding:4px 8px;font-size:11px}
#tab-chat .chat-search-box button{height:29px;min-height:29px;padding:4px 9px;font-size:11px}
#tab-chat .chat-controls{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;min-height:34px;padding:1px 0 6px}
#tab-chat .chat-live-label,#tab-chat .chat-font-label{font-size:11px;white-space:nowrap}
#tab-chat #chatFontSize{height:27px;padding:3px 5px;font-size:11px;min-width:82px}
#tab-chat .chat-history-status{font-size:11px;margin-left:0;background:transparent;border:0;color:#8adabc;padding:0}
#tab-chat .chat-back-latest{padding:3px 8px;min-height:25px;font-size:11px;color:#d3efff;background:#265174;border-color:#5995bf}
#tab-chat .chat-back-latest[hidden]{display:none}
#tab-chat .chat-advanced{margin-left:auto;position:relative;flex:none;font-size:11px}
#tab-chat .chat-advanced>summary{cursor:pointer;list-style:none;padding:6px 9px;background:#243746;color:#d5eaf7;border:1px solid #426073;border-radius:5px;white-space:nowrap}
#tab-chat .chat-advanced>summary::-webkit-details-marker{display:none}
#tab-chat .chat-advanced[open]>summary{background:#335a72;border-color:#74b7db}
#tab-chat .chat-advanced-body{position:absolute;top:calc(100% + 4px);right:0;width:min(780px,calc(100vw - 36px));max-height:min(65vh,510px);overflow:auto;background:#172732;border:1px solid #58778a;box-shadow:0 12px 34px #000a;padding:12px;border-radius:7px;z-index:12}
#tab-chat .chat-advanced-controls{display:flex;align-items:center;gap:12px;margin-bottom:8px}
#tab-chat .chat-advanced-controls select{height:28px;min-width:95px;padding:2px 6px}
#tab-chat .chat-advanced-body .chat-date-filters{position:relative}
#tab-chat .chat-date-filters summary{padding:5px 8px}
#tab-chat .chat-date-inputs{position:static;box-shadow:none;max-width:100%;min-width:0;margin-top:5px}
#tab-chat .chat-translate-tools{margin:0;padding:7px;gap:7px}
#tab-chat .chat-translate-tools select{height:29px}
#tab-chat .chat-translate-privacy{padding:7px 2px 0;margin:0;font-size:10px}
#tab-chat .chat-column-head{display:grid;grid-template-columns:75px 69px minmax(85px,160px) minmax(0,1fr) 39px;gap:7px;align-items:center;min-height:29px;padding:0 9px;background:#213240;color:#a6c2d4;border:1px solid #385363;border-bottom:0;border-radius:5px 5px 0 0;font-size:10px;font-weight:750;flex-shrink:0}
#tab-chat .chat-column-head small{color:#7797a8;font-size:10px;font-weight:normal}
#tab-chat .chat-history-list{margin:0;flex:1;min-height:130px;overflow-y:auto;overflow-x:hidden;background:#111c24;border:1px solid #385363;border-radius:0;scrollbar-color:#49687c #152530}
#tab-chat .chat-date-divider{min-height:22px;padding:2px 10px;line-height:16px;font-size:10px;background:#20313d;border-bottom-color:#304959}
#tab-chat .chat-entry{display:grid;grid-template-columns:75px 69px minmax(85px,160px) minmax(0,1fr) 39px;gap:7px;align-items:center;min-height:28px;padding:0 9px;margin:0;border-left-width:3px;border-bottom:1px solid #283b47;background:#16232d;line-height:1.2}
#tab-chat .chat-entry:nth-of-type(even){background:#1b2a35}
#tab-chat .chat-entry.team{background:#142a28}
#tab-chat .chat-entry.team:nth-of-type(even){background:#1b302d}
#tab-chat .chat-entry:hover{filter:none;background:#254052}
#tab-chat .chat-entry.team:hover{background:#244b3b}
#tab-chat .chat-entry-time{font:500 11px/1.2 Consolas,monospace;color:#a3bdce;white-space:nowrap}
#tab-chat .chat-badge{justify-self:start;white-space:nowrap;border-radius:4px;font-size:10px;padding:2px 5px;line-height:14px}
#tab-chat .chat-entry-name{display:block;width:100%;margin:0;padding:0;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#bde4ff;font-size:12px;font-weight:700;line-height:19px;text-align:left}
#tab-chat .chat-entry.team .chat-entry-name{color:#a0edc6}
#tab-chat .chat-entry-message{display:block;min-width:0;width:100%;max-width:none;padding:0;min-height:26px;border:0;border-radius:0;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:400 12px/26px Meiryo,'Yu Gothic UI',sans-serif;color:#ecf4fa;letter-spacing:0;text-align:left;cursor:pointer}
#tab-chat .chat-entry-message:hover{text-decoration:underline;text-decoration-color:#75a9c5}
#tab-chat .chat-entry.team .chat-entry-message{color:#e5fff0}
#tab-chat .chat-expand-btn{border:0;background:transparent;padding:0;color:#a2c0d3;min-height:24px;font-size:12px;border-radius:3px;line-height:1}
#tab-chat .chat-entry.is-expanded{background:#223a49;align-items:start;padding-top:2px;padding-bottom:7px}
#tab-chat .chat-entry.team.is-expanded{background:#224439}
#tab-chat .chat-entry-details{grid-column:1/-1;min-width:0;border-top:1px solid #446073;padding:7px 5px 0 74px;color:#e5f1fa}
#tab-chat .chat-entry-details[hidden]{display:none}
#tab-chat .chat-message-full{font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text}
#tab-chat .chat-detail-actions{margin-top:7px;display:flex;align-items:center;flex-wrap:wrap;gap:7px}
#tab-chat .chat-detail-actions code{font:10px Consolas,monospace;color:#a8c5d4;margin-right:auto}
#tab-chat .chat-copy-btn{margin-left:0;padding:3px 8px;border:1px solid #506b7c;opacity:1;min-height:24px;white-space:nowrap}
#tab-chat .chat-translate-row{margin:0;min-height:22px;flex-wrap:wrap;align-items:center}
#tab-chat .chat-translation{max-width:600px;white-space:pre-wrap}
#tab-chat .chat-size-normal .chat-entry{min-height:38px;padding-top:4px;padding-bottom:4px}
#tab-chat .chat-size-normal .chat-entry-message{font-size:13px;line-height:28px;min-height:28px}
#tab-chat .chat-size-large .chat-entry{min-height:47px;padding-top:7px;padding-bottom:7px}
#tab-chat .chat-size-large .chat-entry-message{font-size:15px;line-height:30px;min-height:30px}
#tab-chat .chat-footer{min-height:34px;max-height:48px;display:flex;align-items:center;gap:10px;padding:4px 0 0;overflow:hidden}
#tab-chat .chat-footer button{padding:4px 9px;font-size:11px;white-space:nowrap}
#tab-chat .chat-footer .muted{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.light #tab-chat .chat-dedicated{background:#edf4f7;border-color:#b7cfdb}
body.light #tab-chat .chat-header-title h2{color:#184058}
body.light #tab-chat .chat-header-title small{color:#49677b}
body.light #tab-chat .chat-column-head{background:#dceaf3;color:#244e68;border-color:#a7c1d0}
body.light #tab-chat .chat-history-list{background:#fff;border-color:#a7c1d0}
body.light #tab-chat .chat-entry{background:#fff;border-bottom-color:#d7e3e9}
body.light #tab-chat .chat-entry:nth-of-type(even){background:#f1f6fa}
body.light #tab-chat .chat-entry.team{background:#effaf3}
body.light #tab-chat .chat-entry.team:nth-of-type(even){background:#e7f5eb}
body.light #tab-chat .chat-entry-time{color:#45677c}
body.light #tab-chat .chat-entry-message{color:#203e51}
body.light #tab-chat .chat-entry.team .chat-entry-message{color:#175539}
body.light #tab-chat .chat-entry.is-expanded{background:#e3f0fa}
body.light #tab-chat .chat-entry.team.is-expanded{background:#dcefe4}
body.light #tab-chat .chat-entry-details{color:#183e55;border-color:#a9c7d9}
body.light #tab-chat .chat-entry-details code{color:#4a7289}
body.light #tab-chat .chat-advanced-body{background:#f4faff;border-color:#9dbbd0}
body.light #tab-chat .chat-advanced>summary{color:#24526c;background:#deeff8;border-color:#a8c6d8}
body.light #tab-chat .chat-back-latest{color:#24526c;background:#cce5f7}
@media(max-width:890px){
 #tab-chat .chat-header-title small{display:none}
 #tab-chat .chat-toolbar{flex-wrap:wrap}
 #tab-chat .chat-column-head,#tab-chat .chat-entry{grid-template-columns:70px 60px minmax(85px,120px) minmax(0,1fr) 30px;gap:4px}
 #tab-chat .chat-column-head small{display:none}
 #tab-chat .chat-controls{gap:6px}
 #tab-chat .chat-entry-details{padding-left:15px}
}

/* Specificity overrides for legacy compact-card selectors. */
#tab-chat .chat-history-list .chat-entry{grid-template-columns:75px 69px minmax(85px,160px) minmax(0,1fr) 39px;gap:7px;min-height:28px;padding:0 9px}
#tab-chat .chat-history-list .chat-entry-message{min-height:26px;line-height:26px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tab-chat .chat-history-list .chat-entry-name{font-size:12px;line-height:19px}
#tab-chat .chat-history-list .chat-badge{padding:2px 5px;font-size:10px;line-height:14px}
#tab-chat .chat-history-list.chat-size-normal .chat-entry{min-height:38px;padding:4px 9px}
#tab-chat .chat-history-list.chat-size-normal .chat-entry-message{font-size:13px}
#tab-chat .chat-history-list.chat-size-large .chat-entry{min-height:47px;padding:7px 9px}
#tab-chat .chat-history-list.chat-size-large .chat-entry-message{font-size:15px}
@media(max-width:890px){#tab-chat .chat-history-list .chat-entry{grid-template-columns:70px 60px minmax(85px,120px) minmax(0,1fr) 30px;gap:4px}}


/* Player grid v1.26.15: resizable columns / dense table / local preferences. */
#tab-players .player-table{table-layout:fixed;min-width:0!important;max-width:none;width:max-content;border-collapse:separate;border-spacing:0;}
#tab-players .player-table th,#tab-players .player-table td{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:none;}
#tab-players .player-table th{padding:4px 27px 4px 7px;height:30px;position:sticky;top:0;z-index:2;user-select:none;}
#tab-players .player-table td{height:26px;padding:3px 7px;font-size:11px;line-height:18px;}
#tab-players .player-table[data-density="compact"] td{height:24px;padding:2px 6px;font-size:11px;line-height:18px;}
#tab-players .player-table[data-density="normal"] td{height:31px;padding:5px 8px;font-size:12px;}
#tab-players .player-table[data-density="large"] td{height:39px;padding:8px 10px;font-size:13px;}
#tab-players .player-table .name-history-trigger{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;}
#tab-players .player-column-label{display:inline-block;overflow:hidden;text-overflow:ellipsis;max-width:100%;vertical-align:middle;}
#tab-players th .column-grip{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:15px;min-width:15px;min-height:26px;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:grab;}
#tab-players th .column-resize{position:absolute;right:0;top:0;bottom:0;width:10px;z-index:4;touch-action:none;cursor:col-resize;background:transparent;}
#tab-players th .column-resize:hover,#tab-players th .column-resize:focus-visible{background:rgba(75,190,255,.48);outline:0;border-right:2px solid #52caff;}
.resizing-player-column,.resizing-player-column *{cursor:col-resize!important;user-select:none!important;}
.player-density-label{font-size:12px;color:#b8d2e1;display:flex;gap:6px;align-items:center;white-space:nowrap;}
.player-density-label select{padding:5px 6px;font-size:12px;min-width:86px;}
#tab-players>.section-title{height:49px;flex-basis:49px;}
#tab-players>.section-title.compact{height:39px;flex-basis:39px;}
#tab-players .section-title h1{font-size:19px;}
#tab-players .section-title small{font-size:10px;}
#tab-players .toolbar{gap:6px;}
#tab-players .toolbar input{width:220px;height:29px;}
#tab-players .toolbar button{padding:5px 9px;font-size:12px;}
#tab-players .table-shell{scrollbar-gutter:stable;}
@media(max-width:1100px){#tab-players>.section-title{height:auto;flex-basis:auto;min-height:49px;flex-wrap:wrap}#tab-players>.section-title.compact{height:39px;flex-basis:39px}}

/* v1.26.18: locally observed aliases + Steam public alias history */
.name-history-dialog{width:min(790px,100%)}
.name-history-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:12px}
.name-history-tools #nameHistorySteamStatus{flex:1 1 220px}
.name-history-tools a{color:#73caff;text-decoration:underline}
.name-history-list th:nth-child(3),.name-history-list td:nth-child(3){width:130px;white-space:nowrap}
.name-history-list .name-history-section td{background:rgba(102,147,183,.14);font-weight:700;padding:7px 10px;color:var(--text)}
.name-history-list .name-history-source{font-size:11px;color:var(--muted)}

/* Combat history v2: independent list and full-screen detail. */
.combat-list-row{cursor:pointer}.combat-list-row:hover,.combat-list-row:focus{background:rgba(69,151,204,.18);outline:none}
.combat-fullscreen{position:fixed;inset:0;z-index:11000;background:var(--bg,#11191d);color:var(--text);display:flex;flex-direction:column}
.combat-detail-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--panel)}
.combat-detail-head h2,.combat-detail-head p{margin:0}.combat-detail-head div{text-align:center}
.combat-detail-scroll{overflow:auto;padding:18px;display:flex;flex-direction:column;gap:18px}
.combat-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.combat-summary-grid>div{border:1px solid var(--line);background:var(--panel);padding:12px;border-radius:6px}.combat-summary-grid span{display:block;color:var(--muted);font-size:12px}.combat-summary-grid b{display:block;margin-top:5px}
.combat-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:18px;align-items:start}.combat-detail-columns>div:first-child{border:1px solid var(--line);background:var(--panel);padding:15px;border-radius:6px}
.combat-body-map{text-align:center;border:1px solid var(--line);background:var(--panel);padding:12px;border-radius:6px}.combat-body-map svg{height:260px;max-width:100%}.combat-body-part{fill:#33424a;stroke:#81929a;stroke-width:2}.combat-body-hot{fill:#d94c3f;stroke:#ffb0a7}
.combat-hit-table{min-width:1180px}.combat-timeline{list-style:none;padding:0;margin:0;border-left:2px solid #49748d}.combat-timeline li{display:grid;grid-template-columns:105px 1fr;gap:12px;padding:8px 12px;position:relative}.combat-timeline li:before{content:"";position:absolute;left:-6px;top:15px;width:10px;height:10px;border-radius:50%;background:#53bcff}.combat-timeline time{font-family:Consolas,monospace;color:#8fd3ff}.combat-data-note{border-top:1px solid var(--line);padding-top:12px}
@media(max-width:740px){.combat-dialog{width:96vw!important;max-width:96vw!important}.combat-list-table{min-width:680px}.combat-detail-head{position:sticky;top:0;z-index:2;padding:10px;gap:8px}.combat-detail-head h2{font-size:18px}.combat-detail-head p{font-size:11px}.combat-detail-scroll{padding:10px;gap:12px;-webkit-overflow-scrolling:touch}.combat-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.combat-detail-columns{grid-template-columns:1fr}.combat-body-map svg{height:220px}.combat-hit-table{min-width:1050px}.combat-timeline li{grid-template-columns:80px 1fr;font-size:12px}}


/* v1.27.1: explicit team-member multi-select and guarded bulk moderation */
.team-bulk-panel{margin:12px 0;padding:12px;background:#122036;border:1px solid #31455e;border-radius:8px}
.team-bulk-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:9px}
.team-bulk-controls button,.team-bulk-controls select,.team-bulk-controls input{min-height:36px}
.team-bulk-controls button{border-radius:5px}
.team-bulk-controls label,.team-bulk-controls b{color:#f1f7ff;font-size:13px}
.team-bulk-controls input[type=text]{flex:1 1 210px;min-width:120px;max-width:520px;padding:6px 9px;border:1px solid #45617c;color:#e9f4ff;background:#0b1422;border-radius:5px}
.team-bulk-controls select{min-width:128px;border:1px solid #45617c;background:#0b1422;color:#e9f4ff;border-radius:5px}
.team-bulk-controls button.danger{background:#9e2931;color:#fff;font-weight:800;border:1px solid #e56868}
.team-bulk-controls button:disabled{opacity:.5;cursor:not-allowed}
.team-bulk-result{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:#ffd78c;margin:5px 0 0}
.team-table input.team-member-select{width:17px;height:17px;accent-color:#f15f42;cursor:pointer}
.team-table input.team-member-select:disabled{opacity:.25;cursor:not-allowed}
.team-table tr.team-selected-row{background:#1c3644}
.team-bulk-panel p.muted{margin:6px 0}
@media(max-width:650px){
 .team-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding:10px}
 .team-bulk-controls{align-items:stretch}
 .team-bulk-controls button{flex:1 1 auto}
 .team-bulk-controls label{width:100%}
 .team-bulk-controls select{flex:1 1 130px}
 .team-bulk-controls input[type=text]{flex:1 1 100%;max-width:none}
 #teamRunButton{width:100%}
 .team-table-wrap{max-height:49dvh}
}
