.tz-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);font-family:var(--font-body);font-weight:600;font-size:var(--step-0);line-height:1.2;text-decoration:none;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-m);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);min-height:48px;padding:0 var(--space-m)}.tz-btn:hover:not(:disabled){transform:translateY(-2px)}.tz-btn:active:not(:disabled){transform:translateY(0)}.tz-btn:disabled,.tz-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.tz-btn--sm{min-height:38px;padding:0 var(--space-s);font-size:var(--step--1)}.tz-btn--lg{min-height:56px;padding:0 var(--space-l);font-size:var(--step-1)}.tz-btn--block{width:100%}.tz-btn--primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.tz-btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}.tz-btn--secondary{background:var(--surface-raised);color:var(--ink);border-color:var(--border-strong)}.tz-btn--secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.tz-btn--ghost{background:transparent;color:var(--ink);border-color:var(--border)}.tz-btn--ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.tz-btn--inverse{background:var(--surface-inverse);color:var(--ink-inverse);border-color:var(--surface-inverse)}.tz-btn--inverse:hover:not(:disabled){opacity:.88;color:var(--ink-inverse)}.tz-btn--link{background:none;border:0;padding:0;min-height:0;color:var(--accent);text-decoration:underline;text-underline-offset:.18em}.tz-btn--link:hover:not(:disabled){transform:none;color:var(--accent-hover)}.tz-btn .tz-btn-arrow{transition:transform var(--duration-fast) var(--ease-out)}.tz-btn:hover:not(:disabled) .tz-btn-arrow{transform:translate(4px)}.tz-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-l);padding:var(--space-m)}.tz-card--interactive{display:block;color:inherit;text-decoration:none;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.tz-card--interactive:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow-m);color:inherit}.tz-card--quiet{background:transparent}.tz-card--inverse{background:var(--surface-inverse);color:var(--ink-inverse);border-color:transparent}.tz-badge{display:inline-flex;align-items:center;gap:var(--space-3xs);font-size:var(--step--1);font-weight:600;line-height:1;padding:.4em .75em;border-radius:var(--radius-pill);border:1px solid transparent;letter-spacing:.01em}.tz-badge--neutral{background:var(--surface-sunken);color:var(--ink-muted);border-color:var(--border)}.tz-badge--accent{background:var(--accent-quiet);color:var(--accent);border-color:var(--accent)}.tz-badge--system{background:var(--system-quiet);color:var(--system);border-color:var(--system)}.tz-badge--data{background:var(--data-quiet);color:var(--data);border-color:var(--data)}.tz-badge--illustrative{background:transparent;color:var(--ink-muted);border-color:var(--border-strong);border-style:dashed}.tz-field{display:grid;gap:var(--space-3xs);margin-bottom:var(--space-s)}.tz-field label,.tz-field .tz-label{font-size:var(--step--1);font-weight:600;color:var(--ink)}.tz-field .tz-req{color:var(--accent);margin-left:.15em}.tz-field .tz-hint{font-size:var(--step--1);color:var(--ink-subtle)}.tz-input,.tz-select,.tz-textarea{font-family:var(--font-body);font-size:var(--step-0);color:var(--ink);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-m);padding:var(--space-2xs) var(--space-xs);min-height:48px;width:100%;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.tz-textarea{min-height:120px;padding-top:var(--space-2xs);resize:vertical}.tz-input::placeholder,.tz-textarea::placeholder{color:var(--ink-subtle);opacity:1}.tz-input:hover,.tz-select:hover,.tz-textarea:hover{border-color:var(--ink-subtle)}.tz-input:focus-visible,.tz-select:focus-visible,.tz-textarea:focus-visible{border-color:var(--focus-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 25%,transparent);outline:none}.tz-field[data-state=error] .tz-input,.tz-field[data-state=error] .tz-select,.tz-field[data-state=error] .tz-textarea{border-color:#c0392b}.tz-field .tz-error{font-size:var(--step--1);color:#c0392b;display:flex;gap:var(--space-3xs);align-items:center}[data-mode=dark] .tz-field[data-state=error] .tz-input,[data-mode=dark] .tz-field[data-state=error] .tz-select,[data-mode=dark] .tz-field[data-state=error] .tz-textarea{border-color:#ff7a6b}[data-mode=dark] .tz-field .tz-error{color:#ff9c90}.tz-input:disabled,.tz-select:disabled,.tz-textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-sunken)}.tz-check{display:flex;gap:var(--space-2xs);align-items:flex-start;cursor:pointer}.tz-check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--accent)}.tz-check span{font-size:var(--step-0);color:var(--ink-muted)}.tz-status{display:flex;gap:var(--space-2xs);align-items:flex-start;padding:var(--space-xs) var(--space-s);border-radius:var(--radius-m);border:1px solid;font-size:var(--step-0)}.tz-status--success{background:var(--system-quiet);color:var(--system);border-color:var(--system)}.tz-status--info{background:var(--surface-sunken);color:var(--ink-muted);border-color:var(--border)}.tz-status--error{background:var(--accent-quiet);color:var(--accent);border-color:var(--accent)}.tz-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-m)}.tz-table{width:100%;border-collapse:collapse;font-size:var(--step-0)}.tz-table th,.tz-table td{padding:var(--space-2xs) var(--space-s);text-align:left}.tz-table thead th{background:var(--surface-sunken);font-size:var(--step--1);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink-subtle);font-weight:700}.tz-table tbody tr+tr{border-top:1px solid var(--border)}.tz-table td.tz-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.tz-accordion{border-top:1px solid var(--border)}.tz-accordion details{border-bottom:1px solid var(--border)}.tz-accordion summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-s);padding:var(--space-s) 0;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:var(--step-1);list-style:none}.tz-accordion summary::-webkit-details-marker{display:none}.tz-accordion summary .tz-accordion-icon{transition:transform var(--duration-base) var(--ease-out);color:var(--ink-subtle)}.tz-accordion details[open] summary .tz-accordion-icon{transform:rotate(180deg)}.tz-accordion .tz-accordion-body{padding-bottom:var(--space-s);color:var(--ink-muted)}.tz-eyebrow{font-size:var(--step--1);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink-subtle);margin-bottom:var(--space-2xs)}.tz-section{padding-block:var(--space-2xl)}.tz-section--inverse{background:var(--surface-inverse);color:var(--ink-inverse)}.tz-section--inverse .tz-eyebrow{color:color-mix(in srgb,var(--ink-inverse) 60%,transparent)}.tz-section--sunken{background:var(--surface-sunken)}
