@font-face{font-family:Bodoni Moda;font-style:italic;font-weight:400 900;font-display:swap;src:url(/_next/static/media/7362f304958813f8-s.woff2) format("woff2");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Bodoni Moda;font-style:italic;font-weight:400 900;font-display:swap;src:url(/_next/static/media/db906319981135e5-s.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-family:Bodoni Moda;font-style:italic;font-weight:400 900;font-display:swap;src:url(/_next/static/media/e4043985c18db9d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bodoni Moda;font-style:italic;font-weight:400 900;font-display:swap;src:url(/_next/static/media/821d76e08f562279-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bodoni Moda;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/4f52e7e286ad48dd-s.woff2) format("woff2");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Bodoni Moda;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/5b2b7a6f7f37a283-s.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-family:Bodoni Moda;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/9a8547324877773b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bodoni Moda;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/95c8264a6767742a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bodoni Moda Fallback;src:local("Times New Roman");ascent-override:98.50%;descent-override:35.02%;line-gap-override:0.00%;size-adjust:114.22%}.__className_883c8c{font-family:Bodoni Moda,Bodoni Moda Fallback}.__variable_883c8c{--f-bodoni:"Bodoni Moda","Bodoni Moda Fallback"}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Outfit Fallback;src:local("Arial");ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.00%;size-adjust:99.82%}.__className_ed3508{font-family:Outfit,Outfit Fallback;font-style:normal}.__variable_ed3508{--f-outfit:"Outfit","Outfit Fallback"}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/e44cdba7d0878bc5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/07fccecd6728972a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/486fce9f36bc8f45-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/46bdd75a3ff56824-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Caveat Fallback;src:local("Arial");ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.00%;size-adjust:76.94%}.__className_97f5e1{font-family:Caveat,Caveat Fallback;font-style:normal}.__variable_97f5e1{--f-caveat:"Caveat","Caveat Fallback"}:root{--red:#d91f2e;--red-deep:#7a0e1b;--red-dark:#4d0812;--ink:#171214;--cream:#f5eddf;--cream-dim:#eadfc9;--paper-line:rgba(23,18,20,0.14);--blush:#fff6f9;--plum:#513a55;--plum-soft:#8a6f91;--pink:#ffcfe3;--lavender:#dfcfff;--mint:#bfeed4;--butter:#ffecac;--sky:#c6e6ff;--mood-0:#ffd97a;--mood-1:#a8e8c0;--mood-2:#a9d7ff;--mood-3:#cbb7f2;--mood-4:#ffa8b8;--font-display:var(--f-bodoni),"Bodoni Moda","Didot",serif;--font-body:var(--f-outfit),"Outfit",system-ui,sans-serif;--font-hand:var(--f-caveat),"Caveat",cursive;--glow-a:rgba(223,207,255,0.5);--glow-b:rgba(198,230,255,0.45);--glow-c:rgba(255,207,227,0.5);--card-bottom:#fff8fc;--pill:999px;--card-r:26px}:root[data-theme=midnight]{--cream:#e7eaf1;--cream-dim:#d9dee9;--paper-line:rgba(29,35,51,0.14);--ink:#1d2333;--blush:#eef1f6;--plum:#2e3a55;--plum-soft:#6b7894;--pink:#c3cfe3;--lavender:#b8c2dd;--mint:#b7cfd2;--butter:#d9deea;--sky:#b9d0e8;--glow-a:rgba(184,194,221,0.5);--glow-b:rgba(185,208,232,0.45);--glow-c:rgba(195,207,227,0.5);--card-bottom:#f6f8fc}:root[data-theme=paper]{--cream:#f4f1e8;--cream-dim:#eae5d6;--blush:#faf8f2;--plum:#3d3a33;--plum-soft:#8a8478;--pink:#e6dccd;--lavender:#ddd6c8;--mint:#d6dbc9;--butter:#efe6cf;--sky:#dde2df;--glow-a:rgba(221,214,200,0.5);--glow-b:rgba(221,226,223,0.45);--glow-c:rgba(230,220,205,0.5);--card-bottom:#fcfaf4}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-body);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100dvh}img{max-width:100%}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:1rem}a{color:inherit}:focus-visible{outline:3px solid var(--red);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.glam{background:radial-gradient(1200px 500px at 85% -10%,rgba(217,31,46,.08),transparent 60%),repeating-linear-gradient(0deg,transparent 0 26px,rgba(23,18,20,.025) 26px 27px),var(--cream);color:var(--ink);min-height:100dvh}.masthead{border-bottom:3px solid var(--ink);position:relative}.masthead-inner{max-width:1100px;margin:0 auto;padding:14px 20px 10px;display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.masthead-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,4.5vw,2.4rem);letter-spacing:.04em;text-transform:uppercase;margin:0;line-height:1;color:var(--ink);text-decoration:none;display:inline-flex;align-items:baseline;gap:10px}.masthead-title em{font-style:italic;font-weight:400;text-transform:none;color:var(--red);letter-spacing:0}.masthead-tag{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--red-deep)}.glam-nav{display:flex;gap:2px;flex-wrap:wrap;border-top:1px solid var(--paper-line);max-width:1100px;margin:0 auto;padding:0 12px}.glam-nav a{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:9px 14px;color:var(--ink);position:relative}.glam-nav a.active{color:var(--red)}.glam-nav a.active:after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;background:var(--red)}.glam-nav a:hover{color:var(--red)}.glam-footer{border-top:3px double var(--ink);margin-top:60px;padding:22px 20px 34px;text-align:center;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--red-deep)}.torn{background:#fffdf6;border:1px solid var(--paper-line);box-shadow:4px 5px 0 rgba(23,18,20,.9);-webkit-clip-path:polygon(0 2%,3% 0,22% 1.2%,46% .2%,71% 1.4%,100% .4%,99.5% 30%,100% 62%,99.2% 100%,74% 99%,47% 100%,21% 98.8%,2% 99.6%,.5% 70%,0 34%);clip-path:polygon(0 2%,3% 0,22% 1.2%,46% .2%,71% 1.4%,100% .4%,99.5% 30%,100% 62%,99.2% 100%,74% 99%,47% 100%,21% 98.8%,2% 99.6%,.5% 70%,0 34%);padding:26px 26px 30px}.eyebrow{font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--red);margin:0 0 10px}.glam-h{font-family:var(--font-display);font-weight:700;line-height:1.02;margin:0}.btn-glam{display:inline-block;background:var(--ink);color:var(--cream);border:none;border-radius:var(--pill);padding:13px 30px;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:transform .15s ease,background .15s ease}.btn-glam:hover{transform:translateY(-1px)}.btn-glam.red,.btn-glam:hover{background:var(--red)}.btn-glam.red:hover{background:var(--red-deep)}.btn-glam.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn-glam.ghost:hover{color:var(--red);box-shadow:inset 0 0 0 1.5px var(--red);background:transparent}.btn-glam:disabled{opacity:.45;cursor:default;transform:none}.cute{background:radial-gradient(700px 340px at 12% -6%,var(--glow-a),transparent 65%),radial-gradient(700px 380px at 95% 4%,var(--glow-b),transparent 60%),radial-gradient(600px 300px at 50% 108%,var(--glow-c),transparent 65%),var(--blush);color:var(--plum);min-height:100dvh}.cute-card{background:linear-gradient(180deg,#ffffff 0,var(--card-bottom) 100%);border-radius:var(--card-r);padding:22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -12px 24px rgba(255,207,227,.25),0 10px 30px rgba(81,58,85,.1);border:1px solid rgba(255,255,255,.9)}.cute-label{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--plum-soft);margin:0 0 12px;font-weight:600}.dateline{text-align:center;margin:6px 0 20px}.dateline .dl-day{font-family:var(--font-display);font-style:italic;font-size:clamp(1.5rem,4vw,2rem);color:var(--plum)}.dateline .dl-rule{width:130px;height:2px;margin:8px auto 0;background:linear-gradient(90deg,transparent,var(--red),transparent)}.gummy{border:none;border-radius:var(--pill);padding:14px 30px;font-weight:700;font-size:1rem;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 46%),linear-gradient(180deg,#ff7a8d 0,var(--red) 78%);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 -5px 10px rgba(122,14,27,.35),0 8px 18px rgba(217,31,46,.35);text-shadow:0 1px 2px rgba(122,14,27,.4);transition:transform .12s ease,box-shadow .12s ease}.gummy:hover{transform:translateY(-2px)}.gummy:active{transform:translateY(1px) scale(.99)}.gummy:disabled{filter:saturate(.35) brightness(1.05);cursor:default;transform:none}.gummy.soft{color:var(--plum);text-shadow:none;background:linear-gradient(180deg,rgba(255,255,255,.75) 0,rgba(255,255,255,0) 50%),linear-gradient(180deg,#ffffff 0,var(--lavender) 90%);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -5px 10px rgba(81,58,85,.16),0 6px 14px rgba(81,58,85,.14)}.chip{border:none;border-radius:var(--pill);padding:9px 16px;font-size:.88rem;font-weight:600;color:var(--plum);background:linear-gradient(180deg,rgba(255,255,255,.7) 0,rgba(255,255,255,0) 55%),var(--chip-c,var(--sky));box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 -3px 6px rgba(81,58,85,.12),0 3px 8px rgba(81,58,85,.12);transition:transform .12s ease,box-shadow .12s ease}.chip:hover{transform:translateY(-1px) rotate(-1deg)}.chip[aria-pressed=true]{box-shadow:0 0 0 2.5px #fff inset,0 0 0 4.5px var(--red),0 3px 8px rgba(217,31,46,.25)}.cute-input,.glam-input{width:100%;border-radius:16px;padding:13px 16px;font-size:1rem}.cute-input{border:1.5px solid rgba(81,58,85,.18);background:#fff;color:var(--plum);box-shadow:inset 0 2px 6px rgba(81,58,85,.06)}.cute-input:focus{border-color:var(--red);outline:none}.glam-input{border:1.5px solid var(--ink);background:#fffdf6;color:var(--ink);border-radius:12px}.glam-input:focus{border-color:var(--red);outline:none}.hint{font-size:.85rem;color:var(--plum-soft);line-height:1.5}.glam .hint{color:rgba(23,18,20,.62)}.err{color:var(--red-deep);background:rgba(217,31,46,.08);border-radius:12px;padding:10px 14px;font-size:.9rem;margin:10px 0}.rt-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.rt-toolbar button{min-width:38px;height:36px;border:none;border-radius:12px;background:linear-gradient(180deg,#fff,var(--sky));color:var(--plum);font-weight:700;box-shadow:inset 0 1px 0 #fff,inset 0 -2px 5px rgba(81,58,85,.12),0 2px 6px rgba(81,58,85,.12)}.rt-toolbar button:active{transform:translateY(1px)}.rt-editor{min-height:170px;border-radius:16px;border:1.5px solid rgba(81,58,85,.18);background:#fff;padding:16px;line-height:1.65;color:var(--plum)}.rt-editor:focus{outline:none;border-color:var(--red)}.rt-editor h2,.rt-editor h3{font-family:var(--font-display);margin:.5em 0 .3em}.rt-editor:empty:before{content:attr(data-placeholder);color:var(--plum-soft);opacity:.7}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px}.cal-dow{text-align:center;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--plum-soft);padding-bottom:4px}.cal-day{aspect-ratio:1;border:none;border-radius:14px;background:rgba(255,255,255,.75);box-shadow:inset 0 1px 0 #fff,0 2px 6px rgba(81,58,85,.07);color:var(--plum);font-weight:600;font-size:.9rem;position:relative;display:flex;align-items:center;justify-content:center}.cal-day.has{background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,0) 60%),var(--day-c,var(--sky));box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -3px 6px rgba(81,58,85,.14),0 3px 8px rgba(81,58,85,.14)}.cal-day.today{outline:2.5px solid var(--red);outline-offset:1.5px}.cal-day:hover{transform:translateY(-1px)}.cal-day:disabled{opacity:.35;transform:none}.shell-main{max-width:780px;margin:0 auto;padding:26px 18px 90px}.shell-wide{max-width:1060px}.stack{display:grid;grid-gap:18px;gap:18px}.gentle-note,.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.gentle-note{border-radius:18px;padding:14px 18px;background:linear-gradient(180deg,#fff,var(--butter));box-shadow:inset 0 1px 0 #fff,0 3px 10px rgba(81,58,85,.1);color:var(--plum);font-size:.92rem;justify-content:space-between}.veil{position:fixed;inset:0;background:rgba(23,18,20,.45);display:grid;place-items:center;z-index:60;padding:18px}.sheet{background:#fffdf9;border-radius:24px;max-width:460px;width:100%;padding:26px;box-shadow:0 24px 70px rgba(23,18,20,.4);max-height:86dvh;overflow:auto}.sheet-wide{max-width:min(1000px,94vw)}.tabbar{position:fixed;left:50%;transform:translateX(-50%);bottom:12px;display:flex;gap:4px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:6px;box-shadow:inset 0 1px 0 #fff,0 10px 30px rgba(81,58,85,.22);z-index:50}.tabbar,.tabbar a{border-radius:var(--pill)}.tabbar a{text-decoration:none;font-size:.68rem;font-weight:700;letter-spacing:.04em;color:var(--plum-soft);padding:9px 10px;white-space:nowrap}.tabbar a.active{color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,0) 50%),var(--red);box-shadow:inset 0 -3px 6px rgba(77,8,18,.3),0 4px 10px rgba(217,31,46,.35)}@media (max-width:480px){.tabbar{max-width:calc(100vw - 16px);overflow-x:auto}}.book-scene{perspective:2400px}.book{position:relative;margin:0 auto}.book,.leaf{transform-style:preserve-3d}.leaf{position:absolute;inset:0;transform-origin:left center;transition:transform .85s cubic-bezier(.35,.1,.25,1)}.leaf.flipped{transform:rotateY(-178deg)}.leaf-face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:6px 14px 14px 6px;overflow:hidden;background:#fffdf6;box-shadow:0 0 0 1px rgba(23,18,20,.12),0 12px 30px rgba(23,18,20,.18)}.leaf-face.back{transform:rotateY(180deg);border-radius:14px 6px 6px 14px}.corner-hint{position:absolute;right:0;bottom:0;width:54px;height:54px;cursor:-webkit-grab;cursor:grab;background:linear-gradient(315deg,rgba(217,31,46,.22),transparent 55%);border-radius:0 0 14px 0}.arrow-btn{width:52px;height:52px;border-radius:50%;border:none;font-size:1.15rem;background:var(--ink);color:var(--cream);box-shadow:0 6px 16px rgba(23,18,20,.3)}.arrow-btn:hover{background:var(--red)}.arrow-btn:disabled{opacity:.3}.scrap-el{position:absolute;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.scrap-el.selected{outline:2px dashed var(--red);outline-offset:3px}.scrap-handle{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:.7rem;box-shadow:0 2px 6px rgba(0,0,0,.3);touch-action:none}.switch{width:52px;height:30px;border-radius:var(--pill);border:none;position:relative;background:rgba(81,58,85,.22);transition:background .2s ease;flex-shrink:0}.switch[aria-checked=true]{background:var(--red)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:linear-gradient(180deg,#fff,#f0e6ef);box-shadow:0 2px 5px rgba(0,0,0,.25);transition:left .2s ease}.switch[aria-checked=true]:after{left:25px}.friend-req{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:rgba(255,255,255,.8);border-radius:18px;padding:12px 14px}.friend-req-avatar{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;box-shadow:inset 0 1px 0 #fff,0 3px 8px rgba(81,58,85,.18)}.friend-req-avatar,.friend-req-name{font-family:var(--font-hand);color:var(--plum)}.friend-req-name{font-size:1.45rem}.req-accept{display:inline-flex;align-items:center;gap:7px;border:none;border-radius:var(--pill);padding:9px 22px;font-weight:700;font-size:.88rem;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,0) 55%),var(--red);box-shadow:inset 0 -3px 6px rgba(77,8,18,.3),0 4px 10px rgba(217,31,46,.35);transition:transform .12s ease}.req-accept:hover{transform:translateY(-2px) scale(1.04)}.req-accept:active{transform:translateY(1px) scale(.98)}.note-click{cursor:pointer}.note-click:hover{box-shadow:0 6px 18px rgba(81,58,85,.16)}.streak-charm{display:inline-flex;align-items:center;gap:7px;margin-top:10px;background:rgba(255,255,255,.85);border-radius:var(--pill);padding:7px 16px;font-size:.85rem;color:var(--plum-soft);box-shadow:0 2px 8px rgba(81,58,85,.14)}.streak-num{font-family:var(--font-display);font-size:1.15rem;color:var(--red);line-height:1}.streak-best{opacity:.75}.msg-avatar,.settings-avatar{width:38px;height:38px;flex:none;border-radius:50%;object-fit:cover;display:grid;place-items:center;font-family:var(--font-hand);font-size:1.3rem;color:var(--plum);box-shadow:inset 0 1px 0 #fff,0 3px 8px rgba(81,58,85,.18)}.msg-avatar-blank{background:var(--lavender)}.settings-avatar{width:64px;height:64px;font-size:2rem}.settings-avatar-blank{background:var(--pink)}.react-btn{border:none;background:rgba(255,255,255,.9);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;box-shadow:0 2px 6px rgba(81,58,85,.16);transition:transform .12s ease,box-shadow .12s ease}.react-btn:hover{transform:translateY(-2px) scale(1.12)}.react-btn[aria-pressed=true]{background:var(--butter);box-shadow:0 0 0 2.5px var(--red),0 3px 8px rgba(217,31,46,.25)}.react-chip{gap:7px;background:rgba(255,255,255,.9);border-radius:var(--pill);padding:6px 14px;font-size:.85rem;color:var(--plum-soft);box-shadow:0 2px 6px rgba(81,58,85,.12)}.react-chip,.theme-pick{display:inline-flex;align-items:center}.theme-pick{gap:10px;border:none;border-radius:var(--pill);padding:10px 20px;font-weight:700;font-size:.9rem;color:var(--plum);background:rgba(255,255,255,.85);box-shadow:0 2px 8px rgba(81,58,85,.14);transition:transform .12s ease}.theme-pick:hover{transform:translateY(-2px)}.theme-pick[aria-pressed=true]{box-shadow:0 0 0 2.5px var(--red),0 3px 10px rgba(217,31,46,.2)}.theme-dot{width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(81,58,85,.25)}.name-lock{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.85);padding:9px 18px;font-weight:700;color:var(--plum)}.goal-bar,.name-lock{border-radius:var(--pill)}.goal-bar{height:10px;background:rgba(81,58,85,.12);overflow:hidden}.goal-bar>span{display:block;height:100%;border-radius:var(--pill);background:linear-gradient(90deg,var(--pink),var(--red));transition:width .4s ease}.goal-tick{width:26px;height:26px;flex:none;border-radius:9px;border:2px solid var(--plum-soft);background:#fff;display:grid;place-items:center;padding:0}.goal-tick[aria-checked=true]{background:var(--mint);border-color:var(--plum)}.goal-swatch{width:30px;height:30px;flex:none;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.18);padding:0}.goal-swatch[aria-pressed=true]{outline:3px solid var(--red);outline-offset:2px}.spin{animation:dsspin 1s linear infinite;display:inline-block}@keyframes dsspin{to{transform:rotate(1turn)}}.fade-in{animation:dsfade .5s ease both}@keyframes dsfade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}