:root{--font-ui: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Meiryo", sans-serif;--font-code: "IBM Plex Mono", "SF Mono", "Menlo", monospace;--bg: #f6f6f4;--surface: #ffffff;--sunken: #ecece8;--line: #d8d8d2;--line-strong: #b4b4ac;--ink: #1c1c1a;--muted: #6b6b64;--faint: #96968e;--act: #1f4f8a;--act-soft: rgba(31, 79, 138, .1);--draft: #8a5a12;--draft-soft: rgba(154, 106, 31, .12);--ok: #2f7d4f;--attn: #c4571b;--attn-soft: rgba(196, 87, 27, .1);--radius: 3px;--gutter: 16px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-ui);font-size:14px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--act)}h1{font-size:20px;margin:0 0 12px}h2{font-size:13px;margin:0 0 10px;color:var(--muted);letter-spacing:.04em}.num{font-family:var(--font-code);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}.attn{color:var(--attn)}.small{font-size:12px}.spacer{flex:1}[hidden]{display:none!important}nm-gnav{display:block;min-height:34px;background:var(--ink)}.app-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px var(--gutter);background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.app-header strong{font-size:14px;letter-spacing:.04em;white-space:nowrap}.subnav{display:flex;gap:4px}.subnav a{text-decoration:none;color:var(--muted);padding:4px 10px;border-radius:var(--radius);white-space:nowrap}.subnav a[aria-current=page]{color:var(--act);background:var(--act-soft);font-weight:700}main.page{padding:16px var(--gutter) 80px;max-width:1280px;margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:4px 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-decoration:none;cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--act);border-color:var(--act);color:#fff;font-weight:700}.btn-small{min-height:28px;padding:2px 10px;font-size:13px}.btn.danger{color:var(--attn)}:focus-visible{outline:2px solid var(--act);outline-offset:1px}.input{min-height:34px;padding:5px 8px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface)}.field{display:grid;gap:3px;min-width:0}.field-label{font-size:12px;font-weight:700;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;min-width:0}.empty{padding:40px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius)}.tag{display:inline-block;font-size:11px;line-height:18px;padding:0 6px;border:1px solid var(--line-strong);border-radius:2px;color:var(--muted);white-space:nowrap}.tag.is-draft{color:var(--draft);border-color:var(--draft);background:var(--draft-soft)}.tag.is-ok{color:var(--ok);border-color:var(--ok)}.tag.is-attn{color:var(--attn);border-color:var(--attn)}.banner{padding:8px 12px;margin-bottom:12px;border-radius:var(--radius);background:var(--attn-soft);color:var(--attn);font-size:13px}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:16px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.filters select.input{max-width:200px}.filters .meta{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.kpis{display:grid;grid-template-columns:1.2fr 1.6fr 1.6fr 1fr 1fr;gap:10px;margin-bottom:16px}@media(max-width:1000px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi-label{font-size:12px;font-weight:700;color:var(--muted)}.kpi-value{font-family:var(--font-code);font-size:32px;line-height:1.2;margin:6px 0 4px}.kpi-value small{font-size:14px;color:var(--muted);margin-left:4px}.kpi-sub{font-size:12px;color:var(--muted)}.scale{position:relative;height:8px;margin:10px 0 6px;background:var(--sunken);border-radius:2px}.scale .fill{position:absolute;left:0;top:0;bottom:0;background:var(--act);border-radius:2px}.scale .target{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ok)}.scale-ticks{display:flex;justify-content:space-between;font-family:var(--font-code);font-size:10px;color:var(--faint)}.achv{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px}.achv .bar{flex:1;height:4px;background:var(--sunken);border-radius:2px;overflow:hidden}.achv .bar span{display:block;height:100%;background:var(--ok)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}@media(max-width:900px){.grid-2{grid-template-columns:minmax(0,1fr)}}.dist{display:grid;gap:6px}.dist-row{display:grid;grid-template-columns:150px 1fr 72px;align-items:center;gap:8px;font-size:12px}.hbar{height:14px;background:var(--sunken);border-radius:2px;overflow:hidden}.hbar span{display:block;height:100%;background:var(--act)}.dist-row .num{text-align:right}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;font-size:12px;font-weight:700;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}table.data td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle}table.data td.num,table.data th.num{text-align:right}table.data tr.other td{color:var(--muted);background:var(--bg)}td.barcell{width:32%}.flag{margin-right:6px}.vbars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end;height:180px;padding-top:18px;position:relative}.vbar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}.vbar .col{width:70%;max-width:48px;background:var(--act);border-radius:2px 2px 0 0;min-height:1px}.vbar .v{font-family:var(--font-code);font-size:12px}.vbar-labels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:6px;font-size:11px;color:var(--muted);text-align:center}.vbars .target-line{position:absolute;left:0;right:0;border-top:1px dashed var(--ok);pointer-events:none}.vbars .target-line span{position:absolute;right:0;top:-16px;font-size:10px;color:var(--ok)}.comments{display:grid;gap:8px}.comment-row{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:14px;align-items:start}.comment-meta{display:grid;gap:2px;font-size:12px;color:var(--muted)}.comment-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}@media(max-width:760px){.comment-row{grid-template-columns:minmax(0,1fr)}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:720px}dl.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;margin:0;font-size:13px}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0}
