@font-face{font-family:Celebration;src:url('assets/display.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:Celebration;src:url('assets/display-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Hindi;src:url('assets/hindi.ttf') format('truetype');font-weight:400 600;font-display:swap}
:root{--ivory:#fff0d9;--gold:#edce96;--muted:#d4c1a3;--night:#070d18;--safe-top:max(0px,env(safe-area-inset-top,0px));--safe-bottom:max(0px,env(safe-area-inset-bottom,0px))}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--night);color:var(--ivory);-webkit-text-size-adjust:100%}body{font-family:Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #ffe0a1;outline-offset:5px}[lang=hi]{font-family:Hindi,'Noto Sans Devanagari',sans-serif;letter-spacing:0;line-height:1.65} [hidden]{display:none!important}
#experience{position:relative;width:100%;height:100svh;min-height:560px;overflow:hidden;isolation:isolate;background:#07101e}#world,#scenery,.atmosphere,.vignette,#warmth,#effects,.grain{position:absolute;inset:0;pointer-events:none}#world{z-index:-3}#scenery{background:url('assets/palace-unlit.jpg') center/cover no-repeat;filter:brightness(.65);transition:filter 3s,transform 8s;transform:scale(1.04)}#experience[data-scene=path] #scenery{filter:brightness(.9)}#experience[data-scene=sky] #scenery{transform:scale(1.04) translateY(6%)}#experience[data-scene=finale] #scenery{filter:brightness(.35)}.atmosphere{background:linear-gradient(0deg,#030810bb,transparent 50%,#03071177)}.vignette{box-shadow:inset 0 0 100px 25px #02081466}#warmth{background:radial-gradient(ellipse at 50% 70%,#ff861d44,transparent 50%);opacity:0;transition:opacity 3s}#effects{z-index:-1;width:100%;height:100%}.real-3d #scenery{opacity:0}.real-3d #effects{transition:filter 2s}.real-3d[data-scene=finale] #effects{filter:brightness(.4)}.grain{opacity:.035;z-index:5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
header{position:absolute;top:calc(var(--safe-top) + 14px);left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;z-index:20;gap:8px}.brand{display:flex;align-items:center;gap:7px;color:#f5dfbb;text-decoration:none;font-size:13px;font-weight:600;letter-spacing:2px}.brand svg{width:22px;height:30px;stroke:#d7ad6a;stroke-width:1;fill:none}.brand svg path+path{fill:#d7ad6a;stroke:none}.brand-light{font-weight:300}.brand small{display:block;font-size:7px;letter-spacing:1.8px;font-weight:400;margin-top:4px;color:var(--muted)}nav{display:flex;gap:6px;align-items:center}.icon-control{height:44px;min-width:44px;border-radius:50%;background:#08101caa;border:1px solid #d3b98c55;display:grid;place-items:center;color:#ead8bc}.icon-control svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round}#motion{border-radius:24px;padding:0 11px;font-size:10px;display:flex;gap:4px}#motion span{color:var(--gold)}.sound-waves{display:none}.sound-control[aria-pressed=true] .sound-off{display:none}.sound-control[aria-pressed=true] .sound-waves{display:block}
.screen{position:absolute;inset:0;pointer-events:none;text-align:center}.screen button,.screen a,.screen input{pointer-events:auto}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2px;color:var(--gold);line-height:1.8;margin:0 auto 18px;max-width:300px}.intro-screen{padding:calc(var(--safe-top) + 15svh) 20px 0;background:linear-gradient(0deg,#030711bb,transparent 38%,#03071118)}.intro-screen h1{font-family:Celebration,Georgia,serif;font-size:clamp(48px,13vw,68px);font-weight:400;letter-spacing:-1.6px;line-height:.98;margin:0;text-shadow:0 3px 35px #000}em{font-weight:400;color:var(--gold)}.intro-hindi{font-size:23px;color:var(--ivory);margin:20px 0 0}.intro-actions{position:absolute;bottom:calc(var(--safe-bottom) + 32px);left:20px;right:20px;display:flex;align-items:center;flex-direction:column;gap:10px}.primary{min-height:60px;min-width:260px;max-width:100%;padding:13px 22px;border:1px solid #e7be82;background:linear-gradient(110deg,#f1d39e,#c29355);border-radius:10px;color:#271b0d;box-shadow:0 5px 35px #dc9d4030;font-size:19px;font-weight:500;transition:filter .2s,transform .2s}.primary small{display:block;font:13px/1.4 Arial,sans-serif;margin-top:2px;color:#483522}.primary:hover{filter:brightness(1.1)}.primary:active{transform:scale(.98)}.text-button{font-size:14px;line-height:1.5;background:none;color:#ead6b7;padding:8px 12px;min-height:44px}.text-button span{color:inherit}.text-button:hover{color:#ffe4b1}.duration{font-size:9px;letter-spacing:1.4px;color:var(--muted);margin:0}#personal{margin:12px auto;max-width:320px;text-shadow:0 2px 10px #000}#personal-hi{font-size:19px;margin:0}#personal-en{font-size:14px;margin:4px 0 0;color:var(--muted)}
.chapter-heading{position:absolute;top:calc(var(--safe-top) + 13%);width:100%;padding:0 22px}.chapter-heading .eyebrow{margin-bottom:12px;font-size:10px}.chapter-heading h2{font-family:Celebration,Georgia,serif;font-size:clamp(35px,9.5vw,46px);font-weight:400;line-height:1.05;margin:0;text-shadow:0 2px 24px #000}.chapter-hindi{font-size:21px;color:var(--ivory);margin:12px 0 0;text-shadow:0 2px 18px #000}.hold-target{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:96px;height:96px;border-radius:50%;background:radial-gradient(circle,#fbc16d22,transparent 65%);touch-action:pinch-zoom;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;display:grid;place-items:center;color:#fbe0af;transition:opacity .3s}.hold-target svg{position:absolute;inset:0;fill:none;stroke-width:1;overflow:visible}.ring-base{stroke:#ffe0a18c}#ring{stroke:#ffe1a6;stroke-width:2.5;stroke-dasharray:270.177;stroke-dashoffset:270.177;transform:rotate(-90deg);transform-origin:center;filter:drop-shadow(0 0 4px #ffac51)}#hold-symbol{font-size:25px;text-shadow:0 0 20px #ffc56d}.hold-target:disabled{opacity:0;pointer-events:none}.interaction-copy{position:absolute;bottom:calc(var(--safe-bottom) + 56px);width:100%;padding:30px 18px 0;text-shadow:0 2px 12px #000;background:linear-gradient(transparent,#030711aa 35%)}.interaction-copy #instruction-hi{font-size:22px;font-weight:500;line-height:1.55;margin:0 0 4px}.interaction-copy #instruction{font-size:15px;line-height:1.4;letter-spacing:.1px;margin:0 0 10px;color:#e2ceb0}#alternative{padding:9px 18px;border:1px solid #e1c18a66;border-radius:26px;background:#08101c88;min-height:52px}#alternative-hi{font-size:17px;display:block;line-height:1.45}#alternative-en{display:block;font-size:12px;color:var(--muted);line-height:1.4}.steps{display:flex;justify-content:center;gap:8px;margin-top:16px}.steps span{width:28px;height:3px;background:#c7b08544}.steps span.current{background:#f6cf8c;box-shadow:0 0 8px #ffc26e66}.steps span.done{background:#a78754}
.finale-screen{padding:calc(var(--safe-top) + 88px) 22px calc(var(--safe-bottom) + 45px);overflow-y:auto;background:linear-gradient(#03071122,#03071166);animation:reveal 1.5s both}.finale-screen .eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:14px}.final-hindi{font-size:clamp(34px,10vw,45px);color:var(--gold);line-height:1.3;margin:0 0 4px}.finale-screen h2{font-family:Celebration,Georgia,serif;font-size:clamp(43px,12vw,60px);line-height:1.05;font-weight:400;margin:0;letter-spacing:-1px}.fine-line{width:50px;height:1px;background:#ddbd7877;margin:17px auto}.wish{font-family:Celebration,Georgia,serif;font-size:22px;line-height:1.25;margin:0;color:#f0e4d3}.wish-hindi{font-size:18px;color:#eadbc2;line-height:1.65;margin:10px 0}.signature-label{font-size:9px;letter-spacing:2px;color:var(--muted);margin:18px 0 6px}.signature{font-family:Celebration,Georgia,serif;font-size:34px;font-style:italic;margin:0;color:#ffe3b1}.team{font-size:12px;letter-spacing:2px;color:#decaab;margin:8px 0 20px}.final-actions{display:flex;align-items:center;gap:5px;flex-direction:column}.final-actions .primary{min-width:260px}.final-actions .text-button{font-size:14px}footer{position:absolute;bottom:calc(var(--safe-bottom) + 8px);left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);z-index:15;pointer-events:none}footer button{pointer-events:auto}#footer-note{font-size:8px;letter-spacing:1px;max-width:120px;line-height:1.8}footer #skip{font-size:12px;min-height:44px;padding:8px 0}footer #skip [lang=hi]{font-size:14px}.year{display:none}
#pause-overlay{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#030916dd;backdrop-filter:blur(9px)}#pause-overlay p{font-family:Hindi,sans-serif;font-size:26px}#toast{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);background:#122130f5;border:1px solid #8d7546;color:#f1dbb6;border-radius:8px;padding:12px 18px;font-size:15px;z-index:45;opacity:0;transition:opacity .3s;pointer-events:none;width:max-content;max-width:90%}#toast.visible{opacity:1}#copy-url{max-width:100%;width:420px;padding:12px;color:#f5d49d;background:#0b1623;border:1px solid #bc9151;margin:12px;font-size:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.no-script{position:fixed;inset:0;background:#101b2b;display:grid;place-content:center;text-align:center;padding:30px}.reduced #scenery{transition:none;transform:none!important}.reduced .finale-screen{animation:none}.paused #scenery{transition:none}@keyframes reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:768px){header{left:4.5%;right:4.5%;top:28px}.brand{font-size:16px;gap:12px}.brand small{font-size:8px}.brand svg{width:28px;height:33px}nav{gap:12px}#motion{font-size:12px;padding:0 14px}.intro-screen{padding-top:16vh}.intro-screen h1{font-size:clamp(70px,7.5vw,116px)}.eyebrow{max-width:none;font-size:11px;letter-spacing:3px}.intro-hindi{font-size:26px}.intro-actions{bottom:9%}.chapter-heading{top:15%}.chapter-heading h2{font-size:clamp(48px,5vw,76px)}.chapter-hindi{font-size:24px}.interaction-copy{bottom:8%;background:none}.interaction-copy #instruction-hi{font-size:24px}.interaction-copy #instruction{font-size:16px}.finale-screen{padding-top:12vh}.final-hindi{font-size:48px}.finale-screen h2{font-size:clamp(70px,7vw,104px)}.wish{font-size:24px}.wish-hindi{font-size:21px}.signature{font-size:38px}.team{font-size:13px}footer{left:4.5%;right:4.5%;bottom:18px}#footer-note{max-width:none;font-size:9px}.year{display:block;font-size:10px;letter-spacing:2px}footer #skip{position:absolute;left:50%;transform:translateX(-50%)}.vignette{box-shadow:inset 0 0 180px 65px #02081477}}
@media(max-height:700px){.intro-screen{padding-top:100px}.intro-screen .eyebrow{font-size:9px;margin-bottom:12px}.intro-screen h1{font-size:48px}.intro-hindi{font-size:21px;margin-top:14px}#personal-hi{font-size:17px}#personal-en{font-size:13px}.intro-actions{bottom:24px;gap:4px}.duration{display:none}.chapter-heading{top:90px}.chapter-heading h2{font-size:34px}.chapter-hindi{font-size:19px;margin-top:8px}.chapter-heading .eyebrow{font-size:9px;margin-bottom:8px}.interaction-copy{bottom:48px;padding-top:18px}.interaction-copy #instruction-hi{font-size:20px}.interaction-copy #instruction{font-size:14px;margin-bottom:7px}.steps{margin-top:10px}.finale-screen{padding-top:78px}.finale-screen .eyebrow{margin-bottom:8px}.final-hindi{font-size:34px}.finale-screen h2{font-size:45px}.fine-line{margin:10px auto}.wish{font-size:19px}.wish-hindi{font-size:17px;margin:7px 0}.signature-label{margin-top:10px}.signature{font-size:30px}.team{margin-bottom:12px}.final-actions .primary{min-height:55px;padding:8px 20px}}
@media(max-width:360px){header{left:12px;right:12px;gap:4px}.brand{font-size:11px;letter-spacing:1.2px}.brand small{font-size:6px}nav{gap:4px}#motion{font-size:9px;padding:0 8px}.chapter-heading{padding:0 16px}.chapter-heading h2{font-size:32px}.intro-screen h1{font-size:47px}}
@media(prefers-reduced-motion:reduce){#scenery{transition:none;transform:none!important}.finale-screen{animation:none}}

#experience[data-scene=intro] #footer-note{display:none}.finale-screen{pointer-events:auto;padding-bottom:calc(var(--safe-bottom) + 65px)}
