:root{color-scheme:light;--paper:#f7f4ef;--ink:#342b3d;--purple:#75518f;--soft:#eee7f4;--muted:#736878;--line:#e5dce7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}main{max-width:460px;margin:auto;padding:24px}.back{display:inline-block;color:var(--purple);text-decoration:none;font-size:14px;min-height:44px}.occasion{font-size:12px;color:var(--muted);letter-spacing:1px;margin:14px 0 23px}.heart{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;color:var(--purple);background:var(--soft);font-size:34px}h1{font:500 29px/1.5 "Songti SC",serif;letter-spacing:1px;margin:18px 0 10px}.intro{color:var(--muted);font-size:15px;margin:0 0 26px}label{display:block;font-size:14px;margin:16px 0 8px}input,textarea,button{font:inherit}input,textarea{width:100%;border:1px solid var(--line);background:#fffdfa;border-radius:12px;padding:12px;color:var(--ink)}textarea{resize:vertical;line-height:1.8}.counter{margin:3px 2px 12px;text-align:right;font-size:12px;color:var(--muted)}.suggestions{display:flex;gap:8px;flex-wrap:wrap}.suggestions button{border:0;border-radius:18px;background:var(--soft);color:var(--purple);padding:8px 12px;font-size:12px;min-height:44px;cursor:pointer}.note{font-size:12px;line-height:1.8;color:var(--muted);margin:17px 0}.send{width:100%;min-height:52px;border:0;border-radius:12px;background:var(--purple);color:white;cursor:pointer}.send:disabled{opacity:.6;cursor:default}#send-status{min-height:27px;font-size:14px;color:var(--purple);overflow-wrap:anywhere}#send-status[data-error="true"]{color:#9e2436}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--purple);outline-offset:3px}footer{margin:22px 0 8px;text-align:center;color:var(--muted);font:13px/1.8 "Songti SC",serif;letter-spacing:2px}@media(max-width:360px){main{padding:20px 18px}h1{font-size:26px}}
[hidden]{display:none!important}.identity{padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}.identity strong{color:var(--ink);overflow-wrap:anywhere}#name-required a{color:var(--purple)}
