.i[data-v-52c19e0d]{flex:none}.side[data-v-fbbdd8ca]{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:20px 14px;border-right:1px solid var(--line);background:var(--surface)}.brand[data-v-fbbdd8ca]{display:flex;align-items:center;gap:10px;padding:0 8px 16px;font-weight:700}.brand-mark[data-v-fbbdd8ca]{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink)}.burger[data-v-fbbdd8ca]{display:none;margin-left:auto}.nav[data-v-fbbdd8ca]{display:grid;gap:2px}.nav-item[data-v-fbbdd8ca]{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-weight:500}.nav-item[data-v-fbbdd8ca]:hover{background:var(--surface-2);color:var(--ink)}.nav-item.on[data-v-fbbdd8ca]{background:var(--accent-soft);color:var(--accent)}.nav-sep[data-v-fbbdd8ca]{height:1px;margin:8px;background:var(--line)}.side-foot[data-v-fbbdd8ca]{margin-top:auto;display:grid;gap:10px;padding:16px 4px 0}.side-row[data-v-fbbdd8ca]{display:flex;align-items:center;justify-content:space-between;gap:8px}.user[data-v-fbbdd8ca]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:860px){.side[data-v-fbbdd8ca]{position:static;height:auto;padding:10px 16px;border-right:0;border-bottom:1px solid var(--line)}.brand[data-v-fbbdd8ca]{padding:0}.burger[data-v-fbbdd8ca]{display:inline-grid}.nav[data-v-fbbdd8ca],.side-foot[data-v-fbbdd8ca]{display:none}.side.open .nav[data-v-fbbdd8ca],.side.open .side-foot[data-v-fbbdd8ca]{display:grid}.side.open .nav[data-v-fbbdd8ca]{margin-top:12px}}.toasts[data-v-71d25247]{position:fixed;right:16px;bottom:16px;z-index:100;display:grid;gap:8px;max-width:min(420px,calc(100vw - 32px))}.toast[data-v-71d25247]{padding:12px 16px;border-radius:10px;background:var(--ink);color:var(--bg);font-size:14px;box-shadow:0 6px 24px #0000002e;cursor:pointer}.toast.error[data-v-71d25247]{background:var(--critical);color:#fff}.toast.success[data-v-71d25247]{background:var(--accent);color:var(--accent-ink)}:root{color-scheme:light;--bg: #f6f5f1;--surface: #fffefb;--surface-2: #f1f0ea;--surface-3: #e9e7df;--line: #e4e2da;--ink: #1d1c19;--ink-2: #55534d;--ink-3: #807d75;--accent: #2f6f62;--accent-hover: #285f54;--accent-soft: #e2eeea;--accent-ink: #ffffff;--code-bg: #faf9f5;--viz-1: #2a78d6;--viz-wash: rgba(42, 120, 214, .1);--grid: #e1e0d9;--axis: #c3c2b7;--good: #0ca30c;--warning: #fab219;--critical: #d03b3b;--good-text: #006300;--critical-text: #b42e2e;--shadow: 0 1px 2px rgba(29, 28, 25, .04), 0 2px 8px rgba(29, 28, 25, .04);--radius: 12px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #121211;--surface: #1a1a19;--surface-2: #232321;--surface-3: #2c2c29;--line: #2f2f2c;--ink: #f2f1ec;--ink-2: #c3c2b7;--ink-3: #8f8c84;--accent: #6fb8a6;--accent-hover: #86c7b7;--accent-soft: #1f3530;--accent-ink: #0f1f1b;--code-bg: #161615;--viz-1: #3987e5;--viz-wash: rgba(57, 135, 229, .14);--grid: #2c2c2a;--axis: #383835;--good-text: #0ca30c;--critical-text: #e66767;--shadow: none}}:root[data-theme=dark]{color-scheme:dark;--bg: #121211;--surface: #1a1a19;--surface-2: #232321;--surface-3: #2c2c29;--line: #2f2f2c;--ink: #f2f1ec;--ink-2: #c3c2b7;--ink-3: #8f8c84;--accent: #6fb8a6;--accent-hover: #86c7b7;--accent-soft: #1f3530;--accent-ink: #0f1f1b;--code-bg: #161615;--viz-1: #3987e5;--viz-wash: rgba(57, 135, 229, .14);--grid: #2c2c2a;--axis: #383835;--good-text: #0ca30c;--critical-text: #e66767;--shadow: none}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.55 Inter,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:var(--accent)}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:26px;line-height:1.25}h2{font-size:17px}h3{font-size:15px}p{margin:0}code,pre,.mono{font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-variant-ligatures:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--ink-3)}.ink-2{color:var(--ink-2)}.small{font-size:13px}.tiny{font-size:12px}.num{font-variant-numeric:tabular-nums}.row{display:flex;align-items:center;gap:8px}.row-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spacer{flex:1}.stack{display:grid;gap:16px;align-content:start}.stack-sm{display:grid;gap:8px;align-content:start}.grid{display:grid;gap:20px}.grid-2{display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.main{padding:32px 40px 64px;min-width:0}.page{max-width:1180px;margin:0 auto}.page-narrow{max-width:760px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-head p{margin-top:4px;color:var(--ink-2)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px 22px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-weight:500;text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{color:var(--critical-text)}.btn-ghost{border-color:transparent;background:none;color:var(--ink-2)}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink-2)}.icon-btn:hover{color:var(--ink);background:var(--surface-2)}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:12px;font-weight:500;white-space:nowrap}.chip-accent{background:var(--accent-soft);color:var(--accent)}.chip-outline{background:none;border:1px solid var(--line)}.dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}.dot-good{background:var(--good)}.dot-warn{background:var(--warning)}.dot-crit{background:var(--critical)}.dot-none{background:none;border:1.5px solid var(--ink-3)}.filter-chip{padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:13px}.filter-chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:500}.meter{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.meter>span{display:block;height:100%;border-radius:999px;background:var(--accent)}.list{list-style:none;margin:0;padding:0}.kbd{padding:1px 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;font-size:12px;font-family:JetBrains Mono,monospace;color:var(--ink-2)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;font-weight:500;color:var(--ink-3);padding:0 12px 8px}td{padding:11px 12px;border-top:1px solid var(--line);vertical-align:top}tr.click{cursor:pointer}tr.click:hover td{background:var(--surface-2)}.table-wrap{overflow-x:auto}.field{display:grid;gap:6px}.field>span,.label{font-size:13px;color:var(--ink-2)}.input,.select,.textarea{width:100%;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);outline:none}.select{height:38px;padding:0 10px}.select-sm{height:32px;font-size:13px;width:auto}.textarea{height:auto;min-height:90px;padding:10px 12px;resize:vertical;line-height:1.5}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.check-row{display:flex;align-items:flex-start;gap:10px;font-size:14px}.check-row input{margin-top:4px;accent-color:var(--accent)}.form-error{color:var(--critical-text);font-size:13px}.notice{padding:12px 14px;border-radius:10px;background:var(--surface-2);font-size:14px;color:var(--ink-2)}.notice-accent{background:var(--accent-soft);color:var(--accent)}.notice-warn{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--ink)}.seg{display:inline-flex;padding:3px;border-radius:9px;background:var(--surface-2);flex-wrap:wrap}.seg button{border:0;background:none;padding:4px 12px;border-radius:6px;font-size:13px;color:var(--ink-2)}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-weight:600}.empty{padding:40px 20px;text-align:center;color:var(--ink-3);display:grid;gap:12px;justify-items:center}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line)}.tab{padding:8px 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--ink-2);font-size:13px;font-weight:500}.tab.on{color:var(--ink);border-bottom-color:var(--accent)}.status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--ink-2)}.score{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:14px}.suggest{border:1px dashed var(--accent);border-radius:10px;padding:14px 16px;display:grid;gap:10px;font-size:14px}.answer-box{padding:14px 16px;border-radius:10px;background:var(--surface-2);font-size:14px}.spinner{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block;flex:none}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.md{overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 8px}.md ul,.md ol{margin:4px 0 8px;padding-left:20px}.md code{padding:1px 5px;border-radius:4px;background:var(--surface-3);font-size:.88em}.md pre{margin:8px 0;padding:10px 12px;border-radius:8px;background:var(--code-bg);border:1px solid var(--line);overflow-x:auto;font-size:12.5px}.md pre code{padding:0;background:none}.md table{margin:8px 0;font-size:13px}.md th,.md td{border:1px solid var(--line);padding:6px 8px}@media(max-width:1100px){.grid-2{grid-template-columns:minmax(0,1fr)}}@media(max-width:860px){.app{grid-template-columns:minmax(0,1fr)}.main{padding:20px 16px 48px}}
