:root{--ff-black:#000;--ff-yellow:#fffd39;--ff-cyan:#25dbef;--ff-white:#fff;--ff-mint:#25dbef1a;--ff-green:#25dbef24;--ff-lime:#fffd392e;--ff-cyan-soft:#25dbef29;--ff-canvas:#fff;--ff-canvas-strong:#25dbef12;--ff-surface:#fff;--ff-surface-raised:#fff;--ff-surface-subtle:#0000000a;--ff-surface-inverse:#000;--ff-surface-overlay:#ffffffd6;--ff-surface-success:#25dbef21;--ff-surface-warning:#fffd393d;--ff-surface-danger:#fffd3929;--ff-surface-info:#25dbef1f;--ff-surface-disabled:#0000000f;--ff-foreground:#000;--ff-foreground-soft:#000000c7;--ff-muted:#0000009e;--ff-muted-strong:#000000c2;--ff-border-subtle:#00000014;--ff-border:#00000024;--ff-border-strong:#00000047;--ff-focus:#25dbef;--ff-success:#000;--ff-warning:#000;--ff-danger:#000;--ff-info:#000;--ff-action-primary:var(--ff-foreground);--ff-action-primary-hover:var(--ff-cyan);--ff-action-secondary:var(--ff-surface-raised);--ff-focus-ring:0 0 0 3px #25dbef47;--ff-focus-ring-strong:0 0 0 4px #25dbef61;--ff-gradient-central:var(--ff-white);--ff-gradient-diagonal:var(--ff-cyan);--ff-gradient-lateral:var(--ff-yellow);--ff-radius-xs:.25rem;--ff-radius-sm:.4rem;--ff-radius-md:.75rem;--ff-radius-lg:1rem;--ff-radius-xl:1.25rem;--ff-radius-control:.5rem;--ff-radius-pill:999px;--ff-shadow-sm:0 1px 2px #0000000d, 0 8px 22px #0000000a;--ff-shadow-soft:0 24px 70px #0000001a;--ff-shadow-panel:0 14px 36px #00000012;--ff-shadow-floating:0 18px 50px #00000024;--ff-text-caption:.75rem;--ff-text-body-sm:.875rem;--ff-text-label:.8125rem;--ff-text-body:.9375rem;--ff-text-body-lg:1.0625rem;--ff-text-title-sm:clamp(1.5rem, 2.2vw, 2rem);--ff-text-title:clamp(2.25rem, 4vw, 4rem);--ff-text-display:clamp(3rem, 5.8vw, 6rem);--ff-leading-tight:.98;--ff-leading-heading:1.05;--ff-leading-body:1.62;--ff-container:82rem;--ff-container-wide:96rem;--ff-container-readable:46rem;--ff-gutter:clamp(1rem, 3vw, 3rem);--ff-section-space:clamp(4.5rem, 8vw, 8rem);--ff-space-1:.25rem;--ff-space-2:.5rem;--ff-space-3:.75rem;--ff-space-4:1rem;--ff-space-5:1.25rem;--ff-space-6:1.5rem;--ff-space-8:2rem;--ff-space-10:2.5rem;--ff-space-12:3rem;--ff-control-height:2.875rem;--ff-control-height-sm:2.5rem;--ff-control-height-lg:3.25rem;--ff-ease:cubic-bezier(.22, 1, .36, 1);--ff-ease-standard:cubic-bezier(.2, 0, 0, 1);--ff-duration-fast:.14s;--ff-duration:.22s;--ff-z-header:20;--ff-z-dropdown:30;--ff-z-overlay:40}*{box-sizing:border-box}.ff-button{min-height:var(--ff-control-height);border-radius:var(--ff-radius-control);font:inherit;letter-spacing:-.01em;text-align:center;text-wrap:balance;cursor:pointer;transition:transform .18s var(--ff-ease), background .18s var(--ff-ease), border-color .18s var(--ff-ease), color .18s var(--ff-ease), box-shadow .18s var(--ff-ease), opacity .18s var(--ff-ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.55rem;padding:.7rem 1.05rem;font-weight:760;display:inline-flex}.ff-button:hover:not(:disabled){transform:translateY(-2px)}.ff-button:active:not(:disabled){transform:translateY(0)scale(.985)}.ff-button:focus-visible{outline:3px solid var(--ff-focus);outline-offset:3px;box-shadow:var(--ff-focus-ring)}.ff-button:disabled{cursor:not-allowed;opacity:.42}.ff-button[aria-busy=true]{cursor:progress;position:relative}.ff-button[aria-busy=true]:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;margin-left:.55rem;animation:.7s linear infinite ff-button-spin}.ff-button--ink{background:var(--ff-action-primary);color:var(--ff-white)}.ff-button--ink:hover:not(:disabled){background:var(--ff-action-primary-hover);color:var(--ff-black);box-shadow:0 12px 26px #00000029}.ff-button--light{border-color:var(--ff-border);background:var(--ff-action-secondary);color:var(--ff-black)}.ff-button--accent{background:var(--ff-yellow);color:var(--ff-black)}.ff-button--accent:hover:not(:disabled){background:var(--ff-cyan);color:var(--ff-black);box-shadow:0 12px 26px #00000029}.ff-button--ghost{color:inherit;background:0 0;border-color:currentColor}.ff-button--ghost:hover:not(:disabled){background:#25dbef0f}.ff-surface{border:1px solid var(--ff-border);border-radius:var(--ff-radius-md);box-shadow:var(--ff-shadow-sm)}.ff-surface--paper{background:var(--ff-surface-raised);color:var(--ff-foreground)}.ff-surface--ink{background:var(--ff-black);color:var(--ff-white);border-color:#ffffff24}.ff-surface--glass{color:var(--ff-foreground);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffb8;border-color:#ffffff73}.ff-surface--subtle{border-color:var(--ff-border-subtle);background:var(--ff-surface-subtle);color:var(--ff-foreground);box-shadow:none}.ff-status{border-radius:var(--ff-radius-pill);min-height:1.75rem;font-size:var(--ff-text-label);align-items:center;gap:.4rem;padding:.25rem .65rem;font-weight:760;display:inline-flex}.ff-status:before{content:"";background:currentColor;border-radius:50%;width:.5rem;height:.5rem}.ff-status--neutral{background:var(--ff-surface-subtle);color:var(--ff-black)}.ff-status--success{background:var(--ff-surface-success);color:var(--ff-success)}.ff-status--warning{background:var(--ff-surface-warning);color:var(--ff-warning)}.ff-status--danger{background:var(--ff-surface-danger);color:var(--ff-danger)}.ff-status--info{background:var(--ff-surface-info);color:var(--ff-info)}@keyframes ff-button-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ff-button:hover:not(:disabled),.ff-button:active:not(:disabled){transform:none}}
