:root{--bg:#f3f6f5;--paper:#fff;--ink:#183b35;--secondary:#4a605b;--accent:#176354;--accent-hover:#104a3e;--soft:#e2eee9;--line:#c5d2cd;--error:#a72830;--error-bg:#fff0f0;--radius:14px;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans TC","Microsoft JhengHei","PingFang TC",sans-serif;font-size:17px;line-height:1.8;-webkit-text-size-adjust:100%}::selection{background:var(--accent);color:var(--paper)}input,textarea,button{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-underline-offset:5px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}input,textarea{caret-color:var(--accent)}[hidden]{display:none!important}.skip{position:absolute;top:-100px;left:12px;background:var(--paper);padding:12px;z-index:20}.skip:focus{top:12px}.site-header{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:26px 32px;gap:16px}.site-header>a:last-child{font-size:15px;flex-shrink:0}.brand{display:flex;align-items:baseline;gap:16px;text-decoration:none;font-size:26px;font-weight:800;letter-spacing:-.7px}.brand span{font-size:14px;font-weight:400;letter-spacing:0;color:var(--secondary)}main{max-width:1096px;margin:auto;padding:0 0 24px}.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding:65px 0 60px}.intro h1{font-size:clamp(48px,6.2vw,78px);line-height:1.25;letter-spacing:-.04em;margin:0;font-weight:800}.intro-copy>p:first-child{font-size:26px;line-height:1.65;font-weight:600;margin:0 0 16px}.intro-copy>p:nth-child(2){color:var(--secondary);margin:0 0 20px;max-width:29em}.facts{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:14px;margin-bottom:26px;color:var(--secondary)}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:13px 23px;min-height:52px;border:1px solid transparent;border-radius:8px;background:var(--accent);color:white;font-weight:700;text-decoration:none;line-height:1.6;transition:background .16s,transform .16s}.button:hover{background:var(--accent-hover)}.button:active{transform:translateY(1px)}.button.secondary{background:var(--paper);border-color:var(--line);color:var(--ink)}.button.secondary:hover{background:var(--soft)}.invitation{padding:25px 30px;background:var(--soft);border-radius:var(--radius);margin-bottom:60px}.invitation strong{font-size:20px}.invitation p{margin:4px 0 0;color:var(--secondary)}.survey{max-width:840px;margin:auto;scroll-margin-top:24px}.survey-heading{margin-bottom:30px}.survey-heading h2{font-size:30px;line-height:1.5;letter-spacing:-.025em;margin:0 0 6px}.survey-heading p{margin:0;color:var(--secondary);font-size:15px}#form-app{background:var(--paper);padding:34px 38px;border-radius:var(--radius)}.steps ol{list-style:none;display:flex;justify-content:space-between;gap:12px;margin:0 0 22px;padding:0}.steps li{font-size:16px;color:var(--secondary)}.steps li[aria-current]{color:var(--accent);font-weight:800}.steps li.done::before{content:'✓ ';color:var(--accent)}.progress-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;color:var(--secondary)}.progress{height:5px;border-radius:10px;background:var(--soft);margin:10px 0 36px;overflow:hidden}.progress span{display:block;background:var(--accent);height:100%;width:25%;transition:width .4s var(--ease)}.panel-title{font-size:26px;line-height:1.5;margin:0 0 4px;letter-spacing:-.02em}.panel-intro{margin:0 0 30px;color:var(--secondary);font-size:16px}.question{padding:0;margin:0 0 34px;border:0;min-width:0}.question legend,.question>label{display:block;width:100%;font-weight:700;font-size:19px;line-height:1.65;padding:0;margin-bottom:6px}.tag{display:inline-block;vertical-align:middle;font-size:12px;font-weight:500;border-radius:4px;padding:1px 7px;background:var(--soft);color:var(--accent);margin-left:8px;white-space:nowrap}.tag.optional{background:var(--bg);color:var(--secondary)}.hint{font-size:14px;color:var(--secondary);margin:0 0 12px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:9px;padding:12px 14px;min-height:52px;cursor:pointer;font-size:16px;line-height:1.6;transition:background .15s,border-color .15s}.choice:hover{background:var(--bg);border-color:var(--accent)}.choice:has(input:checked){background:var(--soft);border-color:var(--accent)}.choice input{accent-color:var(--accent);width:19px;height:19px;flex-shrink:0;margin:3px 0 0}.choice:has(input:disabled){opacity:.55;cursor:default}.choice:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}.other-label{display:block;margin-top:12px;font-size:14px;color:var(--secondary)}.text-input,textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px 14px;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.65}textarea{display:block;resize:vertical;min-height:120px}.text-input::placeholder,textarea::placeholder{color:#64746f;opacity:1}.other-label .text-input{margin-top:5px}.counter{font-size:13px;color:var(--secondary);margin:6px 0 0;text-align:right}.question-error{font-size:14px;color:var(--error);margin:8px 0 0}.question.invalid legend,.question.invalid>label{color:var(--error)}.question.invalid .choices,.question.invalid>textarea{outline:2px solid var(--error);outline-offset:5px;border-radius:9px}.suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.suggestion{font-size:14px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);text-align:left}.suggestion:hover{border-color:var(--accent);background:var(--soft)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:36px}.form-actions #back{margin-right:auto}.privacy{font-size:13px;color:var(--secondary);margin:24px 0 12px;line-height:1.8}.text-button{background:transparent;border:0;color:var(--accent);font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:6px 0;min-height:40px}.clear-confirm{background:var(--bg);padding:16px;border-radius:9px;font-size:14px;margin-top:8px}.clear-confirm p{margin-top:0}.clear-confirm .text-button{margin-left:16px}.clear-confirm .button{min-height:42px;font-size:14px;padding:8px 14px}.honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.notice{padding:16px;border-radius:9px;background:var(--soft);font-size:16px;margin:22px 0}.notice.error{background:var(--error-bg);color:var(--error)}.success{padding:56px 38px;background:var(--paper);border-radius:var(--radius);text-align:center}.success h2{font-size:30px;margin:18px 0 12px}.success p{max-width:34em;margin:14px auto}.success .button{margin-top:18px}.success-mark{display:inline-grid;place-items:center;background:var(--soft);color:var(--accent);border-radius:50%;font-size:32px;width:66px;height:66px}.receipt{font-size:13px;color:var(--secondary);overflow-wrap:anywhere}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:70px;padding:0 0 18px}footer p{font-size:14px;color:var(--secondary)}.panel:not([hidden]){animation:arrive .35s var(--ease)}@keyframes arrive{from{opacity:.7;transform:translateY(7px)}to{opacity:1;transform:none}}@media(max-width:1160px){main{padding-left:32px;padding-right:32px}.intro{gap:40px}.intro h1{font-size:64px}}@media(max-width:800px){.intro{gap:28px;padding:44px 0}.intro h1{font-size:52px}.intro-copy>p:first-child{font-size:23px}.brand span{display:none}.invitation{margin-bottom:42px}#form-app{padding:28px}.choices{gap:8px}.choice{padding:11px 12px}.survey-heading h2{font-size:27px}footer{margin-top:48px}}@media(max-width:600px){body{font-size:16px}.site-header{padding:20px}.site-header>a:last-child{font-size:13px}.brand{font-size:23px}main{padding:0 20px 16px}.intro{display:block;padding:24px 0 32px}.intro h1{font-size:54px;line-height:1.2;margin-bottom:26px}.intro-copy>p:first-child{font-size:22px}.intro-copy>p:nth-child(2){font-size:16px}.facts{font-size:13px;gap:5px 16px;margin-bottom:20px}.invitation{padding:22px;margin-bottom:38px}.invitation strong{font-size:18px}.invitation p{font-size:15px}.survey-heading h2{font-size:24px}.survey-heading{margin-bottom:22px}#form-app{padding:23px 18px;margin-left:-6px;margin-right:-6px}.steps ol{gap:8px}.steps li{font-size:14px}.progress-meta{font-size:12px;gap:8px}.progress-meta #draft-status{max-width:62%;text-align:right}.panel-title{font-size:23px}.panel-intro{font-size:15px}.question legend,.question>label{font-size:18px}.choices{grid-template-columns:1fr}.question{margin-bottom:30px}.choice{padding:12px;font-size:16px}.form-actions{flex-wrap:wrap;gap:10px}.form-actions .button{padding:12px 16px;font-size:16px}.form-actions #next,.form-actions #submit{flex:1}.privacy{font-size:13px}.success{padding:38px 22px}.success h2{font-size:26px}footer{display:block}footer p{margin-top:8px}.suggestion{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
