*{box-sizing:border-box}body{color:#1f2937;background:#f7f7f5;margin:0;font-family:system-ui,-apple-system,sans-serif}.wrap{max-width:1100px;margin:0 auto;padding:20px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.btn{font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:7px 12px;font-size:13px}.btn:hover{background:#f1f5f9}.btn:disabled{opacity:.5;cursor:default}.btn.ok{color:#15803d;border-color:#86efac}.btn.bad{color:#b91c1c;border-color:#fca5a5}.badge{border-radius:8px;padding:2px 8px;font-size:11px}.b-needs_review{color:#92400e;background:#fef3c7}.b-published{color:#166534;background:#dcfce7}.b-rejected{color:#991b1b;background:#fee2e2}.b-draft,.b-approved,.b-flagged{color:#475569;background:#eef2f7}.cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.card{text-align:center;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px}.card .pic{background:#fff;border:1px solid #f1f5f9;border-radius:8px;justify-content:center;align-items:center;height:96px;display:flex}.card .pic img{max-width:84px;max-height:84px}.ph{color:#94a3b8;border:1px dashed #cbd5e1;border-radius:8px;justify-content:center;align-items:center;height:96px;font-size:12px;display:flex}.lbl{margin-top:8px;font-size:14px;font-weight:500}.sub{color:#64748b;font-size:12px}.code{color:#475569;background:#f8fafc;border:1px solid #e5e7eb;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.mc{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px}.mc .n{font-size:22px;font-weight:500}.stats{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin:14px 0;display:grid}.drawer{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;position:sticky;top:16px}input,select{font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:7px 10px;font-size:13px}.bar{background:#e5e7eb;border-radius:999px;height:6px;overflow:hidden}.bar>div{background:#2563eb;height:100%;transition:width .2s}.pill{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:5px 10px;font-size:12px}.pill.active{color:#fff;background:#2563eb;border-color:#2563eb}.modal-bg{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:320px;padding:20px}.field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.tree{background:#fff;border:1px solid #e5e7eb;border-radius:12px;max-height:70vh;padding:10px;overflow:auto}.tree-row{align-items:center;gap:8px;padding:3px 6px;font-size:14px;display:flex}.tree-row:hover{background:#f8fafc}.tree-row img{background:#fff;border-radius:4px}.tree-toggle{cursor:pointer;color:#64748b;background:0 0;border:none;width:22px;font-size:12px}.b-not_imported{color:#94a3b8;background:#f1f5f9}.b-imported{color:#075985;background:#e0f2fe}.b-bug{color:#991b1b;background:#fee2e2}.b-idea{color:#166534;background:#dcfce7}.b-other{color:#475569;background:#eef2f7}.tabs{gap:8px;margin:12px 0 4px;display:flex}textarea{font:inherit;resize:vertical;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:8px 10px;font-size:13px}.notice{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;margin-top:8px;padding:8px 12px;font-size:13px}.compare{justify-content:center;align-items:center;gap:10px;display:flex}.compare .pic{flex:1}.nav{background:#fff;border-bottom:1px solid #e5e7eb}.nav-inner{align-items:center;gap:4px;padding-top:10px;padding-bottom:10px;display:flex}.nav-brand{margin-right:12px;font-size:14px;font-weight:600}.nav-link{color:#475569;border-radius:999px;padding:5px 12px;font-size:13px;text-decoration:none}.nav-link:hover{background:#f1f5f9}.nav-link.active{color:#fff;background:#2563eb}.switch{flex:none;width:38px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch .knob{pointer-events:none;background:#cbd5e1;border-radius:999px;transition:background .15s;position:absolute;inset:0}.switch .knob:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:3px;left:3px}.switch.on .knob{background:#2563eb}.switch.on .knob:after{left:19px}.charts{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin:14px 0;display:grid}.chart-box{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px}.chart{align-items:flex-end;gap:2px;height:110px;margin:8px 0 4px;display:flex}.chart-col{flex:1;align-items:flex-end;height:100%;display:flex}.chart-col:hover{background:#f1f5f9}.chart-bar{background:#2563eb;border-radius:2px 2px 0 0;width:100%;min-height:1px}.tbl{border-collapse:collapse;width:100%;margin-top:8px;font-size:13px}.tbl th{text-align:left;color:#64748b;font-weight:500}.tbl th,.tbl td{border-bottom:1px solid #f1f5f9;padding:5px 8px 5px 0}.rm{max-width:1180px;font-family:var(--rm-font-body), system-ui, sans-serif;margin:0 auto;padding:20px 20px 64px;font-size:15px;line-height:1.55}.rm h1,.rm h2,.rm h3{font-family:var(--rm-font-display), var(--rm-font-body), system-ui, sans-serif;text-wrap:balance;margin:0}.rm-mast{border-bottom:2px solid #1f2937;padding-bottom:18px}.rm-mast-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:6px 28px;display:flex}.rm-mast h1{letter-spacing:-.022em;font-size:clamp(28px,4vw,42px);font-weight:700;line-height:1}.rm-mast h1 em{color:#2563eb;font-style:normal}.rm-mast-meta{font-family:var(--rm-font-mono), ui-monospace, monospace;color:#64748b;text-align:right;margin:0;font-size:12px;line-height:1.5}.rm-lede{color:#475569;max-width:84ch;margin:14px 0 0;font-size:14.5px}.rm-legend{margin-top:22px}.rm-legend-lead{flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:10px;display:flex}.rm-legend-lead h2{letter-spacing:.1em;text-transform:uppercase;color:#64748b;font-size:12px;font-weight:700}.rm-legend-lead p{color:#64748b;margin:0;font-size:13px}.rm-lg-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rm-lg{cursor:pointer;color:#1f2937;font:inherit;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 9px;font-size:13px;transition:opacity .14s,border-color .14s,background .14s;display:inline-flex}.rm-lg:hover{border-color:var(--rm-line)}.rm-lg[aria-pressed=false]{opacity:.4;background:0 0;border-style:dashed}.rm-lg-dot{background:var(--rm-line);border-radius:2px;flex:none;width:9px;height:9px}.rm-lg-name{font-weight:500}.rm-lg-aac,.rm-lg-n{font-family:var(--rm-font-mono), monospace;color:#64748b;font-size:11.5px}.rm-lg-n{font-variant-numeric:tabular-nums}.rm-reset{color:#64748b;font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-left:auto;padding:5px 2px;font-size:12.5px;text-decoration:underline}.rm-lg:focus-visible,.rm-reset:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.rm-gates{background:#fffbeb;border:1px solid #fde68a;border-left:4px solid #f59e0b;border-radius:3px;margin-top:30px;padding:16px 18px}.rm-gates-head h2+p{margin-top:5px}.rm-gates-head h2{color:#92400e;font-size:15.5px;font-weight:700}.rm-gates-head p{color:#475569;max-width:66ch;margin:0;font-size:13px}.rm-gates ul{background:#fde68a;flex-direction:column;gap:1px;margin:12px 0 0;padding:0;list-style:none;display:flex}.rm-gate{background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 18px;padding:11px 13px;display:flex}.rm-gate-body{flex:380px;min-width:0}.rm-gate h3{font-family:var(--rm-font-body), system-ui, sans-serif;font-size:14.5px;font-weight:600}.rm-gate p{color:#475569;max-width:74ch;margin:3px 0 0;font-size:13px}.rm-gate-meta{flex-wrap:wrap;flex:0 auto;align-items:baseline;gap:10px;min-width:0;display:flex}.rm-tier{margin-top:38px}.rm-tier-head{border-bottom:1px solid #e5e7eb;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 12px;padding-bottom:10px;display:grid}.rm-tier-badge{font-family:var(--rm-font-mono), monospace;color:#f7f7f5;background:#1f2937;border-radius:3px;padding:6px 8px;font-size:13px;font-weight:700;line-height:1}.rm-tier--0 .rm-tier-badge{color:#fff;background:#2563eb}.rm-tier-head h2{letter-spacing:-.012em;font-size:clamp(19px,2.2vw,25px);font-weight:700}.rm-tier-count{font-family:var(--rm-font-mono), monospace;color:#64748b;font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.rm-tier-gloss{color:#64748b;grid-column:2/-1;max-width:76ch;margin:0;font-size:13px}.rm-grid{gap:12px;margin-top:16px;display:grid}.rm-grid--lead{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.rm-grid--std{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.rm-grid--compact{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.rm-grid--row{background:#e5e7eb;border-radius:3px;grid-template-columns:1fr;gap:1px;overflow:hidden}.rm-card{background:#fff;flex-direction:column;display:flex;position:relative}.rm-card h3{font-family:var(--rm-font-body), system-ui, sans-serif;letter-spacing:-.005em}.rm-desc{color:#475569;margin:5px 0 0}.rm-rank{font-family:var(--rm-font-mono), monospace;color:#94a3b8;font-variant-numeric:tabular-nums;flex:none;font-size:12px;font-weight:500}.rm-meta{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:auto;display:flex}.rm-chip{font-family:var(--rm-font-body), system-ui, sans-serif;color:var(--rm-ink);background:var(--rm-fill);border:1px solid var(--rm-line);white-space:nowrap;border-radius:3px;padding:3px 7px;font-size:11.5px;font-weight:500}.rm-who{color:#64748b;white-space:nowrap;align-items:center;gap:4px;font-size:11.5px;display:inline-flex}.rm-src{font-family:var(--rm-font-mono), monospace;color:#64748b;text-align:right;margin-left:auto;font-size:11.5px;line-height:1.3}.rm .code,.rm-src{overflow-wrap:anywhere}.rm-body,.rm-meta,.rm-gate-body{min-width:0}.rm-card--lead{border:1px solid #e5e7eb;border-left:4px solid var(--rm-line);border-radius:3px;gap:12px;padding:16px 18px 14px;box-shadow:0 1px 2px #1f29370d,0 6px 20px -12px #1f293733}.rm-card--lead .rm-rank{font-size:13px;position:absolute;top:16px;right:16px}.rm-card--lead h3{padding-right:26px;font-size:18.5px;font-weight:700}.rm-card--lead .rm-desc{max-width:56ch;font-size:14px}.rm-why{color:#475569;background:#f8fafc;border-radius:3px;max-width:60ch;margin:11px 0 0;padding:10px 12px;font-size:13px}.rm-why-l{font-family:var(--rm-font-mono), monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--rm-line);margin-bottom:5px;font-size:10.5px;font-weight:500;line-height:1;display:block}.rm-card--std{border:1px solid #e5e7eb;border-top:3px solid var(--rm-line);border-radius:3px;gap:10px;padding:13px 15px}.rm-card--std .rm-body{gap:9px;display:flex}.rm-card--std h3{font-size:15.5px;font-weight:600}.rm-card--std .rm-desc{font-size:13px}.rm-card--std .rm-rank{padding-top:3px}.rm-card--compact{background:#fcfcfd;border:1px solid #f1f5f9;border-radius:3px;gap:8px;padding:11px 13px}.rm-card--compact .rm-body{gap:8px;display:flex}.rm-card--compact h3{border-left:3px solid var(--rm-line);margin-left:-2px;padding-left:8px;font-size:14px;font-weight:600}.rm-card--compact .rm-desc{padding-left:9px;font-size:12.5px}.rm-card--compact .rm-rank{padding-top:2px}.rm-card--compact .rm-meta{padding-left:9px}.rm-card--row{border:0;border-radius:0;padding:10px 13px}.rm-card--row .rm-rank{float:left;margin-right:9px;line-height:1.5}.rm-card--row h3{border-left:3px solid var(--rm-line);padding-left:8px;font-size:14px;font-weight:600;display:inline}.rm-card--row .rm-desc{margin:0;font-size:12.5px;display:inline}.rm-card--row .rm-meta{margin-top:6px}.rm-card--row .rm-src{margin-left:auto}.rm-empty{color:#64748b;border:1px dashed #cbd5e1;border-radius:3px;margin-top:18px;padding:14px;font-size:13.5px}.rm-closed{border-top:1px solid #e5e7eb;margin-top:44px;padding-top:20px}.rm-closed h2{font-size:15.5px;font-weight:700}.rm-closed p{color:#475569;max-width:78ch;margin:9px 0 0;font-size:13.5px}.rm-foot{font-family:var(--rm-font-mono), monospace;color:#64748b;border-top:1px solid #f1f5f9;margin-top:34px;padding-top:16px;font-size:12px;line-height:1.6}@media (max-width:640px){.rm-mast-meta{text-align:left}.rm-src{margin-left:0}.rm-tier-head{grid-template-columns:auto 1fr}.rm-tier-count{grid-area:1/2;justify-self:end}}@media (prefers-reduced-motion:reduce){.rm *{transition:none!important}}.vg-studio{max-width:1440px}.vg-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.vg-header h1{margin:12px 0 8px}.vg-header a{color:#475569;font-size:13px}.vg-layout{grid-template-columns:190px minmax(0,1fr);gap:24px;margin-top:20px;display:grid}.vg-sidebar{flex-direction:column;align-self:start;gap:8px;display:flex;position:sticky;top:16px}.vg-group-link{text-align:left;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:12px;font-size:14px}.vg-group-link small{color:#64748b;margin-top:4px;display:block}.vg-group-link.active{background:#eff6ff;border-color:#93c5fd}.vg-main{min-width:0}.vg-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:20px}.vg-section h2{margin:0 0 16px;font-size:18px}.vg-section h3{margin:0 0 12px;font-size:15px}.vg-section p{font-size:13px;line-height:1.6}.vg-section label{font-size:13px}.vg-reference-row{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.vg-reference{flex-direction:column;align-items:flex-start;gap:6px;max-width:240px;display:flex}.vg-reference img,.vg-reference-row>img,.vg-publication-row img{object-fit:contain;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.vg-reference .sub{overflow-wrap:anywhere}.vg-members{margin-top:18px}.vg-members summary,.vg-review-card summary{cursor:pointer;padding:8px 0;font-size:13px}.vg-member-options{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px;max-height:320px;margin:12px 0;display:grid;overflow:auto}.vg-member-option{border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;padding:7px;display:flex}.vg-member-option small{color:#64748b;font-size:11px;display:block}.vg-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:12px;font-size:13px}.vg-error{color:#b91c1c;overflow-wrap:anywhere}.vg-picker{background:#f8fafc;margin-top:14px}.vg-picker-concepts{gap:8px;padding:14px 0;display:flex;overflow:auto}.vg-image-option{cursor:pointer;min-width:88px;font:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px;font-size:12px;display:flex}.vg-image-option.active{border-color:#2563eb}.vg-image-option img{object-fit:contain}.vg-run-summary{background:#f8fafc;border-radius:8px;padding:16px}.vg-run-summary progress{accent-color:#2563eb;width:100%;height:8px;margin-bottom:12px}.vg-review-grid{grid-template-columns:repeat(auto-fit,minmax(295px,1fr));gap:14px;display:grid}.vg-review-card{border:1px solid #e2e8f0;border-radius:10px;min-width:0;padding:14px}.vg-card-label code{overflow-wrap:anywhere;margin-left:auto}.vg-comparison{justify-content:center;gap:12px;margin:12px 0;display:flex}.vg-comparison-image{border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;max-width:100%;display:flex}.vg-comparison-image img{object-fit:contain;max-width:100%;max-height:100%}.vg-review-card details{margin-top:10px}.vg-paths{color:#64748b;max-height:140px;padding-left:18px;font-size:11px;overflow:auto}.vg-modal{width:min(760px,100vw - 32px);max-height:calc(100vh - 40px);overflow:auto}.vg-publication-list{max-height:50vh;margin-bottom:18px;overflow:auto}.vg-publication-row{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0;display:flex}.vg-publication-row code{overflow-wrap:anywhere;flex:1}.vg-studio button:focus-visible,.vg-modal button:focus-visible{outline-offset:3px;outline:2px solid #2563eb}@media (max-width:800px){.vg-layout{grid-template-columns:1fr}.vg-sidebar{flex-direction:row;position:static;overflow:auto}.vg-group-link{min-width:140px}.vg-section{padding:14px}}@media (max-width:420px){.vg-review-grid{grid-template-columns:minmax(0,1fr)}.vg-review-card{padding:10px}}
