.book-page{padding-block:var(--space-2xl) var(--space-3xl)}.book-grid{display:grid;gap:var(--space-xl)}.book-page h1{font-family:var(--font-display);font-weight:400;font-size:var(--type-h2);line-height:1.05;letter-spacing:-.03em;margin:0 0 var(--space-md);max-width:12ch}.book-intro{max-width:30ch;margin:0;font-size:var(--type-lede);line-height:1.5;color:var(--color-ink-2)}.book-aside-lead{margin:0 0 var(--space-xs);font-weight:600}.book-agenda{margin:0 0 var(--space-lg);padding:0;list-style:none;color:var(--color-ink-2);max-width:32ch}.book-agenda li{position:relative;padding-left:1.1rem;margin-bottom:var(--space-2xs);line-height:1.45}.book-agenda li:before{content:"";position:absolute;left:0;top:.6em;width:.4rem;height:.4rem;background:var(--color-ink)}.book-noscript{margin:0;font-size:var(--type-body);color:var(--color-ink-2)}@media (min-width:60rem){.book-grid{grid-template-columns:minmax(0,20rem) minmax(0,36rem);grid-template-rows:auto 1fr;column-gap:clamp(3rem,6vw,6rem);row-gap:var(--space-2xl);align-items:start}.book-head{grid-column:1;grid-row:1}.book-aside{grid-column:1;grid-row:2}.book-panel{grid-row:1/span 2}.book-noscript,.book-panel{grid-column:2}}.book-panel{position:relative;min-width:0}.book-panel .fb-root{--fb-font:var(--font-ui);--fb-fg:var(--color-ink);--fb-muted:var(--color-ink-2);--fb-bg:var(--color-ground);--fb-surface:var(--color-ground);--fb-border:var(--color-rule);--fb-accent:var(--color-accent-ink);--fb-accent-fg:var(--color-ground);--fb-radius:0.6rem;--fb-gap:var(--space-md);max-width:none;margin:0;padding:var(--space-xl);overflow:visible;border:2px solid var(--color-ink);border-radius:1.25rem;box-shadow:6px 6px 0 var(--color-ink)}.book-panel .fb-heading{font-family:var(--font-display);font-weight:400;font-size:var(--type-h3);letter-spacing:-.02em;margin-bottom:var(--space-md)}.book-panel .fb-heading:focus{outline:none}.book-panel .fb-subheading{font-family:var(--font-ui);font-weight:600;font-size:var(--type-body);margin:var(--space-lg) 0 var(--space-2xs)}.book-panel .fb-label{font-size:var(--type-small);font-weight:500;color:var(--color-ink-2)}.book-panel .fb-day-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.25rem,1fr));gap:var(--space-xs);margin-bottom:0}.book-panel .fb-day{display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:0;padding:.55rem .25rem .5rem;border:1.5px solid var(--color-rule);border-radius:.75rem;background:var(--color-ground);color:var(--color-ink);transition:border-color .14s var(--ease-out),transform .14s var(--ease-out),box-shadow .14s var(--ease-out)}.book-panel .fb-day-month,.book-panel .fb-day-week{font-size:.75rem;font-weight:600;color:var(--color-ink-2)}.book-panel .fb-day-num{font-family:var(--font-display);font-weight:400;font-size:1.6rem;line-height:1.05;letter-spacing:-.02em}.book-panel .fb-day[aria-pressed=true]{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-ground)}.book-panel .fb-day[aria-pressed=true] .fb-day-month,.book-panel .fb-day[aria-pressed=true] .fb-day-week{color:var(--color-on-dark-2)}.book-panel .fb-time-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));gap:var(--space-xs);margin-bottom:0}.book-panel .fb-time{border:1.5px solid var(--color-rule);border-radius:.6rem;background:var(--color-ground);color:var(--color-ink);font-weight:600;font-variant-numeric:tabular-nums;transition:border-color .14s var(--ease-out),transform .14s var(--ease-out),box-shadow .14s var(--ease-out)}.book-panel .fb-time[aria-pressed=true]{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-ground)}@media (hover:hover) and (pointer:fine){.book-panel .fb-day:hover:not([aria-pressed=true]):not(:disabled),.book-panel .fb-time:hover:not([aria-pressed=true]):not(:disabled){border-color:var(--color-ink);transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--color-ink)}}.book-panel .fb-ticket{margin:0 0 var(--space-lg);padding:var(--space-lg) var(--space-lg) var(--space-md);border:2px solid var(--color-ink);border-radius:1rem;background:radial-gradient(120% 120% at 90% 0,#fcae7c 0,var(--color-accent) 50%,#e5581b 100%);color:var(--color-ink);box-shadow:5px 5px 0 var(--color-ink)}.book-panel .fb-ticket-date{font-size:var(--type-body);font-weight:600;color:var(--color-ink)}.book-panel .fb-ticket-time{margin-top:.15rem;font-family:var(--font-display);font-weight:400;font-size:clamp(2.1rem,1.6rem + 2vw,2.9rem);line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.book-panel .fb-ticket-zone{font-family:var(--font-ui);font-size:var(--type-body);font-weight:600;letter-spacing:0;color:var(--color-ink)}.book-panel .fb-ticket-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm)}.book-panel .fb-ticket .fb-text-btn{min-height:44px;padding:0;color:var(--color-ink);font-weight:600;text-decoration-thickness:1.5px;text-underline-offset:.2em}.book-panel .fb-ticket-link{display:inline-flex;align-items:center;min-height:44px;padding:0 1.1rem;border-radius:.6rem;background:var(--color-ink);color:var(--color-ground);font-weight:600;text-decoration:none}.book-panel .fb-field{margin-bottom:var(--space-md)}.book-panel .fb-field .fb-label{font-weight:600;color:var(--color-ink);margin-bottom:var(--space-2xs)}.book-panel .fb-input{border:1.5px solid var(--color-rule);border-radius:.6rem;background:#fffdf8;font-size:var(--type-body)}.book-panel .fb-input:focus{border-color:var(--color-ink)}.book-panel .fb-primary{min-height:3.25rem;margin-top:var(--space-xs);border:2px solid var(--color-ink);border-radius:.6rem;background:var(--color-ink);color:var(--color-ground);font-size:1.0625rem;font-weight:600;transition:transform .14s var(--ease-out)}.book-panel .fb-primary:active:not(:disabled){transform:scale(.985)}.book-panel .fb-primary:disabled{opacity:.4}.book-panel .fb-secondary{border:2px solid var(--color-ink);border-radius:.6rem;background:var(--color-ground);color:var(--color-ink);font-weight:600}.book-panel .fb-danger{border:2px solid var(--color-accent-ink);border-radius:.6rem;background:var(--color-accent-ink);color:var(--color-ground);font-weight:600}.book-panel .fb-link,.book-panel .fb-text-btn{color:var(--color-accent-ink);font-weight:600}.book-panel .fb-alert{border:0;border-left:4px solid var(--color-accent);border-radius:0;background:var(--color-ground-2);color:var(--color-ink)}.book-panel .fb-muted,.book-panel .fb-note{color:var(--color-ink-2)}.book-panel .fb-cancel{margin-top:var(--space-xs)}.book-panel .fb-cancel>.fb-secondary{border-color:transparent;background:none;color:var(--color-accent-ink);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.2em}.book-panel .fb-slot-list{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1.5px solid var(--color-rule)}@media (max-width:40rem){.book-page{padding-block:var(--space-lg) var(--space-2xl)}.book-panel .fb-root{padding:var(--space-lg) var(--space-md);box-shadow:4px 4px 0 var(--color-ink)}.book-panel .fb-day-row{display:flex;flex-wrap:nowrap;gap:var(--space-xs);overflow-x:auto;scroll-snap-type:x proximity;margin-inline:calc(-1 * var(--space-md));padding:2px var(--space-md) var(--space-xs);scrollbar-width:none}.book-panel .fb-day-row::-webkit-scrollbar{display:none}.book-panel .fb-day{flex:0 0 4.25rem;scroll-snap-align:start}.book-panel .fb-time-row{grid-template-columns:repeat(3,minmax(0,1fr))}.book-panel .fb-time{padding-inline:.25rem}}.book-panel .fb-time{white-space:nowrap}@media (prefers-reduced-motion:reduce){.book-panel .fb-day,.book-panel .fb-primary,.book-panel .fb-time{transition:none}}.est-check{display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs);min-width:0;max-width:100%;padding-top:var(--space-xs)}.est-check--idle{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.fb-root{--fb-font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--fb-fg:#1a1a1a;--fb-muted:#5c5c5c;--fb-bg:#f7f7f7;--fb-surface:#ffffff;--fb-border:#d8d8d8;--fb-accent:#2563eb;--fb-accent-fg:#ffffff;--fb-radius:10px;--fb-gap:12px;font-family:var(--fb-font);color:var(--fb-fg);background:var(--fb-bg);max-width:28rem;margin:0 auto;padding:var(--fb-gap);overflow-x:hidden}.fb-root,.fb-root *,.fb-root :after,.fb-root :before{box-sizing:border-box}.fb-heading,.fb-subheading{margin:0 0 var(--fb-gap);font-size:1.25rem;line-height:1.3}.fb-subheading{font-size:1.05rem}.fb-label{display:block;margin:0 0 calc(var(--fb-gap) / 2);font-size:.875rem}.fb-label,.fb-muted{color:var(--fb-muted)}.fb-muted{margin:0}.fb-day-row,.fb-time-row{display:flex;flex-wrap:wrap;gap:calc(var(--fb-gap) / 2);margin-bottom:var(--fb-gap)}.fb-danger,.fb-day,.fb-primary,.fb-secondary,.fb-time{min-height:44px;min-width:44px;padding:.5rem .875rem;font:inherit;border-radius:var(--fb-radius);border:1px solid var(--fb-border);background:var(--fb-surface);color:var(--fb-fg);cursor:pointer}.fb-day{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:3.75rem;line-height:1.1}.fb-day-month,.fb-day-week{font-size:.75rem;color:var(--fb-muted)}.fb-day-num{font-size:1.25rem;font-weight:600}.fb-ticket{margin-bottom:var(--fb-gap);padding:calc(var(--fb-gap) * 1.25);border-radius:var(--fb-radius);border:1px solid var(--fb-accent);background:color-mix(in srgb,var(--fb-accent) 8%,var(--fb-surface))}.fb-ticket-date,.fb-ticket-time{margin:0}.fb-ticket-date{font-size:.95rem;color:var(--fb-muted)}.fb-ticket-time{font-size:1.6rem;font-weight:600;line-height:1.2}.fb-ticket-zone{font-size:.95rem;font-weight:500;color:var(--fb-muted)}.fb-ticket-actions{margin-top:calc(var(--fb-gap) / 2)}.fb-ticket-link{color:var(--fb-accent);font-weight:600}.fb-day[aria-pressed=true],.fb-time[aria-pressed=true]{border-color:var(--fb-accent);background:color-mix(in srgb,var(--fb-accent) 12%,var(--fb-surface))}.fb-primary{width:100%;margin-top:var(--fb-gap);border-color:var(--fb-accent);background:var(--fb-accent);color:var(--fb-accent-fg);font-weight:600}.fb-primary:disabled{opacity:.55;cursor:not-allowed}.fb-danger,.fb-secondary{width:100%}.fb-danger{border-color:#b91c1c;background:#b91c1c;color:#fff}.fb-field{display:block;margin-bottom:var(--fb-gap)}.fb-input{display:block;width:100%;min-height:44px;padding:.5rem .75rem;font:inherit;border:1px solid var(--fb-border);border-radius:var(--fb-radius);background:var(--fb-surface);color:var(--fb-fg)}.fb-textarea{min-height:88px;resize:vertical}.fb-summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--fb-gap);margin-bottom:var(--fb-gap)}.fb-when{margin:0;font-weight:500}.fb-text-btn{min-height:44px;padding:.25rem .5rem;font:inherit;background:none;border:none;cursor:pointer}.fb-link,.fb-text-btn{color:var(--fb-accent);text-decoration:underline}.fb-alert{margin:0 0 var(--fb-gap);padding:var(--fb-gap);border-radius:var(--fb-radius);border:1px solid #f59e0b;background:#fffbeb;color:#92400e}.fb-note{color:var(--fb-muted)}.fb-cancel{margin-top:calc(var(--fb-gap) * 1.5)}.fb-cancel-confirm{display:flex;flex-direction:column;gap:calc(var(--fb-gap) / 2)}.fb-slot-list{margin-top:var(--fb-gap)}.fb-status{text-transform:capitalize;color:var(--fb-muted);margin:0 0 var(--fb-gap)}@media (max-width:320px){.fb-root{padding:8px}.fb-day,.fb-time{flex:1 1 calc(50% - 4px)}}