@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap";:root{color:#000;font-synthesis:none;text-rendering:optimizelegibility;background:#fff;font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.4}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,textarea{font:inherit}button{color:#000;cursor:pointer;background:#fff;border:1px solid #d4d4d4;border-radius:6px;height:32px;padding:0 11px;font-size:.82rem;font-weight:500;transition:border-color .12s,background .12s,color .12s}button:hover{border-color:#000}button:disabled{color:#9a9a9a;cursor:not-allowed;border-color:#e2e2e2}button:disabled:hover{border-color:#e2e2e2}.button-primary{color:#fff;background:#000;border-color:#000}.button-primary:hover{background:#333;border-color:#333}button:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #000}.app-shell{grid-template-rows:auto 1fr;gap:8px;min-width:0;min-height:100vh;padding:8px;display:grid;position:relative;overflow-x:hidden}.topbar{background:#fff;border:1px solid #e5e5e5;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-width:0;min-height:40px;padding:4px 6px 4px 12px;display:flex}.brand-lockup{align-items:center;min-width:132px;display:flex}.topbar h1,.pane h2,.error-panel h3{letter-spacing:0;margin:0}.topbar h1{font-size:.96rem;font-weight:700;line-height:1}.topbar-actions,.zoom-controls{align-items:center;gap:6px;display:flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.progress-rail{z-index:5;background:#00c853;border-radius:999px;height:3px;position:absolute;top:52px;left:10px;right:10px;overflow:hidden}.progress-rail:after{content:"";opacity:.65;background:linear-gradient(90deg,#0000,#fff,#0000);animation:.9s ease-in-out infinite progress-slide;position:absolute;inset:0;transform:translate(-100%)}.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;min-width:0;min-height:0;display:grid;position:relative}.workspace.is-dragging:after{color:#000;content:"Drop .tex file to import";pointer-events:none;z-index:4;background:#0000000a;border:1px dashed #000;border-radius:8px;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:flex;position:absolute;inset:0}.pane{background:#fff;border:1px solid #e5e5e5;border-radius:8px;grid-template-rows:auto 1fr;min-width:0;min-height:0;display:grid;overflow:hidden}.pane-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:7px 10px;display:flex}.pane-header h2{font-size:.78rem;font-weight:700;line-height:1.1}.pane-header span{color:#666;margin-top:1px;font-size:.68rem;font-weight:500;display:block}.editor-pane.has-issue{grid-template-rows:auto auto 1fr}.editor-pane.has-issue .editor-surface{box-shadow:inset 3px 0 #ff3b30}.source-issue-pill{color:#b00000;border-color:#ff3b30;height:26px;padding:0 8px}.source-issue-banner{color:#b00000;text-align:left;text-overflow:ellipsis;white-space:nowrap;border:0;border-bottom:1px solid #eee;border-radius:0;justify-content:flex-start;align-items:center;gap:8px;width:100%;height:auto;min-height:34px;padding:7px 10px;font-size:.74rem;display:flex;overflow:hidden}.source-issue-banner span{color:#b00000;border:1px solid #ff3b30;border-radius:999px;flex:none;padding:2px 7px;font-size:.68rem;font-weight:700}.editor-surface{grid-template-columns:44px 1fr;min-height:0;display:grid}.line-numbers{color:#9a9a9a;text-align:right;-webkit-user-select:none;user-select:none;background:#fafafa;border-right:1px solid #eee;padding:12px 8px 12px 0;font-family:SFMono-Regular,Cascadia Code,Liberation Mono,Consolas,monospace;font-size:.84rem;line-height:1.55;overflow:hidden}.line-numbers span{display:block}.line-numbers .is-error-line{color:#b00000;font-weight:700}textarea{color:#000;resize:none;border:0;outline:none;width:100%;min-height:0;padding:12px;font-family:SFMono-Regular,Cascadia Code,Liberation Mono,Consolas,monospace;font-size:.84rem;line-height:1.55}.preview-pane{grid-template-rows:1fr}.segmented-control{background:#f5f5f5;border:1px solid #dcdcdc;border-radius:7px;min-width:0;padding:2px;display:flex}.segmented-control button{background:0 0;border:0;border-radius:5px;min-width:0;height:26px;padding:0 9px}.segmented-control button.is-active{color:#fff;background:#000}.zoom-controls button{min-width:32px;padding:0 9px}.preview-scroll{background:#fff;min-height:0;padding:8px;overflow:auto}.pdf-stage,.text-preview,.error-panel,.loading-panel{background:#fff;border:1px solid #eee;border-radius:8px;max-width:960px;min-height:100%;margin:0 auto}.pdf-stage{height:100%;min-height:720px;padding:0;overflow:auto}.pdf-scale{transform-origin:0 0;min-height:720px}.pdf-frame{border:0;width:100%;height:100%;min-height:720px;display:block}.text-preview{color:#000;white-space:pre-wrap;padding:32px;font-family:SFMono-Regular,Cascadia Code,Liberation Mono,Consolas,monospace;line-height:1.6}.markdown-preview{background:#fcfcfc}.error-panel{color:#000;border-color:#000;padding:32px}.loading-panel{color:#666;justify-content:center;align-items:center;padding:32px;font-size:.82rem;display:flex}.error-panel h3{font-size:.9rem}.error-panel pre{white-space:pre-wrap;overflow:auto}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.toast{color:#fff;z-index:20;background:#000;border:1px solid #000;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:14px;max-width:min(420px,100vw - 32px);padding:12px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 16px 42px #00000038}.toast strong{font-size:.82rem;font-weight:700;line-height:1.2;display:block}.toast p{color:#d4d4d4;margin:5px 0 0;font-size:.76rem;line-height:1.4}.toast button{color:#000;background:#fff;border-color:#fff;flex:none;height:28px;padding:0 9px}@keyframes progress-slide{to{transform:translate(100%)}}@media (width<=860px){.app-shell{min-height:auto}.topbar{flex-direction:column;align-items:flex-start;overflow:hidden}.workspace{grid-template-columns:1fr}.pane{min-height:520px}.progress-rail{top:52px}}@media (width<=560px){.app-shell{padding:6px}.topbar-actions{flex-direction:column;align-items:stretch;width:100%;min-width:0}.progress-rail{top:50px;left:8px;right:8px}.toast{bottom:10px;left:10px;right:10px}.topbar-actions button,.segmented-control,.zoom-controls{width:100%}.segmented-control button,.zoom-controls button{flex:1}.segmented-control button{padding:0 6px}.pane-header{flex-direction:column;align-items:flex-start}.preview-scroll{padding:6px}.text-preview,.error-panel,.loading-panel{padding:22px}}
