:root{--bg:#0b0f14;--panel:#111821;--panel2:#16202b;--line:#223041;--txt:#d9e2ec;--mut:#8aa0b4;--acc:#4fd1c5;--acc2:#f6ad55;--red:#fc8181;--grn:#68d391;--ylw:#f6e05e}
*{box-sizing:border-box}html,body{overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.55 Inter,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
header.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 28px;border-bottom:1px solid var(--line);background:#0d131a;position:sticky;top:0;z-index:999}
.logo{font-weight:800;letter-spacing:.18em;font-size:15px;white-space:nowrap}.logo span{color:var(--acc)}.logo small{display:block;letter-spacing:.06em;font-weight:500;color:var(--mut);font-size:11px}
nav a{margin-left:20px;color:var(--mut);font-size:13px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}nav a.on,nav a:hover{color:var(--txt)}
main{max-width:1180px;margin:0 auto;padding:28px}
h1{font-size:28px;margin:0 0 6px}h2{font-size:18px;margin:28px 0 12px;color:#fff;letter-spacing:.02em}h3{font-size:15px;margin:0 0 6px;color:#fff}
.mut{color:var(--mut)}.small{font-size:12.5px}.tiny{font-size:11.5px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px}
.grid{display:grid;gap:16px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;border:1px solid var(--line);background:var(--panel2);color:var(--mut);margin:0 5px 3px 0;letter-spacing:.04em;white-space:nowrap}
.b-ok{color:var(--grn);border-color:#2f5d44}.b-acc{color:var(--acc);border-color:#22545a}.b-warn{color:var(--ylw);border-color:#5e5622}.b-bad{color:var(--red);border-color:#5e2b2b}.b-org{color:var(--acc2);border-color:#5e4322}
table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--mut);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
footer{border-top:1px solid var(--line);margin-top:40px;padding:18px 28px;color:var(--mut);font-size:12px}
footer .disc{color:var(--txt);opacity:.85}
input,select{background:var(--panel2);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:9px 10px;font:inherit}
input:focus,select:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(79,209,197,.15)}
button,.btn{background:var(--panel2);color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:9px 14px;font:inherit;cursor:pointer;display:inline-block}
button:hover,.btn:hover{border-color:var(--acc);text-decoration:none}
.btn-acc{background:linear-gradient(180deg,#1f6f69,#165953);border-color:#2a8f87;color:#fff;font-weight:700}
/* search hero */
.sx-hero{position:relative;border:1px solid #23414a;border-radius:14px;padding:26px 24px 20px;background:radial-gradient(1200px 300px at 10% -40%,rgba(79,209,197,.16),transparent 60%),linear-gradient(180deg,#0f1a21,#0c141b);overflow:hidden}
.sx-hero:after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(79,209,197,.18);box-shadow:0 0 0 40px rgba(79,209,197,.04),0 0 0 80px rgba(79,209,197,.03);pointer-events:none}
.sx-kicker{font-size:11px;letter-spacing:.22em;color:var(--acc);font-weight:700;text-transform:uppercase}
.sx-box{display:flex;gap:10px;margin-top:14px;position:relative;z-index:1}
.sx-box .inwrap{flex:1;position:relative}
.sx-box input{width:100%;font-size:18px;padding:14px 44px 14px 46px;border-radius:10px;background:#0b141b;border-color:#2a4652}
.sx-box .ico{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--acc);font-size:18px;pointer-events:none}
.sx-box .clr{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--mut);font-size:20px;padding:4px 8px;display:none}
.sx-box button.go{padding:0 22px;font-size:16px}
.sx-filters{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr auto;gap:10px;margin-top:12px;position:relative;z-index:1}
.sx-filters label{display:block;font-size:10.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px}
.sx-filters input,.sx-filters select{width:100%}
.sx-examples{margin-top:12px;font-size:12.5px;color:var(--mut);position:relative;z-index:1}
.sx-examples a{display:inline-block;margin:3px 6px 0 0;padding:2px 9px;border:1px solid var(--line);border-radius:999px;color:var(--txt);background:rgba(22,32,43,.7)}
.sx-examples a:hover{border-color:var(--acc);text-decoration:none}
.sx-cov{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:var(--mut);position:relative;z-index:1}
.sx-cov b{color:#fff;font-size:14px}
.sx-status{margin:18px 0 10px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.sx-status .st{font-size:13px;color:var(--mut)}
.sx-results{display:grid;gap:10px}
.res{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:13px 16px;cursor:pointer;transition:border-color .12s,transform .12s,background .12s;color:var(--txt)}
.res:hover,.res:focus,.res.kb{border-color:var(--acc);background:#132029;text-decoration:none;outline:none}
.res .nm{font-weight:700;font-size:15.5px;color:#fff;letter-spacing:.01em}
.res .nm mark{background:rgba(79,209,197,.22);color:#fff;border-radius:3px;padding:0 1px}
.res .meta{font-size:12.5px;color:var(--mut);margin-top:3px}
.res .dba{font-size:12px;color:var(--acc2);margin-top:3px}
.res .go{color:var(--acc);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.skel{height:64px;border-radius:10px;background:linear-gradient(90deg,#111821 0%,#17222e 50%,#111821 100%);background-size:200% 100%;animation:sh 1.2s infinite linear;border:1px solid var(--line)}
@keyframes sh{0%{background-position:200% 0}100%{background-position:-200% 0}}
.empty{padding:26px;text-align:center;color:var(--mut);border:1px dashed var(--line);border-radius:10px}
.domcard{border:1px solid #2b4a52;background:#0f1d22;border-radius:10px;padding:14px 16px;margin-bottom:12px}
.kv{display:grid;grid-template-columns:170px 1fr;gap:4px 14px;font-size:13.5px}.kv dt{color:var(--mut)}.kv dd{margin:0;word-break:break-word}
.chips span{display:inline-block;font-size:12px;padding:2px 8px;margin:0 6px 6px 0;border-radius:999px;background:var(--panel2);border:1px solid var(--line)}
/* dossier */
.dz-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}
.dz-name{font-size:28px;font-weight:800;color:#fff;margin:2px 0 6px;line-height:1.2}
.dz-actions{display:flex;gap:8px;flex-wrap:wrap}
.score{display:flex;gap:16px;align-items:center}
.ring{width:96px;height:96px;flex:none}
.sec-title{display:flex;align-items:center;gap:8px;margin:26px 0 10px}
.sec-title h2{margin:0}.sec-title .ln{flex:1;height:1px;background:var(--line)}
.srcrow td:first-child{white-space:nowrap}
.ok{color:var(--grn)}.warn{color:var(--ylw)}.bad{color:var(--red)}
#dzmap{height:340px;border-radius:10px;border:1px solid var(--line)}
.leaflet-popup-content{color:#111}
.reason{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13.5px}.reason .pt{width:44px;flex:none;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.loading-dot:after{content:"…";animation:dd 1s infinite steps(4)}@keyframes dd{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}
.spark{display:block;width:100%;height:60px}
.note{font-size:12px;color:var(--mut);margin-top:6px}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#132029;border:1px solid var(--acc);color:#fff;padding:9px 16px;border-radius:8px;font-size:13px;z-index:2000;display:none}
@media(max-width:900px){.g2,.g3,.g4{grid-template-columns:1fr}.sx-filters{grid-template-columns:1fr 1fr}.sx-filters .fbtn{grid-column:1/-1}}
@media(max-width:700px){header.top{flex-wrap:wrap;padding:10px 14px}nav{width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:2px}nav a{margin:0 16px 0 0}
 main{padding:16px 14px}.sx-hero{padding:18px 14px}.sx-box{flex-direction:column}.sx-box button.go{padding:12px}.sx-box input{font-size:16px}
 .kv{grid-template-columns:1fr}.kv dt{margin-top:6px}.dz-name{font-size:22px}.res{grid-template-columns:1fr}.res .go{display:none}h1{font-size:22px}
 table.rsp thead{display:none}table.rsp tr{display:block;border-bottom:1px solid var(--line);padding:6px 0}table.rsp td{display:block;border:none;padding:2px 4px}table.rsp td.num{text-align:left}}
@media print{body{background:#fff;color:#111;font-size:10.5pt}header.top{position:static;background:#fff;border-bottom:2px solid #111}.logo,.logo small,h1,h2,h3,.dz-name,.res .nm{color:#111}
 nav,.noprint,.dz-actions,#dzmap .leaflet-control-container{display:none!important}.panel,.domcard{background:#fff;border-color:#bbb;color:#111;break-inside:avoid}.mut,th,.note,footer{color:#444}a{color:#0b5e7a}
 .badge{background:#f3f3f3;color:#222;border-color:#999}main{padding:0;max-width:none}.sec-title .ln{background:#bbb}td,th,.reason{border-color:#ccc}.kv dd{color:#111}#dzmap{height:260px}footer .disc{color:#111}}
input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
