@import "https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&display=swap";:root{--bg:#f7f7f5;--surface:#fff;--line:#e6e5e1;--line-strong:#cfcec9;--ink:#17171a;--ink-2:#5c5c60;--ink-3:#6e6e73;--ink-off:#9a9a9e;--select:#f1f1ee;--neutral:#efefec;--done:#3d6b4a;--ready:#7e9c86;--warn:#8a6212;--err:#a13a2a;--err-line:#e3c9c4;--dark-line:#2f2f33;--dark-line-2:#45454a;--dark-ink-2:#a8a8ac;--dark-ink:#deddd9;--r-card:10px;--r-ctl:7px;--r-thumb:5px;--topbar-h:56px;--row-h:34px;--font:"Instrument Sans", system-ui, -apple-system, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}a{color:var(--ink)}a:hover{color:var(--ink-2)}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:600}h1{font-size:30px;line-height:1.1}h2{font-size:18px}h3{font-size:15px}.btn{border-radius:var(--r-ctl);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:12.5px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--line-strong)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff;padding:11px 20px;font-size:13.5px}.btn-primary:hover:not(:disabled){background:#2a2a2e;border-color:#2a2a2e}.btn-lg{padding:11px 20px;font-size:13.5px}.btn-sm{padding:6px 12px;font-size:12px}.btn-quiet{color:var(--ink-3);background:0 0;border-color:#0000;font-weight:500}.btn-quiet:hover:not(:disabled){color:var(--ink);border-color:#0000}.btn-danger{color:var(--err);border-color:var(--err-line)}.on-dark .btn{border-color:var(--dark-line-2);color:var(--dark-ink);background:0 0}.on-dark .btn:hover:not(:disabled){color:#fff;border-color:#6a6a70}.on-dark .btn-primary{color:var(--ink);background:#fff;border-color:#fff}.on-dark .btn-primary:hover:not(:disabled){background:var(--dark-ink);border-color:var(--dark-ink)}.on-dark .btn-quiet{color:var(--dark-ink-2);border-color:#0000}.on-dark .btn-quiet:hover:not(:disabled){color:#fff}.field{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);padding:7px 13px;font-family:inherit;font-size:13px}.field:focus{border-color:var(--line-strong);outline:none}.field::placeholder{color:var(--ink-off)}textarea.field{resize:vertical;line-height:1.5}label.lbl{color:var(--ink-3);margin-bottom:6px;font-size:11.5px;display:block}input[type=checkbox]{accent-color:var(--ink);width:14px;height:14px}.on-dark input[type=checkbox]{accent-color:#fff}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.card-pad{padding:18px 20px}.panel-dark{background:var(--ink);border-radius:var(--r-card);color:#fff}.sep{border:none;border-top:1px solid var(--line);margin:0}.chip{border-radius:var(--r-ctl);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:6px 13px;font-family:inherit;font-size:12.5px;font-weight:500;display:inline-flex}.chip .n{color:var(--ink-off)}.chip[data-on="1"]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.chip[data-on="1"] .n{color:var(--dark-ink-2)}.chip[data-tone=err]{color:var(--err);border-color:var(--err-line);font-weight:600}.chip[data-tone=err] .n{color:var(--err)}.chip[data-tone=err][data-on="1"]{background:var(--err);border-color:var(--err);color:#fff}.chip[data-tone=err][data-on="1"] .n{color:#f0dcd8}.toggle{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);display:inline-flex;overflow:hidden}.toggle button{color:var(--ink-2);cursor:pointer;background:0 0;border:none;padding:7px 15px;font-family:inherit;font-size:12.5px}.toggle button+button{border-left:1px solid var(--line)}.toggle button[data-on="1"]{background:var(--ink);color:#fff;font-weight:600}.thead{color:var(--ink-3);border-bottom:1px solid var(--line);top:var(--topbar-h);background:var(--bg);z-index:5;align-items:center;gap:13px;padding:8px 10px;font-size:11.5px;display:flex;position:sticky}.trow{min-height:var(--row-h);border-bottom:1px solid var(--neutral);color:inherit;text-align:left;cursor:pointer;background:0 0;border-top:none;border-left:none;border-right:none;align-items:center;gap:13px;width:100%;padding:0 10px;font-family:inherit;font-size:13px;text-decoration:none;display:flex}.trow:hover{background:#fbfbfa}.trow[data-sel="1"]{background:var(--select)}.trow[data-sel="1"]:hover{background:#ecece8}.ell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mono{font-family:var(--mono);font-size:11.5px}.muted{color:var(--ink-3)}.dim{color:var(--ink-off)}.note{border-radius:var(--r-card);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);align-items:flex-start;gap:10px;padding:12px 15px;font-size:13px;line-height:1.5;display:flex}.note[data-tone=err]{border-color:var(--err-line);color:var(--err)}.note[data-tone=warn]{color:var(--warn);border-color:#e4d8bc}.note[data-tone=done]{color:var(--done);border-color:#c9d8cd}.bar{background:var(--line);border-radius:3px;flex:none;height:5px;display:flex;overflow:hidden}.bar>span{height:100%;display:block}.tick{border:1px solid var(--line-strong);background:var(--surface);color:#fff;cursor:pointer;border-radius:4px;flex:none;place-items:center;width:14px;height:14px;padding:0;font-size:9px;font-weight:700;line-height:1;display:grid}.tick[data-on="1"]{background:var(--ink);border-color:var(--ink)}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}.grow{flex-grow:1;min-width:0}.spacer{margin-left:auto}.scroll-y{overflow-y:auto}.skel{background:linear-gradient(90deg, var(--neutral), #f6f6f3, var(--neutral));background-size:200% 100%;border-radius:4px;animation:1.4s ease-in-out infinite skel}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}.spin{border:2px solid var(--line-strong);border-top-color:var(--ink);border-radius:50%;flex:none;width:13px;height:13px;animation:.7s linear infinite spin}.on-dark .spin{border-color:var(--dark-line-2);border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}
