:root{--bg: #fafaf9;--surface: #ffffff;--surface-2: #f5f5f4;--border: #e7e5e4;--border-2: #d6d3d1;--ink: #1c1917;--ink-2: #44403c;--ink-3: #78716c;--ink-4: #a8a29e;--accent: oklch(.55 .13 270);--accent-soft: oklch(.96 .02 270);--accent-ink: oklch(.42 .13 270);--video: oklch(.55 .13 25);--video-soft: oklch(.97 .02 25);--text-tag: oklch(.55 .11 165);--text-tag-soft: oklch(.97 .02 165);--warn: oklch(.65 .14 70);--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--shadow-sm: 0 1px 0 rgba(28, 25, 23, .04), 0 1px 2px rgba(28, 25, 23, .04);--shadow-md: 0 4px 12px -2px rgba(28, 25, 23, .08), 0 2px 4px -1px rgba(28, 25, 23, .04);--shadow-lg: 0 20px 50px -12px rgba(28, 25, 23, .18), 0 8px 20px -6px rgba(28, 25, 23, .1);--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--pad-x: 28px;--gap-row: 24px;--card-pad: 20px;--card-gap: 16px}[data-density=compact]{--pad-x: 20px;--gap-row: 14px;--card-pad: 14px;--card-gap: 10px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-feature-settings:"ss01","cv11";background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:18px;height:56px;padding:0 var(--pad-x);background:#fafaf9d9;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:9px;font-weight:600;letter-spacing:-.01em;font-size:14.5px;color:var(--ink)}.brand-mark{width:22px;height:22px;border-radius:5px;background:var(--ink);display:grid;place-items:center;color:#fff;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:-.02em}.brand-tag{font-family:var(--font-mono);color:var(--ink-4);font-size:11px;padding-left:10px;margin-left:4px;border-left:1px solid var(--border)}.topbar-search{flex:1;max-width:720px;position:relative;display:flex;align-items:center}.topbar-search input{width:100%;height:34px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:0 86px 0 36px;font-size:13.5px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}.topbar-search input:focus{border-color:var(--ink-3);box-shadow:0 0 0 3px #1c19170f}.topbar-search .ic{position:absolute;left:11px;width:14px;height:14px;color:var(--ink-4);pointer-events:none}.topbar-search kbd{position:absolute;right:8px;font-family:var(--font-mono);font-size:10.5px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;color:var(--ink-3);pointer-events:none}.topbar-actions{display:flex;align-items:center;gap:6px}.icon-btn{height:30px;width:30px;border:1px solid transparent;background:transparent;border-radius:var(--r-md);color:var(--ink-3);display:grid;place-items:center;transition:all .12s}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.shell{display:grid;grid-template-columns:240px 1fr;gap:0;flex:1;min-height:0}.sidebar{border-right:1px solid var(--border);padding:22px 18px;background:var(--bg);position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto}.sb-section{margin-bottom:22px}.sb-section h4{margin:0 0 8px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);font-family:var(--font-mono)}.checklist{display:flex;flex-direction:column;gap:2px}.check{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:var(--r-md);font-size:13px;color:var(--ink-2);cursor:pointer;transition:background .12s;-webkit-user-select:none;user-select:none}.check:hover{background:var(--surface-2)}.check .box{width:14px;height:14px;border:1px solid var(--border-2);border-radius:3px;background:var(--surface);display:grid;place-items:center;flex-shrink:0}.check.on .box{background:var(--ink);border-color:var(--ink)}.check.on .box svg{color:#fff}.check .box svg{width:10px;height:10px;color:transparent}.check .count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.range{padding:4px 6px 2px;display:flex;flex-direction:column;gap:8px}.range-label{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.range input[type=range]{width:100%;accent-color:var(--ink)}.date-range{display:flex;flex-direction:column;gap:3px;padding:0 6px}.date-range button{text-align:left;background:transparent;border:none;padding:6px 8px;border-radius:var(--r-md);font-size:13px;color:var(--ink-2);display:flex;align-items:center;justify-content:space-between}.date-range button:hover{background:var(--surface-2)}.date-range button.on{background:var(--ink);color:#fff}.date-range button .count{font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.date-range button.on .count{color:#fff9}.tag-cloud{display:flex;flex-wrap:wrap;gap:5px;padding:0 4px}.tag-chip{font-family:var(--font-mono);font-size:11px;padding:3px 7px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:all .12s}.tag-chip:hover{border-color:var(--border-2)}.tag-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.main{padding:20px var(--pad-x) 60px;min-width:0}.results-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px;flex-wrap:wrap}.results-title h1{margin:0 0 4px;font-size:22px;font-weight:600;letter-spacing:-.02em}.results-title .meta{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-4);display:flex;gap:10px;align-items:center}.results-title .meta .dot{width:2px;height:2px;background:var(--ink-4);border-radius:50%}.results-title .meta b{color:var(--ink-2);font-weight:500}.toolbar{display:flex;gap:8px;align-items:center}.seg{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:2px;gap:0}.seg button{background:transparent;border:none;padding:5px 10px;border-radius:4px;font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:6px}.seg button.on{background:var(--ink);color:#fff}.seg button.on svg{color:#fff}.seg button svg{width:12px;height:12px}.select{position:relative;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);font-size:12.5px;color:var(--ink-2);cursor:pointer;transition:all .12s}.select:hover{border-color:var(--border-2)}.select svg{width:11px;height:11px;color:var(--ink-4)}.select .lbl{color:var(--ink-4);font-size:11.5px}.select .val{color:var(--ink);font-size:12.5px}.select select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;outline:none;padding:0;margin:0;font-size:12.5px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--card-gap)}[data-density=compact] .grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--card-pad);display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative}.card:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.type-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px 2px 6px;border-radius:3px;font-weight:500}.type-badge.video{background:var(--video-soft);color:var(--video)}.type-badge.text{background:var(--text-tag-soft);color:var(--text-tag)}.type-badge svg{width:10px;height:10px}.score-pill{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--ink);background:var(--surface-2);border:1px solid var(--border);padding:2px 7px;border-radius:var(--r-sm);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.card h3{margin:0;font-size:15px;font-weight:500;line-height:1.35;letter-spacing:-.015em;color:var(--ink);text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}[data-density=spacious] .card h3{font-size:16px;-webkit-line-clamp:3}.card .snippet{margin:0;font-size:13px;color:var(--ink-3);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}[data-density=spacious] .card .snippet{-webkit-line-clamp:3}[data-density=compact] .card .snippet{display:none}.card-tags{display:flex;flex-wrap:wrap;gap:4px}.card-tag{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3);background:var(--surface-2);padding:1px 6px;border-radius:3px}.card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.card-foot .stats{display:flex;gap:10px;align-items:center}.card-foot .stats span{display:inline-flex;align-items:center;gap:4px}.card-foot .stats svg{width:10px;height:10px}.card-foot .provider-tag{display:inline-flex;align-items:center;gap:5px}.card-foot .provider-tag .ind{width:5px;height:5px;border-radius:50%}.ind.json{background:#009cce;background:oklch(.65 .14 230)}.ind.xml{background:#5da34d}.hl{background:#ffeab1;background:oklch(.94 .1 90);color:var(--ink);border-radius:2px;padding:0 2px;margin:0 -2px}.pager{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid var(--border)}.pager .info{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3)}.pager .pages{display:flex;align-items:center;gap:4px}.pager button{min-width:28px;height:28px;padding:0 8px;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);color:var(--ink-2);font-family:var(--font-mono);font-size:12px;display:grid;place-items:center;transition:all .12s}.pager button:hover:not(:disabled):not(.on){border-color:var(--border-2);background:var(--surface-2)}.pager button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.pager button:disabled{color:var(--ink-4);cursor:not-allowed}.pager .ell{color:var(--ink-4);padding:0 4px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c191752;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;display:flex;align-items:stretch;justify-content:flex-end;animation:fade .18s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.detail{width:min(720px,100%);background:var(--surface);height:100%;overflow-y:auto;border-left:1px solid var(--border);animation:slide .22s ease;display:flex;flex-direction:column}.detail header{position:sticky;top:0;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:5}.detail header .crumb{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-4);display:flex;align-items:center;gap:8px}.detail-body{padding:28px 32px 60px}.detail h2{margin:14px 0 16px;font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.2;text-wrap:balance}.detail .badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.score-card{margin:22px 0 24px;border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px;background:var(--surface-2);display:flex;align-items:center;gap:20px}.score-card .num{font-family:var(--font-mono);font-size:36px;font-weight:500;letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums}.score-card .lbl{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);margin-bottom:2px}.score-card .sub{font-size:13px;color:var(--ink-3)}.score-card .bar{flex:1;height:6px;background:var(--surface);border:1px solid var(--border);border-radius:999px;overflow:hidden}.score-card .bar>div{height:100%;background:var(--ink);border-radius:999px}.detail-media{aspect-ratio:16/9;background:repeating-linear-gradient(135deg,var(--surface-2) 0 8px,var(--bg) 8px 16px);border:1px solid var(--border);border-radius:var(--r-lg);position:relative;display:grid;place-items:center;font-family:var(--font-mono);font-size:12px;color:var(--ink-4);margin-bottom:22px}.detail-media .play{width:56px;height:56px;background:var(--surface);border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;color:var(--ink);box-shadow:var(--shadow-md)}.detail-media .play svg{width:20px;height:20px}.detail-section{border-top:1px solid var(--border);padding-top:22px;margin-top:22px}.detail-section h5{margin:0 0 12px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);font-weight:500}.detail p{color:var(--ink-2);line-height:1.65;font-size:14px}.kv{display:grid;grid-template-columns:130px 1fr;gap:6px 14px;font-size:13px}.kv dt{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-4)}.kv dd{margin:0;color:var(--ink-2);font-variant-numeric:tabular-nums}.kv dd code{font-family:var(--font-mono);font-size:11.5px;background:var(--surface-2);padding:1px 6px;border-radius:3px;border:1px solid var(--border)}.related{display:grid;grid-template-columns:1fr 1fr;gap:8px}.related .r-card{padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:all .15s;background:var(--surface)}.related .r-card:hover{border-color:var(--border-2);background:var(--surface-2)}.related .r-card .r-title{font-size:13px;font-weight:500;color:var(--ink);margin-bottom:6px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related .r-card .r-foot{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-4)}.empty{padding:80px 20px;text-align:center;border:1px dashed var(--border-2);border-radius:var(--r-lg);background:var(--surface)}.empty h3{font-size:16px;margin:0 0 6px;font-weight:500}.empty p{color:var(--ink-3);margin:0 0 16px;font-size:13px}.empty .clear{background:var(--ink);color:#fff;border:none;padding:7px 14px;border-radius:var(--r-md);font-size:12.5px}.shimmer{background:linear-gradient(90deg,var(--surface-2) 0%,#ececea 40%,var(--surface-2) 80%);background-size:200% 100%;animation:shim 1.2s infinite linear;border-radius:4px}@keyframes shim{0%{background-position:200% 0}to{background-position:-200% 0}}.sidebar::-webkit-scrollbar,.detail::-webkit-scrollbar{width:8px;height:8px}.sidebar::-webkit-scrollbar-thumb,.detail::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}.sidebar::-webkit-scrollbar-track,.detail::-webkit-scrollbar-track{background:transparent}
