.cal{--cal-paper:hsl(var(--card));--cal-line:hsl(var(--border));--cal-ink:hsl(var(--foreground));--cal-muted:hsl(var(--muted-foreground));--cal-gold:hsl(var(--primary));--cal-gold-ink:hsl(var(--primary-foreground));--cal-wine:#683b42;--cal-wine-ink:#f7f1e6;--cal-hold:#3a3e41;--cal-hold-ink:#e8e3d7;--cal-ease:cubic-bezier(.22, 1, .36, 1);color:var(--cal-ink);container:cal/inline-size}.cal-inner{--cal-row:58px;--cal-namecol:58px;position:relative}.cal-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.cal-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--cal-muted);margin:0;font-size:11px}.cal-title{font-family:var(--font-heading), Georgia, serif;margin:12px 0 0;font-size:clamp(2.1rem,1.2rem + 2.6cqi,3.4rem);font-weight:300;line-height:1}.cal-range{letter-spacing:.16em;text-transform:uppercase;color:var(--cal-muted);margin:10px 0 0;font-size:12px}.cal-nav{align-items:center;gap:6px;display:flex}.cal-navbtn{border:1px solid var(--cal-line);border-radius:var(--radius);width:40px;height:40px;color:var(--cal-ink);cursor:pointer;transition:border-color .2s var(--cal-ease), color .2s var(--cal-ease);background:0 0;place-items:center;display:grid}.cal-navbtn:hover{border-color:var(--cal-gold);color:var(--cal-gold)}.cal-navbtn svg{width:15px;height:15px}.cal-tool{border:1px solid var(--cal-line);border-radius:var(--radius);min-height:40px;color:var(--cal-ink);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:border-color .2s var(--cal-ease), color .2s var(--cal-ease);background:0 0;padding:0 16px;font-size:10px}.cal-tool:hover{border-color:var(--cal-gold);color:var(--cal-gold)}.cal-navbtn:focus-visible,.cal-tool:focus-visible,.cal-new:focus-visible,.cal-add:focus-visible,.cal-tile:focus-visible{outline:2px solid var(--cal-gold);outline-offset:2px}.cal-bar{border:1px solid var(--cal-line);border-radius:var(--radius);background:var(--cal-paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:24px;padding:8px;display:flex}.cal-bar-left{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.cal-waiting{border:1px solid hsl(var(--primary) / .5);border-radius:var(--radius);background:hsl(var(--primary) / .12);min-height:34px;color:var(--cal-gold);letter-spacing:.16em;text-transform:uppercase;align-items:center;padding:0 12px;font-size:10px;display:inline-flex}.cal-new{border-radius:var(--radius);background:var(--cal-gold);min-height:36px;color:var(--cal-gold-ink);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:opacity .2s var(--cal-ease);border:0;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-size:10px;font-weight:600;display:inline-flex}.cal-new:hover{opacity:.88}.cal-new svg{width:12px;height:12px}.cal-gridwrap{border:1px solid var(--cal-line);border-radius:var(--radius);background:var(--cal-paper);margin-top:12px;overflow:hidden}.cal-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%}.cal-table th,.cal-table td{border-right:1px solid var(--cal-line);border-bottom:1px solid var(--cal-line);background:var(--cal-paper);vertical-align:top;padding:0}.cal-table tr>:last-child{border-right:0}.cal-table thead th{text-align:center;vertical-align:middle;height:50px;font-size:12px;font-weight:600}.cal-table thead th.cal-hourhead{width:var(--cal-namecol);text-align:left;letter-spacing:.14em;text-transform:uppercase;color:var(--cal-muted);padding-left:9px;font-size:9.5px;font-weight:500}.cal-table tbody th.cal-hour{width:var(--cal-namecol);height:var(--cal-row);text-align:right;color:var(--cal-muted);white-space:nowrap;padding:6px 7px 0 0;font-size:10px;font-weight:500}.cal-table tbody td{height:var(--cal-row);position:relative}.cal-table tfoot th,.cal-table tfoot td{vertical-align:middle;border-bottom:0;height:34px}.cal-close{text-align:center;letter-spacing:.18em;text-transform:uppercase;color:var(--cal-muted);padding:0 8px;font-size:9.5px}.cal-dayname{border-radius:var(--radius);flex-direction:column;align-items:center;gap:2px;padding:3px 8px;line-height:1.1;display:inline-flex}.cal-dow{letter-spacing:.16em;text-transform:uppercase;color:var(--cal-muted);font-size:9.5px}.cal-dnum{font-size:14px;font-weight:600}.cal-table th[data-today] .cal-dayname{background:var(--cal-gold);color:var(--cal-gold-ink)}.cal-table th[data-today] .cal-dow{color:var(--cal-gold-ink);opacity:.8}.cal-tile{z-index:1;text-align:left;font:inherit;cursor:default;transition:transform .18s var(--cal-ease), box-shadow .18s var(--cal-ease);border:0;border-radius:0;flex-direction:column;gap:1px;padding:3px 5px;display:flex;position:absolute;left:3px;right:3px;overflow:hidden}.cal-tile--only{border-radius:var(--radius);top:2px;bottom:2px}.cal-tile--head{border-radius:var(--radius) var(--radius) 0 0;top:2px;bottom:-1px}.cal-tile--mid{top:-1px;bottom:-1px}.cal-tile--last{border-radius:0 0 var(--radius) var(--radius);top:-1px;bottom:2px}button.cal-tile{cursor:pointer}button.cal-tile:hover{box-shadow:0 6px 14px -6px #0009}.cal-tile-name{white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden}.cal-tile-time{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;line-height:1.2;overflow:hidden}.cal-tile--confirmed{background:var(--cal-gold);color:var(--cal-gold-ink)}.cal-tile--pending{background:hsl(var(--primary) / .16);color:var(--cal-ink);box-shadow:inset 0 0 0 1px hsl(var(--primary) / .65)}.cal-tile--dinner{background:var(--cal-wine);color:var(--cal-wine-ink)}.cal-tile--hold{background:var(--cal-hold);color:var(--cal-hold-ink)}.cal-add{z-index:0;width:100%;color:var(--cal-muted);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background-color .18s var(--cal-ease);background:0 0;border:0;align-items:flex-start;padding:6px 5px;font-size:9.5px;font-weight:600;display:flex;position:absolute;inset:0;overflow:hidden}.cal-add span{opacity:0;transition:opacity .18s var(--cal-ease)}.cal-add:hover,.cal-add:focus-visible{background:hsl(var(--primary) / .1)}.cal-add:hover span,.cal-add:focus-visible span{opacity:.9}.cal-add:focus-visible{outline-offset:-3px}.cal-legend{letter-spacing:.14em;text-transform:uppercase;color:var(--cal-muted);flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:16px;font-size:10px;display:flex}.cal-legend span{align-items:center;gap:7px;display:inline-flex}.cal-swatch{border-radius:2px;width:10px;height:10px}.cal-swatch--confirmed{background:var(--cal-gold)}.cal-swatch--pending{background:hsl(var(--primary) / .16);box-shadow:inset 0 0 0 1px hsl(var(--primary) / .65)}.cal-swatch--dinner{background:var(--cal-wine)}.cal-swatch--hold{background:var(--cal-hold)}.cal-note{color:var(--cal-muted);margin-top:14px;font-size:12px;line-height:1.7}.cal-scrim{z-index:20;position:fixed;inset:0}.cal-pop{z-index:30;border:1px solid var(--cal-line);border-radius:var(--radius);background:hsl(var(--popover));width:min(310px,100%);color:hsl(var(--popover-foreground));animation:cal-in .16s var(--cal-ease);padding:16px;position:absolute;box-shadow:0 20px 46px -14px #000000b8}.cal-pop-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.cal-pop-state{letter-spacing:.18em;text-transform:uppercase;color:var(--cal-muted);font-size:10px}.cal-pop-close{border-radius:var(--radius);width:28px;height:28px;color:var(--cal-muted);cursor:pointer;background:0 0;border:0;place-items:center;margin-right:-6px;display:grid}.cal-pop-close:hover{color:var(--cal-ink);background:hsl(var(--foreground) / .06)}.cal-pop-close svg{width:12px;height:12px}.cal-pop-name{font-family:var(--font-heading), Georgia, serif;overflow-wrap:anywhere;margin:8px 0 12px;font-size:22px;font-weight:400;line-height:1.2}.cal-pop-list{grid-template-columns:auto 1fr;gap:7px 14px;margin:0;font-size:12.5px;display:grid}.cal-pop-list dt{color:var(--cal-muted)}.cal-pop-list dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:500}.cal-pop-actions{border-top:1px solid var(--cal-line);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;display:flex}.cal-pop-act{border:1px solid var(--cal-line);border-radius:var(--radius);min-height:34px;color:var(--cal-ink);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:border-color .2s var(--cal-ease), color .2s var(--cal-ease);background:0 0;flex:auto;padding:0 12px;font-size:10px}.cal-pop-act:hover{border-color:var(--cal-gold);color:var(--cal-gold)}.cal-pop-act--solid{border-color:var(--cal-gold);background:var(--cal-gold);color:var(--cal-gold-ink)}.cal-pop-act--solid:hover{opacity:.88;color:var(--cal-gold-ink)}.cal-pop-act:disabled{opacity:.55;cursor:not-allowed}.cal-pop-ask{flex:100%;font-size:12.5px;font-weight:600}.cal[data-enter] .cal-head{animation:cal-rise .9s var(--cal-ease) forwards}.cal[data-enter] .cal-bar{animation:cal-rise 1s var(--cal-ease) forwards}.cal[data-enter] .cal-gridwrap{animation:cal-rise 1.15s var(--cal-ease) forwards}.cal[data-enter] .cal-tile{animation:cal-card-in 1.5s var(--cal-ease) forwards}@keyframes cal-rise{0%{opacity:0;transform:translateY(8px)}22%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes cal-card-in{0%,45%{opacity:0}to{opacity:1}}@keyframes cal-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cal[data-enter] .cal-head,.cal[data-enter] .cal-bar,.cal[data-enter] .cal-gridwrap,.cal[data-enter] .cal-tile,.cal-pop{animation:none}}@container cal (width<680px){.cal-inner{--cal-row:46px;--cal-namecol:44px}.cal-title{font-size:2rem}.cal-table thead th{height:46px;font-size:11px}.cal-table thead th.cal-hourhead{padding-left:6px;font-size:8.5px}.cal-table tbody th.cal-hour{padding-right:5px;font-size:9px}.cal-dayname{padding:2px 4px}.cal-dow{letter-spacing:.1em;font-size:8.5px}.cal-dnum{font-size:12px}.cal-tile{padding:2px 3px;left:2px;right:2px}.cal-tile-name{white-space:normal;-webkit-line-clamp:3;overflow-wrap:normal;word-break:normal;-webkit-box-orient:vertical;font-size:9px;display:-webkit-box}.cal-tile-time{display:none}.cal-add{letter-spacing:0;padding:4px 3px;font-size:8px}.cal-add span{display:none}.cal-add:after{content:"+";opacity:.7;font-size:12px}}
