/* Knife Stats — публичные стили */
.ks-wrap{--ks-red:#e8393f;--ks-gold:#f5b301;--ks-line:rgba(128,128,128,.22);--ks-soft:rgba(128,128,128,.09);--ks-soft2:rgba(128,128,128,.16);font-size:14px;line-height:1.45}
.ks-wrap *,.ks-modal *{box-sizing:border-box}
.ks-title{text-align:center;font-size:26px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;margin:4px 0 18px}
.ks-panel{border:1px solid var(--ks-line);border-radius:14px;background:var(--ks-soft);padding:14px;margin-bottom:18px}
.ks-panel-head{display:inline-flex;align-items:center;gap:8px;margin:-14px -14px 14px;padding:10px 16px;border-radius:14px 0 14px 0;background:linear-gradient(90deg,var(--ks-red),rgba(232,57,63,.15));color:#fff;font-weight:700;font-size:14px;min-width:60%}
.ks-emoji{font-size:16px}
.ks-select,.ks-input{width:100%;border:1px solid var(--ks-red);border-radius:10px;background:rgba(0,0,0,.25);color:inherit;padding:10px 12px;font-size:14px;outline:0}
.ks-select:focus,.ks-input:focus{border-color:var(--ks-gold)}
.ks-select option{color:#111;background:#fff}
.ks-search{display:flex;gap:0;margin-top:12px}
.ks-search .ks-input{border-radius:10px 0 0 10px;flex:1 1 auto}
.ks-search .ks-btn{border-radius:0 10px 10px 0;padding:0 22px}
.ks-help{font-size:11px;opacity:.6;margin:6px 0 10px}
.ks-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer;color:#fff;background:#4b5563;line-height:1.2;white-space:nowrap;transition:filter .15s}
.ks-btn:hover{filter:brightness(1.12);color:#fff}
.ks-btn-sm{padding:6px 10px;font-size:12px}
.ks-btn-red{background:linear-gradient(90deg,#d8232a,#8c0f14)}
.ks-btn-dark{background:#2b2f38}
.ks-empty{padding:22px 14px;text-align:center;border:1px dashed var(--ks-line);border-radius:12px;opacity:.75}
.ks-empty-sm{padding:12px;margin-top:10px}
.ks-empty-row{text-align:center;opacity:.6;padding:14px!important}

/* таблица результатов */
.ks-table-wrap{overflow:auto;margin-top:10px}
.ks-table{width:100%;border-collapse:collapse;font-size:13px}
.ks-table th{text-align:left;padding:8px 10px;background:linear-gradient(90deg,#5b21b6,#1d4ed8);color:#fff;font-weight:700;white-space:nowrap}
.ks-table th svg{vertical-align:-2px}
.ks-table td{padding:10px;border-bottom:1px solid var(--ks-line);vertical-align:middle}
.ks-table tr:hover td{background:var(--ks-soft)}
.ks-steam{font-family:Consolas,Menlo,monospace;font-size:12px;opacity:.75;white-space:nowrap}
.ks-num{font-weight:800;text-align:center}
.ks-actions{display:flex;gap:6px;flex-wrap:wrap}
.ks-nick{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:inherit;text-decoration:none}
.ks-nick-user{color:#4a9ae8}
.ks-nick-user:hover{color:#f5b301;text-decoration:none}
.ks-nick img{width:22px;height:22px;border-radius:50%;object-fit:cover}

/* топы */
.ks-tops{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:991px){.ks-tops{grid-template-columns:1fr}}
.ks-top-table{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:13px}
.ks-top-table th{font-weight:700;padding:6px 8px;text-align:center;opacity:.85}
.ks-top-table th:nth-child(3){text-align:left}
.ks-top-row{cursor:pointer;background:var(--ks-soft);transition:transform .12s,background .12s}
.ks-top-row td{padding:10px 8px;text-align:center;border-top:1px solid var(--ks-line);border-bottom:1px solid var(--ks-line)}
.ks-top-row td:first-child{border-left:1px solid var(--ks-line);border-radius:10px 0 0 10px}
.ks-top-row td:last-child{border-right:1px solid var(--ks-line);border-radius:0 10px 10px 0}
.ks-top-row:hover{background:var(--ks-soft2);transform:translateX(2px)}
.ks-top-nick{text-align:left!important}
.ks-place{font-weight:800}
.ks-knife{width:30px;font-size:16px}
.ks-top-val{color:var(--ks-gold)}
.ks-place-1 td{background:#f5c400;color:#1a1300}
.ks-place-2 td{background:#c9ccd1;color:#15181d}
.ks-place-3 td{background:#d7853f;color:#1f1206}
.ks-place-1 td.ks-top-val{color:#1a1300}
.ks-place-2 td.ks-top-val{color:#15181d}
.ks-place-3 td.ks-top-val{color:#1f1206}
.ks-place-1 .ks-nick-user,.ks-place-2 .ks-nick-user,.ks-place-3 .ks-nick-user{color:#1d4ed8}
.ks-place-1 .ks-steam,.ks-place-2 .ks-steam,.ks-place-3 .ks-steam{opacity:.7}
.ks-place-1:hover td,.ks-place-2:hover td,.ks-place-3:hover td{filter:brightness(1.05)}

/* модалка */
body.ks-modal-open{overflow:hidden}
.ks-modal{position:fixed;inset:0;z-index:100000;background:rgba(5,8,14,.78);display:flex;align-items:center;justify-content:center;padding:16px}
.ks-modal-box{width:100%;max-width:760px;max-height:92vh;overflow:auto;background:#141821;color:#d9dee7;border:1px solid rgba(232,57,63,.45);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.6);font-size:13px}
.ks-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;background:#141821;z-index:2}
.ks-modal-title{font-size:15px;font-weight:800}
.ks-x{border:0;background:var(--ks-red,#e8393f);color:#fff;width:26px;height:26px;border-radius:50%;font-size:18px;line-height:1;cursor:pointer;flex:0 0 auto}
.ks-modal-body{padding:18px 20px 22px}
.ks-player-name{text-align:center;font-size:24px;font-weight:800;color:#f26d6d;margin-bottom:6px}
.ks-player-name .ks-nick{font-size:inherit;color:inherit}
.ks-player-name .ks-nick-user{color:#f26d6d}
.ks-player-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:12px;opacity:.7;margin-bottom:18px}
.ks-player-meta svg{vertical-align:-2px}
.ks-sections{display:grid;grid-template-columns:1fr 1fr;gap:14px 26px}
@media (max-width:640px){.ks-sections{grid-template-columns:1fr}}
.ks-section-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:6px 0 8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08)}
.ks-section-title{font-size:16px;font-weight:800;color:#f26d6d;display:inline-flex;align-items:center;gap:6px}
.ks-section-total{font-weight:800;font-size:15px;color:#fff}
.ks-row{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed rgba(255,255,255,.05);font-size:12px}
.ks-row-label{opacity:.85}
.ks-row-val{font-weight:800}
