:root{--brand:#1A3D2B;--brand-deep:#122B1E;--brand-tint:#E6EEE9;--on-brand:#F6F2E9;--ink:#26312A;--ink-muted:#6B736C;--surface:#FFFFFF;--surface-alt:#F6F2E9;--line:#E3E0D7;--border:1px solid var(--line);--font-sans:"Jost",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--weight-bold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--radius:8px;--radius-pill:999px;--shadow:0 1px 2px rgba(20,30,24,.05),0 2px 6px -1px rgba(20,30,24,.08);--touch-min:38px;--motion:150ms;--easing:ease-out}.viz-page{font-family:var(--font-sans);color:var(--ink)}.viz-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-4);border-radius:var(--radius);border:1px solid var(--brand);background:var(--brand);color:var(--on-brand);font:inherit;font-weight:var(--weight-bold);font-size:14px;cursor:pointer;transition:background var(--motion) var(--easing)}.viz-page .btn:hover{background:var(--brand-deep)}.viz-page .btn.ghost{background:transparent;color:var(--brand)}.viz-page .btn.ghost:hover{background:var(--brand-tint)}.viz-page .btn.quiet{background:var(--surface);color:var(--ink);border-color:var(--line)}.viz-page .btn.quiet:hover{background:var(--surface-alt)}.viz-page .btn.sm{min-height:30px;padding:0 var(--space-3);font-size:13px}.viz-page .btn:disabled{opacity:.5;cursor:default}.viz-page .label{display:block;font-size:12px;font-weight:var(--weight-bold);color:var(--ink-muted);margin-bottom:var(--space-1)}.viz-page .field{display:flex;flex-direction:column;gap:var(--space-1)}.viz-page .small{font-size:12px}.viz-page .muted{color:var(--ink-muted)}.viz-page .banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:13px;border:1px solid var(--line);background:var(--surface-alt)}.viz-page .banner--warn{background:#FBF3E0;border-color:#E8D9A8;color:#7A5C12}.viz-page .banner--danger{background:#FBEAE7;border-color:#ECC4BC;color:#8C2F1F}.viz-page .banner--done{background:#E8F2EB;border-color:#BFDCC8;color:#1A3D2B}.viz-page input[type=number],.viz-page input[type=search],.viz-page input[type=text],.viz-page select,.viz-page textarea{font:inherit;font-size:14px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-2) var(--space-3);background:var(--surface);min-height:var(--touch-min)}