:root{--bg:#17110e;--paper:#241b16;--ink:#f8ead7;--muted:#ceb9a5;--line:#524035;--red:#efae75;--dark:#1d1510;--soft:#37271e;--ok:#b9d5b4;color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-padding-bottom:80px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,sans-serif;font-variant-numeric:tabular-nums}
::selection{background:#84523c}
h1,h2,h3,p,ul{margin:0}
h1{font:normal clamp(2.45rem,8vw,4.6rem)/1.05 Georgia,serif;letter-spacing:-.035em;margin-bottom:20px}
h2{font-size:1.32rem;line-height:1.16;letter-spacing:-.025em}
h3{font-size:1.05rem;line-height:1.25}
a{color:var(--red);text-underline-offset:.2em}
input,button,select{font:inherit;color:inherit}
input:not([type=checkbox]),select{min-width:0;width:100%;min-height:46px;padding:8px 10px;border:1px solid #8e6d57;border-radius:8px;background:#1c1410}
input[type=checkbox]{accent-color:var(--red);width:18px;height:18px;flex:none}
button,.primary,.button{display:inline-flex;align-items:center;justify-content:center;gap:4px;text-align:center;border:1px solid var(--line);background:var(--paper);border-radius:8px;min-height:44px;padding:8px 13px;font-weight:690;cursor:pointer;text-decoration:none}
button:hover:not(:disabled),.button:hover{background:var(--soft);border-color:#8e6d57}
.primary{background:var(--red);border-color:var(--red);color:#24140d}
.primary:hover:not(:disabled){background:#ffcb9e;border-color:#ffcb9e}
button:disabled{opacity:.55;cursor:default}
.quiet{padding-inline:8px;background:transparent;border-color:transparent;color:var(--red);font-size:.91rem}
:focus-visible{outline:3px solid #ffcd9c;outline-offset:3px}
.mast{background:var(--dark);color:#fff2dc;border-bottom:1px solid #724a35}
.mast>div,.shell{max-width:880px;margin:auto;padding-inline:clamp(15px,4vw,36px)}
.mast>div{min-height:63px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-block:9px}
.mast span{font:1.24rem Georgia,serif}
.mast nav{display:flex;flex-wrap:wrap;gap:5px}
.mast button,.mast a{color:#fff2dc;background:transparent;border:1px solid #5c4838;padding:6px 10px;min-height:42px;font-size:.83rem}
.mast button:hover,.mast a:hover{background:#36251a}
.shell{padding-top:clamp(22px,5vw,46px);padding-bottom:85px}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:clamp(13px,3vw,21px)}
.panel.compact{padding-block:12px}
.join{margin-bottom:12px}
.join p,.muted,small{color:var(--muted)}
.join p,.muted{font-size:.9rem}
.join .input-row{margin-top:8px}
label{display:block;font-weight:675;font-size:.91rem}
label:has(input,select){display:grid;gap:5px}
.input-row{display:flex;gap:8px;align-items:stretch}
.input-row button{flex:none}
#code{text-transform:uppercase;letter-spacing:.11em}
.joined,.section-line,.total{display:flex;align-items:center;justify-content:space-between;gap:10px}
.joined{padding:2px 10px;background:#29352a;color:#d0e3c8;border-radius:8px}
.status{font-size:.92rem;color:var(--ok);overflow-wrap:anywhere}
.status:not(:empty){margin-block:9px}
.status.error{color:#ffb3a1}
.menu-group,.stack,#receipts,.order-panel{margin-top:25px}
.menu-group>h2,.section-line{padding-bottom:8px;border-bottom:1px solid var(--line)}
.menu-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}
.menu-row.plain{grid-template-columns:minmax(0,1fr) auto}
.menu-row p{font-size:.89rem;color:var(--muted);margin-top:3px}
.menu-row img{display:block;width:clamp(64px,17vw,108px);aspect-ratio:1;object-fit:cover;border-radius:8px;background:#33251e}
.menu-row img.pack{object-fit:contain;background:#fff7ee;padding:5px}
.menu-row .options{display:flex;justify-content:end;flex-wrap:wrap;gap:5px}
.menu-row button{display:grid;gap:0;min-width:78px}
.menu-row button small{font-size:.7rem;font-weight:590}
.basket{position:sticky;bottom:12px;display:flex;margin:16px 0 0 auto;width:fit-content;z-index:1;box-shadow:0 4px 12px #0007}
.order-panel{scroll-margin-top:14px}
.wide{width:100%;margin-block:9px 2px}
.cart-row,.guest-row{padding:8px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:8px}
.qty{display:flex;align-items:center;gap:7px}
.qty button{width:44px;padding:0}
.total{margin-block:12px;padding-top:8px;border-top:1px solid var(--line)}
.total strong{font-size:1.48rem}
.table-list{display:grid;gap:6px;margin-top:8px}
.table-button{justify-content:space-between;text-align:left;width:100%}
.table-button small{font-size:.82rem}
.table-button[aria-pressed=true]{background:var(--soft);border-color:#8e6d57}
.table-head{display:flex;justify-content:space-between;gap:12px;align-items:start;flex-wrap:wrap}
.code{font-size:1.4rem;letter-spacing:.13em;white-space:nowrap}
.table-tools,.group-tools{display:flex;gap:7px;flex-wrap:wrap}
.table-tools{margin-top:10px}
.group-tools{margin-top:13px}
.guest{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.guest ul,#receipts ul{padding-left:20px}
details{margin-top:11px}
summary{cursor:pointer;font-weight:650}
.ticket{border-bottom:1px solid var(--line);padding:8px 0;font-size:.9rem}
.ticket p{margin-top:2px}
footer{margin-top:24px;color:var(--muted);font-size:.83rem}
dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:13px;padding:16px;width:min(610px,calc(100% - 24px));max-height:89dvh;overflow:auto}
dialog::backdrop{background:#0c0807d9}
dialog label{margin-top:7px}
.setting{display:grid;grid-template-columns:minmax(0,1fr) 78px 82px;align-items:center;gap:7px;padding:4px 0;border-bottom:1px solid var(--line)}
.setting.two{grid-template-columns:minmax(0,1fr) 105px}
.setting .check{display:flex;align-items:center;gap:5px}
.setting input:not([type=checkbox]){padding-inline:6px}
.settings-group{margin-top:13px}
.manual-row{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:9px;align-items:center;padding:4px 0;border-bottom:1px solid var(--line)}
.qr-preview{max-width:210px;width:100%;display:block}
@media(max-width:430px){.menu-row{gap:7px}.menu-row button{padding-inline:7px;min-width:68px}.menu-row p{font-size:.82rem}.menu-row.plain .options{max-width:158px}.input-row button{padding-inline:9px}.table-button{font-size:.9rem}}

.menu-heading{margin-bottom:22px}
.menu-heading h1{margin-bottom:6px}
.menu-heading p{color:var(--muted)}
.guest-view .shell{max-width:790px}
.guest-view .mast>div{max-width:790px}
.menu-group>h2{font:normal 1.56rem/1.15 Georgia,serif;color:#f2c39b}
.cocktails .menu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,2vw,16px);margin-top:12px}
.cocktails .menu-row{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:0 0 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);overflow:hidden}
.cocktails .menu-row>div{padding-inline:10px}
.cocktails .menu-row img{width:100%;aspect-ratio:1.16;object-fit:cover;object-position:50% 59%;border-radius:0}
.cocktails .menu-row .options{margin-top:auto;justify-content:flex-start}
.cocktails .menu-row button{color:#ffd0a6}
.cocktails .menu-row a:focus-visible{outline-offset:-4px}
.menu-row .pack{padding:0}
.guest-view .basket{border:1px solid #ffca9c}
.staff-view h1{font-size:clamp(2.4rem,7vw,3.8rem)}
@media(max-width:365px){.cocktails .menu-row>div{padding-inline:8px}.menu-heading p{font-size:.9rem}}
.menu-row .english{color:#d6b79d;margin-top:5px}
