.ribbon[data-v-4a626eec]{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;padding:.35rem 1rem;border-bottom:1px solid var(--ls-border, #e4e4e7);background:var(--ls-bg, #fff)}.ribbon__group[data-v-4a626eec]{display:flex;align-items:center;gap:.15rem}.ribbon__group--insert[data-v-4a626eec]{gap:.25rem}.ribbon__sep[data-v-4a626eec]{width:1px;align-self:stretch;background:var(--ls-border, #e4e4e7);margin:.1rem .35rem}.ribbon__label[data-v-4a626eec]{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ls-muted, #888);margin-right:.15rem}.ribbon__btn[data-v-4a626eec]{font:inherit;font-size:.8rem;line-height:1;min-width:1.8rem;padding:.3rem .5rem;border:1px solid var(--ls-border, #e4e4e7);border-radius:6px;background:var(--ls-bg, #fff);color:var(--ls-fg, #1a1a1a);cursor:pointer}.ribbon__btn[data-v-4a626eec]:hover{background:var(--ls-panel, #f7f7f8);border-color:var(--ls-accent, #1d4ed8)}.ribbon__btn--bold[data-v-4a626eec]{font-weight:800}.ribbon__btn--italic[data-v-4a626eec]{font-style:italic;font-family:Georgia,serif}.ribbon__btn--insert[data-v-4a626eec]{color:var(--ls-accent, #1d4ed8)}.lobby[data-v-751a7bdc]{height:100%;overflow-y:auto;background:var(--ls-bg)}.lobby__inner[data-v-751a7bdc]{max-width:56rem;margin:0 auto;padding:3rem 1.5rem 4rem}.lobby__head[data-v-751a7bdc]{position:relative;margin-bottom:2.5rem}.lobby__brand[data-v-751a7bdc]{font-size:1.75rem;font-weight:700;margin:0}.lobby__tagline[data-v-751a7bdc]{margin:.35rem 0 0;color:var(--ls-muted)}.lobby__guide[data-v-751a7bdc]{position:absolute;top:0;right:0;font:inherit;font-size:.82rem;font-weight:600;color:var(--ls-accent);background:none;border:1px solid var(--ls-border);border-radius:.4rem;padding:.3rem .7rem;cursor:pointer}.lobby__guide[data-v-751a7bdc]:hover{border-color:var(--ls-accent);background:color-mix(in srgb,var(--ls-accent) 8%,transparent)}.lobby__guidelink[data-v-751a7bdc]{font:inherit;font-size:.9rem;color:var(--ls-accent);background:none;border:none;padding:0;margin-left:.35rem;cursor:pointer}.lobby__guidelink[data-v-751a7bdc]:hover{text-decoration:underline}.lobby__section[data-v-751a7bdc]{margin-bottom:2.5rem}.lobby__h[data-v-751a7bdc]{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ls-muted);margin:0 0 .9rem}.lobby__hrow[data-v-751a7bdc]{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.lobby__hactions[data-v-751a7bdc]{display:flex;gap:.75rem}.linkbtn[data-v-751a7bdc]{font:inherit;font-size:.82rem;background:none;border:none;padding:0;color:var(--ls-accent);cursor:pointer;text-decoration:underline}.lobby__dir[data-v-751a7bdc]{margin:0 0 .6rem;font-size:.85rem;color:var(--ls-fg)}.lobby__kind[data-v-751a7bdc],.lobby__dir .lobby__kind[data-v-751a7bdc]{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:.08rem .35rem;border-radius:.25rem;color:var(--ls-muted);background:var(--ls-panel);margin-right:.4rem}.lobby__templates[data-v-751a7bdc]{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem}.tmpl[data-v-751a7bdc]{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left;font:inherit;padding:1rem;border:1px solid var(--ls-border);border-radius:.6rem;background:var(--ls-bg);color:var(--ls-fg);cursor:pointer;transition:border-color .12s,box-shadow .12s}.tmpl[data-v-751a7bdc]:hover{border-color:var(--ls-accent);box-shadow:0 1px 6px #1d4ed814}.tmpl--open[data-v-751a7bdc]{border-style:dashed}.tmpl__badge[data-v-751a7bdc]{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--ls-accent);background:color-mix(in srgb,var(--ls-accent) 12%,transparent);padding:.1rem .4rem;border-radius:.25rem}.tmpl__badge--muted[data-v-751a7bdc]{color:var(--ls-muted);background:var(--ls-panel)}.tmpl__name[data-v-751a7bdc]{font-weight:650;font-size:1.05rem}.tmpl__blurb[data-v-751a7bdc]{color:var(--ls-muted);font-size:.85rem;line-height:1.35}.tmpl__blurb code[data-v-751a7bdc],.lobby__empty code[data-v-751a7bdc]{font-family:var(--ls-mono);font-size:.9em}.lobby__empty[data-v-751a7bdc]{color:var(--ls-muted);font-size:.9rem;margin:0}.hist[data-v-751a7bdc]{list-style:none;margin:0;padding:0;border:1px solid var(--ls-border);border-radius:.6rem;overflow:hidden}.hist__row[data-v-751a7bdc]{display:flex;align-items:stretch;border-bottom:1px solid var(--ls-border)}.hist__row[data-v-751a7bdc]:last-child{border-bottom:none}.hist__open[data-v-751a7bdc]{flex:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;font:inherit;text-align:left;padding:.7rem 1rem;background:transparent;border:none;color:var(--ls-fg);cursor:pointer}.hist__open[data-v-751a7bdc]:hover{background:var(--ls-panel)}.hist__title[data-v-751a7bdc]{font-weight:550}.hist__meta[data-v-751a7bdc]{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.hist__kind[data-v-751a7bdc]{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:.08rem .35rem;border-radius:.25rem;color:var(--ls-muted);background:var(--ls-panel)}.hist__kind--file[data-v-751a7bdc]{color:var(--ls-accent);background:color-mix(in srgb,var(--ls-accent) 12%,transparent)}.hist__time[data-v-751a7bdc]{font-size:.78rem;color:var(--ls-muted)}.hist__star[data-v-751a7bdc]{font:inherit;font-size:1rem;line-height:1;padding:0 .6rem;background:transparent;border:none;border-left:1px solid var(--ls-border);color:var(--ls-muted);cursor:pointer}.hist__star.is-on[data-v-751a7bdc]{color:#eab308}.hist__star[data-v-751a7bdc]:hover{background:var(--ls-panel)}.hist__del[data-v-751a7bdc]{font:inherit;font-size:1.1rem;line-height:1;padding:0 .85rem;background:transparent;border:none;border-left:1px solid var(--ls-border);color:var(--ls-muted);cursor:pointer}.hist__del[data-v-751a7bdc]:hover{background:var(--ls-panel);color:var(--ls-fg)}.hist__more[data-v-751a7bdc]{border-bottom:1px solid var(--ls-border)}.hist__more[data-v-751a7bdc]:last-child{border-bottom:none}.hist__expand[data-v-751a7bdc]{font:inherit;font-size:.76rem;color:var(--ls-muted);background:transparent;border:none;padding:.3rem 1rem .4rem 1.6rem;cursor:pointer}.hist__expand[data-v-751a7bdc]:hover{color:var(--ls-fg)}.hist__row--older[data-v-751a7bdc]{background:var(--ls-panel)}.hist__row--older .hist__title[data-v-751a7bdc]{font-weight:450;font-size:.9rem;padding-left:.6rem;color:var(--ls-muted)}.hist__row--older .hist__open[data-v-751a7bdc]{padding-top:.5rem;padding-bottom:.5rem}.guide[data-v-7f2c652e]{height:100%;overflow-y:auto;background:var(--ls-bg)}.guide__inner[data-v-7f2c652e]{max-width:46rem;margin:0 auto;padding:2.5rem 1.5rem 4rem}.guide__head[data-v-7f2c652e]{margin-bottom:2rem}.guide__back[data-v-7f2c652e]{font:inherit;font-size:.85rem;font-weight:600;color:var(--ls-accent);background:none;border:none;padding:0;margin-bottom:1.25rem;cursor:pointer}.guide__back[data-v-7f2c652e]:hover{text-decoration:underline}.guide__title[data-v-7f2c652e]{font-size:1.9rem;font-weight:700;margin:0}.guide__lede[data-v-7f2c652e]{margin:.75rem 0 0;font-size:1.05rem;line-height:1.5}.guide__note[data-v-7f2c652e]{margin:.75rem 0 0;padding:.7rem .9rem;font-size:.9rem;line-height:1.45;color:var(--ls-fg);background:var(--ls-panel);border:1px solid var(--ls-border);border-radius:.5rem}.guide__toc[data-v-7f2c652e]{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;margin-bottom:2.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--ls-border)}.guide__toc a[data-v-7f2c652e]{font-size:.85rem;color:var(--ls-accent);text-decoration:none}.guide__toc a[data-v-7f2c652e]:hover{text-decoration:underline}.guide__section[data-v-7f2c652e]{margin-bottom:2.25rem;scroll-margin-top:1rem}.guide__section h2[data-v-7f2c652e]{font-size:1.25rem;font-weight:650;margin:0 0 .6rem}.guide__section p[data-v-7f2c652e]{margin:0 0 .7rem;line-height:1.55}.guide__section ul[data-v-7f2c652e]{margin:0 0 .7rem;padding-left:1.15rem}.guide__section li[data-v-7f2c652e]{margin-bottom:.45rem;line-height:1.5}.guide code[data-v-7f2c652e]{font-family:var(--ls-mono);font-size:.88em;background:var(--ls-panel);border:1px solid var(--ls-border);border-radius:.25rem;padding:.05rem .3rem}.guide__foot[data-v-7f2c652e]{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--ls-border)}.guide__back--foot[data-v-7f2c652e]{margin:0}.qp-backdrop[data-v-2b8a91cb]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000059;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.qp[data-v-2b8a91cb]{display:flex;flex-direction:column;width:min(52rem,100%);max-height:100%;background:var(--ls-bg);border:1px solid var(--ls-border);border-radius:.7rem;box-shadow:0 12px 40px #00000040;overflow:hidden}.qp__head[data-v-2b8a91cb]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--ls-border)}.qp__title[data-v-2b8a91cb]{margin:0;font-size:1.1rem;font-weight:700}.qp__sub[data-v-2b8a91cb]{margin:.15rem 0 0;font-size:.85rem;color:var(--ls-muted)}.qp__x[data-v-2b8a91cb]{font:inherit;font-size:1.4rem;line-height:1;background:none;border:none;color:var(--ls-muted);cursor:pointer}.qp__x[data-v-2b8a91cb]:hover{color:var(--ls-fg)}.qp__body[data-v-2b8a91cb]{overflow-y:auto;padding:.75rem 1rem;flex:1}.empty[data-v-2b8a91cb]{text-align:center;padding:2rem 1rem}.empty__lead[data-v-2b8a91cb]{color:var(--ls-muted);margin:0 0 1rem}.empty__actions[data-v-2b8a91cb]{display:flex;gap:.6rem;justify-content:center}.folder[data-v-2b8a91cb]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem;font-size:.85rem}.folder__badge[data-v-2b8a91cb]{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:.08rem .35rem;border-radius:.25rem;color:var(--ls-muted);background:var(--ls-panel);margin-right:.4rem}.folder__actions[data-v-2b8a91cb]{display:flex;gap:.75rem}.search[data-v-2b8a91cb]{width:100%;font:inherit;font-size:.9rem;padding:.4rem .6rem;border:1px solid var(--ls-border);border-radius:.4rem;margin-bottom:.6rem;box-sizing:border-box}.lessons[data-v-2b8a91cb]{list-style:none;margin:0;padding:0}.lesson[data-v-2b8a91cb]{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;width:100%;font:inherit;text-align:left;background:none;border:none;border-bottom:1px solid var(--ls-border);padding:.55rem .4rem;cursor:pointer;color:var(--ls-fg)}.lesson[data-v-2b8a91cb]:hover{background:var(--ls-panel)}.lesson__title[data-v-2b8a91cb]{font-weight:550}.lesson__counts[data-v-2b8a91cb]{flex-shrink:0;font-size:.78rem;color:var(--ls-muted)}.notice[data-v-2b8a91cb]{color:var(--ls-muted);font-size:.85rem;margin:.5rem 0}.notice--err[data-v-2b8a91cb]{color:#c81e1e}.ex[data-v-2b8a91cb]{border-bottom:1px solid var(--ls-border)}.ex[data-v-2b8a91cb]:last-child{border-bottom:none}.ex__head[data-v-2b8a91cb]{display:flex;align-items:center;gap:.6rem;width:100%;font:inherit;text-align:left;background:none;border:none;padding:.65rem .5rem;cursor:pointer;color:var(--ls-fg)}.ex__head[data-v-2b8a91cb]:hover{background:var(--ls-panel)}.ex__caret[data-v-2b8a91cb]{color:var(--ls-muted);width:1rem;flex-shrink:0}.ex__prompt[data-v-2b8a91cb]{flex:1;font-weight:550}.ex__count[data-v-2b8a91cb]{flex-shrink:0;font-size:.8rem;color:var(--ls-muted);display:flex;align-items:center;gap:.5rem}.ex__badge[data-v-2b8a91cb]{color:var(--ls-accent);background:color-mix(in srgb,var(--ls-accent) 12%,transparent);border-radius:.25rem;padding:.05rem .4rem;font-weight:700}.ex__body[data-v-2b8a91cb]{padding:0 .5rem .75rem 1.5rem}.ex__actions[data-v-2b8a91cb]{display:flex;gap:.9rem;margin-bottom:.5rem}.qs[data-v-2b8a91cb]{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}.q[data-v-2b8a91cb]{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border:1px solid var(--ls-border);border-radius:.5rem;cursor:pointer}.q[data-v-2b8a91cb]:hover{border-color:var(--ls-accent)}.q--on[data-v-2b8a91cb]{border-color:var(--ls-accent);background:color-mix(in srgb,var(--ls-accent) 8%,transparent)}.q__check[data-v-2b8a91cb]{width:1rem;flex-shrink:0;color:var(--ls-accent);font-weight:700}.q__answer[data-v-2b8a91cb]{font-weight:650;margin-left:.2rem}.linkbtn[data-v-2b8a91cb]{font:inherit;font-size:.8rem;background:none;border:none;padding:0;color:var(--ls-accent);cursor:pointer;text-decoration:underline}.qp__foot[data-v-2b8a91cb]{display:flex;align-items:center;gap:.6rem;padding:.8rem 1.25rem;border-top:1px solid var(--ls-border)}.qp__tally[data-v-2b8a91cb]{font-size:.85rem;color:var(--ls-muted)}.qp__spacer[data-v-2b8a91cb]{flex:1}.btn[data-v-2b8a91cb]{font:inherit;font-size:.85rem;padding:.4rem .9rem;border:1px solid var(--ls-border);border-radius:.4rem;background:var(--ls-bg);color:var(--ls-fg);cursor:pointer}.btn[data-v-2b8a91cb]:hover{background:var(--ls-panel)}.btn--primary[data-v-2b8a91cb]{background:var(--ls-accent);border-color:var(--ls-accent);color:#fff}.btn--primary[data-v-2b8a91cb]:disabled{opacity:.5;cursor:default}.pp[data-v-fc36027e]{display:flex;flex-direction:column;min-width:0;height:100%;overflow:auto;background:var(--ls-panel, #f7f7f8);border-left:1px solid var(--ls-border, #e4e4e7)}.pp__bar[data-v-fc36027e]{position:sticky;top:0;z-index:2;display:flex;align-items:baseline;gap:.5rem;padding:.35rem .6rem;font-size:.72rem;background:var(--ls-panel, #f7f7f8);border-bottom:1px solid var(--ls-border, #e4e4e7)}.pp__count[data-v-fc36027e]{font-weight:700}.pp__count.is-over[data-v-fc36027e]{color:#b45309}.pp__cols[data-v-fc36027e],.pp__hint[data-v-fc36027e]{color:var(--ls-muted, #666)}.pp__hint[data-v-fc36027e]{flex:1;text-align:right;min-width:0}.pp__pages[data-v-fc36027e]{display:flex;justify-content:center;padding:.75rem 0 1.5rem}.pp__page[data-v-fc36027e]{position:relative}.pp__clip[data-v-fc36027e]{width:calc(720px * var(--pp-scale));height:calc(var(--pp-page-h, 960px) * var(--pp-scale));overflow:hidden;background:#fff;box-shadow:0 1px 6px #00000029}.pp__flow[data-v-fc36027e]{width:720px;height:var(--pp-page-h, 960px);display:flex;flex-direction:column;zoom:var(--pp-scale)}.pp__flow[data-v-fc36027e] .ProseMirror{flex:1;min-height:0}.pp__more[data-v-fc36027e]{position:absolute;right:0;bottom:-1.15rem;font-size:.65rem;color:#b45309}.ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}.ProseMirror-gapcursor:after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}.ProseMirror-focused .ProseMirror-gapcursor{display:block}
