:root{--bg:#f4f5f8;--surface:#fff;--text:#1c1d24;--muted:#5d6071;--border:#dfe1e8;--accent:#3f5bd8;--accent-text:#fff;--code-bg:#f1f2f6;--danger:#b4232f;--danger-bg:#fdecee;--ok:#217a4b;--ok-bg:#e5f5ec;--wait:#8a5a00;--wait-bg:#fff4dc;--info-bg:#e9edfc;--json-key:#3f5bd8;--json-string:#217a4b;--json-number:#a3480f;--json-other:#8a3fb8}@media (prefers-color-scheme:dark){:root{--bg:#111218;--surface:#1a1b23;--text:#e7e8ef;--muted:#a2a5b6;--border:#2c2e3a;--accent:#8c9ff5;--accent-text:#111218;--code-bg:#14151c;--danger:#ff8a93;--danger-bg:#3a1a1f;--ok:#6fd39c;--ok-bg:#16301f;--wait:#f2c46b;--wait-bg:#33280f;--info-bg:#1f2542;--json-key:#8c9ff5;--json-string:#6fd39c;--json-number:#f3a26b;--json-other:#d29cf5}}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif}h1,h2{margin:0;line-height:1.25}h1{font-size:1.6rem}h2{font-size:1.1rem}.layout{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;gap:28px;max-width:1880px;margin:0 auto;padding:28px 24px 80px;display:grid}.sidebar,.workspace{gap:18px;min-width:0;display:grid}.empty-state{text-align:center;min-height:70vh;color:var(--muted);border:2px dashed var(--border);border-radius:18px;place-content:center;gap:8px;padding:32px;display:grid}.empty-state h2{color:var(--text);font-size:1.4rem}.empty-state p{margin:0}.result-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;gap:24px;padding:24px 28px 32px;display:grid}@media (width<=1100px){.layout{grid-template-columns:1fr;padding:20px 16px 64px}.empty-state{min-height:180px}.result-panel{padding:18px 16px 24px}}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.muted{color:var(--muted);margin:4px 0 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:16px;padding:20px;display:grid}.stack{gap:12px;display:grid}label{gap:4px;font-weight:600;display:grid}input{min-width:0;max-width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:8px 10px;font-weight:400}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;border-radius:8px;justify-self:start;padding:8px 16px;font-weight:600}button.secondary{color:var(--accent);background:0 0}button:disabled{opacity:.5;cursor:not-allowed}.drop{border:1px dashed var(--border);color:var(--muted);border-radius:10px;padding:16px;font-weight:400}.file-list{margin:0;padding-left:20px}.file-list:empty{display:none}.message{background:var(--danger-bg);color:var(--danger);border-radius:8px;margin:0;padding:10px 12px}.reading-header{align-items:center;gap:12px;display:flex}.badge{background:var(--wait-bg);color:var(--wait);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600}.badge[data-status=completed]{background:var(--ok-bg);color:var(--ok)}.badge[data-status=failed]{background:var(--danger-bg);color:var(--danger)}.facts{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.toolbar{flex-wrap:wrap;gap:8px;display:flex}.tabs{gap:4px;margin-right:auto;display:flex}.tab{border-color:var(--border);color:var(--muted);background:0 0}.tab[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.summary,.summary-block,.summary-overview{gap:12px;display:grid}.summary{gap:24px}.summary h3{margin:0;font-size:1rem}.summary .muted{margin:0}.summary-overview{border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:14px 16px}.counts{flex-wrap:wrap;gap:8px;display:flex}.legend>summary{cursor:pointer;color:var(--accent);font-weight:600}.legend ul,.attention{gap:4px;margin:8px 0 0;padding-left:20px;display:grid}.attention{margin:0}.table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.summary-table{border-collapse:collapse;width:100%;font-size:.9rem}.summary-table th,.summary-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:8px 10px}.summary-table thead th{background:var(--code-bg);color:var(--muted);white-space:nowrap}.summary-table tbody th{min-width:160px;font-weight:600}.summary-table tbody tr:last-child>*{border-bottom:none}.summary-table tr[data-kind=notDeclared]{color:var(--muted)}.value{justify-items:start;gap:2px;display:grid}.value+.value{margin-top:8px}.value-text{overflow-wrap:anywhere;font-weight:600}.value-note{color:var(--muted);overflow-wrap:anywhere;font-size:.8rem}.verdict{white-space:nowrap;background:var(--code-bg);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600}.verdict[data-kind=ok]{background:var(--ok-bg);color:var(--ok)}.verdict[data-kind=diverge],.verdict[data-kind=conflict]{background:var(--danger-bg);color:var(--danger)}.verdict[data-kind=notMeasured],.verdict[data-kind=unverifiable]{background:var(--wait-bg);color:var(--wait)}.verdict[data-kind=read],.verdict[data-kind=measuredOnly]{background:var(--info-bg);color:var(--accent)}.json-view{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font:.85rem/1.6 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;overflow-x:auto}.json-node>:not(summary),.json-node>.json-leaf{margin-left:18px}.json-node>summary{cursor:pointer}.json-leaf,.json-node>summary{white-space:pre-wrap;overflow-wrap:anywhere}.json-key{color:var(--json-key);margin-right:6px}.json-meta{color:var(--muted)}.json-string{color:var(--json-string)}.json-number{color:var(--json-number)}.json-boolean,.json-null{color:var(--json-other)}@media (width<=560px){.facts{grid-template-columns:1fr}.facts dd{margin-bottom:6px}.summary-table thead{display:none}.summary-table tr{border-bottom:1px solid var(--border);gap:8px;padding:12px;display:grid}.summary-table tbody tr:last-child{border-bottom:none}.summary-table th,.summary-table td{border-bottom:none;padding:0}.summary-table td:before{content:attr(data-label);color:var(--muted);font-size:.75rem;display:block}.summary-table td:empty{display:none}}.visual{gap:40px;display:grid}.visual-section,.visual-subsection{gap:16px;display:grid}.visual-section>h2{border-bottom:2px solid var(--border);padding-bottom:8px;font-size:1.5rem}.visual-subsection{margin-top:8px}.visual h3{margin:0;font-size:1.2rem}.visual h4{margin:0}.visual-overview{background:var(--bg);border:1px solid var(--border);border-radius:16px;gap:16px;padding:24px 26px;display:grid}.visual-overview>h2{font-size:1.5rem}.visual-overview .verdict{padding:6px 16px;font-size:1rem}.attention-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.attention-list li{background:var(--danger-bg);border-left:5px solid var(--danger);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;font-size:1rem;display:flex}.card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.card-grid.tiles{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.field-card{background:var(--surface);border:1px solid var(--border);border-left:6px solid var(--border);border-radius:14px;align-content:start;gap:10px;padding:18px 20px;display:grid;box-shadow:0 1px 3px #0000000f}.field-card[data-kind=ok]{border-left-color:var(--ok)}.field-card[data-kind=diverge],.field-card[data-kind=conflict]{border-left-color:var(--danger);background:linear-gradient(var(--danger-bg), var(--surface) 70%)}.field-card[data-kind=notMeasured],.field-card[data-kind=unverifiable]{border-left-color:var(--wait)}.field-card[data-kind=read],.field-card[data-kind=measuredOnly]{border-left-color:var(--accent)}.field-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.field-card-header h4{color:var(--muted);font-size:.95rem}.figure{gap:2px;display:grid}.figure-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.figure-value{overflow-wrap:anywhere;margin:0;font-size:1.75rem;font-weight:700;line-height:1.2}.figure-value.measured{font-size:1.3rem}.figure-value.small,.tiles .figure-value{font-size:1.1rem}.field-card-note,.absent-note{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.85rem}.field-card[data-kind=diverge] .field-card-note:first-of-type{color:var(--danger);font-weight:600}.view-button{padding:6px 12px;font-size:.85rem}.drawing-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.drawing-list li{justify-content:space-between;align-items:center;gap:8px;font-size:.9rem;display:flex}.building-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.building-cards{gap:12px;display:grid}.building-cards .card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.sketch{background:var(--bg);border:1px solid var(--border);border-radius:16px;gap:10px;margin:0;padding:18px;display:grid}.sketch figcaption{color:var(--muted);font-size:.85rem}.lot-sketch{width:100%;height:auto;font-family:inherit}.sketch-street{fill:var(--code-bg);stroke:var(--border)}.sketch-lot{fill:var(--ok-bg);stroke:var(--text);stroke-width:2px;stroke-dasharray:10 6}.sketch-building{fill:var(--info-bg);stroke:var(--accent);stroke-width:3px}[data-kind=ok]{--kind-color:var(--ok)}[data-kind=diverge],[data-kind=conflict]{--kind-color:var(--danger)}[data-kind=notMeasured],[data-kind=unverifiable]{--kind-color:var(--wait)}[data-kind=read],[data-kind=measuredOnly]{--kind-color:var(--accent)}.sketch-dim{stroke:var(--kind-color,var(--muted));stroke-width:2.5px}.sketch-label{fill:var(--kind-color,var(--muted));font-size:14px}.sketch-title{fill:var(--text);font-size:16px;font-weight:700}.sketch-name{letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:700}.sketch-value{font-size:14px;font-weight:600}.sketch-verdict{font-size:13px;font-weight:700}.sketch-street-name{fill:var(--text);letter-spacing:.04em;text-transform:uppercase;font-size:15px;font-weight:700}.room-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.room-chip{text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;justify-self:stretch;gap:2px;padding:12px 14px;font-weight:400;display:grid}.room-chip strong{font-size:1rem}.room-chip span{color:var(--muted);font-size:.82rem}.room-chip:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 2px var(--info-bg)}.room-chip:disabled{opacity:1;cursor:default}.viewer{background:var(--surface);width:min(1500px,96vw);max-width:none;height:min(980px,94vh);max-height:none;color:var(--text);border:none;border-radius:18px;padding:0}.viewer[open]{grid-template-rows:auto auto minmax(0,1fr);display:grid}.viewer::backdrop{background:#0a0c14a6}.viewer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;display:flex}.viewer-header h2{font-size:1.3rem}.viewer-actions{flex-shrink:0;gap:8px;display:flex}.viewer-marks{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:12px 22px;display:flex}.mark{text-align:left;max-width:100%;color:var(--text);border-color:var(--border);background:0 0;padding:6px 12px;font-size:.85rem;font-weight:500}.mark[aria-pressed=true]{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.viewer-body{align-content:start;gap:16px;padding:20px 22px;display:grid;overflow:auto}.viewer-missing{border:2px dashed var(--border);border-radius:14px;gap:12px;padding:24px;display:grid}.viewer-missing p{margin:0}.viewer-stage{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.viewer-side{gap:8px;display:grid}.viewer-side p{margin:0;font-size:.85rem}.viewer-stage canvas{border:1px solid var(--border);background:#fff;border-radius:12px;width:100%;height:auto}@media (width<=1400px){.building-layout{grid-template-columns:1fr}}@media (width<=900px){.viewer-stage{grid-template-columns:1fr}.attention-list li{flex-direction:column;align-items:flex-start}.figure-value{font-size:1.45rem}}
