:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:oklch(95% .03 70);--ink:oklch(15% .01 70);--brand:oklch(52% .16 35);--brand-dark:oklch(35% .13 35);--panel:oklch(98% .02 70/.82);--line:oklch(15% .01 70/.1);--ok:oklch(50% .15 160);--warn:oklch(48% .14 50);--error:oklch(48% .18 25);--title-ink:var(--ink);--tab-muted:color-mix(in oklch, var(--ink) 72%, transparent);--tab-active-ink:var(--ink);--tab-active-bg:oklch(99% .02 70/.75);--surface-soft:oklch(100% 0 0/.6);--surface-elevated:oklch(100% 0 0/.78);--surface-hover:oklch(100% 0 0/.88);--card-bg:oklch(100% 0 0/.68);--card-bg-weekly:oklch(98% .03 78/.76);--card-bg-favorite:oklch(98.5% .008 150/.35);--popover-bg:oklch(99% .01 70/.96);--interactive-hover:oklch(20% .01 70/.08);--tooltip-bg:oklch(99.2% .012 62/.99);--tooltip-border:oklch(58% .11 46/.45);--tooltip-shadow:0 12px 26px oklch(20% .02 52/.22);--theme-switch-ms:.666s;--theme-switch-bg-ease:ease-in-out;accent-color:var(--brand);scrollbar-color:var(--brand) var(--bg)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:oklch(22% .02 70);--ink:oklch(94% .02 70);--brand:oklch(68% .12 35);--brand-dark:oklch(58% .11 35);--panel:oklch(28% .02 70/.82);--line:oklch(94% .02 70/.14);--ok:oklch(72% .11 160);--warn:oklch(78% .11 50);--error:oklch(72% .14 25);--title-ink:oklch(97% .015 72);--tab-muted:color-mix(in oklch, var(--ink) 78%, transparent);--tab-active-ink:oklch(98% .015 72);--tab-active-bg:oklch(33% .02 70/.82);--surface-soft:oklch(30% .02 70/.56);--surface-elevated:oklch(32% .02 70/.74);--surface-hover:oklch(36% .025 70/.9);--card-bg:oklch(31% .02 70/.82);--card-bg-weekly:oklch(33% .03 56/.84);--card-bg-favorite:oklch(34% .04 150/.58);--popover-bg:oklch(28% .02 70/.97);--interactive-hover:oklch(98% .015 72/.1);--tooltip-bg:oklch(30% .02 70/.98);--tooltip-border:oklch(78% .08 50/.45);--tooltip-shadow:0 10px 24px oklch(0% 0 0/.2)}*{box-sizing:border-box}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:95.81%;descent-override:26.54%;line-gap-override:0.0%;size-adjust:106.31%}@font-face{font-family:Fraunces Fallback;src:local(Georgia);ascent-override:94.67%;descent-override:26.53%;line-gap-override:0.0%;size-adjust:102.34%}body{min-height:100vh;color:var(--ink);transition:background var(--theme-switch-ms) var(--theme-switch-bg-ease), color var(--theme-switch-ms) ease;text-wrap:pretty;background:radial-gradient(circle at 20% 15%,#f6d8b7 0%,#0000 45%),radial-gradient(circle at 85% 20%,#f2c6a6 0%,#0000 40%),linear-gradient(140deg,#f4efe2 0%,#efe3c8 70%);margin:0;font-family:Space Grotesk,Space Grotesk Fallback,sans-serif;overflow-x:hidden}:root[data-theme=dark] body{background:radial-gradient(circle at 20% 15%,#3a2a1c 0%,#0000 48%),radial-gradient(circle at 85% 20%,#2f3d2f 0%,#0000 44%),linear-gradient(140deg,#1a1814 0%,#201c17 70%)}body.app-loading{overflow:hidden}body.app-loading .app,body.app-loading .footer{opacity:0;visibility:hidden}body.app-ready .app,body.app-ready .footer{opacity:1;visibility:visible;transition:opacity .22s}.app-loader{z-index:1800;background:radial-gradient(circle at 20% 15%,#f6d8b7 0%,#0000 45%),radial-gradient(circle at 85% 20%,#f2c6a6 0%,#0000 40%),linear-gradient(140deg,#f4efe2 0%,#efe3c8 70%);place-items:center;padding:1.2rem;transition:opacity .24s;display:grid;position:fixed;inset:0}:root[data-theme=dark] .app-loader{background:radial-gradient(circle at 20% 15%,#3a2a1c 0%,#0000 48%),radial-gradient(circle at 85% 20%,#2f3d2f 0%,#0000 44%),linear-gradient(140deg,#1a1814 0%,#201c17 70%)}.app-loader[hidden]{display:none}.app-loader.is-exiting{opacity:0;pointer-events:none}.app-loader-content{text-align:center;justify-items:center;gap:.8rem;display:grid}.app-loader-spinner{border:3px solid #00000026;border-top-color:var(--brand);border-radius:50%;width:2.6rem;height:2.6rem;animation:.8s linear infinite loader-spin}.app-loader-message{letter-spacing:.02em;margin:0;font-size:.95rem;font-weight:600}@keyframes loader-spin{to{transform:rotate(360deg)}}.bg-orb{filter:blur(80px);z-index:-1;opacity:.55;border-radius:50%;width:22rem;height:22rem;position:fixed}.bg-orb-a{background:#d38c5e;top:-6rem;left:-4rem}.bg-orb-b{background:#baa66b;bottom:-7rem;right:-5rem}:root[data-theme=dark] .bg-orb-a{background:#7a553a}:root[data-theme=dark] .bg-orb-b{background:#4f6a4f}.app{width:min(70rem,92vw);margin:2.5rem auto 3rem}.hero h1{color:var(--title-ink);text-wrap:balance;margin:.35rem 0;font:700 clamp(1.9rem,4vw,3.3rem)/1.1 Fraunces,serif}.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--brand-dark);margin:0;font-size:.78rem}.footer{text-align:center;width:min(70rem,92vw);margin:2rem auto 3rem}.status{margin:.45rem 0 0;font-size:1rem}.status[data-tone=ok]{color:var(--ok)}.status[data-tone=warn]{color:var(--warn)}.status[data-tone=error]{color:var(--error)}.version-display{color:var(--text-muted,#999);opacity:.7;margin:.5rem 0 0;font-size:.75rem}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color var(--theme-switch-ms) var(--theme-switch-bg-ease), border-color var(--theme-switch-ms) ease, color var(--theme-switch-ms) ease;border-radius:1rem;margin-top:1rem;padding:1rem 1.1rem}.panel h2{color:var(--title-ink);margin:0 0 .8rem;font:700 1.2rem/1.2 Fraunces,serif}.meta{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;display:grid}.meta-item{border:1px solid var(--line);background:var(--surface-soft);transition:background-color var(--theme-switch-ms) var(--theme-switch-bg-ease), border-color var(--theme-switch-ms) ease;border-radius:.7rem;padding:.75rem}.meta-label{opacity:.7;text-transform:uppercase;letter-spacing:.07em;margin:0;font-size:.78rem}.meta-value{margin:.45rem 0 0;font-size:1.05rem;font-weight:600}.meta-value.stale{color:var(--warn)}.meta-value.fresh{color:var(--ok)}.restaurants{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.7rem;display:grid}.restaurant-card{background:var(--card-bg);border:1px solid var(--line);transition:background-color var(--theme-switch-ms) var(--theme-switch-bg-ease), border-color var(--theme-switch-ms) ease, box-shadow var(--theme-switch-ms) ease;border-radius:.8rem;padding:1.2rem;animation:.46s rise-in;box-shadow:0 6px 18px oklch(0% 0 0/.08)}.restaurant-card h3{color:var(--brand-dark);margin:0 0 .8rem;font:700 1.1rem/1.2 Fraunces,serif}.restaurant-card p{margin:.3rem 0;font-size:.9rem}.restaurant-card .ok{color:var(--ok);font-weight:600}.restaurant-card .error{color:var(--error);font-weight:600}.status-warnings{background:color-mix(in oklch, var(--warn) 18%, transparent);border-left:3px solid color-mix(in oklch, var(--warn) 76%, var(--line));border-radius:.3rem;margin-top:.8rem;padding:.6rem;font-size:.85rem}.status-warning-item{color:var(--ink);margin-bottom:.3rem}.status-warning-item:last-child{margin-bottom:0}.status-controls{align-items:center;gap:1rem;display:flex}.status-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.status-header-row h2{margin:0}.ok{color:var(--ok)}.error{color:var(--error)}.empty{margin:0}.opening-hours-info{background:var(--surface-soft);border:1px solid var(--line);border-radius:.5rem;margin-top:1rem;padding:.75rem;font-size:.9rem}.opening-hours-info strong{color:var(--brand-dark);margin-bottom:.5rem;display:block}.opening-hours-info .info-line{padding:.25rem 0;line-height:1.5}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.app{width:94vw;margin-top:1.4rem}.panel{padding:.9rem}}body.hide-dish-raw .dish-raw,body.hide-allergens .allergens,body.hide-lunch-hours .lunch-hours,body.hide-weekly-section .weekly-section,body.hide-opening-hours .opening-hours-info,body.hide-menu-card-controls .menu-card-controls{display:none}body.hide-menu-card-controls .menu-card h3{flex:1}.tabs{border-bottom:2px solid var(--line);gap:.5rem;margin-top:1.5rem;padding-bottom:0;display:flex}.tab-button{color:var(--tab-muted);opacity:.9;cursor:pointer;transition:all .18s;transition:color var(--theme-switch-ms) ease, background-color var(--theme-switch-ms) var(--theme-switch-bg-ease), border-color var(--theme-switch-ms) ease, opacity var(--theme-switch-ms) ease;background:0 0;border:1px solid #0000;border-bottom-width:3px;border-radius:.6rem .6rem 0 0;margin-bottom:-2px;padding:.7rem 1.2rem;font:600 .95rem Space Grotesk,sans-serif}.tab-button:hover{color:var(--ink);background:var(--surface-soft)}.tab-button[aria-selected=true]{opacity:1;color:var(--tab-active-ink);background:var(--tab-active-bg);border-color:var(--line);border-bottom-color:var(--brand)}.tab-panel{view-transition-name:tab-content;margin-top:1rem}::view-transition-old(tab-content){animation-duration:.32s}::view-transition-new(tab-content){animation-duration:.32s}@media (prefers-reduced-motion:reduce){::view-transition-old(tab-content){animation:none}::view-transition-new(tab-content){animation:none}}.day-picker{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;margin-bottom:1rem;display:flex;overflow-x:auto}.day-button{background:var(--surface-elevated);border:1px solid var(--line);color:var(--ink);cursor:pointer;scroll-snap-align:start;transition:all .18s;transition:background-color var(--theme-switch-ms) var(--theme-switch-bg-ease), border-color var(--theme-switch-ms) ease, color var(--theme-switch-ms) ease;border-radius:.5rem;flex-shrink:0;padding:.6rem 1rem;font:600 .85rem Space Grotesk,sans-serif}.day-button:hover{background:var(--surface-hover);border-color:var(--brand)}.day-button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.menus.use-grid,.menus.use-css-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));grid-auto-rows:auto;align-items:start;gap:1rem;display:grid}.menus.use-css-tricks{column-width:18rem;column-gap:1rem}.menus.use-css-tricks .menu-card{break-inside:avoid;width:100%;margin-bottom:1rem;display:inline-block}.menus.use-css-native-masonry{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));align-items:start;gap:1rem;display:grid}@supports (grid-template-rows:masonry){.menus.use-css-native-masonry{grid-template-rows:masonry;align-tracks:start}}.menu-card{border:1px solid var(--line);background:var(--card-bg);width:calc(100% - 1rem);transition:background-color var(--theme-switch-ms) var(--theme-switch-bg-ease), border-color var(--theme-switch-ms) ease, box-shadow var(--theme-switch-ms) ease;border-radius:.8rem;margin-bottom:1rem;padding:1rem;animation:.46s rise-in;box-shadow:0 8px 20px oklch(0% 0 0/.09);container:menu-card/inline-size}.menus.use-grid .menu-card,.menus.use-css-grid .menu-card,.menus.use-css-native-masonry .menu-card{width:100%;margin-bottom:0}@media (width>=768px){.menu-card{width:calc(50% - 1rem)}}@media (width>=1024px){.menu-card{width:calc(33.333% - 1rem)}}.menu-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.menu-card-title{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;display:flex;position:relative}.menu-card-controls{flex-shrink:0;justify-content:flex-end;align-items:center;gap:.3rem;display:inline-flex}.card-menu-toggle{cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.2rem .5rem;font-size:1.5rem;transition:background-color .18s;display:flex}.card-menu-toggle:hover{background:var(--interactive-hover)}.card-menu-popover{border:1px solid var(--line);background:var(--popover-bg);position-area:bottom span-left;position-try-fallbacks:flip-block, flip-inline;transition:background-color var(--theme-switch-ms) var(--theme-switch-bg-ease), border-color var(--theme-switch-ms) ease, color var(--theme-switch-ms) ease;border-radius:8px;flex-direction:column;gap:.5rem;margin:0;padding:.5rem;display:flex;position:absolute;box-shadow:0 4px 12px #0000001a}.card-menu-popover:not(:popover-open){display:none}.card-menu-popover button{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:none;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem 1rem .5rem .5rem;font-size:.9rem;transition:background-color .18s,transform .18s;display:flex}.card-menu-popover button:hover{background:var(--interactive-hover);transform:scale(1.05)}.card-menu-popover .icon{text-align:center;filter:grayscale()opacity(.8);width:1.5rem;font-size:1.2rem;transition:filter .18s}.card-menu-popover button:hover .icon{filter:grayscale(0%)opacity()}.menu-card h3{color:var(--title-ink);text-wrap:balance;margin:0;font:700 1.1rem/1.2 Fraunces,serif}.menu-card h3 a{color:inherit;text-decoration:none;transition:color .2s}.menu-card h3 a:hover{color:var(--brand);text-decoration:underline}@media (width>=721px){body.use-wide-menus-panel #tab-menus>.panel{width:calc(100vw - 2rem);max-width:none;margin-left:calc(50% - 50vw + 1rem);margin-right:calc(50% - 50vw + 1rem)}}@media (width>=1024px){body.use-wide-menus-panel .menus.use-grid,body.use-wide-menus-panel .menus.use-css-grid,body.use-wide-menus-panel .menus.use-css-native-masonry{grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr))}body.use-wide-menus-panel .menus.use-masonry .menu-card,body.use-wide-menus-panel .menus.use-js-masonry .menu-card{width:calc((100% - (var(--wide-masonry-cols,1) - 1) * 1rem) / var(--wide-masonry-cols,1));max-width:none}body.use-wide-menus-panel .menus.use-css-tricks{column-count:var(--wide-masonry-cols,1);column-width:auto}}.outdated-warning{cursor:help;color:var(--warn);anchor-name:--warning-anchor;justify-content:center;align-items:center;font-size:.8em;line-height:1;display:inline-flex;position:relative}.outdated-warning:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:.2rem}.warning-tooltip{z-index:100;border:1px solid var(--tooltip-border);background:var(--tooltip-bg);width:max-content;max-width:min(24rem,100vw - 2rem);color:var(--ink);box-shadow:var(--tooltip-shadow);white-space:normal;transition:opacity .16s ease, transform .16s ease, display .16s allow-discrete, overlay .16s allow-discrete;position-anchor:--warning-anchor;inset:auto;top:anchor(bottom);left:anchor(center);border-radius:.6rem;margin:0;padding:.6rem .7rem;font:500 .8rem/1.35 IBM Plex Sans,sans-serif;position:absolute}@supports not (position-anchor:--warning-anchor){.warning-tooltip{bottom:calc(100% + .55rem);right:50%;transform:translate(50%)translateY(.2rem)}}.warning-tooltip:popover-open{opacity:1;overlay:none;transition-behavior:allow-discrete;transform:translateY(0)}.warning-tooltip:not(:popover-open){opacity:0;overlay:none;transition-behavior:allow-discrete;transform:translateY(.2rem)}.warning-tooltip:before{content:"";z-index:101;border-style:solid;border-width:.35rem;border-color:var(--tooltip-border) transparent transparent transparent;position:absolute;top:100%;left:50%;transform:translate(-50%)}.menu-card.weekly-menu{border-left:3px solid var(--brand);background:var(--card-bg-weekly)}.menu-card.is-favorite{border-left:3px solid var(--ok);background:var(--card-bg-favorite)}.menu-card.is-favorite.weekly-menu{border-left-color:var(--ok)}.favorite-badge{background:var(--ok);color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:.3rem;width:fit-content;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.weekly-badge{background:var(--brand);color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:.3rem;width:fit-content;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.weekly-section{border:none;margin:1.5rem 0 0;padding:0}.weekly-section summary.weekly-section-header{color:var(--brand);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--brand);cursor:pointer;-webkit-user-select:none;user-select:none;margin:0 0 .75rem;padding:.5rem .25rem .25rem;font-size:.9rem;font-weight:700;list-style-position:inside;transition:background-color .2s}.weekly-section.weekly-section-static .weekly-section-header{color:var(--brand);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--brand);margin:0 0 .75rem;padding:.5rem .25rem .25rem;font-size:.9rem;font-weight:700}.weekly-section summary.weekly-section-header:hover{background-color:oklch(95% .08 60/.1)}.weekly-section summary.weekly-section-header::marker{content:"▶ ";font-size:.7rem}.weekly-section[open] summary.weekly-section-header::marker{content:"▼ "}.weekly-items{margin-top:.5rem;animation:.3s details-fade-in}@keyframes details-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lunch-hours{opacity:.75;margin:.3rem 0 .6rem;font-size:.85rem}.warning{color:var(--warn);margin:.3rem 0;font-size:.85rem}.menu-content{margin-top:.8rem}.dish{border-bottom:1px solid var(--line);margin-bottom:1rem;padding-bottom:.8rem;transition:all .3s;position:relative}.dish.is-favorite-dish{background:linear-gradient(90deg, transparent 0%, color-mix(in oklch, var(--ok) 24%, transparent) 50%, transparent 100%);border-left:4px solid var(--ok);background-size:200% 100%;border-radius:4px;margin-left:-.75rem;margin-right:-.5rem;padding-left:.75rem;animation:3s linear infinite sparkle}.dish.is-favorite-dish:before{content:"⭐";filter:drop-shadow(0 0 2px oklch(90% .1 90));pointer-events:none;font-size:1.1rem;position:absolute;top:-.1rem;left:.4rem}.dish.is-favorite-dish .dish-name{padding-left:1.6rem}@keyframes sparkle{0%{background-position:100% 0}to{background-position:-100% 0}}.dish:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.dish-name{text-transform:lowercase;text-wrap:balance;margin:0 0 .3rem;font-size:.95rem;font-weight:600}.dish-name:first-letter{text-transform:uppercase}.dish-raw{opacity:.65;margin:.3rem 0 0;font-size:.8rem;font-style:italic}.allergens{flex-wrap:wrap;gap:.3rem;margin-top:.3rem;display:flex}.allergen-pill{background:var(--brand-dark);color:#fff;text-transform:uppercase;letter-spacing:.03em;border-radius:.3rem;padding:.15rem .4rem;font-size:.7rem}.map-container{grid-template-columns:1fr 18rem;gap:1rem;padding:1.5rem;display:grid}.map-view{border:1px solid var(--line);height:500px;transition:border-color var(--theme-switch-ms) ease;border-radius:.7rem;overflow:hidden}.map-view .leaflet-tile-pane{transition:opacity .22s}.map-view.is-tile-switching .leaflet-tile-pane{opacity:.6}:root[data-theme=dark] .map-view .leaflet-container{background:#1b1f26}:root[data-theme=dark] .map-view .leaflet-control-zoom a,:root[data-theme=dark] .map-view .leaflet-bar a{background:var(--surface-elevated)!important;color:var(--ink)!important;border-color:var(--line)!important}:root[data-theme=dark] .map-view .leaflet-control-zoom a:hover,:root[data-theme=dark] .map-view .leaflet-bar a:hover{background:var(--surface-hover)!important}:root[data-theme=dark] .map-view .leaflet-popup-content-wrapper,:root[data-theme=dark] .map-view .leaflet-popup-tip{background:var(--popover-bg)!important;color:var(--ink)!important}:root[data-theme=dark] .map-view .leaflet-control-attribution{color:color-mix(in oklch, var(--ink) 85%, transparent)!important;background:oklch(28% .02 70/.85)!important}:root[data-theme=dark] .map-view .leaflet-control-attribution a{color:color-mix(in oklch, var(--brand) 88%, white)!important}.map-sidebar{scrollbar-color:var(--brand) var(--bg);max-height:500px;overflow-y:auto}.map-sidebar h3{text-wrap:balance;margin:0 0 .7rem;font:700 1.1rem/1.2 Fraunces,serif}.map-hint{background:#4285f41a;border:1px solid #4285f44d;border-radius:.5rem;margin-bottom:1rem;padding:.7rem .9rem}.map-hint p{color:var(--ink);margin:0;font-size:.85rem;line-height:1.4}.map-hint strong{color:#4285f4}.map-restaurant-list{margin:0;padding:0;list-style:none}.map-restaurant-list li{border-bottom:1px solid var(--line);cursor:pointer;padding:.6rem .8rem;font-size:.9rem;transition:background .18s}.map-restaurant-list li:hover{background:#fff9}.map-restaurant-list li.hidden-restaurant{opacity:.5}.badge{background:var(--warn);color:#fff;text-transform:uppercase;letter-spacing:.03em;border-radius:.3rem;margin-left:.4rem;padding:.15rem .4rem;font-size:.7rem;display:inline-block}.badge.favorite-badge{background:#8f6b00}@media (width<=900px){.map-container{grid-template-columns:1fr}.map-sidebar{max-height:300px}}@media (width<=720px){.tabs{gap:.3rem}.tab-button{padding:.6rem .9rem;font-size:.85rem}.menus{grid-template-columns:1fr}}.settings{max-width:50rem}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:2rem;margin-bottom:2rem;display:grid}.settings-section{background:var(--surface-elevated);border:1px solid var(--line);height:100%;transition:background-color var(--theme-switch-ms) var(--theme-switch-bg-ease), border-color var(--theme-switch-ms) ease;border-radius:.8rem;padding:1.5rem}.settings-section.full-width{grid-column:1/-1}.settings-header{margin-bottom:1.2rem}.settings-header h3{margin:0 0 .4rem;font:700 1.3rem/1.2 Fraunces,serif}.settings-summary{color:color-mix(in oklch, var(--ink) 76%, transparent);margin:0;font-size:.9rem}.settings-actions{flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem;display:flex}.settings-actions-vertical{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.settings-subheading{letter-spacing:.06em;opacity:.72;text-transform:uppercase;margin:.35rem 0 .1rem;font-size:.78rem;font-weight:700}.settings-toggle-label,.settings-toggle-label-inline{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:.3rem 0;display:flex}.settings-option-name{font-size:.95rem;font-weight:500}.settings-theme-fieldset{border:1px solid var(--line);background:var(--surface-soft);border-radius:.55rem;margin:0;padding:.55rem .75rem}.settings-theme-legend{color:color-mix(in oklch, var(--ink) 78%, transparent);padding:0 .25rem;font-size:.78rem;font-weight:700}.settings-actions-wrap{flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem;display:flex}.settings-action-btn{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:.5rem;padding:.6rem 1.2rem;font:600 .85rem Space Grotesk,sans-serif;transition:all .18s}.settings-action-btn:hover{background:var(--surface-hover);border-color:var(--brand)}@media (width<=720px){.settings-actions,.settings-actions-wrap{gap:.45rem}.settings-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-action-btn{padding:.5rem .7rem;font-size:.8rem;line-height:1.2}}.settings-restaurant-list{background:var(--surface-soft);border:1px solid var(--line);transition:background-color var(--theme-switch-ms) var(--theme-switch-bg-ease), border-color var(--theme-switch-ms) ease;border-radius:.7rem;margin:0;padding:0;list-style:none;overflow:hidden}.settings-restaurant-item{border-bottom:1px solid var(--line);transition:background .18s}.settings-restaurant-item:last-child{border-bottom:none}.settings-restaurant-item.hidden-item{opacity:.6}.settings-restaurant-row{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.settings-toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;align-items:center;padding:.9rem 1rem;display:flex}.settings-toggle-label:hover{background:var(--interactive-hover)}.settings-toggle{cursor:pointer;width:1.1rem;height:1.1rem;accent-color:var(--brand);margin:0 .8rem 0 0}.settings-restaurant-name{font-size:.95rem;font-weight:500}.settings-favorite-btn{cursor:pointer;color:color-mix(in oklch, var(--warn) 86%, var(--ink));opacity:.55;background:0 0;border:none;margin-right:.9rem;padding:.2rem;font-size:1.15rem;transition:opacity .18s,transform .18s}.settings-favorite-btn:hover{opacity:1;transform:scale(1.05)}.settings-favorite-btn.active{opacity:1}.settings-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:.3rem;margin-left:.5rem;padding:.15rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.settings-badge.no-coords{background:color-mix(in oklch, var(--ink) 18%, transparent);color:var(--ink)}.settings-badge.error-badge{background:var(--error);color:#fff}.location-settings{max-width:35rem}.settings-help{color:color-mix(in oklch, var(--ink) 74%, transparent);margin:0 0 1rem;font-size:.9rem;line-height:1.5}.settings-help.italic{font-style:italic}.favorite-dish-input-group{gap:.6rem;margin-bottom:1rem;display:flex}.favorite-dish-input-group input{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:.5rem;flex:1;padding:.7rem 1rem;font:500 .9rem Space Grotesk,sans-serif;transition:all .18s}.favorite-dish-input-group input:focus{border-color:var(--brand);background:var(--surface-hover);outline:none}.favorite-dishes-list{flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem;display:flex}.favorite-dish-item{background:var(--brand);color:#fff;border-radius:2rem;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.85rem;font-weight:600;display:flex;box-shadow:0 2px 8px oklch(0% 0 0/.2)}.remove-favorite-dish-btn{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.2rem;line-height:1;transition:opacity .2s;display:flex}.remove-favorite-dish-btn:hover{opacity:1}.btn-danger{background-color:var(--error)!important;color:#fff!important}.btn-danger:hover{filter:brightness(1.1)}.location-input-group{gap:.6rem;margin-bottom:1rem;display:flex}.location-input-group input{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);field-sizing:content;border-radius:.5rem;flex:1;min-width:120px;padding:.7rem 1rem;font:500 .9rem Space Grotesk,sans-serif;transition:all .18s}.location-input-group input:focus{border-color:var(--brand);background:var(--surface-hover);outline:none}.location-input-group input::placeholder{opacity:.5}.skip-link{background:var(--brand);color:#fff;z-index:100;border-radius:0 0 .5rem;padding:.5rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}.toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.toast{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--brand);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;max-width:320px;transition:opacity .3s ease, transform .3s ease, overlay .3s ease allow-discrete, display .3s ease allow-discrete;border-radius:.5rem;margin:0;padding:1rem 1.5rem;position:fixed;top:1rem;right:1rem;box-shadow:0 4px 12px #00000026}@media (prefers-reduced-motion:reduce){body,.panel,.meta-item,.restaurant-card,.tab-button,.day-button,.menu-card,.card-menu-popover,.map-view,.map-view .leaflet-tile-pane,.settings-section,.settings-restaurant-list{transition:none!important}}@starting-style{.toast:popover-open{opacity:0;transform:translate(100%)}}.toast:popover-open{opacity:1;transform:translate(0)}.toast:not(:popover-open){opacity:0;transform:translate(100%)}.toast[data-type=error]{border-left-color:var(--error)}.toast[data-type=warn]{border-left-color:var(--warn)}.toast[data-type=success]{border-left-color:var(--ok)}.toast:not([popover]){animation:.3s toast-in}.toast.toast-exit{animation:.3s forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.toast{transition:none}.toast:not([popover]){animation:none}.app-loader{transition:none}.app-loader-spinner{animation:none}body.app-ready .app,body.app-ready .footer{transition:none}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation-duration:.3s}::view-transition-new(root){animation-duration:.3s}::view-transition-old(root){animation-name:fade-out}::view-transition-new(root){animation-name:fade-in}}
