body{margin:0}:root{--tb-bg:#f6f7f9;--tb-surface:#fff;--tb-ink:#0f172a;--tb-ink-2:#334155;--tb-ink-3:#5a6a80;--tb-line:#e2e8f0;--tb-line-strong:#cbd5e1;--tb-accent:#0f766e;--tb-accent-hover:#115e59;--tb-accent-soft:#f0fdfa;--tb-accent-line:#99f6e4;--tb-danger:#b42318;--tb-danger-soft:#fef3f2;--tb-danger-line:#fecdca;--tb-success:#067647;--tb-success-soft:#ecfdf3;--tb-success-line:#abefc6;--tb-radius:10px;--tb-radius-lg:16px;--tb-font:"Inter",system-ui,sans-serif;--tb-display:"Manrope","Inter",system-ui,sans-serif;--tb-shadow:0 1px 2px #0f172a0f,0 12px 32px #0f172a14;--tb-focus:0 0 0 3px #0f766e40}a{color:var(--tb-accent)}a:hover{color:var(--tb-accent-hover)}.tb-logo{font-family:var(--tb-display);letter-spacing:-.02em;color:var(--tb-ink);align-items:center;gap:10px;font-size:20px;font-weight:800;text-decoration:none;display:inline-flex}.tb-logo-mark{background:var(--tb-accent);box-sizing:border-box;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:28px;height:28px;padding:6px;display:inline-grid}.tb-logo-mark span{opacity:.95;background:#fff;border-radius:2px}.tb-logo-mark span:nth-child(2){margin-top:4px}.tb-logo-mark span:nth-child(3){margin-bottom:6px}.tb-btn{border-radius:var(--tb-radius);min-height:44px;font:600 15px/1 var(--tb-font);cursor:pointer;box-sizing:border-box;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;display:inline-flex}.tb-btn--primary{background:var(--tb-accent);color:#fff}.tb-btn--primary:hover{background:var(--tb-accent-hover)}.tb-btn--secondary{background:var(--tb-surface);color:var(--tb-ink);border-color:var(--tb-line-strong)}.tb-btn--ghost{color:var(--tb-ink-2);background:0 0}.tb-btn[disabled]{opacity:.55;cursor:not-allowed}.tb-field{flex-direction:column;gap:6px;display:flex}.tb-label{font:600 14px/1.3 var(--tb-font);color:var(--tb-ink)}.tb-input{border-radius:var(--tb-radius);border:1px solid var(--tb-line-strong);background:var(--tb-surface);min-height:44px;font:400 15px/1 var(--tb-font);color:var(--tb-ink);box-sizing:border-box;width:100%;padding:0 14px}.tb-input--focus,.tb-input:focus{border-color:var(--tb-accent);box-shadow:var(--tb-focus);outline:none}.tb-input--error{border-color:var(--tb-danger)}.tb-hint{font:400 13px/1.4 var(--tb-font);color:var(--tb-ink-3)}.tb-alert{border-radius:var(--tb-radius);font:500 14px/1.45 var(--tb-font);border:1px solid;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.tb-alert--error{background:var(--tb-danger-soft);border-color:var(--tb-danger-line);color:var(--tb-danger)}.tb-alert--success{background:var(--tb-success-soft);border-color:var(--tb-success-line);color:var(--tb-success)}.tb-card{background:var(--tb-surface);border:1px solid var(--tb-line);border-radius:var(--tb-radius-lg);box-shadow:var(--tb-shadow)}.tb-h1{font:800 30px/1.15 var(--tb-display);letter-spacing:-.02em}.tb-h1,.tb-h2{color:var(--tb-ink);margin:0}.tb-h2{font:700 20px/1.25 var(--tb-display);letter-spacing:-.01em}.tb-body{font:400 15px/1.55 var(--tb-font);color:var(--tb-ink-2)}.tb-small{font:400 13px/1.45 var(--tb-font);color:var(--tb-ink-3)}.swatch{border:1px solid #0f172a14;border-radius:12px;height:64px}.col-head{font:700 12px/1 var(--tb-font);letter-spacing:.06em;text-transform:uppercase;color:var(--tb-ink-3);justify-content:space-between;display:flex}.col{border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex}.col,.ghost-card{background:#eef1f5}.ghost-card{border-radius:8px;height:34px}.ghost-col{border:1.5px dashed var(--tb-line-strong);border-radius:12px;flex-direction:column;gap:8px;min-height:120px;padding:12px;display:flex}.mini-card{color:#0f172a;font:500 12px/1.35 var(--tb-font);background:#ffffffeb;border-radius:8px;padding:9px 10px}.mini-col{background:#ffffff14;border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.mini-head{font:600 11px/1 var(--tb-font);letter-spacing:.06em;text-transform:uppercase;color:#ffffffbf}.tag{font:600 11px/1.5 var(--tb-font);border-radius:999px;align-self:flex-start;padding:2px 8px}.task{background:var(--tb-surface);border:1px solid var(--tb-line);font:500 14px/1.4 var(--tb-font);color:var(--tb-ink);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}
