.kiosk-mode{width:100vw;height:100vh;overflow:hidden;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;transform:translateZ(0);will-change:transform}.kiosk-touch-optimized{--touch-target-min: var(--kiosk-touch-target-min, 44px);--touch-spacing: var(--kiosk-touch-spacing, 8px);-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.kiosk-touch-optimized button,.kiosk-touch-optimized .touch-target{min-width:var(--touch-target-min);min-height:var(--touch-target-min);margin:var(--touch-spacing);position:relative;z-index:1}.kiosk-fullscreen{margin:0;padding:0;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.kiosk-fullscreen::-webkit-scrollbar{display:none}@-moz-document url-prefix(){.kiosk-mode{-moz-transform:translateZ(0);-moz-osx-font-smoothing:grayscale;text-rendering:optimizeSpeed}.kiosk-touch-optimized{-moz-user-select:none;-moz-touch-action:manipulation}}@media (min-resolution: 192dpi){.kiosk-mode{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (min-width: 2560px){.kiosk-mode{--kiosk-font-scale: 1.5;--kiosk-spacing-scale: 1.5;--kiosk-touch-target-min: 66px}}@media (max-width: 1024px){.kiosk-mode{--kiosk-font-scale: .9;--kiosk-spacing-scale: .8;--kiosk-touch-target-min: 44px}}.kiosk-mode *{backface-visibility:hidden;perspective:1000px}.kiosk-mode .animate{will-change:transform,opacity;transform:translateZ(0)}.kiosk-mode *::selection{background:transparent}.kiosk-mode *::-moz-selection{background:transparent}.kiosk-loading{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;z-index:10000}.kiosk-loading-content{text-align:center;color:#fff}.kiosk-loading-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:kiosk-spin 1s linear infinite;margin:0 auto 20px}@keyframes kiosk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.kiosk-error{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#ff6b6b,#ee5a24);display:flex;align-items:center;justify-content:center;z-index:10000;color:#fff;text-align:center;padding:20px;box-sizing:border-box}.kiosk-error-content h1{font-size:3rem;margin-bottom:1rem}.kiosk-error-content p{font-size:1.2rem;margin-bottom:2rem;max-width:600px}.kiosk-error-button{background:#fff3;border:2px solid white;color:#fff;padding:12px 24px;font-size:1.1rem;border-radius:8px;cursor:pointer;transition:all .3s ease;min-width:var(--touch-target-min, 44px);min-height:var(--touch-target-min, 44px)}.kiosk-error-button:hover{background:#ffffff4d;transform:translateY(-2px)}@media (orientation: landscape){.kiosk-mode{--kiosk-layout: landscape}}@media (orientation: portrait){.kiosk-mode{--kiosk-layout: portrait}}.kiosk-mode:focus-visible{outline:3px solid #4A90E2;outline-offset:2px}.kiosk-mode button:focus-visible,.kiosk-mode .touch-target:focus-visible{outline:3px solid #4A90E2;outline-offset:2px}@media (prefers-reduced-motion: reduce){.kiosk-mode *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
