.ag-hero{scroll-margin-top:calc(var(--header-h) + 18px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(1.4rem,4vw,4rem);align-items:center;padding-top:clamp(3rem,7vw,6rem)}
.ag-hero-copy :is(h1,h2){max-width:19ch;margin:.65rem 0 1rem}.ag-hero-copy p{max-width:74ch}.ag-hero-copy em{font-style:normal;color:var(--accent)}.ag-hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.35rem}
.ag-hero-card,.ag-card,.ag-note,.ag-panel,.ag-reading,.ag-boundary-grid article{border:1px solid var(--line);background:var(--panel);border-radius:18px}.ag-hero-card{padding:1.2rem}.ag-hero-card>span,.ag-card>span,.ag-reading>span,.ag-boundary-grid span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.ag-equation{margin-top:.8rem;padding:.75rem .9rem;border-radius:12px;background:var(--panel-2,var(--panel));font:600 .92rem/1.45 var(--mono);overflow-wrap:anywhere}.ag-equation.large{font-size:1.01rem}.ag-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.8rem}.ag-mini-grid>div{padding:.65rem;border:1px solid var(--line);border-radius:10px;min-width:0}.ag-mini-grid span{display:block;font-size:.7rem;color:var(--muted)}.ag-mini-grid strong{display:block;margin-top:.18rem;font-size:.84rem;overflow-wrap:anywhere}
.ag-foundation,.ag-lab-section,.ag-boundary{padding-top:clamp(3rem,7vw,6rem)}.ag-foundation-grid,.ag-boundary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ag-card,.ag-boundary-grid article{padding:1rem;min-width:0}.ag-card.primary{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.ag-card h3,.ag-boundary-grid strong{display:block;margin:.35rem 0 .45rem}.ag-card p,.ag-boundary-grid p{margin:0;color:var(--muted)}.ag-note{margin-top:1rem;padding:1rem}.ag-note p{margin:.3rem 0 0;color:var(--muted)}
.ag-lab-shell{display:grid;grid-template-columns:minmax(270px,.74fr) minmax(0,2.26fr);gap:1rem;align-items:start}.ag-controls{position:sticky;top:92px;display:grid;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--panel);min-width:0}.ag-control-head,.ag-panel-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.ag-control-head span,.ag-panel-head span,.ag-readout span{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.ag-control-head strong{display:block}.ag-status{padding:.25rem .5rem;border:1px solid var(--line);border-radius:999px;text-align:right;max-width:12rem}.ag-controls label{display:grid;grid-template-columns:1fr auto;gap:.35rem .6rem;align-items:center;min-width:0}.ag-controls label>span{font-size:.82rem}.ag-controls output{font:600 .78rem/1.2 var(--mono);color:var(--accent);max-width:10rem;text-align:right;overflow-wrap:anywhere}.ag-controls input{grid-column:1/-1;width:100%;min-width:0}.ag-presets{margin:0;padding:.7rem;border:1px solid var(--line);border-radius:12px;min-width:0}.ag-presets legend{padding:0 .3rem;font-size:.76rem;color:var(--muted)}.ag-presets div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.ag-presets button{min-width:0;padding:.58rem .5rem;border:1px solid var(--line);border-radius:9px;background:var(--panel-2,var(--panel));color:var(--text);cursor:pointer}.ag-presets button.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.ag-assumption{padding:.75rem;border-radius:10px;background:var(--panel-2,var(--panel))}.ag-assumption p{margin:.25rem 0 0;font-size:.8rem;color:var(--muted)}
.ag-stage{min-width:0;display:grid;gap:1rem}.ag-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ag-panel{padding:.85rem;min-width:0}.ag-panel-head{margin-bottom:.65rem}.ag-panel-head strong{display:block}.ag-readout{text-align:right}.ag-readout strong{display:block;color:var(--accent);font-size:.83rem}.ag-panel svg{display:block;width:100%;height:auto;overflow:visible}.ag-metrics,.ag-check-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.ag-check-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ag-metrics>div,.ag-check-grid>div{border:1px solid var(--line);border-radius:11px;background:var(--panel);padding:.75rem;min-width:0}.ag-metrics span,.ag-check-grid span{display:block;font-size:.72rem;color:var(--muted)}.ag-metrics strong,.ag-check-grid strong{display:block;margin-top:.22rem;font-size:.84rem;overflow-wrap:anywhere}.ag-reading{padding:1rem}.ag-reading h3{margin:.35rem 0 .5rem}.ag-reading p{margin:0;color:var(--muted)}
.ag-svg-axis{stroke:var(--muted);stroke-width:1.5}.ag-svg-grid{stroke:var(--line);stroke-width:1}.ag-svg-boresight{stroke:var(--muted);stroke-width:2;stroke-dasharray:8 7}.ag-svg-link{stroke:var(--accent);stroke-width:3}.ag-svg-beam{stroke:var(--violet,#a98cff);stroke-width:2;stroke-dasharray:8 7;fill:none}.ag-svg-aperture{fill:var(--panel);stroke:var(--text);stroke-width:3}.ag-svg-rx{fill:var(--panel);stroke:var(--accent);stroke-width:3}.ag-svg-pol{stroke:var(--accent);stroke-width:4;stroke-linecap:round}.ag-svg-pol-rx{stroke:var(--violet,#a98cff);stroke-width:4;stroke-linecap:round}.ag-svg-pattern{stroke:var(--accent);stroke-width:3;fill:none}.ag-svg-current{stroke:var(--violet,#a98cff);stroke-width:2;stroke-dasharray:7 6}.ag-svg-marker{fill:var(--panel);stroke:var(--violet,#a98cff);stroke-width:3}.ag-svg-label{fill:var(--text);font-size:17px;font-weight:700}.ag-svg-small{fill:var(--muted);font-size:14px}.ag-svg-accent{fill:var(--accent);font-size:15px;font-weight:700}.ag-svg-violet{fill:var(--violet,#a98cff);font-size:15px;font-weight:700}
@media(max-width:1080px){.ag-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.ag-hero,.ag-lab-shell{grid-template-columns:1fr}.ag-controls{position:static}.ag-foundation-grid,.ag-boundary-grid{grid-template-columns:1fr}.ag-top-grid{grid-template-columns:1fr}}
@media(max-width:640px){.ag-hero{padding-top:2.5rem}.ag-mini-grid,.ag-metrics,.ag-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ag-panel{padding:.65rem}.ag-panel-head{display:grid}.ag-readout{text-align:left}.ag-controls{padding:.85rem}.ag-equation{font-size:.84rem}.ag-equation.large{font-size:.93rem}.ag-geometry-svg,.ag-pattern-svg{aspect-ratio:1.4}}
@media(max-width:380px){.ag-mini-grid,.ag-metrics,.ag-check-grid{grid-template-columns:1fr}.ag-presets div{grid-template-columns:1fr}.ag-controls output{max-width:8rem}.ag-hero-copy :is(h1,h2),.ag-foundation .section-heading h2,.ag-boundary .section-heading h2{overflow-wrap:anywhere}}
.ag-controls,.ag-control-head,.ag-stage,.ag-panel,.ag-metrics,.ag-top-grid,.ag-foundation-grid,.ag-boundary-grid{min-width:0;max-width:100%}.ag-foundation .section-heading h2,.ag-boundary .section-heading h2{min-width:0;overflow-wrap:anywhere;word-break:break-word}

/* C126 adversarial mobile hardening for long dynamic validity labels. */
.ag-status{min-width:0;overflow-wrap:anywhere;word-break:break-word}
@media(max-width:420px){.ag-control-head{flex-wrap:wrap}.ag-status{max-width:100%;text-align:left}}
