.mesh-tool{--mm-bg:#f2efe9;--mm-surface:#fff;--mm-surface-2:#0000000a;--mm-text:#221f1a;--mm-muted:#6b655c;--mm-border:#e3ddce;--mm-accent:#8a6d35;--mm-accent-soft:#b3934c24;--mm-action:#5a3c22;--mm-action-hover:#4a331d;--mm-on-action:#fff;--mm-strong:#8a6d35;--mm-fair:#9a7c37;--mm-weak:#c97628;--mm-fragile:#b3543a;--mm-shadow:0 2px 10px #0000000f;--mm-radius:14px;background:var(--mm-bg);color:var(--mm-text);padding:32px 0 64px;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.65}html.dark .mesh-tool{--mm-bg:#0b0c12;--mm-surface:#14151f;--mm-surface-2:#ffffff12;--mm-text:#efeae0;--mm-muted:#a7a5b0;--mm-border:#2c2d3a;--mm-accent:#b49050;--mm-accent-soft:#d3b46e24;--mm-action:#4a331d;--mm-action-hover:#5a3c22;--mm-strong:#b49050;--mm-fair:#c2a35d;--mm-weak:#d99a4e;--mm-fragile:#d0705a;--mm-shadow:0 2px 10px #00000059}.mesh-tool *,.mesh-tool :before,.mesh-tool :after{box-sizing:border-box}.mesh-tool [hidden]{display:none!important}.mesh-tool .mm-wrap{max-width:1120px;margin:0 auto;padding:0 20px}.mesh-tool .mm-intro{max-width:780px}.mesh-tool .mm-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--mm-accent);margin:0 0 10px;font-size:13px;font-weight:600}.mesh-tool h1{letter-spacing:-.01em;margin:0 0 14px;font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(30px,4vw,42px);font-weight:700;line-height:1.15}.mesh-tool .mm-lede{color:var(--mm-muted);margin:0;font-size:17px}.mesh-tool .mm-form{background:var(--mm-surface);border:1px solid var(--mm-border);border-radius:var(--mm-radius);box-shadow:var(--mm-shadow);margin:26px 0 30px;padding:22px}.mesh-tool .mm-inputs{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:22px;display:grid}.mesh-tool .mm-field{flex-direction:column;min-width:0;display:flex}.mesh-tool .mm-label{margin-bottom:6px;font-family:Space Grotesk,Inter,sans-serif;font-size:16px;font-weight:600}.mesh-tool .mm-help{color:var(--mm-muted);margin:0 0 10px;font-size:14px}.mesh-tool .mm-help--tight{margin:0 0 8px;font-size:13.5px}.mesh-tool .mm-textarea{min-height:230px;color:var(--mm-text);background:var(--mm-bg);border:1px solid var(--mm-border);resize:vertical;border-radius:12px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5}.mesh-tool .mm-textarea:focus-visible,.mesh-tool .mm-drop:focus-within{outline:2px solid var(--mm-accent);outline-offset:2px}.mesh-tool .mm-side{flex-direction:column;gap:14px;min-width:0;display:flex}.mesh-tool .mm-drop{text-align:center;background:var(--mm-bg);border:1px dashed var(--mm-border);border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;min-height:190px;padding:18px;transition:border-color .18s,background .18s;display:flex}.mesh-tool .mm-drop.is-over{border-color:var(--mm-accent);background:var(--mm-accent-soft)}.mesh-tool .mm-drop-mark{width:44px;height:44px;color:var(--mm-accent);background:var(--mm-accent-soft);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.mesh-tool .mm-drop-title{color:var(--mm-muted);margin:0;font-size:14.5px}.mesh-tool .mm-drop-label{color:var(--mm-accent);cursor:pointer;font-family:Space Grotesk,Inter,sans-serif;font-weight:600;text-decoration:underline}.mesh-tool .mm-file{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mesh-tool .mm-drop-meta{color:var(--mm-muted);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:12.5px}.mesh-tool .mm-sample{background:var(--mm-surface-2);border-radius:12px;padding:14px}.mesh-tool .mm-error{color:var(--mm-fragile);background:var(--mm-surface-2);border-left:3px solid var(--mm-fragile);border-radius:4px;margin:18px 0 0;padding:12px 14px;font-size:14.5px}.mesh-tool .mm-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0 0;display:flex}.mesh-tool .mm-actions--tight{margin-top:16px}.mesh-tool .mm-hint{color:var(--mm-muted);font-size:13px}.mesh-tool .mm-button{color:var(--mm-on-action);background:var(--mm-action);border:1.5px solid var(--mm-action);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:12px 24px;font-family:Space Grotesk,Inter,sans-serif;font-size:16px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex}.mesh-tool .mm-button:hover{background:var(--mm-action-hover);border-color:var(--mm-action-hover);transform:translateY(-2px)}.mesh-tool .mm-button:focus-visible{outline:2px solid var(--mm-accent);outline-offset:3px}.mesh-tool .mm-button--ghost{color:var(--mm-text);border-color:var(--mm-border);background:0 0}.mesh-tool .mm-button--ghost:hover{color:var(--mm-accent);border-color:var(--mm-accent);background:0 0}.mesh-tool .mm-results{flex-direction:column;gap:22px;margin:0 0 34px;display:flex}.mesh-tool .mm-card{background:var(--mm-surface);border:1px solid var(--mm-border);border-radius:var(--mm-radius);box-shadow:var(--mm-shadow);padding:20px 22px}.mesh-tool .mm-card-title{margin:0 0 8px;font-family:Space Grotesk,Inter,sans-serif;font-size:20px;font-weight:600;line-height:1.25}.mesh-tool .mm-summary{border-left:4px solid var(--mm-accent)}.mesh-tool .mm-summary-label{letter-spacing:.14em;text-transform:uppercase;color:var(--mm-accent);margin:0 0 6px;font-size:13px;font-weight:600}.mesh-tool .mm-summary-headline{margin:0 0 8px;font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.2}.mesh-tool .mm-summary-body{color:var(--mm-muted);margin:0;font-size:16px}.mesh-tool .mm-summary-body+.mm-summary-body{margin-top:8px}.mesh-tool .mm-chips{flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.mesh-tool .mm-chip{color:var(--mm-accent);background:var(--mm-accent-soft);font-variant-numeric:tabular-nums;border-radius:999px;padding:4px 12px;font-family:Space Grotesk,Inter,sans-serif;font-size:14px;font-weight:700}.mesh-tool .mm-chip--muted{color:var(--mm-muted);background:var(--mm-surface-2)}.mesh-tool .mm-warnings{border-left:4px solid var(--mm-weak)}.mesh-tool .mm-warnings ul{color:var(--mm-muted);margin:0;padding-left:20px;font-size:14.5px}.mesh-tool .mm-figure{margin:0}.mesh-tool .mm-figure-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.mesh-tool .mm-figure-title{font-family:Space Grotesk,Inter,sans-serif;font-size:18px;font-weight:600}.mesh-tool .mm-figure-meta{color:var(--mm-muted);font-variant-numeric:tabular-nums;font-size:13px}.mesh-tool .mm-map svg{touch-action:manipulation;width:100%;height:auto;display:block}.mesh-tool .mm-map .mm-ring{fill:none;stroke:var(--mm-border);stroke-width:1px;stroke-dasharray:3 5}.mesh-tool .mm-map .mm-edge{stroke-width:2.4px;stroke-linecap:round;opacity:.75}.mesh-tool .mm-map .mm-edge--strong{stroke:var(--mm-strong)}.mesh-tool .mm-map .mm-edge--fair{stroke:var(--mm-fair)}.mesh-tool .mm-map .mm-edge--weak{stroke:var(--mm-weak);stroke-dasharray:6 4}.mesh-tool .mm-map .mm-edge--fragile{stroke:var(--mm-fragile);stroke-dasharray:3 4}.mesh-tool .mm-map .mm-edge.is-dimmed{opacity:.15}.mesh-tool .mm-map .mm-node{cursor:pointer}.mesh-tool .mm-map .mm-node-shape{stroke:var(--mm-surface);stroke-width:2px}.mesh-tool .mm-map .mm-node--coordinator .mm-node-shape{fill:var(--mm-accent)}.mesh-tool .mm-map .mm-node--router .mm-node-shape{fill:var(--mm-action)}.mesh-tool .mm-map .mm-node--end-device .mm-node-shape,.mesh-tool .mm-map .mm-node--unknown .mm-node-shape{fill:var(--mm-surface);stroke:var(--mm-muted);stroke-width:2.4px}.mesh-tool .mm-map .mm-node--unreached .mm-node-shape{stroke:var(--mm-fragile);stroke-dasharray:3 3}.mesh-tool .mm-map .mm-node-label{fill:var(--mm-muted);text-anchor:middle;paint-order:stroke;stroke:var(--mm-surface);stroke-width:3px;stroke-linejoin:round;font-family:Inter,system-ui,sans-serif;font-size:10px}.mesh-tool .mm-map .mm-node.is-active .mm-node-shape{stroke:var(--mm-accent);stroke-width:3px}.mesh-tool .mm-map .mm-node:focus{outline:none}.mesh-tool .mm-map .mm-node:focus-visible .mm-node-shape{stroke:var(--mm-accent);stroke-width:4px}.mesh-tool .mm-legend{color:var(--mm-muted);flex-wrap:wrap;gap:14px;margin:14px 0 10px;font-size:13px;display:flex}.mesh-tool .mm-legend-item{align-items:center;gap:6px;display:inline-flex}.mesh-tool .mm-dot{background:var(--mm-muted);border-radius:999px;width:11px;height:11px}.mesh-tool .mm-dot--strong{background:var(--mm-strong)}.mesh-tool .mm-dot--fair{background:var(--mm-fair)}.mesh-tool .mm-dot--weak{background:var(--mm-weak)}.mesh-tool .mm-dot--fragile{background:var(--mm-fragile)}.mesh-tool .mm-dot--router{background:var(--mm-action)}.mesh-tool .mm-dot--end{background:var(--mm-surface);border:2px solid var(--mm-muted)}.mesh-tool .mm-device{background:var(--mm-surface-2);border-radius:12px;margin:12px 0 0;padding:14px 16px;font-size:14.5px}.mesh-tool .mm-device-name{margin:0 0 4px;font-family:Space Grotesk,Inter,sans-serif;font-size:17px;font-weight:600}.mesh-tool .mm-device-line{color:var(--mm-muted);font-variant-numeric:tabular-nums;margin:0}.mesh-tool .mm-columns{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;display:grid}.mesh-tool .mm-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.mesh-tool .mm-list li{background:var(--mm-surface-2);font-variant-numeric:tabular-nums;border-radius:10px;padding:10px 12px;font-size:14px}.mesh-tool .mm-list-name{font-family:Space Grotesk,Inter,sans-serif;font-weight:600}.mesh-tool .mm-list-meta{color:var(--mm-muted);font-size:13px;display:block}.mesh-tool .mm-empty{color:var(--mm-muted);margin:10px 0 0;font-size:14.5px}.mesh-tool .mm-table-wrap{margin:10px 0 0;overflow-x:auto}.mesh-tool .mm-table{border-collapse:collapse;width:100%;font-size:14.5px}.mesh-tool .mm-caption{caption-side:top;text-align:left;color:var(--mm-muted);padding-bottom:6px;font-size:12.5px}.mesh-tool .mm-table th,.mesh-tool .mm-table td{text-align:left;border:1px solid var(--mm-border);font-variant-numeric:tabular-nums;padding:9px 11px}.mesh-tool .mm-table thead th{color:var(--mm-accent);background:var(--mm-surface-2);font-family:Space Grotesk,Inter,sans-serif;font-weight:600}.mesh-tool .mm-table tbody tr:nth-child(2n){background:#00000004}html.dark .mesh-tool .mm-table tbody tr:nth-child(2n){background:#ffffff08}.mesh-tool .mm-band{font-family:Space Grotesk,Inter,sans-serif;font-weight:600}.mesh-tool .mm-band--strong{color:var(--mm-strong)}.mesh-tool .mm-band--fair{color:var(--mm-fair)}.mesh-tool .mm-band--weak{color:var(--mm-weak)}.mesh-tool .mm-band--fragile{color:var(--mm-fragile)}.mesh-tool .mm-copy-status{color:var(--mm-muted);font-size:13px}.mesh-tool .mm-prose{max-width:780px;font-size:17px}.mesh-tool .mm-prose h2{margin:38px 0 12px;font-family:Space Grotesk,Inter,sans-serif;font-size:26px;font-weight:600;line-height:1.2}.mesh-tool .mm-prose h3{margin:22px 0 8px;font-family:Space Grotesk,Inter,sans-serif;font-size:19px;font-weight:600}.mesh-tool .mm-prose p{margin:0 0 14px}.mesh-tool .mm-prose ul,.mesh-tool .mm-prose ol{margin:0 0 14px;padding-left:22px}.mesh-tool .mm-prose li{margin-bottom:8px}.mesh-tool .mm-prose a{color:var(--mm-accent);text-decoration:underline}.mesh-tool .mm-prose code{background:var(--mm-surface-2);border-radius:4px;padding:1px 5px;font-size:15px}@media (width<=760px){.mesh-tool .mm-inputs{grid-template-columns:1fr}.mesh-tool .mm-form,.mesh-tool .mm-card{padding:16px}.mesh-tool .mm-textarea{min-height:180px}}
