/* Network deck — local overrides on top of aurora */
.deck-back{position:fixed;top:24px;left:40px;font-family:var(--font-mono);font-size:12px;color:var(--text-3);text-decoration:none;letter-spacing:.06em;z-index:30}
.deck-back:hover{color:var(--accent)}

.viz{font-family:var(--font-mono);font-size:13px;line-height:1.7;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:18px;color:var(--text-1);white-space:pre;overflow:auto}
.code-block{font-family:var(--font-mono);font-size:14px;line-height:1.65;background:rgba(0,0,0,.45);border:1px solid var(--border);border-radius:12px;padding:18px 22px;color:#e8edff;overflow:auto;max-height:420px}
.code-block .k{color:#8ab4ff}
.code-block .s{color:#9ee6c0}
.code-block .c{color:#8a93b8;font-style:italic}

table.cmp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
table.cmp-table th, table.cmp-table td{padding:10px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
table.cmp-table th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-weight:600;background:var(--surface-2)}
table.cmp-table tr:hover td{background:rgba(255,255,255,.04)}
table.cmp-table td.mono{font-family:var(--font-mono);color:var(--accent)}

/* Layered stack */
.layers{display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:14px}
.layer{padding:14px 18px;border-radius:10px;border:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.layer .ln{font-weight:700}
.layer .pdu{font-size:12px;color:var(--text-3)}
.layer.app{background:linear-gradient(90deg,rgba(247,118,180,.20),rgba(247,118,180,.05));border-color:rgba(247,118,180,.4)}
.layer.tra{background:linear-gradient(90deg,rgba(187,154,247,.20),rgba(187,154,247,.05));border-color:rgba(187,154,247,.4)}
.layer.net{background:linear-gradient(90deg,rgba(122,162,247,.20),rgba(122,162,247,.05));border-color:rgba(122,162,247,.4)}
.layer.link{background:linear-gradient(90deg,rgba(125,207,255,.20),rgba(125,207,255,.05));border-color:rgba(125,207,255,.4)}
.layer.phy{background:linear-gradient(90deg,rgba(158,206,106,.20),rgba(158,206,106,.05));border-color:rgba(158,206,106,.4)}

/* packet bytes */
.packet{display:flex;flex-wrap:wrap;border:1.5px solid var(--border-strong);border-radius:8px;overflow:hidden;font-family:var(--font-mono);font-size:11.5px}
.packet div{padding:6px 10px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-2);min-width:60px;text-align:center;flex:1}
.packet div b{display:block;font-size:10px;letter-spacing:.06em;color:var(--accent);margin-bottom:2px}

.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;padding:12px 14px 12px 50px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;position:relative;font-size:14.5px}
.steps li::before{content:counter(s);position:absolute;left:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--bg);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:13px}

.h1.huge{font-size:96px;line-height:.98}
.label-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}

/* handshake arrow */
.flow{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center;font-family:var(--font-mono);font-size:13px}
.flow .lhs, .flow .rhs{padding:8px 14px;background:var(--surface-2);border-radius:6px;text-align:center;font-weight:600}
.flow .arr{padding:8px 16px;color:var(--accent);font-weight:600}
.flow .arr small{display:block;color:var(--text-3);font-weight:400;font-size:11px}
