/* SPDX-License-Identifier: AGPL-3.0-or-later */
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#24242a;background:#f4f4f6;color-scheme:light;--surface:#fff;--chrome:#f4f4f6;--line:#dddde3;--muted:#707078;--accent:#315aaf;--focus:#4378d0;--code-bg:#fff;--code-color:#24242a;--editor-background:#fff;--editor-foreground:#24242a;--editor-gutter:#f8f8fa;--editor-border:#dddde3}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{min-width:280px}button,input,textarea{font:inherit}button,a,label,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.38}button:focus-visible,a:focus-visible,input:focus-visible,.splitter:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}[hidden]{display:none!important}
.latex-app{display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;overflow:hidden;background:var(--surface)}.toolbar{display:flex;align-items:center;gap:8px;min-height:56px;padding:5px 12px;border-bottom:1px solid var(--line);background:var(--chrome);flex:none}.toolbar-space{flex:1}.icon-button,.text-button,.compile-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;white-space:nowrap;font-size:13px;text-decoration:none}.icon-button{width:40px;flex:none}.icon-button svg,.compile-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.compile-button svg{width:15px;height:15px;fill:currentColor;stroke:none}.text-button{padding:0 9px}.icon-button:hover,.text-button:hover{background:#00000008}.compile-button{padding:0 14px;color:#fff;background:var(--accent);border-color:var(--accent);min-width:112px}.compile-button:hover{filter:brightness(.94)}.compile-button[data-busy=true]{background:#e9edf5;border-color:#c9d2e5;color:#364660}.compile-button[data-busy=true] svg{width:10px;height:10px;fill:currentColor}.filename{width:180px;min-width:0;padding:9px 4px;background:transparent;color:inherit;border:1px solid transparent;border-radius:4px;font-size:13px;font-weight:550}.filename:hover{border-color:var(--line)}.file-actions{display:flex;align-items:center;gap:2px}.remember{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 9px;font-size:12px;color:var(--muted);cursor:pointer;white-space:nowrap}.remember input{accent-color:var(--accent);width:14px;height:14px;margin:0}.mobile-tabs{display:none;flex:none;border-bottom:1px solid var(--line);background:var(--chrome)}.mobile-tabs button{flex:1;min-height:40px;background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;font-size:13px}.mobile-tabs button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}
.workspace{display:grid;grid-template-columns:minmax(220px,var(--split,50%)) 7px minmax(220px,1fr);min-height:0;flex:1;overflow:hidden}.code-pane,.pdf-pane{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.pane-bar{display:flex;align-items:center;gap:12px;height:31px;min-height:31px;padding:0 14px;border-bottom:1px solid var(--line);color:var(--muted);background:var(--surface);font-size:11px;letter-spacing:.01em}.pane-bar>span:first-child{flex:1}.pane-bar a{color:inherit;font-size:20px;line-height:1;text-decoration:none;padding:5px 2px}.stale{font-size:10px;color:#876430}.code-editor{flex:1;min-height:0;min-width:0;overflow:hidden;background:var(--code-bg);color:var(--code-color)}.code-editor textarea{display:block;resize:none;width:100%;height:100%;padding:17px 20px;border:0;border-radius:0;background:var(--code-bg);color:var(--code-color);outline:0;font:14px/1.65 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;tab-size:2;white-space:pre;overflow:auto}.code-editor .cm-editor{height:100%;background:var(--code-bg);color:var(--code-color)}.code-editor .cm-scroller{font:14px/1.65 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;overflow:auto}.code-editor .cm-content{padding:16px 0}.code-editor .cm-line{padding:0 16px}.code-editor .cm-gutters{background:#f8f8fa;border-color:var(--line);color:#92929b}.code-editor .cm-focused{outline:0}.splitter{background:var(--chrome);border-left:1px solid var(--line);border-right:1px solid var(--line);cursor:col-resize;touch-action:none;position:relative}.splitter::after{content:"";position:absolute;top:50%;left:2px;height:28px;border-left:1px solid #bfc0c7;transform:translateY(-50%)}.splitter:hover,.splitter:focus-visible{background:#d7e1f2}.workspace.is-resizing iframe{pointer-events:none}.workspace.is-resizing{user-select:none}.pdf-pane{background:#e9e9ed}.pdf-pane iframe{display:block;border:0;width:100%;height:100%;flex:1;min-height:0;background:#e9e9ed}.pdf-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:0}.pdf-empty svg{width:46px;height:54px;fill:none;stroke:#b8b8c2;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}.diagnostics{max-height:27vh;flex:none;overflow:auto;background:#fff8f7;border-top:1px solid #e9c9c5}.diagnostics summary{padding:9px 16px;font-size:12px;color:#8a3b31;cursor:pointer}.diagnostics pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:0 16px 14px;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;color:#69342e}.status-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:27px;padding:5px 14px;border-top:1px solid var(--line);font-size:11px;line-height:1.4;color:var(--muted);background:var(--chrome);flex:none}.status-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-bar #storage-status{font-size:10px}.latex-app[data-state=error] #status{color:#963e32}
@media(max-width:800px){.toolbar{flex-wrap:wrap;gap:4px;padding:5px 8px;min-height:53px}.toolbar-space{display:none}.filename{flex:1;width:auto}.compile-button{min-width:105px}.file-actions{width:100%;justify-content:flex-end;border-top:1px solid var(--line);gap:2px;padding-top:2px}.remember{margin-right:auto;padding-left:5px}.icon-button,.text-button,.remember{min-height:38px}.mobile-tabs{display:flex}.workspace{display:block;position:relative}.code-pane,.pdf-pane{height:100%}.splitter{display:none}.latex-app[data-tab=code] .pdf-pane,.latex-app[data-tab=pdf] .code-pane{display:none}.pane-bar{height:27px;min-height:27px;padding:0 12px}.code-editor .cm-scroller,.code-editor textarea{font-size:14px}.status-bar{padding:5px 10px;gap:6px}.status-bar #storage-status{max-width:48%}.diagnostics{max-height:24vh}}
@media(max-width:360px){.toolbar{padding:4px}.filename{font-size:12px}.compile-button{padding:0 10px;min-width:94px}.text-button{padding:0 7px}.remember{gap:4px;font-size:11px;padding-right:4px}.icon-button{width:36px}.status-bar{font-size:10px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .12s ease,border-color .12s ease,color .12s ease}}
.pdf-preview{display:flex;flex:1;min-height:0;min-width:0;flex-direction:column;align-items:center;gap:18px;padding:22px;overflow:auto;background:#e9e9ed}.pdf-preview .pdf-page{max-width:100%;flex:none;background:#fff;box-shadow:0 2px 12px #00000013}.pdf-preview canvas{display:block;max-width:100%;height:auto}.source-link{text-decoration:none;font:13px ui-monospace,SFMono-Regular,Consolas,monospace}
:root[data-theme=dark]{color-scheme:dark;color:#dadce2;--surface:#202127;--chrome:#25262c;--line:#383a43;--muted:#a1a4af;--accent:#587dc5;--focus:#7b9cde;--code-bg:#202127;--code-color:#dadce2;--editor-background:#202127;--editor-foreground:#dadce2;--editor-gutter:#25262c;--editor-border:#383a43;--latex-editor-bg:#202127;--latex-editor-text:#dadce2;--latex-editor-gutter:#25262c;--latex-editor-muted:#9398a7;--latex-editor-border:#383a43;--latex-editor-active-line:#ffffff06;--latex-editor-selection:#547ca55c;--latex-editor-keyword:#9bbceb;--latex-editor-atom:#cdbaf7;--latex-editor-string:#b7d1a1;--latex-editor-comment:#818a9b;--latex-editor-number:#e7b791}:root[data-theme=dark] .pdf-pane,:root[data-theme=dark] .pdf-preview,:root[data-theme=dark] .pdf-empty{background:#191a20}:root[data-theme=dark] .code-editor .cm-gutters{background:#25262c;color:#9398a7}:root[data-theme=dark] .icon-button:hover,:root[data-theme=dark] .text-button:hover{background:#ffffff0b}:root[data-theme=dark] .diagnostics{background:#332323;border-color:#71443c}:root[data-theme=dark] .diagnostics summary,:root[data-theme=dark] .diagnostics pre{color:#edb6aa}:root[data-theme=dark] .stale{color:#d3b579}
@media(max-width:800px){.pdf-preview{padding:12px;gap:12px}}
.pdf-paper{display:flex;align-items:flex-start;justify-content:center;width:100%;min-height:0;flex:none}.pdf-pagination{position:sticky;bottom:0;display:flex;align-items:center;justify-content:center;gap:10px;min-height:38px;padding:3px 8px;background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:7px;box-shadow:0 2px 10px #00000014;font-size:12px}.pdf-pagination button{min-width:32px;min-height:30px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:inherit;font-size:20px}.pdf-pagination button:hover{background:#80808014}
.workspace.is-resizing .pdf-preview{pointer-events:none}.pwa-host:empty{display:none}.toolbar .tools-install-control{border-color:transparent;background:transparent;color:inherit;border-radius:6px;width:40px;height:40px;min-width:40px;min-height:40px}.toolbar .tools-install-control:hover{background:#80808010}

/* Eight touch columns keep the mobile chrome to two rows at phone widths. */
@media(min-width:384px) and (max-width:800px){
  #latex-app .toolbar{display:grid;grid-template-columns:repeat(8,minmax(44px,1fr));gap:2px;min-height:98px;align-items:center}
  #latex-app .toolbar.site-header nav.file-actions{display:contents}
  #latex-app .toolbar .back{grid-row:1;grid-column:1}
  #latex-app .filename{grid-row:1;grid-column:2/5;width:100%}
  #latex-app #compile{grid-row:1;grid-column:5/8;min-width:0}
  #latex-app #tools-theme{grid-row:1;grid-column:8;width:44px}
  #latex-app .remember{grid-row:2;grid-column:1/3;margin:0;padding:0 3px}
  #latex-app #import{grid-row:2;grid-column:3;padding:0}
  #latex-app #download-tex{grid-row:2;grid-column:4;padding:0}
  #latex-app #download-pdf{grid-row:2;grid-column:5;padding:0}
  #latex-app .source-link{grid-row:2;grid-column:6}
  #latex-app #fullscreen{grid-row:2;grid-column:7}
  #latex-app #tools-install{grid-row:2;grid-column:8;width:44px}
}
#latex-app .toolbar.site-header nav.file-actions{flex-wrap:nowrap;gap:2px;min-width:0;margin:0;max-width:100%;justify-content:flex-end}#latex-app .toolbar .tools-theme-control{margin-left:0;border-color:transparent;background:transparent;color:inherit;border-radius:6px;width:40px;height:40px;min-width:40px;min-height:40px}#latex-app .toolbar .tools-theme-control:hover{background:#80808010}
@media(max-width:800px){#latex-app .toolbar.site-header nav.file-actions{flex-wrap:wrap;gap:2px;width:100%;justify-content:flex-start}#latex-app :is(.icon-button,.text-button,.compile-button,.remember,.mobile-tabs button){min-height:44px}#latex-app :is(.icon-button,.text-button){min-width:44px}#latex-app .toolbar :is(.tools-install-control,.tools-theme-control){width:44px;height:44px;min-width:44px;min-height:44px;margin:0}#latex-app .pane-bar{height:44px;min-height:44px}#latex-app .pane-bar a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}#latex-app .pdf-pagination button{min-width:44px;min-height:44px}}
