:root{--bg-deep: #06060f;--bg-dark: #0a0a1a;--cyan: #00e5ff;--cyan-dim: rgba(0, 229, 255, .3);--cyan-glow: rgba(0, 229, 255, .15);--cyan-ultra-dim: rgba(0, 229, 255, .06);--blue: #1e90ff;--orange: #ff6b2b;--green: #00e676;--red: #ff3d5a;--text-primary: #e8ecf1;--text-secondary: rgba(200, 215, 230, .7);--text-dim: rgba(160, 175, 195, .45);--glass: rgba(6, 8, 18, .55);--glass-strong: rgba(6, 8, 18, .78);--glass-border: rgba(0, 229, 255, .1);--glass-border-strong: rgba(0, 229, 255, .2);--font-display: "Orbitron", sans-serif;--font-body: "Rajdhani", sans-serif;--font-mono: "Share Tech Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg-deep);color:var(--text-primary);overflow:hidden;touch-action:manipulation;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--bg-deep);transition:opacity .6s ease,visibility .6s ease}.loading-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,229,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.025) 1px,transparent 1px);background-size:30px 30px;opacity:.6}.loading-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:2rem}.loading-logo{display:flex;align-items:center;gap:.6rem}.loading-logo .logo-icon{font-size:1.8rem;color:var(--cyan);filter:drop-shadow(0 0 12px var(--cyan-dim));animation:logoGlow 2s ease-in-out infinite}.loading-logo .logo-text{font-family:var(--font-display);font-size:1.6rem;font-weight:800;letter-spacing:4px;color:var(--text-primary)}.loading-logo .logo-accent{color:var(--cyan);text-shadow:0 0 20px var(--cyan-dim)}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 12px var(--cyan-dim))}50%{filter:drop-shadow(0 0 25px var(--cyan))}}.loading-ring{width:100px;height:100px;position:relative;display:flex;align-items:center;justify-content:center}.loading-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:none;stroke:#00e5ff14;stroke-width:2}.ring-progress{fill:none;stroke:var(--cyan);stroke-width:2;stroke-linecap:round;stroke-dasharray:264;stroke-dashoffset:264;transition:stroke-dashoffset .3s ease;filter:drop-shadow(0 0 6px var(--cyan))}.loading-percent{position:absolute;font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--cyan);letter-spacing:1px}.loading-status{font-family:var(--font-mono);font-size:.7rem;letter-spacing:3px;color:var(--text-dim);animation:statusBlink 1.5s ease-in-out infinite}@keyframes statusBlink{0%,to{opacity:1}50%{opacity:.4}}.loading-details{font-family:var(--font-mono);font-size:.65rem;color:var(--text-secondary);letter-spacing:1px}.viewer-container{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-deep);transition:opacity .4s ease}.viewer-container.hidden{opacity:0;pointer-events:none}model-viewer{width:100%;height:100%;--poster-color: transparent;background:radial-gradient(ellipse at center bottom,rgba(0,229,255,.03) 0%,var(--bg-deep) 70%)}.model-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:transparent;transition:opacity .3s}.model-loading-overlay.hidden{opacity:0;pointer-events:none}.model-spinner{width:40px;height:40px;border:2px solid rgba(0,229,255,.1);border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ar-launch-btn{display:flex;align-items:center;gap:.8rem;margin:0 1rem .6rem;padding:.75rem 1.2rem;background:linear-gradient(135deg,#00e5ff1f,#1e90ff1f);border:1px solid rgba(0,229,255,.5);border-radius:14px;color:var(--text-primary);cursor:pointer;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 0 25px #00e5ff1a,inset 0 0 15px #00e5ff0a;transition:all .3s ease;white-space:nowrap;flex-shrink:0;animation:arBtnPulse 2.5s ease-in-out infinite}.ar-launch-btn:active{transform:scale(.97)}@keyframes arBtnPulse{0%,to{box-shadow:0 0 30px #00e5ff1f,inset 0 0 20px #00e5ff0a}50%{box-shadow:0 0 50px #00e5ff40,inset 0 0 25px #00e5ff14}}.ar-launch-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#00e5ff1a;border:1px solid rgba(0,229,255,.2);color:var(--cyan);flex-shrink:0}.ar-launch-icon svg{width:18px;height:18px}.ar-launch-text{display:flex;flex-direction:column;gap:.15rem;text-align:left}.ar-launch-title{font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:2px;color:var(--cyan);text-shadow:0 0 10px var(--cyan-dim)}.ar-launch-sub{font-family:var(--font-mono);font-size:.45rem;letter-spacing:1px;color:var(--text-dim)}.ar-launch-arrow{font-size:1.2rem;color:var(--cyan);transition:transform .3s ease;margin-left:.3rem}.ar-launch-btn:hover .ar-launch-arrow{transform:translate(4px)}.hud-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,229,255,.008) 2px,rgba(0,229,255,.008) 4px)}.hud-corner{position:absolute;width:30px;height:30px;z-index:10;pointer-events:none}.hud-corner:before,.hud-corner:after{content:"";position:absolute;background:var(--cyan);opacity:.4}.hud-corner.tl{top:12px;left:12px}.hud-corner.tl:before{width:20px;height:1px;top:0;left:0}.hud-corner.tl:after{width:1px;height:20px;top:0;left:0}.hud-corner.tr{top:12px;right:12px}.hud-corner.tr:before{width:20px;height:1px;top:0;right:0}.hud-corner.tr:after{width:1px;height:20px;top:0;right:0}.hud-corner.bl{bottom:12px;left:12px}.hud-corner.bl:before{width:20px;height:1px;bottom:0;left:0}.hud-corner.bl:after{width:1px;height:20px;bottom:0;left:0}.hud-corner.br{bottom:12px;right:12px}.hud-corner.br:before{width:20px;height:1px;bottom:0;right:0}.hud-corner.br:after{width:1px;height:20px;bottom:0;right:0}.hud-top-bar{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:linear-gradient(180deg,var(--glass-strong) 0%,transparent 100%);pointer-events:none}.hud-top-left .hud-logo{font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:2px;color:var(--text-primary)}.hud-top-left .accent{color:var(--cyan);text-shadow:0 0 10px var(--cyan-dim)}.hud-top-center{position:absolute;left:50%;transform:translate(-50%)}.hud-food-name{font-family:var(--font-display);font-size:.6rem;font-weight:600;letter-spacing:2px;color:var(--cyan);text-shadow:0 0 15px var(--cyan-dim);text-transform:uppercase;white-space:nowrap}.hud-top-right .hud-restaurant{font-family:var(--font-mono);font-size:.5rem;letter-spacing:1px;color:var(--text-dim)}.dimension-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none;opacity:0;transition:opacity .5s ease}.dimension-overlay.visible{opacity:1}.dim-width{position:absolute;bottom:39%;left:52%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}.dim-width .dim-line{display:block;width:220px;height:1px;background:var(--cyan);opacity:.3;position:relative}.dim-width .dim-line:before,.dim-width .dim-line:after{content:"";position:absolute;top:-3px;width:1px;height:7px;background:var(--cyan);opacity:.5}.dim-width .dim-line:before{left:0}.dim-width .dim-line:after{right:0}.dim-height{position:absolute;right:8%;top:44%;transform:translateY(-50%);display:flex;align-items:center;gap:8px}.dim-height .dim-line{display:block;width:1px;height:160px;background:var(--cyan);opacity:.3;position:relative}.dim-height .dim-line:before,.dim-height .dim-line:after{content:"";position:absolute;left:-3px;width:7px;height:1px;background:var(--cyan);opacity:.5}.dim-height .dim-line:before{top:0}.dim-height .dim-line:after{bottom:0}.dim-value{font-family:var(--font-mono);font-size:.55rem;color:var(--cyan);letter-spacing:1px;opacity:.7;text-shadow:0 0 8px var(--cyan-dim);white-space:nowrap}.hud-right-controls{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);z-index:25;display:flex;flex-direction:column;gap:.8rem}.hud-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.7rem;background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:12px;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);width:54px}.hud-btn svg{width:20px;height:20px}.btn-label{font-family:var(--font-mono);font-size:.4rem;letter-spacing:1px;opacity:.7}.hud-btn:active{transform:scale(.92)}.hud-btn:hover,.hud-btn.active{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 20px #00e5ff1f,inset 0 0 15px #00e5ff0d}.reset-btn:hover,.reset-btn:active{border-color:var(--orange);color:var(--orange);box-shadow:0 0 20px #ff6b2b1f}.bottom-sheet{position:absolute;left:0;right:0;bottom:0;z-index:20;height:230px;max-height:85vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#080a16eb,#060812f5);border-top:1px solid rgba(0,229,255,.12);border-radius:20px 20px 0 0;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);box-shadow:0 -8px 40px #00000080,0 -1px #00e5ff0f,inset 0 1px #ffffff0a;transition:height .4s cubic-bezier(.16,1,.3,1);will-change:height;touch-action:none;animation:sheetReveal .6s cubic-bezier(.16,1,.3,1) .4s both}@keyframes sheetReveal{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.bottom-sheet.collapsed{height:0!important;overflow:hidden;border-color:transparent;opacity:0;pointer-events:none}.bottom-sheet.half{height:40vh}.bottom-sheet.expanded{height:85vh}.sheet-handle{display:flex;align-items:center;justify-content:center;padding:10px 0 6px;cursor:grab;flex-shrink:0;-webkit-user-select:none;user-select:none}.sheet-handle:active{cursor:grabbing}.sheet-handle-bar{width:36px;height:4px;border-radius:100px;background:#00e5ff40;transition:background .3s ease,width .3s ease}.bottom-sheet.expanded .sheet-handle-bar,.sheet-handle:hover .sheet-handle-bar{background:#00e5ff80;width:44px}.sheet-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 .8rem 1rem;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--cyan-dim) transparent}.sheet-content::-webkit-scrollbar{width:3px}.sheet-content::-webkit-scrollbar-track{background:transparent}.sheet-content::-webkit-scrollbar-thumb{background:var(--cyan-dim);border-radius:3px}.sheet-columns{display:flex;gap:0;align-items:stretch;min-height:100%}.sheet-section{flex:1;min-width:0;padding:.3rem .6rem}.sheet-divider-v{width:1px;flex-shrink:0;background:linear-gradient(180deg,transparent,rgba(0,229,255,.15) 20%,rgba(0,229,255,.15) 80%,transparent)}.card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;padding-bottom:.5rem;border-bottom:1px solid rgba(0,229,255,.06)}.card-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--cyan);opacity:.7}.card-icon svg{width:16px;height:16px}.card-title{font-family:var(--font-display);font-size:.55rem;font-weight:600;letter-spacing:2.5px;color:var(--cyan);white-space:nowrap;text-shadow:0 0 10px var(--cyan-dim)}.card-header-line{flex:1;height:1px;background:linear-gradient(90deg,var(--cyan-dim),transparent)}.ingredients-list{list-style:none;display:flex;flex-direction:column;gap:.15rem;margin-bottom:.5rem}.ingredients-list li{display:flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-size:.72rem;color:var(--text-secondary);padding:.2rem 0;border-bottom:1px solid rgba(0,229,255,.03)}.ingredients-list li:before{content:"◇";font-size:.4rem;color:var(--cyan);opacity:.6}.allergen-row{display:flex;align-items:center;gap:.4rem;padding-top:.4rem;border-top:1px solid rgba(0,229,255,.06);flex-wrap:wrap}.allergen-label{font-family:var(--font-mono);font-size:.5rem;color:var(--orange);letter-spacing:1px;white-space:nowrap}.allergen-values{font-family:var(--font-mono);font-size:.5rem;color:var(--text-dim);letter-spacing:.5px}.nutrition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1rem;margin-bottom:.5rem}.nutrition-item{display:flex;flex-direction:column;gap:.1rem}.nutrition-label{font-family:var(--font-mono);font-size:.45rem;letter-spacing:1.5px;color:var(--text-dim);text-transform:uppercase}.nutrition-value{font-family:var(--font-display);font-size:.85rem;font-weight:700;letter-spacing:.5px}.nutrition-value.calories{color:var(--orange);text-shadow:0 0 10px rgba(255,107,43,.2)}.nutrition-value.protein{color:var(--green);text-shadow:0 0 10px rgba(0,230,118,.2)}.nutrition-value.carbs{color:var(--cyan);text-shadow:0 0 10px var(--cyan-dim)}.nutrition-value.fat{color:var(--red);text-shadow:0 0 10px rgba(255,61,90,.2)}.nutrition-unit{font-family:var(--font-mono);font-size:.5rem;opacity:.5;margin-left:2px}.nutrition-weight{display:flex;align-items:center;justify-content:space-between;padding-top:.4rem;border-top:1px solid rgba(0,229,255,.06)}.weight-label{font-family:var(--font-mono);font-size:.45rem;letter-spacing:1.5px;color:var(--text-dim)}.weight-value{font-family:var(--font-display);font-size:.7rem;font-weight:600;color:var(--text-secondary)}.nutrition-bar{width:100%;height:2px;background:#ffffff0d;border-radius:2px;overflow:hidden;margin-top:.2rem}.nutrition-bar-fill{height:100%;border-radius:2px;transition:width 1s cubic-bezier(.16,1,.3,1);width:0}.nutrition-bar-fill.calories{background:linear-gradient(90deg,var(--orange),#ff9e5a)}.nutrition-bar-fill.protein{background:linear-gradient(90deg,var(--green),#69f0ae)}.nutrition-bar-fill.carbs{background:linear-gradient(90deg,var(--cyan),#80d8ff)}.nutrition-bar-fill.fat{background:linear-gradient(90deg,var(--red),#ff8a9b)}.hud-bottom-center{position:absolute;bottom:200px;left:50%;transform:translate(-50%);z-index:21;max-width:55vw;text-align:center;pointer-events:none;opacity:0;transition:opacity .4s ease}.hud-bottom-center.visible{opacity:1}.food-description{font-family:var(--font-mono);font-size:.55rem;letter-spacing:1px;color:var(--text-dim);line-height:1.5}.gesture-hint{position:absolute;bottom:45%;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:.6rem;padding:.7rem 1.2rem;background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:100px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:hintFadeIn .5s ease;transition:opacity .5s ease,transform .5s ease;white-space:nowrap}.gesture-hint.hidden{opacity:0;transform:translate(-50%) translateY(10px);pointer-events:none}.gesture-hint .gesture-icon svg{width:18px;height:18px;color:var(--cyan)}.gesture-hint span{font-family:var(--font-mono);font-size:.55rem;letter-spacing:1.5px;color:var(--text-secondary)}@keyframes hintFadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:480px){.bottom-sheet{height:160px}.bottom-sheet.half{height:38vh}.sheet-content{padding:0 1rem 1rem}.hud-right-controls{gap:.5rem;right:.4rem}.hud-btn{padding:.5rem;width:42px;border-radius:10px}.hud-btn svg{width:16px;height:16px}.btn-label{font-size:.35rem}.nutrition-grid{gap:.3rem .5rem}.nutrition-value{font-size:.7rem}.nutrition-label{font-size:.4rem}.ingredients-list li{font-size:.65rem;padding:.15rem 0}.card-title{font-size:.45rem;letter-spacing:1.5px}.card-header{margin-bottom:.4rem;padding-bottom:.35rem}.allergen-label,.allergen-values{font-size:.42rem}.weight-label{font-size:.4rem}.weight-value{font-size:.6rem}.hud-food-name{font-size:.5rem;max-width:140px;overflow:hidden;text-overflow:ellipsis}.ar-launch-btn{padding:.65rem .9rem;gap:.5rem}.ar-launch-title{font-size:.5rem}.ar-launch-sub{font-size:.4rem}.ar-launch-icon{width:28px;height:28px}.ar-launch-icon svg{width:14px;height:14px}}@media(max-width:380px){.sheet-content{padding:0 .8rem .8rem}.nutrition-value,.ingredients-list li{font-size:.65rem}}@media(max-height:500px)and (orientation:landscape){.bottom-sheet{height:120px}.bottom-sheet.half{height:45vh}.bottom-sheet.expanded{height:80vh}}@keyframes panelSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes hudFadeIn{0%{opacity:0}to{opacity:1}}.hud-top-bar{animation:hudFadeIn .5s ease .2s both}.hud-right-controls{animation:panelSlideIn .5s cubic-bezier(.16,1,.3,1) .4s both}.hud-corner{animation:hudFadeIn .5s ease .6s both}.energy-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:200px;height:200px;border-radius:50%;pointer-events:none;z-index:4;opacity:.15}.energy-ring:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid var(--cyan);animation:ringRotate 12s linear infinite;border-top-color:transparent;border-left-color:transparent}.energy-ring:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:50%;border:1px dashed rgba(0,229,255,.2);animation:ringRotate 20s linear infinite reverse}@keyframes ringRotate{to{transform:rotate(360deg)}}.scan-sweep{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,transparent 0%,transparent 45%,rgba(0,229,255,.04) 50%,transparent 55%,transparent 100%);animation:scanSweep 5s ease-in-out infinite}@keyframes scanSweep{0%,to{transform:translateY(-60%)}50%{transform:translateY(60%)}}.reset-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;background:radial-gradient(circle at center,rgba(255,107,43,.08),transparent 60%);opacity:0;animation:resetFlash .4s ease-out}@keyframes resetFlash{0%{opacity:1}to{opacity:0}}.exit-ar-btn{display:none!important}.exit-ar-btn.visible{display:flex!important}.exit-ar-btn:hover,.exit-ar-btn:active{border-color:var(--red);color:var(--red);box-shadow:0 0 20px #ff3d5a26}.ar-mode-badge{position:absolute;top:3.2rem;left:50%;transform:translate(-50%);z-index:25;display:none;align-items:center;gap:.4rem;padding:.3rem .8rem;background:#00e6761a;border:1px solid rgba(0,230,118,.3);border-radius:100px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.ar-mode-badge.visible{display:flex}.ar-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:arDotPulse 1.5s ease-in-out infinite}@keyframes arDotPulse{0%,to{opacity:1}50%{opacity:.4}}.ar-badge-text{font-family:var(--font-mono);font-size:.5rem;letter-spacing:2px;color:var(--green);font-weight:600}.ar-launch-btn.hidden{display:none!important}.ar-launch-btn.no-ar{opacity:.5;pointer-events:none;border-color:var(--glass-border);animation:none;box-shadow:none}body.ar-active .viewer-container{background:transparent!important}body.ar-active model-viewer{background:transparent!important}body.ar-active .hud-scanlines,body.ar-active .energy-ring,body.ar-active .scan-sweep{display:none}body.ar-active .bottom-sheet{background:#0009;border-color:#00e5ff33;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}body.ar-active .hud-top-bar{background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,transparent 100%)}body.ar-active .hud-btn{background:#00000080;border-color:#00e5ff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}body.ar-active .dimension-overlay{display:none}body.ar-active .hud-bottom-center{background:#0006;padding:.4rem .8rem;border-radius:8px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}body.ar-active .hud-corner:before,body.ar-active .hud-corner:after{opacity:.6}body.ar-active .gesture-hint{background:#00000080;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
