:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#193a3b;background:#eef2ef;font-size:14px}*{box-sizing:border-box}body{margin:0}header{height:74px;background:#133d3e;color:#fff;display:flex;align-items:center;gap:24px;padding:0 25px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:650}.brand small{display:block;font-size:9px;letter-spacing:2.5px;color:#afcec5;margin-top:3px}.mark{display:grid;place-items:center;border:1px solid #bcd3bb;border-radius:50%;width:39px;height:39px;font-family:Georgia,serif;font-size:28px}#mode{margin-left:auto;color:#c9dbd4;font-size:12px}button,input,select,textarea{font:inherit}button{background:#fff;border:1px solid #cad5ce;border-radius:7px;padding:9px 12px;color:#224445;cursor:pointer}button:hover{background:#e4eee6}button:disabled{opacity:.45;cursor:default}button.primary,button.active,button[aria-pressed=true]{background:#14635a;color:white;border-color:#14635a}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d9a548;outline-offset:2px}#workspace{display:grid;grid-template-columns:345px 1fr;grid-template-rows:calc(100dvh - 143px) 69px}aside{background:#fff;border-right:1px solid #ced8d0;overflow:auto}.panelhead{padding:24px 22px 14px}h1{font-size:20px;font-weight:600;margin:0 0 10px}p{line-height:1.55;color:#647874}nav{display:flex;border-bottom:1px solid #dae2db;padding:0 20px 14px;gap:8px}section#selectionPanel,section#recordsPanel{padding:16px 22px}label{display:block;font-size:12px;font-weight:600;margin:14px 0 8px}input,select,textarea{width:100%;padding:9px;border:1px solid #c7d4cd;border-radius:5px;margin-top:5px;background:#fbfcfa;color:#163d3b}#record{margin-top:12px}#fields label span{display:block;color:#82948a;font-weight:400;font-size:10px}textarea{resize:vertical}main{position:relative;min-width:0;overflow:hidden;background:#eaf0e8}.mapbar{position:absolute;z-index:2;top:17px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#ffffffed;border:1px solid #dce4da;border-radius:10px;padding:13px 16px;box-shadow:0 3px 15px #183a3310}.mapbar strong{font-size:14px}.mapbar span{display:block;color:#73837a;font-size:11px;margin-top:3px}.mapbar button{font-size:12px;padding:7px 10px}#map{width:100%;height:100%;touch-action:none;display:block;background:radial-gradient(ellipse at 65% 70%,#f6f6e9,#e4ede4)}.track{fill:none;stroke:#46796f;stroke-width:2;vector-effect:non-scaling-stroke;cursor:pointer}.track.selected{stroke:#e49538;stroke-width:4}.node{fill:#fff;stroke:#37685e;stroke-width:1.2;vector-effect:non-scaling-stroke;cursor:pointer}.node.selected,.handle.selected{fill:#f2b74e;stroke:#774c16}.handle{fill:#fff;stroke:#b37832;stroke-width:1.4;vector-effect:non-scaling-stroke;cursor:crosshair}.mapnote{position:absolute;left:20px;bottom:120px;font-size:10px;color:#738176;background:#ffffffbc;padding:5px;border-radius:4px}.mapnote span{margin-left:10px}.tools{position:absolute;left:18px;right:18px;bottom:62px;display:flex;gap:6px;flex-wrap:wrap}.tools button{font-size:12px;box-shadow:0 2px 6px #173a3310}.issues{position:absolute;bottom:15px;left:18px;right:18px;background:#fff5dfe8;border:1px solid #e4cd96;border-radius:7px;padding:10px 14px;font-size:11px;color:#725525}footer{grid-column:1/-1;background:#fff;border-top:1px solid #d2ddd4;display:flex;align-items:center;gap:10px;padding:12px 22px}#message{flex:1;font-size:12px;max-height:42px;overflow:auto}#message.error{color:#a12c31}#pending{font-size:12px;color:#6d8175}.muted{font-size:11px}details{margin:10px 0;border-bottom:1px solid #e1e8e0;padding-bottom:10px}summary{cursor:pointer;font-size:12px;font-weight:600}pre{font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;color:#567167}#selected{font-size:12px;color:#a36822;margin-bottom:12px}#auth{padding:60px 20px}#authform{max-width:380px;margin:auto;background:#fff;border-radius:16px;padding:32px;box-shadow:0 15px 50px #173a3310}#authform button{width:100%;margin-top:16px}[hidden]{display:none!important}@media(max-width:850px){#workspace{grid-template-columns:280px 1fr}.mapbar{align-items:flex-start;flex-direction:column}.tools{bottom:83px}.issues{font-size:10px}.mapnote{display:none}footer{padding:10px;gap:5px}footer button{font-size:11px;padding:8px}#message{max-width:180px}}@media(max-width:600px){header{padding:0 12px;height:64px}.brand{font-size:17px}#workspace{grid-template-columns:1fr;grid-template-rows:55dvh auto auto}main{grid-row:1}aside{grid-row:2;max-height:50dvh}footer{grid-row:3;flex-wrap:wrap;position:sticky;bottom:0}.tools{bottom:60px;gap:3px}.tools button{font-size:10px;padding:5px}.mapbar{top:8px;left:8px;right:8px;padding:8px}.mapbar strong{font-size:12px}.issues{bottom:8px;padding:6px}#mode{font-size:10px}}
.creationtools{position:absolute;top:96px;left:18px;right:18px;display:flex;gap:5px;flex-wrap:wrap}.creationtools button{font-size:11px;padding:6px 9px}.selectionbox{fill:#dc9a3833;stroke:#b77b20;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}#attribution{position:absolute;right:18px;bottom:117px;background:#ffffffe8;padding:5px;font-size:10px}#attribution a{color:#225c57}dialog{border:1px solid #cad8cd;border-radius:14px;width:min(760px,94vw);max-height:90dvh;padding:26px;color:#193a3b}dialog::backdrop{background:#123b3b70}.dialoghead{display:flex;justify-content:space-between;align-items:center}.dialoghead h2{margin:0}#createFields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.builderrow{display:flex;align-items:center;gap:6px;margin-bottom:9px}.builderrow select{min-width:0}.builderrow button{flex-shrink:0;padding:7px}.evidencerow{flex-wrap:wrap}.evidencerow select:first-child{flex:2}.evidencerow select{flex:1}.evidencerow textarea{width:100%}#createError{color:#a12c31}#basemap{pointer-events:none;opacity:.72}#createForm h3{font-size:14px;margin-top:24px}#createForm p{font-size:12px}@media(max-width:600px){.creationtools{top:92px;left:8px;right:8px}.creationtools button{font-size:10px;padding:4px}#createFields{grid-template-columns:1fr}#attribution{bottom:145px;right:8px;font-size:9px}.builderrow{flex-wrap:wrap}}
#workspace.sidebar-collapsed{grid-template-columns:0 1fr}#workspace.sidebar-collapsed aside{visibility:hidden;overflow:hidden}#sidebarToggle{padding:7px 10px;font-size:12px}#selectionPanel h3{font-size:13px;margin-top:20px}.evidencecard{border:1px solid #d7e0d7;border-radius:8px;margin:12px 0;padding:12px;font-size:12px}.evidencecard p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;margin:6px 0}.evidencecard button{font-size:10px;margin:4px 4px 0 0;padding:6px}.evidencecard a{color:#14635a;overflow-wrap:anywhere}.evidencecard small{display:block;color:#879286;margin:5px 0}.relationheading{font-size:13px;margin-top:20px}@media(max-width:600px){#workspace.sidebar-collapsed{grid-template-columns:1fr;grid-template-rows:calc(100dvh - 140px) 0 auto}header{gap:8px}#sidebarToggle{font-size:10px;padding:5px}.brand{font-size:14px}.mark{display:none}}
@media(max-width:600px){.mapbar>div:last-child{display:flex;flex-wrap:wrap;gap:4px}.mapbar button{font-size:10px;padding:5px}.creationtools{top:140px}aside{min-width:0}#workspace{min-width:0}#recordsPanel select{max-width:100%}}
#layersPanel{position:absolute;right:18px;top:160px;z-index:5;width:min(320px,85%);max-height:60%;overflow:auto;background:#fff;border:1px solid #cfdbce;border-radius:10px;padding:18px;box-shadow:0 8px 30px #173a3320}#layersPanel h3{font-size:14px;margin-top:0}#layersPanel p{font-size:11px}#historical{pointer-events:none}#historicalLayers input[type=checkbox]{width:auto;margin-right:8px}#attribution{max-width:75%;font-size:9px;z-index:3}#historicalLayers input[type=range]{padding:0}

.track:hover{stroke:#23534b;stroke-width:5}.node:hover,.handle:hover{stroke:#cf7020;stroke-width:3}#map.panning{cursor:grab}.drag-preview-track{fill:none;stroke:#ed8f24;stroke-width:4;stroke-dasharray:6 3;vector-effect:non-scaling-stroke}.drag-preview-node{fill:#f6c679;stroke:#a96310;stroke-width:2;vector-effect:non-scaling-stroke}.snap-candidate{fill:none;stroke:#1973b9;stroke-width:3;stroke-dasharray:4 2;vector-effect:non-scaling-stroke}#interactionHelp{margin-left:0}.mapnote{max-width:75%}

#relationsPanel{padding:16px 22px;border-bottom:1px solid #ced8d0}#relationsPanel h2{font-size:17px}#relationsPanel h3{font-size:13px}#relationsPanel p{font-size:12px;white-space:pre-wrap}#relationsPanel button{font-size:11px;margin:3px 4px 3px 0;text-align:left}.relation-breadcrumbs{padding:0 0 10px;flex-wrap:wrap}.relation-breadcrumbs [aria-current]{font-weight:bold;background:#e8f3ee}.relation-row{border:1px solid #d6e0d7;border-radius:7px;margin:8px 0;padding:8px}.relation-row p{margin:4px 0}#variantMembers{padding-left:24px}#variantMembers li{margin:10px 0}.relation-path{fill:none;stroke:#42b4cd;stroke-opacity:.65;stroke-width:10;vector-effect:non-scaling-stroke}

/* Compact application header; editing actions remain in the persistent footer. */
header{height:42px;padding:0 12px;gap:10px;flex-wrap:nowrap}.brand{font-size:15px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small,.mark{display:none}header button{font-size:11px;padding:5px 8px;flex-shrink:0}#sidebarToggle{font-size:11px;padding:5px 8px}#mode{font-size:10px;white-space:nowrap}#workspace{grid-template-rows:calc(100dvh - 111px) 69px}@media(max-width:600px){header{height:40px;padding:0 8px;gap:8px}header .brand{font-size:14px;flex:1}header #mode{display:none}#sidebarToggle{font-size:10px}#workspace{grid-template-rows:55dvh auto auto}#workspace.sidebar-collapsed{grid-template-rows:calc(100dvh - 109px) 0 auto}}

.field-table{width:100%;border-collapse:collapse;table-layout:fixed}.field-table th{width:36%;text-align:left;font-size:12px;overflow-wrap:anywhere;vertical-align:top;padding:10px 8px 6px 0}.field-table td{padding:4px 0}.field-table input,.field-table textarea,.field-table select{width:100%;min-width:0;box-sizing:border-box}.field-table tr{border-bottom:1px solid #dce3e9}#pointPicker{position:fixed;z-index:100;background:white;color:#172934;border:1px solid #657987;border-radius:8px;padding:10px;width:220px;max-height:240px;overflow:auto;box-shadow:0 4px 18px #0004}#pointPicker button{display:block;width:100%;min-height:40px;margin-top:5px}.node.junction{stroke:#7d36a4;stroke-width:2.5px}.node:hover,.handle:hover{stroke:#f28c18;stroke-width:3px}.node.selected,.handle.selected{stroke:#d74900;stroke-width:3px}

#createFields>.field-table{grid-column:1/-1}
