:root{--ink: #010204;--mist: rgba(222, 240, 250, .86);--mist-dim: rgba(222, 240, 250, .52);--glass: rgba(170, 210, 235, .07);--glass-hover: rgba(190, 225, 245, .14);--glass-edge: rgba(210, 236, 255, .16);--focus: #bfeaff;--ease: cubic-bezier(.22, .61, .36, 1);--font-sans: "Inter", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--font-serif: "Cormorant Garamond", "Iowan Old Style", Georgia, "Times New Roman", serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--mist);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}.film-root{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--ink);isolation:isolate;touch-action:manipulation}.film-canvas,.film-reveal{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.film-canvas{z-index:0;outline:none}.film-reveal{z-index:1;pointer-events:none}.film-loader{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-content:center;justify-items:center;gap:14px;background:var(--ink);transition:opacity 1.2s var(--ease),visibility 0s linear 1.2s}.film-loader__text{margin:0;font-size:11px;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:var(--mist-dim);padding-left:.32em;animation:film-breathe 3.2s ease-in-out infinite}.film-loader__track{width:96px;height:1px;background:#d2ecff1f;overflow:hidden}.film-loader__bar{display:block;width:100%;height:100%;background:#d2ecffb3;transform:scaleX(0);transform-origin:left center;transition:transform .5s var(--ease)}.is-ready .film-loader,.is-error .film-loader{opacity:0;visibility:hidden;pointer-events:none}@keyframes film-breathe{0%,to{opacity:.55}50%{opacity:1}}.film-credit{position:absolute;z-index:2;bottom:calc(env(safe-area-inset-bottom,0px) + 37px);left:calc(env(safe-area-inset-left,0px) + 24px);margin:0;font-size:11px;line-height:1.6;letter-spacing:.06em;white-space:nowrap;color:var(--mist-dim);text-shadow:0 1px 6px rgba(1,2,4,.55);opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity 2.4s var(--ease) 1.6s}.is-ready .film-credit{opacity:.8}.is-ready.is-idle .film-credit{opacity:.45;transition-delay:0s}.is-error .film-credit{opacity:0}@media (max-width: 720px){.film-credit{bottom:calc(env(safe-area-inset-bottom,0px) + 86px)}}.film-controls{position:absolute;z-index:4;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--glass-edge);border-radius:999px;background:var(--glass);-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);box-shadow:0 10px 30px #00000047,inset 0 1px #ffffff0d;transform:translate(-50%,12px);opacity:0;visibility:hidden;transition:opacity 1.4s var(--ease),transform 1.4s var(--ease),visibility 0s linear 1.4s}.is-ready .film-controls{opacity:1;visibility:visible;transform:translate(-50%);transition:opacity 1.6s var(--ease) 2.2s,transform 1.6s var(--ease) 2.2s,visibility 0s}.is-ready.is-idle .film-controls{opacity:.28;transition:opacity 2.4s var(--ease),transform 1.6s var(--ease),visibility 0s}.is-error .film-controls{display:none}.film-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;height:44px;margin:0;padding:0 11px;border:0;border-radius:999px;background:transparent;color:var(--mist);font:inherit;font-size:12px;letter-spacing:.04em;white-space:nowrap;cursor:pointer;transition:background-color .3s var(--ease),color .3s var(--ease)}.film-button:hover{background:var(--glass-hover);color:#fff}.film-button:active{background:#c8e8fa33}.film-button:focus{outline:none}.film-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 5px #010204b3}.film-button__icon{display:inline-flex;width:20px;height:20px;flex:none}.film-button__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.film-button__icon svg .is-filled{fill:currentColor}.film-button__label:empty{display:none}.film-button--sound.has-label{padding-right:16px}.film-error{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;place-items:center;padding:calc(env(safe-area-inset-top,0px) + 32px) calc(env(safe-area-inset-right,0px) + 28px) calc(env(safe-area-inset-bottom,0px) + 32px) calc(env(safe-area-inset-left,0px) + 28px);background:radial-gradient(120% 90% at 50% 110%,#06263a 0%,#03111c 45%,var(--ink) 100%);text-align:center;overflow-y:auto;scrollbar-width:none}.film-error[hidden]{display:none}.film-error__inner{max-width:34rem;animation:film-rise 1.6s var(--ease) both}.film-error__title{margin:0 0 18px;font-family:var(--font-serif);font-size:clamp(26px,4.4vw,38px);font-weight:400;letter-spacing:.01em;color:#eef8fd}.film-error__message{margin:0 0 10px;font-size:15px;line-height:1.6;color:var(--mist);overflow-wrap:anywhere}.film-error__hint{margin:0 0 40px;font-size:13px;line-height:1.6;color:var(--mist-dim)}.film-error__dedication{margin:0;font-family:var(--font-serif);font-size:clamp(20px,3.2vw,26px);font-style:italic;color:#e3f3fb}.film-error__dedication span{display:block;margin-bottom:8px;font-family:var(--font-sans);font-size:10px;font-style:normal;letter-spacing:.32em;text-transform:uppercase;color:var(--mist-dim)}@keyframes film-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.film-sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}@media (max-width: 480px){.film-controls{bottom:calc(env(safe-area-inset-bottom,0px) + 14px)}.film-button--sound.has-label{padding-right:13px}.film-button{font-size:11px}.film-credit{bottom:calc(env(safe-area-inset-bottom,0px) + 78px);left:calc(env(safe-area-inset-left,0px) + 18px)}}@media (max-width: 340px){.film-button__label{display:none}}@media (prefers-reduced-motion: reduce){.film-loader__text,.film-error__inner{animation:none}.film-controls,.is-ready .film-controls{transform:translate(-50%)}}.is-reduced-motion .film-loader__text,.is-reduced-motion .film-error__inner{animation:none}.is-reduced-motion .film-controls,.is-reduced-motion.is-ready .film-controls{transform:translate(-50%)}
