.laboratory-shell{margin:0;padding:1.5rem 0}.lab-route .laboratory-shell>.lab-header h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lab-header{margin-bottom:1.5rem}.box-badges{display:flex;gap:.5rem;margin-top:.5rem}.box-badge{display:inline-block;font-size:var(--type-micro);padding:.15rem .5rem;border-radius:4px;font-family:var(--font-sans);font-weight:500}.box-badge-primary{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.box-badge-credit{background:var(--wash);color:var(--muted);border:1px solid var(--rule)}.toggle-label{font-size:var(--type-fine);color:var(--muted)}.button-toggle{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;font-size:var(--type-fine);border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:4px}.button-toggle.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.photon-box-visual-wrap{margin:1rem 0}.photon-box-canvas{width:100%;border-radius:6px;border:1px solid var(--line);background:var(--panel)}.photon-box-telemetry{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));grid-gap:.75rem;gap:.75rem;margin:.75rem 0;padding:.75rem 1rem;border-radius:4px;border:1px solid var(--line);background:var(--panel);font-size:var(--type-fine)}.telemetry-col{display:flex;flex-direction:column;gap:.25rem}.telemetry-label{margin:0;font-weight:600;color:var(--muted)}.telemetry-value{margin:0;font-family:var(--font-mono);color:var(--ink)}.telemetry-value-fixed{--me03-exact:#166534;color:var(--me03-exact);font-weight:700}.telemetry-value-violation{--me03-violation:#b91c1c;color:var(--me03-violation);font-weight:700}:root[data-theme=kramgasse-night] .telemetry-value-fixed{--me03-exact:#22c55e}:root[data-theme=kramgasse-night] .telemetry-value-violation{--me03-violation:#f87171}@media (prefers-color-scheme:dark){:root:not([data-theme]) .telemetry-value-fixed{--me03-exact:#22c55e}:root:not([data-theme]) .telemetry-value-violation{--me03-violation:#f87171}}.scale-facts-section{margin-top:.75rem;padding:.75rem 1rem;border-radius:4px;background:var(--wash);border:1px solid var(--rule)}.scale-facts-heading{margin:0 0 .5rem;font-size:var(--type-micro);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.scale-facts-table-wrap{overflow-x:auto;max-width:100%}.scale-facts-table{width:100%;text-align:left;border-collapse:collapse;font-size:var(--type-fine)}.scale-facts-row{border-bottom:1px solid var(--rule)}.scale-facts-th{font-weight:600}.scale-facts-td,.scale-facts-th{padding:.25rem .5rem}.scale-facts-print{font-size:var(--type-micro);margin-top:.5rem;color:var(--muted)}.card-boundary-panel{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:4px;background:var(--panel)}.boundary-facts-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));grid-gap:.5rem;gap:.5rem;font-size:var(--type-fine)}.fact-item{display:flex;flex-direction:column}.toggle-group{display:flex;flex-wrap:wrap;gap:.5rem}.input-number{padding:.4rem .6rem;background:var(--panel);color:var(--ink);font-family:var(--font-mono);max-width:14rem}.boundary-ledger-svg-wrap,.input-number{border:1px solid var(--line);border-radius:4px}.boundary-ledger-svg-wrap{container-type:inline-size;background:var(--wash);padding:1rem;margin:1rem 0}.me03-figure-grid{display:grid;grid-gap:1.25rem;gap:1.25rem}@container (min-width: 38rem){.me03-figure-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.me03-figure-title{margin:0;font-size:var(--type-small);font-weight:600}.me03-figure-sub{margin:.25rem 0 .75rem}.me03-ledger{display:grid;grid-gap:.5rem;gap:.5rem;margin:.75rem 0 0}.me03-ledger dt{color:var(--muted)}.me03-ledger dd{margin:0;font-weight:600}.me03-ledger-accent{color:var(--accent);font-weight:700}.me03-ledger-case{border-top:1px solid var(--line);padding-top:.75rem}.boundary-ledger-canvas{display:block;width:100%;max-width:22rem;height:auto}.ledger-card-summary{margin-top:.75rem;font-size:var(--type-fine)}