.cal-root{--fc-classic-button:var(--surface);--fc-classic-button-border:var(--line);--fc-classic-button-strong:var(--surface-2);--fc-classic-button-strong-border:var(--line);--fc-classic-button-outline:var(--accent);--fc-classic-button-foreground:var(--text);--fc-classic-primary:var(--accent);--fc-classic-primary-foreground:var(--accent-ink);--fc-classic-highlight:color-mix(in srgb,var(--accent) 12%,transparent);--fc-classic-today:color-mix(in srgb,var(--accent) 6%,transparent);--fc-classic-now:var(--accent);--fc-classic-background:var(--surface);--fc-classic-faint:color-mix(in srgb,var(--text) 3%,transparent);--fc-classic-muted:color-mix(in srgb,var(--text) 6%,transparent);--fc-classic-strong:color-mix(in srgb,var(--text) 12%,transparent);--fc-classic-foreground:var(--text);--fc-classic-faint-foreground:var(--muted);--fc-classic-muted-foreground:var(--muted);--fc-classic-border:var(--line);--fc-classic-event:transparent;--fc-classic-event-contrast:var(--text);display:flex;flex-direction:column;gap:var(--s-3);min-height:0}.cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3)}.cal-title{font-family:var(--font-display),monospace;letter-spacing:1px;font-size:var(--fs-xl);font-weight:400;margin-right:auto}.cal-nav{display:flex;gap:var(--s-1)}.cal-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center}.cal-frame{background:var(--surface);border-radius:var(--r-field);overflow:hidden;font-feature-settings:"tnum"}.cal-event{--cat:var(--accent);display:flex;gap:4px;align-items:flex-start;height:100%;width:100%;padding:3px 7px;border-radius:0;background:color-mix(in srgb,var(--cat) 16%,transparent);border-left:3px solid var(--cat);color:var(--text);font-family:var(--font-sans),sans-serif;font-weight:500;font-size:var(--fs-sm);line-height:1.3;overflow:hidden}.cal-event-busy{position:relative;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--accent) 35%,transparent) 0 6px,transparent 6px 12px);border-left:0;color:var(--text);font-family:var(--font-mono),monospace;font-weight:400;font-size:var(--fs-xs);cursor:default}.cal-event-tentative{background:transparent;border:1px dashed var(--violet);color:var(--violet);font-style:italic}:root[data-theme=light] .cal-event:not(.cal-event-busy):not(.cal-event-tentative){background:#ffffff;box-shadow:2px 2px 0 var(--text)}:root[data-theme=light] .cal-event-busy{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--text) 18%,transparent) 0 4px,transparent 4px 10px)}:root[data-theme=light] .cal-event-tentative{border:1.5px dashed var(--accent);color:var(--accent)}.cal-event-overlay .cal-who{margin-left:auto;font-size:var(--fs-xs);color:var(--muted);font-style:normal}.cal-event-overlay .cal-who,.cal-frame,.cal-range{font-family:var(--font-mono),monospace}.cal-range{color:var(--muted);font-size:var(--fs-sm)}.cal-frame .fc-timegrid-now-indicator-line{border-color:var(--accent)!important;border-top-width:2px!important}:root[data-theme=dark] .cal-frame .fc-timegrid-now-indicator-line{box-shadow:0 0 8px var(--accent)}.cal-frame [class*=col-header] [class*=today],.cal-frame [class*=day-today] [class*=header],.cal-frame th[class*=today]{background-image:repeating-linear-gradient(90deg,var(--accent) 0 8px,transparent 8px 16px);background-size:100% 4px;background-repeat:no-repeat;background-position:bottom}.cal-frame .fc-event,.cal-frame .fc-event:hover{background:transparent!important;border:0!important;box-shadow:none!important}.cal-person-picker{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:end}.cal-overlay{position:relative}.cal-overlay summary{cursor:pointer;list-style:none}.cal-overlay[open] .cal-overlay-list{position:absolute;z-index:20;margin-top:var(--s-1);padding:var(--s-2) var(--s-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-field);display:grid;gap:var(--s-1);min-width:200px}.cal-fab{position:fixed;right:var(--s-4);bottom:calc(64px + var(--s-4) + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;font-size:28px;z-index:30}@media (min-width:1024px){.cal-fab{display:none}}@media (max-width:1023px){.cal-new-desktop{display:none}}.toast{position:fixed;left:50%;bottom:calc(64px + var(--s-6) + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--surface-2);color:var(--text);padding:var(--s-2) var(--s-4);border-radius:var(--r-field);border:1px solid var(--line);z-index:40}@media (min-width:1024px){.toast{bottom:var(--s-6)}}.form{padding:var(--s-4)}.form,.form-row{display:grid;gap:var(--s-3)}.form-row{grid-template-columns:1fr 1fr}.field{display:grid;gap:var(--s-1);font-size:var(--fs-sm);color:var(--muted)}.field input:not([type=checkbox]),.field select,.field textarea{background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:var(--r-field);padding:8px 10px;font:inherit;font-size:var(--fs-base)}.check{align-items:center;font-size:var(--fs-sm)}.check,.form-actions{display:flex;gap:var(--s-2)}.form-actions{flex-wrap:wrap;justify-content:flex-end}.form-error{color:var(--danger);font-size:var(--fs-sm)}.share-list{display:grid;gap:var(--s-2)}.share-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.field,.form,.form-row{min-width:0}.form-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;min-width:0;box-sizing:border-box}.dialog{max-width:100vw;box-sizing:border-box}.dialog .form{overflow-x:hidden}