:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0f1521;color:#f6f8ff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#0f1521}body.modal-open{overflow:hidden}button,a{font:inherit}button{color:inherit}.app-shell{min-height:100vh;display:grid;justify-items:center;padding:0}.landing-screen{position:relative;display:grid;width:min(100%,450px);min-height:100svh;padding:0;border:0;overflow:hidden;background:#0f1521;box-shadow:0 30px 80px #00000061;cursor:pointer}.landing-screen img{width:100%;height:100%;object-fit:cover;transform:scale(.99) translateY(-1%);transform-origin:center top;filter:saturate(1.08) contrast(1.02)}.phone-frame{position:relative;width:min(100%,450px);min-height:100vh;overflow:hidden;background:#0f1521;box-shadow:0 30px 80px #00000061}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1rem .9rem}.brand-button,.menu-button,.segmented-control button,.restaurant-card,.map-pin,.close-button,.back-button,.detail-actions button,.detail-actions a,.menu-item{border:0;cursor:pointer}.brand-button{display:block;padding:0;background:transparent}.brand-button img{display:block;width:7.4rem;max-width:42vw;height:auto}.menu-button{display:grid;align-content:center;gap:.22rem;width:2.6rem;height:2.6rem;padding:.7rem;border-radius:50%;background:linear-gradient(90deg,#f80750,#f618af)}.menu-button span{display:block;width:100%;height:2px;background:#fff}.search-strip{position:relative;padding:0 1rem 1rem}.search-field{display:grid}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.search-field input{width:100%;min-height:3rem;border:1px solid #2a3446;border-radius:8px;padding:0 1rem;background:#2f3646;color:#fff;font:inherit;letter-spacing:0}.search-field input::placeholder{color:#6f7a91}.search-field input:focus{border-color:#9b55ff;outline:2px solid rgba(155,85,255,.3);outline-offset:2px}.search-suggestions{position:absolute;top:3.4rem;right:1rem;left:1rem;z-index:6;display:grid;margin:0;padding:0;overflow:hidden;border:1px solid #2a3446;border-radius:8px;background:#2f3646;box-shadow:0 18px 36px #00000047}.search-suggestions li{list-style:none}.search-suggestions button{min-height:2.75rem;border:0;border-bottom:1px solid rgba(255,255,255,.08);padding:0 1rem;background:transparent;color:#fff;text-align:left;cursor:pointer}.search-suggestions button:last-child{border-bottom:0}.search-suggestions button:hover,.search-suggestions button:focus{background:#9b55ff29;outline:0}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding:0 1rem 1.4rem}.segmented-control button{min-height:3.1rem;border-radius:8px;background:#1f2634;color:#aeb7c8;font-weight:400}.segmented-control button.active{background:#9b55ff;color:#fff}.view-panel{padding:0 .75rem 6rem}.floor-plan-wrap{position:relative;overflow:hidden;border:1px solid #566072;background:#08223b}.floor-plan-wrap img{display:block;width:100%;aspect-ratio:1 / .82;object-fit:cover}.map-pin{position:absolute;display:grid;justify-items:center;gap:.15rem;min-width:4.3rem;padding:0;transform:translate(-50%,-50%);background:transparent}.pin-dot{width:2.15rem;height:2.15rem;border-radius:999px 999px 999px 0;transform:rotate(-45deg);border:3px solid #fff;background:#f31882;box-shadow:0 0 0 4px #f318822e}.pin-dot:after{content:"";position:absolute;inset:.5rem;border-radius:50%;background:#fff}.pin-label{max-width:7rem;padding:.28rem .55rem;border-radius:999px;background:#52e76d;color:#07100a;font-size:.72rem;font-weight:800;line-height:1;white-space:nowrap}.map-pin.selected .pin-dot{background:#fff;box-shadow:0 0 0 4px #ffffff40}.map-pin.selected .pin-dot:after{background:#f31882}.map-pin.selected .pin-label{border:2px solid #fff;background:#52e76d;color:#07100a}.map-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem;padding:1rem .2rem 0;color:#8995ac;font-size:.73rem}.map-legend span{border-left:.45rem solid #fd7627;padding-left:.45rem}.restaurant-list{display:grid;gap:1.5rem}.empty-list{margin:0;padding:1.25rem;border:1px solid #2a3446;border-radius:8px;background:#0f1521;color:#aeb7c8;text-align:center}.restaurant-card{position:relative;overflow:hidden;display:grid;min-height:14.2rem;padding:0;border:1px solid #2a3446;border-radius:16px;background:#0f1521;text-align:left}.restaurant-card img{width:100%;height:9.4rem;object-fit:cover}.restaurant-card-copy{display:grid;gap:.25rem;padding:.9rem 3.7rem 1.05rem 1rem}.restaurant-card strong{color:#fff;font-size:.9375rem;font-weight:700;line-height:1.25}.restaurant-card span span,.restaurant-card small{color:#b5bbbf;font-size:1rem;font-weight:400;line-height:1.25}.arrow-button{position:absolute;right:1rem;bottom:1.35rem;display:grid;place-items:center;width:2.25rem;height:2.25rem;border:2px solid #fff;border-radius:50%}.arrow-button img{width:1rem;height:1rem}.detail-sheet{position:fixed;inset:0;z-index:5;display:flex;flex-direction:column;gap:1rem;min-height:100svh;max-height:100svh;overflow:auto;padding:4.7rem max(1rem,calc((100vw - 450px)/2 + 1rem)) 1.4rem;border-radius:0;background:#0f1521;box-shadow:none}.back-button{position:absolute;top:1.2rem;left:1rem;display:grid;place-items:center;width:2.4rem;height:2.4rem;border:0;border-radius:0;background:transparent;line-height:1}.back-button img{width:1.25rem;height:1.25rem}.detail-menu-button{position:absolute;top:1.2rem;right:1rem}.close-button{position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:2rem;height:2rem;border:0;border-radius:50%;background:transparent}.close-button img{width:1.75rem;height:1.75rem}.detail-heading{display:flex;align-items:center;gap:.8rem;padding-right:2.4rem}.restaurant-avatar{display:grid;flex:0 0 auto;place-items:center;width:3.1rem;height:3.1rem;border-radius:50%;background:#f71382;font-weight:900}.detail-heading h2,.detail-heading p,.detail-copy{margin:0}.detail-heading h2{font-size:1rem}.detail-heading p{color:#aeb7c8;font-size:.85rem}.detail-image{width:100%;height:clamp(11rem,45vw,16rem);border-radius:16px;object-fit:cover}.detail-meta{color:#b5bbbf;font-size:.75rem;font-weight:400}.detail-copy{color:#b5bbbf;font-size:1rem;font-weight:400;line-height:1.25}.detail-actions{display:grid;gap:.55rem;margin-top:auto;padding-top:1.5rem}.secondary-action,.primary-action{display:grid;min-height:3rem;place-items:center;border-radius:8px;font-weight:600;text-decoration:none}.detail-actions .secondary-action{border:1px solid #fff;box-shadow:inset 0 0 0 1px #fff;background:transparent;color:#fff;font-family:Plus Jakarta Sans,Inter,ui-sans-serif,system-ui,sans-serif;font-size:1rem;font-weight:600;line-height:1.25;text-align:center}.primary-action{border:0;background:linear-gradient(90deg,#f80750,#f618af);color:#fff;font-weight:600}.menu-backdrop{position:fixed;inset:0;z-index:8;display:grid;align-items:end;justify-items:center;padding:1rem;background:#02060eb8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.menu-panel{position:relative;display:grid;gap:.5rem;width:min(100%,420px);padding:3.9rem 1rem 1.6rem;border-radius:8px;background:#0f1521}.menu-item{display:grid;grid-template-columns:2rem 1fr;align-items:center;min-height:3.5rem;padding:0 1rem;border-radius:8px;background:transparent;color:#eef3ff;text-align:left;font-size:1.02rem}.menu-item.active{background:#9b55ff29}.menu-item img{width:1.5rem;height:1.5rem}.content-stack{display:grid;gap:.9rem;padding:.4rem .25rem 2rem}.content-stack h2{margin:0 0 .2rem;font-size:1.55rem}.guide-card{display:grid;grid-template-columns:4.1rem 1fr;gap:.85rem;padding:1rem;border:1px solid #2a3446;border-radius:8px;background:#0f1521}.guide-card time{color:#f71382;font-weight:900}.guide-card h3,.guide-card p{margin:0}.guide-card p{color:#fff;font-weight:800}.guide-card span{display:block;margin-top:.35rem;color:#aeb7c8}.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.directory-grid span{min-height:2.8rem;padding:.75rem;border-left:.45rem solid #fd7627;border-radius:8px;background:#0f1521;color:#d8deec;font-size:.88rem}.emergency-panel p{margin:0;color:#d8deec;line-height:1.45}@media(min-width:760px){.brand-button img{width:8.6rem}.app-shell{padding:2rem;justify-items:center;gap:2rem}.landing-screen{width:min(100%,980px);min-height:calc(100vh - 4rem);border:1px solid rgba(255,255,255,.12);border-radius:8px}.landing-screen img{transform:scale(1) translateY(-1%)}.phone-frame{width:min(100%,980px);min-height:calc(100vh - 4rem);border:1px solid rgba(255,255,255,.12);border-radius:8px}.app-header,.search-strip,.segmented-control{width:min(100%,760px);margin-inline:auto}.view-panel{width:min(100%,820px);margin-inline:auto}.restaurant-list{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-sheet{max-height:100vh;min-height:100vh;border-radius:0}.detail-heading,.detail-image,.detail-meta,.detail-copy,.detail-actions{width:min(100%,420px);margin-inline:auto}.detail-actions{margin-top:3rem}.menu-backdrop{align-items:center}}
