:root{--paper:#f6f0e3;--paper-deep:#efe6d2;--card:#fdfaf2;--ink:#231b10;--ink-soft:#6b5d48;--ink-faint:#a3937a;--paprika:#b3261e;--paprika-deep:#8c1710;--jofalat:#2f6b33;--jofalat-soft:#e7efe3;--interfood:#1d3fbf;--interfood-soft:#e6eaf8;--free-badge:#2f6b33;--rule:#d8cbb2;--glow:#fbf7ec;--on-accent:#f4f8ef;--error-bg:#f9e9e7;--error-border:#ecc9c5;--warn:#9a6a12;--shadow-1:#231b1012;--shadow-2:#231b1040;--shadow-3:#231b100f;--serif:"Fraunces", "Georgia", serif;--sans:"Karla", "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#171210;--paper-deep:#241d16;--card:#1f1913;--ink:#ece2cf;--ink-soft:#b4a58c;--ink-faint:#7e7159;--paprika:#d8503c;--paprika-deep:#e8826f;--jofalat:#82c186;--jofalat-soft:#233322;--interfood:#93a8ee;--interfood-soft:#1e2438;--free-badge:#82c186;--rule:#3c3328;--glow:#241b12;--on-accent:#14110c;--error-bg:#3a221e;--error-border:#5c372f;--warn:#e0aa4e;--shadow-1:#00000059;--shadow-2:#0000008c;--shadow-3:#0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:radial-gradient(1200px 500px at 50% -100px, var(--glow) 0%, transparent 70%), var(--paper);min-height:100vh;margin:0}.paper-grain{pointer-events:none;z-index:40;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.025 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.theme-toggle{z-index:45;border:1.5px solid var(--rule);background:var(--card);width:38px;height:38px;color:var(--ink-soft);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:inline-flex;position:fixed;top:14px;right:14px}.theme-toggle:hover{border-color:var(--ink);color:var(--ink);transform:rotate(15deg)scale(1.06)}.masthead{text-align:center;padding:44px 16px 10px}.masthead-rule{color:var(--paprika);letter-spacing:14px;text-indent:14px;margin-bottom:10px;font-size:11px}.masthead-title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(44px,8vw,84px);font-weight:900;line-height:.95}.masthead-title:after{content:"";background:repeating-linear-gradient(90deg, var(--paprika) 0 8px, transparent 8px 14px);width:130px;height:3px;margin:18px auto 0;display:block}.masthead-sub{font-family:var(--serif);color:var(--ink-soft);margin:14px 0 0;font-size:17px;font-style:italic;font-weight:400}.masthead-sub .times{color:var(--paprika);font-style:normal}.week-nav{align-items:center;gap:14px;margin-top:22px;display:inline-flex}.week-btn{font-family:var(--serif);border:1.5px solid var(--ink);width:40px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;font-size:24px;line-height:1;transition:all .15s}.week-btn:hover{background:var(--ink);color:var(--paper);transform:scale(1.06)}.week-label{font-family:var(--serif);min-width:230px;font-size:19px;font-weight:600}.week-label small{font-family:var(--sans);color:var(--ink-soft);letter-spacing:.04em;font-size:12.5px;font-weight:400;display:block}.toolbar{z-index:30;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1.5px solid var(--rule);margin-top:26px;padding:12px clamp(12px,4vw,40px) 10px;position:sticky;top:0}.day-tabs{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:12px;display:flex}.day-tab{font-family:var(--sans);color:var(--ink-soft);cursor:pointer;text-align:center;background:0 0;border:1.5px solid #0000;border-radius:10px 10px 0 0;padding:7px 16px 6px;transition:all .15s;position:relative}.day-tab b{letter-spacing:.02em;font-size:14.5px;font-weight:700;display:block}.day-tab small{opacity:.75;font-size:11.5px}.day-tab:hover{color:var(--ink);background:var(--paper-deep)}.day-tab.is-active{color:var(--paprika-deep);background:var(--card);border-color:var(--rule);border-bottom-color:var(--card);box-shadow:0 -3px 10px var(--shadow-3)}.day-tab.is-active:after{content:"";background:var(--paprika);height:2px;position:absolute;bottom:4px;left:16px;right:16px}.day-tab.is-today b:after{content:" •";color:var(--paprika)}.filter-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.filter-group{gap:8px;display:flex}.chip{font-family:var(--sans);letter-spacing:.02em;border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-size:13.5px;font-weight:700;transition:all .15s;display:inline-flex}.chip svg{opacity:.75;flex:none}.chip:hover{box-shadow:0 2px 0 var(--ink);transform:translateY(-1px)}.chip[aria-pressed=true]{background:var(--free-badge);border-color:var(--free-badge);color:var(--on-accent)}.chip[aria-pressed=true] svg{opacity:1}.seg{border:1.5px solid var(--ink);background:var(--card);border-radius:999px;display:inline-flex;overflow:hidden}.seg-btn{font-family:var(--sans);color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:13.5px;font-weight:700;transition:all .15s}.seg-btn+.seg-btn{border-left:1.5px solid var(--rule)}.seg-btn:hover{color:var(--ink)}.seg-btn.is-active{background:var(--ink);color:var(--paper)}.seg-btn.seg-jf.is-active{background:var(--jofalat)}.seg-btn.seg-if.is-active{background:var(--interfood)}.search{font-family:var(--sans);border:1.5px solid var(--rule);background:var(--card);color:var(--ink);border-radius:999px;width:210px;padding:8px 16px;font-size:14px;transition:border-color .15s,width .2s}.search:focus{border-color:var(--paprika);outline:none;width:250px}.search::placeholder{color:var(--ink-faint);font-style:italic}.result-count{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);min-height:15px;margin-top:9px;font-size:12px}.board{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(16px,2.5vw,34px);max-width:1340px;margin:30px auto 40px;padding:0 clamp(12px,3vw,32px);display:grid}.board.is-single{grid-template-columns:minmax(0,720px);justify-content:center}@media (width<=920px){.board{grid-template-columns:1fr}}.menu-sheet{background:var(--card);border:1.5px solid var(--rule);box-shadow:0 1px 2px var(--shadow-1), 0 12px 34px -14px var(--shadow-2);border-radius:4px;padding:clamp(18px,2.5vw,34px);animation:.45s both sheet-in;position:relative}.menu-sheet:nth-child(2){animation-delay:80ms}@keyframes sheet-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (width>=921px){.board:not(.is-single) .menu-sheet:first-child{transform:rotate(-.35deg)}.board:not(.is-single) .menu-sheet:last-child{transform:rotate(.35deg)}}.sheet-head{text-align:center;border-bottom:1.5px solid var(--ink);margin-bottom:6px;padding-bottom:14px}.sheet-head .sheet-brand{font-family:var(--serif);letter-spacing:.01em;margin:0;font-size:27px;font-weight:900}.sheet-head.brand-jf .sheet-brand{color:var(--jofalat)}.sheet-head.brand-if .sheet-brand{color:var(--interfood)}.sheet-head .sheet-meta{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-top:5px;font-size:12px}.sheet-head a.order-link{color:var(--paprika-deep);border-bottom:1.5px dashed var(--paprika);margin-top:8px;padding-bottom:1px;font-size:12.5px;font-weight:700;text-decoration:none;display:inline-block}.sheet-head a.order-link:hover{color:var(--paprika)}.sheet-deadline{letter-spacing:.08em;text-transform:uppercase;margin-top:7px;font-size:11.5px;font-weight:700}.sheet-deadline.deadline-open{color:var(--free-badge)}.sheet-deadline.deadline-lastminute{color:var(--warn)}.sheet-deadline.deadline-closed{color:var(--ink-faint)}.category-block{padding-top:18px}.category-title{font-family:var(--serif);color:var(--paprika-deep);align-items:baseline;gap:10px;margin:0 0 4px;font-size:17px;font-style:italic;font-weight:600;display:flex}.category-title:after{content:"";border-bottom:1px solid var(--rule);flex:1;transform:translateY(-4px)}.dish{border-bottom:1px dotted var(--rule);cursor:pointer;border-radius:3px;padding:11px 4px 10px;transition:background .12s}.dish:hover{background:var(--paper-deep)}.dish-top{align-items:center;gap:12px;display:flex}.dish-img{object-fit:cover;border:1px solid var(--rule);background:var(--paper-deep);border-radius:6px;flex:none;width:52px;height:52px}.dish-main{flex:1;min-width:0}.dish-titleline{align-items:baseline;gap:8px;display:flex}.dish-name{font-family:var(--serif);font-size:15.5px;font-weight:600;line-height:1.25}.dish-leader{border-bottom:2px dotted var(--ink-faint);flex:1;min-width:14px;transform:translateY(-3px)}.dish-price{font-family:var(--serif);white-space:nowrap;font-size:15.5px;font-weight:900}.dish-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:5px 10px;margin-top:4px;font-size:11.5px;display:flex}.dish-code{letter-spacing:.05em;border:1px solid var(--rule);color:var(--ink-soft);background:var(--paper);border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:700}.badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.badge svg{flex:none}.badge-free{color:var(--free-badge);border:1px solid color-mix(in srgb, var(--free-badge) 55%, transparent);background:var(--jofalat-soft)}.badge-lm{color:var(--warn);border:1px solid color-mix(in srgb, var(--warn) 55%, transparent);background:color-mix(in srgb, var(--warn) 10%, transparent)}.dish.is-closed{opacity:.55}.dish.is-closed .dish-name{text-decoration:line-through;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--ink-faint);text-decoration-color:var(--ink-faint)}.dish-desc{color:var(--ink-soft);margin:9px 2px 2px 64px;font-size:12.5px;line-height:1.55;display:none}.dish.is-open{background:var(--paper-deep)}.dish.is-open .dish-desc{animation:.2s desc-in;display:block}@keyframes desc-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.dish-desc .nutri{letter-spacing:.04em;color:var(--ink-faint);margin-top:7px;font-size:11px;display:inline-block}.state-msg{text-align:center;font-family:var(--serif);color:var(--ink-soft);grid-column:1/-1;padding:70px 20px;font-size:19px;font-style:italic}.state-msg .spinner{border:2.5px solid var(--rule);border-top-color:var(--paprika);vertical-align:-2px;border-radius:50%;width:17px;height:17px;margin-right:10px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.state-msg .dots i{font-style:normal;animation:1.2s infinite blink}.state-msg .dots i:nth-child(2){animation-delay:.2s}.state-msg .dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.2}30%{opacity:1}}.empty-sheet{text-align:center;font-family:var(--serif);color:var(--ink-faint);padding:36px 10px;font-style:italic}.source-error{color:var(--paprika-deep);background:var(--error-bg);border:1px solid var(--error-border);border-radius:6px;margin-top:14px;padding:9px 13px;font-size:12.5px}.dish-cart{flex:none;align-self:center}.cart-add{border:1.5px solid var(--rule);background:var(--card);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.cart-add:hover{border-color:var(--paprika);color:var(--paprika);transform:scale(1.08)}.qty-stepper{border:1.5px solid var(--paprika);background:var(--card);border-radius:999px;align-items:center;gap:2px;display:inline-flex;overflow:hidden}.qty-stepper button{width:26px;height:26px;color:var(--paprika-deep);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .12s;display:inline-flex}.qty-stepper button:hover{background:var(--paper-deep)}.qty-stepper b{text-align:center;min-width:18px;color:var(--paprika-deep);font-size:13px}.cart-fab{z-index:50;border:1.5px solid var(--paprika-deep);background:var(--paprika);color:#fdf6ef;font-family:var(--sans);cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:12px 20px;font-size:14px;font-weight:700;transition:all .15s;animation:.25s both fab-in;display:inline-flex;position:fixed;bottom:clamp(14px,3vw,30px);right:clamp(14px,3vw,34px);box-shadow:0 6px 22px -6px #8c17108c}.cart-fab:hover{transform:translateY(-2px);box-shadow:0 9px 26px -6px #8c171099}@keyframes fab-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.cart-line{border-bottom:1px dotted var(--rule);align-items:center;gap:10px;padding:10px 4px;display:flex}.cart-code{font-family:var(--serif);color:var(--paprika-deep);border:1.5px solid var(--rule);background:var(--paper);border-radius:6px;flex:none;padding:3px 9px;font-size:15px;font-weight:900}.cart-name{font-family:var(--serif);min-width:0;font-size:14.5px;font-weight:600;line-height:1.25}.cart-line-price{font-family:var(--serif);white-space:nowrap;text-align:right;min-width:76px;font-size:14.5px;font-weight:900}.cart-subtotal{border-top:1.5px solid var(--ink);font-family:var(--serif);align-items:baseline;gap:10px;margin-top:18px;padding-top:12px;font-size:16px;display:flex}.cart-summary{flex-wrap:wrap;grid-column:1/-1;justify-content:center;align-items:center;gap:22px;padding:8px 0 70px;display:flex}.cart-total{font-family:var(--serif);font-size:21px}.cart-total b{color:var(--paprika-deep);font-weight:900}.cart-clear{font-family:var(--sans);border:1.5px solid var(--rule);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:8px 15px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.cart-clear:hover{border-color:var(--paprika);color:var(--paprika-deep)}.cart-missing{text-align:center;color:var(--ink-faint);grid-column:1/-1;font-size:12.5px;font-style:italic}.dish-img{cursor:zoom-in;transition:transform .15s,box-shadow .15s}.dish-img:hover{box-shadow:0 3px 10px var(--shadow-2);transform:scale(1.07)}.lightbox-overlay{z-index:60;background:color-mix(in srgb, var(--ink) 14%, #140e08c7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-out;justify-content:center;align-items:center;padding:26px;animation:.18s both lightbox-fade;display:flex;position:fixed;inset:0}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.lightbox-figure{background:var(--card);border:1.5px solid var(--rule);text-align:center;border-radius:4px;min-width:220px;min-height:160px;margin:0;padding:12px 12px 10px;animation:.22s both lightbox-pop;position:relative;box-shadow:0 24px 70px -18px #000000a6}@keyframes lightbox-pop{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:none}}.lightbox-figure img{opacity:0;border-radius:3px;max-width:min(860px,86vw);max-height:72vh;transition:opacity .2s;display:block}.lightbox-figure.is-loaded img{opacity:1}.lightbox-figure figcaption{font-family:var(--serif);color:var(--ink-soft);max-width:min(860px,86vw);padding:9px 6px 2px;font-size:15px;font-style:italic}.lightbox-spinner{border:2.5px solid var(--rule);border-top-color:var(--paprika);border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;animation:.8s linear infinite spin;display:inline-block;position:absolute;top:50%;left:50%}.lightbox-close{color:#fdf6ef;cursor:pointer;background:0 0;border:1.5px solid #fffaf080;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:all .15s;display:inline-flex;position:fixed;top:18px;right:18px}.lightbox-close:hover{background:#fffaf026;transform:rotate(90deg)}.colophon{text-align:center;color:var(--ink-faint);padding:10px 20px 46px;font-size:12px;line-height:1.7}.colophon a{color:var(--ink-soft)}
