:root{--surface-page: #f8f4f0;--surface-card: #fffdfa;--surface-sunken: #f1ebe4;--border: #e3dcd4;--border-strong: #b8aea3;--ink: #1f1f1f;--ink-secondary: #5e5750;--ink-muted: #6f675f;--accent: #910106;--accent-hover: #6e0105;--accent-soft: #f6e7e6;--on-accent: #ffffff;--success: #2f6b3a;--success-soft: #e6f0e4;--warning: #7a4e00;--warning-soft: #fbf0d9;--info: #2b5c8a;--info-soft: #e5eef6;--focus: #2b5c8a;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-overlay: 0 12px 32px rgb(0 0 0 / 14%);--sidebar: 232px;--font: "Figtree", sans-serif;--serif: "Libre Baskerville", serif;color:var(--ink);background:var(--surface-page);font-family:var(--font);font-size:14px;line-height:1.45}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}.sidebar{background:var(--surface-card);border-right:1px solid var(--border);padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-6);position:sticky;top:0;height:100vh}.wordmark{font-family:var(--serif);font-size:22px;margin:0}.switcher,.nav-link,.btn,.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--surface-card);border-radius:var(--radius-md)}.switcher,.nav-link{display:flex;width:100%;text-align:left;padding:10px 12px;text-decoration:none;min-height:44px;align-items:center;justify-content:space-between;gap:var(--space-2)}.nav-link[aria-current=page]{background:var(--accent-soft);border-color:transparent;color:var(--accent);font-weight:600}.nav{display:flex;flex-direction:column;gap:var(--space-2)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-2)}.count{min-width:20px;height:20px;border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font-size:12px;display:inline-grid;place-items:center;padding:0 6px}.main{padding:var(--space-8);max-width:1200px}.page-title{font-family:var(--serif);font-size:30px;font-weight:400;margin:0}.section-title{font-family:var(--serif);font-size:20px;font-weight:400;margin:0 0 var(--space-3)}.lede,.muted{color:var(--ink-secondary)}.muted{color:var(--ink-muted);font-size:12px}.stack{display:flex;flex-direction:column;gap:var(--space-6)}.row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;flex-wrap:wrap}.card,.tile,.kanban-card,.state,.dialog,.popover{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md)}.card,.state{padding:var(--space-4)}.grid-3,.grid-2{display:grid;gap:var(--space-4)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.btn{min-height:36px;padding:0 14px;border-radius:var(--radius-md)}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover)}.btn.quiet{background:transparent;border-color:transparent}.btn:disabled{opacity:.55;cursor:not-allowed}.badge,.confidence{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);padding:2px 8px;font-size:12px;border:1px solid var(--border);background:var(--surface-sunken)}.confidence.high,.badge.success{background:var(--success-soft);color:var(--success)}.confidence.medium,.badge.warning{background:var(--warning-soft);color:var(--warning)}.confidence.low,.badge.info{background:var(--info-soft);color:var(--info)}.figure{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;margin:0}.figure-sm{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.figure-btn{background:none;border:0;padding:0;text-align:left}table{width:100%;border-collapse:collapse;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md)}th,td{text-align:left;padding:0 12px;height:52px;border-bottom:1px solid var(--border);vertical-align:middle}th{font-size:12px;color:var(--ink-muted);font-weight:600;position:sticky;top:0;background:var(--surface-sunken)}tr:focus-within,tr[data-active=true]{background:var(--info-soft)}.board{display:grid;grid-template-columns:repeat(6,minmax(180px,1fr));gap:var(--space-3);overflow-x:auto}.kanban{background:var(--surface-sunken);border-radius:var(--radius-md);padding:var(--space-3);min-height:240px}.kanban h3{margin:0 0 var(--space-3);font-size:12px;font-weight:600}.kanban-card{padding:12px;margin-bottom:var(--space-2)}.kanban-card:focus{outline:2px solid var(--focus);outline-offset:2px}.banner{background:var(--warning-soft);color:var(--warning);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.sample-banner{background:var(--info-soft);color:var(--info)}.field{display:flex;flex-direction:column;gap:6px}.field input,.field select,.field textarea{min-height:44px;padding:8px 12px}.login{max-width:420px;margin:10vh auto;padding:var(--space-8)}.qr svg{width:196px;height:196px}.secret-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;font-size:14px}.dialog-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f1f1f47;display:grid;place-items:center;padding:var(--space-4)}.dialog{width:min(440px,100%);padding:var(--space-6);box-shadow:var(--shadow-overlay)}.popover{margin-top:var(--space-3);padding:var(--space-4);box-shadow:var(--shadow-overlay)}.ring{width:36px;height:36px;border-radius:50%;border:3px solid var(--border);display:grid;place-items:center;font-size:11px;font-weight:600}.mark{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-sunken);display:grid;place-items:center;font-size:12px;font-weight:600}.skeleton{background:linear-gradient(90deg,var(--surface-sunken),var(--surface-card),var(--surface-sunken));background-size:200% 100%;animation:shine 1.2s ease-out infinite;height:16px;border-radius:var(--radius-sm)}@keyframes shine{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.topbar{display:none}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{display:none}.topbar{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-3);background:var(--surface-card);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar a,.topbar button{white-space:nowrap;text-decoration:none;padding:8px 10px;min-height:44px;background:none;border:0}.main{padding:var(--space-4)}.grid-3,.grid-2,.board{grid-template-columns:1fr}.btn{min-height:44px}}@media(max-width:390px){.page-title{font-size:26px}}
