:root{font-family:"Microsoft YaHei",system-ui,sans-serif;color:#244236;background:#f5f8f6;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}header{max-width:960px;margin:auto;display:flex;justify-content:space-between;padding:28px 24px;color:#416950;font-size:.9rem}main{max-width:960px;margin:auto;padding:34px 24px 90px}.eyebrow{font-size:.75rem;color:#74886f;letter-spacing:.15em;font-weight:700}h1{font-size:clamp(2rem,5vw,3.5rem);margin:12px 0 10px}.lead{color:#657a6b;line-height:1.7;max-width:650px}.panel{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border:1px solid #dce8dd;background:#fff;border-radius:18px;padding:28px;margin-top:36px;box-shadow:0 12px 34px #23492c0a}.upload,button{border-radius:10px;padding:13px 20px;font-size:.94rem;font-weight:600;cursor:pointer}.upload{border:1px solid #bcd1be;color:#275741;background:#edf5ee}.upload input{position:absolute;width:1px;height:1px;opacity:0}button{border:0;background:#245f48;color:white}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){background:#194c38}#filename{color:#5e7567;flex:1;min-width:160px;overflow-wrap:anywhere}#status{width:100%;margin:4px 0 0;font-size:.9rem;color:#637a69}#status.error{color:#a63e3e}#summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.stat{border:1px solid #dce8dd;background:#fff;border-radius:14px;padding:22px}.stat strong{display:block;font-size:2rem}.stat span{color:#6f826f;font-size:.9rem}.note{color:#6a7d6e;line-height:1.7;font-size:.86rem;margin-top:28px}footer{text-align:center;border-top:1px solid #dce8dd;padding:24px;color:#6a7d6e;font-size:.8rem}footer a{text-decoration:underline;text-underline-offset:3px}button:focus-visible,.upload:focus-within,a:focus-visible{outline:3px solid #9ec8a7;outline-offset:2px}@media(max-width:650px){header{padding:20px}main{padding:25px 20px 70px}#summary{grid-template-columns:1fr 1fr 1fr;gap:7px}.stat{padding:12px}.stat strong{font-size:1.5rem}.stat span{font-size:.75rem}}
[hidden]{display:none!important}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:32px 0 16px}.tabs button{background:#e7f0e9;color:#245f48;border:1px solid #c8ddcf}.tabs button.active{background:#245f48;color:#fff}.tab-panel,.auth-panel{border:1px solid #dce8dd;background:#fff;border-radius:18px;padding:28px;margin-top:18px;box-shadow:0 12px 34px #23492c0a}.tab-panel h2{margin:0 0 8px}.tab-panel p{line-height:1.7;color:#5d7465}.tool-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px}.tool-row span{flex:1;min-width:130px;overflow-wrap:anywhere;color:#5e7567}.tool-status{min-height:1.5em;margin:14px 0 0!important}.tool-status.error{color:#a63e3e}.action-link{display:inline-block;background:#245f48;color:#fff;border-radius:10px;padding:12px 18px}.action-link:hover{color:#fff;background:#194c38}.auth-panel{background:#ecf5ef}.auth-panel label{display:block;font-weight:700;margin-bottom:8px}.auth-panel input{width:min(100%,420px);padding:12px;border:1px solid #bfd3c4;border-radius:10px}.auth-panel p{font-size:.85rem;color:#5e7567;line-height:1.7;max-width:760px}code{font-family:ui-monospace,monospace;background:#f0f5f1;padding:1px 4px;border-radius:4px}@media(max-width:650px){.tab-panel,.auth-panel{padding:18px}.tabs button{padding:10px 12px}}
