@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/fraunces-vietnamese-wght-normal.27mjgerpp-p8q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/fraunces-latin-ext-wght-normal.0w34jt9rgyj5v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/fraunces-latin-wght-normal.2on4lsczlu6gv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/dm-sans-latin-ext-wght-normal.0x9ccydb91kkt.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/dm-sans-latin-wght-normal.0fpdy-lufm69d.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#fbf5f2;--surface:#fff;--ink:#3d2436;--ink-soft:#6e5866;--rose:#a8476a;--rose-deep:#7e3350;--rose-tint:#f8e1e7;--blush:#f4e4e1;--line:#e4cfca;--line-soft:#eedfdb;--sage:#557563;--sage-tint:#e6eee8;--sage-ink:#2f4639;--font-heading:"Fraunces Variable", Georgia, serif;--font-body:"DM Sans Variable", system-ui, sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3{font-family:var(--font-heading);margin:0;font-weight:400}p{margin:0}a{color:var(--rose)}a:hover{color:var(--rose-deep)}button{font-family:inherit}:focus-visible{outline:3px solid var(--rose);outline-offset:2px}.screen{max-width:480px;min-height:100dvh;padding:max(32px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:100%;font-family:inherit;text-decoration:none;display:flex}.btn-primary{background:var(--rose);color:#fff;border:none;height:56px;font-size:17px;font-weight:700}.btn-primary:hover{background:var(--rose-deep);color:#fff}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{border:1.5px solid var(--line);height:48px;color:var(--ink);background:0 0;font-size:16px;font-weight:500}.btn-secondary:hover{color:var(--ink);background:var(--surface)}.topbar{justify-content:space-between;align-items:center;min-height:44px;display:flex}.round-btn{background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;border:none;border-radius:22px;justify-content:center;align-items:center;display:flex}.round-btn:hover{color:var(--ink)}.topbar-label{color:var(--ink-soft);font-size:13px;font-weight:500}.page-title{font-size:clamp(26px,7.5vw,30px);line-height:1.2}.page-lead{color:var(--ink-soft);font-size:15px;line-height:1.5}.card{background:var(--surface);border-radius:20px;padding:16px}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.input{border:1.5px solid var(--line);background:var(--surface);height:52px;color:var(--ink);border-radius:16px;padding:0 16px;font-family:inherit;font-size:16px}.input:focus{border-color:var(--rose);outline:none}.field-hint{color:var(--ink-soft);font-size:12px;font-weight:400}.alert{border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.45}.alert-error{color:#7a1f2b;background:#fbe3e3}.alert-ok{background:var(--sage-tint);color:var(--sage-ink)}.text-link{font-size:14px;font-weight:500;text-decoration:none}.muted{color:var(--ink-soft);font-size:14px}
