:root{--bg:#f5f6f8;--panel:#fff;--border:#e3e6ea;--text:#1c2430;--muted:#6b7280;--accent:#1f5eff;--accent-soft:#e8efff;--chip:#eef1f5;--danger:#c0392b;--radius:8px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font:14px/1.45 var(--font);margin:0;padding:0}a{color:var(--accent);text-decoration:none}button{font:inherit;cursor:pointer}input[type=search],input[type=text]{font:inherit}.app{grid-template-columns:290px minmax(0,1fr);min-height:100vh;display:grid}@media (max-width:860px){.app{grid-template-columns:1fr}.sidebar{max-height:none!important;position:static!important}}.sidebar{background:var(--panel);border-right:1px solid var(--border);max-height:100vh;padding:14px;position:sticky;top:0;overflow:auto}.sidebar h1{margin:0 0 4px;font-size:16px}.sidebar .sub{color:var(--muted);margin-bottom:12px;font-size:12px}.facet{border-top:1px solid var(--border);padding:6px 0}.facet summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 0;font-weight:600;list-style:none;display:flex}.facet summary:before{content:"▸";color:var(--muted);font-size:11px;transition:transform .12s}.facet[open] summary:before{transform:rotate(90deg)}.facet summary .cnt{background:var(--accent);color:#fff;border-radius:10px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:600}.facet .opts{flex-direction:column;gap:2px;padding:2px 0 6px;display:flex}.facet label{cursor:pointer;border-radius:4px;align-items:flex-start;gap:7px;padding:3px 4px;display:flex}.facet label:hover{background:var(--accent-soft)}.facet label input{flex:none;margin:3px 0 0}.facet label .v{overflow-wrap:anywhere;flex:1;min-width:0}.facet label .n{color:var(--muted);flex:none;font-size:12px}.facet .more{color:var(--accent);text-align:left;background:0 0;border:none;padding:2px 4px;font-size:12px}.facet .mini{border:1px solid var(--border);border-radius:6px;width:100%;margin-bottom:4px;padding:5px 7px}.main{min-width:0;padding:14px 18px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.toolbar .search{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);flex:280px;padding:9px 12px}.toolbar select{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);font:inherit;padding:8px}.btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);align-items:center;padding:8px 12px;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn:disabled{opacity:.5;cursor:default}.chips{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.chip{background:var(--chip);border-radius:14px;align-items:center;gap:6px;max-width:100%;padding:3px 8px 3px 10px;font-size:12px;display:inline-flex}.chip b{font-weight:600}.chip button{color:var(--muted);background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.chip button:hover{color:var(--danger)}.clear{color:var(--accent);background:0 0;border:none;font-size:12px}.status{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.status b{color:var(--text)}.tablewrap{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}table{border-collapse:collapse;width:100%;min-width:900px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}th{color:var(--muted);white-space:nowrap;background:#fafbfc;font-size:12px;font-weight:600;position:sticky;top:0}tbody tr{cursor:pointer}tbody tr:hover{background:var(--accent-soft)}tbody tr.loading td{opacity:.5}td .name{font-weight:600}td .sub{color:var(--muted);font-size:12px}td .tag{background:var(--chip);border-radius:4px;margin:1px 3px 1px 0;padding:1px 6px;font-size:12px;display:inline-block}td .site-lawsikho{color:#a4262c;background:#ffe9e9}td .site-skillarbitrage{color:#1e6b3a;background:#e6f4ea}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:320px;display:-webkit-box;overflow:hidden}.empty{text-align:center;color:var(--muted);padding:40px}.pager{color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.overlay{z-index:10;background:#14182059;position:fixed;inset:0}.drawer{background:var(--panel);z-index:11;width:min(560px,100%);padding:18px 20px;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-4px 0 20px #0000001f}.drawer h2{margin:0 0 2px;font-size:18px}.drawer .close{background:var(--chip);border:none;border-radius:50%;width:30px;height:30px;font-size:16px;position:absolute;top:12px;right:14px}.drawer h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 6px;font-size:13px}.kv{grid-template-columns:160px 1fr;gap:4px 10px;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}.qa{border-top:1px solid var(--border);padding:7px 0}.qa .q{color:var(--muted);font-size:12px}.qa .a{overflow-wrap:anywhere;margin-top:2px}.qa .o{color:var(--muted);font-size:12px;font-style:italic}.prog{margin-top:6px}.prog .bar{background:var(--chip);border-radius:3px;height:6px;overflow:hidden}.prog .bar span{background:var(--accent,#2563eb);border-radius:3px;height:100%;display:block}.prog .nums{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:12px;display:flex}.prog .nums b{color:var(--text,inherit);font-variant-numeric:tabular-nums;font-weight:600}.login{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;width:min(380px,100%);padding:28px;display:flex}.login-card h1{margin:0;font-size:20px}.login-card .sub{color:var(--muted);margin:-8px 0 4px}.login-card label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.login-card input{border:1px solid var(--border);border-radius:var(--radius);font:inherit;color:var(--text);padding:9px 11px}.login-card .btn{justify-content:center;margin-top:4px}.login-error{color:var(--danger);background:#fdecea;border-radius:6px;padding:8px 10px;font-size:13px}.who{margin:0 0 10px}.signout{background:var(--accent);border-color:var(--accent);color:#fff;padding:7px 14px;font-weight:600}.signout:hover{color:#fff;background:#1749c9;border-color:#1749c9}.notice{color:#6b5300;border-radius:var(--radius);background:#fff8e1;border:1px solid #f3e2a0;margin-bottom:10px;padding:8px 12px;font-size:12px}
