/* NYMPH liquid-panel correction — compact transparent control system.
   Loaded last. Styling only: keeps existing controls/functions intact. */

:root{
  --nx-panel-w: 392px;
  --nx-panel-top: calc(var(--header-h, 64px) + 14px);
  --nx-font: "Helvetica Neue", Helvetica, Arial, sans-serif;

  --nx-ink: rgba(255,255,255,.94);
  --nx-ink-soft: rgba(255,255,255,.68);
  --nx-ink-faint: rgba(255,255,255,.38);
  --nx-line: rgba(255,255,255,.70);
  --nx-line-soft: rgba(255,255,255,.28);
  --nx-glass: rgba(0,0,0,.18);
  --nx-glass-deep: rgba(0,0,0,.28);
  --nx-milk: rgba(255,255,255,.92);
  --nx-dark: rgba(0,0,0,.72);
}
/* SIDE PANEL — same compact scale, sharper transparent glass */
.panel:not(.collapsed){
  width: min(var(--nx-panel-w), calc(100vw - 32px)) !important;
  top: var(--nx-panel-top) !important;
  right: 22px !important;
  height: calc(100svh - var(--nx-panel-top) - var(--nurr-support-height, 34px) - 20px) !important;
  min-height: 0 !important;
  max-height: calc(100svh - var(--nx-panel-top) - var(--nurr-support-height, 34px) - 20px) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  color:var(--nx-ink) !important;
  border-radius:16px !important;
  border:1px solid var(--nx-line) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.035) 28%, rgba(0,0,0,.12)),
    rgba(4,7,6,.20) !important;
  -webkit-backdrop-filter: blur(28px) saturate(1.35) brightness(.96) !important;
  backdrop-filter: blur(28px) saturate(1.35) brightness(.96) !important;
  box-shadow:
    0 22px 58px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(255,255,255,.16) !important;
  text-shadow:none !important;
  user-select:none !important;
}
.panel.is-dragged:not(.collapsed){
  left:var(--panel-x) !important;
  top:var(--panel-y) !important;
  right:auto !important;
}
.panel:not(.collapsed)::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  border-radius:inherit !important;
  background:
    radial-gradient(80% 42% at 10% 0%, rgba(255,255,255,.16), transparent 70%),
    linear-gradient(90deg, rgba(255,255,255,.08), transparent 46%, rgba(255,255,255,.06)) !important;
}
.panel:not(.collapsed)::after{
  content:"" !important;
  position:absolute !important;
  inset:10px !important;
  z-index:0 !important;
  pointer-events:none !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.18) !important;
}
.panel:not(.collapsed) > *{ position:relative !important; z-index:1 !important; }

/* HEADER */
.panel:not(.collapsed) .panel-header{
  height:78px !important;
  min-height:78px !important;
  padding:0 22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  cursor:grab !important;
  border-bottom:1px solid var(--nx-line) !important;
  background:transparent !important;
}
.panel:not(.collapsed) .panel-header:active{ cursor:grabbing !important; }
.panel:not(.collapsed) .panel-title-nymph,
.panel:not(.collapsed) .panel-title{
  margin:0 !important;
  color:var(--nx-ink) !important;
  font:800 20px/.9 var(--nx-font) !important;
  letter-spacing:.24em !important;
  text-transform:uppercase !important;
}
.panel:not(.collapsed) .panel-eyebrow{ display:none !important; }
.panel:not(.collapsed) .header-actions{
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  flex:0 0 auto !important;
}


/* CREATE / LIBRARY */


/* BODY + SECTIONS */
.panel:not(.collapsed) .panel-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:0 !important;
  background:transparent !important;
  color:var(--nx-ink) !important;
  scrollbar-gutter:stable !important;
}
.panel:not(.collapsed) .panel-body::-webkit-scrollbar{ width:4px !important; }
.panel:not(.collapsed) .panel-body::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.28) !important; border-radius:999px !important; }

.panel:not(.collapsed) .section:last-child{ border-bottom:0 !important; }


.panel:not(.collapsed) .create-dl-row{ padding:0 24px !important; margin:18px 0 0 !important; }
.panel:not(.collapsed) .create-dl-row:first-of-type{ margin-top:24px !important; }
.panel:not(.collapsed) .create-secondary-row{ padding:0 24px 24px !important; grid-template-columns:1fr !important; }


/* SWATCHES — round, smaller, cleaner */


/* SEGMENTS */


/* MODULE CARDS */


/* SLIDERS */
.panel:not(.collapsed) .slider,
.panel:not(.collapsed) input[type="range"]{
  width:100% !important;
  height:34px !important;
  accent-color:#fff !important;
  background:transparent !important;
}
.panel:not(.collapsed) input[type="range"]::-webkit-slider-runnable-track{
  height:2px !important;
  background:rgba(255,255,255,.65) !important;
  border:0 !important;
}
.panel:not(.collapsed) input[type="range"]::-webkit-slider-thumb{
  width:16px !important;
  height:16px !important;
  margin-top:-7px !important;
  border-radius:50% !important;
  border:2px solid rgba(255,255,255,.96) !important;
  background:rgba(0,0,0,.36) !important;
  box-shadow:0 0 0 1px rgba(0,0,0,.15) !important;
}
.panel:not(.collapsed) input[type="range"]::-moz-range-track{ height:2px !important; background:rgba(255,255,255,.65) !important; }
.panel:not(.collapsed) input[type="range"]::-moz-range-thumb{ width:16px !important; height:16px !important; border-radius:50% !important; border:2px solid rgba(255,255,255,.96) !important; background:rgba(0,0,0,.36) !important; }

/* LIBRARY */
.panel:not(.collapsed) .panel-body-lib{ padding:0 !important; }


@media (max-width:900px){
  :root{ --nx-panel-w: calc(100vw - 28px); --nx-panel-top: calc(var(--header-h, 64px) + 10px); }
  .panel:not(.collapsed){ right:14px !important; height:calc(100svh - var(--nx-panel-top) - var(--nurr-support-height,34px) - 14px) !important; }
  .panel:not(.collapsed) .panel-header{ padding:0 20px !important; }
  
  .panel:not(.collapsed) .create-dl-row,
  .panel:not(.collapsed) .create-secondary-row{ padding-left:20px !important; padding-right:20px !important; }

}

@media (max-height:760px){
  .panel:not(.collapsed) .panel-header{ height:68px !important; min-height:68px !important; }
  
  
  .panel:not(.collapsed) .section{ padding-top:20px !important; padding-bottom:20px !important; }
}

/* 2026-06-18 — compact glass correction v2
   Softer, smaller, cleaner. Removes preview-heavy cards where requested. */
:root{
  --nx-panel-w: 360px;
  --nx-line: rgba(255,255,255,.22);
  --nx-line-soft: rgba(255,255,255,.13);
  --nx-ink: rgba(255,255,255,.93);
  --nx-ink-soft: rgba(255,255,255,.62);
  --nx-ink-faint: rgba(255,255,255,.34);
}

.panel:not(.collapsed){
  width:min(var(--nx-panel-w), calc(100vw - 28px)) !important;
  right:18px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:14px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025) 36%, rgba(0,0,0,.12)),
    rgba(5,7,6,.18) !important;
  -webkit-backdrop-filter: blur(30px) saturate(1.28) brightness(.98) !important;
  backdrop-filter: blur(30px) saturate(1.28) brightness(.98) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.20) !important;
}
.panel:not(.collapsed)::after{ display:none !important; }
.panel:not(.collapsed)::before{
  background:linear-gradient(115deg, rgba(255,255,255,.08), transparent 42%, rgba(255,255,255,.035)) !important;
}

.panel:not(.collapsed) .panel-header{
  height:58px !important;
  min-height:58px !important;
  padding:0 18px !important;
  border-bottom:1px solid var(--nx-line-soft) !important;
}
.panel:not(.collapsed) .panel-title-nymph,
.panel:not(.collapsed) .panel-title{
  font:800 17px/.9 var(--nx-font) !important;
  letter-spacing:.24em !important;
}
.panel:not(.collapsed) .header-actions{ gap:8px !important; }


.panel:not(.collapsed) .create-dl-row{
  padding:0 18px !important;
  margin:14px 0 0 !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:6px !important;
}
.panel:not(.collapsed) .create-layer-row{ margin-top:7px !important; }

.panel:not(.collapsed) .create-secondary-row{
  padding:0 18px 16px !important;
  margin:8px 0 0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:6px !important;
}

/* Smaller color swatches. */


/* Softer segments. */


/* Gradient surface: remove previews, keep clean text. */


/* Removed dead malformed abstract repair debris during CSS ownership cleanup. */

/* Geometric: smaller composition previews, inactive in gray/white, active in color. */


/* Photo module: better image fit and cleaner thumbnail grid. */
.panel:not(.collapsed) .nature-grid{
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:6px !important;
  max-height:168px !important;
  padding-right:0 !important;
}


/* 3D: make material/preset swatches consistent with other menu items. */


@media (max-height:760px){
  .panel:not(.collapsed) .section{ padding-top:14px !important; padding-bottom:14px !important; }
  .panel:not(.collapsed) .panel-header{ height:54px !important; min-height:54px !important; }
  
  
}

/* ─────────────────────────────────────────────────────────────
   NYMPH final correction pass — compact glass, softer logic.
   Loaded last inside this file.
───────────────────────────────────────────────────────────── */
:root{
  --nx-panel-w: 372px;
  --nx-line: rgba(255,255,255,.24);
  --nx-line-soft: rgba(255,255,255,.13);
  --nx-line-faint: rgba(255,255,255,.075);
}
.panel:not(.collapsed){
  width:min(var(--nx-panel-w), calc(100vw - 28px)) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:14px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.025) 38%, rgba(0,0,0,.10)), rgba(6,8,8,.14) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.20) !important;
  -webkit-backdrop-filter:blur(24px) saturate(1.28) brightness(1.02) !important;
  backdrop-filter:blur(24px) saturate(1.28) brightness(1.02) !important;
}
.panel:not(.collapsed)::after{ display:none !important; }
.panel:not(.collapsed)::before{ opacity:.62 !important; }
.panel:not(.collapsed) .panel-header{
  height:58px !important; min-height:58px !important; padding:0 18px !important;
  border-bottom:1px solid var(--nx-line-soft) !important;
}
.panel:not(.collapsed) .panel-title-nymph{ font-size:17px !important; letter-spacing:.26em !important; }
.panel:not(.collapsed) .header-actions{ gap:8px !important; }


/* adaptive contrast */
.panel.tone-dark:not(.collapsed){ --nx-ink:rgba(255,255,255,.94); --nx-ink-soft:rgba(255,255,255,.62); --nx-ink-faint:rgba(255,255,255,.34); }
.panel.tone-light:not(.collapsed){ --nx-ink:rgba(8,9,10,.88); --nx-ink-soft:rgba(8,9,10,.55); --nx-ink-faint:rgba(8,9,10,.30); --nx-line:rgba(0,0,0,.22); --nx-line-soft:rgba(0,0,0,.12); --nx-line-faint:rgba(0,0,0,.07); }


/* swatches compact enough to stay on one row */


.panel:not(.collapsed) .create-dl-row{ padding:0 18px !important; grid-template-columns:repeat(4,1fr) !important; gap:5px !important; margin:10px 0 0 !important; }
.panel:not(.collapsed) .create-secondary-row{ padding:0 18px 14px !important; margin:6px 0 0 !important; }


/* Gradient: surface text-only and no preview artifacts */


/* Removed dead malformed abstract repair debris during CSS ownership cleanup. */


/* Geometric previews: larger than previous pass, inactive monochrome, active colour */


/* Photo thumbnails: cleaner fit inside consistent cells */
.panel:not(.collapsed) .nature-grid{ grid-template-columns:repeat(3,1fr) !important; gap:6px !important; max-height:160px !important; }


/* 3D swatches/presets consistent with menu items */


/* ─────────────────────────────────────────────────────────────
   NYMPH stability pass — 2026-06-18
   Scope: panel/preset/geometric/3D consistency. Export and colour picker live in their own files.
   geometric preview sizing, and 3D menu consistency without changing controls.
───────────────────────────────────────────────────────────── */
:root{
  --nx-panel-w: 358px;
  --nx-line: rgba(255,255,255,.18);
  --nx-line-soft: rgba(255,255,255,.105);
  --nx-line-faint: rgba(255,255,255,.055);
}
.panel:not(.collapsed){
  width:min(var(--nx-panel-w), calc(100vw - 28px)) !important;
  border-color:rgba(255,255,255,.16) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.022) 42%, rgba(0,0,0,.09)), rgba(8,8,10,.12) !important;
  box-shadow:0 16px 46px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.14) !important;
}
.panel:not(.collapsed) .section{ padding:15px 16px !important; }


/* Actual palette preset cards — not vertical stripes. */


/* Side-panel export buttons: short labels that fit. */
.panel:not(.collapsed) .create-dl-row{ grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:5px !important; }


/* Geometric composition previews: larger, no double frames, consistent numbering. */


/* 3D Beta: more stable cells and readable labels. */


/* 2026-06-18 focused stability pass — abstract + hidden 3D beta */


.panel.tone-light:not(.collapsed),
.panel.tone-dark:not(.collapsed){
  transition: color 260ms ease, border-color 260ms ease, background-color 260ms ease !important;
}


/* 2026-06-24 focused repair pass — conservative UI fixes only. */
:root{
  --nx-panel-w: 356px;
}

/* Keep 3D code intact but hide the entry point in this version. */


/* Panel can actually move in both axes; content scrolls inside instead of forcing a full-height slab. */
.panel:not(.collapsed){
  height:auto !important;
  max-height:calc(100svh - var(--nx-panel-top) - var(--nurr-support-height,34px) - 20px) !important;
}
.panel:not(.collapsed) .panel-body{ overflow:auto !important; }
.panel.is-dragged:not(.collapsed){
  height:auto !important;
  max-height:calc(100svh - 92px) !important;
}

/* Removed dead malformed abstract repair debris during CSS ownership cleanup. */

/* Abstract glass type: restore clean compact icon cells; no broken clipping. */


/* Library buttons: one line, same weight. */


/* Tighten old abstract.css margins that were making the corrected panel feel broken. */


/* 2026-06-24 focused fix: keep this pass conservative and functional. */

/* Footer strip: black / white, readable, and correctly named. */
:root{ --nurr-support-height:34px !important; }
.nurr-support-strip{
  background:#000 !important;
  color:#fff !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  height:34px !important;
  min-height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
}
.nurr-support-strip span{
  color:#fff !important;
  opacity:.92 !important;
  font:800 9px/1 var(--nx-font, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  letter-spacing:.02em !important;
}
.nurr-support-strip a{
  background:#fff !important;
  color:#000 !important;
  border:1px solid rgba(255,255,255,.88) !important;
  border-radius:999px !important;
  height:20px !important;
  min-height:20px !important;
  padding:0 14px !important;
  font:800 9px/20px var(--nx-font, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  text-decoration:none !important;
}

/* Side panel height: slightly shorter so the bottom never hides behind footer. */
.panel:not(.collapsed){
  height:min(660px, calc(100svh - var(--header-h,64px) - var(--nurr-support-height,34px) - 48px)) !important;
  max-height:min(660px, calc(100svh - var(--header-h,64px) - var(--nurr-support-height,34px) - 48px)) !important;
  min-height:min(500px, calc(100svh - var(--header-h,64px) - var(--nurr-support-height,34px) - 48px)) !important;
}
.panel:not(.collapsed) .panel-body{ overflow-y:auto !important; }

/* Palette swatches: shared size, straight line, centred add/remove controls. */


/* Removed dead malformed abstract repair debris during CSS ownership cleanup. */
.panel.is-dragged:not(.collapsed){
  height:calc(100svh - var(--panel-y, var(--nx-panel-top)) - var(--nurr-support-height,34px) - 14px) !important;
  max-height:calc(100svh - var(--panel-y, var(--nx-panel-top)) - var(--nurr-support-height,34px) - 14px) !important;
}

/* Palette swatches — one shared geometry across modules. */


/* Removed dead malformed abstract repair debris during CSS ownership cleanup. */

/* Abstract glass type — keep the clearer previous grid, but make labels fit. */


/* 2026-06-24 precise repair: chromatic/panel/export/abstract formation. */
.panel:not(.collapsed){
  height:calc(100svh - var(--nx-panel-top,78px) - var(--nurr-support-height,34px) - 8px) !important;
  max-height:calc(100svh - var(--nx-panel-top,78px) - var(--nurr-support-height,34px) - 8px) !important;
  min-height:min(690px, calc(100svh - var(--nx-panel-top,78px) - var(--nurr-support-height,34px) - 8px)) !important;
}
.panel.is-dragged:not(.collapsed){
  height:calc(100svh - var(--panel-y, var(--nx-panel-top,78px)) - var(--nurr-support-height,34px) - 8px) !important;
  max-height:calc(100svh - var(--panel-y, var(--nx-panel-top,78px)) - var(--nurr-support-height,34px) - 8px) !important;
}
.panel:not(.collapsed) .panel-body{ overflow-y:auto !important; }/* Removed dead malformed abstract repair debris during CSS ownership cleanup. */

/* Abstract glass buttons: remove the odd heavy block/stroke and keep four readable cells. */


/* Palette row hygiene. */


/* 2026-06-24 diagnostic repair — targeted overrides after visual regression. */

/* Main side panel: almost full height, but always clears the black footer. */
:root{ --nx-footer-clearance: 34px; }
.panel:not(.collapsed){
  top: var(--nx-panel-top, 78px) !important;
  bottom: calc(var(--nurr-support-height, 28px) + 10px) !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
}
.panel.is-dragged:not(.collapsed){
  bottom: auto !important;
  height: min(760px, calc(100svh - var(--panel-y, 78px) - var(--nurr-support-height, 28px) - 12px)) !important;
  max-height: calc(100svh - var(--panel-y, 78px) - var(--nurr-support-height, 28px) - 12px) !important;
}
.panel:not(.collapsed) .panel-body{ overflow-y:auto !important; }/* Removed dead malformed abstract repair debris during CSS ownership cleanup. */

/* Abstract glass type: compact four-cell row, readable, no accidental black block. */


/* Palette swatches: stable geometry across modules. */


/* 2026-06-24 final targeted repair: chroma artefacts, picker, abstract icons, export, panel safety. */
.panel:not(.collapsed){
  resize:none !important;
  height:calc(100svh - var(--nx-panel-top,78px) - var(--nurr-support-height,34px) - 10px) !important;
  max-height:calc(100svh - var(--nx-panel-top,78px) - var(--nurr-support-height,34px) - 10px) !important;
}
.panel.is-dragged:not(.collapsed){
  resize:none !important;
  height:calc(100svh - var(--panel-y, var(--nx-panel-top,78px)) - var(--nurr-support-height,34px) - 10px) !important;
  max-height:calc(100svh - var(--panel-y, var(--nx-panel-top,78px)) - var(--nurr-support-height,34px) - 10px) !important;
}
.panel:not(.collapsed) .panel-body{ overflow-y:auto !important; }

/* Abstract glass type icons: no duplicate pseudo/icon overlay; active state remains readable. */


/* ── FINAL OVERRIDE / targeted repair 2026-06-24 ──────────────────────────── */
.panel.is-dragged:not(.collapsed){
  position:fixed !important;
  left:var(--panel-x) !important;
  top:var(--panel-y) !important;
  right:auto !important;
  bottom:auto !important;
  height:min(calc(100svh - var(--panel-y) - var(--nurr-support-height,34px) - 10px), calc(100svh - 16px)) !important;
  max-height:min(calc(100svh - var(--panel-y) - var(--nurr-support-height,34px) - 10px), calc(100svh - 16px)) !important;
}
