:root{--ink:#3d2949;--muted:#86778d;--line:#5c376a1c;--surface:#fffc;--surface-strong:#fffffff5;--pink:#dd5ca7;--purple:#8f46c8;--purple-deep:#69328d;--soft-pink:#f8dff1;--soft-purple:#eadcf8;--danger:#b84a6d;--shadow:0 24px 65px #562d661c;--shadow-soft:0 12px 35px #562d6614}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff9fd;margin:0;font-family:Microsoft YaHei UI,PingFang SC,Noto Sans CJK SC,system-ui,sans-serif}button,input,textarea,select{font:inherit}button{color:inherit}:is(button,label:has(input[type=file])){-webkit-tap-highlight-color:transparent}:is(button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,label:has(input[type=file]):focus-within){outline-offset:2px;outline:3px solid #8f46c838}button:disabled{cursor:wait;opacity:.62}img{max-width:100%;display:block}.loading-screen{min-height:100vh;color:var(--muted);background:radial-gradient(circle at 25% 20%,#f2ddff,#0000 35%),radial-gradient(circle at 85% 70%,#ffddec,#0000 38%),#fffafd;place-content:center;justify-items:center;gap:14px;display:grid}.brand{letter-spacing:.01em;align-items:center;gap:10px;font-weight:700;display:flex}.brand__mark,.heart-orb,.spark-orb,.empty-block__icon{color:#d55b97;background:#ffffff9e;border-radius:14px;place-items:center;width:38px;height:38px;display:inline-grid;box-shadow:0 8px 22px #59326814}.eyebrow,.mini-label{color:#9a718f;letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.mini-label{letter-spacing:.04em;color:#a05d89}.primary-button,.soft-button,.icon-button,.back-button{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 18px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(115deg, var(--purple), var(--pink));box-shadow:0 12px 26px #a6459c38}.primary-button:hover,.soft-button:hover,.icon-button:hover{transform:translateY(-1px)}.primary-button:active,.soft-button:active,.icon-button:active,.back-button:active,.send-button:active{transform:scale(.97)}.primary-button:disabled,.soft-button:disabled,.icon-button:disabled{box-shadow:none;transform:none}.primary-button--wide{width:100%}.soft-button{color:var(--ink);border:1px solid var(--line);background:#ffffffd1;text-decoration:none;box-shadow:0 8px 20px #562d660f}.icon-button{border:1px solid var(--line);width:42px;box-shadow:var(--shadow-soft);background:#ffffffe0;padding:0}.back-button{min-height:32px;color:var(--muted);background:0 0;margin-bottom:20px;padding:0;font-weight:600}.surface{background:var(--surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #5e396f14;border-radius:24px;transition:transform .28s,box-shadow .28s,border-color .28s}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes itemEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ideaReveal{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes sendAway{0%{opacity:0;transform:translate(-8px,8px)rotate(-10deg)}45%{opacity:1}to{opacity:0;transform:translate(30px,-24px)rotate(8deg)}}@keyframes ambientBreathe{0%{opacity:.22;transform:translate(-3%,1%)scale(.96)}to{opacity:.34;transform:translate(4%,-2%)scale(1.05)}}@keyframes sceneReveal{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes numberTick{0%{opacity:.35;filter:blur(2px);transform:translateY(8px)scale(.97)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes softFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.42}}.login-shell{background:radial-gradient(circle at 8% 18%,#ead6ff99,#0000 26%),radial-gradient(circle at 86% 23%,#ffdeef7a,#0000 28%),#fff;grid-template-columns:minmax(480px,1.1fr) minmax(430px,.9fr);gap:20px;min-height:100vh;padding:16px;display:grid}.login-scene{background:linear-gradient(155deg,#e7ccf7 0%,#f8d9eb 58%,#f8eee5 100%);border-radius:30px;min-height:calc(100vh - 32px);padding:34px 42px;animation:.72s cubic-bezier(.22,.8,.25,1) both sceneReveal;position:relative;overflow:hidden}.login-scene:before,.login-scene:after{content:"";filter:blur(2px);pointer-events:none;border-radius:999px;position:absolute}.login-scene:before{background:#ffffff38;width:380px;height:380px;top:-160px;right:-80px}.login-scene:after{background:#e9baff38;width:290px;height:290px;bottom:120px;left:-120px}.login-scene__copy{z-index:2;max-width:700px;margin-top:16vh;position:relative}.login-scene__copy h1{letter-spacing:-.045em;color:#563060;margin:16px 0 26px;font-size:clamp(38px,4vw,68px);line-height:1.28}.feature-chips{flex-wrap:wrap;gap:10px;display:flex}.feature-chips span{color:#644d6a;background:#ffffff8c;border-radius:12px;align-items:center;gap:7px;padding:10px 14px;font-size:13px;display:inline-flex}.login-scene__picture{background-image:linear-gradient(#ffffff0a,#482d3e14),url(/default-cover.png);background-position:50% 56%;background-size:cover;place-items:center;height:37%;display:grid;position:absolute;bottom:0;left:0;right:0}.login-scene__picture:before{content:"";filter:blur(12px);background:#ffffff73;height:68px;position:absolute;inset:-25px 0 auto}.photo-placeholder{text-align:center;color:#3d29499e;justify-items:center;gap:10px;font-size:13px;display:grid}.login-scene__picture .photo-placeholder{box-shadow:var(--shadow);background:#ffffffad;border-radius:22px;padding:22px 30px;position:relative}.login-panel{place-items:center;padding:28px;display:grid}.login-card{width:min(100%,570px);animation:.62s cubic-bezier(.22,.8,.25,1) .12s both pageEnter}.login-card h2{letter-spacing:-.045em;margin:10px 0 8px;font-size:clamp(30px,3vw,44px)}.login-card>p{color:var(--muted);margin:0 0 24px}.segmented{background:#f4f0f5;border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;margin:20px 0;padding:4px;display:grid}.segmented button{min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 8px 20px #44284d14}.auth-form{gap:15px;display:grid}.auth-form label,.settings-form label,.album-toolbar label,.cycle-form label{color:#584960;gap:8px;min-width:0;font-size:12px;font-weight:700;display:grid}.input-wrap{display:block;position:relative}.input-wrap>svg{color:#a392aa;pointer-events:none;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.input-wrap input,.settings-form input,.album-toolbar input,.inline-add input,.inline-add select,.cycle-form input,.composer textarea,.talk-card textarea{width:100%;color:var(--ink);background:#ffffffe6;border:1px solid #5b366b29;border-radius:14px;transition:border .2s,box-shadow .2s}.input-wrap input{min-height:48px;padding:0 15px 0 44px}input::placeholder,textarea::placeholder{color:#b5a9b9}input:focus,textarea:focus,select:focus{border-color:#8f46c873;outline:none;box-shadow:0 0 0 4px #8f46c814}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-message{color:#a33d5a;background:#fff0f3;border-radius:12px;padding:11px 14px;font-size:13px}.form-message.success{color:#367148;background:#eef9f1}.auth-links{color:var(--muted);justify-items:center;gap:12px;margin-top:16px;font-size:12px;display:grid}.auth-links button{color:#71438a;cursor:pointer;background:0 0;border:0;padding:0}.app-shell{background:radial-gradient(circle at 10% 75%,#e4caffa6,#0000 27%),radial-gradient(circle at 92% 8%,#ffd2ebb8,#0000 28%),radial-gradient(circle at 58% 38%,#f6e7ffc7,#0000 25%),#fffafd;grid-template-columns:94px 1fr;min-height:100vh;display:grid;position:relative}.app-shell:before{content:"";pointer-events:none;opacity:.23;background-image:radial-gradient(circle,#db85b7 1px,#0000 1.6px),radial-gradient(circle,#a777d0 1px,#0000 1.5px);background-position:0 0,42px 38px;background-size:74px 74px,92px 92px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12%,#0000 85%,#000);mask-image:linear-gradient(90deg,#0000,#000 12%,#0000 85%,#000)}.app-shell:after{content:"";z-index:0;filter:blur(22px);pointer-events:none;background:radial-gradient(circle,#e88ccb2e,#aa82dc14 45%,#0000 70%);border-radius:50%;width:46vw;height:46vw;animation:14s ease-in-out infinite alternate ambientBreathe;position:fixed;top:18vh;right:-16vw}.sidebar{z-index:20;-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);width:72px;box-shadow:var(--shadow);background:#ffffffc7;border:1px solid #67417417;border-radius:28px;flex-direction:column;align-items:stretch;padding:12px 8px;display:flex;position:fixed;inset:14px auto 14px 14px}.couple-avatars{cursor:pointer;background:0 0;border:0;justify-content:center;padding:4px 1px 12px;display:flex}.couple-avatars .avatar-wrap+.avatar-wrap{margin-left:-9px}.sidebar nav{scrollbar-width:none;flex-direction:column;gap:3px;padding:3px 0;display:flex;overflow-y:auto}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav button,.settings-nav{color:#6f6274;cursor:pointer;background:0 0;border:0;border-radius:16px;flex:none;align-content:center;place-items:center;gap:3px;min-height:52px;font-size:9px;transition:transform .2s,background .2s,color .2s;display:grid}.sidebar nav button:hover,.settings-nav:hover{transform:translateY(-1px)}.sidebar nav button.active{color:#783d99;background:linear-gradient(145deg,#e5cbf8f2,#fbdaede6);box-shadow:0 8px 18px #7e48911a}.settings-nav{margin-top:auto}.avatar{object-fit:cover;border:3px solid #ffffffeb;border-radius:50%;flex:none;box-shadow:0 5px 14px #4a2a5424}.avatar-wrap{flex:none;line-height:0;display:inline-grid;position:relative}.gender-badge{color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:19px;height:19px;display:grid;position:absolute;bottom:-2px;right:-3px;box-shadow:0 3px 8px #37224233}.gender-badge--female{background:#e0529b}.gender-badge--male{background:#4d86db}.avatar-wrap--small .gender-badge{width:15px;height:15px;right:-2px}.avatar--small{width:31px;height:31px}.avatar--normal{width:42px;height:42px}.avatar--large{width:66px;height:66px}.avatar--empty{color:#9d86a6;background:linear-gradient(145deg,#eee0f5,#fae4ef);place-items:center;display:inline-grid}.app-main{z-index:2;grid-column:2;width:min(100%,1260px);min-width:0;margin:0 auto;padding:48px 48px 80px;position:relative}.monitor-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0;display:grid}.monitor-stat,.monitor-panel{background:#ffffffb8;border:1px solid #5b366b1f;border-radius:24px;box-shadow:0 16px 36px #4b25560f}.monitor-stat{gap:8px;min-height:126px;padding:18px;display:grid}.monitor-stat .mini-label{align-items:center;gap:6px;display:flex}.monitor-stat strong{color:var(--text);font-size:26px}.monitor-stat small,.monitor-lease{color:var(--muted);font-size:11px}.monitor-online{color:#4b9367!important}.monitor-panel{margin-top:14px;padding:22px}.monitor-panel--quiet{background:#ffffff85}.monitor-panel .section-heading{margin-bottom:16px}.device-list{gap:10px;display:grid}.device-row{background:#fffcfed1;border:1px solid #5b366b1a;border-radius:18px;align-items:center;gap:14px;padding:14px;display:flex}.device-icon{border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.device-icon--online{color:#478f62;background:#e6f5eb}.device-icon--offline{color:#917f96;background:#f0ebf2}.device-copy{flex:1;gap:4px;min-width:0;display:grid}.device-copy strong{color:var(--text);align-items:center;gap:8px;display:flex}.device-copy p,.device-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;overflow:hidden}.device-current{color:#8d3e75;background:#f8ddeb;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700}.device-revoke{flex:none;min-height:36px;padding:0 12px;font-size:11px}.monitor-log{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.monitor-log span{color:var(--muted);font-size:11px}.monitor-log strong{color:var(--text);font-size:13px}.page-enter{animation:.22s ease-out both pageEnter}.app-main--chat{width:100%;max-width:none;height:100vh;padding:24px 32px 24px 18px}.save-status{z-index:30;min-height:24px;color:var(--muted);opacity:0;pointer-events:none;background:#ffffffa6;border-radius:999px;padding:5px 10px;font-size:10px;transition:all .2s;position:fixed;top:14px;right:22px;transform:translateY(-5px)}.save-status--saving,.save-status--saved,.save-status--error{opacity:1;transform:translateY(0)}.save-status--error{color:var(--danger)}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-.05em;margin:7px 0 5px;font-size:clamp(32px,4vw,52px);line-height:1.1}.page-header p{color:var(--muted);margin:0}.page-header__action{flex:none;padding-top:8px}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.home-hero{min-height:370px;box-shadow:var(--shadow);background:#fff9;border:1px solid #5e396f12;border-radius:30px;grid-template-columns:.9fr 1.1fr;display:grid;overflow:hidden}.home-hero__counter{background:linear-gradient(140deg,#fffffff5,#fae7f9d1);flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(34px,5vw,64px);display:flex}.live-counter{width:100%;margin:8px 0 5px}.live-counter__days{align-items:baseline;gap:8px;padding:7px 14px 9px 0;display:flex;overflow:visible}.live-counter__days strong{letter-spacing:-.065em;color:#0000;-webkit-text-fill-color:transparent;background:linear-gradient(145deg,#69319c,#d44e9a);-webkit-background-clip:text;background-clip:text;margin:-.04em -.07em -.06em 0;padding:.04em .07em .06em 0;font-family:Segoe UI Variable Display,Bahnschrift,Microsoft YaHei UI,sans-serif;font-size:clamp(70px,7.4vw,118px);line-height:1.08;overflow:visible}.live-counter__days>span{font-size:18px;font-weight:700}.live-counter__hms{grid-template-columns:repeat(3,minmax(0,92px));gap:8px;margin-top:10px;display:grid}.live-counter__hms>span{color:var(--muted);background:#ffffff9e;border-radius:12px;justify-items:center;gap:2px;padding:8px;font-size:10px;display:grid}.live-counter__hms strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:20px}.counter-value{animation:.36s cubic-bezier(.22,.8,.25,1) both numberTick;display:inline-block}.counter-value--days{animation-duration:.62s}.counter-value--seconds{animation-duration:.28s}.home-hero__counter p{max-width:440px;color:var(--muted);margin:2px 0 24px;line-height:1.75}.home-important-counter{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.home-important-counter strong{letter-spacing:-.065em;color:#0000;-webkit-text-fill-color:transparent;background:linear-gradient(145deg,#c16846,#d44e9a);-webkit-background-clip:text;background-clip:text;margin:8px 8px 0 0;font-family:Segoe UI Variable Display,Bahnschrift,Microsoft YaHei UI,sans-serif;font-size:clamp(70px,7.4vw,118px);line-height:1.08;display:inline-block}.home-important-counter b{margin-top:6px;font-size:20px;display:block}.home-important-unit{font-size:18px;font-weight:700}.home-counter-switch{color:var(--rose);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:14px;padding:0;font-weight:700}.home-counter-switch:hover,.home-important-counter:hover b{color:var(--rose-deep)}.home-hero__visual{background:linear-gradient(135deg,#d9cae6,#f3d0df 50%,#af99ac) 50%/cover;place-items:center;min-height:370px;display:grid;position:relative;overflow:hidden}.home-hero__visual:after{content:"";pointer-events:none;background:linear-gradient(90deg,#4c234f1f,#0000 38%,#371f3414);position:absolute;inset:0}.home-hero__visual .photo-placeholder{color:#ffffffe6;text-shadow:0 2px 10px #3319332e;padding:22px}.cover-button{z-index:2;position:absolute;top:18px;right:18px}.daily-words{grid-template-columns:auto 1fr;align-items:center;gap:20px;margin-top:22px;padding:24px 28px;display:grid}.daily-words div{min-width:0}.daily-words__text{color:var(--ink);margin:6px 0 0;font-size:clamp(18px,2.4vw,28px);font-weight:700;line-height:1.55}.heart-orb{color:#d64f91;background:#fdeaf4}.home-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.mailbox-card,.recent-card{padding:26px}.home-grid h2{margin:9px 0 6px;font-size:20px}.home-grid p{color:var(--muted);margin:0}.mailbox-card:hover,.recent-card:hover,.photo-card:hover,.dish-card:hover,.anniversary-row:hover,.checklist-group:hover{border-color:#8f46c824;transform:translateY(-3px);box-shadow:0 18px 42px #562d661c}.composer{margin-bottom:24px;padding:20px}.composer textarea,.talk-card textarea{resize:vertical;min-height:100px;padding:16px}.composer__actions{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.empty-block{text-align:center;min-height:230px;color:var(--muted);place-content:center;justify-items:center;padding:36px;display:grid}.empty-block strong{color:var(--ink);margin-top:12px}.empty-block p{max-width:430px;margin:7px 0 0;line-height:1.7}.inline-add{grid-template-columns:minmax(0,1fr) auto auto;gap:12px;margin-bottom:22px;padding:16px;display:grid}.inline-add input,.inline-add select{min-height:46px;padding:0 15px}.inline-add select{background:#fff;border:1px solid #5b366b29;border-radius:14px}.timeline{gap:16px;padding-left:24px;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(var(--pink), #8f46c81f);width:1px;position:absolute;top:10px;bottom:10px;left:8px}.timeline-item{padding:24px;position:relative}.timeline-dot{color:#d5589a;width:32px;height:32px;box-shadow:var(--shadow-soft);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:25px;left:-40px}.timeline-item__meta{color:var(--muted);font-size:11px}.timeline-item p{margin:10px 0;font-size:16px;line-height:1.75}.timeline-item img{object-fit:cover;border-radius:18px;max-height:520px}.danger-link{color:var(--danger);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin-top:12px;padding:0;font-size:12px;display:inline-flex}.album-toolbar{justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px;padding:15px 18px;display:flex}.album-toolbar label{width:min(320px,100%)}.album-toolbar input{min-height:40px;padding:0 12px}.filter-row{flex-wrap:wrap;gap:6px;display:flex}.filter-row button,.idea-tabs button{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:0 13px}.filter-row button.active,.idea-tabs button.active{color:#71398f;background:#f0ddfa}.photo-grid{columns:3 260px;column-gap:14px}.collection-strip{scrollbar-width:thin;gap:10px;margin-bottom:12px;padding:2px 2px 16px;display:flex;overflow-x:auto}.collection-strip button{border:1px solid var(--line);min-width:145px;color:var(--muted);text-align:left;cursor:pointer;background:#ffffffb3;border-radius:17px;grid-template-columns:auto 1fr;align-items:center;gap:3px 9px;padding:13px;display:grid}.collection-strip button span{color:var(--ink);font-weight:700}.collection-strip button small{grid-column:2}.collection-strip button.active{color:#7b3d9e;box-shadow:var(--shadow-soft);background:linear-gradient(145deg,#eee0fa,#fbe2ee);border-color:#8f46c84d}.photo-card{break-inside:avoid;box-shadow:var(--shadow-soft);background:#e9ddea;border-radius:22px;margin-bottom:14px;animation:.24s ease-out both itemEnter;position:relative;overflow:hidden}.photo-card img{object-fit:cover;width:100%;min-height:220px;transition:transform .3s,filter .3s}.photo-card:hover img{transform:scale(1.03)}.photo-open{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.photo-card__overlay{color:#fff;background:linear-gradient(#0000,#221226cc);grid-template-columns:1fr auto;gap:4px 8px;padding:34px 14px 12px;display:grid;position:absolute;inset:auto 0 0}.photo-card__overlay input{color:#fff;background:0 0;border:0;outline:none;grid-column:1/-1;min-width:0;padding:0;font-weight:700}.photo-card__overlay input::placeholder{color:#ffffffbf}.photo-card__overlay span{opacity:.78;font-size:10px}.photo-card__overlay button{color:#fff;cursor:pointer;background:0 0;border:0}.photo-preview-backdrop{z-index:150;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1e1222b8;place-items:center;padding:clamp(12px,3vw,34px);animation:.2s ease-out both sceneReveal;display:grid;position:fixed;inset:0}.photo-preview{justify-items:center;gap:10px;max-width:min(1100px,100%);max-height:100%;animation:.22s ease-out both sceneReveal;display:grid;position:relative}.photo-preview>.icon-button{z-index:2;position:absolute;top:12px;right:12px}.photo-preview>img{object-fit:contain;border-radius:22px;max-width:100%;min-height:0;max-height:calc(100vh - 90px);box-shadow:0 35px 100px #0006}.photo-preview>p{color:#ffffffe0;text-align:center;max-width:720px;margin:0}.list-surface{padding:8px 18px}.group-list{gap:13px;display:grid}.check-group{overflow:hidden}.check-group>header{align-items:center;gap:10px;min-height:72px;padding:10px 15px;display:flex}.group-toggle{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.group-toggle>svg{transition:transform .2s}.group-toggle>svg.rotated{transform:rotate(90deg)}.group-toggle>div{gap:4px;display:grid}.group-toggle strong{font-size:16px}.group-toggle span{color:var(--muted);font-size:10px}.group-body{border-top:1px solid var(--line);transform-origin:top;padding:0 18px 12px;animation:.22s ease-out both itemEnter}.group-add{grid-template-columns:1fr auto;gap:9px;padding:12px 0;display:grid}.group-add input{border:1px solid var(--line);background:#fff;border-radius:13px;min-height:42px;padding:0 13px}.group-empty{color:var(--muted);text-align:center;margin:8px 0 14px;font-size:12px}.check-row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:70px;transition:opacity .24s,transform .24s,color .24s;animation:.24s ease-out both itemEnter;display:grid}.check-row:last-child{border-bottom:0}.check-button{color:#fff;cursor:pointer;background:#fff;border:1.5px solid #71477f47;border-radius:9px;place-items:center;width:27px;height:27px;display:grid}.is-done .check-button{background:linear-gradient(135deg, var(--purple), var(--pink));border-color:#0000}.check-row div{gap:4px;display:grid}.check-row div span,.menu-card div span{color:var(--muted);font-size:10px}.check-row strong,.menu-card strong{transition:color .22s,opacity .22s}.check-row.is-done strong,.menu-card.is-done strong{color:var(--muted);opacity:.72;text-decoration:line-through}.row-delete{color:#a992ad;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.row-delete:hover{color:var(--danger);background:#fff1f4}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.menu-grid>.empty-block{grid-column:1/-1}.menu-card{grid-template-columns:auto 1fr auto auto;align-items:center;gap:13px;min-height:96px;padding:18px;display:grid;position:relative}.menu-icon{color:#9b4ca1;background:linear-gradient(145deg,#eee1fb,#fbe3f0);border-radius:15px;place-items:center;width:45px;height:45px;display:grid}.menu-card div{gap:5px;display:grid}.order-layout{grid-template-columns:minmax(0,1.4fr) minmax(310px,.6fr);align-items:start;gap:18px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:15px;min-height:54px;margin-bottom:12px;display:flex}.section-heading h2{margin:4px 0 0;font-size:20px}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.dish-card{position:relative;overflow:hidden}.dish-card.selected{background:linear-gradient(145deg,#efe0f9eb,#fde4f0e6);border-color:#8f46c859}.dish-select{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;width:100%;min-height:88px;padding:13px 43px 13px 13px;display:grid}.dish-select>div{gap:4px;display:grid}.dish-select>div span{color:var(--muted);font-size:10px}.dish-check{border:1px solid var(--line);color:#fff;background:#fff;border-radius:9px;place-items:center;width:25px;height:25px;display:grid}.dish-card.selected .dish-check{background:linear-gradient(135deg, var(--purple), var(--pink));border-color:#0000}.dish-delete{position:absolute;top:7px;right:7px}.orders-panel{padding:18px}.order-card{border-bottom:1px solid var(--line);padding:14px 0}.order-card:last-of-type{border-bottom:0}.order-card header{justify-content:space-between;align-items:center;gap:8px;display:flex}.order-card p{margin:9px 0 5px;line-height:1.55}.order-card time{color:var(--muted);margin-bottom:10px;font-size:9px;display:block}.order-card .primary-button,.order-card .soft-button{min-height:34px;padding:0 12px;font-size:11px}.order-status{color:#8f4a72;background:#f9dfed;border-radius:999px;flex:none;padding:4px 7px;font-size:9px}.order-status.accepted{color:#6f3d91;background:#eadcf7}.order-status.completed{color:#3f7651;background:#e5f5e9}.orders-empty{color:var(--muted);text-align:center;padding:30px 8px}.outgoing-summary{border-top:1px solid var(--line);margin-top:10px;padding-top:14px}.outgoing-summary p{color:var(--muted);margin:7px 0;font-size:11px}.anniversary-hero{min-height:185px;box-shadow:var(--shadow);background:linear-gradient(115deg,#e5cdf9f2,#ffd9ebf5);border-radius:28px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:28px 42px;display:flex}.anniversary-hero>div{grid-template-columns:auto auto;align-items:baseline;gap:3px 8px;display:grid}.anniversary-hero>div .mini-label,.anniversary-hero p{grid-column:1/-1}.anniversary-hero strong{color:#75349d;letter-spacing:-.07em;font-size:clamp(60px,8vw,92px);line-height:1}.anniversary-hero p{color:#835d82;margin:4px 0 0}.big-heart{color:#d56a9f;background:#ffffff7a;border-radius:50%;place-items:center;width:105px;height:105px;display:grid;box-shadow:inset 0 0 28px #ffffffb3,0 12px 36px #65316e17}.anniversary-list h2,.answer-list h2{font-size:19px}.anniversary-row{grid-template-columns:auto 1fr auto auto;align-items:center;gap:15px;min-height:84px;margin-bottom:12px;padding:13px 18px;display:grid}.anniversary-row,.check-group,.dish-card,.timeline-item{animation:.24s ease-out both itemEnter}.date-tile{color:#7a3d91;background:#f4dff2;border-radius:15px;align-content:center;place-items:center;width:52px;height:54px;display:grid}.date-tile strong{font-size:10px}.anniversary-row>div:not(.countdown){gap:5px;display:grid}.anniversary-row>div span{color:var(--muted);font-size:10px}.countdown{justify-items:center;display:grid}.countdown strong{font-size:22px}.countdown span{color:var(--muted);font-size:9px}.chat-shell{grid-template-rows:auto 1fr auto;height:calc(100vh - 48px);min-height:540px;display:grid;overflow:hidden}.chat-header{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#ecd7fac2,#ffe2f0a8);align-items:center;gap:12px;min-height:72px;padding:12px 18px;display:flex}.chat-header>div:nth-child(2){gap:3px;display:grid}.chat-header>div:nth-child(2) span{color:var(--muted);font-size:10px}.sender-switch{color:var(--muted);align-items:center;gap:8px;margin-left:auto;font-size:10px;display:flex}.sender-switch select{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:34px;padding:0 9px}.identity-lock{color:var(--muted);align-items:center;gap:6px;margin-left:auto;font-size:10px;display:inline-flex}.chat-messages{background:#fffbfe7a;padding:28px 32px;overflow-y:auto}.message{align-items:flex-start;gap:10px;margin-bottom:22px;animation:.24s ease-out both itemEnter;display:flex}.message>div{max-width:min(72%,680px);display:grid}.message--me{flex-direction:row-reverse}.message--me>div{justify-items:end}.message__name{color:var(--muted);margin-bottom:5px;font-size:10px}.bubble{background:#fff;border-radius:5px 18px 18px;overflow:hidden;box-shadow:0 9px 28px #58315f14}.message--me .bubble{background:linear-gradient(135deg,#eedaf8,#fadfea);border-radius:18px 5px 18px 18px}.bubble p{margin:0;padding:11px 14px;line-height:1.6}.bubble img{object-fit:cover;max-width:320px;max-height:360px}.message time{color:#b1a5b4;font-size:9px}.message-meta{align-items:center;gap:8px;margin-top:4px;display:flex}.message--me .message-meta{justify-content:flex-end}.message-meta button{color:#ad98b1;cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:0;font-size:9px;display:inline-flex}.message-meta button:hover{color:var(--danger)}.chat-composer{border-top:1px solid var(--line);background:#fffffff0;padding:12px 16px}.chat-tools{flex-wrap:wrap;gap:14px;display:flex}.chat-tools label,.chat-tools button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:10px;display:inline-flex}.emoji-picker{border:1px solid var(--line);background:#fffafd;border-radius:13px;flex-wrap:wrap;gap:4px;margin-top:8px;padding:8px;display:flex}.emoji-picker button{cursor:pointer;background:0 0;border:0;border-radius:9px;width:34px;height:34px;font-size:20px}.emoji-picker button:hover{background:#f2e4f7}.selected-attachment{color:#744a7e;background:#f4e8f7;border-radius:10px;align-items:center;gap:7px;width:fit-content;max-width:100%;margin-top:8px;padding:7px 9px;font-size:10px;display:flex}.selected-attachment span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-attachment button{cursor:pointer;background:#ffffffb8;border:0;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;padding:0;display:grid}.chat-input-row{grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:9px;display:grid}.chat-input-row textarea{resize:vertical;border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;min-height:48px;max-height:120px;padding:13px 15px}.send-button{color:#fff;background:linear-gradient(135deg, var(--purple), var(--pink));cursor:pointer;border:0;border-radius:15px;place-items:center;width:45px;height:45px;display:grid;box-shadow:0 10px 22px #8d42a238}.send-feedback{color:#a14c83;pointer-events:none;align-items:center;gap:5px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;bottom:55px;right:23px}.send-feedback svg{animation:.8s ease-out both sendAway}.chat-composer{position:relative}.button-spinner{border:2px solid #ffffff73;border-top-color:currentColor;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.camera-backdrop{z-index:140;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#2318279e;place-items:center;padding:18px;animation:.24s both sceneReveal;display:grid;position:fixed;inset:0}.camera-modal{width:min(100%,760px);color:var(--ink);background:#fffcfef7;border:1px solid #ffffff5c;border-radius:28px;padding:18px;animation:.34s cubic-bezier(.22,.8,.25,1) both pageEnter;box-shadow:0 35px 100px #190f1d5c}.camera-modal>header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px;display:flex}.camera-modal h2{margin:5px 0 0;font-size:28px}.camera-viewfinder{aspect-ratio:16/9;background:linear-gradient(145deg,#2a202d,#4a354e);border-radius:20px;place-items:center;display:grid;position:relative;overflow:hidden}.camera-viewfinder video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .28s}.camera-viewfinder.is-ready video{opacity:1}.camera-loading,.camera-error{color:#ffffffd1;text-align:center;place-content:center;justify-items:center;gap:10px;padding:28px;display:grid;position:absolute;inset:0}.camera-loading svg{animation:1.5s ease-in-out infinite softFloat}.camera-error span{color:#ffffffad;max-width:430px;font-size:12px;line-height:1.6}.camera-live{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1d122094;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;display:inline-flex;position:absolute;top:14px;left:14px}.camera-live i{background:#ff5e83;border-radius:50%;width:7px;height:7px;animation:1.25s infinite livePulse;box-shadow:0 0 0 4px #ff5e832e}.camera-modal>footer{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;min-height:84px;padding:14px 4px 0;display:grid;position:relative}.camera-modal>footer p{color:var(--muted);margin:0;font-size:10px;line-height:1.6}.camera-shutter{background:linear-gradient(135deg, var(--purple), var(--pink));cursor:pointer;border:3px solid #fff;border-radius:50%;grid-column:2;place-items:center;width:62px;height:62px;padding:0;transition:transform .18s;display:grid;box-shadow:0 0 0 2px #d9c7df,0 10px 28px #8e44a347}.camera-shutter:hover{transform:scale(1.04)}.camera-shutter:active{transform:scale(.95)}.camera-shutter span{border:2px solid #ffffffb3;border-radius:50%;width:44px;height:44px}.talk-card{text-align:center;max-width:880px;margin:20px auto;padding:clamp(28px,5vw,58px)}.talk-card .heart-orb{margin-bottom:18px}.talk-card h2{max-width:680px;margin:12px auto 22px;font-size:clamp(24px,4vw,38px);line-height:1.4}.talk-card textarea{margin-bottom:14px}.talk-card>div{justify-content:center;gap:10px;display:flex}.answer-list{max-width:880px;margin:36px auto 0}.answer-card{gap:8px;margin-bottom:12px;padding:22px 55px 22px 22px;display:grid;position:relative}.answer-card>span{color:var(--muted);font-size:10px}.answer-card p{color:#645569;margin:0;line-height:1.7}.answer-card .row-delete{position:absolute;top:12px;right:12px}.cycle-summary{align-items:center;gap:30px;min-height:175px;margin-bottom:18px;padding:28px 42px;display:flex}.cycle-orbit{color:#c64a91;background:radial-gradient(circle,#fffffff5 0 25%,#0000 26%),repeating-radial-gradient(circle,#0000 0 16px,#8f46c821 17px 18px);border:1px solid #965ca126;border-radius:50%;flex:none;place-items:center;width:110px;height:110px;animation:3.4s ease-in-out infinite softFloat;display:grid}.cycle-summary h2{margin:7px 0;font-size:clamp(24px,3.5vw,38px)}.cycle-summary p{color:var(--muted);margin:0}.cycle-form{grid-template-columns:1.2fr 1fr 1fr;gap:14px;margin-bottom:18px;padding:18px;display:grid}.cycle-form input{min-height:45px;padding:0 13px}.calendar-surface{padding:24px}.calendar-title{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.calendar-title h2{margin:0 0 4px}.calendar-title p{color:var(--muted);margin:0;font-size:11px}.calendar-title>div:last-child{gap:6px;display:flex}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.weekday{text-align:center;color:var(--muted);padding:8px;font-size:11px}.calendar-day{min-height:64px;color:var(--ink);cursor:pointer;background:#ffffffb3;border:1px solid #0000;border-radius:14px;place-items:center;transition:transform .2s,box-shadow .2s,background .2s;display:grid}.calendar-day:not(.empty):hover{z-index:1;transform:translateY(-2px);box-shadow:0 9px 24px #5f366c1a}.calendar-day.period{color:#9a366c;background:#f8d9e9;box-shadow:inset 0 0 0 1px #c447851f}.calendar-day.recorded{color:#9a366c;background:#fff5fa;box-shadow:inset 0 0 0 1px #e8a4c8}.calendar-day.gentle{color:#693996;background:#eadcf8;box-shadow:inset 0 0 0 1px #77469c1f}.calendar-day.selected{border-color:#8f46c8;font-weight:700;box-shadow:0 0 0 3px #8f46c821}.calendar-day.empty{cursor:default;background:0 0;border:0}.calendar-legend{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;padding-top:18px;display:grid}.calendar-legend>div{background:#ffffffa8;border-radius:14px;align-items:flex-start;gap:10px;padding:12px;display:flex}.calendar-legend p{gap:3px;margin:0;display:grid}.calendar-legend strong{font-size:12px}.calendar-legend small{color:var(--muted);font-size:10px;line-height:1.55}.legend-swatch{border-radius:7px;flex:none;width:22px;height:22px}.legend-swatch--period{background:#f8d9e9;box-shadow:inset 0 0 0 1px #c447852e}.legend-swatch--gentle{background:#eadcf8;box-shadow:inset 0 0 0 1px #77469c2e}.legend-swatch--selected{background:#fff;border:1px solid #8f46c8;box-shadow:0 0 0 3px #8f46c821}.calendar-disclaimer{color:#9c758c;text-align:right;grid-column:1/-1;font-size:10px}.countdown-add{grid-template-columns:160px 1fr auto}.countdown-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.countdown-card{align-items:center;gap:18px;min-height:170px;padding:25px;display:flex;position:relative;overflow:hidden}.countdown-card:after{content:"";background:#ffffff85;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-105px;right:-80px}.countdown-card__mark{color:#8f46a5;background:#ffffffbd;border-radius:20px;flex:none;place-items:center;width:58px;height:58px;font-size:30px;display:grid;box-shadow:0 10px 25px #6f3b811a}.countdown-card h2{margin:5px 0;font-size:23px}.countdown-card p{color:var(--muted);margin:0;font-size:12px}.countdown-card .row-delete{z-index:1;position:absolute;top:13px;right:13px}.countdown-card--meeting{background:linear-gradient(135deg,#fffffff0,#f8e4f1)}.countdown-card--travel{background:linear-gradient(135deg,#fffffff0,#e6f0fb)}.countdown-card--license{background:linear-gradient(135deg,#fffffff0,#f2eadc)}.countdown-card--wedding{background:linear-gradient(135deg,#fffffff0,#f7e9ef)}.countdown-card--custom{background:linear-gradient(135deg,#fffffff0,#eee7fa)}.ideas-card{text-align:center;background:linear-gradient(145deg,#ffffffdb,#f6e1f9d6);flex-direction:column;justify-content:center;align-items:center;max-width:820px;min-height:440px;margin:30px auto;padding:48px;display:flex}.spark-orb{color:#8b4eb2;background:linear-gradient(145deg,#eadbfa,#fbdce9);width:66px;height:66px;margin-bottom:20px}.idea-tabs{background:#ffffffa6;border-radius:14px;gap:5px;margin-bottom:24px;padding:4px;display:flex}.ideas-card h2{max-width:650px;margin:13px 0 28px;font-size:clamp(25px,4vw,39px);line-height:1.5}.ideas-card h2.idea-reveal{animation:.22s ease-out both ideaReveal}.ideas-card>p{color:var(--muted);margin:20px 0 0;font-size:10px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#311f3647;place-items:center;padding:20px;animation:.2s ease-out both sceneReveal;display:grid;position:fixed;inset:0}.settings-modal{background:#fffcfef5;border:1px solid #fffc;border-radius:30px;width:min(100%,640px);max-height:calc(100vh - 40px);padding:24px;animation:.2s ease-out both pageEnter;overflow-y:auto;box-shadow:0 35px 90px #391e403d}.inline-feedback{width:fit-content;box-shadow:var(--shadow-soft);margin:-8px 0 16px auto}.field-error{color:var(--danger);margin-top:8px;font-size:11px;font-weight:700;display:block}.danger-button{color:var(--danger)}.settings-modal>header{justify-content:space-between;align-items:flex-start;display:flex}.settings-modal h2{margin:6px 0 0;font-size:32px}.profile-pair{justify-content:center;align-items:center;gap:22px;margin:25px 0;display:flex}.profile-pair label{color:var(--muted);cursor:pointer;justify-items:center;gap:7px;font-size:10px;display:grid}.profile-static{color:var(--muted);justify-items:center;gap:7px;font-size:10px;display:grid}.pair-heart{color:#d65a96}.invite-panel{background:linear-gradient(135deg,#eedcfab3,#fde1f0b8);border:1px solid #8f46c821;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;padding:17px;display:flex}.invite-panel>div{gap:5px;display:grid}.invite-panel strong{letter-spacing:.12em;color:#71398f;font-size:24px}.invite-panel p{color:var(--muted);margin:0;font-size:11px}.settings-form{gap:15px;display:grid}.settings-field{gap:8px;min-width:0;display:grid}.settings-field__label{color:#584960;font-size:12px;font-weight:700}.settings-form input,.settings-form select{min-height:45px;color:var(--text);background:#fff;border:1px solid #5b366b29;border-radius:14px;padding:0 13px}.anniversary-add{grid-template-columns:170px minmax(0,1fr) auto}.anniversary-add.is-custom{grid-template-columns:170px minmax(0,1fr) minmax(0,1fr) auto}.account-readonly{min-height:45px;color:var(--muted);background:#f9f6fae6;border:1px dashed #5b366b2e;border-radius:14px;align-items:center;padding:0 13px;font-weight:400;display:flex}.cover-setting{min-height:52px;color:var(--muted);background:#fff;border:1px solid #5b366b24;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:5px 5px 5px 14px;font-weight:400;display:flex}.cover-setting .soft-button{min-height:38px}.cover-setting__actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.cover-setting__actions label{cursor:pointer;display:inline-flex}.settings-modal footer{justify-content:space-between;gap:12px;margin-top:24px;display:flex}.celebration-demo{--demo-a:#a96cf2;--demo-b:#ff6db0;--demo-c:#7de4ff;--demo-deep:#160d2d;color:#fff;background:radial-gradient(circle at 50% -15%, color-mix(in srgb, var(--demo-a) 38%, transparent), transparent 42%), linear-gradient(145deg, #0d0919, var(--demo-deep));min-height:100vh;padding:26px clamp(18px,4vw,70px) 48px;transition:background .55s;overflow:hidden}.celebration-demo--rose{--demo-a:#ff7cbf;--demo-b:#ffb17a;--demo-c:#d89cff;--demo-deep:#2c0c28}.celebration-demo--birthday{--demo-a:#7fe4ff;--demo-b:#e28cff;--demo-c:#ffcf75;--demo-deep:#111b3a}.celebration-demo--midnight{--demo-a:#4db9ff;--demo-b:#a179ff;--demo-c:#ffd46c;--demo-deep:#050b24}.celebration-demo--spring{--demo-a:#ff4c4c;--demo-b:#ff9f43;--demo-c:#ffe194;--demo-deep:#350507}.celebration-demo__header{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;width:min(100%,1480px);min-height:58px;margin:0 auto 20px;display:grid}.celebration-demo__header>div{justify-items:center;gap:3px;display:grid}.celebration-demo__header>div span{color:color-mix(in srgb, var(--demo-c) 82%, white);letter-spacing:.26em;font-size:9px;font-weight:800}.celebration-demo__header>div strong{letter-spacing:.04em;font-size:17px}.celebration-demo__header>p{color:#ffffff7a;justify-self:end;margin:0;font-size:10px}.celebration-back{color:#ffffffb8;justify-self:start;align-items:center;gap:7px;font-size:12px;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.celebration-back:hover{color:#fff;transform:translate(-3px)}.celebration-switcher{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-width:none;background:#ffffff12;border:1px solid #ffffff21;border-radius:17px;align-items:center;gap:5px;width:fit-content;max-width:100%;margin:0 auto 18px;padding:5px;display:flex;position:relative;overflow-x:auto;box-shadow:0 14px 45px #00000029}.celebration-switcher::-webkit-scrollbar{display:none}.celebration-switcher button{color:#ffffff94;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:none;align-items:center;gap:7px;min-height:42px;padding:0 15px;font-size:11px;font-weight:700;transition:all .24s;display:inline-flex}.celebration-switcher button:hover{color:#fff;background:#ffffff14}.celebration-switcher button.active{color:#1c1025;background:linear-gradient(135deg, white, color-mix(in srgb, var(--demo-c) 38%, white));box-shadow:0 9px 25px color-mix(in srgb, var(--demo-a) 28%, transparent)}.celebration-switcher .celebration-replay{color:#fff;background:linear-gradient(135deg, color-mix(in srgb, var(--demo-a) 75%, transparent), color-mix(in srgb, var(--demo-b) 72%, transparent));margin-left:5px}.celebration-stage{background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--demo-a) 26%, transparent), transparent 30%), linear-gradient(145deg, #ffffff0d, #ffffff04);perspective:1200px;isolation:isolate;border:1px solid #ffffff2e;border-radius:38px;width:min(100%,1500px);min-height:min(740px,100vh - 170px);margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff2e,0 45px 100px #00000052}.celebration-stage:before{content:"";z-index:2;pointer-events:none;border-radius:inherit;background:linear-gradient(110deg,#ffffff1a,#0000 20% 75%,#ffffff0d);position:absolute;inset:0}.celebration-effects{position:absolute;inset:0;overflow:hidden}.celebration-aurora{opacity:.85;background:conic-gradient(from 120deg at 50% 50%, transparent, color-mix(in srgb, var(--demo-a) 35%, transparent), transparent 28%, color-mix(in srgb, var(--demo-b) 28%, transparent), transparent 55%, color-mix(in srgb, var(--demo-c) 25%, transparent), transparent);filter:blur(70px);animation:13s linear infinite celebrationAurora;position:absolute;inset:-35%}.celebration-grid-floor{opacity:.2;background-image:linear-gradient(color-mix(in srgb, var(--demo-c) 32%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--demo-c) 32%, transparent) 1px, transparent 1px);background-size:60px 60px;height:67%;animation:8s linear infinite gridTravel;position:absolute;bottom:-31%;left:-15%;right:-15%;transform:perspective(520px)rotateX(63deg);-webkit-mask-image:linear-gradient(#0000,#000 42%,#0000 88%);mask-image:linear-gradient(#0000,#000 42%,#0000 88%)}.celebration-stars i{left:var(--x);top:var(--y);width:var(--size);height:var(--size);box-shadow:0 0 10px white, 0 0 20px var(--demo-c);opacity:0;animation:starBlink 2.5s var(--delay) ease-in-out infinite;background:#fff;border-radius:50%;position:absolute}.celebration-confetti{z-index:6;pointer-events:none;position:absolute;inset:0}.celebration-confetti i{left:var(--x);background:var(--demo-a);opacity:0;width:7px;height:18px;transform:rotate(var(--spin));animation:confettiFall var(--duration) var(--delay) cubic-bezier(.16,.64,.36,1) infinite;border-radius:2px;position:absolute;top:-8%}.celebration-confetti i:nth-child(5n+2){background:var(--demo-b)}.celebration-confetti i:nth-child(5n+3){background:var(--demo-c);border-radius:50%;width:10px;height:10px}.celebration-confetti i:nth-child(5n+4){background:#fff;height:12px}.celebration-confetti i:nth-child(5n){background:#ffd76a;width:5px;height:15px}.celebration-fireworks{z-index:1;pointer-events:none;position:absolute;inset:0}.firework{left:var(--fx);top:var(--fy);width:1px;height:1px;color:var(--demo-c);position:absolute}.firework i{width:3px;height:17px;color:inherit;filter:drop-shadow(0 0 5px);opacity:0;transform-origin:50% 100%;animation:fireworkRay 2.8s calc(var(--delay) + .35s) ease-out infinite;background:linear-gradient(currentColor,#0000);border-radius:999px;position:absolute;bottom:0;left:-1px}.firework i:nth-child(3n+2){color:var(--demo-b)}.firework i:nth-child(3n){color:#ffe88a}.celebration-world{z-index:3;transform-style:preserve-3d;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));place-items:center;transition:transform .16s ease-out;display:grid;position:absolute;inset:0}.celebration-message{z-index:5;text-align:center;width:min(62vw,690px);min-height:400px;box-shadow:inset 0 1px #ffffff40, 0 35px 90px #00000042, 0 0 80px color-mix(in srgb, var(--demo-a) 13%, transparent);-webkit-backdrop-filter:blur(28px)saturate(130%);backdrop-filter:blur(28px)saturate(130%);background:linear-gradient(145deg,#ffffff29,#ffffff0e);border:1px solid #ffffff38;border-radius:38px;flex-direction:column;justify-content:center;align-items:center;padding:clamp(38px,6vw,76px);animation:1.05s cubic-bezier(.16,.84,.22,1) .12s both celebrationCardIn;display:flex;position:relative;transform:translateZ(72px)}.celebration-message:before{content:"";pointer-events:none;border:1px solid #ffffff17;border-radius:28px;position:absolute;inset:11px}.celebration-kicker{color:color-mix(in srgb, var(--demo-c) 72%, white);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:8px;font-size:10px;font-weight:800;display:inline-flex}.celebration-message h1{color:#fff;letter-spacing:-.055em;text-shadow:0 8px 35px #00000042;margin:20px 0 16px;font-size:clamp(42px,6vw,82px);line-height:1.05}.celebration-message h1 em{color:#0000;background:linear-gradient(100deg, white, var(--demo-c) 45%, var(--demo-b));-webkit-text-fill-color:transparent;letter-spacing:.02em;-webkit-background-clip:text;background-clip:text;margin-top:10px;font-size:.48em;font-style:normal;display:block}.celebration-message>p{color:#ffffffa8;max-width:520px;margin:0;font-size:13px;line-height:1.85}.celebration-metric{color:#ffffffd1;letter-spacing:.2em;align-items:center;gap:14px;margin-top:25px;font-size:10px;font-weight:800;display:flex}.celebration-metric i{background:linear-gradient(90deg, transparent, var(--demo-c));width:40px;height:1px}.celebration-metric i:last-child{transform:rotate(180deg)}.heart-sculpture{z-index:4;width:116px;height:104px;transform-style:preserve-3d;animation:3.4s ease-in-out infinite heartHover;position:absolute;top:16%;left:50%;transform:translate3d(-50%,-50%,130px)rotateY(-14deg)}.heart-sculpture i{color:color-mix(in srgb, var(--demo-a) 75%, white);opacity:calc(.2 + var(--depth) * .1);text-shadow:0 0 30px color-mix(in srgb, var(--demo-b) 65%, transparent);transform:translateZ(calc(var(--depth) * 4px));place-items:center;font-family:Georgia,serif;font-size:112px;font-style:normal;line-height:1;display:grid;position:absolute;inset:0}.heart-sculpture i:last-child{color:#fff;opacity:1}.orbit{z-index:2;border:1px solid color-mix(in srgb, var(--demo-c) 34%, transparent);transform-style:preserve-3d;border-radius:50%;position:absolute;top:50%;left:50%}.orbit--outer{width:690px;height:690px;animation:14s linear infinite orbitSpin;transform:translate(-50%,-50%)rotateX(72deg)rotate(15deg)}.orbit--inner{width:510px;height:510px;animation:10s linear infinite orbitSpinReverse;transform:translate(-50%,-50%)rotateX(68deg)rotate(-28deg)}.orbit span{background:var(--demo-c);width:12px;height:12px;box-shadow:0 0 16px var(--demo-c);border-radius:50%;position:absolute}.orbit span:first-child{top:27%;left:8%}.orbit span:nth-child(2){background:var(--demo-b);box-shadow:0 0 16px var(--demo-b);bottom:23%;right:10%}.orbit span:nth-child(3){background:#ffe68b;bottom:-6px;left:48%;box-shadow:0 0 16px #ffe68b}.floating-card{z-index:6;color:#fff;text-align:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#ffffff29,#ffffff0a);border:1px solid #fff3;border-radius:25px;align-content:center;justify-items:center;gap:12px;width:180px;min-height:150px;padding:22px;display:grid;position:absolute;box-shadow:0 25px 60px #00000038}.floating-card>span{color:var(--demo-c);letter-spacing:.2em;font-size:9px;font-weight:800}.floating-card small{color:#ffffff94;font-size:9px;line-height:1.55}.floating-card--left{animation:4.4s ease-in-out .5s infinite floatingLeft,.9s .45s both celebrationFadeIn;top:27%;left:7%;transform:translateZ(25px)rotateY(15deg)rotate(-5deg)}.floating-card--right{animation:4.8s ease-in-out .8s infinite floatingRight,.9s .58s both celebrationFadeIn;bottom:20%;right:7%;transform:translateZ(34px)rotateY(-16deg)rotate(5deg)}.celebration-hint{z-index:8;color:#ffffff57;letter-spacing:.06em;font-size:9px;position:absolute;bottom:18px;right:24px}@keyframes celebrationAurora{to{transform:rotate(360deg)scale(1.08)}}@keyframes gridTravel{to{background-position:0 60px,60px 0}}@keyframes starBlink{0%,to{opacity:.15;transform:scale(.65)}50%{opacity:.9;transform:scale(1.35)}}@keyframes confettiFall{0%{opacity:0;transform:translate3d(0,-30px,0) rotate(var(--spin))}10%{opacity:.92}to{opacity:0;transform:translate3d(var(--drift), 820px, 0) rotate(calc(var(--spin) + 820deg))}}@keyframes fireworkRay{0%,8%{opacity:0;transform:rotate(var(--angle)) translateY(0) scaleY(.12)}15%{opacity:1}48%{opacity:.9;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1)) scaleY(1)}64%,to{opacity:0;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1.25)) scaleY(.2)}}@keyframes celebrationCardIn{0%{opacity:0;filter:blur(14px);transform:translateZ(-80px)translateY(35px)rotateX(-9deg)scale(.82)}to{opacity:1;filter:blur();transform:translateZ(72px)translateY(0)rotateX(0)scale(1)}}@keyframes celebrationFadeIn{0%{opacity:0;filter:blur(12px)}to{opacity:1;filter:blur()}}@keyframes heartHover{0%,to{transform:translate3d(-50%,-50%,130px)rotateY(-14deg)scale(1)}50%{transform:translate3d(-50%,calc(-50% - 10px),145px)rotateY(14deg)scale(1.05)}}@keyframes orbitSpin{to{transform:translate(-50%,-50%)rotateX(72deg)rotate(375deg)}}@keyframes orbitSpinReverse{to{transform:translate(-50%,-50%)rotateX(68deg)rotate(-388deg)}}@keyframes floatingLeft{0%,to{transform:translateZ(25px)rotateY(15deg)rotate(-5deg)}50%{transform:translate3d(0,-13px,42px)rotateY(10deg)rotate(-2deg)}}@keyframes floatingRight{0%,to{transform:translateZ(34px)rotateY(-16deg)rotate(5deg)}50%{transform:translate3d(0,14px,52px)rotateY(-11deg)rotate(2deg)}}body:has(.celebration-lab){background:#07080c}.celebration-lab{color:#f7f2f8;background:#07080c;min-height:100vh;padding:22px clamp(16px,3.2vw,58px) 48px;font-family:Segoe UI Variable,Microsoft YaHei UI,sans-serif;transition:background .6s;overflow:hidden}.celebration-lab--welcome{background:#100f1a}.celebration-lab--anniversary{background:#170a12}.celebration-lab--birthday{background:#091120}.celebration-lab--newyear{background:#030817}.celebration-lab--spring{background:#230406}.celebration-lab__header{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;width:min(100%,1540px);min-height:48px;margin:0 auto 16px;display:grid}.celebration-lab__header>a{color:#ffffff9e;justify-self:start;align-items:center;gap:7px;font-size:12px;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.celebration-lab__header>a:hover{color:#fff;transform:translate(-3px)}.celebration-lab__header>div{justify-items:center;gap:2px;display:grid}.celebration-lab__header>div span{color:#ffffff6b;letter-spacing:.24em;font-size:9px;font-weight:800}.celebration-lab__header>div strong{letter-spacing:.06em;font-size:17px}.celebration-lab__header>p{color:#ffffff6b;justify-self:end;align-items:center;gap:6px;margin:0;font-size:10px;display:inline-flex}.celebration-console{z-index:30;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#121218d1;border:1px solid #ffffff1a;border-radius:18px;grid-template-columns:1fr 220px auto;align-items:center;gap:14px;width:min(100%,1540px);margin:0 auto 14px;padding:8px;display:grid;position:relative;box-shadow:0 18px 50px #00000038}.celebration-console nav{grid-template-columns:repeat(5,minmax(118px,1fr));gap:4px;min-width:0;display:grid}.celebration-console nav button{color:#ffffff7a;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:9px;min-width:0;min-height:50px;padding:7px 10px;transition:color .2s,background .2s,transform .2s;display:flex}.celebration-console nav button:hover{color:#fff;background:#ffffff0e;transform:translateY(-1px)}.celebration-console nav button.active{color:#fff;background:#ffffff1c;box-shadow:inset 0 0 0 1px #ffffff17}.celebration-console nav button>svg{flex:none}.celebration-console nav button>span{gap:2px;min-width:0;display:grid}.celebration-console nav strong{font-size:11px}.celebration-console nav small{color:#ffffff57;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.effect-control{gap:6px;padding:0 10px;display:grid}.effect-control label{color:#fff6;justify-content:space-between;align-items:center;font-size:9px;display:flex}.effect-control label strong{color:#ffffffdb;font-size:10px}.effect-control input{accent-color:#e877af;cursor:pointer;width:100%}.replay-all{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1f;border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 15px;font-size:10px;font-weight:700;transition:all .2s;display:inline-flex}.replay-all:hover{background:#ffffff21;transform:translateY(-1px)}.celebration-viewport{perspective:1300px;isolation:isolate;border:1px solid #ffffff21;border-radius:28px;width:min(100%,1540px);min-height:min(740px,100vh - 165px);margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1f,0 45px 120px #00000059}.scene-mount,.scene-mount>div{position:absolute;inset:0}.scene-mount{transform-style:preserve-3d;animation:.6s cubic-bezier(.2,.78,.24,1) both directorSceneIn}.viewport-caption{z-index:50;color:#ffffff8a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#05050a52;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:9px;display:inline-flex;position:absolute;bottom:16px;left:18px}.welcome-scene{color:#4d3457;perspective:1250px;background:radial-gradient(circle at 50% 33%,#fffdf8 0 10%,#f8e5f1 29%,#c9b7d5 58%,#776a87 100%);overflow:hidden}.welcome-sky{background:radial-gradient(circle at 50% 26%,#fffffff2,#0000 18%),linear-gradient(#ffffff73,#0000 45%);animation:5s ease-in-out infinite alternate welcomeSky;position:absolute;inset:0}.welcome-motes i{z-index:2;left:var(--x);top:var(--y);width:var(--size);height:var(--size);opacity:0;animation:welcomeMote 3.4s var(--delay) ease-in-out infinite;background:#fff;border-radius:50%;position:absolute;box-shadow:0 0 14px #fff,0 0 25px #f4b6df}.welcome-depth{z-index:5;transform-style:preserve-3d;transform:rotateX(var(--pointer-y)) rotateY(var(--pointer-x));transition:transform .16s ease-out;position:absolute;inset:0}.welcome-home{filter:drop-shadow(0 25px 30px #4b305126);opacity:0;width:210px;height:170px;animation:1.2s cubic-bezier(.2,.8,.2,1) 1.05s forwards welcomeHomeIn;position:absolute;top:37%;left:50%;transform:translate3d(-50%,-50%,10px)scale(.72)}.welcome-roof{background:linear-gradient(145deg,#8b6188,#bf8eaa);border-radius:20px 5px;width:160px;height:160px;position:absolute;top:-20px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:inset 7px 7px #ffffff2b}.welcome-house-body{background:linear-gradient(145deg,#fffef9,#ead8e5);border-radius:8px 8px 18px 18px;justify-content:center;align-items:center;gap:18px;width:190px;height:120px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #5f3b601a}.welcome-house-body i{background:linear-gradient(#d4eff6,#fff);border:5px solid #b083aa;border-radius:20px 20px 5px 5px;width:38px;height:48px}.welcome-house-body b{color:#fff;background:linear-gradient(#a876a0,#7d557d);border-radius:26px 26px 0 0;align-self:flex-end;place-items:center;width:52px;height:75px;font-family:Georgia,serif;display:grid}.welcome-path{clip-path:polygon(41% 0,59% 0,100% 100%,0 100%);filter:blur(2px);opacity:0;background:linear-gradient(90deg,#0000,#ffffffbf,#0000);width:430px;height:360px;animation:1s 1.1s forwards welcomePathIn;position:absolute;top:49%;left:50%;transform:translate3d(-50%,0,-10px)perspective(500px)rotateX(67deg)}.welcome-path i{background:#ffffffb3;width:2px;height:100%;position:absolute;left:50%}.welcome-path i:first-child{transform:translate(-75px)rotate(-14deg)}.welcome-path i:last-child{transform:translate(75px)rotate(14deg)}.welcome-key{color:#9d608f;width:90px;height:90px;transform-style:preserve-3d;place-items:center;animation:5s ease-in-out 1.4s infinite welcomeKey;display:grid;position:absolute;top:25%;right:14%}.welcome-key:before{content:"";border:1px solid #774e7b40;border-radius:50%;position:absolute;inset:0;transform:rotateX(70deg)}.welcome-key span{transform-origin:0;background:currentColor;border-radius:999px;width:64px;height:8px;position:absolute;top:48%;left:55%;transform:rotate(12deg)}.welcome-key span:after{content:"";border-bottom:6px solid;border-right:6px solid;width:18px;height:14px;position:absolute;top:5px;right:4px}.welcome-copy{z-index:6;text-align:center;opacity:0;justify-items:center;width:min(88%,680px);animation:.9s 1.25s forwards welcomeCopyIn;display:grid;position:absolute;top:61%;left:50%;transform:translate3d(-50%,35px,90px)}.welcome-copy>span{color:#9d718d;letter-spacing:.26em;font-size:10px;font-weight:800}.welcome-copy h1{letter-spacing:.04em;margin:9px 0 3px;font-family:STKaiti,KaiTi,serif;font-size:clamp(54px,7vw,96px);font-weight:500}.welcome-copy p{color:#836d82;margin:0 0 18px;font-size:12px}.welcome-copy button{color:#5b3a60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#ffffff9e;border:1px solid #603a6329;border-radius:999px;align-items:center;gap:8px;min-height:43px;padding:0 18px;display:inline-flex;box-shadow:0 12px 35px #56335a1a}.welcome-doors{z-index:15;pointer-events:none;perspective:1200px;position:absolute;inset:0}.welcome-door{width:50.15%;transform-style:preserve-3d;background:linear-gradient(135deg,#4e3657,#72506e 55%,#9a718b);transition:transform 1.55s cubic-bezier(.18,.8,.17,1);position:absolute;top:0;bottom:0;overflow:hidden;box-shadow:inset 0 0 0 12px #ffffff0b,inset 0 0 0 14px #140a193d,0 0 55px #1f0f2452}.welcome-door--left{transform-origin:0;left:0}.welcome-door--right{transform-origin:100%;right:0}.is-open .welcome-door--left{transform:rotateY(-108deg)}.is-open .welcome-door--right{transform:rotateY(108deg)}.welcome-door i{border:2px solid #ffe1ef33;height:34%;position:absolute;left:12%;right:12%;box-shadow:inset 0 0 30px #ffffff09}.welcome-door i:first-child{top:9%}.welcome-door i:nth-child(2){bottom:9%}.welcome-door span{border:3px solid #e6c187;border-radius:50%;width:17px;height:17px;position:absolute;top:50%;box-shadow:0 0 18px #ffda9c99}.welcome-door--left span{right:24px}.welcome-door--right span{left:24px}.welcome-ribbons i{z-index:4;opacity:0;filter:drop-shadow(0 0 8px #fff);background:linear-gradient(90deg,#0000,#fff,#eda6d3);width:48%;height:2px;animation:3.3s ease-in-out 1.25s infinite welcomeRibbon;position:absolute;top:50%}.welcome-ribbons i:first-child{left:-3%;transform:rotate(13deg)}.welcome-ribbons i:last-child{animation-delay:1.7s;right:-3%;transform:rotate(167deg)}.welcome-floor{z-index:3;background:radial-gradient(#ffffffeb,#e7cadc85 38%,#0000 67%);border-radius:50%;height:65%;position:absolute;bottom:-38%;left:-20%;right:-20%;transform:rotateX(68deg)}.anniversary-scene{color:#3c1726;perspective:1400px;background:linear-gradient(110deg,#f9eee6 0 39%,#551a34 39% 100%);overflow:hidden}.anniversary-light{background:radial-gradient(circle at 76% 46%,#ffd8b84d,#0000 30%),linear-gradient(90deg,#0000 36%,#ffffff14);position:absolute;inset:0}.anniversary-heading{z-index:5;width:31%;position:absolute;top:13%;left:6%}.anniversary-heading>span{color:#a56f71;letter-spacing:.24em;font-size:9px;font-weight:800}.anniversary-heading h1{letter-spacing:-.04em;margin:16px 0 0;font-family:STKaiti,KaiTi,serif;font-size:clamp(40px,4.6vw,74px);font-weight:500;line-height:1.24}.anniversary-heading em{color:#ab4d65;font-style:normal}.memory-theatre{z-index:4;perspective:1300px;width:67%;height:86%;transform:rotateX(var(--pointer-y)) rotateY(var(--pointer-x));transition:transform .18s ease-out;position:absolute;top:5%;right:-1%}.memory-halo{border:1px solid #ffdec63d;border-radius:50%;width:520px;height:520px;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)rotateX(72deg);box-shadow:0 0 90px #ffb6a724}.memory-halo:before,.memory-halo:after{content:"";border:1px dashed #ffe1cb26;border-radius:50%;position:absolute;inset:12%}.memory-halo:after{inset:28%}.memory-carousel{width:220px;height:300px;transform-style:preserve-3d;opacity:0;transition:opacity .5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotateY(0)}.is-spread .memory-carousel{opacity:1;animation:22s linear 1.2s infinite memoryCarousel}.memory-card{color:#4b2632;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateY(calc(var(--i) * 72deg)) translateZ(80px) scale(.72);opacity:0;background:#fff9f3;border:1px solid #ffffffb3;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;padding:20px;transition:transform 1.25s cubic-bezier(.15,.8,.2,1),opacity .8s;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 28px 70px #14050d4d}.is-spread .memory-card{transform:rotateY(calc(var(--i) * 72deg)) translateZ(330px) scale(1);opacity:1}.memory-index{color:#b99396;font-family:Georgia,serif;font-size:10px;position:absolute;top:11px;left:13px}.memory-card h2{margin:9px 0 4px;font-family:STKaiti,KaiTi,serif;font-size:31px;font-weight:500}.memory-card p{color:#9a797d;margin:0;font-size:9px;line-height:1.55}.memory-card--photo{justify-content:flex-end}.memory-photo{background:linear-gradient(#4a1e300a,#4a1e3033),url(/default-cover.png) 50%/cover;position:absolute;inset:13px 13px 74px}.memory-card--number strong{color:#a3415b;font-family:Georgia,serif;font-size:64px;line-height:1}.memory-card--number small{margin-left:4px;font-family:inherit;font-size:13px}.memory-card--heart{color:#b94e65;background:linear-gradient(145deg,#fff9f3,#f3d7d0)}.anniversary-ribbon{z-index:8;color:#8d666c;grid-template-columns:1fr auto auto auto 1fr;align-items:center;gap:10px;width:31%;font-size:10px;display:grid;position:absolute;bottom:14%;left:5%}.anniversary-ribbon i{background:linear-gradient(90deg,#0000,#b57a7e);height:1px}.anniversary-ribbon i:last-child{transform:rotate(180deg)}.anniversary-ribbon b{color:#b84e65}.anniversary-action{z-index:9;color:#fff;cursor:pointer;background:#8f334f;border:0;border-radius:4px;align-items:center;gap:7px;min-height:44px;padding:0 18px;display:inline-flex;position:absolute;bottom:6%;left:6%;box-shadow:9px 9px #deb9af}.petal-field i{z-index:7;left:var(--x);opacity:0;width:13px;height:20px;transform:rotate(var(--rotate));animation:petalFall var(--duration) var(--delay) linear infinite;pointer-events:none;background:linear-gradient(145deg,#fff1e8,#c74d69);border-radius:80% 10%;position:absolute;top:-8%}.birthday-scene{color:#fff;perspective:1300px;background:radial-gradient(circle at 69% 41%,#293d72 0 12%,#111c3c 35%,#070d1c 72%);overflow:hidden}.birthday-spotlight{clip-path:polygon(35% 0,65% 0,100% 100%,0 100%);filter:blur(14px);background:linear-gradient(110deg,#0000 20%,#a8cdff38,#0000 75%);width:55%;height:110%;animation:4s ease-in-out infinite alternate birthdayLight;position:absolute;top:-28%;left:45%}.birthday-copy{z-index:8;width:37%;position:absolute;top:19%;left:6%}.birthday-copy h1{margin:16px 0 12px;font-family:STKaiti,KaiTi,serif;font-size:clamp(43px,5vw,78px);font-weight:500;line-height:1.16}.birthday-copy p{color:#ffffff8f;font-size:12px}.cake-stage{z-index:7;width:500px;height:530px;transform-style:preserve-3d;transform:rotateX(calc(-5deg + var(--pointer-y))) rotateY(var(--pointer-x));transition:transform .18s ease-out;animation:1.05s cubic-bezier(.16,.85,.22,1) .2s both cakeArrive;position:absolute;bottom:11%;right:9%}.cake-aura{filter:blur(12px);background:radial-gradient(#91b8ff44,#0000 68%);border-radius:50%;width:520px;height:210px;position:absolute;bottom:5%;left:50%;transform:translate(-50%)rotateX(70deg)}.cake-layer{background:linear-gradient(90deg,#8fa8df,#f2d9ed 14%,#fff8f0 48%,#d8bfe4 80%,#8098d3);border-radius:50%/22%;position:absolute;left:50%;transform:translate(-50%);box-shadow:inset 0 -25px 35px #533d742e,0 24px 40px #0003}.cake-layer:before{content:"";background:radial-gradient(#fffef9,#ead4e8 60%,#b7a1d1);border-radius:50%;height:31%;position:absolute;top:-2px;left:0;right:0}.cake-layer>span{z-index:2;filter:drop-shadow(0 5px 2px #7a5c891f);background:radial-gradient(circle at 8px 0,#fff 0 9px,#0000 10px) 0 0/28px 28px repeat-x;height:23%;position:absolute;top:16%;left:7%;right:7%}.cake-layer--bottom{width:400px;height:160px;bottom:26px}.cake-layer--middle{width:315px;height:137px;bottom:137px}.cake-layer--top{width:225px;height:115px;bottom:235px}.cake-plate{background:linear-gradient(#eff5ff,#8198c9);border-radius:50%;width:465px;height:65px;position:absolute;bottom:8px;left:50%;transform:translate(-50%);box-shadow:0 25px 38px #0000004d}.cake-topper{z-index:9;color:#f59abf;filter:drop-shadow(0 0 17px #ff97c661);justify-items:center;gap:4px;display:grid;position:absolute;bottom:361px;left:50%;transform:translate(-50%)}.cake-topper span{color:#fff3d6;letter-spacing:.18em;font-size:8px;font-weight:800}.candles{z-index:10;justify-content:space-around;width:210px;display:flex;position:absolute;bottom:340px;left:50%;transform:translate(-50%)}.candles>i{background:repeating-linear-gradient(135deg,#f7c65f 0 6px,#e96da0 6px 12px);border-radius:4px;width:8px;height:58px;position:relative;box-shadow:0 5px 7px #00000026}.candles>i:first-child,.candles>i:nth-child(5){transform:translateY(14px)}.candles>i:nth-child(2),.candles>i:nth-child(4){transform:translateY(7px)}.flame{filter:drop-shadow(0 0 12px #ffd45e);transform-origin:50% 100%;background:radial-gradient(circle at 52% 72%,#fff 0 12%,#ffe569 28%,#ff9c3c 58%,#ff5b61 75%,#0000 78%);border-radius:70% 30% 68% 32%;width:16px;height:27px;transition:opacity .35s,transform .35s;animation:.8s ease-in-out infinite alternate candleFlame;position:absolute;top:-28px;left:50%;transform:translate(-50%)rotate(8deg)}.smoke{opacity:0;border:2px solid #e0e8ff73;border-radius:50%;width:8px;height:8px;position:absolute;top:-26px;left:50%;transform:translate(-50%)}.wish-made .flame{opacity:0;transform:translate(-50%)scale(.1)}.wish-made .smoke{animation:1.8s ease-out forwards candleSmoke}.balloon-field>i{z-index:3;left:var(--x);background:hsl(calc(205 + var(--tone) * 25) 74% 68%);width:54px;height:68px;transform:scale(var(--scale));animation:balloonRise 9s var(--delay) ease-in-out infinite;border-radius:50% 50% 47% 47%;position:absolute;bottom:-110px;box-shadow:inset -12px -8px #15144626,inset 9px 8px #ffffff40}.balloon-field>i:after{content:"";background:#ffffff47;width:1px;height:145px;position:absolute;top:65px;left:50%}.balloon-field>i span{border-bottom:10px solid;border-left:6px solid #0000;border-right:6px solid #0000;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.birthday-confetti i{z-index:6;left:var(--x);opacity:0;width:8px;height:18px;transform:rotate(var(--rotate));animation:birthdayConfetti var(--duration) var(--delay) linear infinite;background:#f7c75f;position:absolute;top:-8%}.birthday-confetti i:nth-child(4n+2){background:#f072ad}.birthday-confetti i:nth-child(4n+3){background:#7fdcf8;border-radius:50%;height:9px}.birthday-confetti i:nth-child(4n){background:#d7a2ff;width:5px}.birthday-action{z-index:20;color:#16213c;cursor:pointer;background:linear-gradient(135deg,#fff3c5,#f6b3d4);border:1px solid #fff3;border-radius:999px;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-weight:700;display:inline-flex;position:absolute;bottom:12%;left:6%;box-shadow:0 15px 38px #f8afd133}.birthday-action:disabled{cursor:default}.newyear-scene{color:#fff;background:linear-gradient(#020713 0 56%,#08172e 82%,#123152);overflow:hidden}.newyear-sky{background:radial-gradient(circle at 50% 110%,#174d7e88,#0000 55%);position:absolute;inset:0 0 35%;overflow:hidden}.newyear-sky i{background:#fff;border-radius:50%;width:2px;height:2px;animation:2.8s ease-in-out infinite alternate nyStars;position:absolute;box-shadow:120px 45px #fff,240px 98px #9dc9ff,380px 32px #fff,510px 122px #fff,680px 64px #acd8ff,820px 110px #fff,980px 36px #fff,1120px 87px #9bc8ff,1280px 52px #fff}.newyear-sky i:nth-child(2){animation-delay:1s;top:24%;left:6%;transform:scale(.7)}.newyear-sky i:nth-child(3){animation-delay:1.8s;top:44%;left:12%;transform:scale(1.3)}.newyear-copy{z-index:8;text-align:center;width:min(90%,760px);position:absolute;top:9%;left:50%;transform:translate(-50%)}.newyear-copy h1{letter-spacing:.08em;text-shadow:0 0 30px #52acff40;margin:8px 0 4px;font-family:STSong,SimSun,serif;font-size:clamp(42px,5vw,72px);font-weight:500}.flip-clock{z-index:9;transform:translate3d(-50%,-50%,70px) rotateX(calc(var(--pointer-y) * .5)) rotateY(calc(var(--pointer-x) * .5));align-items:center;gap:10px;transition:transform .18s ease-out;display:flex;position:absolute;top:49%;left:50%}.flip-clock>div{color:#eaf7ff;perspective:500px;background:linear-gradient(#122640 49.6%,#071426 50%);border:1px solid #86c8ff33;border-radius:10px;place-items:center;width:clamp(80px,8vw,126px);height:clamp(120px,12vw,178px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1a,0 25px 60px #0006}.flip-clock>div:before{content:"";z-index:3;background:#020914;height:1px;position:absolute;top:50%;left:0;right:0;box-shadow:0 1px #ffffff14}.flip-clock>div span{font-family:Bahnschrift,Arial Narrow,sans-serif;font-size:clamp(80px,10vw,148px);font-weight:700;line-height:1;animation:.7s cubic-bezier(.16,.84,.25,1) flipDigit}.flip-clock .flip-label{width:clamp(125px,15vw,230px)}.clock-shine{pointer-events:none;background:linear-gradient(110deg,#0000 40%,#7bccff2b,#0000 60%);animation:3.5s ease-in-out infinite clockShine;position:absolute;inset:-40%;transform:translate(-80%)}.city-skyline{z-index:6;filter:drop-shadow(0 -10px 30px #11568a1f);justify-content:center;align-items:flex-end;gap:2px;height:245px;display:flex;position:absolute;bottom:0;left:-1%;right:-1%}.city-skyline>i{width:var(--w);height:var(--h);background:linear-gradient(90deg,#061020,#102a45 47%,#06111f);border-top:1px solid #234b6a;flex:none;grid-template-columns:repeat(2,4px);place-content:start space-evenly;gap:10px 5px;padding-top:13px;display:grid;position:relative}.city-skyline>i:nth-child(4n):before{content:"";background:#254c69;width:2px;height:28px;position:absolute;bottom:100%;left:50%}.city-skyline b{width:4px;height:6px;opacity:calc(.28 + (var(--windows) * .08));background:#ffd16a;box-shadow:0 0 8px #ffcb52}.city-reflection{z-index:5;filter:blur(15px);background:linear-gradient(90deg,#0000,#1a7ec433,#0000);height:35%;position:absolute;bottom:-10%;left:0;right:0;transform:scaleY(-1)}.newyear-fireworks{z-index:4;pointer-events:none;position:absolute;inset:0}.ny-firework{left:var(--x);top:var(--y);width:1px;height:1px;color:hsl(calc(188 + var(--tone) * 34) 92% 70%);position:absolute}.ny-firework i{width:4px;height:24px;color:inherit;filter:drop-shadow(0 0 6px);opacity:0;transform-origin:50% 100%;animation:nyFirework 2.4s var(--delay) ease-out infinite;background:linear-gradient(currentColor,#0000);border-radius:999px;position:absolute;bottom:0;left:-2px}.newyear-action{z-index:20;color:#dff5ff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#041222bd;border:1px solid #6bc2ff3b;border-radius:5px;align-items:center;gap:8px;min-height:42px;padding:0 17px;display:inline-flex;position:absolute;bottom:25px;right:3%;box-shadow:0 10px 30px #00000040}.spring-scene{color:#fff6dc;perspective:1300px;background:radial-gradient(circle at 68% 44%,#9d171c 0 18%,#62080d 45%,#2c0305 100%);overflow:hidden}.spring-pattern{opacity:.12;background-image:linear-gradient(30deg,#ffd67a 12%,#0000 12.5% 87%,#ffd67a 87.5%,#ffd67a),linear-gradient(150deg,#ffd67a 12%,#0000 12.5% 87%,#ffd67a 87.5%,#ffd67a),linear-gradient(30deg,#ffd67a 12%,#0000 12.5% 87%,#ffd67a 87.5%,#ffd67a),linear-gradient(150deg,#ffd67a 12%,#0000 12.5% 87%,#ffd67a 87.5%,#ffd67a);background-position:0 0,0 0,30px 52px,30px 52px;background-size:60px 104px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 65%,#0000 20%,#000 80%);mask-image:radial-gradient(circle at 65%,#0000 20%,#000 80%)}.gold-dust i{z-index:3;left:var(--x);top:var(--y);width:var(--size);height:var(--size);opacity:0;animation:goldFloat 3.6s var(--delay) ease-in-out infinite;background:#ffe69a;border-radius:50%;position:absolute;box-shadow:0 0 12px #ffbd43}.lantern-corridor{z-index:5;transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.lantern-corridor>i{top:calc(7% + var(--i) * 20%);color:#6c090d;width:72px;height:94px;transform:scale(calc(1 - var(--i) * .14));animation:lanternSwing calc(3.2s + var(--i) * .4s) ease-in-out infinite;background:radial-gradient(circle at 35% 25%,#fff0a8,#ffb52c 30%,#e84025 72%);border-radius:48% 48% 42% 42%;place-items:center;display:grid;position:absolute;box-shadow:inset -12px 0 #800b0c2e,0 0 30px #ffa62c59}.lantern-corridor>i.left{left:calc(2% + var(--i) * 3%);transform-origin:50% -80px}.lantern-corridor>i.right{right:calc(2% + var(--i) * 3%);transform-origin:50% -80px}.lantern-corridor>i:before{content:"";background:#d7a02f;width:2px;height:90px;position:absolute;bottom:100%;left:50%}.lantern-corridor>i span:first-child{background:#8b1615;border-radius:3px;height:10px;position:absolute;top:-5px;left:15%;right:15%}.lantern-corridor>i span:last-child{background:#ffd45d;width:2px;height:46px;position:absolute;top:100%;box-shadow:-8px 0 #ffd45d,8px 0 #ffd45d}.lantern-corridor b{font-family:STKaiti,KaiTi,serif;font-size:25px}.spring-copy{z-index:8;width:35%;position:absolute;top:20%;left:9%;transform:translateZ(50px)}.spring-copy h1{letter-spacing:.06em;margin:17px 0 11px;font-family:STKaiti,KaiTi,serif;font-size:clamp(48px,5.8vw,88px);font-weight:500;line-height:1.15}.spring-copy p{color:#fff1d19e;font-size:12px}.paper-cut-window{z-index:4;width:540px;height:540px;transform:rotateY(calc(-9deg + var(--pointer-x))) rotateX(var(--pointer-y));border:2px solid #ffd36f4d;border-radius:50%;transition:transform .18s ease-out;animation:18s linear infinite paperWindow;position:absolute;top:6%;right:5%}.paper-cut-window:before,.paper-cut-window:after{content:"";border:1px solid #ffdb823d;position:absolute;inset:7%;transform:rotate(45deg)}.paper-cut-window:after{inset:18%;transform:rotate(22.5deg)}.paper-cut-window i,.paper-cut-window b,.paper-cut-window em{border:2px solid #ffd97b45;border-radius:50%;position:absolute;inset:29%}.paper-cut-window b{border-radius:0;inset:7% 45%}.paper-cut-window em{border-radius:0;inset:45% 7%}.paper-cut-window>span{color:#ffd87021;place-items:center;font-family:STKaiti,KaiTi,serif;font-size:210px;display:grid;position:absolute;inset:0;transform:rotate(-18deg)}.red-envelope{z-index:12;cursor:pointer;perspective:900px;width:250px;height:330px;transform-style:preserve-3d;transform:rotateY(calc(-8deg + var(--pointer-x))) rotateX(var(--pointer-y));background:0 0;border:0;padding:0;transition:transform .2s;position:absolute;bottom:14%;right:19%}.envelope-back,.envelope-front,.envelope-flap{background:linear-gradient(145deg,#e43e2e,#a81319);border-radius:12px;height:245px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 30px 60px #18000059}.envelope-front{z-index:4;clip-path:polygon(0 0,50% 37%,100% 0,100% 100%,0 100%);background:linear-gradient(150deg,#f05235,#a80d16);height:205px}.envelope-front i{color:#7c0c10;background:#f7c44e;border:2px solid #ffd064;border-radius:50%;place-items:center;width:74px;height:74px;font-family:STKaiti,KaiTi,serif;font-size:35px;font-style:normal;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-28%)}.envelope-flap{z-index:5;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;background:linear-gradient(#ef4b36,#b4141c);height:145px;transition:transform .8s cubic-bezier(.16,.8,.2,1);bottom:120px}.envelope-letter{z-index:3;color:#7e1815;background:linear-gradient(#fff4cf,#eec878);border-radius:7px;align-content:center;justify-items:center;gap:10px;height:250px;padding:20px;transition:transform 1s cubic-bezier(.16,.8,.2,1) .3s;display:grid;position:absolute;bottom:28px;left:17px;right:17px;box-shadow:0 10px 25px #2a00002e}.envelope-letter b{font-family:STKaiti,KaiTi,serif;font-size:34px}.envelope-letter small{font-size:9px}.is-opened .envelope-flap{z-index:1;transform:rotateX(178deg)}.is-opened .envelope-letter{z-index:6;transform:translateY(-76px)translateZ(55px)scale(.94)}.spring-action{z-index:20;color:#701014;cursor:pointer;background:linear-gradient(#ffeaa4,#e9b83c);border:1px solid #ffda7c73;border-radius:4px;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-weight:700;display:inline-flex;position:absolute;bottom:15%;left:9%;box-shadow:0 14px 34px #2d000038}.spring-spark-burst{z-index:11;width:1px;height:1px;position:absolute;bottom:44%;right:27%}.spring-spark-burst i{filter:drop-shadow(0 0 7px #ffc84a);transform-origin:50% 100%;background:linear-gradient(#fff2a8,#0000);border-radius:999px;width:5px;height:25px;animation:1.8s ease-out forwards springBurst;position:absolute}@keyframes directorSceneIn{0%{opacity:0;filter:blur(8px);transform:scale(.985)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes welcomeSky{to{filter:saturate(1.12)brightness(1.06)}}@keyframes welcomeMote{0%,to{opacity:.08;transform:translateY(10px)scale(.6)}50%{opacity:.9;transform:translateY(-15px)scale(1.3)}}@keyframes welcomeHomeIn{to{opacity:1;transform:translate3d(-50%,-50%,10px)scale(1)}}@keyframes welcomePathIn{to{opacity:.85}}@keyframes welcomeKey{0%,to{transform:translateZ(65px)rotateY(-18deg)rotate(-4deg)}50%{transform:translate3d(0,-18px,110px)rotateY(25deg)rotate(5deg)}}@keyframes welcomeCopyIn{to{opacity:1;transform:translate3d(-50%,0,90px)}}@keyframes welcomeRibbon{0%{opacity:0;transform:translate(-25%)rotate(13deg)scaleX(.3)}45%{opacity:.8}to{opacity:0;transform:translate(60%)rotate(13deg)scaleX(1)}}@keyframes memoryCarousel{to{transform:translate(-50%,-50%)rotateY(360deg)}}@keyframes petalFall{0%{opacity:0;transform:translate3d(0,-40px,0) rotate(var(--rotate))}12%{opacity:.85}to{opacity:0;transform:translate3d(var(--drift),820px,0) rotate(calc(var(--rotate) + 720deg))}}@keyframes birthdayLight{to{opacity:.55;transform:translate(4%)rotate(2deg)}}@keyframes cakeArrive{0%{opacity:0;filter:blur(12px);transform:translate3d(80px,70px,-80px)rotateY(-25deg)scale(.72)}to{opacity:1;filter:blur()}}@keyframes candleFlame{to{transform:translate(-50%)rotate(-7deg)scale(.88,1.08)}}@keyframes candleSmoke{0%{opacity:0;transform:translate(-50%)scale(.3)}30%{opacity:.7}to{opacity:0;transform:translate(-30px,-85px)scale(2.5)}}@keyframes balloonRise{0%{transform:translateY(0) scale(var(--scale)) rotate(-4deg);opacity:0}10%{opacity:.9}50%{transform:translateY(-470px) scale(var(--scale)) rotate(5deg)}to{transform:translateY(-930px) scale(var(--scale)) rotate(-3deg);opacity:0}}@keyframes birthdayConfetti{0%{opacity:0;transform:translate3d(0,-30px,0) rotate(var(--rotate))}10%{opacity:.9}to{opacity:0;transform:translate3d(var(--drift),840px,0) rotate(calc(var(--rotate) + 900deg))}}@keyframes nyStars{to{opacity:.38;filter:drop-shadow(0 0 4px #9ed2ff)}}@keyframes flipDigit{0%{opacity:.3;transform:rotateX(-90deg)translateY(-20px)}to{opacity:1;transform:rotateX(0)}}@keyframes clockShine{45%,to{transform:translate(80%)}}@keyframes nyFirework{0%,10%{opacity:0;transform:rotate(var(--angle)) translateY(0) scaleY(.1)}18%{opacity:1}54%{opacity:.95;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1)) scaleY(1)}78%,to{opacity:0;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1.25)) scaleY(.08)}}@keyframes goldFloat{0%,to{opacity:.08;transform:translateY(12px)scale(.6)}50%{opacity:.85;transform:translateY(-14px)scale(1.25)}}@keyframes lanternSwing{0%,to{rotate:-2.5deg}50%{rotate:2.5deg}}@keyframes paperWindow{to{rotate:360deg}}@keyframes springBurst{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) scaleY(.2)}75%{opacity:1;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1)) scaleY(1)}to{opacity:0;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1.15)) scaleY(.1)}}@media (max-width:980px){.monitor-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.celebration-lab__header{grid-template-columns:1fr auto}.celebration-lab__header>div{justify-items:end}.celebration-lab__header>p{display:none}.celebration-console{grid-template-columns:1fr 190px}.celebration-console nav{grid-column:1/-1}.replay-all{grid-column:2}.celebration-viewport{min-height:720px}.welcome-key{right:8%}.anniversary-heading{width:34%;left:5%}.memory-theatre{width:63%}.memory-card{width:190px;height:270px}.is-spread .memory-card{transform:rotateY(calc(var(--i) * 72deg)) translateZ(270px) scale(.92)}.cake-stage{transform:scale(.9) rotateX(calc(-5deg + var(--pointer-y))) rotateY(var(--pointer-x));right:2%}.paper-cut-window{right:-8%}.red-envelope{right:14%}.celebration-demo__header{grid-template-columns:1fr auto}.celebration-demo__header>div{justify-items:end}.celebration-demo__header>p{display:none}.celebration-stage{min-height:690px}.celebration-message{width:min(68vw,620px)}.floating-card{width:145px;min-height:128px;padding:16px}.floating-card--left{left:2.5%}.floating-card--right{right:2.5%}.login-shell{grid-template-columns:1fr;padding:0}.login-scene{border-radius:0 0 30px 30px;min-height:390px}.login-scene__copy{margin-top:70px}.login-scene__picture{height:28%}.login-panel{padding:38px 22px 70px}.app-main{padding:40px 28px 100px 24px}.home-hero{grid-template-columns:1fr}.home-hero__visual{min-height:320px}.menu-grid,.order-layout{grid-template-columns:1fr}}@media (max-width:720px){.monitor-panel{border-radius:20px;padding:16px}.monitor-panel .section-heading{align-items:flex-start}.monitor-lease{text-align:right;max-width:150px}.device-row{flex-wrap:wrap;align-items:flex-start}.device-copy{min-width:calc(100% - 58px)}.device-revoke{margin-left:56px}.monitor-log{grid-template-columns:1fr 1fr}.countdown-add,.countdown-list{grid-template-columns:1fr}.celebration-lab{padding:16px 10px 28px}.celebration-lab__header{grid-template-columns:1fr;gap:8px}.celebration-lab__header>div{grid-row:1;justify-items:center}.celebration-lab__header>a{grid-row:2;justify-self:center}.celebration-console{grid-template-columns:1fr auto;padding:6px}.celebration-console nav{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:visible}.celebration-console nav button{min-width:0}.effect-control{min-width:150px}.replay-all{padding:0 12px}.celebration-viewport{border-radius:22px;min-height:690px}.viewport-caption{white-space:nowrap;left:50%;transform:translate(-50%)}.welcome-home{top:33%;transform:translate3d(-50%,-50%,10px)scale(.72)}.welcome-key{top:18%;right:1%;transform:scale(.72)}.welcome-copy{top:58%}.welcome-copy h1{font-size:58px}.welcome-door{width:50.3%}.anniversary-scene{background:linear-gradient(#f9eee6 0 35%,#551a34 35% 100%)}.anniversary-heading{text-align:center;width:auto;top:6%;left:7%;right:7%}.anniversary-heading h1{margin-top:9px;font-size:42px}.memory-theatre{width:100%;height:58%;top:31%;left:0;right:0}.memory-carousel{width:170px;height:235px}.memory-card{width:170px;height:235px;padding:14px}.is-spread .memory-card{transform:rotateY(calc(var(--i) * 72deg)) translateZ(205px) scale(.88)}.memory-card h2{font-size:25px}.memory-card--number strong{font-size:49px}.anniversary-ribbon{width:auto;bottom:9%;left:8%;right:8%}.anniversary-action{bottom:2%;left:50%;transform:translate(-50%)}.birthday-copy{text-align:center;width:auto;top:6%;left:7%;right:7%}.birthday-copy h1{margin:8px 0 4px;font-size:42px}.cake-stage{transform-origin:50% 100%;bottom:5%;left:50%;right:auto;transform:translate(-50%)scale(.78)}.birthday-action{white-space:nowrap;bottom:2%;left:50%;transform:translate(-50%)}.newyear-copy{top:6%}.flip-clock{top:42%}.city-skyline{height:215px}.newyear-action{white-space:nowrap;bottom:19px;right:50%;transform:translate(50%)}.spring-copy{text-align:center;width:auto;top:7%;left:7%;right:7%}.spring-copy h1{margin:8px 0 5px;font-size:48px}.paper-cut-window{opacity:.42;width:420px;height:420px;top:25%;right:50%;transform:translate(50%)}.red-envelope{transform-origin:50% 100%;bottom:13%;right:50%;transform:translate(50%)scale(.78)}.spring-action{white-space:nowrap;bottom:3%;left:50%;transform:translate(-50%)}.lantern-corridor>i{width:55px;height:73px}.celebration-demo{padding:18px 12px 30px}.celebration-demo__header{grid-template-columns:1fr;gap:12px}.celebration-demo__header>div{grid-row:1;justify-items:center}.celebration-back{grid-row:2;justify-self:center}.celebration-switcher{justify-content:flex-start;width:100%;margin-bottom:12px}.celebration-stage{border-radius:26px;min-height:650px}.celebration-message{border-radius:29px;width:calc(100% - 34px);min-height:390px;padding:38px 24px}.celebration-message h1{font-size:clamp(38px,12vw,62px)}.floating-card{display:none}.orbit--outer{width:580px;height:580px}.orbit--inner{width:430px;height:430px}.celebration-hint{white-space:nowrap;bottom:13px;right:50%;transform:translate(50%)}.app-shell{padding-bottom:78px;display:block}.sidebar{border-radius:22px;flex-direction:row;align-items:center;width:auto;height:68px;padding:6px 8px;inset:auto 8px 8px}.couple-avatars{display:none}.sidebar nav{flex-direction:row;flex:1;min-width:0;overflow-x:auto}.sidebar nav button,.settings-nav{min-width:58px;min-height:54px}.settings-nav{flex:0 0 58px;margin:0}.app-main,.app-main--chat{width:100%;height:auto;padding:28px 16px 24px}.app-main--chat{min-height:calc(100vh - 78px)}.page-header{align-items:center}.page-header h1{font-size:34px}.page-header p{font-size:13px}.page-header__action .primary-button{padding:0 12px}.header-actions{flex-direction:column}.header-actions>*{width:100%}.home-hero__counter{padding:34px 26px}.home-grid,.form-row,.cycle-form,.inline-add,.anniversary-add.is-custom{grid-template-columns:1fr}.inline-add .primary-button{width:100%}.album-toolbar{flex-direction:column;align-items:stretch}.album-toolbar label{width:100%}.anniversary-hero{padding:26px}.big-heart{width:78px;height:78px}.anniversary-row{grid-template-columns:auto 1fr auto}.anniversary-row .row-delete{grid-column:3}.chat-shell{border-radius:20px;height:calc(100vh - 112px);min-height:520px}.chat-header{padding:10px 12px}.sender-switch>span{display:none}.identity-lock{text-align:right;max-width:125px}.chat-messages{padding:20px 14px}.message>div{max-width:82%}.bubble img{max-width:240px}.cycle-summary{padding:24px}.cycle-orbit{width:82px;height:82px}.calendar-surface{padding:14px}.calendar-day{border-radius:10px;min-height:45px}.calendar-legend{grid-template-columns:1fr}.calendar-disclaimer{text-align:left;grid-column:1}.ideas-card{padding:30px 20px}.idea-tabs{max-width:100%;overflow-x:auto}.profile-pair{gap:12px}.invite-panel{flex-direction:column;align-items:stretch}.invite-panel .soft-button{width:100%}.cover-setting{flex-direction:column;align-items:flex-start;padding:12px}.cover-setting__actions{justify-content:stretch;width:100%}.cover-setting__actions>*{flex:1}.camera-modal{border-radius:22px;padding:14px}.camera-modal>footer{text-align:center;grid-template-columns:1fr;justify-items:center}.camera-modal>footer p,.camera-shutter{grid-column:1}}@media (max-width:480px){.celebration-console nav small{display:none}.celebration-console nav button{text-align:center;justify-content:center}.celebration-console{grid-template-columns:1fr}.effect-control{grid-column:1;padding:4px 10px}.replay-all{grid-column:1;width:100%}.celebration-viewport{min-height:650px}.welcome-copy p{max-width:280px}.welcome-key{display:none}.memory-theatre{top:33%;transform:scale(.86)}.memory-halo{width:430px;height:430px}.is-spread .memory-card{transform:rotateY(calc(var(--i) * 72deg)) translateZ(175px) scale(.8)}.cake-stage{bottom:1%;transform:translate(-50%)scale(.66)}.birthday-action{bottom:1%}.flip-clock>div{width:72px;height:112px}.flip-clock>div span{font-size:72px}.flip-clock .flip-label{width:108px}.city-skyline{transform-origin:50% 100%;transform:scaleX(.82)}.red-envelope{bottom:10%;transform:translate(50%)scale(.68)}.lantern-corridor>i{opacity:.68}.celebration-switcher button{min-height:39px;padding:0 12px}.celebration-stage{min-height:610px}.celebration-message{min-height:370px}.celebration-message>p{font-size:11px}.heart-sculpture{top:18%;transform:translate3d(-50%,-50%,130px)scale(.82)}.login-scene{min-height:330px;padding:24px}.login-scene__copy{margin-top:52px}.login-scene__copy h1{font-size:32px}.feature-chips span:nth-child(2){display:none}.login-scene__picture{height:23%}.login-scene__picture .photo-placeholder span{display:none}.page-header{margin-bottom:20px}.page-header__action{padding:0}.live-counter__days strong{font-size:72px}.home-hero__visual{min-height:250px}.daily-words{padding:20px}.daily-words__text{font-size:17px}.composer__actions{flex-direction:column;align-items:stretch}.dish-grid{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:stretch}.section-heading .primary-button{width:100%}.photo-grid{columns:1}.anniversary-hero strong{font-size:58px}.big-heart{display:none}.cycle-summary{flex-direction:column;align-items:flex-start;gap:14px}.calendar-day{min-height:40px;font-size:12px}.settings-modal{border-radius:24px;padding:18px}.settings-modal footer{flex-direction:column-reverse}.settings-modal footer button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}body:has(.arrival-preview){background:#f5f0f5;overflow-y:auto}.arrival-preview{--arrival-ink:#402744;--arrival-rose:#d94f91;--arrival-champagne:#f4dba6;min-height:100vh;color:var(--arrival-ink);background:radial-gradient(circle at 10% 0,#f4cdedb8,#0000 28%),linear-gradient(135deg,#f8f4f8,#fff 54%,#f4edf5);padding:18px}.arrival-preview__toolbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;width:min(100%,1480px);min-height:58px;margin:0 auto 14px;display:grid}.arrival-preview__toolbar a,.arrival-preview__toolbar button{color:#765f79;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;min-height:42px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.arrival-preview__toolbar a{justify-self:start}.arrival-preview__toolbar>div{justify-items:center;gap:3px;display:grid}.arrival-preview__toolbar>div span{letter-spacing:.08em;font-size:13px;font-weight:800}.arrival-preview__toolbar>div small{color:#9d8da0;font-size:10px}.arrival-preview__toolbar>button{background:#ffffffc7;border:1px solid #5d3b621c;border-radius:13px;justify-self:end;padding:0 15px;box-shadow:0 10px 30px #472c4d14}.arrival-preview__toolbar>.arrival-preview__back{box-shadow:none;background:0 0;border:0;justify-self:start;padding:0}.arrival-frame{--tilt-x:0deg;--tilt-y:0deg;contain:layout;isolation:isolate;background:#fbf8fb;border:1px solid #6036641a;border-radius:32px;width:min(100%,1480px);min-height:min(720px,100vh - 185px);margin:0 auto;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 90px #48274c29}.arrival-home{background:linear-gradient(135deg,#fff,#fcf6fb);grid-template-columns:108px 1fr;transition:filter .7s,transform 1.6s cubic-bezier(.16,.8,.2,1);display:grid;position:absolute;inset:0}.arrival-frame.is-playing .arrival-home{filter:saturate(.78)brightness(.82);transform:scale(1.008)}.arrival-sidebar{background:#ffffffc7;border-right:1px solid #5d346114;flex-direction:column;align-items:stretch;gap:16px;padding:26px 13px 18px;display:flex}.arrival-brand{color:#603b65;justify-items:center;gap:7px;font-size:10px;font-weight:800;display:grid}.arrival-brand svg{color:#df5e98}.arrival-pair{color:#c95b90;justify-content:center;align-items:center;height:42px;display:flex}.arrival-pair i{color:#755d78;background:#f4eaf2;border:2px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:9px;font-style:normal;display:grid;box-shadow:0 4px 13px #552a511a}.arrival-pair i:last-child{background:#e8edf0;margin-left:-5px}.arrival-pair svg{z-index:2;margin-left:-5px}.arrival-sidebar nav{flex-direction:column;flex:1;gap:5px;display:flex}.arrival-sidebar nav button,.arrival-settings{color:#9b8a9e;cursor:default;background:0 0;border:0;border-radius:14px;place-items:center;gap:2px;min-height:50px;padding:5px;font-size:9px;display:grid}.arrival-sidebar nav button.active{color:#c54882;background:#f9eaf3;box-shadow:inset 0 0 0 1px #d8488a12}.arrival-settings{width:100%}.arrival-content{min-width:0;padding:clamp(28px,4vw,55px);overflow:hidden}.arrival-page-heading{justify-content:space-between;align-items:flex-start;margin-bottom:26px;display:flex}.arrival-page-heading span{color:#af90aa;letter-spacing:.12em;font-size:10px;font-weight:800}.arrival-page-heading h1{letter-spacing:-.04em;margin:8px 0 4px;font-family:Songti SC,STSong,serif;font-size:clamp(28px,3vw,43px)}.arrival-page-heading p{color:#9c899e;margin:0;font-size:13px}.arrival-page-heading button{color:#735677;background:#fff;border:1px solid #5f37631a;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.arrival-hero{background:#fff;border:1px solid #5c315f14;border-radius:28px;grid-template-columns:.9fr 1.1fr;min-height:360px;display:grid;overflow:hidden;box-shadow:0 18px 50px #522b5017}.arrival-counter{background:linear-gradient(145deg,#fff,#fbeff7);flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,4vw,58px);display:flex}.arrival-counter>span{color:#bc4c83;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.arrival-counter>div{align-items:flex-end;gap:9px;margin:10px 0 0;display:flex}.arrival-counter>div strong{color:#0000;letter-spacing:-.08em;background:linear-gradient(135deg,#842fa6,#dc4e91);-webkit-background-clip:text;background-clip:text;font-size:clamp(68px,7vw,110px);line-height:.9}.arrival-counter>div b{margin-bottom:9px;font-size:23px}.arrival-counter ul{gap:8px;margin:18px 0 12px;padding:0;list-style:none;display:flex}.arrival-counter li{background:#ffffffb8;border-radius:15px;justify-items:center;min-width:70px;padding:10px 16px;display:grid}.arrival-counter li strong{font-size:18px}.arrival-counter li span{color:#aa9bad;font-size:9px}.arrival-counter p{color:#97879b;margin:0 0 18px;font-size:12px}.arrival-counter button{color:#fff;background:linear-gradient(120deg,#9944c6,#df5198);border:0;border-radius:13px;min-height:43px;padding:0 18px;font-weight:800;box-shadow:0 11px 24px #be419138}.arrival-cover{background-image:linear-gradient(90deg,#4b224a14,#0000 30%),url(/default-cover.png);background-position:50%;background-size:cover;min-height:360px;position:relative}.arrival-cover button{color:#57405d;background:#ffffffe6;border:0;border-radius:13px;align-items:center;gap:7px;min-height:42px;padding:0 14px;font-weight:700;display:inline-flex;position:absolute;top:24px;right:24px;box-shadow:0 10px 26px #3821391f}.arrival-words{background:#ffffffd9;border:1px solid #5d336012;border-radius:22px;align-items:center;gap:16px;margin-top:22px;padding:21px 25px;display:flex}.arrival-words i{color:#df5a97;background:#fde9f3;border-radius:50%;place-items:center;width:44px;height:44px;font-style:normal;display:grid}.arrival-words div{gap:5px;display:grid}.arrival-words span,.arrival-lower-grid small{color:#c05288;letter-spacing:.14em;font-size:9px;font-weight:800}.arrival-words p,.arrival-lower-grid p{color:#a596a8;margin:0;font-size:12px}.arrival-lower-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.arrival-lower-grid section{background:#ffffffc7;border:1px solid #5d336012;border-radius:22px;padding:23px}.arrival-lower-grid h2{margin:8px 0;font-size:18px}.arrival-overlay{z-index:20;color:#fff;pointer-events:none;perspective:1100px;position:absolute;inset:0;overflow:hidden}.arrival-overlay:not(.is-opened){opacity:1;visibility:visible;animation:none!important}.arrival-dim{background:radial-gradient(circle at 50% 48%,#4513400d 0 15%,#20081f54 64%,#14041585);animation:7.2s both arrivalDim;position:absolute;inset:0}.arrival-veil{opacity:0;filter:blur(60px)saturate(130%);animation:7.2s both arrivalVeil;position:absolute;inset:-25%}.arrival-veil i{mix-blend-mode:screen;border-radius:50%;width:55%;height:75%;position:absolute}.arrival-veil i:first-child{background:#f96cac57;top:15%;left:0;transform:rotate(18deg)}.arrival-veil i:nth-child(2){background:#f6dea845;top:0;right:0;transform:rotate(-23deg)}.arrival-veil i:nth-child(3){background:#92deda36;bottom:-10%;left:35%}.arrival-light-trails{width:100%;height:100%;filter:url(#trail-glow) hue-rotate(var(--arrival-shift,0deg));transform:scaleX(var(--arrival-mirror,1)) rotate(var(--arrival-turn,0deg));transform-origin:50%;position:absolute;inset:0;overflow:visible}.arrival-light-trails path{fill:none;stroke:url(#arrival-spectrum);stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:10.2s cubic-bezier(.3,.02,.18,1) both arrivalTrail}.arrival-light-trails path:nth-of-type(2){stroke-width:1.1px;animation-delay:.18s}.arrival-light-trails path:nth-of-type(3){stroke-width:1.5px;animation-delay:.36s}.arrival-sculpture{width:440px;height:440px;filter:hue-rotate(var(--arrival-shift,0deg));transform:translate(-50%,-50%) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) rotateZ(var(--arrival-turn,0deg));transform-style:preserve-3d;transition:transform .18s ease-out;position:absolute;top:45%;left:50%}.arrival-home-outline{z-index:2;fill:none;stroke:#ffe7b2;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 13px #ffdb97c7);width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:translateZ(20px)scale(.72)}.arrival-home-outline path{stroke-dasharray:1;stroke-dashoffset:1px;animation:10.2s cubic-bezier(.16,.78,.2,1) both arrivalHomeDraw}.arrival-home-outline .arrival-home-wall{animation-delay:.24s}.arrival-home-outline .arrival-home-door{animation-delay:.46s}.arrival-home-outline .arrival-home-window{animation-delay:.68s}.arrival-home-outline circle{fill:#fff1bd;stroke:none;opacity:0;animation:10.2s both arrivalHomeLight}.arrival-heart{z-index:3;width:100%;height:100%;animation:10.2s cubic-bezier(.16,.78,.2,1) both arrivalHeartPresence;position:absolute;inset:0;overflow:visible;transform:translateZ(70px)rotateY(-4deg)}.arrival-heart path{fill:none;stroke-linecap:round;stroke-linejoin:round}.heart-shadow{stroke:#d84a916b;stroke-width:24px;filter:blur(20px)}.heart-ribbon{stroke:url(#heart-metal);filter:url(#heart-glow);stroke-dasharray:1;stroke-dashoffset:1px}.heart-ribbon--wide{stroke-width:14px;animation:8.7s cubic-bezier(.22,.78,.2,1) .75s both arrivalHeartDraw}.heart-ribbon--fine{stroke:#ffffffeb;stroke-width:2px;animation:8.7s cubic-bezier(.22,.78,.2,1) 1.02s both arrivalHeartDraw}.heart-cross{stroke:#fff5d4d1;stroke-width:3px;stroke-dasharray:1;stroke-dashoffset:1px;filter:url(#heart-glow);animation:8s 1.35s both arrivalHeartDraw}.arrival-rings{transform-style:preserve-3d;animation:10.2s both arrivalRingPresence;position:absolute;inset:15px}.arrival-rings i{border:1px solid #ffeecb57;border-radius:50%;position:absolute;inset:42px;box-shadow:0 0 25px #ffc6e12b}.arrival-rings i:first-child{animation:5.5s linear 1.2s infinite arrivalOrbitA;transform:rotateX(72deg)rotate(12deg)}.arrival-rings i:nth-child(2){border-color:#afe8e461;animation:5.7s linear 1.2s infinite arrivalOrbitB;inset:65px;transform:rotateY(68deg)rotate(-18deg)}.arrival-rings i:nth-child(3){border-style:dashed;animation:7s linear 1s infinite arrivalOrbitA;inset:25px;transform:rotateX(58deg)rotateY(34deg)}.arrival-rings i:nth-child(4){border-color:#ff92be6b;animation:4.8s linear 1.35s infinite arrivalOrbitB;inset:92px;transform:rotateX(35deg)rotateY(74deg)}.arrival-photons{z-index:6;width:1px;height:1px;transform-style:preserve-3d;position:absolute;top:50%;left:50%}.arrival-photons i{width:var(--size);height:var(--size);opacity:0;transform:rotate(var(--angle)) translateX(var(--distance));animation:arrivalPhoton 4.8s var(--delay) cubic-bezier(.2,.75,.2,1) infinite;background:#fff9e8;border-radius:50%;position:absolute;top:0;left:0;box-shadow:0 0 8px #fff,0 0 17px #e962a2}.arrival-copy{z-index:8;text-align:center;width:min(90%,720px);animation:10.2s both arrivalCopy;position:absolute;top:69%;left:50%;transform:translate(-50%)}.arrival-copy>span{color:#fff4d6d6;letter-spacing:.34em;text-shadow:0 2px 16px #41143e73;font-size:9px;font-weight:800}.arrival-copy h1{letter-spacing:.08em;text-shadow:0 8px 34px #310c3070;margin:8px 0 6px;font-family:Songti SC,STSong,serif;font-size:clamp(46px,6vw,82px);font-weight:700;line-height:1}.arrival-copy p{color:#ffffffd9;letter-spacing:.08em;text-shadow:0 3px 15px #29092780;margin:0;font-family:Songti SC,STSong,serif;font-size:clamp(13px,1.5vw,18px)}.arrival-copy>i{background:linear-gradient(90deg,#0000,#fff3d4,#0000);width:80px;height:1px;margin:18px auto 0;display:block;box-shadow:0 0 10px #f0acd1}.arrival-skip{z-index:30;color:#ffffffd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;pointer-events:auto;background:#240d2340;border:1px solid #fff3;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-size:11px;display:inline-flex;position:absolute;top:20px;right:20px}.arrival-progress{z-index:25;transform-origin:0;background:linear-gradient(90deg,#f173ac,#ffe5ae,#aee6e3);width:100%;height:2px;animation:10.2s linear both arrivalProgress;position:absolute;bottom:0;left:0;box-shadow:0 0 12px #ffd8e7b3}.arrival-replay-fab{z-index:8;color:#fff;cursor:pointer;background:#4b2d50;border:0;border-radius:15px;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-weight:800;display:inline-flex;position:absolute;bottom:22px;right:22px;box-shadow:0 14px 35px #4a25493d}@keyframes arrivalDim{0%{opacity:0}12%,78%{opacity:1}to{opacity:0}}@keyframes arrivalVeil{0%,to{opacity:0;transform:scale(.85)rotate(-8deg)}20%,72%{opacity:1;transform:scale(1.05)rotate(4deg)}}@keyframes arrivalTrail{0%{opacity:0;stroke-dashoffset:1px}10%{opacity:1}42%,72%{opacity:.95;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-1px}}@keyframes arrivalHeartPresence{0%,12%{opacity:0;filter:blur(14px);transform:translateZ(-80px)scale(.55)rotateY(-28deg)}30%,74%{opacity:1;filter:blur();transform:translateZ(70px)scale(1)rotateY(-4deg)}to{opacity:0;filter:blur(9px);transform:translateZ(145px)scale(1.12)rotateY(12deg)}}@keyframes arrivalHeartDraw{0%,8%{stroke-dashoffset:1px}42%,74%{stroke-dashoffset:0}to{stroke-dashoffset:-1px}}@keyframes arrivalHomeDraw{0%,12%{opacity:0;stroke-dashoffset:1px}34%,88%{opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-1px}}@keyframes arrivalHomeLight{0%,35%{opacity:0;scale:.3}58%,90%{opacity:1;scale:1.4}to{opacity:0;scale:2}}@keyframes arrivalRingPresence{0%,17%,to{opacity:0;scale:.62}34%,72%{opacity:1;scale:1}}@keyframes arrivalOrbitA{0%{rotate:none}to{rotate:300deg}}@keyframes arrivalOrbitB{0%{rotate:none}to{rotate:-340deg}}@keyframes arrivalPhoton{0%,9%{opacity:0;transform:rotate(var(--angle)) translateX(35px) scale(.2)}28%{opacity:1}70%{opacity:.85;transform:rotate(calc(var(--angle) + 95deg)) translateX(var(--distance)) scale(1)}to{opacity:0;transform:rotate(calc(var(--angle) + 160deg)) translateX(calc(var(--distance) * 1.45)) scale(.1)}}@keyframes arrivalHeartIdle{0%{opacity:.42;filter:blur();transform:translateZ(45px)scale(.86)}to{opacity:.68;filter:blur();transform:translateZ(72px)scale(.92)}}@keyframes arrivalPhotonIdle{0%,to{opacity:.08;scale:.5}50%{opacity:.62;scale:1.35}}@keyframes arrivalCopy{0%,25%{opacity:0;filter:blur(8px);transform:translate(-50%,24px)}38%,76%{opacity:1;filter:blur();transform:translate(-50%)}to{opacity:0;filter:blur(7px);transform:translate(-50%,-16px)}}@keyframes arrivalProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (max-width:900px){.arrival-preview__toolbar{grid-template-columns:1fr auto}.arrival-preview__toolbar>div{display:none}.arrival-home{grid-template-columns:84px 1fr}.arrival-content{padding:30px 24px}.arrival-hero{grid-template-columns:1fr}.arrival-cover{min-height:260px}.arrival-lower-grid{display:none}.arrival-sculpture{width:390px;height:390px}}@media (max-width:620px){.arrival-preview{padding:8px}.arrival-preview__toolbar{min-height:52px;margin-bottom:8px}.arrival-preview__toolbar .arrival-preview__back{font-size:0}.arrival-preview__toolbar .arrival-preview__back svg{width:20px;height:20px}.arrival-preview__toolbar>button{padding:0 11px}.arrival-frame{border-radius:24px;min-height:760px}.arrival-home{padding-bottom:74px;display:block}.arrival-sidebar{z-index:5;border:0;border-radius:20px;flex-direction:row;align-items:center;gap:5px;height:62px;padding:6px;position:absolute;bottom:8px;left:8px;right:8px;box-shadow:0 10px 35px #44234521}.arrival-brand,.arrival-pair,.arrival-settings{display:none}.arrival-sidebar nav{flex-direction:row;gap:2px}.arrival-sidebar nav button{border-radius:13px;flex:1;min-width:0;min-height:50px;padding:4px 2px}.arrival-sidebar nav button:nth-child(n+6){display:none}.arrival-content{padding:24px 15px}.arrival-page-heading{margin-bottom:18px}.arrival-page-heading h1{font-size:30px}.arrival-page-heading p{font-size:11px}.arrival-hero{border-radius:22px;min-height:510px}.arrival-counter{min-height:310px;padding:27px 24px}.arrival-counter>div strong{font-size:76px}.arrival-counter li{min-width:58px;padding:9px 12px}.arrival-cover{min-height:205px}.arrival-cover button{top:13px;right:13px}.arrival-words{margin-top:14px;padding:17px}.arrival-sculpture{width:330px;height:330px;top:43%}.arrival-copy{top:66%}.arrival-copy h1{font-size:52px}.arrival-copy p{max-width:290px;margin-inline:auto;font-size:13px;line-height:1.7}.arrival-light-trails{width:150%;left:-25%}.arrival-skip{top:14px;right:14px}.arrival-replay-fab{bottom:82px;right:14px}}@media (prefers-reduced-motion:reduce){.arrival-overlay.is-opened{animation-duration:10.4s!important}.anniversary-overlay.story-finished,.spring-overlay.spring-finished{animation-duration:5.45s!important}.birthday-overlay.wish-released,.spring-overlay.spring-auto{animation-duration:7.4s!important}.newyear-overlay.year-arrived{animation-duration:6.4s!important}.care-overlay.care-accepted{animation-duration:8.2s!important}.arrival-dim,.arrival-veil,.arrival-light-trails path,.arrival-heart,.arrival-rings,.arrival-copy,.arrival-progress{animation-duration:7.2s!important}.arrival-home-outline path,.arrival-home-outline circle{animation-duration:10.2s!important}.heart-ribbon--wide,.heart-ribbon--fine{animation-duration:6.6s!important}.heart-cross{animation-duration:5.8s!important}.arrival-rings i:first-child{animation-duration:5.5s!important}.arrival-rings i:nth-child(2){animation-duration:5.7s!important}.arrival-rings i:nth-child(3){animation-duration:7s!important}.arrival-rings i:nth-child(4){animation-duration:4.8s!important}.arrival-photons i{animation-duration:4.5s!important}.birthday-overlay:not(.wish-released) .birthday-copy{animation-duration:.72s!important}}.arrival-event-switcher{z-index:40;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border:1px solid #56315b1a;border-radius:18px;grid-template-columns:repeat(6,1fr);gap:6px;width:min(100%,1080px);margin:0 auto 14px;padding:6px;display:grid;position:relative;box-shadow:0 14px 38px #4626491a}.arrival-event-switcher button{color:#99869b;cursor:pointer;background:0 0;border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:48px;padding:6px 10px;transition:color .2s,background .2s,transform .2s;display:flex}.arrival-event-switcher button:hover{color:#5d3d63;background:#faf3f8;transform:translateY(-1px)}.arrival-event-switcher button.active{color:#fff;background:#4c304f;box-shadow:0 9px 22px #4c304f38}.arrival-event-switcher button:disabled{opacity:.36;cursor:not-allowed;transform:none}.arrival-event-switcher button>span{text-align:left;gap:2px;display:grid}.arrival-event-switcher b{font-size:11px}.arrival-event-switcher small{opacity:.62;font-size:8px}.arrival-event-switcher svg{flex:none}.event-overlay{z-index:20;color:#fff;pointer-events:none;perspective:1200px;position:absolute;inset:0;overflow:hidden}.event-overlay .arrival-skip{pointer-events:auto}.arrival-frame>.arrival-home,.arrival-frame>.arrival-overlay,.arrival-frame>.event-overlay{width:100%;min-height:inherit;grid-area:1/1;position:relative;inset:auto}.anniversary-progress,.birthday-progress,.newyear-progress,.spring-progress,.care-progress{z-index:40;transform-origin:0;width:100%;height:2px;animation:7.2s linear both arrivalProgress;position:absolute;bottom:0;left:0}.event-prompt{z-index:32;color:#fff;text-align:center;pointer-events:none;width:min(88%,620px);animation:.75s cubic-bezier(.16,.82,.2,1) both eventPromptIn;position:absolute;top:68%;left:50%;transform:translate(-50%,-50%)}.event-prompt>span{color:#fff1cccc;letter-spacing:.32em;font-size:9px;font-weight:800}.event-prompt h1{margin:10px 0 7px;font-family:Songti SC,STSong,serif;font-size:clamp(37px,5vw,66px);line-height:1.08}.event-prompt p{color:#ffffffb8;margin:0;font-size:12px;line-height:1.75}.event-prompt button{color:#3e263f;cursor:pointer;pointer-events:auto;background:linear-gradient(120deg,#fff,#ffe5c0);border:1px solid #ffffff57;border-radius:3px;align-items:center;gap:8px;min-height:50px;margin-top:20px;padding:0 22px;font-weight:800;display:inline-flex;box-shadow:0 16px 42px #1c051d40}.welcome-prompt{text-shadow:0 4px 20px #300d2e80;top:71%}.welcome-prompt button{color:#fff;background:linear-gradient(120deg,#b33678,#7934a0);box-shadow:0 16px 40px #8e2b7159}.anniversary-prompt{text-align:left;width:min(45%,520px);top:46%;left:7%;transform:translateY(-50%)}.anniversary-prompt button{color:#5a263b;background:linear-gradient(120deg,#fff8e5,#eac77e)}.anniversary-choices{grid-template-columns:1fr 1fr;gap:7px;margin-top:16px;display:grid}.event-prompt .anniversary-choices button{color:#fff5e1b8;min-height:42px;box-shadow:none;background:#41122747;border:1px solid #ffe8c03d;border-radius:3px;justify-content:space-between;margin:0;padding:0 11px;font-size:10px;font-weight:700;display:flex}.event-prompt .anniversary-choices button small{opacity:.55;font-size:8px}.event-prompt .anniversary-choices button.active{color:#59263c;background:#f6dba8;border-color:#f8e7bd}.event-prompt .anniversary-open{margin-top:11px}.newyear-prompt{top:52%}.newyear-prompt button{color:#07172d;background:linear-gradient(120deg,#e5faff,#d8d3ff)}.spring-prompt{text-align:left;width:min(45%,510px);top:48%;left:7%;transform:translateY(-50%)}.spring-prompt button{color:#6e080d;background:linear-gradient(120deg,#fff0bd,#edbd4f)}.care-prompt{text-align:left;width:min(45%,520px);top:49%;left:7%;transform:translateY(-50%)}.care-prompt>span{color:#ffe1c6}.care-prompt button{color:#6e3347;background:linear-gradient(120deg,#fff5e8,#f6c9b5)}.arrival-overlay:not(.is-opened) .arrival-dim{opacity:1;animation:none!important}.arrival-overlay:not(.is-opened) .arrival-veil{opacity:.58;transform:scale(1.02);animation:none!important}.arrival-overlay:not(.is-opened) .arrival-light-trails path{opacity:.18;stroke-dashoffset:0;animation:none!important}.arrival-overlay:not(.is-opened) .arrival-heart{animation:3.8s ease-in-out infinite alternate arrivalHeartIdle!important}.arrival-overlay:not(.is-opened) .heart-ribbon{stroke-dashoffset:0;animation:none!important}.arrival-overlay:not(.is-opened) .heart-cross{stroke-dashoffset:0;opacity:.45;animation:none!important}.arrival-overlay:not(.is-opened) .arrival-rings{opacity:.24;scale:.86;animation:none!important}.arrival-overlay:not(.is-opened) .arrival-rings i:nth-child(odd){animation:12s linear infinite arrivalOrbitA!important}.arrival-overlay:not(.is-opened) .arrival-rings i:nth-child(2n){animation:14s linear infinite arrivalOrbitB!important}.arrival-overlay:not(.is-opened) .arrival-photons i{animation:arrivalPhotonIdle 3.6s var(--delay) ease-in-out infinite!important}.arrival-overlay:not(.is-opened) .arrival-home-outline path,.arrival-overlay:not(.is-opened) .arrival-home-outline circle{opacity:.1;stroke-dashoffset:0;animation:none!important}.arrival-overlay:not(.is-opened) .arrival-copy,.arrival-overlay:not(.is-opened) .arrival-progress{display:none}.anniversary-overlay:not(.story-open) .anniversary-wash{opacity:1;animation:none!important}.anniversary-overlay:not(.story-open) .anniversary-threads path{opacity:.22;stroke-dashoffset:0;animation:none!important}.anniversary-overlay:not(.story-open) .anniversary-date{opacity:.48;transform:none;animation:none!important}.anniversary-overlay:not(.story-open) .memory-orbit figure,.anniversary-overlay:not(.story-open) .anniversary-copy,.anniversary-overlay:not(.story-open) .anniversary-progress{display:none}.birthday-overlay:not(.wish-released) .birthday-night{opacity:1;animation:none!important}.birthday-overlay:not(.wish-released) .birthday-constellation path{opacity:.45;transform:none;animation:none!important}.birthday-overlay:not(.wish-released) .prism-crown i{opacity:.32;scale:.78;animation:none!important}.birthday-overlay:not(.wish-released) .ribbon-cake{opacity:1;filter:none;transform:translate(-50%)rotateX(58deg)rotate(-4deg)scale(.92);animation:none!important}.birthday-overlay:not(.wish-released) .birthday-copy{animation:.72s cubic-bezier(.16,.82,.2,1) both birthdayCopySwap!important}.birthday-overlay:not(.wish-released) .birthday-progress{display:none}.newyear-overlay:not(.counting) .newyear-ink{opacity:1;animation:none!important}.newyear-overlay:not(.counting) .edge-beams,.newyear-overlay:not(.counting) .liquid-count,.newyear-overlay:not(.counting) .number-reflection,.newyear-overlay:not(.counting) .newyear-copy,.newyear-overlay:not(.counting) .newyear-progress{display:none}.spring-overlay:not(.spring-open) .spring-paper{opacity:1;animation:none!important}.spring-overlay:not(.spring-open) .spring-ink path{opacity:.18;stroke-dashoffset:0;animation:none!important}.spring-overlay:not(.spring-open) .lantern-depth>i{opacity:.55;transform:translateY(0)rotate(1deg);animation:none!important}.spring-overlay:not(.spring-open) .paper-cut-seal{opacity:.42;transform:translateY(-50%)scale(.86);animation:none!important}.spring-overlay:not(.spring-open) .spring-dust i{opacity:.35;animation:none!important}.spring-overlay:not(.spring-open) .spring-couplet,.spring-overlay:not(.spring-open) .spring-copy,.spring-overlay:not(.spring-open) .spring-progress{display:none}.spring-overlay.spring-open .spring-paper{opacity:1;animation:none!important}.spring-overlay.spring-open:not(.spring-auto):not(.spring-finished){opacity:1;visibility:visible;animation:none!important}.care-overlay:not(.care-accepted) .care-warmth{opacity:1;animation:none!important}.care-overlay:not(.care-accepted) .care-petals i{opacity:.18;animation:none!important}.care-overlay:not(.care-accepted) .thermal-orbit{opacity:.38;transform:translate(-50%,-50%)scale(.88);animation:none!important}.care-overlay:not(.care-accepted) .care-steam i{opacity:.2;animation:none!important}.care-overlay:not(.care-accepted) .care-words,.care-overlay:not(.care-accepted) .care-progress{display:none}.anniversary-wash{background:linear-gradient(110deg,#2b071ab8,#5c183580 44%,#f3dfc347);animation:7.2s both anniversaryWash;position:absolute;inset:0}.anniversary-threads{filter:drop-shadow(0 0 7px #fadca68c);width:100%;height:100%;position:absolute;inset:0}.anniversary-threads path{fill:none;stroke:url(#thread-gold);stroke-width:1.6px;stroke-dasharray:1;stroke-dashoffset:1px;animation:7.2s cubic-bezier(.2,.78,.2,1) both anniversaryThread}.anniversary-threads path:last-child{stroke-width:.8px;opacity:.7;animation-delay:.2s}.anniversary-date{z-index:5;color:#f5d59e;text-align:center;grid-template-columns:auto auto auto;align-items:center;gap:9px;animation:7.2s both anniversaryDate;display:grid;position:absolute;top:11%;right:6%}.anniversary-date>span{letter-spacing:.32em;grid-column:1/-1;font-size:9px;font-weight:800}.anniversary-date strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(52px,7vw,94px);font-weight:400;line-height:.8}.anniversary-date i{background:linear-gradient(#0000,#f3d59c,#0000);width:1px;height:60px;rotate:22deg}.anniversary-date small{color:#ffefd5a8;letter-spacing:.2em;grid-column:1/-1;font-family:Songti SC,STSong,serif}.memory-orbit{z-index:7;transform-style:preserve-3d;position:absolute;inset:0}.memory-orbit figure{--offset-x:calc((var(--i) - 2) * 34px);left:var(--x);top:var(--y);aspect-ratio:.77;opacity:0;width:clamp(120px,14vw,205px);transform:translate3d(var(--offset-x),90px,-160px) rotate(var(--r)) scale(.64);animation:7.2s cubic-bezier(.18,.76,.2,1) both memoryPanel;animation-delay:calc(var(--i) * .11s);background:#f7efe4;border:1px solid #fffaecd1;margin:0;padding:9px 9px 13px;position:absolute;box-shadow:0 25px 70px #14040f59}.memory-slice{filter:saturate(.7)sepia(.16)contrast(.94);background-image:linear-gradient(#52133514,#5213351a),url(/default-cover.png);background-size:380%;width:100%;height:75%}.memory-slice--1{background-position:5% 54%}.memory-slice--2{background-position:28% 46%}.memory-slice--3{background-position:52% 52%}.memory-slice--4{background-position:76% 48%}.memory-slice--5{background-position:96% 53%}.memory-orbit figcaption{color:#57283c;gap:2px;padding:7px 3px 0;display:grid}.memory-orbit figcaption b{font-family:Songti SC,STSong,serif;font-size:14px}.memory-orbit figcaption span{color:#977386;letter-spacing:.08em;font-size:8px}.anniversary-copy{z-index:10;max-width:500px;animation:7.2s both anniversaryCopy;position:absolute;bottom:9%;left:6%}.anniversary-copy>span{color:#efcd90;letter-spacing:.3em;font-size:9px;font-weight:800}.anniversary-copy h1{margin:10px 0 8px;font-family:Songti SC,STSong,serif;font-size:clamp(32px,4vw,57px);font-weight:700;line-height:1.14}.anniversary-copy h1 em{color:#f3c887;font-style:normal;font-weight:400}.anniversary-copy p{color:#ffeee0b8;margin:0;font-size:12px}.anniversary-progress{background:linear-gradient(90deg,#6e173e,#f3cd8e,#fff5dd)}.birthday-night{background:radial-gradient(circle at 68% 44%,#625bb43d,#0000 25%),linear-gradient(120deg,#050c1fe0,#0e193bc2 55%,#52265b7a);animation:7.2s both birthdayNight;position:absolute;inset:0}.birthday-constellation{opacity:.48;width:100%;height:100%;position:absolute;inset:0}.birthday-constellation path{fill:none;stroke:#bedeff5c;stroke-width:1px;stroke-dasharray:5 9;animation:7.2s both constellationDrift}.birthday-constellation circle{fill:#fff9d5;filter:drop-shadow(0 0 7px #fff);animation:1.4s ease-in-out infinite alternate constellationStar}.wish-prism{z-index:7;width:410px;height:440px;transform:translateY(-50%) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;position:absolute;top:50%;right:10%}.prism-aura{filter:blur(38px);background:conic-gradient(from 90deg,#65d2ff33,#f582d940,#ffe2924d,#65d2ff33);border-radius:50%;animation:4s linear infinite prismAura;position:absolute;inset:8%}.prism-crown{width:1px;height:1px;transform-style:preserve-3d;position:absolute;top:46%;left:50%}.prism-crown i{transform-origin:50% 100%;width:2px;height:150px;transform:rotate(calc(var(--i) * 30deg)) translateY(-95px);animation:prismRay 7.2s calc(var(--i) * 35ms) ease both;background:linear-gradient(#0000,#ffffffd1);position:absolute;bottom:0;left:-1px;box-shadow:0 0 12px #83d3ffbf}.ribbon-cake{width:330px;height:310px;transform-style:preserve-3d;animation:7.2s cubic-bezier(.17,.8,.2,1) both ribbonCake;position:absolute;bottom:7%;left:50%;transform:translate(-50%)rotateX(58deg)rotate(-4deg)}.cake-orbit{transform:translate(-50%,-50%) translateZ(var(--z));border:12px solid #ffb2dc;border-color:#ffb2dc #8de4ff #ffe3a1 #0000;border-radius:50%;animation:4s linear infinite cakeRibbonSpin;position:absolute;top:50%;left:50%;box-shadow:0 0 18px #ffb8dd59,inset 0 0 15px #74dcff38}.cake-orbit--base{--z:-45px;width:310px;height:210px}.cake-orbit--middle{--z:12px;width:235px;height:155px;animation-direction:reverse}.cake-orbit--top{--z:68px;width:160px;height:105px}.wish-candle{z-index:5;background:repeating-linear-gradient(135deg,#fff 0 7px,#e19cc6 7px 13px);border-radius:5px;width:11px;height:85px;position:absolute;top:20%;left:50%;transform:translate(-50%)translateZ(150px)rotateX(-58deg);box-shadow:0 4px 14px #ffffff4d}.wish-candle i{background:linear-gradient(#fff9dc,#ffc75e 60%,#ff78a7);border-radius:70% 30%;width:22px;height:36px;animation:.7s ease-in-out infinite alternate candleAlive;position:absolute;top:-35px;left:50%;transform:translate(-50%)rotate(42deg);box-shadow:0 0 16px #ffe49c,0 0 42px #f083cc}.wish-candle b{background:#422133;width:1px;height:10px;position:absolute;top:-8px;left:50%}.birthday-overlay .birthday-copy{z-index:10;text-align:left;width:min(45%,500px);max-width:500px;animation:7.2s both birthdayCopy;position:absolute;inset:25% auto auto 7%}.birthday-copy>span{color:#a8dfff;letter-spacing:.3em;font-size:9px;font-weight:800}.birthday-copy h1{margin:13px 0 10px;font-family:Songti SC,STSong,serif;font-size:clamp(37px,5vw,66px);line-height:1.1}.birthday-copy h1 em{color:#0000;background:linear-gradient(90deg,#ffbfe1,#ffeab4,#9de9ff);-webkit-background-clip:text;background-clip:text;font-style:normal}.birthday-copy p{color:#e0eeffb3;margin:0;font-size:12px}.birthday-overlay--ribbon-step .birthday-copy h1,.birthday-overlay--record .birthday-copy h1{letter-spacing:.02em;font-family:STKaiti,KaiTi,serif}.birthday-overlay--light-gate .birthday-copy,.birthday-overlay--aurora .birthday-copy{top:21%}.birthday-overlay--light-gate .birthday-copy h1,.birthday-overlay--aurora .birthday-copy h1{letter-spacing:.04em;font-weight:400}.birthday-overlay--year-rings .birthday-copy h1,.birthday-overlay--clock .birthday-copy h1{font-family:Georgia,Songti SC,serif;font-size:clamp(35px,4.5vw,61px)}.birthday-overlay--crystal .birthday-copy h1 em,.birthday-overlay--comet .birthday-copy h1 em{background:linear-gradient(90deg,#9ff4ff,#fff3c5,#bba9ff);-webkit-background-clip:text;background-clip:text}.birthday-overlay--crown .birthday-copy h1 em,.birthday-overlay--bloom .birthday-copy h1 em{background:linear-gradient(90deg,#ffe49f,#ffb8d9,#fff5d7);-webkit-background-clip:text;background-clip:text}.birthday-overlay--archive .birthday-copy{width:min(42%,470px)}.birthday-overlay--archive .birthday-copy h1{font-family:STKaiti,KaiTi,serif;font-weight:400}.wish-action{z-index:30;color:#0c1830;cursor:pointer;pointer-events:auto;background:linear-gradient(120deg,#dff8ff,#ffe1f2,#fff0c2);border:1px solid #c2e6ff59;border-radius:3px;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-weight:800;display:inline-flex;position:absolute;top:63%;left:7%;box-shadow:0 12px 35px #66bae92e}.wish-action:disabled{cursor:default}.wish-released .wish-candle i{opacity:0;transition:all .35s;transform:translate(-50%)translateY(-20px)scale(.2)}.wish-released .wish-action{pointer-events:none;animation:.8s 6.6s forwards wishConfirmExit}.wish-burst{z-index:10;width:1px;height:1px;position:absolute;top:45%;left:50%}.wish-burst i{transform-origin:50% 100%;background:linear-gradient(#0000,#fff8d2);border-radius:999px;width:3px;height:26px;animation:1.8s ease-out both wishBurst;position:absolute}.birthday-progress{background:linear-gradient(90deg,#4e8eff,#f08dcc,#ffe1a0)}.newyear-ink{background:radial-gradient(#0b264e59,#010713d6),linear-gradient(115deg,#040d1fd1,#0b132eb8);animation:7.2s both newyearInk;position:absolute;inset:0}.edge-beams i{transform-origin:0;background:linear-gradient(90deg,#0000,#7bdbff,#ff7bd3,#0000);width:38vw;height:1px;animation:7.2s both edgeBeam;position:absolute;box-shadow:0 0 16px #6cd3ffb8}.edge-beams i:first-child{top:20%;left:0;rotate:22deg}.edge-beams i:nth-child(2){top:18%;right:-5%;rotate:158deg}.edge-beams i:nth-child(3){bottom:18%;left:-4%;rotate:-18deg}.edge-beams i:nth-child(4){bottom:20%;right:-8%;rotate:198deg}.liquid-count{z-index:8;justify-items:center;animation:7.2s cubic-bezier(.16,.82,.2,1) both liquidCount;display:grid;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.liquid-count span{color:#0000;-webkit-text-stroke:2px #cceeffd9;filter:drop-shadow(0 0 22px #56caff6b);letter-spacing:-.08em;background:linear-gradient(#fff 0,#8cdbff 34%,#e389ff 68%,#fff 100%);-webkit-background-clip:text;background-clip:text;font-family:Georgia,Times New Roman,serif;font-size:clamp(160px,25vw,360px);line-height:.72}.year-arrived .liquid-count span{letter-spacing:-.05em;font-size:clamp(105px,18vw,260px)}.liquid-count i{color:#cfe8ffc2;letter-spacing:.34em;margin-top:34px;font-size:9px;font-style:normal;font-weight:800}.number-reflection{z-index:3;color:#0000;-webkit-text-stroke:1px #77d1ff38;transform-origin:50% 0;filter:blur(4px);opacity:.46;font-family:Georgia,serif;font-size:clamp(160px,25vw,360px);line-height:.72;position:absolute;top:54%;left:50%;transform:translate(-50%)rotateX(76deg)scaleY(-.8)}.edge-fireworks>span{left:var(--x);top:var(--y);width:1px;height:1px;position:absolute}.edge-fireworks>span i{transform-origin:50% 100%;width:3px;height:18px;animation:edgeFirework 2s var(--delay) ease-out both;background:linear-gradient(#0000,#82ddff,#ff95da);border-radius:999px;position:absolute;box-shadow:0 0 6px #8fe8ff}.newyear-overlay .newyear-copy{z-index:10;text-align:left;width:auto;max-width:430px;animation:7.2s both newyearCopy;position:absolute;inset:auto auto 8% 6%}.newyear-copy>span{color:#8edfff;letter-spacing:.28em;font-size:9px;font-weight:800}.newyear-copy h1{margin:8px 0 5px;font-family:Songti SC,STSong,serif;font-size:clamp(31px,4vw,55px)}.newyear-copy p{color:#d3e7f9ad;margin:0;font-size:11px}.newyear-progress{background:linear-gradient(90deg,#48bfff,#a76fff,#ff78c6)}.spring-paper{background:radial-gradient(circle at 73% 48%,#ffc75933,#0000 26%),linear-gradient(110deg,#4d0004e8,#980e14ba 62%,#430005b3);animation:7.2s both springPaper;position:absolute;inset:0}.spring-paper:after{content:"";opacity:.18;background-image:repeating-radial-gradient(circle at 20% 30%,#ffd97a 0 1px,#0000 1px 5px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 42%,#0000);mask-image:linear-gradient(90deg,#0000,#000 42%,#0000)}.spring-ink{filter:drop-shadow(0 0 12px #ffbd4440);width:100%;height:100%;position:absolute;inset:0}.spring-ink path{fill:none;stroke:url(#ink-red);stroke-width:44px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;opacity:.78;animation:7.2s cubic-bezier(.17,.82,.2,1) both springInk}.spring-ink path:last-child{stroke-width:5px;stroke:#f6cf75;animation-delay:.18s}.lantern-depth{z-index:5;position:absolute;inset:0}.lantern-depth>i{top:-12px;left:calc(5% + var(--i) * 18%);color:#6c0007;transform-origin:50% -45px;width:58px;height:82px;animation:lanternArrive 7.2s calc(var(--i) * 90ms) ease both;background:linear-gradient(90deg,#a80b12,#f0b343,#b00b13);border-radius:47% 47% 43% 43%;place-items:center;display:grid;position:absolute;box-shadow:0 15px 36px #23000052,inset 0 0 0 3px #ffd6713d}.lantern-depth>i:nth-child(2n){opacity:.75;top:7%;scale:.7}.lantern-depth>i:before{content:"";background:#e7b85c;width:1px;height:70px;position:absolute;bottom:100%;left:50%}.lantern-depth>i span{background:#f7c960;border-radius:50%;height:5px;position:absolute;left:8px;right:8px}.lantern-depth>i span:first-child{top:-2px}.lantern-depth>i span:last-child{bottom:-2px}.lantern-depth>i b{background:#f3cb75;border-radius:50%;place-items:center;width:30px;height:30px;font-family:STKaiti,KaiTi,serif;font-size:17px;display:grid}.paper-cut-seal{z-index:6;border:2px solid #ffd36fc2;border-radius:50%;width:390px;height:390px;animation:7.2s both paperSeal;position:absolute;top:50%;right:9%;transform:translateY(-50%)}.paper-cut-seal:before,.paper-cut-seal:after{content:"";border:1px dashed #ffd36f70;border-radius:50%;position:absolute;inset:17px}.paper-cut-seal:after{border-style:solid;border-radius:2px;inset:47px;transform:rotate(45deg)}.paper-cut-seal b{color:#f6d177;text-shadow:0 8px 30px #2d000059;place-items:center;font-family:STKaiti,KaiTi,serif;font-size:150px;font-weight:400;display:grid;position:absolute;inset:0}.paper-cut-seal i,.paper-cut-seal span,.paper-cut-seal em{border:1px solid #ffd36f59;position:absolute;inset:77px;transform:rotate(22.5deg)}.paper-cut-seal span{transform:rotate(67.5deg)}.paper-cut-seal em{border-radius:50%;inset:110px;transform:none}.spring-dust i{z-index:9;left:var(--x);top:var(--y);width:var(--size);height:var(--size);animation:springDust 3.2s var(--delay) ease-in-out infinite alternate;background:#ffe39a;border-radius:50%;position:absolute;box-shadow:0 0 9px #ffc95e}.spring-couplet{z-index:10;align-items:center;gap:19px;animation:7.2s both springCouplet;display:flex;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.spring-couplet span{color:#f5d68c;letter-spacing:.2em;border-top:1px solid #f2c86b;border-bottom:1px solid #f2c86b;padding:7px 14px;font-family:STKaiti,KaiTi,serif;font-size:13px}.spring-couplet i{color:#fff1c6;letter-spacing:.3em;font-family:STKaiti,KaiTi,serif;font-size:20px;font-style:normal}.spring-overlay .spring-copy{z-index:10;text-align:left;width:min(45%,500px);max-width:500px;animation:7.2s both springCopy;position:absolute;inset:31% auto auto 7%}.spring-copy>span{color:#efc663;letter-spacing:.3em;font-size:9px;font-weight:800}.spring-copy h1{margin:11px 0 8px;font-family:STKaiti,KaiTi,serif;font-size:clamp(43px,6vw,76px);font-weight:400;line-height:1.1}.spring-copy h1 em{color:#f3ce76;font-style:normal}.spring-copy p{color:#ffebc3ad;max-width:390px;margin:0;font-size:11px;line-height:1.8}.spring-progress{background:linear-gradient(90deg,#7c070d,#f2c96f,#fff0b8)}.care-warmth{background:radial-gradient(circle at 68% 47%,#ffe1b57a,#0000 23%),linear-gradient(112deg,#5b283cc7,#b95b6f9e 54%,#eeae9070);animation:7.2s both careWarmth;position:absolute;inset:0}.care-warmth:after{content:"";opacity:.24;background:repeating-radial-gradient(at 68% 47%,#0000 0 35px,#ffeecb47 36px 37px,#0000 38px 68px);position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 68% 47%,#000,#0000 58%);mask-image:radial-gradient(circle at 68% 47%,#000,#0000 58%)}.care-petals i{z-index:7;left:var(--x);top:var(--y);width:var(--size);height:calc(var(--size) * .68);transform:rotate(var(--r));animation:carePetal 7.2s var(--delay) cubic-bezier(.18,.72,.2,1) both;background:linear-gradient(135deg,#ffe5d1,#f4a8b8);border-radius:80% 20% 70% 30%;position:absolute;box-shadow:0 0 9px #ffd8c28c}.thermal-orbit{z-index:8;width:390px;height:390px;transform-style:preserve-3d;animation:7.2s cubic-bezier(.16,.82,.2,1) both thermalBloom;position:absolute;top:47%;left:68%;transform:translate(-50%,-50%)}.thermal-orbit>i{border:1px solid #ffedcd99;border-radius:50%;animation:2.6s ease-in-out infinite alternate thermalPulse;position:absolute;box-shadow:0 0 25px #ffb99e33}.thermal-orbit>i:first-child{inset:12px}.thermal-orbit>i:nth-child(2){border-style:dashed;animation-delay:.35s;inset:52px}.thermal-orbit>i:nth-child(3){animation-delay:.7s;inset:91px}.thermal-orbit>span{color:#fff0d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(145deg,#ffe2c16b,#cd647e52);border-radius:42% 58% 56% 44%;place-items:center;display:grid;position:absolute;inset:118px;transform:rotate(45deg)translateZ(50px);box-shadow:inset 0 0 0 1px #ffffff6b,0 25px 60px #531b3040}.thermal-orbit>span svg{filter:drop-shadow(0 7px 16px #6f1f3e40);transform:rotate(-45deg)}.care-steam{z-index:6;width:220px;height:160px;position:absolute;bottom:11%;right:13%}.care-steam i{filter:blur(1px);background:linear-gradient(#0000,#fff2daa6,#0000);border-radius:50%;width:2px;height:120px;animation:3.4s ease-in-out infinite careSteam;position:absolute;bottom:0}.care-steam i:first-child{left:28%}.care-steam i:nth-child(2){animation-delay:.6s;left:50%}.care-steam i:nth-child(3){animation-delay:1.2s;left:72%}.care-words{z-index:10;width:min(44%,500px);animation:7.2s both careWords;position:absolute;top:27%;left:7%}.care-words>span{color:#ffe0be;letter-spacing:.3em;font-size:9px;font-weight:800}.care-words h1{margin:12px 0 17px;font-family:Songti SC,STSong,serif;font-size:clamp(44px,6vw,76px);line-height:1.04}.care-words h1 em{color:#ffd6b4;font-style:normal;font-weight:400}.care-words>div{flex-wrap:wrap;gap:8px;display:flex}.care-words b{color:#fff0df;background:#5b243a38;border:1px solid #ffeccf40;border-radius:999px;padding:7px 11px;font-size:9px;font-weight:700}.care-words p{color:#ffebdbb3;margin:16px 0 0;font-size:11px}.care-progress{background:linear-gradient(90deg,#b95b77,#ffd0a7,#fff0d4)}@keyframes eventOverlayLife{0%{opacity:0}8%,83%{opacity:1}to{opacity:0}}@keyframes eventPromptIn{0%{opacity:0;filter:blur(9px)}to{opacity:1;filter:blur()}}@keyframes anniversaryWash{0%,to{opacity:0}12%,82%{opacity:1}}@keyframes anniversaryThread{0%{stroke-dashoffset:1px;opacity:0}12%{opacity:1}54%,82%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-1px;opacity:0}}@keyframes anniversaryDate{0%,18%{opacity:0;filter:blur(8px);transform:translateY(-28px)}34%,82%{opacity:1;filter:blur();transform:none}to{opacity:0;transform:translateY(-12px)}}@keyframes memoryPanel{0%,14%{opacity:0;transform:translate3d(var(--offset-x),90px,-160px) rotate(var(--r)) scale(.64);filter:blur(8px)}35%,78%{opacity:1;transform:translate3d(0,0,calc((var(--i) - 2) * 22px)) rotate(var(--r)) scale(1);filter:blur()}to{opacity:0;transform:translate3d(calc(var(--offset-x) * -1),-40px,120px) rotate(calc(var(--r) + 4deg)) scale(1.08);filter:blur(5px)}}@keyframes anniversaryCopy{0%,30%{opacity:0;transform:translate(-28px)}43%,82%{opacity:1;transform:none}to{opacity:0;transform:translateY(-15px)}}@keyframes birthdayNight{0%,to{opacity:0}10%,84%{opacity:1}}@keyframes birthdayCopySwap{0%{opacity:0;filter:blur(9px);transform:translate(-26px,12px)}to{opacity:1;filter:blur();transform:none}}@keyframes constellationDrift{0%{opacity:0;transform:translateY(20px)}24%,82%{opacity:1;transform:none}to{opacity:0;transform:translateY(-14px)}}@keyframes constellationStar{to{opacity:.25;scale:.55}}@keyframes prismAura{to{rotate:360deg}}@keyframes prismRay{0%,18%{opacity:0;scale:.2}38%,82%{opacity:.75;scale:1}to{opacity:0;scale:1.3}}@keyframes ribbonCake{0%,16%{opacity:0;filter:blur(12px);transform:translate(-50%)translateY(90px)rotateX(70deg)scale(.6)}36%,84%{opacity:1;filter:blur();transform:translate(-50%)translateY(0)rotateX(58deg)rotate(-4deg)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-25px)rotateX(52deg)scale(1.08)}}@keyframes cakeRibbonSpin{to{rotate:360deg}}@keyframes candleAlive{to{transform:translate(-50%)rotate(35deg)scale(.9,1.08)}}@keyframes birthdayCopy{0%,25%{opacity:0;filter:blur(7px);transform:translateY(25px)}40%,84%{opacity:1;filter:blur();transform:none}to{opacity:0;transform:translateY(-14px)}}@keyframes wishBurst{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) scaleY(.2)}70%{opacity:1;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1)) scaleY(1)}to{opacity:0;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1.2)) scaleY(.05)}}@keyframes wishConfirmExit{0%,45%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes newyearInk{0%,to{opacity:0}8%,86%{opacity:1}}@keyframes edgeBeam{0%,12%{opacity:0;scale:0}34%,80%{opacity:.82;scale:1}to{opacity:0;scale:1.3}}@keyframes liquidCount{0%{opacity:0;filter:blur(18px);transform:translate(-50%,-50%)scale(.5)}15%,78%{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1)}to{opacity:0;filter:blur(6px);transform:translate(-50%,-54%)scale(1.05)}}@keyframes edgeFirework{0%{opacity:0;transform:rotate(var(--angle)) translateY(0) scaleY(.1)}16%{opacity:1}60%{opacity:1;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1)) scaleY(1)}to{opacity:0;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1.25)) scaleY(.05)}}@keyframes newyearCopy{0%,34%{opacity:0;transform:translateY(18px)}48%,86%{opacity:1;transform:none}to{opacity:0}}@keyframes springPaper{0%,to{opacity:0}11%,85%{opacity:1}}@keyframes springInk{0%{stroke-dashoffset:1px;opacity:0}12%{opacity:1}55%,85%{stroke-dashoffset:0;opacity:.8}to{stroke-dashoffset:-1px;opacity:0}}@keyframes lanternArrive{0%,12%{opacity:0;transform:translateY(-140px)rotate(-8deg)}34%,82%{opacity:1;transform:translateY(0)rotate(2deg)}to{opacity:0;transform:translateY(-20px)rotate(-2deg)}}@keyframes paperSeal{0%,18%{opacity:0;filter:blur(10px);transform:translateY(-50%)rotate(-30deg)scale(.5)}38%,84%{opacity:1;filter:blur();transform:translateY(-50%)rotate(0)scale(1)}to{opacity:0;transform:translateY(-50%)rotate(18deg)scale(1.08)}}@keyframes springDust{to{opacity:.18;transform:translateY(-16px)scale(.6)}}@keyframes springCouplet{0%,38%{opacity:0;transform:translate(-50%,20px)}52%,86%{opacity:1;transform:translate(-50%)}to{opacity:0}}@keyframes springCopy{0%,26%{opacity:0;filter:blur(7px);transform:translate(-25px)}42%,85%{opacity:1;filter:blur();transform:none}to{opacity:0;transform:translateY(-15px)}}@keyframes careWarmth{0%{opacity:.5;filter:saturate(.7)}18%,84%{opacity:1;filter:saturate()}to{opacity:0;filter:saturate(.8)}}@keyframes carePetal{0%,8%{opacity:0;transform:translateY(40px) rotate(var(--r)) scale(.4)}28%,78%{opacity:.72;transform:translateY(-12px) rotate(calc(var(--r) + 90deg)) scale(1)}to{opacity:0;transform:translateY(-95px) rotate(calc(var(--r) + 210deg)) scale(.6)}}@keyframes thermalBloom{0%{opacity:.25;filter:blur(10px);transform:translate(-50%,-50%)scale(.72)}25%,84%{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1)}to{opacity:0;filter:blur(7px);transform:translate(-50%,-50%)scale(1.12)}}@keyframes thermalPulse{to{opacity:.38;scale:.92}}@keyframes careSteam{0%{opacity:0;transform:translateY(35px)rotate(-7deg)scaleY(.6)}35%{opacity:.55}to{opacity:0;transform:translateY(-45px)rotate(8deg)scaleY(1.3)}}@keyframes careWords{0%,22%{opacity:0;filter:blur(7px);transform:translateY(22px)}38%,84%{opacity:1;filter:blur();transform:none}to{opacity:0;transform:translateY(-15px)}}@media (max-height:620px) and (min-width:621px){.arrival-preview{min-height:auto}.arrival-frame{min-height:540px}.anniversary-prompt,.spring-prompt{top:50%}}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :before,.app-shell :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@media (max-width:900px){.arrival-event-switcher{width:min(100%,720px)}.arrival-event-switcher small{display:none}.memory-orbit figure{width:145px}.memory-orbit figure:nth-child(4),.memory-orbit figure:nth-child(5){display:none}.anniversary-date{right:5%}.wish-prism{right:2%;scale:.85}.birthday-overlay .birthday-copy{left:5%}.birthday-copy h1{font-size:36px}.paper-cut-seal{right:-4%;scale:.82}.spring-copy h1{font-size:44px}.thermal-orbit{left:72%;scale:.82}}@media (max-width:620px){.arrival-event-switcher{border-radius:15px;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin-bottom:8px;padding:4px}.arrival-event-switcher button{justify-items:center;gap:2px;min-height:45px;padding:4px 2px;display:grid}.arrival-event-switcher button>span{text-align:center;display:block}.arrival-event-switcher b{font-size:8px}.arrival-frame{min-height:660px}.anniversary-date{top:8%;right:5%}.anniversary-date strong{font-size:49px}.memory-orbit figure{width:122px}.memory-orbit figure:first-child{top:29%!important;left:7%!important}.memory-orbit figure:nth-child(2){top:26%!important;left:56%!important}.memory-orbit figure:nth-child(3){top:46%!important;left:31%!important}.anniversary-copy{bottom:11%;left:7%;right:7%}.anniversary-copy h1{font-size:35px}.wish-prism{width:330px;height:360px;top:44%;left:50%;right:auto;transform:translate(-50%,-50%)}.birthday-overlay .birthday-copy{text-align:center;width:auto;top:8%;left:7%;right:7%}.birthday-copy h1{margin-top:8px;font-size:38px}.wish-action{white-space:nowrap;top:auto;bottom:9%;left:50%;transform:translate(-50%)}.liquid-count{top:42%}.liquid-count span{font-size:180px}.year-arrived .liquid-count span{font-size:105px}.number-reflection{font-size:180px;top:49%}.newyear-overlay .newyear-copy{text-align:center;width:auto;bottom:9%;left:7%;right:7%}.paper-cut-seal{width:300px;height:300px;top:48%;right:50%;transform:translate(50%,-50%)}.paper-cut-seal b{font-size:115px}.spring-overlay .spring-copy{text-align:center;width:auto;top:8%;left:7%;right:7%}.spring-copy h1{margin-top:6px;font-size:41px}.spring-copy p{display:none}.lantern-depth>i{width:42px;height:59px}.spring-couplet{white-space:nowrap;gap:8px;bottom:8%}.spring-couplet span{padding:5px 6px;font-size:9px}.spring-couplet i{font-size:13px}.event-prompt{text-align:center;width:auto;top:68%;left:7%;right:7%;transform:translateY(-50%)}.event-prompt h1{font-size:36px}.anniversary-prompt,.spring-prompt{text-align:center;width:auto;top:62%;left:7%}.newyear-prompt{top:54%}.spring-overlay:not(.spring-open) .paper-cut-seal{transform:translate(50%,-50%)scale(.82)}.care-prompt{text-align:center;width:auto;top:66%;left:7%}.thermal-orbit{width:310px;height:310px;top:44%;left:50%;scale:.76}.care-words{text-align:center;width:auto;top:9%;left:7%;right:7%}.care-words h1{margin-top:7px;font-size:42px}.care-words>div{justify-content:center}.care-steam{bottom:5%;right:50%;transform:translate(50%)}}@media (prefers-reduced-motion:reduce){.event-overlay,.anniversary-wash,.anniversary-threads path,.anniversary-date,.memory-orbit figure,.anniversary-copy,.birthday-night,.birthday-constellation path,.prism-crown i,.ribbon-cake,.birthday-copy,.newyear-ink,.edge-beams i,.liquid-count,.newyear-copy,.spring-paper,.spring-ink path,.lantern-depth>i,.paper-cut-seal,.spring-couplet,.spring-copy,.care-warmth,.care-petals i,.thermal-orbit,.care-words,.anniversary-progress,.birthday-progress,.newyear-progress,.spring-progress,.care-progress{animation-duration:7.2s!important}.prism-aura,.cake-orbit{animation-duration:4s!important}.wish-candle i{animation-duration:.7s!important}.birthday-constellation circle{animation-duration:1.4s!important}.spring-dust i{animation-duration:3.2s!important}.edge-fireworks>span i{animation-duration:2s!important}.wish-burst i{animation-duration:1.8s!important}.thermal-orbit>i{animation-duration:2.6s!important}.care-steam i{animation-duration:3.4s!important}}.anniversary-overlay{background:#231326;transition:background .45s}.anniversary-overlay.anniversary-met{background:radial-gradient(circle,#fff4dd24,#0000 22%),linear-gradient(135deg,#061d31,#102a43 47%,#31192c)}.anniversary-overlay.anniversary-dating{background:linear-gradient(110deg,#321124,#6f2948 55%,#b16d76)}.anniversary-overlay.anniversary-wedding{background:radial-gradient(circle at 68% 45%,#fff4d2d9,#0000 20%),linear-gradient(118deg,#102d2b,#1c4a42 48%,#d6c39a)}.anniversary-overlay.anniversary-custom{background:radial-gradient(circle at 70% 43%,#5ce0e533,#0000 25%),linear-gradient(120deg,#12112f,#292454 57%,#51335f)}.anniversary-template{animation:8.8s both anniversaryTemplateLife;position:absolute;inset:0;overflow:hidden}.anniversary-preview-mark{z-index:5;color:#ffffffd1;text-align:right;opacity:.62;justify-items:end;gap:7px;width:min(38%,430px);display:grid;position:absolute;top:50%;right:7%;transform:translateY(-50%)}.anniversary-preview-mark:before{content:"";opacity:.12;border:1px solid;border-radius:50%;width:min(34vw,360px);height:min(34vw,360px);position:absolute;top:50%;right:0;transform:translateY(-50%);box-shadow:0 0 80px #ffffff1f}.anniversary-preview-mark span{letter-spacing:.28em;font-size:9px;font-weight:800}.anniversary-preview-mark strong{letter-spacing:-.06em;font-family:Georgia,Times New Roman,serif;font-size:clamp(65px,10vw,142px);font-weight:400;line-height:.85}.anniversary-preview-mark small{letter-spacing:.12em;border:1px solid #fff3;border-radius:999px;padding:7px 11px;font-size:9px}.anniversary-dating .anniversary-preview-mark{color:#f9d59c}.anniversary-wedding .anniversary-preview-mark{color:#f8e7bd}.anniversary-custom .anniversary-preview-mark{color:#bff8f2}.anniversary-progress{z-index:45;animation-duration:8.8s}.met-template{background-image:linear-gradient(#a8daff0e 1px,#0000 1px),linear-gradient(90deg,#a8daff0e 1px,#0000 1px);background-size:42px 42px}.met-template:before{content:"";background:radial-gradient(circle,#fff7da38,#0000 13%),linear-gradient(90deg,#06192b73,#0000 42% 58%,#31182a6b);position:absolute;inset:0}.met-map{z-index:3;filter:drop-shadow(0 0 10px #c2e4ff57);width:100%;height:100%;position:absolute;inset:0}.met-route{fill:none;stroke-width:3px;stroke-dasharray:1;stroke-dashoffset:1px;animation:8.8s cubic-bezier(.15,.78,.18,1) both metRoute}.met-route--a{stroke:url(#met-line-a)}.met-route--b{stroke:url(#met-line-b);animation-delay:.28s}.met-pulse{fill:#fff7d7;stroke:#fffc;stroke-width:2px;filter:url(#met-glow);opacity:0;transform-origin:600px 360px;animation:8.8s 1.75s both metPulse}.met-pulse--outer{fill:none;stroke:#ffefcb80}.met-person{z-index:6;color:#e3f3ffbf;opacity:0;align-items:center;gap:10px;animation:8.8s cubic-bezier(.17,.8,.2,1) both metTraveler;display:flex;position:absolute}.met-person i{color:#d9f1ff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#68b2da29;border:1px solid #d2ebff8c;border-radius:50%;place-items:center;width:49px;height:49px;font-style:normal;font-weight:800;display:grid;box-shadow:0 0 30px #7dcdff29}.met-person span{letter-spacing:.12em;font-size:9px}.met-person--a{top:19%;left:12%}.met-person--b{color:#ffdce9c2;flex-direction:row-reverse;bottom:15%;right:12%}.met-person--b i{color:#ffe1eb;background:#d35e8b26;border-color:#ffcfe28c}.met-moment{z-index:8;text-align:center;opacity:0;justify-items:center;gap:7px;animation:8.8s 1.5s both metMoment;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.met-moment small{color:#fff4d69e;letter-spacing:.3em;font-size:8px}.met-moment strong{color:#fff8dd;text-shadow:0 0 32px #ffeec56b;font-family:Georgia,Times New Roman,serif;font-size:clamp(52px,7vw,95px);font-weight:400;line-height:1}.met-moment span{color:#ffeeddb8;letter-spacing:.18em;font-family:Songti SC,STSong,serif;font-size:11px}.met-copy{z-index:9;opacity:0;max-width:430px;animation:8.8s 2.1s both metCopy;position:absolute;bottom:7%;left:6%}.met-copy>span{color:#9edfff;letter-spacing:.3em;font-size:8px;font-weight:800}.met-copy h1{margin:10px 0 7px;font-family:Songti SC,STSong,serif;font-size:clamp(31px,4vw,55px);line-height:1.12}.met-copy h1 em{color:#ffc7d9;font-style:normal;font-weight:400}.met-copy p{color:#dfeffa9e;margin:0;font-size:10px}.dating-template .anniversary-wash{background:linear-gradient(110deg,#2b071ab8,#5c183580 44%,#f3dfc347)}.wedding-template{color:#fff9e8;background:linear-gradient(110deg,#082725e6,#12493ec2 55%,#6c553375)}.wedding-template:before{content:"";background:radial-gradient(circle at 70% 44%,#fff5d24d,#0000 23%);animation:8.8s both weddingLight;position:absolute;inset:0}.wedding-architecture{z-index:2;opacity:.6;border:1px solid #f6e3b633;border-bottom:0;border-radius:50% 50% 0 0/16% 16% 0 0;position:absolute;inset:5% 4%}.wedding-architecture i{background:linear-gradient(#0000,#fae7b738,#0000);width:1px;position:absolute;top:0;bottom:0}.wedding-architecture i:first-child{left:18%}.wedding-architecture i:nth-child(2){left:34%}.wedding-architecture i:nth-child(3){left:50%}.wedding-architecture i:nth-child(4){left:66%}.wedding-architecture i:nth-child(5){left:82%}.wedding-veil{z-index:5;filter:drop-shadow(0 16px 30px #051b1833);background:repeating-linear-gradient(88deg,#fffcede0 0 2%,#efe4c961 3% 7%,#fffff7c7 8% 11%);width:54%;position:absolute;top:-8%;bottom:-8%}.wedding-veil:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);position:absolute;inset:0}.wedding-veil--left{transform-origin:0;animation:8.8s cubic-bezier(.18,.82,.16,1) both weddingVeilLeft;left:-4%}.wedding-veil--right{transform-origin:100%;animation:8.8s cubic-bezier(.18,.82,.16,1) both weddingVeilRight;right:-4%}.wedding-door{z-index:4;perspective:800px;opacity:0;border:1px solid #ffeab866;border-radius:50% 50% 2px 2px/22% 22% 2px 2px;width:34%;height:76%;animation:8.8s 1.35s both weddingDoor;position:absolute;top:12%;right:12%;box-shadow:inset 0 0 70px #ffeec721,0 0 80px #ffe2a526}.wedding-door>span{background:linear-gradient(90deg,#092c27b8,#ffefca12);border:1px solid #ffecc047;width:50%;position:absolute;top:0;bottom:0}.wedding-door>span:first-child{transform-origin:0;animation:8.8s 2s both vowPanelLeft;left:0}.wedding-door>span:nth-child(2){transform-origin:100%;animation:8.8s 2s both vowPanelRight;right:0}.wedding-door b{background:linear-gradient(#0000,#fff2c4,#0000);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 20px #ffe9ae}.wedding-rings{z-index:8;opacity:0;width:210px;height:130px;animation:8.8s cubic-bezier(.18,.82,.2,1) 2.45s both weddingRings;position:absolute;top:44%;right:20%;transform:translate(50%,-50%)}.wedding-rings i{border:8px solid #f4d58d;border-radius:50%;width:104px;height:104px;position:absolute;top:14px;box-shadow:inset 0 0 0 2px #ffffffb3,0 8px 30px #f7d27b47}.wedding-rings i:first-child{left:11px;transform:rotateY(28deg)}.wedding-rings i:nth-child(2){border-color:#fff2c9;right:11px;transform:rotateY(-28deg)}.wedding-rings span{color:#fff1c999;font-family:Georgia,serif;font-size:27px;position:absolute;bottom:-25px;left:50%;transform:translate(-50%)}.wedding-vow{z-index:9;opacity:0;width:min(45%,520px);animation:8.8s 2.1s both weddingVow;position:absolute;top:22%;left:7%}.wedding-vow small{color:#e8cd8d;letter-spacing:.31em;font-size:8px;font-weight:800}.wedding-vow h1{margin:15px 0 18px;font-family:Songti SC,STSong,serif;font-size:clamp(41px,5.5vw,72px);font-weight:500;line-height:1.08}.wedding-vow h1 em{color:#f2d490;font-style:normal}.wedding-vow>div{color:#fff6dcbf;letter-spacing:.12em;align-items:center;gap:10px;font-size:9px;display:flex}.wedding-vow>div i{background:#f4da9c80;width:30px;height:1px}.wedding-vow p{color:#edf4e294;max-width:390px;margin:17px 0 0;font-size:10px;line-height:1.8}.wedding-seal{z-index:10;color:#f8dfa4;letter-spacing:.12em;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07272357;border:1px solid #ffebbb52;align-items:center;gap:8px;padding:9px 13px;font-size:9px;animation:8.8s 3.1s both weddingSeal;display:flex;position:absolute;bottom:7%;right:7%}.custom-template{color:#f2f0ff;background:radial-gradient(circle at 69% 44%,#4de1e133,#0000 22%),linear-gradient(120deg,#0d0c29f0,#282256c7 58%,#4c2e57a6)}.capsule-grid{opacity:.16;transform-origin:50% 100%;background-image:linear-gradient(#a4ebef40 1px,#0000 1px),linear-gradient(90deg,#a4ebef40 1px,#0000 1px);background-size:58px 58px;position:absolute;inset:0;transform:perspective(600px)rotateX(61deg)scale(1.35)translateY(13%)}.time-capsule{z-index:6;filter:drop-shadow(0 36px 60px #00000052);width:220px;height:390px;animation:8.8s cubic-bezier(.18,.8,.2,1) both capsuleArrive;position:absolute;top:50%;right:17%;transform:translate(50%,-50%)rotate(12deg)}.capsule-glass{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:linear-gradient(100deg,#ffffff1f,#5befe514 55%,#fff3);border:1px solid #c6fcfab3;border-radius:7px 7px 90px 90px;position:absolute;inset:72px 20px 20px;overflow:hidden;box-shadow:inset 14px 0 28px #ffffff1a,inset -8px 0 20px #47d3da1a,0 0 38px #4adbde26}.capsule-glass:before{content:"";filter:blur(2px);background:linear-gradient(#ffffff9e,#0000);border-radius:50%;width:10px;position:absolute;top:10%;bottom:18%;left:13%}.capsule-lid{z-index:3;transform-origin:100%;background:linear-gradient(90deg,#564f91,#9ddcdf,#5b4e8e);border:1px solid #c4f7f58c;border-radius:10px 10px 3px 3px;height:56px;animation:8.8s cubic-bezier(.17,.82,.2,1) 1.65s both capsuleLid;position:absolute;top:38px;left:7px;right:7px;box-shadow:0 10px 25px #0a082357}.capsule-lid i{border:1px solid #ffffff59;border-radius:5px;position:absolute;inset:11px 18px}.capsule-glass>i{background:linear-gradient(135deg,#fcc6ff75,#53dfe259);border:1px solid #dafff880;width:45px;height:45px;animation:3s ease-in-out infinite alternate capsuleMemory;position:absolute;bottom:28px;transform:rotate(45deg);box-shadow:0 0 16px #72dfe838}.capsule-glass>i:first-child{left:22px}.capsule-glass>i:nth-child(2){animation-delay:.3s;bottom:55px;left:74px}.capsule-glass>i:nth-child(3){animation-delay:.6s;bottom:26px;right:18px}.capsule-glass>i:nth-child(4){animation-delay:.9s;bottom:108px;left:39px}.capsule-glass>i:nth-child(5){animation-delay:1.2s;bottom:126px;right:33px}.capsule-glass>span{border:1px solid #ffe8f4b3;border-radius:50%;width:66px;height:66px;position:absolute;top:22%;left:50%;transform:translate(-50%);box-shadow:0 0 28px #ffb2dd38}.capsule-glass>span:before{content:"♥";color:#ffd1e6;place-items:center;font-size:24px;display:grid;position:absolute;inset:0}.capsule-particles{z-index:7;width:1px;height:1px;position:absolute;top:31%;right:17%}.capsule-particles i{opacity:0;transform-origin:50% 100%;width:4px;height:13px;animation:capsuleParticle 8.8s calc(1.7s + var(--i) * 45ms) ease both;background:linear-gradient(#0000,#b9ffff,#ffc5e5);border-radius:999px;position:absolute;box-shadow:0 0 8px #9ff4ef}.capsule-label{z-index:8;opacity:0;width:min(48%,540px);animation:8.8s 2s both capsuleCopy;position:absolute;top:23%;left:7%}.capsule-label small{color:#a7f1ec;letter-spacing:.3em;font-size:8px;font-weight:800}.capsule-label h1{margin:15px 0 10px;font-family:Songti SC,STSong,serif;font-size:clamp(39px,5vw,68px);line-height:1.1}.capsule-label p{color:#ddddffa3;margin:0;font-size:11px}.capsule-label>div{gap:7px;margin-top:20px;display:flex}.capsule-label>div span{color:#c7f4f0;background:#36316947;border:1px solid #b8f1ef38;border-radius:999px;padding:7px 10px;font-size:8px}.capsule-ticket{z-index:9;color:#c8f8f2;opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(90deg,#342f66a6,#69427073);border:1px solid #baf5f059;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;min-width:280px;padding:12px 14px;animation:8.8s 2.75s both capsuleTicket;display:grid;position:absolute;bottom:8%;left:7%;box-shadow:0 18px 44px #05041b38}.capsule-ticket b{font-family:Georgia,serif;font-size:17px;font-weight:400}.capsule-ticket span{color:#e7e0ff9e;letter-spacing:.12em;font-size:8px}@keyframes anniversaryTemplateLife{0%{opacity:0}7%,88%{opacity:1}to{opacity:0}}@keyframes metRoute{0%,8%{stroke-dashoffset:1px;opacity:0}30%,86%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-1px;opacity:0}}@keyframes metPulse{0%,8%{opacity:0;scale:.25}25%,78%{opacity:1;scale:1}88%{opacity:.4;scale:1.8}to{opacity:0;scale:2.5}}@keyframes metTraveler{0%,8%{opacity:0;filter:blur(6px);transform:translateY(24px)}27%,83%{opacity:1;filter:blur();transform:none}to{opacity:0;transform:translateY(-12px)}}@keyframes metMoment{0%,10%{opacity:0;filter:blur(12px);scale:.7}27%,82%{opacity:1;filter:blur();scale:1}to{opacity:0;filter:blur(5px);scale:1.08}}@keyframes metCopy{0%,10%{opacity:0;transform:translate(-24px)}30%,84%{opacity:1;transform:none}to{opacity:0;transform:translateY(-12px)}}@keyframes weddingLight{0%{opacity:.2}28%,86%{opacity:1}to{opacity:0}}@keyframes weddingVeilLeft{0%,9%{transform:translate(0)skew(-2deg)}34%,86%{transform:translate(-88%)skew(5deg)}to{opacity:0;transform:translate(-105%)}}@keyframes weddingVeilRight{0%,9%{transform:translate(0)skew(2deg)}34%,86%{transform:translate(88%)skew(-5deg)}to{opacity:0;transform:translate(105%)}}@keyframes weddingDoor{0%,8%{opacity:0;filter:blur(10px);scale:.82}30%,86%{opacity:1;filter:blur();scale:1}to{opacity:0;scale:1.05}}@keyframes vowPanelLeft{0%,12%{transform:rotateY(0)}42%,to{transform:rotateY(-74deg)}}@keyframes vowPanelRight{0%,12%{transform:rotateY(0)}42%,to{transform:rotateY(74deg)}}@keyframes weddingRings{0%,10%{opacity:0;filter:blur(8px);transform:translate(50%,-38%)scale(.5)rotate(-18deg)}31%,84%{opacity:1;filter:blur();transform:translate(50%,-50%)scale(1)}to{opacity:0;transform:translate(50%,-58%)scale(1.12)}}@keyframes weddingVow{0%,10%{opacity:0;filter:blur(7px);transform:translateY(26px)}29%,86%{opacity:1;filter:blur();transform:none}to{opacity:0;transform:translateY(-15px)}}@keyframes weddingSeal{0%,10%{opacity:0;transform:translate(24px)}30%,85%{opacity:1;transform:none}to{opacity:0}}@keyframes capsuleArrive{0%,7%{opacity:0;filter:blur(12px);transform:translate(50%,-36%)rotate(-17deg)scale(.62)}27%,86%{opacity:1;filter:blur();transform:translate(50%,-50%)rotate(12deg)scale(1)}to{opacity:0;transform:translate(50%,-58%)rotate(2deg)scale(1.08)}}@keyframes capsuleLid{0%,10%{transform:translate(0)rotate(0)}35%,to{transform:translate(44px,-52px)rotate(38deg)}}@keyframes capsuleMemory{to{filter:hue-rotate(25deg);translate:0 -12px;rotate:70deg}}@keyframes capsuleParticle{0%,12%{opacity:0;transform:rotate(var(--angle)) translateY(0) scaleY(.2)}28%,70%{opacity:.88;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1)) scaleY(1)}to{opacity:0;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1.45)) scaleY(.1)}}@keyframes capsuleCopy{0%,10%{opacity:0;filter:blur(7px);transform:translate(-25px)}30%,85%{opacity:1;filter:blur();transform:none}to{opacity:0;transform:translateY(-14px)}}@keyframes capsuleTicket{0%,12%{opacity:0;transform:translateY(20px)}32%,85%{opacity:1;transform:none}to{opacity:0}}@media (max-width:900px){.wedding-door{width:38%;right:7%}.wedding-rings{right:17%;scale:.86}.time-capsule,.capsule-particles{right:14%}}@media (max-width:620px){.anniversary-preview-mark{text-align:center;justify-items:center;width:auto;top:24%;left:7%;right:7%}.anniversary-preview-mark strong{font-size:72px}.anniversary-preview-mark:before{width:210px;height:210px;right:50%;transform:translate(50%,-50%)}.anniversary-prompt{top:65%}.anniversary-prompt h1{font-size:31px}.anniversary-prompt p{font-size:9px;line-height:1.45}.anniversary-choices{gap:5px;margin-top:10px}.event-prompt .anniversary-choices button{min-height:37px;font-size:8px}.event-prompt .anniversary-open{min-height:43px;margin-top:8px}.met-person--a{top:22%;left:5%}.met-person--b{bottom:23%;right:5%}.met-person span{display:none}.met-moment{width:92%;top:45%}.met-moment strong{font-size:55px}.met-copy{text-align:center;bottom:8%;left:7%;right:7%}.met-copy h1{font-size:31px}.met-copy p{display:none}.dating-template .anniversary-date{top:7%}.dating-template .anniversary-copy{text-align:center;bottom:8%}.wedding-door{width:64%;height:54%;top:20%;right:50%;transform:translate(50%)}.wedding-rings{top:43%;right:50%;scale:.72}.wedding-vow{text-align:center;width:auto;top:6%;left:6%;right:6%}.wedding-vow h1{margin:8px 0;font-size:36px}.wedding-vow>div{justify-content:center}.wedding-vow p{display:none}.wedding-seal{white-space:nowrap;bottom:6%;right:50%;translate:50%}.time-capsule{top:45%;right:50%;scale:.72}.capsule-particles{top:30%;right:50%}.capsule-label{text-align:center;width:auto;top:6%;left:6%;right:6%}.capsule-label h1{margin:8px 0;font-size:35px}.capsule-label>div{justify-content:center;margin-top:9px}.capsule-ticket{min-width:270px;bottom:6%;left:50%;translate:-50%}}.newyear-overlay.counting .newyear-ink{animation:26.4s both newyearInkLong}.newyear-overlay.counting .liquid-count{animation:26.4s cubic-bezier(.16,.82,.2,1) both newyearCountStay}.newyear-overlay.counting .liquid-count>span{animation:.68s cubic-bezier(.16,.82,.2,1) both newyearDigitTick}.newyear-overlay.counting .number-reflection{animation:26.4s both newyearReflectionStay}.newyear-overlay.counting .newyear-copy{animation:26.4s both newyearCopyStay}.newyear-overlay.counting .edge-beams i,.newyear-overlay .newyear-progress{animation-duration:26.4s}@keyframes newyearInkLong{0%{opacity:.65}5%,95%{opacity:1}to{opacity:0}}@keyframes newyearCountStay{0%{opacity:0;filter:blur(9px);transform:translate(-50%,-50%)scale(.82)}4%,92%{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1)}to{opacity:0;filter:blur(7px);transform:translate(-50%,-54%)scale(1.06)}}@keyframes newyearDigitTick{0%{opacity:.25;filter:blur(6px);transform:translateY(18px)scale(.9)}55%,to{opacity:1;filter:blur();transform:none}}@keyframes newyearReflectionStay{0%{opacity:0}8%,92%{opacity:.46}to{opacity:0}}@keyframes newyearCopyStay{0%,5%{opacity:0;transform:translateY(18px)}10%,93%{opacity:1;transform:none}to{opacity:0}}.care-overlay{--care-a:#e8a3bc;--care-b:#f7d5c4;--care-c:#67384c}.care-overlay .care-warmth{background:radial-gradient(circle at 69% 46%,color-mix(in srgb,var(--care-b) 56%,transparent),transparent 25%),linear-gradient(118deg,color-mix(in srgb,var(--care-c) 88%,#1e1424),color-mix(in srgb,var(--care-a) 62%,#4e263b) 58%,color-mix(in srgb,var(--care-b) 48%,#8b5361))}.cycle-care-visual{z-index:8;width:360px;height:360px;transform:translateY(-50%) rotate(var(--care-turn));transform-style:preserve-3d;opacity:.72;position:absolute;top:50%;right:10%}.cycle-care-visual:before{content:"";border-radius:var(--care-radius);background:linear-gradient(145deg,color-mix(in srgb,var(--care-b) 48%,transparent),color-mix(in srgb,var(--care-a) 28%,transparent));box-shadow:inset 0 0 0 1px #ffffff61,0 28px 80px color-mix(in srgb,var(--care-c) 42%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:careMorph var(--care-speed) ease-in-out infinite alternate;position:absolute;inset:15%}.cycle-care-visual>span{z-index:3;color:#fff7ed;text-shadow:0 10px 35px color-mix(in srgb,var(--care-c) 74%,transparent);transform:rotate(calc(var(--care-turn) * -1));animation:careSigil calc(var(--care-speed) + 1.1s) ease-in-out infinite alternate;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:84px;font-weight:400;line-height:1;display:grid;position:absolute;inset:27%}.cycle-care-visual>small{z-index:4;color:#fff7ebad;letter-spacing:.28em;transform:translateX(-50%) rotate(calc(var(--care-turn) * -1));white-space:nowrap;font-size:8px;font-weight:800;position:absolute;bottom:9%;left:50%}.cycle-orbits{position:absolute;inset:0}.cycle-orbits i{inset:calc(var(--i) * 27px);border:1px solid color-mix(in srgb,var(--care-b) calc(56% - var(--i) * 7%),transparent);border-radius:calc(38% + var(--i) * 4%) calc(62% - var(--i) * 3%) 52% 48%;box-shadow:0 0 calc(12px + var(--i) * 4px) color-mix(in srgb,var(--care-a) 18%,transparent);animation:careOrbit calc(var(--care-speed) + var(--i) * .55s) calc(var(--i) * -.3s) linear infinite;position:absolute}.cycle-streams{z-index:7;width:1px;height:1px;position:absolute;top:47%;right:25%}.cycle-streams i{background:linear-gradient(transparent,var(--care-b),var(--care-a));width:3px;height:22px;box-shadow:0 0 8px color-mix(in srgb,var(--care-b) 55%,transparent);opacity:0;transform-origin:50% 100%;animation:careStream calc(var(--care-speed) + .9s) calc(var(--i) * 85ms) ease-out infinite;border-radius:999px;position:absolute}.care-day-trace{z-index:11;grid-template-columns:repeat(30,1fr);gap:4px;display:grid;position:absolute;bottom:5%;left:7%;right:7%}.care-day-trace i{background:#fff4ec24;border-radius:999px;height:2px}.care-day-trace i.active{background:var(--care-b);height:4px;box-shadow:0 0 12px var(--care-a);margin-top:-1px}.care-overlay .care-words{width:min(46%,540px);animation:8.2s both careDayWords;top:22%}.care-overlay .care-words>span{color:var(--care-b)}.care-overlay .care-words h1{color:#fffaf4;max-width:540px;margin:12px 0 11px;font-size:clamp(39px,5vw,68px)}.care-overlay .care-words>p{color:#fff2e8b3;max-width:490px;margin:0 0 17px;font-size:11px;line-height:1.8}.care-overlay .care-words>div{margin:0}.care-overlay .care-words>div b{border-color:color-mix(in srgb,var(--care-b) 25%,transparent);background:color-mix(in srgb,var(--care-c) 35%,transparent)}.care-overlay .care-words>small{color:#ffefe273;letter-spacing:.08em;margin-top:17px;font-size:8px;display:block}.care-day-picker{grid-template-columns:40px 1fr 40px;align-items:center;gap:8px;width:min(100%,380px);margin:13px 0 0;display:grid}.event-prompt .care-day-picker button{color:#fff2e8;min-height:38px;box-shadow:none;background:#49233661;border-radius:50%;justify-content:center;margin:0;padding:0;font-size:15px}.care-day-picker label{color:#fff2e8c2;grid-template-columns:auto 1fr;align-items:center;gap:8px;font-size:9px;display:grid}.care-day-picker label b{white-space:nowrap}.care-day-picker input{width:100%;accent-color:var(--care-b)}.event-prompt .care-accept{color:var(--care-c);background:linear-gradient(120deg,#fff8ee,var(--care-b));margin-top:12px}.care-overlay .care-progress{background:linear-gradient(90deg,var(--care-c),var(--care-a),var(--care-b));animation-duration:8.2s}.care-overlay:not(.care-accepted) .cycle-care-visual{opacity:.34;transform:translateY(-50%) rotate(var(--care-turn)) scale(.88)}.care-overlay:not(.care-accepted) .cycle-care-visual:before,.care-overlay:not(.care-accepted) .cycle-care-visual>span,.care-overlay:not(.care-accepted) .cycle-orbits i,.care-overlay:not(.care-accepted) .cycle-streams i{animation-play-state:paused}.care-overlay:not(.care-accepted) .care-day-trace{opacity:.38}.care-overlay.care-accepted .cycle-care-visual{animation:8.2s cubic-bezier(.16,.82,.2,1) both careVisualArrive}@keyframes careMorph{to{border-radius:57% 45% 61% 39%;transform:scale(.94)rotate(16deg)}}@keyframes careSigil{to{translate:0 calc(var(--care-sway) * -1);filter:drop-shadow(0 0 15px var(--care-b));scale:1.08}}@keyframes careOrbit{to{rotate:360deg;scale:.94}}@keyframes careStream{0%{opacity:0;transform:rotate(var(--angle)) translateY(0) scaleY(.2)}24%,64%{opacity:.85;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1)) scaleY(1)}to{opacity:0;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1.35)) scaleY(.1)}}@keyframes careVisualArrive{0%,8%{opacity:0;transform:translateY(-42%) rotate(calc(var(--care-turn) - 28deg)) scale(.56);filter:blur(12px)}30%,84%{opacity:1;transform:translateY(-50%) rotate(var(--care-turn)) scale(1);filter:blur()}to{opacity:0;transform:translateY(-58%) rotate(calc(var(--care-turn) + 18deg)) scale(1.12);filter:blur(8px)}}@keyframes careDayWords{0%,18%{opacity:0;filter:blur(7px);transform:translate(-24px)}36%,85%{opacity:1;filter:blur();transform:none}to{opacity:0;transform:translateY(-14px)}}@media (max-width:620px){.cycle-care-visual{width:290px;height:290px;transform:translate(50%,-50%) rotate(var(--care-turn)) scale(.82);top:45%;right:50%}.care-overlay:not(.care-accepted) .cycle-care-visual{transform:translate(50%,-50%) rotate(var(--care-turn)) scale(.7)}.cycle-streams{top:43%;right:50%}.care-overlay .care-words{text-align:center;width:auto;top:7%;left:6%;right:6%}.care-overlay .care-words h1{margin:7px auto;font-size:35px}.care-overlay .care-words>p{margin:0 auto 8px;font-size:9px;line-height:1.5}.care-overlay .care-words>div{justify-content:center}.care-overlay .care-words>small{display:none}.care-day-trace{gap:2px;bottom:4%;left:5%;right:5%}.care-prompt{top:68%}.care-prompt h1{font-size:31px}.care-prompt p{font-size:9px;line-height:1.45}.care-day-picker{margin:9px auto 0}.event-prompt .care-accept{min-height:42px;margin-top:8px}.care-overlay.care-accepted .cycle-care-visual{animation-name:careVisualArriveMobile}}@keyframes careVisualArriveMobile{0%,8%{opacity:0;transform:translate(50%,-42%) rotate(calc(var(--care-turn) - 28deg)) scale(.5);filter:blur(12px)}30%,84%{opacity:1;transform:translate(50%,-50%) rotate(var(--care-turn)) scale(.82);filter:blur()}to{opacity:0;transform:translate(50%,-58%) rotate(calc(var(--care-turn) + 18deg)) scale(.94);filter:blur(8px)}}@media (prefers-reduced-motion:reduce){.anniversary-template,.met-route,.met-pulse,.met-person,.met-moment,.met-copy,.wedding-template:before,.wedding-veil,.wedding-door,.wedding-door>span,.wedding-rings,.wedding-vow,.wedding-seal,.time-capsule,.capsule-lid,.capsule-particles i,.capsule-label,.capsule-ticket,.care-overlay.care-accepted .cycle-care-visual,.care-overlay .care-words,.care-overlay .care-progress{animation-duration:8.2s!important}.anniversary-template,.met-route,.met-pulse,.met-person,.met-moment,.met-copy,.wedding-template:before,.wedding-veil,.wedding-door,.wedding-door>span,.wedding-rings,.wedding-vow,.wedding-seal,.time-capsule,.capsule-lid,.capsule-particles i,.capsule-label,.capsule-ticket{animation-duration:8.8s!important}.cycle-care-visual:before,.cycle-care-visual>span,.cycle-orbits i,.cycle-streams i{animation-duration:var(--care-speed)!important}.newyear-overlay.counting .newyear-ink,.newyear-overlay.counting .liquid-count,.newyear-overlay.counting .number-reflection,.newyear-overlay.counting .newyear-copy,.newyear-overlay.counting .edge-beams i,.newyear-overlay .newyear-progress{animation-duration:26.4s!important}.newyear-overlay.counting .liquid-count>span{animation-duration:.68s!important}}.smart-template-visual{z-index:4;color:#fff;pointer-events:none;isolation:isolate;position:absolute;inset:0;overflow:hidden}.sv-backdrop{background:radial-gradient(circle at calc(50% + var(--sv-mirror) * 18%) 46%,hsl(var(--sv-accent-hue) 76% 66%/.28),transparent 27%),linear-gradient(125deg,hsl(var(--sv-hue) 48% 13%/.86),hsl(var(--sv-accent-hue) 43% 25%/.7));position:absolute;inset:0}.sv-geometry{width:100%;height:100%;translate:var(--sv-offset-x) var(--sv-offset-y);rotate:var(--sv-rotation);scale:calc(var(--sv-mirror) * var(--sv-scale-x)) var(--sv-scale-y);transform-style:preserve-3d;position:absolute;inset:0}.sv-piece,.sv-core{will-change:transform,opacity}.sv-template-meta{z-index:12;text-align:right;text-shadow:0 5px 25px #00000061;justify-items:end;gap:4px;display:grid;position:absolute;bottom:6%;right:5%}.sv-template-meta small{color:hsl(var(--sv-accent-hue) 82% 82%);letter-spacing:.26em;font-size:8px;font-weight:800}.sv-template-meta strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,6vw,86px);font-weight:400;line-height:.88}.sv-template-meta span{color:#ffffffad;letter-spacing:.12em;font-size:9px}.sv-convergence path{fill:none;stroke:hsl(var(--sv-accent-hue) 88% 80%);stroke-width:2px;filter:drop-shadow(0 0 9px hsl(var(--sv-accent-hue) 90% 65%))}.sv-convergence path:nth-child(2){stroke:hsl(var(--sv-hue) 88% 78%)}.sv-convergence .sv-core{fill:#fff4d7;filter:drop-shadow(0 0 24px #fff0b3)}.sv-orbit{place-items:center;display:grid}.sv-orbit .sv-ring{width:calc(120px + var(--i) * 58px);height:calc(120px + var(--i) * 38px);border:1px solid hsl(calc(var(--sv-hue) + var(--i) * 13) 80% 80%/.52);transform:rotate(calc(var(--i) * 23deg)) rotateX(calc(48deg + var(--i) * 3deg));box-shadow:0 0 22px hsl(var(--sv-accent-hue) 80% 65%/.12);border-radius:50%;position:absolute}.sv-orbit .sv-core{background:radial-gradient(circle,#fff,hsl(var(--sv-accent-hue) 90% 72%));width:78px;height:78px;box-shadow:0 0 55px hsl(var(--sv-accent-hue) 90% 70%/.7);border-radius:50%}.sv-portal{perspective:900px;justify-content:center;align-items:center;display:flex}.sv-portal .sv-door{border:1px solid hsl(var(--sv-accent-hue) 80% 82%/.7);background:linear-gradient(90deg,hsl(var(--sv-hue) 55% 18%/.8),hsl(var(--sv-accent-hue) 70% 70%/.13));width:25%;height:70%;box-shadow:inset 0 0 60px hsl(var(--sv-accent-hue) 80% 70%/.12)}.sv-portal .sv-door:first-child{transform-origin:0;border-radius:45% 0 0;rotate:y -35deg}.sv-portal .sv-door:nth-child(2){transform-origin:100%;border-radius:0 45% 0 0;rotate:y 35deg}.sv-portal .sv-core{background:#fff3c3;width:2px;height:68%;position:absolute;box-shadow:0 0 30px #fff0aa}.sv-capsule{place-items:center;display:grid}.sv-capsule .sv-core{border:1px solid hsl(var(--sv-accent-hue) 90% 88%/.7);background:linear-gradient(110deg,#ffffff2e,hsl(var(--sv-hue) 70% 55%/.08));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);border-radius:24px 24px 94px 94px;width:190px;height:330px;box-shadow:inset 15px 0 25px #ffffff1f,0 30px 70px #0000004d}.sv-capsule .sv-memory-chip{left:calc(50% - 72px + var(--i) * 16px);top:calc(30% + var(--i) * 30px);background:hsl(calc(var(--sv-accent-hue) + var(--i) * 8) 75% 70%/.34);width:35px;height:35px;transform:rotate(calc(16deg + var(--i) * 21deg));border:1px solid #ffffff80;position:absolute}.sv-aurora{overflow:hidden}.sv-aurora .sv-light-band{left:-15%;top:calc(3% + var(--i) * 12%);background:linear-gradient(90deg,transparent,hsl(calc(var(--sv-hue) + var(--i) * 18) 88% 68%/.52),hsl(calc(var(--sv-accent-hue) + var(--i) * 9) 90% 77%/.46),transparent);width:130%;height:14%;filter:blur(calc(8px + var(--i) * 2px));transform:rotate(calc(-12deg + var(--i) * 3deg));border-radius:50%;position:absolute}.sv-aurora .sv-core{box-shadow:0 0 90px hsl(var(--sv-accent-hue) 90% 70%/.3);border:1px solid #ffffff52;border-radius:50%;position:absolute;inset:17% 31%}.sv-hourglass{place-items:center;display:grid}.sv-hourglass>.sv-piece:not(.sv-grain){clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(hsl(var(--sv-accent-hue) 80% 84%/.18),transparent);border-top:1px solid hsl(var(--sv-accent-hue) 90% 83%/.65);width:280px;height:230px;position:absolute}.sv-hourglass>.sv-piece:nth-child(2){transform:rotate(180deg)}.sv-hourglass .sv-core{background:#fff2cb;border-radius:50%;width:18px;height:18px;box-shadow:0 0 28px #ffe29a}.sv-hourglass .sv-grain{left:calc(44% + var(--i) * 1%);top:calc(28% + var(--i) * 3.5%);background:hsl(var(--sv-accent-hue) 90% 80%);border-radius:50%;width:4px;height:4px;position:absolute}.sv-ribbon path{fill:none;stroke:hsl(var(--sv-accent-hue) 85% 78%/.84);stroke-width:7px;filter:drop-shadow(0 0 12px hsl(var(--sv-accent-hue) 90% 65%/.42))}.sv-ribbon path:nth-child(2){stroke:hsl(var(--sv-hue) 85% 77%/.7);stroke-width:2px}.sv-ribbon .sv-core{fill:#fff5d7}.sv-constellation path{fill:none;stroke:hsl(var(--sv-accent-hue) 80% 82%/.52);stroke-width:1.5px;stroke-dasharray:5 8}.sv-constellation circle{fill:hsl(var(--sv-accent-hue) 90% 85%);filter:drop-shadow(0 0 8px #fff)}.sv-constellation .sv-core{fill:#fff0ae;filter:drop-shadow(0 0 20px #ffe08c)}.sv-mosaic{perspective:900px;grid-template-rows:repeat(4,90px);grid-template-columns:repeat(4,110px);place-content:center;gap:8px;display:grid}.sv-mosaic .sv-tile{background:linear-gradient(145deg,hsl(calc(var(--sv-hue) + var(--i) * 8) 68% 62%/.5),hsl(var(--sv-accent-hue) 70% 72%/.13));transform:rotateY(calc((var(--i) - 8) * 2deg));border:1px solid #ffffff52;box-shadow:0 15px 35px #0000002e}.sv-mosaic .sv-core{width:88px;height:88px;box-shadow:0 0 50px hsl(var(--sv-accent-hue) 90% 70%/.6);background:#fff4d2;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sv-bloom{place-items:center;display:grid}.sv-bloom .sv-petal{background:linear-gradient(hsl(calc(var(--sv-hue) + var(--i) * 7) 78% 74%/.62),transparent);transform-origin:50% 100%;width:100px;height:250px;transform:translateY(-112px) rotate(calc(var(--i) * 30deg));border-radius:80% 20% 70% 30%;position:absolute}.sv-bloom .sv-core{background:radial-gradient(circle,#fff8db,hsl(var(--sv-accent-hue) 85% 70%));width:86px;height:86px;box-shadow:0 0 45px hsl(var(--sv-accent-hue) 90% 70%/.55);border-radius:50%}.sv-lantern{perspective:800px;justify-content:space-around;align-items:flex-start;padding:0 5%;display:flex}.sv-lantern .sv-lantern-item{width:75px;height:105px;margin-top:calc(6% + var(--i) * 3%);background:linear-gradient(90deg,hsl(var(--sv-hue) 70% 34%),hsl(var(--sv-accent-hue) 90% 65%),hsl(var(--sv-hue) 70% 32%));box-shadow:0 18px 45px #00000040,0 0 24px hsl(var(--sv-accent-hue) 90% 65%/.36);border-radius:48% 48% 42% 42%}.sv-lantern .sv-lantern-item:before{content:"";background:hsl(var(--sv-accent-hue) 80% 80%/.6);width:1px;height:160px;margin-top:-160px;margin-left:37px;position:absolute}.sv-lantern .sv-core{border:1px solid hsl(var(--sv-accent-hue) 85% 76%/.45);border-radius:50%;width:240px;height:240px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.sv-wave{justify-content:center;align-items:center;display:flex}.sv-wave .sv-wave-line{width:calc(160px + var(--i) * 90px);height:calc(70px + var(--i) * 45px);border:1px solid hsl(calc(var(--sv-hue) + var(--i) * 10) 75% 75%/.48);transform:rotate(calc(-16deg + var(--i) * 4deg));border-radius:50%;position:absolute}.sv-wave .sv-core{width:100px;height:34px;box-shadow:0 0 48px hsl(var(--sv-accent-hue) 90% 70%/.7);background:#fff6d5;border-radius:50%}.sv-typography{grid-template-columns:repeat(2,1fr);place-content:center;padding:8% 20%;display:grid}.sv-typography .sv-piece{color:#0000;-webkit-text-stroke:1px hsl(var(--sv-accent-hue) 90% 86%/.72);text-align:center;text-shadow:0 0 35px hsl(var(--sv-hue) 90% 70%/.2);font-family:Songti SC,STSong,serif;font-size:clamp(100px,15vw,220px);font-style:normal;line-height:.75}.sv-typography .sv-core{border:1px solid #ffffff26;position:absolute;inset:12%}.sv-kaleidoscope{place-items:center;display:grid}.sv-kaleidoscope .sv-mirror-shard{clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(160deg,hsl(calc(var(--sv-hue) + var(--i) * 9) 80% 72%/.52),transparent);transform-origin:50% 100%;width:80px;height:280px;transform:translateY(-138px) rotate(calc(var(--i) * 20deg));mix-blend-mode:screen;position:absolute}.sv-kaleidoscope .sv-core{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:100px;height:100px;box-shadow:0 0 55px hsl(var(--sv-accent-hue) 90% 70%/.6);background:#fff2c8}.sv-skyline{justify-content:center;align-items:flex-end;gap:8px;padding:0 16% 12%;display:flex}.sv-skyline .sv-building{width:42px;height:calc(80px + var(--i) * 15px);border:1px solid hsl(var(--sv-accent-hue) 80% 76%/.35);background:repeating-linear-gradient(180deg,hsl(var(--sv-accent-hue) 85% 75%/.65) 0 3px,transparent 3px 18px),linear-gradient(hsl(var(--sv-hue) 55% 35%/.7),#0003);box-shadow:0 0 18px hsl(var(--sv-accent-hue) 90% 65%/.12)}.sv-skyline .sv-core{background:radial-gradient(circle,#fff9dd,hsl(var(--sv-accent-hue) 80% 65%));width:86px;height:86px;box-shadow:0 0 48px hsl(var(--sv-accent-hue) 80% 70%/.5);border-radius:50%;position:absolute;top:24%;left:50%;transform:translate(-50%)}.sv-paperfold{perspective:1200px;justify-content:center;align-items:center;display:flex}.sv-paperfold .sv-page{background:linear-gradient(110deg,hsl(calc(var(--sv-hue) + var(--i) * 6) 70% 68%/.45),#ffffff12);width:120px;height:380px;transform:rotateY(calc((var(--i) - 3) * 17deg)) translateZ(calc(var(--i) * -8px));transform-origin:50%;border:1px solid #ffffff61}.sv-paperfold .sv-core{background:#fff0b8;width:3px;height:380px;position:absolute;box-shadow:0 0 25px #ffe69d}.sv-spiral{place-items:center;display:grid}.sv-spiral .sv-spiral-dot{width:calc(8px + var(--i) * .9px);height:calc(8px + var(--i) * .9px);background:hsl(calc(var(--sv-hue) + var(--i) * 11) 88% 78%);box-shadow:0 0 12px hsl(var(--sv-accent-hue) 85% 68%/.65);transform:rotate(calc(var(--i) * 47deg)) translateY(calc(-20px - var(--i) * 13px));border-radius:50%;position:absolute}.sv-spiral .sv-core{width:72px;height:72px;box-shadow:0 0 52px hsl(var(--sv-accent-hue) 90% 70%/.7);background:#fff4d2;border-radius:50%}.sv-clockwork{place-items:center;display:grid}.sv-clockwork .sv-gear{width:calc(80px + var(--i) * 24px);height:calc(80px + var(--i) * 24px);left:calc(20% + var(--i) * 8%);top:calc(14% + var(--i) * 7%);border:12px dotted hsl(calc(var(--sv-hue) + var(--i) * 13) 78% 76%/.55);box-shadow:inset 0 0 0 2px hsl(var(--sv-accent-hue) 80% 75%/.4);border-radius:50%;position:absolute}.sv-clockwork .sv-core{border:1px solid hsl(var(--sv-accent-hue) 88% 80%/.65);background:repeating-conic-gradient(hsl(var(--sv-accent-hue) 80% 78%/.34) 0 2deg,transparent 2deg 15deg);border-radius:50%;width:180px;height:180px}.sv-comet .sv-comet-a,.sv-comet .sv-comet-b{background:linear-gradient(90deg,transparent,hsl(var(--sv-accent-hue) 90% 80%),#fff);width:70%;height:2px;box-shadow:0 0 18px hsl(var(--sv-accent-hue) 90% 70%/.7);border-radius:50%;position:absolute;top:35%;left:-5%;transform:rotate(-18deg)}.sv-comet .sv-comet-b{background:linear-gradient(90deg,transparent,hsl(var(--sv-hue) 90% 80%),#fff);top:62%;left:35%;transform:rotate(162deg)}.sv-comet .sv-core{width:74px;height:74px;box-shadow:0 0 60px hsl(var(--sv-accent-hue) 90% 70%/.75);background:#fff4cf;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sv-comet .sv-star-dust{left:calc(7% + var(--i) * 5.4%);top:calc(12% + var(--i) * 4.6%);background:#fff;border-radius:50%;width:3px;height:3px;position:absolute;box-shadow:0 0 8px #fff}.sv-archive{perspective:1000px;justify-content:center;align-items:center;display:flex}.sv-archive .sv-file{background:linear-gradient(145deg,hsl(calc(var(--sv-hue) + var(--i) * 5) 60% 65%/.34),hsl(var(--sv-accent-hue) 70% 70%/.08));width:250px;height:330px;transform:translateX(calc((var(--i) - 3.5) * 55px)) translateZ(calc(var(--i) * -18px)) rotateY(calc((var(--i) - 3.5) * 5deg));border:1px solid #ffffff70;border-radius:4px;position:absolute;box-shadow:0 24px 55px #0003}.sv-archive .sv-core{z-index:3;border:2px solid hsl(var(--sv-accent-hue) 85% 78%);width:90px;height:90px;color:hsl(var(--sv-accent-hue) 90% 82%);background:hsl(var(--sv-hue) 50% 18%/.78);box-shadow:0 0 45px hsl(var(--sv-accent-hue) 90% 70%/.32);border-radius:50%;place-items:center;font-size:36px;display:grid}@media (max-width:620px){.sv-template-meta{text-align:center;justify-items:center;bottom:5%;left:6%;right:6%}.sv-template-meta strong{font-size:48px}.sv-mosaic{grid-template-rows:repeat(4,58px);grid-template-columns:repeat(4,65px)}.sv-capsule .sv-core{width:145px;height:260px}.sv-bloom,.sv-kaleidoscope,.sv-clockwork,.sv-orbit{scale:.74}.sv-paperfold{scale:.72}.sv-typography{padding:10% 5%}.sv-typography .sv-piece{font-size:92px}.sv-lantern .sv-lantern-item{width:44px;height:64px}.sv-skyline{gap:4px;padding-inline:6%}.sv-skyline .sv-building{width:24px}}.live-event-layer{z-index:120;overscroll-behavior:contain;position:fixed;inset:0;overflow:auto}.live-event-layer>.arrival-overlay,.live-event-layer>.event-overlay{width:100%;min-height:100%;position:relative;inset:auto}.cycle-record-form{grid-template-columns:minmax(260px,1.4fr) minmax(170px,.8fr) minmax(190px,.8fr) auto;align-items:end;gap:14px;margin-bottom:18px;padding:20px;display:grid}.cycle-record-form>div h2{margin:5px 0;font-size:22px}.cycle-record-form>div p{color:var(--muted);margin:0;font-size:10px;line-height:1.6}.cycle-record-form label{color:#584960;gap:7px;font-size:11px;font-weight:700;display:grid}.cycle-record-form input{border:1px solid var(--border);min-height:45px;color:var(--ink);background:#fff;border-radius:12px;padding:0 12px}.cycle-record-form .primary-button{white-space:nowrap;min-height:45px}.cycle-summary>div .soft-button{margin-top:13px}.cycle-readonly-note{color:var(--purple-deep);align-items:center;gap:12px;margin-bottom:18px;padding:18px 20px;display:flex}.cycle-readonly-note div{gap:4px;display:grid}.cycle-readonly-note p{color:var(--muted);margin:0;font-size:11px}.calendar-day.read-only{cursor:default}.cycle-summary--insufficient .cycle-orbit{opacity:.62;filter:saturate(.55)}.cycle-summary--high .cycle-orbit{box-shadow:0 0 45px #c64a912e}.cycle-history{margin-top:18px;padding:21px}.cycle-history>div:first-child{margin-bottom:13px}.cycle-history h2{margin:5px 0 0;font-size:22px}.cycle-history article{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;min-height:62px;padding:10px 3px;display:flex}.cycle-history article>div{gap:4px;display:grid}.cycle-history article span,.cycle-history__empty{color:var(--muted);font-size:10px}.calendar-day:disabled{cursor:not-allowed}.annual-preview-control{align-items:center;gap:8px;margin-top:10px;display:flex}.event-prompt .annual-preview-control button{color:#fff2d9;width:34px;min-height:34px;box-shadow:none;background:#4b1a2f59;border-radius:50%;justify-content:center;margin:0;padding:0}.annual-preview-control span{color:#fff1d8b8;font-size:9px}.spring-day-preview{grid-template-columns:repeat(7,1fr);gap:5px;margin-top:14px;display:grid}.event-prompt .spring-day-preview button{color:#ffe2a8;min-height:34px;box-shadow:none;background:#5b040952;border:1px solid #ffe5a840;border-radius:3px;justify-content:center;margin:0;padding:0;font-size:8px}.event-prompt .spring-day-preview button.active{color:#7b090e;background:#f5cf78}.event-prompt .spring-open-action{margin-top:11px}.annual-stage{z-index:9;pointer-events:none;perspective:1200px;position:absolute;inset:0;overflow:hidden}.annual-stage__field{transform-style:preserve-3d;position:absolute;inset:5%}.annual-piece{will-change:transform,opacity;display:block;position:absolute}.annual-stage__year{z-index:4;text-shadow:0 18px 55px #00000061;gap:5px;display:grid;position:absolute;top:50%;left:7%;translate:0 -50%}.annual-stage__year small{letter-spacing:.28em;font-size:9px;font-weight:800}.annual-stage__year strong{letter-spacing:-.08em;font-family:Georgia,Times New Roman,serif;font-size:clamp(116px,17vw,255px);font-weight:400;line-height:.7}.annual-stage__year span{letter-spacing:.22em;font-family:Songti SC,STSong,serif;font-size:15px}.annual-stage__seal{z-index:8;aspect-ratio:1;color:#fff2bd;opacity:0;background:radial-gradient(circle,#ffe09633,#4a111924 55%,#0000 72%);border:1px solid #fff4d16b;border-radius:50%;place-content:center;justify-items:center;gap:14px;width:min(360px,56vw);display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 0 90px #ffd47e38,inset 0 0 60px #ffffff14}.annual-stage__seal svg{fill:currentColor;filter:drop-shadow(0 0 18px);width:58px;height:58px}.annual-stage__seal span{letter-spacing:.16em;font-family:STKaiti,KaiTi,serif;font-size:15px}.annual-stage.is-main .annual-stage__seal{visibility:hidden}.anniversary-year-stage{color:#ffeac9}.anniversary-year-stage .annual-piece{border:1px solid hsl(var(--sv-accent-hue) 78% 80%/.5);background:hsl(var(--sv-hue) 68% 55%/.16);box-shadow:0 0 24px hsl(var(--sv-accent-hue) 80% 68%/.16)}.anniversary-year-stage--routes .annual-piece{left:calc(-12% + var(--i) * 7%);top:calc(9% + var(--i) * 4.6%);background:linear-gradient(90deg,transparent,hsl(var(--sv-accent-hue) 88% 82%),transparent);width:34%;height:2px;rotate:calc(-31deg + var(--i) * 3deg);border:0;border-radius:999px}.anniversary-year-stage--rings .annual-piece{width:calc(90px + var(--i) * 25px);aspect-ratio:1.65;translate:-50% -50%;rotate:calc(var(--i) * 17deg);background:0 0;border-radius:50%;top:48%;left:68%}.anniversary-year-stage--gate .annual-piece{left:calc(48% + var(--i) * 2.8%);width:calc(12px + var(--i) * 3px);background:linear-gradient(hsl(var(--sv-accent-hue) 85% 82%/.55),transparent);height:80%;rotate:calc((var(--i) - 9) * 2deg);transform-origin:50% 100%;border-radius:50% 50% 4px 4px;top:10%}.anniversary-year-stage--pages .annual-piece{left:calc(45% + var(--i) * 2.1%);top:calc(9% + var(--i) * 2.3%);background:linear-gradient(135deg,hsl(var(--sv-accent-hue) 85% 85%/.24),#ffffff08);width:31%;height:63%;rotate:calc((var(--i) - 9) * 3deg);border-radius:3px}.anniversary-year-stage--aurora .annual-piece{left:calc(35% + var(--i) * 4.1%);background:linear-gradient(180deg,transparent,hsl(calc(var(--sv-hue) + var(--i) * 9) 90% 76%/.64),transparent);width:9%;height:96%;filter:blur(calc(5px + var(--i) * .45px));rotate:calc((var(--i) - 9) * 1.5deg);border:0;border-radius:50%;top:2%}.anniversary-year-stage--tide .annual-piece{left:31%;top:calc(7% + var(--i) * 5%);width:74%;height:8%;rotate:calc(-8deg + var(--i) * .8deg);background:0 0;border-width:1px 0 0;border-radius:50%}.anniversary-year-stage--constellation .annual-piece{left:calc(34% + var(--i) * 3.5%);top:calc(8% + var(--i) * 4.2%);width:calc(5px + var(--i) * .45px);aspect-ratio:1;background:#fff3b9;border:0;border-radius:50%;box-shadow:0 0 16px #fff2ac}.anniversary-year-stage--mosaic .annual-piece{left:calc(39% + var(--i) * 3.1%);top:calc(12% + var(--i) * 3.5%);background:linear-gradient(145deg,hsl(calc(var(--sv-hue) + var(--i) * 8) 72% 66%/.58),#ffffff0a);width:8%;height:22%;rotate:calc((var(--i) - 9) * 2deg);border-radius:2px}.anniversary-year-stage--bloom .annual-piece{background:linear-gradient(hsl(calc(var(--sv-hue) + var(--i) * 6) 88% 78%/.56),transparent);width:68px;height:220px;translate:-50% -100%;rotate:calc(var(--i) * 20deg);transform-origin:50% 100%;border-radius:88% 12% 74% 26%;top:52%;left:69%}.anniversary-year-stage--skyline .annual-piece{left:calc(34% + var(--i) * 3.8%);width:3.2%;height:calc(80px + var(--i) * 10px);background:repeating-linear-gradient(180deg,hsl(var(--sv-accent-hue) 88% 78%/.7) 0 3px,transparent 3px 17px),hsl(var(--sv-hue) 60% 35%/.34);bottom:7%}.anniversary-year-stage--clockwork .annual-piece{left:calc(42% + var(--i) * 2.8%);top:calc(12% + var(--i) * 3%);width:calc(62px + var(--i) * 8px);aspect-ratio:1;border:8px dotted hsl(calc(var(--sv-accent-hue) + var(--i) * 8) 82% 78%/.48);rotate:calc(var(--i) * 14deg);background:0 0;border-radius:50%}.anniversary-year-stage--future .annual-piece{right:calc(4% + var(--i) * 2.4%);top:calc(8% + var(--i) * 3%);background:linear-gradient(140deg,hsl(var(--sv-accent-hue) 84% 84%/.2),#ffffff05);width:27%;height:68%;rotate:calc((var(--i) - 9) * 2.5deg);border-radius:2px}.spring-year-stage{color:#fff0b0}.spring-year-stage .annual-stage__year{left:8%}.spring-year-stage .annual-stage__year strong{color:#ffe497;font-family:STKaiti,KaiTi,serif;font-size:clamp(128px,18vw,270px)}.spring-year-stage .annual-piece{border:1px solid hsl(var(--sv-accent-hue) 88% 74%/.55);background:hsl(calc(var(--sv-hue) + 15) 76% 45%/.24);box-shadow:0 0 22px hsl(var(--sv-accent-hue) 86% 64%/.2)}.spring-year-stage--auspicious-gate .annual-piece{right:calc(4% + var(--i) * 2.8%);width:calc(14px + var(--i) * 2px);height:82%;rotate:calc((var(--i) - 9) * 1.8deg);transform-origin:50% 100%;background:linear-gradient(#ffd66f,#a10e133d);border-radius:50% 50% 0 0;top:8%}.spring-year-stage--firework-lake .annual-piece{width:6px;height:calc(80px + var(--i) * 8px);translate:-50% -100%;rotate:calc(var(--i) * 20deg);transform-origin:50% 100%;background:linear-gradient(#0000,#fff4bc);border:0;border-radius:999px;top:45%;left:70%}.spring-year-stage--opera-mask .annual-piece{left:calc(39% + var(--i) * 3.2%);top:calc(8% + var(--i) * 3.7%);width:17%;height:10%;rotate:calc(-42deg + var(--i) * 5deg);background:linear-gradient(90deg,#f1bf4f,#b1121c);border-radius:90% 10%}.spring-year-stage--plum-snow .annual-piece{left:calc(40% + var(--i) * 3.2%);top:calc(7% + var(--i) * 4.4%);width:calc(20px + var(--i) * 2px);aspect-ratio:1;rotate:calc(var(--i) * 37deg);background:linear-gradient(145deg,#ffd8d5,#d52e34);border:0;border-radius:90% 10%}.spring-year-stage--jade-market .annual-piece{left:calc(40% + var(--i) * 3.2%);top:calc(7% + var(--i) * 2.4%);width:5.5%;height:calc(46% + var(--i) * 1.5%);background:linear-gradient(#ffdf83,#9f1015 28%,#2268566b);border-radius:50% 50% 8px 8px}.spring-year-stage--kite-sky .annual-piece{left:calc(39% + var(--i) * 3.2%);top:calc(7% + var(--i) * 4%);width:calc(30px + var(--i) * 2px);aspect-ratio:1;background:linear-gradient(135deg,#ffdb70 50%,#b61520 50%);rotate:45deg}.spring-year-stage--reunion-table .annual-piece{width:calc(90px + var(--i) * 24px);aspect-ratio:1;translate:-50% -50%;rotate:calc(var(--i) * 11deg);background:0 0;border-radius:50%;top:50%;left:70%}.spring-year-stage--paper-city .annual-piece{left:calc(35% + var(--i) * 3.8%);width:3.5%;height:calc(95px + var(--i) * 10px);clip-path:polygon(50% 0,100% 16%,100% 100%,0 100%,0 16%);background:linear-gradient(#ffd977,#a80f18);bottom:6%}.spring-year-stage--mountain-temple .annual-piece{right:calc(-2% + var(--i) * 4.1%);bottom:calc(5% + var(--i) * 1.4%);width:19%;height:calc(24% + var(--i) * 1.8%);clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(145deg,#ffe391a6,#6b0a0e24);border:0}.spring-year-stage--neon-fair .annual-piece{left:calc(36% + var(--i) * 3.5%);top:calc(8% + var(--i) * 4.2%);width:12%;height:5px;rotate:calc(-28deg + var(--i) * 4deg);background:linear-gradient(90deg,#ffdd64,#ff4c54,#0000);border:0;border-radius:999px;box-shadow:0 0 18px #ff9c54}.spring-year-stage--silk-river .annual-piece{left:30%;top:calc(5% + var(--i) * 4.8%);width:76%;height:12%;rotate:calc(-13deg + var(--i) * 1.2deg);background:0 0;border-width:2px 0 0;border-radius:50%}.spring-year-stage--star-lantern .annual-piece{width:calc(46px + var(--i) * 2px);height:calc(64px + var(--i) * 3px);translate:-50% -50%;rotate:calc(var(--i) * 20deg);transform-origin:50% calc(180px + var(--i) * 5px);background:radial-gradient(circle at 35% 24%,#fff2a5,#e63a25 68%);border-radius:48% 48% 42% 42%;top:48%;left:70%}.event-finale-action{z-index:42;color:#4a2531;pointer-events:auto;cursor:pointer;background:linear-gradient(120deg,#fff8da,#ffd590);border:1px solid #fff4cd94;border-radius:999px;align-items:center;gap:9px;min-height:52px;padding:0 22px;font-weight:800;animation:.7s cubic-bezier(.16,.8,.2,1) both finaleActionIn;display:inline-flex;position:absolute;bottom:7%;left:50%;translate:-50%;box-shadow:0 18px 50px #15041252,0 0 35px #ffd98e33}.event-finale-action:disabled{color:#fff1c3;cursor:default;background:#40122180}@keyframes finaleActionIn{0%{opacity:0;filter:blur(7px);translate:-50% 18px}to{opacity:1;filter:blur();translate:-50%}}.birthday-signature,.zodiac-signature{z-index:9;aspect-ratio:1;pointer-events:none;width:min(43vw,520px);transform-style:preserve-3d;animation:.9s cubic-bezier(.2,.8,.2,1) both signatureReveal;position:absolute;top:50%;right:5%;translate:0 -50%}.birthday-signature.is-quiet,.zodiac-signature.is-quiet{opacity:.72}.birthday-signature__field,.zodiac-signature__field{transform:rotate(var(--signature-turn,var(--zodiac-turn)));transform-style:preserve-3d;position:absolute;inset:7%}.birthday-signature__piece,.zodiac-signature__piece{will-change:transform,opacity;display:block;position:absolute}.birthday-signature__field,.zodiac-signature.is-quiet .zodiac-signature__field{animation:5.4s ease-in-out infinite alternate signatureFieldBreathe}.birthday-signature__piece,.zodiac-signature.is-quiet .zodiac-signature__piece{animation:signaturePieceDrift 3.8s calc(var(--i) * -.17s) ease-in-out infinite alternate}.birthday-signature__age,.zodiac-signature__glyph{z-index:3;text-shadow:0 16px 50px #00000052;font-family:Georgia,Times New Roman,serif;font-size:clamp(74px,10vw,148px);font-weight:400;line-height:.8;position:absolute;top:50%;left:50%;translate:-50% -50%}.birthday-signature__label,.zodiac-signature__name{z-index:4;letter-spacing:.38em;white-space:nowrap;font-size:10px;font-weight:800;position:absolute;bottom:11%;left:50%;translate:-50%}.zodiac-signature small{z-index:4;color:#fff2cca6;letter-spacing:.16em;white-space:nowrap;font-family:STKaiti,KaiTi,serif;font-size:12px;position:absolute;bottom:5%;left:50%;translate:-50%}.birthday-signature{--birthday-a:#8be3ff;--birthday-b:#ffb5dc;color:#fff7d7;filter:drop-shadow(0 24px 50px #21155047)}.birthday-signature__piece{border:1px solid color-mix(in srgb,var(--birthday-a) 60%,transparent);background:color-mix(in srgb,var(--birthday-b) 22%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--birthday-a) 32%,transparent)}.birthday-signature--star-map .birthday-signature__piece{width:calc(4px + var(--i) * .35px);height:calc(4px + var(--i) * .35px);transform:translate(-50%,-50%) rotate(calc(var(--i) * 30deg)) translateX(calc(72px + var(--i) * 10px));background:#fff6c9;border:0;border-radius:50%;top:50%;left:50%}.birthday-signature--ribbon-step{--birthday-a:#ffd48a;--birthday-b:#fb77bd}.birthday-signature--ribbon-step .birthday-signature__piece{width:calc(130px + var(--i) * 15px);height:12px;transform:translate(-50%,calc((var(--i) - 6) * 19px)) rotate(calc((var(--i) - 6) * 3deg));border-radius:999px;top:50%;left:50%}.birthday-signature--light-gate{--birthday-a:#a5f5df;--birthday-b:#8db8ff}.birthday-signature--light-gate .birthday-signature__piece{left:calc(17% + var(--i) * 5.7%);width:8px;height:74%;transform:skewY(calc((var(--i) - 6) * 1.5deg));opacity:calc(.28 + var(--i) * .045);border-radius:999px;top:13%}.birthday-signature--year-rings{--birthday-a:#ffe6a7;--birthday-b:#c6a2ff}.birthday-signature--year-rings .birthday-signature__piece{inset:calc(var(--i) * 15px);transform:rotate(calc(var(--i) * 13deg));background:0 0;border-radius:48% 52% 44% 56%}.birthday-signature--crystal{--birthday-a:#c0f7ff;--birthday-b:#f3a8ff}.birthday-signature--crystal .birthday-signature__piece{clip-path:polygon(50% 0,100% 82%,50% 100%,0 82%);transform-origin:50% 100%;width:70px;height:210px;transform:translate(-50%,-100%) rotate(calc(var(--i) * 30deg)) scaleY(calc(.5 + var(--i) * .035));top:50%;left:50%}.birthday-signature--comet{--birthday-a:#ffe89e;--birthday-b:#8cecff}.birthday-signature--comet .birthday-signature__piece{left:calc(-7% + var(--i) * 8%);top:calc(16% + var(--i) * 4.2%);background:linear-gradient(90deg,transparent,var(--birthday-a));border:0;border-radius:999px;width:190px;height:3px;transform:rotate(-28deg)}.birthday-signature--crown{--birthday-a:#ffe38a;--birthday-b:#ff8bbf}.birthday-signature--crown .birthday-signature__piece{left:calc(12% + var(--i) * 6.5%);width:18px;height:calc(60px + var(--i) * 13px);clip-path:polygon(50% 0,100% 100%,0 100%);transform:rotate(calc((var(--i) - 6) * 4deg));transform-origin:50% 100%;bottom:18%}.birthday-signature--clock{--birthday-a:#92efff;--birthday-b:#ffc6e4}.birthday-signature--clock .birthday-signature__piece{background:linear-gradient(var(--birthday-a),transparent 34%);transform-origin:50% 0;width:3px;height:42%;transform:rotate(calc(var(--i) * 30deg)) translateY(-100%);border:0;border-radius:999px;top:50%;left:50%}.birthday-signature--bloom{--birthday-a:#ffc9dd;--birthday-b:#ffe5a1}.birthday-signature--bloom .birthday-signature__piece{transform-origin:50% 100%;width:94px;height:205px;transform:translate(-50%,-100%) rotate(calc(var(--i) * 30deg)) scale(calc(.65 + var(--i) * .018));border-radius:90% 10% 78% 22%;top:50%;left:50%}.birthday-signature--record{--birthday-a:#a9d8ff;--birthday-b:#f6a9dd}.birthday-signature--record .birthday-signature__piece{inset:calc(var(--i) * 14px);box-shadow:inset 0 0 22px color-mix(in srgb,var(--birthday-b) 15%,transparent);background:0 0;border-radius:50%}.birthday-signature--archive{--birthday-a:#ffe7ad;--birthday-b:#a8cfff}.birthday-signature--archive .birthday-signature__piece{left:calc(15% + var(--i) * 3.3%);top:calc(14% + var(--i) * 2.8%);background:linear-gradient(135deg,color-mix(in srgb,var(--birthday-b) 20%,transparent),#ffffff08);width:58%;height:66%;transform:rotate(calc((var(--i) - 6) * 3.5deg)) translateZ(calc(var(--i) * 4px));border-radius:8px}.birthday-signature--aurora{--birthday-a:#92ffe0;--birthday-b:#c58eff}.birthday-signature--aurora .birthday-signature__piece{left:calc(5% + var(--i) * 7.5%);background:linear-gradient(180deg,transparent,var(--birthday-a),var(--birthday-b),transparent);width:46px;height:85%;filter:blur(calc(5px + var(--i) * .55px));opacity:.44;transform:skewX(calc((var(--i) - 6) * 2deg));border:0;border-radius:50%;top:7%}.zodiac-signature{--zodiac-a:#ffd56f;--zodiac-b:#e63b27;color:#fff1ba;filter:drop-shadow(0 24px 55px #3f000052)}.zodiac-signature__field{inset:10%}.zodiac-signature__piece{border:1px solid color-mix(in srgb,var(--zodiac-a) 64%,transparent);background:color-mix(in srgb,var(--zodiac-b) 28%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--zodiac-a) 24%,transparent)}.zodiac-signature--rat{--zodiac-a:#f6d48c;--zodiac-b:#8d3c45}.zodiac-signature--rat .zodiac-signature__piece{width:calc(10px + var(--i) * 2px);height:calc(10px + var(--i) * 2px);transform:translate(-50%,-50%) rotate(calc(var(--i) * 47deg)) translateX(calc(55px + var(--i) * 13px));border-radius:50%;top:50%;left:50%}.zodiac-signature--ox{--zodiac-a:#f1c96b;--zodiac-b:#6f3925}.zodiac-signature--ox .zodiac-signature__piece{width:170px;height:90px;transform:translate(-50%,-50%) rotate(calc((var(--i) - 6) * 10deg)) scale(calc(.5 + var(--i) * .035));transform-origin:50% 100%;background:0 0;border-width:5px 0 0;border-radius:50% 50% 0 0;top:42%;left:50%}.zodiac-signature--tiger{--zodiac-a:#ffce54;--zodiac-b:#c83a1d}.zodiac-signature--tiger .zodiac-signature__piece{left:18%;top:calc(12% + var(--i) * 6.6%);clip-path:polygon(0 0,100% 40%,0 100%,20% 50%);width:66%;height:10px;transform:rotate(calc((var(--i) - 6) * 2deg));border:0}.zodiac-signature--rabbit{--zodiac-a:#ffe6c7;--zodiac-b:#d7616f}.zodiac-signature--rabbit .zodiac-signature__piece{left:calc(37% + (var(--i) - 6) * 2%);width:58px;height:72%;transform:rotate(calc((var(--i) - 6) * 12deg)) scaleY(calc(.45 + var(--i) * .035));transform-origin:50% 100%;border-radius:50% 50% 44% 44%;top:4%}.zodiac-signature--dragon{--zodiac-a:#ffe88e;--zodiac-b:#d61e27}.zodiac-signature--dragon .zodiac-signature__piece{width:55px;height:55px;transform:translate(-50%,-50%) rotate(calc(var(--i) * 54deg)) translateX(calc(72px + var(--i) * 11px));background:0 0;border-width:4px;border-radius:50% 20%;top:50%;left:50%}.zodiac-signature--snake{--zodiac-a:#bfe59a;--zodiac-b:#9e2d39}.zodiac-signature--snake .zodiac-signature__piece{inset:calc(var(--i) * 16px);transform:rotate(calc(var(--i) * 31deg));background:0 0;border-width:5px 0 0 5px;border-radius:50%}.zodiac-signature--horse{--zodiac-a:#ffd06f;--zodiac-b:#bd231e}.zodiac-signature--horse .zodiac-signature__piece{left:calc(8% + var(--i) * 6.8%);top:calc(14% + var(--i) * 4%);background:linear-gradient(90deg,var(--zodiac-a),transparent);border:0;border-radius:999px;width:150px;height:6px;transform:rotate(-32deg)skew(-18deg)}.zodiac-signature--goat{--zodiac-a:#f5df9a;--zodiac-b:#7c5040}.zodiac-signature--goat .zodiac-signature__piece{width:calc(80px + var(--i) * 11px);height:calc(80px + var(--i) * 11px);transform:translate(-50%,-50%) rotate(calc(var(--i) * 42deg));background:0 0;border-width:4px 4px 0 0;border-radius:50%;top:47%;left:50%}.zodiac-signature--monkey{--zodiac-a:#ffda73;--zodiac-b:#b24a30}.zodiac-signature--monkey .zodiac-signature__piece{width:105px;height:105px;transform:translate(-50%,-50%) rotate(calc(var(--i) * 30deg)) translateX(calc(35px + var(--i) * 8px));background:0 0;border-width:5px;border-radius:50%;top:50%;left:50%}.zodiac-signature--rooster{--zodiac-a:#ffe48b;--zodiac-b:#d22334}.zodiac-signature--rooster .zodiac-signature__piece{transform-origin:50% 100%;width:52px;height:58%;transform:translateX(-50%) rotate(calc((var(--i) - 6) * 15deg)) scaleY(calc(.55 + var(--i) * .025));border-radius:80% 10%;bottom:34%;left:50%}.zodiac-signature--dog{--zodiac-a:#f7d889;--zodiac-b:#8d3b30}.zodiac-signature--dog .zodiac-signature__piece{left:calc(16% + var(--i) * 5.8%);top:calc(18% + var(--i) * 4.8%);border-radius:50%;width:64px;height:64px}.zodiac-signature--pig{--zodiac-a:#ffd6a0;--zodiac-b:#c94e55}.zodiac-signature--pig .zodiac-signature__piece{width:calc(65px + var(--i) * 16px);height:calc(65px + var(--i) * 16px);opacity:calc(.18 + var(--i) * .045);background:0 0;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes signatureFieldBreathe{0%{opacity:.72;scale:.965}to{opacity:1;scale:1.045}}@keyframes signaturePieceDrift{0%{opacity:.48;translate:0 -6px}to{opacity:1;translate:0 9px}}.birthday-age-preview,.spring-year-preview{z-index:31;pointer-events:auto;align-items:center;gap:10px;display:flex;position:absolute}.birthday-age-preview{top:54%;left:7%}.spring-year-preview{margin-top:13px;position:relative}.birthday-age-preview button,.spring-year-preview button{color:#fff7da;cursor:pointer;background:#16103052;border:1px solid #ffffff40;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid}.birthday-age-preview span,.spring-year-preview span{color:#fff0c0;letter-spacing:.12em;text-align:center;min-width:72px;font-size:11px;font-weight:800}.arrival-overlay.is-opened{animation:10.4s linear both eventOverlayExit}.anniversary-overlay.story-finished{animation:5.45s linear both eventOverlayExit}.birthday-overlay.wish-released{animation:7.4s linear both eventOverlayExit}.newyear-overlay.year-arrived{animation:6.4s linear both eventOverlayExit}.spring-overlay.spring-auto{animation:7.4s linear both eventOverlayExit}.spring-overlay.spring-finished{animation:5.45s linear both eventOverlayExit}.care-overlay.care-accepted{animation:8.2s linear both eventOverlayExit}@keyframes signatureReveal{0%{opacity:0;filter:blur(9px);transform:translateY(22px)scale(.9)}to{opacity:1;filter:blur();transform:none}}@keyframes eventOverlayExit{0%,89%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@media (max-width:1100px){.cycle-record-form{grid-template-columns:1fr 1fr}.cycle-record-form>div{grid-column:1/-1}}@media (max-width:620px){.live-event-layer>.arrival-overlay,.live-event-layer>.event-overlay{min-height:max(760px,100%)}.cycle-record-form{grid-template-columns:1fr}.cycle-record-form>div{grid-column:auto}.spring-day-preview{gap:3px}.annual-stage__field{transform-origin:68% 48%;inset:11% -20% 8% 2%;scale:.72}.annual-stage__year,.spring-year-stage .annual-stage__year{text-align:center;justify-items:center;top:15%;left:50%;translate:-50%}.annual-stage__year strong,.spring-year-stage .annual-stage__year strong{font-size:98px}.annual-stage__year span{font-size:11px}.annual-stage__seal{width:245px}.annual-stage__seal span{font-size:11px}.event-finale-action{white-space:nowrap;min-height:48px;bottom:8%}.birthday-signature,.zodiac-signature{opacity:.58;width:300px;top:43%;right:50%;translate:50% -50%}.birthday-signature__age,.zodiac-signature__glyph{font-size:82px}.birthday-signature__label,.zodiac-signature__name{bottom:10%}.zodiac-signature small{display:none}.birthday-age-preview{top:auto;bottom:17%;left:50%;translate:-50%}.spring-year-preview{justify-content:center}}@media (max-height:620px) and (min-width:621px){.live-event-layer>.arrival-overlay,.live-event-layer>.event-overlay{min-height:540px}}
