:root{--prune:#180f20;--bordeaux:#51243c;--rose:#e7b8cf;--rose-clair:#f5dde7;--creme:#fff7f1;--dore:#e8c98a;--mauve:#d6bed1;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Nunito Sans", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--prune);min-height:100dvh;color:var(--creme);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.6}.stars{pointer-events:none;background:radial-gradient(90% 55% at 50% 0,#ec489933,#d946ef12 55%,#0000 80%),#06060f;position:fixed;inset:0;overflow:hidden}.stars span{color:#f472b633;line-height:1;animation:linear infinite heart-rise;position:absolute;bottom:-40px}@keyframes heart-rise{0%{opacity:0;transform:translateY(0)scale(.9)}15%{opacity:1}to{opacity:0;transform:translateY(-110vh)scale(1.15)}}@media (prefers-reduced-motion:reduce){.stars span{display:none}}.screen{min-height:100dvh;padding:max(2rem, env(safe-area-inset-top)) 1.25rem max(2rem, env(safe-area-inset-bottom));place-items:center;animation:1.2s both fade-in;display:grid;position:relative}.center{text-align:center;max-width:32rem}h1{font-family:var(--serif);color:var(--rose-clair);margin:.2em 0;font-size:clamp(2.4rem,9vw,4rem);font-weight:400;line-height:1.1}.glow{text-shadow:0 0 30px #e8c98a59}.kicker{letter-spacing:.25em;text-transform:uppercase;color:var(--dore);margin:0;font-size:.8rem}.tagline{font-family:var(--serif);color:var(--mauve);margin:.5rem 0 2.5rem;font-size:1.3rem;font-style:italic}button{font:inherit;letter-spacing:.03em;color:var(--rose-clair);cursor:pointer;background:linear-gradient(135deg,#f5dde729,#e7b8cf14);border:1px solid #e7b8cf66;border-radius:999px;min-height:44px;padding:.6rem 1.4rem;font-weight:500;transition:transform .2s,background .2s,border-color .2s;box-shadow:0 2px 12px #0000001f}button:hover{background:linear-gradient(135deg,#f5dde73d,#e7b8cf1f);border-color:#e7b8cfa6;transform:translateY(-1px)}button:focus-visible{outline:2px solid var(--dore);outline-offset:3px}button.ghost{color:var(--mauve);box-shadow:none;background:0 0;border:1px solid #d6bed138}button.ghost:hover{background:#d6bed10f;border-color:#d6bed166}button.icon,button.day,button.thumb,.couple-home,.daily-paper,.envelope-3d,.piece{border:0}button:disabled{opacity:.6;cursor:wait;transform:none}.card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff7f10a;border:1px solid #e8c98a24;border-radius:1.25rem;width:100%;padding:clamp(1.25rem,5vw,2.25rem)}.form{gap:1.1rem;max-width:30rem;display:grid}.form h2{font-family:var(--serif);color:var(--rose-clair);margin:.5rem 0 0;font-size:1.6rem;font-weight:400}h1.small{margin-bottom:.5rem;font-size:2.2rem}label{color:var(--mauve);gap:.35rem;font-size:.9rem;display:grid}input,textarea,select{font:inherit;color:var(--creme);background:#180f2099;border:1px solid #d6bed14d;border-radius:.75rem;padding:.75rem .9rem;font-size:1rem}textarea{resize:vertical;line-height:1.6}select option{background:var(--prune)}fieldset.birthday-day{border:0;grid-template-columns:5.5rem 1fr;gap:.5rem;margin:0;padding:0;display:grid}fieldset.birthday-day legend{color:var(--mauve);margin-bottom:.35rem;padding:0;font-size:.9rem}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--dore);outline-offset:1px}.error{color:var(--rose);margin:0}.status{left:50%;bottom:max(1.25rem, env(safe-area-inset-bottom));background:var(--bordeaux);color:var(--creme);border-radius:999px;margin:0;padding:.6rem 1.2rem;position:fixed;transform:translate(-50%)}.stack{gap:1.5rem;width:100%;max-width:30rem;padding-bottom:4rem;display:grid}.back{justify-self:start}.menu{justify-items:center;gap:.8rem;display:grid}.menu button{width:min(100%,16rem)}.feature-grid{grid-template-columns:1fr 1fr;gap:.7rem;max-width:24rem;margin:0 auto;display:grid}.feature-grid button{min-height:3.5rem;line-height:1.25;font-family:var(--serif);letter-spacing:0;color:var(--rose-clair);-webkit-backdrop-filter:blur(6px);background:linear-gradient(160deg,#fff7f114,#d6bed108);border:1px solid #e8c98a38;border-radius:1rem;padding:.65rem .6rem;font-size:1.1rem;font-weight:500;box-shadow:inset 0 1px #fff7f10f}.feature-grid button:hover{background:linear-gradient(160deg,#fff7f11f,#e7b8cf0f);border-color:#e8c98a73}.feature-grid button:last-child:nth-child(odd){grid-column:span 2}.menu.secondary{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.5rem;display:flex}.menu.secondary button{white-space:nowrap;width:auto;padding:.5rem .9rem;font-size:.9rem}.screen.top{align-items:start}.stack.wide{max-width:40rem}.stack h2,.calendar h2{font-family:var(--serif);color:var(--rose-clair);margin:0;font-size:1.5rem;font-weight:400}.row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.row button{padding:.5rem 1.1rem}button.danger{color:var(--rose);border-color:#e7b8cf80}label.button,a.button{min-height:44px;color:var(--rose-clair);cursor:pointer;background:linear-gradient(135deg,#f5dde729,#e7b8cf14);border:1px solid #e7b8cf66;border-radius:999px;align-items:center;padding:.6rem 1.2rem;font-size:1rem;font-weight:500;display:inline-flex}label.button:has(input:disabled){opacity:.6;cursor:wait}a.button{text-decoration:none}label.button:focus-within{outline:2px solid var(--dore);outline-offset:4px}.gallery{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:4px;display:grid}button.thumb{aspect-ratio:1;min-height:0;box-shadow:none;color:var(--mauve);background:#fff7f10f;border-radius:6px;padding:0;font-size:1.5rem;position:relative;overflow:hidden}button.thumb:hover{filter:brightness(1.1);transform:none}.thumb img,.v-picks img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;display:block}.thumb .badge{color:var(--creme);text-shadow:0 0 4px #000c;font-size:.8rem;position:absolute;bottom:4px;right:6px}.lightbox{z-index:10;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));background:#180f20f0;place-items:center;animation:.3s both fade-in;display:grid;position:fixed;inset:0}.lightbox-content{gap:1rem;max-width:100%;display:grid}.lightbox img,.lightbox video{border-radius:.75rem;justify-self:center;max-width:100%;max-height:80dvh}.hint{color:var(--mauve);margin:0;font-size:.85rem}.ok{color:var(--dore);font-size:.9rem}.error{font-size:.9rem}.screen.dragging{outline:2px dashed var(--dore);outline-offset:-12px}progress{appearance:none;background:#fff7f11a;border:0;border-radius:999px;width:100%;height:6px;overflow:hidden}progress::-webkit-progress-bar{background:#fff7f11a}progress::-webkit-progress-value{background:linear-gradient(90deg, var(--rose), var(--dore))}progress::-moz-progress-bar{background:linear-gradient(90deg, var(--rose), var(--dore))}.import-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.import-item{background:#fff7f10d;border:1px solid #0000;border-radius:.9rem;grid-template-columns:56px 1fr auto;align-items:center;gap:.8rem;padding:.5rem;display:grid}.import-item.error{border-color:#e7b8cf80}.import-item.done{opacity:.7}.import-preview{object-fit:cover;width:56px;height:56px;color:var(--mauve);background:#fff7f10f;border-radius:.5rem;place-items:center;display:grid}.import-info{gap:.2rem;min-width:0;display:grid}.import-info .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sky{background:radial-gradient(at 50% 30%,#51243c73,#0000 70%);border-radius:1.5rem;width:100%;max-height:70dvh}.sky-line{fill:none;stroke:var(--dore);stroke-width:.25px;opacity:.45;stroke-dasharray:1;stroke-dashoffset:1px;animation:4s ease-in-out .3s forwards draw}.sky-star{cursor:pointer;outline:none;animation:4s ease-in-out infinite twinkle-star}.sky-star .glow{fill:var(--dore);opacity:.18}.sky-star .core{fill:var(--creme)}.sky-star.picked .core,.sky-star:focus-visible .core{fill:var(--dore)}.sky-star.picked .glow,.sky-star:focus-visible .glow{opacity:.45}@keyframes twinkle-star{50%{opacity:.55}}.memory-pick{gap:.3rem;display:grid}.memory-pick time{color:var(--dore);font-size:.8rem}.memory-pick strong{font-family:var(--serif);color:var(--rose-clair);font-size:1.4rem;font-weight:500}.memory-pick p{white-space:pre-line;margin:0}.memory-pick button{justify-self:start;margin-top:.5rem}.surprise-card{text-align:center;place-items:center;min-height:9rem;animation:.7s cubic-bezier(.2,.8,.2,1) both flip-in;display:grid}.surprise-text{font-family:var(--serif);color:var(--rose-clair);margin:0;font-size:1.6rem;line-height:1.3}@keyframes flip-in{0%{opacity:0;transform:perspective(600px)rotateX(70deg)scale(.95)}}.idea-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.idea-list li{background:#fff7f10a;border:1px solid #e8c98a1a;border-radius:.8rem;grid-template-columns:1fr auto auto;align-items:center;gap:.6rem;padding:.6rem .9rem;display:grid}.idea-list small{color:var(--mauve)}.quiz-mine{justify-items:start;gap:.3rem;display:grid}.quiz-mine strong{font-family:var(--serif);color:var(--rose-clair);font-size:1.25rem;font-weight:500}.quiz-mine small{color:var(--mauve)}fieldset.choices{border:0;gap:.5rem;margin:0;padding:0;display:grid}fieldset.choices legend{color:var(--mauve);margin-bottom:.4rem;font-size:.9rem}input[type=radio]{accent-color:var(--dore);flex:none;width:1.3rem;height:1.3rem;padding:0}.section-header{justify-items:start;gap:.2rem;display:grid}.section-header h1{margin-top:.8rem}.section-header .subtitle{font-family:var(--serif);color:var(--mauve);margin:0;font-size:1.15rem;font-style:italic}::view-transition-old(root){animation:.45s both section-out}::view-transition-new(root){animation:.6s cubic-bezier(.2,.7,.2,1) both section-in}@keyframes section-out{to{opacity:0;filter:blur(6px);transform:scale(.985)}}@keyframes section-in{0%{opacity:0;filter:blur(6px);transform:translateY(14px)}}.stars{view-transition-name:ciel}::view-transition-group(ciel){animation:none}.cupid-game{background:radial-gradient(at 50% 0,#51243c80,#0000 70%),#180f2066;border:1px solid #e8c98a26;border-radius:1.5rem;height:min(68dvh,560px);position:relative;overflow:hidden}.cupid-game canvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;width:100%;height:100%;display:block}.cupid-score{color:var(--dore);font-family:var(--serif);font-size:1.3rem;position:absolute;top:.8rem;right:1rem}.fortune{background:linear-gradient(180deg, var(--creme), #f6e9df);width:max-content;max-width:85%;color:var(--bordeaux);font-family:var(--serif);text-align:center;pointer-events:none;border-radius:.25rem;padding:.7rem 1.1rem;font-size:1.25rem;font-style:italic;line-height:1.3;animation:.7s cubic-bezier(.2,.8,.2,1) both unroll,.6s 3.6s forwards fortune-out;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #00000073}@keyframes unroll{0%{clip-path:inset(0 50%);opacity:.4}to{clip-path:inset(0);opacity:1}}@keyframes fortune-out{to{opacity:0;transform:translate(-50%,-60%)}}.figure{width:64px;height:auto;display:block;overflow:visible}.fig-body line{stroke:var(--creme);stroke-width:3.2px;stroke-linecap:round}.figure.lucie .fig-body line{stroke:var(--rose-clair)}.figure circle.fig-head{fill:var(--mauve)}.figure .arm{transform-box:view-box;transform-origin:30px 56px;transition:transform .4s}.figure .leg{transform-box:view-box;transform-origin:30px 84px}.figure .fig-head{transform-box:view-box;transform-origin:30px 46px}.figure.idle .fig-head{animation:3.2s ease-in-out infinite nod}.figure.lucie.idle .fig-head{animation-delay:-1.6s}@keyframes nod{50%{transform:rotate(5deg)}}.figure.walk .leg.front,.figure.walk .arm.back{animation:.4s ease-in-out 3 alternate swing}.figure.walk .leg.back,.figure.walk .arm.front{animation:.4s ease-in-out 3 alternate-reverse swing}@keyframes swing{0%{transform:rotate(-22deg)}to{transform:rotate(22deg)}}.figure.makan.hug .arm{transform:rotate(-70deg)}.figure.lucie.hug .arm{transform:rotate(70deg)}.figure.cheer .arm.front{animation:.3s 1.6s forwards arm-up}.figure.cheer .arm.back{animation:.3s 1.6s forwards arm-up-back}.figure.cheer{animation:.45s ease-in-out 1.7s 2 alternate jump}@keyframes arm-up{to{transform:rotate(-55deg)}}@keyframes arm-up-back{to{transform:rotate(55deg)}}@keyframes jump{to{transform:translateY(-14px)}}.figure.draw .arm.front{transform:rotate(-40deg)}.figure.draw .arm.back{animation:.9s ease-in-out .3s forwards pull}@keyframes pull{60%{transform:rotate(-115deg)scaleY(.75)}to{transform:rotate(-60deg)}}.held-bow{fill:none;stroke:var(--dore);stroke-width:2.5px;stroke-linecap:round}.held-letter rect{fill:var(--creme)}.held-letter path{fill:none;stroke:var(--bordeaux);stroke-width:1.2px}.figure.walk .held-letter{animation:.3s 1.3s forwards drop-letter}@keyframes drop-letter{to{opacity:0;transform:translateY(-6px)}}.couple-home{box-shadow:none;background:0 0;justify-content:center;min-height:0;margin:.5rem auto 1.2rem;padding:.6rem 1rem 0;display:flex;position:relative}.couple-home:hover{box-shadow:none;transform:none}.couple-home .figure{width:84px}.couple-home .figure+.figure{margin-left:-24px}.couple-home .figure{transition:transform .5s cubic-bezier(.3,1.4,.5,1)}.couple-home.hugging .makan{transform:translate(9px)}.couple-home.hugging .lucie{transform:translate(-9px)}.pop-heart{color:var(--rose);pointer-events:none;font-size:2rem;animation:1.8s ease-out forwards heart-up;position:absolute;top:.4rem;left:50%}@keyframes heart-up{0%{opacity:0;transform:translate(-50%,10px)scale(.4)}30%{opacity:1;transform:translate(-50%,-10px)scale(1.1)}to{opacity:0;transform:translate(-50%,-60px)scale(1)}}.bubble{white-space:nowrap;background:var(--creme);color:var(--bordeaux);font-family:var(--serif);border-radius:1rem;padding:.35rem .8rem;font-size:1rem;font-style:italic;animation:.4s both fade-in,.5s 2.1s forwards fortune-out;position:absolute;bottom:calc(100% - .2rem);left:50%;transform:translate(-50%)}.head-wear{transform-box:view-box;transform-origin:30px 46px}.figure.idle .head-wear{animation:3.2s ease-in-out infinite nod}.figure.lucie.idle .head-wear{animation-delay:-1.6s}.figure.ponder .head-wear{animation:1s ease-in-out .4s tilt}.figure.oops .head-wear{animation:1s ease-in-out .2s 2 tilt}.head-wear.party path{fill:var(--dore)}.figure.lucie .head-wear.party path{fill:var(--rose)}.head-wear.party .stripe{fill:none;stroke:var(--bordeaux);stroke-width:1.6px;stroke-linecap:round}.head-wear.party circle{fill:var(--creme)}.head-wear.christmas path{fill:#c8344a}.head-wear.christmas rect,.head-wear.christmas circle{fill:var(--creme)}.head-wear.summer rect{fill:#1d1420;fill-opacity:.88;stroke:var(--dore);stroke-width:1.2px}.head-wear.summer path{fill:none;stroke:var(--dore);stroke-width:1.4px;stroke-linecap:round}.head-wear.couple .petal{fill:var(--rose);stroke:var(--creme);stroke-width:.8px}.head-wear.couple .petal.alt{fill:var(--dore)}.scarf path{fill:var(--bordeaux);stroke:var(--dore);stroke-width:.8px}.figure.lucie .scarf path{fill:#b34d6f}.valentine-hearts text{fill:var(--rose);font-size:12px;animation:2.8s ease-in-out infinite heart-float}.valentine-hearts .h2{font-size:9px;animation-delay:-1.4s}@keyframes heart-float{50%{opacity:.55;transform:translateY(-4px)}}.together-wish{font-family:var(--serif);color:var(--rose);margin:-.6rem 0 1.4rem;font-size:1.35rem;font-style:italic}.confetti{background:var(--dore);opacity:0;pointer-events:none;border-radius:1px;width:6px;height:9px;animation:3.4s ease-in .3s 3 both confetti-fall;position:absolute;top:-.6rem}.confetti:nth-child(odd){background:var(--rose)}.confetti:nth-child(3n){background:var(--creme)}.confetti.c0{animation-delay:.2s;left:18%}.confetti.c1{animation-delay:1.4s;left:30%}.confetti.c2{animation-delay:.7s;left:42%}.confetti.c3{animation-delay:2s;left:54%}.confetti.c4{animation-delay:.4s;left:64%}.confetti.c5{animation-delay:1.1s;left:76%}.confetti.c6{animation-delay:2.4s;left:86%}.confetti.c7{animation-delay:1.8s;left:10%}@keyframes confetti-fall{10%{opacity:.9}80%{opacity:.9}to{opacity:0;transform:translate(12px,150px)rotate(540deg)}}.birthday-wish{font-family:var(--serif);color:var(--dore);margin:-.6rem 0 1.4rem;font-size:1.5rem;font-style:italic}.card.on-this-day{max-width:24rem;color:var(--creme);box-shadow:none;background:#fff7f10a;justify-items:center;gap:.25rem;margin:0 auto 1.4rem;padding:1rem 1rem 1.1rem;font-weight:400;display:grid}.card.on-this-day:hover{box-shadow:none;background:#fff7f10f;border-color:#e8c98a59;transform:none}.on-this-day small{letter-spacing:.2em;text-transform:uppercase;color:var(--dore);font-size:.75rem}.on-this-day strong{font-family:var(--serif);color:var(--rose-clair);overflow-wrap:anywhere;font-size:1.35rem;font-weight:500}.present-stage{justify-content:center;align-items:flex-end;gap:.2rem;margin-bottom:.3rem;display:flex}.present-stage .figure{width:46px}.present-frame{border:3px solid var(--creme);width:76px;height:76px;color:var(--dore);background:#fff7f114;border-radius:.5rem;place-items:center;margin-bottom:1.6rem;font-size:1.6rem;display:grid;overflow:hidden;transform:rotate(-3deg);box-shadow:0 6px 16px #00000059}.present-frame img{object-fit:cover;width:100%;height:100%}.figure.makan.present .arm.front{transform:rotate(-55deg)}.figure.lucie.present .arm.back{transform:rotate(55deg)}.scene{text-align:center;cursor:pointer;justify-items:center;gap:.8rem;display:grid}.stage{border-bottom:1px solid #e8c98a59;width:min(360px,92vw);height:200px;position:relative}.stage .actor{position:absolute;bottom:0}.stage .figure{width:78px}.scene-lettres .walker{animation:1.2s linear forwards walk-in;left:-20%}@keyframes walk-in{to{left:26%}}.scene-lettres .receiver{right:4%}.mailbox{border-left:3px solid var(--mauve);width:34px;height:64px;margin-left:15px;position:absolute;bottom:0;left:54%}.mailbox:before{content:"";background:var(--bordeaux);border:1px solid #e8c98a66;border-radius:12px 12px 3px 3px;width:36px;height:26px;position:absolute;top:0;left:-18px}.mailbox .flag{background:var(--dore);transform-origin:bottom;width:3px;height:18px;animation:.4s 1.45s forwards flag-up;position:absolute;top:2px;left:16px;transform:rotate(90deg)}.mailbox .flag:after{content:"";background:var(--rose);width:9px;height:6px;position:absolute;top:0;left:3px}@keyframes flag-up{to{transform:rotate(0)}}.pop-heart.late{opacity:0;animation-delay:1.8s;top:1.5rem}.scene-cupidon .archer{left:18%}.flying-arrow{color:var(--dore);opacity:0;font-size:2rem;animation:.7s ease-in 1.15s forwards arrow-fly;position:absolute;bottom:70px;left:34%}@keyframes arrow-fly{0%{opacity:1;transform:translate(0)rotate(-20deg)}to{opacity:1;transform:translate(170px,-110px)rotate(-20deg)}}.pop-heart.high{opacity:0;animation-delay:1.8s;top:0;left:82%}.stage .actor.left{left:calc(50% - 110px)}.stage .actor.right{right:calc(50% - 110px)}@keyframes pop{0%{opacity:0;transform:translate(-50%)scale(.3)}to{opacity:1;transform:translate(-50%)scale(1)}}.figure.makan.hold .arm.front{transform:rotate(-35deg)}.figure.lucie.hold .arm.back{transform:rotate(35deg)}.book{background:var(--creme);perspective:300px;border-radius:0 3px 3px 0;width:40px;height:44px;position:absolute;bottom:50px;left:50%;box-shadow:inset 3px 0 4px #00000040}.book .cover{background:var(--bordeaux);border:1px solid var(--dore);transform-origin:0;border-radius:0 3px 3px 0;animation:.6s ease-in-out .3s forwards open-cover;position:absolute;inset:0}@keyframes open-cover{49%{background:var(--bordeaux)}50%,to{background:var(--creme);border-color:#0000}to{transform:rotateY(-180deg)}}.flying-photo{background:linear-gradient(160deg, var(--mauve), var(--rose)) content-box, var(--creme);opacity:0;width:16px;height:18px;padding:2px 2px 5px;animation:1.1s ease-out forwards photo-fly;position:absolute;top:10px;left:-8px}.flying-photo.p0{--dx:-100px;--r:-30deg;animation-delay:.9s}.flying-photo.p1{--dx:-30px;--r:12deg;animation-delay:1.05s}.flying-photo.p2{--dx:40px;--r:-10deg;animation-delay:1.2s}.flying-photo.p3{--dx:105px;--r:28deg;animation-delay:1.35s}@keyframes photo-fly{0%{opacity:1;transform:scale(.5)}70%{opacity:1}to{opacity:0;transform:translate(var(--dx), -140px) rotate(var(--r)) scale(1.2)}}.scene-jarre .figure{width:56px}.scene-jarre .actor{transform-origin:50% 100%;animation:.6s ease-in-out .2s forwards lie-cw}.scene-jarre .actor.left{left:calc(50% - 148px)}.scene-jarre .actor.right{animation-name:lie-ccw;right:calc(50% - 148px)}@keyframes lie-cw{to{transform:translateY(-20px)rotate(90deg)}}@keyframes lie-ccw{to{transform:translateY(-20px)rotate(-90deg)}}.figure.stargaze.makan .arm.back{animation:.4s 1s forwards arm-up-back}.figure.stargaze.lucie .arm.front{animation:.4s 1s forwards arm-up}.sky-star{color:var(--dore);font-size:.8rem;animation:.9s ease-in-out infinite alternate twinkle;position:absolute}.sky-star.s0{top:8%;left:12%}.sky-star.s1{font-size:.6rem;animation-delay:-.3s;top:30%;left:34%}.sky-star.s2{animation-delay:-.6s;top:4%;left:52%}.sky-star.s3{font-size:.6rem;animation-delay:-.2s;top:24%;left:70%}.sky-star.s4{animation-delay:-.5s;top:10%;left:88%}@keyframes twinkle{0%{opacity:.35}to{opacity:1}}.shooting-star{background:linear-gradient(90deg, transparent, var(--creme));opacity:0;border-radius:2px;width:60px;height:2px;animation:.8s ease-in 1.4s forwards shoot;position:absolute;top:12%;left:8%}@keyframes shoot{0%{opacity:0;transform:rotate(18deg)}20%{opacity:1}to{opacity:0;transform:translate(230px,75px)rotate(18deg)}}.scene-surprises .diver{transform-origin:50% 100%;animation:1s ease-in-out .5s dive;left:calc(50% - 80px)}@keyframes dive{35%,65%{transform:rotate(28deg)}}@keyframes reach{35%,65%{transform:rotate(25deg)}}.scene-surprises .actor.right{right:2%}.figure.dig .arm.front{animation:1s ease-in-out .5s reach,.3s 1.45s forwards arm-up}.figure.dig{animation:.35s ease-in-out 1.8s 2 alternate jump}.held-note{fill:var(--creme);stroke:var(--dore);stroke-width:1px;opacity:0;animation:.2s 1.45s forwards show}@keyframes show{to{opacity:1}}.gift{background:linear-gradient(90deg, transparent 44%, var(--dore) 44% 56%, transparent 56%), var(--bordeaux);border-radius:2px;width:56px;height:52px;margin-left:-24px;position:absolute;bottom:0;left:50%}.gift .lid{background:linear-gradient(90deg, transparent 45%, var(--dore) 45% 55%, transparent 55%), #6b3051;border-radius:2px;height:10px;animation:.4s .3s forwards lid-off;position:absolute;top:-8px;left:-4px;right:-4px}@keyframes lid-off{60%{opacity:1}to{opacity:0;transform:translate(34px,-44px)rotate(40deg)}}.say{background:var(--creme);width:2.2rem;height:2.2rem;color:var(--bordeaux);font-family:var(--serif);border-radius:50%;place-items:center;font-size:1.4rem;font-weight:600;animation:.3s .2s both pop;display:grid;position:absolute;bottom:calc(100% + 4px);left:50%}.say.aha{background:var(--dore);animation-delay:1.5s}.figure.ponder .arm.back{animation:1s ease-in-out .4s forwards think,.3s 1.5s forwards arm-up-back}.figure.ponder .arm.front{animation:.3s 1.5s forwards arm-up}.figure.ponder .fig-head{animation:1s ease-in-out .4s tilt}.figure.ponder{animation:.5s 1.5s forwards glow,.35s ease-in-out 1.6s 2 alternate jump}@keyframes think{25%{transform:rotate(94deg)}40%,70%{transform:rotate(86deg)}55%,85%{transform:rotate(100deg)}to{transform:rotate(92deg)}}@keyframes tilt{25%,85%{transform:rotate(-9deg)}}@keyframes glow{to{filter:drop-shadow(0 0 10px #e8c98acc)}}.cupid-archer{pointer-events:none;position:absolute;bottom:0;left:calc(50% - 79px)}.cupid-archer .figure{transform-origin:50% 100%;transition:transform .25s}.cupid-archer.aiming .figure{transform:rotate(5deg)}.cupid-archer.aiming .arm.back{transform:rotate(-70deg)}.catcher{pointer-events:none;animation:3.2s forwards catch-in;position:absolute;bottom:0;right:5%}@keyframes catch-in{0%{opacity:0;transform:translate(80px)}12%,82%{opacity:1;transform:none}to{opacity:0}}.figure.catch .arm.front{transform:rotate(-55deg)}.figure.catch .arm.back{transform:rotate(55deg)}.figure.catch{animation:.3s ease-in-out .45s 4 alternate jump}.figure.catch .held-note{animation-delay:.4s}.catcher .pop-heart{opacity:0;animation-delay:.5s;top:-.8rem}.figure.joy .arm.front{animation:.3s .2s forwards arm-up}.figure.joy .arm.back{animation:.3s .2s forwards arm-up-back}.figure.joy{animation:.35s ease-in-out .4s 4 alternate jump}.figure.oops .arm.back{animation:1s ease-in-out .2s forwards think}.figure.oops .fig-head{animation:1s ease-in-out .2s 2 tilt}.quiz-mine{padding-right:4rem;position:relative}.mini-reactor{position:absolute;top:1rem;right:1rem}.mini-reactor .figure{width:34px}.postman{justify-items:center;gap:.4rem;display:grid}.postman .stage{width:min(360px,100%)}.postman .tagline{margin:0}.envelope-stage{justify-items:center;gap:1.2rem;display:grid}.envelope-3d{aspect-ratio:3/2;perspective:900px;background:0 0;border-radius:.6rem;width:min(340px,86vw);margin-top:min(9rem,26vw);padding:0;position:relative;box-shadow:0 20px 50px #00000073}.envelope-3d:hover{transform:none}.envelope-3d:disabled{opacity:1;cursor:default}.envelope-3d>span{display:block;position:absolute}.env-back{background:#3d1a2e;border-radius:.6rem;inset:0}.env-paper{z-index:2;background:var(--creme);height:84%;color:var(--bordeaux);font-family:var(--serif);border-radius:.3rem;place-items:center;padding:1rem;font-size:1.2rem;font-style:italic;transition:transform 1s cubic-bezier(.3,.7,.2,1) .8s;display:grid;top:8%;left:7%;right:7%}.env-pocket{z-index:3;background:linear-gradient(160deg, #5e2a46, var(--bordeaux));clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);border-radius:.6rem;inset:0}.env-flap{z-index:4;clip-path:polygon(0 0,100% 0,50% 94%);transform-origin:top;background:linear-gradient(#6b3051,#51243c);height:60%;transition:transform .8s,z-index 0s linear .4s;top:0;left:0;right:0}.env-seal{z-index:5;background:radial-gradient(circle at 35% 30%, #f3dba6, var(--dore) 55%, #b8944f);width:3.4rem;height:3.4rem;color:var(--bordeaux);font-family:var(--serif);border-radius:50%;place-items:center;margin:-1.7rem 0 0 -1.7rem;font-size:1rem;font-weight:500;transition:transform .4s,opacity .4s;animation:2.4s ease-in-out infinite seal-pulse;display:grid;top:56%;left:50%;box-shadow:0 3px 10px #0006}@keyframes seal-pulse{50%{box-shadow:0 0 0 8px #e8c98a26,0 3px 10px #0006}}.envelope-3d.open .env-seal{opacity:0;transform:scale(.4)}.envelope-3d.open .env-flap{z-index:1;transform:rotateX(180deg)}.envelope-3d.open .env-paper{transform:translateY(-62%)}.tabs{gap:.5rem;display:flex}.tabs button{flex:1;padding:.6rem 1rem}.envelope{text-align:left;color:var(--creme);letter-spacing:normal;box-shadow:none;background:#fff7f10a;border:1px solid #e8c98a24;border-radius:1rem;grid-template-columns:auto 1fr;align-items:center;column-gap:1rem;padding:.9rem 1.15rem;font-weight:300;display:grid}button.envelope:hover{background:#fff7f10f;border-color:#e8c98a66;transform:none}.envelope .seal{color:var(--dore);grid-row:span 2;font-size:1.5rem}.envelope strong{font-family:var(--serif);color:var(--rose-clair);font-size:1.3rem;font-weight:500}.envelope small{color:var(--mauve)}.envelope.new{border-color:#e8c98a99;box-shadow:0 0 18px #e8c98a1a}.envelope.sealed{color:var(--mauve);grid-template-columns:auto 1fr;font-style:italic}.envelope.sealed .seal{grid-row:auto}.calendar{padding:1.25rem}.calendar header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.calendar h2{text-transform:capitalize}button.icon{box-shadow:none;color:var(--dore);background:0 0;width:44px;min-height:44px;padding:0;font-size:1.8rem;line-height:1}.grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.weekday{color:var(--mauve);padding-bottom:.25rem;font-size:.75rem}button.day{aspect-ratio:1;min-height:0;box-shadow:none;color:var(--creme);background:0 0;border-radius:50%;padding:0;font-weight:400;position:relative}button.day:hover{background:#e7b8cf1a;transform:none}button.day.today{outline:1px solid var(--dore);outline-offset:-2px}button.day.marked:after{content:"";background:var(--dore);width:5px;height:5px;box-shadow:0 0 6px var(--dore);border-radius:50%;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}button.day.photos{box-shadow:inset 0 0 0 2px var(--rose), inset 0 0 0 99px #e7b8cf2e;font-weight:600}button.day.selected.photos{box-shadow:inset 0 0 0 2px var(--creme)}button.day.letter{font-family:inherit;font-size:inherit;line-height:inherit;background:radial-gradient(circle at 78% 80%, var(--mauve) 0 2.5px, transparent 3px)}.link-media{border:0;margin:0;padding:0}.link-media legend{color:var(--mauve);margin-bottom:.5rem;font-size:.9rem}.link-media .day-photos{max-height:18rem;overflow-y:auto}button.thumb.chosen{outline:3px solid var(--dore);outline-offset:-3px}button.thumb.chosen:after{content:"✓";color:var(--dore);text-shadow:0 0 4px #000;font-size:1rem;position:absolute;top:4px;right:6px}div.memory{border-radius:1rem;gap:.3rem;padding:1.1rem 1.25rem;display:grid}.day-photos{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:4px;margin-top:.5rem;display:grid}button.day.selected{background:var(--rose);color:var(--prune);font-weight:600}.timeline{border-left:1px solid #e8c98a4d;gap:1rem;margin:0;padding:0 0 0 1.25rem;list-style:none;display:grid}.timeline li{position:relative}.timeline li:before{content:"";background:var(--dore);border-radius:50%;width:7px;height:7px;position:absolute;top:1.6rem;left:calc(-1.25rem - 4px)}button.memory{text-align:left;color:var(--creme);letter-spacing:normal;box-shadow:none;border-radius:1rem;gap:.3rem;padding:1.1rem 1.25rem;font-weight:300;display:grid}button.memory:hover{background:#fff7f10f;border-color:#e8c98a59;transform:none}.memory time{color:var(--dore);letter-spacing:.05em;font-size:.8rem}.memory strong{font-family:var(--serif);color:var(--rose-clair);font-size:1.3rem;font-weight:500}.memory p{white-space:pre-line;color:var(--creme);margin:0}.memory small{color:var(--mauve)}.intro .once{font-family:var(--serif);color:var(--mauve);opacity:0;margin:0 0 .5rem;font-size:1.4rem;font-style:italic;animation:1.4s .3s forwards rise}.intro-figures{width:220px;height:168px;margin:.6rem auto .2rem;position:relative}.intro-figures>div{margin-left:-39px;position:absolute;bottom:0;left:50%}.intro-figures .figure{width:78px}.malu-heart{fill:var(--rose);font-size:26px}.intro-malu{opacity:0;animation:1.2s 1.6s forwards rise,.6s 3.4s forwards malu-out}@keyframes malu-out{0%{opacity:1}to{opacity:0;transform:scale(.6)}}.intro-makan,.intro-lucie{opacity:0}.intro-makan{animation:1.4s cubic-bezier(.3,.8,.3,1) 3.4s forwards split-left}.intro-lucie{animation:1.4s cubic-bezier(.3,.8,.3,1) 3.4s forwards split-right}@keyframes split-left{to{opacity:1;transform:translate(-30px)}}@keyframes split-right{to{opacity:1;transform:translate(30px)}}.intro-makan .arm.front{animation:.5s 4.8s forwards reach-right}.intro-lucie .arm.back{animation:.5s 4.8s forwards reach-left}@keyframes reach-right{to{transform:rotate(-38deg)}}@keyframes reach-left{to{transform:rotate(38deg)}}.intro-heart{opacity:0;animation-delay:5.2s;top:-.4rem}.malu{white-space:nowrap;opacity:0;animation:1.2s 1.6s forwards rise}.malu .grow{vertical-align:bottom;max-width:0;animation:1.6s cubic-bezier(.6,0,.2,1) 3.4s forwards grow;display:inline-block;overflow:hidden}.malu .amp{color:var(--dore);opacity:0;font-style:italic;animation-name:grow-amp}.malu .swap>span{vertical-align:bottom;display:inline-block;overflow:hidden}.malu .small-l{max-width:1em;animation:.8s 3.4s forwards shrink}.malu .big-l{max-width:0;animation:.8s 3.4s forwards grow}.intro .motto{opacity:0;animation:1.4s 5.2s forwards rise}.intro .late{opacity:0;animation:1s 6s forwards rise}.motto-small{color:var(--mauve);text-align:right;font-size:1rem;font-style:italic}@keyframes grow{to{max-width:3.2em}}@keyframes grow-amp{to{opacity:1;max-width:1.4em;padding:0 .15em}}@keyframes shrink{to{max-width:0}}@keyframes draw{to{stroke-dashoffset:0}}.letter{max-width:36rem;font-family:var(--serif);color:var(--creme);font-size:1.3rem;line-height:1.75}.letter p{margin:0 0 1.2em}.opening{color:var(--rose-clair);font-size:1.6rem}.signature{color:var(--dore);text-align:right;font-style:italic;margin-top:2rem!important}.letter button{font-family:var(--sans);margin:2.5rem auto 0;font-size:1rem;display:block}.reveal{opacity:0;animation:1.4s forwards rise}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-delay:0s!important}.sky-line{stroke-dashoffset:0}.confetti{display:none}.valentine-hearts text,.fortune,.bubble,.catcher{animation:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}label.button.ghost-button{color:var(--mauve);background:0 0;border:1px solid #d6bed138;justify-self:start;font-size:.9rem}.daily{justify-items:center;gap:.4rem;max-width:24rem;margin:0 auto 1.4rem;display:grid}.daily-stage{justify-content:center;align-items:center;gap:.3rem;width:100%;display:flex}.daily-stage .figure{flex:none;width:46px}.daily-paper{background:linear-gradient(180deg, var(--creme), #f6e9df);color:#5b4257;min-width:0;min-height:6rem;font-family:var(--serif);perspective:600px;clip-path:inset(50% 0 0);border-radius:.2rem;flex:0 13rem;place-items:center;margin:0 0 1.4rem;padding:.9rem 1rem;font-size:1.15rem;font-style:italic;font-weight:400;line-height:1.35;transition:clip-path .7s,transform .7s;display:grid;position:relative;transform:rotate(-2deg);box-shadow:0 4px 12px #00000040}.daily-paper.open{clip-path:inset(0);cursor:default;transform:none}.daily-text{overflow-wrap:anywhere}.daily-flap{transform-origin:bottom;transform-style:preserve-3d;transition:transform .7s;position:absolute;inset:0 0 50%;transform:rotateX(-180deg)}.daily-flap>span{color:var(--rose);backface-visibility:hidden;background:linear-gradient(#f6e9df,#efe0d4);border-radius:.2rem;place-items:center;font-style:normal;display:grid;position:absolute;inset:0 0 -2px;transform:rotateX(180deg)}.daily-paper.open .daily-flap{transform:none}.daily-edit{font-size:.9rem}.daily-form{text-align:left;margin:0 auto 1.4rem}.jar-stage{justify-content:center;align-items:flex-end;gap:.2rem;display:flex}.jar-stage .figure{flex:none;width:52px}.jar-stage .figure.makan.present .arm.front,.jar-stage .figure.lucie.present .arm.back{transition:transform .4s}.jar{width:min(9.5rem,42vw);box-shadow:none;transform-origin:50% 90%;background:0 0;border:0;border-radius:1rem;padding:0}.jar:hover{box-shadow:none;transform:none}.jar:disabled{opacity:1;cursor:default}.jar svg{width:100%;display:block;overflow:visible}.jar.shaking{animation:.75s ease-in-out jar-shake}@keyframes jar-shake{15%{transform:rotate(-9deg)}35%{transform:rotate(8deg)}55%{transform:rotate(-6deg)}75%{transform:rotate(4deg)}}.jar-lid{fill:var(--dore);opacity:.85}.jar-back{fill:#fff7f112}.jar-glass{fill:none;stroke:#fff7f18c;stroke-width:2.5px}.jar-shine{fill:none;stroke:#fff7f173;stroke-width:3px;stroke-linecap:round}.jar-note{fill:var(--creme);stroke:#5b425740;stroke-width:.6px}.jar-heart{fill:var(--rose);text-anchor:middle;font-size:13px}.jar-note,.jar-heart{transform-box:fill-box;transform-origin:50%;animation:4.5s ease-in-out infinite alternate jar-float}.jar-fill>:nth-child(2n){animation-duration:5.5s;animation-delay:-2s}.jar-fill>:nth-child(3n){animation-duration:3.8s;animation-delay:-1s}@keyframes jar-float{to{translate:0 -3px}}.jar.shaking .jar-fill>*{animation:.25s ease-in-out 3 alternate jar-jumble}@keyframes jar-jumble{to{translate:2px -5px}}.jar-hint{text-align:center;margin:0}.jar-stage{position:relative}.falling-star{color:var(--dore);pointer-events:none;font-size:1.2rem;animation:1.1s ease-in forwards star-fall;position:absolute;top:40%;left:50%}@keyframes star-fall{0%{opacity:1;transform:translate(-50%)scale(1.4)}to{opacity:0;transform:translate(-30%,9rem)scale(.5)}}@media (prefers-reduced-motion:reduce){.falling-star{display:none}}.jar-paper{text-align:center;background:linear-gradient(180deg, var(--creme), #f6e9df);color:#5b4257;border:0;border-radius:.3rem;justify-items:center;gap:.6rem;padding:1.3rem 1rem 1.4rem;animation:.9s cubic-bezier(.2,.8,.2,1) both jar-paper-out;display:grid;box-shadow:0 6px 16px #00000047}@keyframes jar-paper-out{0%{opacity:0;clip-path:inset(0 45%);transform:translateY(-50px)scale(.3)rotate(-8deg)}45%{opacity:1;clip-path:inset(0 45%);transform:translateY(0)scale(1)rotate(-2deg)}to{clip-path:inset(0);transform:none}}.jar-paper time{letter-spacing:.12em;text-transform:uppercase;color:#a07a3e;font-size:.8rem}.jar-paper strong{font-family:var(--serif);color:var(--bordeaux);overflow-wrap:anywhere;font-size:1.4rem;font-weight:500}.jar-paper p{font-family:var(--serif);white-space:pre-line;overflow-wrap:anywhere;margin:0;font-style:italic;line-height:1.45}.jar-paper .ghost{color:#7a5a74;border-color:#5b425759}.jar-paper button:not(.ghost){color:var(--bordeaux);box-shadow:none;background:#51243c12;border-color:#51243c59}.jar-photo{aspect-ratio:1;color:#7a5a74;background:#5b42571f;border:4px solid #fff;border-radius:.3rem;place-items:center;width:min(14rem,100%);padding:0;font-size:2rem;display:grid;position:relative;overflow:hidden;transform:rotate(-2deg);box-shadow:0 4px 12px #00000040}.jar-photo img{object-fit:cover;width:100%;height:100%}.jar-photo .badge{font-size:.9rem;position:absolute;bottom:.4rem;right:.4rem}@media (prefers-reduced-motion:reduce){.jar-note,.jar-heart,.jar.shaking,.jar.shaking .jar-fill>*{animation:none}}.puzzle{aspect-ratio:1;background:#fff7f10f;border-radius:.6rem;gap:3px;width:min(100%,26rem);margin:0 auto;padding:3px;transition:gap .6s,padding .6s,box-shadow .6s;display:grid}.piece{min-width:0;min-height:0;box-shadow:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#fff7f114;border-radius:.25rem;padding:0;transition:border-radius .6s;position:relative;overflow:hidden}.piece:hover{box-shadow:none;transform:none}.piece:disabled{opacity:1;cursor:default}.piece img{object-fit:cover;pointer-events:none;max-width:none;position:absolute}.piece:focus-visible{outline:none}.piece.picked:after,.piece:focus-visible:after{content:"";border:3px solid var(--dore);border-radius:inherit;position:absolute;inset:0}.piece:focus-visible:not(.picked):after{border-style:dashed}.piece.dragging{z-index:2;cursor:grabbing;box-shadow:0 8px 18px #00000073}.puzzle.solved{box-shadow:0 0 0 2px var(--dore), 0 0 28px #e8c98a73;gap:0;padding:0}.puzzle.solved .piece{border-radius:0}.puzzle-reveal{justify-items:center;gap:.2rem;display:grid}.puzzle-figures{gap:4.5rem;margin-bottom:-1.2rem;display:flex}.puzzle-figures .figure{width:50px}.puzzle-letter{max-width:24rem}.puzzle-letter p{font-size:1.3rem;font-style:italic}.puzzle-letter small{color:#a07a3e;font-family:var(--serif);font-size:1rem}.puzzle-edit{border:1px solid #e8c98a24;border-radius:1rem;gap:.8rem;min-width:0;padding:.9rem;display:grid}.puzzle-edit legend{color:var(--dore);padding:0 .3rem}.puzzle-picks{gap:.4rem;padding:.2rem;display:flex;overflow-x:auto}.puzzle-picks button{width:64px;height:64px;box-shadow:none;color:var(--mauve);background:#fff7f114;border-radius:.5rem;flex:none;padding:0;font-size:.8rem;overflow:hidden}.puzzle-picks button img{object-fit:cover;width:100%;height:100%}.puzzle-picks button[aria-checked=true]{outline:3px solid var(--dore);outline-offset:-3px}button[aria-pressed=true]{border-color:var(--dore);color:var(--dore)}.voice-player{font-family:var(--sans);background:#51243c59;border:1px solid #e8c98a29;border-radius:999px;align-items:center;gap:.75rem;margin:0 0 1.6rem;padding:.55rem 1rem .55rem .55rem;display:flex}.letter .voice-player button.voice-play,button.voice-play{flex:none;place-items:center;width:48px;height:48px;margin:0;padding:0;display:grid}.voice-play svg{width:22px;height:22px;fill:var(--rose-clair)}.voice-progress{appearance:none;background:linear-gradient(90deg, var(--dore) var(--p,0%), #d6bed14d var(--p,0%));border:0;border-radius:999px;flex:1;width:0;height:6px;padding:0}.voice-progress::-webkit-slider-thumb{appearance:none;background:var(--rose-clair);border-radius:50%;width:16px;height:16px}.voice-progress::-moz-range-thumb{background:var(--rose-clair);border:0;border-radius:50%;width:16px;height:16px}.voice-progress:disabled{opacity:.5}.voice-time{color:var(--mauve);font-variant-numeric:tabular-nums;flex:none;font-size:.85rem}fieldset.voice{border:1px solid #d6bed12e;border-radius:1rem;gap:.8rem;min-width:0;margin:0;padding:.9rem;display:grid}fieldset.voice legend{color:var(--mauve);padding:0 .3rem;font-size:.9rem}fieldset.voice .voice-player{margin:0}.voice-actions{flex-wrap:wrap;gap:.5rem;display:flex}.voice-actions button,.voice-actions label.button{padding:.5rem 1rem;font-size:.9rem}.voice-rec{color:var(--rose-clair);align-items:center;gap:.6rem;margin:0;display:flex}.voice-rec .voice-time{margin-left:auto}.rec-dot{background:#e0587f;border-radius:50%;width:12px;height:12px;animation:1.2s ease-in-out infinite rec-pulse}@keyframes rec-pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.rec-dot{animation:none}}.village{z-index:1;background:var(--prune);position:fixed;inset:0}.v-view{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:#42304c;position:absolute;inset:0;overflow:hidden}.village.night .v-view{background:#2d1f37}.v-top{z-index:1001;padding:max(.6rem, env(safe-area-inset-top)) .75rem 1.4rem;pointer-events:none;background:linear-gradient(#180f20d9,#0000);align-items:center;gap:.5rem;display:flex;position:absolute;top:0;left:0;right:0}.v-top>*{pointer-events:auto}.v-top h1{text-align:center;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;flex:1;margin:0;font-size:clamp(.95rem,4.6vw,1.2rem);overflow:hidden}.v-top h1 span{color:var(--dore)}.v-top .back{min-height:40px;padding:.3rem .8rem;font-size:.9rem}.v-hint{left:1rem;right:1rem;bottom:max(1rem, env(safe-area-inset-bottom));z-index:1000;text-align:center;pointer-events:none;text-shadow:0 0 6px var(--prune);position:absolute}.v-map{transform-origin:0 0;position:absolute;top:0;left:0}.v-art{display:block;position:absolute;top:0;left:0;overflow:visible}.v-layer,.v-labels{pointer-events:none}.v-layer .v-place,.v-label{pointer-events:auto}.v-edge{fill:none;stroke:#e8c98a2e;stroke-width:2px}.v-tiles polygon{stroke:#180f2059;stroke-width:.6px}.v-tiles .ground{fill:#4a3354}.v-tiles .ground.alt{fill:#4f385a}.v-tiles .grass{fill:#4d6656}.v-far-trees{opacity:.75}.v-tiles .road{fill:#cdb3c6;stroke:#b99cb2}.v-tiles .water{fill:#5f73a6}.v-tiles .bridge{fill:#e8d2c4;stroke:var(--dore);stroke-width:1.2px}.village{--dim:0%}.village.night{--dim:42%}.blk .t{fill:color-mix(in srgb, #10081a var(--dim), var(--top))}.blk .l,.roof .l{fill:color-mix(in srgb, #10081a var(--dim), var(--left))}.blk .r,.roof .r{fill:color-mix(in srgb, #10081a var(--dim), var(--right))}.blk,.roof{stroke:#180f2040;stroke-width:.6px;stroke-linejoin:round}.creme{--top:#fff7f1;--left:#f1ddd3;--right:#d6bfba}.rose{--top:#f5dde7;--left:#e7b8cf;--right:#c995ae}.mauve{--top:#e6d4e2;--left:#d6bed1;--right:#b39cb0}.bordeaux{--top:#7a3a5c;--left:#51243c;--right:#3d1a2d}.rose-roof{--left:#e7b8cf;--right:#b97e9b}.dore{--top:#f3ddb0;--left:#e8c98a;--right:#c9a76a}.red{--top:#e0675f;--left:#c8423c;--right:#9c2f2c}.burger .bun{fill:#e3a956}.burger .salad{fill:#8fbf6a}.burger .patty{fill:#6e3b2a}.fries rect{fill:#f3d36b}.fries path{fill:#c8423c}.glass{--top:#c9d6ef;--left:#9fb1d8;--right:#7a8cb8}.glass-roof{--left:#c9d6efd9;--right:#8fa0cdd9}.dome path{fill:color-mix(in srgb, #10081a var(--dim), #fff7f1);stroke:#180f2040;stroke-width:.6px}.dome line{stroke:#c9a76a;stroke-width:1.4px}.win{fill:#6b4a63}.night .win{fill:var(--dore);filter:drop-shadow(0 0 3px var(--dore))}.tree line{stroke:#7b5a4a;stroke-width:2.4px}.tree circle{fill:color-mix(in srgb, #10081a var(--dim), #6f8f73);stroke:#557560}.eiffel path{fill:#9a6f4f;stroke:#6e4c36;stroke-width:.8px}.eiffel line{stroke:#6e4c36;stroke-width:2px}.night .eiffel path{fill:var(--dore);stroke:#c9a76a;filter:drop-shadow(0 0 6px #e8c98acc)}.eiffel .sparkle{fill:#fff;opacity:0}.night .eiffel .sparkle{animation:1.4s ease-in-out infinite sparkle}@keyframes sparkle{35%{opacity:1;transform:scale(1.25)}to{opacity:0;transform:translateY(-16px)scale(.6)}}.flower{fill:var(--rose)}.flower.alt{fill:var(--dore)}.pole{stroke:var(--creme);stroke-width:1.5px}.flag{fill:var(--rose)}.dome{fill:#7fa0d6bf;stroke:#c9d6ef}.v-deco{fill:var(--rose);font-size:13px}.v-deco.gold{fill:var(--dore)}.v-deco.fish{fill:#fff;font-size:11px}.v-sign{font:600 9px var(--sans);fill:var(--dore);letter-spacing:.08em}.v-place .hit{fill:#0000}.v-place{cursor:pointer}.v-night{fill:#10081a6b;pointer-events:none}.lamp{fill:#e8c98a59;filter:blur(3px);pointer-events:none}.v-label{font:600 11px var(--sans);fill:var(--creme);stroke:var(--prune);stroke-width:3px;paint-order:stroke;cursor:pointer}.v-label.has-photos{fill:var(--rose-clair)}.v-actor{pointer-events:none;position:absolute;transform:translate(-50%,-96%)}.v-actor[data-other]{pointer-events:auto;cursor:pointer}.v-actor .figure{width:34px;filter:drop-shadow(0 0 1.5px var(--prune)) drop-shadow(0 0 1px var(--prune))}.v-actor.me .figure{filter:drop-shadow(0 0 1.5px var(--prune)) drop-shadow(0 0 5px #e8c98ae6)}.v-actor:after{content:"";z-index:-1;background:#180f2059;border-radius:50%;width:22px;height:8px;margin-left:-11px;position:absolute;bottom:-3px;left:50%}.v-actor .figure.walk .leg,.v-actor .figure.walk .arm{animation-iteration-count:infinite!important}.figure.sit .leg{transform:scaleY(.5)}.figure.sit .leg.front{transform:scaleY(.5)rotate(-35deg)}.figure.sit .leg.back{transform:scaleY(.5)rotate(35deg)}.figure.sit{transition:transform .4s;transform:translateY(14px)}.v-car{width:46px;display:block;overflow:visible}.v-car .body{fill:var(--bordeaux);stroke:var(--rose-clair);stroke-width:1.2px}.v-car.lucie .body{fill:#c995ae;stroke:var(--creme)}.v-car .wheel{fill:var(--prune);stroke:var(--mauve);stroke-width:2px}.v-car .head{fill:var(--mauve)}.v-car .light{fill:var(--dore)}.hop{animation:.5s cubic-bezier(.3,1.4,.5,1) v-hop}@keyframes v-hop{40%{transform:translateY(-22px)}}.v-heart{z-index:999;font-size:1.6rem;position:absolute}.v-panel{left:.75rem;right:.75rem;bottom:max(.75rem, env(safe-area-inset-bottom));z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:left;background:#180f20d1;border:1px solid #e8c98a59;border-radius:1rem;flex-flow:column wrap;align-items:stretch;gap:.5rem;max-height:70dvh;padding:.6rem .8rem .8rem;animation:.4s both fade-in;display:flex;position:absolute;overflow-y:auto}.v-panel>strong{font-family:var(--serif);color:var(--rose-clair);padding-right:2.4rem;font-size:1.3rem;font-weight:500;line-height:1.2}.v-panel .v-slides{aspect-ratio:4/3;width:100%;max-height:48dvh;box-shadow:none;background:#fff7f10f;border-radius:.8rem;padding:0;display:block;position:relative;overflow:hidden}.v-slides img{object-fit:cover;width:100%;height:100%;animation:.8s both fade-in;display:block}.v-slides video{object-fit:contain;background:#000;width:100%;height:100%;display:block}.v-panel .row{flex-wrap:wrap;gap:.4rem;display:flex}.v-picker:has(.import-list){display:block;overflow-y:auto}.v-count{color:var(--creme);background:#180f20a6;border-radius:999px;padding:0 .5rem;font-size:.75rem;position:absolute;bottom:.4rem;right:.5rem}.v-panel button{min-height:40px;padding:.4rem .9rem;font-size:.9rem}.v-panel button.close{min-width:44px;min-height:44px;box-shadow:none;background:0 0;border:none;padding:0;position:absolute;top:.2rem;right:.2rem}.v-picker{z-index:1002;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));background:var(--prune);grid-template-rows:auto auto 1fr auto auto;gap:.6rem;display:grid;position:absolute;inset:0}.v-picker h2{font-family:var(--serif);color:var(--rose-clair);margin:0;font-weight:400}.v-picks{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));align-content:start;gap:.4rem;display:grid;overflow-y:auto}.v-picks button{aspect-ratio:1;box-shadow:none;color:var(--mauve);background:#fff7f114;border-radius:.5rem;padding:0;position:relative;overflow:hidden}.v-picks button[aria-pressed=true]{outline:3px solid var(--dore);outline-offset:-3px}.v-picks span{background:var(--dore);min-width:1.4rem;color:var(--prune);border-radius:999px;font-size:.75rem;font-weight:700;position:absolute;top:.25rem;left:.25rem}.v-picker .row{justify-content:flex-end;gap:.5rem;display:flex}.v-list{position:relative}.v-list summary{cursor:pointer;color:var(--rose-clair);border:1px solid #d6bed14d;border-radius:999px;place-items:center;min-height:40px;padding:0 .8rem;font-size:.9rem;list-style:none;display:grid}.v-list summary::-webkit-details-marker{display:none}.v-list div{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#180f20eb;border:1px solid #e8c98a4d;border-radius:1rem;gap:.2rem;width:min(16rem,100vw - 1.5rem);max-height:65dvh;padding:.5rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0;overflow-y:auto}.v-list button{text-align:left;min-height:40px;font-size:.9rem}@media (prefers-reduced-motion:reduce){.night .eiffel .sparkle{opacity:.8;animation:none}}.heads-link{opacity:.75;min-height:0;padding:.3rem .8rem;font-size:.8rem}.heads-person h2{font-family:var(--serif);color:var(--rose-clair);margin:0 0 .8rem;font-size:1.4rem;font-weight:400}.heads-grid{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:1rem .6rem;margin:0;padding:0;list-style:none;display:grid}.heads-grid li{text-align:center;justify-items:center;gap:.3rem;display:grid}.heads-grid .figure{width:48px}.heads-grid button{padding:.35rem .8rem;font-size:.85rem}.heads-crop .check{align-items:center;gap:.6rem;display:flex}.heads-crop .check input{width:auto}.crop-stage{touch-action:none;cursor:grab;background:repeating-conic-gradient(#ffffff1f 0 25%, transparent 0 50%) 0 0 / 20px 20px;border-radius:12px;justify-self:center;width:240px;height:240px;position:relative;overflow:hidden}.crop-stage img{transform-origin:0 0;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;position:absolute;top:0;left:0}.crop-oval{border:2px dashed var(--dore);pointer-events:none;border-radius:50%;width:82%;height:98%;position:absolute;top:1%;left:9%}.crop-oval.masked{box-shadow:0 0 0 200px #140a1e99}.crop-preview{justify-content:center;gap:1.5rem;display:flex}.heads-grid li.missing .figure{opacity:.4}.heads-crop input[type=file]{width:100%;min-width:0}.padlock{flex:none;width:1.15rem;height:1.15rem}.padlock .shackle{fill:none;stroke:var(--dore);stroke-width:1.8px;stroke-linecap:round;transition:transform .5s}.padlock .body{fill:#e7b8cfd9;stroke:var(--dore);stroke-width:1px}.padlock .keyhole{fill:var(--bordeaux)}.feature-grid button.locked{color:var(--mauve);border-style:dashed;justify-content:center;align-items:center;gap:.4rem;display:flex}.feature-grid button.locked .padlock{transform-origin:50% 0;animation:3.5s ease-in-out infinite lock-sway}@keyframes lock-sway{50%{transform:rotate(-8deg)}}.unlock-lock .padlock{width:2.6rem;height:2.6rem}.unlock-lock{margin-bottom:1.2rem;display:block}.unlock-lock.open .shackle{transform-origin:16px 11px;transform:translateY(-3px)rotate(-18deg)}.locks-editor{gap:.8rem;display:grid}.locks-editor h2{font-family:var(--serif);color:var(--rose-clair);margin:0;font-size:1.4rem;font-weight:400}.locks-editor .hint{margin:0}.locks-list{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.locks-list li{gap:.25rem;display:grid}.locks-list select{width:100%;min-width:0}.locks-list small{color:var(--dore)}@media (prefers-reduced-motion:reduce){.feature-grid button.locked .padlock{animation:none}}.prelaunch .center{justify-items:center;gap:.2rem;display:grid}.prelaunch h1{margin:.1em 0 .3em}.prelaunch-intro{max-width:22rem;color:var(--rose-clair);margin:0;font-size:1.05rem}.prelaunch-aside{font-family:var(--serif);color:var(--mauve);opacity:.75;margin:1.2rem 0 0;font-style:italic}.prelaunch-intro,.prelaunch-aside,.ticket,.prelaunch-login{transition:opacity 1.5s}.prelaunch.final .prelaunch-intro,.prelaunch.final .prelaunch-aside,.prelaunch.final .ticket,.prelaunch.final .prelaunch-login{opacity:0}.prelaunch-login{opacity:.55;min-height:44px;margin-top:1.4rem;padding:.4rem .9rem;font-size:.8rem}.lock-sky{width:min(64vw,15rem,30dvh);margin:1rem 0 .2rem;overflow:visible}.lock-ring{fill:none;stroke:#e8c98a24;stroke-width:.4px;stroke-dasharray:1 2.5}.lock-line{fill:none;stroke:var(--dore);stroke-width:.35px;opacity:.4;stroke-dasharray:1;transition:stroke-dashoffset 2s}.lock-star{animation:4s ease-in-out infinite twinkle-star}.lock-star .glow{fill:var(--dore);opacity:.05;transition:opacity 1s}.lock-star .core{fill:var(--mauve);opacity:.45;transition:fill 1s,opacity 1s}.lock-star.lit .glow{opacity:.22}.lock-star.lit .core{fill:var(--creme);opacity:1}.countdown{justify-content:center;gap:clamp(.5rem,3vw,1.2rem);margin-top:.4rem;display:flex}.countdown div{justify-items:center;min-width:3.6rem;display:grid}.countdown strong{font-family:var(--serif);color:var(--rose-clair);font-variant-numeric:lining-nums tabular-nums;font-size:clamp(2.2rem,11vw,3.2rem);font-weight:400;line-height:1}.countdown small{letter-spacing:.18em;text-transform:uppercase;color:var(--mauve);font-size:.7rem}.unlocked .lock-sky{width:min(78vw,18rem)}.unlocked .lock-line{stroke-dashoffset:1px;animation:2.6s .3s forwards draw-heart}.unlocked .lock-star .core{animation:.8s both light-up;animation-delay:inherit}.unlocked .lock-star{animation:none}.unlocked .lock-star .glow{opacity:.35}.unlocked h1{opacity:0;font-size:clamp(1.9rem,7vw,2.8rem);animation:1.4s 1.8s forwards rise}.unlocked button{opacity:0;animation:1s 2.4s forwards rise}.unlocked .lock-sky.open{filter:drop-shadow(0 0 12px #e8c98a73)}@keyframes draw-heart{to{stroke-dashoffset:0;opacity:.8}}@keyframes light-up{0%{fill:var(--mauve);opacity:.3}to{fill:var(--creme);opacity:1}}.tv-show{gap:1rem;display:grid}.tv-count{letter-spacing:.22em;text-transform:uppercase;color:var(--dore);border:1px solid #e8c98a73;border-radius:999px;justify-self:center;margin:0;padding:.15rem .9rem;font-size:.72rem}.tv-stage{background:radial-gradient(55% 75% at 18% 0,#e8c98a29,#0000 70%),radial-gradient(55% 75% at 82% 0,#e7b8cf24,#0000 70%),linear-gradient(#51243c99,#180f20eb);border:1px solid #e8c98a40;border-radius:1.2rem;grid-template-columns:1fr 1fr;grid-template-areas:"host guest""panel panel";align-items:end;gap:.6rem 1rem;padding:1.2rem 1rem 1.1rem;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -18px 30px -18px #e8c98a40,0 14px 40px #00000059}.tv-stage:before{content:"";background:radial-gradient(circle, var(--dore) 0 1.5px, transparent 2px) 0 0 / 14px 4px repeat-x;opacity:.55;height:4px;position:absolute;top:.45rem;left:.8rem;right:.8rem}.tv-host{grid-area:host;align-items:flex-end;min-width:0;display:flex}.tv-guest{grid-area:guest;justify-self:end}.tv-host .figure,.tv-guest .figure{flex:none;width:64px}.tv-cue{border-block:.35rem solid var(--creme);background:var(--creme);width:5.4rem;color:var(--bordeaux);font-family:var(--serif);-webkit-line-clamp:4;border-radius:.3rem;-webkit-box-orient:vertical;margin:0 0 2.4rem -.7rem;padding:0 .45rem;font-size:.7rem;line-height:1.2;animation:.45s both cue-in;display:-webkit-box;overflow:hidden;transform:rotate(-6deg);box-shadow:0 4px 10px #00000059}@keyframes cue-in{0%{opacity:0;transform:rotate(-6deg)rotateY(90deg)}}.tv-panel{text-align:center;background:#180f20bf;border:1px solid #e8c98a66;border-radius:.9rem;grid-area:panel;padding:1.1rem 1rem;transition:border-color .4s,box-shadow .4s;animation:.45s .4s both panel-in}@keyframes panel-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}.tv-question{font-family:var(--serif);color:var(--creme);overflow-wrap:anywhere;margin:0;font-size:clamp(1.45rem,5.4vw,2.1rem);font-weight:500;line-height:1.25}.tv-show.right .tv-panel,.tv-show.opened .tv-panel{border-color:var(--dore);box-shadow:0 0 26px #e8c98a59}@media (width>=720px){.tv-stage{grid-template-columns:auto 1fr auto;grid-template-areas:"host panel guest";padding:1.8rem 1.4rem 1.4rem}.tv-host .figure,.tv-guest .figure{width:84px}.tv-panel{align-self:center;padding:1.6rem 1.4rem}}.tv-play{gap:.8rem;display:grid}.tv-answers{gap:.7rem;display:grid}@media (width>=720px){.tv-answers{grid-template-columns:1fr 1fr}}button.tv-answer{min-height:3.6rem;color:var(--creme);text-align:left;touch-action:manipulation;background:#fff7f10d;border:1px solid #e8c98a4d;border-radius:.9rem;align-items:center;gap:.8rem;padding:.7rem 1rem;font-size:1.08rem;transition:background .2s,border-color .2s,box-shadow .3s,transform .15s;display:flex}.tv-letter{border:1px solid var(--dore);width:2rem;height:2rem;color:var(--dore);font-family:var(--serif);border-radius:50%;flex:none;place-items:center;font-weight:600;transition:background .2s,color .2s;display:grid}button.tv-answer.selected{border-color:var(--rose);background:#e7b8cf2e;box-shadow:0 0 0 2px #e7b8cf4d}button.tv-answer.selected .tv-letter{background:var(--rose);border-color:var(--rose);color:var(--prune)}button.tv-answer.wrong{background:#51243c80;border-color:#d6bed173;animation:.4s tv-shake}button.tv-answer.right{border-color:var(--dore);background:#e8c98a2e;box-shadow:0 0 18px #e8c98a73}button.tv-answer.right .tv-letter{background:var(--dore);color:var(--prune)}button.tv-answer:disabled{opacity:1;cursor:default}button.tv-answer:disabled:not(.right,.wrong,.selected){opacity:.5}@keyframes tv-shake{25%{transform:translate(-5px)}75%{transform:translate(4px)}}.tv-write{color:var(--mauve);gap:.4rem;font-size:.85rem;display:grid}input.tv-input{width:100%;color:var(--creme);font-family:var(--serif);background:#fff7f10f;border:1px solid #e8c98a66;border-radius:.9rem;padding:.9rem 1rem;font-size:1.3rem}input.tv-input.wrong{border-color:#d6bed173;animation:.4s tv-shake}input.tv-input.right{border-color:var(--dore);box-shadow:0 0 18px #e8c98a73}.tv-feedback:empty{display:none}.tv-feedback p{text-align:center;font-family:var(--serif);color:var(--rose-clair);margin:0;font-size:1.2rem;font-style:italic}.tv-feedback .tv-bravo{color:var(--dore);font-size:1.5rem}button.tv-validate{border-color:#e8c98a99;justify-self:center;width:min(100%,17rem);padding:.85rem 1.4rem;font-size:1.05rem}.tv-sparkles{pointer-events:none;position:absolute;inset:0}.tv-sparkles .pop-heart{top:1rem}.tv-sparkles i{color:var(--dore);opacity:0;font-style:normal;animation:1.1s ease-out forwards sparkle;position:absolute}.tv-sparkles .s0{top:28%;left:10%}.tv-sparkles .s1{animation-delay:.15s;top:12%;left:28%}.tv-sparkles .s2{animation-delay:.3s;top:20%;left:46%}.tv-sparkles .s3{animation-delay:.1s;top:10%;left:64%}.tv-sparkles .s4{animation-delay:.25s;top:26%;left:84%}.tv-sparkles .s5{animation-delay:.4s;top:62%;left:20%}.tv-sparkles .s6{animation-delay:.2s;top:70%;left:56%}.tv-sparkles .s7{animation-delay:.35s;top:64%;left:88%}.tv-opened{text-align:center;justify-items:center;gap:.8rem;animation:.5s both rise;display:grid}.tv-opened p{font-family:var(--serif);color:var(--dore);margin:0;font-size:1.35rem}.tv-reveal{z-index:20;background:#0c0710f0;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow:auto}.tv-curtain{z-index:1;pointer-events:none;background:repeating-linear-gradient(90deg,#51243c 0 18px,#3e1b2e 18px 36px);width:50%;position:fixed;top:0;bottom:0;box-shadow:inset 0 -40px 50px #00000073}.tv-curtain.left{animation:.9s cubic-bezier(.6,.05,.3,1) .15s forwards curtain-left;left:0}.tv-curtain.right{animation:.9s cubic-bezier(.6,.05,.3,1) .15s forwards curtain-right;right:0}@keyframes curtain-left{to{transform:translate(-100%)}}@keyframes curtain-right{to{transform:translate(100%)}}.tv-reveal-box{text-align:center;justify-items:center;gap:.8rem;width:min(34rem,100%);animation:.6s .45s both rise;display:grid;position:relative}.tv-reveal-box .kicker{margin:0}.tv-reveal-box img,.tv-reveal-box video{border:2px solid #e8c98a99;border-radius:.8rem;max-width:100%;max-height:62dvh;box-shadow:0 0 40px #e8c98a4d}.tv-reveal-text{font-family:var(--serif);color:var(--rose-clair);margin:0;font-size:clamp(1.5rem,6vw,2.2rem);line-height:1.3}.tv-caption{font-family:var(--serif);color:var(--creme);margin:0;font-size:1.2rem;font-style:italic}.tv-end{text-align:center;justify-items:center;gap:.6rem;display:grid}.tv-end-duo{gap:1rem;display:flex}.tv-end-duo .figure{width:64px}.tv-end .tagline{margin:0}.tv-score{text-align:center}.tv-memories{gap:.5rem;display:grid}.tv-memories h2{font-family:var(--serif);color:var(--rose-clair);margin:0;font-size:1.3rem;font-weight:400}.tv-memories button{text-align:left;color:var(--creme);align-items:center;gap:.7rem;display:flex}.tv-memories img,.tv-memories button>span[aria-hidden]{object-fit:cover;width:2.6rem;height:2.6rem;color:var(--rose);border-radius:.4rem;flex:none;place-items:center;display:grid}.quiz-mine .row{flex-wrap:wrap;justify-content:flex-start;gap:.4rem}.quiz-mine .row button{padding:.45rem .9rem}@media (prefers-reduced-motion:reduce){.tv-curtain{display:none}}.ticket{text-align:left;border-style:dashed;gap:.5rem;max-width:22rem;margin:1.2rem 0 .4rem;padding:1rem 1.25rem;display:grid}.ticket div{justify-content:space-between;gap:1rem;display:flex}.ticket dt{color:var(--mauve);font-size:.85rem}.ticket dd{color:var(--creme);text-align:right;margin:0}.tv-picker{background:var(--prune);width:min(28rem,100vw - 2rem);color:var(--creme);border:1px solid #e8c98a4d;border-radius:1rem;padding:1rem}.tv-picker::backdrop{background:#180f20b3}.tv-picker .v-picks{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));max-height:60dvh;margin-bottom:.8rem}.tv-picker>button{width:100%}.tv-chosen{align-items:center;gap:.5rem}.tv-chosen img{object-fit:cover;border-radius:.5rem;width:72px;height:72px}.film{z-index:10;cursor:pointer;background:#000;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.film>video,.film-photo{object-fit:contain;max-width:100%;max-height:100dvh;animation:.6s both fade-in}.film-photo{animation:.6s both fade-in,5s ease-out both film-zoom}@keyframes film-zoom{0%{transform:scale(1)}to{transform:scale(1.08)}}.film-text{color:var(--creme);font-family:var(--serif);text-align:center;text-wrap:balance;margin:0;font-size:clamp(1.3rem,5vw,2rem)}.film-bookend{justify-items:center;gap:1rem;padding:1rem;animation:.8s both rise;display:grid}.film-duo{margin:0}.film-controls{top:max(.75rem, env(safe-area-inset-top));gap:.5rem;display:flex;position:absolute;right:.75rem}.film-scene{gap:.6rem;display:grid}.film-scene textarea{width:100%}.film-scene-media{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.film-scene-media img{object-fit:cover;border-radius:.4rem;width:56px;height:56px;display:block}.film-scene-media button{min-width:56px;min-height:56px;padding:0}
