/* ForexR /pine-scripts: Pine Script Library. Loaded after app.css and ea.css: the list,
   cards, chips, table, stats and detail sections reuse the EA Library's .ea-* rules; this
   file adds the copy buttons, the code block and its syntax colours. Plain CSS, app.css tokens. */
.pn-code{--pn-com:#6a7383;--pn-str:#087d56;--pn-num:#a8530a;--pn-kw:#7c3aed;--pn-fn:#0b63c5;--pn-ann:#775600}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pn-code{--pn-com:#7d8796;--pn-str:#34d399;--pn-num:#f5a35c;--pn-kw:#c4a7ff;--pn-fn:#6cb6ff;--pn-ann:#ffc53d}}
[data-theme=dark] .pn-code{--pn-com:#7d8796;--pn-str:#34d399;--pn-num:#f5a35c;--pn-kw:#c4a7ff;--pn-fn:#6cb6ff;--pn-ann:#ffc53d}

/* Copy buttons */
.pn-copy{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff);cursor:pointer}
button.bp-btn{border:0}
.pn-copy.done{background:var(--up);color:#fff}
.pn-copy[aria-busy=true]{opacity:.7;cursor:progress}
.pn-copy-s{position:relative;z-index:1;gap:5px;min-height:30px;padding:0 11px;border:1px solid var(--line);border-radius:980px;background:var(--surface);color:var(--ink);font-size:.74rem;font-weight:700}
.pn-copy-s:hover{border-color:var(--brand);background:var(--brand-soft)}
.pn-copy-s.done{border-color:var(--up);background:var(--up);color:#fff}
.pn-card .ea-foot{flex-wrap:nowrap;gap:8px}
.pn-meta{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn-card .pn-gh{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;margin:0;border:1px solid var(--line);border-radius:50%;color:var(--ink)}
.pn-card .pn-gh:hover{border-color:var(--faint);text-decoration:none}
.pn-status{min-height:1.4em;margin-top:14px;text-align:center;font-size:.9rem;font-weight:600;color:var(--up)}
.pn-status.err{color:var(--dn)}
.pn-status a{color:var(--brand-strong);text-decoration:underline;text-underline-offset:3px}
.pn-credit{margin-left:2px;color:var(--faint);font-size:.92rem}
.pn-repo-f{font-size:.85rem;font-weight:600;color:var(--ink)}
.pn-ver{background:var(--hair);color:var(--ink)}
.pn-lic{font-size:1.25rem!important}

/* Code block */
.pn-code-wrap{position:relative;margin-top:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.pn-code-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--hair);font-family:var(--fm);font-size:.8rem;color:var(--muted)}
.pn-code-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pn-code{margin:0;padding:16px 0;overflow:auto;font-family:var(--fm);font-size:.8rem;line-height:1.6;color:var(--ink);tab-size:4;outline:0}
.pn-code:focus-visible{box-shadow:inset 0 0 0 2px var(--brand-strong)}
.pn-code code{display:block;min-width:max-content;padding:0 20px 0 0;white-space:pre;font:inherit;counter-reset:pl}
.pn-code .l{display:block;counter-increment:pl}
.pn-code .l::before{content:counter(pl);display:inline-block;width:4.5ch;margin-right:2ch;padding-right:1ch;text-align:right;color:var(--faint);opacity:.65;border-right:1px solid var(--hair);user-select:none;-webkit-user-select:none}
.pn-long .pn-code{max-height:560px;overflow-y:hidden}
.pn-long.open .pn-code{max-height:none;overflow-y:auto}
.pn-long:not(.open)::after{content:"";position:absolute;left:0;right:0;bottom:52px;height:90px;background:linear-gradient(transparent,var(--surface));pointer-events:none}
.pn-more{display:block;width:100%;min-height:52px;border:0;border-top:1px solid var(--hair);background:var(--surface);color:var(--brand-strong);font-family:var(--ff);font-size:.92rem;font-weight:650;cursor:pointer}
.pn-more:hover{background:var(--hair)}
.pn-code .c{color:var(--pn-com);font-style:italic}
.pn-code .a{color:var(--pn-ann);font-weight:600;font-style:normal}
.pn-code .s{color:var(--pn-str)}
.pn-code .n{color:var(--pn-num)}
.pn-code .k{color:var(--pn-kw);font-weight:600}
.pn-code .f{color:var(--pn-fn)}
.pn-nolic{margin-top:20px}
.pn-nolic a{color:var(--brand-strong);text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){
  .pn-code{font-size:.75rem}
  .pn-code .l::before{width:3.5ch;margin-right:1.2ch}
  .pn-long .pn-code{max-height:420px}
  .pn-actions{flex-direction:column;gap:14px}
  .pn-card .pn-gh{width:36px;height:36px;padding:0;margin-block:0}
  .pn-copy-s{min-height:36px}
}
