body{margin:0;background-color:#101010}html,body,#root{height:100%}.app-container{position:relative;width:100%;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.app-container:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(0deg,transparent 0%,rgba(255,255,255,.08) 1%,rgba(255,255,255,.08) 2%,transparent 2%,transparent 100%),linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 1%,rgba(255,255,255,.08) 2%,transparent 2%,transparent 100%);background-size:60px 60px;mask-image:linear-gradient(to top,transparent 0%,black 30%),linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%);-webkit-mask-image:linear-gradient(to top,transparent 0%,black 30%),linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%);-webkit-mask-composite:destination-in;mask-composite:intersect;pointer-events:none;z-index:1;transform:perspective(800px) rotateX(60deg);transform-origin:center bottom;opacity:.8}.viewport-card{position:relative;width:100vw;height:100vh;background:linear-gradient(135deg,#2d2d2d 0%,#1a1a1a 100%);border-radius:0;box-shadow:0 20px 60px #00000080;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2}.card-viewport{width:100%;height:100%;position:relative;overflow:hidden}.card-viewport>canvas{width:100%!important;height:100%!important}.card-viewport>div:focus,.card-viewport>div>canvas:focus{outline:none!important;border:none!important;box-shadow:none!important}@media (max-width: 435px){.viewport-card{width:100vw;height:100vh;border-radius:0}}@media (min-width: 436px) and (max-width: 1456px){.viewport-card{width:260px;height:100vh;border-radius:16px}}@media (min-width: 436px) and (max-width: 1456px) and (min-height: 650px){.viewport-card{width:260px;height:93vh;border-radius:16px}}@media (min-width: 436px) and (max-width: 1456px) and (min-height: 800px){.viewport-card{width:260px;height:80vh;border-radius:16px}}@media (min-width: 1457px){.viewport-card{width:380px;height:80vh;border-radius:16px}}@media (min-width: 1457px) and (max-height: 800px){.viewport-card{height:100vh}}.skeleton-container{position:absolute;top:0;left:0;right:0;bottom:0;padding:30px 20px;display:flex;flex-direction:column;align-items:center;gap:25px;background:linear-gradient(135deg,#2d2d2d 0%,#1a1a1a 100%);z-index:10}.skeleton{background:linear-gradient(90deg,rgba(255,255,255,.03) 0%,rgba(255,255,255,.05) 50%,rgba(255,255,255,.03) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:8px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-header{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.skeleton-logo{width:180px;height:60px;border-radius:12px}.skeleton-tagline{width:140px;height:16px;border-radius:4px}.skeleton-social{display:flex;gap:15px;justify-content:center;margin:10px 0}.skeleton-icon{width:45px;height:45px;border-radius:50%}.skeleton-website-btn{width:200px;height:45px;border-radius:25px;margin:10px 0}.skeleton-reviews{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.skeleton-google{width:140px;height:20px;border-radius:4px}.skeleton-rating{width:100px;height:24px;border-radius:4px}.skeleton-payment{width:100%;display:flex;justify-content:center}.skeleton-payment-grid{width:280px;height:80px;border-radius:12px}.skeleton-store-btn{width:180px;height:50px;border-radius:25px;margin-top:auto}@media (max-width: 435px){.skeleton-container{padding:40px 25px;gap:30px}.skeleton-logo{width:200px;height:70px}.skeleton-icon{width:50px;height:50px}.skeleton-website-btn{width:220px;height:50px}.skeleton-payment-grid{width:90%;height:90px}.skeleton-store-btn{width:200px;height:55px}}@media (min-width: 1457px){.skeleton-container{padding:40px 30px;gap:28px}.skeleton-logo{width:220px;height:75px}.skeleton-tagline{width:160px;height:18px}.skeleton-icon{width:50px;height:50px}.skeleton-website-btn{width:240px;height:50px}.skeleton-payment-grid{width:320px;height:90px}.skeleton-store-btn{width:200px;height:55px}}.location-button{position:absolute;bottom:50px;left:20px;display:flex;align-items:center;gap:6px;padding:12px 10px;background:#393940;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;z-index:100;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 15px #0000004d;overflow:hidden;position:relative}.location-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:2px solid transparent;pointer-events:none;transition:border-color .2s ease}.location-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0006}.location-button:hover:before{border-color:#fff}.location-button:active{transform:translateY(0)}.location-button svg{flex-shrink:0;width:18px;height:18px}.location-button span{white-space:nowrap}@keyframes pulse{0%{box-shadow:0 4px 15px #0000004d}50%{box-shadow:0 4px 20px #fff3}to{box-shadow:0 4px 15px #0000004d}}.location-button:not(:hover){animation:pulse 2s infinite}@media (max-width: 435px){.location-button{bottom:45px;left:15px;padding:10px 8px;font-size:11px}.location-button svg{width:16px;height:16px}}@media (min-width: 436px) and (max-width: 1456px){.location-button{bottom:45px;left:15px;padding:10px 8px;font-size:11px}.location-button svg{width:16px;height:16px}}@media (min-width: 1457px){.location-button{bottom:55px;left:25px;padding:14px 12px;font-size:13px}}.location-status{position:fixed;top:20px;right:20px;max-width:300px;padding:8px 12px;background:rgba(30,30,30,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:6px;color:#ffffffd9;font-size:11px;font-weight:400;text-align:left;z-index:1000;animation:slideDown .3s ease-out;box-shadow:0 2px 10px #0000004d;line-height:1.4}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.location-debug{position:fixed;top:20px;right:20px;max-width:180px;padding:6px 20px 6px 10px;background:rgba(30,30,30,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.05);border-radius:4px;color:#fff9;font-size:10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-align:left;z-index:999;animation:slideDown .4s ease-out;box-shadow:0 1px 4px #0003;line-height:1.3;transition:margin-top .3s ease}.location-debug strong{color:#fffc;font-weight:500;font-size:11px}.debug-distance{color:#ffffff80;font-size:9px}.debug-close{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;border:none;background:transparent;color:#fff6;font-size:18px;line-height:14px;cursor:pointer;transition:color .2s;display:flex;align-items:center;justify-content:center;border-radius:2px}.debug-close:hover{color:#fffc;background:rgba(255,255,255,.1)}.debug-close:active{transform:scale(.9)}@media (max-width: 435px){.location-status{top:15px;left:15px;right:15px;max-width:none;font-size:11px;text-align:center}.location-debug{top:15px;left:auto;right:15px;max-width:160px;font-size:9px;padding:5px 18px 5px 8px}}@media (min-width: 436px) and (max-width: 1456px){.location-status{top:20px;right:auto;left:20px;max-width:250px;font-size:11px}.location-debug{top:20px;right:auto;left:20px;max-width:170px;padding:6px 19px 6px 9px}}@media (min-width: 1457px){.location-status{top:25px;right:30px;max-width:320px;font-size:12px;padding:10px 14px}.location-debug{top:25px;right:30px;max-width:190px;font-size:10px;padding:7px 20px 7px 10px}}
