:root{
  --bg:#0e0e10;
  --panel:#17171a;
  --panel-2:#1c1c1f;
  --border:rgba(255,255,255,.07);
  --text:#f3f3f4;
  --muted:#8e8e96;
  --accent:#3b82f6;
  --accent-soft:rgba(59,130,246,.16);
  --green:#22c55e;
  --red:#ef4444;
  --warn:#fbbf24;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
}
a{color:inherit;text-decoration:none}
.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;overflow:hidden}
.sidebar{
  border-right:1px solid var(--border);background:#121214;padding:14px 12px 12px;
  display:flex;flex-direction:column;min-height:0;height:100vh;height:100dvh
}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:12px;padding:0 6px;flex:none}
.brand__logo{
  width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:#1f1f23;border:1px solid var(--border);font-weight:800;color:#fff;font-size:13px
}
.brand__title{font-weight:800;letter-spacing:.01em}
.brand__sub{color:var(--muted);font-size:12px}
.side-search{display:block;margin:0 4px 10px;flex:none}
.side-search input{
  width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);
  background:#0e0e10;color:var(--text);font-size:13px
}
.side-search input::placeholder{color:#6f6f78}
.side-scroll{flex:1;min-height:0;overflow:auto;padding-bottom:8px;scrollbar-width:thin}
.side-scroll::-webkit-scrollbar{width:6px}
.side-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px}
.nav__group{font-size:11px;color:#6f6f78;margin:14px 8px 6px;letter-spacing:.08em;text-transform:uppercase}
.nav__group:first-child{margin-top:4px}
.nav__group[hidden],.nav__item[hidden]{display:none !important}
.nav__item{display:block;padding:9px 12px;border-radius:10px;color:var(--muted);font-size:14px}
.nav__item:hover{background:rgba(255,255,255,.04);color:#fff}
.nav__item.is-active{background:var(--accent-soft);color:#fff}
.main{min-width:0;display:flex;flex-direction:column;background:var(--bg);min-height:0;height:100vh;height:100dvh;overflow:auto}
.topbar{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:16px 22px 8px;border-bottom:0
}
.topbar .brand__title{font-size:22px;font-weight:700;min-width:0;flex:1}
.nav-toggle,.nav-scrim,.filters-toggle,.sheet-close,.chat-send,.pl-srv-m,.sheet-scrim{display:none}
.nav-toggle__close{display:none}
.content{padding:8px 22px 40px}
.card{
  background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px 18px;
  box-shadow:none
}
.card__title{font-weight:800;margin-bottom:8px}
.hint{color:var(--muted);font-size:13px}
.row,.topbar__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
input,textarea,select{
  width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);
  background:#121214;color:var(--text)
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:8px 12px;border-radius:10px;border:1px solid var(--border);
  background:rgba(255,255,255,.05);color:var(--text);cursor:pointer;font-size:14px
}
.btn--green{background:#16a34a;border-color:#16a34a;color:#fff}
.btn--purple{background:rgba(59,130,246,.28);border-color:rgba(59,130,246,.55);color:#fff}
.btn--red{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.5);color:#fecaca}
.btn--steam{background:#171a21;border-color:#4f92b8;color:#c7d5e0}
.btn--steam:hover{color:#fff}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{width:min(420px,100%);display:flex;flex-direction:column;gap:10px}
.login-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}
.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:var(--border)}
.err{color:#fecaca;font-size:13px}
.ok{color:#bbf7d0;font-size:13px}
.login-link{color:var(--muted);font-size:13px;text-align:center}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}
th{color:var(--muted);font-weight:600;font-size:12px}
.who{display:flex;align-items:center;gap:8px}
.who img,.avatar{
  width:28px;height:28px;border-radius:999px;background:#222;object-fit:cover
}
.dot{width:8px;height:8px;border-radius:50%;background:#666;display:inline-block}
.dot.on{background:#22c55e}
.badge{padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:700}
.badge.on{background:#16a34a}
.badge.off{background:#dc2626}
.hot{color:var(--warn);font-weight:700}
.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}
.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.statb{padding:12px;border:1px solid var(--border);border-radius:12px}
.statb span{display:block;color:var(--muted);font-size:12px}
.statb b{display:block;font-size:22px;margin-top:4px}
.sv-card{border:1px solid var(--border);border-radius:14px;padding:14px}
.sv-card.is-on{border-color:rgba(34,197,94,.45)}
.sv-card.is-off{border-color:rgba(239,68,68,.35)}
.chat-layout{display:grid;grid-template-columns:1fr;gap:12px;align-items:stretch}
.chat-layout.is-set{grid-template-columns:minmax(0,1fr) 300px}
.chat-main.card{min-width:0}
.chat-toolbar{margin-bottom:10px;display:flex;align-items:center;gap:8px}
.chat-set-btn{
  margin-left:auto;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);
  background:rgba(255,255,255,.06);color:var(--text);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;flex:none
}
.chat-set-btn:hover,.chat-set-btn.is-on{background:rgba(59,130,246,.22);border-color:rgba(59,130,246,.45);color:#fff}
.chat-side{
  background:var(--panel);border:1px solid var(--border);border-radius:14px;
  padding:16px 16px 18px;min-height:0
}
.chat-side[hidden]{display:none !important}
.chat-side__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.chat-side__head h3{margin:0;font-size:16px;font-weight:800}
.chat-side__head .chat-ls__x{background:rgba(255,255,255,.1);color:var(--text);margin:0}
.chat-side__sec{
  margin:14px 0 4px;font-size:11px;color:#8b90a7;letter-spacing:.08em;text-transform:uppercase;font-weight:700
}
.chat-sw{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:11px 0;font-size:14px;cursor:pointer;position:relative;
  border-bottom:1px solid rgba(255,255,255,.06)
}
.chat-sw span{color:#e9eaf1}
.chat-sw input{position:absolute;opacity:0;width:0;height:0}
.chat-sw i{
  width:42px;height:24px;border-radius:999px;background:#2a2e45;position:relative;flex:none
}
.chat-sw i:after{
  content:"";position:absolute;width:18px;height:18px;border-radius:50%;
  background:#fff;top:3px;left:3px;transition:left .15s
}
.chat-sw input:checked + i{background:var(--accent)}
.chat-sw input:checked + i:after{left:21px}
.chat-side__ann{width:100%;margin-top:16px}
.chat-side__hint{margin:12px 0 0}
.chat-compose{margin-top:10px;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:#121214}
.chat-ls{
  display:flex;align-items:center;gap:8px;padding:8px 12px;
  background:#166534;color:#ecfdf5;font-size:13px;font-weight:700
}
.chat-ls[hidden]{display:none !important}
.chat-ls span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-ls svg{flex:none}
.chat-ls__x{
  margin-left:auto;width:22px;height:22px;border:0;border-radius:999px;cursor:pointer;
  background:rgba(255,255,255,.18);color:#fff;line-height:1;font-size:14px;flex:none
}
.chat-filter .chat-ls__x{background:rgba(255,255,255,.1);color:var(--text)}
.chat-input{display:flex;gap:10px;margin:0;align-items:center;padding:8px 12px}
.chat-input input{flex:1;border:0;background:transparent;padding:8px 0}
.chat-input .avatar{width:28px;height:28px;flex:none}
.tag-pm{background:rgba(59,130,246,.25);color:#bfdbfe}
.tag-team{background:#22c55e;color:#052e16;font-weight:800}
.chat-line.is-team .nm{color:#4ade80}
.chat-line.is-team .chat-text{color:#bbf7d0}
.chat-line.is-pm .nm{color:#93c5fd}
.chat-line{
  display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;
  margin:0;padding:3px 6px;border-radius:6px;position:relative
}
.chat-line__top{display:contents}
.chat-line:hover{background:rgba(255,255,255,.04)}
.chat-line .nm{color:#fff;cursor:pointer;font-weight:600}
.chat-line .nm-admin{color:#93c5fd;cursor:default}
.chat-line .chat-text{color:#d4d4d8}
.chat-line__acts{display:none;gap:4px;margin-left:auto;flex:none}
.chat-line:hover .chat-line__acts{display:flex}
.chat-ico{
  width:26px;height:26px;border:0;border-radius:6px;cursor:pointer;
  background:rgba(255,255,255,.08);color:var(--text);
  display:inline-flex;align-items:center;justify-content:center
}
.chat-ico:hover{background:rgba(59,130,246,.28)}
.chat-ico.mute{color:#fecaca}
.chat-nick-menu{
  position:fixed;z-index:80;min-width:210px;
  background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:6px;
  box-shadow:0 12px 40px rgba(0,0,0,.5)
}
#pcNickMenu{z-index:120}
.chat-nick-menu button{
  display:block;width:100%;text-align:left;padding:8px 12px;border:0;
  background:transparent;color:var(--text);border-radius:8px;cursor:pointer;font-size:13px
}
.chat-nick-menu button:hover{background:rgba(59,130,246,.16)}
.chat-nick-menu .danger{color:#fecaca}
@media (max-width:960px){.chat-layout,.chat-layout.is-set{grid-template-columns:1fr}}
.chat-log{
  height:min(64vh,680px);overflow:auto;background:#121214;border-radius:12px;
  padding:10px 12px;font-size:13px;line-height:1.55
}
.chat-line time{color:var(--muted);flex:none}
.tag{display:inline-block;padding:2px 7px;border-radius:6px;background:#2a2a30;color:#d4d4d8;margin-right:6px;font-size:11px;font-weight:600}
.draw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.draw-card{
  background:var(--panel);border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer
}
.draw-card .draw-prev{
  height:168px;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle, rgba(255,255,255,.09) 1px, transparent 1.4px) 0 0 / 12px 12px,
    #1a1a1d
}
.draw-card .draw-prev img{max-width:100%;max-height:168px;object-fit:contain;display:block}
.draw-card .draw-foot{padding:10px 12px 12px}
.draw-kv{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-top:4px}
.draw-kv span{color:var(--muted)}
.draw-kv b{font-weight:600;color:#e7e7ea;text-align:right;word-break:break-all}
.draw-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}
.draw-who{display:flex;align-items:center;gap:8px;min-width:0}
.draw-who .nm{font-weight:700;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.draw-who .avatar,.draw-who img{width:32px;height:32px}
.draw-del{padding:6px 9px;line-height:1;flex:none}
.draw-card .draw-prev .hint{color:var(--muted)}
.overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:30;padding:16px;
  opacity:0;transition:opacity .14s ease;will-change:opacity
}
.overlay.is-in{opacity:1}
.overlay[hidden]{display:none !important;opacity:0}
.who{cursor:pointer}
.who .nm{color:#fff;font-weight:600}
a.ip-link{font-family:ui-monospace,Consolas,monospace;font-size:13px;color:#60a5fa;font-weight:600}
a.ip-link:hover{color:#93c5fd}
.pc-nav-cur{display:none}
.pc-overlay{
  align-items:flex-start;justify-content:center;padding:16px 12px 28px;z-index:110;overflow:auto;
  background:rgba(7,8,16,.72)
}
.pc-shell{
  width:min(960px,100%);display:grid;grid-template-columns:196px 1fr;max-height:calc(100vh - 44px);
  background:var(--panel);border:1px solid var(--border);border-radius:12px;
  box-shadow:0 22px 64px rgba(0,0,0,.62);overflow:hidden;
  transform:scale(.55);opacity:0;
  transition:transform .18s cubic-bezier(.2,.9,.2,1),opacity .14s ease;
  will-change:transform,opacity;transform-origin:center center
}
.pc-overlay.is-in .pc-shell{transform:scale(1);opacity:1}
.pc-side{
  background:#121214;padding:10px 8px 10px;border-right:1px solid var(--border);
  display:flex;flex-direction:column;gap:0;border-radius:12px 0 0 12px;position:relative;z-index:8;
  min-height:0;max-height:calc(100vh - 44px)
}
.pc-id{padding:2px 4px 8px;flex:none}
.pc-search{padding:0 4px 8px;flex:none}
.pc-search input{
  width:100%;padding:7px 9px;border-radius:8px;border:1px solid var(--border);
  background:#0e0e10;color:var(--text);font-size:12px
}
.pc-search input::placeholder{color:#6f6f78}
.pc-nav{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:1px;padding-bottom:4px;scrollbar-width:thin}
.pc-nav::-webkit-scrollbar{width:5px}
.pc-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px}
.pc-tab[hidden]{display:none !important}
.pc-ava{width:48px;height:48px;border-radius:10px;object-fit:cover;background:#222;display:block}
span.pc-ava{display:inline-flex;align-items:center;justify-content:center;font-size:18px;color:#93c5fd}
.pc-name{font-size:15px;font-weight:800;margin-top:8px;line-height:1.2;word-break:break-word}
.pc-live{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:12px;font-weight:700}
.pc-live.is-on{color:#4ade80}
.pc-live.is-away{color:#fbbf24}
.pc-live.is-off{color:#94a3b8}
.pc-ib{display:flex;gap:6px;margin-top:10px;position:relative}
.pc-ib-more{position:relative;flex:none}
.pc-ibtn{
  width:32px;height:32px;border-radius:8px;border:1px solid var(--border);
  background:var(--panel-2);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none
}
.pc-ibtn:hover,.pc-ibtn.is-on{border-color:rgba(59,130,246,.55);background:rgba(59,130,246,.18)}
.pc-ibtn.is-on{border-color:#fff}
.pc-ibtn svg{width:16px;height:16px}
.pc-tab{
  display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:6px 8px;border:0;
  background:transparent;color:#9aa0b8;border-radius:8px;cursor:pointer;font-size:12.5px
}
.pc-tab svg{width:15px;height:15px;flex:none;opacity:.85}
.pc-tab.is-on{background:rgba(255,255,255,.08);color:#fff}
.pc-tab .pc-n{
  margin-left:auto;min-width:16px;height:16px;padding:0 4px;border-radius:999px;
  background:rgba(255,255,255,.1);font-size:10px;font-weight:800;color:#e9eaf1;
  display:inline-flex;align-items:center;justify-content:center
}
.pc-main{padding:12px 14px 16px;min-width:0;max-height:calc(100vh - 44px);overflow:auto;background:var(--panel);border-radius:0 12px 12px 0}
.pc-head{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.pc-chips{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.pc-chip{
  display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:8px;
  background:var(--panel-2);border:1px solid var(--border);font-size:11px;font-weight:700
}
.pc-chip svg{width:13px;height:13px;flex:none}
.pc-chip.is-solo{color:#fde68a;background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.28)}
.pc-chip.is-clan{color:#fda4af;background:rgba(244,63,94,.14);border-color:rgba(244,63,94,.32)}
.pc-chip.is-geo{color:#7dd3fc;background:rgba(56,189,248,.12);border-color:rgba(56,189,248,.28)}
.pc-chip.is-ok{color:#86efac;background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.28)}
.pc-chip.is-mid{color:#fde68a;background:rgba(251,191,36,.14);border-color:rgba(251,191,36,.32)}
.pc-chip.is-bad{color:#fecaca;background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.32)}
.pc-chip.is-ping.is-ok{color:#7dd3fc;background:rgba(56,189,248,.14);border-color:rgba(56,189,248,.34)}
.pc-chip.is-vac{color:#fecaca;background:rgba(239,68,68,.16);border-color:rgba(239,68,68,.35)}
.pc-chip.is-risk-hot{color:#fecaca;background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.4)}
.pc-chip.is-risk-warn{color:#fde68a;background:rgba(251,191,36,.16);border-color:rgba(251,191,36,.35)}
.pc-chip.is-ban{color:#fecaca;background:rgba(239,68,68,.2)}
.pc-chip.is-mute{color:#93c5fd;background:rgba(59,130,246,.16)}
.pc-chip.is-base{color:#93c5fd;background:rgba(59,130,246,.14);border-color:rgba(59,130,246,.3)}
.pc-chip.is-prem{
  color:#1a1408;background:linear-gradient(135deg,#f5d78e,#e0a84a);border-color:transparent;
  font-weight:800;letter-spacing:.02em
}
.pc-actions{margin-left:auto;position:relative;display:flex;gap:6px;align-items:flex-start}
.pc-close{
  width:30px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.08);
  background:var(--panel-2);color:var(--text);cursor:pointer;font-size:18px;line-height:1
}
.pc-close--m{display:none}
.chat-who{display:inline-flex;align-items:center;gap:6px;cursor:pointer;vertical-align:middle}
.chat-who .avatar{width:18px;height:18px}
tbody tr[data-player]{cursor:pointer}
tbody tr[data-player]:hover{background:rgba(255,255,255,.03)}
.pc-menu{
  position:fixed;min-width:220px;background:var(--panel-2);border:1px solid var(--border);
  border-radius:10px;padding:4px;z-index:70;box-shadow:0 16px 48px rgba(0,0,0,.55)
}
.pc-menu button,.pc-menu a{
  display:block;width:100%;text-align:left;padding:7px 9px;border:0;background:transparent;
  color:var(--text);border-radius:7px;cursor:pointer;font-size:12.5px
}
.pc-menu button:hover,.pc-menu a:hover{background:rgba(59,130,246,.16)}
.pc-menu .danger{color:#fecaca}
.pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pc-stack{display:flex;flex-direction:column;gap:8px}
.pc-box{
  background:var(--panel-2);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:10px 12px
}
.pc-box h3{margin:0 0 8px;font-size:13px;color:#fff;font-weight:800}
.pc-box .pc-sub{margin:-4px 0 8px;color:var(--muted);font-size:11px}
.pc-box-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.pc-box-head h3{margin:0}
.pc-box-head .pc-sub{margin:0;color:#8b90a7;font-size:11px;font-weight:600}
.pc-box-head .btn{flex:none;padding:5px 8px;font-size:11px}
.pc-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 12px}
.pc-metric span{display:block;color:#8b90a7;font-size:11px;margin-bottom:2px}
.pc-metric b{display:block;font-size:14px;font-weight:800;color:#fff;word-break:break-word}
.pc-metric b.is-ok{color:#4ade80}
.pc-metric b.is-no{color:#94a3b8;font-weight:700}
.pc-metric b.is-bad{color:#f87171}
.pc-metric b.is-warn{color:#fbbf24}
.pc-metric b.is-acc{color:#93c5fd}
.pc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.pc-stat{
  background:#121214;border-radius:8px;padding:8px 10px;border:1px solid rgba(59,130,246,.12)
}
.pc-stat span{display:block;color:#8b90a7;font-size:11px}
.pc-stat b{display:block;font-size:18px;margin-top:2px;font-weight:800;color:#fff}
.pc-stat.is-kd{border-color:rgba(96,165,250,.28);background:rgba(59,130,246,.1)}
.pc-stat.is-kd b{color:#93c5fd}
.pc-stat.is-kills{border-color:rgba(74,222,128,.22);background:rgba(34,197,94,.08)}
.pc-stat.is-kills b{color:#86efac}
.pc-stat.is-hs{border-color:rgba(251,191,36,.28);background:rgba(251,191,36,.08)}
.pc-stat.is-hs b{color:#fde68a}
.pc-stat.is-deaths{border-color:rgba(248,113,113,.28);background:rgba(239,68,68,.08)}
.pc-stat.is-deaths b{color:#fca5a5}
.pc-mates{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pc-mate{
  display:flex;align-items:center;gap:8px;width:100%;text-align:left;
  padding:6px 8px;border-radius:8px;cursor:pointer;
  background:#121214;border:1px solid rgba(255,255,255,.06);color:inherit
}
.pc-mate:hover{border-color:rgba(59,130,246,.45);background:rgba(59,130,246,.12)}
.pc-mate-ava{position:relative;flex:none;width:34px;height:34px}
.pc-mate-ava .avatar,.pc-mate-ava img{
  width:34px;height:34px;border-radius:999px;display:block;object-fit:cover;background:var(--panel-2)
}
.pc-mate-ava .dot{
  position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;
  border:2px solid #121214
}
.pc-mate-meta{min-width:0;display:flex;flex-direction:column;gap:1px}
.pc-mate .nm{font-weight:800;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-mate .seen{font-size:11px;color:#8b90a7}
.pc-mate .seen.is-ok{color:#4ade80;font-weight:700}
.pc-more{
  margin-top:8px;border:0;background:transparent;color:#93c5fd;
  font-size:12px;font-weight:700;cursor:pointer;padding:0
}
.pc-more:hover{color:#fff}
.pc-tlist{display:flex;flex-direction:column;gap:2px;padding:4px 0}
.pc-trow{display:flex;align-items:center;gap:4px;border-radius:12px}
.pc-trow:hover{background:rgba(255,255,255,.04)}
.pc-trow-main{
  display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-align:left;
  padding:10px 8px;border:0;border-radius:12px;background:transparent;color:inherit;cursor:pointer
}
.pc-trow-main .pc-mate-ava{width:42px;height:42px}
.pc-trow-main .pc-mate-ava .avatar,.pc-trow-main .pc-mate-ava img{
  width:42px;height:42px;border-radius:999px
}
.pc-trow-main .nm{font-size:14px;font-weight:700;color:#fff}
.pc-trow-main .seen{font-size:12px;color:#8b90a7}
.pc-trow-main .seen.is-ok{color:#4ade80;font-weight:700}
.pc-trow-more{
  flex:none;margin-right:4px;border:0;background:transparent;color:#6b6e7a;
  padding:8px;border-radius:8px;cursor:pointer
}
.pc-trow-more:hover{color:#fff;background:rgba(255,255,255,.06)}
.pc-trow-more svg{width:18px;height:18px;display:block}
.pc-thist{position:relative;padding:4px 0 8px 4px}
.pc-thist:before{
  content:'';position:absolute;left:5px;top:10px;bottom:18px;width:2px;background:#2a2a32
}
.pc-thist-item{position:relative;padding:0 0 22px 22px}
.pc-thist-item:last-child{padding-bottom:0}
.pc-thist-dot{
  position:absolute;left:1px;top:6px;width:10px;height:10px;border-radius:99px;
  border:2px solid #4ade80;background:transparent;box-sizing:border-box
}
.pc-thist-dot.is-on{background:#4ade80}
.pc-thist-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.pc-thist-when{font-size:13px;color:#c8cad4;font-weight:600}
.pc-thist-srv{
  color:#3b82f6;font-weight:800;font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;white-space:nowrap
}
.pc-thist-inv{margin-top:4px;font-size:12px;color:#8b8f9c}
.pc-thist-inv b{color:#93c5fd;font-weight:700}
.pc-thist-mates{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pc-tchip{
  display:flex;align-items:center;gap:8px;padding:5px 8px 5px 5px;border:0;
  border-radius:10px;background:#1a1a1e;color:inherit;cursor:pointer
}
.pc-tchip:hover{background:#222228}
.pc-tchip-ava{width:28px;height:28px}
.pc-tchip-ava .avatar,.pc-tchip-ava img{width:28px;height:28px;border-radius:999px}
.pc-tchip-ava .dot{width:8px;height:8px;border-width:2px}
.pc-tchip-nm{font-size:13px;font-weight:700;color:#fff;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-tmark{
  flex:none;width:18px;height:18px;border-radius:5px;display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;line-height:1
}
.pc-tmark.is-in{background:#22c55e;color:#052e16}
.pc-tmark.is-out{background:#f97316;color:#1a0a00}
.pc-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.pc-field span{display:block;color:#8b90a7;font-size:11px;margin-bottom:2px}
.pc-field b,.pc-field .pc-val{
  display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#fff;word-break:break-word
}
.pc-field b.is-ok,.pc-val.is-ok{color:#4ade80}
.pc-field b.is-bad{color:#f87171}
.pc-inv{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.pc-inv span{
  font-size:11px;line-height:1.3;padding:4px 8px;border-radius:999px;
  background:rgba(255,255,255,.06);color:#c8cad4;max-width:100%;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.pc-ext-bans a{color:#93c5fd}
.pc-copy{
  width:22px;height:22px;border:0;border-radius:6px;background:rgba(255,255,255,.08);color:#93c5fd;
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none
}
.pc-copy:hover{background:rgba(59,130,246,.28)}
.pc-copy svg{width:12px;height:12px}
.pc-ext{opacity:.7;display:inline-flex;align-items:center}
.pc-ext svg{width:12px;height:12px}
.pc-kv{display:flex;justify-content:space-between;gap:10px;margin:3px 0;font-size:12.5px}
.pc-kv b{font-weight:700}
.pc-stats-bar{display:flex;align-items:center;gap:12px;margin:0 0 14px;flex-wrap:wrap}
.pc-stats-bar .pc-subnav{margin:0;padding:0;border:0;flex:1}
.pc-subnav--seg{gap:6px}
.pc-subnav--seg button{
  padding:6px 12px;border-radius:8px;background:#1a1a1e;color:#8b8f9c;font-size:13px
}
.pc-subnav--seg button.is-on{background:#2a2a32;color:#fff}
.pc-stats-bar select{
  margin-left:auto;background:#1a1a1e;border:1px solid rgba(255,255,255,.1);color:#e8e8ee;
  border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700
}
.pc-st-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.pc-st-card{
  background:#16161a;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:12px 14px
}
.pc-st-card span{display:block;color:#8b8f9c;font-size:11px;font-weight:700;margin-bottom:6px}
.pc-st-card b{display:block;font-size:22px;font-weight:800;color:#fff}
.pc-st-donuts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.pc-st-donut{
  background:#16161a;border:1px solid rgba(255,255,255,.06);border-radius:10px;
  padding:12px;display:flex;align-items:center;gap:12px
}
.pc-donut{width:72px;height:72px;flex:none}
.pc-st-donut ul{list-style:none;margin:0;padding:0;font-size:12px;color:#c4c4cc}
.pc-st-donut li{display:flex;align-items:center;gap:8px;margin:4px 0}
.pc-st-donut li b{margin-left:auto;color:#fff}
.pc-st-donut i{width:8px;height:8px;border-radius:99px;flex:none;background:#6b7280}
.pc-st-donut i.is-k{background:#eab308}
.pc-st-donut i.is-d{background:#6b7280}
.pc-st-donut i.is-l{background:#64748b}
.pc-st-note{
  background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.28);
  color:#fde68a;font-size:12px;padding:8px 10px;border-radius:8px;margin:0 0 12px
}
.pc-st-hours{
  background:#16161a;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:12px 14px
}
.pc-st-hours h4{margin:0 0 10px;font-size:13px;color:#fff}
.pc-bars{display:flex;gap:8px;min-height:160px}
.pc-bars__y{
  display:flex;flex-direction:column;justify-content:space-between;
  color:#6d6d78;font-size:11px;width:22px;text-align:right;padding:0 0 18px
}
.pc-bars__plot{flex:1;display:flex;align-items:stretch;gap:6px;border-bottom:1px solid rgba(255,255,255,.08);padding:0 0 18px;position:relative}
.pc-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;min-width:0}
.pc-bar i{
  display:block;width:70%;max-width:28px;background:#38bdf8;border-radius:3px 3px 0 0;min-height:0
}
.pc-bar span{
  position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);
  color:#8b8f9c;font-size:10px;white-space:nowrap
}
.pc-ktbl-wrap{overflow:auto}
.pc-ktbl{width:100%;border-collapse:collapse;font-size:13px}
.pc-ktbl th{
  text-align:left;color:#8b8f9c;font-size:11px;font-weight:700;padding:8px 8px 10px;
  border-bottom:1px solid rgba(255,255,255,.08)
}
.pc-ktbl td{padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:top;color:#e4e4e7}
.pc-kdate b{display:block;font-weight:700}
.pc-kdate span{display:block;color:#8b8f9c;font-size:11px;margin-top:2px}
.pc-plink{
  border:0;background:none;padding:0;color:#60a5fa;font-weight:700;cursor:pointer;font-size:13px
}
.pc-plink:hover{color:#93c5fd;text-decoration:underline}
.pc-kweap b{display:block;font-weight:700}
.pc-kweap span{display:block;color:#8b8f9c;font-size:12px;margin-top:2px}
.pc-kweap em{color:#fbbf24;font-style:normal;font-weight:700}
.pc-klog{width:44px;text-align:right}
.pc-clog-btn{
  width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.1);
  background:#1a1a1e;color:#c4c4cc;cursor:pointer;display:inline-flex;align-items:center;justify-content:center
}
.pc-clog-btn svg{width:15px;height:15px}
.pc-clog-btn:hover,.pc-clog-btn.is-on{border-color:rgba(59,130,246,.5);background:rgba(59,130,246,.16);color:#fff}
.pc-clog td{background:#121214;padding:8px 12px 12px}
.pc-clog__row{display:flex;gap:16px;align-items:center;padding:4px 0;font-size:13px;color:#c4c4cc}
.pc-clog__row b{color:#fff;min-width:140px}
@media (max-width:720px){
  .pc-st-top,.pc-st-donuts{grid-template-columns:1fr}
}
.pc-subnav{
  display:flex;gap:16px;align-items:center;margin:0 0 14px;padding:0 2px 10px;
  border-bottom:1px solid rgba(255,255,255,.07)
}
.pc-subnav button{
  border:0;background:transparent;color:#8b8f9c;font-size:13px;font-weight:700;
  padding:4px 0;cursor:pointer
}
.pc-subnav button.is-on{color:#fff}
.pc-sess{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
  border-radius:10px;padding:12px 14px;margin:0 0 8px
}
.pc-sess__head{
  display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:700;color:#e8e8ee
}
.pc-sess__head svg{width:15px;height:15px;flex:none;opacity:.8}
.pc-sess__row{font-size:13px;color:#b4b6c0;margin:3px 0;line-height:1.45}
.pc-sess__row b{color:#fff;font-weight:700}
.pc-badge{
  margin-left:auto;font-size:11px;font-weight:800;padding:2px 8px;border-radius:6px;letter-spacing:.02em
}
.pc-badge.is-in{background:#166534;color:#bbf7d0}
.pc-badge.is-out{background:#9f1239;color:#fecdd3}
.pc-sess-split{
  display:flex;align-items:center;gap:10px;margin:14px 0 10px;
  color:#6d6d78;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase
}
.pc-sess-split:before,.pc-sess-split:after{content:'';flex:1;height:1px;background:rgba(255,255,255,.08)}
.pc-pane[hidden]{display:none !important}
.pc-list{margin:0;padding:0;list-style:none}
.pc-list li{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:12.5px}
.pc-kills .pc-kill{padding:8px 0}
.pc-hits{margin:4px 0 0;padding:0;list-style:none}
.pc-hits li{padding:2px 0;border:0;color:#8b90a7;font-size:11px;line-height:1.35}
.pc-msgs .pc-msg{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;cursor:context-menu}
.pc-msgs .pc-msg:hover{background:rgba(255,255,255,.04);border-radius:8px;margin:0 -6px;padding-left:6px;padding-right:6px}
.pc-msgs .pc-msg-nick{color:#93c5fd;font-weight:700}
.pc-msgs .pc-msg.is-pm .pc-msg-nick{color:#93c5fd}
.pc-msgs .pc-msg-text{color:#c8cad4;flex:1;min-width:40%}
.pc-msgs time{color:var(--muted);font-size:11px;flex:none}
@media (max-width:860px){
  html.pc-open,html.pc-open body{overflow:hidden !important;overscroll-behavior:none;height:var(--app-h,100dvh)}
  .pc-overlay,.pc-overlay.is-in{
    position:fixed !important;
    top:var(--app-top,0px) !important;left:0 !important;right:0 !important;bottom:auto !important;
    width:100% !important;height:var(--app-h,100dvh) !important;max-width:none;max-height:var(--app-h,100dvh);
    padding:0 !important;margin:0 !important;
    display:flex !important;flex-direction:column;
    align-items:stretch;justify-content:stretch;
    overflow:hidden !important;transform:none !important;will-change:auto
  }
  .pc-shell,.pc-overlay.is-in .pc-shell{
    display:flex;flex-direction:column;
    flex:1 1 0%;width:100%;max-width:100%;min-width:0;min-height:0;
    height:100%;max-height:100%;border-radius:0;overflow:hidden;
    grid-template-columns:none;grid-template-rows:none;
    transform:none !important;opacity:1;will-change:auto;box-shadow:none;transition:none !important
  }
  .pc-side,.pc-main,.pc-id,.pc-nav,.pc-chips,.pc-stack,.pc-box,.pc-pane,.pc-field,.pc-val{
    min-width:0;max-width:100%
  }
  .pc-side{
    flex:0 0 auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.06);
    max-height:none;border-radius:0;overflow:hidden;
    padding:8px 10px 6px;
    background:#121214
  }
  .pc-id{
    display:grid;grid-template-columns:36px minmax(0,1fr) auto;
    grid-template-rows:auto auto;column-gap:8px;row-gap:0;align-items:center;
    padding:0 0 6px
  }
  .pc-id .pc-ava{grid-row:1 / 3;width:36px;height:36px;margin:0}
  .pc-name{grid-column:2;margin:0;font-size:16px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pc-live{grid-column:2;margin:0;font-size:12px}
  .pc-ib{grid-column:3;grid-row:1 / 3;margin:0;align-items:center;gap:4px}
  .pc-ibtn--desk{display:none}
  .pc-close--m{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:22px}
  .pc-id .pc-menu{grid-column:1 / -1}
  .pc-search{display:none}
  .pc-nav{
    flex:none !important;flex-direction:row;flex-wrap:nowrap !important;
    overflow-x:auto;overflow-y:hidden;max-height:none;width:100%;gap:4px;padding:0 0 2px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none
  }
  .pc-nav::-webkit-scrollbar{display:none}
  .pc-tab{
    width:auto;flex:none;white-space:nowrap;padding:8px 10px;
    font-size:13px;font-weight:700
  }
  .pc-tab > span:not(.pc-n){display:inline}
  .pc-tab svg{display:none}
  .pc-tab .pc-n{margin-left:4px}
  .pc-nav-cur{display:none}
  .pc-main{
    flex:1 1 0%;min-height:0;min-width:0;max-height:none;
    overflow-x:hidden;overflow-y:auto;border-radius:0;
    padding:10px 12px max(16px,env(safe-area-inset-bottom));
    -webkit-overflow-scrolling:touch
  }
  .pc-head{margin:0 0 10px;padding:0;align-items:center;min-width:0}
  .pc-head .pc-actions{display:none}
  .pc-chips{flex-wrap:wrap;overflow:visible;gap:6px;padding:0;min-width:0}
  .pc-chip{flex:none;font-size:12px;padding:5px 8px}
  .pc-metrics,.pc-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pc-fields,.pc-grid,.pc-mates,.pc-st-top,.pc-st-donuts{grid-template-columns:minmax(0,1fr)}
  .pc-box,.pc-field b,.pc-field .pc-val,.pc-metric b,.pc-stat b,.mono{
    overflow-wrap:anywhere;word-break:break-word
  }
  .pc-stat b{font-size:20px}
  .pc-metric b{font-size:15px}
  .pc-field span{font-size:12px}
  .pc-menu{
    left:0 !important;right:0 !important;top:auto !important;bottom:0 !important;
    width:100%;min-width:0;max-width:100%;max-height:70dvh;overflow:auto;
    border-radius:16px 16px 0 0;
    padding:8px 8px max(14px,env(safe-area-inset-bottom))
  }
  .pc-ktbl-wrap{overflow:visible;margin:0}
  .pc-ktbl,.pc-ktbl thead,.pc-ktbl tbody{display:block;width:100%}
  .pc-ktbl thead{display:none}
  .pc-ktbl tbody tr{
    display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:2px 8px;
    padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)
  }
  .pc-ktbl td{display:block;padding:0;border:0;min-width:0}
  .pc-ktbl td:nth-child(1),.pc-ktbl td:nth-child(2),.pc-ktbl td:nth-child(3),.pc-ktbl td:nth-child(4){grid-column:1}
  .pc-klog{grid-column:2;grid-row:1 / 5;align-self:center;width:auto;text-align:right}
  .pc-clog{display:block}
  .pc-clog td{grid-column:1 / -1}
  .pc-stats-bar{flex-direction:column;align-items:stretch;gap:8px}
  .pc-stats-bar select{margin-left:0;width:100%;font-size:16px}
  .pc-subnav--seg{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}
  .pc-msgs .pc-msg{flex-direction:column;align-items:flex-start;gap:2px;max-width:100%}
  .pc-msgs .pc-msg-text{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .pc-bars{min-height:120px}
  .draw-grid{grid-template-columns:1fr}
}
.mod-overlay{z-index:120;background:rgba(7,8,16,.72)}
.mod-card{
  width:min(440px,100%);background:var(--panel);border:1px solid rgba(255,255,255,.1);
  border-radius:14px;padding:16px 16px 12px;box-shadow:0 24px 70px rgba(0,0,0,.55);
  transform:translateY(12px) scale(.98);opacity:0;
  transition:transform .15s cubic-bezier(.2,.8,.2,1),opacity .15s ease;will-change:transform,opacity;
  max-height:min(92vh,720px);overflow:auto
}
.mod-overlay.is-in .mod-card{transform:none;opacity:1}
.mod-step{animation:modIn .22s ease}
@keyframes modIn{
  from{opacity:0;transform:translateX(22px)}
  to{opacity:1;transform:none}
}
.mod-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.mod-card h3{margin:0;font-size:18px}
.mod-who{color:var(--muted);font-size:13px;margin:4px 0 0}
.mod-ava{
  width:40px;height:40px;border-radius:999px;object-fit:cover;background:var(--panel-2);flex:none;
  display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#93c5fd
}
.mod-lead{margin:0 0 12px;color:#c4c7d8;font-size:14px}
.mod-label{display:block;color:#8b90a7;font-size:12px;margin:12px 0 6px}
.mod-picks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.mod-pick{
  display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;
  background:#121214;border:1px solid rgba(255,255,255,.08);border-radius:999px;font-size:12px
}
.mod-pick .avatar{width:22px;height:22px}
.mod-pick button{
  border:0;background:transparent;color:#8b90a7;cursor:pointer;font-size:16px;line-height:1;padding:0 2px
}
.mod-search{position:relative}
.mod-hints{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:6;
  background:var(--panel-2);border:1px solid rgba(255,255,255,.1);border-radius:12px;
  max-height:220px;overflow:auto;box-shadow:0 12px 30px rgba(0,0,0,.4)
}
.mod-hint{
  display:flex;align-items:center;gap:8px;width:100%;text-align:left;
  padding:8px 10px;border:0;background:transparent;color:inherit;cursor:pointer
}
.mod-hint:hover{background:rgba(59,130,246,.16)}
.mod-combo{position:relative}
.mod-combo input{padding-right:42px}
.mod-combo-btn{
  position:absolute;right:4px;top:50%;transform:translateY(-50%);
  width:32px;height:32px;border:0;border-radius:8px;background:transparent;
  color:#8b90a7;cursor:pointer
}
.mod-combo-list{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:6;
  background:var(--panel-2);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden
}
.mod-combo-list button{
  display:block;width:100%;text-align:left;padding:9px 12px;border:0;
  background:transparent;color:inherit;cursor:pointer
}
.mod-combo-list button:hover{background:rgba(59,130,246,.16)}
.mod-switch{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:10px 0;font-size:14px;cursor:pointer;position:relative
}
.mod-switch input{position:absolute;opacity:0;width:0;height:0}
.mod-switch i{
  width:42px;height:24px;border-radius:999px;background:#2a2e45;position:relative;flex:none
}
.mod-switch i:after{
  content:"";position:absolute;width:18px;height:18px;border-radius:50%;
  background:#fff;top:3px;left:3px;transition:left .15s
}
.mod-switch input:checked + i{background:var(--accent)}
.mod-switch input:checked + i:after{left:21px}
.mod-dur{display:grid;grid-template-columns:1fr 120px;gap:8px;margin:8px 0 4px}
.mod-sum{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.mod-sum-row{display:flex;align-items:center;gap:10px}
.mod-kv{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:13px;border-bottom:1px solid rgba(255,255,255,.06)}
.mod-kv b{font-weight:700}
.mod-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}
.mod-dots{display:flex;gap:6px;align-items:center}
.mod-dots i{width:7px;height:7px;border-radius:999px;background:#3a3e57;display:block}
.mod-dots i.is-on{width:18px;background:#fff}
.mod-actions{display:flex;gap:8px;justify-content:flex-end}
.mod-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.mod-chip{
  border:1px solid rgba(255,255,255,.1);background:var(--panel-2);color:var(--text);
  border-radius:999px;padding:5px 10px;font-size:12px;cursor:pointer
}
.mod-chip.is-on{background:rgba(59,130,246,.28);border-color:rgba(59,130,246,.55)}
.mod-card label.mod-check{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:13px;color:var(--text)}
.mod-card label.mod-check input{width:auto}
.mod-drop{
  border:1px dashed rgba(255,255,255,.16);border-radius:12px;padding:12px;
  background:#121214;text-align:center;cursor:pointer
}
.mod-drop.is-over{border-color:#3b82f6;background:rgba(59,130,246,.12)}
.mod-drop p{margin:0;font-size:13px;color:#c4c7d8}
.mod-drop .hint{margin-top:6px}
.mod-shots{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mod-shot{position:relative;width:72px;height:72px;border-radius:10px;overflow:hidden;background:#0e0e10}
.mod-shot img{width:100%;height:100%;object-fit:cover;display:block}
.mod-shot button{
  position:absolute;top:2px;right:2px;width:20px;height:20px;border:0;border-radius:999px;
  background:rgba(0,0,0,.7);color:#fff;cursor:pointer;line-height:1
}
#modComment{resize:vertical;min-height:84px}
.ban-ev{margin-top:6px}
.ban-ev-note{margin:4px 0 0;color:#c4c7d8;font-size:12px;white-space:pre-wrap}
.ban-ev-shots{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.ban-ev-shot{
  width:56px;height:56px;padding:0;border:0;border-radius:8px;overflow:hidden;
  background:#121214;cursor:pointer
}
.ban-ev-shot img{width:100%;height:100%;object-fit:cover;display:block}
.ban-shot-ov{z-index:80;background:rgba(0,0,0,.82);padding:20px}
.ban-shot-ov img{max-width:min(96vw,1200px);max-height:90vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.ban-acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.pc-ban-item .pc-ban-edit{margin-left:8px;padding:3px 8px;font-size:11px;vertical-align:middle}
.token{word-break:break-all;background:rgba(0,0,0,.3);padding:8px 10px;border-radius:8px}
.pair-code{
  font-size:40px;letter-spacing:.22em;font-weight:800;text-align:center;
  font-family:ui-monospace,Consolas,monospace;padding:16px 8px
}
.pair-cmd{
  background:rgba(0,0,0,.32);padding:10px 12px;border-radius:10px;margin:8px 0;
  font-family:ui-monospace,Consolas,monospace;user-select:all;word-break:break-all;
  cursor:pointer;border:1px solid transparent
}
.pair-cmd:hover{border-color:rgba(59,130,246,.45)}
.pair-more{margin-top:12px;font-size:13px;color:var(--muted)}
.pair-more summary{cursor:pointer;user-select:none}
.pair-more .pair-code{font-size:18px;letter-spacing:.12em;padding:8px 0}
.sheet-close{
  width:32px;height:32px;border:0;border-radius:999px;cursor:pointer;
  background:rgba(255,255,255,.1);color:#fff;line-height:1;font-size:18px;flex:none
}

/* --- page layout (players / chat / reports) --- */
.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}
.page-layout.is-narrow{grid-template-columns:1fr}
.page-main.card{min-width:0;overflow:auto}
.page-side{
  background:var(--panel);border:1px solid var(--border);border-radius:14px;
  padding:16px 16px 18px;position:sticky;top:12px
}
.page-side__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.page-side__head h3{margin:0;font-size:16px;font-weight:800}
.page-side__sec{
  margin:14px 0 6px;font-size:11px;color:#8b90a7;letter-spacing:.08em;text-transform:uppercase;font-weight:700
}
.page-sw{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:11px 0;font-size:14px;cursor:pointer;position:relative;
  border-bottom:1px solid rgba(255,255,255,.06)
}
.page-sw span{color:#e9eaf1;line-height:1.3}
.page-sw input{position:absolute;opacity:0;width:0;height:0}
.page-sw i{
  width:42px;height:24px;border-radius:999px;background:#2a2e45;position:relative;flex:none
}
.page-sw i:after{
  content:"";position:absolute;width:18px;height:18px;border-radius:50%;
  background:#fff;top:3px;left:3px;transition:left .15s
}
.page-sw input:checked + i{background:var(--accent)}
.page-sw input:checked + i:after{left:21px}
.page-side select{margin:4px 0 8px}
.page-side__info{
  margin:10px 0 0;padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.45;
  background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.22);color:#bfdbfe
}
.page-side textarea{
  margin-top:8px;min-height:72px;font-size:12px;resize:vertical
}
.page-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.page-toolbar .grow{flex:1;min-width:140px}
.page-toolbar input[type="search"],.page-toolbar input#q{max-width:280px;margin-left:auto}
.pl-search{position:relative;margin-left:auto;min-width:180px;max-width:320px;flex:1 1 180px}
.pl-search input{width:100%;max-width:none;margin-left:0}
.pl-suggest{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;
  background:var(--panel-2,#17181d);border:1px solid rgba(255,255,255,.1);border-radius:12px;
  max-height:280px;overflow:auto;box-shadow:0 12px 30px rgba(0,0,0,.45)
}
.pl-suggest__item{
  display:flex;align-items:center;gap:8px;width:100%;text-align:left;
  padding:8px 10px;border:0;background:transparent;color:inherit;cursor:pointer
}
.pl-suggest__item:hover,.pl-suggest__item.is-on{background:rgba(59,130,246,.16)}
.pl-suggest__meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.pl-suggest__meta b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-suggest__item .who-status{margin:0;flex:none}
.tbl-air th,.tbl-air td{padding:12px 12px}
.tbl-air th{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#7a7a84;font-weight:600}
.tbl-air td{border-bottom:1px solid rgba(255,255,255,.05)}
#plTable.tbl-air th,#plTable.tbl-air td{padding:6px 10px}
#plTable .pl-who{gap:8px}
#plTable .pl-who > div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
#plTable .pl-who .nm{font-size:13px}
#plTable .pl-who img{width:22px;height:22px}
#plTable .who-status{margin-top:0;font-size:11px;gap:5px}
#plTable .who-status .dot{width:6px;height:6px}
#plTable .pl-srv{
  max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  color:#c4c7d8;font-size:12px
}
.tbl-air tr.is-risk-hot td{background:rgba(239,68,68,.07)}
.tbl-air tr.is-risk-warn td{background:rgba(251,191,36,.05)}
.risk-tag{
  display:inline-block;margin-left:6px;font-size:10px;font-weight:800;letter-spacing:.03em;
  text-transform:uppercase;padding:1px 6px;border-radius:999px;vertical-align:middle;line-height:1.5
}
.risk-tag.is-warn{background:rgba(251,191,36,.18);color:#fbbf24}
.risk-tag.is-hot{background:rgba(239,68,68,.22);color:#f87171}
.pc-risk.is-warn{border-color:rgba(251,191,36,.28)}
.pc-risk.is-hot{border-color:rgba(239,68,68,.35)}
.pc-risk h3{color:#fde68a}
.pc-risk.is-hot h3{color:#fecaca}
.who-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-top:2px}
.who-status.is-on{color:#4ade80}
.who-status.is-away{color:#fbbf24}
.who-status .dot.away{background:#fbbf24}
.ip-cell{display:inline-flex;align-items:center;gap:6px}
.ip-cell.is-vpn a.ip-link,.ip-link.is-vpn{color:#fbbf24}
.ip-ext{opacity:.55;display:inline-flex}
.reason-tag{
  display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:8px;
  background:#2a2a30;border:1px solid rgba(255,255,255,.08);font-size:12px;font-weight:700;color:#e4e4e7
}
.reason-msg{
  width:22px;height:22px;border:0;border-radius:6px;cursor:help;
  background:rgba(255,255,255,.08);color:var(--muted);
  display:inline-flex;align-items:center;justify-content:center;vertical-align:middle
}
.btn-icon{
  width:34px;height:34px;border-radius:10px;border:1px solid var(--border);
  background:rgba(255,255,255,.06);color:var(--muted);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center
}
.btn-icon:hover{color:#fecaca;border-color:rgba(239,68,68,.4)}
.btn-icon svg{width:16px;height:16px}
.chat-censor{background:rgba(251,191,36,.28);color:#fde68a;border-radius:3px;padding:0 2px}
.chat-side__info{margin:10px 0 0;padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.45;
  background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.22);color:#bfdbfe}
.chat-side select{margin:6px 0 4px}
.chat-layout.is-set{grid-template-columns:minmax(0,1fr) 320px}
@media (max-width:1100px){
  .page-layout{grid-template-columns:1fr}
  .page-side{position:static}
}

body[data-page=map] .topbar{display:none}
body[data-page=map] .main{overflow:hidden}
body[data-page=map] .content{padding:0;flex:1;min-height:0;display:flex;overflow:hidden}
.map-page{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;background:#07343d}
.map-bar{
  position:absolute;z-index:6;top:12px;left:12px;right:12px;
  display:flex;align-items:center;gap:10px;pointer-events:none
}
.map-bar > *{pointer-events:auto}
.map-srv{position:relative;flex:none}
.map-srv__btn,.map-size,.map-search,.map-layers{
  background:rgba(18,18,22,.86);border:1px solid rgba(255,255,255,.1);
  color:var(--text);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.35)
}
.map-srv__btn{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;
  font-size:13px;font-weight:700;cursor:pointer;max-width:260px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.map-srv__btn:after{content:"";border:4px solid transparent;border-top-color:#9aa;margin-top:4px}
.map-srv__pop{
  position:absolute;top:calc(100% + 6px);left:0;width:min(280px,70vw);
  background:#17171a;border:1px solid var(--border);border-radius:12px;
  padding:8px;box-shadow:0 16px 40px rgba(0,0,0,.45)
}
.map-srv__pop input{margin-bottom:6px;padding:8px 10px;font-size:13px}
.map-srv__list{max-height:240px;overflow:auto}
.map-srv__opt{
  display:flex;justify-content:space-between;gap:8px;width:100%;
  padding:8px 10px;border:0;background:transparent;color:var(--text);
  border-radius:8px;cursor:pointer;font-size:13px;text-align:left
}
.map-srv__opt:hover,.map-srv__opt.is-on{background:var(--accent-soft)}
.map-srv__opt b{font-weight:700}
.map-srv__opt span{color:var(--muted);font-size:12px}
.map-layers{display:flex;align-items:center;gap:2px;padding:3px}
.map-layers button{
  width:34px;height:32px;border:0;background:transparent;color:#9aa;
  cursor:pointer;border-radius:8px;display:inline-flex;align-items:center;justify-content:center
}
.map-layers button svg{width:18px;height:18px}
.map-layers button:hover{background:rgba(255,255,255,.08);color:#fff}
.map-layers button.is-on{background:rgba(255,255,255,.14);color:#fff}
.map-size{display:flex;align-items:center;gap:2px;padding:2px}
.map-size button{
  width:28px;height:28px;border:0;background:transparent;color:var(--text);
  cursor:pointer;font-size:16px;border-radius:8px
}
.map-size button:hover{background:rgba(255,255,255,.08)}
.map-size span{min-width:48px;text-align:center;font-size:12px;color:#d5d5d8;font-variant-numeric:tabular-nums}
.map-search{margin-left:auto;width:min(280px,36vw);padding:8px 12px;font-size:13px}
.map-stage{flex:1;min-height:0;position:relative;overflow:hidden;cursor:grab;touch-action:none}
.map-stage.is-drag{cursor:grabbing}
.map-world{
  position:absolute;left:0;top:0;width:800px;height:800px;
  transform-origin:0 0;user-select:none;background:#0a4a56;
  --map-ref:1
}
.map-img{
  width:100%;height:100%;object-fit:fill;display:block;pointer-events:none;
  background:#0a4a56;box-shadow:0 0 0 1px rgba(255,255,255,.06);
  image-rendering:auto;image-rendering:high-quality
}
.map-img.is-off{visibility:hidden}
.map-mons{
  position:absolute;inset:0;pointer-events:none;z-index:1;overflow:visible
}
.map-mon{
  position:absolute;transform:translate(-50%,-50%);
  color:#e8e4d8;font:600 calc(8px * var(--map-ref,1))/1.1 "Segoe UI",Inter,sans-serif;
  letter-spacing:.01em;text-align:center;white-space:nowrap;
  text-shadow:
    0 0 2px #000, 1px 0 1px #000, -1px 0 1px #000,
    0 1px 1px #000, 0 -1px 1px #000;
  max-width:calc(120px * var(--map-ref,1))
}
.map-mon.is-small{color:#cfcab8;font-weight:500;opacity:.9}
.map-mon.is-rig{color:#9be7ff}
.map-mon.is-lab{color:#8fd4c4}
.map-mon.is-outpost{
  color:#d8ffe8;font-size:calc(8.5px * var(--map-ref,1));font-weight:800;
  background:rgba(22,101,52,.72);padding:calc(1px * var(--map-ref,1)) calc(6px * var(--map-ref,1));border-radius:calc(4px * var(--map-ref,1));
  border:1px solid rgba(74,222,128,.55);text-shadow:none
}
.map-mon.is-bandit{
  color:#fff1e8;font-size:calc(8.5px * var(--map-ref,1));font-weight:800;
  background:rgba(154,52,18,.78);padding:calc(1px * var(--map-ref,1)) calc(6px * var(--map-ref,1));border-radius:calc(4px * var(--map-ref,1));
  border:1px solid rgba(251,146,60,.55);text-shadow:none
}
.map-grid{
  position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden
}
.map-grid svg{width:100%;height:100%;display:block}
.map-glines line{
  stroke:rgba(255,255,255,.16);stroke-width:1;
  vector-effect:non-scaling-stroke
}
.map-glabs text{
  fill:#fff;font-family:Inter,Segoe UI,sans-serif;font-weight:800;
  paint-order:stroke fill;stroke:#000;stroke-width:.45em;
  text-anchor:start;dominant-baseline:alphabetic;letter-spacing:.02em
}
.map-grid[hidden]{display:none !important}
.map-dots{position:absolute;inset:0;pointer-events:none}
.map-dot{
  position:absolute;width:var(--dot,16px);height:var(--dot,16px);
  margin:calc(var(--dot,16px) / -2) 0 0 calc(var(--dot,16px) / -2);
  border:0;padding:0;background:transparent;cursor:pointer;pointer-events:auto;z-index:2
}
.map-dot i{
  display:block;width:100%;height:100%;border-radius:50%;
  background:#9bd92f;box-shadow:0 0 0 2px rgba(0,0,0,.55),0 0 8px rgba(155,217,47,.35)
}
.map-dot.is-team i{background:#ffaf4d;box-shadow:0 0 0 2px rgba(0,0,0,.55),0 0 8px rgba(255,175,77,.4)}
.map-dot.is-sleeper i{background:#5c5c5c;box-shadow:0 0 0 2px rgba(0,0,0,.45)}
.map-dot.is-bag{
  width:calc(var(--dot,16px) * .72);height:calc(var(--dot,16px) * .72);
  margin:calc(var(--dot,16px) * -.36) 0 0 calc(var(--dot,16px) * -.36);z-index:1
}
.map-dot.is-bag i{border-radius:3px;background:#7dd3fc;box-shadow:0 0 0 1px rgba(0,0,0,.5)}
.map-dot.is-tc{
  width:calc(var(--dot,16px) * .62);height:calc(var(--dot,16px) * .62);
  margin:calc(var(--dot,16px) * -.31) 0 0 calc(var(--dot,16px) * -.31);z-index:1
}
.map-dot.is-tc i{border-radius:2px;background:#e7e5e4;box-shadow:0 0 0 1px rgba(0,0,0,.55)}
.map-dot.is-dead i{background:#8b8f99;box-shadow:0 0 0 2px rgba(0,0,0,.45)}
.map-dot.is-raid i{background:#ef4444}
.map-dot.is-dim{opacity:.22}
.map-dot.is-hit,.map-dot.is-on{z-index:5}
.map-dot.is-hit i,.map-dot.is-on i{
  background:#3b82f6;box-shadow:0 0 0 2px #fff,0 0 10px rgba(59,130,246,.7)
}
.map-dot span{
  display:none;position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);
  background:rgba(12,12,16,.92);color:#fff;font-size:calc(11px * var(--map-ref,1));font-weight:700;
  padding:calc(3px * var(--map-ref,1)) calc(7px * var(--map-ref,1));border-radius:calc(6px * var(--map-ref,1));white-space:nowrap;pointer-events:none;
  border:1px solid rgba(255,255,255,.1)
}
.map-dot:hover span,.map-dot.is-hit span,.map-dot.is-on span,.map-page.is-names .map-dot:not(.is-bag):not(.is-tc) span{display:block}
.map-empty{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#c5e8ee;font-size:14px;text-shadow:0 1px 8px #000
}
.map-empty[hidden]{display:none !important}

.grow{flex:1}
.side-proj{display:block;margin:0 4px 10px}
.side-proj select{
  width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);
  background:#0e0e10;color:var(--text);font-size:13px
}
.st-tabs{display:flex;gap:18px;border-bottom:1px solid var(--border);margin:0 0 18px}
.st-tab{
  background:none;border:0;color:var(--muted);padding:8px 0 10px;cursor:pointer;font-size:14px;font-weight:600
}
.st-tab.is-on{color:#fff;box-shadow:inset 0 -2px 0 var(--accent)}
.st-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;margin:16px 0 28px}
.st-card{
  position:relative;background:linear-gradient(180deg,#1c1c20,#151518);border:1px solid var(--border);
  border-radius:14px;padding:16px 12px 14px;text-align:center;min-height:168px
}
.st-card.is-owner{box-shadow:inset 0 0 0 1px rgba(251,191,36,.25)}
.st-card .st-ava{width:64px;height:64px;border-radius:999px;object-fit:cover;background:#222;margin:8px auto 10px;display:block}
.st-card .st-nm{font-weight:700;color:#fff;font-size:14px}
.st-card .st-un{color:var(--muted);font-size:12px;margin-top:2px}
.st-crown{
  position:absolute;left:10px;top:10px;width:22px;height:22px;border-radius:8px;
  background:rgba(251,191,36,.15);color:#fbbf24;display:flex;align-items:center;justify-content:center;font-size:12px
}
.st-kick{
  position:absolute;right:8px;top:8px;border:0;background:rgba(239,68,68,.15);color:#fecaca;
  border-radius:8px;padding:4px 8px;cursor:pointer;font-size:11px
}
.st-help{max-width:720px}
.st-ov{z-index:50;align-items:flex-start;padding-top:8vh}
.st-dlg{width:min(520px,100%);padding:0;overflow:hidden;max-height:min(86vh,720px);display:flex;flex-direction:column}
.st-dlg .card__title{margin-bottom:4px}
#stStepUser,#stStepPerms{padding:18px 18px 14px;display:flex;flex-direction:column;min-height:0}
.st-hints{
  margin-top:8px;border:1px solid var(--border);border-radius:10px;background:#121214;overflow:auto;max-height:220px
}
.st-hint{
  display:flex;gap:10px;align-items:center;padding:8px 10px;cursor:pointer;width:100%;border:0;background:none;color:inherit;text-align:left
}
.st-hint:hover,.st-hint.is-on{background:rgba(255,255,255,.05)}
.st-hint img{width:32px;height:32px;border-radius:999px;background:#222}
.st-dlg-act{margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}
.st-sw{display:inline-flex;align-items:center}
.st-sw input{position:absolute;opacity:0;width:0;height:0}
.st-sw i{
  width:40px;height:22px;border-radius:999px;background:#3a3a40;position:relative;display:block
}
.st-sw i:after{
  content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;left:3px;top:3px;transition:left .15s
}
.st-sw input:checked + i{background:var(--accent)}
.st-sw input:checked + i:after{left:21px}
.st-dlg-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.st-ava-lg{width:48px;height:48px;border-radius:999px;background:#222;object-fit:cover}
.st-perm-scroll{overflow:auto;min-height:0;flex:1;padding-right:4px;max-height:52vh}
.st-banner{
  background:#1a1a1e;border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:14px;display:flex;gap:12px;align-items:flex-start
}
.st-banner b{display:block;margin-bottom:4px}
.st-pg{font-size:13px;color:var(--muted);margin:14px 0 8px;font-weight:700}
.st-pi{display:flex;gap:10px;align-items:flex-start;padding:6px 0}
.st-pi label{flex:1;cursor:pointer;line-height:1.35}
.st-pi input{width:18px;height:18px;margin-top:1px;flex:none;accent-color:var(--accent)}
.st-mark{font-size:12px;opacity:.85;margin-left:4px}
.st-pi.is-off{opacity:.45;pointer-events:none}

.nav-toggle{
  width:42px;height:42px;border-radius:10px;border:1px solid var(--border);
  background:rgba(18,18,22,.92);color:#fff;cursor:pointer;flex:none;
  align-items:center;justify-content:center;padding:0;position:relative;z-index:101
}
.nav-toggle .nav-toggle__open{display:block}
.nav-toggle .nav-toggle__close{display:none}
.btn.filters-toggle{display:none}
.chat-send{
  width:40px;height:40px;border:0;border-radius:10px;flex:none;cursor:pointer;
  background:var(--accent);color:#fff;align-items:center;justify-content:center;padding:0
}

@media (max-width:860px){
  html,body{height:100%;overflow-x:hidden;overscroll-behavior:none}
  body.pc-open{overflow:hidden}
  button,a,.nav__item,.chat-ico,.pc-tab,.btn{touch-action:manipulation}
  input,textarea,select{font-size:16px}
  .app{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,1fr);
    min-height:var(--app-h,100dvh);height:var(--app-h,100dvh)
  }
  .sidebar,.nav-scrim,.main{grid-column:1;grid-row:1}
  .sidebar{
    display:flex;position:relative;z-index:100;justify-self:start;
    width:min(300px,86vw);height:var(--app-h,100dvh);
    padding-top:max(14px,env(safe-area-inset-top));
    padding-bottom:max(12px,env(safe-area-inset-bottom));
    padding-left:max(12px,env(safe-area-inset-left));
    transform:translateX(-105%);
    transition:transform .2s ease;
    box-shadow:none;border-right:1px solid var(--border)
  }
  body.nav-open .sidebar{
    transform:none;
    box-shadow:16px 0 40px rgba(0,0,0,.5)
  }
  .nav-scrim{
    display:block;z-index:99;background:rgba(0,0,0,.5);
    opacity:0;pointer-events:none;transition:opacity .2s
  }
  body.nav-open .nav-scrim{opacity:1;pointer-events:auto}
  .main{min-width:0;height:var(--app-h,100dvh)}
  body.nav-open .main{overflow:hidden}
  body.pc-open .nav-toggle{visibility:hidden;pointer-events:none}
  .nav-toggle{
    display:inline-flex;position:fixed;
    top:max(10px,env(safe-area-inset-top));
    left:max(10px,env(safe-area-inset-left))
  }
  body.nav-open .nav-toggle .nav-toggle__open{display:none}
  body.nav-open .nav-toggle .nav-toggle__close{display:block}
  .btn.filters-toggle{display:inline-flex}
  .nav__item{padding:12px 14px;min-height:44px;font-size:16px}
  .topbar{padding:10px 12px 8px 58px;gap:10px}
  .topbar .brand__title{font-size:18px}
  .topbar .hint{display:none}
  .content{padding:6px 12px max(20px,env(safe-area-inset-bottom))}
  .card{padding:12px}
  .card:has(table){overflow-x:auto;-webkit-overflow-scrolling:touch}
  .page-toolbar .btn,.filters-toggle,.mod-actions .btn{min-height:44px;padding:10px 14px}
  .page-toolbar{gap:8px}
  .page-toolbar .hint.grow{flex:1 1 100%;font-size:12px}
  .page-toolbar input[type="search"],.page-toolbar input#q,
  .pl-search{
    max-width:none;width:auto;flex:1 1 140px;margin-left:0
  }
  .filters-toggle{display:inline-flex}
  .btn.filters-toggle.is-on{background:rgba(59,130,246,.22);border-color:rgba(59,130,246,.45)}
  .sheet-close{display:inline-flex;align-items:center;justify-content:center}
  .page-side{display:none;position:fixed;z-index:90;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));
    max-height:72dvh;overflow:auto;box-shadow:0 16px 50px rgba(0,0,0,.55)}
  .page-layout.is-filters .page-side{display:block}
  .sheet-scrim{
    display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:88
  }
  .sheet-scrim[hidden]{display:none !important}
  .hide-sm{display:none !important}
  #plTable th:nth-child(4),#plTable td:nth-child(4),
  #plTable th:nth-child(5),#plTable td:nth-child(5),
  #plTable th:nth-child(6),#plTable td:nth-child(6){display:none}
  .chat-line__acts{display:none !important}
  .chat-send{display:inline-flex}
  .chat-set-btn{width:42px;height:42px;flex:none}
  .pc-ibtn{width:40px;height:40px}
  .chat-layout.is-set .chat-side{
    position:fixed;z-index:90;left:0;right:0;bottom:0;top:auto;
    max-height:80dvh;border-radius:16px 16px 0 0;overflow:auto;
    padding-bottom:max(18px,env(safe-area-inset-bottom))
  }
  body[data-page=chat] .app,
  body[data-page=chat] .main{overflow:hidden;max-width:100%;height:var(--app-h,100dvh)}
  body[data-page=chat] .topbar{
    display:flex;flex:none;padding:8px 12px 6px 58px
  }
  body[data-page=chat] .nav-toggle{display:inline-flex}
  body[data-page=chat] .content{
    flex:1 1 0%;min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;
    padding:0
  }
  body[data-page=chat] .chat-layout,
  body[data-page=chat] .chat-main.card{
    flex:1 1 0%;min-height:0;min-width:0;max-width:100%;display:flex;flex-direction:column;overflow:hidden
  }
  body[data-page=chat] .chat-main.card{
    border:0;border-radius:0;padding:0 10px 0;background:transparent
  }
  body[data-page=chat] .chat-toolbar{
    margin:0 0 6px;padding:0;min-height:42px;min-width:0;flex:none
  }
  body[data-page=chat] .chat-toolbar select{max-width:none !important;flex:1;min-width:0;font-size:16px}
  body[data-page=chat] .chat-log{
    flex:1 1 0%;height:auto;min-height:0;min-width:0;max-width:100%;
    overflow-x:hidden;overflow-y:auto;border-radius:10px;padding:8px;font-size:16px;line-height:1.4
  }
  body[data-page=chat] .chat-compose{
    margin:0;border-radius:12px 12px 0 0;flex:none;
    padding-bottom:max(6px,env(safe-area-inset-bottom));
    min-width:0;max-width:100%
  }
  body[data-page=chat] #chatMeAva{display:none}
  body[data-page=chat] .chat-input{padding:8px 10px;min-width:0}
  body[data-page=chat] .chat-input input{font-size:16px;padding:8px 0;min-width:0}
  body[data-page=chat] .chat-line{
    display:block;padding:8px 2px 10px;max-width:100%;overflow-x:hidden;
    border-bottom:1px solid rgba(255,255,255,.05)
  }
  body[data-page=chat] .chat-line__top{
    display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;min-width:0;max-width:100%
  }
  body[data-page=chat] .chat-line__top time{margin-left:auto;font-size:12px;flex:none;color:var(--muted)}
  body[data-page=chat] .chat-line .tag-srv,
  body[data-page=chat] .chat-line .hint{display:none}
  body[data-page=chat] .tag{max-width:64px;overflow:hidden;text-overflow:ellipsis;flex:none;font-size:10px}
  body[data-page=chat] .chat-text{
    display:block;max-width:100%;word-break:break-word;overflow-wrap:anywhere;padding:4px 0 0;font-size:16px;line-height:1.45
  }
  body[data-page=chat] .chat-who{min-height:0;padding:0;max-width:100%;min-width:0;align-items:center}
  body[data-page=chat] .chat-who .avatar{display:none}
  body[data-page=chat] .chat-who .nm{padding:4px 0;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:min(70vw,240px)}
  body[data-page=chat] .chat-filter{font-size:13px;padding:6px 2px}
  body[data-page=chat] .chat-line__acts{display:none !important}
  .chat-nick-menu button,.pc-menu button,.pc-menu a{
    padding:12px 14px;font-size:15px;min-height:44px
  }
  .chat-nick-menu,#pcNickMenu{
    left:0 !important;right:0;top:auto !important;bottom:0;
    width:100%;min-width:0;max-width:none;
    border-radius:16px 16px 0 0;
    padding:10px 10px max(14px,env(safe-area-inset-bottom));
    box-shadow:0 -16px 40px rgba(0,0,0,.5)
  }
  .mod-overlay{align-items:flex-end;padding:0}
  .mod-card{
    width:100%;max-height:92dvh;border-radius:16px 16px 0 0;
    padding-bottom:max(12px,env(safe-area-inset-bottom))
  }
  .mod-dur{grid-template-columns:1fr}
  .mod-foot{flex-wrap:wrap}
  .mod-actions{width:100%}
  .mod-actions .btn{flex:1}
  .st-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .st-tab{white-space:nowrap}
  .st-ov{padding:0;align-items:flex-end}
  .st-dlg{width:100%;max-height:92dvh;border-radius:16px 16px 0 0}
  body[data-page=map] .topbar{
    display:flex;position:absolute;z-index:8;top:0;left:0;right:auto;
    padding:max(10px,env(safe-area-inset-top)) 0 0 max(10px,env(safe-area-inset-left));
    background:transparent;pointer-events:none
  }
  body[data-page=map] .nav-toggle{pointer-events:auto}
  body[data-page=map] .topbar .brand__title,
  body[data-page=map] .topbar .hint{display:none}
  .map-bar{
    left:58px;right:10px;top:max(10px,env(safe-area-inset-top));
    flex-wrap:wrap
  }
  .map-search{width:auto;flex:1 1 140px;margin-left:0;min-width:120px;font-size:16px}
  .map-layers{overflow-x:auto;max-width:100%}
  .login-wrap{padding:max(20px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom))}
}

@media (max-width:560px){
  .pl-srv-m{
    display:block;width:100%;font-size:11px;color:#c4c7d8;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap
  }
  #plTable th:nth-child(2),#plTable td.pl-srv{display:none}
}

