@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Quicksand:wght@500;600;700&display=swap";:root{--ink: #0b0820;--serif: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;--sans: "Quicksand", "Segoe UI", system-ui, sans-serif;--gold: #ffd36b;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--sans);background:var(--ink);color:#fff;overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.app{position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;width:100vw;overflow:hidden}.app canvas{display:block;touch-action:none}.btn{font-family:var(--sans);font-size:1.02rem;font-weight:700;letter-spacing:.02em;padding:14px 32px;border-radius:999px;border:1px solid transparent;cursor:pointer;color:#fff;min-height:48px}.btn:focus-visible,.sound:focus-visible,.logo:focus-visible{outline:2px solid #fff;outline-offset:3px}.btn-color{background:linear-gradient(135deg,var(--c),var(--c2));color:#1a1030;box-shadow:0 8px 28px color-mix(in srgb,var(--c) 45%,transparent)}.btn-gold{background:linear-gradient(135deg,#ffe08a,#ffb02e);color:#3a2200;box-shadow:0 10px 34px #ffbe4680}.btn-glass{background:#ffffff1f;border-color:#ffffff47;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.hud{position:absolute;top:calc(var(--safe-t) + 22px);left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 16px;text-align:center;pointer-events:none;z-index:20}.hud-hint{font-family:var(--serif);font-size:clamp(1.15rem,3.4vw,1.6rem);font-weight:600;letter-spacing:.02em;text-shadow:0 2px 18px rgba(10,6,30,.8),0 0 24px rgba(255,211,107,.35);transition:opacity .6s ease}.hud-hint.dim{opacity:.25}.hud-progress{display:inline-flex;align-items:center;gap:12px;padding:8px 18px;border-radius:999px;font-size:.92rem;font-weight:600;background:#0e0a2480;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.hud-dots{display:inline-flex;gap:6px}.hud-dots i{width:9px;height:9px;border-radius:50%;background:#fff3;transition:background .6s,box-shadow .6s,transform .6s}.hud-dots i.on{background:var(--c);box-shadow:0 0 10px var(--c);transform:scale(1.15)}.msg-wrap{position:fixed;left:0;right:0;bottom:calc(var(--safe-b) + 52px);display:flex;justify-content:center;padding:0 14px;pointer-events:none;z-index:30}.msg-card{pointer-events:auto;position:relative;width:min(560px,100%);padding:26px 28px 22px;border-radius:26px;text-align:center;background:#0e0a2494;border:1px solid color-mix(in srgb,var(--c) 55%,rgba(255,255,255,.2));backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:0 24px 70px #00000073,0 0 60px color-mix(in srgb,var(--c) 28%,transparent);overflow:hidden}.msg-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,transparent,var(--c),transparent)}.msg-icon{width:52px;height:52px;margin:-2px auto 10px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--c) 16%,transparent);border:1px solid color-mix(in srgb,var(--c) 60%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--c) 40%,transparent)}.msg-title{font-size:.86rem;font-weight:700;letter-spacing:.08em;color:var(--c);margin-bottom:8px}.msg-text{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(1.55rem,5vw,2.2rem);line-height:1.22;text-wrap:balance;margin-bottom:20px}.sound{position:fixed;left:14px;bottom:calc(var(--safe-b) + 12px);width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:#ffffffbf;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;z-index:60}.sound:hover{color:#fff}.logo{position:fixed;right:18px;bottom:calc(var(--safe-b) + 18px);z-index:60;font-family:var(--serif);font-size:1.05rem;font-weight:600;letter-spacing:.14em;color:#ffffff94;text-decoration:none;text-shadow:0 1px 10px rgba(0,0,0,.5);transition:color .3s}.logo:hover{color:#fffffff2}.finale{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none}.finale-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(14,8,40,.62) 0%,rgba(14,8,40,.28) 34%,transparent 52%),linear-gradient(0deg,rgba(14,8,40,.5) 0%,transparent 22%)}.finale-motes{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.mote{position:absolute;bottom:-20px;border-radius:50%;opacity:0;animation:rise var(--d) linear var(--delay) infinite}@keyframes rise{0%{transform:translateZ(0) scale(.4);opacity:0}10%{opacity:.9}to{transform:translate3d(var(--dx),-110vh,0) scale(1);opacity:0}}.finale-top{position:absolute;top:calc(var(--safe-t) + 4vh);left:0;right:0;padding:0 18px;text-align:center}.finale-title{font-family:var(--serif);font-weight:700;line-height:1}.finale-word{display:inline-block;white-space:nowrap;margin:0 .14em;font-size:clamp(2.5rem,8.4vw,5.6rem)}.finale-letter{display:inline-block}.finale-from{display:block;margin-top:.5rem;font-family:var(--sans);font-size:clamp(.9rem,2.4vw,1.25rem);font-weight:600;color:#ffffffd9;text-shadow:0 2px 14px rgba(10,6,30,.8)}.finale-brand{font-family:var(--serif);font-weight:700;font-size:1.5em;background:linear-gradient(100deg,#fff2c2,#ffd36b 30%,#fff,#ffd36b 70%,#fff2c2);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 4.5s linear infinite}@keyframes shimmer{to{background-position:-220% 0}}.finale-rule{display:flex;width:min(300px,62vw);height:3px;margin:20px auto 16px;border-radius:3px;overflow:hidden;transform-origin:center}.finale-rule i{flex:1}.finale-tagline{font-family:var(--serif);font-size:clamp(1.25rem,3.4vw,1.9rem);font-weight:600;font-style:italic;text-shadow:0 2px 16px rgba(10,6,30,.85);text-wrap:balance}.finale-sub{margin-top:6px;font-size:clamp(.95rem,2.3vw,1.2rem);font-weight:600;color:#fffc;text-shadow:0 2px 12px rgba(10,6,30,.85)}.finale-actions{position:absolute;left:0;right:0;bottom:calc(var(--safe-b) + 54px);display:flex;justify-content:center;gap:14px;flex-wrap:wrap;padding:0 16px;pointer-events:auto}.gallery{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;overflow-y:auto;background:radial-gradient(120% 90% at 50% 0%,#2a1660,#120a30 55%,#0b0820)}.gallery-glow{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(40% 30% at 15% 20%,rgba(255,211,107,.14),transparent 70%),radial-gradient(40% 30% at 85% 70%,rgba(155,89,182,.18),transparent 70%)}.gallery-inner{position:relative;max-width:1040px;margin:0 auto;padding:calc(var(--safe-t) + 78px) 20px calc(var(--safe-b) + 90px)}.gallery-back{position:fixed;top:calc(var(--safe-t) + 16px);left:16px;z-index:5;padding:10px 20px;min-height:42px;font-size:.95rem}.gallery-head{text-align:center;margin-bottom:36px}.gallery-head h2{font-family:var(--serif);font-size:clamp(2.1rem,6vw,3.4rem);font-weight:700;line-height:1.05}.gallery-head p{margin-top:8px;font-weight:600;color:#ffffffb3}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:18px}.gallery-card{position:relative;display:flex;align-items:center;gap:18px;padding:20px 24px;border-radius:22px;background:linear-gradient(110deg,color-mix(in srgb,var(--c) 17%,transparent),#ffffff0a 70%);border:1px solid color-mix(in srgb,var(--c) 40%,rgba(255,255,255,.1));box-shadow:0 0 40px color-mix(in srgb,var(--c) 10%,transparent);overflow:hidden}.gallery-card:before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:3px;border-radius:3px;background:var(--c);box-shadow:0 0 14px var(--c)}.gallery-icon{flex:none;width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--c) 18%,transparent);border:1px solid color-mix(in srgb,var(--c) 60%,transparent);box-shadow:0 0 26px color-mix(in srgb,var(--c) 45%,transparent)}.gallery-copy h3{font-size:.86rem;font-weight:700;letter-spacing:.06em;color:var(--c);margin-bottom:4px}.gallery-copy p{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(1.3rem,3.6vw,1.65rem);line-height:1.2}.gallery-foot{text-align:center;margin-top:44px}.gallery-foot p{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:#ffffffd9}.finale-rule.static{margin-top:0}@media (max-width: 640px){.hud{top:calc(var(--safe-t) + 14px);gap:9px}.hud-progress{font-size:.82rem;padding:7px 14px;gap:9px}.msg-card{padding:20px 20px 18px;border-radius:22px}.msg-icon{width:44px;height:44px;margin-bottom:8px}.msg-text{margin-bottom:16px}.finale-top{top:calc(var(--safe-t) + 2.5vh)}.finale-actions{flex-direction:column;align-items:center;bottom:calc(var(--safe-b) + 50px)}.finale-actions .btn{width:min(300px,100%)}.gallery-card{padding:16px 18px;gap:14px}.gallery-icon{width:52px;height:52px}}@media (max-height: 520px) and (orientation: landscape){.hud-hint{font-size:1rem}.msg-wrap{bottom:calc(var(--safe-b) + 40px)}.msg-card{width:min(520px,100%);padding:14px 20px}.msg-icon{display:none}.msg-text{font-size:1.4rem;margin-bottom:10px}}@media (prefers-reduced-motion: reduce){.mote,.finale-brand{animation:none}}.msg-card{background:linear-gradient(160deg,color-mix(in srgb,var(--c) 24%,#0e0a24),#0a071ee6);min-height:250px}.msg-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 52%,rgba(10,7,30,.6),transparent 78%)}.msg-card>*:not(.tbg):not(.msg-flash){position:relative;z-index:2}.msg-text{text-shadow:0 2px 18px rgba(8,5,24,.9)}.msg-word{display:inline-block;white-space:pre}.msg-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:radial-gradient(circle at 50% 0%,var(--c),var(--c2));opacity:0;animation:flash 1.3s ease-out both}@keyframes flash{0%{opacity:1;clip-path:circle(0% at 50% -10%)}35%{opacity:1;clip-path:circle(150% at 50% -10%)}to{opacity:0;clip-path:circle(150% at 50% -10%)}}.burst{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:29}.burst i{position:absolute;left:50%;top:46%;width:calc(5px + var(--s) * 8px);height:calc(5px + var(--s) * 8px);border-radius:50%;background:var(--pc);box-shadow:0 0 14px var(--pc),0 0 4px #fff;opacity:0;animation:burst 1.3s cubic-bezier(.45,.05,.25,1) var(--de) forwards}@keyframes burst{0%{transform:translate(0) scale(.4);opacity:0}15%{opacity:1}55%{transform:translate(var(--mx),var(--my)) scale(1)}to{transform:translate(var(--ex),var(--ey)) scale(.3);opacity:0}}.tbg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;border-radius:inherit;contain:layout paint}.tbg i,.tbg b,.tbg span,.tbg u{position:absolute;display:block}@keyframes tw{0%,to{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1.2)}}@keyframes up{0%{transform:translateY(30px) scale(.6);opacity:0}15%{opacity:.9}85%{opacity:.6}to{transform:translateY(-280px) scale(1.1) rotate(12deg);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drift{to{transform:translate(18%,-8%) scale(1.15)}}@keyframes beat{0%,to{transform:scale(.92);opacity:.6}12%{transform:scale(1.08);opacity:1}30%{transform:scale(.97)}}.tb-up{top:auto!important;bottom:-8%;animation:up var(--d) ease-in infinite var(--de)}.tb-glow{top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--c) 55%,transparent),transparent 62%);animation:beat 4s ease-in-out infinite}.tb-letter{font-family:var(--serif);font-weight:700;color:#ffe27a;font-size:calc(14px + var(--s) * 16px);text-shadow:0 0 12px rgba(255,215,0,.8)}.tb-mote{width:calc(2px + var(--s) * 3px);height:calc(2px + var(--s) * 3px);border-radius:50%;background:#ffe58a;box-shadow:0 0 8px gold;animation:tw var(--d) ease-in-out infinite var(--de)}.bk-book{position:absolute;left:50%;bottom:-6%;width:90%;height:66%;transform:translate(-50%);perspective:900px;transform-style:preserve-3d}.bk-pg{top:0;bottom:0;width:50%;background:linear-gradient(100deg,#fff4c838,#ffe28c1a);border:1px solid rgba(255,226,140,.38);box-shadow:inset 0 0 40px #ffd70029}.bk-l{left:0;border-radius:14px 0 0;transform:rotateY(8deg);transform-origin:right}.bk-r{right:0;border-radius:0 14px 0 0;transform:rotateY(-8deg);transform-origin:left}.bk-flip{top:2%;bottom:2%;left:50%;width:48%;transform-origin:left center;background:linear-gradient(90deg,#ffecaa5c,#fff8dc24);border-radius:0 12px 0 0;opacity:0;animation:flip 3.6s ease-in-out infinite var(--de)}@keyframes flip{0%{transform:rotateY(0);opacity:0}8%{opacity:1}50%{transform:rotateY(-175deg);opacity:1}62%{opacity:0}to{transform:rotateY(-175deg);opacity:0}}.pt-swirl{top:-40%;right:-40%;bottom:-40%;left:-40%;background:conic-gradient(from 0deg,#ff4d6d,#ffb02e,#ffe14d,#6bd968,#4ecdc4,#4d9bff,#b36bff,#ff4d6d);filter:blur(46px);opacity:.4;animation:spin 14s linear infinite}.pt-strokes{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.pt-stroke{fill:none;stroke-width:8;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;animation:strokeIn 7s ease-in-out infinite var(--de)}@keyframes strokeIn{0%{stroke-dashoffset:1;opacity:0}10%{opacity:.85}45%{stroke-dashoffset:0}80%{opacity:.85}to{stroke-dashoffset:0;opacity:0}}.tb-drop{width:calc(5px + var(--s) * 9px);height:calc(5px + var(--s) * 9px);border-radius:50% 50% 50% 8%;box-shadow:0 0 10px #ffffff80}.tl-fog{border-radius:50%;filter:blur(30px);background:#b48cff61;width:70%;height:60%;animation:drift 12s ease-in-out infinite alternate}.tl-f1{left:-20%;bottom:-20%}.tl-f2{right:-20%;top:-20%;background:#6e78ff52;animation-duration:16s}.tb-star{width:calc(2px + var(--s) * 3px);height:calc(2px + var(--s) * 3px);border-radius:50%;background:#fff;box-shadow:0 0 8px #d9c3ff;animation:tw var(--d) ease-in-out infinite var(--de)}.tl-const{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.tl-line{fill:none;stroke:#e3d1ff;stroke-width:.7;stroke-dasharray:1;stroke-dashoffset:1;animation:constDraw 9s ease-in-out infinite}@keyframes constDraw{0%{stroke-dashoffset:1;opacity:0}8%{opacity:1}50%,85%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.tl-node{fill:#fff;transform-box:fill-box;transform-origin:center;animation:tw 3s ease-in-out infinite var(--de)}.tl-shoot{top:12%;left:-10%;width:90px;height:2px;background:linear-gradient(90deg,transparent,#fff);opacity:0;animation:shoot 6s ease-in infinite 1s}@keyframes shoot{0%{transform:translate(0) rotate(18deg);opacity:0}4%{opacity:1}22%{transform:translate(520px,170px) rotate(18deg);opacity:0}to{opacity:0}}.gl-ocean{top:-10%;right:-10%;bottom:-10%;left:-10%;background:radial-gradient(circle at 50% 50%,#3498db80,#0e3c7826 70%)}.gl-map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.gl-grid line{stroke:#96d2ff3d;stroke-width:.3}.gl-land path{fill:#78c8ff3d;stroke:#beebff8c;stroke-width:.4;animation:landGlow 5s ease-in-out infinite}@keyframes landGlow{50%{fill:#ffe28c5c}}.gl-trail{fill:none;stroke:#ffe9a6;stroke-width:.9;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;animation:trailIn 7s ease-in-out infinite var(--de)}@keyframes trailIn{0%{stroke-dashoffset:1;opacity:0}6%{opacity:1}45%,80%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.gl-pin{fill:#fff;transform-box:fill-box;transform-origin:center;animation:tw 2.4s ease-in-out infinite var(--de)}.mu-pulse{top:-10%;right:-10%;bottom:-10%;left:-10%;background:radial-gradient(circle at 50% 55%,color-mix(in srgb,var(--c) 60%,transparent),transparent 60%);animation:beat 1.1s ease-in-out infinite}.mu-ring{left:50%;top:55%;width:40px;height:40px;margin:-20px;border-radius:50%;border:2px solid rgba(255,200,120,.7);opacity:0;animation:ripple 3.6s ease-out infinite var(--de)}@keyframes ripple{0%{transform:scale(.4);opacity:.9}to{transform:scale(14);opacity:0}}.mu-eq{position:absolute;left:0;right:0;bottom:0;height:40%;display:flex;align-items:flex-end;gap:3%;padding:0 4%;opacity:.5}.tbg .mu-eq b{position:static;flex:1;height:100%;border-radius:4px 4px 0 0;background:linear-gradient(0deg,var(--c),transparent);transform-origin:bottom;animation:eq .9s ease-in-out infinite alternate var(--de)}@keyframes eq{0%{transform:scaleY(.15)}to{transform:scaleY(calc(.25 + var(--k) * .75))}}.tb-note{color:#ffcf70;font-size:calc(18px + var(--s) * 18px);text-shadow:0 0 12px rgba(243,156,18,.9)}.fw-sun{top:-10%;right:-10%;bottom:-10%;left:-10%;background:radial-gradient(circle at 70% 20%,rgba(255,240,170,.5),transparent 50%),radial-gradient(circle at 20% 90%,color-mix(in srgb,var(--c) 40%,transparent),transparent 55%)}.fw-petal{top:-6%!important;width:calc(8px + var(--s) * 8px);height:calc(5px + var(--s) * 5px);border-radius:100% 0;background:linear-gradient(135deg,#ffd0e2,#ff9ecb);opacity:0;animation:fall var(--d) linear infinite var(--de)}@keyframes fall{0%{transform:translate(0) rotate(0);opacity:0}10%{opacity:.9}50%{transform:translate(40px,150px) rotate(180deg)}to{transform:translate(-20px,340px) rotate(420deg);opacity:0}}.fw-pollen{width:3px;height:3px;border-radius:50%;background:#fff2a8;box-shadow:0 0 6px #ffe66a;animation:tw 3s ease-in-out infinite var(--de)}.fw-breeze{height:2px;width:120px;left:-30%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);opacity:0;animation:breeze 5s ease-in-out infinite var(--de)}@keyframes breeze{0%{transform:translate(0);opacity:0}30%{opacity:.8}to{transform:translate(560px);opacity:0}}.fw-bloom{width:90px;height:90px;bottom:-14px;animation:bloom 5s ease-in-out infinite}.fw-b1{left:4%}.fw-b2{right:4%;animation-delay:-2.4s}.tbg .fw-bloom b{left:50%;top:50%;width:26px;height:44px;margin:-44px 0 0 -13px;border-radius:50% 50% 40% 40%;background:linear-gradient(0deg,#ff7eb6,#ffd0e2);transform-origin:50% 100%;transform:rotate(var(--r))}.fw-bloom u{left:50%;top:50%;width:20px;height:20px;margin:-10px;border-radius:50%;background:#ffd54a;box-shadow:0 0 14px #ffd54a}@keyframes bloom{0%{transform:scale(.2) rotate(-20deg);opacity:0}30%,75%{transform:scale(1) rotate(0);opacity:1}to{transform:scale(1.05) rotate(8deg);opacity:0}}.sr-cloud{border-radius:50%;filter:blur(26px);width:60%;height:55%;background:radial-gradient(circle,rgba(255,200,235,.6),rgba(190,160,255,.28) 60%,transparent 72%);animation:drift 10s ease-in-out infinite alternate}.sr-c1{left:-15%;top:-12%}.sr-c2{right:-18%;top:20%;animation-duration:13s}.sr-c3{left:20%;bottom:-25%;animation-duration:15s}.tb-spark{width:calc(8px + var(--s) * 14px);height:calc(8px + var(--s) * 14px);background:#fff;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation:tw var(--d) ease-in-out infinite var(--de)}.sr-wonder{width:calc(6px + var(--s) * 14px);height:calc(6px + var(--s) * 14px);border-radius:50%;border:1px solid rgba(255,208,240,.7);background:#ffd0f026}.rn-glow{top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at 30% 50%,color-mix(in srgb,var(--c) 55%,transparent),transparent 60%);animation:beat .6s ease-in-out infinite}.rn-line{left:auto!important;right:-30%;height:2px;width:calc(50px + var(--s) * 140px);border-radius:2px;background:linear-gradient(270deg,transparent,rgba(255,235,235,.85));opacity:0;animation:streak calc(.6s + var(--k) * .9s) linear infinite var(--de)}@keyframes streak{0%{transform:translate(0);opacity:0}15%{opacity:1}to{transform:translate(-760px);opacity:0}}.rn-spark{width:calc(3px + var(--s) * 5px);height:calc(3px + var(--s) * 5px);border-radius:50%;background:#ff9d6b;box-shadow:0 0 10px #ff6b6b}.btn-theme{position:relative;overflow:hidden;color:#1a1030;background:linear-gradient(135deg,var(--c),var(--c2));box-shadow:0 8px 28px color-mix(in srgb,var(--c) 50%,transparent);padding-inline:34px}.btn-theme:before{content:var(--g, "✦");margin-right:.55em}.btn-theme:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translate(-120%);animation:sheen 2.8s ease-in-out infinite}@keyframes sheen{to{transform:translate(120%)}}@keyframes hue{to{background-position:-200% 0}}@keyframes glowBeat{0%,to{box-shadow:0 8px 22px color-mix(in srgb,var(--c) 40%,transparent)}15%{box-shadow:0 8px 40px var(--c)}}.btn-theme-book{--g: "❦";border-radius:6px 22px 22px 6px;border-left:6px solid rgba(120,60,0,.45)}.btn-theme-paint{--g: "✎";background:linear-gradient(110deg,#ff4d6d,#ffb02e,#ffe14d,#6bd968,#4ecdc4,#4d9bff,#b36bff,#ff4d6d);background-size:200% 100%;animation:hue 5s linear infinite}.btn-theme-telescope{--g: "✦";background:linear-gradient(135deg,#c9a4ff,#7d3fa8);color:#fff}.btn-theme-globe{--g: "➤";border-radius:14px}.btn-theme-music{--g: "♪";animation:glowBeat 1.1s ease-in-out infinite}.btn-theme-flower{--g: "✿";border-radius:28px 8px}.btn-theme-stars{--g: "★"}.btn-theme-running{--g: "»";border-radius:10px 30px}.finale-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;pointer-events:none;background:radial-gradient(circle at 50% 55%,#fff6cf,#ffd36b 35%,transparent 72%)}.finale-sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,2.6vw,1.45rem);color:#fff4d6eb}.gallery-card{min-height:150px}.gallery-card>.tbg{opacity:.6;z-index:0}.gallery-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#0a071e8c,#0a071e33)}.gallery-icon,.gallery-copy{position:relative;z-index:2}.gallery-no{display:block;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;margin-bottom:2px}.gallery-copy p{text-shadow:0 2px 14px rgba(8,5,24,.9)}@media (max-width: 640px){.msg-card{min-height:230px}.btn-theme{padding-inline:26px}}@media (max-height: 520px) and (orientation: landscape){.msg-card{min-height:0}}@media (prefers-reduced-motion: reduce){.tbg *,.burst i,.msg-flash,.btn-theme,.btn-theme:after{animation-duration:.01s!important;animation-iteration-count:1!important}}.gallery-card{min-height:220px;padding:14px 24px 14px 12px;gap:6px}.gallery-stage{position:relative;flex:none;width:170px;height:200px;cursor:pointer;touch-action:pan-y;z-index:2}.gallery-copy{flex:1;min-width:0}.gallery-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.gallery-row .gallery-icon{width:42px;height:42px}.gallery-row .gallery-no,.gallery-row h3{margin-bottom:0}.gallery-hint{display:inline-block;margin-top:10px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffff80}@media (max-width: 640px){.gallery-card{min-height:190px;padding:10px 16px 10px 6px}.gallery-stage{width:122px;height:165px}.gallery-row .gallery-icon{width:36px;height:36px}.gallery-copy p{font-size:1.2rem}}.gallery-stage{background:none;border:0;outline:0;box-shadow:none}.gallery-card:after{background:linear-gradient(90deg,transparent 0%,rgba(10,7,30,.12) 28%,rgba(10,7,30,.55) 58%,rgba(10,7,30,.42) 100%)}.gallery-card>.tbg{opacity:.85}.gallery-canvas,.gallery-canvas canvas{background:transparent!important;outline:none;border:0}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{width:100%;height:100vh}
