:root{--bg: #f6f5f2;--surface: #ffffff;--surface-2: #faf9f7;--border: #e3e0da;--border-strong: #78736a;--text: #1c2430;--muted: #5d6673;--accent: #0f5c63;--accent-ink: #ffffff;--accent-soft: #e3f0f0;--focus: #0f5c63;--high: #a4262c;--high-bg: #fbeaea;--medium: #8a5300;--medium-bg: #fdf1df;--low: #3b5b8a;--low-bg: #e9eff8;--ok: #2e6b3a;--ok-bg: #e6f2e8;--info: #555f6b;--info-bg: #eeeff1;--radius: 6px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Noto Sans Devanagari", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--chart-1: #0891a0;--chart-flag: #c0392b;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #12161b;--surface: #1a2027;--surface-2: #161b21;--border: #323c47;--border-strong: #627284;--text: #e6e9ed;--muted: #9aa4b0;--accent: #5fb3ba;--accent-ink: #0b1418;--accent-soft: #183236;--focus: #7fd0d6;--high: #f08b8f;--high-bg: #3a1d20;--medium: #e9b062;--medium-bg: #3a2c16;--low: #94b4e6;--low-bg: #1c2a40;--ok: #86c995;--ok-bg: #18301d;--info: #b4bcc6;--info-bg: #252c34;--chart-1: #26a6b3;--chart-flag: #e5534b;color-scheme:dark}}:root[data-theme=dark]{--bg: #12161b;--surface: #1a2027;--surface-2: #161b21;--border: #323c47;--border-strong: #627284;--text: #e6e9ed;--muted: #9aa4b0;--accent: #5fb3ba;--accent-ink: #0b1418;--accent-soft: #183236;--focus: #7fd0d6;--high: #f08b8f;--high-bg: #3a1d20;--medium: #e9b062;--medium-bg: #3a2c16;--low: #94b4e6;--low-bg: #1c2a40;--ok: #86c995;--ok-bg: #18301d;--info: #b4bcc6;--info-bg: #252c34;--chart-1: #26a6b3;--chart-flag: #e5534b;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{overflow-x:clip}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}h1{font-size:22px;line-height:1.25;margin:0;font-weight:650;letter-spacing:-.01em}h2{font-size:16px;margin:0 0 var(--s3);font-weight:650}h3{font-size:14px;margin:0 0 var(--s2);font-weight:650}p{margin:0 0 var(--s3)}a{color:var(--accent);text-underline-offset:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}summary{cursor:pointer;-webkit-user-select:none;user-select:none}summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius)}.skip-link{position:absolute;top:-100px;left:16px;z-index:9999;background:var(--surface);color:var(--accent);padding:8px 16px;border:2px solid var(--focus);border-radius:var(--radius);font-weight:600;text-decoration:none}.skip-link:focus-visible{top:16px}.num,td.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.mono{font-family:var(--mono);font-size:12px}.muted{color:var(--muted)}.small{font-size:12.5px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{display:grid;grid-template-columns:224px 1fr;min-height:100%}.side{background:var(--surface);border-right:1px solid var(--border);padding:var(--s4) var(--s3);display:flex;flex-direction:column;gap:var(--s1);position:sticky;top:0;height:100vh;overflow-y:auto}.side-menu{display:contents}.menu-toggle{display:none}.brand{font-weight:700;padding:var(--s1) var(--s2) var(--s4);letter-spacing:-.01em}.brand small{display:block;font-weight:400;color:var(--muted);font-size:12px}.side a{display:block;padding:7px var(--s2);border-radius:var(--radius);color:var(--text);text-decoration:none}.side a:hover{background:var(--surface-2)}.side a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.side .grow{flex:1}.main{padding:var(--s5) var(--s6);min-width:0;max-width:1360px}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s5);flex-wrap:wrap}.pagehead .crumbs{font-size:12.5px;color:var(--muted);margin-bottom:var(--s1)}.pagehead .crumbs a{color:var(--muted)}.pagehead .crumbs a:hover,.pagehead .crumbs a:focus-visible{color:var(--accent);text-decoration:underline}.row{display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap}.stack>*+*{margin-top:var(--s4)}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:var(--s4)}.tests-grid{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:var(--s4)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:var(--s3)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s4);min-width:0}.panel.flush{padding:0;overflow:hidden}.panel>header{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap}.panel.flush>header{padding:var(--s3) var(--s4);margin:0;border-bottom:1px solid var(--border)}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s3) var(--s4);text-decoration:none;color:inherit;display:block;min-width:0}.kpi .v{font-size:24px;font-weight:650;font-variant-numeric:tabular-nums}.kpi .l{color:var(--muted);font-size:12.5px}a.kpi:hover{border-color:var(--border-strong)}.callout{border-left:3px solid var(--accent);background:var(--accent-soft);padding:var(--s3) var(--s4);border-radius:0 var(--radius) var(--radius) 0;overflow-wrap:anywhere}.callout.warn{border-color:var(--medium);background:var(--medium-bg)}.callout.err{border-color:var(--high);background:var(--high-bg)}.demo-banner{background:var(--medium-bg);color:var(--medium);border-bottom:1px solid var(--border);padding:6px var(--s6);font-size:12.5px;font-weight:600}.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}table{width:100%;min-width:100%;border-collapse:collapse}th,td{padding:8px var(--s3);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{font-size:12px;font-weight:600;color:var(--muted);background:var(--surface-2);white-space:nowrap;position:sticky;top:0}tbody tr:hover{background:var(--surface-2)}tr.expanded>td{background:var(--surface-2)}button,.btn{font:inherit;font-weight:550;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:6px 12px;border-radius:var(--radius);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;line-height:1.4}button:hover:not(:disabled),.btn:hover{border-color:var(--text)}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.primary:hover:not(:disabled){filter:brightness(1.08);border-color:var(--accent)}button.danger{color:var(--high)}button.link{border:0;background:none;padding:0;color:var(--accent);font-weight:500;min-height:24px}button:disabled{opacity:.5;cursor:not-allowed}label{display:block;font-size:12.5px;font-weight:600;margin-bottom:var(--s1)}label .hint{font-weight:400;color:var(--muted)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:6px 10px;width:100%}textarea{min-height:80px;resize:vertical}input[type=checkbox],input[type=radio]{width:auto}.field{margin-bottom:var(--s3);min-width:0}.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:0 var(--s4)}.tabs{display:flex;gap:var(--s1);border-bottom:1px solid var(--border);margin-bottom:var(--s4);overflow-x:auto}.tabs a,.tabs button{border:0;background:none;border-bottom:2px solid transparent;border-radius:0;padding:8px var(--s3);color:var(--muted);text-decoration:none;font-weight:550;white-space:nowrap}.tabs a.active,.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.badge{display:inline-block;font-size:12px;font-weight:650;padding:1px 8px;border-radius:999px;background:var(--info-bg);color:var(--info);white-space:nowrap}.badge.high{background:var(--high-bg);color:var(--high)}.badge.medium{background:var(--medium-bg);color:var(--medium)}.badge.low{background:var(--low-bg);color:var(--low)}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.progress{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress>div{height:100%;background:var(--accent);transition:width .3s ease}.skeleton{background:linear-gradient(90deg,var(--border) 0%,var(--surface-2) 50%,var(--border) 100%);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:var(--radius);height:14px}@keyframes sk{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton,.progress>div{animation:none;transition:none}}.guidance dt{font-weight:650;margin-top:var(--s3)}.guidance dd{margin:var(--s1) 0 0}.kv{display:grid;grid-template-columns:160px 1fr;gap:6px var(--s4);margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.login{max-width:380px;width:100%;margin:12vh auto}@media(max-width:860px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:0;border-bottom:1px solid var(--border);padding:var(--s2) var(--s4);overflow:visible}.brand{padding:var(--s1) var(--s2);flex:1;min-width:0}.menu-toggle{display:inline-flex}.side-menu{display:none;width:100%;flex-direction:column;gap:var(--s1);padding-top:var(--s2)}.side-menu.open{display:flex}.side .grow{display:none}.main{padding:var(--s4);min-width:0}.kv,.tests-grid{grid-template-columns:1fr}.demo-banner{padding:6px var(--s4)}}@media(max-width:480px){.main,.panel{padding:var(--s3)}.pagehead{gap:var(--s2);margin-bottom:var(--s3)}.tabs a,.tabs button{padding:6px var(--s2);font-size:13px}.demo-banner{padding:6px var(--s2);font-size:12px}.login{margin:4vh auto}}@media(pointer:coarse){button,.btn,.side a,.tabs a,.tabs button,select,input:not([type=checkbox]):not([type=radio]){min-height:44px}button.link{min-height:44px;padding:0 var(--s1)}input,select,textarea{font-size:16px}input[type=checkbox],input[type=radio]{width:22px;height:22px}.side a{display:flex;align-items:center}}.chart{width:100%;height:auto;display:block}.chart .grid{stroke:var(--border);stroke-width:1}.chart .axis{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.chart .bar{fill:var(--chart-1)}.chart .bar.flag{fill:var(--chart-flag)}.chart .expected{stroke:var(--text);stroke-width:2}.chart .hit:hover+.bar,.chart .hit:focus+.bar{opacity:.8}.chart .hit{fill:transparent}.legend{display:flex;gap:var(--s4);flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-bottom:var(--s2)}.legend i{display:inline-block;width:12px;height:12px;border-radius:2px;vertical-align:-1px;margin-right:6px}.legend i.tick{height:2px;vertical-align:3px;background:var(--text)}.prose{max-width:78ch;line-height:1.65}.prose h2{margin-top:var(--s5)}.prose h3{font-size:18px;margin-top:var(--s6)}.prose h4{font-size:15px;margin-top:var(--s5)}.prose h5,.prose h6{margin-top:var(--s4)}.prose li+li{margin-top:4px}.prose code{font-family:var(--mono);font-size:.9em}.prose pre{overflow-x:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s3);font-family:var(--mono);font-size:12.5px;line-height:1.4}.prose blockquote{margin:var(--s3) 0;padding:var(--s2) var(--s4);border-left:3px solid var(--border);color:var(--muted)}.prose table{margin:var(--s3) 0}.prose hr{border:0;border-top:1px solid var(--border);margin:var(--s4) 0}.lessons li{padding:4px 0}h1[tabindex="-1"]:focus{outline:none}[data-mode=expert] .help{display:none}.report h1{margin:8px 0 4px}.report-section{margin-top:var(--s5, 24px)}.report-block{border-top:1px solid var(--border);padding-top:8px;margin-top:8px}.print-only{display:none}@media print{@page{size:A4;margin:14mm 12mm 16mm}:root,:root[data-theme=dark]{--bg: #fff;--surface: #fff;--surface-2: #fff;--text: #000;--muted: #333;--border: #999;--border-strong: #666}body{background:#fff!important;color:#000!important;font-size:10.5pt}.shell{display:block}.side,.tabs,.skip-link,.no-print,button,.btn,form,select,.demo-banner{display:none!important}.main{padding:0!important;max-width:none!important}.panel{border:0!important;box-shadow:none!important;padding:0!important;background:#fff!important}.print-only{display:block}a{color:#000;text-decoration:none}table{border-collapse:collapse;width:100%;font-size:9pt}th,td{border:1px solid #999;padding:3px 5px}thead{display:table-header-group}tr,.report-block,dl.kv{break-inside:avoid}h1,h2,h3{break-after:avoid;color:#000}.tablewrap{overflow:visible!important}.badge{border:1px solid #666;background:#fff!important;color:#000!important}details:not([open])>*:not(summary){display:block}}
