:root{--k-accent-6d4bdc:#6d4bdc;--violet:var(--k-accent-6d4bdc);--teal:var(--k-accent-0e95a3);--slate:var(--k-accent-5d6f95)}:root[data-theme=dark]{--k-fill-fdfdfe:#0b1020;--k-fill-fefeff:#0f1628;--k-text-0032a0:#afc4f2;--k-text-00238a:#b7c6f3;--k-text-5a73a8:#7f95c4;--k-text-7d96c6:#5d6f95;--k-line-6f94c9:#3c649f;--k-line-c8d6ec:#1d304e;--k-line-e3e9f3:#1a283e;--k-accent-1f5fe0:#1f5fe0;--k-accent-0a78f5:#0a78f5;--k-accent-00a86b:#00ef98;--k-accent-f8b900:#f8b900;--k-accent-6d4bdc:#7656e0;--k-accent-0e95a3:#14d1e5;--k-accent-5d6f95:#5d6f95;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--primary:var(--k-fill-003ca8);--primary-line:var(--k-line-003ca8);--selected-line:var(--k-line-e04b55);--selected-bg:var(--k-fill-fdf0f0)}:root[data-theme=dark]{--k-fill-003ca8:#0041b7;--k-line-003ca8:#6c99ea;--k-line-e04b55:#e2626b;--k-fill-fdf0f0:#251620}@font-face{font-family:Iosevka;font-style:normal;font-weight:400;font-display:swap;src:url(./iosevka-400-DnzhOSIo.woff2)format("woff2");unicode-range:U+2000-200A,U+200C-200D,U+2010-2012,U+2015-2017,U+201A-201B,U+201F-2021,U+2023-2025,U+2027,U+202F-2038,U+203C-2064,U+20A1,U+20A3-20A9,U+20AB-20AF,U+20B1-20B5,U+20B8-20B9,U+20BD,U+20BF-20C0,U+2100-2103,U+2105-2109,U+210D-210F,U+2113,U+2115,U+2117-211A,U+211D,U+2120-2122,U+2124,U+2126-2127,U+2129-212B,U+212E,U+2132,U+2135-2149,U+214B,U+214D-214E,U+2195-21A4,U+21A6-21BA,U+21BC-21D3,U+21D5-21E6,U+21E8-21E9,U+21F1-21F3,U+21F5-21FC,U+2200-2211,U+2213-22D7,U+22DA-22FF,U+2302,U+2305-2306,U+2308-230B,U+2310-2311,U+2319,U+231C-2321,U+2329-232A,U+2336-237A,U+237D,U+2388-238A,U+2394-2395,U+239B-23AE,U+23B0-23B3,U+23CF,U+23E8-23EF,U+23F4-23FE,U+2501-25C6,U+25C8-25D5,U+25D7-25FF,U+2714,U+2716-2718}@font-face{font-family:Iosevka;font-style:normal;font-weight:500;font-display:swap;src:url(./iosevka-500-C4FA_zML.woff2)format("woff2");unicode-range:U+2000-200A,U+200C-200D,U+2010-2012,U+2015-2017,U+201A-201B,U+201F-2021,U+2023-2025,U+2027,U+202F-2038,U+203C-2064,U+20A1,U+20A3-20A9,U+20AB-20AF,U+20B1-20B5,U+20B8-20B9,U+20BD,U+20BF-20C0,U+2100-2103,U+2105-2109,U+210D-210F,U+2113,U+2115,U+2117-211A,U+211D,U+2120-2122,U+2124,U+2126-2127,U+2129-212B,U+212E,U+2132,U+2135-2149,U+214B,U+214D-214E,U+2195-21A4,U+21A6-21BA,U+21BC-21D3,U+21D5-21E6,U+21E8-21E9,U+21F1-21F3,U+21F5-21FC,U+2200-2211,U+2213-22D7,U+22DA-22FF,U+2302,U+2305-2306,U+2308-230B,U+2310-2311,U+2319,U+231C-2321,U+2329-232A,U+2336-237A,U+237D,U+2388-238A,U+2394-2395,U+239B-23AE,U+23B0-23B3,U+23CF,U+23E8-23EF,U+23F4-23FE,U+2501-25C6,U+25C8-25D5,U+25D7-25FF,U+2714,U+2716-2718}@font-face{font-family:Iosevka;font-style:normal;font-weight:600;font-display:swap;src:url(./iosevka-600-Dj5n5yBL.woff2)format("woff2");unicode-range:U+2000-200A,U+200C-200D,U+2010-2012,U+2015-2017,U+201A-201B,U+201F-2021,U+2023-2025,U+2027,U+202F-2038,U+203C-2064,U+20A1,U+20A3-20A9,U+20AB-20AF,U+20B1-20B5,U+20B8-20B9,U+20BD,U+20BF-20C0,U+2100-2103,U+2105-2109,U+210D-210F,U+2113,U+2115,U+2117-211A,U+211D,U+2120-2122,U+2124,U+2126-2127,U+2129-212B,U+212E,U+2132,U+2135-2149,U+214B,U+214D-214E,U+2195-21A4,U+21A6-21BA,U+21BC-21D3,U+21D5-21E6,U+21E8-21E9,U+21F1-21F3,U+21F5-21FC,U+2200-2211,U+2213-22D7,U+22DA-22FF,U+2302,U+2305-2306,U+2308-230B,U+2310-2311,U+2319,U+231C-2321,U+2329-232A,U+2336-237A,U+237D,U+2388-238A,U+2394-2395,U+239B-23AE,U+23B0-23B3,U+23CF,U+23E8-23EF,U+23F4-23FE,U+2501-25C6,U+25C8-25D5,U+25D7-25FF,U+2714,U+2716-2718}@font-face{font-family:Iosevka;font-style:normal;font-weight:700;font-display:swap;src:url(./iosevka-700-BxdwZZnN.woff2)format("woff2");unicode-range:U+2000-200A,U+200C-200D,U+2010-2012,U+2015-2017,U+201A-201B,U+201F-2021,U+2023-2025,U+2027,U+202F-2038,U+203C-2064,U+20A1,U+20A3-20A9,U+20AB-20AF,U+20B1-20B5,U+20B8-20B9,U+20BD,U+20BF-20C0,U+2100-2103,U+2105-2109,U+210D-210F,U+2113,U+2115,U+2117-211A,U+211D,U+2120-2122,U+2124,U+2126-2127,U+2129-212B,U+212E,U+2132,U+2135-2149,U+214B,U+214D-214E,U+2195-21A4,U+21A6-21BA,U+21BC-21D3,U+21D5-21E6,U+21E8-21E9,U+21F1-21F3,U+21F5-21FC,U+2200-2211,U+2213-22D7,U+22DA-22FF,U+2302,U+2305-2306,U+2308-230B,U+2310-2311,U+2319,U+231C-2321,U+2329-232A,U+2336-237A,U+237D,U+2388-238A,U+2394-2395,U+239B-23AE,U+23B0-23B3,U+23CF,U+23E8-23EF,U+23F4-23FE,U+2501-25C6,U+25C8-25D5,U+25D7-25FF,U+2714,U+2716-2718}@font-face{font-family:Iosevka;font-style:normal;font-weight:800;font-display:swap;src:url(./iosevka-800-Ctjohn3a.woff2)format("woff2");unicode-range:U+2000-200A,U+200C-200D,U+2010-2012,U+2015-2017,U+201A-201B,U+201F-2021,U+2023-2025,U+2027,U+202F-2038,U+203C-2064,U+20A1,U+20A3-20A9,U+20AB-20AF,U+20B1-20B5,U+20B8-20B9,U+20BD,U+20BF-20C0,U+2100-2103,U+2105-2109,U+210D-210F,U+2113,U+2115,U+2117-211A,U+211D,U+2120-2122,U+2124,U+2126-2127,U+2129-212B,U+212E,U+2132,U+2135-2149,U+214B,U+214D-214E,U+2195-21A4,U+21A6-21BA,U+21BC-21D3,U+21D5-21E6,U+21E8-21E9,U+21F1-21F3,U+21F5-21FC,U+2200-2211,U+2213-22D7,U+22DA-22FF,U+2302,U+2305-2306,U+2308-230B,U+2310-2311,U+2319,U+231C-2321,U+2329-232A,U+2336-237A,U+237D,U+2388-238A,U+2394-2395,U+239B-23AE,U+23B0-23B3,U+23CF,U+23E8-23EF,U+23F4-23FE,U+2501-25C6,U+25C8-25D5,U+25D7-25FF,U+2714,U+2716-2718}@font-face{font-family:Iosevka;font-style:italic;font-weight:800;font-display:swap;src:url(./iosevka-800-italic-D0Mo0HIB.woff2)format("woff2");unicode-range:U+2000-200A,U+200C-200D,U+2010-2012,U+2015-2017,U+201A-201B,U+201F-2021,U+2023-2025,U+2027,U+202F-2038,U+203C-2064,U+20A1,U+20A3-20A9,U+20AB-20AF,U+20B1-20B5,U+20B8-20B9,U+20BD,U+20BF-20C0,U+2100-2103,U+2105-2109,U+210D-210F,U+2113,U+2115,U+2117-211A,U+211D,U+2120-2122,U+2124,U+2126-2127,U+2129-212B,U+212E,U+2132,U+2135-2149,U+214B,U+214D-214E,U+2195-21A4,U+21A6-21BA,U+21BC-21D3,U+21D5-21E6,U+21E8-21E9,U+21F1-21F3,U+21F5-21FC,U+2200-2211,U+2213-22D7,U+22DA-22FF,U+2302,U+2305-2306,U+2308-230B,U+2310-2311,U+2319,U+231C-2321,U+2329-232A,U+2336-237A,U+237D,U+2388-238A,U+2394-2395,U+239B-23AE,U+23B0-23B3,U+23CF,U+23E8-23EF,U+23F4-23FE,U+2501-25C6,U+25C8-25D5,U+25D7-25FF,U+2714,U+2716-2718}@font-face{font-family:Iosevka;font-style:normal;font-weight:400;font-display:swap;src:url(./iosevka-basic-400-DdP-n4Sg.woff2)format("woff2");unicode-range:U+??,U+200B,U+2013,U+2014,U+2018,U+2019,U+201C,U+201D,U+201E,U+2022,U+2026,U+2039,U+203A,U+203B,U+2116,U+2190,U+2191,U+2192,U+2193,U+2194,U+21A5,U+21BB,U+21D4,U+21E7,U+2212,U+2318,U+240A,U+240D,U+2500,U+25C7,U+25D6,U+2697,U+2713,U+2715,U+FEFF,U+FFFD}@font-face{font-family:Iosevka;font-style:normal;font-weight:500;font-display:swap;src:url(./iosevka-basic-500-BC-7r5of.woff2)format("woff2");unicode-range:U+??,U+200B,U+2013,U+2014,U+2018,U+2019,U+201C,U+201D,U+201E,U+2022,U+2026,U+2039,U+203A,U+203B,U+2116,U+2190,U+2191,U+2192,U+2193,U+2194,U+21A5,U+21BB,U+21D4,U+21E7,U+2212,U+2318,U+240A,U+240D,U+2500,U+25C7,U+25D6,U+2697,U+2713,U+2715,U+FEFF,U+FFFD}@font-face{font-family:Iosevka;font-style:normal;font-weight:600;font-display:swap;src:url(./iosevka-basic-600-z0UySVMA.woff2)format("woff2");unicode-range:U+??,U+200B,U+2013,U+2014,U+2018,U+2019,U+201C,U+201D,U+201E,U+2022,U+2026,U+2039,U+203A,U+203B,U+2116,U+2190,U+2191,U+2192,U+2193,U+2194,U+21A5,U+21BB,U+21D4,U+21E7,U+2212,U+2318,U+240A,U+240D,U+2500,U+25C7,U+25D6,U+2697,U+2713,U+2715,U+FEFF,U+FFFD}@font-face{font-family:Iosevka;font-style:normal;font-weight:700;font-display:swap;src:url(./iosevka-basic-700-DmSyf5kR.woff2)format("woff2");unicode-range:U+??,U+200B,U+2013,U+2014,U+2018,U+2019,U+201C,U+201D,U+201E,U+2022,U+2026,U+2039,U+203A,U+203B,U+2116,U+2190,U+2191,U+2192,U+2193,U+2194,U+21A5,U+21BB,U+21D4,U+21E7,U+2212,U+2318,U+240A,U+240D,U+2500,U+25C7,U+25D6,U+2697,U+2713,U+2715,U+FEFF,U+FFFD}@font-face{font-family:Iosevka;font-style:normal;font-weight:800;font-display:swap;src:url(./iosevka-basic-800-t2xqgOOU.woff2)format("woff2");unicode-range:U+??,U+200B,U+2013,U+2014,U+2018,U+2019,U+201C,U+201D,U+201E,U+2022,U+2026,U+2039,U+203A,U+203B,U+2116,U+2190,U+2191,U+2192,U+2193,U+2194,U+21A5,U+21BB,U+21D4,U+21E7,U+2212,U+2318,U+240A,U+240D,U+2500,U+25C7,U+25D6,U+2697,U+2713,U+2715,U+FEFF,U+FFFD}@font-face{font-family:Iosevka;font-style:italic;font-weight:800;font-display:swap;src:url(./iosevka-basic-800-italic-CwVBiRvD.woff2)format("woff2");unicode-range:U+??,U+200B,U+2013,U+2014,U+2018,U+2019,U+201C,U+201D,U+201E,U+2022,U+2026,U+2039,U+203A,U+203B,U+2116,U+2190,U+2191,U+2192,U+2193,U+2194,U+21A5,U+21BB,U+21D4,U+21E7,U+2212,U+2318,U+240A,U+240D,U+2500,U+25C7,U+25D6,U+2697,U+2713,U+2715,U+FEFF,U+FFFD}@font-face{font-family:Iosevka;font-style:normal;font-weight:400;font-display:swap;src:url(./iosevka-extended-400-Cq6q6E_1.woff2)format("woff2");unicode-range:U+100-24F,U+1E??}@font-face{font-family:Iosevka;font-style:normal;font-weight:500;font-display:swap;src:url(./iosevka-extended-500-BfPhpxP1.woff2)format("woff2");unicode-range:U+100-24F,U+1E??}@font-face{font-family:Iosevka;font-style:normal;font-weight:600;font-display:swap;src:url(./iosevka-extended-600-B9iwv_gh.woff2)format("woff2");unicode-range:U+100-24F,U+1E??}@font-face{font-family:Iosevka;font-style:normal;font-weight:700;font-display:swap;src:url(./iosevka-extended-700-h-4mmJsQ.woff2)format("woff2");unicode-range:U+100-24F,U+1E??}@font-face{font-family:Iosevka;font-style:normal;font-weight:800;font-display:swap;src:url(./iosevka-extended-800-dHVKEnFt.woff2)format("woff2");unicode-range:U+100-24F,U+1E??}@font-face{font-family:Iosevka;font-style:italic;font-weight:800;font-display:swap;src:url(./iosevka-extended-800-italic-Csuzlpp2.woff2)format("woff2");unicode-range:U+100-24F,U+1E??}@font-face{font-family:Iosevka;font-style:normal;font-weight:400;font-display:swap;src:url(./iosevka-cyrillic-400-BRUvrZdD.woff2)format("woff2");unicode-range:U+400-45F,U+490-491}@font-face{font-family:Iosevka;font-style:normal;font-weight:500;font-display:swap;src:url(./iosevka-cyrillic-500-k2u6RSy5.woff2)format("woff2");unicode-range:U+400-45F,U+490-491}@font-face{font-family:Iosevka;font-style:normal;font-weight:600;font-display:swap;src:url(./iosevka-cyrillic-600-BhfwcpRd.woff2)format("woff2");unicode-range:U+400-45F,U+490-491}@font-face{font-family:Iosevka;font-style:normal;font-weight:700;font-display:swap;src:url(./iosevka-cyrillic-700-CQSi7oL_.woff2)format("woff2");unicode-range:U+400-45F,U+490-491}@font-face{font-family:Iosevka;font-style:normal;font-weight:800;font-display:swap;src:url(./iosevka-cyrillic-800-D3C0C3o1.woff2)format("woff2");unicode-range:U+400-45F,U+490-491}@font-face{font-family:Iosevka;font-style:italic;font-weight:800;font-display:swap;src:url(./iosevka-cyrillic-800-italic-BEuStPU_.woff2)format("woff2");unicode-range:U+400-45F,U+490-491}@font-face{font-family:Iosevka;font-style:normal;font-display:swap;font-weight:400;src:url(./iosevka-greek-400-DqkqzRzb.woff2)format("woff2");unicode-range:U+370-3FF}@font-face{font-family:Iosevka;font-style:normal;font-display:swap;font-weight:500;src:url(./iosevka-greek-500-BsCdN7a4.woff2)format("woff2");unicode-range:U+370-3FF}@font-face{font-family:Iosevka;font-style:normal;font-display:swap;font-weight:600;src:url(./iosevka-greek-600-JJohN8BF.woff2)format("woff2");unicode-range:U+370-3FF}@font-face{font-family:Iosevka;font-style:normal;font-display:swap;font-weight:700;src:url(./iosevka-greek-700-BTYyC3CX.woff2)format("woff2");unicode-range:U+370-3FF}@font-face{font-family:Iosevka;font-style:normal;font-display:swap;font-weight:800;src:url(./iosevka-greek-800-CVVc1U8B.woff2)format("woff2");unicode-range:U+370-3FF}@font-face{font-family:Iosevka;font-style:italic;font-display:swap;font-weight:800;src:url(./iosevka-greek-800-italic-2l6MQ4o6.woff2)format("woff2");unicode-range:U+370-3FF}@font-face{font-family:Iosevka;font-style:normal;font-display:swap;font-weight:400;src:url(./iosevka-vietnamese-400-CVp86myN.woff2)format("woff2");unicode-range:U+300-301,U+303,U+309,U+323,U+1EA0-1EF9}@font-face{font-family:Iosevka;font-style:normal;font-display:swap;font-weight:500;src:url(./iosevka-vietnamese-500-DlYirsTP.woff2)format("woff2");unicode-range:U+300-301,U+303,U+309,U+323,U+1EA0-1EF9}@font-face{font-family:Iosevka;font-style:normal;font-display:swap;font-weight:600;src:url(./iosevka-vietnamese-600-Krzl70si.woff2)format("woff2");unicode-range:U+300-301,U+303,U+309,U+323,U+1EA0-1EF9}@font-face{font-family:Iosevka;font-style:normal;font-display:swap;font-weight:700;src:url(./iosevka-vietnamese-700-MIuMuZqI.woff2)format("woff2");unicode-range:U+300-301,U+303,U+309,U+323,U+1EA0-1EF9}@font-face{font-family:Iosevka;font-style:normal;font-display:swap;font-weight:800;src:url(./iosevka-vietnamese-800-LtTfXbIA.woff2)format("woff2");unicode-range:U+300-301,U+303,U+309,U+323,U+1EA0-1EF9}@font-face{font-family:Iosevka;font-style:italic;font-display:swap;font-weight:800;src:url(./iosevka-vietnamese-800-italic-CQxrZRlC.woff2)format("woff2");unicode-range:U+300-301,U+303,U+309,U+323,U+1EA0-1EF9}[lang|=ar],[lang|=ar] *,[lang|=hi],[lang|=hi] *{letter-spacing:0!important}*{box-sizing:border-box}body{margin:0}button,a,summary,[tabindex]{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:0 0}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:4px}button:hover:not(:disabled){background:color-mix(in srgb,var(--active) 12%,var(--panel))}h1,h2,h3,p{margin:0}h1,h2,h3,.label,.btn{text-transform:uppercase}h2{letter-spacing:.07em;font-size:20px;font-weight:700}h3{letter-spacing:.055em;font-size:21px;line-height:1.3}.label{letter-spacing:.09em;font-size:11px;font-weight:600}.muted{color:var(--ink-soft)}.is-ltr{direction:ltr;unicode-bidi:isolate}.btn{white-space:nowrap;padding-inline:13px}.icon-btn{inline-size:34px;padding:0;font-size:18px}.panel{min-block-size:0;min-inline-size:0}.panel-head{border-block-end:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-block-size:48px;padding:10px 14px;display:flex}.badge{white-space:nowrap}.badge:before{margin-inline-end:6px;font-size:9px}.fact{border-block-start:1px solid var(--line-soft);align-items:baseline;gap:8px;display:grid}.fact dt{text-transform:uppercase;letter-spacing:.06em}.fact dd{color:var(--ink-soft);margin:0}.number-dot{background:var(--packet,var(--blue));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;block-size:20px;inline-size:20px;display:inline-flex}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}svg{font-family:inherit}a{color:inherit}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:var(--line-mid)}[hidden]{display:none!important}noscript{padding:32px;display:block}h2,.panel-title{letter-spacing:.08em;font-size:26px;font-weight:800}h3{font-weight:800}.badge{text-transform:uppercase}.fact{grid-template-columns:110px minmax(0,1fr);padding-block:7px}.fact dt{font-size:13px;font-weight:800}.fact dd{font-size:12.8px;font-weight:500}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}.icon{flex-shrink:0;block-size:15px;inline-size:15px}.shell{grid-template-rows:76px minmax(0,1fr);height:100vh;padding:0 13px 14px 19px;display:grid;overflow:hidden}.topbar{min-inline-size:0}.drawer-btn{display:none}.brand{flex-shrink:0}.logo-frame{flex-shrink:0;block-size:52px;inline-size:64px}.brand em{font-style:italic;font-weight:800}.tagline{text-transform:uppercase}.separator{block-size:46px;inline-size:1px;display:block}.now{flex-direction:column;min-inline-size:0;display:flex}.now>.label{font-size:10px}.now strong{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:18px;font-weight:800}.now-progress{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.065em;white-space:nowrap;min-block-size:15px;font-size:10px}#now-dots i{block-size:3px;inline-size:14px;display:block}#now-dots i.done{background:var(--green)}#now-dots i.current{background:var(--blue)}.osi{flex-shrink:0;inline-size:212px}.osi-title,.learning-title{justify-content:space-between;gap:9px;display:flex}.osi-title{margin-block-end:6px;font-size:11px}.osi-squares span{text-align:center;block-size:22px;inline-size:22px}.osi-squares .selected{background:var(--active)}.tools{min-inline-size:0}.learning{inline-size:296px;min-inline-size:176px}.learning-title{font-size:11px}.learning-title .label{white-space:nowrap;font-size:10px}.progress-bar{margin-block:5px}.progress-bar i{background:var(--line-mid);flex:1;height:5px}.progress-bar i.done{background:var(--green)}#progress-text{display:block}.credit{font-size:11px;line-height:1.4}.credit .label{font-size:10px}.credit a{text-decoration:none}.language-wrap{flex-shrink:0;position:relative}.lang-btn .icon:last-child{inline-size:10px}.theme-toggle{flex-shrink:0}.workspace{grid-template-rows:minmax(0,1fr) 248px;grid-template-columns:455px minmax(0,1fr) 332px;gap:16px 11px;min-block-size:0;min-inline-size:0;display:grid}#sidebar-host{grid-area:1/1/3;min-block-size:0;min-inline-size:0;display:flex}.sidebar{width:100%;overflow:hidden}.sidebar .panel-head{gap:6px;min-block-size:48px}.sidebar .panel-title{white-space:nowrap}.drawer-close{display:none}.simulation{grid-area:1/2;position:relative;overflow:hidden}.view-switch{padding:3px;display:flex;position:absolute;inset-block-start:12px}.view-switch button{text-transform:uppercase;border:0;align-items:center;padding-inline:10px;font-weight:800;display:flex}.view-switch .icon{block-size:12px;inline-size:12px}.network-container{block-size:100%;inline-size:100%;position:absolute;inset:0}.network-container>svg{block-size:100%;inline-size:100%;display:block}.side-panel{grid-area:1/3;position:relative;overflow:auto}.side-panel .panel-head{gap:8px;min-block-size:48px;padding:8px 14px}.side-panel h2{white-space:nowrap;font-weight:800}.side-panel .panel-head button{height:26px;padding-inline:6px;font-size:10px}.protocol-name{gap:8px}.full-name{margin-block:1px 10px}.step-counter{color:var(--blue);margin-block-end:7px}.step-subtitle{color:var(--ink-strong);margin-block:5px 12px;font-size:14px}.live-card{margin-block:15px 12px}.live-card .packet-tag{margin-block-end:5px;display:inline-block}.live-card .route{text-transform:uppercase;margin-block-end:5px}.live-card .packet-meta{text-transform:uppercase;margin-block-start:6px}.complete-label{color:var(--green);margin-block-end:8px}.packet-panel{grid-area:2/2/auto/4;overflow:hidden}.packet-panel .panel-head{flex-wrap:wrap;min-block-size:54px;padding:9px 12px}.flow-heading{align-items:center;gap:16px;min-inline-size:0}.legend span{white-space:nowrap;align-items:center;display:flex}.legend i{border-radius:50%;block-size:7px;inline-size:7px;display:inline-block}.legend .legend-note{font-style:italic}.transport .play-btn{min-inline-size:98px}.transport .speed-btn{min-inline-size:54px;padding-inline:7px}.transport [data-action=step]{min-inline-size:74px}.transport [data-action=reset]{width:auto;padding-inline:8px}.reset-label{display:inline}.table-scroll{flex:1;min-block-size:0;position:relative;overflow:auto}table{border-collapse:collapse;text-align:start;white-space:nowrap;inline-size:100%;font-size:14px;font-weight:500}th{text-align:start;text-transform:uppercase;background:var(--panel);z-index:1;font-weight:800;position:sticky;inset-block-start:0}td,th{border-block-end:1px solid var(--line-soft)}td:first-child,th:first-child{inline-size:45px;padding-inline:12px}td:nth-child(6){inline-size:100%}tr[data-packet]{cursor:pointer}tr .number-dot{animation:dot-pop .3s var(--ease-out)}.protocol-cell{font-weight:500}.empty-state p{margin-block:9px 4px}.empty-state>span:last-child{color:var(--ink-soft);font-size:11px}.empty-wire{color:var(--line);font-size:23px;font-weight:700}.scrim{background:color-mix(in srgb,var(--bg) 55%,transparent);z-index:50;border:0;position:fixed;inset:0}.overlay-root{z-index:60;pointer-events:none;position:fixed;inset:0}.overlay-root>*{pointer-events:auto}.toast{background:var(--panel);border:1px solid var(--line);z-index:70;inline-size:max-content;max-inline-size:90%;margin:auto;padding:12px 18px;position:fixed;inset-block-end:20px;inset-inline:20px}.sequence-container{height:100%;position:absolute;inset:0}.network-container,.sequence-container{transition:opacity .3s var(--ease-out);opacity:1}.view-inactive{opacity:0;pointer-events:none}.sequence-container{flex-direction:column;padding-block-start:50px;display:flex;overflow:hidden}.seq-head{flex-shrink:0;block-size:46px;min-block-size:46px;inset-block-start:0}.seq-head>div{white-space:nowrap;max-inline-size:30%}.seq-head strong{font-size:13.5px;font-weight:800}.seq-head span{font-size:12px;font-weight:500}.sequence-scroll{scrollbar-gutter:auto;flex:1;min-block-size:0;overflow-y:auto}.sequence-svg{height:auto;display:block}html[data-layout=medium] .workspace{grid-template-columns:372px minmax(0,1fr) 300px}html[data-layout=medium] .osi,html[data-layout=medium] .osi-separator,html[data-layout=medium] #now-dots{display:none}html[data-layout=medium] .separator{margin-inline:12px}html[data-layout=medium] .brand h1{font-size:20px;line-height:24px}html[data-layout=medium] .brand{gap:8px}html[data-layout=medium] .now{flex-basis:262px}html[data-layout=medium] .learning{flex-basis:176px;inline-size:176px}html[data-layout=medium] .sidebar h2{letter-spacing:.07em;font-size:21px}html[data-layout=medium] .side-panel h2{letter-spacing:.05em;font-size:19px}html[data-layout=medium] .protocol-name h3{font-size:31px}html:not([data-layout=wide]) .reset-label,html:not([data-layout=wide]) .legend-note{display:none}html:not([data-layout=wide]) .transport [data-action=step]{min-inline-size:66px}html:not([data-layout=wide]) .transport [data-action=reset]{width:34px;padding:0}html.is-stacked .shell{height:auto;min-block-size:100dvh;padding:0 calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));overflow:visible}html.is-stacked .topbar{flex-wrap:wrap;align-content:center;row-gap:12px;height:auto;padding-block:12px}html.is-stacked .topbar:after{content:"";background:var(--line-soft);flex-basis:100%;order:5;height:1px}html.is-stacked .separator{display:none}html.is-stacked .tools{display:contents}html.is-stacked .drawer-btn{order:0;height:40px;margin-inline-end:16px;display:flex}html.is-stacked .brand{order:1}html.is-stacked .credit{order:2;margin-inline-start:auto}html.is-stacked .language-wrap{order:3;margin-inline-start:22px}html.is-stacked .theme-toggle{order:4;margin-inline-start:8px}html.is-stacked .theme-toggle button{inline-size:40px}html.is-stacked .now{flex:250px;order:6}html.is-stacked .osi{order:7;margin-inline-start:28px}html.is-stacked .learning{order:8;margin-inline-start:28px}html.is-stacked .workspace{grid-template-rows:clamp(400px,100vh - 440px,680px) 300px;grid-template-columns:minmax(0,1fr) 320px}html.is-stacked .simulation{grid-area:1/1}html.is-stacked .side-panel{grid-area:1/2}html.is-stacked .packet-panel{grid-area:2/1/auto/-1}html.is-single .workspace{flex-direction:column}html.is-single .simulation{flex:none;block-size:clamp(300px,78vw,560px)}html.is-single .side-panel{min-block-size:330px;overflow:visible}html.is-single .shell{padding-block-end:calc(82px + env(safe-area-inset-bottom))}html.is-single .osi,html.is-single .tagline{display:none}html.is-single .drawer-btn{padding:0}html.is-single .drawer-btn span{display:none}html.is-single .brand{gap:8px}html.is-single table{min-inline-size:820px}html.is-single .transport{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-block-start:1px solid var(--line);background:var(--panel);z-index:8;grid-template-columns:50px 44px minmax(96px,240px) 64px 44px;justify-content:center;gap:6px;display:grid;position:fixed;inset-block-end:0;inset-inline:0}html.is-single .transport .btn{height:42px;padding-inline:4px}html.is-single .credit{font-size:11px}html[data-layout=phone] .topbar{column-gap:0;padding-block:10px 12px;position:relative}html[data-layout=phone] .brand{gap:6px}html[data-layout=phone] .drawer-btn{inline-size:32px}html[data-layout=phone] .lang-btn{padding-inline:5px}html[data-layout=phone] .lang-btn .icon:last-child{display:none}html[data-layout=phone] .theme-toggle{margin-inline-start:6px}html[data-layout=phone] .theme-toggle .selected{display:none}html[data-layout=phone] .now strong{white-space:normal;max-inline-size:260px;font-size:15px}html[data-layout=phone] .credit{font-size:10px;inset-block-end:21px;inset-inline-end:0}html[data-layout=phone] .learning{display:none}html[data-layout=phone] .now-progress{font-size:9px}html[data-layout=phone] .side-panel h2{font-size:20px}html[data-layout=phone] .transport{grid-template-columns:50px 44px minmax(96px,240px) 64px 44px;gap:6px;padding-inline:12px}html.is-locked,html.is-stacked.is-inspecting{overflow:hidden}html[dir=rtl] .icon-btn[data-action=back] .icon,html[dir=rtl] .icon-btn[data-action=next] .icon{transform:scaleX(-1)}html[data-layout=medium] .logo-frame{inline-size:64px}html[data-layout=phone] .flow-heading{display:block}html[data-layout=phone] .flow-heading h2{white-space:nowrap}html[data-layout=phone] .legend{margin-block-start:6px}@keyframes pending-sheen{0%{background-position:100% 0}to{background-position:0 0}}@keyframes seg-fill{0%{transform:scaleX(0)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}}@keyframes dot-pop{40%{transform:scale(1.35)}}@keyframes step-in{0%{opacity:0;transform:translateY(-6px)}}@keyframes step-spin{to{rotate:360deg}}@keyframes step-pop{40%{scale:1.2}}@keyframes lane-flow{to{stroke-dashoffset:-11}}@keyframes caret{50%{opacity:1}}.device-screen{fill:color-mix(in srgb,var(--active) 10%,var(--panel))}.led{fill:var(--green);stroke:none}.links path{fill:none;transition:stroke .35s,stroke-width .35s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}@keyframes controls-in{0%{opacity:0;transform:translateY(6px)}}@keyframes menu-up{0%{opacity:0;transform:translateY(4px)scale(.97)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.drawer{background:var(--bg);border-inline-end:1px solid var(--line);box-shadow:10px 0 60px color-mix(in srgb,var(--bg) 60%,transparent);flex-direction:column;display:flex}.drawer .panel-head{min-block-size:70px;padding-inline:20px}.drawer h2{font-size:21px}.filter-tabs{border-block-end:1px solid var(--line);padding-inline:14px}.filter-tabs button{text-transform:uppercase;border:0;border-block-end:2px solid #0000}.filter-tabs .selected{border-color:var(--active);background:color-mix(in srgb,var(--active) 8%,transparent)}.tab-count{margin-inline-start:4px}.selected .tab-count{background:var(--active);color:#fff}.protocol-list{padding:14px 18px;overflow:auto}.proto-entry{border-block-end:1px solid var(--line-soft)}.proto-entry.current>.proto-row{border:1px solid var(--active)}.proto-row{gap:13px;min-block-size:57px;inline-size:100%;padding:10px}.proto-label{min-inline-size:0}.progress-ring{border:1px solid var(--line-mid);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex}.progress-ring.in-progress{border-color:var(--blue);background:linear-gradient(90deg,var(--blue) 50%,transparent 50%)}.progress-ring.complete{background:var(--green);border-color:var(--green);color:var(--bg)}.drawer-steps{padding:5px 7px 12px 28px}.step-btn{border:0;gap:12px;inline-size:100%;padding:8px 0}.step-btn strong{text-transform:uppercase}.step-btn .number-dot.done{background:var(--green);color:var(--bg)}.language-menu{z-index:30;background:var(--panel);border:1px solid var(--line);max-block-size:65dvh;min-inline-size:220px;box-shadow:0 8px 24px color-mix(in srgb,var(--bg) 60%,transparent);animation:menu-in .2s var(--ease-out);padding:5px;position:absolute;inset-block-start:42px;inset-inline-end:0;overflow:auto}.language-menu button{text-align:start;border:0;justify-content:space-between;align-items:center;inline-size:100%;padding:8px 10px;font-size:13px;display:flex}.language-menu .current{color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,transparent)}.language-menu .loading{animation:1s infinite pending-sheen}.language-menu small{color:var(--ink-soft);font-size:10px}.lesson-menu{z-index:5;border:1px solid var(--line);background:var(--panel);min-inline-size:200px;padding:5px;position:absolute;inset-inline-end:15px}.lesson-menu button{text-align:start;text-transform:uppercase;border:0;width:100%;padding:9px;font-size:12px;display:block}.eg{white-space:nowrap}.frame-select{background:var(--panel);border:1px solid var(--line-mid);color:var(--ink);font:inherit;margin-inline-start:12px;padding:4px}html[data-layout=phone] .inspector{inset:8px 6px calc(8px + env(safe-area-inset-bottom));max-block-size:calc(100dvh - 16px)}html[data-layout=phone] .drawer h2{font-size:19px}html[data-layout=phone] .drawer .panel-head{padding-inline:14px}html[data-layout=phone] .filter-tabs{padding-inline:8px}html[data-layout=phone] .filter-tabs button{font-size:9px}html[data-layout=phone] .protocol-list{padding-inline:12px}.sidebar .filter-tabs{border-block-end:1px solid var(--line);margin-block:12px 0;padding-inline:12px}.sidebar .filter-tabs button{white-space:nowrap;padding:0 5px;font-size:13px;font-weight:800}.sidebar .protocol-list{flex:1;min-block-size:0;overflow:auto}.sidebar .proto-row{border:1.5px solid #0000;height:46px;min-height:46px}.sidebar .proto-entry.current>.proto-row{border-color:var(--selected-line);background:var(--selected-bg)}.sidebar .proto-label strong{font-size:16px;font-weight:800}.sidebar .proto-label>span{font-weight:500}.sidebar .proto-entry{border:0}.sidebar .step-btn strong{font-weight:800}.drawer{block-size:100dvh;inline-size:min(440px,90%);max-inline-size:none;animation:drawer-in .46s var(--ease-out);z-index:60;position:fixed;inset-block:0;inset-inline-start:0}.drawer .drawer-close{display:flex}.drawer .sidebar-more{display:none}.drawer .panel-head{min-height:65px}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}html[dir=rtl] .drawer{animation-name:drawer-in-rtl}@keyframes drawer-in-rtl{0%{transform:translate(100%)}to{transform:translate(0)}}#inspector-host:empty{display:none}#inspector-host{z-index:5;position:absolute;inset:0}.simulation{container-type:inline-size}html.is-stacked .inspector{z-index:60;max-block-size:none;position:fixed;inset:0}.lost .number-dot{outline-offset:2px;outline:1px solid #d6404c}.lost td:nth-child(6):after{content:" ×";color:#d6404c}.sidebar .step-btn{padding-block:4px;line-height:1.2}.sidebar .step-btn strong{line-height:17px}.ins-tabs{scrollbar-width:thin;border-block-end:1px solid var(--line-soft);flex:none;gap:5px;padding-block:8px;padding-inline:10px;display:flex;overflow-x:auto}.ins-tab{border:1px solid var(--line-mid);background:var(--panel);min-block-size:44px;color:var(--ink-strong);letter-spacing:.04em;text-align:start;text-transform:uppercase;flex:1 0 138px;padding-block:6px;padding-inline:8px;font:800 11px/1.35 Iosevka,ui-monospace,monospace}.ins-tab.selected{border-color:var(--segment-color);background:color-mix(in srgb,var(--segment-color) 10%,var(--panel))}.ins-tab.reassembled{border-style:dashed}.ins-tab:focus-visible{outline:2px solid var(--active);outline-offset:2px}.inspector.has-segments .ins-seg{min-inline-size:70px}:root{--k-on-amber:#0b2b86;--k-accent-00a86b:#00a86b;--k-accent-0a78f5:#0a78f5;--k-accent-0a7c88:#0a7c88;--k-accent-0b3aa8:#0b3aa8;--k-accent-0c8a58:#0c8a58;--k-accent-0e95a3:#0e95a3;--k-accent-12a56b:#12a56b;--k-accent-1f5fe0:#1f5fe0;--k-accent-1f6fe8:#1f6fe8;--k-accent-5d6f95:#5d6f95;--k-accent-7656e0:#7656e0;--k-accent-8495b2:#8495b2;--k-accent-a26f00:#a26f00;--k-accent-a7b3cb:#a7b3cb;--k-accent-e19b00:#e19b00;--k-accent-f2ac0a:#f2ac0a;--k-accent-f8b900:#f8b900;--k-fill-003ca8:#003ca8;--k-fill-06a86c:#06a86c;--k-fill-0aa86b:#0aa86b;--k-fill-0b3aa8:#0b3aa8;--k-fill-0b8b98:#0b8b98;--k-fill-0d9b59:#0d9b59;--k-fill-0e95a3:#0e95a3;--k-fill-1166e3:#1166e3;--k-fill-24479f:#24479f;--k-fill-2bbb78:#2bbb78;--k-fill-2f55c2:#2f55c2;--k-fill-3a8bf5:#3a8bf5;--k-fill-3cc3cf:#3cc3cf;--k-fill-3d63c9:#3d63c9;--k-fill-3f74d6:#3f74d6;--k-fill-546588:#546588;--k-fill-5ed6ea:#5ed6ea;--k-fill-6383b9:#6383b9;--k-fill-6d4bdc:#6d4bdc;--k-fill-8797b8:#8797b8;--k-fill-9a80f0:#9a80f0;--k-fill-9db1d9:#9db1d9;--k-fill-9fbcf0:#9fbcf0;--k-fill-a6eef6:#a6eef6;--k-fill-a7bff0:#a7bff0;--k-fill-a9c0ec:#a9c0ec;--k-fill-a9c0ee:#a9c0ee;--k-fill-a9c4fa:#a9c4fa;--k-fill-c3d4f5:#c3d4f5;--k-fill-c4d5f6:#c4d5f6;--k-fill-c7d7f6:#c7d7f6;--k-fill-c7d8f7:#c7d8f7;--k-fill-c9d8f4:#c9d8f4;--k-fill-c9d8f6:#c9d8f6;--k-fill-cddcf8:#cddcf8;--k-fill-d7e3fa:#d7e3fa;--k-fill-d8f5e8:#d8f5e8;--k-fill-dae5fb:#dae5fb;--k-fill-dce5f6:#dce5f6;--k-fill-dce6fb:#dce6fb;--k-fill-dce7fb:#dce7fb;--k-fill-dfe8fb:#dfe8fb;--k-fill-dfe8fc:#dfe8fc;--k-fill-e0eafc:#e0eafc;--k-fill-e2ebfc:#e2ebfc;--k-fill-e3eaf8:#e3eaf8;--k-fill-e3ebfc:#e3ebfc;--k-fill-e6eefc:#e6eefc;--k-fill-e8eefc:#e8eefc;--k-fill-e8effd:#e8effd;--k-fill-e9eef8:#e9eef8;--k-fill-eef3fc:#eef3fc;--k-fill-eef3fe:#eef3fe;--k-fill-eff5ff:#eff5ff;--k-fill-effafa:#effafa;--k-fill-f1f5fd:#f1f5fd;--k-fill-f2f6fe:#f2f6fe;--k-fill-f3f6fd:#f3f6fd;--k-fill-f4b305:#f4b305;--k-fill-f4f7fd:#f4f7fd;--k-fill-f4f7fe:#f4f7fe;--k-fill-f4f8ff:#f4f8ff;--k-fill-f5f8fe:#f5f8fe;--k-fill-f5f8ff:#f5f8ff;--k-fill-f8b905:#f8b905;--k-fill-f8faff:#f8faff;--k-fill-f8fbff:#f8fbff;--k-fill-fbfcff:#fbfcff;--k-fill-fdf0f0:#fdf0f0;--k-fill-fdf4dc:#fdf4dc;--k-fill-fdfdfe:#fdfdfe;--k-fill-fdfdff:#fdfdff;--k-fill-fefeff:#fefeff;--k-fill-fefeff-a92:#fefeffeb;--k-fill-ffcc3d:#ffcc3d;--k-fill-ffffff:#fff;--k-line-003ca8:#003ca8;--k-line-0aa86b:#0aa86b;--k-line-0b2b86:#0b2b86;--k-line-0b3aa8:#0b3aa8;--k-line-0b3aa8-a12:#0b3aa81f;--k-line-0e95a3:#0e95a3;--k-line-1747b5:#1747b5;--k-line-1b3fae:#1b3fae;--k-line-1f5fe0-a12:#1f5fe01f;--k-line-1f5fe0-a35:#1f5fe059;--k-line-6f94c9:#6f94c9;--k-line-7d9be0:#7d9be0;--k-line-8ea9e2:#8ea9e2;--k-line-9db5e6:#9db5e6;--k-line-9db5e8:#9db5e8;--k-line-9fb3db:#9fb3db;--k-line-a9c0ec:#a9c0ec;--k-line-b4c8e4:#b4c8e4;--k-line-b5c3de:#b5c3de;--k-line-b5c8e7:#b5c8e7;--k-line-b6c6e4:#b6c6e4;--k-line-bccae6:#bccae6;--k-line-c3d2ec:#c3d2ec;--k-line-c4d1ea:#c4d1ea;--k-line-c8d6ec:#c8d6ec;--k-line-c9d6ec:#c9d6ec;--k-line-c9d8f6:#c9d8f6;--k-line-d6404c:#d6404c;--k-line-dbe4f5:#dbe4f5;--k-line-dfe7f4:#dfe7f4;--k-line-e04b55:#e04b55;--k-line-e2e9f5:#e2e9f5;--k-line-e3e9f3:#e3e9f3;--k-line-e4eaf5:#e4eaf5;--k-line-edf1f7:#edf1f7;--k-line-eef2f8:#eef2f8;--k-line-ffffff:#fff;--k-shadow-8d9ab3:#8d9ab3;--k-text-00238a:#00238a;--k-text-0032a0:#0032a0;--k-text-0a6f7a:#0a6f7a;--k-text-0a7c88:#0a7c88;--k-text-0a9a62:#0a9a62;--k-text-0b2b86:#0b2b86;--k-text-0b3aa8:#0b3aa8;--k-text-0c8a58:#0c8a58;--k-text-0f9a62:#0f9a62;--k-text-102a86:#102a86;--k-text-102e8f:#102e8f;--k-text-1d3e9a:#1d3e9a;--k-text-23458f:#23458f;--k-text-2a4c9e:#2a4c9e;--k-text-2f4d8e:#2f4d8e;--k-text-33509a:#33509a;--k-text-3a59a3:#3a59a3;--k-text-4a66a4:#4a66a4;--k-text-4d67a2:#4d67a2;--k-text-5a73a8:#5a73a8;--k-text-5d77ae:#5d77ae;--k-text-6982b8:#6982b8;--k-text-6d80a8:#6d80a8;--k-text-7c90bb:#7c90bb;--k-text-7d96c6:#7d96c6;--k-text-8a9cc4:#8a9cc4;--k-text-8aa0cc:#8aa0cc;--k-text-8fa2c9:#8fa2c9;--k-text-9aabcf:#9aabcf;--k-text-9fb3db:#9fb3db;--k-text-a07a12:#a07a12;--k-text-a26f00:#a26f00;--k-text-a7b3cb:#a7b3cb;--k-text-c3cde3:#c3cde3;--k-text-ffffff:#fff}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--k-accent-00a86b:#00ef98;--k-accent-0a78f5:#0a78f5;--k-accent-0a7c88:#0fb9cb;--k-accent-0b3aa8:#6f97f5;--k-accent-0c8a58:#12cc82;--k-accent-0e95a3:#14d1e5;--k-accent-12a56b:#19e595;--k-accent-1f5fe0:#1f5fe0;--k-accent-1f6fe8:#1f6fe8;--k-accent-5d6f95:#5d6f95;--k-accent-7656e0:#7656e0;--k-accent-8495b2:#8495b2;--k-accent-a26f00:#e9a000;--k-accent-a7b3cb:#a7b3cb;--k-accent-e19b00:#e19b00;--k-accent-f2ac0a:#f2ac0a;--k-accent-f8b900:#f8b900;--k-fill-003ca8:#0041b7;--k-fill-06a86c:#07b775;--k-fill-0aa86b:#0bb674;--k-fill-0b3aa8:#0c3fb6;--k-fill-0b8b98:#0c98a6;--k-fill-0d9b59:#0ea961;--k-fill-0e95a3:#0fa2b1;--k-fill-1166e3:#166dee;--k-fill-24479f:#274dab;--k-fill-2bbb78:#2ec780;--k-fill-2f55c2:#335bce;--k-fill-3a8bf5:#4994f6;--k-fill-3cc3cf:#48c7d2;--k-fill-3d63c9:#496dcc;--k-fill-3f74d6:#4c7dd9;--k-fill-546588:#818ca1;--k-fill-5ed6ea:#6cd9ec;--k-fill-6383b9:#576a8b;--k-fill-6d4bdc:#7758de;--k-fill-8797b8:#515a6e;--k-fill-9a80f0:#a58ef2;--k-fill-9db1d9:#323e56;--k-fill-9fbcf0:#acc5f2;--k-fill-a6eef6:#b5f3f9;--k-fill-a7bff0:#b4c9f2;--k-fill-a9c0ec:#2c4473;--k-fill-a9c0ee:#b6c9f1;--k-fill-a9c4fa:#9bb8f6;--k-fill-c3d4f5:#1d2f51;--k-fill-c4d5f6:#1d2e4f;--k-fill-c7d7f6:#1c2d4d;--k-fill-c7d8f7:#1c2d4c;--k-fill-c9d8f4:#1c2d4d;--k-fill-c9d8f6:#1b2c4c;--k-fill-cddcf8:#1a2a48;--k-fill-d7e3fa:#17253f;--k-fill-d8f5e8:#18422f;--k-fill-dae5fb:#16233c;--k-fill-dce5f6:#17243e;--k-fill-dce6fb:#15223b;--k-fill-dce7fb:#15233b;--k-fill-dfe8fb:#152039;--k-fill-dfe8fc:#142038;--k-fill-e0eafc:#142138;--k-fill-e2ebfc:#142036;--k-fill-e3eaf8:#142038;--k-fill-e3ebfc:#131e35;--k-fill-e6eefc:#131f33;--k-fill-e8eefc:#121c32;--k-fill-e8effd:#121c31;--k-fill-e9eef8:#141e33;--k-fill-eef3fc:#111b2e;--k-fill-eef3fe:#10192c;--k-fill-eff5ff:#101a2b;--k-fill-effafa:#122e2e;--k-fill-f1f5fd:#10192b;--k-fill-f2f6fe:#0f182a;--k-fill-f3f6fd:#0f172a;--k-fill-f4b305:#faba0e;--k-fill-f4f7fd:#0f1829;--k-fill-f4f7fe:#0f1628;--k-fill-f4f8ff:#0e1727;--k-fill-f5f8fe:#0e1727;--k-fill-f5f8ff:#0e1527;--k-fill-f8b905:#fabe12;--k-fill-f8faff:#0d1425;--k-fill-f8fbff:#0d1725;--k-fill-fbfcff:#0e1422;--k-fill-fdf0f0:#251620;--k-fill-fdf4dc:#3a3015;--k-fill-fdfdfe:#0b1020;--k-fill-fdfdff:#0d1320;--k-fill-fefeff:#0f1628;--k-fill-fefeff-a92:#0d1220eb;--k-fill-ffcc3d:#ffd04c;--k-fill-ffffff:#131c33;--k-line-003ca8:#6c99ea;--k-line-0aa86b:#6aeab8;--k-line-0b2b86:#7292eb;--k-line-0b3aa8:#6990ea;--k-line-0b3aa8-a12:#6990ea1f;--k-line-0e95a3:#6adeea;--k-line-1747b5:#638be9;--k-line-1b3fae:#6585e7;--k-line-1f5fe0-a12:#2d4a861f;--k-line-1f5fe0-a35:#2d4a8659;--k-line-6f94c9:#3c649f;--k-line-7d9be0:#3d62b7;--k-line-8ea9e2:#283d69;--k-line-9db5e6:#253961;--k-line-9db5e8:#253860;--k-line-9fb3db:#263b65;--k-line-a9c0ec:#2c4473;--k-line-b4c8e4:#223959;--k-line-b5c3de:#273757;--k-line-b5c8e7:#213657;--k-line-b6c6e4:#213458;--k-line-bccae6:#203255;--k-line-c3d2ec:#1e3050;--k-line-c4d1ea:#1e2f50;--k-line-c8d6ec:#1d304e;--k-line-c9d6ec:#1d2f4d;--k-line-c9d8f6:#1c2b49;--k-line-d6404c:#923138;--k-line-dbe4f5:#192742;--k-line-dfe7f4:#192841;--k-line-e04b55:#e2626b;--k-line-e2e9f5:#182740;--k-line-e3e9f3:#1a283e;--k-line-e4eaf5:#18263f;--k-line-edf1f7:#192538;--k-line-eef2f8:#172438;--k-line-ffffff:#212121;--k-shadow-8d9ab3:#000;--k-text-00238a:#b7c6f3;--k-text-0032a0:#afc4f2;--k-text-0a6f7a:#b9eef4;--k-text-0a7c88:#b4edf3;--k-text-0a9a62:#aef2d7;--k-text-0b2b86:#b5c5f3;--k-text-0b3aa8:#a8bef1;--k-text-0c8a58:#b3f3d9;--k-text-0f9a62:#acf1d6;--k-text-102a86:#b3c1f3;--k-text-102e8f:#b0bff2;--k-text-1d3e9a:#a9bbef;--k-text-23458f:#aec2eb;--k-text-2a4c9e:#a8bbe8;--k-text-2f4d8e:#b0c1e5;--k-text-33509a:#abbbe3;--k-text-3a59a3:#a8b8e0;--k-text-4a66a4:#a9b7d8;--k-text-4d67a2:#aab7d6;--k-text-5a73a8:#acb8d3;--k-text-5d77ae:#a6b4d2;--k-text-6982b8:#99aacf;--k-text-6d80a8:#a6b2ca;--k-text-7c90bb:#91a2c6;--k-text-7d96c6:#859cc9;--k-text-8a9cc4:#8597c1;--k-text-8aa0cc:#7b93c5;--k-text-8fa2c9:#7e94c1;--k-text-9aabcf:#748cbd;--k-text-9fb3db:#6182c4;--k-text-a07a12:#f1dea9;--k-text-a26f00:#f2ddaf;--k-text-a7b3cb:#7a8cb1;--k-text-c3cde3:#c3cde3;--k-text-ffffff:#fff}:root{--ink:var(--k-text-0032a0);--ink-strong:var(--k-text-00238a);--ink-soft:var(--k-text-5a73a8);--ink-muted:var(--k-text-7d96c6);--line:var(--k-line-6f94c9);--line-soft:var(--k-line-e3e9f3);--line-mid:var(--k-line-c8d6ec);--bg:var(--k-fill-fdfdfe);--panel:var(--k-fill-fefeff);--green:var(--k-accent-00a86b);--amber:var(--k-accent-f8b900);--blue:var(--k-accent-0a78f5);--grey:var(--k-accent-8495b2);--active:var(--k-accent-1f5fe0);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.5, 0, .75, 0);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-synthesis:none;font-family:Iosevka,ui-monospace,monospace}.topbar{align-items:center;padding-bottom:2px;display:flex}.brand{flex:none;align-items:center;display:flex}.brand h1{letter-spacing:.085em;color:var(--ink);white-space:nowrap;font-size:27px;font-weight:800;line-height:30px}.brand h1 em{margin-inline-start:.05em;font-style:italic}.tagline{letter-spacing:.13em;color:var(--ink-muted);white-space:nowrap;font-size:14px;font-weight:400;line-height:18px}.tools{align-items:center;margin-inline-start:auto;display:flex}.now>.label,.osi .label,.learning-title>.label{letter-spacing:.045em;color:var(--k-text-23458f);font-size:13px;font-weight:800}.now{width:300px}:root[data-layout=wide] .now{flex-shrink:0;width:auto;min-width:300px;max-width:400px}:root[data-layout=wide] .learning{min-width:0}#now-title{letter-spacing:.05em;color:var(--ink-strong);white-space:nowrap;margin-top:2px;font-weight:800}.now-name{display:inline-block}#now-title{text-overflow:ellipsis;overflow:hidden}.now-progress{align-items:center;gap:10px;min-width:0;margin-top:5px;display:flex}#now-dots{min-width:calc(var(--dots,6) * 10px - 4px);flex:0 100 auto;gap:4px;display:flex}#now-dots i{background:var(--k-fill-dce5f6);border-radius:3px;flex:0 auto;width:18px;min-width:6px;height:5px}#now-dots i.is-done:after{transform:none}#now-dots i.selected:after{background:linear-gradient(90deg,var(--active) 0 35%,var(--k-fill-a9c4fa) 50%,var(--active) 65%) 0 0 / 300% 100%;animation:1.6s linear infinite pending-sheen;transform:none}#now-status{text-overflow:ellipsis;min-width:0;color:var(--k-text-4d67a2);white-space:nowrap;flex:0 auto;font-size:12px;font-weight:600;line-height:14px;overflow:hidden}.osi{width:212px}.osi-title{justify-content:space-between;align-items:baseline;display:flex}#layer-name{letter-spacing:.06em;color:var(--k-text-0b3aa8);font-size:12px;font-weight:800}.osi-squares{gap:4px;margin-top:7px;display:flex}.osi-marker{width:0;left:0}.osi-marker.is-ready{transition:left .55s var(--ease-out),width .55s var(--ease-out)}.osi-squares span{border:1px solid var(--k-line-c8d6ec);height:22px;color:var(--k-text-7d96c6);border-radius:2px;flex:1;place-items:center;font-size:12px;font-weight:700;transition:color .3s,border-color .3s;display:grid}.osi-squares .selected{color:var(--k-text-ffffff);border-color:#0000}.learning{width:296px}.learning-title{justify-content:space-between;display:flex}#progress-percent{letter-spacing:.04em;color:var(--ink-strong);font-size:19px;font-weight:800;line-height:20px}.progress-bar{gap:3px;height:9px;margin-top:5px;display:flex}.learning-seg{background:var(--k-fill-dce5f6);border-radius:1.5px;flex:1;overflow:hidden}.learning-seg i{background:var(--k-fill-0b3aa8);transform-origin:0;width:0;height:100%;animation-duration: ;animation-timing-function: ;animation-iteration-count: ;animation-direction: ;animation-fill-mode: ;animation-play-state: ;animation-name: ;animation-timeline: ;animation-range-start: ;animation-range-end: ;display:block}#progress-text{letter-spacing:.04em;color:var(--k-text-4d67a2);white-space:nowrap;margin-top:6px;font-size:12px;font-weight:500;line-height:14px}#progress-text .dot{margin:0 4px}#progress-percent,.learning-done,.learning-active{display:inline-block}.separator{background:var(--k-fill-6383b9);width:1px;height:46px;margin-block:0;margin-inline:26px 22px}.tools .separator{margin:0 17px}.credit{flex-direction:column;gap:6px;text-decoration:none;display:flex}.credit>.label{letter-spacing:.045em;color:var(--k-text-23458f);font-size:13px;font-weight:800}.credit>a{letter-spacing:.02em;color:var(--ink-strong);font-size:14px;font-weight:700;line-height:18px;transition:color .2s}.credit-x{color:var(--ink-strong);transition:transform .25s var(--ease-out);flex:none}.credit:hover .credit>a{color:var(--active);text-underline-offset:3px;text-decoration:underline}.credit:hover .credit-x{transform:rotate(-8deg)scale(1.1)}.lang-btn{border:1px solid var(--k-line-b5c8e7);color:var(--k-text-0b2b86);border-radius:2px;align-items:center;padding:0 9px;font-weight:800;display:inline-flex}.lang-btn svg:last-child{color:var(--k-text-4d67a2);transition:transform .25s var(--ease-out);margin-inline-start:2px}.lang-btn:hover{background:var(--k-fill-f3f6fd)}.lang-btn[aria-expanded=true] svg:last-child{transform:rotate(180deg)}.theme-toggle{border:1px solid var(--k-line-b5c8e7);border-radius:2px;height:36px;margin-inline-start:10px;display:flex}.theme-toggle button{color:var(--k-text-0b2b86);place-items:center;display:grid}.theme-toggle button+button{border-inline-start:1px solid var(--k-line-b5c8e7)}.theme-toggle .selected{background:var(--k-fill-003ca8);color:var(--k-text-ffffff)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:2px;min-height:0;position:relative;overflow:hidden}.panel-title{letter-spacing:.08em;color:var(--ink);white-space:nowrap;font-size:26px;font-weight:800;line-height:32px}.panel-title.sm{letter-spacing:.06em;font-size:22.5px;line-height:28px}.sidebar{flex-direction:column;padding-block:10px 0;padding-inline:16px 15px;display:flex}.sidebar .panel-head{align-items:center;padding-inline-start:1px}.sidebar .sidebar-more{margin-inline-end:1px}.filter-tabs{border:1px solid var(--line-mid);border-radius:2px;height:34px;margin-top:12px;display:flex}.filter-tabs button{letter-spacing:.04em;color:var(--k-text-0b2b86);border-inline-start:1px solid var(--line-mid);flex:auto;justify-content:center;align-items:center;gap:7px;padding:0 8px;font-size:13px;font-weight:800;display:inline-flex;position:relative}.filter-tabs button:first-child{border-inline-start:0}.filter-tabs button:hover{background:var(--k-fill-f5f8fe)}.filter-tabs button{transition:background-color .2s}.filter-tabs.is-ready .tab-indicator{transition:left .42s var(--ease-out),width .42s var(--ease-out)}.tab-count{background:var(--k-fill-e9eef8);letter-spacing:0;min-width:20px;color:var(--k-text-5d77ae);border-radius:8px;padding:0 5px;font-size:11px;font-weight:700;line-height:16px;transition:background-color .3s,color .3s}.protocol-list{scrollbar-width:thin;scrollbar-color:var(--k-line-c3d2ec) transparent;overflow-anchor:none;flex:1;min-height:0;margin-block:12px 0;margin-inline:0 -10px;padding-block:0 12px;padding-inline:0 10px;position:relative;overflow-y:auto}.proto-row{text-align:start;border:1.5px solid #0000;border-radius:2px;align-items:center;width:100%;height:46px;padding-block:0;padding-inline:15.5px 14px;transition:border-color .25s,background-color .25s;display:flex}.proto-row:hover{transition-duration:.12s}.proto-row:focus-visible{outline:2px solid var(--k-line-6f94c9);outline-offset:2px}.progress-ring{border-radius:50%;flex:none;width:14px;height:14px}.progress-ring.done{background:var(--k-fill-06a86c)}.progress-ring.progress{background:var(--k-fill-f8b905)}.progress-ring.new{background:var(--k-fill-ffffff);box-shadow:inset 0 0 0 2.5px var(--k-line-b5c3de)}.progress-ring{transition:background-color .35s,box-shadow .35s}.progress-ring.is-changed{animation:dot-pop .5s var(--ease-out)}.proto-label{flex-direction:column;flex:1;display:flex}.proto-label strong{color:var(--ink-strong);letter-spacing:.05em;font-size:16px;font-weight:800;line-height:19px}.proto-label>span{color:var(--k-text-6982b8);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:14.6px;font-weight:500;line-height:18px;overflow:hidden}.proto-label{min-width:0}.proto-row>.icon{color:var(--k-text-0b2b86);transition:transform .35s var(--ease-out),color .3s;place-items:center;display:grid}.drawer-steps{padding-block:14px 4px;padding-inline:34px 8px;transition:opacity .18s}.step-btn{text-align:start;align-items:flex-start;width:100%;display:flex}.step-btn:focus-visible{outline:2px solid var(--k-line-6f94c9);outline-offset:3px;border-radius:2px}.step-btn .number-dot{transition:background-color .3s ease var(--delay,0s),box-shadow .3s ease var(--delay,0s);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.step-btn:hover .step-btn .number-dot{box-shadow:0 0 0 4px var(--k-line-0b3aa8-a12)}.step-btn>span:last-child{flex-direction:column;display:flex}.step-btn strong{letter-spacing:.05em;color:var(--k-text-33509a);font-size:13.5px;font-weight:800;line-height:17px}.step-btn small{color:var(--k-text-6982b8);font-size:13.5px;font-weight:500;line-height:17px}.step-btn strong,.step-btn small{transition:color .3s ease var(--delay,0s)}.step-btn:hover .step-btn strong{color:var(--k-text-0b3aa8)}.side-panel{flex-direction:column;display:flex}.side-body{scrollbar-width:thin;scrollbar-color:var(--k-line-c3d2ec) transparent;flex:1;min-height:0;padding-block:11px 4px;padding-inline:19px 10px;overflow-y:auto}.protocol-name{justify-content:space-between;align-items:center;display:flex}.protocol-name h3{color:var(--ink);font-weight:800}.full-name{margin-top:2px;font-weight:500}.description{padding-inline-end:0;font-weight:500}.facts{margin-top:8px;margin-inline:-4px 0}.side-panel-stage{flex-direction:column;flex:1;min-height:0;display:flex}.facts>div{grid-column:1/-1;grid-template-columns:subgrid;border-top:1px solid var(--line-soft);align-items:center;min-height:34px;display:grid}.facts>div:last-child{border-bottom:1px solid var(--line-soft)}.facts dt{padding-block:3px;padding-inline:7px 0;font-size:13px;font-weight:800}.facts dd{font-size:12.8px;font-weight:500}.packet-panel .panel-head.bar{padding-inline-end:4px}.legend{white-space:nowrap;flex-wrap:wrap;align-items:center;min-width:0;margin-block:0;display:flex}.legend>span{align-items:center;gap:6px;height:18px;display:inline-flex}.legend i{flex:none}.legend-note{border-inline-start:1px solid var(--k-line-c9d6ec);padding-inline-start:14px;font-style:italic;font-weight:500}.transport{align-items:center;display:flex}.transport .speed{margin-inline-end:4px}.btn{border:1px solid var(--k-line-b5c8e7);letter-spacing:.05em;min-width:89px;height:32px;color:var(--k-text-0b2b86);border-radius:2px;justify-content:center;align-items:center;gap:12px;padding:0 6px;font-size:13.5px;font-weight:800;display:inline-flex}.btn-primary{background:var(--k-fill-003ca8);border-color:var(--k-line-003ca8);min-width:98px;color:var(--k-text-ffffff)}.btn{transition:opacity .25s,background-color .2s}.btn:disabled{cursor:default}.btn:last-child{min-width:86px}.btn[data-action=step]{min-width:74px}.btn.speed-btn{min-width:54px;padding:0}.btn.icon-btn{gap:0;width:34px;padding:0}.packet-panel{flex-direction:column;display:flex}:root[data-layout=medium] .workspace{grid-template-columns:372px minmax(0,1fr) 300px}:root[data-layout=medium] .now+.separator,:root[data-layout=medium] .osi,:root[data-layout=medium] .legend-note{display:none}:root[data-layout=medium] .theme-toggle{margin-inline-start:6px}:root[data-layout=medium] .now{flex:0 262px;width:auto;min-width:150px}:root[data-layout=medium] #now-dots{display:none}:root[data-layout=medium] .learning{flex:none;width:auto;min-width:176px}:root[data-layout=medium] .tools .separator{margin:0 12px}:root[data-layout=medium] .brand>div:not(.logo-frame){margin-inline-start:12px}:root[data-layout=medium] .brand h1{font-size:20px;line-height:24px}:root[data-layout=medium] .tagline{letter-spacing:.12em;font-size:11.5px}:root[data-layout=medium] .sidebar .panel-title{letter-spacing:.07em;font-size:21px}:root[data-layout=medium] .filter-tabs button{letter-spacing:.02em;gap:5px;padding:0 4px;font-size:12px}:root[data-layout=medium] .proto-label{margin-inline-start:18px}:root[data-layout=medium] .protocol-name h3{font-size:31px}:root[data-layout=medium] .side-panel .panel-title.sm{letter-spacing:.05em;font-size:19px}@media (min-width:1360px){:root[data-layout=medium] .now+.separator,:root[data-layout=medium] .osi{display:block}:root[data-layout=medium] .osi{width:168px}:root[data-layout=medium] .now{flex-basis:246px}}:root:not([data-layout=wide]) table{font-size:13px}:root:not([data-layout=wide]) table th{font-size:12px}:root:not([data-layout=wide]) table col:first-child{width:50px!important}:root:not([data-layout=wide]) table col:nth-child(2){width:80px!important}:root:not([data-layout=wide]) table col:nth-child(3),:root:not([data-layout=wide]) table col:nth-child(4){width:126px!important}:root:not([data-layout=wide]) table col:nth-child(5){width:84px!important}:root:not([data-layout=wide]) table col:nth-child(7){width:68px!important}:root:not([data-layout=wide]) table td,:root:not([data-layout=wide]) table th{padding-inline-start:10px}:root:not([data-layout=wide]) table td.is-ltr{padding-inline:0 10px}:root:not([data-layout=wide]) .legend{gap:11px;margin-inline-start:16px}:root:not([data-layout=wide]) .btn[data-action=reset]{gap:0;width:34px;min-width:34px;padding:0}:root:not([data-layout=wide]) .btn[data-action=reset] .reset-label{display:none}:root:not([data-layout=wide]) .btn[data-action=step]{min-width:66px}.is-stacked .shell{height:auto;padding:0 max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left));grid-template-rows:auto auto}.is-stacked .topbar{flex-wrap:wrap;row-gap:12px;padding:12px 0 14px}.is-stacked .topbar:after{content:"";background:var(--line-soft);flex-basis:100%;order:5;height:1px}.is-stacked .tools{display:contents}.is-stacked .separator{display:none}.is-stacked .lang{order:4;margin-inline-start:22px}.is-stacked .lang-btn{height:40px}.is-stacked .drawer-btn{border:1px solid var(--k-line-b5c8e7);letter-spacing:.06em;height:40px;color:var(--k-text-0b2b86);border-radius:2px;order:0;justify-content:center;align-items:center;gap:9px;margin-inline-end:20px;padding-block:0;padding-inline:12px 13px;font-size:13px;font-weight:800;transition:background-color .2s;display:inline-flex}.is-stacked .drawer-btn:hover{background:var(--k-fill-f3f6fd)}.is-stacked .brand{order:1;min-width:0}.is-stacked .credit{order:3;margin-inline-start:auto}.is-stacked .theme-toggle{order:4;height:40px;margin-inline-start:8px}.is-stacked .theme-toggle button{width:40px}.is-stacked .now{flex:250px;order:6;width:auto;min-width:0;overflow:hidden}.is-stacked #now-title,.is-stacked #now-status{text-overflow:ellipsis;overflow:hidden}.is-stacked .osi{flex:none;order:7;margin-inline-start:28px}.is-stacked .learning{flex:none;order:8;margin-inline-start:28px}.is-stacked .workspace{grid-template-rows:clamp(400px,100vh - 440px,680px) 300px;grid-template-columns:minmax(0,1fr) 320px}.is-stacked .workspace>.packet-panel{grid-column:1/-1}.is-stacked .workspace>.side-panel{margin-inline-start:0}.is-stacked .legend-note{display:none}.is-stacked .shell.is-drawer-open .sidebar{visibility:visible;transition:transform .46s var(--ease-out),visibility 0s;transform:none}.is-stacked .sidebar .sidebar-more{display:none}.is-stacked .drawer-close{border:1px solid var(--k-line-b5c8e7);width:36px;height:36px;color:var(--k-text-0b2b86);border-radius:2px;place-items:center;display:grid}.is-stacked .drawer-close:hover{background:var(--k-fill-f3f6fd)}.is-stacked .scrim{z-index:45;background:color-mix(in srgb,var(--k-shadow-8d9ab3) 42%,transparent);opacity:0;pointer-events:none;transition:opacity .32s;display:block;position:fixed;inset:0}.is-stacked .shell.is-drawer-open .scrim{opacity:1;pointer-events:auto}.is-single .shell{padding-bottom:82px}.is-single .workspace{grid-template-rows:none;grid-template-columns:minmax(0,1fr);row-gap:12px}.is-single .simulation{height:clamp(300px,78vw,560px)}.is-single .side-panel{min-height:330px}.is-single .side-body{padding-bottom:14px;overflow:visible}.is-single .facts>div{height:auto;min-height:34px;padding:6px 0}.is-single .explain-facts>div{min-height:30px;padding:5px 0}.is-single .facts dd{white-space:normal}.is-single .packet-panel .panel-head.bar{flex-wrap:wrap;row-gap:8px;height:auto;padding-block:9px 10px;padding-inline:17px 14px}.is-single .legend{white-space:normal;flex-wrap:wrap;flex:100%;order:2;row-gap:4px;height:auto;margin:0;overflow:visible}.is-single .table-scroll{flex:none;overflow:auto hidden}.is-single table{min-width:820px}.is-single .transport{z-index:40;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--panel);grid-template-columns:50px 44px minmax(96px,240px) 64px 44px;justify-content:center;gap:6px;display:grid;position:fixed;bottom:0;left:0;right:0}.is-single .transport .btn{width:auto;min-width:0;height:42px}.is-single .transport .toggle{padding:0 8px;container-type:inline-size}.is-single .transport .speed{margin-inline-end:0}.is-single .transport .btn[data-action]{width:auto}:root[data-layout=narrow] .osi,.is-single .tagline{display:none}.is-single .drawer-btn{width:40px;margin-inline-end:14px;padding:0}.is-single .drawer-btn span{display:none}:root[data-layout=narrow] .brand h1{font-size:22px}:root[data-layout=phone] .shell{padding:0 max(12px,env(safe-area-inset-right)) 82px max(12px,env(safe-area-inset-left))}:root[data-layout=phone] .topbar{row-gap:10px;padding:10px 0 12px}:root[data-layout=phone] .osi,:root[data-layout=phone] .learning{display:none}:root[data-layout=phone] .drawer-btn{margin-inline-end:10px}:root[data-layout=phone] .logo-frame{width:42px;height:36px;margin-inline-start:0}:root[data-layout=phone] .logo-frame .corner{width:7px;height:7px}:root[data-layout=phone] .logo-cube{width:26px;height:26px}:root[data-layout=phone] .brand>div:not(.logo-frame){margin-inline-start:10px}:root[data-layout=phone] .brand h1{letter-spacing:.05em;font-size:16px;line-height:20px}:root[data-layout=phone] .lang{margin-inline-start:auto}:root[data-layout=phone] .lang-btn{gap:5px;padding:0 7px}:root[data-layout=phone] .lang-btn svg:last-child{display:none}:root[data-layout=phone] .theme-toggle{margin-inline-start:6px}:root[data-layout=phone] .theme-toggle button{width:38px}:root[data-layout=phone] .theme-toggle button.selected{display:none}:root[data-layout=phone] .theme-toggle button+button{border-inline-start:0}:root[data-layout=phone] .credit{order:7;margin-inline-start:16px}:root[data-layout=phone] .now{flex:1 1 0;min-width:150px}:root[data-layout=phone] #now-title{font-size:15px;line-height:19px}:root[data-layout=phone] #now-dots i{width:13px}:root[data-layout=phone] .panel-title.sm{font-size:20px}:root[data-layout=phone] .side-body{padding-block:11px 14px;padding-inline:14px 12px}:root[data-layout=phone] .facts{grid-template-columns:minmax(104px,min-content) minmax(0,1fr)}:root[data-layout=phone] .hx-text{display:none}:root[data-layout=phone] .ins-field{grid-template-columns:112px 1fr}:root[data-layout=phone] .simulation{height:clamp(300px,96vw,560px)}:root[data-layout=phone] .sidebar .panel-title{letter-spacing:.07em;font-size:21px}:root[data-layout=phone] .filter-tabs button{letter-spacing:.01em;gap:4px;padding:0 3px;font-size:11.5px}:root[data-layout=phone] .tab-count{min-width:18px;padding:0 4px}:root[data-layout=phone] .proto-label{margin-inline-start:16px}:root[data-layout=phone] .proto-row{padding-block:0;padding-inline:12px 10px}body{font-size:16px;font-weight:400;line-height:normal}.topbar{height:auto;min-height:0}.brand{gap:0}.brand>.logo-frame{margin-inline-start:3px}.brand>div:not(.logo-frame){margin-inline-start:16px}.brand .tagline{margin:0}.separator{flex-shrink:0}.tools>.separator{margin-inline:17px}.now{flex:none;gap:0}#now-title{font-size:18px;line-height:21px;display:block}#now-status,#progress-text{text-transform:uppercase}.learning{flex:none}.learning-title{align-items:baseline}.credit{flex-shrink:0}.credit>a{white-space:nowrap}.theme-toggle button{border:0;min-width:0;height:34px;padding:0}.theme-toggle button.selected{background:var(--primary)}.sidebar{padding:10px 15px 0 16px}.sidebar .panel-head{border:0;flex-shrink:0;height:32px;min-height:0;padding:0 0 0 1px}.sidebar .filter-tabs{border:1px solid var(--line-mid);flex-shrink:0;height:34px;min-height:34px;margin-top:12px;padding:0}.sidebar .filter-tabs button{border:0;border-inline-start:1px solid var(--line-mid);line-height:normal}.sidebar .filter-tabs button:first-child{border-inline-start:0}.sidebar .tab-count{letter-spacing:0;border-radius:8px;min-width:20px;margin:0;padding:0 5px;font-size:11px;font-weight:700;line-height:16px;display:inline-block}.sidebar .protocol-list{margin:12px -10px 0 0;padding:0 10px 12px 0}.sidebar .proto-row{border-width:1.5px;gap:0;padding:0 14px 0 15.5px}.proto-label{margin-inline-start:24px}.sidebar .proto-label strong{color:var(--ink-strong);letter-spacing:.05em;line-height:19px}.sidebar .proto-label>span{letter-spacing:.01em;color:var(--k-text-6982b8);font-size:14.6px;line-height:18px}.sidebar .drawer-steps{padding:14px 8px 4px 34px}.sidebar .step-btn{gap:0;margin:0 0 14px;padding:0}.sidebar .step-btn:last-child{margin-bottom:0}.step-btn>span:last-child{margin-inline-start:14px;margin-top:-2px}.sidebar .step-btn strong{letter-spacing:.05em;color:var(--k-text-33509a);font-size:13.5px}.sidebar .step-btn small{color:var(--k-text-6982b8);font-size:13.5px;line-height:17px}.step-btn .number-dot{color:#fff;background:var(--k-fill-9db1d9);width:22px;height:22px;font-size:12px;font-weight:700;line-height:normal}.simulation{background:var(--panel)}.side-panel{margin-inline-start:-1px}.side-panel .panel-head,.packet-panel .panel-head{border-bottom:1px solid var(--k-line-b4c8e4);flex-wrap:nowrap;align-items:center;height:42px;min-height:42px;padding:0 14px 0 17px}.side-panel h2{letter-spacing:.06em;font-size:22.5px;line-height:28px}.side-panel .panel-head button,.sidebar-more{letter-spacing:2px;border:0;width:28px;min-width:28px;height:24px;padding:0;font-size:20px}.side-body{padding:11px 10px 4px 19px}.protocol-name h3{letter-spacing:.06em;font-size:35px;line-height:40px}.badge{border:0;margin-top:-2px;line-height:normal}.badge:before{content:"";background:var(--k-fill-0aa86b);border-radius:50%;width:13px;height:13px;margin:0}.full-name{letter-spacing:.025em;color:var(--k-text-2a4c9e);margin:2px 0 0;font-size:16px;line-height:20px}.description{letter-spacing:0;color:var(--k-text-4a66a4);margin-top:12px;font-size:13.1px;line-height:21.5px}.facts{column-gap:8px;margin:8px 0 0 -4px;display:grid}.facts>.fact{grid-column:1/-1;align-items:center;gap:0;min-height:34px;padding:0;display:grid}.facts>.fact:last-child{border-bottom:1px solid var(--line-soft)}.facts dt{letter-spacing:.03em;color:var(--k-text-102a86);padding:3px 0 3px 7px;line-height:15px}.facts dd{color:var(--k-text-3a59a3);padding:3px 0;line-height:16px}.packet-panel .panel-head{gap:0;padding-inline-end:4px}.flow-heading{display:contents}.packet-panel h2{letter-spacing:.06em;flex-shrink:0;margin-inline-end:14px;font-size:22.5px;line-height:28px}.legend{letter-spacing:.01em;color:var(--k-text-3a59a3);flex:1;font-size:12px;font-weight:600;line-height:normal}.legend i{width:10px;height:10px}.transport{gap:5px;margin-inline-start:0}.transport .btn{border-color:var(--k-line-b5c8e7);height:32px;color:var(--k-text-0b2b86);border-radius:2px;gap:12px;padding:0 6px;line-height:normal}.transport .btn-primary{background:var(--primary);border-color:var(--primary-line);color:#fff}.transport .play-btn span{text-align:start;min-width:58px}.transport .icon{width:12px;height:14px}.transport .icon-btn,.transport .icon-btn:last-child{min-width:34px}.transport .btn:disabled{opacity:.45}.btn-primary:hover:not(:disabled){filter:none;background:var(--primary)}table{table-layout:fixed;width:calc(100% - 26px);margin:0 0 0 13px}td,th{text-align:start;border-bottom:1px solid var(--k-line-eef2f8);height:25.2px;padding:0 0 0 14px;line-height:normal}th{letter-spacing:.04em;height:22px;color:var(--k-text-23458f);font-size:13px}td{color:var(--k-text-2f4d8e)}td:first-child,th:first-child{width:auto;padding-inline-start:15px}td:last-child,th:last-child{text-align:start}tr[data-packet]{height:auto}td{text-overflow:ellipsis;overflow:hidden}.number-dot{vertical-align:middle;width:22px;height:22px;font-size:12.5px;font-weight:700}.view-switch{background:var(--k-fill-fefeff-a92);border:1px solid var(--k-line-c9d6ec);border-radius:3px;inset-inline-start:12px}.view-switch button{letter-spacing:.06em;height:26px;color:var(--k-text-4d67a2);gap:7px;padding:0 11px 0 9px;font-size:12px}.view-switch button.selected{color:#fff}.devices text:first-child{letter-spacing:.04em;fill:var(--ink-strong);font-weight:800}.devices text:last-child{letter-spacing:.05em;fill:var(--k-text-1d3e9a);font-weight:500}html[data-layout=medium] .brand>div:not(.logo-frame){margin-inline-start:12px}html[data-layout=medium] .brand>.logo-frame{width:64px}html[data-layout=medium] .sidebar .filter-tabs button{letter-spacing:.02em;gap:5px;padding:0 4px;font-size:12px}html[data-layout=medium] .sidebar .panel-head{height:32px}html[data-layout=medium] .now{flex:0 262px;min-width:150px}html[data-layout=medium] .brand-separator{margin-inline:26px 22px}html:not([data-layout=wide]) table{font-size:13px}html:not([data-layout=wide]) th{font-size:12px}html:not([data-layout=wide]) td,html:not([data-layout=wide]) th,html:not([data-layout=wide]) td:first-child{padding-inline-start:10px}html:not(.is-stacked) .drawer-btn,html:not(.is-stacked) .drawer-close{display:none}.credit>.label{line-height:normal}.sidebar .progress-ring{width:14px;height:14px}.sidebar .proto-entry{border-bottom:1px solid var(--k-line-edf1f7)}.sidebar .step-btn,.sidebar .step-btn:last-child{margin:0}.badge{background:var(--k-fill-d8f5e8);letter-spacing:.06em;height:27px;color:var(--k-text-0f9a62);border-radius:2px;align-items:center;gap:10px;padding:0 12px 0 13px;font-size:13.5px;font-weight:600;display:inline-flex}.badge:before{flex-shrink:0}.view-switch .icon{width:14px;height:14px}.lang-btn{letter-spacing:.06em}.legend{gap:24px 11px;height:18px;margin-inline:16px 12px;overflow:hidden}.legend span{flex-shrink:0;gap:6px}.legend i{flex-shrink:0}.packet-panel h2{margin:0}.transport .speed-btn{margin-inline-end:4px}td.is-ltr{text-align:start;padding:0 0 0 14px}.protocol-cell{color:var(--k-text-2f4d8e)}html:not([data-layout=wide]) td.is-ltr{padding:0 0 0 10px}html[data-layout] .brand{gap:0}.now-progress{min-height:0}#now-status{letter-spacing:.0476878em}#progress-text .dot{color:var(--k-text-9fb3db);margin-inline:4px}html[data-layout=phone] .shell{padding-inline:12px}html[data-layout=phone] .simulation{height:clamp(300px,96vw,560px)}.links path{stroke:var(--k-line-bccae6);stroke-width:2px;stroke-dasharray:6 5;animation:none}.devices .node-name{letter-spacing:.04em}.devices .node-ip{letter-spacing:.05em}.device-fill{fill:var(--panel)}.facts dd bdi{display:inline}.devices .node-label .node-name{letter-spacing:.04em;fill:var(--ink-strong);font-weight:800}.theme-toggle button{width:36px}.lang-btn{width:82px;min-width:0;height:36px}.transport .play-btn{min-width:100px}html.is-stacked .topbar{padding-block-end:14px}html.is-stacked .learning{width:296px;flex:none;inline-size:296px}html.is-stacked .drawer-btn{gap:10px;width:119.5px}html.is-stacked .theme-toggle button{height:38px}html.is-stacked .lang-btn{height:40px;font-size:13.5px}html.is-stacked .brand>div:not(.logo-frame){margin-inline-start:20px}.devices .iso-shadow{fill:url(#shadow-fade)}.devices .iso-shadow.round{fill:url(#shadow-round)}html.is-single .drawer-btn{width:40px;inline-size:40px;margin-inline-end:14px}html.is-single .logo-frame{width:64px;inline-size:64px;height:52px;block-size:52px}html.is-single .brand>div:not(.logo-frame){margin-inline-start:16px}html.is-single .brand h1{font-size:22px;line-height:30px}html.is-single .packet-panel .panel-head{flex-wrap:wrap;row-gap:8px;height:auto;min-height:0;padding-block:9px 10px;padding-inline:17px 14px}html.is-single .legend{white-space:normal;flex-wrap:wrap;flex:100%;order:2;row-gap:4px;height:auto;margin:0;overflow:visible}html.is-single .transport{padding-block:10px calc(10px + env(safe-area-inset-bottom))}html.is-single .transport .btn{width:auto;min-width:0}html.is-single .transport .speed-btn{margin:0}html.is-single .side-body{padding-bottom:14px}html.is-single .facts>.fact{padding:6px 0}html.is-single .facts{grid-template-columns:minmax(119px,min-content) minmax(0,1fr)}html[data-layout=phone] .drawer-btn{margin-inline-end:10px}html[data-layout=phone] .logo-frame{width:42px;inline-size:42px;height:36px;block-size:36px;margin-inline-start:0}html[data-layout=phone] .brand>div:not(.logo-frame){margin-inline-start:10px}html[data-layout=phone] .brand h1{letter-spacing:.05em;font-size:16px;line-height:20px}html[data-layout=phone] .language-wrap{margin-inline-start:auto}html[data-layout=phone] .lang-btn{gap:5px;width:auto;height:40px;padding:0 7px;font-size:13.5px}html[data-layout=phone] .lang-btn .icon{width:17px;inline-size:17px}html[data-layout=phone] .theme-toggle button{width:38px;inline-size:38px;border:0;height:38px}html[data-layout=phone] .credit{order:7;max-inline-size:none;margin-inline-start:16px;position:static}html[data-layout=phone] .credit .label{font-size:13px}html[data-layout=phone] .now{flex:1 1 0;min-width:150px;padding-inline-end:0}html[data-layout=phone] #now-title{white-space:nowrap;font-size:15px;line-height:19px}html[data-layout=phone] #now-dots i{width:13px;inline-size:13px}html[data-layout=phone] .side-body{padding:11px 12px 14px 14px}.theme-toggle button{inline-size:36px}.lang-btn{flex-shrink:0;font-size:13.5px}.legend{margin-inline-start:26px!important}.badge:before{display:none}.badge>i{background:var(--k-fill-0aa86b);border-radius:50%;width:13px;height:13px;display:inline-block}.sidebar .progress-ring{box-shadow:inset 0 0 0 2.5px var(--k-line-b5c3de);background:var(--k-fill-ffffff);border:0}.filter-tabs{position:relative}.tab-indicator{bottom:-1px;background:var(--k-fill-0b3aa8);width:18.4%;height:3px;position:absolute;inset-inline-start:0}.sidebar .filter-tabs .selected .tab-count{background:var(--k-fill-0b3aa8)}.progress-bar>.learning-seg{background:var(--k-fill-dce5f6);border-radius:1.5px;flex:1 1 0;height:9px;display:block;overflow:hidden}.progress-bar>.learning-seg i{background:var(--k-fill-0b3aa8);transform-origin:0;width:0;height:100%;transition:width .6s var(--ease-out),background-color .3s;display:block}.progress-bar>.learning-seg.done i{width:100%}html.is-single .legend{margin:0!important}html.is-single .drawer-btn,html[data-layout=phone] .lang-btn{min-width:0}html.is-single .brand .logo-frame{flex-shrink:0}.links path{opacity:1}.transport .play-btn{padding-inline-start:8px}.btn.icon-btn{min-width:0}.proto-row>.icon{width:16px;height:16px;stroke-width:2px;block-size:16px;inline-size:16px}html.is-stacked .topbar{min-height:0}html[data-layout=phone] .credit{min-width:107.4px}html[data-layout=wide] .transport [data-action=reset]{width:86px;inline-size:86px;min-width:86px}html[data-layout=wide] .legend{gap:14px}.number-dot.blue,.legend i.blue{background:radial-gradient(circle at 35% 30%,var(--k-fill-3a8bf5),var(--k-fill-1166e3) 70%)}.number-dot.green,.legend i.green{background:radial-gradient(circle at 35% 30%,var(--k-fill-2bbb78),var(--k-fill-0d9b59) 70%)}.number-dot.amber,.legend i.amber{background:radial-gradient(circle at 35% 30%,var(--k-fill-ffcc3d),var(--k-fill-f4b305) 70%)}.number-dot.violet,.legend i.violet{background:radial-gradient(circle at 35% 30%,var(--k-fill-9a80f0),var(--k-fill-6d4bdc) 70%)}.number-dot.teal,.legend i.teal{background:radial-gradient(circle at 35% 30%,var(--k-fill-3cc3cf),var(--k-fill-0b8b98) 70%)}.number-dot.slate,.legend i.slate{background:radial-gradient(circle at 35% 30%,var(--k-fill-8797b8),var(--k-fill-546588) 70%)}html.is-single .facts>.fact{min-height:35px}html.is-single .facts>.fact:last-child{min-height:36px}html.is-single .packet-panel{min-block-size:0;height:auto}html.is-single .table-scroll{flex:none;overflow:auto hidden}.theme-toggle button{border-radius:0}.theme-toggle .btn.icon-btn{width:36px;border-radius:0;inline-size:36px}html.is-stacked .theme-toggle .btn.icon-btn{width:40px;inline-size:40px}html[data-layout=phone] .theme-toggle .btn.icon-btn{width:38px;inline-size:38px}.logo-frame{width:64px;height:52px;color:var(--k-text-0b3aa8);place-items:center;margin-inline-start:3px;display:grid;position:relative}.logo-frame .corner{border:0 solid var(--k-line-1747b5);width:10px;height:10px;position:absolute}.corner.tl{border-width:2px 0 0 2px;top:0;left:0}.corner.tr{border-width:2px 2px 0 0;top:0;right:0}.corner.bl{border-width:0 0 2px 2px;bottom:0;left:0}.corner.br{border-width:0 2px 2px 0;bottom:0;right:0}.logo-cube{width:38px;height:38px}html[data-layout=phone] .logo-cube{width:26px;height:26px}html[data-layout=phone] .logo-frame .corner{width:7px;height:7px}.view-indicator{background:var(--k-fill-0b3aa8);pointer-events:none;border-radius:2px;position:absolute;top:3px;bottom:3px}.view-switch button{z-index:1;position:relative}.view-switch button.selected{background:0 0}.view-indicator.is-ready{transition:left .4s var(--ease-out),width .4s var(--ease-out)}html.is-stacked #sidebar-host{z-index:55;visibility:hidden;width:min(440px,90%);transition:transform .32s var(--ease-in),visibility 0s linear .32s;display:flex;position:fixed;inset-block:0;inset-inline-start:0;transform:translate(-104%)}html.is-stacked #sidebar-host.is-open{visibility:visible;transition:transform .46s var(--ease-out),visibility 0s;transform:translate(0)}html.is-stacked #sidebar-host>.sidebar{width:100%;max-inline-size:none;height:100%;padding-top:max(12px,env(safe-area-inset-top));background:var(--panel);box-shadow:10px 0 40px color-mix(in srgb,var(--k-shadow-8d9ab3) 30%,transparent);border-block-width:0;border-inline-width:0 1px;border-radius:0;animation:none}html.is-stacked .sidebar-more{display:none}html.is-stacked .drawer-close{min-width:0;display:inline-flex}html.is-stacked #sidebar-host .drawer-steps{visibility:visible}html[data-layout=phone] #sidebar-host{width:min(440px,92%)}.lang-btn{gap:7px;padding-inline:9px}.lang-btn .icon:first-child{width:17px;height:17px;block-size:17px;inline-size:17px}.lang-btn .lang-chevron{width:10px;height:6px;block-size:6px;inline-size:10px;margin-inline-start:2px}#lang-code{min-width:1.4em;display:inline-block}html.is-single .legend{margin-inline-start:16px!important}html[data-layout=phone] .packet-panel h2{letter-spacing:.06em;font-size:20px;line-height:28px}html[data-layout=phone] #sidebar-host>.sidebar{padding-inline:12px}html[data-layout=phone] .sidebar .proto-label{margin-inline-start:16px}html[data-layout=phone] .sidebar .proto-row{padding-inline:12px 10px}html[data-layout=phone] .sidebar .filter-tabs button{letter-spacing:.01em;gap:4px;padding-inline:3px;font-size:11.5px}html[data-layout=wide] .legend{margin-inline-start:32px!important}.legend-note{color:var(--k-text-6d80a8)}html.is-stacked #sidebar-host{border:0;padding:0}html.is-stacked .sidebar .panel-head{height:36px}html.is-stacked .sidebar .panel-title{font-size:26px}html[data-layout=phone] .sidebar .panel-title{font-size:21px}.osi-squares{position:relative}.osi-marker{background:var(--k-fill-003ca8);border-radius:2px;height:22px;position:absolute;top:0}.osi-squares span.selected{background:0 0;border-color:#0000}.osi-squares span{position:relative}html.is-single .flow-heading{display:contents}html[data-layout=wide] .transport [data-action=reset]{padding-inline-start:8px}.side-body.explain .step-counter,.side-body.explain .complete-label{letter-spacing:.07em;color:var(--active);font-size:12px;font-weight:800;line-height:14px}.side-body.explain .complete-label{color:var(--k-text-0a9a62)}.side-body.explain>h3{letter-spacing:.06em;color:var(--ink);font-size:25px;line-height:30px}.side-body.explain .step-subtitle{letter-spacing:.02em;color:var(--k-text-2a4c9e);margin-top:1px;font-size:15px;font-weight:500;line-height:20px}.side-body.explain .description{color:var(--k-text-4a66a4);margin-top:6px;font-size:13.1px;line-height:19.5px}.side-body.explain .facts{margin-top:6px}.side-panel .back-btn{letter-spacing:.05em;color:var(--k-text-4d67a2);background:0 0;border:0;align-items:center;gap:6px;min-width:0;height:26px;padding:0;font-size:11px;font-weight:800;display:inline-flex}.side-panel .panel-head .back-btn{border:1px solid var(--k-line-b5c8e7);letter-spacing:.05em;border-radius:2px;min-width:88px;height:26px;padding:0 9px;font-size:12px}.side-panel .panel-head .back-btn .icon{block-size:11px;inline-size:11px}.side-body.explain .facts>.fact{min-height:34px}.empty-state{text-align:start;letter-spacing:.03em;padding:13px 23px 12px;font-size:13px;font-weight:500}.empty-state p{margin:0}.empty-state .empty-wire,.empty-state>span:last-child{display:none}.sidebar .progress-ring.in-progress{background:var(--k-fill-f8b905);box-shadow:none}.sidebar .progress-ring.complete{background:var(--k-fill-06a86c);box-shadow:none}.sidebar .step-btn .number-dot.current{background:var(--active);box-shadow:0 0 0 3px var(--panel),0 0 0 4px var(--active)}:is(.sidebar .step-btn:has(.done) strong,.sidebar .step-btn:has(.current) strong){color:var(--ink-strong)}.sidebar .step-btn:has(.current) small{color:var(--k-text-4a66a4)}.url-box{fill:var(--k-fill-ffffff);stroke:var(--k-line-1b3fae);stroke-width:1.6px}.url-globe{fill:none;stroke:var(--k-line-1b3fae);stroke-width:1.3px}.url-leader{fill:none;stroke:var(--k-line-9fb3db);stroke-width:1.5px;stroke-dasharray:3 3}.url-text{letter-spacing:.02em;fill:var(--k-text-00238a);font-size:13px;font-weight:600}.url-caret{fill:var(--k-text-0b3aa8);opacity:0}.side-body.explain .step-counter,.side-body.explain .complete-label{margin:0}.side-body.explain>h3{margin-top:4px}.side-body.explain .description{margin-block-end:0}.side-panel .panel-head .back-btn{color:var(--k-text-0b2b86);padding-inline:7px 9px}.sidebar .step-btn .number-dot.done{background:var(--k-fill-0aa86b)}.empty-state{color:var(--k-text-6d80a8);padding-block-start:11px}.packet-panel .packet-empty td{height:40px;font-size:inherit;color:var(--k-text-8aa0cc);letter-spacing:.03em;text-align:start;font-weight:500}.side-body.explain .step-subtitle{margin-block-end:0}.seq-head{border-bottom:1px solid var(--k-line-dfe7f4);flex:none;height:46px;position:relative;overflow:hidden}.seq-head-track{height:100%;position:relative}.seq-who{text-align:center;flex-direction:column;align-items:center;width:max-content;display:flex;position:absolute;top:2px;transform:translate(-50%)}.seq-who i{white-space:nowrap}.seq-who b{letter-spacing:.04em;color:var(--ink-strong);font-size:13.5px;font-weight:800;line-height:18px}.seq-who i{color:var(--k-text-4d67a2);font-size:12px;font-style:normal;font-weight:500;line-height:16px}.seq-scroll{scrollbar-width:thin;scrollbar-color:var(--k-line-c3d2ec) transparent;flex:1;min-height:0;position:relative;overflow:auto}.seq-svg{display:block}.seq-life{stroke:var(--k-line-c4d1ea);stroke-width:1.5px;stroke-dasharray:5 5}.seq-step-line{stroke:var(--k-line-e2e9f5);stroke-width:1px}.seq-step-text{letter-spacing:.07em;fill:var(--k-text-9aabcf);dominant-baseline:central;paint-order:stroke;stroke:var(--panel);stroke-width:4px;stroke-linejoin:round;font-size:10.5px;font-weight:800;transition:fill .3s}.seq-step.is-active .seq-step-text{fill:var(--active)}.seq-step.is-active .seq-step-line{stroke:var(--k-line-c9d8f6)}.seq-arrow{--c:var(--k-accent-5d6f95);--ct:var(--c);opacity:0}.seq-arrow.is-shown{opacity:1}.seq-arrow.c-blue{--c:var(--k-accent-1f6fe8)}.seq-arrow.c-green{--c:var(--k-accent-12a56b);--ct:var(--k-text-0c8a58)}.seq-arrow.c-amber{--c:var(--k-accent-f2ac0a);--ct:var(--k-text-a26f00)}.seq-arrow.c-violet{--c:var(--k-accent-7656e0)}.seq-arrow.c-teal{--c:var(--k-accent-0e95a3);--ct:var(--k-text-0a7c88)}.seq-arrow.c-slate{--c:var(--k-accent-5d6f95)}.seq-line{stroke:var(--c);stroke-width:1.8px;transition:stroke-width .3s}.seq-arrow.is-lost .seq-line{stroke-dasharray:5 4}.seq-tip{fill:var(--c)}.seq-cross{stroke:var(--k-line-d6404c);stroke-width:2.6px;stroke-linecap:round}.seq-dot{fill:var(--c)}.seq-time{fill:var(--k-text-8fa2c9);text-anchor:end;dominant-baseline:central;paint-order:stroke;stroke:var(--panel);stroke-width:4px;stroke-linejoin:round;font-size:11px;font-weight:600;transition:fill .3s}.seq-label-bg{fill:var(--panel);transition:fill .3s}.seq-label-text{letter-spacing:.05em;fill:var(--ct);font-size:11.5px;font-weight:800;transition:fill .3s}.seq-lock{fill:none;stroke:var(--ct);stroke-width:1.3px;transition:stroke .3s}.seq-arrow.is-current .seq-line{stroke-width:2.8px}.seq-arrow.is-current .seq-label-bg{fill:var(--c)}.seq-arrow.is-current .seq-label-text{fill:var(--k-text-ffffff)}.seq-arrow.is-current .seq-lock{stroke:var(--k-line-ffffff)}.seq-arrow.c-amber.is-current .seq-label-text{fill:var(--k-on-amber)}.seq-arrow.c-amber.is-current .seq-lock{stroke:var(--k-line-0b2b86)}.seq-arrow.is-current .seq-time{fill:var(--active)}.seq-note{--c:var(--k-accent-0b3aa8);opacity:0}.seq-note.is-shown{opacity:1}.seq-note.tone-green{--c:var(--k-accent-0c8a58)}.seq-note.tone-amber{--c:var(--k-accent-a26f00)}.seq-note.tone-teal{--c:var(--k-accent-0a7c88)}.seq-note-dot{fill:var(--c)}.seq-note-bg{fill:var(--k-fill-ffffff);stroke:var(--c);stroke-width:1.2px}.seq-note-text{letter-spacing:.06em;fill:var(--c);dominant-baseline:central;font-size:11px;font-weight:800}.seq-break-band{fill:var(--panel)}.seq-wave{fill:none;stroke:var(--k-line-c4d1ea);stroke-width:1.3px}.seq-break-bg{fill:var(--k-fill-eef3fc);stroke:var(--k-line-c9d6ec)}.seq-break-text{letter-spacing:.05em;fill:var(--k-text-4d67a2);dominant-baseline:central;font-size:11px;font-weight:700}.seq-arrow.is-shown{cursor:pointer}.seq-arrow.is-inspected .seq-line{stroke-width:3.2px}.seq-arrow.is-inspected .seq-label-bg{fill:var(--k-fill-0e95a3)}.seq-arrow.is-inspected .seq-label-text{fill:var(--k-text-ffffff)}.network-container.view-inactive{opacity:1;visibility:visible}.sequence-container{background:var(--panel);z-index:2;transition:opacity .3s,visibility .3s linear}.sequence-container:not(.view-inactive){opacity:1;visibility:visible;transition:opacity .3s,visibility}.view-switch{z-index:3}.seq-scroll{overflow-x:hidden}.inspector{z-index:5;background:var(--panel);--c:var(--k-accent-5d6f95);flex-direction:column;display:flex;position:absolute;inset:0}.ins-head{border-bottom:1px solid var(--k-line-dfe7f4);flex:none;align-items:center;gap:12px;height:52px;padding-block:0;padding-inline:16px 12px;display:flex}.ins-badge.step-badge{flex:none;width:28px;height:28px;font-size:13px}.ins-title{flex-direction:column;flex:1;min-width:0;display:flex}.ins-title b{letter-spacing:.05em;color:var(--ink-strong);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:800;line-height:19px;overflow:hidden}.ins-title span{color:var(--k-text-4d67a2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;line-height:16px;overflow:hidden}.ins-nav{gap:4px;display:flex}.ins-nav button{border:1px solid var(--k-line-c9d6ec);width:30px;height:30px;color:var(--k-text-0b2b86);border-radius:2px;font-size:16px;font-weight:700;line-height:1}.ins-nav button:hover{background:var(--k-fill-f1f5fd)}.ins-where{letter-spacing:.03em;color:var(--k-text-6982b8);flex:none;padding:7px 16px 0;font-size:11.5px;font-weight:600}.ins-bar{flex:none;gap:2px;margin:8px 16px 0;display:flex}.ins-seg{cursor:pointer;flex-direction:column;min-width:0;display:flex}.ins-seg:before{content:"";background:var(--c);opacity:.85;border-radius:1.5px;height:8px}.ins-seg b{letter-spacing:.05em;color:var(--ink-strong);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:10.5px;font-weight:800;overflow:hidden}.ins-seg i{color:var(--k-text-6982b8);font-size:10.5px;font-style:normal;font-weight:600}.ins-body{border-top:1px solid var(--k-line-dfe7f4);flex:1;min-height:0;margin-top:8px;display:grid}.ins-tree,.ins-hex{scrollbar-width:thin;scrollbar-color:var(--k-line-c3d2ec) transparent;min-height:0;overflow-y:auto}.ins-tree{padding-block:4px 16px;padding-inline:16px 12px}.ins-hex{border-inline-start:1px solid var(--k-line-dfe7f4);background:var(--k-fill-fbfcff);padding-block:8px 16px;padding-inline:14px 12px}.ins-foot{border-top:1px solid var(--k-line-dfe7f4);color:var(--k-text-6982b8);flex:none;gap:22px;padding:7px 16px;font-size:11px;font-weight:500;display:flex}.ins-foot b{color:var(--k-text-9aabcf);letter-spacing:.05em}.c-slate{--c:var(--k-accent-5d6f95)}.c-blue{--c:var(--k-accent-1f6fe8)}.c-green{--c:var(--k-accent-12a56b)}.c-amber{--c:var(--k-accent-e19b00)}.c-violet{--c:var(--k-accent-7656e0)}.c-teal{--c:var(--k-accent-0e95a3)}.c-grey{--c:var(--k-accent-a7b3cb)}.ins-layer{margin-top:10px}.ins-layer h4{border-inline-start:3px solid var(--c);background:linear-gradient(90deg,color-mix(in srgb,var(--c) 9%,transparent),transparent 80%);align-items:baseline;gap:10px;margin:0 0 3px;padding-block:5px;padding-inline:9px 0;display:flex}.ins-layer h4 span{letter-spacing:.05em;color:var(--ink-strong);white-space:nowrap;font-size:12.5px;font-weight:800}.ins-layer h4 em{color:var(--k-text-4d67a2);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-style:normal;font-weight:600;overflow:hidden}.ins-field{border-radius:2px;grid-template-columns:138px 1fr;column-gap:10px;padding-block:3px;padding-inline:12px 4px;display:grid}.ins-field[data-from]{cursor:default}.ins-field.is-lit{background:color-mix(in srgb,var(--c) 14%,transparent)}.ins-field.d1{padding-inline-start:26px}.ins-field.d2{padding-inline-start:40px}.ins-field.d3{padding-inline-start:54px}.ins-name{color:var(--k-text-102a86);font-size:12px;font-weight:700;line-height:17px}.ins-value{color:var(--k-text-3a59a3);overflow-wrap:anywhere;font-size:12px;font-weight:500;line-height:17px}.ins-field.is-heading .ins-name{color:var(--ink-strong);font-weight:800}.ins-field.is-hidden .ins-value{color:var(--k-text-8a9cc4)}.ins-field.is-inside{background:var(--k-fill-effafa)}.ins-field.is-inside .ins-name,.ins-field.is-inside .ins-value{color:var(--k-text-0a6f7a)}.ins-note{color:var(--k-text-7c90bb);grid-column:2;margin:1px 0 2px;font-size:11px;font-weight:500;line-height:15px}.eg{letter-spacing:.06em;color:var(--k-text-a07a12);background:var(--k-fill-fdf4dc);vertical-align:1px;border-radius:2px;margin-inline-start:4px;padding:0 4px;font-size:9.5px;font-style:normal;font-weight:800}.hx-head{letter-spacing:.07em;color:var(--k-text-23458f);margin-bottom:6px;font-size:11px;font-weight:800}.hx-head span{letter-spacing:.03em;color:var(--k-text-8a9cc4);margin-inline-start:6px;font-weight:600}.hx-row{white-space:nowrap;gap:10px;font-size:11px;line-height:17px;display:flex}.hx-at{color:var(--k-text-a7b3cb);font-weight:600}.hx-bytes{grid-template-columns:repeat(16,15px);display:grid}.hx{text-align:center;color:color-mix(in srgb,var(--c) 78%,var(--k-text-0b2b86));border-radius:2px;font-weight:600}.hx.is-unknown,.as.is-unknown{color:var(--k-text-c3cde3)}.hx-text{color:var(--k-text-4d67a2);grid-template-columns:repeat(16,6px);display:grid}.hx.is-lit,.as.is-lit{background:color-mix(in srgb,var(--c) 30%,transparent);color:var(--k-text-00238a)}.as.is-lit{--c:var(--k-accent-1f6fe8)}.is-stacked .inspector{z-index:60;position:fixed;inset:0}.is-stacked .ins-head{height:58px}.is-stacked .ins-nav{gap:6px}.is-stacked .ins-nav button{width:38px;height:38px}.is-single .ins-body{grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start;overflow-y:auto}.is-single .ins-tree,.is-single .ins-hex{min-height:auto;overflow:visible}.is-single .ins-hex{border-inline-start:0;border-top:1px solid var(--k-line-dfe7f4)}.is-single .ins-foot{padding-bottom:calc(7px + env(safe-area-inset-bottom));flex-direction:column;gap:3px}.inspector{border:0;animation:none}.ins-layer>summary{cursor:pointer;list-style:none}.ins-layer>summary::-webkit-details-marker{display:none}.ins-field{outline-offset:-2px}.ins-badge.number-dot{width:28px;height:28px;block-size:28px;inline-size:28px;font-size:13px}.ins-body{grid-template-columns:minmax(0,1fr) 398px}.ins-nav button{min-width:0;padding:0}.ins-foot .eg{margin-inline-start:4px}.hx-head .hx-title{letter-spacing:.07em;color:var(--k-text-23458f);margin-inline-start:0;font-weight:800}.sequence-svg{max-inline-size:none;width:auto}.sequence-scroll{overflow-x:hidden}html.is-single .side-body.explain .facts{grid-template-columns:minmax(119px,min-content) minmax(0,1fr)}html[data-layout=phone] .side-body.explain .facts{grid-template-columns:minmax(108px,min-content) minmax(0,1fr)}html.is-single .side-body.explain .facts>.fact{min-height:30px;padding-block:5px}.eg{border:0}.ins-foot .eg{line-height:normal}html.is-single .facts dt,html.is-single .facts dd{padding-block:3px}html[data-layout=phone] .facts{grid-template-columns:minmax(108px,min-content) minmax(0,1fr)}html[data-layout=phone] .side-panel .panel-head{padding-inline-start:17px}html[data-layout=phone] .sidebar .protocol-list{padding:0 10px 12px 0}html[data-layout=phone] .now-progress{gap:10px}.sidebar .step-btn,.sidebar .step-btn:last-child{margin-bottom:12px;padding-bottom:0}tr.current{box-shadow:none;background:0 0}tr.current td{background:var(--k-fill-eef3fe)}tr.current td:first-child{box-shadow:inset 3px 0 var(--k-line-0b3aa8)}tr[data-packet]:hover{background:0 0}tr[data-packet]:hover td{background:var(--k-fill-f4f7fd)}tr.is-inspected td{background:var(--k-fill-e8eefc);box-shadow:inset 0 -1px var(--k-line-c9d8f6)}tr.is-inspected td:first-child{box-shadow:inset 3px 0 var(--k-line-0e95a3)}.toggle-icon{place-items:center;width:16px;height:16px;display:inline-grid}.toggle-icon svg{transition:rotate .4s var(--ease-out),scale .4s var(--ease-out),opacity .25s;grid-area:1/1}.icon-playpause path{fill:currentColor;stroke:currentColor;stroke-width:1.2px;stroke-linejoin:round;transition:d .32s var(--ease-out)}.pp-a{d:path("M 1.5 1.2 L 6.6 4.2 L 6.6 9.8 L 1.5 12.8 Z")}.pp-b{d:path("M 6.6 4.2 L 11.4 7 L 11.4 7 L 6.6 9.8 Z")}.toggle.is-playing .pp-a{d:path("M 1.6 1.4 L 4.6 1.4 L 4.6 12.6 L 1.6 12.6 Z")}.toggle.is-playing .pp-b{d:path("M 7.4 1.4 L 10.4 1.4 L 10.4 12.6 L 7.4 12.6 Z")}.icon-replay{opacity:0;rotate:-120deg;scale:.6}.toggle.is-done .icon-replay{opacity:1;rotate:0deg;scale:1}.toggle.is-done .icon-playpause{opacity:0;rotate:120deg;scale:.6}.toggle-label{text-align:start;min-width:4.3em;display:inline-block}.transport .play-btn{padding-inline:6px}.transport .play-btn .toggle-icon{text-align:center;flex-shrink:0;place-items:center;width:16px;min-width:16px;height:16px;display:inline-grid}.transport .play-btn .toggle-label{min-width:58px}.scrim{-webkit-backdrop-filter:none;backdrop-filter:none;display:none}html.is-stacked .scrim{z-index:45;background:color-mix(in srgb,var(--k-shadow-8d9ab3) 42%,transparent);opacity:0;pointer-events:none;transition:opacity .32s;display:block;position:fixed;inset:0}html.is-stacked .shell.is-drawer-open .scrim{opacity:1;pointer-events:auto}html.is-stacked .sidebar .panel-head .drawer-close{width:36px;inline-size:36px;border:1px solid var(--k-line-b5c8e7);min-width:36px;height:36px;color:var(--k-text-0b2b86);border-radius:2px;place-items:center;padding:0;display:grid}html.is-stacked[dir=rtl] #sidebar-host{transform:translate(104%)}html.is-stacked[dir=rtl] #sidebar-host.is-open{transform:translate(0)}.sidebar .proto-chev{color:var(--k-text-0b2b86);transition:transform .35s var(--ease-out),color .3s;place-items:center;display:grid}.sidebar .proto-chev .icon{width:9px;height:14px;block-size:14px;inline-size:9px}.sidebar .proto-row[aria-expanded=true]>.proto-chev{transform:rotate(90deg)}.credit>a{align-items:center;gap:7px;display:inline-flex}.credit-x{flex-shrink:0}.facts{grid-template-columns:minmax(115px,min-content) minmax(0,1fr)}.facts>.fact{grid-template-columns:subgrid;column-gap:8px}html.is-single .facts,html.is-single .side-body.explain .facts{grid-template-columns:minmax(115px,min-content) minmax(0,1fr)}html:root[data-layout=phone] .facts,html:root[data-layout=phone] .side-body.explain .facts{grid-template-columns:minmax(104px,min-content) minmax(0,1fr)}html[data-layout=phone] .facts>.fact{grid-template-columns:subgrid;column-gap:8px}html[data-layout=phone] .sidebar .panel-head{padding-inline:1px 0}html[data-layout=phone] .side-panel .panel-head{padding-inline:17px 14px}html.is-stacked .inspector{border:0}html.is-stacked #inspector-host{z-index:auto;display:contents;position:static}.inspector{overflow:visible}.shell{grid-template-columns:minmax(0,1fr)}html.is-stacked .shell{grid-template-rows:auto auto;display:grid}html.is-single .workspace{grid-template-rows:none;grid-template-columns:minmax(0,1fr);row-gap:12px;display:grid}html.is-single .workspace>.panel{grid-area:auto}.links path.is-active{stroke:var(--flight-color);stroke-width:2.4px;animation:.55s linear infinite lane-flow}.url-bar{opacity:0;transform-box:fill-box;transform-origin:83% 100%;transition:opacity .25s,scale .45s var(--ease-out);scale:.8}.url-bar.is-visible{opacity:1;scale:1}.url-bar.is-away{opacity:0;scale:.8}.url-bar.is-typing .url-caret{animation:.9s step-end infinite caret}.url-check{fill:none;stroke:var(--k-line-0aa86b);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .4s var(--ease-out)}.url-bar.is-loaded .url-check{stroke-dashoffset:0}tr .number-dot,tr.preview{animation:none}.learning-seg i{animation:seg-fill .7s var(--ease-out) both;animation-delay:calc(.25s + var(--i)*45ms);transition:width .6s var(--ease-out),background-color .3s}.learning-seg.partial i{background:var(--k-fill-3f74d6)}.view-switch button{transition:color .3s}.steps-wrap{visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .44s cubic-bezier(.4,0,.2,1),visibility .44s linear;display:grid}.proto-entry.is-open .steps-wrap{visibility:visible;grid-template-rows:1fr;transition:grid-template-rows .44s cubic-bezier(.4,0,.2,1),visibility}.sidebar .step-num{background:var(--k-fill-9db1d9);width:22px;height:22px;color:var(--k-text-ffffff);transition:background-color .3s ease var(--delay,0s),box-shadow .3s ease var(--delay,0s);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid;position:relative}.step-num>span{transition:scale .25s var(--ease-in) var(--delay,0s),opacity .2s ease var(--delay,0s)}.step-num svg{margin:auto;position:absolute;inset:0}.step-num svg path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .35s var(--ease-out) calc(var(--delay,0s) + .12s)}.step-num:after{content:"";border-style:solid;border-width:2px;border-bottom-color:#0000;border-left-color:#0000;border-top-color:var(--active);border-right-color:var(--k-line-1f5fe0-a35);opacity:0;transition:opacity .25s ease var(--delay,0s),scale .4s var(--ease-out) var(--delay,0s);border-image:;border-radius:50%;position:absolute;inset:-5px;scale:.6}.sidebar .step.is-active .step-num{background:var(--active);box-shadow:0 0 0 3px var(--k-line-1f5fe0-a12)}.step.is-active .step-num:after{opacity:1;animation:.9s linear infinite step-spin;scale:1}.sidebar .step.is-done .step-num{animation:step-pop .42s var(--ease-out) var(--delay,0s) both}.step.is-done .step-num>span{opacity:0;scale:.3}.step.is-done .step-num svg path{stroke-dashoffset:0}.step.is-done:not(:last-child):after{transform:none}.sidebar .step-btn:hover .step-num{box-shadow:0 0 0 4px var(--k-line-0b3aa8-a12)}.step.is-active .step-title,.step.is-done .step-title{color:var(--ink-strong)}.step.is-active .step-desc{color:var(--k-text-4a66a4)}.steps-clip{min-height:0;overflow:hidden}.proto-entry:not(.is-open) .drawer-steps{opacity:0}.proto-entry.is-open .drawer-steps{opacity:1}.sidebar .step{position:relative}.sidebar .step.is-active strong,.sidebar .step.is-done strong{color:var(--ink-strong)}.sidebar .step.is-active small{color:var(--k-text-4a66a4)}.sidebar .step.is-done .step-num{background:var(--k-fill-0aa86b)}.step:not(:last-child):before{content:"";inset-inline-start:10.5px;border-inline-start:1.5px dashed var(--k-line-b6c6e4);position:absolute;top:27px;bottom:3px}.step:not(:last-child):after{content:"";inset-inline-start:10.5px;border-inline-start:1.5px solid var(--k-line-0aa86b);transform-origin:top;transition:transform .45s var(--ease-out) calc(var(--delay,0s) + .1s);position:absolute;top:27px;bottom:3px;transform:scaleY(0)}.packet-tag{transition:background-color .4s,color .4s}.live-card .packet-tag{background:var(--packet)}[dir=rtl] .lang-menu{transform-origin:0 0}.lang-menu{top:calc(100% + 6px);z-index:70;border:1px solid var(--k-line-b5c8e7);background:var(--panel);min-width:176px;box-shadow:0 12px 32px color-mix(in srgb,var(--k-shadow-8d9ab3) 28%,transparent);transform-origin:100% 0;animation:menu-in .2s var(--ease-out);border-radius:3px;flex-direction:column;padding:4px;display:flex;position:absolute;inset-inline-end:0}.lang-menu button{letter-spacing:.02em;height:36px;color:var(--k-text-0b2b86);text-align:start;white-space:nowrap;border-radius:2px;justify-content:space-between;align-items:center;gap:18px;padding-block:0;padding-inline:12px 10px;font-size:14px;font-weight:700;display:flex}.lang-menu button b{letter-spacing:.06em;color:var(--k-text-7d96c6);font-size:11.5px;font-weight:800}.lang-menu button:hover,.lang-menu button:focus-visible{background:var(--k-fill-f3f6fd);outline:none}.lang-menu button[aria-checked=true],.lang-menu button[aria-checked=true] b{color:var(--active)}.language-menu.lang-menu{max-block-size:none;min-inline-size:176px;inset-block-start:calc(100% + 6px)}.language-menu.lang-menu .current{background:0 0}.language-menu.lang-menu .current:focus-visible{background:var(--k-fill-f3f6fd)}.theme-toggle [data-theme=light] .icon{width:16px;height:16px;block-size:16px;inline-size:16px}.theme-toggle [data-theme=dark] .icon{width:15px;height:15px;block-size:15px;inline-size:15px}.transport [data-action=back] .icon{width:12px;height:12px;block-size:12px;inline-size:12px}.btn:disabled{opacity:.45}.sidebar-more,.side-panel [data-action=more]{color:var(--k-text-102e8f)}.live-slot{opacity:0;transition:opacity .3s;overflow:hidden}.live-slot:not(.is-open){height:0}.live-slot.is-open{opacity:1}.live-card{border:1px solid var(--k-line-dbe4f5);border-inline-start:3px solid var(--packet);background:var(--k-fill-f8faff);border-radius:2px;margin:8px 4px 0 0;padding:8px 12px 8px 11px;transition:border-inline-start-color .4s;overflow:hidden}.live-head{align-items:center;gap:10px;display:flex}.live-card .packet-tag{white-space:nowrap;letter-spacing:.06em;color:var(--k-text-ffffff);border-radius:2px;flex:none;margin:0;padding:0 8px;font-size:12px;font-weight:800;line-height:21px}.live-slot[data-color=amber] .packet-tag{color:var(--k-on-amber)}.live-card .route{letter-spacing:.05em;color:var(--k-text-33509a);margin:0;font-size:12px;font-weight:700;line-height:normal}.live-card .payload{color:var(--k-text-1d3e9a);white-space:pre;margin-top:8px;font-size:12.5px;font-weight:600;line-height:18px}.live-card .packet-meta{letter-spacing:.05em;color:var(--k-text-6982b8);margin-top:6px;font-size:11.5px;font-weight:600}#now-dots i{position:relative;overflow:hidden}#now-dots i:after{content:"";background:var(--k-fill-0aa86b);transform-origin:0;transition:transform .5s var(--ease-out),background-color .3s;position:absolute;inset:0;transform:scaleX(0)}#now-dots i.done:after{transform:none}#now-dots i.current:after{background:linear-gradient(90deg,var(--active) 0 35%,var(--k-fill-a9c4fa) 50%,var(--active) 65%) 0 0/300% 100%;animation:1.6s linear infinite pending-sheen;transform:none}.sequence-container.view-inactive{visibility:hidden;transition:opacity .3s,visibility 0s linear .3s}.sidebar .proto-entry.current .proto-chev{color:var(--selected-line)}.legend .legend-note{color:var(--k-text-6d80a8)}.step:not(:last-child):before,.step:not(:last-child):after{bottom:-9px}.sidebar [role=tablist].filter-tabs{padding-inline:0}.lost .number-dot{outline:0}.lost td{color:var(--k-text-95a6c9)}.lost td:nth-child(6):after{content:"LOST";border:1px solid var(--k-line-c9d4ea);letter-spacing:.06em;color:var(--k-text-6d80a8);border-radius:2px;margin-inline-start:9px;padding:0 5px;font-size:10.5px;font-weight:800;display:inline-block}.topbar .btn{transition:none}.topbar .lang-btn:hover{background:var(--k-fill-f3f6fd)}.topbar .theme-toggle button:hover{background:0 0}.topbar .theme-toggle button.selected:hover{background:var(--primary)}tr.is-inspected.is-pointer-over td{background:var(--k-fill-f4f7fd)}.drawer-btn .icon{width:18px;height:14px;block-size:14px;inline-size:18px}.transport [data-action=reset] .icon{width:16px;height:16px;block-size:16px;inline-size:16px}.side-panel .panel-head [data-action=more],.sidebar .sidebar-more{width:26px;min-width:0;height:20px}.topbar.is-lean .now,.topbar.is-lean .osi-separator,.topbar.is-lean .learning,.topbar.is-lean .learning+.separator{display:none}.search-btn{border:1px solid var(--k-line-b5c8e7);background:var(--panel);letter-spacing:.02em;width:270px;height:36px;color:var(--k-text-4d67a2);border-radius:2px;align-items:center;gap:9px;padding-block:0;padding-inline:11px 6px;font-size:13.5px;font-weight:600;transition:background-color .2s,border-color .2s;display:inline-flex}.search-btn:hover{background:var(--k-fill-f3f6fd);border-color:var(--k-line-c9d6ec)}.search-btn>svg{flex:none}.search-text{text-overflow:ellipsis;text-align:start;white-space:nowrap;flex:1;min-width:0;overflow:hidden}kbd{border:1px solid var(--k-line-c9d6ec);background:var(--panel);min-width:22px;height:22px;font:inherit;letter-spacing:.03em;color:var(--k-text-23458f);white-space:nowrap;border-block-end-width:2px;border-radius:2px;place-items:center;padding:0 6px;font-size:11.5px;font-weight:800;display:inline-grid}html[data-layout=medium] .search-btn{width:240px}html.is-stacked .search-btn{flex:220px;order:6;width:auto;min-width:0;max-width:520px;height:40px}html.is-single .search-kbd{display:none}html[data-layout=phone] .search-btn{flex-basis:0}.sidebar-more{display:none}.search-dialog{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:3px;max-block-size:80dvh;inline-size:min(620px,100vw - 28px);margin-block:0;padding:0;inset-block-start:10vh;box-shadow:0 20px 80px #0004}.search-dialog::backdrop{background:#071021a6}.search-input-row{border-block-end:1px solid var(--line-mid);align-items:center;gap:12px;padding:14px;display:flex}.search-input-row input{min-inline-size:0;color:var(--ink-strong);font:inherit;outline-offset:4px;background:0 0;border:0;flex:1;font-size:16px}.search-input-row button{border:0}.search-results{max-block-size:55dvh;padding:8px;overflow:auto}.search-results button{text-align:start;border:0;border-radius:2px;flex-direction:column;gap:4px;inline-size:100%;padding:12px;display:flex}.search-results strong{color:var(--ink-strong);font-size:15px}.search-results span{color:var(--k-text-6982b8);font-size:13px}.search-results p{padding:20px;font-size:13px}.search-dialog footer{border-block-start:1px solid var(--line-mid);color:var(--ink-soft);padding:10px 16px;font-size:11px}.view-tools{align-items:center;gap:6px;margin-inline-start:12px;display:flex}.tool-btn{border:1px solid var(--k-line-b5c8e7);width:36px;height:36px;color:var(--k-text-0b2b86);border-radius:2px;place-items:center;transition:background-color .2s,border-color .2s,color .2s;display:grid}.tool-btn:hover{background:var(--k-fill-f3f6fd)}.tool-btn[aria-pressed=true]{border-color:var(--k-line-003ca8);background:var(--k-fill-003ca8);color:var(--k-text-ffffff)}html.is-single .view-tools{display:none}.transport .speed-btn{min-width:68px}html.is-list-hidden:not(.is-stacked) .workspace{grid-template-columns:minmax(0,1fr) 332px}html.is-list-hidden:not(.is-stacked) #sidebar-host{display:none}html.is-list-hidden:not(.is-stacked) .simulation{grid-column:1}html.is-list-hidden:not(.is-stacked) .side-panel{grid-column:2}html.is-list-hidden:not(.is-stacked) .packet-panel{grid-column:1/3}html.is-diagram-only .workspace{display:block}html.is-diagram-only .simulation{height:100%}html.is-diagram-only #sidebar-host,html.is-diagram-only .side-panel,html.is-diagram-only .packet-panel{display:none}.shortcuts-dialog h2{flex:1;font-size:20px}.shortcuts-dialog dl{margin:0;padding:12px 18px}.shortcuts-dialog dl>div{border-block-end:1px solid var(--line-soft);align-items:center;gap:20px;padding:8px;display:flex}.shortcuts-dialog dt{flex:none;inline-size:130px}.shortcuts-dialog dd{margin:0;font-size:13px}.speed-box{margin-inline-end:4px;position:relative}.transport .speed-btn{gap:4px;min-width:64px;padding-block:0;padding-inline:8px 9px}.speed-label{text-align:center;min-width:2.6em;display:inline-block}.speed-btn svg{color:var(--k-text-4d67a2);flex:none}.speed-menu{z-index:70;border:1px solid var(--k-line-b5c8e7);background:var(--panel);min-width:156px;animation:menu-in .2s var(--ease-out);border-radius:3px;flex-direction:column;padding:4px;display:flex;position:absolute;inset-block-start:calc(100% + 6px);inset-inline-start:0;box-shadow:0 12px 32px #0003}.speed-menu button{letter-spacing:.02em;height:34px;color:var(--k-text-0b2b86);text-align:start;border:0;align-items:center;gap:10px;padding-inline:10px;font-size:14px;font-weight:700;display:flex}.speed-menu button[aria-checked=true]{color:var(--active)}.speed-check{opacity:0;place-items:center;width:12px;display:inline-grid}.speed-menu button[aria-checked=true] .speed-check{opacity:1}html.is-single .speed-box{margin-inline-end:0}html.is-single .speed-box>.btn{width:100%;min-width:0}html.is-single .speed-btn svg{display:none}html.is-single .speed-menu{inset-block:auto calc(100% + 6px)}html.is-stacked .view-tools{order:9;margin-inline-start:16px}html.is-stacked .tool-btn{width:40px;height:40px}.transport .speed-btn svg{width:10px;height:6px;block-size:6px;inline-size:10px}.transport .speed-box>.speed-btn{margin:0}html.is-stacked .view-tools .list-btn,html.is-stacked .view-tools .focus-btn,html.is-stacked .view-tools .fullscreen-btn{display:none}.side-panel .back-btn{text-transform:uppercase}html.is-single .speed-menu{animation-name:menu-up}.search-dialog{animation:dialog-in .22s var(--ease-out)}#language-menu{position:static}.language-menu.lang-menu{width:540px;padding:10px;overflow:visible}.lang-head{border-block-end:1px solid var(--line-soft);letter-spacing:.08em;text-transform:uppercase;color:var(--k-text-23458f);margin-block-end:6px;padding-block:2px 10px;padding-inline:8px;font-size:13px;font-weight:800}.lang-grid{grid-auto-flow:column;grid-template-rows:repeat(var(--rows),auto);grid-template-columns:1fr 1fr;gap:2px 8px;display:grid}.lang-menu .lang-grid button{text-align:start;border:0;border-radius:2px;justify-content:flex-start;gap:12px;min-width:0;height:46px;padding-block:0;padding-inline:8px}.lang-menu button[aria-checked=true] span:before{content:none}.lang-menu button[aria-checked=true]{background:var(--k-fill-f3f6fd);box-shadow:inset 0 0 0 1px var(--k-line-c9d6ec)}.lang-badge{border:1px solid var(--k-line-c9d6ec);letter-spacing:.04em;width:30px;height:30px;color:var(--k-text-23458f);border-radius:2px;flex:none;place-items:center;font-size:11.5px;font-weight:800;display:grid}.lang-badge svg,.lang-menu button[aria-checked=true] .lang-short{display:none}.lang-menu button[aria-checked=true] .lang-badge svg{display:block}.lang-menu button[aria-checked=true] .lang-badge{background:var(--k-fill-003ca8);border-color:var(--k-line-003ca8);color:#fff}.lang-names{flex-direction:column;min-width:0;display:flex}.lang-native,.lang-local{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lang-native{letter-spacing:.04em;text-transform:uppercase;color:var(--k-text-0b2b86);font-size:13.5px;font-weight:800;line-height:17px}.lang-local{letter-spacing:.01em;color:var(--k-text-6982b8);font-size:12px;font-weight:500;line-height:15px}.lang-menu button[aria-checked=true] .lang-native{color:var(--active)}.is-single .language-menu.lang-menu{width:min(320px,100vw - 24px);max-height:70vh;overflow-y:auto}.is-single .lang-grid{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-auto-flow:row}.sidebar .filter-tabs button:first-of-type{border-inline-start:0}th{box-shadow:inset 0 -1px 0 var(--line-soft);border-block-end:0}html[data-layout=wide] th:first-child{padding-inline-start:14px}td{transition:background-color .4s,box-shadow .4s}.side-panel{width:100%}html.is-single .facts>.fact,html.is-single .facts>.fact:last-child{height:auto;min-height:34px}th{padding-block:1px;padding-inline-end:1px}html.is-single .speed-box>.speed-btn{flex:none;inline-size:100%;min-inline-size:0}html.is-single .transport .speed-box>.btn[data-action=speed]{width:100%;inline-size:100%}html:not(.is-stacked) .shell{padding-block:0 14px;padding-inline:19px 13px}.sidebar{padding-block:10px 0;padding-inline:16px 15px}.sidebar .panel-head{padding-inline:1px 0}.side-panel .panel-head{padding-inline:17px 14px}.packet-panel .panel-head{padding-inline:17px 4px}.side-body{padding-block:11px 4px;padding-inline:19px 10px}.facts{margin-inline:-4px 0}.facts dt{padding-block:3px;padding-inline:7px 0}.table-scroll table{margin-block:0;margin-inline:13px 0}td{padding-block:0;padding-inline:14px 0}th{padding-inline-start:14px}.sidebar .drawer-steps{padding-block:14px 4px;padding-inline:34px 8px}.sidebar .protocol-list{margin-block:12px 0;margin-inline:0 -10px;padding-block:0 12px;padding-inline:0 10px}[dir=rtl] .table-scroll td:has(bdi){text-align:right;padding-inline:0 14px}html:not([data-layout=wide])[dir=rtl] .table-scroll td:has(bdi){padding-inline:0 10px}[lang|=ja]{font-synthesis:weight;font-family:Iosevka,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic UI,Yu Gothic,Meiryo,Noto Sans JP,Noto Sans CJK JP,IPAGothic,sans-serif}[lang|=zh]{font-synthesis:weight;font-family:Iosevka,PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Microsoft YaHei,Noto Sans SC,Noto Sans CJK SC,Source Han Sans SC,WenQuanYi Zen Hei,sans-serif}[lang=zh-TW],[lang|=zh-Hant]{font-family:Iosevka,PingFang TC,Microsoft JhengHei UI,Microsoft JhengHei,Noto Sans TC,Noto Sans CJK TC,Source Han Sans TC,WenQuanYi Zen Hei,sans-serif}[lang|=ko]{font-synthesis:weight;word-break:keep-all;overflow-wrap:break-word;font-family:Iosevka,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,Noto Sans CJK KR,Nanum Gothic,WenQuanYi Zen Hei,sans-serif}[lang|=hi]{font-synthesis:weight;font-family:Iosevka,Kohinoor Devanagari,Nirmala UI,Mangal,Noto Sans Devanagari,FreeSans,sans-serif}[lang|=ar]{font-synthesis:weight;font-family:Iosevka,Geeza Pro,Segoe UI,Noto Sans Arabic,Tahoma,DejaVu Sans,sans-serif}[lang|=he]{font-synthesis:weight;font-family:Iosevka,Arial Hebrew,Segoe UI,Noto Sans Hebrew,Arial,DejaVu Sans,sans-serif}.sidebar .proto-row{padding-inline:15.5px 14px}.view-switch button{padding-block:0;padding-inline:9px 11px}[dir=rtl] .table-scroll td:has(bdi){direction:ltr;unicode-bidi:isolate}.credit{min-width:calc(104px + 12 * var(--credit-tracking,.28px))}[lang|=ar],[lang|=hi]{--credit-tracking:0px}#network-svg.is-scaled .node-label text{paint-order:stroke;stroke:var(--panel);stroke-width:3px;stroke-linejoin:round}
