.rv-root{--rv-night-1:var(--color-sunken);--rv-night-2:var(--color-page);--rv-night-3:var(--color-tint);--rv-coral:var(--color-btn-hover);--rv-head:var(--font-display);--rv-serif:var(--font-display);--rv-slot:78px;position:relative}.rv-root *{box-sizing:border-box}.rv-root h1,.rv-root h2{font-family:var(--rv-head);letter-spacing:0;font-weight:500}.rv-root button{font:inherit;cursor:pointer}.rv-root :focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-ctl)}.rv-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rv-sealed{z-index:100;position:fixed;inset:0;overflow:hidden auto}.rv-bg{pointer-events:none;position:absolute;inset:0}.rv-bg-night{background:radial-gradient(120% 80% at 50% 38%, var(--rv-night-3) 0%, var(--rv-night-2) 45%, var(--rv-night-1) 100%)}.rv-bg-dawn{opacity:0;background:radial-gradient(130% 70% at 50% 0%, var(--color-tint) 0%, var(--color-page) 55%, var(--color-page) 100%)}.rv-star{background:var(--color-strong);opacity:.2;border-radius:50%;width:3px;height:3px;animation:3.2s ease-in-out infinite rv-twinkle;position:absolute}@keyframes rv-twinkle{50%{opacity:.9;transform:scale(1.4)}}.rv-cover{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:32px 16px 48px;display:flex;position:relative}.rv-owner-night{border:1px solid var(--color-line-strong);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-soft);margin:0;padding:10px 12px;font-size:13px;position:absolute;top:14px;left:16px;right:16px}.rv-kicker{font:600 13px/1.4 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin:0 0 6px}.rv-cover h1{color:var(--color-strong);margin:0;font-size:clamp(32px,8.5vw,48px);line-height:1.1}.rv-from{color:var(--color-soft);margin:8px 0 0;font-size:17px}.rv-stage{aspect-ratio:1;width:min(260px,70vw);margin:28px 0 22px;position:relative}.rv-stage svg{width:100%;height:100%;overflow:visible}.rv-gift{transform-box:fill-box;transform-origin:50% 100%;animation:3.6s ease-in-out infinite rv-bob,4.8s ease-in-out 2.4s infinite rv-nudge}.rv-sealed[data-opening=true] .rv-gift{animation:none}@keyframes rv-bob{50%{transform:translateY(-6px)}}@keyframes rv-nudge{0%,86%,to{rotate:none}89%{rotate:-3deg}92%{rotate:3deg}95%{rotate:-2deg}98%{rotate:1deg}}.rv-lid,.rv-bow{transform-box:fill-box;transform-origin:50% 100%}.rv-glow{aspect-ratio:1;opacity:0;pointer-events:none;background:radial-gradient(closest-side,#e9d096f2,#c9a86a73 40%,#c9a86a00 72%);width:150%;position:absolute;top:36%;left:50%;translate:-50% -50%;scale:0}.rv-rays{opacity:.55;background:repeating-conic-gradient(#f1eadb80 0deg 6deg,#f1eadb00 6deg 22deg);border-radius:50%;animation:14s linear infinite rv-spin;position:absolute;inset:-10%;-webkit-mask:radial-gradient(closest-side,#000 35%,#0000 70%);mask:radial-gradient(closest-side,#000 35%,#0000 70%)}@keyframes rv-spin{to{rotate:360deg}}.rv-open{border-radius:var(--radius-ctl);background:var(--color-btn);color:var(--color-on-btn);font:600 20px/1 var(--rv-head);border:0;padding:16px 34px;transition:transform .15s;position:relative;box-shadow:0 10px 30px #c9a86a4d}.rv-open:hover{transform:translateY(-2px)}.rv-open:active{transform:scale(.97)}.rv-open:disabled{cursor:default}.rv-open:after{content:"";border-radius:inherit;border:1px solid #c9a86a99;animation:2.2s ease-out infinite rv-ring;position:absolute;inset:-6px}@keyframes rv-ring{0%{opacity:.9;transform:scale(.95)}to{opacity:0;transform:scale(1.25)}}.rv-hint{color:var(--color-muted);margin:14px 0 0;font-size:13px}.rv-particle{pointer-events:none;will-change:transform, opacity;position:absolute;top:36%;left:50%}.rv-note{font:600 26px/1 var(--rv-head);color:var(--color-accent);text-shadow:0 0 12px #c9a86a99}.rv-confetti{border-radius:2px;width:8px;height:13px}.rv-player{max-width:460px;margin:0 auto;padding:6px 0 40px;position:relative}.rv-rise{animation:.56s cubic-bezier(.2,.8,.2,1) both rv-rise;animation-delay:calc(var(--rv-i,0) * 70ms + .12s)}@keyframes rv-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.rv-eyebrow{text-align:center;font:600 12px/1.4 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-fg);margin:0}.rv-owner{border:1px solid var(--color-line);border-radius:var(--radius-ctl);background:var(--color-sunken);text-align:center;color:var(--color-soft);margin:0 0 18px;padding:12px;font-size:14px}.rv-art{width:236px;height:236px;margin:8px auto 0;animation:.9s cubic-bezier(.2,.8,.2,1) both rv-art-in;position:relative}@keyframes rv-art-in{0%{opacity:0;transform:translateY(90px)scale(.55)rotate(-6deg)}70%{opacity:1;transform:translateY(-6px)scale(1.03)rotate(1deg)}to{opacity:1;transform:none}}.rv-disc,.rv-sleeve{transition:translate .9s cubic-bezier(.2,.8,.2,1)}.rv-art[data-out=true] .rv-sleeve{translate:-37px}.rv-art[data-out=true] .rv-disc{translate:37px}.rv-disc{background:radial-gradient(circle, var(--color-accent) 0 17%, #0a101c 17.5% 19%, transparent 19.5%), repeating-radial-gradient(circle, #0d1524 0 2px, #17213a 2px 4px);border-radius:50%;width:220px;height:220px;animation:3.2s linear infinite paused rv-spin;position:absolute;top:8px;left:8px;box-shadow:0 12px 30px #0006}.rv-disc[data-spin=true]{animation-play-state:running}.rv-sleeve{border-radius:var(--radius-card);background:linear-gradient(155deg, var(--color-btn-hover) 0%, var(--color-accent) 55%, var(--color-line-strong) 100%);text-align:left;flex-direction:column;justify-content:flex-end;padding:18px;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 18px 40px #0006}.rv-sleeve:before{content:"";background:#f1eadb4d;border-radius:50%;width:150px;height:150px;position:absolute;top:-34px;right:-30px}.rv-sleeve:after{content:"";opacity:.45;background:repeating-linear-gradient(170deg,#0000 0 10px,#f1eadbcc 10px 12px);height:70px;position:absolute;top:44%;left:-10%;right:-10%}.rv-sleeve b{z-index:1;font:600 26px/1.08 var(--rv-head);color:var(--color-on-btn);overflow-wrap:anywhere;position:relative}.rv-sleeve span{z-index:1;color:var(--color-on-btn);margin-top:6px;font-size:13px;font-weight:500;position:relative}.rv-title{text-align:center;color:var(--color-strong);overflow-wrap:anywhere;margin:26px 0 4px;font-size:clamp(28px,8vw,36px);line-height:1.15}.rv-byline{text-align:center;color:var(--color-soft);margin:0;font-size:15px}.rv-controls{align-items:center;gap:14px;margin:20px 0 4px;display:flex}.rv-play{background:var(--color-btn);width:58px;height:58px;color:var(--color-on-btn);border:0;border-radius:50%;flex:none;place-items:center;transition:transform .15s;display:grid;box-shadow:0 8px 20px #00000059}.rv-play:active{transform:scale(.94)}.rv-play svg{width:24px;height:24px}.rv-bar{flex:1;min-width:0}.rv-track{background:var(--color-line);cursor:pointer;touch-action:none;border-radius:999px;height:8px;position:relative}.rv-track:before{content:"";position:absolute;inset:-14px 0}.rv-fill{border-radius:inherit;background:linear-gradient(90deg, var(--color-accent), var(--rv-coral));width:0;position:absolute;inset:0 auto 0 0}.rv-knob{background:var(--color-strong);width:16px;height:16px;box-shadow:0 0 0 3px var(--color-page);border-radius:50%;position:absolute;top:50%;left:0;translate:-50% -50%}.rv-times{color:var(--color-muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:7px;font-size:12px;display:flex}.rv-lyric-stage{height:calc(var(--rv-slot) * 3);margin:14px 0 0;position:relative;overflow:hidden;-webkit-mask:linear-gradient(#0000,#000 14% 86%,#0000);mask:linear-gradient(#0000,#000 14% 86%,#0000)}.rv-row{left:0;right:0;top:var(--rv-slot);height:var(--rv-slot);text-align:center;font-family:var(--rv-serif);color:var(--color-muted);transform:translateY(calc(var(--rv-slot) * var(--d))) scale(.74);opacity:0;pointer-events:none;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0 10px;font-size:clamp(23px,6.2vw,28px);font-style:italic;font-weight:500;line-height:1.2;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .45s,color .35s;display:flex;position:absolute}.rv-row>span{overflow-wrap:anywhere;max-width:100%;display:block}.rv-row[data-d="-1"],.rv-row[data-d="1"]{opacity:.42}.rv-row[data-d="0"]{opacity:1;color:var(--color-strong);transform:translateY(0)scale(1)}.rv-row[data-d="-1"][data-line],.rv-row[data-d="1"][data-line]{pointer-events:auto}.rv-row[data-line]{cursor:pointer}.rv-row[data-intro=true]{color:var(--color-soft);font-size:clamp(21px,5.4vw,24px)}.rv-row[data-line]:hover{color:var(--color-strong)}.rv-lyrics-toggle{border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);background:var(--color-surface);color:var(--color-strong);margin:6px auto 0;padding:10px 20px;font-size:14px;font-weight:600;display:block}.rv-lyrics-toggle:hover{background:var(--color-sunken)}.rv-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-top:18px;padding:18px}.rv-lyrics h2,.rv-turn h2,.rv-share h2{color:var(--color-strong);margin:0 0 12px;font-size:18px;line-height:1.2}.rv-lyrics{animation:.45s cubic-bezier(.2,.8,.2,1) both rv-rise}.rv-sec{letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin:14px 0 4px;font-size:11px;font-weight:600}.rv-sec:first-of-type{margin-top:0}.rv-line{border-radius:var(--radius-ctl);text-align:left;width:100%;font-family:var(--rv-serif);color:var(--color-muted);background:0 0;border:0;margin:0;padding:5px 8px;font-size:20px;font-style:italic;line-height:1.35;transition:color .35s,background-color .35s;display:block}.rv-line:hover{background:var(--color-sunken)}.rv-line[data-past=true]{color:var(--color-soft)}.rv-line[data-now=true]{color:var(--color-strong);background:var(--color-sun-soft);font-weight:600}p.rv-line{color:var(--color-strong)}p.rv-line:hover{background:0 0}.rv-message{padding-top:24px;position:relative}.rv-message:before{content:"“";font:600 54px/1 var(--rv-head);color:var(--color-accent);position:absolute;top:-6px;left:14px}.rv-message p{color:var(--color-soft);white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.55}.rv-message p+p{margin-top:10px}.rv-message .rv-sig{color:var(--color-strong);margin-top:12px;font-weight:600}.rv-turn{text-align:center;background:linear-gradient(180deg, var(--color-surface), var(--color-sunken));transition:box-shadow .6s}.rv-turn[data-glow=true]{box-shadow:0 0 0 2px var(--color-accent), 0 16px 40px #c9a86a4d}.rv-turn-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-fg);margin:0 0 6px;font-size:12px;font-weight:600}.rv-turn p{color:var(--color-soft);margin:0 0 14px;line-height:1.5}.rv-cta{border-radius:var(--radius-ctl);background:var(--color-btn);width:100%;min-height:48px;color:var(--color-on-btn);font:600 19px/1 var(--rv-head);justify-content:center;align-items:center;padding:14px;text-decoration:none;display:flex}.rv-cta:hover{background:var(--color-btn-hover)}.rv-share-row{flex-wrap:wrap;gap:8px;display:flex}.rv-chip{border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-strong);border-radius:var(--radius-ctl);white-space:nowrap;min-height:44px;padding:10px 16px;font-size:14px;font-weight:500}.rv-chip:hover{background:var(--color-sunken)}.rv-made{text-align:center;color:var(--color-muted);margin:22px 0 0;font-size:13px}.rv-made button{color:var(--color-accent-fg);background:0 0;border:0;padding:8px;font-size:13px;text-decoration:underline}.rv-ai{text-align:center;color:var(--color-muted);margin:8px 0 0;font-size:12px}@media (max-width:360px){.rv-art{transform-origin:top}.rv-controls{gap:10px}}@media (prefers-reduced-motion:reduce){.rv-root *,.rv-root :before,.rv-root :after{transition:none!important;animation:none!important}}
