@import "https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,400;0,700;1,400&family=Poppins:wght@100;300;600;700&display=swap";:root{--font-family-primary:cera, "cera Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-size-xs:14px;--font-size-sm:16px;--font-size-base:16px;--font-size-md:20px;--font-weight-base:400;--font-weight-strong:600;--line-height-base:24px;--color-text-primary:#0a0a0a;--color-text-secondary:#4b5563;--color-text-tertiary:#324252;--color-text-inverse:#fff;--color-surface-base:#000;--color-surface-muted:#f5f5f5;--color-surface-raised:#fff;--color-surface-strong:#f8f9f8;--color-border-default:#e5e5e5;--color-border-muted:#ccc;--color-primary:#0a0a0a;--color-primary-hover:#000;--space-1:4px;--space-2:6px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:24px;--space-7:32px;--space-8:96px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:9999px;--motion-instant:.15s;--motion-fast:.3s;--focus-ring:0 0 0 3px #0a0a0a66;--bg:var(--color-surface-muted);--panel:var(--color-surface-raised);--border:var(--color-border-default);--text:var(--color-text-primary);--muted:var(--color-text-secondary);--accent:#2563eb}*{box-sizing:border-box}html,body{background:var(--color-surface-muted);height:100%;color:var(--color-text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-base);line-height:var(--line-height-base);margin:0}.app{height:100vh;padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.topbar{justify-content:space-between;align-items:center;display:flex}.topbar h1{font-size:var(--font-size-md);font-family:var(--font-family-primary);font-weight:var(--font-weight-strong);color:var(--color-text-primary);align-items:center;gap:var(--space-3);margin:0;display:flex}.topbar h1 svg{color:var(--color-text-primary)}.sub{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.btn{align-items:center;gap:var(--space-3);background:var(--color-primary);color:var(--color-text-inverse);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-strong);cursor:pointer;transition:background var(--motion-instant) ease, box-shadow var(--motion-instant) ease, transform var(--motion-instant) ease;line-height:1;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-primary-hover)}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:progress}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#991b1b;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);background:#fee2e2;border:1px solid #fecaca}.panes{gap:var(--space-4);flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid}.tabs{display:none}.tab{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-family:var(--font-family-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-strong);color:var(--color-text-secondary);background:var(--color-surface-raised);border:1px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-instant) ease, color var(--motion-instant) ease, border-color var(--motion-instant) ease, box-shadow var(--motion-instant) ease;flex:1;display:inline-flex}.tab:hover{color:var(--color-text-primary);border-color:var(--color-border-muted)}.tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.tab[aria-selected=true]{color:var(--color-text-inverse);background:var(--color-primary);border-color:var(--color-primary)}.panes-rz{flex:1;min-height:0}.panes-rz .pane{height:100%}.pane-separator{cursor:col-resize;touch-action:none;background:0 0;justify-content:center;align-self:stretch;align-items:center;width:12px;display:flex;position:relative}.pane-separator:before{content:"";background:var(--color-border-default);width:1px;height:100%;transition:background var(--motion-instant) ease, width var(--motion-instant) ease}.pane-separator:after{content:"";border-radius:var(--radius-lg);background:var(--color-border-default);width:4px;height:28px;transition:background var(--motion-instant) ease;position:absolute}.pane-separator:hover:before,.pane-separator:active:before{background:var(--color-primary);width:2px}.pane-separator:hover:after,.pane-separator:active:after{background:var(--color-primary)}@media (width<=768px){.tabs{gap:var(--space-3);display:flex}.panes{grid-template-columns:1fr}.panes[data-tab=editor] .pane--preview,.panes[data-tab=preview] .pane--editor,.app .pane-label{display:none}.topbar{align-items:flex-start;gap:var(--space-5);flex-direction:column}.app .editor,.app .editor-cm .cm-editor{font-size:var(--font-size-sm)}}.pane{background:var(--color-surface-raised);border:1px solid var(--color-border-default);border-radius:var(--radius-md);min-height:0;transition:border-color var(--motion-instant) ease, box-shadow var(--motion-instant) ease;flex-direction:column;display:flex;overflow:hidden}.pane:focus-within{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.pane-label{align-items:center;gap:var(--space-2);font-family:var(--font-family-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-strong);color:var(--color-text-secondary);letter-spacing:.04em;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-default);display:flex}.editor{resize:none;padding:var(--space-4);font-family:var(--font-family-mono);color:var(--color-text-primary);border:none;outline:none;flex:1;font-size:13px;line-height:1.55}.editor-cm{flex:1;min-height:0;display:flex}.editor-cm .cm-editor{width:100%;height:100%;font-family:var(--font-family-mono);font-size:13px}.editor-cm .cm-editor.cm-focused{outline:none}.editor-cm .cm-scroller{line-height:1.55}.editor-cm .cm-content{padding:var(--space-4) 0}.editor-cm .cm-gutters{border-right:1px solid var(--color-border-default);color:var(--color-text-secondary);background:0 0}.preview{color:#000;flex:1;padding:24px 28px;font-family:Merriweather,Georgia,Times New Roman,serif;font-size:13px;line-height:1.42;overflow:auto}.r-h1,.r-h2,.r-h3,.r-h4,.r-h5,.r-h6,.r-subhead,.r-meta{font-family:Poppins,Segoe UI,system-ui,sans-serif}.r-h1{margin:0 0 7px;font-size:32px;font-weight:600;line-height:1.1}.r-h2{letter-spacing:.2px;margin:23px 0 9px;font-size:15.5px;font-weight:600}.r-h3{margin:19px 0 2px;font-size:18px;font-weight:600}.r-h4{margin:13px 0 2px;font-size:15px;font-weight:600}.r-h5{margin:11px 0 2px;font-size:13.5px;font-weight:600}.r-h6{color:#444;margin:11px 0 2px;font-size:13px;font-weight:600}.r-subhead{margin:10px 0 2px;font-size:14px;font-weight:600}.r-meta{color:#000;margin:4px 0 3px;font-size:13px;font-weight:400}.r-para{margin:0 0 4px}.r-list{margin:2px 0 4px;padding-left:22px}.r-list .r-list{margin:0}.r-list li{margin:0 0 3px}.r-list li .r-para{margin:0}.r-list li.r-task{margin-left:-18px;list-style:none}.r-list li.r-task .r-para{display:inline}.r-list li.r-task input{vertical-align:baseline;margin-right:4px}.r-quote{color:#333;border-left:2px solid #ccc;margin:4px 0;padding:2px 0 2px 10px}.r-pre{background:#f4f4f5;border-radius:6px;margin:6px 0;padding:10px 12px;overflow:auto}.r-pre code{color:#1f2328;white-space:pre;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.45}.r-code{color:#c7254e;background:#f4f4f5;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.88em}.r-table{border-collapse:collapse;margin:8px 0;font-size:12.5px}.r-table th,.r-table td{border:1px solid #d0d0d0;padding:5px 8px}.r-table th{background:#f4f4f5;font-weight:700}.r-img{max-width:100%;margin:8px 0}.r-hr{border:none;border-top:1px solid var(--border);margin:8px 0}.preview strong{font-weight:700}.preview del{color:#6b7280}.preview a{color:var(--accent);text-decoration:none}
