/* A bounded optical bench. Geometry follows the Blender monitor export. */
#audit .au-optical{max-width:1000px;margin:0 auto;padding:32px 40px 36px;background:#090b0c;border:1px solid #3b3830;color:var(--paper);scroll-margin-top:100px;overflow:hidden;position:relative}
#audit .au-optical[hidden]{display:none!important}
#audit .au-optical .au-preview__bar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 8px;text-transform:none;letter-spacing:0}
#audit .au-optical__eyebrow{display:block;color:var(--brass);font:600 11px/18px var(--text);letter-spacing:.15em;text-transform:uppercase;margin-bottom:6px}
#audit .au-optical h3{font:600 clamp(23px,2.8vw,32px)/1.2 var(--text);letter-spacing:-.02em;margin:0}
#audit .au-optical h3:focus{outline:none}
#audit .au-optical .au-preview__host{font:500 13px/20px var(--text);color:var(--casper);max-width:40%;text-align:right;overflow-wrap:anywhere}
#audit .au-optical__scene{position:relative;max-width:780px;aspect-ratio:1.56;margin:14px auto 0;isolation:isolate;background:radial-gradient(ellipse at 50% 85%,#2b241b66,transparent 55%)}
#audit .au-device{position:absolute;width:78%;top:0;left:11%;aspect-ratio:4/3;filter:drop-shadow(0 12px 12px #0009)}
#audit .au-device__frame{display:block;width:100%;height:auto;pointer-events:none;user-select:none}
#audit .au-optical .au-preview__window{position:absolute;left:7.7483%;top:7.1744%;width:84.5033%;height:63.3996%;min-height:0;border:0;border-radius:1px;background:#080e10;overflow:hidden;box-shadow:inset 0 0 18px #0008}
#audit .au-optical .au-preview__window:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
#audit .au-optical .au-preview__image{display:block;width:100%;height:100%;object-fit:cover;object-position:top;filter:brightness(.89);margin:0}
#audit .au-optical .au-preview__placeholder{font:400 clamp(11px,1.5vw,14px)/1.5 var(--text);padding:12px;background:radial-gradient(ellipse at 50% 40%,#162326,#080b0d);color:var(--casper)}
#audit .au-optical .au-preview__sweep{inset:0 0 auto;height:20%;background:linear-gradient(transparent,#b7ded714);border-bottom:1px solid #bff5ecad;box-shadow:0 5px 12px #6fe5d422;animation:none;display:none}
#audit.is-reading .au-optical[data-loaded="true"][data-in-view="true"][data-target="desktop"] .au-device .au-preview__sweep,#audit.is-reading .au-optical[data-in-view="true"][data-target="mobile"] .au-phone .au-preview__sweep{display:block;animation:au-optical-sweep 4.8s linear infinite}
@keyframes au-optical-sweep{from{transform:translateY(-110%)}to{transform:translateY(510%)}}
#audit .au-optical__mount{position:absolute;bottom:0;left:21%;width:58%;height:24px;border-top:1px solid #89754e;border-bottom:2px solid #040505;border-radius:50% 50% 3px 3px;background:linear-gradient(#222628,#111416 35%,#08090a);box-shadow:0 9px 15px #000}
#audit .au-optical__mount span{position:absolute;bottom:4px;right:12px;font:500 8px/12px var(--text);color:#a2a4a1;letter-spacing:.14em}
#audit .au-optical .au-proj{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
#audit .au-optical__readout{position:relative;max-width:640px;margin:28px auto 0;z-index:4}
#audit .au-optical__steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0;margin:0 0 18px;font:500 11px/17px var(--text)}
#audit .au-optical__steps li{border-top:1px solid #4c4a42;padding-top:10px;color:#a4a9aa;min-width:0}
#audit .au-optical__steps span{display:block;font-size:10px;color:#929992;margin-bottom:4px}
#audit .au-optical__steps [data-state="active"]{border-color:var(--teal);color:var(--paper)}
#audit .au-optical__steps [data-state="done"]{border-color:var(--brass);color:var(--paper)}
#audit .au-optical__steps [data-state="failed"]{border-color:#dcab89;color:#eed4c1}
#audit .au-optical .au-preview__status{font:500 16px/24px var(--text);margin:0 0 6px;color:var(--paper)}
#audit .au-optical .au-preview__scope{font:400 12px/18px var(--text);color:var(--soft);margin:0}
#audit.mk .au-optical .au-details,#audit .au-optical__retry{position:static!important;display:flex;align-items:center;justify-content:center;width:100%!important;height:auto!important;min-height:48px;max-width:none!important;margin:22px 0 0!important;padding:14px 20px!important;border:1px solid var(--brass)!important;background:var(--brass)!important;color:#0b0b0b!important;font:700 15px/20px var(--text)!important;text-transform:none!important;letter-spacing:0!important;animation:none!important;text-shadow:none!important;box-shadow:none!important;transform:none!important;cursor:pointer;border-radius:0}
#audit.mk .au-optical .au-details[hidden],#audit .au-optical__retry[hidden]{display:none!important}
#audit .au-optical :is(.au-details,.au-optical__retry):focus-visible{outline:2px solid var(--teal)!important;outline-offset:4px}
#audit .au-phone{position:absolute;right:6%;bottom:22%;width:15%;aspect-ratio:9/19.5;border:3px solid #696862;border-radius:18%/8%;padding:3px;background:linear-gradient(115deg,#33393b,#070809 40%,#2b2e2f);box-shadow:0 8px 20px #000a;z-index:2}
#audit .au-phone__screen{position:relative;border-radius:15%/7%;width:100%;height:100%;overflow:hidden;background:#050708}
#audit .au-phone__image{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
#audit .au-phone__camera{position:absolute;left:35%;top:3%;width:30%;height:3%;border-radius:20px;background:#040505}
@media(max-width:819px){#audit .au-optical{padding:24px 20px;scroll-margin-top:120px;border-inline:0}#audit .au-optical .au-preview__bar{display:block}#audit .au-optical .au-preview__host{display:block;max-width:100%;text-align:left;margin-top:8px}#audit .au-optical__scene{aspect-ratio:1.17;margin-top:18px}#audit .au-device{width:100%;left:0}#audit .au-optical__mount{left:12%;width:76%}#audit .au-optical__readout{margin-top:22px}#audit .au-optical__steps{gap:8px;font-size:10px;line-height:15px}#audit .au-phone{display:none}#audit .au-optical__mount span{font-size:6px;letter-spacing:.08em}}
@media(max-width:819px){#audit.is-reading .au-optical[data-loaded="true"][data-in-view="true"] .au-device .au-preview__sweep{display:block;animation:au-optical-sweep 4.8s linear infinite}}
@media(prefers-reduced-motion:reduce){#audit.is-reading .au-optical .au-preview__sweep{animation:none!important;display:none!important}}
html[data-motion="paused"] #audit.is-reading .au-optical .au-preview__sweep{animation:none!important;display:none!important}
/* Legacy preview rules must not keep an offscreen sweep running. */
#audit.is-reading .au-optical:not([data-in-view="true"]) .au-preview__sweep{animation:none!important;display:none!important}
