@font-face{font-family:Apple SD Gothic Neo Tuned;font-weight:400;src:local(AppleSDGothicNeo-Regular),local(Apple SD Gothic Neo);ascent-override:90%;descent-override:23.3%;line-gap-override:0%}@font-face{font-family:Apple SD Gothic Neo Tuned;font-weight:500;src:local(AppleSDGothicNeo-Medium);ascent-override:90%;descent-override:23.3%;line-gap-override:0%}@font-face{font-family:Apple SD Gothic Neo Tuned;font-weight:600;src:local(AppleSDGothicNeo-SemiBold);ascent-override:90%;descent-override:23.3%;line-gap-override:0%}@font-face{font-family:Apple SD Gothic Neo Tuned;font-weight:700;src:local(AppleSDGothicNeo-Bold);ascent-override:90%;descent-override:23.3%;line-gap-override:0%}@font-face{font-family:Galmuri11;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/Galmuri11.woff2)format("woff2");ascent-override:100%;descent-override:10.3%;line-gap-override:0%}@font-face{font-family:Galmuri11;font-style:normal;font-weight:700;font-display:block;src:url(/fonts/Galmuri11-Bold.woff2)format("woff2");ascent-override:100%;descent-override:10.3%;line-gap-override:0%}@font-face{font-family:Italianno;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/Italianno-subset.woff2)format("woff2")}:root{--list-stagger-step:.15s;--sat:env(safe-area-inset-top);--sab:env(safe-area-inset-bottom);--sal:env(safe-area-inset-left);--sar:env(safe-area-inset-right);--color-bg:#fff5f8;--color-surface:#fffcfd;--color-surface-soft:#ffecf2;--color-pink:#fcccdc;--color-pink-strong:#f99cbb;--color-pink-text:#a44164;--color-speech-border:#cb7f9b;--color-lavender:#d9ccff;--color-lavender-strong:#bda7f3;--color-lavender-text:#624e95;--color-mint:#ccebdc;--color-butter:#ffe49a;--color-text:#4f3b47;--color-text-soft:#806b76;--color-border:#654b59;--color-line-soft:#ecd2dc;--color-danger:#c23a30;--color-danger-bg:#fdeceb;--color-success:#327f5e;--color-on-accent:#382936;--color-on-overlay:#fff8fc;--color-overlay:#1e1422a3;--color-stripe:#ffffff52;--color-shadow-tint:#f4dae4;--color-pink-soft:#ffeaf1;--color-neutral-soft:#f8edf2;--color-shell-bg:#fcdfe9;--color-shell-check:#f6a3bf14;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--dialog-pad:16px;--dialog-gap:10px;--shadow-soft:4px 4px 0 #f4dae4;--shadow-pop:4px 4px 0 #52404bcc;--touch-min:44px;--control-md:40px;--control-sm:36px;--max-width-phone:440px;--font-scale:1;--text-nano:calc(10px * var(--font-scale));--text-micro:calc(11px * var(--font-scale));--text-meta:calc(13px * var(--font-scale));--text-helper:calc(13px * var(--font-scale));--text-body-sm:calc(14px * var(--font-scale));--text-body:calc(15px * var(--font-scale));--text-read:calc(16px * var(--font-scale));--text-lead:calc(17px * var(--font-scale));--text-title-sm:calc(20px * var(--font-scale));--text-title:calc(22px * var(--font-scale));--text-display:calc(24px * var(--font-scale));--leading-tight:1.28;--leading-snug:1.45;--leading-body:1.6;--leading-relaxed:1.7;--tracking-body:-.012em;--tracking-pixel:.012em;--tracking-label:.008em;--tracking-wide:.06em;--tracking-caps:.1em;--font-sans:"Apple SD Gothic Neo Tuned", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Segoe UI", sans-serif;--font-heading:"Galmuri11", "Apple SD Gothic Neo", sans-serif;--u-me-bg:#f9d7dd;--u-me-border:#f6a2b1;--u-me-dot:#f27389;--u-me-text:#a5273d;--u-partner-bg:#d7e8f9;--u-partner-border:#a6ccf2;--u-partner-dot:#7ab3eb;--u-partner-text:#2767a5;--u-neutral-bg:#f6ecf0;--u-neutral-border:#dfc9d2;--u-neutral-dot:#b79aa6;--u-neutral-text:#6d4f5e;--tint-butter-bg:#fff3d6;--tint-butter-border:#ecd9a8;--tint-butter-strong:#ffc94d;--tint-butter-text:#b8761a;--tint-pink-bg:#ffe3ec;--tint-pink-border:#ffb8c9;--tint-pink-text:#b83a60;--tint-lavender-bg:#efe9ff;--tint-lavender-border:#cbbcf2;--tint-lavender-strong:#c9b8ff;--tint-lavender-text:#6b53c0;--tint-mint-bg:#e2f4ea;--tint-mint-border:#a8d8bd;--tint-mint-strong:#8fd4b2;--tint-mint-text:#2e7d59;--tint-sky-bg:#e3efff;--tint-sky-border:#b9d4f5;--tint-sky-strong:#8fbcf0;--tint-sky-text:#3a6ea8;--cal-anniv-bg:#ffe0e9;--cal-anniv-text:#b8125a;--cal-anniv-soft-bg:#ffe9f0;--cal-anniv-soft-text:#c04a72;--cal-holiday-bg:#fff0f0;--cal-holiday-border:#ffb7b7;--cal-holiday-dot:#e5484d;--cal-holiday-text:#b4232a;--record-question-bg:#fef8e9;--record-compliment-bg:#fee9ee;--record-date-bg:#eef9f4;--record-coupon-bg:#f4efff;--chip-question-bg:#fff7e3;--chip-compliment-bg:#ffe3ea;--chip-date-bg:#eaf8f1;--chip-coupon-bg:#f4efff;--chip-question-active-bg:#ffeec4;--chip-compliment-active-bg:#ffc4d3;--chip-date-active-bg:#d4f0e2;--chip-coupon-active-bg:#e7dcff;--cal-anniv-soft-border:#ffc4d6;--cal-memo-bg:#dff3ef;--cal-memo-border:#9fd9cf;--cal-memo-dot:#2a9d8f;--cal-memo-text:#1f6f65;--surface-veil-94:#fffefaf0;--surface-veil-92:#fffefaeb;--surface-veil-90:#fffefae6;--surface-veil-55:#fffefa8c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark],:root[data-theme=midnight]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#1f1922;--color-surface:#2a2330;--color-surface-soft:#342b3a;--color-pink:#8c4a66;--color-pink-strong:#ff91ae;--color-pink-text:#ffb3c8;--color-speech-border:#d98aa5;--color-lavender:#4a3f6e;--color-lavender-strong:#a893ea;--color-lavender-text:#d4c8ff;--color-mint:#2f4f43;--color-butter:#6a5827;--color-text:#f4ebe7;--color-text-soft:#bfaea8;--color-border:#e9d9d1;--color-line-soft:#4d414a;--color-danger:#ff8078;--color-danger-bg:#3d2523;--color-success:#7fd4a8;--color-on-accent:#2a1b26;--color-stripe:#ffffff06;--color-shadow-tint:#120d15;--color-pink-soft:#3a2a35;--color-neutral-soft:#2f2833;--color-shell-bg:#17121a;--color-shell-check:#ff91ae0d;--shadow-soft:4px 4px 0 #120d15;--shadow-pop:4px 4px 0 #e9d9d18c;--u-me-bg:#4a2a33;--u-me-border:#8c4a5a;--u-me-dot:#f27389;--u-me-text:#ffb7c4;--u-partner-bg:#23344a;--u-partner-border:#3e638c;--u-partner-dot:#7ab3eb;--u-partner-text:#a9cdf5;--u-neutral-bg:#332c30;--u-neutral-border:#544a4c;--u-neutral-dot:#a3937f;--u-neutral-text:#d8c9bb;--tint-butter-bg:#3a3222;--tint-butter-border:#6a5a2e;--tint-butter-strong:#d9ab3f;--tint-butter-text:#f2d27a;--tint-pink-bg:#3d2630;--tint-pink-border:#7a3d55;--tint-pink-text:#ffb3c8;--tint-lavender-bg:#2f2942;--tint-lavender-border:#5b4d8a;--tint-lavender-strong:#a893ea;--tint-lavender-text:#d4c8ff;--tint-mint-bg:#22362c;--tint-mint-border:#3f6b52;--tint-mint-strong:#6fbf95;--tint-mint-text:#9fe0bd;--tint-sky-bg:#22303f;--tint-sky-border:#3d5a7c;--tint-sky-strong:#5b8dc9;--tint-sky-text:#9cc4f0;--cal-anniv-bg:#3d2430;--cal-anniv-text:#ffb3c8;--cal-anniv-soft-bg:#3a2530;--cal-anniv-soft-text:#f09ab8;--cal-holiday-bg:#3a2626;--cal-holiday-border:#7a3a3a;--cal-holiday-dot:#ff7b72;--cal-holiday-text:#ff9a94;--record-question-bg:#332d22;--record-compliment-bg:#362630;--record-date-bg:#23332b;--record-coupon-bg:#2d283a;--chip-question-bg:#3a3222;--chip-compliment-bg:#3d2630;--chip-date-bg:#22362c;--chip-coupon-bg:#2f2942;--chip-question-active-bg:#5a4a22;--chip-compliment-active-bg:#6a3348;--chip-date-active-bg:#2f5a44;--chip-coupon-active-bg:#4a3b78;--cal-anniv-soft-border:#7a3d55;--cal-memo-bg:#1f3a36;--cal-memo-border:#2f6b62;--cal-memo-dot:#3fbfae;--cal-memo-text:#a8e6dc;--surface-veil-94:#2a2330f0;--surface-veil-92:#2a2330eb;--surface-veil-90:#2a2330e6;--surface-veil-55:#2a23308c}:root[data-theme=chick]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#fffcec;--color-surface:#fffdf5;--color-surface-soft:#fff5d3;--color-pink:#feebb6;--color-pink-strong:#efc662;--color-pink-text:#8d641d;--color-speech-border:#d9ae5c;--color-lavender:#e4e0ff;--color-lavender-strong:#bda7f3;--color-lavender-text:#624e95;--color-mint:#d6f0e2;--color-butter:#ffd166;--color-text:#514225;--color-text-soft:#80704c;--color-border:#66522a;--color-line-soft:#eee1b8;--color-shadow-tint:#f4e7bb;--color-pink-soft:#fff6d6;--color-neutral-soft:#f8f1dc;--shadow-soft:4px 4px 0 #f4e7bb;--shadow-pop:4px 4px 0 #55462acc;--u-neutral-bg:#f6f0dc;--u-neutral-border:#e0d5b4;--u-neutral-dot:#b7a67a;--u-neutral-text:#6d5e3a;--surface-veil-94:#fffdf5f0;--surface-veil-92:#fffdf5eb;--surface-veil-90:#fffdf5e6;--surface-veil-55:#fffdf58c;--color-shell-bg:#fef2c3;--color-shell-check:#ecc8731a}:root[data-theme=cloud]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f3f8fe;--color-surface:#fbfdff;--color-surface-soft:#e7f1fd;--color-pink:#d0e4fc;--color-pink-strong:#8fbef0;--color-pink-text:#2f628f;--color-speech-border:#82aad7;--color-lavender:#e2dcff;--color-lavender-strong:#bda7f3;--color-lavender-text:#5a4a92;--color-mint:#d3f0e6;--color-butter:#ffe8a8;--color-text:#374658;--color-text-soft:#677a90;--color-border:#4e6682;--color-line-soft:#d6e4f3;--color-shadow-tint:#dce9f7;--color-pink-soft:#eaf3ff;--color-neutral-soft:#eef4fa;--shadow-soft:4px 4px 0 #dce9f7;--shadow-pop:4px 4px 0 #3b4a5ccc;--u-neutral-bg:#edf3f9;--u-neutral-border:#cbdbeb;--u-neutral-dot:#96acc4;--u-neutral-text:#4f6580;--surface-veil-94:#fbfdfff0;--surface-veil-92:#fbfdffeb;--surface-veil-90:#fbfdffe6;--surface-veil-55:#fbfdff8c;--color-shell-bg:#e0ecfb;--color-shell-check:#98c3ee1a}:root[data-theme=gray]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f3f3f5;--color-surface:#fbfbfc;--color-surface-soft:#e9e9ee;--color-pink:#dcdce4;--color-pink-strong:#a6a6b6;--color-pink-text:#4f4f5e;--color-speech-border:#9393a4;--color-lavender:#e4e2ee;--color-lavender-strong:#b3a9d6;--color-lavender-text:#5a5279;--color-mint:#e0e8e4;--color-butter:#efe9d8;--color-text:#3a3a44;--color-text-soft:#6d6d7a;--color-border:#52525f;--color-line-soft:#d8d8e0;--color-shadow-tint:#dcdce3;--color-pink-soft:#eeeef2;--color-neutral-soft:#ececf1;--shadow-soft:4px 4px 0 #dcdce3;--shadow-pop:4px 4px 0 #3a3a44cc;--u-neutral-bg:#ececf0;--u-neutral-border:#d3d3db;--u-neutral-dot:#a0a0ac;--u-neutral-text:#5a5a66;--surface-veil-94:#fbfbfcf0;--surface-veil-92:#fbfbfceb;--surface-veil-90:#fbfbfce6;--surface-veil-55:#fbfbfc8c;--color-shell-bg:#e3e3e9;--color-shell-check:#a6a6b61f}:root[data-theme=midnight]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#1b1d3a;--color-surface:#262a4d;--color-surface-soft:#2f3459;--color-pink:#4b3f74;--color-pink-strong:#a894ef;--color-pink-text:#cbbcff;--color-speech-border:#9b8ae0;--color-lavender:#3a3a6b;--color-lavender-strong:#8fa8f0;--color-lavender-text:#bcd0ff;--color-mint:#2a4a52;--color-butter:#5a5330;--color-text:#d7dcff;--color-text-soft:#aeb6df;--color-border:#aab2e0;--color-line-soft:#3b4070;--color-shadow-tint:#12142b;--color-pink-soft:#2a2b4f;--color-neutral-soft:#262a4d;--shadow-soft:4px 4px 0 #12142b;--shadow-pop:4px 4px 0 #080916d9;--u-neutral-bg:#2d3157;--u-neutral-border:#444a7d;--u-neutral-dot:#8b93c8;--u-neutral-text:#c3c9ee;--surface-veil-94:#262a4df0;--surface-veil-92:#262a4deb;--surface-veil-90:#262a4de6;--surface-veil-55:#262a4d8c;--color-shell-bg:#151733;--color-shell-check:#7882c81a}:root[data-theme=peach]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#fff1e8;--color-surface:#fffaf5;--color-surface-soft:#ffe6d8;--color-pink:#ffd9c7;--color-pink-strong:#ff9d7d;--color-pink-text:#b4573a;--color-speech-border:#e79375;--color-lavender:#efe4ff;--color-lavender-strong:#b99bec;--color-lavender-text:#6b4b95;--color-mint:#d9f0e4;--color-butter:#ffcf7a;--color-text:#6b4a42;--color-text-soft:#98756a;--color-border:#8a5a4a;--color-line-soft:#f6ddcd;--color-shadow-tint:#f6dccb;--color-pink-soft:#fff4ec;--color-neutral-soft:#fbeee5;--shadow-soft:4px 4px 0 #f6dccb;--shadow-pop:4px 4px 0 #7a4e3ecc;--u-neutral-bg:#f9ebe2;--u-neutral-border:#e8cdbd;--u-neutral-dot:#c49a85;--u-neutral-text:#7d5a4c;--surface-veil-94:#fffaf5f0;--surface-veil-92:#fffaf5eb;--surface-veil-90:#fffaf5e6;--surface-veil-55:#fffaf58c;--color-shell-bg:#ffe0cd;--color-shell-check:#eca0781a}:root[data-theme=matcha]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f1f7ec;--color-surface:#fbfdf8;--color-surface-soft:#e2efd9;--color-pink:#cfe3bd;--color-pink-strong:#7ea955;--color-pink-text:#43632c;--color-speech-border:#759b54;--color-lavender:#eadbe4;--color-lavender-strong:#b07f9d;--color-lavender-text:#6f4459;--color-mint:#d5efe2;--color-butter:#ffdf9a;--color-text:#3d4f35;--color-text-soft:#667a5c;--color-border:#4e6540;--color-line-soft:#dbe9d0;--color-shadow-tint:#d9e8cd;--color-pink-soft:#f3f9ed;--color-neutral-soft:#f0f5ea;--shadow-soft:4px 4px 0 #d9e8cd;--shadow-pop:4px 4px 0 #3f5432cc;--u-neutral-bg:#eaf2e3;--u-neutral-border:#cadcbb;--u-neutral-dot:#97b37e;--u-neutral-text:#4f6542;--surface-veil-94:#fbfdf8f0;--surface-veil-92:#fbfdf8eb;--surface-veil-90:#fbfdf8e6;--surface-veil-55:#fbfdf88c;--color-shell-bg:#ddebd2;--color-shell-check:#6e9b501a}:root[data-theme=lilac]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f4f0fd;--color-surface:#fdfbff;--color-surface-soft:#e9e1fa;--color-pink:#ddd0f7;--color-pink-strong:#a184e4;--color-pink-text:#5b3f90;--color-speech-border:#9478d6;--color-lavender:#ffe0ef;--color-lavender-strong:#ee8ab9;--color-lavender-text:#9c476f;--color-mint:#d9f0ea;--color-butter:#ffe6a3;--color-text:#453461;--color-text-soft:#6b5b87;--color-border:#54407e;--color-line-soft:#e4dcf5;--color-shadow-tint:#e2d8f6;--color-pink-soft:#f7f3ff;--color-neutral-soft:#f2eefa;--shadow-soft:4px 4px 0 #e2d8f6;--shadow-pop:4px 4px 0 #483769cc;--u-neutral-bg:#efe9fb;--u-neutral-border:#d5c9ef;--u-neutral-dot:#a893d8;--u-neutral-text:#574475;--surface-veil-94:#fdfbfff0;--surface-veil-92:#fdfbffeb;--surface-veil-90:#fdfbffe6;--surface-veil-55:#fdfbff8c;--color-shell-bg:#e3d9f7;--color-shell-check:#8769cd1a}:root[data-theme=mintchoco]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#e8f7f1;--color-surface:#f8fdfb;--color-surface-soft:#d4efe4;--color-pink:#e0cbb8;--color-pink-strong:#96613f;--color-pink-text:#5c3a22;--color-speech-border:#8a5738;--color-lavender:#c4ece0;--color-lavender-strong:#3ea787;--color-lavender-text:#1d6250;--color-mint:#cdefe3;--color-butter:#ffd98f;--color-text:#3f2a1c;--color-text-soft:#6b513f;--color-border:#5c3a22;--color-line-soft:#cfe8dd;--color-shadow-tint:#cae4d8;--color-pink-soft:#f6efe8;--color-neutral-soft:#eef7f3;--shadow-soft:4px 4px 0 #cae4d8;--shadow-pop:4px 4px 0 #462e1ecc;--u-neutral-bg:#e6f4ee;--u-neutral-border:#bfe0d3;--u-neutral-dot:#7fbaa4;--u-neutral-text:#4a6b5d;--surface-veil-94:#f8fdfbf0;--surface-veil-92:#f8fdfbeb;--surface-veil-90:#f8fdfbe6;--surface-veil-55:#f8fdfb8c;--color-shell-bg:#cfeadf;--color-shell-check:#50af911f}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0;padding:0;overflow:hidden}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:var(--tracking-body);word-break:keep-all;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}h1,h2,h3,.section-label{text-wrap:balance}#root{min-height:100dvh}h1,h2,h3,p{margin:0}h1,h2,h3,.font-cute{font-family:var(--font-heading);letter-spacing:var(--tracking-pixel);font-weight:400;line-height:var(--leading-snug)}h1{color:var(--color-text);font-size:var(--text-title);line-height:var(--leading-tight)}h2{font-size:var(--text-title-sm);line-height:var(--leading-tight)}h3{font-size:var(--text-lead)}::selection{color:var(--color-text);background:var(--color-pink)}.section-label{font-size:var(--text-helper);font-weight:700;line-height:var(--leading-snug);letter-spacing:var(--tracking-label);color:var(--color-text);font-family:var(--font-heading);align-items:center;gap:7px;display:inline-flex}.section-label:before{content:"";background:var(--page-accent-strong,var(--color-pink-strong));border:1px solid var(--color-border);width:7px;height:7px;box-shadow:1px 1px 0 var(--color-line-soft);flex:none}.section-label.record-type-label:before{display:none}.btn svg,.chip svg,.comment-open svg,.section-label svg{transform:translateY(-1px)}.section-label.record-type-label svg{transform:translateY(-2.5px)}.record-card-title{font-size:var(--text-body);line-height:var(--leading-body);align-items:flex-start;gap:7px}.record-card-title svg{flex:none;margin-top:4px}.record-card-body{white-space:pre-wrap;font-size:var(--text-read);line-height:var(--leading-body)}.record-card-meta{flex-wrap:wrap;align-items:center;row-gap:4px}.record-card-byline{flex-wrap:wrap;flex:180px;align-items:center;column-gap:4px;min-width:0;margin:0;display:flex;overflow:visible}.record-card-meta .record-card-byline{line-height:var(--leading-snug)}.record-card-byline-separator{color:var(--color-line-soft)}.record-card-byline time{white-space:nowrap;flex:none}.sealed-answer{--seal-accent:var(--color-pink-strong);background:repeating-linear-gradient(135deg, var(--color-stripe) 0 6px, transparent 6px 12px), var(--color-surface-soft);border:2px dashed var(--seal-accent);border-radius:var(--radius-md);box-shadow:2px 2px 0 var(--color-shadow-tint);align-items:center;gap:12px;padding:12px 14px;display:flex}.sealed-answer.is-compact{gap:9px;padding:8px 10px}.sealed-answer-envelope{flex:none;padding:6px;line-height:0;animation:2.4s ease-in-out infinite sealed-bob;display:inline-flex;position:relative}.sealed-answer-lock{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:2px;line-height:0;display:inline-flex;position:absolute;bottom:-2px;right:-2px}.sealed-answer-spark{line-height:0;animation:1.4s steps(2,end) infinite scene-twinkle;display:inline-flex;position:absolute}.sealed-answer-spark--a{top:-2px;left:-4px}.sealed-answer-spark--b{animation-delay:.7s;top:4px;right:-6px}.sealed-answer-title{font-family:var(--font-heading);font-size:var(--text-helper);color:var(--color-text);line-height:var(--leading-snug)}.sealed-answer-hint{font-family:var(--font-heading);font-size:var(--text-micro);color:color-mix(in srgb, var(--color-text-soft) 82%, var(--color-text));line-height:var(--leading-snug)}@keyframes sealed-bob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-3px)rotate(3deg)}}.answer-unlock{animation:.9s cubic-bezier(.2,1.4,.4,1) both answer-unlock}@keyframes answer-unlock{0%{opacity:0;transform:scale(.92)translateY(6px);box-shadow:0 0 #ff8aa899}55%{opacity:1;transform:scale(1.02)translateY(-2px);box-shadow:0 0 0 6px #ff8aa840}to{opacity:1;transform:none;box-shadow:2px 2px #dbc7bd6b}}@media (prefers-reduced-motion:reduce){.gift-fly-x{transition:none}.gift-fly-y,.sealed-answer-envelope,.sealed-answer-spark,.answer-unlock{animation:none}}.question-answer-card-me{--color-text-soft:var(--u-me-text);--color-pink-text:var(--u-me-text);background:var(--u-me-bg)}.question-answer-card-partner{--color-text-soft:var(--u-partner-text);--color-pink-text:var(--u-partner-text);background:var(--u-partner-bg)}button,input,textarea,select{color:inherit;font-family:inherit}button{cursor:pointer}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}input,textarea,select{font-size:max(16px,1em)}:where(button,a,input,textarea,select):focus-visible{outline:3px solid var(--color-lavender-strong);outline-offset:2px}a{color:inherit}ul{margin:0;padding:0;list-style:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{background-color:var(--color-shell-bg);background-image:linear-gradient(45deg, var(--color-shell-check) 25%, transparent 25%, transparent 75%, var(--color-shell-check) 75%), linear-gradient(45deg, var(--color-shell-check) 25%, transparent 25%, transparent 75%, var(--color-shell-check) 75%);background-position:0 0,14px 14px;background-size:28px 28px;justify-content:center;min-height:100dvh;display:flex}.phone-frame{width:100%;max-width:var(--max-width-phone);background:var(--color-bg);isolation:isolate;height:100dvh;padding-top:var(--sat);padding-left:var(--sal);padding-right:var(--sar);flex-direction:column;display:flex;position:relative}@media (display-mode:standalone) and (width<=639px),(display-mode:fullscreen) and (width<=639px){html.is-android .phone-frame{height:100vh}}@media (width<=639px){html.is-native.is-android .phone-frame{height:100vh}}@media (display-mode:standalone){.phone-frame{padding-top:max(var(--sat), 12px)}}html.is-native .phone-frame{padding-top:max(var(--sat), 12px)}.statusbar-tap{height:var(--sat);z-index:40;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;position:absolute;top:0;left:0;right:0}@media (display-mode:standalone){.statusbar-tap{height:max(var(--sat), 12px)}}html.is-native .statusbar-tap{height:max(var(--sat), 12px)}@media (orientation:landscape),(width>=900px) and (height>=600px){.statusbar-tap{display:none}}@media (width>=640px) and (width<=899px) and (orientation:portrait){.app-shell{padding:32px 16px}.phone-frame{border:3px solid var(--color-border);border-radius:var(--radius-lg);height:calc(100dvh - 64px);overflow:hidden;box-shadow:8px 8px #4a3b3540}}.app-header{background:var(--surface-veil-94);border-bottom:2px dashed var(--color-line-soft);flex-shrink:0;justify-content:space-between;align-items:center;min-height:56px;padding:8px 14px;display:flex}.page-tools{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:8px;display:flex}.app-brand{color:var(--color-pink-text);font-size:var(--text-lead);line-height:var(--leading-tight);white-space:nowrap;text-decoration:none}.app-brand-icon{--brand-icon-accent:var(--color-pink-strong);--brand-icon-rim:color-mix(in srgb, var(--brand-icon-accent) 70%, var(--color-text-soft));border-radius:var(--radius-sm);image-rendering:pixelated;box-shadow:0 0 0 1px var(--brand-icon-rim), 0 3px 0 color-mix(in srgb, var(--brand-icon-accent) 55%, var(--color-border)), 0 5px 4px -2px color-mix(in srgb, var(--brand-icon-accent) 35%, transparent);flex-shrink:0;display:block;transform:translateY(-2px)}.app-brand-icon[data-icon-theme=light]{--brand-icon-accent:#ff8fb0}.app-brand-icon[data-icon-theme=dark]{--brand-icon-accent:#ffabc5}.app-brand-icon[data-icon-theme=midnight]{--brand-icon-accent:#c3adff}.app-brand-icon[data-icon-theme=dark],.app-brand-icon[data-icon-theme=midnight]{--brand-icon-rim:color-mix(in srgb, var(--brand-icon-accent) 72%, var(--color-surface));box-shadow:0 0 0 1px var(--brand-icon-rim), 0 2px 0 color-mix(in srgb, var(--brand-icon-accent) 45%, var(--color-surface)), 0 0 7px color-mix(in srgb, var(--brand-icon-accent) 32%, transparent)}.home-button{border-radius:var(--radius-md);background:var(--color-surface);border:2px solid var(--color-border);width:44px;height:44px;font-size:var(--text-body);justify-content:center;align-items:center;text-decoration:none;transition:transform 60ms ease-out,box-shadow 60ms ease-out;display:inline-flex;box-shadow:0 3px #493a36b8}.icon-button{border-radius:var(--radius-md);opacity:.82;background:0 0;border:2px solid #0000;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.icon-button:hover,.icon-button.active{opacity:1;background:var(--color-surface-soft);border-color:var(--color-line-soft)}.search-panel{background:var(--surface-veil-94);border-bottom:2px dashed var(--color-line-soft);gap:8px;padding:10px 16px}.search-input{border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;min-height:42px;font-size:max(16px, var(--text-read));line-height:var(--leading-snug);letter-spacing:var(--tracking-body);flex:1;padding:8px 13px}.search-close{min-width:42px;min-height:42px;color:var(--color-text-soft);border-radius:var(--radius-md);font-family:var(--font-heading);font-size:var(--text-helper);line-height:var(--leading-tight);letter-spacing:var(--tracking-label);background:0 0;border:0;padding:4px 6px}.search-close:hover{color:var(--color-pink-text);background:var(--color-surface-soft)}.home-button:active{transform:translateY(3px);box-shadow:0 0 #4a3b35cc}.keycap{transition:transform 60ms ease-out,box-shadow 60ms ease-out;box-shadow:0 3px #4a3b35cc}.keycap:active{transform:translateY(3px);box-shadow:0 0 #4a3b35cc}.keycap-sm{transition:transform 60ms ease-out,box-shadow 60ms ease-out;box-shadow:0 2px #4a3b358c}.keycap-sm:active{transform:translateY(2px);box-shadow:0 0 #4a3b358c}.record-focus{animation:2s record-focus}.home-stage.record-focus{border-radius:var(--radius-md)}@keyframes record-focus{0%,55%{box-shadow:0 0 0 3px var(--color-pink-strong)}to{box-shadow:0 0 0 3px #ff8aa800}}.scroll-jump{right:14px;bottom:calc(var(--chrome-bottom) + var(--sab));background:var(--color-surface);background:color-mix(in srgb, var(--color-surface) 76%, transparent);border:2px solid var(--color-border);border-color:color-mix(in srgb, var(--color-border) 45%, transparent);border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text-soft);box-shadow:0 2px 0 var(--color-border);box-shadow:0 2px 0 color-mix(in srgb, var(--color-border) 34%, transparent);-webkit-backdrop-filter:blur(2px);z-index:30;justify-content:center;align-items:center;transition:transform 60ms ease-out,box-shadow 60ms ease-out,opacity .15s;display:flex;position:absolute}.scroll-jump:hover{color:var(--color-text);background:var(--color-surface);background:color-mix(in srgb, var(--color-surface) 92%, transparent)}.scroll-jump:active{box-shadow:0 0 0 var(--color-border);transform:translateY(2px)}.feedback-fab{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;z-index:1;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:transform 60ms ease-out,box-shadow 60ms ease-out,background .12s;display:flex;position:relative;box-shadow:0 3px #493a36b8}.home-feedback-row{justify-content:center;padding:2px 0 1px;display:flex}.feedback-fab:hover{background:var(--color-pink)}.feedback-fab:active{transform:translateY(3px);box-shadow:0 0 #493a36b8}.feedback-overlay{z-index:80;padding:20px 14px calc(20px + var(--sab));overscroll-behavior:contain;background:#493a365c;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.feedback-dialog{width:100%;max-height:calc(100% - 24px);padding:var(--dialog-pad);background:var(--color-surface);border:3px solid var(--color-border);border-radius:var(--radius-lg);overflow-y:auto;box-shadow:6px 6px #493a3657}.feedback-dialog-heading{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.feedback-dialog-heading h2,.feedback-thanks h2{color:var(--color-pink-text);font-size:var(--text-lead)}.feedback-dialog-icon,.feedback-thanks-icon{image-rendering:pixelated;justify-content:center;align-items:center;display:inline-flex}.feedback-close{background:var(--color-surface-soft);border:2px solid var(--color-line-soft);border-radius:var(--radius-md);width:38px;height:38px;color:var(--color-text-soft);justify-content:center;align-self:start;align-items:center;padding:0;display:flex}.feedback-close-mark{flex:0 0 14px;width:14px;height:14px;display:block;position:relative}.feedback-close-mark:before{content:"";background:currentColor;width:2px;height:2px;position:absolute;top:0;left:0;box-shadow:12px 0,2px 2px,10px 2px,4px 4px,8px 4px,6px 6px,4px 8px,8px 8px,2px 10px,10px 10px,0 12px,12px 12px}.feedback-categories{border:0;min-width:0;margin:2px 0 0;padding:0}.feedback-categories legend{color:var(--color-text-soft);font-size:var(--text-helper);margin-bottom:7px;font-weight:600}.feedback-category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.feedback-category{background:var(--color-surface);border:2px dashed var(--color-line-soft);border-radius:var(--radius-md);min-height:40px;color:var(--color-text-soft);font-family:var(--font-heading);font-size:var(--text-micro);line-height:var(--leading-tight);padding:6px 3px}.feedback-category.selected{background:var(--color-pink);border-style:solid;border-color:var(--color-border);color:var(--color-text);box-shadow:0 2px #493a368c}.feedback-dialog .field{position:relative}.feedback-dialog textarea{min-height:110px;padding-bottom:30px}.feedback-counter{color:var(--color-text-soft);font-size:var(--text-micro);position:absolute;bottom:7px;right:10px}.feedback-privacy{text-align:center;color:var(--color-text-soft);font-size:var(--text-micro);line-height:var(--leading-snug)}.feedback-thanks{text-align:center;align-items:center;padding:12px 2px 2px}.feedback-thanks .btn{margin-top:6px}@media (width<=360px){.feedback-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.scroll-track{z-index:25;pointer-events:none;width:4px;position:absolute;right:3px}.scroll-thumb{background:var(--color-border);background:color-mix(in srgb, var(--color-border) 48%, transparent);border-radius:2px;width:100%;position:absolute;left:0}.page-content{scrollbar-width:none;flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px 16px 24px;display:flex;overflow:hidden auto}.page-content>.stack{gap:12px}.home-layout{flex-direction:column;gap:12px;margin-top:-4px;display:flex}.home-layout>.stack{gap:16px}.upcoming-anniv-btn{font-size:var(--text-body-sm)}@media (width>=900px) and (height>=600px),(orientation:landscape) and (height<=520px){.upcoming-anniv-btn{font-size:var(--text-meta)}}.settings-page .section-label,.home-layout .section-label,.sidebar-hero .section-label,.question-page .section-label,.calendar-page .section-label,.album-page .section-label,.datepick-page .section-label,.memo-page>.card>.section-label,.memo-page>.section-label{font-size:var(--text-body)}.page-title{border-bottom:2px dashed var(--page-accent-border,var(--color-line-soft));align-items:center;gap:10px;padding:0 2px 10px;display:flex}.page-title-icon{background:var(--page-accent-bg,var(--color-surface-soft));border:2px solid var(--color-border);border-radius:var(--radius-md);width:40px;height:40px;box-shadow:2px 2px 0 var(--color-shadow-tint);flex:none;justify-content:center;align-items:center;display:inline-flex}.page-title-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.page-title h1{font-size:var(--text-title);line-height:var(--leading-tight)}.page-title-copy>p{color:var(--color-text-soft);font-size:var(--text-helper);line-height:var(--leading-snug);letter-spacing:var(--tracking-body)}.home-hero{text-align:center;align-items:center;gap:10px;padding-top:0}.home-couple-name{font-size:var(--text-title-sm);line-height:var(--leading-tight);text-align:center;justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.home-couple-name>:first-child,.home-couple-name>:last-child{text-align:center;overflow-wrap:anywhere;min-width:0}.home-speech-wrap{--speech-border:var(--color-speech-border);z-index:1;filter:drop-shadow(4px 4px #efd0d8);width:fit-content;min-width:172px;max-width:calc(100% - 24px);margin-bottom:-17px;position:relative}.home-speech-bubble{background:var(--speech-border);clip-path:polygon(8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px),0 8px,4px 8px,4px 4px,8px 4px);width:100%;padding:3px}.home-speech-tail{background:var(--speech-border);clip-path:polygon(4px 0,20px 0,20px 16px,12px 16px,12px 12px,8px 12px,8px 8px,4px 8px);width:20px;height:16px;transition:margin-left .25s;position:absolute;bottom:-13px}.home-speech-tail:before{content:"";background:var(--color-surface);clip-path:polygon(4px 0,17px 0,17px 12px,11px 12px,11px 8px,7px 8px,7px 4px,4px 4px);position:absolute;inset:0}.home-speech-wrap.speaker-left .home-speech-tail{margin-left:var(--tail-left,-46px);left:50%;transform:translate(-50%)scaleX(-1)}.home-speech-wrap.speaker-right .home-speech-tail{margin-left:var(--tail-right,46px);left:50%;transform:translate(-50%)}.home-speech-wrap.is-editing{--speech-border:var(--color-pink-text);width:min(300px,100% - 24px);filter:drop-shadow(4px 4px 0 var(--color-pink))}.tagline-button{z-index:1;background:var(--color-surface);width:100%;max-width:100%;min-height:40px;color:var(--speech-text,var(--color-text));font-family:var(--font-heading);font-size:var(--text-read);line-height:var(--leading-snug);letter-spacing:var(--tracking-pixel);border:0;border-radius:0;justify-content:center;align-items:center;gap:7px;padding:6px 14px;display:inline-flex;position:relative}.tagline-button:hover{background:var(--color-pink-soft)}.tagline-button svg{flex:none;transform:translateY(-1px)}.tagline-edit-hint{opacity:.78;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:opacity .15s steps(2,end),transform .15s steps(2,end);display:inline-flex;position:absolute;top:50%;right:-30px;transform:translateY(-50%)}.home-speech-wrap:hover .tagline-edit-hint,.home-speech-wrap:focus-within .tagline-edit-hint{opacity:1;transform:translateY(-50%)rotate(-7deg)}.tagline-input{z-index:1;background:var(--color-surface);width:100%;min-height:40px;color:var(--color-text);font-family:var(--font-heading);font-size:max(16px, var(--text-read));line-height:var(--leading-snug);letter-spacing:var(--tracking-pixel);text-align:center;border:0;border-radius:0;outline:0;padding:6px 11px;position:relative}.anniversary-card{text-align:center;background:linear-gradient(180deg, #ffc8d738, transparent 42%), var(--color-surface);gap:7px}.home-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:8px;display:grid}.home-quick-actions .quick-action{width:100%;min-width:0;min-height:64px;color:var(--color-text);font-family:var(--font-heading);font-size:var(--text-micro);line-height:var(--leading-snug);letter-spacing:0;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 4px 9px;text-decoration:none;display:flex;position:relative}.quick-action-icon{line-height:0;display:inline-flex}.quick-action-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.quick-action-dot{background:var(--u-me-dot,#e8302a);border:1.5px solid #fffefa;border-radius:50%;width:9px;height:9px;position:absolute;top:6px;right:8px}.quick-action-envelope{width:8px;height:6px;line-height:0;position:absolute;top:6px;right:7px}.quick-action-envelope svg{width:8px;height:6px;display:block}@media (width>=390px){.home-quick-actions .quick-action{font-size:var(--text-helper);min-height:68px}}.calendar-swipe-area{touch-action:pan-y;-webkit-user-select:none;user-select:none}.calendar-event-title{font-family:var(--font-heading);letter-spacing:var(--tracking-pixel)}.settings-display-name{min-height:52px!important;font-size:var(--text-lead)!important;line-height:var(--leading-snug)!important;padding:13px 15px!important}.page-content::-webkit-scrollbar{display:none}.centered-page{min-height:100%;max-width:var(--max-width-phone);flex-direction:column;justify-content:center;gap:24px;width:100%;margin:0 auto;padding:12px 4px;display:flex}#root>.centered-page{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100dvh;overflow-y:auto}.centered-page>.stack:first-child{gap:8px}.centered-page>.stack:first-child h1{color:var(--color-pink-text)}.centered-page>.card,.centered-page>form{width:100%}.bottom-nav{border-top:2px solid var(--color-border);background:var(--color-surface);padding:6px 6px calc(6px + var(--sab));gap:2px;display:flex}.bottom-nav a{min-height:var(--touch-min);border-radius:var(--radius-md);font-size:var(--text-meta);line-height:var(--leading-tight);letter-spacing:0;font-family:var(--font-heading);color:var(--color-text-soft);border:2px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:5px 2px;text-decoration:none;display:flex}.bottom-nav a svg{transition:transform .12s steps(2,end)}.bottom-nav a:hover svg,.bottom-nav a.active svg{transform:translateY(-1px)}.bottom-nav a{transition:transform 60ms ease-out}.bottom-nav a:active{transform:translateY(2px)}.bottom-nav a.active{color:var(--color-text);background:var(--color-pink);border-color:var(--color-border);box-shadow:0 2px #493a36b8}.footer-tagline{text-align:center;font-family:var(--font-heading);letter-spacing:var(--tracking-pixel);font-size:var(--text-body-sm);line-height:var(--leading-snug);color:var(--color-text-soft);background:var(--color-surface);border-top:2px dashed var(--color-line-soft);white-space:nowrap;padding:6px 12px;position:relative;overflow:hidden}.footer-tagline-measure{visibility:hidden;pointer-events:none;white-space:nowrap;position:absolute}.footer-tagline-static{display:block}.footer-tagline.is-marquee{text-align:left}.footer-tagline-track{--tagline-gap:48px;gap:var(--tagline-gap);will-change:transform;width:max-content;animation:footer-tagline-marquee var(--tagline-duration) linear infinite;display:flex}.footer-tagline-copy{white-space:nowrap;flex:none}@keyframes footer-tagline-marquee{0%{transform:translate(0,0)}to{transform:translate3d(calc(-1 * var(--tagline-distance)), 0, 0)}}.card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);overflow-wrap:anywhere;word-break:keep-all;line-height:var(--leading-body);padding:14px}.card-soft{background:var(--color-surface-soft);border:2px dashed var(--color-line-soft);border-radius:var(--radius-md);overflow-wrap:anywhere;word-break:keep-all;line-height:var(--leading-body);padding:12px;box-shadow:2px 2px #dbc7bd6b}.btn{min-height:var(--touch-min);border-radius:var(--radius-md);border:2px solid var(--color-border);font-size:var(--text-body-sm);line-height:var(--leading-tight);letter-spacing:var(--tracking-label);font-family:var(--font-heading);justify-content:center;align-items:center;gap:6px;padding:10px 18px;transition:transform 60ms ease-out,box-shadow 60ms ease-out;display:inline-flex;box-shadow:0 4px #493a36c7}@media (hover:hover){.btn:not(:disabled):hover,.chip:hover,.keycap:hover,.keycap-sm:hover{filter:saturate(1.06)brightness(1.015)}}.btn:active{transform:translateY(4px);box-shadow:0 0 #4a3b35cc}.btn-sm{min-height:var(--control-sm);font-size:var(--text-helper);padding:6px 12px;box-shadow:0 3px #4a3b35cc}.btn-sm:active{transform:translateY(3px);box-shadow:0 0 #4a3b35cc}.btn-primary{background:var(--color-pink);color:var(--color-text)}.btn-secondary{background:var(--color-surface-soft);color:var(--color-text)}.btn-ghost{color:var(--color-pink-text);box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:active{transform:translateY(1px)}.confirm-backdrop{z-index:80;background:color-mix(in srgb, var(--color-text) 38%, transparent);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.password-dialog{text-align:left;width:min(360px,100vw - 32px)}.password-dialog .field{gap:4px}.password-dialog .btn{width:100%}.confirm-card{width:min(100%,340px);padding:var(--dialog-pad);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 0 var(--color-border);gap:var(--dialog-gap);flex-direction:column;display:flex}.confirm-title{font-size:var(--text-lead);line-height:var(--leading-snug);color:var(--color-text)}.confirm-message{font-size:var(--text-helper);line-height:var(--leading-relaxed)}.confirm-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.confirm-actions .btn{min-height:var(--touch-min)}.confirm-actions.is-choices{grid-template-columns:1fr}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger)}.btn-block{width:100%}.btn:disabled{opacity:.7;cursor:not-allowed;transform:translateY(2px);box-shadow:0 2px #4a3b3559}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:var(--text-helper);line-height:var(--leading-snug);color:var(--color-text-soft);font-weight:600}.field input,.field textarea,.card>.stack>input:not([type=date]),.card input[type=text],.card textarea,.card-soft textarea,.capsule-card textarea{border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:max(16px, var(--text-read));line-height:var(--leading-snug);letter-spacing:var(--tracking-body);background:var(--color-surface);min-height:var(--touch-min);width:100%;padding:11px 13px;box-shadow:inset 2px 2px #4a3b3514}.field input:focus,.field textarea:focus,.card input:focus,.card textarea:focus,.card-soft textarea:focus{outline:2px solid var(--color-pink-strong);outline-offset:1px}.field textarea,.card textarea,.card-soft textarea{resize:vertical;min-height:88px}input::placeholder,textarea::placeholder{color:var(--color-text-soft);opacity:1}input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;background:var(--color-neutral-soft)}.text-soft{color:var(--color-text-soft);line-height:var(--leading-snug)}.text-lead{font-size:var(--text-lead);line-height:var(--leading-body)}.text-body-sm{font-size:var(--text-body-sm);line-height:var(--leading-body)}.text-body-date{font-size:var(--text-body);line-height:var(--leading-snug)}.text-helper{font-size:var(--text-helper);line-height:var(--leading-snug)}.text-meta{font-size:var(--text-meta);line-height:var(--leading-snug);letter-spacing:var(--tracking-body)}.text-micro{font-size:var(--text-micro);line-height:var(--leading-snug);letter-spacing:0}.text-success{color:var(--color-success)}.text-pink{color:var(--color-pink-text)}.text-lavender{color:var(--color-lavender-text)}.error-text{color:var(--color-danger);font-size:var(--text-helper);line-height:var(--leading-body);background:var(--color-danger-bg);border:2px solid var(--color-danger);border-radius:var(--radius-md);padding:9px 11px}.stack{flex-direction:column;gap:10px;display:flex}.row{align-items:center;gap:8px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.chip{border-radius:var(--radius-md);border:2px solid var(--color-line-soft);background:var(--color-surface);font-size:var(--text-meta);line-height:var(--leading-tight);letter-spacing:var(--tracking-label);font-family:var(--font-heading);min-height:var(--control-sm);align-items:center;padding:4px 10px;transition:transform 60ms ease-out,box-shadow 60ms ease-out;display:inline-flex;box-shadow:0 2px #4a3b354d}.chip:active{transform:translateY(2px);box-shadow:0 0 #4a3b3540}.chip.active{background:var(--color-pink);border-color:var(--color-border);color:var(--color-text);box-shadow:0 2px #4a3b35cc}.comment-open{min-height:32px;color:var(--color-text-soft);border-radius:var(--radius-md);font-size:var(--text-body-sm);line-height:var(--leading-snug);background:0 0;border:2px solid #0000;align-self:flex-start;align-items:center;gap:5px;margin-bottom:-6px;padding:4px 7px;display:inline-flex}.comment-open:hover{color:var(--color-pink-text);background:var(--color-surface-soft);border-color:var(--color-line-soft)}.reply-comment{border-left:2px solid var(--color-line-soft);justify-content:space-between;align-items:flex-start;gap:6px;margin-left:16px;padding-left:8px;display:flex}.reply-comment-copy{text-align:left;flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.reply-comment-author,.reply-comment-content{text-align:left;width:100%}.reply-comment-author{font-weight:600;line-height:var(--leading-snug)}.reply-comment-content{overflow-wrap:anywhere;line-height:var(--leading-body)}.reply-delete-button{flex:none;align-self:flex-start;margin-top:0}.comment-user-me{color:var(--u-me-text)}.comment-user-partner{color:var(--u-partner-text)}.compliment-note-card{gap:8px}.compliment-note-author{--author-accent:var(--color-text-soft);--author-accent-soft:var(--color-line-soft);color:var(--author-accent);font-size:var(--text-lead);line-height:var(--leading-snug);align-self:flex-start;align-items:center;gap:7px;display:inline-flex}.compliment-note-author:before{content:"";background:var(--author-accent-soft);border:1px solid var(--author-accent);width:7px;height:7px;box-shadow:2px 2px 0 var(--author-accent-soft);flex:none}.compliment-note-author.author-me{--author-accent:var(--u-me-text);--author-accent-soft:var(--u-me-border)}.compliment-note-author.author-partner{--author-accent:var(--u-partner-text);--author-accent-soft:var(--u-partner-border)}.compliment-note-content{white-space:pre-wrap;font-size:var(--text-read);line-height:var(--leading-relaxed)}.memo-card-footer{justify-content:space-between;align-items:center;gap:10px;min-height:32px;margin-top:14px;display:flex}.memo-card-meta{min-width:0;line-height:var(--leading-snug);align-items:center;gap:6px;display:flex}.memo-card-author{max-width:82px;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.memo-card-separator{color:var(--color-line-soft)}.memo-card-meta time{white-space:nowrap}.tone-card--butter{background:var(--tint-butter-bg);border-color:var(--tint-butter-border)}.tone-card--pink{background:var(--tint-pink-bg);border-color:var(--tint-pink-border)}.tone-card--lavender{background:var(--tint-lavender-bg);border-color:var(--tint-lavender-border)}.tone-card--mint{background:var(--tint-mint-bg);border-color:var(--tint-mint-border)}.chip.chip-tone-butter{background:var(--tint-butter-bg)}.chip.chip-tone-pink{background:var(--tint-pink-bg)}.chip.chip-tone-lavender{background:var(--tint-lavender-bg)}.chip.chip-tone-mint{background:var(--tint-mint-bg)}.chip.chip-tone-butter.active{background:var(--tint-butter-border);border-color:var(--color-border)}.chip.chip-tone-pink.active{background:var(--tint-pink-border);border-color:var(--color-border)}.chip.chip-tone-lavender.active{background:var(--tint-lavender-border);border-color:var(--color-border)}.chip.chip-tone-mint.active{background:var(--tint-mint-border);border-color:var(--color-border)}.memo-card.is-pinned{background:var(--tint-butter-bg);border-color:var(--tint-butter-strong);box-shadow:3px 3px 0 var(--tint-butter-border);position:relative}.memo-list.memos-by-person .memo-card.memo-by-me:not(.is-pinned){--color-text-soft:var(--u-me-text);background:var(--u-me-bg)}.memo-list.memos-by-person .memo-card.memo-by-partner:not(.is-pinned){--color-text-soft:var(--u-partner-text);background:var(--u-partner-bg)}.memo-pin-badge{background:var(--color-surface);border:2px solid var(--tint-butter-strong);border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:var(--text-micro);color:var(--tint-butter-text);align-items:center;gap:4px;padding:2px 8px 1px;line-height:1.2;display:inline-flex;position:absolute;top:-11px;right:12px;transform:rotate(3deg)}.memo-action-button.is-active{color:var(--tint-butter-text)}.memo-card-actions{flex:none;align-items:center;gap:2px;margin-left:auto;display:flex}.memo-action-button{min-width:36px;min-height:32px;color:var(--color-pink-text);border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:var(--text-micro);line-height:var(--leading-tight);letter-spacing:var(--tracking-label);background:0 0;border:2px solid #0000;padding:3px 7px}.memo-action-button:hover{background:var(--color-surface-soft);border-color:var(--color-line-soft)}.memo-action-delete{color:var(--color-danger)}@keyframes heart-bounce{0%{transform:scale(1)}35%{transform:scale(1.3)}60%{transform:scale(.92)}to{transform:scale(1)}}.heart-pop{display:inline-flex}@media (prefers-reduced-motion:no-preference){.heart-pop.pop{animation:.45s steps(4,end) heart-bounce}}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:no-preference){.float-soft{animation:1.6s steps(2,end) infinite float-soft}.float-soft-delayed{animation:1.6s steps(2,end) .8s infinite float-soft}}@keyframes spin-wobble{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){.spin-wobble{animation:.9s steps(8,end) spin-wobble}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.fade-in-up{animation:.2s steps(3,end) fade-in-up}}.spinner{border:3px solid var(--color-line-soft);border-top-color:var(--color-pink-strong);border-radius:0;width:24px;height:24px;margin:0 auto}@media (prefers-reduced-motion:no-preference){.spinner{animation:1s steps(8,end) infinite spinner-rotate}}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.state-box{text-align:center;color:var(--color-text-soft);border:2px dashed var(--color-line-soft);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface-soft) 62%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:32px 20px;display:flex}.state-icon{background:var(--color-surface);border:2px solid var(--color-line-soft);border-radius:var(--radius-md);width:48px;height:48px;box-shadow:2px 2px 0 var(--color-shadow-tint);justify-content:center;align-items:center;display:inline-flex}.particle{pointer-events:none;opacity:0;z-index:5;position:absolute;top:30%}@media (prefers-reduced-motion:no-preference){.particle{animation:1.1s ease-out forwards particle-float}}@media (prefers-reduced-motion:reduce){.particle{opacity:1}}@keyframes particle-float{0%{opacity:0;transform:translateY(6px)scale(.7)}15%{opacity:1}to{opacity:0;transform:translateY(-42px)scale(1.2)}}.reaction-fly{pointer-events:none;opacity:0;z-index:5;position:absolute;top:-6px;left:50%}@media (prefers-reduced-motion:no-preference){.reaction-fly{animation:1s ease-out forwards reaction-fly}}@keyframes reaction-fly{0%{opacity:0;transform:translate(-50%,4px)scale(.6)rotate(0)}15%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--fx,0px)), -38px) scale(1.2) rotate(var(--fr,0deg))}}.center-heart{display:inline-flex}.couple-mascot-pair{transform-origin:bottom;justify-content:center;align-items:flex-end;gap:4px;display:inline-flex}.couple-mascot-character{object-fit:contain;height:auto;image-rendering:pixelated;-webkit-user-drag:none;flex:none;display:block}.mascot-tap{z-index:0;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;align-items:flex-end;margin:0;padding:0;line-height:0;display:flex;position:relative}.mascot-anim{transform-origin:bottom;display:inline-flex;position:relative}.home-stage[data-care-side=right] .presence-pill{left:auto;right:8px}.presence-pill{opacity:0}@media (prefers-reduced-motion:no-preference){.presence-pill{transition:opacity .2s ease-out}}.presence-pill{z-index:3;font-size:var(--text-micro);color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;display:inline-flex;position:absolute;bottom:8px;left:8px;box-shadow:1px 1px #4a3b3559}.presence-note{font-size:var(--text-micro);color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);white-space:nowrap;border-radius:999px;align-self:center;align-items:center;gap:6px;margin:2px auto -4px;padding:3px 10px 3px 8px;line-height:1.4;animation:.32s cubic-bezier(.2,1.4,.4,1) backwards presence-note-in;display:inline-flex;position:relative;top:-4px;box-shadow:1px 1px #4a3b3559}@keyframes presence-note-in{0%{opacity:0;transform:translateY(6px)scale(.94)}to{opacity:1;transform:none}}.presence-dot{background:#4fc27b;border-radius:50%;width:7px;height:7px;animation:1.6s steps(2,end) infinite presence-blink;box-shadow:0 0 0 2px #4fc27b40}@keyframes presence-blink{0%,to{opacity:1}50%{opacity:.45}}.onboarding-body{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:18px 18px 22px;display:flex}.onboarding-icon{background:var(--tint-butter-bg,#fff4cf);border:2px solid var(--color-border);border-radius:12px;padding:14px;display:inline-flex}.onboarding-title{font-size:var(--text-lead);margin:0}.onboarding-text{font-size:var(--text-body-sm);line-height:var(--leading-body);color:var(--color-text-soft);max-width:34ch;margin:0}.onboarding-dots{gap:6px;display:flex}.onboarding-dot{background:var(--color-line-soft);border-radius:2px;width:8px;height:8px}.onboarding-dot.is-on{background:var(--color-pink-strong)}.onboarding-actions{gap:8px;width:100%;display:flex}.onboarding-actions .btn{flex:1 1 0;min-height:44px}.mascot-face{pointer-events:none;position:absolute}.mascot-fox{width:45%}.mascot-horse{width:55%}@media (prefers-reduced-motion:no-preference){.pg-hop{animation:.7s steps(4,end) 2 jump-both}.pg-wiggle{animation:1.6s steps(8,end) pg-wiggle}.pg-beat{animation:.7s steps(4,end) 2 heart-bounce}.pg-tilt{animation:1.6s steps(6,end) pg-tilt}.pg-nod{animation:1.3s steps(6,end) pg-nod}.pg-shake{animation:1.2s steps(6,end) pg-shake}.pg-squish{animation:1.2s steps(5,end) pg-squish}}@keyframes pg-nod{0%,to{transform:none}25%{transform:translateY(3px)rotate(7deg)}55%{transform:translateY(0)rotate(-5deg)}80%{transform:translateY(2px)rotate(3deg)}}@keyframes pg-shake{0%,to{transform:none}20%{transform:translate(-4px)rotate(-6deg)}45%{transform:translate(4px)rotate(6deg)}70%{transform:translate(-2px)rotate(-3deg)}}@keyframes pg-squish{0%,to{transform:none}30%{transform:scaleX(1.12)scaleY(.82)}60%{transform:scaleX(.94)scaleY(1.1)translateY(-5px)}85%{transform:scaleX(1.03)scaleY(.97)}}@keyframes pg-wiggle{0%,to{transform:rotate(0)}20%,60%{transform:rotate(3deg)}40%,80%{transform:rotate(-3deg)}}@keyframes pg-tilt{0%,to{transform:rotate(0)translateY(0)}30%{transform:rotate(-4deg)translateY(-4px)}65%{transform:rotate(4deg)translateY(-4px)}}@media (prefers-reduced-motion:no-preference){.center-heart{animation:.6s steps(4,end) 2 heart-bounce}.g-kiss-l{animation:1.4s steps(6,end) kiss-l}.g-kiss-r{animation:1.4s steps(6,end) kiss-r}.g-hug-l{animation:1.6s steps(8,end) hug-l}.g-hug-r{animation:1.6s steps(8,end) hug-r}.g-jump-l{animation:.7s steps(4,end) 2 jump-both}.g-jump-r{animation:.7s steps(4,end) .1s 2 jump-both}.g-nuzzle-l{animation:1.6s steps(8,end) nuzzle-l}.g-nuzzle-r{animation:1.6s steps(8,end) nuzzle-r}.g-pat-l{animation:1.5s steps(6,end) pat-squish}.g-pat-r{animation:1.5s steps(6,end) pat-reach}.g-heart-l{animation:1.6s steps(6,end) heart-lean-l}.g-heart-r{animation:1.6s steps(6,end) heart-lean-r}}@keyframes kiss-l{0%,to{transform:none}35%,70%{transform:translate(9px)rotate(9deg)}}@keyframes kiss-r{0%,to{transform:none}35%,70%{transform:translate(-9px)rotate(-9deg)}}@keyframes hug-l{0%,to{transform:none}30%{transform:translate(12px)rotate(6deg)}45%{transform:translate(12px)rotate(2deg)}60%{transform:translate(12px)rotate(8deg)}75%{transform:translate(12px)rotate(4deg)}}@keyframes hug-r{0%,to{transform:none}30%{transform:translate(-12px)rotate(-6deg)}45%{transform:translate(-12px)rotate(-2deg)}60%{transform:translate(-12px)rotate(-8deg)}75%{transform:translate(-12px)rotate(-4deg)}}@keyframes jump-both{0%,to{transform:translateY(0)}40%{transform:translateY(-12px)}60%{transform:translateY(-12px)}}@keyframes nuzzle-l{0%,to{transform:none}25%,55%,85%{transform:translate(7px)rotate(10deg)}40%,70%{transform:translate(5px)rotate(4deg)}}@keyframes nuzzle-r{0%,to{transform:none}25%,55%,85%{transform:translate(-7px)rotate(-10deg)}40%,70%{transform:translate(-5px)rotate(-4deg)}}@keyframes pat-reach{0%,to{transform:none}30%,75%{transform:translate(-8px,-5px)rotate(-14deg)}}@keyframes pat-squish{0%,to{transform:none}35%,50%,65%{transform:translateY(3px)scaleY(.92)}42%,58%{transform:translateY(1px)scaleY(.97)}}@keyframes heart-lean-l{0%,to{transform:none}25%{transform:rotate(-8deg)translate(-4px)}55%,80%{transform:rotate(6deg)translate(5px)}}@keyframes heart-lean-r{0%,to{transform:none}25%{transform:rotate(8deg)translate(4px)}55%,80%{transform:rotate(-6deg)translate(-5px)}}mark.search-hit{background:var(--tint-butter-strong);color:var(--color-on-accent);border-radius:var(--radius-sm);padding:0 2px}.scroll-fade-wrap{z-index:5;pointer-events:none;flex-shrink:0;height:0;position:relative}.scroll-fade-top{background:linear-gradient(to bottom, var(--color-bg), transparent 85%);opacity:0;height:68px;transition:opacity .25s;position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000 18%,#0000 92%);mask-image:linear-gradient(#000 18%,#0000 92%)}.scroll-fade-top.visible{opacity:1}@media (width<=360px){.page-content{padding:18px 14px 24px}.page-title{gap:9px}.page-title-copy>p{font-size:var(--text-meta)}.card{padding:15px}}input[type=date],input[type=time]{appearance:none;width:100%;min-width:0;max-width:100%;font-family:inherit}input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.2em}input[type=time]::-webkit-date-and-time-value{text-align:left;min-height:1.2em}.field{min-width:0}.gauge-row{gap:3px;display:flex}.gauge-cell{background:var(--color-pink-soft);border:2px solid var(--color-pink);border-radius:2px;flex:1;min-width:0;height:13px}.gauge-cell.filled{background:var(--color-pink-strong);border-color:var(--color-pink-strong)}@media (prefers-reduced-motion:no-preference){.gauge-cell.filled{animation:.3s backwards gauge-fill-in;animation-delay:calc(var(--i) * 70ms)}.gauge-cell.frontier{animation:1.2s ease-in-out infinite gauge-blink;animation-delay:calc(var(--i) * 70ms + .2s)}}@keyframes gauge-fill-in{0%{background:var(--color-pink-soft);border-color:var(--color-pink)}}@keyframes gauge-blink{0%,to{background:var(--color-pink-soft)}50%{background:var(--color-pink)}}.tap-hearts-layer{pointer-events:none;z-index:90;position:fixed;inset:0;overflow:hidden}.tap-heart{text-shadow:0 1px #fff9;will-change:transform, opacity;line-height:1;animation:.95s ease-out both tap-heart-float;position:absolute}@keyframes tap-heart-float{0%{opacity:.95;transform:translate(-50%,-50%)scale(.6)}25%{opacity:1;transform:translate(-50%, -50%) translate(calc(var(--heart-drift) * .35), -16px) scale(1.05)}to{opacity:0;transform:translate(-50%, -50%) translate(var(--heart-drift), -62px) scale(.9)}}.album-composer-open{width:100%;font-family:var(--font-heading);font-size:var(--text-body-sm);color:var(--color-pink-text);text-align:center;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:14px;line-height:1.5;display:flex}.album-composer-open>span{text-wrap:balance;min-width:0}.pixel-icon{vertical-align:middle;flex-shrink:0}.album-composer-open>.pixel-icon,.date-picker-category-icon>.pixel-icon{display:block}.date-picker-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.date-picker-category{text-align:center;min-width:0;min-height:104px;line-height:1.5}.date-picker-category-icon{justify-content:center;align-items:center;width:40px;height:40px;display:flex}.album-backing{border:2px solid var(--color-line-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);flex-direction:column;gap:10px;padding:16px 14px 14px;display:flex;position:relative}.album-polaroid{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);padding:10px 10px 12px;position:relative}.album-feed>.album-backing:nth-child(odd) .album-polaroid{transform:rotate(1.2deg)}.album-feed>.album-backing:nth-child(2n) .album-polaroid{transform:rotate(-1.2deg)}.album-tape{opacity:.92;z-index:2;border:1px solid #5d494340;width:74px;height:20px;position:absolute;top:-10px;left:50%}.album-photo-box{aspect-ratio:1;border:1px solid var(--color-line-soft);background:var(--color-neutral-soft);cursor:pointer;width:100%;padding:0;display:block;position:relative;overflow:hidden}.album-photo{object-fit:cover;width:100%;height:100%;display:block}.album-photo-contain{object-fit:contain}.album-count-badge{color:var(--color-on-overlay);font-family:var(--font-heading);font-size:var(--text-micro);border-radius:var(--radius-sm);z-index:2;background:#493a36c7;padding:1px 7px;position:absolute;bottom:6px;right:6px}.album-caption{white-space:pre-wrap;font-size:var(--text-body-sm);line-height:var(--leading-body);overflow-wrap:anywhere}.album-stamp-row{z-index:3;gap:5px;display:flex;position:absolute;top:6px;right:8px}.album-stamp{background:var(--surface-veil-92);border:2px dashed var(--color-line-soft);border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:var(--text-micro);color:var(--color-text-soft);align-items:center;gap:4px;padding:2px 7px;display:inline-flex}.album-stamp-pick{border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:var(--text-meta);color:var(--color-text);background:0 0;border-width:2px;align-items:center;gap:5px;padding:5px 9px;display:inline-flex}.album-swatch{border-radius:var(--radius-sm);border-width:2px;width:34px;height:34px;padding:0}.album-swatch-tape{border-radius:2px;width:44px;height:22px}.album-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.album-preview-cell{aspect-ratio:1;border:2px solid var(--color-line-soft);border-radius:var(--radius-sm);position:relative;overflow:hidden}.album-preview-cell img{object-fit:cover;cursor:pointer;width:100%;height:100%;display:block}.album-cover-badge{background:var(--color-pink-strong);color:var(--color-on-accent);font-family:var(--font-heading);font-size:var(--text-nano);border-radius:var(--radius-sm);padding:0 5px;position:absolute;top:3px;left:3px}.album-preview-remove{width:24px;height:24px;color:var(--color-on-overlay);border:2px solid var(--color-bg);border-radius:var(--radius-sm);font-size:var(--text-body);background:#493a36d9;justify-content:center;align-items:center;padding:0;font-weight:700;line-height:1;display:flex;position:absolute;top:3px;right:3px}.album-preview-remove:disabled{opacity:.5}.album-preview-add{aspect-ratio:1;border:2px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-pink-text);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;font-family:inherit;display:flex}.album-preview-add:disabled{opacity:.5;cursor:default}.album-preview-add-plus{font-size:var(--text-display);font-weight:700;line-height:1}.album-preview-add-label{font-size:var(--text-helper);line-height:1}.album-month-header{font-size:var(--text-body);color:var(--color-pink-text)}.album-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.album-gallery-tile{aspect-ratio:1;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-neutral-soft);box-shadow:2px 2px 0 var(--color-shadow-tint);padding:0;position:relative;overflow:hidden}.album-gallery-empty{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.album-gallery-date{background:var(--surface-veil-90);border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:var(--text-micro);color:var(--color-text);z-index:2;padding:0 6px;position:absolute;bottom:4px;left:4px}.album-detail-overlay{z-index:60;justify-content:center;align-items:center;padding:18px 12px;display:flex;position:fixed;inset:0}.album-detail-scrim{background:#493a3673;position:absolute;inset:0}.album-detail-panel{z-index:1;width:min(420px,100%);max-height:calc(100dvh - 48px);position:relative;overflow-y:auto}.photo-pager-arrow{z-index:4;background:color-mix(in srgb, var(--color-surface) 82%, transparent);border:2px solid color-mix(in srgb, var(--color-border) 45%, transparent);border-radius:var(--radius-md);width:34px;height:34px;color:var(--color-text-soft);box-shadow:0 2px 0 color-mix(in srgb, var(--color-border) 34%, transparent);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.photo-pager-arrow.is-prev{left:8px}.photo-pager-arrow.is-next{right:8px}.photo-pager-arrow:hover:not(:disabled){color:var(--color-text);background:color-mix(in srgb, var(--color-surface) 94%, transparent)}.photo-pager-arrow:active:not(:disabled){box-shadow:0 0 0 var(--color-border);transform:translateY(calc(2px - 50%))}.photo-pager-arrow:disabled{opacity:.35;cursor:default}.album-pager{touch-action:pan-y;cursor:grab;margin:0 -4px;padding:0 4px;position:relative;overflow:hidden}.album-pager.is-dragging{cursor:grabbing}.album-pager-track{will-change:transform;gap:8px;transition:transform .34s cubic-bezier(.22,1,.36,1);display:flex}.album-pager-track.is-dragging{transition:none}.album-detail-photo-box{aspect-ratio:1;background:var(--color-neutral-soft);border:1px solid var(--color-line-soft);border-radius:var(--radius-sm);flex:0 0 100%;position:relative;overflow:hidden}.album-sticker{pointer-events:none;z-index:2;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.album-sticker svg{width:100%;height:auto}.album-sticker.selected{outline:2px dashed var(--color-pink-strong);outline-offset:2px}.album-sticker-tray{border-radius:var(--radius-sm);background:var(--color-surface);border-width:2px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex}@media (width<=360px){.album-backing{padding:13px 10px 11px}.album-gallery-grid{gap:5px}.album-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.since-script{font-family:Italianno,Snell Roundhand,cursive;font-size:var(--text-display);letter-spacing:.03em;white-space:nowrap;color:var(--color-pink-text);text-shadow:0 1px 0 var(--color-surface);-webkit-user-select:none;user-select:none;line-height:1;transform:translateY(1px)}.album-photo-box,.album-detail-photo-box{container-type:inline-size}.album-sticker-text{font-family:var(--font-heading);letter-spacing:var(--tracking-pixel);line-height:var(--leading-tight);white-space:nowrap;text-shadow:1px 0 #fffefabf,-1px 0 #fffefabf,0 1px #fffefabf,0 -1px #fffefabf;font-size:var(--text-read);font-size:calc(var(--sticker-size,18) * .6cqw)}.album-sticker.album-sticker-is-text{width:auto}button:not(:disabled):active,a:active{filter:brightness(.93)}.album-photo-box,.album-gallery-tile{-webkit-tap-highlight-color:transparent}.album-photo-box:not(:disabled):active,.album-gallery-tile:not(:disabled):active{filter:none}.gauge-cell.filled.dday{background:#e8302a;border-color:#e8302a}.dday-heart-layer{pointer-events:none;z-index:2;position:absolute;inset:-10px -4px -14px;overflow:visible}.dday-heart{color:#e8302a;opacity:0;will-change:transform, opacity;line-height:1;animation:2.8s ease-in infinite dday-heart-rise;position:absolute;bottom:0}@keyframes dday-heart-rise{0%{opacity:0;transform:translateY(8px)scale(.55)}25%{opacity:.45}60%{opacity:.35}to{opacity:0;transform:translateY(-30px)scale(1.1)}}.quick-action:not(:disabled):active{filter:saturate(1.25);background:var(--color-pink-soft);border-color:var(--color-pink)}.gift-fly-x{z-index:55;pointer-events:none;will-change:transform;transition:transform var(--gift-dur,1.4s) cubic-bezier(.36, .06, .28, 1);position:absolute;top:0;left:0}.gift-fly-y{pointer-events:none;animation:2.4s ease-in-out infinite alternate gift-bob;display:inline-block}@keyframes gift-bob{0%{transform:translateY(-5px)}to{transform:translateY(6px)}}.gift-fly-btn{pointer-events:auto;cursor:pointer;background:0 0;border:none;padding:8px;animation:1.5s ease-in-out infinite float-soft}.gift-sprite{width:72px;height:68px;display:block;position:relative}.gift-sprite-wing{opacity:0;animation:.72s step-end infinite gift-wing-up;position:absolute;inset:0}.gift-sprite-wing-0{opacity:1}.gift-sprite-wing-1{animation-name:gift-wing-open}.gift-sprite-wing-2{animation-name:gift-wing-down}.gift-sprite-body{display:block;position:relative}.gift-sprite-sparkle{pointer-events:none;width:10px;height:10px;animation:1.8s step-end infinite gift-sparkle-twinkle;position:absolute}.gift-sprite-sparkle-1{animation-duration:2.4s;animation-delay:-900ms}@keyframes gift-sparkle-twinkle{0%,to{clip-path:inset(4px);opacity:.35}20%{clip-path:inset(2px);opacity:.7}40%{clip-path:inset(0);opacity:1}55%{clip-path:inset(2px);opacity:.8}70%{clip-path:inset(4px);opacity:.4}85%{clip-path:inset(4px);opacity:0}}@keyframes gift-wing-up{0%,to{opacity:1}25%,75%{opacity:0}}@keyframes gift-wing-open{0%,50%,to{opacity:0}25%,75%{opacity:1}}@keyframes gift-wing-down{0%,75%,to{opacity:0}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.gift-sprite-wing,.gift-sprite-sparkle{animation:none}}.gift-miss-toast{left:50%;bottom:calc(var(--chrome-bottom) + 6px + var(--sab));z-index:70;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);font-size:var(--text-helper);white-space:nowrap;padding:8px 14px;position:fixed;transform:translate(-50%)}.celebration-overlay{z-index:80;background:#493a3659;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.celebration-card{background:var(--color-surface);border:3px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:min(320px,84vw);padding:26px 30px;animation:.4s cubic-bezier(.2,1.6,.4,1) celebration-pop;display:flex}.celebration-title{font-size:var(--text-title-sm);color:var(--color-pink-text);font-weight:700}.celebration-subtitle{font-size:var(--text-body-sm);color:var(--color-text);overflow-wrap:anywhere}@keyframes celebration-pop{0%{opacity:0;transform:scale(.5)}}.confetti-piece{border-radius:1px;animation:2s linear infinite confetti-fall;position:absolute;top:-12px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-10px)rotate(0)}to{transform:translateY(105vh) rotate(var(--confetti-spin,240deg));opacity:.8}}.balance-option{border-radius:var(--radius-md);font-size:var(--text-body-sm);line-height:var(--leading-snug);color:var(--color-text);text-align:center;word-break:keep-all;background:var(--color-surface-soft);border:2px dashed var(--color-line-soft);flex-direction:column;flex:1;align-items:center;gap:5px;padding:13px 8px;display:flex}.balance-option[aria-pressed=true]{background:var(--color-pink);border:2px solid var(--color-pink-text)}.cal-day{-webkit-tap-highlight-color:transparent;appearance:none;border:0;container-type:inline-size}.cal-cell-lines{gap:var(--cal-entry-gap);flex-direction:column;width:100%;min-height:0;display:flex}.cal-line{font-family:var(--font-heading);font-size:clamp(8px,19cqw,12px);line-height:var(--leading-tight);letter-spacing:var(--tracking-pixel);text-align:center;white-space:normal;word-break:break-all;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;padding:0;font-weight:400;display:-webkit-box;overflow:hidden}.cal-holiday-line{height:calc(2em * var(--leading-tight));flex:none}.cal-viewport{width:100%;min-width:0;position:relative;overflow:hidden}.cal-track{grid-template-columns:50% 50%;gap:0;width:200%;display:grid}.cal-track.is-single{grid-template-columns:100%;width:100%}.cal-track.is-follow{grid-template-columns:repeat(3,33.3333%);width:300%}.cal-track.is-settling{transition:transform .26s ease-out}.calendar-swipe-area{touch-action:pan-y}.cal-range-edge{z-index:4;pointer-events:none;background:color-mix(in srgb, var(--color-pink) 32%, transparent);width:28px;position:absolute;top:0;bottom:0}.cal-range-edge.is-next{border-right:3px solid var(--color-pink-strong);right:0}.cal-range-edge.is-prev{border-left:3px solid var(--color-pink-strong);left:0}.cal-range-edge>span{white-space:nowrap;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-pink-text);box-shadow:0 0 0 1px var(--color-pink-strong);font-size:var(--text-micro);padding:5px 7px;position:absolute;top:8px}.cal-range-edge.is-next>span{right:4px}.cal-range-edge.is-prev>span{left:4px}.cal-range-edge>span:after{content:"";background:var(--color-pink-strong);transform-origin:0;height:2px;animation:cal-range-progress var(--cal-range-turn-ms) linear both;position:absolute;bottom:0;left:0;right:0}@keyframes cal-range-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.cal-range-edge>span:after{animation:none}}.cal-track.to-next{animation:.3s ease-out both cal-slide-next}.cal-track.to-prev{animation:.3s ease-out both cal-slide-prev}@keyframes cal-slide-next{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes cal-slide-prev{0%{transform:translate(-50%)}to{transform:translate(0)}}.cal-cells{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:0;width:100%;min-width:0;display:grid}.cal-cells>*{position:relative}.cal-cells>:before{content:"";pointer-events:none;border:0 solid #0000;position:absolute;inset:0}.cal-cells>:nth-child(n+8):before{border-top:1px dashed var(--color-line-soft)}.cal-cells>:not(:nth-child(7n+1)):before{border-left:1px solid color-mix(in srgb, var(--color-line-soft) 55%, transparent)}.coupon-stamp{border:3.5px double var(--color-danger);width:62px;height:62px;color:var(--color-danger);font-family:var(--font-heading);font-size:var(--text-helper);letter-spacing:var(--tracking-caps);font-weight:700;line-height:var(--leading-tight);text-align:center;background:var(--surface-veil-55);pointer-events:none;z-index:2;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;animation:.25s cubic-bezier(.2,1.6,.4,1) stamp-in;display:flex;position:absolute;top:10px;right:12px;transform:rotate(-12deg)}@keyframes stamp-in{0%{opacity:0;transform:rotate(-12deg)scale(1.7)}}.record-card.coupon-used{background:var(--color-neutral-soft);box-shadow:2px 2px 0 var(--color-shadow-tint);border-style:dashed}.record-card.coupon-used.coupon-recipient-me{--color-text-soft:var(--u-me-text);background:var(--u-me-bg);box-shadow:2px 2px 0 var(--u-me-border)}.record-card.coupon-used.coupon-recipient-partner{--color-text-soft:var(--u-partner-text);background:var(--u-partner-bg);box-shadow:2px 2px 0 var(--u-partner-border)}.record-card.coupon-used>:not(.coupon-stamp){color:var(--color-text-soft)}.record-card.coupon-used>.coupon-stamp{opacity:1}.record-card.record-type-question{background:var(--record-question-bg)}.record-card.record-type-compliment{background:var(--record-compliment-bg)}.record-card.record-type-date{background:var(--record-date-bg)}.record-card.record-type-coupon.coupon-recipient-neutral:not(.coupon-used){background:var(--record-coupon-bg)}.record-card.record-type-coupon.coupon-recipient-me:not(.coupon-used){--color-text-soft:var(--u-me-text);background:var(--u-me-bg)}.record-card.record-type-coupon.coupon-recipient-partner:not(.coupon-used){--color-text-soft:var(--u-partner-text);background:var(--u-partner-bg)}.record-list.records-by-person .record-card.record-by-me:not(.record-type-coupon){--color-text-soft:var(--u-me-text);background:var(--u-me-bg)}.record-list.records-by-person .record-card.record-by-partner:not(.record-type-coupon){--color-text-soft:var(--u-partner-text);background:var(--u-partner-bg)}.record-list.records-all .record-card.record-type-question{background:var(--chip-question-bg)}.record-list.records-all .record-card.record-type-compliment{background:var(--chip-compliment-bg)}.record-list.records-all .record-card.record-type-date{background:var(--chip-date-bg)}.record-list.records-all .record-card.record-type-coupon:not(.coupon-used){--color-text-soft:inherit;background:var(--chip-coupon-bg)}.chip.chip-question{background:var(--chip-question-bg)}.chip.chip-compliment{background:var(--chip-compliment-bg)}.chip.chip-date{background:var(--chip-date-bg)}.chip.chip-coupon{background:var(--chip-coupon-bg)}.chip.chip-question.active{background:var(--chip-question-active-bg)}.chip.chip-compliment.active{background:var(--chip-compliment-active-bg)}.chip.chip-date.active{background:var(--chip-date-active-bg)}.chip.chip-coupon.active{background:var(--chip-coupon-active-bg)}.album-feed-pager{overscroll-behavior-x:contain;touch-action:pan-y;cursor:grab;overflow:hidden}.album-feed-pager.is-dragging{cursor:grabbing}.album-feed-track{will-change:transform;gap:6px;transition:transform .34s cubic-bezier(.22,1,.36,1);display:flex}.album-feed-track.is-dragging{transition:none}.album-feed-slide{flex:0 0 100%}@media (prefers-reduced-motion:reduce){.album-pager-track,.album-feed-track{transition-duration:.01ms}}.cal-multi-lane{align-self:stretch;gap:var(--cal-entry-gap);flex-direction:column;min-width:0;display:flex}.cal-multi-bar{z-index:1;flex:0 0 4px;align-self:stretch;height:4px;position:relative}.cal-multi-label-space{height:var(--cal-label-h);flex:0 0 var(--cal-label-h);display:block}.cal-multi-label{width:max-content;max-width:230%;height:var(--cal-label-h);line-height:var(--cal-label-h);white-space:nowrap;text-overflow:ellipsis;z-index:2;display:block;position:relative;left:50%;transform:translate(-50%)}.ptr-wrap{z-index:7;pointer-events:none;justify-content:center;height:0;display:flex;position:relative}.ptr-bubble{background:var(--color-surface);border:3px solid var(--color-border);width:54px;height:54px;box-shadow:var(--shadow-soft);border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex;position:absolute;top:-44px}.ptr-bubble.ready{background:var(--color-pink)}.ptr-bubble.spin{animation:.8s linear infinite ptr-spin}@keyframes ptr-spin{to{transform:translateY(58px)rotate(360deg)}}.pet-stand{border-bottom:2px dashed var(--color-line-soft);justify-content:center;align-items:flex-end;min-height:156px;padding-bottom:4px;display:flex}.pet-roadmap{align-items:flex-end;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.pet-roadmap-item{text-align:center;flex:none;width:66px}.pet-roadmap-item .pet-roadmap-art{opacity:.42;filter:grayscale(.75);transition:opacity .2s,filter .2s}.pet-roadmap-item.reached .pet-roadmap-art{opacity:1;filter:none}.pet-roadmap-art{justify-content:center;align-items:flex-end;height:70px;margin-bottom:4px;display:flex}.color-swatches{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.color-swatch{border-radius:var(--radius-md);min-width:0;min-height:42px;font-family:var(--font-heading);font-size:var(--text-helper);line-height:var(--leading-tight);letter-spacing:var(--tracking-label);cursor:pointer;text-align:center;overflow-wrap:anywhere;border:2px solid #0000;justify-content:center;align-items:center;padding:6px 4px;transition:transform 60ms ease-out,box-shadow 60ms ease-out;display:flex;box-shadow:0 2px #4a3b3538}.color-swatch:active{transform:translateY(2px);box-shadow:0 0 #4a3b3538}.color-swatch.active{border-width:3px;font-weight:700;box-shadow:0 2px #4a3b3573}.color-swatch:disabled{cursor:wait;opacity:.75}.home-name-button{font:inherit;color:inherit;cursor:pointer;border:none;border-bottom:2px dotted var(--color-line-soft);-webkit-tap-highlight-color:transparent;background:0 0;margin:0;padding:0 2px;transition:color .12s,border-color .12s}.home-name-button:hover:not(:disabled){color:var(--color-pink-text);border-bottom-color:var(--color-pink-strong)}.home-name-button:disabled{cursor:default;border-bottom-color:#0000}.rank-overlay{z-index:80;padding:20px 12px calc(20px + var(--sab));overscroll-behavior:contain;background:#493a365c;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.rank-sheet{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-height:100%;box-shadow:var(--shadow-pop);flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.rank-sheet-head{border-bottom:2px dashed var(--color-line-soft);background:var(--color-surface);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.rank-sheet-body{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow-wrap:anywhere;word-break:keep-all;flex-direction:column;flex:auto;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.rank-sheet-body>*{flex:none}.rank-close{cursor:pointer;width:var(--touch-min);height:var(--touch-min);flex:0 0 var(--touch-min);line-height:1;font-size:var(--text-title);color:var(--color-text-soft);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.rank-sheet-head .section-label{overflow-wrap:anywhere;min-width:0;margin:0}.rank-hero-copy{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.rank-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.rank-hero{border-bottom:2px dashed var(--color-line-soft);align-items:center;gap:12px;padding-bottom:12px;display:flex}.rank-hero-art{flex-shrink:0;justify-content:center;align-items:flex-end;width:112px;display:flex}.rank-title{font-family:var(--font-heading);font-size:var(--text-title-sm);line-height:var(--leading-tight);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rank-badge{font-size:var(--text-helper);vertical-align:middle;border-radius:var(--radius-md);background:var(--color-pink);border:2px solid var(--color-border);color:var(--color-text);justify-content:center;align-items:center;padding:4px 8px;line-height:1;display:inline-flex}.rank-next{flex-direction:column;gap:8px;display:flex}.rank-track{align-items:flex-end;gap:8px;padding-top:11px;padding-bottom:8px;display:flex;overflow-x:auto}.rank-slot{color:inherit;font:inherit;cursor:pointer;border-radius:var(--radius-md);text-align:center;background:0 0;border:0;flex:none;width:84px;padding:0;position:relative}.rank-slot:disabled{cursor:default}.rank-slot-art{justify-content:center;align-items:flex-end;height:84px;margin-bottom:4px;display:flex}.rank-slot:not(.reached) .rank-slot-art{opacity:.55}.rank-slot.previewing .rank-slot-art{transform:translateY(-2px)}.rank-slot.current .rank-slot-art{border:2px solid var(--color-pink-strong);border-radius:var(--radius-md);background:var(--color-pink-soft);box-shadow:0 3px 0 var(--color-pink-strong);margin-bottom:7px;padding:2px 2px 3px}.rank-slot.current .rank-slot-name{color:var(--color-pink-text);font-weight:700}.rank-now{z-index:1;font-family:var(--font-heading);font-size:var(--text-micro);white-space:nowrap;color:var(--color-on-accent);background:var(--color-pink-strong);border:2px solid var(--color-pink-text);border-radius:var(--radius-sm);padding:1px 7px 2px;line-height:1.5;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.rank-slot.next .rank-slot-name{color:var(--color-text)}.rank-slot.hidden .rank-slot-art{opacity:1}.rank-lock{border:2px dashed var(--color-line-soft);border-radius:var(--radius-md);background:var(--color-neutral-soft);width:66px;height:66px;font-family:var(--font-heading);font-size:var(--text-title-sm);color:var(--color-text-soft);justify-content:center;align-items:center;display:flex}.rank-slot-name{font-family:var(--font-heading);font-size:var(--text-micro);line-height:var(--leading-tight);color:var(--color-text-soft)}.rank-slot-req{font-size:var(--text-micro);line-height:var(--leading-tight);color:var(--color-text-soft);min-height:1.3em}.rank-xp-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.rank-xp-list li{grid-template-columns:24px minmax(0, 1fr) var(--rank-xp-count-width,auto) var(--rank-xp-sum-width,auto);border-radius:var(--radius-md);background:var(--color-surface-soft);min-height:44px;font-size:var(--text-helper);line-height:var(--leading-body);align-items:center;gap:8px;padding:10px;display:grid}.rank-xp-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.rank-xp-icon>svg{display:block}.rank-xp-label{overflow-wrap:anywhere;min-width:0}.rank-xp-count{color:var(--color-text-soft);font-size:var(--text-meta);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;min-width:3ch}.rank-xp-sum{font-family:var(--font-heading);font-size:var(--text-helper);color:var(--color-pink-text);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;min-width:0}.rank-xp-rules li{grid-template-columns:minmax(0,1fr) auto}.rank-xp-guide summary{min-height:var(--control-sm);font-size:var(--text-helper);line-height:var(--leading-snug);cursor:pointer}.rank-xp-guide[open]>:not(summary){margin-top:12px}.rank-xp-guide:not([open]) summary{min-height:auto}.rank-xp-guide{min-height:var(--touch-min)}.home-mascot-row{min-height:176px;padding-bottom:var(--feet,0px);isolation:isolate;justify-content:center;align-self:stretch;display:flex;position:relative}.comment-content,.reply-comment-content{white-space:pre-wrap}.anniv-divider{border:0;border-top:2px dashed var(--color-line-soft);width:100%;height:0;margin:0}.pixel-grid-toggle{white-space:nowrap;min-height:0;line-height:1.3;font-size:var(--text-micro);padding:3px 9px}html[data-pixel-grid=on]:after{content:"";z-index:2147483000;pointer-events:none;background-image:linear-gradient(90deg,#60606099 2px,#0000 2px),linear-gradient(#60606099 2px,#0000 2px),linear-gradient(90deg,#80808080 1px,#0000 1px),linear-gradient(#80808080 1px,#0000 1px);background-size:25px 25px,25px 25px,5px 5px,5px 5px;position:fixed;inset:0}.balance-history-btn{width:100%;min-height:var(--control-sm);background:var(--color-surface-soft);border:2px dashed var(--color-line-soft);border-radius:var(--radius-md);color:var(--color-text-soft);font-family:var(--font-heading);font-size:var(--text-meta);justify-content:center;align-items:center;gap:8px;padding:6px 12px;display:flex}.balance-history-chevron{font-size:var(--text-nano);color:var(--color-pink-text);transition:transform .35s;display:inline-block}.balance-history-body{grid-template-rows:0fr;transition:grid-template-rows .35s;display:grid}.balance-history-list{flex-direction:column;gap:6px;max-height:260px;margin:0;padding:2px 0 0;list-style:none;display:flex;overflow-y:auto}.balance-history-list li{border-radius:var(--radius-md);background:var(--color-surface-soft);flex-direction:column;gap:2px;padding:7px 10px;display:flex}.dday-board{justify-content:center;align-self:stretch;align-items:center;gap:6px;width:100%;margin-top:-4px;margin-bottom:4px;display:flex}.dday-side{margin:0 10px;line-height:0;display:inline-flex}.dday-side:not(.scene-twinkle)>svg{transform-origin:50%;animation:1.4s ease-in-out infinite dday-heartbeat;position:relative;top:2px}@keyframes dday-heartbeat{0%,52%,to{transform:scale(1)}12%{transform:scale(1.22)}24%{transform:scale(1)}36%{transform:scale(1.14)}}.dday-tile{background:var(--color-surface);border:2px solid var(--color-border);min-width:28px;height:32px;box-shadow:0 2px 0 var(--color-border);font-family:var(--font-heading);font-weight:700;font-size:var(--text-title);letter-spacing:0;color:var(--color-pink-text);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:4px;justify-content:center;align-items:center;padding:calc(.2em - 2px) 4.8px 0 7.2px;line-height:1;display:inline-flex}.dday-tile:active{box-shadow:0 0 0 var(--color-border);transform:translateY(2px)}@keyframes dday-press{0%{box-shadow:0 2px 0 var(--color-border);transform:translateY(0)}35%{box-shadow:0 0 0 var(--color-border);transform:translateY(3px)}70%{box-shadow:0 3px 0 var(--color-border);transform:translateY(-1px)}to{box-shadow:0 2px 0 var(--color-border);transform:translateY(0)}}.dday-tile--label{background:var(--color-pink);color:var(--color-text);padding:calc(.2em - 2px) 5.8px 0 8.2px}.dday-board.is-milestone .dday-tile{background:var(--tint-butter-bg);border-color:var(--tint-butter-strong);box-shadow:0 2px 0 var(--tint-butter-strong);color:var(--tint-butter-text)}@media (prefers-reduced-motion:no-preference){.dday-tile.is-pressed{animation:.32s steps(4,end) both dday-press}}.dday-reel-window{vertical-align:top;height:1em;line-height:1;display:inline-block;overflow:hidden}.dday-reel{animation:dday-reel var(--reel-dur,.9s) cubic-bezier(.18, .82, .22, 1) both;flex-direction:column;display:flex}.dday-reel>span{height:1em;line-height:1;display:block}@keyframes dday-reel{to{transform:translateY(calc(-1em * var(--reel-rows,0)))}}.dday-board.is-milestone .dday-tile:active{box-shadow:0 0 0 var(--tint-butter-strong)}@media (width<=359px){.dday-tile{min-width:26px;height:30px;font-size:var(--text-title-sm)}}.home-stage{isolation:isolate;--feet:14px;flex-direction:column;align-self:stretch;align-items:center;gap:10px;padding-top:17px;display:flex;position:relative}.hero-scene{z-index:-1;border-radius:var(--radius-md);background:var(--color-surface);pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-sky{opacity:0;pointer-events:none;position:absolute;inset:0}.hero-sky.is-on{opacity:1}.hero-sky.sky-day{background:linear-gradient(#aedcf3 0%,#d5edf8 60%,#edf7fa 100%)}.hero-scene.is-night .hero-sky.sky-day{background:linear-gradient(#8dbed8 0%,#bad8e8 60%,#dcebf0 100%)}.hero-scene--blossom .hero-sky.sky-day{background:linear-gradient(#bcdcf4 0%,#e0e9f6 60%,#ffe8ef 100%)}.hero-scene--blossom.is-night .hero-sky.sky-day{background:linear-gradient(#9dc2de 0%,#cedbec 60%,#eddce8 100%)}.hero-sky.sky-dawn{background:linear-gradient(#7b6bb0 0%,#a98cc4 30%,#d6a9c6 58%,#f3c3bd 82%,#ffe0cb 100%)}.hero-sky.sky-morning{background:linear-gradient(180deg, #ffe3b5 0%, #fff2dc 45%, var(--color-surface) 100%)}.hero-sky.sky-evening{background:linear-gradient(#f97a4e 0%,#ffa878 40%,#ffd0b0 75%,#ffe9dc 100%)}.hero-sky.sky-night{background:linear-gradient(#1b2140 0%,#2a2140 100%)}.is-night .hero-sky.sky-dawn{background:linear-gradient(#241b3c 0%,#3b2b4f 50%,#513a55 100%)}.is-night .hero-sky.sky-morning{background:linear-gradient(180deg, #3d2f2a 0%, #4a3a33 50%, var(--color-surface) 100%)}.is-night .hero-sky.sky-evening{background:linear-gradient(#4a2f28 0%,#563a30 50%,#5e4338 100%)}.sky-body{display:contents}@media (prefers-reduced-motion:no-preference){.home-stage:not(.is-preparing) .hero-sky{transition:opacity 2.4s linear}}@keyframes sky-fade-in{0%{opacity:0}to{opacity:1}}.scene-piece{line-height:0;display:block;position:absolute}.scene-piece>svg{display:block}.scene-bat{width:26px;height:13px}.scene-bat-bob{width:26px;height:13px;display:block;position:relative}.scene-bat-frame{line-height:0;display:block;position:absolute;inset:0}.scene-bat-frame>svg{display:block}.scene-bat-down{opacity:0}@keyframes scene-bat-flap-up{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes scene-bat-flap-down{0%,49%{opacity:0}50%,to{opacity:1}}@keyframes scene-bat-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@media (prefers-reduced-motion:no-preference){.scene-bat-up{animation:.36s step-end infinite scene-bat-flap-up}.scene-bat-down{animation:.36s step-end infinite scene-bat-flap-down}.scene-bat-bob{animation:1.4s steps(4,end) infinite scene-bat-bob}}.scene-moon-rabbits{width:50px;height:45px}.scene-moon-rabbits>span{line-height:0;display:block;position:absolute;inset:0}.scene-moon-rabbits>span>svg{display:block}.scene-alt-b{opacity:0}@media (prefers-reduced-motion:no-preference){.scene-alt-a{animation:1.1s step-end infinite scene-bat-flap-up}.scene-alt-b{animation:1.1s step-end infinite scene-bat-flap-down}}.scene-kite{z-index:2}.scene-kite>span{line-height:0;display:block;position:absolute;inset:0}.scene-kite>span>svg{display:block}@keyframes scene-kite{0%{transform:translate(0)rotate(-4deg)}25%{transform:translate(3px,-3px)rotate(2deg)}50%{transform:translate(6px,1px)rotate(5deg)}75%{transform:translate(2px,3px)rotate(0)}to{transform:translate(0)rotate(-4deg)}}@media (prefers-reduced-motion:no-preference){.scene-kite{animation:3.6s steps(8,end) infinite scene-kite}.scene-kite .scene-alt-a{animation:.7s step-end infinite scene-bat-flap-up}.scene-kite .scene-alt-b{animation:.7s step-end infinite scene-bat-flap-down}}.scene-balloon{z-index:2}.scene-bunny{left:17%}.hero-scene--meadow .scene-bunny{left:14%}.home-stage[data-care-side=left] .scene-bunny{left:auto;right:21%}.home-stage[data-care-side=left] .hero-scene--meadow .scene-bunny{right:27%}.scene-on-ground{bottom:calc(var(--feet,0px) + 4px)}.scene-island{top:calc(100% - var(--feet,0px) - 6px)}.scene-island>svg{width:100%;height:auto}.hero-scene-ground{height:calc(var(--feet,0px) + 6px);background:var(--tint-mint-bg);border-top:2px solid var(--tint-mint-strong);position:absolute;bottom:0;left:0;right:0}.hero-scene--lighthouse .hero-scene-ground{height:calc(var(--feet,0px) + 20px);background:var(--sea-sand);border-top-color:var(--sea-sand-line)}.hero-scene--lighthouse .hero-scene-sea{left:0;right:0;bottom:calc(var(--feet,0px) + 20px);background:var(--sea-water);border-top:2px solid var(--sea-line);height:34px;position:absolute}.scene-lighthouse,.scene-wave{line-height:0}.scene-lighthouse>span,.scene-wave>span{line-height:0;display:block;position:absolute;inset:0}.scene-lighthouse{width:40px;height:76px}@media (prefers-reduced-motion:no-preference){.scene-lighthouse>.scene-alt-a{animation:3.4s step-end infinite scene-bat-flap-up}.scene-lighthouse>.scene-alt-b{animation:3.4s step-end infinite scene-bat-flap-down}.scene-wave>.scene-alt-a{animation:scene-bat-flap-up var(--flap,1.4s) steps(1, end) infinite}.scene-wave>.scene-alt-b{animation:scene-bat-flap-down var(--flap,1.4s) steps(1, end) infinite}}.hero-scene-hills{left:-8%;right:-8%;bottom:calc(var(--feet,0px) + 6px);background:radial-gradient(ellipse 34% 100% at 24% 100%, var(--tint-mint-border) 0 97%, transparent 100%), radial-gradient(ellipse 40% 100% at 78% 100%, var(--tint-mint-border) 0 97%, transparent 100%);opacity:.75;height:36px;position:absolute}@keyframes scene-drift{0%,to{transform:translate(0)}50%{transform:translate(6px)}}@keyframes scene-petal-fall{0%{opacity:0;transform:translate(0)}8%{opacity:1}50%{transform:translate(-8px,60px)}92%{opacity:1}to{opacity:0;transform:translate(4px,125px)}}@keyframes scene-twinkle{0%,to{opacity:1}50%{opacity:.45}}@keyframes scene-sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes scene-sway-branch{0%,to{transform:rotate(0)}50%{transform:rotate(2deg)}}@keyframes scene-sway-branch-mirror{0%,to{transform:scaleX(-1)rotate(0)}50%{transform:scaleX(-1)rotate(2deg)}}@keyframes scene-flutter{0%{transform:translate(0)scaleY(1)}25%{transform:translate(9px,-7px)scaleY(.6)}50%{transform:translate(18px)scaleY(1)}75%{transform:translate(9px,6px)scaleY(.6)}to{transform:translate(0)scaleY(1)}}@keyframes scene-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes scene-hop{0%,55%,to{transform:translateY(0)}65%{transform:translateY(-7px)}75%{transform:translateY(0)}82%{transform:translateY(-4px)}90%{transform:translateY(0)}}@keyframes scene-fly{0%{left:-8%}to{left:104%}}@keyframes scene-island-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes scene-shoot{0%,84%{opacity:0;transform:translate(0)}86%{opacity:1}to{opacity:0;transform:translate(-70px,34px)}}.scene-mirror{transform:scaleX(-1)}.scene-sway,.scene-sway-branch,.scene-sway-tree{transform-origin:50% 100%}@keyframes scene-sway-tree{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}.scene-sway-branch{transform-origin:0 0}.scene-mirror.scene-sway-branch-b{transform-origin:50% 0}.scene-island-group{position:absolute;inset:0}.scene-fly{left:-8%}@media (prefers-reduced-motion:no-preference){.scene-sway{animation:3.2s steps(4,end) infinite scene-sway}.scene-sway-branch{animation:4.5s steps(3,end) infinite scene-sway-branch}.scene-sway-tree{animation:4s steps(3,end) infinite scene-sway-tree}.scene-mirror.scene-sway-branch-b{animation:5.2s steps(3,end) 1s infinite scene-sway-branch-mirror}.scene-flutter{animation:6s steps(10,end) infinite scene-flutter}.scene-flutter-b{animation-duration:7.5s;animation-direction:reverse}.scene-bob{animation:2.4s steps(2,end) infinite scene-bob}.scene-bob-slow{animation:5s steps(2,end) infinite scene-bob}.scene-hop{animation:4.2s step-end infinite scene-hop}.scene-fly{animation:30s steps(60,end) infinite scene-fly}.scene-snow{animation:7s steps(14,end) infinite scene-petal-fall}.scene-island-bob{animation:3.6s steps(2,end) infinite scene-island-bob}.scene-firefly{animation:1.6s steps(2,end) infinite scene-twinkle}.scene-shoot{animation:14s steps(10,end) infinite scene-shoot}.scene-drift{animation:16s steps(6,end) infinite scene-drift}.scene-drift-slow{animation:24s steps(6,end) 4s infinite reverse scene-drift}.scene-petal{animation:11s steps(14,end) infinite scene-petal-fall}.scene-twinkle{animation:3s steps(2,end) infinite scene-twinkle}.scene-twinkle-1{animation-delay:1s}.scene-twinkle-2{animation-delay:2s}}.echo-card{text-align:left;cursor:pointer;font:inherit;color:inherit;border-style:dashed;gap:6px}.echo-line{font-size:var(--text-helper);line-height:var(--leading-snug);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.onthisday-card{border-style:dashed;gap:8px}.onthisday-close{min-height:0;font-size:var(--text-micro);padding:2px 8px}.onthisday-body{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.onthisday-photo{border:2px solid var(--color-line-soft);border-radius:var(--radius-sm);background:var(--color-surface-soft);flex:none;width:64px;height:64px;display:block;overflow:hidden}.onthisday-photo img{object-fit:cover;width:100%;height:100%;display:block}.onthisday-text{flex-direction:column;gap:3px;min-width:0;display:flex}.onthisday-line{font-size:var(--text-helper);line-height:var(--leading-snug);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@keyframes mood-fall{0%{opacity:0;top:-8%}10%{opacity:1}88%{opacity:1}to{opacity:0;top:104%}}@keyframes mood-rise{0%{opacity:0;top:96%}14%{opacity:1}84%{opacity:1}to{opacity:0;top:4%}}@keyframes mood-fall-drift{0%{transform:translateX(calc(var(--drift,8px) * .4))}50%{transform:translateX(calc(var(--drift,8px) * -1))}to{transform:translateX(var(--drift,8px))}}@keyframes mood-fall-slant{0%{opacity:0;top:-8%;transform:translate(0)}10%{opacity:1}88%{opacity:1}to{opacity:0;top:104%;transform:translate(-34px)}}@keyframes mood-rain-fall{0%{opacity:0;top:-8%;transform:translate(0)}8%{opacity:1}90%{opacity:1}to{opacity:0;top:104%;transform:translate(-10px)}}@keyframes mood-rain-fall-far{0%{opacity:0;top:-8%;transform:translate(0)}8%{opacity:.7}90%{opacity:.7}to{opacity:0;top:104%;transform:translate(-6px)}}@keyframes mood-splash-a{0%,17%{opacity:1}17.1%,to{opacity:0}}@keyframes mood-splash-b{0%,17%{opacity:0}17.1%,36%{opacity:1}36.1%,to{opacity:0}}@keyframes mood-splash-c{0%,36%{opacity:0}36.1%,58%{opacity:1}58.1%,to{opacity:0}}.mood-splash>span{opacity:0;line-height:0;display:block;position:absolute;inset:0}.mood-splash>.mood-splash-b{opacity:1}@keyframes mood-blow{0%{opacity:0;left:-12%}12%{opacity:1}88%{opacity:1}to{opacity:0;left:112%}}@keyframes mood-blow-bob{0%{transform:translateY(-7px)}to{transform:translateY(9px)}}@keyframes mood-bolt{0%,64%{opacity:0}66%{opacity:1}71%{opacity:0}75%{opacity:1}82%,to{opacity:0}}@keyframes mood-halo{0%,64%{opacity:0}66%{opacity:1}72%{opacity:0}75%{opacity:.75}82%,to{opacity:0}}.mood-halo{opacity:0;pointer-events:none;background:#fff9d64d;position:absolute;inset:0}.hero-scene[data-mood-level=duo] .mood-halo{background:#fff9d670}.hero-scene.is-night .mood-halo{background:#fff9d629}.hero-scene.is-night[data-mood-level=duo] .mood-halo{background:#fff9d63d}.mood-rainbow{width:calc(min(28%,190px) + 20px);top:50%;left:50%;transform:translate(-50%,-50%)}.mood-rainbow>svg{width:100%;height:auto}.home-stage--framed .home-mascot-row{margin-top:var(--rainbow-clearance,0px)}.home-stage[data-rainbow-layout=ready] .mood-rainbow{top:var(--rainbow-top);width:var(--rainbow-width);transform:translate(-50%,-50%)}@keyframes mood-rainbow-draw{0%{clip-path:inset(0 100% 0 0)}24%{clip-path:inset(0)}66%{clip-path:inset(0)}92%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 100%)}}@keyframes mood-flit{0%{transform:translate(0)}22%{transform:translate(calc(var(--fx,40px) * .45), var(--fy,-20px))}46%{transform:translate(var(--fx,40px), calc(var(--fy,-20px) * -.25))}68%{transform:translate(calc(var(--fx,40px) * .62), var(--fy2,16px))}86%{transform:translate(calc(var(--fx,40px) * .18), calc(var(--fy2,16px) * .4))}to{transform:translate(0)}}.mood-flit{display:block}.mood-flit>.scene-alt-a,.mood-flit>.scene-alt-b{line-height:0;display:block;position:absolute;inset:0}.mood-flit>.scene-alt-b{opacity:0}.hero-scene[data-mood=typhoon] .scene-drift{animation-duration:7s}.hero-scene[data-mood=typhoon] .scene-drift-slow{animation-duration:10s}@media (prefers-reduced-motion:no-preference){.mood-fall{animation:9s linear infinite mood-fall}.mood-rise{animation:7s linear infinite mood-rise}.mood-rain{animation:2.6s linear infinite mood-rain-fall}.mood-rain-far{animation-name:mood-rain-fall-far}.mood-splash>.mood-splash-a{animation:mood-splash-a var(--splash-dur,1.6s) steps(1, end) var(--splash-delay,0s) infinite}.mood-splash>.mood-splash-b{animation:mood-splash-b var(--splash-dur,1.6s) steps(1, end) var(--splash-delay,0s) infinite}.mood-splash>.mood-splash-c{animation:mood-splash-c var(--splash-dur,1.6s) steps(1, end) var(--splash-delay,0s) infinite}.mood-rainbow{animation:22s steps(32,end) infinite mood-rainbow-draw}.mood-flit{animation:7s ease-in-out infinite mood-flit}.mood-flit>.scene-alt-a{animation:scene-bat-flap-up var(--flap,.28s) steps(1, end) infinite}.mood-flit>.scene-alt-b{animation:scene-bat-flap-down var(--flap,.28s) steps(1, end) infinite}.mood-fall-drift>svg{animation:mood-fall-drift var(--drift-dur,2.7s) ease-in-out infinite alternate}.mood-fall-wide>svg{animation-timing-function:cubic-bezier(.45,0,.55,1)}.mood-rain-slant{animation-name:mood-fall-slant}.mood-blow{animation:5s linear infinite mood-blow}.mood-blow-bob{animation:mood-blow-bob var(--bob-dur,1.2s) ease-in-out infinite alternate;display:block}.mood-bolt{animation:4.5s step-end infinite mood-bolt}.mood-halo{animation:4.5s step-end infinite mood-halo}}@media (prefers-reduced-motion:reduce){.mood-fall,.mood-rise{top:30%}.mood-fall:nth-of-type(2n),.mood-rise:nth-of-type(2n){top:56%}.mood-fall:nth-of-type(3n),.mood-rise:nth-of-type(3n){top:14%}.mood-blow{opacity:.9;left:42%}.mood-bolt{opacity:1}.mood-halo{display:none}}.mascot-tap.mascot-front{z-index:1}.care-pad{z-index:2;--care-max:calc(100% - 42px);flex-direction:column;gap:8px;display:flex;position:absolute;top:calc(50% - 61.5px)}.care-pad-right{left:min(calc(50% + var(--care-edge,50%) + 46px), var(--care-max));align-items:flex-end}.care-pad-left{right:min(calc(50% + var(--care-edge,50%) + 46px), var(--care-max));align-items:flex-start}.care-pad-right .care-key:nth-child(odd){margin-right:12px}.care-pad-left .care-key:nth-child(odd){margin-left:12px}.care-key{cursor:pointer;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 2px #4a3b3566);background:0 0;border:0;width:38px;height:38px;padding:0;transition:transform 60ms steps(2,end),filter 60ms steps(2,end);position:relative}.care-key-face{border-radius:var(--radius-pill);border:2px solid var(--color-border);background:color-mix(in srgb, var(--btn-face) 45%, var(--color-surface));box-shadow:inset 0 -3px 0 color-mix(in srgb, var(--btn-shade) 50%, var(--color-surface));justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.care-done-badge{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.care-key:active:not(:disabled){filter:drop-shadow(0 0 #4a3b3566);transform:translateY(3px)}.care-key.done{filter:grayscale();opacity:.2;cursor:default;transform:translateY(3px)}.care-key:disabled:not(.done){opacity:.42;cursor:default}.care-pad-flash{text-align:center;white-space:normal;word-break:keep-all;max-width:116px;font-family:var(--font-heading);font-size:var(--text-nano);color:var(--color-pink-text);background:var(--color-surface);border:2px solid var(--color-line-soft);border-radius:var(--radius-md);line-height:var(--leading-snug);pointer-events:none;margin-bottom:6px;padding:3px 7px;position:absolute;bottom:100%}.care-pad-flash.care-flash-ground{white-space:nowrap;z-index:5;max-width:calc(100% - 24px);font-size:var(--text-helper);color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);margin-bottom:0;padding:5px 12px;inset:auto auto 8px 50%;transform:translate(-50%);box-shadow:0 2px #4a3b3559}.home-stage.has-care-flash .presence-pill{opacity:0}@media (prefers-reduced-motion:no-preference){.presence-pill{transition:opacity .18s ease-out}.care-pad-flash.care-flash-ground{animation:.22s ease-out both care-flash-rise}}@keyframes care-flash-rise{0%{transform:translate(-50%,6px)}to{transform:translate(-50%)}}.care-pad-right .care-pad-flash{right:0}.care-pad-left .care-pad-flash{left:0}.coupon-actions{flex-direction:column;gap:8px;padding-top:2px;display:flex}.coupon-buttons{gap:8px;display:flex}.coupon-buttons .btn{white-space:nowrap;flex:1 1 0;min-width:0;padding-left:8px;padding-right:8px}.coupon-pending{font-family:var(--font-heading);font-size:var(--text-micro);color:var(--color-pink-text);background:var(--color-surface);border:2px dashed var(--color-pink-strong);border-radius:var(--radius-md);align-items:center;gap:5px;padding:4px 8px;display:flex}.capsule-sealed{border-radius:var(--radius-md);border:2px solid var(--capsule-soil-edge);background:var(--capsule-soil);align-items:center;gap:12px;padding:13px 12px 12px;display:flex;position:relative;overflow:hidden}.capsule-sealed:before{content:"";border-top:2px dashed var(--capsule-soil-line);position:absolute;top:7px;left:8px;right:8px}.capsule-sealed-icon{filter:drop-shadow(0 2px 0 var(--capsule-soil-line));flex-shrink:0;margin-top:4px;line-height:0;display:inline-flex}:root{--capsule-soil:#f6ece0;--capsule-soil-edge:#d8bfa4;--capsule-soil-line:#c6a888}@media (prefers-color-scheme:dark){:root:not([data-theme]){--capsule-soil:#332a22;--capsule-soil-edge:#55442f;--capsule-soil-line:#6b563c}}:root[data-theme=dark],:root[data-theme=midnight]{--capsule-soil:#332a22;--capsule-soil-edge:#55442f;--capsule-soil-line:#6b563c}.capsule-bury-btn{align-items:center;gap:7px;display:inline-flex}.capsule-new{font-family:var(--font-heading,monospace);font-size:var(--text-nano);letter-spacing:var(--tracking-wide);color:var(--color-on-accent);background:var(--color-pink-strong);border-radius:var(--radius-sm);vertical-align:middle;margin-right:6px;padding:1px 5px;animation:1.2s steps(2,end) infinite capsule-new-blink;display:inline-block}@keyframes capsule-new-blink{0%,to{transform:translateY(0)}50%{transform:translateY(-1px)}}.capsule-opened{border-radius:var(--radius-md);border:2px solid;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.capsule-content{font-size:var(--text-body-sm);line-height:var(--leading-body);white-space:pre-wrap;overflow-wrap:anywhere}.capsule-date{width:100%}.record-card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.record-card-head .record-card-title{text-wrap:wrap;flex:auto;min-width:0;padding-right:7px}.done-strike{-webkit-box-decoration-break:clone;box-decoration-break:clone;background-image:linear-gradient(#0000 calc(38% - 1px),#e8302a calc(38% - 1px) calc(38% + 1px),#0000 calc(38% + 1px));background-repeat:no-repeat;background-size:100% 100%;text-decoration:none}.settings-group{flex-direction:column;padding:13px 14px;display:flex}.settings-group-head{cursor:pointer;border-bottom:2px dashed #0000;align-items:center;gap:10px;padding-bottom:0;transition:padding-bottom .35s,border-color .35s;display:flex}.settings-group.is-open>.settings-group-head{border-bottom-color:var(--color-line-soft);padding-bottom:8px}.settings-group-action{white-space:nowrap;flex:none;gap:6px;display:inline-flex}.settings-group-action .chip{white-space:nowrap;min-height:0;line-height:1.3;font-size:var(--text-micro);padding:3px 9px}.settings-group-title{cursor:pointer;text-align:left;width:auto;min-width:0;font-family:var(--font-heading);font-size:var(--text-lead);letter-spacing:var(--tracking-pixel);font-weight:700;line-height:var(--leading-tight);color:var(--color-pink-text);background:0 0;border:0;flex:0 auto;align-items:center;gap:10px;margin:0;padding:0;display:flex}.settings-group-chevron{color:var(--color-lavender-text);font-size:var(--text-nano);align-items:center;margin-left:auto;line-height:1;transition:transform .35s;display:inline-flex;transform:translateY(1px)}.settings-group.is-open .settings-group-chevron{transform:translateY(1px)rotate(180deg)}.settings-group-body{grid-template-rows:0fr;transition:grid-template-rows .35s;display:grid}.settings-group.is-open>.settings-group-body{grid-template-rows:1fr}.settings-group-inner{flex-direction:column;gap:14px;min-height:0;padding:0;display:flex;overflow:hidden}.settings-group-inner>:first-child{margin-top:14px}.settings-group-inner>:last-child{margin-bottom:5px}.settings-group-label{align-items:center;gap:8px;display:inline-flex}.settings-group-label svg{flex:none;transform:translateY(-1px)}.settings-group-label{gap:10px}@media (prefers-reduced-motion:reduce){.settings-group-title,.settings-group-chevron,.settings-group-body,.settings-group-inner{transition:none}}.settings-section{flex-direction:column;gap:8px;display:flex}.settings-section+.settings-section{border-top:2px dashed var(--color-line-soft);padding-top:14px}.settings-section>.section-label{display:flex}.settings-section>.section-label:not(:first-child){border-top:2px dashed var(--color-line-soft);padding-top:14px;margin-top:6px!important}.settings-section>.section-label+.text-helper{margin-top:-4px}@keyframes dialog-spring{0%{opacity:0;transform:translateY(28px)scale(.94)}to{opacity:1;transform:none}}@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}.cal-day-dialog[open],.mood-request-dialog[open],.pop-spring{animation:.32s cubic-bezier(.34,1.45,.64,1) backwards dialog-spring}.cal-day-dialog[open]::backdrop,.mood-request-dialog[open]::backdrop{animation:.24s ease-out backwards backdrop-fade}.typed-text-typed{position:relative}.typed-text-rest{visibility:hidden}.typed-text-typed:after{content:"";background:currentColor;width:.12em;height:.95em;margin-left:2px;animation:.7s step-end infinite caret-blink;position:absolute;bottom:-.08em}@keyframes caret-blink{50%{opacity:0}}@keyframes check-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}60%{opacity:1;transform:translate(-50%,-50%)scale(1.25)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.is-celebrating .pair-frame.is-full>svg{animation:.4s cubic-bezier(.34,1.5,.64,1) backwards check-pop;animation-delay:calc(var(--i,0) * .11s)}@keyframes strike-draw{0%{background-size:0% 100%}to{background-size:100% 100%}}.done-strike.is-drawing{animation:.35s ease-out both strike-draw}.upcoming-row{opacity:0}.upcoming-row.is-in{animation:.22s ease-out forwards upcoming-in;animation-delay:calc(var(--i,0) * var(--list-stagger-step))}@keyframes upcoming-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.upcoming-row{opacity:1}.upcoming-row.is-in{animation-delay:0s}}.reveal-stagger>*{opacity:0}.reveal-stagger.is-staggered>*{animation:.22s ease-out forwards upcoming-in}.reveal-stagger.is-staggered>:first-child{animation-delay:calc(0 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(2){animation-delay:calc(1 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(3){animation-delay:calc(2 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(4){animation-delay:calc(3 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(5){animation-delay:calc(4 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(6){animation-delay:calc(5 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(7){animation-delay:calc(6 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(8){animation-delay:calc(7 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(9){animation-delay:calc(8 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(10){animation-delay:calc(9 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(11){animation-delay:calc(10 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(12){animation-delay:calc(11 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(13){animation-delay:calc(12 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(14){animation-delay:calc(13 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(15){animation-delay:calc(14 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(16){animation-delay:calc(15 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(17){animation-delay:calc(16 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(18){animation-delay:calc(17 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(19){animation-delay:calc(18 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(20){animation-delay:calc(19 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(21){animation-delay:calc(20 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(22){animation-delay:calc(21 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(23){animation-delay:calc(22 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(24){animation-delay:calc(23 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(25){animation-delay:calc(24 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(26){animation-delay:calc(25 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(27){animation-delay:calc(26 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(28){animation-delay:calc(27 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(29){animation-delay:calc(28 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(30){animation-delay:calc(29 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(31){animation-delay:calc(30 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(32){animation-delay:calc(31 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(33){animation-delay:calc(32 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(34){animation-delay:calc(33 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(35){animation-delay:calc(34 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(36){animation-delay:calc(35 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(37){animation-delay:calc(36 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(38){animation-delay:calc(37 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(39){animation-delay:calc(38 * var(--list-stagger-step))}.reveal-stagger.is-staggered>:nth-child(40){animation-delay:calc(39 * var(--list-stagger-step))}@media (prefers-reduced-motion:reduce){.reveal-stagger>*{opacity:1}.reveal-stagger.is-staggered>*{animation-delay:0s}}.stagger-row{opacity:0}.is-staggered .stagger-row{animation:.22s ease-out forwards upcoming-in;animation-delay:calc(var(--stagger-lead,0s) + var(--i,0) * var(--list-stagger-step))}@media (prefers-reduced-motion:reduce){.stagger-row{opacity:1}.is-staggered .stagger-row{animation-delay:0s}}.reveal-wait{opacity:0;transform:translateY(14px)}.reveal-in{animation:.42s cubic-bezier(.2,.7,.3,1) reveal-in}@keyframes reveal-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.reveal-wait{opacity:1;transform:none}}.toast-host{z-index:60;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:absolute;left:0;right:0}.toast{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);max-width:100%;min-height:38px;box-shadow:0 3px 0 var(--color-border);color:var(--color-text);font-family:var(--font-heading);font-size:var(--text-helper);font-weight:600;line-height:var(--leading-snug);letter-spacing:var(--tracking-pixel);word-break:keep-all;align-items:center;gap:8px;padding:8px 14px;animation:.3s cubic-bezier(.34,1.45,.64,1) backwards toast-in;display:inline-flex}.toast.is-leaving{animation:.22s ease-in forwards toast-out}.toast-icon{flex-shrink:0;line-height:0;display:inline-flex}.toast-text{position:relative;top:.5px}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}.cal-event-detail{transition:grid-template-rows .3s;display:grid}.calendar-event-card{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:pan-y}.calendar-event-card.is-drag-source{opacity:.35}.cal-drag-ghost{z-index:90;border-radius:var(--radius-md);box-shadow:4px 4px 0 var(--color-shadow-tint);pointer-events:none;white-space:nowrap;border:2px solid;align-items:center;gap:8px;padding:10px 12px;transition:width .16s,height .16s,padding .16s,border-radius .16s;display:flex;position:fixed;overflow:hidden;transform:scale(1.02)}.cal-drag-ghost.is-small{border-radius:var(--radius-sm);justify-content:center;padding:2px 3px}.cal-drag-ghost-title{text-overflow:ellipsis;min-width:0;font-size:var(--text-body-sm);overflow:hidden}.cal-drag-ghost.is-small .cal-drag-ghost-title{font-size:var(--text-nano);white-space:normal;text-align:center;overflow-wrap:anywhere;line-height:1.15}.calendar-swipe-area.is-ranging .cal-day:focus,.calendar-swipe-area.is-ranging .cal-day:focus-visible{outline:none}.cal-day.is-in-range:not(.is-today){background:var(--cal-selected-bg);box-shadow:none}.cal-day.is-drop-target:not(.is-today){background:var(--cal-selected-bg);box-shadow:inset 0 0 0 2px var(--color-pink-strong)}.cal-day-dialog{overscroll-behavior:contain;border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(400px,100vw - 28px);max-height:calc(100dvh - 32px);color:var(--color-text);box-shadow:5px 5px 0 var(--color-shadow-tint);margin:auto;padding:16px;overflow-y:auto}.cal-day-dialog::backdrop{background:#24182a6b}.cal-day-dialog:focus{outline:none}.cal-day-dialog>*+*{margin-top:12px}.cal-day-dialog .section-label{font-size:var(--text-body)}.cal-day-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar-page{--cal-entry-gap:4px;--cal-selected-bg:color-mix(in srgb, var(--color-pink) 55%, var(--color-surface));--cal-today-bg:#ffdde0;--cal-today-badge:#bf3f53;--cal-today-ink:#fff8f8}:root[data-theme=dark] .calendar-page,:root[data-theme=midnight] .calendar-page{--cal-today-bg:#522832;--cal-today-badge:#ffa1ab;--cal-today-ink:#48212b}.cal-day{background:0 0;position:relative}.cal-day.is-anniversary{background:var(--cal-anniv-bg)}.cal-day.is-selected{background:var(--cal-selected-bg);box-shadow:inset 0 0 0 1.5px var(--color-pink-strong)}.cal-day.is-today{background:var(--cal-today-bg);box-shadow:none}.cal-day.is-other-month>*{opacity:.35}.cal-day.is-other-month.is-today>.cal-day-head{opacity:1}.cal-day-head{justify-content:center;align-items:center;gap:1px;width:100%;min-height:24px;display:flex}.cal-day-number{border-radius:var(--radius-sm);justify-content:center;align-items:center;min-width:18px;height:20px;display:inline-flex}.cal-day.is-today .cal-day-number{background:var(--cal-today-badge);color:var(--cal-today-ink)}.cal-day-plus{pointer-events:none;flex:none;justify-content:center;align-items:center;width:clamp(16px,100cqw - 20px,22px);height:22px;display:inline-flex}.cal-day-plus svg{width:100%;height:auto;display:block}.cal-day-heading h2{margin:0}.cal-day-heading .rank-close{flex:0 0 32px;width:32px;height:32px}.cal-legend{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;margin:0;padding:0;list-style:none;display:flex}.cal-legend-item{font-size:var(--text-meta);line-height:var(--leading-tight);color:var(--color-text-soft);white-space:nowrap;letter-spacing:var(--tracking-body);align-items:center;gap:6px;display:inline-flex}.cal-legend-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px;box-shadow:inset 0 0 0 1px #4a33402e}.filter-bar{flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;display:flex}.filter-bar .chip{white-space:nowrap;flex-shrink:0;padding:5px 8px}.filter-bar .sort-chip{margin-left:auto}.sort-chip{padding-top:6px;padding-bottom:4px;line-height:1}.sort-chip-label{align-items:center;line-height:1;display:grid}.sort-chip-label>span{text-align:center;grid-area:1/1;align-self:center}@media (width<=379px){.filter-bar .chip{padding:4px 6px;font-size:var(--text-helper)!important}}.capsule-card{border-radius:var(--radius-lg);background:linear-gradient(var(--color-surface), var(--color-surface)) padding-box,  linear-gradient(90deg, #f2788d, #f3b75e, #a7d760, #66c4d6, #b48fe5, #e58abb, #f2788d) border-box;border:3px solid #0000;padding:26px 16px 16px;position:relative;box-shadow:4px 4px #4a3b3529}.capsule-ribbon{border:2px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-heading);font-size:var(--text-helper);letter-spacing:var(--tracking-caps);color:#4a3340;background:linear-gradient(100deg,#ffd9e2,#fff0c9,#d9f2e4,#dde6fb);align-items:center;gap:4px;padding:2px 9px;display:inline-flex;position:absolute;top:-11px;left:14px;box-shadow:0 2px #4a3b3559}@media (prefers-reduced-motion:no-preference){.capsule-card{background-size:100% 100%,260% 100%;animation:14s linear infinite capsule-shimmer}}@keyframes capsule-shimmer{to{background-position:0 0,162.5% 0}}.capsule-photo-pick{align-items:center;gap:10px;display:flex}.capsule-photo-pick img{object-fit:cover;border:2px solid var(--color-border);border-radius:var(--radius-md);flex-shrink:0;width:68px;height:68px}.capsule-photo{border:2px solid var(--color-border);border-radius:var(--radius-md);width:100%;margin-top:4px}.memo-done-row{align-items:flex-start;gap:6px;display:flex}.memo-schedule-row{flex-wrap:wrap;align-items:center;gap:8px}.memo-schedule-label{font-family:var(--font-heading);font-size:var(--text-helper);align-items:center;gap:4px;line-height:1;display:inline-flex}.picker-trigger.memo-schedule-field{min-height:36px;font-size:var(--text-helper);padding:0 10px;line-height:1}.picker-trigger.memo-schedule-date{flex:1.3 104px}.picker-trigger.memo-schedule-time{flex:84px}.memo-done-row>p{flex:auto;min-width:0}.memo-crayon{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;margin-top:2px;padding:0;line-height:0;transition:transform 80ms steps(2,end),opacity 80ms steps(2,end)}.memo-crayon.is-done{opacity:.4}.memo-crayon:active{transform:translateY(1px)scale(.9)}@keyframes pg-full{0%{transform:scale(1)}18%{transform:scale(1.1,.94)translateY(2px)}38%{transform:scale(1.04,1.02)}58%{transform:scale(1.08,.97)translateY(1px)}to{transform:scale(1)}}.pg-full{transform-origin:50% 100%;animation:1.8s steps(12,end) pg-full}@keyframes pg-excited{0%,to{transform:translateY(0)scale(1)}12%{transform:translateY(0)scale(1.06,.9)}26%{transform:translateY(-11px)scale(.95,1.08)}40%{transform:translateY(0)scale(1.06,.92)}54%{transform:translateY(-8px)scale(.97,1.05)}70%{transform:translateY(0)scale(1.04,.95)}84%{transform:translateY(-4px)}}.pg-excited{transform-origin:50% 100%;animation:1.6s steps(14,end) pg-excited}@keyframes pg-snuggle{0%,to{transform:translate(0)scale(1)}20%{transform:translate(4px)scaleY(.97)}45%{transform:translate(6px)scale(1.02,.95)}70%{transform:translate(3px)scaleY(.98)}}.pg-snuggle{transform-origin:50% 100%;animation:1.8s steps(10,end) pg-snuggle}@keyframes care-puff{0%{opacity:0;transform:translate(0)scale(.6)}25%{opacity:1;transform:translate(calc(var(--puff-dx) * .4), calc(var(--puff-dy) * .4)) scale(1)}to{opacity:0;transform:translate(var(--puff-dx), var(--puff-dy)) scale(.85)}}.care-puff{pointer-events:none;z-index:3;line-height:0;animation:1.1s ease-out forwards care-puff;position:absolute;top:50%;left:50%}@media (prefers-reduced-motion:reduce){.pg-full,.pg-excited,.pg-snuggle,.care-puff{animation-duration:.01ms;animation-iteration-count:1}}.date-done{background:var(--color-neutral-soft);border-style:dashed;box-shadow:2px 2px #e3d8cc}.date-done .record-card-title,.date-done .record-card-body,.date-done .date-idea-text{color:var(--color-text-soft)}.date-done .record-card-body,.date-done .date-idea-text{-webkit-text-decoration:line-through #bda98f;text-decoration:line-through #bda98f;text-decoration-thickness:2px}.btn-done{white-space:nowrap;cursor:default;background:var(--tint-mint-bg);color:var(--tint-mint-text);border:2px solid var(--tint-mint-border);box-shadow:2px 2px 0 var(--color-shadow-tint);flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.chip,.btn-sm,.memo-action-button,.comment-open{position:relative}.chip:after,.btn-sm:after,.memo-action-button:after,.album-preview-remove:after,.comment-open:after{content:"";width:100%;height:100%;min-width:var(--touch-min);min-height:var(--touch-min);border-radius:inherit;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.album-preview-remove:after{min-width:36px;min-height:var(--control-sm)}:root{--chrome-bottom:104px;--cal-label-h:11px}.app-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.app-sidebar{display:none}@media (width>=1120px) and (height>=600px){.home-layout{grid-template-columns:minmax(360px,1fr) minmax(300px,1fr);align-items:start;gap:10px 48px;display:grid}.home-layout>.stack:first-of-type{display:contents}.home-layout .mood-card{grid-area:1/1/auto/-1}.home-layout .home-hero{grid-area:2/1;align-self:start}.home-layout .anniversary-card{grid-area:3/1;align-self:start;margin-top:-10px}.home-layout:has(.home-couple-name--gift) .anniversary-card{margin-top:0}.home-layout>.stack:last-of-type{grid-area:2/2/span 2;align-self:start;gap:10px}}@media (width>=900px) and (height>=600px){.home-layout .home-stage{align-self:center;width:min(100%,clamp(320px,29vw,420px) - 32px)}@media (width>=1120px){.home-layout .home-stage{width:100%}}.app-shell{align-items:center;padding:24px}.phone-frame{border:3px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:row;max-width:1240px;height:calc(100dvh - 48px);padding-top:0;overflow:hidden;box-shadow:8px 8px #4a3b3540}.app-sidebar{min-width:0;padding:18px 16px calc(18px + var(--sab));padding-top:max(18px, var(--sat));background:var(--color-surface-soft);border-right:2px dashed var(--color-line-soft);overscroll-behavior:contain;flex-direction:column;flex:0 0 clamp(320px,29vw,420px);gap:14px;display:flex;overflow:hidden auto}.sidebar-brand{font-size:var(--text-lead);align-self:center}.sidebar-hero{border-top:2px dashed var(--color-line-soft);flex-direction:column;gap:12px;min-width:0;margin-top:18px;padding-top:20px;display:flex}.side-nav{flex-direction:column;gap:4px;display:flex}.side-nav a{min-height:var(--touch-min);border-radius:var(--radius-md);font-family:var(--font-heading);font-size:var(--text-body-sm);color:var(--color-text-soft);letter-spacing:var(--tracking-pixel);border:2px solid #0000;flex-direction:row;align-items:center;gap:10px;padding:8px 12px;display:flex}.side-nav a.active{background:var(--color-pink);border-color:var(--color-border);color:var(--color-text);box-shadow:2px 2px 0 var(--color-border)}.side-nav a{transition:transform 60ms ease-out}.side-nav a:active{transform:translateY(2px)}.side-nav a.active:active{box-shadow:0 0 0 var(--color-border)}.side-nav a svg{transition:transform .12s steps(2,end)}.side-nav a:hover svg,.side-nav a.active svg{transform:translateY(-1px)}.app-main{padding-top:max(0px, var(--sat))}.app-main .bottom-nav,.app-main .footer-tagline,.app-main .app-brand:not(.sidebar-brand){display:none}:root{--chrome-bottom:24px}.page-content>*{width:100%;max-width:820px;margin-inline:auto}.page-content>.home-layout{max-width:1000px}.album-gallery-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.cal-line{font-size:clamp(9px,19cqw,11px)}:root{--cal-label-h:14px}.rank-overlay,.feedback-overlay{align-items:center}.rank-sheet,.feedback-dialog{max-width:460px}}@media (width>=900px) and (width<=1119px) and (height>=700px) and (aspect-ratio>=3/4) and (aspect-ratio<=4/3){.home-layout .home-stage{width:100%}}@media (orientation:landscape) and (height<=599px){.app-shell{padding:0}.phone-frame{height:100dvh;box-shadow:none;border:0;border-radius:0;max-width:min(100%,960px)}.app-header{min-height:38px;padding:2px 12px}.page-content{gap:10px;padding:8px 16px 10px}.page-title{gap:9px;padding:0 2px 6px}.card{padding:12px 14px}.stack{gap:9px}.footer-tagline{display:none}.bottom-nav{padding:3px 6px calc(3px + var(--sab))}.bottom-nav a{min-height:38px;font-size:var(--text-micro);gap:1px}.phone-frame{padding-top:var(--sat)}.statusbar-tap{height:var(--sat)}.centered-page{min-height:auto}:root{--chrome-bottom:66px}}@media (orientation:landscape) and (height<=599px) and (width>=700px){.home-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:10px 14px;margin-top:0;display:grid}.home-layout>.stack{display:contents}.home-layout .home-hero{grid-area:1/1/span 8;align-self:start}.home-layout .mood-card,.home-layout .home-quick-actions,.home-layout .anniversary-card,.home-layout .gift-banner,.home-layout .home-feedback-row{grid-column:2}.home-layout .mood-card,.home-layout .anniversary-card{padding:10px 12px}}:root{--chip-mood-bg:#fff7d9;--chip-mood-active-bg:#ffe9a8}@media (prefers-color-scheme:dark){:root:not([data-theme]){--chip-mood-bg:#3a3522;--chip-mood-active-bg:#5a4f22}}:root[data-theme=dark],:root[data-theme=midnight]{--chip-mood-bg:#3a3522;--chip-mood-active-bg:#5a4f22}.chip.chip-mood{background:var(--chip-mood-bg)}.chip.chip-mood.active{background:var(--chip-mood-active-bg)}.mascot-badge{z-index:4;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:3px;line-height:0;animation:.35s steps(3,end) both mascot-badge-in;display:inline-flex;position:absolute;top:calc(6% - 10px);right:-11px;box-shadow:1px 1px #4a3b3559}.mascot-tap.mascot-front .mascot-badge{left:-11px;right:auto}.weather-anim{line-height:0;display:inline-block;position:relative}.weather-anim-frame{opacity:0;animation-duration:var(--cycle);animation-timing-function:step-end;animation-iteration-count:infinite;display:block;position:absolute;inset:0}.weather-anim-frame>svg{display:block}@keyframes weather-frame-4{0%,24.99%{opacity:1}25%,to{opacity:0}}@keyframes weather-frame-5{0%,19.99%{opacity:1}20%,to{opacity:0}}@keyframes weather-frame-6{0%,16.66%{opacity:1}16.67%,to{opacity:0}}@keyframes weather-frame-7{0%,14.28%{opacity:1}14.29%,to{opacity:0}}@keyframes weather-frame-8{0%,12.49%{opacity:1}12.5%,to{opacity:0}}@keyframes weather-frame-12{0%,8.33%{opacity:1}8.34%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.weather-anim-frame{animation:none}.weather-anim-frame:first-child{opacity:1}}@keyframes mascot-badge-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.mood-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.mood-key{aspect-ratio:1;background:var(--color-surface-soft);border:2px dashed var(--color-line-soft);border-radius:var(--radius-md);min-width:0;color:var(--color-text);font-family:var(--font-heading);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:3px 1px;display:flex}.mood-key.is-picked{background:var(--mood-tint,var(--color-pink));border-style:solid;border-color:var(--mood-mine,var(--color-border));color:#3a2a30}.mood-key.by-partner{border-style:solid;border-color:var(--mood-partner,var(--color-border))}.mood-key.is-picked.by-partner{border-color:var(--mood-mine,var(--color-border));box-shadow:0 0 0 3px var(--mood-partner,var(--color-border)), 0 2px 0 #4a3b354d}.mood-key-icon{justify-content:center;align-items:center;height:18px;line-height:0;display:inline-flex}.mood-key-label{font-size:var(--text-micro);white-space:nowrap;text-align:center;line-height:1}@media (width<=399px){.mood-key-icon{height:17px}.mood-key-label{font-size:var(--text-nano);letter-spacing:-.02em}}.mood-same-note{position:relative;top:1px}.mood-card{padding-block:11px;container-type:inline-size}@container (width>=600px){.mood-picker{grid-template-columns:repeat(7,minmax(0,132px));justify-content:center;gap:6px}.mood-key{aspect-ratio:auto;flex-direction:row;gap:5px;padding:9px 5px}}.mood-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.mood-cal-weekday{text-align:center;line-height:1.2}.mood-cal-cell{border:1.5px solid var(--color-line-soft);background:var(--color-surface-soft);border-radius:4px;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:4px 2px 5px;display:flex}.mood-cal-cell.is-empty{background:0 0;border-color:#0000}.mood-cal-cell.is-future{color:var(--color-text-soft);background:0 0;border-style:dashed}.mood-cal-cell.is-today{border-color:var(--color-pink-strong);border-width:2px}.mood-cal-day{font-family:var(--font-heading);font-size:var(--text-micro);color:var(--color-text-soft);line-height:1}.mood-cal-icons{gap:2px;display:flex}.mood-cal-slot{border-radius:var(--radius-sm);background:0 0;border:1.5px solid #0000;justify-content:center;align-items:center;width:17px;height:17px;line-height:0;display:inline-flex}@media (width<=359px){.mood-cal-slot{width:15px;height:15px}}.picker-trigger{width:100%;min-width:0;min-height:var(--touch-min);text-align:left;font-family:var(--font-heading);font-size:max(15px, var(--text-body));color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;padding:6px 10px}.picker-trigger.is-empty{color:var(--color-text-soft)}.picker-trigger:disabled{background:var(--color-neutral-soft);color:var(--color-text-soft);cursor:default;border-style:dashed}.picker-overlay{z-index:70;overscroll-behavior:contain;background:#493a3673;justify-content:center;align-items:center;padding:18px 12px;display:flex;position:fixed;inset:0}.picker-panel{background:var(--color-surface);border:3px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;width:min(330px,100%);max-height:calc(100dvh - 48px);display:flex;overflow:hidden;box-shadow:6px 6px #4a3b354d}.picker-panel:focus{outline:none}.picker-head{border-bottom:2px dashed var(--color-line-soft);justify-content:space-between;align-items:center;gap:10px;padding:11px 10px 10px 14px;display:flex}.picker-close{width:32px;height:32px;font-size:var(--text-title-sm);color:var(--color-text-soft);border:2px solid var(--color-line-soft);border-radius:var(--radius-md);cursor:pointer;background:0 0;flex-shrink:0;line-height:1}.picker-body{flex:auto;min-height:0;padding:12px 14px;overflow-y:auto}.picker-foot{border-top:2px dashed var(--color-line-soft);flex:none;justify-content:flex-end;gap:8px;padding:10px 12px;display:flex}.picker-month{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.picker-month-label{text-align:center;white-space:nowrap;font-family:var(--font-heading);font-size:var(--text-body);color:var(--color-text);flex:auto;margin:0}.picker-month .chip{flex:none;padding:4px 6px}.picker-swipe{touch-action:pan-y;overflow:hidden}.picker-track{grid-template-columns:repeat(3,33.3333%);align-items:start;width:300%;display:grid}.picker-track.is-settling{transition:transform .24s ease-out}.picker-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.picker-weekday{text-align:center;font-family:var(--font-heading);font-size:var(--text-micro);line-height:1.9}.picker-day{aspect-ratio:1;font-family:var(--font-heading);font-size:var(--text-helper);color:var(--color-text);background:var(--color-surface-soft);border-radius:var(--radius-md);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;display:flex}.picker-day.is-empty{cursor:default;background:0 0}.picker-day.is-today{border-color:var(--color-pink-strong)}.picker-day.is-picked{color:var(--color-surface);background:var(--color-border);border-color:var(--color-border)}.picker-day:disabled{opacity:.3;cursor:default}.wheel-row{justify-content:center;gap:10px;display:flex}.wheel-col{flex:1 1 0;min-width:0}.wheel-frame{height:200px;position:relative}.wheel{scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain;height:100%;padding:80px 0;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 28% 72%,#0000);mask-image:linear-gradient(#0000,#000 28% 72%,#0000)}.wheel::-webkit-scrollbar{display:none}.wheel-item{scroll-snap-align:center;width:100%;height:40px;font-family:var(--font-heading);font-size:var(--text-lead);color:var(--color-text-soft);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.wheel-item.is-picked{color:var(--color-text)}.wheel-band{pointer-events:none;border-top:2px solid var(--color-line-soft);border-bottom:2px solid var(--color-line-soft);background:var(--color-surface-soft);z-index:-1;height:40px;position:absolute;top:80px;left:0;right:0}@keyframes wheel-tick{0%{transform:scaleY(.82)}60%{transform:scaleY(1.08)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:no-preference){.wheel{scroll-behavior:smooth}.wheel-band{animation:.18s steps(3,end) both wheel-tick}}.wheel-frame{isolation:isolate}@media (prefers-reduced-motion:reduce){.wheel{scroll-behavior:auto}}.picker-time-now{text-align:center;font-family:var(--font-heading);font-size:var(--text-title);color:var(--color-text);margin:0 0 10px}.picker-row-label{margin:0 0 5px}.quiz-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quiz-option{background:var(--color-surface-soft);border:2px dashed var(--color-line-soft);border-radius:var(--radius-md);min-width:0;min-height:44px;color:var(--color-text);font-family:var(--font-heading);font-size:var(--text-helper);line-height:var(--leading-snug);text-align:left;cursor:pointer;overflow-wrap:anywhere;word-break:keep-all;align-items:center;gap:7px;padding:8px 10px;display:flex}.quiz-option.is-picked{background:var(--color-pink);border:2px solid var(--color-pink-text)}.quiz-option:disabled{cursor:default}.quiz-option-key{font-size:var(--text-helper);color:var(--color-pink-text);flex-shrink:0}.quiz-option.is-picked .quiz-option-key{color:var(--color-text)}.quiz-option-text{min-width:0}.quiz-judge{justify-content:center;padding-top:5px;padding-bottom:5px}.report-ticket{--tk:6px;min-height:74px;color:var(--color-text);background-color:var(--tint-butter-bg);background-image:linear-gradient(var(--color-stripe) 1px, transparent 1px), linear-gradient(90deg, var(--color-stripe) 1px, transparent 1px);border:2px solid var(--tint-butter-border);clip-path:polygon(var(--tk) 0, calc(100% - var(--tk)) 0, 100% var(--tk), 100% calc(100% - var(--tk)), calc(100% - var(--tk)) 100%, var(--tk) 100%, 0 calc(100% - var(--tk)), 0 var(--tk));background-size:14px 14px;align-items:stretch;text-decoration:none;transition:transform 60ms ease-out;display:flex;position:relative;transform:translateY(-2px)}.report-ticket:active{transform:translateY(0)}.report-ticket:before{content:"";pointer-events:none;box-shadow:inset 0 0 0 2px var(--tint-butter-border);clip-path:inherit;position:absolute;inset:0}.report-ticket-stub{border-right:2px dashed var(--tint-butter-border);background:var(--color-stripe);flex:0 0 74px;justify-content:center;align-items:center;display:flex}.report-ticket-stub:before,.report-ticket-stub:after{content:"";background:var(--color-bg);border:2px solid var(--tint-butter-border);border-radius:50%;width:10px;height:10px;position:absolute;left:68px}.report-ticket-stub:before{top:-7px}.report-ticket-stub:after{bottom:-7px}.report-cal{background:var(--color-surface);border:2px solid var(--color-border);width:44px;height:48px;box-shadow:2px 2px 0 var(--tint-butter-border);border-radius:4px;flex-direction:column;align-items:center;display:flex;position:relative;overflow:visible;transform:rotate(-4deg)}.report-cal-band{box-sizing:border-box;background:var(--color-pink-strong);border-bottom:2px solid var(--color-border);justify-content:space-between;width:100%;height:11px;padding:0 7px;display:flex}.report-cal-band i{background:var(--color-surface);border:2px solid var(--color-border);border-radius:2px;width:5px;height:9px;margin-top:-5px;display:block}.report-cal-month{font-family:var(--font-heading);font-weight:700;font-size:var(--text-title-sm);color:var(--color-pink-text);margin-top:4px;line-height:1}.report-cal-unit{font-family:var(--font-heading);font-size:var(--text-nano);color:var(--color-text-soft);margin-top:1px;line-height:1}.report-ticket-body{flex-direction:column;flex:1;justify-content:center;gap:4px;min-width:0;padding:10px 10px 10px 12px;display:flex}.report-ticket-title{font-family:var(--font-heading);font-weight:700;font-size:var(--text-helper);line-height:var(--leading-tight);color:var(--color-text);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.report-ticket-spark{line-height:0;animation:1.6s steps(2,end) infinite scene-twinkle;display:inline-flex}.report-ticket-sub{font-family:var(--font-heading);font-size:var(--text-micro);line-height:var(--leading-snug);color:var(--tint-butter-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.report-ticket-cta{background:var(--color-pink);border:2px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:var(--text-micro);color:var(--color-text);white-space:nowrap;flex:none;align-self:center;align-items:center;gap:4px;margin-right:12px;padding:6px 9px;line-height:1;display:inline-flex}@media (width<=359px){.report-ticket-stub{flex-basis:64px}.report-ticket-stub:before,.report-ticket-stub:after{left:58px}.report-ticket-cta{margin-right:8px;padding:6px 7px}}@media (prefers-reduced-motion:reduce){.report-ticket-spark{animation:none}}.report-card{gap:12px;padding:18px 16px 16px}.report-eyebrow{text-align:center;letter-spacing:var(--tracking-wide)}.report-pets{justify-content:center;min-height:92px;display:flex}.report-pets-set{grid-template-columns:repeat(2,130px);justify-content:center;align-items:end;gap:8px;margin:0 auto;display:grid}.report-pet{min-width:0;font-family:var(--font-heading);font-size:var(--text-helper);flex-direction:column;align-items:center;gap:4px;display:flex}.report-pet-art{align-items:flex-end;line-height:0;display:inline-flex}.report-pet b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (width<=359px){.report-pets-set{grid-template-columns:repeat(2,112px)}}.report-title-band{background:var(--tint-butter-bg);border:2px solid var(--tint-butter-border);border-radius:var(--radius-md);text-align:center;flex-direction:column;align-items:center;gap:3px;padding:10px 12px;display:flex}.report-title{font-size:var(--text-title-sm);color:var(--tint-butter-text)}.report-badges{flex-direction:column;gap:5px;margin:-4px 0 0;padding:0;list-style:none;display:flex}.report-badge{background:var(--color-surface-soft);border:2px dashed var(--tint-butter-border);border-radius:var(--radius-md);font-family:var(--font-heading);align-items:baseline;gap:8px;padding:6px 10px;display:flex}.report-badge-title{font-size:var(--text-helper);color:var(--tint-butter-text);flex:none;font-weight:700}.report-badge-reason{min-width:0;font-size:var(--text-micro);color:var(--color-text-soft);line-height:var(--leading-snug)}.report-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.report-stat{background:var(--color-surface-soft);border:2px solid var(--color-line-soft);border-radius:var(--radius-md);font-family:var(--font-heading);flex-direction:column;align-items:center;gap:2px;padding:10px 4px 8px;display:flex}.report-stat b{font-size:var(--text-title-sm);color:var(--color-pink-text);line-height:1.1}.report-stat span{font-size:var(--text-micro);color:var(--color-text-soft)}.report-row{grid-template-columns:20px minmax(0,1.2fr) minmax(0,1.4fr) 28px;align-items:center;gap:8px;display:grid}.report-row-icon{line-height:0;display:inline-flex}.report-row-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.report-bar{border-radius:var(--radius-sm);background:var(--color-surface-soft);border:1.5px solid var(--color-line-soft);height:14px;display:flex;overflow:hidden}.report-bar>span{height:100%;display:block}.report-row-count{text-align:right;font-family:var(--font-heading)}.report-facts{background:var(--color-surface-soft);border:2px dashed var(--color-line-soft);border-radius:var(--radius-md);flex-direction:column;gap:5px;padding:10px 12px;display:flex}:root{--letter-paper:#fffdf2;--letter-rule:#f3dcc8;--letter-edge:#e6d3bf;--letter-shadow:#e8d8c6;--letter-write-bg:var(--color-surface);--letter-write-edge:var(--color-border)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--letter-paper:#2b2620;--letter-rule:#4a4136;--letter-edge:#4a4136;--letter-shadow:#1f1b16}}:root[data-theme=dark],:root[data-theme=midnight]{--letter-paper:#2b2620;--letter-rule:#4a4136;--letter-edge:#4a4136;--letter-shadow:#1f1b16}.letter-paper{background:var(--letter-paper);border:2px solid var(--letter-edge);box-shadow:3px 3px 0 var(--letter-shadow);border-radius:4px;flex-direction:column;gap:10px;padding:16px 18px 18px;display:flex;position:relative}.letter-paper:after{content:"";border:2px dashed var(--letter-rule);border-radius:var(--radius-sm);pointer-events:none;position:absolute;inset:5px}.letter-paper.author-me{background:var(--u-me-bg);background:color-mix(in srgb, var(--u-me-bg) 52%, var(--letter-paper));border-color:var(--u-me-border);box-shadow:3px 3px 0 var(--u-me-border)}.letter-paper.author-me:after{border-color:var(--u-me-border);border-color:color-mix(in srgb, var(--u-me-border) 72%, var(--letter-paper))}.letter-paper.author-partner{background:var(--u-partner-bg);background:color-mix(in srgb, var(--u-partner-bg) 52%, var(--letter-paper));border-color:var(--u-partner-border);box-shadow:3px 3px 0 var(--u-partner-border)}.letter-paper.author-partner:after{border-color:var(--u-partner-border);border-color:color-mix(in srgb, var(--u-partner-border) 72%, var(--letter-paper))}.letter-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.letter-to{font-family:var(--font-heading);font-size:var(--text-body);line-height:var(--leading-snug);letter-spacing:var(--tracking-label);color:var(--color-text-soft);position:relative;top:1px}.letter-to b{color:var(--color-text)}.letter-stamp{filter:drop-shadow(1px 2px #6c505a42);flex-shrink:0;line-height:0;display:inline-flex;transform:rotate(-4deg)}.letter-input{resize:none;position:relative;top:1.5px;background:var(--letter-write-bg)!important;border:2px dashed var(--letter-write-edge)!important;box-shadow:none!important;border-radius:8px!important;padding:18px 13px 4px!important}.letter-input::placeholder{color:var(--color-text-soft);opacity:1}.letter-input:focus{outline:none;border-style:solid!important;border-color:var(--color-pink-strong)!important}.letter-foot{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.letter-from{font-family:var(--font-heading)}.letter-card{gap:8px}.letter-card .compliment-note-author{font-size:var(--text-body-sm);align-self:center;margin:0;position:relative;top:2px}.letter-card .compliment-note-content{margin:0;position:relative;top:8.5px}.notif-icon{background:var(--color-surface-soft);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;margin-top:1px;display:inline-flex}.notif-icon>svg{display:block}:root{--ency-paper:#fffcf7;--ency-edge:#b8a5ea;--ency-spine:#d3c4f5;--ency-stitch:#8f78d2;--ency-shadow:#ded0fa;--ency-rule:#e0d5f8;--ency-kicker:#7a63c4;--ency-flip-near:#ece4fb;--ency-ok-bg:#e3f5ea;--ency-ok-text:#2b7a55;--ency-no-bg:#ffe6ed;--ency-no-text:#b53c62}@media (prefers-color-scheme:dark){:root:not([data-theme]){--ency-paper:#262136;--ency-edge:#5b4d8a;--ency-spine:#3a3159;--ency-stitch:#8f78d2;--ency-shadow:#1a1628;--ency-rule:#473c6b;--ency-kicker:#bdaaf0;--ency-flip-near:#332c4d;--ency-ok-bg:#22362c;--ency-ok-text:#9fe0bd;--ency-no-bg:#3d2630;--ency-no-text:#ffb3c8}}:root[data-theme=dark],:root[data-theme=midnight]{--ency-paper:#262136;--ency-edge:#5b4d8a;--ency-spine:#3a3159;--ency-stitch:#8f78d2;--ency-shadow:#1a1628;--ency-rule:#473c6b;--ency-kicker:#bdaaf0;--ency-flip-near:#332c4d;--ency-ok-bg:#22362c;--ency-ok-text:#9fe0bd;--ency-no-bg:#3d2630;--ency-no-text:#ffb3c8}.ency-book-cover{border:3px solid var(--ency-card-edge);background-color:var(--ency-card-bg);image-rendering:pixelated;box-shadow:0 5px 0 var(--ency-card-shadow);color:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='1' height='1' fill='%23fff' fill-opacity='.5'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23000' fill-opacity='.06'/%3E%3C/svg%3E");background-size:8px 8px;border-radius:4px 10px 10px 4px;margin-right:12px;padding:16px 18px 16px 34px;text-decoration:none;display:block;position:relative}.ency-book-cover:active{box-shadow:0 3px 0 var(--ency-card-shadow);transform:translateY(2px)}.ency-cover-spine{background-color:var(--ency-spine);width:22px;image-rendering:pixelated;border-right:2px solid var(--ency-card-edge);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='1'%3E%3Crect width='1' height='1' fill='%23000' fill-opacity='.07'/%3E%3C/svg%3E");background-size:4px 2px;border-radius:1px 0 0 1px;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;top:0;bottom:0;left:0}.ency-cover-spine i{background:var(--ency-stitch);width:5px;height:5px}.ency-cover-edge{width:12px;display:flex;position:absolute;top:7px;bottom:7px;right:-12px}.ency-cover-edge i{background-color:var(--ency-paper);image-rendering:pixelated;border:2px solid var(--ency-card-edge);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='3'%3E%3Crect width='1' height='1' fill='%23000' fill-opacity='.12'/%3E%3C/svg%3E");background-size:2px 6px;border-left:0;border-radius:0 3px 3px 0;flex:1}.ency-cover-edge i:nth-child(2){margin-top:2px;margin-bottom:2px}.ency-cover-edge i:nth-child(3){margin-top:4px;margin-bottom:4px}.ency-cover-ribbon{background:var(--ency-ribbon);border:2px solid var(--ency-ribbon-edge);clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%);border-top:0;border-radius:0 0 2px 2px;width:10px;height:42px;position:absolute;top:-4px;right:26px}.ency-cover-plate{text-align:center;background-color:var(--ency-paper);image-rendering:pixelated;border:3px solid var(--ency-gold);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--ency-paper), inset 0 0 0 4px var(--ency-gold-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3' height='3'%3E%3Crect width='1' height='1' fill='%23000' fill-opacity='.05'/%3E%3C/svg%3E");background-size:6px 6px;flex-direction:column;align-items:center;gap:3px;padding:14px 14px 13px;display:flex;position:relative}.ency-cover-corner{line-height:0;position:absolute}.ency-cover-corner.c1{top:-3px;left:-3px}.ency-cover-corner.c2{top:-3px;right:-3px;transform:scaleX(-1)}.ency-cover-corner.c3{bottom:-3px;left:-3px;transform:scaleY(-1)}.ency-cover-corner.c4{bottom:-3px;right:-3px;transform:scale(-1)}.ency-cover-emblem{border:2px solid var(--ency-gold-soft);background:var(--ency-card-bg);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:2px;line-height:0;display:inline-flex}.ency-cover-label{background:var(--ency-card-chip);font-family:var(--font-heading);font-size:var(--text-micro);letter-spacing:var(--tracking-wide);color:var(--ency-card-text);border-radius:999px;align-items:center;gap:5px;padding:2px 9px 1px;display:inline-flex}.ency-cover-title{font-family:var(--font-heading);font-size:var(--text-title-sm);line-height:var(--leading-snug);color:var(--color-text);text-wrap:balance;position:relative;top:3px}.ency-cover-rule{border-top:2px dotted var(--ency-gold);width:64px;height:0;margin:4px 0 2px}.ency-cover-sub{font-size:var(--text-micro);line-height:var(--leading-snug);color:var(--color-text-soft)}.ency-cover-cta{margin-top:8px}:root{--ency-gold:#e6bf6a;--ency-gold-soft:#f3dca8}@media (prefers-color-scheme:dark){:root:not([data-theme]){--ency-gold:#b8934a;--ency-gold-soft:#6d5730}}:root[data-theme=dark],:root[data-theme=midnight]{--ency-gold:#b8934a;--ency-gold-soft:#6d5730}:root{--ency-ribbon:#ffd07a;--ency-ribbon-edge:#e0a93f}@media (prefers-color-scheme:dark){:root:not([data-theme]){--ency-ribbon:#e0a93f;--ency-ribbon-edge:#a97d26}}:root[data-theme=dark],:root[data-theme=midnight]{--ency-ribbon:#e0a93f;--ency-ribbon-edge:#a97d26}:root{--ency-card-bg:#f5f0ff;--ency-card-edge:#c3b2ee;--ency-card-rule:#d9cdf7;--ency-card-shadow:#ded0fa;--ency-card-chip:#e7defb;--ency-card-text:#6b53c0}@media (prefers-color-scheme:dark){:root:not([data-theme]){--ency-card-bg:#2b2540;--ency-card-edge:#5b4d8a;--ency-card-rule:#473c6b;--ency-card-shadow:#1d1830;--ency-card-chip:#3a3159;--ency-card-text:#d4c8ff}}:root[data-theme=dark],:root[data-theme=midnight]{--ency-card-bg:#2b2540;--ency-card-edge:#5b4d8a;--ency-card-rule:#473c6b;--ency-card-shadow:#1d1830;--ency-card-chip:#3a3159;--ency-card-text:#d4c8ff}.year-teaser{border:3px solid var(--year-edge);border-radius:var(--radius-lg);background:var(--year-bg);box-shadow:4px 4px 0 var(--year-shadow);color:inherit;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex;position:relative}.year-teaser:active{box-shadow:3px 3px 0 var(--year-shadow);transform:translate(1px,1px)}.year-teaser-medal{flex-shrink:0;line-height:0;display:inline-flex}.year-teaser:not(.is-open) .year-teaser-medal{filter:grayscale(.55)opacity(.75)}.year-teaser-text{flex-direction:column;gap:2px;min-width:0;display:flex}.year-teaser-title{font-family:var(--font-heading);font-size:var(--text-body-sm);color:var(--color-text)}.year-teaser-sub{font-size:var(--text-micro);color:var(--year-text)}.year-teaser-cta{flex-shrink:0;margin-left:auto}.report-locked{text-align:center;border-color:var(--year-edge);background:var(--year-bg);align-items:center;gap:8px}.report-locked-seal{filter:grayscale(.55)opacity(.8);line-height:0;display:inline-flex}.report-locked-title{font-size:var(--text-body);color:var(--color-text)}.report-locked-sub{max-width:34ch}:root{--year-bg:#e6f6ef;--year-edge:#9fd5bb;--year-shadow:#c9ead9;--year-text:#2f7d5c}@media (prefers-color-scheme:dark){:root:not([data-theme]){--year-bg:#1f322a;--year-edge:#3f6b52;--year-shadow:#16241e;--year-text:#9fe0bd}}:root[data-theme=dark],:root[data-theme=midnight]{--year-bg:#1f322a;--year-edge:#3f6b52;--year-shadow:#16241e;--year-text:#9fe0bd}.year-popup-overlay{z-index:60;background:#32282d73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.year-popup-card{width:min(340px,100%);padding:calc(var(--dialog-pad) + 2px) var(--dialog-pad) var(--dialog-pad);text-align:center;border:3px solid var(--year-edge);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:5px 5px 0 var(--year-shadow);flex-direction:column;align-items:center;gap:6px;display:flex}@media (prefers-reduced-motion:no-preference){.year-popup-card{animation:.4s cubic-bezier(.2,1.6,.4,1) celebration-pop}}.year-popup-medal{margin-bottom:2px;line-height:0;display:inline-flex}.year-popup-eyebrow{letter-spacing:var(--tracking-wide)}.year-popup-title{font-size:var(--text-lead);line-height:var(--leading-snug)}.year-popup-sub{max-width:30ch}.year-popup-actions{flex-direction:column;align-items:stretch;gap:6px;width:100%;margin-top:10px;display:flex}.rainbow-text{align-items:baseline;display:inline-flex}.rainbow-text i{font-style:normal}.rainbow-text b{font-weight:inherit}.rainbow-text i:nth-of-type(7n+1){color:var(--rb-1)}.rainbow-text i:nth-of-type(7n+2){color:var(--rb-2)}.rainbow-text i:nth-of-type(7n+3){color:var(--rb-3)}.rainbow-text i:nth-of-type(7n+4){color:var(--rb-4)}.rainbow-text i:nth-of-type(7n+5){color:var(--rb-5)}.rainbow-text i:nth-of-type(7n+6){color:var(--rb-6)}.rainbow-text i:nth-of-type(7n+7){color:var(--rb-7)}:root{--rb-1:#ef5a7f;--rb-2:#ef8a3a;--rb-3:#cfa018;--rb-4:#3fa257;--rb-5:#2f8fc7;--rb-6:#6a63d0;--rb-7:#b055be}@media (prefers-color-scheme:dark){:root:not([data-theme]){--rb-1:#ff9ab2;--rb-2:#ffbd7a;--rb-3:#f0d868;--rb-4:#8ddb9f;--rb-5:#86c8ef;--rb-6:#b0abf5;--rb-7:#e2a0ec}}:root[data-theme=dark],:root[data-theme=midnight]{--rb-1:#ff9ab2;--rb-2:#ffbd7a;--rb-3:#f0d868;--rb-4:#8ddb9f;--rb-5:#86c8ef;--rb-6:#b0abf5;--rb-7:#e2a0ec}.care-key-face>svg{display:block;overflow:visible}.home-stage.has-sleep-hint .home-speech-wrap{margin-bottom:16px}.home-stage.has-sleep-hint .home-mascot-row{min-height:148px}.home-stage.has-sleep-hint .couple-mascots{--mascot-top-space:12px}.sleep-nudge-hint{border:1px solid var(--color-lavender-strong);border-radius:var(--radius-md);background:var(--color-surface);max-width:calc(100% - 24px);box-shadow:0 2px 0 var(--color-shadow-tint);color:var(--color-lavender-text);font-family:var(--font-heading);font-size:var(--text-helper);line-height:var(--leading-snug);text-align:center;word-break:keep-all;overflow-wrap:anywhere;pointer-events:none;justify-items:center;gap:3px;margin:0;padding:6px 8px;display:grid}.sleep-nudge-hint-title{justify-content:center;align-items:center;gap:5px;display:flex}.sleep-nudge-hint-title>svg{flex:none}.home-stage.has-care-flash .sleep-nudge-hint,.home-stage.has-nudge .sleep-nudge-hint{visibility:hidden}.mascot-zzz{z-index:3;pointer-events:none;align-items:flex-end;gap:2px;display:flex;position:absolute;top:-6px;right:-2px}.mascot-zzz i{opacity:0;line-height:0;display:inline-flex}@media (prefers-reduced-motion:no-preference){.mascot-zzz i{animation:3s steps(4,end) infinite zzz-rise}.mascot-zzz i:first-child{animation-delay:0s}.mascot-zzz i:nth-child(2){animation-delay:1s}.mascot-zzz i:nth-child(3){animation-delay:2s}}@media (prefers-reduced-motion:reduce){.mascot-zzz i{opacity:1}}@keyframes zzz-rise{0%{opacity:0;transform:translateY(7px)}16%{opacity:1;transform:translate(1px,3px)}50%{opacity:1;transform:translate(5px,-4px)}80%{opacity:1;transform:translate(4px,-11px)}to{opacity:0;transform:translate(7px,-18px)}}:root{--sea-water:#b9def0;--sea-line:#9bcde4;--sea-sand:#f7e6c8;--sea-sand-line:#e2c89c}@media (prefers-color-scheme:dark){:root:not([data-theme]){--sea-water:#24405e;--sea-line:#3a5c80;--sea-sand:#4a4334;--sea-sand-line:#6a5f47}}:root[data-theme=dark],:root[data-theme=midnight]{--sea-water:#24405e;--sea-line:#3a5c80;--sea-sand:#4a4334;--sea-sand-line:#6a5f47}:root{--sleep-bg:#332e57;--sleep-edge:#fff2d2;--sleep-ring:#2a2447;--sleep-shadow:#1d1838;--sleep-sign-bg:var(--color-surface-soft);--sleep-sign-edge:var(--color-speech-border);--sleep-sign-text:color-mix(in srgb, var(--color-pink-text) 70%, var(--color-text) 30%);--sleep-sign-shadow:color-mix(in srgb, var(--color-speech-border) 65%, var(--color-surface) 35%);--sleep-sign-halo:color-mix(in srgb, var(--color-surface) 75%, transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--sleep-bg:#453d75;--sleep-edge:#ffefcb;--sleep-ring:#191430;--sleep-shadow:#221c44}}:root[data-theme=dark],:root[data-theme=midnight]{--sleep-bg:#453d75;--sleep-edge:#ffefcb;--sleep-ring:#191430;--sleep-shadow:#221c44}.care-pad.is-asleep .care-key:not(.done){filter:saturate(.3)opacity(.55)}.care-asleep-sign{z-index:2;white-space:nowrap;border:2px solid var(--sleep-sign-edge);border-radius:var(--radius-md);background:var(--sleep-sign-bg);box-shadow:0 3px 0 var(--sleep-sign-shadow), 0 0 0 2px var(--sleep-sign-halo);font-family:var(--font-heading);font-size:var(--text-micro);letter-spacing:var(--tracking-label);color:var(--sleep-sign-text);pointer-events:none;align-items:center;gap:5px;padding:4px 9px 5px;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-6deg)}.care-asleep-sign .pixel-icon path{fill:currentColor}@media (prefers-reduced-motion:no-preference){.care-asleep-sign{animation:2.4s steps(3,end) infinite asleep-sign-bob}}@keyframes asleep-sign-bob{0%,to{transform:translate(-50%,-50%)rotate(-6deg)}50%{transform:translate(-50%,calc(-50% - 3px))rotate(-3deg)}}@media (prefers-reduced-motion:no-preference){.care-pad-flash.care-flash-ground.care-flash-fade{animation:.22s ease-out both care-flash-rise,.7s ease-in 2.1s both care-flash-out}}@keyframes care-flash-out{0%{opacity:1}to{opacity:0}}.album-tabs{gap:6px}.album-tab{flex:1;justify-content:center;gap:7px}.album-tab.is-active{color:var(--color-surface);background:var(--color-border);border-color:var(--color-border);border-style:solid}.doodle-pad{border:2px solid var(--color-border);border-radius:var(--radius-md);touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:#fff8ef;width:100%;max-width:330px;margin:0 auto;display:block;overflow:hidden}.doodle-canvas{aspect-ratio:1;width:100%;height:auto;display:block}.doodle-art{display:block}.doodle-palette{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.doodle-swatch{border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.doodle-swatch.is-picked{box-shadow:0 0 0 3px var(--color-pink-strong)}.doodle-eraser{background:var(--color-surface)}.doodle-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;display:grid}.doodle-card{border:2px solid var(--color-border);border-radius:var(--radius-md);box-shadow:3px 3px 0 var(--color-shadow-tint);flex-direction:column;align-items:center;gap:6px;margin:0;padding:10px 10px 8px;display:flex;position:relative}.doodle-card svg{background:var(--color-surface);border-radius:var(--radius-sm)}.doodle-caption{font-family:var(--font-heading);font-size:var(--text-micro);line-height:var(--leading-tight);flex-direction:column;align-items:center;gap:1px;display:flex}.doodle-remove{width:22px;height:22px;font-size:var(--text-helper);color:var(--color-text-soft);background:var(--color-surface);border:2px solid var(--color-line-soft);cursor:pointer;border-radius:50%;line-height:1;position:absolute;top:3px;right:3px}.ourmap{flex-direction:column;align-items:center;gap:1px;padding:8px 0;display:flex}.ourmap-row{gap:1px;display:flex}.ourmap-cell{background:var(--color-neutral-soft);border:0;border-radius:2px;width:15px;height:15px;padding:0}.ourmap-cell.is-sea{background:0 0}.ourmap-cell.is-none{background:var(--color-line-soft);cursor:pointer}.ourmap-cell.is-few{background:var(--color-pink);cursor:pointer}.ourmap-cell.is-some{background:var(--color-pink-strong);cursor:pointer}.ourmap-cell.is-many{background:var(--color-pink-text);cursor:pointer}.ourmap-cell.is-picked{box-shadow:0 0 0 2px var(--color-border)}.ourmap-readout{text-align:center;min-height:1.4em;margin:0}@media (width<=359px){.ourmap-cell{width:13px;height:13px}}.partner-wait-banner{border-style:dashed}.page-content[data-page=home],.page-content[data-page=compliment],.page-content[data-page=album],.page-content[data-page=secret-missions]{--page-accent-bg:var(--tint-pink-bg);--page-accent-border:var(--tint-pink-border);--page-accent-strong:var(--color-pink-strong)}.page-content[data-page=question],.page-content[data-page=experiments],.page-content[data-page=encyclopedia],.page-content[data-page=settings]{--page-accent-bg:var(--tint-lavender-bg);--page-accent-border:var(--tint-lavender-border);--page-accent-strong:var(--tint-lavender-strong)}.page-content[data-page=memo],.page-content[data-page=report],.page-content[data-page=pet]{--page-accent-bg:var(--tint-butter-bg);--page-accent-border:var(--tint-butter-border);--page-accent-strong:var(--tint-butter-strong)}.page-content[data-page=records],.page-content[data-page=date]{--page-accent-bg:var(--tint-mint-bg);--page-accent-border:var(--tint-mint-border);--page-accent-strong:var(--tint-mint-strong)}.page-content[data-page=calendar],.page-content[data-page=photo-booth]{--page-accent-bg:var(--tint-sky-bg);--page-accent-border:var(--tint-sky-border);--page-accent-strong:var(--tint-sky-strong)}.after-done-note{border:2px dashed var(--color-speech-border);border-radius:var(--radius-sm);background:var(--color-surface);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.after-done-note>p{font-family:var(--font-heading);font-size:var(--text-helper);font-weight:700;line-height:var(--leading-snug);letter-spacing:var(--tracking-label);color:var(--color-pink-text);overflow-wrap:anywhere}@keyframes popup-out{to{opacity:0;transform:translateY(8px)}}@keyframes backdrop-out{to{opacity:0}}.cal-day-dialog.is-closing,.mood-request-dialog.is-closing,.memory-dialog.is-closing,.confirm-card.is-closing,.picker-panel.is-closing,.feedback-dialog.is-closing,.notif-panel.is-closing,.rank-sheet.is-closing,.avatar-studio-popup.is-closing,.album-detail-panel.is-closing,.year-popup-card.is-closing{animation:.22s ease-in forwards popup-out}.cal-day-dialog.is-closing::backdrop,.mood-request-dialog.is-closing::backdrop,.memory-dialog.is-closing::backdrop,.confirm-backdrop.is-closing,.picker-overlay.is-closing,.feedback-overlay.is-closing,.rank-overlay.is-closing,.avatar-studio-backdrop.is-closing,.album-detail-overlay.is-closing .album-detail-scrim,.year-popup-overlay.is-closing{animation:.22s ease-in forwards backdrop-out}.analytics-consent{z-index:1200;right:max(16px, env(safe-area-inset-right));bottom:max(88px, calc(env(safe-area-inset-bottom) + 76px));border:2px solid var(--color-border);background:var(--color-surface);width:min(420px,100vw - 32px);max-height:65dvh;color:var(--color-text);box-shadow:4px 4px 0 var(--color-shadow-tint);font-size:var(--text-body-sm);line-height:var(--leading-body);border-radius:12px;padding:20px;position:fixed;overflow-y:auto}.analytics-consent strong{font-size:var(--text-body);font-family:var(--font-heading)}.analytics-consent p{margin:8px 0}.analytics-settings p{line-height:var(--leading-body);margin:0}.analytics-settings details p{margin-top:6px}.analytics-consent summary{cursor:pointer;text-decoration:underline}.analytics-settings summary{cursor:pointer;color:var(--color-pink-text);font-weight:700;list-style:none}.analytics-settings summary::-webkit-details-marker{display:none}.analytics-settings summary:before{content:"▸ "}.analytics-settings details[open] summary:before{content:"▾ "}.analytics-consent-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.analytics-consent-actions button{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text);border-radius:6px;flex:1;padding:8px}.analytics-consent-actions button:last-child{background:var(--color-pink);color:var(--color-text)}.monthly-report-letter{min-width:0;color:var(--color-text);background:var(--letter-paper);border:2px solid var(--letter-edge);box-shadow:3px 3px 0 var(--letter-shadow);border-radius:4px;align-items:center;gap:12px;padding:16px;text-decoration:none;display:flex;position:relative}.monthly-report-letter:before{content:"";border:1px dashed var(--letter-rule);pointer-events:none;border-radius:2px;position:absolute;inset:5px}.monthly-report-letter-icon,.monthly-report-letter-arrow{flex-shrink:0;align-items:center;display:flex}.monthly-report-letter-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.monthly-report-letter-title{font-family:var(--font-heading);font-size:var(--text-body-sm);font-weight:700;line-height:var(--leading-snug);letter-spacing:var(--tracking-label);word-break:keep-all;overflow-wrap:anywhere}.monthly-report-letter-sub{color:var(--color-text-soft);font-family:var(--font-heading);font-size:var(--text-helper);line-height:var(--leading-snug);letter-spacing:var(--tracking-label)}.monthly-report-letter-arrow{color:var(--color-text-soft);font-size:var(--text-body-sm)}.monthly-report-letter:focus-visible{outline:2px solid var(--color-pink-text);outline-offset:4px}.monthly-report-letter:active{box-shadow:1px 1px 0 var(--letter-shadow)}.monthly-report-arrival{flex-direction:column;gap:4px;min-width:0;display:flex}.monthly-report-dismiss{font-size:var(--text-micro);align-self:flex-end}.character-analysis-dialog{width:min(400px,100vw - 28px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:5px 5px 0 var(--color-shadow-tint);margin:auto;padding:0;overflow:hidden}.character-analysis-dialog::backdrop{background:var(--color-overlay)}.character-analysis-dialog:focus{outline:none}.character-analysis-dialog[open]{flex-direction:column;animation:.32s cubic-bezier(.34,1.45,.64,1) backwards dialog-spring;display:flex}.character-analysis-dialog[open]::backdrop{animation:.24s ease-out backwards backdrop-fade}.character-analysis-dialog[open].is-closing{animation:.22s ease-in forwards popup-out}.character-analysis-dialog[open].is-closing::backdrop{animation:.22s ease-in forwards backdrop-out}.character-analysis-heading{border-bottom:2px dashed var(--color-line-soft);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.character-analysis-heading h2{overflow-wrap:anywhere;min-width:0;margin:0}.character-analysis-dialog .section-label{font-size:var(--text-body)}.character-analysis-heading .rank-close{width:var(--touch-min);height:var(--touch-min);flex:0 0 var(--touch-min)}.character-analysis-content{overscroll-behavior:contain;flex-direction:column;gap:10px;min-height:0;padding:12px 16px;display:flex;overflow-y:auto}.character-analysis-content>*{flex-shrink:0}.character-analysis-dialog :where(p,h2,h3,dt,dd){line-height:var(--leading-body);overflow-wrap:anywhere;word-break:keep-all}.character-analysis-dialog .btn{height:auto;min-height:var(--touch-min);font-size:var(--text-body-sm);line-height:var(--leading-snug);white-space:normal}.character-analysis-intro,.character-analysis-note{text-align:center}.character-analysis-stage{grid-template-columns:minmax(0,1fr);place-items:center;min-width:0;padding:0 56px;display:grid}.character-analysis-art{flex-shrink:0;max-width:100%;position:relative}.character-analysis-art>img,.character-analysis-art>canvas{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;display:block}.character-analysis-zone{width:100%;min-height:var(--touch-min);cursor:pointer;border-radius:var(--radius-md);color:var(--color-text);background:0 0;border:0;padding:0;position:absolute;left:0}.character-analysis-zone.is-head{height:55%;top:0}.character-analysis-zone.is-body{top:55%;bottom:0}.character-analysis-tag{white-space:nowrap;pointer-events:none;position:absolute}.character-analysis-zone.is-head>.character-analysis-tag{top:12%;right:calc(100% - 8px)}.character-analysis-zone.is-body>.character-analysis-tag{top:12%;left:calc(100% - 8px)}.character-analysis-zone:hover,.character-analysis-zone:focus-visible{background:color-mix(in srgb, var(--color-pink-soft) 35%, transparent);outline:2px dashed var(--color-pink-strong);outline-offset:3px}.character-analysis-zone:hover>.character-analysis-tag,.character-analysis-zone:focus-visible>.character-analysis-tag{background:var(--color-pink);border-color:var(--color-border)}.character-analysis-zone:disabled{opacity:.5;cursor:wait}.character-analysis-summary{gap:10px;display:grid}.character-analysis-group{padding:8px 12px 12px}.character-analysis-group .section-label{font-size:var(--text-body-sm);margin:0}.character-analysis-group .row-between{align-items:center;gap:8px}.character-analysis-group dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:4px 0 0;display:grid}.character-analysis-group.is-head dl{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr))}.character-analysis-group dl>div{border-top:1px dashed var(--color-line-soft);min-width:0;font-size:var(--text-body-sm);align-content:start;gap:2px;padding-top:6px;display:grid}.character-analysis-group dt{color:var(--color-text-soft);font-size:var(--text-helper)}.character-analysis-group dd{overflow-wrap:anywhere;margin:0}.character-analysis-group :is(dt,dd){line-height:var(--leading-snug)}.character-analysis-form{gap:12px}.character-analysis-form p{margin:0}.character-analysis-fields{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;min-width:0;margin:0;padding:0;display:grid}.character-analysis-field{gap:6px;min-width:0}.character-analysis-field label{font-size:var(--text-helper);font-weight:600;line-height:var(--leading-snug)}.character-analysis-field.is-wide{grid-column:1/-1}.character-analysis-field input{min-width:0;color:var(--color-text)}.character-analysis-field select{width:100%;min-width:0;min-height:var(--touch-min);border:2px solid var(--color-border);border-radius:var(--radius-md);font:inherit;font-size:max(16px, var(--text-read));line-height:var(--leading-snug);color:var(--color-text);background:var(--color-surface);padding:11px 13px;box-shadow:inset 2px 2px #4a3b3514}.character-analysis-field select:focus{outline:2px solid var(--color-pink-strong);outline-offset:1px}.character-analysis-actions{z-index:1;background:var(--color-surface);border-top:1px solid var(--color-line-soft);grid-template-columns:1fr 1fr;gap:8px;margin:0 -4px -12px;padding:10px 4px 12px;display:grid;position:sticky;bottom:-12px}.character-analysis-actions .btn{width:100%;min-height:var(--touch-min);word-break:keep-all;padding:9px 8px}.character-analysis-dialog .picker-month{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.character-analysis-dialog .picker-month-label{grid-area:1/1/auto/-1}.character-analysis-dialog .picker-month .chip{min-width:0;min-height:var(--touch-min);justify-content:center}.character-analysis-dialog .picker-day{white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0;padding:0}.character-analysis-dialog .picker-close{width:var(--touch-min);height:var(--touch-min)}@media (width<=359px){.character-analysis-heading,.character-analysis-content{padding-inline:12px}.character-analysis-tag{font-size:var(--text-helper);padding-inline:6px}}.pet-xp-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.pet-xp-metric{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.pet-xp-metric dt{font-family:var(--font-heading);font-size:var(--text-helper);line-height:var(--leading-snug)}.pet-xp-metric dd{width:100%;margin:0}.pet-xp-value{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.pet-xp-value strong{min-width:0;font-family:var(--font-heading);font-size:var(--text-title-sm);line-height:var(--leading-tight);overflow-wrap:anywhere}.pet-xp-value>span,.pet-xp-caption{font-size:var(--text-micro);color:var(--color-text-soft);line-height:var(--leading-body)}.pet-xp-today{background:var(--color-pink-soft)}.pet-xp-today .pet-xp-value strong{color:var(--color-pink-text)}.pet-xp-track{border-radius:var(--radius-sm);background:var(--color-surface);height:8px;overflow:hidden}.pet-xp-track>span{background:var(--color-pink-strong);height:100%;display:block}.pet-rank-sheet .rank-sheet-head{gap:12px;padding:12px 16px}.pet-rank-sheet .rank-sheet-head .section-label{font-size:var(--text-body);line-height:var(--leading-body)}.pet-rank-sheet .rank-sheet-body{gap:20px;padding:16px}.pet-rank-sheet .rank-section{gap:12px;min-width:0}.pet-rank-sheet .section-label{font-size:var(--text-body-sm);line-height:var(--leading-body)}.pet-rank-sheet .text-helper{line-height:var(--leading-body)}.pet-rank-sheet .btn{height:auto;min-height:var(--touch-min);font-size:var(--text-body-sm);line-height:var(--leading-snug);white-space:normal}.pet-rank-sheet .rank-close{font-size:var(--text-title)}.pet-rank-sheet .rank-hero{gap:16px;padding-bottom:16px}.pet-rank-sheet .rank-hero-copy{gap:8px}.pet-rank-sheet .rank-title{line-height:var(--leading-snug);gap:6px 8px}.pet-rank-sheet .rank-badge{line-height:var(--leading-snug);padding:5px 8px}.pet-rank-sheet .pet-xp-summary{gap:10px}.pet-rank-sheet .pet-xp-metric{gap:8px;padding:12px}.pet-rank-sheet .pet-xp-caption,.pet-rank-sheet .pet-xp-value>span{font-size:var(--text-helper)}.pet-rank-sheet .rank-next{border:1px solid var(--color-line-soft);border-radius:var(--radius-md);gap:12px;padding:14px}.pet-rank-sheet .rank-section-heading{flex-wrap:nowrap;gap:12px}.pet-rank-sheet .rank-section-heading>:first-child{min-width:0}.pet-rank-sheet .rank-section-heading>:last-child{font-variant-numeric:tabular-nums;flex-shrink:0}.pet-rank-sheet .gauge-row{gap:3px}.pet-rank-sheet .rank-track{align-items:stretch;gap:10px;padding:14px 3px 8px}.pet-rank-sheet .rank-slot{flex-direction:column;align-items:stretch;gap:6px;width:max(84px,5.8em);display:flex}.pet-rank-sheet .rank-slot-art,.pet-rank-sheet .rank-slot.current .rank-slot-art{flex-shrink:0;height:84px;margin-bottom:4px}.pet-rank-sheet .rank-slot-name{font-size:var(--text-helper);line-height:var(--leading-snug)}.pet-rank-sheet .rank-slot-req{font-size:var(--text-helper);line-height:var(--leading-snug);margin-top:auto}.pet-rank-sheet .rank-xp-guide{padding:0 12px 12px}.pet-rank-sheet .rank-xp-guide:not([open]){padding-bottom:0}.pet-rank-sheet .rank-xp-guide summary{min-height:var(--touch-min);font-size:var(--text-body-sm);line-height:var(--leading-body);padding:12px 0}.pet-rank-sheet .rank-xp-guide[open]>:not(summary){margin-top:12px}.pet-rank-sheet .rank-xp-list{gap:8px}.pet-rank-sheet .rank-xp-list li{gap:8px;padding:12px 10px}.pet-rank-sheet .rank-xp-rules li{grid-template-columns:minmax(0,1fr);gap:4px}.pet-rank-sheet .rank-xp-rules .rank-xp-count{text-align:left;white-space:normal}@media (width<=359px){.pet-rank-sheet .rank-sheet-head{padding:10px 12px}.pet-rank-sheet .rank-sheet-body{padding:14px 12px}.pet-rank-sheet .rank-hero{gap:10px}.pet-rank-sheet .rank-hero-art{width:88px}.pet-rank-sheet .pet-xp-summary{grid-template-columns:1fr}.pet-rank-sheet .rank-xp-list:not(.rank-xp-rules) li{grid-template-columns:24px minmax(0,1fr) auto;gap:4px 8px}.pet-rank-sheet .rank-xp-list:not(.rank-xp-rules) .rank-xp-icon{grid-row:span 2}.pet-rank-sheet .rank-xp-list:not(.rank-xp-rules) .rank-xp-label{grid-column:2/-1}.pet-rank-sheet .rank-xp-list:not(.rank-xp-rules) .rank-xp-count{text-align:left;grid-column:2}}.pixel-nameplate{--plate-bg:#fffbed;--plate-shadow:#eadfbe;min-width:76px;max-width:100%;min-height:var(--control-md);background:var(--plate-bg);color:#846845;box-shadow:inset 0 2px #fff, 0 3px 0 var(--plate-shadow), 0 5px 0 #84684508;font:700 var(--text-helper)/var(--leading-body) var(--font-heading);isolation:isolate;border:0;border-radius:8px;justify-content:center;align-items:center;margin-top:8px;padding:10px 16px 7px;display:inline-flex;position:relative}.pixel-nameplate--fox{--plate-bg:#fff5f8;--plate-shadow:#efd2de;color:#8c536a}.pixel-nameplate:before,.pixel-nameplate:after{content:"";background:var(--plate-shadow);width:3px;height:3px;position:absolute;top:50%}.pixel-nameplate:before{left:6px}.pixel-nameplate:after{right:6px}.pixel-nameplate-bow{width:26px;height:20px;position:absolute;top:-12px;left:calc(50% - 13px);overflow:visible}.pixel-nameplate-text{overflow-wrap:anywhere;min-width:0}.welcome-gift-page{min-height:100dvh;padding:max(20px, var(--sat)) 16px max(24px, var(--sab));background:var(--color-bg)}.gift-nav{justify-content:space-between;align-items:center;gap:12px;max-width:620px;margin:0 auto 20px;display:flex}.gift-brand{font:700 var(--text-body-sm)/var(--leading-body) var(--font-heading);color:var(--color-text);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.gift-back{color:var(--color-text-soft);font-size:var(--text-helper);min-height:var(--touch-min);align-items:center;text-decoration:none;display:flex}.gift-workshop{border:1px solid var(--color-border);border-radius:var(--radius-md,12px);background:var(--color-surface);max-width:520px;box-shadow:4px 4px 0 var(--color-shadow-tint);margin:auto;overflow:hidden}.gift-window-bar{border-bottom:1px solid var(--color-line-soft);background:var(--color-surface-soft);font:var(--text-helper)/var(--leading-body) var(--font-heading);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.gift-window-bar>span:first-child{gap:4px;display:flex}.gift-window-bar i{background:var(--color-pink-strong);width:5px;height:5px;display:block}.gift-window-bar i:nth-child(2){background:var(--color-butter)}.gift-window-bar i:nth-child(3){background:var(--color-mint)}.gift-workshop-body{padding:24px}.gift-heading{text-align:center;margin:0 0 24px}.gift-eyebrow{font-size:var(--text-helper);color:var(--color-pink-text);margin-bottom:12px}.gift-heading h1{font:700 var(--text-title)/var(--leading-body) var(--font-heading);word-break:keep-all;overflow-wrap:anywhere;margin:0 0 12px}.gift-heading h1:focus{outline:none}.gift-heading>p:last-child{font-size:var(--text-helper);color:var(--color-text-soft);line-height:var(--leading-relaxed);word-break:keep-all}.gift-display{background:var(--color-pink-soft);border-radius:12px;padding:24px 12px 16px;position:relative;overflow:hidden}.gift-display:before{content:"";background:var(--color-mint);opacity:.28;position:absolute;inset:65% 0 0}.gift-cloud{background:var(--color-surface);opacity:.85;width:42px;height:12px;box-shadow:6px -6px 0 var(--color-surface), 18px -10px 0 -2px var(--color-surface);position:absolute}.gift-cloud--one{top:42px;left:22px}.gift-cloud--two{top:62px;right:24px;transform:scale(.75)}.gift-character-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;max-width:360px;margin:8px auto 24px;display:grid;position:relative}.gift-character{flex-direction:column;align-items:center;min-width:0;display:flex}.gift-character-stage{justify-content:center;align-items:flex-end;width:100%;height:138px;padding-bottom:20px;display:flex}.gift-character-stage canvas{object-fit:contain;max-width:100%}.gift-character-stage--fox{animation:3s ease-in-out infinite gift-float}.gift-character-stage--horse{animation:3s ease-in-out 1s infinite gift-float}.gift-display-footer{color:var(--color-text-soft);font-size:var(--text-helper);text-align:center;justify-content:center;align-items:center;gap:6px;display:flex;position:relative}.gift-actions{gap:10px;margin-top:20px}.gift-footnote{color:var(--color-text-soft);text-align:center;font-size:var(--text-helper);line-height:var(--leading-body)}.gift-storage-note{max-width:360px;font-size:var(--text-helper);color:var(--color-text-soft);text-align:center;line-height:var(--leading-relaxed);word-break:keep-all;margin:20px auto 0}.gift-page-footer{text-align:center;color:var(--color-text-soft);font-size:var(--text-helper);margin:24px auto 0}.gift-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:24px 0 16px;display:grid}.gift-field{min-width:0}.gift-field label{font:var(--text-helper)/var(--leading-body) var(--font-heading);flex-wrap:wrap;justify-content:space-between;gap:4px;display:flex}.gift-field label>span{color:var(--color-text-soft)}.gift-field textarea{width:100%;min-height:var(--touch-min);font-size:var(--text-read)}.gift-field p{font-size:var(--text-helper);color:var(--color-text-soft)}.gift-field .gift-field-error{color:var(--color-danger)}.gift-field textarea[aria-invalid=true]{border-color:var(--color-danger)}.gift-card-preview{aspect-ratio:9/16;background:var(--color-surface-soft);place-items:center;max-width:244px;margin:auto;display:grid;box-shadow:0 4px 16px #56374d12}.gift-card-preview img{width:100%;height:auto;display:block}.gift-card-preview p{text-align:center;padding:20px}.gift-banner{color:var(--color-text);align-items:center;gap:14px;padding:16px;text-decoration:none;display:flex}.gift-banner>svg{flex-shrink:0}.gift-banner span{gap:5px;min-width:0;display:grid}.gift-banner strong{font:700 var(--text-body-sm)/var(--leading-body) var(--font-heading)}.gift-banner small{color:var(--color-text-soft);font-size:var(--text-helper);line-height:var(--leading-body)}.home-couple-name--gift{gap:10px;width:100%}.home-couple-name--gift .home-name-button{min-width:0;max-width:45%}@keyframes gift-float{50%{transform:translateY(-4px)}}@media (width<=480px){.welcome-gift-page{padding-left:12px;padding-right:12px}.gift-workshop-body{padding:20px 16px}.gift-character-pair{gap:12px}}@media (width<=360px){.gift-fields{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.gift-character-stage{animation:none}}.season-decor{pointer-events:none;z-index:2;position:absolute;inset:0}.season-piece{transform-origin:50% 90%;line-height:0;display:block;position:absolute}.season-piece>svg{max-width:100%;height:auto;display:block}.season-atmosphere{pointer-events:none;position:absolute;inset:0}.season-ground{bottom:calc(var(--feet,0px) + 2px)}.season-flight{width:12px;height:12px;position:absolute}.season-flight>.season-piece{position:relative}.season-sky,.season-balloon{transform-origin:50% 80%}@media (prefers-reduced-motion:no-preference){.season-motion--christmas{animation:5.6s steps(8,end) infinite season-tree-sway}.season-motion--snowfall{animation:6s steps(6,end) infinite season-snow-nuzzle}.season-motion--seollal{animation:7s ease-in-out infinite season-jar-sway}.season-motion--newyear{animation:6s ease-in-out infinite season-calendar-welcome}.season-motion--valentine{animation:6s ease-in-out infinite season-chocolate-heart}.season-motion--whiteday{animation:6s ease-in-out infinite season-jar-sway}.season-motion--summer{animation:7s ease-in-out infinite season-jar-sway}.season-motion--pepero{animation:5s steps(8,end) infinite season-biscuit-toast}.season-motion--halloween{animation:6s steps(8,end) infinite season-pumpkin-wiggle}.season-sky--newyear{animation:8s ease-in-out infinite season-first-sun}.season-sky--seollal{animation:5s ease-in-out infinite season-pouch-bow}.season-sky--valentine{animation:6s ease-in-out infinite season-letter-hover}.season-sky--whiteday{animation:5.8s ease-in-out infinite season-lollipop-sway}.season-sky--summer{animation:6.6s ease-in-out infinite season-letter-hover}.season-sky--halloween{animation:7s steps(18,end) infinite season-ghost}.season-sky--chuseok{animation:7s steps(12,end) infinite season-moon}.season-sky--pepero{animation:5s steps(10,end) infinite season-bouquet}.season-balloon{animation:7s steps(20,end) infinite season-balloon-dance}.season-occasion--bouquet{animation:6s ease-in-out infinite season-bouquet}.season-occasion--balloon{animation:7s ease-in-out infinite season-balloon-dance}.season-occasion--bear{animation:6s ease-in-out infinite season-gift-hop}.season-occasion--cake{animation:7s ease-in-out infinite season-letter-hover}.season-glint{animation:3.8s steps(5,end) infinite season-soft-glint}.season-flight--snow{animation:11s linear infinite season-snowfall}.season-flight--drift{animation:8s ease-in-out infinite season-sweet-float}.season-flight--confetti{animation:9s linear infinite season-confetti}.season-flight--confetti .season-turn{animation:3s steps(8,end) infinite season-ribbon-turn}}@keyframes season-tree-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes season-snow-nuzzle{0%,65%,to{transform:rotate(0)}78%,90%{transform:rotate(-3deg)}}@keyframes season-pouch-bow{0%,65%,to{transform:translateY(0)rotate(0)}75%{transform:translateY(-3px)rotate(-3deg)}85%{transform:translateY(0)rotate(3deg)}}@keyframes season-gift-hop{0%,68%,to{transform:translateY(0)}76%{transform:translateY(-4px)}84%{transform:translateY(0)}91%{transform:translateY(-2px)}}@keyframes season-bouquet{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes season-float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-3px)rotate(2deg)}}@keyframes season-biscuit-toast{0%,70%,to{transform:rotate(0)}79%{transform:rotate(-5deg)}88%{transform:rotate(4deg)}}@keyframes season-pumpkin-wiggle{0%,72%,to{transform:rotate(0)}80%{transform:rotate(-3deg)}88%{transform:rotate(3deg)}}@keyframes season-kite{0%,to{transform:translate(0)rotate(-6deg)}33%{transform:translate(4px,-4px)rotate(4deg)}66%{transform:translate(-2px,3px)rotate(-2deg)}}@keyframes season-ice{0%,to{transform:translateY(0)rotate(-8deg)}50%{transform:translateY(-4px)rotate(4deg)}}@keyframes season-ghost{0%,to{transform:translate(0)rotate(-4deg)}50%{transform:translate(6px,8px)rotate(5deg)}}@keyframes season-moon{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes season-balloon-dance{0%,to{transform:translate(0)rotate(-3deg)}50%{transform:translate(3px,-6px)rotate(3deg)}}@keyframes season-soft-glint{0%,to{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@keyframes season-snowfall{0%{opacity:0;top:-7%;transform:translate(-3px)}12%{opacity:.9}85%{opacity:.8}to{opacity:0;top:94%;transform:translate(7px)}}@keyframes season-sweet-float{0%,to{transform:translate(0)rotate(-7deg)}50%{transform:translate(3px,16px)rotate(8deg)}}@keyframes season-confetti{0%{opacity:0;top:-8%;transform:translate(0)}15%{opacity:.9}85%{opacity:.8}to{opacity:0;top:92%;transform:translate(7px)}}@keyframes season-ribbon-turn{0%,to{transform:rotate(-12deg)}50%{transform:rotate(30deg)}}.season-harvest{bottom:calc(var(--feet,0px) + 4px);transform-origin:50% 100%}@media (prefers-reduced-motion:no-preference){.season-harvest--rice{animation:6s steps(8,end) infinite season-harvest-sway}}@keyframes season-harvest-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes season-calendar-welcome{0%,65%,to{transform:rotate(0)}76%{transform:translateY(-2px)rotate(-2deg)}88%{transform:rotate(2deg)}}@keyframes season-chocolate-heart{0%,70%,to{transform:scale(1)}82%{transform:scale(1.04)}}@keyframes season-jar-sway{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}@keyframes season-first-sun{0%,to{transform:translateY(2px)}50%{transform:translateY(-3px)}}@keyframes season-letter-hover{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-3px)rotate(2deg)}}@keyframes season-lollipop-sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.landscape-hills{left:0;bottom:calc(var(--feet,0px) + 5px);pointer-events:none;width:100%;height:54px;position:absolute}.landscape-hills--blossom{height:49px}.landscape-hills--camp{height:80px}.landscape-hills--cafe{height:42%;bottom:0}.landscape-hills>svg{width:100%;height:100%;image-rendering:pixelated;display:block}.outdoor-garden-hill,.outdoor-blossom-hill{inset:auto -4% calc(var(--feet,0px) + 6px);opacity:.75;clip-path:polygon(0 40%,10% 40%,10% 25%,22% 25%,22% 10%,34% 10%,34% 30%,44% 30%,44% 55%,65% 55%,65% 25%,80% 25%,80% 40%,100% 40%,100% 100%,0 100%);background:#cadcc5;height:38px;position:absolute}.outdoor-blossom-hill{background:#e8c7d6;height:29px}.hero-scene[data-dim] .outdoor-garden-hill{background:#4f6e66}.hero-scene[data-dim] .outdoor-blossom-hill{background:#685574}.outdoor-garden-path,.outdoor-petal-path{width:36%;height:calc(var(--feet,0px) + 6px);clip-path:polygon(28% 0,65% 0,65% 30%,76% 30%,76% 65%,90% 65%,90% 100%,5% 100%,5% 65%,16% 65%,16% 30%,28% 30%);z-index:1;background:#e7d2b7;position:absolute;bottom:0;left:32%}.outdoor-petal-path{background:#f0d4d4}.hero-scene[data-dim] .outdoor-garden-path{background:#96848a}.hero-scene[data-dim] .outdoor-petal-path{background:#ad869f}.hero-scene.hero-scene--meadow .hero-scene-ground{background:#c0d4b6;border-color:#98b794}.hero-scene.hero-scene--blossom .hero-scene-ground{background:#e6ccd3;border-color:#c49bac}.hero-scene.hero-scene--meadow[data-dim] .hero-scene-ground{background:#526d61;border-color:#7e9c89}.hero-scene.hero-scene--blossom[data-dim] .hero-scene-ground{background:#68556c;border-color:#a1849d}.outdoor-cloud-deck{left:5%;right:5%;top:calc(100% - var(--feet,0px) - 6px);height:calc(var(--feet,0px) + 6px);clip-path:polygon(5% 0,95% 0,95% 12%,100% 12%,100% 65%,95% 65%,95% 82%,86% 82%,86% 100%,14% 100%,14% 82%,5% 82%,5% 65%,0 65%,0 12%,5% 12%);background:#fff4df;border-top:3px solid #d5c8e5;position:absolute;box-shadow:inset 0 -8px #c7d9e5}.hero-scene[data-dim] .outdoor-cloud-deck{background:#9698b5;border-color:#c5b5d6;box-shadow:inset 0 -8px #727b9a}.outdoor-sea{left:0;right:0;bottom:calc(var(--feet,0px) + 14px);background:repeating-linear-gradient(#9ebfce 0 13px,#accbd6 13px 15px,#9ebfce 15px 26px);border-top:3px solid #c4d9df;height:49px;position:absolute}.hero-scene[data-dim] .outdoor-sea{background:repeating-linear-gradient(#405b7b 0 13px,#587593 13px 15px,#405b7b 15px 26px);border-color:#6b85a2}.outdoor-pier{left:3%;bottom:calc(var(--feet,0px) + 4px);background:repeating-linear-gradient(0deg,#b69c88 0 6px,#8b7880 6px 8px);width:45px;height:32px;position:absolute;transform:skew(-12deg)}.hero-scene[data-dim] .outdoor-pier{filter:brightness(.8)}.outdoor-lighthouse-beam{right:calc(5% + 20px);bottom:calc(var(--feet,0px) + 52px);clip-path:polygon(0 0,100% 38%,100% 62%,0 100%);background:#ffe4a13b;width:112px;height:27px;position:absolute}.hero-scene:not([data-dim]) .outdoor-lighthouse-beam{opacity:.35}.hero-scene.hero-scene--lighthouse .hero-scene-ground{background:#e6d5bd;border-color:#d0bbaa}.hero-scene.hero-scene--lighthouse[data-dim] .hero-scene-ground{background:#827889;border-color:#ac95a1}.home-stage.home-stage--framed:has(.hero-scene--meadow){--mood-floor:#c0d4b6}.home-stage.home-stage--framed:has(.hero-scene--blossom){--mood-floor:#e6ccd3}.home-stage.home-stage--framed:has(.hero-scene--lighthouse){--mood-floor:#e6d5bd}.home-stage.home-stage--framed:has(.hero-scene--meadow[data-dim]){--mood-floor:#526d61}.home-stage.home-stage--framed:has(.hero-scene--blossom[data-dim]){--mood-floor:#68556c}.home-stage.home-stage--framed:has(.hero-scene--lighthouse[data-dim]){--mood-floor:#827889}@media (prefers-reduced-motion:no-preference){.outdoor-wave{animation:3.6s steps(6,end) infinite outdoor-wave}.outdoor-lighthouse-beam{animation:5s steps(8,end) infinite outdoor-beam}}@keyframes outdoor-wave{0%,to{opacity:.6;transform:translate(0)}50%{opacity:1;transform:translate(5px)}}@keyframes outdoor-beam{0%,to{opacity:.3}50%{opacity:.8}}.outdoor-garden-swing{pointer-events:none;width:62px;height:62px;position:absolute}.outdoor-swing-seat{transform-origin:50% 16%}@media (prefers-reduced-motion:no-preference){.outdoor-swing-seat{animation:5.4s ease-in-out infinite outdoor-garden-swing}}@keyframes outdoor-garden-swing{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}.mood-weather-layer{z-index:3;pointer-events:none;position:absolute;inset:0}.weather-motion-button{width:100%;height:100%;min-width:var(--touch-min);min-height:var(--touch-min);border-radius:var(--radius-sm);pointer-events:auto;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.weather-motion-button:focus-visible{outline:2px solid var(--color-pink-strong);outline-offset:2px}.home-stage--framed .home-mascot-row{pointer-events:none}.home-stage--framed .mascot-tap{pointer-events:auto}.weather-fall-track{pointer-events:none;transform:translateY(var(--weather-rest));position:absolute;top:0;bottom:0}.weather-fall-track>span{line-height:0;display:block;position:relative}.weather-fall-track svg,.weather-butterfly svg,.weather-rainbow svg{image-rendering:pixelated;display:block}.weather-butterfly{pointer-events:none;offset-anchor:0 0;offset-rotate:0deg;width:30px;height:26px}.weather-butterfly-sprite{transform-origin:50% 55%;width:30px;height:26px;display:block;position:relative}.weather-butterfly-frame{opacity:0;position:absolute;inset:0}.weather-butterfly-frame-0{opacity:1}.weather-petal-art{display:block;position:relative;transform:rotate(180deg)}.weather-petal-frame{opacity:0;position:absolute;inset:0}.weather-petal-frame-0{opacity:1}.weather-petal-sway{transform-origin:45% 42%}.weather-sakura-pair,.weather-snowman-pair{pointer-events:none;position:absolute;inset:0}.weather-sakura-anchor{width:40px;height:40px;position:absolute}.weather-sakura-anchor-0{left:var(--sakura-left-x,10%);top:var(--sakura-left-y,48%)}.weather-sakura-anchor-1{left:var(--sakura-right-x,calc(90% - 40px));top:var(--sakura-right-y,46%)}.weather-sakura-bloom,.weather-sakura-bloom svg{display:block}.weather-snowman-anchor{width:38px;height:46.9412px;position:absolute}.weather-snowman-anchor-0{left:calc(var(--sakura-left-x,10%) + 1px);top:var(--sakura-left-y,48%)}.weather-snowman-anchor-1{left:calc(var(--sakura-right-x,calc(90% - 40px)) + 1px);top:var(--sakura-right-y,46%)}.weather-snowman-body,.weather-snowman-body svg{display:block}.weather-snow-crystal.is-puff{opacity:.8}.weather-sun-spark{pointer-events:none;opacity:.65;display:block;position:absolute}.weather-sun-spark svg{image-rendering:pixelated;display:block}.hero-scene .weather-rainbow{pointer-events:none;animation:none}.weather-rainbow-art{display:block}.weather-rainbow-art>svg{width:100%;height:auto}.weather-rain-cloud.is-distant{opacity:.8}.weather-rain-track.is-far>span{opacity:.45}.weather-rainbow-echo{opacity:.9;position:absolute;inset:54% 25% auto}.weather-rainbow-echo svg{width:100%;height:auto}.weather-rainbow.is-duet .weather-rainbow-art{position:relative}.weather-bubbles{pointer-events:none;position:absolute;inset:0}.weather-bubble-track{transform:translateY(var(--bubble-rest));position:absolute;top:0;bottom:0}.weather-bubble-drift{width:var(--bubble-size);height:var(--bubble-size);display:block;position:relative}.weather-bubble-body,.weather-bubble-pop,.weather-bubble-droplets{position:absolute;inset:0}.weather-bubble-body{opacity:.9}.weather-bubble-pop,.weather-bubble-droplets{opacity:0}.weather-bubbles svg{image-rendering:pixelated;display:block}.weather-duet{pointer-events:none;position:absolute;inset:0}.weather-duet-cluster{width:48px;height:50px;position:absolute}.weather-duet-cluster-0{top:36%;left:18%}.weather-duet-cluster-1{top:37%;right:18%}.weather-duet-main{display:block;position:absolute;top:5px;left:4px}.weather-duet svg{image-rendering:pixelated;display:block}.weather-duet-mote{position:absolute}.weather-duet-mote-0{top:-10px;left:-5px}.weather-duet-mote-1{top:10px;right:-9px}.weather-duet-mote-2{bottom:-4px;left:0}.weather-duet--sunny .weather-duet-cluster{offset-anchor:0 0;offset-rotate:0deg}.weather-duet--sunny .weather-duet-cluster-0{left:28%;top:min(46%, calc(100% - var(--feet,14px) - 58px));--wing-duration:.78s;--wing-delay:-.19s}.weather-duet--sunny .weather-duet-cluster-1{left:52%;right:auto;top:min(37%, calc(100% - var(--feet,14px) - 58px));--wing-duration:.9s;--wing-delay:-.47s}.weather-duet--stormy .weather-duet-main{left:10px}.weather-duet--rainy .weather-duet-mote-2{bottom:-7px}.weather-cozy-tea{width:40px;height:52px;display:block;position:relative}.weather-tea-cup{position:absolute;top:14px;left:0}.weather-tea-steam{opacity:.7;position:absolute;top:1px;left:9px}.weather-duet--sunny{--weather-edge:#e2d5c0}.weather-duet--rainy{--weather-edge:#97b5d7}.weather-duet--typhoon{--weather-edge:#abc1d6}.weather-duet--stormy{--weather-edge:#d2b083}.weather-sakura-bloom{--weather-edge:#c38db5}.weather-snowman-body{--weather-edge:#a5b5d7}.weather-rainbow.is-duet,.weather-bubbles.is-duet{--weather-edge:#b9a7d4}.weather-duet-main,.weather-sakura-bloom,.weather-snowman-body,.weather-rainbow.is-duet .weather-rainbow-art,.weather-rainbow.is-duet .weather-rainbow-echo{filter:drop-shadow(0 -1px 0 #fff7ee) drop-shadow(-1px 0 0 var(--weather-edge)) drop-shadow(1px 1px 0 var(--weather-edge))}.weather-duet--sunny .weather-duet-main{filter:none}.hero-scene[data-mood=sunny][data-mood-level=duo] .weather-butterfly-frame svg{filter:drop-shadow(0 0 1px #fffdf5)drop-shadow(0 0 3px #e8b7d4aa)}.weather-butterfly-0.is-duet{--glow-delay:-.4s}.weather-butterfly-1.is-duet{--glow-delay:-2s}.weather-duet--sunny .weather-duet-cluster-0{--glow-delay:-1.2s}.weather-duet--sunny .weather-duet-cluster-1{--glow-delay:-2.8s}.weather-duet-mote,.weather-bubbles.is-duet .weather-bubble-pop,.weather-bubbles.is-duet .weather-bubble-droplets{filter:drop-shadow(0 1px 0 var(--weather-edge))}@media (prefers-reduced-motion:no-preference){.weather-fall-track{animation:weather-drift-down var(--weather-duration) linear var(--weather-delay) infinite}.weather-sun-spark{animation:weather-sun-twinkle var(--spark-duration) ease-in-out var(--spark-delay) infinite}.weather-butterfly{animation:weather-butterfly-flight var(--weather-duration) linear var(--weather-delay) infinite}.weather-butterfly-0{offset-path:path("M 0 0 C 12 -18 38 -24 42 -8 C 46 8 26 19 14 13 C 2 7 -10 15 -8 5 C -7 1 -3 0 0 0 Z")}.weather-butterfly-1{offset-path:path("M 0 0 C -14 4 -38 -4 -42 12 C -46 29 -20 34 -9 23 C 5 9 12 -3 0 0 Z")}.weather-butterfly-0.is-duet{offset-path:path("M 0 0 C 2 -8 6 -8 6 -1 C 6 7 0 9 -4 4 C -6 0 -3 -3 0 0 Z")}.weather-butterfly-1.is-duet{offset-path:path("M 0 0 C -2 -7 -6 -5 -6 1 C -6 8 0 9 4 5 C 6 1 3 -3 0 0 Z")}.weather-butterfly-sprite{animation:weather-butterfly-bank 2.8s ease-in-out var(--wing-delay,0s) infinite}.weather-butterfly-frame{animation:weather-butterfly-open var(--wing-duration,.72s) steps(1, end) var(--wing-delay,0s) infinite}.weather-butterfly-frame-1{animation-name:weather-butterfly-gather}.weather-butterfly-frame-2{animation-name:weather-butterfly-fold}.weather-butterfly-frame-3{animation-name:weather-butterfly-close}.hero-scene[data-mood=sunny][data-mood-level=duo] .weather-butterfly-frame svg{animation:weather-butterfly-glow 3.6s ease-in-out var(--glow-delay,0s) infinite}.weather-snow-crystal{animation:weather-snow-sway var(--weather-flutter) ease-in-out var(--weather-delay) infinite alternate}.weather-petal-track{animation-name:weather-petal-fall}.weather-petal-sway{animation:weather-petal-sway var(--weather-flutter) ease-in-out var(--petal-phase) infinite}.weather-petal-frame{animation:weather-petal-open var(--petal-roll) steps(1, end) var(--petal-phase) infinite}.weather-petal-frame-1{animation-name:weather-petal-turn}.weather-petal-frame-2{animation-name:weather-petal-edge}.weather-sakura-bloom{transform-origin:50%;animation:6.4s ease-in-out infinite weather-sakura-hover}.weather-sakura-anchor-1 .weather-sakura-bloom{animation-delay:-3.2s}.weather-snowman-body{transform-origin:50% 60%;animation:6.8s ease-in-out infinite weather-snowman-float}.weather-snowman-anchor-1 .weather-snowman-body{animation-delay:-3.4s}.weather-rainbow-art{animation:8s ease-in-out infinite weather-rainbow-breathe}.weather-bubble-track{animation:weather-bubble-rise var(--bubble-duration) linear var(--bubble-delay) infinite}.weather-bubble-drift{animation:weather-bubble-sway 4.6s ease-in-out var(--bubble-delay) infinite}.weather-bubble-body{animation:weather-bubble-inflate var(--bubble-duration) linear var(--bubble-delay) infinite}.weather-bubble-pop{animation:weather-bubble-pop var(--bubble-duration) linear var(--bubble-delay) infinite}.weather-bubble-droplets{animation:weather-bubble-droplets var(--bubble-duration) linear var(--bubble-delay) infinite}.weather-rain-track{animation-name:weather-rain-down}.weather-rain-cloud{animation:11s ease-in-out infinite weather-rain-cloud}.weather-rain-cloud.is-distant{animation-duration:14s;animation-delay:-5s}.weather-rainbow-echo{animation:8s ease-in-out -4s infinite weather-rainbow-breathe}.weather-duet-cluster{animation:7s ease-in-out infinite weather-duet-float}.weather-duet-cluster-1{animation-delay:-3.5s}.weather-duet-mote{animation:weather-duet-orbit 5.6s ease-in-out var(--duet-phase) infinite}.weather-duet--sunny .weather-duet-cluster{animation:12s linear infinite weather-butterfly-flight}.weather-duet--sunny .weather-duet-cluster-0{offset-path:path("M 0 0 C 2 -6 5 -6 5 0 C 5 7 1 8 -3 5 C -5 2 -3 -2 0 0 Z")}.weather-duet--sunny .weather-duet-cluster-1{offset-path:path("M 0 0 C -2 -6 -5 -6 -5 0 C -5 7 -1 8 3 5 C 5 2 3 -2 0 0 Z");animation-duration:14.4s;animation-delay:-5s}.weather-duet--sunny .weather-duet-mote{animation:weather-sun-twinkle 4.8s ease-in-out var(--duet-phase) infinite}.weather-duet--rainy .weather-duet-main{animation:5s ease-in-out infinite weather-duet-umbrella}.weather-duet--rainy .weather-duet-mote{animation-name:weather-duet-drip;animation-duration:3s}.weather-duet--typhoon .weather-duet-cluster{animation-duration:6.2s}.weather-tea-steam{animation:4.2s ease-in-out infinite weather-tea-steam}.weather-duet-cluster-1 .weather-tea-steam{animation-delay:-2.1s}.weather-duet--stormy .weather-duet-main{animation:5.6s ease-in-out infinite weather-duet-charge}.weather-duet--stormy .weather-duet-cluster-1 .weather-duet-main{animation-delay:-.6s}.weather-duet--stormy .weather-duet-mote{animation:weather-sun-twinkle 4.6s ease-in-out var(--duet-phase) infinite}}@keyframes weather-duet-float{0%,to{transform:translateY(-3px)}50%{transform:translateY(6px)}}@keyframes weather-duet-orbit{0%,to{opacity:.55;transform:translate(-3px,2px)rotate(-12deg)}50%{opacity:1;transform:translate(4px,-4px)rotate(12deg)}}@keyframes weather-snowman-float{0%,to{transform:translateY(1px)rotate(-4deg)}50%{transform:translateY(-5px)rotate(4deg)}}@keyframes weather-duet-umbrella{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes weather-duet-drip{0%{opacity:.3;transform:translateY(-6px)}45%{opacity:1}to{opacity:.3;transform:translateY(9px)}}@keyframes weather-duet-charge{0%,to{opacity:.55;transform:translateY(-3px)}45%,60%{opacity:1;transform:translateY(3px)}}@keyframes weather-drift-down{0%{opacity:0;transform:translateY(-10%)}10%,83%{opacity:1}to{opacity:0;transform:translateY(103%)}}@keyframes weather-sun-twinkle{0%,16%,to{opacity:0;transform:scale(.45)}36%{opacity:.45;transform:scale(.8)}47%{opacity:1;transform:scale(1.12)}64%{opacity:.35;transform:scale(.75)}82%{opacity:0;transform:scale(.45)}}@keyframes weather-tea-steam{0%,to{opacity:.35;transform:translateY(2px)}50%{opacity:.9;transform:translate(1px,-4px)}}@keyframes weather-butterfly-flight{0%{offset-distance:0%}to{offset-distance:100%}}@keyframes weather-butterfly-glow{0%,to{filter:drop-shadow(0 0 1px #fffdf5)drop-shadow(0 0 2px #e8b7d470)drop-shadow(0 0 3px #f8dbe633)}48%,58%{filter:drop-shadow(0 0 1px #fff)drop-shadow(0 0 3px #fff0afe6)drop-shadow(0 0 6px #efa6c9e6)}}@keyframes weather-butterfly-bank{0%,to{transform:translateY(0)rotate(-7deg)}35%{transform:translateY(-2px)rotate(6deg)}70%{transform:translateY(1px)rotate(10deg)}}@keyframes weather-butterfly-open{0%,80%,to{opacity:1}18%{opacity:0}}@keyframes weather-butterfly-gather{0%,32%,80%,to{opacity:0}18%,64%{opacity:1}}@keyframes weather-butterfly-fold{0%,44%,64%,to{opacity:0}32%,52%{opacity:1}}@keyframes weather-butterfly-close{0%,52%,to{opacity:0}44%{opacity:1}}@keyframes weather-snow-sway{0%{transform:translateX(calc(var(--weather-sway) * -.5)) rotate(-8deg)}to{transform:translateX(var(--weather-sway)) rotate(12deg)}}@keyframes weather-petal-sway{0%,to{transform:translateX(calc(var(--weather-sway) * -.7)) rotate(-18deg)}30%{transform:translateX(calc(var(--weather-sway) * .3)) rotate(8deg)}60%{transform:translateX(var(--weather-sway)) rotate(22deg)}82%{transform:translateX(calc(var(--weather-sway) * .2)) rotate(-5deg)}}@keyframes weather-petal-fall{0%{opacity:0;transform:translateY(-12%)}9%,86%{opacity:.9}26%{transform:translateY(18%)}53%{transform:translateY(51%)}77%{transform:translateY(76%)}to{opacity:0;transform:translateY(108%)}}@keyframes weather-petal-open{0%,72%,to{opacity:1}42%{opacity:0}}@keyframes weather-petal-turn{0%,53%,72%,to{opacity:0}42%,59%{opacity:1}}@keyframes weather-petal-edge{0%,59%,to{opacity:0}53%{opacity:1}}@keyframes weather-sakura-hover{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-4px)rotate(5deg)}}@keyframes weather-rainbow-breathe{0%,to{transform:translateY(1px)}50%{transform:translateY(-2px)}}@keyframes weather-bubble-rise{0%{opacity:0;transform:translateY(75%)}10%,90%{opacity:1}72%{transform:translateY(calc(var(--bubble-ceiling) + 4%))}82%,to{transform:translateY(var(--bubble-ceiling))}94%,to{opacity:0}}@keyframes weather-bubble-sway{0%,to{transform:translateX(calc(var(--bubble-sway) * -3))}50%{transform:translateX(calc(var(--bubble-sway) * 5))}}@keyframes weather-bubble-inflate{0%,72%{opacity:.9;transform:scale(1)}76%{opacity:1;transform:scale(1.12)}76.01%,to{opacity:0;transform:scale(1.12)}}@keyframes weather-bubble-pop{0%,76%{opacity:0;transform:scale(1.1)}76.01%,81.99%{opacity:1;transform:scale(1.18)}82%,to{opacity:0;transform:scale(1.2)}}@keyframes weather-bubble-droplets{0%,81.99%{opacity:0;transform:scale(1)}82%{opacity:.9;transform:scale(1)}91%,to{opacity:0;transform:scale(1.5)}}@keyframes weather-rain-down{0%{opacity:0;transform:translate(-2px,-10%)}8%,86%{opacity:1}to{opacity:0;transform:translate(-9px,103%)}}@keyframes weather-rain-cloud{0%,to{transform:translate(0)}50%{transform:translate(6px,2px)}}.scene-options>.row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.scene-options .keycap-sm{min-width:0;padding-inline:5px}.hero-scene.hero-scene--pajama>.hero-sky{background:linear-gradient(#494060 0%,#6c5c7f 64%,#89708b 100%)}.hero-scene--pajama .sky-body,.hero-scene--raincafe .sky-body{display:none}.scene-bedroom-panel{height:calc(var(--feet,0px) + 40px);background:repeating-linear-gradient(90deg,#806b7d 0 28px,#746173 28px 30px);border-top:3px solid #a48b98;position:absolute;inset:auto 0 0}.scene-bedroom-window{background:#252a4b;border:4px solid #bba5b4;width:66px;height:53px;position:absolute;top:29%;right:7%;box-shadow:0 3px #3b3551,inset 0 0 0 2px #77678b}.home-stage[data-care-side=right] .scene-bedroom-window{left:7%;right:auto}.home-stage[data-care-side=left] .scene-bedroom-window{left:auto;right:7%}.scene-bedroom-window:before,.scene-bedroom-window:after{content:"";background:repeating-linear-gradient(90deg,#a897c6 0 4px,#9380b3 4px 6px);width:10px;position:absolute;top:-6px;bottom:-5px}.scene-bedroom-window:before{left:-8px}.scene-bedroom-window:after{right:-8px}.scene-bedroom-bed{width:min(30%,104px);left:50%;transform:translate(-50%)}.scene-bedroom-bed>svg{width:100%;height:auto}.scene-bedroom-lamp>svg{position:relative}.scene-lamp-glow{clip-path:polygon(26% 0,74% 0,74% 20%,82% 20%,82% 42%,90% 42%,90% 67%,100% 67%,100% 100%,0 100%,0 67%,10% 67%,10% 42%,18% 42%,18% 20%,26% 20%);background:linear-gradient(#ffe8b347 0%,#ffdfaa29 65%,#ffdfaa12 100%);width:50px;height:26px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.scene-bedroom-lamp:before{content:"";clip-path:polygon(18% 0,82% 0,82% 17%,94% 17%,94% 33%,100% 33%,100% 67%,94% 67%,94% 83%,82% 83%,82% 100%,18% 100%,18% 83%,6% 83%,6% 67%,0 67%,0 33%,6% 33%,6% 17%,18% 17%);background:#ffe4aa26;width:50px;height:6px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.hero-scene.hero-scene--pajama .hero-scene-ground{background:repeating-linear-gradient(90deg,#65556a 0 42px,#594b5e 42px 44px);border-top-color:#c1a7a7}.hero-scene.hero-scene--starpost>.hero-sky{background:linear-gradient(165deg,#202b4a 0%,#393155 65%,#5b426a 100%)}.scene-post-orbit{border:1px dashed #d6bad152;border-radius:50%;width:56%;height:42%;position:absolute;top:26%;right:-14%;transform:rotate(-20deg)}.scene-post-platform{z-index:1;height:14px;left:7%;right:7%;bottom:calc(var(--feet,0px) - 11px);clip-path:polygon(4% 0,96% 0,100% 100%,0 100%);background:repeating-linear-gradient(90deg,#796785 0 29px,#938093 29px 31px);border-top:3px solid #d8b7c3;position:absolute}.hero-scene.hero-scene--starpost .hero-scene-ground{height:calc(var(--feet,0px) + 3px);background:#443b60;border-top-color:#b89cbb}.hero-scene.hero-scene--raincafe>.hero-sky{background:linear-gradient(#ece2d7 0%,#d7c6b7 100%)}.hero-scene.hero-scene--raincafe[data-dim=true]>.hero-sky{background:linear-gradient(#595760 0%,#756867 100%)}.scene-cafe-wall{height:calc(var(--feet,0px) + 33px);background:repeating-linear-gradient(90deg,#cab39d 0 27px,#bda48e 27px 29px);border-top:3px solid #b5967e;position:absolute;bottom:0;left:0;right:0}.scene-cafe-window{background:linear-gradient(#afc7d3,#d6e2e3);border:4px solid #a78670;width:96px;height:64px;position:absolute;top:27%;left:6%;overflow:hidden;box-shadow:0 4px #c2a085,inset 0 0 0 2px #e6eee6}.scene-cafe-distant-trees{clip-path:polygon(0 42%,9% 42%,9% 15%,20% 15%,20% 52%,33% 52%,33% 30%,43% 30%,43% 68%,61% 68%,61% 17%,75% 17%,75% 40%,86% 40%,86% 10%,100% 10%,100% 100%,0 100%);background:#87a6a0;position:absolute;inset:58% -3px 0}.scene-cafe-window-cross{background:linear-gradient(90deg,#0000 47%,#a78670 47% 52%,#0000 52%),linear-gradient(#0000 47%,#a78670 47% 52%,#0000 52%);position:absolute;inset:0}.scene-cafe-pendant{background:#8b776c;width:2px;height:38%;position:absolute;top:0;right:13%}.scene-cafe-pendant>span{clip-path:polygon(24% 0,76% 0,100% 100%,0 100%);background:#d2a977;border-bottom:3px solid #ffe6b9;width:30px;height:16px;position:absolute;bottom:-8px;left:-14px}.scene-cafe-steam{width:19px;height:9px;left:calc(6% + 17px);bottom:calc(var(--feet,0px) + 43px);opacity:.65;border-inline:2px solid #fffaf0;position:absolute}.hero-scene.hero-scene--raincafe .hero-scene-ground{background:repeating-linear-gradient(90deg,#ac8d76 0 38px,#9d7e68 38px 40px);border-top-color:#dfc5a8}.hero-scene--raincafe[data-dim=true] .scene-cafe-wall{background:repeating-linear-gradient(90deg,#776663 0 27px,#6b5d5d 27px 29px);border-top-color:#8e7670}.hero-scene--raincafe[data-dim=true] .scene-cafe-window{background:linear-gradient(#3f566d,#708892);border-color:#8d7871;box-shadow:0 4px #6b5c59,inset 0 0 0 2px #94a6ac}.hero-scene--raincafe[data-dim=true] .scene-cafe-distant-trees{background:#4d706e}.hero-scene--raincafe[data-band=day] .scene-cafe-window{background:linear-gradient(#b1cddd,#deebed)}.hero-scene--raincafe[data-band=day] .scene-cafe-distant-trees{background:#87a6a0}.hero-scene.hero-scene--raincafe[data-dim=true] .hero-scene-ground{background:repeating-linear-gradient(90deg,#685c59 0 38px,#5c5151 38px 40px);border-top-color:#9c8677}.hero-scene.hero-scene--camp>.hero-sky.sky-day{background:linear-gradient(#acd8e4 0%,#d0e9ec 60%,#e8f2e6 100%)}.hero-scene.hero-scene--camp.is-night>.hero-sky.sky-day{background:linear-gradient(#8abac8 0%,#b7d8db 60%,#d5e6dc 100%)}.scene-camp-ridge{left:0;right:0;bottom:calc(var(--feet,0px) + 6px);clip-path:polygon(0 40%,8% 40%,8% 30%,19% 30%,19% 48%,32% 48%,32% 66%,54% 66%,54% 52%,69% 52%,69% 32%,83% 32%,83% 43%,100% 43%,100% 100%,0 100%);background:#aac0a2;height:45px;position:absolute}.scene-camp-glow{right:14%;bottom:calc(var(--feet,0px) + 3px);clip-path:polygon(24% 0,76% 0,76% 14%,90% 14%,100% 52%,85% 100%,15% 100%,0 52%,10% 14%,24% 14%);background:#ffe0a522;width:52px;height:37px;position:absolute}.scene-campfire{width:27px;height:30px}.scene-campfire>span{display:block;position:absolute;inset:0}.scene-campfire>span>svg{display:block}.hero-scene.hero-scene--camp .hero-scene-ground{background:#829d77;border-top-color:#5e805e}.hero-scene--camp[data-dim=true] .scene-camp-ridge{background:#3c594b}.hero-scene.hero-scene--camp[data-dim=true] .hero-scene-ground{background:#354d43;border-top-color:#63816b}@keyframes scene-post-letter{0%,to{transform:translate(0)rotate(-7deg)}50%{transform:translate(6px,-9px)rotate(5deg)}}@keyframes scene-window-rain{0%{transform:translateY(-70px)}to{transform:translateY(70px)}}@keyframes scene-cafe-steam{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:.8;transform:translateY(-4px)}}@media (prefers-reduced-motion:no-preference){.scene-post-letter{animation:5s steps(8,end) infinite scene-post-letter}.scene-window-raindrop{animation:2.6s linear infinite scene-window-rain}.scene-cafe-steam{animation:3s steps(4,end) infinite scene-cafe-steam}.scene-campfire>.scene-alt-a{animation:.65s step-end infinite scene-bat-flap-up}.scene-campfire>.scene-alt-b{animation:.65s step-end infinite scene-bat-flap-down}}.scene-window-moon{line-height:0;position:absolute}.mood-request-dialog{overscroll-behavior:contain;border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(400px,100vw - 28px);max-height:calc(100dvh - 32px);color:var(--color-text);box-shadow:5px 5px 0 var(--color-shadow-tint);margin:auto;padding:0;overflow:hidden}.mood-request-dialog::backdrop{background:var(--color-overlay)}.mood-request-dialog:focus{outline:none}.mood-request-dialog[open]{flex-direction:column;display:flex}.mood-request-heading{border-bottom:2px dashed var(--color-line-soft);flex-shrink:0;align-items:center;gap:10px;padding:14px 16px;display:flex}.mood-request-body{overscroll-behavior:contain;flex-direction:column;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.mood-request-body>*{flex-shrink:0}.mood-request-heading>div{flex:1;min-width:0}.mood-request-heading h2{font-size:var(--text-body);line-height:var(--leading-snug);overflow-wrap:anywhere;margin:6px 0 0}.mood-request-heading p{line-height:var(--leading-body)}.mood-request-heading .rank-close{width:var(--touch-min);height:var(--touch-min);flex:0 0 var(--touch-min);align-self:flex-start}.mood-request-weather{border:1px solid var(--color-line-soft);border-radius:var(--radius-md);background:var(--color-pink-soft);flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.mood-request-options{gap:8px;display:grid}.mood-request-option{text-align:left;width:100%;min-height:48px;color:var(--color-text);background:var(--color-surface-soft);border:1px solid var(--color-line-soft);border-radius:var(--radius-md);box-shadow:0 2px 0 var(--color-shadow-tint);font-family:var(--font-heading);font-size:var(--text-body-sm);line-height:var(--leading-body);word-break:keep-all;overflow-wrap:anywhere;cursor:pointer;align-items:center;gap:10px;padding:12px;display:flex}.mood-request-option>svg{flex-shrink:0}.mood-request-option:hover,.mood-request-option.is-selected{border-color:var(--color-pink-strong);background:var(--color-pink-soft)}.mood-request-option:active{box-shadow:none;transform:translateY(1px)}.mood-request-option:disabled{opacity:.6;cursor:wait}.mood-request-custom{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.mood-request-custom-field{cursor:text;min-width:0}.mood-request-custom-field>span{flex-shrink:0;line-height:0}.mood-request-custom-field:focus-within{border-color:var(--color-pink-strong);background:var(--color-pink-soft)}.mood-request-custom-field:active{box-shadow:0 2px 0 var(--color-shadow-tint);transform:none}.mood-request-custom textarea{width:100%;min-width:0;min-height:0;color:inherit;box-shadow:none;font:inherit;line-height:inherit;background:0 0;border:0;border-radius:0;flex:1;padding:0}.mood-request-custom textarea:focus{outline:none}.mood-request-custom textarea::placeholder{color:var(--color-text-soft);opacity:1}.mood-request-send{width:auto;min-width:var(--touch-min);background:var(--color-pink-soft);white-space:nowrap;justify-content:center}.mood-request-send:hover:not(:disabled){border-color:var(--color-pink-strong)}.mood-request-send:disabled{opacity:.45;cursor:default}.mood-request-send-icon{display:none}.mood-request-lifetime{text-align:center;font-size:var(--text-helper);line-height:var(--leading-body);word-break:keep-all}.mood-request-footer{border-top:1px solid var(--color-line-soft);flex-shrink:0;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));gap:10px;padding:12px 16px 16px;display:grid}.mood-request-footer .btn{min-height:var(--touch-min);font-size:var(--text-body-sm);line-height:var(--leading-snug);white-space:normal;padding:9px 10px}.home-stage.home-stage--framed{--mood-floor:transparent;padding-top:0;display:block}.home-stage-art{flex-direction:column;align-items:center;gap:10px;padding-top:17px;display:flex;position:relative}.home-stage--framed>.hero-weather-overlay{z-index:2;border-radius:var(--radius-md);background:0 0}.home-stage--framed .home-mascot-row,.home-stage--framed .home-speech-wrap{z-index:3}.home-stage--framed.is-preparing{height:var(--hero-reserved-height);border-radius:var(--radius-md);background:var(--color-surface-soft);overflow:hidden}.home-stage--framed.is-preparing>*{visibility:hidden}.home-stage--framed.has-mood-requests .home-stage-art>.hero-scene{border-bottom-right-radius:0;border-bottom-left-radius:0}.home-stage--framed:has(.hero-scene){--mood-floor:var(--tint-mint-bg)}.home-stage--framed:has(.hero-scene--lighthouse){--mood-floor:var(--sea-sand)}.home-stage--framed:has(.hero-scene--pajama){--mood-floor:repeating-linear-gradient(90deg, #65556a 0 42px, #594b5e 42px 44px)}.home-stage--framed:has(.hero-scene--starpost){--mood-floor:#443b60}.home-stage--framed:has(.hero-scene--raincafe){--mood-floor:repeating-linear-gradient(90deg, #ac8d76 0 38px, #9d7e68 38px 40px)}.home-stage--framed:has(.hero-scene--raincafe[data-dim=true]){--mood-floor:repeating-linear-gradient(90deg, #685c59 0 38px, #5c5151 38px 40px)}.home-stage--framed:has(.hero-scene--camp){--mood-floor:#829d77}.home-stage--framed:has(.hero-scene--camp[data-dim=true]){--mood-floor:#354d43}.home-stage--framed:has(.hero-scene--island){--mood-floor:var(--color-surface)}.home-stage--framed:has(.hero-scene--island[data-band=dawn]){--mood-floor:#ffe0cb}.home-stage--framed:has(.hero-scene--island[data-band=evening]){--mood-floor:#ffe9dc}.home-stage--framed:has(.hero-scene--island[data-band=night]){--mood-floor:#2a2140}.home-stage--framed:has(.hero-scene--island.is-night[data-band=dawn]){--mood-floor:#513a55}.home-stage--framed:has(.hero-scene--island.is-night[data-band=evening]){--mood-floor:#5e4338}.mood-request-ground{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;margin-top:-4px;padding:0 12px 16px;display:grid;position:relative}.mood-request-ground:before{content:"";z-index:-1;background:var(--mood-floor);border-radius:0 0 var(--radius-md) var(--radius-md);position:absolute;inset:0}.mood-request-ground.is-solo{grid-template-columns:minmax(0,1fr)}.mood-request-ground.is-solo .mood-request-note{width:fit-content;max-width:min(100%,320px)}.mood-request-ground-slot{z-index:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.mood-request-note{border:1px solid var(--color-line-soft);border-radius:var(--radius-md);background:var(--color-surface);width:fit-content;max-width:100%;color:var(--color-text);box-shadow:0 2px 0 var(--color-shadow-tint);font-family:var(--font-sans);font-size:var(--text-meta);line-height:var(--leading-snug);letter-spacing:var(--tracking-body);text-align:center;word-break:keep-all;overflow-wrap:anywhere;margin:0;padding:4px 7px;position:relative;top:1px}.mood-request-note>span{position:relative;top:.5px}.mood-request-note-author{color:var(--request-author-color,var(--color-pink-text))}@media (width<=360px){.mood-request-heading,.mood-request-body,.mood-request-footer{padding-inline:12px}.mood-request-heading{gap:8px}.mood-request-weather{width:32px;height:32px}.mood-request-ground{gap:6px;padding-inline:8px}.mood-request-note{padding:4px 6px}}.home-stage-art>.hero-controls{z-index:4;pointer-events:none;--hero-control-width:36px;position:absolute;inset:0 15px}.hero-control-self,.hero-control-partner{bottom:var(--feet,14px);width:var(--hero-control-width);pointer-events:auto;position:absolute}.hero-control-self{left:0}.hero-control-partner{right:0}.home-stage[data-care-side=left] .hero-control-self{left:auto;right:0}.home-stage[data-care-side=left] .hero-control-partner{left:0;right:auto}.hero-care-actions{flex-direction:column;gap:12px;display:flex;position:relative}.hero-controls .care-key,.hero-sleep-action{border-radius:var(--radius-sm);width:100%;min-width:36px;height:36px;min-height:36px;color:var(--color-text);filter:none;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:0;padding:0;display:flex;position:relative}.hero-controls .care-key-face,.hero-sleep-face{background:var(--color-surface-soft);border:1px solid var(--color-line-soft);border-radius:var(--radius-md);width:100%;height:36px;box-shadow:0 2px 0 var(--color-shadow-tint);flex:0 0 36px;justify-content:center;align-items:center;display:flex;position:relative;inset:auto}.hero-sleep-action.is-sleeping .hero-sleep-face{background:var(--color-pink)}@media (hover:hover){.hero-controls .care-key:hover:not(:disabled) .care-key-face,.hero-sleep-action:hover:not(:disabled) .hero-sleep-face{background:var(--color-pink)}}.hero-controls .care-key:after,.hero-sleep-action:after{content:"";position:absolute;inset:-4px}.hero-controls .care-key:focus-visible,.hero-sleep-action:focus-visible{outline:2px solid var(--color-pink-strong);outline-offset:2px}.hero-controls .care-key:active:not(:disabled),.hero-sleep-action:active:not(:disabled){transform:translateY(2px)}.hero-controls .care-key.done{opacity:.2;filter:none;cursor:default;transform:none}.hero-care-actions.is-asleep .care-key:not(.done) .care-key-face{filter:grayscale(.7);opacity:.55}.hero-sleep-action:disabled{cursor:wait;opacity:.55}.hero-controls-hint{text-align:center;color:var(--color-text-soft);font-size:var(--text-meta);line-height:var(--leading-snug);margin:2px 0 0;position:absolute;bottom:5px;left:5px;right:5px}.sleep-nudge-hint.sleep-nudge-action{pointer-events:auto;cursor:pointer;min-height:var(--touch-min)}.dday-board.is-tappable{cursor:pointer}.picker-trigger.dday-anniv-field{width:auto;min-height:var(--touch-min);text-align:center;font-family:inherit;font-size:var(--text-helper);color:var(--color-text-soft);border:none;border-bottom:2px dotted var(--color-line-soft);background:0 0;border-radius:0;align-self:center;padding:4px 8px}.upcoming-blanks{flex-direction:column;gap:2px;display:flex}.picker-trigger.upcoming-blank-field{min-height:var(--touch-min);font-family:inherit;font-size:var(--text-helper);color:var(--color-lavender-text);border:none;border-bottom:2px dotted var(--color-line-soft);text-align:left;background:0 0;border-radius:0;padding:3px 6px}.picker-trigger.upcoming-blank-field:before{content:"+ ";color:var(--color-pink-text)}.home-name-button.is-blank{border-bottom-color:var(--color-pink-strong)}.home-name-form{align-items:center;gap:6px;min-width:0;display:inline-flex}.home-name-input{width:7.5em;min-width:0;min-height:var(--touch-min);font:inherit;font-size:var(--text-body);text-align:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:4px 8px}.quick-action.is-pressable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.first-week-task{gap:6px;padding:12px}.first-week-task-title{font-family:var(--font-heading);font-size:var(--text-helper);line-height:var(--leading-snug);letter-spacing:var(--tracking-label);align-items:center;gap:6px;display:inline-flex}.first-week-task-title>svg{transform:translateY(-1px)}.first-week-task-day{color:var(--color-pink-text);font-weight:700}.first-week-task-name{font-size:var(--text-body-sm);font-weight:700;line-height:var(--leading-snug);color:var(--color-text)}.first-week-task-hint{margin:0}.first-week-task>.row{margin-top:2px}.home-couple-name.is-editing>:not(.home-name-form){display:none}.home-name-form{flex-wrap:wrap;justify-content:center}.experiment-return{border:2px dashed var(--tint-lavender-border);border-radius:var(--radius-md);background:var(--tint-lavender-bg);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.experiment-return>svg{flex:none;margin-top:1px}.experiment-return-copy{flex-direction:column;flex:auto;align-items:flex-start;gap:4px;min-width:0;margin:0;display:flex}.experiment-return-copy>.btn{margin-top:2px}.experiment-return-copy b{font-family:var(--font-heading);font-size:var(--text-helper);font-weight:700;line-height:var(--leading-snug);letter-spacing:var(--tracking-label);color:var(--color-text);overflow-wrap:anywhere}.experiment-return-copy small{font-size:var(--text-helper);line-height:var(--leading-snug);color:var(--color-text-soft)}.experiment-return.is-done{border-style:solid;border-color:var(--tint-lavender-strong)}.experiment-return.is-done .experiment-return-copy b{color:var(--tint-lavender-text)}.experiment-return-close{width:28px;height:28px;color:var(--color-text-soft);font-family:var(--font-heading);font-size:var(--text-lead);cursor:pointer;background:0 0;border:0;flex:none;margin:-4px -4px -4px 0;padding:0;line-height:1}.app-shell.mac-shell{background:var(--color-bg);--chrome-bottom:24px;align-items:stretch;padding:0}.mac-shell .phone-frame{max-width:none;height:100dvh;box-shadow:none;border:0;border-radius:0;flex-direction:row;padding:0;overflow:hidden}.mac-shell .statusbar-tap,.mac-shell .app-main>.bottom-nav,.mac-shell .app-main>.footer-tagline,.mac-shell .app-header .app-brand{display:none}.mac-shell .app-main{padding:0}.mac-shell .app-header{border-bottom:1px solid var(--color-line-soft);min-height:62px;padding:12px 28px}.mac-page-label{font-family:var(--font-heading);font-size:var(--text-body)}.mac-shell .page-content{padding:26px 28px 40px}.mac-shell .page-content>*{max-width:860px}.mac-shell .page-content>:is(.memo-page,.records-page,.album-page){max-width:1160px}.mac-sidebar{background:var(--color-surface-soft);border-right:1px solid var(--color-line-soft);flex-direction:column;flex:0 0 212px;width:212px;min-height:0;padding:22px 14px 14px;display:flex}.mac-brand{align-items:center;gap:10px;padding:0 8px 24px;text-decoration:none;display:flex}.mac-brand img{image-rendering:pixelated;border-radius:9px}.mac-brand span{flex-direction:column;gap:7px;display:flex}.mac-brand strong{font-family:var(--font-heading);font-size:var(--text-body);white-space:nowrap}.mac-brand small{font-size:var(--text-micro);color:var(--color-text-soft)}.mac-sidebar-scroll{scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}.mac-nav{flex-direction:column;gap:4px;margin-bottom:22px;display:flex}.mac-nav-label{color:var(--color-text-soft);font-size:var(--text-micro);margin:0 10px 7px}.mac-nav a{border-radius:var(--radius-md);min-height:42px;color:var(--color-text-soft);font-family:var(--font-heading);font-size:var(--text-helper);border:1px solid #0000;align-items:center;gap:10px;padding:10px;text-decoration:none;display:flex}.mac-nav a:hover{background:var(--color-bg);color:var(--color-text)}.mac-nav a.active{background:var(--color-pink);color:var(--color-text);border-color:var(--color-border);box-shadow:2px 2px 0 var(--color-border)}.mac-nav kbd{opacity:.5;margin-left:auto;font-family:inherit;font-size:10px}.mac-nav-bottom{border-top:1px solid var(--color-line-soft);margin:0;padding-top:12px}.mac-shell .home-layout{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.mac-shell .home-layout>.stack:first-of-type{flex-direction:column;grid-column:auto;gap:16px;display:flex}.mac-shell .home-layout>.stack:last-of-type{grid-area:auto;gap:16px}.mac-shell .home-layout .home-start{flex-direction:column;gap:16px;display:flex}.mac-shell .home-layout .home-stage{width:100%}.mac-shell .home-layout .anniversary-card{align-self:stretch;width:100%;margin-top:0}.mac-shell .home-layout .mood-card,.mac-shell .home-layout .home-hero,.mac-shell .home-layout .anniversary-card{grid-area:auto}.mac-shell .home-layout .home-hero{align-self:stretch;width:100%;min-width:0}.mac-shell .page-content>.home-layout{max-width:1200px}.mac-shell .record-list,.mac-shell .memo-list{grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.mac-shell .album-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:22px}.mac-shell .calendar-page{--cal-day-height:82px;max-width:1320px}.mac-shell .calendar-page .calendar-grid{--cal-label-h:16px}.mac-shell .cal-line{font-size:var(--text-micro)}.mac-shell .calendar-agenda{flex-direction:column;gap:14px;min-width:0;display:flex}.mac-shell .rank-overlay,.mac-shell .feedback-overlay{align-items:center}.mac-shell .rank-sheet,.mac-shell .feedback-dialog{max-height:calc(100dvh - 80px)}.mac-shell.mac-auth-shell .phone-frame{flex-direction:column}.mac-auth-shell .page-content{place-items:center;display:grid}.mac-auth-shell .page-content>*{max-width:460px;margin-block:32px}@media (width>=1080px){.mac-shell .home-layout{grid-template-columns:minmax(360px,1.05fr) minmax(340px,1fr);gap:28px}.mac-shell .record-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mac-shell .memo-page{grid-template-columns:minmax(290px,.85fr) minmax(0,1.25fr);align-items:start;gap:16px 24px;display:grid}.mac-shell .memo-page>.page-title{grid-column:1/-1}.mac-shell .memo-page>.memo-composer{grid-area:2/1/span 6;position:sticky;top:0}.mac-shell .memo-page>:not(.page-title,.memo-composer){grid-column:2;min-width:0}}@media (width>=1240px){.mac-shell .calendar-page{grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);align-items:start;gap:20px 24px;display:grid}.mac-shell .calendar-page>.page-title,.mac-shell .calendar-page>.cal-legend,.mac-shell .calendar-page>.calendar-search{grid-column:1/-1}.mac-shell .calendar-board{grid-column:1}.mac-shell .calendar-agenda{border:1px solid var(--color-line-soft);border-radius:var(--radius-md);background:var(--color-surface-soft);grid-column:2;padding:18px;position:sticky;top:0}}@media (width<=1079px){.mac-shell .home-layout{max-width:660px}}
