:root{--night: #05060f;--night-glow: #121a3a;--text: #f3eee2;--gold: #e8cf9a;--muted: #a9b0cc}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:radial-gradient(ellipse at 50% 120%,var(--night-glow) 0%,var(--night) 65%) fixed,var(--night);color:var(--text);overflow:hidden;font-family:Cormorant Garamond,Georgia,serif}#sky{position:fixed;inset:0;width:100%;height:100%;display:block}#sky-parallax{position:fixed;inset:-90px;overflow:hidden;background:radial-gradient(ellipse at 50% 120%,var(--night-glow) 0%,var(--night) 65%),var(--night);will-change:transform}#sky-photo{position:absolute;left:50%;top:50%;height:max(145vw,145vh);width:max(290vw,290vh);background:url(/sky/milky-way-2k.jpg) center / cover no-repeat;mix-blend-mode:screen;opacity:0;transform:translate(-50%,-50%) rotate(-28deg);transition:opacity 2.5s ease-out;animation:sky-drift 150s ease-in-out infinite alternate;will-change:transform}.is-ready #sky-photo{opacity:.95}#sky-photo:after{content:"";position:absolute;inset:39% 37%;background:radial-gradient(ellipse at center,#ffdeb48c,#ffc4962e 40%,#ffc49600 70%);mix-blend-mode:screen;animation:breathe 7s ease-in-out infinite alternate}@keyframes breathe{0%{opacity:.15;transform:scale(.94)}to{opacity:.85;transform:scale(1.06)}}@keyframes sky-drift{0%{transform:translate(-50%,-50%) rotate(-28deg) scale(1)}to{transform:translate(-50%,-50%) rotate(-20deg) scale(1.06)}}.enter-btn{margin-top:1.6rem;padding:.7rem 1.8rem;font:inherit;font-size:clamp(1rem,3.5vw,1.2rem);letter-spacing:.12em;color:var(--text);background:#141a3c73;border:1px solid rgba(232,207,154,.6);border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 0 22px #e8cf9a2e;cursor:pointer;transition:background .3s,box-shadow .3s;animation:fade-in 1s ease-out 2.4s both}.enter-btn:hover{background:#282e5a99;box-shadow:0 0 30px #e8cf9a59}.enter-btn:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.enter-btn:disabled{cursor:wait;opacity:.8}#hall{position:fixed;inset:0;z-index:1;opacity:0;pointer-events:none;transition:opacity 1.6s ease-out}#hall canvas{display:block;touch-action:none;cursor:grab}#hall canvas.is-dragging{cursor:grabbing}body.in-hall #hall{opacity:1;pointer-events:auto}.intro,#sky-parallax,#sky{transition:opacity 1.4s ease-out}body.in-hall .intro{opacity:0;pointer-events:none;z-index:3}body.in-hall #sky-parallax,body.in-hall #sky{opacity:0}.joystick{position:fixed;z-index:5;left:max(24px,env(safe-area-inset-left));bottom:max(28px,env(safe-area-inset-bottom));width:110px;height:110px;border-radius:50%;background:#141a3c59;border:1px solid rgba(232,207,154,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);touch-action:none;display:none;opacity:0;transition:opacity 1s ease-out 2.5s}.joystick-knob{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#e8cf9a8c;box-shadow:0 0 14px #e8cf9a59}@media(pointer:coarse){body.in-play .joystick{display:block;opacity:1}}.hall-hint{position:fixed;z-index:5;left:50%;top:max(20px,env(safe-area-inset-top));transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);padding:.5rem 1.1rem;font-size:.95rem;letter-spacing:.04em;text-align:center;color:var(--text);background:#0a0e228c;border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .8s ease-out}.hall-hint.is-visible{opacity:1}.credit{position:fixed;z-index:5;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));font-size:.72rem;letter-spacing:.04em;color:var(--muted);opacity:.45}.intro{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 16px;gap:.6rem}.eyebrow{font-size:clamp(.85rem,2.5vw,1.1rem);letter-spacing:.35em;text-transform:uppercase;color:var(--muted);animation:fade-in .8s ease-out .2s both}.title{font-weight:300;font-size:clamp(2.2rem,8vw,5rem);letter-spacing:.04em;line-height:1.1;text-shadow:0 0 24px rgba(200,210,255,.35);animation:fade-in 1s ease-out .4s both}.divider{display:flex;align-items:center;gap:.8rem;width:min(260px,60vw);color:var(--gold);font-size:.9rem;animation:fade-in .75s ease-out 1s both}.divider:before,.divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.6}.names{font-style:italic;font-weight:300;font-size:clamp(1.6rem,5.5vw,3rem);color:var(--gold);text-shadow:0 0 18px rgba(232,207,154,.35);animation:fade-in 1.25s ease-out 1.25s both}.names .amp{font-style:normal;margin:0 .15em;opacity:.85}.music-btn{position:fixed;z-index:5;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;font:inherit;color:var(--text);background:#141a3c73;border:1px solid rgba(232,207,154,.35);border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer;transition:background .3s,border-color .3s;animation:fade-in .6s ease-out 1.9s both}.music-btn:hover{background:#1e265099}.music-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.music-icon{color:var(--gold);font-size:1.3rem;line-height:1}.music-btn.is-playing{border-color:#e8cf9acc;box-shadow:0 0 16px #e8cf9a40}.music-btn.is-playing .music-icon{animation:bob 1.6s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes fade-in{0%{opacity:0;transform:translateY(12px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}body:not(.is-ready) .intro>*,body:not(.is-ready) .settings-btn{animation-play-state:paused}@keyframes fade-only{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.eyebrow,.title,.divider,.names,.settings-btn{animation-name:fade-only}}body.in-hall .credit{bottom:auto;top:max(16px,env(safe-area-inset-top))}.creator{position:fixed;z-index:6;right:max(16px,env(safe-area-inset-right));top:50%;width:340px;max-height:calc(100vh - 32px);overflow-y:auto;padding:1.2rem 1.3rem 1.3rem;color:var(--text);background:#0a0e22b8;border:1px solid rgba(232,207,154,.3);border-radius:20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 40px #0006;opacity:0;pointer-events:none;transform:translate(20px,-50%);transition:opacity .6s ease-out,transform .6s ease-out}.creator.is-open{opacity:1;pointer-events:auto;transform:translateY(-50%)}.creator h2{font-weight:300;font-size:1.6rem;letter-spacing:.03em;margin-bottom:.8rem;text-align:center}.creator h3{font-weight:500;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem}.creator-name{display:block;margin-bottom:1rem}.creator-name span{display:block;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}.creator-name input{width:100%;padding:.55rem .8rem;font:inherit;font-size:1.1rem;color:var(--text);background:#ffffff12;border:1px solid rgba(232,207,154,.35);border-radius:10px;outline:none}.creator-name input:focus{border-color:var(--gold)}.creator-group{margin-bottom:1rem}.chips,.swatches{display:flex;flex-wrap:wrap;gap:.4rem}.chips{margin-bottom:.55rem}.chip{padding:.35rem .85rem;font:inherit;font-size:1rem;color:var(--text);background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:999px;cursor:pointer}.chip[aria-pressed=true]{background:#e8cf9a38;border-color:var(--gold)}.swatch{width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.25);cursor:pointer;padding:0}.swatch[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 2px #e8cf9a80}.chip:focus-visible,.swatch:focus-visible,.creator-done:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.creator-done{display:block;width:100%;margin-top:.4rem;padding:.75rem;font:inherit;font-size:1.15rem;letter-spacing:.1em;color:#1a1424;background:linear-gradient(180deg,#f1dcae,var(--gold));border:none;border-radius:999px;cursor:pointer}@media(max-width:759px){.creator{inset:auto 0 0;width:auto;max-height:56vh;padding-bottom:max(1.3rem,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;transform:translateY(30px)}.creator.is-open{transform:none}.creator h2{font-size:1.35rem;margin-bottom:.6rem}}.look-btn{position:fixed;z-index:5;right:max(16px,env(safe-area-inset-right));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 56px);width:44px;height:44px;display:none;align-items:center;justify-content:center;font-size:1.15rem;color:var(--gold);background:#141a3c73;border:1px solid rgba(232,207,154,.35);border-radius:50%;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer}body.in-play .look-btn{display:flex}body.in-creator .credit{display:none}.creator-random{display:block;margin:-.2rem auto .9rem;padding:.4rem 1.1rem;font:inherit;font-size:1rem;letter-spacing:.05em;color:var(--text);background:#ffffff0f;border:1px dashed rgba(232,207,154,.55);border-radius:999px;cursor:pointer}.creator-random:hover{background:#e8cf9a26}.creator-random:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.creator-sub{font-size:.85rem;color:var(--muted);margin:.15rem 0 .3rem}.creator-sub span{opacity:.7}.hall-actions{position:fixed;z-index:5;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translate(-50%,10px);display:flex;gap:.6rem;opacity:0;pointer-events:none;transition:opacity .4s ease-out,transform .4s ease-out}.hall-actions.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.hall-actions button{padding:.65rem 1.3rem;font:inherit;font-size:1.1rem;letter-spacing:.05em;color:var(--text);background:#141a3c99;border:1px solid rgba(232,207,154,.55);border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 0 18px #e8cf9a2e;cursor:pointer;white-space:nowrap}.hall-actions button:hover{background:#282e5ab3}.hall-actions button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.hall-actions button[hidden]{display:none}@media(pointer:coarse){.hall-actions{left:auto;right:max(72px,env(safe-area-inset-right));transform:translateY(10px);flex-direction:column;align-items:flex-end}.hall-actions.is-visible{transform:none}}body.is-stargazing .joystick,body.is-stargazing .look-btn{display:none!important}.note-card{position:fixed;z-index:7;left:50%;top:50%;width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow-y:auto;padding:1.4rem 1.4rem 1.3rem;color:var(--text);background:#0a0e22db;border:1px solid rgba(232,207,154,.45);border-radius:20px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 14px 50px #00000080;opacity:0;pointer-events:none;transform:translate(-50%,-46%);transition:opacity .35s ease-out,transform .35s ease-out}.note-card.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.note-card h2{font-weight:300;font-style:italic;font-size:1.8rem;text-align:center;color:var(--gold);margin-bottom:.4rem}.note-intro{text-align:center;font-size:1.05rem;line-height:1.4;color:#efe4cc;margin-bottom:1rem}.note-field{display:block;margin-bottom:.8rem}.note-field span{display:block;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem}.note-field input,.note-field textarea{width:100%;padding:.55rem .75rem;font:inherit;font-size:1.05rem;color:var(--text);background:#ffffff12;border:1px solid rgba(232,207,154,.35);border-radius:10px;outline:none;resize:vertical}.note-field input:focus,.note-field textarea:focus{border-color:var(--gold)}.note-error{color:#f2b8b8;font-size:.95rem;text-align:center;margin:-.3rem 0 .6rem}.note-send{display:block;width:100%;padding:.75rem;font:inherit;font-size:1.15rem;letter-spacing:.06em;color:#1a1424;background:linear-gradient(180deg,#f1dcae,var(--gold));border:none;border-radius:999px;cursor:pointer}.note-link{display:block;margin:.7rem auto 0;font:inherit;font-size:1rem;color:var(--gold);background:none;border:none;text-decoration:underline;cursor:pointer}.note-close{position:absolute;top:.5rem;right:.7rem;width:36px;height:36px;font-size:1.6rem;line-height:1;color:var(--text);background:none;border:none;cursor:pointer;opacity:.7}.note-close:hover{opacity:1}.note-send:focus-visible,.note-link:focus-visible,.note-close:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.note-list{max-height:46vh;overflow-y:auto;margin-bottom:1rem}.note-list blockquote{font-style:italic;font-size:1.1rem;line-height:1.4;padding:.6rem .2rem;border-bottom:1px solid rgba(232,207,154,.2)}.note-list cite{display:block;font-style:normal;font-size:.9rem;color:var(--gold);margin-top:.2rem}.photo-pick{display:block;margin-bottom:.9rem;cursor:pointer}.photo-preview{display:flex;align-items:center;justify-content:center;text-align:center;width:190px;height:190px;margin:0 auto;padding:.8rem;font-size:1.05rem;line-height:1.5;color:#efe4cc;background:#ffffff0f;border:1.5px dashed rgba(232,207,154,.6);border-radius:14px;overflow:hidden}.photo-preview img{width:100%;height:100%;object-fit:cover;border-radius:8px}.photo-pick:focus-within .photo-preview{outline:2px solid var(--gold);outline-offset:3px}.photo-view{background:#fbf8f2;padding:14px 14px 6px;border-radius:6px;margin-top:1.2rem;box-shadow:0 8px 30px #0006;transform:rotate(-1.5deg)}.photo-view img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.photo-view p{font-family:Caveat,cursive;font-size:1.8rem;color:#3a3340;text-align:center;padding:.3rem 0 .2rem}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-height:52vh;overflow-y:auto;margin-bottom:1rem;padding:4px}.photo-thumb{background:#fbf8f2;border:none;border-radius:3px;padding:5px 5px 2px;cursor:pointer;box-shadow:0 3px 10px #00000059;transition:transform .2s ease-out}.photo-thumb:nth-child(odd){transform:rotate(-1.5deg)}.photo-thumb:nth-child(2n){transform:rotate(1.2deg)}.photo-thumb:hover,.photo-thumb:focus-visible{transform:scale(1.05)}.photo-thumb img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.photo-thumb span{display:block;font-family:Caveat,cursive;font-size:1.05rem;color:#3a3340;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-view .photo-wish-text{font-size:1.6rem;line-height:1.15;padding-bottom:0}.photo-view .photo-by{font-size:1.3rem;color:#9a7a4a;padding-top:.1rem}.npc-bubble{position:fixed;z-index:5;max-width:min(260px,70vw);padding:.55rem .9rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;line-height:1.3;text-align:center;color:#1d2340;background:#fbf8f2;border:1.5px solid #d8b56a;border-radius:16px;box-shadow:0 6px 20px #00000059;pointer-events:none;transform:translate(-50%,calc(-100% - 12px));opacity:0;transition:opacity .4s ease-out}.npc-bubble:after{content:"";position:absolute;left:50%;bottom:-8px;width:14px;height:14px;background:#fbf8f2;border-right:1.5px solid #d8b56a;border-bottom:1.5px solid #d8b56a;transform:translate(-50%) rotate(45deg)}.npc-bubble.is-visible{opacity:1}.sign-area{position:relative;margin-bottom:.8rem;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,#3a4558,#1b2333 60%,#2a3446);border:1.5px solid rgba(216,181,106,.7)}.sign-area canvas{display:block;width:100%;height:auto;aspect-ratio:600 / 240;touch-action:none;cursor:crosshair}.sign-hint{position:absolute;left:0;right:0;bottom:18%;text-align:center;font-style:italic;color:#ffffff59;border-top:1px dashed rgba(255,255,255,.25);margin:0 12%;padding-top:.2rem;pointer-events:none}.sign-buttons{display:flex;align-items:center;gap:.8rem}.sign-buttons .note-send{flex:1}.sign-buttons .note-link{margin:0}body:after{content:"";position:fixed;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 45%,transparent 0,transparent 38vmax,rgba(4,6,14,.55) 52vmax,rgba(4,6,14,.92) 70vmax);opacity:0;transition:opacity .8s ease-out}body.is-scope:after{opacity:1}.sky-label{position:fixed;z-index:3;transform:translate(-50%,-50%);font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:1.05rem;letter-spacing:.04em;color:#f6e7c4;text-shadow:0 0 10px rgba(255,210,140,.6),0 1px 3px rgba(0,0,0,.8);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .6s ease-out}.sky-label.is-visible{opacity:.95}.memory-group{text-align:center;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);opacity:.85;margin-bottom:.6rem}.memory-photo{border-radius:10px;overflow:hidden;margin-bottom:.8rem;aspect-ratio:4 / 3;background:#0b1026}.memory-photo img{display:block;width:100%;height:100%;object-fit:cover}.memory-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;color:#f4dc9cd9;background:radial-gradient(circle at 30% 30%,#2b3566,#141c42 70%)}.memory-placeholder span{font-size:2.4rem}.memory-placeholder small{font-style:italic;font-size:1rem}.memory-date{text-align:center;font-size:.95rem;color:#d9c8a4;margin-bottom:.6rem}.memory-caption{text-align:center;font-size:1.1rem;line-height:1.45;color:#efe4cc}.memory-from{text-align:center;font-style:italic;color:var(--gold);margin-top:.5rem}.memory-nav{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;color:#d9c8a4}.memory-nav .note-link{margin:0}.memory-nav .note-link:disabled{opacity:.3;cursor:default}.star-wish-text{font-family:Great Vibes,Snell Roundhand,cursive;font-size:2rem;line-height:1.25;text-align:center;color:#ffe9c4;text-shadow:0 0 12px rgba(255,200,120,.5);margin:.6rem 0 .4rem}.demo-badge{position:fixed;z-index:9;top:10px;right:12px;padding:.25rem .7rem;font-size:.85rem;color:#1d2340;background:#f3dfae;border-radius:999px;pointer-events:none}@media(pointer:coarse){.hall-actions{left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(28px,env(safe-area-inset-bottom));flex-direction:column;align-items:flex-end;gap:.5rem;transform:translateY(10px)}.hall-actions.is-visible{transform:translateY(0)}.hall-actions button{padding:.55rem 1rem;font-size:1rem}}.settings{position:fixed;z-index:8;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}.settings-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;font:inherit;font-size:1.35rem;line-height:1;color:var(--gold);background:#141a3c73;border:1px solid rgba(232,207,154,.35);border-radius:50%;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer;transition:background .3s,border-color .3s,transform .4s ease-out;animation:fade-in .6s ease-out 1.9s both}.settings-btn:hover,.settings-btn.is-open{background:#1e2650a6;border-color:#e8cf9abf}.settings-btn.is-open span{display:inline-block;transform:rotate(60deg);transition:transform .4s ease-out}.settings-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.settings-panel{position:absolute;top:54px;right:0;width:220px;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;background:#0a0e22e0;border:1px solid rgba(232,207,154,.4);border-radius:16px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 30px #00000073}.settings-panel[hidden]{display:none}.settings-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .8rem;font:inherit;font-size:1.05rem;text-align:left;color:var(--text);background:transparent;border:none;border-radius:10px;cursor:pointer}.settings-item:hover,.settings-item:focus-visible{background:#e8cf9a1f;outline:none}.settings-icon{width:1.3rem;text-align:center;color:var(--gold)}.music-toggle.is-playing .music-icon{animation:bob 1.6s ease-in-out infinite}body:not(.in-play) .settings-edit{display:none}.settings-volume{display:flex;align-items:center;gap:.6rem;padding:.3rem .8rem .6rem 2.7rem;font-size:.95rem;color:#d9c8a4}.settings-volume input{flex:1;accent-color:#d8b56a;min-width:0}@media(max-width:600px){.hall-hint{top:calc(max(16px,env(safe-area-inset-top)) + 60px);max-width:calc(100vw - 32px)}}.live-view{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:max(16px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at center,#10173a,#05070f 75%);opacity:0;transition:opacity .35s ease}.live-view[hidden]{display:none}.live-view.is-open{opacity:1}.live-view-frame{width:min(100%,calc((100vh - 120px) * 16 / 9));aspect-ratio:16 / 9;border:2px solid #d8b56a;border-radius:6px;overflow:hidden;box-shadow:0 0 40px #96aaff40}.live-view-frame img,.live-view-frame video{display:block;width:100%;height:100%;object-fit:cover}.live-view-hint{margin:0;color:#f4eee2b3;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:1rem}@media(orientation:landscape),(pointer:fine){.live-view-hint{display:none}}.live-view-back{font:inherit;font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;color:#f4eee2;background:#141a3ad9;border:1px solid rgba(216,181,106,.6);border-radius:999px;padding:10px 22px;cursor:pointer}.live-view-back:hover,.live-view-back:focus-visible{border-color:#d8b56a;outline:none}.hall-actions .yam-btn{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;border-color:#e8cf9ae6;box-shadow:0 0 22px #e8cf9a59}.yam-bubble{font-weight:600;white-space:nowrap;max-width:none}.yam-bubble.is-mine{z-index:6}.yam-bubble.is-big{font-size:1.35rem;color:#8a1c36;background:#fff7e6}.yam-bubble.is-big:after{background:#fff7e6}.chat-bubble{max-width:min(240px,62vw);font-size:1rem;overflow-wrap:anywhere}.chat-bubble.is-mine{border-color:#9fb3e6}.social-bar{position:fixed;z-index:6;left:max(20px,env(safe-area-inset-left));bottom:calc(max(28px,env(safe-area-inset-bottom)) + 64px);display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;opacity:0;pointer-events:none;transition:opacity .4s ease-out}.social-bar.is-visible{opacity:1;pointer-events:auto}@media(pointer:coarse){.social-bar{left:max(24px,env(safe-area-inset-left));bottom:calc(max(28px,env(safe-area-inset-bottom)) + 124px)}}.social-buttons{display:flex;align-items:center;gap:.5rem}.social-buttons button,.react-picker button{width:46px;height:46px;border-radius:50%;font-size:1.3rem;line-height:1;color:var(--text);background:#141a3c99;border:1px solid rgba(232,207,154,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer}.social-buttons button:hover,.react-picker button:hover{background:#282e5abf}.social-buttons button:focus-visible,.react-picker button:focus-visible,.chat-form button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.guest-count{position:fixed;z-index:5;left:max(16px,env(safe-area-inset-left));top:calc(max(16px,env(safe-area-inset-top)) + 22px);opacity:0;pointer-events:none;transition:opacity .4s ease-out;padding:.3rem .75rem;font-size:.9rem;letter-spacing:.04em;color:var(--text);background:#141a3c73;border-radius:999px}.guest-count.is-visible{opacity:1}.guest-count[hidden],.react-picker[hidden],.chat-form[hidden]{display:none}.react-picker{display:flex;gap:.45rem;padding:.4rem;background:#0e122c8c;border:1px solid rgba(232,207,154,.3);border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.chat-form{display:flex;gap:.4rem;width:min(360px,calc(100vw - 40px))}.chat-form input{flex:1;min-width:0;padding:.6rem .9rem;font:inherit;font-size:16px;color:var(--text);background:#0e122cbf;border:1px solid rgba(232,207,154,.5);border-radius:999px;outline:none}.chat-form input:focus{border-color:var(--gold)}.chat-form button{padding:.6rem 1rem;font:inherit;color:#1d2340;background:#e8cf9a;border:none;border-radius:999px;cursor:pointer}.hall-actions button.yam-btn.is-calling{border-color:var(--gold);box-shadow:0 0 0 2px #e8cf9a8c,0 0 18px #e8cf9a99;animation:yam-call 1.1s ease-in-out infinite alternate}@keyframes yam-call{0%{box-shadow:0 0 0 2px #e8cf9a59,0 0 8px #e8cf9a4d}to{box-shadow:0 0 0 3px #e8cf9acc,0 0 24px #e8cf9abf}}@media(prefers-reduced-motion:reduce){.hall-actions button.yam-btn.is-calling{animation-duration:2.4s}}
