:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f4ef;--surface:#fcfcf8e0;--surface-strong:#fbfaf3;--border:#1e302a24;--ink:#12211c;--muted:#4a5f57;--accent:#0f6b61;--accent-soft:#0f6b6124;--danger:#a33929;--shadow:0 24px 60px #12211c1f;--radius:22px;--font-sans:"Avenir Next","Segoe UI",sans-serif}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);font-family:var(--font-sans);background:radial-gradient(circle at 0 0,#0f6b611f,#0000 28rem),linear-gradient(#f8faf5 0%,#eef3ea 100%);margin:0}body{min-height:100vh}a{color:inherit}button,input,select{font:inherit}.shell{grid-template-columns:26rem .5rem minmax(0,1fr);gap:1rem;height:100vh;min-height:100vh;padding:1rem;display:grid;overflow:hidden}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;gap:1rem;min-height:0;padding:1.1rem;display:flex}.sidebar-panel{height:calc(100vh - 2rem);min-height:calc(100vh - 2rem);max-height:calc(100vh - 2rem);overflow:hidden}.hero{flex-direction:column;gap:.55rem;display:flex}.hero h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.7rem,2.6vw,2.4rem)}.hero p,.muted,.field-hint,.badge-row{color:var(--muted)}.dropzone{background:linear-gradient(#0f6b6114,#ffffff8f);border:1.5px dashed #0f6b615c;border-radius:1.15rem;gap:.7rem;padding:1.1rem;display:grid}.dropzone[data-dragging=true]{border-color:var(--accent);background:linear-gradient(#0f6b6129,#ffffffb8)}.upload-actions{flex-wrap:wrap;gap:.75rem;display:flex}.button{appearance:none;background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:.8rem 1.1rem;font-weight:600}.button.secondary{color:var(--ink);background:#12211c14}.button:disabled{cursor:wait;opacity:.65}.stack{flex-direction:column;flex:1;gap:.9rem;min-height:0;padding-right:.25rem;display:flex;overflow:auto}.sidebar-resizer{cursor:col-resize;background:linear-gradient(#12211c14,#0f6b612e);border-radius:999px;align-self:stretch;width:.5rem;min-height:calc(100vh - 2rem)}.sidebar-resizer:hover{background:linear-gradient(#12211c24,#0f6b6147)}.status-card,.layer-card{border:1px solid var(--border);background:var(--surface-strong);border-radius:1rem;flex-direction:column;gap:.75rem;padding:.95rem 1rem;display:flex}.status-card strong{font-size:1.02rem}.badge-row{flex-wrap:wrap;gap:.5rem;font-size:.86rem;display:flex}.badge{background:#12211c0f;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem;display:inline-flex}.swatch{border:1px solid #12211c1f;border-radius:999px;width:.9rem;height:.9rem}.layer-head{grid-template-columns:auto 1fr auto;align-items:start;gap:.75rem;display:grid}.layer-meta{flex-direction:column;gap:.3rem;display:flex}.layer-title{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.layer-code{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.78rem}.layer-controls{align-items:center;gap:.45rem;display:flex}.toggle{appearance:none;border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:.4rem .72rem}.toggle[data-active=true]{background:var(--accent-soft);border-color:#0f6b6152}.toggle:disabled{cursor:not-allowed;opacity:.52}.entity-list{flex-direction:column;gap:.8rem;margin-top:.4rem;display:flex}.entity-group{flex-direction:column;gap:.45rem;display:flex}.entity-group-header{border-bottom:1px solid #12211c14;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.25rem;display:flex}.entity-item{background:#12211c0a;border-radius:.75rem;grid-template-columns:1fr auto;align-items:center;gap:.65rem;padding:.55rem .65rem;display:grid}.entity-actions{align-items:center;gap:.45rem;display:flex}.entity-toggle{grid-template-columns:auto 1fr;align-items:center;gap:.65rem;display:grid}.entity-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.icon-button{appearance:none;border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#fff;border-radius:.7rem;padding:.35rem .5rem;font-size:.8rem;font-weight:700}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#12211c61;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--border);background:var(--surface-strong);width:min(960px,100%);max-height:min(80vh,900px);box-shadow:var(--shadow);border-radius:1.1rem;flex-direction:column;gap:1rem;padding:1.1rem;display:flex}.modal-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.modal-head h2{margin:.2rem 0 0;font-size:1.15rem}.coord-table-wrap{border:1px solid #12211c14;border-radius:.9rem;overflow:auto}.coord-table{border-collapse:collapse;background:#fff;width:100%}.coord-table th,.coord-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #12211c14;padding:.7rem .8rem}.coord-table thead{background:#f5f7f2;position:sticky;top:0}.map-panel{height:calc(100vh - 2rem);min-height:calc(100vh - 2rem);padding:0;overflow:hidden}.map-frame{height:100%;min-height:100%;position:relative}.map-canvas{width:100%;height:100%;min-height:100%}.map-overlay{z-index:5;border:1px solid var(--border);max-width:24rem;box-shadow:var(--shadow);background:#fbfaf3eb;border-radius:1rem;padding:.9rem 1rem;position:absolute;bottom:1rem;left:1rem}.map-nav-controls{z-index:5;flex-direction:column;gap:.45rem;display:flex;position:absolute;top:1rem;left:1rem}.map-control-button{appearance:none;border:1px solid var(--border);min-width:4.25rem;color:var(--ink);cursor:pointer;box-shadow:var(--shadow);background:#fbfaf3f2;border-radius:.95rem;padding:.62rem .8rem}.map-control-button:disabled{cursor:not-allowed;opacity:.52}.map-toolbar{z-index:5;flex-wrap:wrap;gap:.5rem;max-width:min(32rem,100% - 2rem);display:flex;position:absolute;top:1rem;right:1rem}.error{color:var(--danger)}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1100px){.shell{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar-resizer{display:none}.sidebar-panel{height:auto;min-height:auto;max-height:none}.map-panel{height:auto}.map-panel,.map-canvas,.map-frame{min-height:68vh}}
