:root{--brand:#1a73e8;--brand-fg:#fff;--app-color:var(--brand);--on-app:#fff;--paper:#fff;--paper-fg:#000;--bg:#f0f2f5;--canvas:#e8eaed;--surface:#fff;--surface-alt:#f8f9fa;--text:#1f2328;--muted:#5f6368;--border:#dadce0;--divider:#c7c7c7;--hover:#eef1f4;--hover-strong:#00000014;--active:#d3e3fd;--active-fg:#041e49;--accent:#1a73e8;--on-accent:#fff;--focus:#1a73e8;--overlay:#00000059;--ok:#188038;--on-ok:#fff;--success-bg:#e6f4ea;--success-fg:#137333;--warn:#b06000;--warn-strong:#e37400;--warn-bg:#fef7e0;--warn-fg:#7a4f01;--warn-border:#f4d58d;--danger:#d93025;--danger-strong:#c5221f;--danger-text:#b3261e;--on-danger:#fff;--info-bg:#e8f0fe;--info-fg:#0b5394;--info-border:#aecbfa;--folder:#0082c9;--toolbar-bg:#edf2fa;--toolbar-fg:#444746;--toolbar-hover:#44474614;--field-border-strong:#747775;--toast-bg:#323232;--toast-fg:#fff;--bubble-bg:#202124;--bubble-fg:#fff;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, monospace;--font-logo:Arial, sans-serif;--doc-font:Calibri, Carlito, "Segoe UI", Arial, sans-serif;--fs-xs:11px;--fs-s:12px;--fs-m:13px;--fs-base:14px;--fs-l:16px;--fs-xl:18px;--fs-xxl:20px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--radius-xs:2px;--radius-s:4px;--radius-m:6px;--radius-l:8px;--radius-xl:12px;--radius-pill:999px;--shadow:0 1px 3px #3c40434d, 0 4px 8px 3px #3c40431f;--shadow-s:0 1px 4px #0000001f;--z-ruler:990;--z-menu:1000;--z-panel:1001;--z-bubble:1500;--z-toast:2000;--z-skip:3000;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-a11y-theme=dark]{--bg:#202124;--canvas:#141517;--surface:#2b2c30;--surface-alt:#303134;--text:#e8eaed;--muted:#b4b8bd;--border:#53575d;--divider:#53575d;--hover:#3a3c41;--hover-strong:#ffffff1a;--active:#27456f;--active-fg:#e8eaed;--accent:#8ab4f8;--on-accent:#0b1a33;--focus:#8ab4f8;--ok:#81c995;--on-ok:#0b1a33;--success-bg:#1e3a2a;--success-fg:#81c995;--warn:#fdd663;--warn-bg:#3d3314;--warn-fg:#fdd663;--warn-border:#6b5a1e;--danger:#f28b82;--danger-text:#f28b82;--info-bg:#1f3350;--info-fg:#aecbfa;--info-border:#3c5a85;--folder:#6bb8e8;--toolbar-bg:#33363b;--toolbar-fg:#e3e3e3;--toolbar-hover:#ffffff14;--field-border-strong:#53575d;--toast-bg:#e8eaed;--toast-fg:#202124;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-a11y-theme=contrast-dark]{--brand:#ff0;--brand-fg:#000;--bg:#000;--canvas:#000;--surface:#000;--surface-alt:#000;--text:#fff;--muted:#e6e6e6;--border:#fff;--divider:#fff;--hover:#333;--hover-strong:#333;--active:#0a3a8c;--active-fg:#fff;--accent:#ff0;--on-accent:#000;--focus:#ff0;--ok:#3dff8b;--on-ok:#000;--success-bg:#000;--success-fg:#3dff8b;--warn:#ffd000;--warn-bg:#000;--warn-fg:#ffd000;--warn-border:#ffd000;--danger:#ff6b6b;--danger-text:#ff6b6b;--info-bg:#000;--info-fg:#fff;--info-border:#fff;--folder:#7fd3ff;--toolbar-bg:#000;--toolbar-fg:#fff;--toolbar-hover:#333;--field-border-strong:#fff;--toast-bg:#fff;--toast-fg:#000;--shadow:0 0 0 2px #fff;--shadow-s:0 0 0 1px #fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-a11y-theme=contrast-light]{--brand:#0000c2;--brand-fg:#fff;--bg:#fff;--canvas:#fff;--surface:#fff;--surface-alt:#fff;--text:#000;--muted:#1f1f1f;--border:#000;--divider:#000;--hover:#e0e0e0;--hover-strong:#e0e0e0;--active:#c7dcff;--active-fg:#000;--accent:#0000c2;--on-accent:#fff;--focus:#c20000;--ok:#005c1a;--on-ok:#fff;--success-bg:#fff;--success-fg:#005c1a;--warn:#6b3d00;--warn-bg:#fff;--warn-fg:#000;--warn-border:#000;--danger:#a00000;--danger-text:#a00000;--info-bg:#fff;--info-fg:#000;--info-border:#000;--folder:#004a80;--toolbar-bg:#fff;--toolbar-fg:#000;--toolbar-hover:#e0e0e0;--field-border-strong:#000;--toast-bg:#000;--toast-fg:#fff;--shadow:0 0 0 2px #000;--shadow-s:0 0 0 1px #000;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{font-family:var(--font-ui);font-size:var(--fs-base);color:var(--text)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);overflow:hidden}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button.primary{background:var(--accent);border:1px solid var(--accent);color:var(--on-accent);border-radius:var(--radius-m);padding:6px 14px}button.primary:hover{filter:brightness(1.08)}input,select,textarea{font:inherit;color:inherit}.app{flex-direction:column;height:100dvh;display:flex}.app-main{flex-direction:column;flex:1;min-height:0;display:flex}.appbar{background:var(--bg);flex:none;padding:6px 12px 0}.appbar-main{align-items:center;gap:10px;display:flex}.app-logo{border-radius:var(--radius-l);background:var(--app-color);width:36px;height:36px;color:var(--on-app);font:700 22px/36px var(--font-logo);text-align:center;flex:none;text-decoration:none}.title-block{flex:1;min-width:0}.title-row{align-items:center;gap:8px;display:flex}.doc-title{width:100%;min-width:80px;max-width:480px;font-size:var(--fs-xl);border-radius:var(--radius-s);background:0 0;border:1px solid #0000;padding:2px 6px}.doc-title:hover{border-color:var(--border)}.doc-title::placeholder{color:var(--muted);opacity:.85}.doc-title:focus{border-color:var(--accent);background:var(--surface);outline:none}.save-indicator{color:var(--muted);font-size:var(--fs-s);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.save-indicator svg{flex:none}.save-indicator.saving svg{opacity:.5}.save-state{color:var(--muted);font-size:var(--fs-s);white-space:nowrap}.menubar{flex-wrap:wrap;margin-left:0;display:flex}.menubar-item{border-radius:var(--radius-s);font-size:var(--fs-base);background:0 0;border:0;padding:2px 8px}.menubar-item:hover,.menubar-item.open{background:var(--hover)}.appbar-actions{flex:none;align-items:center;gap:8px;display:flex}.presence{padding-left:6px;display:flex}.avatar{border:2px solid var(--bg);width:28px;height:28px;color:var(--on-app);font-size:var(--fs-s);border-radius:50%;place-items:center;margin-left:-6px;font-weight:600;display:grid}.status{font-size:var(--fs-s);border-radius:var(--radius-pill);white-space:nowrap;padding:3px 10px}.status.offline{color:var(--muted);background:var(--surface);border:1px solid var(--border)}.status.online{color:var(--on-ok);background:var(--ok)}.share-btn{border-radius:var(--radius-pill)!important;padding:7px 18px!important}.share-btn,.handin-btn{align-items:center;gap:6px;display:inline-flex}.share-btn svg,.handin-btn svg{flex:none}.user-name{border:2px solid var(--border);border-radius:var(--radius-m);background:var(--surface);width:120px;padding:5px 8px}.user-name-btn{border:2px solid var(--border);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;padding:0;display:none}.menu-panel,.popover{z-index:var(--z-menu);background:var(--surface);border-radius:var(--radius-m);box-shadow:var(--shadow);padding:6px 0;position:fixed}.popover{padding:8px}.menu-panel{max-width:calc(100vw - 8px)}.menu-list{flex-direction:column;min-width:240px;display:flex}.popover .menu-list{min-width:120px}.menu-row{text-align:left;white-space:nowrap;background:0 0;border:0;grid-template-columns:20px 1fr auto;align-items:center;gap:6px;padding:6px 16px 6px 8px;display:grid}.menu-row:hover:not(:disabled){background:var(--hover)}.menu-check{color:var(--accent);text-align:center}.menu-shortcut{color:var(--muted);font-size:var(--fs-s);padding-left:24px}.menu-sep{background:var(--border);height:1px;margin:6px 0}.palette{flex-direction:column;gap:6px;display:flex}.palette-reset{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-s);padding:4px}.palette-grid{grid-template-columns:repeat(10,20px);gap:3px;display:grid}.swatch{border:1px solid #00000026;border-radius:50%;width:20px;height:20px;padding:0}.swatch:hover{transform:scale(1.15)}.palette-custom-row{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.palette-custom{background:0 0;border:0;width:36px;height:24px;padding:0}.table-size{color:var(--muted);font-size:var(--fs-m);margin-bottom:6px}.table-grid{gap:2px;display:grid}.table-grid button{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);width:16px;height:16px;padding:0}.table-grid button.on{background:var(--active);border-color:var(--accent)}.toolbar{background:var(--toolbar-bg);border-radius:var(--radius-pill);flex-wrap:wrap;align-items:center;gap:2px;margin:6px 0 8px;padding:3px 10px;display:flex}.tb-group{border-right:1px solid var(--divider);align-items:center;gap:1px;padding:0 4px;display:flex}.tb-group:last-child{border-right:0}.tb-btn{border-radius:var(--radius-s);min-width:28px;height:28px;color:var(--toolbar-fg);background:0 0;border:0;justify-content:center;align-items:center;gap:1px;padding:0 4px;display:inline-flex}.tb-btn:hover:not(:disabled){background:var(--toolbar-hover)}.tb-btn.active{background:var(--active);color:var(--active-fg)}.tb-text{font-size:15px;font-weight:600}.tb-color{position:relative}.tb-color-bar{border-radius:1px;height:3px;position:absolute;bottom:3px;left:6px;right:18px}.tb-select{border-radius:var(--radius-s);max-width:140px;height:28px;color:var(--toolbar-fg);background:0 0;border:0;padding:0 4px}.tb-select:hover{background:var(--toolbar-hover)}.tb-style{width:120px}.tb-font{width:116px}.tb-zoom{width:70px}.tb-size{text-align:center;border:1px solid var(--field-border-strong);border-radius:var(--radius-s);width:44px;height:26px;color:var(--toolbar-fg);background:0 0}.toolbar.tb-managed{flex-wrap:nowrap;overflow:hidden}.toolbar.tb-managed .tb-group{flex:none}.toolbar.tb-managed .tb-group.tb-overflowed{display:none}.tb-more{flex:none}.tb-pinned{flex:none;align-items:center;margin-left:auto;display:flex}.tb-pinned:empty{display:none}.tb-pinned .tb-group:last-child{border-right:0}.tb-overflow{background:var(--toolbar-bg);flex-wrap:wrap;align-items:center;gap:2px;max-width:min(420px,100vw - 8px);padding:6px;display:flex}.tb-overflow .tb-group.tb-overflowed{border-right:0;display:flex}:is(.toolbar,.tb-overflow).readonly .tb-group:not(.tb-keep) :is(button,select,input):not(.tb-more){pointer-events:none;opacity:.4}.statusbar{border-top:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:var(--fs-s);flex:none;align-items:center;gap:16px;padding:4px 16px;display:flex}.statusbar .spacer{flex:1}.statusbar input[type=range]{width:120px}.zoom-value{color:var(--muted);background:0 0;border:0;min-width:44px}.statusbar.sb{gap:var(--space-3);min-height:30px;padding:2px var(--space-4)}.sb-left,.sb-right,.sb-extras{align-items:center;gap:var(--space-3);min-width:0;display:flex}.sb-left{white-space:nowrap;overflow:hidden}.sb-right{flex:none}.sb-extras:empty,.sb-language:empty,.sb-save:empty{display:none}.sb .save-indicator{color:var(--muted)}.zoom-control{align-items:center;gap:2px;display:inline-flex}.zoom-control button{color:var(--muted);border-radius:var(--radius-s);height:24px;font-size:var(--fs-s);background:0 0;border:0}.zoom-control button:hover:not(:disabled){background:var(--hover);color:var(--text)}.zoom-control .zoom-step{place-items:center;width:24px;padding:0;display:grid}.zoom-control .zoom-value{font-variant-numeric:tabular-nums;min-width:56px;padding:0 6px}dialog.dlg{border-radius:var(--radius-xl);width:min(460px,100vw - 32px);box-shadow:var(--shadow);border:0;padding:0}dialog.dlg.wide{width:min(680px,100vw - 32px)}dialog.dlg::backdrop{background:var(--overlay)}dialog.dlg form{padding:20px 24px}dialog.dlg h2{font-size:var(--fs-xxl);margin:0 0 14px;font-weight:500}.dlg-head{align-items:flex-start;gap:8px;display:flex}.dlg-head h2{flex:1;min-width:0}.dlg-help{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--muted);font-weight:600;font-size:var(--fs-base);cursor:pointer;border-radius:50%;flex:none;margin-top:1px}.dlg-help:hover{background:var(--hover);color:var(--text)}.dlg-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.dlg-actions button.primary.danger{background:var(--danger-strong);border-color:var(--danger-strong);color:var(--on-danger)}.dlg-actions button:not(.primary){border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-m);padding:6px 14px}.form{flex-direction:column;gap:12px;display:flex}.form.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.span2{grid-column:span 2}.field-label{color:var(--muted);font-size:var(--fs-m);flex-direction:column;gap:4px;display:flex}.field{border:1px solid var(--border);border-radius:var(--radius-m);width:100%;color:var(--text);font-size:var(--fs-base);background:var(--surface);padding:7px 9px}.field:focus{outline:2px solid var(--accent);outline-offset:-1px}textarea.field{resize:vertical}.mono{font-family:var(--font-mono);font-size:var(--fs-s)}.check{align-items:center;gap:6px;display:flex}.code-row{gap:8px;margin:8px 0;display:flex}.code-row button{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-m);white-space:nowrap;padding:6px 12px}.qr{margin:8px auto;display:block}.hint{color:var(--muted);font-size:var(--fs-m)}.shortcuts{border-collapse:collapse;width:100%}.shortcuts td{border-bottom:1px solid var(--border);padding:6px 4px}.shortcuts td.num{text-align:right;font-variant-numeric:tabular-nums}.shortcuts.details th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:top;padding:6px 12px 6px 4px;font-weight:400}.shortcuts.details td{overflow-wrap:anywhere}.shortcut-scroll{max-height:65vh;overflow:auto}.shortcut-sections td:first-child{width:60%}.shortcut-sections th.shortcut-title{text-align:left;border-bottom:1px solid var(--border);padding:14px 4px 4px;font-weight:600}.shortcut-sections tr:first-child th.shortcut-title{padding-top:0}kbd{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-s);font-family:inherit;font-size:var(--fs-s);padding:1px 6px}.char-grid{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:4px;display:grid}.char-grid button{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-s);height:34px;font-size:var(--fs-xl)}.char-grid button:hover{background:var(--hover)}.doc-list{max-height:55vh;margin:0;padding:0;list-style:none;overflow:auto}.doc-list li{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;display:flex}.doc-list a{color:var(--accent);flex:1;text-decoration:none}.doc-list a.current{font-weight:600}.doc-list small{color:var(--muted)}.doc-list button{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-m);padding:4px 10px}.toast{z-index:var(--z-toast);border-radius:var(--radius-l);background:var(--toast-bg);color:var(--toast-fg);padding:10px 18px;position:fixed;bottom:48px;left:50%;transform:translate(-50%)}:where(a[href],button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:1px}.menu-row:focus-visible,.menubar-item:focus-visible{background:var(--hover)}dialog.dlg{background:var(--surface);color:var(--text)}.skip-link{z-index:var(--z-skip);border-radius:var(--radius-m);background:var(--accent);color:var(--on-accent);border:0;padding:8px 14px;font-weight:600;position:fixed;top:-60px;left:8px}.skip-link:focus{top:8px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=760px){.appbar{padding:6px 8px 0}.user-name,.hide-narrow{display:none}.user-name-btn{display:grid}.appbar .save-state{display:none}.toolbar{border-radius:8px;flex-wrap:nowrap;overflow-x:auto}.tb-group{flex:none}}@media (width<=600px){.appbar-main{gap:6px}.app-logo{width:30px;height:30px;font-size:18px;line-height:30px}.appbar-actions{gap:4px}.btn-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.share-btn,.handin-btn{justify-content:center;width:34px;height:34px;border-radius:50%!important;padding:0!important}.status{border-radius:50%;width:10px;height:10px;padding:0;font-size:0}.presence .avatar:nth-child(n+3){display:none}.access-badge{text-overflow:ellipsis;white-space:nowrap;max-width:72px;overflow:hidden}.doc-title{font-size:var(--fs-l)}.statusbar.sb{padding:2px var(--space-2);gap:var(--space-2)}.sb .save-state,.sb-language{display:none}.zoom-control .zoom-value{min-width:44px}.appbar-main{flex-wrap:wrap;row-gap:0}.title-block{display:contents}.title-row{flex:1;order:1;min-width:0}.appbar-actions{order:2}.menubar{scrollbar-width:none;flex-wrap:nowrap;flex-basis:100%;order:3;overflow-x:auto}.menubar::-webkit-scrollbar{display:none}.menubar-item{flex:none;padding:2px 6px}.menu-list{min-width:200px}.menu-row{white-space:normal}}@media print{html,body,.app{background:var(--paper);height:auto;overflow:visible}.appbar,.statusbar,.toast,dialog{display:none!important}}
