@font-face{font-family:Material Symbols Rounded;font-style:normal;font-weight:100 700;font-display:block;src:url(./material-symbols-rounded.GzsEeY_J.woff2)format("woff2")}.material-symbols-rounded{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"liga";direction:ltr;font-family:Material Symbols Rounded;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}:root{--md-icon-font:"Material Symbols Rounded";--md-icon-weight:400}@font-face{font-family:Maple Mono;src:url(./MapleMono-Regular.XeefuZ-3.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Maple Mono;src:url(./MapleMono-Bold.8xsx2msy.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Maple Mono;src:url(./MapleMono-Italic.BWmSkj1h.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Maple Mono;src:url(./MapleMono-BoldItalic.dTJCk8E5.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}:root{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"Maple Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-math:"New Computer Modern Math", "Latin Modern Math", serif;--ui-size:1;--ui-density:1;--ui-radius:1;--doc-text-size:16px;--space-0-5:calc(.125rem * var(--ui-density));--space-1:calc(.25rem * var(--ui-density));--space-1-5:calc(.375rem * var(--ui-density));--space-2:calc(.5rem * var(--ui-density));--space-2-5:calc(.625rem * var(--ui-density));--space-3:calc(.75rem * var(--ui-density));--space-3-5:calc(.875rem * var(--ui-density));--space-4:calc(1rem * var(--ui-density));--space-5:calc(1.25rem * var(--ui-density));--space-6:calc(1.5rem * var(--ui-density));--space-8:calc(2rem * var(--ui-density));--space-10:calc(2.5rem * var(--ui-density));--space-12:calc(3rem * var(--ui-density));--space-14:calc(3.5rem * var(--ui-density));--space-16:calc(4rem * var(--ui-density));--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--text-2xs:calc(.6875rem * var(--ui-size));--text-xs:calc(.75rem * var(--ui-size));--text-sm:calc(.8125rem * var(--ui-size));--text-md:calc(.875rem * var(--ui-size));--text-lg:calc(1rem * var(--ui-size));--text-xl:calc(1.125rem * var(--ui-size));--text-2xl:calc(1.25rem * var(--ui-size));--text-3xl:calc(1.5rem * var(--ui-size));--leading-none:1;--leading-tight:1.3;--leading-normal:1.45;--radius-xs:calc(.25rem * var(--ui-radius));--radius-sm:calc(.375rem * var(--ui-radius));--radius-md:calc(.5rem * var(--ui-radius));--radius-lg:calc(.75rem * var(--ui-radius));--radius-full:999px;--control-xs:calc(1.5rem * var(--ui-size));--control-sm:calc(1.75rem * var(--ui-size));--control-md:calc(2.25rem * var(--ui-size));--color-surface:#fff;--color-surface-2:#f3f4f6;--color-surface-3:#e9ebee;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-text:#1f2328;--color-text-secondary:#6b7280;--color-accent:#1e5aa0;--color-accent-soft:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));--color-danger:#b42828;--color-danger-soft:color-mix(in srgb, var(--color-danger) 12%, var(--color-surface));--color-ok:#2f6f4f;--color-ok-soft:color-mix(in srgb, var(--color-ok) 12%, var(--color-surface));--color-warning:#96660f;--color-warning-soft:color-mix(in srgb, var(--color-warning) 12%, var(--color-surface));--color-info:#0e7490;--color-info-soft:color-mix(in srgb, var(--color-info) 12%, var(--color-surface));--color-red:#b42828;--color-orange:#b45309;--color-yellow:#96660f;--color-green:#2f6f4f;--color-cyan:#0e7490;--color-blue:#1e5aa0;--color-violet:#6d4fa0;--color-code:#f6f8fa;--color-overlay:#00000059;--color-focus-ring:color-mix(in srgb, var(--color-accent) 55%, transparent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--color-surface:#1b1d21;--color-surface-2:#24272c;--color-surface-3:#2d3138;--color-border:#363b42;--color-border-strong:#4a5058;--color-text:#e8eaed;--color-text-secondary:#9aa1aa;--color-accent:#6ea6e3;--color-accent-soft:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));--color-danger:#e08585;--color-danger-soft:color-mix(in srgb, var(--color-danger) 12%, var(--color-surface));--color-ok:#7cc49d;--color-ok-soft:color-mix(in srgb, var(--color-ok) 12%, var(--color-surface));--color-warning:#d3a54f;--color-warning-soft:color-mix(in srgb, var(--color-warning) 12%, var(--color-surface));--color-info:#67c9e0;--color-info-soft:color-mix(in srgb, var(--color-info) 12%, var(--color-surface));--color-red:#e08585;--color-orange:#d9a05b;--color-yellow:#d3a54f;--color-green:#7cc49d;--color-cyan:#67c9e0;--color-blue:#6ea6e3;--color-violet:#b39ddb;--color-code:#15171a;--color-overlay:#0000008c;--color-focus-ring:color-mix(in srgb, var(--color-accent) 55%, transparent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#__nuxt{height:100%}:root{accent-color:var(--color-accent);caret-color:var(--color-accent);scrollbar-color:var(--color-border-strong) transparent}body{background:var(--color-surface-2);color:var(--color-text);font-family:var(--font-sans);margin:0}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}::placeholder{color:var(--color-text-secondary);opacity:1}.button{align-items:center;gap:var(--space-1-5);padding:var(--space-2);font-size:var(--text-md);white-space:nowrap;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;display:inline-flex}.button:hover{background:var(--color-surface-2)}.button:disabled{opacity:.55;cursor:default}.button--primary{color:var(--color-surface);background:var(--color-accent);border-color:var(--color-accent)}.button--primary:hover{background:color-mix(in srgb, var(--color-accent) 84%, var(--color-text))}.button--danger{color:var(--color-surface);background:var(--color-danger);border-color:var(--color-danger)}.button--danger:hover{background:color-mix(in srgb, var(--color-danger) 84%, var(--color-text))}.button--ghost{background:0 0;border-color:#0000}.button--ghost:hover{background:var(--color-surface-2)}.button--icon{width:var(--control-md);height:var(--control-md);line-height:var(--leading-none);justify-content:center;align-items:center;padding:0;display:inline-flex}.button .ms-icon,.sidebar__row .ms-icon,.menu__item .ms-icon{flex:none}.button--tiny{padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.button--small{padding:var(--space-1-5) var(--space-3);font-size:var(--text-sm)}.button--small.button--icon{width:var(--control-sm);height:var(--control-sm);padding:0}.button--tiny.button--icon{width:var(--control-xs);height:var(--control-xs);padding:0}.button--danger-icon{color:var(--color-danger)}.button--danger-icon:hover{color:var(--color-danger);background:var(--color-danger-soft);border-color:color-mix(in srgb, var(--color-danger) 30%, transparent)}.dialog-overlay{z-index:70;background:var(--color-overlay);position:fixed;inset:0}.dialog{width:min(420px, calc(100vw - var(--space-8)));max-height:calc(100dvh - var(--space-16) - var(--safe-top) - var(--safe-bottom));padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);z-index:75;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0003}.dialog__title{margin:0 0 var(--space-4);font-size:var(--text-2xl)}.asset-dialog{width:min(680px, calc(100vw - var(--space-8)))}.package-dialog{width:min(760px, calc(100vw - var(--space-8)))}.settings-dialog{width:min(56rem, calc(100vw - var(--space-8)));height:min(46rem, calc(100dvh - var(--space-16)));padding:var(--space-5);flex-direction:column;display:flex;overflow:hidden}@media (width<=48rem){.settings-dialog{width:calc(100vw - var(--space-8) - var(--safe-left) - var(--safe-right));height:calc(100dvh - var(--space-16) - var(--safe-top) - var(--safe-bottom));padding:var(--space-4)}}.dialog__description{margin:0 0 var(--space-4);font-size:var(--text-md);color:var(--color-text-secondary)}.dialog__form{gap:var(--space-3);flex-direction:column;display:flex}.dialog__field{gap:var(--space-1);font-size:var(--text-md);color:var(--color-text-secondary);flex-direction:column;display:flex}.dialog__path{font-size:var(--text-sm);color:var(--color-text-secondary);font-family:var(--font-mono);margin:0}.dialog__error{font-size:var(--text-md);color:var(--color-danger);margin:0}.dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.popover{width:min(368px, calc(100vw - var(--space-8)));max-height:calc(100dvh - 8rem);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);z-index:65;overflow-y:auto;box-shadow:0 10px 40px #00000026}.popover__title{margin:0 0 var(--space-3);font-size:var(--text-lg)}.cm-scroller{scrollbar-color:auto}.cm-scroller::-webkit-scrollbar{width:10px;height:10px}.cm-scroller::-webkit-scrollbar-track{background:0 0}.cm-scroller::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);background-clip:content-box;border:2px solid #0000}.cm-scroller::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-secondary);background-clip:content-box}.cm-selectionLayer{z-index:0}.typ-comment,.typ-punct,.typ-escape{color:var(--color-text-secondary)}.typ-strong{font-weight:700}.typ-emph{font-style:italic}.typ-link{color:var(--color-accent);text-decoration:underline}.typ-raw{color:var(--color-warning)}.typ-label,.typ-ref{color:color-mix(in srgb, var(--color-accent) 70%, var(--color-text))}.typ-heading{color:var(--color-text)}.typ-heading-level-1{color:var(--color-accent);font-size:2em;font-weight:400}.typ-heading-level-2{color:var(--color-text);font-size:1.75em;font-weight:400}.typ-heading-level-3{color:var(--color-text-secondary);font-size:1.5em;font-weight:400}.typ-heading-level-4{color:var(--color-accent);font-size:1.375em;font-weight:400}.typ-heading-level-5{color:var(--color-text);font-size:1em;font-weight:500}.typ-heading-level-6{color:var(--color-text-secondary);font-size:.875em;font-weight:500}.typ-marker{color:var(--color-text-secondary);font-weight:700}.typ-term{font-weight:700}.typ-math-delim{color:var(--color-text-secondary)}.typ-math-op,.typ-op{color:var(--color-danger)}.typ-key{color:var(--color-accent)}.typ-num,.typ-str{color:var(--color-warning)}.typ-func{color:color-mix(in srgb, var(--color-accent) 70%, var(--color-text))}.typ-pol{color:var(--color-text)}.typ-error{color:var(--color-danger)}.typst-render{vertical-align:top;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;display:inline-block;overflow:visible}.typst-render svg{width:var(--render-w)!important;height:var(--render-h)!important}.cm-content[contenteditable=true] .typst-render{border-radius:var(--radius-xs);transition:background-color .15s}.cm-content[contenteditable=true] .typst-render:hover{background-color:color-mix(in srgb, var(--color-accent) 8%, transparent)}.cm-content[contenteditable=true] .typst-render svg{cursor:text}.typst-popup-render{padding:var(--space-4);overscroll-behavior:contain;max-height:min(70vh,32rem);overflow:auto}.typst-popup-render div{position:relative}.typst-popup-render svg{width:100%!important;height:100%!important}.typst-hints{color:var(--color-text-secondary);font-size:var(--text-md)}.typbase-remote-cursor{background-color:color-mix(in srgb, var(--cursor-color) 25%, transparent);border-bottom:2px solid var(--cursor-color)}.typbase-remote-cursor-flag{padding:0 var(--space-1);font-size:var(--text-2xs);font-family:var(--font-mono);line-height:var(--leading-tight);color:#fff;background:var(--cursor-color);border-radius:var(--radius-xs) var(--radius-xs) var(--radius-xs) 0;pointer-events:none;white-space:nowrap;position:absolute;transform:translate(-2px,-100%)}.tb-cell-header{align-items:center;gap:var(--space-1);margin-right:var(--space-2);vertical-align:middle;font-size:var(--text-xs);-webkit-user-select:none;user-select:none;line-height:1;display:inline-flex}.tb-cell-btn{width:1.5rem;height:1.5rem;font-family:inherit;font-size:var(--text-xs);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.tb-cell-btn:hover{color:var(--color-text);background:var(--color-surface-2)}.tb-cell-btn--run{color:var(--color-accent)}.tb-cell-btn--type{gap:var(--space-1);width:auto;height:1.4rem;padding:0 var(--space-1-5);border:1px solid var(--color-border)}.tb-cell-counter{font-family:var(--font-mono);color:var(--color-text-secondary);flex:none;align-items:center;display:inline-flex}.tb-cell-spacer{flex:1}.tb-cell-actions{opacity:0;align-items:center;gap:0;transition:opacity .12s;display:inline-flex}.tb-cell-header:hover .tb-cell-actions,.tb-cell-header:focus-within .tb-cell-actions{opacity:1}@media (hover:none){.tb-cell-actions{opacity:1}}.tb-cell-marker{color:var(--color-text-secondary);background:var(--color-surface-2);font-size:var(--text-xs)}.tb-cell-marker.cm-line{padding-left:var(--space-1)}.tb-cell-output{margin:var(--space-1) 0 var(--space-3);padding-left:var(--space-3);border-left:2px solid var(--color-border)}.tb-cell-output--cleared,.tb-cell-output--empty{display:none}.tb-cell-output-body{gap:var(--space-1);flex-direction:column;display:flex}.tb-cell-frame{overflow:hidden}.tb-cell-frame .typst-render{cursor:text}.tb-cell-empty{font-size:var(--text-xs);color:var(--color-text-secondary);font-style:italic}.tb-cell-diagnostic{padding:var(--space-1-5) var(--space-2);font-size:var(--text-sm);color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 8%, transparent);border-radius:var(--radius-sm);white-space:pre-wrap}.tb-cell-diagnostic ul{margin:var(--space-1) 0 0;padding-left:var(--space-4);color:var(--color-text-secondary)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-toast{align-items:flex-start;gap:var(--space-2);width:min(22rem, calc(100vw - var(--space-8)));padding:var(--space-3);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;box-shadow:0 10px 40px #0000002e}.ui-toast--danger{border-color:color-mix(in srgb, var(--color-danger) 45%, var(--color-border))}.ui-toast__body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.ui-toast__title{font-size:var(--text-md);font-weight:600}.ui-toast--danger .ui-toast__title{color:var(--color-danger)}.ui-toast__description{font-size:var(--text-sm);color:var(--color-text-secondary)}.ui-toast__actions{gap:var(--space-1);margin-top:var(--space-1);display:flex}.ui-toast__close{width:var(--control-xs);height:var(--control-xs);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-toast__close:hover{color:var(--color-text);background:var(--color-surface-2)}.ui-toast__viewport{right:calc(var(--space-4) + var(--safe-right));bottom:calc(var(--space-4) + var(--safe-bottom));z-index:95;gap:var(--space-2);outline:none;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:fixed}
