:root{--ink:#2b1742;--muted:#745f88;--faint:#9b88ac;--glass:#fffcffa8;--glass-strong:#fffdffd6;--line:#5b318121;--line-bright:#ffffffc7;--violet:#7f4bb2;--violet-deep:#54217f;--violet-soft:#c7a6ea;--rose:#ef9cbe;--gold:#d9a84d;--gold-light:#ffe7a9;--shadow:0 28px 80px #3d195b2b;--soft-shadow:0 14px 40px #44235d21;--font-display:"Songti SC", "STSong", "Noto Serif SC", "Times New Roman", serif;--font-sans:"PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#160725;min-width:320px}body{min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#160725;margin:0}button,input,select,textarea{font:inherit}button{color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline-offset:4px;outline:3px solid #ffd273d1}.wonderland{isolation:isolate;background:radial-gradient(circle at 12% 14%,#ffffffb8,#0000 23%),radial-gradient(circle at 80% 18%,#ffd1eab8,#0000 24%),radial-gradient(circle at 50% 88%,#ccb0ef80,#0000 35%),linear-gradient(145deg,#d8ccf3 0%,#eadcf5 43%,#eed6e9 73%,#c7b8e8 100%);min-height:100dvh;transition:color .6s,background .8s;position:relative;overflow:hidden}.wonderland.theme-night{--ink:#fff8ff;--muted:#d8c6e6;--faint:#a98fbc;--glass:#120825ab;--glass-strong:#16092ddb;--line:#f4daff2e;--line-bright:#ffe8ff45;--violet:#bd82f2;--violet-deep:#e5c2ff;--violet-soft:#8c55bd;--rose:#ff9aca;--gold:#f2c96b;--gold-light:#fff0b6;--shadow:0 30px 95px #00000070;--soft-shadow:0 15px 50px #00000052;background:radial-gradient(circle at 17% 15%,#7e33b247,#0000 28%),radial-gradient(circle at 82% 19%,#d844a02b,#0000 25%),radial-gradient(circle at 50% 94%,#511f7a7a,#0000 38%),linear-gradient(145deg,#07020e 0%,#130721 42%,#1c0a2d 72%,#0b0313 100%)}.ambient-layer{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-layer:before,.ambient-layer:after{content:"";position:absolute;inset:0}.ambient-layer:before{opacity:.34;background-image:radial-gradient(circle,#ffffffeb 0 1px,#0000 1.5px),radial-gradient(circle,#ffedabc7 0 1px,#0000 1.6px);background-position:0 0,37px 53px;background-size:82px 82px,123px 123px;-webkit-mask-image:linear-gradient(#000,#0000 84%);mask-image:linear-gradient(#000,#0000 84%)}.theme-lavender .ambient-layer:before{opacity:.17}.ambient-layer:after{background:linear-gradient(112deg,#0000 20%,#ffffff14 48%,#0000 71%);animation:14s ease-in-out infinite silkSweep;transform:translate(-75%)}.aurora{filter:blur(90px);opacity:.25;border-radius:50%;width:50vw;min-width:430px;height:50vw;min-height:430px;animation:15s ease-in-out infinite alternate auroraFloat;position:absolute}.aurora-one{background:#9f6fe0;top:10vh;left:-22vw}.aurora-two{background:#e883ba;animation-delay:-6s;bottom:-18vh;right:-24vw}.theme-lavender .aurora{opacity:.15;filter:blur(105px)}.floating-star{color:#fff4c4c7;text-shadow:0 0 18px;animation:4s ease-in-out infinite slowTwinkle;position:absolute}.star-one{font-size:1.2rem;top:22%;left:8%}.star-two{font-size:2.2rem;animation-delay:-1.2s;bottom:17%;left:17%}.star-three{font-size:1.5rem;animation-delay:-2.5s;top:29%;right:13%}.star-four{font-size:1rem;animation-delay:-.7s;bottom:21%;right:8%}.silk-cloud{opacity:.13;filter:blur(1px);border:1px solid #ffffffb3;border-radius:50%;width:420px;height:90px;position:absolute}.silk-cloud:before,.silk-cloud:after{content:"";border:1px solid #ffffffad;border-radius:50%;position:absolute}.silk-cloud:before{width:220px;height:78px;top:-31px;left:38px}.silk-cloud:after{width:260px;height:73px;bottom:-34px;right:16px}.cloud-one{animation:28s linear infinite cloudDrift;top:22%;left:-230px}.cloud-two{animation:34s linear infinite cloudDriftReverse;bottom:13%;right:-250px}.topbar{z-index:30;pointer-events:none;grid-template-columns:52px 1fr 52px;align-items:center;gap:18px;height:84px;padding:16px clamp(18px,4vw,64px);display:grid;position:fixed;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.topbar-title{border:1px solid var(--line);background:color-mix(in srgb, var(--glass) 68%, transparent);color:var(--muted);-webkit-backdrop-filter:blur(18px);letter-spacing:.22em;border-radius:999px;justify-self:center;padding:9px 18px;font-size:.68rem;font-weight:700;box-shadow:0 8px 30px #2b104414}.round-control{border:1px solid var(--line-bright);background:var(--glass);width:48px;height:48px;color:var(--ink);box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(18px);font-family:var(--font-display);cursor:pointer;border-radius:50%;font-size:1.05rem;font-weight:700;transition:transform .18s,background .18s}.round-control:hover{transform:translateY(-2px)scale(1.04)}.theme-control{justify-self:end;font-size:1.3rem}.screen{width:100%;min-height:100dvh;padding:112px clamp(20px,5vw,78px) 54px;position:relative}.intro-screen{text-align:center;place-items:center;padding-top:96px;display:grid}.hero-copy{z-index:2;width:min(880px,94vw);animation:.9s cubic-bezier(.2,.75,.2,1) both heroReveal;position:relative}.eyebrow{color:var(--muted);letter-spacing:.12em;justify-content:center;align-items:center;gap:12px;margin-bottom:22px;font-size:clamp(.72rem,1.4vw,.82rem);font-weight:700;display:flex}.eyebrow span{background:linear-gradient(90deg, transparent, var(--gold));width:46px;height:1px;display:block}.eyebrow span:last-child{transform:rotate(180deg)}.rabbit-seal{background:radial-gradient(circle at 42% 31%,#ffffffe0,#0000 9%),linear-gradient(145deg,#a77bd4,#6d369b);border:1px solid #ffebbd7a;border-radius:50%;width:94px;height:94px;margin:0 auto 23px;animation:3.8s ease-in-out infinite rabbitHover;position:relative;box-shadow:0 0 0 9px #c7a6ea1f,0 14px 36px #461f6647,inset 0 1px 1px #ffffff94}.rabbit-face{z-index:2;background:linear-gradient(155deg,#fff9ff,#e9d8f5);border-radius:46% 46% 52% 52%;width:48px;height:39px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 -5px 9px #6637871a}.rabbit-ear{transform-origin:bottom;z-index:1;background:linear-gradient(165deg,#fffaff 22%,#d8b8ec);border-radius:55% 55% 42% 42%;width:17px;height:39px;position:absolute;top:16px;box-shadow:inset 0 0 0 4px #da96c93b}.rabbit-ear-left{left:28px;transform:rotate(-12deg)}.rabbit-ear-right{right:27px;transform:rotate(14deg)}.rabbit-eye{background:#4d285c;border-radius:50%;width:4px;height:5px;position:absolute;top:15px}.rabbit-eye-left{left:13px}.rabbit-eye-right{right:13px}.rabbit-nose{background:#d37ca4;border-radius:2px 4px;width:7px;height:5px;position:absolute;top:24px;left:50%;transform:translate(-50%)rotate(45deg)}.rabbit-spark{color:#fff0ad;text-shadow:0 0 12px;position:absolute}.rabbit-spark-one{font-size:1.1rem;animation:2.5s infinite slowTwinkle;top:11px;right:-14px}.rabbit-spark-two{font-size:2.4rem;animation:3.2s -1s infinite slowTwinkle;bottom:13px;left:-12px}.hero-copy h1{color:var(--ink);font-family:var(--font-display);letter-spacing:-.055em;text-wrap:balance;text-shadow:0 15px 45px #32124b1c;margin:0;font-size:clamp(3.3rem,8.3vw,7.3rem);font-weight:600;line-height:.97}.hero-copy h1 em{color:var(--violet-deep);font-style:normal;position:relative}.hero-copy h1 em:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--gold) 65%, transparent), transparent);filter:blur(4px);border-radius:50%;height:.1em;position:absolute;bottom:.02em;left:8%;right:8%}.hero-copy>p{width:min(580px,90%);color:var(--muted);margin:24px auto 0;font-size:clamp(.96rem,2vw,1.12rem);line-height:1.9}.primary-button,.secondary-button,.text-button{cursor:pointer;border:0}.primary-button{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#7e47aa,#a456a6 58%,#c87b9d);border:1px solid #ffedbf66;border-radius:999px;justify-content:center;align-items:center;gap:18px;min-height:54px;padding:0 25px;font-size:.94rem;font-weight:700;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 14px 34px #5b257d47,inset 0 1px #ffffff47}.theme-night .primary-button{background:linear-gradient(135deg,#8650b6,#b257ae 56%,#d47a9d);box-shadow:0 14px 40px #b656bc40,inset 0 1px #ffffff40}.primary-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 20px 42px #5b257d57}.primary-button:active:not(:disabled){transform:translateY(0)scale(.98)}.primary-button:disabled{cursor:not-allowed;opacity:.5;filter:grayscale(.2)}.primary-button i{font-size:1.15em;font-style:normal}.hero-button{min-width:min(330px,92vw);min-height:62px;margin-top:32px;padding-left:32px}.hero-button i{background:#ffffff2b;border-radius:50%;place-items:center;width:34px;height:34px;margin-left:auto;display:grid}.hero-mini-cards{justify-content:center;gap:9px;margin-top:20px;display:flex}.hero-mini-cards span{border:1px solid var(--line);color:var(--faint);background:color-mix(in srgb, var(--glass) 58%, transparent);letter-spacing:.08em;border-radius:999px;padding:7px 12px;font-size:.68rem}.scroll-note{color:var(--faint);letter-spacing:.22em;white-space:nowrap;margin:0;font-size:.61rem;font-weight:700;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.intro-orbit{border:1px solid var(--line);pointer-events:none;border-radius:50%;position:absolute}.intro-orbit span{border:1px solid var(--line-bright);color:var(--gold);background:var(--glass);box-shadow:var(--soft-shadow);border-radius:50%;place-items:center;display:grid;position:absolute}.orbit-one{width:180px;height:180px;animation:20s linear infinite orbitSpin;top:21vh;left:6vw}.orbit-one span{width:34px;height:34px;top:39px;right:-17px}.orbit-two{width:230px;height:230px;animation:25s linear infinite reverse orbitSpin;bottom:12vh;right:4vw}.orbit-two span{width:37px;height:37px;color:var(--rose);bottom:57px;left:-18px}.map-screen{max-width:1440px;margin:0 auto}.page-heading{justify-content:space-between;align-items:flex-end;gap:34px;margin:0 auto 34px;display:flex}.section-kicker,.game-heading>div>span,.final-kicker{color:var(--gold);letter-spacing:.21em;margin:0 0 8px;font-size:.69rem;font-weight:800}.page-heading h2,.game-heading h2{color:var(--ink);font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3.4rem);font-weight:600}.page-heading>div:first-child>p:last-child,.game-heading>div>p{color:var(--muted);margin:11px 0 0;font-size:.9rem;line-height:1.7}.joy-meter{border:1px solid var(--line-bright);background:var(--glass);min-width:260px;box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(22px);border-radius:22px;align-items:center;gap:16px;padding:15px 18px;display:flex}.joy-number{align-items:baseline;display:flex}.joy-number strong{font-family:var(--font-display);font-size:2.15rem;line-height:1}.joy-number span{color:var(--faint);font-size:.75rem}.joy-copy{flex:1}.joy-copy>span{color:var(--muted);margin-bottom:7px;font-size:.72rem;display:block}.joy-copy>div{background:#774d9121;border-radius:999px;height:6px;overflow:hidden}.joy-copy i{border-radius:inherit;background:linear-gradient(90deg, var(--violet), var(--rose), var(--gold));height:100%;box-shadow:0 0 10px var(--rose);transition:width .7s cubic-bezier(.2,.8,.2,1);display:block}.quest-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px);display:grid}.quest-card{border:1px solid var(--line-bright);min-height:410px;color:var(--ink);background:linear-gradient(155deg, color-mix(in srgb, var(--glass-strong) 92%, transparent), color-mix(in srgb, var(--glass) 62%, transparent)), radial-gradient(circle at 70% 12%, #ffe0f538, transparent 34%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);cursor:pointer;text-align:left;border-radius:32px;padding:24px;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative;overflow:hidden}.quest-card:after{content:"";z-index:-1;opacity:0;background:radial-gradient(circle at 50% 40%,#cd96f22e,#0000 57%);transition:opacity .25s;position:absolute;inset:0}.quest-card:hover:not(.is-locked){border-color:color-mix(in srgb, var(--violet) 42%, transparent);transform:translateY(-8px);box-shadow:0 34px 90px #36144f3b}.quest-card:hover:after{opacity:1}.quest-card.is-locked{cursor:default;filter:saturate(.45);opacity:.63}.quest-card.is-complete{border-color:color-mix(in srgb, var(--gold) 46%, var(--line))}.quest-card.is-complete:before{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 35px #f6cb6914}.quest-index{color:color-mix(in srgb, var(--ink) 8%, transparent);font-family:var(--font-display);font-size:4.8rem;line-height:1;position:absolute;top:15px;right:20px}.quest-art{width:100%;height:166px;margin:2px 0 16px;display:block;position:relative}.mini-card{color:#fff1b7;background:linear-gradient(155deg,#925fc2,#472265);border:1px solid #ffeeff59;border-radius:15px;place-items:center;width:83px;height:116px;font-size:1.45rem;font-style:normal;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 18px 35px #3a165345,inset 0 0 0 5px #ffffff0d}.card-a{transform:translate(-105%,-45%)rotate(-14deg)}.card-b{z-index:2;transform:translate(-50%,-58%)rotate(0)}.card-c{transform:translate(5%,-45%)rotate(14deg)}.quest-card:hover .card-a{transform:translate(-115%,-50%)rotate(-18deg)}.quest-card:hover .card-c{transform:translate(15%,-50%)rotate(18deg)}.mini-card{transition:transform .3s}.orbit-star,.orbit-dot{z-index:2;border-radius:50%;place-items:center;font-style:normal;display:grid;position:absolute}.orbit-star{color:#fff3ad;background:radial-gradient(circle,#d690cb,#70409d 66%,#3d1e5c);width:92px;height:92px;font-size:2.3rem;animation:2.2s ease-in-out infinite starPulse;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 12px #ad6fd517,0 0 38px #e29ad36e}.orbit-line{border:1px solid #a570c766;border-radius:50%;width:164px;height:104px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-17deg)}.orbit-dot{color:#fff;background:#d980aa;width:27px;height:27px;font-size:.64rem;top:calc(50% - 44px);left:calc(50% + 59px);box-shadow:0 0 15px #d980aa}.mini-cake{color:#e3ad5e;text-align:center;background:radial-gradient(circle at 14px 10px,#fff5dd 0 8px,#0000 9px) 0 0/28px 18px repeat-x,linear-gradient(#dcb6ee 0 36%,#8e5ab7 37% 100%);border-radius:13px 13px 26px 26px;width:150px;height:79px;font-size:2.2rem;font-style:normal;line-height:84px;position:absolute;bottom:19px;left:50%;transform:translate(-50%);box-shadow:0 16px 28px #41195b40,inset 0 -10px 18px #4b22632e}.mini-cake:before{content:"";background:linear-gradient(#f7e8ff 0 38%,#b982d6 39% 100%);border-radius:12px;height:56px;position:absolute;top:-48px;left:28px;right:28px;box-shadow:inset 0 -8px 15px #582c7324}.mini-cake:after{content:"";filter:blur(4px);background:#35174b2b;border-radius:50%;height:9px;position:absolute;bottom:-12px;left:-18px;right:-18px}.mini-candle{z-index:3;color:#fff0a8;text-shadow:0 0 14px #ffb84c,0 0 30px #ff8a4a;font-size:1.5rem;font-style:normal;animation:1.4s infinite slowTwinkle;position:absolute;top:15px;left:50%;transform:translate(-50%)}.quest-status{border:1px solid var(--line);min-height:27px;color:var(--violet-deep);background:color-mix(in srgb, var(--glass) 74%, transparent);border-radius:999px;align-items:center;padding:0 11px;font-size:.67rem;font-weight:700;display:inline-flex}.quest-card>strong{font-family:var(--font-display);margin-top:15px;font-size:1.65rem;font-weight:600;display:block}.quest-card>small{min-height:44px;color:var(--muted);margin-top:7px;font-size:.79rem;line-height:1.65;display:block}.quest-action{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:19px;padding-top:15px;font-size:.76rem;font-weight:700;display:flex}.quest-action i{background:color-mix(in srgb, var(--violet) 12%, transparent);width:29px;height:29px;color:var(--violet-deep);border-radius:50%;place-items:center;font-style:normal;display:grid}.final-gate{border:1px solid var(--line);background:color-mix(in srgb, var(--glass) 78%, transparent);box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(18px);border-radius:26px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-top:24px;padding:19px 22px;display:grid}.final-gate.is-unlocked{border-color:color-mix(in srgb, var(--gold) 52%, transparent);background:linear-gradient(110deg, color-mix(in srgb, var(--glass-strong) 84%, transparent), #9856be1f, #e39cbe1c)}.gate-icon{border:1px solid var(--line);width:51px;height:51px;color:var(--faint);background:var(--glass);border-radius:16px;place-items:center;font-size:1.25rem;display:grid}.is-unlocked .gate-icon{color:#fff1a9;background:linear-gradient(145deg,#8954b5,#c266a0);box-shadow:0 0 28px #dc9ac945}.final-gate span{color:var(--gold);letter-spacing:.18em;font-size:.63rem;font-weight:800}.final-gate h3{font-family:var(--font-display);margin:4px 0 0;font-size:clamp(1rem,2vw,1.28rem);font-weight:600}.final-gate>button{border:1px solid var(--line);min-width:137px;height:43px;color:var(--muted);background:var(--glass);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:20px;padding:0 16px;font-size:.75rem;font-weight:700;display:flex}.final-gate.is-unlocked>button{color:#fff;background:linear-gradient(135deg,#8050a6,#bc639e);border-color:#ffe6a84d;box-shadow:0 10px 24px #5c2d7a38}.final-gate button i{font-style:normal}.badge-row{justify-content:center;gap:28px;margin-top:24px;display:flex}.badge{color:var(--faint);opacity:.47;align-items:center;gap:8px;display:flex}.badge span{border:1px solid var(--line);border-radius:50%;place-items:center;width:28px;height:28px;font-size:.72rem;display:grid}.badge small{font-size:.67rem}.badge.earned{color:var(--gold);opacity:1}.badge.earned span{color:#fff2b3;background:linear-gradient(145deg,#8451ad,#c1669f);box-shadow:0 0 15px #d892c442}.game-screen{max-width:1280px;margin:0 auto}.game-heading{grid-template-columns:minmax(110px,.42fr) 1.5fr minmax(90px,.35fr);align-items:end;gap:28px;margin-bottom:31px;display:grid}.game-heading>button{border:1px solid var(--line);color:var(--muted);background:var(--glass);cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;place-self:start;padding:9px 14px;font-size:.72rem}.game-stat{flex-direction:column;justify-self:end;align-items:flex-end;min-width:94px;display:flex}.game-stat strong{color:var(--violet-deep);font-family:var(--font-display);font-size:2.4rem;font-weight:600;line-height:1}.game-stat strong i{color:var(--faint);font-family:var(--font-sans);font-size:.73rem;font-style:normal}.game-stat small{color:var(--faint);margin-top:5px;font-size:.65rem}.memory-board{perspective:1400px;grid-template-columns:repeat(6,minmax(84px,1fr));gap:clamp(8px,1.2vw,15px);width:min(100%,1050px);margin:0 auto;display:grid}.memory-card{aspect-ratio:.72;cursor:pointer;perspective:900px;background:0 0;border:0;border-radius:17px;padding:0}.memory-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .52s cubic-bezier(.2,.78,.28,1.05);display:block;position:relative}.memory-card.is-open .memory-card-inner{transform:rotateY(180deg)}.memory-card:hover:not(.is-open) .memory-card-inner{transform:translateY(-5px)rotate(1deg)}.memory-card-back,.memory-card-front{backface-visibility:hidden;border:1px solid #ffefff52;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 17px 42px #30114833,inset 0 0 0 6px #ffffff0b}.memory-card-back{color:#f9e9bd;background:radial-gradient(circle at 50% 34%,#dfa9e938,#0000 30%),repeating-linear-gradient(45deg,#0000 0 12px,#ffffff05 12px 13px),linear-gradient(145deg,#8e5abe,#522676 58%,#351647)}.memory-card-back:before{content:"";border:1px solid #ffe4ae2e;border-radius:11px;position:absolute;inset:9px}.memory-card-back i{font-size:.78rem;font-style:normal;position:absolute;top:13%}.memory-card-back b{aspect-ratio:1;width:48%;font-family:var(--font-display);border:1px solid #ffe7ad66;border-radius:50%;place-items:center;font-size:clamp(1.2rem,3vw,2rem);font-weight:500;display:grid}.memory-card-back small{letter-spacing:.17em;font-size:.43rem;font-weight:700;position:absolute;bottom:12%}.memory-card-front{color:#694087;background:linear-gradient(145deg,#fffcfff2,#e7d3f4ed);transform:rotateY(180deg)}.theme-night .memory-card-front{color:#fff2b0;background:linear-gradient(145deg,#4c286a,#24102f)}.memory-card-front i{text-shadow:0 8px 18px #5c2a7b2e;font-size:clamp(1.8rem,4vw,3.1rem);font-style:normal}.memory-card-front small{color:var(--muted);letter-spacing:.12em;margin-top:13px;font-size:.67rem;font-weight:700}.memory-card.is-matched .memory-card-front{border-color:#f4cb67b3;box-shadow:0 0 0 3px #ffde841c,0 14px 45px #eab44f38}.game-tip{color:var(--faint);text-align:center;margin:23px 0 0;font-size:.69rem}.luck-arena{border:1px solid var(--line-bright);background:radial-gradient(circle at 50% 46%, #c27fe029, transparent 31%), radial-gradient(circle at 15% 100%, #e787b22e, transparent 31%), linear-gradient(145deg, color-mix(in srgb, var(--glass-strong) 76%, transparent), color-mix(in srgb, var(--glass) 54%, transparent));width:min(100%,1000px);height:min(58vh,560px);min-height:410px;box-shadow:var(--shadow), inset 0 1px 0 #ffffff1a;-webkit-backdrop-filter:blur(22px);border-radius:34px;margin:0 auto;position:relative;overflow:hidden}.theme-night .luck-arena{background:radial-gradient(circle at 50% 45%,#9649cb3d,#0000 35%),linear-gradient(145deg,#110721e0,#220c36bf)}.luck-arena:before{content:"";opacity:.55;background-image:radial-gradient(circle,#ffffffc7 0 1px,#0000 1.4px);background-size:47px 47px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 80%);mask-image:radial-gradient(circle,#000,#0000 80%)}.luck-hud{z-index:4;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:15px;width:125px;padding:12px 14px;position:absolute;top:20px;left:22px}.luck-hud>span{color:var(--faint);letter-spacing:.18em;font-size:.52rem;font-weight:800}.luck-hud strong{color:var(--violet-deep);font-family:var(--font-display);margin:2px 0 7px;font-size:1.8rem;line-height:1;display:block}.luck-hud>div{background:#865b9e29;border-radius:999px;height:4px;overflow:hidden}.luck-hud i{border-radius:inherit;background:linear-gradient(90deg, var(--rose), var(--gold));height:100%;transition:width 1s linear;display:block}.luck-constellation i{color:color-mix(in srgb, var(--gold-light) 75%, transparent);font-style:normal;font-size:calc(1rem + var(--i) * .018rem);animation:slowTwinkle calc(2.1s + var(--i) * 35ms) calc(var(--i) * -.17s) infinite;position:absolute}.luck-target{z-index:6;color:#fff3a9;cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 0 18px #ee8ecfb8);background:radial-gradient(circle,#e08ac7 0 20%,#9f55c4 50%,#5c267f 78%,#0000 79%);border:0;border-radius:50%;place-items:center;width:clamp(62px,10vw,82px);height:clamp(62px,10vw,82px);padding:0;transition:left .28s cubic-bezier(.2,.8,.2,1),top .28s cubic-bezier(.2,.8,.2,1);animation:.85s ease-in-out infinite alternate targetBreathe;display:grid;position:absolute}.luck-target:before,.luck-target:after{content:"";border:1px solid #ffe1a642;border-radius:50%;animation:1.4s ease-out infinite targetRing;position:absolute;inset:-12px}.luck-target:after{animation-delay:-.7s;inset:-23px}.luck-target span{text-shadow:0 0 12px #fff1a1;font-size:2rem}.luck-target i{border:1px dashed #ffffff3d;border-radius:50%;animation:3s linear infinite orbitSpin;position:absolute;inset:8px}.arena-start{z-index:5;text-align:center;width:min(440px,86%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.start-orb{color:#fff0a5;background:linear-gradient(145deg,#9b61c7,#6a318f);border:1px solid #ffecb561;border-radius:50%;place-items:center;width:74px;height:74px;margin:0 auto 17px;font-size:1.8rem;display:grid;box-shadow:0 0 0 11px #b571d31a,0 0 35px #de89cf42}.arena-start h3{font-family:var(--font-display);margin:0;font-size:clamp(1.6rem,4vw,2.3rem);font-weight:600}.arena-start p{color:var(--muted);margin:10px auto 21px;font-size:.82rem;line-height:1.75}.catch-counter{z-index:4;border:1px solid var(--line);background:var(--glass);border-radius:999px;gap:6px;padding:8px 11px;display:flex;position:absolute;bottom:20px;right:22px}.catch-counter span{color:var(--faint);opacity:.28;font-size:.76rem}.catch-counter span.caught{color:#ffe798;opacity:1;text-shadow:0 0 8px #f6b85e;animation:.35s both catchPop}.cake-screen{max-width:1460px}.cake-workshop{grid-template-columns:minmax(310px,.68fr) minmax(520px,1.32fr);align-items:stretch;gap:22px;display:grid}.cake-controls,.cake-preview-panel{border:1px solid var(--line-bright);background:var(--glass);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);border-radius:30px}.cake-controls{scrollbar-width:thin;scrollbar-color:var(--violet-soft) transparent;max-height:650px;padding:22px;overflow:auto}.control-group+.control-group{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.control-group>p{color:var(--ink);justify-content:space-between;align-items:baseline;margin:0 0 10px;font-size:.74rem;font-weight:800;display:flex}.control-group>p span{color:var(--faint);font-size:.6rem;font-weight:500}.control-group>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.control-group button{border:1px solid var(--line);min-height:38px;color:var(--muted);background:color-mix(in srgb, var(--glass-strong) 63%, transparent);cursor:pointer;border-radius:11px;padding:7px 9px;font-size:.67rem;line-height:1.25;transition:border-color .16s,background .16s,transform .16s}.control-group button:hover:not(:disabled){border-color:color-mix(in srgb, var(--violet) 45%, var(--line));transform:translateY(-1px)}.control-group button.selected{border-color:color-mix(in srgb, var(--violet) 68%, transparent);color:var(--violet-deep);background:color-mix(in srgb, var(--violet) 13%, var(--glass-strong));font-weight:700;box-shadow:inset 0 0 0 1px #ffffff29}.control-group button:disabled{cursor:default;opacity:.5}.control-group button span{margin-right:5px}.decor-picker>div{grid-template-columns:repeat(4,minmax(0,1fr))}.decor-picker button{flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:54px;padding:5px 3px;display:flex}.decor-picker button span{color:var(--violet-deep);margin:0;font-size:1.1rem;line-height:1}.cake-preview-panel{flex-direction:column;min-height:650px;padding:17px;display:flex;overflow:hidden}.cake-panel-topline{color:var(--muted);justify-content:space-between;align-items:center;gap:15px;padding:3px 5px 14px;font-size:.68rem;display:flex}.cake-panel-topline>span{color:var(--ink);font-weight:800}.cake-panel-topline small{color:var(--faint);font-size:.62rem}.cake-canvas{--cake-sponge:#f5c98d;--cake-icing:#b98ee8;--cake-light:#e6d4ff;--cake-shadow:#7b51ad;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 81%, #572a6f29, transparent 29%), radial-gradient(circle at 50% 47%, color-mix(in srgb, var(--cake-light) 20%, transparent), transparent 39%), linear-gradient(155deg, color-mix(in srgb, var(--glass-strong) 68%, transparent), color-mix(in srgb, var(--glass) 42%, transparent));cursor:crosshair;touch-action:manipulation;border-radius:24px;flex:1;min-height:500px;position:relative;overflow:hidden}.theme-night .cake-canvas{background:radial-gradient(ellipse at 50% 82%, #03000761, transparent 31%), radial-gradient(circle at 50% 46%, color-mix(in srgb, var(--cake-light) 15%, transparent), transparent 42%), linear-gradient(155deg, #220f33e0, #0c0517d6)}.cake-canvas:before{content:"";opacity:.32;background-image:radial-gradient(circle,#ffffffe0 0 1px,#0000 1.5px);background-size:51px 51px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.cake-canvas:after{content:"TUJI'S BIRTHDAY CAKE";color:var(--faint);letter-spacing:.19em;opacity:.62;font-size:.5rem;font-weight:700;position:absolute;bottom:18px;left:20px}.cake-glow{aspect-ratio:1;background:color-mix(in srgb, var(--cake-light) 24%, transparent);filter:blur(35px);opacity:.7;border-radius:50%;width:58%;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.cake-body{z-index:3;pointer-events:none;position:absolute;inset:0}.cake-tier{border:1px solid color-mix(in srgb, var(--cake-shadow) 32%, transparent);background:linear-gradient(to bottom, var(--cake-icing) 0 31%, var(--cake-sponge) 32% 77%, color-mix(in srgb, var(--cake-icing) 88%, var(--cake-shadow)) 78% 100%);transition:width .35s,border-radius .35s,background .35s;position:absolute;left:50%;overflow:visible;transform:translate(-50%);box-shadow:0 15px 25px #3614452e,inset 13px 0 18px #ffffff1f,inset -13px -8px 18px #431c5321}.cake-tier:before{content:"";border:1px solid color-mix(in srgb, var(--cake-shadow) 25%, transparent);background:radial-gradient(ellipse at 45% 35%, var(--cake-light), var(--cake-icing) 56%, color-mix(in srgb, var(--cake-icing) 77%, var(--cake-shadow)));border-radius:50%;height:27px;position:absolute;top:-13px;left:-1px;right:-1px;box-shadow:inset 0 6px 9px #ffffff38}.cake-tier-base{border-radius:12px 12px 24px 24px;width:66%;height:103px;bottom:91px}.cake-tier-middle{border-radius:12px 12px 21px 21px;width:51%;height:91px;bottom:177px}.cake-tier-top{border-radius:12px 12px 18px 18px;width:37%;height:77px;bottom:252px}.icing-drip{z-index:2;background:radial-gradient(circle at 8% 0, var(--cake-icing) 0 11px, transparent 12px), radial-gradient(circle at 27% 0, var(--cake-icing) 0 17px, transparent 18px), radial-gradient(circle at 48% 0, var(--cake-icing) 0 10px, transparent 11px), radial-gradient(circle at 67% 0, var(--cake-icing) 0 15px, transparent 16px), radial-gradient(circle at 89% 0, var(--cake-icing) 0 12px, transparent 13px);filter:drop-shadow(0 4px 2px #50235f14);height:31px;position:absolute;top:17px;left:0;right:0}.cake-trim{z-index:4;border-radius:999px;height:14px;position:absolute;bottom:6px;left:2px;right:2px}.trim-pearl{background:radial-gradient(circle, var(--cake-light) 0 3px, color-mix(in srgb, var(--cake-shadow) 45%, transparent) 3.5px 4.5px, transparent 5px) 0 0 / 13px 13px repeat-x}.trim-ribbon{background:linear-gradient(90deg, color-mix(in srgb, var(--cake-shadow) 70%, #cf668f), color-mix(in srgb, var(--cake-icing) 60%, #f58cad), color-mix(in srgb, var(--cake-shadow) 70%, #cf668f));height:11px;bottom:8px;box-shadow:inset 0 2px 2px #ffffff42,0 3px 4px #461c5424}.trim-starlight{filter:drop-shadow(0 0 4px #f2b958);background:radial-gradient(closest-side,#fff4b2 78%,#0000 80%) 0 1px/17px 12px repeat-x}.shape-classic .cake-tier-top{display:none}.shape-classic .cake-tier-middle{width:48%;height:105px;bottom:179px}.shape-classic .cake-tier-base{width:70%;height:124px}.shape-classic .candle-row{top:118px}.shape-classic .cake-topper{top:62px}.shape-princess .cake-tier-base{width:70%}.shape-princess .cake-tier-middle{width:52%}.shape-princess .cake-tier-top{width:34%}.shape-gift .cake-tier-top{display:none}.shape-gift .cake-tier-middle{border-radius:8px;width:56%;height:91px;bottom:200px}.shape-gift .cake-tier-base{border-radius:8px;width:56%;height:150px}.shape-gift .cake-tier:before{border-radius:8px;height:17px;top:-7px}.shape-gift .cake-tier-middle:after,.shape-gift .cake-tier-base:after{content:"";z-index:3;background:color-mix(in srgb, var(--cake-shadow) 56%, #d46f9c);width:10%;position:absolute;top:-8px;bottom:0;left:45%;box-shadow:inset 3px 0 3px #ffffff2e}.shape-gift .candle-row{top:102px}.shape-gift .cake-topper{top:48px}.cake-stand{z-index:2;pointer-events:none;background:radial-gradient(at 50% 31%,#faf1ff,#cbb2dc 65%,#86619b 90%);border-radius:50%;width:77%;height:39px;position:absolute;bottom:45px;left:50%;transform:translate(-50%);box-shadow:0 18px 22px #2e104138}.cake-stand:before{content:"";clip-path:polygon(28% 0,72% 0,100% 100%,0 100%);background:linear-gradient(90deg,#8f6ca6,#e4d1ee 45%,#8a669f);width:19%;height:46px;position:absolute;top:22px;left:50%;transform:translate(-50%)}.cake-stand:after{content:"";background:#8b659d;border-radius:50%;height:10px;position:absolute;top:61px;left:37%;right:37%;box-shadow:0 4px 8px #2a0f3c40}.cake-topper{z-index:10;pointer-events:none;transition:top .35s;position:absolute;top:28px;left:50%;transform:translate(-50%)}.cake-topper span{color:#d7a346;font-family:var(--font-display);text-shadow:0 2px #fff2b3,0 0 16px #ecb94e73;filter:drop-shadow(0 7px 4px #3e194c2e);font-size:2.25rem;line-height:1;display:block}.cake-topper:after{content:"";background:linear-gradient(#d4a04d,#7c4c68);width:2px;height:38px;position:absolute;top:31px;left:50%;transform:translate(-50%)}.candle-row{z-index:9;pointer-events:none;align-items:flex-end;gap:clamp(12px,2.3vw,24px);transition:top .35s;display:flex;position:absolute;top:84px;left:50%;transform:translate(-50%)}.candle{--candle-i:0;background:repeating-linear-gradient(45deg,#faf5ff 0 5px,#bc75c2 5px 9px);border-radius:4px 4px 2px 2px;width:7px;height:42px;display:block;position:relative;box-shadow:inset -2px 0 2px #511f6038,0 3px 7px #37134629}.candle b{background:#4b2841;width:1px;height:6px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.flame{z-index:2;transform-origin:50% 100%;opacity:0;filter:drop-shadow(0 0 5px #fff1a1)drop-shadow(0 0 12px #ff9a28);background:radial-gradient(circle at 50% 68%,#fffbe4 0 17%,#ffd65a 18% 46%,#ff7a21 53% 72%,#ff400073 73% 100%);border-radius:58% 42% 57% 43%/67% 64% 36% 33%;width:14px;height:21px;transition:opacity .25s,transform .3s;position:absolute;top:-24px;left:50%;transform:translate(-50%)scale(.2)}.candle-lit .flame{opacity:1;animation:flameDance .68s ease-in-out calc(var(--candle-i) * -90ms) infinite alternate;transform:translate(-50%)scale(1);box-shadow:0 0 18px 8px #ffa4376e,0 0 38px 13px #ff662626}.candle-lit .cake-glow{opacity:1;filter:blur(27px);background:radial-gradient(circle,#ffd56f52,#c46fde1f 42%,#0000 68%);animation:1.5s ease-in-out infinite glowBreathe}.smoke{opacity:0;filter:blur(.6px);border-left:2px solid #ddd3e5b8;border-radius:50%;width:8px;height:20px;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.candle-blown .flame{opacity:0;transform:translate(-50%)scale(0)}.candle-blown .smoke{animation:smokeRise 1.9s ease-out calc(var(--candle-i) * 80ms) both}.cake-decoration-layer{z-index:7;pointer-events:none;position:absolute;inset:0}.placed-decoration{z-index:2;color:#fff0a3;filter:drop-shadow(0 4px 3px #35114540);cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:50%;place-items:center;min-width:32px;min-height:32px;padding:0;font-size:clamp(1.05rem,2vw,1.42rem);line-height:1;transition:filter .15s,transform .15s;display:grid;position:absolute}.placed-decoration:hover{filter:drop-shadow(0 5px 5px #3511454d)brightness(1.08)}.decoration-pearl{color:#fff8ef;background:radial-gradient(circle at 34% 27%,#fff,#eadff0 55%,#a98fb5 100%);border:1px solid #744a7c33;width:19px;min-width:19px;height:19px;min-height:19px;font-size:0;box-shadow:inset -2px -3px 5px #5938612e}.decoration-heart{color:#dc6c9c;text-shadow:0 2px #ffd5e3}.decoration-star,.decoration-sparkle{color:#f4c761;text-shadow:0 0 8px #f4c152ad}.cake-empty-hint{z-index:11;color:var(--faint);pointer-events:none;flex-direction:column;align-items:center;gap:7px;font-size:.67rem;animation:2.1s ease-in-out infinite hintFloat;display:flex;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.cake-empty-hint span{border:1px dashed var(--faint);border-radius:50%;place-items:center;width:35px;height:35px;font-size:1rem;display:grid}.cake-actions{justify-content:center;align-items:center;gap:10px;min-height:72px;padding:14px 4px 0;display:flex}.secondary-button{border:1px solid var(--line);min-height:42px;color:var(--violet-deep);background:color-mix(in srgb, var(--glass-strong) 77%, transparent);border-radius:999px;padding:0 15px;font-size:.7rem;font-weight:700}.text-button{min-height:42px;color:var(--faint);background:0 0;padding:0 10px;font-size:.68rem}.light-candles-button{min-height:44px;margin-left:auto;font-size:.72rem}.hold-button{color:#fff;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#7850a2,#ad579f);border:1px solid #ffe4a35e;border-radius:999px;width:min(440px,96%);height:54px;padding:0 22px;position:relative;overflow:hidden;box-shadow:0 13px 30px #51216c40}.hold-button:before{content:"";width:var(--hold-progress);background:linear-gradient(90deg,#ffdd8433,#ffa3bd6b);transition:width 40ms linear;position:absolute;inset:0}.hold-button span,.hold-button i{z-index:1;position:relative}.hold-button span{font-size:.77rem;font-weight:700}.hold-button i{opacity:.75;font-size:.66rem;font-style:normal;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.wish-sent{color:var(--violet-deep);justify-content:center;align-items:center;gap:10px;font-size:.74rem;font-weight:700;display:flex}.wish-sent span{color:#fff;background:linear-gradient(145deg,#8a57b1,#cb6f9f);border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.cake-spark-burst{z-index:14;pointer-events:none;position:absolute;top:42%;left:50%}.cake-spark-burst i{--angle:calc(var(--spark-i) * 16.36deg);color:hsl(calc(280 + var(--spark-i) * 11) 80% 70%);text-shadow:0 0 8px;animation:cakeSpark 1.5s ease-out calc((var(--spark-i) % 4) * 40ms) both;transform:rotate(var(--angle)) translateX(0);font-style:normal;position:absolute}.finale-screen{z-index:80;color:#fff;background:radial-gradient(circle at 50% 88%,#4a14666b,#0000 36%),radial-gradient(circle at 18% 20%,#25276840,#0000 27%),linear-gradient(#010108,#070210 54%,#14051f 100%);place-items:center;min-height:100dvh;padding:36px 18px;display:grid;position:fixed;inset:0;overflow:hidden}.fireworks-canvas{z-index:1;cursor:crosshair;touch-action:manipulation;width:100%;height:100%;position:absolute;inset:0}.finale-stars{z-index:0;opacity:.45;background-image:radial-gradient(circle,#fff 0 1px,#0000 1.4px),radial-gradient(circle,#ffe29a 0 1px,#0000 1.6px);background-position:0 0,37px 53px;background-size:79px 79px,127px 127px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.finale-topline{z-index:3;color:#ffeec5b8;letter-spacing:.2em;white-space:nowrap;text-shadow:0 0 15px #ffd26a66;font-size:.63rem;font-weight:800;position:absolute;top:22px;left:50%;transform:translate(-50%)}.finale-topline span{color:#ffe495;margin:0 8px}.finale-card{z-index:4;color:#fff;-webkit-backdrop-filter:blur(20px)saturate(1.2);text-align:center;scrollbar-width:thin;background:linear-gradient(145deg,#120521b8,#260b369e);border:1px solid #ffe6ff3b;border-radius:31px;width:min(570px,100vw - 30px);max-height:calc(100dvh - 94px);padding:clamp(26px,4vw,42px);animation:1.1s cubic-bezier(.2,.8,.2,1) 1.6s both finaleCardReveal;position:relative;overflow:auto;box-shadow:0 35px 120px #00000085,inset 0 1px #ffffff24,0 0 55px #ab47c61f}.finale-card:before{content:"";background:linear-gradient(90deg,#0000,#ffeab2,#0000);height:1px;position:absolute;top:-1px;left:12%;right:12%;box-shadow:0 0 16px #ffd778}.hide-message{color:#ffffff7a;cursor:pointer;background:0 0;border:0;padding:6px 9px;font-size:.61rem;position:absolute;top:13px;right:14px}.final-kicker{color:#efc96c;margin-bottom:10px}.finale-card h2{font-family:var(--font-display);letter-spacing:-.055em;text-shadow:0 0 30px #e9a4d852;margin:0;font-size:clamp(2.35rem,7vw,4.1rem);font-weight:600}.wish-lines{margin:19px auto 0}.wish-lines p{color:#fff7ffd1;margin:7px 0;font-size:clamp(.78rem,1.8vw,.9rem);line-height:1.85}.identity-button{color:#fff3c1;cursor:pointer;background:linear-gradient(135deg,#8143a6b3,#b94b8fad);border:1px solid #ffe0a34d;border-radius:999px;align-items:center;gap:15px;min-height:46px;margin-top:17px;padding:0 20px;font-size:.72rem;font-weight:700;display:inline-flex;box-shadow:0 12px 29px #0003}.identity-button i{text-shadow:0 0 9px #ffe095;font-style:normal}.identity-card{background:linear-gradient(120deg,#ffd17c14,#d264c11f);border:1px solid #ffe1a63d;border-radius:18px;margin-top:17px;padding:16px 19px;animation:.45s both identityReveal}.identity-card span{color:#e7c46e;letter-spacing:.16em;font-size:.58rem;font-weight:800}.identity-card strong{color:#fff;font-family:var(--font-display);margin-top:7px;font-size:1.2rem;font-weight:600;display:block}.identity-card p{color:#fff5ffa8;margin:5px 0 0;font-size:.68rem;line-height:1.6}.final-actions{justify-content:center;gap:9px;margin-top:16px;display:flex}.final-actions button{color:#ffffffad;cursor:pointer;background:#ffffff0e;border:1px solid #ffffff24;border-radius:999px;min-height:36px;padding:0 13px;font-size:.61rem}.sky-hint{color:#ffffff61;margin-top:14px;font-size:.57rem;display:block}.show-message{z-index:4;color:#fff1b9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;background:#220931b8;border:1px solid #ffe5a959;border-radius:999px;min-height:45px;padding:0 20px;font-size:.7rem;font-weight:700;position:absolute;bottom:29px;left:50%;transform:translate(-50%);box-shadow:0 15px 40px #00000059}.result-overlay{z-index:110;-webkit-backdrop-filter:blur(13px);background:#0b03148a;place-items:center;padding:20px;animation:.26s both overlayReveal;display:grid;position:fixed;inset:0}.result-card{width:min(440px,92vw);color:var(--ink);background:var(--glass-strong);text-align:center;border:1px solid #ffeeff59;border-radius:31px;padding:39px 28px 30px;animation:.5s cubic-bezier(.17,.9,.24,1.15) both resultPop;position:relative;overflow:hidden;box-shadow:0 37px 110px #13041f59}.result-rays{opacity:.15;background:repeating-conic-gradient(from 0deg, var(--gold) 0 4deg, transparent 4deg 14deg);width:340px;height:340px;animation:18s linear infinite orbitSpin;position:absolute;top:28%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(circle,#000,#0000 65%);mask-image:radial-gradient(circle,#000,#0000 65%)}.result-symbol{color:#fff1ad;background:linear-gradient(145deg,#8d58b5,#c4669f);border:1px solid #ffe6a661;border-radius:50%;place-items:center;width:78px;height:78px;margin:0 auto 17px;font-size:1.8rem;display:grid;position:relative;box-shadow:0 0 0 10px #aa60c117,0 15px 35px #42175a40}.result-card>p{color:var(--gold);letter-spacing:.2em;margin:0;font-size:.61rem;font-weight:800;position:relative}.result-card h3{font-family:var(--font-display);margin:9px 0 16px;font-size:clamp(1.45rem,5vw,2rem);font-weight:600;position:relative}.reward-pill{border:1px solid var(--line);color:var(--muted);background:color-mix(in srgb, var(--glass) 75%, transparent);border-radius:999px;align-items:center;gap:7px;padding:8px 13px;font-size:.67rem;display:inline-flex;position:relative}.reward-pill span{color:var(--violet-deep);font-weight:800}.result-card .primary-button{width:100%;margin-top:22px;position:relative}.toast{z-index:120;border:1px solid var(--line-bright);max-width:calc(100vw - 32px);color:var(--ink);background:var(--glass-strong);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center;border-radius:999px;padding:12px 18px;font-size:.72rem;font-weight:700;animation:.25s both toastIn;position:fixed;bottom:27px;left:50%;transform:translate(-50%)}@keyframes silkSweep{0%,14%{transform:translate(-85%)}68%,to{transform:translate(85%)}}@keyframes auroraFloat{to{transform:translate(8vw,-5vh)scale(1.08)}}@keyframes slowTwinkle{0%,to{opacity:.3;transform:scale(.78)rotate(0)}50%{opacity:1;transform:scale(1.14)rotate(18deg)}}@keyframes cloudDrift{0%{transform:translate(0)}to{transform:translate(calc(100vw + 620px))}}@keyframes cloudDriftReverse{0%{transform:translate(0)}to{transform:translate(calc(-100vw - 650px))}}@keyframes heroReveal{0%{opacity:0;transform:translateY(24px)scale(.985)}to{opacity:1;transform:none}}@keyframes rabbitHover{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-9px)rotate(1deg)}}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes starPulse{50%{transform:translate(-50%,-50%)scale(1.08);box-shadow:0 0 0 17px #ad6fd50f,0 0 49px #e29ad394}}@keyframes targetBreathe{to{filter:drop-shadow(0 0 28px #f599d7e6)brightness(1.13)}}@keyframes targetRing{0%{opacity:.75;transform:scale(.65)}to{opacity:0;transform:scale(1.25)}}@keyframes catchPop{0%{transform:scale(.2)}70%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes flameDance{0%{transform:translate(-50%)scale(1)rotate(-3deg)}50%{transform:translate(-48%)scale(.88,1.09)rotate(4deg)}to{transform:translate(-52%)scale(1.07,.94)rotate(-1deg)}}@keyframes glowBreathe{50%{opacity:.78;transform:translate(-50%,-50%)scale(1.08)}}@keyframes smokeRise{0%{opacity:.75;transform:translate(-50%)scale(.65)}45%{opacity:.48;transform:translate(-20%,-18px)scale(1)}to{opacity:0;transform:translate(-80%,-48px)scale(1.6)}}@keyframes hintFloat{50%{transform:translate(-50%,calc(-50% - 7px))}}@keyframes cakeSpark{0%{opacity:0;transform:rotate(var(--angle)) translateX(0) scale(.3)}18%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateX(clamp(90px, 18vw, 190px)) scale(1.25)}}@keyframes finaleCardReveal{0%{opacity:0;transform:translateY(28px)scale(.96)}to{opacity:1;transform:none}}@keyframes identityReveal{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@keyframes overlayReveal{0%{opacity:0}}@keyframes resultPop{0%{opacity:0;transform:scale(.87)translateY(18px)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,12px)}}@media (width<=1100px){.quest-card{min-height:385px;padding:20px}.quest-art{height:145px}.cake-workshop{grid-template-columns:300px 1fr}.cake-canvas{min-height:470px}.memory-board{grid-template-columns:repeat(4,minmax(85px,1fr));max-width:760px}}@media (width<=840px){.screen{padding:98px 18px 38px}.page-heading{flex-direction:column;align-items:stretch}.joy-meter{width:100%}.quest-grid{grid-template-columns:1fr}.quest-card{grid-template-rows:auto auto auto 1fr auto;grid-template-columns:145px 1fr;column-gap:18px;min-height:235px;display:grid}.quest-art{grid-area:1/1/6;height:190px;margin:auto 0}.quest-status,.quest-card>strong,.quest-card>small,.quest-action{grid-column:2}.quest-card>strong{font-size:1.45rem}.quest-card>small{min-height:auto}.quest-index{font-size:4rem}.final-gate{grid-template-columns:auto 1fr}.final-gate>button{grid-column:1/-1;width:100%}.game-heading{grid-template-columns:1fr auto}.game-heading>button{grid-column:1/-1}.game-heading>div:nth-child(2){grid-column:1}.game-stat{grid-column:2}.cake-workshop{grid-template-columns:1fr}.cake-controls{max-height:none}.cake-preview-panel{min-height:auto}.cake-canvas{min-height:520px}}@media (width<=620px){.topbar{grid-template-columns:44px 1fr 44px;gap:8px;height:70px;padding:11px 14px}.round-control{width:43px;height:43px}.topbar-title{letter-spacing:.13em;text-overflow:ellipsis;white-space:nowrap;max-width:210px;padding:7px 11px;font-size:.52rem;overflow:hidden}.intro-screen{padding-top:80px}.rabbit-seal{width:79px;height:79px;margin-bottom:20px}.rabbit-face{width:43px;height:35px}.rabbit-ear{top:11px}.rabbit-ear-left{left:22px}.rabbit-ear-right{right:22px}.hero-copy h1{font-size:clamp(3.1rem,16vw,4.8rem);line-height:1.01}.hero-copy>p{margin-top:19px;font-size:.86rem;line-height:1.8}.hero-button{min-height:56px;margin-top:25px}.hero-mini-cards span{padding:6px 8px;font-size:.57rem}.orbit-one{left:-130px}.orbit-two{right:-170px}.page-heading{gap:18px;margin-bottom:22px}.page-heading h2,.game-heading h2{font-size:2.15rem}.quest-card{min-height:390px;display:block}.quest-art{height:162px}.quest-card>small{min-height:38px}.final-gate{border-radius:21px;padding:15px}.gate-icon{width:43px;height:43px}.final-gate h3{font-size:.95rem}.badge-row{gap:13px}.badge{flex-direction:column;gap:4px}.badge small{font-size:.56rem}.game-heading{gap:12px;margin-bottom:20px}.game-heading>div>p{font-size:.78rem}.game-stat strong{font-size:2rem}.memory-board{grid-template-columns:repeat(3,1fr);gap:8px}.memory-card-back small{display:none}.memory-card-back b{width:54%}.luck-arena{border-radius:25px;height:61vh;min-height:460px}.luck-hud{width:105px;top:13px;left:13px}.catch-counter{gap:4px;bottom:13px;right:13px}.cake-controls{border-radius:24px;padding:17px}.control-group>div{grid-template-columns:repeat(3,minmax(0,1fr))}.decor-picker>div{grid-template-columns:repeat(4,minmax(0,1fr))}.control-group button{min-height:41px;font-size:.61rem}.decor-picker button{min-height:54px}.cake-preview-panel{border-radius:24px;padding:10px}.cake-panel-topline{flex-direction:column;align-items:flex-start;gap:3px;padding:5px 5px 12px}.cake-canvas{border-radius:20px;min-height:455px}.cake-tier-base{width:78%;bottom:86px}.cake-tier-middle{width:59%;bottom:171px}.cake-tier-top{width:40%;bottom:245px}.shape-classic .cake-tier-base{width:79%}.shape-classic .cake-tier-middle{width:56%}.shape-gift .cake-tier-base,.shape-gift .cake-tier-middle{width:66%}.cake-stand{width:88%;bottom:40px}.cake-actions{flex-wrap:wrap;min-height:104px}.light-candles-button{width:100%;margin-left:0}.hold-button{width:100%}.finale-card{border-radius:25px;padding:31px 20px 24px}.wish-lines p{font-size:.76rem;line-height:1.72}.final-actions{flex-wrap:wrap}.final-actions button{flex:1;min-width:130px}}@media (width<=390px){.screen{padding-left:13px;padding-right:13px}.eyebrow{font-size:.62rem}.hero-mini-cards{gap:5px}.hero-mini-cards span{font-size:.52rem}.control-group>div{grid-template-columns:repeat(2,minmax(0,1fr))}.decor-picker>div{grid-template-columns:repeat(4,minmax(0,1fr))}.cake-canvas{min-height:430px}.candle-row{gap:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.topbar-expanded{grid-template-columns:52px 1fr auto}.topbar-actions{align-items:center;gap:9px;display:flex}.sound-control{position:relative}.sound-toggle{font-family:var(--font-sans);font-size:1rem}.volume-popover{z-index:70;border:1px solid var(--line-bright);width:max-content;color:var(--ink);background:var(--glass-strong);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:18px;grid-template-columns:auto 120px 24px;align-items:center;gap:10px;padding:12px 12px 12px 16px;animation:.25s both popoverIn;display:grid;position:absolute;top:58px;right:0}.volume-popover span{white-space:nowrap;font-size:.65rem;font-weight:700}.volume-popover input{width:120px;accent-color:var(--violet)}.volume-popover>button{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0}.sound-control.minimal .round-control{color:#fff4c8;background:#1406258a;border-color:#ffebbe47;box-shadow:0 10px 40px #00000040}.rabbit-secret{cursor:pointer;padding:0;display:block}.rabbit-secret:active{transform:translateY(-2px)scale(.96)}.real-badge-row{justify-content:center;gap:clamp(12px,3vw,34px);margin-top:23px;display:flex}.badge-display{min-width:170px;color:var(--muted);align-items:center;gap:11px;transition:all .35s;display:flex}.badge-display.locked{opacity:.42;filter:grayscale(.65)}.badge-display>span:last-child{gap:3px;display:grid}.badge-display strong{font-size:.68rem}.badge-display small{color:var(--faint);font-size:.56rem}.real-badge{filter:drop-shadow(0 9px 13px #34184b33);flex:none;place-items:center;width:62px;height:62px;display:inline-grid;position:relative}.real-badge svg{z-index:2;width:100%;height:100%;position:relative;overflow:visible}.real-badge .badge-shell{stroke:#ffffff9e;stroke-width:2px}.real-badge .badge-core{stroke:#ffffff6b;stroke-width:1.5px}.real-badge .badge-mark{fill:none;stroke:#fffffff2;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.badge-memory .badge-shell{fill:#7350b8}.badge-memory .badge-core{fill:#a977df}.badge-luck .badge-shell{fill:#55a487}.badge-luck .badge-core{fill:#7ac8a9}.badge-luck .badge-mark{fill:#ffffffed;stroke-width:2px}.badge-luck .badge-comet{fill:#ffe48f;stroke:#fff5c4;stroke-width:1.5px}.badge-cake .badge-shell{fill:#d5789d}.badge-cake .badge-core{fill:#f0a5be}.badge-cake .badge-mark{fill:none}.badge-cake .badge-icing{fill:none;stroke:#fff1cc;stroke-width:4px;stroke-linecap:round}.real-badge.is-empty svg{opacity:.46}.badge-halo{opacity:0;filter:blur(17px);background:currentColor;border-radius:50%;position:absolute;inset:12%}.real-badge.is-earned .badge-halo{opacity:.22;animation:2.8s ease-in-out infinite badgeHalo}.badge-spark{z-index:3;color:#fff1a6;text-shadow:0 0 8px;font-size:.62rem;animation:2s ease-in-out infinite slowTwinkle;position:absolute}.badge-spark.s1{top:7px;right:-2px}.badge-spark.s2{animation-delay:-1s;bottom:4px;left:0}.real-badge.is-large{filter:drop-shadow(0 26px 34px #3b165247);width:142px;height:142px;animation:.8s cubic-bezier(.15,.85,.25,1.18) both badgeArrive}.badge-reward{z-index:150;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#14052194;place-items:center;padding:18px;animation:.3s both overlayReveal;display:grid;position:fixed;inset:0;overflow:hidden}.badge-reward-card{z-index:2;width:min(450px,94vw);color:var(--ink);text-align:center;background:linear-gradient(145deg,#fffdfff2,#f4e6fae8);border:1px solid #ffffff85;border-radius:34px;justify-items:center;padding:38px 30px 31px;animation:.65s cubic-bezier(.16,.9,.26,1.12) both rewardCardIn;display:grid;position:relative;box-shadow:0 45px 120px #0d021773}.badge-reward-card:before{content:"";pointer-events:none;border:1px solid #7848971f;border-radius:25px;position:absolute;inset:12px}.badge-reward-card>p{color:#a77a36;letter-spacing:.2em;margin:0 0 15px;font-size:.62rem;font-weight:800}.reward-label{color:#a77a36;letter-spacing:.13em;margin-top:13px;font-size:.62rem;font-weight:800}.badge-reward-card h3{color:#3a1d4b;font-family:var(--font-display);margin:7px 0 0;font-size:2rem;font-weight:600}.badge-reward-card blockquote{color:#7c658c;font-family:var(--font-display);margin:12px 0 20px;font-size:.9rem;line-height:1.8}.badge-reward-card .primary-button{width:100%}.reward-confetti{pointer-events:none;position:absolute;inset:0}.reward-confetti i{--angle:calc(var(--i) * 15deg);background:hsl(calc(260 + var(--i)*9),70%,70%);width:7px;height:14px;animation:rewardConfetti 1.45s calc(var(--i)*-18ms) cubic-bezier(.16,.8,.31,1) both;border-radius:2px;position:absolute;top:50%;left:50%}.memory-board-four{grid-template-columns:repeat(4,minmax(100px,1fr));gap:15px;width:min(820px,100%);max-width:820px}.memory-board-four .memory-card{aspect-ratio:.76}.memory-board-four .memory-card-back{background:radial-gradient(circle at 50% 35%,#ffd3ee21,#0000 34%),linear-gradient(145deg,#3c165e,#71428f 55%,#442060);border:1px solid #ffe09f4d;overflow:hidden;box-shadow:inset 0 0 25px #ffcce914}.memory-board-four .memory-card-back:after{content:"";border:1px solid #ffdc9d24;border-radius:50% 50% 42% 42%;position:absolute;inset:17px;transform:rotate(45deg)}.card-filigree{z-index:2;color:#ffe9a9;text-shadow:0 0 12px #ffd47b}.card-rabbit-mark{z-index:2;color:#ffeec7;background:#ffffff0f}.memory-board-four .memory-card-front{border:1px solid #814aa633}.memory-board-four .memory-card-front:before{content:"";opacity:.14;border:1px solid;border-radius:12px;position:absolute;inset:9px}.memory-board-four .memory-card-front i{font-size:clamp(2rem,5vw,3.5rem)}.memory-board-four .memory-card-front strong{font-family:var(--font-display);margin-top:10px;font-size:1.12rem;font-weight:600}.memory-board-four .memory-card-front small{margin-top:4px}.memory-card.card-crown .memory-card-front{color:#a77930;background:linear-gradient(145deg,#fffaf0,#f4e4c0)}.memory-card.card-rabbit .memory-card-front{color:#a7568c;background:linear-gradient(145deg,#fff8fd,#f4d9eb)}.memory-card.card-moon .memory-card-front{color:#7853ae;background:linear-gradient(145deg,#fcfaff,#ded5f5)}.memory-card.card-gem .memory-card-front{color:#3d8da0;background:linear-gradient(145deg,#f7ffff,#d7eef0)}.memory-card.is-matched{animation:.65s both matchedCards}.luck-target-large{width:92px;height:92px}.luck-target-large span{font-size:2.15rem}.caught-spark{z-index:3;color:#fff1a8;text-shadow:0 0 18px #ff8dcc;pointer-events:none;font-size:2.2rem;animation:.8s ease-out forwards caughtSpark;position:absolute;transform:translate(-50%,-50%)}.combo-pill{z-index:4;color:#ffe6a7;letter-spacing:.12em;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#511f6b80;border:1px solid #ffe8b340;border-radius:999px;padding:8px 14px;font-size:.65rem;font-weight:900;animation:.32s both comboPop;position:absolute;top:20px;left:50%;transform:translate(-50%)}.cake-art{touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 42%,#ffffffa8,#0000 31%),linear-gradient(155deg,#faf0ffbf,#e3cbf26b);border-radius:25px;width:100%;min-height:500px;position:relative;overflow:hidden}.theme-night .cake-art{background:radial-gradient(circle at 50% 42%,#e1aaff26,#0000 30%),linear-gradient(155deg,#37164ebd,#180828ad)}.cake-art-glow{aspect-ratio:1;opacity:.55;filter:blur(4px);background:radial-gradient(circle,#ffebaf8c,#db97e91f 45%,#0000 68%);border-radius:50%;width:62%;animation:4s ease-in-out infinite glowBreathe;position:absolute;top:53%;left:50%;transform:translate(-50%,-50%)}.cake-art-rotator{transform:perspective(900px) rotateY(var(--cake-angle));transform-style:preserve-3d;transition:transform .25s;position:absolute;inset:0}.cake-tiers-new{z-index:3;width:80%;height:320px;position:absolute;bottom:90px;left:50%;transform:translate(-50%)}.cake-tier-new{filter:drop-shadow(0 18px 20px #41204d2b);height:105px;position:absolute;left:50%;transform:translate(-50%)}.cake-tier-new.tier-1{z-index:4;width:82%;bottom:0}.cake-tier-new.tier-2{z-index:3;width:62%;bottom:91px}.cake-tier-new.tier-3{z-index:2;width:43%;bottom:178px}.cake-sponge-new{background:linear-gradient(90deg,color-mix(in srgb,var(--cake-sponge) 82%,#71402d),var(--cake-sponge) 22%,color-mix(in srgb,var(--cake-sponge) 78%,#fff));border-radius:18px 18px 29px 29px;position:absolute;inset:17px 0 0;box-shadow:inset 0 -12px 20px #542c2524,inset 0 3px 5px #ffffff57}.cake-icing-new{background:radial-gradient(ellipse at 50% 18%,var(--cake-light),var(--cake-icing) 54%,var(--cake-shadow));border-radius:50% 50% 28px 28px;width:104%;height:54px;position:absolute;top:0;left:-2%;box-shadow:inset 0 6px 10px #fff6,0 5px 7px #4d274f1f}.icing-drips-new{z-index:2;height:44px;position:absolute;top:35px;left:0;right:0}.icing-drips-new i{background:linear-gradient(90deg,var(--cake-icing),var(--cake-light),var(--cake-shadow));border-radius:0 0 16px 16px;width:clamp(16px,5%,27px);height:36px;position:absolute}.trim-line-new{z-index:4;height:19px;position:absolute;bottom:1px;left:5%;right:5%}.trim-ribbon .trim-line-new{background:linear-gradient(#e69bbb,#c86c92);border-radius:999px;height:16px;box-shadow:inset 0 3px 4px #fff6}.trim-starlight .trim-line-new{clip-path:polygon(0 45%,8% 0,16% 50%,24% 0,32% 50%,40% 0,48% 50%,56% 0,64% 50%,72% 0,80% 50%,88% 0,96% 50%,100% 40%,100% 100%,0 100%);background:repeating-linear-gradient(90deg,#ffe784 0 9px,#0000 9px 17px)}.trim-shell .trim-line-new{background:radial-gradient(ellipse at 50% 100%,var(--cake-light) 0 55%,var(--cake-shadow) 58%,transparent 64%) 0 0/25px 18px repeat-x}.shape-heart .cake-icing-new{border-radius:45% 45% 22% 22%}.cake-plate-new{z-index:2;background:linear-gradient(#fff,#dfd0e7);border:1px solid #ffffffb3;border-radius:50%;width:76%;height:45px;position:absolute;bottom:62px;left:50%;transform:translate(-50%);box-shadow:0 25px 24px #2b123d2e}.cake-plate-new i{background:linear-gradient(#d9c8e1,#f9f1fc);border-radius:0 0 50% 50%;width:30%;height:38px;position:absolute;top:23px;left:50%;transform:translate(-50%)}.cake-topper-new{z-index:8;color:#9b61ba;text-align:center;text-shadow:0 4px 10px #542a6738;min-width:72px;position:absolute;bottom:395px;left:50%;transform:translate(-50%)}.cake-topper-new span{font-family:var(--font-display);font-size:2.2rem;display:block}.cake-topper-new small{color:#a56d82;letter-spacing:.16em;margin-top:-4px;font-size:.51rem;font-weight:900;display:block}.cake-topper-new:after{content:"";background:#b89468;width:2px;height:30px;margin:2px auto 0;display:block}.candle-row-new{z-index:7;gap:19px;display:flex;position:absolute;bottom:376px;left:50%;transform:translate(-50%)}.candle-new{background:repeating-linear-gradient(-32deg,#7b55bc 0 6px,#f0c4d9 6px 12px);border-radius:3px;width:8px;height:42px;position:relative;box-shadow:0 4px 6px #3a1a4c33}.flame-new{background:radial-gradient(circle at 70% 70%,#fff 0 13%,#ffe978 20%,#ff9b35 63%,#ff4e44);border-radius:50% 50% 52% 14%;width:14px;height:23px;animation:.7s ease-in-out infinite alternate flameNew;display:none;position:absolute;bottom:45px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:0 0 10px #ffd557,0 0 24px #ff8037c7}.candle-lit .flame-new{display:block}.smoke-new{filter:blur(2px);background:#e2d7e899;border-radius:50%;width:6px;height:20px;animation:1.8s ease-out infinite smokeRise;display:none;position:absolute;bottom:47px;left:50%}.candle-blown .smoke-new{display:block}.candle-blown .flame-new,.candle-off .flame-new{display:none}.cake-decorations-new{z-index:12;pointer-events:none;position:absolute;inset:0}.cake-decorations-new .placed-decoration{pointer-events:auto}.cake-art.is-editable{cursor:crosshair}.cake-art.is-editable .placed-decoration{cursor:grab;touch-action:none}.cake-art.is-editable .placed-decoration:active{cursor:grabbing;filter:drop-shadow(0 5px 6px #441c524d)}.cake-art-hint{z-index:11;color:var(--muted);pointer-events:none;background:#fff6;border:1px dashed #71429042;border-radius:999px;align-items:center;gap:8px;padding:9px 13px;font-size:.64rem;display:flex;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.cake-art-hint span{background:#78489921;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.decoration-pearl{text-shadow:0 1px 2px #c49551;color:#fff0bd!important}.decoration-star,.decoration-heart,.decoration-sparkle{text-shadow:0 0 8px #fff1a6;color:#f7d15e!important}.decoration-macaron{text-shadow:inset 0 0 0 #fff;color:#e48aaf!important}.cake-stepper{justify-content:center;align-items:flex-start;gap:0;width:min(760px,100%);margin:0 auto 20px;display:flex}.cake-stepper>div{color:var(--faint);flex:1;justify-items:center;gap:5px;font-size:.6rem;display:grid;position:relative}.cake-stepper>div:not(:last-child):after{content:"";background:var(--line);height:1px;position:absolute;top:15px;left:calc(50% + 17px);right:calc(17px - 50%)}.cake-stepper>div.done:after{background:linear-gradient(90deg,var(--violet),var(--gold))}.cake-stepper span{z-index:2;border:1px solid var(--line);background:var(--glass-strong);border-radius:50%;place-items:center;width:31px;height:31px;font-size:.61rem;font-weight:800;display:grid;position:relative;box-shadow:0 5px 15px #33164514}.cake-stepper .done span,.cake-stepper .active span{color:#fff;background:linear-gradient(145deg,#8050b1,#cf729f);border-color:#ffffff85;box-shadow:0 0 0 5px #9653ae17}.cake-stepper .active small{color:var(--violet-deep);font-weight:800}.cake-workshop-new{padding-bottom:45px;overflow:auto}.cake-controls-scroll{max-height:590px}.cake-preview-new{min-height:590px}.cake-preview-new .cake-art{flex:1;min-height:440px}.icing-dot{vertical-align:-1px;border:1px solid #49265426;border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block}.dot-cream{background:#fff6e9}.dot-lilac{background:#b88ce8}.dot-rose{background:#f2a5c0}.dot-mint{background:#a9d9c3}.maker-stage{border:1px solid var(--line-bright);background:var(--glass);width:min(850px,100%);min-height:560px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);text-align:center;border-radius:34px;align-content:center;justify-items:center;margin:0 auto;padding:35px;display:grid}.maker-copy{max-width:590px}.maker-copy>span{color:var(--gold);letter-spacing:.2em;font-size:.63rem;font-weight:900}.maker-copy h3{font-family:var(--font-display);margin:7px 0 8px;font-size:clamp(1.8rem,4vw,2.7rem);font-weight:600}.maker-copy p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.8}.mixing-bowl{width:300px;height:230px;margin:23px auto 10px;position:relative}.bowl-rim{background:linear-gradient(#fff8de,#e2b878);border:9px solid #eadcf2;border-radius:50%;width:270px;height:100px;position:absolute;top:23px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:inset 0 13px 21px #7b442524,0 14px 25px #401e4d29}.batter{background:radial-gradient(circle at 40% 35%,#fff3be,#e7b56f 62%,#bd7c47);border-radius:50%;position:absolute;inset:12px}.batter i{background:#ffffff75;border-radius:50%;width:12px;height:12px;animation:2s ease-in-out infinite batterBubble;position:absolute}.batter i:first-child{top:30%;left:22%}.batter i:nth-child(2){animation-delay:-.5s;top:20%;left:58%}.batter i:nth-child(3){animation-delay:-1s;top:55%;left:70%}.batter i:nth-child(4){animation-delay:-1.5s;top:65%;left:38%}.bowl-body{clip-path:polygon(0 0,100% 0,82% 100%,18% 100%);color:#8b6a93;letter-spacing:.17em;background:linear-gradient(100deg,#d8c8df,#fff,#cbb7d6);border-radius:0 0 90px 90px;width:260px;height:140px;padding-top:82px;font-size:.58rem;font-weight:900;position:absolute;top:67px;left:50%;transform:translate(-50%);box-shadow:0 20px 29px #30133f2e}.whisk{z-index:4;color:#a57a54;width:22px;height:140px;font-family:serif;font-size:5rem;line-height:1;position:absolute;top:-45px;left:50%;transform:translate(-50%)rotate(15deg)}.is-mixing .whisk{animation:.32s linear infinite whiskMix}.is-mixing .batter{animation:.65s linear infinite batterSwirl}.mix-spark{color:#e3a856;text-shadow:0 0 9px #fff1a2;animation:1.2s ease-in-out infinite slowTwinkle;position:absolute}.mix-spark.one{top:25px;right:13px}.mix-spark.two{color:#dd8fb3;animation-delay:-.6s;top:85px;left:14px}.maker-progress{align-items:center;gap:13px;width:min(520px,100%);margin:10px auto 18px;display:flex}.maker-progress>div{background:#71458e1c;border-radius:999px;flex:1;height:8px;overflow:hidden}.maker-progress i{border-radius:inherit;background:linear-gradient(90deg,#8751b4,#e48dac,#f2c96b);height:100%;transition:width 50ms linear;display:block;box-shadow:0 0 12px #db7bb259}.maker-progress strong{min-width:45px;color:var(--violet-deep);font-size:.73rem}.maker-actions{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex}.hold-maker-button{border:1px solid var(--line);min-width:210px;min-height:48px;color:var(--violet-deep);background:var(--glass-strong);box-shadow:var(--soft-shadow);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:999px;padding:0 20px;font-size:.72rem;font-weight:800}.hold-maker-button:active{background:color-mix(in srgb,var(--violet) 12%,var(--glass-strong));transform:scale(.98)}.magic-oven{background:linear-gradient(135deg,#7954a1,#b678aa);border:1px solid #ffffffa6;border-radius:39px;width:310px;height:290px;margin:22px auto 14px;position:relative;box-shadow:inset 0 5px 12px #fff3,0 30px 48px #36144d38}.oven-top{justify-content:center;gap:20px;padding-top:22px;display:flex}.oven-top i{border:2px solid #ffe8a8;border-radius:50%;width:14px;height:14px;box-shadow:0 0 10px #ffd66373}.oven-window{background:radial-gradient(circle,#efb069,#7b2f70 55%,#251132);border:8px solid #4e3265;border-radius:24px;place-items:center;display:grid;position:absolute;inset:60px 32px 32px;overflow:hidden;box-shadow:inset 0 0 35px #ffa85473}.oven-window:before{content:"";opacity:.32;background:linear-gradient(115deg,#0000 28%,#fffc 35%,#0000 44%);position:absolute;inset:0}.oven-cake{z-index:2;color:#8a4e80;background:linear-gradient(#f1b3c9,#d68bae);border-radius:50% 50% 19px 19px;place-items:center;width:115px;height:72px;font-size:1.8rem;animation:3.2s ease-out both ovenRise;display:grid;position:relative;box-shadow:0 11px #b36d7e,0 15px 20px #1c062159}.oven-glow{background:radial-gradient(circle,#ffed9e4d,#0000 65%);animation:.8s ease-in-out infinite alternate ovenGlow;position:absolute;inset:0}.bake-timer{text-align:center;width:min(520px,100%)}.bake-timer>div{background:#6f448b1f;border-radius:999px;height:9px;overflow:hidden}.bake-timer i{background:linear-gradient(90deg,#e29b64,#ffd679,#f2a0bd);height:100%;transition:width 40ms linear;display:block}.bake-timer span{color:var(--muted);margin-top:9px;font-size:.69rem;font-weight:700;display:block}.frosting-table{border-radius:30px;width:min(570px,100%);height:360px;margin:16px auto -5px;position:relative;overflow:hidden}.frosting-table .cake-art{min-height:360px}.frosting-table .cake-tiers-new{transform-origin:bottom;transform:translate(-50%)scale(.73)}.frosting-table .cake-plate-new{bottom:43px}.piping-bag{z-index:18;color:#bd7fc1;filter:drop-shadow(0 12px 10px #39164838);font-size:6.2rem;transition:all .2s;display:block;position:absolute;top:15%;right:16%;transform:rotate(22deg)}.piping-bag i{color:#fff;letter-spacing:.1em;font-size:.55rem;font-style:normal;font-weight:900;position:absolute;top:40px;left:26px}.is-frosting .piping-bag{animation:1.5s ease-in-out infinite pipingMove}.frost-sheen{z-index:15;filter:blur(5px);pointer-events:none;background:linear-gradient(115deg,#0000 25%,#ffffffa3,#0000 65%);border-radius:50%;transition:opacity .1s;position:absolute;inset:12% 20% 16%}.photo-studio{grid-template-columns:minmax(440px,1.25fr) minmax(300px,.75fr);align-items:center;gap:25px;width:min(1050px,100%);margin:0 auto;display:grid}.photo-stage{border:1px solid var(--line-bright);min-height:600px;box-shadow:var(--shadow);background:radial-gradient(circle at 50% 42%,#ffffffb3,#0000 38%),linear-gradient(145deg,#ddc9f0d6,#f6dce8bd);border-radius:34px;place-items:center;display:grid;overflow:hidden}.polaroid-live{aspect-ratio:.8;width:min(405px,75vw);transform:rotate(var(--photo-angle));background:#fffdf8;border-radius:8px;padding:20px 20px 76px;transition:all .4s;animation:.85s cubic-bezier(.16,.84,.26,1.08) both polaroidArrive;position:relative;box-shadow:0 30px 55px #3516453d}.polaroid-live.has-photo{padding:0;overflow:hidden}.polaroid-live>img{object-fit:cover;width:100%;height:100%;display:block}.polaroid-live.has-photo-fallback{background:#fffdf8;padding:20px 20px 76px}.polaroid-live.has-photo-fallback>img{object-fit:contain;background:linear-gradient(145deg,#d9ccf2,#efd8e8,#f5e9ce)}.polaroid-preview{border-radius:3px;width:100%;height:100%;position:relative;overflow:hidden}.polaroid-preview.backdrop-lavender{background:linear-gradient(145deg,#d9ccf2,#efd8e8,#f5e9ce)}.polaroid-preview.backdrop-cream{background:linear-gradient(145deg,#fff7e7,#f0e1f4,#eed3df)}.polaroid-preview.backdrop-night{background:linear-gradient(145deg,#10051d,#32104d,#682c70)}.polaroid-preview .cake-art{background:0 0;border-radius:0;min-height:100%;position:absolute;inset:0;transform:scale(.76)}.polaroid-caption{color:#422752;text-align:center;position:absolute;bottom:-63px;left:0;right:0}.polaroid-caption strong{font-family:var(--font-display);font-size:1.17rem;font-weight:600;display:block}.polaroid-caption small{color:#9b7789;letter-spacing:.16em;margin-top:4px;font-size:.5rem;font-weight:800;display:block}.photo-developing{color:#8b6e94;text-align:center;font-size:.61rem;position:absolute;bottom:28px;left:0;right:0}.photo-controls{border:1px solid var(--line-bright);background:var(--glass);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:30px;padding:30px}.photo-controls h3{font-family:var(--font-display);margin:4px 0 8px;font-size:2rem;font-weight:600}.photo-controls>p:not(.section-kicker):not(.ios-photo-tip):not(.photo-fallback-tip){color:var(--muted);font-size:.77rem;line-height:1.8}.photo-backgrounds{grid-template-columns:repeat(3,1fr);gap:7px;margin:20px 0;display:grid}.photo-backgrounds button{border:1px solid var(--line);background:var(--glass);cursor:pointer;border-radius:12px;min-height:40px;font-size:.67rem}.photo-backgrounds button.selected{color:#fff;background:linear-gradient(135deg,#8052ae,#c36c9e);border-color:#ffffff80}.photo-controls label{color:var(--muted);gap:7px;font-size:.66rem;display:grid}.photo-controls input{width:100%;accent-color:var(--violet)}.photo-button-row{grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;display:grid}.camera-button,.save-photo-button{border:1px solid var(--line);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:49px;font-size:.69rem;font-weight:800;text-decoration:none;display:flex}.camera-button{color:#fff;background:linear-gradient(135deg,#7546a5,#bd6099)}.camera-button:disabled{opacity:.66;cursor:wait}.camera-button span{border:1px solid #ffffff80;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.55rem;display:grid}.save-photo-button{color:var(--violet-deep);background:var(--glass-strong)}.ios-photo-tip{color:var(--faint)!important;margin:10px 0 0!important;font-size:.58rem!important}.photo-fallback-tip{color:var(--muted)!important;margin:10px 0 0!important;font-size:.6rem!important;line-height:1.6!important}.photo-finish{width:100%;margin-top:16px}.camera-flash{z-index:200;pointer-events:none;background:#fff;animation:.45s ease-out forwards cameraFlash;position:fixed;inset:0}.prelude-screen{color:#fff;background:radial-gradient(circle at 20% 20%,#7535a961,#0000 29%),radial-gradient(circle at 80% 66%,#d0459c33,#0000 28%),linear-gradient(#150426,#25093d 65%,#0b0314);place-items:center;min-height:100dvh;padding:78px 28px 35px;display:grid;position:relative;overflow:hidden}.prelude-screen>div:not(.prelude-stars):not(.prelude-topline){z-index:3;position:relative}.prelude-stars{z-index:0;opacity:.47;background-image:radial-gradient(circle,#fff 0 1px,#0000 1.5px),radial-gradient(circle,#ffe3a0 0 1px,#0000 1.6px);background-position:0 0,39px 57px;background-size:82px 82px,137px 137px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 90%);mask-image:linear-gradient(#000,#0000 90%)}.prelude-topline{z-index:5;color:#ffedc5c2;letter-spacing:.2em;white-space:nowrap;font-size:.61rem;font-weight:800;position:absolute;top:23px;left:50%;transform:translate(-50%)}.prelude-topline span{color:#ffe396;margin:0 8px}.prelude-sound{top:16px;right:18px;z-index:20!important;position:fixed!important}.gift-reveal-stage{grid-template-rows:auto auto;grid-template-columns:minmax(280px,.8fr) minmax(300px,1fr);align-items:center;gap:10px 60px;width:min(980px,100%);display:grid}.gift-collection{grid-row:1/3;min-height:520px;position:relative}.mini-polaroid-saved{aspect-ratio:.8;background:#fff;border:14px solid #fff;border-bottom-width:48px;border-radius:7px;width:260px;animation:4s ease-in-out infinite collectionFloat;position:absolute;top:10%;left:7%;overflow:hidden;transform:rotate(-7deg);box-shadow:0 30px 55px #00000052}.mini-polaroid-saved img{object-fit:cover;width:100%;height:100%}.saved-badges{gap:-2px;display:flex;position:absolute;bottom:11%;right:0}.saved-badges .real-badge{margin-left:-5px}.final-gift-box{filter:drop-shadow(0 30px 32px #00000047);width:260px;height:205px;margin:0 auto 10px;animation:3s ease-in-out infinite giftHover;position:relative}.gift-body{background:linear-gradient(135deg,#7042a0,#bb6097);border-radius:12px 12px 28px 28px;height:145px;position:absolute;bottom:0;left:20px;right:20px;box-shadow:inset 0 0 0 2px #ffffff2e}.gift-body span{color:#ffe8a5;letter-spacing:.2em;white-space:nowrap;font-size:.59rem;font-weight:900;position:absolute;bottom:23px;left:50%;transform:translate(-50%)}.gift-lid{z-index:3;background:linear-gradient(135deg,#8d58b5,#d578a6);border-radius:12px;height:53px;position:absolute;top:35px;left:0;right:0;box-shadow:inset 0 0 0 2px #fff3}.gift-lid i:before,.gift-lid i:after{content:"";border:12px solid #e4b85b;width:76px;height:50px;position:absolute;top:-39px}.gift-lid i:before{border-radius:62% 35% 50% 32%;left:51px;transform:rotate(20deg)}.gift-lid i:after{border-radius:35% 62% 32% 50%;right:51px;transform:rotate(-20deg)}.gift-ribbon{z-index:4;background:linear-gradient(90deg,#d3a745,#ffdd79,#c79734);width:29px;position:absolute;top:34px;bottom:0;left:50%;transform:translate(-50%)}.gift-copy{max-width:480px}.gift-copy h2{font-family:var(--font-display);margin:5px 0 10px;font-size:clamp(2.4rem,5vw,4rem);font-weight:600}.gift-copy>p:not(.section-kicker){color:#fff5ffb3;font-size:.83rem;line-height:1.9}.gift-copy .primary-button{margin-top:16px}.identity-reveal-stage{text-align:center;justify-items:center;width:min(750px,100%);display:grid}.identity-copy h2{font-family:var(--font-display);margin:5px 0 8px;font-size:clamp(2.5rem,6vw,4.1rem);font-weight:600}.identity-copy>p:not(.section-kicker){color:#fff5ffab;margin:0;font-size:.8rem;line-height:1.8}.identity-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .52s cubic-bezier(.2,.74,.22,1);position:relative}.identity-card-deluxe.is-revealed .identity-card-inner{transform:rotateY(180deg)}.identity-card-back,.identity-card-front{backface-visibility:hidden;border:1px solid #ffe7ae7a;border-radius:26px;place-items:center;padding:35px;display:grid;position:absolute;inset:0;box-shadow:0 28px 58px #0000004d,inset 0 0 0 8px #ffffff06}.identity-card-back:before,.identity-card-front:before{content:"";border:1px solid #ffe7ae38;border-radius:18px;position:absolute;inset:14px}.identity-card-back span{border:1px solid #ffe7ae59;border-radius:50%;place-items:center;width:105px;height:105px;font-size:2.4rem;display:grid;box-shadow:0 0 35px #f1b56a1f}.identity-card-back b{font-family:var(--font-display);font-size:1.25rem;font-weight:600}.identity-card-back small{letter-spacing:.22em;font-size:.53rem}.identity-card-front{color:#fff;background:radial-gradient(circle at 50% 20%,#ffe29738,#0000 34%),linear-gradient(145deg,#6a3694,#bc5f98);align-content:center;gap:10px;transform:rotateY(180deg)}.identity-sigil{color:#ffe8a0;text-shadow:0 0 25px #ffda7f6b;font-size:3.4rem}.identity-card-front small{color:#f1cb72;letter-spacing:.14em;font-size:.56rem;font-weight:900}.identity-card-front strong{font-family:var(--font-display);font-size:1.65rem;font-weight:600}.identity-card-front p{color:#fff8ffc2;margin:2px 0;font-size:.76rem;line-height:1.8}.identity-card-front i{color:#ffffff61;letter-spacing:.18em;margin-top:12px;font-size:.5rem;font-style:normal}.identity-actions{gap:10px;display:flex}.edge-confetti{contain:strict;pointer-events:none;inset:0;z-index:2!important;position:fixed!important}.edge-confetti i{top:-20px;left:calc((var(--i)*37)%100 * 1%);background:hsl(calc(40 + var(--i)*17),75%,67%);width:7px;height:15px;animation:edgeConfetti calc(3.2s + (var(--i)%4)*.45s) calc(var(--i)*-.12s) linear both;border-radius:2px;position:absolute}.blessing-stage{grid-template-columns:170px minmax(330px,650px) 170px;align-items:center;gap:28px;width:min(1050px,100%);display:grid}.birthday-letter{color:#402653;text-align:center;background:linear-gradient(100deg,#fffaf0,#fffdf9 45%,#f7ecf6);border:1px solid #ffffffa1;border-radius:8px 8px 22px 22px;padding:48px clamp(28px,6vw,68px) 39px;animation:.9s cubic-bezier(.2,.8,.2,1) both letterOpen;position:relative;box-shadow:0 40px 110px #00000061}.birthday-letter:before{content:"";border:1px solid #7a49971f;border-radius:5px 5px 15px 15px;position:absolute;inset:13px}.letter-seal{color:#ffe6a1;background:#8652ad;border:4px solid #f2c86b;border-radius:50%;place-items:center;width:57px;height:57px;font-size:1.4rem;display:grid;position:absolute;top:-28px;left:50%;transform:translate(-50%);box-shadow:0 10px 25px #31134138}.letter-kicker{color:#bd8a3e;letter-spacing:.22em;margin:0;font-size:.56rem;font-weight:900}.birthday-letter h2{font-family:var(--font-display);margin:7px 0 20px;font-size:clamp(2.4rem,6vw,3.8rem);font-weight:600}.wish-lines-new p{color:#6f587d;font-family:var(--font-display);margin:10px 0;font-size:.9rem;line-height:2}.birthday-letter blockquote{color:#87549d;font-family:var(--font-display);border-top:1px solid #925ba11f;border-bottom:1px solid #925ba11f;margin:24px 0 21px;padding:17px 0;font-size:1rem;line-height:1.9}.blessing-envelope{background:linear-gradient(145deg,#f7dbea,#d9b8e5);border:1px solid #ffffff8c;border-radius:8px;width:150px;height:110px;position:relative;transform:rotate(-8deg);box-shadow:0 20px 40px #00000040}.blessing-envelope i{clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);background:linear-gradient(145deg,#eac7df,#cda6dc);position:absolute;inset:0}.blessing-envelope span{z-index:2;color:#754888;letter-spacing:.15em;font-size:.56rem;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.letter-keepsakes{gap:18px;display:grid}.tiny-identity{aspect-ratio:.7;color:#fff;text-align:center;background:linear-gradient(145deg,#5d2d84,#a84d8e);border:1px solid #ffe8ae4d;border-radius:16px;align-content:center;justify-items:center;gap:8px;padding:15px;display:grid;transform:rotate(6deg);box-shadow:0 20px 40px #00000040}.tiny-identity span{color:#ffe096;font-size:1.8rem}.tiny-identity b{font-family:var(--font-display);font-size:.72rem;font-weight:600}.tiny-polaroid{aspect-ratio:.8;background:#fff;border-radius:3px;padding:7px 7px 25px;overflow:hidden;transform:rotate(-4deg);box-shadow:0 20px 40px #0000003d}.tiny-polaroid img{object-fit:cover;width:100%;height:100%}.wish-stage-final{text-align:center;justify-items:center;width:min(790px,100%);display:grid}.wish-copy h2{font-family:var(--font-display);margin:5px 0 7px;font-size:clamp(2.5rem,6vw,4rem);font-weight:600}.wish-copy>p:not(.section-kicker){color:#fff6ffad;margin:0;font-size:.8rem;line-height:1.8}.wish-cake-wrap{width:min(570px,100%);height:420px;margin:8px auto -2px;position:relative}.wish-cake-wrap .cake-art{background:0 0;min-height:420px}.wish-cake-wrap .cake-tiers-new{transform-origin:bottom;transform:translate(-50%)scale(.82)}.wish-hold-button{max-width:500px}.wish-spark-transition{z-index:30;width:1px;height:1px;position:absolute;top:36%;left:50%}.wish-spark-transition i{--angle:calc(var(--i)*12.85deg);color:#ffe890;text-shadow:0 0 8px;animation:wishScatter 1.4s calc(var(--i)*-13ms) ease-out forwards;position:absolute}.transition-screen,.grand-show-screen,.diy-screen{color:#fff;background:radial-gradient(circle at 50% 110%,#37134f,#0d0318 58%,#030107);min-height:100dvh;position:relative;overflow:hidden}.transition-screen>.fireworks-canvas,.grand-show-screen>.fireworks-canvas,.diy-screen>.fireworks-canvas{z-index:1;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.nightfall-vignette{z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 58%,#0000 20%,#020008ad 100%);animation:3.2s both nightfall;position:absolute;inset:0}.transition-copy{z-index:4;text-align:center;animation:3s both transitionText;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.transition-copy span{color:#f2cc73;letter-spacing:.22em;font-size:.62rem;font-weight:900}.transition-copy h2{font-family:var(--font-display);text-shadow:0 0 35px #e094d640;margin:10px 0 0;font-size:clamp(2.6rem,7vw,5rem);font-weight:500;line-height:1.25}.comet-bridge i{z-index:3;transform-origin:bottom;opacity:0;filter:drop-shadow(0 0 6px #ffb757);background:linear-gradient(#0000,#fff,#ffd87b);width:2px;height:52vh;animation:1.45s ease-out forwards cometBridge;position:absolute;bottom:8%;left:50%}.comet-bridge i:first-child{animation-delay:.2s;transform:rotate(-11deg)}.comet-bridge i:nth-child(2){animation-delay:.42s;transform:rotate(0)}.comet-bridge i:nth-child(3){animation-delay:.64s;transform:rotate(11deg)}.show-stars{z-index:0;opacity:.35;background-image:radial-gradient(circle,#fff 0 1px,#0000 1.5px),radial-gradient(circle,#ffe9a8 0 1px,#0000 1.5px);background-size:93px 93px,151px 151px;position:absolute;inset:0}.show-status{z-index:5;color:#fff2d39e;letter-spacing:.08em;white-space:nowrap;grid-template-columns:auto minmax(100px,240px) 38px;align-items:center;gap:11px;font-size:.56rem;display:grid;position:absolute;top:24px;left:50%;transform:translate(-50%)}.show-status>div{background:#ffffff29;border-radius:999px;height:2px;overflow:hidden}.show-status i{background:linear-gradient(90deg,#d68de1,#ffe28a);height:100%;transition:width .25s linear;display:block}.show-status small{font-size:.52rem}.show-brand{z-index:5;color:#ffecb873;letter-spacing:.22em;white-space:nowrap;font-size:.54rem;font-weight:800;position:absolute;top:56px;left:50%;transform:translate(-50%)}.show-sound{z-index:8;position:absolute;top:18px;right:18px}.show-hint{z-index:4;color:#ffffff61;letter-spacing:.05em;margin:0;font-size:.57rem;animation:7s both hintFade;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.show-finale-card{z-index:8;color:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;background:linear-gradient(145deg,#1b082be0,#451548bd);border:1px solid #ffe7ae45;border-radius:30px;width:min(570px,90vw);padding:39px 34px 30px;animation:.9s both finaleCardReveal;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 35px 120px #00000075,inset 0 0 45px #d576cb12}.show-finale-card>p{color:#e7c36d;letter-spacing:.2em;margin:0;font-size:.58rem;font-weight:900}.show-finale-card h2{font-family:var(--font-display);margin:8px 0 10px;font-size:clamp(2.5rem,7vw,4rem);font-weight:500}.show-finale-card>span{color:#fff7ffb8;font-size:.79rem;line-height:1.8;display:block}.show-finale-card>div{justify-content:center;gap:10px;margin-top:23px;display:flex}.show-finale-card .text-button{color:#ffffff78;margin-top:15px}.diy-topbar{z-index:8;color:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;display:grid;position:absolute;top:16px;left:18px;right:18px}.diy-topbar>button{color:#fff6e1c7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#1706268f;border:1px solid #ffebc038;border-radius:999px;min-height:42px;padding:0 15px;font-size:.64rem}.diy-topbar>div:nth-child(2){text-align:center}.diy-topbar span{color:#ffe7a5;font-family:var(--font-display);font-size:1.15rem;display:block}.diy-topbar small{color:#ffffff75;margin-top:3px;font-size:.55rem;display:block}.firework-tray{z-index:9;color:#fff;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(145deg,#1f0830e0,#43154bbd);border:1px solid #ffe8b338;border-radius:25px;width:min(950px,100vw - 28px);padding:13px;transition:width .28s,padding .28s,background .28s,border-radius .28s;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 20px 60px #00000059}.tray-heading{justify-content:space-between;align-items:center;min-height:27px;margin-bottom:6px;padding:0 2px 0 8px;display:flex}.tray-heading>span{color:#fff0cd8f;letter-spacing:.15em;font-size:.53rem;font-weight:800}.tray-collapse{color:#ffffff8c;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff17;border-radius:999px;align-items:center;gap:5px;min-height:27px;padding:0 10px;font-size:.54rem;display:flex}.tray-collapse i{font-size:.72rem;font-style:normal}.tray-tabs{justify-content:center;gap:6px;margin-bottom:9px;display:flex}.tray-tabs button{color:#ffffff80;cursor:pointer;background:#ffffff0d;border:0;border-radius:999px;min-width:110px;min-height:31px;font-size:.61rem}.tray-tabs button.active{color:#2f143d;background:#ffe5a2;font-weight:900}.tray-tools{scrollbar-width:thin;gap:7px;padding:2px 2px 5px;display:flex;overflow:auto}.tray-tools>button{color:#ffffff9c;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff17;border-radius:14px;flex:1;place-items:center;min-width:78px;min-height:63px;padding:7px 6px;display:grid}.tray-tools>button span{color:#ffe092;text-shadow:0 0 13px;font-size:1.25rem}.tray-tools>button small{font-size:.54rem}.tray-tools>button.selected{color:#fff;background:linear-gradient(145deg,#8f47a89e,#ce569280);border-color:#ffe29775;box-shadow:inset 0 0 18px #ffc6e114}.ground-actions{border-top:1px solid #ffffff14;justify-content:center;align-items:center;gap:9px;margin-top:8px;padding-top:9px;display:flex}.ground-actions>span{color:#ffffff80;margin-right:auto;font-size:.58rem}.ground-actions strong{color:#ffe390}.ground-actions button{color:#ffffff9e;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1c;border-radius:999px;min-height:32px;padding:0 12px;font-size:.58rem}.ground-actions button:disabled{opacity:.32}.ground-actions .ignite-all{color:#32143e;background:linear-gradient(135deg,#ffe9a9,#e7b659);border-color:#ffe096;font-weight:900}.firework-tray.is-collapsed{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#190727ad;border-color:#ffe8b329;border-radius:999px;width:auto;max-width:calc(100vw - 24px);padding:6px;box-shadow:0 12px 36px #00000042}.tray-compact{align-items:center;gap:7px;display:flex}.tray-expand{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff0e;border:0;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:0 13px 0 10px;display:flex}.tray-expand>span{color:#ffe28d;text-shadow:0 0 11px;background:#984bad6b;border-radius:50%;place-items:center;width:28px;height:28px;font-size:1rem;display:grid}.tray-expand b{font-size:.6rem}.tray-expand small{color:#fff6;font-size:.5rem}.tray-expand i{color:#ffffff6b;font-size:.69rem;font-style:normal}.compact-ground-count{color:#ffffff7a;white-space:nowrap;padding:0 7px;font-size:.55rem}.compact-ignite{color:#32143e;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#ffe9a9,#e7b659);border:1px solid #ffe096;border-radius:999px;min-height:40px;padding:0 15px;font-size:.57rem;font-weight:900}.compact-ignite:disabled{opacity:.34;cursor:default}.diy-restart{z-index:8;position:absolute;bottom:185px;right:20px;color:#ffffff57!important}.secret-rabbit-rain{z-index:145;pointer-events:none;position:fixed;inset:0;overflow:hidden}.secret-rabbit-rain span{left:calc((var(--i)*57)%100 * 1%);color:hsl(calc(270 + var(--i)*8),70%,76%);font-size:calc(1.1rem + (var(--i)%4)*.35rem);text-shadow:0 0 14px;animation:secretRain calc(2.2s + (var(--i)%4)*.5s) calc(var(--i)*-.12s) ease-in forwards;position:absolute;top:-40px}@keyframes popoverIn{0%{opacity:0;transform:translateY(-5px)scale(.97)}}@keyframes badgeHalo{50%{opacity:.38;transform:scale(1.3)}}@keyframes badgeArrive{0%{opacity:0;transform:translateY(40px)scale(.35)rotate(-25deg)}65%{transform:translateY(-5px)scale(1.08)rotate(3deg)}to{opacity:1;transform:none}}@keyframes rewardCardIn{0%{opacity:0;transform:translateY(35px)scale(.88)}to{opacity:1;transform:none}}@keyframes rewardConfetti{0%{opacity:1;transform:rotate(var(--angle)) translateY(-35px) rotate(0)}to{opacity:0;transform:rotate(var(--angle)) translateY(-390px) rotate(540deg)}}@keyframes matchedCards{50%{filter:brightness(1.12);transform:translateY(-8px)scale(1.05)}to{transform:none}}@keyframes caughtSpark{0%{opacity:1;transform:translate(-50%,-50%)scale(.35)}60%{opacity:1;transform:translate(-50%,-110%)scale(1.35)}to{opacity:0;transform:translate(-50%,-180%)scale(.7)}}@keyframes comboPop{0%{opacity:0;transform:translate(-50%,-8px)scale(.8)}}@keyframes flameNew{to{transform:translate(-50%)rotate(48deg)scale(.83,1.12)}}@keyframes batterBubble{50%{opacity:.45;transform:translateY(-8px)scale(1.3)}}@keyframes whiskMix{to{transform:translate(-50%)rotate(375deg)}}@keyframes batterSwirl{to{transform:rotate(360deg)}}@keyframes ovenRise{0%{filter:brightness(.7);transform:scale(.65)}to{filter:brightness(1.08);transform:scale(1)}}@keyframes ovenGlow{to{opacity:.5;transform:scale(1.1)}}@keyframes pipingMove{0%,to{transform:translate(-20px,10px)rotate(15deg)}50%{transform:translate(38px,55px)rotate(28deg)}}@keyframes polaroidArrive{0%{opacity:0;transform:translateY(-160px)rotate(-8deg)scale(.86)}60%{opacity:1;transform:translateY(12px)rotate(2deg)scale(1.02)}to{transform:rotate(var(--photo-angle))}}@keyframes cameraFlash{0%{opacity:1}to{opacity:0}}@keyframes collectionFloat{50%{transform:translateY(-8px)rotate(-5deg)}}@keyframes giftHover{50%{transform:translateY(-8px)}}@keyframes edgeConfetti{0%{opacity:0;transform:translateY(-20px)rotate(0)}10%{opacity:1}to{opacity:.15;transform:translateY(110vh)rotate(540deg)}}@keyframes letterOpen{0%{opacity:0;transform-origin:bottom;transform:scaleY(.18)translateY(90px)}to{opacity:1;transform:none}}@keyframes wishScatter{0%{opacity:1;transform:rotate(var(--angle)) translateX(0) scale(.4)}to{opacity:0;transform:rotate(var(--angle)) translateX(220px) scale(1.35)}}@keyframes nightfall{0%{opacity:0}to{opacity:1}}@keyframes transitionText{0%,12%{opacity:0;transform:translate(-50%,calc(20px - 50%))}35%,75%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,calc(-50% - 20px))}}@keyframes cometBridge{0%{opacity:0;transform:rotate(0)scaleY(.05)}20%{opacity:1}to{opacity:0;transform:rotate(0)scaleY(1)}}@keyframes hintFade{0%,15%{opacity:0}35%,75%{opacity:1}to{opacity:0}}@keyframes secretRain{0%{opacity:0;transform:translateY(-30px)rotate(0)}15%{opacity:1}to{opacity:0;transform:translateY(110vh)rotate(460deg)}}@media (width<=900px){.real-badge-row{align-items:flex-start;gap:8px}.badge-display{text-align:center;flex-direction:column;flex:1;min-width:0}.badge-display>span:last-child{display:none}.real-badge{width:58px;height:58px}.photo-studio{grid-template-columns:1fr}.photo-stage{min-height:560px}.photo-controls{width:100%;max-width:620px;margin:0 auto}.gift-reveal-stage{text-align:center;grid-template-columns:1fr;justify-items:center}.gift-collection{display:none}.gift-copy{max-width:550px}.blessing-stage{grid-template-columns:minmax(0,680px);justify-content:center}.blessing-envelope,.letter-keepsakes{display:none}}@media (width<=620px){.topbar-expanded{grid-template-columns:43px 1fr auto}.topbar-actions{gap:5px}.topbar-actions .round-control{width:40px;height:40px}.topbar-title{max-width:150px}.volume-popover{grid-template-columns:auto 92px 20px;right:-46px}.volume-popover input{width:92px}.hero-copy>p{max-width:360px}.memory-board-four{grid-template-columns:repeat(2,1fr);gap:9px;max-width:380px}.memory-board-four .memory-card{aspect-ratio:.82}.memory-board-four .memory-card-back small{display:block}.memory-board-four .memory-card-front strong{font-size:.9rem}.memory-board-four .memory-card-front small{font-size:.56rem}.luck-target-large{width:82px;height:82px}.combo-pill{top:68px}.cake-stepper{margin-top:4px;overflow:hidden}.cake-stepper small{font-size:.48rem}.cake-stepper span{width:26px;height:26px}.cake-stepper>div:not(:last-child):after{top:12px;left:calc(50% + 14px);right:calc(14px - 50%)}.cake-workshop-new{padding-top:86px}.cake-mini-stat{display:none}.cake-controls-scroll{max-height:none}.cake-preview-new .cake-art,.cake-art{min-height:430px}.cake-tiers-new{transform-origin:bottom;width:92%;bottom:75px;transform:translate(-50%)scale(.9)}.cake-plate-new{width:88%;bottom:48px}.cake-topper-new{bottom:345px}.layers-2 .cake-topper-new{bottom:270px}.layers-1 .cake-topper-new{bottom:194px}.candle-row-new{gap:14px;bottom:327px}.layers-2 .candle-row-new{bottom:252px}.layers-1 .candle-row-new{bottom:176px}.candle-new{height:35px}.flame-new{bottom:38px}.maker-stage{border-radius:26px;min-height:520px;padding:26px 16px}.mixing-bowl{margin:5px auto -5px;transform:scale(.87)}.magic-oven{margin:0 auto -5px;transform:scale(.86)}.frosting-table{height:330px}.frosting-table .cake-art{min-height:330px}.maker-actions{display:grid}.hold-maker-button,.maker-actions .primary-button{width:100%}.photo-stage{min-height:480px}.polaroid-live{width:min(330px,80vw)}.photo-controls{border-radius:24px;padding:22px}.photo-button-row{grid-template-columns:1fr}.cake-art-hint{white-space:nowrap;max-width:78%}.prelude-screen{padding:76px 14px 28px}.prelude-topline{font-size:.52rem}.final-gift-box{margin:-10px auto -2px;transform:scale(.86)}.gift-copy h2{font-size:2.65rem}.identity-card-deluxe{width:min(310px,78vw);margin:17px auto 13px}.identity-actions{flex-direction:column;width:100%}.identity-actions button{width:100%;min-width:0}.identity-copy h2{font-size:2.65rem}.birthday-letter{padding:42px 22px 27px}.birthday-letter h2{font-size:2.6rem}.wish-lines-new p{font-size:.79rem;line-height:1.85}.birthday-letter blockquote{font-size:.88rem}.wish-cake-wrap{height:350px;margin:-2px auto -8px}.wish-cake-wrap .cake-art{min-height:350px}.wish-cake-wrap .cake-tiers-new{transform:translate(-50%)scale(.68)}.wish-copy h2{font-size:2.7rem}.prelude-sound{top:10px;right:10px}.show-status{grid-template-columns:auto minmax(70px,120px) 31px;top:70px}.show-brand{font-size:.47rem;top:96px}.show-sound{top:12px;right:12px}.show-finale-card{padding:31px 20px 24px}.show-finale-card>div{flex-direction:column}.show-finale-card button{width:100%}.diy-topbar{grid-template-columns:auto 1fr auto;gap:7px;top:9px;left:9px;right:9px}.diy-topbar>button{padding:0 10px;font-size:.55rem}.diy-topbar span{font-size:.9rem}.diy-topbar small{display:none}.firework-tray{border-radius:20px;width:calc(100vw - 16px);padding:9px;bottom:9px}.firework-tray.is-collapsed{border-radius:999px;width:auto;max-width:calc(100vw - 16px);padding:5px}.tray-heading{padding-left:4px}.tray-tools>button{min-width:72px;min-height:57px}.ground-actions>span{display:none}.ground-actions{justify-content:flex-end}.tray-compact{gap:4px}.tray-expand{min-height:39px;padding-right:10px}.tray-expand small,.compact-ground-count{display:none}.compact-ignite{min-height:38px;padding:0 11px}.diy-restart{display:none}}@media (height<=690px) and (width>=700px){.cake-workshop-new{overflow:auto}.cake-controls-scroll{max-height:460px}.cake-preview-new{min-height:460px}.cake-preview-new .cake-art{min-height:340px}.maker-stage{min-height:440px}.mixing-bowl{margin:-13px auto -25px;transform:scale(.75)}.magic-oven{margin:-20px auto -35px;transform:scale(.72)}.photo-stage{min-height:470px}.polaroid-live{width:330px}.identity-card-deluxe{width:270px;margin:12px auto}.gift-reveal-stage{transform:scale(.84)}.birthday-letter{padding-top:37px}.wish-cake-wrap{height:330px}.wish-cake-wrap .cake-art{min-height:330px}}.birthday-letter:before,.identity-card-back:before,.identity-card-front:before{pointer-events:none}.birthday-letter>*{z-index:1;position:relative}.birthday-letter .blessing-to-wish{z-index:8;pointer-events:auto;position:relative}.cake-design-stage,.decorate-stage{grid-template-columns:minmax(270px,.62fr) minmax(500px,1.38fr);width:min(1120px,100%);margin-inline:auto}.cake-preview-new{background:radial-gradient(circle at 50% 28%,#ffffffeb,#0000 34%),linear-gradient(150deg,#fffcf8ed,#f4ebf9e6);border-color:#744c8f29;min-height:555px;box-shadow:0 26px 70px #4326511f}.cake-preview-new .cake-art,.cake-art{background:radial-gradient(circle at 50% 42%,#fffffff5 0 20%,#ffffff73 38%,#0000 58%),radial-gradient(circle at 18% 18%,#e3cdf37a,#0000 30%),linear-gradient(155deg,#fbf7ff,#f5eaf6 58%,#f8eee5);border:1px solid #774e9117;border-radius:28px;min-height:410px;box-shadow:inset 0 1px #ffffffeb}.theme-night .cake-art{background:radial-gradient(circle at 50% 42%,#fff9ff29,#0000 40%),linear-gradient(155deg,#4f2864d6,#29113be6);border-color:#ffeeff1f}.cake-art-glow{opacity:.46;filter:blur(10px);background:radial-gradient(circle,#ffebbc85,#daaae529 48%,#0000 70%);width:70%;top:57%}.cake-art-rotator{transform:rotateY(calc(var(--cake-angle) * .28));transform-style:flat}.cake-tiers-new{width:min(82%,560px);height:300px;bottom:64px}.cake-tier-new{filter:drop-shadow(0 14px 13px #45284c21);height:92px}.cake-tier-new.tier-1{width:84%;bottom:0}.cake-tier-new.tier-2{width:64%;bottom:78px}.cake-tier-new.tier-3{width:45%;bottom:156px}.layers-1 .cake-tier-new.tier-1{width:80%;bottom:34px}.layers-2 .cake-tier-new.tier-1{bottom:0}.layers-2 .cake-tier-new.tier-2{bottom:78px}.cake-sponge-new{border:1px solid color-mix(in srgb, var(--cake-sponge) 76%, #fff);background:radial-gradient(circle at 18% 32%, #ffffff2e 0 2px, transparent 3px), radial-gradient(circle at 72% 66%, #6f403214 0 2px, transparent 3px), linear-gradient(100deg, color-mix(in srgb, var(--cake-sponge) 88%, #8c5a42), var(--cake-sponge) 44%, color-mix(in srgb, var(--cake-sponge) 82%, #fff));background-size:24px 24px,31px 31px,100% 100%;border-radius:25px 25px 29px 29px;inset:17px 0 0;box-shadow:inset 0 -8px 14px #60362c17,inset 0 3px 5px #ffffff4d}.cake-icing-new{background:linear-gradient(112deg, var(--cake-light), var(--cake-icing) 58%, color-mix(in srgb, var(--cake-icing) 88%, var(--cake-shadow)));border:1px solid #ffffff80;border-radius:48% 48% 18px 18px;width:100%;height:43px;top:0;left:0;box-shadow:inset 0 4px 8px #ffffff57,0 4px 6px #49284e14}.icing-drips-new{height:33px;top:31px}.icing-drips-new i{background:var(--cake-icing);border:0;border-radius:0 0 999px 999px;width:clamp(14px,4.4%,22px);height:22px;box-shadow:inset 3px 0 #ffffff2e}.icing-drips-new i:first-child{height:16px;left:8%}.icing-drips-new i:nth-child(2){height:27px;left:29%}.icing-drips-new i:nth-child(3){height:18px;left:50%}.icing-drips-new i:nth-child(4){height:25px;left:72%}.icing-drips-new i:nth-child(5){height:15px;right:8%}.trim-line-new{opacity:.9;height:13px;bottom:5px;left:6%;right:6%}.trim-pearl .trim-line-new{background:radial-gradient(circle,#fff6d2 0 3px,#d6aa5e 3.5px 4px,#0000 4.5px) 0/15px 15px repeat-x}.trim-ribbon .trim-line-new{height:10px;box-shadow:none;background:linear-gradient(#e6a4c0,#c97598)}.trim-shell .trim-line-new{background:radial-gradient(at 50% 100%,#fff9ee 0 54%,#0000 58%) 0 0/19px 14px repeat-x;height:15px}.trim-starlight .trim-line-new{filter:drop-shadow(0 0 5px #efbe5c73);background:radial-gradient(circle,#f4ca68 0 2px,#0000 3px) 0/20px 13px repeat-x}.shape-heart .cake-tier-new{clip-path:none;height:92px}.shape-heart .cake-sponge-new,.shape-heart .cake-icing-new{border-radius:34px 34px 28px 28px}.shape-heart .cake-tier-new.tier-1:after{content:"♡";z-index:6;color:color-mix(in srgb, var(--cake-shadow) 68%, #9a5a7b);text-shadow:0 1px #ffffff73;font-family:Georgia,serif;font-size:1.35rem;line-height:1;position:absolute;top:48px;left:50%;transform:translate(-50%)}.shape-gift .cake-tier-new,.shape-gift .cake-sponge-new,.shape-gift .cake-icing-new{border-radius:17px}.shape-gift .cake-tier-new.tier-1:before{content:"";z-index:5;background:color-mix(in srgb, var(--cake-shadow) 44%, #d688ad);opacity:.7;border-inline:1px solid #ffffff38;width:18px;position:absolute;top:16px;bottom:0;left:50%;transform:translate(-50%)}.cake-plate-new{background:linear-gradient(#fffdfd,#e8dce8);border:1px solid #ffffffd1;width:79%;height:30px;bottom:43px;box-shadow:0 18px 22px #361b4224}.cake-plate-new i{background:linear-gradient(#ded1df,#f8f2f8);border-radius:0 0 18px 18px;width:25%;height:18px;top:19px}.cake-topper-new{color:#80529f;min-width:60px;text-shadow:none;bottom:322px}.layers-2 .cake-topper-new{bottom:244px}.layers-1 .cake-topper-new{bottom:167px}.cake-topper-new span{z-index:2;color:#75448e;min-width:50px;height:43px;font-family:var(--font-display);background:linear-gradient(145deg,#fffaf8,#eadcf1);border:1px solid #794c9133;border-radius:18px 18px 14px 14px;place-items:center;padding-inline:8px;font-size:1.2rem;display:grid;position:relative;box-shadow:0 8px 14px #4627531f}.cake-topper-new small{z-index:3;color:#9d6482;letter-spacing:.12em;margin-top:-13px;font-size:.43rem;position:relative}.cake-topper-new:after{background:#b28a61;height:26px;margin-top:2px}.topper-rabbit span:before,.topper-rabbit span:after{content:"";z-index:-1;background:linear-gradient(#fffaf8,#eadcf1);border:1px solid #794c912e;border-radius:60% 60% 42% 42%;width:14px;height:29px;position:absolute;top:-22px}.topper-rabbit span:before{left:8px;transform:rotate(-9deg)}.topper-rabbit span:after{right:8px;transform:rotate(9deg)}.candle-row-new{gap:17px;bottom:302px}.layers-2 .candle-row-new{bottom:224px}.layers-1 .candle-row-new{bottom:147px}.candle-new{background:repeating-linear-gradient(-32deg,#8b65bd 0 5px,#f2c8dc 5px 10px);border:1px solid #6f448417;border-radius:6px;width:7px;height:34px;box-shadow:0 4px 5px #3b1b461f}.flame-new{bottom:37px}.smoke-new{bottom:39px}.cake-decorations-new .placed-decoration{filter:drop-shadow(0 3px 3px #3c1e4629)}.cake-art-hint{color:#806b8b;background:#ffffffb8;border-style:solid;top:55%;box-shadow:0 8px 25px #44275014}.frosting-table .cake-art-rotator{transform:scale(.74) rotateY(calc(var(--cake-angle) * .28));transform-origin:bottom}.frosting-table .cake-tiers-new{transform:translate(-50%)}.identity-reveal-stage{width:min(720px,100%)}.identity-copy{max-width:520px}.identity-copy h2{margin-top:7px;font-size:clamp(2.2rem,5vw,3.35rem)}.identity-copy>p:not(.section-kicker){color:#fff8ffb8;font-size:.78rem}.identity-card-deluxe{aspect-ratio:.77;perspective:1200px;width:min(318px,74vw);margin:20px auto 17px}.identity-card-back,.identity-card-front{border:1px solid #ffe5b180;border-radius:30px;padding:30px 29px;overflow:hidden;box-shadow:0 34px 75px #04000a59,inset 0 0 0 7px #ffffff09}.identity-card-back:after,.identity-card-front:after{content:"";z-index:0;opacity:.42;pointer-events:none;background:repeating-radial-gradient(circle,#0000 0 26px,#ffffff0b 27px 28px);position:absolute;inset:-35%}.identity-card-back>*,.identity-card-front>*{z-index:2;position:relative}.identity-card-back{color:#ffe7a9;background:radial-gradient(circle at 50% 18%,#ffdaa029,#0000 35%),linear-gradient(155deg,#3b1857,#633173 58%,#321340);align-content:center;gap:13px}.identity-card-back .identity-rabbit-seal{color:#ffe8ad;width:80px;height:80px;font-family:var(--font-display);background:#ffffff09;border:1px solid #ffe5a970;border-radius:50%;place-items:center;font-size:1.65rem;display:grid;position:relative;box-shadow:0 0 30px #f2be6c1a}.identity-card-back b{font-size:1.12rem}.identity-card-front{color:#4d2b5d;background:radial-gradient(circle at 50% 8%,#d7ace175,#0000 32%),linear-gradient(150deg,#fffaf5,#f4e7f6 58%,#eadcf1);align-content:center;gap:9px}.identity-card-front:before{border-color:#7149892b}.identity-sigil{color:#82529a;width:72px;height:72px;font-family:var(--font-display);text-shadow:none;background:#ffffff75;border:1px solid #9768a533;border-radius:50%;place-items:center;margin-bottom:4px;font-size:1.75rem;display:grid;box-shadow:0 11px 25px #653e741c}.identity-card-front small{color:#b28339;letter-spacing:.13em;font-size:.53rem}.identity-card-front strong{color:#4a2b59;font-size:clamp(1.55rem,4vw,1.9rem);line-height:1.25}.identity-card-front p{color:#735f7c;max-width:235px;margin:5px auto 0;font-size:.76rem;line-height:1.85}.identity-card-front i{color:#5d3c6d70;margin-top:12px}.identity-actions{z-index:7;position:relative}.identity-actions button{min-width:164px}.prelude-identity .edge-confetti i{opacity:.72}.wish-stage-final{width:min(760px,100%)}.wish-cake-wrap{width:min(540px,100%);height:365px;margin:0 auto -7px}.wish-cake-wrap .cake-art{min-height:365px;box-shadow:none;background:0 0;border:0}.wish-cake-wrap .cake-art-rotator{transform:scale(.8) rotateY(calc(var(--cake-angle) * .28));transform-origin:bottom}.wish-cake-wrap .cake-tiers-new{transform:translate(-50%)}.wish-hold-button{z-index:8;max-width:510px;position:relative}@media (width<=760px){.cake-design-stage,.decorate-stage{grid-template-columns:1fr}.cake-preview-new{min-height:510px}.cake-preview-new .cake-art,.cake-art{min-height:395px}.cake-tiers-new{width:94%;bottom:58px;transform:translate(-50%)}.cake-preview-new .cake-art-rotator{transform:scale(.9) rotateY(calc(var(--cake-angle) * .28));transform-origin:bottom}.cake-plate-new{width:90%;bottom:39px}.cake-topper-new{bottom:312px}.layers-2 .cake-topper-new{bottom:235px}.layers-1 .cake-topper-new{bottom:158px}.candle-row-new{gap:13px;bottom:292px}.layers-2 .candle-row-new{bottom:215px}.layers-1 .candle-row-new{bottom:138px}.identity-card-deluxe{width:min(292px,78vw);margin:15px auto 14px}.identity-actions{width:min(390px,100%)}.wish-cake-wrap{height:335px}.wish-cake-wrap .cake-art{min-height:335px}.wish-cake-wrap .cake-art-rotator{transform:scale(.73) rotateY(calc(var(--cake-angle) * .28))}}@media (height<=720px) and (width>=761px){.cake-preview-new{min-height:480px}.cake-preview-new .cake-art{min-height:350px}.cake-preview-new .cake-art-rotator{transform:scale(.82) rotateY(calc(var(--cake-angle) * .28));transform-origin:bottom}.cake-tiers-new{transform:translate(-50%)}.identity-card-deluxe{width:260px;margin:11px auto 10px}.identity-copy h2{font-size:2.55rem}.wish-cake-wrap{height:315px}.wish-cake-wrap .cake-art{min-height:315px}.wish-cake-wrap .cake-art-rotator{transform:scale(.67) rotateY(calc(var(--cake-angle) * .28))}}.cake-sticker-shell{--sticker-tint:#b98adf;--sticker-tint-opacity:.12;z-index:4;width:min(96%,560px);max-width:96%;height:96%;transform:translate(-50%, -50%) rotate(var(--cake-angle));transform-origin:50% 62%;pointer-events:none;transition:transform .3s,filter .3s;position:absolute;top:49%;left:50%}.cake-sticker-image,.cake-sticker-tint{width:100%;height:100%;position:absolute;inset:0}.cake-sticker-image{object-fit:contain;filter:drop-shadow(0 18px 17px #43224e29);-webkit-user-select:none;user-select:none;display:block}.cake-sticker-tint{background:var(--sticker-tint);opacity:var(--sticker-tint-opacity);mix-blend-mode:soft-light;-webkit-mask:url(/assets/tuji-cake-sticker.png) 50%/contain no-repeat;mask:url(/assets/tuji-cake-sticker.png) 50%/contain no-repeat}.sticker-icing-cream{--sticker-tint:#fff2da;--sticker-tint-opacity:.08}.sticker-icing-lilac{--sticker-tint:#a570d5;--sticker-tint-opacity:.13}.sticker-icing-rose{--sticker-tint:#ef94b5;--sticker-tint-opacity:.2}.sticker-icing-mint{--sticker-tint:#7fc6aa;--sticker-tint-opacity:.2}.cake-recipe-ribbon{z-index:9;color:#735a7f;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#fffdfae0;border:1px solid #794e9121;border-radius:999px;max-width:82%;padding:7px 13px;font-size:.58rem;font-weight:800;position:absolute;bottom:1.5%;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 22px #46245117}.candle-row-sticker,.layers-1 .candle-row-sticker,.layers-2 .candle-row-sticker,.layers-3 .candle-row-sticker{gap:clamp(9px,2.8vw,17px);top:30%;bottom:auto;left:50%;transform:translate(-50%)}.candle-off .candle-row-sticker{display:none}.cake-decorations-new .placed-decoration{color:#b36a91;filter:none;background:#fff9f5f0;border:3px solid #fffdf8f5;border-radius:42%;width:clamp(30px,5.2vw,39px);min-width:0;height:clamp(30px,5.2vw,39px);min-height:0;font-size:clamp(.9rem,2.2vw,1.22rem);box-shadow:0 5px 12px #3f1f4929}.cake-decorations-new .placed-decoration:hover,.cake-art.is-editable .placed-decoration:active{filter:none;box-shadow:0 7px 16px #3f1f4938}.cake-art-hint{top:auto;bottom:8px;transform:translate(-50%)}.frosting-table .cake-sticker-shell{height:104%;transform:translate(-50%, -50%) rotate(var(--cake-angle));top:48%}.polaroid-preview .cake-sticker-shell{height:104%;top:48%}.polaroid-preview .cake-art{transform:scale(.9)}.polaroid-preview .cake-recipe-ribbon,.frosting-table .cake-recipe-ribbon,.wish-cake-wrap .cake-recipe-ribbon{display:none}.wish-cake-wrap .cake-sticker-shell{height:112%;top:50%}.wish-cake-wrap .candle-row-sticker{top:30%}.frosting-table .piping-bag{color:#0000;filter:drop-shadow(0 11px 9px #3916482e);width:78px;height:132px;font-size:0;top:18%;right:13%;transform:rotate(20deg)}.frosting-table .piping-bag:before{content:"";clip-path:polygon(16% 0,84% 0,100% 72%,61% 100%,39% 100%,0 72%);background:linear-gradient(135deg,#f9eff8,#d8b0db 58%,#b876bb);border-radius:17px;position:absolute;inset:0 5px 24px;box-shadow:inset 0 0 0 3px #ffffffad}.frosting-table .piping-bag:after{content:"";clip-path:polygon(25% 0,75% 0,100% 100%,0 100%);background:linear-gradient(90deg,#d6b987,#f8e2ad,#b9925e);width:18px;height:33px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.frosting-table .piping-bag b{z-index:2;background:#ffffff8c;border-radius:999px;width:36px;height:13px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.frosting-table .piping-bag i{z-index:3;color:#8a5a92;white-space:nowrap;font-size:.5rem;top:43px;left:50%;transform:translate(-50%)}@media (width<=760px){.cake-sticker-shell{width:94%;max-width:none;height:94%}.cake-recipe-ribbon{font-size:.53rem;bottom:0}.frosting-table .cake-sticker-shell{height:100%}.wish-cake-wrap .cake-sticker-shell{height:108%}}@media (height<=720px) and (width>=761px){.cake-sticker-shell{height:94%}.wish-cake-wrap .cake-sticker-shell{height:108%}}.diy-screen .firework-tray,.diy-screen .diy-topbar>button,.diy-screen .round-control,.grand-show-screen .round-control{-webkit-backdrop-filter:none;backdrop-filter:none}.diy-screen .firework-tray{background:linear-gradient(145deg,#1f0830f5,#43154bed)}.diy-screen .diy-topbar>button,.diy-screen .round-control,.grand-show-screen .round-control{background:#170626e6}
