html { color-scheme:light; }
body.lr-body { font-family:var(--lr-font); font-size:14px; color:var(--lr-ink); background:var(--lr-paper); }
::selection { background:#d7eae4; color:#153e38; }
input,textarea { caret-color:var(--lr-accent); }
a { text-underline-offset:3px; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--lr-accent); outline-offset:4px; }
.lr-skip { position:fixed; top:-100px; left:16px; z-index:2000; background:white; padding:12px 20px; }
.lr-skip:focus { top:10px; }
.lr-icon { width:19px; height:19px; flex-shrink:0; vertical-align:middle; }
.lr-sidebar { position:fixed; inset:0 auto 0 0; width:var(--lr-sidebar); background:var(--lr-rail); border-right:1px solid var(--lr-line); padding:32px 16px 16px; display:flex; flex-direction:column; z-index:1020; }
.lr-brand { display:flex; align-items:center; gap:9px; margin:0 12px 42px; color:var(--lr-ink); font-size:25px; line-height:normal; font-weight:650; letter-spacing:-1px; text-decoration:none; }
.lr-brand svg { width:30px; height:30px; color:var(--lr-accent); }
.lr-nav-link { display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 13px; margin:3px 0; border-radius:var(--lr-radius-control); font-size:13px; font-weight:450; line-height:normal; color:var(--lr-muted); text-decoration:none; }
.lr-nav-link:hover,.lr-nav-link[aria-current] { background:var(--lr-accent-soft); color:var(--lr-accent-hover); }
.lr-nav-link[aria-current] { font-weight:550; }
.lr-nav-link .lr-nav-compact { display:none; }
.lr-keyhint { margin-left:auto; padding:0; background:transparent; color:var(--lr-muted); font:11px var(--lr-font); white-space:nowrap; }
.lr-saved-count { margin-left:auto; background:#e5e9e0; min-width:19px; padding:2px 5px; border-radius:4px; font-size:11px; text-align:center; }
.lr-planner-nav { gap:0; padding-right:6px; white-space:nowrap; }
.lr-planner-nav>.lr-icon { flex-shrink:0; margin-right:12px; }
.lr-planner-label { display:inline-flex; align-items:center; gap:4px; }
.lr-planner-nav>.lr-saved-count { min-width:14px; padding:2px 3px; font-size:10px; }
.lr-planner-badge { color:var(--lr-accent); background:var(--lr-accent-soft); border:1px solid #c7e2da; border-radius:20px; padding:2px 5px; font-size:8px; font-weight:650; line-height:1.2; letter-spacing:.02em; }
@media(max-width:1050px) { .lr-planner-nav>.lr-icon { margin-right:0; } }
.lr-recent { margin:35px 13px 0; min-height:0; overflow:auto; }
.lr-recent-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; }
.lr-recent-title { font-size:11px; font-weight:550; color:var(--lr-muted); margin:0; white-space:nowrap; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.lr-recent button { border:0; background:transparent; color:var(--lr-muted); font-size:11px; padding:6px 0 6px 6px; flex-shrink:0; white-space:nowrap; }  /* "Clear" is never the part that gets cut */
.lr-recent a { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:10px 0; font-size:12px; color:var(--lr-muted); text-decoration:none; }
.lr-recent a:hover { color:var(--lr-accent); }
.lr-recent p { font-size:12px; line-height:1.8; color:var(--lr-muted); }
.lr-recent .lr-history-info { margin-right:auto; padding:4px; display:inline-flex; }
.lr-coverage-meta { display:flex; align-items:center; gap:24px; white-space:nowrap; }
.lr-inventory-count { font-size:11px; font-weight:550; color:var(--lr-accent); }
.lr-coverage-states .btn-link { --bs-btn-padding-x:0; --bs-btn-padding-y:4px; --bs-btn-font-size:11px; --bs-btn-color:var(--lr-muted); --bs-btn-hover-color:var(--lr-accent); --bs-btn-active-color:var(--lr-accent); text-decoration:none; }
.lr-coverage-states .dropdown-menu { --bs-dropdown-min-width:190px; --bs-dropdown-padding-x:6px; --bs-dropdown-padding-y:6px; --bs-dropdown-border-color:var(--lr-line); --bs-dropdown-border-radius:var(--lr-radius-panel); --bs-dropdown-box-shadow:0 10px 30px rgba(20,40,30,.12); --bs-dropdown-font-size:13px; --bs-dropdown-link-color:var(--lr-ink); --bs-dropdown-link-hover-color:var(--lr-accent); --bs-dropdown-link-hover-bg:var(--lr-accent-soft); --bs-dropdown-link-active-color:var(--lr-accent); --bs-dropdown-link-active-bg:var(--lr-accent-soft); --bs-dropdown-header-color:var(--lr-muted); --bs-dropdown-header-padding-x:10px; --bs-dropdown-header-padding-y:4px; --bs-dropdown-item-padding-x:10px; --bs-dropdown-item-padding-y:7px; box-shadow:var(--bs-dropdown-box-shadow); }
.lr-coverage-states .dropdown-header { font-size:11px; font-weight:550; margin:0; }
.lr-coverage-states .dropdown-item { border-radius:var(--lr-radius-control); }
.lr-save-form { margin:0; }
.lr-save-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:8px 10px; border:1px solid var(--lr-line); border-radius:8px; background:var(--lr-paper); color:var(--lr-muted); text-decoration:none; font-size:12px; white-space:nowrap; }
.lr-save-button:hover,.lr-save-button[aria-pressed=true] { color:var(--lr-accent); background:var(--lr-accent-soft); }
.lr-save-button[aria-pressed=true] .lr-icon { fill:currentColor; }
.lr-save-button:disabled { opacity:.55; cursor:wait; }
.detail-record-meta .lr-save-form,.detail-record-meta>.lr-save-button { margin-bottom:12px; }
.detail-record-meta .lr-save-button span { display:inline; color:inherit; margin:0; }
.search-results .regtbl td.c-property { position:relative; padding-right:46px!important; }
.search-results .c-property>.lr-save-form,.search-results .c-property>.lr-save-button { position:absolute; right:0; top:0; }
.search-results .c-property .lr-save-button { width:40px; padding:8px; }
.search-results .c-property .lr-save-button span { display:none; }
.lr-workspace-status { position:fixed; bottom:20px; left:calc(50% + var(--lr-sidebar)/2); transform:translateX(-50%); max-width:min(90vw,480px); padding:12px 18px; background:var(--lr-ink); color:white; border-radius:8px; z-index:1100; font-size:13px; pointer-events:none; opacity:0; }
.lr-workspace-status.is-visible { opacity:1; }
.lr-shortlist { max-width:1000px; margin:20px auto; }
.lr-shortlist header { margin-bottom:36px; }
.lr-shortlist h2 { font-size:36px; font-weight:450; letter-spacing:-.035em; }
.lr-shortlist header p { color:var(--lr-muted); margin-top:14px; }
.lr-shortlist header>span { color:var(--lr-muted); font-size:12px; }
.lr-saved-row { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:26px 0; border-bottom:1px solid var(--lr-line); }
.lr-saved-row>div { min-width:0; }
.lr-saved-row h3 { font-size:20px; font-weight:500; overflow-wrap:anywhere; }
.lr-saved-row h3 a { color:var(--lr-ink); text-decoration:none; }
.lr-saved-row p { color:var(--lr-muted); font-size:12px; }
.lr-saved-status { margin-bottom:18px; }
.lr-saved-row dl { display:flex; gap:40px; margin:0; }
.lr-saved-row dt { font-size:11px; font-weight:400; color:var(--lr-muted); }
.lr-saved-row dd { font-size:17px; margin:5px 0 0; }
.lr-saved-row.is-removed { opacity:.65; }
.lr-shortlist-empty { text-align:center; padding:65px 20px; }
.lr-shortlist-empty>.lr-icon { width:32px; height:32px; margin-bottom:20px; color:var(--lr-accent); }
.lr-shortlist-empty h3 { font-size:25px; font-weight:500; }
.lr-shortlist-empty p { color:var(--lr-muted); margin:16px auto 26px; max-width:50ch; }
.lr-saved-pagination { display:flex; justify-content:space-between; padding:24px 0; }
.lr-settings .lr-recent { display:block; margin:32px 0 0; max-width:520px; border-top:1px solid var(--lr-line); padding-top:24px; }
.lr-settings-header button { white-space:nowrap; }
.lr-sidebar-bottom { margin-top:auto; }
.lr-freshness { font-size:12px; color:var(--lr-muted); line-height:1.7; margin:16px 12px; }
.lr-freshness small { display:block; font-size:11px; margin-top:5px; }
.lr-status-dot { display:inline-block; width:6px; height:6px; background:var(--lr-muted); border-radius:50%; margin-right:6px; }
.lr-status-dot.is-fresh { background:#568166; }
.lr-avatar { display:inline-grid; place-items:center; width:32px; height:32px; flex-shrink:0; background:var(--lr-accent-soft); color:var(--lr-accent-hover); border-radius:50%; font-size:13px; text-decoration:none; }
.lr-profile-link { display:flex; align-items:center; gap:10px; border-top:1px solid var(--lr-line); padding:18px 10px 0; color:var(--lr-ink); text-decoration:none; font-size:13px; }
.lr-profile-link small { display:block; font-size:11px; color:var(--lr-muted); margin-top:3px; }
.lr-profile-link>.lr-icon { margin-left:auto; width:15px; }
.lr-app { margin-left:var(--lr-sidebar); min-height:100dvh; display:flex; flex-direction:column; }
.lr-topbar { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 40px; font-size:12px; color:var(--lr-muted); }
.lr-topbar-actions { display:flex; align-items:center; gap:24px; flex-shrink:0; margin-left:auto; }
.lr-topbar-actions a { text-decoration:none; }
.lr-signin { display:inline-flex; align-items:center; min-height:44px; padding:0 8px; margin:-12px -8px; }
.lr-topbar-actions .lr-icon { width:14px; height:14px; margin-left:5px; }
.lr-main { flex:1; width:100%; min-width:0; padding:20px 40px 40px; }
.lr-main:has(.search-workspace) { padding:0; }
.lr-terrain { position:absolute; inset:-25px 0 auto; height:630px; pointer-events:none; overflow:hidden; z-index:0; mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 78%,transparent); }
.lr-terrain canvas { display:block; width:100%; height:100%; opacity:.9; mask-image:radial-gradient(ellipse 25% 32% at 50% 30%,transparent 25%,#0005 70%,#000 125%); }
@media(max-width:650px) { .lr-terrain { height:570px; } .lr-terrain canvas { opacity:.7; } }
.lr-footer { border-top:1px solid var(--lr-line); padding:24px 40px; color:var(--lr-muted); font-size:12px; line-height:1.8; }
.lr-footer nav { display:flex; flex-wrap:wrap; gap:6px 18px; }
.lr-footer nav + nav { margin-top:4px; }
.lr-footer a { color:var(--lr-muted); }
@media(max-width:650px) { .lr-footer nav { gap:0 18px; } .lr-footer a { display:inline-flex; align-items:center; min-height:44px; } }
.page-title { font-family:var(--lr-font); text-transform:none; letter-spacing:-.025em; font-weight:550; }
.brand-name { font-family:var(--lr-font); text-transform:none; letter-spacing:-.03em; }
.btn { border-radius:var(--lr-radius-control); font-size:13px; padding:10px 16px; font-weight:500; }
.btn-sm { font-size:12px; padding:7px 12px; }
.btn-primary { --bs-btn-bg:var(--lr-accent); --bs-btn-border-color:var(--lr-accent); --bs-btn-hover-bg:var(--lr-accent-hover); --bs-btn-hover-border-color:var(--lr-accent-hover); }
.btn-outline-secondary { --bs-btn-color:var(--lr-ink); --bs-btn-border-color:var(--lr-line); --bs-btn-hover-bg:var(--lr-wash); --bs-btn-hover-color:var(--lr-ink); --bs-btn-hover-border-color:#cbd3cf; }
.card { border-radius:var(--lr-radius-panel); box-shadow:none!important; }
.card-header { background:transparent; padding:16px 20px; }
.card-body { padding:20px; }
.form-control,.form-select { font-size:14px; padding:11px 13px; border-color:#cbd3cf; }
.form-label { font-size:13px; font-weight:500; }
.alert-warning { --bs-alert-bg:var(--lr-warning-soft); --bs-alert-color:var(--lr-warning); --bs-alert-border-color:#e8dfc6; }
.lr-fact { display:flex; justify-content:space-between; align-items:baseline; gap:24px; border-bottom:1px solid var(--lr-line); padding:14px 0; font-size:13px; }
.lr-fact dt { color:var(--lr-muted); font-weight:400; }
.lr-fact dd { text-align:right; margin:0; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.lr-fact small { display:block; font-size:12px; color:var(--lr-muted); margin-top:5px; max-width:38ch; }
@media(max-width:1050px) { :root { --lr-sidebar:72px; } .lr-sidebar { padding:23px 10px; } .lr-brand { margin:0 auto 30px; } .lr-brand span,.lr-nav-link span,.lr-sidebar-bottom { display:none; } .lr-nav-link { justify-content:center; padding:12px; } .lr-topbar { padding-inline:24px; } .lr-main { padding-inline:24px; } }
@media(max-width:650px) { :root { --lr-sidebar:0px; } .lr-sidebar { position:sticky; top:0; width:100%; height:63px; flex-direction:row; align-items:center; justify-content:space-between; padding:0 16px; border-right:0; border-bottom:1px solid var(--lr-line); } .lr-brand { margin:0; font-size:23px; } .lr-brand span { display:block; } .lr-brand svg { width:26px; } .lr-sidebar nav { display:flex; gap:0; } .lr-nav-link { padding:10px; } .lr-app { min-height:calc(100dvh - 63px); } .lr-topbar { min-height:64px; padding:14px 20px; gap:12px; } .lr-context { max-width:45%; font-size:11px; } .lr-topbar-actions { gap:14px; } .lr-main { padding:16px 20px 32px; } .lr-footer { padding:24px 20px; } }
@media(max-width:360px) { .lr-brand span { display:none; } }
@media(max-width:1050px) { .lr-recent,.lr-keyhint { display:none; } .lr-topbar { min-height:65px; } }
@media(max-width:650px) { .lr-topbar { min-height:44px; padding-block:4px; } .lr-shortlist h2 { font-size:28px; } .lr-saved-row { gap:10px; } .lr-saved-row .lr-save-button span { display:none; } .lr-saved-row dl { gap:20px; } }
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
@media(max-width:1050px) { .lr-coverage-meta { gap:14px; } }
@media(max-width:650px) { .lr-topbar .lr-context { display:none; } .lr-topbar-actions { width:100%; justify-content:space-between; } }
@media(max-width:1050px) {
  .lr-nav-link { flex-direction:column; gap:4px; padding:9px 3px; }
  .lr-nav-link .lr-nav-compact { display:block; font-size:10px; line-height:1.2; white-space:nowrap; }
}
@media(max-width:650px) {
  .lr-sidebar nav { gap:4px; }
  .lr-nav-link { min-width:44px; margin:0; padding:7px 5px; }
  .lr-nav-link .lr-icon { width:19px; height:19px; }
}
/* On a phone the hero text spans the width: clear the terrain behind all of it. */
@media(max-width:650px) { .lr-terrain canvas { opacity:.4; mask-image:radial-gradient(ellipse 75% 42% at 50% 30%,transparent 45%,#0005 85%,#000 130%); } }
/* The states menu takes the site's green focus ring, not Bootstrap's blue. */
.lr-topbar-actions .btn-link:focus-visible { box-shadow:none; outline:2px solid var(--lr-accent); outline-offset:3px; }
