:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}body,html,#root{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.App{width:100%;height:100%;position:relative}.silk-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}.content-area{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;min-height:100vh;padding-bottom:15vh;box-sizing:border-box}.card-container{width:90%;max-width:960px;display:flex;justify-content:center;align-items:flex-start;z-index:10;flex-grow:1;padding-bottom:0;margin-top:2rem;gap:2rem}.meal-card{width:75%;min-width:0}.chapel-card{width:0%;min-width:0;height:fit-content;opacity:0;display:none}.glass-surface{position:relative;overflow:hidden;isolation:isolate;background-color:rgba(255,255,255,var(--glass-transparency, .1));border:1px solid rgba(255,255,255,.2)}.glass-surface__filter{position:absolute;width:0;height:0;pointer-events:none}.glass-surface__content{position:relative;z-index:1;width:100%;height:100%}.glass-surface--svg{-webkit-backdrop-filter:var(--filter-id);backdrop-filter:var(--filter-id)}.glass-surface--fallback{background:linear-gradient(to bottom right,#ffffff26,#ffffff0d);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 20px #0000001a}.card-content{color:#fff;text-align:left;box-sizing:border-box;padding:2rem 2rem 10rem;width:100%}.chapel-card-wrapper{padding:2rem}.card-content h2{margin-top:0;font-size:2rem}.card-button{margin-top:1rem;padding:10px 20px;border:1px solid rgba(255,255,255,.5);background:#ffffff1a;color:#fff;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .2s}.card-button:hover{background:#fff3}.card-nav-container{width:90%;max-width:960px;z-index:99;box-sizing:border-box;margin-top:2em;flex-shrink:0}.card-nav{display:block;height:60px;padding:0;background-color:#fff;border:.5px solid rgba(255,255,255,.1);border-radius:1.5rem;box-shadow:0 4px 6px #0000001a;position:relative;overflow:hidden;will-change:height;color:#000}.card-nav.glass-surface{background-color:rgba(255,255,255,var(--glass-transparency, .1));box-shadow:none;border:1px solid rgba(255,255,255,.2);color:#fff}.card-nav-top{position:absolute;top:0;left:0;right:0;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 .75rem;z-index:2}.hamburger-menu{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;gap:6px;padding:0 .5rem}.hamburger-menu:hover .hamburger-line{opacity:.75}.hamburger-line{width:30px;height:2px;background-color:currentColor;transition:transform .25s ease,opacity .2s ease,margin .3s ease;transform-origin:50% 50%}.hamburger-menu.open .hamburger-line:first-child{transform:translateY(4px) rotate(45deg)}.hamburger-menu.open .hamburger-line:last-child{transform:translateY(-4px) rotate(-45deg)}.logo-container{display:flex;align-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);filter:brightness(0) invert(1)}.card-nav:not(.glass-surface) .logo-container{filter:none}.logo{height:28px}.card-nav-cta-button{background-color:#111;color:#fff;border:none;border-radius:1rem;padding:0 1.25rem;height:75%;font-weight:500;cursor:pointer;transition:background-color .3s ease;display:flex;align-items:center}.card-nav-cta-button:hover{background-color:#333}.card-nav-content{position:absolute;inset:60px 0 0;padding:.75rem;display:flex;align-items:center;gap:.75rem;visibility:hidden;pointer-events:none;z-index:1}.card-nav.open .card-nav-content{visibility:visible;pointer-events:auto}.nav-card{flex:1 1 0;min-width:0;border-radius:.75rem;position:relative;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;border:1px solid rgba(255,255,255,.3)}.nav-card.glass-surface{border:none}.nav-card-inner-content{position:relative;z-index:1;padding:12px 16px;gap:8px;display:flex;flex-direction:column;flex-grow:1}.nav-card-label{font-weight:400;font-size:22px;letter-spacing:-.5px}.nav-card-links{margin-top:auto;display:flex;flex-direction:column;gap:2px}.nav-card-link{font-size:16px;cursor:pointer;text-decoration:none;transition:opacity .3s ease;display:inline-flex;align-items:center;gap:6px;color:inherit}.nav-card-link:hover{opacity:.75}.nav-card-button{background:none;border:none;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:left;width:100%;font-size:16px;transition:background-color .3s ease,border-color .3s ease;display:flex;align-items:center;background-color:#ffffff0d;border:1px solid transparent;border-radius:8px;padding:6px 12px}.nav-card-button:hover{background-color:#ffffff26;border-color:#fff3}.toggle-switch-container{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:2px 0}.toggle-switch-container label{cursor:pointer}.toggle-switch{position:relative;width:44px;height:24px;background-color:#fff3;border-radius:12px;transition:background-color .3s ease}.toggle-switch.on{background-color:#fff}.toggle-handle{position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .3s ease}.toggle-switch.on .toggle-handle{transform:translate(20px);background-color:#333}.toggle-checkbox{display:none}.bottom-controls-container{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;display:flex;flex-direction:column-reverse;align-items:center;gap:.75rem}.inner-nav-bar{width:100%;height:50px;border-radius:1rem;border:1px solid rgba(255,255,255,.2);background-color:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:space-around}.inner-nav-button{background:none;border:none;color:#fff;font-family:inherit;font-size:1rem;font-weight:500;cursor:pointer;height:100%;flex-grow:1;transition:background-color .2s ease,opacity .2s ease;opacity:.7}.inner-nav-button:hover{background-color:#ffffff1a;opacity:1}.inner-nav-button.active{opacity:1;background-color:#ffffff26}.meal-period-title{text-align:center;margin-bottom:1.5rem}.meal-period-hours{text-align:center;margin-top:-1rem;margin-bottom:1.5rem;font-size:.9rem;opacity:.8;font-weight:400}.station{margin-bottom:1.5rem}.station-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:.5rem;margin-bottom:.75rem}.explain-button{background-color:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;padding:4px 10px;border-radius:8px;cursor:pointer;font-size:.75rem;font-weight:500;transition:background-color .2s;white-space:nowrap}.explain-button:hover{background-color:#fff3}.station-name{font-size:1.25rem;margin:0}.meal-list{list-style-type:none;padding:0;margin:0}.meal-item{margin-bottom:.5rem}.meal-header{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;cursor:default}.meal-name{font-weight:600;padding-right:1rem}.chevron-container{display:flex;align-items:center;cursor:pointer;padding:0 4px}.chevron-icon{transition:transform .3s ease,opacity .2s ease;opacity:.7;flex-shrink:0}.chevron-container:hover .chevron-icon{opacity:1}.chevron-icon.open{transform:rotate(180deg)}.meal-description-container{height:0;overflow:hidden;background-color:#ffffff0d;border-radius:8px;border-width:0px;border-style:solid;border-color:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.meal-description{font-style:italic;font-size:.9rem;opacity:0;margin:0;padding:.75rem 1rem}.chapel-credit-counter{text-align:center;font-weight:500;margin-top:-1rem;margin-bottom:1.25rem;opacity:.9}.chapel-events-list{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.chapel-event-card{background-color:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:15px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden;min-height:0;width:100%}.chapel-event-content{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.chapel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0;gap:.5rem}.chapel-title{font-size:1.1rem;font-weight:600;margin:0;flex:1;min-width:0}.chapel-countdown{font-size:.8rem;font-weight:500;opacity:.8;background-color:#0003;padding:.15rem .5rem;border-radius:.5rem;white-space:nowrap;flex-shrink:0}.chapel-datetime p{margin:0;line-height:1.4}.chapel-date,.chapel-time{font-size:.9rem;opacity:.7;margin:0}.chapel-description{font-size:.9rem;opacity:.9;margin:0}.chapel-events-list::-webkit-scrollbar{width:8px}.chapel-events-list::-webkit-scrollbar-track{background:transparent}.chapel-events-list::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:4px}.ai-response-container{background-color:#0003;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem 1.25rem;margin-top:1rem;position:relative;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.ai-response-content{font-size:.95rem;line-height:1.6;white-space:pre-line}.ai-response-content p{margin-bottom:.5rem}.ai-response-error{color:#ff9e9e}.ai-response-loading{display:flex;align-items:center;gap:.75rem;color:#fffc}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.settings-container{color:#fff;width:100%}.settings-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:1rem;margin-bottom:1.5rem}.settings-header h2{margin:0;font-size:2rem}.back-button{background-color:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;padding:6px 14px;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;transition:background-color .2s;white-space:nowrap}.back-button:hover{background-color:#fff3}.settings-body{display:flex;gap:2rem}.settings-nav{display:flex;flex-direction:column;gap:.5rem;flex:0 0 160px}.settings-nav-item{width:100%;padding:10px 14px;background:none;border:1px solid transparent;color:#ffffffb3;font-family:inherit;font-size:1rem;border-radius:8px;cursor:pointer;text-align:left;transition:all .2s ease}.settings-nav-item:hover{background-color:#ffffff14;color:#fff}.settings-nav-item.active{background-color:#ffffff1f;border-color:#fff3;color:#fff;font-weight:600}.settings-content{flex:1;min-width:0;padding:.5rem 0 .5rem 1.5rem;border-left:1px solid rgba(255,255,255,.2)}.settings-content h3{margin-top:0;font-size:1.5rem}.settings-content p{font-size:1rem;opacity:.8;line-height:1.6}.settings-content .toggle-switch-container:first-of-type{margin-top:1rem}.settings-content .toggle-switch-container{padding:8px 0}.appearance-settings{display:flex;flex-direction:column;align-items:center}.appearance-settings h3{width:100%;text-align:left}.appearance-settings p{text-align:center}.advanced-color-picker{margin-top:1rem;display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}.preset-swatches-container{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;width:100%;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1)}.color-swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 4px #0003;padding:0;flex-shrink:0}.color-swatch:hover{transform:scale(1.1)}.default-color-button{height:36px;padding:0 16px;background-color:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:18px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease}.default-color-button:hover{background-color:#fff3;transform:scale(1.05)}.arc-picker-wrapper{position:relative;width:200px;height:200px}.picker-area{width:100%;height:100%;position:relative;border-radius:50%;background-color:#ffffff1a;background-image:radial-gradient(rgba(255,255,255,.2) 1px,transparent 0);background-size:10px 10px;cursor:pointer;border:1px solid rgba(255,255,255,.1)}.arc-picker-wrapper:before{content:"";position:absolute;inset:-3px;border-radius:50%;padding:2px;background:conic-gradient(from 90deg at 50% 50%,#f07575,#f0b375,#f0f075,#b3f075,#75f075,#75f0b3,#75f0f0,#75b3f0,#7575f0,#b275f0,#f075f0,#f075b3,#f07575);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.picker-handle{position:absolute;width:24px;height:24px;border-radius:50%;border:3px solid white;box-shadow:0 2px 5px #0003;transform:translate(-50%,-50%);cursor:grab;z-index:10}.picker-handle:active{cursor:grabbing;transform:translate(-50%,-50%) scale(1.1)}.sliders-wrapper{width:100%;padding-top:24px;margin-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:20px}.slider-control{width:100%;display:flex;flex-direction:column;gap:12px;align-items:center}.slider-control label{font-size:1rem;opacity:.8;line-height:1.6}.slider-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:250px}.slider-wrapper{display:flex;width:100%;touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center;gap:1rem;color:#ffffffb3}.slider-root{position:relative;display:flex;width:100%;flex-grow:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;padding:1rem 0}.slider-root:active{cursor:grabbing}.slider-track-wrapper{display:flex;flex-grow:1}.slider-track{position:relative;height:100%;flex-grow:1;overflow:hidden;border-radius:9999px;background-color:#fff3}.slider-range{position:absolute;height:100%;background-color:#fff;border-radius:9999px}.value-indicator{position:relative;text-align:center;width:100%;margin:0;padding:0;font-size:1rem;opacity:.8;line-height:1.6;color:#fff}.text-type{display:inline-block;white-space:pre-wrap}.text-type__cursor{margin-left:.25rem;display:inline-block;opacity:1}.text-type__cursor--hidden{display:none}@media (max-width: 768px){.card-container{flex-direction:column;align-items:center}.meal-card,.chapel-card{width:100%!important;flex:none!important}.card-nav-container{width:90%;margin-top:1.2em}.card-nav-top{padding:0 1rem;justify-content:space-between}.hamburger-menu{order:2}.logo-container{position:static;transform:none;order:1}.card-nav-cta-button{display:none}.card-nav-content{flex-direction:column;align-items:stretch;gap:8px;padding:.5rem;bottom:0;justify-content:flex-start}.nav-card{height:auto;min-height:60px;flex:1 1 auto;max-height:none}.nav-card-label{font-size:18px}.nav-card-link{font-size:15px}.settings-body{flex-direction:column;gap:1.5rem}.settings-nav{flex-direction:column;flex-basis:auto;overflow-x:hidden;padding-bottom:0;margin:0}.settings-nav-item{width:100%}.settings-nav-item:first-child,.settings-nav-item:last-child{margin:0}.settings-content{border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,.2);padding-top:1.5rem}}.feedback-modal-backdrop{position:fixed;inset:0;background-color:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;animation:fadeIn .3s forwards}@keyframes fadeIn{to{opacity:1}}.feedback-modal-container{width:90%;max-width:500px;transform:scale(.95);opacity:0;animation:zoomIn .3s .1s forwards}@keyframes zoomIn{to{transform:scale(1);opacity:1}}.feedback-modal-content{padding:1.5rem;box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.feedback-modal-content h3{margin-top:0;margin-bottom:1.5rem;text-align:center;font-size:1.5rem}.feedback-modal-content form{display:flex;flex-direction:column;gap:1rem}.feedback-modal-content textarea{width:100%;box-sizing:border-box;min-height:120px;background-color:#0003;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;padding:12px;font-family:inherit;font-size:1rem;resize:vertical}.feedback-modal-content textarea:focus{outline:none;border-color:#ffffff80}.feedback-options{display:flex;flex-direction:column;gap:.75rem}.feedback-options label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.feedback-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.feedback-actions button{background:none;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:500;transition:background-color .2s}.feedback-actions button:disabled{opacity:.5;cursor:not-allowed}.feedback-actions button[type=submit]{background-color:#ffffff26}.feedback-actions button:hover:not(:disabled){background-color:#fff3}.toast-notification{position:fixed;bottom:2rem;left:50%;transform:translate(-50%,10px);padding:10px 20px;background-color:#222;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s,transform .3s,visibility .3s;-webkit-user-select:none;user-select:none}.toast-notification.show{opacity:1;visibility:visible;transform:translate(-50%)}.meal-rhs-content{display:flex;align-items:center;gap:.75rem}.rating-bar-container{position:relative;width:70px;height:14px;cursor:pointer}.rating-bar-background{position:absolute;inset:0;border:1px solid rgba(255,255,255,.3);border-radius:7px;overflow:hidden;transition:opacity .2s,transform .2s,filter .2s;background-color:transparent}.rating-bar-fill{height:100%;border-radius:7px;transition:width .4s ease-in-out}.rating-stars-interactive{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:1px;opacity:0;transform:scale(.9);filter:blur(5px);font-size:.9rem;transition:opacity .2s,transform .2s,filter .2s}.rating-modal-backdrop{position:fixed;inset:0;background-color:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000}.rating-modal-content{background-color:#282828cc;border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:1.5rem 2rem;color:#fff;text-align:center}.rating-modal-content h4{margin-top:0;margin-bottom:1.5rem;font-weight:500}.modal-stars-wrapper{font-size:2.5rem;display:flex;gap:.5rem}.day-picker-container{position:relative;display:flex;justify-content:center}.day-picker-toggle{background-color:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:20px;cursor:pointer;display:flex;align-items:center;gap:8px;font-family:inherit;font-size:.9rem;font-weight:500;transition:background-color .2s}.day-picker-toggle:hover{background-color:#ffffff26}.day-picker-toggle .chevron-icon{transition:transform .3s ease-in-out}.day-picker-toggle .chevron-icon.open{transform:rotate(180deg)}.day-options-container{position:absolute;bottom:100%;margin-bottom:8px;background-color:#2d2d2db3;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:1rem;border:1px solid rgba(255,255,255,.2);overflow:hidden;max-height:0;opacity:0;visibility:hidden;transition:max-height .4s ease-in-out,opacity .3s ease,visibility 0s .4s;z-index:10;display:flex;flex-direction:column;box-shadow:0 8px 16px #0003}.day-options-container.open{max-height:250px;opacity:1;visibility:visible;transition:max-height .4s ease-in-out,opacity .3s ease,visibility 0s 0s}.day-option-button{background:none;border:none;color:#fffc;padding:10px 25px;cursor:pointer;text-align:center;transition:background-color .2s,color .2s;font-family:inherit;font-size:.9rem;font-weight:500;width:100%;white-space:nowrap}.day-option-button:hover{background-color:#ffffff1a;color:#fff}.day-option-button.active{background-color:#ffffff26;color:#fff;font-weight:600}
