.script-dock { border:1px solid var(--vc-border); border-radius:16px; padding:20px; background:var(--vc-panel); color:var(--vc-text); min-width:0; box-sizing:border-box; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.script-dock [hidden] { display:none!important; }
.script-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:12px; }
.script-toolbar h2 { margin:0; font-size:18px; }
.script-toolbar #script-revision { flex:1 1 180px; min-width:0; overflow-wrap:anywhere; font-size:13px; }
.script-dock label { display:flex; flex-direction:column; gap:5px; font-size:13px; min-width:0; }
.script-name { flex:1 1 220px; }
.script-dock button,.script-dock input,.script-dock select,.script-dock summary { min-height:44px; }
.script-dock button { padding:8px 12px; border:1px solid var(--vc-border); border-radius:7px; color:var(--vc-text); background:var(--vc-panel); cursor:pointer; min-width:44px; max-width:100%; white-space:normal; }
.script-dock button[aria-pressed=true] { border-color:var(--vc-accent); box-shadow:inset 0 -2px var(--vc-accent); font-weight:700; }
.script-dock button:disabled { opacity:.55; cursor:wait; }
.script-dock input,.script-dock textarea,.script-dock select { box-sizing:border-box; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-panel); color:var(--vc-text); padding:9px; width:100%; font:inherit; }
.script-dock input { font-size:16px; }
.script-dock textarea { resize:vertical; }
.script-dock .script-source { min-height:240px; font:13px/1.6 ui-monospace,Consolas,monospace; tab-size:4; }
.script-dock { --os-active:#eef2ff; --os-selection:#c7d2fe; }
html[data-theme="dark"] .script-dock { --os-active:#252b44; --os-selection:#414969; }
#script-rich-source { height:360px; min-width:0; border:1px solid var(--vc-border); border-radius:6px; overflow:hidden; }
#script-rich-source .cm-editor { min-width:0; }
#script-rich-source .cm-content:focus-visible { outline:2px solid var(--vc-accent); outline-offset:-2px; }
.os-keyword { color:#6d28d9; }
.os-builtin { color:#075985; }
.os-name,.os-operator,.os-punctuation { color:#334155; }
.os-number { color:#9a3412; }
.os-string,.os-color { color:#166534; }
.os-comment { color:#526079; }
html[data-theme="dark"] .os-keyword { color:#c4b5fd; }
html[data-theme="dark"] .os-builtin { color:#7dd3fc; }
html[data-theme="dark"] :is(.os-name,.os-operator,.os-punctuation) { color:#e2e8f0; }
html[data-theme="dark"] .os-number { color:#fdba74; }
html[data-theme="dark"] :is(.os-string,.os-color) { color:#86efac; }
html[data-theme="dark"] .os-comment { color:#a9b4c7; }
.os-tooltip { max-width:min(350px,80vw); padding:10px; font:12px/1.6 system-ui,sans-serif; white-space:normal; }
#script-rich-tools select { width:auto; max-width:100%; }
.script-learn-layout { display:grid; grid-template-columns:160px minmax(0,1fr); gap:14px; margin:14px 0; }
#script-learn-topics { display:flex; flex-direction:column; gap:6px; }
#script-learn-topics button { text-align:left; font-size:12px; }
#script-learn-chapters { min-width:0; }
.script-settings { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:14px 0; }
.script-dock p { font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.script-dock pre { white-space:pre-wrap; overflow-wrap:anywhere; font:13px/1.6 ui-monospace,Consolas,monospace; }
.script-dock :is(button,input,textarea,summary,select):focus-visible { outline:3px solid var(--vc-accent); outline-offset:2px; }
.script-dock summary { display:flex; align-items:center; cursor:pointer; font-weight:600; }
.script-preview { padding:14px; border:1px solid var(--vc-border); border-radius:8px; overflow-wrap:anywhere; }
.script-preview h2,.script-preview h3 { margin:12px 0 6px; }
.script-preview code { font-family:ui-monospace,Consolas,monospace; }
.script-table-scroll { max-width:100%; overflow-x:auto; }
.script-dock table { width:100%; min-width:0; table-layout:fixed; border-collapse:collapse; font-size:13px; }
.script-dock th,.script-dock td { padding:10px; text-align:left; border-bottom:1px solid var(--vc-border); white-space:normal; overflow-wrap:anywhere; position:static; }
.script-dock thead th:first-child { width:36%; }
.script-equity-chart { height:240px; width:100%; min-width:0; margin-top:16px; }
.script-result-summary { font-weight:650; }
.script-result-views { margin:16px 0 0; }
.script-result-views .script-icon-action { width:44px; height:44px; flex:0 0 44px; padding:0; }
.script-trade { border:1px solid var(--vc-border); border-radius:8px; padding:12px; margin:12px 0; }
.script-trade h4 { margin:0 0 10px; }
.script-trade-times { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:8px; }
.script-trade-times button { text-align:left; overflow-wrap:anywhere; font-size:12px; }
.script-card { border-bottom:1px solid var(--vc-border); padding:4px 0; min-height:62px; box-sizing:border-box; }
.script-card h3,.script-card h4 { margin:0 0 8px; overflow-wrap:anywhere; }
#script-status[data-error=true] { color:#fca5a5; }
html[data-theme="light"] #script-status[data-error=true] { color:#b91c1c; }
.script-modal { position:fixed; inset:0; z-index:1200; background:rgba(4,8,20,.64); display:flex; justify-content:center; align-items:center; padding:24px; }
.script-modal.hidden { display:none; }
.script-modal > .script-dock { display:flex; flex-direction:column; width:min(1090px,100%); height:min(800px,calc(100dvh - 48px)); box-shadow:0 24px 80px #0005; }
.script-dock header { flex-wrap:nowrap; flex-shrink:0; padding:0 0 12px; margin-left:0; background:transparent; border-bottom:1px solid var(--vc-border); }
.script-dock header > div,.script-dock header h2 { flex:1; }
.script-dock header p { margin:4px 0 0; color:var(--vc-muted); }
.script-modal > .script-workspace { position:relative; width:min(880px,100%); height:min(650px,calc(100dvh - 48px)); padding:16px; }
.script-library-grid { display:grid; grid-template-columns:148px minmax(0,1fr); gap:16px; flex:1; min-height:0; }
.script-sources { display:flex; flex-direction:column; gap:6px; overflow-y:auto; border-right:1px solid var(--vc-border); padding-right:12px; }
.script-sources button { text-align:left; flex-shrink:0; }
.script-sources .script-secondary-action { font-size:12px; color:var(--vc-muted); border-color:transparent; }
#script-create-button { margin-top:8px; color:var(--vc-accent); }
.script-catalogue { min-width:0; overflow:auto; padding:2px 4px; }
.script-catalogue > .script-toolbar { margin:6px 0; }
.script-catalogue h3 { font-size:14px; }
#script-info-modal { z-index:1250; }
#script-info-modal > .script-dock { width:min(620px,100%); height:auto; max-height:calc(100dvh - 48px); }
#script-info-title { min-width:0; overflow-wrap:anywhere; }
#script-info { padding:14px; }
#script-info:focus-visible { outline:3px solid var(--vc-accent); outline-offset:-3px; }
.script-card > button:first-child { display:block; width:100%; text-align:left; font-size:13px; font-weight:650; padding:3px 8px 20px; border:0; min-height:52px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.script-card > button:first-child:hover { color:var(--vc-accent); text-decoration:underline; }
.script-card:hover { background:color-mix(in srgb,var(--vc-accent) 4%,var(--vc-panel)); }
.script-card p { margin:0 8px; color:var(--vc-muted); font-size:10px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; pointer-events:none; }
.script-card .script-toolbar { margin:0; gap:0; flex-wrap:nowrap; }
.script-card .script-toolbar button { font-size:12px; padding:6px 10px; }
.script-card .script-icon-action,.script-card .script-toolbar .script-icon-action { width:44px; min-width:44px; height:44px; flex:0 0 44px; padding:0; font:600 16px ui-monospace,Consolas,monospace; border-color:transparent; color:var(--vc-muted); }
.script-card .script-icon-action:hover { color:var(--vc-accent); background:color-mix(in srgb,var(--vc-accent) 8%,var(--vc-panel)); }
.script-card .script-delete-action:hover { color:#fca5a5; }
html[data-theme="light"] .script-card .script-delete-action:hover { color:#b91c1c; }
.script-card .script-icon-action[aria-label="Explanation"] { font-family:Georgia,serif; font-size:19px; }
.script-card { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:52px; align-items:center; }
.script-card > button:first-child { grid-column:1; grid-row:1; }
.script-card > p { grid-column:1; grid-row:1; align-self:end; margin-bottom:4px; }
.script-card > .script-toolbar { grid-column:2; grid-row:1; }
.script-card > button:last-child:not(:first-child) { grid-column:2; grid-row:1; }
.script-card .script-more-action { display:none; }
.script-dock .script-close-action { width:44px; min-width:44px; height:44px; padding:0; flex:0 0 44px; font-size:26px; border-color:transparent; color:var(--vc-muted); }
.script-dock .script-close-action > span { font-size:26px; line-height:1; color:inherit; }
.script-icon-action svg,.script-close-action svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
.script-tooltip { position:fixed; width:max-content; max-width:min(300px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow:auto; box-sizing:border-box; padding:12px 14px; border:1px solid var(--vc-border); border-radius:10px; background:var(--vc-text); color:var(--vc-panel); box-shadow:0 8px 28px #0004; font:12px/1.6 system-ui,sans-serif; overflow-wrap:anywhere; z-index:1; }
.script-tooltip[hidden] { display:none; }
.script-tooltip strong,.script-tooltip span { display:block; }
.script-tooltip span { margin-top:4px; }
.script-small-modal { z-index:1250; }
.script-small-modal > .script-dock { width:min(580px,100%); height:auto; max-height:calc(100dvh - 48px); }
.script-small-modal h2 { overflow-wrap:anywhere; min-width:0; }
#script-actions-body { display:grid; gap:8px; }
#script-actions-body button { text-align:left; }
#script-settings-modal .script-settings { grid-template-columns:repeat(2,minmax(0,1fr)); }
#script-library-status:empty, #script-readonly-status:empty { display:none; }
.script-dock :is(#script-run,#script-clone) { background:#6d28d9; border-color:#6d28d9; color:#fff; }
.script-library-footer { display:flex; align-items:center; flex-wrap:wrap; gap:8px; flex-shrink:0; border-top:1px solid var(--vc-border); padding-top:8px; margin-top:12px; }
.script-library-target { flex:1; min-width:0; }
.script-library-footer p { margin:0; font-size:11px; color:var(--vc-muted); }
.script-library-footer small { font-size:10px; color:var(--vc-muted); }
.script-l2 { justify-content:flex-end; padding:0; }
.script-l2 > .script-dock { width:680px; height:100dvh; border-radius:16px 0 0 16px; }
#script-dock > .script-dock { width:740px; }
.script-body { flex:1; min-height:0; overflow:auto; padding:3px; }
#script-readonly-title { min-width:0; overflow-wrap:anywhere; }
#script-readonly-source { min-height:320px; height:42dvh; }
#script-readonly-native-links a { color:var(--vc-accent); display:inline-block; padding:12px 2px; }
.script-footer { flex-shrink:0; border-top:1px solid var(--vc-border); padding-top:12px; margin:12px 0 0; }
#script-status { flex-shrink:0; margin:0 0 10px; }
.script-publication { z-index:1250; }
.script-publication > .script-dock { width:680px; }
.script-dock .script-consent { display:flex; flex-direction:row; align-items:center; gap:10px; margin:12px 0; }
.script-consent input { width:24px; height:44px; flex-shrink:0; }
#script-library-status[data-error=true], #script-readonly-status[data-error=true] { color:#fca5a5; }
html[data-theme="light"] #script-library-status[data-error=true], html[data-theme="light"] #script-readonly-status[data-error=true] { color:#b91c1c; }
@media(min-width:768px) and (max-width:1100px) {
  .script-library-grid { grid-template-columns:130px minmax(0,1fr); gap:14px; }
  .script-l2 > .script-dock { width:min(620px,88vw); }
  #script-dock > .script-dock { width:min(620px,88vw); }
}
@media(max-width:850px) {
  .script-card .script-desktop-action { display:none; }
  .script-card .script-more-action { display:block; }
}
@media(max-width:767px) {
  .script-modal { padding:0; align-items:flex-end; }
  .script-modal > .script-dock { height:96dvh; padding:12px; border-radius:16px 16px 0 0; }
  .script-l2 > .script-dock { width:100%; height:100dvh; border-radius:0; }
  #script-dock > .script-dock { width:100%; }
  .script-learn-layout { grid-template-columns:minmax(0,1fr); }
  #script-learn-topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .script-modal > .script-workspace { height:min(800px,96dvh); width:100%; }
  .script-small-modal > .script-dock { height:auto; max-height:94dvh; }
  #script-create-button { width:44px; min-width:44px; height:44px; margin:0; padding:0; text-align:center; font-size:22px; flex:0 0 44px; }
  #script-create-button > span:first-child { font-size:22px; color:inherit; }
  .script-create-label { display:none; }
  .script-workspace > header h2 { font-size:15px; }
  .script-library-grid { display:flex; flex-direction:column; gap:6px; }
  .script-sources { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; border:0; padding:0; overflow:visible; }
  .script-sources button { font-size:11px; padding:6px; text-align:center; }
  .script-sources .script-secondary-action { font-size:11px; }
  .script-catalogue { min-height:0; flex:1; }
  .script-card > button:first-child { font-size:12px; padding-left:4px; }
  .script-card p { margin-left:4px; }
  .script-dock header h2 { font-size:16px; }
  .script-dock header button { flex:0 1 auto; }
  .script-footer { gap:6px; }
  .script-footer button { font-size:12px; padding:6px 9px; }
  .script-settings { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .script-toolbar { gap:6px; }
  .script-toolbar button { flex:1 1 auto; }
  .script-toolbar h2 { flex-basis:100%; }
  .script-dock th,.script-dock td { padding:8px 5px; font-size:12px; }
}
