@font-face{font-family:Inter Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-ui:"Inter Variable",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;--font-code:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,"Liberation Mono","PingFang SC",monospace;--bg:#f1f0eb;--panel:#f8f7f3;--surface:#fff;--raised:#fff;--canvas:#e5e4dd;--line:#e3e1d9;--line-subtle:#eeece6;--line-strong:#d2d0c6;--text:#1b1d21;--text-2:#565b64;--text-3:#666b74;--hover:#1b1d210b;--active:#1b1d210f;--press:#1b1d2117;--line-hl:#f7f6ef;--ok:#1a7841;--warn:#a65109;--err:#c4352a;--ok-soft:#e6f1e9;--err-soft:#fbeeec;--warn-soft:#fbf2e4;--ink:#1b1d21;--ink-on:#fff;--veil:#14120c5c;--tip:#25272d;--tip-ink:#f2f3f5;--shadow-1:0 1px 2px #1e1b1217;--shadow:0 1px 2px #1e1b120f,0 10px 28px #1e1b121f;--shadow-3:0 2px 4px #1e1b120f,0 24px 56px #1e1b1233;--shadow-inset:inset 0 1px 3px #1e1b1212,inset 0 0 0 1px #1e1b1205;--paper-shadow:0 0 0 1px #0000000e,0 1px 1.5px #00000012,0 4px 10px -2px #1e1b1214,0 14px 34px -10px #1e1b1229;--s-cmd:#2456c4;--s-kw:#8b2fb0;--s-env:#ad4f0c;--s-math:#0b6e62;--s-mcmd:#1a7a9a;--s-com:#666b74;--s-br:#666b74;--s-op:#c2410c;--s-verb:#565b64}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1013;--panel:#15171b;--surface:#1a1d22;--raised:#21242b;--canvas:#0a0b0d;--line:#272a31;--line-subtle:#1f2228;--line-strong:#383c46;--text:#e8e9ed;--text-2:#a8adb8;--text-3:#8f95a1;--hover:#ffffff0d;--active:#ffffff13;--press:#ffffff1c;--line-hl:#20232a;--ok:#4cc38a;--warn:#f0a04b;--err:#ff7066;--ok-soft:#15281e;--err-soft:#2c1b1c;--warn-soft:#2a2217;--ink:#e8e9ed;--ink-on:#14161a;--veil:#0000008c;--tip:#31353e;--tip-ink:#f2f3f5;--shadow-1:0 1px 2px #00000080;--shadow:0 1px 2px #0006,0 12px 32px #00000080;--shadow-3:0 2px 6px #00000080,0 28px 64px #0009;--shadow-inset:inset 0 1px 4px #00000073;--paper-shadow:0 0 0 1px #ffffff0a,0 1px 2px #00000080,0 6px 16px -4px #00000080,0 18px 40px -12px #0009;--s-cmd:#82aaff;--s-kw:#c792ea;--s-env:#f0a36b;--s-math:#7fdbca;--s-mcmd:#89ddff;--s-com:#8f95a1;--s-br:#8f95a1;--s-op:#ff9d6c;--s-verb:#a8adb8}:root,[data-accent=bolt]{--accent:#f5b800;--accent-ink:#1b1d21;--accent-text:#865a00;--accent-bright:#ffcd3c}[data-accent=indigo]{--accent:#5b5fe0;--accent-ink:#fff;--accent-text:#4a4ecf;--accent-bright:#a3a6ff}[data-accent=teal]{--accent:#0d9488;--accent-ink:#fff;--accent-text:#0b7a70;--accent-bright:#4fd8c9}[data-accent=rose]{--accent:#e03e74;--accent-ink:#fff;--accent-text:#c42c60;--accent-bright:#ff8fb3}[data-theme=dark][data-accent=bolt]{--accent:#ffcd3c;--accent-text:#ffcd3c}[data-theme=dark][data-accent=indigo]{--accent:#8a8dfa;--accent-ink:#101114;--accent-text:#a3a6ff}[data-theme=dark][data-accent=teal]{--accent:#2fc7b7;--accent-ink:#101114;--accent-text:#4fd8c9}[data-theme=dark][data-accent=rose]{--accent:#ff6f9c;--accent-ink:#101114;--accent-text:#ff8fb3}:root{--r-1:4px;--r-2:6px;--r-3:9px;--r-4:12px;--fs-1:11px;--fs-2:12px;--fs-3:13px;--fs-4:15px;--fs-5:18px;--t-press:90ms;--t-pop:.14s;--t-panel:.2s;--t-page:.32s;--ease:cubic-bezier(.2,0,0,1);--spring:linear(0,.36 9%,.74 19%,1.03 30.5%,1.11 38%,1.1 45%,1.02 59%,.99 72%,1)}html,body{height:100%}body{background:var(--bg);margin:0;overflow:hidden}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{--accent-soft:color-mix(in srgb,var(--accent) 17%,transparent);--select:color-mix(in srgb,var(--accent) 32%,transparent);--halo:color-mix(in srgb,var(--accent) 30%,transparent);--focus-ring:inset 0 0 0 1.5px var(--accent-text),0 0 0 3px var(--halo);background:var(--bg);height:100dvh;color:var(--text);font:var(--fs-3)/1.45 var(--font-ui);font-feature-settings:"cv11","ss01";font-synthesis:none;-webkit-font-smoothing:antialiased;flex-direction:column;display:flex;position:relative;overflow:hidden}.app *{box-sizing:border-box}:where(.app) button,:where(.app) input,:where(.app) select,:where(.app) textarea{font:inherit;font-feature-settings:inherit;color:inherit}.app :focus-visible{box-shadow:var(--focus-ring);outline:none}.icon{flex:none;display:block}.spacer{flex:1}kbd{border:1px solid var(--line-strong);border-radius:var(--r-1);background:var(--surface);color:var(--text-2);font:var(--fs-1)/1.5 var(--font-code);white-space:nowrap;border-bottom-width:2px;padding:0 5px}.app ::-webkit-scrollbar{background:0 0;width:11px;height:11px}.app ::-webkit-scrollbar-thumb{background:var(--line-strong) padding-box;border:2.5px solid #0000;border-radius:6px}.app ::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--line-strong) 70%,var(--text-3));border-width:1px}.app ::-webkit-scrollbar-corner{background:0 0}@supports not selector(::-webkit-scrollbar){.app,.app *{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}}.icon-btn{border-radius:var(--r-2);width:28px;height:28px;color:var(--text-2);cursor:pointer;transition:background var(--t-press),color var(--t-press),transform var(--t-press) var(--ease);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn:active:not(:disabled){background:var(--press);transform:scale(.94)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn[aria-pressed=true],.icon-btn[aria-expanded=true]{background:var(--active);color:var(--text)}.btn{border:1px solid var(--line-strong);border-radius:var(--r-2);background:var(--surface);height:28px;font-size:var(--fs-3);white-space:nowrap;cursor:pointer;transition:background var(--t-press),border-color var(--t-press),transform var(--t-press) var(--ease);flex:none;align-items:center;gap:6px;padding:0 11px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:color-mix(in srgb,var(--surface) 94%,var(--text))}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--ink);color:var(--ink-on);border-color:#0000;font-weight:600}.btn.primary:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 86%,var(--surface))}.btn.danger{background:var(--err);color:#fff;border-color:#0000}.btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--err) 88%,#000)}.text-btn{border-radius:var(--r-2);min-height:26px;color:var(--text-2);font-size:var(--fs-2);text-align:left;cursor:pointer;transition:background var(--t-press),color var(--t-press);background:0 0;border:0;align-items:center;gap:7px;padding:4px 8px;display:inline-flex}.text-btn:hover{background:var(--hover);color:var(--text)}.text-btn .icon{color:var(--text-3)}.app :is(.field,.tool-search,.find-row input,.history-preview select,.page-input,.row-rename,.settings-search input){border:1px solid var(--line-strong);border-radius:var(--r-1);background:var(--surface);color:var(--text);transition:border-color var(--t-press),box-shadow var(--t-press)}.app :is(.field,.tool-search,.find-row input,.history-preview select,.page-input,.row-rename,.settings-search input):focus{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--halo);outline:none}.segmented{border:1px solid var(--line);background:var(--bg);border-radius:8px;flex:none;padding:2px;display:inline-flex;position:relative}.segmented button{z-index:1;border-radius:var(--r-2);min-width:28px;height:22px;color:var(--text-2);font-size:var(--fs-2);white-space:nowrap;cursor:pointer;transition:color var(--t-pop);background:0 0;border:0;padding:0 8px;position:relative}.segmented button:hover{color:var(--text)}.segmented button[aria-checked=true]{color:var(--text);font-weight:500}.seg-thumb{border-radius:var(--r-2);background:var(--raised);width:0;box-shadow:0 0 0 1px var(--line-strong),var(--shadow-1);position:absolute;top:2px;bottom:2px;left:0}.ready .seg-thumb{transition:transform var(--t-panel) var(--ease),width var(--t-panel) var(--ease)}.segmented .swatch{width:26px;min-width:0;padding:0}.swatch:before{content:"";background:var(--swatch);border-radius:50%;width:12px;height:12px;margin:auto;display:block;box-shadow:inset 0 0 0 1px #0000001f}.switch{cursor:pointer;flex:none;width:34px;height:20px;position:relative}.switch input{z-index:1;opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch i{background:var(--line-strong);transition:background var(--t-panel);border-radius:10px;position:absolute;inset:0}.switch i:after{content:"";width:16px;height:16px;transition:transform var(--t-page) var(--spring),width var(--t-pop) var(--ease);background:#fff;border-radius:8px;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.switch input:checked+i{background:var(--accent)}.switch input:checked+i:after{transform:translate(14px)}.switch:active i:after{width:20px}.switch:active input:checked+i:after{transform:translate(10px)}.switch input:focus-visible+i{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent-text)}.stepper{align-items:center;gap:2px;display:inline-flex}.stepper .icon-btn{width:24px;height:24px}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:26px}.appbar{z-index:8;border-bottom:1px solid var(--line);background:var(--panel);-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:10px;height:44px;padding:0 8px;display:flex;position:relative}.appbar-side{flex:1 1 0;align-items:center;gap:6px;min-width:0;display:flex}.appbar-side.end{justify-content:flex-end}.brand{font-size:var(--fs-3);letter-spacing:-.01em;white-space:nowrap;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:8px;padding:0 2px 0 4px;font-weight:500;display:flex}.brand-mark{border-radius:var(--r-2);background:var(--accent);width:22px;height:22px;color:var(--accent-ink);place-items:center;display:grid}.brand-mark:before{content:"";background:currentColor;width:16px;height:18px;-webkit-mask:url(../logo.svg) 50%/contain no-repeat;mask:url(../logo.svg) 50%/contain no-repeat}.tex i{margin:0 -.1em 0 -.14em;font-style:normal;display:inline-block;transform:translateY(.2em)}.project-btn{border:0;border-left:1px solid var(--line-strong);min-width:0;height:26px;color:var(--text-2);cursor:pointer;transition:color var(--t-press);background:0 0;align-items:center;gap:5px;margin-left:4px;padding:0 6px 0 10px;display:inline-flex}.project-btn:hover{color:var(--text)}.project-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-btn .icon{color:var(--text-3)}.layout button{min-width:52px;padding:0 12px}.capsule{border:1px solid var(--line-strong);background:var(--surface);font-variant-numeric:tabular-nums;height:28px;transition:border-color var(--t-panel);border-radius:14px;flex:none;align-items:center;gap:1px;padding:0 2px;display:inline-flex;position:relative}.cap-state{min-width:0;height:22px;font-size:var(--fs-2);white-space:nowrap;cursor:pointer;transition:background var(--t-press);background:0 0;border:0;border-radius:11px;align-items:center;gap:7px;padding:0 6px 0 9px;font-weight:500;display:inline-flex}.cap-state:hover:not(:disabled){background:var(--hover)}.cap-state:disabled{cursor:default}.dot{background:var(--text-3);border-radius:50%;flex:none;width:7px;height:7px}[data-state=ok] .dot{background:var(--ok)}[data-state=stale] .dot{background:var(--warn)}[data-state=live] .dot{background:var(--accent)}[data-state=busy] .dot{border:1.5px solid var(--line-strong);border-top-color:var(--accent-text);background:0 0;width:11px;height:11px;margin:0 -2px;animation:.7s linear infinite spin}.capsule[data-failed=true]{border-color:var(--err)}.capsule[data-failed=true]:not([data-state=busy]) .dot{background:var(--err)}.capsule[data-state=live][data-live=reflow]{border-style:dashed;border-color:var(--accent-text)}.cap-live{color:var(--text-3)}.cap-live:empty,.capsule[data-state=busy] .cap-live,.capsule[data-state=live]:is([data-live=live],[data-live=reflow]) [data-id=preview-status-text],.capsule[data-state=stale][data-live=waiting] [data-id=preview-status-text]{display:none}.capsule[data-state=live] .cap-live,.capsule[data-live=waiting] .cap-live{color:inherit}.cap-bars{align-items:flex-end;gap:1.5px;height:12px;display:none}.capsule[data-state=live][data-auto=true]:is([data-live=live],[data-live=reflow]) .cap-bars{display:inline-flex}.cap-bars i{background:var(--accent-text);opacity:.45;transform-origin:bottom;width:2px;height:100%;transform:scaleY(var(--h,.12));transition:transform .18s var(--ease);border-radius:1px}.cap-bars i:last-child{opacity:1}.cap-compile{border-radius:11px;height:22px;padding:0 10px}.capsule[data-auto=true] .cap-compile{display:none}.cap-stop,.cap-more{border-radius:50%;width:22px;height:22px}.capsule[data-auto=false] .cap-state,.capsule[data-auto=true] .cap-stop{display:none}.cap-live{text-overflow:ellipsis;max-width:210px;overflow:hidden}.main{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.pane-head{border-bottom:1px solid var(--line);background:var(--panel);flex:none;align-items:stretch;height:34px;display:flex}.sidebar{width:var(--sidebar-w,232px);background:var(--panel);flex:none;min-width:0;position:relative;overflow:hidden}.sidebar-in{width:var(--sidebar-w,232px);flex-direction:column;height:100%;display:flex}.app[data-sidebar=closed] .sidebar{display:none}.app[data-sidebar=closing] .sidebar{z-index:6;box-shadow:var(--shadow);position:absolute;inset:0 auto 0 0}.app:is([data-sidebar=closed],[data-sidebar=closing]) .splitter[data-split=sidebar]{display:none}.splitter{z-index:5;background:var(--line);cursor:col-resize;touch-action:none;flex:none;width:1px;position:relative}.splitter:after{content:"";position:absolute;inset:0 -4px}.splitter:hover,.dragging .splitter:active{background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.splitter:focus-visible{z-index:9;background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.dragging{cursor:col-resize;-webkit-user-select:none;user-select:none}.dragging .preview,.dragging .editor-host{pointer-events:none}.editor-pane{flex:var(--split,.5) 1 0;background:var(--surface);flex-direction:column;min-width:0;display:flex;position:relative}.preview-pane{flex:calc(1 - var(--split,.5)) 1 0;background:var(--canvas);min-width:0;box-shadow:var(--shadow-inset);flex-direction:column;display:flex;position:relative;container-type:inline-size}.load-bar{z-index:20;pointer-events:none;height:2px;position:absolute;inset:0 0 auto;overflow:hidden}.load-bar i{background:var(--accent);height:100%;transition:width .3s;display:block}.load-bar[data-mode=indeterminate] i{width:28%;animation:1.3s ease-in-out infinite slide}.edges{position:relative}.edges:before,.edges:after{content:"";z-index:3;pointer-events:none;opacity:0;height:6px;transition:opacity var(--t-pop) var(--ease);position:absolute;left:0;right:0}.edges:before{top:var(--edge-top,0);background:linear-gradient(#1e1b121a,#0000)}.edges:after{bottom:var(--edge-bottom,0);background:linear-gradient(#0000,#1e1b1214)}[data-theme=dark] .edges:before{background:linear-gradient(#00000073,#0000)}[data-theme=dark] .edges:after{background:linear-gradient(#0000,#0006)}.edges[data-edge-top=true]:before,.edges[data-edge-bottom=true]:after{opacity:1}.side-switch{background:var(--active);-webkit-user-select:none;user-select:none;border-radius:7px;flex:none;margin:10px 10px 6px;padding:2px;display:flex}.side-switch button{z-index:1;min-width:0;height:22px;color:var(--text-2);font-size:var(--fs-2);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:color var(--t-pop);background:0 0;border:0;border-radius:5px;flex:1;padding:0 6px;font-weight:500;position:relative;overflow:hidden}.side-switch button:hover,.side-switch button[aria-selected=true]{color:var(--text)}.side-switch .seg-thumb{background:var(--raised);box-shadow:0 0 0 1px var(--line),var(--shadow-1);border-radius:5px;top:2px;bottom:2px}.side-switch{position:relative}.side-view{flex-direction:column;flex:1;min-height:0;display:flex}.side-head{-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:1px;padding:2px 6px 4px 14px;display:flex}.side-title{font-size:var(--fs-1);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);flex:1;font-weight:600}.side-head .icon-btn{width:26px;height:26px}.side-scroll{flex-direction:column;flex:1;min-height:0;display:flex}.tree{flex:1;min-height:0;padding:2px 6px 16px;overflow:auto}.tree[data-drop]{background:var(--accent-soft)}.row{height:28px;padding:0 3px 0 calc(6px + var(--depth,0)*14px);border-radius:var(--r-2);color:var(--text-2);cursor:default;-webkit-user-select:none;user-select:none;transition:background var(--t-press);align-items:center;gap:6px;display:flex;position:relative}.row:hover{background:var(--hover)}.row.selected{color:var(--text)}.row[aria-selected=true],.outline-item[aria-current=true],.label-item[aria-current=true],.side-now button[aria-current=true]{background:var(--active);color:var(--text)}.row[aria-selected=true]:after,.outline-item[aria-current=true]:after,.label-item[aria-current=true]:after,.side-now button[aria-current=true]:after{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:6px;bottom:6px;left:0}.row.drop{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.row.row-enter{animation:row-in var(--t-panel) var(--ease)}.row.row-leave{animation:row-out .14s var(--ease) forwards;pointer-events:none;overflow:hidden}.row.dragging{opacity:.45}.row.drop-before:before,.row.drop-after:before{content:"";left:calc(6px + var(--depth,0)*14px);background:var(--accent);z-index:1;border-radius:1px;height:2px;position:absolute;right:4px}.row.drop-before:before{top:-1px}.row.drop-after:before{top:auto;bottom:-1px}.row-twist{width:12px;color:var(--text-3);flex:none;place-items:center;display:grid}.row[aria-expanded=false] .row-twist{transform:rotate(-90deg)}.row[data-toggled][aria-expanded=true] .row-twist{animation:twist-open var(--t-panel) var(--ease)}.row[data-toggled][aria-expanded=false] .row-twist{animation:twist-shut var(--t-panel) var(--ease)}.row-icon{color:var(--text-3);flex:none}.row[data-kind=folder] .row-icon{color:var(--text-2)}.row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.row-main,.tab-main{color:var(--text-2);flex:none}.row-more{opacity:0;width:22px;height:22px}.row:hover .row-more,.row:focus-visible .row-more,.row-more:focus-visible{opacity:1}.app .row-rename{flex:1;min-width:0;height:22px;padding:0 5px}.row[data-type=tex] .row-icon{color:var(--s-cmd)}.row[data-type=image] .row-icon{color:var(--s-math)}.row[data-type=bib] .row-icon{color:var(--s-kw)}.row[style]:not([style*="--depth: 0"]):not([style*=--depth\:0]) .row-twist:before{content:"";top:0;bottom:0;left:calc(6px + var(--depth)*14px - 7px);background:var(--line-subtle);width:1px;position:absolute}.side-now{border-top:1px solid var(--line);-webkit-user-select:none;user-select:none;flex:none;padding:6px 6px 4px}.side-now-title{font-size:var(--fs-1);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:2px 8px 4px;font-weight:600;display:block}.side-now button{border-radius:var(--r-2);width:100%;height:26px;color:var(--text-2);font-size:var(--fs-2);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 8px;display:flex;position:relative}.side-now button:hover{background:var(--hover)}.side-now b{font:500 var(--fs-1) var(--font-code);color:var(--text-3);flex:none}.side-now span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.side-now small{font-size:var(--fs-1);color:var(--text-3);font-variant-numeric:tabular-nums;flex:none}.side-foot{border-top:1px solid var(--line);-webkit-user-select:none;user-select:none;flex:none;justify-content:space-between;align-items:center;gap:4px;padding:6px 8px;display:flex}.tree-empty{color:var(--text-2);flex-direction:column;gap:8px;padding:22px 16px;display:flex}.tree-empty p{font-size:var(--fs-2);color:var(--text-2);margin:0 0 4px}.outline,.labels{-webkit-user-select:none;user-select:none;flex:1;min-height:0;padding:2px 6px 12px;overflow:auto}.outline-empty{color:var(--text-2);font-size:var(--fs-2);padding:4px 8px}.outline-file{color:var(--text-3);font:var(--fs-1)/1.4 var(--font-code);text-overflow:ellipsis;white-space:nowrap;margin:8px 8px 2px;display:block;overflow:hidden}.outline-file:first-child{margin-top:2px}.outline-item{width:100%;min-height:28px;padding:4px 7px 4px calc(8px + var(--depth,0)*12px);border-radius:var(--r-2);text-align:left;color:var(--text-2);font-size:var(--fs-2);cursor:pointer;transition:background var(--t-press);background:0 0;border:0;align-items:center;gap:7px;display:flex;position:relative}.outline-item:hover{background:var(--hover)}.outline-item b{font:var(--fs-1) var(--font-code);color:var(--text-3);flex:none}.outline-item>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.outline-words{color:var(--text-3);font-size:var(--fs-1);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:6px;display:flex}.outline-words i{background:var(--line);border-radius:2px;width:22px;height:3px;overflow:hidden}.outline-words i:before{content:"";width:calc(var(--share,0)*100%);border-radius:inherit;background:var(--line-strong);min-width:2px;height:100%;display:block}.outline-item[aria-current=true] .outline-words i:before{background:var(--accent)}.outline-words[data-problem=error]{color:var(--err);font-weight:600}.outline-words[data-problem=warning]{color:var(--warn);font-weight:600}.outline-words[data-problem] i{display:none}.tabs{scrollbar-width:none;flex:1;min-width:0;display:flex;position:relative;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs:after{content:"";width:var(--ind-w,0);background:var(--accent);height:2px;transform:translateX(var(--ind-x,0));pointer-events:none;border-radius:1px;position:absolute;bottom:0;left:0}.ready .tabs:after{transition:transform var(--t-panel) var(--ease),width var(--t-panel) var(--ease)}.tab{max-width:240px;color:var(--text-2);font-size:var(--fs-3);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--t-press),background var(--t-press);flex:none;align-items:center;gap:6px;padding:0 5px 0 12px;display:flex;position:relative}.tab:hover{color:var(--text);background:var(--hover)}.tab[aria-selected=true]{color:var(--text);background:var(--surface)}.tab:focus-visible{box-shadow:inset 0 0 0 1.5px var(--accent-text)}.tab-name{text-overflow:ellipsis;overflow:hidden}.tab-dir{color:var(--text-3);font-size:var(--fs-2)}.tab-close{opacity:0;width:20px;height:20px}.tab:hover .tab-close,.tab[aria-selected=true] .tab-close{opacity:1}.tabs[data-left=true]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 12px);mask-image:linear-gradient(90deg,#0000,#000 12px)}.tabs[data-right=true]{-webkit-mask-image:linear-gradient(270deg,#0000,#000 12px);mask-image:linear-gradient(270deg,#0000,#000 12px)}.tabs[data-left=true][data-right=true]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000);mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000)}.editor-host{flex:1;min-height:0;position:relative}.view{display:flex;position:absolute;inset:0}.editor-empty,.viewer{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:0}.viewer img{object-fit:contain;max-width:100%;max-height:calc(100% - 36px);box-shadow:0 0 0 1px var(--line);border-radius:3px}.code{--code-size:13px;--digits:2;--gutter:calc(var(--digits)*1ch + 30px);flex:1;min-width:0;position:relative}.code-scroll{overscroll-behavior:contain;position:absolute;inset:0;overflow:auto}.code-body{width:max-content;min-width:100%;min-height:100%;display:grid;position:relative}.code[data-wrap=true] .code-body{width:100%}.code-lines,.code-input,.code-matches,.code-decor{padding:12px 28px 45vh var(--gutter);font:var(--code-size)/1.6 var(--font-code);font-feature-settings:normal;letter-spacing:0;tab-size:var(--tab,2);white-space:pre;font-variant-ligatures:none;font-kerning:none;border:0;grid-area:1/1;margin:0}.code[data-wrap=true] :is(.code-lines,.code-input,.code-matches,.code-decor){white-space:pre-wrap;overflow-wrap:anywhere}.code-lines{counter-reset:line;color:var(--text);pointer-events:none;-webkit-user-select:none;user-select:none}.code-input{z-index:1;resize:none;color:#0000;-webkit-text-fill-color:transparent;width:100%;height:100%;caret-color:var(--text);background:0 0;outline:none;display:block;position:relative;overflow:hidden}.app .code-input:focus-visible{box-shadow:none}.code-input::selection{background:var(--select);color:#0000;-webkit-text-fill-color:transparent}.cl{min-height:1.6em;position:relative}.cl:before{counter-increment:line;content:counter(line);top:0;left:calc(-1*var(--gutter));box-sizing:border-box;width:var(--gutter);transform:translateX(var(--scroll-x,0));background:var(--surface);color:var(--text-3);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding-right:18px;position:absolute}.cl.active,.cl.active:before{background:var(--line-hl)}.cl.active{box-shadow:calc(-1*var(--gutter)) 0 0 var(--line-hl),28px 0 0 var(--line-hl)}.cl.active:before{color:var(--text-2)}.cl.mark-error,.cl.mark-error:before{background:var(--err-soft)}.cl.mark-error{box-shadow:calc(-1*var(--gutter)) 0 0 var(--err-soft),28px 0 0 var(--err-soft)}.cl.mark-error:before{color:var(--err);box-shadow:inset 3px 0 0 var(--err)}.cl.mark-warning:before{color:var(--warn);box-shadow:inset 3px 0 0 var(--warn)}.cl.mark-info:before{box-shadow:inset 3px 0 0 var(--line-strong)}.cl.flash{animation:1.1s ease-out flash}.t-cmd{color:var(--s-cmd)}.t-kw{color:var(--s-kw)}.t-env{color:var(--s-env)}.t-sec{color:var(--s-cmd);font-weight:600}.t-math{color:var(--s-math)}.t-mcmd{color:var(--s-mcmd)}.t-mdel{color:var(--s-env)}.t-com{color:var(--s-com);font-style:italic}.t-br{color:var(--s-br)}.t-op{color:var(--s-op)}.t-verb{color:var(--s-verb)}.math-pop{z-index:4;border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--raised);max-width:calc(100% - 16px);box-shadow:var(--shadow);pointer-events:none;animation:fade-in var(--t-pop) var(--ease);padding:10px 14px;position:absolute}.math-pop canvas{max-width:100%;height:auto;transition:opacity .12s;display:block}[data-theme=dark] .math-pop canvas{filter:invert()hue-rotate(180deg)}.math-pop:not([data-state=ok]) canvas{opacity:.38}.math-pop-note{max-width:440px;color:var(--err);font-size:var(--fs-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.math-pop-view:not(:empty)+.math-pop-note{margin-top:6px}.math-pop[data-state=unsupported] .math-pop-note{color:var(--text-3)}.panel{border-top:1px solid var(--line);background:var(--panel);flex-direction:column;flex:none;height:210px;max-height:45%;display:flex;overflow:hidden}.panel[hidden]{display:none!important}.panel[data-motion]{z-index:4;box-shadow:var(--shadow);position:absolute;bottom:0;left:0;right:0}.panel-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:2px;height:34px;padding:0 6px;display:flex}.panel-head .icon-btn{width:24px;height:24px}.panel-tab{border-radius:var(--r-2);height:24px;color:var(--text-2);font-size:var(--fs-2);cursor:pointer;transition:background var(--t-press),color var(--t-press);background:0 0;border:0;align-items:center;gap:6px;padding:0 9px;font-weight:500;display:inline-flex}.panel-tab:hover{color:var(--text)}.panel-tab[aria-selected=true]{background:var(--active);color:var(--text)}.count:not(:empty){background:var(--line-strong);min-width:16px;height:16px;font-size:var(--fs-1);font-variant-numeric:tabular-nums;border-radius:8px;place-items:center;padding:0 4px;display:inline-grid}.panel-body{flex-direction:column;flex:1;min-height:0;display:flex}.problems{flex:1;padding:4px;overflow:auto}.problem{border-radius:var(--r-2);width:100%;font-size:var(--fs-3);text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:8px;padding:5px 8px;display:flex}.problem:hover:not(:disabled){background:var(--hover)}.problem:disabled{cursor:default}.problem .icon{color:var(--text-3);margin-top:2px}.problem[data-severity=error] .icon{color:var(--err)}.problem[data-severity=warning] .icon{color:var(--warn)}.problem-text{overflow-wrap:anywhere;flex:1;min-width:0}.problem-where{color:var(--text-3);font:var(--fs-2)/1.6 var(--font-code);flex:none}.panel-empty{color:var(--text-3);text-align:center;padding:20px}.logs{color:var(--text-2);font:var(--fs-2)/1.6 var(--font-code);white-space:pre-wrap;overflow-wrap:anywhere;flex:1;margin:0;padding:8px 12px;overflow:auto}.app .logs:focus-visible{box-shadow:inset 0 0 0 1.5px var(--accent-text)}.preview{outline:none;flex:1;min-height:0;position:relative;overflow:auto}.app .preview:focus-visible{box-shadow:inset 0 0 0 1.5px var(--accent-text)}.preview-content{flex-direction:column;align-items:center;gap:16px;width:max-content;min-width:100%;min-height:100%;padding:24px 24px 64px;display:flex;position:relative}.preview.panning,.preview.panning *{cursor:grabbing;-webkit-user-select:none;user-select:none}.preview-content canvas{height:auto;box-shadow:var(--paper-shadow);background:#fff;flex:none;display:block}.preview-content iframe{background:#fff;border:0;width:100%;height:80vh}[data-theme=dark][data-dark-pages=true] .sheet{filter:invert(.91)hue-rotate(180deg)}.sync-marker{background:var(--accent);pointer-events:none;width:3px;transition:top var(--t-page) var(--spring),height var(--t-page) var(--spring);border-radius:2px;position:absolute}.sheet{aspect-ratio:1/1.414;width:min(100%,520px);box-shadow:var(--paper-shadow);background:#fff;flex-direction:column;align-items:center;gap:14px;padding:13% 12% 10%;display:flex}.sheet-lines{flex-direction:column;align-self:stretch;gap:13px;display:flex}.sheet-lines i{background:#ededeb;border-radius:5px;height:9px}.sheet-lines i:first-child{width:46%;height:14px;margin-bottom:10px}.sheet-lines i:nth-child(4){width:82%}.sheet-lines i:nth-child(6){width:91%}.sheet-lines i:last-child{width:58%}.sheet[data-state=loading] .sheet-lines i{background:linear-gradient(100deg,#ededeb 25%,#f9f9f8 50%,#ededeb 75%) 0 0/200% 100%;animation:1.8s linear infinite shimmer}.sheet[data-state=empty] .sheet-lines,.sheet[data-state=failed] .sheet-lines{visibility:hidden}.sheet-note{color:#6d7076;font-size:var(--fs-2);text-align:center;margin-top:auto}.sheet[data-state=failed] .sheet-note{color:#c4352a}.sheet .btn{color:#1b1d21;background:#fff;border-color:#d2d0c6}.load-steps{font-size:var(--fs-2);color:#6d7076;flex-direction:column;align-self:stretch;gap:12px;margin-top:24px;display:flex}.load-steps>div{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.load-steps>div:before{content:"";border:1px solid #d2d0c6;border-radius:50%;flex:none;width:9px;height:9px}.load-steps>div[data-state=active]{color:#1b1d21}.load-steps>div[data-state=active]:before{border-top-color:#865a00;animation:.8s linear infinite spin}.load-steps>div[data-state=done]:before{background:#f5b800;border-color:#b98900}.load-steps small{font-size:var(--fs-1);white-space:nowrap;margin-left:auto}.sheet .load-write{font-size:var(--fs-2);color:#6d7076;text-align:center}.zoombar{z-index:6;border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--raised);box-shadow:var(--shadow);opacity:0;visibility:hidden;-webkit-user-select:none;user-select:none;transition:opacity var(--t-panel),visibility 0s var(--t-panel);align-items:center;gap:1px;padding:3px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.preview-pane:hover .zoombar,.zoombar:focus-within,.zoombar[data-show],.preview-pane:focus-within .zoombar{opacity:1;visibility:visible;transition:opacity var(--t-pop)}.zoom-label{border-radius:var(--r-2);min-width:46px;height:28px;color:var(--text-2);font-size:var(--fs-2);font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--t-press);background:0 0;border:0;padding:0 4px}.zoom-label:hover{background:var(--hover);color:var(--text)}.page-nav{border-left:1px solid var(--line);color:var(--text-3);font-size:var(--fs-2);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:5px;margin-left:3px;padding:0 8px 0 7px;display:flex}.app .page-input{text-align:center;font-variant-numeric:tabular-nums;background:0 0;border-color:#0000;min-width:2.4ch;height:22px;padding:0 3px}.app .page-input:hover{border-color:var(--line-strong)}.app .page-input:focus{background:var(--surface)}.ink-region,.hover-region{pointer-events:none;border-radius:3px;position:absolute}.ink-region{background:color-mix(in srgb,var(--accent) 7%,transparent);box-shadow:inset 2px 0 0 var(--accent);opacity:0;transition:opacity .24s var(--ease),top .16s var(--ease),height .16s var(--ease)}.ink-region[data-on]{opacity:1;transition:opacity .12s var(--ease),top .16s var(--ease),height .16s var(--ease)}.hover-region{border:1px solid color-mix(in srgb,var(--accent-text) 70%,transparent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.pagination-note{z-index:2;color:#6b4a00;height:20px;font-size:var(--fs-1);white-space:nowrap;pointer-events:none;animation:fade-in var(--t-pop) var(--ease);background:#fff8e1;border-radius:10px;align-items:center;gap:5px;padding:0 8px;font-weight:500;display:inline-flex;position:absolute;overflow:hidden;box-shadow:0 0 0 1px #b9890047,0 1px 3px #00000014}.pagination-note:after{content:"";transform-origin:0;background:#d9a400;width:100%;height:2px;position:absolute;bottom:0;left:0;transform:scaleX(0)}.pagination-note[data-state=calibrating]:after{animation:progress var(--calibrate,1.5s) cubic-bezier(.3,.6,.4,1) forwards}.pagination-note[data-state=done]{color:#1a7841;background:#e6f1e9;animation:.32s ease-in .7s forwards fade-out;box-shadow:0 0 0 1px #1a784140}.pagination-note .icon{margin-left:-2px}.flex-edge{pointer-events:none;transform-origin:50%;height:0;transition:transform .26s var(--ease),opacity .26s var(--ease);border-top:1px dashed #b98900;position:absolute}.flex-edge[data-gone]{opacity:0;transform:scaleX(0)}.page-arrive{animation:fade-in .12s var(--ease)}.page-leave{z-index:2;pointer-events:none;animation:fade-out .12s var(--ease) forwards;position:absolute;inset:0 auto auto 0}.statusbar{border-top:1px solid var(--line);background:var(--panel);height:26px;color:var(--text-2);font-size:var(--fs-2);flex:none;align-items:center;gap:2px;padding:0 6px;display:flex}.stat{border-radius:var(--r-1);white-space:nowrap;font-variant-numeric:tabular-nums;background:0 0;border:0;align-items:center;gap:5px;height:20px;padding:0 6px;display:inline-flex}.stat:empty{display:none}button.stat{cursor:pointer;transition:background var(--t-press),color var(--t-press)}button.stat:hover{background:var(--hover);color:var(--text)}.stat span+.icon{margin-left:4px}.stat[data-state=error],.stat[data-state=failed]{color:var(--err)}.stat[data-state=warning]{color:var(--warn)}.stat[data-state=saved]{color:var(--text-3)}.settings{z-index:30;background:var(--veil);transition:opacity var(--t-panel) var(--ease);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.settings[hidden]{visibility:hidden;opacity:0;pointer-events:none;transition:opacity var(--t-pop) ease-in,visibility 0s var(--t-pop);display:grid!important}.settings-card{border:1px solid var(--line-strong);border-radius:var(--r-4);background:var(--raised);width:min(560px,100%);height:min(520px,100% - 16px);box-shadow:var(--shadow-3);transition:transform var(--t-panel) var(--ease);flex-direction:column;display:flex;overflow:hidden}.settings[hidden] .settings-card{transform:translateY(8px)scale(.98)}.settings-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:12px 12px 12px 18px;display:flex}.settings-head h2{font-size:var(--fs-4);margin:0;font-weight:600}.settings-search{flex:1;align-items:center;margin-left:8px;display:flex;position:relative}.settings-search .icon{color:var(--text-3);pointer-events:none;position:absolute;left:9px}.app .settings-search input{width:100%;height:30px;font-size:var(--fs-2);padding:0 10px 0 30px}.settings-search input::-webkit-search-cancel-button{cursor:pointer}.settings-body{flex:1;grid-template-columns:160px minmax(0,1fr);min-height:0;display:grid}.settings-nav{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;gap:2px;padding:10px 8px;display:flex}.settings-tab{border-radius:var(--r-2);min-height:30px;color:var(--text-2);line-height:1.3;font-size:var(--fs-3);text-align:left;cursor:pointer;transition:background var(--t-press),color var(--t-press);background:0 0;border:0;padding:6px 10px}.settings-tab:hover{background:var(--hover);color:var(--text)}.settings-tab[aria-selected=true]{background:var(--active);color:var(--text);box-shadow:inset 2px 0 0 var(--accent);font-weight:500}.settings-reset{justify-content:flex-start}.settings-pane{padding:4px 18px 18px;overflow:auto}.settings-pane h3{z-index:1;background:var(--raised);color:var(--text-3);font-size:var(--fs-1);letter-spacing:.06em;text-transform:uppercase;margin:0 -18px;padding:14px 18px 6px;font-weight:600;position:sticky;top:-4px}.setting{border-bottom:1px solid var(--line-subtle);justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:8px 0;display:flex}.setting:last-child{border-bottom:0}.setting-text{flex-direction:column;gap:2px;min-width:0;display:flex}.setting-label{color:var(--text);font-weight:500}.setting-desc{color:var(--text-3);font-size:var(--fs-2);line-height:1.4}.settings-pane .keys{margin-top:6px}.settings-empty{color:var(--text-3);text-align:center;margin:28px 0}.menu{z-index:65;border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--raised);min-width:196px;max-width:min(360px,100% - 16px);box-shadow:var(--shadow);animation:pop-in var(--t-pop) var(--ease);outline:none;padding:5px;position:absolute}.menu.closing{animation:.1s ease-in forwards pop-out}.menu button{border-radius:var(--r-2);width:100%;height:28px;font-size:var(--fs-3);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;display:flex}.menu button:hover:not(:disabled){background:var(--hover)}.menu button:focus-visible{background:var(--active);box-shadow:none}.menu button:disabled{opacity:.4;cursor:default}.menu button.danger{color:var(--err)}.menu-icon{width:16px;color:var(--text-2);flex:none}.danger .menu-icon{color:inherit}.menu-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.menu-hint{color:var(--text-3);font-size:var(--fs-1);white-space:nowrap}.menu-separator{background:var(--line);height:1px;margin:5px 4px}.menu-heading{color:var(--text-3);font-size:var(--fs-1);letter-spacing:.05em;text-transform:uppercase;padding:6px 8px 3px;font-weight:600}.dialog-backdrop{z-index:60;background:var(--veil);animation:fade-in var(--t-panel) var(--ease);place-items:center;display:grid;position:absolute;inset:0}.dialog-backdrop.closing{animation:fade-out var(--t-pop) ease-in forwards}.dialog{border:1px solid var(--line-strong);border-radius:var(--r-4);background:var(--raised);width:min(360px,100% - 32px);max-height:calc(100% - 32px);box-shadow:var(--shadow-3);animation:rise-in var(--t-panel) var(--ease);outline:none;padding:20px;overflow:auto}.closing .dialog{animation:rise-out var(--t-pop) ease-in forwards}.app .dialog:focus-visible{box-shadow:var(--shadow-3)}.dialog h2{font-size:var(--fs-4);margin:0 0 6px;font-weight:600}.dialog p{color:var(--text-2);margin:0}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.keys{grid-template-columns:1fr auto;align-items:center;gap:9px 16px;margin:14px 0 0;display:grid}.keys dt{color:var(--text-2)}.keys dd{justify-content:flex-end;gap:4px;margin:0;display:flex}.keys h3{color:var(--text-3);font-size:var(--fs-1);letter-spacing:.06em;text-transform:uppercase;grid-column:1/-1;margin:10px 0 0;font-weight:600}.toasts{z-index:70;pointer-events:none;flex-direction:column-reverse;align-items:center;gap:6px;width:max-content;max-width:min(520px,100% - 32px);display:flex;position:absolute;bottom:42px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--r-3);background:var(--tip);max-width:100%;color:var(--tip-ink);font-size:var(--fs-3);box-shadow:var(--shadow);pointer-events:auto;animation:toast-in .34s var(--spring);align-items:center;gap:12px;padding:8px 12px 10px 14px;display:flex;position:relative;overflow:hidden}.toast.leaving{animation:toast-out var(--t-pop) ease-in forwards}.toast-text{overflow-wrap:anywhere;min-width:0}.toast-action{border-radius:var(--r-1);color:var(--accent-bright);cursor:pointer;background:0 0;border:0;flex:none;padding:2px 5px;font-weight:600}.toast-action:hover{background:#ffffff1a}.toast-life{background:var(--accent-bright);opacity:.7;transform-origin:0;height:2px;animation:linear both countdown;position:absolute;inset:auto 0 0}.toasts[data-paused] .toast-life{animation-play-state:paused}.tip{z-index:80;border-radius:var(--r-2);background:var(--tip);max-width:min(540px,100% - 12px);color:var(--tip-ink);font-size:var(--fs-2);white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none;box-shadow:var(--shadow);animation:fade-in var(--t-press) var(--ease);align-items:center;gap:8px;padding:4px 8px;display:flex;position:absolute}.tip kbd{color:inherit;background:0 0;border-color:#ffffff47}.drop-veil{z-index:40;border:2px dashed var(--accent);background:var(--accent-soft);color:var(--accent-text);pointer-events:none;border-radius:14px;place-items:center;display:grid;position:absolute;inset:8px}.code-diagnostics{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.diagnostic-gutter{width:var(--gutter);pointer-events:auto;cursor:help;background:0 0;border:0;padding:0;position:absolute;left:0}.error-lens{text-overflow:ellipsis;white-space:nowrap;font:italic var(--fs-2)/1.7 var(--font-ui);color:var(--err);pointer-events:auto;cursor:help;position:absolute;right:12px;overflow:hidden}.preview-error{border:0;border-bottom:1px solid var(--line);background:var(--err-soft);width:100%;color:var(--err);font-size:var(--fs-2);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:none;padding:9px 14px;display:block;overflow:hidden}.log-error{color:var(--err)}.log-warning{color:var(--warn)}.code-matches{color:#0000;pointer-events:none;z-index:1;-webkit-user-select:none;user-select:none}.code-matches:empty{display:none}.code-matches mark{color:#0000;background:var(--select);border-radius:2px}.code-matches mark.current{box-shadow:0 0 0 1px var(--accent-text)}.find-bar{z-index:5;border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--raised);width:min(430px,100% - 20px);box-shadow:var(--shadow);animation:pop-in var(--t-pop) var(--ease);padding:6px;position:absolute;top:8px;right:10px}.find-row{align-items:center;gap:3px;min-width:0;display:flex}.app .find-row input{width:0;min-width:0;font:var(--fs-2) var(--font-code);flex:1;padding:5px 7px}.find-row output{font-size:var(--fs-1);color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums;padding:0 4px}.find-row output[data-error=true]{color:var(--err)}.find-options{gap:2px;margin-top:4px;display:flex}.find-options .icon-btn{font:var(--fs-1) var(--font-code);height:24px}.replace-row{margin-top:4px}.palette-dialog{align-self:start;width:min(600px,100% - 32px);margin-top:min(16vh,120px);padding:0;overflow:hidden}.palette-input{align-items:center;gap:10px;padding:12px 14px;display:flex;position:relative}.palette-input:after{content:"";background:var(--line);height:1px;transition:background var(--t-pop);position:absolute;bottom:0;left:0;right:0}.palette-input:focus-within:after{background:linear-gradient(90deg,transparent,var(--accent-text) 18%,var(--accent-text) 82%,transparent)}.palette-input .icon{color:var(--text-3)}.app .palette-input input{min-width:0;font-size:var(--fs-4);box-shadow:none;background:0 0;border:0;outline:none;flex:1;padding:2px 0}.palette-list{min-height:100px;max-height:45vh;padding:5px;overflow:auto}.palette-item{border-radius:var(--r-2);cursor:pointer;align-items:center;gap:9px;min-height:32px;padding:5px 10px;display:flex}.palette-item:hover{background:var(--hover)}.palette-item[aria-selected=true]{background:var(--active)}.palette-item>.icon{color:var(--text-3)}.palette-item>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.palette-item small{text-overflow:ellipsis;white-space:nowrap;max-width:38%;color:var(--text-3);font:var(--fs-1) var(--font-code);margin-left:auto;overflow:hidden}.palette-item mark{color:var(--accent-text);background:0 0;font-weight:600}.palette-body footer{border-top:1px solid var(--line-subtle);color:var(--text-3);font-size:var(--fs-1);padding:8px 16px}.template-dialog{width:min(660px,100% - 32px)}.template-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 14px;display:grid}.template-card{border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);text-align:left;cursor:pointer;transition:border-color var(--t-press);flex-direction:column;gap:7px;padding:9px;display:flex}.template-card:hover{border-color:var(--line-strong)}.template-card[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.template-card strong{font-size:var(--fs-2);font-weight:500}.template-card small{font-size:var(--fs-1);color:var(--text-2);line-height:1.4}.template-paper{aspect-ratio:.72;background:#fff;border:1px solid #ededeb;border-radius:2px;flex-direction:column;align-self:stretch;gap:5px;padding:16px 12px;display:flex;overflow:hidden}.template-paper i{background:#ededeb;flex:none;height:3px}.template-paper i:first-child{background:#bdbeba;width:65%;height:5px;margin:0 auto 8px}.template-paper i:nth-child(4n){width:60%}.template-paper[data-template=notes] i:nth-child(3n){width:55%;margin:3px auto}.template-paper[data-template=report] i:nth-child(4n){background:#d3d2cb;height:5px}.template-drop{border:1px dashed var(--line-strong);width:100%;color:var(--text-2);font-size:var(--fs-2);cursor:pointer;background:0 0;border-radius:8px;padding:16px}.template-drop:hover{background:var(--hover)}.dialog .template-warning{font-size:var(--fs-2);margin-top:12px}.word-details>p{font-size:var(--fs-2);margin:12px 0}.word-row{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;gap:20px;width:100%;padding:8px 0;display:flex}.word-row b{font-variant-numeric:tabular-nums;font-weight:500}.word-row:hover{color:var(--accent-text)}.completion{z-index:6;border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--raised);width:min(350px,100% - 16px);max-height:240px;box-shadow:var(--shadow);animation:pop-in var(--t-pop) var(--ease);padding:4px;position:absolute;overflow:auto}.completion-item{cursor:pointer;border-radius:5px;align-items:baseline;gap:12px;min-height:29px;padding:5px 8px;display:flex}.completion-item[aria-selected=true]{background:var(--active)}.completion-item b{font:var(--fs-2) var(--font-code)}.completion-item small{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-1);color:var(--text-2);margin-left:auto;overflow:hidden}.completion footer{border-top:1px solid var(--line);background:var(--raised);font-size:var(--fs-1);color:var(--text-2);padding:6px 8px;position:sticky;bottom:-4px}.symbols-dialog{width:min(460px,100% - 32px)}.app .tool-search{width:100%;margin:10px 0;padding:7px 9px}.symbol-groups{max-height:55vh;overflow:auto}.symbol-groups h3{font-size:var(--fs-1);color:var(--text-2);margin:18px 0 8px;font-weight:500}.symbol-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;display:grid}.symbol-grid button{border-radius:var(--r-2);cursor:pointer;background:0 0;border:1px solid #0000;height:36px;padding:0;font:22px Georgia,serif}.symbol-grid button:hover{background:var(--hover);border-color:var(--line)}.history-dialog{width:min(820px,100% - 32px)}.history-note{font-size:var(--fs-2);margin:8px 0 14px!important}.history-content{border-block:1px solid var(--line);grid-template-columns:190px minmax(0,1fr);height:min(480px,55vh);display:grid}.history-list{border-right:1px solid var(--line);padding:6px;overflow:auto}.history-list button{border-radius:var(--r-2);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:4px;width:100%;padding:9px 8px;display:flex}.history-list button:hover{background:var(--hover)}.history-list button[aria-pressed=true]{background:var(--active)}.history-list strong{font-size:var(--fs-2);font-weight:500}.history-list small{font-size:var(--fs-1);color:var(--text-2)}.history-preview{flex-direction:column;min-width:0;min-height:0;display:flex}.app .history-preview select{max-width:calc(100% - 16px);font:var(--fs-2) var(--font-code);margin:8px;padding:5px 8px}.history-preview pre{min-height:0;color:var(--text-2);font:var(--fs-2)/1.6 var(--font-code);flex:1;margin:0;padding:12px;overflow:auto}@keyframes pulse{50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(360%)}}@keyframes flash{0%,35%{background:var(--select)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}}@keyframes pop-out{to{opacity:0;transform:scale(.98)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes rise-out{to{opacity:0;transform:translateY(4px)}}@keyframes row-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes row-out{to{opacity:0;height:0;transform:translate(-6px)}}@keyframes twist-open{0%{transform:rotate(-90deg)}}@keyframes twist-shut{0%{transform:rotate(0)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(.92)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)scale(.96)}}@keyframes toast-out{to{opacity:0;transform:translateY(6px)scale(.97)}}@media (prefers-reduced-motion:reduce){.app *,.app :before,.app :after{transition:none!important;animation:none!important}}@media (min-width:781px){.app[data-layout=source] :is(.preview-pane,.splitter[data-split=preview]),.app[data-layout=preview] :is(.editor-pane,.splitter[data-split=preview]){display:none}.app[data-layout=source] .editor-pane,.app[data-layout=preview] .preview-pane{flex-grow:1}}@media (hover:none){.zoombar{opacity:1;visibility:visible}}@media (max-width:900px){.project-btn span{display:none}.project-btn{flex:none;padding-left:6px}}@media (min-width:781px) and (max-width:1100px){.cap-live{max-width:140px}.cap-bars{display:none!important}.appbar-side.end{flex:none}.layout button{min-width:44px;padding:0 8px}}@media (max-width:780px){.splitter,.brand b,.layout [data-value=split],.export-btn span,.cap-state>span,.capsule[data-auto=false] .cap-state{display:none}.appbar{gap:6px}.sidebar{z-index:25;width:min(280px,82vw);box-shadow:var(--shadow);transition:transform var(--t-panel) var(--ease);position:absolute;inset:0 auto 0 0}.sidebar-in{width:100%}.app[data-sidebar=closed] .sidebar{visibility:hidden;width:min(280px,82vw);transition:transform var(--t-pop) ease-in,visibility 0s var(--t-pop);display:block;transform:translate(-104%)}.editor-pane,.preview-pane{flex:1 1 0}.app[data-view=preview] .editor-pane,.app:not([data-view=preview]) .preview-pane{display:none}.settings-body{grid-template-columns:minmax(0,1fr)}.settings-nav{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;overflow-x:auto}.settings-nav .spacer{display:none}.settings-tab,.settings-reset{flex:none}}@media (max-width:600px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-paper{aspect-ratio:1.2}.history-content{grid-template-columns:130px minmax(0,1fr)}}.label-group{color:var(--text-3);font-size:var(--fs-1);letter-spacing:.05em;text-transform:uppercase;margin:10px 8px 3px;font-weight:600;display:block}.label-group:first-child{margin-top:2px}.label-item{border-radius:var(--r-2);width:100%;min-height:28px;color:var(--text-2);font-size:var(--fs-2);text-align:left;cursor:pointer;transition:background var(--t-press),opacity var(--t-press);background:0 0;border:0;align-items:center;gap:8px;padding:4px 8px;display:flex;position:relative}.label-item:hover{background:var(--hover)}.label-item i{text-align:center;width:14px;color:var(--s-math);flex:none;font-style:normal}.label-item span{min-width:0;font-family:var(--font-code);font-size:var(--fs-2);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.label-item small{color:var(--text-3);font-size:var(--fs-1);font-variant-numeric:tabular-nums;flex:none}.label-item[data-unused=true]{opacity:.62}.label-item[data-unused=true]:hover,.label-item[data-unused=true]:focus-visible{opacity:1}.pagination-note{transform:translate(-100%)}.app[data-layout=source] .main{background:var(--surface)}.main{background:var(--canvas)}.code-decor{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.deco{border-radius:2px;display:block;position:absolute}.deco-pair{background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-text) 45%,transparent)}.deco-env{background:linear-gradient(var(--s-env),var(--s-env)) left bottom/100% 1.5px no-repeat;border-radius:0}.deco-wave{background:var(--err);border-radius:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='3'%3E%3Cpath d='M0 2.5 1.5 .5 3 2.5 4.5 .5 6 2.5' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E") 0/6px 3px repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='3'%3E%3Cpath d='M0 2.5 1.5 .5 3 2.5 4.5 .5 6 2.5' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E") 0/6px 3px repeat-x}.deco-broken{background:linear-gradient(90deg,var(--warn) 50%,transparent 0) left bottom/4px 1px repeat-x;border-radius:0}.deco-link{color:var(--s-cmd);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;border-radius:0}.crumbs{border-bottom:1px solid var(--line-subtle);background:var(--surface);height:26px;color:var(--text-3);font-size:var(--fs-2);white-space:nowrap;flex:none;align-items:center;gap:1px;padding:0 10px;display:flex;overflow:hidden}.crumb{border-radius:var(--r-1);min-width:0;max-width:240px;height:20px;color:inherit;text-overflow:ellipsis;cursor:pointer;transition:background var(--t-press),color var(--t-press);background:0 0;border:0;flex:none;align-items:center;gap:5px;padding:0 5px;display:inline-flex;overflow:hidden}.crumb:hover{background:var(--hover);color:var(--text)}.crumb-file{color:var(--text-2);font-weight:500}.crumb-section{color:var(--text-2);flex:0 auto}.crumb-section span{text-overflow:ellipsis;min-width:0;overflow:hidden}.crumb-section b{font:500 var(--fs-1) var(--font-code);color:var(--text-3)}.crumb-section .icon{color:var(--text-3)}.crumb-section.stuck{animation:crumb-in var(--t-panel) var(--ease)}.crumb-env{background:color-mix(in srgb,var(--s-math) 9%,transparent);color:var(--s-math);font:var(--fs-1)/20px var(--font-code);padding:0 6px}.crumb-env:hover{background:color-mix(in srgb,var(--s-math) 16%,transparent);color:var(--s-math)}.crumb-sep{color:var(--line-strong);flex:none;place-items:center;display:grid}@keyframes crumb-in{0%{opacity:0;transform:translateY(-4px)}}.hover-card{z-index:7;border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--raised);width:max-content;max-width:min(440px,100% - 16px);box-shadow:var(--shadow);color:var(--text);font-size:var(--fs-2);animation:pop-in var(--t-pop) var(--ease);padding:10px 12px;line-height:1.5;position:absolute}.hover-card:before{content:"";left:var(--arrow,16px);border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong);background:var(--raised);width:10px;height:10px;position:absolute;top:-6px;transform:rotate(45deg)}.card-formula{border-radius:var(--r-2);background:#fff;place-items:center;min-height:36px;padding:6px 10px;display:grid}.card-formula canvas{max-width:100%;height:auto;display:block}[data-theme=dark] .card-formula{background:0 0}[data-theme=dark] .card-formula canvas{filter:invert()hue-rotate(180deg)}.card-formula:empty:before{content:"";background:var(--line);border-radius:5px;width:60%;height:10px;animation:1.2s ease-in-out infinite pulse}.card-text{max-width:400px;color:var(--text-2)}.card-code{border-radius:var(--r-2);background:var(--bg);color:var(--text);font:var(--fs-2)/1.5 var(--font-code);text-overflow:ellipsis;white-space:pre;margin:0;padding:6px 8px;overflow:hidden}.card-meta{color:var(--text-3);font-size:var(--fs-1);flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:7px;display:flex}.card-meta:first-child{margin-top:0}.card-meta b{color:var(--text-2);font:500 var(--fs-1) var(--font-code)}.card-meta kbd{font-size:10px}.card-image{max-width:240px;max-height:150px;box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:3px;margin:0 auto;display:block}.card-title{align-items:center;gap:6px;font-weight:500;display:flex}.card-title .icon{color:var(--warn)}.card-chips{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.card-chips button{border:1px solid var(--line-strong);border-radius:var(--r-1);background:var(--surface);height:22px;font:var(--fs-1) var(--font-code);cursor:pointer;padding:0 7px}.card-chips button:hover{border-color:var(--accent-text);background:var(--accent-soft)}.refs-head{color:var(--text-3);font-size:var(--fs-2);align-items:baseline;gap:8px;padding:6px 8px 4px;display:flex}.refs-head b{color:var(--text);font:500 var(--fs-2) var(--font-code)}.ref-row .problem-text{font:var(--fs-2)/1.6 var(--font-code);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ref-row mark{background:var(--accent-soft);color:var(--text);border-radius:2px;padding:0 2px}.palette-dialog:has(.with-preview){width:min(820px,100% - 32px)}.palette-scope{background:var(--accent-soft);height:22px;color:var(--accent-text);font-size:var(--fs-2);cursor:pointer;border:0;border-radius:11px;flex:none;align-items:center;gap:5px;padding:0 8px;font-weight:500;display:inline-flex}.palette-scope b,.palette-chip b{font:600 var(--fs-1) var(--font-code)}.palette-main{grid-template-columns:minmax(0,1fr);display:grid}.with-preview .palette-main{grid-template-columns:minmax(0,1fr) minmax(0,300px)}.palette-group{color:var(--text-3);font-size:var(--fs-1);letter-spacing:.06em;text-transform:uppercase;padding:8px 10px 3px;font-weight:600}.palette-group:first-child{padding-top:4px}.palette-glyph{text-align:center;width:16px;color:var(--text-2);flex:none;font:16px/1 Georgia,STIX Two Math,serif}.palette-item kbd{margin-left:6px}.palette-item small+kbd[hidden]{display:none}.palette-preview{border-left:1px solid var(--line-subtle);background:var(--panel);flex-direction:column;min-width:0;max-height:45vh;display:flex}.palette-preview-title{color:var(--text-3);font:var(--fs-1) var(--font-code);text-overflow:ellipsis;white-space:nowrap;padding:9px 12px 6px;overflow:hidden}.palette-preview pre{min-height:0;color:var(--text-2);font:var(--fs-1)/1.55 var(--font-code);white-space:pre-wrap;overflow-wrap:anywhere;flex:1;margin:0;padding:0 12px 12px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 80%,#0000);mask-image:linear-gradient(#000 80%,#0000)}.palette-body footer{align-items:center;gap:12px;display:flex}.palette-scopes{flex-wrap:wrap;gap:4px;display:flex}.palette-keys{white-space:nowrap;margin-left:auto}.palette-chip{border:1px solid var(--line);height:20px;color:var(--text-2);font-size:var(--fs-1);cursor:pointer;transition:background var(--t-press),border-color var(--t-press);background:0 0;border-radius:10px;align-items:center;gap:5px;padding:0 7px;display:inline-flex}.palette-chip:hover{border-color:var(--line-strong);color:var(--text)}.palette-chip[aria-pressed=true]{border-color:var(--accent-line,var(--accent-text));background:var(--accent-soft);color:var(--accent-text)}@media (max-width:600px){.palette-keys{display:none}}.popover{z-index:45;border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--raised);box-shadow:var(--shadow);animation:pop-in var(--t-pop) var(--ease);outline:none;position:absolute}.popover.closing{animation:.1s ease-in forwards pop-out}.inspector{width:min(360px,100vw - 24px);padding:12px 14px}.inspector header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.inspector header strong{font-size:var(--fs-3);font-weight:600}.insp-chip{border:1px solid var(--line-strong);font-size:var(--fs-1);font-variant-numeric:tabular-nums;border-radius:10px;margin-left:auto;padding:1px 8px;font-weight:500}.insp-chip[data-kind=live],.insp-chip[data-kind=reflow]{border-color:color-mix(in srgb,var(--accent-text) 50%,transparent);color:var(--accent-text)}.insp-timeline{border-bottom:1px solid var(--line);align-items:flex-end;gap:3px;height:64px;padding:0 1px;display:flex}.insp-timeline i{background:var(--accent);transform-origin:bottom;max-width:12px;height:100%;transform:scaleY(var(--h,.1));transition:transform var(--t-panel) var(--ease);border-radius:2px 2px 0 0;flex:1 1 0}.insp-timeline i.new{animation:bar-in var(--t-page) var(--spring)}.insp-timeline i[data-kind=reflow],.insp-legend i[data-kind=reflow]{background:repeating-linear-gradient(135deg,var(--accent) 0 3px,color-mix(in srgb,var(--accent) 45%,transparent) 3px 6px)}.insp-timeline i[data-kind=full],.insp-legend i[data-kind=full]{background:var(--s-cmd)}.insp-timeline i[data-kind=waiting],.insp-legend i[data-kind=waiting]{background:var(--line-strong)}.insp-legend{color:var(--text-3);font-size:var(--fs-1);flex-wrap:wrap;gap:3px 12px;margin-top:6px;display:flex}.insp-legend span{align-items:center;gap:5px;display:inline-flex}.insp-legend i{background:var(--accent);border-radius:2px;width:8px;height:8px}.insp-route{border-radius:var(--r-2);background:var(--bg);font-size:var(--fs-2);margin-top:10px;padding:9px 10px;line-height:1.55}.insp-route p{margin:0}.insp-route .insp-why{color:var(--text-3);font-size:var(--fs-1);margin-top:5px}.insp-route details{color:var(--text-3);font-size:var(--fs-1);margin-top:6px}.insp-route summary{cursor:pointer}.insp-route code{color:var(--text-2);font:var(--fs-1)/1.5 var(--font-code);overflow-wrap:anywhere;margin-top:4px;display:block}.insp-tag{border-radius:var(--r-1);background:var(--active);color:var(--text-2);font-size:var(--fs-1);vertical-align:1px;margin-right:7px;padding:0 6px;font-weight:600;line-height:1.7;display:inline-block}.insp-tag[data-kind=live]{background:var(--accent-soft);color:var(--accent-text)}.insp-tag[data-kind=reflow]{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-text)}.insp-tag[data-kind=full]{background:color-mix(in srgb,var(--s-cmd) 14%,transparent);color:var(--s-cmd)}.insp-kv{font-size:var(--fs-2);grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin:10px 0 0;display:grid}.insp-kv dt{color:var(--text-3)}.insp-kv dd{font-variant-numeric:tabular-nums;margin:0}.insp-kv dd[data-state=ok]{color:var(--ok)}.insp-kv dd[data-state=lag]{color:var(--warn)}.cap-live,.cap-bars{cursor:help}@keyframes bar-in{0%{transform:scaleY(0)}}.pdf-sync{border-radius:9px;padding:0 8px;font-weight:500}.pdf-sync[data-state=ok]{background:var(--ok-soft);color:var(--ok)}.pdf-sync[data-state=lag]{background:var(--warn-soft);color:var(--warn)}.pdf-sync[data-state=busy]{background:var(--active);color:var(--text-2)}button.pdf-sync[data-state=ok]:hover{background:var(--ok-soft);color:var(--ok)}button.pdf-sync[data-state=lag]:hover{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.export-btn{position:relative;overflow:hidden}.export-icon{display:grid}.export-icon .icon{transition:opacity var(--t-pop),transform var(--t-pop) var(--spring);grid-area:1/1}.export-icon .icon-check{opacity:0;color:var(--ok);transform:scale(.6)}.export-btn[data-state=done] .icon-download{opacity:0;transform:scale(.6)}.export-btn[data-state=done] .icon-check{opacity:1;transform:none}.export-btn:after{content:"";background:var(--accent);transform-origin:0;opacity:0;height:2px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.export-btn[data-state=working]:after{opacity:1;animation:progress var(--eta,2s) cubic-bezier(.3,.6,.4,1) forwards}.preview-body{flex:1;min-height:0;display:flex;position:relative}.preview-body .preview{flex:1;min-width:0}.thumbs{border-right:1px solid var(--line);background:color-mix(in srgb,var(--canvas) 72%,var(--panel));scrollbar-width:none;flex-direction:column;flex:none;align-items:center;gap:12px;width:76px;padding:14px 0 24px;display:flex;overflow-y:auto}.thumbs::-webkit-scrollbar{display:none}.thumb{color:var(--text-3);font-size:var(--fs-1);font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;flex-direction:column;flex:none;align-items:center;gap:4px;padding:0;display:flex;position:relative}.thumb canvas{width:52px;min-height:20px;transition:box-shadow var(--t-pop);background:#fff;border-radius:2px;display:block;box-shadow:0 0 0 1px #00000014,0 1px 2px #00000014}.thumb:hover canvas{box-shadow:0 0 0 1px var(--line-strong),0 2px 6px #0000001f}.thumb[aria-current=true]{color:var(--text);font-weight:500}.thumb[aria-current=true] canvas{box-shadow:0 0 0 2px var(--accent),0 2px 6px #0000001f}.app .thumb:focus-visible{box-shadow:none}.app .thumb:focus-visible canvas{box-shadow:0 0 0 2px var(--accent-text),0 0 0 5px var(--halo)}.thumb[data-provisional]:after{content:"≈";color:#6b4a00;background:#fff8e1;border-radius:3px;place-items:center;width:13px;height:13px;font-size:10px;line-height:1;display:grid;position:absolute;top:3px;right:3px;box-shadow:0 0 0 1px #b9890059}.thumb.flash canvas{animation:thumb-flash .7s var(--ease)}@keyframes thumb-flash{0%,30%{box-shadow:0 0 0 2px var(--accent),0 0 0 6px var(--accent-soft)}}.marker-chip{z-index:6;border:1px solid color-mix(in srgb,var(--accent-text) 40%,transparent);background:var(--raised);height:24px;color:var(--text-2);font-size:var(--fs-2);box-shadow:var(--shadow);cursor:pointer;animation:fade-in var(--t-pop) var(--ease);border-radius:12px;align-items:center;gap:6px;padding:0 10px;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.marker-chip[data-edge=top]{top:10px}.marker-chip[data-edge=bottom]{bottom:58px}.marker-chip:before{content:"";background:var(--accent);border-radius:2px;width:3px;height:12px}.marker-chip:hover{color:var(--text)}.sync-flash{pointer-events:none;background:var(--accent-soft);transform-origin:0;border-radius:3px;position:absolute}.app :is(.editor-pane,.preview-pane)[data-leaving]{z-index:0;pointer-events:none;position:absolute;display:flex!important}.main>:is(.editor-pane,.preview-pane){z-index:1}.deco-stop{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text-3) 70%,transparent);background:0 0;border-radius:3px;outline:1px dashed #0000}.deco-stop:not(.on){box-shadow:none;outline:1px dashed color-mix(in srgb,var(--text-3) 75%,transparent);outline-offset:-1px}.deco-stop.on{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent-text)}.fix-bulb{border-radius:var(--r-1);width:18px;color:var(--accent-text);pointer-events:auto;cursor:pointer;animation:fade-in var(--t-pop) var(--ease);transition:background var(--t-press),transform var(--t-press) var(--ease);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;left:3px}.fix-bulb .icon{width:13px;height:13px;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 45%,transparent))}.fix-bulb:hover{background:var(--accent-soft)}.fix-bulb:active{transform:scale(.92)}[data-theme=dark] .fix-bulb{color:var(--accent-bright)}.menu-note{max-width:340px;color:var(--text);font-size:var(--fs-2);overflow-wrap:anywhere;align-items:flex-start;gap:7px;padding:6px 8px 7px;line-height:1.4;display:flex}.menu-note .icon{width:13px;height:13px;color:var(--err);flex:none;margin-top:1.5px}.menu-note[data-tone=warning] .icon{color:var(--warn)}.menu-note[data-tone=info] .icon{color:var(--text-3)}.rename-pop{width:min(420px,100% - 16px);padding:10px}.rename-head{color:var(--text-2);font-size:var(--fs-2);align-items:baseline;gap:8px;margin:0 2px 8px;display:flex}.rename-head code{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-3);font:var(--fs-1) var(--font-code);overflow:hidden}.app .rename-input{width:100%;height:30px;font:var(--fs-3) var(--font-code);padding:0 9px}.rename-list{max-height:min(220px,40vh);margin:8px -4px 0;padding:0 4px;overflow:auto}.rename-row{border-radius:var(--r-1);grid-template-columns:minmax(0,max-content) minmax(0,1fr);align-items:baseline;gap:10px;padding:4px 6px;display:grid}.rename-row:nth-child(odd){background:var(--hover)}.rename-where{color:var(--text-3);font:var(--fs-1) var(--font-code);white-space:nowrap}.rename-row code{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-2);font:var(--fs-2) var(--font-code);overflow:hidden}.rename-row mark{background:var(--accent-soft);color:var(--text);box-shadow:inset 0 -1.5px 0 var(--accent);border-radius:3px;padding:0 2px}.rename-foot{color:var(--text-3);font-size:var(--fs-1);margin:8px 2px 0}.rename-foot[data-state=error]{color:var(--err)}.completion-item.cite{grid-template-columns:auto minmax(0,1fr);gap:1px 12px;display:grid}.completion-item.cite small{text-align:right}.completion-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-3);font-size:var(--fs-1);grid-column:1/-1;overflow:hidden}.tp-dialog{width:min(380px,100% - 32px)}.tp{gap:12px;margin-top:8px;display:grid}.tp-modes{border:1px solid var(--line);background:var(--bg);border-radius:8px;justify-self:start;gap:2px;padding:2px;display:flex}.tp-modes button,.tp-chips button{border-radius:var(--r-2);height:24px;color:var(--text-2);font-size:var(--fs-2);cursor:pointer;transition:background var(--t-press),color var(--t-press);background:0 0;border:0;padding:0 10px}.tp-modes button[aria-checked=true],.tp-chips button[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--line-strong),var(--shadow-1);font-weight:500}.tp-grid{border-radius:var(--r-3);background:var(--bg);cursor:pointer;outline:none;grid-template-columns:repeat(8,26px);justify-self:start;gap:4px;padding:6px;display:grid}.tp-grid i{border:1px solid var(--line-strong);background:var(--surface);border-radius:4px;width:26px;height:20px;transition:background 60ms,border-color 60ms}.tp-grid i.on{border-color:var(--accent-text);background:var(--accent-soft)}.app .tp-grid:focus-visible{box-shadow:var(--focus-ring)}.tp-out{font:500 var(--fs-3) var(--font-code);font-variant-numeric:tabular-nums}.tp-options{gap:8px;display:grid}.tp-field{color:var(--text-2);font-size:var(--fs-2);justify-content:space-between;align-items:center;gap:12px;display:flex}.tp-chips{border:1px solid var(--line);background:var(--bg);border-radius:8px;flex-wrap:wrap;gap:2px;padding:2px;display:flex}.tp-toggle{color:var(--text-2);font-size:var(--fs-2);cursor:pointer;align-items:center;gap:10px;display:flex;position:relative}.tp-toggle input{opacity:0;cursor:pointer;width:34px;height:20px;margin:0;position:absolute}.tp-toggle i{background:var(--line-strong);width:34px;height:20px;transition:background var(--t-panel);border-radius:10px;flex:none;position:relative}.tp-toggle i:after{content:"";width:16px;height:16px;transition:transform var(--t-page) var(--spring);background:#fff;border-radius:8px;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.tp-toggle input:checked+i{background:var(--accent)}.tp-toggle input:checked+i:after{transform:translate(14px)}.app .tp-toggle input:focus-visible+i{box-shadow:var(--focus-ring)}.history-dialog .dialog-actions .spacer{flex:1}.history-bar{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px;display:flex}.history-files{scrollbar-width:none;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.history-files::-webkit-scrollbar{display:none}.history-file{border-radius:var(--r-2);height:24px;color:var(--text-3);font:var(--fs-2) var(--font-code);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.history-file[data-changed=true]{color:var(--text-2)}.history-file:hover{background:var(--hover)}.history-file[aria-selected=true]{border-color:var(--line-strong);background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.history-file b{font-weight:500;font-size:var(--fs-1)}.history-file .plus{color:var(--ok)}.history-file .minus{color:var(--err)}.history-view{border:1px solid var(--line);background:var(--bg);border-radius:8px;flex:none;gap:2px;padding:2px;display:flex}.history-view button{border-radius:var(--r-2);height:22px;color:var(--text-2);font-size:var(--fs-2);cursor:pointer;background:0 0;border:0;padding:0 8px}.history-view button[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--line-strong);font-weight:500}.history-diff{min-height:0;font:var(--fs-2)/1.65 var(--font-code);flex:1;padding:4px 0 12px;overflow:auto}.history-diff .diff-head{z-index:1;background:var(--raised);color:var(--text-3);font:var(--fs-1) var(--font-ui);letter-spacing:.02em;padding:6px 12px;position:sticky;top:-4px}.diff-line{grid-template-columns:3.4ch 3.4ch 1.6ch minmax(0,1fr);padding-right:12px;display:grid}.diff-line code{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.diff-no{text-align:right;color:var(--text-3);font-size:var(--fs-1);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;padding-right:.6ch}.diff-sign{text-align:center;color:var(--text-3);-webkit-user-select:none;user-select:none}.diff-line.same code{color:var(--text-2)}.diff-line.add{background:color-mix(in srgb,var(--ok) 11%,transparent)}.diff-line.add .diff-sign{color:var(--ok)}.diff-line.del{background:color-mix(in srgb,var(--err) 10%,transparent)}.diff-line.del .diff-sign{color:var(--err)}.diff-line.del code{color:var(--text-2);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb,var(--err) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--err) 45%,transparent)}.diff-fold{background:var(--bg);width:100%;color:var(--text-3);font:var(--fs-1) var(--font-ui);text-align:center;cursor:pointer;border:0;margin:2px 0;padding:3px 12px;display:block}.diff-fold:hover{color:var(--text);background:var(--hover)}.history-same{color:var(--text-3);font-size:var(--fs-2);margin:16px 12px!important}.history-list small{font-variant-numeric:tabular-nums}.text-layer{letter-spacing:normal;word-spacing:normal;text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;--scale-round-x:1px;--scale-round-y:1px;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:auto;overflow:clip}.text-layer[data-stale]{display:none}.text-layer :is(span,br){color:#0000;white-space:pre;cursor:default;transform-origin:0 0;-webkit-user-select:text;user-select:text;position:absolute}.text-layer.selecting :is(span,br){cursor:text}.text-layer>:not(.markedContent),.text-layer .markedContent span:not(.markedContent){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.text-layer .markedContent{display:contents}.text-layer ::selection{background:color-mix(in srgb,var(--accent) 38%,transparent);color:#0000}.text-layer br::selection{background:0 0}.text-layer .endOfContent{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.text-layer.selecting .endOfContent{top:0}.text-layer mark.pdf-hit{background:color-mix(in srgb,var(--accent) 34%,transparent);color:#0000;border-radius:3px;margin:-1px;padding:1px}.text-layer mark.pdf-hit.current{background:color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 0 0 2px var(--accent)}.pdf-find{z-index:7;width:min(340px,100% - 24px);top:10px;right:12px}.text-note{z-index:4;background:var(--tip);color:var(--tip-ink);font-size:var(--fs-1);white-space:nowrap;pointer-events:none;animation:fade-in var(--t-pop) var(--ease);border-radius:999px;padding:3px 8px;position:absolute;transform:translate(-100%)}.page-tag{z-index:5;background:color-mix(in srgb,var(--tip) 88%,transparent);color:var(--tip-ink);font-size:var(--fs-1);font-variant-numeric:tabular-nums;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in var(--t-pop) var(--ease);border-radius:999px;padding:2px 9px;font-weight:500;position:absolute;transform:translate(-50%,-100%)}.zoom-label{overflow:hidden}.zoom-label span{display:inline-block}.zoom-note{color:var(--warn);font-size:var(--fs-1);white-space:nowrap;padding:0 6px}.preview[data-spread] .preview-content{grid-template-columns:repeat(2,max-content);place-content:start center;gap:16px;display:grid}.preview[data-spread=cover] .preview-content canvas[data-page="1"]{grid-column:2}[data-theme=dark][data-dark-pages=true] .preview-content canvas{background:#1c1e22}.projects-dialog{width:min(720px,100% - 32px)}.projects{flex-direction:column;gap:12px;margin-top:6px;display:flex}.projects-bar{align-items:center;gap:8px;display:flex}.projects-count{color:var(--text-3);font-size:var(--fs-2)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;max-height:min(520px,60vh);margin:0 -4px;padding:4px;display:grid;overflow:auto}.project-card{border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);min-width:0;transition:border-color var(--t-press),box-shadow var(--t-panel) var(--ease),transform var(--t-panel) var(--ease);display:flex;position:relative}.project-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.project-card[data-current]{border-color:color-mix(in srgb,var(--accent-text) 55%,transparent);box-shadow:0 0 0 3px var(--accent-soft)}.project-open{border-radius:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;min-width:0;padding:8px 8px 10px;display:flex}.project-thumb{aspect-ratio:1.2;border-radius:var(--r-1);background:var(--canvas);place-items:center;margin-bottom:6px;display:grid;overflow:hidden}.project-thumb img{width:56%;height:auto;box-shadow:var(--paper-shadow);background:#fff}.project-sheet{aspect-ratio:.77;width:44%;box-shadow:var(--paper-shadow);background-color:#fff;background-image:linear-gradient(#ddd,#ddd),repeating-linear-gradient(#0000 0 6px,#e9e9e4 6px 8px);background-position:50% 18%,50% 70%;background-repeat:no-repeat;background-size:50% 6%,70% 50%;background-attachment:scroll;background-origin:padding-box;background-clip:border-box}.project-open b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-3);font-weight:500;overflow:hidden}.project-open small{color:var(--text-3);font-size:var(--fs-1);font-variant-numeric:tabular-nums}.project-badge{background:var(--accent);color:var(--accent-ink);font-size:var(--fs-1);border-radius:999px;padding:1px 7px;font-weight:600;position:absolute;top:12px;left:12px}.project-more{border-radius:var(--r-2);background:color-mix(in srgb,var(--raised) 88%,transparent);opacity:0;width:26px;height:26px;transition:opacity var(--t-press);position:absolute;top:10px;right:10px}.project-card:hover .project-more,.project-more:focus-visible,.project-more[aria-expanded=true]{opacity:1}@media (hover:none){.project-more{opacity:1}}.project-new{min-height:170px;color:var(--text-3);font-size:var(--fs-2);cursor:pointer;background:0 0;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.project-new:hover{color:var(--text)}
