:root{--serif: "Source Serif 4", "Iowan Old Style", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--bg-primary: #ffffff;--bg-secondary: #fafafc;--bg-tertiary: #f0f0f5;--bg-code: #f7f7fa;--bg-result: #f4f6fb;--bg-error: #fdf3f2;--bg-inline: transparent;--text-primary: #1a1a2e;--text-secondary: #3a3a4e;--text-muted: #6b6b7b;--text-heading: #1a1a2e;--border-color: #e2e2ea;--border-focus: #2e5aac;--accent: #2e5aac;--accent-hover: #234a91;--result-color: #6b6b7b;--error-color: #b42318;--highlight-color: #2e5aac;--code-bg: #f7f7fa;--code-color: #1a1a2e;--viz-dot: rgba(46, 90, 172, .85);--viz-bar: rgba(46, 90, 172, .85)}[data-theme=dark]{--bg-primary: #16161f;--bg-secondary: #1a1a24;--bg-tertiary: #24242f;--bg-code: #1d1d28;--bg-result: #1b1f2c;--bg-error: #2a1a1a;--bg-inline: transparent;--text-primary: #e6e6ee;--text-secondary: #c4c4d0;--text-muted: #9a9aab;--text-heading: #f2f2f8;--border-color: #2c2c3a;--border-focus: #8fb0ec;--accent: #8fb0ec;--accent-hover: #a9c3f2;--result-color: #9a9aab;--error-color: #f09a8f;--highlight-color: #8fb0ec;--code-bg: #1d1d28;--code-color: #e6e6ee;--viz-dot: rgba(143, 176, 236, .9);--viz-bar: rgba(143, 176, 236, .9)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden}body{font-family:var(--serif);background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased}button{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}sup{font-size:.7em;line-height:0}.editor-header{background:var(--bg-primary);padding:10px 20px;border-bottom:1px solid var(--border-color);flex-shrink:0;display:flex;align-items:baseline;justify-content:space-between;gap:16px}.header-left{display:flex;align-items:baseline;gap:12px}.editor-header h1{font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--text-heading)}.editor-header h1 a{color:inherit;text-decoration:none}.subtitle{font-size:15px;color:var(--text-muted);display:none}@media(min-width:640px){.subtitle{display:inline}}.header-actions{display:flex;gap:18px;align-items:baseline;font-size:16px}.header-btn,.header-actions a{background:none;border:none;color:var(--text-primary);padding:0;font-size:16px;cursor:pointer;text-decoration:none;touch-action:manipulation}.header-btn:hover,.header-actions a:hover{color:var(--accent)}.header-btn.active{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.viz-toggle{display:flex;gap:10px}body.dropping:after{content:"Drop a markdown file to open it";position:fixed;inset:8px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--accent);border-radius:8px;background:color-mix(in srgb,var(--bg-primary) 88%,transparent);color:var(--accent);font-size:22px;z-index:200;pointer-events:none}.editor-main{flex:1;display:flex;overflow:hidden}.pane{overflow:auto;-webkit-overflow-scrolling:touch}.editor-pane{flex:1;min-width:200px;display:flex;flex-direction:column;background:var(--bg-secondary)}.preview-pane{flex:1;min-width:200px;background:var(--bg-primary)}.resizer{width:1px;background:var(--border-color);cursor:col-resize;flex-shrink:0;position:relative}.resizer:before{content:"";position:absolute;inset:0 -4px}.resizer:hover,.resizer.dragging{background:var(--accent)}.preview-content{padding:40px 40px 96px;max-width:44rem;margin:0 auto;font-size:18px;line-height:1.6}.preview-content h1,.preview-content h2,.preview-content h3,.preview-content h4{color:var(--text-heading);font-weight:600;line-height:1.2}.preview-content h1{font-size:2.1rem;margin-bottom:.6em;letter-spacing:-.01em}.preview-content h2{font-size:1.4rem;margin:2em 0 .5em}.preview-content h3{font-size:1.15rem;margin:1.6em 0 .4em}.preview-content h4{font-size:1rem;margin:1.4em 0 .4em}.preview-content h1:first-child,.preview-content h2:first-child{margin-top:0}.preview-content p,.preview-content ul,.preview-content ol{margin:.9em 0}.preview-content ul,.preview-content ol{padding-left:1.4em}.preview-content li+li{margin-top:.25em}.preview-content code{background:var(--code-bg);padding:.1em .35em;border-radius:3px;font-family:var(--mono);font-size:.8em;color:var(--code-color)}.preview-content pre{background:var(--bg-code);padding:14px 16px;overflow-x:auto;margin:1.2em 0;border-radius:4px}.preview-content pre code{background:transparent;padding:0;font-size:14px}.preview-content blockquote{border-left:2px solid var(--border-color);padding-left:1em;margin:1.2em 0;color:var(--text-muted)}.preview-content a{color:var(--accent);text-underline-offset:2px}.nf-cell{margin:1.4em 0 1.8em}.nf-code{margin:0;padding:12px 16px;background:var(--bg-code);border-left:2px solid var(--border-color)}.preview-content .nf-code{border-radius:0;margin:0}.nf-code code{background:transparent;padding:0;color:var(--text-primary);display:block;white-space:pre-wrap;font-family:var(--mono);font-size:14px;line-height:1.65}.nf-result{padding:10px 16px 4px;background:var(--bg-result);border-left:2px solid var(--accent);font-size:1.1rem}.nf-result:last-child{padding-bottom:10px}.nf-label{font-family:var(--mono);font-size:14px;color:var(--text-muted);margin-right:.35em}.nf-error{padding:10px 16px;background:var(--bg-error);border-left:2px solid var(--error-color);color:var(--error-color);font-family:var(--mono);font-size:14px}.nf-scalar{color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums lining-nums}.nf-ci{color:var(--result-color);font-variant-numeric:tabular-nums lining-nums}.nf-dim{color:var(--text-muted);font-style:italic;font-size:.85em}.nf-viz{padding:2px 16px 12px;background:var(--bg-result);border-left:2px solid var(--accent)}.nf-viz canvas{max-width:100%;height:auto}.nf-report{font-family:var(--mono);font-size:13px;line-height:1.5;margin:0;padding:10px 16px 12px;background:var(--bg-result);border-left:2px solid var(--accent);color:var(--text-muted);white-space:pre;overflow-x:auto}.preview-content pre.nf-report{border-radius:0;margin:0}.nf-inline{font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums lining-nums}.nf-inline-error{color:var(--error-color);font-family:var(--mono);font-size:.85em}.editor-footer{background:var(--bg-primary);border-top:1px solid var(--border-color);padding:4px 20px;display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.status{font-size:13px;color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background:#1a1a2e59;display:none;align-items:flex-start;justify-content:center;z-index:100;padding:6vh 16px}.modal-overlay.visible{display:flex}.modal{background:var(--bg-primary);border-radius:6px;max-width:40rem;max-height:88vh;overflow-y:auto;width:100%;border:1px solid var(--border-color)}.modal-header{padding:18px 24px 10px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:baseline}.modal-header h2{font-size:22px;font-weight:600;color:var(--text-heading)}.modal-close{background:none;border:none;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer}.modal-close:hover{color:var(--text-heading)}.modal-body{padding:8px 24px 24px;font-size:16px;line-height:1.6;color:var(--text-primary)}.modal-body p{margin:.5em 0}.modal-body h4{font-size:17px;font-weight:600;color:var(--text-heading);margin:20px 0 6px}.modal-body h4:first-child{margin-top:0}.modal-body code{font-family:var(--mono);font-size:13px;background:var(--code-bg);padding:1px 5px;border-radius:3px;color:var(--code-color)}.modal-body pre{font-family:var(--mono);font-size:13px;line-height:1.6;background:var(--code-bg);padding:10px 14px;overflow-x:auto;margin:8px 0}#settings-json{width:100%;font-family:var(--mono);font-size:13px;background:var(--bg-code);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:10px;resize:vertical}.settings-error{color:var(--error-color);font-size:13px;margin:8px 0 0;min-height:1.2em}.settings-actions{margin-top:12px;display:flex;gap:18px}.cm-editor{height:100%;font-size:14px;background:var(--bg-secondary)}.cm-editor .cm-scroller{font-family:var(--mono);line-height:1.65}.cm-editor .cm-gutters{background:var(--bg-secondary);border-right:none;color:var(--text-muted);opacity:.6}.cm-editor .cm-activeLineGutter{background:transparent;color:var(--accent)}.cm-editor .cm-activeLine{background:#2e5aac0a}[data-theme=dark] .cm-editor .cm-activeLine{background:#8fb0ec0d}.cm-editor .cm-selectionBackground{background:#2e5aac2e!important}.cm-editor .cm-cursor{border-left-color:var(--text-primary)}.cm-editor .cm-content{caret-color:var(--text-primary);padding:16px 0}@media(max-width:768px){.editor-header{flex-wrap:wrap;padding:10px 16px}.header-actions{gap:14px;flex-wrap:wrap}.header-btn,.header-actions a{font-size:15px}.editor-main{flex-direction:column}.pane{flex:none;height:50%;min-width:auto;min-height:200px}.resizer{width:auto;height:1px;cursor:row-resize}.resizer:before{inset:-4px 0}.preview-content{padding:24px 16px 64px;font-size:17px}}
