:root{--primary: #2563eb;--bg: #0b1120;--text: #e5e7eb;--panel: rgba(255, 255, 255, .04);--border: rgba(255, 255, 255, .1);--muted: rgba(229, 231, 235, .66)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;line-height:1.7}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.announce-bar{background:#2563eb29;border-bottom:1px solid var(--border);font-size:14px}.announce-bar .wrap{padding:8px 20px}.announce-bar.warn{background:#eab30829}.announce-bar.danger{background:#ef444429}header.site{border-bottom:1px solid var(--border);position:sticky;top:0;backdrop-filter:blur(8px);background:color-mix(in srgb,var(--bg) 88%,transparent);z-index:20}header.site .wrap{display:flex;align-items:center;gap:20px;min-height:62px;flex-wrap:wrap}.brand{font-weight:700;font-size:18px;color:var(--text);display:flex;align-items:center;gap:8px}.brand img{height:26px}nav.main{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap}nav.main a{color:var(--muted);font-size:15px}nav.main a:hover{color:var(--text)}main{padding:34px 0 60px;min-height:60vh}.hero{padding:46px 0 30px}.hero h1{font-size:34px;margin:0 0 12px;line-height:1.3}.hero p{color:var(--muted);margin:0 0 22px;max-width:640px}.btn{display:inline-block;background:var(--primary);color:#fff;padding:11px 22px;border-radius:8px;font-weight:600}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px}.card h3{margin:0 0 8px;font-size:17px}.card p{color:var(--muted);margin:0 0 12px;font-size:14px}.card img.cover{width:100%;border-radius:8px;margin-bottom:12px;display:block}.meta{color:var(--muted);font-size:13px;display:flex;gap:10px;flex-wrap:wrap}.section-title{font-size:21px;margin:34px 0 16px}article.tutorial-body{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:26px}article.tutorial-body img{max-width:100%;border-radius:8px}article.tutorial-body figure{margin:18px 0}article.tutorial-body figcaption{color:var(--muted);font-size:13px;text-align:center;margin-top:6px}article.tutorial-body pre{background:#00000059;padding:14px;border-radius:8px;overflow:auto}article.tutorial-body code{background:#0000004d;padding:1px 5px;border-radius:4px;font-size:90%}article.tutorial-body pre code{background:none;padding:0}article.tutorial-body h1,article.tutorial-body h2,article.tutorial-body h3{margin-top:28px}.steps{display:flex;flex-direction:column;gap:12px;counter-reset:step}.step{display:flex;gap:14px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.step:before{counter-increment:step;content:counter(step);flex:0 0 28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:700}.tut-steps{display:grid;gap:20px;margin:24px 0}.tut-step{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.tut-step h2{margin:0 0 12px;font-size:17px;display:flex;align-items:center;gap:10px}.tut-step h2 .step-badge{flex:0 0 28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:700}.tut-step figure{margin:12px 0}.tut-step figure img{width:100%;border-radius:8px;border:1px solid var(--border)}.step b{display:block;margin-bottom:2px}.step span{color:var(--muted);font-size:14px}table.dl{width:100%;border-collapse:collapse;font-size:14px}table.dl th,table.dl td{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left}table.dl th{color:var(--muted);font-weight:600}code.hash{font-size:12px;word-break:break-all;color:var(--muted)}footer.site{border-top:1px solid var(--border);padding:26px 0 40px;color:var(--muted);font-size:14px}footer.site .links{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px}.notice{border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--panel);border-radius:8px;padding:12px 16px;margin:16px 0}.notice.warn{border-left-color:#eab308}.notice.danger{border-left-color:#ef4444}form.inline{display:flex;flex-direction:column;gap:12px;max-width:520px}input,textarea,select{background:#0000004d;border:1px solid var(--border);border-radius:8px;color:var(--text);padding:9px 12px;font:inherit;width:100%}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.stat-box{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px}.stat-box b{font-size:26px;display:block}.stat-box span{color:var(--muted);font-size:13px}.empty{color:var(--muted);padding:30px 0;text-align:center}
