:root{--ivory:#fbf8f1;--cream:#f4eee2;--blue-deep:#5d7a96;--ink:#34465a;--gold:#b8924a;--gold-l:#e6cf98;--gold-d:#8a6a2c}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:#0e141b}
body.rasam{font-family:'Cormorant Garamond',serif;color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.rasam.locked{overflow:hidden;height:100svh}
.rs-app{max-width:520px;margin:0 auto;background:var(--ivory);position:relative;min-height:100svh;box-shadow:0 0 90px rgba(0,0,0,.55)}
.rs-stage{position:relative;height:100svh;overflow:hidden;background:#dfe7ee;cursor:pointer}
.rs-stage img,.rs-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rs-start{z-index:3;transition:opacity .7s ease}
.rs-video{z-index:2;opacity:0}
.rs-end{z-index:1;opacity:0;transform:scale(1.05);transition:opacity 1.2s ease,transform 9s ease-out}
.rs-stage.is-playing{cursor:default}
.rs-stage.is-playing .rs-video{opacity:1}
.rs-stage.is-playing .rs-start{opacity:0}
.rs-stage.is-revealed .rs-end{opacity:1;transform:scale(1)}
.rs-stage.is-revealed .rs-video{opacity:0;transition:opacity 1.2s ease}
.rs-start-veil{position:absolute;inset:0;z-index:4;background:radial-gradient(ellipse at 50% 46%,transparent 30%,rgba(20,30,45,.28) 100%);transition:opacity .7s}
.rs-stage.is-playing .rs-start-veil{opacity:0}
.rs-initials{position:absolute;left:50%;top:var(--seal-y,46%);transform:translate(-50%,-50%);z-index:5;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(26px,8.5vw,42px);letter-spacing:.05em;white-space:nowrap;pointer-events:none;background:linear-gradient(110deg,#6e5020 0%,#d9bd7c 28%,#fff1c9 45%,#c39b52 62%,#6e5020 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 rgba(255,240,205,.45)) drop-shadow(0 -1px 1px rgba(55,38,10,.6));animation:rs-shimmer 4.5s ease-in-out infinite;transition:opacity .6s ease,filter .6s ease}
@keyframes rs-shimmer{0%,100%{background-position:100% 0}50%{background-position:0 0}}
.rs-initials.is-dissolving{opacity:0;filter:blur(8px)}
.rs-tap{position:absolute;left:0;right:0;bottom:11%;z-index:6;display:flex;flex-direction:column;align-items:center;gap:16px;pointer-events:none;transition:opacity .5s}
.rs-tap__ring{width:56px;height:56px;border-radius:50%;border:1px solid rgba(138,106,44,.65);position:relative;background:rgba(251,248,241,.25);backdrop-filter:blur(3px)}
.rs-tap__ring:before,.rs-tap__ring:after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(184,146,74,.75);animation:rs-ping 2.6s ease-out infinite}
.rs-tap__ring:after{animation-delay:1.3s}
@keyframes rs-ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.3);opacity:0}}
.rs-tap__label{font-size:21px;letter-spacing:.32em;color:var(--gold-d);background:rgba(251,248,241,.78);padding:7px 22px;border-radius:40px;backdrop-filter:blur(5px)}
.rs-stage.is-playing .rs-tap{opacity:0}
.rs-dust{position:absolute;inset:0;z-index:7;pointer-events:none;width:100%;height:100%}
.rs-hero{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24% 19% 16%;pointer-events:none}
.rs-hero>*{opacity:0;transform:translateY(16px);filter:blur(5px);transition:opacity 1.2s ease,transform 1.2s ease,filter 1.2s ease;transition-delay:calc(var(--i,0)*.3s + .6s)}
.rs-stage.is-revealed .rs-hero>*{opacity:1;transform:none;filter:none}
.rs-bismillah{font-family:'Amiri',serif;font-size:clamp(21px,6vw,29px);color:var(--gold-d);direction:rtl;line-height:1.6}
.rs-divider{display:flex;align-items:center;gap:9px;width:130px;margin:8px auto 12px}
.rs-divider:before,.rs-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.rs-divider:after{transform:scaleX(-1)}
.rs-divider span{width:6px;height:6px;transform:rotate(45deg);background:var(--gold)}
.rs-eyebrow{font-family:'Jost',sans-serif;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--blue-deep);line-height:1.9}
.rs-name{font-family:'Pinyon Script',cursive;font-size:clamp(36px,10.5vw,52px);line-height:1.15;color:#3a4c61;margin:8px 0 0}
.rs-parents{font-style:italic;font-size:15px;color:#5b6b7b;line-height:1.4}
.rs-parents small{display:block;font-style:normal;font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-d);margin:2px 0}
.rs-amp{font-family:'Pinyon Script',cursive;font-size:38px;color:var(--gold);margin:4px 0;line-height:1}
.rs-scroll{position:absolute;bottom:3.5%;left:50%;transform:translateX(-50%);z-index:9;font-family:'Jost',sans-serif;font-size:10px;letter-spacing:.35em;color:var(--blue-deep);opacity:0;transition:opacity 1s 4s;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}
.rs-scroll i{width:1px;height:34px;background:linear-gradient(var(--gold),transparent);animation:rs-drip 2.2s ease-in-out infinite}
@keyframes rs-drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.rs-stage.is-revealed .rs-scroll{opacity:1}
.rs-music{position:fixed;top:16px;right:max(16px,calc(50% - 244px));z-index:60;width:44px;height:44px;border-radius:50%;border:1px solid rgba(184,146,74,.5);background:rgba(251,248,241,.85);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;gap:2px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .6s}
.rs-music.is-on{opacity:1;pointer-events:auto}
.rs-music b{display:block;width:2px;height:13px;background:var(--gold-d);transform-origin:bottom;animation:rs-eq 1s ease-in-out infinite}
.rs-music b:nth-child(2){animation-delay:.2s}.rs-music b:nth-child(3){animation-delay:.4s}
.rs-music.is-paused b{animation-play-state:paused}
@keyframes rs-eq{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.rs-petals{position:fixed;inset:0;pointer-events:none;z-index:40}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01s!important}}
