.settingsbody h4{font:600 .85rem var(--display);margin:0}.people,.activity{gap:2px;margin:0;padding:0;list-style:none;display:grid}.people>li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:8px 0;display:flex}.person{gap:2px;min-width:0;display:grid}.person .note{overflow-wrap:anywhere}.check{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:.85rem;display:flex}.btn.danger{border-color:var(--danger);color:var(--danger)}.facts{gap:6px;margin:0;font-size:.85rem;display:grid}.facts div{grid-template-columns:minmax(120px,30%) minmax(0,1fr);gap:8px;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.scroll{overflow-x:auto}.rights{border-collapse:collapse;font-size:.8rem}.rights th,.rights td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:5px 6px}.rights td{text-align:center}.rights .you{background:color-mix(in srgb, var(--accent) 12%, transparent)}ul.note{gap:4px;padding-left:18px;display:grid}.activity li{border-bottom:1px solid var(--line);grid-template-columns:auto auto minmax(0,1fr);gap:8px;padding:4px 0;font-size:.85rem;display:grid}.activity time{color:var(--muted);font:.75rem var(--mono)}.bell{position:relative}.bell .count{font:600 .64rem / 1 var(--mono);background:var(--danger);min-width:16px;color:var(--surface);border-radius:8px;padding:2px 4px}.bell .popover{z-index:20;border:1px solid var(--line);background:var(--surface);width:min(340px,100vw - 32px);max-height:60vh;box-shadow:0 8px 24px var(--shade);border-radius:8px;gap:8px;padding:10px 12px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.notes h2{margin:0;font-size:.95rem}.notes ul{margin:0;padding:0;list-style:none}.notes li button{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;width:100%;color:var(--muted);background:0 0;padding:8px 4px;font-size:.85rem}.notes li button[data-unread]{color:var(--ink);font-weight:600}@layer driver{.driver-popover{all:unset;font-family:var(--driver-popover-font-family,"Helvetica Neue", Inter, ui-sans-serif, "Apple Color Emoji", Helvetica, Arial, sans-serif);box-sizing:border-box;color:#2d2d2d;z-index:1000000000;background-color:#fff;border-radius:5px;min-width:250px;max-width:300px;margin:0;padding:15px;position:fixed;top:0;right:0;box-shadow:0 1px 10px #0006}.driver-popover-title{zoom:1;margin:0;font-size:19px;font-weight:700;line-height:1.5;display:block;position:relative}.driver-popover-close-btn{all:unset;cursor:pointer;color:#d2d2d2;z-index:1;text-align:center;width:32px;height:28px;font-size:18px;font-weight:500;transition:color .2s;position:absolute;top:0;right:0}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{zoom:1;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.5}.driver-popover-footer{text-align:right;zoom:1;justify-content:space-between;align-items:center;margin-top:15px;display:flex}.driver-popover-progress-text{color:#727272;zoom:1;font-size:13px;font-weight:400}.driver-popover-footer-btn{all:unset;box-sizing:border-box;color:#2d2d2d;cursor:pointer;zoom:1;background-color:#fff;border:1px solid #ccc;border-radius:3px;outline:0;padding:3px 7px;font-size:12px;line-height:1.3;text-decoration:none;display:inline-block}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}.driver-popover-footer-btn:hover,.driver-popover-footer-btn:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{flex-grow:1;justify-content:flex-end;display:flex}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";border:5px solid #fff;position:absolute}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{border-top-color:#0000;border-bottom-color:#0000;border-right-color:#0000;left:100%}.driver-popover-arrow-side-right{border-top-color:#0000;border-bottom-color:#0000;border-left-color:#0000;right:100%}.driver-popover-arrow-side-top{border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:100%}.driver-popover-arrow-side-bottom{border-top-color:#0000;border-left-color:#0000;border-right-color:#0000;bottom:100%}.driver-popover-arrow-side-center,.driver-popover-arrow-none{display:none}.driver-active .driver-overlay{pointer-events:none}.driver-active.driver-no-scroll{overflow:hidden}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in var(--driver-animation-duration,.4s) ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in var(--driver-animation-duration,.4s)}.driver-active-element-parent-no-scroll{overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-active *{pointer-events:unset}}.driver-overlay path{pointer-events:none!important}.welcome{border:1px solid var(--accent);background:var(--surface);border-radius:6px;gap:6px;padding:12px;display:grid}.welcome h2{font:700 1.05rem / 1.3 var(--display);margin:0}.welcome p{margin:0}.chip.trial{color:var(--accent)}.driver-popover.tour{background:var(--surface);color:var(--ink);font:15px / 1.45 var(--body);border:1px solid var(--line);box-shadow:0 4px 18px var(--shade);border-radius:6px;max-width:min(360px,100vw - 32px);inset:auto auto 16px 16px!important}.driver-popover.tour .driver-popover-title{font:700 1rem / 1.3 var(--display);padding-right:56px}.driver-popover.tour .driver-popover-description{font-size:.9rem}.driver-popover.tour .driver-popover-arrow{display:none}.driver-popover.tour :is(.driver-popover-close-btn,.fold){color:var(--muted);cursor:pointer;background:0 0;border:0}.driver-popover.tour .fold{width:32px;height:28px;font-size:18px;position:absolute;top:0;right:32px}.driver-popover.tour.folded :is(.driver-popover-description,.driver-popover-footer){display:none!important}.driver-popover.tour .driver-popover-progress-text{color:var(--muted);font-size:.8rem}.driver-popover.tour .driver-popover-footer-btn{font:600 .8rem / 1.1 var(--body);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:5px;padding:6px 10px}.driver-popover.tour .driver-popover-next-btn{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.driver-popover.tour .driver-popover-btn-disabled{opacity:.5}.driver-popover.tour .example{border-left:3px solid var(--muted);background:color-mix(in srgb, var(--ink) 5%, transparent);margin-top:8px;padding:8px}.driver-popover.tour .example p{margin:6px 0 0}.driver-popover.tour .example .question{font-style:italic}.driver-popover.tour a.btn{margin-top:8px}@media (width<=599px){.driver-popover.tour{max-width:none;max-height:45dvh;overflow-y:auto;inset:auto 16px 16px!important}.driver-popover.tour.top{inset:60px 16px auto!important}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef0ec;--surface:#fbfcfa;--ink:#1b2320;--muted:#5d6a64;--line:#d3d9d4;--accent:#1f5c7a;--on-accent:#fbfcfa;--proposal:#8a520b;--ok:#256a3c;--danger:#b4372b;--working:#8f6d00;--spark:#3d9fd6;--map:#e3e7e2;--shade:#141e192e;--scrim:#141c186b;--display:"Archivo", "Helvetica Neue", Arial, sans-serif;--body:"Source Sans 3", "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--ol-background-color:var(--surface);--ol-foreground-color:var(--ink);--ol-subtle-foreground-color:var(--muted);--ol-partial-background-color:color-mix(in srgb, var(--surface) 80%, transparent)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141917;--surface:#1c2320;--ink:#e4e9e5;--muted:#9aa8a1;--line:#2f3a35;--accent:#6fb3d6;--on-accent:#10181c;--proposal:#e2a04a;--ok:#6cc28a;--danger:#ef7a6c;--working:#e9c84a;--spark:#9bd5f5;--map:#232b28;--shade:#00000073;--scrim:#0000008c}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html,body{overscroll-behavior:none}body{background:var(--bg);color:var(--ink);font:15px / 1.45 var(--body);margin:0}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1{font:700 1.25rem / 1.2 var(--display);white-space:nowrap;margin:0}h2{font:700 .95rem / 1.2 var(--display);margin:0}h3{font:600 .88rem / 1.25 var(--body);margin:0 0 12px}svg.lucide{flex:none;width:16px;height:16px}.btn{font:600 .8rem / 1.1 var(--body);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:5px;align-items:center;gap:6px;padding:6px 10px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.link{color:var(--accent);background:0 0;border-color:#0000;padding-inline:4px}.btn[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--surface))}.btn:disabled{opacity:.5;cursor:not-allowed}.icon{cursor:pointer;color:var(--muted);font:600 .74rem var(--body);background:0 0;border:0;border-radius:4px;align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.icon:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 7%, transparent)}.icon[aria-pressed=true]{color:var(--accent)}.chip{font:600 .72rem / 1 var(--mono);border:1px solid var(--line);color:var(--muted);background:var(--surface);white-space:nowrap;border-radius:4px;padding:5px 8px}.chip.class,.chip[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}button.chip{cursor:pointer}.badge{font:600 .64rem / 1 var(--mono);text-transform:uppercase;letter-spacing:.05em;background:color-mix(in srgb, var(--ink) 8%, transparent);border-radius:3px;padding:3px 6px}.badge.done{background:color-mix(in srgb, var(--ok) 15%, transparent);color:var(--ok)}.badge.failed,.badge.cancelled{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.field{gap:4px;font-size:.85rem;font-weight:600;display:grid}.field input,.field select{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:6px 8px;font-weight:400}.note{color:var(--muted);margin:0;font-size:.8rem}.toggle{align-items:flex-start;gap:8px;font-size:.85rem;font-weight:600;display:flex}.toggle span{gap:2px;display:grid}.toggle .note{font-weight:400}.problem{color:var(--danger);gap:2px;margin:0;display:grid}.problem small{color:var(--muted)}.busy{color:var(--muted);align-items:center;gap:8px;font-size:.8rem;display:inline-flex}.busy img{width:auto;height:22px}.busy.whole{flex-direction:column;justify-content:center;position:fixed;inset:0}.busy.whole img{height:48px}.spacer{flex:auto}.stack{align-content:start;gap:12px;display:grid}.stack>.btn{justify-self:start}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.skip{z-index:100;position:absolute;left:-9999px}.skip:focus{top:8px;left:16px}.brand{flex:none;display:flex}.brand img{height:var(--brand,24px);width:auto;display:block}.screen{align-content:start;gap:16px;min-height:100%;padding:8px 16px 32px;display:grid}.screen.narrow{max-width:28rem;margin-inline:auto}header.top{flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;display:flex}.provider{border:1px solid var(--line);border-radius:6px;padding:12px}.provider h3{margin:0}.tablewrap{overflow-x:auto}table.models{border-collapse:collapse;font-size:.82rem}table.models th,table.models td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:4px 8px}table.models thead th{color:var(--muted)}table.models tbody th{font:600 .78rem var(--mono)}.confirm{border:0;border-left:3px solid var(--accent);margin:0;padding:0 0 0 10px}.confirm legend{padding:0;font-weight:600}.projects{gap:6px;margin:0;padding:0;list-style:none;display:grid}.project{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;display:flex}.project a{color:var(--ink);font-weight:600}.progress{align-items:center;gap:8px;display:inline-flex}.project .problem{font-size:.85rem}.drop{border:1px dashed var(--muted);background:var(--surface);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:14px 12px;font-weight:400;display:flex}.drop input{min-width:0}.trace{gap:4px;margin:0;display:grid}.trace svg{background:var(--map);border-radius:6px;width:160px;height:160px}.trace polyline{fill:none;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.splash{z-index:90;background:var(--bg);pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.splash img{width:min(357px,70vw);height:auto}.app{grid-template-rows:auto minmax(0,1fr);gap:8px;height:100%;padding:8px 16px;display:grid;overflow:hidden}.vtabs{border:1px solid var(--line);border-radius:6px;margin:0;display:inline-flex;overflow:hidden}.vtabs button{background:var(--surface);cursor:pointer;font:600 .8rem var(--body);border:0;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.vtabs button[aria-selected=true],.vtabs button[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 16%, var(--surface));color:var(--accent)}.timeline{align-items:center;gap:2px;min-width:0;padding:2px;display:flex}.vchip{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:6px;flex:none;gap:1px;padding:3px 8px;display:grid}.vchip b{font:700 .78rem / 1.1 var(--display)}.vchip span{font:.66rem / 1.1 var(--mono);color:var(--muted)}.vchip[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.vchip.proposal{border-style:dotted}.vchip em{font:600 .6rem / 1.1 var(--mono);text-transform:uppercase;color:var(--proposal)}.pop{flex:none;align-items:center;display:inline-flex}.pop>.pin{cursor:pointer;color:var(--proposal);font:700 .8rem / 1 var(--mono);background:0 0;border:0;padding:2px 3px}.pin svg{width:14px;height:14px}.pop>.popover{z-index:40;border:1px solid var(--line);border-left:3px solid var(--proposal);background:var(--surface);width:min(340px,100vw - 32px);color:var(--ink);box-shadow:0 8px 24px var(--shade);font:400 .82rem var(--body);text-align:left;white-space:normal;border-radius:8px;justify-items:start;gap:6px;padding:10px 12px;display:grid;position:fixed}.pop>.popover:before{content:"";height:8px;position:absolute;inset:auto 0 100%}.pop p{margin:0}.pop .count+.count:before{content:"· ";color:var(--muted)}.pop .ids{flex-wrap:wrap;gap:4px;display:flex}.pop summary{cursor:pointer;color:var(--accent);font-weight:600}.pop ul{max-height:40vh;font:.74rem / 1.4 var(--mono);margin:4px 0 0;padding-left:18px;overflow-y:auto}.work{grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative}.side{min-width:0;min-height:0;display:grid;position:relative}.side .panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.side[data-mode=flyout]>.panel{z-index:30;box-shadow:0 8px 30px var(--shade);position:absolute;top:0;bottom:0}.side.left[data-mode=flyout]>.panel{left:calc(100% + 8px)}.side.right[data-mode=flyout]>.panel{right:calc(100% + 8px)}.sidehead{border-bottom:1px solid var(--line);align-items:center;gap:4px;padding:6px 6px 6px 10px;display:flex}.sidehead h2{flex:1}.sidebody{padding:10px;overflow:auto}.sidebody .field{grid-template-columns:minmax(0,1fr);min-width:0}.sidebody .field select{max-width:100%}.rail{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;align-items:center;gap:2px;width:44px;padding:6px 0;display:flex}.side:hover .rail,.side[data-mode=flyout] .rail{border-color:var(--accent)}.rail .icon{justify-content:center;width:38px;height:36px;position:relative}.rail .icon svg.lucide{width:18px;height:18px}.rail [aria-selected=true]{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.vh{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rail .icon .pill{padding:1px 4px;position:absolute;top:1px;right:1px}.side.right[data-mode=column]{grid-template-columns:minmax(0,1fr) auto;gap:8px}.side.right[data-mode=column]>.rail{grid-area:1/2}.side.right[data-mode=column]>.panel{grid-area:1/1}.rsz{z-index:6;cursor:ew-resize;touch-action:none;width:10px;position:absolute;top:0;bottom:0}.side.left .rsz{right:-9px}.side.right .rsz{left:-9px}.rsz:hover,.rsz:focus-visible{background:color-mix(in srgb, var(--accent) 30%, transparent)}.center{grid-template-rows:auto minmax(0,1fr) auto;gap:6px;min-width:0;min-height:0;display:grid}.center.full{z-index:60;background:var(--bg);padding:6px;position:fixed;inset:0}.canvas{background:var(--map);border:1px solid var(--line);border-radius:6px;min-height:120px;position:relative;overflow:hidden}.mapwrap,.map{position:absolute;inset:0}.mapwrap>.busy,.mapwrap>.problem,.mapwrap>.notice{background:var(--surface);border-radius:5px;padding:4px 10px;position:absolute;top:8px;left:50%;translate:-50%}.map .ol-viewport{touch-action:none}.map .ol-rotate{top:4.643em;left:.5em;right:auto}.map .ol-touch .ol-rotate{top:5.5em}.maptools{z-index:5;gap:6px;display:flex;position:absolute;top:8px;right:8px}.mapstatus{font:.72rem var(--mono);color:var(--ink);background:color-mix(in srgb, var(--surface) 85%, transparent);border-radius:3px;padding:2px 6px;position:absolute;bottom:30px;left:52px}.mapstatus:empty{display:none}.files svg{width:16px;height:16px}.bars{gap:4px;display:grid}.bars:empty{margin-bottom:-6px}.bar{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:5px 10px;font-size:.82rem;display:flex}.mono{font:.72rem var(--mono);color:var(--muted)}.files h4{margin:4px 0}.filelist{gap:2px;margin:0;padding:0;list-style:none;display:grid}.file{border-bottom:1px solid var(--line);grid-template-columns:10px minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:column;align-items:center;gap:8px;padding:4px 2px;display:grid}.file .name{min-width:0;display:grid}.file .name b{font:600 .8rem var(--mono);overflow-wrap:anywhere}.file .name small{color:var(--muted);font-size:.74rem}.dot{border-radius:50%;width:8px;height:8px}.dot.changed{background:var(--proposal)}dialog.preview{border:1px solid var(--line);background:var(--surface);width:min(1100px,100vw - 32px);height:min(820px,100vh - 32px);color:var(--ink);border-radius:8px;padding:0}dialog.preview[open]{grid-template-rows:auto minmax(0,1fr);display:grid}dialog.preview iframe,dialog.preview img{object-fit:contain;background:#fff;border:0;width:100%;height:100%}.legend{gap:8px;display:grid}.legend legend,.basis h3{font:700 .85rem / 1.2 var(--display);margin-bottom:4px}.views{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.basis{gap:8px;display:grid}.check{align-items:center;gap:6px;font-size:.85rem;display:flex}.lhead{align-items:center;gap:2px;display:flex}.lhead .check{flex:1;font-weight:600}.count{font:.72rem / 1 var(--mono);color:var(--muted)}.opacity,.size label{color:var(--muted);font-size:.75rem;display:grid}.size{align-items:end;gap:2px;display:flex}.size label{flex:1}.llayer,.lgroup>.opacity,.lgroup>.size{padding-left:30px}.classes{gap:2px;margin:2px 0 4px;padding-left:22px;font-size:.8rem;list-style:none;display:grid}.lrow,.classes li{align-items:center;gap:6px;display:flex}.lrow .check,.classes .check{flex:1}.classes .check{font-size:inherit}.swatch{object-fit:contain;flex:none;width:20px;height:14px}.inspector{gap:8px;display:grid}.inspecthead{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.inspecthead h3{overflow-wrap:anywhere;flex:1}.inspecthead h3.id{font-family:var(--mono)}.inspector h4{font:700 .8rem / 1.2 var(--display);margin:4px 0 0}.kv{grid-template-columns:auto minmax(0,1fr);gap:2px 10px;margin:0;font-size:.82rem;display:grid}.kv>div{display:contents}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}.rels{gap:3px;margin:0;padding:0;font-size:.82rem;list-style:none;display:grid}.rels li{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip.id{color:var(--accent)}.strip{background:var(--surface);border:1px solid var(--line);--soil:#d9c9a3;--rock:var(--ink);border-radius:6px;flex-direction:column;min-width:0;min-height:0;max-height:70dvh;display:flex;position:relative}.striphead{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;padding:4px 8px;display:flex}.striphead h2{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.pnav,.pnav .goto{align-items:center;gap:2px;margin:0;display:flex}.pnav{scrollbar-width:thin;max-width:100%;overflow-x:auto}.pnav .btn{font-family:var(--mono);padding:3px 6px}.pnav .num{border:1px solid var(--line);background:var(--surface);font:.8rem var(--mono);border-radius:5px;padding:3px 6px}.striphead .problem{flex-basis:100%;font-size:.8rem}.grip{z-index:6;cursor:ns-resize;touch-action:none;height:8px;position:absolute;top:-7px;left:0;right:0}.grip:hover,.grip:focus-visible{background:color-mix(in srgb, var(--accent) 30%, transparent)}.readout{font:.72rem var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;padding:0 8px;overflow:hidden}.overview{align-items:center;gap:8px;padding:0 8px 4px;display:flex}.overview svg{cursor:ew-resize;touch-action:none;flex:1;min-width:0;height:20px}.overview .note{font-family:var(--mono)}.ov-cross{stroke:var(--ink);stroke-width:1.5px;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.ov-cursor{stroke:var(--accent);stroke-width:3px;vector-effect:non-scaling-stroke}.ov-shade{fill:#0000006b;fill-rule:evenodd}.ov-window{fill:none;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.plot{touch-action:none;-webkit-user-select:none;user-select:none;flex:1 1 0;width:100%;min-height:0;display:block}.plot :not(.hit,.pf-unit,.pf-task){pointer-events:none}.plot text{font:10px var(--mono);fill:var(--muted)}.pf-axis line{stroke:var(--line)}.pf-soil{fill:var(--soil);opacity:.6}.pf-band{fill:color-mix(in srgb, var(--muted) 30%, transparent)}.pf-rock{fill:none;stroke:var(--rock);stroke-width:2px}.pf-rock[data-class=uncertain]{stroke-dasharray:6 3}.pf-rock[data-class=very_uncertain]{stroke-dasharray:1.5 2.5}.pf-rock[data-class=unreliable]{stroke-width:1.2px;stroke-dasharray:1.5 2.5}.pf-rock[data-class=no_data]{stroke:var(--muted);stroke-width:1.2px;stroke-dasharray:6 2.5 1.5 2.5}.pf-terrain{fill:none;stroke:#3b7a2a;stroke-width:1.5px}.pf-cut{fill-opacity:.6;fill-rule:evenodd}.pf-either{fill:url(#pf-either-hatch);fill-rule:evenodd}.pf-converging{fill:url(#pf-converging-hatch);fill-rule:evenodd}.pf-unreliable{fill:url(#pf-unreliable-hatch);fill-rule:evenodd}.pf-number{font:bold 10px var(--mono);fill:var(--ink);stroke:var(--surface);stroke-width:3px;paint-order:stroke}.pf-hatch line{stroke:var(--ink);stroke-width:.8px}.pf-hatch circle{fill:var(--danger)}.pf-contact{fill:none;stroke:var(--ink);stroke-width:1.2px;stroke-dasharray:5 3}.plot .pf-fault,.pkey .pf-fault{fill:none;stroke:var(--ink);stroke-width:2.5px;stroke-dasharray:none}.plot .pf-dip,.pkey .pf-dip{font:bold 10px var(--mono);fill:var(--ink)}.pf-unit{stroke:#00000040;stroke-width:.5px;cursor:pointer;pointer-events:auto}.pf-task{fill:var(--proposal);cursor:pointer;pointer-events:auto}.pf-cross line,.pf-section line{stroke:var(--ink);stroke-width:1.2px;stroke-dasharray:4 2}.pf-hole line{stroke:var(--ink);stroke-width:1.6px}.pf-hole:not([data-bedrock=proven]) line:first-of-type{stroke-dasharray:3 2}.plot .hit{fill:#0000;cursor:pointer;pointer-events:auto}.pf-cursor line{stroke:var(--accent);stroke-width:1.5px}.pf-cursor circle{fill:none;stroke:var(--accent);stroke-width:2px}.plot [aria-current] line,.plot [aria-current].pf-unit,.plot .pf-task[aria-current]{stroke:var(--accent);stroke-width:3px}.pkey{scrollbar-width:thin;color:var(--muted);white-space:nowrap;gap:10px;margin:0;padding:0 8px 4px;font-size:.7rem;list-style:none;display:flex;overflow-x:auto}.pkey li{align-items:center;gap:4px;display:flex}.pkey svg{flex:none;width:20px;height:10px}.brush{fill:color-mix(in srgb, var(--accent) 18%, transparent);stroke:var(--accent)}@media (width<=379px){.readout{display:none}}@media (width<=899px){.striphead .pnav{flex-basis:100%;order:1}}@media (prefers-color-scheme:dark){.strip{--soil:#6b5a3a}}.chat{gap:10px;display:grid}.chathead{align-items:baseline;gap:8px;display:flex}.chathead h3{margin:0}.chathead .icon{margin-left:auto}.bar.warn{border-left-color:var(--danger)}.refs{flex-wrap:wrap;gap:4px;display:flex}.refs .chip{align-items:center;gap:2px;display:inline-flex}.refs .icon{padding:0 2px}.refs svg{width:12px;height:12px}.messages{gap:8px;margin:0;padding:0;list-style:none;display:grid}.msg{border:1px solid var(--line);background:var(--surface);border-radius:6px;gap:4px;padding:6px 8px;font-size:.85rem;display:grid}.msg.agent{border-left:3px solid var(--accent)}.msg header{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.74rem;display:flex}.msg p{overflow-wrap:anywhere;margin:0}.msg header .btn.link{margin-left:auto;padding:0 4px;font-size:.74rem}.msg header svg{width:12px;height:12px}.msg:target{outline:2px solid var(--accent)}.msg>.btn{justify-self:start}.run{border-bottom:1px solid var(--line);gap:4px;padding-bottom:8px;display:grid}.run>header{color:var(--muted);gap:6px;font-size:.74rem;display:flex}.run.live{border:1px solid var(--working);background:color-mix(in srgb, var(--working) 7%, var(--surface));border-radius:6px;padding:6px}.steps{color:var(--muted);font-size:.74rem}.steps summary{cursor:pointer}.steps ol{margin:4px 0 0;padding-left:1.6em}.new{font:600 .7rem var(--body);color:var(--danger);text-transform:uppercase;align-items:center;gap:6px;display:flex}.new:after{content:"";border-top:1px solid var(--danger);flex:1}.quote{-webkit-line-clamp:2;border-left:3px solid var(--line);color:var(--muted);overflow-wrap:anywhere;-webkit-box-orient:vertical;padding-left:6px;font-size:.78rem;text-decoration:none;display:-webkit-box;overflow:hidden}.composer .quoting{flex-wrap:nowrap;justify-content:space-between}.md{gap:6px;min-width:0;display:grid}.md *{margin:0}.md p{white-space:pre-wrap}.md .chip{padding:1px 4px}.md .sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.md ul,.md ol{padding-left:1.3em}.md blockquote{border-left:3px solid var(--line);color:var(--muted);padding-left:8px}.md code{font:.78rem var(--mono)}.md pre{background:var(--bg);border-radius:4px;padding:6px 8px;overflow-x:auto}.md table{border-collapse:collapse;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--line);text-align:left;padding:2px 6px}.runs{gap:6px;display:grid}.runs summary{cursor:pointer;font-weight:600}.runs ol{gap:6px;max-height:40vh;margin:6px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.runs code{font:.68rem / 1.3 var(--mono);color:var(--muted);overflow-wrap:anywhere}.composer{gap:6px;display:grid}.composer input{width:0;min-width:0;font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:5px;flex:1;padding:6px 8px}.composer .row{flex-wrap:nowrap;gap:6px}.filters,.fieldplan .row{align-items:end}.fieldplan h4{margin:0}.planmap{border:1px solid var(--line);background:var(--map);border-radius:6px;height:280px}.planmap[data-drawing]{cursor:crosshair}.zones{margin:0;padding:0;list-style:none}.zone{align-items:center;gap:4px;display:inline-flex}details:has(>.qfield) summary{cursor:pointer;font-weight:600}.qfield{margin-top:8px}.qfield .field{flex:16rem}.qfield input{width:100%;font-family:var(--mono)}.qfield .qr{border-radius:4px;width:168px}.qfield ol{gap:6px;margin:0;padding-left:1.4em;font-size:.85rem;display:grid}.qfield li svg{vertical-align:-3px;width:16px;height:16px;color:var(--accent);margin-right:6px}.tasklist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.task{border:1px solid var(--line);border-radius:6px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:start;gap:6px;padding:6px 8px;display:grid}.task.done{opacity:.6}.task[aria-current]{box-shadow:0 0 0 2px var(--accent)}.taskactions{display:contents}.taskmenu{flex-basis:100%;order:1;grid-column:1/-1}.task .waiting{grid-column:1/-1;margin:0}.taskmain{text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:0;font-size:.8rem;display:grid}.tasktitle{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.pri.p1{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.help{color:var(--ink)}dialog.upload{border:1px solid var(--line);background:var(--surface);width:min(560px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--ink);border-radius:8px;padding:0}.dialogbody{padding:12px 16px 16px}dialog.upload .drop{border:2px dashed var(--line);color:var(--muted);cursor:pointer;text-align:center;border-radius:8px;justify-items:center;gap:6px;padding:18px;display:grid}dialog.upload .drop input{max-width:100%}.choice{align-items:center;gap:8px;font-size:.85rem;display:flex}.north legend{margin-bottom:4px;font-weight:600}.row.end{justify-content:flex-end}.confirm{border:1px solid var(--danger);border-radius:6px;grid-column:1/-1;gap:6px;padding:8px;display:grid}dialog.settings{border:1px solid var(--line);background:var(--surface);width:min(880px,100vw - 32px);height:min(640px,100vh - 32px);color:var(--ink);border-radius:8px;padding:0}dialog.settings[open]{grid-template-rows:auto minmax(0,1fr);display:grid}dialog::backdrop{background:var(--scrim)}.dialoghead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.settingsbody{grid-template-columns:200px minmax(0,1fr);min-height:0;display:grid}.settingsbody nav{border-right:1px solid var(--line);overflow-y:auto}.settingsbody ul{margin:0;padding:6px;list-style:none}.settingsbody nav button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;width:100%;padding:8px 10px}.settingsbody nav button[aria-current=page]{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);font-weight:600}.settingsbody section{padding:12px 16px;overflow-y:auto}.settingsbody .back{display:none}fieldset{border:0;min-width:0;margin:0 0 12px;padding:0}fieldset:disabled{opacity:.55}@media (width<=899px){.settingsbody{grid-template-columns:minmax(0,1fr)}.settingsbody nav{border-right:0}dialog.settings[data-page=list] .settingsbody>section,dialog.settings[data-page=page] .settingsbody>nav{display:none}.settingsbody .back{display:inline-flex}}.basemaps{z-index:5;flex-direction:column-reverse;align-items:flex-start;gap:6px;display:flex;position:absolute;bottom:8px;left:8px}.basemaps fieldset{background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 30px var(--shade);border-radius:6px;gap:4px;margin:0;padding:8px 10px;display:grid}.map .ol-scale-line{left:52px}.loader{z-index:5;background:var(--surface);border:1px solid var(--line);width:min(340px,100% - 32px);box-shadow:0 8px 30px var(--shade);border-radius:8px;gap:8px;padding:10px 12px;transition:opacity .6s;display:grid;position:absolute;bottom:16px;left:50%;translate:-50%}.loader.gone{opacity:0;pointer-events:none}.loader picture img{width:104px;height:auto;margin:0 auto;display:block}.loader ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.loader li{grid-template-columns:1fr auto;gap:2px 8px;display:grid}.loader li>:nth-child(n+3){grid-column:1/-1}.loader li[data-state=running]>:first-child{font-weight:600}.loader li[data-state=done]>.note{color:var(--ok)}.loader li[data-state=failed]>.note{color:var(--danger)}@media (prefers-reduced-motion:reduce){.loader{transition:none}}.loader>.btn{padding:4px;position:absolute;top:6px;right:6px}.vchip.loading{grid-template-columns:auto auto;align-items:center;column-gap:6px}.vchip.loading picture{grid-row:span 2}.vchip.loading img{width:auto;height:22px;display:block}.vchip.loading .live{gap:1px;display:grid}.vchip.loading .problem{color:var(--danger)}header.project{--brand:34px;--control:36px;flex-wrap:nowrap;gap:8px}@media (pointer:coarse){header.project{--control:40px}}@media (width<=479px){header.project{gap:5px}header.project .timeline{padding:0}}header.project>*{flex-shrink:0}header.project :is(.btn,.chip.class,.vchip.loading){height:var(--control)}header.project .btn.icon{width:var(--control);color:var(--ink);border:1px solid var(--line);background:var(--surface);justify-content:center;padding:0}header.project h1{text-overflow:ellipsis;min-width:2em;font:700 20px / var(--brand) var(--display);border-left:1px solid var(--line);flex:0 1000 auto;padding-left:10px;overflow:hidden}header.project .chip.class{text-overflow:ellipsis;min-width:3.5em;line-height:calc(var(--control) - 2px);flex-shrink:1;padding-block:0;overflow:hidden}header.project .vtabs button{height:calc(var(--control) - 2px)}header.project .vtabs svg{width:18px;height:18px}.pane .btn.vswitch{display:none}@media (width<=899px){header.project .vtabs{display:none}.pane .btn.vswitch{justify-self:start;display:inline-flex}}.home{border-radius:4px;flex:none;display:flex}.btn.version b{font:700 .85rem / 1 var(--display)}.btn.version em{font:600 .62rem / 1 var(--mono);text-transform:uppercase;color:var(--muted);font-style:normal}.btn.version.older{border-color:var(--proposal);background:color-mix(in srgb, var(--proposal) 12%, var(--surface))}.btn.version.older em{color:var(--proposal)}@media (width<=599px){.btn.version svg,.timeline>.tohead{display:none}}.pane .tohead{justify-self:start}@media (width>=600px){.pane .tohead{display:none}}@media (width<=479px){.btn.version{padding-inline:8px}.btn.version:not(.older) em{display:none}}@media (width<=399px){.btn.version em{display:none}}.btn.search{color:var(--muted);margin-left:auto;font-weight:400}.btn.search kbd{font:600 .66rem / 1 var(--mono);border:1px solid var(--line);border-radius:3px;padding:2px 4px}@media (width<=1099px){.btn.search .lbl{display:none}header.project .btn.search{width:var(--control);justify-content:center;padding:0}}.btn.agent{position:relative}header.project .btn.agent{border-color:var(--state)}header.project .btn.agent:is([data-state=working],[data-state=queued],[data-state=waiting]){background:color-mix(in srgb, var(--state) 22%, var(--surface))}.dwarf{width:26px;height:26px}.dwarf .metal{fill:var(--accent)}.dwarf .wire{fill:none;stroke:var(--surface);stroke-width:.9px;stroke-linecap:round;stroke-linejoin:round}.dwarf :is(.eye,.dot){fill:var(--state)}.dwarf .eye{transform-box:fill-box;transform-origin:50%}.btn.agent[data-state=off] .eye{transform:scaleY(.25)}.btn.agent .alert{min-width:18px;font:700 .66rem / 1 var(--mono);background:var(--danger);color:var(--surface);border-radius:9px;padding:3px 5px;position:absolute;top:-6px;right:-6px}@media (prefers-reduced-motion:no-preference){.btn.agent[data-state=idle] .eye{animation:6s infinite blink}.btn.agent[data-state=waiting] .eye{animation:3s ease-in-out infinite blink-slow}.btn.agent[data-state=working]{animation:1.6s ease-in-out infinite pulse}.btn.agent[data-state=working] .eye{animation:1.6s ease-in-out infinite shine}.btn.agent[data-state=working] .dot{animation:none}.btn.agent[data-state=working] .d1{animation-name:wire-left}.btn.agent[data-state=working] .d2{animation-name:wire-middle;animation-delay:.25s}.btn.agent[data-state=working] .d3{animation-name:wire-right;animation-delay:.5s}}@keyframes blink{0%,95%,to{transform:none}97%{transform:scaleY(.1)}}@keyframes blink-slow{0%,60%,to{transform:none}80%{transform:scaleY(.15)}}@keyframes shine{50%{opacity:.55}}@keyframes pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--state) 25%, transparent)}}@keyframes wire-left{0%{opacity:0;transform:translate(-1.6px,-4.9px)}20%,85%{opacity:1}58%{transform:translate(-1.6px,-1.7px)}to{opacity:0;transform:none}}@keyframes wire-middle{0%{opacity:0;transform:translateY(-6.4px)}20%,85%{opacity:1}to{opacity:0;transform:none}}@keyframes wire-right{0%{opacity:0;transform:translate(1.6px,-4.9px)}20%,85%{opacity:1}58%{transform:translate(1.6px,-1.7px)}to{opacity:0;transform:none}}.btn.action{color:var(--accent);position:relative}.btn.action .mark{width:24px;height:24px}.mark path{fill:currentColor}.btn.action[data-waiting]{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent)}.btn.action[data-busy]{background:color-mix(in srgb, var(--working) 22%, var(--surface))}.btn.action[data-busy]:not([data-waiting]){border-color:var(--working)}.btn.action .mark{overflow:visible}.mark .burst>*{opacity:0;transform-box:fill-box;transform-origin:50%}.mark .burst circle{fill:var(--spark)}@media (prefers-reduced-motion:no-preference){.btn.action[data-animate]{animation:2.8s ease-in-out infinite glow}.btn.action[data-animate] :is(.s1,.s2,.s3,.s4){animation:2.8s ease-in-out infinite stratum}.btn.action[data-busy]:not([data-animate]) :is(.s1,.s2,.s3,.s4){animation:1.6s ease-in-out infinite stratum}.btn.action:is([data-animate],[data-busy]) .s2{animation-delay:.35s}.btn.action:is([data-animate],[data-busy]) .s3{animation-delay:.7s}.btn.action:is([data-animate],[data-busy]) .s4{animation-delay:1.05s}.btn.action[data-animate] .burst>*{animation:none}.btn.action[data-animate] .b1{animation-name:burst-1}.btn.action[data-animate] .b2{animation-name:burst-2}.btn.action[data-animate] .b3{animation-name:burst-3}.btn.action[data-animate] .b4{animation-name:burst-4}.btn.action[data-animate] .b5{animation-name:burst-5}}@keyframes burst-1{0%,62%{opacity:0;transform:none}66%{opacity:1}92%,to{opacity:0;transform:translate(-6px,-12px)rotate(-140deg)}}@keyframes burst-2{0%,62%{opacity:0;transform:none}66%{opacity:1}92%,to{opacity:0;transform:translate(1px,-16px)rotate(200deg)}}@keyframes burst-3{0%,62%{opacity:0;transform:none}66%{opacity:1}92%,to{opacity:0;transform:translate(6px,-11px)rotate(130deg)}}@keyframes burst-4{0%,63%{opacity:0;transform:none}67%{opacity:1}90%,to{opacity:0;transform:translate(-4px,-14px)}}@keyframes burst-5{0%,63%{opacity:0;transform:none}67%{opacity:1}90%,to{opacity:0;transform:translate(4px,-15px)}}@keyframes stratum{0%,60%,to{opacity:1}25%{opacity:.25}}@keyframes glow{50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 18%, transparent)}}.btn.action .count{min-width:18px;font:700 .66rem / 1 var(--mono);background:var(--proposal);color:var(--surface);border-radius:9px;padding:3px 5px;position:absolute;top:-6px;right:-6px}.pane .btn.settings{display:none}@media (width<=479px){.pane .btn.settings{justify-self:start;display:inline-flex}header.project>.btn.settings{display:none}}.flyout{position:relative}.flyout>.pane{z-index:40;border:1px solid var(--line);background:var(--surface);width:min(360px,100vw - 32px);max-height:calc(100vh - 80px);color:var(--ink);box-shadow:0 8px 30px var(--shade);white-space:normal;border-radius:8px;align-content:start;gap:10px;padding:12px 14px;font-size:.85rem;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.flyout.vmenu>.pane{width:min(440px,100vw - 32px);left:0;right:auto}.flyout.actions>.pane{width:min(760px,100vw - 32px)}@media (width<=599px){.flyout>.pane,.flyout.vmenu>.pane{width:auto;position:fixed;top:60px;left:16px;right:16px}}.pane h2{font-size:1rem}.pane h3,.pane p{margin:0}.pane details summary{cursor:pointer;color:var(--accent);font-weight:600}.pane .ids{flex-wrap:wrap;gap:4px;display:flex}.causes{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.causes li{font:600 .72rem / 1 var(--mono);background:color-mix(in srgb, var(--ink) 7%, transparent);border-radius:4px;padding:4px 6px}.vlist{margin:0;padding:0;list-style:none;display:grid}.vlist li{border-top:1px solid var(--line);grid-template-columns:2.6em 5.5em minmax(0,1fr) auto;align-items:baseline;gap:2px 8px;padding:6px 4px;font-size:.8rem;display:grid}.vlist li[aria-current=true]{background:color-mix(in srgb, var(--accent) 10%, transparent)}.vlist time{font:.72rem var(--mono);color:var(--muted);grid-column:3}.vlist .acts{grid-area:1/4/span 2;gap:2px;display:flex}.vlist .compared{border-left:3px solid var(--proposal);background:var(--bg);grid-column:1/-1;justify-items:start;gap:6px;padding:8px;display:grid}.vlist .compared .count+.count:before{content:"· ";color:var(--muted)}.vlist .compared ul{font:.74rem / 1.4 var(--mono);margin:0;padding-left:18px}.flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0;padding:0;list-style:none;display:grid}.flow .card{border:1px solid var(--line);border-radius:6px;align-content:start;gap:6px;padding:10px;display:grid;position:relative}.flow .card+.card:before{content:"→";color:var(--muted);position:absolute;top:10px;left:-18px}.flow .card[data-waiting]{border-color:var(--proposal);box-shadow:inset 3px 0 0 var(--proposal)}.flow .card .row{gap:6px}.flow .card .confirm{flex-basis:100%}@media (width<=699px){.flow{grid-template-columns:minmax(0,1fr)}.flow .card+.card:before{content:"↓";top:-20px;left:12px}}.pane .notes{border-top:1px solid var(--line);gap:6px;padding-top:10px;display:grid}dialog.palette{border:1px solid var(--line);background:var(--surface);width:min(640px,100vw - 32px);max-height:75vh;color:var(--ink);box-shadow:0 16px 48px var(--shade);border-radius:10px;margin:10vh auto auto;padding:0}dialog.palette[open]{grid-template-rows:auto auto minmax(0,1fr);display:grid}dialog.palette::backdrop{background:var(--scrim)}dialog.palette>.field{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 14px;display:flex}dialog.palette>.field input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:6px 0;font-size:1rem}dialog.palette .terms{gap:6px;padding:8px 14px 0}dialog.palette .terms .chip{color:var(--accent);border-color:var(--accent);align-items:center;gap:4px;display:inline-flex}dialog.palette .terms svg{width:12px;height:12px}dialog.palette [role=listbox]{padding:6px 8px 10px;overflow-y:auto}dialog.palette .ghead{font:600 .68rem / 1 var(--body);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 6px 4px}dialog.palette [role=option]{cursor:pointer;border-radius:5px;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:7px 8px;font-size:.88rem;display:flex}dialog.palette [role=option][aria-selected=true]{background:color-mix(in srgb, var(--accent) 14%, transparent)}dialog.palette [role=listbox]>.note{padding:8px 6px}
