:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#e3e9f0;background:#0d1117;font-size:16px;line-height:1.5;color-scheme:dark;--muted:#92a1b3;--line:#283241;--panel:#151c25;--accent:#bcf66d;--danger:#ff8d87}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #3b485b;border-radius:7px;padding:9px 15px;background:#202b39;color:inherit;transition:background .15s}button:hover{background:#2d3b4e}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,select,textarea{border:1px solid #3b485b;border-radius:7px;background:#101720;color:#f4f7fb;padding:10px 12px;min-width:0}input::placeholder,textarea::placeholder{color:#8190a3}label{display:block;font-size:.9rem;margin:18px 0 8px}h1,h2,h3,p{margin-top:0}h1{font-size:1.8rem;letter-spacing:-.03em;line-height:1.4}h2{font-size:1.2rem}h3{font-size:1rem;margin-bottom:4px;overflow-wrap:anywhere}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}.muted,.caption{color:var(--muted)}.caption{font-size:.8rem;line-height:1.7}.mono{font-family:Consolas,monospace;font-size:.85rem;overflow-wrap:anywhere}.error{color:#ffaaa5;font-size:.9rem;white-space:pre-wrap}.eyebrow{font-size:.75rem;font-weight:650;letter-spacing:.12em;color:var(--accent);margin-bottom:10px}.primary{background:var(--accent);color:#142105;border-color:var(--accent);font-weight:700}.primary:hover{background:#ceff8f}.danger{color:#ffaaa5;border-color:#6d3b3f;background:#38252d}.danger:hover{background:#513038}.quiet{background:transparent;border-color:transparent;color:#b3c0d0}.full{width:100%}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 15% 0%,#203123 0,transparent 52%),#0d1117}.login-card{width:min(440px,100%);padding:36px;background:#151c25;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:12px}.login-card h1{margin-bottom:6px}.login-card input{width:100%}.login-card button{width:100%;margin-top:26px}.login-foot{border-top:1px solid var(--line);padding-top:20px;margin-top:26px;font-size:.8rem;color:var(--muted)}
.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#111821}.brand{display:flex;align-items:center;gap:12px}.brand-symbol{display:grid;place-items:center;width:38px;height:38px;background:var(--accent);color:#122207;font-size:1.55rem;font-weight:900;border-radius:6px}.brand b{letter-spacing:.12em;font-size:.85rem}.brand small{display:block;color:var(--muted);font-size:.75rem}.account{display:flex;align-items:center;gap:15px;font-size:.85rem}main{max-width:1720px;margin:auto;padding:30px 32px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.page-title h1{font-size:1.55rem;margin:0;max-width:1100px}.page-title button{flex-shrink:0}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:24px;background:var(--panel)}.metrics article{padding:18px 24px;border-right:1px solid var(--line)}.metrics article:last-child{border:0}.metrics article>span{font-size:.85rem;color:var(--muted)}.metrics strong{font-size:2rem;font-weight:600;line-height:1.6;font-variant-numeric:tabular-nums}.metrics small{margin-left:8px;color:var(--muted);font-size:.8rem}.metrics .map-name{font-size:1.7rem}.metrics .update-metric strong{font-size:1.2rem;line-height:2}.metrics .update-metric>small{margin:0}.notice{font-size:.9rem;color:#e5d597;background:#2a291c;border:1px solid #574e2d;border-radius:7px;padding:12px 16px;margin-bottom:22px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.data-panel,.player-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.toolbar{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.toolbar nav{display:flex;gap:4px}.toolbar input{width:250px;font-size:.85rem}.tab{background:none;border:0;border-radius:5px;color:var(--muted);font-size:.9rem;padding:9px 12px}.tab.active{color:var(--accent);background:#243124}.table-scroll{overflow:auto;max-height:650px;min-height:160px}table{border-collapse:collapse;width:100%;font-size:.85rem}th{text-align:left;background:#19222d;color:#a4b2c3;font-size:.75rem;font-weight:500;padding:12px 14px;white-space:nowrap;position:sticky;top:0;z-index:1}td{border-top:1px solid #242e3c;padding:13px 14px;vertical-align:middle}tr:hover td{background:#1a2532}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.name-button{display:block;text-align:left;border:0;padding:0;background:transparent;color:#e9eef5;font-size:.9rem;max-width:230px;overflow-wrap:anywhere}.name-button:hover{background:none;color:var(--accent)}.victim{color:#8596a9;font-size:.8rem;margin-top:3px}.time-cell{white-space:nowrap;color:#aebccb;font-variant-numeric:tabular-nums;font-size:.8rem}.weapon{font-weight:550;min-width:110px}.weapon small{display:block;color:var(--muted);font-size:.7rem;font-weight:400;overflow-wrap:anywhere;max-width:230px}.badge{display:inline-block;font-size:.75rem;border-radius:4px;background:#253327;color:#bee195;padding:3px 7px;white-space:nowrap}.badge.warn{background:#472e2e;color:#ffafa0}.badge.dim{background:#27303c;color:#a6b4c5}.ban-note{display:block;color:var(--muted);font-size:.75rem;margin-top:4px}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:12px 16px;font-size:.8rem;color:var(--muted);border-top:1px solid var(--line)}.table-footer button{font-size:.8rem;padding:6px 10px}.table-empty{text-align:center;padding:56px 16px;color:var(--muted)}.player-panel{padding:22px;position:sticky;top:20px}.player-panel .eyebrow{font-size:.65rem}.lookup{display:flex;gap:6px}.lookup input{width:100%;font-size:.8rem;padding:9px}.lookup button{font-size:.8rem;padding:8px 10px;flex-shrink:0}.empty-detail{text-align:center;color:var(--muted);padding:45px 0}.crosshair{display:block;font-size:2.5rem;color:#64758c;font-weight:200;margin-bottom:12px}.player-heading{display:flex;gap:12px;align-items:center;margin-top:26px;margin-bottom:12px}.avatar{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;border-radius:8px;color:var(--accent);background:#263525;font-weight:600}.player-heading a{font-size:.75rem}.ban-summary{padding:11px;border-radius:6px;background:#202b26;color:#cce7b2;font-size:.85rem;margin:20px 0 8px}.ban-summary.warn{background:#3d2b2e;color:#ffc0af}.facts{margin:0 0 12px}.facts div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #26303e;font-size:.85rem}.facts dt{color:var(--muted)}.facts dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}.moderation-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.moderation-controls .full{grid-column:1/-1;font-size:.8rem}.moderation-controls button{font-size:.9rem;padding:9px 10px}footer{color:#7f90a5;font-size:.75rem;padding:22px 0}
dialog{width:min(480px,calc(100% - 32px));border:1px solid #495367;border-radius:12px;background:#18212c;color:#e3e9f0;padding:26px;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#050b14cc;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading h2{margin:0}.dialog-heading button{font-size:1.5rem;padding:0 8px}.target{margin:20px 0;color:#bfd899;overflow-wrap:anywhere}dialog select,dialog textarea,dialog input{width:100%}dialog input{margin-top:10px}#toast{position:fixed;bottom:22px;right:24px;max-width:min(520px,calc(100% - 48px));background:#24332b;color:#e0f2d0;border:1px solid #516847;border-radius:9px;box-shadow:0 12px 36px #0008;padding:18px;z-index:10;font-size:.9rem;white-space:pre-wrap}
@media(min-width:1500px){.table-scroll{max-height:740px}.player-panel{padding:26px}.workspace{grid-template-columns:minmax(0,1fr) 340px}}
@media(max-width:1100px){main{padding:24px 20px}.topbar{padding:0 20px}.workspace{grid-template-columns:minmax(0,1fr)}.player-panel{position:static;max-width:none}.facts{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.moderation-controls{max-width:480px}.empty-detail{padding:15px}.toolbar input{flex:1;max-width:320px}.metrics article{padding:16px}.page-title h1{font-size:1.3rem}}
@media(max-width:600px){main{padding:20px 12px}.topbar{padding:0 14px;height:68px}.account{gap:3px}.account span{display:none}.metrics{grid-template-columns:1fr 1fr}.metrics article:nth-child(2){border-right:0}.metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.metrics strong{font-size:1.8rem}.page-title{align-items:flex-start;gap:10px}.page-title h1{font-size:1.1rem}.page-title button{font-size:.8rem;padding:8px 10px}.eyebrow{font-size:.65rem}.toolbar{padding:12px}.toolbar input{width:100%;max-width:none;flex-basis:100%}.tab{padding:8px 10px}.workspace{gap:16px}.facts{grid-template-columns:1fr}td,th{padding:11px 10px}.login-card{padding:26px}.table-footer{align-items:flex-start;flex-wrap:wrap}}
/* Server controls share the existing dashboard typography and palette. */
.control-nav{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}.control-nav .active{border-color:#d6ad66;color:#efcf95;background:#342d21}.control-panel{padding:24px;border:1px solid #303843;border-radius:12px;background:#141a22}.control-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px}.control-heading h2{margin:0 0 8px}.control-heading p{max-width:850px;margin:0;line-height:1.7}.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.control-card{padding:20px;background:#10161d;border:1px solid #303843;border-radius:8px;min-width:0}.control-card h3{margin:0 0 12px}.control-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.control-field input,.control-field select,.control-field textarea{width:100%;box-sizing:border-box}.config-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}.check-label{display:flex;align-items:center;gap:8px;margin-top:10px}.check-label input{width:auto}.control-buttons{display:flex;gap:10px;flex-wrap:wrap}.control-output{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;max-height:380px;overflow:auto;background:#0b1016;padding:14px;border-radius:6px}.control-details{margin-top:22px}.control-details summary,details summary{cursor:pointer;padding:8px 0}.reserve-row{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #303843}.rotation-row{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #303843}.rotation-row>span{flex:1;min-width:0;overflow-wrap:anywhere}.permission-list{display:flex;gap:8px;flex-wrap:wrap}.change-preview{padding-left:20px;line-height:1.8}#controlDialog{max-width:640px}#controlPreview{max-height:350px;overflow:auto}button:disabled{opacity:.45;cursor:not-allowed}[hidden]{display:none!important}@media(max-width:760px){.control-panel{padding:16px}.control-grid,.config-fields{grid-template-columns:1fr}.control-heading{flex-direction:column}.control-nav button{flex:1;white-space:nowrap}.rotation-row{flex-wrap:wrap}.rotation-row>span{flex-basis:70%}.control-card{padding:16px}}
/* Reserved identities and source terms stay readable on narrow screens. */
.reserve-entry{padding:18px 0;border-bottom:1px solid var(--line);min-width:0}.reserve-person{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;overflow-wrap:anywhere}.reserve-person .mono{font-size:.85rem}.reserve-name{font-size:1rem;overflow-wrap:anywhere;word-break:break-word}.reserve-source{margin:12px 0}.reserve-source>b{display:inline-block;margin-right:8px;font-size:.85rem}.reserve-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 8px}.reserve-actions button{max-width:100%;white-space:normal}.reserve-sources{overflow-wrap:anywhere}@media(max-width:760px){.reserve-actions{flex-direction:column}.reserve-actions button{width:100%}}

.kill-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:16px;border-bottom:1px solid var(--line)}
.kill-filter select{flex:1;min-width:180px;max-width:100%;padding:9px}.kill-context{padding:10px 16px}.kill-context small,.kill-footer small{display:block;margin-top:5px;color:var(--muted)}.kill-context p:empty{display:none}.kill-context p{color:#e7a368}.raw-cause{display:block;font:11px monospace;overflow-wrap:anywhere;max-width:260px;color:var(--muted)}.kill-arrow{color:var(--muted)}.kill-footer{gap:10px;flex-wrap:wrap}.kill-footer>div:last-child{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:600px){.kill-filter select{flex-basis:100%;width:100%}.kill-context strong{overflow-wrap:anywhere}.kill-footer>div{max-width:100%}}
#killsBody .name-button{display:inline;margin-top:0}#killsBody .kill-arrow{display:inline}
@media(max-width:600px){
  #killsView .table-scroll{overflow-x:hidden;max-height:720px;padding:0 12px 12px}
  #killsView table,#killsView tbody{display:block;width:100%}
  #killsView thead{display:none}
  #killsBody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"time time" "players players" "weapon weapon" "distance tags" "steam steam";gap:8px 12px;padding:14px;margin-top:12px;border:1px solid var(--line);border-radius:8px;background:#101720}
  #killsBody td{display:block;border:0;padding:0;min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
  #killsBody tr:hover td{background:transparent}
  #killsBody td:nth-child(1){grid-area:time}#killsBody td:nth-child(2){grid-area:players}#killsBody td:nth-child(3){grid-area:weapon}#killsBody td:nth-child(4){grid-area:distance}#killsBody td:nth-child(5){grid-area:steam}#killsBody td:nth-child(6){grid-area:tags}
  #killsBody td:nth-child(3)::before{content:"武器 / 原因"}#killsBody td:nth-child(4)::before{content:"击杀距离"}#killsBody td:nth-child(5)::before{content:"击杀者 Steam 封禁"}#killsBody td:nth-child(6)::before{content:"标记"}
  #killsBody td::before{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-bottom:4px}
  #killsBody .name-button{max-width:100%}#killsBody .raw-cause{max-width:none;font-size:10px}#killsBody .badge{white-space:normal}
  #killsBody td.table-empty{grid-column:1/-1;grid-area:auto}
}

@media(max-width:600px){
 #playersView .table-scroll{overflow-x:hidden;padding:0 12px 12px}
 #playersView table,#playersView tbody{display:block;width:100%}#playersView thead{display:none}
 #playersBody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;padding:14px;margin-top:12px;border:1px solid var(--line);border-radius:8px}
 #playersBody td{display:block;border:0;padding:0;min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
 #playersBody td:nth-child(1),#playersBody td:nth-child(4),#playersBody td:nth-child(5),#playersBody .table-empty{grid-column:1/-1}
 #playersBody td:nth-child(2)::before{content:"阵营"}#playersBody td:nth-child(3)::before{content:"击杀 / 死亡"}#playersBody td:nth-child(4)::before{content:"Steam 封禁"}#playersBody td:nth-child(5)::before{content:"距最近一次封禁"}
 #playersBody td::before{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}#playersBody .badge{white-space:normal}
}

#openRegister{width:100%;margin-top:12px}#registerForm small{display:block;margin:6px 0 12px;line-height:1.5}#registerForm h2{margin:0 0 8px}#registerForm>button{width:100%;margin-top:10px}.account-entry{padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.account-entry strong,.account-entry small{display:block;margin-bottom:7px}.account-pagination{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.account-audit{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:260px;overflow:auto}#permissionDialog{width:min(540px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto}#permissionDialog .control-field{margin-top:14px}@media(max-width:600px){.login-screen{padding:20px 12px}.login-card{max-width:100%}.account-entry .control-buttons{flex-wrap:wrap}}

.badge.penetration{background:#4a3016;color:#ffd18a;border:1px solid #ad7635;font-weight:700}

.case-layout{display:grid;grid-template-columns:minmax(220px,28%) minmax(0,1fr);gap:24px}.case-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}.case-filter label{display:grid;gap:7px}.case-row{display:grid;text-align:left;width:100%;gap:8px;margin-bottom:8px;white-space:normal}.case-row.active{border-color:var(--accent,#cdb17c)}.case-row small,.case-entry small,.case-health-grid small{display:block;color:#9eaaa9}.case-entry{border:1px solid #354342;border-radius:8px;padding:14px;margin:12px 0;overflow-wrap:anywhere}.case-text{white-space:pre-wrap;overflow-wrap:anywhere}.case-form{margin-top:20px;border-top:1px solid #354342;padding-top:16px}.case-form textarea{width:100%}.case-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:16px}.case-health{padding:12px;background:#182524}.case-detail{min-width:0}.case-entry .mono{font-size:11px}.case-form input[type=checkbox],.case-entry input[type=checkbox]{width:auto}.case-filter input{max-width:100%}@media(max-width:760px){.case-layout{grid-template-columns:1fr}.case-health-grid{grid-template-columns:1fr 1fr}.case-filter label{width:100%}.case-filter select{width:100%}.case-detail h2{font-size:21px}}

.case-health{overflow-wrap:anywhere}.case-health-grid>article{min-width:0}@media(max-width:760px){.case-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.review-policy{border-left:4px solid #bc9a56;background:#282719;padding:16px;margin-bottom:18px;overflow-wrap:anywhere}.review-policy p{margin:8px 0}.review-policy small{color:#bec8b7}.review-status{display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--muted);font-size:.85rem}.review-counts{display:flex;gap:32px;border-block:1px solid var(--line);padding:16px 0;margin:16px 0}.review-counts>div{display:flex;gap:16px;align-items:baseline}.review-counts span{font-size:.9rem;color:var(--muted)}.review-counts strong{font-size:1.5rem}.review-layout{display:grid;grid-template-columns:minmax(250px,36%) minmax(0,1fr);gap:26px}.review-row{display:block;width:100%;text-align:left;margin:10px 0;padding:14px;overflow-wrap:anywhere}.review-row>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.review-row p{font-size:.85rem;margin:10px 0}.review-row small{color:var(--muted)}.review-row.priority{border-left:4px solid #efb96b}.review-row.active{background:#2a3542}.review-detail{overflow-wrap:anywhere}.review-facts{margin:12px 0}.review-facts>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line);padding:9px 0}.review-facts dt{color:var(--muted)}.review-facts dd{margin:0}.case-manual{font-size:.85rem;color:var(--muted)}.case-manual button{margin-top:8px}@media(max-width:760px){.review-layout{grid-template-columns:1fr}.review-counts{flex-wrap:wrap;gap:12px}.review-counts>div{width:100%;justify-content:space-between}.review-facts>div{grid-template-columns:90px minmax(0,1fr)}}

.review-brief{padding:18px 0;line-height:1.7}.review-brief h3{font-size:15px;margin:24px 0 8px;color:var(--accent)}.review-brief p{margin:6px 0 12px}.brief-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.brief-stats{display:flex;gap:16px;flex-wrap:wrap;background:#1a222c;padding:12px 14px;border-radius:6px}.brief-stats b{font-size:21px;color:var(--text)}.brief-status>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:7px 0}.brief-status dt{color:var(--muted)}.brief-status dd{margin:0}.review-evidence-choice{margin:20px 0}.evidence-choice{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid var(--line)}.evidence-choice input{width:auto;flex:0 0 auto}.case-technical,.case-more{border-top:1px solid var(--line);margin-top:20px;padding:14px 0;color:var(--muted)}.case-technical[open]{color:var(--text)}.case-more .control-buttons{margin-top:14px}.kill-search{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:16px}.kill-search label{display:grid;gap:7px;font-size:12px;color:var(--muted)}.kill-search label:first-child{flex:1;min-width:190px}.kill-search input,.kill-search select{width:100%}.kill-coverage{margin:10px 0;line-height:1.65}.nav-more{position:relative;align-self:center;margin:0 8px}.nav-more summary{cursor:pointer;padding:10px;color:var(--muted)}.nav-more[open]{background:var(--panel);border:1px solid var(--line);border-radius:6px}.nav-more button{display:block;margin:4px}.control-nav{align-items:center}.control-nav>button{flex:0 0 auto}@media(max-width:600px){.kill-search{padding:12px}.kill-search label:first-child{flex-basis:100%}.kill-search label{flex:1;min-width:100px}.kill-search button{flex:1}.brief-status>div{grid-template-columns:85px minmax(0,1fr)}.review-brief{padding:12px 0}.case-technical summary{line-height:1.6}.nav-more{margin:0}}
.kill-search label{min-width:0}.kill-search input,.kill-search select{box-sizing:border-box}.kill-search button{white-space:nowrap;min-height:44px}
@media(max-width:600px){.kill-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.kill-search label:first-child{grid-column:1/-1}.kill-search label{min-width:0}.kill-search button{width:100%;min-width:0}}
.longrange-panel{border:1px solid var(--line);border-left:3px solid #efb96b;padding:20px;margin:20px 0 28px;border-radius:8px;overflow-wrap:anywhere}.longrange-rule,.longrange-candidate{border-top:1px solid var(--line);padding:16px 0;margin-top:16px}.longrange-evidence{background:#1a222c;padding:12px;margin:8px 0;border-radius:6px}.longrange-evidence p{margin:6px 0}.longrange-panel h2{margin-bottom:8px}.longrange-panel h4{margin:18px 0 8px}@media(max-width:600px){.longrange-panel{padding:14px}.longrange-panel .brief-status>div{grid-template-columns:85px minmax(0,1fr)}}
.multisignal-panel{padding:18px 0;margin:22px 0;border-block:1px solid var(--line)}.risk-record{padding:18px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.risk-record h4{margin:20px 0 8px;color:var(--accent)}.risk-blocks{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.risk-blocks>section{background:#171f29;padding:14px;min-width:0;border-radius:6px}@media(max-width:760px){.risk-blocks{grid-template-columns:1fr}.risk-record .control-buttons button{width:100%}}
/* Task flow: a compact server header, readable queues and a distinct evidence pair. */
.task-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;align-items:center}.task-tabs .active{border-color:#d6ad66;color:#efcf95;background:#342d21}.task-tabs button{min-height:40px}.task-tabs details{margin:0}.task-tabs summary{font-size:14px}.control-nav>button{flex:1}.page-title{margin-bottom:12px}.page-title h1{font-size:22px}.metrics{display:flex;flex-wrap:wrap;border:0;background:none;margin-bottom:16px;gap:20px}.metrics article{padding:0;border:0;background:none;display:flex;align-items:baseline;gap:10px}.metrics strong,.metrics .map-name{font-size:16px}.metrics article:nth-child(3){display:none}.metrics .update-metric{margin-left:auto}.metrics .update-metric>small{display:none}.metrics article>span{font-size:13px}.control-panel{padding:22px}.control-heading{margin-bottom:14px}.control-heading h2{margin:0;font-size:22px}.review-monitor{display:flex;align-items:center;justify-content:space-between;padding:10px 0;margin-bottom:12px;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line)}.review-layout,.case-layout{grid-template-columns:minmax(250px,340px) minmax(0,1fr);gap:28px}.review-row,.case-row{padding:15px 16px;margin-bottom:8px;text-align:left;min-width:0;border-radius:6px;background:#171f2b}.review-row div,.case-row div{display:flex;justify-content:space-between;gap:8px;align-items:start}.review-row strong,.case-row strong{font-size:17px;color:#edf1f7}.review-row small,.case-row small{display:block;margin-top:6px;font-size:12px;overflow-wrap:anywhere}.review-row p{margin:9px 0 0;font-size:14px}.review-row .badge,.case-row .badge{font-size:11px;font-weight:400}.concise-record{padding:0;border:0;background:none;margin:0 0 16px;min-width:0}.concise-record h2,.concise-record h3{font-size:21px;margin:8px 0}.player-id{font-size:12px;color:var(--muted);margin:6px 0 12px;overflow-wrap:anywhere}.reason-line{font-size:18px;line-height:1.55;margin:14px 0;color:#e9edf3}.key-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.key-evidence article{padding:14px 16px;border-left:3px solid #d6ad66;background:#1c2633;min-width:0}.key-evidence b{display:flex;justify-content:space-between;gap:6px;font-size:15px;font-weight:500;overflow-wrap:anywhere}.key-evidence b span{font-weight:700;color:#efd29c}.key-evidence small{display:block;margin-top:8px;font-size:12px;color:#aab8cb;overflow-wrap:anywhere}.reliability{font-size:13px;color:var(--muted);line-height:1.6}.reliability b{font-weight:500;color:#d8b884}.account-context{font-size:14px;margin:8px 0}.next-step{font-size:14px;color:#cbd3df;margin:12px 0}.case-technical{margin-top:18px;border-top:1px solid var(--line);padding-top:6px}.case-technical summary{color:var(--muted);font-size:13px}.case-technical .concise-record{margin-top:12px}.back-button{margin-bottom:14px;font-size:13px}.execution-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.execution-heading h2{font-size:21px;margin:0}.execution-heading .reason-line{margin:8px 0;font-size:17px}.longrange-panel{padding:0;margin:0;border:0;background:none}.longrange-candidate{padding:18px 0;border-bottom:1px solid var(--line)}.ban-reason{font-size:13px;color:var(--muted)}.case-detail>h2{font-size:21px}.case-detail>h2 .badge{font-size:12px}.case-detail>.caption{font-size:12px}.case-effects{margin-top:18px}.case-effects h3,.review-evidence-choice h3{font-size:16px}.case-effects>.caption{display:none}.case-filter{gap:10px;margin-bottom:18px}.case-filter label{min-width:0}.multisignal-panel{border:0;padding:0;margin:0}.case-more{margin:12px 0}.queue-list h3{margin:0 0 12px;font-size:14px;color:var(--muted)}
@media(max-width:760px){.control-heading{flex-direction:row;align-items:center;gap:10px}.control-panel{padding:16px}.control-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.control-nav>button{font-size:13px;padding:10px 5px;white-space:normal}.task-tabs{gap:6px}.task-tabs button{font-size:13px;padding:9px 10px}.review-layout,.case-layout{display:block}.review-layout.has-detail>.queue-list,.case-layout.has-detail>aside{display:none}.review-layout:not(.has-detail)>#reviewDetail{display:none}.case-layout:not(.has-detail)>#caseContent>.empty-detail{display:none}.metrics{gap:10px}.metrics article:nth-child(2){display:none}.metrics .update-metric{margin-left:0}.metrics .update-metric>span{display:none}.page-title h1{font-size:18px}.page-title button{padding:7px 9px}.key-evidence{gap:8px}.key-evidence article{padding:12px 10px}.key-evidence b{flex-direction:column;font-size:14px}.reason-line{font-size:17px}.review-monitor{gap:10px;font-size:12px}.review-monitor button{font-size:12px;max-width:130px;padding:7px}.case-filter{display:grid;grid-template-columns:1fr 1fr}.case-filter label:has(input){grid-column:1/-1}.case-filter button{min-height:40px}.execution-heading{flex-direction:column}.control-buttons button{min-height:42px}.concise-record .control-buttons{gap:8px}.concise-record .control-buttons button{flex:1;font-size:13px}.case-detail .control-buttons{gap:8px}.case-detail .control-buttons button{font-size:13px;padding:10px}.account-pagination{gap:8px}.account-pagination button{font-size:12px;padding:8px}.review-row,.case-row{width:100%}.review-row div,.case-row div{flex-wrap:wrap}.topbar{height:56px}.brand small{display:none}.brand-symbol{width:30px;height:30px}.brand b{font-size:14px}main{padding-top:16px}}
@media(max-width:760px){#reviewPanel:has(.has-detail)>.case-filter,#reviewPanel:has(.has-detail)>.review-monitor,#reviewPanel:has(.has-detail)>.task-tabs,#casesPanel:has(.has-detail)>.case-filter,#casesPanel:has(.has-detail)>.task-tabs{display:none}.case-detail .key-evidence small{font-size:11px}.case-layout.has-detail .case-health{display:none}.metrics{margin-bottom:8px}.case-filter label{margin:0;gap:6px}.control-nav{margin-top:12px;margin-bottom:14px}}
.task-filter{margin:0 0 14px}.task-filter>summary{font-size:13px;color:var(--muted);padding:8px 0}.task-filter .case-filter{margin:8px 0 12px}.case-layout:has(.case-form){display:block}
@media(max-width:760px){#reviewPanel:has(.has-detail)>.task-filter,#casesPanel:has(.has-detail)>.task-filter{display:none}.review-monitor{padding:6px 0;margin-bottom:6px}.review-row{padding:13px}.control-heading{margin-bottom:10px}.case-technical{overflow-wrap:anywhere}.control-panel>.case-health{background:none;border:0;padding:0}.case-detail>.review-brief .case-technical,.case-detail>.risk-record .case-technical{margin-bottom:12px}.review-evidence-choice .caption{display:none}}
#reviewPanel:has(.has-detail)>.task-filter,#reviewPanel:has(.has-detail)>.review-monitor,#casesPanel:has(.has-detail)>.task-filter{display:none}
@media(min-width:761px){.review-layout.has-detail{grid-template-columns:250px minmax(0,1fr)}.review-layout.has-detail .review-row{padding:10px 12px}.review-layout.has-detail .review-row strong{font-size:15px}.review-layout.has-detail .review-row p{display:none}.review-layout.has-detail .review-row small{font-size:11px}.case-layout.has-detail{grid-template-columns:250px minmax(0,1fr)}.case-layout.has-detail .case-row{padding:10px 12px}.case-layout.has-detail .case-row strong{font-size:15px}}
@media(min-width:761px){.review-layout>.queue-list,.case-layout>aside{max-height:calc(100vh - 350px);min-height:260px;overflow:auto;scrollbar-gutter:stable;padding-right:8px}.review-layout.has-detail>.queue-list,.case-layout.has-detail>aside{max-height:calc(100vh - 310px)}.case-layout.has-detail>.case-content{min-width:0}}
.page-title>div{min-width:0;flex:1}.page-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.moderation-controls #playerOnlineStatus{margin:0 0 4px;line-height:1.5}.moderation-controls #playerWhisperButton,.moderation-controls #playerChangeTeamButton{border-color:#647747;background:#263524;color:#d9efc0}#playerQuickDialog textarea{width:100%}#playerQuickDialog .caption{margin:10px 0 0}#playerQuickDialog #playerQuickSubmit{margin-top:18px;width:100%}

/* Account grants use the existing desktop palette and clear permission groups. */
.permission-editor{width:min(1040px,94vw);max-width:1040px;max-height:90vh;overflow:auto}.permission-editor fieldset{border:1px solid var(--line);border-radius:8px;margin:18px 0;padding:14px 18px}.permission-editor legend{padding:0 8px;font-weight:650}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px}.permission-option{display:flex;align-items:start;gap:10px;margin:0;line-height:1.5}.permission-option input{margin:4px 0;flex-shrink:0}.permission-option small{display:block;color:var(--muted);font-size:.75rem}.permission-option.unavailable{color:var(--muted)}.permission-editor :disabled{cursor:not-allowed}.permission-access{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.permission-editor select,.permission-editor input:not([type=checkbox]){width:100%}.ban-grants>div{display:flex;flex-wrap:wrap;gap:10px 24px}.ban-grants label{margin:4px 0}.account-identity{display:flex;align-items:center;gap:15px;margin-bottom:8px}.account-identity>strong{font-size:1.05rem}.account-identity>span:not(.badge){color:var(--muted)}.permission-footer{position:sticky;bottom:-24px;background:var(--panel);padding:16px 0;border-top:1px solid var(--line)}

#permissionDialog.permission-editor{width:min(1040px,94vw);max-width:1040px}#permissionDialog.permission-editor input[type=checkbox]{width:auto;min-width:0;flex:0 0 auto}#permissionDialog .permission-option>span{min-width:0;flex:1}

/* Factions keep their native names, with a readable team label and a secondary color cue. */
.faction-label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:inherit}.faction-label i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:currentColor}.faction-blue{color:#4cb1ef}.faction-red{color:#ff8d80}.faction-red i{background:#fa503e}.faction-green{color:#1dd65c}.moderation-controls #playerKillButton{font-size:.85rem}.player-action-effect{margin:20px 0 0;padding:12px 14px;border-left:3px solid var(--danger);background:#32232b;color:#f4d4cf;font-size:.9rem;line-height:1.6}.player-command-help{margin:0 0 14px;color:var(--muted);font-size:.85rem;line-height:1.6}.player-command-preview{margin:16px 0}.player-command-preview dt{color:var(--muted);font-size:.8rem}.player-command-preview dd{margin:4px 0 12px;overflow-wrap:anywhere}.player-command-preview .mono{font-size:.85rem}

.player-shortcuts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:16px 0}.player-shortcuts button,.player-shortcuts a{padding:7px 9px;font-size:.78rem;white-space:nowrap}.player-shortcuts a{margin-left:auto;color:var(--muted);text-decoration:none}.player-shortcuts a:hover{color:var(--text)}
