:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#192d34;background:#f3f6f6;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}main{max-width:1180px;margin:auto;padding:52px 28px 24px}
header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:36px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:3px;color:#28776f}h1{font-size:36px;letter-spacing:-1px;margin:12px 0}
p{color:#63747b;line-height:1.7;margin:0}h2{font-size:19px;margin:0}h3{font-size:18px;margin:0;overflow-wrap:anywhere}
.workspace{display:grid;grid-template-columns:370px 1fr;gap:28px;align-items:start}.panel,.link-card{background:#fff;border:1px solid #e0e8e7;border-radius:16px;padding:24px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.pill{font-size:11px;background:#e7f4ef;color:#22745c;padding:5px 9px;border-radius:20px;white-space:nowrap}
label{display:block;font-size:13px;font-weight:600;margin:20px 0 8px}label span{font-size:11px;font-weight:400;color:#849399}
input:not([type=checkbox]){display:block;width:100%;margin-top:8px;padding:12px 13px;font:inherit;font-weight:400;border:1px solid #d9e3e2;border-radius:8px;background:#fbfcfc;color:#192d34}
input:focus{outline:2px solid #9cd6c5;outline-offset:1px}input:disabled{background:#edf0ef;color:#758481}small{display:block;color:#82908f;font-size:11px;line-height:1.7}
.check{display:flex;gap:8px;align-items:center;font-weight:400}input[type=checkbox]{accent-color:#227663;width:16px;height:16px}
button{background:#226f60;color:white;border:1px solid transparent;border-radius:8px;padding:11px 15px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}.secondary{background:white;border-color:#d8e3e1;color:#42615a}.actions{display:flex;gap:10px;margin-top:24px}
.note{border-top:1px solid #edf1ef;margin-top:24px;padding-top:18px;font-size:12px;line-height:1.8;color:#718480}
.links-section>.section-heading{margin:5px 0 20px}.count{font-size:12px;color:#7b8b85;padding-left:6px}.link-card{margin-bottom:16px}
.link-card .section-heading{margin-bottom:18px}.entry-label,.target-label{font-size:11px;color:#87928e;margin-bottom:7px}.entry-url{font-size:14px;color:#227663;overflow-wrap:anywhere;text-decoration:none}
.entry-url:hover{text-decoration:underline}.target-label{margin-top:16px}.target-url{font-size:12px;color:#62736d;overflow-wrap:anywhere;line-height:1.7}.meta{color:#84938d;font-size:11px;margin:18px 0}
.card-actions{display:flex;gap:8px;flex-wrap:wrap}.card-actions button{font-size:12px;padding:8px 12px}.off{background:#f4eeee;color:#966d65}
.empty{border:1px dashed #ccdcd5;border-radius:16px;padding:60px 30px;text-align:center;color:#7c9186;line-height:1.8;font-size:14px}
footer{font-size:11px;color:#91a199;margin-top:32px;line-height:1.8}#message{background:#e6f3ed;color:#286854;padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:20px;overflow-wrap:anywhere}#message.error{background:#faecea;color:#9e5146}
.header-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
#auth{margin-bottom:24px;max-width:420px}#auth h2{margin-bottom:10px}#auth>p{margin-bottom:8px}
#auth-form{display:grid;gap:4px}#auth-form button{margin-top:18px;width:100%}[hidden]{display:none!important}
@media(max-width:800px){main{padding:30px 18px}.workspace{grid-template-columns:1fr}h1{font-size:28px}header{align-items:start}.header-actions{flex-wrap:wrap}}
dialog{width:min(460px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid #dce7e4;border-radius:20px;padding:24px;color:#192d34;box-shadow:0 24px 80px #142b3433}
dialog::backdrop{background:#152a3980}dialog .section-heading{margin-bottom:12px}#qr-name{font-weight:600;overflow-wrap:anywhere}
#qr-image{display:block;width:100%;max-width:340px;height:auto;margin:12px auto}.qr-caption{font-size:12px;margin-top:8px}.qr-entry{font-size:12px;color:#63747b;overflow-wrap:anywhere;margin:16px 0}
.download-button{display:block;background:#226f60;color:white;border-radius:8px;padding:12px;text-align:center;text-decoration:none;font-size:14px;font-weight:600}
.circular-reader{margin-top:28px}.circular-reader>p,.circular-reader small{font-size:12px}
#decode-form{max-width:600px}#decode-button{margin-top:16px}#decode-status{margin-top:16px}
#decode-result{margin-top:20px;border-top:1px solid #edf1ef;padding-top:20px}
#decoded-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;background:#f3f6f6;padding:16px;border-radius:8px}
#decoded-note{font-size:12px}#decoded-open{max-width:220px;margin-top:12px}
