:root{--brand:#5bc5a3;--brand-600:#3fa888;--brand-50:#eaf7f2;--brand-100:#cfeede;--bg:#f5f7fa;--surface:#fff;--surface-2:#f9fafb;--sidebar:#fff;--text:#181818;--text-2:#555;--text-3:#8a8a8a;--border:#ecefef;--border-2:#e2e6eb;--danger:#d54941;--warning:#e8a027;--success:#00a870;--shadow-sm:0 1px 2px #0000000a;--shadow:0 4px 16px #0000000f;--shadow-lg:0 16px 48px #0000001a;--r-sm:6px;--r:9px;--r-lg:14px;--r-pill:999px;--font:-apple-system, BlinkMacSystemFont, "PingFang SC", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html,body,#app{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.55}#app{text-align:left;border:0;width:100%;max-width:none;min-height:100svh;display:block}button{cursor:pointer;color:inherit;background:0 0;border:0;font-family:inherit}input,textarea{font-family:inherit;font-size:14px}a{color:inherit;text-decoration:none}h1,h2,h3{color:var(--text);letter-spacing:-.01em;font-weight:600}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:20px}.card-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-head h3{font-size:15px}.muted{color:var(--text-3);font-size:13px}.muted.sm{font-size:12px}.mono{font-family:var(--mono)}.btn{border-radius:var(--r-sm);background:var(--brand);color:#fff;padding:9px 18px;font-size:14px;font-weight:500;transition:all .15s}.btn:hover{background:var(--brand-600)}.btn:disabled{background:var(--border-2);color:var(--text-3);cursor:not-allowed}.btn.block{width:100%}.btn.ghost{background:var(--surface);border:1px solid var(--border-2);color:var(--text-2)}.btn.ghost:hover{background:var(--surface-2);border-color:var(--brand);color:var(--brand)}input,textarea{border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);width:100%;padding:9px 12px;transition:all .15s}input:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50);outline:none}.row{align-items:center;gap:8px;display:flex}.row>input{flex:1;width:auto;min-width:0}.row>button{white-space:nowrap;flex-shrink:0}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.tbl-wrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl th{text-align:left;color:var(--text-3);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-weight:500}.tbl td{border-bottom:1px solid var(--border);padding:11px 12px}.tbl tr:last-child td{border-bottom:0}.tbl tr:hover td{background:var(--surface-2)}.tag{border-radius:var(--r-pill);padding:2px 9px;font-size:12px;display:inline-block}.tag.paid,.tag.unused{background:var(--brand-50);color:var(--brand)}.tag.pending{color:#d26a00;background:#fff1e6}.tag.warn{color:#ad5f00;background:#fff4dd}.tag.failed,.tag.used{color:var(--text-3);background:#f0f0f0}.empty{text-align:center;color:var(--text-3);padding:28px 0}.page{max-width:880px;margin:0 auto;padding:8px 0 60px}.page h2{margin-bottom:18px;font-size:20px}@media (width<=760px){.page{padding:8px 0 40px}.card{padding:16px}.grid-2{grid-template-columns:1fr}.btn{padding:11px 18px}input,textarea{padding:11px 12px}}.m-cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:none}.m-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:14px 16px}.m-card .mc-main{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.m-card .mc-title{font-size:14px;font-weight:600}.m-card .mc-pts{white-space:nowrap;font-weight:650}.m-card .mc-pts.plus{color:var(--brand-600)}.m-card .mc-pts.minus{color:var(--text-3)}.m-card .mc-sub{color:var(--text-2);font-size:13px;line-height:1.6}.m-card .mc-meta{color:var(--text-3);margin-top:4px;font-size:12px}.m-card .mc-code{font-family:var(--mono);word-break:break-all;font-size:13px}.auth{background:radial-gradient(1200px 600px at 50% -10%, var(--brand-50), transparent 60%), linear-gradient(180deg, #fff, var(--bg));justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);text-align:center;padding:40px 36px}.logo{background:linear-gradient(135deg, var(--brand), var(--brand-600));color:#fff;border-radius:17px;place-items:center;width:60px;height:60px;margin:0 auto 18px;font-size:30px;font-weight:700;display:grid;box-shadow:0 8px 24px #07c16059}h1{margin-bottom:6px;font-size:21px}.tag{color:var(--text-2);margin-bottom:24px;font-size:13px}.btn-wechat{border-radius:var(--r);background:var(--brand);color:#fff;justify-content:center;align-items:center;gap:10px;width:100%;padding:13px 20px;font-size:15px;font-weight:600;transition:background .15s,transform .1s;display:flex;box-shadow:0 6px 18px #07c1604d}.btn-wechat:hover{background:var(--brand-600)}.btn-wechat:active{transform:scale(.99)}.divider{color:var(--text-3);align-items:center;gap:14px;margin:22px 0 16px;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.acct{text-align:left}.acct-tabs{background:var(--surface-2);border-radius:var(--r-sm);gap:4px;margin-bottom:12px;padding:4px;display:flex}.acct-tabs button{color:var(--text-2);border-radius:6px;flex:1;padding:8px;font-size:13px;font-weight:550;transition:all .15s}.acct-tabs button.on{background:var(--brand);color:#fff}.acct-tabs.sub{padding:3px}.acct-tabs.sub button{padding:6px;font-size:12px}.reg-link{color:var(--text-3);text-align:center;margin-top:12px;font-size:13px}.link{color:var(--brand-600);font-weight:550;text-decoration:none}.link:hover{color:var(--brand)}.acct input{border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);width:100%;margin-bottom:10px;padding:11px 13px;transition:all .15s}.acct input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50);outline:none}.btn-acct{border-radius:var(--r-sm);color:#fff;background:#111827;width:100%;padding:12px;font-size:14px;font-weight:600;transition:all .15s}.btn-acct:hover{background:#000}.btn-acct:disabled{opacity:.6;cursor:not-allowed}.agree{color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:8px;margin:2px 0 12px;font-size:12.5px;line-height:1.55;display:flex}.agree input{width:15px;height:15px;accent-color:var(--brand);cursor:pointer;flex:none;margin:2px 0 0;padding:0}.err{color:var(--danger);text-align:center;margin-top:10px;font-size:13px}.tip-mask{z-index:1000;background:#0000006b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.tip-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);text-align:center;width:min(340px,92vw);padding:32px 28px 26px;box-shadow:0 14px 44px #0003}.tip-icon{background:var(--success,#10b981);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 16px;font-size:30px;font-weight:700;display:grid;box-shadow:0 6px 18px #10b9814d}.tip-card h3{margin-bottom:8px;font-size:19px}.tip-points{color:var(--text-2);margin-bottom:22px;font-size:15px}.tip-points strong{color:var(--brand-600);font-size:22px;font-weight:700}.tip-btn{border-radius:var(--r-sm);background:var(--brand);color:#fff;width:100%;padding:12px;font-size:14px;font-weight:600;transition:background .15s}.tip-btn:hover{background:var(--brand-600)}@media (width<=760px){.auth-card{padding:28px 22px}}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.pg-info{color:var(--text-3);font-size:13px}.pg-jump{color:var(--text-3);align-items:center;gap:6px;font-size:13px;display:flex}.pg-jump input{text-align:center;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);width:56px;padding:5px 8px;font-size:13px}.pg-jump input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50);outline:none}.btn.sm{padding:5px 14px;font-size:12px}@media (width<=760px){.pagination{gap:10px}}@media (width<=640px){}@media (width<=760px){}@media (width<=760px){}.tour-mask{z-index:1990;background:#000000b3;position:fixed}.tour-frame{z-index:1992;pointer-events:none;border:2px solid var(--brand);border-radius:8px;transition:top .18s,left .18s,width .18s,height .18s;position:fixed;box-shadow:0 0 0 4px #ffffff40,0 0 16px #07c16073}.tour-popover{z-index:1995;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:300px;padding:16px 18px;position:fixed;box-shadow:0 14px 44px #0003}.tour-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tour-progress{color:var(--text-3);font-size:12px;font-weight:550}.tour-title{margin-bottom:6px;font-size:15px;font-weight:650}.tour-desc{color:var(--text-2);margin-bottom:14px;font-size:13px;line-height:1.55}.tour-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.tour-next{border-radius:var(--r-sm);background:var(--brand);color:#fff;padding:7px 16px;font-size:13px;font-weight:600}.tour-next:hover{background:var(--brand-600)}.layout{min-height:100svh;display:flex}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:224px;height:100svh;padding:22px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{white-space:nowrap;align-items:center;gap:8px;padding:0 6px 18px;font-size:13px;font-weight:650;display:flex}.logo{background:var(--brand);color:#fff;border-radius:7px;place-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:grid}.balance-box{background:var(--brand-50);border-radius:var(--r);margin-bottom:18px;padding:14px 16px}.balance-label{color:var(--text-3);font-size:12px}.balance-num{color:var(--brand-600);letter-spacing:-.02em;font-size:24px;font-weight:700}.nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-sep{color:var(--text-3);padding:16px 10px 6px;font-size:11px}.nav-item{border-radius:var(--r-sm);color:var(--text-2);align-items:center;gap:10px;padding:9px 12px;font-size:14px;transition:all .12s;display:flex}.nav-item .ic{flex-shrink:0;width:18px;height:18px}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.on{background:var(--brand-50);color:var(--brand-600);font-weight:550}.nav-item.on .ic{opacity:1}.logout{border-radius:var(--r-sm);color:var(--text-3);text-align:left;margin-top:16px;padding:9px 12px;font-size:13px}.logout:hover{background:var(--surface-2);color:var(--danger)}.cs-box{background:var(--surface-2);border-radius:var(--r);margin-bottom:10px;padding:12px 14px}.cs-label{color:var(--text-3);margin-bottom:6px;font-size:12px}.cs-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.cs-id{color:var(--brand-600);word-break:break-all;font-size:14px;font-weight:600}.cs-copy{border-radius:var(--r-sm);color:var(--brand-600);background:var(--brand-50);flex-shrink:0;padding:4px 10px;font-size:12px}.cs-copy:hover{background:var(--brand);color:#fff}.content{flex:1;min-width:0;padding:32px 36px;overflow-x:auto}.notice-bar{border-radius:var(--r);color:#92400e;background:#fffbeb;border:1px solid #fde68a;align-items:center;gap:10px;margin-bottom:18px;padding:11px 16px;font-size:14px;display:flex}.notice-bar .notice-content{overflow-wrap:anywhere;flex:1;line-height:1.5}.m-topbar,.overlay{display:none}@media (width<=760px){.layout{flex-direction:column}.m-topbar{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffeb;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex;position:sticky;top:0}.burger{border-radius:var(--r-sm);width:40px;height:40px;color:var(--text);place-items:center;display:grid}.burger:hover{background:var(--surface-2)}.m-brand{align-items:center;gap:8px;font-size:15px;font-weight:650;display:flex}.m-brand .logo{background:var(--brand);color:#fff;border-radius:7px;place-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:grid}.m-logout{border-radius:var(--r-sm);color:var(--text-3);padding:8px 12px;font-size:13px}.m-logout:hover{background:var(--surface-2);color:var(--danger)}.sidebar{z-index:40;width:260px;max-width:82vw;height:100svh;box-shadow:var(--shadow-lg);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.drawer-open .sidebar{transform:translate(0)}.overlay{z-index:35;opacity:0;pointer-events:none;background:#0006;transition:opacity .22s;display:block;position:fixed;inset:0}.drawer-open .overlay{opacity:1;pointer-events:auto}.content{padding:16px}}.tut-tabs{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);gap:4px;width:fit-content;margin-bottom:16px;padding:4px;display:flex}.tut-tabs button{border-radius:var(--r-sm);color:var(--text-2);padding:7px 16px;font-size:13px;font-weight:500;transition:all .12s}.tut-tabs .tab-icon{fill:currentColor;vertical-align:-2px;width:13px;height:13px;margin-right:6px;display:inline-block}.tut-tabs button:hover{background:var(--surface)}.tut-tabs button.on{background:var(--brand);color:#fff}.tut-video{margin-bottom:12px}.tut-video video{border-radius:var(--r-sm);border:1px solid var(--border);background:#000;width:100%;max-width:560px}.steps-toggle{background:var(--surface-2);border:1px dashed var(--border-2);border-radius:var(--r-sm);width:100%;color:var(--text-2);cursor:pointer;margin-top:4px;padding:10px 0;font-size:13px;font-weight:500;transition:all .12s}.steps-toggle:hover{border-color:var(--brand);color:var(--brand)}.steps{flex-direction:column;gap:12px;display:flex}.step{background:var(--surface-2);border-radius:var(--r-sm);gap:14px;padding:14px 16px;display:flex}.num{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:grid}.step-body{min-width:0}.step-body h4{margin-bottom:5px;font-size:14px}.step-body p{color:var(--text-2);font-size:13px}.step-body .warn{color:var(--danger);margin-top:6px;font-weight:500}.step-img{border-radius:var(--r-sm);border:1px solid var(--border);width:60%;max-width:100%;height:auto;margin:10px 0 0;display:block}.dl{color:var(--brand);text-decoration:underline}.code-box{border-radius:var(--r-sm);background:#1e1e2e;margin-top:10px;padding:14px 16px;position:relative}.code-box pre{color:#a6e3a1;font-family:var(--mono);white-space:pre-wrap;word-break:break-all;font-size:12.5px;line-height:1.6}.code-box .copy{color:#fff;background:#ffffff1f;border-radius:5px;padding:4px 10px;font-size:12px;position:absolute;top:8px;right:8px}.kv-list{flex-direction:column;gap:6px;margin-top:10px;list-style:none;display:flex}.kv-list li{align-items:center;gap:12px;font-size:13px;display:flex}.kv-list li span{width:70px;color:var(--text-3);flex-shrink:0}.kv-list li code{font-family:var(--mono);background:var(--surface);color:var(--text);word-break:break-all;border-radius:5px;padding:3px 8px}.kv-list li.key-li code{flex:1;min-width:0}.key-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:8px;margin-top:10px;padding:8px 10px;display:flex}.key-box code{word-break:break-all;flex:1;min-width:0;font-size:12.5px}.copy-key{background:var(--brand);color:#fff;border-radius:5px;flex-shrink:0;padding:4px 12px;font-size:12px}.copy-key.sm{padding:3px 8px}.model-li{flex-wrap:wrap}.q-btn{border:1px solid var(--border-2);background:var(--surface);width:18px;height:18px;color:var(--text-3);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;margin-left:2px;font-size:11px;font-weight:600;line-height:1;display:grid}.q-btn:hover{border-color:var(--brand);color:var(--brand)}.tip-mask{z-index:1000;background:#0000006b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.tip-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);width:min(360px,92vw);padding:18px 20px;box-shadow:0 14px 44px #0003}.tip-head{justify-content:space-between;align-items:center;margin-bottom:14px;font-size:14px;font-weight:600;display:flex}.tip-close{width:24px;height:24px;color:var(--text-3);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;display:grid}.tip-close:hover{background:var(--surface-2);color:var(--text)}.tip-card-wide{width:min(1120px,96vw)}.tip-table-wrap{max-height:78vh;overflow:auto}.model-grid{grid-template-columns:120px minmax(110px,1fr) minmax(110px,1fr) 78px 78px 60px 60px 60px;align-items:start;min-width:720px;display:grid}.model-grid>div{border-bottom:1px solid var(--border);overflow-wrap:anywhere;width:100%;padding:7px 9px;font-size:12.5px;line-height:1.4}.model-grid-head>div{color:var(--text-2);white-space:nowrap;background:var(--surface);font-weight:500}.model-grid .cell-name{font-weight:600}.model-grid .cell-num{white-space:nowrap}.model-grid .cap{text-align:center;white-space:nowrap}.model-grid .cap.ok{color:var(--brand);font-weight:600}.model-grid .cap:not(.ok){color:var(--text-3)}.view-models-btn{background:var(--brand);color:#fff;border-radius:var(--r-sm);cursor:pointer;border:none;margin-top:10px;padding:7px 16px;font-size:13px;font-weight:600}.view-models-btn:hover{background:var(--brand-600)}.tip-fade-enter-active,.tip-fade-leave-active{transition:opacity .15s}.tip-fade-enter-from,.tip-fade-leave-to{opacity:0}@media (width<=760px){.tut-tabs{width:100%}.tut-tabs button{text-align:center;flex:1}}.hero{background:linear-gradient(135deg, var(--brand), var(--brand-600));color:#fff;border-radius:var(--r-lg);margin-bottom:18px;padding:26px 30px}.hero-label{opacity:.85;margin-bottom:6px;font-size:13px}.hero-balance{letter-spacing:-.02em;font-size:36px;font-weight:700}.hero-balance span{opacity:.8;margin-left:4px;font-size:15px;font-weight:400}.page>.card{margin-bottom:16px}.plans{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.plan{border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);justify-content:center;align-items:baseline;gap:2px;padding:12px 0;transition:all .15s;display:flex}.plan:hover{border-color:var(--brand)}.plan.on{border-color:var(--brand);background:var(--brand-50);color:var(--brand-600)}.pa{font-size:17px;font-weight:650}.pu{font-size:12px}.pay-btn{flex-shrink:0}.pay-methods{gap:8px;margin:12px 0 4px;display:flex}.pm{border:1px solid var(--border-2);border-radius:var(--r-sm);cursor:pointer;color:var(--text-2,#555);background:var(--surface);white-space:nowrap;align-items:center;gap:6px;padding:9px 18px;font-size:13px;display:inline-flex}.pm input{accent-color:var(--brand);appearance:auto;cursor:pointer;flex-shrink:0;width:auto;margin:0;padding:0}.pm.on{border-color:var(--brand);color:var(--brand);background:var(--brand-50)}.pay-box{background:var(--surface-2);border-radius:var(--r-sm);gap:16px;margin-top:16px;padding:16px;display:flex}.pay-box img{border-radius:var(--r-sm);width:170px;height:170px}.pay-info{flex-direction:column;justify-content:center;display:flex}.pay-status{font-weight:550}.pay-status.paid{color:var(--success)}.pay-status.failed{color:var(--danger)}.msg{color:var(--danger);margin-top:12px;font-size:13px}.msg.ok{color:var(--success)}@media (width<=760px){.hero{padding:20px 18px}.hero-balance{font-size:28px}.plans{grid-template-columns:repeat(2,1fr)}.plan{padding:16px 0}.pay-row{flex-wrap:wrap}.pay-row .muted.sm{flex-basis:100%;margin-top:2px}.pay-methods .pm{flex:1;justify-content:center;padding:10px 0}.pay-box{text-align:center;flex-direction:column;align-items:center}.pay-box img{width:min(150px,38vw);height:min(150px,38vw)}.pay-info{align-items:center}}.faq{flex-direction:column;gap:8px;display:flex}.faq details{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:0 16px}.faq summary{cursor:pointer;padding:14px 0;font-size:14px;font-weight:500;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"+ ";color:var(--brand);margin-right:4px;font-weight:600}.faq details[open] summary:before{content:"− "}.faq details p{color:var(--text-2);padding:0 0 14px;font-size:13px}.faq .note{font-size:12px}.faq code{font-family:var(--mono);background:var(--surface-2);color:var(--brand-600);border-radius:5px;padding:2px 7px;font-size:12.5px}.faq .steps,.faq .codes{color:var(--text-2);margin:0 0 14px;padding-left:22px;font-size:13px}.faq .steps li,.faq .codes li{padding:3px 0}.faq .hl{color:var(--brand);font-weight:600}.model-grid-wrap{margin:4px 0 8px;overflow-x:auto}.model-grid{grid-template-columns:120px minmax(110px,1fr) 78px 78px 60px 60px 60px 86px;align-items:start;min-width:702px;display:grid}.model-grid>div{border-bottom:1px solid var(--border);overflow-wrap:anywhere;width:100%;padding:8px 10px;font-size:12.5px;line-height:1.4}.model-grid-head>div{color:var(--text-2);white-space:nowrap;font-weight:500}.model-grid .cell-name{font-weight:600}.model-grid .cell-num{white-space:nowrap}.model-grid .cap{text-align:center;white-space:nowrap}.model-grid .cap.ok{color:var(--brand);font-weight:600}.model-grid .cap:not(.ok){color:var(--text-2)}@media (width<=760px){.faq details{padding:0 14px}}.btn.sm{padding:5px 11px;font-size:12px}.card-head{margin-bottom:14px}@media (width<=760px){.tbl-wrap{display:none}.m-cards{display:flex}}.btn.sm{padding:5px 11px;font-size:12px}.card-head{margin-bottom:14px}@media (width<=760px){.tbl-wrap{display:none}.m-cards{display:flex}}.btn.sm{padding:5px 11px;font-size:12px}.card-head{margin-bottom:14px}@media (width<=760px){.tbl-wrap{display:none}.m-cards{display:flex}}.ver-row{margin-bottom:26px}.ver-switch{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);gap:4px;width:fit-content;margin-bottom:14px;padding:4px;display:flex}.ver-switch button{border-radius:var(--r-sm);color:var(--text-2);padding:7px 16px;font-size:13px;font-weight:500;transition:all .12s}.ver-switch button:hover{background:var(--surface)}.ver-switch button.on{background:var(--brand);color:#fff}.tut-tabs{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);gap:4px;width:fit-content;margin-bottom:16px;padding:4px;display:flex}.tut-tabs button{border-radius:var(--r-sm);color:var(--text-2);padding:7px 16px;font-size:13px;font-weight:500;transition:all .12s}.tut-tabs .tab-icon{fill:currentColor;vertical-align:-2px;width:13px;height:13px;margin-right:6px;display:inline-block}.tut-tabs button:hover{background:var(--surface)}.tut-tabs button.on{background:var(--brand);color:#fff}.steps{flex-direction:column;gap:12px;display:flex}.step{background:var(--surface-2);border-radius:var(--r-sm);gap:14px;padding:14px 16px;display:flex}.num{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:grid}.step-body{min-width:0}.step-body h4{margin-bottom:5px;font-size:14px}.step-body p{color:var(--text-2);font-size:13px}.step-body p+p{margin-top:6px}.code-box{border-radius:var(--r-sm);background:#1e1e2e;margin-top:10px;padding:14px 16px;position:relative}.code-box pre{color:#a6e3a1;font-family:var(--mono);white-space:pre-wrap;word-break:break-all;font-size:12.5px;line-height:1.6}.code-box .copy{color:#fff;background:#ffffff1f;border-radius:5px;padding:4px 10px;font-size:12px;position:absolute;top:8px;right:8px}.key-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:8px;margin-top:10px;padding:8px 10px;display:flex}.key-box code{word-break:break-all;flex:1;min-width:0;font-size:12.5px}.copy-key{background:var(--brand);color:#fff;border-radius:5px;flex-shrink:0;padding:4px 12px;font-size:12px}.dl{color:var(--brand);text-decoration:underline}.inline{font-family:var(--mono);background:var(--surface);color:var(--text);word-break:break-all;border-radius:4px;padding:2px 6px;font-size:12.5px}@media (width<=760px){.ver-switch,.tut-tabs{width:100%}.ver-switch button,.tut-tabs button{text-align:center;flex:1}}.page>.card{margin-bottom:16px}.desktop-warn{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--warn,#f0a000);border-radius:var(--r-sm);color:var(--text-2);margin-bottom:18px;padding:10px 14px;font-size:13px}.dl{color:var(--brand);text-decoration:underline}.steps{flex-direction:column;gap:12px;display:flex}.step{background:var(--surface-2);border-radius:var(--r-sm);gap:14px;padding:14px 16px;display:flex}.num{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:grid}.step-body{min-width:0}.step-body h4{margin-bottom:5px;font-size:14px}.step-body p{color:var(--text-2);font-size:13px}.step-body p+p{margin-top:6px}.step-img{border-radius:var(--r-sm);border:1px solid var(--border);width:60%;max-width:100%;height:auto;margin:10px 0 0;display:block}.kv-list{flex-direction:column;gap:6px;margin-top:10px;list-style:none;display:flex}.kv-list li{align-items:center;gap:12px;font-size:13px;display:flex}.kv-list li span{width:70px;color:var(--text-3);flex-shrink:0}.kv-list li code{font-family:var(--mono);background:var(--surface);color:var(--text);word-break:break-all;border-radius:5px;padding:3px 8px}.kv-list li.key-li code{flex:1;min-width:0}.copy-key{background:var(--brand);color:#fff;border-radius:5px;flex-shrink:0;padding:4px 12px;font-size:12px}.copy-key.sm{padding:3px 8px}.model-table{border:1px solid var(--border);border-radius:var(--r-sm);margin-bottom:10px;overflow:hidden}.model-row{grid-template-columns:minmax(110px,1.2fr) minmax(150px,1.4fr) 80px 72px;align-items:center;display:grid}.model-row>div{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:9px 12px;font-size:13px}.model-row:last-child>div{border-bottom:none}.model-row-head>div{color:var(--text-2);white-space:nowrap;background:var(--surface);font-size:12.5px;font-weight:500}.model-row .cell-name{font-family:var(--mono);font-weight:600}.model-row .cell-num{white-space:nowrap}.model-row .cap{text-align:center}.model-row .cap.ok{color:var(--brand);font-weight:600}.model-row .cap:not(.ok){color:var(--text-3)}.model-row>div:last-child{text-align:right}@media (width<=760px){.step{flex-direction:column;gap:8px}.step-img{width:100%}.model-row{grid-template-columns:minmax(90px,1.2fr) 80px 72px}.model-row>div:nth-child(2){display:none}}.page>.card{margin-bottom:16px}.legal{background:radial-gradient(1200px 600px at 50% -10%, var(--brand-50), transparent 60%), linear-gradient(180deg, #fff, var(--bg));min-height:100svh;padding:40px 16px 64px}.legal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-width:760px;box-shadow:var(--shadow-lg);margin:0 auto;padding:40px 44px 36px;position:relative}.back{color:var(--text-3);font-size:13px;text-decoration:none;position:absolute;top:18px;left:20px}.back:hover{color:var(--brand-600)}.logo{background:linear-gradient(135deg, var(--brand), var(--brand-600));color:#fff;border-radius:14px;place-items:center;width:52px;height:52px;margin:0 auto 14px;font-size:26px;font-weight:700;display:grid;box-shadow:0 8px 24px #07c16059}h1{text-align:center;margin-bottom:6px;font-size:22px}.updated{text-align:center;color:var(--text-3);margin-bottom:26px;font-size:12.5px}.doc .intro{color:var(--text-2);background:var(--surface-2);border-radius:var(--r);padding:12px 16px;font-size:13.5px;line-height:1.75}.doc h2{margin:26px 0 8px;font-size:15.5px}.doc p,.doc li{color:var(--text-2);font-size:13.5px;line-height:1.75}.doc ol,.doc ul{margin:4px 0;padding-left:20px}.doc li{margin:4px 0}.related{border-top:1px solid var(--border);text-align:center;color:var(--text-3);margin-top:32px;padding-top:18px;font-size:13px}.related a{color:var(--brand-600);font-weight:550;text-decoration:none}.related a:hover{color:var(--brand)}@media (width<=760px){.legal{padding:20px 12px 48px}.legal-card{padding:28px 20px 24px}}.legal{background:radial-gradient(1200px 600px at 50% -10%, var(--brand-50), transparent 60%), linear-gradient(180deg, #fff, var(--bg));min-height:100svh;padding:40px 16px 64px}.legal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-width:760px;box-shadow:var(--shadow-lg);margin:0 auto;padding:40px 44px 36px;position:relative}.back{color:var(--text-3);font-size:13px;text-decoration:none;position:absolute;top:18px;left:20px}.back:hover{color:var(--brand-600)}.logo{background:linear-gradient(135deg, var(--brand), var(--brand-600));color:#fff;border-radius:14px;place-items:center;width:52px;height:52px;margin:0 auto 14px;font-size:26px;font-weight:700;display:grid;box-shadow:0 8px 24px #07c16059}h1{text-align:center;margin-bottom:6px;font-size:22px}.updated{text-align:center;color:var(--text-3);margin-bottom:26px;font-size:12.5px}.doc .intro{color:var(--text-2);background:var(--surface-2);border-radius:var(--r);padding:12px 16px;font-size:13.5px;line-height:1.75}.doc h2{margin:26px 0 8px;font-size:15.5px}.doc p,.doc li{color:var(--text-2);font-size:13.5px;line-height:1.75}.doc ol,.doc ul{margin:4px 0;padding-left:20px}.doc li{margin:4px 0}.related{border-top:1px solid var(--border);text-align:center;color:var(--text-3);margin-top:32px;padding-top:18px;font-size:13px}.related a{color:var(--brand-600);font-weight:550;text-decoration:none}.related a:hover{color:var(--brand)}@media (width<=760px){.legal{padding:20px 12px 48px}.legal-card{padding:28px 20px 24px}}
/* ===== 管理后台 ===== */
.admin-page{max-width:1180px;padding-top:16px}
.admin-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.admin-bar h2{margin:0;font-size:20px}
.admin-tabs{margin-bottom:16px}
.admin-tabs button{flex:none;padding:8px 18px}
.admin-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
.admin-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.admin-kpi .k-label{color:var(--text-3);font-size:12px}
.admin-kpi .k-value{font-size:22px;font-weight:600;line-height:1.2}
.admin-kpi .k-value em{font-style:normal;color:var(--text-3);font-size:14px;font-weight:500}
.admin-kpi .k-sub{color:var(--text-3);font-size:12px}
.admin-filters{flex-wrap:wrap}
.admin-filters input,.admin-filters select{flex:none;width:auto;min-width:120px}
.admin-table{overflow-x:auto}
.admin-table .tbl{min-width:620px}
.admin-ops{white-space:nowrap;display:flex;gap:6px}
.admin-action{background:var(--brand-50);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:8px}
.admin-action .aa-text{font-size:13px;color:var(--text-2)}
.admin-action .row{flex-wrap:wrap}
.admin-action input{flex:1;min-width:160px}
.admin-keytext{flex:1;min-width:0;word-break:break-all;background:var(--surface);border-radius:5px;padding:6px 9px;font-size:12.5px}
.admin-pre{background:var(--surface);border-radius:var(--r-sm);padding:10px 12px;font-size:12.5px;white-space:pre-wrap;word-break:break-all;max-height:220px;overflow:auto;margin:0}
.admin-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2);white-space:nowrap}
.admin-check input{width:auto}
.admin-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.admin-form label{display:flex;flex-direction:column;gap:6px}
.admin-form label span{color:var(--text-3);font-size:12px}
.admin-form-actions{margin-top:18px;gap:12px;flex-wrap:wrap}
.admin-login{max-width:460px;margin:40px auto}
.admin-login h2{margin-bottom:8px}
.admin-login .muted{margin-bottom:16px}
.admin-toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);background:#181818;color:#fff;padding:10px 20px;border-radius:var(--r-pill);font-size:13px;box-shadow:var(--shadow);z-index:60}
@media (width<=760px){.admin-kpis{grid-template-columns:repeat(2,1fr)}.admin-form{grid-template-columns:1fr}.admin-page{max-width:none}.admin-tabs{overflow-x:auto}}

/* ===== 管理后台：模型与渠道 ===== */
.model-hint{margin:-4px 0 12px}
.route-stats{display:flex;flex-wrap:wrap;gap:6px 12px;margin:-4px 0 12px;align-items:center}
.route-stat{background:var(--bg-card,#f1f5f9);border:1px solid var(--border,#e2e8f0);border-radius:6px;padding:2px 8px;font-size:12px}
.model-warn{background:#fff8e6;border:1px solid #ffe1a8;color:#8a5a00;border-radius:var(--r-sm);padding:10px 12px;font-size:13px;margin-bottom:14px}
.link-btn{background:none;border:0;color:var(--brand-600);font-size:13px;text-decoration:underline;cursor:pointer;padding:0}
.upstream-picks{display:flex;flex-wrap:wrap;gap:6px;max-height:210px;overflow:auto;background:var(--surface);border-radius:var(--r-sm);padding:10px}
.upstream-picks .pick{display:flex;align-items:center;gap:6px;border:1px solid var(--border-2);border-radius:var(--r-pill);padding:4px 10px;font-size:12px;cursor:pointer}
.upstream-picks .pick.on{border-color:var(--brand);background:var(--brand-50);color:var(--brand-600)}
.upstream-picks .pick input{width:auto}
.model-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.model-form label{display:flex;flex-direction:column;gap:5px}
.model-form label span{color:var(--text-3);font-size:12px}
.model-form input,.model-form select{width:100%}
/* 「备用渠道」区块：里面含按钮，不能用 <label> 包（点 label 会把点击转发给内部第一个按钮），改用 .mf-field 保持同样版式 */
.model-form .mf-field{display:flex;flex-direction:column;gap:5px}
.model-form .mf-field>span:first-child{color:var(--text-3);font-size:12px}
.fb-item{display:block;width:100%;text-align:left;padding:8px 12px;font-size:13px;font-family:inherit;color:inherit;background:#fff;border:0;border-bottom:1px solid #f0f0f0;cursor:pointer}
.fb-item:hover{background:#f5f7ff}
.fb-item.on{background:#eef2ff}
.admin-action.bad{background:#fdeceb;border-color:#f6c6c2}
.settings-flags{margin-top:14px}
@media (width<=760px){.model-form{grid-template-columns:1fr}}

/* ===== 管理后台：客户端下载配置 ===== */
.down-grid{border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 14px;margin-bottom:12px;background:var(--surface-2)}
.down-title{font-size:13px;font-weight:600;margin-bottom:10px}
.down-form{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:10px}
.down-form label{display:flex;flex-direction:column;gap:5px}
.down-form label span{color:var(--text-3);font-size:12px}
.down-grid .muted{margin:8px 0 0}
@media (width<=760px){.down-form{grid-template-columns:1fr}}

/* ===== 管理后台：支付渠道配置 ===== */
.pay-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.pay-mode{display:flex;flex-direction:column;gap:5px;border:1px solid var(--border-2);border-radius:var(--r-sm);padding:12px 14px;background:var(--surface);cursor:pointer}
.pay-mode.on{border-color:var(--brand);background:var(--brand-50)}
.pay-mode input{width:auto;cursor:pointer;margin:0}
.pay-mode .pm-title{font-size:13.5px;font-weight:600}
.pay-mode .pm-desc{color:var(--text-3);font-size:12px;line-height:1.6}
.pay-limits{margin-top:14px}
.pay-head-ops{gap:12px;align-items:center;flex-wrap:wrap}
.pay-tall{grid-template-columns:1fr 1fr;margin-top:14px}
.pay-tall label{align-items:stretch}
.pay-tall textarea{width:100%;font-family:var(--mono);font-size:12.5px;line-height:1.5;resize:vertical}
.pay-notify{align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.pay-notify .admin-keytext{background:var(--surface-2);border:1px solid var(--border);min-width:220px}
@media (width<=760px){.pay-modes{grid-template-columns:1fr}.pay-tall{grid-template-columns:1fr}}
/* ===== 前台充值：限额提示与支付页入口 ===== */
.pay-tip{margin-top:8px}
.pay-open{margin-top:12px;align-self:flex-start;text-decoration:none}

/* ===== 手动配置：长配置内容用可滚动代码块 ===== */
.code-box.scroll{max-height:340px;overflow:auto}
.code-box.scroll pre{padding-top:22px;word-break:normal;white-space:pre}
.btn.danger{background:var(--danger)}
.btn.danger:hover{background:#bf3a33}
.tag.bad{color:var(--danger);background:#fdeceb}


/* ===== 新手教程改版（2026-09-16）新增样式 =====
   说明：全部使用 qs- / mp- / img-note 新前缀，与现有规则无冲突，可整段删除回滚。 */

.quick-start{background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-lg);padding:16px 18px;margin-bottom:18px}
.qs-head{font-size:15px;font-weight:600;color:var(--brand-700);margin-bottom:12px}
.qs-step{display:flex;gap:12px;padding:10px 0;border-bottom:1px dashed var(--border)}
.qs-step:last-of-type{border-bottom:0}
.qs-num{flex:0 0 24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px}
.qs-body{flex:1;min-width:0}
.qs-body h4{margin:0 0 4px;font-size:14.5px}
.qs-body p{margin:3px 0;font-size:13.5px;color:var(--text-2)}
.qs-pit{margin-top:12px;background:var(--surface);border:1px solid var(--warning);border-radius:var(--r-sm);padding:11px 13px}
.qs-pit>b{color:var(--warning)}
.qs-pit ol{margin:6px 0 0;padding-left:20px;font-size:13.5px;color:var(--text-2)}
.qs-pit li{margin:3px 0}

.model-count-note{background:var(--brand-50);border-left:3px solid var(--brand);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:9px 12px;font-size:13.5px;color:var(--brand-700);margin:10px 0}

.model-picker{border:1px solid var(--brand-100);border-radius:var(--r);overflow:hidden;margin:12px 0;background:var(--surface)}
.mp-head{background:var(--brand-50);padding:8px 12px;font-size:13px;color:var(--brand-700);font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.mp-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--border);flex-wrap:wrap}
.mp-row:hover{background:var(--surface-2)}
.mp-name{flex:0 0 150px;font-size:13px;font-weight:600}
.mp-desc{flex:1;font-size:13px;color:var(--text-2);min-width:180px}

.img-note{background:#fff8ec;border-left:3px solid var(--warning);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:8px 11px;font-size:13px;color:#7a4f06;margin:10px 0}
.view-models-btn.sm{padding:3px 9px;font-size:12px}
/* 代码示意图共用样式：白底/灰边/红箭头/圆角 8px/字号 14px */
.illust {
  background: #fff;
  border: 1px solid #d8dee4;
  border-radius: 8px;
  padding: 18px;
  margin: 8px 0;
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
  color: #1a1a1a;
  max-width: 720px;
  position: relative;
  font-size: 14px;
  line-height: 1.5;
}
.illust-title {
  font-weight: 600;
  font-size: 13px;
  color: #6a737d;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.illust-window {
  background: #fafbfc;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 14px;
  margin-top: 8px;
}
.illust-row { display: flex; align-items: center; margin: 6px 0; gap: 8px; }
.illust-label { width: 100px; color: #586069; font-size: 13px; flex-shrink: 0; }
.illust-input {
  flex: 1;
  background: #fff;
  border: 1px solid #d0d7de;
  border-radius: 4px;
  padding: 6px 10px;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 13px;
  color: #1a1a1a;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.illust-input.code { font-family: ui-monospace, monospace; }
.illust-input .placeholder { color: #6a737d; }
.illust-input .key-mask { letter-spacing: 1px; color: #1a1a1a; }
.illust-btn {
  background: #0969da;
  color: #fff;
  border: 0;
  border-radius: 4px;
  padding: 5px 12px;
  font-size: 13px;
  cursor: default;
  display: inline-block;
}
.illust-btn.ghost {
  background: #fff;
  color: #1a1a1a;
  border: 1px solid #d0d7de;
}
.illust-arrow {
  position: absolute;
  color: #d1242f;
  font-size: 22px;
  font-weight: 700;
  pointer-events: none;
  font-family: -apple-system, sans-serif;
}
.illust-arrow-num {
  background: #d1242f;
  color: #fff;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  position: absolute;
}
.illust-check {
  color: #1a7f37;
  font-weight: 700;
  margin-right: 4px;
}
.illust-dropdown {
  background: #fff;
  border: 1px solid #d0d7de;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  max-height: 220px;
  overflow-y: auto;
  margin-top: 4px;
}
.illust-dropdown-item {
  padding: 7px 12px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 13px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.illust-dropdown-item:last-child { border-bottom: 0; }
.illust-dropdown-item.recommended { background: #fff8c5; font-weight: 600; }
.illust-dropdown-item.group-title { background: #f6f8fa; color: #586069; font-size: 12px; font-weight: 600; }
.illust-dropdown-item .badge {
  background: #d1242f;
  color: #fff;
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 8px;
  margin-left: 6px;
  font-weight: 600;
}
.illust-dropdown-item .badge.gray { background: #6a737d; }
.illust-step-num {
  background: #0969da;
  color: #fff;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  margin-right: 8px;
  vertical-align: middle;
}
.illust-step { margin: 12px 0; }
.illust-step-title { font-weight: 600; font-size: 14px; }
.illust-step-desc { color: #586069; font-size: 13px; margin-top: 2px; }
.illust-tab { display: inline-block; padding: 4px 10px; background: #f6f8fa; border: 1px solid #d0d7de; border-bottom: 0; border-radius: 4px 4px 0 0; font-size: 12px; }
.illust-tab.active { background: #fff; font-weight: 600; }
.illust-tabs { border-bottom: 1px solid #d0d7de; margin-bottom: 0; }
.illust-warning {
  background: #fff8c5;
  border: 1px solid #d4a72c;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: 12px;
  color: #573a00;
  margin-top: 10px;
}
.illust-list { list-style: none; padding-left: 0; margin: 8px 0; }
.illust-list li { padding: 4px 0; font-size: 13px; }
.illust-list li::before { content: "▸ "; color: #0969da; font-weight: 700; }

/* 界面示意（mock:'ui'）：左菜单 + 右侧目标，红 ① 标出该点哪儿。
   用途是回答「这个入口藏在软件的哪个角落」—— 没有真截图的平台靠它把这一步撑起来。 */
.illust-app {
  display: flex;
  background: #fafbfc;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  overflow: hidden;
  margin-top: 8px;
}
.illust-nav { flex: 0 0 148px; background: #f0f2f5; border-right: 1px solid #e1e4e8; padding: 8px 0; }
.illust-nav-item {
  display: flex; align-items: center; justify-content: space-between; gap: 6px;
  padding: 6px 12px; font-size: 13px; color: #586069;
}
.illust-nav-item.on {
  background: #fff; color: #1a1a1a; font-weight: 600;
  border-left: 3px solid #0969da; padding-left: 9px;
}
.illust-pane {
  flex: 1; min-width: 0; padding: 14px 16px;
  display: flex; align-items: center; justify-content: flex-end; gap: 8px;
}
.illust-target {
  background: #0969da; color: #fff; border-radius: 4px;
  padding: 6px 14px; font-size: 13px; font-weight: 600;
}
.illust-pane-hint { font-size: 12px; color: #6a737d; }
.illust-mark {
  flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; border-radius: 50%;
  background: #d1242f; color: #fff; font-size: 11px; font-weight: 700;
}
.illust-hint { margin-top: 8px; font-size: 12px; color: #586069; }

/* 选项示意（mock:'pick'）：候选列表 + 「选这个 / 别选」徽标。
   回答的是「这几个里选哪个」—— 教程里最容易错、改起来最贵的一步。 */
.illust-opt { min-width: 0; }
.illust-why {
  display: block; margin-top: 2px;
  font-style: normal; font-weight: 400; font-size: 12px; color: #6a737d;
}
.illust-dropdown-item .badge.ok { background: #1a7f37; }

/* ===== 后台调分：加分/扣分切换 + 余额预览 ===== */
.grant-mode{display:flex;gap:6px;flex-shrink:0}
.grant-preview{color:var(--brand-600);font-weight:600;margin-left:6px;white-space:nowrap}
.grant-preview.bad{color:var(--danger)}
