:root{--color-canvas:#f5ead6;--color-canvas-deep:#ead8ba;--color-surface:#fffaf0;--color-surface-raised:#fffdf8;--color-ink:#2b1c16;--color-ink-muted:#745c4e;--color-line:#d6b98d;--color-accent:#b53820;--color-accent-hover:#8f2818;--color-accent-ink:#fff8e9;--color-awning:#d95a26;--color-focus:#1d6fa5;--color-shadow:#4d2a182e;--color-image-fallback:#d9b77f;--color-paper:#fffaf0;--color-paper-raised:#fffdf8;--color-paper-ink:#2b1c16;--color-paper-muted:#745c4e;--color-paper-line:#d6b98d;--color-paper-accent:#b53820;--color-paper-accent-ink:#fff8e9;--font-display:Georgia, "Noto Serif KR", "Batang", serif;--font-body:"Pretendard Variable", Pretendard, "Noto Sans KR", "Malgun Gothic", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.5rem;--text-xl:clamp(1.8rem, 5vw, 2.7rem);--text-display:clamp(2.5rem, 7vw, 5.25rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.35rem;--radius-md:.65rem;--radius-lg:1rem;--page-max:72rem;--card-min:17rem;--tap-min:2.75rem;--transition-fast:.15s}@media (prefers-color-scheme:dark){:root{--color-canvas:#1b1210;--color-canvas-deep:#261713;--color-surface:#2a1c17;--color-surface-raised:#33221b;--color-ink:#fff4df;--color-ink-muted:#d5bda8;--color-line:#634637;--color-accent:#ef6b36;--color-accent-hover:#ff8250;--color-accent-ink:#20100b;--color-awning:#bd431e;--color-focus:#71c8ff;--color-shadow:#00000057;--color-image-fallback:#5b3b27}}
*{box-sizing:border-box}html{background:var(--color-canvas);min-width:20rem}body{color:var(--color-ink);background:linear-gradient(var(--color-shadow), var(--color-shadow)) top / 100% var(--space-2) no-repeat, var(--color-canvas);font-family:var(--font-body);word-break:keep-all;margin:0;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:.1875rem solid var(--color-focus);outline-offset:var(--space-1)}.page-shell{min-height:100vh;padding-bottom:var(--space-16)}.awning{height:var(--space-5);background:repeating-linear-gradient(90deg, var(--color-awning) 0, var(--color-awning) 3rem, var(--color-surface) 3rem, var(--color-surface) 6rem);box-shadow:0 var(--space-2) 0 var(--color-canvas-deep)}.site-header,.main-content{width:min(100% - 2rem, var(--page-max));margin-inline:auto}.site-header{padding-block:var(--space-12) var(--space-8)}.eyebrow{margin:0 0 var(--space-2);color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.12em;font-weight:800}.site-title{max-width:12ch;font-family:var(--font-display);font-size:var(--text-display);letter-spacing:-.055em;text-wrap:balance;margin:0;font-weight:700;line-height:1.04}.site-description{max-width:38rem;margin:var(--space-5) 0 0;color:var(--color-ink-muted);font-size:var(--text-md);text-wrap:pretty}.catalog-panel{padding:var(--space-6);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 var(--space-3) var(--space-8) var(--color-shadow)}.catalog-toolbar{gap:var(--space-4);margin-bottom:var(--space-6);display:grid}.catalog-heading-row{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.catalog-heading{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.03em;margin:0}.result-count{color:var(--color-ink-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.search-field{min-height:var(--tap-min);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-ink-muted);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;display:flex;position:relative}.search-field:focus-within{border-color:var(--color-focus);box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--color-focus) 18%, transparent)}.search-icon{margin-left:var(--space-4);flex:none}.search-input{appearance:textfield;width:100%;min-width:0;min-height:var(--tap-min);padding:var(--space-2) var(--space-4);color:var(--color-ink);background:0 0;border:0;outline:0}.search-input::-webkit-search-cancel-button{display:none}.search-input::placeholder{color:var(--color-ink-muted)}.clear-button,.empty-action{min-height:var(--tap-min);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border:0;font-weight:750}.clear-button{margin-right:var(--space-2);padding-inline:var(--space-3);color:var(--color-accent);background:0 0;flex:none}.clear-button:hover{background:var(--color-canvas-deep)}.clear-button:active,.empty-action:active{transform:translateY(.0625rem)}.menu-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--card-min)), 1fr));gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.menu-card{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);min-width:0;transition:border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);overflow:hidden}.menu-card:hover{border-color:var(--color-accent);box-shadow:0 var(--space-2) var(--space-5) var(--color-shadow);transform:translateY(-.125rem)}.menu-card:active{transform:translateY(0)}.menu-card-link{height:100%;display:block}.menu-image-wrap{aspect-ratio:4/3;background:var(--color-image-fallback);position:relative;overflow:hidden}.menu-image{object-fit:cover;transition:transform .28s}.menu-card:hover .menu-image{transform:scale(1.025)}.generated-label{right:var(--space-3);bottom:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-ink);background:var(--color-surface);font-size:var(--text-xs);font-weight:700;position:absolute}.menu-card-copy{padding:var(--space-5)}.menu-brand{margin:0 0 var(--space-1);color:var(--color-accent);font-size:var(--text-xs);font-weight:800}.menu-name{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.025em;text-wrap:balance;margin:0;line-height:1.28}.menu-meta{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-top:var(--space-4);display:flex}.menu-serving{color:var(--color-ink-muted);font-size:var(--text-sm)}.menu-price{font-size:var(--text-md);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:850}.empty-state{min-height:17rem;padding:var(--space-8);border-radius:var(--radius-md);background:var(--color-canvas-deep);text-align:center;place-items:center;display:grid}.empty-inner{max-width:28rem}.empty-title{font-family:var(--font-display);font-size:var(--text-lg);text-wrap:balance;margin:0}.empty-copy{margin:var(--space-2) 0 0;color:var(--color-ink-muted)}.empty-action{margin-top:var(--space-5);padding-inline:var(--space-5);color:var(--color-accent-ink);background:var(--color-accent)}.empty-action:hover{background:var(--color-accent-hover)}@media (max-width:32rem){.site-header,.main-content{width:min(100% - 1.25rem, var(--page-max))}.site-header{padding-block:var(--space-10) var(--space-6)}.catalog-panel{padding:var(--space-4)}.catalog-heading-row{align-items:flex-start;gap:var(--space-1);flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.detail-page{width:min(100% - 2rem, var(--page-max));padding-top:var(--space-8);margin-inline:auto}.back-link,.all-foods-link,.price-check a,.evidence-links a{color:var(--color-accent);text-underline-offset:.2em;font-weight:750;text-decoration:underline;text-decoration-thickness:.08em}.back-link{align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding-block:var(--space-2);display:inline-flex}.food-detail{margin-top:var(--space-4)}.detail-header{border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 var(--space-3) var(--space-8) var(--color-shadow);grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);display:grid;overflow:hidden}.detail-image-wrap{background:var(--color-image-fallback);min-height:29rem;position:relative;overflow:hidden}.detail-intro{padding:var(--space-10);align-self:center}.detail-title{margin:var(--space-2) 0 0;font-family:var(--font-display);font-size:var(--text-display);letter-spacing:-.055em;text-wrap:balance;line-height:1.02}.detail-included{margin:var(--space-5) 0 0;color:var(--color-ink-muted)}.sale-summary{gap:var(--space-3);margin:var(--space-8) 0 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sale-summary div{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-canvas-deep)}.sale-summary dt{color:var(--color-ink-muted);font-size:var(--text-xs);font-weight:700}.sale-summary dd{margin:var(--space-1) 0 0;font-size:var(--text-md);font-variant-numeric:tabular-nums;font-weight:850}.price-check{margin:var(--space-4) 0 0;color:var(--color-ink-muted);font-size:var(--text-sm)}.receipt-section{width:min(100%,47rem);margin:var(--space-12) auto 0;padding:var(--space-8);border:1px solid var(--color-paper-line);border-radius:var(--radius-sm);color:var(--color-paper-ink);background:var(--color-paper-raised);box-shadow:0 var(--space-3) var(--space-8) var(--color-shadow)}.receipt-heading-row,.related-heading-row{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.receipt-kicker{color:var(--color-paper-accent);font-size:var(--text-xs);margin:0;font-weight:800}.receipt-title,.related-title{margin:var(--space-1) 0 0;font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance}.receipt-title{font-size:var(--text-xl)}.receipt-date{color:var(--color-paper-muted);font-size:var(--text-xs);white-space:nowrap}.receipt-body{margin-top:var(--space-6);font-variant-numeric:tabular-nums}.receipt-columns,.receipt-line-main,.receipt-sale-row,.receipt-total,.cost-rate{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.receipt-columns{padding-bottom:var(--space-2);color:var(--color-paper-muted);font-size:var(--text-xs);font-weight:750}.receipt-lines{margin:0;padding:0;list-style:none}.receipt-line{padding-block:var(--space-4);border-top:1px dashed var(--color-paper-line)}.receipt-line-main strong:first-child,.receipt-weight{display:block}.receipt-weight{margin-top:var(--space-1);color:var(--color-paper-muted);font-size:var(--text-xs)}.receipt-amount{font-family:var(--font-display);font-size:var(--text-md);white-space:nowrap}.receipt-evidence{margin-top:var(--space-2);color:var(--color-paper-muted);font-size:var(--text-xs)}.receipt-evidence summary{width:fit-content;min-height:var(--tap-min);padding-block:var(--space-2);color:var(--color-paper-accent);cursor:pointer;font-weight:750}.evidence-copy{padding:var(--space-3) var(--space-4);border:1px solid var(--color-paper-line);border-radius:var(--radius-sm);background:var(--color-paper)}.evidence-copy p{margin:0}.evidence-copy p+p{margin-top:var(--space-1)}.evidence-links{gap:var(--space-2) var(--space-4);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.evidence-links a{color:var(--color-paper-accent)}.receipt-sale-row{padding:var(--space-4) 0;border-top:1px solid var(--color-paper-line);color:var(--color-paper-muted)}.receipt-total{padding:var(--space-5) 0;border-top:.1875rem double var(--color-paper-ink);font-size:var(--text-md)}.receipt-total small{margin-top:var(--space-1);color:var(--color-paper-muted);font-size:var(--text-xs);font-weight:500;display:block}.receipt-total>strong{font-family:var(--font-display);font-size:var(--text-lg);white-space:nowrap}.cost-rate{padding:var(--space-5);border-radius:var(--radius-md);color:var(--color-paper-accent-ink);background:var(--color-paper-accent);font-weight:800}.cost-rate strong{font-family:var(--font-display);font-size:var(--text-xl);white-space:nowrap;line-height:1}.receipt-notes{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px dashed var(--color-paper-line);color:var(--color-paper-muted);font-size:var(--text-xs)}.receipt-notes p{margin:0}.receipt-notes p+p{margin-top:var(--space-2)}.related-section{margin-top:var(--space-16)}.related-title{font-size:var(--text-xl)}.all-foods-link{min-height:var(--tap-min);padding-block:var(--space-2)}.related-grid{margin-top:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),31rem))}@media (max-width:48rem){.detail-header{grid-template-columns:1fr}.detail-image-wrap{aspect-ratio:4/3;min-height:19rem}.detail-intro{padding:var(--space-6)}}@media (max-width:32rem){.detail-page{width:min(100% - 1.25rem, var(--page-max));padding-top:var(--space-5)}.receipt-section{padding:var(--space-5)}.receipt-heading-row,.related-heading-row{align-items:flex-start;gap:var(--space-2);flex-direction:column}.sale-summary{grid-template-columns:1fr}.receipt-columns{display:none}.receipt-line-main{align-items:flex-start}.cost-rate{align-items:flex-start;gap:var(--space-2);flex-direction:column}}
