:root{--ink:#0b0b0f;--ink-soft:#2a2a33;--paper:#fff;--paper-2:#f7f6fb;--line:#e9e6f2;--line-strong:#d8d4e6;--lav-100:#f0ecff;--lav-200:#e3dbff;--lav-300:#cfc2ff;--lav-500:#b7a7ff;--lav-700:#8f78f0;--lav-900:#6a4fe0;--lav-rgb:183 167 255;--lav-900-rgb:106 79 224;--lava-strength:.24;--glass:color-mix(in srgb, var(--paper) 60%, transparent);--scroll-thumb:color-mix(in srgb, var(--lav-700) 42%, transparent);--scroll-thumb-hover:color-mix(in srgb, var(--lav-700) 68%, transparent);--muted:#6c6a7a;--on-accent:#0b0b0f;--shadow:0 10px 30px -12px #0b0b0f29;--shadow-sm:0 2px 10px -3px #0b0b0f1a;--r-lg:24px;--r-md:14px;--r-sm:10px;--r-pill:999px;--s-1:2px;--s-2:4px;--s-3:6px;--s-4:8px;--s-5:10px;--s-6:12px;--s-7:16px;--s-8:clamp(18px, .3vw + 14px, 24px);--s-9:clamp(20px, .55vw + 16px, 28px);--s-10:clamp(28px, .7vw + 22px, 40px);--s-11:clamp(32px, .9vw + 27px, 48px);--s-12:clamp(40px, 1.1vw + 32px, 60px);--s-13:clamp(56px, 1.4vw + 44px, 76px);--s-14:clamp(80px, 1.8vw + 70px, 112px);--gutter-w:clamp(64px, .8vw + 52px, 76px);--day-w:clamp(112px, 1.4vw + 92px, 132px);--row-h:clamp(32px, .35vw + 29px, 40px);--control-h:clamp(40px, .34vw + 39px, 48px);--icon-btn:clamp(34px, .34vw + 29px, 44px);--ease:cubic-bezier(.25, .7, .3, 1)}html[data-theme=dark]{--ink:#f4f2fa;--ink-soft:#cbc8d8;--paper:#0b0b0f;--paper-2:#14141c;--line:#23232e;--line-strong:#363544;--muted:#9a97a8;--lav-100:#1b1830;--lav-200:#262044;--lav-300:#332a58;--lav-900:#cbbfff;--lav-900-rgb:203 191 255;--lava-strength:.2;--glass:color-mix(in srgb, var(--paper) 56%, transparent);--scroll-thumb:color-mix(in srgb, var(--lav-500) 34%, transparent);--scroll-thumb-hover:color-mix(in srgb, var(--lav-500) 58%, transparent)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:clamp(15px,.11vw + 14.4px,17px)}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.5}h1,h2,h3{letter-spacing:-.02em;font-weight:700}.muted{color:var(--muted)}.btn{border-radius:var(--r-pill);padding:var(--s-6) var(--s-9);font:inherit;color:var(--on-accent);background:var(--lav-500);cursor:pointer;transition:transform .14s var(--ease), background .14s var(--ease), box-shadow .14s var(--ease), opacity .14s var(--ease);border:none;font-size:.95rem;font-weight:600}.btn:hover:not(:disabled){background:var(--lav-700);color:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--lav-900);outline-offset:2px}.btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--lav-100);color:var(--ink);box-shadow:inset 0 0 0 1px var(--lav-300)}.btn-sm{padding:var(--s-4) var(--s-7);font-size:.85rem}.ext-link{color:var(--lav-900);text-underline-offset:2px;overflow-wrap:anywhere;text-decoration:underline}.ext-link:hover{color:var(--lav-700)}.ext-link:focus-visible{outline:2px solid var(--lav-900);outline-offset:2px}.person{align-items:center;gap:var(--s-4);min-width:0;color:inherit;text-decoration:none;display:inline-flex}.person-link:hover .person-name{text-decoration:underline}.person-avatar{object-fit:cover;background:var(--lav-100);border-radius:50%;flex:none}.person-avatar.is-initial{color:var(--lav-900);justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:inline-flex}.person-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.person-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.person-handle{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.book-host{align-items:center;gap:var(--s-4);display:flex}.roster{margin:var(--s-3) 0 0;gap:var(--s-3);flex-direction:column;padding:0;list-style:none;display:flex}.roster li{justify-content:space-between;align-items:center;gap:var(--s-6);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-3) var(--s-6);display:flex}.roster-when{color:var(--muted);white-space:nowrap;font-size:.85rem}.slot-btn.is-booked{align-items:center;gap:var(--s-4);text-align:left;cursor:default;display:inline-flex}.slot-btn .slot-time{font-variant-numeric:tabular-nums}.text-input,.select{border:1px solid var(--line-strong);border-radius:var(--r-md);width:100%;min-width:0;max-width:100%;padding:var(--s-6) var(--s-7);font:inherit;color:var(--ink);background:var(--paper);transition:border-color .14s var(--ease), box-shadow .14s var(--ease)}.text-input:focus,.select:focus{border-color:var(--lav-700);box-shadow:0 0 0 3px var(--lav-200);outline:none}.text-input::placeholder{color:var(--muted);opacity:.7}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 15px);background-repeat:no-repeat;background-size:5px 5px}.field{gap:var(--s-3);flex-direction:column;display:flex}.field-label{color:var(--ink-soft);font-size:.85rem;font-weight:600}.field-hint{min-width:0;color:var(--muted);font-size:.8rem}.field-error{color:var(--ink);font-size:.8rem;font-weight:600}.privacy-note{align-items:flex-start;gap:var(--s-4);min-width:0;margin:var(--s-5) 0 0;padding:var(--s-5) var(--s-6);border:1px solid var(--lav-200);border-radius:var(--r-md);background:var(--lav-100);color:var(--lav-900);font-size:.82rem;line-height:1.35;display:flex}.privacy-note svg{flex:none;margin-top:1px}.handle-input{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--paper);padding:0 var(--s-7);transition:border-color .14s var(--ease), box-shadow .14s var(--ease);align-items:center;display:flex}.handle-input:focus-within{border-color:var(--lav-700);box-shadow:0 0 0 3px var(--lav-200)}.handle-input .text-input{box-shadow:none;padding-left:var(--s-3);border:none}.handle-input .text-input:focus{box-shadow:none}.at-prefix{color:var(--muted);font-weight:600}.toggle-row{justify-content:space-between;align-items:center;gap:var(--s-7);padding:var(--s-5) 0;display:flex}.toggle-text{gap:var(--s-1);flex-direction:column;display:flex}.toggle-label{font-size:.95rem;font-weight:600}.toggle{border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--paper);cursor:pointer;width:48px;height:28px;transition:background .16s var(--ease), border-color .16s var(--ease);flex:none;position:relative}.toggle-knob{background:var(--ink);width:20px;height:20px;transition:transform .16s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px}.toggle.is-on{background:var(--lav-500);border-color:var(--lav-500)}.toggle.is-on .toggle-knob{transform:translate(20px)}.app{min-height:100vh;flex-direction:column;min-height:100dvh;display:flex}.lava{z-index:-1;pointer-events:none;position:fixed;inset:-30%;overflow:hidden}.lava span{--blob-alpha:.8;background: radial-gradient(52% 48% at 34% 26%, rgb(var(--lav-rgb) / calc(var(--lava-strength) * var(--blob-alpha) * .55)), transparent 72%),  radial-gradient(116% 116% at 68% 78%, rgb(var(--lav-rgb) / calc(var(--lava-strength) * var(--blob-alpha))), rgb(var(--lav-rgb) / calc(var(--lava-strength) * var(--blob-alpha) * .4)) 58%, transparent 80%);box-shadow: inset 0 0 0 1px rgb(var(--lav-900-rgb) / .28), inset 0 -40px 80px rgb(var(--lav-rgb) / .2);filter:blur(16px);will-change:transform, opacity;border-radius:44% 56% 58% 42%/54% 46%;display:block;position:absolute}.topbar{z-index:10;padding:var(--s-7) var(--s-10);background:var(--paper);background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.wordmark{align-items:center;gap:var(--s-4);letter-spacing:-.03em;color:var(--lav-900);background:var(--lav-100);border:1px solid var(--lav-200);border-radius:var(--r-pill);padding:var(--s-3) var(--s-7);cursor:pointer;transition:color .14s var(--ease), background .14s var(--ease), border-color .14s var(--ease);font-size:1.25rem;font-weight:700;display:inline-flex}.wordmark:hover{background:var(--lav-200);border-color:var(--lav-300)}.wordmark:focus-visible{outline:2px solid var(--lav-900);outline-offset:2px}.topbar-nav{align-items:center;gap:var(--s-5);display:flex}.icon-btn{width:var(--icon-btn);height:var(--icon-btn);color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;transition:color .14s var(--ease), background .14s var(--ease), border-color .14s var(--ease);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.icon-btn:hover:not(:disabled){background:var(--lav-100);border-color:var(--lav-300)}.icon-btn:focus-visible{outline:2px solid var(--lav-900);outline-offset:2px}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn-account{border-color:var(--line)}.icon-btn-account .person-avatar{border-radius:50%}.icon-btn:after{content:attr(data-tip);z-index:30;padding:var(--s-3) 9px;border-radius:var(--r-sm);background:var(--ink);color:var(--paper);white-space:nowrap;box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;transition:opacity .12s var(--ease), transform .12s var(--ease);font-size:.78rem;font-weight:500;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-2px)}.icon-btn:hover:after,.icon-btn:focus-visible:after{opacity:1;transform:translateY(0)}.stage{width:100%;max-width:clamp(1080px,60vw + 220px,1400px);padding:var(--s-9) var(--s-10) calc(var(--s-14) + env(safe-area-inset-bottom,0px));background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(1.35);backdrop-filter:blur(14px)saturate(1.35);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex:1;margin:0 auto}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.stage{background:var(--paper)}}@media (min-width:641px){.topbar{margin-bottom:var(--s-10)}.app{padding-bottom:calc(var(--s-14) + env(safe-area-inset-bottom,0px))}.stage{width:min(var(--col-list), var(--col-max));transition:width .22s var(--ease);padding-bottom:var(--s-9);flex:0 auto}:is(.stage:has(.view[data-view=landing]),.stage:has(.view[data-view=create]),.stage:has(.view[data-view=eventTypeCreate]),.stage:has(.view[data-view=book])){width:min(var(--col-form), var(--col-max))}:is(.stage:has(.view[data-view=respond]),.stage:has(.view[data-view=results])){width:min(var(--col-grid), var(--col-max))}}:root{--col-form:clamp(460px, 3vw + 437px, 560px);--col-list:clamp(620px, 7vw + 619px, 880px);--col-grid:calc(var(--gutter-w) + 7 * var(--day-w) + 10px + 2 * var(--s-10) + 8px);--col-max:calc(100vw - 2 * var(--s-10) - 2px - 16px)}.view{animation:view-in .2s var(--ease);width:100%}@keyframes view-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.boot{min-height:100vh;justify-content:center;align-items:center;gap:var(--s-8);flex-direction:column;min-height:100dvh;display:flex}.boot-word{letter-spacing:-.03em;font-size:1.6rem;font-weight:700}.spinner{border:2px solid var(--lav-200);border-top-color:var(--lav-700);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin;display:inline-block}.spinner-sm{border-width:2px;width:15px;height:15px}.boot-failed{gap:var(--s-5);padding:var(--s-9);text-align:center}.boot-error{margin:var(--s-3) 0 0;font-weight:600}.boot-detail{max-width:560px;color:var(--muted);word-break:break-word;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.boot-failed .field-hint{max-width:460px}.boot-failed .btn{margin-top:var(--s-4)}.empty-art{margin:var(--s-2) 0 var(--s-5);color:var(--lav-300);justify-content:center;display:flex}.empty-art svg{width:54px;height:54px;animation:7s ease-in-out infinite breathe}@keyframes breathe{50%{transform:scale(1.05)}}@keyframes spin{to{transform:rotate(360deg)}}.landing{text-align:center;padding:var(--s-13) var(--s-7) var(--s-10);justify-content:center;align-items:center;gap:var(--s-5);flex-direction:column;display:flex}.topbar .wordmark svg{width:20px;height:20px}.wordmark-lg svg{width:.88em;height:.88em;color:var(--lav-900)}.wordmark-lg{letter-spacing:-.04em;align-items:center;gap:.16em;margin:0;font-size:clamp(2.6rem,7vw,4rem);font-weight:700;display:inline-flex}.tagline{color:var(--muted);margin:0 0 var(--s-5);font-size:1.15rem}.signin{text-align:left;width:100%;max-width:420px}.landing-who{color:var(--muted);margin:var(--s-3) 0 0}.landing-actions{margin-top:var(--s-7)}.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-10);gap:var(--s-8);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.card-section{border-top:1px solid var(--line);padding-top:var(--s-7);gap:var(--s-7);flex-direction:column;display:flex}.section-title{margin:0 0 var(--s-8);font-size:1.5rem}.grid-2{gap:var(--s-7);grid-template-columns:1fr 1fr;display:grid}.form-actions{gap:var(--s-6);margin-top:var(--s-2);align-items:center;display:flex}.panel-head{margin-bottom:var(--s-7)}.panel-title{align-items:center;gap:var(--s-5);display:flex}.panel-head h2{margin:0;font-size:1.6rem}.panel-desc{color:var(--ink-soft);margin:var(--s-4) 0 0}.panel-meta{color:var(--muted);margin:var(--s-4) 0 0;font-size:.85rem}.badge{background:var(--lav-100);color:var(--lav-900);letter-spacing:.02em;text-transform:uppercase;border-radius:var(--r-pill);padding:var(--s-2) var(--s-5);font-size:.72rem;font-weight:700}.badge-ghost{background:var(--paper-2);color:var(--muted);border:1px solid var(--line)}.my-polls{max-width:640px}.poll-list{gap:var(--s-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.poll-row{justify-content:space-between;align-items:center;gap:var(--s-7);text-align:left;width:100%;font:inherit;cursor:pointer;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-7) var(--s-8);transition:border-color .14s var(--ease), box-shadow .14s var(--ease);display:flex}.poll-row:hover{border-color:var(--lav-300);box-shadow:var(--shadow-sm)}.poll-row-item{align-items:center;gap:var(--s-4);display:flex}.poll-row-item .poll-row{flex:1;min-width:0}.confirm-row{align-items:center;gap:var(--s-3);flex:none;display:inline-flex}.poll-row-main{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.poll-row-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.poll-row-meta{color:var(--muted);font-size:.85rem}.poll-row-side{align-items:flex-end;gap:var(--s-3);flex-direction:column;flex:none;display:flex}.poll-row-slots{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.home{max-width:720px}.home-head{margin-bottom:var(--s-9)}.home-title{margin:0 0 var(--s-2);font-size:1.5rem}.home-head .muted{margin:0}.home-section+.home-section{margin-top:var(--s-10)}.home-section .section-title{margin:0 0 var(--s-6);font-size:1.15rem}.legend{color:var(--muted);margin:var(--s-6) 0;font-size:.9rem}.cal-scroll{scrollbar-gutter:stable;padding-bottom:var(--s-3);max-height:calc(100vh - 340px);-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 340px);overflow:auto}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:var(--r-pill);background-clip:content-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);border-radius:var(--r-pill);background-clip:content-box;border:2px solid #0000}.respond,.results{max-width:calc(var(--gutter-w) + var(--day-count,7) * var(--day-w));margin-inline:auto}.cal{border-collapse:separate;border-spacing:0;table-layout:fixed;width:auto;max-width:100%;min-width:calc(var(--gutter-w) + var(--day-count,7) * var(--day-w));margin-inline:auto}.cal th,.cal td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cal th:last-child,.cal td:last-child{border-right:none}.cal tr:last-child th,.cal tr:last-child td{border-bottom:none}.cal-corner{z-index:4;background:var(--paper);width:var(--gutter-w);height:calc(var(--row-h) + 10px);position:sticky;top:0;left:0}.cal-day{z-index:3;background:var(--paper);padding:var(--s-5) var(--s-6);height:calc(var(--row-h) + 10px);color:var(--ink-soft);text-align:center;white-space:nowrap;font-size:.8rem;font-weight:600;position:sticky;top:0}.cal-time{z-index:2;background:var(--paper);padding:0 var(--s-6);color:var(--muted);text-align:right;white-space:nowrap;width:var(--gutter-w);font-size:.75rem;font-weight:500;position:sticky;left:0}.cal-cell{height:var(--row-h);background:var(--paper-2);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;transition:background .12s var(--ease), transform .12s var(--ease);position:relative}.cal-cell--void{background:repeating-linear-gradient(45deg, var(--paper), var(--paper) 6px, var(--paper-2) 6px, var(--paper-2) 12px);cursor:default}.cal.is-interactive .cal-cell:hover{background:var(--lav-100)}.cal.is-interactive .cal-cell.is-selected{background:var(--lav-500);animation:pop .16s var(--ease)}.cal.is-interactive .cal-cell.is-selected:hover{background:var(--lav-500)}@keyframes pop{0%{transform:scale(.82)}to{transform:scale(1)}}.cal.is-heat .cal-cell{cursor:default;touch-action:auto}.cal-cell.is-heat{background:rgb(var(--lav-rgb) / var(--heat,0))}.cal-cell.is-self{box-shadow:inset 0 0 0 2px var(--ink)}.cal-wrap{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);width:max-content;margin-inline:auto;position:relative;overflow:hidden}.cal-ghost{transform-origin:0 0;z-index:1;pointer-events:none;opacity:0;background:rgb(var(--lav-rgb) / .42);width:100px;height:100px;transition:opacity 90ms var(--ease);will-change:transform;border-radius:4%;position:absolute;top:0;left:0}.cal-ghost.is-on{opacity:1}.cal-wrap.is-dragging .cal.is-interactive .cal-cell.is-selected:not(.is-settling){animation:none}.cal.is-interactive .cal-cell.is-settling{animation:cell-settle .2s var(--ease) both;animation-delay:var(--settle-delay,0s)}@keyframes cell-settle{0%{opacity:0;transform:scale(.86)}}.counter{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.panel-foot{align-items:center;gap:var(--s-6);margin-top:var(--s-7);flex-wrap:wrap;display:flex}.foot-spacer{flex:1}.saved-pill{align-items:center;gap:var(--s-4);background:var(--lav-100);color:var(--lav-900);border-radius:var(--r-pill);padding:var(--s-4) var(--s-7);margin-bottom:var(--s-7);animation:view-in .18s var(--ease);font-size:.9rem;font-weight:600;display:inline-flex}.saved-pill:before{content:"";background:var(--lav-700);border-radius:50%;width:8px;height:8px}.saved-card{margin-bottom:var(--s-2)}.saved-count{margin:0}.saved-list{margin:var(--s-6) 0 0;gap:var(--s-3);scrollbar-gutter:stable;flex-direction:column;max-height:220px;padding:0;list-style:none;display:flex;overflow:auto}.saved-list li{gap:var(--s-6);font-size:.9rem;display:flex}.saved-day{color:var(--ink-soft);flex:none;min-width:96px;font-weight:600}.saved-times{color:var(--muted)}.results-stats{justify-content:space-between;align-items:center;gap:var(--s-7);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.stat{align-items:baseline;gap:var(--s-4);display:flex}.stat-num{letter-spacing:-.02em;font-size:1.8rem;font-weight:700}.stat-label{color:var(--muted);font-size:.9rem}.heat-key{align-items:center;gap:var(--s-3);display:flex}.heat-key-swatch{width:14px;height:14px;box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:4px}.heat-key-swatch.s1{background:rgb(var(--lav-rgb) / .3)}.heat-key-swatch.s2{background:rgb(var(--lav-rgb) / .6)}.heat-key-swatch.s3{background:rgb(var(--lav-rgb) / .95)}.heat-key-label{margin-left:var(--s-2)}.results-note{color:var(--muted);margin-top:var(--s-6);font-size:.85rem}.busy-pill{bottom:calc(20px + env(safe-area-inset-bottom,0px));align-items:center;gap:var(--s-5);background:var(--ink);color:var(--paper);border-radius:var(--r-pill);padding:var(--s-5) var(--s-8);box-shadow:var(--shadow);z-index:30;animation:view-in .16s var(--ease);font-size:.9rem;display:flex;position:fixed;left:50%;transform:translate(-50%)}.banner-error{align-items:center;gap:var(--s-6);background:var(--ink);color:var(--paper);padding:var(--s-5) var(--s-10);justify-content:space-between;font-size:.9rem;display:flex}.banner-close{color:var(--paper);cursor:pointer;padding:0 var(--s-2);background:0 0;border:none;font-size:1.2rem;line-height:1}.banner-error>span{flex:1}.banner-action{border-radius:var(--r-pill);color:inherit;font:inherit;padding:var(--s-2) var(--s-6);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid;font-size:.85rem}.banner-action:hover{background:color-mix(in srgb, var(--paper) 18%, transparent)}.my-bookings{max-width:720px}.booking-row{justify-content:space-between;align-items:flex-start;gap:var(--s-7);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-7) var(--s-8);display:flex}.poll-list li.is-cancelled .booking-row{opacity:.6}.poll-list li.is-cancelled .poll-row-title{text-decoration:line-through}.booking-actions{gap:var(--s-4);display:flex}.booking-link{align-items:center;gap:var(--s-5);flex-wrap:wrap;display:flex}.booking-link-url{min-width:0;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-5) var(--s-6);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;overflow:hidden}.invite-form{gap:var(--s-4);flex-direction:column;display:flex}.invite-row{align-items:center;gap:var(--s-5);display:flex}.invite-row .text-input{flex:auto;min-width:0}.invite-result{font-weight:600}.invite-members{gap:var(--s-3);margin-top:var(--s-7);flex-direction:column;display:flex}.invite-member-list{margin:var(--s-2) 0 0;gap:var(--s-3);flex-direction:column;padding:0;list-style:none;display:flex}.invite-member-list li{justify-content:space-between;align-items:center;gap:var(--s-5);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-6);font-size:.9rem;display:flex}.invite-member-name{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);overflow:hidden}.weekday-picker{border:0;border-top:1px solid var(--line);padding:var(--s-7) 0 0;gap:var(--s-5);border-radius:0;flex-direction:column;margin:0;display:flex}.weekday-row{gap:var(--s-4);flex-wrap:wrap;display:flex}.weekday-option{align-items:center;gap:var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:var(--s-3) var(--s-7);color:var(--ink-soft);cursor:pointer;transition:background .14s var(--ease), border-color .14s var(--ease);font-size:.85rem;font-weight:600;display:inline-flex}.weekday-option.is-on{background:var(--lav-100);border-color:var(--lav-300);color:var(--lav-900)}.weekday-option input{accent-color:var(--lav-700)}.bk-cal{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);padding:var(--s-5)}.bk-cal-head{justify-content:space-between;align-items:center;gap:var(--s-4);margin-bottom:var(--s-3);display:flex}.bk-month-label{text-align:center;margin:0;font-size:1rem}.bk-nav{width:var(--control-h);height:var(--control-h);font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-pill);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:1.35rem;line-height:1;display:inline-flex}.bk-nav:hover:not(:disabled){background:var(--lav-100);border-color:var(--lav-300)}.bk-nav:disabled{opacity:.35;cursor:not-allowed}.bk-nav:focus-visible{outline:2px solid var(--lav-900);outline-offset:2px}.bk-grid{border-collapse:separate;border-spacing:2px 4px;table-layout:fixed;width:100%}.bk-grid th{padding:var(--s-1) 0;color:var(--muted);font-size:.72rem;font-weight:600}.bk-cell,.bk-cell-empty{padding:0}.bk-day{width:100%;min-height:var(--control-h);padding:var(--s-2) var(--s-1);font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s var(--ease), border-color .12s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:.9rem;font-weight:600;display:flex}.bk-day-num{line-height:1.1}.bk-day-count{color:var(--lav-900);font-size:.68rem;font-weight:600;line-height:1}.bk-day.is-open{background:rgb(var(--lav-rgb) / var(--weight,.12));border-color:var(--lav-300)}.bk-day.is-open:hover{border-color:var(--lav-700)}.bk-day.is-open:focus-visible,.bk-day.is-active:focus-visible{outline:2px solid var(--lav-900);outline-offset:2px}.bk-day.is-active{background:var(--lav-500);border-color:var(--lav-500);color:var(--on-accent)}.bk-day.is-active .bk-day-count{color:var(--on-accent)}.bk-day.is-today{box-shadow:inset 0 0 0 1px var(--ink)}.bk-day.is-full,.bk-day.is-off,.bk-day.is-outside{cursor:not-allowed}.bk-day.is-full{color:var(--lav-900);background:var(--lav-100);border:1px dashed var(--lav-900)}.bk-day.is-off,.bk-day.is-outside{color:var(--muted);background:var(--paper-2);border-color:var(--line)}.bk-empty-month{margin:var(--s-5) 0 0}.bk-times{margin-top:var(--s-7)}.bk-times-title{margin:0 0 var(--s-4);color:var(--ink-soft);font-size:.95rem}.bk-prompt{margin:var(--s-7) 0 0}.book-tz{margin:0 0 var(--s-6)}.slot-buttons{gap:var(--s-4);flex-wrap:wrap;display:flex}.slot-btn{font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:var(--s-4) var(--s-7);min-height:var(--control-h);cursor:pointer;transition:background .14s var(--ease), border-color .14s var(--ease), color .14s var(--ease);font-size:.9rem;font-weight:600}.slot-btn:hover:not(:disabled){background:var(--lav-100);border-color:var(--lav-300)}.slot-btn:focus-visible{outline:2px solid var(--lav-900);outline-offset:2px}.slot-btn.is-picked{background:var(--lav-500);border-color:var(--lav-500);color:var(--on-accent);animation:pop .16s var(--ease)}.slot-btn.is-taken,.slot-btn:disabled{color:var(--lav-900);background:var(--lav-100);border:1px dashed var(--lav-900);text-decoration:line-through;-webkit-text-decoration-color:var(--lav-900);text-decoration-color:var(--lav-900);cursor:not-allowed}.book-confirm{margin-top:var(--s-8)}.book-confirm-title{margin:0;font-size:1.05rem}.book-subtitle{margin:var(--s-10) 0 0;font-size:1rem}.cal .cal-cell.is-disabled{background:repeating-linear-gradient(45deg, var(--paper) 0 3px, var(--lav-900) 3px 7px);cursor:not-allowed}@media (max-width:640px){:root{--gutter-w:56px;--day-w:104px}.grid-2{grid-template-columns:1fr}.topbar{padding:var(--s-6) var(--s-7);row-gap:var(--s-4);flex-wrap:wrap}.topbar-nav{justify-content:flex-end;gap:var(--s-4);flex-wrap:wrap;min-width:0}.topbar .wordmark svg{display:none}.stage{padding:var(--s-7) var(--s-7) 84px}.card{padding:var(--s-8)}.cal-cell{height:30px}.cal-scroll{max-height:calc(100vh - 300px);max-height:calc(100dvh - 300px)}.bk-cal{padding:var(--s-4) var(--s-2);margin-inline:-8px}.bk-grid{border-spacing:2px 4px}.bk-day{padding:var(--s-2) 0;font-size:.85rem}.bk-day-count{font-size:.64rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@media (pointer:coarse){.icon-btn:before{content:"";border-radius:50%;position:absolute;inset:-4px}.banner-close{padding:var(--s-4) var(--s-5)}.text-input,.select{font-size:16px}.cal-cell{touch-action:pan-x}}
