:root{--cosmic-night: #0b0f2e;--cosmic-ink: #1429ff;--cosmic-ink2: #2a3cff;--cosmic-mist: #e9ecff;--transition-slide: .25s ease;--bar-height: 56px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background:var(--cosmic-night);overflow:hidden;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}#stage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--cosmic-night)}#slide-wrap{position:relative;width:min(100vw,calc(100vh * 16 / 9));aspect-ratio:16 / 9;overflow:hidden;background:#000}#slide-canvas{display:block;width:100%;height:100%;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#annotation-layer{position:absolute;inset:0;overflow:hidden}#annotation-layer .linkAnnotation>a{position:absolute;cursor:pointer}#annotation-layer .linkAnnotation>a:hover{background:#1429ff14;border-radius:2px}.slide-entering{animation:slide-fade-in var(--transition-slide) forwards}.slide-exiting{animation:slide-fade-out var(--transition-slide) forwards}@keyframes slide-fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-fade-out{0%{opacity:1}to{opacity:0}}#loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--cosmic-night);z-index:20;transition:opacity .3s ease}#loading-overlay.hidden{opacity:0;pointer-events:none}.spinner{width:48px;height:48px;border:3px solid rgba(20,41,255,.2);border-top-color:var(--cosmic-ink);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#control-bar{position:fixed;bottom:0;left:0;right:0;height:var(--bar-height);display:flex;align-items:center;justify-content:center;gap:12px;padding:0 24px;background:linear-gradient(to top,#0b0f2ef2,#0b0f2e00);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:30;transition:opacity .4s ease}#control-bar.bar-hidden{opacity:0;pointer-events:none}.ctrl-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:#e9ecff14;color:var(--cosmic-mist);cursor:pointer;transition:background .15s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.ctrl-btn:hover{background:#1429ff40}.ctrl-btn:active{transform:scale(.92)}.ctrl-btn:focus-visible{outline:2px solid var(--cosmic-ink);outline-offset:3px}#slide-wrap:focus-visible{outline:2px solid var(--cosmic-ink);outline-offset:4px}#slide-counter{font-size:13px;font-weight:500;color:var(--cosmic-mist);opacity:.7;min-width:60px;text-align:center;letter-spacing:.05em;-webkit-user-select:none;-moz-user-select:none;user-select:none}#progress-bar-wrap{position:fixed;bottom:var(--bar-height);left:0;right:0;height:2px;background:#e9ecff1a;z-index:31;transition:opacity .4s ease}#progress-bar-wrap.bar-hidden{opacity:0}#progress-bar{height:100%;background:var(--cosmic-ink);transition:width .25s ease}body.is-pseudo-fullscreen #control-bar,body.is-pseudo-fullscreen #progress-bar-wrap{display:none}body.is-pseudo-fullscreen #stage{position:fixed;inset:0;z-index:9999}#help-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#0b0f2ee6;border:1px solid rgba(20,41,255,.3);border-radius:10px;color:var(--cosmic-mist);font-size:12px;padding:10px 16px;z-index:50;pointer-events:none;transition:opacity .3s ease;white-space:nowrap;backdrop-filter:blur(8px)}#help-toast.toast-hidden{opacity:0}#error-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cosmic-night);color:var(--cosmic-mist);gap:12px;z-index:40}#error-overlay.hidden{display:none}#error-overlay p{font-size:14px;opacity:.6;margin:0}#error-overlay h2{font-size:18px;font-weight:600;margin:0}
