.protocol-explorer{--pe-bg:#0a1020;--pe-panel:#10182b;--pe-panel-raised:#121d34;--pe-border:#25324f;--pe-text:#d9e4ff;--pe-muted:#8192b5;--pe-blue:#7397ff;width:100%;min-height:100svh;color:var(--pe-text);background:var(--pe-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45}.protocol-explorer-light{--pe-bg:#eef3fb;--pe-panel:#fff;--pe-panel-raised:#f3f6fb;--pe-border:#cbd5e1;--pe-text:#17233a;--pe-muted:#64748b;--pe-blue:#2563eb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.protocol-toolbar{z-index:5;border-bottom:1px solid var(--pe-border);background:color-mix(in srgb, var(--pe-bg) 95%, transparent);grid-template-columns:minmax(270px,1fr) minmax(165px,max-content) minmax(220px,310px) max-content;align-items:center;gap:14px;min-height:72px;padding:10px 18px;display:grid;position:relative}.protocol-brand{min-width:0;color:var(--pe-text);align-items:center;gap:12px;text-decoration:none;display:flex}.protocol-brand-mark{border:1px solid color-mix(in srgb, var(--pe-blue) 72%, transparent);width:44px;height:44px;color:var(--pe-blue);box-shadow:inset 0 0 20px color-mix(in srgb, var(--pe-blue) 8%, transparent);flex:0 0 44px;place-items:center;display:grid}.protocol-brand h1{font-size:15px}.protocol-layer-control{border-left:1px solid var(--pe-border);justify-items:start;gap:4px;padding-left:14px;display:grid}.protocol-layer-button,.protocol-icon-button,.protocol-playback-button{border:1px solid var(--pe-border);color:var(--pe-text);background:var(--pe-panel);justify-content:center;align-items:center;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.protocol-layer-button{border-radius:3px;width:29px;height:25px;font-size:11px}.protocol-layer-button:hover,.protocol-icon-button:hover,.protocol-playback-button:hover{border-color:var(--pe-blue);color:var(--pe-blue)}.protocol-layer-button.is-active{color:#fff;background:#2355d8;border-color:#4773e9}.protocol-search{border:1px solid var(--pe-border);background:var(--pe-panel);border-radius:3px;align-items:center;gap:9px;min-width:0;height:40px;padding:0 10px;display:flex}.protocol-search:focus-within{border-color:var(--pe-blue);box-shadow:0 0 0 2px color-mix(in srgb, var(--pe-blue) 16%, transparent)}.protocol-search input{width:100%;min-width:0;color:var(--pe-text);font:inherit;background:0 0;outline:none}.protocol-search input::placeholder{color:var(--pe-muted)}.protocol-key-hint{border:1px solid var(--pe-border);color:var(--pe-muted);border-radius:2px;flex:none;align-items:center;gap:2px;padding:2px 5px;font-size:10px;display:inline-flex}.protocol-toolbar-actions{align-items:center;gap:6px;display:flex}.protocol-icon-button{border-radius:3px;flex:none;width:38px;height:38px}.protocol-paid-button{color:#fff;letter-spacing:.03em;white-space:nowrap;background:#1d4ed8;border:1px solid #4673ec;border-radius:3px;justify-content:center;align-items:center;gap:7px;min-width:118px;height:38px;padding:0 10px;font-size:10px;font-weight:800;transition:background .12s;display:inline-flex}.protocol-paid-button:hover:not(:disabled){background:#3165ea}.protocol-paid-button:disabled{cursor:default;opacity:.82}.protocol-paid-label-mobile{display:none}.protocol-workspace{grid-template-rows:minmax(370px,1fr) 255px;grid-template-columns:minmax(258px,22.5%) minmax(0,1fr) minmax(270px,19%);gap:12px;height:calc(100svh - 72px);min-height:690px;padding:12px;display:grid}.protocol-sidebar,.protocol-network-panel,.protocol-overview-panel,.protocol-packet-panel{border:1px solid var(--pe-border);background-color:var(--pe-panel);border-radius:3px;min-width:0;overflow:hidden}.protocol-sidebar{flex-direction:column;grid-row:1/3;min-height:0;display:flex}.protocol-panel-heading{border-bottom:1px solid color-mix(in srgb, var(--pe-border) 76%, transparent);justify-content:space-between;align-items:center;gap:8px;min-height:46px;padding:0 12px;display:flex}.protocol-panel-heading h2,.protocol-packet-heading h2{color:var(--pe-text);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:800;overflow:hidden}.protocol-panel-heading>span:not(.protocol-learning-badge){color:var(--pe-muted);font-size:10px}.protocol-category-tabs{border-bottom:1px solid var(--pe-border);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 10px;display:grid}.protocol-category-tabs button{min-width:0;height:38px;color:var(--pe-muted);white-space:nowrap;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:4px;font-size:10px;display:flex}.protocol-category-tabs button span{color:color-mix(in srgb, var(--pe-muted) 80%, transparent);font-size:9px}.protocol-category-tabs button:hover,.protocol-category-tabs button.is-active{color:var(--pe-text)}.protocol-category-tabs button.is-active{border-color:#3165ea}.protocol-category-tabs button.is-active span{color:#9db7ff}.protocol-list-scroll{scrollbar-color:color-mix(in srgb, var(--pe-muted) 45%, transparent) transparent;scrollbar-width:thin;flex:1;min-height:0;padding:8px 10px;overflow:auto}.protocol-list-entry{border-bottom:1px solid color-mix(in srgb, var(--pe-border) 67%, transparent)}.protocol-list-item{width:100%;min-height:52px;color:var(--pe-text);text-align:left;align-items:center;gap:9px;padding:7px 9px;display:flex}.protocol-list-item:hover{background:color-mix(in srgb, var(--pe-blue) 7%, transparent)}.protocol-list-item.is-selected{background:color-mix(in srgb, var(--pe-blue) 8%, var(--pe-panel));border:1px solid #dc5e71}.protocol-list-dot{border:2px solid #38517e;border-radius:50%;flex:none;width:11px;height:11px}.protocol-list-item.is-selected .protocol-list-dot{background:#2355d8;border-color:#6f94ff;box-shadow:0 0 8px #4a76ef}.protocol-step-list{border-left:1px dashed color-mix(in srgb, var(--pe-blue) 35%, var(--pe-border));margin:2px 0 11px 15px;padding-left:0;list-style:none}.protocol-step-list li button{width:100%;color:var(--pe-text);text-align:left;grid-template-columns:23px minmax(0,1fr);align-items:center;gap:7px;padding:5px 7px 5px 0;display:grid}.protocol-step-list li button:hover,.protocol-step-list li button.is-current{color:#a8beff}.protocol-step-number{color:#c8d7ff;background:#25395f;border-radius:50%;place-items:center;width:21px;height:21px;font-size:10px;display:grid}.protocol-step-list button.is-current .protocol-step-number{color:#fff;background:#3264e7}.protocol-sidebar>p{flex:none}.protocol-network-panel{flex-direction:column;min-height:0;display:flex;position:relative}.protocol-view-tabs{z-index:2;border:1px solid var(--pe-border);background:color-mix(in srgb, var(--pe-panel) 94%, transparent);border-radius:3px;padding:3px;display:inline-flex;position:absolute;top:12px;left:12px}.protocol-view-tabs button{height:29px;color:var(--pe-muted);border-radius:2px;align-items:center;gap:6px;padding:0 9px;font-size:11px;display:inline-flex}.protocol-view-tabs button:hover,.protocol-view-tabs button.is-active{color:#fff;background:#2355d8}.protocol-diagram-content{flex:1;min-height:0;display:flex;position:relative}.protocol-network-canvas{background:radial-gradient(at 54% 49%,#141f37 0%,#0d1528 67%);flex:1;min-height:0;position:relative;overflow:hidden}.protocol-network-canvas.is-light{background:radial-gradient(at 54% 49%,#f8fbff 0%,#e9effa 70%)}.protocol-canvas-grid{opacity:.52;background-image:linear-gradient(30deg, transparent 49.5%, color-mix(in srgb, var(--pe-blue) 10%, transparent) 49.7%, color-mix(in srgb, var(--pe-blue) 10%, transparent) 50.2%, transparent 50.4%), linear-gradient(150deg, transparent 49.5%, color-mix(in srgb, var(--pe-blue) 10%, transparent) 49.7%, color-mix(in srgb, var(--pe-blue) 10%, transparent) 50.2%, transparent 50.4%);background-size:42px 42px;position:absolute;inset:-50%;transform:perspective(550px)rotateX(0)}.protocol-network-svg{width:94%;height:90%;position:absolute;inset:5% 3%;overflow:visible}.protocol-network-routes path{fill:none;stroke:#36507c;stroke-dasharray:5 7;stroke-width:2px;opacity:.72}.protocol-active-route{fill:none;stroke-width:4px;stroke-dasharray:9 7;animation:.7s linear infinite protocol-flow-dash}@keyframes protocol-flow-dash{to{stroke-dashoffset:-32px}}.protocol-node{color:#83a2ff;transition:filter .15s,opacity .15s}.protocol-node-art{fill:#101b32;stroke:#688df5;stroke-width:2.5px;stroke-linejoin:round;filter:drop-shadow(0 4px 11px color-mix(in srgb, var(--pe-blue) 20%, transparent))}.protocol-node.is-active .protocol-node-art{fill:#17294c;stroke:#b5c9ff;filter:drop-shadow(0 0 9px #547ef4)}.protocol-network-canvas.is-light .protocol-node-art{fill:#f7faff}.protocol-node-label,.protocol-node-address,.protocol-internet-node text{fill:#b8caff;letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:700}.protocol-node-address{fill:#91a7d9;font-size:11px;font-weight:400}.protocol-network-canvas.is-light .protocol-node-label,.protocol-network-canvas.is-light .protocol-internet-node text{fill:#243958}.protocol-network-canvas.is-light .protocol-node-address{fill:#506583}.protocol-internet-node path,.protocol-internet-node circle{fill:#101b32;stroke:#688df5;stroke-width:2.5px}.protocol-internet-node path:last-child{fill:none}.protocol-internet-node text{font-size:12px}.protocol-canvas-hint{color:var(--pe-muted);letter-spacing:.08em;font-size:8px;position:absolute;bottom:10px;right:12px}.protocol-event-caption{border:1px solid color-mix(in srgb, var(--pe-border) 85%, transparent);background:color-mix(in srgb, var(--pe-panel) 92%, transparent);border-radius:3px;grid-template-columns:9px minmax(0,1fr);align-items:start;gap:8px;max-width:min(340px,64%);padding:10px 12px;display:grid;position:absolute;bottom:30px;right:14px;box-shadow:0 8px 30px #03081466}.protocol-live-dot,.protocol-learning-badge>span{background:#39ce87;border-radius:50%;width:8px;height:8px;margin-top:4px;box-shadow:0 0 10px #39ce87aa}.protocol-overview-panel{min-height:0;padding-bottom:12px;overflow-y:auto}.protocol-learning-badge{color:#86e8b7;letter-spacing:.06em;white-space:nowrap;background:#143c30;border-radius:3px;align-items:center;gap:6px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-flex}.protocol-learning-badge>span{width:7px;height:7px;margin:0}.protocol-overview-panel>h3,.protocol-overview-panel>p{margin-left:12px;margin-right:12px}.protocol-facts{border-top:1px solid color-mix(in srgb, var(--pe-border) 80%, transparent);margin:15px 12px 0}.protocol-fact-row{border-bottom:1px solid color-mix(in srgb, var(--pe-border) 70%, transparent);grid-template-columns:40% minmax(0,1fr);gap:8px;padding:8px 0;font-size:10px;display:grid}.protocol-fact-row dt{color:var(--pe-muted)}.protocol-fact-row dd{overflow-wrap:anywhere;color:var(--pe-text);text-align:right;margin:0}.protocol-payment-note{color:#b9cbff;background:#142345;border:1px solid #364d80;border-radius:3px;align-items:flex-start;gap:9px;margin:13px 12px 0;padding:10px;font-size:10px;line-height:1.6;display:flex}.protocol-payment-note.is-light{color:#264374;background:#edf3ff;border-color:#b8c8e8}.protocol-payment-note p{margin:0}.protocol-payment-note strong{color:var(--pe-text)}.protocol-packet-panel{flex-direction:column;grid-column:2/4;min-height:0;display:flex;position:relative}.protocol-packet-heading{border-bottom:1px solid var(--pe-border);justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:4px 10px 4px 14px;display:flex}.protocol-legend,.protocol-legend>span,.protocol-playback-controls{align-items:center;display:flex}.protocol-legend{color:var(--pe-muted);white-space:nowrap;gap:11px;font-size:9px}.protocol-legend>span{gap:5px}.protocol-legend i{border-radius:50%;width:8px;height:8px}.protocol-playback-controls{flex:none;gap:5px}.protocol-speed-select{align-items:center;display:inline-flex;position:relative}.protocol-speed-select select{appearance:none;border:1px solid var(--pe-border);height:32px;color:var(--pe-text);background:var(--pe-panel-raised);font:inherit;border-radius:3px;padding:0 22px 0 9px;font-size:10px}.protocol-playback-button{border-radius:3px;gap:6px;min-width:32px;height:32px;padding:0 8px;font-size:10px}.protocol-play-button,.protocol-lock-action{color:#fff;background:#2056dd;border:1px solid #4774ed;border-radius:3px;justify-content:center;align-items:center;gap:7px;height:32px;padding:0 13px;font-size:10px;font-weight:800;display:inline-flex}.protocol-play-button:hover,.protocol-lock-action:hover{background:#3568ed}.protocol-packet-scroll{scrollbar-color:color-mix(in srgb, var(--pe-muted) 45%, transparent) transparent;scrollbar-width:thin;flex:1;min-height:0;overflow:auto}.protocol-packet-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:10px}.protocol-packet-table th{z-index:1;border-bottom:1px solid var(--pe-border);color:var(--pe-muted);background:var(--pe-panel);text-align:left;padding:6px 8px;font-size:9px;font-weight:700;position:sticky;top:0}.protocol-packet-table td{border-bottom:1px solid color-mix(in srgb, var(--pe-border) 62%, transparent);max-width:360px;color:color-mix(in srgb, var(--pe-text) 93%, var(--pe-muted));padding:4px 8px}.protocol-packet-table tbody tr:hover,.protocol-packet-table tbody tr.is-active{background:color-mix(in srgb, var(--pe-blue) 10%, transparent)}.protocol-packet-table tbody tr.is-active td{color:var(--pe-text)}.protocol-packet-number{color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:9px;font-weight:800;display:grid}.protocol-color-blue{background:#2563eb}.protocol-color-green{background:#059669}.protocol-color-amber{background:#d99a0b}.protocol-color-purple{background:#8b5cf6}.protocol-packet-tag{border:1px solid color-mix(in srgb, var(--pe-border) 85%, transparent);color:#aabaff;background:color-mix(in srgb, var(--pe-panel-raised) 85%, transparent);border-radius:2px;padding:2px 5px}.protocol-message-cell{text-overflow:ellipsis;overflow:hidden}.protocol-packet-footnote{border-top:1px solid color-mix(in srgb, var(--pe-border) 70%, transparent);flex:none;margin:0;padding:5px 10px;font-size:8px}.protocol-lock-overlay,.protocol-diagram-lock-overlay{z-index:4;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080d1bc2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}.protocol-lock-overlay{border-radius:3px;inset:0}.protocol-diagram-lock-overlay{border:1px solid color-mix(in srgb, var(--pe-border) 84%, transparent);background:#080d1b94;border-radius:3px;inset:48px 10px 10px}.protocol-lock-card{background:#101a31;border:1px solid #314773;border-radius:4px;flex-direction:column;align-items:center;max-width:calc(100% - 28px);padding:19px 20px;display:flex;box-shadow:0 16px 55px #03081488}.protocol-lock-icon{color:#a9bdff;background:#192c50;border:1px solid #4568b5;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.protocol-lock-action{height:36px;margin-top:13px;padding:0 14px;font-size:11px}.protocol-dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#030713b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.protocol-shortcuts-dialog{color:#d9e4ff;background:#10182b;border:1px solid #34466c;border-radius:5px;width:min(440px,100%);padding:20px;box-shadow:0 25px 100px #020615cc}.protocol-shortcut-key{color:#b9cbff;background:#17233b;border:1px solid #34466c;border-radius:3px;width:max-content;padding:3px 6px;font-size:10px}.protocol-workspace-list-hidden{grid-template-columns:minmax(0,1fr) minmax(270px,23%)}.protocol-workspace-list-hidden .protocol-network-panel{grid-column:1}.protocol-workspace-list-hidden .protocol-overview-panel{grid-column:2}.protocol-workspace-list-hidden .protocol-packet-panel{grid-column:1/3}.protocol-sequence-view{background:linear-gradient(#10192c,#0d1528);flex-direction:column;flex:1;min-width:100%;min-height:0;padding:74px 24px 44px;display:flex;position:relative;overflow:auto}.protocol-sequence-view.is-light{background:linear-gradient(#f8fbff,#e9effa)}.protocol-sequence-actors,.protocol-sequence-events{gap:0;min-width:max(100%,450px);display:grid}.protocol-sequence-actors{z-index:2;border-bottom:1px solid var(--pe-border);background:inherit;padding-bottom:12px;position:sticky;top:0}.protocol-sequence-actor{color:#b9cbff;white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-height:39px;font-size:10px;font-weight:700;display:flex}.protocol-sequence-actor-icon{color:#7fa0f8;background:#14213b;border:1px solid #526faa;border-radius:3px;place-items:center;width:25px;height:25px;display:grid}.protocol-sequence-events{background-image:repeating-linear-gradient(to right, transparent 0, transparent calc(100% / var(--actor-count,4) - 1px), #34466a 50%, transparent calc(100% / var(--actor-count,4) + 1px));grid-auto-rows:minmax(43px,auto);padding-top:10px;position:relative}.protocol-sequence-lifeline{pointer-events:none;border-left:1px dashed #34466a;position:absolute;top:0;bottom:0}.protocol-sequence-event{z-index:1;color:#9db0d8;text-align:center;align-items:center;gap:6px;min-width:110px;padding:3px 7px;display:flex;overflow:hidden}.protocol-sequence-event:hover,.protocol-sequence-event.is-active{color:#fff}.protocol-sequence-arrow{color:#7397ff;border-top:1px solid #536b9c;place-items:center end;min-width:100%;height:22px;padding:0 4px;display:grid}.protocol-sequence-event-title{text-overflow:ellipsis;white-space:nowrap;background:#111a2e;width:max-content;max-width:88%;padding:2px 5px;font-size:9px;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.protocol-sequence-event.is-active .protocol-sequence-arrow{color:#b9cbff;border-color:#8ea9ff}.protocol-sequence-event.is-active .protocol-sequence-event-title{color:#fff;background:#234ca7}.protocol-sequence-caption{color:var(--pe-muted);margin:0;font-size:9px;position:absolute;bottom:8px;right:14px}@media (width<=1250px){.protocol-toolbar{grid-template-columns:minmax(240px,1fr) minmax(150px,max-content) minmax(190px,260px) max-content;gap:9px;padding-left:12px;padding-right:12px}.protocol-workspace{grid-template-rows:minmax(370px,1fr) minmax(260px,auto) 245px;grid-template-columns:minmax(225px,28%) minmax(0,1fr)}.protocol-sidebar{grid-row:1}.protocol-network-panel{grid-column:2}.protocol-overview-panel,.protocol-packet-panel{grid-column:1/3}.protocol-workspace-list-hidden{grid-template-columns:minmax(0,1fr) minmax(245px,29%)}.protocol-workspace-list-hidden .protocol-network-panel{grid-column:1}.protocol-workspace-list-hidden .protocol-overview-panel{grid-column:2}.protocol-workspace-list-hidden .protocol-packet-panel{grid-column:1/3}}@media (width<=900px){.protocol-toolbar{grid-template-columns:minmax(0,1fr) max-content;gap:9px 12px;min-height:82px;padding:9px 12px}.protocol-brand{grid-area:1/1}.protocol-brand-mark{flex-basis:36px;width:36px;height:36px}.protocol-brand>span:last-child>span:first-child,.protocol-brand h1{font-size:13px}.protocol-layer-control{display:none}.protocol-search{grid-area:2/1;height:34px}.protocol-toolbar-actions{grid-area:1/2;gap:4px}.protocol-toolbar-actions .protocol-icon-button{width:32px;height:32px}.protocol-paid-button{gap:4px;width:auto;min-width:64px;height:32px;padding:0 6px;font-size:9px}.protocol-paid-button svg{width:13px;min-width:13px;height:13px}.protocol-paid-label-full{display:none}.protocol-paid-label-mobile{display:inline}.protocol-workspace,.protocol-workspace-list-hidden{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);gap:9px;height:auto;min-height:0;padding:9px}.protocol-sidebar,.protocol-network-panel,.protocol-overview-panel,.protocol-packet-panel,.protocol-workspace-list-hidden .protocol-network-panel,.protocol-workspace-list-hidden .protocol-overview-panel,.protocol-workspace-list-hidden .protocol-packet-panel{grid-area:auto/1}.protocol-sidebar{height:325px}.protocol-network-panel{height:400px}.protocol-overview-panel{max-height:none}.protocol-packet-panel{min-height:260px;max-height:340px}.protocol-network-svg{width:100%;height:82%;inset:9% 0}.protocol-node-label{font-size:15px}.protocol-node-address{font-size:12px}.protocol-packet-heading{flex-direction:column;align-items:flex-start;padding:9px 10px}.protocol-playback-controls{justify-content:flex-end;width:100%}.protocol-legend{gap:7px;font-size:8px;overflow:hidden}}@media (width<=520px){.protocol-toolbar-actions .protocol-icon-button:first-of-type,.protocol-toolbar-actions .protocol-icon-button:nth-of-type(2){display:none}.protocol-brand{gap:8px}.protocol-brand-mark{flex-basis:31px;width:31px;height:31px}.protocol-brand>span:last-child>span:first-child,.protocol-brand h1{font-size:11px}.protocol-brand>span:last-child>span:last-child{font-size:8px}.protocol-toolbar{min-height:78px;padding-left:8px;padding-right:8px}.protocol-workspace,.protocol-workspace-list-hidden{padding:7px}.protocol-sidebar{height:295px}.protocol-category-tabs{margin-left:6px;margin-right:6px}.protocol-category-tabs button{gap:2px;font-size:8px}.protocol-category-tabs button span{font-size:8px}.protocol-network-panel{height:330px}.protocol-view-tabs{top:7px;left:7px}.protocol-event-caption{max-width:72%;padding:7px 8px;bottom:23px;right:7px}.protocol-canvas-hint{text-align:right;max-width:88%;font-size:7px;bottom:5px;right:7px}.protocol-legend>span:nth-child(n+3){display:none}.protocol-playback-controls{gap:3px}.protocol-playback-button{min-width:29px;padding:0 6px}.protocol-reset-button span{display:none}.protocol-packet-table{font-size:9px}.protocol-packet-table th,.protocol-packet-table td{padding-left:5px;padding-right:5px}}
