:root{--bg:#f4f6f9;--surface:#fff;--text:#1c2430;--muted:#5a6577;--border:#d6dce5;--accent:#1f5fbf;--accent-contrast:#fff;--doc:#1f5fbf;--sheet:#2e8b4e;--pres:#c8641a;--danger:#b3261e;--focus:#ffb400;--sel:#1f5fbf26;--radius:8px;--header-h:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14181f;--surface:#1d232c;--text:#e6eaf0;--muted:#9aa5b5;--border:#333c49;--accent:#6ea2f5;--accent-contrast:#0b1220;--doc:#6ea2f5;--sheet:#5cc27f;--pres:#f0995a;--danger:#ff8a80;--sel:#6ea2f540;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#14181f;--surface:#1d232c;--text:#e6eaf0;--muted:#9aa5b5;--border:#333c49;--accent:#6ea2f5;--accent-contrast:#0b1220;--doc:#6ea2f5;--sheet:#5cc27f;--pres:#f0995a;--danger:#ff8a80;--sel:#6ea2f540;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:100;background:var(--surface);padding:8px;top:8px;left:8px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button,select,input{font:inherit;color:inherit}button,select,a.button-like{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;min-height:32px;padding:4px 10px}a.button-like{box-sizing:border-box;color:var(--text);align-items:center;text-decoration:none;display:inline-flex}button:hover,select:hover,a.button-like:hover{border-color:var(--accent)}button[aria-pressed=true]{background:var(--sel);border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}.app{height:100vh;flex-direction:column;height:100dvh;display:flex}.app.dragging:after{content:attr(data-drop-label);border:4px dashed var(--accent);pointer-events:none;background:#1f5fbf33;place-items:center;font-size:1.5rem;font-weight:600;display:grid;position:fixed;inset:0}.app-header{min-height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;display:flex}.brand{flex:none;width:1.75rem;height:1.75rem;display:block}.doc-name{text-overflow:ellipsis;white-space:nowrap;max-width:40vw;font-weight:600;overflow:hidden}button.doc-name{font-size:inherit;color:inherit;cursor:text;background:0 0;border-color:#0000;padding:2px 6px}button.doc-name:hover{border-color:var(--border);background:var(--sel)}.doc-rename-form{align-items:baseline;min-width:0;max-width:50vw;font-weight:600;display:inline-flex}.doc-rename{font:inherit;min-width:6rem;max-width:100%;padding:2px 6px}.doc-ext{color:var(--muted);padding-left:2px}.modified{color:var(--accent)}.header-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.app-alert{background:var(--danger);color:#fff;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.app-alert button{color:inherit;background:0 0;border-color:#0000}.app-alert[hidden]{display:none}.app-main{flex:1;min-height:0;scroll-padding-top:64px;position:relative;overflow:auto}.app-status{color:var(--muted);background:var(--surface);border-top:1px solid var(--border);padding:4px 12px;font-size:.85rem}.app-busy{bottom:calc(40px + var(--keyboard-inset,0px));background:var(--text);color:var(--bg);border-radius:20px;padding:8px 16px;position:fixed;left:50%;transform:translate(-50%)}.update-banner{bottom:calc(16px + var(--keyboard-inset,0px));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:8px;padding:10px 14px;display:flex;position:fixed;right:16px;box-shadow:0 4px 16px #0003}.start{max-width:880px;margin:0 auto;padding:32px 16px}.start h1{flex-wrap:wrap;align-items:center;gap:0 12px;margin:0 0 4px;font-size:2rem;display:flex}.start-logo{flex:none;width:4rem;height:4rem}.tagline{color:var(--muted);margin-top:0}.start-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:24px 0;display:grid}.card{text-align:left;border-radius:var(--radius);border-left:6px solid var(--accent);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:10px;min-height:110px;padding:16px;font-size:1.05rem;font-weight:600;display:flex}.card[data-icon]:before{content:attr(data-icon);content:attr(data-icon) / "";font-size:2rem;font-weight:400;line-height:1}.card:hover[data-icon]:before{transform:scale(1.08)}.card.doc{border-left-color:var(--doc)}.card.sheet{border-left-color:var(--sheet)}.card.pres{border-left-color:var(--pres)}.card.template{border-left-color:#8e6ad8;grid-column:span 2}@media (max-width:340px){.card.template{grid-column:auto}}.places-list ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.places-list li{align-items:center;gap:4px;display:flex}.places-list .place-open{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.hint{color:var(--muted);font-size:.9rem}.recent h2{font-size:1.1rem}.recent ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.recent li{align-items:center;gap:8px;display:flex}.recent li .open-recent{text-align:left;flex:1;justify-content:space-between;gap:8px;display:flex}.recent li .meta{color:var(--muted);font-size:.85rem}.toolbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:5;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 12px;display:flex;position:sticky;top:0}.toolbar .sep{background:var(--border);align-self:stretch;width:1px;margin:0 4px}.toolbar button{min-width:32px}@media print{.app-header,.app-status,.toolbar,.app-alert,.skip-link,.update-banner{display:none!important}.app{height:auto}.app-main{overflow:visible}body,:root{color:#000;background:#fff}}.dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);max-width:min(520px,100vw - 32px);padding:20px}.dialog::backdrop{background:#0006}.dialog h2{margin-top:0;font-size:1.2rem}.choices{gap:6px;max-height:50vh;margin:12px 0;display:grid;overflow:auto}.choice{align-items:center;gap:8px;font-family:ui-monospace,monospace;display:flex}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}button.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.doc-editor{flex-direction:column;min-height:100%;display:flex}.doc-body{flex:1;align-items:flex-start;min-width:0;display:flex}.doc-scroll{flex:1;min-width:0;padding:24px 12px 48px}.doc-page .comment-anchor{background:#ffc40047;border-bottom:2px solid #d9a400}.doc-editor{--comment-active:#ffaa008c}.doc-side{box-sizing:border-box;flex:none;width:19rem;max-height:100vh;padding:16px 12px 24px 0;position:sticky;top:0;overflow:auto}.doc-side:not(:has(>:not([hidden]))){display:none}.doc-comments[hidden],.doc-changes[hidden]{display:none}.doc-comments h2,.doc-changes h2{color:var(--muted);margin:8px 0;font-size:.95rem}.doc-page [data-solution]{background:#eef8f0;border-left:3px solid #2e8b4e;padding-left:8px}.doc-page [data-solution]:not(.list-item):not([data-solution]+[data-solution]):before{content:var(--solution-label,"Solution");color:#1f6b3a;text-transform:uppercase;letter-spacing:.04em;font:600 8pt system-ui,sans-serif;display:block}.doc-editor.hide-solutions .doc-page [data-solution]{display:none}.doc-page ins.tracked{color:#0a6e2e;background:#0a6e2e14;-webkit-text-decoration:underline #0a6e2e;text-decoration:underline #0a6e2e}.doc-page del.tracked{color:#b3261e;background:#b3261e0f;text-decoration:line-through}.comment-card.change-card{border-left-color:#0a6e2e}.comment-card.change-card.delete{border-left-color:#b3261e}.change-text{overflow-wrap:anywhere;margin:2px 0;display:block}.change-all{margin-bottom:8px}.track-btn[aria-pressed=true]{color:#fff;background:#0a6e2e;border-color:#0a6e2e}.comment-card,.comment-compose{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-left:4px solid #d9a400;margin-bottom:10px;padding:8px 10px;font-size:.875rem}.comment-card{cursor:pointer}.comment-card.active{border-color:var(--accent);border-left-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.comment-card.resolved{opacity:.7;border-left-color:var(--muted)}.comment-quote{border-left:2px solid var(--border);color:var(--muted);overflow-wrap:anywhere;margin:0 0 6px;padding-left:6px;font-style:italic}.comment-entry.reply{border-top:1px solid var(--border);margin-left:12px;padding-top:6px}.comment-meta{color:var(--muted);margin:0 0 2px;font-size:.8rem}.comment-meta strong{color:var(--text)}.comment-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 4px}.comment-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.comment-actions button{padding:2px 8px;font-size:.8rem}.comment-actions button.danger{color:var(--danger)}.comment-compose textarea{box-sizing:border-box;width:100%;font:inherit}@media (max-width:1100px){.doc-body{flex-direction:column;align-items:stretch}.doc-side{width:auto;max-height:none;padding:0 12px 24px;position:static}}@media print{.doc-side{display:none}.doc-page .comment-anchor{background:0 0;border:0}}.doc-page{box-sizing:border-box;width:var(--page-w,816px);max-width:100%;min-height:var(--page-h,1056px);padding:var(--page-pad,72px 80px);color:#1c2430;--page-mark:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--text-h,960px) - 1px), var(--page-line,#6e7d91b3) calc(var(--text-h,960px) - 1px), var(--page-line,#6e7d91b3) var(--text-h,960px));background:var(--page-mark) left calc(-1 * var(--page-left,80px)) top 0 / calc(var(--page-left,80px) - 10px) var(--text-h,960px) repeat-y content-box padding-box, var(--page-mark) right calc(-1 * var(--page-right,80px)) top 0 / calc(var(--page-right,80px) - 10px) var(--text-h,960px) repeat-y content-box padding-box, var(--paper-white);white-space:pre-wrap;overflow-wrap:break-word;outline:none;margin:0 auto;font-family:Calibri,Carlito,Segoe UI,system-ui,sans-serif;font-size:11pt;line-height:1.45;position:relative;box-shadow:0 1px 3px #00000026,0 8px 24px #00000014}.doc-page:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.doc-page h1{font-size:20pt}.doc-page h2{font-size:16pt}.doc-page h3{font-size:14pt}.doc-page h4,.doc-page h5,.doc-page h6{font-size:12pt}.doc-page p{margin:0 0 8pt}.doc-page blockquote{color:#404a57;border-left:4px solid #c7d0dc;margin:0 0 8pt;padding-left:16px;font-style:italic}.doc-page blockquote+blockquote{margin-top:-8pt;padding-top:4pt}.doc-page pre+pre{padding-top:0}.doc-page blockquote p{margin:0}.doc-page pre,.doc-page code{background:#f2f4f7;font-family:ui-monospace,Liberation Mono,Consolas,monospace;font-size:10pt}.doc-page pre{white-space:pre-wrap;margin:0 0 8pt;padding:2px 8px}.doc-page pre:has(+pre){margin-bottom:0}.doc-page .pm-atom.pm-display,.doc-page .pm-atom.pm-diagram,.doc-page .pm-atom.pm-code_cell{display:block}.doc-page .pm-field{background:#e8ecf2;border-radius:3px;padding:0 1px}@media print{.doc-page .pm-field{background:0 0;padding:0}}.form-input{vertical-align:baseline;display:inline-block}.form-input input[type=text]{font:inherit;color:inherit;background:color-mix(in srgb, var(--accent,#2563eb) 7%, transparent);border:0;border-bottom:1px solid;min-width:9em;padding:0 3px}.form-input input[type=checkbox]{vertical-align:-.1em;width:1em;height:1em;margin:0 2px}.form-input select{font:inherit;color:inherit;background:color-mix(in srgb, var(--accent,#2563eb) 7%, transparent)}.form-input[data-required]:after{content:" *";color:#c0392b}@media print{.form-input input[type=text],.form-input select{background:0 0}}.doc-page .pm-atom.ProseMirror-selectednode{outline:2px solid var(--accent);border-radius:4px}.doc-page code{border-radius:3px;padding:0 3px}.doc-page table{border-collapse:collapse;width:100%;margin:0 0 8pt}.doc-page td,.doc-page th{vertical-align:top;border:1px solid #8a94a3;padding:4px 6px}.doc-page td p,.doc-page th p{margin:0}.doc-page th{text-align:left;background:#eef1f5;font-weight:600}.toolbar.table-bar{background:var(--bg);padding:4px 12px;position:static}.toolbar.table-bar[hidden]{display:none}.table-bar-label{color:var(--muted);margin-right:4px;font-weight:600}.doc-page img{max-width:100%;height:auto}.doc-page a{color:#0563c1}.doc-page hr{border:0;border-top:1px solid #8a94a3;margin:12pt 0}@media (max-width:700px){.doc-scroll{padding:0}.doc-page{width:auto;min-height:100%;box-shadow:none;background-image:none;padding:24px 16px}}@media print{.doc-scroll{padding:0}.doc-page{box-shadow:none;background-image:none;width:auto;max-width:none;min-height:0;padding:0}}.sheet-editor{flex-direction:column;height:100%;display:flex}.formula-bar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:4px 12px;display:flex}.name-box{border:1px solid var(--border);text-align:center;border-radius:4px;min-width:64px;padding:4px 8px;font-family:ui-monospace,monospace}.fx{color:var(--muted);font-style:italic}.formula-input{border:1px solid var(--border);background:var(--bg);border-radius:4px;flex:1;min-width:0;padding:4px 8px;font-family:ui-monospace,monospace}.grid-viewport{background:var(--surface);outline:none;flex:1;min-height:0;position:relative;overflow:auto}.grid-viewport:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}table.grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;font-size:.9rem}.grid th,.grid td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;height:24px;padding:0 6px;overflow:hidden}.grid thead th{z-index:2;background:var(--bg);color:var(--muted);text-align:center;font-weight:500;position:sticky;top:0}.grid th.rowhead{z-index:1;background:var(--bg);color:var(--muted);text-align:right;font-weight:500;position:sticky;left:0}.grid th.corner{z-index:3;left:0}.grid th.hl{background:var(--sel);color:var(--text)}.grid tr.spacer td,.grid tr.spacer{border:0;padding:0}.grid td{cursor:cell}.grid td.frz-r,.grid td.frz-c{background:var(--surface);position:sticky}.grid th.frz-r{position:sticky}.grid td.frz-c{z-index:1}.grid td.frz-r{z-index:2}.grid th.rowhead.frz-r,.grid td.frz-r.frz-c,.grid thead th.frz-c{z-index:3}.grid .frz-last-r{border-bottom:2px solid var(--muted)}.grid .frz-last-c{border-right:2px solid var(--muted)}.grid td.filled{background:var(--fill)}.grid td.filter-head{padding-right:20px}.grid td.filter-head:not(.frz-r):not(.frz-c){position:relative}.grid .filter-btn{border:1px solid var(--border);background:var(--surface);min-width:18px;height:19px;color:var(--text);cursor:pointer;border-radius:3px;padding:0 3px;font-size:11px;line-height:1;position:absolute;top:2px;right:1px}.grid .filter-btn.on{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.filter-dialog .filter-values{border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:2px;max-height:50vh;margin:4px 0 8px;padding:4px;display:flex;overflow:auto}.filter-dialog .filter-values label[hidden]{display:none}.filter-dialog input[type=search]{box-sizing:border-box;width:100%;margin-bottom:6px}.grid td.bordered{box-shadow:inset 0 0 0 1px var(--text)}.grid td.num{text-align:right;font-variant-numeric:tabular-nums}.grid td.bool{text-align:center}.grid td.err{color:var(--danger);text-align:center}.grid td.sel{background:var(--sel)}.grid td.active{outline:2px solid var(--accent);outline-offset:-2px}.grid td:has(>.fill-handle):not(.frz-r):not(.frz-c){position:relative}.grid .fill-handle{background:var(--accent);border:1px solid var(--bg,#fff);cursor:crosshair;z-index:2;width:7px;height:7px;position:absolute;bottom:0;right:0}.grid td.fill-preview{outline:1px dashed var(--accent);outline-offset:-1px}.grid td:has(>.dv-button):not(.frz-r):not(.frz-c){position:relative}.grid .dv-button{border:1px solid var(--border);background:var(--surface);min-width:18px;height:19px;color:var(--text);cursor:pointer;z-index:2;border-radius:3px;padding:0 3px;font-size:11px;line-height:1;position:absolute;top:2px;right:9px}.grid td.invalid{background-image:linear-gradient(225deg, var(--danger,#c62828) 6px, transparent 6px)}.dv-list{z-index:6;background:var(--surface);max-height:14rem;color:var(--text);border:1px solid var(--border);border-radius:4px;outline:none;position:absolute;overflow:auto;box-shadow:0 4px 12px #0003}.grid .dv-button:after{content:"▾"}.dv-option{cursor:pointer;white-space:nowrap;padding:4px 10px}.dv-option:hover,.dv-option.current{background:var(--sel)}.dv-option[aria-selected=true]{font-weight:600}.dv-hint{z-index:5;background:var(--surface);max-width:18rem;color:var(--text);border:1px solid var(--border);border-left:3px solid var(--accent);pointer-events:none;border-radius:4px;flex-direction:column;gap:2px;padding:6px 10px;font-size:.85rem;display:flex;position:absolute;box-shadow:0 2px 8px #00000026}.validation-dialog .field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.validation-dialog details{margin:8px 0}.validation-dialog summary{cursor:pointer;margin-bottom:8px}.validation-dialog .error{color:var(--danger,#c62828)}.cf-dialog .field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.cf-dialog h3{margin:12px 0 6px;font-size:1rem}.cf-dialog .cf-row{flex-wrap:wrap;align-items:end;gap:8px 12px;display:flex}.cf-dialog .cf-style{border:1px solid var(--border);border-radius:4px;margin:8px 0}.cf-dialog .error{color:var(--danger)}.cf-swatch{border:1px solid var(--border);background:var(--surface);min-width:5rem;color:var(--text);border-radius:3px;padding:2px 8px;font-size:.85rem;display:inline-block}.cf-list{gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.cf-list li{align-items:center;gap:8px;display:flex}.cf-list li>span:nth-child(2){flex:1}.cell-input{z-index:4;border:2px solid var(--accent);font:inherit;background:var(--surface);color:var(--text);box-sizing:border-box;padding:0 5px;font-size:.9rem;position:absolute}.sheet-tabs{background:var(--bg);border-top:1px solid var(--border);gap:4px;padding:4px 8px;display:flex;overflow-x:auto}.sheet-tab[aria-selected=true]{background:var(--surface);border-color:var(--accent);font-weight:600}.print-only{display:none}@media print{body.printing-sheet #app{display:none}body.printing-sheet .print-only{display:block}.print-grid{border-collapse:collapse;font-size:9pt}.print-grid td{border:1px solid #999;padding:2px 4px}.print-grid td.num{text-align:right}}.pdf-viewer{flex-direction:column;height:100%;display:flex}.pdf-notice{color:#5c4400;border-bottom:1px solid var(--border);background:#fff4ce;padding:6px 12px}.pdf-scroll{background:#525659;outline:none;flex:1;min-height:0;overflow:auto}.pdf-pages{flex-direction:column;align-items:center;gap:12px;padding:12px;display:flex}.pdf-pages.spread{grid-template-columns:repeat(var(--columns), auto);justify-content:center;align-items:start;display:grid}.pdf-pages.paged{box-sizing:border-box;place-content:center;min-height:100%}.pdf-pages.paged:not(.spread){justify-content:center}.pdf-page[hidden]{display:none}.pdf-page{background:#fff;flex:none;position:relative;box-shadow:0 2px 8px #0006}.pdf-canvas{position:absolute;inset:0}.page-input{text-align:right;border:1px solid var(--border);background:var(--surface);border-radius:4px;width:4em;padding:4px}.zoom-label{text-align:center;font-variant-numeric:tabular-nums;min-width:3.5em}.toolbar label.check{align-items:center;gap:4px;display:inline-flex}.textLayer{opacity:1;transform-origin:0 0;z-index:0;text-align:initial;forced-color-adjust:none;line-height:1;position:absolute;inset:0;overflow:clip}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}.textLayer{--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))}.textLayer>:not(.markedContent),.textLayer .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))}.textLayer .markedContent{display:contents}.textLayer ::selection{color:#0000;background:#0000ff40}.textLayer mark.pdf-hit{color:#0000;background:#ffc80073;border-radius:2px}.textLayer mark.pdf-hit.current{background:#ff7800b3;outline:2px solid #c25400}.pdf-find{align-items:center;gap:6px;display:flex}.pdf-find[hidden]{display:none}.pdf-find-input{width:min(20rem,50vw)}.pdf-find-count{color:var(--muted);min-width:5em}.textLayer .endOfContent{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.pdf-form-layer,.pdf-stamp-layer{pointer-events:none;z-index:2;position:absolute;inset:0}.pdf-body{flex:1;min-height:0;display:flex}.pdf-body .pdf-scroll{flex:1;min-width:0}.pdf-note-layer{pointer-events:none;z-index:1;position:absolute;inset:0}.pdf-highlight{mix-blend-mode:multiply;background:#ffd80073;position:absolute}.pdf-note-icon{pointer-events:auto;cursor:help;background:#ffdb33;border:1px solid #735900;border-radius:3px;place-items:center;font-size:16px;display:grid;position:absolute}.placing-note .pdf-page{cursor:crosshair}.pdf-notes-panel{background:var(--bg);border-left:1px solid var(--border);box-sizing:border-box;flex:none;width:18rem;padding:8px 10px;overflow:auto}.pdf-notes-panel[hidden]{display:none}.pdf-notes-panel h2{color:var(--muted);margin:4px 0 8px;font-size:.95rem}.pdf-note-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-left:4px solid #d9a400;margin-bottom:8px;padding:6px 8px;font-size:.875rem}.pdf-note-card textarea{box-sizing:border-box;width:100%;font:inherit}.pdf-note-card.existing{border-left-color:var(--muted)}@media (max-width:800px){.pdf-body{flex-direction:column}.pdf-notes-panel{border-left:0;border-top:1px solid var(--border);width:auto;max-height:40vh}}.pdf-field{pointer-events:auto;box-sizing:border-box;color:#000;background:#dde4ffbf;border:1px solid #1f5fbf80;margin:0;padding:0 2px;font-family:Helvetica,Arial,sans-serif;position:absolute}.pdf-field:focus{outline:2px solid var(--accent);background:#fff}textarea.pdf-field{resize:none}.pdf-field.invalid{background:#faeeee;outline:2px solid #c62828}.pdf-field.comb{letter-spacing:.5em;font-family:ui-monospace,monospace}.pdf-field-wrap{pointer-events:auto;display:block;position:absolute}.pdf-field-wrap>.pdf-field{box-sizing:border-box;width:100%;height:100%;position:static}.form-props-section{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 10px;padding:6px 12px 4px}.form-props-section legend{padding:0 4px;font-weight:600}.form-props-section .field[hidden]{display:none}.form-try{align-items:center;gap:8px;display:flex}.form-try-verdict.error{color:#c62828}.form-field-dialog{max-height:90vh;overflow:auto}.form-props-section .check{margin:4px 0;display:block}.pdf-stamp{pointer-events:auto;cursor:move;touch-action:none;z-index:3;color:#000;border:1px dashed #0000;align-items:center;font-family:Helvetica,Arial,sans-serif;display:flex;position:absolute}.pdf-stamp:hover,.pdf-stamp:focus{border-color:var(--accent);outline:none}.pdf-stamp img{object-fit:contain;pointer-events:none;width:100%;height:100%}.pdf-stamp span{white-space:nowrap;line-height:1}.stamp-remove{border-radius:50%;min-width:22px;min-height:22px;padding:0;display:none;position:absolute;top:-12px;right:-12px}.stamp-resize{background:var(--accent);cursor:nwse-resize;width:10px;height:10px;display:none;position:absolute;bottom:-5px;right:-5px}.pdf-stamp:hover .stamp-remove,.pdf-stamp:focus-within .stamp-remove,.pdf-stamp:hover .stamp-resize,.pdf-stamp:focus-within .stamp-resize{display:block}.signature-canvas{aspect-ratio:3;border:1px dashed var(--border);touch-action:none;background:#fff;border-radius:6px;width:100%;max-width:600px;display:block}.signature-saved{border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px;display:flex}.signature-saved-img{background:#fff;max-width:200px;max-height:48px}.photo-dialog{max-width:min(96vw,720px)}.photo-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.photo-tool-group{border-left:1px solid var(--border);border-right:1px solid var(--border);gap:10px;padding:0 8px;display:inline-flex}.photo-stage{background:repeating-conic-gradient(#ddd 0 25%, #fff 0 50%) 0 0 / 16px 16px;border-radius:6px;justify-content:center;padding:6px;display:flex}.photo-canvas{touch-action:none;cursor:crosshair;max-width:100%;height:auto}.photo-sliders{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.photo-slider{gap:2px;font-size:.85rem;display:grid}.photo-size{font-variant-numeric:tabular-nums;color:var(--muted);margin-left:auto}.draw-dialog{flex-direction:column;gap:6px;width:min(98vw,1280px);max-width:none;height:min(96vh,900px);display:none}.draw-dialog[open]{display:flex}.draw-dialog h2{margin:0;font-size:1.1rem}.draw-toolbar,.draw-props,.draw-footer{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.draw-group,.draw-props-group{border-right:1px solid var(--border);align-items:center;gap:4px;padding-right:6px;display:inline-flex}.draw-props-group[hidden]{display:none}.draw-toolbar button[aria-pressed=true]{background:var(--accent,#2563eb);color:#fff}.draw-props label,.draw-footer label{align-items:center;gap:4px;font-size:.85rem;display:inline-flex}.draw-body{flex:1;grid-template-columns:220px 1fr 180px;gap:6px;min-height:0;display:grid}.draw-library,.draw-side{flex-direction:column;gap:4px;min-height:0;display:flex;overflow:auto}.draw-side h3{margin:0;font-size:.9rem}.draw-symbols{grid-template-columns:1fr 1fr;gap:4px;display:grid;overflow:auto}.draw-symbol{text-align:center;background:var(--surface,#fff);color:var(--text,#111);border:1px solid var(--border);cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:4px;font-size:.7rem;line-height:1.1;display:flex}.draw-symbol:hover,.draw-symbol:focus-visible{border-color:var(--accent,#2563eb)}.draw-main{flex-direction:column;min-width:0;min-height:0;display:flex}.draw-scroll{background:#e5e7eb;border-radius:6px;flex:1;padding:12px;overflow:auto}.draw-stage{touch-action:none;cursor:crosshair;color:#000;background:#fff;display:block;box-shadow:0 1px 4px #00000040}.draw-stage[data-tool=select]{cursor:default}.draw-stage:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}.draw-selection{fill:none;stroke:#2563eb;stroke-width:1px;stroke-dasharray:4 3;pointer-events:none}.draw-handle{fill:#fff;stroke:#2563eb;stroke-width:1.5px;cursor:nwse-resize}.draw-handle.draw-bend{fill:#2563eb;cursor:move}.draw-pin{fill:#f59e0b;pointer-events:none}.draw-band{fill:#2563eb14;stroke:#2563eb;stroke-dasharray:3 2;pointer-events:none}.draw-status{min-height:1.2em;color:var(--muted);margin:2px 0 0;font-size:.8rem}.draw-objects{gap:2px;margin:0;padding:0;list-style:none;display:grid}.draw-objects button{text-align:left;width:100%;padding:2px 6px;font-size:.8rem}.draw-objects button[aria-pressed=true]{background:var(--accent,#2563eb);color:#fff}.draw-size{width:5em}.draw-alt{width:18em}.draw-zoom{text-align:center;font-variant-numeric:tabular-nums;min-width:3.5em}.paint-dialog{flex-direction:column;gap:6px;width:min(98vw,1200px);max-width:none;height:min(96vh,900px);display:none}.paint-dialog[open]{display:flex}.paint-dialog h2{margin:0;font-size:1.1rem}.paint-scroll{background:repeating-conic-gradient(#ddd 0 25%, #fff 0 50%) 0 0 / 16px 16px;border-radius:6px;flex:1;min-height:0;padding:12px;overflow:auto}.paint-stack{width:max-content;position:relative}.paint-canvas{image-rendering:pixelated;touch-action:none;cursor:crosshair;display:block;box-shadow:0 1px 4px #00000040}.paint-canvas:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}.paint-overlay{pointer-events:none;image-rendering:pixelated;position:absolute;top:0;left:0}.paint-value{font-variant-numeric:tabular-nums;min-width:3.5em;font-size:.8rem}.paint-status{color:var(--muted);margin:0;font-size:.8rem}.paint-main{flex:1;gap:8px;min-height:0;display:flex}.paint-main .paint-scroll{flex:1;min-width:0}.paint-stack>canvas{image-rendering:pixelated;position:absolute;top:0;left:0}.paint-stack>canvas:first-child{position:relative;box-shadow:0 1px 4px #00000040}.paint-stack>canvas[hidden]{display:none}.paint-stack>.paint-overlay{pointer-events:auto;touch-action:none;cursor:crosshair}.paint-stack>.paint-overlay:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}.paint-layers-panel{border-left:1px solid var(--border);flex-direction:column;flex:none;gap:6px;width:230px;padding-left:8px;display:flex;overflow:auto}.paint-layers-panel h3{margin:0;font-size:.95rem}.paint-layers{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.paint-layer-row{cursor:pointer;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:3px 4px;display:flex}.paint-layer-row.active{border-color:var(--accent);background:var(--sel);font-weight:600}.paint-layer-row .paint-eye{min-width:2em;padding:0 4px}.paint-layer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.paint-layer-kind{color:var(--muted)}.paint-layer-opacity{flex-wrap:wrap;align-items:center;gap:4px;font-size:.85rem;display:flex}.paint-layer-buttons{flex-wrap:wrap;gap:4px;display:flex}.paint-layer-buttons button{padding:2px 6px}@media (max-width:700px){.paint-main{flex-direction:column}.paint-layers-panel{border-left:none;width:auto;max-height:30vh}}.field-dialog label{margin:6px 0;display:block}.field-when{border:1px solid var(--border);border-radius:6px;margin:8px 0}.field-when label{align-items:center;gap:4px;margin-right:8px;display:inline-flex}.field-preview{font-weight:600}.field-timed[hidden]{display:none}@media (max-width:760px){.draw-body{grid-template-rows:auto 1fr auto;grid-template-columns:1fr}.draw-library{max-height:9rem}.draw-symbols{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.draw-side{max-height:6rem}}.slide-editor{flex-direction:column;height:100%;display:flex}.slide-body{flex:1;min-height:0;display:flex}.slide-list{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;flex:none;gap:8px;width:200px;padding:8px;display:flex;overflow-y:auto}.slide-thumb{background:0 0;border:2px solid #0000;flex:none;align-items:flex-start;gap:6px;padding:4px;display:flex}.slide-thumb[aria-current=true]{border-color:var(--accent);background:var(--sel)}.thumb-num{color:var(--muted);min-width:1.2em;font-size:.8rem}.thumb-frame{pointer-events:none;flex:none;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000004d}.thumb-frame .slide{transform-origin:0 0;position:absolute;top:0;left:0}.slide-main{flex-direction:column;flex:1;min-width:0;display:flex}.stage-wrap{background:#6b7280;outline:none;flex:1;place-items:center;min-height:0;padding:16px;display:grid;overflow:auto}.stage-wrap:focus-visible{box-shadow:inset 0 0 0 3px var(--focus)}.stage-slide{position:relative;box-shadow:0 4px 16px #00000059}.stage-slide .slide{transform-origin:0 0;position:absolute;top:0;left:0}.notes{border:0;border-top:1px solid var(--border);resize:vertical;background:var(--surface);color:var(--text);font:inherit;min-height:64px;padding:8px 12px}.slide{color:#1c2430;font-family:Calibri,Carlito,Segoe UI,system-ui,sans-serif;position:relative;overflow:hidden}.slide .shape{box-sizing:border-box;flex-direction:column;justify-content:flex-start;display:flex;position:absolute;overflow:visible}.slide .shape[data-anchor=middle]{justify-content:center}.slide .shape[data-anchor=bottom]{justify-content:flex-end}.slide .shape.ellipse{border-radius:50%}.slide .shape.ellipse .shape-content,.slide .shape.rect .shape-content{text-align:center}.slide .shape img{object-fit:fill;width:100%;height:100%}.shape-content{white-space:pre-wrap;overflow-wrap:break-word;outline:none;padding:4px 8px;line-height:1.2}.shape-content p,.shape-content h1,.shape-content h2,.shape-content h3{font-size:inherit;margin:0}.shape-content ul,.shape-content ol{margin:0;padding-left:1.2em}.stage .shape{cursor:move}.stage .shape:hover{outline:1px dashed #1f5fbf99}.stage .shape.selected{outline:2px solid var(--accent)}.stage .shape.editing{cursor:text}.stage .shape .handle{background:var(--accent);cursor:nwse-resize;border:2px solid #fff;width:12px;height:12px;display:none;position:absolute;bottom:-7px;right:-7px}.stage .shape.selected .handle{display:block}.slideshow{z-index:1000;cursor:pointer;background:#000;outline:none;place-items:center;display:grid;position:fixed;inset:0}.show-frame{position:relative;overflow:hidden}.show-frame .slide{transform-origin:0 0;position:absolute;top:0;left:0}.stage-slide .guide{z-index:5;pointer-events:none;background:#e0218a;position:absolute}.stage-slide .guide-x{width:1px;margin-left:-.5px}.stage-slide .guide-y{height:1px;margin-top:-.5px}.presenter{z-index:1001;box-sizing:border-box;color:#f2f2f2;background:#1b1b1f;outline:none;flex-direction:column;gap:10px;padding:12px;font-family:system-ui,sans-serif;display:flex;position:fixed;inset:0}.presenter button{color:#f2f2f2;cursor:pointer;background:#2c2c33;border:1px solid #4a4a55;border-radius:6px;padding:4px 10px;font-size:1rem}.presenter button:hover{background:#3a3a44}.presenter-bar{flex-wrap:wrap;align-items:center;gap:8px;font-size:1.1rem;display:flex}.presenter-sep{flex:0 0 12px}.presenter-elapsed{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:600}.presenter-clock{font-variant-numeric:tabular-nums;color:#b8b8c2}.presenter-main{flex:1;grid-template-columns:3fr 2fr;gap:12px;min-height:0;display:grid}.presenter-current,.presenter-next{background:#000;border-radius:6px;place-items:center;min-height:0;display:grid;overflow:hidden}.presenter-side{flex-direction:column;gap:8px;min-height:0;display:flex}.presenter-next{flex:0 0 34%}.presenter-label{color:#b8b8c2;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.presenter-notes{white-space:pre-wrap;background:#26262c;border-radius:6px;flex:1;min-height:0;padding:10px;line-height:1.45;overflow:auto}.presenter-notes.empty{color:#8d8d99;font-style:italic}.presenter-end{color:#b8b8c2}.presenter-rehearsal{color:#ffe08a;background:#4a3b00;border-radius:6px;margin:0;padding:6px 10px}@media (max-width:700px){.presenter-main{grid-template-rows:auto 1fr;grid-template-columns:1fr}}.toolbar input[type=color]{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:36px;height:32px;padding:2px}@media (max-width:700px){.slide-list{width:96px}.slide-thumb .thumb-frame{display:none}}@media print{.print-slides .print-slide{page-break-after:always;break-after:page}.print-slides .slide{transform:none}}.draft-banner{border:1px solid var(--accent);border-radius:var(--radius);background:var(--sel);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.draft-banner span{flex:1;min-width:200px}.recent li .open-recent .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}button.link{color:var(--accent);background:0 0;border:0;margin-top:8px;padding:4px 0;text-decoration:underline}.doc-page span.math{cursor:pointer;white-space:nowrap;border-radius:3px}.doc-page span.math:hover{background:var(--sel)}.doc-page span.math.display{text-align:center;margin:6pt 0;display:block}.equation-dialog{width:min(640px,100vw - 32px)}.equation-field{border:1px solid var(--border);border-radius:6px;width:100%;margin-bottom:8px;padding:8px;font-size:1.6rem;display:block}.equation-label{align-items:center;gap:8px;margin:8px 0;display:flex}.equation-source{border:1px solid var(--border);border-radius:4px;flex:1;padding:4px 8px;font-family:ui-monospace,monospace}.start-prefs{flex-wrap:wrap;gap:0 20px;display:flex}.language-picker{color:var(--muted);align-items:center;gap:6px;margin:4px 0 16px;font-size:.9rem;display:inline-flex}.language-picker select{min-height:28px}.source-link{margin:0 0 16px;font-size:.85rem}.source-link a{color:var(--muted)}.print-dialog{flex-direction:column;width:min(1100px,100vw - 24px);max-width:none;height:min(860px,100vh - 24px);padding:12px 16px;display:flex}.print-dialog:not([open]){display:none}.print-head{justify-content:space-between;align-items:center;display:flex}.print-head h2{margin:0}.print-body{flex:1;gap:12px;min-height:0;margin:8px 0;display:flex}.print-settings{flex-direction:column;flex:none;gap:10px;width:230px;display:flex;overflow:auto}.print-settings label{flex-direction:column;gap:4px;font-size:.9rem;display:flex}.print-settings label.check{flex-direction:row;align-items:center}.print-settings input[type=number]{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;padding:4px}.print-frame-wrap{background:#6b7280;border-radius:6px;flex:1;justify-content:center;min-width:0;display:flex;position:relative;overflow:auto}.print-building{background:var(--surface,#fff);border:1px solid var(--border);border-radius:var(--radius);z-index:1;align-items:center;gap:8px;margin:0;padding:4px 10px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.print-building[hidden]{display:none}.print-frame{background:0 0;border:0;height:100%;min-height:400px}@media (max-width:700px){.print-body{flex-direction:column}.print-settings{flex-flow:wrap;width:auto}}.app-alert.notice{color:#fff;background:#1e6b3a}.card.repo{border-left-color:var(--muted)}.doc-source{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:30vw;font-size:.8rem;overflow:hidden}button.doc-source{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.git-dialog{width:min(720px,100vw - 32px)}.git-token-dialog{width:min(560px,100vw - 32px)}.git-remember{margin:4px 0;display:block}.git-body{gap:8px;display:grid}.git-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.git-row select,.git-row input[type=text]{min-width:12rem;max-width:100%}.git-add{border:1px solid var(--border);border-radius:var(--radius);gap:6px;padding:8px;display:grid}.git-add[hidden]{display:none}.git-add label{gap:2px;display:grid}.git-add .hint,.git-status{color:var(--muted);margin:0;font-size:.85rem}.git-address label{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.git-address input{flex:1;min-width:0}.git-body>.hint{color:var(--muted);margin:0;font-size:.85rem}.git-token-help{font-size:.9rem}.git-token-help summary{cursor:pointer;color:var(--accent,inherit)}.git-token-help ol{gap:2px;margin:4px 0;padding-left:1.4rem;display:grid}.git-token-help a{overflow-wrap:anywhere}.git-status.error{color:var(--danger)}.git-understood{color:var(--ok,#1f7a3a);margin:2px 0 0;font-size:.9rem;font-weight:600}.git-crumbs{font-size:.9rem}.git-crumbs button.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0 2px}.git-list{border:1px solid var(--border);border-radius:var(--radius);max-height:40vh;margin:0;padding:0;list-style:none;overflow:auto}.git-list li+li{border-top:1px solid var(--border)}.git-entry{text-align:left;background:0 0;border:none;border-radius:0;width:100%;padding:6px 10px}.git-entry:hover:not(:disabled){background:var(--sel)}.git-entry:disabled{opacity:.5}.commit-dialog{width:min(560px,100vw - 32px)}.commit-dialog .git-path{margin:0;font-family:ui-monospace,monospace}.git-field{gap:4px;display:grid}.git-field textarea{box-sizing:border-box;width:100%;font:inherit}.card.share{border-left-color:var(--accent)}.share-dialog,.sync-dialog{width:min(560px,100vw - 32px)}.sync-status:empty{display:none}.sync-actions,.sync-files{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.sync-files button{font-size:.9em}.sync-log{margin:4px 0;padding-left:1.2em;font-size:.9em}.share-file{font-family:ui-monospace,monospace}:root{--ai-w:min(380px, 100vw)}.app.with-ai .app-main,.app.with-ai .app-status{margin-right:var(--ai-w)}.ai-panel{right:0;top:var(--header-h);width:var(--ai-w);z-index:20;box-sizing:border-box;background:var(--surface);border-left:1px solid var(--border);flex-direction:column;gap:8px;padding:8px 12px;display:flex;position:fixed;bottom:0}.ai-head{align-items:center;gap:4px;display:flex}.ai-head h2{flex:1;margin:0;font-size:1.05rem}.ai-info{color:var(--muted);margin:0;font-size:.8rem}.ai-setup{border:1px solid var(--border);border-radius:var(--radius);gap:6px;padding:8px;display:grid}.ai-setup[hidden]{display:none}.ai-setup label{gap:2px;display:grid}.ai-setup .hint{color:var(--muted);margin:0;font-size:.8rem}.ai-log{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow:auto}.ai-msg{border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;padding:6px 10px}.ai-msg.user{background:var(--sel);align-self:flex-end;max-width:90%}.ai-msg.assistant{background:var(--bg)}.ai-msg.action{color:var(--muted);padding:2px 10px;font-family:ui-monospace,monospace;font-size:.78rem}.ai-msg.error{color:var(--danger)}.ai-msg.note{color:var(--muted);font-size:.85rem}.ai-input textarea{box-sizing:border-box;width:100%;font:inherit;resize:vertical}@media (max-width:700px){.app.with-ai .app-main,.app.with-ai .app-status{margin-right:0}}@media print{.ai-panel{display:none!important}}.equation-dialog>.ML__keyboard{height:var(--_keyboard-height,280px);z-index:1;position:fixed;inset:auto 0 0}.equation-dialog:has(>.ML__keyboard.is-visible){margin-top:8px}.properties-dialog{width:min(560px,100vw - 32px)}.properties-form{grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;margin:12px 0;display:grid}.properties-form input,.properties-form textarea{width:100%;font:inherit}.properties-form small,.properties-form>span{color:var(--muted);grid-column:2;margin-top:-2px;font-size:.8rem}.properties-form>span{display:none}@media (max-width:480px){.properties-form{grid-template-columns:1fr}.properties-form small{grid-column:1}}.doc-page span.diagram{text-align:center;cursor:pointer;white-space:pre-wrap;border-radius:4px;margin:6pt 0;display:block}.doc-page span.diagram:hover{outline:2px solid var(--sel)}.doc-page span.diagram img,.print-document span.diagram img{max-width:100%;height:auto}.doc-page span.diagram:not([data-rendered]),.doc-page span.diagram.diagram-error{text-align:left;background:#f4f6f8;padding:6px 8px;font-family:ui-monospace,monospace;font-size:.9em}.doc-page span.diagram.diagram-error{border-left:3px solid var(--danger)}.diagram-dialog{width:min(960px,100vw - 32px);max-width:none}.diagram-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.diagram-panes{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.diagram-source{resize:vertical;border:1px solid var(--border);background:var(--surface);width:100%;min-height:260px;color:var(--text);border-radius:6px;padding:8px;font-family:ui-monospace,monospace;font-size:.9rem}.diagram-preview{border:1px solid var(--border);background:#fff;border-radius:6px;justify-content:center;align-items:center;min-height:260px;max-height:60vh;padding:8px;display:flex;overflow:auto}.diagram-preview img{max-width:100%;height:auto}.diagram-message{min-height:1.2em;color:var(--danger);white-space:pre-wrap;margin:8px 0 0;font-size:.85rem}@media (max-width:640px){.diagram-panes{grid-template-columns:1fr}.diagram-source,.diagram-preview{min-height:160px}}.doc-page .code-cell{background:#f6f8fa;border:1px solid #d6dce5;border-radius:6px;margin:6pt 0;font-family:ui-monospace,Liberation Mono,Consolas,monospace;font-size:.9em;display:block;overflow:hidden}.doc-page .code-cell.running{border-color:#1f5fbf}.code-cell-bar{-webkit-user-select:none;user-select:none;background:#eaeef3;border-bottom:1px solid #d6dce5;align-items:center;gap:4px;padding:2px 6px;font-family:system-ui,sans-serif;font-size:.8rem;display:flex}.code-cell-lang{color:#5a6577;flex:1;font-weight:600}.code-cell-bar button{color:#1c2430;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;min-width:28px;padding:1px 6px}.code-cell-bar button:hover,.code-cell-bar button:focus-visible{background:#fff;border-color:#b8c2d0}.code-cell-bar .code-cell-stop{display:none}.code-cell.running .code-cell-stop{color:#b3261e;display:inline-block}.code-cell-source{white-space:pre-wrap;cursor:text;color:#1c2430;padding:6px 10px;display:block}.code-cell-output{white-space:pre-wrap;color:#1c2430;background:#fff;border-top:1px dashed #d6dce5;padding:6px 10px;display:block}.code-cell-output:empty{display:none}.code-cell-output.error{color:#b3261e;background:#fdf3f2}.code-cell-output.pending{color:#5a6577;font-style:italic}.code-cell-figures{text-align:center;background:#fff;padding:6px 10px;display:block}.code-cell-figures img{max-width:100%;height:auto}.print-document .code-cell{break-inside:avoid;border:1px solid #bbb;margin:6pt 0;font-family:Liberation Mono,Consolas,monospace;font-size:9.5pt;display:block}.print-document .code-cell-source,.print-document .code-cell-output,.print-document .code-cell-figures{white-space:pre-wrap;padding:4px 8px;display:block}.print-document .code-cell-source{background:#f3f3f3}.print-document .code-cell-figures img{max-width:100%;height:auto}.code-dialog{width:min(820px,100vw - 32px);max-width:none}.code-source{width:100%;margin:8px 0;font-size:.9rem;display:block}.code-lang-label{align-items:center;gap:8px;display:inline-flex}iframe.code-sandbox{display:none}.card.grist{border-left-color:#16b378}.grist-dialog{width:min(640px,100vw - 32px);max-width:none}.grist-form{gap:10px;display:grid}.grist-form label{gap:4px;font-weight:600;display:grid}.grist-form input{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:4px;padding:6px 8px;font-weight:400}.grist-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.grist-row select{flex:1;min-width:0}.grist-docs{gap:4px;max-height:50vh;margin:8px 0;padding:0;list-style:none;display:grid;overflow:auto}.grist-docs li{align-items:center;gap:8px;display:flex}.grist-docs button{text-align:left;flex:1}.grist-workspace{color:var(--muted);font-size:.85rem}.grist-status{min-height:1.2em;color:var(--muted)}.share-link-section{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.share-link{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);border-radius:4px;flex:1;padding:4px 6px;font-family:ui-monospace,monospace;font-size:.8rem}.ai-setup [hidden]{display:none}.ai-setup label.git-row{align-items:flex-start;gap:6px;display:flex}.card.cloud{border-left-color:#0082c9}.dav-dialog{width:min(640px,100vw - 32px);max-width:none}.chart-layer{z-index:4;width:0;height:0;position:absolute;top:0;left:0}.sheet-chart{border:1px solid var(--border);cursor:move;touch-action:none;background:#fff;border-radius:6px;position:absolute;overflow:hidden;box-shadow:0 2px 8px #0000001f}.sheet-chart:focus-visible,.sheet-chart:focus-within{outline:2px solid var(--accent);outline-offset:1px}.sheet-chart-figure,.sheet-chart-figure svg{width:100%;height:100%;display:block}.sheet-chart-tools{gap:2px;display:none;position:absolute;top:4px;right:4px}.sheet-chart:hover .sheet-chart-tools,.sheet-chart:focus-within .sheet-chart-tools{display:flex}.sheet-chart-tools button{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:4px;min-width:28px;padding:2px 6px}.sheet-chart-resize{cursor:nwse-resize;background:linear-gradient(135deg, transparent 50%, var(--muted) 50%);opacity:.5;width:14px;height:14px;position:absolute;bottom:0;right:0}.chart-dialog{width:min(820px,100vw - 32px);max-width:none}.chart-dialog .chart-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 16px;display:grid}.chart-dialog .chart-form label:not(.git-row){gap:2px;display:grid}.chart-preview{border:1px solid var(--border);background:#fff;border-radius:6px;justify-content:center;min-height:280px;margin-top:12px;display:flex;overflow:auto}.chart-error{min-height:1.2em;color:var(--danger)}.print-chart{break-inside:avoid;page-break-inside:avoid;margin:12pt 0}.print-chart svg{max-width:100%;height:auto}.chart-dialog .chart-form label.git-row{align-items:center;gap:6px;display:flex}.collab-bar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:4px 12px;font-size:.875rem;display:flex}.collab-bar.waiting .collab-state{font-style:italic}.collab-state{color:var(--muted)}.collab-people{flex-wrap:wrap;gap:4px;margin:0 auto 0 0;padding:0;list-style:none;display:flex}.collab-person{border:1px solid var(--person);color:var(--text);background:var(--surface);border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:.8125rem;display:inline-flex}.collab-person:before{content:"";background:var(--person);border-radius:50%;width:8px;height:8px}button.collab-person{cursor:pointer}.collab-dialog{max-width:40rem}.collab-invite{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.collab-qr-figure{text-align:center;flex:none;width:200px;margin:0}.collab-qr{image-rendering:pixelated;background:#fff;border-radius:4px;display:block}.collab-invite-side{flex-direction:column;flex:14rem;gap:8px;min-width:0;display:flex}.collab-ways{flex-wrap:wrap;gap:6px;display:flex}.collab-warning{margin-top:12px}.collab-privacy summary{cursor:pointer;color:var(--accent)}.qr-full{box-sizing:border-box;color:#000;background:#fff;border:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:16px}.qr-full[open]{flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.qr-full-image{width:min(80vw,75vh);height:auto;image-rendering:pixelated}.qr-full-text{word-break:break-all;text-align:center;max-width:90vw;margin:0;font-family:ui-monospace,monospace;font-size:.9rem}.collab-link{width:100%;font-family:monospace}.collab-versions{max-height:50vh;margin:8px 0 0;padding:0;list-style:none;overflow:auto}.collab-versions li{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 0;display:flex}.collab-version-label{font-weight:600}.collab-versions .hint{margin-right:auto}td.peer{box-shadow:inset 0 0 0 2px var(--peer);position:relative;overflow:visible}td.peer:after{content:attr(data-peer);background:var(--peer);color:#fff;white-space:nowrap;pointer-events:none;z-index:2;padding:0 4px;font-size:10px;line-height:14px;position:absolute;bottom:100%;left:-2px}.doc-page>.peer-here{box-shadow:-6px 0 0 -3px var(--peer);position:relative}.doc-page>.peer-here:after{content:attr(data-peer);background:var(--peer);color:#fff;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;margin-right:10px;padding:0 4px;font-size:10px;line-height:14px;position:absolute;top:0;right:100%}@media print{.collab-bar{display:none}}.about-dialog{max-width:40rem}.about-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.about-head p{margin:0}.about-name{font-size:1.15rem;font-weight:600}.about-logo{flex:none}.about-body{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.about-facts{flex:16rem;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;display:grid}.about-facts dt{color:var(--muted)}.about-facts dd{margin:0}.about-qr-figure{text-align:center;flex:none;max-width:180px;margin:0}.about-qr{image-rendering:pixelated;background:#fff;border-radius:4px;margin:0 auto 4px;display:block}.about-qr-figure .mono{word-break:break-all}.about-links{flex-wrap:wrap;gap:4px 16px;margin:16px 0 8px;padding:0;list-style:none;display:flex}.about-deps{margin:8px 0}.about-deps summary{cursor:pointer}.about-deps table{border-collapse:collapse;width:100%;margin-top:6px;font-size:.9em}.about-deps th,.about-deps td{text-align:left;border-bottom:1px solid var(--border);padding:2px 8px 2px 0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.about-dialog .dialog-actions .hint{margin-right:auto}.source-link button.link{min-height:0;font:inherit;color:inherit;margin:0;padding:0}button.app-version{min-height:0;color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:2px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}button.app-version:hover{color:var(--accent);text-decoration:underline}.app-version-title{color:var(--muted);vertical-align:middle;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;font-weight:400}@media (max-width:480px){button.app-version{display:none}}button.qr-zoom{cursor:zoom-in;background:0 0;border:0;border-radius:4px;min-height:0;margin:0 auto 4px;padding:0;display:block}button.qr-zoom img{margin:0;display:block}.qr-full-image{cursor:zoom-out}.find-bar{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:6px 12px;display:flex}.find-bar[hidden]{display:none}.find-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.find-row[hidden]{display:none}.find-row input[type=search],.find-row input[type=text]{border:1px solid var(--border);background:var(--surface);border-radius:6px;flex:14rem;min-width:8rem;max-width:28rem;min-height:30px;padding:2px 8px}.find-row input.error{border-color:var(--danger)}.find-option{color:var(--muted);cursor:pointer;align-items:center;gap:2px;font-family:ui-monospace,monospace;font-size:.85rem;display:inline-flex}.find-count{min-width:6rem;color:var(--muted);font-size:.85rem}.doc-page .search-match{background:#ffe58a;border-radius:2px}.doc-page .search-match.current{background:#ff9d3d;outline:1px solid #c25e00}.toolbar .font-select{max-width:9.5rem}.toolbar .size-select,.toolbar .size-input{width:4.5rem}.color-control{align-items:stretch;display:inline-flex}.color-control button.color-apply{box-shadow:inset 0 -4px 0 var(--swatch,transparent);border-top-right-radius:0;border-bottom-right-radius:0}.color-control input[type=color]{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-left:0;width:22px;min-height:32px;padding:0 2px}.color-control button.color-reset{color:var(--muted);border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;padding:4px 6px}.doc-page mark{color:inherit}.para-dialog fieldset{border:1px solid var(--border);border-radius:6px;margin:0 0 12px;padding:8px 12px}.para-row{grid-template-columns:10rem 7rem auto;align-items:center;gap:8px;margin:4px 0;display:grid}.para-row input,.para-row select{min-height:30px}.doc-page hr.page-break{border:0;border-top:2px dashed #9aa5b5;margin:18pt -24px;position:relative;overflow:visible}.doc-page hr.page-break:after{content:attr(data-label);color:#6b7686;letter-spacing:.05em;text-transform:uppercase;background:#fff;padding:0 8px;font-size:8pt;position:absolute;top:-.75em;left:50%;transform:translate(-50%)}.doc-page hr.page-break.ProseMirror-selectednode{border-top-color:var(--accent)}@media print{.doc-page hr.page-break{break-after:page;visibility:hidden;margin:0}}.doc-page div.columns{column-fill:balance;outline-offset:3px;outline:1px dotted #0000;margin:6pt 0}.doc-page div.columns:hover{outline-color:#c3cad5}.doc-page div.columns>:first-child{margin-top:0}.doc-page div.columns>p,.doc-page div.columns>li{orphans:2;widows:2}.doc-page div.columns table,.doc-page div.columns img{max-width:100%}.doc-page hr.column-break{break-after:column;border:0;border-top:1px dashed #9aa5b5;margin:6pt 0;position:relative;overflow:visible}.doc-page hr.column-break:after{content:attr(data-label);color:#6b7686;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:#fff;padding:0 6px;font-size:7pt;position:absolute;top:-.75em;left:50%;transform:translate(-50%)}.doc-page hr.column-break.ProseMirror-selectednode{border-top-color:var(--accent)}@media print{.doc-page hr.column-break{visibility:hidden;height:0;margin:0}}.columns-preview{border:1px solid var(--border,#ccc);background:#fff;border-radius:4px;gap:12px;height:64px;margin:8px 0;padding:8px;display:flex}.columns-preview span{background:repeating-linear-gradient(#b8c0cc 0 2px,#0000 2px 7px);flex:1}.columns-preview.ruled span+span{box-shadow:-7px 0 0 -6px #555}.doc-page .pm-footnote{cursor:pointer;color:var(--accent);padding:0 1px}.doc-page .pm-footnote:hover{background:var(--sel);border-radius:2px}.doc-notes{box-sizing:border-box;background:var(--paper-white);color:#1c2430;border-top:1px solid #c7d0dc;max-width:816px;margin:0 auto 24px;padding:12px 80px 16px;font-size:9pt;box-shadow:0 1px 4px #00000026}.doc-notes[hidden]{display:none}.doc-notes ol{margin:0;padding-left:1.6em}.doc-notes li{cursor:pointer;margin:2px 0}.doc-notes li:hover{background:#f1f4f8}.print-notes{border-top:1px solid #999;margin-top:16pt;padding-top:6pt;font-size:9pt}.print-notes ol{margin:0;padding-left:1.6em}@media print{.doc-notes{display:none}}.doc-page nav.toc,.print-document nav.toc{white-space:normal;border:1px solid #d6dce5;border-radius:4px;margin:0 0 12pt;padding:8pt 12pt}.print-document nav.toc{border:0;padding:0}nav.toc .toc-title{margin:0 0 6pt;font-size:14pt;font-weight:700}nav.toc ol{margin:0;padding:0;list-style:none}nav.toc li{margin:2pt 0}nav.toc li.toc-2{padding-left:1.5em}nav.toc li.toc-3{padding-left:3em}nav.toc li.toc-4,nav.toc li.toc-5,nav.toc li.toc-6{padding-left:4.5em}nav.toc a{color:inherit;text-decoration:none}nav.toc a:hover{color:var(--accent);text-decoration:underline}nav.toc .toc-empty{color:#6b7686;margin:0;font-size:.9em;font-style:italic}.doc-page nav.toc.ProseMirror-selectednode{outline:2px solid var(--accent)}.print-document nav.toc .toc-empty{display:none}.doc-furniture{width:var(--page-w,816px);box-sizing:border-box;background:var(--paper-white);color:#6b7686;cursor:pointer;grid-template-columns:1fr 1fr 1fr;gap:8px;max-width:100%;min-height:2.4em;margin:0 auto;padding:10px 80px;font-family:Calibri,Carlito,sans-serif;font-size:9pt;display:grid}.doc-furniture[hidden]{display:none}.doc-furniture.header{border-bottom:1px dashed #d6dce5;box-shadow:0 -1px 3px #0000001a}.doc-furniture.footer{border-top:1px dashed #d6dce5;margin-bottom:24px;box-shadow:0 2px 3px #0000001a}.doc-furniture:hover,.doc-furniture:focus-visible{color:#1c2430;background:#f6f8fb}.doc-furniture .center{text-align:center}.doc-furniture .right{text-align:right}.page-geometry{border:1px solid var(--border);border-radius:6px;gap:6px;margin:0 0 10px;padding:8px;display:grid}.page-row{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.page-num{width:5.5em}.hf-row{border:1px solid var(--border);border-radius:6px;grid-template-columns:1fr 1fr 1fr;gap:6px;margin:0 0 10px;padding:8px;display:grid}.hf-row input{min-width:0;min-height:30px}.hf-fields{flex-wrap:wrap;align-items:center;gap:6px;display:flex}@media print{.doc-furniture{display:none}}.doc-page p.caption{color:#44546a;margin:4pt 0 10pt;font-size:.9em;font-style:italic}.doc-page .pm-xref,.doc-page a.xref{color:var(--accent);cursor:pointer;border-bottom:1px dotted;text-decoration:none}.doc-page .pm-xref.broken,.doc-page a.xref.broken{color:var(--danger)}.doc-page .pm-seq{cursor:default}:is(.doc-page p:has(>.pm-display):has(>.pm-seq[data-seq=equation]),.doc-page p:has(>.math.display):has(>.seq[data-seq=equation])){align-items:center;gap:1em;display:flex}.doc-page p:has(>.pm-display)>.pm-display{flex:1}.doc-page p:has(>.math.display)>.math.display{flex:1}.doc-page .pm-cite,.doc-page span.cite{color:var(--accent);cursor:pointer}.doc-page .pm-cite.broken{color:var(--danger)}.doc-page section.bibliography{margin:12pt 0}.doc-page .bibliography-title{margin:0 0 6pt;font-size:14pt;font-weight:600}.doc-page section.bibliography ol,.doc-page section.bibliography ul{margin:0;padding:0;list-style:none}.doc-page section.bibliography li{text-indent:-2.5em;margin:0 0 4pt;padding-left:2.5em}.doc-page section.bibliography li[data-label]:before{content:attr(data-label);text-indent:0;min-width:2.5em;display:inline-block}.doc-page .bibliography-empty{color:#6b7685;font-style:italic}.doc-page section.bibliography.ProseMirror-selectednode{outline:2px solid var(--accent)}.bib-dialog .bib-entries,.cite-dialog .bib-choices{max-height:40vh;margin:8px 0;padding:0;list-style:none;overflow:auto}.bib-dialog .bib-entries li{align-items:baseline;gap:6px;padding:2px 0;display:flex}.bib-dialog .bib-key{color:var(--muted);font-family:ui-monospace,monospace;font-size:.85em}.bib-dialog .bib-remove{min-width:28px;margin-left:auto}.bib-dialog .bib-cited{color:var(--muted);font-size:.85em}.bib-dialog .bib-paste{width:100%;font-family:ui-monospace,monospace}.bib-dialog .bib-import{margin:6px 0}.cite-dialog input[type=search],.cite-dialog input[type=text]{width:100%}:root{--folder-w:min(280px, 85vw)}.app.with-folder .app-main,.app.with-folder .app-status,.app.with-folder .app-alert{margin-left:var(--folder-w)}.app:not(.with-folder) .folder-panel{display:none}.folder-panel{left:0;top:var(--header-h);width:var(--folder-w);z-index:19;box-sizing:border-box;background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:6px;padding:8px;display:flex;position:fixed;bottom:0;overflow:hidden}.folder-head{align-items:center;gap:4px;display:flex}.folder-head h2{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:1rem;overflow:hidden}.folder-readonly{color:var(--muted);margin:0;font-size:.8rem}.folder-search{box-sizing:border-box;width:100%}.folder-results{flex:1;min-height:0;overflow:auto}.folder-results[hidden],.folder-panel .fs-explorer[hidden]{display:none}.folder-results ul{margin:0;padding:0;list-style:none}.folder-panel,.fs-menu{--fs-accent:var(--accent);--fs-hover:var(--sel);--fs-muted:var(--muted);--fs-bg:var(--surface);--fs-border:var(--border)}.folder-file{text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:4px;width:100%;padding:3px 6px;display:block;overflow:hidden}.folder-file[data-icon]:before{content:attr(data-icon) " " / ""}.folder-file:hover{background:var(--sel)}.folder-file[aria-current=page]{background:var(--sel);font-weight:600}.folder-snippet{color:var(--muted);overflow-wrap:anywhere;margin:0 0 4px 8px;font-size:.8rem}.folder-reopen{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.folder-reopen-item{flex:0 24rem;align-items:flex-start;gap:4px;display:flex}.folder-reopen .card{flex:auto;min-width:0}.folder-reopen .folder-forget{flex:none;width:2.25rem;height:2.25rem;padding:0}.card.folder{border-left-color:var(--doc)}@media (max-width:700px){.app.with-folder .app-main,.app.with-folder .app-status,.app.with-folder .app-alert{margin-left:0}.folder-panel{box-shadow:4px 0 16px #0003}}@media print{.folder-panel{display:none!important}.app.with-folder .app-main{margin-left:0}}.doc-page div.include{background:#f6f8fb;border:1px dashed #8a94a3;border-radius:6px;align-items:center;gap:8px;margin:8pt 0;padding:8px 12px;display:flex}.doc-page div.include .include-src{font-weight:600}.doc-page div.include .include-hint{color:#6b7685;flex:1;font-size:.85em}.doc-page div.include.ProseMirror-selectednode{outline:2px solid var(--accent)}.more-toggle{display:none}@media (max-width:700px){.app-header{flex-wrap:nowrap;gap:6px;padding:4px 8px;position:relative}.app-header .doc-name{flex:1;min-width:0;max-width:none}.app-header .doc-source{display:none}.header-actions{flex-wrap:nowrap}.header-actions>:not(.keep):not(.more-toggle){display:none}.more-toggle{display:inline-flex}.app-header.more-open .header-actions{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:stretch;gap:4px;min-width:220px;max-height:70vh;padding:6px;position:absolute;top:100%;right:8px;overflow:auto;box-shadow:0 8px 24px #00000040}.app-header.more-open .header-actions>*{justify-content:flex-start;display:flex}.app-header.more-open .header-actions>.more-toggle{order:-1;align-self:flex-end}.app-header.more-open .header-actions>button.icon[aria-label]:after,.app-header.more-open .header-actions>a.icon[aria-label]:after{content:" " attr(aria-label);margin-left:6px}.toolbar{overscroll-behavior-x:contain;scrollbar-width:thin;flex-wrap:nowrap;padding:4px 8px;overflow-x:auto}.toolbar>*,.toolbar .tool-group-inline>*{flex:none}.toolbar .sep{display:none}.doc-page{min-height:70vh}}.readonly-banner{background:var(--sel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;font-size:.9rem;display:flex}.readonly-banner[hidden]{display:none}.readonly-banner span{flex:1}.read-only .toolbar,.read-only .table-bar,.read-only .sheet-formula-bar input{display:none!important}@media print{.readonly-banner{display:none!important}}.folder-backlinks{border-top:1px solid var(--border);max-height:30%;padding-top:6px;overflow:auto}.folder-backlinks[hidden]{display:none}.folder-backlinks h3{color:var(--muted);margin:0 0 4px;font-size:.85rem}.folder-backlinks ul{margin:0;padding:0;list-style:none}.folder-backlinks-head{align-items:center;gap:4px;display:flex}.folder-backlinks-head h3{flex:1;margin:0}.folder-backlinks-toggle{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:2px 0;font-weight:600}.folder-backlinks-settings{flex-wrap:wrap;gap:4px 12px;margin:4px 0 8px;font-size:.8rem;display:flex}.folder-backlinks-settings label{align-items:center;gap:4px;display:inline-flex}.folder-unlinked-row{align-items:center;gap:6px;display:flex}.folder-unlinked-row .folder-file{flex:1;min-width:0}.folder-link-mention{padding:0 8px;font-size:.8rem}.folder-find-unlinked{margin-top:6px;font-size:.8rem}.doc-page-bottom{box-sizing:border-box;width:var(--page-w,816px);max-width:100%;margin:16px auto 24px}.doc-page-bottom[hidden]{display:none}.folder-backlinks.at-bottom{border:1px solid var(--border);background:var(--surface);max-height:none;color:var(--text);border-radius:8px;padding:8px 12px;overflow:visible}.folder-backlinks.at-bottom h3{font-size:.9rem}@media print{.doc-page-bottom{display:none}}.template-dialog{width:min(760px,100vw - 32px);max-height:calc(100vh - 48px);overflow:auto}.template-group h3{margin:16px 0 6px;font-size:1rem}.template-search{width:100%;margin:4px 0 8px}.template-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.template-tabs[hidden]{display:none}.template-tab{cursor:pointer;color:inherit;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;padding:6px 10px}.template-tab[aria-selected=true]{border-color:var(--border);background:var(--surface,#fff);margin-bottom:-1px;font-weight:600}.template-stage{min-height:220px}.template-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.template-list li{flex-direction:column;gap:2px;display:flex}.template-card{text-align:left;justify-content:flex-start;padding:10px 12px;font-weight:600}.template-card[data-icon]:before{content:attr(data-icon);content:attr(data-icon) / "";margin-right:8px;font-size:1.5em;font-weight:400;line-height:1}.template-tab[data-icon]:before{content:attr(data-icon) " ";content:attr(data-icon) " " / ""}.template-list .hint{margin:0 4px;font-size:.85em}.picture-dialog .picture-preview{object-fit:contain;max-width:100%;max-height:30vh;margin:0 auto 8px;display:block}.picture-dialog textarea{box-sizing:border-box;width:100%;font:inherit}.a11y-list{padding-left:1.2em}.a11y-list li{margin:4px 0}.palette-button{color:var(--accent);font-weight:600;border-color:var(--accent)!important}.palette-fab{display:none}@media (max-width:700px),(pointer:coarse) and (max-width:1000px){.palette-fab{right:16px;bottom:calc(16px + max(env(safe-area-inset-bottom), var(--keyboard-inset,0px)));z-index:900;background:var(--accent);width:56px;height:56px;color:var(--accent-contrast);border:0;border-radius:50%;place-items:center;font-size:1.6rem;display:grid;position:fixed;box-shadow:0 4px 14px #0000004d}dialog.dialog.palette{box-sizing:border-box;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0}dialog.dialog.palette .palette-list{max-height:calc(100dvh - 80px)}.palette-list li{padding:10px}}@media print{.palette-fab{display:none!important}}.palette-list li.palette-group{background:var(--surface);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;cursor:default;padding:8px 10px 4px;font-size:.75rem;font-weight:600;display:block;position:sticky;top:0}.palette-category{color:var(--muted)}.dialog.palette{align-self:start;width:min(60rem,100vw - 32px);max-width:none;margin-top:10vh;padding:8px}.palette-input{box-sizing:border-box;width:100%;padding:8px 10px;font-size:1rem}.palette-list{max-height:50vh;margin:6px 0 0;padding:0;list-style:none;overflow:auto}.palette-list li{cursor:pointer;border-radius:6px;grid-template-columns:minmax(0,1fr) minmax(7rem,auto) minmax(0,14rem);align-items:center;gap:16px;padding:6px 10px;display:grid}.palette-list li.hint{display:block}.palette-list .palette-keys{flex-wrap:wrap;gap:4px;display:flex}@media (max-width:600px){.palette-list li{grid-template-columns:minmax(0,1fr) auto}.palette-list .palette-where{display:none}}.palette-list kbd{border:1px solid var(--border,#bbb);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:0 5px;font:.8em ui-monospace,monospace}.palette-list li small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.palette-list li.active{background:var(--sel);outline:1px solid var(--accent)}.palette-list li.palette-file{flex-direction:column;align-items:stretch;gap:1px;display:flex}.palette-file .palette-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.palette-path{min-width:0;color:var(--muted);white-space:nowrap;font-size:.8rem;display:flex}.palette-path-head{text-overflow:ellipsis;flex:0 auto;min-width:2.5em;overflow:hidden}.palette-path-tail{text-overflow:ellipsis;flex:none;max-width:65%;margin-left:.3em;overflow:hidden}.versions-dialog{width:min(40rem,100vw - 32px)}.version-new{gap:8px;margin-bottom:10px;display:flex}.version-new input{flex:1;min-width:0}.version-list{max-height:50vh;margin:0;padding:0;list-style:none;overflow:auto}.version-list li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 0;display:flex}.version-list small{color:var(--muted)}.version-actions{gap:4px;margin-left:auto;display:flex}.doc-page .read-easy,.doc-page .read-fair,.doc-page .read-hard,.doc-page .read-veryHard{box-shadow:-10px 0 0 -6px var(--read)}.doc-page .read-easy{--read:#2e8b4e}.doc-page .read-fair{--read:#c9a400}.doc-page .read-hard{--read:#d9730d}.doc-page .read-veryHard{--read:#b3261e}.doc-editor.focus-mode>.toolbar,.doc-editor.focus-mode .doc-side,.doc-editor.focus-mode .table-bar{display:none}.doc-editor.focus-mode .doc-page>:not(.is-current){opacity:.35;transition:opacity .2s}.doc-editor.typewriter .doc-scroll{padding-bottom:50vh}.doc-page,.source-preview,.print-document{font-kerning:normal;font-variant-ligatures:common-ligatures;text-rendering:optimizelegibility}.doc-page p,.print-document p{text-wrap:pretty;orphans:2;widows:2}.doc-page :is(h1,h2,h3,h4,h5,h6),.print-document :is(h1,h2,h3,h4,h5,h6){text-wrap:balance;break-after:avoid}.doc-editor.hyphenate .doc-page p,.print-document.hyphenate p{-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:6 3 3}.smallcaps{font-variant-caps:small-caps}:root{--paper-filter:none;--paper-white:#fff}:root[data-paper=dark],:root[data-theme=dark]:not([data-paper=light]){--paper-filter:invert(1) hue-rotate(180deg);--paper-white:#e9e9e9}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-paper=light]){--paper-filter:invert(1) hue-rotate(180deg);--paper-white:#e9e9e9}}.doc-page,.doc-furniture,.doc-notes,:is(.doc-page,.doc-furniture,.doc-notes) :is(img,video,canvas,iframe){filter:var(--paper-filter)}@media print{.doc-page,.doc-furniture,.doc-notes,:is(.doc-page,.doc-furniture,.doc-notes) :is(img,video,canvas,iframe){filter:none!important}}.doc-sheet{width:var(--page-w,816px);max-width:100%;margin:0 auto}.doc-sheet .doc-page{width:100%;margin:0}.doc-sheet-body{position:relative}.ruler{display:none}.doc-editor.show-ruler-h .ruler-h,.doc-editor.show-ruler-v .ruler-v{display:block}.doc-editor.show-ruler-v .doc-scroll{padding-left:40px;padding-right:40px}.ruler-h{z-index:2;height:22px;margin-bottom:6px;position:sticky;top:0;box-shadow:0 1px 2px #0000001f}.ruler-h>svg,.ruler-v>svg{display:block}.ruler-v{width:22px;position:absolute;top:0;left:-28px;box-shadow:1px 0 2px #0000001f}.ruler-paper{fill:#fff}.ruler-margin{fill:#d7dde5}.ruler-tick{stroke:#5b6675;stroke-width:1px}.ruler-label{fill:#3c4654;font:9px system-ui,sans-serif}.ruler-page-end{stroke:#c0392b;stroke-width:1.5px}.ruler-page{fill:#c0392b;font:8px system-ui,sans-serif}.ruler-handle{cursor:ew-resize;touch-action:none;width:11px;height:9px;position:absolute;transform:translate(-50%)}.ruler-handle:focus-visible{outline:2px solid var(--accent)}.ruler-handle.margin-left,.ruler-handle.margin-right{background:#2563eb40;border-left:2px solid #2563eb;width:7px;height:22px;top:0;transform:translate(-1px)}.ruler-handle.margin-right{border-left:0;border-right:2px solid #2563eb;transform:translate(-6px)}.ruler-handle.indent{clip-path:polygon(50% 0,100% 100%,0 100%);background:#2563eb;bottom:0}.ruler-handle.first-line{clip-path:polygon(0 0,100% 0,50% 100%);background:#2563eb;top:0}@media (max-width:900px){.doc-editor.show-rulers .ruler{display:none}}@media print{.ruler{display:none!important}}.doc-mode-bar:not([hidden]){border-bottom:1px solid var(--border);background:var(--surface);z-index:3;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;display:flex;position:sticky;top:0}.doc-mode-bar>span{margin-right:auto;font-weight:600}.doc-editor.source-mode>.toolbar,.doc-editor.source-mode>.table-bar,.doc-editor.source-mode>.doc-body,.doc-editor.reading-mode>.toolbar,.doc-editor.reading-mode>.table-bar{display:none!important}.source-pane{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid}.source-text{border-right:1px solid var(--border);min-width:0}.source-text .cm-editor{height:100%;font-size:.95rem}.source-text .cm-scroller{font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace}.source-preview-scroll{background:var(--bg);min-width:0;padding:16px;overflow:auto}.source-preview.doc-page{margin:0 auto}@media (max-width:760px){.source-pane{grid-template-rows:minmax(50vh,auto) auto;grid-template-columns:1fr}.source-text{border-right:0;border-bottom:1px solid var(--border)}}.goal-days{margin:0;padding:0;list-style:none}.goal-days li{grid-template-columns:6em 1fr 4em;align-items:center;gap:8px;font-size:.85rem;display:grid}.goal-bar{background:var(--accent);border-radius:3px;min-width:1px;height:10px;display:block}.goal-count{text-align:right;color:var(--muted)}.review-help table{border-collapse:collapse}.review-help td,.review-help th{text-align:left;vertical-align:top;padding:3px 10px 3px 0}.review-help kbd{border:1px solid var(--border,#bbb);text-align:center;border-bottom-width:2px;border-radius:4px;min-width:1.2em;padding:0 4px;font:.85em ui-monospace,monospace;display:inline-block}body.distraction-free .app-header,body.distraction-free .app-status,body.distraction-free .folder-panel,body.distraction-free .ai-panel,.doc-editor.reviewing>.toolbar:not(.review-bar),.doc-editor.reviewing>.table-bar,.review-bar[hidden]{display:none!important}.doc-editor.reviewing>.review-bar:not([hidden]){display:flex!important}.doc-editor.reviewing .doc-page{caret-color:#0000}.doc-editor.reviewing .doc-scroll{outline:none}.doc-editor.paged{height:100%;min-height:0}.doc-editor.paged .doc-body{flex:1;align-items:stretch;min-height:0}.doc-editor.paged .doc-scroll{box-sizing:border-box;background:#525659;height:100%;padding:16px 0;overflow:hidden auto}.doc-editor.paged .doc-furniture,.doc-editor.paged .doc-notes{display:none}.doc-editor.paged .ruler{display:none!important}.doc-editor.paged .doc-sheet{width:auto;max-width:none;margin:0}.doc-editor.paged .doc-page{--pages:1;box-sizing:border-box;max-width:none;min-height:0;width:calc(var(--pages) * var(--rv-w,816px) + (var(--pages) - 1) * 24px);height:var(--rv-h,1056px);padding:var(--rv-pad,72px 80px);column-count:var(--pages);column-gap:var(--rv-colgap,184px);column-fill:auto;background:repeating-linear-gradient(to right, var(--paper-white) 0 var(--rv-w,816px), transparent var(--rv-w,816px) calc(var(--rv-w,816px) + 24px));box-shadow:none;margin:0}.doc-editor.paged .doc-page hr.page-break{break-after:column}.doc-editor.paged .doc-page img{max-height:var(--rv-text-h,900px);object-fit:contain}.doc-editor.paged .doc-page table,.doc-editor.paged .doc-page pre{break-inside:avoid}.pdf-viewer.reviewing .pdf-form-tool{display:none}.pdf-review-hint{color:var(--muted);font-size:.9rem}.settings-dialog{width:min(48rem,100vw - 32px);max-width:none}.settings-body{grid-template-columns:13rem minmax(0,1fr);gap:16px;min-height:20rem;display:grid}.settings-tabs{border-right:1px solid var(--border);flex-direction:column;gap:4px;padding-right:12px;display:flex}.settings-tabs [role=tab]{text-align:left;background:0 0;border-color:#0000}.settings-tabs [role=tab][aria-selected=true]{background:var(--sel);border-color:var(--accent);font-weight:600}.settings-panel{outline:none}.settings-panel h3{margin:0 0 12px;font-size:1.05rem}.settings-field{grid-template-columns:minmax(10rem,14rem) minmax(0,1fr);align-items:center;gap:4px 12px;margin-bottom:12px;display:grid}.settings-field.check{grid-template-columns:auto minmax(0,1fr)}.settings-field .hint{grid-column:2;margin:0;font-size:.85rem}.settings-dialog .dialog-actions{align-items:center}.settings-dialog .dialog-actions .hint{margin-right:auto;font-size:.85rem}@media (max-width:600px){.settings-body{grid-template-columns:1fr}.settings-tabs{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap;padding:0 0 8px}.settings-field{grid-template-columns:1fr}.settings-field .hint{grid-column:1}}.spinner{vertical-align:-.15em;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:1em;height:1em;animation:.8s linear infinite pwo-spin;display:inline-block}.spinner[hidden]{display:none}@keyframes pwo-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.app-busy{align-items:center;gap:8px;display:flex}.app-busy[hidden]{display:none}.cm-tooltip{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #0000002e}.cm-tooltip.cm-tooltip-autocomplete>ul{max-height:16em;font-family:ui-monospace,Cascadia Code,Menlo,Consolas,monospace}.cm-tooltip.cm-tooltip-autocomplete>ul>li[aria-selected]{background:var(--accent);color:#fff}.cm-completionDetail{color:var(--muted);margin-left:.6em;font-style:normal}.cm-tooltip-autocomplete>ul>li[aria-selected] .cm-completionDetail{color:inherit;opacity:.85}.cm-completionInfo{background:var(--surface);color:var(--text);border:1px solid var(--border);white-space:pre-wrap;max-width:28em;max-height:18em;font-size:.85rem;overflow:auto}.code-cell-output .spinner,.collab-bar .spinner{margin-right:.4em}.cm-ts-info{max-width:32em;padding:6px 8px;font-size:.85rem}.cm-ts-info code{white-space:pre-wrap;color:var(--text);font-family:ui-monospace,Cascadia Code,Menlo,Consolas,monospace;display:block}.cm-ts-info p{white-space:pre-wrap;color:var(--muted);margin:6px 0 0}.cm-tooltip-lint{background:var(--surface);color:var(--text)}.cm-diagnostic{white-space:pre-wrap;padding:4px 8px;font-size:.85rem}.code-cell.code-hidden>.code-cell-source{display:none}.code-cell.code-hidden>.code-cell-output{border-top:0}.code-cell-hidden-note{font-style:italic;font-weight:400}.print-document .code-cell.code-hidden>.code-cell-source{display:none}.code-stale>.code-cell .code-cell-output{opacity:.55}.code-stale>.code-cell{border-color:#c78a00}.code-stale:before{content:"⟳ " attr(data-stale);color:#7a5200;background:#fff4d6;border-radius:6px 6px 0 0;margin-top:6pt;padding:2px 10px;font:600 .78rem system-ui,sans-serif;display:block}.code-stale>.code-cell{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}@media print{.code-stale:before{display:none}.code-stale>.code-cell .code-cell-output{opacity:1}}.doc-dag{margin-bottom:16px}.dag-head{align-items:center;gap:4px;display:flex}.dag-head h2{flex:1;margin:0;font-size:1rem}.dag-legend{flex-wrap:wrap;gap:4px 10px;margin:6px 0;font-size:.78rem;display:flex}.dag-key:before{content:"";vertical-align:-.1em;border:2px solid;border-radius:3px;width:.8em;height:.8em;margin-right:4px;display:inline-block}.dag-ok:before{background:#d4edda;border-color:#28a745}.dag-stale:before{background:#e2e3e5;border-style:dashed;border-color:#6c757d}.dag-error:before{background:#f8d7da;border-color:#dc3545}.dag-blocked:before{background:#fff3cd;border-style:dashed;border-color:#c78a00}.dag-new:before{background:#fff;border-width:1px;border-color:#8a94a3}.dag-graph{background:#fff;border-radius:6px;padding:4px;overflow:auto}.dag-graph svg{max-width:100%;height:auto;margin:0 auto;display:block}.dag-graph g.dag-current{filter:drop-shadow(0 0 6px #ff6a00)}.dag-details{margin-top:6px;font-size:.85rem}.dag-list{margin:4px 0;padding-left:1.2em}.dag-item{margin:4px 0}.dag-item.dag-ok:before,.dag-item.dag-stale:before,.dag-item.dag-error:before,.dag-item.dag-blocked:before,.dag-item.dag-new:before{content:none}.dag-highlight{outline-offset:2px;border-radius:6px;outline:3px solid #ff6a00;transition:outline-color .3s}.code-cell-widgets{background:#fff;border-top:1px dashed #d6dce5;padding:6px 10px;display:block}.code-cell-widget{display:block}.code-cell-widget+.code-cell-widget{margin-top:6px}.code-widget-frame{color-scheme:normal;background:0 0;border:0;width:100%;display:block}.code-cell-widget img{max-width:100%;height:auto}.print-document .code-widget-frame{display:none}.folder-tag-section{margin:8px 0;font-size:.9rem}.folder-tag-section>summary{cursor:pointer;font-weight:600}.folder-tags{flex-wrap:wrap;gap:4px 8px;padding:6px 0;display:flex}.folder-calendar-section{flex:none;max-height:55%;font-size:.9rem;overflow:auto}.folder-calendar-section>summary{cursor:pointer;padding:2px 0;font-weight:600}.folder-panel .fs-explorer{min-height:8rem}.daily-calendar{padding:4px 0 8px;font-size:.85rem}.daily-head{align-items:center;gap:2px;margin-bottom:4px;display:flex}.daily-month{text-align:center;text-transform:capitalize;flex:1;font-weight:600}.daily-today{padding:1px 6px;font-size:.75rem}.daily-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.daily-weekday{color:var(--muted);text-transform:uppercase;font-size:.7rem}.daily-day{color:inherit;min-width:0;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:3px 0 7px;position:relative}.daily-day:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.daily-day.has-note:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:2px;left:50%}.daily-day.today{border-color:var(--accent);font-weight:700}.daily-day.current{background:color-mix(in srgb, var(--accent) 22%, transparent)}.daily-settings{gap:4px;margin:4px 0 8px;display:grid}.daily-settings label{grid-template-columns:5.5em 1fr;align-items:center;gap:6px;display:grid}.daily-settings input{min-width:0;font:.85em ui-monospace,monospace}.daily-heading-inputs{flex-direction:column;gap:2px;min-width:0;display:flex}.daily-heading-inputs select{min-width:0}.daily-settings .hint{margin:0;font-size:.75rem}.folder-tag{align-items:center;gap:2px;display:inline-flex}.folder-tag-count{color:var(--muted);font-size:.75rem}.folder-tag-rename{width:1.6rem;height:1.6rem;padding:0;font-size:.8rem}.notes-graph-dialog{width:min(92vw,1100px)}.notes-graph{background:#fff;border-radius:6px;max-height:70vh;padding:6px;overflow:auto}.notes-graph svg{max-width:none;margin:0 auto;display:block}.folder-related-why{color:var(--muted);margin-left:1.6rem;font-size:.75rem;display:block}.completion-list{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:6px;min-width:12rem;max-width:24rem;margin:0;padding:4px 0;font-size:.9rem;list-style:none;position:absolute;box-shadow:0 4px 16px #0000002e}.completion-list li{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:4px 12px;overflow:hidden}.completion-list li[aria-selected=true]{background:var(--accent);color:var(--accent-contrast,#fff)}.note-tag{--tag-colour:var(--accent);color:var(--tag-colour);background:color-mix(in srgb, var(--tag-colour) 14%, transparent);border-radius:4px;padding:0 2px}.folder-tag .link{color:var(--tag-colour)}.folder-tag-colour{box-sizing:border-box;border:1px solid var(--border);background:var(--tag-colour,transparent);color:#0000;cursor:pointer;appearance:none;border-radius:50%;flex:none;width:1rem;min-width:0;height:1rem;min-height:0;margin:0 2px;padding:0;font-size:0}.folder-tag-colour option{color:var(--text);background:var(--surface);font-size:.9rem}.doc-page blockquote.callout{--callout:#2f6fd6;border-left:4px solid var(--callout);background:color-mix(in srgb, var(--callout) 9%, transparent);color:inherit;margin:0;padding:2pt 12px;font-style:normal}.doc-page blockquote.callout-head{color:var(--callout);border-top-right-radius:6px;margin-top:8pt;padding-top:6pt;font-weight:600}.doc-page blockquote.callout+blockquote.callout:not(.callout-head){margin-top:0}.doc-page blockquote.callout:not(:has(+blockquote.callout:not(.callout-head))){border-bottom-right-radius:6px;margin-bottom:8pt;padding-bottom:6pt}.doc-page blockquote.callout-abstract{--callout:#1c9aa0}.doc-page blockquote.callout-tip{--callout:#2e9e5b}.doc-page blockquote.callout-question{--callout:#b8930b}.doc-page blockquote.callout-warning{--callout:#d9822b}.doc-page blockquote.callout-danger{--callout:#d1453b}.doc-page blockquote.callout-example{--callout:#8a4fd6}.start-links{flex-wrap:wrap;gap:8px;margin:4px 0 20px;display:flex}.start-link{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.start-link[data-icon]:before{content:attr(data-icon) / ""}.start-link:hover,.start-link:focus-visible{border-color:var(--accent);color:var(--accent)}.snippet-stop{outline:1px dashed var(--accent);outline-offset:1px;border-radius:2px}.snippet-stop-empty{vertical-align:text-bottom;background:var(--accent);opacity:.5;width:2px;height:1em;display:inline-block}.snippets-dialog{width:min(640px,92vw)}.snippet-lists{max-height:50vh;overflow:auto}.snippet-group h3{margin:12px 0 4px;font-size:.95rem}.snippet-group ul{margin:0;padding:0;list-style:none}.snippet-group li{align-items:center;gap:8px;padding:2px 0;display:flex}.snippet-preview{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);flex:1;font-size:.8rem;overflow:hidden}.snippet-new{gap:6px;margin-top:12px;display:grid}.snippet-new[open]{display:grid}.snippet-new textarea{box-sizing:border-box;width:100%;font-family:ui-monospace,monospace}.tool-group{display:inline-flex;position:relative}.tool-group-toggle{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.tool-group-toggle[aria-expanded=true]{background:var(--sel);border-color:var(--accent)}.tool-group-caret{opacity:.7;font-size:.75em}.tool-group-panel{z-index:70;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius,8px);flex-wrap:wrap;gap:4px;max-width:min(420px,100vw - 16px);padding:6px;display:flex;position:fixed;box-shadow:0 8px 24px #0003}.tool-group-inline{display:contents}.toolbar select.text-tools,.toolbar select.view-tools{width:auto;max-width:6.5rem}.header-actions select{width:auto;max-width:9rem}@media (min-width:701px){.toolbar{container-type:inline-size}}@container (width<=1320px){.tool-group-label{display:none}}@media (max-width:1100px){.header-actions .tool-group-label{display:none}}.tool-group-panel{grid-template-columns:repeat(2,minmax(10rem,1fr));max-width:min(30rem,100vw - 16px);display:grid}.tool-group-panel[hidden]{display:none}.tool-group-panel>button{text-align:left;white-space:nowrap;justify-content:flex-start}.tool-group-panel>button[aria-label]:after{content:" " attr(aria-label);font-size:.9rem}@media (max-width:600px){.tool-group-panel{grid-template-columns:1fr}}.context-menu{z-index:1000;border:1px solid var(--border);background:var(--surface);min-width:14em;max-height:calc(100vh - 8px);color:var(--text);border-radius:8px;flex-direction:column;padding:4px;font-size:.9375rem;display:flex;position:fixed;overflow:auto;box-shadow:0 8px 24px #0003}.context-menu-item{text-align:left;font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:5px 10px;display:flex}.context-menu-item:hover:not(:disabled),.context-menu-item:focus-visible{background:var(--sel);outline:none}.context-menu-item:disabled{color:var(--muted);cursor:default}.context-menu-icon{text-align:center;flex:none;width:1.4em}.context-menu-label{flex:1}.context-menu-shortcut{color:var(--muted);margin-left:1.5em;font-size:.8125rem}.context-menu-sep{background:var(--border);height:1px;margin:4px 6px}.context-menu-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:6px 10px 2px;font-size:.75rem;font-weight:600}.context-menu.sheet{max-height:70vh;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;font-size:1rem;inset:auto 0 0}.context-menu.sheet .context-menu-item{min-height:44px;padding:12px}.context-menu.sheet .context-menu-shortcut{display:none}.context-menu-backdrop{z-index:999;background:#0000004d;position:fixed;inset:0}.table-picker-box{padding:4px 8px 6px}.table-picker{gap:2px;width:max-content;display:grid}.table-picker-cell{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:2px;width:18px;height:18px;padding:0}.context-menu.sheet .table-picker-cell{width:30px;height:30px}.table-picker-cell.on{background:var(--accent);border-color:var(--accent)}.table-picker-caption{color:var(--muted);padding-top:4px;font-size:.8125rem}.doc-page .has-hfill{flex-wrap:wrap;align-items:baseline;display:flex}.doc-page .hfill{background:repeating-linear-gradient(90deg,#0000 0 4px,#9aa5b5 4px 6px) 50%/100% 1px no-repeat;flex:1 1 0;align-self:center;min-width:.5em;height:.7em}.doc-page .space{background:repeating-linear-gradient(0deg,#0000 0 6px,#1f5fbf0f 6px 12px);margin:0;position:relative;box-shadow:inset 2px 0 #9aa5b5}.doc-page .space:after{content:attr(data-label);color:#6b7686;white-space:nowrap;pointer-events:none;background:#fff;border:1px dashed #9aa5b5;border-radius:3px;padding:0 6px;font-size:8pt;line-height:1.4;position:absolute;top:0;right:0;transform:translateY(-50%)}.doc-page .space.ProseMirror-selectednode{box-shadow:inset 3px 0 0 var(--accent)}@media print{.doc-page .hfill{background:0 0}.doc-page .space{box-shadow:none;background:0 0}.doc-page .space:after{display:none}}.pdf-design-bar[hidden]{display:none!important}.pdf-design-bar .pdf-design-label{font-weight:600}.pdf-design-layer{z-index:3;pointer-events:none;position:absolute;inset:0}.pdf-viewer.designing .pdf-form-layer,.pdf-viewer.designing .textLayer{pointer-events:none!important}.pdf-viewer.designing .pdf-form-layer{opacity:.35}.pdf-viewer.designing .pdf-page{cursor:crosshair;touch-action:none}.pdf-design-field{box-sizing:border-box;border:2px solid var(--accent);pointer-events:auto;cursor:pointer;background:#1f5fbf1f;border-radius:2px;position:absolute}.pdf-design-field.new{border-style:dashed}.pdf-design-field.drawing{pointer-events:none;border-style:dashed}.pdf-design-field:focus-visible{outline:2px solid var(--focus,#e67e00);outline-offset:2px}.pdf-design-name{text-overflow:ellipsis;background:var(--accent);max-width:20em;color:var(--accent-contrast);white-space:nowrap;border-radius:3px 3px 0 0;padding:0 4px;font-size:10px;line-height:1.4;position:absolute;bottom:100%;left:-2px;overflow:hidden}.form-field-dialog .field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.form-field-dialog textarea,.form-field-dialog input[type=text]{box-sizing:border-box;width:100%}.color-control .color-more{min-width:0;padding:0 4px}.color-dialog .color-swatches{flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0;display:flex}.color-dialog .color-swatch{border:1px solid #8892a0;border-radius:3px;width:22px;min-width:0;height:22px;padding:0}.color-dialog .color-preview{align-items:center;gap:8px;margin:8px 0;display:flex}.color-dialog .color-swatch-big{border:1px solid #8892a0;border-radius:4px;width:56px;height:36px}.color-dialog .color-swatch-big.printed{position:relative}.color-dialog .color-values{border:1px solid var(--border,#ccc);border-radius:4px;flex-wrap:wrap;gap:6px 12px;margin:6px 0;display:flex}.color-dialog .color-num{width:5em}.color-dialog .color-warning{margin:4px 0}.color-dialog .color-warning.warn{color:#9a4b00}.soft-proof .doc-page span[data-color]{color:var(--proof)!important}.soft-proof .doc-page mark[data-highlight]{background-color:var(--proof)!important}.soft-proof .doc-page{box-shadow:0 0 0 3px #e8d9b5,0 2px 10px #00000040}.backup-button{white-space:nowrap}.backup-button.due{background:#c7770026;border-color:#c77700}.backup-dialog{max-width:36rem}.backup-dialog .backup-last{font-weight:600}.backup-dialog .backup-last.due{color:#8a4f00}.backup-dialog .backup-files{flex-direction:column;gap:2px;max-height:14rem;margin:6px 0;display:flex;overflow:auto}.backup-dialog .backup-password{margin-left:1.5rem}.backup-dialog .dialog-actions.start{justify-content:flex-start}.devsync-dialog{max-width:38rem}.devsync-warnings{background:#c777001a;border-left:4px solid #c77700;margin:8px 0;padding:6px 12px}.devsync-warnings ul{margin:4px 0;padding-left:1.2rem}.devsync-understood{margin:8px 0;font-weight:600;display:block}.devsync-peers{margin:4px 0;padding:0;list-style:none}.devsync-code{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.devsync-code-text{word-break:break-all;max-width:18rem;font-size:.8rem}.devsync-emojis{letter-spacing:.3em;margin:6px 0;font-size:2rem}.devsync-steps{margin:4px 0 8px;padding-left:1.4rem}.devsync-now{margin:4px 0}.devsync-searching{align-items:center;gap:8px;margin:6px 0;display:flex}.devsync-searching[hidden],.devsync-alerts:empty{display:none}.devsync-alerts .devsync-request{border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface,#fff));box-shadow:0 2px 10px #00000026}.devsync-request{border:1px solid var(--border);border-radius:var(--radius);margin:8px 0;padding:8px 12px}.git-repo-info{border:1px solid var(--border);border-radius:var(--radius);margin:6px 0;padding:6px 10px}.git-info p{margin:4px 0}.git-visibility{border:1px solid var(--border);white-space:nowrap;border-radius:10px;padding:1px 8px;font-weight:600}.git-visibility.public{background:#2e7d321f}.git-visibility.private{background:#c7770024}.git-visibility.internal{background:#1565c01f}.git-people{max-height:12rem;margin:4px 0;padding:0;list-style:none;overflow:auto}.git-people li{padding:2px 0}.git-role{font-weight:600}.diff-dialog,.history-dialog{width:min(900px,100vw - 32px)}.diff-legend del,.diff del{background:#d32f2f2e;-webkit-text-decoration:line-through #b71c1c;text-decoration:line-through #b71c1c}.diff-legend ins,.diff ins{background:#2e7d3233;text-decoration:none}.diff-lines{border:1px solid var(--border);border-radius:var(--radius);max-height:60vh;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:.85rem;overflow:auto}.diff-line{white-space:pre-wrap;overflow-wrap:anywhere;gap:6px;padding:1px 6px;display:flex}.diff-line.added{background:#2e7d3214}.diff-line.removed{background:#d32f2f14}.diff-line.changed{background:#f9a82514}.diff-mark{width:1em;color:var(--muted);text-align:center;flex:none}.diff-fold{text-align:left;background:color-mix(in srgb, var(--muted) 10%, transparent);width:100%;color:var(--muted);border:0;border-radius:0;font-size:.8rem;display:block}.diff-cells{border-collapse:collapse;width:100%}.diff-cells th,.diff-cells td{border:1px solid var(--border);text-align:left;padding:2px 6px}.history-list{max-height:60vh;padding-left:1.2rem;overflow:auto}.history-list li{margin:6px 0}.history-actions{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}th.colhead{position:relative}.col-resizer{cursor:col-resize;z-index:2;touch-action:none;width:7px;height:100%;position:absolute;top:0;right:-3px}.col-resizer:hover,.col-resizer:active{background:color-mix(in srgb, var(--accent) 45%, transparent)}.devsync-recent{max-height:50vh;padding:0;list-style:none;overflow:auto}.devsync-recent li{margin:4px 0}.symbol-dialog{max-width:32rem}.symbol-dialog input[type=search]{box-sizing:border-box;width:100%;margin-bottom:6px}.symbol-groups{max-height:60vh;overflow:auto}.symbol-groups h3{margin:8px 0 4px;font-size:.9rem}.symbol-grid{flex-wrap:wrap;gap:4px;display:flex}.symbol-cell{min-width:2.2em;padding:2px 6px;font-size:1.1rem}.devsync-trash-list{gap:4px;max-height:50vh;margin:8px 0;padding:0;list-style:none;display:grid;overflow:auto}.devsync-trash-list li.day{color:var(--muted);margin-top:8px;font-size:.85rem;font-weight:600}.devsync-trash-list li.file{align-items:center;gap:8px;display:flex}.devsync-trash-list li.file .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.devsync-trash-list li.file .size{color:var(--muted);font-size:.85rem}.devsync-trash-list li.empty{color:var(--muted);font-style:italic}.devsync-peers .devsync-revoke-one{padding:1px 8px;font-size:.85rem}.control-dialog{max-width:min(760px,100vw - 32px)}.control-dialog .field{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.control-dialog .field input[type=text]{font-family:ui-monospace,monospace}.control-dialog .control-row{flex-wrap:wrap;align-items:end;gap:8px 14px;display:flex}.control-dialog .error{color:var(--danger)}.control-preview{border:1px solid var(--border);background:#fff;border-radius:4px;gap:8px;max-height:50vh;display:grid;overflow:auto}.control-preview svg{width:100%;height:auto}.exam-banner{z-index:2000;color:#ffe08a;background:#4a3b00;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 12px;font-size:.9rem;display:flex;position:sticky;top:0}.exam-banner .hint{color:#f3d98a}.exam-banner button{color:#fff3c4;background:#6a5500;border-color:#8a7000}.exam-banner .exam-status{flex:1;font-weight:600}.exam-dialog .field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.exam-dialog .error{color:var(--danger)}.exam-log{max-height:45vh;padding-left:1.5rem;font-size:.9rem;overflow:auto}.exam-log time{font-variant-numeric:tabular-nums;color:var(--muted)}.exam-log li:not(.exam-start){color:var(--danger)}.exam-counts{font-weight:600}.card.browser-docs{border-left-color:var(--doc)}.browser-docs-dialog{max-width:min(820px,100vw - 32px)}.styles-dialog{max-width:min(860px,100vw - 32px)}.styles-body{grid-template-columns:minmax(180px,1fr) 2fr;align-items:start;gap:16px;display:grid}@media (max-width:640px){.styles-body{grid-template-columns:1fr}}.styles-list{border:1px solid var(--border);border-radius:6px;max-height:50vh;margin:0 0 8px;padding:0;list-style:none;overflow:auto}.styles-list li{cursor:pointer;padding:6px 10px}.styles-list li[aria-selected=true]{background:var(--accent-soft,#0078d41f)}.styles-list .styles-sample{text-overflow:ellipsis;white-space:nowrap;margin:0;display:block;overflow:hidden}.styles-editor .styles-row{flex-wrap:wrap;gap:8px 16px;margin:8px 0;display:flex}.styles-editor .styles-row .field input[type=number]{width:6em}.browser-docs-scroll{border:1px solid var(--border);border-radius:4px;max-height:40vh;overflow:auto}.browser-docs{border-collapse:collapse;width:100%;font-size:.9rem}.browser-docs th,.browser-docs td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:4px 8px}.browser-docs th{background:var(--surface);position:sticky;top:0}.browser-docs .doc-remote .remote-name{color:var(--muted);font-style:italic}.sync-history{max-height:30vh;padding-left:1.5rem;font-size:.9rem;overflow:auto}.sync-history time{font-variant-numeric:tabular-nums;color:var(--muted)}.sync-button{position:relative}.sync-button.online:after{content:"";width:8px;height:8px;box-shadow:0 0 0 2px var(--bg);background:#2e7d32;border-radius:50%;position:absolute;top:3px;right:3px}button[data-icon]:not(.card):not(.template-card):not(.template-tab):not(.start-link):not(.folder-file):before{content:attr(data-icon) " ";content:attr(data-icon) " " / ""}.draw-scroll,.paint-scroll{touch-action:none;overscroll-behavior:contain}.draw-scroll.panning,.paint-scroll.panning{cursor:grabbing}.note-properties{box-sizing:border-box;width:var(--page-w,816px);background:var(--surface);max-width:100%;color:var(--text);border:1px solid var(--border);border-radius:8px;margin:0 auto 12px;padding:8px 12px;font-size:.9rem}.note-properties[hidden]{display:none}.note-properties-head{align-items:center;gap:4px;display:flex}.note-properties-toggle{color:inherit;cursor:pointer;background:0 0;border:0;padding:2px 4px;font-weight:600}.note-properties-rows{grid-template-columns:minmax(110px,180px) 1fr auto;align-items:center;gap:2px 8px;margin:6px 0;display:grid}.note-property{display:contents}.note-property-key{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;padding:3px 0;display:flex;overflow:hidden}.note-property-icon{text-align:center;opacity:.8;width:1.4em;display:inline-block}.note-property-value{min-width:0}.note-property-value input[type=text],.note-property-value input[type=number],.note-property-value input[type=date],.note-property-value input[type=datetime-local]{box-sizing:border-box;width:100%;color:inherit;font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:3px 6px}.note-property-value input:hover:not(:disabled),.note-property-value input:focus,.note-property-raw:focus{border-color:var(--border);background:var(--bg)}.note-property-value input[type=number]{max-width:10em}.note-property-value input[type=date],.note-property-value input[type=datetime-local]{width:auto}.note-property-line{align-items:center;gap:4px;display:flex}.note-property-raw{box-sizing:border-box;background:var(--bg);width:100%;color:inherit;border:1px solid var(--border);border-radius:4px;padding:4px 6px;font:.85em ui-monospace,monospace}.note-property-remove{opacity:0}.note-property:hover .note-property-remove,.note-property-remove:focus-visible{opacity:.7}.note-chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.note-chip{background:color-mix(in srgb, var(--tag-colour,var(--accent)) 16%, transparent);border:1px solid color-mix(in srgb, var(--tag-colour,var(--accent)) 45%, transparent);border-radius:999px;align-items:center;gap:2px;padding:1px 8px;line-height:1.6;display:inline-flex}.note-chip.tag{color:color-mix(in srgb, var(--tag-colour,var(--accent)) 75%, var(--text));font-weight:500}.note-chip .link{color:inherit;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);background:0 0;border:0;padding:0}.note-chip-remove{color:inherit;opacity:.55;cursor:pointer;background:0 0;border:0;padding:0 0 0 2px}.note-chip-remove:hover{opacity:1}.note-chip-input{border:1px dashed var(--border)!important;border-radius:999px!important;width:8em!important;padding:1px 8px!important}.note-properties-new{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding-top:6px;display:flex}.note-properties-new .note-property-name{flex:10em;min-width:8em}.note-properties-modes{border:1px solid var(--border);border-radius:6px;margin-left:auto;display:inline-flex;overflow:hidden}.note-properties-mode{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:1px 8px;font-size:.85em}.note-properties-mode+.note-properties-mode{border-left:1px solid var(--border)}.note-properties-mode[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--text)}.note-property-rich{overflow-wrap:anywhere;padding:3px 6px}.note-property-link{font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);background:0 0;border:0;padding:0}.note-property-edit{opacity:.5;background:0 0;border:0;min-width:0;min-height:0;padding:0 4px}.note-properties[data-mode=read] .note-properties-rows{grid-template-columns:minmax(110px,180px) 1fr}.note-property-edit:hover,.note-property-edit:focus-visible{opacity:1}.note-properties[data-mode=read] .note-property-value>span,.note-properties[data-mode=read] .note-property-value>time{padding:3px 6px;display:inline-block}.note-properties[data-mode=read] pre.note-property-raw{white-space:pre-wrap;margin:0}.note-property-bool.yes{color:var(--accent);font-weight:700}.note-property-bool.no{color:var(--muted)}.note-properties-source{box-sizing:border-box;background:var(--bg);width:100%;color:inherit;border:1px solid var(--border);resize:vertical;border-radius:4px;margin-top:6px;padding:6px 8px;font:.85em/1.5 ui-monospace,monospace;display:block}@media print{.note-properties{display:none}}@media (max-width:600px){.note-properties-rows{grid-template-columns:minmax(80px,110px) 1fr auto}}.calendar-view{box-sizing:border-box;background:var(--bg);height:100%;min-height:0;color:var(--text);flex-direction:column;gap:8px;padding:8px 12px;display:flex}.calendar-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.calendar-title{text-transform:capitalize;flex:12em;margin:0 8px;font-size:1.2rem}.calendar-modes{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.calendar-mode{background:0 0;border:0;border-radius:0;padding:4px 10px}.calendar-mode+.calendar-mode{border-left:1px solid var(--border)}.calendar-mode[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 18%, transparent);font-weight:600}.calendar-loading{margin:2em auto}.calendar-event{box-sizing:border-box;border:0;border-left:3px solid var(--event-colour);background:color-mix(in srgb, var(--event-colour) 16%, var(--surface));width:100%;color:var(--text);text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:4px;margin:1px 0;padding:1px 6px;font-size:.78rem;display:block;overflow:hidden}.calendar-event.all-day{background:var(--event-colour);color:#fff;border-left-color:#0000}.calendar-event:hover{filter:brightness(.95)}.calendar-date{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 4px}.calendar-date:hover{background:var(--sel)}.calendar-date.today{background:var(--accent);color:#fff;font-weight:700}.calendar-more{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:.75rem}.calendar-month{flex-direction:column;flex:1;min-height:0;display:flex}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekday{color:var(--muted);text-transform:capitalize;padding:2px 6px;font-size:.8rem}.calendar-days{border-top:1px solid var(--border);border-left:1px solid var(--border);flex:1;grid-auto-rows:minmax(5.5em,1fr)}.calendar-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);cursor:cell;min-width:0;padding:2px 3px;overflow:hidden}.calendar-cell.other-month{background:var(--bg);color:var(--muted)}.calendar-cell.drop,.calendar-column.drop,.calendar-all-day-cell.drop{outline:2px dashed var(--accent);outline-offset:-2px}.calendar-time{--hour:48px;flex-direction:column;flex:1;min-height:0;display:flex}.calendar-head,.calendar-all-day,.calendar-hours-grid{grid-template-columns:4em repeat(var(--days), minmax(0, 1fr));display:grid}.calendar-head-day{text-align:center;text-transform:capitalize;padding:2px}.calendar-all-day{border-bottom:1px solid var(--border)}.calendar-all-day-cell{border-left:1px solid var(--border);min-height:1.6em;padding:1px}.calendar-gutter{color:var(--muted);text-align:right;padding-right:4px;font-size:.72rem}.calendar-hours{flex:1;min-height:0;overflow-y:auto}.calendar-hour-label{height:var(--hour);box-sizing:border-box;transform:translateY(-.6em)}.calendar-column{border-left:1px solid var(--border);cursor:cell;position:relative}.calendar-slot{height:var(--hour);box-sizing:border-box;border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent)}.calendar-event.timed{white-space:normal;z-index:1;border-left-width:3px;margin:0;padding:2px 4px;position:absolute;overflow:hidden}.calendar-now{z-index:2;pointer-events:none;background:#d93025;height:2px;position:absolute;left:0;right:0}.calendar-agenda{flex:1;max-width:48em;min-height:0;overflow-y:auto}.calendar-agenda-day h3{text-transform:capitalize;margin:12px 0 4px;font-size:.95rem}.calendar-agenda-day ul{margin:0;padding:0;list-style:none}.calendar-agenda-day li{grid-template-columns:9em minmax(0,20em) auto;align-items:center;gap:8px;padding:2px 0;display:grid}.calendar-agenda-time{color:var(--muted);font-size:.85rem}.calendar-dialog{width:min(34em,96vw)}.calendar-dialog .calendar-field-title{box-sizing:border-box;width:100%;margin-bottom:6px;padding:6px 8px;font-size:1.15rem}.calendar-field{grid-template-columns:7.5em 1fr;align-items:center;gap:8px;margin:6px 0;display:grid}.calendar-inputs{flex-wrap:wrap;gap:6px;display:flex}.calendar-inputs input[type=text],.calendar-inputs textarea,.calendar-inputs select{box-sizing:border-box;flex:1;min-width:0}.calendar-inputs textarea{width:100%}.calendar-all-day-toggle{align-items:center;gap:4px;margin:2px 0 4px 7.9em;display:inline-flex}@media (max-width:600px){.calendar-days{grid-auto-rows:minmax(4em,1fr)}.calendar-event{padding:0 3px;font-size:.7rem}.calendar-field{grid-template-columns:1fr;gap:2px}.calendar-all-day-toggle{margin-left:0}.calendar-agenda-day li{grid-template-columns:6em minmax(0,1fr)}}@media print{.calendar-bar button{display:none}}.contacts-view{box-sizing:border-box;background:var(--bg);height:100%;min-height:0;color:var(--text);flex-direction:column;gap:8px;padding:8px 12px;display:flex}.contacts-bar{align-items:center;gap:6px;display:flex}.contacts-search{flex:1;min-width:0;max-width:28em}.contacts-body{flex:1;grid-template-columns:minmax(14em,22em) 1fr;gap:12px;min-height:0;display:grid}.contacts-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:0;padding:0;list-style:none;overflow-y:auto}.contacts-list .contacts-letter{background:var(--surface);color:var(--muted);border-bottom:1px solid var(--border);padding:4px 10px;font-size:.75rem;font-weight:600;position:sticky;top:0}.contacts-list li[role=option]{cursor:pointer;align-items:center;gap:8px;padding:6px 10px;display:flex}.contacts-list li[role=option]:hover{background:var(--sel)}.contacts-list li.selected{background:color-mix(in srgb, var(--accent) 16%, transparent)}.contact-line{flex-direction:column;min-width:0;display:flex}.contact-line>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.contact-line small{color:var(--muted)}.contact-avatar{background:var(--avatar);color:#fff;border-radius:50%;flex:none;place-items:center;width:2.2em;height:2.2em;font-size:.85rem;font-weight:600;display:inline-grid}.contact-avatar.large{width:3.6em;height:3.6em;font-size:1.2rem}.contact-card{padding:4px 8px;overflow-y:auto}.contact-head{align-items:center;gap:14px;display:flex}.contact-head h2{margin:0}.contact-head .hint{margin:2px 0 0}.contact-actions{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.contact-fields{grid-template-columns:8.5em 1fr;gap:6px 16px;margin:0 0 12px;display:grid}.contact-row{display:contents}.contact-row dt{color:var(--muted)}.contact-row dd{overflow-wrap:anywhere;margin:0}.contact-card h3{margin:14px 0 4px;font-size:.95rem}.contact-card ul{margin:0;padding:0;list-style:none}.calendar-event.birthday{cursor:pointer}@media (max-width:700px){.contacts-body{grid-template-rows:minmax(8em,35%) 1fr;grid-template-columns:1fr}}.pim-servers{width:min(34em,96vw)}.pim-account{border-top:1px solid var(--border);padding:6px 0}.pim-account h3{justify-content:space-between;align-items:center;gap:8px;margin:4px 0;font-size:.95rem;display:flex}.pim-collection{align-items:center;gap:6px;padding:3px 0;display:flex}.pim-colour{border-radius:50%;width:.8em;height:.8em;display:inline-block}.syncing .calendar-sync,.syncing .contacts-sync{animation:1s linear infinite pim-spin}@keyframes pim-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.syncing .calendar-sync,.syncing .contacts-sync{opacity:.5;animation:none}}.contact-timeline li{border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);grid-template-columns:11em 1.5em 1fr;align-items:baseline;gap:6px;padding:3px 0;display:grid}.contact-when{color:var(--muted);font-size:.85rem}.contact-timeline .folder-snippet{margin:0}.contact-facts{margin-top:-4px}@media (max-width:700px){.contact-timeline li{grid-template-columns:1.5em 1fr}.contact-when{grid-column:1/-1}}.notes-view{box-sizing:border-box;background:var(--bg);height:100%;min-height:0;color:var(--text);flex-direction:column;gap:8px;padding:8px 12px;display:flex}.notes-view-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.notes-view-bar h2{margin:0 8px 0 0;font-size:1.15rem}.notes-view-layouts{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.notes-view-layouts button{border:0;border-radius:0}.notes-view-layouts button+button{border-left:1px solid var(--border)}.notes-view-layouts button[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 18%, transparent)}.notes-view-group{color:var(--muted);align-items:center;gap:4px;font-size:.9em;display:inline-flex}.notes-view-info:empty{display:none}.notes-view-info{margin:0}.notes-view-info.error{color:var(--danger)}.notes-view-source{flex-direction:column;gap:6px;display:flex}.notes-view-source textarea{font-family:var(--mono,monospace);box-sizing:border-box;width:100%}.notes-view-body{flex:1;min-height:0;overflow:auto}.notes-view-scroll{overflow:auto}.notes-table{border-collapse:collapse;background:var(--surface);min-width:100%}.notes-table th,.notes-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:4px 8px}.notes-table thead th{background:var(--surface);z-index:1;padding:0;position:sticky;top:0}.notes-table thead button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:4px 8px;font-weight:600}.notes-table tbody th{font-weight:500}.notes-table td.editable{cursor:text}.notes-table td.editable:hover,.notes-table td.editable:focus{outline:2px solid color-mix(in srgb, var(--accent) 40%, transparent);outline-offset:-2px}.notes-view-cell-edit input{box-sizing:border-box;width:100%}.notes-view .link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.notes-view-unresolved{color:var(--muted)}.notes-cards{grid-template-columns:repeat(auto-fill,minmax(14em,1fr));gap:10px;display:grid}.notes-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.notes-card h3{margin:0;font-size:1rem}.notes-card dl{grid-template-columns:auto 1fr;gap:2px 8px;margin:0;font-size:.9em;display:grid}.notes-card dt{color:var(--muted)}.notes-card dd{overflow-wrap:anywhere;min-width:0;margin:0}.notes-card.dragging{opacity:.5}.notes-board{align-items:flex-start;gap:10px;min-height:100%;display:flex}.notes-board-column{background:color-mix(in srgb, var(--border) 35%, transparent);border-radius:8px;flex-direction:column;flex:0 0 16em;gap:8px;max-height:100%;padding:8px;display:flex}.notes-board-column.drop{outline:2px dashed var(--accent)}.notes-board-column h3{justify-content:space-between;margin:0;font-size:.95rem;display:flex}.notes-board-count{color:var(--muted);font-weight:400}.notes-board-cards{flex-direction:column;gap:6px;min-height:2em;display:flex;overflow-y:auto}.notes-board-cards .notes-card{cursor:grab}.notes-board-move{align-self:flex-start;font-size:.8em}.notes-board-add{align-self:flex-start}.notes-view-columns{flex-direction:column;gap:2px;max-height:50vh;margin-bottom:8px;display:flex;overflow-y:auto}.notes-view-column{align-items:center;gap:6px;display:flex}@media (max-width:640px){.notes-board{flex-direction:column}.notes-board-column{box-sizing:border-box;flex:none;width:100%}}.datamodel-view{box-sizing:border-box;background:var(--bg);height:100%;min-height:0;color:var(--text);flex-direction:column;gap:8px;padding:8px 12px;display:flex}.datamodel-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.datamodel-tabs{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.datamodel-tabs [role=tab]{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:0;padding:4px 12px}.datamodel-tabs [role=tab]+[role=tab]{border-left:1px solid var(--border)}.datamodel-tabs [role=tab][aria-selected=true]{background:color-mix(in srgb, var(--accent) 18%, transparent);font-weight:600}.datamodel-panel{flex:1;min-height:0;overflow:auto}.datamodel-panel[hidden]{display:none}.datamodel-conceptual{grid-template-columns:minmax(18em,2fr) 3fr;gap:12px;display:grid}.datamodel-edit{flex-direction:column;gap:6px;min-height:0;display:flex}.datamodel-edit .hint{margin:0}.datamodel-source{min-height:16em;font-family:var(--mono,ui-monospace, monospace);tab-size:2;resize:vertical;box-sizing:border-box;flex:1;width:100%;font-size:.9rem;line-height:1.45}.datamodel-errors{color:var(--danger);margin:0;padding-left:1.2em}.datamodel-errors:empty{display:none}.datamodel-errors .link{color:inherit;cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.datamodel-diagram-box{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-height:12em;overflow:auto}.datamodel-diagram{max-width:none;display:block}.datamodel-relation{font-family:var(--mono,ui-monospace, monospace);margin:4px 0}.datamodel-fk{color:var(--accent)}.datamodel-sql-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.datamodel-sql-bar label{align-items:center;gap:6px;display:inline-flex}.datamodel-sql{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:0;padding:10px;font-size:.88rem;overflow:auto}@media (max-width:760px){.datamodel-conceptual{grid-template-columns:1fr}}.sqlite-view{box-sizing:border-box;background:var(--bg);height:100%;min-height:0;color:var(--text);grid-template-columns:minmax(10em,15em) 1fr;display:grid}.sqlite-side{border-right:1px solid var(--border);background:var(--surface);padding:8px;overflow-y:auto}.sqlite-side h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:.85rem}.sqlite-tables{margin:0;padding:0;list-style:none}.sqlite-tables li[role=option]{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:4px 8px;overflow:hidden}.sqlite-tables li[role=option]:hover{background:var(--sel)}.sqlite-tables li[aria-selected=true]{background:color-mix(in srgb, var(--accent) 16%, transparent);font-weight:600}.sqlite-content{flex-direction:column;gap:8px;min-width:0;min-height:0;padding:8px 12px;display:flex}.sqlite-info:empty{display:none}.sqlite-info{margin:0}.sqlite-main{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow:auto}.sqlite-null{color:var(--muted);font-style:italic}.sqlite-grid td{white-space:pre-wrap;max-width:28em}.sqlite-row-actions button{cursor:pointer;opacity:.6;background:0 0;border:0}.sqlite-row-actions button:hover,.sqlite-row-actions button:focus{opacity:1}.sqlite-query{flex:none;min-height:8em}.sqlite-results{flex-direction:column;gap:8px;display:flex}.hint.error{color:var(--danger)}.sqlite-view .notes-table thead th{padding:4px 8px}@media (max-width:700px){.sqlite-view{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sqlite-side{border-right:0;border-bottom:1px solid var(--border);max-height:9em}}.lock-screen{background:var(--bg);color:var(--text);z-index:1000;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.lock-card{text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:26em;display:flex}.lock-card h1{margin:0;font-size:1.4rem}.lock-main{padding:10px 18px;font-size:1.05rem}.lock-row{gap:6px;width:100%;display:flex}.lock-row input{flex:1;min-width:0}.lock-status:empty{display:none}.lock-status{color:var(--danger);margin:0}.lock-recovery{text-align:left;width:100%}.lock-recovery summary{cursor:pointer;color:var(--muted)}.lock-recovery .lock-row{margin-top:8px}.lock-recovery-key{font-family:var(--mono,ui-monospace, monospace);letter-spacing:.05em;border:1px dashed var(--border);text-align:center;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;border-radius:8px;padding:10px;font-size:1.15rem}.lock-passkeys{margin:0 0 8px;padding:0;list-style:none}.lock-passkeys li{align-items:center;gap:8px;display:flex}.lock-passkeys li button{cursor:pointer;background:0 0;border:0}.lock-settings .settings-field{margin-top:8px}.lock-actions{justify-content:flex-start}.vault-view{box-sizing:border-box;background:var(--bg);height:100%;min-height:0;color:var(--text);flex-direction:column;gap:8px;padding:8px 12px;display:flex}.vault-status:empty{display:none}.vault-status{margin:0}.vault-body{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.vault-locked{flex-direction:column;gap:10px;max-width:26em;margin:10vh auto 0;display:flex}.vault-field{flex-direction:column;gap:4px;display:flex}.vault-error{color:var(--danger);margin:0}.vault-error:empty{display:none}.vault-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.vault-bar h2{margin:0 8px 0 0;font-size:1.15rem}.vault-panes{flex:1;grid-template-columns:minmax(10em,14em) minmax(12em,20em) 1fr;gap:10px;min-height:0;display:grid}.vault-side,.vault-entries{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-height:0;overflow-y:auto}.vault-entries{flex-direction:column;display:flex}.vault-entries input[type=search]{margin:6px}.vault-groups,.vault-list{margin:0;padding:4px;list-style:none}.vault-groups li,.vault-list li{cursor:pointer;border-radius:6px;padding:4px 8px}.vault-list li{flex-direction:column;display:flex}.vault-list li small{color:var(--muted)}.vault-groups li:hover,.vault-list li:hover{background:var(--sel)}.vault-groups li[aria-selected=true],.vault-list li[aria-selected=true]{background:color-mix(in srgb, var(--accent) 16%, transparent)}.vault-details{flex-direction:column;gap:6px;display:flex;overflow-y:auto}.vault-row{grid-template-columns:9em 1fr auto auto auto;align-items:center;gap:6px;display:grid}.vault-row input,.vault-row textarea{min-width:0;font-family:inherit}.vault-row input[type=password],.vault-code,.vault-generated{font-family:var(--mono,ui-monospace, monospace)}.vault-label{color:var(--muted)}.vault-code{letter-spacing:.06em;font-size:1.2rem}.vault-generated{border:1px dashed var(--border);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border-radius:8px;padding:10px;font-size:1.1rem;display:block}.vault-strength{justify-self:start}@media (max-width:860px){.vault-panes{grid-template-columns:1fr}.vault-row{grid-template-columns:1fr auto auto auto}.vault-label{grid-column:1/-1}}
