
.ensemble-lab{margin:22px 0;padding:20px;border:1px solid #31516a;border-radius:16px;background:linear-gradient(150deg,#102231,#0a1723);color:#e5f3f9}
.ensemble-head{display:flex;justify-content:space-between;gap:18px;align-items:start}.ensemble-head h2{margin:8px 0;font-size:clamp(1.25rem,2.5vw,1.75rem)}.ensemble-head p{max-width:72ch;line-height:1.5}.ensemble-head>span{font:700 .75rem monospace;color:#7be6db}
.ensemble-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:16px 0}.ensemble-controls label{font-size:.78rem;display:grid;gap:5px;color:#b4cbd6}.ensemble-controls select{width:100%;min-height:42px;padding:9px;color:#e7f5f8;background:#0c1c2b;border:1px solid #44647b;border-radius:7px}
.ensemble-actions{display:flex;flex-wrap:wrap;gap:8px}.ensemble-actions button{min-height:40px;padding:9px 12px;border:1px solid #43657a;background:#193147;color:#e9f4f9;border-radius:7px;cursor:pointer}.ensemble-actions button.primary{background:#235b66}.ensemble-actions button:disabled{opacity:.45;cursor:default}
.ensemble-progress{display:flex;gap:12px;align-items:center;margin:14px 0}.ensemble-progress progress{width:100%;height:12px;accent-color:#65d7d0}
.ensemble-grid-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}.ensemble-chart-wrap,.ensemble-map-wrap{min-width:0;background:#091725;border:1px solid #27485f;border-radius:10px;padding:8px}.ensemble-grid-layout canvas{display:block;width:100%;height:auto;touch-action:manipulation;border-radius:6px}.ensemble-grid-layout canvas:focus-visible{outline:2px solid #ffe1a2;outline-offset:3px}.ensemble-grid-layout p{font-size:.78rem;line-height:1.5;margin:9px}
.ensemble-footer{margin-top:14px}.ensemble-check{display:flex;gap:8px;align-items:center;min-height:40px}.ensemble-check input{width:18px;height:18px;accent-color:#72e5d6}
@media(max-width:740px){.ensemble-lab{padding:12px}.ensemble-grid-layout{grid-template-columns:1fr}.ensemble-actions button{flex:1 1 130px}.ensemble-head{flex-direction:column;gap:4px}}
