.um-section { --um-ink:#20262b; --um-blue:var(--blue); --um-rule:#d9dfe3; background:#fff; color:var(--um-ink); padding-block:clamp(2rem,4.5vw,4.5rem); }
.um-section *, .um-section *::before, .um-section *::after { box-sizing:border-box; }
.um-section [hidden] { display:none!important; }
.um-section h2 { font-size:clamp(2.15rem,4.2vw,3.65rem); line-height:1.07; margin:.55rem 0 .9rem; }
.um-kicker { font:700 .72rem/1.4 ui-monospace,Consolas,monospace; text-transform:uppercase; letter-spacing:.1em; color:#3f4549; margin:0; }
.um-intro { max-width:68ch; font-size:1.04rem; line-height:1.55; color:#485057; margin:0 0 1.4rem; }
.um-app { border:1px solid var(--um-rule); border-top:3px solid var(--um-blue); }
.um-section .um-toolbar { display:flex; flex-wrap:wrap; gap:.65rem .9rem; align-items:end; background:#f6f7f8; padding:.85rem 1rem; }
.um-section .um-toolbar label,.um-section .um-picker-label,.um-section .um-event-label { display:grid; gap:.3rem; font-size:.76rem; line-height:1.35; font-weight:650; color:#3f4549; }
.um-toolbar .um-find { flex:1 1 14rem; }
.um-section :is(select,input[type="search"],button) { border:1px solid #9da8af; font:inherit; color:var(--um-ink); background:#fff; border-radius:3px; }
.um-section :is(select,input[type="search"]) { padding:.48rem .55rem; min-height:2.45rem; min-width:0; font-size:.9rem; font-weight:450; }
.um-section button { cursor:pointer; padding:.46rem .7rem; min-height:2.45rem; font-size:.86rem; line-height:1.2; font-weight:620; }
.um-section button:hover:not(:disabled) { background:#eaf7fd; border-color:#3f4549; }
.um-section :disabled { opacity:.6; cursor:default; }
.um-section :is(button,input,select,summary,a,canvas):focus-visible { outline:3px solid var(--um-blue); outline-offset:2px; }
.um-summary { padding:.48rem 1rem; border-top:1px solid var(--um-rule); border-bottom:1px solid var(--um-rule); font-size:.83rem; line-height:1.4; font-variant-numeric:tabular-nums; }
.um-acreage-note { display:flex; align-items:baseline; flex-wrap:wrap; gap:.35rem 1rem; padding:.55rem 1rem; border-bottom:1px solid var(--um-rule); font-size:.84rem; line-height:1.45; }
.um-acreage-note a { color:var(--blue-dark); text-decoration:underline; text-underline-offset:.15em; font-weight:600; }
.um-acreage-note [role="status"] { flex-basis:100%; color:var(--muted); }
.um-section .um-layout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(240px,27%); }
.um-map-col,.um-inspector { min-width:0; }
.um-stage { position:relative; background:#edf0f1; height:clamp(355px,44vw,570px); overflow:hidden; }
.um-stage canvas { display:block; width:100%; height:100%; touch-action:none; cursor:crosshair; }
.um-stage canvas:focus-visible { outline-offset:-3px!important; }
.um-stage canvas.um-dragging { cursor:grabbing; }
.um-map-tools { position:absolute; inset:.7rem auto auto .7rem; display:flex; gap:3px; }
.um-map-tools button { background:#fff; color:#26343c; border-color:#a3adb2; min-width:2.25rem; min-height:2.25rem; line-height:1; font-size:.77rem; }
.um-map-tools button:nth-child(-n+2) { font-size:1.1rem; }
.um-map-tools button:hover:not(:disabled) { background:#e5eaf0; color:#26343c; }
.um-empty { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); padding:.55rem .75rem; border:1px solid #727a80; background:#20262b; color:#fff; font-size:.82rem; }
.um-key { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:.5rem; padding:.6rem .75rem; background:#f7f8f8; border-top:1px solid #cfd4d7; color:#26343c; font-size:.75rem; }
.um-key > div,.um-key label,.um-key .um-key-item { display:flex; align-items:center; gap:.4rem; }
.um-key > div { flex-wrap:wrap; }
.um-key .um-key-item + .um-key-item { margin-left:.4rem; }
.um-key input { accent-color:#486675; margin:0; width:1rem; height:1rem; }
.um-swatch { width:1.1rem; height:.7rem; border:2px solid #56798a; background:#56798a24; }
.um-swatch.um-selected { border-color:#26343c; outline:1px solid #fff; background:transparent; margin-left:.4rem; }
.um-inspector { border-left:1px solid var(--um-rule); padding:1.1rem 1rem; }
.um-picker-label { margin:.8rem 0 1rem; }
.um-inspector select { width:100%; }
.um-section .um-back { display:block; min-height:0; margin:-.55rem 0 .8rem; border:none; background:none; text-decoration:underline; padding:.2rem 0; }
.um-detail { border-top:1px solid var(--um-rule); padding-top:.9rem; overflow-wrap:anywhere; }
.um-detail h3 { font-size:1.28rem; line-height:1.2; font-weight:650; letter-spacing:-.025em; margin:0 0 .48rem; }
.um-detail p,.um-notes p { font-size:.86rem; line-height:1.55; color:#485057; margin:.45rem 0; }
.um-detail dl { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:.36rem .5rem; font-size:.8rem; line-height:1.45; margin:.8rem 0; }
.um-detail dt { color:#535e65; }
.um-detail .um-coverage { border-left:3px solid var(--um-blue); padding:.25rem 0 .25rem .6rem; font-size:.8rem; }
.um-detail dd { margin:0; font-weight:640; text-align:right; }
.um-shape { display:block; width:100%; height:74px; padding:6px; background:#f3f5f5; margin:.6rem 0; }
.um-section .um-event-label { padding-top:.7rem; margin-top:.7rem; border-top:1px solid var(--um-rule); }
.um-detail .um-locate { width:100%; background:#eef3f6; border-color:#a3adb2; }
.um-notes { font-size:.88rem; padding:.7rem 1rem; border-top:1px solid var(--um-rule); }
.um-notes summary { cursor:pointer; font-weight:630; }
.um-notes p { max-width:85ch; margin:.6rem 0 .3rem; }
.um-notes a { text-decoration:underline; }
@media(max-width:800px) {
 .um-section .um-layout { grid-template-columns:minmax(0,1fr); }
 .um-inspector { border-left:none; border-top:1px solid var(--um-rule); }
 .um-stage { height:clamp(360px,67vw,490px); }
 .um-toolbar .um-find { flex-basis:100%; }
}
@media(max-width:430px) {
 .um-section .um-toolbar { gap:.55rem; padding:.65rem; }
 .um-section .um-toolbar label:not(.um-find) { flex:1; }
 .um-section .um-toolbar > button { min-height:2.1rem; }
 .um-stage { height:345px; }
 .um-key { font-size:.7rem; }
}
.um-selection-link { display:none; }
@media (max-width:800px) {
  .um-selection-link { display:block; position:absolute; right:.55rem; bottom:.5rem; padding:.45rem .6rem; background:#26343c; color:white; font-size:.75rem; font-weight:650; }
}
