.share{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.share__error{color:var(--bad);font-size:12px}.compare__table{border-collapse:collapse;width:100%;font-size:11px}.compare__table th,.compare__table td{border-bottom:1px solid var(--panel-border);text-align:left;vertical-align:top;padding:3px 4px}.compare__table tbody th{color:var(--text-muted);font-weight:500}.compare__a{color:var(--accent)}.compare__b{color:#f59e0b}.compare__note{margin:6px 0 0;font-size:11px}.explain__table{border-collapse:collapse;width:100%;font-size:12px}.explain__table th,.explain__table td{border-bottom:1px solid var(--panel-border);text-align:left;vertical-align:top;padding:4px 6px}.explain__table th{color:var(--text-muted);font-weight:600}.explain__mono{font-family:var(--mono);word-break:break-word;font-size:11px}.explain__result{font-weight:600}.explain__ref{color:var(--accent);font-size:11px}.explain__assumptions{color:var(--text-muted);margin:4px 0 12px;padding-left:18px;font-size:12px}.install{margin:0}.install svg{width:100%;height:auto;display:block}.install__room{stroke:var(--text-muted);stroke-width:2px}.install__screen{stroke:var(--text);stroke-width:5px;stroke-linecap:butt}.install__beam--ok{fill:color-mix(in srgb, var(--ok) 18%, transparent)}.install__beam--warn{fill:color-mix(in srgb, var(--warn) 18%, transparent)}.install__beam--bad{fill:color-mix(in srgb, var(--bad) 18%, transparent)}.install__image{stroke-width:5px}.install__image--ok{stroke:var(--ok)}.install__image--warn{stroke:var(--warn)}.install__image--bad{stroke:var(--bad)}.install__axis{stroke:var(--text-muted);stroke-width:1.2px;stroke-dasharray:5 4}.install__pole{stroke:var(--text-muted);stroke-width:4px}.install__body{fill:color-mix(in srgb, var(--text-muted) 40%, var(--panel));stroke:var(--text-muted);stroke-width:1.2px}.install__lens{fill:var(--text)}.install__dim line,.install__dim path{stroke:#f59e0b;stroke-width:1.3px;fill:none}.install__dim--shift line,.install__dim--shift path{stroke:var(--accent);stroke-width:2px}.install__label{fill:var(--text);font-weight:700}.install__legend{gap:2px;margin:6px 0 0;font-size:12px;display:grid}.install__row{grid-template-columns:2.2em 1fr;gap:6px;display:grid}.install__row dt{color:#f59e0b;font-weight:700}.install__row dd{font-variant-numeric:tabular-nums;margin:0}.install__note{color:var(--text-muted);margin:6px 0 0;font-size:11px}.lens-view{margin:0}.lens-view svg{aspect-ratio:1;width:100%;max-height:280px;margin:0 auto;display:block}.lens-view__axis{stroke:var(--panel-border);stroke-width:.08px}.lens-view__circle{fill:color-mix(in srgb, var(--accent) 8%, transparent);stroke:var(--accent);stroke-width:.18px}.lens-view__circle--approx{stroke-dasharray:.8 .5}.lens-view__frame{fill:none;stroke-width:.2px}.lens-view__frame--center{stroke:var(--text-muted);stroke-width:.1px;stroke-dasharray:.5 .4}.lens-view__frame--ok{stroke:var(--ok);fill:color-mix(in srgb, var(--ok) 14%, transparent)}.lens-view__frame--warn{stroke:var(--warn);fill:color-mix(in srgb, var(--warn) 14%, transparent)}.lens-view__frame--bad{stroke:var(--bad);fill:color-mix(in srgb, var(--bad) 14%, transparent)}.lens-view__corner--ok{fill:var(--ok)}.lens-view__corner--warn{fill:var(--warn)}.lens-view__corner--bad{fill:var(--bad)}.lens-view__caption{color:var(--text-muted);text-align:center;margin-top:4px;font-size:12px}.viewing-scale{width:100%;max-width:320px;height:auto;margin:2px 0 4px;display:block}.viewing-scale__seg--ideal{fill:var(--ok)}.viewing-scale__seg--good{fill:var(--warn)}.viewing-scale__seg--poor{fill:var(--bad);opacity:.75}.viewing-scale__tick{fill:var(--text-muted);font-size:10px}.viewing-scale__marker{fill:var(--text)}.viewing-angle{font-variant-numeric:tabular-nums;margin:8px 0 4px;font-size:12px}.placement__heading{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:12px 0 4px;font-size:12px}.placement__readout{grid-template-columns:auto 1fr;gap:2px 10px;margin:6px 0;font-size:12px;display:grid}.placement__readout dt{color:var(--text-muted)}.placement__readout dd{font-variant-numeric:tabular-nums;margin:0}.placement__negative{color:var(--bad);font-weight:600}.placement__hint{margin:0 0 6px;font-size:11px}.editor{border:1px solid var(--panel-border);background:var(--panel);width:min(720px,94vw);max-height:90vh;color:var(--text);border-radius:10px;padding:16px 20px}.editor::backdrop{background:#00000080}.editor__title{margin:0 0 8px;font-size:18px}.editor__note{color:var(--text-muted);margin:0 0 8px;font-size:12px}.editor__section{border:1px solid var(--panel-border);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:10px 0;padding:8px 12px 10px;display:grid}.editor__section legend{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 6px;font-size:12px;font-weight:600}.editor__field{flex-direction:column;gap:2px;font-size:12px;display:flex}.editor__field--wide,.editor__hint,.editor__derived,.editor__check{grid-column:1/-1}.editor__label{color:var(--text-muted)}.editor__input{align-items:center;gap:4px;display:flex}.editor input[type=text],.editor select,.editor textarea{border:1px solid var(--panel-border);background:var(--bg);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:4px;padding:4px 6px}.editor__field--invalid input{border-color:var(--bad)}.editor__suffix{color:var(--text-muted)}.editor__check{align-items:center;gap:6px;font-size:12px;display:flex}.editor__derived{color:var(--text-muted);margin:0;font-size:12px}.editor__hint{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:6px;padding:6px 8px;font-size:12px}.editor__errors{background:color-mix(in srgb, var(--bad) 12%, transparent);border-radius:6px;margin:8px 0;padding:8px 8px 8px 24px;font-size:12px}.editor__actions{gap:8px;margin-top:12px;display:flex}.button:disabled{opacity:.45;cursor:not-allowed}@media (width<=600px){.editor__section{grid-template-columns:1fr}}.digitize{width:min(900px,96vw)}.digitize__step{background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:6px;margin:8px 0;padding:6px 8px;font-size:13px}.digitize__values{gap:16px;margin-bottom:6px;font-size:12px;display:flex}.digitize__values input{border:1px solid var(--panel-border);background:var(--bg);width:8ch;color:var(--text);font:inherit;border-radius:4px;margin-left:6px;padding:3px 5px}.digitize__canvas{border:1px solid var(--panel-border);cursor:crosshair;background:#fff;border-radius:6px;width:100%;max-height:60vh;display:block}.digitize__marker circle{stroke:#fff;stroke-width:1.5px}.digitize__marker text{fill:#0f172a;paint-order:stroke;stroke:#fff;font-weight:700}.digitize__marker--origin circle{fill:#ef4444}.digitize__marker--axis circle{fill:#3b82f6}.digitize__marker--vertex circle{fill:#16a34a}.digitize__outline{fill:#16a34a33;stroke:#16a34a;stroke-width:2px}.fig{color:var(--text);font-family:var(--font)}.fig text{fill:var(--text-muted);font-size:10px}.fig .fig-caption{fill:var(--text);font-size:11px;font-weight:600}.fig .fig-formula{fill:var(--text);font-family:var(--mono);font-size:11px}.fig-body{fill:color-mix(in srgb, var(--text-muted) 18%, transparent);stroke:var(--text-muted);stroke-width:1.2px}.fig-lens,.fig-lens-barrel{fill:color-mix(in srgb, var(--accent) 25%, transparent);stroke:var(--accent);stroke-width:1.2px}.fig-dot{fill:var(--accent)}.fig-thin,.fig-axis{stroke:var(--text-muted);stroke-width:.8px;stroke-dasharray:3 3}.fig-screen{stroke:var(--text);stroke-width:3px}.fig-frame{fill:color-mix(in srgb, var(--accent) 16%, transparent);stroke:var(--accent);stroke-width:1.2px}.fig-frame--ghost{fill:none;stroke:var(--text-muted);stroke-dasharray:4 3}.fig-beam{fill:color-mix(in srgb, var(--ok) 14%, transparent);stroke:var(--ok);stroke-width:.8px}.fig-dim line{stroke:var(--text-muted);stroke-width:1px}.fig .fig-arrowhead{fill:context-stroke}.fig-dim--hl line{stroke:var(--warn);stroke-width:2px}.fig .fig-dim--hl text{fill:var(--warn);font-weight:700}.projector-card{margin:6px 0 4px}.projector-card .readout{margin-top:6px}.projector-more{border:1px solid var(--panel-border);border-radius:6px;margin:6px 0;padding:4px 8px;font-size:12px}.projector-more>summary{color:var(--text-muted);cursor:pointer}.projector-more[open]>summary{margin-bottom:4px}.projector-more__flag{color:var(--accent);vertical-align:2px;margin-left:6px;font-size:9px}.badge{cursor:help;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.badge--ok{background:color-mix(in srgb, var(--ok) 20%, transparent);color:var(--ok)}.badge--warn{background:color-mix(in srgb, var(--warn) 22%, transparent);color:var(--warn)}.projector-notes{color:var(--text-muted);margin-top:6px;font-size:12px}.projector-notes p{margin:4px 0}.projector-notes ul{margin:4px 0;padding-left:18px}.note--warn{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--text)}.muted{color:var(--text-muted)}.projector-actions{flex-wrap:wrap;gap:4px;margin:6px 0;display:flex}.projector-actions--files{margin-top:-2px}.projector-actions__import{display:inline-block}.projector-diff{border-collapse:collapse;width:100%;font-size:12px}.projector-diff th,.projector-diff td{text-align:left;border-bottom:1px solid var(--panel-border);padding:2px 4px}.projector-diff__old{color:var(--text-muted);text-decoration:line-through}.projector-diff__new{color:var(--warn);font-weight:600}.shift-map{margin:0}.shift-map svg{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.shift-map__plot{fill:var(--bg);stroke:var(--panel-border);stroke-width:1px}.shift-map__grid{stroke:var(--panel-border);stroke-width:1px;opacity:.7}.shift-map__axis{stroke:var(--text-muted);stroke-width:1.2px}.shift-map__tick,.shift-map__axis-title{fill:var(--text-muted)}.shift-map__envelope{fill:color-mix(in srgb, var(--accent) 22%, transparent);stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}.shift-map__passport{fill:none;stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:6 4}.shift-map__range line{stroke:var(--ok);stroke-width:4px;stroke-linecap:round}.shift-map__range line.shift-map__cap{stroke-width:2px}.shift-map__range text{fill:var(--text);paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round;font-weight:600}.shift-map__hover{fill:none;stroke:var(--text-muted);stroke-width:1.5px}.shift-map__hit{fill:#0000;cursor:grab}.shift-map__point{stroke:var(--panel);stroke-width:2.5px;pointer-events:none}.shift-map__point--ok{fill:var(--ok)}.shift-map__point--warn{fill:var(--warn)}.shift-map__point--bad{fill:var(--bad)}.shift-map__caption{min-height:2.8em;margin-top:6px;font-size:13px}.shift-map__legend{color:var(--text-muted);flex-wrap:wrap;gap:4px 14px;margin:6px 0;padding:0;font-size:12px;list-style:none;display:flex}.shift-map__legend li{align-items:center;gap:6px;display:inline-flex}.shift-map__swatch{box-sizing:border-box;width:18px;height:10px;display:inline-block}.shift-map__swatch--envelope{background:color-mix(in srgb, var(--accent) 30%, transparent);border:2px solid var(--accent)}.shift-map__swatch--passport{border:1.5px dashed var(--text-muted)}.shift-map__swatch--range{background:var(--ok);border-radius:2px;height:4px}.shift-map__values{grid-template-columns:1fr;gap:1px;margin:6px 0 0;font-size:12px;display:grid}.shift-map__values dt{color:var(--text-muted);margin-top:4px}.shift-map__values dd{font-variant-numeric:tabular-nums;margin:0}.shift-map__envelope--b{fill:#f59e0b1f;stroke:#f59e0b;stroke-dasharray:7 4}.shift-map__point-b{fill:#f59e0b;stroke:var(--panel);stroke-width:2px;pointer-events:none}.shift-map svg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.verdict{font-size:13px}.verdict__main{flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.verdict__headline--ok{color:var(--ok)}.verdict__headline--bad{color:var(--bad)}.verdict__fix{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.verdict__warnings{color:var(--warn);flex-wrap:wrap;gap:4px 12px;margin:6px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.verdict__warnings li:before{content:"⚠ "}.verdict__estimate{color:var(--text-muted);margin:6px 0 0;font-size:12px}.verdict__problems{color:var(--bad);font-weight:600}.verdict__problems li:before{content:"✖ "}.drawing{width:100%;height:auto;font-family:var(--font);display:block}.drawing__room{fill:color-mix(in srgb, var(--text-muted) 5%, transparent);stroke:var(--text-muted);stroke-width:1.2px}.drawing__floor,.drawing__wall{stroke:var(--text);stroke-width:2px}.drawing__screen{stroke:var(--text);stroke-width:5px}.drawing__beam--ok{fill:color-mix(in srgb, var(--ok) 16%, transparent);stroke:color-mix(in srgb, var(--ok) 55%, transparent);stroke-width:.8px}.drawing__beam--bad{fill:color-mix(in srgb, var(--bad) 16%, transparent);stroke:color-mix(in srgb, var(--bad) 55%, transparent);stroke-width:.8px}.drawing__image{stroke-width:3px}.drawing__image--ok{stroke:var(--ok)}.drawing__image--bad{stroke:var(--bad)}.drawing__axis{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:6 4}.drawing__center{stroke:var(--text-muted);stroke-width:.8px;stroke-dasharray:8 3 2 3}.drawing__body{fill:color-mix(in srgb, var(--text-muted) 35%, var(--panel));stroke:var(--text);stroke-width:1.2px}.drawing__pole{stroke:var(--text-muted);stroke-width:3px}.drawing__lens{fill:var(--accent);stroke:var(--panel);stroke-width:1px}.drawing__viewer circle{fill:none;stroke:var(--text-muted);stroke-width:1.2px}.drawing__viewer text{fill:var(--text-muted);text-anchor:middle}.drawing__dim line{stroke:var(--text);stroke-width:.9px}.drawing__dim .drawing__ext{stroke-width:.6px;opacity:.6}.drawing__dim .drawing__tick{stroke-width:1.4px}.drawing__dim-text{fill:var(--text);font-weight:600}.drawing__dim .drawing__dim-bg{fill:var(--panel);stroke:none}.drawing__dim--shift line{stroke:var(--accent)}.drawing__dim--shift .drawing__dim-text{fill:var(--accent)}.drawing__dim--muted line{stroke:var(--text-muted)}.drawing__dim--muted .drawing__dim-text{fill:var(--text-muted);font-weight:500}.report{display:none}.report--offscreen{pointer-events:none;width:186mm;display:block;position:fixed;top:0;left:-10000px}.report__header{border-bottom:2px solid #111;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:6px;display:flex}.report__header h1{margin:0;font-size:18px}.report__header p{margin:2px 0}.report__status{text-align:right;flex:none}.report__see-notes{color:#b45309;font-size:9.5px}.report__verdict{color:#b91c1c;border:1.5px solid #b91c1c;border-radius:6px;margin:0;padding:4px 10px;font-size:13px;font-weight:700;display:inline-block}.report__verdict--ok{color:#15803d;border-color:#15803d}.report__figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:8px 0;display:grid}.report__figure{border:1px solid #cbd5e1;border-radius:6px;padding:4px 8px}.report__figure dt{color:#475569;font-size:9.5px}.report__figure dd{font-variant-numeric:tabular-nums;flex-direction:column;margin:1px 0 0;display:flex}.report__figure strong{font-size:14px}.report__figure span{color:#475569;font-size:9.5px}.report__block{break-inside:avoid;margin:4px 0}.report__block h3{margin:0 0 3px;font-size:12px}.report__drawing{margin-top:6px}.report__drawing .drawing{margin:0 auto}.report__legend{color:#475569;margin:4px 0 0;font-size:9px;line-height:1.35}.report__notices ul{color:#b45309;margin:0;padding-left:16px}.report__notices .report__problem{color:#b91c1c;font-weight:700}.report__check{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.report .shift-map svg{max-height:70mm}.report .lens-view svg{max-height:48mm}.report__scene{object-fit:contain;border:1px solid #cbd5e1;width:100%;max-height:60mm;display:block}.report__tables{grid-template-columns:1fr 1fr;gap:6px 12px;margin-top:6px;display:grid}.report table{border-collapse:collapse;width:100%}.report th,.report td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:2px 3px}.report th{color:#475569;font-weight:500}.report td{font-variant-numeric:tabular-nums;white-space:nowrap}.report__footer{color:#64748b;margin-top:8px;font-size:9px}.report{--bg:#fff;--panel:#fff;--panel-border:#cbd5e1;--text:#111;--text-muted:#475569;--accent:#2563eb;--ok:#15803d;--warn:#b45309;--bad:#b91c1c;color:#111;background:#fff;font-size:11px}@media print{@page{size:A4 portrait;margin:12mm}html,body,#root{background:#fff;height:auto}.layout{display:none!important}.report{display:block}.report__page--next{break-before:page}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f5f6f8;--panel:#fff;--panel-border:#d9dde3;--text:#1b1f27;--text-muted:#5b6472;--accent:#2563eb;--ok:#16a34a;--warn:#d97706;--bad:#dc2626;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--check-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--bg:#12151b;--panel:#1b2029;--panel-border:#2e3542;--text:#e6e9ef;--text-muted:#9aa4b2;--accent:#60a5fa;--ok:#4ade80;--warn:#fbbf24;--bad:#f87171;--check-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%2312151b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12151b;--panel:#1b2029;--panel-border:#2e3542;--text:#e6e9ef;--text-muted:#9aa4b2;--accent:#60a5fa;--ok:#4ade80;--warn:#fbbf24;--bad:#f87171;--check-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%2312151b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px}a{color:var(--accent)}.layout{grid-template:"header header header""setup scene diagrams"minmax(0,1fr)"verdict verdict verdict"/320px minmax(0,1fr) 400px;gap:8px;height:100%;padding:8px;display:grid}.layout>*{min-height:0}.layout__setup,.layout__diagrams{flex-direction:column;gap:8px;display:flex;overflow-y:auto}.layout__scene,.layout__verdict,.header{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:10px 12px}.layout__scene{grid-area:scene;padding:0;position:relative;overflow:hidden}.layout__setup{grid-area:setup}.layout__diagrams{grid-area:diagrams}.layout__verdict{grid-area:verdict}.layout__placeholder{color:var(--text-muted);text-align:center;max-width:28ch}.header{flex-wrap:wrap;grid-area:header;align-items:center;gap:8px 16px;display:flex}.header__title{margin:0;font-size:18px}.header__subtitle{color:var(--text-muted);margin-left:6px;font-size:12px;font-weight:400}.header__controls{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-left:auto;display:flex}@media (width<=1023px){html,body,#root{height:auto}.layout{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"header""scene""verdict""setup""diagrams";height:auto}.layout__setup,.layout__diagrams{overflow:visible}.layout__scene{min-height:220px}.layout__verdict{z-index:1;position:sticky;bottom:0}}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px}.panel__title{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-weight:600;list-style:none;display:flex}.panel__title::-webkit-details-marker{display:none}.panel__title:after{content:"";border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);flex:none;width:7px;height:7px;margin-right:2px;transition:transform .15s;transform:rotate(-45deg)}.panel[open]>.panel__title:after{transform:rotate(45deg)}.panel__title:hover:after{border-color:var(--text)}.panel__body{padding:4px 12px 12px}.field{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:8px;margin:4px 0;display:grid}.field__label{color:var(--text-muted);font-size:12px}.field__control{align-items:center;gap:4px;display:flex}.field__input{border:1px solid var(--panel-border);background:var(--bg);width:100%;min-width:0;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;border-radius:4px;padding:4px 6px}.field__input:focus-visible,.button:focus-visible,.segmented__item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field__suffix{min-width:2ch;color:var(--text-muted);font-size:12px}.field__control{position:relative}.field__control>.field__suffix:not(.field__suffix--value){pointer-events:none;min-width:0;font-size:11px;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.field__control:has(>.field__suffix:not(.field__suffix--value))>.field__input{padding-right:2.6em}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;margin:6px 0;display:grid}.field-grid--1{grid-template-columns:minmax(0,1fr)}.field-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid>.field{grid-template-columns:minmax(0,1fr);align-content:start;gap:2px;margin:0}.field-grid .field__label{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.field-hint{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:2px 0 6px;font-size:11px;line-height:1.35}.section-head{border-top:1px solid var(--panel-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;margin:14px 0 4px;padding-top:10px;display:flex}.section-head__title{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.section-head .segmented{margin:0}.control-row{flex-wrap:wrap;align-items:center;gap:6px 12px;margin:4px 0;display:flex}.control-row .segmented{margin:0}.readout{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:6px 0;display:grid}.readout--3{grid-template-columns:repeat(3,minmax(0,1fr))}.readout__item{background:color-mix(in srgb, var(--text-muted) 9%, transparent);border-radius:6px;min-width:0;padding:4px 7px}.readout__item--wide{grid-column:1/-1}.readout dt{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.readout dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:1px 0 0;font-size:12.5px;font-weight:500}.readout__value--bad{color:var(--bad);font-weight:700}.field__suffix--value{text-align:right;min-width:4ch}.field__control--slider input{width:100%}.segmented{border:1px solid var(--panel-border);border-radius:6px;margin:4px 0;display:inline-flex;overflow:hidden}.segmented__item{border:0;border-right:1px solid var(--panel-border);color:var(--text);font:inherit;cursor:pointer;background:0 0;padding:3px 10px;font-size:12px}.segmented__item:last-child{border-right:0}.segmented__item--on{background:var(--accent);color:var(--bg)}input[type=checkbox]{appearance:none;border:1.5px solid var(--text-muted);background:var(--panel) center / 14px 14px no-repeat;cursor:pointer;border-radius:4px;flex:none;place-content:center;width:16px;height:16px;margin:0;transition:background-color .12s,border-color .12s,box-shadow .12s;display:inline-grid}input[type=checkbox]:hover{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent)}input[type=checkbox]:checked{border-color:var(--accent);background-color:var(--accent);background-image:var(--check-mark)}input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;display:inline-flex}:is(.toggle:has(input:checked),.editor__check:has(input:checked)){color:var(--text)}.toggle:has(input:not(:checked)){color:var(--text-muted)}.button{border:1px solid var(--accent);color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:3px 10px;font-size:12px}.button:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.button--ghost{border-color:var(--panel-border);color:var(--text-muted)}.infotip{border:1px solid var(--text-muted);width:14px;height:14px;color:var(--text-muted);text-align:center;cursor:help;border-radius:50%;font-size:10px;line-height:12px;display:inline-block}.infotip__popover{z-index:1000;border:1px solid var(--panel-border);background:var(--panel);max-width:calc(100vw - 16px);color:var(--text);text-align:left;white-space:normal;cursor:default;border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;font-size:12px;font-weight:400;line-height:1.4;display:flex;position:fixed;box-shadow:0 6px 24px #0000002e}.infotip__popover--above{transform:translateY(-100%)}.infotip__figure svg{width:100%;height:auto;display:block}.tabs__content{margin-top:6px}.note{border-radius:6px;margin:8px 0;padding:6px 8px;font-size:12px}.note--ok{background:color-mix(in srgb, var(--ok) 14%, transparent)}.note--warn{background:color-mix(in srgb, var(--warn) 14%, transparent)}.note--bad{background:color-mix(in srgb, var(--bad) 14%, transparent)}.light__caption{margin:4px 0;font-size:11px}.header__history{gap:4px;display:inline-flex}.fit-list{margin:6px 0 0;padding:0;list-style:none}.fit-list__item--on .fit-list__button{background:color-mix(in srgb, var(--accent) 14%, transparent)}.fit-list__button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;grid-template-columns:14px 1fr;align-items:baseline;column-gap:6px;padding:4px 6px;font-size:12px;display:grid}.fit-list__button:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.fit-list__mark--ok{color:var(--ok)}.fit-list__mark--bad{color:var(--bad)}.fit-list__reason{color:var(--text-muted);grid-column:2;font-size:11px}.rating{vertical-align:1px;border-radius:999px;padding:0 6px;font-size:11px;font-weight:600;line-height:16px;display:inline-block}.rating--ideal{background:color-mix(in srgb, var(--ok) 20%, transparent);color:var(--ok)}.rating--good{background:color-mix(in srgb, var(--warn) 20%, transparent);color:var(--warn)}.rating--poor{background:color-mix(in srgb, var(--bad) 20%, transparent);color:var(--bad)}.fit-constraint{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}
