html,body{height:100%;margin:0}#app{height:100%}.app{color:#e6eaf2;background:#0b0f19;flex-direction:column;height:100vh;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;display:flex}.toolbar{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff05;border-bottom:1px solid #ffffff14;flex:none;justify-content:space-between;align-items:center;height:48px;padding:0 14px;display:flex;position:relative;overflow:visible}.toolbarLeft{align-items:center;gap:16px;display:flex}.bookPicker{opacity:.92;align-items:center;gap:8px;font-size:12px;display:flex}.bookPickerLabel{white-space:nowrap}.bookPickerSelect{min-width:160px;height:30px;color:inherit;font:inherit;background:#ffffff0a;border:1px solid #ffffff24;border-radius:8px;outline:none;padding:0 10px}.bookPickerSelect:focus{border-color:#ffd166b8;box-shadow:0 0 0 3px #ffd1661f}.bookPickerSelect:disabled{opacity:.6;cursor:not-allowed}.title{letter-spacing:.2px;font-weight:600}.menubar{align-items:center;display:flex}.menuItem{position:relative}.menuBtn{appearance:none;color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-family:inherit;font-size:13px}.menuBtn:hover,.menuItem.open .menuBtn{opacity:1;background:#ffffff14}.menuDropdown{z-index:100;background:#1a1e28;border:1px solid #ffffff1a;border-radius:6px;min-width:150px;margin-top:4px;padding:6px 0;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #00000080}.menuOption{cursor:pointer;align-items:center;gap:8px;padding:6px 16px;font-size:13px;display:flex}.menuOption:hover{background:#ffffff0f}.status{opacity:.8;font-size:13px}.modalBackdrop{z-index:120;background:#03050aad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirmDialog{background:#141925;border:1px solid #ffffff1a;border-radius:14px;width:min(420px,100%);padding:18px;box-shadow:0 24px 60px #00000073}.confirmDialogTitle{font-size:16px;font-weight:600}.confirmDialogBody{opacity:.86;margin-top:10px;font-size:13px;line-height:1.6}.tokenInput{box-sizing:border-box;width:100%;color:inherit;font:inherit;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:10px;outline:none;margin-top:14px;padding:10px 12px}.tokenInput:focus{border-color:#7c9cffb8;box-shadow:0 0 0 3px #7c9cff24}.confirmDialogActions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.dialogBtn{appearance:none;color:inherit;font:inherit;cursor:pointer;background:#ffffff08;border:1px solid #ffffff1f;border-radius:8px;padding:8px 14px}.dialogBtn:hover:enabled{background:#ffffff14}.dialogBtn:disabled{opacity:.6;cursor:not-allowed}.dialogBtnPrimary{color:#ffe1a3;background:#ffd16629;border-color:#ffd1664d}.layout{--explorer-w:0px;--editor-w:1fr;--preview-w:1fr;--image-w:0px;grid-template-columns:48px var(--explorer-w) var(--editor-w) var(--preview-w) var(--image-w);flex:auto;min-height:0;display:grid}.layout.explorerOpen{--explorer-w:280px}.layout.editorClosed{--editor-w:0fr}.layout.previewClosed{--preview-w:0fr}.layout.imageOpen{--image-w:1fr}.editor,.preview,.imagePreview{min-height:0}.rail{background:#0b0f19;border-right:1px solid #ffffff14;flex-direction:column;grid-area:1/1;gap:8px;padding:10px 8px;display:flex}.railBtn{appearance:none;color:inherit;cursor:pointer;background:#ffffff08;border:1px solid #ffffff1f;border-radius:10px;place-items:center;width:36px;height:36px;padding:0;display:grid;position:relative}.railBtn:hover{background:#ffffff0f}.railIcon{color:#e6eaf2eb;width:16px;height:16px;display:block}.tooltip{white-space:nowrap;opacity:0;pointer-events:none;background:#0a0d14f2;border:1px solid #ffffff1f;border-radius:10px;padding:6px 10px;font-size:12px;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:44px;transform:translateY(-50%)translate(-4px);box-shadow:0 16px 40px #00000059}.railBtn:hover .tooltip,.railBtn:focus-visible .tooltip{opacity:1;transform:translateY(-50%)translate(0)}.explorer{background:#0a0d14fa;border-right:1px solid #ffffff14;grid-area:1/2;width:100%;overflow:hidden}.explorerHeader{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:48px;padding:0 12px;display:flex}.explorerTitle{opacity:.92;font-size:13px;font-weight:600}.explorerClose{appearance:none;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;font-size:18px}.explorerClose:hover{opacity:1}.tree{padding:10px 8px 18px;font-size:12px}.treeEmpty{opacity:.7;padding:10px 12px;font-size:12px}.editorHeader{background:#ffffff05;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:36px;padding:0 12px;display:flex}.editorClose{appearance:none;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;padding:0;font-size:18px;line-height:1}.editorClose:hover{opacity:1}.fileName{opacity:.9;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;transition:color .12s,text-shadow .12s}.fileName.dirty{color:#ffd166;text-shadow:0 0 12px #ffd16633}.editor{background:#0b0f19;border-right:1px solid #ffffff14;flex-direction:column;display:flex;overflow:hidden}.editorBody{flex:auto;min-height:0;position:relative;overflow:hidden}.editorMeasure{box-sizing:border-box;visibility:hidden;pointer-events:none;tab-size:4;font-variant-ligatures:none;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.55;position:absolute;inset:0;overflow:hidden}.editorHighlightLayer{pointer-events:none;z-index:2;position:absolute;inset:0}.editorHighlightItem{box-sizing:border-box;background:0 0;border:2px solid #ffd000fa;border-radius:3px;position:absolute;box-shadow:0 0 0 1px #fff3aaf2,0 0 12px #ffd00047}textarea{box-sizing:border-box;resize:none;width:100%;height:100%;color:inherit;z-index:1;tab-size:4;font-variant-ligatures:none;background:0 0;border:0;outline:none;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.55;position:relative}.wrapEnabled{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;word-break:normal}.wrapDisabled{white-space:pre;word-wrap:normal;overflow-wrap:normal;word-break:normal}textarea::selection{color:#111;background:#ffd000e0}.preview{background:#0a0d14;flex-direction:column;grid-area:1/4;display:flex;overflow:hidden}.previewHeader{background:#ffffff05;border-bottom:1px solid #ffffff14;flex:none;justify-content:space-between;align-items:center;height:36px;padding:0 12px;display:flex}.previewTitle{opacity:.9;font-size:12px;font-weight:600}.previewClose{appearance:none;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;padding:0;font-size:18px;line-height:1}.previewClose:hover{opacity:1}.previewContent{flex:auto;padding:14px;overflow:auto}.paper{background:#fff;border-radius:12px;max-width:980px;margin:0 auto;padding:24px;box-shadow:0 16px 40px #00000059}.svg svg{width:100%;height:auto;display:block}.svg svg *{-webkit-user-select:text!important;user-select:text!important}.svg .typst-doc{--typst-cursor:text!important;cursor:text!important}.svg a[data-coord]{color:inherit;text-decoration:none;cursor:text!important;-webkit-user-drag:none!important;pointer-events:none!important}.svg a:not([data-coord]),.svg a:not([data-coord]) *{cursor:pointer!important;pointer-events:auto!important}.svg foreignObject,.svg foreignObject *,.svg g{cursor:text!important;pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important}.svg ::selection{color:inherit;background-color:#0078d766!important}.svg text::selection{fill:#000!important;background:#0078d766!important}.svg tspan::selection{fill:#000!important;background:#0078d766!important}.svg [data-coord] .typst-link,.svg [data-coord] .pseudo-link{pointer-events:none!important}.svg [data-coord].coordActive,.svg [data-coord].coordActive *,.svg .coordActive .pseudo-link{filter:drop-shadow(0 0 2px #ffd000fa)drop-shadow(0 0 10px #ffd0008c)}.error{background:#ff585814;border:1px solid #ff585859;border-radius:10px;padding:12px}.errorTitle{margin-bottom:8px;font-weight:600}pre{white-space:pre-wrap;word-break:break-word;opacity:.95;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.5}.empty{opacity:.7}.imagePreview{background:#0a0d14;flex-direction:column;grid-area:1/5;display:flex;overflow:hidden}.imageContent{flex:auto;justify-content:center;align-items:flex-start;padding:14px;display:flex;overflow:auto}.imagesScroll{flex-direction:column;gap:24px;width:100%;display:flex}.imageWrapper{flex-direction:column;display:flex}.imageLabel{opacity:.8;margin-bottom:8px;font-family:ui-monospace,monospace;font-size:12px}.imageContainer{max-width:100%;display:inline-block;position:relative}.baseImage{max-width:100%;height:auto;display:block}.overlaySvg{pointer-events:auto;width:100%;height:100%;position:absolute;top:0;left:0}.coordBox{cursor:move}.coordBox.active{filter:drop-shadow(0 0 4px #ff000073)}.boxHandle{fill:#0000;stroke:#ff8a8a;stroke-width:2px;opacity:.001;pointer-events:all;transition:opacity .12s,stroke .12s}.boxHandle:hover,.boxHandle.active{fill:#0000;stroke-width:2px;stroke:#ffb3b3;opacity:.9}.boxHandleTop,.boxHandleBottom{cursor:ns-resize}.boxHandleLeft,.boxHandleRight{cursor:ew-resize}@media (width<=960px){.layout{grid-template-columns:48px var(--explorer-w) 1fr;grid-template-rows:var(--editor-h,45vh) var(--preview-h,55vh) var(--image-h,0fr)}.layout.editorClosed{--editor-h:0fr;--preview-h:100vh}.layout.previewClosed{--editor-h:100vh;--preview-h:0fr}.layout.imageOpen{--editor-h:30vh;--preview-h:40vh;--image-h:30vh}.editor{border-bottom:1px solid #ffffff14;border-right:0}.preview{grid-area:2/1/auto/-1}.imagePreview{grid-area:3/1/auto/-1}}.node.svelte-vq68e5{margin:2px 0}.nodeBtn.svelte-vq68e5{appearance:none;width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.nodeBtn.svelte-vq68e5:hover{background:#ffffff0f}.nodeBtn.active.svelte-vq68e5{background:#ffffff1a}.chev.svelte-vq68e5{opacity:.75;width:14px}.dot.svelte-vq68e5{opacity:.55;width:14px}.children.svelte-vq68e5{border-left:1px dashed #ffffff1a;margin-left:8px;padding-left:14px}
