:root{--tp-canvas:var(--bg);--tp-app:var(--bg-2);--tp-card:var(--panel);--tp-subtle:#f0eee8;--tp-hairline:var(--line);--tp-control:#e0ddd6;--tp-dashed:#cfccc2;--tp-primary:var(--brand-500);--tp-link:var(--brand-600);--tp-tint:var(--brand-50);--tp-approved:var(--ok-700);--tp-review:var(--warn-500);--tp-critical:var(--err-700);--tp-review-face:#fdf6e3;--tp-critical-face:var(--err-100);--tp-r-action:6px;--tp-r-intake:14px;--tp-r-state:999px;--tp-r-note:0px;--tp-t-action:13px;--tp-t-note:12.5px;--tp-t-state:11px}.tp-btn{border-radius:var(--tp-r-action);height:32px;font-size:var(--tp-t-action);color:var(--ink-900);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 14px;font-weight:500;line-height:1;display:inline-flex}.tp-btn:focus-visible{outline:2px solid var(--tp-primary);outline-offset:2px}.tp-btn:disabled,.tp-btn[aria-disabled=true]{opacity:.45;cursor:default}.tp-btn--primary{background:var(--tp-primary);color:#fff;border-color:#0000;font-weight:600}.tp-btn--primary:hover:not(:disabled){background:var(--brand-600)}.tp-btn--secondary{background:var(--tp-card);border-color:var(--tp-control)}.tp-btn--secondary:hover:not(:disabled){border-color:var(--tp-primary);color:var(--brand-700);background:var(--tp-tint)}.tp-btn--quiet{background:0 0;border-color:#0000}.tp-btn--quiet:hover:not(:disabled){color:var(--brand-700);background:var(--tp-tint)}.tp-btn--danger{color:var(--tp-critical);background:0 0;border-color:#0000}.tp-btn--danger:hover:not(:disabled){border-color:var(--tp-critical);background:var(--tp-critical-face)}.tp-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tp-toolbar-group{align-items:center;gap:6px;display:inline-flex}.tp-toolbar-label{letter-spacing:.04em;color:var(--ink-400);padding-right:2px;font-size:10px;font-weight:600}.tp-toolbar-sep{background:var(--tp-hairline);width:1px;height:20px;margin:0 2px}.tp-toolbar-spacer{flex:1}.tp-toolbar-gap{width:24px}.tp-intake{border:1.5px dashed var(--tp-dashed);border-radius:var(--tp-r-intake);width:100%;color:var(--ink-900);font-size:var(--tp-t-action);cursor:pointer;text-align:center;background:0 0;flex-direction:column;align-items:center;gap:4px;padding:18px 16px;font-weight:600;display:flex}.tp-intake:hover,.tp-intake:focus-visible{border-color:var(--tp-primary);background:var(--tp-tint)}.tp-intake:focus-visible{outline:none}.tp-intake.is-dragover{border-color:var(--tp-primary);background:var(--tp-tint)}.tp-intake-meta{color:var(--ink-400);font-size:11.5px;font-weight:400}.tp-empty{font-size:var(--tp-t-note);color:var(--ink-400);padding:10px 2px}.tp-state{border-radius:var(--tp-r-state);font-size:var(--tp-t-state);white-space:nowrap;border:0;align-items:center;padding:3px 10px;font-weight:600;line-height:1.4;display:inline-flex}.tp-state--draft{background:var(--tp-subtle);color:var(--ink-400)}.tp-state--progress{background:var(--tp-tint);color:var(--tp-link)}.tp-state--review{background:var(--warn-100);color:var(--warn-700)}.tp-state--approved{background:var(--ok-100);color:var(--tp-approved)}.tp-state--critical{background:var(--tp-critical-face);color:var(--tp-critical)}.tp-count{font-size:var(--tp-t-note);color:var(--ink-400);align-items:baseline;gap:4px;display:inline-flex}.tp-count>b{color:var(--ink-900);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.tp-note{border-radius:var(--tp-r-note);border-left:2px solid var(--tp-control);font-size:var(--tp-t-note);color:var(--ink-700);background:0 0;padding:6px 0 6px 10px;font-weight:400;line-height:1.7}.tp-note--caution{border-left-color:var(--tp-review);background:var(--tp-review-face);padding-right:10px}.tp-note--blocking{border-left-color:var(--tp-critical);background:var(--tp-critical-face);padding-right:10px}.tp-note--hint{color:var(--ink-400);border-left:0;padding-left:0;font-size:11.5px}.tp-switch{border-radius:var(--tp-r-action);background:var(--tp-subtle);align-items:center;gap:2px;padding:3px;display:inline-flex}.tp-switch-label{letter-spacing:.04em;color:var(--ink-400);margin-right:6px;font-size:10px;font-weight:600}.tp-switch>button{color:var(--ink-400);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:5px 12px;font-size:12px;font-weight:500}.tp-switch>button.is-active{background:var(--tp-card);color:var(--ink-900);box-shadow:0 1px 2px #1f1e1b1f}.tp-switch>button:focus-visible{outline:2px solid var(--tp-primary);outline-offset:1px}
