:root{--bg: #F5F6F8;--surface: #FFFFFF;--surface-2: #F9FAFB;--border: #E4E7EC;--text: #1D2330;--text-2: #5B6474;--text-3: #8A93A3;--primary: #3558E6;--primary-bg: #EEF2FF;--success: #16A34A;--success-bg: #EAF7EF;--warning: #D97706;--warning-bg: #FEF4E6;--danger: #DC2626;--danger-bg: #FDECEC;--info: #0EA5E9;--info-bg: #E8F6FD;--vip: #B7791F;--member: #7C3AED;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--shadow-1: 0 1px 2px rgba(16, 24, 40, .06);--shadow-2: 0 8px 24px rgba(16, 24, 40, .12);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}:root[data-theme=dark]{--bg: #0F1115;--surface: #171A20;--surface-2: #1D2129;--border: #2A2F38;--text: #E7EAF0;--text-2: #A3ABB8;--text-3: #707887;--primary: #5B7BFF;--primary-bg: #1C2440;--success: #34C06A;--success-bg: #12281B;--warning: #F0A43A;--warning-bg: #2B2112;--danger: #F26262;--danger-bg: #2C1616;--info: #38BDF8;--info-bg: #0F2230}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:14px/22px var(--font)}a{color:var(--primary);text-decoration:none}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.app{display:grid;grid-template-columns:232px 1fr;grid-template-rows:56px 1fr;min-height:100vh}.top{grid-column:1 / 3;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.logo{display:flex;align-items:center;gap:8px;font-weight:600;width:200px;color:var(--text)}.logo i{width:24px;height:24px;border-radius:6px;background:var(--primary);display:inline-block}.top .spacer{margin-left:auto}.side{background:var(--surface);border-right:1px solid var(--border);padding:12px 8px;display:flex;flex-direction:column;position:sticky;top:56px;height:calc(100vh - 56px);overflow:auto}.side a{display:flex;align-items:center;gap:10px;padding:0 12px;height:40px;border-radius:var(--radius);color:var(--text-2);position:relative}.side a:hover{background:var(--surface-2)}.side a.on{background:var(--primary-bg);color:var(--primary);font-weight:500}.side a.on:before{content:"";position:absolute;left:-8px;top:10px;bottom:10px;width:3px;border-radius:2px;background:var(--primary)}.side a.sub{padding-left:40px;height:34px}.side .group{display:flex;align-items:center;gap:10px;padding:0 12px;height:40px;color:var(--text-2)}.side .usage{margin-top:auto;padding:12px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;color:var(--text-2);cursor:pointer}.bar{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden;margin:4px 0 8px;border:1px solid var(--border)}.bar>i{display:block;height:100%;background:var(--primary)}.bar.warn>i{background:var(--warning)}.bar.bad>i{background:var(--danger)}.main{padding:20px 24px 40px;overflow:auto;min-width:0}.crumb{font-size:12px;color:var(--text-3);margin-bottom:4px}.phead{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.phead h2{font-size:20px;line-height:28px;margin:0 auto 0 0;font-weight:600}.banner{display:flex;gap:10px;align-items:center;padding:10px 14px;border-radius:var(--radius);margin-bottom:16px;font-size:13px}.banner.warn{background:var(--warning-bg);color:var(--warning)}.banner.info{background:var(--primary-bg);color:var(--primary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.card .hd{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border);font-weight:600;font-size:15px}.card .hd .x{margin-left:auto;font-weight:400;font-size:13px}.card .bd{padding:16px}.grid{display:grid;gap:16px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media(max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g2,.g3{grid-template-columns:1fr}}.stat{padding:16px}.stat small{color:var(--text-2);font-size:12px}.stat b{display:block;font-size:28px;line-height:36px;font-weight:600;font-variant-numeric:tabular-nums}.list-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed var(--border)}.list-row:last-child{border:0}.tag{display:inline-flex;align-items:center;gap:5px;padding:0 8px;height:22px;border-radius:var(--radius-sm);font-size:12px;white-space:nowrap}.tag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.tag.ok{background:var(--success-bg);color:var(--success)}.tag.draft{background:var(--surface-2);color:var(--text-2)}.tag.off{background:var(--surface-2);color:var(--text-3)}.tag.warn{background:var(--warning-bg);color:var(--warning)}.tag.info{background:var(--info-bg);color:var(--info)}.tag.bad{background:var(--danger-bg);color:var(--danger)}.tag.line{background:none;border:1px solid currentColor}.tag.line:before{display:none}.tag.vip{color:var(--vip)}.tag.mem{color:var(--member)}.editor{display:grid;grid-template-rows:56px 1fr;min-height:100vh;background:var(--surface)}.editor .etop{display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:5}.editor .ebody{display:grid;grid-template-columns:1fr 320px;min-height:0}.editor .paper{padding:32px 24px;overflow:auto}.editor .paper .inner{max-width:760px;margin:0 auto}.editor .ttl{font-size:28px;line-height:38px;font-weight:600;border:0;outline:0;width:100%;background:none;padding:0;margin:8px 0 12px;color:var(--text)}.toolbar{display:flex;gap:2px;padding:6px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:18px;flex-wrap:wrap;background:var(--surface-2)}.toolbar button{padding:2px 8px;border-radius:4px;color:var(--text-2);font-size:13px;border:0;background:none;cursor:pointer}.toolbar button.on,.toolbar button:hover{background:var(--primary-bg);color:var(--primary)}.prose{font-size:16px;line-height:1.85;min-height:360px;outline:none}.prose:focus{outline:none}.prose h2,.prose h3{margin:22px 0 8px}.prose img{max-width:100%}.panel{border-left:1px solid var(--border);padding:16px;overflow:auto;background:var(--surface)}.panel h4{margin:0 0 12px;font-size:14px}.themer{display:grid;grid-template-columns:280px 1fr 320px;gap:16px;align-items:start}.themer .preview{min-height:560px;display:grid;place-items:center;text-align:center;padding:24px}.swatch{width:20px;height:20px;border-radius:4px;border:1px solid var(--border);display:inline-block;vertical-align:middle}
