.nl{--nl-line:#614475;--nl-muted:#c8b3da;color:#f4eaff;font:14px/1.55 system-ui,sans-serif;max-width:1680px;margin:auto}.nl *{box-sizing:border-box}.nl-hero{border:1px solid var(--nl-line);border-radius:22px;padding:28px 30px;background:radial-gradient(ellipse at right,#4b386c,transparent 75%),#22162e;margin-bottom:22px}.nl-brand{display:flex;gap:18px;align-items:center}.nl h1{font-size:clamp(24px,2.4vw,36px);line-height:1.2;margin:4px 0!important}.nl h1 img[data-tool-icon]{display:none!important}.nl-eyebrow{font-size:10px;letter-spacing:.16em;font-weight:750;color:#d8b1ff;margin:0}.nl-hero>p{max-width:850px;color:var(--nl-muted);margin:16px 0 0}.nl-workbench{background:#151020;border:1px solid var(--nl-line);border-radius:18px;overflow:hidden}.nl-toolbar,.nl-status{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;align-items:center;padding:18px;background:#2a1c36}.nl-actions{display:flex;gap:8px;flex-wrap:wrap}.nl button,.nl-button{display:inline-flex!important;align-items:center;justify-content:center;padding:10px 13px;min-height:40px;background:#382449;border:1px solid #79558e;color:#f6efff;border-radius:9px;cursor:pointer;font:600 12px/1.4 system-ui;gap:6px}.nl button:hover,.nl-button:hover{background:#54356a;border-color:#d4a5fa}.nl .nl-primary{background:#8049b6;border-color:#bd8bea}.nl button:disabled,.nl input:disabled{opacity:.45;cursor:default}.nl button:focus-visible,.nl input:focus-visible,.nl select:focus-visible,.nl textarea:focus-visible,.nl-button:focus-within{outline:3px solid #e0bcff;outline-offset:2px}.nl input,.nl select,.nl textarea{font:inherit;color:#f4eaff;background:#180f23;border:1px solid #76548a;padding:10px;border-radius:8px;min-width:0;width:100%}.nl label{display:grid;gap:7px;color:var(--nl-muted);font-size:12px}.nl textarea{resize:vertical}.nl-layout{display:grid;grid-template-columns:255px minmax(0,1fr) 280px;align-items:start}.nl-library,.nl-details{background:#24182e;padding:18px;min-width:0}.nl-library{border-right:1px solid var(--nl-line)}.nl-details{border-left:1px solid var(--nl-line)}.nl h2{font-size:16px;margin:0!important}.nl h3{font-size:13px;margin:0!important}.nl-section-title{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.nl-section-title>span{font-size:11px;color:var(--nl-muted)}.nl-section-title select{max-width:230px;font-size:12px}.nl-cards{display:grid;gap:10px;margin:16px 0;max-height:570px;overflow:auto;grid-template-columns:minmax(0,1fr);padding:2px}.nl .nl-card{display:block!important;text-align:left;padding:14px;min-width:0;overflow:hidden;background:#1b1224;font-weight:400}.nl-card strong,.nl-card span,.nl-card small{display:block;overflow-wrap:anywhere}.nl-card strong{font-size:13px}.nl-card span{font-size:19px;color:#d9b2ff;margin:7px 0}.nl-card small{font-size:11px;color:var(--nl-muted)}.nl-card[aria-current=true]{background:#49265d;border-color:#c28ce9;box-shadow:inset 3px 0 #d4a2ff}.nl-help{color:var(--nl-muted);font-size:11px;line-height:1.6}.nl .nl-danger{color:#ffbdcc;margin-right:5px}.nl-main{padding:22px;min-width:0;background:radial-gradient(ellipse at top,#2b1d3d,transparent 75%)}.nl-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:20px 0}.nl-metrics>div{padding:14px 12px;border:1px solid #654479;border-radius:12px;background:#2d1d3a}.nl-metrics strong{display:block;color:#e3c0ff;font-size:24px;white-space:nowrap}.nl-metrics span{font-size:10px;color:var(--nl-muted)}.nl-chart-panel{background:linear-gradient(#21152e,#120c1b);border:1px solid #64447a;border-radius:16px;padding:18px}.nl-chart-panel svg{width:100%;height:auto;display:block}.nl-chart-panel .nl-section-title{margin-bottom:0}.nl-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:11px}.nl-purple{color:#dca0ff}.nl-teal{color:#5bdfcf}.nl-comparison{padding:16px;border-left:3px solid #5bdfcf;background:#1e2431;margin:16px 0;border-radius:0 10px 10px 0}.nl-comparison:empty{display:none}.nl-comparison strong{font-size:14px;color:#b0efe7}.nl-comparison p{font-size:11px;color:var(--nl-muted);margin:7px 0 0}.nl-region{margin-top:25px;border-top:1px solid #51365e;padding-top:22px}.nl-region audio{width:100%;height:40px}.nl-range{display:grid;grid-template-columns:1fr 1fr auto auto;gap:9px;align-items:end;margin-top:15px}.nl-wave-bars{display:flex;gap:1px;align-items:center;height:90px;background:#180e25;padding:7px;border-radius:10px;overflow:hidden}.nl-wave-bars span{background:#ba82e0;flex:1;min-width:1px}.nl-wave small{font-size:10px;color:var(--nl-muted)}.nl-details form{display:grid;gap:15px;margin-top:16px}.nl-method{margin-top:22px;border-top:1px solid #51365e;padding-top:20px}.nl-method p{font-size:11px;color:var(--nl-muted)}.nl-method strong{color:#ead5fc}.nl-status{border-top:1px solid var(--nl-line)}.nl-status p{margin:0;font-size:12px;flex:1;min-width:200px}.nl-status [data-error=true]{color:#ffbacd}.nl-guide{margin-top:24px;background:#1f1529;border:1px solid #53365f;border-radius:16px;padding:24px}.nl-guide ol{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-left:20px}.nl-guide p{font-size:12px;color:var(--nl-muted)}.nl-focus{position:fixed!important;inset:0;z-index:9999;overflow:auto!important;border-radius:0!important}.nl [hidden]{display:none!important}@media(max-width:1200px){.nl-layout{grid-template-columns:240px minmax(0,1fr)}.nl-details{grid-column:1/-1;border-top:1px solid var(--nl-line);border-left:0}.nl-details form{grid-template-columns:repeat(2,1fr)}.nl-range{grid-template-columns:1fr 1fr}.nl-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.nl-layout{display:flex;flex-direction:column}.nl-library,.nl-main,.nl-details{width:100%;padding:16px;border-right:0}.nl-cards{display:flex;overflow:auto;max-height:none;padding-bottom:8px}.nl .nl-card{min-width:190px;max-width:230px;flex:0 0 auto}.nl-library{border-bottom:1px solid var(--nl-line)}.nl-hero{padding:20px}.nl-brand{gap:12px}.nl-brand img{width:48px;height:48px}.nl-section-title{align-items:start;flex-wrap:wrap}.nl-section-title select{max-width:100%}.nl-details form{grid-template-columns:1fr}.nl-guide ol{grid-template-columns:1fr;gap:16px}.nl-chart-panel{padding:12px}.nl-toolbar{padding:15px}.nl-guide{padding:20px}}
/* Source cards form a full-width shelf, not a short sidebar beside a tall monitor. */
.nl-layout {
  grid-template-columns: minmax(0, 1fr) 280px;
  align-items: start;
}
.nl-library {
  grid-column: 1 / -1;
  border-right: 0;
  border-bottom: 1px solid var(--nl-line);
  padding: 16px 22px;
}
.nl-library-bar {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}
.nl-library-bar .nl-section-title { margin: 0; min-width: 170px; }
.nl-library-bar > input { width: min(320px, 100%); flex: 1; min-width: 180px; }
.nl-library-bar .nl-actions { margin-left: auto; gap: 10px; }
.nl-library .nl-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  max-height: 230px;
  overflow: auto;
  gap: 12px;
  margin: 14px 0 0;
}
.nl-library .nl-card { max-width: none; min-width: 0; padding: 12px 15px; }
.nl-library > .nl-help { margin: 10px 0 0; }
.nl-library .nl-danger { margin: 0; }
.nl-main { padding-bottom: 18px; }
.nl-details { grid-column: auto; border-top: 0; }
.nl-details form { grid-template-columns: 1fr; }
.nl-method { margin-top: 16px; padding-top: 14px; }
.nl-method summary { cursor: pointer; color: #dec3f3; font-size: 12px; }
.nl-method p { margin: 9px 0; }
.nl-layout > .nl-region {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
  padding: 18px 22px;
  border-top: 1px solid var(--nl-line);
  background: #21162c;
}
.nl-region .nl-section-title { margin-bottom: 10px; }
.nl-region p { margin: 8px 0; }
.nl-wave-bars { height: 46px; padding: 5px; }
.nl-wave-bars span { max-height: 34px; }
.nl-range { margin-top: 10px; }
@media (max-width: 900px) {
  .nl-layout { grid-template-columns: minmax(0, 1fr) 250px; }
  .nl-main { padding: 16px; }
  .nl-library-bar .nl-actions { margin-left: 0; }
}
@media (max-width: 700px) {
  .nl-layout { display: flex; }
  .nl-library-bar { gap: 12px; }
  .nl-library-bar > input { flex-basis: 100%; width: 100%; }
  .nl-library .nl-cards { grid-template-columns: 1fr; max-height: 245px; }
  .nl-details { border-top: 1px solid var(--nl-line); }
  .nl-layout > .nl-region { padding: 16px; }
}

.nl-chart-panel svg { height: 275px; width: 100%; }
@media(max-width:700px){.nl-chart-panel svg{height:auto;min-height:170px}}

/* Panels share their grid row height; content keeps its natural size. */
.nl-layout > .nl-main,
.nl-layout > .nl-details {
  align-self: stretch;
  height: auto;
  min-height: 0;
}
