/* SquibView CSS
 * (c) M Chatterjee 2025-
 * https://github.com/deftio/squibview
 */
.squibview{--squibview-primary-color:#2a57d3;--squibview-primary-text-color:white;--squibview-secondary-color:#e0e0e0;--squibview-secondary-text-color:#255ff1;--squibview-border-color:#ccc;--squibview-background-color:white;--squibview-input-background-color:white;--squibview-output-background-color:white;--squibview-table-header-bg:#f0f0f0;--squibview-code-block-bg:#f7f7f7;--squibview-caret-color:red;--squibview-gutter-bg:var(--squibview-background-color);--squibview-gutter-fg:#666;--squibview-gutter-border:var(--squibview-border-color);--squibview-gutter-width:50px;--squibview-gutter-padding:8px;--squibview-gutter-font-family:var(--squibview-font-family-monospace);--squibview-gutter-font-size:var(--squibview-font-size-input);--squibview-font-family-monospace:monospace;--squibview-font-size-base:1rem;--squibview-font-size-input:1em;--squibview-font-size-title:1.5em;--squibview-button-font-size:1rem;--squibview-padding-base:1em;--squibview-padding-controls:0.2em 0;--squibview-button-padding:0.4em 0.7em;--squibview-button-margin-right:0.5em;--squibview-table-cell-padding:0.5em;--squibview-code-block-padding:0.5em;--squibview-border-width:2px;--squibview-border-style:solid;--squibview-border-radius-main:8px;--squibview-border-radius-button:4px;--squibview-button-active-border-width:1px;height:100%;display:flex;flex-direction:column;background-color:var(--squibview-background-color)}.squibview-controls{padding:var(--squibview-padding-controls);text-align:left}.squibview-controls button{border-radius:var(--squibview-border-radius-button);background-color:var(--squibview-primary-color);border:none;color:var(--squibview-primary-text-color);padding:var(--squibview-button-padding);cursor:pointer;font-size:var(--squibview-button-font-size);margin-right:var(--squibview-button-margin-right)}.squibview-controls button.active{background-color:var(--squibview-secondary-color);border:var(--squibview-button-active-border-width) var(--squibview-border-style) var(--squibview-primary-color);color:var(--squibview-secondary-text-color)}.squibview-editor{display:flex;flex:1;min-height:0}.squibview-input,.squibview-output{height:100%;box-sizing:border-box;border:var(--squibview-border-width) var(--squibview-border-style) var(--squibview-border-color)}.squibview-input{padding:var(--squibview-padding-base);font-family:var(--squibview-font-family-monospace);font-size:var(--squibview-font-size-input);background-color:var(--squibview-input-background-color);resize:none}.squibview-output{padding:var(--squibview-padding-base);overflow:auto;background-color:var(--squibview-output-background-color)}.squibview-output p{margin-top:0;margin-bottom:1em}.squibview-output p:first-child{margin-top:0}.squibview-output p:last-child{margin-bottom:0}.squibview-output h1,.squibview-output h2,.squibview-output h3,.squibview-output h4,.squibview-output h5,.squibview-output h6{margin-top:1.5em;margin-bottom:.5em;line-height:1.2}.squibview-output h1:first-child,.squibview-output h2:first-child,.squibview-output h3:first-child,.squibview-output h4:first-child,.squibview-output h5:first-child,.squibview-output h6:first-child{margin-top:0}.squibview-output ol,.squibview-output ul{padding-left:2em;margin-left:0;margin-top:.5em;margin-bottom:.5em}.squibview-output li>ol,.squibview-output li>ul{margin-top:.25em;margin-bottom:.25em}.squibview-output li{padding-left:.25em}.squibview-hidden{display:none!important}.squibview-editor[data-view=split] .squibview-input,.squibview-editor[data-view=split] .squibview-source-panel .squibview-input{border-right:none}.squibview-output table{border-collapse:collapse;width:100%;margin-bottom:var(--squibview-padding-base)}.squibview-output td,.squibview-output th{border:1px var(--squibview-border-style) var(--squibview-border-color);padding:var(--squibview-table-cell-padding);text-align:left}.squibview-output th{background:var(--squibview-table-header-bg)}.squibview-output pre code{display:block;padding:var(--squibview-code-block-padding);background:var(--squibview-code-block-bg);border-radius:var(--squibview-border-radius-button)}[contenteditable]{outline:0 solid transparent;caret-color:var(--squibview-caret-color)}.squibview-title{padding:0 0;font-size:var(--squibview-font-size-title);text-align:left}.squibview-output .mermaid .error-icon,.squibview-output .mermaid text.error-text{display:none}.squibview-output .geojson-container,.squibview-output .topojson-container{border:1px solid var(--squibview-border-color);border-radius:4px;margin:1em 0;min-height:300px;width:100%;position:relative;background-color:var(--squibview-background-color)}.squibview-output .geojson-container:not([data-initialized]),.squibview-output .topojson-container:not([data-initialized]){display:flex;align-items:center;justify-content:center;color:#666;font-style:italic}.squibview-output .geojson-container:not([data-initialized])::before,.squibview-output .topojson-container:not([data-initialized])::before{content:"Loading map..."}.squibview-output .geojson-container[data-initialized=error],.squibview-output .topojson-container[data-initialized=error]{display:flex;align-items:center;justify-content:center;background-color:#fff5f5;border-color:#fc8181}.squibview-output .stl-container{border:1px solid var(--squibview-border-color);border-radius:4px;margin:1em 0;min-height:300px;width:100%;position:relative;background-color:var(--squibview-background-color);overflow:hidden}.squibview-output .stl-container:not([data-initialized]){display:flex;align-items:center;justify-content:center;color:#666;font-style:italic}.squibview-output .stl-container:not([data-initialized])::before{content:"Loading 3D model..."}.squibview-output .stl-container[data-initialized=error]{display:flex;align-items:center;justify-content:center;background-color:#fff5f5;border-color:#fc8181}.squibview-output .stl-container canvas{width:100%!important;height:100%!important;border-radius:3px}.squibview-diff{font-family:var(--squibview-font-family-monospace);font-size:.9em;line-height:1.4;border:1px solid var(--squibview-border-color);border-radius:var(--squibview-border-radius-button);background-color:var(--squibview-background-color);overflow:auto;max-height:600px;margin:1em 0}.squibview-diff .diff-header{background-color:var(--squibview-table-header-bg);padding:.5em 1em;border-bottom:1px solid var(--squibview-border-color);font-size:.9em;color:#666}.squibview-diff .diff-stats{display:flex;gap:1em;margin-top:.25em;font-size:.8em}.squibview-diff .diff-stats .stat{display:flex;align-items:center;gap:.25em}.squibview-diff .diff-stats .stat.additions{color:#28a745}.squibview-diff .diff-stats .stat.deletions{color:#dc3545}.squibview-diff .diff-stats .stat.modifications{color:#ffc107}.squibview-diff .diff-content{padding:0}.squibview-diff .diff-line{display:flex;align-items:flex-start;margin:0;padding:0;min-height:1.4em;white-space:pre-wrap;word-wrap:break-word}.squibview-diff .diff-line-number{display:inline-block;width:3.5em;padding:.1em .5em;text-align:right;background-color:var(--squibview-table-header-bg);border-right:1px solid var(--squibview-border-color);color:#666;user-select:none;flex-shrink:0}.squibview-diff .diff-content-text{padding:.1em .5em;flex:1;min-width:0}.squibview-diff .diff-line.diff-added{background-color:#e6ffed}.squibview-diff .diff-line.diff-added .diff-line-number{background-color:#c3e6cd;color:#28a745}.squibview-diff .diff-line.diff-added .diff-content-text{border-left:3px solid #28a745}.squibview-diff .diff-line.diff-removed{background-color:#ffeef0}.squibview-diff .diff-line.diff-removed .diff-line-number{background-color:#f8c6cc;color:#dc3545}.squibview-diff .diff-line.diff-removed .diff-content-text{border-left:3px solid #dc3545}.squibview-diff .diff-line.diff-unchanged{background-color:transparent}.squibview-diff .diff-line.diff-unchanged .diff-line-number{background-color:var(--squibview-table-header-bg)}@media (max-width:768px){.squibview-diff{font-size:.8em;max-height:400px}.squibview-diff .diff-line-number{width:2.5em;padding:.1em .25em}.squibview-diff .diff-stats{flex-direction:column;gap:.25em}}.squibview-source-panel{display:flex;width:100%;height:100%;position:relative}.squibview-line-gutter{flex-shrink:0;width:var(--squibview-gutter-width);background:var(--squibview-gutter-bg);color:var(--squibview-gutter-fg);border-right:1px solid var(--squibview-gutter-border);overflow:hidden;user-select:none;font-family:var(--squibview-gutter-font-family);font-size:var(--squibview-gutter-font-size);line-height:var(--squibview-line-height, 1.5);padding:var(--squibview-padding-base) 0}.squibview-gutter-line{text-align:right;padding:0 var(--squibview-gutter-padding);box-sizing:border-box;display:flex;align-items:flex-start;justify-content:flex-end}.squibview-source-panel .squibview-input{flex:1;border-left:none;margin:0;border-radius:0}.squibview-line-mirror{position:absolute;top:-9999px;left:-9999px;visibility:hidden;pointer-events:none;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.squibview-input,.squibview-line-gutter{line-height:var(--squibview-line-height, 1.5)}.squibview.dark .squibview-diff,.squibview[data-theme=dark] .squibview-diff{background-color:#2d3748;border-color:#4a5568;color:#e2e8f0}.squibview.dark .squibview-diff .diff-header,.squibview[data-theme=dark] .squibview-diff .diff-header{background-color:#4a5568;border-color:#718096;color:#cbd5e0}.squibview.dark .squibview-diff .diff-line-number,.squibview[data-theme=dark] .squibview-diff .diff-line-number{background-color:#4a5568;border-color:#718096;color:#a0aec0}.squibview.dark .squibview-diff .diff-line.diff-added,.squibview[data-theme=dark] .squibview-diff .diff-line.diff-added{background-color:#22543d}.squibview.dark .squibview-diff .diff-line.diff-added .diff-line-number,.squibview[data-theme=dark] .squibview-diff .diff-line.diff-added .diff-line-number{background-color:#2f855a;color:#68d391}.squibview.dark .squibview-diff .diff-line.diff-removed,.squibview[data-theme=dark] .squibview-diff .diff-line.diff-removed{background-color:#742a2a}.squibview.dark .squibview-diff .diff-line.diff-removed .diff-line-number,.squibview[data-theme=dark] .squibview-diff .diff-line.diff-removed .diff-line-number{background-color:#e53e3e;color:#feb2b2}.squibview-diff-inline{font-family:var(--squibview-font-family-monospace);font-size:.9em;line-height:1.6;border:1px solid var(--squibview-border-color);border-radius:var(--squibview-border-radius-button);background-color:var(--squibview-background-color);margin:1em 0;max-height:600px;overflow:auto}.squibview-diff-inline .diff-inline-header{background-color:var(--squibview-table-header-bg);padding:.75em 1em;border-bottom:1px solid var(--squibview-border-color);font-size:.9em;color:#666;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5em}.squibview-diff-inline .diff-inline-stats{font-size:.85em;font-weight:500}.squibview-diff-inline .diff-inline-content{padding:1em;white-space:pre-wrap;word-wrap:break-word}.squibview-diff-inline .diff-inline-added{background-color:#cfe2ff;color:#004085;padding:.1em .2em;border-radius:3px;font-weight:500}.squibview-diff-inline .diff-inline-removed{background-color:#f8d7da;color:#721c24;padding:.1em .2em;border-radius:3px;text-decoration:line-through;font-weight:500}@media (max-width:768px){.squibview-diff-inline{font-size:.8em;max-height:400px}.squibview-diff-inline .diff-inline-header{flex-direction:column;align-items:flex-start}.squibview-diff-inline .diff-inline-content{padding:.75em}}.squibview.dark .squibview-diff-inline,.squibview[data-theme=dark] .squibview-diff-inline{background-color:#2d3748;border-color:#4a5568;color:#e2e8f0}.squibview.dark .squibview-diff-inline .diff-inline-header,.squibview[data-theme=dark] .squibview-diff-inline .diff-inline-header{background-color:#4a5568;border-color:#718096;color:#cbd5e0}.squibview.dark .squibview-diff-inline .diff-inline-added,.squibview[data-theme=dark] .squibview-diff-inline .diff-inline-added{background-color:#2b6cb0;color:#bee3f8}.squibview.dark .squibview-diff-inline .diff-inline-removed,.squibview[data-theme=dark] .squibview-diff-inline .diff-inline-removed{background-color:#c53030;color:#fed7d7}.squibview.dark .squibview-line-gutter,.squibview[data-theme=dark] .squibview-line-gutter{background-color:#2d3748;color:#a0aec0;border-right-color:#4a5568}