/* JP_Analysis-539: Script Lab styles, fully scoped under .jp-sl-root so the lab
   lives natively inside the app page. Palette variables are defined ON the root
   wrapper (Luna default) and overridden by body.jp-design-system - so the Profile
   design chooser restyles the lab instantly, no iframe, no storage events. */
.jp-sl-root{
    --font-sans: 'Nunito Sans', system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, sans-serif;
    --font-serif: 'Instrument Serif', Georgia, serif;
    --font-mono: 'JetBrains Mono', ui-monospace, "SF Mono", Menlo, Consolas, monospace;

    /* LUNA / GILDED SIGNAL (default) — dark brown + gold, aqua actions, sapphire evidence */
    --ground:#120e0b;
    --panel:#1b130e;
    --panel-2:#21170f;
    --ink:#f2ead9;
    --muted:#b3a58e;
    --faint:#7d715d;
    --line:rgba(228,186,97,.24);
    --line-2:rgba(228,186,97,.13);

    --gold:#e4ba61;
    --gold-bright:#f0cd7f;
    --warm:#45c9b6;    /* primary actions — aqua */
    --cool:#91baff;    /* evidence — sapphire */

    --c-you:#ff8a66;
    --c-we:#e6a044;
    --c-question:#8fa3f5;
    --c-audience:#2bb59d;
    --c-example:#b18ae8;
    --c-vuln:#ec6c9e;
    --c-why:#e0a030;
    --c-company:#2bb59d;

    --ok:#4fbf88;
    --err:#f0675a;

    --shadow: 0 1px 2px rgba(0,0,0,.35), 0 12px 30px -14px rgba(0,0,0,.6);
    --radius:14px;
  }
/* GILDED SYSTEM — the more colorful product palette in the gilded look */
body.jp-design-system .jp-sl-root{
    --ground:#0b0e13;
    --panel:#11151c;
    --panel-2:#171b23;
    --ink:#e5e7eb;
    --muted:#9ca3af;
    --faint:#6b7280;
    --line:#2a2f3a;
    --line-2:#222733;
    --gold:#2dd4bf;
    --gold-bright:#5eead4;
    --warm:#2dd4bf;
    --cool:#93c5fd;
  }
.jp-sl-root *{box-sizing:border-box}
.jp-sl-root .wrap{font-family:var(--font-sans);background:var(--ground);color:var(--ink);min-height:100vh;
    padding:28px clamp(16px,4vw,44px) 60px;line-height:1.5;-webkit-font-smoothing:antialiased}
.jp-sl-root .shell{max-width:1180px;margin:0 auto}
.jp-sl-root .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.jp-sl-root header.top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.jp-sl-root .brand h1{font-family:var(--font-serif);font-size:clamp(30px,3.8vw,44px);line-height:1.02;margin:6px 0 0;letter-spacing:0;font-weight:400}
.jp-sl-root .brand h1 span{color:var(--gold)}
.jp-sl-root .ctx{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.jp-sl-root .chip{font-family:var(--font-mono);font-size:11.5px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--muted);display:inline-flex;gap:7px;align-items:center}
.jp-sl-root .chip b{color:var(--ink);font-weight:600}
.jp-sl-root .card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:18px}
.jp-sl-root .card h2{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-family:var(--font-mono);color:var(--faint);font-weight:600;margin:0 0 2px}
.jp-sl-root .card .sub{color:var(--muted);font-size:13px;margin:0 0 16px}
.jp-sl-root .frm{display:grid;grid-template-columns:repeat(12,1fr);gap:13px 14px}
.jp-sl-root .field{display:flex;flex-direction:column;gap:5px}
.jp-sl-root .field > span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.jp-sl-root .c3{grid-column:span 3}
.jp-sl-root .c4{grid-column:span 4}
.jp-sl-root .c6{grid-column:span 6}
.jp-sl-root .c12{grid-column:span 12}

  
@media (max-width:760px){
.jp-sl-root .c3,.jp-sl-root .c4,.jp-sl-root .c6{grid-column:span 12}
}
.jp-sl-root input[type=text],.jp-sl-root input[type=email],.jp-sl-root input[type=password],.jp-sl-root input[type=number],.jp-sl-root select,.jp-sl-root textarea{
    font:inherit;font-size:13.5px;color:var(--ink);background:var(--panel-2);
    border:1px solid var(--line);border-radius:9px;padding:8px 11px;width:100%}
.jp-sl-root textarea{min-height:110px;resize:vertical;line-height:1.55}
.jp-sl-root input:focus,.jp-sl-root select:focus,.jp-sl-root textarea:focus{outline:2px solid var(--warm);outline-offset:1px;border-color:transparent}
.jp-sl-root .btn{font:inherit;font-size:13px;font-weight:550;cursor:pointer;border-radius:9px;padding:9px 15px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);transition:.15s}
.jp-sl-root .btn:hover{border-color:var(--muted)}
.jp-sl-root .btn.primary{background:var(--warm);border-color:var(--warm);color:#fff}
.jp-sl-root .btn.primary:hover{filter:brightness(1.05)}
.jp-sl-root .btn.ghost{background:transparent}
.jp-sl-root .btn:disabled{opacity:.5;cursor:default}
.jp-sl-root .btn.big{font-size:14.5px;padding:12px 22px;box-shadow:0 6px 18px -8px var(--warm)}
.jp-sl-root .btn.sm{font-size:11.5px;padding:5px 10px;border-radius:7px}
.jp-sl-root .hint{font-size:12px;color:var(--muted)}
.jp-sl-root .lep{display:flex;flex-direction:column;gap:7px}
.jp-sl-root .lep-row{display:grid;grid-template-columns:64px 1fr 40px;align-items:center;gap:10px;font-size:12.5px}
.jp-sl-root .lep-row input[type=range]{width:100%;accent-color:var(--warm)}
.jp-sl-root .lep-row .v{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}
.jp-sl-root .dials{display:grid;grid-template-columns:1fr 1fr;gap:7px 28px}

  
@media (max-width:760px){
.jp-sl-root .dials{grid-template-columns:1fr}
}
.jp-sl-root .dial-row{display:grid;grid-template-columns:132px 1fr 62px;align-items:center;gap:10px;font-size:12.5px}
.jp-sl-root .dial-row input[type=range]{width:100%;accent-color:var(--warm)}
.jp-sl-root .dial-row .v{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums;color:var(--muted);font-size:11.5px}
.jp-sl-root .ideas-wrap{position:relative}
.jp-sl-root .mic{position:absolute;right:9px;bottom:9px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--panel);cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.15s}
.jp-sl-root .mic:hover{border-color:var(--warm)}
.jp-sl-root .mic.rec{background:var(--err);border-color:var(--err);color:#fff;animation:jpslMicpulse 1.2s ease infinite}

  
@keyframes jpslMicpulse{0%,100%{box-shadow:0 0 0 0 rgba(214,72,59,.45)}50%{box-shadow:0 0 0 9px rgba(214,72,59,0)}}
.jp-sl-root .acct-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-2)}
.jp-sl-root .acct-row[hidden]{display:none}
.jp-sl-root .acct-row .field{min-width:190px}
.jp-sl-root .acct-note{font-size:12px;color:var(--muted);align-self:center}
.jp-sl-root .acct-note a{color:var(--warm);text-decoration:none}
.jp-sl-root .gen-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-2)}
.jp-sl-root .status{font-size:12.5px;color:var(--muted);min-height:1.2em;font-family:var(--font-mono)}
.jp-sl-root .status.err{color:var(--err)}
.jp-sl-root .status.ok{color:var(--ok)}
.jp-sl-root .spin{display:inline-block;width:11px;height:11px;border:2px solid var(--line);border-top-color:var(--warm);border-radius:50%;animation:jpslSpin .8s linear infinite;vertical-align:-1px;margin-right:6px}

  
@keyframes jpslSpin{to{transform:rotate(360deg)}}
.jp-sl-root .pipe{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.jp-sl-root .pipe .step{font-family:var(--font-mono);font-size:11px;border:1px solid var(--line);border-radius:999px;padding:5px 12px;color:var(--faint);display:inline-flex;gap:6px;align-items:center}
.jp-sl-root .pipe .step.on{color:var(--ink);border-color:var(--warm)}
.jp-sl-root .pipe .step.done{color:var(--ok);border-color:var(--ok)}
.jp-sl-root /* scoreboard */
  .board{display:grid;grid-template-columns:1fr 1fr;gap:10px}

  
@media (max-width:860px){
.jp-sl-root .board{grid-template-columns:1fr}
}
.jp-sl-root .trg{border:1px solid var(--line-2);background:var(--panel-2);border-radius:11px;padding:11px 13px;cursor:pointer}
.jp-sl-root .trg .hd{display:flex;align-items:center;gap:9px}
.jp-sl-root .trg .st{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;color:#fff;flex:0 0 auto}
.jp-sl-root .trg.pass .st{background:var(--ok)}
.jp-sl-root .trg.warn .st{background:var(--warn)}
.jp-sl-root .trg.fail .st{background:var(--err)}
.jp-sl-root .trg.stale .st{background:var(--faint)}
.jp-sl-root .trg .nm{font-size:13.5px;font-weight:600;flex:1}
.jp-sl-root .trg .val{font-family:var(--font-mono);font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.jp-sl-root .trg .why{font-size:12px;color:var(--muted);margin:5px 0 0 29px}
.jp-sl-root .trg .det{margin:9px 0 0 29px;display:none}
.jp-sl-root .trg.open .det{display:block}
.jp-sl-root .bar-row{display:grid;grid-template-columns:150px 1fr 44px;gap:9px;align-items:center;padding:4px 0;font-size:12px}
.jp-sl-root .bar-row .track{height:7px;background:var(--line-2);border-radius:99px;overflow:hidden}
.jp-sl-root .bar-row .track>span{display:block;height:100%;border-radius:99px}
.jp-sl-root .bar-row .sc{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}
.jp-sl-root .det ul{margin:4px 0;padding-left:17px;font-size:12px;color:var(--muted)}
.jp-sl-root .det li{margin:2px 0}
.jp-sl-root /* script */
  .layerbar{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:4px}
.jp-sl-root .fbtn{font-family:var(--font-mono);font-size:11px;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:5px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:.15s}
.jp-sl-root .fbtn i{width:8px;height:8px;border-radius:2px;background:var(--lc,var(--faint))}
.jp-sl-root .fbtn[aria-pressed="true"]{color:var(--ink);border-color:currentColor}
.jp-sl-root .layerbar .sep{width:1px;height:20px;background:var(--line);margin:0 3px}
.jp-sl-root .swt{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);cursor:pointer}
.jp-sl-root .swt input{width:15px;height:15px;accent-color:var(--warm)}
.jp-sl-root .legend{font-size:11.5px;color:var(--faint);font-family:var(--font-mono);margin:2px 0 10px;min-height:1em}
.jp-sl-root .wc{font-family:var(--font-mono);font-size:12px;color:var(--muted);margin:0 0 10px;font-variant-numeric:tabular-nums}
.jp-sl-root .wc b{color:var(--ink)}
.jp-sl-root .wc .over{color:var(--err);font-weight:600}
.jp-sl-root .wc .under{color:var(--warn);font-weight:600}
.jp-sl-root .wc .okw{color:var(--ok);font-weight:600}
.jp-sl-root .sec{border-top:1px solid var(--line-2);padding:16px 0 6px;position:relative}
.jp-sl-root .sec:first-of-type{border-top:none}
.jp-sl-root .sec-hd{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.jp-sl-root .sec-hd .tc{font-family:var(--font-mono);font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}
.jp-sl-root .sec-hd .ttl{font-size:13px;font-weight:650}
.jp-sl-root .sec-hd .el{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line-2);border-radius:5px;padding:2px 6px}
.jp-sl-root .sec-hd .regen{margin-left:auto;opacity:0;transition:.15s}
.jp-sl-root .sec:hover .regen{opacity:1}
.jp-sl-root .sec-body{font-size:15.5px;line-height:1.75;outline:none;white-space:pre-wrap}
.jp-sl-root .sec-body:focus{background:color-mix(in srgb,var(--warm) 3%,transparent);border-radius:8px}
.jp-sl-root .sec-body mark{background:transparent;color:inherit;padding:1px 2px;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone;
    background:color-mix(in srgb,var(--mc,#888) 20%,transparent);box-shadow:inset 0 -2px 0 var(--mc,#888)}
.jp-sl-root .dtip{float:right;clear:right;width:196px;margin:2px 0 8px 14px;background:var(--panel-2);border:1px solid var(--line-2);border-left:3px solid var(--warm);border-radius:9px;padding:8px 10px;font-size:11.8px;line-height:1.45;color:var(--muted)}
.jp-sl-root .dtip b{color:var(--ink);font-size:12px}
.jp-sl-root .script-card.no-delivery .dtip{display:none}

  
@media (max-width:700px){
.jp-sl-root .dtip{float:none;width:auto;margin:8px 0}
}
.jp-sl-root .script-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-2)}
.jp-sl-root /* chat */
  .chat-log{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow-y:auto;padding:4px 2px;margin-bottom:12px}
.jp-sl-root .msg{max-width:82%;border-radius:13px;padding:10px 13px;font-size:13.5px;line-height:1.55;white-space:pre-wrap}
.jp-sl-root .msg.user{align-self:flex-end;background:var(--warm);color:#fff;border-bottom-right-radius:4px}
.jp-sl-root .msg.bot{align-self:flex-start;background:var(--panel-2);border:1px solid var(--line-2);border-bottom-left-radius:4px}
.jp-sl-root .msg.bot .edited{display:block;margin-top:7px;font-family:var(--font-mono);font-size:10.5px;color:var(--ok)}
.jp-sl-root .chat-row{display:flex;gap:9px}
.jp-sl-root .chat-row textarea{min-height:44px;max-height:130px;flex:1}
.jp-sl-root .foot{margin-top:22px;color:var(--faint);font-size:12px;font-family:var(--font-mono);text-align:center}
.jp-sl-root [hidden]{display:none!important}

  
@media (prefers-reduced-motion:reduce){
.jp-sl-root *{animation:none!important;transition:none!important}
}
/* in-app fit */
.jp-sl-root .wrap{min-height:auto;padding:4px 0 44px;background:transparent}
.jp-sl-root .shell{max-width:none}
