.ring-entry-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:8px 14px;margin:0 0 12px;padding:11px 14px;background:linear-gradient(160deg,rgba(29,48,64,.55),rgba(16,21,31,.7));border:1px solid rgba(86,182,194,.22);border-radius:10px}
.ring-entry-panel>header{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.ring-entry-kicker{color:var(--cyan,#56b6c2);font-size:10px;font-weight:700;letter-spacing:1.4px}
.ring-entry-panel>header strong{color:var(--text,#e0e0e0);font-size:13px}
.ring-entry-mode{display:grid;gap:5px;margin:0}
.ring-entry-mode div{display:grid;grid-template-columns:64px 1fr;gap:6px}
.ring-entry-mode dt{color:var(--muted,#7f848e);font-size:11px;text-transform:uppercase;letter-spacing:.6px}
.ring-entry-mode dd{margin:0;color:#d6d9df;font-size:12px;overflow-wrap:anywhere}
.ring-entry-mode .ring-entry-sessions dd{color:var(--amber,#f59e0b);font-weight:650}
.ring-entry-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
.ring-entry-doors li{display:grid;grid-template-columns:9px 1fr;gap:6px;align-items:start;padding:7px 8px;background:rgba(0,0,0,.2);border:1px solid var(--line,#2a2a2a);border-radius:7px}
.ring-entry-doors i{width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--red,#e06c75)}
.ring-entry-doors li.is-good i{background:var(--green,#98c379);box-shadow:0 0 6px rgba(152,195,121,.6)}
.ring-entry-doors li.is-warn i{background:var(--amber,#f59e0b)}
.ring-entry-doors b{display:block;color:var(--text,#e0e0e0);font-size:12px}
.ring-entry-doors span{display:block;color:#c9cbd0;font-size:11px}
.ring-entry-doors li.is-bad span{color:var(--red,#e06c75)}
.ring-entry-doors li.is-warn span{color:var(--amber,#f59e0b)}
.ring-entry-doors small{display:block;color:var(--muted,#7f848e);font-family:"JetBrains Mono",Monaco,Consolas,monospace;font-size:11px;overflow-wrap:anywhere}
.ring-entry-note{grid-column:1/-1;margin:0;color:var(--muted,#7f848e);font-size:11px;line-height:1.45}
.ring-entry-note code{color:var(--cyan,#56b6c2);font-size:11px}
.ring-entry-panel.is-unavailable{grid-template-columns:1fr}
.ring-entry-dns{fill:none;stroke:rgba(86,182,194,.32);stroke-width:1;stroke-dasharray:2 5}
.ring-entry-relay{fill:none;stroke:rgba(86,217,236,.75);stroke-width:1.6;stroke-dasharray:4 6;animation:ring-entry-flow 1.6s linear infinite}
.ring-entry-relay-label{fill:#9fdbe6;font-size:9px;font-weight:650}
.ring-entry-link{stroke:rgba(86,217,236,.6);stroke-width:1.4}
.ring-entry-tether{stroke:rgba(86,182,194,.45);stroke-width:1}
.ring-entry-cloudflare rect{fill:rgba(16,27,41,.94);stroke:#f38020;stroke-width:1.3}
.ring-entry-layer text{fill:#c9d4e2;font-size:9px}
.ring-entry-layer .ring-entry-title{fill:#edf5ff;font-size:9px;font-weight:750;letter-spacing:.5px}
.ring-entry-door rect,.ring-entry-router rect{fill:rgba(16,27,41,.95);stroke:rgba(86,182,194,.55);stroke-width:1}
.ring-entry-dot{fill:var(--red,#e06c75)}
.ring-entry-door.is-good .ring-entry-dot{fill:var(--green,#98c379)}
.ring-entry-door.is-warn .ring-entry-dot{fill:var(--amber,#f59e0b)}
.ring-entry-door.is-bad rect{stroke:rgba(224,108,117,.7)}
.ring-entry-door.is-warn rect{stroke:rgba(245,158,11,.7)}
.ring-entry-router .ring-entry-sessions{fill:var(--amber,#f59e0b);font-weight:700}
.ring-entry-mobile-sessions{margin:0;padding:7px 9px;border-top:1px solid var(--line,#2a2a2a);color:#c9cbd0;font-size:11px;line-height:1.4}
.ring-entry-mobile-sessions b{color:var(--amber,#f59e0b)}
.ring-topology-mobile article.is-entry-good>i{background:var(--green,#98c379);opacity:1}
.ring-topology-mobile article.is-entry-warn>i{background:var(--amber,#f59e0b);opacity:1}
.ring-topology-mobile article.is-entry-bad>i{background:var(--red,#e06c75);opacity:1}
@keyframes ring-entry-flow{to{stroke-dashoffset:-20}}
@media(max-width:884px){.ring-entry-panel{grid-template-columns:1fr}}
@media(max-width:600px){.ring-entry-doors{grid-template-columns:1fr}.ring-entry-panel{padding:10px}}
@media(prefers-reduced-motion:reduce){.ring-entry-relay{animation:none}}
.ring-entry-layer .ring-entry-pool{fill:#f8b26a;font-size:8.5px}
.ring-entry-relay-label{text-anchor:end}
