:root{--sara-text-scale-factor:1;--sara-reading-line-height-factor:1;--sara-reading-paragraph-spacing-factor:1;--sara-reading-letter-spacing:0em;--sara-reading-word-spacing:0em}[data-text-scale=large]{--sara-text-scale-factor:1.125}[data-text-scale=x-large]{--sara-text-scale-factor:1.25}[data-reading-spacing=increased]{--sara-reading-line-height-factor:1.5;--sara-reading-paragraph-spacing-factor:2;--sara-reading-letter-spacing:0.12em;--sara-reading-word-spacing:0.16em}:root{--sara-font-interface:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,"Helvetica Neue",Arial,sans-serif;--sara-font-artefact:"SARA Serif",Georgia,serif;--sara-font-mono:"Anonymous Pro",ui-monospace,SFMono-Regular,Menlo,monospace;--sara-text-display-family:var(--sara-font-artefact);--sara-text-display-size:calc(34px * var(--sara-text-scale-factor));--sara-text-display-line-height:calc(42px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-display-weight:400;--sara-text-display-letter-spacing:-0.015em;--sara-text-page-title-family:var(--sara-font-interface);--sara-text-page-title-size:calc(20px * var(--sara-text-scale-factor));--sara-text-page-title-line-height:calc(28px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-page-title-weight:600;--sara-text-section-title-family:var(--sara-font-interface);--sara-text-section-title-size:calc(19px * var(--sara-text-scale-factor));--sara-text-section-title-line-height:calc(27px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-section-title-weight:600;--sara-text-subsection-title-family:var(--sara-font-interface);--sara-text-subsection-title-size:calc(16px * var(--sara-text-scale-factor));--sara-text-subsection-title-line-height:calc(26px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-subsection-title-weight:600;--sara-text-body-family:var(--sara-font-interface);--sara-text-body-size:calc(13px * var(--sara-text-scale-factor));--sara-text-body-line-height:calc(20px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-body-weight:400;--sara-text-body-strong-family:var(--sara-font-interface);--sara-text-body-strong-size:calc(13px * var(--sara-text-scale-factor));--sara-text-body-strong-line-height:calc(20px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-body-strong-weight:600;--sara-text-body-small-family:var(--sara-font-interface);--sara-text-body-small-size:calc(11.5px * var(--sara-text-scale-factor));--sara-text-body-small-line-height:calc(17px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-body-small-weight:400;--sara-text-label-family:var(--sara-font-interface);--sara-text-label-size:calc(12.5px * var(--sara-text-scale-factor));--sara-text-label-line-height:calc(19px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-label-weight:500;--sara-text-label-strong-family:var(--sara-font-interface);--sara-text-label-strong-size:calc(12.5px * var(--sara-text-scale-factor));--sara-text-label-strong-line-height:calc(19px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-label-strong-weight:600;--sara-text-metadata-family:var(--sara-font-interface);--sara-text-metadata-size:calc(11px * var(--sara-text-scale-factor));--sara-text-metadata-line-height:calc(16px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-metadata-weight:400;--sara-text-eyebrow-family:var(--sara-font-interface);--sara-text-eyebrow-size:calc(10.5px * var(--sara-text-scale-factor));--sara-text-eyebrow-line-height:calc(14px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-eyebrow-weight:700;--sara-text-eyebrow-letter-spacing:0.06em;--sara-text-code-family:var(--sara-font-mono);--sara-text-code-size:calc(12px * var(--sara-text-scale-factor));--sara-text-code-line-height:calc(18px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-code-weight:400;--sara-text-artifact-title-family:var(--sara-font-artefact);--sara-text-artifact-title-size:calc(30px * var(--sara-text-scale-factor));--sara-text-artifact-title-line-height:calc(38px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-artifact-title-weight:400;--sara-text-artifact-title-letter-spacing:-0.015em;--sara-text-artifact-body-family:var(--sara-font-artefact);--sara-text-artifact-body-size:calc(16px * var(--sara-text-scale-factor));--sara-text-artifact-body-line-height:calc(26px * var(--sara-text-scale-factor) * var(--sara-reading-line-height-factor));--sara-text-artifact-body-weight:400}.calendar-page-shell{display:flex;flex-direction:column;background-color:hsl(var(--background));color:hsl(var(--foreground));height:100dvh;min-height:100dvh;overflow:hidden;overscroll-behavior-x:none}.calendar-page-panel{width:100%}.calendar-page-panel,.calendar-panel{display:flex;height:100%;min-height:0;flex:1 1 0%;overflow:hidden;overscroll-behavior-x:none}.calendar-panel{flex-direction:column;background-color:hsl(var(--background))}.calendar-grid-card{height:100%;overflow:hidden;touch-action:pan-y}.calendar-grid-card,.calendar-grid-stage{position:relative;display:flex;width:100%;min-width:0;flex:1 1 0%;min-height:0;overscroll-behavior-x:none}.calendar-error-banner{position:absolute;left:.75rem;right:.75rem;top:.75rem;z-index:20;border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:hsl(var(--destructive)/.3);background-color:hsl(var(--destructive)/.1);padding:.5rem .75rem}.calendar-toolbar{display:flex;align-items:center;border-bottom-width:1px;padding:.5rem .75rem}@media (min-width:768px){.calendar-toolbar{padding-left:1.25rem;padding-right:1.25rem}}.calendar-toolbar{min-height:4rem;border-color:hsl(var(--sara-color-border-quiet));background:hsl(var(--sara-color-bg-panel))}.calendar-toolbar-row{display:grid;width:100%;align-items:center;gap:1rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.calendar-toolbar-cluster{display:flex;align-items:center;gap:.5rem}.calendar-toolbar-cluster-left{min-width:0;justify-content:flex-start}.calendar-toolbar-cluster-center{min-width:0;justify-content:center}.calendar-toolbar-cluster-right{min-width:0;justify-content:flex-end;gap:.5rem}.calendar-toolbar-anchor{display:flex;min-width:0;align-items:center;justify-content:center}.calendar-title{font-size:clamp(1.05rem,1.5vw,1.1rem);min-width:0;max-width:100%;text-align:center;line-height:1;letter-spacing:-.02em;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-view-switch{display:inline-flex;align-items:center;border-radius:var(--radius);border-width:1px;border-color:hsl(var(--border)/.8);padding:.125rem;background:hsl(var(--sara-color-bg-control));gap:0}.calendar-view-button{border-radius:calc(var(--radius) - 2px);padding-left:.625rem;padding-right:.625rem;font-weight:600;height:1.75rem;min-width:3.4rem;font-size:.72rem;letter-spacing:.01em;line-height:1}.calendar-view-button-active{background:hsl(var(--sara-color-action-primary));color:hsl(var(--sara-color-action-primary-text));box-shadow:0 1px 2px hsl(var(--sara-color-border-strong)/16%)}.calendar-view-button-inactive{color:hsl(var(--muted-foreground))}.calendar-view-button-inactive:hover{color:hsl(var(--foreground))}.calendar-view-button-inactive{background:transparent}.calendar-date-field{display:flex;align-items:center}.calendar-utility-button{height:1.75rem;width:1.75rem;color:hsl(var(--muted-foreground)/.7)}.calendar-nav-today{padding-left:.75rem;padding-right:.75rem;font-size:.75rem;line-height:1rem;font-weight:600}.calendar-nav-today,.calendar-title-nav-button{height:2rem;border-radius:calc(var(--radius) - 2px)}.calendar-title-nav-button{width:2rem;color:hsl(var(--muted-foreground))}.calendar-title-nav-button:hover{color:hsl(var(--foreground))}.calendar-date-input{height:2rem;border-radius:calc(var(--radius) - 2px);border-color:hsl(var(--border)/.7);font-size:.75rem;line-height:1rem;width:9.6rem}.\!container{width:100%!important;margin-right:auto!important;margin-left:auto!important;padding-right:2rem!important;padding-left:2rem!important}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width:1400px){.\!container{max-width:1400px!important}.container{max-width:1400px}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .2s ease-out}@keyframes sara-toast-enter{0%{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes sara-toast-exit{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(100%,0,0)}}@keyframes sara-toast-fade{0%{opacity:0}to{opacity:1}}.sara-toast-root{will-change:opacity,transform}.sara-toast-root[data-state=open]{animation:sara-toast-enter .22s cubic-bezier(.22,1,.36,1) both}.sara-toast-root[data-state=closed]{animation:sara-toast-exit .18s cubic-bezier(.4,0,1,1) both}@media (prefers-reduced-motion:reduce){.sara-toast-root[data-state=closed],.sara-toast-root[data-state=open]{animation:sara-toast-fade .12s ease-out both}}@keyframes sara-bubble-manifest{0%{transform:scale(.8) translate(-20px,10px);opacity:0;filter:blur(12px)}to{transform:scale(1) translate(0);opacity:1;filter:blur(0)}}@keyframes sara-char-dust{0%{opacity:0;transform:scale(1.2);filter:blur(4px) brightness(1.5)}to{opacity:1;transform:scale(1);filter:blur(0) brightness(1)}}@keyframes sara-typing-dot{0%,80%,to{transform:translateY(0) scale(.92);opacity:.45}40%{transform:translateY(-2px) scale(1);opacity:.95}}.sara-bubble-manifest{transform-origin:bottom left;animation:sara-bubble-manifest .3s cubic-bezier(.25,.4,.25,1) both;will-change:transform,opacity,filter}.sara-char-dust{display:inline-block;animation:sara-char-dust .14s cubic-bezier(.25,.4,.25,1) both;will-change:transform,opacity,filter}.sara-typing-dot{animation:sara-typing-dot 1.05s ease-in-out infinite;will-change:transform,opacity}@media (prefers-reduced-motion:reduce){.sara-bubble-manifest,.sara-char-dust,.sara-typing-dot{animation:none!important;transition:none!important;filter:none!important;transform:none!important}}@media (min-width:640px){.sm\:container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width:1400px){.sm\:container{max-width:1400px}}}