@charset "UTF-8";
:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#26332f;background:#f4f6f4;font-synthesis:none;--green:#167e56;--muted:#87918b;--line:#e7ece7;--ink:#172c24}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,textarea{font:inherit}button,a,input,summary{ -webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}a{text-decoration:none;color:inherit}button{border:0}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #83c9aa;outline-offset:4px}button{transition:background .15s,box-shadow .15s}svg{display:block}h1,h2,h3,p{margin:0}.topbar{background:#142a23;color:#fff;border-bottom:1px solid #284238}.topbar-inner{max-width:1240px;margin:auto;padding:19px 30px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;font-size:13px;font-weight:750;letter-spacing:1px}.brand b{font-size:12px;color:#a7b9b0;font-weight:500;margin-left:16px;border-left:1px solid #3a5148;padding-left:16px;letter-spacing:1px}.brand-icon{background:#d2f28b;color:#172e23;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;letter-spacing:-3px;padding-right:3px}.brand-icon span{font-size:14px;margin-top:7px}.local-badge{font:10px Consolas,monospace;display:flex;align-items:center;gap:9px;color:#b1c4ba;letter-spacing:1px}.local-badge i,.live-dot{width:6px;height:6px;border-radius:50%;background:#a3d986;display:inline-block}.local-badge span{color:#5c7969}main{max-width:1240px;padding:38px 30px 0;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 30px;gap:20px}.eyebrow{font:10px/1.6 Consolas,monospace;letter-spacing:1.6px;color:#85928a;margin-bottom:8px}.page-heading .eyebrow{color:#448768}h1{font-size:29px;letter-spacing:-1px;line-height:1.5;font-weight:650}h1>span{color:var(--green)}.intro{font-size:12px;line-height:1.8;color:#79857e;margin-top:9px}.session-badge{font-size:11px;color:#738078;white-space:nowrap;background:#e9eeea;padding:8px 12px;border-radius:6px}.session-badge.connected{background:#e2f4e8;color:#168456}.workspace{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:22px;align-items:stretch}.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 14px #233a2803;padding:25px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-heading .eyebrow{margin-bottom:4px}h2{font-size:17px;font-weight:650;letter-spacing:.2px}.soft-label{background:#f4f6f4;border:1px solid var(--line);padding:4px 9px;font-size:10px;color:#839086;border-radius:5px}.channel-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 19px}.channel-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;font-size:12px;font-weight:600;border-radius:8px;border:1px solid var(--line);background:#fff;color:#4b5b53;padding:10px}.channel-button svg{width:19px;height:19px;fill:currentColor;flex-shrink:0}.channel-button.wechat{color:#198052;border-color:#cce6d7;background:#f0f8f3}.channel-button.qq{color:#2b77aa;border-color:#d5e4f0;background:#f4f8fc}.channel-button:hover,.channel-button.active{box-shadow:0 0 0 2px #18845624}.channel-button.qq:hover,.channel-button.qq.active{box-shadow:0 0 0 2px #2b77aa24}.qr-stage{padding:23px;background:#f7f9f6;border:1px solid #edf1eb;border-radius:10px;display:grid;place-items:center;background-image:radial-gradient(#dbe5db 1px,transparent 1px);background-size:13px 13px}.qr{width:224px;height:224px;background:white;border-radius:12px;display:grid;place-items:center;box-shadow:0 6px 24px #193c2010;border:1px solid #e5ebe3;padding:13px;position:relative}.qr img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.qr #placeholder{color:#9aa89e;text-align:center;font-size:12px;line-height:1.8;padding:6px;white-space:pre-line}.qr-placeholder{width:69px;height:69px;margin:0 auto 16px;color:#aabdab}.qr strong{display:block;font-size:12px;font-weight:500;color:#718274}.qr #placeholder span{font-size:10px;display:block;margin-top:5px;color:#9ba79e}.qr-meta{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#839185;gap:8px;min-height:42px}.qr-meta>div{display:flex;gap:12px}.text-button{padding:4px 0;font-size:11px;background:transparent;color:#76877b;white-space:nowrap;border-radius:3px}.text-button:hover{color:var(--green)}.status-box{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;background:#f3f6f2;border-radius:7px;border:1px solid #e9eee6;color:#75836f;min-height:43px}.status-box i{height:6px;width:6px;border-radius:50%;background:#8ba67d;margin-top:5px;flex-shrink:0}.status-box p{font-size:11px;line-height:1.65;overflow-wrap:anywhere}.status-box[data-tone=success]{background:#edf8f1;color:#177448;border-color:#d9efdf}.status-box[data-tone=error]{background:#fff4ef;color:#a55f3e;border-color:#f4e3d7}.status-box[data-tone=error] i{background:#cc855f}.connection-footer{border-top:1px solid var(--line);margin-top:22px;padding-top:17px;color:#9da79f;font-size:10px;display:flex;align-items:center;justify-content:center;gap:8px}.connection-footer span{font:9px Consolas,monospace;color:#63866c}.connection-footer b{font-weight:400;color:#c0c9c2;margin:0 5px}.right-column{display:flex;flex-direction:column;gap:22px;min-width:0}.account-card{padding-bottom:19px}.account-summary{display:flex;align-items:center;gap:13px;margin:22px 0 19px}.avatar{height:47px;width:47px;flex-shrink:0;background:#f0f4ee;border:1px solid #e3ebe0;border-radius:12px;display:grid;place-items:center;font-size:20px;color:#8ca086}h3{font-size:13px;font-weight:600}.account-summary p{font-size:11px;color:#8a958e;margin-top:6px;line-height:1.65;overflow-wrap:anywhere}.account-actions{display:flex;gap:10px;flex-wrap:wrap}.primary-button{background:#1b8058;color:#fff;border-radius:7px;padding:11px 20px;font-size:12px;display:flex;align-items:center;gap:22px}.primary-button:hover{background:#116b47}.primary-button span{color:#bcddcc}.locked-hint{color:#a0aba3;font-size:11px;display:block;background:#f5f7f4;padding:10px 15px;border:1px dashed #e2e9de;border-radius:6px;width:100%;text-align:center}.account-note{font-size:10px;color:#a0aaa2;margin-top:14px;line-height:1.7}.log-card{flex:1;min-height:277px;padding-bottom:20px}.live-dot{vertical-align:middle;background:#5dae75;margin-left:5px;height:5px;width:5px}.log-actions{display:flex;gap:16px}.progress-steps{display:grid;grid-template-columns:repeat(4,1fr);margin:18px 0 16px;gap:6px}.progress-steps>span{display:flex;align-items:center;gap:6px;color:#9aa69b;font-size:10px}.progress-steps b{border-radius:50%;width:18px;height:18px;background:#f0f3ee;display:grid;place-items:center;font:9px Consolas,monospace}.progress-steps .active{color:#25834f}.progress-steps .active b{background:#def0e1;color:#237749}.progress-steps .done{color:#368c54}.progress-steps .done b{background:#26844f;color:white}.progress-steps .error{color:#b96d42}.progress-steps .error b{background:#ffeedf;color:#b96d42}.terminal-top{display:flex;justify-content:space-between;align-items:center;background:#20332c;border-bottom:1px solid #2a4236;color:#769082;border-radius:8px 8px 0 0;padding:9px 13px;font:8px Consolas,monospace;letter-spacing:1px}.terminal-top>span:first-child{display:flex;gap:4px}.terminal-top i{width:5px;height:5px;background:#66816c;border-radius:50%}.terminal-top i:first-child{background:#b98465}.terminal-top i:nth-child(2){background:#abac69}.runtime-log{background:#192d24;color:#b3cebd;border-radius:0 0 8px 8px;font:10px/1.85 Consolas,"Microsoft YaHei",monospace;height:147px;overflow:auto;margin:0;padding:12px 14px;white-space:pre-wrap;overflow-wrap:anywhere;scrollbar-color:#3d5647 transparent;scrollbar-width:thin}.inventory-card{margin-top:23px;min-height:325px}.count-badge{font:11px Consolas,monospace;display:inline-block;padding:3px 7px;border-radius:5px;margin-left:8px;background:#eef3eb;color:#7c927c;vertical-align:middle}.updated-label{font-size:10px;color:#98a298}.inventory-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;border-bottom:1px solid var(--line);padding-bottom:16px}.filters{display:flex;gap:6px;flex-wrap:wrap}.filters button{background:transparent;padding:7px 11px;font-size:11px;color:#8a988c;border-radius:6px;white-space:nowrap}.filters button.active{background:#ecf5ec;color:#317747}.filters button:hover{background:#f1f6f0}.filters button span{font:10px Consolas,monospace;margin-left:4px;opacity:.65}.search{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:7px 11px;border-radius:7px;max-width:220px;color:#8b9d8e}.search span{font-size:18px;line-height:1}.search input{border:0;outline:none;background:transparent;font-size:10px;min-width:0;width:165px;color:#405747}.search input::placeholder{color:#a3afa5}.empty-state{text-align:center;padding:30px 0 27px;color:#8fa18e}.empty-icon{display:grid;place-items:center;margin:0 auto 15px;color:#b1c5a8}.empty-icon svg{width:45px;height:45px}.empty-state h3{font-weight:500;color:#7f927d;font-size:12px}.empty-state p{font-size:10px;margin-top:8px;color:#a4aea1}.collectibles-gallery:empty{display:none}.collectible-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px;margin-top:20px}.collectible-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.collectible-image{height:135px;display:grid;place-items:center;background:#f6f8f3;position:relative;color:#a4b19e;font-size:11px}.collectible-image img{width:100%;height:125px;object-fit:contain;padding:12px}.collectible-card .item-info{padding:13px}.item-info h3{font-size:11px;line-height:1.6;min-height:34px;overflow-wrap:anywhere}.item-meta{display:flex;justify-content:space-between;font-size:9px;color:#91a08c;margin-top:9px}.item-id{font:9px Consolas,monospace;color:#b0b9ac;margin-top:6px}.technical{color:#8a998b;font-size:11px}.technical summary{cursor:pointer;list-style:disclosure-closed;line-height:1.7}.technical[open]>summary{list-style:disclosure-open}.account-card .technical,.inventory-card .technical{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.technical pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7f3;color:#687c62;padding:14px;font:10px/1.7 Consolas,monospace;max-height:240px;overflow:auto;border-radius:8px}.request-details{margin-top:18px;padding:16px 23px}.request-details summary>span{font-size:10px;color:#afb6ab;margin-left:14px}.request-fields{display:grid;grid-template-columns:110px 1fr 1fr;gap:18px;margin-top:18px;min-width:0}.request-fields label{font-size:9px;display:block;margin-bottom:6px;color:#9aab94}.request-fields code{font:11px Consolas,monospace;overflow-wrap:anywhere}.request-fields textarea{width:100%;resize:vertical;border:1px solid var(--line);background:#f9faf8;border-radius:5px;font:10px/1.6 Consolas,monospace;color:#87977f;padding:8px}footer{display:flex;justify-content:space-between;align-items:center;padding:24px 2px 25px;gap:15px;color:#a9b3a5;font-size:9px}footer>span{font:9px Consolas,monospace;letter-spacing:1px}footer b{padding:0 7px;color:#c8d0c4}footer p{font-size:9px}
@media(min-width:1500px){main{padding-top:47px}.page-heading{margin-bottom:36px}}
@media(max-width:850px){.workspace{grid-template-columns:1fr}.connection-card{padding:22px}.qr-stage{padding:25px}.qr{width:235px;height:235px}.page-heading{align-items:flex-start}.page-heading h1{font-size:24px}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:16px}.right-column>.card{padding:20px}.account-summary{align-items:flex-start}.log-card{min-width:0}.runtime-log{height:173px}.account-note{font-size:10px}.progress-steps{gap:3px}.progress-steps>span{gap:3px;font-size:9px}.log-actions{gap:10px}.inventory-toolbar{align-items:flex-start;flex-wrap:wrap}.request-fields{grid-template-columns:1fr}}
@media(max-width:560px){main{padding:25px 15px 0}.topbar-inner{padding:15px}.brand b{margin-left:9px;padding-left:9px;font-size:10px}.brand{font-size:11px}.local-badge{font-size:9px}.page-heading{margin-bottom:22px}.page-heading h1{font-size:23px}.page-heading{flex-direction:column;gap:13px}.intro{font-size:11px}.session-badge{font-size:10px;padding:6px 9px}.card{padding:20px}.right-column{display:flex}.channel-actions{gap:9px}.channel-button{font-size:11px;padding:10px 7px}.channel-button svg{width:17px}.connection-footer{gap:5px}.inventory-toolbar{gap:12px}.filters{gap:2px}.filters button{padding:7px 8px;font-size:10px}.search{max-width:none;width:100%;padding:9px 10px}.search input{width:100%;font-size:11px}.updated-label{font-size:9px}.request-details summary>span{display:block;margin-left:13px;margin-top:3px}.collectible-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collectible-image{height:120px}.collectible-image img{height:110px}.runtime-log{height:178px}footer{align-items:flex-start;flex-direction:column;gap:9px}.empty-state p{line-height:1.8}.qr-meta{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* quality is rarity only; secondClass/opers determines the category. */
:root{--quality-color-5:#da5758;--quality-color-4:#d0814d;--quality-color-3:#9a71dc;--quality-color-2:#589fdc;--quality-color-1:#2aca96}
.collectible-card{--rarity-color:var(--line);border-top:3px solid var(--rarity-color)}
.collectible-card[data-quality-tier="5"]{--rarity-color:var(--quality-color-5)}
.collectible-card[data-quality-tier="4"]{--rarity-color:var(--quality-color-4)}
.collectible-card[data-quality-tier="3"]{--rarity-color:var(--quality-color-3)}
.collectible-card[data-quality-tier="2"]{--rarity-color:var(--quality-color-2)}
.collectible-card[data-quality-tier="1"]{--rarity-color:var(--quality-color-1)}
.item-rarity{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:10px;color:#647269}
.item-rarity::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rarity-color);flex-shrink:0}

.role-assets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 0}.role-assets>div{padding:14px;background:#f4f8f5;border:1px solid #e1ebe4;border-radius:9px;min-width:0}.role-assets dt{font-size:11px;color:#647269}.role-assets dd{margin:7px 0 0;font-size:22px;font-weight:650;color:#167e56;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

.collectible-image[data-image-state="waiting"]::after{content:"滚动到此处后加载"}.collectible-image[data-image-state="loading"]::after{content:"图片加载中…"}
