:root{--primary-600:#e3b23c;--primary-500:#c9962b;--primary-400:#d4a84a;--primary-100:#c9972b1f;--success-600:#16a34a;--success-100:#e9f7ef;--warning-600:#f59e0b;--warning-100:#fff6e5;--error-600:#dc2626;--error-100:#fdecec;--gray-900:#0f172a;--gray-800:#1e293b;--gray-700:#334155;--gray-600:#475569;--gray-500:#64748b;--gray-400:#94a3b8;--gray-300:#cbd5e1;--gray-200:#e2e8f0;--gray-100:#f1f5f9;--gray-50:#f8fafc;--bg-app:#fafafa;--bg-card:#fff;--border-default:#ebebed;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--shadow-sm:0 1px 2px rgba(15,23,42,.04);--shadow-md:0 6px 16px rgba(15,23,42,.08);--shadow-lg:0 12px 32px rgba(15,23,42,.12);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px}.text-h1{font-family:var(--font-base);font-weight:700;font-size:28px;line-height:36px;letter-spacing:-.02em;color:var(--gray-900)}.text-h2{font-size:22px;line-height:30px}.text-h2,.text-h3{font-family:var(--font-base);font-weight:600;letter-spacing:-.01em;color:var(--gray-900)}.text-h3{font-size:18px;line-height:26px}.stack-2>*+*{margin-top:var(--space-2)}.text-body{font-size:14px;line-height:22px;color:var(--gray-700)}.text-body,.text-body-secondary{font-family:var(--font-base);font-weight:400}.text-body-secondary{font-size:13px;line-height:20px;color:var(--gray-600)}.text-label{font-weight:500;font-size:12px;line-height:16px;letter-spacing:.01em;color:var(--gray-700)}.text-caption,.text-label{font-family:var(--font-base)}.text-caption{font-weight:400;font-size:11px;line-height:14px}.text-button{font-family:var(--font-base);font-weight:600;font-size:14px;line-height:20px}.text-metric-lg{font-weight:700;font-size:26px;line-height:32px}.text-metric-lg,.text-metric-sm{font-family:var(--font-base);letter-spacing:-.01em;color:var(--gray-900)}.text-metric-sm{font-weight:600;font-size:20px;line-height:26px}.text-error{font-family:var(--font-base);color:var(--error-600);font-size:11px;font-weight:400;line-height:14px}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.px-4{padding-inline:var(--space-4)}.px-6{padding-inline:var(--space-6)}.py-3{padding-block:var(--space-3)}.py-4{padding-block:var(--space-4)}.py-6{padding-block:var(--space-6)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-6)}.card--flush{padding:0!important}.card--compact{padding:var(--space-4)!important}.page{min-height:100vh;background:var(--bg-app);display:flex;align-items:center;justify-content:center}.container{width:100%;max-width:1200px;padding-inline:var(--space-6)}.container-sm{width:100%;max-width:420px}.centered{display:flex;align-items:center;justify-content:center}.stack{display:flex;flex-direction:column}.stack-4>*+*{margin-top:var(--space-4)}.stack-6>*+*{margin-top:var(--space-6)}.event-dot-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;line-height:0;cursor:pointer}.event-dot{width:12px;height:12px;border-radius:9999px;display:inline-block;transition:box-shadow .12s ease,transform .18s cubic-bezier(.2,.8,.2,1) 70ms;transform-origin:center}.event-dot-btn:focus-visible .event-dot,.event-dot-btn:hover .event-dot{box-shadow:0 0 0 2px #0f172a;transform:scale(1.6)}.event-dot-btn:focus-visible{outline:none}.scrollbar-app{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.scrollbar-app::-webkit-scrollbar{width:6px;height:6px}.scrollbar-app::-webkit-scrollbar-track{background:transparent}.scrollbar-app::-webkit-scrollbar-thumb{background-color:var(--gray-300);border-radius:9999px;border:2px solid transparent;background-clip:padding-box}.scrollbar-app::-webkit-scrollbar-thumb:hover{background-color:var(--gray-400)}html.dark .scrollbar-app{scrollbar-color:var(--gray-600) transparent}html.dark .scrollbar-app::-webkit-scrollbar-thumb{background-color:var(--gray-600)}html.dark .scrollbar-app::-webkit-scrollbar-thumb:hover{background-color:var(--gray-500)}