.avcl{box-sizing:border-box;margin:1.6rem 0;padding:1rem;border:1px solid #c7dbe4;border-radius:14px;background:#f5f9fb;color:#193647;line-height:1.65}
.avcl *{box-sizing:border-box}
.avcl-head{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline;justify-content:space-between;border-bottom:1px solid #d7e5ec;padding-bottom:.5rem}
.avcl-head strong{font-size:1.2rem;color:#124a64}.avcl-head span{font-size:.82rem;color:#516b78}
.avcl-grid{display:grid;grid-template-columns:minmax(230px,1fr) minmax(280px,1.35fr);gap:1rem;align-items:start}
.avcl-controls{background:#fff;border:1px solid #dbe7ec;border-radius:10px;padding:.8rem}
.avcl-controls label{display:block;margin:.35rem 0 .85rem;font-weight:650}
.avcl-controls input[type=range]{display:block;width:100%;min-height:32px;accent-color:#0879a4;touch-action:auto}
.avcl-controls output{float:right;color:#065778;font-variant-numeric:tabular-nums}
.avcl-controls select{display:block;width:100%;min-height:42px;padding:.35rem;border:1px solid #9db8c6;border-radius:7px;background:#fff;color:#193647;font:inherit}
.avcl button{min-height:40px;min-width:44px;margin:.15rem;padding:.35rem .65rem;border:1px solid #6792a5;border-radius:7px;background:#fff;color:#13516d;font:inherit;font-weight:650;cursor:pointer}
.avcl button:hover,.avcl button[aria-pressed=true]{background:#d9edf5}.avcl button:focus-visible,.avcl input:focus-visible,.avcl select:focus-visible,.avcl canvas:focus-visible{outline:3px solid #e6a23b;outline-offset:2px}
.avcl-actions{display:flex;flex-wrap:wrap;gap:.25rem;margin:.5rem 0}
.avcl-visual{position:relative;min-width:0;border:1px solid #c3d9e3;border-radius:10px;background:#e8f1f5;overflow:hidden;text-align:center}
.avcl-static svg,.avcl-visual canvas,.avcl-visual>svg{display:block;width:100%;height:auto;aspect-ratio:18/11;object-fit:contain}
.avcl-visual canvas{background:#0a1828;touch-action:none}
.avcl-static small{display:block;padding:.3rem .5rem;color:#39566a}
.avcl-start{margin:.5rem!important}
.avcl-fallback{padding:.5rem;background:#fff3d9;color:#573b13}
.avcl-readout{min-height:3.3em;padding:.7rem;border-left:4px solid #0a83a8;background:#fff;line-height:1.75}
.avcl-section{display:block;width:min(100%,520px);height:auto;margin:1rem auto;background:#fff;border:1px solid #d5e5ea;border-radius:10px}
.avcl [hidden]{display:none!important}
@media(max-width:680px){.avcl{padding:.7rem}.avcl-grid{grid-template-columns:1fr}.avcl-head strong{font-size:1.08rem}.avcl button{font-size:.95rem}.avcl-controls{order:2}.avcl-visual{order:1}}
