:root{color:#f5f5f5f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--main:#121212;--secondary:#050505;--text:#f5f5f5f0;--muted:#f5f5f594;--accent:#3b82f6;background:#121212;font-family:Noto Sans,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}main{padding:16px}button,select,input{font:inherit;color:var(--text);background:var(--secondary);border:1px solid #f5f5f533;border-radius:8px;min-height:36px;padding:7px 10px}button{cursor:pointer}button:hover{border-color:#f5f5f57a}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.calendar-page{flex-direction:column;gap:12px;height:100dvh;min-height:400px;display:flex}.calendar-toolbar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.calendar-toolbar button{height:40px}.calendar-toolbar .nav{width:44px;font-size:26px;line-height:20px}.calendar-toolbar select{margin-left:auto}.date-picker-anchor{position:relative}.date-picker{z-index:10;position:absolute;top:calc(100% + 4px);left:0}.calendar-status{color:var(--muted);flex-shrink:0;min-height:20px}.month{flex-direction:column;flex:1;min-height:0;display:flex}.weekdays{color:var(--muted);text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));height:26px;padding-bottom:6px;display:grid}.month-grid{flex:1;grid-template-rows:repeat(6,minmax(0,1fr));grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;min-height:0;display:grid}.month-day{background:#0505057a;border:1px solid #f5f5f514;min-width:0;padding:5px;overflow:hidden}.day-number{height:24px}.day-number.today{color:var(--accent);font-weight:700}.other-month,.outside-range{opacity:.4}.month-event,.more{text-align:left;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:4px;width:100%;height:23px;min-height:0;margin-top:2px;padding:0 5px;font-size:12px;display:block;overflow:hidden}.month-event{background:color-mix(in srgb, var(--event-colour) 20%, transparent)}.more{background:0 0;height:22px;font-size:14px}.timeline-view{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex}.timeline-head{text-align:center;padding-right:10px;display:grid}.timeline-scroll{scrollbar-color:#f5f5f559 transparent;scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}.time-grid{height:1440px;position:relative}.hour{width:100%;height:60px;position:absolute}.hour span{text-align:right;width:48px;color:var(--muted);font-size:11px;display:block}.hour>div{background:#f5f5f51a;height:1px;position:absolute;top:0;left:52px;right:0}.day-columns{height:1440px;display:grid;position:absolute;top:0;left:56px;right:0}.day-column{border-left:1px solid #f5f5f514;position:relative}.time-event{border:1px solid color-mix(in srgb,var(--event-colour) 65%,transparent);background:color-mix(in srgb,var(--event-colour) 22%,var(--main));text-align:left;border-radius:5px;min-height:0;padding:3px 5px;position:absolute;overflow:hidden}.event-text{flex-direction:column;gap:2px;font-size:12px;display:flex;position:sticky;top:4px}.event-text>span,.event-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-text small{color:var(--muted);font-size:11px}.event-dialog{color:var(--text);background:var(--main);border:1px solid #f5f5f538;border-radius:8px;width:min(600px,100vw - 32px);max-height:calc(100dvh - 32px);padding:20px;overflow-y:auto}.event-dialog::backdrop{background:0 0}.close{background:0 0;border:0;width:36px;min-height:32px;padding:0;position:absolute;top:0;right:0}.event-heading{margin-bottom:16px;padding-right:20px;font-size:20px}.event-title,.event-details>div{background:color-mix(in srgb,var(--text) 7%,var(--secondary));overflow-wrap:anywhere;border:1px solid #f5f5f533;border-radius:8px;min-height:36px;padding:7px 10px}.event-title{margin-bottom:12px}.event-details{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:8px 12px;display:grid}.event-details>span{text-align:right;color:var(--muted)}.notes{white-space:pre-wrap}a{color:var(--accent)}@media (width<=480px){.event-details{grid-template-columns:minmax(0,1fr)}.event-details>span{text-align:left}.month-day{padding:3px}.month-event{padding:0 3px}}
