:root { --bg:#fff; --panel:#f6f7f9; --line:#d9dce2; --text:#16181d; --mute:#6b7280; --accent:#ffd600; --ok:#177245; --bad:#b3261e; --warn:#8a5a00; }
@media (prefers-color-scheme: dark) { :root { --bg:#0e1016; --panel:#171a23; --line:#2a2f3c; --text:#eceef3; --mute:#8b93a7; --ok:#6bd39a; --bad:#ff8f87; --warn:#ffcb6b; } }
* { box-sizing:border-box; } body { margin:0; background:var(--bg); color:var(--text); font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
a { color:var(--text); text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:3px; text-decoration-thickness:2px; }
header { border-bottom:1px solid var(--line); background:var(--bg); position:sticky; top:0; z-index:5; } header .in { max-width:1280px; margin:auto; padding:10px 16px; display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.brand { font-weight:900; letter-spacing:-.02em; margin-right:12px; } .brand b { background:var(--accent); color:#16181d; padding:1px 8px; border-radius:20px; font-size:12px; margin-left:6px; }
nav a { text-decoration:none; padding:6px 12px; border-radius:20px; font-weight:700; color:var(--mute); } nav a.on, nav a:hover { background:var(--accent); color:#16181d; }
main { max-width:1280px; margin:auto; padding:20px 16px 60px; } h1 { font-size:28px; letter-spacing:-.02em; margin:0 0 14px; font-weight:900; } h2 { font-size:18px; margin:22px 0 10px; font-weight:800; }
.card { background:var(--panel); border-radius:16px; padding:16px 18px; margin-bottom:16px; } .grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; margin-bottom:16px; }
.stat { background:var(--panel); border-radius:16px; padding:14px 16px; } .stat .v { font-size:26px; font-weight:900; letter-spacing:-.02em; } .stat .l { color:var(--mute); font-size:13px; }
table { width:100%; border-collapse:collapse; font-size:14px; } th, td { text-align:left; padding:9px 10px; border-top:1px solid var(--line); vertical-align:top; } th { color:var(--mute); font-size:12px; text-transform:uppercase; letter-spacing:.05em; border-top:0; }
.mute { color:var(--mute); } .num { text-align:right; white-space:nowrap; } .tag { display:inline-block; font-size:12px; font-weight:800; padding:2px 9px; border-radius:20px; background:var(--line); color:var(--text); }
.tag.ok { background:#dff3e8; color:var(--ok); } .tag.bad { background:#fce3e0; color:var(--bad); } .tag.y { background:var(--accent); color:#16181d; } .tag.warn { background:#ffefc9; color:var(--warn); }
@media (prefers-color-scheme: dark) { .tag.ok { background:#12301f; } .tag.bad { background:#3a1713; } .tag.warn { background:#3a2a08; } }
form.f { display:flex; gap:8px; flex-wrap:wrap; align-items:end; margin-bottom:14px; } form.f label { display:flex; flex-direction:column; font-size:12px; color:var(--mute); gap:3px; font-weight:700; }
input, select, textarea { background:var(--bg); color:var(--text); border:1px solid var(--line); border-radius:10px; padding:8px 11px; font:inherit; min-width:0; } input:focus, select:focus, textarea:focus { outline:3px solid var(--accent); outline-offset:0; }
button, .btn { background:var(--accent); color:#16181d; border:0; border-radius:10px; padding:9px 16px; font:inherit; font-weight:800; cursor:pointer; text-decoration:none; display:inline-block; } button.sec, .btn.sec { background:var(--bg); color:var(--text); border:1px solid var(--line); } button.danger { background:var(--bad); color:#fff; }
.msg { background:#fff4b8; color:#5a4700; padding:9px 14px; border-radius:10px; margin-bottom:14px; } .bar { height:12px; background:var(--accent); border-radius:6px; min-width:2px; }
.pager { display:flex; gap:10px; align-items:center; margin-top:12px; } .kv { display:grid; grid-template-columns:170px 1fr; gap:6px 12px; } .kv dt { color:var(--mute); } .kv dd { margin:0; word-break:break-word; }
.win { background:rgba(255,214,0,.16); } code { font-family:ui-monospace,Menlo,Consolas,monospace; font-size:13px; } .row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.tablewrap { overflow-x:auto; } @media (max-width:700px) { .kv { grid-template-columns:1fr; } h1 { font-size:22px; } }
.lang { display:inline-flex; gap:2px; margin-right:10px; } .lang a { text-decoration:none; font-size:12px; font-weight:800; padding:3px 9px; border-radius:20px; color:var(--mute); } .lang a.on, .lang a:hover { background:var(--accent); color:#16181d; }
.quick { display:inline-flex; gap:4px; margin:0 10px 0 0; } .quick input { padding:5px 10px; border-radius:20px; border:1px solid var(--line); background:var(--panel); color:var(--text); font-size:13px; width:130px; } .quick button { padding:4px 10px; }
