:root{--ui-font:"Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--accent:#5b4cf5;--accent-2:#7b6dff;--accent-ink:#fff;--accent-soft:#5b4cf51f;--accent-grad:linear-gradient(135deg, #7464ff 0%, #5b4cf5 55%, #4b3be8 100%);--sel:#5b4cf5;--sel-soft:#5b4cf51a;--guide:#ff3d8b;--text:#1d1d24;--text-2:#5c5c6e;--text-3:#8d8d9e;--panel:#ffffffd6;--panel-solid:#fff;--panel-2:#f4f4f7;--panel-border:#18183014;--hover:#18183c0f;--press:#18183c1c;--shadow:0 0 0 .5px #1818300a, 0 1px 2px #18183c0f, 0 8px 24px -8px #18183c29, 0 24px 56px -28px #18183c38;--shadow-lg:0 0 0 .5px #1818300d, 0 2px 6px #18183c0f, 0 24px 64px -16px #18183c4d;--tip-bg:#1d1d26;--tip-ink:#fff;--handle-fill:#fff;--r:14px;--r-sm:10px;--frame-border:#1818301a;--frame-tint:10%;--sticky-ink:#23221d;--pen-body:#e8e8ee;--danger:#e5484d;--spring:cubic-bezier(.34, 1.56, .64, 1);--ease:cubic-bezier(.2, .8, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--accent:#8f84ff;--accent-2:#a69dff;--accent-ink:#fff;--accent-soft:#8f84ff29;--accent-grad:linear-gradient(135deg, #8a7dff 0%, #6c5cff 60%, #5a49f5 100%);--sel:#8f84ff;--sel-soft:#8f84ff24;--text:#ececf1;--text-2:#a9a9b8;--text-3:#7c7c8c;--panel:#1e1e25db;--panel-solid:#202027;--panel-2:#2a2a33;--panel-border:#ffffff14;--hover:#ffffff12;--press:#ffffff1f;--shadow:0 0 0 .5px #0006, 0 1px 2px #0000004d, 0 10px 28px -8px #00000080;--shadow-lg:0 0 0 .5px #00000080, 0 28px 70px -16px #000000a6;--tip-bg:#f2f2f7;--tip-ink:#18181d;--handle-fill:#1d1d22;--frame-border:#ffffff1a;--frame-tint:16%;--pen-body:#3a3a44;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--ui-font);color:var(--text);background:var(--paper,#f6f6f3);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:none;font-size:14px;overflow:hidden}button{font:inherit;color:inherit}kbd,.kbd{font:600 10.5px/1 var(--ui-font);background:var(--hover);color:var(--text-2);border:1px solid var(--panel-border);white-space:nowrap;border-radius:5px;padding:3px 5px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{position:fixed;inset:0;overflow:hidden}.canvas{touch-action:none;-webkit-user-select:none;user-select:none;background:var(--paper);position:absolute;inset:0;overflow:hidden}.paper{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.world{transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0}.el{transform-origin:50%;pointer-events:none;position:absolute;top:0;left:0}.el-svg{position:absolute;top:0;left:0;overflow:visible}.el.erasing{transition:opacity .12s;opacity:.22!important}.el.fresh>*{animation:pop .34s var(--spring) both}@keyframes pop{0%{opacity:0;transform:scale(.86)}}@media (prefers-reduced-motion:reduce){.el.fresh>*{animation:none}}.label{white-space:pre;pointer-events:none;position:absolute}.ln{white-space:pre;position:relative}.ln-done{opacity:.55;text-decoration:line-through;text-decoration-thickness:.08em}.mk-bullet{background:currentColor;border-radius:50%;position:absolute}.mk-box{border-style:solid;border-color:currentColor;place-items:center;display:grid;position:absolute}.mk-box.done{background:currentColor}.mk-box svg path{stroke:var(--check-ink,var(--paper))}.mk-num{text-align:right;white-space:nowrap;position:absolute;top:0}.knockout{background:var(--paper);border-radius:4px;position:absolute}.el-sticky .sticky-paper{background:linear-gradient(170deg, #ffffff47, transparent 38%), var(--sticky-bg);border-radius:3px;position:absolute;inset:0;box-shadow:0 .5px .5px #0000000f,0 2px 4px -1px #0000001a,0 10px 18px -10px #00000052}.el-sticky{--check-ink:var(--sticky-bg)}.sticky-yellow{--sticky-bg:var(--sticky-yellow)}.sticky-orange{--sticky-bg:var(--sticky-orange)}.sticky-pink{--sticky-bg:var(--sticky-pink)}.sticky-violet{--sticky-bg:var(--sticky-violet)}.sticky-blue{--sticky-bg:var(--sticky-blue)}.sticky-teal{--sticky-bg:var(--sticky-teal)}.sticky-green{--sticky-bg:var(--sticky-green)}.sticky-grey{--sticky-bg:var(--sticky-grey)}.el-frame{border:1px solid var(--frame-border);border-radius:10px;box-shadow:0 1px 2px #00000008,0 10px 30px -18px #00000040}.el-image img{object-fit:fill;border-radius:2px;width:100%;height:100%;display:block}.img-missing{border:1.5px dashed var(--text-3);width:100%;height:100%;color:var(--text-3);font:500 12px var(--ui-font);place-items:center;display:grid}.el-stamp{text-align:center;filter:drop-shadow(0 2px 3px #0000002e);font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif}.text-bg{border-radius:4px;position:absolute;inset:-2px -4px}.link-underline{opacity:.4;background:currentColor;height:1.5px;position:absolute;bottom:-2px;left:0;right:0}[data-tone=light] .ink-marker{mix-blend-mode:multiply}.edit-host{transform-origin:50%;position:absolute;top:0;left:0}.text-editor{resize:none;caret-color:var(--accent);pointer-events:auto;overflow-wrap:break-word;word-break:normal;tab-size:4;background:0 0;border:0;outline:0;margin:0;padding:0;position:absolute;overflow:hidden}.text-editor::selection{background:var(--sel-soft)}.text-editor.on-arrow{background:var(--paper);box-shadow:0 0 0 2px var(--sel-soft);border-radius:5px}.overlay{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.sel-box,.sel-outline{fill:none;stroke:var(--sel);stroke-width:1.5px}.sel-outline.faint{opacity:.5}.hover-outline{fill:none;stroke:var(--sel);stroke-width:1.5px;opacity:.55}.h-corner{fill:var(--handle-fill);stroke:var(--sel);stroke-width:1.5px}.h-side{fill:var(--handle-fill);stroke:var(--sel);stroke-width:1.25px}.h-rotate circle{fill:var(--handle-fill);stroke:var(--sel);stroke-width:1.5px}.h-rotate path{fill:none;stroke:var(--sel);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.h-end{fill:var(--handle-fill);stroke:var(--sel);stroke-width:2px}.h-end.bound{fill:var(--sel);stroke:var(--handle-fill)}.h-bend{fill:var(--sel);stroke:var(--handle-fill);stroke-width:2px}.h-quick circle{fill:var(--sel);opacity:.9;filter:drop-shadow(0 2px 4px #3c28c859);transition:r .15s}.h-quick path{stroke:#fff;stroke-width:2px;stroke-linecap:round}.h-quick.hot circle{r:12;opacity:1}.quick-ghost{fill:var(--sel-soft);stroke:var(--sel);stroke-width:1.5px;stroke-dasharray:5 4;opacity:.9}.brush{fill:var(--sel-soft);stroke:var(--sel);stroke-width:1px}.lasso{fill:var(--sel-soft);stroke:var(--sel);stroke-width:1.5px;stroke-dasharray:4 3}.guides path{stroke:var(--guide);stroke-width:1px;fill:none}.gap path{stroke:var(--guide);stroke-width:1.2px}.bind-target>path{fill:var(--sel-soft);stroke:var(--sel);stroke-width:2.5px}.anchor{fill:var(--handle-fill);stroke:var(--sel);stroke-width:1.5px}.anchor.hot,.anchor.center{fill:var(--sel);stroke:var(--handle-fill);stroke-width:2px}.frame-target{fill:var(--sel-soft);stroke:var(--sel);stroke-width:2px;stroke-dasharray:6 4}.ghost-sticky{opacity:.5;fill:var(--sticky-bg);stroke:#00000014}.eraser-trail line{stroke:var(--text-3);stroke-linecap:round}.laser line{stroke:#ff2a55;stroke-linecap:round;filter:drop-shadow(0 0 4px #ff2a55e6)}.laser circle{fill:#ff2a55;filter:drop-shadow(0 0 5px #ff2a55)}.ghost-stamp{opacity:.55;pointer-events:none;font-size:48px;position:absolute;transform:translate(-50%,-50%)}.dims{pointer-events:none;white-space:nowrap;background:var(--sel);color:#fff;font:600 11px/1 var(--ui-font);font-variant-numeric:tabular-nums;border-radius:6px;padding:4px 7px;position:absolute;transform:translate(-50%);box-shadow:0 2px 8px #3c28c84d}.snap-flash{pointer-events:none;box-shadow:inset 0 0 0 3px var(--sel-soft);animation:.45s ease-out both flash;position:absolute;inset:0}@keyframes flash{0%{opacity:1}to{opacity:0}}.frame-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.frame-label{height:24px;font:600 12.5px/1 var(--ui-font);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;padding:0 2px;display:flex;position:absolute;overflow:hidden}.frame-label .frame-name{text-overflow:ellipsis;overflow:hidden}.frame-label.hot{color:var(--sel)}.frame-dot{border-radius:3px;flex:none;width:8px;height:8px}.frame-label.editing{pointer-events:auto}.frame-rename{font:600 12.5px var(--ui-font);color:var(--text);background:var(--panel-solid);border:1.5px solid var(--sel);border-radius:6px;outline:none;width:100%;padding:3px 6px}.link-chip{pointer-events:auto;font:600 12px/1 var(--ui-font);color:var(--accent);background:var(--panel-solid);box-shadow:var(--shadow);border:1px solid var(--panel-border);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;max-width:240px;padding:5px 9px;text-decoration:none;display:inline-flex;position:absolute;overflow:hidden}.link-chip:hover{background:var(--accent);color:#fff}.panel{background:var(--panel);-webkit-backdrop-filter:blur(18px)saturate(1.8);backdrop-filter:blur(18px)saturate(1.8);border:1px solid var(--panel-border);box-shadow:var(--shadow);border-radius:var(--r)}.ibtn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--text);cursor:pointer;transition:background .12s, color .12s, transform .18s var(--spring);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.ibtn:hover{background:var(--hover)}.ibtn:active{background:var(--press);transform:scale(.92)}.ibtn:disabled{opacity:.35;cursor:default;background:0 0;transform:none}.ibtn.active{background:var(--accent-soft);color:var(--accent)}.ibtn svg{pointer-events:none}.tip{z-index:50;pointer-events:none;white-space:nowrap;font:600 12px/1 var(--ui-font);color:var(--tip-ink);background:var(--tip-bg);opacity:0;border-radius:8px;align-items:center;gap:8px;padding:7px 9px;transition:opacity .12s,transform .12s;display:flex;position:absolute;transform:translateY(4px)scale(.96);box-shadow:0 6px 16px -6px #00000059}.tip .kbd{color:inherit;opacity:.85;background:#7f7f8c40;border-color:#0000}.tip-up{bottom:calc(100% + 10px);left:50%;translate:-50%}.tip-down{top:calc(100% + 10px);left:50%;transform:translateY(-4px)scale(.96)}.tip-right{top:50%;left:calc(100% + 10px);translate:0 -50%}.tip-left{top:50%;right:calc(100% + 10px);translate:0 -50%}@media (hover:hover){.ibtn:hover .tip{opacity:1;transition-delay:.45s;transform:none}}.ibtn:focus-visible .tip{opacity:1;transform:none}.primary-btn,.ghost-btn,.danger-btn{height:36px;font:600 13.5px/1 var(--ui-font);cursor:pointer;white-space:nowrap;transition:transform .18s var(--spring), filter .12s, background .12s;border:0;border-radius:10px;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.primary-btn{background:var(--accent-grad);color:var(--accent-ink);box-shadow:0 6px 16px -6px #503cf08c,inset 0 1px #fff3}.primary-btn:hover{filter:brightness(1.06)}.primary-btn:active,.ghost-btn:active,.danger-btn:active{transform:scale(.96)}.ghost-btn{background:var(--hover);color:var(--text)}.ghost-btn:hover{background:var(--press)}.danger-btn{background:var(--danger);color:#fff}.btn-group{align-items:center;gap:2px;padding:4px;display:flex}.seg{background:var(--hover);border-radius:10px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg-btn{cursor:pointer;min-width:34px;height:30px;color:var(--text-2);font:600 12.5px/1 var(--ui-font);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;transition:background .12s,color .12s;display:inline-flex}.seg-btn.icon{padding:0 7px}.seg-btn:has(svg:only-child){padding:0 7px}.seg-btn:hover{color:var(--text)}.seg-btn.on{background:var(--panel-solid);color:var(--accent);box-shadow:0 1px 2px #0000001a,0 0 0 .5px #0000000a}.swatches{align-items:center;gap:2px;display:flex}.swatch{cursor:pointer;width:30px;height:30px;transition:transform .18s var(--spring);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.swatch span{width:20px;height:20px;transition:transform .18s var(--spring);border-radius:50%;box-shadow:inset 0 0 0 1px #0000001f}.swatch:hover span{transform:scale(1.12)}.swatch.on{box-shadow:0 0 0 2px var(--accent)}.swatch.big{border-radius:9px;width:36px;height:36px}.swatch.big span,.stickies .swatch span{border-radius:5px;width:24px;height:24px}.swatch.big.on{box-shadow:0 0 0 2px var(--accent)}.swatch.none span{background:repeating-linear-gradient(135deg, transparent 0 4px, var(--text-3) 4px 5px), var(--panel-solid)}.color-dot{width:18px;height:18px;box-shadow:inset 0 0 0 1px #00000024, 0 0 0 2px var(--panel-solid);border-radius:50%;display:block}.aa{letter-spacing:-.02em;font-size:15px;font-weight:600}.popover{z-index:90;animation:pop-in .16s var(--ease);background:var(--panel-solid);border-radius:14px;padding:8px;position:fixed}@keyframes pop-in{0%{opacity:0;transform:translateY(4px)scale(.98)}}.pop-stack{flex-direction:column;gap:10px;padding:2px;display:flex}.pop-section{flex-direction:column;gap:6px;display:flex}.pop-title{font:600 11px/1 var(--ui-font);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding-left:2px}.row{flex-wrap:wrap;gap:8px;display:flex}.color-grid{grid-template-columns:repeat(6,30px);gap:4px;display:grid}.color-grid.stickies{grid-template-columns:repeat(4,36px)}.shape-grid{grid-template-columns:repeat(8,36px);gap:2px;display:grid}.pop-shapes .shape-grid{grid-template-columns:repeat(4,36px)}.align-grid{grid-template-columns:repeat(4,36px);gap:2px;display:grid}.wide-btn{background:var(--hover);cursor:pointer;height:34px;font:600 12.5px var(--ui-font);color:var(--text);border:0;border-radius:9px;grid-column:1/-1;justify-content:center;align-items:center;gap:7px;margin-top:4px;display:flex}.wide-btn:hover{background:var(--accent-soft);color:var(--accent)}.menu{flex-direction:column;min-width:230px;padding:2px;display:flex}.menu-item{cursor:pointer;text-align:left;height:34px;font:500 13.5px/1 var(--ui-font);color:var(--text);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 10px 0 8px;display:flex}.menu-item:hover,.menu-item:focus-visible,.menu-item.open{background:var(--hover);outline:none}.menu-item:disabled{opacity:.4;cursor:default;background:0 0}.menu-item.danger{color:var(--danger)}.menu-icon{width:18px;color:var(--text-2);flex:none;place-items:center;display:grid}.menu-item.danger .menu-icon{color:var(--danger)}.menu-label{white-space:nowrap;flex:1}.menu-key{font:500 12px var(--ui-font);color:var(--text-3)}.menu-arrow{color:var(--text-3);font-size:16px}.menu-sep{background:var(--panel-border);height:1px;margin:4px 6px}.menu-custom{padding:6px 8px 8px}.menu-lockup{border-bottom:1px solid var(--panel-border);color:var(--text);align-items:center;gap:10px;margin-bottom:4px;padding:4px 4px 8px;display:flex}.menu-lockup a{color:inherit;display:inline-flex}.lockup-divider{background:var(--panel-border);width:1px;height:22px}.lockup-name{font:700 15px var(--ui-font);letter-spacing:-.01em;align-items:center;gap:7px;display:inline-flex}.context-menu{z-index:95;background:var(--panel-solid);animation:pop-in .12s var(--ease);padding:6px;position:fixed}.submenu{padding:6px}.paper-chip{background:#f6f6f3;border-radius:4px;width:16px;height:16px;display:inline-block;box-shadow:inset 0 0 0 1px #0000001f}.paper-dots{background:radial-gradient(#00000059 1px,#0000 1.3px) 0 0/5px 5px,#f6f6f3}.paper-grid{background:linear-gradient(#0003 1px,#0000 1px) 0 0/5px 5px,linear-gradient(90deg,#0003 1px,#0000 1px) 0 0/5px 5px,#f7f7f4}.paper-lines{background:linear-gradient(#00000038 1px,#0000 1px) 0 0/100% 5px,#fbfaf5}.paper-iso{background:repeating-linear-gradient(30deg,#0003 0 1px,#0000 1px 5px),repeating-linear-gradient(-30deg,#0003 0 1px,#0000 1px 5px),#f7f7f4}.paper-blueprint{background:linear-gradient(#ffffff4d 1px,#0000 1px) 0 0/5px 5px,linear-gradient(90deg,#ffffff4d 1px,#0000 1px) 0 0/5px 5px,#1b4c8a}.paper-chalk{background:#27332f}.paper-plain{background:#f6f6f3}.top-left{z-index:20;align-items:center;gap:4px;max-width:calc(100vw - 24px);height:48px;padding:4px 10px 4px 4px;display:flex;position:absolute;top:12px;left:12px}.brand-btn{cursor:pointer;height:38px;color:var(--text-2);background:0 0;border:0;border-radius:10px;align-items:center;gap:4px;padding:0 6px 0 5px;transition:background .12s;display:flex}.brand-btn:hover,.brand-btn.active{background:var(--hover)}.brand-caret{opacity:.7}.board-name{font:650 14.5px/1 var(--ui-font);letter-spacing:-.01em;color:var(--text);cursor:text;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:8px;max-width:36vw;padding:8px;overflow:hidden}.board-name:hover{background:var(--hover)}.board-name-input{font:650 14.5px/1 var(--ui-font);color:var(--text);border:1.5px solid var(--accent);background:var(--panel-solid);border-radius:8px;outline:none;min-width:120px;max-width:46vw;padding:7px 8px}.save-state{color:var(--text-3);place-items:center;width:24px;display:inline-grid}.save-state.saving{color:var(--accent);animation:1s ease-in-out infinite breathe}.save-state.error{color:var(--danger)}@keyframes breathe{50%{opacity:.4}}.top-right{z-index:20;align-items:center;gap:8px;display:flex;position:absolute;top:12px;right:12px}.search-btn{cursor:pointer;height:48px;color:var(--text-2);font:500 13.5px var(--ui-font);border-radius:var(--r);align-items:center;gap:9px;padding:0 10px 0 14px;display:flex}.search-btn:hover{color:var(--text)}.top-right .btn-group{gap:3px;height:48px;padding:5px}.top-right .primary-btn{height:36px;margin-left:3px}.bottom-right .btn-group{height:48px;padding:5px}.top-left .ibtn{width:34px;height:34px}.kbd-gap{height:17px}.zoom-pct{cursor:pointer;min-width:54px;height:36px;font:650 13px/1 var(--ui-font);font-variant-numeric:tabular-nums;color:var(--text);background:0 0;border:0;border-radius:9px}.zoom-pct:hover{background:var(--hover)}.bottom-right{z-index:20;position:absolute;bottom:14px;right:12px}.minimap{z-index:20;animation:pop-in .18s var(--ease);padding:6px;position:absolute;bottom:74px;right:12px}.minimap canvas{cursor:crosshair;touch-action:none;border-radius:9px;display:block}.dock-wrap{z-index:25;flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 16px);display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.dock{scrollbar-width:none;border-radius:18px;align-items:center;gap:2px;max-width:100%;padding:6px;display:flex}.dock::-webkit-scrollbar{display:none}.dock-item{align-items:center;gap:2px;display:flex}.dock-sep{background:var(--panel-border);flex:none;width:1px;height:24px;margin:0 5px}.dock .ibtn{border-radius:12px;width:42px;height:42px}.dock .ibtn.active{background:var(--accent-grad);color:#fff;box-shadow:0 6px 14px -6px #503cf0b3,inset 0 1px #ffffff38}.dock .ibtn.active:hover{filter:brightness(1.05)}.dock-more{display:none}.more-tools{gap:2px;display:flex}.more-tools .ibtn{border-radius:12px;width:42px;height:42px}.more-tools .ibtn.active{background:var(--accent-grad);color:#fff}.lock-badge{width:14px;height:14px;color:var(--accent);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:3px;right:3px;box-shadow:0 1px 3px #00000040}.tray{animation:tray-in .22s var(--spring);scrollbar-width:none;border-radius:16px;align-items:center;gap:6px;max-width:100%;padding:6px 8px;display:flex}@keyframes tray-in{0%{opacity:0;transform:translateY(8px)scale(.97)}}.tray-sep{background:var(--panel-border);flex:none;width:1px;height:22px}.tray-hint{font:500 12px var(--ui-font);color:var(--text-3);white-space:nowrap;padding:0 6px}.tray-toggle{font:600 12.5px var(--ui-font);color:var(--text-2);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:0 6px;display:flex}.tray-toggle input{accent-color:var(--accent);width:15px;height:15px}.size-dots{gap:2px;display:flex}.size-dot{cursor:pointer;width:32px;height:32px;color:var(--text);background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.size-dot span{background:currentColor;border-radius:50%}.size-dot:hover{background:var(--hover)}.size-dot.on{background:var(--accent-soft);color:var(--accent)}.stamp-grid{grid-template-columns:repeat(8,36px);gap:2px;display:grid}.stamp-btn{cursor:pointer;width:36px;height:36px;transition:transform .18s var(--spring);background:0 0;border:0;border-radius:9px;font-size:21px}.stamp-btn:hover{background:var(--hover);transform:scale(1.12)}.stamp-btn.on{background:var(--accent-soft)}.presets .seg-btn{height:34px}.preset-box{opacity:.8;border:1.5px solid;border-radius:2px;height:14px;display:inline-block}.context-bar{z-index:22;animation:bar-in .16s var(--ease);border-radius:13px;align-items:center;gap:1px;padding:4px;display:flex;position:absolute}@keyframes bar-in{0%{opacity:0;transform:translateY(4px)}}.context-bar .ibtn{border-radius:9px;width:34px;height:34px}.bar-sep{background:var(--panel-border);flex:none;width:1px;height:20px;margin:0 3px}.toasts{z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:84px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;font:550 13.5px var(--ui-font);background:var(--tip-bg);color:var(--tip-ink);animation:toast-in .28s var(--spring);border:0;border-radius:12px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 12px 10px 16px;display:flex}.toast.warn{color:#fff;background:#b4232c}.toast-action{color:inherit;font:650 13px var(--ui-font);cursor:pointer;background:#7f7f8c40;border:0;border-radius:8px;padding:6px 10px}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)scale(.96)}}.welcome{pointer-events:none;z-index:10;place-items:center;padding:80px 16px 120px;display:grid;position:absolute;inset:0}.welcome-card{pointer-events:auto;text-align:center;width:min(600px,100%);animation:rise .6s var(--spring) both;box-shadow:var(--shadow-lg);border-radius:24px;padding:30px 28px 24px}@keyframes rise{0%{opacity:0;transform:translateY(16px)scale(.97)}}.welcome-card h1{font:750 30px/1.1 var(--ui-font);letter-spacing:-.03em;margin:12px 0 6px}.welcome-card>p{color:var(--text-2);max-width:420px;margin:0 auto 22px;font-size:15px;line-height:1.5}.welcome-actions{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.welcome-action{border:1px solid var(--panel-border);background:var(--panel-solid);cursor:pointer;transition:transform .22s var(--spring), box-shadow .15s, border-color .15s;border-radius:16px;flex-direction:column;align-items:center;gap:7px;padding:14px 6px 10px;display:flex}.welcome-action:hover{border-color:#0000;transform:translateY(-3px);box-shadow:0 12px 24px -12px #1e145a59}.wa-icon{color:#fff;border-radius:13px;place-items:center;width:44px;height:44px;display:grid}.c-amber .wa-icon{background:linear-gradient(135deg,#ffcb47,#f59f00)}.c-pink .wa-icon{background:linear-gradient(135deg,#ff7eb9,#e64980)}.c-blue .wa-icon{background:linear-gradient(135deg,#5fb0ff,#1c7ed6)}.c-violet .wa-icon{background:linear-gradient(135deg,#a78bff,#6e56cf)}.c-green .wa-icon{background:linear-gradient(135deg,#63e6a0,#2b9e5f)}.wa-label{font:650 13px var(--ui-font);color:var(--text)}.welcome-action .kbd{font-size:10px}.welcome-tips{border-top:1px solid var(--panel-border);text-align:left;color:var(--text-2);grid-template-columns:1fr 1fr;gap:8px 16px;margin:20px 0 0;padding:14px 0 0;font-size:13px;list-style:none;display:grid}.welcome-tips b{color:var(--text);font-weight:650}.exit-focus{z-index:30;cursor:pointer;height:36px;font:600 13px var(--ui-font);color:var(--text-2);opacity:.6;border-radius:10px;padding:0 14px;transition:opacity .15s;position:absolute;top:12px;right:12px}.exit-focus:hover{opacity:1}.presenter{z-index:30;opacity:.35;border-radius:16px;align-items:center;gap:4px;padding:5px;transition:opacity .2s;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.presenter:hover,.presenter:focus-within{opacity:1}.presenter-count{font:650 13px var(--ui-font);font-variant-numeric:tabular-nums;color:var(--text-2);padding:0 6px}.presenter-name{font:600 13.5px var(--ui-font);text-overflow:ellipsis;white-space:nowrap;max-width:40vw;padding-right:6px;overflow:hidden}.dialog-backdrop{z-index:100;background:#0e0e1e4d;place-items:center;padding:16px;animation:.15s both fade;display:grid;position:fixed;inset:0}:root[data-theme=dark] .dialog-backdrop{background:#00000080}@keyframes fade{0%{opacity:0}}.dialog{background:var(--panel-solid);width:min(720px,100%);max-height:min(86vh,920px);box-shadow:var(--shadow-lg);animation:dialog-in .24s var(--spring) both;border-radius:20px;outline:none;flex-direction:column;display:flex}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}.dialog-head{align-items:center;gap:10px;padding:16px 14px 10px 20px;display:flex}.dialog-head h2{font:700 17px var(--ui-font);letter-spacing:-.015em;flex:1;margin:0}.dialog-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.dialog-body{padding:6px 20px 18px;overflow:auto}.dialog-foot{border-top:1px solid var(--panel-border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px 16px 20px;display:flex}.foot-note{color:var(--text-3);margin-right:auto;font-size:12.5px}.text-input{border:1.5px solid var(--panel-border);background:var(--panel-2);width:100%;height:42px;color:var(--text);font:500 14px var(--ui-font);border-radius:10px;outline:none;padding:0 12px}.text-input:focus{border-color:var(--accent);background:var(--panel-solid)}.field-error{color:var(--danger);margin:8px 2px 0;font-size:13px}.link-dialog{width:min(460px,100%)}.dialog.palette{align-self:start;width:min(640px,100%);max-height:70vh;margin-top:10vh}.palette .dialog-head{display:none}.palette .dialog-body{flex-direction:column;min-height:0;padding:0;display:flex}.palette-search{border-bottom:1px solid var(--panel-border);color:var(--text-3);align-items:center;gap:10px;padding:14px 18px;display:flex}.palette-search input{font:500 16px var(--ui-font);color:var(--text);background:0 0;border:0;outline:0;flex:1}.palette-list{max-height:calc(70vh - 60px);padding:6px;overflow:auto}.palette-group-title{font:650 11px var(--ui-font);letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);padding:10px 12px 4px}.palette-row{cursor:pointer;text-align:left;width:100%;height:38px;font:500 14px var(--ui-font);color:var(--text);background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:0 12px;display:flex}.palette-row.active{background:var(--accent-soft)}.palette-row.active .palette-label{color:var(--accent)}.palette-icon{color:var(--text-3);place-items:center;display:grid}.palette-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.palette-detail{color:var(--text-3);font-size:12.5px}.palette-empty{text-align:center;color:var(--text-3);padding:24px}.boards-dialog{width:min(880px,100%)}.board-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.board-card{border:1px solid var(--panel-border);background:var(--panel-2);transition:transform .2s var(--spring), box-shadow .15s;border-radius:14px;position:relative;overflow:hidden}.board-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px -16px #1e145a66}.board-card.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.board-thumb{aspect-ratio:3/2;background:var(--paper);cursor:pointer;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.board-thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb-empty{position:absolute;inset:0}.thumb-empty.paper-dots{background:radial-gradient(#00000029 1px,#0000 1.3px) 0 0/12px 12px,#f6f6f3}.badge{font:700 10.5px/1 var(--ui-font);letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:6px;padding:4px 7px;position:absolute;top:8px;left:8px}.board-meta{padding:10px 12px 12px}.board-meta input{width:100%;font:650 14px var(--ui-font);border:1.5px solid var(--accent);background:var(--panel-solid);color:var(--text);border-radius:7px;outline:none;padding:3px 6px}.board-title{font:650 14px var(--ui-font);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-time{color:var(--text-3);margin-top:3px;font-size:12px}.board-actions{background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:10px;gap:2px;padding:2px;transition:opacity .15s;display:flex;position:absolute;top:6px;right:6px}.board-card:hover .board-actions,.board-card:focus-within .board-actions{opacity:1}.board-actions .ibtn{width:30px;height:30px}.board-confirm{background:var(--panel-solid);border-top:1px solid var(--panel-border);font:600 12.5px var(--ui-font);align-items:center;gap:6px;padding:10px;display:flex;position:absolute;inset:auto 0 0}.board-confirm span{flex:1}.board-confirm button{height:28px;padding:0 10px;font-size:12.5px}.export-dialog{width:min(820px,100%)}.export-layout{grid-template-columns:1fr 260px;gap:18px;display:grid}.export-preview{border:1px solid var(--panel-border);background:var(--panel-2);border-radius:14px;place-items:center;min-height:280px;max-height:52vh;padding:14px;display:grid;overflow:hidden}.export-preview img{object-fit:contain;border-radius:6px;max-width:100%;max-height:calc(52vh - 30px);box-shadow:0 4px 20px -10px #0000004d}.export-preview.checker{background:repeating-conic-gradient(#7f7f8c29 0 25%, transparent 0 50%) 0 0 / 16px 16px}.export-options{flex-direction:column;gap:8px;display:flex}.opt-label{font:650 11.5px var(--ui-font);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin-top:6px}.templates-dialog{width:min(980px,100%)}.template-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.template-card{border:1px solid var(--panel-border);background:var(--panel-2);cursor:pointer;text-align:left;transition:transform .22s var(--spring), box-shadow .15s, border-color .15s;border-radius:16px;flex-direction:column;gap:4px;padding:8px 8px 12px;display:flex}.template-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 16px 30px -18px #3c28c880}.template-preview{aspect-ratio:16/10;background:var(--paper);border-radius:10px;place-items:center;margin-bottom:6px;display:grid;overflow:hidden}.template-preview svg{width:100%;height:100%;display:block}.template-name{font:700 14px var(--ui-font);padding:0 4px}.template-blurb{color:var(--text-2);padding:0 4px;font-size:12.5px;line-height:1.4}.help-dialog{width:min(980px,100%)}.help-cols{columns:3 260px;column-gap:28px}.help-cols section{break-inside:avoid;margin-bottom:18px}.help-cols h3{font:700 13px var(--ui-font);letter-spacing:.02em;color:var(--accent);margin:0 0 8px}.help-cols dl{margin:0}.help-cols dl>div{border-bottom:1px dashed var(--panel-border);justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;display:flex}.help-cols dt{font-size:13px}.help-cols dd{flex:none;gap:4px;margin:0;display:flex}.help-tricks dl>div{flex-direction:column;gap:2px}.help-tricks dt{font-weight:650}.help-tricks dd{color:var(--text-2);flex:initial;font-size:12.5px}.about-dialog{width:min(560px,100%)}.about{text-align:center}.about h3{font:750 24px var(--ui-font);letter-spacing:-.02em;margin:10px 0 4px}.about-tag{color:var(--text-2);margin-top:0}.about p{text-align:left;font-size:14px;line-height:1.55}.about p.about-tag{text-align:center}.about-credit{color:var(--text-2);justify-content:center;align-items:center;gap:12px;display:flex;text-align:center!important}.about details{text-align:left;color:var(--text-2);font-size:13px}.about summary{cursor:pointer;font-weight:600}.about code{background:var(--hover);border-radius:5px;padding:1px 5px;font-family:JetBrains Mono Variable,monospace;font-size:12.5px}.crash{text-align:center;place-content:center;gap:8px;padding:24px;display:grid;position:fixed;inset:0}.crash pre{color:var(--text-3);white-space:pre-wrap;max-width:600px}@media (width<=900px){.search-label,.search-btn .kbd{display:none}.search-btn{padding:0 14px}.top-right .primary-btn span{display:none}.top-right .primary-btn{padding:0 11px}}@media (width<=1240px){.bottom-right{top:68px;bottom:auto}.minimap{top:124px;bottom:auto}}@media (width<=760px){.toasts{bottom:146px}.dock .ibtn{width:40px;height:40px}.dock-sep{margin:0 2px}.welcome-actions{grid-template-columns:repeat(3,1fr)}.welcome-tips,.export-layout{grid-template-columns:1fr}.export-preview{min-height:180px}.board-name{max-width:34vw}.shape-grid{grid-template-columns:repeat(8,34px)}}@media (width<=600px){.dock .dock-item.secondary{display:none}.dock-more{display:flex}.dock-sep{display:none}.dock,.tray{overflow-x:auto}.dock .tip,.tray .tip{display:none}.dock{gap:0;padding:5px}.dock-item{gap:0}.dock .ibtn{width:37px;height:38px}.top-right .btn-group,.save-state{display:none}.board-name{max-width:30vw;padding:8px 4px}}@media (width<=520px){.welcome-card{padding:22px 16px 18px}.welcome-card h1{font-size:25px}.stamp-grid,.shape-grid{grid-template-columns:repeat(8,32px)}.stamp-btn{width:32px;height:32px}.color-grid{grid-template-columns:repeat(6,28px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
