#Calendar{display:grid;grid-template-columns:400px 1520px;position:relative}#Calendar .background-refresh-indicator{position:fixed;bottom:20px;left:20px;z-index:1000;background-color:#000c;color:#fff;padding:8px 12px;border-radius:6px;font-size:.9rem;font-weight:500;animation:fadeInOut 1.5s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:.6}50%{opacity:1}}#Calendar .header{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;position:relative;width:100%;display:grid;grid-template-columns:1fr 120px 1fr}#Calendar .header h1{font-size:4rem}#Calendar .header .nav-buttons{display:flex;justify-self:flex-end;height:60px;justify-content:center;align-items:center}#Calendar .header button{background:none;border:2px solid #0e0e0e;border-radius:20px;padding:8px 16px;font-size:1rem;font-weight:700;color:#0e0e0e;cursor:pointer;transition:all .2s ease;font-family:inherit;margin:0 1rem}#Calendar .header button:hover{background-color:#0e0e0e;color:#fff;transform:scale(1.2)}#Calendar .header button:active{transform:scale(.8)}#Calendar .header button.focused{background-color:#0e0e0e;color:#fff;transform:scale(1.2);box-shadow:0 0 0 3px #0000004d}#Calendar .header .nav-button{background:none;border:2px solid #0e0e0e;padding:0;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#0e0e0e;cursor:pointer;transition:all .2s ease}#Calendar .header .nav-button:hover{transform:scale(1.2)}#Calendar .time{font-family:Domine;font-weight:700;padding:4px;display:flex}#Calendar .time sup{vertical-align:top;font-size:.7rem;transform:translateY(-2.5px)}#meal-plan{display:flex;flex-direction:column;align-items:center;width:100%;padding:1rem 0;height:450px;margin-top:auto}#meal-plan h3{font-family:Domine;font-size:1.25rem;margin-bottom:.75rem;text-align:center}#meal-plan .dinners-list{display:flex;flex-direction:column;gap:.25rem;width:100%;max-width:500px}#meal-plan .dinners-list .dinner-item{display:flex;align-items:center;border:2px solid var(--black);border-radius:.5rem;background-color:#fff;overflow:hidden;min-height:40px}#meal-plan .dinners-list .dinner-item.today{border-color:var(--yellow);border-width:3px}#meal-plan .dinners-list .dinner-item.today .day-info{background-color:var(--yellow);color:var(--black)}#meal-plan .dinners-list .dinner-item .day-info{background-color:var(--black);color:#fff;padding:.4rem .7rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px}#meal-plan .dinners-list .dinner-item .day-info .day-name{font-weight:700;font-size:.75rem;text-transform:uppercase;line-height:1}#meal-plan .dinners-list .dinner-item .day-info .day-date{font-size:1rem;font-weight:500;line-height:1.2}#meal-plan .dinners-list .dinner-item .dinner-content{flex:1;padding:.5rem .75rem;font-size:.9rem;line-height:1.2}@media (max-width: 600px){#meal-plan .dinners-list .dinner-item .day-info{padding:.6rem .8rem;min-width:70px}#meal-plan .dinners-list .dinner-item .day-info .day-name{font-size:.8rem}#meal-plan .dinners-list .dinner-item .day-info .day-date{font-size:1.1rem}#meal-plan .dinners-list .dinner-item .dinner-content{padding:.6rem .8rem;font-size:.95rem}}.homework-section{display:flex;flex-direction:column;width:100%}.homework-section h3{align-self:center;font-family:Domine;font-size:1.5rem;margin-bottom:.5rem}.homework-section .homework-subsection{margin-bottom:1rem;border:solid black 2px;border-radius:8px;padding:.5rem;background-color:#fff}.homework-section .homework-subsection h4{font-size:1.25rem;margin:0;text-decoration:underline}.homework-section .homework-subsection p{margin:.5rem 0}:root{--yellow: #fbcf01;--blue: #5ca5ed;--black: #0e0e0e;--white: #f0f0f0}#today{padding:1rem;border-right:solid 1px black;display:flex;flex-direction:column;align-items:center;display:grid;grid-template-rows:112px auto}#today .today-header{display:flex;flex-direction:column;align-items:center;background-color:var(--yellow);justify-content:center;align-self:flex-start;border-radius:8px;gap:1rem;padding:.5rem 0}#today .today-header h1{font-size:3rem;margin:0}#today .today-header h2{font-family:Domine;font-size:1.5rem;margin:0}#today #today-body{display:flex;flex-direction:column;align-self:flex-start;height:100%}#today h3{font-family:Domine;font-size:1.5rem;margin-bottom:.5rem}#today #all-day-events{display:flex;flex-direction:column;align-items:center}#today #all-day-events h1{font-size:2.5rem;font-weight:700;margin:0}#today #weather{display:flex;flex-direction:column;display:grid;grid-template-columns:auto auto;width:100%;grid-template-rows:45px 80px 100px;justify-items:center;align-items:center;grid-template-areas:"icon thermometer" "icon thermometer" "temp-rain-chart thermometer"}#today #weather h1{font-size:2.5rem;font-weight:700;margin:0}#today #weather #temp-rain-chart{grid-area:temp-rain-chart}#today #weather #weather-icon-container{grid-area:icon}#today #weather #thermometer-container{grid-area:thermometer;display:grid;grid-template-areas:"thermometer labels"}#today #weather #thermometer-container #thermometer{background-color:#000;height:200px;width:42px;border-radius:84px}#today #weather #thermometer-container #labels{display:flex;flex-direction:column;align-items:center;position:absolute}#today #weather .today{display:flex;flex-direction:row;align-items:center;justify-content:space-around;width:100%;margin-bottom:1rem}#today #weather .today label{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;font-size:1rem;font-weight:700;margin-right:1rem;text-align:center;border:solid var(--black) 2px;border-radius:1rem}#today #weather .today label span{background-color:var(--black);color:#fff;width:100%;padding:1rem 0 .5rem}#today #weather .today label p{padding:.5rem;font-size:1.5rem;font-weight:700}#today #events{width:100%;display:flex;flex-direction:column;align-items:center}#today #events h3{margin-bottom:1rem}#today #events .event{display:grid;grid-template-columns:auto 1fr;width:94%;border:solid black 2px;align-items:center;gap:8px;font-size:1.1rem;font-weight:400;margin-bottom:1rem;border-radius:2rem;padding-right:1rem}#today #events .event .times{display:flex;flex-direction:row;align-items:center;background-color:var(--black);color:#fff;padding:.5rem;width:80px;justify-content:center;border-radius:50px 0 0 50px}#today #events .event .times p{padding:8px 0}#today #events .event .times .time{font-size:1.1rem;font-weight:500;padding:0}#today #events .event .times .dash{margin:0 4px;transform:translateY(-2px)}#today .lunch-section{display:flex;flex-direction:column;align-items:center}#today .dinner-section{margin-top:1rem;display:flex;flex-direction:column;align-items:center}#Weekly{height:100%;width:98%;display:grid;grid-template-rows:99px 20px 960px;padding-left:1rem;padding-right:1rem}#Weekly .calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:944px;border:2px solid #0e0e0e;background-color:#fffc}#Weekly .calendar-loading p{font-size:1.5rem;margin-top:1rem;font-family:Domine,serif}#Weekly .calendar-loading .spinner{width:50px;height:50px;border:5px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#0e0e0e;animation:spin 1s ease-in-out infinite}#Weekly .week-container{display:flex;flex:1;border:2px solid #0e0e0e;height:944px;width:1484px;overflow-y:auto}#Weekly .time-column{width:80px;border-right:1px solid #d8d8d8;display:flex;flex-direction:column}#Weekly .time-column .time-header{height:101px;height:161px;border-bottom:1px solid #d8d8d8;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end}#Weekly .time-column .time-header span{margin-bottom:11px;margin-right:4px}#Weekly .time-column .time-slots-container{position:relative;height:832px}#Weekly .time-column .time-slot{display:flex;justify-content:flex-end;color:#666;font-size:.85rem;right:4px}#Weekly .week-days{display:flex;flex:1}#Weekly .week-days .week-day{flex:1;display:flex;flex-direction:column;border-right:1px solid #d8d8d8}#Weekly .week-days .week-day:last-child{border-right:none}#Weekly .week-days .week-day.today .day-header{background-color:#fbcf01;border:solid black 2px;border-top:none;font-weight:600}#Weekly .week-days .day-header{height:40px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #d8d8d8;font-family:Domine,serif;padding:0 5px;text-align:center;position:sticky;top:0;z-index:2}#Weekly .week-days .all-day-events{padding:5px;min-height:50px;min-height:26px;min-height:calc(.8rem + 16px);border-bottom:1px solid #d8d8d8;display:flex;flex-direction:column;gap:3px;position:sticky;top:40px;background-color:#fff;z-index:2}#Weekly .week-days .all-day-events .all-day-event{padding:3px 6px;border-radius:4px;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:solid black 2px}#Weekly .week-days .meals{padding:5px;min-height:40px;min-height:calc((.8rem + 16px)*2);border-bottom:1px solid #d8d8d8;display:flex;flex-direction:column;gap:3px;position:sticky;top:90px;background-color:#fff;z-index:2}#Weekly .week-days .meals .meal-event{padding:3px 6px;border-radius:4px;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:solid black 2px;font-weight:600}#Weekly .week-days .day-events{flex:1;position:relative;padding:5px;height:960px}#Weekly .week-days .day-events .week-event{border:solid black 2px;padding:4px 6px;border-radius:4px;font-size:.9rem;position:absolute;width:87%;min-height:24px;z-index:1;overflow:visible;display:grid;grid-template-columns:auto 28px;grid-template-areas:"event-summary event-time"}#Weekly .week-days .day-events .week-event .event-time{grid-area:event-time;font-family:Domine,serif;font-weight:600;font-size:1rem;justify-self:flex-end}#Weekly .week-days .day-events .week-event .event-time sup{vertical-align:top;font-size:.7rem;transform:translateY(-2.5px)}#Weekly .week-days .day-events .week-event .event-summary{grid-area:event-summary;white-space:nowrap;overflow:hidden;text-wrap:auto;display:flex;align-items:baseline}#Weekly .week-days .day-events .week-event .event-summary .summary-text{width:120px}#Weekly .week-days .day-events .week-event .event-summary .event-dot{width:10px;height:10px;min-width:10px;border-radius:50%;background-color:#0e0e0e;margin-right:4px;border:solid black 1px}#Weekly .week-days .day-events .current-time-indicator{position:absolute;left:0;right:0;height:2px;background-color:#fbcf01;z-index:3;pointer-events:none}#Weekly .week-days .day-events .current-time-indicator:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;background-color:#fbcf01;border-radius:50%}#Weekly .week-days .day-events .current-time-indicator .current-time-label{position:absolute;left:12px;top:-10px;background-color:#fbcf01;color:#fff;padding:2px 5px;font-size:.75rem;border-radius:3px;font-weight:700;white-space:nowrap}#Weekly .week-days .day-events .hour-gridline{position:absolute;left:0;right:0;height:1px;background-color:#e0e0e0}#month{height:100%;display:grid;grid-template-rows:auto 6fr;grid-template-rows:99px 20px 960px;padding-left:1rem;padding-right:1rem}#month #day-labels{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:21px;align-items:center;justify-items:center;z-index:10}#month .calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:944px;border:solid black 2px;background-color:#fffc}#month .calendar-loading p{font-size:1.5rem;margin-top:1rem;font-family:Domine,serif}#month .calendar-loading .spinner{width:50px;height:50px;border:5px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#0e0e0e;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}#month #days{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(5,189px);height:944px;border:solid black 2px;z-index:20;overflow:visible}#month #days #next-month-label{position:absolute;font-size:1.3rem;background-color:#ffffffe6;padding:2px 8px;z-index:50}#month #days .day{display:flex;flex-direction:column;color:#0e0e0e;font-size:1.5rem;font-style:normal;padding:8px;border:solid rgb(216,216,216) 1px;z-index:30;display:grid;grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;grid-template-areas:"day-number day-events" "events events";position:relative}#month #days .day .event-icon{height:16px}#month #days .day.past{filter:url(#desaturate)}#month #days .day .day-number{font-size:1.5rem;font-family:Domine,serif;border-radius:50%;border:solid #0e0e0e 2px;width:2.5rem;height:2.5rem;display:flex;justify-content:center;align-items:center}#month #days .day .day-number.today{background-color:#fbcf01;border-color:transparent}#month #days .day .day-number.past{background-color:#0000001a;color:#00000040;border-color:transparent}#month #days .day .day-events{grid-area:day-events;display:flex;flex-direction:column;gap:4px;font-weight:400;justify-content:flex-start;text-align:center}#month #days .day .day-events .event{font-size:.8rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center;margin-left:8px;padding:4px;border-radius:1.25rem}#month #days .day .day-events .event .event-icon{height:16px;margin-right:4px}#month #days .day .events-container{grid-area:events;overflow:hidden;position:relative;margin-top:4px}#month #days .day .events{display:flex;flex-direction:column;margin-top:4px;font-weight:400;gap:2px}#month #days .day .events.scroll-text{position:absolute;animation:scroll-up 6s ease-in-out infinite}#month #days .day .events .event{display:grid;grid-template-columns:auto 1fr;border:solid black 2px;align-items:center;gap:8px;font-size:.8rem;font-weight:400;margin:0 .5rem .5rem 0;border-radius:1.25rem;padding-right:1rem;margin:0;border:none;border-radius:0;border-bottom:solid black 0px;grid-template-columns:24px 24px auto;grid-gap:14px;text-align:left;justify-items:start;text-overflow:ellipsis}#month #days .day .events .event:last-child{margin-bottom:.2rem}#month #days .day .events .event img{max-height:28px;max-width:28px}#month #days .day .events .event .monogram{background-color:#fbcf01;padding:4px;border-radius:16px;min-width:1rem;min-height:1rem;display:flex;align-content:center;justify-content:center}#month #days .day .events .event .time{display:flex;flex-direction:row;align-items:center;padding:4px;justify-content:flex-start;height:100%;font-size:1rem;font-weight:500}@keyframes scroll-up{0%{top:0}25%{top:var(--overflow-height)}50%{top:var(--overflow-height)}75%{top:0}to{top:0}}#month .cross-mark{width:212px;height:189px;position:relative;position:absolute;z-index:3}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{padding:0;max-width:500px;width:90%;background-color:#fff;border:solid 4px black;max-height:864px;overflow:hidden;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{background:#fbcf01;color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.5rem}.modal-content{padding:1.5rem;color:#333;display:flex;flex-direction:column;align-items:center;font-family:Domine,serif}.modal-content .modal-link{margin-bottom:1rem;color:#0e0e0e;margin:2rem 0;text-decoration:none;transition:all .3s ease;font-size:2rem;border:solid black 3px;padding:.5rem 1rem;background-color:#fff;cursor:pointer}.modal-content .modal-link.active,.modal-content .modal-link:hover{background-color:#fbcf01}.modal-content .modal-link.selected.active{background-color:#fbcf01;border-color:#5ca5ed}.domine-700{font-family:Domine,serif;font-optical-sizing:auto;font-weight:700;font-style:normal}*{margin:0;padding:0;box-sizing:border-box;overflow:hidden}@media (max-width: 768px){*{overflow:visible}}h1,h2,h3,p,sup,span,strong,em,label,b,i,a,button,input,textarea,select{overflow:visible}*,*:before,*:after{box-sizing:inherit}#root{height:100%;width:100%;overflow:hidden}html,body{height:100%;overflow:hidden}@media (max-width: 768px){html,body{overflow:visible;position:fixed;width:100%}}hr{width:80%;height:20px;border:none;background-image:url(./assets/hr/left-end.svg),url(/assets/line-BncYQKgM.svg),url(/assets/center-g_MsmPWn.svg),url(./assets/hr/right-end.png);background-repeat:no-repeat,repeat-x,no-repeat,no-repeat;background-size:20px 20px,auto 20px,20px 20px,20px 20px;background-position:left center,center center,center center,right center;margin:1rem 0}.hr{width:100%;margin:.5rem 0}._hr{display:grid;justify-items:stretch;align-items:center;grid-template-columns:20px 1fr 20px 1fr 20px;height:20px;width:80%}._hr img{height:20px}._hr .stretch-container{width:100%}._hr .stretch{width:100%;height:20px;object-fit:fill}._hr svg{width:100%;height:20px;object-fit:fill}._hr svg line{width:100px}html{font-size:16px;margin:0;padding:0;height:1080px;width:100dvw;background:linear-gradient(0deg,#e5e7e9,#fff)}body{font-family:Domine,sans-serif;font-style:normal;margin:0;height:100%;width:100%}@font-face{font-family:Blue Eyes;src:url(/assets/Blue%20Eyes-DYfUaIj7.otf)}h1,h2,h3{font-family:Blue Eyes,serif;font-optical-sizing:auto;font-weight:700;font-style:normal}button{font-family:Domine,sans-serif;font-weight:700;font-style:normal}.connection-dot{position:fixed;top:10px;right:10px;width:12px;height:12px;border-radius:50%;z-index:1000;opacity:.8;transition:opacity .3s ease;cursor:help;display:inline-block}.connection-dot:hover{opacity:1}.connection-dot.green{background-color:#4caf50}.connection-dot.red{background-color:#f44336;animation:pulse 2s infinite}.connection-dot.yellow{background-color:#ff9800;animation:pulse-warning 1.5s infinite}@keyframes pulse{0%{opacity:.8}50%{opacity:.4}to{opacity:.8}}@keyframes pulse-warning{0%{opacity:.8}50%{opacity:.5}to{opacity:.8}}.main-container{display:flex;flex-direction:column;height:1080px;width:100%}.main-container .view-container{flex:1;overflow:auto}
