:root{--paper: #ffffff;--leaf: #f5f6f8;--ink: #1b1d21;--ink-soft: #5c636d;--ink-faint: #98a0aa;--rule: #e2e5ea;--rule-soft: #eef0f3;--accent: #2f5d84;--accent-soft: #2f5d8417;--warn: #9a5a12;--err: #b23020;--ok: #3f6b3a;--serif: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;color-scheme:light;font-family:var(--mono);font-size:15px}@media (prefers-color-scheme: dark){:root{--paper: #16181b;--leaf: #1e2126;--ink: #e6e8ea;--ink-soft: #969aa1;--ink-faint: #666b72;--rule: #2b2f36;--rule-soft: #23262c;--accent: #7ea8cc;--accent-soft: #7ea8cc24;--warn: #c98a3a;--err: #e56a56;--ok: #7fae74;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh}header{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;padding:.7rem 1.25rem;border-bottom:1px solid var(--rule);background:var(--leaf);flex-wrap:wrap}.brand{display:flex;align-items:baseline;gap:.7rem;min-width:0}.wordmark{font-family:var(--serif);font-optical-sizing:auto;font-weight:600;font-size:1.45rem;letter-spacing:-.01em;line-height:1;color:var(--ink);white-space:nowrap}.wordmark .dash{color:var(--accent)}.tagline{color:var(--ink-soft);font-size:.72rem;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tagline code{color:var(--accent)}.controls{display:flex;align-items:center;gap:.9rem 1.1rem;flex-wrap:wrap}.controls select,.controls button,.arxiv-input{background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:4px;padding:.34rem .6rem;font-family:var(--mono);font-size:.82rem}.controls button{cursor:pointer;transition:border-color .12s,color .12s,background .12s}.controls button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.controls select:hover{border-color:var(--ink-soft)}.controls select:focus-visible,.controls button:focus-visible,.arxiv-input:focus-visible,.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:2px}.controls button:disabled{cursor:progress;opacity:.55}.field-label{color:var(--ink-soft);font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.picker,.arxiv-loader{display:flex;align-items:center;gap:.5rem}.arxiv-input{width:clamp(8rem,15vw,13rem)}.arxiv-input::placeholder{color:var(--ink-faint)}.arxiv-input[aria-invalid=true]{border-color:var(--err)}.toggle{display:flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.8rem;color:var(--ink-soft)}.toggle input{margin:0;cursor:pointer;accent-color:var(--accent)}.toggle:has(input:disabled){cursor:not-allowed;opacity:.5}.toggle input:disabled{cursor:not-allowed}.save-pdf{font-weight:500}.status-strip{display:flex;align-items:center;gap:.9rem}.pdf-status,.arxiv-status{font-size:.75rem;color:var(--ink-soft);font-variant-numeric:tabular-nums;max-width:20rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-status:empty,.arxiv-status:empty{display:none}.pdf-status-success,.arxiv-status-success{color:var(--ok)}.pdf-status-error,.arxiv-status-error{color:var(--err)}.status{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink-faint);flex:none}.status-ready:before{background:var(--ok)}.status-error:before{background:var(--err)}.status-rendering:before,.status-loading:before{background:var(--warn)}.status-error{color:var(--err)}.meter{display:flex;align-items:baseline;gap:.4rem;padding:.28rem .7rem;border:1px solid var(--rule);border-radius:4px;background:var(--paper);position:relative}.meter:before{content:"";position:absolute;top:-1px;left:-1px;width:9px;height:9px;border-top:2px solid var(--accent);border-left:2px solid var(--accent);border-top-left-radius:4px}.meter-label{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);align-self:center}.meter-value{font-family:var(--mono);font-weight:600;font-size:1.15rem;font-variant-numeric:tabular-nums;line-height:1;color:var(--ink);min-width:2.4ch;text-align:right;display:inline-block}.meter-value.is-pending{color:var(--ink-faint)}.meter-unit{font-size:.72rem;color:var(--accent);font-weight:500}@keyframes stamp{0%{transform:scale(1.28);color:var(--accent)}60%{transform:scale(1)}to{color:var(--ink)}}.meter-value.stamped{animation:stamp .32s ease-out;transform-origin:right center}main{display:flex;flex:1;min-height:0}.pane{flex:1;min-width:0;overflow:auto}.editor{display:flex;overflow:hidden;position:relative;border-right:3px double var(--rule)}.editor.is-import-dragging{box-shadow:inset 0 0 0 3px var(--accent)}.editor.is-import-dragging:after{content:"Drop to import project";position:absolute;top:.75rem;right:.75rem;bottom:.75rem;left:.75rem;z-index:5;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:6px;background:color-mix(in srgb,var(--paper) 88%,transparent);color:var(--accent);font-weight:600;pointer-events:none}.pane-tab{display:flex;align-items:center;gap:.5rem;padding:.4rem .85rem;min-height:2.1rem;border-bottom:1px solid var(--rule);background:var(--leaf)}.pane-kicker{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}.editor-file{font-family:var(--mono);font-size:.78rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-sidebar{flex:0 0 clamp(10rem,25%,12.5rem);min-width:0;display:flex;flex-direction:column;padding:.65rem .6rem;border-right:1px solid var(--rule);background:var(--leaf)}.file-sidebar-heading{display:flex;align-items:center;justify-content:space-between;padding:.15rem .35rem .6rem;color:var(--ink-soft);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.file-count{min-width:1.4rem;padding:.05rem .4rem;border-radius:3px;background:var(--accent-soft);color:var(--accent);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:0}.file-list{min-height:0;margin:0 -.2rem;padding:0 .2rem;overflow:auto;list-style:none}.file-list li{margin:.1rem 0}.file-button{width:100%;min-width:0;display:flex;align-items:center;gap:.4rem;padding:.4rem .5rem;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--ink-soft);cursor:pointer;text-align:left;font:.76rem/1.35 var(--mono);border-left:2px solid transparent}.file-button:hover{background:var(--rule-soft);color:var(--ink)}.file-button.is-active{background:var(--paper);color:var(--ink);border-color:var(--rule);border-left-color:var(--accent)}.file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-badge{flex:none;padding:.05rem .32rem;border:1px solid var(--rule);border-radius:3px;color:var(--ink-soft);background:var(--paper);font:.56rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}.file-button .entry-badge{margin-left:auto}.file-button.is-active .entry-badge{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--rule))}.new-file-button{width:100%;margin-top:.55rem;padding:.42rem .5rem;border:1px dashed var(--rule);border-radius:4px;background:transparent;color:var(--ink-soft);cursor:pointer;font:.76rem/1.35 var(--mono)}.new-file-button:hover{border-color:var(--accent);color:var(--accent)}.project-import-input{display:none}.project-import-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem;margin-top:.45rem}.project-import-button{min-width:0;padding:.38rem .42rem;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink-soft);cursor:pointer;font:.7rem/1.3 var(--mono)}.project-import-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.project-import-button:disabled{cursor:progress;opacity:.65}.project-import-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.project-import-hint,.project-import-status{margin-top:.28rem;color:var(--ink-soft);font-size:.68rem;line-height:1.35}.project-import-status{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.project-import-status-success{color:var(--ok)}.project-import-status-error{color:var(--err)}.new-file-form{display:flex;flex-direction:column;gap:.4rem;margin-top:.55rem;padding:.55rem;border:1px solid var(--rule);border-radius:5px;background:var(--paper);font-size:.75rem}.new-file-form label{color:var(--ink-soft);font-weight:600;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase}.new-file-input{width:100%;min-width:0;padding:.36rem .42rem;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink);font:.76rem/1.4 var(--mono)}.new-file-input[aria-invalid=true]{border-color:var(--err)}.new-file-error{color:var(--err);line-height:1.3;font-size:.72rem}.new-file-actions{display:flex;gap:.4rem}.new-file-actions button{flex:1;padding:.3rem .4rem;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink);cursor:pointer;font:.74rem/1.3 var(--mono)}.new-file-actions button:hover{border-color:var(--accent);color:var(--accent)}.benchmark-link{margin-top:auto;padding:.6rem .35rem .1rem;color:var(--ink-soft);font-size:.68rem;text-decoration:none;border-top:1px solid var(--rule);margin-top:.7rem}.benchmark-link:before{content:"↗ ";color:var(--accent)}.benchmark-link:hover{color:var(--accent)}.editor-workspace{flex:1;min-width:0;display:flex;flex-direction:column}.editor textarea{flex:1;min-width:0;border:0;resize:none;padding:1rem 1.1rem;font-family:var(--mono);font-size:.82rem;line-height:1.6;background:var(--paper);color:var(--ink);outline:none;-moz-tab-size:2;tab-size:2}.editor textarea::selection{background:var(--accent-soft);color:inherit}.preview{padding:0 1.9rem 1.4rem;position:relative;background:var(--paper)}.preview .pane-tab{position:sticky;top:0;z-index:3;margin:0 -1.9rem 1.3rem;padding-left:1.9rem;padding-right:1.9rem;background:var(--leaf)}.pane-kicker-proof{font-family:var(--serif);font-style:italic;font-weight:500;font-size:.85rem;letter-spacing:0;text-transform:none;color:var(--ink-soft)}.preview .rendered-document{position:relative;z-index:1}.preview .fl-article{max-width:46rem}.preview .fl-sync-overlay{display:none;position:absolute;left:0;right:0;z-index:0;pointer-events:none;background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:2px;transition:top .12s ease,height .12s ease}footer{border-top:1px solid var(--rule);background:var(--leaf)}.panel{padding:.5rem 1.25rem;font-size:.78rem}.counts{display:flex;align-items:center;gap:1.4rem;color:var(--ink-soft)}.counts b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.counts .warn b{color:var(--warn)}.counts .ok b{color:var(--ok)}.error{color:var(--err);margin-top:.5rem;white-space:pre-wrap;padding:.5rem .7rem;border-left:2px solid var(--err);background:color-mix(in srgb,var(--err) 8%,transparent);border-radius:0 4px 4px 0}.warnings{margin:.6rem 0 0;padding-left:0;list-style:none;max-height:8rem;overflow:auto}.warnings li{display:flex;gap:.7rem;padding:.18rem 0;align-items:baseline}.warnings code{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);padding:.02rem .32rem;border-radius:3px;font-size:.72rem}.warnings .line{color:var(--ink-faint);min-width:2.6rem}.muted{color:var(--ink-soft)}@media (max-width: 760px){main{flex-direction:column}.editor{border-right:0;border-bottom:3px double var(--rule)}.pane{flex:1 1 50%}.status-strip{width:100%}}@media (prefers-reduced-motion: reduce){.meter-value.stamped{animation:none}.preview .fl-sync-overlay{transition:none}}
