:root{--tf-color-bg-canvas:#121a26;--tf-color-bg-surface:#1a2433;--tf-color-bg-elevated:#222e40;--tf-color-bg-sunken:#0d141d;--tf-color-bg-inverse:#eef3f6;--tf-color-text-primary:#eef3f6;--tf-color-text-secondary:#c3cbd4;--tf-color-text-muted:#a2acb8;--tf-color-text-faint:#939dab;--tf-color-text-inverse:#0d141d;--tf-color-text-on-accent:#12060a;--tf-color-border-subtle:#ffffff1a;--tf-color-border-strong:#fff3;--tf-color-fill-subtle:#ffffff1a;--tf-color-accent:#ef8a5e;--tf-color-accent-bright:#f6aa86;--tf-color-accent-hover:#f29872;--tf-color-accent-active:#e27a4d;--tf-color-accent-tint:#ef8a5e21;--tf-color-accent-wash:#ef8a5e0f;--tf-color-flare:#ef8a5e;--tf-color-flare-tint:#ef8a5e24;--tf-color-focus:#f6aa86;--tf-color-focus-offset:#121a26;--tf-color-success:#3ed598;--tf-color-success-tint:#3ed59824;--tf-color-warning:#ffc678;--tf-color-warning-tint:#ffc67824;--tf-color-danger:#ff8b8b;--tf-color-danger-tint:#ff8b8b24;--tf-color-ai:#63e6e2;--tf-color-ai-tint:#63e6e224;--tf-color-ai-wash:#63e6e214;--tf-color-ai-border:#63e6e252;--tf-color-ai-on-dark:#63e6e2;--tf-media-scrim:#0000008f;--tf-media-scrim-strong:#000000d6;--tf-on-media:#fff;--tf-on-media-muted:#ffffffdb;--tf-media-plate-top:#16222f;--tf-media-plate-bottom:#0d141d;--tf-color-ticket-top:#15616a;--tf-color-ticket-bottom:#0e1c28;--tf-color-on-ticket:#fff;--tf-color-on-ticket-muted:#ffffffb8;--tf-atmos-teal:#ef8a5e33;--tf-atmos-cyan:#63e6e21c;--tf-gradient-accent:linear-gradient(135deg, var(--tf-color-accent-bright) 0%, var(--tf-color-accent) 62%, var(--tf-color-accent-active) 100%);--tf-gradient-ai:linear-gradient(135deg, var(--tf-color-ai) 0%, #2f9fb8 100%);--tf-gradient-atmos:linear-gradient(135deg, var(--tf-atmos-cyan) 0%, transparent 46%, var(--tf-atmos-teal) 100%);--tf-color-scrim:#080c129e;--tf-color-glass-bg:#ffffff12;--tf-color-glass-border:#ffffff24;--tf-color-glass-bg-ai:#63e6e21a;--tf-bowl-stage:#ffc678;--tf-bowl-band-hot:#ffb877;--tf-bowl-band-warm:#e0a077;--tf-bowl-band-cool:#8fa6b8;--tf-bowl-band-cold:#6b83a6;--tf-bowl-seat-taken:#ffffff17;--tf-bowl-seat-taken-ink:#ffffff42;--tf-bowl-seat-mine:#ef8a5e;--tf-bowl-floor:#0b1119;--tf-bowl-ink:#eaf6f6e0;--tf-bowl-ink-2:#eaf6f6b3;--tf-bowl-ink-3:#eaf6f699;--tf-bowl-fill:#ffffff14;--tf-bowl-edge:#ffffff2e;--tf-bowl-panel:#0c2226db;--tf-bowl-panel-2:#0a1e21f0;--tf-bowl-scrim:#08181ab8;--tf-bowl-ai:#8fdfe6d9;--tf-bowl-ai-tint:#8fdfe624;--tf-bowl-ai-edge:#a9dde257;--tf-bowl-fill-hover:#ffffff24;--tf-bowl-ink-bright:#fff;--tf-bowl-surround-glow:#16383c;--tf-bowl-surround-top:#0f2a2e;--tf-bowl-surround-bottom:#0b1f22;--tf-cover-s:26%;--tf-cover-s2:32%;--tf-cover-l:15%;--tf-cover-bloom:#ef8a5e4d;--tf-color-on-cover:#ffffff4d}@media (prefers-reduced-transparency:reduce){:root{--tf-color-glass-bg:#222e40;--tf-color-glass-bg-ai:#16323a;--tf-color-glass-border:#ffffff29}}@media (prefers-contrast:more){:root{--tf-color-text-secondary:#eef3f6;--tf-color-text-muted:#dbe1e8;--tf-color-text-faint:#c3cbd4;--tf-color-border-subtle:#ffffff57;--tf-color-border-strong:#ffffff8c;--tf-color-fill-subtle:#ffffff4d;--tf-color-glass-bg:#222e40;--tf-color-glass-bg-ai:#16323a;--tf-color-glass-border:#ffffff8c;--tf-media-scrim:#000000d1;--tf-media-scrim-strong:#000000f5;--tf-on-media-muted:#fff;--tf-bowl-band-cold:#93abc9;--tf-bowl-seat-taken:#ffffff29;--tf-bowl-seat-taken-ink:#ffffff73}}:root{--tf-font-display:"Space Grotesk", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--tf-font-sans:"Space Grotesk", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--tf-font-mono:"Space Mono", ui-monospace, Consolas, monospace;--tf-text-display-size:clamp(2.5rem, 1.6rem + 4.4vw, 4.5rem);--tf-text-display-line:1.02;--tf-text-display-tracking:-.04em;--tf-text-hero-size:clamp(2rem, 1.4rem + 2.8vw, 3rem);--tf-text-hero-line:1.08;--tf-text-hero-tracking:-.035em;--tf-text-h1-size:clamp(1.625rem, 1.3rem + 1.5vw, 2.25rem);--tf-text-h1-line:1.16;--tf-text-h1-tracking:-.022em;--tf-text-h2-size:clamp(1.3rem, 1.15rem + .7vw, 1.625rem);--tf-text-h2-line:1.22;--tf-text-h2-tracking:-.02em;--tf-text-h3-size:1.0625rem;--tf-text-h3-line:1.32;--tf-text-h3-tracking:-.015em;--tf-text-body-size:.9375rem;--tf-text-body-line:1.6;--tf-text-body-sm-size:.875rem;--tf-text-body-sm-line:1.55;--tf-text-label-size:.8125rem;--tf-text-label-line:1.3;--tf-text-label-tracking:-.005em;--tf-text-caption-size:.75rem;--tf-text-caption-line:1.4;--tf-text-price-size:1.125rem;--tf-text-metric-size:1.75rem;--tf-text-kicker-size:.6875rem;--tf-text-kicker-line:1.3;--tf-text-kicker-tracking:.16em;--tf-weight-regular:400;--tf-weight-medium:500;--tf-weight-semibold:600;--tf-weight-bold:700}.tf-display,.tf-hero,.tf-h1,.tf-h2,.tf-h3{font-family:var(--tf-font-display);font-weight:var(--tf-weight-semibold);color:var(--tf-color-text-primary);text-wrap:balance;margin:0}.tf-display{font-size:var(--tf-text-display-size);line-height:var(--tf-text-display-line);letter-spacing:var(--tf-text-display-tracking)}.tf-hero{font-size:var(--tf-text-hero-size);line-height:var(--tf-text-hero-line);letter-spacing:var(--tf-text-hero-tracking)}.tf-h1{font-size:var(--tf-text-h1-size);line-height:var(--tf-text-h1-line);letter-spacing:var(--tf-text-h1-tracking)}.tf-h2{font-size:var(--tf-text-h2-size);line-height:var(--tf-text-h2-line);letter-spacing:var(--tf-text-h2-tracking)}.tf-h3{font-size:var(--tf-text-h3-size);line-height:var(--tf-text-h3-line);letter-spacing:var(--tf-text-h3-tracking)}.tf-body,.tf-body-sm,.tf-label,.tf-caption{font-family:var(--tf-font-sans);margin:0}.tf-body{font-size:var(--tf-text-body-size);line-height:var(--tf-text-body-line);color:var(--tf-color-text-secondary)}.tf-body-sm{font-size:var(--tf-text-body-sm-size);line-height:var(--tf-text-body-sm-line);color:var(--tf-color-text-secondary)}.tf-label{font-size:var(--tf-text-label-size);line-height:var(--tf-text-label-line);letter-spacing:var(--tf-text-label-tracking);font-weight:var(--tf-weight-medium);color:var(--tf-color-text-primary)}.tf-caption{font-size:var(--tf-text-caption-size);line-height:var(--tf-text-caption-line);color:var(--tf-color-text-muted)}.tf-price,.tf-metric{font-family:var(--tf-font-mono);font-variant-numeric:tabular-nums;color:var(--tf-color-text-primary);margin:0}.tf-kicker{font-family:var(--tf-font-mono);font-size:var(--tf-text-kicker-size);line-height:var(--tf-text-kicker-line);letter-spacing:var(--tf-text-kicker-tracking);text-transform:uppercase;color:var(--tf-color-text-faint);margin:0}.tf-price{font-size:var(--tf-text-price-size);font-weight:var(--tf-weight-bold);letter-spacing:-.02em}.tf-metric{font-size:var(--tf-text-metric-size);font-weight:var(--tf-weight-bold);letter-spacing:-.03em;line-height:1.1}:root{--tf-space-0:0;--tf-space-1:.25rem;--tf-space-2:.5rem;--tf-space-3:.75rem;--tf-space-4:1rem;--tf-space-5:1.25rem;--tf-space-6:1.5rem;--tf-space-8:2rem;--tf-space-10:2.5rem;--tf-space-12:3rem;--tf-space-16:4rem;--tf-space-20:5rem;--tf-width-prose:68ch;--tf-width-content:1180px;--tf-width-wide:1440px;--tf-gutter:var(--tf-space-4);--tf-touch-min:44px}@media (min-width:640px){:root{--tf-gutter:var(--tf-space-6)}}@media (min-width:1024px){:root{--tf-gutter:var(--tf-space-8)}}.tf-container{width:100%;max-width:var(--tf-width-content);padding-inline:var(--tf-gutter);margin-inline-start:auto;margin-inline-end:auto}.tf-container-wide{width:100%;max-width:var(--tf-width-wide);padding-inline:var(--tf-gutter);margin-inline-start:auto;margin-inline-end:auto}.tf-container-prose{width:100%;max-width:var(--tf-width-prose);padding-inline:var(--tf-gutter);margin-inline-start:auto;margin-inline-end:auto}.tf-stack{gap:var(--tf-space-4);flex-direction:column;display:flex}.tf-stack-sm{gap:var(--tf-space-2)}.tf-stack-lg{gap:var(--tf-space-8)}.tf-row{align-items:center;gap:var(--tf-space-3);display:flex}.tf-row-wrap{flex-wrap:wrap}:root{--tf-radius-none:0;--tf-radius-sm:6px;--tf-radius-md:10px;--tf-radius-lg:14px;--tf-radius-xl:20px;--tf-radius-2xl:28px;--tf-radius-pill:999px;--tf-radius-circle:50%;--tf-shadow-none:none;--tf-shadow-xs:inset 0 1px 0 #ffffff0a, 0 1px 2px #0006;--tf-shadow-sm:inset 0 1px 0 #ffffff0d, 0 2px 6px #00000073;--tf-shadow-md:inset 0 1px 0 #ffffff0f, 0 8px 24px -8px #0009;--tf-shadow-lg:inset 0 1px 0 #ffffff12, 0 16px 44px -12px #000000b3;--tf-shadow-xl:inset 0 1px 0 #ffffff17, 0 30px 80px -20px #000c;--tf-shadow-accent:0 2px 6px #ef8a5e29, 0 10px 28px -12px #ef8a5e33;--tf-shadow-ai:0 2px 8px #63e6e22e, 0 14px 40px -14px #63e6e252;--tf-shadow-flare:0 0 8px #ef8a5e40;--tf-glow-intent:inset 0 1px 0 #ffffff17, 0 0 0 1px #ffffff08, 0 30px 90px -20px #ef8a5e33;--tf-ring-focus:0 0 0 2px var(--tf-color-focus-offset), 0 0 0 4px var(--tf-color-focus);--tf-ring-selected:0 0 0 2px var(--tf-color-accent)}@media (prefers-reduced-transparency:reduce){:root{--tf-shadow-xs:0 1px 2px #00000080;--tf-shadow-sm:0 2px 6px #0000008c;--tf-shadow-md:0 8px 24px -8px #000000b3;--tf-shadow-lg:0 16px 44px -12px #000c;--tf-shadow-xl:0 30px 80px -20px #000000e6}}:root[data-tf-theme=light]{--tf-color-bg-canvas:#f6f7f9;--tf-color-bg-surface:#fff;--tf-color-bg-elevated:#fff;--tf-color-bg-sunken:#eceef1;--tf-color-bg-inverse:#16181c;--tf-color-text-primary:#14171b;--tf-color-text-secondary:#454a52;--tf-color-text-muted:#5a606a;--tf-color-text-faint:#626873;--tf-color-text-inverse:#fff;--tf-color-text-on-accent:#fff;--tf-color-border-subtle:#1114181a;--tf-color-border-strong:#11141833;--tf-color-fill-subtle:#1114181a;--tf-color-accent:#16181c;--tf-color-accent-bright:#2c3038;--tf-color-accent-hover:#2c3038;--tf-color-accent-active:#000;--tf-color-accent-tint:#11141812;--tf-color-accent-wash:#1114180a;--tf-color-flare:#ea6928;--tf-color-flare-tint:#ea69282e;--tf-color-focus:#0c717f;--tf-color-focus-offset:#fff;--tf-color-success:#0f6b45;--tf-color-success-tint:#0f6b451a;--tf-color-warning:#8a5a17;--tf-color-warning-tint:#f5a94f2e;--tf-color-danger:#b3261e;--tf-color-danger-tint:#b3261e17;--tf-color-ai:#0c717f;--tf-color-ai-tint:#0d7d8c1a;--tf-color-ai-wash:#0d7d8c0d;--tf-color-ai-border:#0d7d8c4d;--tf-color-ai-on-dark:#63e6e2;--tf-atmos-teal:#ea692812;--tf-atmos-cyan:#0d7d8c0f;--tf-gradient-ai:linear-gradient(135deg, #0c717f 0%, #0a5560 100%);--tf-gradient-atmos:linear-gradient(135deg, var(--tf-atmos-cyan) 0%, transparent 46%, var(--tf-atmos-teal) 100%);--tf-color-scrim:#11141870;--tf-color-glass-bg:#ffffffd1;--tf-color-glass-border:#1114181a;--tf-color-glass-bg-ai:#ecfafbe0;--tf-bowl-stage:#f5a94f;--tf-bowl-band-hot:#c9752a;--tf-bowl-band-warm:#ab8347;--tf-bowl-band-cool:#3f96a2;--tf-bowl-band-cold:#6d8b99;--tf-bowl-seat-taken:#1114181a;--tf-bowl-seat-taken-ink:#11141842;--tf-bowl-seat-mine:#ea6928;--tf-bowl-floor:#f4f6f8;--tf-bowl-ink:#14171beb;--tf-bowl-ink-2:#14171bb8;--tf-bowl-ink-3:#14171b99;--tf-bowl-fill:#1114180d;--tf-bowl-edge:#11141824;--tf-bowl-panel:#ffffffe6;--tf-bowl-panel-2:#fffffff5;--tf-bowl-scrim:#f6f7f9db;--tf-bowl-ai:#0c717f;--tf-bowl-ai-tint:#0d7d8c1a;--tf-bowl-ai-edge:#0d7d8c4d;--tf-bowl-fill-hover:#1114181a;--tf-bowl-ink-bright:#14171b;--tf-bowl-surround-glow:#fff;--tf-bowl-surround-top:#e8edf1;--tf-bowl-surround-bottom:#dfe6ec;--tf-cover-s:14%;--tf-cover-s2:18%;--tf-cover-l:82%;--tf-cover-bloom:#f5a94f73;--tf-color-on-cover:#11141838;--tf-ring-selected:0 0 0 2px var(--tf-bowl-seat-mine)}:root[data-tf-theme=light] :-webkit-any(.tf-ticket-stub,.tf-pay-summary,.tf-ticket-row-when){--tf-color-success:#3ed598;--tf-color-success-tint:#3ed59824;--tf-color-warning:#ffc678;--tf-color-warning-tint:#ffc67824;--tf-color-danger:#ff8b8b;--tf-color-danger-tint:#ff8b8b24;--tf-color-ai:#63e6e2;--tf-color-ai-tint:#63e6e224;--tf-color-accent:#ea6928;--tf-color-accent-tint:#ea692829;--tf-color-bg-sunken:#ffffff1a;--tf-color-text-secondary:#ffffffb8;--tf-color-border-subtle:#ffffff29;--tf-color-fill-subtle:#ffffff1a;--tf-color-focus:#f4915e;--tf-color-focus-offset:#0e1c28}:root[data-tf-theme=light] :-moz-any(.tf-ticket-stub,.tf-pay-summary,.tf-ticket-row-when){--tf-color-success:#3ed598;--tf-color-success-tint:#3ed59824;--tf-color-warning:#ffc678;--tf-color-warning-tint:#ffc67824;--tf-color-danger:#ff8b8b;--tf-color-danger-tint:#ff8b8b24;--tf-color-ai:#63e6e2;--tf-color-ai-tint:#63e6e224;--tf-color-accent:#ea6928;--tf-color-accent-tint:#ea692829;--tf-color-bg-sunken:#ffffff1a;--tf-color-text-secondary:#ffffffb8;--tf-color-border-subtle:#ffffff29;--tf-color-fill-subtle:#ffffff1a;--tf-color-focus:#f4915e;--tf-color-focus-offset:#0e1c28}:root[data-tf-theme=light] :is(.tf-ticket-stub,.tf-pay-summary,.tf-ticket-row-when){--tf-color-success:#3ed598;--tf-color-success-tint:#3ed59824;--tf-color-warning:#ffc678;--tf-color-warning-tint:#ffc67824;--tf-color-danger:#ff8b8b;--tf-color-danger-tint:#ff8b8b24;--tf-color-ai:#63e6e2;--tf-color-ai-tint:#63e6e224;--tf-color-accent:#ea6928;--tf-color-accent-tint:#ea692829;--tf-color-bg-sunken:#ffffff1a;--tf-color-text-secondary:#ffffffb8;--tf-color-border-subtle:#ffffff29;--tf-color-fill-subtle:#ffffff1a;--tf-color-focus:#f4915e;--tf-color-focus-offset:#0e1c28}@media (prefers-contrast:more){:root[data-tf-theme=light]{--tf-color-text-secondary:#14171b;--tf-color-text-muted:#2b3038;--tf-color-text-faint:#3a404a;--tf-color-border-subtle:#11141857;--tf-color-border-strong:#1114188c;--tf-color-fill-subtle:#1114184d;--tf-color-glass-bg:#fff;--tf-color-glass-bg-ai:#ecfafb;--tf-color-glass-border:#1114188c;--tf-bowl-seat-taken:#11141833;--tf-bowl-seat-taken-ink:#11141873}}@media (prefers-reduced-transparency:reduce){:root[data-tf-theme=light]{--tf-color-glass-bg:#fff;--tf-color-glass-bg-ai:#ecfafb;--tf-color-glass-border:#11141829}}:root[data-tf-theme=light]{--tf-shadow-xs:0 1px 2px #1114180d;--tf-shadow-sm:0 2px 6px #1114180d;--tf-shadow-md:0 2px 6px #1114180d, 0 10px 26px #11141814;--tf-shadow-lg:0 3px 8px #1114180f, 0 22px 54px #1114181f;--tf-shadow-xl:0 4px 10px #11141814, 0 34px 80px #1114182e;--tf-shadow-accent:0 2px 6px #11141829, 0 12px 28px #11141833;--tf-shadow-ai:0 2px 6px #0d7d8c24, 0 12px 30px #0d7d8c29;--tf-shadow-flare:none;--tf-glow-intent:0 2px 8px #1114180d, 0 26px 60px #1114181f, inset 0 1px 0 #fff}@media (prefers-reduced-transparency:reduce){:root[data-tf-theme=light]{--tf-shadow-md:0 2px 6px #1114180d, 0 10px 26px #11141814;--tf-shadow-lg:0 3px 8px #1114180f, 0 22px 54px #1114181f;--tf-shadow-xl:0 4px 10px #11141814, 0 34px 80px #1114182e}}:root{--tf-duration-instant:80ms;--tf-duration-fast:.14s;--tf-duration-base:.2s;--tf-duration-slow:.28s;--tf-duration-deliberate:.42s;--tf-ease-out:cubic-bezier(.22, 1, .36, 1);--tf-ease-in:cubic-bezier(.55, 0, 1, .45);--tf-ease-in-out:cubic-bezier(.65, 0, .35, 1);--tf-ease-spring:cubic-bezier(.34, 1.4, .64, 1);--tf-transition-colors:color var(--tf-duration-fast) var(--tf-ease-out), background-color var(--tf-duration-fast) var(--tf-ease-out), border-color var(--tf-duration-fast) var(--tf-ease-out), box-shadow var(--tf-duration-base) var(--tf-ease-out);--tf-transition-transform:transform var(--tf-duration-base) var(--tf-ease-out)}@media (prefers-reduced-motion:reduce){:root{--tf-duration-instant:1ms;--tf-duration-fast:1ms;--tf-duration-base:1ms;--tf-duration-slow:1ms;--tf-duration-deliberate:1ms}.tf-root *,.tf-root :before,.tf-root :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}:root{--tf-bp-tablet:640px;--tf-bp-desktop:1024px;--tf-bp-wide:1440px}.tf-btn{justify-content:center;align-items:center;gap:var(--tf-space-2);font-family:var(--tf-font-sans);font-weight:var(--tf-weight-semibold);letter-spacing:-.01em;border-radius:var(--tf-radius-md);cursor:pointer;transition:var(--tf-transition-colors), transform var(--tf-duration-fast) var(--tf-ease-out);white-space:nowrap;-webkit-tap-highlight-color:transparent;border:1px solid #0000;text-decoration:none;display:inline-flex;position:relative}.tf-btn:focus-visible{box-shadow:var(--tf-ring-focus);outline:none}.tf-btn:active:not(:disabled){transform:translateY(1px)}.tf-btn:disabled,.tf-btn[aria-disabled=true]{cursor:not-allowed;transform:none}.tf-btn-sm{padding:var(--tf-space-2) var(--tf-space-3);min-height:36px;font-size:.8125rem}.tf-btn-md{padding:var(--tf-space-3) var(--tf-space-5);min-height:var(--tf-touch-min);font-size:.875rem}.tf-btn-lg{padding:var(--tf-space-4) var(--tf-space-6);min-height:52px;font-size:.9375rem}@media (pointer:coarse){.tf-btn-sm{min-height:var(--tf-touch-min);padding-inline:var(--tf-space-4)}}.tf-btn-block{width:100%}.tf-btn-primary{background:var(--tf-color-accent);color:var(--tf-color-text-on-accent);box-shadow:var(--tf-shadow-accent)}.tf-btn-primary:hover:not(:disabled){background:var(--tf-color-accent-hover)}.tf-btn-primary:active:not(:disabled){background:var(--tf-color-accent-active)}.tf-btn-primary:disabled{background:var(--tf-color-bg-surface);color:var(--tf-color-text-faint);box-shadow:none}.tf-btn-secondary{background:var(--tf-color-bg-elevated);color:var(--tf-color-text-primary);border-color:var(--tf-color-border-strong)}.tf-btn-secondary:hover:not(:disabled){background:var(--tf-color-bg-surface)}.tf-btn-secondary:disabled{color:var(--tf-color-text-faint);border-color:var(--tf-color-border-subtle);background:0 0}.tf-btn-tertiary{background:var(--tf-color-bg-sunken);color:var(--tf-color-text-primary)}.tf-btn-tertiary:hover:not(:disabled){background:var(--tf-color-border-subtle)}.tf-btn-tertiary:disabled{color:var(--tf-color-text-faint);background:var(--tf-color-bg-surface)}.tf-btn-ghost{color:var(--tf-color-text-primary);background:0 0}.tf-btn-ghost:hover:not(:disabled){background:var(--tf-color-bg-sunken)}.tf-btn-ghost:disabled{color:var(--tf-color-text-faint)}.tf-btn-danger{border-color:var(--tf-color-danger);color:var(--tf-color-danger);background:0 0}.tf-btn-danger:hover:not(:disabled){background:var(--tf-color-danger-tint)}.tf-btn-danger:disabled{color:var(--tf-color-text-faint);border-color:var(--tf-color-border-subtle)}.tf-btn-loading{cursor:progress}.tf-btn-loading .tf-btn-label{opacity:0}.tf-btn-spinner{place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.tf-btn-spinner:after{content:"";border-radius:var(--tf-radius-circle);border:2px solid;border-top-color:#0000;width:1em;height:1em;animation:.64s linear infinite tf-spin}@keyframes tf-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.tf-btn-spinner:after{animation:1.2s steps(8,end) infinite tf-spin}}.tf-icon-btn{min-width:var(--tf-touch-min);min-height:var(--tf-touch-min);padding:var(--tf-space-2);border-radius:var(--tf-radius-md);color:var(--tf-color-text-secondary);cursor:pointer;transition:var(--tf-transition-colors);-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.tf-icon-btn:hover:not(:disabled){background:var(--tf-color-bg-sunken);color:var(--tf-color-text-primary)}.tf-icon-btn:focus-visible{box-shadow:var(--tf-ring-focus);outline:none}.tf-icon-btn:disabled{color:var(--tf-color-text-faint);cursor:not-allowed}.tf-icon-btn-solid{background:var(--tf-color-bg-elevated);border-color:var(--tf-color-border-subtle);box-shadow:var(--tf-shadow-xs)}.tf-icon-btn-sm{min-width:36px;min-height:36px}@media (pointer:coarse){.tf-icon-btn-sm{min-width:var(--tf-touch-min);min-height:var(--tf-touch-min)}}.tf-surface{background:var(--tf-color-bg-elevated);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);padding:var(--tf-space-5)}.tf-surface-flat{box-shadow:none}.tf-surface-raised{box-shadow:var(--tf-shadow-sm)}.tf-surface-floating{box-shadow:var(--tf-shadow-lg);border-radius:var(--tf-radius-xl)}.tf-surface-sunken{background:var(--tf-color-bg-surface);box-shadow:none}.tf-surface-pad-none{padding:0}.tf-surface-pad-sm{padding:var(--tf-space-3)}.tf-surface-pad-lg{padding:var(--tf-space-8)}@media (hover:hover){.tf-surface-interactive:hover{box-shadow:var(--tf-shadow-md);transform:translateY(-2px)}}.tf-surface-interactive{cursor:pointer;transition:box-shadow var(--tf-duration-base) var(--tf-ease-out), transform var(--tf-duration-base) var(--tf-ease-out)}.tf-surface-interactive:focus-visible{box-shadow:var(--tf-ring-focus);outline:none}.tf-divider{border:none;border-top:1px solid var(--tf-color-border-subtle);margin:var(--tf-space-4) 0}.tf-divider-vertical{border-top:none;border-left:1px solid var(--tf-color-border-subtle);margin:0 var(--tf-space-3);align-self:stretch}.tf-chip{align-items:center;gap:var(--tf-space-2);padding:var(--tf-space-2) var(--tf-space-3);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-pill);background:var(--tf-color-bg-elevated);color:var(--tf-color-text-secondary);font-family:var(--tf-font-sans);font-size:var(--tf-text-label-size);font-weight:var(--tf-weight-medium);white-space:nowrap;line-height:1.2;display:inline-flex}.tf-chip-button{cursor:pointer;transition:var(--tf-transition-colors);-webkit-tap-highlight-color:transparent}.tf-chip-button:hover{background:var(--tf-color-bg-sunken);color:var(--tf-color-text-primary)}.tf-chip-button:focus-visible{box-shadow:var(--tf-ring-focus);outline:none}.tf-chip-selected{background:var(--tf-color-accent-wash);border-color:var(--tf-color-accent);color:var(--tf-color-accent)}.tf-chip-disabled{opacity:.55;cursor:not-allowed}.tf-chip-ai{background:var(--tf-color-ai-wash);border-color:var(--tf-color-ai-border);color:var(--tf-color-ai)}@media (pointer:coarse){.tf-chip-button{min-height:var(--tf-touch-min)}}.tf-chip-remove{border-radius:var(--tf-radius-circle);width:20px;height:20px;color:inherit;cursor:pointer;opacity:.65;background:0 0;border:none;place-items:center;margin-right:-2px;font-size:15px;line-height:1;display:inline-grid}.tf-chip-remove:hover{opacity:1;background:var(--tf-color-fill-subtle)}.tf-chip-remove:focus-visible{box-shadow:var(--tf-ring-focus);opacity:1;outline:none}.tf-badge{align-items:center;gap:var(--tf-space-1);padding:2px var(--tf-space-2);border-radius:var(--tf-radius-sm);font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);font-weight:var(--tf-weight-semibold);letter-spacing:.005em;line-height:1.5;display:inline-flex}.tf-badge-neutral{background:var(--tf-color-bg-sunken);color:var(--tf-color-text-secondary)}.tf-badge-accent{background:var(--tf-color-accent-tint);color:var(--tf-color-accent)}.tf-badge-success{background:var(--tf-color-success-tint);color:var(--tf-color-success)}.tf-badge-warning{background:var(--tf-color-warning-tint);color:var(--tf-color-warning)}.tf-badge-danger{background:var(--tf-color-danger-tint);color:var(--tf-color-danger)}.tf-badge-ai{background:var(--tf-color-ai-tint);color:var(--tf-color-ai)}.tf-skeleton{background:linear-gradient(90deg, var(--tf-color-bg-sunken) 25%, var(--tf-color-border-subtle) 37%, var(--tf-color-bg-sunken) 63%);border-radius:var(--tf-radius-sm);background-size:400% 100%;animation:1.4s infinite tf-shimmer}.tf-skeleton-text{height:.9em;margin:.25em 0}.tf-skeleton-circle{border-radius:var(--tf-radius-circle)}@keyframes tf-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.tf-skeleton{background:var(--tf-color-bg-sunken);animation:none}}.tf-field{gap:var(--tf-space-2);flex-direction:column;display:flex}.tf-field-label{font-family:var(--tf-font-sans);font-size:var(--tf-text-label-size);font-weight:var(--tf-weight-medium);color:var(--tf-color-text-primary)}.tf-field-optional{color:var(--tf-color-text-faint);font-weight:var(--tf-weight-regular)}.tf-field-control{width:100%;min-height:var(--tf-touch-min);padding:var(--tf-space-3);background:var(--tf-color-bg-elevated);border:1px solid var(--tf-color-border-strong);border-radius:var(--tf-radius-md);color:var(--tf-color-text-primary);font-family:var(--tf-font-sans);transition:var(--tf-transition-colors);font-size:1rem;line-height:1.5}@media (min-width:640px){.tf-field-control{font-size:var(--tf-text-body-size)}}.tf-field-control::placeholder{color:var(--tf-color-text-faint)}.tf-field-control:hover:not(:disabled){border-color:var(--tf-color-text-faint)}.tf-field-control:focus{border-color:var(--tf-color-accent);box-shadow:0 0 0 3px var(--tf-color-accent-tint);outline:none}.tf-field-control:disabled{background:var(--tf-color-bg-surface);color:var(--tf-color-text-faint);cursor:not-allowed}.tf-field-control-invalid{border-color:var(--tf-color-danger)}.tf-field-control-invalid:focus{border-color:var(--tf-color-danger);box-shadow:0 0 0 3px var(--tf-color-danger-tint)}.tf-field-textarea{resize:vertical;min-height:96px}.tf-field-help{font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted)}.tf-field-error{font-size:var(--tf-text-caption-size);color:var(--tf-color-danger);font-weight:var(--tf-weight-medium)}.tf-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tf-glass{background:var(--tf-color-glass-bg);border:1px solid var(--tf-color-glass-border);border-radius:var(--tf-radius-xl);box-shadow:var(--tf-shadow-lg);padding:var(--tf-space-5);position:relative}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.tf-glass{-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);background:var(--tf-color-glass-bg)}}.tf-glass-ai{background:var(--tf-color-glass-bg-ai);border-color:var(--tf-color-ai-border);box-shadow:var(--tf-shadow-ai)}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.tf-glass{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--tf-color-bg-elevated);border-color:var(--tf-color-border-strong)}.tf-glass-ai{background:var(--tf-color-ai-wash)}}.tf-score{align-items:center;gap:var(--tf-space-2);display:inline-flex}.tf-score-dial{flex:none;place-items:center;display:grid;position:relative}.tf-score-value{font-family:var(--tf-font-mono);font-variant-numeric:tabular-nums;font-weight:var(--tf-weight-bold);color:var(--tf-color-ai);letter-spacing:-.02em}.tf-score-label{font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted)}.tf-score-track{stroke:var(--tf-color-ai-tint)}.tf-score-fill{stroke:var(--tf-color-ai);transition:stroke-dashoffset var(--tf-duration-slow) var(--tf-ease-out)}.tf-reasons{gap:var(--tf-space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tf-reason{align-items:center;gap:var(--tf-space-1);padding:2px var(--tf-space-2);border-radius:var(--tf-radius-sm);background:var(--tf-color-ai-wash);border:1px solid var(--tf-color-ai-border);color:var(--tf-color-ai);font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);font-weight:var(--tf-weight-medium);line-height:1.6;display:inline-flex}.tf-reason-factual{background:var(--tf-color-bg-sunken);border-color:var(--tf-color-border-subtle);color:var(--tf-color-text-secondary)}.tf-intent-chip{align-items:center;gap:var(--tf-space-2);padding:var(--tf-space-2) var(--tf-space-4);min-height:var(--tf-touch-min);border:1px dashed var(--tf-color-ai-border);border-radius:var(--tf-radius-pill);background:var(--tf-color-ai-wash);color:var(--tf-color-ai);font-family:var(--tf-font-sans);font-size:var(--tf-text-label-size);font-weight:var(--tf-weight-medium);cursor:pointer;transition:var(--tf-transition-colors);text-align:left;display:inline-flex}.tf-intent-chip:hover{background:var(--tf-color-ai-tint)}.tf-intent-chip:focus-visible{box-shadow:var(--tf-ring-focus);outline:none}.tf-ribbon{align-items:center;gap:var(--tf-space-2);padding:var(--tf-space-3) 0;flex-wrap:wrap;margin:0;list-style:none;display:flex}.tf-ribbon-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-inline:var(--tf-gutter);margin-inline:calc(var(--tf-gutter) * -1);flex-wrap:nowrap;position:relative;overflow-x:auto}.tf-ribbon-scroll::-webkit-scrollbar{display:none}.tf-ribbon>li{flex:none}.tf-ribbon-label{font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted);flex:none}.tf-xcard{flex-direction:column;width:100%;padding:0;display:flex;overflow:hidden}.tf-xcard-media{aspect-ratio:16/10;background:var(--tf-color-bg-sunken);position:relative;overflow:hidden;container-type:inline-size}.tf-xcard-media img{object-fit:cover;width:100%;height:100%;display:block}@media (hover:hover){.tf-xcard:hover .tf-xcard-media img{transform:scale(1.03)}}.tf-xcard-media img{transition:transform var(--tf-duration-slow) var(--tf-ease-out)}.tf-xcard-media-empty{place-items:center;width:100%;height:100%;display:grid}.tf-xcard-media-initial{font-family:var(--tf-font-display);font-size:max(3rem,min(22cqw,5.5rem));font-weight:var(--tf-weight-semibold);color:var(--tf-color-on-cover);line-height:1}.tf-xcard-badges{top:var(--tf-space-3);left:var(--tf-space-3);gap:var(--tf-space-2);z-index:2;pointer-events:none;flex-wrap:wrap;display:flex;position:absolute}.tf-xcard-fav{top:var(--tf-space-2);right:var(--tf-space-2);z-index:2;position:absolute}.tf-xcard-body{gap:var(--tf-space-2);padding:var(--tf-space-4);flex-direction:column;flex:1;display:flex}.tf-xcard-title{font-family:var(--tf-font-display);font-size:var(--tf-text-h3-size);font-weight:var(--tf-weight-semibold);letter-spacing:-.015em;color:var(--tf-color-text-primary);margin:0;line-height:1.25}.tf-xcard-meta{font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-text-muted);margin:0}.tf-xcard-foot{justify-content:space-between;align-items:flex-end;gap:var(--tf-space-3);padding-top:var(--tf-space-2);margin-top:auto;display:flex}.tf-xcard-foot-end{align-items:center;gap:var(--tf-space-2);z-index:2;display:flex;position:relative}.tf-xcard-price-note{font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted)}.tf-xcard-availability{font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);font-weight:var(--tf-weight-medium)}.tf-xcard-availability-low{color:var(--tf-color-danger)}.tf-xcard-availability-ok{color:var(--tf-color-success)}.tf-scrim{background:var(--tf-color-scrim);opacity:0;transition:opacity var(--tf-duration-base) var(--tf-ease-out);z-index:100;position:fixed;top:0;bottom:0;left:0;right:0}.tf-scrim-open{opacity:1}.tf-sheet{z-index:101;max-height:88vh;background:var(--tf-color-bg-elevated);border-radius:var(--tf-radius-2xl) var(--tf-radius-2xl) 0 0;max-height:88svh;box-shadow:var(--tf-shadow-xl);transition:transform var(--tf-duration-deliberate) var(--tf-ease-spring);padding-bottom:env(safe-area-inset-bottom,0);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.tf-sheet-open{transform:translateY(0)}.tf-sheet-grip{border-radius:var(--tf-radius-pill);background:var(--tf-color-border-strong);width:36px;height:4px;margin:var(--tf-space-3) auto var(--tf-space-2);flex:none}.tf-sheet-head{justify-content:space-between;align-items:center;gap:var(--tf-space-3);padding:0 var(--tf-space-5) var(--tf-space-3);flex:none;display:flex}.tf-sheet-body{padding:0 var(--tf-space-5) var(--tf-space-5);overflow-y:auto}@media (min-width:640px){.tf-sheet-responsive{width:min(560px, calc(100vw - 2 * var(--tf-space-8)));border-radius:var(--tf-radius-xl);opacity:0;transition:transform var(--tf-duration-base) var(--tf-ease-spring), opacity var(--tf-duration-fast) var(--tf-ease-out);top:50%;bottom:auto;left:50%;right:auto;transform:translate(-50%,-50%)scale(.96)}.tf-sheet-responsive.tf-sheet-open{opacity:1;transform:translate(-50%,-50%)scale(1)}.tf-sheet-responsive .tf-sheet-grip{display:none}}.tf-toast-region{z-index:200;left:50%;bottom:calc(var(--tf-space-4) + env(safe-area-inset-bottom,0px));gap:var(--tf-space-2);width:min(420px, calc(100vw - 2 * var(--tf-space-4)));pointer-events:none;flex-direction:column;display:flex;position:fixed;transform:translate(-50%)}@media (min-width:640px){.tf-toast-region{bottom:var(--tf-space-6)}}.tf-toast{align-items:flex-start;gap:var(--tf-space-3);padding:var(--tf-space-3) var(--tf-space-4);border-radius:var(--tf-radius-md);background:var(--tf-color-bg-elevated);color:var(--tf-color-text-primary);border:1px solid var(--tf-color-border-strong);box-shadow:var(--tf-shadow-xl);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);pointer-events:auto;animation:tf-toast-in var(--tf-duration-base) var(--tf-ease-spring);display:flex}.tf-toast-danger{background:var(--tf-color-danger-tint);border-color:var(--tf-color-danger)}.tf-toast-success{background:var(--tf-color-success-tint);border-color:var(--tf-color-success)}.tf-toast-action{color:inherit;font:inherit;font-weight:var(--tf-weight-semibold);cursor:pointer;padding:0 var(--tf-space-1);min-height:var(--tf-touch-min);background:0 0;border:none;flex:none;margin-left:auto;text-decoration:underline}.tf-toast-action:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid}@keyframes tf-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.tf-toast{animation:none}}.tf-xcard-interest{align-items:center;gap:var(--tf-space-2);margin:var(--tf-space-2) 0 0;font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted);display:flex}.tf-xcard-interest-mark{color:var(--tf-color-accent-bright);font-size:11px}
