@font-face{font-family:Roboto Slab;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/roboto-slab-var.woff2)format("woff2")}:root{--font-family:"Roboto Slab", Georgia, serif}:root:not([data-theme=dark]){--background:#b3d4ef;--text:#111;--card:#ffffffb3;--border:#111;--blue-day:#123c85;--white-day:#fff;--ram-day:#d10000;--ring-background:#fff;--ring-progress:#111;--field:#fff;--row-border:#0000002e;--hover:#fff6}:root[data-theme=dark]{--background:#131f30;--text:#e8eef6;--card:#ffffff14;--border:#d5e0ec;--blue-day:#8ab4f8;--ram-day:#ff6b6b;--ring-background:#ffffff24;--ring-progress:#e8eef6;--field:#1d2b3f;--row-border:#ffffff26;--hover:#ffffff1f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--background:#131f30;--text:#e8eef6;--card:#ffffff14;--border:#d5e0ec;--blue-day:#8ab4f8;--ram-day:#ff6b6b;--ring-background:#ffffff24;--ring-progress:#e8eef6;--field:#1d2b3f;--row-border:#ffffff26;--hover:#ffffff1f}}:root[data-theme=dark] .day-white{text-shadow:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .day-white{text-shadow:none}}*,:before,:after{box-sizing:border-box}body{background:var(--background);min-height:100svh;color:var(--text);font-family:var(--font-family);z-index:100;margin:0}button,input,select,textarea{font-family:var(--font-family)}.container{width:min(900px,92%);margin-inline:auto;padding-block:50px 80px}.day-section,.tracker,.schedule-section,.dev-panel{text-align:center;z-index:100;position:relative}.dev-panel{z-index:100;border:1px solid var(--border);background:var(--card);text-align:left;opacity:.67;border-radius:10px;width:min(280px,100vw - 28px);padding:12px;font-family:system-ui,sans-serif;font-size:12px;position:fixed;bottom:14px;right:14px}.dev-panel:hover,.dev-panel:focus-within{opacity:1}.dev-panel h2{margin:0;font-size:15px}.dev-panel p{opacity:.75;margin:4px 0 10px}.dev-controls,.dev-actions{flex-wrap:wrap;justify-content:flex-start;gap:6px;display:flex}.dev-controls label{text-align:left;gap:6px;font-size:14px;font-weight:700;display:grid}.dev-controls input{border:2px solid var(--border);background:var(--field);width:120px;color:var(--text);font:inherit;border-radius:8px;padding:5px 6px}.dev-actions{margin-top:10px}.dev-status{opacity:.75;min-height:16px;margin-top:6px;font-size:14px}.theme-toggle{z-index:200;border:1px solid var(--row-border);background:var(--card);width:34px;height:34px;color:var(--text);cursor:pointer;opacity:.5;border-radius:999px;place-items:center;padding:0;transition:opacity .15s,background-color .15s;display:grid;position:fixed;top:10px;right:12px}.theme-toggle:hover,.theme-toggle:focus-visible{opacity:1;background:var(--hover)}.theme-toggle:active{transform:scale(.94)}.theme-icon{grid-area:1/1;width:16px;height:16px;transition:opacity .15s,transform .15s}.theme-icon-sun{opacity:0;transform:rotate(-45deg)scale(.6)}:root[data-theme=dark] .theme-icon-sun{opacity:1;transform:none}.theme-icon-moon{opacity:1}:root[data-theme=dark] .theme-icon-moon{opacity:0;transform:rotate(45deg)scale(.6)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-icon-sun{opacity:1;transform:none}:root:not([data-theme=light]) .theme-icon-moon{opacity:0;transform:rotate(45deg)scale(.6)}}#dayMessage{margin:0 0 55px;font-size:clamp(36px,7vw,64px);line-height:1.1}#dayMessage.loading{color:#0000;background:linear-gradient(90deg, var(--row-border) 35%, var(--border) 50%, var(--row-border) 65%);-webkit-user-select:none;user-select:none;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:1.4s linear infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.day-blue{color:var(--blue-day)}.day-white{color:var(--white-day);text-shadow:0 1px 3px #000000bf}.day-ram{color:var(--ram-day)}.current-period{margin-bottom:20px;font-size:clamp(34px,6vw,52px);font-weight:700}.countdown{font-variant-numeric:tabular-nums;margin-bottom:35px;font-size:clamp(60px,13vw,120px);font-weight:700;line-height:1}.countdown.ending{color:var(--ram-day);animation:1s ease-in-out infinite countdown-pulse}@keyframes countdown-pulse{0%,to{opacity:1}50%{opacity:.72}}.period-times{opacity:.8;margin-top:20px;font-size:18px}@property --progress{syntax:"<angle>";inherits:false;initial-value:0deg}.progress-wrapper,.progress-ring,.progress-inner{place-items:center;display:grid}.progress-ring{--progress:0deg;aspect-ratio:1;background:conic-gradient(var(--ring-progress) 0deg var(--progress), var(--ring-background) var(--progress) 360deg);border-radius:50%;width:190px;transition:--progress 1s linear}.progress-ring.no-anim{transition:none}.progress-ring.ending{--ring-progress:var(--ram-day);animation:1s ease-in-out infinite ring-pulse}@keyframes ring-pulse{0%,to{transform:scale(1)}50%{filter:drop-shadow(0 0 6px var(--ram-day));transform:scale(1.03)}}.progress-inner{aspect-ratio:1;background:var(--background);border-radius:50%;width:72%}#progressPercent{font-size:24px;font-weight:700}.lunch-section,.notif-section,.schedule-section{margin-top:30px}.notif-hint{opacity:.65;text-align:center;max-width:460px;margin:6px auto 0;font-size:12px}.notif-section h2{text-align:center;margin:0 0 18px;font-size:32px}.notif-hint{opacity:.75;max-width:460px;margin:14px auto 0;font-size:14px}.notif-options{border:2px solid var(--border);background:var(--card);text-align:left;border-radius:14px;max-width:460px;margin:18px auto 0;padding:6px 18px}.notif-option{cursor:pointer;align-items:center;gap:10px;padding:10px 0;font-size:16px;display:flex}.notif-option input{width:18px;height:18px;accent-color:var(--blue-day)}.notif-option+.notif-option{border-top:1px solid var(--row-border)}.notif-option-active span{font-weight:700}.notif-type-options.off .notif-option{opacity:.55}.lunch-section h2{text-align:center;font-size:32px}.lunch-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.lunch-card{border:2px solid var(--border);background:var(--card);text-align:center;border-radius:14px;padding:20px}.lunch-title{margin:0;font-size:22px;font-weight:700}.lunch-timer{font-variant-numeric:tabular-nums;margin-top:10px;font-size:34px;font-weight:700}.lunch-status{min-height:22px;margin-top:8px;font-size:14px}.schedule-button{border:2px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:12px 24px;font-family:inherit;font-size:17px;font-weight:700;transition:background-color .15s,transform .15s}.schedule-button:hover,.clock-toggle:hover{background:var(--hover)}.schedule-button:active,.clock-toggle:active{transform:scale(.97)}.clock-toggle{border:2px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:8px 18px;font-family:inherit;font-size:14px;font-weight:700;transition:background-color .15s}.schedule-button:focus-visible,.clock-toggle:focus-visible,.schedule-header select:focus-visible,.theme-toggle:focus-visible{outline:3px solid var(--blue-day);outline-offset:3px}.schedule-panel{border:2px solid var(--border);background:var(--card);border-radius:18px;max-width:700px;margin:25px auto 0;padding:20px}.schedule-header,.schedule-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.schedule-header{margin-bottom:20px}.schedule-header-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.lunch-picker{opacity:.85;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.schedule-header h2{margin:0}.schedule-header select{border:2px solid var(--border);background:var(--field);color:var(--text);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:15px}.schedule-row{border-bottom:1px solid var(--row-border);padding:13px 10px;font-size:18px}.schedule-row:last-child{border-bottom:0}.schedule-row.current{font-weight:700;text-decoration:underline}.schedule-time{white-space:nowrap}.schedule-name{flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.edit-btn{width:26px;height:26px;color:var(--text);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;transition:opacity .12s;display:inline-flex}.schedule-row:hover .edit-btn,.schedule-row:focus-within .edit-btn,.edit-btn:focus-visible{opacity:1}.edit-btn:hover{background:var(--hover)}.edit-btn:focus-visible{outline:3px solid var(--blue-day);outline-offset:1px}.edit-btn svg{pointer-events:none;width:15px;height:15px}.name-input{border:2px solid var(--blue-day);background:var(--field);min-width:0;max-width:16rem;color:var(--text);font:inherit;border-radius:8px;flex:auto;padding:4px 8px;font-size:16px}.name-input:focus{outline:none}@media (hover:none){.edit-btn{opacity:1}}.lunch-row{opacity:.75;padding-left:28px}.hidden{display:none!important}.footer{opacity:.4;color:inherit;-webkit-user-select:none;user-select:none;font-size:11px;position:fixed;bottom:8px;right:12px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button-row{grid-template-columns:auto auto;justify-content:center;align-items:center;gap:10px;margin-top:22px;display:grid}.button-row>.schedule-button{grid-column:1/-1;justify-self:center}@media (width<=650px){.container{padding-top:35px}.schedule-header-controls{justify-content:center}#dayMessage{margin-bottom:40px}.countdown{margin-bottom:30px;font-size:clamp(48px,13vw,60px)}.progress-ring{width:150px}.lunch-grid{grid-template-columns:1fr}.schedule-header{flex-direction:column}.notif-option{font-size:15px}.schedule-row{font-size:16px}.footer{text-align:center;width:100%;padding:20px 12px 12px;font-size:9px;position:static}.changelog-toggle{bottom:10px;left:10px}}@media (prefers-reduced-motion:reduce){.schedule-button,.clock-toggle,.edit-btn,.theme-toggle,.theme-icon,.progress-ring{transition:none}.progress-ring.ending,.countdown.ending,#dayMessage.loading{animation:none}}.daily-message{border-bottom:2px solid var(--border);background:var(--card);text-align:center;overflow-wrap:anywhere;width:100%;margin:0 0 -10px;padding:12px 20px}.daily-message[hidden]{display:none!important}.daily-message h2{margin:0 0 6px;font-size:20px}.daily-message p{margin:0;font-size:20px;line-height:1.6}.daily-message a{color:var(--blue-day);text-underline-offset:2px;font-weight:700;text-decoration-thickness:1.5px}.daily-message a:focus-visible{outline:3px solid var(--blue-day);outline-offset:2px;border-radius:3px}.changelog-toggle{z-index:200;border:1px solid var(--row-border);background:var(--card);color:var(--text);cursor:pointer;opacity:.67;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:700;position:fixed;bottom:10px;left:12px}.changelog-toggle:hover,.changelog-toggle:focus-visible{opacity:1;background:var(--hover)}.changelog-toggle:active{transform:scale(.96)}.changelog-toggle:focus-visible{outline:3px solid var(--blue-day);outline-offset:3px}.changelog-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000004d;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.changelog-modal{border:2px solid var(--border);background:var(--background);width:min(700px,100%);max-height:min(650px,80vh);color:var(--text);border-radius:18px;padding:28px;position:relative;overflow-y:auto;box-shadow:0 16px 50px #0000004d}.changelog-modal h2{margin:0 40px 24px 0;font-size:30px}.changelog-entry+.changelog-entry{border-top:1px solid var(--row-border);margin-top:26px;padding-top:20px}.changelog-entry h3{margin:0;font-size:20px}.changelog-date{opacity:.6;margin:4px 0 12px;font-size:13px}.changelog-entry ul{margin:12px 0 0;padding-left:22px}.changelog-entry li{margin-bottom:8px;line-height:1.5}.changelog-close{width:34px;height:34px;color:var(--text);cursor:pointer;opacity:.6;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-family:inherit;font-size:28px;line-height:1;transition:opacity .15s,background-color .15s;display:grid;position:absolute;top:12px;right:14px}.changelog-close:hover,.changelog-close:focus-visible{opacity:1;background:var(--hover)}.changelog-close:focus-visible{outline:3px solid var(--blue-day);outline-offset:2px}@media (width<=650px){.changelog-toggle{font-size:10px;bottom:8px;left:8px}.changelog-modal{padding:24px 20px}.changelog-modal h2{font-size:26px}}.changelog-modal{scrollbar-width:thin;scrollbar-color:var(--row-border) transparent}.changelog-modal::-webkit-scrollbar{width:10px}.changelog-modal::-webkit-scrollbar-track{background:0 0}.changelog-modal::-webkit-scrollbar-thumb{background:var(--row-border);background-clip:content-box;border:2px solid #0000;border-radius:999px}.changelog-modal::-webkit-scrollbar-thumb:hover{background:var(--text);background-clip:content-box}@media (width<=650px){.button-row{grid-template-columns:1fr}.button-row>.schedule-button{grid-column:auto}.button-row>button{justify-self:center}.container{padding-bottom:50px}}.footer{opacity:.8}.feedback-link{color:var(--blue-day)}.theme-toggle svg{width:28px;height:28px}.theme-customizer{z-index:900;border:2px solid var(--border);background:var(--background);width:min(360px,100vw - 24px);max-height:calc(100svh - 70px);color:var(--text);border-radius:16px;padding:18px;position:fixed;top:54px;right:12px;overflow-y:auto;box-shadow:0 14px 45px #00000040}.theme-customizer-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.theme-customizer-header h2{margin:0;font-size:22px}.theme-customizer-close{width:32px;height:32px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:26px;line-height:1;display:grid}.theme-customizer-close:hover,.theme-customizer-close:focus-visible{background:var(--hover)}.theme-control-section{border-top:1px solid var(--row-border);padding:16px 0}.theme-control-section:first-of-type{border-top:0}.theme-control-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.color-preview{border:2px solid var(--border);border-radius:50%;width:28px;height:28px}.theme-font-row{gap:8px;margin-top:10px;display:flex}.theme-font-row input{border:2px solid var(--border);background:var(--field);min-width:0;color:var(--text);border-radius:8px;flex:1;padding:8px 10px}.theme-font-row button,.theme-reset-button,.theme-reset-light,.theme-reset-dark,.theme-reset-all{border:2px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:8px 12px;font-weight:700}.theme-font-row button:hover,.theme-reset-button:hover,.theme-reset-all:hover{background:var(--hover)}.theme-help{opacity:.7;margin:8px 0 10px;font-size:12px;line-height:1.4}.contrast-warning{color:#7f1d1d;text-align:left;background:#ffe5e0;border:1px solid #d10000;border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:12px;line-height:1.45}.contrast-warning[hidden]{display:none!important}.rgb-control{grid-template-columns:18px 1fr 42px;align-items:center;gap:8px;margin:9px 0;display:grid}.rgb-control input[type=range]{width:100%;accent-color:var(--blue-day)}.rgb-control output{text-align:right;font-variant-numeric:tabular-nums}.hex-control{align-items:center;gap:10px;margin:14px 0 12px;font-weight:700;display:flex}.hex-control input{border:2px solid var(--border);background:var(--field);width:110px;color:var(--text);border-radius:8px;padding:7px 9px;font-family:monospace}.theme-reset-button{padding:6px 10px;font-size:12px}.theme-reset-all{width:100%;margin-top:6px}.theme-customizer button:focus-visible,.theme-customizer input:focus-visible{outline:3px solid var(--blue-day);outline-offset:2px}@media (width<=650px){.theme-customizer{width:calc(100vw - 16px);max-height:calc(100svh - 64px);top:52px;right:8px}}
