:root{--bg: #ffffff;--fg: #1a1a1a;--muted: #6b7280;--border: #e5e7eb;--panel: #f9fafb;--accent: #2563eb;--warn: #b45309;--err: #b91c1c;--ok: #15803d;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #0f1115;--fg: #e5e7eb;--muted: #9ca3af;--border: #262b36;--panel: #151922;--accent: #60a5fa}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg)}.app{display:flex;flex-direction:column;height:100vh}header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.brand{font-size:1rem}.brand code{color:var(--accent)}.controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.controls select,.controls button{background:var(--panel);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:.3rem .55rem;font:inherit}.controls button{cursor:pointer}.controls button:hover:not(:disabled){border-color:var(--accent)}.controls select:focus-visible,.controls button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.controls button:disabled{cursor:progress;opacity:.65}.controls .toggle{display:flex;align-items:center;gap:.35rem;cursor:pointer;-webkit-user-select:none;user-select:none}.controls .toggle input{margin:0;cursor:pointer}.controls .toggle:has(input:disabled){cursor:not-allowed;opacity:.55}.controls .toggle input:disabled{cursor:not-allowed}.pdf-status{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums;max-width:24rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-status-success{color:var(--ok)}.pdf-status-error{color:var(--err)}.status{font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.status-error{color:var(--err)}.status-ready{color:var(--ok)}main{display:flex;flex:1;min-height:0}.pane{flex:1;min-width:0;overflow:auto}.editor{border-right:1px solid var(--border);display:flex;overflow:hidden}.file-sidebar{flex:0 0 clamp(10rem,27%,13rem);min-width:0;display:flex;flex-direction:column;padding:.65rem;border-right:1px solid var(--border);background:var(--panel)}.file-sidebar-heading{display:flex;align-items:center;justify-content:space-between;padding:.1rem .35rem .55rem;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.file-count{min-width:1.35rem;padding:.1rem .35rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);text-align:center;font-variant-numeric:tabular-nums}.file-list{min-height:0;margin:0 -.2rem;padding:0 .2rem;overflow:auto;list-style:none}.file-list li{margin:.08rem 0}.file-button{width:100%;min-width:0;display:flex;align-items:center;gap:.4rem;padding:.42rem .48rem;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--fg);cursor:pointer;text-align:left;font:12px/1.35 ui-monospace,SF Mono,Menlo,monospace}.file-button:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.file-button.is-active{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}.file-button:focus-visible,.new-file-button:focus-visible,.new-file-actions button:focus-visible,.new-file-input:focus-visible,.benchmark-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-badge{flex:none;padding:.05rem .28rem;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--bg);font:9px/1.35 system-ui,-apple-system,Segoe UI,sans-serif;letter-spacing:.04em;text-transform:uppercase}.file-button .entry-badge{margin-left:auto}.new-file-button{width:100%;margin-top:.55rem;padding:.42rem .5rem;border:1px dashed var(--border);border-radius:5px;background:transparent;color:var(--muted);cursor:pointer;font:inherit}.new-file-button:hover{border-color:var(--accent);color:var(--accent)}.new-file-form{display:flex;flex-direction:column;gap:.35rem;margin-top:.55rem;padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);font-size:.75rem}.new-file-form label{color:var(--muted);font-weight:600}.new-file-input{width:100%;min-width:0;padding:.35rem .4rem;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--fg);font:11px/1.4 ui-monospace,SF Mono,Menlo,monospace}.new-file-input[aria-invalid=true]{border-color:var(--err)}.new-file-error{color:var(--err);line-height:1.3}.new-file-actions{display:flex;gap:.35rem}.new-file-actions button{flex:1;padding:.28rem .35rem;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--fg);cursor:pointer;font:inherit}.new-file-actions button:hover{border-color:var(--accent)}.benchmark-link{margin-top:auto;padding:.65rem .35rem .05rem;color:var(--muted);font-size:.7rem;text-decoration:none}.benchmark-link:hover{color:var(--accent);text-decoration:underline}.editor-workspace{flex:1;min-width:0;display:flex;flex-direction:column}.editor-titlebar{min-height:2rem;display:flex;align-items:center;gap:.45rem;padding:.35rem .75rem;border-bottom:1px solid var(--border);background:var(--panel);color:var(--muted);font:11px/1.3 ui-monospace,SF Mono,Menlo,monospace}.editor textarea{flex:1;min-width:0;border:0;resize:none;padding:1rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:1.5;background:var(--bg);color:var(--fg);outline:none}.editor textarea::selection{background:color-mix(in srgb,var(--accent) 28%,transparent);color:inherit}.preview{padding:1.25rem 1.75rem;position:relative}.preview .rendered-document{position:relative;z-index:1}.preview .fl-sync-overlay{display:none;position:absolute;left:0;right:0;z-index:0;pointer-events:none;background:color-mix(in srgb,var(--accent) 18%,transparent);border-left:3px solid var(--accent);border-radius:3px;transition:top .12s ease,height .12s ease}.preview .fl-article{max-width:46rem}footer{border-top:1px solid var(--border);background:var(--panel)}.panel{padding:.5rem 1rem;font-size:.85rem}.counts{display:flex;gap:1.25rem}.counts .warn{color:var(--warn)}.counts .ok{color:var(--ok)}.error{color:var(--err);margin-top:.4rem;white-space:pre-wrap}.warnings{margin:.5rem 0 0;padding-left:0;list-style:none;max-height:8rem;overflow:auto}.warnings li{display:flex;gap:.6rem;padding:.15rem 0;align-items:baseline}.warnings code{color:var(--accent)}.warnings .line{color:var(--muted);min-width:2.5rem}.muted{color:var(--muted)}
