html,body{margin:0;padding:0;height:100%;background:#faf6f1;overflow:hidden}#root{height:100%}.app-root{width:100vw;height:100vh;height:100dvh;overflow:hidden;background:var(--bg)}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{overflow:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit}.pelm{width:100%;height:100%;background:var(--bg);color:var(--ink);position:relative;overflow:hidden;display:flex;flex-direction:column;font-family:var(--font-body)}.pelm-body{flex:1;display:flex;min-height:0}.pelm-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.topbar{height:64px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:var(--bg);border-bottom:1px solid var(--rule);flex-shrink:0;z-index:5}.topbar-left{display:flex;align-items:center;gap:12px}.brand-mark{color:var(--accent);display:flex}.brand-text{line-height:1}.brand-name{font-family:var(--font-display);font-weight:500;font-size:18px;letter-spacing:.18em;color:var(--ink)}.brand-sub{font-family:var(--font-body);font-style:italic;font-size:11px;color:var(--ink-2);letter-spacing:.04em;margin-top:3px}.topbar-right{display:flex;align-items:center;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:12px;letter-spacing:.04em;color:var(--ink);background:var(--chip-bg);border:1px solid var(--rule);border-radius:var(--chip-radius);transition:background .15s,color .15s}.chip:hover{background:var(--chip-bg-hover)}.chip-lang{font-family:var(--font-display);font-size:13px;letter-spacing:.12em}.chip-dot{width:7px;height:7px;border-radius:99px;background:var(--accent);display:inline-block}.chip-waiter{color:var(--accent);border-color:var(--accent)}.table-badge{margin-left:4px;display:flex;flex-direction:column;padding:6px 12px;background:var(--accent);color:var(--accent-on);border-radius:var(--chip-radius);line-height:1}.table-badge-label{font-size:9px;letter-spacing:.18em;opacity:.75}.table-badge-num{font-family:var(--font-display);font-size:18px;margin-top:2px}.rail{width:108px;flex-shrink:0;background:var(--rail-bg);border-right:1px solid var(--rule);display:flex;flex-direction:column;padding:12px 6px 0;overflow:hidden}.rail-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding-bottom:10px;mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 18px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 18px),transparent 100%)}.rail-scroll::-webkit-scrollbar{width:0}.rail-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;color:var(--ink-2);border-radius:var(--card-radius);transition:background .15s,color .15s;position:relative}.rail-item:hover{color:var(--ink);background:var(--chip-bg)}.rail-item.is-active{color:var(--accent);background:var(--rail-active-bg)}.rail-item.is-active:before{content:"";position:absolute;left:-6px;top:14px;bottom:14px;width:3px;background:var(--accent);border-radius:2px}.rail-icon{display:flex}.rail-label{width:100%;font-size:10px;letter-spacing:.05em;text-align:center;line-height:1.15;text-transform:uppercase;font-weight:500;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.rail-spacer{flex:1}.actionbar{display:flex;gap:1px;flex-shrink:0;width:100%;background:var(--rule);border-top:1px solid var(--rule)}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 22px;background:var(--accent);color:var(--accent-on);font-family:var(--font-body);font-weight:600;font-size:15px;letter-spacing:.04em;transition:filter .15s}.action-btn:hover{filter:brightness(1.06)}.action-btn:active{filter:brightness(.94)}.action-label{text-transform:uppercase}.action-meta{font-family:var(--font-body);font-size:14px;font-weight:600;opacity:.92}.actionbar-split .action-bill{background:var(--accent-deep)}.topstatus{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:var(--chip-radius);background:var(--accent-soft);color:var(--accent);font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.topstatus-waiter{background:var(--accent);color:var(--accent-on)}.pulse-dot{width:8px;height:8px;background:var(--accent);border-radius:99px;box-shadow:0 0 0 0 var(--accent);animation:pulse 1.6s infinite}.topstatus .pulse-dot{width:7px;height:7px}.topstatus-waiter .pulse-dot{background:var(--accent-on);box-shadow:0 0 0 0 var(--accent-on)}@keyframes pulse{0%{box-shadow:0 0 #b23a3a80}70%{box-shadow:0 0 0 10px #b23a3a00}to{box-shadow:0 0 #b23a3a00}}.screen{flex:1;display:flex;flex-direction:column;padding:22px 28px 18px;overflow-y:auto;min-height:0}.menu-header{display:flex;flex-direction:column;margin-bottom:16px;flex-shrink:0}.menu-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);display:flex;gap:6px;align-items:center;margin-bottom:4px}.menu-eyebrow .dot{opacity:.4}.menu-title{font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1;margin:0;color:var(--ink);letter-spacing:-.005em}.menu-blurb{font-style:italic;color:var(--ink-2);font-size:13px;margin-top:6px}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;align-content:start;padding-bottom:4px}.dish-card{display:grid;grid-template-columns:84px 1fr;gap:14px;padding:14px 16px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);text-align:left;transition:transform .18s,border-color .18s,box-shadow .18s;min-height:122px}.dish-card:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:var(--card-hover-shadow)}.dish-glyph{color:var(--accent);display:flex;align-items:flex-start;justify-content:center;padding-top:2px}.dish-photo{width:84px;height:96px;border-radius:10px;overflow:hidden;background:var(--chip-bg);position:relative;box-shadow:inset 0 0 0 1px #0000000d}.dish-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.dish-card.has-photo:hover .dish-photo img{transform:scale(1.04)}.dish-body{display:flex;flex-direction:column;gap:4px;min-width:0}.dish-head{display:flex;gap:6px;align-items:baseline}.dish-num{font-family:var(--font-display);font-size:14px;color:var(--ink-3)}.dish-name{margin:0;font-family:var(--font-display);font-weight:500;font-size:17px;line-height:1.15;color:var(--ink)}.dish-desc{margin:0;font-style:italic;color:var(--ink-2);font-size:12px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dish-foot{margin-top:auto;padding-top:6px;display:flex;align-items:center;justify-content:space-between;gap:8px}.dish-allergens{display:flex;gap:4px;flex-wrap:wrap}.dish-allergen{font-family:var(--font-display);font-size:10px;width:18px;height:18px;line-height:18px;text-align:center;border-radius:99px;background:var(--rule);color:var(--ink-2)}.dish-price{font-family:var(--font-display);font-size:17px;color:var(--ink)}.menu-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;color:var(--ink-3);text-align:center}.menu-empty p{font-style:italic;margin-top:10px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;background:var(--accent);color:var(--accent-on);font-family:var(--font-display);font-size:14px;letter-spacing:.04em;border-radius:var(--btn-radius);transition:filter .15s,transform .1s}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:active{transform:translateY(1px)}.btn-primary.btn-large{padding:14px 26px;font-size:16px}.btn-primary.btn-block{width:100%;padding:14px}.btn-price{font-size:13px;opacity:.9}.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;font-size:13px;color:var(--ink-2);border-radius:var(--btn-radius);border:1px solid var(--rule);background:var(--bg)}.btn-ghost:hover{color:var(--ink);border-color:var(--ink-3)}.btn-ghost.btn-block{width:100%;justify-content:center}.btn-mini{padding:6px 12px;font-size:11px;letter-spacing:.04em;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:99px}.btn-mini:hover{background:var(--accent);color:var(--accent-on)}.qty-control{display:inline-flex;align-items:center;gap:14px;padding:6px 8px;border:1px solid var(--rule);border-radius:99px}.qty-btn{width:32px;height:32px;font-size:18px;border-radius:99px;background:var(--chip-bg);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.qty-btn:hover{background:var(--accent);color:var(--accent-on)}.qty-num{font-family:var(--font-display);font-size:18px;min-width:18px;text-align:center}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:30;animation:fadeIn .18s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sheet{width:580px;max-height:600px;background:var(--bg);color:var(--ink);border-radius:16px;border:1px solid var(--rule);box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;overflow:hidden;animation:sheetIn .22s ease}@keyframes sheetIn{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--rule)}.sheet-title{font-family:var(--font-display);font-size:18px;letter-spacing:.04em}.sheet-close{width:36px;height:36px;border-radius:99px;font-size:22px;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center}.sheet-close:hover{background:var(--chip-bg);color:var(--ink)}.sheet-body{padding:18px 22px 22px;overflow-y:auto}.sheet-note{margin-top:12px;font-style:italic;font-size:12px;color:var(--ink-3)}.toast{position:absolute;bottom:56px;left:50%;transform:translate(-50%);padding:10px 18px;background:var(--ink);color:var(--bg);font-family:var(--font-display);font-size:13px;letter-spacing:.04em;border-radius:99px;z-index:60;animation:toastIn .25s ease}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.detail-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:stretch;justify-content:flex-end;z-index:40;animation:fadeIn .18s ease}.detail{width:620px;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--rule);animation:slideIn .28s cubic-bezier(.2,.7,.2,1);position:relative}@keyframes slideIn{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}.detail-close{position:absolute;top:14px;right:16px;width:40px;height:40px;border-radius:99px;font-size:26px;color:var(--ink-2);background:var(--bg);display:inline-flex;align-items:center;justify-content:center;z-index:2}.detail-close:hover{background:var(--chip-bg);color:var(--ink)}.detail-art{height:200px;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;color:var(--accent)}.detail-art.has-photo{height:280px}.detail-art-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.detail-art.has-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 55%,rgba(0,0,0,.18) 100%);z-index:2;pointer-events:none}.detail-art-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--detail-art-bg);z-index:0}.detail-art svg{position:relative;z-index:1}.detail-body{flex:1;overflow-y:auto;padding:22px 28px 28px;display:flex;flex-direction:column}.detail-eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.detail-title{font-family:var(--font-display);font-weight:500;font-size:26px;margin:0;line-height:1.15;display:flex;gap:10px;align-items:baseline}.detail-num{color:var(--ink-3);font-size:18px}.detail-desc{font-style:italic;font-size:13px;line-height:1.5;color:var(--ink-2);margin:10px 0 14px}.detail-allergens{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;background:var(--chip-bg);border-radius:var(--card-radius);margin-bottom:14px;font-size:12px;color:var(--ink-2);align-items:center}.detail-allergen-label{font-style:italic;color:var(--ink-3);margin-right:4px}.detail-allergen{display:inline-flex;gap:4px;align-items:baseline}.detail-allergen b{font-family:var(--font-display);color:var(--accent)}.detail-form{display:flex;flex-direction:column;gap:8px}.form-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:4px}.form-textarea{width:100%;resize:none;padding:10px 14px;background:var(--card-bg);color:var(--ink);border:1px solid var(--rule);border-radius:var(--card-radius);font-size:13px;line-height:1.4;font-style:italic}.form-textarea:focus{outline:none;border-color:var(--accent)}.note-chips{display:flex;flex-wrap:wrap;gap:6px}.note-chip{padding:5px 10px;font-size:11px;color:var(--ink-2);background:var(--chip-bg);border-radius:99px;border:1px solid var(--rule)}.note-chip:hover{color:var(--ink);border-color:var(--ink-3)}.guest-picker{display:flex;flex-wrap:wrap;gap:6px}.guest-pick{padding:7px 14px;font-size:12px;border-radius:99px;border:1px solid var(--rule);background:var(--bg);color:var(--ink-2);display:inline-flex;align-items:center;gap:6px}.guest-pick:before{content:"";width:8px;height:8px;border-radius:99px;background:var(--guest-color, var(--accent))}.guest-pick.is-on{color:var(--ink);border-color:var(--ink)}.guest-color-g1{--guest-color: #b23a3a}.guest-color-g2{--guest-color: #4d6b4a}.guest-color-g3{--guest-color: #c5853a}.guest-color-g4{--guest-color: #3a6ba0}.guest-color-g5{--guest-color: #7b4d8a}.guest-color-g6{--guest-color: #5a7b7b}.detail-footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;gap:14px}.detail-add{flex:1}.cart-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink-2);gap:14px;padding:40px}.cart-empty h2{font-family:var(--font-display);font-weight:400;font-size:28px;color:var(--ink);margin:0}.cart-empty p{font-style:italic;margin:0;max-width:320px}.cart-empty>svg{color:var(--accent);opacity:.6}.cart-screen,.status-screen,.bill-screen{padding-bottom:0}.cart-list{display:flex;flex-direction:column;border-top:1px solid var(--rule);flex:1;overflow-y:auto}.cart-row{display:grid;grid-template-columns:72px 1fr auto auto 32px;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid var(--rule)}.cart-glyph{color:var(--accent);display:flex;align-items:center;justify-content:center}.cart-glyph.has-photo{width:64px;height:64px;border-radius:10px;overflow:hidden;background:var(--chip-bg);box-shadow:inset 0 0 0 1px #0000000d}.cart-glyph.has-photo img{width:100%;height:100%;object-fit:cover;display:block}.cart-info{display:flex;flex-direction:column;gap:3px;min-width:0}.cart-name{font-family:var(--font-display);font-weight:500;font-size:16px}.cart-note{font-style:italic;font-size:12px;color:var(--accent);background:var(--accent-soft);padding:3px 8px;border-radius:6px;align-self:flex-start}.cart-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-3)}.cart-guest-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 8px;border-radius:99px;background:var(--chip-bg);color:var(--ink-2)}.cart-guest-tag:before{content:"";width:6px;height:6px;border-radius:99px;background:var(--guest-color, var(--accent))}.cart-each{font-style:italic}.cart-qty{display:inline-flex;align-items:center;gap:10px;padding:4px 6px;border:1px solid var(--rule);border-radius:99px;font-family:var(--font-display);font-size:14px}.cart-qty .qty-btn{width:26px;height:26px;font-size:14px}.cart-price{font-family:var(--font-display);font-size:16px;min-width:64px;text-align:right}.cart-remove{width:28px;height:28px;font-size:18px;color:var(--ink-3);border-radius:99px}.cart-remove:hover{color:var(--accent);background:var(--accent-soft)}.cart-footer{border-top:1px solid var(--rule);padding:14px 0 16px;display:flex;flex-direction:column;gap:12px;flex-shrink:0}.cart-total-row{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--ink-2)}.big-price{font-family:var(--font-display);font-size:28px;color:var(--ink)}.cart-actions{display:flex;gap:10px;justify-content:space-between}.cart-actions .btn-primary{flex:1}.confirm-sheet{background:var(--bg);color:var(--ink);padding:26px 30px;border-radius:16px;width:420px;text-align:center;animation:sheetIn .22s ease}.confirm-title{font-family:var(--font-display);font-size:22px;margin-bottom:8px}.confirm-sub{font-style:italic;color:var(--ink-2);margin:0 0 18px}.confirm-actions{display:flex;gap:10px;justify-content:center}.status-track{display:grid;grid-template-columns:repeat(4,1fr);margin:8px 0 18px;position:relative}.status-step{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;position:relative;color:var(--ink-3)}.status-step .status-icon{width:56px;height:56px;border-radius:99px;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;color:var(--accent);background:var(--bg);z-index:1}.status-step .status-label{font-family:var(--font-display);font-size:13px;letter-spacing:.04em}.status-line{position:absolute;left:60%;right:-40%;top:28px;height:1px;background:var(--rule);z-index:0}.status-list{display:flex;flex-direction:column;border-top:1px solid var(--rule);flex:1;overflow-y:auto}.status-row{display:grid;grid-template-columns:72px 1fr auto;gap:14px;padding:12px 4px;border-bottom:1px solid var(--rule);align-items:center}.status-row-glyph{color:var(--accent);display:flex;align-items:center;justify-content:center}.status-row-glyph.has-photo{width:60px;height:60px;border-radius:10px;overflow:hidden;background:var(--chip-bg);box-shadow:inset 0 0 0 1px #0000000d}.status-row-glyph.has-photo img{width:100%;height:100%;object-fit:cover;display:block}.status-row.stage-3 .status-row-glyph.has-photo img{filter:grayscale(.3)}.status-row-info{display:flex;flex-direction:column;gap:3px;min-width:0}.status-row-name{font-family:var(--font-display);font-weight:500;font-size:15px}.status-row-qty{color:var(--ink-3);margin-right:2px}.status-row-meta{font-size:11px}.status-row-stage{text-align:right;min-width:100px}.status-pip-row{display:inline-flex;gap:4px;margin-bottom:4px}.status-pip{width:8px;height:8px;border-radius:99px;background:var(--rule);transition:background .4s}.status-pip.is-on{background:var(--accent)}.status-stage-label{font-family:var(--font-display);font-style:italic;font-size:12px;color:var(--ink-2)}.status-row.stage-3{opacity:.6}.status-row.stage-3 .status-pip-row{filter:grayscale(.4)}.status-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid var(--rule);margin-top:8px;flex-shrink:0}.bill-grid{display:grid;grid-template-columns:1fr 320px;gap:22px;flex:1;min-height:0}.bill-left,.bill-right{display:flex;flex-direction:column;min-height:0}.bill-items{flex:1;overflow-y:auto;border-top:1px solid var(--rule)}.bill-row{display:grid;grid-template-columns:36px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--rule);font-size:14px;align-items:baseline}.bill-qty{font-family:var(--font-display);color:var(--ink-3)}.bill-name{display:flex;flex-direction:column;gap:3px;font-family:var(--font-display);font-weight:500;font-size:14px}.bill-guest{font-family:var(--font-body);font-style:italic;font-size:11px;font-weight:400;color:var(--ink-3);align-self:flex-start;display:inline-flex;align-items:center;gap:5px}.bill-guest:before{content:"";width:6px;height:6px;border-radius:99px;background:var(--guest-color, var(--accent))}.bill-line-price{font-family:var(--font-display);font-size:14px}.bill-totals{border-top:1px solid var(--rule);padding:12px 0}.bill-total-row{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;font-size:14px;color:var(--ink-2)}.bill-total-final{margin-top:6px;padding-top:12px;border-top:1px solid var(--rule);color:var(--ink);font-size:15px}.bill-section{margin-bottom:18px}.bill-section-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}.tip-picker,.split-picker{display:flex;gap:6px;margin-bottom:12px}.tip-pill,.split-pill{flex:1;padding:8px 10px;background:var(--chip-bg);border:1px solid var(--rule);border-radius:99px;font-family:var(--font-display);font-size:12px;color:var(--ink-2)}.tip-pill.is-on,.split-pill.is-on{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.split-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.split-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:8px 12px;border:1px solid var(--rule);border-radius:var(--card-radius);background:var(--bg);align-items:center;font-size:13px}.split-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--guest-color);border-radius:3px 0 0 3px}.split-row{position:relative}.split-name{font-family:var(--font-display);font-size:13px;padding-left:6px}.split-share{font-family:var(--font-display);font-size:14px}.split-paid-tag{font-size:11px;color:var(--accent);font-style:italic}.split-row.is-paid{opacity:.55}.bill-footer{padding:12px 0;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.idle{width:100%;height:100%;background:var(--idle-bg);color:var(--ink);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer}.idle-leaves{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;color:var(--accent)}.idle-leaf{position:absolute;display:inline-flex;animation-name:drift;animation-iteration-count:infinite;animation-timing-function:ease-in-out}@keyframes drift{0%{transform:translate(0) rotate(var(--r, 0deg))}50%{transform:translate(20px,-16px) rotate(calc(var(--r, 0deg) + 8deg))}to{transform:translate(0) rotate(var(--r, 0deg))}}.idle-center{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;width:520px;padding:30px 0}.idle-mark{color:var(--accent);animation:gentle 4s ease-in-out infinite}@keyframes gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.idle-brand{font-family:var(--font-display);font-weight:400;font-size:48px;letter-spacing:.32em;padding-left:.32em;margin-top:20px;color:var(--ink);line-height:1}.idle-rule{width:80px;height:1px;background:var(--accent);margin:20px 0;position:relative}.idle-rule:before,.idle-rule:after{content:"";position:absolute;top:50%;width:4px;height:4px;border-radius:99px;background:var(--accent);transform:translateY(-50%)}.idle-rule:before{left:-8px}.idle-rule:after{right:-8px}.idle-tag{font-family:var(--font-body);font-style:italic;font-size:13px;letter-spacing:.3em;padding-left:.3em;color:var(--ink-2);line-height:1}.idle-welcome-stack{position:relative;height:48px;margin-top:32px;width:100%;display:grid;place-items:center}.idle-welcome{grid-column:1;grid-row:1;font-family:var(--font-display);font-weight:400;font-size:38px;line-height:1;color:var(--accent)}.idle-welcome,.idle-cta-text,.idle-table-text{opacity:0;transition:opacity .65s ease,transform .65s cubic-bezier(.2,.6,.2,1),filter .65s ease,letter-spacing .65s ease;will-change:opacity,transform,filter}[data-text-anim=lift] .idle-welcome{transform:translateY(10px)}[data-text-anim=lift] .idle-cta-text{transform:translateY(6px)}[data-text-anim=lift] .idle-table-text{transform:translateY(4px)}[data-text-anim=scale] .idle-welcome{transform:scale(.94)}[data-text-anim=scale] .idle-cta-text,[data-text-anim=scale] .idle-table-text{transform:scale(.96)}[data-text-anim=blur] .idle-welcome{filter:blur(8px)}[data-text-anim=blur] .idle-cta-text{filter:blur(4px)}[data-text-anim=blur] .idle-table-text{filter:blur(3px)}[data-text-anim=spread] .idle-welcome{letter-spacing:.4em}[data-text-anim=spread] .idle-cta-text,[data-text-anim=spread] .idle-table-text{letter-spacing:.5em}[data-text-anim] .idle-welcome.is-on,[data-text-anim] .idle-cta-text.is-on,[data-text-anim] .idle-table-text.is-on{opacity:1;transform:none;filter:none}[data-text-anim=spread] .idle-welcome.is-on{letter-spacing:0}[data-text-anim=spread] .idle-cta-text.is-on{letter-spacing:.18em}[data-text-anim=spread] .idle-table-text.is-on{letter-spacing:.28em}.idle-cta-bar{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:14px;padding:22px 30px;border-top:1px solid var(--accent-soft);background:var(--accent-soft);color:var(--accent);font-family:var(--font-display);font-size:14px;letter-spacing:.18em;line-height:1;animation:cta-bar-pulse 2.6s ease-in-out infinite}@keyframes cta-bar-pulse{0%,to{background:var(--accent-soft)}50%{background:var(--accent-soft-hover)}}.idle-heart{color:var(--accent);display:inline-flex}.idle-cta-stack{display:inline-grid;line-height:1}.idle-cta-ghost{visibility:hidden;grid-column:1;grid-row:1;white-space:nowrap}.idle-cta-text{grid-column:1;grid-row:1;text-align:center;white-space:nowrap}.idle-table-tag{margin-top:28px;font-family:var(--font-body);font-size:11px;letter-spacing:.28em;padding-left:.28em;color:var(--ink-3);line-height:1}.idle-table-stack{display:inline-grid;line-height:1}.idle-table-ghost{visibility:hidden;grid-column:1;grid-row:1;white-space:nowrap}.idle-table-text{grid-column:1;grid-row:1;text-align:center;white-space:nowrap}.pay-screen{width:100%;height:100%;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:30px}.pay-card{width:480px;padding:32px 36px 28px;background:var(--card-bg);border:1px solid var(--rule);border-radius:20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}.pay-amount-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.pay-amount{font-family:var(--font-display);font-size:52px;color:var(--ink);line-height:1;margin-top:4px}.pay-share-tag{font-family:var(--font-body);font-style:italic;font-size:13px;color:var(--ink-2)}.nfc-zone{width:320px;height:220px;position:relative;margin:8px 0 44px;display:flex;align-items:center;justify-content:center}.nfc-rings{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.nfc-rings span{position:absolute;width:80px;height:80px;border-radius:99px;border:2px solid var(--accent);opacity:0;animation:ring-pulse 2.6s ease-out infinite}.nfc-rings span:nth-child(2){animation-delay:.65s}.nfc-rings span:nth-child(3){animation-delay:1.3s}.nfc-rings span:nth-child(4){animation-delay:1.95s}@keyframes ring-pulse{0%{transform:scale(.6);opacity:.8}to{transform:scale(2.6);opacity:0}}.nfc-card{width:130px;height:86px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:var(--accent-on);position:relative;z-index:2;padding:10px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 12px 30px #00000040;animation:card-bob 2s ease-in-out infinite}@keyframes card-bob{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-6px) rotate(-6deg)}}.nfc-card-chip{width:28px;height:22px;background:linear-gradient(135deg,#e9c97a,#b6953f);border-radius:4px}.nfc-card-wave{align-self:flex-end;font-size:14px;opacity:.85;letter-spacing:1px}.phase-reading .nfc-rings span{animation-duration:1s}.phase-ok .nfc-rings{opacity:0}.phase-ok .nfc-card{background:var(--success);animation:none;transform:rotate(0) scale(1.05);transition:all .4s ease}.nfc-status{position:absolute;bottom:-36px;left:50%;transform:translate(-50%);font-family:var(--font-display);font-size:15px;color:var(--ink-2);white-space:nowrap}.phase-ok .nfc-status{color:var(--success)}.paid-screen{width:100%;height:100%;background:var(--paid-bg);color:var(--paid-ink, var(--ink));display:flex;align-items:center;justify-content:center}.paid-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px}.paid-mark{color:var(--accent);animation:gentle 3s ease-in-out infinite}.paid-title{font-family:var(--font-display);font-weight:400;font-size:40px;margin:0;letter-spacing:.02em}.paid-sub{font-style:italic;font-size:16px;color:var(--ink-2);margin:0}.paid-amount{font-family:var(--font-display);font-size:56px;color:var(--accent);margin-top:4px}.paid-note{font-size:11px;letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase;margin:0}.lang-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.lang-card{padding:22px 12px;background:var(--card-bg);border:1px solid var(--rule);border-radius:var(--card-radius);display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .15s}.lang-card:hover{border-color:var(--accent)}.lang-card.is-active{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.lang-native{font-family:var(--font-display);font-size:18px}.lang-tag{font-size:10px;letter-spacing:.2em;opacity:.7}.allergy-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.allergy-pill{display:grid;grid-template-columns:32px 1fr 24px;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--rule);border-radius:var(--card-radius);background:var(--card-bg);text-align:left;transition:all .15s}.allergy-pill:hover{border-color:var(--ink-3)}.allergy-pill.is-on{background:var(--accent-soft);border-color:var(--accent)}.allergy-id{font-family:var(--font-display);font-weight:600;width:28px;height:28px;line-height:28px;border-radius:99px;text-align:center;background:var(--accent);color:var(--accent-on);font-size:12px}.allergy-name{font-size:13px}.allergy-check{color:var(--accent);font-weight:600}.waiter-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.waiter-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 12px;background:var(--card-bg);border:1px solid var(--rule);border-radius:var(--card-radius);color:var(--ink);font-size:13px;text-align:center}.waiter-card:hover{border-color:var(--accent);color:var(--accent)}.waiter-card svg{color:var(--accent)}.guests-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.guest-row{display:grid;grid-template-columns:36px 1fr auto 32px;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--rule);border-radius:var(--card-radius)}.guest-bubble{width:28px;height:28px;border-radius:99px;background:var(--guest-color);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:13px}.guest-input{background:transparent;border:none;outline:none;font-family:var(--font-display);font-size:14px;color:var(--ink);padding:4px 0}.guest-active{padding:6px 12px;font-size:11px;letter-spacing:.04em;border:1px solid var(--rule);border-radius:99px;color:var(--ink-2)}.guest-active.is-active{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.guest-remove{width:28px;height:28px;font-size:18px;color:var(--ink-3);border-radius:99px}.guest-remove:hover{color:var(--accent);background:var(--accent-soft)}.pelm-hearth{--font-display: "Playfair Display", "Lora", serif;--font-body: "Work Sans", "Inter", system-ui, sans-serif;--bg: #faf6f1;--ink: #2a1f1a;--ink-2: #6b5f58;--ink-3: #9c8f86;--rule: #e8ded2;--chip-bg: #f0e9de;--chip-bg-hover: #e6dccb;--card-bg: #ffffff;--card-border: #eadfcf;--card-hover-shadow: 0 10px 28px rgba(60, 35, 20, .08);--accent: #c75a35;--accent-on: #ffffff;--accent-deep: #8e3e22;--accent-soft: rgba(199, 90, 53, .1);--accent-soft-hover: rgba(199, 90, 53, .16);--rail-bg: #ffffff;--rail-active-bg: #faf1ea;--detail-art-bg: linear-gradient(180deg, #faf1ea 0%, #faf6f1 100%);--idle-bg: #2a1f1a;--paid-bg: #faf6f1;--success: #5c8a60;--card-radius: 14px;--btn-radius: 14px;--chip-radius: 99px}.pelm-hearth .dish-card{box-shadow:0 1px 0 var(--rule)}.pelm-hearth .dish-card:hover{box-shadow:var(--card-hover-shadow)}.pelm-hearth .menu-title{position:relative;padding-left:14px}.pelm-hearth .menu-title:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:2px;background:var(--accent)}.pelm-hearth .btn-primary{border-radius:12px;font-family:var(--font-body);font-weight:600;letter-spacing:.02em;text-transform:uppercase;font-size:13px}.pelm-hearth .btn-ghost{border-radius:12px}.pelm-hearth .chip{border-radius:10px;font-family:var(--font-body);font-weight:500;text-transform:none;letter-spacing:.02em}.pelm-hearth .table-badge{border-radius:10px}.pelm-hearth .idle{color:#faf6f1;background:#2a1f1a}.pelm-hearth .idle-brand{color:#faf6f1}.pelm-hearth .idle-tag{color:#faf6f199}.pelm-hearth .idle-rule{background:var(--accent)}.pelm-hearth .idle-welcome{color:var(--accent)}.pelm-hearth .idle-cta-bar{color:var(--accent-on);background:var(--accent);border-top:1px solid var(--accent);animation:cta-bar-pulse-hearth 2.6s ease-in-out infinite}@keyframes cta-bar-pulse-hearth{0%,to{background:var(--accent)}50%{background:var(--accent-deep)}}.pelm-hearth .idle-cta-bar .idle-heart{color:var(--accent-on)}.pelm-hearth .idle-leaves{color:#faf6f1}.pelm-hearth .idle-table-tag{color:#faf6f180}.pelm-hearth .idle-mark{color:var(--accent)}.pelm-hearth .rail-item.is-active:before{display:none}.pelm-hearth .rail-item.is-active{background:var(--accent-soft);border-radius:10px}.pelm-hearth .dish-name{letter-spacing:.005em}.pelm-hearth .menu-eyebrow{display:inline-flex;padding:4px 10px;background:var(--accent-soft);color:var(--accent);border-radius:99px;align-self:flex-start;margin-bottom:8px}.pelm-hearth .menu-eyebrow .dot{display:none}
