.gn-lab{background:#fbfdf8;border:1px solid #c9ddbd;border-radius:16px;padding:clamp(14px,3vw,26px);color:#294c3c}.gn-lab h3{margin-top:0}.gn-controls{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0;align-items:end}.gn-controls>label{flex:1 1 210px}.gn-lab label{display:block;font-weight:600}.gn-lab label strong{float:right;font-variant-numeric:tabular-nums}.gn-lab select{display:block;width:100%;min-height:44px;margin-top:6px;background:#fff;border:1px solid #99b99f;border-radius:7px;padding:8px;color:#294c3c;font:inherit;max-width:100%}.gn-lab input[type=range]{display:block;width:100%;min-height:40px;accent-color:#377550;cursor:pointer}.gn-actions{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.gn-actions button{font:inherit;font-weight:600;min-height:44px;padding:9px 14px;border:1px solid #a3be94;border-radius:8px;background:#edf6df;color:#294c3c;cursor:pointer}.gn-actions button:disabled{opacity:.5;cursor:default}.gn-lab :is(button,select,input):focus-visible{outline:3px solid #236e97;outline-offset:3px}.gn-plot{max-width:760px;margin:12px auto;background:#fff;border:1px solid #dae7d5;border-radius:12px;overflow:hidden}.gn-plot svg{width:100%;height:auto;display:block;min-width:0}.gn-readout{padding:12px 15px;background:#edf5e5;border-left:4px solid #5e914e;border-radius:4px;font-size:1rem;min-height:40px}.gn-readout p{margin:8px 0}.gn-measures{display:flex;flex-wrap:wrap;gap:10px 20px;padding:12px 0;font-weight:700;font-variant-numeric:tabular-nums}.gn-blue{color:#236e97}.gn-gold{color:#99520e}.gn-green{color:#286b4b}.gn-purple{color:#775295}.gn-control-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:16px 0}.gn-control-groups fieldset{min-width:0;border:1px solid #cfdfc4;border-radius:10px;padding:10px 14px}.gn-control-groups legend{padding:0 6px;font-weight:700}.gn-lab details{margin-top:18px}.gn-lab .quiet{font-size:.9rem;line-height:1.55}.gn-lab .gn-key{line-height:1.7}@media(max-width:540px){.gn-control-groups{grid-template-columns:1fr}.gn-controls>label{flex-basis:100%}.gn-actions button{flex:1 1 150px}.gn-lab{padding:12px}.gn-plot{margin-left:-4px;margin-right:-4px}}
