:root{--bg: #f6f7f9;--surface: #ffffff;--text: #15181d;--muted: #667085;--line: #e4e7ec;--accent: #2457d6;--accent-soft: #e8efff;--error: #c62828;--error-soft: #fdecec;--warn: #b26a00;--warn-soft: #fff4e0;--info: #3b5bdb;--info-soft: #eef2ff;--ok: #1b7f3b;--ok-soft: #e6f5ea;--radius: 10px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 var(--font)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}code,.mono{font-family:var(--mono);font-size:13px}h1{font-size:22px;margin:0 0 4px;font-weight:650;letter-spacing:-.01em}h2{font-size:17px;margin:0 0 10px;font-weight:650}h3{font-size:15px;margin:0 0 6px;font-weight:650}p{margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:13px}.topbar{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar .in{max-width:1180px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:18px}.brand{font-weight:700;letter-spacing:-.02em;font-size:17px;color:var(--text)}.brand span{color:var(--accent)}.nav a{color:var(--muted);padding:6px 10px;border-radius:6px;font-weight:500}.nav a.active,.nav a:hover{color:var(--text);background:var(--bg);text-decoration:none}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.page{max-width:1180px;margin:0 auto;padding:22px 20px 60px}.grid{display:grid;gap:14px}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:860px){.cols-3,.cols-4{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cols-3,.cols-4{grid-template-columns:1fr}.page{padding:14px 12px 40px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.card.tight{padding:12px 14px}.stat{display:flex;flex-direction:column;gap:2px}.stat .n{font-size:26px;font-weight:650;letter-spacing:-.02em}.stat .l{color:var(--muted);font-size:13px}.stat.error .n{color:var(--error)}.stat.warn .n{color:var(--warn)}.stat.info .n{color:var(--info)}.stat.ok .n{color:var(--ok)}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:7px 13px;border-radius:8px;font-weight:500}.btn:hover{background:var(--bg)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(.95)}.btn.sm{padding:4px 10px;font-size:13px;border-radius:7px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{border-color:transparent;background:transparent}.btn.danger{color:var(--error)}.btn.danger.fill{background:var(--error);border-color:var(--error);color:#fff}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}.seg button{border:0;background:transparent;padding:6px 12px;color:var(--muted);font-weight:500}.seg button.on{background:var(--accent-soft);color:var(--accent)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label{font-size:13px;color:var(--muted);font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--surface)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.help{font-size:13px;color:var(--muted)}.err{color:var(--error);font-size:14px;margin:8px 0}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--muted);font-weight:500;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table tr.click{cursor:pointer}.table tr.click:hover td{background:#fafbfc}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:18px;white-space:nowrap}.badge.error{background:var(--error-soft);color:var(--error)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.gray{background:#eef0f3;color:var(--muted)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:middle}.dot.error{background:var(--error)}.dot.warn{background:var(--warn)}.dot.info{background:var(--info)}.finding{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:10px}.finding .head{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;cursor:pointer}.finding .head .t{flex:1;min-width:0}.finding .head .title{font-weight:550}.finding .head .sub{color:var(--muted);font-size:13px;margin-top:2px}.finding .body{border-top:1px solid var(--line);padding:14px 16px 16px;display:grid;grid-template-columns:1.2fr 1fr;gap:18px}@media(max-width:760px){.finding .body{grid-template-columns:1fr}}.finding .about{color:var(--muted);font-size:13px;margin-bottom:8px}.finding pre{white-space:pre-wrap;font:inherit;margin:0 0 8px}.objects{list-style:none;padding:0;margin:6px 0 0;font-size:13px}.objects li{padding:3px 0;border-top:1px dashed var(--line)}.objects li:first-child{border-top:0}.fixbox{background:var(--bg);border-radius:8px;padding:12px 14px}.fixbox .opt{display:flex;gap:8px;align-items:flex-start;padding:6px 0}.fixbox .opt input{margin-top:4px}.needs{color:var(--warn);font-size:12.5px}.decided{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.finding.agree{border-left:4px solid var(--ok)}.finding.alt{border-left:4px solid var(--info)}.finding.skip{opacity:.6}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.filters select{border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--surface)}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 11px;font-size:13px;color:var(--muted)}.chip.on{background:var(--text);color:#fff;border-color:var(--text)}.progress{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.progress>div{height:100%;background:var(--accent);transition:width .3s}.login{max-width:520px;margin:60px auto}.login .card{padding:26px 28px}.login h1{margin-bottom:14px}.notice{background:var(--info-soft);color:var(--info);border-radius:8px;padding:10px 12px;font-size:13.5px;margin:10px 0}.notice.warn{background:var(--warn-soft);color:var(--warn)}.notice.ok{background:var(--ok-soft);color:var(--ok)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}details.sub>summary{cursor:pointer;color:var(--muted);font-size:13px}.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;font-size:14px}.kv .k{color:var(--muted)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#14181f73;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:var(--surface);border-radius:12px;padding:20px 22px;width:100%;max-width:560px}.landing{max-width:920px;margin:0 auto;padding:48px 20px 60px}.landing-brand{font-weight:800;font-size:22px;letter-spacing:-.03em;margin-bottom:18px}.landing-brand span{color:var(--accent)}.landing-hero h1{font-size:34px;line-height:1.15;letter-spacing:-.02em;margin:0 0 14px;max-width:760px}.landing-hero .lead{font-size:17px;color:#3a4150;max-width:700px;margin-bottom:18px}.landing-points{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:8px;max-width:720px}.landing-points li{padding-left:26px;position:relative;font-size:15px}.landing-points li:before{content:"✓";position:absolute;left:0;top:0;color:var(--ok);font-weight:700}.landing-form{max-width:560px;padding:22px 24px}.landing-form .field input{font-size:16px;padding:12px 14px}.btn.big{padding:12px 20px;font-size:16px;width:100%;justify-content:center;margin-top:12px}.linklike{background:none;border:0;padding:0;color:var(--accent);font-weight:500}.linklike:hover{text-decoration:underline}.howto{margin:10px 0 4px;display:grid;gap:6px;font-size:14.5px;background:var(--bg);border-radius:8px;padding:12px 12px 12px 30px}.landing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:32px}.step{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.step .num{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}.landing-foot{margin-top:28px}.disclaimer{font-size:12.5px;color:var(--muted);line-height:1.45}.app-foot{max-width:1100px;margin:36px auto 28px;padding:0 20px}.card.danger-zone{border-color:#f3d6d6}@media(max-width:720px){.landing{padding:28px 16px 40px}.landing-hero h1{font-size:26px}.landing-steps{grid-template-columns:1fr}}
