.hydro-panel{display:flex;flex-wrap:wrap;gap:1.5rem;border:1px solid rgba(64,131,201,.5);border-radius:28px;padding:1.5rem;background:radial-gradient(circle at 10% 20%,rgba(80,160,255,.15),transparent 55%)var(--panel);box-shadow:0 20px 45px rgba(15,36,64,.45)}.hydro-controls{flex:1 1 220px;max-width:280px;max-height:520px;overflow-y:auto;padding-right:.25rem}.hydro-control-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.hydro-controls label{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);gap:.75rem}.hydro-controls output{font-size:1.35rem;font-weight:600;color:#9cd8ff}.hydro-controls input[type=range]{width:100%}.hydro-control-group--mode{border:1px solid rgba(255,255,255,8%);border-radius:1rem;padding:.85rem 1rem;background:rgba(6,11,20,.35)}.hydro-mode-header{display:flex;justify-content:space-between;align-items:baseline;text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;color:var(--muted);margin-bottom:.6rem;gap:.5rem}.hydro-mode-header small{font-size:.7rem;letter-spacing:.08em;color:rgba(255,210,144,.8);text-transform:uppercase}.hydro-mode-options{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.9rem;letter-spacing:.02em}.hydro-mode-options label{display:flex;align-items:center;gap:.4rem;background:rgba(255,255,255,4%);padding:.35rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,8%);cursor:pointer}.hydro-mode-options input[type=radio]{accent-color:#9cd8ff}.hydro-canvas{flex:2 1 320px;min-height:320px;aspect-ratio:1/1;max-width:512px;width:100%;border:1px solid rgba(255,255,255,.1);border-radius:24px;overflow:hidden;position:relative}.hydro-canvas canvas{width:100%;height:100%;display:block;object-fit:cover}.hydro-overlay{position:absolute;top:1rem;left:1rem;display:flex;flex-direction:column;gap:.1rem;padding:.35rem .85rem;background:rgba(6,11,20,.7);border-radius:.85rem;border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.85);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;text-shadow:0 0 8px rgba(0,0,0,.35)}.hydro-overlay--controls{left:auto;right:1rem;gap:.45rem;pointer-events:auto}.hydro-overlay-block{display:flex;flex-direction:column;gap:.25rem}.hydro-toggle-group{display:flex;gap:.35rem}.hydro-toggle{appearance:none;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.35);color:rgba(255,255,255,.8);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.hydro-toggle.is-active{background:rgba(122,189,255,.2);border-color:rgba(122,189,255,.6);color:#e0f2ff}.hydro-toggle:focus-visible{outline:2px solid rgba(255,255,255,.65);outline-offset:2px}.hydro-overlay strong{font-size:1.2rem;text-transform:none;letter-spacing:normal}.hydro-scale{position:absolute;left:1.25rem;bottom:1rem;display:flex;align-items:center;gap:.5rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8);pointer-events:none;text-shadow:0 0 8px rgba(0,0,0,.6);padding:.35rem .75rem;background:rgba(6,11,20,.65);border-radius:999px;border:1px solid rgba(255,255,255,8%)}.hydro-scale-bar{width:80px;height:4px;background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(120,179,255,.9) 100%);border-radius:999px;position:relative}.hydro-scale-bar::before,.hydro-scale-bar::after{content:'';position:absolute;top:-4px;width:2px;height:12px;background:rgba(255,255,255,.9)}.hydro-scale-bar::before{left:0}.hydro-scale-bar::after{right:0}.lem-panel{flex-direction:column;gap:.25rem}.lem-panel .lem-section{background:rgba(6,11,20,.35);border:1px solid rgba(255,255,255,8%);border-radius:18px;padding:.55rem .9rem;margin-bottom:0}.lem-panel .lem-section-title{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--muted);margin-bottom:.5rem}.lem-panel .lem-advanced-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.lem-panel .lem-group{background:rgba(8,14,24,.45);border-radius:16px;padding:.85rem 1rem;border:1px solid rgba(255,255,255,5%)}.lem-panel .lem-group-title{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:rgba(255,255,255,.6);margin-bottom:.6rem}.lem-panel .lem-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.1rem .5rem;align-items:start;padding-right:0;grid-auto-flow:dense;grid-auto-rows:min-content;align-content:start}.lem-panel .lem-controls .hydro-control-group{margin-bottom:0;min-width:0;gap:.1rem}.lem-panel .lem-controls label{font-size:.75rem;letter-spacing:.08em;line-height:1.1;margin:0}.lem-panel .lem-controls output{font-size:1rem;line-height:1.1}.lem-panel .lem-controls input,.lem-panel .lem-controls select{margin:0}.lem-panel .lem-controls button{align-self:end;justify-self:end;max-width:220px;width:auto}.lem-panel .lem-main-controls{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.lem-panel .lem-spl-actions{justify-self:end;display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--muted)}.lem-panel [data-role=perlin-params]{display:contents}.lem-panel [data-role=white-params]{font-size:.85rem;color:var(--muted);display:contents}.lem-panel .lem-view{width:100%;display:flex;justify-content:center}.lem-panel .hydro-canvas{max-width:100%}.lem-panel select,.lem-panel input[type=text],.lem-panel button{width:100%}.lem-panel button{border:1px solid rgba(122,189,255,.4);background:rgba(12,24,38,.7);color:#d7f0ff;text-transform:uppercase;letter-spacing:.08em;padding:.6rem 1rem;border-radius:999px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.lem-panel button:hover,.lem-panel button:focus-visible{transform:translateY(-1px);box-shadow:0 12px 30px rgba(47,125,204,.25)}