/* Birthday scenes share a stage, with their own pace. */
#invitation{overflow:visible}#runaway{white-space:nowrap;flex:0 0 auto;width:150px;min-width:150px;height:49px;padding:0 12px;contain:layout style}.invite-actions{flex-wrap:nowrap}.invitation-content{animation-fill-mode:backwards}#runaway:active{scale:1}.moment-scene .eyebrow{margin-bottom:10px}.moment-scene .section-title{font-size:clamp(24px,2.5vw,36px)}.moment-mount{width:min(880px,100%)}.moment-instruction{text-align:center;color:var(--muted);font-size:14px;min-height:24px;margin:12px 0}.firework-world,.moon-world{height:clamp(240px,43vh,410px);position:relative;overflow:hidden;border-radius:24px;box-shadow:0 18px 65px #4a304a13}.firework-world canvas,.moon-world canvas{display:block;width:100%;height:100%}.firework-caption{position:absolute;bottom:18px;inset-inline:0;text-align:center;font:15px var(--serif);color:#f8e6c4;letter-spacing:.18em;animation:soft-in 1.5s both}.moment-tools{display:flex;justify-content:center;align-items:center;gap:14px;min-height:58px;margin-top:8px}.moment-tools .button{min-height:42px;font-size:13px;padding:10px 23px}.moment-choices{display:flex;justify-content:center;gap:14px;margin:10px 0}.flavor-tools>[data-flavor]{background:transparent;border:1px solid var(--line);border-radius:24px;padding:11px 20px;font-size:13px}.flavor-tools>[aria-pressed=true]{background:var(--surface);border-color:var(--rose);color:var(--rose)}.moon-secret{position:absolute;right:24px;bottom:22px;color:#987962;background:transparent;font:13px var(--serif);text-decoration:underline;text-underline-offset:5px}.birthday-diary{width:min(650px,90%);margin:25px 0 12px;padding:28px 38px;border:1px solid var(--line);border-radius:7px 25px 25px 7px;background:repeating-linear-gradient(transparent 0 31px,#b8a3af15 31px 32px),var(--surface);box-shadow:0 15px 60px #76566f09;min-height:250px}.diary-date{display:block;text-align:right;font:12px Georgia,serif;color:var(--muted)}#journey-flowers{display:flex;gap:7px;flex-wrap:wrap;align-content:center;justify-content:center;min-height:125px;padding:15px 0}#journey-flowers img{width:48px;height:48px;object-fit:contain;transform:rotate(var(--turn))}.birthday-diary p{text-align:center;color:var(--muted);font-size:14px}.birthday-diary .text-button{display:block;margin:auto}.rest-scene{background:radial-gradient(ellipse at 50% 55%,#dce5e730,transparent 65%)}.rest-window{display:flex;width:220px;height:120px;margin-bottom:22px;position:relative;overflow:hidden;border-radius:110px 110px 0 0;background:linear-gradient(#aaaec650,#ead5c83b);box-shadow:0 0 80px #cad3e432}.rest-window:after{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:2px solid var(--paper)}.rest-window i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;left:25%;top:40%;box-shadow:36px -20px #fff9,85px 25px #fff5;animation:twinkle 4s infinite alternate}.rest-window i:nth-child(2){left:65%;top:30%;animation-delay:-2s}.rest-scene>.text-button{margin-top:20px}
/* Distant garden light; the candle remains the foreground light source. */
body[data-scene=wish]{background:#121521}body[data-scene=wish] .ambient{background:radial-gradient(ellipse at 20% 72%,#8d647329,transparent 52%),radial-gradient(ellipse at 70% 20%,#667cac20,transparent 60%),linear-gradient(#101423,#242136)}body[data-scene=wish] .ambient #stars{opacity:.32}body[data-scene=wish] .star{background:#f3d7b3}.wish-scene:before{content:'';position:fixed;inset:3% 0 2%;z-index:-1;pointer-events:none;background:radial-gradient(circle at 11% 72%,#f6dcab60 0 2px,#f6dcab09 9px,transparent 22px),radial-gradient(circle at 38% 48%,#f6dcab65 0 1px,#f6dcab13 6px,transparent 16px),radial-gradient(circle at 60% 26%,#f8d1b943 0 2px,transparent 17px),radial-gradient(circle at 88% 63%,#f6dcab4a 0 2px,transparent 24px);filter:blur(2px)}#wish-again{margin-left:14px}.cake-copy{border-radius:25px;background:linear-gradient(90deg,transparent,#1515212a)}
/* One timeline owns the palms. The reply has a separate, readable space. */
.highfive-pair .hand-avatar{animation:none!important;transition:none!important}.highfive-pair .clap-impact{animation:none!important}.clap-reply{display:flex;align-items:center;justify-content:center;gap:12px;min-height:32px;opacity:0;transform:translateY(5px);transition:opacity .45s,transform .45s;font:13px var(--serif);color:var(--muted);pointer-events:none;margin-top:7px}.clap-reply.visible{opacity:1;transform:none}.clap-reply>i{font-size:15px;font-style:normal;color:#bc9a64}.reply-mark{display:inline-block;width:27px;height:27px;margin-left:10px;padding-left:9px;border-left:1px solid var(--line);box-sizing:content-box;opacity:.65}.reply-mark svg{width:100%;height:100%}.clap-custom{padding:5px 12px;min-height:30px;font-size:12px}.highfive-message{margin-top:4px}.highfive-area{margin-top:15px}#clap-target-form{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:8px;margin:5px 0;color:var(--muted);font-size:13px}#clap-target{width:120px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit}#clap-target-form .button{min-height:35px;padding:8px 13px;font-size:12px}#clap-target-note{flex-basis:100%;text-align:center;font-size:12px}.highfive-button.accelerating{box-shadow:0 0 22px #a9bfda38}.finale-scene .goodnight{margin:5px 0}.reward-toast{z-index:250;pointer-events:none}dialog>.reward-toast{position:fixed;bottom:14px;max-width:calc(100% - 24px)}.snow-intro{justify-content:center}.snow-intro>div{text-align:center}.snow-world{border-color:#b2d5e5}.snow-viewport[data-mode=magic] canvas{cursor:crosshair!important}.snow-modes{flex-wrap:wrap}
@media(max-height:650px) and (orientation:landscape){#runaway{height:44px;width:140px;min-width:140px}.moment-scene{justify-content:flex-start}.moment-scene .section-title{font-size:24px}.moment-scene .eyebrow{display:none}.moment-instruction{margin:5px 0;font-size:12px}.firework-world,.moon-world{height:43vh;min-height:155px}.moment-mount{width:min(790px,94%)}.moment-tools{min-height:40px;margin-top:5px;gap:10px}.moment-tools .button,.flavor-tools>[data-flavor]{min-height:33px;padding:7px 16px;font-size:12px}.moment-scene>.text-button{padding:4px 10px;min-height:30px}.birthday-diary{min-height:150px;margin:12px 0 5px;padding:16px 25px}#journey-flowers{min-height:65px;padding:7px 0}#journey-flowers img{width:36px;height:36px}.birthday-diary p{margin:5px 0;font-size:12px}.rest-window{height:65px;width:160px;margin-bottom:10px}.rest-scene>.eyebrow{display:none}.rest-scene .section-subtitle{margin:7px 0}.rest-scene>.text-button{margin-top:5px}.clap-reply{min-height:25px;margin-top:4px;font-size:12px;gap:9px}.reply-mark{height:21px;width:21px}.finale-scene{justify-content:flex-start}.finale-scene>.section-title{font-size:24px}.highfive-area{margin-top:5px}.clap-custom{font-size:11px;min-height:25px}.highfive-message{font-size:12px;min-height:18px}.goodnight{line-height:1.5}.final-birthday{font-size:18px}.finale-scene .secret-book-open{margin-top:7px;font-size:12px;padding:8px 15px}.page-navigation .chapter-dot{width:17px}.page-navigation .chapter-dot:after{left:7px}}
@media(orientation:portrait) and (max-width:700px){.moment-scene .section-title{font-size:24px}.moment-tools{flex-wrap:wrap;gap:8px}.firework-world,.moon-world{height:36vh;min-height:240px}.birthday-diary{padding:22px 18px;width:100%}.moment-instruction{font-size:12px}.flavor-tools>[data-flavor]{padding:9px 13px}.moon-secret{right:14px;bottom:15px}.snow-modes button{padding:7px 10px}#runaway{width:137px;min-width:137px}.invite-actions{gap:8px}.invite-actions #enter{padding-inline:15px;gap:10px}.clap-reply{font-size:12px}}
@media(prefers-reduced-motion:reduce){.clap-reply,.rest-window i{transition:none;animation:none}}

.bubble-greeting{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);display:flex;gap:9px;pointer-events:none}.bubble-greeting span{width:32px;height:32px;display:grid;place-items:center;border:1px dashed #91acba55;border-radius:50%;font:16px var(--serif);color:#6a86933f;transition:background .5s,color .5s,transform .5s}.bubble-greeting .arrived{background:#fffbe7c9;color:#718a9d;border-style:solid;transform:translateY(-3px)}.birthday-delivered .bubble-greeting{filter:drop-shadow(0 0 13px #fff6b8)}.birthday-dance-complete .dance-stage{background:radial-gradient(#f9dfb2,#eddfed)}.birthday-dance-complete .dance-note{font-size:17px}.snow-intro p{max-width:660px;margin-inline:auto}
@media(min-height:651px) and (min-width:701px){.finale-scene>.eyebrow{margin-bottom:8px}.finale-scene>.section-title{font-size:31px;line-height:1.3}.finale-scene .highfive-area{margin-top:10px}.finale-scene .highfive-pair{min-height:103px}.finale-scene .clap-side{gap:10px}.finale-scene .hand-avatar{height:66px;width:62px}.finale-scene .clap-counter{margin:7px 0;font-size:22px}.finale-scene .highfive-button{min-height:44px;padding:10px 24px}.finale-scene .clap-reply{margin-top:3px;min-height:28px}.finale-scene .highfive-message{font-size:14px;line-height:1.5;margin-top:2px}.finale-scene .final-birthday{font-size:21px;line-height:1.4;margin-top:7px}.finale-scene .goodnight{font-size:12px;line-height:1.6}.finale-scene .secret-book-open{margin-top:6px;padding:9px 16px}.finale-scene .final-actions{margin-top:2px}.finale-scene .final-actions .text-button{min-height:35px;padding:7px}}

.clap-help{font-size:11px;letter-spacing:.03em;color:var(--muted);margin:7px 0 0;line-height:1.4}
