:root{--accent:#6b3fa0;--accent-soft:#efe7f8;--bg:#f6f5f8;--panel:#fff;--panel-2:#f0eef3;--border:#dcd8e2;--text:#24202a;--muted:#6d6676;--paper:#fff;--paper-line:#d7e3f2;--ink-auto:#1d1b20;--hover:#6b3fa014;--shadow:0 6px 24px #1e143229;--tab:var(--accent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Roboto,Arial,sans-serif}[data-theme=dark]{--accent:#b48ce6;--accent-soft:#3a2f48;--bg:#1b1a1f;--panel:#242229;--panel-2:#2c2a32;--border:#3b3842;--text:#ece9f1;--muted:#a39dab;--paper:#1f1e23;--paper-line:#33404f;--ink-auto:#f1eff5;--hover:#b48ce61f;--shadow:0 6px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}.splash{height:100%;color:var(--muted);place-items:center;display:grid}.app{flex-direction:column;height:100%;display:flex}.appbar{padding:4px 8px;padding-top:max(4px, env(safe-area-inset-top));background:var(--accent);color:#fff;align-items:center;gap:4px;min-height:48px;display:flex}[data-theme=dark] .appbar{background:#2a2133}.brand{letter-spacing:.2px;margin:0 12px 0 4px;font-weight:600}.icon-btn{color:inherit;background:0 0;border:0;border-radius:8px;width:40px;height:40px;font-size:20px}.icon-btn:hover{background:#ffffff29}.tabs{gap:2px;display:flex;overflow-x:auto}.tab{color:#ffffffd9;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:10px 14px;font-size:15px}.tab:hover{background:#ffffff24}.tab.active{color:#fff;background:#ffffff38;font-weight:600}.spacer{flex:1}.search{position:relative}.search input{width:240px;height:36px;font:inherit;color:#222;background:#ffffffeb;border:0;border-radius:18px;padding:0 14px}.search-results{z-index:50;background:var(--panel);width:360px;max-height:60vh;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;position:absolute;top:42px;right:0;overflow:auto}.search-hit{text-align:left;border:0;border-bottom:1px solid var(--border);background:0 0;width:100%;padding:10px 14px;display:block}.search-hit:hover{background:var(--hover)}.hit-title{font-weight:600}.hit-path{color:var(--muted);margin:2px 0;font-size:12px}.hit-snippet{color:var(--muted);font-size:13px}.search-empty{color:var(--muted);padding:14px}.ribbon{background:var(--panel);border-bottom:1px solid var(--border);scrollbar-width:thin;align-items:stretch;gap:4px;min-height:74px;padding:6px 8px 2px;display:flex;overflow:auto hidden}.rgroup{border-right:1px solid var(--border);flex-direction:column;padding:0 8px;display:flex}.rgroup:last-child{border-right:0}.rgroup-items{flex:1;align-items:center;gap:2px;display:flex}.rgroup-name{color:var(--muted);text-align:center;white-space:nowrap;padding:2px 0;font-size:11px}.rb{white-space:nowrap;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-width:40px;height:40px;padding:0 6px;font-size:16px;display:inline-flex}.rb.wide{padding:0 10px;font-size:14px}.rb:hover{background:var(--hover)}.rb.on{background:var(--accent-soft);border-color:var(--accent)}.chip{border:1px solid #00000026;border-radius:4px;width:20px;height:20px;display:inline-block}.chip.text{border:0;width:auto;height:auto;font-size:18px;font-weight:700;text-decoration:underline;text-decoration-thickness:3px}.dot{border:1px solid #0003;border-radius:50%;width:20px;height:20px;display:inline-block}.dot.auto{background:linear-gradient(135deg,#111 50%,#fff 50%)}.size{background:var(--text);border-radius:50%;display:inline-block}.hl-chip{opacity:.9;border-radius:3px;width:12px;height:26px;display:inline-block;transform:rotate(20deg)}.body{flex:1;min-height:0;display:flex;position:relative}.nav{background:var(--panel-2);border-right:1px solid var(--border);z-index:20;display:flex}.nav-scrim{display:none}.pane{flex-direction:column;width:210px;padding-bottom:24px;display:flex;overflow-y:auto}.pane.pages{background:var(--panel);border-left:1px solid var(--border);border-top:4px solid var(--tab);width:230px}.pane-head{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);justify-content:space-between;align-items:center;padding:10px 10px 6px 14px;font-size:12px;font-weight:600;display:flex}.add{width:36px;height:36px;color:var(--accent);background:0 0;border:0;border-radius:8px;font-size:18px}.add:hover{background:var(--hover)}.nb-item,.page-item{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:pan-y;border-radius:8px;align-items:center;gap:8px;min-height:42px;margin:1px 6px;padding:0 6px 0 12px;display:flex;position:relative}.nb-item:hover,.page-item:hover{background:var(--hover)}.nb-item.active{background:var(--accent-soft);font-weight:600}.page-item.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--tab)}.page-item.level-1{padding-left:28px}.page-item.level-2{padding-left:44px}.page-item.level-1 .name,.page-item.level-2 .name{font-size:14px}.nb-icon{border-radius:3px;flex:none;width:14px;height:20px}.name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.twisty{width:18px;color:var(--muted);background:0 0;border:0;padding:0}.twisty-space{flex:none;width:18px}.dragging{opacity:.7;z-index:10;box-shadow:var(--shadow);background:var(--panel)!important}.rename{font:inherit;border:1px solid var(--accent);background:var(--panel);width:100%;min-width:0;color:var(--text);border-radius:6px;padding:4px 6px}.more{position:relative}.more-btn{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:18px}.more-btn:hover{background:var(--hover)}.menu{z-index:60;background:var(--panel);border:1px solid var(--border);min-width:190px;box-shadow:var(--shadow);border-radius:10px;padding:6px;font-weight:400;position:absolute;top:34px;right:0}.menu button[role=menuitem]{text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:10px 12px;display:block}.menu button[role=menuitem]:hover{background:var(--hover)}.menu .danger{color:#d0312d}.menu-colours{flex-wrap:wrap;gap:6px;padding:8px;display:flex}.swatch{border:2px solid var(--panel);width:26px;height:26px;box-shadow:0 0 0 1px var(--border);border-radius:50%}.main{flex-direction:column;flex:1;min-width:0;display:flex}.section-tabs{background:var(--panel-2);border-bottom:3px solid var(--tab);scrollbar-width:thin;align-items:flex-end;gap:2px;min-height:46px;padding:6px 8px 0;display:flex;overflow-x:auto}.section-tab{cursor:pointer;background:color-mix(in srgb, var(--tab) 28%, var(--panel));white-space:nowrap;-webkit-user-select:none;user-select:none;border-top:3px solid var(--tab);touch-action:pan-x;border-radius:8px 8px 0 0;align-items:center;gap:4px;max-width:220px;height:38px;padding:0 10px 0 14px;display:flex}.section-tab.active{background:var(--tab);color:#fff;font-weight:600}.section-tab.active .more-btn{color:#fff}.section-add{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:8px;font-size:18px}.section-add:hover{background:var(--hover)}.empty{color:var(--muted);flex:1;place-items:center;display:grid}.big{border:1px solid var(--accent);background:var(--accent-soft);border-radius:10px;padding:14px 24px;font-size:16px}.viewport{background:var(--paper);touch-action:none;cursor:text;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;flex:1;position:relative;overflow:hidden}.viewport.tool-pen,.viewport.tool-highlighter{cursor:crosshair}.viewport.tool-eraser{cursor:cell}.viewport.tool-lasso{cursor:crosshair}.viewport.tool-pan{cursor:grab}.world{transform-origin:0 0;position:absolute;top:0;left:0}.world.paper-ruled{background-image:linear-gradient(to bottom, transparent 31px, var(--paper-line) 31px, var(--paper-line) 32px);background-size:100% 32px}.world.paper-grid{background-image:linear-gradient(to right, var(--paper-line) 1px, transparent 1px), linear-gradient(to bottom, var(--paper-line) 1px, transparent 1px);background-size:24px 24px}.page-title-wrap{width:560px;position:absolute;top:22px;left:60px}.page-title{width:100%;font:inherit;border:0;border-bottom:1px solid var(--border);color:var(--text);background:0 0;outline:none;padding:4px 0;font-size:28px;font-weight:300}.page-date{color:var(--muted);white-space:pre;margin-top:4px;font-size:12px}.ink{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.ink path.hl{opacity:.38;mix-blend-mode:multiply}[data-theme=dark] .ink path.hl{mix-blend-mode:normal;opacity:.35}.ink .lasso{fill:#6b3fa00f;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.ink .sel-box{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.bg-el{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;box-shadow:0 1px 6px #0000002e}.el{position:absolute}.el.passive{pointer-events:none}.text-el{border:1px solid #0000;border-radius:4px;padding:6px 8px}.text-el:hover,.text-el:focus-within{border-color:var(--border)}.text-el.selected,.image-el.selected{outline:2px dashed var(--accent);outline-offset:2px}.el-grip{cursor:move;background:var(--panel-2);border:1px solid var(--border);opacity:0;touch-action:none;border-bottom:0;border-radius:4px 4px 0 0;height:14px;position:absolute;top:-14px;left:-1px;right:-1px}.el-grip:after{content:"";background:var(--muted);border-radius:2px;width:28px;height:3px;margin-left:-14px;position:absolute;top:4px;left:50%}.text-el:hover .el-grip,.text-el:focus-within .el-grip{opacity:1}.el-resize-x{cursor:ew-resize;touch-action:none;width:10px;position:absolute;top:0;bottom:0;right:-6px}.image-el{cursor:move;touch-action:none}.image-el img{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.el-resize-corner{background:var(--accent);border:2px solid var(--paper);cursor:nwse-resize;touch-action:none;border-radius:50%;width:18px;height:18px;position:absolute;bottom:-8px;right:-8px}.rte{min-height:1.4em;color:var(--text);outline:none;font-size:15px;line-height:1.45}.rte p{margin:0 0 4px}.rte h1{margin:4px 0;font-size:26px;font-weight:600}.rte h2{color:var(--accent);margin:4px 0;font-size:21px;font-weight:600}.rte h3{margin:4px 0;font-size:17px;font-weight:600}.rte ul,.rte ol{margin:0 0 4px;padding-left:24px}.rte ul[data-type=taskList]{padding-left:2px;list-style:none}.rte ul[data-type=taskList] li{align-items:flex-start;gap:8px;display:flex}.rte ul[data-type=taskList] li>label{margin-top:3px}.rte ul[data-type=taskList] li>label input{width:17px;height:17px;accent-color:var(--accent)}.rte ul[data-type=taskList] li[data-checked=true]>div{color:var(--muted);text-decoration:line-through}.rte ul[data-type=taskList] li>div{flex:1}.rte mark{color:#222;border-radius:2px;padding:0 1px}.rte table{border-collapse:collapse;table-layout:fixed;width:100%;margin:4px 0}.rte td,.rte th{border:1px solid var(--muted);vertical-align:top;min-width:60px;padding:4px 6px;position:relative}.rte th{background:var(--panel-2);text-align:left;font-weight:600}.rte .selectedCell:after{content:"";pointer-events:none;background:#6b3fa026;position:absolute;inset:0}.rte .column-resize-handle{background:var(--accent);pointer-events:none;width:4px;position:absolute;top:0;bottom:0;right:-2px}.rte.resize-cursor{cursor:col-resize}.rte p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--muted);float:left;pointer-events:none;height:0}.tableWrapper{overflow-x:auto}.sel-actions{z-index:5;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:70%;display:flex;position:absolute;top:12px;right:16px}.sel-actions button{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;padding:8px 14px}.zoom-badge{background:var(--panel);border:1px solid var(--border);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;padding:4px 10px;font-size:12px;position:absolute;bottom:12px;right:12px}.toast{z-index:100;color:#fff;box-shadow:var(--shadow);background:#2b2730;border-radius:10px;padding:10px 18px;font-size:14px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}@media (width<=900px){.nav{box-shadow:var(--shadow);position:absolute;top:0;bottom:0;left:0}.nav-scrim{z-index:15;background:#00000040;display:block;position:absolute;inset:0}.search input{width:160px}.brand{display:none}}@media (width<=600px){.pane{width:46vw}.pane.pages{width:50vw}.search input{width:110px}}@media (pointer:coarse){.rb{min-width:44px;height:44px}.el-grip{height:22px;top:-22px}.el-grip:after{top:8px}.text-el:hover .el-grip{opacity:0}.text-el:focus-within .el-grip{opacity:1}}.muted{color:var(--muted)}.small{font-size:12px}.error{color:#c0392b;font-size:13px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pad{padding:8px 12px}.plain-list{margin:0 0 10px;padding:0;list-style:none}.row{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;display:flex}.form{border:0;flex-direction:column;gap:8px;margin:0 0 10px;padding:0;display:flex}.form label{flex-direction:column;gap:3px;font-size:13px;display:flex}:is(.form label:has(input[type=radio]),.form label:has(input[type=checkbox])){flex-direction:row;align-items:center;gap:6px}.side-panel input:not([type=checkbox]):not([type=radio]):not([type=color]),.side-panel select,.side-panel textarea,.locked-card input{font:inherit;border:1px solid var(--border);background:var(--paper);color:var(--text);border-radius:6px;width:100%;padding:6px 8px;font-size:14px}.side-panel textarea{resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:12px}.side-panel button:not(.icon-btn):not(.link):not(.template-thumb),.locked-card button,.empty .big{border:1px solid var(--border);background:var(--panel-2);border-radius:6px;padding:6px 12px;font-size:13px}.side-panel button:not(.icon-btn):not(.link):hover{border-color:var(--accent)}.side-panel button:disabled{opacity:.5;cursor:default}.side-panel h4{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:14px 0 6px;font-size:12px}button.danger{color:#c0392b}button.link{color:var(--accent);text-underline-offset:2px;background:0 0;border:0;padding:2px 4px;font-size:13px;text-decoration:underline}.check{align-items:center;gap:6px;font-size:13px;display:flex}.side-panel{background:var(--panel);border-left:1px solid var(--border);flex-direction:column;flex:none;width:320px;min-height:0;display:flex}.side-panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 6px 6px 14px;display:flex}.side-panel-head h2{margin:0;font-size:16px;font-weight:600}.side-panel-body{flex:1;padding:10px 14px 24px;font-size:14px;overflow-y:auto}@media (width<=900px){.side-panel{z-index:18;box-shadow:var(--shadow);width:min(340px,92vw);position:absolute;top:0;bottom:0;right:0}}.group-tab{cursor:pointer;background:var(--panel-2);border:1px dashed var(--border);white-space:nowrap;border-bottom:0;border-radius:8px 8px 0 0;align-items:center;gap:4px;margin-top:4px;padding:6px 12px;font-size:14px;display:inline-flex}.group-tab:hover{background:var(--hover)}.group-up{color:var(--accent);white-space:nowrap;background:0 0;border:0;padding:6px 8px;font-size:14px}.group-path{color:var(--muted);font-size:12px}.lock-icon{margin-right:3px;font-size:11px}.locked{background:var(--paper);flex:1;place-items:center;display:grid}.locked-card{background:var(--panel);width:min(360px,90%);box-shadow:var(--shadow);text-align:center;border-radius:12px;flex-direction:column;gap:10px;padding:24px;display:flex}.locked-icon{font-size:40px}.protect-panel .row{margin-top:10px}.trash-item,.version-item,.ref-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 0;display:flex}.trash-item .row,.version-item .row{flex-wrap:nowrap;margin:0}.version-preview{background:var(--panel-2);white-space:pre-wrap;border-radius:8px;max-height:40vh;margin-top:10px;padding:10px;font-size:13px;overflow:auto}.rte [data-tag]:before{content:attr(data-tag-icon);width:1.4em;margin-left:-.2em;font-size:.95em;display:inline-block}.rte [data-tag=important]{font-weight:500}.tag-summary .tag-group{margin-bottom:12px}.tag-summary .tag-group h4{margin:10px 0 4px}button.link.tag-item{text-align:left;width:100%;color:var(--text);padding:4px 0;text-decoration:none;display:block}button.link.tag-item:hover,.rte a{color:var(--accent)}.rte a[href^="#page:"]{cursor:pointer;border-bottom:1px dashed;text-decoration:none}.rte a[href^="#page:"]:before{content:"↗";margin-right:1px;font-size:.8em}.rte a[href^="#cite:"]{color:inherit;background:var(--accent-soft);border-radius:3px;padding:0 2px;text-decoration:none}.ref-item label{align-items:flex-start;gap:8px;font-size:13px;display:flex}.ref-item code{color:var(--accent);font-size:12px}.template-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.template-card{border:1px solid var(--border);background:var(--panel);text-align:left;border-radius:10px;flex-direction:column;gap:4px;padding:6px;font-size:13px;display:flex}.template-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.template-thumb{border:1px solid var(--border);background-color:var(--paper);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:92px;padding:4px;font-size:12px;display:flex;overflow:hidden}.template-thumb strong{background:var(--paper);border-radius:4px;padding:0 4px}.templates-panel h3,.side-panel-body h3{margin:14px 0 6px;font-size:14px}.template-icon{background:var(--paper);border-radius:50%;padding:2px 6px;font-size:26px}.paper-dots{background-image:radial-gradient(circle, var(--paper-dot,#9fb3c8) 1.1px, transparent 1.5px);background-position:12px 12px;background-size:24px 24px}.paper-isometric{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34.641' height='20'%3E%3Cg stroke='%23c7d6e8' stroke-width='0.8' fill='none'%3E%3Cpath d='M0 0V20M17.3205 0V20M0 0L34.641 20M0 20L34.641 0M-17.3205 10L0 20M34.641 0L51.96 10M0 10L17.3205 20M17.3205 0L34.641 10M0 10L17.3205 0M17.3205 20L34.641 10'/%3E%3C/g%3E%3C/svg%3E");background-size:34.641px 20px}[data-theme=dark] .paper-isometric{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34.641' height='20'%3E%3Cg stroke='%2333404f' stroke-width='0.8' fill='none'%3E%3Cpath d='M0 0V20M17.3205 0V20M0 0L34.641 20M0 20L34.641 0M-17.3205 10L0 20M34.641 0L51.96 10M0 10L17.3205 20M17.3205 0L34.641 10M0 10L17.3205 0M17.3205 20L34.641 10'/%3E%3C/g%3E%3C/svg%3E")}.paper-engineering{--eng-minor:#d9ecd9;--eng-major:#a8d3a8;background-image:linear-gradient(to right, var(--eng-major) 1px, transparent 1px), linear-gradient(to bottom, var(--eng-major) 1px, transparent 1px), linear-gradient(to right, var(--eng-minor) 1px, transparent 1px), linear-gradient(to bottom, var(--eng-minor) 1px, transparent 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px}[data-theme=dark] .paper-engineering{--eng-minor:#233227;--eng-major:#34503b}[data-theme=dark] .paper-dots{--paper-dot:#4a5868}.template-thumb.paper-ruled{background-image:linear-gradient(to bottom, transparent 9px, var(--paper-line) 9px, var(--paper-line) 10px);background-size:100% 10px}.template-thumb.paper-grid{background-image:linear-gradient(to right, var(--paper-line) 1px, transparent 1px), linear-gradient(to bottom, var(--paper-line) 1px, transparent 1px);background-size:10px 10px}.template-thumb.paper-dots{background-position:5px 5px;background-size:10px 10px}.template-thumb.paper-engineering{background-size:50px 50px,50px 50px,10px 10px,10px 10px}.template-thumb.paper-isometric{background-size:17.32px 10px}.sticky-el{transform:rotate(var(--tilt,0deg));transform-origin:50% 0;touch-action:none;border-radius:2px 2px 14px/2px 2px 10px;flex-direction:column;display:flex;box-shadow:0 1px 1px #0000001f,0 8px 14px -6px #00000059,inset 0 -10px 18px -14px #00000040}.sticky-el:after{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 45%,#00000014 50%,#ffffff59 60%,#0000 75%);border-bottom-right-radius:14px 10px;width:26px;height:22px;position:absolute;bottom:0;right:0}.sticky-el.selected{outline:2px dashed var(--accent);outline-offset:3px}.sticky-head{cursor:move;background:#0000000f;flex:none;justify-content:space-between;align-items:center;height:22px;padding:0 2px;display:flex}.sticky-grip{flex:1;height:100%}.sticky-btn{opacity:.5;width:22px;height:20px;color:inherit;background:0 0;border:0;padding:0;font-size:15px;line-height:1}.sticky-btn:hover,.sticky-el:hover .sticky-btn{opacity:.9}.sticky-body{padding:4px 10px 8px;font-family:Segoe Print,Bradley Hand,Comic Sans MS,Segoe UI,system-ui,sans-serif;overflow:auto}.sticky-body .rte{color:inherit;min-height:100%}.sticky-ink{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.sticky-ink path.hl{opacity:.38}.sticky-el.inking{cursor:crosshair}.sticky-resize{cursor:nwse-resize;z-index:1;width:18px;height:18px;position:absolute;bottom:0;right:0}.sticky-palette{z-index:3;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);transform:rotate(calc(-1 * var(--tilt,0deg)));border-radius:8px;grid-template-columns:repeat(4,24px);gap:5px;padding:6px;display:grid;position:absolute;top:24px;left:2px}.sticky-palette button{border:1px solid #0003;border-radius:50%;width:24px;height:24px;padding:0}.sticky-palette button.on{outline:2px solid var(--accent);outline-offset:1px}.sticky-any{cursor:pointer;place-items:center;width:24px;height:24px;font-size:15px;display:grid;position:relative}.sticky-any input{opacity:0;cursor:pointer;position:absolute;inset:0}svg.instruments{pointer-events:none;z-index:4;position:absolute;top:0;left:0;overflow:visible}.instruments .ins-body{fill:#e1ecf88c;stroke:#5d7ea6;stroke-width:1px;pointer-events:all;cursor:move;touch-action:none}[data-theme=dark] .instruments .ins-body{fill:#465a7873;stroke:#9fb8d8}.instruments .ins-needle{fill:#6b7b8c}.instruments .ins-ticks line,.instruments line.ins-ticks{stroke:#34495e;stroke-width:.8px}[data-theme=dark] .instruments .ins-ticks line,[data-theme=dark] .instruments line.ins-ticks{stroke:#c9d6e6}.instruments .ins-num{fill:#34495e;text-anchor:middle;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:9px}.instruments .ins-angle{fill:var(--accent);text-anchor:middle;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:11px;font-weight:600}[data-theme=dark] .instruments .ins-num{fill:#c9d6e6}.instruments .ins-guide{fill:none;stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 4;opacity:.6}.instruments .ins-leg{fill:none;stroke:#6b7b8c;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.instruments .ins-handle{pointer-events:all;cursor:grab;touch-action:none}.instruments .ins-handle circle{fill:var(--panel);stroke:var(--accent);stroke-width:1.5px}.instruments .ins-handle text{fill:var(--accent);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:11px}.instruments .ins-handle.rotate{cursor:alias}.viewport.tool-bezier{cursor:crosshair}.viewport.tool-point-eraser{cursor:cell}.viewport.tool-insert-space{cursor:row-resize}.deep-zoom{width:100%;height:100%;position:relative;overflow:hidden}.deep-zoom-preview{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.deep-zoom-tile{pointer-events:none;position:absolute}.export-row{grid-template-columns:96px 1fr;align-items:center;gap:8px;margin:8px 0;display:grid}.sync-panel h3,.share-panel h3{margin:14px 0 6px;font-size:13px}.sync-box{border:1px solid var(--border,#ddd);border-radius:6px;margin-bottom:6px;padding:8px 10px}.sync-box p,.share-panel p{margin:4px 0 8px}.sync-panel .row,.share-panel .row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sync-panel .row input{flex:1;min-width:0;font-family:Consolas,monospace;font-size:11px}.sync-panel label.form,.share-panel label.form{flex-direction:column;gap:4px;margin:6px 0;display:flex}.sync-panel .error,.share-panel .error{color:#c42b1c}.sync-panel .ok{color:#107c10}.qr{background:#fff;width:220px;max-width:100%;margin:6px auto;padding:4px}.qr svg{width:100%;height:auto;display:block}.qr-scan video{background:#000;border-radius:4px;width:100%;max-height:240px}.share-panel>button{margin:4px 0}.ctx-menu{z-index:60;background:var(--panel);min-width:210px;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;padding:6px;animation:.12s ease-out ctx-in;position:fixed}@keyframes ctx-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.ctx-menu button{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:7px 10px;font-size:13px;display:flex}.ctx-menu button:hover:not(:disabled){background:var(--accent-soft)}.ctx-menu button:disabled{opacity:.4}.ctx-menu kbd{color:var(--muted);font:11px system-ui,sans-serif}.ctx-menu hr{border:0;border-top:1px solid var(--border);margin:4px 2px}.el-hover-del{z-index:8;border:1px solid var(--border);background:var(--panel);transform-origin:50%;cursor:pointer;border-radius:50%;width:26px;height:26px;padding:0;font-size:13px;line-height:1;position:absolute;box-shadow:0 2px 6px #0000002e}.el-hover-del:hover{background:#fde8e8;border-color:#e03131}.ink .snap-guide{stroke:#e8590c;stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.sel-actions button.danger,.prop-buttons .danger{color:#c92a2a}.math-btn.del:hover{color:#c92a2a;background:#fde8e8}.math-block{transition:box-shadow .15s,transform .15s}.math-block:not(.passive):hover{box-shadow:0 4px 14px #28144624}.math-block.collapsed{height:auto!important}.math-block.collapsed>.math-head{border-bottom:0;border-radius:8px}.math-block.locked>.math-head{cursor:default;background:repeating-linear-gradient(135deg, var(--panel-2) 0 8px, var(--panel) 8px 16px)}.el.locked{outline:1px dotted var(--muted)}.dock{z-index:6;background:color-mix(in srgb, var(--panel-2) 85%, transparent);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:10px;padding:8px;display:flex;position:absolute;top:8px;bottom:40px;right:8px;overflow:auto}.dock-slot{flex:none;position:relative}.dock-slot>.el{top:0!important;left:0!important}.props-panel{flex-direction:column;gap:10px;padding:12px;font-size:13px;display:flex}.props-head{font-weight:600}.prop-row{flex-direction:column;gap:3px;display:flex}.prop-row>span{color:var(--muted);font-size:11px}.prop-row input{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;min-width:0;padding:5px 7px}.prop-row input[type=color]{height:30px;padding:1px}.prop-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.prop-checks{flex-direction:column;gap:6px;display:flex}.prop-buttons{flex-wrap:wrap;gap:6px;display:flex}.prop-buttons button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:7px;padding:6px 10px}.tbl-toolbar{z-index:55;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;flex-wrap:wrap;align-items:center;gap:2px;max-width:1120px;padding:4px 6px;animation:.12s ease-out tbl-in;display:flex;position:fixed}.tbl-toolbar button{min-width:28px;height:28px;color:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:0 5px;font-size:13px}.tbl-toolbar button:hover:not(:disabled){background:var(--accent-soft)}.tbl-toolbar button:disabled{opacity:.35}.tbl-toolbar .tbl-fill{border:1px solid var(--border);border-radius:4px;width:18px;min-width:18px;height:18px;padding:0}.tbl-toolbar select{border:1px solid var(--border);background:var(--panel);height:28px;color:var(--text);border-radius:6px;font-size:12px}.tbl-sep{background:var(--border);width:1px;height:20px;margin:0 4px}.tbl-row-handle{z-index:54;cursor:row-resize;height:6px;position:fixed}.tbl-row-handle:hover{background:color-mix(in srgb, var(--accent) 45%, transparent)}.rte td[data-border=none],.rte th[data-border=none]{border-color:#0000}.rte td[data-border=thick],.rte th[data-border=thick]{border:2px solid var(--text)}.rte td[data-border=dashed],.rte th[data-border=dashed]{border-style:dashed}.rte td[data-border=bottom],.rte th[data-border=bottom]{border-color:#0000;border-bottom:2px solid var(--text)}.rte .selectedCell:after{content:"";background:color-mix(in srgb, var(--accent) 18%, transparent);pointer-events:none;position:absolute;inset:0}.rte td[data-numfmt],.rte th[data-numfmt]{font-variant-numeric:tabular-nums}.tbl-row-guide{z-index:56;background:var(--accent);pointer-events:none;height:2px;box-shadow:0 0 6px var(--accent);position:fixed}.tbl-pick{display:inline-flex;position:relative}.tbl-pick>button{border:1px solid var(--border)!important;font-size:12px!important}.tbl-pick-list{z-index:57;background:var(--panel);border:1px solid var(--border);min-width:130px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;padding:4px;animation:.12s ease-out ctx-in;display:flex;position:absolute;top:32px;left:0}.tbl-pick-list button{text-align:left;height:28px}@keyframes tbl-in{0%{opacity:0}to{opacity:1}}.math-block{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;flex-direction:column;font-size:14px;display:flex;box-shadow:0 1px 2px #0000000f}.math-block.selected{outline:2px dashed var(--accent);outline-offset:3px}.math-block:focus-within{border-color:var(--accent)}.math-loading{color:var(--muted);padding:14px}.math-error{color:#c92a2a;padding:10px}.math-head{cursor:move;background:var(--panel-2);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;border-radius:8px 8px 0 0;align-items:center;gap:6px;min-height:28px;padding:0 4px 0 10px;display:flex}.math-title{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:600;overflow:hidden}.math-tools{cursor:default;align-items:center;gap:2px;display:flex}.math-btn{color:inherit;opacity:.75;background:0 0;border:1px solid #0000;border-radius:5px;min-width:24px;height:22px;padding:0 5px;font-size:13px;line-height:1}.math-btn:hover{opacity:1;background:var(--accent-soft)}.math-btn.on{opacity:1;background:var(--accent-soft);border-color:var(--accent)}.math-fmt{align-items:center;gap:2px;display:inline-flex}.math-fmt select,.math-fmt input{border:1px solid var(--border);background:var(--panel);height:22px;color:var(--text);border-radius:5px;font-size:12px}.math-fmt input{width:40px}.math-body{flex:1;min-height:0;position:relative}.math-resize{cursor:nwse-resize;background:linear-gradient(135deg, transparent 50%, var(--border) 50%, var(--border) 60%, transparent 60%, transparent 72%, var(--border) 72%, var(--border) 82%, transparent 82%);border-bottom-right-radius:8px;width:14px;height:14px;position:absolute;bottom:0;right:0}.math-chip{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:12px;padding:2px 9px;font-size:12px}.math-chip:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.math-chip:disabled{opacity:.45}.calc-err{color:var(--muted,#868e96);font-size:12px;font-style:italic}.eq-field{min-height:44px;padding:8px 10px}.eq-field math-field{width:100%;color:var(--text);--caret-color:var(--accent);--selection-background-color:var(--accent-soft);--contains-highlight-background-color:transparent;background:0 0;border:0;outline:none;font-size:22px}.eq-field math-field::part(virtual-keyboard-toggle),.eq-field math-field::part(menu-toggle){display:none}.eq-actions{flex-wrap:wrap;align-items:center;gap:4px;padding:0 10px 8px;display:flex}.eq-var{color:var(--muted);margin-left:4px;font-size:12px}.eq-var select{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:5px;font-size:12px}.eq-steps{border-top:1px dashed var(--border);flex-direction:column;gap:4px;padding:6px 10px 10px;display:flex}.eq-step{align-items:center;gap:8px;font-size:16px;display:flex}.eq-step-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;min-width:92px;font-size:11px}.eq-step-math{flex:1;overflow-x:auto}.eq-palette{border-bottom:1px solid var(--border);background:var(--panel)}.eq-palette-tabs{flex-wrap:wrap;gap:2px;padding:4px 6px 0;display:flex}.eq-palette-tabs button{color:var(--muted);background:0 0;border:0;border-radius:6px 6px 0 0;padding:3px 8px;font-size:12px}.eq-palette-tabs button.on{color:var(--accent);background:var(--accent-soft);font-weight:600}.eq-palette-items{background:var(--accent-soft);flex-wrap:wrap;gap:3px;max-height:120px;padding:6px;display:flex;overflow:auto}.eq-palette-items button{border:1px solid var(--border);background:var(--panel);min-width:30px;height:28px;color:var(--text);border-radius:5px;padding:0 6px;font-family:Cambria Math,STIX Two Math,Times New Roman,serif;font-size:15px}.eq-palette-items button:hover{border-color:var(--accent)}.calc-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);font-family:ui-monospace,Cascadia Mono,Consolas,SF Mono,monospace;font-size:13.5px;display:grid}.calc-src{resize:none;color:var(--text);font:inherit;line-height:var(--calc-line);white-space:pre;background:0 0;border:0;outline:none;padding:6px 10px;overflow:auto hidden}.calc-results{border-left:1px solid var(--border);background:color-mix(in srgb, var(--accent-soft) 45%, transparent);border-radius:0 0 8px;padding:6px 10px}.calc-res{height:var(--calc-line);line-height:var(--calc-line);white-space:nowrap;text-overflow:ellipsis;color:var(--accent);font-weight:600;overflow:hidden}.calc-res.err{color:var(--muted,#868e96);font-size:12px;font-style:italic;font-weight:400}.calc-tidy{color:var(--muted,#868e96);margin-left:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:400}.calc-tidy:before{content:"read as ";font-family:inherit;font-style:italic}.calc-typeset{cursor:text;flex-direction:column;gap:4px;padding:8px 12px;font-size:17px;display:flex}.calc-comment{color:var(--muted);font-size:13px;font-style:italic}.calc-gap{height:6px}.plot-svg{font-family:system-ui,Segoe UI,sans-serif;display:block}.plot-area{fill:var(--panel);stroke:var(--border)}.plot-grid{stroke:var(--border);stroke-width:1px;opacity:.7}.plot-axis{stroke:var(--muted);stroke-width:1.2px}.plot-tick{fill:var(--muted);font-size:11px}.plot-label{fill:var(--text);font-size:12px;font-weight:600}.plot-line{fill:none;stroke-width:2.2px;stroke-linejoin:round}.plot-errors{color:#c92a2a;background:color-mix(in srgb, var(--panel) 90%, transparent);border-radius:6px;padding:4px 6px;font-size:12px;position:absolute;bottom:46px;left:64px;right:20px}.plot-settings{z-index:5;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:6px;padding:10px;font-size:12px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0}.plot-settings label{color:var(--muted);flex-direction:column;gap:2px;display:flex}.plot-settings input,.plot-settings textarea{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:5px;padding:3px 6px;font:13px ui-monospace,Consolas,monospace}.plot-row{gap:8px;display:flex}.plot-row label{flex:1;min-width:0}.plot-row input{width:100%}.sheet-bar{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:26px;padding:4px 8px;font-size:12px;display:flex}.sheet-ref{color:var(--accent);min-width:28px;font-weight:700}.sheet-raw{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-family:ui-monospace,Consolas,monospace;overflow:hidden}.sheet-scroll{padding-bottom:10px;overflow:auto}table.sheet{border-collapse:collapse;font-size:13px}table.sheet th{background:var(--panel-2);color:var(--muted);border:1px solid var(--border);min-width:26px;padding:1px 4px;font-size:11px;font-weight:500}table.sheet td{border:1px solid var(--border);padding:0}table.sheet td input{width:108px;color:var(--text);font:inherit;background:0 0;border:0;outline:none;padding:3px 6px}table.sheet td.num input{text-align:right;font-variant-numeric:tabular-nums}table.sheet td.formula input{color:var(--accent)}table.sheet td.err input{color:#c92a2a}table.sheet td input:focus{box-shadow:inset 0 0 0 2px var(--accent);text-align:left;color:var(--text);background:var(--panel)}.unit-converter{flex-direction:column;gap:8px;display:flex}.unit-converter select,.unit-converter input{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;min-width:0;padding:4px 6px;font-size:14px}.uc-row{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.uc-grid{grid-template-columns:1fr 1fr auto 1fr;gap:4px;display:grid}.uc-grid button{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:6px}.uc-result{padding:4px 2px;font-size:18px}.uc-table{border-collapse:collapse;font-size:13px}.uc-table td{border-bottom:1px solid var(--border);padding:2px 6px}.uc-table td:first-child{text-align:right;font-variant-numeric:tabular-nums}.uc-free{font-family:ui-monospace,Consolas,monospace}.math-block>.math-head.el-grip{opacity:1;border:0;border-bottom:1px solid var(--border);border-radius:8px 8px 0 0;height:auto;position:static}.math-block>.math-head.el-grip:after{display:none}.math-block{background:var(--paper)}.math-fmt select{max-width:120px}.ai-backdrop{z-index:1000;background:#00000047;place-items:center;display:grid;position:fixed;inset:0}.ai-dialog{background:var(--bg,#fff);color:var(--text,#222);border:1px solid var(--border);border-radius:12px;width:min(460px,92vw);padding:18px 20px;font-size:14px;box-shadow:0 16px 48px #00000040}.ai-dialog.wide{width:min(620px,94vw)}.ai-dialog h2{margin:0 0 8px;font-size:18px;font-weight:600}.ai-dialog textarea{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--border);background:var(--panel-2);color:inherit;resize:vertical;border-radius:8px;padding:8px;font-size:15px}.ai-dialog textarea.mono{font-family:ui-monospace,Consolas,monospace;font-size:14px}.ai-facts{border-collapse:collapse;margin:8px 0}.ai-facts th{text-align:left;vertical-align:top;white-space:nowrap;padding:3px 12px 3px 0;font-weight:600}.ai-facts td{padding:3px 0}.ai-private{background:#2e7d321a;border:1px solid #2e7d3259;border-radius:8px;padding:8px 10px;font-size:13px}.ai-error{color:#c62828}.ai-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.ai-buttons button{border:1px solid var(--border);background:var(--panel-2);color:inherit;font:inherit;cursor:pointer;border-radius:6px;padding:6px 12px}.ai-buttons button.primary{background:var(--accent,#7719aa);border-color:var(--accent,#7719aa);color:#fff}.ai-buttons button:disabled{opacity:.5;cursor:default}.ai-progress{background:var(--panel-2);border-radius:6px;height:22px;margin:8px 0;position:relative;overflow:hidden}.ai-progress>div{background:color-mix(in srgb, var(--accent,#7719aa) 45%, transparent);transition:width .2s;position:absolute;inset:0 auto 0 0}.ai-progress>span{padding-left:8px;font-size:12px;line-height:22px;position:relative}.ai-status{align-items:center;gap:8px;display:flex}.ai-spinner{border:2px solid var(--border);border-top-color:var(--accent,#7719aa);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite ai-spin}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-lang{margin-bottom:8px;display:block}.ink-text-badge{background:color-mix(in srgb, var(--accent,#7719aa) 16%, var(--bg,#fff));color:var(--accent,#7719aa);border:1px solid color-mix(in srgb, var(--accent,#7719aa) 40%, transparent);pointer-events:auto;cursor:help;-webkit-user-select:none;user-select:none;border-radius:7px;padding:0 4px;font-size:10px;line-height:14px;position:absolute}.ai-panel h3{margin:16px 0 6px;font-size:14px}.ai-models{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ai-models li{border:1px solid var(--border);border-radius:8px;gap:4px;padding:8px 10px;display:grid}.ai-models button{border:1px solid var(--border);background:var(--panel-2);color:inherit;cursor:pointer;border-radius:6px;justify-self:start;padding:4px 10px}.ai-models button.danger{color:#c62828}.ai-model-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ai-chip{background:var(--panel-2);white-space:nowrap;border-radius:9px;padding:0 7px;font-size:11px}.ai-chip.installed{color:#2e7d32;background:#2e7d322e}.ai-netlog{gap:2px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.ai-netlog li.blocked{color:#c62828}.ai-netlog code{word-break:break-all}.ai-source{color:var(--muted,#666);margin:4px 0 8px;font-size:12px}.ai-source pre{white-space:pre-wrap;background:var(--panel-2,#f5f5f5);border-radius:6px;max-height:140px;padding:6px 8px;overflow:auto}.ai-warn{color:#8a4b00;background:#fff4e0;border-radius:6px;margin:4px 0;padding:4px 8px}[data-theme=dark] .ai-warn{color:#ffd59a;background:#3a2a10}.audio-body{box-sizing:border-box;flex-direction:column;gap:6px;height:100%;padding:8px 10px;display:flex;overflow:hidden}.audio-body audio{width:100%;height:36px}.audio-row{align-items:center;gap:8px;font-size:13px;display:flex}.audio-len{color:var(--muted,#666);font-variant-numeric:tabular-nums;margin-right:auto}.audio-btn{border:1px solid var(--border,#ccc);background:var(--panel,#fff);color:inherit;cursor:pointer;font:inherit;border-radius:6px;padding:4px 10px;font-size:13px}.audio-btn:disabled{opacity:.7;cursor:progress}.audio-live{flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.audio-hint{color:var(--muted,#666);flex-basis:100%;font-size:12px;font-weight:400}.audio-dot{background:#d33;border-radius:50%;width:10px;height:10px;animation:1s infinite alternate audio-pulse}@keyframes audio-pulse{to{opacity:.3}}.audio-transcript{flex:1;margin:0;padding:0;font-size:13px;line-height:1.45;list-style:none;overflow:auto}.audio-transcript li{cursor:pointer;border-radius:4px;padding:2px 4px}.audio-transcript li:hover{background:var(--hover,#0000000d)}.audio-transcript li.on{background:#6b3fa024}.audio-t{color:var(--muted,#666);font-variant-numeric:tabular-nums;margin-right:4px}.audio-msg{color:var(--muted,#666);font-size:13px}.rec-bar{z-index:50;color:#222;background:#fff;border:1px solid #e3d6f0;border-radius:20px;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-size:13px;display:flex;position:fixed;top:10px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #00000026}.passive .audio-transcript li,.passive .audio-body audio,.passive .audio-btn,.passive select{pointer-events:auto}
