:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#f5f6f8;background:#101216;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header{display:flex;align-items:center;gap:13px;padding:15px max(18px,env(safe-area-inset-right));border-bottom:1px solid #30343b}header img{width:42px;height:42px;border-radius:11px}h1{font-size:1.45rem;line-height:1.1;margin:0}header p{margin:4px 0 0;color:#adb5bf;font-size:.78rem}main{max-width:900px;margin:auto;padding:18px 16px calc(22px + env(safe-area-inset-bottom))}.status-line{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#b8c0c9;font-size:.88rem;margin-bottom:10px}#live:before{content:'● ';color:#ed3948}.map-shell{position:relative}#map{width:100%;height:min(55vh,520px);min-height:300px;border-radius:18px;background:#292d33;z-index:0}button{border:0;border-radius:12px;background:#ec3948;color:#fff;font:600 .94rem system-ui;padding:12px 17px;cursor:pointer}button:disabled{opacity:.43;cursor:default}.subtle{background:#31363d}#centerMap{position:absolute;right:12px;top:12px;z-index:401;background:#101216}#status{min-height:1.4em;color:#cbd0d5;font-size:.9rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.card{border:1px solid #363b42;border-radius:16px;padding:16px;background:#21252b}.card.wide{grid-column:span 1}.label{display:block;font-size:.82rem;color:#aab1b9;margin-bottom:8px}.card strong{font-size:1.18rem;overflow-wrap:anywhere}h2{font-size:1.08rem;margin:0 0 12px}.options{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.options label{display:grid;gap:6px;font-size:.83rem;color:#bac2ca}.options input,.options select{font:inherit;color:#fff;background:#101216;border:1px solid #555e68;border-radius:8px;padding:10px;max-width:min(100%,340px)}.options input[type=number]{width:155px}.hint{font-size:.84rem;line-height:1.5;color:#adb5bf}.actions{display:flex;gap:10px;margin:16px 0}.station-label-icon{background:none;border:0}.station-label{display:block;width:max-content;padding:2px 5px;border-radius:5px;background:#101216;color:#fff;border:1px solid #ed3948;font:700 11px system-ui}.leaflet-tooltip.alignment-pin-label{background:#101216;color:#fff;border:1px solid #ed3948;border-radius:8px;box-shadow:none;font:650 12px system-ui;white-space:nowrap;padding:5px 8px}.leaflet-tooltip-left.alignment-pin-label:before{border-left-color:#ed3948}.leaflet-tooltip-right.alignment-pin-label:before{border-right-color:#ed3948}.position-marker{display:block;border-radius:50%;width:20px;height:20px;background:#ed3948;border:4px solid #fff;box-shadow:0 0 0 3px #101216}@media(max-width:650px){.card.wide{grid-column:span 2}#map{height:44vh}.card strong{font-size:1.06rem}.station-card,.offset-card{padding:12px}.station-card strong,.offset-card strong{font-size:.98rem}}
.share-preview{display:block;width:100%;min-height:125px;resize:vertical;background:#21252b;color:#fff;border:1px solid #555e68;border-radius:10px;padding:10px;font:inherit;line-height:1.5;margin:8px 0 16px}
.target-section{margin:16px 0}.target-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.target-values>div{border:1px solid #363b42;background:#181c21;border-radius:12px;padding:12px}.target-values strong{font-size:1.08rem;overflow-wrap:anywhere}.target-marker{display:block;width:22px;height:22px;border-radius:50%;border:4px solid #72d7ff;background:#101216;box-shadow:0 0 0 2px #101216}.target-marker-icon{background:none;border:0}
.points-section{margin:16px 0}.selected-point{border-top:1px solid #363b42;margin-top:14px;padding-top:14px}.selected-point>strong,.selected-point>span{display:block;margin-bottom:8px}.selected-point .target-values{grid-template-columns:1fr}.survey-popup-distance{font-size:1.1rem;font-weight:700;margin-top:5px}
.survey-number-icon{display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:#101216;color:#fff;border:1px solid #f7c85e;border-radius:5px;box-shadow:0 1px 4px #10121688;font:700 11px system-ui;white-space:nowrap;pointer-events:none}
.point-toggle{display:flex;align-items:center;gap:9px;margin:12px 0;color:#f5f6f8;font-size:.9rem;cursor:pointer}.point-toggle input{width:18px;height:18px;margin:0;accent-color:#ed3948}
.selected-point .actions{flex-wrap:wrap}.survey-popup-route{font-size:.86rem;margin-top:6px}.survey-popup-action{display:block;font-size:.8rem;padding:7px 10px;margin-top:9px}.points-section a{color:#72d7ff}
details.card{margin:16px 0}details.card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;font-size:1.08rem;font-weight:700}details.card>summary::-webkit-details-marker{display:none}details.card>summary:after{content:'▾';color:#ed3948;font-size:1.2rem}details.card[open]>summary{margin-bottom:14px}details.card[open]>summary:after{transform:rotate(180deg)}details.card>summary:focus-visible{outline:2px solid #ed3948;outline-offset:5px;border-radius:4px}
.boundary-section{margin:16px 0}.boundary-section .hint{overflow-wrap:anywhere}
.privacy-link a{color:#ff5060;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.header-title{min-width:0;flex:1}.language-switch{display:flex;gap:4px;margin-left:auto;flex-shrink:0}.language-switch button{display:flex;align-items:center;gap:4px;padding:6px;border:1px solid #454b54;border-radius:8px;background:#21252b;color:#fff;font-size:.77rem;white-space:nowrap}.language-switch button[aria-pressed=true]{border-color:#ed3948;background:#3a252c}.language-switch img{width:19px;height:13px;border-radius:1px}@media(max-width:390px){header{gap:8px;padding-left:12px;padding-right:12px}.language-switch button{padding:4px;gap:2px}.language-switch img{width:16px;height:11px}header p{font-size:.69rem}}
.options .file-field{position:relative;max-width:100%}.file-picker{display:flex;align-items:center;gap:10px;max-width:100%;flex-wrap:wrap}.file-button{display:inline-block;border:1px solid #555e68;border-radius:8px;background:#31363d;color:#fff;padding:10px 12px;font-weight:600;cursor:pointer}.file-name{color:#bac2ca;max-width:250px;overflow-wrap:anywhere}.file-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;opacity:0;overflow:hidden}.file-field:focus-within .file-button{outline:2px solid #ed3948;outline-offset:2px}

.location-actions{justify-content:center}.location-actions>button{min-width:150px}@media(max-width:650px){.location-actions{justify-content:space-between}.location-actions>button{min-width:0;flex:1}}
