.tf-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--tf-space-2);font-family:var(--tf-font-sans);font-weight:var(--tf-weight-semibold);letter-spacing:-.01em;text-decoration:none;border:1px solid transparent;border-radius:var(--tf-radius-md);cursor:pointer;transition:var(--tf-transition-colors),transform var(--tf-duration-fast) var(--tf-ease-out);position:relative;white-space:nowrap;-webkit-tap-highlight-color:transparent}.tf-btn:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-btn:active:not(:disabled){transform:translateY(1px)}.tf-btn:disabled,.tf-btn[aria-disabled=true]{cursor:not-allowed;transform:none}.tf-btn-sm{font-size:.8125rem;padding:var(--tf-space-2) var(--tf-space-3);min-height:36px}.tf-btn-md{font-size:.875rem;padding:var(--tf-space-3) var(--tf-space-5);min-height:var(--tf-touch-min)}.tf-btn-lg{font-size:.9375rem;padding:var(--tf-space-4) var(--tf-space-6);min-height:52px}@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:transparent}.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{background:transparent;color:var(--tf-color-text-primary)}.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{background:transparent;border-color:var(--tf-color-danger);color:var(--tf-color-danger)}.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{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.tf-btn-spinner:after{content:"";width:1em;height:1em;border-radius:var(--tf-radius-circle);border:2px solid currentColor;border-top-color:transparent;animation:tf-spin .64s linear infinite}@keyframes tf-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.tf-btn-spinner:after{animation:tf-spin 1.2s steps(8) infinite}}.tf-icon-btn{display:inline-grid;place-items:center;min-width:var(--tf-touch-min);min-height:var(--tf-touch-min);padding:var(--tf-space-2);background:transparent;border:1px solid transparent;border-radius:var(--tf-radius-md);color:var(--tf-color-text-secondary);cursor:pointer;transition:var(--tf-transition-colors);-webkit-tap-highlight-color:transparent}.tf-icon-btn:hover:not(:disabled){background:var(--tf-color-bg-sunken);color:var(--tf-color-text-primary)}.tf-icon-btn:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.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{outline:none;box-shadow:var(--tf-ring-focus)}.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{display:inline-flex;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);line-height:1.2;white-space:nowrap}.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{outline:none;box-shadow:var(--tf-ring-focus)}.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{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:-2px;border:none;border-radius:var(--tf-radius-circle);background:transparent;color:inherit;font-size:15px;line-height:1;cursor:pointer;opacity:.65}.tf-chip-remove:hover{opacity:1;background:var(--tf-color-fill-subtle)}.tf-chip-remove:focus-visible{outline:none;box-shadow:var(--tf-ring-focus);opacity:1}.tf-badge{display:inline-flex;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);line-height:1.5;letter-spacing:.005em}.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%);background-size:400% 100%;animation:tf-shimmer 1.4s ease infinite;border-radius:var(--tf-radius-sm)}.tf-skeleton-text{height:.9em;margin:.25em 0}.tf-skeleton-circle{border-radius:var(--tf-radius-circle)}@keyframes tf-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion: reduce){.tf-skeleton{animation:none;background:var(--tf-color-bg-sunken)}}.tf-field{display:flex;flex-direction:column;gap:var(--tf-space-2)}.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);font-size:1rem;line-height:1.5;transition:var(--tf-transition-colors)}@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{outline:none;border-color:var(--tf-color-accent);box-shadow:0 0 0 3px var(--tf-color-accent-tint)}.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{min-height:96px;resize:vertical}.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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tf-glass{position:relative;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)}@supports (backdrop-filter: blur(1px)) or (-webkit-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{display:inline-flex;align-items:center;gap:var(--tf-space-2)}.tf-score-dial{position:relative;flex:none;display:grid;place-items:center}.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{display:flex;flex-wrap:wrap;gap:var(--tf-space-2);margin:0;padding:0;list-style:none}.tf-reason{display:inline-flex;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}.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{display:inline-flex;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}.tf-intent-chip:hover{background:var(--tf-color-ai-tint)}.tf-intent-chip:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-ribbon{display:flex;align-items:center;gap:var(--tf-space-2);flex-wrap:wrap;padding:var(--tf-space-3) 0;margin:0;list-style:none}.tf-ribbon-scroll{flex-wrap:nowrap;overflow-x:auto;position:relative;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-inline:var(--tf-gutter);margin-inline:calc(var(--tf-gutter) * -1)}.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{display:flex;flex-direction:column;overflow:hidden;padding:0;width:100%}.tf-xcard-media{position:relative;container-type:inline-size;aspect-ratio:16 / 10;background:var(--tf-color-bg-sunken);overflow:hidden}.tf-xcard-media img{width:100%;height:100%;object-fit:cover;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{display:grid;place-items:center;width:100%;height:100%}.tf-xcard-media-initial{font-family:var(--tf-font-display);font-size:clamp(3rem,22cqw,5.5rem);font-weight:var(--tf-weight-semibold);color:var(--tf-color-on-cover);line-height:1}.tf-xcard-badges{position:absolute;top:var(--tf-space-3);left:var(--tf-space-3);display:flex;gap:var(--tf-space-2);flex-wrap:wrap;z-index:2;pointer-events:none}.tf-xcard-fav{position:absolute;top:var(--tf-space-2);right:var(--tf-space-2);z-index:2}.tf-xcard-body{display:flex;flex-direction:column;gap:var(--tf-space-2);padding:var(--tf-space-4);flex:1}.tf-xcard-title{font-family:var(--tf-font-display);font-size:var(--tf-text-h3-size);font-weight:var(--tf-weight-semibold);line-height:1.25;letter-spacing:-.015em;color:var(--tf-color-text-primary);margin:0}.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{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--tf-space-3);margin-top:auto;padding-top:var(--tf-space-2)}.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{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--tf-color-scrim);opacity:0;transition:opacity var(--tf-duration-base) var(--tf-ease-out);z-index:100}.tf-scrim-open{opacity:1}.tf-sheet{position:fixed;left:0;right:0;bottom:0;z-index:101;max-height:88vh;max-height:88svh;display:flex;flex-direction:column;background:var(--tf-color-bg-elevated);border-radius:var(--tf-radius-2xl) var(--tf-radius-2xl) 0 0;box-shadow:var(--tf-shadow-xl);transform:translateY(100%);transition:transform var(--tf-duration-deliberate) var(--tf-ease-spring);padding-bottom:env(safe-area-inset-bottom,0)}.tf-sheet-open{transform:translateY(0)}.tf-sheet-grip{width:36px;height:4px;border-radius:var(--tf-radius-pill);background:var(--tf-color-border-strong);margin:var(--tf-space-3) auto var(--tf-space-2);flex:none}.tf-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:var(--tf-space-3);padding:0 var(--tf-space-5) var(--tf-space-3);flex:none}.tf-sheet-body{padding:0 var(--tf-space-5) var(--tf-space-5);overflow-y:auto}@media (min-width: 640px){.tf-sheet-responsive{left:50%;right:auto;bottom:auto;top:50%;width:min(560px,calc(100vw - 2 * var(--tf-space-8)));border-radius:var(--tf-radius-xl);transform:translate(-50%,-50%) scale(.96);opacity:0;transition:transform var(--tf-duration-base) var(--tf-ease-spring),opacity var(--tf-duration-fast) var(--tf-ease-out)}.tf-sheet-responsive.tf-sheet-open{transform:translate(-50%,-50%) scale(1);opacity:1}.tf-sheet-responsive .tf-sheet-grip{display:none}}.tf-toast-region{position:fixed;z-index:200;left:50%;transform:translate(-50%);bottom:calc(var(--tf-space-4) + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:var(--tf-space-2);width:min(420px,calc(100vw - 2 * var(--tf-space-4)));pointer-events:none}@media (min-width: 640px){.tf-toast-region{bottom:var(--tf-space-6)}}.tf-toast{display:flex;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)}.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{margin-left:auto;flex:none;background:none;border:none;color:inherit;font:inherit;font-weight:var(--tf-weight-semibold);text-decoration:underline;cursor:pointer;padding:0 var(--tf-space-1);min-height:var(--tf-touch-min)}.tf-toast-action:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:4px}@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{display:flex;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)}.tf-xcard-interest-mark{color:var(--tf-color-accent-bright);font-size:11px}html:has(.tf-root){background:var(--tf-color-bg-canvas)}html:has(.tf-root) body{background:var(--tf-color-bg-canvas)}.tf-shell{background-image:radial-gradient(circle at 50% -6%,var(--tf-atmos-teal),transparent 40rem),radial-gradient(circle at 92% 12%,var(--tf-atmos-cyan),transparent 32rem);background-repeat:no-repeat;display:flex;flex-direction:column;min-height:100vh;min-height:100svh;background:var(--tf-color-bg-canvas);color:var(--tf-color-text-primary)}.tf-shell-skip{position:absolute;left:var(--tf-space-4);top:var(--tf-space-4);z-index:300;padding:var(--tf-space-3) var(--tf-space-4);background:var(--tf-color-bg-elevated);border:1px solid var(--tf-color-border-strong);border-radius:var(--tf-radius-md);box-shadow:var(--tf-shadow-lg);font-family:var(--tf-font-sans);font-size:var(--tf-text-label-size);font-weight:var(--tf-weight-semibold);color:var(--tf-color-text-primary);text-decoration:none;transform:translateY(calc(-100% - var(--tf-space-8)));transition:transform var(--tf-duration-fast) var(--tf-ease-out)}.tf-shell-skip:focus{transform:translateY(0)}.tf-shell-header{position:sticky;top:0;z-index:60;border-bottom:1px solid var(--tf-color-border-subtle);background:var(--tf-color-bg-canvas);transition:box-shadow var(--tf-duration-base) var(--tf-ease-out),background-color var(--tf-duration-base) var(--tf-ease-out)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.tf-shell-header{background:color-mix(in srgb,var(--tf-color-bg-canvas) 76%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3)}}@media (prefers-reduced-transparency: reduce),(prefers-contrast: more){.tf-shell-header{background:var(--tf-color-bg-canvas);-webkit-backdrop-filter:none;backdrop-filter:none}}.tf-shell-header-scrolled{box-shadow:var(--tf-shadow-sm)}.tf-shell-header-inner{display:flex;align-items:center;gap:var(--tf-space-4);min-height:60px;padding-block:var(--tf-space-3)}@media (min-width: 1024px){.tf-shell-header-inner{min-height:68px}}.tf-shell-brand{display:inline-flex;align-items:center;gap:var(--tf-space-2);text-decoration:none;color:inherit;border-radius:var(--tf-radius-md);flex:none}.tf-shell-brand:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-shell-brand-mark{width:30px;height:30px;border-radius:9px;background:var(--tf-color-text-primary);display:grid;place-items:center;flex:none}.tf-shell-brand-mark span{width:13px;height:13px;border-radius:var(--tf-radius-circle);background:var(--tf-color-bg-canvas);display:block}.tf-shell-brand-word{font-family:var(--tf-font-display);font-size:1.25rem;font-weight:var(--tf-weight-semibold);letter-spacing:-.022em;margin:0}.tf-shell-nav{display:none}@media (min-width: 1024px){.tf-shell-nav{display:flex;align-items:center;gap:var(--tf-space-1);margin-left:auto}}.tf-shell-nav-link{display:inline-flex;align-items:center;gap:var(--tf-space-2);padding:var(--tf-space-2) var(--tf-space-3);min-height:var(--tf-touch-min);border-radius:var(--tf-radius-md);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);font-weight:var(--tf-weight-medium);color:var(--tf-color-text-secondary);text-decoration:none;transition:var(--tf-transition-colors)}.tf-shell-nav-link:hover{background:var(--tf-color-bg-sunken);color:var(--tf-color-text-primary)}.tf-shell-nav-link:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-shell-nav-link-current{color:var(--tf-color-text-primary);font-weight:var(--tf-weight-semibold);background:var(--tf-color-bg-sunken)}.tf-shell-header-actions{display:flex;align-items:center;gap:var(--tf-space-2);margin-left:auto}@media (min-width: 1024px){.tf-shell-header-actions{margin-left:var(--tf-space-2)}}@media (max-width: 767px){.tf-shell-header-inner{flex-wrap:wrap;row-gap:var(--tf-space-2)}.tf-shell-header-actions{flex-wrap:wrap;justify-content:flex-end}}.tf-shell-context{border-bottom:1px solid var(--tf-color-border-subtle);background:var(--tf-color-bg-surface)}a.btn.tf-shell-create{padding:8px 15px;font-size:13px;flex:none;white-space:nowrap;background:var(--tf-gradient-accent);border:none;color:var(--tf-color-text-on-accent);border-radius:var(--tf-radius-pill);box-shadow:var(--tf-shadow-accent)}a.btn.tf-shell-create:hover{background:var(--tf-gradient-accent);filter:brightness(1.06);border:none}@media (max-width: 480px){a.btn.tf-shell-create{padding:7px 12px;font-size:12px}}.tf-shell-main{flex:1;width:100%;display:flex;flex-direction:column;min-height:0}.tf-shell-route,.tf-page-immersive{flex:1;min-height:0;display:flex;flex-direction:column}@media (max-width: 1023px){.tf-shell-main{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.tf-shell-legacy .tf-shell-main,.tf-shell-no-tabbar .tf-shell-main{padding-bottom:0}}.tf-page-standard{width:100%;max-width:var(--tf-width-content);margin-inline:auto;padding-inline:var(--tf-gutter);padding-block:var(--tf-space-6)}.tf-page-wide{width:100%;max-width:var(--tf-width-wide);margin-inline:auto;padding-inline:var(--tf-gutter);padding-block:var(--tf-space-6)}.tf-page-immersive{width:100%;max-width:none;margin:0;padding:0}.tf-page-transactional{width:100%;max-width:640px;margin-inline:auto;padding-inline:var(--tf-gutter);padding-block:var(--tf-space-8)}.tf-shell-mobilenav{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;border-top:1px solid var(--tf-color-border-subtle);background:var(--tf-color-bg-canvas);padding-bottom:env(safe-area-inset-bottom,0px)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.tf-shell-mobilenav{background:color-mix(in srgb,var(--tf-color-bg-canvas) 86%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3)}}@media (prefers-reduced-transparency: reduce),(prefers-contrast: more){.tf-shell-mobilenav{background:var(--tf-color-bg-canvas);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (min-width: 1024px){.tf-shell-mobilenav{display:none}}.tf-shell-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:var(--tf-space-2) var(--tf-space-1);color:var(--tf-color-text-muted);text-decoration:none;font-family:var(--tf-font-sans);font-size:.6875rem;font-weight:var(--tf-weight-medium);transition:color var(--tf-duration-fast) var(--tf-ease-out);-webkit-tap-highlight-color:transparent}.tf-shell-tab:focus-visible{outline:none;box-shadow:var(--tf-ring-focus);border-radius:var(--tf-radius-md)}.tf-shell-tab-current{color:var(--tf-color-text-primary);font-weight:var(--tf-weight-semibold)}.tf-shell-tab-icon{font-size:19px;line-height:1;display:block}.tf-shell-tab-dot{width:4px;height:4px;border-radius:var(--tf-radius-circle);background:var(--tf-color-accent);margin-top:1px}.tf-shell-route{animation:tf-route-enter var(--tf-duration-base) var(--tf-ease-out)}@keyframes tf-route-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.tf-shell-route{animation:none}}@media (max-width: 899px){.tf-shell-bare-phone .tf-shell-header{display:none}.tf-shell-bare-phone .tf-shell-main{padding-top:0}}.tf-theme-toggle{flex:none;padding:0;border:none;background:none;cursor:pointer;line-height:0;border-radius:var(--tf-radius-pill)}.tf-theme-toggle:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-theme-toggle-track{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;width:62px;height:32px;padding:3px;border:1px solid var(--tf-color-border-strong);border-radius:var(--tf-radius-pill);background:var(--tf-color-bg-surface)}.tf-theme-toggle-thumb{position:absolute;top:3px;left:3px;width:28px;height:24px;border-radius:var(--tf-radius-pill);background:var(--tf-color-accent);transition:transform var(--tf-duration-base) var(--tf-ease-out)}.tf-theme-toggle[aria-checked=true] .tf-theme-toggle-thumb{transform:translate(26px)}.tf-theme-toggle-face{position:relative;z-index:1;display:grid;place-items:center;font-size:13px;line-height:1;transition:color var(--tf-duration-base) var(--tf-ease-out)}.tf-theme-toggle-dark{color:var(--tf-color-text-on-accent)}.tf-theme-toggle-light,.tf-theme-toggle[aria-checked=true] .tf-theme-toggle-dark{color:var(--tf-color-text-muted)}.tf-theme-toggle[aria-checked=true] .tf-theme-toggle-light{color:var(--tf-color-text-on-accent)}@media (prefers-reduced-motion: reduce){.tf-theme-toggle-thumb{transition:none}}.tf-shell-menubtn{border:none;background:none;cursor:pointer}.tf-shell-iconlink,.tf-bell-trigger{position:relative;display:grid;place-items:center;width:38px;height:38px;flex:none;border:1px solid transparent;border-radius:var(--tf-radius-md);background:transparent;color:var(--tf-color-text-secondary);cursor:pointer;transition:var(--tf-transition-colors)}.tf-shell-iconlink:hover,.tf-bell-trigger:hover{background:var(--tf-color-fill-subtle);color:var(--tf-color-text-primary)}.tf-shell-iconlink[aria-current=page]{color:var(--tf-color-accent-bright);background:var(--tf-color-accent-tint)}.tf-bell{position:relative}.tf-bell-badge{position:absolute;top:3px;right:2px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:var(--tf-radius-pill);background:var(--tf-color-accent);color:var(--tf-color-text-on-accent);font-family:var(--tf-font-sans);font-size:10px;font-weight:var(--tf-weight-semibold);line-height:1;box-shadow:0 0 0 2px var(--tf-color-bg-canvas)}.tf-bell-panel{position:absolute;top:calc(100% + var(--tf-space-2));right:0;z-index:200;width:min(22rem,calc(100vw - 2 * var(--tf-gutter)));max-height:min(28rem,70vh);overflow-y:auto;padding:var(--tf-space-2);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-color-bg-elevated);box-shadow:var(--tf-shadow-lg)}.tf-bell-head{display:flex;align-items:center;justify-content:space-between;gap:var(--tf-space-3);padding:var(--tf-space-2) var(--tf-space-3) var(--tf-space-3);border-bottom:1px solid var(--tf-color-border-subtle)}.tf-bell-clear{border:none;background:transparent;padding:var(--tf-space-1) var(--tf-space-2);color:var(--tf-color-ai);font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);font-weight:var(--tf-weight-semibold);cursor:pointer}.tf-bell-clear:hover{text-decoration:underline}.tf-bell-empty{margin:0;padding:var(--tf-space-6) var(--tf-space-4);color:var(--tf-color-text-muted);text-align:center}.tf-bell-list{list-style:none;margin:0;padding:var(--tf-space-1) 0 0}.tf-bell-item{width:100%;display:grid;gap:2px;padding:var(--tf-space-3);border:none;border-radius:var(--tf-radius-md);background:transparent;text-align:left;cursor:pointer;transition:var(--tf-transition-colors)}.tf-bell-item:hover{background:var(--tf-color-fill-subtle)}.tf-bell-item-title{font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-text-secondary)}.tf-bell-item-unread .tf-bell-item-title{font-weight:var(--tf-weight-semibold);color:var(--tf-color-text-primary)}.tf-bell-item-when{font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);color:var(--tf-color-text-faint)}.tf-shell-account{display:flex;align-items:center;gap:var(--tf-space-2);flex:none;padding:3px 8px 3px 3px;border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-pill);background:transparent;color:var(--tf-color-text-secondary);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);font-weight:var(--tf-weight-medium);cursor:pointer;transition:var(--tf-transition-colors)}.tf-shell-account:hover{background:var(--tf-color-fill-subtle);border-color:var(--tf-color-border-strong);color:var(--tf-color-text-primary)}.tf-shell-account-name{max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 767px){.tf-shell-account-name{display:none}}.tf-shell-account-mark{font-size:11px;line-height:1;color:var(--tf-color-text-faint)}@media (max-width: 767px){.tf-shell-account-mark{display:none}}.tf-shell-avatar{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:var(--tf-radius-circle);overflow:hidden;background:var(--tf-color-accent-tint);color:var(--tf-color-accent-bright)}.tf-shell-avatar img{width:100%;height:100%;object-fit:cover;display:block}.tf-shell-avatar-initials{font-family:var(--tf-font-sans);font-size:11px;font-weight:var(--tf-weight-semibold);letter-spacing:.02em;line-height:1}.tf-orgshell{min-height:100vh;display:flex;flex-direction:column}.tf-orgshell-skip{position:absolute;left:12px;top:10px;z-index:100;transform:translateY(-200%);background:var(--paper);color:var(--ink);padding:8px 14px;border-radius:8px;font-size:13px;text-decoration:none;transition:transform .15s ease}.tf-orgshell-skip:focus{transform:translateY(0)}.tf-orgshell-header{position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--ink) 82%,transparent);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3)}@supports not (background: color-mix(in srgb,red 50%,transparent)){.tf-orgshell-header{background:var(--ink)}}@media (prefers-reduced-transparency: reduce),(prefers-contrast: more){.tf-orgshell-header{background:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none}}.tf-orgshell-header-inner{display:flex;align-items:center;gap:14px;min-height:60px;max-width:1180px;margin:0 auto;padding:8px clamp(12px,4vw,28px)}.tf-orgshell-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit;flex:none}.tf-orgshell-brand-mark{width:30px;height:30px;border-radius:9px;background:var(--paper);display:grid;place-items:center;flex:none}.tf-orgshell-brand-mark span{width:13px;height:13px;border-radius:50%;background:var(--ink);display:block}.tf-orgshell-brand-word{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:-.022em}.tf-orgshell-brand-scope{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-left:2px;padding-top:4px}.tf-orgshell-actions{display:flex;align-items:center;gap:10px;margin-left:auto}@media (max-width: 767px){.tf-orgshell-header-inner{flex-wrap:wrap;row-gap:8px}.tf-orgshell-actions{flex-wrap:wrap;justify-content:flex-end}}.tf-orgshell-link{display:inline-flex;align-items:center;padding:8px 12px;border-radius:8px;font-size:13.5px;font-weight:500;color:var(--muted);text-decoration:none;transition:background .12s ease,color .12s ease}.tf-orgshell-link:hover{background:var(--surface);color:var(--paper)}button.tf-orgshell-link{border:none;background:none;cursor:pointer;font-family:inherit}button.tf-orgshell-link:hover{background:var(--surface);color:var(--paper)}.tf-orgshell-nav{border-bottom:1px solid var(--line);background:var(--ink)}.tf-orgshell-nav-inner{display:flex;align-items:center;gap:2px;max-width:1180px;margin:0 auto;padding:0 clamp(12px,4vw,28px);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tf-orgshell-nav-inner::-webkit-scrollbar{display:none}.tf-orgshell-nav-link{flex:none;display:inline-flex;align-items:center;padding:10px 12px;font-size:13.5px;font-weight:500;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;transition:color .12s ease,border-color .12s ease}.tf-orgshell-nav-link:hover{color:var(--paper)}.tf-orgshell-nav-link-current{color:var(--paper);font-weight:600;border-bottom-color:var(--paper)}.tf-orgshell-main{flex:1;width:100%;display:flex;flex-direction:column;min-height:0}@media (max-width: 719px){.tf-orgshell-cta{display:none}}.tf-intent{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--tf-space-3);padding-block:var(--tf-space-10) var(--tf-space-8)}@media (min-width: 1024px){.tf-intent{padding-block:var(--tf-space-16) var(--tf-space-10)}}.tf-intent-live{display:flex;align-items:center;justify-content:center;gap:var(--tf-space-2);margin:0 0 var(--tf-space-3);color:var(--tf-color-ai)}.tf-intent-live-dot{width:6px;height:6px;border-radius:50%;background:var(--tf-color-ai);box-shadow:0 0 10px var(--tf-color-ai)}@media (prefers-reduced-motion: no-preference){.tf-intent-live-dot{animation:tf-intent-breathe 2.4s ease-in-out infinite}}@keyframes tf-intent-breathe{0%,to{opacity:.45;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}.tf-intent-greeting{margin:0 0 calc(-1 * var(--tf-space-2));font-family:var(--tf-font-sans);font-size:var(--tf-text-body-size);color:var(--tf-color-text-muted)}.tf-intent-heading{max-width:18ch}.tf-intent-sub{max-width:46ch;color:var(--tf-color-text-muted)}.tf-intent-form{width:100%;max-width:720px;margin-top:var(--tf-space-5)}.tf-intent-field{display:flex;align-items:center;gap:var(--tf-space-3);padding:var(--tf-space-2) var(--tf-space-2) var(--tf-space-2) var(--tf-space-5);min-height:68px;background:var(--tf-color-bg-elevated);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-pill);box-shadow:var(--tf-glow-intent);transition:var(--tf-transition-colors),box-shadow var(--tf-duration-base) var(--tf-ease-out)}@media (min-width: 1024px){.tf-intent-field{min-height:76px}}.tf-intent-field:focus-within{border-color:var(--tf-color-accent);box-shadow:var(--tf-glow-intent),0 0 0 3px var(--tf-color-accent-tint)}.tf-intent-spark{color:var(--tf-color-ai);font-size:18px;flex:none}.tf-intent-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--tf-font-sans);font-size:1rem;color:var(--tf-color-text-primary)}@media (min-width: 640px){.tf-intent-input{font-size:1.0625rem}}.tf-intent-input::placeholder{color:var(--tf-color-text-faint)}.tf-intent-input:disabled{background:transparent;color:var(--tf-color-text-muted)}.tf-intent-go{flex:none;width:52px;height:52px;display:grid;place-items:center;border:none;border-radius:var(--tf-radius-circle);background:var(--tf-color-accent);color:var(--tf-color-text-on-accent);cursor:pointer;box-shadow:var(--tf-shadow-accent);transition:var(--tf-transition-colors),transform var(--tf-duration-fast) var(--tf-ease-out)}.tf-intent-go:hover:not(:disabled){background:var(--tf-color-accent-hover)}.tf-intent-go:active:not(:disabled){transform:scale(.96)}.tf-intent-go:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-intent-go:disabled{background:var(--tf-color-bg-sunken);color:var(--tf-color-text-faint);box-shadow:none;cursor:not-allowed}.tf-intent-go-mark{font-size:20px;line-height:1}.tf-intent-go-busy{animation:tf-intent-pulse 1.1s var(--tf-ease-out) infinite}@keyframes tf-intent-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.tf-intent-go-busy{animation:none}.tf-intent-go:active:not(:disabled){transform:none}}.tf-intent-examples{display:flex;align-items:center;gap:var(--tf-space-2);margin-top:var(--tf-space-5);max-width:100%;padding-inline:var(--tf-space-4);overflow-x:auto;scrollbar-width:none;position:relative}.tf-intent-examples::-webkit-scrollbar{display:none}@media (max-width: 899px){.tf-intent-examples{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 3rem),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 3rem),transparent 100%)}}@media (min-width: 900px){.tf-intent-examples{flex-wrap:wrap;justify-content:center;overflow-x:visible}}.tf-intent-example{flex:none;padding:var(--tf-space-1) var(--tf-space-3);min-height:var(--tf-touch-min);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-caption-size);white-space:nowrap;cursor:pointer;transition:var(--tf-transition-colors)}@media (pointer: fine){.tf-intent-example{min-height:0;padding-block:var(--tf-space-1)}}.tf-intent-example:hover{border-color:var(--tf-color-ai-border);background:var(--tf-color-ai-wash);color:var(--tf-color-ai)}.tf-intent-example:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-intent-more{display:inline-flex;align-items:center;gap:var(--tf-space-2);color:var(--tf-color-text-muted)}.tf-intent-more-mark{font-size:12px;line-height:1;transition:transform var(--tf-duration-fast) var(--tf-ease-out)}.tf-intent-more-open{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.tf-intent-more-mark{transition:none}}.tf-intent-say{display:contents}.tf-intent-banded{display:grid;align-items:center;text-align:left;gap:var(--tf-space-4);margin-top:var(--tf-space-6);padding:var(--tf-space-5);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-xl);background:radial-gradient(120% 160% at 6% 0%,var(--tf-color-ai-wash),transparent 62%),var(--tf-color-bg-surface);box-shadow:var(--tf-shadow-sm);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"mark say" "form form" "eg   eg"}@media (min-width: 1024px){.tf-intent-banded{padding:var(--tf-space-6);column-gap:var(--tf-space-6);grid-template-columns:auto minmax(16rem,22rem) minmax(0,1fr);grid-template-areas:"mark say form" "eg   eg  eg"}}.tf-intent-banded .tf-intent-mark{grid-area:mark}.tf-intent-banded .tf-intent-say{grid-area:say;display:flex;flex-direction:column;align-items:flex-start;gap:var(--tf-space-1);min-width:0}.tf-intent-banded .tf-intent-form{grid-area:form;margin-top:0;max-width:none;min-width:0}.tf-intent-banded .tf-intent-examples{grid-area:eg;margin-top:var(--tf-space-2);padding-inline:0;min-width:0}@media (min-width: 900px){.tf-intent-banded .tf-intent-examples{justify-content:flex-start}}.tf-intent-banded{padding-block:var(--tf-space-5)}.tf-intent-banded .tf-intent-heading{max-width:none;font-size:clamp(1.35rem,1.1rem + 1vw,1.9rem);line-height:1.12}.tf-intent-banded .tf-intent-sub{max-width:42ch;font-size:var(--tf-text-body-sm-size)}.tf-intent-banded .tf-intent-live{margin-bottom:var(--tf-space-1);justify-content:flex-start}.tf-intent-banded .tf-intent-greeting{margin:0}.tf-intent-banded .tf-intent-field{min-height:64px}.tf-intent-mark{display:none;place-items:center;width:64px;height:64px;border-radius:var(--tf-radius-lg);border:1px solid var(--tf-color-ai-border);background:var(--tf-color-ai-tint);color:var(--tf-color-ai);font-size:26px;line-height:1}@media (min-width: 640px){.tf-intent-mark{display:grid}}@media (min-width: 1024px){.tf-intent-mark{width:76px;height:76px;font-size:30px}}.tf-ahero{min-height:180px}.tf-ahero-insights{display:flex;flex-wrap:wrap;gap:var(--tf-space-3);margin-top:var(--tf-space-3)}.tf-ahero-insight{display:flex;align-items:center;gap:var(--tf-space-3);min-height:var(--tf-touch-min);padding:var(--tf-space-2) var(--tf-space-4);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-color-bg-surface);color:var(--tf-color-text-secondary);font-family:var(--tf-font-sans);text-align:left;cursor:pointer;transition:var(--tf-transition-colors)}.tf-ahero-insight:hover{border-color:var(--tf-color-ai-border);background:var(--tf-color-ai-wash)}.tf-ahero-insight:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-ahero-insight-mark{color:var(--tf-color-ai);font-size:16px;flex:none}.tf-ahero-insight strong{display:block;font-size:var(--tf-text-body-sm-size);font-weight:var(--tf-weight-semibold);color:var(--tf-color-text-primary)}.tf-ahero-insight small{display:block;font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted)}.tf-ahero-insight-plan{border-style:dashed}.tf-ahero-reading{margin-top:var(--tf-space-3);padding:var(--tf-space-4) var(--tf-space-5);border:1px solid var(--tf-color-ai-border);border-radius:var(--tf-radius-lg);background:radial-gradient(140% 180% at 4% 0%,var(--tf-color-ai-wash),transparent 58%),var(--tf-color-bg-surface);box-shadow:var(--tf-shadow-sm)}.tf-ahero-reading-head{display:flex;align-items:baseline;gap:var(--tf-space-3);flex-wrap:wrap}.tf-ahero-reading-title{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-size);font-weight:var(--tf-weight-semibold);color:var(--tf-color-text-primary)}.tf-ahero-reading-title>span{color:var(--tf-color-ai)}.tf-ahero-reading-sub{margin:0;color:var(--tf-color-text-muted)}.tf-ahero-tokens{display:flex;flex-wrap:wrap;gap:var(--tf-space-2);margin-top:var(--tf-space-3)}.tf-ahero-token-facet{text-transform:uppercase;letter-spacing:.06em;font-size:10px;color:var(--tf-color-text-faint);margin-right:2px}.tf-ahero-refine{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tf-space-2);margin-top:var(--tf-space-4);padding-top:var(--tf-space-3);border-top:1px dashed var(--tf-color-border-subtle)}.tf-ahero-bento{display:grid;gap:var(--tf-space-3);margin-top:var(--tf-space-3);grid-template-columns:1fr}@media (min-width: 720px){.tf-ahero-bento{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1120px){.tf-ahero-bento{grid-template-columns:repeat(4,minmax(0,1fr))}}.tf-ahero-module{min-width:0;padding:var(--tf-space-4);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-color-bg-surface);box-shadow:var(--tf-shadow-sm)}.tf-ahero-module-title{margin:0;color:var(--tf-color-text-muted)}.tf-ahero-module-sub{margin:var(--tf-space-1) 0 0;color:var(--tf-color-text-faint)}.tf-ahero-module-list{display:flex;flex-direction:column;gap:var(--tf-space-2);margin-top:var(--tf-space-3)}.tf-ahero-module-row{flex-direction:row;flex-wrap:wrap}.tf-ahero-start{display:flex;align-items:center;gap:var(--tf-space-2);min-height:var(--tf-touch-min);padding:var(--tf-space-2) var(--tf-space-3);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-md);background:transparent;color:var(--tf-color-text-secondary);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);text-align:left;cursor:pointer;transition:var(--tf-transition-colors);min-width:0}.tf-ahero-start:hover{border-color:var(--tf-color-ai-border);background:var(--tf-color-ai-wash)}.tf-ahero-start:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-ahero-start>span:first-child{color:var(--tf-color-ai);flex:none}.tf-ahero-start-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-ahero-vibe{min-height:var(--tf-touch-min);padding:var(--tf-space-1) var(--tf-space-3);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-pill);background:transparent;color:var(--tf-color-text-secondary);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);cursor:pointer;transition:var(--tf-transition-colors)}.tf-ahero-vibe:hover{border-color:var(--tf-color-border-strong);background:var(--tf-color-fill-subtle)}.tf-ahero-vibe:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-ahero-vibe-on,.tf-ahero-vibe-on:hover{background:var(--tf-color-accent-tint);border-color:var(--tf-color-accent);color:var(--tf-color-text-primary)}.tf-ahero-module-plan{display:flex;flex-direction:column;align-items:flex-start;background:radial-gradient(140% 160% at 8% 0%,var(--tf-color-ai-wash),transparent 60%),var(--tf-color-bg-surface)}.tf-ahero-plan-cta{display:inline-flex;align-items:center;gap:var(--tf-space-2);margin-top:auto;min-height:var(--tf-touch-min);padding:var(--tf-space-2) var(--tf-space-4);border:none;border-radius:var(--tf-radius-pill);background:var(--tf-gradient-accent);color:var(--tf-color-text-on-accent);font-family:var(--tf-font-sans);font-size:var(--tf-text-label-size);font-weight:var(--tf-weight-semibold);cursor:pointer;box-shadow:var(--tf-shadow-accent);transition:transform var(--tf-duration-fast) var(--tf-ease-out)}.tf-ahero-plan-cta:hover{transform:translateY(-1px)}.tf-ahero-plan-cta:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}@media (prefers-reduced-motion: reduce){.tf-ahero-plan-cta,.tf-ahero-plan-cta:hover{transform:none;transition:none}}.tf-ahero-planner-head{margin-top:var(--tf-space-6)}.tf-ahero-planner-kicker{display:flex;align-items:center;gap:var(--tf-space-2);margin:0 0 var(--tf-space-2);color:var(--tf-color-ai)}.tf-ahero-planner-title{margin:0;font-family:var(--tf-font-display);font-weight:var(--tf-weight-semibold);letter-spacing:-.02em;line-height:1.1;font-size:clamp(1.5rem,1.2rem + 1.4vw,2.4rem);color:var(--tf-color-text-primary)}.tf-ahero-planner-sub{margin:var(--tf-space-2) 0 0;max-width:56ch;color:var(--tf-color-text-muted)}.tf-ahero-planner-body{display:grid;gap:var(--tf-space-3);margin-top:var(--tf-space-3);grid-template-columns:1fr;align-items:start}@media (min-width: 1024px){.tf-ahero-planner-body{grid-template-columns:minmax(0,1.6fr) minmax(18rem,1fr)}}.tf-ahero-scenarios{min-width:0;padding:var(--tf-space-4);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-color-bg-surface)}.tf-ahero-scenarios-row{display:grid;gap:var(--tf-space-2);margin-top:var(--tf-space-3);grid-template-columns:1fr}@media (min-width: 640px){.tf-ahero-scenarios-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.tf-ahero-scenario{display:flex;flex-direction:column;gap:var(--tf-space-1);min-height:var(--tf-touch-min);padding:var(--tf-space-3) var(--tf-space-4);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-md);background:transparent;font-family:var(--tf-font-sans);text-align:left;cursor:pointer;transition:var(--tf-transition-colors);min-width:0}.tf-ahero-scenario:hover{border-color:var(--tf-color-ai-border);background:var(--tf-color-ai-wash)}.tf-ahero-scenario:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-ahero-scenario-label{font-size:var(--tf-text-body-sm-size);font-weight:var(--tf-weight-semibold);color:var(--tf-color-text-primary)}.tf-ahero-scenario-prompt{font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-ahero-plan{min-width:0;padding:var(--tf-space-4);border:1px solid var(--tf-color-ai-border);border-radius:var(--tf-radius-lg);background:radial-gradient(140% 160% at 8% 0%,var(--tf-color-ai-wash),transparent 60%),var(--tf-color-bg-surface);box-shadow:var(--tf-shadow-sm)}.tf-ahero-plan-card{display:flex;flex-direction:column;gap:var(--tf-space-3);margin-top:var(--tf-space-3)}.tf-ahero-plan-reasons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--tf-space-1);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-text-secondary)}.tf-ahero-plan-reasons span{color:var(--tf-color-ai);margin-right:var(--tf-space-1)}.tf-ahero-plan-price{margin:0;color:var(--tf-color-text-muted)}.tf-ahero-plan-empty{margin:var(--tf-space-3) 0 0;color:var(--tf-color-text-muted)}.tf-ahero-stage{position:relative;margin-top:var(--tf-space-6);border-radius:var(--tf-radius-xl);overflow:hidden;border:1px solid var(--tf-color-border-subtle);background:var(--tf-color-bg-sunken);box-shadow:var(--tf-shadow-lg);isolation:isolate}.tf-ahero-stage-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2}.tf-ahero-stage-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(0deg,var(--tf-media-scrim-strong) 0%,var(--tf-media-scrim) 45%,transparent 100%),linear-gradient(90deg,var(--tf-media-scrim) 0%,transparent 60%)}.tf-ahero-stage-content{position:relative;padding:var(--tf-space-6) var(--tf-space-5);display:flex;flex-direction:column;gap:var(--tf-space-2)}@media (min-width: 1024px){.tf-ahero-stage-content{padding:var(--tf-space-8) var(--tf-space-8) var(--tf-space-6)}}.tf-ahero-stage-kicker{display:flex;align-items:center;gap:var(--tf-space-2);margin:0;color:var(--tf-color-ai-on-dark, var(--tf-color-ai))}.tf-ahero-stage-title{margin:var(--tf-space-1) 0 0;font-family:var(--tf-font-display);font-weight:var(--tf-weight-semibold);letter-spacing:-.02em;line-height:1.08;font-size:clamp(1.6rem,1.2rem + 1.8vw,2.75rem);color:var(--tf-on-media);text-shadow:0 2px 18px rgb(0 0 0 / .35);text-wrap:balance}.tf-ahero-stage .tf-intent-banded{margin-top:var(--tf-space-4);box-shadow:var(--tf-shadow-lg)}.tf-ahero-stage-strip{margin-top:var(--tf-space-3)}.tf-ahero-stage-strip .tf-ahero-module-title{color:var(--tf-on-media-muted, var(--tf-color-text-muted))}.tf-ahero-stage-cards{display:grid;gap:var(--tf-space-3);margin-top:var(--tf-space-2);grid-template-columns:1fr}@media (min-width: 720px){.tf-ahero-stage-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.tf-ahero-stage .tf-ahero-event{background:var(--tf-color-glass-bg);border-color:var(--tf-color-glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tf-ahero-stage .tf-ahero-event-title{color:var(--tf-on-media)}.tf-ahero-stage .tf-ahero-event-meta{color:var(--tf-on-media-muted, var(--tf-color-text-muted))}.tf-ahero-event{display:flex;align-items:stretch;gap:var(--tf-space-3);width:100%;padding:var(--tf-space-2);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-md);background:var(--tf-color-bg-elevated);font-family:var(--tf-font-sans);text-align:left;cursor:pointer;transition:var(--tf-transition-colors);min-width:0}.tf-ahero-event:hover{border-color:var(--tf-color-border-strong)}.tf-ahero-event:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-ahero-event-img{flex:none;width:72px;height:72px;border-radius:var(--tf-radius-sm);object-fit:cover}.tf-ahero-event-monogram{display:grid;place-items:center;background:var(--tf-color-bg-sunken);color:var(--tf-color-text-faint);font-family:var(--tf-font-display);font-size:22px}.tf-ahero-event-body{display:flex;flex-direction:column;gap:2px;min-width:0;justify-content:center}.tf-ahero-event-title{font-size:var(--tf-text-body-sm-size);font-weight:var(--tf-weight-semibold);color:var(--tf-color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-ahero-event-meta{font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-ahero-event-foot{display:flex;gap:var(--tf-space-3);align-items:baseline}.tf-ahero-event-price{font-size:var(--tf-text-caption-size);color:var(--tf-color-text-secondary)}.tf-ahero-event-score{font-size:var(--tf-text-caption-size);color:var(--tf-color-ai)}.tf-promo{position:relative;border-radius:var(--tf-radius-xl);overflow:hidden;border:1px solid var(--tf-color-border-subtle);background:var(--tf-color-bg-sunken);box-shadow:var(--tf-shadow-lg);isolation:isolate}.tf-promo-viewport{overflow:hidden;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}.tf-promo-viewport:active{cursor:grabbing}.tf-promo-track{display:flex;transition:transform var(--tf-duration-slow, .32s) var(--tf-ease-out)}@media (prefers-reduced-motion: reduce){.tf-promo-track{transition:none}}.tf-promo-slide{position:relative;flex:none;display:grid}.tf-promo-slide>*{grid-area:1 / 1}.tf-promo-img{width:100%;height:100%;aspect-ratio:3 / 2;object-fit:cover;display:block;pointer-events:none}@media (min-width: 640px){.tf-promo-img{aspect-ratio:16 / 7}}@media (min-width: 1024px){.tf-promo-img{aspect-ratio:16 / 5}}.tf-promo-scrim{background:linear-gradient(90deg,var(--tf-media-scrim-strong) 0%,var(--tf-media-scrim) 42%,transparent 78%),linear-gradient(0deg,var(--tf-media-scrim) 0%,transparent 62%)}.tf-promo-copy{position:relative;align-self:end;justify-self:start;display:flex;flex-direction:column;align-items:flex-start;gap:var(--tf-space-3);max-width:min(34rem,82%);padding:var(--tf-space-5)}@media (min-width: 1024px){.tf-promo-copy{align-self:center;padding:var(--tf-space-10);gap:var(--tf-space-4)}}.tf-promo-kicker{display:inline-flex;align-items:center;gap:var(--tf-space-2);padding:5px var(--tf-space-3);border-radius:var(--tf-radius-pill);border:1px solid var(--tf-color-glass-border);background:var(--tf-color-glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);font-weight:var(--tf-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--tf-on-media)}.tf-promo-kicker-mark{color:var(--tf-color-ai-on-dark)}.tf-promo-title{margin:0;font-family:var(--tf-font-display);font-weight:var(--tf-weight-semibold);letter-spacing:-.025em;line-height:1.06;font-size:clamp(1.6rem,1.1rem + 2.4vw,3.25rem);color:var(--tf-on-media);text-wrap:balance;text-shadow:0 2px 18px rgb(0 0 0 / .35)}.tf-promo-cta{display:inline-flex;align-items:center;gap:var(--tf-space-2);min-height:var(--tf-touch-min);padding:var(--tf-space-3) var(--tf-space-5);border-radius:var(--tf-radius-pill);background:var(--tf-gradient-accent);color:var(--tf-color-text-on-accent);font-family:var(--tf-font-sans);font-size:var(--tf-text-label-size);font-weight:var(--tf-weight-semibold);text-decoration:none;box-shadow:var(--tf-shadow-accent);transition:transform var(--tf-duration-fast) var(--tf-ease-out),box-shadow var(--tf-duration-base) var(--tf-ease-out)}.tf-promo-cta:hover{transform:translateY(-1px);box-shadow:var(--tf-shadow-lg)}.tf-promo-cta:active{transform:translateY(0)}.tf-promo-cta-mark{transition:transform var(--tf-duration-fast) var(--tf-ease-out)}.tf-promo-cta:hover .tf-promo-cta-mark{transform:translate(3px)}@media (prefers-reduced-motion: reduce){.tf-promo-cta,.tf-promo-cta-mark{transition:none}.tf-promo-cta:hover,.tf-promo-cta:hover .tf-promo-cta-mark{transform:none}}.tf-promo-arrows{position:absolute;right:var(--tf-space-4);bottom:var(--tf-space-4);display:flex;gap:var(--tf-space-2)}@media (min-width: 1024px){.tf-promo-arrows{top:50%;bottom:auto;transform:translateY(-50%)}}.tf-promo-arrow{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--tf-radius-circle);border:1px solid var(--tf-color-glass-border);background:var(--tf-color-glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--tf-on-media);font-size:22px;line-height:1;cursor:pointer;transition:var(--tf-transition-colors)}.tf-promo-arrow:hover:not(:disabled){background:var(--tf-color-glass-bg-ai)}.tf-promo-arrow:disabled{opacity:.35;cursor:default}.tf-promo-dots{position:absolute;left:0;right:0;bottom:var(--tf-space-4);display:flex;justify-content:center;gap:var(--tf-space-2);pointer-events:none}.tf-promo-dot{pointer-events:auto;width:8px;height:8px;padding:0;border:none;border-radius:var(--tf-radius-circle);background:var(--tf-on-media-muted);opacity:.45;cursor:pointer;transition:var(--tf-transition-colors),width var(--tf-duration-base) var(--tf-ease-out),opacity var(--tf-duration-base) var(--tf-ease-out)}.tf-promo-dot-on{width:22px;border-radius:var(--tf-radius-pill);background:var(--tf-color-ai-on-dark);opacity:1}.tf-home-results{min-width:0;margin-top:var(--tf-space-6)}.tf-home-cats{margin-top:var(--tf-space-6);padding:var(--tf-space-4);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-color-bg-surface);box-shadow:var(--tf-shadow-sm);min-width:0}.tf-home-cats-title{margin:0 0 var(--tf-space-3);color:var(--tf-color-text-muted)}.tf-home-cats-list{list-style:none;margin:0;padding:0 0 var(--tf-space-1);min-width:0;display:flex;flex-direction:row;gap:var(--tf-space-2);overflow-x:auto;scrollbar-width:none}.tf-home-cats-list::-webkit-scrollbar{display:none}.tf-home-cats-list>li{flex:none}@media (max-width: 1023px){.tf-home-cats-list{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 2.5rem),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 2.5rem),transparent 100%)}}.tf-home-cat{display:flex;align-items:center;gap:var(--tf-space-2);min-height:var(--tf-touch-min);padding:var(--tf-space-2) var(--tf-space-4);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-pill);background:transparent;color:var(--tf-color-text-secondary);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);font-weight:var(--tf-weight-medium);white-space:nowrap;cursor:pointer;transition:var(--tf-transition-colors)}.tf-home-cat:hover{background:var(--tf-color-fill-subtle);border-color:var(--tf-color-border-strong);color:var(--tf-color-text-primary)}.tf-home-cat-icon{flex:none;color:var(--tf-color-text-faint);transition:var(--tf-transition-colors)}.tf-home-cat:hover .tf-home-cat-icon{color:var(--tf-color-text-secondary)}.tf-home-cat-on,.tf-home-cat-on:hover{background:var(--tf-color-accent-tint);border-color:var(--tf-color-accent);color:var(--tf-color-text-primary)}.tf-home-cat-on .tf-home-cat-icon{color:var(--tf-color-accent-bright)}.tf-home-sechead{display:flex;align-items:baseline;justify-content:space-between;gap:var(--tf-space-3);flex-wrap:wrap}.tf-home-sechead-end{display:flex;align-items:center;gap:var(--tf-space-3)}.tf-home-grid{display:grid;gap:var(--tf-space-4);margin-top:var(--tf-space-5);grid-template-columns:1fr}@media (min-width: 560px){.tf-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 900px){.tf-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1280px){.tf-home-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.tf-home-section{margin-top:var(--tf-space-8)}.tf-home-section:first-child{margin-top:0}.tf-home-nearby{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--tf-space-4);margin-top:var(--tf-space-8);padding:var(--tf-space-4) var(--tf-space-5);border:1px dashed var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-color-bg-sunken)}.tf-home-nearby-sub{margin:var(--tf-space-1) 0 0;color:var(--tf-color-text-muted);max-width:52ch}.tf-home-nearby-actions{display:flex;gap:var(--tf-space-2);flex-wrap:wrap}.tf-disco-section{margin-top:var(--tf-space-10)}.tf-disco-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--tf-space-3);flex-wrap:wrap}.tf-disco-sub{color:var(--tf-color-text-muted);margin-top:var(--tf-space-1)}.tf-disco-grid{display:grid;gap:var(--tf-space-4);margin-top:var(--tf-space-5);grid-template-columns:1fr}@media (min-width: 640px){.tf-disco-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.tf-disco-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.tf-disco-grid-featured{grid-template-columns:repeat(3,1fr)}}.tf-refine{display:flex;gap:var(--tf-space-2);flex-wrap:wrap;align-items:center;margin-top:var(--tf-space-4)}@media (max-width: 639px){.tf-refine{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-inline:var(--tf-gutter);margin-inline:calc(var(--tf-gutter) * -1)}.tf-refine::-webkit-scrollbar{display:none}.tf-refine>*{flex:none}}.tf-refine-label{font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted);flex:none}.tf-disco-interpreting{display:flex;align-items:center;gap:var(--tf-space-2);color:var(--tf-color-ai);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);font-weight:var(--tf-weight-medium)}.tf-disco-spark{animation:tf-spark 1.4s var(--tf-ease-in-out) infinite}@keyframes tf-spark{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.tf-disco-spark{animation:none;opacity:1}}.tf-disco-note{padding:var(--tf-space-3) var(--tf-space-4);border-radius:var(--tf-radius-md);background:var(--tf-color-bg-sunken);color:var(--tf-color-text-secondary);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);margin-top:var(--tf-space-4)}.tf-disco-empty{display:grid;justify-items:center;gap:var(--tf-space-2);text-align:center;max-width:34rem;margin-inline:auto;padding:var(--tf-space-10) var(--tf-space-6);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-xl);background:radial-gradient(120% 100% at 50% 0%,var(--tf-atmos-cyan),transparent 70%),var(--tf-color-bg-elevated)}@media (max-width: 899px){.tf-disco-grid-featured{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:var(--tf-space-3);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1 * var(--tf-gutter));padding-inline:var(--tf-gutter);padding-block:var(--tf-space-1) var(--tf-space-3)}.tf-disco-grid-featured::-webkit-scrollbar{display:none}.tf-disco-grid-featured>*{scroll-snap-align:start}}.tf-event-back{display:inline-flex;align-items:center;gap:var(--tf-space-2);margin-bottom:var(--tf-space-4);padding:var(--tf-space-2) 0;min-height:var(--tf-touch-min);color:var(--tf-color-text-muted);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);text-decoration:none}.tf-event-back:hover{color:var(--tf-color-text-primary)}.tf-event-back:focus-visible{outline:none;box-shadow:var(--tf-ring-focus);border-radius:var(--tf-radius-sm)}.tf-event{position:relative;display:grid;gap:var(--tf-space-6)}@media (prefers-reduced-motion: no-preference){.tf-event-enter{animation:tf-event-rise var(--tf-duration-base) var(--tf-ease-out) backwards}}@keyframes tf-event-rise{0%{opacity:0;transform:translateY(8px)}}.tf-ev-hero{position:relative;isolation:isolate;border-radius:var(--tf-radius-xl);overflow:hidden;min-height:clamp(300px,46vw,460px);display:flex;align-items:flex-end;box-shadow:var(--tf-shadow-md)}.tf-ev-media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;view-transition-name:tf-event-cover}.tf-ev-media img{width:100%;height:100%;object-fit:cover;display:block}.tf-ev-media-empty{display:grid;place-items:center;background:linear-gradient(150deg,var(--tf-media-plate-top),var(--tf-media-plate-bottom))}.tf-ev-media-mark{font-family:var(--tf-font-display);font-size:clamp(4rem,12vw,8rem);color:var(--tf-on-media);opacity:.22}.tf-ev-hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(to top,var(--tf-media-scrim-strong) 0%,var(--tf-media-scrim) 34%,transparent 72%)}.tf-ev-hero-copy{position:relative;z-index:2;display:grid;gap:var(--tf-space-3);padding:var(--tf-space-6);width:100%}.tf-ev-kicker{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);font-weight:var(--tf-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--tf-color-ai-on-dark)}.tf-ev-title{margin:0;font-family:var(--tf-font-display);font-size:clamp(2rem,5.2vw,3.5rem);line-height:1.03;letter-spacing:-.02em;color:var(--tf-on-media)}.tf-ev-title:focus{outline:none}.tf-ev-title:focus-visible{outline:none}.tf-ev-sub{margin:0;max-width:52ch;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-size);color:var(--tf-on-media-muted)}.tf-ev-hero-facts{margin:0;display:flex;flex-wrap:wrap;gap:var(--tf-space-2) var(--tf-space-5);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-on-media)}.tf-ev-facts-strip{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-color-bg-elevated);overflow:hidden}.tf-ev-fact{padding:var(--tf-space-4);border-top:1px solid var(--tf-color-border-subtle);border-left:1px solid var(--tf-color-border-subtle);display:grid;gap:var(--tf-space-1)}.tf-ev-fact:nth-child(-n+2){border-top:none}.tf-ev-fact:nth-child(odd){border-left:none}.tf-ev-fact dt{font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);letter-spacing:.05em;text-transform:uppercase;color:var(--tf-color-text-faint)}.tf-ev-fact dd{margin:0;display:grid;gap:2px}.tf-ev-fact dd strong{font-family:var(--tf-font-display);font-size:var(--tf-text-h3-size, 1.25rem);color:var(--tf-color-text-primary)}.tf-ev-fact dd span{font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted)}.tf-ev-fact-muted{color:var(--tf-color-text-faint)!important;font-style:italic}.tf-ev-grid{display:grid;gap:var(--tf-space-6)}.tf-ev-main{display:grid;gap:var(--tf-space-6);align-content:start}.tf-ev-aside{display:grid;gap:var(--tf-space-4);align-content:start}.tf-event-about{display:grid;gap:var(--tf-space-3)}.tf-event-about-para{margin:0;max-width:65ch;white-space:pre-line;color:var(--tf-color-text-secondary)}.tf-ev-trailer{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size)}.tf-ev-trailer a{color:var(--tf-color-text-muted)}.tf-ev-why{display:grid;gap:var(--tf-space-3);padding:var(--tf-space-5);border:1px solid var(--tf-color-ai-border, var(--tf-color-border-subtle));border-radius:var(--tf-radius-lg);background:var(--tf-color-ai-wash, var(--tf-color-bg-surface))}.tf-ev-why-head{display:flex;align-items:flex-start;gap:var(--tf-space-3)}.tf-ev-why-head h2{margin:0}.tf-ev-why-kicker{margin:0 0 2px;color:var(--tf-color-text-faint);text-transform:uppercase;letter-spacing:.06em}.tf-ev-why-spark{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:var(--tf-radius-pill);background:var(--tf-color-ai-tint, var(--tf-color-bg-elevated));color:var(--tf-color-ai)}.tf-ev-why-toggle{margin-left:auto;width:var(--tf-touch-min);height:var(--tf-touch-min);flex:none;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-muted);cursor:pointer}.tf-ev-why-toggle:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-ev-why-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--tf-space-2)}.tf-ev-why-list li{padding-left:var(--tf-space-4);position:relative;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-text-primary)}.tf-ev-why-list li:before{content:"✓";position:absolute;left:0;color:var(--tf-color-ai)}.tf-ev-why-score{display:flex;justify-content:space-between;align-items:baseline;margin:var(--tf-space-2) 0 0;padding-top:var(--tf-space-3);border-top:1px solid var(--tf-color-border-subtle);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-text-muted)}.tf-ev-why-score strong{font-family:var(--tf-font-display);font-size:1.5rem;color:var(--tf-color-ai)}.tf-ev-why-note{margin:var(--tf-space-2) 0 0;display:flex;align-items:center;gap:var(--tf-space-2);color:var(--tf-color-text-faint)}.tf-occurrences{display:flex;flex-wrap:wrap;gap:var(--tf-space-3)}.tf-occurrence{display:grid;gap:var(--tf-space-1);min-height:var(--tf-touch-min);padding:var(--tf-space-3) var(--tf-space-4);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-md);background:var(--tf-color-bg-elevated);color:var(--tf-color-text-primary);font-family:var(--tf-font-sans);text-align:left;cursor:pointer;transition:var(--tf-transition-colors)}.tf-occurrence:hover:not(:disabled){border-color:var(--tf-color-border-strong)}.tf-occurrence:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-occurrence:disabled{opacity:.55;cursor:not-allowed}.tf-occurrence-selected{border-color:var(--tf-color-accent);background:var(--tf-color-accent-wash);box-shadow:inset 0 0 0 1px var(--tf-color-accent)}.tf-occurrence-when{display:flex;align-items:baseline;gap:var(--tf-space-2)}.tf-occurrence-day{font-weight:var(--tf-weight-semibold)}.tf-occurrence-time{color:var(--tf-color-text-muted);font-size:var(--tf-text-body-sm-size)}.tf-occurrence-name{color:var(--tf-color-text-muted);font-size:var(--tf-text-caption-size)}.tf-occurrence-price{font-size:var(--tf-text-body-sm-size)}.tf-occurrence-from,.tf-occurrence-noprice{color:var(--tf-color-text-muted)}.tf-trust{display:grid;gap:var(--tf-space-4)}.tf-trust-list{margin:0;display:grid;gap:var(--tf-space-4)}.tf-trust-row{display:grid;gap:var(--tf-space-1)}.tf-trust-row dt{font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);letter-spacing:.04em;text-transform:uppercase;color:var(--tf-color-text-faint)}.tf-trust-row dd{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-size);color:var(--tf-color-text-primary)}.tf-trust-unknown{color:var(--tf-color-text-faint);font-style:italic}.tf-trust-note{color:var(--tf-color-text-faint);margin:0}.tf-cta{display:flex;align-items:center;gap:var(--tf-space-4);flex-wrap:wrap;padding:var(--tf-space-4);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-color-bg-elevated);box-shadow:var(--tf-shadow-sm)}.tf-cta-context{display:grid;gap:var(--tf-space-1);flex:1 1 12rem}.tf-cta-when{font-family:var(--tf-font-sans);font-weight:var(--tf-weight-semibold)}.tf-cta-price{font-family:var(--tf-font-sans)}.tf-cta-from{color:var(--tf-color-text-muted)}.tf-cta-note{flex-basis:100%;margin:0;color:var(--tf-color-text-muted);font-size:var(--tf-text-body-sm-size)}.tf-cta-blocked{display:grid;gap:var(--tf-space-2)}.tf-cta-blocked h2{margin:0}.tf-cta-blocked p{margin:0;color:var(--tf-color-text-muted)}@media (min-width: 900px){.tf-ev-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:var(--tf-space-8)}.tf-ev-aside{position:sticky;top:var(--tf-space-6)}.tf-ev-facts-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.tf-ev-fact:nth-child(-n+4){border-top:none}.tf-ev-fact:nth-child(odd){border-left:1px solid var(--tf-color-border-subtle)}.tf-ev-fact:first-child{border-left:none}.tf-ev-hero{min-height:clamp(420px,48vw,600px);box-shadow:var(--tf-shadow-lg)}.tf-ev-hero-copy{padding:var(--tf-space-8) var(--tf-space-8) var(--tf-space-12)}.tf-ev-facts-strip{position:relative;z-index:2;margin:calc(-1 * (var(--tf-space-6) + var(--tf-space-10))) var(--tf-space-8) 0;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:var(--tf-radius-xl);box-shadow:var(--tf-shadow-lg)}}@media (max-width: 899px){.tf-event-back{position:absolute;top:calc(var(--tf-space-3) + env(safe-area-inset-top,0px));left:var(--tf-space-3);z-index:5;display:inline-flex;align-items:center;gap:var(--tf-space-2);min-height:var(--tf-touch-min);padding:var(--tf-space-2) var(--tf-space-4);border-radius:var(--tf-radius-pill);background:var(--tf-media-scrim-strong);color:var(--tf-on-media);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tf-event-back:hover{color:var(--tf-on-media)}.tf-ev-hero{margin-inline:calc(-1 * var(--tf-gutter));margin-top:calc(-1 * var(--tf-space-6));border-radius:0;box-shadow:none;min-height:58vh}.tf-event-action{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:20}.tf-cta{border-radius:0;border-left:none;border-right:none;border-bottom:none;border-top:1px solid var(--tf-color-border-subtle);background:var(--tf-color-bg-elevated);box-shadow:var(--tf-shadow-md)}.tf-event{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}.tf-ev-facts-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-ev-hero-copy{padding:var(--tf-space-5)}}::view-transition-old(tf-event-cover),::view-transition-new(tf-event-cover){animation-duration:var(--tf-duration-slow);animation-timing-function:var(--tf-ease-out)}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--tf-duration-base)}@media (prefers-reduced-motion: reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.tf-ev-saved{display:flex;align-items:center;gap:var(--tf-space-3);margin:var(--tf-space-3) 0 0}.tf-ev-saved-count{font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-on-media-muted)}.tf-plan{position:relative;width:100%;display:flex;flex-direction:column;min-height:0;overflow:hidden;touch-action:manipulation}.tf-plan-viewport{position:relative;flex:1;min-height:0}.tf-plan-pannable{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.tf-plan-pannable:active{cursor:grabbing}.tf-plan-sectionlist{flex:none;margin:0;padding:var(--tf-space-2) 0 0;list-style:none;display:grid;gap:var(--tf-space-2);max-height:40%;overflow-y:auto;overscroll-behavior:contain}.tf-plan-row{width:100%;display:flex;align-items:center;gap:var(--tf-space-3);min-height:var(--tf-touch-min);padding:var(--tf-space-2) var(--tf-space-3);border-radius:var(--tf-radius-md);border:1px solid var(--tf-bowl-edge);background:var(--tf-bowl-scrim);color:var(--tf-bowl-ink);font-family:var(--tf-font-sans);text-align:left;cursor:pointer}.tf-plan-row-lit{border-color:#f4915ee6;background:var(--tf-bowl-fill-hover)}.tf-plan-row:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-plan-row-name{font-weight:var(--tf-weight-semibold);font-size:var(--tf-text-body-sm-size)}.tf-plan-row-caption{flex:1;min-width:0;color:var(--tf-bowl-ink-2);font-size:var(--tf-text-caption-size)}.tf-plan-row-go{color:var(--tf-bowl-ink-3);font-size:1.125rem;line-height:1}.tf-plan-svg{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.tf-plan-svg:focus-visible{outline:2px solid var(--tf-color-focus, #7ec3f0);outline-offset:-2px}.tf-plan-stage-label{fill:#241205;font-family:var(--tf-font-sans);font-weight:700;letter-spacing:.45em;pointer-events:none}.tf-plan-decor rect{fill:#ffffff0d;stroke:#ffffff24}.tf-plan-decor text{fill:var(--tf-bowl-ink-2);font-family:var(--tf-font-sans);letter-spacing:.14em}.tf-plan-decor-exit rect{fill:#3ed59814;stroke:#3ed59859}.tf-plan-decor-exit text{fill:#3ed598;font-weight:700}.tf-plan-ga polygon{fill:#ffffff0a;stroke:#ffffff24;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.tf-plan-ga text{fill:var(--tf-bowl-ink-2);font-family:var(--tf-font-sans);font-weight:600}.tf-plan-seat{transition:transform .12s ease;transform-box:fill-box;transform-origin:center}.tf-plan-seat[data-visual=available]{cursor:pointer}.tf-plan-seat[data-visual=selected]{cursor:pointer;fill:var(--tf-bowl-seat-mine);stroke:var(--tf-bowl-ink-bright);stroke-width:1.4}.tf-plan-seat[data-visual=booked]{fill:var(--tf-bowl-seat-taken)}.tf-plan-seat[data-visual=held]{fill:var(--tf-bowl-seat-taken);stroke:var(--tf-bowl-stage);stroke-width:.9;stroke-dasharray:2 2}.tf-plan-seat[data-visual=blocked]{fill:transparent;stroke:#ffffff47;stroke-width:.9}.tf-plan-seat[data-visual=available]:hover,.tf-plan-seat[data-visual=selected]:hover{transform:scale(1.45)}@media (prefers-reduced-motion: reduce){.tf-plan-seat{transition:none}.tf-plan-seat:hover{transform:none}}.tf-plan-cursor{fill:none;stroke:var(--tf-color-focus);stroke-width:1.6;pointer-events:none}.tf-plan-seatnum{fill:#0d141de6;font-family:var(--tf-font-mono);pointer-events:none}.tf-plan-seatnum-mine{fill:#12060a}.tf-plan-blockedmark{stroke:#ffffff61;stroke-width:.7;pointer-events:none}.tf-plan-section-dim{opacity:.13}.tf-plan-section-dim *{pointer-events:none}.tf-plan-recede{opacity:.3}.tf-plan-recede *{pointer-events:none}.tf-plan-rowlabels text{fill:var(--tf-bowl-ink-2);font-family:var(--tf-font-mono);pointer-events:none}.tf-plan-hull{fill:#eef3f60b;stroke:#ffffff29;stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s ease,stroke .15s ease}.tf-plan-hull-hover,.tf-plan-hull:hover,.tf-plan-hull:focus-visible{fill:#eef3f61a;stroke:#f4915ee6;stroke-width:1.6}.tf-plan-hull:focus-visible{outline:none}.tf-plan-card{cursor:pointer}.tf-plan-card rect{fill:var(--tf-bowl-scrim);stroke:var(--tf-bowl-edge);transition:stroke .15s ease}.tf-plan-card-hover rect{stroke:#f4915ee6}.tf-plan-card-name{fill:var(--tf-bowl-ink);font-family:var(--tf-font-sans);font-size:10.5px;font-weight:600}.tf-plan-card-caption{fill:var(--tf-bowl-ink-2);font-family:var(--tf-font-sans);font-size:8px}.tf-plan-tip{pointer-events:none}.tf-plan-tip rect{fill:var(--tf-bowl-panel);stroke:var(--tf-bowl-edge)}.tf-plan-tip-headline{fill:var(--tf-bowl-ink);font-family:var(--tf-font-mono);font-size:11px;font-weight:700}.tf-plan-tip-detail{fill:var(--tf-bowl-ink-2);font-family:var(--tf-font-sans);font-size:8.5px}.tf-plan-controls{position:absolute;right:var(--tf-space-4);bottom:var(--tf-space-4);display:flex;align-items:center;gap:2px;padding:4px;border-radius:var(--tf-radius-md);border:1px solid var(--tf-bowl-edge);background:var(--tf-bowl-scrim);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tf-plan-controls button{width:34px;height:34px;display:grid;place-items:center;border:none;border-radius:var(--tf-radius-sm);background:var(--tf-bowl-fill);color:var(--tf-bowl-ink);font-size:16px;line-height:1;cursor:pointer}.tf-plan-controls button:hover:not(:disabled){background:var(--tf-bowl-fill-hover)}.tf-plan-controls button:disabled{opacity:.4;cursor:default}.tf-plan-controls button:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-plan-zoom{min-width:38px;text-align:center;font-family:var(--tf-font-mono);font-size:var(--tf-text-caption-size);color:var(--tf-bowl-ink-2);font-variant-numeric:tabular-nums}.tf-plan-mini{display:block;width:8.75rem;height:5.5rem}.tf-plan-mini-stage{fill:#ffc67873}.tf-plan-mini-section{fill:#ffffff1a;stroke:#ffffff38;vector-effect:non-scaling-stroke}.tf-plan-mini-active{fill:#ea69288c;stroke:var(--tf-bowl-seat-mine);stroke-width:2}.tf-vfs{position:relative;margin:0;aspect-ratio:380 / 186;border-radius:var(--tf-radius-lg);overflow:hidden;border:1px solid var(--tf-color-border-subtle);background:var(--tf-color-bg-sunken)}.tf-vfs-svg{display:block;width:100%;height:100%}.tf-vfs-room{fill:var(--tf-color-bg-sunken)}.tf-vfs-portal{fill:var(--tf-bowl-stage);fill-opacity:.14}.tf-vfs-deck{fill:var(--tf-bowl-stage);fill-opacity:.9}.tf-vfs-glow-core{stop-opacity:.5}.tf-vfs-glow-edge{stop-opacity:0}:root[data-tf-theme=light] .tf-vfs-portal{fill-opacity:.3;stroke:var(--tf-bowl-stage);stroke-opacity:.55;stroke-width:1}:root[data-tf-theme=light] .tf-vfs-deck{fill-opacity:1}:root[data-tf-theme=light] .tf-vfs-glow-core{stop-opacity:.18}.tf-vfs-cap{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;padding:var(--tf-space-3);background:linear-gradient(180deg,transparent,var(--tf-bowl-scrim) 62%)}.tf-vfs-cap .tf-kicker{color:var(--tf-color-text-secondary)}.tf-vfs-note{font-size:var(--tf-text-caption-size);color:var(--tf-color-text-faint)}.tf-book-back{display:inline-flex;align-items:center;gap:var(--tf-space-2);min-height:var(--tf-touch-min);color:var(--tf-color-text-muted);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);text-decoration:none}.tf-book-back:hover{color:var(--tf-color-text-primary)}.tf-book-back:focus-visible{outline:none;box-shadow:var(--tf-ring-focus);border-radius:var(--tf-radius-sm)}.tf-book{display:grid;gap:var(--tf-space-5)}@media (prefers-reduced-motion: no-preference){.tf-book-enter{animation:tf-book-rise var(--tf-duration-base) var(--tf-ease-out) backwards}}@keyframes tf-book-rise{0%{opacity:0;transform:translateY(6px)}}.tf-book-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--tf-space-4)}.tf-book-head h1{margin:0}.tf-book-kicker{margin:0 0 2px;text-transform:uppercase;letter-spacing:.06em;color:var(--tf-color-text-faint)}.tf-book-map{display:grid;gap:var(--tf-space-3)}.tf-book-instruction{margin:0;color:var(--tf-color-text-muted)}.tf-book-canvas{--seat-mine: var(--tf-color-accent);--seat-taken: var(--tf-color-bg-sunken);--seat-taken-ink: var(--tf-color-border-strong);--panel: var(--tf-color-bg-elevated);--line: var(--tf-color-border-subtle);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-color-bg-elevated);overflow:hidden;min-height:min(60vh,560px);touch-action:none}.tf-book-canvas-busy{opacity:.6;pointer-events:none}.tf-book-rail{display:flex;flex-direction:column;gap:var(--tf-space-4);font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted)}.tf-book-rail-group{display:grid;gap:var(--tf-space-2)}.tf-book-rail-title{margin:0;font-size:.625rem;font-weight:var(--tf-weight-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--tf-color-text-faint)}.tf-book-rail-list{display:grid;gap:var(--tf-space-2);margin:0;padding:0;list-style:none}.tf-book-rail-list li{display:flex;align-items:center;gap:var(--tf-space-2)}.tf-book-rail-name{flex:1;min-width:0}.tf-book-rail-note{margin:0;font-size:.6875rem;color:var(--tf-color-text-faint);line-height:1.55}.tf-swatch{width:11px;height:11px;border-radius:50%;display:inline-block;flex:none;border:1px solid transparent}.tf-swatch-selected{background:var(--tf-bowl-seat-mine);border-color:var(--tf-bowl-ink-bright)}.tf-swatch-booked{background:var(--tf-bowl-seat-taken);border-color:var(--tf-bowl-seat-taken-ink)}.tf-swatch-held{background:var(--tf-bowl-seat-taken);border:1px dashed var(--tf-bowl-stage)}.tf-swatch-blocked{background:transparent;border:1px solid var(--tf-color-border-strong)}.tf-book-legend-price{font-weight:var(--tf-weight-semibold);font-variant-numeric:tabular-nums;font-family:var(--tf-font-mono);font-size:.6875rem}.tf-ga{display:grid;gap:var(--tf-space-3)}.tf-ga-tier{display:grid;gap:var(--tf-space-2);padding:var(--tf-space-4);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-color-bg-elevated)}.tf-ga-tier-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--tf-space-3)}.tf-ga-tier-head h3{margin:0}.tf-ga-price{margin:0;font-family:var(--tf-font-display);font-size:1.125rem}.tf-ga-left{margin:0;color:var(--tf-color-text-muted)}.tf-ga-stepper{display:flex;align-items:center;gap:var(--tf-space-3)}.tf-ga-step{width:var(--tf-touch-min);height:var(--tf-touch-min);border:1px solid var(--tf-color-border-strong);border-radius:var(--tf-radius-pill);background:var(--tf-color-bg-elevated);color:var(--tf-color-text-primary);font-size:1.25rem;cursor:pointer}.tf-ga-step:disabled{opacity:.4;cursor:not-allowed}.tf-ga-step:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-ga-count{min-width:2.5ch;text-align:center;font-family:var(--tf-font-display);font-size:1.25rem}.tf-summary{display:grid;gap:var(--tf-space-3);padding:var(--tf-space-4);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-color-bg-elevated)}.tf-summary h2{margin:0}.tf-summary-empty p{margin:0;color:var(--tf-color-text-muted)}.tf-summary-lines{margin:0;padding:0;list-style:none;display:grid;gap:var(--tf-space-2)}.tf-summary-line{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--tf-space-2);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size)}.tf-summary-seat{display:grid}.tf-summary-tier{color:var(--tf-color-text-faint);font-size:var(--tf-text-caption-size)}.tf-summary-category{grid-column:1 / -1}.tf-summary-category select{width:100%;min-height:var(--tf-touch-min);padding:var(--tf-space-2);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-md);background:var(--tf-color-bg-canvas);font:inherit;color:inherit}.tf-summary-category select:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-summary-price{font-family:var(--tf-font-display)}.tf-summary-included{color:var(--tf-color-text-faint);font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size)}.tf-summary-incomplete{margin:0;color:var(--tf-color-warning);font-size:var(--tf-text-body-sm-size)}.tf-summary-total{display:flex;justify-content:space-between;align-items:baseline;margin:0;padding-top:var(--tf-space-3);border-top:1px solid var(--tf-color-border-subtle);font-family:var(--tf-font-sans)}.tf-summary-total strong{font-family:var(--tf-font-display);font-size:1.25rem}.tf-summary-fee{display:flex;justify-content:space-between;align-items:baseline;margin:0;padding-top:var(--tf-space-2);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-text-faint)}.tf-summary-grand{padding-top:var(--tf-space-2);margin-top:var(--tf-space-2)}.tf-summary-note{margin:0;color:var(--tf-color-text-faint)}.tf-book-notice{display:flex;align-items:center;justify-content:space-between;gap:var(--tf-space-3);flex-wrap:wrap;padding:var(--tf-space-3) var(--tf-space-4);border:1px solid var(--tf-color-danger);border-radius:var(--tf-radius-md);background:var(--tf-color-danger-tint)}.tf-book-notice p{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size)}.tf-book-recover{display:flex;gap:var(--tf-space-3);justify-content:center;margin-top:var(--tf-space-4)}.tf-book-dock{display:flex;align-items:center;gap:var(--tf-space-4);flex-wrap:wrap;padding:var(--tf-space-3) var(--tf-space-4);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-color-bg-elevated);box-shadow:var(--tf-shadow-sm);min-height:3.5rem;font-family:var(--tf-font-sans)}.tf-book-chips{flex:1 1 12rem;min-width:0;display:flex;align-items:center;gap:var(--tf-space-2);flex-wrap:wrap}.tf-book-chips-hint{font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted)}.tf-book-chip{display:inline-flex;align-items:center;gap:var(--tf-space-2);padding:var(--tf-space-1) var(--tf-space-2);border-radius:var(--tf-radius-md);border:1px solid color-mix(in oklab,var(--tf-bowl-seat-mine) 40%,transparent);background:color-mix(in oklab,var(--tf-bowl-seat-mine) 16%,transparent);color:var(--tf-color-accent);font-family:var(--tf-font-mono);font-size:.6875rem;cursor:pointer;white-space:nowrap}.tf-book-chip:disabled{opacity:.6;cursor:default}.tf-book-chip-x{opacity:.65}.tf-book-chip:hover .tf-book-chip-x{opacity:1}.tf-book-clear{background:none;border:none;padding:var(--tf-space-1);color:var(--tf-color-text-muted);font-size:var(--tf-text-caption-size);text-decoration:underline;cursor:pointer}.tf-book-vfs-btn{display:inline-flex;align-items:center;gap:var(--tf-space-2);padding:var(--tf-space-2) var(--tf-space-3);border-radius:var(--tf-radius-md);border:1px solid var(--tf-color-border-strong);background:transparent;color:var(--tf-color-text-primary);font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);font-weight:var(--tf-weight-semibold);cursor:pointer;white-space:nowrap;flex:none;min-height:var(--tf-touch-min)}.tf-book-cta-context{display:grid;gap:2px;flex:none;text-align:right;font-family:var(--tf-font-sans)}.tf-book-total-label{font-size:.5625rem;letter-spacing:.1em;color:var(--tf-color-text-faint);font-weight:var(--tf-weight-semibold)}.tf-book-cta-count{font-weight:var(--tf-weight-semibold);font-size:var(--tf-text-body-sm-size)}.tf-book-cta-total{color:var(--tf-color-text-primary);font-family:var(--tf-font-mono);font-size:var(--tf-text-body-sm-size);font-variant-numeric:tabular-nums}.tf-book-hint{margin:0;padding:var(--tf-space-2) var(--tf-space-3);border-radius:var(--tf-radius-pill);background:var(--tf-bowl-scrim);border:1px solid var(--tf-bowl-edge);color:var(--tf-bowl-ink-2);font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);white-space:nowrap;width:fit-content}.tf-book-crumb{display:flex;align-items:center;gap:var(--tf-space-2)}.tf-book-crumb-back{display:inline-flex;align-items:center;gap:var(--tf-space-1);padding:var(--tf-space-2) var(--tf-space-3);border-radius:var(--tf-radius-pill);background:var(--tf-bowl-panel);border:1px solid var(--tf-bowl-edge);color:var(--tf-bowl-ink);font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);font-weight:var(--tf-weight-semibold);cursor:pointer;white-space:nowrap;min-height:var(--tf-touch-min)}.tf-book-crumb-back:hover{background:var(--tf-bowl-fill-hover)}.tf-book-crumb-here{padding:var(--tf-space-2) var(--tf-space-3);border-radius:var(--tf-radius-pill);background:var(--tf-bowl-scrim);border:1px solid var(--tf-bowl-edge);color:var(--tf-bowl-ink-2);font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);white-space:nowrap}.tf-book-mini{display:grid;gap:var(--tf-space-1);padding:var(--tf-space-2);border-radius:var(--tf-radius-md);background:var(--tf-bowl-scrim);border:1px solid var(--tf-bowl-edge);cursor:pointer}.tf-book-mini-label{font-family:var(--tf-font-sans);font-size:.5625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tf-bowl-ink-2);text-align:center}.tf-book-suggest{display:grid;gap:var(--tf-space-2);width:15rem;padding:var(--tf-space-3);border-radius:var(--tf-radius-lg);background:var(--tf-bowl-ai-tint);border:1px solid var(--tf-bowl-ai-edge);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--tf-font-sans)}.tf-book-suggest-kicker{margin:0;display:flex;align-items:center;justify-content:space-between;gap:var(--tf-space-2);font-size:.625rem;font-weight:var(--tf-weight-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--tf-bowl-ai)}.tf-book-suggest-party{display:inline-flex;align-items:center;gap:var(--tf-space-1);letter-spacing:normal;text-transform:none}.tf-book-suggest-party button{width:20px;height:20px;display:grid;place-items:center;border-radius:var(--tf-radius-sm);border:1px solid var(--tf-bowl-ai-edge);background:none;color:inherit;cursor:pointer;font-size:.75rem;line-height:1}.tf-book-suggest-party button:disabled{opacity:.4;cursor:default}.tf-book-suggest-line{margin:0;font-size:var(--tf-text-caption-size);line-height:1.45;color:var(--tf-bowl-ink)}.tf-book-suggest-row{display:flex;align-items:center;justify-content:space-between;gap:var(--tf-space-2)}.tf-book-suggest-price{font-family:var(--tf-font-mono);font-size:var(--tf-text-body-sm-size);color:var(--tf-bowl-ai)}.tf-book-suggest-take{padding:var(--tf-space-1) var(--tf-space-3);border-radius:var(--tf-radius-md);border:1px solid var(--tf-bowl-ai-edge);background:none;color:var(--tf-bowl-ai);font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);font-weight:var(--tf-weight-semibold);cursor:pointer;white-space:nowrap}.tf-book-suggest-take:hover{background:var(--tf-bowl-ai-tint)}.tf-book-vfs-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#080c12c7;animation:tf-book-fade .2s ease}.tf-book-vfs-card{width:min(34rem,calc(100vw - var(--tf-space-6)));padding:var(--tf-space-3);border-radius:var(--tf-radius-xl);background:var(--tf-bowl-panel-2);border:1px solid var(--tf-bowl-edge);box-shadow:var(--tf-shadow-lg)}.tf-book-vfs-head{display:flex;align-items:center;justify-content:space-between;margin:0 var(--tf-space-1) var(--tf-space-2);color:var(--tf-bowl-ink);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);font-weight:var(--tf-weight-semibold)}.tf-book-vfs-head button{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--tf-radius-sm);border:none;background:var(--tf-bowl-fill);color:var(--tf-bowl-ink);cursor:pointer}@keyframes tf-book-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.tf-book-vfs-overlay{animation:none}}@media (min-width: 900px){.tf-book{grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);grid-template-areas:"head   head" "notice notice" "select aside" "select action";align-items:start;gap:var(--tf-space-5) var(--tf-space-6)}.tf-book-head{grid-area:head}.tf-book-map,.tf-ga{grid-area:select}.tf-book-aside{grid-area:aside;position:sticky;top:var(--tf-space-6)}.tf-book-notice{grid-area:notice}.tf-book-action{grid-area:action}}@media (max-width: 899px){.tf-book-action{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:20}.tf-book-dock{border-radius:0;border-left:none;border-right:none;border-bottom:none;box-shadow:var(--tf-shadow-md)}.tf-book{--tf-book-nav-clear: calc(64px + env(safe-area-inset-bottom, 0px)) ;--tf-book-action-h: 86px}.tf-book{padding-bottom:calc(184px + env(safe-area-inset-bottom,0px))}}.tf-hold-timer{display:flex;align-items:center;gap:var(--tf-space-2);margin:0 0 var(--tf-space-2);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-text-muted)}.tf-hold-timer strong{font-family:var(--tf-font-mono);color:var(--tf-color-text-primary)}.tf-hold-ring{position:relative;flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--tf-color-warning) 0 var(--tf-hold-fraction, 100%),var(--tf-color-fill-subtle) var(--tf-hold-fraction, 100%) 100%)}.tf-hold-ring-face{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--tf-color-bg-canvas);font-family:var(--tf-font-mono);font-size:var(--tf-text-caption-size);color:var(--tf-color-warning);font-variant-numeric:tabular-nums}.tf-hold-label{color:var(--tf-color-text-muted)}.tf-hold-timer-urgent{color:var(--tf-color-danger)}.tf-hold-timer-urgent strong{color:var(--tf-color-danger);font-weight:var(--tf-weight-bold)}.tf-hold-timer-urgent .tf-hold-ring{background:conic-gradient(var(--tf-color-danger) 0 var(--tf-hold-fraction, 100%),var(--tf-color-fill-subtle) var(--tf-hold-fraction, 100%) 100%)}.tf-hold-timer-urgent .tf-hold-ring-face{color:var(--tf-color-danger)}.tf-book-maphead{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--tf-space-3);flex-wrap:wrap}.tf-book-maphead p{flex:1 1 18rem}.tf-book-canvas:focus-within{box-shadow:var(--tf-ring-focus);border-color:var(--tf-color-accent)}.tf-book-context{margin:var(--tf-space-1) 0 0;color:var(--tf-color-text-muted)}.tf-book-context strong{color:var(--tf-color-text-primary)}@media (min-width: 1280px){.tf-book{grid-template-columns:minmax(0,2.4fr) minmax(0,1fr)}}@media (max-width: 899px){.tf-book-canvas{min-height:52vh}.tf-book-instruction{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}}.tf-book-canvasfirst{position:relative;display:block;flex:1;min-height:32rem;overflow:hidden;padding:0;background:radial-gradient(110% 80% at 50% 0%,var(--tf-bowl-surround-glow) 0%,transparent 60%),linear-gradient(180deg,var(--tf-bowl-surround-top) 0%,var(--tf-bowl-surround-bottom) 100%)}.tf-book-canvasfirst .tf-book-map{position:absolute;top:0;right:0;bottom:0;left:0;display:block;gap:0}.tf-book-canvasfirst .tf-book-canvas{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;border:none;border-radius:0;box-shadow:none;background:transparent;--seatcanvas-border: none;--seatcanvas-radius: 0}.tf-book-canvasfirst .tf-book-head{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;align-items:center;justify-content:flex-start;gap:var(--tf-space-4);padding:var(--tf-space-3) var(--tf-space-5);color:var(--tf-bowl-ink);background:linear-gradient(180deg,var(--tf-bowl-scrim),transparent);pointer-events:none}.tf-book-canvasfirst .tf-book-head>*{pointer-events:auto}.tf-book-canvasfirst .tf-book-kicker{color:var(--tf-bowl-ink-2);margin:0}.tf-book-canvasfirst .tf-book-head h1{margin:0;font-size:1.125rem;line-height:1.2;color:var(--tf-bowl-ink)}.tf-book-canvasfirst .tf-book-context{color:var(--tf-bowl-ink-2);margin:0}.tf-book-canvasfirst .tf-book-instruction{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tf-book-canvasfirst .tf-book-maphead{position:absolute;z-index:3;top:var(--tf-space-3);right:var(--tf-space-5);width:auto}.tf-book-canvasfirst .tf-book-maphead button{background:var(--tf-bowl-fill);color:var(--tf-bowl-ink);border:1px solid var(--tf-bowl-edge);border-radius:var(--tf-radius-pill);padding:var(--tf-space-2) var(--tf-space-4);min-height:var(--tf-touch-min)}.tf-book-canvasfirst{--tf-book-rail-w: 12.5rem;--tf-book-aside-w: min(23rem, 34vw)}.tf-book-canvasfirst .tf-book-rail{position:absolute;z-index:3;left:var(--tf-space-5);top:5.5rem;width:var(--tf-book-rail-w);max-height:calc(100% - 5.5rem - var(--tf-book-action-h, 86px) - var(--tf-space-8));overflow-y:auto;overscroll-behavior:contain;padding:var(--tf-space-4);border-radius:var(--tf-radius-lg);background:var(--tf-bowl-scrim);border:1px solid var(--tf-bowl-edge);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--tf-bowl-ink-2)}.tf-book-canvasfirst .tf-book-rail-name{color:var(--tf-bowl-ink-2)}.tf-book-canvasfirst .tf-book-rail-title,.tf-book-canvasfirst .tf-book-rail-note{color:var(--tf-bowl-ink-3)}.tf-book-canvasfirst .tf-book-legend-price{color:var(--tf-bowl-ink)}@media (min-width: 900px){.tf-book-canvasfirst .tf-book-canvas{left:calc(var(--tf-book-rail-w) + var(--tf-space-5) + var(--tf-space-4));top:5.5rem;bottom:calc(var(--tf-book-action-h, 86px) + var(--tf-space-6))}}@media (min-width: 900px){.tf-book-canvasfirst .tf-book-aside{position:absolute;z-index:4;top:auto;left:auto;right:var(--tf-space-5);bottom:calc(var(--tf-book-action-h, 86px) + var(--tf-space-6));width:var(--tf-book-aside-w);display:block}.tf-book-canvasfirst.tf-book-chosen .tf-book-canvas{right:calc(var(--tf-book-aside-w) + var(--tf-space-5) + var(--tf-space-4))}.tf-book-canvasfirst .tf-book-action{position:absolute;z-index:5;left:var(--tf-space-5);right:var(--tf-space-5);bottom:var(--tf-space-4);width:auto}.tf-book-canvasfirst .tf-book-hint,.tf-book-canvasfirst .tf-book-crumb{position:absolute;z-index:4;top:5.5rem;left:calc(var(--tf-book-rail-w) + var(--tf-space-5) + var(--tf-space-4))}.tf-book-canvasfirst .tf-book-mini{position:absolute;z-index:4;left:calc(var(--tf-book-rail-w) + var(--tf-space-5) + var(--tf-space-4));bottom:calc(var(--tf-book-action-h, 86px) + var(--tf-space-6))}.tf-book-canvasfirst .tf-book-suggest{position:absolute;z-index:6;top:5.5rem;right:var(--tf-space-5)}.tf-book-canvasfirst .tf-book-summary{max-height:40vh;overflow-y:auto;background:var(--tf-bowl-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--tf-bowl-edge);color:var(--tf-bowl-ink)}.tf-book-canvasfirst .tf-book-notice{position:absolute;z-index:5;top:var(--tf-space-8);left:50%;transform:translate(-50%);width:min(30rem,60vw)}}.tf-book-canvasfirst .tf-plan{position:absolute;top:0;right:0;bottom:0;left:0}.tf-book-canvasfirst .tf-book-back-float{color:var(--tf-bowl-ink);padding:var(--tf-space-2) var(--tf-space-3);border-radius:var(--tf-radius-pill);background:var(--tf-bowl-fill);min-height:var(--tf-touch-min);display:inline-flex;align-items:center;flex:none}.tf-book-canvasfirst .tf-book-back-float:hover{color:var(--tf-bowl-ink-bright)}.tf-book-canvasfirst .tf-summary,.tf-book-canvasfirst .tf-summary-empty{background:var(--tf-bowl-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--tf-bowl-edge);color:var(--tf-bowl-ink)}.tf-book-canvasfirst .tf-summary-empty{color:var(--tf-bowl-ink-2)}.tf-book-canvasfirst .tf-summary-seat,.tf-book-canvasfirst .tf-summary-total{color:var(--tf-bowl-ink)}.tf-book-canvasfirst .tf-summary-note{color:var(--tf-bowl-ink-3)}.tf-book-canvasfirst .tf-summary select{background:var(--tf-bowl-fill);color:var(--tf-bowl-ink);border-color:var(--tf-bowl-edge)}.tf-summary-category select option{background:var(--tf-color-bg-canvas);color:var(--tf-color-text-primary)}@media (min-width: 900px){.tf-book-canvasfirst .tf-summary-empty{display:none}}@media (max-width: 899px){.tf-book-canvasfirst .tf-book-head{padding:var(--tf-space-2) var(--tf-space-3);gap:var(--tf-space-2)}.tf-book-canvasfirst .tf-book-head h1{font-size:1rem}.tf-book-canvasfirst .tf-book-kicker,.tf-book-canvasfirst .tf-book-context{display:none}.tf-book-canvasfirst .tf-book-maphead{top:var(--tf-space-2);right:var(--tf-space-3)}.tf-book-canvasfirst .tf-book-maphead button{padding:var(--tf-space-1) var(--tf-space-3);min-height:36px;font-size:var(--tf-text-caption-size)}.tf-book-canvasfirst{display:flex;flex-direction:column;min-height:0}.tf-book-canvasfirst .tf-book-head{position:static;flex:none;background:none}.tf-book-canvasfirst .tf-book-map{position:relative;inset:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--tf-space-2);padding:0 var(--tf-space-3)}.tf-book-canvasfirst .tf-book-canvas{position:relative;inset:auto;order:2;flex:1;min-height:8rem}.tf-book-canvasfirst .tf-book-action{position:static;flex:none;padding:0 var(--tf-space-3) env(safe-area-inset-bottom,0px)}.tf-book-canvasfirst .tf-book-rail{position:static;inset:auto;order:3;flex:none;width:auto;max-height:none;flex-direction:row;align-items:center;gap:var(--tf-space-4);padding:var(--tf-space-2) var(--tf-space-3);border-radius:var(--tf-radius-pill);overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;font-size:.6875rem}.tf-book-canvasfirst .tf-book-rail::-webkit-scrollbar{display:none}.tf-book-canvasfirst .tf-book-rail-group{display:flex;align-items:center;gap:var(--tf-space-3)}.tf-book-canvasfirst .tf-book-rail-title,.tf-book-canvasfirst .tf-book-rail-note{display:none}.tf-book-canvasfirst .tf-book-rail-list{display:flex;align-items:center;gap:var(--tf-space-3)}.tf-book-canvasfirst .tf-book-rail-list li{flex:none}.tf-book-canvasfirst .tf-book-maphead{position:absolute}.tf-book-canvasfirst .tf-book-suggest{position:static;order:1;flex:none;width:auto;gap:var(--tf-space-1);padding:var(--tf-space-2) var(--tf-space-3)}.tf-book-canvasfirst .tf-book-suggest-line{font-size:var(--tf-text-body-sm-size)}.tf-book-canvasfirst .tf-book-hint{display:none}.tf-book-canvasfirst .tf-book-crumb{position:absolute;z-index:4;top:var(--tf-space-2);left:var(--tf-space-2);max-width:calc(100% - var(--tf-space-4));flex-wrap:wrap}.tf-book-canvasfirst .tf-book-mini{display:none}.tf-book-canvasfirst .tf-book-summary{max-height:40vh;overflow-y:auto;background:var(--tf-bowl-panel-2);border-color:var(--tf-bowl-edge);color:var(--tf-bowl-ink)}.tf-book-canvasfirst .tf-summary,.tf-book-canvasfirst .tf-summary-empty{background:var(--tf-bowl-panel-2);border-color:var(--tf-bowl-edge);color:var(--tf-bowl-ink)}.tf-book-canvasfirst{padding-bottom:0}}.tf-book-canvasfirst .tf-book-back-float{flex:none}.tf-book-canvasfirst .tf-book-head>div{min-width:0;flex:1}.tf-book-canvasfirst .tf-book-head h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 899px){.tf-book-canvasfirst .tf-book-aside{position:static;inset:auto;width:auto;flex:none;max-height:40vh;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--tf-space-3)}.tf-book-canvasfirst.tf-book-chosen .tf-summary{border-radius:var(--tf-radius-lg);box-shadow:var(--tf-shadow-lg)}}@media (min-width: 900px){.tf-book-canvasfirst.tf-book-chosen .tf-summary{max-height:52vh;overflow-y:auto}}@media (min-width: 600px) and (max-width: 899px){.tf-book-canvasfirst .tf-book-kicker,.tf-book-canvasfirst .tf-book-context{display:block}.tf-book-canvasfirst .tf-book-head{padding:var(--tf-space-3) var(--tf-space-5)}.tf-book-canvasfirst .tf-book-head h1{font-size:1.125rem}.tf-book-canvasfirst .tf-book-aside{max-height:46vh}.tf-book-canvasfirst.tf-book-chosen .tf-summary{border-radius:var(--tf-radius-xl)}.tf-book-canvasfirst .tf-book-mini{display:grid;position:absolute;z-index:4;left:var(--tf-space-2);bottom:var(--tf-space-2)}.tf-book-canvasfirst .tf-book-suggest{align-self:flex-end;width:min(20rem,52%)}}.tf-book-canvasfirst .tf-book-dock{background:var(--tf-bowl-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--tf-bowl-edge);color:var(--tf-bowl-ink);box-shadow:var(--tf-shadow-lg)}.tf-book-canvasfirst .tf-book-chips-hint,.tf-book-canvasfirst .tf-book-clear{color:var(--tf-bowl-ink-2)}.tf-book-canvasfirst .tf-book-chip{color:#f4915e}.tf-book-canvasfirst .tf-book-vfs-btn{background:var(--tf-bowl-fill);border-color:var(--tf-bowl-edge);color:var(--tf-bowl-ink)}.tf-book-canvasfirst .tf-book-vfs-btn:hover{background:var(--tf-bowl-fill-hover)}.tf-book-canvasfirst .tf-book-total-label{color:var(--tf-bowl-ink-3)}.tf-book-canvasfirst .tf-book-cta-count,.tf-book-canvasfirst .tf-book-cta-total{color:var(--tf-bowl-ink)}.tf-book-canvasfirst .tf-hold-timer{color:var(--tf-color-text-secondary);margin:0}.tf-book-canvasfirst .tf-hold-timer strong{color:var(--tf-bowl-ink)}.tf-book-canvasfirst .tf-hold-ring-face{background:var(--tf-bowl-floor)}.tf-book-canvasfirst .tf-hold-label,.tf-book-canvasfirst .tf-summary-empty{display:none}.tf-book-canvasfirst .tf-book-head .tf-badge{flex:none;margin-inline-start:var(--tf-space-2)}.tf-book-canvasfirst .tf-book-head{padding-right:11rem}@media (max-width: 899px){.tf-book-canvasfirst .tf-book-head{padding-right:8.5rem}}.tf-book-canvasfirst .tf-book-notice{position:absolute;z-index:7;top:var(--tf-space-8);left:50%;transform:translate(-50%);width:min(30rem,calc(100vw - var(--tf-space-6)))}@media (max-width: 767px){.tf-book-canvasfirst .tf-book-head{padding:var(--tf-space-2) var(--tf-space-3);gap:var(--tf-space-2);align-items:center}.tf-book-canvasfirst .tf-book-head h1{font-size:.9375rem;line-height:1.2}.tf-book-canvasfirst .tf-book-back-float{min-height:40px;padding:var(--tf-space-1) var(--tf-space-3);font-size:var(--tf-text-caption-size)}.tf-book-canvasfirst .tf-book-dock{padding:var(--tf-space-2) var(--tf-space-3);gap:var(--tf-space-3)}.tf-book-canvasfirst .tf-book-chips{flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.tf-book-canvasfirst .tf-book-chips::-webkit-scrollbar{display:none}.tf-book-canvasfirst .tf-book-vfs-label{display:none}}@media (max-width: 767px){.tf-book-canvasfirst .tf-book-head{flex-wrap:nowrap;padding-right:6.5rem}.tf-book-canvasfirst .tf-book-head>div{overflow:hidden}}.tf-pay-title{margin:0 0 var(--tf-space-5)}.tf-pay-price,.tf-pay-adjustments,.tf-pay-form{display:grid;gap:var(--tf-space-3);padding:var(--tf-space-4);margin-bottom:var(--tf-space-4);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-color-bg-elevated)}.tf-pay-price h2,.tf-pay-adjustments h2,.tf-pay-form h2{margin:0}.tf-pay-summary{position:relative;display:grid;gap:var(--tf-space-3);padding:var(--tf-space-5);margin-bottom:var(--tf-space-4);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-xl);overflow:hidden;background:radial-gradient(80% 70% at 100% 0%,rgb(99 230 226 / .16),transparent 62%),linear-gradient(160deg,var(--tf-color-ticket-top),var(--tf-color-ticket-bottom));color:var(--tf-color-on-ticket);box-shadow:var(--tf-shadow-lg)}.tf-pay-summary:after{content:"";position:absolute;top:0;bottom:0;width:120px;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .07),transparent);pointer-events:none}@media (prefers-reduced-motion: no-preference){.tf-pay-summary:after{animation:tf-pay-sweep 5s ease-in-out infinite}}@keyframes tf-pay-sweep{0%{transform:translate(-140%)}to{transform:translate(340%)}}.tf-pay-summary h2{margin:0;font-family:var(--tf-font-mono);font-size:var(--tf-text-kicker-size);letter-spacing:var(--tf-text-kicker-tracking);text-transform:uppercase;font-weight:var(--tf-weight-regular);color:var(--tf-color-on-ticket-muted)}.tf-pay-event{margin:0;font-family:var(--tf-font-display);font-size:1.5rem;letter-spacing:-.03em;color:var(--tf-color-on-ticket)}.tf-pay-when,.tf-pay-venue{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-on-ticket-muted)}.tf-pay-seats{margin:var(--tf-space-1) 0 0;padding:var(--tf-space-3) 0 0;border-top:1px dashed rgb(255 255 255 / .24);list-style:none;display:grid;gap:var(--tf-space-2)}.tf-pay-seats li{display:flex;justify-content:space-between;gap:var(--tf-space-3);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size)}.tf-pay-seat-where{color:var(--tf-color-on-ticket-muted)}.tf-pay-seat-numbers{font-family:var(--tf-font-mono);font-variant-numeric:tabular-nums;font-weight:var(--tf-weight-bold);color:var(--tf-color-on-ticket)}.tf-pay-categories{margin:0;color:var(--tf-color-on-ticket-muted)}.tf-pay-lines{margin:0;display:grid;gap:var(--tf-space-2)}.tf-pay-line{display:flex;justify-content:space-between;gap:var(--tf-space-4);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-size)}.tf-pay-line dt,.tf-pay-line dd{margin:0}.tf-pay-total{padding-top:var(--tf-space-3);border-top:1px solid var(--tf-color-border-subtle)}.tf-pay-total strong{font-family:var(--tf-font-display);font-size:1.375rem}.tf-pay-note{margin:0;color:var(--tf-color-text-faint)}.tf-pay-loyalty{display:grid;gap:var(--tf-space-1);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size)}.tf-pay-loyalty input{min-height:var(--tf-touch-min);padding:var(--tf-space-2);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-md);font-size:16px}.tf-pay-loyalty input:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-pay-problem{display:grid;gap:var(--tf-space-3);padding:var(--tf-space-4);margin-bottom:var(--tf-space-4);border:1px solid var(--tf-color-danger);border-radius:var(--tf-radius-lg);background:var(--tf-color-danger-tint)}.tf-pay-problem p{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-size)}.tf-pay-problem:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-pay-problem-actions{display:flex;gap:var(--tf-space-2);flex-wrap:wrap}.tf-pay-form{gap:var(--tf-space-4)}.tf-pay-trust{margin:var(--tf-space-4) 0 0;text-align:center;color:var(--tf-color-text-faint)}.tf-arrival{display:grid;justify-items:center;gap:var(--tf-space-2);padding:var(--tf-space-8) var(--tf-space-5) var(--tf-space-6);border-radius:var(--tf-radius-xl);background:radial-gradient(120% 100% at 50% 0%,var(--tf-atmos-teal),transparent 70%),var(--tf-color-bg-elevated);border:1px solid var(--tf-color-border-subtle);text-align:center}.tf-arrival-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--tf-radius-circle);background:var(--tf-color-accent);color:var(--tf-color-text-on-accent);font-size:26px;line-height:1;box-shadow:var(--tf-shadow-accent);animation:tf-arrival-in var(--tf-duration-slow) var(--tf-ease-out) backwards}@keyframes tf-arrival-in{0%{transform:scale(.82);opacity:0}}.tf-arrival-lead{margin:0;font-family:var(--tf-font-display);font-size:1.75rem;line-height:1.15;letter-spacing:-.02em;color:var(--tf-color-text-primary)}@media (min-width: 768px){.tf-arrival-lead{font-size:2.125rem}}.tf-arrival-sub{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-size);color:var(--tf-color-text-muted)}.tf-arrival-facts{display:flex;gap:var(--tf-space-6);margin:var(--tf-space-3) 0 0}.tf-arrival-facts>div{display:grid;gap:2px}.tf-arrival-facts dt{margin:0;font-family:var(--tf-font-sans);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tf-color-text-faint)}.tf-arrival-facts dd{margin:0;font-family:var(--tf-font-display);font-size:1.25rem;font-weight:var(--tf-weight-semibold);color:var(--tf-color-text-primary)}@media (prefers-reduced-motion: reduce){.tf-arrival-mark{animation:none}}.tf-booking{display:grid;gap:var(--tf-space-5)}.tf-booking-head{display:grid;gap:var(--tf-space-2);justify-items:start}.tf-booking-title{margin:0}.tf-booking-when{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-size);color:var(--tf-color-text-secondary)}.tf-booking-where{margin:0;color:var(--tf-color-text-faint)}.tf-booking-status-body{margin:var(--tf-space-2) 0 0;padding:var(--tf-space-3) var(--tf-space-4);border-left:3px solid var(--tf-color-border-strong);border-radius:var(--tf-radius-sm);background:var(--tf-color-bg-surface);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-text-secondary)}.tf-booking-notice{margin:0;padding:var(--tf-space-3) var(--tf-space-4);border-radius:var(--tf-radius-md);background:var(--tf-color-success-tint);color:var(--tf-color-text-primary);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size)}.tf-booking-tickets{display:grid;gap:var(--tf-space-4)}.tf-booking-tickets h2,.tf-booking-paid h2{margin:0}.tf-booking-paid{display:grid;gap:var(--tf-space-1)}.tf-booking-lines{margin:0 0 var(--tf-space-2);display:grid;gap:var(--tf-space-1)}.tf-booking-line{display:flex;justify-content:space-between;align-items:baseline;gap:var(--tf-space-3)}.tf-booking-line dt,.tf-booking-line dd{margin:0;color:var(--tf-color-text-faint);font-size:var(--tf-text-body-sm-size)}.tf-booking-amount{margin:0;font-family:var(--tf-font-display);font-size:1.5rem}.tf-ticket{display:grid;gap:0;overflow:hidden}.tf-ticket-stub{display:grid;gap:var(--tf-space-4);justify-items:center;padding:var(--tf-space-5) var(--tf-space-4) var(--tf-space-5);background:linear-gradient(160deg,var(--tf-color-ticket-top),var(--tf-color-ticket-bottom));color:var(--tf-color-on-ticket);text-align:center}.tf-ticket-stub-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--tf-space-3)}.tf-ticket-brand{font-family:var(--tf-font-display);font-size:var(--tf-text-body-sm-size);font-weight:var(--tf-weight-semibold);letter-spacing:.04em}.tf-ticket-count{font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);color:var(--tf-color-on-ticket-muted)}.tf-ticket-event{margin:0;font-family:var(--tf-font-display);font-size:1.25rem;line-height:1.2;letter-spacing:-.015em}.tf-ticket-when{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-on-ticket-muted)}.tf-ticket-grid{width:100%;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--tf-space-3) var(--tf-space-6);padding-top:var(--tf-space-4);border-top:1px dashed rgb(255 255 255 / .24)}.tf-ticket-grid>div{display:grid;gap:2px;min-width:4rem}.tf-ticket-grid dt{margin:0;font-family:var(--tf-font-sans);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tf-color-on-ticket-muted)}.tf-ticket-grid dd{margin:0;font-family:var(--tf-font-display);font-size:1.125rem;font-weight:var(--tf-weight-semibold)}.tf-ticket-status{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--tf-space-2) var(--tf-space-3)}.tf-ticket-paid{font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-on-ticket-muted)}.tf-ticket-detail{margin:0;max-width:34ch;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-on-ticket-muted)}.tf-ticket-detail-attention{padding:var(--tf-space-3);border-radius:var(--tf-radius-md);background:#ffffff1a;color:var(--tf-color-on-ticket)}.tf-ticket-actions{display:flex;flex-wrap:wrap;gap:var(--tf-space-2);padding:var(--tf-space-4)}.tf-ticket-error{margin:0;padding:0 var(--tf-space-4) var(--tf-space-4);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-danger)}.tf-ticket-resale{padding:0 var(--tf-space-4) var(--tf-space-4)}.tf-ticket-qr{display:flex;justify-content:center}.tf-ticket-qr-target{padding:var(--tf-space-3);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-md);background:#fff;cursor:zoom-in;line-height:0}.tf-ticket-qr-target:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-ticket-qr-target img{display:block;width:160px;height:160px;image-rendering:pixelated}.tf-ticket-qr-large{display:grid;gap:var(--tf-space-2);justify-items:center;text-align:center}.tf-ticket-qr-large img{display:block;width:min(72vw,380px);height:min(72vw,380px);padding:var(--tf-space-4);border-radius:var(--tf-radius-md);background:#fff;image-rendering:pixelated}.tf-ticket-qr-large-where{margin:0;font-family:var(--tf-font-display);font-size:1.125rem}.tf-ticket-qr-large-event,.tf-ticket-qr-large-note{margin:0;color:var(--tf-color-text-faint)}.tf-companion{display:grid;gap:var(--tf-space-2);border-left:3px solid var(--tf-color-accent)}.tf-companion-when{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-size)}.tf-companion-where{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-text-secondary)}.tf-companion-map{color:var(--tf-color-accent)}.tf-companion-state{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-text-secondary)}.tf-companion-partial{margin:0;color:var(--tf-color-text-faint)}.tf-refund{display:grid;gap:var(--tf-space-2)}.tf-refund h2{margin:0}.tf-refund-policy{margin:0;color:var(--tf-color-text-faint)}.tf-refund-reason{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size)}.tf-refund-yes{color:var(--tf-color-success)}.tf-refund-no{color:var(--tf-color-danger)}.tf-refund-override{margin:0;color:var(--tf-color-text-faint)}.tf-refund-error{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-danger)}.tf-transfer-form{display:grid;gap:var(--tf-space-3)}.tf-transfer-warning{margin:0;padding:var(--tf-space-3);border-radius:var(--tf-radius-md);background:var(--tf-color-warning-tint);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-text-primary)}.tf-tickets-group{margin-top:var(--tf-space-6)}.tf-tickets-group>h2{margin:0 0 var(--tf-space-3)}.tf-tickets-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--tf-space-3)}.tf-tickets-received{display:grid;gap:var(--tf-space-3)}.tf-ticket-row{display:flex;align-items:stretch;gap:0;min-height:var(--tf-touch-min);border:1px solid var(--tf-color-border-subtle);border-radius:var(--tf-radius-xl);background:var(--tf-color-bg-elevated);box-shadow:var(--tf-shadow-sm);overflow:hidden;text-decoration:none;color:inherit;transition:var(--tf-transition-colors),box-shadow var(--tf-duration-base) var(--tf-ease-out),transform var(--tf-duration-base) var(--tf-ease-out)}@media (hover: hover){.tf-ticket-row:hover{border-color:var(--tf-color-border-strong);box-shadow:var(--tf-shadow-md);transform:translateY(-1px)}}.tf-ticket-row:focus-visible{outline:none;box-shadow:var(--tf-ring-focus)}.tf-ticket-row-when{flex:none;display:grid;place-content:center;justify-items:center;gap:1px;width:74px;padding:var(--tf-space-3) var(--tf-space-2);background:linear-gradient(160deg,var(--tf-color-ticket-top),var(--tf-color-ticket-bottom));color:var(--tf-color-on-ticket)}.tf-ticket-row-month{font-family:var(--tf-font-sans);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tf-color-on-ticket-muted)}.tf-ticket-row-day{font-family:var(--tf-font-display);font-size:1.5rem;font-weight:var(--tf-weight-semibold);line-height:1.05}.tf-ticket-row-time{font-family:var(--tf-font-sans);font-size:.6875rem;color:var(--tf-color-on-ticket-muted)}.tf-ticket-row-main{flex:1;min-width:0;display:grid;align-content:center;gap:3px;padding:var(--tf-space-3) var(--tf-space-4)}.tf-ticket-row-title{font-family:var(--tf-font-display);font-size:1.0625rem;font-weight:var(--tf-weight-semibold);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tf-ticket-row-where,.tf-ticket-row-seats{color:var(--tf-color-text-faint);font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-ticket-row-state{flex:none;display:grid;place-content:center;padding-right:var(--tf-space-4)}.tf-tickets-past .tf-ticket-row-when{background:var(--tf-color-bg-sunken);color:var(--tf-color-text-muted)}.tf-tickets-past .tf-ticket-row-month,.tf-tickets-past .tf-ticket-row-time{color:var(--tf-color-text-faint)}.tf-tickets-empty{display:grid;gap:var(--tf-space-3);justify-items:start}.tf-tickets-empty-lead{margin:0;font-family:var(--tf-font-display);font-size:1.125rem}@media (min-width: 768px){.tf-booking-tickets{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.tf-booking-tickets h2{grid-column:1 / -1}}.tf-doors{display:grid;gap:var(--tf-space-3)}.tf-doors-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--tf-space-3);flex-wrap:wrap}.tf-doors-when{margin:0;font-family:var(--tf-font-sans);font-size:var(--tf-text-h3-size);color:var(--tf-color-text-primary)}.tf-doors-figure{font-family:var(--tf-font-mono);font-variant-numeric:tabular-nums;color:var(--tf-color-accent-bright)}.tf-doors-at{margin:0;color:var(--tf-color-text-faint)}.tf-doors-bar{position:relative;height:3px;border-radius:2px;background:var(--tf-color-fill-subtle);overflow:visible}.tf-doors-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:2px;background:linear-gradient(90deg,var(--tf-color-ai),var(--tf-color-flare));box-shadow:var(--tf-shadow-flare);transition:width .9s linear}.tf-doors-bar-head{position:absolute;right:-5px;top:50%;width:11px;height:11px;margin-top:-5.5px;border-radius:50%;background:var(--tf-color-flare);box-shadow:0 0 0 5px var(--tf-color-flare-tint)}@media (prefers-reduced-motion: reduce){.tf-doors-bar-fill{transition:none}}.tf-chat-root{position:fixed;right:16px;bottom:16px;z-index:60}@media (max-width: 768px){.tf-chat-root{bottom:84px}}.tf-chat-launcher{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--tf-color-border-strong, rgb(0 0 0 / .2));border-radius:999px;background:var(--tf-color-accent, #ea6928);color:var(--tf-color-text-on-accent, #12060a);font:inherit;font-weight:600;cursor:pointer;box-shadow:0 4px 16px #00000040}.tf-chat-launcher:hover{background:var(--tf-color-accent-hover, #f07d42)}.tf-chat-panel{display:flex;flex-direction:column;width:min(360px,calc(100vw - 32px));height:min(520px,calc(100vh - 96px));border:1px solid var(--tf-color-border-strong, rgb(0 0 0 / .2));border-radius:12px;overflow:hidden;background:var(--tf-color-bg-surface, #fff);color:var(--tf-color-text-primary, #111);box-shadow:0 8px 32px #00000059}.tf-chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--tf-color-bg-elevated, #f2f2f2);border-bottom:1px solid var(--tf-color-border-subtle, rgb(0 0 0 / .1))}.tf-chat-title{font-weight:700}.tf-chat-ai-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;background:var(--tf-color-accent-tint, rgb(234 105 40 / .16));color:var(--tf-color-accent, #ea6928);font-size:.72em;font-weight:700;letter-spacing:.04em}.tf-chat-close{border:none;background:none;color:inherit;font-size:1.4rem;line-height:1;cursor:pointer;padding:2px 6px}.tf-chat-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.tf-chat-msg p{margin:0;padding:8px 12px;border-radius:10px;max-width:90%;white-space:pre-wrap;overflow-wrap:break-word}.tf-chat-msg-user{align-self:flex-end}.tf-chat-msg-user p{background:var(--tf-color-accent-tint, rgb(234 105 40 / .16))}.tf-chat-msg-assistant p{background:var(--tf-color-fill-subtle, rgb(0 0 0 / .06))}.tf-chat-sources,.tf-chat-support-hint,.tf-chat-feedback{font-size:.8em;color:var(--tf-color-text-muted, #555);background:none!important;padding:0 4px!important}.tf-chat-feedback button{border:none;background:none;cursor:pointer;font-size:1em;padding:0 2px}.tf-chat-links{display:flex;gap:12px}.tf-chat-input-row{display:flex;gap:8px;padding:10px 12px 4px;border-top:1px solid var(--tf-color-border-subtle, rgb(0 0 0 / .1))}.tf-chat-input-row input{flex:1;padding:8px 10px;border:1px solid var(--tf-color-border-strong, rgb(0 0 0 / .2));border-radius:8px;background:var(--tf-color-bg-canvas, #fff);color:inherit;font:inherit}.tf-chat-input-row button{padding:8px 14px;border:none;border-radius:8px;background:var(--tf-color-accent, #ea6928);color:var(--tf-color-text-on-accent, #12060a);font:inherit;font-weight:600;cursor:pointer}.tf-chat-input-row button:disabled{opacity:.5;cursor:default}.tf-chat-disclaimer{margin:0;padding:6px 12px 10px;font-size:.72em;color:var(--tf-color-text-muted, #555)}.tf-chat-bookings{display:grid;gap:6px;margin:6px 0 2px;max-width:95%}.tf-chat-booking-card{border:1px solid var(--tf-color-border-subtle, rgb(0 0 0 / .12));border-radius:8px;padding:8px 10px;background:var(--tf-color-bg-elevated, rgb(0 0 0 / .04))}.tf-chat-booking-card p{margin:2px 0 0!important;padding:0!important;background:none!important;max-width:none!important;font-size:.85em;color:var(--tf-color-text-secondary, #444)}.tf-chat-booking-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.tf-chat-booking-refund{color:var(--tf-color-text-muted, #666)!important}.tf-chat-bookings-note{font-size:.8em;color:var(--tf-color-text-muted, #666)!important;background:none!important;padding:0 4px!important;margin:4px 0 0!important;max-width:none!important}: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: rgb(255 255 255 / .1);--tf-color-border-strong: rgb(255 255 255 / .2);--tf-color-fill-subtle: rgb(255 255 255 / .1);--tf-color-accent: #EA6928;--tf-color-accent-bright: #f4915e;--tf-color-accent-hover: #f07d42;--tf-color-accent-active: #d55a1e;--tf-color-accent-tint: rgb(234 105 40 / .16);--tf-color-accent-wash: rgb(234 105 40 / .08);--tf-color-flare: #EA6928;--tf-color-flare-tint: rgb(234 105 40 / .18);--tf-color-focus: #f4915e;--tf-color-focus-offset: #121a26;--tf-color-success: #3ed598;--tf-color-success-tint: rgb(62 213 152 / .14);--tf-color-warning: #ffc678;--tf-color-warning-tint: rgb(255 198 120 / .14);--tf-color-danger: #ff8b8b;--tf-color-danger-tint: rgb(255 139 139 / .14);--tf-color-ai: #63e6e2;--tf-color-ai-tint: rgb(99 230 226 / .14);--tf-color-ai-wash: rgb(99 230 226 / .08);--tf-color-ai-border: rgb(99 230 226 / .32);--tf-color-ai-on-dark: #63e6e2;--tf-media-scrim: rgb(0 0 0 / .56);--tf-media-scrim-strong: rgb(0 0 0 / .84);--tf-on-media: #ffffff;--tf-on-media-muted: rgb(255 255 255 / .86);--tf-media-plate-top: #16222f;--tf-media-plate-bottom: #0d141d;--tf-color-ticket-top: #15616a;--tf-color-ticket-bottom: #0e1c28;--tf-color-on-ticket: #ffffff;--tf-color-on-ticket-muted: rgb(255 255 255 / .72);--tf-atmos-teal: rgb(234 105 40 / .2);--tf-atmos-cyan: rgb(99 230 226 / .11);--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: rgb(8 12 18 / .62);--tf-color-glass-bg: rgb(255 255 255 / .07);--tf-color-glass-border: rgb(255 255 255 / .14);--tf-color-glass-bg-ai: rgb(99 230 226 / .1);--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: rgb(255 255 255 / .09);--tf-bowl-seat-taken-ink: rgb(255 255 255 / .26);--tf-bowl-seat-mine: #EA6928;--tf-bowl-floor: #0b1119;--tf-bowl-ink: rgb(234 246 246 / .88);--tf-bowl-ink-2: rgb(234 246 246 / .7);--tf-bowl-ink-3: rgb(234 246 246 / .6);--tf-bowl-fill: rgb(255 255 255 / .08);--tf-bowl-edge: rgb(255 255 255 / .18);--tf-bowl-panel: rgb(12 34 38 / .86);--tf-bowl-panel-2: rgb(10 30 33 / .94);--tf-bowl-scrim: rgb(8 24 26 / .72);--tf-bowl-ai: rgb(143 223 230 / .85);--tf-bowl-ai-tint: rgb(143 223 230 / .14);--tf-bowl-ai-edge: rgb(169 221 226 / .34);--tf-bowl-fill-hover: rgb(255 255 255 / .14);--tf-bowl-ink-bright: #ffffff;--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: rgb(234 105 40 / .3);--tf-color-on-cover: rgb(255 255 255 / .3)}@media (prefers-reduced-transparency: reduce){:root{--tf-color-glass-bg: #222e40;--tf-color-glass-bg-ai: #16323a;--tf-color-glass-border: rgb(255 255 255 / .16)}}@media (prefers-contrast: more){:root{--tf-color-text-secondary: #eef3f6;--tf-color-text-muted: #dbe1e8;--tf-color-text-faint: #c3cbd4;--tf-color-border-subtle: rgb(255 255 255 / .34);--tf-color-border-strong: rgb(255 255 255 / .55);--tf-color-fill-subtle: rgb(255 255 255 / .3);--tf-color-glass-bg: #222e40;--tf-color-glass-bg-ai: #16323a;--tf-color-glass-border: rgb(255 255 255 / .55);--tf-media-scrim: rgb(0 0 0 / .82);--tf-media-scrim-strong: rgb(0 0 0 / .96);--tf-on-media-muted: #ffffff;--tf-bowl-band-cold: #93abc9;--tf-bowl-seat-taken: rgb(255 255 255 / .16);--tf-bowl-seat-taken-ink: rgb(255 255 255 / .45)}}: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);margin:0;text-wrap:balance}.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);margin-inline:auto;padding-inline:var(--tf-gutter)}.tf-container-wide{width:100%;max-width:var(--tf-width-wide);margin-inline:auto;padding-inline:var(--tf-gutter)}.tf-container-prose{width:100%;max-width:var(--tf-width-prose);margin-inline:auto;padding-inline:var(--tf-gutter)}.tf-stack{display:flex;flex-direction:column;gap:var(--tf-space-4)}.tf-stack-sm{gap:var(--tf-space-2)}.tf-stack-lg{gap:var(--tf-space-8)}.tf-row{display:flex;align-items:center;gap:var(--tf-space-3)}.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%}:root{--tf-shadow-none: none;--tf-shadow-xs: inset 0 1px 0 rgb(255 255 255 / .04), 0 1px 2px rgb(0 0 0 / .4);--tf-shadow-sm: inset 0 1px 0 rgb(255 255 255 / .05), 0 2px 6px rgb(0 0 0 / .45);--tf-shadow-md: inset 0 1px 0 rgb(255 255 255 / .06), 0 8px 24px -8px rgb(0 0 0 / .6);--tf-shadow-lg: inset 0 1px 0 rgb(255 255 255 / .07), 0 16px 44px -12px rgb(0 0 0 / .7);--tf-shadow-xl: inset 0 1px 0 rgb(255 255 255 / .09), 0 30px 80px -20px rgb(0 0 0 / .8);--tf-shadow-accent: 0 2px 8px rgb(234 105 40 / .3), 0 14px 40px -10px rgb(234 105 40 / .48);--tf-shadow-ai: 0 2px 8px rgb(99 230 226 / .18), 0 14px 40px -14px rgb(99 230 226 / .32);--tf-shadow-flare: 0 0 14px rgb(234 105 40 / .55);--tf-glow-intent: inset 0 1px 0 rgb(255 255 255 / .09), 0 0 0 1px rgb(255 255 255 / .03), 0 30px 90px -20px rgb(234 105 40 / .38);--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 rgb(0 0 0 / .5);--tf-shadow-sm: 0 2px 6px rgb(0 0 0 / .55);--tf-shadow-md: 0 8px 24px -8px rgb(0 0 0 / .7);--tf-shadow-lg: 0 16px 44px -12px rgb(0 0 0 / .8);--tf-shadow-xl: 0 30px 80px -20px rgb(0 0 0 / .9)}}:root[data-tf-theme=light]{--tf-color-bg-canvas: #f6f7f9;--tf-color-bg-surface: #ffffff;--tf-color-bg-elevated: #ffffff;--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: #ffffff;--tf-color-text-on-accent: #ffffff;--tf-color-border-subtle: rgb(17 20 24 / .1);--tf-color-border-strong: rgb(17 20 24 / .2);--tf-color-fill-subtle: rgb(17 20 24 / .1);--tf-color-accent: #16181c;--tf-color-accent-bright: #2c3038;--tf-color-accent-hover: #2c3038;--tf-color-accent-active: #000000;--tf-color-accent-tint: rgb(17 20 24 / .07);--tf-color-accent-wash: rgb(17 20 24 / .04);--tf-color-focus: #0c717f;--tf-color-focus-offset: #ffffff;--tf-color-success: #0f6b45;--tf-color-success-tint: rgb(15 107 69 / .1);--tf-color-warning: #8a5a17;--tf-color-warning-tint: rgb(245 169 79 / .18);--tf-color-danger: #b3261e;--tf-color-danger-tint: rgb(179 38 30 / .09);--tf-color-ai: #0c717f;--tf-color-ai-tint: rgb(13 125 140 / .1);--tf-color-ai-wash: rgb(13 125 140 / .05);--tf-color-ai-border: rgb(13 125 140 / .3);--tf-color-ai-on-dark: #63e6e2;--tf-atmos-teal: rgb(234 105 40 / .07);--tf-atmos-cyan: rgb(13 125 140 / .06);--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: rgb(17 20 24 / .44);--tf-color-glass-bg: rgb(255 255 255 / .82);--tf-color-glass-border: rgb(17 20 24 / .1);--tf-color-glass-bg-ai: rgb(236 250 251 / .88);--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: rgb(17 20 24 / .1);--tf-bowl-seat-taken-ink: rgb(17 20 24 / .26);--tf-bowl-seat-mine: #EA6928;--tf-bowl-floor: #f4f6f8;--tf-bowl-ink: rgb(20 23 27 / .92);--tf-bowl-ink-2: rgb(20 23 27 / .72);--tf-bowl-ink-3: rgb(20 23 27 / .6);--tf-bowl-fill: rgb(17 20 24 / .05);--tf-bowl-edge: rgb(17 20 24 / .14);--tf-bowl-panel: rgb(255 255 255 / .9);--tf-bowl-panel-2: rgb(255 255 255 / .96);--tf-bowl-scrim: rgb(246 247 249 / .86);--tf-bowl-ai: #0c717f;--tf-bowl-ai-tint: rgb(13 125 140 / .1);--tf-bowl-ai-edge: rgb(13 125 140 / .3);--tf-bowl-fill-hover: rgb(17 20 24 / .1);--tf-bowl-ink-bright: #14171b;--tf-bowl-surround-glow: #ffffff;--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: rgb(245 169 79 / .45);--tf-color-on-cover: rgb(17 20 24 / .22)}:root[data-tf-theme=light]{--tf-ring-selected: 0 0 0 2px var(--tf-bowl-seat-mine)}:root[data-tf-theme=light] :is(.tf-ticket-stub,.tf-pay-summary,.tf-ticket-row-when){--tf-color-success: #3ed598;--tf-color-success-tint: rgb(62 213 152 / .14);--tf-color-warning: #ffc678;--tf-color-warning-tint: rgb(255 198 120 / .14);--tf-color-danger: #ff8b8b;--tf-color-danger-tint: rgb(255 139 139 / .14);--tf-color-ai: #63e6e2;--tf-color-ai-tint: rgb(99 230 226 / .14);--tf-color-accent: #EA6928;--tf-color-accent-tint: rgb(234 105 40 / .16);--tf-color-bg-sunken: rgb(255 255 255 / .1);--tf-color-text-secondary: rgb(255 255 255 / .72);--tf-color-border-subtle: rgb(255 255 255 / .16);--tf-color-fill-subtle: rgb(255 255 255 / .1);--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: rgb(17 20 24 / .34);--tf-color-border-strong: rgb(17 20 24 / .55);--tf-color-fill-subtle: rgb(17 20 24 / .3);--tf-color-glass-bg: #ffffff;--tf-color-glass-bg-ai: #ecfafb;--tf-color-glass-border: rgb(17 20 24 / .55);--tf-bowl-seat-taken: rgb(17 20 24 / .2);--tf-bowl-seat-taken-ink: rgb(17 20 24 / .45)}}@media (prefers-reduced-transparency: reduce){:root[data-tf-theme=light]{--tf-color-glass-bg: #ffffff;--tf-color-glass-bg-ai: #ecfafb;--tf-color-glass-border: rgb(17 20 24 / .16)}}:root[data-tf-theme=light]{--tf-shadow-xs: 0 1px 2px rgb(17 20 24 / .05);--tf-shadow-sm: 0 2px 6px rgb(17 20 24 / .05);--tf-shadow-md: 0 2px 6px rgb(17 20 24 / .05), 0 10px 26px rgb(17 20 24 / .08);--tf-shadow-lg: 0 3px 8px rgb(17 20 24 / .06), 0 22px 54px rgb(17 20 24 / .12);--tf-shadow-xl: 0 4px 10px rgb(17 20 24 / .08), 0 34px 80px rgb(17 20 24 / .18);--tf-shadow-accent: 0 2px 6px rgb(17 20 24 / .16), 0 12px 28px rgb(17 20 24 / .2);--tf-shadow-ai: 0 2px 6px rgb(13 125 140 / .14), 0 12px 30px rgb(13 125 140 / .16);--tf-shadow-flare: none;--tf-glow-intent: 0 2px 8px rgb(17 20 24 / .05), 0 26px 60px rgb(17 20 24 / .12), inset 0 1px 0 #fff}@media (prefers-reduced-transparency: reduce){:root[data-tf-theme=light]{--tf-shadow-md: 0 2px 6px rgb(17 20 24 / .05), 0 10px 26px rgb(17 20 24 / .08);--tf-shadow-lg: 0 3px 8px rgb(17 20 24 / .06), 0 22px 54px rgb(17 20 24 / .12);--tf-shadow-xl: 0 4px 10px rgb(17 20 24 / .08), 0 34px 80px rgb(17 20 24 / .18)}}: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{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}:root{--tf-bp-tablet: 640px;--tf-bp-desktop: 1024px;--tf-bp-wide: 1440px}:root{--ink:var(--tf-color-bg-canvas);--panel:var(--tf-color-bg-surface);--panel-2:var(--tf-color-bg-sunken);--line:var(--tf-color-border-subtle);--paper:var(--tf-color-text-primary);--amber:var(--tf-color-accent-bright);--amber-dim:var(--tf-color-accent-hover);--teal:var(--tf-color-success);--teal-bright:var(--tf-bowl-seat-mine);--red:var(--tf-color-danger);--muted:var(--tf-color-text-muted);--surface:var(--tf-color-bg-elevated);--surface-2:var(--tf-color-bg-sunken);--line-strong:var(--tf-color-border-strong);--ink-2:var(--tf-color-text-secondary);--faint:var(--tf-color-text-faint);--crimson:var(--tf-color-accent);--crimson-tint:var(--tf-color-accent-tint);--crimson-wash:var(--tf-color-accent-wash);--plum:var(--tf-color-ai);--plum-tint:var(--tf-color-ai-tint);--pine:var(--tf-color-success);--pine-tint:var(--tf-color-success-tint);--brass:var(--tf-color-ai);--brass-tint:var(--tf-color-ai-tint);--brass-wash:var(--tf-color-ai-wash);--seat-mine:var(--tf-bowl-seat-mine);--seat-taken:var(--tf-bowl-seat-taken);--seat-taken-ink:var(--tf-bowl-seat-taken-ink);--radius:var(--tf-radius-md);--shadow:var(--tf-shadow-sm);--shadow-lg:var(--tf-shadow-lg);--sans:var(--tf-font-sans);--serif:var(--tf-font-display);--mono:var(--tf-font-mono)}*{box-sizing:border-box}html{background:var(--ink)}body{margin:0;padding:0;background-color:var(--ink);background-image:radial-gradient(circle at 50% -6%,var(--tf-atmos-teal),transparent 40rem),radial-gradient(circle at 92% 12%,var(--tf-atmos-cyan),transparent 32rem);background-repeat:no-repeat;color:var(--paper);font-family:var(--sans);font-size:var(--tf-text-body-size);-webkit-font-smoothing:antialiased}html:has(.tf-root) body{background-image:none}h1,h2,h3,.display{font-family:var(--serif);font-weight:var(--tf-weight-semibold);letter-spacing:-.022em;color:var(--tf-color-text-primary)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}button{font-family:var(--sans);cursor:pointer}a{color:var(--tf-color-accent-bright)}:focus-visible{outline:2px solid var(--tf-color-focus);outline-offset:2px;border-radius:4px}.wrap{width:100%;max-width:var(--tf-width-content);margin:0 auto;padding:28px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--tf-radius-lg);padding:20px;box-shadow:var(--shadow)}.card+.card{margin-top:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--tf-color-accent);color:var(--tf-color-text-on-accent);border:none;padding:11px 20px;border-radius:var(--tf-radius-md);font-family:var(--sans);font-weight:var(--tf-weight-semibold);font-size:14px;letter-spacing:-.01em;text-decoration:none;box-shadow:var(--tf-shadow-accent);transition:background .16s ease,transform .14s ease,box-shadow .18s ease}.btn:hover{background:var(--tf-color-accent-hover)}.btn:active{background:var(--tf-color-accent-active);transform:translateY(1px)}.btn.secondary{background:var(--tf-color-bg-elevated);border:1px solid var(--line-strong);color:var(--paper);box-shadow:var(--tf-shadow-xs)}.btn.secondary:hover{background:var(--tf-color-fill-subtle);border-color:var(--tf-color-border-strong)}.btn.danger{background:transparent;border:1px solid var(--red);color:var(--red);box-shadow:none}.btn.danger:hover{background:var(--tf-color-danger-tint)}.btn:disabled{background:var(--tf-color-fill-subtle);color:var(--faint);box-shadow:none;cursor:not-allowed}.btn.secondary:disabled,.btn.danger:disabled{background:transparent;color:var(--faint);border-color:var(--line)}input,select,textarea{font-family:var(--sans);font-size:14px;color:var(--paper);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--tf-radius-md);padding:10px 12px}input[type=checkbox],input[type=radio]{width:auto;padding:0;accent-color:var(--tf-color-accent)}input[type=range]{padding:0;background:transparent;border:none;accent-color:var(--tf-color-accent)}input[type=file]{padding:8px}input::placeholder,textarea::placeholder{color:var(--faint)}input:disabled,select:disabled,textarea:disabled{color:var(--faint);background:var(--tf-color-fill-subtle);cursor:not-allowed}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--tf-color-focus);outline-offset:1px}label{color:var(--ink-2)}.tabbar{display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;width:fit-content}.tabbar button,.tabbar a{border:none;background:transparent;color:var(--muted);padding:7px 15px;border-radius:999px;font-size:13px;font-weight:550;letter-spacing:-.01em;text-transform:none;text-decoration:none;transition:background .16s ease,color .16s ease}.tabbar button:hover,.tabbar a:hover{color:var(--paper)}.tabbar button.active,.tabbar a.active{background:var(--tf-color-bg-elevated);color:var(--paper);box-shadow:var(--tf-shadow-xs)}.tabbar.wrap{flex-wrap:wrap;width:auto;max-width:100%;border-radius:var(--tf-radius-lg)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--faint);font-family:var(--mono);font-weight:var(--tf-weight-bold);font-size:11px;text-transform:uppercase;letter-spacing:.1em}tbody tr{transition:background .12s ease}tbody tr:hover{background:var(--tf-color-fill-subtle)}@media (max-width: 720px){table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.seat{width:24px;height:24px;border-radius:50%;margin:3px;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-family:var(--mono);border:1px solid transparent;cursor:pointer;color:var(--paper);font-weight:700;transition:transform .13s cubic-bezier(.2,.7,.3,1),background .16s ease}.seat:hover{transform:scale(1.18)}.seat.gap{background:transparent;border:1px dashed var(--line);cursor:default}.seat.gap:hover{transform:none}.seat.available{background:var(--tf-color-fill-subtle);border-color:var(--tf-color-border-strong)}.seat.selected{background:var(--seat-mine);color:var(--tf-color-text-on-accent);border-color:var(--seat-mine)}.seat.held{background:transparent;border:1px dashed var(--tf-color-warning);color:var(--tf-color-warning);cursor:not-allowed}.seat.held:hover{transform:none}.seat.booked{background:var(--seat-taken);border-color:transparent;color:var(--seat-taken-ink);cursor:not-allowed}.seat.booked:hover{transform:none}.admin-nav{display:flex;flex-direction:column;gap:1px}.admin-nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:8px;font-size:13.5px;text-decoration:none;color:var(--muted);transition:background .12s ease,color .12s ease}.queue-badge{flex:none;min-width:20px;padding:1px 6px;border-radius:999px;background:var(--tf-color-ai-tint);color:var(--tf-color-ai);font-family:var(--mono);font-size:11px;font-weight:700;line-height:1.5;text-align:center}.admin-nav a.active .queue-badge{background:var(--tf-color-bg-canvas);color:var(--tf-color-ai)}.admin-nav a:hover{background:var(--tf-color-fill-subtle);color:var(--paper)}.admin-nav a.active{background:var(--tf-color-accent-tint);color:var(--tf-color-accent-bright);font-weight:600;box-shadow:inset 2px 0 0 var(--tf-color-accent)}.admin-nav a.active:hover{background:var(--tf-color-accent-tint);color:var(--tf-color-accent-bright)}.legal-page p,.legal-page li{font-size:14px;line-height:1.65;color:var(--ink-2)}.legal-page p{margin:0 0 10px}.legal-page p:last-child{margin-bottom:0}.legal-page ul{margin:0 0 10px;padding-left:20px;display:flex;flex-direction:column;gap:6px}.legal-page td{vertical-align:top}.legal-page a{color:var(--tf-color-accent-bright)}.site-footer{border-top:1px solid var(--line);background:var(--tf-color-bg-sunken);margin-top:56px}.site-footer .footer-cols{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(150px,1fr) minmax(150px,1fr);gap:28px}.site-footer h3{font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--faint);margin:0 0 12px}.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.site-footer a{color:var(--ink-2);text-decoration:none;font-size:13px;transition:color .15s ease}.site-footer a:hover{color:var(--tf-color-accent-bright);text-decoration:underline}.site-footer .footer-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:32px;padding-top:16px;font-size:12px;color:var(--muted)}@media (max-width:640px){.site-footer .footer-cols{grid-template-columns:1fr;gap:24px}.site-footer .footer-bar{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
