:root{--bg:#101010;--surface:#161616;--raised:#0b0b0b;--text:#f2f2f2;--text-2:#c9c9c9;--muted:#8f8f8f;--border:#2a2a2a;--border-strong:#3a3a3a;--open:#383838;--open-hover:#474747;--selected-bg:#fff;--selected-text:#101010;--available:#22c55e;--danger:#ff8a80;--radius:8px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--fast:.14s;--med:.26s;--slow:.42s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.5 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}h1,h2,h3{margin:0}h1:focus,h2:focus{outline:none}.muted{color:var(--muted)}a{color:var(--text)}:focus-visible{outline:2px solid var(--text);outline-offset:2px}.icon{flex:none;width:18px;height:18px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page{flex-direction:column;align-items:center;min-height:100vh;padding:64px 16px 40px;display:flex}.booker{background:var(--surface);border:1px solid var(--border);view-transition-name:booker;border-radius:12px;grid-template-columns:280px 1fr 260px;width:100%;max-width:1080px;min-height:520px;display:grid}.booker.split{grid-template-columns:300px 1fr;max-width:860px}.brand{view-transition-name:brand;margin-top:28px}.brand img{opacity:.75;width:104px;height:auto;transition:opacity var(--med) var(--ease-out);display:block}.brand img:hover{opacity:1}.summary{border-right:1px solid var(--border);view-transition-name:summary;padding:24px}.avatars{margin-bottom:12px;display:flex}.avatar{object-fit:cover;background:var(--open);border:2px solid var(--surface);box-sizing:content-box;border-radius:50%;width:36px;height:36px}.avatar+.avatar{margin-left:-10px}.host{color:var(--muted);margin:0 0 4px;font-size:.9rem;font-weight:600}.summary h1{margin-bottom:8px;font-size:1.35rem;font-weight:600;line-height:1.3}.desc{color:var(--text-2);margin:0 0 20px}.facts{gap:14px;display:grid}.fact{color:var(--text-2);align-items:flex-start;gap:10px;margin:0;font-weight:500;display:flex}.fact .icon{margin-top:2px}.fact.strong{color:var(--text)}.zone-pick{align-items:center}.zone-pick select{appearance:none;color:var(--text-2);font:inherit;cursor:pointer;text-overflow:ellipsis;max-width:200px;transition:color var(--fast) var(--ease-out);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9c9c9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") 100%/14px no-repeat;border:0;border-radius:4px;padding:2px 18px 2px 0;font-weight:500}.zone-pick select:hover:not(:disabled){color:var(--text)}.zone-pick select:disabled{cursor:default;background-image:none;padding-right:0}.zone-pick select option{background:var(--surface);color:var(--text)}.calendar{border-right:1px solid var(--border);padding:24px 24px 28px;overflow:hidden}.month-nav{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.month-nav h2{font-size:1.05rem;font-weight:600}.year{color:var(--muted);font-weight:500}.arrows{gap:4px;display:flex}.nav{cursor:pointer;width:32px;height:32px;color:var(--text-2);transition:background-color var(--fast) var(--ease-out), transform var(--fast) var(--ease-out), color var(--fast);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.nav:hover:not(:disabled){background:var(--open);color:var(--text)}.nav:active:not(:disabled){transform:scale(.9)}.nav:disabled{color:var(--border-strong);cursor:default}.grid,.weeks{gap:4px;display:grid}.row{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.dow{text-align:center;letter-spacing:.08em;color:var(--text-2);padding-bottom:14px;font-size:.72rem;font-weight:500}.cell{display:block}.date{aspect-ratio:1;border-radius:var(--radius);width:100%;color:var(--text-2);font:inherit;cursor:default;transition:background-color var(--med) var(--ease-out), color var(--med) var(--ease-out), transform var(--fast) var(--ease-out);background:0 0;border:0;font-size:.95rem;position:relative}.date.open{background:var(--open);color:var(--text);cursor:pointer;font-weight:600}.date.open:hover{background:var(--open-hover)}.date.open:active{transform:scale(.92)}.date.selected,.date.selected:hover{background:var(--selected-bg);color:var(--selected-text);animation:pop var(--slow) var(--ease-spring)}.date.today:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:14%;left:50%}.times{flex-direction:column;min-height:0;padding:20px 20px 24px;display:flex}.times-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.times h3{font-size:1rem;font-weight:600}.muted-strong{color:var(--text-2);font-weight:500}.clock-toggle{border-radius:var(--radius);background:var(--raised);border:1px solid var(--border);grid-template-columns:1fr 1fr;padding:3px;display:grid;position:relative}.clock-toggle .thumb{background:var(--open);width:calc(50% - 3px);transition:transform var(--med) var(--ease-out);border-radius:6px;position:absolute;top:3px;bottom:3px;left:3px}.clock-toggle[data-on="24"] .thumb{transform:translate(100%)}.clock-toggle button{color:var(--muted);font:inherit;cursor:pointer;transition:color var(--med) var(--ease-out);background:0 0;border:0;border-radius:6px;padding:3px 9px;font-size:.85rem;position:relative}.clock-toggle button.on{color:var(--text)}.times ul{gap:8px;max-height:470px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.times li{animation:rise var(--slow) var(--ease-out) both}.time{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--raised);width:100%;height:44px;color:var(--text);font:inherit;cursor:pointer;transition:border-color var(--fast) var(--ease-out), background-color var(--fast) var(--ease-out), transform var(--fast) var(--ease-out);justify-content:center;align-items:center;gap:10px;font-weight:500;display:flex}.time:hover{border-color:var(--text-2);background:#141414}.time:active{transform:scale(.97)}.dot{background:var(--available);width:8px;height:8px;transition:transform var(--med) var(--ease-spring);border-radius:50%}.time:hover .dot{transform:scale(1.35)}.details{padding:24px 28px 28px}.field{border:0;min-width:0;margin:0 0 18px;padding:0}label,legend{margin:0 0 6px;padding:0;font-size:.9rem;font-weight:600;display:block}input,textarea{border:1px solid var(--border-strong);background:var(--raised);width:100%;color:var(--text);font:inherit;transition:border-color var(--fast) var(--ease-out), box-shadow var(--fast) var(--ease-out);border-radius:10px;padding:10px 12px}input:hover,textarea:hover{border-color:#4a4a4a}input:focus,textarea:focus{border-color:var(--text-2);outline:none;box-shadow:0 0 0 3px #ffffff14}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted)}.guests .guest-row{animation:rise var(--med) var(--ease-out) both;gap:6px;margin-bottom:8px;display:flex}.select{border:1px solid var(--border-strong);background-color:var(--raised);width:100%;color:var(--text);font:inherit;appearance:none;cursor:pointer;transition:border-color var(--fast) var(--ease-out);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9c9c9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;border-radius:10px;padding:10px 36px 10px 12px}.select:hover{border-color:#4a4a4a}.select:focus{border-color:var(--text-2);outline:none;box-shadow:0 0 0 3px #ffffff14}.select option{background:var(--surface);color:var(--text)}.location-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.option{cursor:pointer;border:1px solid var(--border-strong);background:var(--raised);color:var(--text-2);transition:border-color var(--fast) var(--ease-out), color var(--fast), background-color var(--fast);border-radius:10px;align-items:center;gap:10px;margin:0;padding:12px 14px;font-weight:500;display:flex}.option:hover{color:var(--text);border-color:#4a4a4a}.option.on{border-color:var(--text-2);color:var(--text);background:#141414}.option input{opacity:0;width:1px;height:1px;position:absolute}.option:has(input:focus-visible){outline:2px solid var(--text);outline-offset:2px}.place{margin-top:12px}.icon-btn{color:var(--muted);cursor:pointer;transition:background-color var(--fast), color var(--fast);background:0 0;border:0;border-radius:10px;flex:0 0 40px;place-items:center;display:grid}.icon-btn:hover{background:var(--open);color:var(--text)}.add-guests{color:var(--text-2);font:inherit;border-radius:var(--radius);cursor:pointer;transition:background-color var(--fast) var(--ease-out), color var(--fast);background:0 0;border:0;align-items:center;gap:8px;margin-left:-10px;padding:8px 10px;font-weight:500;display:inline-flex}.add-guests:hover{background:var(--open);color:var(--text)}.error{color:var(--danger);animation:shake .36s var(--ease-out);margin:16px 0 0}.actions{justify-content:flex-end;gap:8px;margin-top:28px;display:flex}.btn{border:1px solid var(--border-strong);min-height:40px;color:var(--text);font:inherit;cursor:pointer;transition:background-color var(--fast) var(--ease-out), transform var(--fast) var(--ease-out), opacity var(--fast);background:0 0;border-radius:10px;padding:0 18px;font-weight:600;position:relative}.btn:active:not(:disabled){transform:scale(.96)}.btn.ghost{color:var(--text-2);border-color:#0000}.btn.ghost:hover{background:var(--open);color:var(--text)}.btn.primary{background:var(--selected-bg);color:var(--selected-text);border-color:var(--selected-bg)}.btn.primary:hover{background:#e6e6e6}.btn:disabled{cursor:default}.btn.busy span:after{content:"";text-align:left;width:1.2em;animation:1s steps(4,end) infinite ellipsis;display:inline-block}.notice p{color:var(--text-2);margin:0 0 12px}.booker.confirmed{text-align:center;max-width:600px;min-height:0;padding:40px 32px;display:block}.check{background:var(--available);color:#052e14;width:52px;height:52px;animation:pop .52s var(--ease-spring) both;border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.check .icon{stroke-width:2.6px;width:26px;height:26px}.check .draw path{stroke-dasharray:24;stroke-dashoffset:24px;animation:draw .42s .24s var(--ease-out) forwards}.confirmed h1{animation:rise var(--slow) .12s var(--ease-out) both;margin-bottom:6px;font-size:1.35rem;font-weight:600}.confirmed>.muted{animation:rise var(--slow) .18s var(--ease-out) both}.recap{text-align:left;border-top:1px solid var(--border);grid-template-columns:90px 1fr;gap:16px 12px;margin:28px 0 0;padding-top:24px;display:grid}.recap>*{animation:rise var(--slow) var(--ease-out) both}.recap>:first-child,.recap>:nth-child(2){animation-delay:.26s}.recap>:nth-child(3),.recap>:nth-child(4){animation-delay:.32s}.recap>:nth-child(5),.recap>:nth-child(6){animation-delay:.38s}.recap>:nth-child(7),.recap>:nth-child(8){animation-delay:.44s}.recap dt{font-weight:600}.recap dd{color:var(--text-2);margin:0}.who{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.who-photo{object-fit:cover;border-radius:50%;width:20px;height:20px}.badge{background:var(--open);color:var(--text-2);border-radius:4px;margin-left:6px;padding:0 6px;font-size:.75rem;display:inline-block}.sk{border-radius:var(--radius);background:linear-gradient(90deg,#1d1d1d 0%,#262626 50%,#1d1d1d 100%) 0 0/200% 100%;animation:1.4s ease-in-out infinite shimmer}.sk-title{width:160px;height:22px;margin:4px 0 30px}.sk-title.short{width:80px;margin-bottom:18px}.sk-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.sk-cell{aspect-ratio:1}.sk-slot{height:44px;margin-bottom:8px}.shell{max-width:640px;margin:0 auto;padding:64px 16px}.shell .logo{width:140px;height:auto;margin-bottom:28px;display:block}.shell h1{font-size:1.6rem;font-weight:600}.page-list{gap:8px;margin:24px 0 0;padding:0;list-style:none;display:grid}.page-list li{animation:rise var(--slow) var(--ease-out) both}.page-list li:nth-child(2){animation-delay:60ms}.page-list li:nth-child(3){animation-delay:.12s}.page-list a{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color var(--fast) var(--ease-out), transform var(--fast) var(--ease-out);justify-content:space-between;gap:12px;padding:16px;font-weight:600;text-decoration:none;display:flex}.page-list a:hover{border-color:var(--border-strong);transform:translateY(-1px)}.page-list .muted{font-weight:400}.length-toggle{margin-top:20px;display:inline-grid}.length-toggle button{padding:5px 14px;font-size:.9rem}.page-list li{align-items:stretch;gap:8px;display:flex}.page-list li>a{flex:1;min-width:0}.copy{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font:inherit;cursor:pointer;min-width:104px;transition:border-color var(--fast) var(--ease-out), color var(--fast), transform var(--fast) var(--ease-out);flex:none;padding:0 16px;font-weight:600}.copy:hover{border-color:var(--border-strong);color:var(--text)}.copy:active{transform:scale(.96)}.fade-in{animation:fade var(--med) var(--ease-out) both}.reveal{animation:rise var(--slow) .12s var(--ease-out) both}.slide-next{animation:slide-from-right var(--slow) var(--ease-out)}.slide-prev{animation:slide-from-left var(--slow) var(--ease-out)}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@keyframes pop{0%{transform:scale(.88)}to{transform:scale(1)}}@keyframes slide-from-right{0%{opacity:0;transform:translate(28px)}}@keyframes slide-from-left{0%{opacity:0;transform:translate(-28px)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes ellipsis{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}::view-transition-group(*){animation-duration:var(--slow);animation-timing-function:var(--ease-out)}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-old(booker){animation:var(--med) var(--ease-out) both fade-out}::view-transition-new(booker){animation:var(--slow) 60ms var(--ease-out) both fade-scale-in}::view-transition-old(summary){object-fit:none;object-position:left top;height:100%}::view-transition-new(summary){object-fit:none;object-position:left top;height:100%}@keyframes fade-out{to{opacity:0}}@keyframes fade-scale-in{0%{opacity:0;transform:scale(.985)}}@media (max-width:900px){.page{padding:0 0 32px}.booker,.booker.split{border-width:0 0 1px;border-radius:0;grid-template-columns:1fr;min-height:0}.summary,.calendar{border-right:0;border-bottom:1px solid var(--border);padding:20px 16px}.times{padding:20px 16px 32px}.times ul{max-height:none}.details{padding:20px 16px 32px}.booker.confirmed{padding:40px 16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}
