*{box-sizing:border-box}html,body{color:#f5f1e8;background:#090909;margin:0;font-family:DM Mono,monospace}button{font:inherit}.cinema-shell{background:#090909;min-height:100dvh;position:relative;overflow:hidden}.frame-stage{place-items:center;min-height:100dvh;display:grid;position:relative}.frame{object-fit:cover;filter:saturate(.88);width:100%;height:100%;transition:opacity .26s,filter .26s;animation:.72s cubic-bezier(.22,.61,.36,1) both frame-arrives;position:absolute;inset:0}.is-transitioning .frame{opacity:0;filter:blur(5px)saturate(.5)}.veil{background:linear-gradient(#0000000d 25%,#000000bf 100%);position:absolute;inset:0}.quote{z-index:1;text-shadow:0 2px 24px #000;width:min(730px,100% - 3rem);transition:opacity .22s,transform .22s;animation:.55s cubic-bezier(.22,.61,.36,1) .28s both quote-arrives;position:absolute;bottom:20vh;left:max(6vw,1.5rem)}.is-transitioning .quote{opacity:0;transform:translateY(12px)}.original{letter-spacing:-.035em;margin:0;font:400 clamp(2rem,4.8vw,4.6rem)/1.06 Playfair Display,serif}.translation{opacity:.78;margin:1.25rem 0 0;font:400 clamp(.85rem,1.2vw,1rem)/1.55 DM Mono,monospace}.movie{text-transform:uppercase;letter-spacing:.14em;margin:1.4rem 0 0;font-size:.73rem}.movie span{opacity:.5;margin:0 .25rem}.date-mark{z-index:1;letter-spacing:.18em;flex-direction:column;align-items:center;gap:.15rem;font-size:.7rem;display:flex;position:absolute;bottom:17vh;right:5vw}.date-mark strong{letter-spacing:-.07em;font:400 clamp(2.8rem,5vw,5rem)/.9 Playfair Display,serif}.timeline{z-index:2;bottom:max(2rem,env(safe-area-inset-bottom));scrollbar-width:none;padding:0 6vw;position:absolute;left:0;right:0;overflow-x:auto}.timeline-track{border-top:1px solid #f5f1e859;justify-content:center;width:100%;min-width:max-content;display:flex;position:relative}.timeline-progress{transform-origin:0;background:#f5f1e8;width:100%;height:2px;transition:transform .7s cubic-bezier(.22,.61,.36,1);position:absolute;top:-2px;left:0}.timeline-day{color:#f5f1e8;opacity:.56;cursor:pointer;background:0 0;border:0;padding:1rem clamp(.6rem,1.5vw,1.25rem);position:relative}.timeline-day:hover,.timeline-day:focus-visible{opacity:1;outline:none}.timeline-day.selected{opacity:1}.timeline-day.selected:before{content:"";background:#f5f1e8;border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:calc(50% - 3px)}.timeline-day:disabled{cursor:not-allowed}.timeline-day i{opacity:.5;margin-top:.4rem;font-size:.35rem;display:block}.fallback{background:radial-gradient(circle at 60% 35%,#272421,#090909 65%)}.fallback p{z-index:1;text-align:center;max-width:650px;padding:2rem;font:400 clamp(2rem,5vw,4.5rem)/1.05 Playfair Display,serif;position:relative}.empty-state{text-align:center;place-content:center;gap:1rem;min-height:100dvh;display:grid}.empty-state a{color:#f5f1e8}.studio{max-width:900px;margin:0 auto;padding:8rem 2rem}.studio header{max-width:550px;margin-bottom:3rem}.studio header p{letter-spacing:.16em;font-size:.7rem}.studio h1{margin:.6rem 0 1.5rem;font:400 clamp(3rem,8vw,6rem)/.9 Playfair Display,serif}.studio header span{color:#aaa;line-height:1.6}.studio form{gap:1.5rem;display:grid}.studio section{border-top:1px solid #444;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.2rem 0;display:grid}.studio label{letter-spacing:.08em;text-transform:uppercase;gap:.5rem;font-size:.7rem;display:grid}.studio input,.studio textarea,.studio select{color:#f5f1e8;text-transform:none;letter-spacing:normal;background:#151515;border:1px solid #555;border-radius:0;width:100%;padding:.75rem;font:400 .9rem/1.4 DM Mono,monospace}.studio textarea{resize:vertical;min-height:110px}.studio .wide{grid-column:1/-1}.studio button{color:#090909;cursor:pointer;background:#f5f1e8;border:1px solid #f5f1e8;width:max-content;padding:.85rem 1.1rem}.studio output{color:#b8d7b2;min-height:1.5rem}@keyframes frame-arrives{0%{opacity:0;filter:blur(7px)saturate(.58);transform:scale(1.015)}to{opacity:1;filter:saturate(.88);transform:scale(1)}}@keyframes quote-arrives{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.quote{width:calc(100% - 2.4rem);bottom:27vh;left:1.2rem}.date-mark{bottom:17vh;right:1.2rem}.timeline{padding:0 1rem}.timeline-track{justify-content:flex-start}.studio{padding:4rem 1.2rem}.studio section{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.frame{transition-duration:.7s;animation-duration:1.3s}.quote{transition-duration:.55s;animation-duration:.8s;animation-delay:.7s}.timeline-progress{transition-duration:1.1s}
