:root{--brand: #0b5cff;--brand-soft: #eaf1ff;--bg: #f9fafb;--card: #ffffff;--text: #111827;--muted: #6b7280;--line: #e5e7eb;--amber: #b45309;--amber-soft: #fef3c7;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 -apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,sans-serif}.page{max-width:560px;margin:0 auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom))}.loading{min-height:60vh;display:grid;place-items:center;color:var(--muted)}.brand{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:20px}.brand-mark{border-radius:8px}.hero h1{font-size:26px;line-height:1.3;margin:8px 0;text-wrap:balance}.hero .sub{color:var(--muted);margin:0 0 12px}.badge{display:inline-block;margin:0;padding:2px 10px;border-radius:999px;background:var(--amber-soft);color:var(--amber);font-size:13px;font-weight:600}.bullets{margin:0 0 16px;padding:0;list-style:none}.bullets li{position:relative;padding-left:22px;margin:6px 0}.bullets li:before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 16px;margin-top:16px;text-align:center;box-shadow:0 1px 2px #1118270a}.card h2{font-size:17px;margin:0 0 4px}.muted{color:var(--muted);margin:0 0 8px;font-size:14px}.primary{border-color:#bcd2ff;background:linear-gradient(180deg,var(--brand-soft),var(--card) 60%)}.qr-box{display:grid;place-items:center;margin:12px 0 4px}.qr{width:200px;height:200px;object-fit:contain;background:#fff;border-radius:8px}.qr:not([src]){background:repeating-linear-gradient(45deg,#f3f4f6 0,#f3f4f6 8px,#fff 8px,#fff 16px)}.contact .qr{width:180px;height:180px;margin:8px auto;display:block}.hint{font-size:13px;color:var(--muted);margin:8px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 24px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible,input:focus-visible,a:focus-visible,.link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.link{border:0;background:none;color:var(--brand);font:inherit;padding:0 4px;cursor:pointer}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.lead form{display:grid;gap:12px;text-align:left;margin-top:12px}.lead label{display:grid;gap:4px;font-size:14px;color:var(--muted)}.lead input:not([type=checkbox]){font:inherit;color:var(--text);min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.lead .consent{display:flex;align-items:center;gap:6px}.lead .consent input{width:18px;height:18px;margin:0}.lead a{color:var(--brand)}.form-msg{min-height:1.2em;margin:0;font-size:13px;color:var(--muted);text-align:center}.done{margin:8px 0;color:var(--brand);text-align:center;font-weight:600}footer{margin-top:28px;text-align:center;font-size:12px;color:var(--muted)}footer p{margin:2px 0}footer a{color:inherit}.ended{min-height:80vh;display:grid;place-content:center;justify-items:center;text-align:center;gap:8px}.ended h1{margin:8px 0 0;font-size:22px}.ended p{color:var(--muted);margin:0 0 12px}@media(min-width:768px){.page{padding-top:40px}.hero h1{font-size:32px}.hero .btn-primary{width:auto;min-width:220px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
