:root{--bg:#f3f4f6;--surface:#fff;--surface-2:#f8f9fa;--ink:#111317;--ink-2:#454a52;--ink-3:#646973;--line:#dde0e5;--line-2:#eceef1;--accent:#2a78d6;--accent-ink:#1c5cab;--accent-wash:#e8f1fc;--seq-1:#1c5cab;--seq-2:#3987e5;--seq-3:#86b6ef;--good:#0ca30c;--good-ink:#006300;--good-wash:#e5f3e5;--est-ink:#7a4f00;--est-wash:#fff6e0;--crit:#d03b3b;--crit-ink:#a82828;--crit-wash:#fbeaea}@media (prefers-color-scheme:dark){:root{--bg:#0d0d0d;--surface:#1a1a19;--surface-2:#212120;--ink:#f0efec;--ink-2:#c3c2b7;--ink-3:#a3a29a;--line:#2c2c2a;--line-2:#262624;--accent:#3987e5;--accent-ink:#86b6ef;--accent-wash:#14243a;--seq-1:#86b6ef;--seq-2:#3987e5;--seq-3:#184f95;--good-ink:#0ca30c;--good-wash:#132613;--est-ink:#fab219;--est-wash:#2a2210;--crit:#e66767;--crit-ink:#e66767;--crit-wash:#2e1717}}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:IBM Plex Sans JP,system-ui,sans-serif}a{color:var(--accent-ink)}a:hover{color:var(--ink)}h1,h2,h3,p{margin:0}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace}.muted{color:var(--ink-3)}.shell{flex-wrap:wrap;min-height:100vh;display:flex}.nav{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:220px;gap:2px;max-width:100%;padding:20px 12px 12px;display:flex}.nav a{min-height:40px;color:var(--ink-2);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-size:14px;text-decoration:none;display:flex}.nav a:hover{background:var(--line-2);color:var(--ink)}.nav a[aria-current=page]{background:var(--accent-wash);color:var(--accent-ink);font-weight:600}.nav .brand{padding:4px 12px 20px;font-size:15px;font-weight:700}.navh{color:var(--ink-3);letter-spacing:.04em;margin:20px 12px 6px;font-size:11px;font-weight:600}.nav .add{color:var(--ink-3);font-size:13px}.me{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:16px 8px 4px;display:flex}.avatar{background:var(--accent-wash);width:32px;height:32px;color:var(--accent-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}main.page{flex-direction:column;flex:999 560px;gap:20px;min-width:0;padding:28px 32px 48px;display:flex}@media (width<=700px){main.page{padding:20px 16px 40px}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0}.pad{padding:20px 24px}.grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.tag{white-space:nowrap;border:1px solid #0000;border-radius:4px;align-items:center;padding:1px 7px;font-size:11px;font-weight:600;line-height:16px;display:inline-flex}.t-fact{background:var(--good-wash);color:var(--good-ink)}.t-est{background:var(--est-wash);color:var(--est-ink);border:1px dashed var(--est-ink)}.t-unv{background:var(--line-2);color:var(--ink-2)}.t-crit{background:var(--crit-wash);color:var(--crit-ink)}.kind{color:var(--ink-2);border:1px solid var(--line);white-space:nowrap;border-radius:4px;padding:1px 6px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500}.src{color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);white-space:nowrap;border-radius:4px;padding:0 6px;font-family:IBM Plex Mono,monospace;font-size:11px;text-decoration:none}.btn{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;padding:0 16px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn.pri{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}.btn.sm{min-height:32px;padding:0 10px;font-size:12px}.btn.danger{color:var(--crit-ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible,.nav a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;display:flex}.tabs a{min-height:40px;color:var(--ink-2);border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:0 14px;font-size:14px;text-decoration:none;display:inline-flex}.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.flt{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--ink-2);font:inherit;cursor:pointer;border-radius:999px;align-items:center;padding:0 12px;font-size:12px;display:inline-flex}.flt[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.tbl{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-2);padding:10px 12px;font-size:12px;font-weight:500}td{border-bottom:1px solid var(--line-2);vertical-align:top;padding:11px 12px}label.f{color:var(--ink-3);flex-direction:column;gap:4px;font-size:12px;display:flex}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;min-height:38px;padding:8px 10px;font-size:14px}textarea{resize:vertical;min-height:80px}.err{background:var(--crit-wash);color:var(--crit-ink);border-radius:6px;padding:10px 12px;font-size:13px}.ok{color:var(--good-ink);font-weight:600}dialog{border:1px solid var(--line);background:var(--surface);width:calc(100% - 32px);max-width:640px;color:var(--ink);border-radius:12px;padding:0}dialog::backdrop{background:#00000059}.formgrid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;display:grid}.kpi{font-size:26px;font-weight:600}.hero{font-size:52px;font-weight:600;line-height:1}.bar{background:var(--accent-wash);border-radius:4px;height:8px;overflow:hidden}.bar>i{background:var(--accent);border-radius:4px;height:100%;display:block}.chart{border-bottom:1px solid var(--ink-3);grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;height:180px;display:grid;position:relative}.col{justify-content:center;align-items:flex-end;height:100%;display:flex}.stackbar{flex-direction:column;gap:2px;width:24px;display:flex}.kanban{grid-template-columns:repeat(5,minmax(200px,1fr));gap:12px;min-width:1060px;display:grid}.lane{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:10px;min-height:200px;padding:12px;display:flex}.card{background:var(--surface);border:1px solid var(--line);text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:6px;flex-direction:column;gap:6px;padding:12px;display:flex}.empty{color:var(--ink-3);padding:8px 0;font-size:13px}
