:root{ --bg:#f6f7fb; --card:#fff; --ink:#1d2340; --muted:#6b7394; --line:#e3e6f0; --accent:#2c7d4f; --danger:#c94f4f; }
*{box-sizing:border-box;}
[hidden]{display:none !important;}
body{margin:0; background:var(--bg); color:var(--ink); font:15px/1.6 "Microsoft YaHei","PingFang SC",system-ui,sans-serif;}
main{max-width:860px; margin:0 auto; padding:32px 20px 48px;}
h1{font-size:24px; margin:0 0 20px;}
h1 small{font-size:13px; color:var(--muted); font-weight:normal; margin-left:8px;}
h2{font-size:17px; margin:0 0 8px;}
section{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px 22px; margin-bottom:16px;}
.pair{display:grid; grid-template-columns:minmax(200px, 1fr) 2fr; gap:28px;}
.label{font-size:13px; color:var(--muted);}
.code{font-size:48px; font-weight:800; letter-spacing:.15em; font-variant-numeric:tabular-nums; margin:4px 0 8px;}
ul{margin:6px 0; padding-left:18px;}
#urls li{font-size:18px; font-weight:600; font-family:Consolas, monospace;}
.muted{color:var(--muted); font-size:13px;}
textarea{width:100%; font:14px/1.5 Consolas, monospace; padding:10px 12px; border:1px solid var(--line); border-radius:10px; resize:vertical;}
.row{display:flex; align-items:center; gap:14px; margin-top:10px;}
button{font:inherit; border:none; border-radius:10px; padding:8px 18px; background:var(--accent); color:#fff; cursor:pointer;}
button.ghost{background:transparent; color:var(--accent); border:1px solid var(--line); padding:4px 12px;}
button.danger{background:transparent; color:var(--danger); border:1px solid var(--line); padding:2px 12px;}
.err{color:var(--danger); margin-top:8px; min-height:1em;}
table{width:100%; border-collapse:collapse;}
td{padding:8px 4px; border-top:1px solid var(--line);}
tr:first-child td{border-top:none;}
td:last-child{text-align:right;}
.ok{color:var(--accent); font-weight:600;}
.bad{color:var(--danger); font-weight:600;}
.warnbar{background:#fff7e0; border:1px solid #f1d98a; border-radius:12px; padding:10px 16px; margin:0 0 16px; color:#6b4a00; font-size:14px;}
.warnbar a{color:#8a5a00; font-weight:600;}
.notice{color:var(--muted); font-size:12px; line-height:1.7; padding:0 4px;}
@media (max-width:640px){ .pair{grid-template-columns:1fr;} }

.stable{font-family:Consolas, monospace; font-size:20px; font-weight:700; margin:4px 0 6px; word-break:break-all;}
details{margin-top:10px;}
summary{cursor:pointer;}
details .row{margin-top:8px;}

.pcnow{margin:10px 0 4px;}
label input[type=checkbox]{margin-right:4px;}
.consent{display:block; margin-top:12px; line-height:1.6; cursor:pointer;}
.consent input{margin-right:6px; vertical-align:-2px;}
a{color:var(--accent);}
.policy section p{margin:6px 0;}
.policy code{background:var(--line); padding:1px 6px; border-radius:4px;}
button:disabled{opacity:.45; cursor:not-allowed;}
.row.end{justify-content:flex-end;}
.buy{margin-top:8px; font-size:14px;}
.buy.strong{font-size:15px; font-weight:700;}

/* 首次使用三步向导 */
#wizard{border-color:var(--accent); border-width:2px;}
.steps{margin:6px 0 0; padding-left:22px;}
.steps li{margin:10px 0; line-height:1.6;}
.steps li.done{color:var(--muted);}
.steps li.done .wt::before{content:"✓ "; color:var(--accent); font-weight:800;}
.steps .wt{font-weight:600; margin-right:10px;}
.steps li.done .wt{font-weight:normal;}
.steps button{margin-top:4px;}
/* 扫码配对 */
.qr{width:168px; height:168px; margin:6px 0 12px; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff;}
.qr svg{display:block; width:100%; height:100%;}
.qrhint{max-width:220px; margin:-6px 0 10px; line-height:1.5;}
.coderow{display:flex; align-items:center; gap:14px; margin-bottom:10px;}
.coderow .code{margin:0;}
/* 激活码 TVR-XXXX-XXXX-XXXX-XXXX 共 24 个字符，等宽字体整码放得下 */
#lickey{width:30ch; max-width:100%; font:15px/1.4 Consolas, monospace; padding:6px 10px; border:1px solid var(--line); border-radius:8px; letter-spacing:.03em;}
