
:root{color-scheme:light;--ink:#17202a;--muted:#66717d;--line:#d9dee3;--paper:#fff;--wash:#f4f6f7;--green:#16794b;--green-soft:#e9f6ef;--red:#b42318;--red-soft:#fff0ed;--blue:#1565c0;--qq:#1677ff}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--wash);color:var(--ink);letter-spacing:0}body{margin:0;min-height:100vh}.topbar{height:58px;padding:0 max(20px,calc((100vw - 920px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}.brand{font-weight:760;color:var(--ink);text-decoration:none}.service-mark,.state-dot{font-size:12px;font-weight:700;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.shell{width:min(920px,calc(100% - 32px));margin:34px auto 64px}.status-band,.admin-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 0 22px}.status-band.ready .state-dot{color:var(--green);border-color:#9dd6b9;background:var(--green-soft)}.status-band.pending .state-dot{color:#805b10;background:#fff8df;border-color:#ead18a}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:760;text-transform:uppercase}.status-band h1,.admin-head h1,.auth-panel h1{font-size:28px;line-height:1.2;margin:0}.facts{margin:0}.facts div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding:17px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted);font-size:13px}dd{margin:0;font-weight:600;overflow-wrap:anywhere}.actions{display:flex;gap:10px;margin-top:24px}.button{appearance:none;border:1px solid var(--green);background:var(--green);color:#fff;text-decoration:none;padding:10px 14px;min-height:42px;border-radius:6px;font:inherit;font-weight:720;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.button:hover{filter:brightness(.94)}.button.secondary{background:var(--paper);color:var(--ink);border-color:var(--line)}.button.qq{width:100%;background:var(--qq);border-color:var(--qq);margin-top:22px}.auth-panel{width:min(440px,100%);margin:8vh auto 0;padding:26px;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px rgba(23,32,42,.08)}.form-stack{display:grid;gap:16px}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:20px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}label{display:grid;gap:7px;color:#34404b;font-size:13px;font-weight:700}input,textarea{width:100%;border:1px solid #bfc7cf;border-radius:6px;background:#fff;color:var(--ink);font:inherit;padding:10px 11px;outline:none}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,101,192,.12)}.challenge-code{font:800 26px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:0;text-align:center;padding:18px;margin:20px 0;background:#f0f4f7;border:1px dashed #8a98a5;border-radius:6px;user-select:all}.instruction{color:var(--muted);line-height:1.55}.progress{display:flex;align-items:center;gap:10px;min-height:42px;margin:4px 0 14px;color:var(--muted);font-size:13px}.spinner{width:16px;height:16px;border:2px solid #cbd2d8;border-top-color:var(--green);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.settings{display:grid;gap:18px;margin-top:24px}.settings fieldset{border:0;border-bottom:1px solid var(--line);padding:0 0 22px;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings legend{font-size:16px;font-weight:760;margin-bottom:16px}.settings textarea,.settings .field-note{grid-column:1/-1}.field-note{margin:0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.notice,.alert{padding:11px 13px;border-radius:6px;font-size:13px}.notice{background:var(--green-soft);color:var(--green);border:1px solid #b7dfc9}.alert{background:var(--red-soft);color:var(--red);border:1px solid #f2b8b0}@media(max-width:640px){.shell{margin-top:20px}.facts div{grid-template-columns:1fr;gap:5px}.settings fieldset{grid-template-columns:1fr}.auth-panel{margin-top:3vh;padding:20px}.status-band h1,.admin-head h1,.auth-panel h1{font-size:24px}.actions{flex-wrap:wrap}}
.settings select{width:100%;border:1px solid #bfc7cf;border-radius:6px;background:#fff;color:var(--ink);font:inherit;padding:10px 11px;outline:none}.settings select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,101,192,.12)}

.shell:has(.verify-panel){width:min(760px,calc(100% - 32px));margin-top:40px}
.verify-panel{width:100%;margin:0 auto;background:#fff;border:1px solid #d8dee6;border-radius:8px;box-shadow:0 18px 48px rgba(20,28,38,.09);overflow:hidden}
.verify-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px 30px 24px;border-bottom:1px solid #e2e7ec}
.verify-identity{display:flex;align-items:center;gap:16px;min-width:0}
.qq-avatar{width:56px;height:56px;flex:0 0 56px;border-radius:50%;object-fit:cover;background:#edf1f5;border:1px solid #d8dee6}
.verify-header h1{margin:0;font-size:26px;line-height:1.25;color:#111827}
.verify-lead{margin:7px 0 0;color:#66717d;font-size:14px;line-height:1.5}
.verify-state{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:7px 9px;border:1px solid #ead18a;border-radius:6px;background:#fff8df;color:#805b10;font-size:12px;font-weight:750;white-space:nowrap}
.state-pulse{width:8px;height:8px;border-radius:50%;background:#d69816;box-shadow:0 0 0 0 rgba(214,152,22,.35);animation:state-pulse 1.8s ease-out infinite}
@keyframes state-pulse{70%{box-shadow:0 0 0 7px rgba(214,152,22,0)}100%{box-shadow:0 0 0 0 rgba(214,152,22,0)}}
.target-group{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 30px;background:#f8fafc;border-bottom:1px solid #e2e7ec}
.group-avatar{width:48px;height:48px;border-radius:8px;object-fit:cover;background:#e6ebf0;border:1px solid #d4dbe3}
.target-group-copy{display:grid;gap:2px;min-width:0}
.target-group-copy>span{color:#697582;font-size:12px;font-weight:700}
.target-group-copy strong{font-size:16px;line-height:1.35;overflow-wrap:anywhere}
.target-group-copy code{color:#4e5b68;font:600 12px ui-monospace,SFMono-Regular,Consolas,monospace}
.group-actions{display:flex;align-items:center;gap:8px}
.button.compact{min-height:36px;padding:7px 11px;font-size:13px;white-space:nowrap}
.verify-flow{padding:24px 30px 10px}
.verify-step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:14px}
.verify-step+.verify-step{margin-top:24px;padding-top:24px;border-top:1px solid #e2e7ec}
.step-index{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#17202a;color:#fff;font-size:13px;font-weight:800}
.step-content{min-width:0}
.step-heading{min-height:30px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.step-heading>div{display:grid;gap:3px}
.step-heading span{font-size:15px;font-weight:760;color:#1c2733}
.step-heading small{font-size:12px;color:#74808c}
.expires{font:750 13px ui-monospace,SFMono-Regular,Consolas,monospace!important;color:#8a5b00!important;padding-top:2px;white-space:nowrap}
.mention-note{display:grid;gap:3px;margin:0 0 10px;padding:10px 12px;border:1px solid #b8d5c5;border-left:3px solid #16794b;border-radius:6px;background:#f2f8f5;color:#263a30}
.mention-note strong{font-size:13px;line-height:1.4}
.mention-note span{font-size:12px;line-height:1.45;color:#637168}
.command-tool{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;background:#151c24;border:1px solid #151c24;border-radius:7px;overflow:hidden}
.command-tool code{display:flex;align-items:center;min-height:58px;padding:13px 16px;color:#f7fafc;font:700 17px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;word-break:break-word;user-select:all}
.command-copy{min-width:132px;border:0;border-left:1px solid #39424d;border-radius:0;background:#fff;color:#17202a}
.command-copy:hover{background:#eef2f5;filter:none}
.verify-progress{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:12px 14px;background:#f8fafc;border:1px solid #dde3e9;border-radius:7px}
.progress-copy{display:grid;gap:3px;min-width:0}
.progress-copy strong{font-size:13px;color:#26323e}
.progress-copy span{font-size:12px;color:#717d89;overflow-wrap:anywhere}
.verify-progress[data-state="success"]{background:#edf8f2;border-color:#acd8bf}
.verify-progress[data-state="success"] .progress-copy strong{color:#16794b}
.verify-progress[data-state="error"],.verify-progress[data-state="expired"]{background:#fff3f0;border-color:#efc0b8}
.verify-progress[data-state="error"] .progress-copy strong,.verify-progress[data-state="expired"] .progress-copy strong{color:#a52a1f}
.verify-progress[data-state="expired"] .spinner{animation:none;border-color:#c95043}
.status-mark{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e7edf2;color:#41505e;font-size:13px;font-weight:850}
.verify-progress[data-state="success"] .status-mark{background:#d8f0e2;color:#16794b}
.verify-progress[data-state="error"] .status-mark,.verify-progress[data-state="expired"] .status-mark{background:#f8ddd8;color:#a52a1f}
.verify-foot{display:flex;align-items:center;gap:9px;margin:18px 30px 0;padding:16px 0 20px;border-top:1px solid #e2e7ec;color:#6e7a86;font-size:12px;line-height:1.45}
.bot-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;background:#e6ebf0;border:1px solid #d4dbe3}
@media(max-width:640px){.shell:has(.verify-panel){width:min(100% - 24px,760px);margin-top:16px;margin-bottom:32px}.verify-header{flex-direction:column;gap:16px;padding:22px 20px 18px}.verify-identity{align-items:flex-start}.qq-avatar{width:48px;height:48px;flex-basis:48px}.verify-header h1{font-size:22px}.verify-state{margin-left:64px}.target-group{grid-template-columns:44px minmax(0,1fr);padding:16px 20px}.group-avatar{width:44px;height:44px}.group-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;margin-top:4px}.verify-flow{padding:20px 18px 8px}.verify-step{grid-template-columns:28px minmax(0,1fr);gap:10px}.verify-step+.verify-step{margin-top:20px;padding-top:20px}.command-tool{grid-template-columns:1fr}.command-tool code{min-height:64px;font-size:15px}.command-copy{width:100%;min-height:42px;border-left:0;border-top:1px solid #39424d}.verify-progress{grid-template-columns:auto minmax(0,1fr)}.verify-progress .button{grid-column:1/-1;width:100%}.verify-foot{margin:16px 20px 0;padding-bottom:18px;align-items:flex-start}}

