.meshterm .chat-screen .chat-heading{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.meshterm .chat-screen .chat-heading-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meshterm .chat-screen .chat-conversation-picker-wrap,.meshterm .chat-screen .chat-dm-empty-hint{display:none}.meshterm .chat-screen .chat-encryption{flex:0 0 auto;font-size:11px;letter-spacing:.04em}.meshterm .chat-screen .chat-tools{flex:0 1 auto;gap:8px}.meshterm .chat-screen .chat-sender{min-height:28px;min-width:0;border:0;padding:0;box-shadow:none;background:transparent;color:inherit;font-size:inherit;letter-spacing:0;vertical-align:baseline}.meshterm .chat-screen .chat-sender.warn{color:var(--warn)}.meshterm .chat-screen .chat-sender:active{transform:none}@media(hover:hover)and (pointer:fine){.meshterm .chat-screen .chat-sender:hover:not(:disabled),.meshterm .chat-screen .chat-message-head .quote-btn:hover:not(:disabled){background:transparent;color:var(--fg);box-shadow:none;text-decoration:underline}}.meshterm .chat-screen .chat-line{padding-block:4px 8px}.meshterm .chat-screen .chat-message-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:36px}.meshterm .chat-screen .chat-message-time,.meshterm .chat-screen .chat-link-quality{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.meshterm .chat-screen .chat-message-head .quote-btn{margin-left:auto;padding-inline:8px;box-shadow:none;border:0;background:transparent;opacity:1;color:var(--fg-dim)}.meshterm .chat-screen .chat-message-body{line-height:1.5}.meshterm .chat-screen .reply-bar button{flex:0 0 auto;min-width:max-content}.meshterm .chat-screen .chat-line[role=button]:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.meshterm .chat-screen .chat-empty{border:0;padding:12px 0 16px;line-height:1.55;overflow-wrap:anywhere}.meshterm .chat-screen .chat-empty-title{letter-spacing:0}.meshterm .chat-screen .chat-msgs[data-searching=true]>:first-child{margin-top:0}@media(max-width:860px){.meshterm .chat-screen .chat-message-head{gap:4px 6px}.meshterm .chat-screen .chat-convos{display:none}.meshterm .chat-screen .chat-titlebar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px}.meshterm .chat-screen .chat-heading{display:grid;grid-template-columns:minmax(12ch,1fr) auto;align-items:start;width:100%}.meshterm .chat-screen .chat-heading-label{display:none}.meshterm .chat-screen .chat-conversation-picker-wrap{display:grid;grid-template-columns:auto minmax(12ch,1fr);align-items:center;gap:8px;min-width:0}.meshterm .chat-screen .chat-conversation-picker-k{font-size:10px;letter-spacing:.12em;color:var(--fg-dim);white-space:nowrap}.meshterm .chat-screen .chat-conversation-picker{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:12ch;min-height:44px;font-size:16px}.meshterm .chat-screen .chat-encryption{min-height:44px;display:inline-flex;align-items:center}.meshterm .chat-screen .chat-dm-empty-hint{display:block;grid-column:1 / -1;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.meshterm .chat-screen .chat-tools{flex-wrap:nowrap;min-width:0;width:100%}.meshterm .chat-screen .chat-tools .chat-search{flex:1 1 0%;width:0;font-size:16px}.meshterm .chat-screen .chat-tools button{flex:0 0 auto;min-width:max-content;padding-inline:10px;font-size:11px;letter-spacing:.04em}.meshterm .chat-screen .chat-input input{font-size:16px}.meshterm .chat-screen .chat-sender{min-height:44px}}.meshterm main.chat-screen>.node-menu{box-sizing:border-box;width:max-content!important;max-width:min(18rem,calc(100vw - 24px))!important}.meshterm main.chat-screen>.node-menu .node-menu-title{overflow-wrap:anywhere}.meshterm main.chat-screen>.node-menu button{width:100%;min-width:0;min-height:44px;justify-content:flex-start;box-shadow:none;background:transparent;transform:none;letter-spacing:.04em}.meshterm main.chat-screen>.node-menu button:hover,.meshterm main.chat-screen>.node-menu button:active{background:color-mix(in srgb,var(--fg) 15%,transparent);color:inherit;border-color:transparent;box-shadow:none;transform:none}.meshterm .chat-screen .chat-keyboard-spacer{flex:0 0 auto;height:var(--keyboard-inset, 0px);pointer-events:none;overflow-anchor:none}@media(max-width:860px){.meshterm .chat-screen .chat-dock{bottom:var(--keyboard-inset, 0px)}}.meshterm .nodes-screen{min-width:0}.meshterm .nodes-screen .nodes-roster{flex:1;min-width:0}.meshterm .nodes-screen .nodes-roster>.panel-title{flex-wrap:wrap;gap:8px 12px;align-items:center}.meshterm .nodes-screen .nodes-roster>.panel-title>.panel-title-label{flex:1 1 12ch;min-width:0;overflow-wrap:anywhere}.meshterm .nodes-screen .nodes-filter{box-sizing:border-box;flex:1 1 12rem;width:auto;min-width:0;min-height:44px;height:44px;padding:0 12px;font-size:14px;line-height:1.3;letter-spacing:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.meshterm .nodes-screen .nodes-roster>.scroll-y{display:flex;flex-direction:column}.meshterm .nodes-screen .nodes-table th{padding-block:0;letter-spacing:0}.meshterm .nodes-screen :is(.nodes-sort,.nodes-open){display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-width:0;min-height:44px;width:100%;padding:4px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit;letter-spacing:0;text-align:left;white-space:normal;transition:none}.meshterm .nodes-screen :is(.nodes-sort,.nodes-open):is(:hover,:active):not(:disabled){background:transparent;border:0;box-shadow:none;color:inherit;transform:none}.meshterm .nodes-screen :is(.nodes-sort,.nodes-open):focus-visible{outline:2px solid currentColor;outline-offset:2px}.meshterm .nodes-screen .nodes-sort{display:flex;flex-direction:row;align-items:center;gap:4px;line-height:1.25;font-size:10px}.meshterm .nodes-screen th[aria-sort]{color:var(--ink, var(--fg))}.meshterm .nodes-sort-label{min-width:0}.meshterm .nodes-sort-unit{display:block;font-size:9px;font-weight:400}.meshterm .nodes-sort-arrow{flex:0 0 1ch;font-size:12px;opacity:.45}.meshterm .nodes-sort-arrow[data-active=true]{opacity:1}.meshterm .nodes-sort-compact{display:none}.meshterm .nodes-screen .nodes-name{display:block;font-size:13px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}.meshterm .nodes-screen .nodes-meta{display:flex;flex-wrap:wrap;gap:2px 8px;margin-top:3px;font-size:10px;line-height:1.5;font-weight:400;color:color-mix(in srgb,currentColor 72%,transparent)}.meshterm .nodes-id{white-space:nowrap}.meshterm .nodes-screen :is(.nodes-snr,.nodes-seen){white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}.meshterm .nodes-snr-stack{display:flex;flex-direction:column;align-items:flex-end;gap:1px;line-height:1.25}.meshterm .nodes-rssi{font-size:10px;font-weight:400;letter-spacing:0;color:color-mix(in srgb,currentColor 72%,transparent)}.meshterm .nodes-screen .nodes-table th:is(:nth-child(3),:nth-child(7)) .nodes-sort{justify-content:flex-end;text-align:right}.meshterm .nodes-detail{width:300px;max-width:100%;flex:0 1 auto;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto}.meshterm .nodes-detail-name{margin:0;padding:12px 12px 4px;font-size:16px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}.meshterm .nodes-detail-name:focus{outline:none}.meshterm .nodes-detail-name:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.meshterm .nodes-detail>.panel-title{flex-wrap:wrap;gap:8px 12px;padding:8px 12px}.meshterm .nodes-detail-kicker{flex:1 1 12ch;min-width:0;overflow-wrap:anywhere}.meshterm .nodes-detail>.panel-title>button{flex:0 0 auto;width:auto;min-height:44px}.meshterm .nodes-detail .nodes-facts{grid-template-columns:max-content minmax(0,1fr);gap:8px 12px;margin:0;padding:12px;border-top:1px solid var(--border);font-size:12px;line-height:1.45}.meshterm .nodes-detail .nodes-facts :is(.k,.v){min-width:0;margin:0;font-size:inherit;font-weight:400;overflow-wrap:anywhere}.meshterm .nodes-detail .nodes-facts .k{white-space:nowrap}.meshterm .nodes-detail .nodes-facts .v{font-variant-numeric:tabular-nums}.meshterm .nodes-detail-spacer{flex:1 1 auto;min-height:0}.meshterm .nodes-screen .nodes-empty{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;gap:8px;margin:0;padding:24px 16px;border:0;max-width:58ch;min-height:12rem;overflow-wrap:anywhere}.meshterm .nodes-screen .nodes-empty h2{margin:0;font-size:15px;line-height:1.35;letter-spacing:0;font-weight:700;color:var(--fg);overflow-wrap:anywhere}.meshterm .nodes-screen .nodes-empty p{margin:0;font-size:13px;line-height:1.6;color:var(--ink, var(--fg))}.meshterm .nodes-screen .nodes-empty-clear{align-self:flex-start;min-height:44px;margin-top:8px;letter-spacing:0}@media(max-width:860px){.meshterm .nodes-screen .nodes-roster{min-height:calc(100dvh - var(--nodes-header-height, 64px) - 20px)}.meshterm .nodes-screen .nodes-roster>.scroll-y{flex:1 1 auto!important}.meshterm .nodes-screen .nodes-filter{flex-basis:100%;font-size:16px}.meshterm .nodes-screen .nodes-empty{min-height:0;padding:28px 16px}.meshterm .nodes-screen .nodes-detail{width:100%;min-height:calc(100dvh - var(--nodes-header-height, 64px) - 12px);scroll-margin-top:calc(var(--nodes-header-height, 64px) + 12px)}.meshterm .nodes-screen .nodes-open{scroll-margin-top:calc(var(--nodes-header-height, 64px) + 12px)}.meshterm .nodes-screen .nodes-table th:nth-child(3),.meshterm .nodes-screen .nodes-table td:nth-child(3){width:88px}.meshterm .nodes-screen .nodes-table th:nth-child(7),.meshterm .nodes-screen .nodes-table td:nth-child(7){width:68px}.meshterm .nodes-screen .nodes-table td{padding-block:8px;vertical-align:middle}.meshterm .nodes-screen .nodes-table td:first-child{padding-block:4px}.meshterm .nodes-screen .nodes-snr{font-size:12px;overflow:visible}.meshterm .nodes-sort-full{display:none}.meshterm .nodes-sort-compact{display:inline}.meshterm .nodes-screen .nodes-meta{font-size:10px;gap:1px 6px}.meshterm .nodes-screen .nodes-table .this-device-row td:nth-child(3){font-size:10px;white-space:normal}}.meshterm .sniffer-screen .sniffer-exports>span{min-width:0;overflow-wrap:anywhere}.meshterm .sniffer-screen .sniffer-bytes{overflow-x:auto}.meshterm .sniffer-screen .sniffer-table{overflow:auto;overscroll-behavior:contain}.meshterm .sniffer-screen .sniffer-empty{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:10rem;max-width:58ch;padding:20px 16px}.meshterm .sniffer-screen .sniffer-empty h2{margin:0 0 10px;font-size:15px;line-height:1.35;letter-spacing:0;font-weight:700;color:var(--fg)}.meshterm .sniffer-screen .sniffer-empty p{margin:0;font-size:13px;line-height:1.6;color:var(--ink, var(--fg))}.meshterm .sniffer-screen .sniffer-table tbody tr:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}.meshterm .sniffer-screen .sniffer-trail{display:block;max-height:none;overflow-wrap:anywhere;line-height:1.5}.meshterm .sniffer-panels>.panel{min-height:0;overflow:visible}@media(min-width:861px){.meshterm .sniffer-panels{flex-wrap:nowrap!important}}.meshterm .telemetry-panels{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:12px;min-height:0}.meshterm main.telemetry-screen{overflow-y:auto}.meshterm .telemetry-panels>.panel{overflow:visible}.meshterm .telemetry-stats{display:grid;align-content:start;gap:12px;min-width:0}.meshterm .telemetry-stats .stat-tile{max-width:none;min-width:0;font-variant-numeric:tabular-nums}.meshterm .telemetry-stats-note{margin:0;padding:4px 0;font-size:11px;line-height:1.5}.meshterm .telemetry-chart-body{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;padding:12px}.meshterm .telemetry-chart-body .telemetry-plot{flex:1;height:auto;min-height:300px}.meshterm .telemetry-chart-body .telemetry-empty{margin:0;padding:8px 0 4px;max-width:52ch}.meshterm .telemetry-empty h2{margin:0 0 8px;font-size:15px;line-height:1.35;letter-spacing:0;font-weight:700;color:var(--fg)}.meshterm .telemetry-empty p{margin:0;font-size:12px;line-height:1.55;color:var(--ink, var(--fg))}.meshterm .telemetry-chart-body:has(.telemetry-empty) .telemetry-plot{flex:none;height:0;min-height:0}.meshterm .telemetry-screen .telemetry-ranges{display:flex;gap:4px}.meshterm .telemetry-screen .telemetry-ranges button{min-height:36px}@media(max-width:860px){.meshterm .sniffer-screen .sniffer-controls>span:first-child{flex-basis:100%}.meshterm .sniffer-screen .sniffer-exports{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important}.meshterm .sniffer-screen .sniffer-exports>span{grid-column:1 / -1}.meshterm .sniffer-screen .sniffer-exports>button{padding:8px 4px;font-size:11px;letter-spacing:0;white-space:normal}.meshterm .sniffer-screen .sniffer-panels{display:grid!important;grid-template-columns:minmax(0,1fr)}.meshterm .sniffer-screen .sniffer-table{max-height:min(46dvh,420px)!important}.meshterm .sniffer-screen .sniffer-detail{scroll-margin-top:calc(54px + env(safe-area-inset-top,0px))}.meshterm .telemetry-panels{grid-template-columns:minmax(0,1fr)}.meshterm .telemetry-chart-body{flex:none}.meshterm .telemetry-chart-body .telemetry-plot{flex:none;height:300px}.meshterm .telemetry-chart-body:has(.telemetry-empty) .telemetry-plot{height:0;min-height:0}.meshterm .telemetry-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.meshterm .telemetry-stats>:is(span,p){grid-column:1 / -1}.meshterm .telemetry-screen .telemetry-ranges{flex:1}.meshterm .telemetry-screen .telemetry-ranges button{flex:1;min-height:44px}.meshterm .telemetry-screen .telemetry-controls>.telemetry-metric-select{flex:1 1 150px;width:auto;min-width:0}.meshterm .telemetry-screen .telemetry-controls>.telemetry-compare-select{flex:0 0 126px;width:126px}}.meshterm .mesh-empty{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:10rem;max-width:58ch;padding:20px 16px}.meshterm .mesh-empty h2{margin:0 0 10px;font-size:15px;line-height:1.35;letter-spacing:0;font-weight:700;color:var(--fg)}.meshterm .mesh-empty p{margin:0;font-size:13px;line-height:1.6;color:var(--ink, var(--fg))}.meshterm .mesh-topology-toolbar>span{flex-wrap:wrap;min-width:0}.meshterm .mesh-pan-hint{display:none}.meshterm .mesh-node-detail .mesh-neighbor{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:32px;padding:4px 0;border:0;background:transparent;box-shadow:none;font:inherit;letter-spacing:normal;text-align:left;text-transform:none}.meshterm .mesh-graph-viewport svg{display:block}.meshterm .mesh-graph-viewport:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}.meshterm .mesh-graph-viewport g[role=button]:focus-visible{outline:2px solid var(--fg)}@media(max-width:860px){.meshterm .mesh-summary-values{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important;padding:8px!important}.meshterm .mesh-summary .stat-tile{min-width:0!important;max-width:none;padding:8px}.meshterm .mesh-summary .stat-tile .label{font-size:9px;letter-spacing:.5px;min-height:2.6em;line-height:1.3;text-wrap:balance}.meshterm .mesh-summary .mesh-hop-distribution{grid-column:1 / -1;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:4px 0!important;border:0;background:transparent}.meshterm .mesh-hop-distribution:before,.meshterm .mesh-hop-distribution:after{display:none}.meshterm .mesh-hop-distribution>div:first-child{margin:0!important}.meshterm .mesh-hop-row>span:first-child{width:auto!important}.meshterm .mesh-hop-row>span:nth-child(2){display:none}.meshterm .mesh-hop-row>span:last-child{font-weight:700}.meshterm .mesh-summary .mesh-silent-nodes{grid-column:1 / -1}.meshterm .mesh-topology-toolbar button{min-height:44px}.meshterm .mesh-graph-layout{display:block!important}.meshterm .mesh-graph-layout .mesh-graph-viewport{height:min(60dvh,480px)!important;overflow:hidden!important}.meshterm .mesh-graph-viewport svg{display:block;width:100%!important;height:100%!important;max-width:100%}.meshterm .mesh-graph-layout .mesh-node-detail{min-width:0!important}.meshterm .mesh-node-detail .mesh-neighbor{min-height:44px}}@media(prefers-reduced-motion:reduce){.meshterm .sniffer-screen button,.meshterm .telemetry-screen button{transition:none}.meshterm .sniffer-screen .sniffer-table tbody tr:last-child,.meshterm .telemetry-screen .uplot{animation:none}}.meshterm main.config-screen{overflow-y:auto;align-items:start}.meshterm .config-screen .panel-title{margin:0;font-weight:500}.meshterm .config-screen .form-grid{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:12px;padding:16px;line-height:1.4}.meshterm .config-screen .form-grid>*{min-width:0;overflow-wrap:anywhere}.meshterm .config-screen .form-grid>label,.meshterm .config-screen .form-grid>.cfg-label{display:flex;align-items:center;align-self:stretch}.meshterm .config-screen .cfg-label,.meshterm .config-screen .cfg-coordinates label{color:var(--fg-dim)}.meshterm .config-screen .cfg-body{display:flex;flex-direction:column;gap:12px;padding:16px;font-size:12px;line-height:1.5}.meshterm .config-screen .cfg-help{margin:0;padding:0 16px 16px;color:var(--fg-dim);font-size:12px;line-height:1.55}.meshterm .config-screen .cfg-body-continued{padding-top:0}.meshterm .config-screen .cfg-body [role=status]{overflow-wrap:anywhere}.meshterm .config-screen .cfg-appearance{display:grid;gap:4px}.meshterm .config-screen .cfg-relay-status{display:grid;gap:4px;font-variant-numeric:tabular-nums}.meshterm .config-screen .cfg-check{display:flex;align-items:center;gap:8px;min-height:36px;cursor:pointer;line-height:1.4}.meshterm .config-screen input[type=checkbox]{width:18px;height:18px;margin:0;flex:0 0 auto;accent-color:var(--fg)}.meshterm .config-screen .cfg-unit-field{display:flex;align-items:center;gap:8px}.meshterm .config-screen .cfg-unit-field input{width:6rem;max-width:100%}.meshterm .config-screen .cfg-coordinates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meshterm .config-screen .cfg-coordinates label{display:grid;gap:8px;min-width:0;font-size:11px;letter-spacing:.04em}.meshterm .config-screen .cfg-actions,.meshterm .config-screen .panel-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.meshterm .config-screen .cfg-channel{display:grid;gap:8px;border:1px solid var(--border);padding:12px}.meshterm .config-screen .cfg-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-bottom:1px solid var(--border);padding-bottom:10px}.meshterm .config-screen .cfg-toolbar input{flex:1 1 12rem;min-width:0}.meshterm .config-screen .cfg-toolbar .dim{flex:1 1 12rem}.meshterm .config-screen .cfg-channel-row{display:flex;align-items:center;gap:8px;min-width:0}.meshterm .config-screen .cfg-channel-row input{flex:1;min-width:0}.meshterm .config-screen .cfg-channel-index{font-weight:700;font-variant-numeric:tabular-nums}.meshterm .config-screen .cfg-channel-row button{flex-shrink:0}.meshterm .config-screen .cfg-retention{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.meshterm .config-screen .cfg-retention>label{grid-column:1 / -1;color:var(--fg-dim);font-size:11px;letter-spacing:.04em}.meshterm .config-screen .cfg-auto-retention{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;border-top:1px solid var(--border);padding-top:12px}.meshterm .config-screen input:not([type=checkbox]),.meshterm .config-screen select{min-height:36px;max-width:100%;font-variant-numeric:tabular-nums}@media(max-width:860px){.meshterm .config-screen .form-grid{grid-template-columns:minmax(0,1fr);gap:6px 0}.meshterm .config-screen .form-grid>label,.meshterm .config-screen .form-grid>.cfg-label{padding-top:10px;align-self:start;font-size:11px;letter-spacing:.04em}.meshterm .config-screen .form-grid>:first-child{padding-top:0}.meshterm .config-screen .cfg-coordinates,.meshterm .config-screen .cfg-retention{grid-template-columns:minmax(0,1fr)}.meshterm .config-screen .cfg-retention .cfg-unit-field,.meshterm .config-screen .cfg-retention button{width:100%}.meshterm .config-screen .cfg-actions>button,.meshterm .config-screen .cfg-toolbar>button,.meshterm .config-screen .cfg-toolbar>input{flex:1 1 100%}.meshterm .config-screen button,.meshterm .config-screen input:not([type=checkbox]),.meshterm .config-screen select,.meshterm .config-screen .cfg-check{min-height:44px}.meshterm .config-screen input:not([type=checkbox]),.meshterm .config-screen select{font-size:16px}}@media(max-width:360px){.meshterm .config-screen label[for=cfg-theme],.meshterm .config-screen .cfg-appearance{grid-column:1 / -1}}.meshterm .tdeck-model{position:relative;width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr);touch-action:pan-y pinch-zoom}.meshterm .tdeck-model-canvas{grid-area:1 / 1;display:block;width:100%;height:100%;touch-action:pan-y pinch-zoom;cursor:grab;opacity:0;outline-offset:-3px}.meshterm .tdeck-model[data-state=ready] .tdeck-model-canvas{opacity:1}.meshterm .tdeck-model-canvas:active{cursor:grabbing}.meshterm .tdeck-model-canvas:focus-visible{outline:1px solid var(--fg)}.meshterm .tdeck-model-fallback,.meshterm .tdeck-model-loading{grid-area:1 / 1;align-self:center;justify-self:center;font-size:12px;color:var(--fg);pointer-events:none}.meshterm main.paper-tab .pdf-toolbar{position:sticky;top:0;z-index:2;flex-wrap:nowrap;justify-content:space-between;gap:12px;width:100%;max-width:min(100%,860px);padding:8px 12px;background:var(--bg);border-bottom:1px solid var(--border)}.meshterm main.paper-tab .pdf-toolbar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meshterm main.paper-tab .pdf-toolbar a{flex:none;margin-left:auto}@media(max-width:860px){.meshterm main.paper-tab .pdf-scroll{gap:0;padding:0 0 24px}.meshterm main.paper-tab .pdf-toolbar{z-index:3;min-height:44px;padding:4px max(12px,env(safe-area-inset-right)) 4px max(12px,env(safe-area-inset-left))}.meshterm main.paper-tab .pdf-toolbar a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}.meshterm main.paper-tab .pdf-page{width:100%;box-shadow:none;border-bottom:1px solid var(--border)}}.meshterm .shelby-screen>.panel{min-height:0;overflow:visible}.meshterm .shelby-screen .prose{max-width:58ch;padding:12px 16px 8px;font-size:13px;line-height:1.5}.meshterm .shelby-screen .prose p{margin:0}.meshterm .shelby-hex{font-size:11px;line-height:1.4;overflow-wrap:anywhere}.meshterm .shelby-screen a{color:var(--fg);text-underline-offset:3px}.meshterm .shelby-screen .prose code{border:0;padding:0}.meshterm .shelby-screen .shelby-intro strong{font-weight:700}.meshterm .shelby-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.meshterm .shelby-flow .flow-step{grid-template-columns:2ch minmax(0,1fr);gap:2px 8px;padding:10px 16px;font-size:12px;line-height:1.45;align-items:start;align-content:start}.meshterm .shelby-flow .flow-v{grid-column:1 / -1}.meshterm .shelby-wire{border-bottom:1px solid var(--border)}.meshterm .shelby-wire>summary{min-height:44px;padding:12px 16px;color:var(--fg);font-size:11px;letter-spacing:1px;cursor:pointer}.meshterm .shelby-wire[open]>summary{border-bottom:1px solid var(--border)}.meshterm .shelby-wire>summary:focus-visible{outline:2px solid var(--fg);outline-offset:-3px}.meshterm .shelby-screen .scroll-x{overscroll-behavior-x:contain}.meshterm .shelby-screen .panel-foot{overflow-wrap:anywhere}.meshterm .shelby-registry td:nth-child(n+2){white-space:nowrap}.meshterm .shelby-evidence{width:360px;flex-shrink:0;min-width:0}.meshterm .shelby-empty{max-width:58ch;padding:16px}.meshterm .shelby-empty h2{margin:0 0 8px;font-size:15px;line-height:1.35;letter-spacing:0;font-weight:700;color:var(--fg)}.meshterm .shelby-empty p{margin:0;font-size:13px;line-height:1.6;color:var(--ink, var(--fg));overflow-wrap:anywhere}.meshterm .shelby-empty[role=alert]{display:grid;justify-items:start;gap:12px}.meshterm .shelby-empty[role=alert] h2{margin-bottom:0;color:var(--err)}@media(max-width:860px){.meshterm .shelby-screen .prose{padding:12px}.meshterm .shelby-flow{grid-template-columns:minmax(0,1fr)}.meshterm .shelby-flow .flow-step{padding:10px 12px}.meshterm .shelby-screen .scroll-x{max-width:100%;overflow-x:auto}.meshterm .shelby-screen table.grid{min-width:520px}.meshterm .shelby-registry table.grid{min-width:720px}.meshterm .shelby-evidence{width:auto}.meshterm .shelby-evidence .kv{grid-template-columns:minmax(0,84px) minmax(0,1fr);gap:10px 12px}.meshterm .shelby-evidence .kv .v{margin-bottom:0}.meshterm .shelby-evidence .shelby-wire .kv{padding:10px 12px 12px}.meshterm .shelby-empty{padding:16px 12px 20px}.meshterm .shelby-screen a{display:inline-flex;align-items:center;min-height:44px}}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Regular-BQaDgvhP.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Bold-D4WEaHbo.woff2) format("woff2");font-weight:700;font-style:normal;font-display:block}.meshterm{--bg: #171019;--panel: #1d1520;--fg: #ff4f9d;--map-tint: hue-rotate(281deg) saturate(1.8);--fg-dim: color-mix(in srgb, var(--fg) 55%, transparent);--border: color-mix(in srgb, var(--fg) 25%, transparent);--glow: color-mix(in srgb, var(--fg) 40%, transparent);--warn: #ffb000;--err: #ff3b30;color-scheme:dark;background:var(--bg);color:var(--fg);font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:13px;line-height:1.45;position:relative;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1)}:root.hc .meshterm{--fg-dim: color-mix(in srgb, var(--fg) 80%, transparent);--border: color-mix(in srgb, var(--fg) 55%, transparent);--glow: color-mix(in srgb, var(--fg) 55%, transparent);--warn: #ffc933;--err: #ff6b61}:root.light .meshterm{color-scheme:light;--warn: #9a6a00;--err: #b3261e;--glow: transparent;--fg-dim: color-mix(in srgb, var(--fg) 88%, transparent);--border: color-mix(in srgb, var(--fg) 42%, transparent);--ink: #1a0f15}:root.light .meshterm{color:var(--ink)}:root.light .meshterm .kv .v,:root.light .meshterm .grid td,:root.light .meshterm pre,:root.light .meshterm code,:root.light .meshterm input,:root.light .meshterm select,:root.light .meshterm textarea,:root.light .meshterm .msg,:root.light .meshterm .msg-text,:root.light .meshterm .log-line{color:var(--ink)}:root.light .meshterm input::placeholder,:root.light .meshterm textarea::placeholder{color:color-mix(in srgb,var(--ink) 55%,transparent)}:root.light .meshterm .grid tr.primary td,:root.light .meshterm .grid tr.primary td *{color:var(--bg)}:root.light.hc .meshterm{--warn: #7a5200;--err: #8c1d18}.meshterm,.meshterm *,.meshterm *:before,.meshterm *:after{box-sizing:border-box}.meshterm ::selection{background:var(--fg);color:var(--bg)}.meshterm ::-webkit-scrollbar{width:10px;height:10px}.meshterm ::-webkit-scrollbar-track{background:var(--bg)}.meshterm ::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--bg)}.meshterm ::-webkit-scrollbar-thumb:hover{background:var(--fg-dim)}@keyframes meshterm-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes meshterm-ledblink{0%,49%{opacity:1}50%,to{opacity:.15}}@keyframes meshterm-ping{0%{transform:scale(.5);opacity:.8}to{transform:scale(2.4);opacity:0}}.meshterm .app{display:flex;flex-direction:column;height:100vh;position:relative}.meshterm .app:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 62%,rgba(0,0,0,.32) 100%)}:root.hc .meshterm .app:after{display:none}@media(max-width:860px){.meshterm .app:after{display:none}}:root.light .meshterm .app:after{background:repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 70%,rgba(0,0,0,.1) 100%)}.meshterm .titlebar{display:none;align-items:center;justify-content:space-between;height:30px;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--panel);padding-left:12px;-webkit-user-select:none;user-select:none}.meshterm .titlebar-label{font-size:10px;letter-spacing:3px;color:var(--fg-dim)}.meshterm .titlebar-ver{margin-left:8px;letter-spacing:1px;opacity:.4}.meshterm .titlebar-btns{display:flex;align-self:stretch}.meshterm .tb-btn{width:46px;border:none;border-left:1px solid var(--border);background:transparent;color:var(--fg-dim);border-radius:0;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center}.meshterm .tb-btn:hover:not(:disabled){background:var(--fg);color:var(--bg);border-color:var(--border)}.meshterm .tb-close:hover:not(:disabled){background:var(--err);color:var(--bg)}.meshterm header{display:flex;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.meshterm .logo{display:flex;flex-direction:column;line-height:1.1}.meshterm .logo strong{font-size:16px;font-weight:700;letter-spacing:4px;text-shadow:0 0 8px var(--glow)}.meshterm .logo span{font-size:9px;letter-spacing:2px;color:var(--fg-dim)}.meshterm header nav{display:flex;gap:6px}.meshterm .clock{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;font-size:12px}.meshterm .clock .time{text-shadow:0 0 6px var(--glow)}.meshterm .clock .uptime{color:var(--fg-dim);font-size:10px}.meshterm button,.meshterm select,.meshterm input{font-family:inherit;background:var(--bg);color:var(--fg);border:1px solid var(--border);padding:5px 10px;font-size:12px;border-radius:0;min-width:0}.meshterm button{cursor:pointer;min-height:36px;min-width:36px;padding:8px 12px;font-size:12px;line-height:1.25;font-weight:500;letter-spacing:1px;white-space:nowrap;transition:background-color .14s var(--ease-out),color .14s var(--ease-out),box-shadow .14s var(--ease-out),transform .14s var(--ease-out)}.meshterm button:not(.tab){background:color-mix(in srgb,var(--fg) 8%,var(--bg));box-shadow:0 2px 0 var(--border)}@media(hover:hover)and (pointer:fine){.meshterm button:hover:not(:disabled){background:var(--fg);color:var(--bg);border-color:var(--fg)}}@media(hover:hover)and (pointer:fine){.meshterm button:not(.tab):hover:not(:disabled){box-shadow:0 2px color-mix(in srgb,var(--fg) 55%,transparent)}}.meshterm button:not(.tab):active:not(:disabled){transform:translateY(2px) scale(.97);box-shadow:0 0 0 transparent}.meshterm button:disabled{opacity:.4;cursor:default;box-shadow:none}.meshterm input:focus,.meshterm select:focus,.meshterm textarea:focus{outline:1px solid var(--fg);outline-offset:-1px}.meshterm select option{background:var(--bg);color:var(--fg)}.meshterm button.tab{background:transparent;color:var(--fg-dim)}.meshterm button.tab.active{background:var(--fg);color:var(--bg);border-color:var(--fg);font-weight:700}.meshterm button.tab:hover:not(.active){background:transparent;color:var(--fg);border-color:var(--fg);text-shadow:0 0 6px var(--glow)}.meshterm button.primary{border-color:var(--fg);background:var(--fg);color:var(--bg);font-weight:700}.meshterm button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--fg) 86%,var(--bg));color:var(--bg)}.meshterm button:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.meshterm input:focus-visible,.meshterm select:focus-visible,.meshterm textarea:focus-visible,.meshterm a:focus-visible,.meshterm [role=treeitem]:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.meshterm button>svg{vertical-align:middle;flex-shrink:0}.meshterm button.danger{border-color:var(--err);color:var(--err)}.meshterm button.danger:hover:not(:disabled){background:var(--err);color:var(--bg);border-color:var(--err)}.meshterm .conn-pill{display:flex;align-items:center;gap:7px;border:1px solid var(--border);padding:5px 10px;font-size:11px;letter-spacing:1px}.meshterm .led{width:9px;height:9px;border-radius:50%;display:inline-block;background:color-mix(in srgb,var(--fg) 22%,transparent)}.meshterm .led.on{background:var(--fg);box-shadow:0 0 8px var(--glow)}.meshterm .led.connecting{background:var(--warn);box-shadow:0 0 8px color-mix(in srgb,var(--warn) 50%,transparent);animation:meshterm-ledblink .7s step-end infinite}.meshterm .conn-pill .txt-connecting{color:var(--warn)}.meshterm .conn-pill .txt-off{color:var(--fg-dim)}.meshterm .panel{position:relative;border:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0}.meshterm .panel:before,.meshterm .panel:after{content:"";position:absolute;width:9px;height:9px;z-index:5}.meshterm .panel:before{top:-1px;left:-1px;border-top:1px solid var(--fg);border-left:1px solid var(--fg)}.meshterm .panel:after{bottom:-1px;right:-1px;border-bottom:1px solid var(--fg);border-right:1px solid var(--fg)}.meshterm .panel.hot{border-color:var(--fg);box-shadow:0 0 14px color-mix(in srgb,var(--fg) 15%,transparent)}.meshterm .panel-title{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:2px;color:var(--fg-dim);padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.meshterm .panel-title button,.meshterm .panel-title select,.meshterm .panel-title input{min-height:36px;padding-top:0;padding-bottom:0}.meshterm .panel-title button{flex-shrink:0;min-width:72px}.meshterm .panel-foot{display:flex;gap:24px;font-size:11px;color:var(--fg-dim);padding:8px 12px;border-top:1px solid var(--border);flex-shrink:0}.meshterm main{flex:1;display:flex;gap:12px;padding:12px 16px;min-height:0}.meshterm table.grid{width:100%;border-collapse:collapse;font-size:12.5px}.meshterm table.grid th{padding:8px 12px;border-bottom:1px solid var(--border);font-weight:400;color:var(--fg-dim);font-size:10px;letter-spacing:1px;text-align:left;white-space:nowrap}.meshterm table.grid td{padding:7px 12px;border-bottom:1px solid var(--border)}.meshterm table.grid tbody tr{cursor:pointer}.meshterm table.grid tbody tr:hover,.meshterm table.grid tbody tr.sel{background:var(--fg);color:var(--bg)}.meshterm table.grid tbody tr:hover .ok,.meshterm table.grid tbody tr:hover .warn,.meshterm table.grid tbody tr:hover .err,.meshterm table.grid tbody tr.sel .ok,.meshterm table.grid tbody tr.sel .warn,.meshterm table.grid tbody tr.sel .err{color:var(--bg)}.meshterm .ok{color:var(--fg)}.meshterm .warn{color:var(--warn)}.meshterm .err{color:var(--err)}.meshterm .dim{color:var(--fg-dim)}.meshterm .convo-item{display:flex;justify-content:space-between;padding:6px 12px;cursor:pointer}.meshterm button.convo-item{width:100%;min-height:44px;border:0;text-align:left;white-space:normal}.meshterm .chat-latest{min-height:44px;margin:4px 14px}.meshterm .chat-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;max-width:100%}.meshterm .chat-tools .chat-search{width:190px;font-size:11px;min-width:0}.meshterm .chat-convo-list{padding:8px 0}@media(max-width:860px){.meshterm .chat-tools{width:100%}.meshterm .panel-title .chat-tools input{flex:1 0 100%;width:auto}.meshterm .chat-known{flex:1 0 100%}}.meshterm .convo-item:hover,.meshterm .convo-item.active{background:var(--fg);color:var(--bg);font-weight:700}.meshterm .unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:6px;font-size:10px;font-weight:700;line-height:1;color:var(--bg);background:var(--warn);box-shadow:0 0 6px color-mix(in srgb,var(--warn) 50%,transparent)}.meshterm .convo-item.active .unread-badge{background:var(--bg);color:var(--warn)}.meshterm .chat-line{min-width:0;overflow-wrap:anywhere}.meshterm .msg-mine{background:color-mix(in srgb,var(--fg) 8%,transparent);padding:2px 10px 2px 8px;margin:0 -4px}.meshterm .msg-mine.failed{background:color-mix(in srgb,var(--err) 14%,transparent)}.meshterm .chat-retry{color:var(--err);border-color:var(--err);animation:meshterm-sheet-err .42s var(--ease-out)}.meshterm .quote-btn{font-size:10px;padding:0 5px;margin-left:6px;opacity:0;transition:opacity .1s}.meshterm div:hover>.quote-btn{opacity:.45}.meshterm .quote-btn:hover{opacity:1}.meshterm .quote-btn:focus-visible{opacity:1}@media(hover:none){.meshterm .quote-btn{opacity:1;min-width:44px;min-height:44px}}.meshterm .nodelink{cursor:pointer}.meshterm .nodelink:hover{text-decoration:underline}.meshterm .menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000}.meshterm .node-menu{position:fixed;z-index:2001;background:var(--bg);border:1px solid var(--fg);box-shadow:0 0 12px var(--glow);display:flex;flex-direction:column;min-width:150px}.meshterm .node-menu-title{font-size:10px;letter-spacing:2px;opacity:.6;padding:5px 10px;border-bottom:1px solid var(--border)}.meshterm .node-menu button{text-align:left;border:0;padding:7px 10px;font-size:12px}.meshterm .node-menu button:hover{background:color-mix(in srgb,var(--fg) 15%,transparent)}.meshterm .reply-ref{font-size:10px;border-left:2px solid var(--border);padding-left:6px;margin-bottom:1px;max-width:60ch;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.meshterm .reply-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 14px;border-top:1px solid var(--border);border-left:2px solid var(--fg)}.meshterm .reply-bar span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.meshterm .chat-daysep{display:flex;align-items:center;gap:10px;margin:8px 0 4px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--fg-dim)}.meshterm .chat-daysep:before,.meshterm .chat-daysep:after{content:"";flex:1;border-top:1px solid var(--border)}.meshterm .chat-empty{border:1px solid var(--border);padding:16px 14px;margin:8px 0 12px;max-width:36rem}.meshterm .chat-empty-title{font-weight:700;letter-spacing:.04em;margin-bottom:6px}.meshterm .chat-hint{font-size:11px;color:var(--fg-dim);margin-bottom:10px;max-width:42rem}.meshterm .chat-remain{font-size:11px;font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}.meshterm .chat-send{font-size:11px;letter-spacing:.06em;padding:4px 12px}.meshterm .chat-send:disabled{opacity:.45}.meshterm .chat-send.is-shake,.meshterm .chat-dock .error{animation:meshterm-sheet-err .42s var(--ease-out)}.meshterm .chat-dock{flex-shrink:0;background:var(--panel);border-top:1px solid var(--border)}.meshterm .chat-dock .error{margin:8px 14px 0}.meshterm .chat-dock .reply-bar{border-top:0}.meshterm .chat-input{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid var(--border);padding:10px 14px}.meshterm .chat-dock .chat-input{border-top:0}.meshterm .chat-input .prompt{font-weight:700;text-shadow:0 0 6px var(--glow)}.meshterm .chat-input input{flex:1 1 12ch;min-width:0;background:transparent;border:none;font-size:13px;caret-color:var(--fg)}.meshterm .chat-input input:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}.meshterm .cursor{animation:meshterm-blink 1.1s step-end infinite}.meshterm .kv{display:grid;grid-template-columns:100px 1fr;gap:8px 12px;font-size:12px;align-content:start;padding:12px}.meshterm .kv .k{color:var(--fg-dim)}.meshterm .cfg-grid{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;max-width:1650px;width:100%}.meshterm .cfg-col{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:12px}.meshterm .form-grid{padding:14px;display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px 12px;align-items:center;font-size:12px}.meshterm .form-grid input,.meshterm .form-grid select{width:100%}.meshterm .form-grid label{color:var(--fg-dim)}.meshterm .panel-actions{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--border)}.meshterm .stat-tile{padding:12px}.meshterm .stat-tile .label{font-size:10px;letter-spacing:2px;color:var(--fg-dim);overflow-wrap:anywhere;text-wrap:balance}.meshterm .stat-tile .value{font-size:22px;font-weight:700;text-shadow:0 0 8px var(--glow);min-width:0;overflow-wrap:anywhere}.meshterm .stat-tile .value small{font-size:12px;font-weight:400;color:var(--fg-dim);overflow-wrap:anywhere}.meshterm .debug-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}.meshterm .debug-empty,.meshterm .screen-loading,.meshterm .screen-error{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:10rem;max-width:58ch;padding:20px 16px}.meshterm .debug-empty h2,.meshterm .screen-loading h2,.meshterm .screen-error h2{margin:0 0 10px;font-size:15px;line-height:1.35;letter-spacing:0;font-weight:700;color:var(--fg)}.meshterm .debug-empty p,.meshterm .screen-loading p,.meshterm .screen-error p{margin:0;font-size:13px;line-height:1.6;color:var(--ink, var(--fg))}.meshterm .screen-error pre{margin:12px 0 0;padding:12px;max-height:min(40vh,16rem);overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.meshterm .screen-error pre:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}.meshterm .debuglog{flex:1;overflow-y:auto;margin:0;padding:10px 14px;font-size:12px;line-height:1.55;font-family:inherit;white-space:pre-wrap}.meshterm .debuglog:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}.meshterm .map-wrap{flex:1;position:relative;min-height:0}.meshterm .map-wrap .leaflet-container{height:100%;background:var(--bg);font-family:inherit}.meshterm .map-wrap .leaflet-tile{filter:grayscale(1) invert(1) sepia(1) var(--map-tint) brightness(.5) contrast(1.15)}:root.light .meshterm .map-wrap .leaflet-tile{filter:grayscale(1) sepia(.3) var(--map-tint) brightness(1.05) contrast(.9)}.meshterm .map-wrap .leaflet-control-zoom a{background:var(--bg);color:var(--fg);border:1px solid var(--fg);border-radius:0}.meshterm .map-wrap .leaflet-control-zoom a:hover{background:var(--fg);color:var(--bg)}.meshterm .map-wrap .leaflet-popup-content-wrapper,.meshterm .map-wrap .leaflet-popup-tip{background:var(--bg);color:var(--fg);border:1px solid var(--fg);border-radius:0;box-shadow:0 0 14px color-mix(in srgb,var(--fg) 18%,transparent)}.meshterm .map-wrap .leaflet-popup-content{font-family:inherit;font-size:12px;margin:10px 12px}.meshterm .map-wrap .leaflet-tooltip{background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:0;font-family:inherit;font-size:11px;padding:1px 6px}.meshterm .map-wrap .leaflet-tooltip:before{display:none}.meshterm .demo-mesh-banner{margin:8px 10px 0;padding:8px 10px;border:1px solid var(--warn);color:var(--warn);font-size:11px;letter-spacing:.04em;line-height:1.4}.meshterm .map-wait{position:absolute;z-index:500;left:12px;right:12px;top:12px;max-width:520px}.meshterm .traffic-fetch{display:flex;gap:6px;min-width:0}.meshterm .map-wait-body{padding:10px 12px 12px;font-size:12px;line-height:1.45}.meshterm .map-wait-body p{margin:0 0 8px}.meshterm .map-wait-body p:last-child{margin-bottom:0}.meshterm .map-hud{position:absolute;font-size:11px;color:var(--fg-dim);z-index:400;pointer-events:none;background:color-mix(in srgb,var(--bg) 80%,transparent);padding:1px 6px;max-width:calc(100% - 20px);text-wrap:pretty}.meshterm .map-hud-top{right:10px;top:8px}.meshterm .map-hud-bottom{left:10px;bottom:10px}.meshterm .map-coverage-legend{position:absolute;z-index:1000;right:10px;bottom:10px;width:268px;font-size:11px}.meshterm .map-waypoint-sheet{position:absolute;z-index:1000;right:10px;top:34px;width:260px;font-size:12px}.meshterm .map-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.meshterm .map-chip-row{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}.meshterm .map-chip-row button{font-size:10px;padding:2px 7px}.meshterm footer{display:none}.meshterm .error,.meshterm .link-wait{margin:4px 16px;font-size:12px;flex-shrink:0}.meshterm .error{color:var(--err)}.meshterm .link-wait{color:var(--warn)}html,body{margin:0;padding:0;background:var(--bg, #f2e2ec);overflow-x:clip}.meshterm .logo{flex-direction:row;align-items:center;gap:9px;flex-shrink:0}.meshterm .logo span{white-space:nowrap}.meshterm .logo .logo-mark{height:26px;width:auto;display:block;flex-shrink:0}.meshterm .logo .wordmark{font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-weight:700;font-size:20px;letter-spacing:-.035em;line-height:1;color:#fa2e88;-webkit-user-select:none;user-select:none}.meshterm .logo .wordmark .lily{font-size:inherit;letter-spacing:inherit;color:#fff}:root.light .meshterm .logo .wordmark .lily{color:#16090f}:root.light .meshterm{--fg-dim: #9c0055;--ok: #0c6b3d}.meshterm .ok{color:var(--ok, var(--fg))}:root.light .meshterm .dim{color:color-mix(in srgb,var(--ink) 72%,transparent)}:root.light .meshterm table.grid tbody tr.this-device-row:hover td,:root.light .meshterm table.grid tbody tr.this-device-row.sel td,:root.light .meshterm table.grid tbody tr.this-device-row:hover td *,:root.light .meshterm table.grid tbody tr.this-device-row.sel td *{color:inherit}:root.light .meshterm table.grid tbody tr:hover td,:root.light .meshterm table.grid tbody tr.sel td,:root.light .meshterm table.grid tbody tr:hover td *,:root.light .meshterm table.grid tbody tr.sel td *{color:var(--bg)}:root.light .meshterm .titlebar-ver{opacity:.8}:root.light .meshterm .flow-n{opacity:1;color:var(--fg-dim)}:root.light .meshterm .node-menu-title{opacity:.85}:root.light .meshterm .map-hud{color:var(--ink);background:color-mix(in srgb,#fff 82%,transparent)}:root.light .meshterm .led.on{background:var(--ok);box-shadow:none}.meshterm{font-size:13.5px}.meshterm main{gap:14px;padding:14px 18px}.meshterm .panel-title{font-size:11px;letter-spacing:1.4px;padding:11px 14px;gap:10px}.meshterm .kv{grid-template-columns:118px minmax(0,1fr);gap:10px 16px;padding:14px;font-size:12.5px}.meshterm table.grid th{padding:9px 14px;letter-spacing:1.2px}.meshterm table.grid td{padding:8px 14px}.meshterm .panel-foot{padding:10px 14px}.meshterm .spacer{flex:1}.meshterm .kv .v{min-width:0;overflow-wrap:anywhere}.meshterm .panel{min-width:0}.meshterm pre{white-space:pre;overflow-x:auto;max-width:100%}.meshterm .scroll-y{flex:1;min-height:0;overflow-y:auto;overflow-x:auto}.meshterm .scroll-x{overflow-x:auto;max-width:100%}.meshterm .app{height:100vh;height:100dvh;max-width:100vw;overflow:hidden}.meshterm main{min-height:0;overflow:hidden}.meshterm main>*{min-height:0;min-width:0}.meshterm main.fill{padding:0;gap:0}.meshterm .pdf-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;gap:14px;padding:14px 0 40px}.meshterm .pdf-page{width:min(100%,860px);height:auto;background:#fff;box-shadow:0 1px 8px #2800162e;flex-shrink:0}.meshterm .pdf-toolbar{display:flex;align-items:center;gap:12px;width:min(100%,860px);font-size:10.5px;letter-spacing:1.4px;color:var(--fg-dim);padding:2px 2px 0}.meshterm .pdf-toolbar a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}.meshterm .prose{padding:16px 18px 4px;max-width:68ch;font-size:13px;line-height:1.7}.meshterm .prose p{margin:0 0 12px}.meshterm .prose code{border:1px solid var(--border);padding:1px 5px}.meshterm .flow{display:grid;gap:1px;background:var(--border);border-bottom:1px solid var(--border)}.meshterm .flow-step{display:grid;grid-template-columns:3ch 11ch minmax(0,1fr);gap:14px;align-items:baseline;padding:12px 18px;background:var(--panel);font-size:12.5px;line-height:1.6}.meshterm .flow-n{color:var(--fg);opacity:.5}.meshterm .flow-k{color:var(--fg);letter-spacing:1.2px;font-size:11px}:root.light .meshterm .flow-v,:root.light .meshterm .prose{color:var(--ink)}.meshterm header nav{min-width:0}.meshterm header nav>*{flex-shrink:0}.meshterm header>select,.meshterm header>button{flex-shrink:0}.meshterm .menu-btn{display:none}@media(max-width:860px){.meshterm{font-size:14px}.meshterm .app{height:auto;min-height:100vh;min-height:100dvh;overflow:visible;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.meshterm main,.meshterm main.fill{flex:1 0 auto;overflow:visible}.meshterm main:not(.fill){flex-direction:column;padding:10px;gap:10px}.meshterm main:not(.fill)>*{width:100%!important;max-width:none!important;flex:0 0 auto!important}.meshterm .scroll-y{flex:none;overflow:visible;max-height:none!important}.meshterm .pdf-scroll{flex:none;overflow:visible;gap:8px;padding:8px 0 32px}.meshterm .pdf-toolbar{padding:4px 10px 0;flex-wrap:wrap;row-gap:2px}.meshterm .titlebar{display:none}.meshterm header{position:sticky;top:0;z-index:40;background:var(--bg);flex-wrap:nowrap;column-gap:8px;row-gap:0;padding:max(5px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 5px max(8px,env(safe-area-inset-left))}.meshterm header .logo{min-width:0;flex-shrink:1}.meshterm header .logo .wordmark{min-width:0;overflow:hidden;text-overflow:ellipsis}.meshterm header>.spacer{display:none}.meshterm header>select,.meshterm header>.conn-pill{display:none}.meshterm header>button.primary{order:1;margin-left:auto;max-width:min(42vw,12rem);overflow:hidden;text-overflow:ellipsis}.meshterm .menu-btn{order:2;margin-left:0}.meshterm .logo>span:not(.wordmark),.meshterm .logo small{display:none}.meshterm .logo .logo-mark{height:21px}.meshterm .logo .wordmark{font-size:17px}.meshterm .kv{grid-template-columns:minmax(0,9ch) minmax(0,1fr);gap:9px 14px;padding:12px;font-size:13px}.meshterm .form-grid{grid-template-columns:minmax(0,1fr);gap:6px;padding:10px}.meshterm .panel-title{flex-wrap:wrap;row-gap:6px;padding:10px 12px;font-size:10.5px;letter-spacing:1.2px}.meshterm .panel-title>.spacer{display:none}.meshterm .panel-title input{width:auto!important;flex:1 1 8ch;min-width:0}.meshterm .panel:has(table){overflow-x:auto}.meshterm table{min-width:max-content}.meshterm :where(button,.tb-btn,select,input){min-height:44px}.meshterm button{min-width:44px}.meshterm .chat-input input{min-height:44px}.meshterm header nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;flex-direction:column;align-items:stretch;justify-content:flex-start;justify-content:safe center;gap:8px;padding:max(72px,env(safe-area-inset-top) + 56px) max(26px,env(safe-area-inset-right)) max(34px,env(safe-area-inset-bottom) + 20px) max(26px,env(safe-area-inset-left));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-top:8px;scroll-padding-bottom:8px;background:color-mix(in srgb,var(--bg) 94%,var(--fg));opacity:0;pointer-events:none;transition:opacity .18s ease-out}.meshterm .app.menu-open header nav{opacity:1;pointer-events:auto}.meshterm header nav>.tab{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:17px;letter-spacing:2px;padding:13px 16px;text-align:center;opacity:0;transform:translateY(10px);transition:opacity .22s ease-out,transform .26s cubic-bezier(.16,1,.3,1)}.meshterm .app.menu-open header nav>.tab{opacity:1;transform:none;transition-delay:calc(var(--i, 0) * 28ms)}.meshterm .menu-btn{display:flex;position:relative;flex-direction:column;justify-content:center;gap:5px;width:46px;min-height:40px;padding:0 12px;overflow:visible;z-index:61;background:transparent}.meshterm .menu-btn span{display:block;height:2px;width:100%;background:currentColor;transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .15s ease-out}.meshterm .menu-btn{color:var(--fg)}.meshterm .app.menu-open .menu-btn{background:var(--fg);color:var(--bg)}.meshterm .app.menu-open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}.meshterm .app.menu-open .menu-btn span:nth-child(2){opacity:0}.meshterm .app.menu-open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.meshterm .flow-step{grid-template-columns:3ch minmax(0,1fr);gap:4px 12px;padding:12px 14px}.meshterm .flow-v{grid-column:2}.meshterm .prose{padding:14px;font-size:13.5px}}body:has(.meshterm .app.menu-open){overflow:hidden}@media(max-width:560px){.meshterm .conn-pill span:not(.led){display:none}.meshterm .conn-pill{padding:0 10px}.meshterm header select,.meshterm header .primary{font-size:11px;padding:0 10px}}@media(max-width:480px){.meshterm footer{font-size:10px;gap:10px}.meshterm .panel-actions{flex-wrap:wrap;gap:4px}}@media(prefers-reduced-motion:reduce){.meshterm button{transition:none}.meshterm button:not(.tab):active:not(:disabled){transform:none}.meshterm header nav,.meshterm header nav>.tab,.meshterm .menu-btn span{transition:none}}.meshterm button:disabled,.meshterm select:disabled,.meshterm input:disabled{opacity:.55}@media(pointer:coarse){.meshterm .map-hint,.meshterm .map-wrap .hint{display:none}}@media(max-width:860px){.meshterm .map-wrap,.meshterm .map-wrap .leaflet-container{min-height:58vh}.meshterm main.fill{flex-direction:column}.meshterm .pdf-scroll{width:100%}.meshterm header nav{visibility:hidden;transition:opacity .18s ease-out,visibility 0s linear .18s}.meshterm .app.menu-open header nav{visibility:visible;transition:opacity .18s ease-out}.meshterm select{min-width:11ch}}.meshterm .stat-strip{display:flex;flex-wrap:wrap;gap:10px 30px;padding:12px 16px;border-bottom:1px solid var(--border);font-size:12.5px;min-width:0}.meshterm .stat-strip .stat{display:inline-flex;align-items:baseline;gap:9px;white-space:nowrap;min-width:0}.meshterm .stat-strip .k{color:var(--fg-dim);font-size:10.5px;letter-spacing:1px}:root.light .meshterm .stat-strip .v{color:var(--ink)}.meshterm .chat-msgs{min-width:0;overflow-wrap:anywhere}.meshterm .chat-msgs>:first-child{margin-top:auto}.meshterm .nodes-filter{width:180px;font-size:11px;min-width:0}@media(max-width:860px){.meshterm .nodes-filter{font-size:16px}}.meshterm .nodes-empty{margin:14px;max-width:none;min-height:10rem;display:flex;flex-direction:column;justify-content:center}.meshterm .stat-tile{flex:1 1 110px;max-width:200px;min-width:0}.meshterm .mesh-summary-values .stat-tile{min-width:96px}@media(max-width:560px){.meshterm .mesh-summary-values .stat-tile{flex:1 1 calc(33.333% - 7px);min-width:0;max-width:none}.meshterm .stat-tile .label{overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none}}.meshterm main.mesh-screen{min-width:0;max-width:100%;overflow-y:auto}.meshterm main.mesh-screen .mesh-topology{flex:1;min-width:0;max-width:100%}.meshterm main.mesh-screen .mesh-topology[data-empty=true]{flex:0 0 auto}.meshterm .mesh-source-note{margin:12px 12px 0;font-size:13px;line-height:1.6;color:var(--ink)}.meshterm .app:has(.mesh-screen):after{display:none}.meshterm main.mesh-screen .mesh-topology-toolbar{flex-wrap:wrap;gap:8px 10px;align-items:center}.meshterm main.mesh-screen .mesh-toolbar-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;max-width:100%}.meshterm main.mesh-screen .mesh-count{min-width:0;overflow-wrap:anywhere}.meshterm main.mesh-screen .mesh-graph-layout{flex:1;display:flex;flex-wrap:wrap;min-width:0;max-width:100%;overflow:hidden}.meshterm main.mesh-screen .mesh-graph-viewport{flex:999 1 320px;min-width:0;max-width:100%;min-height:260px;height:100%;overflow:hidden}.meshterm main.mesh-screen .mesh-graph-viewport svg{display:block;width:100%;height:100%;max-width:100%}.meshterm main.mesh-screen .mesh-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;min-width:0;overflow-wrap:anywhere}.meshterm main.mesh-screen .mesh-legend>span{flex:0 1 auto;min-width:0}.meshterm main.mesh-screen .mesh-node-detail{flex:1 1 260px;min-width:0;max-width:100%}.meshterm main.mesh-screen .mesh-empty{flex:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:0;max-width:68ch;padding:32px 24px}.meshterm main.mesh-screen .mesh-empty button{margin-top:20px}.meshterm main.mesh-screen .mesh-empty h2{margin:0 0 10px;font-size:15px;line-height:1.35;letter-spacing:0;font-weight:700;color:var(--fg)}.meshterm main.mesh-screen .mesh-empty p{margin:0;font-size:13px;line-height:1.6;color:var(--ink, var(--fg))}.meshterm main.mesh-screen .mesh-activity{flex:1;min-width:0;max-width:100%;overflow:auto;overscroll-behavior:contain;padding:12px;-webkit-overflow-scrolling:touch}.meshterm main.mesh-screen .mesh-activity-table{border-collapse:collapse;font-size:11px;width:max-content}.meshterm main.mesh-screen .mesh-activity-node{padding-right:10px;white-space:nowrap;position:sticky;left:0;z-index:1;background:var(--panel)}.meshterm main.mesh-screen .mesh-activity-cell{width:9px;min-width:9px;height:14px;padding:0;border:1px solid var(--border)}.meshterm main.mesh-screen .mesh-activity-total{padding-left:10px;white-space:nowrap}@media(max-width:860px){.meshterm main.mesh-screen .mesh-graph-layout.scroll-y{overflow:hidden;max-width:100%}.meshterm main.mesh-screen .mesh-graph-layout .mesh-graph-viewport{height:min(60dvh,480px)!important;max-width:100%;min-width:0;overflow:hidden!important}.meshterm main.mesh-screen .mesh-graph-viewport svg{width:100%!important;height:100%!important;max-width:100%}.meshterm main.mesh-screen .mesh-node-detail{min-width:0!important}.meshterm main.mesh-screen .mesh-legend{gap:4px 12px}}.meshterm .this-device{flex-shrink:0;min-width:0}.meshterm .this-device .panel-title>span{min-width:0;overflow-wrap:anywhere}.meshterm .this-device .device-readout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:8px;padding:10px 12px 12px;min-width:0}.meshterm .this-device .stat-tile{flex:1 1 140px;max-width:none;min-width:0;padding:8px 10px;border:1px solid var(--border)}.meshterm .this-device .stat-tile .label{letter-spacing:1px;line-height:1.3}.meshterm .this-device .stat-tile .value{font-size:16px;display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%}.meshterm .this-device .stat-tile .value small{text-wrap:pretty}.meshterm .this-device .spark{width:100%;height:24px;color:var(--fg);display:block;flex-shrink:0}.meshterm .this-device .spark-empty{color:var(--fg-dim)}.meshterm .device-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px 10px}.meshterm .device-note{margin:0;padding:0 12px 10px;font-size:11px;max-width:72ch}.meshterm .device-heard{padding:0 12px 12px;display:flex;flex-direction:column;gap:4px}.meshterm .device-heard .label{font-size:10px;letter-spacing:2px;color:var(--fg-dim)}.meshterm .heard-line{display:grid;grid-template-columns:92px 1fr auto;gap:8px;font-size:11px}.meshterm .spark{color:var(--fg);display:block}.meshterm .sim-badge{display:inline-block;margin-left:8px;padding:1px 6px;border:1px solid var(--warn);color:var(--warn);letter-spacing:1px;font-size:10px;font-weight:700;vertical-align:middle}.meshterm table.grid tbody tr.this-device-row{background:color-mix(in srgb,var(--fg) 10%,transparent);cursor:default}.meshterm table.grid tbody tr.this-device-row:hover,.meshterm table.grid tbody tr.this-device-row.sel{background:color-mix(in srgb,var(--fg) 16%,transparent);color:inherit}.meshterm table.grid tbody tr.this-device-row:hover .ok,.meshterm table.grid tbody tr.this-device-row:hover .warn,.meshterm table.grid tbody tr.this-device-row:hover .err,.meshterm table.grid tbody tr.this-device-row.sel .ok,.meshterm table.grid tbody tr.this-device-row.sel .warn,.meshterm table.grid tbody tr.this-device-row.sel .err{color:inherit}@media(max-width:860px){.meshterm .app:has(main.fill){height:100vh;height:100dvh;min-height:0;overflow:hidden}.meshterm .app:has(main.fill) header{position:static}.meshterm main.fill{flex:1 1 0!important;min-height:0;overflow:hidden}.meshterm main.fill .pdf-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.meshterm header nav{inset:auto;top:0;left:0;right:0;height:100vh;height:100dvh;padding-top:max(72px,env(safe-area-inset-top) + 56px);padding-right:max(26px,env(safe-area-inset-right));padding-bottom:max(34px,env(safe-area-inset-bottom) + 20px);padding-left:max(26px,env(safe-area-inset-left))}}@keyframes meshterm-rowland{0%{background:var(--fg);color:var(--bg)}}.meshterm table.grid tbody tr:last-child{animation:meshterm-rowland .5s ease-out}@media(prefers-reduced-motion:reduce){.meshterm table.grid tbody tr:last-child{animation:none}}.meshterm .overlay-sheet{position:fixed;inset:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));width:min(600px,100%);height:fit-content;max-height:100%;margin:auto;z-index:70;display:flex;flex-direction:column;justify-content:flex-start;gap:16px;padding:24px;border:1px solid var(--border);background:var(--bg);color:var(--ink, var(--fg));overflow-y:auto;overscroll-behavior:contain}.meshterm .overlay-sheet::backdrop{background:#0000004d}.meshterm .overlay-sheet:not([open]){display:none}.meshterm .overlay-sheet .flow{border-top:1px solid var(--border);max-width:640px}.meshterm .sheet-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:640px;position:sticky;top:0;z-index:1;background:var(--bg)}.meshterm .sheet-title{min-width:0;font-size:13px;letter-spacing:3px;color:var(--fg)}.meshterm .sheet-close{position:static;width:44px;min-height:44px;padding:0;font-size:24px;letter-spacing:1px;background:transparent;flex-shrink:0}.meshterm .sheet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex-wrap:wrap;max-width:640px}.meshterm .sheet-actions button{min-width:0;min-height:46px;padding:8px 12px;letter-spacing:0}.meshterm .sheet-note{max-width:56ch;font-size:12px;line-height:1.6;margin:0;color:var(--fg-dim)}.meshterm .sheet-note-alert{color:var(--ink, var(--fg));max-width:640px}.meshterm .overlay-sheet .error{margin:0;max-width:640px}@media(max-width:860px){.meshterm .overlay-sheet{padding:16px}.meshterm .sheet-actions{grid-template-columns:minmax(0,1fr)}}@media(max-width:860px){.meshterm .app.menu-open header{position:sticky;top:0;z-index:62}.meshterm header nav{justify-content:flex-start;justify-content:safe center}.meshterm header nav>.tab:first-child,.meshterm header nav>.tab:last-child{margin-top:0;margin-bottom:0}.meshterm header nav>.tab{font-size:15px;padding:11px 16px;flex-shrink:0}.meshterm header nav>.tab .unread-badge{margin-left:0;flex-shrink:0}}.meshterm .demo-session-bar{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;gap:12px;padding:6px 16px;border-bottom:1px solid var(--border);font-size:12px}.meshterm .demo-session-bar button{flex-shrink:0;min-height:44px}.meshterm .intro-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.meshterm .intro-scroll::-webkit-scrollbar{width:6px}.meshterm .intro-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.meshterm .intro-track{position:relative}.meshterm .intro-stage{position:sticky;top:0;height:var(--intro-height, calc(100% / var(--intro-n, 6)));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"copy device";align-items:stretch;gap:clamp(24px,4vw,64px);width:100%;max-width:1440px;margin-inline:auto;padding:32px clamp(24px,5vw,72px);overflow:hidden}.meshterm .intro-copy{position:relative;grid-area:copy;min-width:0;min-height:0;width:100%;max-width:520px;max-height:100%;overflow-y:auto;scrollbar-width:thin;align-self:center;z-index:10}.meshterm .intro-copy-measure{position:absolute;inset:0 auto auto 0;width:100%;visibility:hidden;pointer-events:none}.meshterm .intro-copy-measure>div+div{margin-top:0}.meshterm .intro-head{margin:0 0 18px;font-size:clamp(28px,2.8vw,42px);letter-spacing:-.01em;line-height:1.15;font-weight:700;text-wrap:balance;color:var(--ink, var(--fg))}.meshterm .intro-body{margin:0;font-size:16px;line-height:1.7;text-wrap:pretty;color:var(--ink)}.meshterm .intro-device{grid-area:device;position:relative;min-width:0;min-height:0;width:100%;height:100%;max-height:620px;align-self:center}.meshterm .app:has(.intro-scroll):after{display:none}@media(max-width:860px){.meshterm .intro-stage{display:flex;flex-direction:column;justify-content:center;padding:12px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left));gap:10px}.meshterm .intro-copy{order:2;flex:0 0 auto;align-self:center;width:100%;max-width:560px;max-height:none;min-height:var(--intro-copy-height, 0px);overflow:visible}.meshterm .intro-device{flex:0 0 auto;--intro-chrome: 36px;height:clamp(150px,calc(var(--intro-height, 100dvh) - var(--intro-copy-height, 0px) - var(--intro-chrome)),72dvh);max-height:72dvh;width:100%;margin-inline:0}.meshterm .intro-head{font-size:clamp(22px,6.4vw,30px);line-height:1.15;margin-bottom:10px;text-wrap:balance}.meshterm .intro-body{font-size:15px;line-height:1.55;text-wrap:pretty}}@media(max-width:860px)and (max-height:700px){.meshterm .intro-stage{padding:8px max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left));gap:10px}.meshterm .intro-head{font-size:clamp(19px,5.6vw,24px);margin-bottom:6px}.meshterm .intro-body{font-size:13.5px;line-height:1.45}}@media(max-width:860px)and (min-width:600px)and (max-height:480px){.meshterm .intro-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"copy device";column-gap:24px}.meshterm .intro-copy{align-self:center;max-height:100%}.meshterm .intro-device{height:100%;max-height:100%}}@media(max-width:860px){.meshterm .app:has(.map-main){height:100vh;height:100dvh;min-height:0;overflow:hidden}.meshterm .app:has(.map-main) header{position:static}.meshterm .map-main{flex:1 1 0!important;min-height:0;overflow:hidden;padding:0;gap:0}.meshterm .map-main>.panel{flex:1 1 auto!important;min-height:0;display:flex;flex-direction:column}.meshterm .map-main .map-wrap{flex:1;min-height:0;height:auto}.meshterm .map-toolbar{flex:1 1 100%;gap:8px}.meshterm .map-chip-row button{min-height:44px;padding:0 10px;font-size:11px}.meshterm .map-hud-top{left:52px;right:8px;top:8px;max-width:none;line-height:1.4}.meshterm .map-hud-bottom{left:8px;right:8px;bottom:8px;max-width:none;line-height:1.4}.meshterm .map-coverage-legend{left:8px;right:8px;bottom:44px;width:auto;max-height:38%;overflow:auto}.meshterm .map-waypoint-sheet{left:8px;right:8px;top:8px;width:auto}.meshterm .map-wait{left:8px;right:8px;top:8px;max-width:none}.meshterm .map-wrap:has(.map-coverage-legend) .map-hud-bottom{display:none}}.meshterm .intro-scroll{scroll-snap-type:y mandatory;overscroll-behavior:contain}.meshterm .intro-snap{position:absolute;left:0;width:1px;height:1px;scroll-snap-align:start;scroll-snap-stop:always;pointer-events:none}@media(prefers-reduced-motion:reduce){.meshterm .intro-scroll{scroll-snap-type:none}.meshterm .intro-snap{scroll-snap-align:none;scroll-snap-stop:normal}}.meshterm .trace{border-bottom:1px solid var(--border);padding:8px 14px 10px;display:grid;gap:5px;font-size:12px}.meshterm .trace-step{display:grid;grid-template-columns:5ch 11ch minmax(0,1fr);gap:8px;align-items:baseline}.meshterm .trace-glyph{text-align:center}.meshterm .trace-step.ok .trace-glyph,.meshterm .trace-step.ok .trace-label{color:var(--ok, var(--fg))}.meshterm .trace-step.err .trace-glyph,.meshterm .trace-step.err .trace-label,.meshterm .trace-step.err .trace-detail{color:var(--err)}.meshterm .trace-step.run .trace-glyph{animation:meshterm-blink 1s infinite}.meshterm .trace-label{letter-spacing:1px;font-size:10.5px;color:var(--fg-dim)}.meshterm .trace-detail{overflow-wrap:anywhere}:root.light .meshterm .trace-detail{color:var(--ink)}@media(prefers-reduced-motion:reduce){.meshterm .trace-step.run .trace-glyph{animation:none}}@media(min-width:861px){.meshterm header{flex-wrap:nowrap;gap:clamp(5px,.8vw,16px);padding:10px clamp(8px,1vw,16px)}.meshterm header nav{flex:0 1 auto;flex-wrap:nowrap;min-width:0;order:0;width:auto;gap:clamp(2px,.3vw,6px)}.meshterm header nav>.tab{flex:0 1 auto;min-width:0;white-space:nowrap;font-size:clamp(7.5px,.72vw,11px);letter-spacing:clamp(0px,.05vw,1px);padding:0 clamp(2px,.5vw,12px)}.meshterm .logo{flex:0 0 auto;gap:clamp(4px,.5vw,9px)}.meshterm .logo .wordmark{font-size:clamp(13px,1.2vw,20px)}.meshterm .logo .logo-mark{height:clamp(17px,1.6vw,26px)}.meshterm header>.primary{flex:0 0 auto;font-size:clamp(8px,.72vw,12px);padding:0 clamp(6px,.8vw,16px)}.meshterm header>.spacer{flex:1 1 0;min-width:0}.meshterm header nav>.tab,.meshterm header>.primary,.meshterm header>.conn-pill{box-sizing:border-box;height:clamp(20px,1.9vw,28px);display:inline-flex;align-items:center}.meshterm header>.conn-pill{padding:0 clamp(6px,.8vw,10px);font-size:clamp(8px,.72vw,11px)}}@media(min-width:861px)and (max-width:1180px){.meshterm header>.conn-pill{display:none}}.meshterm .docs-grid{flex:1;display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:12px;min-height:0}.meshterm .docs-nav-panel,.meshterm .docs-doc-panel{min-height:0}.meshterm .docs-nav{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;padding:4px;gap:1px}.meshterm .docs-nav button:not(.tab){text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.35;padding:7px 9px;border:1px solid transparent;background:transparent;color:var(--fg-dim);letter-spacing:0;box-shadow:none;cursor:pointer}.meshterm .docs-nav button:not(.tab):hover:not(:disabled){background:color-mix(in srgb,var(--fg) 12%,transparent);color:var(--fg);border-color:var(--border);box-shadow:none}.meshterm .docs-nav button:not(.tab):active:not(:disabled){transform:none;box-shadow:none}.meshterm .docs-nav button:not(.tab).is-current,.meshterm .docs-nav button:not(.tab).is-current:hover:not(:disabled){color:var(--fg);background:color-mix(in srgb,var(--fg) 20%,transparent);border-color:var(--fg);font-weight:700}.meshterm .docs-scroll{flex:1;min-height:0;overflow-y:auto;padding:10px 20px 32px}.meshterm .docs-body{font-size:14px;line-height:1.75}.meshterm .docs-body>*{max-width:43rem}.meshterm .docs-body>.docs-table-wrap,.meshterm .docs-body>pre,.meshterm .docs-body>figure{max-width:100%}.meshterm .docs-body>*:first-child{margin-top:0}.meshterm .docs-body h1,.meshterm .docs-body h2,.meshterm .docs-body h3,.meshterm .docs-body h4{line-height:1.3;color:var(--fg);font-weight:700}.meshterm .docs-body h1:after,.meshterm .docs-body h2:after{display:block;overflow:hidden;white-space:nowrap;opacity:.5;font-weight:400;margin-top:.3em}.meshterm .docs-body h1{font-size:1.55em;margin:0 0 .9em;letter-spacing:.01em}.meshterm .docs-body h1:after{content:"════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════"}.meshterm .docs-body h2{font-size:1.22em;margin:2.4em 0 .8em}.meshterm .docs-body h2:after{content:"────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────"}.meshterm .docs-body h3{font-size:1.05em;margin:1.9em 0 .6em}.meshterm .docs-body h3:before{content:"▸ ";opacity:.7}.meshterm .docs-body h4{font-size:1em;margin:1.5em 0 .5em;opacity:.85}.meshterm .docs-body h4:before{content:"· ";opacity:.7}.meshterm .docs-body p,.meshterm .docs-body ul,.meshterm .docs-body ol,.meshterm .docs-body blockquote{margin:0 0 1.15em}.meshterm .docs-body ul{list-style:none;padding-left:0}.meshterm .docs-body ul>li{position:relative;padding-left:2.5ch}.meshterm .docs-body ul>li:before{content:"▸";position:absolute;left:0;color:var(--fg);opacity:.75}.meshterm .docs-body ol{padding-left:3ch}.meshterm .docs-body ol>li::marker{color:var(--fg)}.meshterm .docs-body li{margin:.45em 0}.meshterm .docs-body li>ul,.meshterm .docs-body li>ol{margin:.45em 0}.meshterm .docs-body blockquote{border-left:3px solid var(--fg);background:color-mix(in srgb,var(--fg) 7%,transparent);padding:.7em 1em}.meshterm .docs-body blockquote>*:last-child{margin-bottom:0}.meshterm .docs-body hr{border:none;height:1em;overflow:hidden;white-space:nowrap;opacity:.4;margin:2.2em 0;color:var(--fg)}.meshterm .docs-body hr:before{content:"────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────"}.meshterm .docs-body a{color:var(--fg);text-underline-offset:2px}.meshterm .docs-body img{display:block;max-width:100%;height:auto;margin:1.75em auto}.meshterm .docs-body p:has(>img:only-child){max-width:100%;text-align:center;margin:1.75em 0}.meshterm .docs-body p>img:only-child{margin:0 auto}.meshterm .docs-body code{background:color-mix(in srgb,var(--fg) 10%,transparent);border:1px solid var(--border);padding:.05em .35em;font-size:.92em;overflow-wrap:anywhere}.meshterm .docs-body pre{background:color-mix(in srgb,var(--fg) 6%,var(--panel));border:1px solid var(--border);border-left:3px solid color-mix(in srgb,var(--fg) 45%,transparent);padding:12px 16px;overflow-x:auto;margin:0 0 1.4em;line-height:1.55}.meshterm .docs-body pre code{background:none;border:none;padding:0;font-size:.95em;white-space:pre}.meshterm .docs-table-wrap{overflow-x:auto;margin:0 0 1.2em;border:1px solid var(--border)}.meshterm .docs-body table{border-collapse:collapse;width:100%;font-size:.95em;font-variant-numeric:tabular-nums}.meshterm .docs-body thead th{background:var(--glow);color:var(--fg);text-align:left;font-weight:700;white-space:nowrap;border-bottom:1px solid var(--border)}.meshterm .docs-body th,.meshterm .docs-body td{padding:7px 12px;border-right:1px solid var(--border);vertical-align:top}.meshterm .docs-body th:last-child,.meshterm .docs-body td:last-child{border-right:none}.meshterm .docs-body tbody tr+tr td{border-top:1px solid var(--border)}.meshterm .docs-body tbody tr:hover td{background:var(--glow)}@media(max-width:860px){.meshterm .docs-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:8px}.meshterm .docs-nav{max-height:26vh}.meshterm .docs-nav button:not(.tab){padding:9px 10px}.meshterm .docs-scroll{padding:12px 14px 32px}.meshterm .docs-body{font-size:14px;line-height:1.6}.meshterm .docs-body>*{max-width:100%}.meshterm .docs-body h1{font-size:1.4em}.meshterm .docs-body h2{font-size:1.2em}.meshterm .docs-body pre{padding:10px;font-size:.86em}.meshterm .docs-body th,.meshterm .docs-body td{padding:6px 9px}.meshterm .docs-doc-panel .panel-title .dim{display:none}}.meshterm .cap-chain{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;align-items:baseline;padding:8px 12px}.meshterm .cap-chain .k{color:var(--fg);opacity:.75;white-space:nowrap}.meshterm .cap-chain .v{min-width:0;overflow-wrap:anywhere}@media(max-width:640px){.meshterm .cap-chain{grid-template-columns:minmax(0,1fr);gap:2px}.meshterm .cap-chain .k{margin-top:6px}}.meshterm .device-counters{display:flex;flex-wrap:wrap;gap:8px 20px;padding:10px 12px;border-top:1px solid var(--border)}.meshterm .device-counters span{display:flex;flex-wrap:wrap;gap:8px}.meshterm p{text-wrap:pretty}@media(max-width:560px){.meshterm .kv{grid-template-columns:minmax(0,1fr);gap:4px}.meshterm .kv .v{margin-bottom:10px}.meshterm .kv .k{font-size:11px}.meshterm .this-device .device-readout{grid-template-columns:repeat(2,minmax(0,1fr))}.meshterm .this-device .stat-tile{min-width:0;padding:8px}.meshterm .this-device .stat-tile .label{font-size:9px;letter-spacing:.5px;min-height:2.4em}.meshterm .this-device .stat-tile .value{font-size:15px}.meshterm .this-device .stat-tile .value small{font-size:11px;line-height:1.35}.meshterm .device-note{font-size:12px;line-height:1.5}.meshterm .heard-line{grid-template-columns:minmax(0,1fr);gap:3px}}@media(max-width:860px){.meshterm .overlay-sheet{justify-content:flex-start;gap:10px;padding:20px}.meshterm .overlay-sheet .flow{display:none}.meshterm .sheet-actions{display:grid;grid-template-columns:1fr;width:100%}.meshterm .sheet-actions button{min-height:44px;padding:8px 12px;font-size:12px;width:100%}}.meshterm .telemetry-plot{width:100%;height:clamp(248px,48dvh,480px)}.meshterm .telemetry-controls select{max-width:100%}@media(max-width:560px){.meshterm .telemetry-controls>select{width:100%}.meshterm .telemetry-plot{height:300px}}.meshterm .uplot .u-legend{min-width:0;font-size:11px}.meshterm .uplot .u-label{white-space:normal}@media(max-width:860px){.meshterm button:not(.tab),.meshterm .panel-title :is(button,input,select),.meshterm .chat-input input{min-height:44px}}@media(max-width:560px){.meshterm .trace-step{grid-template-columns:5ch minmax(0,1fr)}.meshterm .trace-detail{grid-column:2}}.meshterm header .logo{text-decoration:none}.meshterm header nav>a.tab{box-sizing:border-box;display:inline-flex;align-items:center;text-decoration:none;color:var(--fg);border:1px solid var(--border);font-family:inherit;line-height:1.45;justify-content:center}.meshterm header nav>a.tab.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.meshterm header nav>a.tab:focus-visible,.meshterm header .logo:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.meshterm .section-tabs{display:flex;flex:none;flex-wrap:wrap;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border)}.meshterm .section-tabs a{color:var(--fg);font-size:11px;padding:8px 12px;border:1px solid var(--border);text-decoration:none}.meshterm .section-tabs a[aria-current=page]{color:var(--bg);background:var(--fg);border-color:var(--fg)}.meshterm .section-tabs a:focus-visible{outline:2px solid var(--fg);outline-offset:2px}@media(hover:hover)and (pointer:fine){.meshterm header nav>a.tab:hover,.meshterm .section-tabs a:hover{border-color:var(--fg);text-decoration:underline;text-underline-offset:3px}}@media(min-width:861px)and (max-width:1280px){.meshterm header{flex-wrap:wrap;gap:8px}.meshterm header nav{order:3;flex:1 0 100%;flex-wrap:wrap;justify-content:flex-start;gap:4px}.meshterm header nav>a.tab{flex:0 1 auto;font-size:10px;letter-spacing:0;height:30px;padding:0 6px}.meshterm header>.primary{margin-left:auto;font-size:10px;height:30px}.meshterm header>.conn-pill{display:none}}@media(max-width:860px){.meshterm .section-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}.meshterm .section-tabs a{display:inline-flex;align-items:center;flex:0 0 auto;min-height:44px}.meshterm .debug-main{padding-bottom:max(12px,env(safe-area-inset-bottom))}.meshterm .debuglog,.meshterm .debug-empty,.meshterm .screen-loading,.meshterm .screen-error{min-height:min(60dvh,28rem)}}@media(max-width:430px){.meshterm header>button.primary .conn-id{display:none}}.meshterm .anim-num{font-variant-numeric:tabular-nums}.meshterm .overlay-sheet .error{animation:meshterm-sheet-err .42s var(--ease-out)}@keyframes meshterm-sheet-err{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@media(prefers-reduced-motion:reduce){.meshterm .overlay-sheet .error,.meshterm .chat-retry,.meshterm .chat-send.is-shake,.meshterm .chat-dock .error,.meshterm .cursor{animation:none}}.meshterm .menu-btn[data-unread]:after{content:attr(data-unread);position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--warn);color:var(--bg);box-shadow:0 0 0 2px var(--bg);font-size:9px;font-weight:700;line-height:16px;letter-spacing:0;text-align:center;pointer-events:none}.meshterm .app.menu-open .menu-btn[data-unread]:after{box-shadow:0 0 0 2px var(--fg)}@media(max-width:860px){.meshterm .panel-title-label{flex:1 1 100%;min-width:0}.meshterm .panel-title>button{flex:1 1 calc(50% - 6px);min-width:0}.meshterm .traffic-toolbar>button{flex-basis:calc(33% - 6px)}.meshterm .traffic-fetch{flex:1 1 100%}.meshterm .traffic-fetch button{flex:0 0 auto}.meshterm .stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:10px}.meshterm .stat-strip .stat{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;white-space:normal}.meshterm .stat-strip .v{overflow-wrap:anywhere}.meshterm .this-device .device-readout{grid-template-columns:repeat(2,minmax(0,1fr))}.meshterm .chat-input{align-items:stretch;padding-bottom:10px}.meshterm .chat-remain{display:inline-flex;align-items:center}.meshterm .chat-send{flex:0 0 auto}.meshterm main:has(.chat-thread){min-height:calc(100dvh - 52px)}.meshterm main:not(.fill)>.chat-thread{flex:1 1 auto!important;min-height:18rem}.meshterm .chat-thread .chat-msgs{flex:1 1 auto!important;min-height:10rem;overflow:visible}.meshterm .chat-dock{position:sticky;bottom:0;z-index:3;padding-bottom:env(safe-area-inset-bottom)}.meshterm .chat-convos .chat-convo-list{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 10px}.meshterm .chat-convos .convo-item{width:auto;flex:0 1 auto;padding:8px 12px;border:1px solid var(--border)}.meshterm .chat-convos .convo-item.dim{flex:1 1 100%;border:0}.meshterm .panel.nodes-roster:has(table){overflow-x:visible}.meshterm .nodes-roster .scroll-y{overflow:visible}.meshterm .nodes-roster table{min-width:0;width:100%;table-layout:fixed}.meshterm .nodes-roster th:nth-child(3),.meshterm .nodes-roster td:nth-child(3),.meshterm .nodes-roster th:nth-child(7),.meshterm .nodes-roster td:nth-child(7){width:22%}.meshterm .nodes-roster th,.meshterm .nodes-roster td{padding-inline:8px;white-space:normal;overflow-wrap:anywhere;vertical-align:middle}.meshterm .nodes-roster th{letter-spacing:0}.meshterm .nodes-roster td{padding-top:12px;padding-bottom:12px}.meshterm .nodes-roster tbody tr{min-height:44px}.meshterm .nodes-roster th:nth-child(2),.meshterm .nodes-roster td:nth-child(2),.meshterm .nodes-roster th:nth-child(4),.meshterm .nodes-roster td:nth-child(4),.meshterm .nodes-roster th:nth-child(5),.meshterm .nodes-roster td:nth-child(5),.meshterm .nodes-roster th:nth-child(6),.meshterm .nodes-roster td:nth-child(6){display:none}.meshterm .nodes-roster .panel-foot{flex-wrap:wrap;gap:8px 16px}.meshterm .nodes-empty{margin:12px;padding:20px 14px}}
