.rnl,.rnl-gps{--rnl-acc:#0b6e8f;--rnl-dk:#0f2a3d;--rnl-line:#e1e7ec;--rnl-mut:#5b6b77;--rnl-ok:#1f9d55;color:#0f2a3d}
.rnl-top{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;margin:0 0 .8rem}
.rnl-live{display:inline-flex;align-items:center;gap:.45rem;background:var(--rnl-dk);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .75rem;border-radius:999px}
.rnl-live i{width:9px;height:9px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 0 rgba(61,220,132,.7);animation:rnlp 1.8s infinite}
@keyframes rnlp{70%{box-shadow:0 0 0 8px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.rnl-stat{color:var(--rnl-mut);font-size:.92rem}
.rnl-wrap{display:grid;grid-template-columns:1fr;gap:1rem}
.rnl--list .rnl-wrap{grid-template-columns:minmax(0,1fr) 280px}
.rnl-map{border-radius:14px;overflow:hidden;border:1px solid var(--rnl-line);box-shadow:0 4px 18px rgba(15,42,61,.08);z-index:0}
.rnl-side{background:#fff;border:1px solid var(--rnl-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;max-height:var(--rnl-h,600px)}
.rnl-side-h{background:var(--rnl-dk);color:#fff;font-weight:700;padding:.7rem 1rem}
.rnl-list{list-style:none;margin:0;padding:0;overflow:auto}
.rnl-list li{border-bottom:1px solid var(--rnl-line);margin:0}
.rnl-list li>button,.rnl-list li>span{all:unset;box-sizing:border-box;display:flex;gap:.6rem;align-items:center;width:100%;padding:.6rem 1rem;cursor:default}
.rnl-list li>button{cursor:pointer}
.rnl-list li>button:hover,.rnl-list li>button:focus-visible{background:rgba(11,110,143,.08)}
.rnl-list i{flex:0 0 10px;height:10px;border-radius:50%;background:#c4ccd3}
.rnl-list li.on i{background:var(--rnl-ok)}
.rnl-list b{display:block;font-size:.95rem}
.rnl-list small{display:block;color:var(--rnl-mut);font-size:.78rem}
.rnl-list li.off{opacity:.65}
.rnl-note{color:var(--rnl-mut);font-size:.8rem;margin:.7rem 0 0}
.rnl-icon{background:none;border:0}
.rnl-boat{position:relative;width:26px;height:26px}
.rnl-arrow{display:block;width:26px;height:26px;transition:transform .6s}
.rnl-arrow svg{fill:var(--rnl-acc);stroke:#fff;stroke-width:1.6;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.rnl-boat.is-ms .rnl-arrow svg{fill:#d9822b}
.rnl-boat:not(.is-moving) .rnl-arrow svg{fill:#5b6b77}
.rnl-boat b{position:absolute;left:30px;top:3px;white-space:nowrap;background:rgba(255,255,255,.92);color:#0f2a3d;font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.rnl-pop{min-width:180px;font-size:13px}
.rnl-pop-t{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#0b6e8f;font-weight:700}
.rnl-pop strong{display:block;font-size:16px;margin:2px 0 6px}
.rnl-pop dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0 0 8px}
.rnl-pop dt{color:#5b6b77}.rnl-pop dd{margin:0;font-weight:600}
.rnl-gps{max-width:520px;background:#fff;border:1px solid var(--rnl-line);border-radius:16px;padding:1.4rem;box-shadow:0 4px 18px rgba(15,42,61,.07)}
.rnl-gps label{display:block;font-weight:700;margin:0 0 .35rem}
.rnl-gps select{width:100%;padding:.75em;border:1px solid #cdd7de;border-radius:8px;font-size:1rem;margin:0 0 1rem}
html:root body .rnl-gps .rnl-go{all:unset;box-sizing:border-box;display:block;width:100%;text-align:center;background:var(--rnl-ok);color:#fff;font-weight:800;font-size:1.1rem;padding:1rem;border-radius:12px;cursor:pointer}
html:root body .rnl-gps .rnl-go.stop{background:#b3261e}
html:root body .rnl-gps .rnl-go::before,html:root body .rnl-gps .rnl-go::after{content:none;display:none}
.rnl-gps-stat{margin:1rem 0;padding:.8rem 1rem;border-radius:10px;background:#f3f6f8;font-weight:600}
.rnl-gps-stat.on{background:#e8f6ee;color:#17663a}
.rnl-gps-stat.err{background:#fcefee;color:#b3261e}
.rnl-gps-data{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;margin:0}
.rnl-gps-data dt{color:var(--rnl-mut)}.rnl-gps-data dd{margin:0;font-weight:600}
.rnl-gps-note{color:var(--rnl-mut);font-size:.85rem;margin:1rem 0 0}
@media(max-width:820px){.rnl--list .rnl-wrap{grid-template-columns:1fr}.rnl-side{max-height:320px}}
