:root{--pink:#E91E8A;--ink:#0a0a0a;--mute:#6b6b6b;--line:#e7e7e7;--paper:#fafafa;--card:#fff;--pinkwash:#fdeef6}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);font-family:'Poppins','Noto Sans JP',system-ui,sans-serif;color:var(--ink);line-height:1.5}
/* Traditional-Chinese page: prefer Noto Sans TC so shared CJK glyphs use Chinese (not Japanese) forms. applyLang sets <html lang>. Form controls use font-family:inherit, so overriding body cascades to them. */
html[lang="zh-Hant"] body{font-family:'Poppins','Noto Sans TC','Noto Sans JP',system-ui,sans-serif}
.wrap{max-width:560px;margin:0 auto;padding:26px 22px 60px}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.logo{height:32px;width:auto;display:block}
.lpick{position:relative}
.lpick-btn{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:13px;color:#333;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 13px;cursor:pointer}
.lpick-menu{position:absolute;right:0;top:42px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.14);padding:6px;min-width:158px;z-index:20}
.lpick-menu[hidden]{display:none}
.lpick-menu div{padding:10px 12px;border-radius:9px;font-size:14px;color:#333;cursor:pointer}
.lpick-menu div:hover{background:var(--pinkwash)}
.lpick-menu div.on{color:var(--pink);font-weight:500;background:var(--pinkwash)}
.welcome{background:var(--pinkwash);border-radius:20px;padding:24px 22px;margin-bottom:26px}
.welcome h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:30px;line-height:1.15;margin:0 0 14px}
.welcome p{font-size:14.5px;line-height:1.7;color:#4a4347;margin:0 0 12px}
.welcome p:last-child{margin-bottom:0}
.welcome .heart{color:var(--pink);font-weight:500}
.secthead{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--pink);margin:6px 2px 16px}
.secthead::after{content:"";flex:1;height:1px;background:var(--line)}
.field{margin-bottom:24px}
.q{font-size:15px;font-weight:500;line-height:1.5;margin-bottom:12px;color:#1a1a1a;display:block}
.q .star{color:var(--pink)}
.q .opt{font-weight:400;color:var(--mute);font-size:13px}
select,textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:13px;font-family:inherit;font-size:15px;color:var(--ink);background:#fff}
select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23999' stroke-width='2'><path d='M3 5l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 16px center}
select:disabled{background-color:#f4f4f4;color:#aaa}
textarea{min-height:104px;resize:vertical}
.yn{display:flex;gap:12px}
.pill{flex:1;text-align:center;padding:14px 0;border:1.5px solid var(--line);border-radius:13px;font-family:inherit;font-size:15px;font-weight:500;cursor:pointer;color:#444;background:#fff;transition:.14s}
.pill.on{background:var(--pink);border-color:var(--pink);color:#fff;box-shadow:0 6px 16px rgba(233,30,138,.28)}
.err{color:#c62828;font-size:13.5px;background:#fdecec;border-radius:10px;padding:10px 13px;margin:0 0 14px}
.submit{width:100%;padding:16px;border:none;border-radius:14px;background:var(--ink);color:#fff;font-family:inherit;font-size:15.5px;font-weight:500;cursor:pointer;transition:.15s}
.submit:hover{background:var(--pink)}
.submit:disabled{opacity:.55;cursor:default}
.foot{text-align:center;color:#aaa;font-size:11.5px;margin-top:18px;letter-spacing:.04em}
.thanks{text-align:center;padding-top:60px}
.thanks-card{margin-top:40px}
.thanks-mark{font-size:50px;margin-bottom:10px}
.thanks-card h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:32px;margin:0 0 12px}
.thanks-card p{color:var(--mute);font-size:15px;max-width:380px;margin:0 auto}
@media(max-width:480px){.wrap{padding:20px 16px 50px}.welcome h1{font-size:27px}}
