:root{--bg:#f4f7fb;--surface:#fff;--surface-soft:#edf3f8;--surface-strong:#172033;--text:#2f3a4a;--muted:#6b7788;--heading:#101828;--line:#18273b1f;--teal:#0d9488;--amber:#d8891c;--blue:#356bd8;--violet:#7357d8;--coral:#df654f;--shadow:0 22px 70px #1c2b401f;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.65}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d1219;--surface:#151c26;--surface-soft:#1b2430;--surface-strong:#f3f7fb;--text:#d4dbe7;--muted:#94a3b8;--heading:#f8fafc;--line:#e2e8f024;--teal:#35d0bd;--amber:#f0b35a;--blue:#84a9ff;--violet:#b6a5ff;--coral:#ff947f;--shadow:0 22px 70px #00000052}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,a{font:inherit}a{color:inherit}button{border:0}#root{min-height:100svh}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}.site-shell{background:linear-gradient(90deg,#1018280d 1px,#0000 1px) 0 0/44px 44px,linear-gradient(#1018280a 1px,#0000 1px) 0 0/44px 44px,radial-gradient(circle at 80% 10%,#0d948824,#0000 26rem),radial-gradient(circle at 6% 82%,#df654f21,#0000 24rem),#eef3f7;min-height:100svh}.app-frame{grid-template-columns:258px minmax(0,1fr);min-height:100svh;display:grid}.site-header{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffb8;align-content:start;gap:24px;height:100svh;padding:24px 18px;display:grid;position:sticky;top:0}.header-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{color:var(--heading);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;display:inline-flex}.brand strong,.brand small{display:block}.brand strong{font-size:1rem;line-height:1.1}.brand small{color:var(--muted);font-family:var(--mono);margin-top:3px;font-size:.72rem}.brand-mark{color:#fff;background:#101828;border-radius:8px;flex:none;place-items:center;width:44px;height:44px;display:grid;box-shadow:8px 8px #0d94882e}.site-nav{gap:8px;display:grid}.site-nav button{min-height:48px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border-radius:8px;grid-template-columns:34px 1fr;align-items:center;padding:8px 12px;font-weight:850;display:grid}.site-nav button span{color:#98a2b3;font-family:var(--mono);font-size:.78rem}.site-nav button:hover{color:var(--heading);background:#1018280f}.site-nav button.active{color:#fff;background:var(--heading)}.site-nav button.active span{color:#ffffff94}.side-note{border:1px solid var(--line);background:#ffffffad;border-radius:8px;align-self:end;margin-top:calc(100svh - 500px);padding:16px}.side-note span,.side-note strong{display:block}.side-note span{color:var(--teal);font-family:var(--mono);text-transform:uppercase;font-size:.76rem;font-weight:900}.side-note strong{color:var(--heading);margin-top:8px;line-height:1.35}.icon-button{width:42px;height:42px;color:var(--heading);cursor:pointer;background:#1018280f;border-radius:8px;place-items:center;display:inline-grid}.menu-button{display:none}.page-stage{min-width:0;padding:24px}.page-view{min-height:calc(100svh - 48px);animation:.34s both view-enter}.view-label{z-index:10;border:1px solid var(--line);color:var(--muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:var(--mono);pointer-events:none;background:#ffffffad;border-radius:8px;padding:6px 10px;font-size:.72rem;position:fixed;bottom:18px;right:22px}.home-workspace{grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;min-height:calc(100svh - 48px);display:grid}.home-copy,.visual-console,.live-panel,.quick-grid button,.activity-card,.project-card,.topic-panel,.topic-detail,.join-section,.board-canvas,.board-composer{background:#ffffffb8;border:1px solid #1018281c;border-radius:8px;box-shadow:0 18px 56px #2131471a}.home-copy{align-content:end;min-height:420px;padding:clamp(28px,5vw,64px);display:grid}.eyebrow,.section-kicker{color:var(--teal);font-family:var(--mono);letter-spacing:0;text-transform:uppercase;align-items:center;gap:8px;font-size:.8rem;font-weight:950;display:inline-flex}h1{max-width:9.8em;color:var(--heading);letter-spacing:0;margin-top:18px;font-size:clamp(3rem,7.2vw,7rem);line-height:.92}.hero-copy{max-width:680px;color:var(--muted);margin-top:24px;font-size:clamp(1rem,1.2vw,1.13rem)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.primary-action,.secondary-action,.join-actions a{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:48px;font-weight:950;text-decoration:none;display:inline-flex}.primary-action{color:#fff;background:var(--heading);padding:12px 18px}.secondary-action{border:1px solid var(--line);color:var(--heading);background:#fff;padding:12px 18px}.visual-console{color:#fff;background:var(--heading);min-height:420px;position:relative;overflow:hidden}.visual-console img{object-fit:cover;opacity:.76;filter:saturate(.92)contrast(1.02);width:100%;height:100%;min-height:420px}.visual-console div{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#10182894;border:1px solid #ffffff38;border-radius:8px;padding:16px;position:absolute;inset:auto 18px 18px}.visual-console span,.visual-console strong{display:block}.visual-console span{color:#ffffffad;font-family:var(--mono);text-transform:uppercase;font-size:.76rem}.visual-console strong{margin-top:4px}.live-panel{grid-column:1/2;overflow:hidden}.live-header{border-bottom:1px solid var(--line);min-height:42px;color:var(--heading);font-family:var(--mono);align-items:center;gap:9px;padding:0 14px;font-size:.8rem;display:flex}.live-dot{background:var(--teal);border-radius:50%;width:9px;height:9px;animation:1.8s infinite live-pulse}.metric-grid{grid-template-columns:repeat(3,1fr);display:grid}.metric{border-right:1px solid var(--line);gap:3px;min-height:86px;padding:14px;display:grid}.metric:last-child{border-right:0}.metric svg{color:var(--teal)}.metric span{color:var(--muted);font-size:.76rem}.metric strong{color:var(--heading);font-family:var(--mono)}.quick-grid{grid-area:2/2/4/3;gap:12px;display:grid}.quick-grid button{min-height:138px;color:var(--heading);cursor:pointer;text-align:left;align-content:center;padding:22px;display:grid}.quick-grid button:first-child{background:#0d94881a}.quick-grid button:nth-child(2){background:#356bd81a}.quick-grid button:nth-child(3){background:#df654f1a}.quick-grid span{font-family:var(--mono);text-transform:uppercase;font-size:.82rem;font-weight:950}.quick-grid strong{margin-top:10px;font-size:1.25rem;line-height:1.25}.section,.topic-section,.join-section{width:min(1080px,100%);margin:0 auto}.page-section{min-height:calc(100svh - 48px);padding:44px 0}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}h2{color:var(--heading);letter-spacing:0;margin-top:10px;font-size:clamp(2.2rem,4.8vw,5rem);line-height:.98}.activity-grid,.project-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.activity-card,.project-card{min-height:250px;padding:26px}.activity-card h3,.project-card h3,.topic-detail h3{color:var(--heading);margin-top:20px;font-size:1.34rem;line-height:1.25}.activity-card p,.project-card p,.topic-detail p,.topic-copy p,.join-section p{color:var(--muted);margin-top:12px}.activity-card:first-child svg{color:var(--teal)}.activity-card:nth-child(2) svg{color:var(--blue)}.activity-card:nth-child(3) svg{color:var(--coral)}.topic-section{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:stretch;gap:22px;display:grid}.topic-copy{border:1px solid var(--line);background:#ffffff94;border-radius:8px;align-content:center;min-height:420px;padding:30px;display:grid}.topic-panel{padding:16px}.topic-tabs{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.topic-tabs button{min-height:52px;color:var(--heading);cursor:pointer;background:#1018280d;border-radius:8px;font-weight:850}.topic-tabs button.active{color:#fff;background:var(--heading);font-weight:950}.topic-detail{gap:18px;margin-top:14px;padding:24px;animation:.24s both topic-enter;display:flex}.topic-detail svg{color:var(--blue);flex:none}.topic-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.topic-actions span{border:1px solid var(--line);min-height:30px;color:var(--heading);background:#ffffffb8;border-radius:8px;align-items:center;padding:6px 10px;font-size:.82rem;font-weight:850;display:inline-flex}.project-card span{color:#fff;background:var(--violet);min-height:28px;font-family:var(--mono);border-radius:999px;align-items:center;padding:2px 10px;font-size:.76rem;font-weight:950;display:inline-flex}.join-section{grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:34px;min-height:calc(100svh - 48px);padding:44px;display:grid}.join-actions{gap:10px;display:grid}.join-actions a{border:1px solid var(--line);color:var(--heading);background:#fff;padding:12px 16px}.blog-section,.lab-section{width:min(1120px,100%);margin:0 auto}.lab-hero{max-width:860px;margin-bottom:24px}.lab-hero p:not(.section-kicker){color:var(--muted);margin-top:16px}.lab-stack{gap:18px;display:grid}.routing-lab,.tcp-lab,.hash-tool,.fs-lab,.subnet-tool{background:#ffffffb8;border:1px solid #1018281c;border-radius:8px;gap:16px;padding:24px;display:grid;box-shadow:0 18px 56px #2131471a}.routing-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.protocol-toggle{border:1px solid var(--line);background:#1018280d;border-radius:8px;grid-template-columns:repeat(2,1fr);min-width:170px;padding:4px;display:inline-grid}.protocol-toggle button,.routing-toolbar>button,.link-toggles button{min-height:40px;color:var(--heading);cursor:pointer;background:0 0;border-radius:8px;font-weight:900}.protocol-toggle button.active{color:#fff;background:var(--heading)}.link-toggles{flex-wrap:wrap;flex:420px;justify-content:center;gap:8px;display:flex}.link-toggles button{border:1px solid var(--line);background:#1018280a;padding:0 10px}.link-toggles button.failed{color:#fff;background:var(--coral);border-color:#0000}.link-toggles button.clear-link{background:#10182814;min-width:64px}.link-toggles button:disabled{cursor:not-allowed;opacity:.44}.routing-toolbar>button{color:#fff;background:var(--heading);padding:0 14px}.routing-board{border:1px solid var(--line);background-color:#ffffff57;background-image:linear-gradient(#1018280b 1px,#0000 1px),linear-gradient(90deg,#1018280b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:8px;min-height:380px;position:relative;overflow:hidden}.routing-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.routing-lines line{stroke:#10182857;stroke-width:1.6px;stroke-linecap:round;vector-effect:non-scaling-stroke}.routing-lines line.active{stroke:var(--teal);stroke-width:3.2px;stroke-dasharray:5 5;animation:1s linear infinite route-flow}.routing-lines line.failed{stroke:var(--coral);stroke-width:2px;stroke-dasharray:2 5}.router-node{width:92px;min-height:66px;color:var(--heading);background:#ffffffc7;border:2px solid #10182824;border-radius:8px;place-items:center;padding:9px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 28px #21314721}.router-node strong{font:950 1.15rem/1 var(--mono)}.router-node span{color:var(--muted);font-size:.72rem}.router-node.packet{border-color:var(--teal);box-shadow:0 0 0 8px #0d94881f,0 10px 28px #21314721}.router-node.packet:after{content:"";background:var(--teal);border-radius:50%;width:14px;height:14px;position:absolute;top:-7px;right:-7px}.route-packet{left:var(--from-x);top:var(--from-y);z-index:2;color:#fff;background:var(--blue);min-width:58px;font-family:var(--mono);text-align:center;pointer-events:none;border-radius:999px;padding:6px 9px;font-size:.68rem;font-weight:950;animation:1.15s ease-in-out both route-packet-move;position:absolute;transform:translate(-50%,-50%);box-shadow:0 12px 30px #356bd847}.ack-packet{background:var(--violet);animation-delay:.22s;box-shadow:0 12px 30px #7357d842}.control-packet{background:var(--amber);animation-duration:1.45s;box-shadow:0 12px 30px #d8891c42}.local-packet{background:var(--coral);min-width:72px;animation:1.25s ease-in-out both local-control-pulse;box-shadow:0 0 #df654f57}.routing-readout,.mini-table{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.routing-readout div,.mini-table div{border:1px solid var(--line);background:#1018280a;border-radius:8px;padding:14px}.routing-readout span,.mini-table span,.routing-readout strong,.mini-table strong,.mini-table small{display:block}.routing-readout span,.mini-table span{color:var(--muted);font-family:var(--mono);font-size:.72rem}.routing-readout strong,.mini-table strong{color:var(--heading);overflow-wrap:anywhere;margin-top:5px}.mini-table{grid-template-columns:repeat(4,1fr)}.mini-table small{color:var(--muted);font-family:var(--mono);margin-top:4px}.bgp-table{grid-template-columns:repeat(3,1fr)}.muted-row{opacity:.42}.route-editor-grid{grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:10px;display:grid}.route-editor,.route-events div{border:1px solid var(--line);background:#1018280a;border-radius:8px;padding:14px}.editor-head,.fs-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.editor-head span,.route-events span,.cost-grid span,.bgp-edit-row span,.fs-controls span,.fs-card-head span,.fs-stats span{color:var(--muted);font-family:var(--mono);font-size:.72rem}.editor-head strong,.fs-card-head strong{color:var(--heading)}.editor-head button{border:1px solid var(--line);min-height:34px;color:var(--heading);cursor:pointer;background:#1018280d;border-radius:8px;padding:0 10px;font-weight:900}.cost-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.cost-grid label,.bgp-edit-row label,.fs-controls label{gap:5px;display:grid}.cost-grid input,.bgp-edit-row input,.fs-controls input{border:1px solid var(--line);min-width:0;min-height:38px;color:var(--heading);background:var(--surface);font:.9rem var(--mono);border-radius:8px;padding:8px 10px}.bgp-editor-grid{gap:8px;margin-top:12px;display:grid}.bgp-edit-row{grid-template-columns:50px 72px 72px minmax(140px,1fr);align-items:end;gap:8px;display:grid}.bgp-edit-row>strong{color:var(--heading);font-family:var(--mono);align-self:center}.route-events,.decision-timeline{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.decision-timeline div{border:1px solid var(--line);background:#1018280a;border-radius:8px;min-width:0;padding:13px;position:relative;overflow:hidden}.decision-timeline div:before{content:"";background:0 0;width:4px;position:absolute;inset:0 auto 0 0}.decision-timeline div.active{background:#0d94881a;border-color:#0d948875}.decision-timeline div.active:before{background:var(--teal)}.decision-timeline span,.decision-timeline em,.decision-timeline small{color:var(--muted);font-family:var(--mono);font-size:.72rem;display:block}.decision-timeline em{color:#fff;background:var(--amber);border-radius:999px;width:fit-content;margin-top:7px;padding:3px 7px;font-style:normal;font-weight:950;display:inline-flex}.decision-timeline strong{color:var(--heading);overflow-wrap:anywhere;margin-top:4px;font-size:.88rem;line-height:1.3;display:block}.decision-timeline small{margin-top:5px}.route-events strong{color:var(--heading);overflow-wrap:anywhere;font-family:var(--mono);margin-top:4px;font-size:.8rem;display:block}.lab-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.lab-card-head span,.tcp-readout span,.tcp-history span,.tcp-history small,.hash-output span,.hash-mini-grid span,.fs-block-buttons button{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:.72rem}.lab-card-head strong,.tcp-readout strong,.hash-output strong,.hash-mini-grid strong{color:var(--heading);display:block}.lab-card-head strong{margin-top:3px;font-size:1.16rem}.tcp-controls,.algo-row{flex-wrap:wrap;gap:8px;display:flex}.tcp-controls button,.algo-row button{border:1px solid var(--line);min-height:38px;color:var(--heading);cursor:pointer;background:#1018280a;border-radius:8px;padding:0 12px;font-weight:900}.tcp-controls button.active,.algo-row button.active{color:#fff;background:var(--heading)}.tcp-track{border:1px solid var(--line);background:linear-gradient(90deg,#0d948814,#0000 35% 65%,#356bd814),#1018280a;border-radius:8px;grid-template-columns:minmax(118px,.72fr) minmax(220px,1.4fr) minmax(118px,.72fr);align-items:center;gap:14px;min-height:190px;display:grid;position:relative;overflow:hidden}.tcp-track:before{content:"";background:repeating-linear-gradient(90deg, var(--teal) 0 8px, transparent 8px 16px);opacity:.62;height:2px;position:absolute;top:50%;left:16%;right:16%}.tcp-endpoint{z-index:1;border:1px solid var(--line);text-align:center;background:#ffffff94;border-radius:8px;place-items:center;gap:6px;min-height:118px;margin:14px;display:grid;position:relative}.tcp-endpoint.active{border-color:var(--teal);box-shadow:0 0 0 8px #0d94881c}.tcp-endpoint svg{color:var(--teal)}.tcp-endpoint strong{color:var(--heading)}.tcp-endpoint span{color:var(--muted);font-family:var(--mono);font-size:.72rem}.tcp-wire{min-height:120px;position:relative}.tcp-packet{z-index:2;color:#fff;background:var(--blue);min-width:72px;font-family:var(--mono);text-align:center;border-radius:999px;padding:7px 10px;font-size:.74rem;font-weight:950;animation:1.55s ease-in-out both tcp-forward;position:absolute;top:50%;left:4%;transform:translate(-50%,-50%);box-shadow:0 12px 30px #356bd842}.tcp-packet.reverse{background:var(--violet);animation-name:tcp-reverse;left:auto;right:4%;transform:translate(50%,-50%);box-shadow:0 12px 30px #7357d840}.tcp-readout{border:1px solid var(--line);background:#1018280a;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.tcp-readout strong{font-family:var(--mono)}.tcp-history{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.tcp-history div{border:1px solid var(--line);background:#1018280a;border-radius:8px;min-width:0;padding:12px}.tcp-history strong,.tcp-history small{display:block}.tcp-history strong{color:var(--heading);font-family:var(--mono);margin-top:5px}.tcp-history small{overflow-wrap:anywhere;margin-top:3px}.hash-tool textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:112px;color:var(--heading);background:var(--surface);font:1rem/1.55 var(--mono);border-radius:8px;padding:12px}.hash-output{border:1px solid var(--line);background:#1018280a;border-radius:8px;padding:14px}.hash-output strong{overflow-wrap:anywhere;font-family:var(--mono);margin-top:6px;font-size:.88rem}.hash-mini-grid{grid-template-columns:.55fr 1fr 1fr;gap:10px;display:grid}.hash-mini-grid div{border:1px solid var(--line);background:#1018280a;border-radius:8px;min-width:0;padding:14px}.hash-mini-grid strong{overflow-wrap:anywhere;font-family:var(--mono);margin-top:6px;font-size:.9rem}.fs-block-buttons{flex-wrap:wrap;gap:8px;display:flex}.fs-presets{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.fs-lab-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.fs-block-buttons button{border:1px solid var(--line);cursor:pointer;background:#1018280a;border-radius:8px;min-height:36px;padding:0 11px;font-weight:950}.fs-presets button{border:1px solid var(--line);min-height:36px;color:var(--heading);cursor:pointer;background:#1018280a;border-radius:8px;padding:0 11px;font-weight:900}.fs-block-buttons button.active{color:#fff;background:var(--heading)}.fs-best{background:#0d94881a;border:1px solid #0d94885c;border-radius:8px;align-content:center;min-height:42px;padding:6px 12px;display:inline-grid}.fs-best span,.fs-total span,.fs-legend span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:.72rem}.fs-best strong{color:var(--heading);font-family:var(--mono)}.fs-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fs-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.fs-card{border:1px solid var(--line);background:#1018280a;border-radius:8px;min-width:0;padding:14px}.fs-total{justify-content:space-between;align-items:end;gap:10px;margin-top:12px;display:flex}.fs-total strong{color:var(--heading);font-family:var(--mono);font-size:1.15rem;line-height:1.2}.fs-meter{background:#10182814;border-radius:999px;height:18px;margin-top:12px;display:flex;overflow:hidden}.fs-meter span{min-width:0}.fs-meter .data,.fs-legend .data:before{background:var(--teal)}.fs-meter .slack,.fs-legend .slack:before{background:var(--amber)}.fs-meter .meta,.fs-legend .meta:before{background:var(--blue)}.fs-bar{grid-template-columns:repeat(12,1fr);gap:3px;margin-top:12px;display:grid}.fs-bar span{aspect-ratio:1;background:#1018281a;border-radius:3px}.fs-bar .data{background:var(--teal)}.fs-bar .slack{background:var(--amber)}.fs-bar .meta{background:var(--blue)}.fs-stats{gap:4px;margin-top:12px;display:grid}.fs-legend{flex-wrap:wrap;gap:12px;display:flex}.fs-legend span{align-items:center;gap:6px;display:inline-flex}.fs-legend span:before{content:"";border-radius:3px;width:10px;height:10px}.firewall-controls{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;display:grid}.firewall-controls button,.rule-strip button{border:1px solid var(--line);min-height:40px;color:var(--heading);cursor:pointer;background:#1018280a;border-radius:8px;font-weight:900}.firewall-controls button.active{color:#fff;background:var(--heading)}.firewall-track{border:1px solid var(--line);background:linear-gradient(90deg,#0000 49.7%,#1018281f 50%,#0000 50.3%),#1018280a;border-radius:8px;grid-template-columns:1fr 120px 1fr;align-items:center;gap:14px;min-height:180px;display:grid;position:relative;overflow:hidden}.zone,.firewall-box{border:1px solid var(--line);background:#ffffff85;border-radius:8px;place-items:center;min-height:104px;margin:14px;display:grid}.zone span,.firewall-box span{color:var(--muted);font-family:var(--mono);font-size:.72rem}.zone strong,.firewall-box strong{color:var(--heading)}.firewall-box svg{color:var(--teal)}.firewall-track.deny .firewall-box svg,.firewall-track.deny .firewall-box span{color:var(--coral)}.packet-dot{color:#fff;background:var(--teal);min-width:58px;font-family:var(--mono);text-align:center;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:950;animation:1.2s ease-in-out both packet-allow;position:absolute;top:50%;left:16%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #0d948840}.firewall-track.deny .packet-dot{background:var(--coral);animation-name:packet-deny;box-shadow:0 10px 30px #df654f40}.rule-strip{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.rule-strip button{text-align:left;opacity:.52;gap:4px;min-height:74px;padding:10px;display:grid}.rule-strip button.enabled{opacity:1}.rule-strip span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:.7rem}.rule-strip .allow span{color:var(--teal)}.rule-strip .deny span{color:var(--coral)}.subnet-tool label{color:var(--heading);font-weight:950}.cidr-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.cidr-row input{border:1px solid var(--line);min-height:48px;color:var(--heading);background:var(--surface);font:1rem var(--mono);border-radius:8px;padding:10px 12px}.cidr-row button{color:#fff;background:var(--heading);cursor:pointer;border-radius:8px;min-height:48px;padding:0 16px;font-weight:950}.subnet-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.subnet-cell{border:1px solid var(--line);background:#1018280a;border-radius:8px;min-height:108px;padding:16px}.subnet-cell span,.subnet-cell strong{display:block}.subnet-cell span{color:var(--muted);font-family:var(--mono);font-size:.75rem}.subnet-cell strong{color:var(--heading);overflow-wrap:anywhere;font-family:var(--mono);margin-top:8px;font-size:1.08rem}.lab-error{color:var(--coral);background:#df654f14;border:1px solid #df654f52;border-radius:8px;padding:14px}.blog-hero{grid-template-columns:minmax(0,1fr) minmax(220px,360px);align-items:end;gap:24px;margin-bottom:24px;display:grid}.blog-hero p:not(.section-kicker),.blog-status{color:var(--muted)}.blog-status{border:1px solid var(--line);background:#ffffff94;border-radius:8px;padding:14px;font-size:.92rem}.blog-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:18px;display:grid}.post-list{gap:14px;display:grid}.blog-post,.blog-admin{background:#ffffffb8;border:1px solid #1018281c;border-radius:8px;box-shadow:0 18px 56px #2131471a}.blog-post{padding:24px;position:relative}.blog-post div{color:var(--muted);font-family:var(--mono);flex-wrap:wrap;gap:10px;font-size:.76rem;display:flex}.blog-post h3{color:var(--heading);margin-top:12px;font-size:1.55rem;line-height:1.18}.post-summary{color:var(--teal);margin-top:10px;font-weight:850}.post-body{color:var(--text);white-space:pre-wrap;margin-top:14px}.delete-post{min-height:38px;color:var(--coral);cursor:pointer;background:#df654f14;border:1px solid #df654f59;border-radius:8px;margin-top:18px;padding:0 12px;font-weight:900}.empty-post{align-content:center;min-height:220px;display:grid}.blog-admin{padding:18px;position:sticky;top:24px}.admin-heading{color:var(--heading);align-items:center;gap:8px;margin-bottom:14px;display:flex}.blog-admin form{gap:10px;display:grid}.blog-admin form+form,.blog-admin form+.ghost-button{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.blog-admin label{color:var(--heading);font-weight:850}.blog-admin input,.blog-admin textarea,.board-composer textarea{border:1px solid var(--line);color:var(--heading);background:var(--surface);font:inherit;border-radius:8px;padding:10px}.blog-admin textarea{resize:vertical;min-height:180px}.blog-admin button,.ghost-button{color:#fff;background:var(--heading);cursor:pointer;border-radius:8px;min-height:42px;font-weight:950}.blog-admin .ghost-button{border:1px solid var(--line);width:100%;color:var(--heading);background:0 0;margin-top:10px}.board-section{width:min(1120px,100%)}.board-status{max-width:430px;color:var(--muted);text-align:right;font-size:.92rem}.board-canvas{cursor:crosshair;background-color:#ffffff80;background-image:linear-gradient(#1018280b 1px,#0000 1px),linear-gradient(90deg,#1018280b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:660px;position:relative;overflow:hidden}.board-note,.board-composer{max-width:min(260px,86vw);position:absolute;transform:translate(-50%,-50%)}.board-note{color:#101828d6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;background:#ffffff7a;border:1px solid #10182814;border-radius:8px;min-width:70px;padding:7px 9px;animation:.24s both detail-enter;box-shadow:0 8px 24px #1c2b401a}.board-note p{overflow-wrap:anywhere;font-weight:780;line-height:1.45}.board-note time{color:#2f3a4a7a;font-family:var(--mono);margin-top:3px;font-size:.68rem;display:block}.board-composer{z-index:2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;gap:8px;width:260px;padding:12px;display:grid}.board-composer label{color:var(--heading);align-items:center;gap:6px;font-weight:950;display:inline-flex}.board-composer textarea{resize:vertical;min-height:86px}.board-composer button{color:#fff;background:var(--heading);border-radius:8px;min-height:40px;font-weight:950}.site-footer{border-top:1px solid var(--line);width:min(1080px,100%);color:var(--muted);justify-content:space-between;gap:24px;margin:34px auto 0;padding:24px 0 12px;display:flex}.site-footer strong,.site-footer span{display:block}.site-footer strong{color:var(--heading)}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:14px;display:flex}.footer-links span{align-items:center;gap:6px;display:inline-flex}@media (width<=960px){.app-frame{display:block}.site-header{z-index:20;border-right:0;border-bottom:1px solid var(--line);height:auto;min-height:66px;padding:12px;position:sticky}.menu-button{display:inline-grid}.side-note,.site-nav{display:none}.site-nav.open{display:grid}.page-stage{padding:16px}.home-workspace,.topic-section,.join-section,.blog-hero,.blog-layout,.subnet-grid,.hash-mini-grid,.fs-grid,.fs-controls,.routing-readout,.mini-table,.route-editor-grid,.decision-timeline,.route-events,.tcp-history,.firewall-controls,.rule-strip,.activity-grid,.project-grid,.cidr-row{grid-template-columns:1fr}.link-toggles,.fs-presets{justify-content:flex-start}.firewall-track,.tcp-track{grid-template-columns:1fr}.tcp-track:before{left:14px;right:14px}.bgp-edit-row{grid-template-columns:1fr}.packet-dot{top:36%}.quick-grid,.live-panel{grid-area:auto}.home-copy,.visual-console,.visual-console img{min-height:360px}.metric-grid{grid-template-columns:1fr}.metric{border-right:0;border-bottom:1px solid var(--line)}.metric:last-child{border-bottom:0}.section-heading{display:grid}.board-status{text-align:left;max-width:none}.blog-admin{position:static}.site-footer{display:block}.footer-links{justify-content:flex-start;margin-top:18px}}@media (width<=560px){.hero-actions{display:grid}.primary-action,.secondary-action{width:100%}.activity-card,.project-card{min-height:auto}.topic-detail{display:block}.join-section{padding:28px}.board-canvas{min-height:700px}.board-composer{width:min(260px,100vw - 64px)}}@keyframes view-enter{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes detail-enter{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes topic-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes live-pulse{70%{box-shadow:0 0 0 10px #0d948800}to{box-shadow:0 0 #0d948800}}@keyframes route-flow{to{stroke-dashoffset:-20px}}@keyframes route-packet-move{0%{left:var(--from-x);top:var(--from-y);opacity:0}16%{opacity:1}to{left:var(--to-x);top:var(--to-y);opacity:1}}@keyframes local-control-pulse{0%{left:var(--from-x);top:var(--from-y);opacity:0;transform:translate(-50%,-50%)scale(.86)}24%{opacity:1}70%{transform:translate(-50%,-50%)scale(1);box-shadow:0 0 0 16px #df654f00}to{left:var(--from-x);top:var(--from-y);opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes tcp-forward{0%{opacity:0;left:4%}18%{opacity:1}to{opacity:1;left:96%}}@keyframes tcp-reverse{0%{opacity:0;right:4%}18%{opacity:1}to{opacity:1;right:96%}}@keyframes packet-allow{0%{opacity:0;left:16%}18%{opacity:1}50%{left:50%}to{opacity:1;left:84%}}@keyframes packet-deny{0%{opacity:0;left:16%}18%{opacity:1}68%{opacity:1;left:50%}to{opacity:.18;left:50%}}@media (prefers-color-scheme:dark){.site-shell{background:linear-gradient(90deg, #ffffff0b 1px, transparent 1px), linear-gradient(#ffffff09 1px, transparent 1px), radial-gradient(circle at 80% 10%, #35d0bd24, transparent 26rem), radial-gradient(circle at 6% 82%, #ff947f1f, transparent 24rem), var(--bg);background-size:44px 44px,44px 44px,auto,auto,auto}.site-header,.home-copy,.live-panel,.routing-lab,.tcp-lab,.hash-tool,.fs-lab,.firewall-lab,.subnet-tool,.activity-card,.project-card,.topic-panel,.topic-detail,.join-section,.blog-post,.blog-admin,.blog-status,.board-canvas,.board-composer,.side-note,.topic-copy,.view-label{box-shadow:var(--shadow);background:#151c26c2;border-color:#e2e8f021}.brand-mark,.primary-action,.site-nav button.active,.board-composer button,.blog-admin button{color:#0d1219;background:var(--heading)}.site-nav button:hover,.icon-button,.topic-tabs button{background:#ffffff14}.secondary-action,.join-actions a,.link-toggles button,.tcp-controls button,.algo-row button,.fs-block-buttons button,.fs-presets button,.editor-head button,.firewall-controls button,.rule-strip button,.hash-tool textarea,.cost-grid input,.bgp-edit-row input,.fs-controls input,.cidr-row input,.blog-admin input,.blog-admin textarea,.board-composer textarea{color:var(--heading);background:#ffffff0f}.quick-grid button:first-child{background:#35d0bd24}.quick-grid button:nth-child(2){background:#84a9ff24}.quick-grid button:nth-child(3){background:#ff947f24}.board-note{color:#f8fafcdb;background:#ffffff14}.subnet-cell,.routing-board,.router-node,.tcp-track,.tcp-endpoint,.tcp-readout,.tcp-history div,.hash-output,.hash-mini-grid div,.route-editor,.decision-timeline div,.route-events div,.fs-card,.fs-best,.zone,.firewall-box,.routing-readout div,.mini-table div{background:#ffffff0f}.routing-lines line{stroke:#e2e8f033}.routing-lines line.active{stroke:var(--teal)}.protocol-toggle button.active,.routing-toolbar>button,.link-toggles button.failed,.tcp-controls button.active,.algo-row button.active,.fs-block-buttons button.active,.topic-tabs button.active,.cidr-row button,.firewall-controls button.active{color:#0d1219;background:var(--heading)}.link-toggles button.failed{background:var(--coral)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
