:root{--green:#06c755;--red:#b11e23;--ink:#222;--muted:#666;--line:#d9d9d9;--soft:#f0f0f0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{color:var(--ink);-webkit-text-size-adjust:100%;background:#fff;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit;color:inherit}.page{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.scroll{flex:1;padding:20px 20px 12px}.center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:32px 24px;display:flex}.center h1{margin:0;font-size:22px}.center p{color:var(--muted);margin:0 0 12px}.center .btn{width:auto;padding:0 32px}.spinner{border:3px solid var(--soft);border-top-color:var(--green);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.avatar-banner{background:var(--green);color:#fff;border-radius:14px;align-items:center;gap:12px;margin-bottom:20px;padding:12px 14px;display:flex}.avatar-banner img{object-fit:cover;background:#fff;border-radius:50%;width:44px;height:44px}.label{margin:18px 0 8px;display:block}.field{border:1px solid var(--green);border-radius:8px;align-items:center;display:flex;position:relative}.field input,.field select{background:0 0;border:0;border-radius:8px;outline:none;flex:1;width:100%;min-height:46px;padding:0 14px;font-size:16px}.field select{appearance:none;padding-right:36px}.field.select{border-color:#bbb}.field.select:after{content:"";pointer-events:none;border:5px solid #0000;border-top:6px solid #777;position:absolute;right:16px;transform:translateY(3px)}.count{color:var(--muted);white-space:nowrap;padding-right:14px;font-size:14px}.count.over{color:var(--red);font-weight:700}.segment{background:var(--soft);border-radius:10px;gap:4px;padding:4px;display:flex}.segment button{color:#777;background:0 0;border:0;border-radius:7px;flex:1;min-height:44px}.segment button.on{color:var(--ink);background:#fff;font-weight:700;box-shadow:0 1px 3px #0000001f}.segment.compact{margin-bottom:12px}.friend-note{background:var(--soft);border-radius:10px;margin:18px 0 0;padding:12px 14px}.consent{align-items:flex-start;gap:10px;margin-top:20px;display:flex}.consent input{width:18px;height:18px;accent-color:var(--green);flex:none;margin:3px 0 0}.link{color:#1a73e8;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.actions{padding:12px 20px calc(16px + env(safe-area-inset-bottom));background:#fff;flex-direction:column;gap:10px;display:flex;position:sticky;bottom:0}.btn{color:#fff;cursor:pointer;border:0;border-radius:26px;justify-content:center;align-items:center;width:100%;min-height:52px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.btn:disabled{opacity:.6}.btn.green{background:var(--green)}.btn.red{background:var(--red)}.btn.outline{color:#555;background:#fff;border:1px solid #bbb;font-weight:500}.minor{justify-content:space-between;gap:12px;font-size:14px;display:flex}.minor .link{color:var(--muted);min-height:32px}.card-frame{background:#e8e8e8;border-radius:14px;justify-content:center;padding:0 24px;display:flex}.card-frame img{aspect-ratio:9/16;object-fit:contain;-webkit-touch-callout:default;width:100%;max-height:60dvh;display:block}.caption{text-align:center;margin:14px 0 0}.error{color:var(--red);text-align:center;margin:0;font-size:14px}.notice{color:#066b30;text-align:center;background:#e7f9ee;border-radius:10px;margin:12px 0;padding:10px 14px;font-size:14px}.sheet-backdrop{z-index:10;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:480px;max-height:88dvh;padding:24px 24px calc(20px + env(safe-area-inset-bottom));background:#fff;border-radius:20px 20px 0 0;overflow-y:auto}.sheet h2{margin:0 0 12px;font-size:20px}.sheet h3{margin:14px 0 2px;font-size:16px}.sheet p{margin:0 0 4px;font-size:15px}.sheet a{color:#1a73e8}.sheet .btn{margin-top:16px}
