:root{--ct-bg:#041b2b;--ct-panel:#07273b;--ct-line:#1c536b;--ct-text:#e9f6ff;--ct-muted:#9fc0d1;--ct-accent:#13d6d0;--ct-blue:#18aeea;--ct-ok:#32e599;--ct-warn:#ffbd3b;--ct-bad:#ff6b74}
*{box-sizing:border-box}
.ct-page{max-width:none;margin:0;padding:0 14px 18px;background:radial-gradient(circle at 50% 0,#0a3850 0,#041b2b 45%);color:var(--ct-text);min-height:100vh;overflow-x:hidden}
.ct-hero{display:flex;align-items:center;gap:22px;padding:14px 6px;border-bottom:1px solid var(--ct-line)}
.ct-hero h1{font-size:27px;margin:0;color:#fff}
.ct-hero p{margin:3px 0;color:var(--ct-muted)}
.ct-project{margin-left:auto;min-width:250px}
.ct-project select{width:100%}
.ct-tabs,.ct-presets,.ct-actions,.ct-tools{display:flex;gap:8px;flex-wrap:wrap}
.ct-tabs{padding:10px 0}
.ct-tabs button,.ct-presets button,.ct-actions button,.ct-tools button{border:1px solid var(--ct-line);background:#092d43;color:var(--ct-text);padding:10px 16px;border-radius:7px;font-weight:700;cursor:pointer}
.ct-tabs button.active,.ct-presets button.active,.ct-actions .primary,.ct-tools button.active{background:linear-gradient(135deg,#0d829a,#08b9cb);border-color:var(--ct-accent)}
.ct-preset-row{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:-52px 0 10px;position:relative;z-index:2}
.ct-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(440px,1.9fr) minmax(260px,1fr);gap:10px}
.ct-grid>*,.ct-lower>*{min-width:0}
.ct-panel{background:linear-gradient(180deg,rgba(8,42,62,.97),rgba(5,30,46,.97));border:1px solid var(--ct-line);border-radius:9px;padding:12px;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.ct-panel h2,.ct-panel h3{margin:0 0 10px}
.ct-field{display:grid;gap:5px;margin:9px 0}
.ct-field label,.ct-kv dt{color:var(--ct-muted);font-size:13px}
.ct-field input,.ct-field select,.ct-panel select,.ct-panel textarea{width:100%;background:#0a3047;color:var(--ct-text);border:1px solid #28617b;border-radius:6px;padding:9px}
.ct-crs-list{max-height:170px;overflow:auto;border:1px solid var(--ct-line);border-radius:6px}
.ct-crs-list button{width:100%;text-align:left;background:transparent;color:var(--ct-text);border:0;border-bottom:1px solid rgba(56,113,139,.4);padding:8px;cursor:pointer}
.ct-crs-list button:hover{background:#0c3d58}
.ct-crs-tools button,.ct-map-tools button{padding:8px 10px;font-size:12px}
.ct-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px}
.ct-kv dd{margin:0;text-align:right}
.ct-map-wrap{position:relative;min-height:490px}
.ct-map{height:490px;background:#082334;border-radius:8px}
.ct-map-tools{position:absolute;z-index:500;top:52px;left:20px;max-width:calc(100% - 40px)}
.ct-crs-badges{position:absolute;z-index:510;top:18px;left:20px;display:flex;gap:8px;align-items:center}
.ct-badge{background:rgba(2,20,31,.9);border:1px solid var(--ct-accent);color:var(--ct-accent);padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700}
.ct-badge.alt{border-color:var(--ct-blue);color:var(--ct-blue)}
.ct-arrow{color:var(--ct-muted)}
.ct-tabs button.active{box-shadow:0 0 0 1px var(--ct-accent) inset}
.ct-map-status{position:absolute;z-index:500;bottom:9px;left:9px;right:9px;background:rgba(2,20,31,.88);padding:7px;border-radius:6px;font-size:12px}
.ct-swap{position:absolute;z-index:520;right:20px;top:14px;font-size:20px;width:40px;height:40px;border-radius:50%;border:1px solid var(--ct-accent);background:#092d43;color:var(--ct-accent);cursor:pointer}
.ct-result{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:18px;color:var(--ct-accent);padding:8px;background:#031a29;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere}
.ct-status{padding:7px 9px;border-radius:5px}
.ct-status.ok{color:var(--ct-ok);background:#07382e}
.ct-status.warn{color:var(--ct-warn);background:#443412}
.ct-status.error{color:#fff;background:#57232a}
.ct-lower{display:grid;grid-template-columns:2.2fr 1fr;gap:10px;margin-top:10px}
.ct-result-tabs{display:flex;gap:4px;border-bottom:1px solid var(--ct-line);overflow:auto}
.ct-result-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--ct-muted);padding:10px;white-space:nowrap}
.ct-result-tabs button.active{color:var(--ct-accent);border-color:var(--ct-accent)}
.ct-tabview{min-height:160px;overflow:auto;padding-top:10px}
.ct-table{width:100%;border-collapse:collapse;font-size:13px}
.ct-table th{background:#0a3047;color:var(--ct-accent)}
.ct-table th,.ct-table td{padding:7px;border:1px solid var(--ct-line);text-align:left}
.ct-drop{border:1px dashed #3d839f;padding:14px;text-align:center;border-radius:7px;display:block}
.ct-drop.active{border-color:var(--ct-accent);background:rgba(19,214,208,.12)}
.compact{grid-template-columns:1fr 1fr!important}
.ct-actions{position:sticky;bottom:0;margin-top:10px;padding:10px;background:rgba(3,23,36,.96);border-top:1px solid var(--ct-line);z-index:600}
.ct-actions .primary{margin-left:auto}
.ct-hidden{display:none!important}
.ct-seo{max-width:1100px;margin:28px auto;color:#c5dbe5}
.ct-count{font-size:12px;color:var(--ct-muted)}
@media(max-width:1100px){.ct-grid{grid-template-columns:1fr 1.6fr}.ct-target{grid-column:1/-1}.ct-preset-row{margin:0;justify-content:flex-start}.ct-lower{grid-template-columns:1fr}}
@media(max-width:720px){.ct-page{padding:0 8px 12px}.ct-hero{align-items:flex-start;flex-wrap:wrap}.ct-project{margin-left:0;width:100%}.ct-grid{grid-template-columns:1fr}.compact{grid-template-columns:1fr!important}.ct-map-wrap,.ct-map{height:370px;min-height:370px}.ct-tabs{overflow-x:auto;flex-wrap:nowrap}.ct-tabs button{white-space:nowrap}.ct-actions{overflow-x:auto;flex-wrap:nowrap}.ct-actions button{white-space:nowrap}.ct-hero h1{font-size:23px}.ct-result-tabs,.ct-tabview{max-width:100%;overflow-x:auto}.ct-tabview table{min-width:680px}.ct-map-tools{overflow-x:auto;flex-wrap:nowrap}.ct-map-tools button,.ct-map-tools select{flex:0 0 auto}.ct-swap{top:58px;right:12px}}
.ct-map-tools select{width:auto!important;min-width:120px;padding:7px}

.ct-head-links{display:flex;gap:14px}.ct-head-links a{color:var(--ct-accent);text-decoration:none;font-weight:700;font-size:13px}
.ct-inline{display:flex;align-items:center;gap:5px;background:#092d43;border:1px solid var(--ct-line);border-radius:7px;padding:6px 10px;font-size:12px;color:var(--ct-text)}
.ct-mini{font-size:11px;padding:3px 9px;margin-left:8px;border:1px solid var(--ct-line);background:#092d43;color:var(--ct-accent);border-radius:5px;cursor:pointer}
.ct-out-tools{display:flex;gap:8px;margin-bottom:8px}.ct-out-tools select{flex:1}
.ct-status.info{color:#9fd8ff;background:#0a3047}
.ct-legend,.ct-north{background:rgba(2,20,31,.9);color:#e9f6ff;padding:6px 9px;border-radius:6px;font-size:11px;border:1px solid #1c536b}
.ct-legend .dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#13d6d0;margin-right:5px}.ct-legend .dot.src{background:#18aeea}
.ct-north{text-align:center;font-size:13px;line-height:1.1}.ct-north span{display:block;color:#13d6d0}
.ct-tabview ol{padding-left:22px;line-height:1.7}
@media(max-width:720px){.ct-head-links{width:100%}.ct-out-tools{flex-direction:column}}
@media(max-width:720px){
.ct-map-wrap,.ct-map{height:460px;min-height:460px}
.ct-crs-badges{top:12px;left:12px;right:60px;flex-wrap:wrap}
.ct-map-tools{top:auto;bottom:40px;left:12px;right:12px;max-width:none;flex-wrap:wrap!important;overflow:visible!important;background:rgba(2,20,31,.85);padding:6px;border-radius:8px}
.ct-map-tools button,.ct-map-tools select,.ct-map-tools .ct-inline{flex:0 0 auto;font-size:11px;padding:6px 8px}
.ct-swap{top:10px;right:10px;width:38px;height:38px}
.ct-legend,.ct-north{display:none}
.ct-map-status{font-size:11px;bottom:4px}
}
