*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--navy: #0f2356;--navy-deep: #081530;--crimson: #c8102e;--gold: #d4a640;--gold-soft: #ecc97a;--text: #f0f2f8;--text-muted: #8a94b0;--glass: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .08);--ease: cubic-bezier(.22, 1, .36, 1);--kiosk-safe-x: clamp(16px, 2.5vmin, 56px);--kiosk-safe-y: clamp(12px, 2vmin, 40px);--font-size-xs: clamp(11px, 1.2vmin, 18px);--font-size-sm: clamp(13px, 1.5vmin, 22px);--font-size-md: clamp(16px, 2vmin, 30px);--font-size-lg: clamp(18px, 2.6vmin, 40px);--font-size-xl: clamp(26px, 3.8vmin, 56px);--header-logo-h: clamp(32px, 3.6vmin, 48px);--header-pad-y: clamp(8px, 1vmin, 14px);--header-pad-x: clamp(16px, 2vmin, 32px)}html,body{height:100%;width:100%;overflow:hidden;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--navy-deep);color:var(--text);cursor:none;-webkit-user-select:none;user-select:none}.kiosk-bg{position:fixed;inset:0;z-index:0;background:var(--kiosk-bg-image) left 56px / cover no-repeat;background-color:var(--navy-deep)}.kiosk-bg:after{content:"";position:absolute;inset:0;background:#060e2473;pointer-events:none}.kiosk{position:relative;z-index:1;display:flex;flex-direction:column;height:100vh;height:100dvh;width:100vw;width:100dvw;overflow:hidden}.kiosk-header{display:flex;justify-content:space-between;align-items:center;padding:var(--header-pad-y) var(--header-pad-x);gap:clamp(12px,2vmin,32px);flex-shrink:0;border-bottom:1px solid var(--glass-border);background:#060e248c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10}.kiosk-brand{display:flex;align-items:center;gap:clamp(10px,1.6vmin,24px)}.kiosk-brand img{height:var(--header-logo-h);width:auto;display:block;filter:drop-shadow(0 4px 12px rgba(0,0,0,.45))}.kiosk-brand-text{display:flex;flex-direction:column;gap:2px}.kiosk-brand-name{font-family:Sora,sans-serif;font-weight:800;font-size:var(--font-size-lg);color:#fff;letter-spacing:-.02em;line-height:1.1}.kiosk-brand-sub{font-family:IBM Plex Mono,monospace;font-size:var(--font-size-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);font-weight:600}.kiosk-datetime{text-align:center;flex:1}.kiosk-time{font-family:IBM Plex Mono,monospace;font-size:var(--font-size-lg);font-weight:600;color:var(--text);letter-spacing:.05em}.kiosk-date{font-family:Sora,sans-serif;font-size:var(--font-size-sm);font-weight:500;color:var(--text-muted);text-align:right;min-width:140px;flex-shrink:0}.kiosk-stage{position:relative;flex:1;overflow:hidden;isolation:isolate}.kiosk-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transform:translate3d(0,8px,0) scale(.98);transition:opacity .8s var(--ease),transform .8s var(--ease);will-change:opacity,transform;z-index:2}.kiosk-slide.active{opacity:1;transform:translateZ(0) scale(1);z-index:3}.kiosk-slide-inner{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;overflow:hidden;padding:var(--kiosk-safe-y) var(--kiosk-safe-x)}.kiosk-slide-inner.credits-active{justify-content:flex-start}.kiosk-body{text-align:left;width:100%;max-width:clamp(800px,86vw,3200px);font-family:Inter,system-ui,sans-serif;font-size:var(--body-font-size, clamp(26px, 3.8vmin, 68px));font-weight:500;line-height:1.35;color:var(--text);text-shadow:0 4px 24px rgba(6,14,36,.65);word-break:break-word;overflow:hidden}.kiosk-body p{margin:0 0 .6em}.kiosk-body p:last-child{margin-bottom:0}.kiosk-body .ql-font-sora{font-family:Sora,sans-serif}.kiosk-body .ql-font-serif{font-family:Georgia,Times New Roman,serif}.kiosk-body .ql-font-monospace{font-family:IBM Plex Mono,monospace}.kiosk-body .ql-align-center{text-align:center}.kiosk-body .ql-align-right{text-align:right}.kiosk-body .ql-align-justify{text-align:justify}.kiosk-body.credits-scroll{overflow:visible}.kiosk-body.credits-scroll .credits-scroll-track{display:inline-block;width:100%;will-change:transform;animation:credits-scroll-up var(--credits-duration, 20s) linear var(--credits-delay, 2s) var(--credits-iterations, 1) forwards}@keyframes credits-scroll-up{0%{transform:translateZ(0)}to{transform:translate3d(0,var(--credits-distance, -100px),0)}}.kiosk-media{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100%;overflow:hidden}.kiosk-media-backdrop{position:absolute;inset:-15%;width:130%;height:130%;object-fit:cover;filter:blur(48px) brightness(.35);transform:translateZ(0) scale(1.1);z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none}.kiosk-media img:not(.kiosk-media-backdrop),.kiosk-media video:not(.kiosk-media-backdrop){position:relative;z-index:1;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:clamp(4px,1vmin,16px);object-fit:contain;box-shadow:0 16px 48px #000000a6}.kiosk-media--fullscreen img:not(.kiosk-media-backdrop),.kiosk-media--fullscreen video:not(.kiosk-media-backdrop){max-width:100%;max-height:100%}.kiosk-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(16px,2.5vmin,36px);text-align:center;padding:var(--kiosk-safe-y) var(--kiosk-safe-x)}.kiosk-empty-icon{width:clamp(72px,10vmin,140px);height:clamp(72px,10vmin,140px);border-radius:50%;background:var(--glass);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;font-size:clamp(32px,4.5vmin,64px);filter:drop-shadow(0 8px 24px rgba(0,0,0,.4))}.kiosk-empty-text{font-family:Sora,sans-serif;font-weight:600;font-size:clamp(20px,2.6vmin,40px);color:var(--text-muted);max-width:clamp(400px,60vw,1200px)}.kiosk-progress{position:absolute;bottom:0;left:0;right:0;height:clamp(3px,.4vmin,6px);background:#ffffff14;z-index:10}.kiosk-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--crimson),var(--gold));border-radius:0 3px 3px 0;transition:width .3s linear}.kiosk-progress-bar.animate{transition:width var(--slide-duration, 20s) linear;width:100%}.kiosk-counter{position:absolute;bottom:calc(var(--kiosk-safe-y) + 4px);right:calc(var(--kiosk-safe-x) + 8px);z-index:10;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-xs);color:var(--text-muted);letter-spacing:.08em;opacity:.75;background:#060e2480;padding:2px 8px;border-radius:4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(orientation:portrait){.kiosk-header{flex-direction:column;justify-content:center;text-align:center;gap:clamp(8px,1.2vmin,18px);padding:var(--kiosk-safe-y) var(--kiosk-safe-x) clamp(10px,1.5vmin,20px)}.kiosk-brand{flex-direction:column;gap:6px}.kiosk-brand-text{align-items:center}.kiosk-datetime{margin:2px 0}.kiosk-date{text-align:center;min-width:auto}.kiosk-body{max-width:92vw}}@media(max-width:480px)and (orientation:portrait){.kiosk-brand-sub{display:none}}
