/*
 * Standalone projection of the Playground's real SparkRust Dusk JupyterLab
 * theme. Tokens below are copied from
 * examples/playground/jupyterlab-extension/style/themes.css; component
 * geometry follows JupyterLab's cells/inputarea/outputarea/notebook CSS and
 * the Playground's style/base.css overrides.
 */
body[data-jp-theme-name="SparkRust Dusk"] {
  --jp-border-width: 1px;
  --jp-border-radius: 2px;
  --jp-elevation-z0: none;
  --jp-elevation-z1: 0 2px 1px -1px var(--jp-shadow-umbra-color), 0 1px 1px 0 var(--jp-shadow-penumbra-color), 0 1px 3px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z2: 0 3px 1px -2px var(--jp-shadow-umbra-color), 0 2px 2px 0 var(--jp-shadow-penumbra-color), 0 1px 5px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z6: 0 3px 5px -1px var(--jp-shadow-umbra-color), 0 6px 10px 0 var(--jp-shadow-penumbra-color), 0 1px 18px 0 var(--jp-shadow-ambient-color);
  --jp-cell-padding: 5px;
  --jp-cell-collapser-width: 8px;
  --jp-cell-collapser-min-height: 20px;
  --jp-cell-collapser-not-active-hover-opacity: .6;
  --jp-cell-prompt-width: 64px;
  --jp-cell-prompt-letter-spacing: 0;
  --jp-cell-prompt-opacity: 1;
  --jp-cell-prompt-not-active-opacity: .5;
  --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300, #64b5f6);
  --jp-notebook-padding: 2px;
  --jp-toolbar-header-margin: 4px 4px 0 4px;
  --jp-toolbar-box-shadow: 0 0 2px 0 rgba(0, 0, 0, .24);
  --jp-statusbar-height: 24px;
  --jp-ui-font-scale-factor: 1.2;
  --jp-ui-font-size0: .83333em;
  --jp-ui-font-size1: 13px;
  --jp-ui-font-size2: 1.2em;
  --jp-ui-font-size3: 1.44em;
  --jp-ui-font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --jp-content-line-height: 1.6;
  --jp-content-font-size0: .83333em;
  --jp-content-font-size1: 14px;
  --jp-content-font-size2: 1.2em;
  --jp-content-font-size3: 1.44em;
  --jp-content-font-size4: 1.728em;
  --jp-content-font-size5: 2.0736em;
  --jp-content-heading-line-height: 1;
  --jp-content-heading-margin-top: 1.2em;
  --jp-content-heading-margin-bottom: .8em;
  --jp-content-heading-font-weight: 500;
  --jp-content-font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --jp-code-font-size: 13px;
  --jp-code-line-height: 1.3077;
  --jp-code-padding: 5px;
  --jp-code-font-family-default: menlo, consolas, "DejaVu Sans Mono", monospace;
  --jp-code-font-family: var(--jp-code-font-family-default);
  --jp-cell-prompt-font-family: var(--jp-code-font-family-default);
  --jp-shadow-base-lightness: 32;
  --jp-shadow-umbra-color: rgba(4, 8, 18, .5);
  --jp-shadow-penumbra-color: rgba(4, 8, 18, .42);
  --jp-shadow-ambient-color: rgba(4, 8, 18, .32);
  --jp-layout-color0: #32405a;
  --jp-layout-color1: #29344a;
  --jp-layout-color2: #222c3f;
  --jp-layout-color3: #1b2434;
  --jp-layout-color4: #141b28;
  --jp-inverse-layout-color0: #10161f;
  --jp-inverse-layout-color1: #e7edf6;
  --jp-inverse-layout-color2: #cdd9ea;
  --jp-inverse-layout-color3: #aebbd0;
  --jp-inverse-layout-color4: #8fa0bb;
  --jp-ui-font-color0: #f4f7fc;
  --jp-ui-font-color1: #e2e9f4;
  --jp-ui-font-color2: #b3c1d6;
  --jp-ui-font-color3: #8698b3;
  --jp-inverse-ui-font-color0: #10161f;
  --jp-content-font-color0: #f6f8fc;
  --jp-content-font-color1: #e4ebf5;
  --jp-content-font-color2: #b7c4d8;
  --jp-content-font-color3: #8a9bb6;
  --jp-border-color0: #46587a;
  --jp-border-color1: #3b4a66;
  --jp-border-color2: #303d55;
  --jp-border-color3: #263145;
  --jp-brand-color0: #a7cdec;
  --jp-brand-color1: #57a6ef;
  --jp-brand-color2: #2f7fd0;
  --jp-brand-color3: #24507f;
  --jp-brand-color4: #17324f;
  --srj-run-accent: #b98cf0;
  --srj-run-accent-soft: #6a4d94;
  --jp-accent-color0: #a7cdec;
  --jp-accent-color1: #57a6ef;
  --jp-accent-color2: #2f7fd0;
  --jp-accent-color3: #1f5590;
  --jp-warn-color0: #ffd39a;
  --jp-warn-color1: #f0b45a;
  --jp-warn-color2: #c78a30;
  --jp-warn-color3: #8a5f1f;
  --jp-error-color0: #ffb3bc;
  --jp-error-color1: #f26d7c;
  --jp-error-color2: #c94255;
  --jp-error-color3: #8a2634;
  --jp-success-color0: #a7ecd0;
  --jp-success-color1: #45c795;
  --jp-success-color2: #2f9a6f;
  --jp-success-color3: #1f6b4c;
  --jp-info-color0: #a7cdec;
  --jp-info-color1: #57a6ef;
  --jp-info-color2: #2f7fd0;
  --jp-info-color3: #1f5590;
  --jp-cell-editor-background: #222c3f;
  --jp-cell-editor-border-color: #3b4a66;
  --jp-cell-prompt-not-active-font-color: #8a9bb6;
  --jp-cell-inprompt-font-color: #57a6ef;
  --jp-cell-outprompt-font-color: #57a6ef;
  --jp-rendermime-error-background: #3a1c20;
  --jp-editor-selected-background: #33405a;
  --jp-editor-selected-focused-background: #3d4c6a;
  --jp-rendermime-table-row-background: #313d54;
  --jp-rendermime-table-row-hover-background: #384766;
  --jp-code-font-color: #e4ebf5;
  --jp-notebook-multiselected-color: rgba(88, 130, 200, .28);
  --jp-mirror-editor-keyword-color: #7ee0a0;
  --jp-mirror-editor-atom-color: #9db9f5;
  --jp-mirror-editor-number-color: #86d9a0;
  --jp-mirror-editor-def-color: #7fb0f5;
  --jp-mirror-editor-variable-color: #e4ebf5;
  --jp-mirror-editor-variable-2-color: #6fa8ec;
  --jp-mirror-editor-variable-3-color: #86d9a0;
  --jp-mirror-editor-punctuation-color: #b7c4d8;
  --jp-mirror-editor-property-color: #7fb0f5;
  --jp-mirror-editor-operator-color: #d4a8ff;
  --jp-mirror-editor-comment-color: #8a9bb6;
  --jp-mirror-editor-string-color: #ff9d9d;
  --jp-mirror-editor-string-2-color: #d8a0e6;
  --jp-mirror-editor-meta-color: #d4a8ff;
  --jp-mirror-editor-builtin-color: #7ee0a0;
  --jp-mirror-editor-error-color: #ff7070;
  --jp-focus-outline-color: var(--jp-brand-color1);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
html { background: var(--jp-layout-color4); }
body {
  margin: 0;
  background: var(--jp-layout-color2);
  color: var(--jp-content-font-color1);
  font: var(--jp-ui-font-size1)/1.4 var(--jp-ui-font-family);
  -webkit-font-smoothing: antialiased;
}
button, textarea { font: inherit; }
button:focus-visible, textarea:focus-visible { outline: 2px solid var(--jp-brand-color1); outline-offset: -2px; }

/* Standalone JupyterLab application shell. */
.jp-LabShell { --srj-sidebar-width: 240px; min-height: 100vh; padding-left: calc(33px + var(--srj-sidebar-width)); background: var(--jp-layout-color2); }
.jp-ActivityBar {
  position: fixed; inset: 0 auto 0 0; z-index: 60; width: 33px;
  display: flex; flex-direction: column; align-items: center;
  background: var(--jp-layout-color1); border-right: 1px solid var(--jp-border-color1);
}
.jp-ActivityButton { width: 32px; height: 40px; border: 0; background: transparent; color: var(--jp-ui-font-color2); font-size: 16px; cursor: default; }
.jp-ActivityButton.jp-mod-current { color: var(--jp-ui-font-color0); border-left: 2px solid var(--jp-brand-color1); background: var(--jp-layout-color2); }
.jp-FileBrowser { position: fixed; inset: 0 auto 24px 33px; z-index: 45; width: var(--srj-sidebar-width); overflow: auto; background: var(--jp-layout-color1); border-right: 1px solid var(--jp-border-color1); color: var(--jp-ui-font-color1); }
.jp-FileBrowser-breadcrumbs { height: 30px; display: flex; align-items: center; gap: 7px; padding: 0 10px; border-bottom: 1px solid var(--jp-border-color2); color: var(--jp-ui-font-color2); font-size: var(--jp-ui-font-size0); }
.jp-DirListing-header { height: 25px; display: flex; align-items: center; padding: 0 10px 0 34px; border-bottom: 1px solid var(--jp-border-color2); color: var(--jp-ui-font-color3); font-size: var(--jp-ui-font-size0); }
.jp-DirListing-content { padding: 4px; }
.jp-FileGroup { margin-bottom: 5px; }
.jp-FileGroup-label { height: 28px; display: flex; align-items: center; gap: 8px; padding: 0 7px; color: var(--jp-ui-font-color2); font-size: var(--jp-ui-font-size0); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.jp-FileGroup .jp-DirListing-item { padding-left: 19px; }
.jp-DirListing-item { width: 100%; height: 30px; display: flex; align-items: center; gap: 8px; padding: 0 7px; border: 0; border-radius: var(--jp-border-radius); background: transparent; color: var(--jp-ui-font-color1); text-align: left; cursor: pointer; }
.jp-DirListing-item:hover { background: var(--jp-layout-color2); }
.jp-DirListing-item.jp-mod-selected { background: var(--jp-brand-color3); color: var(--jp-ui-font-color0); }
.jp-DirListing-itemText { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.srj-LanguageIcon { width: 16px; height: 16px; flex: 0 0 16px; display: block; }
.jp-TopPanel { position: sticky; top: 0; z-index: 50; background: var(--jp-layout-color1); }
.jp-MenuBar { height: 28px; display: flex; align-items: center; padding: 0 5px; border-bottom: 1px solid var(--jp-border-color2); color: var(--jp-ui-font-color1); }
.jp-MenuBar-brand { display: flex; align-items: center; gap: 7px; padding: 0 8px 0 3px; font-weight: 600; white-space: nowrap; }
.jp-MenuBar-item { border: 0; padding: 4px 8px; border-radius: var(--jp-border-radius); background: transparent; color: inherit; cursor: pointer; }
.jp-MenuBar-item:hover { background: var(--jp-layout-color2); }
.jp-MenuBar-spacer { flex: 1; }
.srj-EngineStatus { align-items: center; display: flex; gap: 7px; min-height: 24px; padding: 0 10px; color: var(--jp-ui-font-color1); font-size: var(--jp-ui-font-size0); }
.srj-EngineStatus-dot { box-sizing: border-box; flex: 0 0 9px; width: 9px; height: 9px; min-width: 9px; min-height: 9px; border: 2px solid var(--jp-warn-color0); border-radius: 50%; background: var(--jp-warn-color1); }
.status.ready .srj-EngineStatus-dot { border-color: var(--jp-success-color0); background: var(--jp-success-color1); }
.status.error .srj-EngineStatus-dot { border-color: var(--jp-error-color0); background: var(--jp-error-color1); }
.jp-Workspace { min-width: 0; background: var(--jp-layout-color2); }
.jp-TabBar { position: sticky; top: 28px; z-index: 49; height: 33px; display: flex; align-items: end; overflow: hidden; padding-left: 3px; background: var(--jp-layout-color2); border-bottom: 1px solid var(--jp-border-color1); box-shadow: var(--jp-elevation-z1); }
.lm-TabBar-tab { height: 31px; min-width: 0; max-width: 310px; flex: 0 1 310px; overflow: hidden; display: flex; align-items: center; gap: 5px; padding: 5px 4px 5px 8px; border: 0; border-right: 1px solid var(--jp-border-color2); background: var(--jp-layout-color2); color: var(--jp-ui-font-color2); white-space: nowrap; cursor: pointer; }
.lm-TabBar-tabLabel { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; border: 0; padding: 0; background: transparent; color: inherit; text-align: left; cursor: inherit; }
.lm-TabBar-tabCloseIcon { flex: 0 0 18px; width: 18px; height: 20px; border: 0; border-radius: var(--jp-border-radius); padding: 0; background: transparent; color: var(--jp-ui-font-color3); cursor: pointer; }
.lm-TabBar-tabCloseIcon:hover { background: var(--jp-layout-color3); color: var(--jp-ui-font-color0); }
.lm-TabBar-tab.lm-mod-current { height: 33px; color: var(--jp-ui-font-color0); background: var(--jp-layout-color1); border-top: 2px solid var(--jp-brand-color1); padding-top: 3px; }
.jp-NotebookPanel-toolbar { position: sticky; top: 61px; z-index: 48; min-height: 38px; display: flex; align-items: center; gap: 2px; padding-inline: 8px; background: var(--jp-layout-color1); border-bottom: 1px solid var(--jp-border-color2); box-shadow: var(--jp-toolbar-box-shadow); }
.jp-ToolbarButton { height: 28px; min-width: 28px; padding: 3px 7px; border: 0; border-radius: var(--jp-border-radius); background: transparent; color: var(--jp-ui-font-color1); cursor: pointer; }
.jp-ToolbarButton:hover { background: var(--jp-layout-color2); }
.jp-ToolbarButton:disabled { opacity: .4; }
.jp-ToolbarButton:is(.srj-RunAllButton,.srj-ClearAllOutputsButton,.srj-RestartNotebookButton) { display: inline-flex; align-items: center; justify-content: center; gap: 5px; line-height: 18px; white-space: nowrap; }
.jp-ToolbarButton:is(.srj-RunAllButton,.srj-ClearAllOutputsButton,.srj-RestartNotebookButton) svg { width: 18px; height: 18px; flex: 0 0 18px; display: block; fill: currentColor; }
.jp-ToolbarButton.srj-RunAllButton { color: var(--jp-brand-color1); }
.jp-ToolbarButton.srj-ClearAllOutputsButton { color: var(--jp-ui-font-color2); }
.jp-ToolbarButton.srj-ClearAllOutputsButton:not(:disabled):hover { color: var(--jp-ui-font-color0); }
.jp-Toolbar-separator { height: 22px; width: 1px; margin: 0 4px; background: var(--jp-border-color1); }
.jp-Toolbar-spacer { flex: 1; }
.jp-KernelName { color: var(--jp-ui-font-color2); font-size: var(--jp-ui-font-size0); padding: 0 7px; }
.jp-KernelStatus { width: 10px; height: 10px; border: 1px solid var(--jp-ui-font-color2); border-radius: 50%; margin-right: 5px; }

/* Notebook document and stock JupyterLab cell geometry. */
.jp-MainArea { min-height: calc(100vh - 99px); background: var(--jp-layout-color2); padding: 1px; }
[hidden] { display: none !important; }
.jp-Notebook { max-width: 1120px; min-height: calc(100vh - 101px); margin: 0 auto; padding: var(--jp-notebook-padding) 18px 80px; background: var(--jp-layout-color0); color: var(--jp-content-font-color1); }
.srj-Welcome { max-width: 1050px; margin: 34px auto 70px; padding: 30px; color: var(--jp-content-font-color1); }
.srj-Welcome-hero { display: flex; align-items: center; gap: 24px; padding: 28px; border: 1px solid var(--jp-border-color1); border-radius: 12px; background: linear-gradient(135deg, var(--jp-layout-color0), var(--jp-layout-color1)); box-shadow: var(--jp-elevation-z2); }
.srj-Welcome-mark { width: 78px; height: 78px; flex: 0 0 78px; display: grid; place-items: center; border-radius: 18px; color: white; background: linear-gradient(145deg, #f37726, #c94f12); font-size: 38px; box-shadow: var(--jp-elevation-z6); }
.srj-Welcome-eyebrow { margin: 0 0 5px; color: var(--jp-brand-color1); font: 700 11px/1 var(--jp-code-font-family); letter-spacing: .12em; }
.srj-Welcome h1 { margin: 0 0 10px; color: var(--jp-content-font-color0); font-size: 29px; line-height: 1.15; font-weight: 600; }
.srj-Welcome-hero h1 + p { max-width: 720px; margin: 0; color: var(--jp-content-font-color2); font-size: 15px; }
.srj-Welcome-highlight { color: var(--jp-content-font-color0); font-weight: 650; background: linear-gradient(transparent 62%, color-mix(in srgb, var(--jp-brand-color1) 35%, transparent) 62%); }
.srj-Welcome-site { display: inline-flex; margin-top: 12px; color: var(--jp-brand-color0); font-weight: 600; text-decoration: none; }
.srj-Welcome-site:hover { color: var(--jp-ui-font-color0); text-decoration: underline; }
.srj-Welcome-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 18px; }
.srj-Welcome-card { min-height: 225px; display: flex; flex-direction: column; padding: 20px; border: 1px solid var(--jp-border-color2); border-radius: 9px; background: var(--jp-layout-color1); box-shadow: var(--jp-elevation-z1); }
.srj-Welcome-icon { width: 36px; height: 36px; display: grid; place-items: center; margin-bottom: 13px; border-radius: 9px; color: var(--jp-brand-color0); background: var(--jp-brand-color3); font: 700 15px/1 var(--jp-code-font-family); }
.srj-Welcome-card h2 { margin: 0 0 8px; color: var(--jp-content-font-color0); font-size: 16px; font-weight: 600; }
.srj-Welcome-card p { margin: 0 0 14px; color: var(--jp-content-font-color2); }
.srj-Welcome-card code { display: block; margin: 0 0 14px; padding: 9px; border-radius: 5px; overflow-wrap: anywhere; color: var(--jp-code-font-color); background: var(--jp-layout-color3); font: 11px/1.45 var(--jp-code-font-family); }
.srj-Welcome-card a { margin-top: auto; color: var(--jp-brand-color0); text-decoration: none; }
.srj-Welcome-card a:hover { text-decoration: underline; }
.srj-Welcome-card button { margin-top: auto; align-self: flex-start; padding: 7px 12px; border: 1px solid var(--jp-brand-color1); border-radius: 5px; color: white; background: var(--jp-brand-color2); cursor: pointer; }
.jp-NotebookHeader { margin: 0 13px 2px calc(var(--jp-cell-collapser-width) + var(--jp-cell-prompt-width) + 10px); padding: 10px 0 7px; border-bottom: 1px solid var(--jp-border-color2); }
.jp-NotebookHeader h1 { margin: 0 0 4px; color: var(--jp-content-font-color0); font-size: var(--jp-content-font-size3); font-weight: 500; }
.jp-OfficialDocs { margin-top: 7px; color: var(--jp-ui-font-color3); font-size: var(--jp-ui-font-size0); }
.jp-OfficialDocs span { color: var(--jp-ui-font-color2); font-family: var(--jp-code-font-family); overflow-wrap: anywhere; user-select: text; pointer-events: none; }
.meta, .run-status { color: var(--jp-ui-font-color2); font: var(--jp-ui-font-size0)/1.4 var(--jp-code-font-family); }
.run-status { min-height: 22px; margin: 2px 0 2px calc(var(--jp-cell-collapser-width) + var(--jp-cell-prompt-width) + 10px); color: var(--jp-success-color0); }
.run-status:empty { display: none; }
.jp-Cell { margin: 0; padding: var(--jp-cell-padding); border: 0; outline: none; background: transparent; overflow: visible; }
.jp-Cell.jp-mod-active { border-radius: 4px; box-shadow: 0 0 0 1px var(--jp-focus-outline-color); }
.jp-Cell-inputWrapper, .jp-Cell-outputWrapper { display: flex; flex-direction: row; padding: 0; margin: 0; overflow: visible; }
.jp-Collapser { flex: 0 0 var(--jp-cell-collapser-width); min-height: var(--jp-cell-collapser-min-height); }
.jp-Cell.jp-mod-active .jp-Collapser, .jp-Cell.jp-mod-selected .jp-Collapser { background: var(--srj-run-accent) !important; }
.jp-Cell.jp-mod-running { border-radius: 4px; box-shadow: 0 0 0 1px var(--srj-run-accent) !important; }
.jp-Cell.jp-mod-running .jp-Collapser { background: var(--srj-run-accent) !important; }
.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper { margin-top: 5px; }
.jp-Cell.jp-mod-noOutputs .jp-Cell-outputWrapper { display: none; }
.jp-Cell-inputArea, .jp-Cell-outputArea { flex: 1 1 auto; min-width: 0; }
.jp-InputArea, .jp-OutputArea-child { display: flex; flex-direction: row; width: 100%; overflow: hidden; }
.jp-InputPrompt, .jp-OutputPrompt { flex: 0 0 var(--jp-cell-prompt-width); width: var(--jp-cell-prompt-width); padding: var(--jp-code-padding); border: var(--jp-border-width) solid transparent; color: var(--jp-cell-inprompt-font-color); font: var(--jp-code-font-size)/var(--jp-code-line-height) var(--jp-cell-prompt-font-family); text-align: right; white-space: nowrap; overflow: visible; user-select: none; }
.jp-OutputPrompt { color: var(--jp-cell-outprompt-font-color); }
.jp-Cell:not(.jp-mod-active) :is(.jp-InputPrompt, .jp-OutputPrompt) { opacity: var(--jp-cell-prompt-not-active-opacity); color: var(--jp-cell-prompt-not-active-font-color); }
.jp-CodeCell .jp-InputPrompt { align-items: center; display: flex; flex-direction: column; gap: 3px; justify-content: flex-start; padding-top: 5px; }
.srj-CellRunButton { align-items: center; background: var(--jp-layout-color1); border: 1px solid var(--jp-border-color1); border-radius: 50%; color: var(--jp-brand-color1); cursor: pointer; display: inline-flex; flex: 0 0 auto; font-size: 10px; height: 22px; justify-content: center; line-height: 1; margin: 0; padding: 0 0 0 2px; transform: translateX(-4px); width: 22px; }
.srj-CellRunButton:hover { background: var(--jp-layout-color2); border-color: var(--jp-brand-color1); }
.srj-CellRunButton:disabled { opacity: .45; cursor: default; }
.jp-InputArea-editor { flex: 1 1 auto; min-width: 0; overflow: hidden; border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); border-radius: 0; background: var(--jp-cell-editor-background); }
.jp-Cell.jp-mod-active .jp-InputArea-editor { box-shadow: var(--jp-cell-editor-box-shadow); }
.jp-CellHeader { min-height: 24px; display: flex; align-items: center; gap: 7px; padding: 2px 7px; color: var(--jp-ui-font-color3); font-size: var(--jp-ui-font-size0); border-bottom: 1px solid var(--jp-border-color2); background: var(--jp-layout-color1); }
.jp-CellHeader strong { font-weight: 500; }
.jp-CellHeader > span:not(.badge) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.badge { padding: 1px 5px; border: 1px solid var(--jp-border-color1); border-radius: var(--jp-border-radius); color: var(--jp-ui-font-color2); font: 9px/1.4 var(--jp-code-font-family); }
.badge.adapted { color: var(--srj-run-accent); border-color: var(--srj-run-accent-soft); }
.original { margin: 0; }
.jp-OriginalSource-label { padding: 4px 8px; color: var(--jp-ui-font-color2); background: var(--jp-layout-color2); border-bottom: 1px solid var(--jp-border-color2); font-size: var(--jp-ui-font-size0); }
.original pre { margin: 0; padding: 8px 10px; overflow: hidden; white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; color: var(--jp-content-font-color2); background: var(--jp-layout-color3); font: var(--jp-code-font-size)/1.5 var(--jp-code-font-family); tab-size: 4; }
.editor { position: relative; overflow: hidden; }
.editor-highlight, .editor textarea { display: block; width: 100%; min-height: 0; margin: 0; border: 0; padding: var(--jp-code-padding); white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; font: var(--jp-code-font-size)/var(--jp-code-line-height) var(--jp-code-font-family); tab-size: 4; }
.editor-highlight { position: relative; z-index: 1; overflow: hidden; color: var(--jp-code-font-color); background: transparent; pointer-events: none; }
.editor textarea { position: absolute; inset: 0; z-index: 2; height: 100%; resize: none; overflow: hidden; outline: 0; color: transparent; caret-color: var(--jp-code-font-color); background: transparent; -webkit-text-fill-color: transparent; }
.editor textarea::selection { color: transparent; background: var(--jp-editor-selected-focused-background); -webkit-text-fill-color: transparent; }
.jp-OutputArea { overflow-y: auto; }
.jp-OutputArea-child { min-height: 0; }
.jp-OutputArea-output { flex: 1 1 auto; width: 100%; min-width: 0; height: auto; max-height: 32rem; padding: var(--jp-code-padding); overflow: auto; color: var(--jp-content-font-color1); user-select: text; }
.jp-OutputArea-output pre { margin: 0; padding: 0; overflow: auto; white-space: pre-wrap; word-break: break-word; color: var(--jp-code-font-color); font: var(--jp-code-font-size)/1.5 var(--jp-code-font-family); }
.jp-OutputArea-output .empty { color: var(--jp-ui-font-color3); }
.pass { margin-bottom: 3px; color: var(--jp-code-font-color); font: var(--jp-ui-font-size0)/1.4 var(--jp-code-font-family); }
.error { padding: 7px 9px; border-left: 3px solid var(--jp-error-color1); color: var(--jp-error-color0); background: var(--jp-rendermime-error-background); white-space: pre-wrap; font: var(--jp-code-font-size)/1.45 var(--jp-code-font-family); }

/* Rendered markdown, matching the JupyterLab content type scale. */
.jp-MarkdownCell .jp-Cell-inputWrapper { align-items: flex-start; }
.jp-MarkdownCell .jp-InputPrompt { min-height: 1px; }
.jp-MarkdownOutput { flex: 1 1 auto; width: 100%; padding: 2px var(--jp-code-padding) 4px; color: var(--jp-content-font-color1); font: var(--jp-content-font-size1)/var(--jp-content-line-height) var(--jp-content-font-family); }
.jp-MarkdownOutput:hover { background: color-mix(in srgb, var(--jp-layout-color1) 28%, transparent); }
.jp-MarkdownOutput h2 { margin: var(--jp-content-heading-margin-top) 0 var(--jp-content-heading-margin-bottom); border-bottom: 1px solid var(--jp-border-color2); padding-bottom: .2em; color: var(--jp-content-font-color0); font-size: var(--jp-content-font-size4); font-weight: var(--jp-content-heading-font-weight); line-height: var(--jp-content-heading-line-height); }
.jp-MarkdownOutput h3 { margin: 1em 0 .55em; color: var(--jp-content-font-color0); font-size: var(--jp-content-font-size3); font-weight: 500; }
.jp-MarkdownOutput h4 { margin: .8em 0 .4em; color: var(--jp-content-font-color0); font-size: var(--jp-content-font-size2); font-weight: 500; }
.jp-MarkdownOutput p, .jp-MarkdownOutput ul { margin: .45em 0; }
.jp-MarkdownOutput code { padding: 1px 4px; border-radius: var(--jp-border-radius); color: var(--jp-mirror-editor-string-color); background: var(--jp-layout-color2); font-family: var(--jp-code-font-family); }

/* Dusk editor/output syntax and tables. */
.tok-keyword { color: var(--jp-mirror-editor-keyword-color); font-weight: 500; }
.tok-comment { color: var(--jp-mirror-editor-comment-color); font-style: italic; }
.tok-string { color: var(--jp-mirror-editor-string-color); }
.tok-number { color: var(--jp-mirror-editor-number-color); }
.tok-def { color: var(--jp-mirror-editor-def-color); }
.tok-builtin { color: var(--jp-mirror-editor-builtin-color); }
.tok-meta { color: var(--jp-mirror-editor-meta-color); }
.tok-operator { color: var(--jp-mirror-editor-operator-color); }
.tok-punctuation { color: var(--jp-mirror-editor-punctuation-color); }
.table-wrap { max-width: 100%; overflow: auto; border: 1px solid var(--jp-border-color1); border-radius: 6px; }
.table-wrap table { border-collapse: collapse; width: max-content; min-width: 100%; font: 12px/1.4 var(--jp-code-font-family); }
.table-wrap th, .table-wrap td { padding: 5px 8px; border: 1px solid var(--jp-border-color2); text-align: left; white-space: nowrap; }
.table-wrap th { color: var(--jp-content-font-color0); background: var(--jp-layout-color2); }
.table-wrap tbody tr:nth-child(even) { background: var(--jp-rendermime-table-row-background); }
.table-wrap tbody tr:hover { background: var(--jp-rendermime-table-row-hover-background); }
.jp-StatusBar { position: fixed; right: 0; bottom: 0; left: calc(33px + var(--srj-sidebar-width)); z-index: 55; height: var(--jp-statusbar-height); display: flex; align-items: center; justify-content: flex-end; gap: 18px; padding: 0 10px; border-top: 1px solid var(--jp-border-color2); color: var(--jp-ui-font-color2); background: var(--jp-layout-color1); font-size: var(--jp-ui-font-size0); }

@media (max-width: 900px) {
  .jp-LabShell { padding-left: 33px; padding-top: 105px; }
  .jp-FileBrowser { position: absolute; inset: 99px 0 auto 33px; width: auto; height: 105px; border-right: 0; border-bottom: 1px solid var(--jp-border-color1); }
  .jp-FileBrowser-header, .jp-FileBrowser-breadcrumbs, .jp-DirListing-header { display: none; }
  .jp-DirListing-content { display: flex; gap: 4px; overflow-x: auto; }
  .jp-FileGroup { display: contents; }
  .jp-FileGroup-label { display: none; }
  .jp-FileGroup .jp-DirListing-item, .jp-DirListing-item { min-width: 190px; width: auto; padding-left: 7px; }
  .jp-StatusBar { left: 33px; }
  .srj-Welcome-grid { grid-template-columns: 1fr; }
  .srj-Welcome-card { min-height: 180px; }
}

@media (max-width: 760px) {
  .jp-LabShell { padding-left: 0; }
  .jp-ActivityBar { display: none; }
  .jp-FileBrowser { left: 0; }
  .jp-MenuBar-item { display: none; }
  .jp-MenuBar-brand { max-width: 52vw; overflow: hidden; text-overflow: ellipsis; }
  .jp-Notebook { padding-inline: 2px; }
  .jp-NotebookHeader { margin-left: 12px; }
  .run-status { margin-left: 12px; }
  .jp-InputArea, .jp-OutputArea-child { flex-direction: column; }
  .jp-InputPrompt, .jp-OutputPrompt { flex: 0 0 auto; width: auto; text-align: left; }
  .jp-CodeCell .jp-InputPrompt { flex-direction: row; justify-content: flex-start; }
  .jp-InputArea-editor { margin-left: var(--jp-code-padding); }
  .jp-StatusBar { left: 0; }
  .jp-KernelName { display: none; }
  .srj-Welcome { padding: 12px; margin-top: 12px; }
  .srj-Welcome-hero { align-items: flex-start; padding: 19px; }
  .srj-Welcome-mark { width: 48px; height: 48px; flex-basis: 48px; border-radius: 11px; font-size: 23px; }
  .srj-Welcome h1 { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
