:root{font-family:system-ui,-apple-system,"Noto Sans TC","Microsoft JhengHei",sans-serif;color:#20372c;background:#f3f7f3}
*{box-sizing:border-box}body{margin:0;min-height:100vh;padding:30px 16px;display:flex;align-items:flex-start;justify-content:center}
.panel{width:min(620px,100%);background:#fff;border:1px solid #dbe8dd;box-shadow:0 12px 38px rgba(36,73,45,.055);border-radius:24px;padding:40px}
.eyebrow{font-size:12px;font-weight:650;letter-spacing:.19em;color:#65876b}h1{font-size:28px;margin:12px 0 10px;line-height:1.4}h2{font-size:17px;margin:0 0 14px}p{font-size:15px;line-height:1.85;color:#52645a}p strong{color:#294a34}
.step{margin-top:24px;border-top:1px solid #e5ebe7;padding-top:24px}
button{width:100%;background:#3c7b57;color:#fff;font:inherit;font-weight:650;padding:14px 20px;border:0;border-radius:11px;cursor:pointer}button:hover:not(:disabled){background:#356a4d}button:disabled{background:#a0b5a4;cursor:default}
.status{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:11px;margin-top:16px;background:#f0f4ef;padding:15px 17px;font-size:14px;line-height:1.7;color:#55685c}.status.good{background:#e8f5eb;color:#255b3a}.status.bad{background:#fbefeb;color:#984535}
#results{padding:0;margin:16px 0 0;list-style:none}#results li{padding:9px 0;font-size:14px;line-height:1.6;border-bottom:1px solid #eef1ee}#results li:last-child{border-bottom:0}.pass{color:#296e45}.fail{color:#a33232}.wait{color:#55685c}
.preview{margin-top:16px;background:#f6f8f6;padding:15px;border-radius:11px;font-size:13px}.preview img{display:block;width:64px;height:64px;image-rendering:pixelated;margin-top:10px;border:1px solid #d9e3dc}
.note{font-size:13px;color:#718077;margin-top:26px}.foot{border-top:1px solid #e5ebe7;padding-top:20px;margin:22px 0 0;color:#879088;font-size:12px}
@media(max-width:600px){.panel{padding:25px 20px;border-radius:18px}h1{font-size:25px}body{padding:14px}}
