:root{--ink: #1c1917;--muted: #6b6560;--line: #e6e1dc;--surface: #ffffff;--ground: #f6f3f0;--brand: #8a1f2b;--brand-ink: #ffffff;--ok: #1f7a4d;--bad: #b23b3b;--wait: #9a6b00;--radius: 14px}*{box-sizing:border-box}html,body{margin:0}body{font-family:PingFang TC,Noto Sans TC,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--ground);line-height:1.6;-webkit-text-size-adjust:100%}#app{max-width:560px;margin:0 auto;padding:16px 14px calc(28px + env(safe-area-inset-bottom))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px 18px}.card.center{text-align:center}h1{font-size:22px;margin:0 0 6px}.lead{color:var(--muted);margin:0 0 18px}.demo{background:#fff7e6;border:1px solid #f0d999;color:#7a5a00;padding:8px 10px;border-radius:10px;font-size:13px;margin:0 0 16px}.fld{display:block;margin:0 0 16px}.fld>span{display:block;font-weight:700;font-size:15px;margin-bottom:8px}input[type=date],input[type=text],input[type=tel],textarea{width:100%;font:inherit;padding:13px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}input:focus,textarea:focus,.choice:focus-visible,.submit:focus-visible,.step:focus-visible{outline:3px solid #b9d4ff;outline-offset:1px}textarea{resize:vertical}.choices{display:flex;gap:10px;flex-wrap:wrap}.choice{flex:1 1 45%;min-height:52px;font:inherit;font-weight:700;cursor:pointer;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:10px 12px}.choice.on{border-color:var(--brand);background:#fbecec;color:var(--brand)}.stepper{display:inline-flex;align-items:center;gap:14px}.step{width:48px;height:48px;font-size:22px;font-weight:700;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer}output{font-size:22px;font-weight:700;min-width:40px;text-align:center}.avail{min-height:22px;font-size:14px;margin:-4px 0 16px}.avail.ok{color:var(--ok)}.avail.full{color:var(--bad);font-weight:700}.avail.checking{color:var(--muted)}.err{display:block;color:var(--bad);font-size:13px;font-style:normal;margin-top:6px}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.submit{display:block;width:100%;text-align:center;text-decoration:none;min-height:54px;font:inherit;font-size:17px;font-weight:700;cursor:pointer;border:none;border-radius:12px;background:var(--brand);color:var(--brand-ink);padding:15px;margin-top:6px}.submit[disabled]{opacity:.6}.linkbtn{display:inline-block;margin-top:14px;background:none;border:none;color:var(--muted);font:inherit;text-decoration:underline;cursor:pointer}.fineprint{color:var(--muted);font-size:13px;margin-top:12px}.tick{width:64px;height:64px;line-height:64px;margin:4px auto 10px;border-radius:50%;background:#e8f5ee;color:var(--ok);font-size:34px}.summary{background:var(--ground);border-radius:12px;padding:14px;margin:16px 0;display:grid;gap:4px}.summary .req{color:var(--muted);font-size:14px}.statusbig{font-size:22px;font-weight:800;padding:16px;border-radius:12px;margin-bottom:6px}.statusbig.ok{background:#e8f5ee;color:var(--ok)}.statusbig.wait{background:#fff7e6;color:var(--wait)}.statusbig.bad{background:#fbeaea;color:var(--bad)}.statusbig.done{background:var(--ground);color:var(--muted)}.banner{background:#fbeaea;border:1px solid #eabcbc;color:var(--bad);padding:10px 12px;border-radius:10px;margin-bottom:14px;font-weight:700}
