
:root{font-family:system-ui,-apple-system,'Noto Sans TC',sans-serif;color:#44364a;background:#fff6fa}
*{box-sizing:border-box}main{max-width:690px;margin:24px auto;padding:14px}.card{background:#fff;padding:24px;border:1px solid #ebd2e4;border-radius:22px;box-shadow:0 12px 45px #d59aba22}h1{font-size:clamp(23px,5vw,32px);margin:4px 0 8px}.intro{color:#806e80}label{display:block;font-weight:700;margin:18px 0 9px}input{display:block;width:100%;padding:13px;font:inherit;border-radius:11px;border:1px solid #d3a8c9;background:#fff;outline-color:#dc58a3}button{font:inherit;font-weight:700;border-radius:12px;border:0;padding:13px 18px;cursor:pointer;background:#df5ca6;color:white;margin-top:14px;min-height:44px}button:disabled{background:#d5c5d0;cursor:not-allowed}.secondary{background:#fff1f8;color:#963f73;border:1px solid #e8b5d4}.steps{padding-left:23px;line-height:1.8}ol li{margin:6px 0}.note{font-size:14px;color:#795a72;background:#fff0f8;padding:12px;border-radius:12px;margin-top:18px}.status{white-space:pre-wrap;line-height:1.7;margin-top:14px;font-weight:600}.good{color:#247b4a}.bad{color:#b53246}.bar{height:8px;background:#f5dbe9;border-radius:20px;overflow:hidden;margin:15px 0}.fill{height:100%;background:linear-gradient(90deg,#ef73af,#b786de);width:0%;transition:width .2s}a{color:#a42f83}small{font-weight:400;color:#8a7987}#preview{white-space:pre-wrap;font-size:14px;color:#755772;max-height:160px;overflow:auto}

.brand-mark{color:#a95490;font-weight:700;letter-spacing:2px}
.note[hidden]{display:none}
