:root{--navy:#082768;--navy-deep:#071a4d;--violet:#7351ff;--violet-deep:#5a23ee;--ground:#f7f7f9;--ground-2:#efeff2;--panel:#fff;--ink:#1a1f36;--ink-soft:#5b6178;--hairline:#e2e2e8;--error:#c62842;--advisory:#9a6b00;--editor-font:.92rem;--ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}:root[data-theme=dark]{--navy:#b9c4f2;--navy-deep:#060d28;--violet:#8f75ff;--violet-deep:#a892ff;--ground:#0d1330;--ground-2:#131a3d;--panel:#182048;--ink:#e7eaf8;--ink-soft:#9aa3cc;--hairline:#2a3260;--error:#ff7d97;--advisory:#e0b34d}*{box-sizing:border-box;margin:0}html,body{height:100%}body{font-family:var(--ui);background:var(--ground);color:var(--ink);flex-direction:column;display:flex}header{border-bottom:1px solid var(--hairline);background:color-mix(in srgb, var(--ground) 80%, var(--panel));justify-content:space-between;align-items:center;padding:.65rem 1.25rem;display:flex}.brand{align-items:center;gap:.55rem;display:flex}.brand .home{align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.mark{height:1.5rem;display:block}.wordmark{font:700 1.15rem var(--ui);letter-spacing:-.01em;background:linear-gradient(120deg, var(--violet), var(--navy));color:#0000;-webkit-background-clip:text;background-clip:text;margin-right:.4rem}.project{font:500 .85rem var(--ui);color:var(--ink);border:1px solid var(--hairline);background:var(--panel);-webkit-appearance:none;appearance:none;cursor:pointer;border-radius:8px;padding:.3rem .7rem;box-shadow:0 1px 2px #0812330d}.project svg:first-child{color:var(--violet)}.project:hover{color:var(--navy);border-color:color-mix(in srgb, var(--violet) 40%, var(--hairline))}.project{align-items:center;gap:.4rem;display:inline-flex}#library{z-index:100;background:color-mix(in srgb, var(--navy-deep) 32%, transparent);backdrop-filter:blur(3px);place-items:start center;padding-top:9vh;display:grid;position:fixed;inset:0}#library[hidden]{display:none}.library-card{background:var(--ground);border:1px solid var(--hairline);border-radius:14px;flex-direction:column;width:min(660px,100vw - 2rem);max-height:76vh;display:flex;overflow:hidden;box-shadow:0 24px 80px #07103366}.library-head{border-bottom:1px solid var(--hairline);background:var(--panel);align-items:center;display:flex}#library-search{font:.95rem var(--ui);color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:.85rem 1rem}#library-close{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:0 1rem}#library-close:hover{color:var(--error)}#library-tags{flex-wrap:wrap;gap:.35rem;padding:.6rem 1rem 0;display:flex}#library-tags:empty{display:none}.lib-tag{font:500 .72rem var(--ui);border:1px solid var(--hairline);background:var(--panel);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:.18rem .6rem}.lib-tag.active{background:color-mix(in srgb, var(--violet) 12%, var(--panel));color:var(--violet-deep);border-color:color-mix(in srgb, var(--violet) 40%, var(--hairline))}#library-list{flex-direction:column;gap:.4rem;min-height:8rem;padding:.6rem;display:flex;overflow-y:auto}.lib-empty{text-align:center;color:var(--ink-soft);font:.85rem var(--ui);padding:1.4rem}.lib-row{background:var(--panel);border:1px solid var(--hairline);cursor:pointer;border-radius:10px;align-items:center;gap:.8rem;padding:.55rem .65rem;transition:box-shadow .15s,border-color .15s;display:flex}.lib-row:hover{border-color:color-mix(in srgb, var(--violet) 40%, var(--hairline));box-shadow:0 3px 14px #08123318}.lib-row.current{border-color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet)}.lib-thumb{background:var(--ground-2);border:1px solid var(--hairline);border-radius:5px;flex:none;place-items:center;width:46px;height:60px;display:grid;overflow:hidden}.lib-thumb img{object-fit:cover;width:100%;height:100%}.lib-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.lib-name{font:600 .92rem var(--ui);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lib-rename,.lib-taginput{font:.85rem var(--ui);border:1px solid color-mix(in srgb, var(--violet) 45%, var(--hairline));border-radius:6px;outline:none;padding:.15rem .4rem}.lib-sub{font:.72rem var(--ui);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.lib-chip{background:color-mix(in srgb, var(--violet) 9%, var(--panel));color:var(--violet-deep);border:1px solid color-mix(in srgb, var(--violet) 20%, var(--hairline));cursor:pointer;border-radius:999px;padding:.1rem .5rem}.lib-chip:hover{text-decoration:line-through}.lib-addtag{border:1px dashed var(--hairline);color:var(--ink-soft);font:.7rem var(--ui);cursor:pointer;background:0 0;border-radius:999px;padding:.08rem .45rem}.lib-addtag:hover{color:var(--violet-deep);border-color:color-mix(in srgb, var(--violet) 45%, var(--hairline))}.lib-actions{opacity:0;gap:.35rem;transition:opacity .15s;display:flex}.lib-row:hover .lib-actions{opacity:1}.lib-actions button{font:600 .7rem var(--ui);border:1px solid var(--hairline);background:var(--panel);color:var(--navy);cursor:pointer;border-radius:6px;padding:.26rem .55rem}.lib-actions button.danger{color:var(--error)}.lib-actions button.danger.confirm{background:var(--error);color:#fff;border-color:var(--error)}.library-actions{flex-wrap:wrap;gap:.5rem;padding:.7rem 1rem .2rem;display:flex}.library-actions button{font:600 .78rem var(--ui);border:1px solid var(--hairline);background:var(--panel);color:var(--navy);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.38rem .75rem;display:inline-flex}.library-actions button:hover{border-color:color-mix(in srgb, var(--violet) 45%, var(--hairline));color:var(--violet-deep)}.library-actions #lib-new{background:linear-gradient(135deg, var(--violet), var(--violet-deep));color:#fff;border:0}.library-actions #lib-new:hover{color:#fff}.library-foot{border-top:1px solid var(--hairline);background:var(--panel);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem 1rem .75rem;display:flex}#library-templates{align-items:center;gap:.4rem;display:flex}.lib-foot-label{font:500 .72rem var(--ui);color:var(--ink-soft)}.lib-template{font:600 .74rem var(--ui);border:1px solid var(--hairline);background:var(--ground);color:var(--navy);cursor:pointer;border-radius:6px;padding:.26rem .6rem}.lib-template:hover{border-color:color-mix(in srgb, var(--violet) 45%, var(--hairline));color:var(--violet-deep)}.library-foot-actions{gap:.4rem;display:flex}.library-foot-actions button{font:600 .76rem var(--ui);border:1px solid var(--hairline);background:var(--panel);color:var(--navy);cursor:pointer;border-radius:7px;padding:.32rem .7rem}.library-foot-actions button:hover{border-color:color-mix(in srgb, var(--violet) 45%, var(--hairline));color:var(--violet-deep)}#lib-new{background:linear-gradient(135deg, var(--violet), var(--violet-deep));color:#fff;border:0}#lib-new:hover{color:#fff}.header-right{align-items:center;gap:.9rem;display:flex}#coverage{align-items:center;gap:.45rem;display:flex}.coverage-track{background:var(--ground-2);border:1px solid var(--hairline);border-radius:999px;width:4.2rem;height:.32rem;overflow:hidden}#coverage-fill{background:linear-gradient(90deg, var(--violet), var(--navy));border-radius:999px;width:0;height:100%;transition:width .35s}#coverage-pct{font:600 .72rem var(--ui);font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap;min-width:4.6rem}.export-group{display:inline-flex;position:relative}#export{font:600 .78rem var(--ui);border:1px solid var(--hairline);background:var(--panel);color:var(--navy);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.32rem .7rem;transition:border-color .15s,box-shadow .15s;display:inline-flex}#export:hover{border-color:color-mix(in srgb, var(--violet) 45%, var(--hairline));box-shadow:0 2px 8px #5a23ee1f}#export{border-radius:8px 0 0 8px}#export-more{border:1px solid var(--hairline);background:var(--panel);color:var(--ink-soft);cursor:pointer;border-left:0;border-radius:0 8px 8px 0;place-items:center;padding:0 .4rem;display:grid}#export-more:hover{color:var(--violet-deep);border-color:color-mix(in srgb, var(--violet) 45%, var(--hairline))}#export-menu{z-index:30;background:var(--panel);border:1px solid var(--hairline);border-radius:10px;flex-direction:column;min-width:14rem;padding:.25rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 8px 28px #08123326}#export-menu[hidden]{display:none}#export-menu button{font:500 .76rem var(--ui);text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.4rem .6rem}#export-menu button:hover{background:color-mix(in srgb, var(--violet) 9%, transparent);color:var(--violet-deep)}#status{background:var(--ink-soft);border-radius:50%;width:.7rem;height:.7rem;transition:background .2s,box-shadow .2s}#status[data-state=checking],#status[data-state=starting]{background:var(--violet);box-shadow:0 0 0 4px color-mix(in srgb, var(--violet) 18%, transparent)}#status[data-state=clean]{background:#2e9e5b}#status[data-state=errors]{background:var(--error)}#status[data-state=broken]{background:var(--error);box-shadow:0 0 0 4px #c6284233}main{grid-template-columns:var(--rail-width,13rem) 6px minmax(0, 1fr) 6px minmax(16rem, var(--pdf-width,45%));flex:1;min-height:0;display:grid}#divider{cursor:col-resize;background:var(--hairline);transition:background .15s}#divider:hover,#divider.dragging{background:var(--violet)}#rail-divider{cursor:col-resize;background:var(--hairline);transition:background .15s}#rail-divider:hover,#rail-divider.dragging{background:var(--violet)}main.rail-collapsed #rail-divider{cursor:default}nav#files{border-right:1px solid var(--hairline);background:var(--ground-2);flex-direction:column;gap:.35rem;min-height:0;padding:.5rem .4rem;display:flex;overflow:hidden}.rail-head{justify-content:space-between;align-items:center;padding:.1rem .2rem .1rem .55rem;display:flex}.rail-title{font:600 .68rem var(--ui);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft)}#rail-toggle{width:1.5rem;height:1.5rem;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;transition:transform .2s,background .15s;display:grid}#rail-toggle:hover{background:color-mix(in srgb, var(--violet) 10%, transparent)}main.rail-collapsed{--rail-width:2.4rem}main.rail-collapsed .rail-title,main.rail-collapsed #file-tree,main.rail-collapsed .outline-head,main.rail-collapsed #outline,main.rail-collapsed #identities{display:none}main.rail-collapsed .rail-head{justify-content:center;padding:.1rem 0}main.rail-collapsed #rail-toggle{transform:rotate(180deg)}#file-tree{flex:none;min-height:0;max-height:45%;overflow-y:auto}.outline-head{border-top:1px solid var(--hairline);margin-top:.4rem;padding-top:.5rem}#outline{flex:1;min-height:0;overflow-y:auto}#outline:empty:after{content:"No sections in this file.";font:.72rem var(--ui);color:color-mix(in srgb, var(--ink-soft) 70%, transparent);padding:.3rem .55rem;display:block}#outline button{width:100%;padding:.28rem .5rem;padding-left:calc(.55rem + var(--depth,0) * .8rem);color:var(--ink-soft);font:.78rem var(--ui);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:.45rem;display:flex}#outline button:hover{background:color-mix(in srgb, var(--violet) 8%, transparent);color:var(--navy)}#outline .tick{background:color-mix(in srgb, var(--violet) 45%, transparent);border-radius:2px;flex:none;width:3px;height:.85em}#outline button[style*="--depth: 0"]{color:var(--ink);font-weight:600}#outline button[style*="--depth: 0"] .tick{background:var(--violet)}#outline .label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#file-tree .label{font:.8rem var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#file-tree summary,#file-tree .tree-file{width:100%;padding:.32rem .5rem;padding-left:calc(.5rem + var(--depth,0) * .85rem);color:var(--ink);cursor:pointer;user-select:none;background:0 0;border:0;border-radius:6px;align-items:center;gap:.4rem;list-style:none;display:flex}#file-tree .tree-file .icon{color:var(--ink-soft)}#file-tree .tree-file[data-file$=\.xtex] .icon,#file-tree .tree-file[data-file$=\.tex] .icon{color:var(--violet)}#file-tree .tree-file:not(:disabled):hover .label{text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--violet) 55%, transparent);text-underline-offset:3px}#file-tree summary::-webkit-details-marker{display:none}#file-tree summary:hover,#file-tree .tree-file:not(:disabled):hover{background:color-mix(in srgb, var(--violet) 8%, transparent)}#file-tree .twist{place-items:center;transition:transform .15s;display:grid}#file-tree details:not([open])>summary .twist{transform:rotate(0)}#file-tree details[open]>summary .twist{transform:rotate(90deg)}#file-tree .icon{place-items:center;display:grid}#file-tree .icon.folder{color:var(--violet)}#file-tree summary .label{font-family:var(--ui);color:var(--ink);font-size:.8rem;font-weight:550}#file-tree .tree-file{padding-left:calc(.5rem + var(--depth,0) * .85rem + 1.05rem)}#file-tree .tree-file.active{background:var(--panel);color:var(--navy);box-shadow:0 1px 2px #0812331a}#file-tree .tree-file.active .label{font-weight:600}#file-tree .tree-file.asset{opacity:.55;cursor:default}#file-tree .tree-file.has-errors .label,#file-tree .tree-file.has-errors .icon{color:var(--error)}.rel-badge{border:1.6px solid var(--violet);background:0 0;border-radius:50%;flex:none;width:.55rem;height:.55rem;margin-left:auto}.err-badge{font:700 .62rem var(--ui);color:#fff;background:var(--error);text-align:center;border-radius:999px;flex:none;min-width:1.05rem;margin-left:auto;padding:.06rem .28rem}.editor-zone{background:var(--panel);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}#editor{flex:1;min-height:0}#problems{border-top:1px solid var(--hairline);background:var(--ground);flex-direction:column;display:flex}#problems[hidden]{display:none}#problems-bar{font:500 .8rem var(--ui);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem .9rem;display:flex}#problems-bar:hover{background:color-mix(in srgb, var(--violet) 5%, transparent)}#problems-bar .chevron{color:var(--ink-soft);transition:transform .2s}#problems.open .chevron{transform:rotate(180deg)}#problems-summary{align-items:center;gap:.55rem;display:flex}.count{align-items:center;gap:.3rem;display:inline-flex}.count:before{content:"";background:var(--ink-soft);border-radius:50%;width:.5rem;height:.5rem}.count.errors:before{background:var(--error)}.count.clean{color:color-mix(in srgb, var(--ink-soft) 75%, transparent);font-weight:400}.count.clean:before{opacity:.6;background:#2e9e5b}.count.advisories:before{background:var(--advisory)}.count.tex-notes:before{background:var(--navy)}#problems-list{flex-direction:column;gap:.4rem;max-height:0;padding:0 .6rem;transition:max-height .22s;display:flex;overflow-y:auto}#problems.open #problems-list{max-height:30vh;padding:.15rem .6rem .6rem}#editor,.editor-zone{position:relative}#editor-toolbar{border-bottom:1px solid var(--hairline);background:var(--ground);justify-content:space-between;align-items:center;gap:.6rem;padding:.4rem .75rem;display:flex}.toolbar-right{align-items:center;gap:.35rem;display:flex}.tb-sep{background:var(--hairline);width:1px;height:1.1rem;margin:0 .25rem}.tb{min-width:1.7rem;height:1.7rem;font:600 .72rem var(--ui);border:1px solid var(--hairline);background:var(--panel);color:var(--ink-soft);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0 .4rem;display:inline-flex}.tb:hover{color:var(--violet-deep);border-color:color-mix(in srgb, var(--violet) 40%, var(--hairline))}.root-wrap{position:relative}#root-pick{font:500 .76rem var(--mono);border:1px solid var(--hairline);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;padding:.28rem .55rem;display:inline-flex}#root-pick:hover{border-color:color-mix(in srgb, var(--violet) 40%, var(--hairline))}#root-pick svg:first-child{color:var(--violet)}#root-menu{z-index:40;background:var(--panel);border:1px solid var(--hairline);border-radius:9px;flex-direction:column;min-width:12rem;padding:.25rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 8px 28px #08123326}#root-menu[hidden]{display:none}#root-menu button{font:500 .76rem var(--mono);text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.35rem .55rem}#root-menu button:hover{background:color-mix(in srgb, var(--violet) 9%, transparent);color:var(--violet-deep)}#root-menu button.on{color:var(--violet-deep);font-weight:700}#mode-toggle{background:var(--panel);border:1px solid var(--hairline);border-radius:7px;padding:1px;display:inline-flex}#mode-toggle button{font:500 .7rem var(--ui);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:.2rem .5rem}#mode-toggle button.active{background:color-mix(in srgb, var(--violet) 12%, var(--panel));color:var(--violet-deep);font-weight:600}.editor-zone.suggesting #editor{box-shadow:inset 3px 0 0 color-mix(in srgb, var(--violet) 45%, transparent)}.editor-zone.suggesting .cm-cursor{border-left-color:var(--violet)}.suggest-bubble{z-index:20;background:var(--panel);border:1px solid var(--hairline);border-radius:8px;gap:2px;padding:3px;display:flex;position:absolute;box-shadow:0 6px 24px #08123322}.suggest-bubble button{font:600 .72rem var(--ui);color:var(--navy);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:.3rem .55rem}.suggest-bubble button:hover{background:color-mix(in srgb, var(--violet) 10%, var(--panel))}.suggest-bubble button.danger{color:var(--error)}.suggest-bubble button.danger:hover{background:color-mix(in srgb, var(--error) 8%, var(--panel))}.suggest-bubble input{font:.76rem var(--ui);border:0;outline:none;width:15rem;padding:.3rem .45rem}.bubble-note{font:.72rem var(--ui);color:var(--ink-soft);max-width:16rem;padding:.3rem .5rem}.rev-reply{font:.74rem var(--ui);border:1px solid var(--hairline);border-radius:6px;outline:none;width:100%;padding:.28rem .45rem}.rev-reply:focus{border-color:color-mix(in srgb, var(--violet) 50%, var(--hairline))}#editor.with-margin .cm-content{padding-right:17rem}#margin-notes{pointer-events:none;z-index:5;width:16.5rem;position:absolute;top:0;bottom:0;right:0;overflow:hidden}#editor.with-margin #margin-notes{background:color-mix(in srgb, var(--violet) 4%, var(--ground-2));border-left:1px solid color-mix(in srgb, var(--violet) 14%, var(--hairline))}#margin-notes .rev{pointer-events:auto;width:auto;position:absolute;left:.55rem;right:.55rem}.editor-zone.suggesting #margin-notes:empty:before{content:"Suggesting is on — select text to propose an edit or a deletion; every change is signed in the sidecar.";font:.74rem var(--ui);color:color-mix(in srgb, var(--violet-deep) 70%, var(--ink-soft));margin:.85rem .7rem;line-height:1.5;display:block}.rev{background:var(--panel);border:1px solid var(--hairline);border-left:3px solid var(--violet);cursor:pointer;border-radius:8px;flex-direction:column;gap:.3rem;padding:.45rem .55rem;display:flex}.rev:hover{box-shadow:0 2px 10px #0812331a}.rev.under{border-left-color:var(--hairline);left:1.35rem!important}.rev.del{border-left-color:var(--error)}.rev.add{border-left-color:#2e9e5b}.rev-top{align-items:center;gap:.45rem;display:flex}.rev-kind{font:700 .58rem var(--ui);letter-spacing:.08em;color:#fff;background:var(--violet);border-radius:4px;padding:.1rem .35rem}.rev-kind.del{background:var(--error)}.rev-kind.add{background:#2e9e5b}.rev-kind.note{background:var(--ink-soft)}.rev-author{font:.68rem var(--ui);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rev-text{font:.74rem var(--mono);color:var(--ink);overflow-wrap:anywhere;line-height:1.45}.rev-actions{gap:.35rem;display:flex}.rev-actions button{font:600 .68rem var(--ui);border:1px solid var(--hairline);background:var(--ground);color:var(--navy);cursor:pointer;border-radius:6px;padding:.22rem .55rem}.rev-actions button:hover{background:color-mix(in srgb, var(--violet) 10%, var(--panel))}.rev-actions button.danger{color:var(--error)}.rev-actions button.danger:hover{background:color-mix(in srgb, var(--error) 8%, var(--panel))}#view-segment{background:var(--panel);border:1px solid var(--hairline);border-radius:7px;padding:1px;display:inline-flex}#view-segment[hidden]{display:none}#view-segment button{font:500 .72rem var(--ui);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:.3rem;padding:.24rem .55rem;display:inline-flex}#view-segment button svg{flex:none}#view-segment button:hover{color:var(--navy)}#view-segment button.active{background:color-mix(in srgb, var(--violet) 12%, var(--panel));color:var(--violet-deep);font-weight:600}.diag-related{font:.76rem var(--ui);color:var(--violet-deep);cursor:pointer;margin-top:.3rem}.diag-related:hover{text-decoration:underline}#identities{flex:none;min-height:0;max-height:30%;overflow-y:auto}.identity{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:.45rem;width:100%;padding:.3rem .55rem;display:flex}.identity:hover{background:color-mix(in srgb, var(--violet) 8%, transparent)}.identity .id-class{font:700 .58rem var(--ui);letter-spacing:.05em;text-transform:uppercase;color:var(--violet-deep);background:color-mix(in srgb, var(--violet) 10%, var(--panel));border:1px solid color-mix(in srgb, var(--violet) 22%, var(--hairline));text-align:center;border-radius:4px;flex:none;min-width:2rem;padding:.08rem .3rem}.identity .label{font:.78rem var(--mono);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.identity .id-count{font:600 .7rem var(--ui);font-variant-numeric:tabular-nums;color:var(--ink-soft);margin-left:auto}.identity .id-count.unused{color:var(--advisory)}.bib-dot{border-radius:50%;flex:none;width:.55rem;height:.55rem;margin-left:auto}.bib-dot.complete{background:#2e9e5b}.bib-dot.unavailable{background:var(--ink-soft);opacity:.55}.ref-lens{font:600 .62rem var(--ui);color:var(--violet-deep);background:color-mix(in srgb, var(--violet) 9%, transparent);vertical-align:middle;border-radius:4px;margin-left:.3rem;padding:.05rem .28rem}#pdf .pick:after{content:attr(data-source);font:600 .62rem var(--ui);color:#fff;background:color-mix(in srgb, var(--violet-deep) 88%, black);white-space:nowrap;border-radius:4px;padding:.08rem .35rem;position:absolute;bottom:calc(100% + 3px);left:0}#pdf .pick[data-source=""]:after{display:none}aside#pdf-pane{border-left:1px solid var(--hairline);background:var(--ground-2);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.pdf-bar{border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem .4rem;padding:.45rem .6rem;display:flex}#pdf-toolbar{z-index:12;backdrop-filter:blur(10px);border:1px solid var(--hairline);background:#ffffffd1;border-radius:999px;align-items:center;gap:.4rem;max-width:calc(100% - 1.6rem);margin:.5rem auto -2.9rem;padding:.3rem .45rem;display:none;position:relative;box-shadow:0 8px 28px #08123326}aside#pdf-pane.has-pdf #pdf-toolbar{display:flex}#zoom-menu{background:var(--panel);border:1px solid var(--hairline);border-radius:10px;flex-direction:column;min-width:6.5rem;padding:.25rem;display:flex;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);box-shadow:0 8px 28px #08123326}#zoom-menu[hidden]{display:none}#zoom-menu button{font:500 .74rem var(--ui);text-align:left;color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:6px;padding:.32rem .6rem}#zoom-menu button:hover{background:color-mix(in srgb, var(--violet) 9%, transparent);color:var(--violet-deep)}#zoom-menu button:first-child{border-bottom:1px solid var(--hairline);border-radius:6px 6px 0 0;margin-bottom:.15rem}.ctl-group{border-radius:999px;align-items:center;gap:1px;padding:1px;display:inline-flex}.ctl-group+.ctl-group{border-left:1px solid var(--hairline);padding-left:.4rem}.ctl{min-width:1.55rem;height:1.55rem;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.ctl:hover{background:color-mix(in srgb, var(--violet) 9%, transparent);color:var(--navy)}.ctl-read{font:500 .72rem var(--ui);font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap;padding:0 .3rem}#page-input{text-align:right;background:0 0;border:0;outline:none;width:2rem;padding:0}#page-input:focus{color:var(--navy)}#page-total{padding-left:0}.ctl-group.search{flex:0 10rem;gap:.35rem;min-width:4rem;padding:1px .3rem 1px .55rem}.ctl-group.search .lens{color:var(--ink-soft);flex:none}#pdf-search{width:3.2rem;height:1.55rem;font:.76rem var(--ui);color:var(--ink);background:0 0;border:0;outline:none;transition:width .18s}#pdf-search:focus,#pdf-search:not(:placeholder-shown){width:8.5rem}#pdf-search::placeholder{color:color-mix(in srgb, var(--ink-soft) 65%, transparent)}#auto-toggle{font:600 .82rem var(--ui);border:1px solid var(--hairline);background:var(--panel);color:var(--ink-soft);cursor:pointer;border-radius:8px;margin-left:auto;padding:.45rem .8rem}#auto-toggle.active{color:var(--violet-deep);border-color:color-mix(in srgb, var(--violet) 45%, var(--hairline));background:color-mix(in srgb, var(--violet) 8%, var(--panel))}#compile{white-space:nowrap;min-width:7.2rem;font:600 .82rem var(--ui);color:#fff;background:linear-gradient(135deg, var(--violet), var(--violet-deep));cursor:pointer;border:0;border-radius:8px;margin-left:0;padding:.45rem .9rem;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #5a23ee33}#compile:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #5a23ee44}#compile:disabled{opacity:.7;cursor:progress}.pdf-empty{color:var(--ink-soft);flex:1;place-items:center;font-size:.85rem;display:grid}#pdf{flex:1;padding:12px;display:none;overflow-y:auto}#pdf .page{background:var(--panel);border-radius:3px;margin:0 auto 12px;position:relative;overflow:hidden;box-shadow:0 2px 12px #08123326}#pdf canvas{display:block}#pdf .hit{background:color-mix(in srgb, var(--violet) 22%, transparent);pointer-events:none;border-radius:2px;position:absolute}#pdf .pick{background:color-mix(in srgb, var(--violet) 13%, transparent);outline:1.5px dashed color-mix(in srgb, var(--violet) 65%, transparent);pointer-events:none;border-radius:2px;position:absolute}#pdf .hit.here{background:color-mix(in srgb, var(--violet) 38%, transparent);outline:1.5px solid var(--violet)}aside#pdf-pane.has-pdf .pdf-empty,#pdf-loading{display:none}aside#pdf-pane.loading:not(.has-pdf) #pdf-loading{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.9rem;display:flex}aside#pdf-pane.loading:not(.has-pdf) .pdf-empty{display:none}.brace-load{align-items:center;gap:.55rem;display:flex}.brace-load .brace{font:700 3.4rem/1 var(--ui);background:linear-gradient(135deg, var(--violet), var(--navy));color:#0000;-webkit-background-clip:text;background-clip:text;animation:2.2s ease-in-out infinite brace-breathe}.brace-load .brace:last-child{animation-delay:1.1s}.brace-load i{background:var(--violet);border-radius:50%;width:.55rem;height:.55rem;animation:1.5s ease-in-out infinite dot-set}.brace-load i:nth-child(3){animation-delay:.25s}.brace-load i:nth-child(4){animation-delay:.5s}@keyframes brace-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes dot-set{0%,70%,to{opacity:.18;transform:translateY(0)}25%{opacity:1;transform:translateY(-3px)}}.load-word{font:500 .8rem var(--ui);color:var(--ink-soft);letter-spacing:.02em;text-align:center;overflow-wrap:anywhere;max-width:22rem}@media (prefers-reduced-motion:reduce){.brace-load .brace,.brace-load i{animation:none}.brace-load i{opacity:.6}}#pdf-stale{min-width:0;font:500 .72rem var(--ui);color:var(--error);background:color-mix(in srgb, var(--error) 8%, var(--panel));border:1px solid color-mix(in srgb, var(--error) 25%, var(--hairline));white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:999px;margin:0 auto;padding:.26rem .7rem;overflow:hidden}#pdf-stale:hover{text-decoration:underline}#pdf-stale[hidden]{display:none}aside#pdf-pane.stale #pdf{filter:grayscale(.5)opacity(.65)}aside#pdf-pane.has-pdf #pdf{display:block}.cm-editor{height:100%;font-size:var(--editor-font)}.cm-editor.cm-focused{outline:none}.cm-content{font-family:var(--mono);padding:1rem .5rem;line-height:1.75}.cm-gutters{background:var(--panel);color:color-mix(in srgb, var(--ink-soft) 55%, transparent);font-family:var(--mono);border:0}.cm-activeLine{background:color-mix(in srgb, var(--violet) 4%, transparent)}.tok-keyword{color:var(--violet-deep);font-weight:600}.tok-tag{color:var(--navy)}.tok-comment{color:color-mix(in srgb, var(--ink-soft) 75%, transparent);font-style:italic}.tok-string{color:#0f7b6c}:root[data-theme=dark] .tok-string{color:#5fd4b0}.tok-labelName{color:var(--navy);font-weight:600}.tok-propertyName{color:#8250df}:root[data-theme=dark] .tok-propertyName{color:#c5a8ff}.tok-paren{color:#9aa0b4}.tok-typeName{color:var(--navy)}.cm-editor .cm-tooltip,.cm-tooltip{border-radius:8px;overflow:hidden;box-shadow:0 6px 24px #08123314;border:1px solid var(--hairline)!important;background:var(--panel)!important}.xtex-hover{font:.8rem var(--mono);color:var(--ink);border-left:3px solid var(--violet);max-width:26rem;padding:.55rem .7rem;line-height:1.55}.xtex-hover div:first-child{color:var(--violet-deep);font-weight:600}.xtex-error{text-decoration:underline wavy var(--error) 1.5px;text-underline-offset:3px;background:color-mix(in srgb, var(--error) 16%, transparent);border-radius:2px}.cm-line.xtex-error-line{background:color-mix(in srgb, var(--error) 7%, transparent);box-shadow:inset 3px 0 0 var(--error)}.cm-line.xtex-advisory-line{background:color-mix(in srgb, var(--advisory) 7%, transparent);box-shadow:inset 3px 0 0 var(--advisory)}.xtex-pending{background:color-mix(in srgb, var(--violet) 22%, transparent);outline:1px solid color-mix(in srgb, var(--violet) 40%, transparent);border-radius:2px}.xtex-advisory{text-decoration:underline wavy var(--advisory) 1.5px;text-underline-offset:3px;background:color-mix(in srgb, var(--advisory) 14%, transparent);border-radius:2px}.diag.tex{border-left-color:var(--navy)}.diag{background:var(--panel);border:1px solid var(--hairline);border-left:3px solid var(--ink-soft);border-radius:8px;padding:.6rem .75rem;font-size:.84rem;line-height:1.5}.diag.error{border-left-color:var(--error)}.diag.advisory{border-left-color:var(--advisory)}.diag.quiet{color:var(--ink-soft);border-left-color:var(--hairline)}.diag.clickable{cursor:pointer;transition:box-shadow .15s,transform .15s}.diag.clickable:hover{transform:translateY(-1px);box-shadow:0 3px 12px #0812331f}.diag .code{font:.7rem var(--mono);color:var(--ink-soft);margin-bottom:.15rem;display:block}.diag .headline{margin-bottom:.1rem;font-weight:600}.diag .detail{font:.76rem var(--mono);color:var(--ink-soft);overflow-wrap:anywhere}
