@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&family=IBM+Plex+Sans:wght@400;500&display=swap";.lmv{--p-gray-950: #0b0d13;--p-gray-900: #11141d;--p-gray-850: #161929;--p-gray-800: #1c2035;--p-gray-750: #222744;--p-gray-700: #2b3154;--p-gray-600: #3d4570;--p-gray-500: #5c6490;--p-gray-400: #8c96bc;--p-gray-300: #b4bcda;--p-gray-100: #dde3f2;--l-gray-50: #f8fafc;--l-gray-100: #f1f5f9;--l-gray-200: #e2e8f0;--l-gray-300: #cbd5e1;--l-gray-400: #94a3b8;--l-gray-700: #334155;--l-gray-800: #1e293b;--l-gray-900: #0f172a;--p-blue-950: #080e1e;--p-blue-900: #0c1530;--p-blue-800: #122060;--p-blue-700: #1c3a88;--p-blue-400: #5a90f5;--p-blue-300: #88b0f8;--l-blue-100: #dbeafe;--l-blue-200: #bfdbfe;--l-blue-600: #2563eb;--l-blue-800: #1e40af;--p-amber-950: #160f02;--p-amber-900: #201505;--p-amber-800: #3a2608;--p-amber-700: #664410;--p-amber-400: #f0a818;--p-amber-300: #f8c848;--l-amber-100: #fef3c7;--l-amber-200: #fde68a;--l-amber-600: #d97706;--l-amber-800: #92400e;--p-green-950: #040e08;--p-green-900: #061410;--p-green-800: #0c2c18;--p-green-700: #135024;--p-green-400: #30cc5e;--p-green-300: #58de80;--l-green-100: #dcfce7;--l-green-200: #bbf7d0;--l-green-600: #16a34a;--l-green-800: #166534;--p-red-950: #130606;--p-red-900: #1c0a0a;--p-red-800: #381212;--p-red-700: #681c1c;--p-red-400: #f06464;--p-red-300: #f89090;--l-red-100: #fee2e2;--l-red-600: #dc2626;--l-red-800: #991b1b;--p-violet-900: #120e28;--p-violet-800: #201844;--p-violet-700: #342c78;--p-violet-500: #6c5ef0;--p-violet-400: #9080f8;--p-violet-300: #b8aafc;--l-violet-100: #ede9fe;--l-violet-600: #7c3aed;--l-violet-800: #5b21b6}.lmv{--c-bg: var(--l-gray-50);--c-surface: #ffffff;--c-surface-raised: var(--l-gray-100);--c-border: var(--l-gray-300);--c-border-subtle: var(--l-gray-200);--c-text: var(--l-gray-900);--c-text-muted: var(--l-gray-700);--c-text-faint: var(--l-gray-400);--c-accent: var(--l-violet-600);--c-accent-dim: var(--l-violet-800);--c-accent-bg: var(--l-violet-100);--c-accent-text: var(--l-violet-800);--c-danger-bg: var(--l-red-100);--c-danger-border: var(--l-red-600);--c-danger-text: var(--l-red-800);--c-warning-bg: var(--l-amber-100);--c-warning-border: var(--l-amber-600);--c-warning-text: var(--l-amber-800);--c-success-bg: var(--l-green-100);--c-success-border: var(--l-green-600);--c-success-text: var(--l-green-800);--c-info-bg: var(--l-blue-100);--c-info-border: var(--l-blue-600);--c-info-text: var(--l-blue-800);--cell-empty-bg: var(--l-gray-100);--cell-empty-bd: var(--l-gray-300);--cell-cold-bg: var(--l-blue-200);--cell-cold-bd: var(--l-blue-600);--cell-hot-wrong-bg: var(--l-amber-200);--cell-hot-wrong-bd: var(--l-amber-600);--cell-hot-right-bg: var(--l-green-200);--cell-hot-right-bd: var(--l-green-600);--cell-evict-bg: var(--l-gray-300);--cell-evict-bd: var(--l-gray-700)}html[data-theme=dark] .lmv{--c-bg: var(--p-gray-950);--c-surface: var(--p-gray-900);--c-surface-raised: var(--p-gray-800);--c-border: var(--p-gray-700);--c-border-subtle: var(--p-gray-750);--c-text: var(--p-gray-100);--c-text-muted: var(--p-gray-400);--c-text-faint: var(--p-gray-500);--c-accent: var(--p-violet-500);--c-accent-dim: var(--p-violet-700);--c-accent-bg: var(--p-violet-900);--c-accent-text: var(--p-violet-300);--c-danger-bg: var(--p-red-900);--c-danger-border: var(--p-red-700);--c-danger-text: var(--p-red-300);--c-warning-bg: var(--p-amber-950);--c-warning-border: var(--p-amber-700);--c-warning-text: var(--p-amber-300);--c-success-bg: var(--p-green-950);--c-success-border: var(--p-green-700);--c-success-text: var(--p-green-300);--c-info-bg: var(--p-blue-950);--c-info-border: var(--p-blue-700);--c-info-text: var(--p-blue-300);--cell-empty-bg: var(--p-gray-800);--cell-empty-bd: var(--p-gray-700);--cell-cold-bg: var(--p-blue-900);--cell-cold-bd: var(--p-blue-800);--cell-hot-wrong-bg: var(--p-amber-900);--cell-hot-wrong-bd: var(--p-amber-700);--cell-hot-right-bg: var(--p-green-900);--cell-hot-right-bd: var(--p-green-700);--cell-evict-bg: var(--p-gray-750);--cell-evict-bd: var(--p-gray-600)}.lmv{font-family:IBM Plex Sans,system-ui,sans-serif;background:var(--c-bg);color:var(--c-text);padding:24px;border-radius:12px;max-width:640px;margin:2rem auto;box-sizing:border-box;border:1px solid var(--c-border)}.lmv *,.lmv *:before,.lmv *:after{box-sizing:border-box}.lmv .tab-row{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--c-border-subtle)}.lmv .sc-tab{font-family:IBM Plex Mono,monospace;font-size:12px;background:transparent;border:1px solid var(--c-border-subtle);color:var(--c-text-muted);padding:5px 12px;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.lmv .sc-tab:hover{background:var(--c-surface-raised);color:var(--c-text)}.lmv .sc-tab.on{background:var(--c-accent-bg);border-color:var(--c-accent-dim);color:var(--c-accent-text);font-weight:600}.lmv .blocks-row{display:flex;align-items:flex-start;margin-bottom:16px}.lmv .mblock{flex:1;min-width:0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;padding:14px;transition:border-color .35s,box-shadow .35s}.lmv .mblock.bad{border-color:var(--c-danger-border);box-shadow:0 0 0 1px var(--c-danger-border)}.lmv .mblock.warn{border-color:var(--c-warning-border);box-shadow:0 0 0 1px var(--c-warning-border)}.lmv .mblock.good{border-color:var(--c-success-border);box-shadow:0 0 0 1px var(--c-success-border)}.lmv .mblock.dim{opacity:.32}.lmv .mb-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}.lmv .mb-label{display:flex;align-items:center;gap:7px}.lmv .mb-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.lmv .mb-name{font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;color:var(--c-text)}.lmv .mb-badge{font-family:IBM Plex Mono,monospace;font-size:10px;padding:2px 7px;border-radius:4px;white-space:nowrap;flex-shrink:0}.lmv .badge-fast{background:var(--c-info-bg);color:var(--c-info-text);border:1px solid var(--c-info-border)}.lmv .badge-fastg{background:var(--c-success-bg);color:var(--c-success-text);border:1px solid var(--c-success-border)}.lmv .badge-slow{background:var(--c-surface-raised);color:var(--c-text-faint);border:1px solid var(--c-border)}.lmv .badge-none{color:var(--c-text-faint);font-style:italic;border:1px solid transparent}.lmv .fill-track{height:3px;background:var(--c-surface-raised);border-radius:2px;margin-bottom:10px;overflow:hidden}.lmv .fill-bar{height:100%;width:0%;border-radius:2px;transition:width .5s cubic-bezier(.4,0,.2,1),background .35s}.lmv .fill-bar.fb-bad{background:var(--c-danger-border)}.lmv .fill-bar.fb-warn{background:var(--c-warning-border)}.lmv .fill-bar.fb-good{background:var(--c-success-border)}.lmv .fill-bar.fb-info{background:var(--c-info-border)}.lmv .fill-bar.fb-faint{background:var(--c-border)}.lmv .cgrid{display:grid;grid-template-columns:repeat(16,1fr);gap:2px;margin-bottom:8px}.lmv .gc{aspect-ratio:1;border-radius:2px;background:var(--cell-empty-bg);border:1px solid var(--cell-empty-bd);transition:background .28s,border-color .28s}.lmv .gc.cold{background:var(--cell-cold-bg);border-color:var(--cell-cold-bd)}.lmv .gc.hot-wrong{background:var(--cell-hot-wrong-bg);border-color:var(--cell-hot-wrong-bd)}.lmv .gc.hot-right{background:var(--cell-hot-right-bg);border-color:var(--cell-hot-right-bd)}.lmv .gc.evict{background:var(--cell-evict-bg);border-color:var(--cell-evict-bd)}.lmv .mb-kind{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--c-text-muted);min-height:16px}.lmv .conn{display:flex;flex-direction:column;align-items:center;padding-top:38px;width:32px;flex-shrink:0;gap:3px;opacity:.2;transition:opacity .35s}.lmv .conn.lit{opacity:1}.lmv .conn-cap{width:5px;height:5px;border-radius:50%;background:var(--c-text-muted);flex-shrink:0}.lmv .conn-shaft{width:1.5px;flex:1;max-height:56px;min-height:16px;background:var(--c-text-muted)}.lmv .out-bar{display:none;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;margin-bottom:16px;opacity:0;transform:translateY(4px);transition:opacity .28s,transform .28s}.lmv .out-bar.visible{opacity:1;transform:translateY(0)}.lmv .out-bar.oom{background:var(--c-danger-bg);border:1px solid var(--c-danger-border);color:var(--c-danger-text)}.lmv .out-bar.freeze{background:var(--c-warning-bg);border:1px solid var(--c-warning-border);color:var(--c-warning-text)}.lmv .out-bar.smooth{background:var(--c-success-bg);border:1px solid var(--c-success-border);color:var(--c-success-text)}.lmv .out-icon{width:18px;height:18px;flex-shrink:0}.lmv .out-title{font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600}.lmv .out-sub{font-size:12px;opacity:.8;margin-top:2px}.lmv .legend-row{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:14px}.lmv .leg{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--c-text-muted)}.lmv .leg-sw{display:inline-block;width:10px;height:10px;border-radius:2px;flex-shrink:0}.lmv .leg-hot-right{background:var(--cell-hot-right-bg);border:1px solid var(--cell-hot-right-bd)}.lmv .leg-hot-wrong{background:var(--cell-hot-wrong-bg);border:1px solid var(--cell-hot-wrong-bd)}.lmv .leg-cold{background:var(--cell-cold-bg);border:1px solid var(--cell-cold-bd)}.lmv .leg-evict{background:var(--cell-evict-bg);border:1px solid var(--cell-evict-bd)}.lmv .leg-empty{background:var(--cell-empty-bg);border:1px solid var(--cell-empty-bd)}.lmv .sdesc{font-size:13px;line-height:1.7;color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border-subtle);border-radius:8px;padding:12px 14px;margin-bottom:16px}.lmv .nav-row{display:flex;align-items:center;gap:12px}.lmv .nav-btn{font-family:IBM Plex Mono,monospace;font-size:12px;background:var(--c-surface-raised);border:1px solid var(--c-border);color:var(--c-text-muted);padding:6px 14px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.lmv .nav-btn:hover:not(:disabled){background:var(--c-border);color:var(--c-text)}.lmv .nav-btn:disabled{opacity:.28;cursor:default}.lmv .step-dots{flex:1;display:flex;justify-content:center;gap:7px}.lmv .step-dot{width:5px;height:5px;border-radius:50%;background:var(--c-border);transition:background .2s,transform .2s}.lmv .step-dot.on{background:var(--c-accent);transform:scale(1.4)}@media(max-width:540px){.lmv{padding:16px;margin:1rem auto}.lmv .blocks-row{flex-direction:column;gap:8px}.lmv .conn{flex-direction:row;padding-top:0;width:100%;height:16px;justify-content:center}.lmv .conn-shaft{width:24px;height:1.5px;flex:none;max-height:none;min-height:auto}.lmv .sdesc{font-size:12px}}
