:root{
  color-scheme:dark;
  --bg:#080a09;--surface:#0d100e;--surface-2:#121612;--surface-3:#182018;
  --text:#f5f3ed;--soft:#d9ddd6;--muted:#9da59b;--faint:#6e776d;
  --line:#2c332c;--line-2:#414b41;--accent:#c8ff3d;--accent-dark:#172100;
  --blue:#70d8ff;--purple:#d1a7ff;--good:#70e6a5;--bad:#ff8178;--hold:#ffc460;
  --sans:"Yu Gothic UI","Meiryo UI",Meiryo,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --max:1840px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}
.skip{position:fixed;left:14px;top:-70px;z-index:200;background:var(--accent);color:var(--accent-dark);padding:10px 14px;font-weight:800}.skip:focus{top:10px}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.demo-shell{width:100%;min-height:100vh}
.masthead{position:sticky;top:0;z-index:80;display:flex;align-items:center;gap:18px;min-height:54px;padding:7px clamp(10px,1.4vw,24px);border-bottom:1px solid var(--line);background:rgba(8,10,9,.96);backdrop-filter:blur(14px)}
.brand{display:flex;align-items:baseline;gap:18px;min-width:0}.brand strong{font:800 clamp(14px,1.4vw,21px)/1 var(--sans);letter-spacing:-.02em;white-space:nowrap}.brand .version{color:var(--accent);font:800 12px/1 var(--mono);white-space:nowrap}.sample-badge{padding:7px 12px;background:#ff7770;color:#fff;font-weight:800;white-space:nowrap}.site-links{margin-left:auto;display:flex;align-items:center;gap:8px}.site-links a,.site-links button{min-height:38px;padding:8px 12px;border:1px solid var(--line-2);background:var(--surface-2);text-decoration:none;font-weight:700;font-size:12px}.site-links a:hover,.site-links button:hover{border-color:var(--accent);color:var(--accent)}
.demo-note{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px clamp(10px,1.4vw,24px);border-bottom:1px solid var(--line);background:#0b0e0c;color:var(--muted);font-size:12px}.demo-note strong{color:var(--soft)}
.filters{padding:14px clamp(10px,1.4vw,24px);border-bottom:1px solid var(--line);background:var(--surface)}
.filter-grid{display:grid;grid-template-columns:170px 190px 190px 145px minmax(190px,1fr) minmax(190px,1fr);gap:10px;align-items:end;max-width:var(--max);margin:auto}.field{min-width:0}.field label{display:block;margin-bottom:5px;color:var(--muted);font:700 10px/1.2 var(--mono);letter-spacing:.04em}.control{width:100%;height:44px;border:1px solid var(--line-2);border-radius:0;background:var(--surface-3);padding:8px 12px}.control:hover{border-color:#697569}.filter-row-2{display:grid;grid-template-columns:minmax(210px,1fr) minmax(190px,1fr) minmax(190px,1fr) auto;gap:10px;align-items:end;max-width:var(--max);margin:10px auto 0}.actions{display:flex;gap:8px}.btn{height:44px;border:1px solid var(--line-2);background:var(--surface-2);padding:8px 14px;font-weight:800;white-space:nowrap}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-dark)}.btn:hover{border-color:var(--accent)}.filter-status{max-width:var(--max);margin:10px auto 0;color:var(--blue);font-size:11px}.filter-status span{margin-right:12px}.filter-status strong{color:var(--accent)}
.main-tabs{position:sticky;top:54px;z-index:70;display:flex;overflow-x:auto;border-bottom:1px solid var(--line-2);background:rgba(8,10,9,.97);scrollbar-width:thin}.main-tabs button{flex:0 0 auto;min-height:52px;padding:10px clamp(12px,1.4vw,24px);border:0;border-right:1px solid var(--line-2);border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:750}.main-tabs button[aria-selected="true"]{background:var(--surface-2);border-bottom-color:var(--accent);color:var(--accent)}
.workspace{max-width:var(--max);margin:auto;padding:0 clamp(10px,1.4vw,24px) 70px}.panel-page{display:none}.panel-page.active{display:block}.subtabs{display:flex;overflow-x:auto;margin:0 calc(clamp(10px,1.4vw,24px) * -1);border-bottom:1px solid var(--line-2);background:#090b0a}.subtabs button{flex:0 0 auto;min-height:46px;padding:8px 18px;border:0;border-right:1px solid var(--line-2);background:transparent;color:var(--muted);font-weight:700}.subtabs button[aria-selected="true"]{background:var(--surface-3);color:var(--accent)}
.scope-line{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:11px 0;color:var(--hold);font-size:12px}.scope-line span{color:var(--muted)}
.dashboard-section{margin-top:14px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:10px}.section-head h2{margin:0;font-size:19px}.section-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.section-code{color:var(--faint);font:700 10px/1 var(--mono);letter-spacing:.08em}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}.kpi{position:relative;min-height:122px;padding:16px 18px;background:var(--surface)}.kpi .label{display:flex;align-items:center;gap:6px;color:var(--muted);font-weight:700}.kpi .value{margin-top:14px;font-size:clamp(26px,2.4vw,39px);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.kpi .sub{margin-top:10px;color:var(--muted);font-size:11px}.kpi:first-child:before{content:"";position:absolute;inset:-1px -1px auto;height:2px;background:var(--accent)}
.info{display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid var(--faint);border-radius:50%;color:var(--blue);font:800 10px/1 var(--mono);cursor:help}.tip-target{position:relative}.tip-target:where(:hover,:focus-visible)::after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 8px);z-index:120;width:min(390px,80vw);padding:11px 12px;border:1px solid var(--line-2);background:#192019;color:var(--soft);font:12px/1.7 var(--sans);white-space:pre-line;box-shadow:0 14px 35px rgba(0,0,0,.45)}
.grid-2{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);gap:12px;margin-top:12px}.grid-even{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.panel{min-width:0;border:1px solid var(--line);background:var(--surface)}.panel-head{display:flex;justify-content:space-between;align-items:start;gap:14px;min-height:66px;padding:13px 15px;border-bottom:1px solid var(--line)}.panel-title{font-size:14px;font-weight:800}.panel-sub{margin-top:3px;color:var(--muted);font-size:11px}.panel-body{padding:14px 15px}.chart{position:relative;height:310px;overflow:hidden}.chart.small{height:250px}.chart svg{display:block;width:100%;height:100%}.legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:11px}.legend i{display:inline-block;width:10px;height:3px;margin-right:5px;vertical-align:middle}
.bar-list{display:grid;gap:13px}.bar-row{display:grid;grid-template-columns:minmax(130px,1.15fr) minmax(140px,3fr) 90px;gap:12px;align-items:center}.bar-row .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:16px;background:#1c231d}.bar-fill{height:100%;background:var(--accent)}.bar-row:nth-child(2) .bar-fill{background:var(--blue)}.bar-row:nth-child(3) .bar-fill{background:var(--hold)}.bar-row:nth-child(4) .bar-fill{background:var(--purple)}.bar-row .num{text-align:right;font-variant-numeric:tabular-nums}
.table-wrap{overflow:auto;max-height:470px}table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}th{position:sticky;top:0;z-index:3;background:var(--surface-3);color:var(--muted);text-align:left;padding:10px 11px;border-bottom:1px solid var(--line-2);white-space:nowrap}td{padding:10px 11px;border-bottom:1px solid var(--line);white-space:nowrap}td.num,th.num{text-align:right}tbody tr:hover td{background:#141a14}
.cohort-wrap{overflow:auto;border:1px solid var(--line)}.cohort{min-width:1370px;border-collapse:separate;border-spacing:2px;background:var(--bg)}.cohort th{position:sticky;top:0;background:var(--bg);text-align:center}.cohort th:first-child{left:0;z-index:4}.cohort td{height:63px;padding:7px;text-align:center;border:1px solid var(--line);background:#0e130f;font-variant-numeric:tabular-nums}.cohort td:first-child{position:sticky;left:0;z-index:2;background:var(--bg);text-align:right;font-weight:700}.cohort .rate{display:block;font-size:14px;font-weight:800}.cohort .fraction{display:block;font-size:11px;color:#182009}.cohort .immature{color:var(--faint);background:#0c100d}.cohort .immature .fraction{color:var(--faint)}
.metric-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}.metric-card{padding:18px;background:var(--surface)}.metric-card h3{margin:0 0 10px;font-size:14px}.metric-card dl{margin:0}.metric-card dt{margin-top:9px;color:var(--faint);font:700 10px/1.3 var(--mono)}.metric-card dd{margin:3px 0 0;color:var(--muted);font-size:12px}
.alert-list,.action-list{display:grid;gap:8px}.alert,.action-card{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--line);background:var(--surface)}.severity,.priority{font:800 10px/1 var(--mono);letter-spacing:.06em}.severity.warn,.priority.high{color:var(--hold)}.severity.info,.priority.mid{color:var(--blue)}.severity.ok{color:var(--good)}.alert p,.action-card p{margin:3px 0 0;color:var(--muted);font-size:12px}.count{font-size:22px;font-weight:800}
.quality-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.quality-card{padding:16px;border:1px solid var(--line);background:var(--surface)}.quality-card b{display:block;color:var(--muted);font-size:11px}.quality-card strong{display:block;margin-top:8px;font-size:25px}.quality-card span{color:var(--good);font-size:11px}.quality-card.warn span{color:var(--hold)}
.empty-note{padding:28px;border:1px dashed var(--line-2);color:var(--muted);text-align:center}.site-footer{padding:22px clamp(10px,1.4vw,24px);border-top:1px solid var(--line);color:var(--faint);font-size:11px}.site-footer a{color:var(--muted)}
.toast{position:fixed;right:18px;bottom:18px;z-index:150;padding:12px 15px;border:1px solid var(--accent);background:#172017;color:var(--soft);box-shadow:0 16px 40px rgba(0,0,0,.55);transform:translateY(20px);opacity:0;pointer-events:none;transition:.2s}.toast.show{transform:none;opacity:1}
@media(max-width:1250px){.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-row-2{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-row-2 .actions{grid-column:1/-1}.grid-2{grid-template-columns:1fr}.quality-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.masthead{position:static;align-items:flex-start;flex-wrap:wrap}.brand{display:grid;gap:7px}.sample-badge{font-size:11px}.site-links{width:100%;margin:0}.demo-note{align-items:flex-start;flex-direction:column}.main-tabs{top:0}.filter-grid,.filter-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.actions{grid-column:1/-1}.actions .btn{flex:1}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{min-height:110px;padding:14px}.grid-even{grid-template-columns:1fr}.metric-list{grid-template-columns:1fr}.quality-grid{grid-template-columns:repeat(2,1fr)}.bar-row{grid-template-columns:minmax(105px,1fr) minmax(100px,2fr) 72px}.alert,.action-card{grid-template-columns:80px 1fr}.alert .count,.action-card .count{grid-column:2}.workspace{padding-bottom:45px}}
@media(max-width:440px){.brand strong{font-size:13px}.brand .version{font-size:10px}.filter-grid,.filter-row-2{grid-template-columns:1fr}.kpis,.quality-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr 68px}.bar-track{grid-column:1/-1;grid-row:2}.kpi .value{font-size:28px}.tip-target:where(:hover,:focus-visible)::after{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.toast{transition:none}}
