:root{--rl-night: #0d2433;--rl-deep: #123246;--rl-steel: #1c4659;--rl-dot: #5b93a3;--rl-pin: #ff7a45;--rl-sky: #bfd9e0;--rl-paper: #f3f7f7;--rl-line: #d3dfe2;--rl-ink: #12262f;--rl-muted: #4d636d;--rl-teal: #0f6e78;--rl-teal-dark: #0b565e;--rl-warn-bg: #fff3ea;--rl-warn: #a43f12;--rl-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--primary: #0f6e78;--primary-dark: #0b565e;--border: #d3dfe2;--surface: #ffffff;--shadow-soft: 0 10px 26px rgba(13, 36, 51, 0.08);--surface-muted: #f3f7f7;--text-main: #12262f;--text-muted: #4d636d;}
.rl-chart{margin: 8px 0 56px;border-radius: 20px;overflow: hidden;border: 1px solid var(--rl-line);background: #fff;box-shadow: var(--shadow-soft);color: var(--rl-ink);}
.rl-stage{display: grid;grid-template-columns: minmax(0, 1fr) 340px;background: var(--rl-night);color: #fff;}
.rl-map{padding: 20px;display: flex;align-items: center;min-width: 0;}
.rl-map svg{display: block;width: 100%;height: auto;}
.rl-land{fill: none;stroke: var(--rl-dot);stroke-width: 1.2;stroke-linecap: round;stroke-dasharray: 0 2;}
.rl-pin{fill: var(--rl-pin);fill-opacity: 0.55;stroke: #fff;stroke-width: 0.35;cursor: pointer;}
.rl-pin.is-on{fill-opacity: 1;stroke-width: 0.8;}
.rl-center-mark{fill: none;stroke: #fff;stroke-width: 0.7;stroke-dasharray: 1.2 1;}
.rl-readout{background: var(--rl-deep);padding: 22px 22px 20px;min-width: 0;}
.rl-readout.is-new{animation: rl-in 0.28s ease-out;}
@keyframes rl-in{from{opacity: 0.35;}to{opacity: 1;}}
.rl-eyebrow{margin: 0 0 4px;font-size: 12px;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--rl-sky);}
.rl-place{margin: 0 0 10px;font-size: 28px;font-weight: 800;line-height: 1.15;color: #fff;}
.rl-coords{margin: 0;font-family: var(--rl-mono);font-size: 18px;font-weight: 700;color: var(--rl-pin);word-break: break-word;}
.rl-dms{margin: 2px 0 14px;font-family: var(--rl-mono);font-size: 13px;color: var(--rl-sky);}
.rl-facts{margin: 0 0 16px;}
.rl-facts div{padding: 8px 0;border-top: 1px solid var(--rl-steel);}
.rl-facts div[hidden]{display: none;}
.rl-facts dt{font-size: 12px;font-weight: 600;color: var(--rl-sky);}
.rl-facts dd{margin: 0;font-size: 14px;color: #fff;}
.rl-links{display: flex;flex-wrap: wrap;gap: 8px;}
.rl-links a,.rl-links button{padding: 7px 12px;border-radius: 8px;border: 1px solid var(--rl-sky);background: transparent;color: #fff;font-size: 13px;font-weight: 600;text-decoration: none;cursor: pointer;}
.rl-links a:hover,.rl-links button:hover{background: #fff;color: var(--rl-night);}
.rl-console{padding: 20px 22px;background: var(--rl-paper);border-bottom: 1px solid var(--rl-line);}
.rl-tabs{display: inline-flex;margin-bottom: 16px;padding: 3px;border-radius: 10px;background: #dde8ea;}
.rl-tabs label{margin: 0;cursor: pointer;position: relative;}
.rl-tabs input{position: absolute;opacity: 0;}
.rl-tabs span{display: block;padding: 7px 14px;border-radius: 8px;font-size: 14px;font-weight: 700;color: var(--rl-muted);}
.rl-tabs input:checked + span{background: var(--rl-night);color: #fff;}
.rl-tabs input:focus-visible + span,.rl-chips input:focus-visible + span{outline: 2px solid var(--rl-teal);outline-offset: 2px;}
.rl-grid{display: grid;grid-template-columns: auto minmax(0, 1fr) 230px 190px;gap: 18px 24px;align-items: start;}
.rl-grid.is-around{grid-template-columns: auto minmax(0, 1fr) 200px 190px;}
.rl-group{border: 0;margin: 0;padding: 0;min-width: 0;}
.rl-group[hidden]{display: none;}
.rl-group legend,.rl-legend{float: none;display: block;width: auto;padding: 0;margin: 0 0 7px;font-size: 12px;font-weight: 700;letter-spacing: 0.05em;text-transform: uppercase;color: var(--rl-muted);}
.rl-group.is-locked .rl-chips{opacity: 0.45;pointer-events: none;}
.rl-chips{display: flex;flex-wrap: wrap;gap: 6px;}
.rl-chips label{margin: 0;cursor: pointer;position: relative;}
.rl-chips input{position: absolute;opacity: 0;}
.rl-chips span{display: block;padding: 6px 11px;border-radius: 8px;background: #fff;border: 1px solid var(--rl-line);font-size: 13px;font-weight: 600;color: var(--rl-ink);}
.rl-chips label:hover span{border-color: var(--rl-teal);}
.rl-chips input:checked + span{background: var(--rl-teal);border-color: var(--rl-teal);color: #fff;}
.rl-console select,.rl-console input[type="text"],.rl-console input[type="number"]{width: 100%;min-width: 0;padding: 8px 10px;border: 1px solid var(--rl-line);border-radius: 8px;background: #fff;font-size: 14px;color: var(--rl-ink);}
.rl-console select:focus,.rl-console input:focus{outline: 2px solid var(--rl-teal);outline-offset: 1px;}
.rl-check{display: flex;align-items: center;gap: 7px;margin: 9px 0 0;font-size: 13px;font-weight: 600;cursor: pointer;}
.rl-check input{width: 16px;height: 16px;accent-color: var(--rl-teal);}
.rl-sample{margin-top: 8px;padding: 5px 10px;border: 1px solid var(--rl-line);border-radius: 8px;background: #fff;font-size: 13px;font-weight: 600;color: var(--rl-teal-dark);cursor: pointer;}
.rl-sample:hover{border-color: var(--rl-teal);}
.rl-radius{display: grid;grid-template-columns: minmax(0, 1fr) 72px;gap: 6px;}
.rl-go-row{display: grid;grid-template-columns: 64px minmax(0, 1fr);gap: 6px;}
.rl-go-row button{padding: 8px 10px;border: 0;border-radius: 8px;background: var(--rl-pin);color: var(--rl-night);font-size: 15px;font-weight: 800;cursor: pointer;white-space: nowrap;}
.rl-go-row button:hover{background: #ff9266;}
.rl-go-row button:disabled{opacity: 0.6;cursor: wait;}
.rl-status{min-height: 20px;margin: 12px 0 0;font-size: 14px;color: var(--rl-muted);}
.rl-status.is-error{color: var(--rl-warn);font-weight: 600;}
.rl-batch{padding: 18px 22px 16px;}
.rl-batch-head{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: 10px;margin-bottom: 10px;}
.rl-batch-head h2{margin: 0;font-size: 18px;font-weight: 800;}
.rl-export{display: flex;flex-wrap: wrap;align-items: center;gap: 6px;font-size: 13px;color: var(--rl-muted);}
.rl-export button{padding: 5px 10px;border: 1px solid var(--rl-line);border-radius: 8px;background: #fff;font-size: 13px;font-weight: 600;color: var(--rl-teal-dark);cursor: pointer;}
.rl-export button:hover{border-color: var(--rl-teal);}
.rl-export button.is-done{background: var(--rl-teal);border-color: var(--rl-teal);color: #fff;}
.rl-list{display: grid;grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));gap: 6px 10px;margin: 0 0 14px;padding: 0;list-style: none;counter-reset: rl;}
.rl-list li{counter-increment: rl;min-width: 0;}
.rl-list button{display: grid;grid-template-columns: 26px auto minmax(0, 1fr);gap: 8px;align-items: baseline;width: 100%;padding: 7px 9px;border: 1px solid transparent;border-radius: 8px;background: var(--rl-paper);text-align: left;color: var(--rl-ink);cursor: pointer;}
.rl-list button::before{content: counter(rl);font-size: 12px;font-weight: 700;color: var(--rl-muted);}
.rl-list button:hover{border-color: var(--rl-teal);}
.rl-list button[aria-current="true"]{background: #fff;border-color: var(--rl-pin);}
.rl-list-coords{font-family: var(--rl-mono);font-size: 13px;white-space: nowrap;}
.rl-list-place{font-size: 13px;font-weight: 600;color: var(--rl-muted);overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.rl-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 6px 16px;padding-top: 12px;border-top: 1px solid var(--rl-line);font-size: 13px;color: var(--rl-muted);}
.rl-read{margin: 0 auto 48px;color: var(--rl-ink);font-size: 16px;line-height: 1.7;}
.rl-read h2,.rl-limits h2{margin: 0 0 12px;font-size: 28px;font-weight: 800;line-height: 1.2;color: var(--rl-night);}
.rl-read h3{margin: 22px 0 8px;font-size: 19px;font-weight: 700;color: var(--rl-night);}
.rl-read a,.rl-limits a{color: var(--rl-teal-dark);font-weight: 600;}
.rl-read code,.rl-limits code{font-family: var(--rl-mono);font-size: 0.92em;color: var(--rl-teal-dark);}
.rl-table-wrap{overflow-x: auto;margin: 16px 0;border: 1px solid var(--rl-line);border-radius: 12px;}
.rl-table{width: 100%;min-width: 520px;border-collapse: collapse;font-size: 15px;}
.rl-table th,.rl-table td{padding: 10px 14px;text-align: left;border-bottom: 1px solid var(--rl-line);}
.rl-table thead th{background: var(--rl-night);color: #fff;font-size: 13px;font-weight: 700;}
.rl-table tbody th{font-weight: 600;}
.rl-table tbody tr:last-child th,.rl-table tbody tr:last-child td{border-bottom: 0;}
.rl-code{margin: 14px 0;padding: 14px 16px;border-radius: 12px;background: var(--rl-night);overflow-x: auto;}
.rl-code code{color: #fff;font-size: 14px;}
.rl-odds{margin: 18px 0;padding: 0;list-style: none;}
.rl-odds li{display: grid;grid-template-columns: 130px minmax(0, 1fr) 52px 64px;gap: 10px;align-items: center;padding: 6px 0;border-bottom: 1px solid var(--rl-line);font-size: 15px;}
.rl-odds-name{font-weight: 600;}
.rl-odds-bar{display: block;height: 10px;border-radius: 5px;background: var(--rl-paper);overflow: hidden;}
.rl-odds-bar span{display: block;height: 100%;background: var(--rl-teal);}
.rl-odds-share{text-align: right;font-weight: 700;}
.rl-odds-one{text-align: right;font-size: 13px;color: var(--rl-muted);}
.rl-steps{padding-left: 22px;}
.rl-steps li{margin-bottom: 6px;}
.rl-warn{padding: 14px 16px;border-left: 4px solid var(--rl-warn);border-radius: 0 10px 10px 0;background: var(--rl-warn-bg);}
.rl-jobs{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 14px;margin-top: 14px;}
.rl-jobs div{padding: 16px 18px;border: 1px solid var(--rl-line);border-radius: 12px;background: #fff;}
.rl-jobs h3{margin: 0 0 6px;font-size: 17px;}
.rl-jobs p{margin: 0;font-size: 15px;line-height: 1.6;}
.rl-limits{margin: 0 auto 48px;padding: 26px 28px;border-radius: 16px;background: var(--rl-night);color: #fff;font-size: 15px;line-height: 1.65;}
.rl-limits h2{color: #fff;}
.rl-limits ul{margin: 0;padding-left: 20px;}
.rl-limits li{margin-bottom: 9px;}
.rl-limits a{color: var(--rl-pin);}
@media (max-width: 1100px){.rl-stage{grid-template-columns: minmax(0, 1fr);}.rl-grid,.rl-grid.is-around{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 640px){.rl-map{padding: 12px;}.rl-readout{padding: 18px 16px;}.rl-console,.rl-batch{padding-left: 16px;padding-right: 16px;}.rl-grid,.rl-grid.is-around{grid-template-columns: minmax(0, 1fr);}.rl-tabs{display: flex;}.rl-tabs label{flex: 1;text-align: center;}.rl-list{grid-template-columns: minmax(0, 1fr);}.rl-jobs{grid-template-columns: minmax(0, 1fr);}.rl-odds li{grid-template-columns: 96px minmax(0, 1fr) 48px;}.rl-odds-one{display: none;}.rl-read h2,.rl-limits h2{font-size: 24px;}.rl-limits{padding: 20px 18px;}}
@media (prefers-reduced-motion: reduce){.rl-readout.is-new{animation: none;}}