:root{--pink:#a12780;--pink-dark:#75205f;--ink:#372b35;--muted:#766975;--line:#e9e1e7;--wash:#fbf7fa;--rose:#f6eaf2;font-size:16px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--wash);font-family:Arial,"PingFang HK","Microsoft JhengHei",sans-serif;color:var(--ink);line-height:1.6}button,input,select{font:inherit}a{color:var(--pink);text-underline-offset:4px}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bc78af;outline-offset:4px}a,button{touch-action:manipulation}.skip{position:absolute;top:-80px;background:#fff;padding:15px;z-index:5}.skip:focus{top:0}.site-header{background:white;border-bottom:1px solid var(--line)}.header-inner{max-width:1200px;margin:auto;min-height:98px;display:flex;align-items:center;justify-content:space-between;padding:16px 32px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--pink);font-size:1.6rem;letter-spacing:3px;font-weight:bold}.brand-mark{font-size:3.3rem;font-weight:normal;line-height:1}.brand small{display:block;font-size:.7rem;letter-spacing:2px;color:var(--muted);margin-top:2px}.header-inner nav{display:flex;align-items:center;gap:32px}.header-inner nav a{font-size:.9rem;text-decoration:none;color:var(--muted)}.header-inner nav .nav-active{color:var(--pink);font-weight:700}.text-size{border:1px solid var(--line);background:white;border-radius:50%;width:44px;height:44px;color:var(--ink)}.intro{max-width:1136px;margin:40px auto 30px}.eyebrow{color:var(--pink);letter-spacing:2px;font-size:.8rem;font-weight:700}.intro h1{font-size:2.6rem;letter-spacing:1px;line-height:1.35;margin:12px 0}.intro h1 em{font-style:normal;color:var(--pink)}.intro p{color:var(--muted);margin:0}.workspace{max-width:1136px;margin:auto;display:grid;grid-template-columns:310px minmax(0,1fr);align-items:start;gap:36px}.guide{padding:30px 24px 20px 0}.small-label{font-size:.8rem;letter-spacing:2px;color:var(--muted)}.guide h2{font-size:1.75rem;line-height:1.55;margin:10px 0 12px;letter-spacing:1px}.guide-top>p{font-size:.9rem;color:var(--muted)}.step-list{list-style:none;margin:32px 0;padding:0;display:grid;gap:26px}.step-list li{display:flex;gap:16px;color:var(--muted)}.step-list li>span{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;background:#efe9ee;border-radius:50%;font-size:.8rem;font-weight:bold}.step-list strong{display:block;font-size:.95rem;font-weight:500}.step-list small{font-size:.8rem}.step-list .active{color:var(--pink)}.step-list .active>span{color:white;background:var(--pink)}.step-list .active strong{font-weight:bold}.step-list .done>span{color:var(--pink);background:#ead5e4}.privacy{display:flex;gap:12px;border-top:1px solid var(--line);padding-top:24px;font-size:.8rem;color:var(--muted)}.privacy>span{font-size:1.5rem;color:var(--pink)}.privacy strong{font-size:.85rem;color:var(--ink);font-weight:500}.privacy p{margin:6px 0}.form-panel{border:1px solid #eadfe7;border-radius:18px;background:white;box-shadow:0 10px 38px #58223e06;overflow:hidden}.panel-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;padding:22px 32px 16px;font-size:.8rem;color:var(--muted)}.prototype{font-size:.75rem;border:1px solid var(--line);padding:3px 9px;border-radius:20px}.progress-track{height:3px;background:#f5eef3;margin:0 32px}.progress-track span{display:block;background:var(--pink);width:33.33%;height:3px;transition:width .2s}#app{padding:28px 32px 30px}#app h2{font-size:1.6rem;margin:0 0 6px;letter-spacing:.5px;line-height:1.5}#app .lead{color:var(--muted);font-size:.9rem;margin:0 0 24px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.field.full{grid-column:1/-1}.field label,.field legend{display:block;font-size:.9rem;font-weight:bold;margin-bottom:8px}.hint{display:block;font-size:.8rem;color:var(--muted);margin-top:7px}.field input[type=number],.field select{display:block;width:100%;min-height:49px;border:1px solid #d9cfd7;border-radius:8px;padding:10px 13px;background:#fff;color:var(--ink);font-size:.95rem}.field input::placeholder{color:#93838d}.input-unit{position:relative}.input-unit>span{position:absolute;right:15px;top:12px;color:var(--muted);pointer-events:none}.input-unit input{padding-right:45px!important}.field fieldset{padding:0;border:0;margin:0}.choice-row{display:flex;gap:10px;flex-wrap:wrap}.choice{position:relative;display:flex!important;gap:8px;align-items:center;min-height:45px;padding:8px 16px;border:1px solid #d9cfd7;border-radius:8px;font-size:.9rem!important;font-weight:normal!important;margin:0!important;cursor:pointer}.choice:has(input:checked){border-color:var(--pink);background:#fcf5fa;color:var(--pink)}input[type=radio],input[type=checkbox]{accent-color:var(--pink);width:16px;height:16px;flex-shrink:0}.soft-note{background:#faf6f9;padding:13px 16px;border-radius:8px;color:var(--muted);font-size:.8rem;margin:24px 0 0}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:22px;margin-top:26px}.form-actions small{font-size:.8rem;color:var(--muted)}.primary{border:0;background:var(--pink);color:#fff;min-height:48px;border-radius:8px;padding:12px 24px;font-weight:bold;font-size:.95rem;display:inline-flex;align-items:center;gap:20px;justify-content:center;text-decoration:none}.primary:hover{background:var(--pink-dark)}.secondary{border:1px solid #d9cfd7;background:#fff;color:var(--ink);min-height:46px;border-radius:8px;padding:10px 18px;font-size:.9rem;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:10px}.text-button{border:0;padding:8px 0;background:none;color:var(--pink);text-decoration:underline;text-underline-offset:5px}.error{color:#a32836;font-size:.9rem;margin:15px 0 0}.together{max-width:1136px;margin:34px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;display:flex;align-items:center;gap:20px}.together-icon{font-size:2.8rem;line-height:1;color:var(--pink)}.together h2{font-size:1.15rem;margin:0 0 4px}.together p{font-size:.85rem;color:var(--muted);margin:0}.together>a{margin-left:auto;white-space:nowrap;font-size:.85rem}.sources{max-width:1136px;margin:48px auto;display:grid;grid-template-columns:1fr 1fr;gap:70px}.sources h2{font-size:1.35rem;margin:8px 0}.sources p{color:var(--muted);font-size:.85rem}.sources small{color:var(--muted);font-size:.75rem}.source-links a{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:.85rem}.source-links span{color:var(--pink)}footer{border-top:1px solid var(--line);background:white;padding:20px 32px;display:flex;justify-content:space-between;gap:15px;font-size:.75rem;color:var(--muted)}.result-summary{background:var(--rose);border-radius:12px;padding:22px;margin:20px 0}.result-summary h3{font-size:1.3rem;margin:7px 0}.result-summary p{margin:8px 0 0;color:#6e4864;font-size:.85rem}.badge{display:inline-block;font-size:.75rem;border-radius:20px;padding:4px 10px;background:#f4e9f1;color:var(--pink)}.result-card{padding:22px 0;border-bottom:1px solid var(--line)}.result-card:first-child{padding-top:0}.card-heading{display:flex;justify-content:space-between;gap:18px;align-items:start}.result-card h3{font-size:1.05rem;line-height:1.5;margin:7px 0}.amount{white-space:nowrap;text-align:right;color:var(--pink);font-size:1.55rem;font-weight:bold;line-height:1.4}.amount small{display:block;font-size:.75rem;font-weight:normal;color:var(--muted)}.result-card p{font-size:.85rem;color:var(--muted);margin:8px 0}.result-card ul{font-size:.85rem;padding-left:20px;margin:10px 0 16px}.result-card li{margin:5px 0}.card-links{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:.85rem}.result-card details{margin:14px 0;font-size:.85rem}.result-card summary{cursor:pointer;color:var(--pink)}.result-card details p{padding:8px 12px;background:var(--wash)}.section-title{font-size:1.2rem;margin:28px 0 5px}.centres{display:grid;gap:12px;margin:16px 0}.centre{border:1px solid var(--line);padding:18px;border-radius:10px}.centre h4{margin:5px 0;font-size:1rem}.centre p{font-size:.85rem;color:var(--muted);margin:5px 0 12px}.centre-actions{display:flex;gap:18px;font-size:.85rem}.urgent{background:#fff4ed;border:1px solid #eed3bf;border-radius:10px;padding:22px}.urgent h3{margin:0 0 8px;color:#884724;font-size:1.2rem}.urgent p{font-size:.9rem}.check-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-options .choice{padding:10px 12px}.more-note{font-size:.8rem;color:var(--muted)}.stale{padding:14px;background:#fff1de;font-size:.85rem;margin:12px 0;border-radius:8px}.hidden{display:none!important}.result-tools{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.source-inline{font-size:.8rem}.source-inline a{color:var(--muted)}.large-type{font-size:20px}.large-type .workspace{grid-template-columns:300px minmax(0,1fr)}.large-type .fields{grid-template-columns:1fr}.large-type .together{flex-wrap:wrap}@media(min-width:1400px){.intro{margin-top:50px}.workspace{gap:50px;grid-template-columns:315px minmax(0,1fr)}}@media(max-width:1199px){.intro,.workspace,.together,.sources{margin-left:32px;margin-right:32px}}@media(max-width:850px){.workspace,.large-type .workspace{grid-template-columns:1fr;gap:18px}.guide{padding:0}.guide-top,.privacy{display:none}.step-list{display:flex;margin:0;justify-content:space-between;gap:12px}.step-list li{gap:8px;align-items:center}.step-list small{display:none}.step-list strong{font-size:.8rem}.step-list li>span{width:29px;height:29px;font-size:.75rem}.together{flex-wrap:wrap}.together>a{margin-left:58px}.sources{gap:30px}.intro h1{font-size:2.15rem}}@media(max-width:560px){.header-inner{min-height:80px;padding:14px 20px}.brand{font-size:1.25rem;gap:7px;letter-spacing:2px}.brand-mark{font-size:2.7rem}.brand small{font-size:.65rem;letter-spacing:1px}.header-inner nav{gap:15px}.header-inner nav a{display:none}.intro,.workspace,.together,.sources{margin-left:20px;margin-right:20px}.intro{margin-top:28px;margin-bottom:24px}.intro h1{font-size:1.9rem;line-height:1.5}.intro h1 em{display:block}.intro p{font-size:.9rem}.fields{grid-template-columns:1fr;gap:20px}.panel-top{padding:18px 20px 14px}.progress-track{margin:0 20px}#app{padding:23px 20px}#app h2{font-size:1.35rem}.step-list{gap:5px}.step-list strong{font-size:.8rem}.step-list li{gap:5px}.step-list li>span{width:24px;height:24px}.form-actions small{display:none}.form-actions{justify-content:flex-end}.form-actions .primary{flex:1}.together{gap:14px}.together-icon{display:none}.together>a{margin:0}.sources{grid-template-columns:1fr;gap:15px;margin-top:35px}footer{padding:20px;flex-direction:column}.card-heading{flex-direction:column;gap:8px}.amount{text-align:left}.check-options{grid-template-columns:1fr}.choice-row{gap:8px}.choice{padding:8px 12px}.result-tools>*{flex:1}.large-type .step-list{flex-wrap:wrap}.large-type .header-inner{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.site-header,.guide,.intro,.together,.sources,footer,.result-tools,.text-button{display:none}.workspace{display:block;margin:0}.form-panel{border:0;box-shadow:none}.result-card,.centre{break-inside:avoid}}

/* Keep instructions and repeated controls readable on small screens. */
.field input[type=number],.field select{font-size:1rem}.hint,.soft-note,.privacy,.step-list small,.small-label,.more-note,.source-inline,.source-links a,.sources p,.together p,.together>a,.result-card p,.result-card ul,.card-links,.result-card details,.centre p,.centre-actions{font-size:.875rem}.local-services{margin:22px 0;font-size:.9rem}.local-services summary,.excluded>summary{cursor:pointer;color:var(--pink);padding:14px 0}.local-services .centre{margin:12px 0}.source-links a:hover{color:var(--pink)}
