.app-header{min-height:80px;max-width:1440px;margin:auto;padding:16px 32px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--br-border)}
.app-brand{font-size:18px;font-weight:700;white-space:nowrap;letter-spacing:-.5px}.app-brand span{font-size:12px;font-weight:400;margin-left:8px;letter-spacing:0}.app-header nav{margin-left:auto}.app-header .br-field{margin:0}.app-header select{padding:6px 10px;font-size:12px}
.app-main{max-width:1280px;margin:auto;padding:36px 32px 96px}.app-landing{max-width:1120px;margin:auto;padding:88px 32px 48px}.app-landing h1{font-size:clamp(36px,5.2vw,64px);font-weight:650;line-height:1.22;letter-spacing:-2.5px;white-space:pre-line;word-break:keep-all;margin:22px 0}.app-intro{max-width:580px;font-size:17px;line-height:1.9;color:var(--br-muted);margin:0 0 32px}.app-eyebrow{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--br-muted)}.app-boundary{max-width:760px;margin-top:48px;border-top:1px solid var(--br-border);padding-top:24px}.app-boundary h2{font-size:17px}.app-title{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px}.app-title h1{font-size:30px;letter-spacing:-1px;margin:8px 0 12px}.app-title p{color:var(--br-muted);line-height:1.7;margin:0;max-width:680px}.app-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:32px}.app-panel{border:1px solid var(--br-border);border-radius:var(--br-radius);padding:24px;background:var(--br-background)}.app-panel h2{font-size:18px;margin:0 0 20px}.app-panel h3{font-size:15px;margin:24px 0 16px}.app-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.app-field{display:grid;gap:7px;font-size:12px}.app-field small{font-size:11px;color:var(--br-muted)}.app-field .br-input{width:100%;font-variant-numeric:tabular-nums}.app-field .br-error{font-size:11px}.app-wide{grid-column:1/-1}.app-actions{margin-top:24px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.app-note{padding:14px 16px;background:var(--br-surface);border-left:2px solid var(--br-border);font-size:12px;line-height:1.8;margin:16px 0}.app-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.app-stat{border-left:1px solid var(--br-border);padding-left:18px}.app-stat dt{font-size:12px;color:var(--br-muted)}.app-stat dd{margin:10px 0;font-size:24px;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.app-list{display:grid;gap:16px}.app-card{border:1px solid var(--br-border);border-radius:var(--br-radius);padding:22px}.app-card h3{margin:8px 0;font-size:18px}.app-card .app-stats{margin:18px 0}.app-card .app-stat dd{font-size:20px}.app-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.app-tabs [aria-current="page"],.app-tabs [aria-pressed="true"]{border-color:var(--br-text)}.app-empty{padding:64px 24px;text-align:center;border:1px dashed var(--br-border)}.app-table-wrap{overflow:auto}.app-table{border-collapse:collapse;width:100%;font-size:12px}.app-table th,.app-table td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--br-border);vertical-align:top;line-height:1.6}.app-table th{font-weight:500;color:var(--br-muted)}.app-table td{font-variant-numeric:tabular-nums}.app-live{box-sizing:border-box;width:max-content;word-break:keep-all;overflow-wrap:anywhere;pointer-events:none;position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:0;background:var(--br-text);color:var(--br-background);border-radius:var(--br-radius);font-size:13px;z-index:20}.app-live:not(:empty){padding:12px 20px}.app-stack{display:grid;gap:24px}.app-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.app-details summary{cursor:pointer;padding:14px 0;font-size:13px}.app-meta{font-size:12px;color:var(--br-muted);line-height:1.8;overflow-wrap:anywhere}.app-dialog{max-width:460px}.app-coordinate-map{width:100%;height:320px;background:var(--br-surface);border:1px solid var(--br-border)}.app-coordinate-map text{font-size:12px;fill:var(--br-text)}.app-coordinate-map circle{fill:var(--br-text)}.app-error{padding:24px;border:1px solid var(--br-error);margin:24px 0}.app-checkbox{display:flex;gap:8px;align-items:center;font-size:12px}.app-coordinate-map .app-grid-line{stroke:var(--br-border);fill:none}.app-admin-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:36px}.app-admin-nav{display:flex;flex-direction:column;align-items:stretch;gap:6px}.app-admin-nav button{text-align:left}.app-audit{font-size:11px;word-break:break-all}.app-warning{color:var(--br-error)}
@media(max-width:800px){.app-header{padding:16px;gap:12px;flex-wrap:wrap}.app-brand{width:calc(100% - 120px)}.app-header nav{order:3;width:100%;margin:0}.app-header #logout{margin-left:auto}.app-main{padding:28px 16px 80px}.app-landing{padding:64px 20px 32px}.app-grid,.app-detail-grid{grid-template-columns:1fr}.app-admin-layout{grid-template-columns:1fr}.app-admin-nav{flex-direction:row;overflow:auto}.app-admin-nav button{flex-shrink:0}.app-panel{padding:20px}.app-title{flex-direction:column}.app-stats{gap:12px}.app-stat{padding-left:10px}.app-stat dd{font-size:20px}}
@media(max-width:480px){.app-form-grid{grid-template-columns:1fr}.app-stat dd,.app-card .app-stat dd{font-size:17px}.app-stats{gap:8px}.app-brand span{display:none}.app-landing h1{letter-spacing:-1.5px}.app-panel{padding:16px}}
@media(prefers-reduced-motion:reduce){.app-main *{scroll-behavior:auto}}

.app-main [hidden]{display:none}
.app-json{font:12px ui-monospace,monospace;min-height:160px}.app-json-view{font:11px/1.7 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:360px;overflow:auto;background:var(--br-surface);padding:16px}.app-map-shape{fill:var(--br-border);stroke:var(--br-muted);stroke-width:.8}
/* App-owned header layout keeps the pinned shared components unchanged. */
.app-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px 24px}.app-header .app-brand{grid-column:1;grid-row:1;width:auto}.app-header>.br-field{grid-column:2;grid-row:1}.app-header>#logout{grid-column:3;grid-row:1;white-space:nowrap}.app-header nav{grid-column:1/-1;grid-row:2;margin:0;display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;gap:8px;padding:4px 0}.app-header nav>*{flex-shrink:0}.app-header select{min-width:88px;max-width:110px}
@media(max-width:800px){.app-header{gap:10px 12px}.app-header nav{width:100%;margin:0;order:initial}.app-header #logout{margin:0;font-size:12px}}
/* Map-first source explorer: app-owned layout, pinned ByteRove tokens unchanged. */
.app-explorer{margin-top:24px;min-width:0}.app-explorer-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px}.app-map-tabs{display:none}.app-explorer-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.5fr);gap:20px;align-items:start}.app-map-results{min-width:0;max-height:850px;overflow:auto;display:grid;gap:14px;padding:2px}.app-map-card{padding:20px}.app-map-card[data-selected="true"]{border:2px solid var(--br-text);padding:19px}.app-map-card h2{font-size:17px;margin:12px 0}.app-card-title{font:inherit;font-weight:600;color:var(--br-text);background:transparent;border:0;padding:0;text-align:left;cursor:pointer}.app-map-price{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.app-map-panel{min-width:0;position:sticky;top:16px}.app-map-toolbar{display:flex;gap:8px;flex-wrap:wrap}.app-map-toolbar button{font-size:12px}.app-map-toolbar button[aria-pressed="true"]{background:var(--br-text);color:var(--br-background)}.app-map-figure{margin:12px 0}.app-slippy-map{height:520px;position:relative;overflow:hidden;border:1px solid var(--br-border);border-radius:var(--br-radius);background:var(--br-surface);touch-action:none;isolation:isolate;cursor:grab}.app-slippy-map:active{cursor:grabbing}.app-slippy-map:focus-visible{outline:2px solid var(--br-text);outline-offset:3px}.app-map-tiles,.app-map-vectors,.app-map-pins{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.app-map-tiles img{position:absolute;width:256px;height:256px;max-width:none;user-select:none}.app-map-vectors .app-map-shape{fill:var(--br-border);fill-opacity:.6;stroke-width:1.2}.app-map-line{fill:none;stroke:var(--br-muted);stroke-width:1.5}.app-map-pin{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;min-width:44px;min-height:36px;border:1px solid var(--br-text);border-radius:var(--br-radius);background:var(--br-background);color:var(--br-text);padding:7px 10px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap;box-shadow:0 2px 6px #0002;cursor:pointer}.app-map-pin[aria-pressed="true"]{background:var(--br-text);color:var(--br-background);z-index:2}.app-map-zoom{display:grid;gap:4px;position:absolute;left:12px;top:12px}.app-map-zoom button{min-width:44px;min-height:44px;font-size:22px;background:var(--br-background)}.app-map-credit{position:absolute;bottom:0;right:0;left:0;background:var(--br-background);padding:8px;font-size:10px;line-height:1.5;text-align:right;z-index:3;cursor:default}.app-map-credit a{color:var(--br-text);text-decoration:underline}.app-map-selection{font-size:13px;line-height:1.8;padding:12px 0;min-height:24px}.app-map-pin:focus-visible,.app-card-title:focus-visible{outline:2px solid var(--br-text);outline-offset:4px}
@media(max-width:800px){.app-map-tabs{display:flex;gap:8px}.app-explorer-grid{display:block}.app-explorer-grid[data-map-mode="list"] .app-map-panel{display:none}.app-explorer-grid[data-map-mode="map"] .app-map-results{display:none}.app-map-panel{position:static}.app-map-results{max-height:none}.app-slippy-map{height:460px}.app-explorer-bar{align-items:flex-start}.app-map-tabs [aria-pressed="true"]{border-color:var(--br-text)}}
@media(prefers-reduced-motion:reduce){.app-explorer *{scroll-behavior:auto}}

.app-explorer-filters .app-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.app-explorer-filters .app-panel{padding:18px 20px}.app-explorer-filters .app-panel h2{margin-bottom:14px}.app-explorer-filters .app-actions{margin-top:16px}.app-explorer-filters .app-panel p{margin:10px 0 0}.app-map-dot{position:absolute;width:7px;height:7px;border:1px solid var(--br-background);border-radius:50%;background:var(--br-text);transform:translate(-50%,-50%);pointer-events:none}.app-map-pin{z-index:1}
@media(max-width:800px){.app-explorer-filters .app-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-explorer-filters .app-panel{padding:16px}}

/* App-owned market evidence summary; shared ByteRove tokens/components remain intact. */
.app-evidence-checks{display:grid;gap:0;margin:16px 0 24px;font-size:13px;line-height:1.7}.app-evidence-checks>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px 0;border-bottom:1px solid var(--br-border)}.app-evidence-checks dt{min-width:0}.app-evidence-checks dd{margin:0;white-space:nowrap;color:var(--br-muted)}

.app-quality-mobile{display:none}.app-quality-reading{font-variant-numeric:tabular-nums}.app-quality-mobile>div{padding:16px 0;border-bottom:1px solid var(--br-border)}.app-quality-mobile dt{font-size:13px;font-weight:600}.app-quality-mobile dd{margin:6px 0 0;font-size:13px;line-height:1.8}
@media(max-width:800px){.app-quality-desktop{display:none}.app-quality-mobile{display:block;margin:16px 0}}

/* Public catalog: app-owned layout, shared components and tokens unchanged. */
.app-ob-filters{display:grid;grid-template-columns:2fr repeat(3,minmax(0,1fr));gap:16px;align-items:end}
.app-ob-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.app-ob-grid .app-card,.app-map-card{min-width:0;overflow-wrap:anywhere}
.app-ob-facts{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,2fr);gap:8px 12px;font-size:13px}
.app-ob-facts dt{font-weight:600}.app-ob-facts dd{margin:0;overflow-wrap:anywhere}
.app-ob-hash{overflow-wrap:anywhere;font-size:12px}
@media(max-width:800px){.app-ob-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.app-ob-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.app-ob-filters{grid-template-columns:minmax(0,1fr)}.app-ob-facts{grid-template-columns:minmax(0,1fr)}.app-ob-facts dd{margin-bottom:8px}}
.app-ob-primary{display:grid;gap:8px;margin:16px 0}.app-ob-primary strong{display:block;font-size:18px;font-weight:600;line-height:1.5}
