:root{font-family:Inter,"Noto Sans TC",system-ui,sans-serif;color:#173d35;background:#f5f6ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header,main{max-width:1120px;margin:auto}header{padding:28px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9e0d5}.brand{font-size:23px;font-weight:750;color:inherit;text-decoration:none}.badge{font-size:12px;border:1px solid #bccbbf;padding:8px 12px;border-radius:30px}main{padding:0 24px}.intro{padding:64px 0 42px}.eyebrow,.step{font-size:11px;font-weight:700;letter-spacing:2px;color:#597467}h1{font-size:clamp(44px,7vw,76px);line-height:1.18;letter-spacing:-3px;margin:20px 0}p{color:#61746a;font-size:14px;line-height:1.9}h2{font-size:22px;letter-spacing:-.5px;margin:14px 0}.identity{background:#e8eddf;border:1px solid #d7dfcc;border-radius:16px;padding:28px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.identity>div{flex:1;min-width:0}.identity>.note{width:100%;margin:0}code{display:block;overflow-wrap:anywhere;font-size:12px;line-height:1.8}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.card{background:#fffef9;border:1px solid #dce2d5;border-radius:16px;padding:30px}.file{display:block;border:1px dashed #a9bbaa;border-radius:8px;background:#f7f9f2;padding:18px;margin:18px 0;font-size:13px}input[type=file]{display:block;width:100%;margin-top:12px;font-size:12px;color:#61746a}label{font-size:12px}input[type=text]{width:100%;border:1px solid #cbd6ca;border-radius:6px;padding:12px;margin:8px 0 20px;background:#fffef9}button{border:0;border-radius:7px;background:#225946;color:white;padding:13px 20px;font:inherit;font-size:13px;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:hover:enabled{background:#173f31}.secondary{background:#e7eddf;color:#234d3b;margin:8px 6px 0 0}.secondary:hover:enabled{background:#d7e2ce}.note{font-size:12px}.result{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin-top:16px}.error{color:#a43e32}.success{color:#226346}.trust{margin:38px 0;padding:4px 0;max-width:820px}.trust h2{font-size:17px}footer{padding:25px 0;border-top:1px solid #d9e0d5;font-size:11px;letter-spacing:1px;display:flex;justify-content:space-between;color:#738377}button:focus-visible,input:focus-visible{outline:3px solid #b19b47;outline-offset:3px}@media(max-width:700px){.grid{grid-template-columns:1fr}.intro{padding-top:40px}.identity,.card{padding:23px}.identity{align-items:flex-start}.badge{font-size:10px}h1{letter-spacing:-2px}}
input[type=password],select{width:100%;border:1px solid #cbd6ca;border-radius:6px;padding:12px;margin:8px 0 20px;background:#fffef9;font:inherit;font-size:13px;color:#173d35}select{overflow:hidden;text-overflow:ellipsis}.check{display:flex;align-items:flex-start;gap:9px;line-height:1.8;margin:8px 0 18px}.check input{margin-top:5px;flex-shrink:0}.toolbar{margin:20px 0 30px}.danger{background:#883e30}.danger:hover:enabled{background:#6b3025}.contacts{list-style:none;padding:0}.contacts li{border-top:1px solid #dce2d5;padding:14px 0;font-size:13px;overflow-wrap:anywhere}.contacts code{font-size:11px}.contacts button{padding:7px 12px;margin-top:8px}.warning{color:#875414}select:focus-visible{outline:3px solid #b19b47;outline-offset:3px}[hidden]{display:none!important}

header nav{display:flex;align-items:center;gap:16px}.report-link{font-size:13px;color:#225946;text-underline-offset:4px}.feedback-panel{max-width:820px;margin:30px 0;border:1px solid #dce2d5;border-radius:12px;background:#fffef9;padding:24px;scroll-margin-top:20px}.feedback-panel summary{cursor:pointer;font-size:18px;font-weight:650}.feedback-panel textarea{display:block;box-sizing:border-box;width:100%;resize:vertical;min-height:130px;max-height:60vh;border:1px solid #cbd6ca;border-radius:6px;margin-top:10px;padding:12px;font:inherit;font-size:14px;background:#fffef9;color:#173d35}.feedback-panel textarea:focus-visible{outline:3px solid #b19b47;outline-offset:3px}.feedback-panel summary:focus-visible,.report-link:focus-visible{outline:3px solid #b19b47;outline-offset:4px}@media(max-width:500px){header nav{gap:8px}header .badge{display:none}.feedback-panel{padding:20px}}
