:root{color:#20261d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--accent:#e25a31;--cream:#f4efe5;--ink:#20261d;--line:#20261d24;--muted:#687064;--olive:#334c39;--paper:#fffdf8;--shadow:0 1px 2px #20261d0f, 0 12px 32px #34302514;background:#f4efe5;font-family:Aptos,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--cream);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #e25a316b}.app-header,main{width:min(1180px,100% - 40px);margin-inline:auto}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:76px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:760;text-decoration:none;display:inline-flex}.brand-mark{color:#fffaf1;background:var(--olive);border-radius:11px;place-items:center;width:34px;height:34px;font-family:Georgia,Times New Roman,serif;font-size:19px;display:grid}.catchment{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}main{padding-bottom:30px}.day-hero{grid-template-columns:minmax(0,1fr) minmax(340px,.65fr);align-items:end;gap:clamp(32px,7vw,88px);padding:clamp(58px,9vw,104px) 0 54px;display:grid}.hero-copy{max-width:680px}.eyebrow,.date-label{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;margin-bottom:9px;font-size:.72rem;font-weight:800;display:block}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.04em;text-wrap:balance;font-family:Georgia,Times New Roman,serif;font-weight:600}h1{max-width:680px;margin-bottom:20px;font-size:clamp(2.65rem,6vw,4.65rem);line-height:.98}h2{margin-bottom:0;font-size:clamp(2rem,4vw,3.15rem);line-height:1.02}h3{letter-spacing:-.025em;text-wrap:balance}.hero-copy>p,.restaurant-hero>div>p{max-width:580px;color:var(--muted);text-wrap:pretty;margin-bottom:0;font-size:1.08rem;line-height:1.65}.date-navigation,.week-toolbar{border:1px solid var(--line);background:#fffdf8b8;border-radius:20px;grid-template-columns:46px 1fr 46px;align-items:center;gap:6px;min-height:88px;padding:7px;display:grid;box-shadow:0 1px 1px #20261d0a}.date-navigation button,.week-toolbar button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;place-items:center;width:46px;height:46px;padding:0;font-size:1.25rem;transition:background-color .16s,border-color .16s,transform .1s;display:grid}.date-navigation>div,.week-toolbar>div{text-align:center}.date-navigation strong,.week-toolbar strong{font-variant-numeric:tabular-nums;font-size:1rem;display:block}.date-navigation .date-label,.week-toolbar .date-label{color:var(--muted);margin-bottom:3px;font-size:.63rem}.section{border-top:1px solid var(--line);padding:clamp(54px,8vw,88px) 0}.section-heading{grid-template-columns:minmax(0,1.2fr) minmax(250px,.65fr);align-items:end;gap:36px;margin-bottom:34px;display:grid}.section-heading>p{max-width:460px;color:var(--muted);text-wrap:pretty;margin-bottom:2px;line-height:1.6}.compact-heading{grid-template-columns:1fr auto}.result-count{color:var(--muted);font-variant-numeric:tabular-nums;padding-bottom:4px;font-size:.9rem}.recommendation-grid,.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.recommendation-card,.menu-card,.day-card,.opening-hours{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.recommendation-card{border-radius:28px;flex-direction:column;min-height:470px;padding:26px;display:flex}.recommendation-card.rank-1{color:#fffaf1;border-color:var(--olive);background:var(--olive);box-shadow:0 1px 2px #20261d1f,0 18px 42px #334c3933}.card-topline,.menu-card-heading,.day-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.rank-badge,.hours{border:1px solid var(--line);min-height:30px;color:var(--muted);white-space:nowrap;background:#f4efe5b8;border-radius:999px;align-items:center;padding:5px 10px;font-size:.75rem;font-weight:750;display:inline-flex}.rank-1 .rank-badge,.rank-1 .hours{color:#fffaf1;background:#fffaf11a;border-color:#fffaf138}.score{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:780;line-height:1}.score small{color:var(--muted);letter-spacing:0;margin-left:3px;font-size:.72rem;font-weight:650}.rank-1 .score small,.rank-1 .rationale{color:#fffaf1b3}.recommendation-card h3{margin:32px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;line-height:1.08}.rationale{min-height:72px;color:var(--muted);text-wrap:pretty;margin-bottom:24px;line-height:1.5}.menu-preview{border-top:1px solid;border-color:var(--line);margin-top:auto;padding-top:22px}.rank-1 .menu-preview{border-color:#fffaf133}.menu-text{white-space:pre-line;text-wrap:pretty;margin-bottom:17px;line-height:1.55}.course-list li{border-bottom:1px solid var(--line);padding-bottom:9px}.raw-menu summary{cursor:pointer;width:fit-content;font-weight:700}.menu-data-notice{border:1px solid var(--line);color:var(--muted);background:#fffdf8a8;border-radius:12px;margin:24px 0 0;padding:14px 16px;font-size:.78rem;line-height:1.5}.rank-1 .course-list li{border-color:#fffaf133}.rank-1 .course-list small,.rank-1 .more-courses{color:#fffaf1b3}.recommendation-card .menu-text{-webkit-line-clamp:7;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-link{text-underline-offset:4px;align-items:center;gap:7px;min-height:44px;margin-top:22px;font-size:.87rem;font-weight:760;text-decoration-thickness:1px;display:inline-flex}.text-link span{transition:transform .16s}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-card{border-radius:22px;min-height:270px;padding:24px}.menu-card h3,.day-card h3{margin-bottom:7px;font-size:1.08rem}.menu-card-heading>div>p{color:var(--muted);margin-bottom:22px;font-size:.82rem}.menu-source a{text-underline-offset:3px;font-weight:720}.muted{color:var(--muted);line-height:1.55}.inline-state,.state-panel,.stale-notice{border:1px solid var(--line);background:#fffdf8bf;border-radius:20px}.inline-state{color:var(--muted);padding:24px}.state-panel{text-align:center;align-content:center;place-items:center;min-height:240px;margin:40px 0 80px;padding:40px;display:grid}.state-panel h2{font-size:2rem}.state-panel p{color:var(--muted)}.loading-dot{background:var(--accent);border-radius:50%;width:12px;height:12px;margin-bottom:15px;animation:1.1s ease-in-out infinite alternate pulse}@keyframes pulse{0%{opacity:.35;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.stale-notice{color:#6e4620;background:#fff1d8;border-color:#ae671b3d;align-items:baseline;gap:12px 24px;margin:0 0 28px;padding:17px 20px;font-size:.88rem;display:flex}.stale-notice span{color:#805f3b}.button{cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:11px 16px;font-weight:760;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s,transform .1s;display:inline-flex}.button-dark{color:#fff;background:var(--ink)}.button-accent{color:#fff;background:var(--accent)}.source-footer{border-top:1px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:20px;padding:26px 0 8px;font-size:.78rem;display:flex}.source-footer a{text-underline-offset:3px;font-weight:720}.back-link{min-height:44px;color:var(--muted);text-underline-offset:4px;align-items:center;gap:8px;margin-top:28px;font-size:.88rem;font-weight:700;display:inline-flex}.restaurant-hero{justify-content:space-between;align-items:end;gap:32px;padding:55px 0 42px;display:flex}.restaurant-hero h1{margin-bottom:17px}.restaurant-meta a{text-underline-offset:3px}.week-toolbar{max-width:440px;margin-bottom:52px}.restaurant-content{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:22px;padding:52px 0 82px;display:grid}.week-grid{gap:12px;display:grid}.day-card{border-radius:20px;min-height:150px;padding:22px}.day-card-empty{box-shadow:none;background:#fffdf87a}.opening-hours{border-radius:20px;padding:22px;position:sticky;top:20px}.opening-hours h2{letter-spacing:-.025em;margin-bottom:18px;font-family:inherit;font-size:1.15rem;font-weight:780}.admin-badge{border:1px solid var(--line);color:var(--muted);background:#fffdf8a6;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:760}.admin-main{padding:44px 0 80px}.admin-login-main{place-items:center;min-height:calc(100vh - 76px);display:grid}.admin-login-card,.admin-panel,.admin-count-card,.admin-status-strip{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.admin-login-card{border-radius:28px;width:min(100%,470px);padding:clamp(28px,6vw,46px)}.admin-login-card h1{margin-bottom:16px;font-size:clamp(2.35rem,7vw,3.5rem);line-height:1}.admin-login-card>p,.admin-panel>p,.admin-hero p{color:var(--muted);text-wrap:pretty;line-height:1.6}.admin-form{gap:10px;margin-top:28px;display:grid}.admin-form label{font-size:.82rem;font-weight:760}.admin-form input{width:100%;min-height:48px;color:var(--ink);font:inherit;background:#fff;border:1px solid #20261d3d;border-radius:13px;outline:none;padding:11px 13px;transition:border-color .16s,box-shadow .16s}.admin-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e25a3129}.admin-form .button{margin-top:7px}.button:disabled{cursor:wait;opacity:.58}.form-message{margin:2px 0 0;font-size:.84rem;line-height:1.45}.form-message-error,.admin-inline-error{color:#9b3027}.form-message-ok{color:#2f6b3d}.admin-hero{justify-content:space-between;align-items:end;gap:30px;padding:20px 0 36px;display:flex}.admin-hero h1{margin-bottom:12px;font-size:clamp(2.8rem,6vw,4.5rem)}.admin-hero p{margin-bottom:0}.admin-actions{gap:8px;display:flex}.admin-secondary-button{border-color:var(--line);background:#fffdf8b8}.admin-status-strip{min-height:58px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:17px;justify-content:space-between;align-items:center;gap:18px;padding:13px 17px;font-size:.82rem;display:flex;box-shadow:0 1px 2px #20261d0a}.admin-status-strip>div{color:var(--ink);align-items:center;gap:9px;display:flex}.status-dot{border-radius:50%;width:9px;height:9px}.status-dot-ok{background:#4f985d;box-shadow:0 0 0 4px #4f985d21}.status-dot-running{background:#d48a2e;animation:1.1s ease-in-out infinite alternate pulse;box-shadow:0 0 0 4px #d48a2e24}.admin-count-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.admin-count-card{border-radius:17px;flex-direction:column;justify-content:space-between;min-height:118px;padding:17px;display:flex;box-shadow:0 1px 2px #20261d0a}.admin-count-card strong{font-variant-numeric:tabular-nums;letter-spacing:-.05em;font-size:clamp(1.8rem,3vw,2.5rem)}.admin-count-card span{color:var(--muted);font-size:.76rem;line-height:1.3}.admin-layout{grid-template-columns:1.25fr .75fr;gap:18px;margin:18px 0;display:grid}.admin-panel{border-radius:22px;padding:25px}.admin-panel h2{letter-spacing:-.035em;margin-bottom:13px;font-family:inherit;font-size:1.45rem;font-weight:790}.admin-detail-list{margin:20px 0 0}.admin-detail-list>div{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:15px;padding:10px 0;font-size:.82rem;display:grid}.admin-detail-list dt{color:var(--muted)}.admin-detail-list dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.admin-inline-error{background:#fff0ed;border-radius:12px;margin:18px 0 0;padding:12px;font-size:.82rem}.admin-wide-panel{margin-top:18px}.admin-section-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.admin-section-heading>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.admin-calibration-intro{max-width:760px;margin:12px 0 0}.admin-calibration-heading{flex-wrap:wrap}.admin-calibration-toolbar{grid-template-columns:auto auto;place-items:center end;gap:5px 9px;display:grid}.admin-calibration-toolbar label,.admin-calibration-toolbar span{color:var(--muted);font-size:.75rem}.admin-calibration-toolbar select{min-height:40px;color:var(--ink);font:inherit;background:#fff;border:1px solid #20261d3d;border-radius:11px;padding:8px 30px 8px 10px;font-size:.82rem}.admin-calibration-toolbar select:focus-visible{border-color:var(--accent);outline-offset:1px;outline:3px solid #e25a3129}.admin-calibration-toolbar>span{grid-column:1/-1}.admin-assessment-list{margin:22px 0 0;padding:0;list-style:none}.admin-assessment-list>li{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;padding:20px 0;display:grid}.admin-assessment-summary{min-width:0}.admin-assessment-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.admin-assessment-heading>div{gap:4px;min-width:0;display:grid}.admin-assessment-heading>div>span,.admin-feedback-control>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.76rem}.admin-assessment-total{font-variant-numeric:tabular-nums;letter-spacing:-.04em;flex:none;font-size:1.45rem}.admin-assessment-total small{color:var(--muted);letter-spacing:0;margin-left:2px;font-size:.68rem}.admin-score-breakdown{flex-wrap:wrap;gap:7px 18px;margin:14px 0 0;display:flex}.admin-score-breakdown>div{align-items:baseline;gap:5px;display:flex}.admin-score-breakdown dt{color:var(--muted);font-size:.75rem}.admin-score-breakdown dd{font-variant-numeric:tabular-nums;margin:0;font-size:.8rem;font-weight:760}.admin-assessment-rationale{max-width:75ch;color:var(--ink);margin:13px 0 0;font-size:.86rem;line-height:1.5}.admin-assessment-menu{color:var(--muted);margin-top:11px;font-size:.78rem}.admin-assessment-menu summary{cursor:pointer;text-underline-offset:3px;width:fit-content;font-weight:720}.admin-assessment-menu p{overflow-wrap:anywhere;white-space:pre-line;max-width:75ch;margin:10px 0 0;line-height:1.5}.admin-feedback-control{justify-items:end;gap:7px;display:grid}.admin-feedback-control>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.admin-feedback-button{border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;border-radius:12px;min-height:42px;padding:9px 12px;font-size:.78rem;font-weight:740;transition:background-color .16s,border-color .16s,color .16s,transform .1s}.admin-feedback-button[data-direction=lower][aria-pressed=true]{color:#8f2e27;background:#fff0ed;border-color:#9b302757}.admin-feedback-button[data-direction=higher][aria-pressed=true]{color:#2f6b3d;background:#eef8f0;border-color:#2f6b3d57}.admin-feedback-button:disabled{cursor:wait;opacity:.58}.admin-empty{border-top:1px solid var(--line);margin:0;padding:23px 0 3px}.admin-source-list,.admin-error-list{margin:20px 0 0;padding:0;list-style:none}.admin-source-list li,.admin-error-list li{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:14px 0;display:grid}.admin-source-list li>div:first-child,.admin-error-list li>div:first-child{gap:5px;min-width:0;display:grid}.admin-source-list a,.admin-error-list span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.admin-source-list a{text-underline-offset:3px}.admin-source-state,.admin-error-list li>div:last-child{font-variant-numeric:tabular-nums;justify-items:end;gap:4px;font-size:.8rem;display:grid}.admin-source-state small,.admin-error-list small{color:var(--muted)}@media (hover:hover) and (pointer:fine){.date-navigation button:hover,.week-toolbar button:hover{border-color:var(--line);background:var(--paper)}.text-link:hover span{transform:translate(3px)}.button-dark:hover{background:#343a31}.button-accent:hover{background:#c94d29}.admin-secondary-button:hover{background:var(--paper);border-color:#20261d47}.admin-feedback-button:hover:not(:disabled):not([aria-pressed=true]){background:#f4efe594;border-color:#20261d47}}.date-navigation button:active,.week-toolbar button:active,.button:active{transform:scale(.96)}.admin-feedback-button:active{transform:scale(.97)}@media (width<=820px){.day-hero,.section-heading,.restaurant-content,.recommendation-grid{grid-template-columns:1fr}.recommendation-card,.rationale{min-height:0}.restaurant-content{padding-top:42px}.admin-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-layout,.admin-assessment-list>li{grid-template-columns:1fr}.admin-feedback-control{justify-items:start}.opening-hours{position:static}}@media (width<=600px){.app-header,main{width:min(100% - 24px,1180px)}.app-header{min-height:66px}.catchment{display:none}.day-hero{grid-template-columns:1fr;padding:46px 0 38px}h1{font-size:clamp(2.5rem,14vw,3.8rem)}.date-navigation{min-width:0}.section{padding:52px 0}.section-heading{gap:18px}.menu-grid{grid-template-columns:1fr}.recommendation-card,.menu-card{border-radius:22px;padding:21px}.stale-notice,.restaurant-hero,.source-footer{flex-direction:column;align-items:flex-start}.restaurant-hero{padding-top:42px}.restaurant-hero .button{width:100%}.week-toolbar{max-width:none}.admin-main{padding-top:28px}.admin-hero,.admin-status-strip{flex-direction:column;align-items:flex-start}.admin-actions{width:100%}.admin-actions .button{flex:1}.admin-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-source-list li,.admin-error-list li{grid-template-columns:1fr;gap:9px}.admin-source-state,.admin-error-list li>div:last-child{justify-items:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--signal-clay:#e25a31;--signal-clay-hover:#c94d29;--route-green:#334c39;--route-green-hover:#343a31;--field-ground:#f4efe5;--clear-surface:#fffdf8;--input-surface:#fff;--light-on-dark:#fffaf1;--quiet-divider:#20261d24;--warning-ink:#6e4620;--warning-surface:#fff1d8;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:18px;--space-xl:24px;--space-section:52px}html,body{min-width:0}.reader-header,.reader-main{width:min(100% - 24px,1180px)}.reader-header{min-height:64px}.reader-header .brand{gap:9px;min-height:46px}.reader-header .brand-mark{position:relative}.reader-header .brand-mark:after{border:2px solid var(--route-green);background:var(--signal-clay);content:"";border-radius:50%;width:6px;height:6px;position:absolute;bottom:4px;right:4px}.brand-copy{gap:1px;display:grid}.brand-copy strong{font-size:.94rem}.brand-copy small{color:var(--ink);letter-spacing:0;font-size:.68rem;font-weight:500}.reader-main{padding-bottom:24px}.reader-main h1,.reader-main h2{color:var(--ink);letter-spacing:-.03em;text-wrap:balance;font-family:Georgia,Times New Roman,serif;font-weight:600}.reader-main h1{max-width:19ch;margin:0;font-size:2.5rem;line-height:1}.reader-main h2{font-size:1.75rem;line-height:1.05}.reader-main :is(a,button,summary):focus-visible,.reader-header a:focus-visible{outline:3px solid var(--signal-clay);outline-offset:3px}.reader-main :is(.recommendation-card,.restaurant-hero) a:focus-visible{outline-color:var(--light-on-dark)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.day-wayfinding{gap:16px;padding:16px 0 14px;display:grid}.reader-context,.restaurant-context,.selection-label,.rank-label,.menu-preview-label{color:var(--ink);letter-spacing:0;text-transform:none;margin:0 0 6px;font-size:.8rem;font-weight:720;line-height:1.3;display:block}.date-navigation,.week-toolbar{border:1px solid var(--quiet-divider);background:var(--clear-surface);min-width:0;min-height:58px;box-shadow:none;border-radius:12px;align-items:center;gap:4px;padding:5px;display:flex}.date-navigation button,.week-toolbar button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;width:46px;min-width:46px;height:46px;padding:0;font-size:1.1rem;transition:background-color .16s cubic-bezier(.22,1,.36,1),border-color .16s cubic-bezier(.22,1,.36,1),transform .1s ease-out;display:grid}:is(.date-navigation,.week-toolbar) .today-button{width:auto;min-width:60px;color:var(--ink);border-color:var(--quiet-divider);padding-inline:10px;font-size:.78rem;font-weight:720;display:inline-flex}:is(.date-navigation,.week-toolbar) .today-button[aria-disabled=true]{color:var(--muted);cursor:default}.date-navigation-current,.week-toolbar>div{text-align:center;flex:1;min-width:0}.date-context{color:var(--ink);letter-spacing:0;text-transform:none;margin:0 0 2px;font-size:.7rem;font-weight:720;line-height:1.2;display:block}.date-navigation strong,.week-toolbar strong{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;line-height:1.2;display:block;overflow:hidden}.decision-heading{align-self:end}.recommendation-section{padding-bottom:18px}.recommendation-layout{gap:12px;display:grid}.recommendation-card{min-height:0;box-shadow:none;border:0;border-radius:14px;padding:18px}.recommendation-card.rank-1{color:var(--light-on-dark);background:var(--route-green);box-shadow:none;border:0}.recommendation-card .rank-label{color:var(--light-on-dark)}.recommendation-card h2{color:var(--light-on-dark);margin:0 0 8px;font-size:2rem;line-height:1.05}.recommendation-card .rationale{max-width:62ch;min-height:0;color:var(--light-on-dark);margin:0;font-size:.96rem;line-height:1.5}.decision-facts{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.decision-facts li{min-height:30px;color:var(--light-on-dark);border:1px solid #fffaf147;border-radius:999px;align-items:center;padding:5px 9px;font-size:.75rem;font-weight:700;line-height:1.2;display:inline-flex}.recommendation-card .menu-preview{border-top:1px solid #fffaf13d;margin:13px 0 0;padding:13px 0 0}.recommendation-card .menu-preview .menu-text{-webkit-line-clamp:2}.recommendation-card .menu-preview-label{color:var(--light-on-dark)}.recommendation-card .structured-menu,.recommendation-card .course-list{margin-bottom:0}.recommendation-card .course-list li{border:0;padding:0}.recommendation-card .course-line{color:var(--light-on-dark);font-size:.9rem}.recommendation-card .dietary-markers>span{color:var(--light-on-dark);border-color:#fffaf170}.recommendation-card .more-courses{color:var(--light-on-dark)}.recommendation-actions{gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap;align-items:stretch;display:flex}.recommendation-primary-link{min-height:46px;color:var(--light-on-dark);border:1px solid #fffaf1a3;border-radius:10px;flex:210px;justify-content:space-between;margin-top:0;padding:11px 16px;text-decoration:none}.recommendation-route-link{color:var(--light-on-dark);flex:none;justify-content:center;padding-inline:8px}.recommendation-companions{border:1px solid var(--quiet-divider);background:var(--clear-surface);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.recommendation-row:focus-visible{outline-offset:-4px!important}.recommendation-companions li+li{border-top:1px solid var(--quiet-divider)}.recommendation-row{column-gap:var(--space-md);row-gap:var(--space-sm);min-height:0;padding:var(--space-md);grid-template-columns:24px minmax(0,1fr) 18px;grid-template-areas:"rank main arrow"".facts arrow";align-items:start;text-decoration:none;transition:background-color .16s cubic-bezier(.22,1,.36,1);display:grid}.rank-number{font-variant-numeric:tabular-nums;grid-area:rank;font-size:1rem;font-weight:760}.recommendation-row-main{gap:var(--space-xs);grid-area:main;min-width:0;display:grid}.recommendation-row-main strong{font-size:1rem;line-height:1.2}.recommendation-row-main small,.recommendation-row-facts{color:var(--ink);font-size:.78rem;line-height:1.3}.recommendation-row-dish{margin-top:var(--space-xs);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.84rem;font-weight:720;line-height:1.35;display:-webkit-box;overflow:hidden}.recommendation-row-rationale{margin-top:var(--space-xs);-webkit-line-clamp:2;text-wrap:pretty;-webkit-box-orient:vertical;font-weight:400;display:-webkit-box;overflow:hidden;line-height:1.4!important}.recommendation-row-facts{font-variant-numeric:tabular-nums;grid-area:facts}.recommendation-row-arrow{grid-area:arrow;place-self:start end;padding-top:1px}.recommendation-trust{color:var(--ink);flex-wrap:wrap;gap:5px 14px;padding:10px 2px 0;font-size:.76rem;line-height:1.4;display:flex}.recommendation-trust a,.menu-source a,.source-footer a,.restaurant-provenance a{text-underline-offset:3px;font-weight:720}.dietary-safety-note{padding:var(--space-sm) 10px;margin:0 0 var(--space-md);color:var(--warning-ink);background:var(--warning-surface);border-radius:10px;font-size:.78rem;line-height:1.4}.dietary-safety-note strong{margin-inline-end:var(--space-xs)}.recommendation-card .dietary-safety-note{color:var(--light-on-dark);background:#fffaf114;border:1px solid #fffaf147}.menu-data-notice{margin:0 0 var(--space-lg);border:1px solid var(--quiet-divider);color:var(--ink);background:var(--clear-surface);border-radius:12px;padding:0;font-size:.82rem;line-height:1.5;overflow:hidden}.menu-data-warning{max-width:none;padding:var(--space-md);color:var(--warning-ink);background:var(--warning-surface);margin:0}.menu-data-warning strong{margin-inline-end:var(--space-xs)}.menu-data-notice details{border-top:1px solid #6e462033}.menu-data-notice summary{min-height:46px;padding:10px var(--space-md);cursor:pointer;align-items:center;font-weight:720;list-style:none;display:flex}.menu-data-notice summary:focus-visible{outline-offset:-4px!important}.menu-data-notice summary::-webkit-details-marker{display:none}.menu-row summary::-webkit-details-marker{display:none}.day-row summary::-webkit-details-marker{display:none}.menu-data-notice summary:after{content:"+";margin-inline-start:auto;font-size:1.1rem}.menu-data-notice details[open] summary:after{content:"−"}.menu-data-notice details>p{max-width:70ch;padding:0 var(--space-md) var(--space-md);margin:0}.section.all-menus{padding:calc(var(--space-xl) + var(--space-lg)) 0;border-top:1px solid var(--quiet-divider)}.all-menus .section-heading{justify-content:space-between;align-items:end;gap:16px;margin:0 0 18px;display:flex}.all-menus .section-heading h2{margin:0}.result-count{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 0 3px;font-size:.82rem}.menu-list{border-block:1px solid var(--quiet-divider);margin:0;padding:0;list-style:none}.menu-list>li+li{border-top:1px solid var(--quiet-divider)}.menu-row{background:0 0}.menu-row summary,.day-row summary{gap:var(--space-sm);min-height:72px;padding:var(--space-md) var(--space-xs);cursor:pointer;align-items:center;list-style:none;transition:background-color .16s cubic-bezier(.22,1,.36,1);display:grid}.menu-row summary{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.menu-row-restaurant{grid-area:1/1}.menu-row-preview{grid-area:2/1}.menu-row-facts{grid-area:3/1}.menu-row-toggle{grid-area:1/2/span 3;align-self:center}.menu-row-restaurant,.day-row-title{gap:3px;min-width:0;display:grid}.menu-row-restaurant strong,.day-row-title strong{font-size:1rem;line-height:1.25}.menu-row-restaurant small,.day-row-title small,.menu-row-preview,.menu-row-facts,.day-row-facts{color:var(--ink);font-size:.78rem;line-height:1.4}.menu-row-preview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-row-facts,.day-row-facts{font-variant-numeric:tabular-nums}.menu-row-toggle,.day-row-toggle{min-height:30px;color:var(--ink);align-items:center;font-size:.76rem;font-weight:720;display:inline-flex}.menu-row-toggle:after,.day-row-toggle:after{content:"↓";margin-left:6px}.menu-row[open] .menu-row-toggle:after,.day-row[open] .day-row-toggle:after{content:"↑"}.menu-row-body,.day-row-body{max-width:72ch;padding:3px 4px 18px}.menu-row-body .text-link{margin-top:14px}.structured-menu{margin-bottom:14px}.course-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.course-list li{border-bottom:1px solid var(--quiet-divider);padding:9px 0}.course-list li:first-child{padding-top:0}.course-line{justify-content:space-between;align-items:flex-start;gap:10px;line-height:1.45;display:flex}.course-name{overflow-wrap:anywhere;min-width:0}.dietary-markers{flex-wrap:wrap;flex:none;gap:4px;display:inline-flex}.dietary-markers>span{border:1px solid;border-radius:999px;padding:2px 6px;font-size:.68rem;font-weight:760}.course-list small,.more-courses{color:var(--ink);font-size:.76rem;line-height:1.45}.course-list small{margin-top:4px;display:block}.more-courses{margin:8px 0 0}.menu-text{white-space:pre-line;text-wrap:pretty;max-width:70ch;margin-bottom:14px;line-height:1.55}.raw-menu{color:var(--ink);margin-top:12px;font-size:.78rem}.raw-menu summary{cursor:pointer;width:fit-content;min-height:46px;font-weight:700}.raw-menu .menu-text{margin:8px 0 0}.menu-source{color:var(--ink);margin:14px 0 0;font-size:.76rem}.text-link{min-height:46px;color:inherit;text-underline-offset:4px;align-items:center;gap:7px;margin-top:0;font-size:.86rem;font-weight:760;text-decoration-thickness:1px;display:inline-flex}.reader-main .inline-state,.reader-main .state-panel,.reader-main .stale-notice{border:1px solid var(--quiet-divider);box-shadow:none;border-radius:12px}.reader-main .inline-state{min-height:70px;color:var(--ink);background:var(--clear-surface);align-items:center;padding:16px;display:flex}.reader-main .state-panel{text-align:center;background:var(--clear-surface);align-content:center;place-items:center;min-height:260px;margin:0 0 42px;padding:24px;display:grid}.reader-main .state-panel h2{letter-spacing:-.02em;margin-bottom:10px;font-family:Aptos,Segoe UI,sans-serif;font-size:1.75rem}.reader-main .state-panel p{color:var(--ink)}.reader-loading{text-align:left;justify-items:stretch;gap:16px}.reader-loading>p{width:100%;margin:0;font-weight:720}.loading-skeleton{gap:10px;width:100%;display:grid}.loading-skeleton span{background:#20261d1f;border-radius:4px;height:16px;animation:1.1s ease-in-out infinite alternate skeleton-pulse}.loading-skeleton span:nth-child(2){width:78%}.loading-skeleton span:nth-child(3){width:52%}@keyframes skeleton-pulse{0%{opacity:.48}to{opacity:1}}.reader-main .stale-notice{color:var(--warning-ink);background:var(--warning-surface);border-color:#6e46204d;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:0 0 14px;padding:12px 14px;font-size:.84rem;display:flex}.reader-main .stale-notice span{color:var(--warning-ink)}.reader-main .button{border-radius:12px;min-height:46px;padding:11px 16px}.reader-main .button-dark{color:var(--light-on-dark);background:var(--route-green)}.reader-main .button-light{color:var(--ink);background:var(--clear-surface);border-color:#fffaf1b3}.source-footer{border-top:1px solid var(--quiet-divider);color:var(--ink);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:20px 0 2px;font-size:.76rem;display:flex}.back-link{min-height:46px;color:var(--ink);text-underline-offset:4px;align-items:center;gap:8px;margin:8px 0;font-size:.8rem;font-weight:700;display:inline-flex}.restaurant-hero{color:var(--light-on-dark);background:var(--route-green);border-radius:14px;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:18px;padding:20px;display:flex}.restaurant-hero h1{color:var(--light-on-dark);margin:0 0 8px;font-size:2.5rem}.restaurant-hero>div>p{max-width:62ch;color:var(--light-on-dark);margin:0;font-size:.94rem;line-height:1.5}.restaurant-context{color:var(--light-on-dark)!important}.restaurant-meta{color:var(--light-on-dark);flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:.82rem;display:flex}.restaurant-meta a{min-height:46px;padding-inline:var(--space-xs);color:var(--light-on-dark);text-underline-offset:3px;align-items:center;display:inline-flex}.restaurant-actions{gap:var(--space-xs);flex:none;justify-items:stretch;display:grid}.restaurant-actions .button{white-space:nowrap}.restaurant-website-link{color:var(--light-on-dark);justify-content:center}.week-toolbar{max-width:430px;margin:12px 0 18px}.restaurant-content{border:0;align-items:start;gap:18px;padding:0 0 42px;display:grid}.selected-day{border:1px solid var(--quiet-divider);background:var(--clear-surface);border-radius:14px;padding:18px}.selected-day-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.selected-day-heading h2{font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-wrap:auto;margin:0;font-family:Aptos,Segoe UI,sans-serif;font-size:1.65rem;font-weight:700}.restaurant-aside h2{letter-spacing:-.01em;text-wrap:auto;font-family:Aptos,Segoe UI,sans-serif;font-size:1rem;font-weight:760}.selection-label{background:var(--field-ground);border-radius:999px;width:fit-content;padding:4px 8px}.menu-facts{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.hours{border:1px solid var(--quiet-divider);min-height:30px;color:var(--ink);background:var(--field-ground);white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:.74rem;font-weight:720;display:inline-flex}.selected-day>.structured-menu{margin-bottom:0}.selected-day+.menu-data-notice{margin-top:12px}.other-days{margin-top:36px}.other-days>h2{margin:0 0 14px;font-size:1.5rem}.week-list{border-block:1px solid var(--quiet-divider)}.day-row+.day-row{border-top:1px solid var(--quiet-divider)}.day-row summary{column-gap:var(--space-md);row-gap:var(--space-xs);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title toggle""facts toggle"}.day-row-title{grid-area:title}.day-row-title small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.day-row-facts{grid-area:facts}.day-row-toggle{grid-area:toggle;align-self:center}.restaurant-aside{gap:12px;display:grid}.opening-hours,.restaurant-provenance{border:1px solid var(--quiet-divider);background:var(--clear-surface);box-shadow:none;border-radius:14px;padding:16px;position:static;top:auto}.opening-hours h2,.restaurant-provenance h2{letter-spacing:-.01em;margin:0 0 12px;font-family:Aptos,Segoe UI,sans-serif;font-size:1rem;font-weight:760}.opening-hours dl,.opening-hours dd{margin:0}.opening-hours dl>div{border-top:1px solid var(--quiet-divider);font-variant-numeric:tabular-nums;grid-template-columns:35px 1fr;gap:10px;padding:8px 0;font-size:.82rem;display:grid}.opening-hours dt{color:var(--ink)}.opening-hours dd{text-align:right}.restaurant-provenance p{color:var(--ink);margin:0 0 5px;font-size:.8rem;line-height:1.4}.reader-main .muted{color:var(--ink)}@media (hover:hover) and (pointer:fine){.reader-main :is(.date-navigation,.week-toolbar) button:hover,.reader-main .recommendation-row:hover,.reader-main :is(.menu-row,.day-row)>summary:hover{border-color:var(--quiet-divider);background:var(--clear-surface)}.reader-main .recommendation-row:hover,.reader-main :is(.menu-row,.day-row)>summary:hover{background:#fffdf8a3}.reader-main .button-dark:hover{background:var(--route-green-hover)}.reader-main .recommendation-primary-link:hover{background:#fffaf114}.reader-main .text-link:hover span{transform:none}.reader-main .text-link:hover>span[aria-hidden=true]{transform:translate(3px)}}.reader-main :is(.date-navigation,.week-toolbar) button:active,.reader-main :is(.button,.text-link,.recommendation-row):active{transform:scale(.98)}@media (width<=520px){:is(.date-navigation,.week-toolbar) .today-button{min-width:54px;padding-inline:8px}.recommendation-route-link{flex-basis:100%;justify-content:flex-start}.selected-day-heading,.restaurant-hero{flex-direction:column;align-items:stretch}.restaurant-actions,.restaurant-hero .button,.restaurant-website-link{width:100%}.menu-facts{justify-content:flex-start}}@media (width<=360px){.date-navigation strong{text-overflow:clip;white-space:normal;font-size:.82rem;line-height:1.08;overflow:visible}}@media (width>=720px){.reader-header,.reader-main{width:min(100% - 40px,1180px)}.recommendation-layout{gap:var(--space-lg);grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);align-items:start}.recommendation-card{padding:24px}.recommendation-row{padding:var(--space-lg)}.menu-row summary{grid-template-columns:minmax(150px,.8fr) minmax(240px,1.6fr) minmax(120px,auto) auto;gap:18px;padding:15px 4px}.menu-row-restaurant,.menu-row-preview,.menu-row-facts,.menu-row-toggle{grid-area:auto}.selected-day{padding:24px}}@media (width>=900px){.day-wayfinding{grid-template-columns:minmax(380px,.7fr) minmax(0,1fr);align-items:end;gap:36px;padding:24px 0 20px}.reader-main h1{font-size:3.5rem}.day-row summary{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:none}.day-row-title,.day-row-facts,.day-row-toggle{grid-area:auto}.day-row-title small{text-overflow:clip;white-space:normal;overflow:visible}.restaurant-content{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) 260px}.restaurant-aside{top:var(--space-lg);position:sticky}}@media (width>=1000px){.reader-header{min-height:70px}.recommendation-card h2{font-size:2.35rem}.section.all-menus{padding:var(--space-section) 0}.restaurant-hero{padding:24px}}
