:root{--body-bg:#1d1f22;--body-text:#1B1B1B;--bg-dark-overlay-light:rgba(29, 31, 34, 0.301);--bg-dark-overlay:var(--bg-dark-overlay-light);--main-title-color:#FFFFFF;--subtitle-color:#eeeeee;--open-good-color:#3e9444;--open-warn-color:#a07d2a;--open-bad-color:#b23a3a;--today-outline-color:#c37c7c;--notice-color:#a15d00;--notice-stale-color:#b23a3a;--btn-bg:#F6F1E9;--btn-text:#1B1B1B;--btn-border:rgba(94, 43, 2, 0.15);--btn-hover-bg:#8a7d6b;--btn-hover-text:#ffffff;--btn-active-text:#ffffff;--btn-active-border:#ffffffb7;--btn-active-shadow-color:rgba(0, 0, 0, 0.2);--btn-week-current-bg:#f0e7d6;--btn-week-current-border:rgba(94, 43, 2, 0.15);--btn-week-next-bg:rgb(218, 204, 189);--btn-week-next-border:rgba(94, 43, 2, 0.15);--btn-text-offset:0px;--btn-focus-shadow:rgba(142, 124, 195, 0.3);--restaurant-bg:#F6F1E9;--restaurant-text:#1B1B1B;--restaurant-outline:1px solid #a1a1a1;--restaurant-box-shadow:0 6px 16px rgba(0, 0, 0, 0.08);--action-btn-color:#666;--action-btn-hover-color:#333;--action-btn-hover-bg:rgba(0, 0, 0, 0.05);--action-btn-active-bg:rgba(0, 0, 0, 0.1);--action-btn-copied-bg:rgba(0, 0, 0, 0.12);--promo-bg-start:#fff8e6;--promo-bg-end:#f0e6d6;--promo-text:#6b4f2b;--promo-border:1px solid rgba(102, 102, 102, 0.25);--modal-bg:#fff;--modal-text:#1B1B1B;--modal-secondary-text:#666;--modal-close-color:#666;--modal-backdrop:rgba(0, 0, 0, 0.35);--footer-text:#eeeeee;--footer-btn-color:#eeeeee;--footer-btn-hover-bg:rgba(255, 255, 255, 0.1);--footer-privacy-color:#fff;--header-bg:#F6F1E9;--header-accent:#ffffff;--header-shadow:#000000;--header-bg-alpha:var(--scroll-progress, 0);--header-border-alpha:var(--scroll-progress, 0);--header-glow-alpha:calc(0.6 * var(--scroll-progress, 0));--header-shadow-alpha:calc(0.2 * var(--scroll-progress, 0));--dice-highlight-shadow:0 0 15px 15px rgba(216, 216, 215, 0.65);--restaurant-link-button-size:30px;--restaurant-link-icon-size:16px;--restaurant-padding-vertical:15px;--restaurant-padding-horizontal:20px;--restaurant-margin-bottom:16px;--restaurant-border-radius:20px;--restaurant-title-font-size:1.2em;--restaurant-title-padding-bottom:8px;--weekday-btn-height:42px}.dark-theme{--body-bg:rgb(29, 31, 34);--body-text:#e0e0e0;--bg-dark-overlay-dark:rgba(0, 0, 0, 0.452);--bg-dark-overlay:var(--bg-dark-overlay-dark);--main-title-color:#f0f0f0;--subtitle-color:#f0f0f0;--btn-bg:#4b443b;--btn-text:#e0e0e0;--btn-border:rgba(255, 255, 255, 0.12);--btn-hover-bg:#3e4348;--btn-active-border:#dad7d7;--btn-active-shadow-color:transparent;--btn-week-current-bg:#3a3e42;--btn-week-current-border:rgba(255, 255, 255, 0.932);--btn-week-next-bg:#2d3133;--btn-week-next-border:rgba(255, 0, 0, 0.171);--restaurant-bg:#25282b;--restaurant-text:#e7e7e7;--restaurant-outline:1px solid #414141;--restaurant-box-shadow:0 4px 12px rgba(0, 0, 0, 0.3);--action-btn-color:#b0b0b0;--action-btn-hover-color:#fff;--action-btn-hover-bg:rgba(255, 255, 255, 0.12);--action-btn-active-bg:rgba(255, 255, 255, 0.2);--action-btn-copied-bg:rgba(255, 255, 255, 0.15);--header-bg:#1d1f22;--header-accent:#ffffff;--header-shadow:#000000;--header-bg-alpha:var(--scroll-progress, 0);--header-border-alpha:calc(0.15 * var(--scroll-progress, 0));--header-glow-alpha:calc(0.3 * var(--scroll-progress, 0));--header-shadow-alpha:calc(0.6 * var(--scroll-progress, 0));--promo-bg-start:#2a2d30;--promo-bg-end:#33363a;--promo-text:#ddd;--promo-border:1px solid rgba(255, 255, 255, 0.08);--modal-bg:#2a2d30;--modal-text:#ffffff;--modal-secondary-text:#b0b0b0;--modal-close-color:#b0b0b0;--footer-text:#cfcfcf;--footer-btn-color:#d0d0d0;--dice-highlight-shadow:0 0 15px 15px rgb(63, 81, 92)}[role=button],a,button{outline:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;background-color:var(--body-bg);color:var(--body-text);max-width:900px;margin:0 auto;padding:12px 15px 15px;opacity:0;transition:opacity .3s ease}body.page-ready{opacity:1}body.loading{cursor:wait}body::before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(var(--bg-dark-overlay),var(--bg-dark-overlay)),url('/img/backgrounddark2.webp');background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;filter:blur(10px);z-index:-2;pointer-events:none;transform:scale(1.1)}@media (min-width:960px){body::before{background-image:linear-gradient(to right,var(--body-bg) 0,transparent 20%,transparent 80%,var(--body-bg) 100%),linear-gradient(var(--bg-dark-overlay),var(--bg-dark-overlay)),url('/img/backgrounddark2.webp')}}.main-title{text-align:center;font-size:2.4em;font-weight:750;margin-top:26px;margin-bottom:.1em;color:var(--main-title-color);letter-spacing:.01em;text-shadow:0 2px 4px rgba(0,0,0,.5),0 4px 8px rgba(0,0,0,.3)}.subtitle-city{text-align:center;font-size:1em;color:var(--subtitle-color);margin-top:.5em;margin-bottom:.5em;font-weight:450;display:flex;align-items:center;justify-content:center;gap:8px;text-shadow:0 2px 4px rgba(0,0,0,.5),0 4px 8px rgba(0,0,0,.3)}.week-title-date{font-size:1em;font-weight:300;color:var(--subtitle-color);margin-left:4px;text-shadow:0 2px 4px rgba(0,0,0,.5),0 4px 8px rgba(0,0,0,.3)}.week-info{display:flex;justify-content:center;align-items:center;font-size:1em;color:var(--subtitle-color);margin-top:.05em;margin-bottom:1.2em;font-weight:300;min-height:1.5em}.weather-info{font-weight:500;font-size:.9rem;color:inherit;display:flex;align-items:center;line-height:1;gap:5px;opacity:.8;text-shadow:0 2px 4px rgba(0,0,0,.5),0 4px 8px rgba(0,0,0,.3)}.weather-info svg{width:16px;height:16px;stroke:currentColor}.header-sticky{position:sticky;top:0;z-index:150;padding:6px 0;margin:0 0 10px 0;width:100%;box-sizing:border-box;border-radius:0 0 24px 24px;display:flex;justify-content:center;align-items:center;background-color:color-mix(in srgb,var(--header-bg),transparent calc(100% - (var(--header-bg-alpha) * 100%)));backdrop-filter:blur(calc(var(--scroll-progress,0) * 8px));box-shadow:0 1px 2px color-mix(in srgb,var(--header-accent),transparent calc(100% - (var(--header-glow-alpha) * 100%))),0 4px 10px color-mix(in srgb,var(--header-shadow),transparent calc(100% - (var(--header-shadow-alpha) * 100%)));border-bottom:1px solid color-mix(in srgb,var(--header-accent),transparent calc(100% - (var(--header-border-alpha) * 100%)))}.header-sticky.fixed-fallback{position:fixed;left:0;right:0;top:0;margin:0}body.has-header-offset{padding-top:var(--header-height,180px)}.buttons{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:100%;margin:0;padding:0}.buttons button{border:2px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-text);font-family:inherit;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;margin:4px;border-radius:100px;font-size:.9em;cursor:pointer;transition:color .2s ease,background-color .2s ease,box-shadow .2s ease;min-width:72px;height:var(--weekday-btn-height);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;font-weight:600;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none}.buttons button.week-current{background:var(--btn-week-current-bg);border-color:var(--btn-week-current-bg)}.buttons button.week-next{background:var(--btn-week-next-bg);border-color:var(--btn-week-next-bg)}.buttons button.active{color:var(--btn-active-text);font-weight:600;box-shadow:0 2px 5px var(--btn-active-shadow-color);border-color:var(--btn-active-border)}:not(.dark-theme) .buttons button.active{background:var(--btn-hover-bg);color:var(--btn-hover-text)}.dark-theme .buttons button.active,.dark-theme .buttons button.active:hover{background:var(--btn-bg)}.dark-theme .buttons button.active.week-current,.dark-theme .buttons button.active.week-current:hover{background:var(--btn-week-current-bg)}.dark-theme .buttons button.active.week-next,.dark-theme .buttons button.active.week-next:hover{background:var(--btn-week-next-bg)}.buttons button.active.today,.buttons button.today,.buttons button.today:focus{outline:2px solid var(--today-outline-color);outline-offset:1px}.buttons button.active.today{border-color:var(--btn-active-border)}@media (hover:hover){.buttons button:hover{background:var(--btn-hover-bg);color:var(--btn-hover-text)}.buttons button:focus-visible{box-shadow:0 0 0 2px var(--btn-focus-shadow)}}@media (hover:none){.buttons button:focus{box-shadow:none}}.promo-banner-wrap{display:flex;justify-content:center;width:100%;box-sizing:border-box;margin:8px 0}.promo-banner{width:300px;max-width:300px;height:250px;box-sizing:border-box;background:linear-gradient(90deg,var(--promo-bg-start),var(--promo-bg-end));color:var(--promo-text);border:none;display:flex;align-items:center;justify-content:center;font-weight:700;border-radius:0;box-shadow:none;position:relative;overflow:hidden;margin:0 auto}.promo-banner iframe{position:absolute;left:0;top:0;width:100%;height:100%;border:none}#promo-banner,#promo-banner-wrap{display:block!important;visibility:visible!important;opacity:1!important}.restaurant{background:var(--restaurant-bg);font-family:inherit;font-weight:500;padding:var(--restaurant-padding-vertical) var(--restaurant-padding-horizontal);margin-bottom:var(--restaurant-margin-bottom);border-radius:var(--restaurant-border-radius);box-shadow:var(--restaurant-box-shadow);border:var(--restaurant-outline);position:relative;overflow:hidden;transition:box-shadow .4s ease;background-clip:padding-box}.restaurant::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-size:200px 200px}.restaurant h2{margin-top:0;font-size:var(--restaurant-title-font-size);font-weight:600;border-bottom:none;padding-bottom:var(--restaurant-title-padding-bottom);margin-bottom:0;color:var(--restaurant-text);text-align:center}.restaurant pre{color:var(--restaurant-text);background-color:transparent;padding:0;border-radius:0;font-family:inherit;font-size:1.05em;white-space:pre-wrap;word-wrap:break-word;overflow-x:hidden;max-width:100%;text-align:center;letter-spacing:.01em;line-height:1.7;box-shadow:none;margin:0}.lunch-time{text-align:center;font-size:.85em;color:var(--modal-secondary-text);margin:0}.lunch-status{text-align:center;font-size:.85em;color:var(--modal-secondary-text);margin:2px 0 12px}.lunch-status.status-good{color:var(--open-good-color)}.lunch-status.status-warn{color:var(--open-warn-color)}.lunch-status.status-bad{color:var(--open-bad-color)}.notice{text-align:center;font-size:.8em;color:var(--notice-color);margin-top:6px}.notice.notice-stale{color:var(--notice-stale-color);font-weight:600}.restaurant-link{position:absolute;top:12px;right:12px;width:var(--restaurant-link-button-size);height:var(--restaurant-link-button-size);display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:6px;color:var(--action-btn-color);text-decoration:none;transition:all .15s ease;z-index:10;will-change:transform,background;-webkit-tap-highlight-color:transparent}.restaurant-link svg{width:var(--restaurant-link-icon-size);height:var(--restaurant-link-icon-size);stroke-width:2}@media (hover:hover){.restaurant-link:hover{background:var(--action-btn-hover-bg);color:var(--action-btn-hover-color)}}.restaurant-link:active{transform:scale(.92);background:var(--action-btn-active-bg)}.restaurant-link:focus-visible{background:var(--action-btn-hover-bg);color:var(--action-btn-hover-color);transform:translateY(-1px)}.restaurant-link:focus:not(:focus-visible){background:0 0;border:none;box-shadow:none;transform:none}.restaurant-copy{position:absolute;top:12px;right:52px;width:var(--restaurant-link-button-size);height:var(--restaurant-link-button-size);display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:6px;color:var(--action-btn-color);cursor:pointer;transition:background 120ms ease,color 120ms ease,transform 120ms ease,box-shadow 120ms ease;z-index:10;-webkit-tap-highlight-color:transparent}.restaurant-copy svg{width:var(--restaurant-link-icon-size);height:var(--restaurant-link-icon-size)}@media (hover:hover){.restaurant-copy:hover{background:var(--action-btn-hover-bg);color:var(--action-btn-hover-color)}}.restaurant-copy:active{transform:scale(.92);background:var(--action-btn-active-bg)}.restaurant-copy.copied{background-color:var(--action-btn-copied-bg);color:var(--action-btn-hover-color);transition:background 140ms ease}.restaurant-copy:focus-visible{outline:2px solid var(--today-outline-color);outline-offset:2px}.restaurant-copy:focus:not(:focus-visible){background:0 0;border:none;box-shadow:none;transform:none}.restaurant-location{position:absolute;top:12px;left:12px;width:var(--restaurant-link-button-size);height:var(--restaurant-link-button-size);display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:6px;color:var(--action-btn-color);text-decoration:none;transition:all .15s ease;z-index:10;will-change:transform,background;-webkit-tap-highlight-color:transparent}.restaurant-location svg{width:var(--restaurant-link-icon-size);height:var(--restaurant-link-icon-size);stroke-width:2}@media (hover:hover){.restaurant-location:hover{background:var(--action-btn-hover-bg);color:var(--action-btn-hover-color)}}.restaurant-location:active{transform:scale(.92);background:var(--action-btn-active-bg)}.pp-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;justify-content:center;justify-items:center;align-items:start}.pp-location{margin:0;width:100%;max-width:420px;text-align:center}.pp-address{display:inline-block;color:var(--restaurant-text);font-weight:700;font-size:.85em;margin:0 0 7px 0}.address-link{text-decoration:none;color:inherit;display:inline-flex;align-items:center;gap:5px;transition:opacity .15s ease}.address-link svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.5}@media (hover:hover){.address-link:hover{opacity:.7}}.pp-location .lunch-time{margin:0}.pp-location .lunch-status{margin:2px 0 10px}.last-update{position:relative;text-align:center;color:var(--footer-text);margin-top:15px;margin-bottom:0;font-size:.9em;line-height:1.2}.footer-note{text-align:center;margin:8px 0 0 0;color:var(--footer-text);font-size:1.05em;line-height:1.2}.button-row{display:flex;justify-content:center;gap:8px;margin-top:10px}@media (min-width:601px){.button-row{position:absolute;left:0;top:50%;transform:translateY(-50%);margin-top:0}}.view-counter-desktop{display:none;position:absolute;top:50%;right:0;transform:translateY(-50%);opacity:.85;font-weight:500}@media (min-width:601px){.view-counter-desktop{display:block}}#dice-button.dice-btn,#privacy-button,#theme-toggle.theme-btn{background:0 0;border:none;cursor:pointer;padding:4px;height:26px;box-sizing:border-box;border-radius:6px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,background .1s ease,color .1s ease,box-shadow .1s ease}#dice-button.dice-btn{color:var(--footer-btn-color)}#theme-toggle.theme-btn{color:var(--footer-btn-color)}#privacy-button{color:var(--footer-privacy-color)}#dice-button svg,#privacy-button svg{width:18px;height:18px}@media (hover:hover){#dice-button.dice-btn:hover,#privacy-button:hover{background:var(--footer-btn-hover-bg)}#theme-toggle.theme-btn:hover{background:var(--footer-btn-hover-bg);color:var(--action-btn-hover-color)}}#dice-button.dice-btn:active,#privacy-button:active,#theme-toggle.theme-btn:active{transform:scale(.92);background:var(--action-btn-active-bg)}#dice-button.dice-btn:focus,#privacy-button:focus,#theme-toggle.theme-btn:focus{outline:2px solid rgba(0,0,0,.2);outline-offset:2px}#dice-button.dice-btn:focus:not(:focus-visible),#privacy-button:focus:not(:focus-visible),#theme-toggle.theme-btn:focus:not(:focus-visible){outline:0}.theme-btn .icon-moon,.theme-btn .icon-sun{width:18px;height:18px}.theme-btn .icon-sun{display:none;color:#fff}.theme-btn .icon-moon{display:block;color:#fff}.modal{position:fixed;inset:0;z-index:1000}.modal.hidden{display:none}.modal-backdrop{position:absolute;inset:0;background:var(--modal-backdrop)}.modal-card{position:relative;left:50%;top:50%;font-weight:600;font-family:inherit;transform:translate(-50%,-50%);background:var(--modal-bg);border-radius:12px;width:min(90vw,560px);padding:18px 18px 24px;overflow:hidden;color:var(--modal-text)}.modal-card::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-size:200px 200px}.modal-card h3{margin:0 0 6px 0;text-align:center;font-size:1.1em}.modal-card .modal-time{text-align:center;color:var(--modal-secondary-text);font-size:.9em;margin:0}.modal-card .modal-status{text-align:center;color:var(--modal-secondary-text);font-size:.9em;margin:2px 0 10px}.modal-card .modal-status.status-good{color:var(--open-good-color)}.modal-card .modal-status.status-warn{color:var(--open-warn-color)}.modal-card .modal-status.status-bad{color:var(--open-bad-color)}.modal-card pre.modal-menu{font-family:inherit;white-space:pre-wrap;margin:0 0 20px 0;text-align:center;line-height:1.6}.modal-close{position:absolute;right:8px;top:6px;border:none;background:0 0;font-size:1.6em;cursor:pointer;color:var(--modal-close-color);-webkit-tap-highlight-color:transparent;transition:transform .1s ease,color .1s ease}@media (hover:hover){.modal-close:hover{color:var(--modal-text)}}.modal-close:active{transform:scale(.9);color:var(--modal-text)}@keyframes dice-highlight{0%{box-shadow:var(--restaurant-box-shadow)}25%{box-shadow:var(--dice-highlight-shadow)}100%{box-shadow:var(--restaurant-box-shadow)}}.dice-highlight{animation:dice-highlight 1.2s cubic-bezier(.4,0,.2,1) forwards;z-index:200;position:relative}.hidden{display:none!important}.text-center{text-align:center!important}.unavailable-list{list-style-type:none;padding:0;text-align:center}.no-theme-transition,.no-theme-transition *,.no-theme-transition ::after,.no-theme-transition ::before{transition:none!important}.dark-theme body{transition:color .3s ease}.dark-theme body::after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-size:200px 200px}.dark-theme .header-sticky{background-color:color-mix(in srgb,var(--header-bg),transparent calc(100% - (var(--header-bg-alpha) * 100%)));background-image:none}.dark-theme .header-sticky::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;pointer-events:none;background-image:none;opacity:calc(1 - var(--scroll-progress, 0))}.dark-theme .header-sticky::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;pointer-events:none;background-image:none;background-size:auto;background-attachment:unset;opacity:calc(.05 * (1 - var(--scroll-progress, 0)))}.header-sticky.scrolled::after,.header-sticky.scrolled::before{opacity:0!important;background-image:none!important}.dark-theme .header-sticky.scrolled::before{opacity:0!important;background-image:none!important}.dark-theme .promo-banner img{filter:brightness(.85)}.dark-theme .restaurant h2{border-bottom:none}.dark-theme .theme-btn .icon-sun{display:block;color:#fff}.dark-theme .theme-btn .icon-moon{display:none}@media (max-width:600px){body::before{height:100vh;height:100lvh;background-attachment:scroll}.dark-theme body::after{height:100vh;height:100lvh}body{padding:10px 10px 20px}.header-sticky{padding:8px 10px 6px}.main-title{font-size:2.1em;margin-top:23px}.week-info{font-size:.95em}.buttons{gap:3px;flex-wrap:wrap;justify-content:center}.buttons button{padding-top:calc(8px + var(--btn-text-offset));padding-right:9px;padding-bottom:calc(8px - var(--btn-text-offset));padding-left:9px;margin:2px;font-size:.82em;min-width:50px;min-height:34px;flex:1 1 auto;max-width:75px}.buttons button:nth-child(-n+4){flex-basis:calc(25% - 8px)}.buttons button:nth-child(n+5){flex-basis:calc(33.333% - 8px)}.restaurant{padding:12px 15px}.restaurant h2{font-size:1.1em}.restaurant pre{font-size:.85em}.pp-row{grid-template-columns:1fr}}