:root{--ink:#14272f;--teal:#105165;--line:#d9e3e5;--muted:#52636b;--gold:#a76606}*{box-sizing:border-box}body{margin:0;background:#f5f8f8;color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--teal)}.app{max-width:1440px;margin:auto;padding:24px 32px}.site-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:750;text-decoration:none}.site-head>a:last-child{font-size:14px;min-height:44px;display:flex;align-items:center}.intro{max-width:790px;margin:48px 0 34px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;color:var(--gold);font-weight:800}h1{font-size:clamp(36px,5vw,60px);line-height:1.05;letter-spacing:-.045em;margin:16px 0 22px}.lead{font-size:19px;color:var(--muted)}.quiet,.small{color:var(--muted);font-size:13px}.workspace{display:grid;grid-template-columns:minmax(340px,1fr) minmax(420px,1.1fr);gap:32px;align-items:start}.editor{padding:28px;background:white;border:1px solid var(--line);border-radius:18px}h2{font-size:20px;margin:26px 0 12px;line-height:1.3}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-top h2{margin:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;margin:14px 0}input,textarea,select{min-width:0;width:100%;font:inherit;font-size:16px;color:var(--ink);background:white;border:1px solid #a4b7be;border-radius:9px;padding:11px;min-height:46px}textarea{resize:vertical}input[type=file]{font-size:12px;padding:10px}button{font:700 13px/1.3 system-ui;border:1px solid var(--teal);border-radius:9px;padding:12px 16px;min-height:44px;background:var(--teal);color:white;cursor:pointer;max-width:100%}button.secondary{background:white;color:var(--teal)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c2851d;outline-offset:3px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.item-editor{background:#f5f8f8;border:1px solid var(--line);padding:16px;border-radius:12px;margin:14px 0}.item-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.item-top strong{font-size:13px}.item-editor .fields{gap:10px}.item-editor label{margin:10px 0 0}.item-editor button{font-size:12px;padding:8px 11px}.preview-label{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.preview-label h2{margin:0}.preview-label span{font-size:12px;color:var(--muted)}.menu{--accent:#23594b;--paper:#fffcf5;--menuink:#233e35;color:var(--menuink);background:var(--paper);padding:40px;min-height:550px;border:1px solid #d9ddd5;box-shadow:0 12px 30px #18343a0c;overflow-wrap:anywhere}.theme-warm{--accent:#a0492b;--paper:#fff9f0;--menuink:#482e23}.theme-modern{--accent:#252f3d;--paper:#fff;--menuink:#1c2430}.theme-bright{--accent:#174c9a;--paper:#f5f9ff;--menuink:#17395d}.menu #menu-head{text-align:center;padding-bottom:24px;border-bottom:3px double var(--accent)}.menu-logo{display:block;max-width:130px;max-height:90px;object-fit:contain;margin:0 auto 18px}.menu h3{font:400 34px/1.15 Georgia,serif;margin:0;color:var(--menuink)}.theme-modern h3,.theme-bright h3{font-family:system-ui;font-weight:800;letter-spacing:-.03em}.menu-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;margin:14px 0 0;color:var(--accent)}.menu-tagline{font-size:13px;margin:12px 0 0;white-space:pre-wrap}.menu-group{break-inside:auto;margin-top:28px;min-width:0}.menu-group h4{font:700 13px/1.3 system-ui;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:8px;break-after:avoid}.menu-item{margin-bottom:20px;break-inside:avoid}.menu-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:16px;line-height:1.4}.menu-price{font-size:14px;font-weight:700;text-align:right;max-width:42%;flex-shrink:0;white-space:pre-wrap}.menu-item-name{font-weight:700}.menu-description{font-size:13px;margin:5px 0 0;white-space:pre-wrap;line-height:1.5}.menu #menu-note{font-size:11px;line-height:1.6;margin:30px 0 0;padding-top:18px;border-top:1px solid var(--accent);white-space:pre-wrap;break-inside:avoid}.menu #menu-note:empty{display:none}.layout-columns #menu-body{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.layout-columns .menu-item-head{flex-wrap:wrap;gap:4px 12px}.layout-columns .menu-price{max-width:100%}.empty{font-size:14px;opacity:.7;padding:30px 0}#error{color:#a12424;font-size:14px;font-weight:700}#status{font-size:13px;color:var(--muted)}details{border-top:1px solid var(--line);padding-top:16px}summary{cursor:pointer;font-size:13px;font-weight:700;min-height:44px}.site-footer{font-size:12px;color:var(--muted);max-width:900px;margin:36px 0 10px}body,button,input,select,textarea{overflow-wrap:anywhere}@media(max-width:1000px){.workspace{grid-template-columns:1fr}.preview-wrap{margin-top:8px}.preview-wrap .menu{max-width:800px;margin:auto}}@media(max-width:500px){.app{padding:18px 16px}.intro{margin-top:32px}.editor{padding:20px 16px}.fields{grid-template-columns:1fr}.menu{padding:26px 22px}.menu h3{font-size:29px}.layout-columns #menu-body{grid-template-columns:1fr}.section-top button{width:100%}.menu-item-head{gap:12px}.lead{font-size:17px}}@media print{@page{size:auto;margin:15mm}html,body{background:white!important;margin:0!important;padding:0!important}.app{padding:0;max-width:none}.site-head,.intro,.editor,.preview-label,.site-footer{display:none!important}.workspace,.preview-wrap{display:block;margin:0}.menu{padding:0;border:0;box-shadow:none;min-height:0;max-width:none!important;background:white!important;font-size:11pt;color:#172a2f!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.menu h3{font-size:27pt}.menu #menu-head{padding-bottom:16pt}.menu-group{margin-top:20pt}.menu-group h4{font-size:10pt}.menu-item-head{font-size:11pt}.menu-price,.menu-description{font-size:10pt}.menu-item{margin-bottom:13pt}.menu-logo{max-height:65pt}.menu #menu-note{font-size:9pt}.layout-columns #menu-body{display:grid;grid-template-columns:1fr 1fr;gap:0 24pt}body.invalid .menu{display:none}body.invalid:after{content:"Complete your business name and item names before printing."}}
.jump-preview{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700}.preview-wrap{scroll-margin-top:20px}.menu{scroll-margin-top:20px}
