
/* PASS 89.47 — Site Schematic proof of concept */
.v23-schematic{margin:1.2rem 0 1.5rem;padding:1rem;border:1px solid var(--line,#354052);border-radius:16px;background:rgba(10,18,28,.35)}
.v23-schematic-badge,.v23-sch-stratum{display:inline-block;padding:.3rem .55rem;border:1px solid currentColor;border-radius:999px;font-size:.78rem;opacity:.9}
.v23-schematic-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,.7fr);gap:1rem;align-items:stretch;margin-top:.8rem}
.v23-schematic-canvas{min-width:0}.v23-schematic-canvas svg{width:100%;height:auto;display:block;color:#d5deea}
.v23-sch-bg{fill:#0e1723}.v23-sch-site{fill:#182535;stroke:#8091a6;stroke-width:2}.v23-sch-area path{fill:#213246;stroke:#667b94;stroke-width:1.5;stroke-dasharray:7 5}.v23-sch-feature rect,.v23-sch-feature ellipse{fill:#2b3b4d;stroke:#aebccc;stroke-width:2}.v23-sch-feature text,.v23-sch-area text,.v23-sch-label,.v23-sch-north text,.v23-sch-drain text{fill:#e6edf5;font:600 13px system-ui,sans-serif}.v23-sch-sub{font-size:11px!important;fill:#aebccc!important}.v23-sch-drain path{fill:none;stroke:#69a8c7;stroke-width:5;stroke-linecap:round}.v23-sch-north path{stroke:#e6edf5;stroke-width:2;fill:none}
.v23-sch-marker{cursor:pointer;outline:none}.v23-sch-marker path{fill:#d7a94b;stroke:#fff2c7;stroke-width:2;transition:.18s transform,.18s fill;transform-box:fill-box;transform-origin:center}.v23-sch-marker circle{fill:#111}.v23-sch-marker:hover path,.v23-sch-marker:focus path,.v23-sch-marker.active path{fill:#f4cf73;transform:scale(1.35)}
.v23-schematic-info{border:1px solid var(--line,#354052);border-radius:12px;padding:1rem;background:rgba(0,0,0,.16)}.v23-schematic-info h4{font-size:1.1rem;margin:.2rem 0 .6rem}.v23-schematic-info p:last-child{margin-bottom:0}.v23-sch-stratum{margin-bottom:.5rem}
.v23-sch-legend{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.5rem;font-size:.8rem;opacity:.85}.v23-sch-legend i{display:inline-block;width:.7rem;height:.7rem;margin-right:.3rem;border-radius:2px}.v23-sch-legend .arch{background:#2b3b4d;border:1px solid #aebccc}.v23-sch-legend .find{background:#d7a94b;border-radius:50%}.v23-schematic-source{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line,#354052);font-size:.82rem;opacity:.9}
@media(max-width:800px){.v23-schematic-layout{grid-template-columns:1fr}.v23-schematic{padding:.75rem}.v23-schematic-info{min-height:0}}

/* PASS 89.48 — Site Schematic direct-site-view redesign */
.v23-sch-lower{fill:#182b32;stroke:#78949a;stroke-width:2.2}.v23-sch-upper{fill:#25343d;stroke:#b2c1c7;stroke-width:2.4}
.v23-sch-path{fill:none;stroke:#d4c49b;stroke-width:5;stroke-linecap:round;stroke-dasharray:2 7;opacity:.58}.v23-sch-path.thin{stroke-width:3;opacity:.4}
.v23-sch-excavation{fill:#344c55;stroke:#91abb4;stroke-width:1.5;stroke-dasharray:5 4}.v23-sch-area-label{fill:#dce9ed;font:700 15px system-ui,sans-serif}
.v23-sch-monument path{fill:#5a5143;stroke:#e2d2a7;stroke-width:1.7}.v23-sch-monument .inner{fill:#403a32;stroke-width:1}.v23-sch-monument text,.v23-sch-water text{fill:#d9c99f;font:700 10px system-ui,sans-serif;letter-spacing:.06em}
.v23-sch-water ellipse{fill:#183c4b;stroke:#76b4cc;stroke-width:1.6}.v23-sch-region{fill:#e5edf0;font:700 16px system-ui,sans-serif;letter-spacing:.08em}.v23-sch-region-sub{fill:#9db0b7;font:500 11px system-ui,sans-serif}.v23-sch-scale path{stroke:#e6edf5;stroke-width:2;fill:none}.v23-sch-scale text{fill:#cdd8dd;font:500 10px system-ui,sans-serif}
.v23-sch-marker .v23-sch-hit{fill:#d7a94b;stroke:#fff2c7;stroke-width:2;opacity:.94;transition:.18s transform,.18s fill;transform-box:fill-box;transform-origin:center}.v23-sch-marker .v23-sch-dot{fill:#101820;pointer-events:none}.v23-sch-marker:hover .v23-sch-hit,.v23-sch-marker:focus .v23-sch-hit,.v23-sch-marker.active .v23-sch-hit{fill:#f4cf73;transform:scale(1.25)}
.v23-sch-legend .lower{background:#182b32;border:1px solid #78949a}.v23-sch-legend .upper{background:#25343d;border:1px solid #b2c1c7}.v23-sch-legend .exc{background:#344c55;border:1px dashed #91abb4}
@media(max-width:560px){.v23-schematic-canvas svg{min-width:650px}.v23-schematic-canvas{overflow-x:auto;padding-bottom:.25rem}.v23-sch-legend{font-size:.74rem}}

/* PASS 89.49 — Hazor site-plan geometry correction */
.v23-sch-topography .v23-sch-contour{fill:none;stroke:#6f8790;stroke-width:1.3;opacity:.72}
.v23-sch-topography .v23-sch-contour.outer{fill:#172b31;stroke:#9fb1b6;stroke-width:2.2;opacity:1}
.v23-sch-rampart{fill:none;stroke:#b79b61;stroke-width:5;opacity:.58;stroke-linecap:round}.v23-sch-rampart.inner{stroke-width:2.5;opacity:.38}
.v23-sch-escarp{fill:none;stroke:#7fa0a8;stroke-width:3;stroke-dasharray:4 4;opacity:.75}
.v23-sch-saddle{fill:none;stroke:#0a1118;stroke-width:11;opacity:.48;stroke-linecap:round}.v23-sch-saddle+*{position:relative}
.v23-sch-upper{fill:#293a42;stroke:#c3d0d4;stroke-width:2.3}.v23-sch-upper-contour{fill:none;stroke:#889ba2;stroke-width:1.15;opacity:.66}
.v23-sch-road{fill:none;stroke:#9c9d96;stroke-width:3;stroke-dasharray:10 7;opacity:.72}.v23-sch-road-label{fill:#9eabb0;font:500 10px system-ui,sans-serif;letter-spacing:.03em}
.v23-sch-marker-label{fill:#0f1820;font:800 8.5px system-ui,sans-serif;pointer-events:none}.v23-sch-area-marker .v23-sch-hit{fill:#d6b160;stroke:#fff1c5}.v23-sch-area-marker.active .v23-sch-hit,.v23-sch-area-marker:hover .v23-sch-hit,.v23-sch-area-marker:focus .v23-sch-hit{fill:#ffe092}
.v23-sch-palace path{fill:#684d42;stroke:#efc7ae}.v23-sch-gate path{fill:#355d72;stroke:#a8d6ec}.v23-sch-gate .inner{fill:none;stroke:#d4ecf6;stroke-width:1}
.v23-sch-north.published path{stroke:#e6edf5;stroke-width:2.1;fill:none}.v23-sch-north.published text{fill:#e6edf5;font:700 13px system-ui,sans-serif}
.v23-sch-legend .contour{background:transparent;border-top:2px solid #7f969e;border-radius:0;height:.35rem}.v23-sch-legend .lower{background:#172b31;border:1px solid #9fb1b6}
@media(max-width:560px){.v23-schematic-canvas svg{min-width:720px}}

/* PASS 89.54 — interactive digitized Hazor layer stack */
.v23-schematic-interactive{background:linear-gradient(180deg,rgba(9,16,24,.78),rgba(11,19,28,.58));}
.v23-sch-controls{display:grid;gap:.65rem;margin:.9rem 0 1rem;padding:.75rem;border:1px solid var(--line,#354052);border-radius:12px;background:rgba(7,13,20,.4)}
.v23-sch-control-group{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}
.v23-sch-control-label{min-width:82px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#aebccc}
.v23-sch-toggle,.v23-sch-action{appearance:none;border:1px solid #526274;border-radius:999px;background:#182330;color:#dce5ee;padding:.4rem .62rem;font:650 .78rem/1 system-ui,sans-serif;cursor:pointer;transition:.16s background,.16s border-color,.16s opacity,.16s transform}
.v23-sch-toggle:hover,.v23-sch-toggle:focus-visible,.v23-sch-action:hover,.v23-sch-action:focus-visible{border-color:#9bb0c5;transform:translateY(-1px);outline:none}
.v23-sch-toggle[aria-pressed="true"]{background:#243447;border-color:#70859a}.v23-sch-toggle.is-off,.v23-sch-toggle[aria-pressed="false"]{opacity:.48;background:#111a24}
.v23-sch-toggle i{display:inline-block;width:.62rem;height:.62rem;margin-right:.35rem;border-radius:3px;vertical-align:-.02rem;background:#8aa0b5}
.v23-sch-toggle.phase-iron2-8 i{background:#c5a45d}.v23-sch-toggle.phase-iron2-9-8 i{background:#4d8c79}.v23-sch-toggle.phase-iron2-10 i{background:#587fa7}.v23-sch-toggle.phase-iron1 i{background:#876488}.v23-sch-toggle.phase-lb i{background:#9b5753}.v23-sch-toggle.phase-mb i{background:#b47f4d}
.v23-sch-action{background:transparent;color:#cbd7e3}.v23-sch-status{font-size:.75rem;color:#95a6b7;padding-left:calc(82px + .45rem)}
.v23-sch-digitized [data-phase],.v23-sch-digitized [data-layer],.v23-sch-digitized [data-boundary-line],.v23-sch-digitized [data-sch-marker]{transition:opacity .18s ease}
.v23-schematic-interactive .v23-schematic-info{position:sticky;top:.75rem;align-self:start}
@media(max-width:800px){.v23-sch-control-label{min-width:100%;}.v23-sch-status{padding-left:0}.v23-schematic-interactive .v23-schematic-info{position:static}}

/* PASS 89.55 — Evidence findspots + provenience firewall */
.v23-sch-toggle.evidence-architecture i{background:#d4b266}.v23-sch-toggle.evidence-destruction i{background:#c95d59}.v23-sch-toggle.evidence-samples i{background:#6ea3cf}.v23-sch-toggle.evidence-context i{background:#8d78a8}
.v23-sch-evidence-marker .v23-sch-evidence-halo{fill:none;stroke:#efc7c3;stroke-width:2;stroke-dasharray:4 4;opacity:.9}.v23-sch-evidence-marker .v23-sch-evidence-symbol{fill:#c95d59;stroke:#ffe0dc;stroke-width:1.6}.v23-sch-evidence-marker:hover .v23-sch-evidence-symbol,.v23-sch-evidence-marker:focus .v23-sch-evidence-symbol,.v23-sch-evidence-marker.active .v23-sch-evidence-symbol{fill:#ef7e78}.v23-sch-evidence-marker{cursor:pointer;outline:none}
.v23-sch-legend .destruction{background:#c95d59;transform:rotate(45deg);border-radius:2px}.v23-sch-legend .area-precision{background:transparent;border:1.5px dashed #efc7c3;border-radius:50%}
.v23-sch-precision{margin:.55rem 0 .7rem;padding:.48rem .58rem;border-left:3px solid #d4b266;background:rgba(212,178,102,.08);font-size:.78rem;color:#cdd7e0}.v23-sch-open-link{display:inline-flex;margin-top:.15rem}
.v23-sch-unplaced{margin-top:.85rem;padding:.75rem;border:1px solid #35485c;border-radius:12px;background:rgba(7,13,20,.38)}
.v23-sch-unplaced-head{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:.65rem}.v23-sch-unplaced-head strong{display:block;font-size:.92rem}.v23-sch-unplaced-head small{color:#899bae;max-width:280px;text-align:right}
.v23-sch-unplaced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.v23-sch-unplaced-card{appearance:none;text-align:left;border:1px solid #405266;border-radius:10px;background:#111b26;color:#dde6ee;padding:.65rem;cursor:pointer;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.6rem;transition:.16s border-color,.16s transform,.16s background}.v23-sch-unplaced-card>span{grid-row:1/3;display:grid;place-items:center;min-width:2.35rem;height:2.35rem;border-radius:9px;background:#25394d;color:#d7e5f2;font-size:.72rem;font-weight:850;letter-spacing:.04em}.v23-sch-unplaced-card strong{font-size:.82rem;line-height:1.2}.v23-sch-unplaced-card small{color:#91a2b3;font-size:.72rem;line-height:1.25;margin-top:.12rem}.v23-sch-unplaced-card:hover,.v23-sch-unplaced-card:focus-visible,.v23-sch-unplaced-card.active{outline:none;border-color:#91a9c1;background:#172534;transform:translateY(-1px)}
@media(max-width:640px){.v23-sch-unplaced-grid{grid-template-columns:1fr}.v23-sch-unplaced-head{display:block}.v23-sch-unplaced-head small{display:block;text-align:left;margin-top:.25rem}}

/* PASS 89.56 — full-screen Site Schematic viewer */
.v23-sch-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}
.v23-sch-fullscreen-btn{appearance:none;border:1px solid #788da2;border-radius:999px;background:#1d2a38;color:#eef4fa;padding:.45rem .72rem;font:750 .78rem/1 system-ui,sans-serif;cursor:pointer;transition:.16s background,.16s border-color,.16s transform}
.v23-sch-fullscreen-btn:hover,.v23-sch-fullscreen-btn:focus-visible{background:#2a3c50;border-color:#b4c5d6;transform:translateY(-1px);outline:none}
.v23-sch-viewer-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.v23-sch-close-btn{appearance:none;border:1px solid #8fa6bd;border-radius:999px;background:#304455;color:#f4f8fb;padding:.45rem .72rem;font:750 .78rem/1 system-ui,sans-serif;cursor:pointer;transition:.16s background,.16s border-color,.16s transform}.v23-sch-close-btn:hover,.v23-sch-close-btn:focus-visible{background:#405a72;border-color:#d2dfeb;transform:translateY(-1px);outline:none}.v23-sch-close-btn[hidden]{display:none!important}
body.v23-sch-modal-open{overflow:hidden}
.v23-schematic-interactive.is-fullscreen{position:fixed;inset:0;z-index:100000;margin:0!important;border:0;border-radius:0;padding:1rem 1.2rem 1.2rem;background:#0b121a;overflow:auto;overscroll-behavior:contain}
.v23-schematic-interactive.is-fullscreen .v23-sch-heading{position:sticky;top:-1rem;z-index:12;margin:-1rem -1.2rem 0;padding:1rem 1.2rem .75rem;background:rgba(11,18,26,.97);border-bottom:1px solid #344353;backdrop-filter:blur(10px)}
.v23-schematic-interactive.is-fullscreen .v23-sch-close-btn{display:inline-flex!important;align-items:center;justify-content:center}
.v23-schematic-interactive.is-fullscreen .v23-schematic-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:1rem;align-items:start}
.v23-schematic-interactive.is-fullscreen .v23-schematic-canvas{min-width:0;overflow:auto}
.v23-schematic-interactive.is-fullscreen .v23-sch-digitized{display:block;width:100%;height:auto;min-width:1050px;max-width:none}
.v23-schematic-interactive.is-fullscreen .v23-schematic-info{position:sticky;top:5.25rem;max-height:calc(100vh - 6.5rem);overflow:auto}
.v23-schematic-interactive.is-fullscreen .v23-sch-controls{position:sticky;top:4.55rem;z-index:10;background:rgba(7,13,20,.96);backdrop-filter:blur(8px)}
.v23-schematic-interactive.is-fullscreen .v23-sch-unplaced{margin-bottom:.75rem}
@media(max-width:900px){
  .v23-sch-heading-actions{justify-content:flex-start}
  .v23-schematic-interactive.is-fullscreen{padding:.8rem}
  .v23-schematic-interactive.is-fullscreen .v23-sch-heading{top:-.8rem;margin:-.8rem -.8rem 0;padding:.8rem}
  .v23-schematic-interactive.is-fullscreen .v23-schematic-layout{grid-template-columns:1fr}
  .v23-schematic-interactive.is-fullscreen .v23-schematic-info{position:static;max-height:none}
  .v23-schematic-interactive.is-fullscreen .v23-sch-controls{position:static}
  .v23-schematic-interactive.is-fullscreen .v23-sch-digitized{min-width:1000px}
}

/* PASS 89.58 — reusable Site Schematic viewer hardening */
.v23-sch-map-toolbar{display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap;margin:-.35rem 0 .85rem;padding:.55rem .7rem;border:1px solid #35485c;border-radius:11px;background:rgba(7,13,20,.5)}
.v23-sch-submap-switch,.v23-sch-view-controls{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.v23-sch-map-tab,.v23-sch-view-btn{appearance:none;border:1px solid #526274;border-radius:999px;background:#14202c;color:#dce5ee;padding:.38rem .58rem;font:700 .75rem/1 system-ui,sans-serif;cursor:pointer;transition:.16s background,.16s border-color,.16s transform,.16s opacity}
.v23-sch-map-tab:hover:not(:disabled),.v23-sch-map-tab:focus-visible:not(:disabled),.v23-sch-view-btn:hover,.v23-sch-view-btn:focus-visible{border-color:#9bb0c5;background:#223247;transform:translateY(-1px);outline:none}
.v23-sch-map-tab.active{background:#2a4054;border-color:#93a9bd}.v23-sch-map-tab:disabled{opacity:.38;cursor:not-allowed}
.v23-sch-view-btn[data-sch-zoom]{min-width:2rem;font-size:1rem;padding:.32rem .5rem}.v23-sch-reset-all{border-color:#8b7447;color:#f0dcae}
.v23-sch-zoom-readout{min-width:3.6rem;text-align:center;color:#aebdca;font:750 .75rem/1 system-ui,sans-serif;font-variant-numeric:tabular-nums}
.v23-schematic-canvas{scroll-behavior:auto}.v23-schematic-canvas.is-zoomed{cursor:grab}.v23-schematic-canvas.is-panning{cursor:grabbing;user-select:none}
.v23-sch-legend .precision-exact{background:#73b58a;border:2px solid #d9f4e2;border-radius:50%}.v23-sch-legend .precision-context{background:#8d78a8;border:1px solid #cfc3df;border-radius:3px}
.v23-sch-precision.precision-exact{border-left-color:#73b58a;background:rgba(115,181,138,.08)}.v23-sch-precision.precision-area{border-left-color:#d4b266;background:rgba(212,178,102,.08)}.v23-sch-precision.precision-context{border-left-color:#8d78a8;background:rgba(141,120,168,.09)}
.v23-schematic-interactive.is-fullscreen .v23-sch-map-toolbar{position:sticky;top:11.2rem;z-index:9;background:rgba(7,13,20,.96);backdrop-filter:blur(8px)}
@media(max-width:900px){.v23-sch-map-toolbar{align-items:flex-start}.v23-sch-submap-switch,.v23-sch-view-controls{width:100%}.v23-schematic-interactive.is-fullscreen .v23-sch-map-toolbar{position:static}}
