.ng-demo{--ng-blue:#2479ad;--ng-orange:#c15c16;--ng-initial:#23864d;--ng-target:#c94343;margin:1.4rem 0 2rem;font:14px/1.5 system-ui,sans-serif;color:inherit;max-width:1500px}
.ng-demo *{box-sizing:border-box}.ng-demo .ng-toolbar,.ng-demo .ng-legend{display:flex;align-items:center;gap:10px 20px;flex-wrap:wrap;margin:.5rem 0}.ng-demo .ng-toolbar button{font:inherit;color:inherit;background:transparent;border:1px solid #8888;border-radius:5px;padding:5px 12px;cursor:pointer}.ng-demo label{display:inline-flex;align-items:center;gap:6px;margin:0}.ng-demo input{accent-color:var(--ng-blue)}.ng-demo .ng-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ng-demo[data-model="gaussian"] .ng-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.ng-demo figure{margin:0;min-width:0}.ng-demo figcaption{font-size:14px;font-weight:600;margin:8px 0}.ng-demo canvas{display:block;width:100%;height:350px;touch-action:none;border:1px solid #8885;border-radius:3px;cursor:grab}.ng-demo canvas:focus-visible{outline:2px solid var(--ng-blue);outline-offset:2px}.ng-demo .ng-line{display:inline-block;width:24px;border-top:3px solid currentColor;vertical-align:middle;margin-right:5px}.ng-demo .ng-line-ab{color:var(--ng-blue);border-top-style:dashed}.ng-demo .ng-line-angle{color:var(--ng-orange);border-top-style:dotted}.ng-demo .ng-heatbar{display:inline-block;width:140px;height:10px;vertical-align:middle;margin:0 7px}.ng-demo .ng-readout{font-variant-numeric:tabular-nums;min-height:3em;margin:.7rem 0;overflow-wrap:anywhere}.ng-demo .ng-hint{font-size:13px;opacity:.85}.ng-demo .ng-initial{color:var(--ng-initial)}.ng-demo .ng-target{color:var(--ng-target)}
@media(max-width:800px){.ng-demo .ng-panels,.ng-demo[data-model="gaussian"] .ng-panels{grid-template-columns:1fr}.ng-demo canvas{height:330px}}
.quarto-dark .ng-demo{--ng-blue:#69b6e6;--ng-orange:#f4a264;--ng-initial:#68c890;--ng-target:#fa8c8c}

.ng-demo[data-model="hemisphere"] .ng-panels{grid-template-columns:repeat(3,minmax(0,1fr))}.ng-demo[data-model="hemisphere"] figure:first-child{grid-column:1/-1}.ng-demo[data-model="hemisphere"] figure:first-child canvas{height:420px}.ng-demo[data-model="hemisphere"] .ng-panels canvas{height:380px}@media(max-width:800px){.ng-demo[data-model="hemisphere"] .ng-panels{grid-template-columns:1fr}}
