:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#222;--text:#fff;--button-border:#999;--button:#333;--button-hover:#444;--accent:#a7ccff;--accent-text:#162438;--focus:#9cc5ff;--muted:#ccc;--border:#555;--surface:#2b2b2b;--empty:#252525;--today:#293b52}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f5f7fa;--text:#182230;--button-border:#8995a5;--button:#fff;--button-hover:#e8edf4;--accent:#235da8;--accent-text:#fff;--focus:#235da8;--muted:#526071;--border:#b8c2cf;--surface:#fff;--empty:#edf0f4;--today:#e3efff}*{box-sizing:border-box}.all-events{gap:12px;margin:0;padding:0;list-style:none;display:grid}.all-event{border:1px solid var(--border);border-left:6px solid var(--label-color);background:var(--surface);border-radius:6px}.all-event summary{cursor:pointer;overflow-wrap:anywhere;padding:16px}.all-event-title{font-weight:600}.all-event-date{color:var(--muted);margin-top:6px;font-size:.9rem;display:block}.all-event .event-details{padding:0 16px 16px}.about-calendar{overflow-wrap:anywhere;line-height:1.6}.about-calendar h3{margin:24px 0 8px}.about-calendar p{margin:0 0 16px}.search-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:16px;display:grid}.search-field{gap:6px;min-width:0;display:grid}.search-input-row{align-items:center;gap:8px;min-width:0;display:flex}.search-input-row input{flex:1}.search-input-row button{flex-shrink:0}.search-form label{gap:6px;min-width:0;display:grid}.search-panel{margin-top:16px}.search-count{text-align:left;color:var(--muted);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;margin:0;display:flex}.search-count .inline-link{min-width:0;min-height:0;color:var(--accent);font:inherit;background:0 0;border:0;border-radius:0;padding:0;text-decoration:underline}.search-count .inline-link:hover{text-decoration-thickness:2px}@media (width<=540px){.search-form{grid-template-columns:1fr}}[data-calendar-date]{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:pan-y}[data-calendar-date] .event-item{-webkit-user-select:text;user-select:text;cursor:auto}.calendar-grid .selected-day,.calendar-list .selected-day{background:var(--today);box-shadow:inset 0 0 0 2px var(--accent)}.day-number{background:0 0;border:0;min-width:28px;min-height:28px;padding:0}.day-number:hover{background:var(--button-hover)}.delete-event{color:#fff;background:#a32626;border-color:#a32626}.delete-event:hover{background:#821e1e}body{background-color:var(--page);color:var(--text);margin:0;font-family:system-ui,sans-serif}.calendar{max-width:1000px;margin:0 auto;padding:clamp(12px,3vw,32px)}h1{font-size:clamp(1.5rem,4vw,2rem)}.calendar-title input{font:inherit;font-weight:inherit}.title-edit{max-width:100%;font:inherit;font-weight:inherit;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:4px 0}.title-edit:hover{background:0 0}.title-edit-hint{visibility:hidden;color:var(--muted);white-space:nowrap;margin-left:20px;font-size:.8rem;font-weight:400;text-decoration:none}.title-edit-hint .button-icon{margin-right:3px}.title-edit:hover .title-edit-hint,.title-edit:focus .title-edit-hint{visibility:visible}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 16px;display:flex}h2{margin:0;font-size:1.25rem}.calendar-controls{flex-wrap:wrap;gap:8px;display:flex}.view-controls>.view-button-group{margin-left:auto}.view-controls{margin-bottom:32px}.view-button-group{max-width:100%;display:inline-flex}.view-button-group button{border-radius:0;position:relative}.view-button-group button+button{margin-left:-1px}.view-button-group button:first-child{border-radius:6px 0 0 6px}.view-button-group button:last-child{border-radius:0 6px 6px 0}.view-button-group button[aria-pressed=true]{z-index:1}.view-button-group button:focus-visible{z-index:2}.button-icon{vertical-align:-3px;width:18px;height:18px;margin-right:7px}.calendar-footer{margin-top:48px}.footer-controls{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.footer-controls>button{flex:none;margin:0}.calendar-footer .about-calendar{margin-top:16px}button{border:1px solid var(--button-border);background:var(--button);min-width:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;border-radius:6px;padding:8px 12px}button:hover{background:var(--button-hover)}button[aria-pressed=true],button[aria-controls=event-filters][aria-expanded=true],button[aria-controls=about-calendar][aria-expanded=true]{background:var(--accent);color:var(--accent-text)}button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.text-button,.text-button[aria-pressed=true]{color:var(--text);background:0 0;border-color:#0000}.text-button:hover,.text-button[aria-pressed=true]:hover{color:var(--accent);background:0 0}.text-button.about-button[aria-expanded=true]{background:var(--accent);color:var(--accent-text);border-color:#0000}.primary-button{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}.primary-button:hover{background:var(--accent);color:var(--accent-text);box-shadow:inset 0 0 0 2px var(--accent-text)}.new-event-fab{bottom:max(20px, env(safe-area-inset-bottom));left:max(20px, env(safe-area-inset-left));z-index:9;border-radius:28px;min-height:52px;padding:12px 20px;position:fixed;box-shadow:0 4px 16px #00000040}.calendar{padding-bottom:100px}@media (width<=600px){.calendar .toast-region{bottom:88px}}.calendar-grid{table-layout:fixed;border-collapse:collapse;width:100%}.calendar-grid th{color:var(--muted);padding:12px 0;font-size:.85rem}abbr[title]{text-decoration:none}.calendar-grid td{border:1px solid var(--border);vertical-align:top;background:var(--surface);height:clamp(64px,12vw,120px);padding:clamp(4px,1.5vw,12px)}.calendar-grid .empty-day{background:var(--empty)}.calendar-grid .today{background:var(--today)}.weekdays,.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekdays>span{text-align:center;color:var(--muted);padding:12px 0;font-size:.85rem}.weekday-initial{display:none}.calendar-week{min-height:120px}.grid-day{background:var(--surface);border:1px solid var(--border);min-width:0;padding:5px 3px}.grid-day.empty-day{background:var(--empty)}.grid-day.today,.grid-day.selected-day{background:var(--today)}.grid-day.selected-day{box-shadow:inset 0 0 0 2px var(--accent)}.week-event{z-index:1;align-self:start;width:calc(100% - 6px);margin:2px 3px}.week-event:focus-visible{z-index:2}time{place-items:center;width:28px;height:28px;display:inline-grid}.today time{background:var(--accent);color:var(--accent-text);border-radius:50%;font-weight:700}.calendar-list{margin:0;padding:0;list-style:none}.calendar-list li{border:1px solid var(--border);background:var(--surface);align-items:center;gap:16px;min-height:60px;padding:12px;display:flex}.calendar-list li+li{border-top:0}.calendar-list .today{background:var(--today)}.calendar-list time{flex-shrink:0}.today-label{color:var(--accent);margin-left:auto;font-size:.85rem}.event-form-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.event-form-panel summary{cursor:pointer;padding:8px 0;font-weight:600}.event-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.event-form label{gap:6px;min-width:0;display:grid}.full-width{grid-column:1/-1}input,select,textarea{border:1px solid var(--button-border);background:var(--page);width:100%;min-width:0;min-height:44px;color:var(--text);font:inherit;border-radius:6px;padding:10px}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.toast-region{z-index:10;pointer-events:none;gap:10px;width:min(440px,100% - 32px);max-height:35dvh;padding:4px;display:grid;position:fixed;bottom:16px;right:16px;overflow-y:auto}.toast-region:empty{padding:0}.toast{background:var(--surface);color:var(--text);border:1px solid var(--button-border);pointer-events:auto;border-radius:8px;align-items:start;gap:12px;padding:16px;display:flex;position:relative;box-shadow:0 4px 16px #00000040}.toast p{overflow-wrap:anywhere;flex:1;min-width:0;margin:0}.toast button{flex-shrink:0}.toast-event-link{min-width:0;min-height:0;color:var(--accent);font:inherit;text-align:left;text-underline-offset:3px;overflow-wrap:anywhere;background:0 0;border:0;border-radius:0;padding:0;text-decoration:underline;display:inline}.toast-event-link:hover{background:0 0;text-decoration-thickness:2px}.toast:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.toast:focus-within .toast-timer>span{animation-play-state:paused!important}.toast-timer{background:var(--border);border-radius:0 0 8px 8px;height:4px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.toast-timer>span{background:var(--accent);transform-origin:0;height:100%;animation:6s linear forwards toast-countdown;display:block}@keyframes toast-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.toast-timer>span{animation-timing-function:steps(6,end)}}.calendar-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.calendar-header h1{flex:1;min-width:0}.notification-bell{flex-shrink:0;position:relative}.notification-icon{vertical-align:-3px;width:18px;height:18px;margin-right:7px;display:inline-block;position:relative}.notification-bell .button-icon{margin:0;display:block}.notification-dot{background:var(--accent);border:1px solid var(--page);border-radius:50%;width:10px;height:10px;position:absolute;top:-3px;right:-3px}.notification-history{margin:20px 0 0;padding:0;list-style:none}.notification-history li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:16px}.notification-history p{margin:4px 0 8px}.notification-message{margin:4px 0 8px;display:block}.notification-entry{text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.notification-entry:hover{color:var(--accent);background:0 0}.notification-unread .notification-message{font-weight:700}.notification-unavailable{color:var(--muted);margin-top:8px;font-size:.85rem;display:block}.notification-history time{width:auto;height:auto;color:var(--muted);font-size:.8rem;display:block}.notification-unread{background:var(--today);border-left:3px solid var(--accent)}.notification-unread p{font-weight:700}.notification-new{color:var(--accent);font-size:.8rem;font-weight:700}.day-events{gap:6px;min-width:0;margin-top:8px;display:grid}.event-item{min-width:0}.event-badge{background:var(--label-color);color:#182230;text-align:left;text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;border-radius:5px;width:100%;min-width:0;min-height:32px;padding:6px;font-size:.8rem;display:block;overflow:hidden}.event-badge:hover{background:var(--label-color);border-color:#182230}.calendar-list li{display:block}.day-heading{align-items:center;gap:16px;display:flex}.calendar-list .day-events{margin-left:44px}.inline-details{border:1px solid var(--border);border-radius:6px;margin-top:6px;padding:12px}.inline-details h3{overflow-wrap:anywhere;margin:0}.event-details{overflow-wrap:anywhere}.event-actions{flex-wrap:wrap;gap:12px;display:flex}.event-group{margin-bottom:20px}.event-group>summary{cursor:pointer;padding:12px 0;font-weight:600}.event-details p{margin:12px 0}.event-description{white-space:pre-wrap}.event-details .event-description{margin:28px 0;font-size:1.125rem;line-height:1.6}.color-label{text-transform:capitalize;align-items:center;gap:8px;display:flex}.color-label span{border:1px solid #526071;border-radius:50%;flex-shrink:0;width:14px;height:14px}.event-modal{border:1px solid var(--border);background:var(--surface);width:min(520px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--text);border-radius:12px;padding:24px;overflow-y:auto}.event-modal::backdrop{background:#000000a6}.event-form-modal{width:min(720px,100% - 32px)}.event-form-modal .event-form{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=540px){.event-form-modal .event-form{grid-template-columns:1fr}}@media (width<=430px){.event-form-modal .event-form{grid-template-columns:minmax(0,1fr)}.event-form-modal input[type=date],.event-form-modal input[type=time]{appearance:none;width:calc(100% - 12px);min-width:0;max-width:calc(100% - 12px);padding-inline:8px}.event-form-modal input::-webkit-date-and-time-value{text-align:left;min-width:0}}.modal-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal-heading h2{overflow-wrap:anywhere;min-width:0}.modal-title-help{align-items:center;gap:6px;min-width:0;display:flex}.modal-title-help .info-tip{flex-shrink:0}.filter-help-row{justify-content:flex-end;display:flex}.event-details-modal .modal-heading{margin-bottom:24px}.event-details-modal{border-left:6px solid var(--label-color)}.event-modal .modal-heading button{flex-shrink:0;min-height:32px;padding:4px 8px;font-size:.875rem}.event-modal .modal-heading .button-icon{vertical-align:-2px;width:14px;height:14px;margin-right:4px}.form-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}@media (width<=540px){.event-form{grid-template-columns:1fr}.calendar-grid td{padding:4px 2px}.calendar-list .day-events{margin-left:0}.event-modal{padding:16px}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.calendar-help{color:var(--muted)}.calendar-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;margin-bottom:16px;display:flex}.calendar-summary .search-count{text-align:left;justify-content:flex-start;margin-left:0}.calendar-help-row{justify-content:flex-end;margin-top:16px;display:flex}.info-tip{color:var(--muted)}.info-tip-trigger{font-size:.9rem}.info-tip-message{border:1px solid var(--button-border);background:var(--surface);width:min(420px,100vw - 24px);max-height:none;color:var(--text);border-radius:8px;margin:0;padding:16px;line-height:1.5;position:fixed;inset:auto;overflow:visible;box-shadow:0 4px 16px #00000040}.info-tip-message:popover-open{align-items:flex-start;gap:12px;display:flex}.info-tip-message p{flex:1;min-width:0;margin:0}.info-tip-close{flex-shrink:0;padding:0;font-size:1.5rem;line-height:1}@media (width<=540px){.calendar-header{margin-bottom:16px}.calendar-help-row{justify-content:flex-start}.calendar-toolbar,.calendar-summary{flex-direction:column;align-items:flex-start;gap:12px}.calendar-summary .search-count{text-align:left;justify-content:flex-start;margin-left:0}.view-controls{row-gap:24px}.view-controls>.view-button-group{flex-basis:100%;margin-left:0}.calendar-controls>button[aria-controls=event-filters]{margin-left:0}.view-button-group button{flex:1;padding-inline:8px}.weekday-short{display:none}.weekday-initial{display:inline}.calendar-week{min-height:100px}.grid-day{text-align:center;border-left:0;border-right:0;padding-inline:2px}.week-event{font-size:.75rem}.modal-heading{flex-wrap:nowrap}.modal-title-help h2{flex-basis:auto}.form-actions{flex-direction:column}.footer-controls{gap:4px}.footer-controls>button{padding-inline:8px}}@media (forced-colors:active){button[aria-pressed=true],button[aria-controls=event-filters][aria-expanded=true],button[aria-controls=about-calendar][aria-expanded=true],.today .day-number{outline:2px solid highlight}.event-badge{border:1px solid buttontext}.selected-day{outline-offset:-2px;outline:2px solid highlight}}.title-edit:hover .title-words,.title-edit:focus-visible .title-words{text-underline-offset:5px;text-decoration:underline}.info-tip-trigger>span[aria-hidden]{vertical-align:-2px;font-size:1.5rem;line-height:1;display:inline-block}:root[data-theme=dark] .info-tip-message,:root[data-theme=dark] .toast{background:#000}.notification-actions{justify-content:flex-start;margin-top:24px;display:flex}.notification-actions button:disabled{opacity:.5;cursor:default}.toast{flex-wrap:wrap}.toast p{flex-basis:100%}.sticky-month-toolbar{z-index:3;background:var(--page);margin-bottom:0;padding:12px 0;position:sticky;top:0}html{overflow-x:clip}.month-pages,.month-grid{width:100%;min-width:0}.month-grid{margin-bottom:24px}.month-grid .sticky-month-toolbar{margin-top:0}.calendar-toolbar h2{overflow-wrap:anywhere;min-width:0}.week-event{min-width:0;max-width:calc(100% - 6px)}.month-pages{margin-top:28px}.month-title-summary{flex-wrap:wrap;align-items:center;gap:8px 16px;min-width:0;display:flex}.month-count{font-size:.9rem}.calendar-header-help{flex:none;align-self:flex-start;margin-top:16px}.calendar-header-help .button-icon{vertical-align:middle;width:24px;height:24px;margin:0}.calendar-footer{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:9;background:var(--page);border-radius:8px;max-width:calc(100% - 32px);margin:0;padding:4px;position:fixed}.calendar-footer .footer-controls{justify-content:flex-end}.about-modal .about-calendar{margin-top:24px}.calendar .toast-region{bottom:88px}@media (width<=600px){.new-event-fab{bottom:max(48px, calc(env(safe-area-inset-bottom) + 32px))}.calendar{padding-bottom:160px}.calendar .toast-region{bottom:148px}}.grid-navigation{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px;width:30rem;max-width:100%;margin:20px 0 20px auto}.grid-navigation>button{flex:0 0 44px}.navigation-arrows{flex-wrap:nowrap;flex-shrink:0}.grid-range-label{white-space:nowrap;text-align:center;min-width:0}@media (width<=600px){.grid-navigation{gap:4px;width:100%}.grid-range-label{font-size:clamp(.75rem,3.2vw,1rem)}}.filter-controls{align-items:center;gap:4px;display:flex}.filter-help-row{margin:0}.filter-help-row .button-icon{vertical-align:middle;width:24px;height:24px;margin:0}.events-month{margin:20px 0 28px}.events-month h2{margin-bottom:16px;scroll-margin-top:16px}.events-month h2:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.month-events-link{color:var(--accent);text-underline-offset:3px}.month-events-link:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.calendar-toolbar.list-navigation-toolbar{flex-direction:row;justify-content:flex-start;align-items:center;gap:16px}@media (width<=600px){.list-navigation-toolbar>button:last-child{margin-left:auto}}.list-navigation-toolbar+.calendar-list{margin-top:20px}.event-modal .modal-heading .info-tip-trigger .button-icon{vertical-align:middle;width:24px;height:24px;margin:0}.footer-menu-toggle{display:none}@media (width<=600px){.calendar-footer{bottom:max(48px, calc(env(safe-area-inset-bottom) + 32px));padding:0}.footer-menu-toggle{background:var(--page);justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.footer-menu-toggle .button-icon{width:24px;height:24px;margin:0}.calendar-footer .footer-controls{display:none}.calendar-footer .footer-controls[data-open=true]{border:1px solid var(--border);background:var(--page);border-radius:8px;flex-flow:column;align-items:stretch;width:210px;max-width:calc(100vw - 32px);padding:8px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 4px 16px #00000040}.calendar-footer .footer-controls>button{text-align:left}}.view-controls>.view-button-group{order:1}.view-controls>.search-panel{flex-basis:100%;order:2}@media (width<=600px){.view-controls{row-gap:24px}.view-controls>.search-panel{order:0;margin-top:0}.view-controls>.view-button-group{flex-basis:100%;order:1;margin-left:0}.view-controls>.view-button-group button{flex:1}}.calendar-heading-text{flex:1;min-width:0}.calendar-heading-text .calendar-title{margin-bottom:8px}.calendar-description{color:var(--muted);margin-bottom:16px;font-size:1rem;line-height:1.5}.description-edit{white-space:pre-wrap}.calendar-description textarea{font:inherit}.recurrence-fields{gap:16px;display:grid}.event-form .checkbox-label{align-items:center;gap:8px;display:flex}.checkbox-label input{width:20px;min-width:20px;height:20px;min-height:20px}.recurrence-fields fieldset{border:1px solid var(--border);border-radius:6px;min-width:0;padding:12px}.repeat-days{flex-wrap:wrap;gap:8px 16px;display:flex}.repeat-days label{min-height:44px}.recurrence-fields p{margin:0;line-height:1.5}.event-details .recurrence-note{color:var(--muted);font-size:.875rem}.event-title-with-color{align-items:center;gap:8px;min-width:0;display:flex}.event-title-with-color h3{min-width:0}.event-color{vertical-align:middle;flex-shrink:0;font-size:.875rem;font-weight:400;display:inline-flex;position:relative}.event-color-dot{cursor:help;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.event-color-dot:before{content:"";background:var(--label-color);border:1px solid #526071;border-radius:50%;width:14px;height:14px}.event-color-dot:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.color-tooltip{z-index:5;border:1px solid var(--border);background:var(--surface);width:max-content;color:var(--text);border-radius:6px;padding:8px 12px;line-height:1.4;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000040}:root[data-theme=dark] .color-tooltip{background:#000}.color-tooltip{left:0;right:auto}.calendar-summary.events-summary{flex-direction:row;align-items:center}.events-edit-toggle{flex-shrink:0;margin-left:auto}.events-edit-toggle[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.bulk-event-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 24px;display:flex}.bulk-event-actions button:disabled{opacity:.5;cursor:default}.selectable-event{align-items:flex-start;gap:8px;display:flex}.selectable-event>.all-event{flex:1;min-width:0}.event-select{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-height:44px;margin-top:8px;display:flex}.event-select input{width:20px;height:20px;min-height:20px;padding:0}@media (width<=600px){.bulk-event-actions{flex-direction:column;align-items:stretch}.bulk-event-actions button{width:100%}}
