:root{--bg:#fafaf8;--surface:#ffffff;--ink:#1a1d21;--ink-soft:#5c6470;--line:#e4e2dc;--accent:#1f4e8c;--accent-soft:#eef3fa;--good:#1a7f4e;--good-soft:#e9f6ef;--warn:#a8630a;--warn-soft:#fdf3e4;--bad:#b3372f;--bad-soft:#fbecea;--mono:ui-monospace,"Cascadia Code",Consolas,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{border-bottom:1px solid var(--line);background:var(--surface);position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar-inner{max-width:960px;margin:0 auto;padding:14px 24px;display:flex;align-items:baseline;gap:28px}.brand{font-weight:700;letter-spacing:.02em;color:var(--ink)}.brand span{color:var(--accent)}.topbar nav{display:flex;gap:18px;font-size:14px}.topbar nav a{color:var(--ink-soft)}.topbar nav a:hover{color:var(--accent);text-decoration:none}main{max-width:960px;margin:0 auto;padding:28px 24px 80px}h1{font-size:22px;margin-bottom:4px}.subtitle{color:var(--ink-soft);font-size:14px;margin-bottom:24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px 20px;margin-bottom:14px}.card h3{font-size:16px;margin-bottom:4px}.meta{color:var(--ink-soft);font-size:13px;display:flex;flex-wrap:wrap;gap:6px 14px;margin:4px 0 8px}.badge{display:inline-block;font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.badge.type{background:var(--accent-soft);color:var(--accent)}.badge.ok{background:var(--good-soft);color:var(--good)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.neutral{background:#f0f0ed;color:var(--ink-soft)}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.filters input,.filters select,input[type=text],input[type=url],select,textarea{font:inherit;font-size:13.5px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}.filters input{flex:1 1;min-width:180px}button{font:inherit;font-size:14px;font-weight:600;padding:8px 18px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--accent)}button.small{font-size:12.5px;padding:4px 12px}.point{border-top:1px solid var(--line);padding:18px 0}.point-label{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase}.point h4{font-size:15.5px;margin:4px 0 10px}.field{margin-bottom:10px}.field-label{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px}blockquote{border-left:3px solid var(--accent);background:var(--accent-soft)}.analysis,blockquote{padding:8px 12px;border-radius:0 6px 6px 0;font-size:14px}.analysis{border-left:3px solid var(--warn);background:var(--warn-soft)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mono{font-family:var(--mono);font-size:13px}.notice{border:1px solid var(--line);border-radius:8px;padding:12px 16px;font-size:14px;margin-bottom:16px}.notice.error{background:var(--bad-soft);border-color:#eac6c2;color:var(--bad)}.notice.warn{background:var(--warn-soft);border-color:#eedcbe;color:var(--warn)}.notice.info{background:var(--accent-soft);border-color:#cdddf2;color:var(--accent)}.original{white-space:pre-wrap;font-family:var(--mono);font-size:12.5px;line-height:1.6;max-height:420px;overflow-y:auto;background:#f6f6f3;border:1px solid var(--line);border-radius:8px;padding:14px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:8px}@keyframes spin{to{transform:rotate(1turn)}}.empty{color:var(--ink-soft);text-align:center;padding:60px 0}.brief-body h3{font-size:16px;margin:18px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line);color:var(--accent)}.brief-body h4{font-size:14.5px;margin:12px 0 6px}.brief-body p{margin:8px 0}.brief-body ul{padding-left:22px;margin:8px 0}.brief-body li{margin-bottom:5px}.brief-body .src-line{font-size:12.5px;color:var(--ink-soft);margin:2px 0}