:root{color-scheme:light;--ctp-mauve: #8839ef;--ctp-blue: #1e66f5;--ctp-teal: #179299;--ctp-red: #d20f39;--ctp-text: #4c4f69;--ctp-subtext1: #5c5f77;--ctp-overlay2: #7c7f93;--ctp-surface1: #bcc0cc;--ctp-surface0: #ccd0da;--ctp-base: #eff1f5;--ctp-mantle: #e6e9ef;--ctp-crust: #dce0e8;--ctp-accent: var(--ctp-mauve);--md-primary: var(--ctp-accent);--md-on-primary: var(--ctp-base);--md-primary-container: color-mix(in srgb, var(--ctp-accent) 18%, var(--ctp-base));--md-on-primary-container: color-mix(in srgb, var(--ctp-accent) 55%, var(--ctp-text));--md-secondary: var(--ctp-blue);--md-on-secondary: #ffffff;--md-secondary-container: color-mix(in srgb, var(--ctp-blue) 16%, var(--ctp-base));--md-on-secondary-container: color-mix(in srgb, var(--ctp-blue) 50%, var(--ctp-text));--md-tertiary: color-mix(in srgb, var(--ctp-teal) 55%, var(--ctp-text));--md-on-tertiary: var(--ctp-base);--md-tertiary-container: color-mix(in srgb, var(--ctp-teal) 18%, var(--ctp-base));--md-on-tertiary-container: color-mix(in srgb, var(--ctp-teal) 30%, var(--ctp-text));--md-error: var(--ctp-red);--md-on-error: var(--ctp-base);--md-error-container: color-mix(in srgb, var(--ctp-red) 15%, var(--ctp-base));--md-on-error-container: color-mix(in srgb, var(--ctp-red) 55%, var(--ctp-text));--md-surface: var(--ctp-base);--md-surface-dim: var(--ctp-crust);--md-surface-bright: var(--ctp-base);--md-surface-container-lowest: var(--ctp-base);--md-surface-container-low: var(--ctp-mantle);--md-surface-container: color-mix(in srgb, var(--ctp-mantle) 50%, var(--ctp-crust));--md-surface-container-high: var(--ctp-crust);--md-surface-container-highest: var(--ctp-surface0);--md-on-surface: var(--ctp-text);--md-on-surface-variant: var(--ctp-subtext1);--md-outline: var(--ctp-overlay2);--md-outline-variant: var(--ctp-surface1);--md-scrim: #000000;--md-shadow: #000000;--md-shape-xs: 4px;--md-shape-sm: 8px;--md-shape-md: 12px;--md-shape-lg: 16px;--md-shape-xl: 28px;--md-shape-full: 999px;--md-elevation-1: 0 1px 2px 0 rgb(0 0 0 / 30%), 0 1px 3px 1px rgb(0 0 0 / 15%);--md-elevation-2: 0 1px 2px 0 rgb(0 0 0 / 30%), 0 2px 6px 2px rgb(0 0 0 / 15%);--md-elevation-3: 0 1px 3px 0 rgb(0 0 0 / 30%), 0 4px 8px 3px rgb(0 0 0 / 15%);--md-font: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--font-label: "Raleway", var(--md-font);--font-display: "Nunito", var(--md-font);--bg: var(--md-surface);--surface: var(--md-surface-container-low);--border: var(--md-outline-variant);--text: var(--md-on-surface);--text-dim: var(--md-on-surface-variant);--accent: var(--md-primary);--accent-contrast: var(--md-on-primary);--today: var(--md-primary-container);--danger: var(--md-error);font-family:var(--md-font);color:var(--text);background:var(--bg)}:root[data-theme=dark]{color-scheme:dark;--ctp-mauve: #cba6f7;--ctp-blue: #89b4fa;--ctp-teal: #94e2d5;--ctp-red: #f38ba8;--ctp-text: #cdd6f4;--ctp-subtext1: #bac2de;--ctp-overlay1: #7f849c;--ctp-surface1: #45475a;--ctp-surface0: #313244;--ctp-base: #1e1e2e;--ctp-mantle: #181825;--ctp-crust: #11111b;--md-primary: var(--ctp-accent);--md-on-primary: var(--ctp-crust);--md-primary-container: color-mix(in srgb, var(--ctp-accent) 26%, var(--ctp-base));--md-on-primary-container: color-mix(in srgb, var(--ctp-accent) 45%, var(--ctp-text));--md-secondary: var(--ctp-blue);--md-on-secondary: var(--ctp-crust);--md-secondary-container: color-mix(in srgb, var(--ctp-blue) 24%, var(--ctp-base));--md-on-secondary-container: color-mix(in srgb, var(--ctp-blue) 40%, var(--ctp-text));--md-tertiary: var(--ctp-teal);--md-on-tertiary: var(--ctp-crust);--md-tertiary-container: color-mix(in srgb, var(--ctp-teal) 22%, var(--ctp-base));--md-on-tertiary-container: color-mix(in srgb, var(--ctp-teal) 40%, var(--ctp-text));--md-error: var(--ctp-red);--md-on-error: var(--ctp-crust);--md-error-container: color-mix(in srgb, var(--ctp-red) 24%, var(--ctp-base));--md-on-error-container: color-mix(in srgb, var(--ctp-red) 40%, var(--ctp-text));--md-surface: var(--ctp-base);--md-surface-dim: var(--ctp-mantle);--md-surface-bright: var(--ctp-surface1);--md-surface-container-lowest: var(--ctp-crust);--md-surface-container-low: color-mix(in srgb, var(--ctp-base) 65%, var(--ctp-surface0));--md-surface-container: var(--ctp-surface0);--md-surface-container-high: color-mix(in srgb, var(--ctp-surface0) 55%, var(--ctp-surface1));--md-surface-container-highest: var(--ctp-surface1);--md-on-surface: var(--ctp-text);--md-on-surface-variant: var(--ctp-subtext1);--md-outline: var(--ctp-overlay1);--md-outline-variant: var(--ctp-surface1);--md-elevation-1: 0 1px 2px 0 rgb(0 0 0 / 60%), 0 1px 3px 1px rgb(0 0 0 / 40%);--md-elevation-2: 0 1px 2px 0 rgb(0 0 0 / 60%), 0 2px 6px 2px rgb(0 0 0 / 40%);--md-elevation-3: 0 1px 3px 0 rgb(0 0 0 / 60%), 0 4px 8px 3px rgb(0 0 0 / 40%)}:root[data-accent=pink]{--ctp-accent: #9d4f88}:root[data-theme=dark][data-accent=pink]{--ctp-accent: #f5c2e7}:root[data-accent=peach]{--ctp-accent: #b44708}:root[data-theme=dark][data-accent=peach]{--ctp-accent: #fab387}:root[data-accent=green]{--ctp-accent: #307820}:root[data-theme=dark][data-accent=green]{--ctp-accent: #a6e3a1}:root[data-accent=teal]{--ctp-accent: #12757a}:root[data-theme=dark][data-accent=teal]{--ctp-accent: #94e2d5}:root[data-accent=blue]{--ctp-accent: #1c60e6}:root[data-theme=dark][data-accent=blue]{--ctp-accent: #89b4fa}:root[data-accent=lavender]{--ctp-accent: #5363b9}:root[data-theme=dark][data-accent=lavender]{--ctp-accent: #b4befe}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg);font-family:var(--md-font)}button{font:inherit}a{color:inherit}.app{max-width:1400px;margin:0 auto;padding:1rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.app--message{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:4rem;text-align:center}.app__status{margin:1rem 0;color:var(--md-on-surface-variant)}.error{color:var(--md-error)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--md-outline-variant)}.toolbar__title{font-size:1.375rem;font-weight:500;margin:0;width:100%}.toolbar__lead{display:flex;align-items:center;gap:1.25rem;width:100%}.toolbar__views{width:100%}.toolbar__nav{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.toolbar__group{display:flex;gap:.25rem;align-items:center}.toolbar__group[aria-label=Navigate]{padding:.25rem;background:var(--md-primary-container);color:var(--md-on-primary-container);border-radius:var(--md-shape-full)}.toolbar__group[aria-label=Navigate] .btn--icon,.toolbar__group[aria-label=Navigate] .btn--tonal{background:transparent;color:inherit}.toolbar__group[aria-label=Navigate] .btn--icon:hover,.toolbar__group[aria-label=Navigate] .btn--tonal:hover{background:color-mix(in srgb,var(--md-on-primary-container) 12%,transparent)}.toolbar__group[aria-label=Navigate] .btn--icon,.toolbar__group[aria-label=Navigate] .btn--tonal{height:2.25rem;min-height:2.25rem}.toolbar__group[aria-label=Navigate] .btn--icon{width:2.75rem}.toolbar__group[aria-label=Navigate] .btn--icon .icon{width:1.4rem;height:1.4rem}.toolbar__group[aria-label=Navigate] .btn--icon .icon svg{display:block;width:100%;height:100%}.toolbar__range{color:var(--md-on-surface-variant);font-size:.875rem}.toolbar__legend-row{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}@media(min-width:600px){.toolbar__title,.toolbar__lead{width:auto;margin-right:auto}.toolbar__views,.toolbar__nav{width:auto}.toolbar__legend-row{width:auto;overflow:visible}}.toolbar__head{display:flex;align-items:center;gap:.75rem;width:100%;min-width:0}.toolbar__head .toolbar__title,.toolbar__head .toolbar__lead{width:auto;margin:0}.toolbar__head .toolbar__lead{margin-right:auto}.toolbar__home{flex:none}.toolbar__top,.toolbar__bar{display:contents}@media(min-width:840px){.toolbar{flex-direction:column;align-items:stretch;gap:.6rem}.toolbar__top,.toolbar__bar{display:flex;align-items:center;gap:.75rem}.toolbar__top{justify-content:space-between}.toolbar__head{width:auto}.toolbar__bar .toolbar__legend-row{flex:1;min-width:0}.toolbar__bar .legend{flex-wrap:nowrap;gap:.5rem}.toolbar__bar .fab{margin-left:auto}.toolbar--bare{flex-direction:row}}.legend{display:flex;flex-wrap:nowrap;gap:.4rem;font:500 .8125rem/1 var(--md-font);padding-bottom:2px}@media(min-width:600px){.legend{flex-wrap:wrap}}.legend__item{display:inline-flex;align-items:center;gap:.4rem;flex:none;padding:.4rem .6rem;border:0;border-radius:var(--md-shape-sm);background:transparent;color:var(--md-on-surface-variant);cursor:pointer;line-height:1}.legend__item[aria-pressed=true]{background:var(--person-color);color:#fff}.legend__item:hover{background:color-mix(in srgb,var(--person-color) 14%,transparent)}.legend__item:focus-visible{outline:2px solid var(--person-color);outline-offset:1px}.legend__item[aria-pressed=true]:hover{background:var(--person-color)}.legend__item[aria-pressed=true]:hover{filter:brightness(1.08)}.legend__item--off{opacity:.55}.legend__swatch{width:.8rem;height:.8rem;border-radius:3px;background:var(--person-color);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.65rem;line-height:1}.legend__item[aria-pressed=true] .legend__swatch{background:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:2.5rem;padding:0 1.1rem;border:1px solid var(--md-outline);border-radius:var(--md-shape-full);background:transparent;color:var(--md-primary);font:500 .875rem/1 var(--md-font);cursor:pointer;transition:background-color .12s ease}.btn:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}.btn:focus-visible{outline:2px solid var(--md-primary);outline-offset:2px}.btn:active{background:color-mix(in srgb,var(--md-on-surface) 12%,transparent)}.btn--primary{background:var(--md-primary);border-color:var(--md-primary);color:var(--md-on-primary);font-weight:500;padding:0 1.5rem}.btn--primary:hover{background:color-mix(in srgb,var(--md-primary) 92%,var(--md-on-primary) 8%)}.btn--primary:active{background:color-mix(in srgb,var(--md-primary) 88%,var(--md-on-primary) 12%)}.btn--tonal{background:var(--md-primary-container);border-color:transparent;color:var(--md-on-primary-container)}.btn--tonal:hover{background:color-mix(in srgb,var(--md-primary-container) 92%,var(--md-on-primary-container) 8%)}.btn--icon{width:2.5rem;height:2.5rem;padding:0;border:none;border-radius:var(--md-shape-full);background:transparent;color:var(--md-on-surface-variant);font-size:1.15rem}.btn--icon:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}.btn--danger{color:var(--md-error);border-color:var(--md-error)}.btn--danger:hover{background:color-mix(in srgb,var(--md-error) 8%,transparent)}.btn--danger-solid{color:var(--md-on-error);background:var(--md-error);border-color:transparent}.btn--danger-solid:hover:not(:disabled),.btn--danger-solid:active:not(:disabled){background:color-mix(in srgb,var(--md-error) 88%,var(--md-on-error))}.btn--danger-solid:disabled{background:var(--md-error)}.btn:disabled{opacity:.5;cursor:default;background:transparent}.fab{box-shadow:var(--md-elevation-2)}.fab__icon{font-size:1.1rem;line-height:1}@media(max-width:599px){.fab{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:20}}.segmented{display:flex;gap:.25rem;padding:.25rem;background:var(--md-surface-container-high);border-radius:var(--md-shape-full);width:100%}@media(min-width:600px){.segmented{width:max-content}}.segmented__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;height:2.25rem;padding:0 .9rem;border:none;border-radius:var(--md-shape-full);background:transparent;color:var(--md-on-surface-variant);font:500 .875rem/1 var(--md-font);cursor:pointer;white-space:nowrap;transition:background-color .12s ease}.segmented__btn:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}.segmented__btn--on{background:var(--md-primary-container);color:var(--md-on-primary-container)}.segmented__btn--on:hover{background:color-mix(in srgb,var(--md-primary-container) 92%,var(--md-on-primary-container) 8%)}@media(max-width:359px){.segmented{flex-wrap:wrap;border-radius:var(--md-shape-xl)}.segmented__btn{flex-basis:calc(50% - .125rem)}}.grid{display:grid;gap:.6rem}.grid--week{container-type:inline-size;grid-template-columns:repeat(7,minmax(0,1fr))}.grid--day{grid-template-columns:minmax(0,1fr)}@container (max-width: 820px){.grid--week{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.grid--month{container-type:inline-size;grid-template-columns:repeat(7,minmax(0,1fr))}.grid--month-header{margin-bottom:.4rem;gap:.6rem}.month__weekday{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--md-on-surface-variant);text-align:center}.month__weekday-narrow{display:none}.grid--month .day{min-height:80px;padding:.4rem}.grid--month .day__heading{font-size:.9rem;text-transform:none;letter-spacing:0}.day__heading--button{border:none;background:none;font:inherit;color:inherit;padding:0;border-radius:var(--md-shape-xs);cursor:pointer}.day__heading--button:hover,.day__heading--button:focus-visible{color:var(--md-primary);text-decoration:underline}.day__more{display:block;width:100%;border:none;background:none;font:500 .72rem/1.2 var(--md-font);color:var(--md-on-surface-variant);text-align:left;padding:.1rem .2rem;cursor:pointer;border-radius:var(--md-shape-xs)}.day__more:hover,.day__more:focus-visible{color:var(--md-primary);background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}@container (max-width: 520px){.month__weekday-full{display:none}.month__weekday-narrow{display:inline}.grid--month .day{min-height:60px;padding:.3rem .25rem}.grid--month .day__heading{font-size:.8rem}}.day--muted{opacity:.5}.agenda{display:flex;flex-direction:column;gap:.6rem}.agenda__day{background:var(--md-surface-container-low);border-radius:var(--md-shape-md);padding:.6rem .75rem}.agenda__day--today{background:var(--md-primary-container);color:var(--md-on-primary-container)}.agenda__day--today .agenda__heading{color:inherit}.agenda__heading{font:500 .9rem/1.3 var(--md-font);margin:0 0 .5rem}.agenda__empty{color:var(--md-on-surface-variant);padding:1rem 0}.day{background:var(--md-surface-container-low);border-radius:var(--md-shape-md);padding:.6rem;min-height:110px}.day--today{background:var(--md-primary-container)}.day--today .day__heading{color:var(--md-on-primary-container);opacity:.8}.day__heading{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--md-on-surface-variant);margin:0 0 .5rem;font-weight:500}.day__empty{color:var(--md-on-surface-variant);font-size:.85rem;margin:0}.day__events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.event{display:flex;flex-direction:column;gap:.1rem;width:100%;padding:.45rem .55rem;border-radius:var(--md-shape-sm);background:var(--md-surface-container-lowest);border:none;text-decoration:none;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background-color .12s ease}.day--today .event{background:color-mix(in srgb,var(--md-surface-container-lowest) 70%,transparent)}.event:hover,.event:focus-visible{background:var(--md-surface-container-high)}.event:focus-visible{outline:2px solid var(--md-primary);outline-offset:1px}.event--person{border-left:4px solid var(--person-color);padding-left:calc(.55rem - 3px)}.event__who{display:inline-block;margin-right:.35rem;padding:0 .3rem;border-radius:var(--md-shape-xs);background:var(--person-color);color:#fff;font-size:.7rem;font-weight:700;vertical-align:1px}.event__repeat{color:var(--md-on-surface-variant)}.event__time{font-size:.75rem;color:var(--md-on-surface-variant)}.event__title{font-weight:500;font-size:.9rem}.event--compact{gap:0;padding:.15rem .3rem}.event--compact .event__title{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem}.event__location{font-size:.78rem;color:var(--md-on-surface-variant)}.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}.calendar-area{min-width:0;touch-action:pan-y}.day__bar{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.day--tappable{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .12s ease}.day--tappable:active{background:color-mix(in srgb,var(--md-primary) 12%,var(--md-surface-container-low))}.day__open{padding:0;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;color:inherit;background:none;border:none;border-radius:var(--md-shape-xs);cursor:pointer}.day__open:focus-visible{outline:2px solid var(--md-primary);outline-offset:2px}.tasks{background:var(--md-surface-container-low);border-radius:var(--md-shape-lg);padding:.9rem}.tasks__heading{font:500 1.05rem/1.3 var(--md-font);margin:0 0 .6rem}.tasks__add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;margin-bottom:.9rem}.tasks__add .btn{grid-column:1 / -1}.tasks__empty{color:var(--md-on-surface-variant);font-size:.85rem;margin:0}.tasks__group+.tasks__group{margin-top:.8rem}.tasks__group-heading{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--md-on-surface-variant);margin:0 0 .35rem;font-weight:500}.tasks__group-heading--overdue{color:var(--md-error)}.tasks__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.task{display:flex;align-items:center;gap:.5rem;border-radius:var(--md-shape-sm)}.task:hover{background:color-mix(in srgb,var(--md-on-surface) 5%,transparent)}.task__check{width:1.2rem;height:1.2rem;flex:none;accent-color:var(--md-primary);cursor:pointer}.task__label{flex:1;border:none;background:none;font:inherit;color:inherit;text-align:left;padding:.4rem .2rem;cursor:pointer;min-height:2.25rem}.task--done .task__label{color:var(--md-on-surface-variant);text-decoration:line-through}.task__repeat{color:var(--md-on-surface-variant);margin-left:.35rem}.modal{position:fixed;inset:0;background:color-mix(in srgb,var(--md-scrim) 45%,transparent);display:flex;align-items:center;justify-content:center;padding:0;overflow:auto;z-index:50}@media(min-width:600px){.modal{padding:1rem}}.modal__panel{background:var(--md-surface-container-high);border-radius:0;padding:1.1rem;padding-bottom:max(1.1rem,env(safe-area-inset-bottom));width:100%;height:100%;max-height:100dvh;display:flex;flex-direction:column;gap:.8rem;overflow-y:auto;box-shadow:var(--md-elevation-3)}@media(min-width:600px){.modal__panel{border-radius:var(--md-shape-xl);width:min(480px,100%);height:auto;max-height:90dvh}}.modal__heading{font:500 1.375rem/1.3 var(--md-font);margin:0}.modal__note{font-size:.8rem;color:var(--md-on-surface-variant);margin:0}.modal__actions{display:flex;gap:.5rem;align-items:center;position:sticky;bottom:-1.1rem;margin:0 -1.1rem -1.1rem;padding:.7rem 1.1rem calc(1.1rem + env(safe-area-inset-bottom));background:var(--md-surface-container-high)}.modal__spacer{flex:1}.field{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:0}.field--check{flex-direction:row;align-items:center;gap:.5rem}.field__label{font-size:.78rem;color:var(--md-on-surface-variant)}.field__input{font:inherit;font-size:1rem;color:var(--md-on-surface);background:var(--md-surface-container-lowest);border:1px solid var(--md-outline);border-radius:var(--md-shape-xs);padding:.6rem .7rem;min-width:0;min-height:2.75rem}.field>.field__input{width:100%}.field__input:focus-visible{outline:2px solid var(--md-primary);outline-offset:-1px;border-color:var(--md-primary)}.field-row{display:flex;gap:.5rem;flex-wrap:wrap}@media(pointer:coarse){.btn{min-height:3rem}.btn--icon{width:3rem;height:3rem}.toolbar__group[aria-label=Navigate] .btn--icon,.toolbar__group[aria-label=Navigate] .btn--tonal{height:2.75rem;min-height:2.75rem}.toolbar__group[aria-label=Navigate] .btn--icon{width:3.25rem}.segmented__btn{height:2.75rem}.task__check{width:1.4rem;height:1.4rem}}.app--kiosk{max-width:none;padding:1.5rem;font-size:1.25rem;user-select:none;-webkit-user-select:none}.app--kiosk .toolbar{gap:1rem;padding-bottom:1.25rem;margin-bottom:1.25rem}.app--kiosk .btn{min-height:3rem;font-size:1.1rem}.app--kiosk .btn--primary{padding:0 1.6rem}.app--kiosk .segmented__btn{height:2.75rem;font-size:1rem}.app--kiosk .toolbar__range{font-size:1.15rem}.app--kiosk .grid{gap:1rem}.app--kiosk .day{min-height:200px;padding:.9rem}.app--kiosk .grid--month .day{min-height:120px}.app--kiosk .month__weekday{font-size:.9rem}.app--kiosk .agenda__heading{font-size:1.1rem}.app--kiosk .day__heading{font-size:1rem}.app--kiosk .event{padding:.6rem .7rem}.app--kiosk .event__title{font-size:1.1rem}.app--kiosk .event--compact .event__title{font-size:.95rem}.app--kiosk .day__more{font-size:.85rem}.app--kiosk .event__who{font-size:.85rem;padding:.05rem .4rem}.app--kiosk .legend{font-size:1rem;gap:1rem}.app--kiosk .legend__swatch{width:1rem;height:1rem}.app--kiosk .event__time,.app--kiosk .event__location{font-size:.95rem}.app--kiosk .tasks{padding:1rem}.app--kiosk .tasks__heading{font-size:1.3rem}.app--kiosk .task{gap:.75rem}.app--kiosk .task__check{width:1.8rem;height:1.8rem}.app--kiosk .task__label{padding:.6rem 0;font-size:1.1rem}@media(max-height:640px)and (orientation:landscape){.app{padding-top:.6rem}.toolbar{padding-bottom:.6rem;margin-bottom:.6rem;gap:.4rem}.day,.grid--month .day{min-height:64px}}.toolbar__lead{display:flex;align-items:center;gap:1.25rem}.kiosk-clock{display:flex;flex-direction:column;line-height:1.1}.weather{display:flex;align-items:baseline;gap:.5rem;color:var(--md-tertiary)}.weather__icon{font-size:1.5rem}.weather__temp{font-size:1.5rem;font-weight:700;color:var(--md-on-surface)}.weather__range{font-size:.9rem;color:var(--md-on-surface-variant)}@media(max-width:640px){.weather__text,.weather__range{display:none}}.kiosk-clock__time{font-size:2rem;font-weight:700;letter-spacing:.01em}.kiosk-clock__date{color:var(--md-on-surface-variant);font-size:1rem}.reconnect-banner{position:fixed;right:max(1.25rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.2rem;border:none;border-radius:var(--md-shape-md);background:var(--md-error-container);color:var(--md-on-error-container);font-size:1rem;box-shadow:var(--md-elevation-2);cursor:pointer;z-index:30}.reconnect-banner__dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--md-error)}@media(max-width:599px){.reconnect-banner{bottom:max(4.5rem,calc(3.5rem + env(safe-area-inset-bottom)))}}.startpage{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-content:center;align-items:center;min-height:calc(100dvh - 3rem)}@media(min-width:840px){.startpage{grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:2rem}}.startpage__banner{display:flex;flex-direction:column;gap:.9rem;padding:.5rem .25rem}.startpage__banner .kiosk-clock{gap:.35rem}.startpage__banner .kiosk-clock__time{font-family:var(--font-display);font-size:4.25rem;font-weight:200;line-height:1;letter-spacing:-.02em}.startpage__banner .kiosk-clock__date{font-family:var(--font-display);font-size:.95rem;font-weight:500;text-transform:uppercase;letter-spacing:1px}.startpage__banner .weather{flex-wrap:wrap}.startpage__banner .weather__icon,.startpage__banner .weather__temp{font-size:1.9rem}.startpage__panel{display:flex;flex-direction:column;gap:1.4rem}.category{--flavour: var(--md-primary);padding-bottom:1.25rem;border-bottom:1px solid var(--md-outline-variant)}.category:last-child{padding-bottom:0;border-bottom:0}.category--household{--flavour: var(--md-primary)}.category--home{--flavour: var(--md-secondary)}.category--system{--flavour: var(--md-tertiary)}.category__title{margin:0 0 .9rem;font:600 .8rem/1 var(--font-label);text-transform:uppercase;letter-spacing:1px;color:var(--md-on-surface-variant)}.links{display:flex;flex-wrap:wrap;gap:1rem}.link{display:inline-flex;align-items:center;gap:.85rem;min-height:3.75rem;padding:.6rem 1.2rem .6rem 1rem;font:inherit;text-align:left;color:var(--md-on-surface);background:var(--ctp-mantle);border:0;border-radius:var(--md-shape-xs);box-shadow:0 4px var(--ctp-crust),0 5px 10px #0003;cursor:pointer;transition:all .2s}.link:hover:not(:disabled),.link:active:not(:disabled){color:var(--flavour);transform:translateY(4px);box-shadow:0 0 var(--ctp-crust),0 1px 3px #0003}.link:focus-visible{outline:3px solid var(--md-primary);outline-offset:3px}.link__icon{flex:none;width:2rem;height:2rem;color:var(--flavour)}.link__icon svg{display:block;width:100%;height:100%}.link__text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.link__name{font:700 1.2rem/1.15 var(--md-font)}.link__glance{font:400 .85rem/1.25 var(--md-font);color:var(--md-on-surface-variant)}.link:disabled{background:transparent;border:1px dashed var(--md-outline);box-shadow:none;cursor:default;opacity:.6}.link:disabled .link__icon{color:var(--md-on-surface-variant)}.app--kiosk .link{min-height:4.25rem}@media(max-width:599px){.link{width:100%}.startpage__banner .kiosk-clock__time{font-size:3.25rem}.startpage{min-height:0;align-content:start}}.screen-tasks{max-width:48rem;margin:0 auto}.time-field{display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;cursor:pointer}.time-field__chevron{color:var(--md-on-surface-variant);font-size:.9rem}.picker{position:fixed;inset:0;z-index:60;display:grid;place-items:center}.picker__scrim{position:absolute;inset:0;background:color-mix(in srgb,var(--md-scrim) 40%,transparent)}.picker__sheet{position:relative;display:flex;flex-direction:column;width:min(18rem,90vw);max-height:min(26rem,88dvh);overflow:hidden;background:var(--md-surface-container-high);border-radius:var(--md-shape-xl);box-shadow:var(--md-elevation-3)}.picker__title{margin:0;padding:1rem 1.5rem .5rem;font:500 1.1rem/1.3 var(--md-font);color:var(--md-on-surface-variant)}.time-picker__list{margin:0;padding:0 0 .5rem;list-style:none;overflow-y:auto;overscroll-behavior:contain}.time-picker__option{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:3.25rem;padding:0 1.5rem;font:inherit;font-size:1.2rem;color:var(--md-on-surface);background:transparent;border:0;cursor:pointer}.time-picker__option:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}.time-picker__option:focus-visible{outline:2px solid var(--md-primary);outline-offset:-2px}.time-picker__option--on{font-weight:500;color:var(--md-on-primary-container);background:var(--md-primary-container)}.screen-settings{display:flex;flex-direction:column;gap:1rem;max-width:48rem;margin:0 auto}.settings-card{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;background:var(--md-surface-container-low);border:1px solid var(--md-outline-variant);border-radius:var(--md-shape-xl)}.settings-card__heading{margin:0;font:500 1.25rem/1.3 var(--md-font)}.settings-card__help{margin:0;color:var(--md-on-surface)}.settings-card__status,.settings-card__note{margin:0;font-size:.95rem;color:var(--md-on-surface-variant)}.swatches{display:flex;flex-wrap:wrap;gap:.5rem}.swatch{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:4.25rem;padding:.5rem .4rem;border:2px solid transparent;border-radius:var(--md-shape-lg);background:transparent;color:var(--md-on-surface);font:500 .8125rem/1 var(--md-font);cursor:pointer}.swatch--on{border-color:var(--md-outline);background:var(--md-surface-container-high)}.swatch__dot{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--md-shape-full);background:var(--swatch-light);color:var(--md-surface);font-size:1.1rem;font-weight:700}:root[data-theme=dark] .swatch__dot{background:var(--swatch-dark)}.segmented--wide{display:flex;width:100%}.segmented--wide .segmented__btn{flex:1}.date-picker{width:min(21.5rem,94vw);max-height:min(31rem,96dvh);padding:.75rem 1rem 1rem;overflow-y:auto}.date-picker__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.date-picker__month{margin:0;font:500 1.15rem/1.3 var(--md-font);text-align:center}.date-picker__nav{display:grid;place-items:center;flex:none;width:2.75rem;height:2.75rem;color:var(--md-on-surface-variant);background:transparent;border:0;border-radius:var(--md-shape-full);cursor:pointer}.date-picker__nav .icon{width:1.5rem;height:1.5rem}.date-picker__nav .icon svg{display:block;width:100%;height:100%}.date-picker__nav:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}.date-picker__weekdays,.date-picker__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.date-picker__weekdays{font:600 .75rem/2rem var(--font-label);text-align:center;color:var(--md-on-surface-variant)}.date-picker__grid{gap:.15rem 0}.date-picker__day{height:2.6rem;padding:0;font:inherit;font-size:1rem;color:var(--md-on-surface);background:transparent;border:0;border-radius:var(--md-shape-full);cursor:pointer}.date-picker__day:hover:not(:disabled){background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}.date-picker__day:focus-visible{outline:2px solid var(--md-primary);outline-offset:-2px}.date-picker__day--out{color:var(--md-on-surface-variant);opacity:.55}.date-picker__day--today{box-shadow:inset 0 0 0 2px var(--md-primary)}.date-picker__day--on,.date-picker__day--on:hover:not(:disabled){font-weight:700;color:var(--md-on-primary);background:var(--md-primary);opacity:1}.date-picker__day:disabled{opacity:.3;cursor:default}.date-picker__foot{display:flex;justify-content:space-between;gap:.75rem;margin-top:.75rem}.calendar-area--scroll{touch-action:auto}.page-scroller{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.page-scroller::-webkit-scrollbar{display:none}.page-scroller__page{flex:0 0 100%;min-width:0;scroll-snap-align:start}.app--kiosk .page-scroller{gap:1.5rem}.picker.confirm{z-index:70}.confirm__sheet{width:min(24rem,92vw);padding:1.5rem 1.5rem 1.25rem;gap:.75rem}.confirm__title{margin:0;font:500 1.4rem/1.3 var(--md-font);color:var(--md-on-surface)}.confirm__message{margin:0;font-size:1rem;line-height:1.45;color:var(--md-on-surface-variant)}.confirm__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:.75rem}.app--pinned{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app--pinned>.toolbar{flex:none}.app--pinned>.layout{flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch}.calendar-area--month{flex:1;min-height:0;display:flex;flex-direction:column}.calendar-area--month>.grid--month-header{flex:none}.page-scroller--month{flex:1;min-height:0}.page-scroller--month .page-scroller__page{height:100%;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none}.page-scroller--month .page-scroller__page::-webkit-scrollbar{display:none}
