/* K8SEC Tetragon research workbench. Static architecture stays legible without JavaScript. */
.tg-workbench{margin:1.8rem 0 2.4rem;padding:clamp(1rem,2.4vw,1.6rem);border:1px solid #41526b;border-top:3px solid #22d3ee;border-radius:12px;background:#0b1424;color:#dbe7f3;min-width:0}
.tg-workbench h2{margin:.3rem 0 1rem!important;padding:0!important;border:0!important;color:#f8fafc!important}
.tg-workbench h3{color:#67e8f9!important;margin:1.3rem 0 .5rem}
.tg-workbench p,.tg-workbench li,.tg-workbench dd{line-height:1.65}
.tg-kicker{font:700 .7rem/1.5 'JetBrains Mono',Consolas,monospace;letter-spacing:.13em;color:#67e8f9;text-transform:uppercase}
.tg-note{border-left:3px solid #f59e0b;background:#172032;padding:.8rem 1rem;margin:1rem 0;color:#f8e9c8}
.tg-architecture{margin:1.3rem 0;padding:1rem;border:1px solid #46566d;border-radius:9px;background:#091120}
.tg-architecture figcaption{font-weight:700;color:#e2e8f0;margin-bottom:1rem}
.tg-plane-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;align-items:stretch}
.tg-plane{border:1px solid #52647e;border-radius:7px;background:#101d30;padding:.85rem;min-width:0}
.tg-plane b{display:block;color:#a5f3fc;font:700 .73rem/1.5 'JetBrains Mono',Consolas,monospace;text-transform:uppercase;margin-bottom:.4rem}
.tg-plane span{display:block;font-size:.88rem;line-height:1.55}
.tg-plane em{display:block;font-style:normal;color:#c4b5fd;font-size:.75rem;line-height:1.5;margin-top:.55rem}
.tg-join{margin:.75rem auto 0;padding:.8rem 1rem;max-width:49rem;border:1px dashed #a78bfa;border-radius:7px;color:#e9d5ff;text-align:center;font-size:.86rem}
.tg-legend{margin:.6rem 0 0;color:#aebed0;font-size:.76rem}
.tg-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.tg-controls button{cursor:pointer;border:1px solid #64748b;border-radius:6px;background:#101d30;color:#e2e8f0;padding:.55rem .75rem;font:700 .76rem/1.35 'JetBrains Mono',Consolas,monospace}
.tg-controls button[aria-pressed="true"]{border-color:#22d3ee;background:#123447;color:#a5f3fc}
.tg-controls button:focus-visible,.tg-workbench a:focus-visible,.tg-workbench pre:focus-visible{outline:3px solid #fbbf24;outline-offset:3px}
.tg-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0}
.tg-step{position:relative;border:1px solid #5e718d;border-radius:7px;padding:.75rem;background:#111e31;min-height:9.2rem;min-width:0}
.tg-step:not(:last-child)::after{content:"→";position:absolute;right:-.56rem;top:42%;z-index:1;color:#67e8f9;background:#0b1424;padding:0 .12rem}
.tg-step b{display:block;color:#67e8f9;font:.7rem/1.5 'JetBrains Mono',Consolas,monospace;margin-bottom:.35rem}
.tg-step [data-tg-label]{display:block;font-weight:700;font-size:.89rem;line-height:1.42}
.tg-step [data-tg-state]{display:block;color:#b6c8d9;font-size:.75rem;line-height:1.45;margin-top:.45rem}
.tg-step.is-uncertain{border-style:dashed;border-color:#d8ab64}
.tg-step.is-denied{border-color:#f87171}
.tg-panel{border:1px solid #43546d;border-radius:8px;background:#101b2b;padding:1rem;margin:0 0 .8rem}
.tg-panel[hidden]{display:none}
.tg-panel h4{margin:0 0 .4rem;color:#fff;font-size:1rem}
.tg-panel dl{display:grid;grid-template-columns:minmax(7rem,.28fr) minmax(0,1fr);gap:.35rem .85rem;margin:.7rem 0}
.tg-panel dt{color:#a5f3fc;font:700 .72rem/1.5 'JetBrains Mono',Consolas,monospace;text-transform:uppercase}
.tg-panel dd{margin:0;color:#d3dfeb;font-size:.85rem}
.tg-table-wrap{overflow-x:auto;max-width:100%;border:1px solid #46566d;border-radius:8px}
.tg-matrix{border-collapse:collapse;width:100%;min-width:650px;font-size:.8rem}
.tg-matrix th,.tg-matrix td{border-bottom:1px solid #3b4b60;padding:.7rem;text-align:left;vertical-align:top}
.tg-matrix th{background:#14243a;color:#a5f3fc}
.tg-matrix tr:last-child td{border-bottom:0}
.tg-workbench code{overflow-wrap:anywhere}
.tg-workbench pre{overflow-x:auto;padding:1rem;border:1px solid #46566d;border-radius:7px;background:#070f1d;font-size:.78rem;line-height:1.55}
.tg-source-list{font-size:.78rem}
@media(max-width:880px){.tg-plane-grid{grid-template-columns:1fr}.tg-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.tg-step:nth-child(2)::after{content:"";display:none}}
@media(max-width:520px){.tg-flow{grid-template-columns:1fr}.tg-step{min-height:0}.tg-step:not(:last-child)::after{content:"↓";right:auto;left:48%;top:auto;bottom:-.62rem}.tg-panel dl{grid-template-columns:1fr}.tg-panel dd{margin-bottom:.55rem}}
@media(prefers-reduced-motion:reduce){.tg-workbench *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.tg-controls{display:none}.tg-panel[hidden]{display:block}.tg-workbench{break-inside:avoid}}
