:root{color-scheme:light;--ink:#183a35;--muted:#64766f;--line:#d9e4db;--green:#236a4c}*{box-sizing:border-box}body{margin:0;background:#f5f6ef;color:var(--ink);font:15px/1.7 system-ui,"Microsoft YaHei",sans-serif}main{max-width:960px;padding:32px 28px 40px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{font-size:22px;font-weight:800;text-decoration:none;color:var(--ink)}.brand span{font-size:14px;font-weight:500;margin-left:12px}.badge{font-size:12px;border:1px solid var(--line);padding:5px 12px;border-radius:30px}.intro{padding:58px 0 36px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--green);font-weight:700}h1{font-size:52px;line-height:1.18;letter-spacing:-2px;margin:15px 0 20px}.intro>p:last-child{color:var(--muted)}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 34px;box-shadow:0 15px 50px #203b2d05}.heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}h2{font-size:18px;margin:0}.step{font-size:12px;color:var(--green);background:#edf4eb;padding:3px 9px;border-radius:6px}.separated{border-top:1px solid var(--line);padding-top:24px;margin-top:25px}label{font-size:13px;font-weight:600;display:block;margin-bottom:7px}input,select,textarea,button{font:inherit}input[type=password],input[readonly],textarea,select{border:1px solid #cedbd1;border-radius:9px;background:#fcfdfb;padding:11px 13px;color:var(--ink);width:100%}input:focus,textarea:focus,select:focus{outline:2px solid #70a789;outline-offset:2px}textarea{resize:vertical;min-height:125px;font-size:13px;line-height:1.7}.row{display:flex;justify-content:space-between;align-items:center;margin:20px 0 10px}.row label{margin:0}.row select{width:auto;font-size:13px;padding:7px 10px}.hint{font-size:12px;color:var(--muted);line-height:1.7;margin:9px 0 0}.choices{display:grid;grid-template-columns:1fr 1fr;gap:24px}fieldset{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}legend{font-size:13px;margin-bottom:10px;padding:0}.option{border:1px solid var(--line);border-radius:10px;padding:13px 10px;display:flex;gap:8px;margin:0;cursor:pointer}.option:has(input:checked){background:#f0f7ee;border-color:#6b9878}.option input{accent-color:var(--green);margin:5px 0 0}.option span{font-size:13px}.option small,.toggle small{display:block;font-weight:400;color:var(--muted);font-size:11px;margin-top:3px}.toggle{display:flex;gap:12px;margin:24px 0 14px;background:#f7f8f3;border-radius:10px;padding:15px}.toggle input{accent-color:var(--green);width:17px;height:17px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}button{cursor:pointer;background:var(--green);color:white;border:1px solid var(--green);border-radius:9px;padding:11px 20px;font-size:13px;font-weight:600}button span{margin-left:28px}button.secondary{background:white;color:var(--ink);border-color:var(--line)}button:hover{filter:brightness(.95)}button:disabled{opacity:.55;cursor:wait}.textbutton{background:transparent;border-color:transparent;color:#9c4d42}#status{font-size:13px;white-space:pre-wrap}#status.error{color:#a63528}#result{padding-top:20px;border-top:1px solid var(--line)}.linkrow{display:flex;gap:8px}.linkrow input{min-width:0;font-family:monospace;font-size:12px}pre{max-height:340px;overflow:auto;font-size:11px;line-height:1.6;background:#142e29;color:#dbece0;padding:20px;border-radius:10px}details{margin-top:20px;font-size:13px}footer{font-size:11px;color:var(--muted);padding-top:22px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}footer a{color:var(--muted)}footer p{width:100%;margin:0}.sr{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}[hidden]{display:none!important}@media(min-width:900px){main{display:grid;grid-template-columns:280px 1fr;gap:0 36px;max-width:1120px}header,footer{grid-column:1/-1}header{margin-bottom:44px}.intro{padding-top:32px}h1{font-size:44px}.panel{padding:27px}.choices{grid-template-columns:1fr;gap:18px}}@media(max-width:520px){main{padding:22px 16px}.intro{padding-top:32px}h1{font-size:40px}.panel{padding:22px 18px}.choices{grid-template-columns:1fr;gap:18px}.badge{font-size:10px;padding:4px 8px}.brand{font-size:20px}.brand span{margin-left:3px;font-size:12px}.actions>button{flex:1}.linkrow{flex-direction:column}}

.qrbox{margin-top:20px;padding:18px;text-align:center;border:1px solid var(--line);border-radius:12px;background:#fcfdfb}.qrbox img{display:block;margin:0 auto;max-width:100%;height:auto;background:white}.qrbox button{margin-top:12px}
