@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-latin-400-normal-DGosTW8U.woff2)format("woff2"),url(/assets/fira-code-latin-400-normal-C-QZfXAs.woff)format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-code-latin-700-normal-aa0XcSUK.woff2)format("woff2"),url(/assets/fira-code-latin-700-normal-CbIf1Tvd.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff")}:root{--paper:#eef0ee;--surface:#fff;--ink:#1a1d22;--muted:#666c72;--line:#d7dad3;--primary:#203e74;--primary-ink:#fdfdfb;--danger:#b3321f;--focus:#a97c12;--mark:#b8860b;--chrome-bg:#14161c;--chrome-bg-raised:#1d2028;--chrome-ink:#f1efe6;--chrome-muted:#9a9ea8;--chrome-line:#2a2d36;--chrome-accent:#d9a441;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-ui:"IBM Plex Sans", "Trebuchet MS", "Liberation Sans", sans-serif;--ok:#3f6b4a;--diff-del-line:#fcebea;--diff-del-word:#f4bcb7;--diff-del-ink:#9b1c1c;--diff-ins-line:#e7f5ea;--diff-ins-word:#aee0bb;--diff-ins-ink:#145a2e;--syn-command:#1a56b0;--syn-userCommand:#283593;--syn-env:#8a3ab9;--syn-package:#7b5e00;--syn-option:#5f6f86;--syn-heading:#b3261e;--syn-title:#3d2c8d;--syn-math:#0f7b6c;--syn-mathCommand:#2e7d32;--syn-number:#1565c0;--syn-brace:#7a6a4a;--syn-ref:#c26a00;--syn-url:#0277bd;--syn-string:#a0521d;--syn-emphasis:#ad1457;--syn-verbatim:#6d4c41;--syn-comment:#8a8578;--syn-invalid:#d32f2f;--peer-1:#b3321f;--peer-2:#1f6fa8;--peer-3:#3f7a3a;--peer-4:#8a5a00;--peer-5:#7a3f8f;--peer-6:#0f7a7a;--peer-7:#a8456f;--peer-8:#5a5f6a;--file-tex:#203e74;--file-bib:#7a3f8f;--file-style:#8a5a00;--file-image:#3f7a3a;--file-pdf:#b3321f;--file-generic:#666c72;--file-folder:#a97c12;--editor-font:ui-monospace, "Cascadia Code", Consolas, monospace;--editor-font-size:14px;--sidebar-w:260px;--pdf-w:480px;--panel-h:220px;--shadow:0 10px 30px #1d24331f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#15171c;--surface:#1c202b;--ink:#ece7da;--muted:#9aa0b0;--line:#2d3342;--primary:#8fb0ee;--primary-ink:#11151f;--danger:#ef7a66;--focus:#e3b04b;--mark:#e3b04b;--chrome-bg:#0e0f14;--chrome-bg-raised:#171a21;--chrome-ink:#f1efe6;--chrome-muted:#91959f;--chrome-line:#262a33;--chrome-accent:#e3b04b;--ok:#7fc08a;--diff-del-line:#3b2124;--diff-del-word:#7d3036;--diff-del-ink:#ffb4ab;--diff-ins-line:#1c3325;--diff-ins-word:#2e6b43;--diff-ins-ink:#b8f0c6;--syn-command:#7fb2ff;--syn-userCommand:#a5b4fc;--syn-env:#d19af2;--syn-package:#e6c069;--syn-option:#9aa7b8;--syn-heading:#ff8a80;--syn-title:#c5b3ff;--syn-math:#4fd1c5;--syn-mathCommand:#8bd17c;--syn-number:#82aaff;--syn-brace:#a89a78;--syn-ref:#ffb454;--syn-url:#6cc4ff;--syn-string:#f0a868;--syn-emphasis:#f48fb1;--syn-verbatim:#d7a988;--syn-comment:#8f8a7c;--syn-invalid:#ff6e6e;--peer-1:#ef7a66;--peer-2:#6fb4ee;--peer-3:#8fd08a;--peer-4:#e3b04b;--peer-5:#c79ae0;--peer-6:#6fd0d0;--peer-7:#ee8fb4;--peer-8:#aab0bc;--file-tex:#8fb0ee;--file-bib:#c3a0e8;--file-style:#e3b04b;--file-image:#8fd08a;--file-pdf:#ef7a66;--file-generic:#9aa0b0;--file-folder:#e3b04b;--shadow:0 10px 30px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font:16px / 1.5 var(--font-ui);margin:0}h1{letter-spacing:-.02em;margin:0 0 1rem;font-size:1.85rem;font-weight:700}a{color:var(--primary)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.brand{margin:0;text-decoration:none;display:inline-flex}.brand-mark{font-family:var(--font-display);color:var(--chrome-accent);letter-spacing:.01em;font-size:1.2rem;font-weight:700}.brand-a{vertical-align:.28em;margin:0 -.04em;font-size:.72em}.brand-e{vertical-align:-.2em;margin:0 -.03em;font-size:.82em}.brand-suffix{color:var(--chrome-ink);font-weight:500}.muted{color:var(--muted);font-size:.85rem}.alert{border:1px solid color-mix(in srgb, var(--danger) 40%, var(--line));background:color-mix(in srgb, var(--danger) 8%, var(--surface));color:var(--danger);border-radius:8px;align-items:flex-start;gap:.5rem;margin:0 0 1rem;padding:.65rem .85rem;font-size:.9rem;display:flex}.alert svg{flex:none;margin-top:.1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1.5rem}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;min-height:2.5rem;padding:.55rem 1.1rem;font-weight:600;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn[aria-busy=true]{cursor:progress}.btn-compact{border-radius:6px;min-height:2rem;padding:.3rem .75rem;font-size:.85rem}.btn-icon{border-radius:8px;min-width:2.5rem;min-height:2.5rem;padding:0}.btn-spinner{opacity:.8;border:2px solid;border-top-color:#0000;border-radius:50%;width:.85em;height:.85em;animation:.7s linear infinite spin}.btn-primary{background:var(--primary);color:var(--primary-ink);box-shadow:0 1px 2px #00000014}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 85%, black)}.btn-secondary{background:var(--surface);color:var(--primary);border-color:var(--primary)}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 10%, transparent)}.btn-secondary:active:not(:disabled){background:color-mix(in srgb, var(--primary) 20%, transparent)}.btn-danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent)}.btn-danger:active:not(:disabled){background:color-mix(in srgb, var(--danger) 20%, transparent)}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--line)}.btn-ghost:active:not(:disabled){background:color-mix(in srgb, var(--line) 70%, transparent)}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.form{gap:1rem;display:grid}.field{gap:.3rem;display:grid}.field label{font-size:.875rem;font-weight:600}.field input,.field select{font:inherit;border:1px solid var(--line);background:var(--paper);min-height:2.5rem;color:var(--ink);border-radius:8px;padding:.55rem .7rem;transition:border-color .12s,box-shadow .12s}.field input:focus-visible,.field select:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 25%, transparent);outline:none}.field input[type=range]{background:0 0;border:0;min-height:auto;padding:0}.form-error{color:var(--danger);margin:0;font-size:.9rem}.dropzone-field{grid-template-columns:minmax(0,1fr);gap:.6rem;display:grid}.dropzone{border:2px dashed var(--line);background:var(--paper);text-align:center;border-radius:10px;justify-items:center;gap:.5rem;padding:1.75rem 1rem;transition:border-color .12s,background-color .12s;display:grid}.dropzone[data-drag-over=true]{border-color:var(--focus);background:color-mix(in srgb, var(--focus) 10%, var(--paper))}.dropzone[data-disabled=true]{opacity:.6}.dropzone-icon{color:var(--muted)}.dropzone[data-drag-over=true] .dropzone-icon{color:var(--focus)}.dropzone-label{margin:0;font-weight:600}.dropzone-hint{margin:0}.dropzone-files{grid-template-columns:minmax(0,1fr);gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.dropzone-files li{border:1px solid var(--line);background:var(--surface);border-radius:6px;align-items:center;gap:.5rem;padding:.35rem .5rem;display:flex}.dropzone-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.dropzone-file-size{flex:none;font-size:.78rem}.dropzone-file-remove{min-width:24px;min-height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;padding:.2rem;display:grid}.dropzone-file-remove:hover{color:var(--danger);background:var(--line)}.dropzone-count{margin:0}.folder-picker{border:0;gap:.25rem;min-width:0;margin:0;padding:0;display:grid}.folder-picker legend{margin-bottom:.25rem;padding:0}.folder-picker-list{border:1px solid var(--line);background:var(--surface);border-radius:8px;max-height:10.5rem;padding:.25rem;overflow-y:auto}.folder-option{padding:.3rem .5rem .3rem calc(.5rem + var(--depth,0) * 1.1rem);color:var(--muted);cursor:pointer;border-radius:6px;align-items:center;gap:.45rem;font-size:.875rem;display:flex;position:relative}.folder-option input{opacity:0;pointer-events:none;position:absolute}.folder-option:hover{background:color-mix(in srgb, var(--primary) 7%, transparent);color:var(--ink)}.folder-option:has(input:checked){background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary);font-weight:600}.folder-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:-2px}.upload-picked{gap:.4rem;display:grid}.dropzone-field:has(.upload-picked) .dropzone{grid-auto-flow:column;justify-content:center;align-items:center;gap:.75rem;padding:.6rem 1rem}.dropzone-field:has(.upload-picked) :is(.dropzone-icon,.dropzone-hint){display:none}.upload-summary{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.upload-summary>:last-child{margin-left:auto}.upload-picked .upload-files{border:1px solid var(--line);border-radius:8px;max-height:14rem;margin:0;padding:0;list-style:none;overflow-y:auto}.upload-files li{align-items:center;gap:.5rem;padding:.3rem .4rem .3rem .6rem;font-size:.85rem;display:flex}.upload-files li+li{border-top:1px solid var(--line)}.upload-file-path{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.upload-file-size{text-align:right;font-variant-numeric:tabular-nums;min-width:3.25rem;font-size:.75rem}.upload-badge{border-radius:999px;flex:none;padding:.05rem .4rem;font-size:.7rem;font-weight:600}.upload-badge[data-type=modify]{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent)}.upload-badge[data-type=add]{color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent)}.upload-note{margin:0;font-size:.8rem}.upload-badge[data-type=same]{color:var(--muted);background:color-mix(in srgb, var(--muted) 14%, transparent)}.upload-result-title{margin:0;font-weight:600}.path-preview{background:var(--paper);font-family:var(--editor-font,ui-monospace, monospace);overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:.5rem;margin:0;padding:.45rem .65rem;font-size:.85rem;display:flex}.path-preview svg{width:15px;height:15px;color:var(--muted);flex:none}.form .check{align-items:center;gap:.5rem;display:flex}@media (width<=26rem){.dropzone{padding:1.25rem .75rem}}.app-header{border-bottom:1px solid var(--chrome-line);background:var(--chrome-bg);color:var(--chrome-ink);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.app-header nav{align-items:center;gap:1rem;display:flex}.app-header .btn-ghost{color:var(--chrome-muted)}.app-header .btn-ghost:hover:not(:disabled){color:var(--chrome-ink);background:var(--chrome-line)}.user-email{color:var(--chrome-muted);font-size:.9rem}.app-main{max-width:60rem;margin:0 auto;padding:2rem 1.5rem}.empty{text-align:center;color:var(--muted)}.status-note{text-align:center;color:var(--muted);padding:2rem}.tabs{border-bottom:1px solid var(--line);gap:.25rem;margin-bottom:1rem;display:flex}.tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:.5rem 1rem}.tabs button[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.actions{gap:.5rem;display:flex}@media (width<=36rem){.user-email{display:none}}.dialog{background:var(--surface);width:min(100% - 2rem,28rem);max-height:min(90vh,40rem);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;padding:0;display:flex}.dialog:not([open]){display:none}.dialog[data-wide]{width:min(100% - 2rem,64rem);max-height:min(92vh,52rem)}.dialog[data-wide=md]{width:min(100% - 2rem,clamp(32rem,50vw,46rem));max-height:min(90vh,50rem)}.dialog[data-wide=full]{width:calc(100vw - 2rem);max-width:none;height:calc(100dvh - 2rem);max-height:none}.dialog-header{flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem 1rem;display:flex}.dialog h2{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:1.3rem;font-weight:700}.dialog-close{min-width:2.25rem;min-height:2.25rem;color:var(--muted);flex:none;margin:-.25rem -.25rem 0 0}.dialog-close:hover:not(:disabled){color:var(--ink)}.dialog-body{flex:1;min-height:0;padding:0 1.5rem 1.5rem;overflow:auto}.dialog .actions{justify-content:flex-end}@media (width<=26rem){.dialog{width:calc(100% - 1.5rem);max-height:92vh}.dialog-header{padding:1rem 1rem .75rem}.dialog-body{padding:0 1rem 1rem}.dialog .actions{flex-wrap:wrap}.dialog .actions .btn{flex:auto}}:root{--warn:#9a6a00}:root[data-theme=dark]{--warn:#e3b04b}.app-main:has(.workspace){max-width:none;padding:0}.pane-title{background:var(--paper);border-bottom:1px solid var(--line);margin:0;padding:.6rem .75rem;font-size:.95rem;font-weight:600}.file-tree{flex:1;font-size:.9rem;overflow:auto}.file-tree ul{margin:0;padding:0 0 0 .9rem;list-style:none}.file-tree>ul{padding-left:.25rem}.tree-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.25rem;padding:.5rem;display:flex}.tree-toolbar button{font:inherit;border:1px solid var(--line);color:var(--primary);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.3rem;padding:.3rem .5rem;font-size:.8rem;display:inline-flex}.tree-toolbar button:hover{background:var(--paper)}.tree-actions button{min-width:24px;min-height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:.2rem;display:grid}.tree-actions button:hover{color:var(--ink);background:var(--line)}.tree-row{border-radius:6px;align-items:center;display:flex}.tree-row:hover{background:var(--line)}.tree-row[data-active=true]{background:color-mix(in srgb, var(--primary) 16%, transparent);font-weight:600}.tree-row[data-active=true]:hover{background:color-mix(in srgb, var(--primary) 22%, transparent)}.tree-label{text-align:left;min-width:0;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:.35rem;padding:.2rem .4rem;display:flex}.tree-chevron{color:var(--muted);flex-shrink:0}.file-icon{flex-shrink:0}.file-icon-folder{color:var(--file-folder)}.file-icon-tex{color:var(--file-tex)}.file-icon-bib{color:var(--file-bib)}.file-icon-style{color:var(--file-style)}.file-icon-image{color:var(--file-image)}.file-icon-pdf{color:var(--file-pdf)}.file-icon-generic{color:var(--file-generic)}.file-icon-diff{color:var(--mark)}.tree-label-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tree-actions{gap:.15rem;padding-right:.25rem;display:none}.tree-row:hover .tree-actions,.tree-row:focus-within .tree-actions{display:flex}@media (hover:none){.tree-actions{display:flex}}.editor{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.editor-host{flex:1;min-height:0}.preview{padding:1rem}.preview img{max-width:100%;display:block}.image-preview{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.image-preview-body{flex:1;min-height:0;padding:1rem;overflow:auto}.build-panel{flex-direction:column;flex:1;min-height:0;display:flex}.build-bar{flex-wrap:wrap;align-items:center;gap:.6rem;padding:.4rem .75rem;font-size:.9rem;display:flex}.build-toggle{margin-left:auto}.build-details{border-top:1px solid var(--line);flex:1;grid-template-columns:minmax(0,1fr);gap:.4rem;min-width:0;min-height:0;padding:0 .75rem .6rem;display:grid;overflow:auto}.build-details .form-error{overflow-wrap:anywhere;min-width:0}.build-details .empty{padding:.4rem 0}.build-status[data-status=failed],.build-status[data-status=timeout]{color:var(--danger)}.build-status[data-status=queued],.build-status[data-status=running]{color:var(--warn)}.build-status[data-status=succeeded]{color:var(--ok)}.build-status[data-stuck=true]{color:var(--danger);font-weight:600}.log-list{margin:0;padding:0;font-size:.85rem;list-style:none}.log-item{border-left:3px solid;gap:.5rem;padding:.2rem 0 .2rem .5rem;display:flex}.log-error{border-color:var(--danger);color:var(--danger)}.log-warning{border-color:var(--warn);color:var(--warn)}.log-item button{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;text-decoration:underline}.pdf-viewer{flex:0 0 var(--pdf-w);background:var(--line);flex-direction:column;min-width:0;min-height:0;display:flex}.zoom-bar{background:var(--surface);border-bottom:1px solid var(--line);flex:none;justify-content:flex-end;padding:.3rem .4rem;display:flex}.pdf-viewer-body{flex:1;min-width:0;min-height:0;overflow:auto}.pdf-page{background:#fff;margin:.5rem auto;box-shadow:0 1px 4px #00000040}.pdf-page canvas{object-fit:contain;width:100%;height:100%;display:block}.zoom-toolbar{background:var(--paper);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.15rem;padding:.1rem;display:inline-flex}.zoom-btn{min-width:1.6rem;height:1.6rem;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 .4rem;font-size:.78rem;display:inline-flex}.zoom-btn:hover{background:var(--line)}.zoom-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.menu{display:inline-block;position:relative}.menu summary{cursor:pointer;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu summary:after{content:"▾";color:var(--muted);margin-left:.4em;font-size:.7em;display:inline-block}.menu-list{z-index:20;background:var(--surface);border:1px solid var(--line);min-width:12rem;box-shadow:var(--shadow);border-radius:8px;margin-top:.35rem;padding:.3rem;position:absolute;top:100%;left:0}.menu-list button,.dialog-list button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.45rem .65rem;display:block}.menu-list button:hover:not(:disabled),.dialog-list button:hover:not(:disabled){background:var(--paper)}.menu-list button:disabled,.dialog-list button:disabled{opacity:.5;cursor:not-allowed}.dialog-list{gap:.15rem;display:grid}.cm-comment{cursor:pointer;background:#e8aa284d;border-bottom:2px solid #c9921bb3}.cm-comment-draft{background:color-mix(in srgb, var(--focus) 28%, transparent);border-bottom:2px solid var(--focus)}kbd{border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--font-ui);border-bottom-width:2px;border-radius:4px;padding:0 .3em;font-size:.85em;line-height:1.5;display:inline-block}.cm-ref-missing{color:var(--danger);-webkit-text-decoration:underline wavy var(--danger);text-decoration:underline wavy var(--danger);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:2px;cursor:help}.cm-spell-error{-webkit-text-decoration:underline wavy var(--danger);text-decoration:underline wavy var(--danger);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:2px}.spell-popup{z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:.5rem;flex-direction:column;min-width:10rem;max-width:16rem;padding:.25rem;font-size:.85rem;display:flex;position:fixed;box-shadow:0 8px 24px #0000002e}.spell-item{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:.3rem;padding:.3rem .5rem}.spell-item:hover{background:var(--primary);color:#fff}.spell-ignore{color:var(--muted)}.spell-sep{background:var(--line);height:1px;margin:.25rem .3rem}.spell-none{color:var(--muted);padding:.3rem .5rem}.cm-panel.cm-search{background:var(--paper);color:var(--ink);font-family:var(--font-ui);flex-wrap:wrap;align-items:center;gap:.3rem .25rem;padding:.55rem 2.5rem .55rem .75rem;font-size:.85rem;display:flex;position:relative}.cm-panel.cm-search br{flex-basis:100%;height:0}.cm-panel.cm-search .cm-textfield{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;border-radius:6px;margin:0;padding:.35rem .55rem}.cm-panel.cm-search .cm-textfield::placeholder{color:var(--muted)}.cm-panel.cm-search .cm-textfield:focus-visible{border-color:var(--primary);outline:2px solid var(--focus);outline-offset:1px}.cm-panel.cm-search .cm-button{border:1px solid var(--line);background:var(--surface);min-width:5rem;color:var(--ink);font:inherit;text-align:center;cursor:pointer;background-image:none;border-radius:6px;margin:0;padding:.32rem .7rem}.cm-panel.cm-search .cm-button:hover{border-color:var(--primary);background:var(--paper)}.cm-panel.cm-search .cm-button:active{background:color-mix(in srgb, var(--primary) 14%, var(--surface))}.cm-panel.cm-search .cm-button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.cm-panel.cm-search label{color:var(--muted);cursor:pointer;align-items:center;gap:.3rem;display:inline-flex}.cm-panel.cm-search label input{accent-color:var(--primary);margin:0}.cm-panel.cm-search [name=close]{width:1.6rem;height:1.6rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;display:inline-flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.cm-panel.cm-search [name=close]:hover{background:var(--line);color:var(--ink)}.cm-searchMatch{background:color-mix(in srgb, var(--warn) 32%, transparent);border-radius:2px}.cm-searchMatch-selected{background:color-mix(in srgb, var(--primary) 42%, transparent)}.navigator{flex-direction:column;padding:.25rem .5rem;display:flex;overflow-y:auto}.nav-section{border-bottom:1px solid var(--line)}.nav-section>summary{color:var(--muted);cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .4rem;font-size:.8rem;font-weight:600;list-style:none;transition:background-color .12s;display:flex}.nav-section>summary:hover{background:var(--paper);color:var(--ink)}.nav-section>summary::-webkit-details-marker{display:none}.nav-section>summary:before{content:"▸";font-size:.65rem;transition:transform .12s}.nav-section[open]>summary:before{transform:rotate(90deg)}.nav-count{background:var(--line);min-width:1.25rem;color:var(--ink);text-align:center;border-radius:999px;margin-left:auto;padding:0 .35rem;font-size:.7rem;font-weight:600}.nav-empty{color:var(--muted);margin:0 0 .5rem 1rem;font-size:.78rem}.map-view{height:100%;padding:.25rem;overflow:auto}.map-edge{stroke:var(--line);stroke-width:1.5px}.map-node rect{fill:var(--surface);stroke:var(--line);stroke-width:1.5px;transition:fill .1s,stroke .1s}.map-node text{fill:var(--ink);pointer-events:none;font-size:11px}.map-node[data-level=root] rect{fill:color-mix(in srgb, var(--primary) 16%, var(--surface));stroke:var(--primary)}.map-node[data-level="0"] rect,.map-node[data-level="1"] rect{stroke:color-mix(in srgb, var(--primary) 55%, var(--line))}.map-node:hover rect{fill:color-mix(in srgb, var(--primary) 12%, var(--surface));stroke:var(--primary)}.graph-view{overscroll-behavior:contain;background:radial-gradient(circle, color-mix(in srgb, var(--line) 70%, transparent) 1px, transparent 1px) 0 0 / 22px 22px;height:100%;position:relative;overflow:hidden}.graph-view svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;display:block}.graph-view svg:active{cursor:grabbing}.graph-edge{stroke:var(--muted);stroke-width:1.3px;opacity:.55;transition:opacity .15s}.graph-edge[data-spine]{stroke-width:2.2px;opacity:.7}.graph-arrow path{fill:var(--muted)}.graph-node{cursor:pointer;transition:opacity .15s}.graph-node circle{stroke-width:2px;transition:stroke-width .1s}.graph-node[data-kind=root] circle{stroke-width:3px}.graph-node text{font-family:var(--font-ui,system-ui, sans-serif);pointer-events:none}.graph-node[data-kind=hub] text,.graph-node[data-kind=root] text{font-weight:700}.graph-node:hover circle,.graph-node:focus-visible circle{stroke-width:4px}.graph-node:focus{outline:none}.graph-node[data-pinned] circle:not(.graph-halo){stroke-dasharray:4 3}.graph-node[data-dim],.graph-edge[data-dim]{opacity:.12}.graph-halo{fill:none;stroke:var(--focus);stroke-width:5px;opacity:.55}.graph-legend,.graph-controls,.graph-inspector{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;font-size:.75rem;position:absolute}.graph-legend{max-height:45%;margin:0;padding:.25rem;list-style:none;top:.5rem;left:.5rem;overflow:auto}.graph-legend button,.graph-chip,.graph-link{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;display:flex}.graph-legend button{text-align:left;border-radius:5px;width:100%;padding:.2rem .45rem}.graph-legend button:hover,.graph-chip:hover{background:color-mix(in srgb, var(--primary) 12%, transparent)}.graph-dot{border-radius:50%;flex:none;width:.7rem;height:.7rem}.graph-controls{flex-direction:column;padding:.15rem;display:flex;top:.5rem;right:.5rem}.graph-controls button{width:1.9rem;height:1.9rem;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.graph-controls button:hover{background:color-mix(in srgb, var(--primary) 12%, transparent)}.graph-legend button:focus-visible,.graph-controls button:focus-visible,.graph-inspector button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.graph-inspector{max-height:42%;color:var(--ink);padding:.55rem .7rem;bottom:.5rem;left:.5rem;right:.5rem;overflow:auto}.graph-inspector header{align-items:center;gap:.45rem;font-size:.85rem;display:flex}.graph-inspector header strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.graph-inspector header button{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.graph-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.2rem;margin:.25rem 0 .4rem;display:flex}.graph-link{color:var(--primary);padding:0;text-decoration:underline;display:inline}.graph-chips{flex-wrap:wrap;gap:.25rem;display:flex}.graph-chip{border:1px solid var(--line);border-radius:999px;padding:.15rem .45rem}.graph-jump{background:var(--primary);color:var(--primary-ink);font:inherit;cursor:pointer;border:0;border-radius:6px;align-items:center;gap:.35rem;margin-top:.5rem;padding:.3rem .6rem;font-weight:600;display:inline-flex}@media (prefers-reduced-motion:reduce){.graph-edge,.graph-node,.graph-node circle{transition:none}}.nav-list{flex-direction:column;gap:.15rem;padding:0 0 .5rem;display:flex}.nav-item{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;gap:.5rem;padding:.35rem .4rem;font-size:.8rem;transition:background-color .12s,border-color .12s,box-shadow .12s,transform 60ms;display:flex}.nav-item:hover{background:color-mix(in srgb, var(--primary) 8%, var(--paper));border-color:color-mix(in srgb, var(--primary) 35%, var(--line))}.nav-item:active{background:color-mix(in srgb, var(--primary) 16%, var(--paper));transform:scale(.98)}.nav-item:focus-visible{outline:2px solid var(--focus);outline-offset:1px}@media (prefers-reduced-motion:reduce){.nav-item{transition:none}}.nav-item-text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.nav-figure{align-items:center}.nav-thumb{object-fit:cover;border:1px solid var(--line);background:var(--paper);border-radius:4px;flex:none;width:3rem;height:2.25rem}.nav-thumb-empty{display:block}.nav-table-item,.nav-equation{flex-direction:column;align-items:stretch;gap:.3rem}.nav-ico{color:var(--muted);flex:none}.nav-table-preview{border:1px solid var(--line);background:var(--surface);border-radius:6px;max-width:100%;max-height:60vh;overflow:auto}.nav-table-preview table{border-collapse:collapse;font-size:.85rem}.nav-table-preview td{border:1px solid var(--line);white-space:nowrap;padding:.3rem .5rem}.nav-preview{flex-direction:column;align-items:center;gap:.75rem;min-width:0;display:flex}.nav-preview-img{object-fit:contain;border:1px solid var(--line);background:var(--paper);border-radius:6px;max-width:100%;max-height:62vh}.nav-preview-caption{max-width:44rem;color:var(--muted);text-align:center;margin:0;font-size:.9rem}.nav-eq-full{max-width:100%;padding:1rem .5rem;font-size:1.15rem;overflow:auto hidden}.nav-eq{border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:.3rem;overflow:auto hidden}.nav-eq-label{color:var(--muted);font-size:.72rem}.nav-acronym{align-items:baseline;gap:.45rem}.nav-acro-short{color:var(--primary);flex:none;font-weight:700}.nav-acro-long{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.comment-popup{z-index:15;left:var(--cp-left,.75rem);top:var(--cp-top,2.5rem);background:var(--surface);border:1px solid var(--line);max-width:min(20rem,100% - 1.5rem);box-shadow:var(--shadow);border-radius:10px;position:absolute}.comment-popup-form{gap:.4rem;padding:.5rem .6rem;display:grid}.comment-popup-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.comment-popup-scope{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.7rem;font-weight:600}.comment-popup-close{all:unset;width:1.1rem;height:1.1rem;color:var(--muted);cursor:pointer;border-radius:4px;place-items:center;display:inline-grid}.comment-popup-close:hover,.comment-popup-close:focus-visible{background:color-mix(in srgb, var(--focus) 25%, transparent);color:var(--ink)}.comment-popup-form textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);min-height:2.3rem;max-height:6rem;color:var(--ink);font:inherit;border-radius:6px;padding:.4rem .5rem;font-size:.82rem}.comment-popup-form textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.comment-popup-actions{justify-content:flex-end;gap:.35rem;display:flex}@media (width<=36rem){.comment-popup{max-width:none;position:fixed;inset:auto .5rem .5rem}}.comments-panel,.history-panel{align-content:start;gap:.5rem;padding:.5rem .75rem .75rem;font-size:.85rem;display:grid}.comment-composer{gap:.4rem;display:grid}.comment-hint{color:var(--muted);margin:0;font-size:.8rem}.comment-draft-note{flex-wrap:wrap;align-items:center;gap:.3rem;margin:0;font-size:.8rem;display:flex}.comment-draft-error{color:var(--danger);margin:0;font-size:.8rem}.comment-draft{border:1px solid var(--line);background:color-mix(in srgb, var(--mark) 8%, transparent);border-radius:6px;gap:.3rem;padding:.4rem .5rem;display:grid}.comment-draft-meta{color:var(--muted);align-items:center;gap:.5rem;margin:0;font-size:.75rem;display:flex}.comment-draft-scope{color:var(--ink);font-weight:600}.comment-draft-meta .btn{margin-left:auto}.comment-draft-quote{border-left:3px solid var(--focus);color:var(--ink);white-space:pre-wrap;max-height:4.5em;margin:0;padding-left:.5rem;font-style:italic;overflow:auto}.comment-toggle{align-items:center;gap:.4rem;display:flex}.comment-list,.comment-replies{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.comment{border:1px solid var(--line);border-radius:4px;gap:.3rem;padding:.4rem .5rem;display:grid}.comment-active{border-color:var(--focus)}.comment-done{opacity:.65}.comment-head{all:unset;cursor:pointer;gap:.15rem;display:grid}.comment-quote{border-left:3px solid var(--focus);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;padding-left:.5rem;font-style:italic;overflow:hidden}.comment-body{white-space:pre-wrap;margin:0}.comment-replies{padding-left:.75rem}.comment-reply input{width:100%}.comment-actions{gap:.4rem;display:flex}.comment-empty{color:var(--muted)}.history-pre{white-space:pre;max-width:70vw;max-height:60vh;overflow:auto}.members-panel{gap:.5rem;padding:.6rem .75rem .75rem;display:grid}.members-toolbar{display:flex}.members-toolbar .btn{width:100%}.member-list{margin:0;padding:0;list-style:none}.member-item{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.55rem 0;display:flex}.member-item:last-child{border-bottom:0}.member-avatar{background:var(--primary);width:1.75rem;height:1.75rem;color:var(--primary-ink);border-radius:50%;flex:none;place-items:center;font-size:.7rem;font-weight:700;display:grid}.member-info{flex:8rem;gap:.05rem;min-width:0;display:grid}.member-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.35rem;min-width:0;font-weight:600;display:flex;overflow:hidden}.member-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.online-dot{background:var(--ok);border-radius:50%;flex:none;width:.5rem;height:.5rem}.member-role-row{flex:1 0 100%;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.role-chip{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:600}select.role-chip{font:inherit;color:var(--ink);cursor:pointer;font-weight:600}.role-chip-static{white-space:nowrap}.badge{border:1px solid var(--line);border-radius:999px;padding:.05rem .4rem;font-size:.7rem}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.toaster{z-index:1000;gap:.5rem;width:min(100vw - 2rem,26rem);display:grid;position:fixed;bottom:1rem;right:1rem}.toast{border:1px solid var(--line);border-left:4px solid var(--primary);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);overflow-wrap:anywhere;border-radius:10px;align-items:flex-start;gap:.6rem;padding:.7rem .75rem .7rem .9rem;font-size:.92rem;animation:.16s ease-out toast-in;display:flex}.toast[data-tone=error]{border-left-color:var(--danger)}.toast span{flex:1;min-width:0}.toast-close{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;padding:.15rem;display:inline-flex}.toast-close:hover{color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}body:has(.workspace) .app-header{display:none}.workspace-shell{flex-direction:column;height:100dvh;display:flex}.workspace{grid-template-columns:3rem var(--sidebar-w) 4px minmax(0, 1fr);flex:1;grid-template-rows:minmax(0,1fr);height:auto;min-height:0;display:grid}.activity-bar{background:var(--chrome-bg);border-right:1px solid var(--chrome-line);flex-direction:column;display:flex}.activity-btn{height:3rem;color:var(--chrome-muted);cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;place-items:center;display:grid;position:relative}@media (hover:hover){.activity-btn:hover{color:var(--chrome-ink);background:var(--chrome-bg-raised)}}.activity-btn:active{color:var(--chrome-ink);background:var(--chrome-bg-raised)}.activity-btn[aria-pressed=true]{color:var(--chrome-accent);background:var(--chrome-bg-raised);border-left-color:var(--chrome-accent)}.activity-settings{margin-top:auto}.activity-badge{background:var(--chrome-accent);min-width:1rem;color:var(--chrome-bg);text-align:center;border-radius:999px;padding:0 .25rem;font-size:.65rem;line-height:1rem;position:absolute;top:.4rem;right:.35rem}.sidebar{background:var(--surface);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.sidebar-sheet{border:0;border-right:1px solid var(--line);background:var(--surface);width:min(21rem,86vw);max-width:86vw;height:100dvh;max-height:100dvh;color:var(--ink);box-shadow:var(--shadow);border-radius:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-sheet:not([open]){display:none}.sidebar-sheet::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14171f80}.sidebar-sheet-header{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:.5rem;padding:.6rem .5rem .6rem .9rem;font-weight:600;display:flex}.sidebar-sheet-header span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sidebar-body{flex:1;min-height:0;overflow:auto}.sidebar-body:has(.changes-view){flex-direction:column;display:flex;overflow:hidden}.sidebar-project{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem;font-size:.8rem;font-weight:400;display:block;overflow:hidden}.changes-view{flex-direction:column;flex:1;min-height:0;display:flex}.changes-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .65rem;display:flex}.changes-summary{align-items:baseline;gap:.35rem;min-width:0;display:flex}.changes-count{flex:none;font-size:.85rem;font-weight:600}.changes-baseline{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:.78rem;overflow:hidden}.changes-head-actions{flex:none;gap:.15rem;display:flex}.spin{animation:.8s linear infinite spin}.changes-body{flex:1;min-height:0;padding:.4rem .5rem;overflow:auto}.change-group+.change-group{margin-top:.3rem}.change-group-header{width:100%;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:.35rem;margin:.15rem 0;padding:.25rem .3rem;font-size:.78rem;font-weight:600;display:flex}.change-group-header:hover{background:var(--paper);color:var(--ink)}.change-group-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;overflow:hidden}.change-group-count{flex:none;font-weight:400}.change-list{margin:0;padding:0;list-style:none}.change-row{border-radius:6px;align-items:center;gap:.3rem;padding:.15rem .3rem;display:flex}.change-row:hover{background:var(--line)}.change-row-main{min-width:0;font:inherit;color:var(--ink);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:.45rem;padding:.2rem 0;display:flex}button.change-row-main{cursor:pointer}.change-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}button.change-row-main:hover .change-name{text-decoration:underline}.change-row-actions{opacity:0;pointer-events:none;flex:none;gap:.1rem;transition:opacity .1s;display:flex}.change-row:hover .change-row-actions,.change-row:focus-within .change-row-actions{opacity:1;pointer-events:auto}@media (hover:none){.change-row-actions{opacity:1;pointer-events:auto}}.change-badge{border-radius:4px;flex:none;place-items:center;width:1.1rem;height:1.1rem;font-size:.65rem;font-weight:700;display:inline-grid}.change-badge[data-type=add]{color:var(--ok);background:color-mix(in srgb, var(--ok) 16%, transparent)}.change-badge[data-type=modify]{color:var(--warn);background:color-mix(in srgb, var(--warn) 16%, transparent)}.change-badge[data-type=remove]{color:var(--danger);background:color-mix(in srgb, var(--danger) 16%, transparent)}.changes-composer{border-top:1px solid var(--line);background:var(--surface);flex:none;gap:.4rem;padding:.55rem .65rem;display:grid}.changes-composer textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);min-height:2.4rem;max-height:6rem;color:var(--ink);font:inherit;border-radius:6px;padding:.4rem .5rem;font-size:.85rem}.changes-composer textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.changes-composer-actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.changes-composer-actions .form-error{margin:0 auto 0 0}.splitter{background:var(--line);touch-action:none;transition:background .15s}.splitter[aria-orientation=vertical]{cursor:col-resize}.splitter[aria-orientation=horizontal]{cursor:row-resize;height:4px}.splitter:hover,.splitter:focus-visible{background:var(--primary)}.main-column{flex-direction:column;min-width:0;min-height:0;display:flex}.surface-row{flex:1;min-width:0;min-height:0;display:flex}.editor-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.pane-editor{flex-direction:column;flex:1;min-height:0;display:flex}.pane-empty{margin:auto}.tab-bar{background:var(--paper);border-bottom:1px solid var(--line);align-items:center;gap:.35rem;min-width:0;padding:.35rem .45rem;display:flex;position:relative}.tab-strip{scrollbar-width:none;flex:1;gap:.35rem;min-width:0;padding:2px;scroll-padding-inline:1.5rem;display:flex;position:relative;overflow-x:auto}.tab-strip::-webkit-scrollbar{display:none}.tab-strip[data-fade-start=true]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 1.5rem);mask-image:linear-gradient(90deg,#0000,#000 1.5rem)}.tab-strip[data-fade-end=true]{-webkit-mask-image:linear-gradient(270deg,#0000,#000 1.5rem);mask-image:linear-gradient(270deg,#0000,#000 1.5rem)}.tab-strip[data-fade-start=true][data-fade-end=true]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 1.5rem calc(100% - 1.5rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 1.5rem calc(100% - 1.5rem),#0000)}.tab{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 55%, var(--paper));border-radius:9px;flex:none;align-items:center;min-width:4rem;max-width:14rem;transition:background-color .12s,border-color .12s,box-shadow .12s;display:flex}.tab:hover{background:var(--surface);border-color:color-mix(in srgb, var(--primary) 35%, var(--line))}.tab[data-active=true]{background:var(--surface);border-color:var(--primary);box-shadow:0 1px 3px #00000014, inset 0 -2px 0 var(--primary)}.tab-label{min-width:0;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;align-items:center;gap:.4rem;padding:.32rem .2rem .32rem .65rem;font-size:.84rem;display:flex}.tab-label:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.tab[data-active=true] .tab-label{color:var(--ink);font-weight:600}.tab-label-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tab-close{min-width:22px;min-height:22px;color:var(--muted);opacity:0;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;margin-right:.3rem;padding:.15rem;display:grid}.tab:hover .tab-close,.tab-close:focus-visible,.tab[data-active=true] .tab-close{opacity:1}@media (hover:none){.tab-close{opacity:1}}.tab-close:hover{background:var(--line);color:var(--ink)}.tab-stack-wrap{flex:none;position:relative}.tab-stack{cursor:pointer;background:0 0;border:0;width:3.1rem;height:1.95rem;margin:0 .85rem 0 .15rem;padding:0;display:block;position:relative}.tab-stack-wrap[data-side=start] .tab-stack{margin:0 .15rem 0 .85rem}.tab-stack:before,.tab-stack:after{content:"";border:1px solid color-mix(in srgb, var(--muted) 45%, var(--line));background:color-mix(in srgb, var(--line) 55%, var(--surface));border-radius:9px;transition:transform .15s ease-out;position:absolute;inset:0}.tab-stack:after{opacity:.7;transform:translate(10px,-4px)}.tab-stack:before{z-index:1;transform:translate(5px,-2px)}.tab-stack-wrap[data-side=start] .tab-stack:after{transform:translate(-10px,-4px)}.tab-stack-wrap[data-side=start] .tab-stack:before{transform:translate(-5px,-2px)}.tab-stack-card{z-index:2;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;font-size:.78rem;font-weight:700;transition:border-color .12s,color .12s;display:grid;position:absolute;inset:0;box-shadow:0 1px 3px #0000001a}.tab-stack:hover .tab-stack-card,.tab-stack[aria-expanded=true] .tab-stack-card{border-color:var(--primary);color:var(--primary)}.tab-stack:hover:after{transform:translate(14px,-6px)}.tab-stack:hover:before{transform:translate(7px,-3px)}.tab-stack-wrap[data-side=start] .tab-stack:hover:after{transform:translate(-14px,-6px)}.tab-stack-wrap[data-side=start] .tab-stack:hover:before{transform:translate(-7px,-3px)}.tab-stack:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:9px}.tab-stack-menu{z-index:30;border:1px solid var(--line);background:var(--surface);min-width:13rem;max-width:20rem;max-height:60vh;box-shadow:var(--shadow,0 8px 24px #00000029);border-radius:10px;padding:.3rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;overflow-y:auto}.tab-stack-wrap[data-side=start] .tab-stack-menu{left:0;right:auto}.tab-stack-item{min-width:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:.45rem;padding:.35rem .55rem;font-size:.84rem;display:flex}.tab-stack-item:hover,.tab-stack-item:focus-visible{background:var(--paper)}.tab-stack-item[data-active=true]{color:var(--primary);font-weight:600}@media (prefers-reduced-motion:reduce){.tab,.tab-stack:before,.tab-stack:after{transition:none}}.bottom-slot{flex-direction:column;min-height:0;display:flex}.bottom-slot[data-open=true]{max-height:var(--panel-h);overflow:hidden}.bottom-panel{border-top:1px solid var(--line);background:var(--surface);flex-direction:column;flex:1;min-height:0;display:flex}.icon-btn{min-width:24px;min-height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;padding:.2rem;display:grid}.icon-btn:hover{color:var(--ink);background:var(--line)}.status-bar{min-height:1.75rem;color:var(--muted);background:var(--paper);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;row-gap:.2rem;padding:.2rem .75rem;font-size:.78rem;display:flex}.status-group{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.status-group>*+*{border-left:1px solid var(--line);padding-left:.6rem}.status-item{align-items:center;display:inline-flex}.peer-list{gap:.6rem}.status-group .dot,.peer .dot{background:var(--warn);border-radius:50%;width:.5rem;height:.5rem;margin-right:.35rem;display:inline-block}.status-group[data-status=connected] .status-item .dot{background:var(--ok)}.status-pill{border:1px solid var(--line);border-radius:999px;padding:.05rem .45rem;font-size:.7rem}.status-build[data-status=failed],.status-build[data-status=timeout]{color:var(--danger)}.status-build[data-status=queued],.status-build[data-status=running]{color:var(--warn)}.status-build[data-status=succeeded]{color:var(--ok)}.status-btn{min-height:24px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.3rem;padding:.2rem 0;display:inline-flex}.status-btn:hover:not(:disabled){color:var(--ink)}.status-btn:disabled{opacity:.5;cursor:default}.spinner{border:2px solid var(--line);border-top-color:var(--primary);vertical-align:-1px;border-radius:50%;width:.7rem;height:.7rem;margin-right:.3rem;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.splitter{transition:none}.spinner,.spin{animation-duration:3s}}@media (width<=75rem){.surface-row .splitter,.workspace[data-surface=pdf] .editor-pane{display:none}.pdf-viewer{flex:auto}.workspace[data-surface=editor] .pdf-viewer{display:none}}@media (width<=56rem){.workspace{flex-direction:column;height:auto;display:flex}.activity-bar{border-right:0;border-bottom:1px solid var(--chrome-line);flex-direction:row;flex:none}.activity-btn{border-bottom:2px solid #0000;border-left:0;flex:1;height:2.5rem}.activity-btn[aria-pressed=true]{border-left-color:#0000;border-bottom-color:var(--chrome-accent)}.activity-settings{margin-top:0}.main-column{flex:1;min-height:0}}@media (width<=26rem){.brand-suffix,.build-bar .build-status{display:none}.build-bar{flex-wrap:wrap;gap:.35rem;padding:.4rem .5rem}.build-bar>.btn,.build-bar>.split-btn,.build-bar .engine-select,.build-bar .build-toggle{flex:none}.build-bar .engine-select{width:5.75rem;min-width:0}.build-bar .problem-counts{flex:100%;order:1}.build-bar .problem-counts:has(.problem-ok){display:none}.editor-host[data-blame] .cm-gutters .cm-blame-gutter{min-width:4.5rem;max-width:5.5rem}.status-bar{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.status-bar::-webkit-scrollbar{display:none}.status-group{flex-wrap:nowrap}.peer-list,.status-wordcount,.status-btn-label{display:none}}.settings{grid-template-columns:11rem 1fr;gap:1.25rem;min-width:0;min-height:22rem;display:grid}.settings-nav{border-right:1px solid var(--line);flex-direction:column;gap:.15rem;padding-right:.5rem;display:flex}.settings-nav-btn{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:.5rem;padding:.45rem .6rem;font-size:.9rem;transition:background-color .12s;display:flex}.settings-nav-btn:hover{background:var(--paper)}.settings-nav-btn[aria-pressed=true]{background:color-mix(in srgb, var(--primary) 14%, var(--surface));color:var(--primary);font-weight:600}.settings-main{min-width:0;overflow-y:auto}.settings-section{flex-direction:column;display:flex}.settings-h3{margin:1rem 0 .25rem;font-size:.9rem}.settings-row{border-bottom:1px solid var(--line);align-items:center;gap:1rem;padding:.8rem .25rem;display:flex}.settings-row-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.settings-row-title{color:var(--ink);font-size:.92rem}.settings-row-desc{color:var(--muted);font-size:.82rem}.settings-row>select,.settings-row>input[type=range]{flex:none;margin-left:auto}.settings-row>input[type=range]{width:10rem}.settings-row>select{border:1px solid var(--line);background:var(--surface);min-width:9rem;color:var(--ink);font:inherit;border-radius:6px;padding:.35rem .5rem}.settings-appearance-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.color-grid{grid-template-columns:repeat(2,1fr);gap:.5rem 1rem;display:grid}.settings-section .check{align-items:center;gap:.5rem;display:flex}.toggle{cursor:pointer;flex:none;margin-left:auto;display:inline-flex}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:var(--line);border-radius:999px;width:2.4rem;height:1.35rem;transition:background-color .15s;position:relative}.toggle-track:after{content:"";background:var(--surface);border-radius:50%;width:calc(1.35rem - 4px);height:calc(1.35rem - 4px);transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.toggle input:checked+.toggle-track{background:var(--primary)}.toggle input:checked+.toggle-track:after{transform:translate(1.05rem)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--focus);outline-offset:2px}@media (width<=40rem){.settings{grid-template-columns:1fr}.settings-nav{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;padding:0 0 .5rem}}.font-choices{border:0;gap:.4rem;margin:0;padding:0;display:grid}.font-choices legend{margin-bottom:.25rem;padding:0}.font-choice{border:1px solid var(--line);cursor:pointer;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:.25rem .5rem;padding:.5rem .65rem;display:grid}.font-choice:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.font-choice:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.font-choice-name{font-weight:600}.font-sample{background:var(--paper);color:var(--ink);white-space:pre;border-radius:6px;grid-column:1/-1;padding:.4rem .5rem;line-height:1.5;display:block;overflow-x:auto}.font-sample .s-heading{color:var(--syn-heading);font-weight:600}.font-sample .s-title{color:var(--syn-title);font-weight:600}.font-sample .s-brace{color:var(--syn-brace)}.font-sample .s-comment{color:var(--syn-comment);font-style:italic}.font-sample .s-math{color:var(--syn-math)}.font-sample .s-command{color:var(--syn-command)}.font-sample .s-ref{color:var(--syn-ref)}.cm-ySelectionInfo{font-size:.65rem;font-family:var(--font-body,inherit);color:#fff;opacity:1;border-radius:3px 3px 3px 0;padding:1px 4px}.cm-ySelectionCaret{border-left-width:2px;border-right-width:0;margin-left:-1px;margin-right:-1px}:root[data-theme=dark] .cm-ySelectionInfo{color:#14171f}.diff-tab-wrap{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;position:relative;container-type:inline-size}.diff-tab-header{border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:.6rem;min-height:2.6rem;padding:.35rem .6rem .35rem .75rem;display:flex}.diff-tab-file{flex:auto;align-items:center;gap:.5rem;min-width:0;display:flex}.diff-tab-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:24rem;font-size:.85rem;font-weight:600;overflow:hidden}.diff-tab-revs{font-family:var(--editor-font);color:var(--muted);flex:none;align-items:center;gap:.3rem;font-size:.72rem;display:inline-flex}.diff-tab-rev{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.1rem .4rem}.diff-tab-snapshot{color:var(--warn);flex:none;display:inline-flex}.view-toggle{border:0;flex:none;gap:.15rem;margin:0 0 0 auto;padding:0;display:inline-flex}.view-toggle-btn{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:.2rem .55rem;font-size:.75rem}.view-toggle-btn[aria-pressed=true]{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.diff-tab-body{flex:1;min-width:0;min-height:0;overflow:auto}.diff-tab-body .cm-mergeView{height:100%}.diff-tab-body .cm-mergeViewEditors{min-height:100%}.diff-tab-body .cm-merge-a,.diff-tab-body .cm-merge-b{min-width:0}.diff-tab-body>.cm-editor{height:100%}.diff-tab-body .cm-collapsedLines{color:var(--muted);background:color-mix(in srgb, var(--line) 35%, transparent);cursor:pointer;padding:.15rem .6rem;font-size:.78rem;font-style:italic}.diff-tab-body .cm-collapsedLines:hover{background:color-mix(in srgb, var(--line) 55%, transparent)}.diff-legend{flex:none;gap:.35rem;font-size:.72rem;display:inline-flex}.diff-modes{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex:none;gap:2px;margin:0;padding:2px;display:inline-flex}.diff-mode{color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:.35rem;padding:.25rem .55rem;font-size:.75rem;transition:background-color .12s,color .12s;display:inline-flex}.diff-mode:hover:not(:disabled){background:var(--paper);color:var(--ink)}.diff-mode[aria-pressed=true]{background:var(--primary);color:var(--primary-ink);font-weight:600}.diff-mode:disabled{opacity:.4;cursor:not-allowed}.diff-mode:focus-visible{outline:2px solid var(--focus);outline-offset:1px}@container (width<=640px){.diff-legend,.diff-mode-label{display:none}.diff-mode{padding:.3rem .45rem}}@container (width<=380px){.diff-tab-revs{display:none}}.diff-legend>span{border-radius:4px;padding:.05rem .4rem}.diff-legend-del{background:var(--diff-del-word);color:var(--diff-del-ink);text-decoration:line-through}.diff-legend-ins{background:var(--diff-ins-word);color:var(--diff-ins-ink)}.diff-revert{border:1px solid var(--line);background:var(--surface);color:var(--muted);font-family:var(--font-ui);letter-spacing:.01em;cursor:pointer;border-radius:5px;align-items:center;gap:.25rem;padding:.1rem .35rem;font-size:.74rem;font-weight:600;transition:background-color .12s,color .12s,border-color .12s,opacity .12s,transform 80ms;display:inline-flex}.diff-tab-wrap .diff-revert:hover,.diff-tab-wrap .diff-revert:focus-visible{border-color:var(--diff-del-ink);background:var(--diff-del-ink);color:var(--surface);opacity:1;outline-offset:1px}.diff-tab-wrap .diff-revert:focus-visible{outline:2px solid var(--focus)}.diff-revert:active{transform:scale(.94)}.diff-tab-body .cm-merge-revert{background:var(--paper);width:1.9rem}.diff-tab-body .cm-merge-revert .diff-revert{border-color:color-mix(in srgb, var(--diff-del-ink) 35%, transparent);background:color-mix(in srgb, var(--diff-del-ink) 7%, var(--surface));width:1.5rem;min-height:1.4rem;color:var(--diff-del-ink);border-radius:6px;justify-content:center;padding:0;position:absolute;left:.2rem}.diff-tab-body .cm-merge-revert .diff-revert:hover,.diff-tab-body .cm-merge-revert .diff-revert:focus-visible{border-color:var(--diff-del-ink);background:var(--diff-del-ink);color:var(--surface)}.diff-tab-body .cm-chunkButtons{z-index:1;opacity:.7;transition:opacity .12s;position:absolute;right:.5rem}.diff-tab-body .cm-deletedChunk:hover .cm-chunkButtons,.diff-tab-body .cm-chunkButtons:focus-within{opacity:1}.diff-tab-body .cm-chunkButtons .diff-revert{border:1px solid var(--diff-del-ink);background:var(--surface);color:var(--diff-del-ink)}.diff-tab-body .cm-chunkButtons .diff-revert:hover,.diff-tab-body .cm-chunkButtons .diff-revert:focus-visible{background:var(--diff-del-ink);color:var(--surface)}.diff-tab-body .cm-editor .cm-line.cm-revertGoing{background:repeating-linear-gradient(-45deg, var(--diff-ins-line) 0 6px, var(--surface) 6px 12px);text-decoration:line-through;-webkit-text-decoration-color:var(--diff-ins-ink);text-decoration-color:var(--diff-ins-ink);opacity:.75}.diff-tab-body .cm-editor .cm-line.cm-revertComing{background:var(--diff-del-word);box-shadow:inset 3px 0 0 var(--diff-del-ink)}.diff-tab-body .cm-deletedChunk.cm-revertComing{outline:2px solid var(--diff-del-ink);outline-offset:-2px}.diff-tab-body .cm-deletedChunk del{text-decoration:none}.diff-tab-body .cm-chunkButtons span:empty{display:none}.word-diff-wrap{flex:1;min-height:0;padding:.75rem 1.25rem 2rem;overflow:auto}.word-diff-count{color:var(--muted);margin:0 0 .5rem;font-size:.78rem}.word-diff{white-space:pre-wrap;overflow-wrap:anywhere;max-width:80ch;font-family:var(--editor-font,ui-monospace, monospace);font-size:var(--editor-font-size,14px);line-height:1.75}.wd-change{position:relative}.wd-del{background:var(--diff-del-word);color:var(--diff-del-ink);border-radius:3px;padding:.05rem .1rem;text-decoration:line-through;text-decoration-thickness:2px}.wd-ins{background:var(--diff-ins-word);color:var(--diff-ins-ink);border-radius:3px;padding:.05rem .1rem;text-decoration:none}.wd-del+.wd-ins{margin-left:.15rem}.wd-revert{z-index:2;border:1px solid var(--diff-del-ink);background:var(--surface);color:var(--diff-del-ink);font-family:var(--font-ui);letter-spacing:.01em;white-space:nowrap;opacity:0;pointer-events:none;cursor:pointer;border-radius:5px;align-items:center;gap:.25rem;padding:.1rem .4rem;font-size:.74rem;font-weight:600;line-height:1.4;display:inline-flex;position:absolute;bottom:calc(100% - 1px);left:0;box-shadow:0 2px 6px #00000026}.wd-change:hover .wd-revert,.wd-revert:focus-visible{opacity:1;pointer-events:auto}.wd-revert:hover,.wd-revert:focus-visible{background:var(--diff-del-ink);color:var(--surface)}.wd-revert:active{transform:scale(.94)}.wd-change:has(.wd-revert:hover) .wd-ins{opacity:.55;text-decoration:line-through}.wd-change:has(.wd-revert:hover) .wd-del{outline:2px solid var(--diff-del-ink);text-decoration:none}.diff-toast{z-index:5;background:var(--ink);max-width:calc(100% - 2rem);color:var(--surface);border-radius:10px;align-items:center;gap:.5rem;padding:.4rem .45rem .4rem .75rem;font-size:.85rem;animation:.18s ease-out diff-toast-in;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.diff-toast-action{border:1px solid color-mix(in srgb, var(--surface) 40%, transparent);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-weight:600;display:inline-flex}.diff-toast-action:hover,.diff-toast-action:focus-visible{background:color-mix(in srgb, var(--surface) 18%, transparent)}.diff-toast-close{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:.2rem;display:inline-flex}.diff-toast-close:hover{opacity:1}@keyframes diff-toast-in{0%{opacity:0;transform:translate(-50%,6px)}}@media (prefers-reduced-motion:reduce){.diff-toast{animation:none}.diff-revert,.wd-revert{transition:none}}.word-diff-fold{background:color-mix(in srgb, var(--line) 40%, transparent);width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:4px;margin:.35rem 0;padding:.15rem .6rem;font-size:.78rem;font-style:italic;display:block}.word-diff-fold:hover{background:color-mix(in srgb, var(--line) 60%, transparent)}.cm-changes-gutter{width:4px}.cm-changes-gutter .cm-gutterElement{padding:0}.cm-changes-gutter .cm-line-added{background:var(--ok)}.cm-changes-gutter .cm-line-modified{background:var(--warn)}.cm-changes-gutter .cm-line-deleted{border-bottom:2px solid var(--danger)}.cm-changedLine{background:color-mix(in srgb, var(--warn) 18%, transparent)}.cm-merge-a .cm-changedLine,.cm-deletedChunk{background:color-mix(in srgb, var(--danger) 14%, transparent)}.cm-merge-b .cm-changedLine{background:color-mix(in srgb, var(--ok) 14%, transparent)}.cm-changedText{background:color-mix(in srgb, var(--warn) 35%, transparent)}.cm-insertedLine{background:color-mix(in srgb, var(--ok) 14%, transparent)}.cm-deletedLine{background:color-mix(in srgb, var(--danger) 14%, transparent)}.cm-gutters .cm-blame-gutter{min-width:9rem;max-width:12rem;color:var(--muted);white-space:nowrap;padding-right:.5rem;font-size:.7rem}.editor-host:not([data-blame]) .cm-gutters .cm-blame-gutter{display:none!important}.editor-host[data-blame] .cm-gutters .cm-blame-gutter{display:flex}.cm-blame-run{text-overflow:ellipsis;border-left:2px solid color-mix(in srgb, var(--primary) 30%, transparent);padding-left:.4rem;display:block;overflow:hidden}.cm-comment-gutter{width:1.1rem}.cm-comment-line-btn{all:unset;width:1rem;height:1rem;color:var(--muted);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;margin:auto;font-size:.85rem;line-height:1;display:none}.cm-comment-line-btn:hover{background:color-mix(in srgb, var(--focus) 25%, transparent);color:var(--ink)}.cm-gutterElement:hover .cm-comment-line-btn{display:flex}@media (hover:none){.cm-comment-line-btn{display:flex}}.status-btn[aria-pressed=true]{color:var(--primary)}.status-note-inline{color:var(--warn)}.engine-select{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:4px;padding:.15rem .3rem;font-size:.8rem}.problem-counts{border:0;align-items:center;gap:.35rem;min-width:0;margin:0;padding:0;display:inline-flex}.problem-count,.problem-ok{font:inherit;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .55rem;font-size:.8rem;font-weight:600;display:inline-flex}.problem-count{cursor:pointer}.problem-count[data-kind=error]{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.problem-count[data-kind=warning]{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.problem-count[aria-pressed=true][data-kind=error]{background:color-mix(in srgb, var(--danger) 15%, transparent)}.problem-count[aria-pressed=true][data-kind=warning]{background:color-mix(in srgb, var(--warn) 18%, transparent)}.problem-count:disabled{color:var(--muted);border-color:var(--line);cursor:default;opacity:.7}.problem-ok{color:var(--ok)}.log-groups{gap:.3rem;min-width:0;max-width:100%;display:grid}.log-group{min-width:0;max-width:100%}.log-group>summary{cursor:pointer;align-items:center;gap:.5rem;min-width:0;padding:.25rem 0;font-size:.8rem;font-weight:600;list-style:none;display:flex;overflow:hidden}.log-group>summary:before{content:"▾";color:var(--muted)}.log-group:not([open])>summary:before{content:"▸"}.log-group-counts span{border-radius:999px;margin-left:.2rem;padding:0 .4rem;font-size:.7rem}.log-group-counts [data-kind=error]{color:var(--danger);background:color-mix(in srgb, var(--danger) 15%, transparent)}.log-group-counts [data-kind=warning]{color:var(--warn);background:color-mix(in srgb, var(--warn) 18%, transparent)}.log-item{border-left-width:3px;padding:0}.log-row{text-align:left;width:100%;min-width:0;font:inherit;color:inherit;background:0 0;border:0;border-radius:4px;grid-template-columns:auto 3rem minmax(0,1fr);align-items:start;gap:.5rem;padding:.25rem .5rem;display:grid}.log-item .log-row{white-space:normal}.log-file{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}button.log-row{cursor:pointer}button.log-row:hover{background:color-mix(in srgb, var(--line) 50%, transparent)}.log-line{color:var(--muted);white-space:nowrap;font-size:.75rem}.log-msg{overflow-wrap:anywhere}.status-problems{gap:.5rem;display:inline-flex}.status-problems [data-kind=error]{color:var(--danger)}.status-problems [data-kind=warning]{color:var(--warn)}.compile-menu{position:relative}.compile-menu>summary{cursor:pointer;list-style:none}.compile-menu>summary::-webkit-details-marker{display:none}.compile-menu-body{z-index:1000;border:1px solid var(--line);background:var(--surface);min-width:16rem;max-height:calc(100dvh - 16px);box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 18%, transparent);border-radius:8px;padding:.35rem;font-size:.85rem;position:fixed;overflow:auto}.compile-menu-group{border-bottom:1px solid var(--line);padding:.25rem 0;display:grid}.compile-menu-label{color:var(--muted);text-transform:none;padding:.2rem .6rem;font-size:.7rem}.compile-menu-body button{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:.5rem;padding:.3rem .6rem;display:flex}.compile-menu-body button:hover:not(:disabled){background:color-mix(in srgb, var(--line) 50%, transparent)}.compile-menu-body button:disabled{color:var(--muted);cursor:default}.compile-menu-check{width:1rem;color:var(--primary);place-items:center;display:inline-grid}.compile-menu-actions{padding-top:.25rem}.problem-count[data-kind=info]{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 40%, transparent)}.problem-count[aria-pressed=true][data-kind=info]{background:color-mix(in srgb, var(--primary) 12%, transparent)}.log-group-counts [data-kind=info],.log-info{color:var(--primary)}.log-info{border-color:var(--primary)}.split-btn{align-items:stretch;display:inline-flex}.split-btn>.btn:first-child{border-right-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.split-btn>.btn+.btn{border-left-color:color-mix(in srgb, currentColor 35%, transparent);border-top-left-radius:0;border-bottom-left-radius:0;width:1.75rem;padding:0}.pdf-divider{flex:none;display:flex;position:relative}.pdf-divider .splitter{border-left:1px solid var(--line);background:var(--paper);flex:none;width:6px}.pdf-divider .splitter:after{content:"";background:var(--muted);opacity:.6;border-radius:2px;width:2px;height:28px;margin-top:-14px;position:absolute;top:50%;left:2px}.pdf-divider .splitter:hover,.pdf-divider .splitter:focus-visible{background:color-mix(in srgb, var(--primary) 25%, var(--paper))}.pdf-collapse{z-index:5;border:1px solid var(--line);background:var(--surface);width:22px;height:22px;color:var(--muted);cursor:pointer;border-radius:4px;place-items:center;display:grid;position:absolute;top:.4rem;left:8px}.pdf-collapse:hover{color:var(--ink)}.pdf-collapsed{border:0;border-left:1px solid var(--line);background:var(--paper);width:2rem;color:var(--muted);font:inherit;cursor:pointer;writing-mode:vertical-rl;flex-direction:column;flex:none;align-items:center;gap:.4rem;padding:.5rem 0;font-size:.7rem;display:flex}.pdf-collapsed:hover{color:var(--ink)}.bottom-slot[data-open=true]{height:var(--panel-h);max-height:none}.change-check{accent-color:var(--primary);cursor:pointer;flex:none;margin:0 .25rem 0 0}.change-row[data-excluded=true] .change-name{color:var(--muted);text-decoration:line-through}.changes-select-all{color:var(--muted);cursor:pointer;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.changes-select-all input{accent-color:var(--primary)}.pkg{gap:.6rem;min-width:0;padding:.6rem .75rem .9rem;font-size:.85rem;display:grid}.pkg-add{gap:.4rem;min-width:0;display:flex}.pkg-add input,.pkg-search input{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:2rem;color:var(--ink);font:inherit;border-radius:6px;flex:auto;padding:.3rem .55rem}.pkg-add .btn{flex:none}.pkg-filters{border:0;flex-wrap:wrap;gap:.3rem;margin:0;padding:0;display:flex}.pkg-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .55rem;font-size:.78rem;display:inline-flex}.pkg-chip strong{color:var(--ink)}.pkg-chip[aria-pressed=true]{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, var(--surface));color:var(--ink)}.pkg-chip[data-kind=on] strong{color:var(--ok)}.pkg-chip[data-kind=off] strong{color:var(--danger)}.pkg-chip[data-kind=detected] strong{color:var(--warn)}.pkg-search{color:var(--muted);align-items:center;gap:.4rem;display:flex}.pkg-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.pkg-item{border:1px solid var(--line);border-left:3px solid var(--ok);background:var(--surface);border-radius:6px;gap:.3rem;min-width:0;padding:.45rem .55rem;display:grid}.pkg-item[data-enabled=false]{border-left-color:var(--danger);background:color-mix(in srgb, var(--line) 30%, var(--surface))}.pkg-item[data-detected]{border-left-color:var(--warn)}.pkg-line{align-items:center;gap:.45rem;min-width:0;display:flex}.pkg-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--editor-font);flex:auto;font-weight:600;overflow:hidden}.pkg-item[data-enabled=false] .pkg-name{color:var(--muted);text-decoration:line-through}.pkg-actions{flex:none;align-items:center;gap:.1rem;display:flex}.pkg-badge,.pkg-count{border:1px solid var(--line);color:var(--muted);border-radius:999px;flex:none;padding:0 .4rem;font-size:.7rem;font-weight:400}.pkg-switch{background:color-mix(in srgb, var(--muted) 50%, var(--surface));cursor:pointer;border:0;border-radius:999px;flex:none;width:2rem;height:1.1rem;padding:0;transition:background-color .15s;position:relative}.pkg-switch:after{content:"";background:var(--surface);border-radius:50%;width:calc(1.1rem - 4px);height:calc(1.1rem - 4px);transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.pkg-switch[aria-checked=true]{background:var(--ok)}.pkg-switch[aria-checked=true]:after{transform:translate(.9rem)}.pkg-switch:disabled{cursor:default;opacity:.6}.pkg-sub{padding-left:2.45rem}.pkg-options{border:1px solid var(--line);background:var(--surface);min-width:4rem;color:var(--ink);font:inherit;border-radius:4px;flex:0 9rem;padding:.15rem .4rem;font-size:.78rem}.pkg-usage{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1 1 0;font-size:.75rem;overflow:hidden}.pkg-detected h3{align-items:center;gap:.4rem;margin:.3rem 0;font-size:.85rem;display:flex}.pkg-note{color:var(--muted);margin:0;font-size:.75rem}@media (prefers-reduced-motion:reduce){.pkg-switch,.pkg-switch:after{transition:none}}.sidebar-sheet{resize:horizontal;min-width:16rem;max-width:95vw;overflow:auto}.comment-menu{z-index:1000;border:1px solid var(--line);background:var(--surface);min-width:11rem;box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 18%, transparent);border-radius:8px;padding:.3rem;font-size:.85rem;position:fixed}.comment-menu button{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:.35rem .6rem;display:block}.comment-menu button:hover,.comment-menu button:focus-visible{background:color-mix(in srgb, var(--line) 50%, transparent)}.comment-menu .danger{color:var(--danger)}.comment-edit{gap:.4rem;display:grid}.comment-edit textarea{width:100%;font:inherit;border:1px solid var(--focus);background:var(--surface);color:var(--ink);border-radius:6px;padding:.35rem .5rem}.comment-active{outline:2px solid var(--focus);outline-offset:-1px}.admin-page{max-width:72rem;margin:0 auto;padding:1.5rem}.admin-header{justify-content:space-between;align-items:baseline;margin-bottom:1rem;display:flex}.admin-header h1{font-size:1.4rem}.admin-grid{grid-template-columns:minmax(16rem,22rem) 1fr;align-items:start;gap:1rem;display:grid}.admin-users{gap:.5rem;display:grid}.admin-count{color:var(--muted);margin:0;font-size:.8rem}.admin-user-list,.admin-project-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.admin-user{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:8px;gap:.1rem;width:100%;padding:.5rem .65rem;display:grid}.admin-user:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--line))}.admin-user[data-active=true]{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.admin-user-name{font-weight:600}.admin-user-email{font-size:.8rem}.admin-detail{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-width:0;padding:1rem}.admin-detail h2{margin:0 0 .75rem;font-size:1rem}.admin-empty{margin:0}.admin-project-list li{border-bottom:1px solid var(--line);align-items:center;gap:.6rem;padding:.4rem .2rem;display:flex}.admin-project-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.admin-project-role{font-size:.75rem}.admin-denied{color:var(--muted);justify-items:center;gap:.5rem;padding:3rem 1rem;display:grid}.dashboard-admin-link{color:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 40%, transparent);border-radius:999px;padding:.1rem .5rem;font-size:.8rem;text-decoration:none}.dashboard-admin-link:hover{background:color-mix(in srgb, var(--primary) 10%, transparent)}@media (width<=48rem){.admin-grid{grid-template-columns:1fr}}.admin-view-banner{background:color-mix(in srgb, var(--warn) 14%, transparent);border-bottom:1px solid color-mix(in srgb, var(--warn) 45%, transparent);color:var(--ink);align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.82rem;display:flex}.admin-view-banner svg{color:var(--warn);flex:none}.admin-file-view{background:var(--paper);height:100%;font-family:var(--editor-font,ui-monospace, monospace);font-size:var(--editor-font-size,13px);white-space:pre;tab-size:2;margin:0;padding:.75rem 1rem;line-height:1.5;overflow:auto}.pdf-bar{background:var(--surface);border-bottom:1px solid var(--line);flex:none;justify-content:flex-end;align-items:center;gap:.5rem;padding:.3rem .4rem;display:flex}.pdf-download{align-items:stretch;display:inline-flex}.pdf-download-main,.pdf-download-caret{border:1px solid var(--chrome-line);height:2rem;color:var(--chrome-ink);font:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.pdf-download-main{border-radius:6px 0 0 6px;gap:.35rem;padding:0 .7rem;font-size:.8rem;font-weight:600}.pdf-download-caret{min-width:1.7rem;color:var(--chrome-muted);border-left:0;border-radius:0 6px 6px 0;padding:0;list-style:none}.pdf-download-main:hover:not(:disabled),.pdf-download-caret:hover{background:var(--chrome-line)}.pdf-download-main:disabled{color:var(--chrome-muted);opacity:.55;cursor:not-allowed}.pdf-download-main:focus-visible,.pdf-download-caret:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.pdf-download-menu{display:inline-flex}.pdf-download-menu>summary:after{margin-left:0}.pdf-download-menu .menu-list{min-width:14rem;color:var(--ink);left:auto;right:0}.pdf-download-menu .menu-list button{white-space:nowrap;align-items:center;gap:.5rem;display:flex}.pdf-download-busy{color:var(--chrome-muted);font-size:.75rem}.pdf-download-error{color:color-mix(in srgb, var(--danger) 65%, var(--chrome-ink));font-size:.75rem}.btn{letter-spacing:.01em;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s,transform 80ms}.btn:active:not(:disabled){transform:translateY(1px)}.btn-icon{border-radius:999px}.btn-primary{background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 100%, white 8%), var(--primary));box-shadow:0 1px 2px #00000024,inset 0 1px #ffffff1a}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 92%, white 6%), color-mix(in srgb, var(--primary) 88%, black));box-shadow:0 2px 8px #0000002e,inset 0 1px #ffffff1a}.btn-primary:active:not(:disabled){background:color-mix(in srgb, var(--primary) 70%, black);box-shadow:none}.btn-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled){box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 18%, transparent)}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.dialog{border-color:color-mix(in srgb, var(--line) 70%, transparent);border-radius:14px;animation:.16s ease-out redesign-dialog-pop;display:flex;overflow:hidden;box-shadow:0 24px 60px #0a0c1247,0 2px 10px #0a0c121a}@keyframes redesign-dialog-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.dialog{animation:none}}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0c128c}.dialog-header{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);margin-bottom:.25rem;padding-bottom:1rem}.dialog-header-main{flex:auto;align-items:center;gap:.85rem;min-width:0;display:flex}.dialog-icon{background:color-mix(in srgb, var(--primary) 14%, var(--surface));width:2.5rem;height:2.5rem;color:var(--primary);border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.dialog[data-tone=danger] .dialog-icon{background:color-mix(in srgb, var(--danger) 16%, var(--surface));color:var(--danger)}.dialog-heading{min-width:0}.dialog-kicker{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);overflow-wrap:anywhere;margin:0 0 .2rem;font-size:.72rem;font-weight:700}.dialog[data-tone=danger] .dialog-kicker{color:var(--danger)}.dialog-kicker code{text-transform:none;letter-spacing:0;font-family:ui-monospace,monospace}.dialog-description{color:var(--muted);margin:0 0 1rem;font-size:.9rem}.dialog-body:has(+.dialog-footer){padding-bottom:1rem}.dialog-close:hover:not(:disabled){background:var(--line)}.dialog-footer{border-top:1px solid color-mix(in srgb, var(--line) 60%, transparent);background:color-mix(in srgb, var(--paper) 45%, transparent);flex:none;padding:1rem 1.5rem}.dialog-footer .actions{flex-wrap:wrap}@media (width<=26rem){.dialog-footer{padding:.85rem 1rem}}.dialog-list button{border-radius:8px;align-items:center;gap:.6rem;transition:background-color .12s;display:flex}.dialog-list button svg{color:var(--muted);flex:none}.dialog-list-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:.5rem 0 .1rem;padding:0 .1rem;font-size:.72rem;font-weight:700}.dialog-list-heading:first-child{margin-top:0}.role-options{border:0;gap:.5rem;margin:0;padding:0;display:grid}.role-options legend{margin-bottom:.3rem;padding:0;font-size:.875rem;font-weight:600}.role-option{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:.6rem;padding:.55rem .7rem;transition:border-color .12s,background-color .12s;display:flex}.role-option:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--line))}.role-option[data-selected=true]{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 7%, transparent)}.role-option input{flex:none;margin:.2rem 0 0}.role-option-main{gap:.15rem;min-width:0;display:grid}.role-option-label{font-size:.88rem;font-weight:600}.role-option-hint{color:var(--muted);font-size:.8rem}.field-hint{color:var(--muted);margin:-.15rem 0 0;font-size:.78rem}.field-hint code{background:color-mix(in srgb, var(--line) 55%, transparent);color:var(--ink);border-radius:4px;padding:.05rem .35rem;font-family:ui-monospace,monospace}.tree-toolbar{gap:.4rem;padding:.6rem}.tree-toolbar button.tree-toolbar-btn{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.78rem;font-weight:600;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s,transform 80ms;display:inline-flex}.tree-toolbar button.tree-toolbar-btn:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--line));background:color-mix(in srgb, var(--primary) 8%, var(--surface));color:var(--primary)}.tree-toolbar button.tree-toolbar-btn:active{transform:translateY(1px)}.tree-toolbar button.tree-toolbar-btn-primary{background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 100%, white 8%), var(--primary));color:var(--primary-ink);border-color:#0000;box-shadow:0 1px 3px #0000002e,inset 0 1px #ffffff1f}.tree-toolbar button.tree-toolbar-btn-primary:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 92%, white 6%), color-mix(in srgb, var(--primary) 88%, black));color:var(--primary-ink);box-shadow:0 2px 8px #0003}@media (width<=15rem){.tree-toolbar button.tree-toolbar-btn span{display:none}.tree-toolbar button.tree-toolbar-btn{padding:.4rem}}.build-bar{background:color-mix(in srgb, var(--paper) 55%, var(--surface));border-bottom:1px solid var(--line);gap:.5rem}.build-status{background:color-mix(in srgb, var(--muted) 12%, transparent);border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .5rem;font-weight:600;display:inline-flex}.build-status[data-status=queued],.build-status[data-status=running]{background:color-mix(in srgb, var(--warn) 16%, transparent)}.build-status[data-status=succeeded]{background:color-mix(in srgb, var(--ok) 15%, transparent)}.build-status[data-status=failed],.build-status[data-status=timeout]{background:color-mix(in srgb, var(--danger) 14%, transparent)}.build-status[data-stuck=true]{background:color-mix(in srgb, var(--danger) 20%, transparent)}.build-status-spin{animation:.9s linear infinite redesign-spin}@keyframes redesign-spin{to{transform:rotate(360deg)}}.build-progress{background:color-mix(in srgb, var(--line) 60%, transparent);flex:none;height:2px;position:relative;overflow:hidden}.build-progress:after{content:"";background:linear-gradient(90deg, transparent, var(--primary), transparent);width:35%;animation:1.3s ease-in-out infinite redesign-progress-sweep;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.build-status-spin{animation:none}.build-progress:after{background:var(--primary);opacity:.5;width:100%;animation:none}}@keyframes redesign-progress-sweep{0%{transform:translate(-100%)}to{transform:translate(285%)}}.engine-select{border-radius:6px;transition:border-color .12s}.engine-select:hover:not(:disabled){border-color:var(--primary)}.problem-counts{border-left:1px solid color-mix(in srgb, var(--line) 70%, transparent);padding-left:.6rem}.problem-count{transition:background-color .12s,border-color .12s}.problem-count:not(:disabled):hover{background:color-mix(in srgb, currentColor 12%, transparent)}.log-group{border-radius:8px;padding:0 .4rem}.log-group:hover{background:color-mix(in srgb, var(--primary) 4%, transparent)}.log-item{border-radius:0 6px 6px 0}.log-row{border-radius:0 6px 6px 0;transition:background-color .12s}.log-row:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.icon-btn.build-toggle{border-radius:999px}.icon-btn.build-toggle:hover{background:var(--line)}@media (width<=26rem){.problem-counts{border-left:0;padding-left:0}}.tree-label-text[data-dirty=modify]{color:var(--warn)}.tree-label-text[data-dirty=add]{color:var(--ok)}.tree-dirty{margin-left:auto;padding-left:.4rem;font-size:.7rem;font-weight:600}.tree-dirty[data-type=modify]{color:var(--warn)}.tree-dirty[data-type=add]{color:var(--ok)}.tree-dirty-dot{opacity:.6;background:currentColor;border-radius:50%;width:.4rem;height:.4rem;padding:0}.help-sections{gap:.9rem;display:grid}.help-sections h3{margin:0 0 .2rem;font-size:.95rem}.help-sections p{color:var(--muted);margin:0}.comment-fab{z-index:14;border:1px solid var(--line);background:var(--surface);width:1.75rem;height:1.75rem;color:var(--primary);box-shadow:var(--shadow);cursor:pointer;border-radius:50%;place-items:center;padding:0;animation:.15s ease-out comment-fab-in;display:grid;position:absolute;right:.75rem}.comment-fab:hover,.comment-fab:focus-visible{background:var(--primary);color:var(--primary-ink)}@keyframes comment-fab-in{0%{opacity:0;transform:scale(.85)}}.comment-popup{width:min(20rem,100% - 1rem);max-width:none}.comment-popup-scopes{flex-wrap:wrap;gap:.2rem;display:flex}button.comment-popup-scope{all:unset;cursor:pointer;border-radius:999px;padding:.1rem .45rem}button.comment-popup-scope:hover,button.comment-popup-scope:focus-visible{background:color-mix(in srgb, var(--focus) 20%, transparent)}button.comment-popup-scope[aria-pressed=true]{background:var(--primary);color:var(--primary-ink)}@media (prefers-reduced-motion:reduce){.comment-fab{animation:none}}@media (width<=36rem){.comment-popup{width:auto}}.history-panel .view-toggle{margin:0}.hist-save{align-items:stretch;gap:.4rem;display:flex}.hist-save input{box-sizing:border-box;min-width:0;height:1.9rem;font:inherit;flex:1;padding:0 .5rem;font-size:.8rem}.hist-save .btn{box-sizing:border-box;white-space:nowrap;height:1.9rem;padding-block:0}.hist-hint{color:var(--primary);margin:0;font-size:.75rem}.hist-timeline{margin:0;padding:0;list-style:none;display:grid;position:relative}.hist-timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:.6rem;bottom:.6rem;left:6px}.hist-row{border-radius:4px;align-items:flex-start;gap:.5rem;padding:.25rem .3rem .25rem 0;display:flex;position:relative}.hist-row:hover,.hist-row[data-selected=true]{background:color-mix(in srgb, var(--line) 50%, transparent)}.hist-row[data-marked=true]{background:color-mix(in srgb, var(--primary) 14%, transparent);box-shadow:inset 2px 0 0 var(--primary)}.hist-dot{box-sizing:border-box;flex:none;place-items:center;width:13px;height:13px;margin-top:.15rem;display:grid;position:relative}.hist-dot:after{content:"";box-sizing:border-box;border:2px solid var(--muted);background:var(--surface);border-radius:50%;width:9px;height:9px}.hist-row[data-named=true] .hist-dot:after{border-color:var(--primary);background:var(--primary)}.hist-main{all:unset;box-sizing:border-box;cursor:pointer;flex:1;gap:.1rem;min-width:0;display:grid}div.hist-main{cursor:default}.hist-main:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.hist-msg{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.hist-row[data-named=true] .hist-msg{color:var(--ink);font-weight:600}.hist-meta{color:var(--muted);font-size:.72rem}.hist-actions{flex:none;gap:.1rem;display:none}.hist-row:hover .hist-actions,.hist-row:focus-within .hist-actions{display:flex}@media (hover:none){.hist-actions{display:flex}}.hist-icon-btn{min-width:24px;min-height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.hist-icon-btn:hover:not(:disabled),.hist-icon-btn[aria-pressed=true]{color:var(--ink);background:var(--line)}.hist-icon-btn[data-danger]:hover:not(:disabled){color:var(--danger)}.hist-icon-btn:disabled{opacity:.4;cursor:default}.hist-changes{gap:.15rem;margin:0;padding:.1rem 0 .3rem 1.3rem;list-style:none;display:grid}.hist-changes li{align-items:center;gap:.35rem;display:flex}.hist-changes code{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.78rem;overflow:hidden}.hist-group>summary{cursor:pointer;color:var(--muted);align-items:center;gap:.5rem;padding:.25rem 0;font-size:.78rem;display:flex}.hist-group>.hist-timeline{margin-left:.4rem}.app-main:has(.dashboard){max-width:70rem;padding:2rem clamp(1rem,4vw,2.5rem) 2.5rem}.dashboard{--dashboard-hover:color-mix(in srgb, var(--primary) 7%, var(--surface));--dashboard-hover-line:color-mix(in srgb, var(--primary) 38%, var(--line));gap:1.25rem;display:grid}.dashboard-library{gap:1rem;display:grid}.dashboard-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem 1.5rem;display:flex}.dashboard-heading{align-items:baseline;gap:.8rem;min-width:0;display:flex}.dashboard-heading h1{font:600 1.9rem / 1.2 var(--font-ui);letter-spacing:-.025em;margin:0}.dashboard-count{color:var(--muted);white-space:nowrap;font-size:.82rem}.dashboard-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.search-field{color:var(--muted);align-items:center;display:flex;position:relative}.search-field svg{pointer-events:none;position:absolute;left:.65rem}.search-field input[type=search]{border:1px solid var(--line);background:var(--surface);width:16rem;min-height:2.5rem;color:var(--ink);font:inherit;border-radius:6px;padding:.45rem .75rem .45rem 2.1rem}.new-menu summary{text-align:center}.dashboard-recent{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:.85rem;padding:.8rem 1rem;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 2px 8px #00000009}.dashboard-recent:hover,.dashboard-recent:focus-visible{border-color:var(--dashboard-hover-line);background:var(--dashboard-hover);transform:translateY(-1px);box-shadow:0 7px 20px #00000014}.dashboard-recent-icon{background:color-mix(in srgb, var(--primary) 9%, var(--surface));width:2.1rem;height:2.1rem;color:var(--file-tex);border-radius:6px;flex:none;padding:.45rem;transition:background-color .16s}.dashboard-recent:hover .dashboard-recent-icon,.dashboard-recent:focus-visible .dashboard-recent-icon{background:color-mix(in srgb, var(--primary) 16%, var(--surface))}.dashboard-recent-copy{min-width:0;line-height:1.3;display:grid}.dashboard-recent-copy>span,.dashboard-recent-copy time{color:var(--muted);font-size:.75rem}.dashboard-recent-name{align-items:center;min-width:0;display:flex}.dashboard-recent-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;font-weight:600;overflow:hidden}.dashboard-recent-action{color:var(--primary);flex:none;align-items:center;gap:.35rem;margin-left:auto;font-size:.84rem;font-weight:600;display:flex}.dashboard-recent-arrow{transition:transform .16s}.dashboard-recent:hover .dashboard-recent-arrow,.dashboard-recent:focus-visible .dashboard-recent-arrow{transform:translate(3px)}.filter-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:.3rem;margin-top:.15rem;padding-bottom:2px;display:flex;overflow-x:auto}.filter-tabs::-webkit-scrollbar{display:none}.filter-tabs button{color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;flex:none;padding:.5rem .85rem;font-size:.9rem}.filter-tabs button:hover{background:var(--paper);color:var(--ink)}.filter-tabs button[aria-pressed=true]{border-bottom-color:var(--primary);color:var(--ink);background:0 0;font-weight:600}.project-table{border:1px solid var(--line);border-collapse:separate;border-spacing:0;background:var(--surface);border-radius:8px;width:100%;overflow:hidden}.project-table th,.project-table td{border-bottom:1px solid var(--line);text-align:left;padding:.8rem 1rem}.project-table th{background:color-mix(in srgb, var(--paper) 50%, var(--surface));color:var(--muted);letter-spacing:.02em;font-size:.72rem;font-weight:700}.project-table td{font-size:.88rem}.project-table tbody tr{transition:background-color .16s}.project-table tbody tr:last-child td{border-bottom:0}.project-table tbody td:first-child{border-left:3px solid #0000}.project-table tbody tr:hover,.project-table tbody tr:focus-within{background:var(--dashboard-hover)}.project-table tbody tr:hover td:first-child,.project-table tbody tr:focus-within td:first-child{border-left-color:var(--primary)}.project-link{max-width:100%;color:var(--primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.65rem;padding:0;font-size:.95rem;font-weight:600;display:inline-flex}.project-link-icon{background:color-mix(in srgb, var(--primary) 7%, var(--surface));width:1.8rem;height:1.8rem;color:var(--file-tex);border-radius:5px;flex:none;place-items:center;transition:background-color .16s;display:grid}.project-table tbody tr[data-role=reviewer] .project-link-icon,.project-table tbody tr[data-role=viewer] .project-link-icon{background:color-mix(in srgb, var(--muted) 12%, var(--surface));color:var(--muted)}.role-badge{vertical-align:middle;align-items:center;gap:.3rem;margin-left:.5rem;display:inline-flex}.role-badge[data-role=editor]{border-color:color-mix(in srgb, var(--primary) 30%, var(--line));background:color-mix(in srgb, var(--primary) 8%, var(--surface));color:var(--primary)}.role-badge[data-role=reviewer]{border-color:color-mix(in srgb, var(--mark) 40%, var(--line));background:color-mix(in srgb, var(--mark) 12%, var(--surface));color:var(--mark)}.role-badge[data-role=viewer]{border-color:var(--line);background:color-mix(in srgb, var(--muted) 10%, var(--surface));color:var(--muted)}.project-table tbody tr:hover .project-link-icon,.project-table tbody tr:focus-within .project-link-icon{background:color-mix(in srgb, var(--primary) 14%, var(--surface))}.project-link-text{min-width:0;line-height:1.25;display:grid}.project-link-text strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.project-link:hover .project-link-text strong{text-decoration:underline}.project-link-text small{color:var(--muted);margin-top:.18rem;font-size:.72rem;font-weight:400}.project-date-icon{display:none}.row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:.1rem;display:flex}.row-action-btn{border-radius:5px;transition:background-color .16s,color .16s}.row-action-btn:hover{background:color-mix(in srgb, var(--primary) 13%, var(--surface));color:var(--primary)}.dashboard-pagination{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.85rem;font-size:.82rem;display:flex}.dashboard-pagination>div{gap:.45rem;display:flex}.dashboard-pagination .btn{min-width:6rem}.dashboard-empty{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:1.75rem}.dashboard-empty h2{font:600 1.05rem / 1.4 var(--font-ui);margin:0 0 .25rem}.dashboard-empty p{color:var(--muted);margin:0 0 1rem;font-size:.9rem}.dashboard-empty-actions{flex-wrap:wrap;gap:.6rem;display:flex}.dashboard-empty-search{text-align:center}.dashboard-empty-search>svg{color:var(--muted)}.dashboard-empty-search p{margin-bottom:.5rem}.dashboard-footer{border-top:1px solid var(--line);justify-content:flex-end;padding-top:.6rem;display:flex}.fasorx-footer{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem .9rem;margin-top:1.5rem;padding-bottom:1rem;font-size:.8rem;display:flex}.fasorx-footer a{color:var(--muted);text-decoration:underline}.fasorx-footer a:hover{color:var(--ink)}.fasorx-footer-sep{opacity:.5}@media (width<=36rem){.fasorx-footer{flex-direction:column;gap:.35rem}.fasorx-footer-sep{display:none}}@media (width<=48rem){.project-table{background:0 0;border:0;border-radius:0;display:block;overflow:visible}.project-table thead{display:none}.project-table tbody{gap:.6rem;display:grid}.project-table tbody tr{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:.55rem .5rem;padding:.85rem 1rem;display:grid}.project-table tbody tr:hover,.project-table tbody tr:focus-within{border-color:var(--dashboard-hover-line);box-shadow:0 4px 12px #0000000f}.project-table td{border-bottom:0;min-width:0;padding:0}.project-table tbody td:first-child{border-left:0;grid-column:1/-1}.project-table td[data-label]{color:var(--muted);grid-column:1;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.project-date-icon{flex:none;display:block}.project-table .row-actions-cell{grid-column:2}}@media (width<=36rem){.app-main:has(.dashboard){padding:1.25rem 1rem 2rem}.dashboard-toolbar{flex-direction:column;align-items:stretch}.dashboard-controls{align-items:stretch}.search-field{flex:100%}.search-field input[type=search],.new-menu,.new-menu summary.btn{width:100%}.filter-tabs{border-bottom:0;flex-wrap:wrap;gap:.4rem;overflow-x:visible}.filter-tabs button{border:1px solid var(--line);border-radius:999px;padding:.4rem .75rem;font-size:.82rem}.filter-tabs button[aria-pressed=true]{border-color:var(--primary)}}@media (prefers-reduced-motion:reduce){.dashboard-recent,.dashboard-recent-icon,.dashboard-recent-arrow,.project-table tbody tr,.project-link-icon,.row-action-btn{transition:none}.dashboard-recent:hover,.dashboard-recent:focus-visible,.dashboard-recent:hover .dashboard-recent-arrow,.dashboard-recent:focus-visible .dashboard-recent-arrow{transform:none}}
