.tf-plan{touch-action:manipulation;flex-direction:column;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.tf-plan-viewport{flex:1;min-height:0;position:relative}.tf-plan-pannable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.tf-plan-pannable:active{cursor:grabbing}.tf-plan-sectionlist{padding:var(--tf-space-2) 0 0;gap:var(--tf-space-2);overscroll-behavior:contain;flex:none;max-height:40%;margin:0;list-style:none;display:grid;overflow-y:auto}.tf-plan-row{align-items:center;gap:var(--tf-space-3);width:100%;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;display:flex}.tf-plan-row-lit{background:var(--tf-bowl-fill-hover);border-color:#f6aa86e6}.tf-plan-row:focus-visible{box-shadow:var(--tf-ring-focus);outline:none}.tf-plan-row-name{font-weight:var(--tf-weight-semibold);font-size:var(--tf-text-body-sm-size)}.tf-plan-row-caption{min-width:0;color:var(--tf-bowl-ink-2);font-size:var(--tf-text-caption-size);flex:1}.tf-plan-row-go{color:var(--tf-bowl-ink-3);font-size:1.125rem;line-height:1}.tf-plan-svg{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.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);letter-spacing:.45em;pointer-events:none;font-weight:700}.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{transform-box:fill-box;transform-origin:50%;transition:transform .12s}.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.4px}.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:.9px;stroke-dasharray:2 2}.tf-plan-seat[data-visual=blocked]{fill:#0000;stroke:#ffffff47;stroke-width:.9px}.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-chair{color:var(--tf-bowl-band-cool)}.tf-plan-chair-hit{fill:#0000}.tf-plan-chair-seat{fill:currentColor;pointer-events:none}.tf-plan-chair-back,.tf-plan-chair-arm{fill:currentColor;fill-opacity:.55;pointer-events:none}.tf-plan-chair[data-visual=selected]{color:var(--tf-bowl-seat-mine)!important}.tf-plan-chair[data-visual=selected] .tf-plan-chair-seat{stroke:var(--tf-bowl-ink-bright);stroke-width:1.2px}.tf-plan-chair[data-visual=booked],.tf-plan-chair[data-visual=held],.tf-plan-chair[data-visual=blocked]{color:var(--tf-bowl-seat-taken)!important}.tf-plan-chair[data-visual=held] .tf-plan-chair-seat{stroke:var(--tf-bowl-stage);stroke-width:.9px;stroke-dasharray:2 2}.tf-plan-chair[data-visual=blocked] .tf-plan-chair-seat{fill:#0000;stroke:#ffffff47;stroke-width:.9px}.tf-plan-chair[data-visual=blocked] .tf-plan-chair-back,.tf-plan-chair[data-visual=blocked] .tf-plan-chair-arm{fill-opacity:.25}.tf-plan-cursor{fill:none;stroke:var(--tf-color-focus);stroke-width:1.6px;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:.7px;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:1px;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s,stroke .15s}.tf-plan-hull-hover,.tf-plan-hull:hover{fill:#eef3f61a;stroke:#f6aa86e6;stroke-width:1.6px}.tf-plan-hull:focus-visible{fill:#eef3f61a;stroke:#f6aa86e6;stroke-width:1.6px}.tf-plan-hull:focus-visible{outline:none}.tf-plan-hull-context{cursor:default}.tf-plan-hull-lead{fill:#eef3f61c;stroke:#ffffff6b;stroke-width:1.4px}.tf-plan-hull-lead:hover,.tf-plan-hull-lead.tf-plan-hull-hover{fill:#eef3f633;stroke:#f6aa86f2;stroke-width:2px}.tf-plan-hull-lead:focus-visible{fill:#eef3f633;stroke:#f6aa86f2;stroke-width:2px}.tf-plan-accessmark{fill:none;stroke:var(--tf-color-focus,#04766d);stroke-width:1.4px;vector-effect:non-scaling-stroke;pointer-events:none}.tf-plan-companionmark{stroke:var(--tf-color-focus,#04766d);stroke-width:1.6px;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.tf-plan-card{cursor:pointer}.tf-plan-card rect{fill:var(--tf-bowl-scrim);stroke:var(--tf-bowl-edge);transition:stroke .15s}.tf-plan-card-hover rect{stroke:#f6aa86e6}.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{right:var(--tf-space-4);bottom:var(--tf-space-4);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);align-items:center;gap:2px;padding:4px;display:flex;position:absolute}.tf-plan-controls button{border-radius:var(--tf-radius-sm);background:var(--tf-bowl-fill);width:34px;height:34px;color:var(--tf-bowl-ink);cursor:pointer;border:none;place-items:center;font-size:16px;line-height:1;display:grid}.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{box-shadow:var(--tf-ring-focus);outline:none}.tf-plan-zoom{text-align:center;min-width:38px;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{width:8.75rem;height:5.5rem;display:block}.tf-plan-mini-stage{fill:#ffc67873}.tf-plan-mini-section{fill:#ffffff1a;stroke:#ffffff38;vector-effect:non-scaling-stroke}.tf-plan-mini-active{fill:#ef8a5e8c;stroke:var(--tf-bowl-seat-mine);stroke-width:2px}.tf-plan-floors{gap:var(--tf-space-1);padding:0 0 var(--tf-space-2);flex-wrap:wrap;flex:none;display:flex}.tf-plan-floor{min-height:var(--tf-touch-min);padding:var(--tf-space-1) 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);cursor:pointer;flex-direction:column;align-items:flex-start;gap:1px;display:inline-flex}.tf-plan-floor-on{background:var(--tf-bowl-fill-hover);border-color:#f6aa86e6}.tf-plan-floor:focus-visible{box-shadow:var(--tf-ring-focus);outline:none}.tf-plan-floor-name{font-weight:var(--tf-weight-semibold);font-size:var(--tf-text-body-sm-size)}.tf-plan-floor-left{color:var(--tf-bowl-ink-2);font-size:var(--tf-text-caption-size)}.tf-plan-table,.tf-plan-booth{fill:#eef3f612;stroke:#ffffff38;stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none}.tf-plan-table[data-visual=selected],.tf-plan-booth[data-visual=selected]{fill:#ef8a5e47;stroke:var(--tf-bowl-seat-mine)}.tf-plan-table[data-visual=held],.tf-plan-booth[data-visual=held]{stroke:var(--tf-bowl-stage);stroke-dasharray:3 3}.tf-plan-table[data-visual=booked],.tf-plan-table[data-visual=blocked],.tf-plan-booth[data-visual=booked],.tf-plan-booth[data-visual=blocked]{fill:var(--tf-bowl-seat-taken);stroke:#ffffff1a}.tf-plan-entrance{fill:var(--tf-color-focus,#7ec3f0);stroke:var(--tf-bowl-ink-bright);stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none}.tf-plan-box polygon{fill:#eef3f612;stroke:#ffffff38;stroke-width:1.2px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.tf-plan-box[role=button]:not([aria-disabled]){cursor:pointer}.tf-plan-box[role=button]:not([aria-disabled]):hover polygon{stroke:#f6aa86e6;stroke-dasharray:none}.tf-plan-box:focus-visible polygon{stroke:#f6aa86e6;stroke-dasharray:none}.tf-plan-box:focus-visible{outline:none}.tf-plan-box[data-visual=selected] polygon{fill:#ef8a5e47;stroke:var(--tf-bowl-seat-mine);stroke-dasharray:none}.tf-plan-box[data-visual=held] polygon{stroke:var(--tf-bowl-stage)}.tf-plan-box[data-visual=booked] polygon,.tf-plan-box[data-visual=blocked] polygon{fill:var(--tf-bowl-seat-taken);stroke:#ffffff1a}.tf-plan-box text{font-family:var(--tf-font-sans);pointer-events:none}.tf-plan-box-name{fill:var(--tf-bowl-ink);font-weight:600}.tf-plan-box-words{fill:var(--tf-bowl-ink-2)}.tf-plan-zone{color:var(--tf-bowl-ink-2);cursor:pointer}.tf-plan-zone rect{fill:currentColor;fill-opacity:.06;stroke:currentColor;stroke-opacity:.35;stroke-width:1px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.tf-plan-zone:hover rect{fill-opacity:.1;stroke-opacity:.7}.tf-plan-zone:focus-visible rect{fill-opacity:.1;stroke-opacity:.7}.tf-plan-zone:focus-visible{outline:none}.tf-plan-zone-name{fill:currentColor;font-family:var(--tf-font-sans);letter-spacing:.14em;pointer-events:none;font-weight:700}.tf-plan-zone-head{color:var(--tf-bowl-ink-2);list-style:none}.tf-plan-zone-head button{padding:var(--tf-space-1) var(--tf-space-2) 0;color:inherit;font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;font-weight:700}.tf-plan-decor-shape{fill:#ffffff0d;stroke:#ffffff24;fill-opacity:.6}.tf-plan-decor-under .tf-plan-decor-shape,.tf-plan-decor-under rect{fill-opacity:.35;stroke:none}.tf-plan-decor-surroundings rect,.tf-plan-decor-surroundings .tf-plan-decor-shape{stroke-dasharray:4 4}.tf-plan-decor-icon circle{fill:var(--tf-bowl-scrim);stroke:#ffffff4d}.tf-plan-decor-glyph{fill:var(--tf-bowl-ink);font-family:var(--tf-font-mono);letter-spacing:0;font-weight:700}.tf-smap{background:var(--tf-bowl-floor);min-height:0;box-shadow:var(--tf-shadow-xs);color:var(--tf-bowl-ink);font:500 13px/1.4 var(--tf-font-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden}.tf-smap-msg{text-align:center;color:var(--tf-bowl-ink-3);margin:auto;padding:24px}.tf-smap-surface{background-image:radial-gradient(circle, var(--tf-color-border-subtle) 1px, transparent 1px);background-size:22px 22px;flex:1;min-height:0;position:relative}.tf-smap-surface.is-scroll{touch-action:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:var(--tf-bowl-ink-3) transparent;-webkit-user-select:none;user-select:none;overflow:auto}.tf-smap-surface.is-overview{overflow:hidden}.tf-smap-surface.is-scroll::-webkit-scrollbar{width:10px;height:12px}.tf-smap-surface.is-scroll::-webkit-scrollbar-track{background:var(--tf-color-bg-sunken);border-radius:6px}.tf-smap-surface.is-scroll::-webkit-scrollbar-thumb{background:var(--tf-bowl-ink-3);border:2px solid var(--tf-bowl-floor);border-radius:6px}.tf-smap-surface.is-scroll::-webkit-scrollbar-thumb:active{background:var(--tf-color-accent)}.tf-smap-surface:focus-visible{outline:2px solid var(--tf-color-accent);outline-offset:-2px}.tf-smap-layer{position:relative}.tf-smap-layer>svg{display:block}.tf-smap-stage{fill:var(--tf-bowl-stage)}.tf-smap-stage-bar{fill:var(--tf-color-accent-bright)}.tf-smap-stage-label{fill:var(--tf-color-bg-canvas);letter-spacing:.22em;font-weight:700}.tf-smap-sectionname{fill:var(--tf-bowl-ink-3);letter-spacing:.16em;font-weight:700}.tf-smap-rowlabel text{fill:var(--tf-bowl-ink-3);font-weight:600}.tf-smap-hull polygon{fill:var(--tf-color-bg-surface);fill-opacity:.34;stroke:var(--tf-color-border-strong);stroke-width:1.5px;stroke-opacity:.85;cursor:pointer}.tf-smap-hull polygon:focus-visible{stroke:var(--tf-color-accent);stroke-opacity:1;stroke-width:3px;outline:none}.tf-smap-hull[data-sold-out] polygon{fill:var(--tf-bowl-seat-taken);fill-opacity:1;stroke:var(--tf-bowl-seat-taken-ink);cursor:default}.tf-smap-hull-name{fill:var(--tf-bowl-ink);pointer-events:none;font-weight:700}.tf-smap-hull-caption{fill:var(--tf-bowl-ink-2);pointer-events:none;font-weight:600}.tf-smap-seat{color:var(--tf-bowl-band-cool);cursor:pointer}.tf-smap-chair-hit{fill:#0000}.tf-smap-chair-seat{fill:currentColor;pointer-events:none}.tf-smap-chair-back,.tf-smap-chair-arm{fill:currentColor;fill-opacity:.55;pointer-events:none}.tf-smap-seat[data-visual=selected]{color:var(--tf-bowl-seat-mine)!important}.tf-smap-seat-ring{fill:none;stroke:var(--tf-bowl-seat-mine);stroke-width:1.6px;opacity:.55;pointer-events:none}.tf-smap-seat[data-visual=booked],.tf-smap-seat[data-visual=held],.tf-smap-seat[data-visual=blocked]{cursor:default;color:var(--tf-bowl-seat-taken)!important}.tf-smap-seat[data-visual=booked] .tf-smap-chair-seat,.tf-smap-seat[data-visual=held] .tf-smap-chair-seat,.tf-smap-seat[data-visual=blocked] .tf-smap-chair-seat{stroke:var(--tf-bowl-seat-taken-ink);stroke-width:.9px}.tf-smap-seat[data-visual=booked] .tf-smap-chair-back,.tf-smap-seat[data-visual=held] .tf-smap-chair-back,.tf-smap-seat[data-visual=blocked] .tf-smap-chair-back,.tf-smap-seat[data-visual=booked] .tf-smap-chair-arm,.tf-smap-seat[data-visual=held] .tf-smap-chair-arm,.tf-smap-seat[data-visual=blocked] .tf-smap-chair-arm{fill:var(--tf-bowl-seat-taken-ink);fill-opacity:.7}.tf-smap-seatnum{fill:#0d141de6;pointer-events:none;font-weight:700}.tf-smap-seatnum[data-visual=selected]{fill:var(--tf-color-text-on-accent)}.tf-smap-seatnum[data-visual=booked],.tf-smap-seatnum[data-visual=held],.tf-smap-seatnum[data-visual=blocked]{fill:var(--tf-bowl-ink-3)}.tf-smap-accessmark{fill:none;stroke:var(--tf-bowl-ink-3);stroke-width:1.2px;pointer-events:none}.tf-smap-seatg[data-cursor] .tf-smap-chair-seat{stroke:var(--tf-color-accent);stroke-width:2.4px}.tf-smap-hint{text-align:center;color:var(--tf-bowl-ink-3);pointer-events:none;flex:none;margin:0;padding:6px 10px 8px;font-size:12px}@media (max-height:500px){.tf-smap-hint{display:none}.tf-smap-controls{bottom:10px}}.tf-smap-controls{flex-direction:column;gap:6px;display:flex;position:absolute;bottom:34px;left:10px}.tf-smap-controls button{border:1px solid var(--tf-color-border-subtle);background:var(--tf-color-bg-elevated);min-width:44px;min-height:44px;color:var(--tf-bowl-ink);box-shadow:var(--tf-shadow-xs);border-radius:12px;padding:0 8px;font:600 14px/1 inherit}.tf-smap-controls button:disabled{opacity:.45}.tf-smap[data-input=mouse] .tf-smap-surface.is-scroll{cursor:grab;overscroll-behavior:auto}.tf-smap[data-input=mouse] .tf-smap-surface.is-scroll.is-dragging,.tf-smap[data-input=mouse] .tf-smap-surface.is-scroll.is-dragging .tf-smap-seat{cursor:grabbing}.tf-smap[data-input=mouse] .tf-smap-seat[data-visual=available]:hover .tf-smap-chair-seat{stroke:var(--tf-bowl-ink);stroke-width:1.4px}.tf-smap[data-input=mouse] .tf-smap-controls button{cursor:pointer}.tf-smap[data-input=mouse] .tf-smap-controls button:not(:disabled):hover{border-color:var(--tf-color-accent)}.tf-smap[data-input=mouse] .tf-smap-hint{justify-content:center;align-items:center;min-height:48px;padding:6px 150px;display:flex}.tf-smap[data-input=mouse] .tf-smap-controls{flex-direction:row;bottom:6px;left:10px}.tf-smap[data-input=mouse] .tf-smap-controls button{min-width:36px;min-height:36px}.tf-smap-ga polygon{fill:#ffffff0a;stroke:#ffffff38;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.tf-smap-ga-name{fill:var(--tf-bowl-ink);pointer-events:none;font-weight:700}.tf-smap-ga-hint{fill:var(--tf-bowl-ink-2);pointer-events:none;font-weight:600}.tf-smap-floors{flex-wrap:wrap;flex:none;gap:4px;padding:8px 8px 0;display:flex}.tf-smap-floor{border:1px solid var(--tf-color-border-strong);background:var(--tf-color-bg-surface);min-height:44px;color:var(--tf-bowl-ink);cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:1px;padding:4px 12px;display:inline-flex}.tf-smap-floor-on{border-color:var(--tf-color-accent)}.tf-smap-floor:focus-visible{box-shadow:var(--tf-ring-focus);outline:none}.tf-smap-floor-name{font-size:13px;font-weight:700}.tf-smap-floor-left{color:var(--tf-bowl-ink-2);font-size:11px}.tf-smap-table,.tf-smap-booth{fill:var(--tf-color-bg-surface);fill-opacity:.5;stroke:var(--tf-color-border-strong);stroke-width:1px;pointer-events:none}.tf-smap-table[data-visual=selected],.tf-smap-booth[data-visual=selected]{fill:var(--tf-bowl-seat-mine);fill-opacity:.25;stroke:var(--tf-bowl-seat-mine)}.tf-smap-table[data-visual=held],.tf-smap-booth[data-visual=held]{stroke:var(--tf-bowl-stage);stroke-dasharray:3 3}.tf-smap-table[data-visual=booked],.tf-smap-table[data-visual=blocked],.tf-smap-booth[data-visual=booked],.tf-smap-booth[data-visual=blocked]{fill:var(--tf-bowl-seat-taken);fill-opacity:1}.tf-smap-entrance{fill:var(--tf-color-accent);stroke:var(--tf-bowl-ink);stroke-width:1px;pointer-events:none}.tf-smap-box polygon{fill:var(--tf-color-bg-surface);fill-opacity:.34;stroke:var(--tf-color-border-strong);stroke-width:1.5px;stroke-dasharray:6 4}.tf-smap-box[role=button]:not([aria-disabled]) polygon{cursor:pointer}.tf-smap-box:focus-visible{outline:none}.tf-smap-box:focus-visible polygon{stroke:var(--tf-color-accent);stroke-width:3px;stroke-dasharray:none}.tf-smap-box[data-visual=selected] polygon{fill:var(--tf-bowl-seat-mine);stroke:var(--tf-bowl-seat-mine);stroke-dasharray:none}.tf-smap-box[data-visual=held] polygon{stroke:var(--tf-bowl-stage)}.tf-smap-box[data-visual=booked] polygon,.tf-smap-box[data-visual=blocked] polygon{fill:var(--tf-bowl-seat-taken);fill-opacity:1;stroke:var(--tf-bowl-seat-taken-ink)}.tf-smap-box text{pointer-events:none}.tf-smap-box-name{fill:var(--tf-bowl-ink);font-weight:700}.tf-smap-box-words{fill:var(--tf-bowl-ink-2);font-weight:600}.tf-smap-zone{color:var(--tf-bowl-ink-2)}.tf-smap-zone rect{fill:currentColor;fill-opacity:.06;stroke:currentColor;stroke-opacity:.35;stroke-dasharray:6 4}.tf-smap-zone-name{fill:currentColor;letter-spacing:.14em;font-weight:700}.tf-book-back{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;display:inline-flex}.tf-book-back:hover{color:var(--tf-color-text-primary)}.tf-book-back:focus-visible{box-shadow:var(--tf-ring-focus);border-radius:var(--tf-radius-sm);outline:none}.tf-book{gap:var(--tf-space-5);display:grid}@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{justify-content:space-between;align-items:flex-start;gap:var(--tf-space-4);display:flex}.tf-book-head h1{margin:0}.tf-book-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--tf-color-text-faint);margin:0 0 2px}.tf-book-map{gap:var(--tf-space-3);display:grid}.tf-book-instruction{color:var(--tf-color-text-muted);margin:0}.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);touch-action:none;min-height:min(60vh,560px);overflow:hidden}.tf-book-canvas-busy{opacity:.6;pointer-events:none}.tf-book-rail{gap:var(--tf-space-4);font-family:var(--tf-font-sans);font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted);flex-direction:column;display:flex}.tf-book-rail-group{gap:var(--tf-space-2);display:grid}.tf-book-rail-title{font-size:.625rem;font-weight:var(--tf-weight-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--tf-color-text-faint);margin:0}.tf-book-rail-list{gap:var(--tf-space-2);margin:0;padding:0;list-style:none;display:grid}.tf-book-rail-list li{align-items:center;gap:var(--tf-space-2);display:flex}.tf-book-rail-name{flex:1;min-width:0}.tf-book-rail-note{color:var(--tf-color-text-faint);margin:0;font-size:.6875rem;line-height:1.55}.tf-swatch{border:1px solid #0000;border-radius:50%;flex:none;width:11px;height:11px;display:inline-block}.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{border:1px solid var(--tf-color-border-strong);background:0 0}.tf-swatch-wheelchair{border:1.5px solid var(--tf-color-focus,#04766d);background:0 0;border-radius:2px}.tf-swatch-companion{border:none;border-bottom:2px solid var(--tf-color-focus,#04766d);background:0 0;border-radius:0}.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{gap:var(--tf-space-3);display:grid}.tf-ga-tier{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);display:grid}.tf-ga-tier-head{justify-content:space-between;align-items:baseline;gap:var(--tf-space-3);display:flex}.tf-ga-tier-head h3{margin:0}.tf-ga-price{font-family:var(--tf-font-display);margin:0;font-size:1.125rem}.tf-ga-left{color:var(--tf-color-text-muted);margin:0}.tf-book-extras{gap:var(--tf-space-3);margin-top:var(--tf-space-4);display:grid}.tf-extras{gap:var(--tf-space-3);display:grid}.tf-ga-note{color:var(--tf-color-text-secondary);white-space:pre-line;margin:0}.tf-ga-rate{justify-content:space-between;align-items:center;gap:var(--tf-space-3);flex-wrap:wrap;display:flex}.tf-ga-rate-name{gap:2px;display:grid}.tf-ga-rate-name .tf-ga-price{font-size:1rem}.tf-ga-stepper{align-items:center;gap:var(--tf-space-3);display:flex}.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);cursor:pointer;font-size:1.25rem}.tf-ga-step:disabled{opacity:.4;cursor:not-allowed}.tf-ga-step:focus-visible{box-shadow:var(--tf-ring-focus);outline:none}.tf-ga-count{text-align:center;min-width:2.5ch;font-family:var(--tf-font-display);font-size:1.25rem}.tf-summary{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);display:grid}.tf-summary h2{margin:0}.tf-summary-empty p{color:var(--tf-color-text-muted);margin:0}.tf-summary-lines{gap:var(--tf-space-2);margin:0;padding:0;list-style:none;display:grid}.tf-summary-line{align-items:center;gap:var(--tf-space-2);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);grid-template-columns:1fr auto;display:grid}.tf-summary-seat{display:grid}.tf-summary-tier{color:var(--tf-color-text-faint);font-size:var(--tf-text-caption-size)}.tf-summary-category{gap:var(--tf-space-1);grid-column:1/-1;display:grid}.tf-summary-category-label{color:var(--tf-color-text-faint);font-size:var(--tf-text-caption-size)}.tf-summary-category-hint{color:var(--tf-color-accent-bright);font-size:var(--tf-text-caption-size);font-weight:600}.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{box-shadow:var(--tf-ring-focus);outline:none}.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{color:var(--tf-color-warning);font-size:var(--tf-text-body-sm-size);margin:0}.tf-summary-total{padding-top:var(--tf-space-3);border-top:1px solid var(--tf-color-border-subtle);font-family:var(--tf-font-sans);justify-content:space-between;align-items:baseline;margin:0;display:flex}.tf-summary-total strong{font-family:var(--tf-font-display);font-size:1.25rem}.tf-summary-fee{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);justify-content:space-between;align-items:baseline;margin:0;display:flex}.tf-summary-grand{padding-top:var(--tf-space-2);margin-top:var(--tf-space-2)}.tf-summary-note{color:var(--tf-color-text-faint);gap:var(--tf-space-2);margin:0;display:grid}.tf-summary-note p{margin:0}.tf-summary-terms-toggle{font:inherit;color:var(--tf-color-accent-bright);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.tf-summary-terms-toggle:focus-visible{box-shadow:var(--tf-ring-focus);border-radius:var(--tf-radius-sm);outline:none}.tf-book-notice{justify-content:space-between;align-items:center;gap:var(--tf-space-3);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);flex-wrap:wrap;display:flex}.tf-book-notice p{font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);margin:0}.tf-book-recover{gap:var(--tf-space-3);margin-top:var(--tf-space-4);justify-content:center;display:flex}.tf-book-dock{align-items:center;gap:var(--tf-space-4);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);flex-wrap:wrap;display:flex}.tf-book-chips{align-items:center;gap:var(--tf-space-2);flex-wrap:wrap;flex:12rem;min-width:0;display:flex}.tf-book-chips-hint{font-size:var(--tf-text-caption-size);color:var(--tf-color-text-muted)}.tf-book-chip{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);cursor:pointer;white-space:nowrap;font-size:.6875rem;display:inline-flex}.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{padding:var(--tf-space-1);color:var(--tf-color-text-muted);font-size:var(--tf-text-caption-size);cursor:pointer;background:0 0;border:none;text-decoration:underline}.tf-book-vfs-btn{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);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;min-height:var(--tf-touch-min);background:0 0;flex:none;display:inline-flex}.tf-book-cta-context{text-align:right;font-family:var(--tf-font-sans);flex:none;gap:2px;display:grid}.tf-book-total-label{letter-spacing:.1em;color:var(--tf-color-text-faint);font-size:.5625rem;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{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:-moz-fit-content;width:fit-content;margin:0}.tf-book-crumb{align-items:center;gap:var(--tf-space-2);display:flex}.tf-book-crumb-back{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);display:inline-flex}.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{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;display:grid}.tf-book-mini-label{font-family:var(--tf-font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--tf-bowl-ink-2);text-align:center;font-size:.5625rem}.tf-book-suggest{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);display:grid}.tf-book-suggest-kicker{justify-content:space-between;align-items:center;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);margin:0;display:flex}.tf-book-suggest-party{align-items:center;gap:var(--tf-space-1);letter-spacing:normal;text-transform:none;display:inline-flex}.tf-book-suggest-party button{border-radius:var(--tf-radius-sm);border:1px solid var(--tf-bowl-ai-edge);width:24px;height:24px;color:inherit;cursor:pointer;background:0 0;place-items:center;font-size:.75rem;line-height:1;display:grid}.tf-book-suggest-party button:disabled{opacity:.4;cursor:default}@media (pointer:coarse){.tf-book-suggest-party button{width:32px;height:32px;font-size:1rem}}.tf-book-suggest-line{font-size:var(--tf-text-caption-size);color:var(--tf-bowl-ink);margin:0;line-height:1.45}.tf-book-suggest-row{justify-content:space-between;align-items:center;gap:var(--tf-space-2);display:flex}.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);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;background:0 0}.tf-book-suggest-take:hover{background:var(--tf-bowl-ai-tint)}.tf-book-vfs-overlay{z-index:30;background:#080c12c7;place-items:center;animation:.2s tf-book-fade;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.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{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);justify-content:space-between;align-items:center;display:flex}.tf-book-vfs-head button{border-radius:var(--tf-radius-sm);background:var(--tf-bowl-fill);width:26px;height:26px;color:var(--tf-bowl-ink);cursor:pointer;border:none;place-items:center;display:grid}@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{align-items:start;gap:var(--tf-space-5) var(--tf-space-6);grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);grid-template-areas:"head head""notice notice""select aside""extras aside""extras action"}.tf-book-head{grid-area:head}.tf-book-map,.tf-ga{grid-area:select}.tf-book-extras{grid-area:extras}.tf-book-aside{top:calc(var(--tf-header-height,88px) + var(--tf-space-4));max-height:calc(100dvh - var(--tf-header-height,88px) - 2 * var(--tf-space-4));overscroll-behavior:contain;grid-area:aside;position:sticky;overflow-y:auto}.tf-book-notice{grid-area:notice}.tf-book-action{grid-area:action}}@media (max-width:899px){.tf-book-action{left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:20;position:fixed}.tf-book-dock{box-shadow:var(--tf-shadow-md);border-bottom:none;border-left:none;border-right:none;border-radius:0}.tf-book{--tf-book-nav-clear:calc(64px + env(safe-area-inset-bottom,0px));--tf-book-action-h:86px;padding-bottom:calc(112px + 72px + env(safe-area-inset-bottom,0px))}}.tf-hold-timer{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);display:flex}.tf-hold-timer strong{font-family:var(--tf-font-mono);color:var(--tf-color-text-primary)}.tf-hold-ring{background:conic-gradient(var(--tf-color-warning) 0 var(--tf-hold-fraction,100%), var(--tf-color-fill-subtle) var(--tf-hold-fraction,100%) 100%);border-radius:50%;flex:none;place-items:center;width:46px;height:46px;display:grid;position:relative}.tf-hold-ring-face{background:var(--tf-color-bg-canvas);width:38px;height:38px;font-family:var(--tf-font-mono);font-size:var(--tf-text-caption-size);color:var(--tf-color-warning);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid}.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{justify-content:space-between;align-items:flex-start;gap:var(--tf-space-3);flex-wrap:wrap;display:flex}.tf-book-maphead p{flex: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{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.tf-book-canvasfirst{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%);flex:1;min-height:32rem;padding:0;display:block;position:relative;overflow:hidden}.tf-book-canvasfirst .tf-book-map{gap:0;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.tf-book-canvasfirst .tf-book-canvas{min-height:0;box-shadow:none;--seatcanvas-border:none;--seatcanvas-radius:0;background:0 0;border:none;border-radius:0;position:absolute;top:0;bottom:0;left:0;right:0}.tf-book-canvasfirst .tf-book-head{z-index:3;justify-content:flex-start;align-items:center;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;display:flex;position:absolute;top:0;left:0;right:0}.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{color:var(--tf-bowl-ink);margin:0;font-size:1.125rem;line-height:1.2}.tf-book-canvasfirst .tf-book-context{color:var(--tf-bowl-ink-2);margin:0}.tf-book-canvasfirst .tf-book-instruction{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tf-book-canvasfirst .tf-book-maphead{z-index:3;top:var(--tf-space-3);right:var(--tf-space-5);width:auto;position:absolute}.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{z-index:3;left:var(--tf-space-5);width:var(--tf-book-rail-w);max-height:calc(100% - 5.5rem - var(--tf-book-action-h,86px) - var(--tf-space-8));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);position:absolute;top:5.5rem;overflow-y:auto}.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))}.tf-book-canvasfirst .tf-book-aside{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;position:absolute}.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{z-index:5;left:var(--tf-space-5);right:var(--tf-space-5);bottom:var(--tf-space-4);width:auto;position:absolute}.tf-book-canvasfirst .tf-book-hint,.tf-book-canvasfirst .tf-book-crumb{z-index:4;top:5.5rem;left:calc(var(--tf-book-rail-w) + var(--tf-space-5) + var(--tf-space-4));position:absolute}.tf-book-canvasfirst .tf-book-mini{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));position:absolute}.tf-book-canvasfirst .tf-book-suggest{z-index:6;top:5.5rem;right:var(--tf-space-5);position:absolute}.tf-book-canvasfirst .tf-book-summary{background:var(--tf-bowl-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--tf-bowl-edge);max-height:40vh;color:var(--tf-bowl-ink);overflow-y:auto}.tf-book-canvasfirst .tf-book-notice{z-index:5;top:var(--tf-space-8);width:min(30rem,60vw);position:absolute;left:50%;transform:translate(-50%)}}.tf-book-canvasfirst .tf-plan{position:absolute;top:0;bottom:0;left:0;right: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);flex:none;align-items:center;display:inline-flex}.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{flex-direction:column;min-height:0;display:flex}.tf-book-canvasfirst .tf-book-head{background:0 0;flex:none;position:static}.tf-book-canvasfirst .tf-book-map{gap:var(--tf-space-2);min-height:0;padding:0 var(--tf-space-3);flex-direction:column;flex:1;display:flex;position:relative;top:auto;bottom:auto;left:auto;right:auto}.tf-book-canvasfirst .tf-book-canvas{flex:1;order:2;min-height:8rem;position:relative;top:auto;bottom:auto;left:auto;right:auto}.tf-book-canvasfirst .tf-book-action{padding:0 var(--tf-space-3) env(safe-area-inset-bottom,0px);flex:none;position:static}.tf-book-canvasfirst .tf-book-rail{align-items:center;gap:var(--tf-space-4);width:auto;max-height:none;padding:var(--tf-space-2) var(--tf-space-3);border-radius:var(--tf-radius-pill);white-space:nowrap;scrollbar-width:none;flex-direction:row;flex:none;order:3;font-size:.6875rem;position:static;top:auto;bottom:auto;left:auto;right:auto;overflow:auto hidden}.tf-book-canvasfirst .tf-book-rail::-webkit-scrollbar{display:none}.tf-book-canvasfirst .tf-book-rail-group{align-items:center;gap:var(--tf-space-3);display:flex}.tf-book-canvasfirst .tf-book-rail-title,.tf-book-canvasfirst .tf-book-rail-note{display:none}.tf-book-canvasfirst .tf-book-rail-list{align-items:center;gap:var(--tf-space-3);display:flex}.tf-book-canvasfirst .tf-book-rail-list li{flex:none}.tf-book-canvasfirst .tf-book-maphead{position:absolute}.tf-book-canvasfirst .tf-book-suggest{gap:var(--tf-space-1);width:auto;padding:var(--tf-space-2) var(--tf-space-3);flex:none;order:1;position:static}.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{z-index:4;top:var(--tf-space-2);left:var(--tf-space-2);max-width:calc(100% - var(--tf-space-4));flex-wrap:wrap;position:absolute}.tf-book-canvasfirst .tf-book-mini{display:none}.tf-book-canvasfirst .tf-book-summary{background:var(--tf-bowl-panel-2);border-color:var(--tf-bowl-edge);max-height:40vh;color:var(--tf-bowl-ink);overflow-y:auto}.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{flex:1;min-width:0}.tf-book-canvasfirst .tf-book-head h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:899px){.tf-book-canvasfirst .tf-book-aside{overscroll-behavior:contain;width:auto;max-height:40vh;padding:0 var(--tf-space-3);flex:none;position:static;top:auto;bottom:auto;left:auto;right:auto;overflow-y:auto}.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{z-index:4;left:var(--tf-space-2);bottom:var(--tf-space-2);display:grid;position:absolute}.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:#f6aa86}.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{z-index:7;top:var(--tf-space-8);width:min(30rem, calc(100vw - var(--tf-space-6)));position:absolute;left:50%;transform:translate(-50%)}@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-2) var(--tf-space-3)}.tf-book-canvasfirst .tf-book-chips{scrollbar-width:none;flex-wrap:nowrap;flex:100%;order:-1;overflow-x:auto}.tf-book-canvasfirst .tf-book-cta-context{margin-left:auto}.tf-book-canvasfirst .tf-book-chips::-webkit-scrollbar{display:none}.tf-book-canvasfirst .tf-book-vfs-label{display:none}.tf-book-canvasfirst .tf-book-head{flex-wrap:nowrap;padding-right:6.5rem}.tf-book-canvasfirst .tf-book-head>div{overflow:hidden}}@media (min-width:900px){.tf-book-canvasfirst{--tf-book-room-h:var(--tf-book-room-measured-h,max(16rem, calc(100dvh - 21.5rem)));--tf-book-legend-h:5rem;align-items:stretch;gap:var(--tf-space-3);flex-direction:column;display:flex;overflow:visible}.tf-book-canvasfirst .tf-book-head{padding:var(--tf-space-2) var(--tf-space-5);background:0 0;flex:none;position:static}.tf-book-canvasfirst .tf-book-kicker{display:none}.tf-book-canvasfirst .tf-book-map{gap:var(--tf-space-3);padding:0 var(--tf-space-5);flex-direction:column;flex:none;min-width:0;display:flex;position:relative;top:auto;bottom:auto;left:auto;right:auto}.tf-book-canvasfirst .tf-book-rail{width:auto;height:var(--tf-book-legend-h);justify-content:center;align-items:stretch;gap:var(--tf-space-1);max-height:none;padding:var(--tf-space-2) var(--tf-space-4);border-radius:var(--tf-radius-lg);flex-direction:column;flex:none;order:1;min-width:0;display:flex;position:static;top:auto;bottom:auto;left:auto;right:auto;overflow:hidden}.tf-book-canvasfirst .tf-book-rail-group{align-items:center;gap:var(--tf-space-3);white-space:nowrap;scrollbar-width:none;flex-direction:row;flex:none;min-width:0;display:flex;overflow:auto hidden}.tf-book-canvasfirst .tf-book-rail-group::-webkit-scrollbar{display:none}.tf-book-canvasfirst .tf-book-rail-title{flex:none;margin:0}.tf-book-canvasfirst .tf-book-rail-list{align-items:center;gap:var(--tf-space-4);flex-direction:row;flex:none;display:flex}.tf-book-canvasfirst .tf-book-rail-list li,.tf-book-canvasfirst .tf-book-rail-name{flex:none}.tf-book-canvasfirst .tf-book-rail-note{white-space:nowrap;text-overflow:ellipsis;flex:none;min-width:0;margin:0;overflow:hidden}.tf-book-canvasfirst .tf-book-canvas{height:max(var(--tf-book-room-h), var(--tf-book-room-needed-h,0px));border-radius:var(--tf-radius-lg);flex:none;order:2;min-height:0;position:relative;top:auto;bottom:auto;left:auto;right:auto;overflow:hidden}.tf-book-canvasfirst.tf-book-chosen .tf-book-canvas{right:auto}.tf-book-canvasfirst .tf-book-hint,.tf-book-canvasfirst .tf-book-crumb{top:calc(var(--tf-book-legend-h) + var(--tf-space-3) + var(--tf-space-3));left:calc(var(--tf-space-5) + var(--tf-space-3))}.tf-book-canvasfirst .tf-book-mini{top:calc(var(--tf-book-legend-h) + var(--tf-space-3) + var(--tf-book-room-h) - 9.5rem);left:calc(var(--tf-space-5) + var(--tf-space-3));bottom:auto}.tf-book-canvasfirst .tf-book-suggest{top:calc(var(--tf-book-legend-h) + var(--tf-space-3) + var(--tf-space-3));right:calc(var(--tf-space-5) + var(--tf-space-3))}.tf-book-canvasfirst .tf-book-aside{width:min(38rem,100%);margin:var(--tf-space-4) var(--tf-space-5) 0 auto;flex:none;max-height:none;position:static;top:auto;bottom:auto;left:auto;right:auto;overflow:visible}.tf-book-canvasfirst.tf-book-chosen .tf-summary{max-height:none;overflow-y:visible}.tf-book-canvasfirst .tf-book-action{margin:0 var(--tf-space-5) var(--tf-space-3);z-index:7;width:auto;position:sticky;bottom:0;left:auto;right:auto}.tf-book-canvasfirst .tf-book-notice{width:auto;margin:0 var(--tf-space-5);position:static;transform:none}}@media (max-width:899px){.tf-book-canvasfirst{align-items:stretch;gap:var(--tf-space-2);--tf-book-room-h:var(--tf-book-room-measured-h,max(16rem, calc(100dvh - 19rem)));--tf-book-legend-h:5.25rem;flex-direction:column;min-height:0;padding-bottom:0;display:flex;overflow:visible}.tf-book-canvasfirst .tf-book-map{gap:var(--tf-space-2);padding:0 var(--tf-space-3);flex-direction:column;flex:none;min-width:0;display:flex;position:relative;top:auto;bottom:auto;left:auto;right:auto}.tf-book-canvasfirst .tf-book-rail{width:auto;height:var(--tf-book-legend-h);max-height:none;padding:var(--tf-space-2) var(--tf-space-3);border-radius:var(--tf-radius-lg);flex-direction:column;flex:none;order:1;justify-content:center;align-items:stretch;gap:2px;min-width:0;font-size:.6875rem;display:flex;position:static;top:auto;bottom:auto;left:auto;right:auto;overflow:hidden}.tf-book-canvasfirst .tf-book-rail-group{align-items:center;gap:var(--tf-space-2);white-space:nowrap;scrollbar-width:none;flex-direction:row;flex:none;min-width:0;display:flex;overflow:auto hidden}.tf-book-canvasfirst .tf-book-rail-group::-webkit-scrollbar{display:none}.tf-book-canvasfirst .tf-book-rail-title{flex:none;margin:0;display:block}.tf-book-canvasfirst .tf-book-rail-note{white-space:nowrap;text-overflow:ellipsis;flex:none;min-width:0;margin:0;display:block;overflow:hidden}.tf-book-canvasfirst .tf-book-rail-list{align-items:center;gap:var(--tf-space-3);flex-direction:row;flex:none;display:flex}.tf-book-canvasfirst .tf-book-rail-list li,.tf-book-canvasfirst .tf-book-rail-name{flex:none}.tf-book-canvasfirst .tf-book-canvas{height:max(var(--tf-book-room-h), var(--tf-book-room-needed-h,0px));border-radius:var(--tf-radius-lg);flex:none;order:2;min-height:0;position:relative;top:auto;bottom:auto;left:auto;right:auto;overflow:hidden}.tf-book-canvasfirst .tf-book-suggest{order:0}.tf-book-canvasfirst .tf-book-crumb{flex-wrap:nowrap;flex:none;order:2;min-width:0;max-width:none;position:static;top:auto;bottom:auto;left:auto;right:auto}.tf-book-canvasfirst .tf-book-crumb-back{flex:none}.tf-book-canvasfirst .tf-book-crumb-here{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tf-book-canvasfirst .tf-book-canvas{order:3}.tf-book-canvasfirst .tf-book-aside{order:4}.tf-book-canvasfirst .tf-book-action{order:5}.tf-book-canvasfirst .tf-book-aside{width:auto;max-height:none;margin:var(--tf-space-2) 0 0;padding:0 var(--tf-space-3);flex:none;order:3;position:static;top:auto;bottom:auto;left:auto;right:auto;overflow:visible}.tf-book-canvasfirst.tf-book-chosen .tf-summary,.tf-book-canvasfirst .tf-book-summary{max-height:none;overflow-y:visible}.tf-book-canvasfirst .tf-book-action{z-index:20;margin:var(--tf-space-2) 0 0;padding:0 var(--tf-space-3) env(safe-area-inset-bottom,0px);flex:none;order:4;position:sticky;bottom:0;left:auto;right:auto}}.tf-book-canvasfirst .tf-book-map-scroll .tf-book-mini{display:none}@media (min-width:900px){.tf-book-canvasfirst .tf-book-map-scroll .tf-book-crumb,.tf-book-canvasfirst .tf-book-map-scroll .tf-book-hint{flex:none;order:2;align-self:flex-start;min-width:0;max-width:100%;position:static;top:auto;bottom:auto;left:auto;right:auto}.tf-book-canvasfirst .tf-book-map-scroll .tf-book-canvas{order:3}}.tf-book-ga .tf-book-head{align-items:end;row-gap:var(--tf-space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.tf-book-ga .tf-book-head .tf-book-back-float{grid-column:1/-1;justify-self:start}@media (max-width:899px){.tf-book-ga .tf-book-action{padding-bottom:env(safe-area-inset-bottom,0px);bottom:0}.tf-book-ga{padding-bottom:160px}}@media (min-width:900px){.tf-book-ga .tf-book-aside{position:static}}.tf-book-typenotes{flex-basis:100%}.tf-book-rail .tf-book-rail-group.tf-book-typenotes{white-space:normal;flex-wrap:wrap;flex:1 0 100%;min-width:0;overflow:visible}.tf-book-rail .tf-book-typenotes .tf-book-typenotes-list{white-space:normal;flex-wrap:wrap;flex:100%;min-width:0}.tf-book-rail .tf-book-typenotes .tf-book-typenotes-list li{flex:100%;min-width:0}.tf-book-typenotes-list{gap:var(--tf-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tf-book-typenotes-list li{align-items:flex-start;gap:var(--tf-space-2);white-space:normal;overflow-wrap:anywhere;font-size:.8125rem;line-height:1.45;display:flex}.tf-book-typenotes-list .tf-swatch{flex:none;margin-top:.3em}.tf-book-canvasfirst .tf-book-typenotes-list li{color:var(--tf-bowl-ink-2)}.tf-book-canvasfirst .tf-book-typenotes-list strong{color:var(--tf-bowl-ink)}.tf-summary-offers{padding:var(--tf-space-2) var(--tf-space-3);gap:var(--tf-space-1);border:1px dashed var(--tf-color-accent);border-radius:var(--tf-radius-md);font-size:var(--tf-text-body-sm-size);color:var(--tf-color-text-primary);margin:0;list-style:none;display:grid}.tf-summary-offer{padding-left:1.1em;position:relative}.tf-summary-offer:before{color:var(--tf-color-accent);font-weight:700;position:absolute;left:0}.tf-summary-offer.is-applies:before{content:"✓"}.tf-summary-offer.is-code:before{content:"%"}.tf-summary-offer.is-more:before{content:"+"}.tf-book-canvasfirst .tf-summary-offers{color:var(--tf-bowl-ink)}.tf-book-chip-unit{font-family:var(--tf-font-sans);font-weight:var(--tf-weight-semibold)}.tf-book-unitpick-words{margin:0 0 var(--tf-space-3);color:var(--tf-color-text-secondary);font-size:var(--tf-text-body-sm-size)}.tf-book-unitpick{gap:var(--tf-space-2);flex-wrap:wrap;display:flex}.tf-book-unitpick-n{min-width:var(--tf-touch-min);min-height:var(--tf-touch-min);padding:0 var(--tf-space-3);border-radius:var(--tf-radius-md);border:1px solid var(--tf-color-border-strong);background:var(--tf-color-bg-surface);color:var(--tf-color-text-primary);font-family:var(--tf-font-mono);font-size:var(--tf-text-body-size);cursor:pointer}.tf-book-unitpick-on{border-color:var(--tf-color-accent);background:var(--tf-color-accent-wash)}.tf-book-unitpick-n:focus-visible{box-shadow:var(--tf-ring-focus);outline:none}.tf-book-boxes{gap:var(--tf-space-2);margin:0;padding:0;list-style:none;display:grid}.tf-book-boxpass{align-items:center;column-gap:var(--tf-space-3);padding:var(--tf-space-2) var(--tf-space-3);border-radius:var(--tf-radius-md);border:1px solid var(--tf-color-border-subtle);background:var(--tf-color-bg-surface);grid-template-columns:1fr auto;grid-template-areas:"name action""words action";display:grid}.tf-book-boxpass[data-visual=selected]{border-color:var(--tf-color-accent)}.tf-book-boxpass-name{font-weight:var(--tf-weight-semibold);color:var(--tf-color-text-primary);grid-area:name}.tf-book-boxpass-words{color:var(--tf-color-text-secondary);font-size:var(--tf-text-caption-size);grid-area:words}.tf-book-boxpass-btn{min-height:var(--tf-touch-min);padding:0 var(--tf-space-3);border-radius:var(--tf-radius-md);border:1px solid var(--tf-color-border-strong);background:var(--tf-color-bg-surface);color:var(--tf-color-text-primary);font-family:var(--tf-font-sans);font-size:var(--tf-text-body-sm-size);cursor:pointer;grid-area:action}.tf-book-boxpass-go{border-color:var(--tf-color-accent);color:var(--tf-color-accent)}.tf-book-boxpass-btn:disabled{opacity:.6;cursor:default}.tf-book-boxpass-state{color:var(--tf-color-text-muted);font-size:var(--tf-text-caption-size);grid-area:action}.tf-book-vfs-photo{width:100%;margin:0 0 var(--tf-space-2);border-radius:var(--tf-radius-md);cursor:zoom-in;background:0 0;border:none;padding:0;display:block;position:relative;overflow:hidden}.tf-book-vfs-photo img{object-fit:cover;width:100%;max-height:250px;display:block}.tf-book-vfs-photo-hint{right:var(--tf-space-2);bottom:var(--tf-space-2);padding:2px var(--tf-space-2);border-radius:var(--tf-radius-sm);background:var(--tf-bowl-scrim);color:var(--tf-bowl-ink-2);font-size:var(--tf-text-caption-size);position:absolute}.tf-book-vfs-full{z-index:60;cursor:zoom-out;background:#080c12eb;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.tf-book-vfs-full img{object-fit:contain;max-width:100vw;max-height:100vh}.tf-book-vfs-full-close{top:var(--tf-space-3);right:var(--tf-space-3);width:var(--tf-touch-min);height:var(--tf-touch-min);border-radius:var(--tf-radius-pill);background:var(--tf-bowl-fill);color:var(--tf-bowl-ink);cursor:pointer;border:none;position:absolute}
