:root{color:#f4f8ff;font-synthesis:none;text-rendering:optimizelegibility;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050b14;--panel:#0d1626;--line:#1c2b45;--line-soft:#243555;--text:#f4f8ff;--muted:#8d9ab0;--accent:#30a6ff;background:#050b14;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);min-width:320px;min-height:100%;color:var(--text);margin:0}body{background:radial-gradient(700px 320px at 85% 0,#30a6ff1c,#0000 55%),radial-gradient(580px 260px at 0 100%,#4b6eff14,#0000 50%),linear-gradient(#040912 0%,#06101d 100%);min-height:100svh}button,input,select,textarea{font:inherit}button{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.dropzone:focus-within{outline-offset:2px;outline:2px solid #6ab8ff}.app{width:min(100%,860px);padding:calc(12px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.brand-logo img{object-fit:contain;filter:drop-shadow(0 0 18px #29a6ff24);width:auto;height:54px;display:block}.pro-badge{border:1px solid var(--line);color:#a6b4ca;background:#0d1626b8;border-radius:999px;padding:8px 12px;font-size:12px;line-height:1}.runtime-stack{align-items:center;gap:8px;display:flex}.health-dot{background:#7c8798;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #7c87981a}.health-dot.ok{background:#48d597;box-shadow:0 0 0 4px #48d5971a}.tabs-wrap{scrollbar-width:none;overflow-x:auto}.tabs-wrap::-webkit-scrollbar{display:none}.tabs{align-items:flex-end;gap:8px;min-width:max-content;padding:0 2px;display:flex}.tab{min-height:45px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px 12px 0 0;padding:12px 17px 11px;font-size:15px;font-weight:650;transition:all .15s}.tab:hover{color:var(--text)}.tab.active{border-color:var(--line);color:var(--text);background:linear-gradient(#10233f 0%,#0d1626 100%);box-shadow:0 10px 22px #00000029}.workspace{border:1px solid var(--line);background:linear-gradient(#0c1524fa 0%,#08101dfa 100%);border-radius:0 18px 18px;min-height:420px;margin-top:-1px;padding:20px 18px 18px}.panel{display:none}.panel.active{display:block}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:750}h1{letter-spacing:-.55px;margin:0 0 8px;font-size:24px;font-weight:720;line-height:1.12}.desc{max-width:620px;color:var(--muted);margin:0 0 18px;font-size:14px;line-height:1.55}.layout{grid-template-columns:1.15fr .85fr;gap:14px;display:grid}.card{border:1px solid var(--line);background:linear-gradient(#0d1626f2,#09111ef2);border-radius:16px;padding:16px}.card-title{margin:0 0 14px;font-size:15px;font-weight:700}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field.full{grid-column:1/-1}.nested-fields{border:1px solid #2435558c;border-radius:13px;padding:10px}.compact-grid{margin-top:10px}.field>span{color:#a6b4ca;font-size:12px}input,select,textarea{border:1px solid var(--line-soft);width:100%;min-height:45px;color:var(--text);background:#0a1322;border-radius:12px;outline:none;padding:12px 13px}input::placeholder,textarea::placeholder{color:#62728b}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.crs-pair{gap:10px;display:grid;position:relative}.crs-field{gap:7px}.crs-select{border:1px solid var(--line-soft);width:100%;min-height:62px;color:var(--text);text-align:left;cursor:pointer;background:#0a1322;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.crs-select:disabled{opacity:.7;cursor:not-allowed}.crs-select-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.crs-select-copy strong,.crs-select-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.crs-select-copy strong{font-size:14px}.crs-select-copy small{color:#8190a7;font-size:11px}.crs-chevron{color:var(--accent);font-size:26px;line-height:1}.swap-btn{z-index:1;color:#bce1ff;cursor:pointer;background:#10233f;border:1px solid #315078;border-radius:50%;width:40px;height:40px;margin:-15px auto;font-size:20px;position:relative;box-shadow:0 6px 16px #0000003d}.swap-btn:disabled{color:#65758d;cursor:not-allowed;background:#0a1322}.crs-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#02070ec7;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.crs-sheet{border:1px solid var(--line-soft);background:linear-gradient(#0e192b,#08111f);border-radius:20px;flex-direction:column;width:min(620px,100%);max-height:min(760px,100svh - 36px);padding:18px;display:flex;overflow:hidden;box-shadow:0 24px 80px #00000085}.crs-sheet-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.crs-sheet-head h2{margin:0 0 14px;font-size:20px}.icon-btn{border:1px solid var(--line-soft);color:#b8c7dc;cursor:pointer;background:#0a1322;border-radius:12px;flex:none;width:40px;height:40px;font-size:23px}.search-field{display:block}.crs-list{overscroll-behavior:contain;min-height:160px;margin-top:12px;padding-right:3px;overflow-y:auto}.crs-group+.crs-group{margin-top:18px}.crs-group h3{color:#8090a8;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:11px}.crs-option{color:#eef6ff;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 12px;display:flex}.crs-option:hover,.crs-option.selected{background:#0d1d33;border-color:#29456c}.crs-option>span{flex-direction:column;gap:4px;min-width:0;display:flex}.crs-option strong,.crs-option small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.crs-option strong{font-size:13px}.crs-option small,.crs-option code{color:#7f90aa;font-size:11px}.crs-option code{flex:none}.crs-option.future{color:#718097;cursor:not-allowed;opacity:.8}.coordinate-input{margin-top:16px}.coordinate-input textarea{resize:vertical;min-height:190px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.6}.input-help{color:#718198;margin-top:8px;font-size:11px;line-height:1.5}.parse-summary{color:#9fe5c6;background:#48d5970d;border:1px solid #48d5973d;border-radius:11px;gap:16px;margin-top:12px;padding:10px 12px;font-size:12px;display:flex}.parse-summary.has-errors{color:#ffabab;background:#ff6b6b0d;border-color:#ff6b6b47}.parse-errors{color:#ffabab;margin:8px 0 0;padding:0 0 0 18px;font-size:11px;line-height:1.5}.recognized-preview{border:1px solid var(--line);background:#050b1433;border-radius:12px;gap:7px;margin-top:10px;padding:11px 12px;font-size:11px;display:grid}.preview-heading{color:#8ea0b9;font-weight:650}.recognized-preview>div:not(.preview-heading){justify-content:space-between;gap:12px;display:flex}.recognized-preview span,.recognized-preview small{color:#8292a9}.preview-more{width:100%;color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 0 0;font-size:12px}.result-summary{color:#b8c7dc;flex-direction:column;gap:4px;font-size:13px;display:flex}.result-summary strong{color:#9fe5c6}.result-summary span{color:#72839b;font-size:11px}.result-table{border:1px solid var(--line);border-radius:12px;margin-top:12px}.result-table table{min-width:390px}.result-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.result-actions .btn{min-height:40px;padding:9px 11px;font-size:12px}.select-status{border:1px solid var(--line-soft);color:#8090a8;background:#0a1322;border-radius:12px;min-height:45px;padding:12px 13px;font-size:13px}.btn-row{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.btn{border:1px solid var(--line-soft);color:#f5f9ff;cursor:pointer;background:#10233f;border-radius:12px;min-height:45px;padding:12px 16px;font-weight:650}.btn.secondary{color:#b8c7dc;background:#0b1424}.btn:disabled{color:#6f809a;cursor:not-allowed;opacity:.72;background:#0a1322}.hint,.axis-hint{color:#6f809a;font-size:12px;line-height:1.5}.error{color:#ff9d9d!important}.hint{margin-top:12px}.axis-hint{margin:-1px 0 0}.mode-group{margin-top:12px;display:none}.mode-group.active{display:grid}.result-card{min-width:0}.dropzone{color:#92a2ba;text-align:center;cursor:pointer;background:linear-gradient(#050b142e,#050b140a);border:1px dashed #2b3e62;border-radius:14px;place-items:center;min-height:110px;padding:22px 16px;font-size:14px;display:grid;position:relative;overflow:hidden}.dropzone input{opacity:0;width:1px;height:1px;position:absolute}.chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chip{border:1px solid var(--line-soft);color:#a8b7cd;background:#0a1322;border-radius:999px;padding:7px 10px;font-size:12px}.empty-state{color:#8494ad;text-align:center;border:1px dashed #2b3e62;border-radius:14px;padding:20px;font-size:14px;line-height:1.5}.result-empty{place-items:center;min-height:180px;display:grid}.result-values{color:#dceaff;text-align:left;flex-direction:column;gap:10px;width:100%;display:flex}.result-values strong{color:var(--accent)}.file-layout{grid-template-columns:.9fr 1.1fr}.file-meta{color:#b4c2d7;overflow-wrap:anywhere;margin-top:12px;font-size:12px}.mapping-grid{margin-top:12px}.preview-card,.notice{margin-top:14px}.notice{border:1px solid var(--line);color:#b9c8dc;background:#0a1322;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.5}.notice.success{color:#9fe5c6;border-color:#48d5974d}.notice.error{border-color:#ff6b6b4d}.table-scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:480px;font-size:12px}th,td{border-bottom:1px solid var(--line);color:#aebcd1;text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:220px;padding:9px 10px;overflow:hidden}th{color:#d8e5f8;background:#0a1322}.point-list{flex-direction:column;gap:8px;display:flex}.point-row{border:1px solid var(--line);background:#0a1322;border-radius:12px;min-width:0;display:flex}.point-row.selected{border-color:#30a6ffb8}.point-main{color:#a7b7cc;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:4px;min-width:0;padding:11px 12px;display:flex}.point-main strong{color:#edf5ff;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.point-main span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.delete-btn{border:0;border-left:1px solid var(--line);color:#aab8ca;cursor:pointer;background:0 0;width:44px}@media (width<=760px){.layout,.file-layout{grid-template-columns:1fr}}@media (width<=430px){.brand-logo img{height:42px}.tab{padding:11px 14px 10px;font-size:14px}.form-grid{grid-template-columns:1fr}.compact-grid{grid-template-columns:1fr 1fr}.workspace{padding:18px 14px 16px}h1{font-size:22px}.crs-overlay{place-items:end center;padding:0}.crs-sheet{width:100%;max-height:calc(100svh - 10px);padding:16px 14px calc(14px + env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:20px 20px 0 0}.coordinate-input textarea{min-height:210px}.result-actions .btn{flex:calc(50% - 8px)}}@media (width<=350px){.app{padding-inline:9px}.workspace{padding-inline:10px}.card{padding:13px}.compact-grid{grid-template-columns:1fr}}@media (height<=500px) and (orientation:landscape){.brand-logo img{height:36px}.workspace{padding-top:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}
