:root{--bg: #0d1420;--panel: rgba(255, 255, 255, .04);--text: #f2f5f9;--muted: #93a1b5;--accent: #f5a623;--font-heading: "Inter", system-ui, "Segoe UI", sans-serif;--font-body: "Inter", system-ui, "Segoe UI", sans-serif;--brand-charcoal: #404041;--brand-blue: #00aeef;--brand-lime: #b3d335;font-size:clamp(12px,1.4vw,22px)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-body);cursor:none}.scene h1,.scene h2,.promo h1,.pair-code,.fullscreen-message h1{font-family:var(--font-heading)}.stage{height:100%}.scene-theme{height:100%;background-color:var(--bg)}.scene{height:100vh;padding:4vh 5vw;display:flex;flex-direction:column;background:var(--bg);animation:scene-in .6s ease-out}@keyframes scene-in{0%{opacity:0}to{opacity:1}}.scene header{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--accent);padding-bottom:1.5vh;margin-bottom:3vh}.scene h1{font-size:3.2rem;font-weight:700;letter-spacing:-.01em}.scene .venue{color:var(--muted);font-size:1.2rem;text-transform:uppercase;letter-spacing:.2em}.empty{color:var(--muted);font-size:1.5rem;margin:auto}.taps{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:1.6vh 4vw;align-content:start;flex:1}.taps li{display:flex;align-items:center;gap:1.2vw;background:var(--panel);border-radius:.75rem;padding:1.6vh 1.4vw}.taps li.off{opacity:.45}.tap-number{flex:none;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--accent);color:#10151d;font-weight:800;font-size:1.3rem;display:grid;place-items:center}.tap-main{display:flex;flex-direction:column;min-width:0;flex:1}.tap-name{font-size:1.6rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tap-meta{color:var(--muted);font-size:1rem}.tap-right{display:flex;align-items:baseline;gap:1vw;flex:none}.tap-abv{color:var(--muted);font-size:1.1rem}.tap-price{font-size:1.5rem;font-weight:700;color:var(--accent)}.tap-price small{color:var(--muted);font-weight:400;font-size:.9rem}.tap-soldout{font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.promo{position:relative;align-items:center;justify-content:center;text-align:center}.promo-media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.overlay-text{position:relative;display:flex;flex-direction:column;align-items:center;gap:2vh;max-width:70vw}.scene.has-media .overlay-text{background:#0a0e148c;border-radius:1rem;padding:3.5vh 3vw}.scene.pos-top-left,.scene.pos-left,.scene.pos-bottom-left{align-items:flex-start;text-align:left}.scene.pos-top-right,.scene.pos-right,.scene.pos-bottom-right{align-items:flex-end;text-align:right}.scene.pos-top-left,.scene.pos-top,.scene.pos-top-right{justify-content:flex-start}.scene.pos-bottom-left,.scene.pos-bottom,.scene.pos-bottom-right{justify-content:flex-end}.scene.pos-top-left .overlay-text,.scene.pos-left .overlay-text,.scene.pos-bottom-left .overlay-text{align-items:flex-start}.scene.pos-top-right .overlay-text,.scene.pos-right .overlay-text,.scene.pos-bottom-right .overlay-text{align-items:flex-end}.overlay-text h1{font-size:5rem;color:var(--accent)}.overlay-text p{font-size:2rem;color:var(--text)}.promo-logo{max-height:18vh}.menu-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(24rem,1fr));gap:3vh 4vw;overflow:hidden;flex:1}.menu-columns h2{font-size:1.8rem;color:var(--accent);margin-bottom:1.2vh}.menu-columns ul{list-style:none}.menu-columns li{display:flex;justify-content:space-between;gap:2vw;padding:.7vh 0;font-size:1.3rem}.item-price{color:var(--muted)}.media{position:relative;padding:0;align-items:center;justify-content:center}.media img,.media video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.media.has-text{padding:4vh 5vw}.scene.url{padding:0}.url-frame{width:100%;height:100%;border:0}.weather-now{display:flex;align-items:center;gap:3vw;flex:1}.weather-icon{font-size:9rem;line-height:1}.weather-temp{font-family:var(--font-heading);font-size:11rem;font-weight:800;line-height:1;letter-spacing:-.03em}.weather-cond{display:flex;flex-direction:column;gap:1vh}.weather-label{font-size:2.6rem;font-weight:700;font-family:var(--font-heading)}.weather-range{color:var(--muted);font-size:1.5rem}.weather-days{list-style:none;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:1.5vw}.weather-days li{background:var(--panel);border-radius:.75rem;padding:2vh 1vw;display:flex;flex-direction:column;align-items:center;gap:1vh}.weather-days .day-name{color:var(--muted);text-transform:uppercase;letter-spacing:.15em;font-size:1rem}.weather-days .day-icon{font-size:3rem;line-height:1}.weather-days .day-range{font-size:1.6rem;font-weight:700}.weather-days .day-range small{color:var(--muted);font-weight:400}.headlines{list-style:none;display:flex;flex-direction:column;gap:1.6vh;flex:1}.headlines li{display:flex;flex-direction:column;gap:.5vh;background:var(--panel);border-radius:.75rem;padding:1.6vh 1.4vw}.headlines li.lead{border-left:.4rem solid var(--accent)}.headline-title{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;line-height:1.25}.headlines li.lead .headline-title{font-size:2.6rem}.headline-summary{color:var(--muted);font-size:1.4rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.headline-meta{color:var(--muted);font-size:1rem;text-transform:uppercase;letter-spacing:.15em}.order-columns{display:grid;grid-template-columns:1fr 1fr;gap:2vw;flex:1;min-height:0}.order-col{background:var(--panel);border-radius:1rem;padding:2.5vh 1.5vw;display:flex;flex-direction:column;overflow:hidden}.order-col h2{font-size:2rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:2vh;text-align:center}.order-col.preparing h2{color:var(--muted)}.order-col.ready h2{color:var(--accent)}.order-col ul{list-style:none;display:flex;flex-wrap:wrap;align-content:flex-start;justify-content:center;gap:1.5vh 1vw;overflow:hidden}.order-col li{font-family:var(--font-heading);font-size:3.4rem;font-weight:800;padding:1vh 1.5vw;border-radius:.75rem;background:#ffffff0f;display:flex;align-items:center;gap:.5vw}.order-col.ready li{background:var(--accent);color:#10151d}.order-part{font-size:1.8rem}.order-none{color:var(--muted);font-size:1.5rem;text-align:center;margin:auto}.fullscreen-message{height:100vh;background:var(--brand-charcoal);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2vh;text-align:center}.fullscreen-message p{color:#ffffffb3}.fullscreen-message .brand{color:var(--muted);letter-spacing:.3em;text-transform:uppercase;font-size:1.6rem;margin-bottom:2vh}.fullscreen-message .brand-logo{height:26vh;width:auto;margin-bottom:4vh}.fullscreen-message h1{font-size:3rem}.fullscreen-message p{color:var(--muted);font-size:1.3rem}.pair-code{font-size:7rem;font-weight:800;letter-spacing:.25em;padding:2vh 4vw;border:3px dashed var(--brand-blue);border-radius:1.5rem;color:var(--brand-blue)}.preview-idle{height:100vh;background:var(--bg)}.offline-dot{position:fixed;bottom:2vh;right:2vh;width:.8rem;height:.8rem;border-radius:50%;background:#e0b23e;opacity:.7;transition:background .6s ease,opacity .6s ease}.offline-dot.stale{background:#d9534f;opacity:.9;animation:offline-pulse 2.5s ease-in-out infinite}@keyframes offline-pulse{0%,to{opacity:.9}50%{opacity:.35}}
