:root{--ink: #f6efe4;--ink-2: #d6c9b8;--ink-3: #a99a88;--glass: rgba(24, 19, 15, .72);--glass-strong: rgba(24, 19, 15, .86);--line: rgba(246, 239, 228, .14);--mustard: #e4b43c;--mustard-ink: #231a0b;--brick: #c4574a;--aqua: #8fc7c0;--radius: 14px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--serif: "Fraunces", "Iowan Old Style", Georgia, serif;--sans: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--gutter: max(16px, env(safe-area-inset-left))}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden;background:#17120e;color:var(--ink);font:15px/1.45 var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;touch-action:manipulation}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}@media (pointer: coarse){input,select{font-size:16px}}svg{width:16px;height:16px;flex:none}:focus-visible{outline:2px solid var(--mustard);outline-offset:2px}#pano{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none;opacity:0;transition:opacity .5s ease}#pano.is-ready{opacity:1}#pano.is-dragging{cursor:grabbing}#pano:focus-visible{outline:none}.loader{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#17120e url(/pano/morning-2048.jpg) center / cover;transition:opacity .5s ease,visibility 0s linear .5s}.loader:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;backdrop-filter:blur(18px) brightness(.7);-webkit-backdrop-filter:blur(18px) brightness(.7)}.loader.is-done{opacity:0;visibility:hidden}.loader__card{position:relative;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:var(--glass);font-size:14px}.loader__spinner{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--mustard);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.topbar,.bottombar{position:fixed;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px var(--gutter);pointer-events:none;z-index:10}.topbar{top:0;padding-top:max(14px,env(safe-area-inset-top));align-items:flex-start}.bottombar{bottom:0;padding-bottom:max(14px,env(safe-area-inset-bottom))}.topbar>*,.bottombar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.brand__name{padding:7px 12px;border-radius:999px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font:500 18px/1 var(--serif);letter-spacing:.01em}.chip{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:13.5px;font-weight:500;transition:transform .16s var(--ease-out),background-color .16s ease}.chip--ghost{min-height:30px;padding:0 10px;font-size:12.5px;color:var(--ink-2)}.chip:active{transform:scale(.97)}@media (hover: hover) and (pointer: fine){.chip:hover{background:var(--glass-strong)}}.mood{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.mood__label{padding:3px 9px;border-radius:999px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.mood__seg{position:relative;display:flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mood__thumb{position:absolute;top:3px;bottom:3px;left:0;border-radius:999px;background:var(--ink);transition:transform .26s var(--ease-out),width .26s var(--ease-out)}.mood__btn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:0;border-radius:999px;background:transparent;font-size:13.5px;font-weight:500;color:var(--ink-2);transition:color .2s ease}.mood__btn[aria-pressed=true]{color:#1d1610}.mood__btn svg{width:14px;height:14px}.mood-note{position:fixed;top:calc(max(14px,env(safe-area-inset-top)) + 64px);right:var(--gutter);max-width:290px;margin:0;padding:8px 12px;border-radius:10px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:12.5px;color:var(--ink-2);opacity:0;transform:translateY(-4px);transition:opacity .2s ease,transform .2s var(--ease-out);pointer-events:none;z-index:9}.mood-note.is-visible{opacity:1;transform:none}.hint{margin:0;padding:8px 14px;border-radius:999px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:13px;color:var(--ink-2);transition:opacity .4s ease;position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;pointer-events:none}.hint.is-hidden{opacity:0}.hotspots{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.hotspot{position:absolute;left:0;top:0;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;border:0;background:transparent;pointer-events:auto;display:grid;place-items:center;opacity:0;transition:opacity .3s ease;will-change:transform}.hotspots.is-live .hotspot.is-onscreen{opacity:1}.hotspot.is-offscreen{visibility:hidden}.hotspot__dot{position:relative;width:16px;height:16px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px #18130f73,0 2px 10px #00000073;transition:transform .18s var(--ease-out),background-color .18s ease,box-shadow .18s ease}.hotspot__dot:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:50%;border:1.5px solid rgba(246,239,228,.55);animation:breathe 2.8s ease-in-out infinite}.hotspot.is-selected .hotspot__dot,.hotspot:focus-visible .hotspot__dot{background:var(--mustard)}.hotspot:focus-visible{outline:none}.hotspot:focus-visible .hotspot__dot{box-shadow:0 0 0 4px #18130f73,0 0 0 6px var(--mustard)}.hotspot:active .hotspot__dot{transform:scale(.9)}.hotspot__label{position:absolute;left:50%;bottom:40px;padding:4px 9px;border-radius:7px;background:var(--glass-strong);font-size:12.5px;font-weight:600;letter-spacing:.02em;white-space:nowrap;transform:translate(-50%) translateY(3px);opacity:0;transition:opacity .16s ease,transform .16s var(--ease-out);pointer-events:none}.hotspot__label small{font-weight:400;color:var(--ink-2);margin-left:4px}.hotspot.is-selected .hotspot__label,.hotspot:focus-visible .hotspot__label{opacity:1;transform:translate(-50%)}@media (hover: hover) and (pointer: fine){.hotspot:hover .hotspot__dot{transform:scale(1.15)}.hotspot:hover .hotspot__label{opacity:1;transform:translate(-50%)}}.hotspot__held{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--aqua);box-shadow:0 0 0 2px #18130fb3}@keyframes breathe{0%,to{transform:scale(.85);opacity:.9}50%{transform:scale(1.1);opacity:.35}}.panel,.about{position:fixed;right:var(--gutter);bottom:calc(max(14px,env(safe-area-inset-bottom)) + 52px);width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 190px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass-strong);backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1);box-shadow:0 18px 50px #00000059;z-index:20;transform-origin:bottom right;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}.about{left:var(--gutter);right:auto;transform-origin:top left;top:calc(max(14px,env(safe-area-inset-top)) + 50px);bottom:auto}.panel[hidden],.about[hidden]{display:none}.panel.is-entering,.about.is-entering{opacity:0;transform:scale(.97) translateY(6px)}.panel__head{display:flex;align-items:flex-start;gap:8px;padding:14px 12px 10px 18px;border-bottom:1px solid var(--line)}.panel__titles{flex:1;min-width:0;padding-top:2px}.panel__eyebrow{margin:0 0 2px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.panel__title{margin:0;font:500 21px/1.2 var(--serif)}.panel__title:focus{outline:none}.panel__body{padding:14px 18px 18px;overflow-y:auto;overscroll-behavior:contain}.icon-btn{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--ink-2);transition:background-color .15s ease,transform .15s var(--ease-out)}.icon-btn:active{transform:scale(.94)}@media (hover: hover) and (pointer: fine){.icon-btn:hover{background:#f6efe414;color:var(--ink)}}.tag{display:inline-block;padding:2px 8px;border-radius:6px;background:#e4b43c24;color:#f1cd72;font-size:11.5px;font-weight:500}.facts{margin:12px 0 16px;padding:0;display:grid;gap:9px}.facts div{display:grid;grid-template-columns:82px 1fr;gap:10px}.facts dt{color:var(--ink-3);font-size:13px}.facts dd{margin:0;font-size:14px}.facts ul{margin:0;padding:0;list-style:none}.actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#f6efe40f;font-size:14px;font-weight:500;transition:transform .16s var(--ease-out),background-color .16s ease}.btn:active{transform:scale(.97)}.btn--primary{background:var(--mustard);border-color:transparent;color:var(--mustard-ink)}@media (hover: hover) and (pointer: fine){.btn:hover{background:#f6efe41f}.btn--primary:hover{background:#ecc154}}.btn--block{width:100%}.table-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.table-list button{width:100%;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f6efe40a;text-align:left;transition:background-color .15s ease,transform .15s var(--ease-out)}.table-list button:active{transform:scale(.98)}@media (hover: hover) and (pointer: fine){.table-list button:hover{background:#f6efe41a}}.table-list .id{font-weight:600;color:var(--mustard)}.table-list .meta{color:var(--ink-3);font-size:12.5px}.list-note{margin:12px 0 0;font-size:12.5px;color:var(--ink-3)}.menu-tabs{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}.menu-tabs button{min-height:32px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:13px;color:var(--ink-2)}.menu-tabs button[aria-selected=true]{background:var(--ink);color:#1d1610;border-color:transparent}.menu-items{list-style:none;margin:0;padding:0}.menu-items li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--line)}.menu-items li:last-child{border-bottom:0}.menu-items .name{font-weight:500}.menu-items .price{font-variant-numeric:tabular-nums;color:var(--ink-2)}.menu-items .desc{grid-column:1 / -1;font-size:13px;color:var(--ink-3)}.fine{margin:12px 0 0;font-size:12px;color:var(--ink-3)}.form{display:grid;gap:12px}.field{display:grid;gap:5px}.field label{font-size:13px;color:var(--ink-2)}.field input,.field select{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#f6efe40f;color-scheme:dark}.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--mustard);outline-offset:0}.field[data-invalid] input,.field[data-invalid] select{border-color:var(--brick)}.field .error{margin:0;font-size:12.5px;color:#f09a8f}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stepper{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;border:1px solid var(--line);border-radius:10px}.stepper button{min-height:40px;border:0;background:transparent;font-size:18px;color:var(--ink-2)}.stepper button:disabled{opacity:.35;cursor:default}.stepper output{text-align:center;font-variant-numeric:tabular-nums}.demo-banner{display:flex;gap:8px;padding:9px 11px;border-radius:10px;background:#8fc7c01f;color:#bfe3de;font-size:12.5px}.confirm{text-align:left}.confirm__badge{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#8fc7c02e;color:var(--aqua);margin-bottom:10px}.confirm__badge svg{width:18px;height:18px}.confirm h3{margin:0 0 6px;font:500 19px/1.25 var(--serif)}.confirm .summary{margin:0 0 12px;color:var(--ink-2)}.confirm .actions{margin-top:14px}.prose p{margin:0 0 10px;font-size:14px;color:var(--ink-2)}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--mustard)}.prose .credit{font-size:12.5px;color:var(--ink-3)}.fallback{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:80px var(--gutter);background:#17120e}.fallback[hidden]{display:none}.fallback p{margin:0;max-width:520px;color:var(--ink-2)}.fallback__scroll{overflow-x:auto;border-radius:var(--radius)}.fallback__scroll img{height:min(60vh,520px);display:block}@media (max-width: 640px){.brand__name{font-size:17px}.mood__label{font-size:10px}.mood__btn{padding:0 10px;font-size:13px}.mood__btn svg{display:none}.mood-note{top:calc(max(14px,env(safe-area-inset-top)) + 96px);left:var(--gutter);right:var(--gutter);max-width:none}.panel,.about{left:0;right:0;bottom:0;top:auto;width:100%;max-height:72dvh;border-radius:18px 18px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom);transform-origin:bottom center}.panel.is-entering,.about.is-entering{transform:translateY(24px)}.hint{bottom:64px}}@media (prefers-reduced-motion: reduce){.hotspot__dot:after{animation:none}.panel.is-entering,.about.is-entering{transform:none}.mood__thumb{transition:none}*{scroll-behavior:auto}}.mood__btn[data-loading]:after{content:"";width:5px;height:5px;margin-left:2px;border-radius:50%;background:currentColor;animation:pulse .9s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}.field .meta{color:var(--ink-3)}
