@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/inter-400.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-500.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(assets/fonts/inter-latin-400-italic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:500;font-display:swap;src:url(assets/fonts/inter-latin-500-italic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/inter-latin-700-normal.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:700;font-display:swap;src:url(assets/fonts/inter-latin-700-italic.woff2) format("woff2")}:root{--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR","Noto Sans CJK KR",sans-serif;--bg:#f4f3f0;--bg-grid:#dfddd6;--panel:#ffffff;--panel-2:#fafafa;--inset:#f3f1ec;--panel-border:#e6e4df;--hairline:#e2dfd8;--ink:#3a3a38;--ink-strong:#111111;--ink-soft:#8a8780;--ink-faint:#b9b7b1;--accent:#2f6df0;--accent-soft:#dbe6ff;--doc-link:#D5593E;--accent-ui:#2a2a2a;--knob:#ffffff;--switch-track:#d8d6d0;--hover:#00000008;--hover-2:#00000012;--soft-border:#0001;--glass:rgba(255,255,255,.82);--glass-2:rgba(255,255,255,.92);--danger:#c0392b;--danger-strong:#d23b3b;--danger-soft:#fdf1ef;--danger-soft-2:#fdeaea;--danger-border:#f0c7c1;--ok:#2f9e44;--ok-deep:#2f7d4f;--ok-soft:#f4fbf6;--ok-border:#bfe6cb;--pending-soft:#fdf7ee;--pending-border:#f0d6b0;--shadow:0 1px 3px rgba(0,0,0,.08), 0 6px 18px rgba(0,0,0,.06);--shadow-lg:0 8px 30px rgba(0,0,0,.16);--radius:10px;--topbar-h:48px;--toolbar-w:64px;font-synthesis:none;color-scheme:light}html[data-theme=dark]{--bg:#17181c;--bg-grid:#2c2d33;--panel:#232428;--panel-2:#2b2c31;--inset:#1e1f23;--panel-border:#3a3b41;--hairline:#33343a;--ink:#e7e5e0;--ink-strong:#f4f3ef;--ink-soft:#9c998f;--ink-faint:#6b6a64;--accent:#5b8cff;--accent-soft:#263352;--doc-link:#e8846b;--accent-ui:#ececea;--knob:#232428;--switch-track:#54555c;--hover:#ffffff0f;--hover-2:#ffffff1e;--soft-border:#ffffff24;--glass:rgba(34,35,40,.84);--glass-2:rgba(34,35,40,.94);--danger:#e06552;--danger-strong:#e8705f;--danger-soft:#3a2522;--danger-soft-2:#432a26;--danger-border:#61382f;--ok:#4db36b;--ok-deep:#5cb87d;--ok-soft:#20301f;--ok-border:#3a5a3f;--pending-soft:#332b1c;--pending-border:#5c4b2b;--shadow:0 1px 3px rgba(0,0,0,.35), 0 6px 18px rgba(0,0,0,.3);--shadow-lg:0 8px 30px rgba(0,0,0,.55);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:var(--font);font-weight:400;letter-spacing:-.2px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none}#app{position:fixed;inset:0}#canvas{position:absolute;inset:0;display:block;touch-action:none;cursor:default}#overlay{position:absolute;inset:0;display:block;pointer-events:none;-webkit-touch-callout:none}#canvas.panning{cursor:grabbing}#canvas.pan-ready{cursor:grab}#canvas.tool-draw{cursor:crosshair}#canvas.tool-create{cursor:copy}#canvas.tool-connect{cursor:crosshair}#topbar{position:absolute;top:0;left:0;right:0;height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 12px 0 14px;background:var(--glass);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--panel-border);z-index:30}.topbar-spacer{flex:1}.breadcrumbs{display:flex;align-items:center;gap:2px;font-size:14px;font-weight:500;overflow:hidden;white-space:nowrap}.breadcrumbs .crumb{padding:4px 8px;border-radius:7px;cursor:pointer;color:var(--ink);max-width:240px;overflow:hidden;text-overflow:ellipsis}.breadcrumbs .crumb:hover{background:var(--hover)}.breadcrumbs .crumb.current{color:var(--ink);cursor:default}.breadcrumbs .crumb.current:hover{background:transparent}.breadcrumbs .sep{color:var(--ink-soft);opacity:.6;font-weight:400}.breadcrumbs .crumb.editing{background:var(--panel);border:1px solid var(--ink-strong);outline:none}.topbar-actions{display:flex;align-items:center;gap:4px}.iconbtn{width:34px;height:34px;border:none;background:transparent;border-radius:8px;display:grid;place-items:center;cursor:pointer;color:var(--ink-soft)}.iconbtn:hover{background:var(--hover);color:var(--ink)}.iconbtn:disabled{opacity:.32;cursor:default}.iconbtn:disabled:hover{background:transparent;color:var(--ink-soft)}.iconbtn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.storage-btn{display:flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--panel-border);background:var(--panel);color:var(--ink-soft);cursor:pointer;font-size:12px;font-weight:500;max-width:200px}.storage-btn:hover{background:var(--panel-2);color:var(--ink)}.storage-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.storage-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storage-btn.connected{color:var(--ok);border-color:var(--ok-border);background:var(--ok-soft)}.storage-btn.pending{color:#d9892b;border-color:var(--pending-border);background:var(--pending-soft)}.save-indicator{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-soft);padding-left:12px;min-width:86px;white-space:nowrap}.save-indicator:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}.save-indicator.saving{color:var(--ink-soft)}.save-indicator.saving:before{background:var(--ink-faint)}#toolbar{position:absolute;left:10px;top:calc(50% + (var(--topbar-h) / 2));transform:translateY(-50%);width:var(--toolbar-w);height:auto;background:var(--glass);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border:1px solid var(--panel-border);border-radius:15px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0;z-index:25}.tool{width:52px;border:none;background:transparent;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 6px;color:var(--ink-soft);font-size:10px;font-weight:500}.tool:hover{background:var(--hover);color:var(--ink)}.tool.active{background:var(--hover-2);color:var(--ink-strong)}.tool svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tool[data-create] svg{stroke-width:1.7}.tool[draggable=true]{cursor:grab}.tool.dragging,.shape-btn.dragging{opacity:.45;cursor:grabbing}.shape-btn[draggable=true]{cursor:grab}body.tool-dragging #canvas{cursor:copy}#text-editor{position:absolute;display:none;z-index:20;border:none;outline:none;resize:none;overflow:hidden;background:transparent;color:inherit;font-family:inherit;line-height:1.35;padding:0;margin:0}#cl-input{position:absolute;display:none;z-index:20;box-sizing:border-box;border:none;outline:none;background:transparent;color:#1f1e1c;caret-color:#1f1e1c;font-family:var(--font);transform-origin:0 0;padding:0;margin:0;resize:none;overflow:hidden;white-space:pre-wrap;word-break:break-word}#cl-input::placeholder{color:var(--ink-faint)}#cl-input:empty:before{content:attr(data-ph);color:#b9b7b1;pointer-events:none}.floating-bar{position:absolute;z-index:35;display:flex;align-items:center;gap:2px;background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;box-shadow:var(--shadow-lg);padding:4px}.floating-bar.hidden{display:none}.floating-bar button{border:none;background:transparent;border-radius:7px;cursor:pointer;height:30px;min-width:30px;padding:0 7px;display:grid;place-items:center;color:var(--ink-soft);font-size:12.5px;font-weight:500}.floating-bar button:hover{background:var(--hover);color:var(--ink)}.floating-bar button.danger:hover{background:var(--danger-soft-2);color:var(--danger-strong)}.floating-bar button.on{background:#1112;color:var(--ink-strong)}.floating-bar .swatch{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--soft-border)}.floating-bar .divider{width:1px;height:20px;background:var(--panel-border);margin:0 3px}.floating-bar svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.color-pop{position:absolute;z-index:36;background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;box-shadow:var(--shadow-lg);padding:8px;display:grid;grid-template-columns:repeat(5,24px);gap:6px}.color-pop .swatch{width:24px;height:24px;border-radius:50%;cursor:pointer;border:1.5px solid var(--soft-border)}.color-pop .swatch:hover{transform:scale(1.12)}.color-pop .swatch.sel{outline:2px solid var(--ink-strong);outline-offset:1px}.color-pop .color-pick{width:24px;height:24px;border-radius:50%;cursor:pointer;overflow:hidden;display:grid;place-items:center;border:1.5px solid var(--soft-border);background-image:url(assets/colorwheel.svg);background-size:cover;background-position:center;background-repeat:no-repeat}.color-pop .color-pick input[type=color]{opacity:0;width:100%;height:100%;cursor:pointer;border:none;padding:0;-webkit-appearance:none;appearance:none}.color-pop .color-pick input[type=color]::-webkit-color-swatch-wrapper,.bc-pick input[type=color]::-webkit-color-swatch-wrapper,.doc-color input[type=color]::-webkit-color-swatch-wrapper{padding:0;border:none;background:transparent}.color-pop .color-pick input[type=color]::-webkit-color-swatch,.bc-pick input[type=color]::-webkit-color-swatch,.doc-color input[type=color]::-webkit-color-swatch{border:none;background:transparent}.doc-pop{z-index:90}.doc-choice-pop{display:flex;flex-direction:column;gap:1px;padding:6px;min-width:150px;max-height:52vh;overflow-y:auto;grid-template-columns:none}.doc-choice{display:block;width:100%;text-align:left;border:none;background:transparent;border-radius:7px;cursor:pointer;color:var(--ink);font-family:inherit;font-size:15px;padding:9px 12px;white-space:nowrap}.doc-choice:hover{background:var(--hover)}.doc-choice:active{background:var(--hover-2)}.doc-size-pop{min-width:96px}.doc-size-pop .doc-choice{text-align:center}.doc-mbtn{display:none;height:30px;border:1px solid var(--panel-border);background:var(--panel);border-radius:6px;cursor:pointer;font-family:inherit;font-size:13px;color:var(--ink);padding:0 10px;align-items:center;justify-content:center}#new-items-pool{position:fixed;right:14px;top:72px;z-index:34;width:154px;max-height:calc(100vh - 170px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;box-shadow:var(--shadow-lg);padding:10px;gap:8px}.nip-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.nip-title{font-size:12px;font-weight:500;color:var(--ink)}.nip-count{font-size:11px;font-weight:500;color:var(--knob);background:var(--ink-strong);border-radius:10px;padding:1px 7px}.nip-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding:2px}.nip-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:8px;cursor:grab;transition:transform .12s,box-shadow .12s;user-select:none;touch-action:none}.nip-card:hover{transform:translateY(-2px) rotate(-1.2deg);box-shadow:0 6px 16px #0000001f}.nip-card.nip-dragging{opacity:.35}.nip-thumb{width:100%;height:74px;border-radius:7px;overflow:hidden;display:grid;place-items:center;background:var(--inset)}.nip-thumb img{width:100%;height:100%;object-fit:cover}.nip-pdf-thumb{font-size:15px;font-weight:800;letter-spacing:.06em;color:#fff;background:#c84427}.nip-folder-thumb svg{width:64%;height:auto;display:block;filter:drop-shadow(0 2px 3px rgba(0,0,0,.18))}.nip-name{font-size:10.5px;color:#6b6862;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nip-ghost{position:fixed;z-index:60;width:112px;pointer-events:none;transform:translate(-50%,-50%);opacity:.92;background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:8px;box-shadow:0 10px 28px #00000047;display:flex;flex-direction:column;align-items:center;gap:4px}.nip-ghost .nip-thumb{width:92px;height:62px}.nip-ghost .nip-name{font-size:10px}.bc-pop{position:absolute;z-index:37;background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-lg);padding:12px;width:236px;display:flex;flex-direction:column;gap:8px}.bc-row{display:flex}.bc-title{width:100%;box-sizing:border-box;border:1px solid var(--panel-border);border-radius:8px;padding:7px 9px;font-size:14px;font-weight:500;color:var(--ink);outline:none;font-family:inherit}.bc-title:focus{border-color:var(--ink-strong)}.bc-label{font-size:10.5px;font-weight:500;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.bc-icons{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.bc-icon{width:100%;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel);cursor:pointer;padding:0}.bc-icon canvas{width:22px;height:22px}.bc-icon:hover{background:var(--inset)}.bc-icon.sel{border-color:var(--ink-strong);box-shadow:0 0 0 1px var(--ink-strong)}.bc-none{color:var(--ink-faint);font-size:17px;line-height:1}.bc-colors{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.bc-sw{width:100%;aspect-ratio:1;border-radius:50%;cursor:pointer;border:1.5px solid var(--soft-border);box-sizing:border-box}.bc-sw:hover{transform:scale(1.1)}.bc-sw.sel{outline:2px solid var(--ink-strong);outline-offset:1px}.bc-pick{overflow:hidden;display:grid;place-items:center;background-image:url(assets/colorwheel.svg);background-size:cover;background-position:center;background-repeat:no-repeat;border:1.5px solid var(--soft-border)}.bc-pick input[type=color]{opacity:0;width:100%;height:100%;cursor:pointer;border:none;padding:0;-webkit-appearance:none;appearance:none}.fontsize-pop{display:flex;flex-direction:column;grid-template-columns:none;gap:1px;max-height:280px;overflow-y:auto;padding:5px;min-width:64px}.fontsize-pop .fs-item{padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--ink);text-align:center}.fontsize-pop .fs-item:hover{background:var(--hover-2);color:var(--ink-strong)}.draw-options{position:absolute;left:calc(var(--toolbar-w) + 10px);top:calc(var(--topbar-h) + 220px);z-index:35;background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-lg);padding:10px;display:flex;flex-direction:column;gap:8px;width:160px}.draw-options.hidden{display:none}.draw-options .swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.draw-options .swatches .sw{width:22px;height:22px;border-radius:50%;cursor:pointer;border:1.5px solid var(--soft-border)}.draw-options .swatches .sw.sel{outline:2px solid var(--ink-strong);outline-offset:1px}.draw-options .sizes{display:flex;justify-content:space-between;align-items:center;gap:6px}.draw-options .sizes .sz{flex:1;height:30px;border-radius:7px;border:1px solid var(--panel-border);background:var(--panel);cursor:pointer;display:grid;place-items:center}.draw-options .sizes .sz.sel{background:var(--hover-2);border-color:var(--ink-strong)}.draw-options .sizes .sz .dot{background:currentColor;border-radius:50%;color:var(--ink)}.draw-eraser{height:30px;border-radius:7px;border:1px solid var(--panel-border);background:var(--panel);cursor:pointer;font-size:12px;color:var(--ink)}.draw-eraser.sel{background:var(--danger-soft-2);border-color:var(--danger-border);color:var(--danger)}.draw-highlight{display:flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font)}.draw-highlight svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.draw-highlight.sel{background:#fff3c2;border-color:#e5d288;color:#6b5a12}.shape-options{width:150px}.shape-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.shape-grid .shape-btn{height:38px;border:1px solid transparent;background:transparent;border-radius:8px;cursor:pointer;display:grid;place-items:center;color:var(--ink);padding:0}.shape-grid .shape-btn:hover{background:var(--hover)}.shape-grid .shape-btn.sel{background:var(--hover-2);border-color:var(--panel-border)}.shape-grid .shape-btn svg{width:22px;height:22px}.ratio-pop{grid-template-columns:repeat(5,auto)}.ratio-pop .ratio-orig{grid-column:1 / -1}.ratio-pop .ratio-btn{height:28px;padding:0 9px;border:1px solid var(--panel-border);border-radius:7px;background:var(--panel);cursor:pointer;font-size:12px;font-weight:500;color:var(--ink)}.ratio-pop .ratio-btn:hover{background:var(--bg)}.settings-btn{height:28px;padding:0 12px;border:1px solid var(--panel-border);border-radius:7px;background:var(--panel);cursor:pointer;font-size:12.5px;color:var(--danger);font-weight:500}.settings-btn:hover{background:var(--danger-soft);border-color:var(--danger-border)}#set-folder-refresh{color:var(--ink-soft);white-space:nowrap;flex-shrink:0}#set-folder-refresh:hover{background:var(--panel-2);border-color:var(--panel-border);color:var(--ink)}.mn-dialog-overlay{position:fixed;inset:0;z-index:220;background:#14141247;display:grid;place-items:center}.mn-dialog{width:360px;max-width:calc(100vw - 40px);background:var(--panel);border-radius:14px;box-shadow:0 18px 50px #00000038;padding:18px;box-sizing:border-box}.mn-dialog .mnd-title{font-size:15px;font-weight:600;color:var(--ink)}.mn-dialog .mnd-msg{font-size:13px;color:var(--ink-soft);margin-top:7px;line-height:1.45}.mn-dialog .mnd-input{width:100%;box-sizing:border-box;height:36px;margin-top:12px;border:1px solid var(--panel-border);border-radius:8px;padding:0 11px;font-size:14px;font-family:inherit;color:var(--ink);outline:none}.mn-dialog .mnd-input:focus{border-color:var(--ink-strong)}.mn-dialog .mnd-actions{display:flex;align-items:center;gap:8px;margin-top:14px}.mn-dialog .mnd-spacer{flex:1}.mn-dialog .mnd-btn{height:34px;padding:0 14px;border-radius:8px;border:1px solid var(--panel-border);background:var(--panel);cursor:pointer;font-size:13px;color:var(--ink);font-weight:500}.mn-dialog .mnd-btn:hover{background:var(--panel-2)}.mn-dialog .mnd-btn.primary{background:var(--ink-strong);color:var(--knob);border-color:var(--ink-strong)}.mn-dialog .mnd-btn.primary:hover{filter:brightness(1.08)}.mn-dialog .mnd-btn.primary.danger{background:var(--danger);border-color:var(--danger)}.mn-dialog .mnd-btn.mnd-extra{color:var(--danger);border-color:var(--danger-border)}.mn-dialog .mnd-btn.mnd-extra:hover{background:var(--danger-soft)}.breadcrumbs .ws-crumb{display:flex;align-items:center;gap:7px;font-weight:600;padding:4px 8px;flex:none}.breadcrumbs .ws-crumb .ws-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs .ws-dot,.ws-menu .ws-dot,.set-ws-row .ws-dot{width:9px;height:9px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px #0000001a}.breadcrumbs .ws-crumb .ws-chevron{display:grid;place-items:center;color:var(--ink-soft);opacity:.75}.breadcrumbs .ws-crumb .ws-chevron svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.breadcrumbs .ws-divider{width:1px;height:16px;background:var(--panel-border);margin:0 6px;flex:none}.ws-menu{position:fixed;z-index:60;min-width:232px;max-width:300px;background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-lg);padding:5px}.ws-menu .ws-row{display:flex;align-items:center;gap:10px;padding:8px 9px;border-radius:8px;cursor:pointer}.ws-menu .ws-row:hover{background:var(--hover)}.ws-menu .ws-dot{width:10px;height:10px}.ws-menu .ws-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ws-menu .ws-row-name{font-size:13.5px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-menu .ws-row-sub{font-size:11px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-menu .ws-check{display:grid;place-items:center;color:var(--ink);flex:none}.ws-menu .ws-check svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.ws-menu .ws-row-edit{display:none;place-items:center;color:var(--ink-soft);padding:4px;border-radius:6px;flex:none;cursor:pointer}.ws-menu .ws-row:hover .ws-row-edit{display:grid}.ws-menu .ws-row-edit:hover{background:var(--hover-2);color:var(--ink)}.ws-menu .ws-row-edit svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ws-menu .ws-sep{height:1px;background:var(--panel-border);margin:5px 4px}.ws-menu .ws-new{display:flex;align-items:center;gap:9px;width:100%;padding:8px 9px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;color:var(--ink-soft);text-align:left}.ws-menu .ws-new:hover{background:var(--hover);color:var(--ink)}.ws-menu .ws-new svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;flex:none}@media(hover:none){.ws-menu .ws-row-edit{display:grid}}.set-ws-list{display:flex;flex-direction:column;gap:2px}.set-ws-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px}.set-ws-row:hover{background:var(--hover)}.set-ws-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.set-ws-name{font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-ws-sub{font-size:11px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-ws-badge{font-size:10.5px;font-weight:600;color:var(--ink-soft);background:var(--hover);padding:2px 8px;border-radius:99px;flex:none}.set-ws-del{border:none;background:transparent;cursor:pointer;color:var(--ink-soft);padding:5px;border-radius:7px;display:grid;place-items:center;flex:none}.set-ws-del:hover{background:var(--danger-soft);color:var(--danger)}.set-ws-del svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ws-label{font-size:11.5px;font-weight:500;color:var(--ink-soft);margin-top:14px}.ws-swatches{display:flex;gap:9px;margin-top:8px}.ws-swatch{width:22px;height:22px;border-radius:50%;cursor:pointer;border:1.5px solid var(--soft-border);padding:0;flex:none}.ws-swatch:hover{transform:scale(1.1)}.ws-swatch.sel{outline:2px solid var(--ink-strong);outline-offset:2px}#zoom-controls{position:absolute;right:14px;bottom:14px;z-index:25;display:flex;align-items:center;gap:2px;background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;box-shadow:var(--shadow);padding:3px}#zoom-controls button{border:none;background:transparent;cursor:pointer;height:30px;border-radius:7px;color:var(--ink);display:grid;place-items:center;font-size:18px;min-width:32px}#zoom-controls #zoom-reset{font-size:12px;font-weight:500;min-width:48px;color:var(--ink-soft)}#zoom-controls button:hover{background:var(--hover)}#zoom-controls svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.doc-modal{position:fixed;inset:0;z-index:80;background:#28282659;display:flex;align-items:stretch;justify-content:center;padding:24px;opacity:0;transition:opacity .22s ease}.doc-modal .doc-window{opacity:0;transform:translateY(16px) scale(.985);transition:transform .28s cubic-bezier(.32,.72,0,1),opacity .22s ease}.doc-modal.open{opacity:1}.doc-modal.open .doc-window{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.doc-modal,.doc-modal .doc-window{transition:none}}.doc-modal.hidden{display:none}.doc-window{background:var(--panel);border-radius:12px;box-shadow:0 20px 60px #0000004d;width:920px;max-width:100%;display:flex;flex-direction:column;overflow:hidden}.doc-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--panel-border)}.doc-title{flex:1;border:none;outline:none;background:transparent;-webkit-appearance:none;appearance:none;font-size:18px;font-weight:500;color:var(--ink);font-family:inherit}.doc-head-actions{display:flex;align-items:center;gap:6px}.doc-head-actions button{height:32px;padding:0 12px;border:1px solid var(--panel-border);background:var(--panel);border-radius:8px;cursor:pointer;font-size:13px;color:var(--ink)}.doc-head-actions button:hover{background:var(--panel-2)}.doc-head-actions button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block;margin:0 auto}#doc-print{padding:0 9px}#doc-close{border:none;font-size:16px;color:var(--ink-soft);padding:0 10px}.doc-toolbar{display:flex;align-items:center;gap:3px;flex-wrap:wrap;padding:7px 14px;border-bottom:1px solid var(--panel-border);background:var(--panel-2)}.doc-toolbar button{min-width:30px;height:30px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--ink);font-size:14px;padding:0 7px}.doc-toolbar button:hover{background:var(--hover)}.doc-toolbar button.on{background:var(--hover-2);color:var(--ink-strong)}.doc-toolbar button.b{font-weight:500}.doc-toolbar button.i{font-style:italic}.doc-toolbar button.u{text-decoration:underline}.doc-toolbar button.s{text-decoration:line-through}.doc-toolbar button.disabled,.doc-toolbar button:disabled{opacity:.35;cursor:default}.doc-toolbar button.disabled:hover,.doc-toolbar button:disabled:hover{background:transparent}.doc-toolbar select{height:30px;border:1px solid var(--panel-border);border-radius:6px;background:var(--panel);font-size:13px;color:var(--ink);padding:0 6px;cursor:pointer;font-family:inherit}.doc-sep{width:1px;height:20px;background:var(--panel-border);margin:0 4px}.doc-color{display:inline-flex;align-items:center;height:30px}.doc-color{position:relative;width:30px;height:30px;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.doc-color:hover{background:var(--hover)}.doc-color .dc-letter{font-size:14px;font-weight:600;color:var(--ink);line-height:1}.doc-color .dc-bar{width:16px;height:3.5px;border-radius:1px;background:var(--accent-ui)}.doc-color input[type=color]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:none;padding:0;-webkit-appearance:none;appearance:none}.doc-toolbar button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block;margin:0 auto}.border-pop{display:flex;flex-direction:column;gap:8px;min-width:170px}.border-pop .bp-swatches{display:flex;flex-wrap:wrap;gap:6px}.border-pop .bp-label{font-size:11.5px;color:var(--ink-soft);font-weight:500}.doc-wordcount{margin-left:auto;font-size:12px;color:var(--ink-soft)}.doc-body{flex:1;overflow-y:auto;padding:28px 40px;font-size:16px;line-height:1.6;color:var(--ink);outline:none;min-height:300px}.doc-body:focus{outline:none}.doc-body h1{font-size:1.8em;margin:.4em 0}.doc-body h2{font-size:1.45em;margin:.4em 0}.doc-body h3{font-size:1.2em;margin:.4em 0}.doc-body ul,.doc-body ol{padding-left:1.5em;list-style:none}.doc-body li{position:relative}.doc-body ul>li:before{content:"•";position:absolute;left:-1.5em}.doc-body ol{counter-reset:mndoc}.doc-body ol>li{counter-increment:mndoc}.doc-body ol>li:before{content:counter(mndoc) ".";position:absolute;left:-1.5em}.doc-body blockquote{border-left:3px solid var(--panel-border);margin:.5em 0;padding-left:12px;color:var(--ink-soft)}.doc-body a{color:var(--doc-link);text-decoration:none;cursor:pointer}.doc-body hr{border:none;border-top:1px solid var(--panel-border);margin:1em 0;height:0}.settings-backdrop{position:fixed;inset:0;z-index:54;background:#18181638;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:vos-fade-in .18s ease-out}.settings-backdrop.hidden{display:none}@keyframes vos-fade-in{0%{opacity:0}to{opacity:1}}.settings-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:55;width:600px;max-width:calc(100vw - 48px);height:500px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;box-shadow:0 24px 80px #0000002e,0 2px 8px #0000000f;padding:18px 0 18px 22px;font-size:13px;color:var(--ink)}.settings-body{display:flex;gap:20px;min-height:0;flex:1}.settings-nav{flex:0 0 168px;display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--panel-border);padding-right:14px}.settings-tab-btn{text-align:left;border:none;background:transparent;cursor:pointer;font:inherit;color:var(--ink-soft);padding:8px 10px;border-radius:8px;font-size:13px;white-space:nowrap}.settings-tab-btn:hover{background:var(--hover);color:var(--ink)}.settings-tab-btn.active{background:var(--hover-2);color:var(--ink);font-weight:600}.settings-nav-spacer{flex:1;min-height:12px}.settings-foot{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.settings-foot-btn{color:var(--ink-soft);text-decoration:none;font-size:11.5px;padding:3px 0;white-space:nowrap}.settings-foot-btn:hover{color:var(--ink);text-decoration:underline}button.settings-foot-btn{border:none;background:transparent;font-family:inherit;cursor:pointer;text-align:left}.settings-content{flex:1;min-width:0;overflow-y:scroll;overflow-x:hidden;padding:2px 18px 2px 6px}.settings-tab[hidden]{display:none}.settings-subhead{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ink)}.settings-hint{margin:0 0 14px;font-size:12px;line-height:1.5;color:var(--ink-soft)}.folder-controls{display:flex;gap:8px;align-items:center}.folder-path{flex:1 1 auto;min-width:0;height:34px;border:1px solid var(--panel-border);border-radius:8px;padding:0 10px;font-size:12.5px;font-family:inherit;color:var(--ink-soft);background:var(--panel-2);outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-btn.wide{flex:1;justify-content:center}.backup-row{margin-top:18px}#set-folder-action{height:34px;flex:0 0 auto;color:var(--ink-soft);white-space:nowrap}#set-folder-action:hover{background:var(--panel-2);border-color:var(--panel-border);color:var(--ink)}#set-folder-action.danger{color:var(--danger)}#set-folder-action.danger:hover{background:var(--danger-soft);border-color:var(--danger-border)}#set-folder-action:disabled{opacity:.5;cursor:default}.backup-row{gap:10px}.backup-row .settings-btn{display:inline-flex;align-items:center;gap:7px;height:36px;color:var(--ink-soft);background:var(--panel);border:1px solid var(--panel-border)}.backup-row .settings-btn:hover{background:var(--panel-2);border-color:var(--panel-border);color:var(--ink)}.backup-row .settings-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.set-ws-create-row{display:flex;justify-content:flex-end;margin-top:12px}.set-ws-create{border:none;background:transparent;cursor:pointer;font:inherit;font-size:12.5px;color:var(--ink-soft);padding:6px 8px;border-radius:8px}.set-ws-create:hover{background:var(--hover);color:var(--ink)}.set-ws-row.active{background:var(--hover)}.set-ws-row.switchable{cursor:pointer}.set-ws-edit{border:none;background:transparent;cursor:pointer;color:var(--ink-soft);padding:5px;border-radius:7px;display:grid;place-items:center;flex:none}.set-ws-edit:hover{background:var(--hover-2);color:var(--ink)}.set-ws-edit svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.set-versions-list{display:flex;flex-direction:column;gap:8px}.set-version-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--panel-border);background:var(--panel-2);border-radius:9px;padding:11px 13px;cursor:pointer;font:inherit;font-size:13px;color:var(--ink)}.set-version-row:hover{background:var(--panel);border-color:var(--panel-border)}.set-version-row svg{width:15px;height:15px;fill:none;stroke:var(--ink-soft);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.settings-panel:not(.hidden):not(.as-mobile-page){animation:vos-settings-in .18s cubic-bezier(.2,.7,.3,1)}@keyframes vos-settings-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.settings-panel.hidden{display:none}.settings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-right:22px}.settings-head h3{margin:0;font-size:15px;font-weight:600;color:var(--ink)}.settings-close{border:none;background:transparent;cursor:pointer;color:var(--ink-soft);font-size:14px;padding:4px 9px;border-radius:7px}.settings-close:hover{background:var(--hover);color:var(--ink)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-tab[data-tab=board] .settings-row+.settings-row{margin-top:14px}.settings-row.col{flex-direction:column;align-items:stretch;gap:9px}.settings-row.col>span{color:var(--ink-soft);font-size:12px}.settings-sep{height:1px;background:var(--panel-border);margin:13px 0}.bg-controls{display:flex;align-items:center;gap:8px}.bg-controls input[type=color]{width:38px;height:32px;border:1px solid var(--panel-border);border-radius:7px;background:var(--panel);padding:2px;cursor:pointer}.bg-controls input[type=text]{flex:1 1 auto;min-width:0;height:32px;border:1px solid var(--panel-border);border-radius:7px;padding:0 9px;font-size:13px;font-family:inherit;color:var(--ink);outline:none}.bg-controls input[type=text]:focus{border-color:var(--ink-strong)}.bg-controls button{flex:0 0 auto;height:32px;border:1px solid var(--panel-border);background:var(--panel);border-radius:7px;cursor:pointer;font-size:12px;color:var(--ink-soft);padding:0 9px;white-space:nowrap}.bg-controls button:hover{background:var(--panel-2);color:var(--ink)}.bg-presets{display:flex;gap:7px;flex-wrap:wrap}.bg-presets .bgsw{width:26px;height:26px;border-radius:7px;border:1.5px solid var(--soft-border);cursor:pointer}.bg-presets .bgsw:hover{transform:scale(1.08)}.bg-presets .bgsw.sel{outline:2px solid var(--ink-strong);outline-offset:1px}.range{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:#e0ded8;border-radius:3px;outline:none;cursor:pointer}.range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--ink-strong);cursor:pointer;border:2px solid var(--panel);box-shadow:0 1px 3px #00000040}.range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--ink-strong);cursor:pointer;border:2px solid var(--panel)}.color-pop.cap-pop{display:flex;gap:6px}.cap-pop .cap-opt{width:36px;height:30px;display:grid;place-items:center;border:1px solid var(--panel-border);border-radius:8px;background:transparent;cursor:pointer;color:var(--ink);padding:0}.cap-pop .cap-opt:hover{background:var(--hover)}.cap-pop .cap-opt.sel{border-color:var(--ink-strong);background:var(--hover-2)}.cap-pop .cap-opt svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.link-editor{position:absolute;top:calc(var(--topbar-h) + 14px);left:50%;transform:translate(-50%);z-index:60;width:380px;max-width:calc(100vw - 40px);background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-lg);padding:16px;display:flex;flex-direction:column;gap:6px}.link-editor label{font-size:11px;color:var(--ink-soft);font-weight:500;margin-top:6px}.link-editor input{height:36px;border:1px solid var(--panel-border);border-radius:8px;padding:0 11px;font-size:14px;font-family:inherit;color:var(--ink);outline:none}.link-editor input:focus{border-color:var(--ink-strong)}.link-editor .le-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.link-editor .le-actions button{height:34px;padding:0 14px;border-radius:8px;border:1px solid var(--panel-border);background:var(--panel);cursor:pointer;font-size:13px;color:var(--ink);font-weight:500}.link-editor .le-actions button:hover{background:var(--panel-2)}.link-editor .le-actions button.primary{background:var(--ink-strong);color:var(--knob);border-color:var(--ink-strong)}.link-editor .le-actions button.primary:hover{filter:brightness(1.05)}#rich-editor{position:absolute;display:none;z-index:20;outline:none;overflow:hidden;background:transparent;color:var(--ink);font-family:inherit;line-height:1.35;word-break:break-word;white-space:pre-wrap}#rich-editor ul,#rich-editor ol{margin:0;padding-left:1.4em;list-style:none}#rich-editor li{margin:0;position:relative}#rich-editor ul>li:before{content:"•";position:absolute;left:-1.4em}#rich-editor ol{counter-reset:mnol}#rich-editor ol>li{counter-increment:mnol}#rich-editor ol>li:before{content:counter(mnol) ".";position:absolute;left:-1.4em}#rich-editor p,#rich-editor div{margin:0}.fmt-bar{position:absolute;z-index:45;display:flex;gap:2px;padding:4px;background:var(--panel);border:1px solid var(--panel-border);border-radius:9px;box-shadow:var(--shadow-lg)}.fmt-bar.hidden{display:none}.fmt-bar button{width:30px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--ink);font-size:14px;display:grid;place-items:center}.fmt-bar button:hover{background:var(--hover)}.fmt-bar button.b{font-weight:500}.fmt-bar button.i{font-style:italic}.fmt-bar button.u{text-decoration:underline}.fmt-bar button.on{background:var(--hover-2);color:var(--ink-strong)}.fmt-bar button.disabled,.fmt-bar button:disabled{opacity:.35;cursor:default}.fmt-bar button.disabled:hover,.fmt-bar button:disabled:hover{background:transparent}.fmt-bar svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.fmt-sep{width:1px;height:18px;background:var(--panel-border);margin:0 3px;align-self:center}.fmt-swatch{width:16px;height:16px;border-radius:50%;display:inline-block;border:1.5px solid var(--soft-border)}.switch{position:relative;display:inline-block;width:40px;height:23px;flex:0 0 auto}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;inset:0;background:var(--switch-track);border-radius:23px;transition:.18s;cursor:pointer}.switch .slider:before{content:"";position:absolute;height:17px;width:17px;left:3px;top:3px;background:var(--knob);border-radius:50%;transition:.18s;box-shadow:0 1px 2px #0003}.switch input:checked+.slider{background:var(--accent-ui)}.switch input:checked+.slider:before{transform:translate(17px)}.context-menu{position:absolute;z-index:60;min-width:190px;background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;box-shadow:var(--shadow-lg);padding:5px;font-size:13px}.context-menu.hidden{display:none}.context-menu .mi{padding:7px 10px;border-radius:7px;cursor:pointer;display:flex;align-items:center;gap:10px;color:var(--ink)}.context-menu .mi:hover{background:var(--hover-2);color:var(--ink)}.context-menu .mi.danger:hover{background:var(--danger-soft-2);color:var(--danger-strong)}.context-menu .mi .key{margin-left:auto;color:var(--ink-soft);font-size:11px}.context-menu .sep{height:1px;background:var(--panel-border);margin:5px 4px}.minimap{position:absolute;right:14px;bottom:60px;z-index:24;width:200px;height:140px;background:var(--glass);border:1px solid var(--panel-border);border-radius:10px;box-shadow:var(--shadow);cursor:pointer}.minimap.hidden{display:none}.search-panel{position:absolute;top:calc(var(--topbar-h) + 10px);left:50%;transform:translate(-50%);z-index:50;width:520px;max-width:calc(100vw - 40px);background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden}.search-panel.hidden{display:none}.search-panel input{width:100%;border:none;outline:none;padding:14px 16px;font-size:15px;color:var(--ink);border-bottom:1px solid var(--panel-border)}.search-results{max-height:360px;overflow-y:auto}.search-results .sr{padding:10px 16px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.search-results .sr:hover{background:var(--hover-2)}.search-results .sr .t{font-size:13.5px;color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-results .sr .p{font-size:11px;color:var(--ink-soft)}.search-results .empty{padding:18px 16px;color:var(--ink-soft);font-size:13px;text-align:center}.toast{position:absolute;left:50%;bottom:64px;transform:translate(-50%);z-index:70;background:#2c2c2a;color:#fff;padding:10px 16px;border-radius:9px;font-size:13px;box-shadow:var(--shadow-lg);opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.toast.show{opacity:1}.toast.hidden{display:none}.hidden{display:none!important}html,body{overscroll-behavior:none}#canvas{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#topbar{padding-top:env(safe-area-inset-top,0px)}#toolbar{padding-left:env(safe-area-inset-left,0px)}#vos-busy{position:fixed;inset:0;z-index:10000;background:#faf9f6b8;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px)}.vos-busy-card{background:var(--panel);border:1px solid var(--panel-border,#e2dfd8);border-radius:14px;padding:22px 28px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 10px 40px #0000001f;max-width:80vw}.vos-busy-text{font-size:14px;color:var(--ink);text-align:center}.vos-spinner{width:28px;height:28px;border:3px solid var(--hairline);border-top-color:#4a90d9;border-radius:50%;animation:vos-spin .8s linear infinite}@keyframes vos-spin{to{transform:rotate(360deg)}}#vos-dialog{position:fixed;inset:0;z-index:10001;background:#1e1e1c73;display:flex;align-items:center;justify-content:center;padding:20px}.vos-dialog-card{background:var(--panel);border-radius:14px;padding:22px;max-width:440px;width:100%;display:flex;flex-direction:column;gap:12px;box-shadow:0 14px 50px #00000040}.vos-dialog-card h3{margin:0;font-size:17px}.vos-dialog-card p{margin:0;font-size:13.5px;color:var(--ink-soft)}.vos-btn{display:block;width:100%;padding:12px 14px;border-radius:10px;border:1px solid #d8d5cd;background:#f6f5f1;font-size:14.5px;cursor:pointer;text-align:center}.vos-btn-primary{background:var(--ok-deep);border-color:var(--ok-deep);color:#fff;font-weight:500}.vos-btn-danger{background:var(--panel);border-color:var(--danger);color:var(--danger)}.vos-btn-danger:not([disabled]):hover{background:var(--danger);color:#fff}.vos-btn[disabled]{opacity:.45;cursor:not-allowed}.vos-danger-zone{border:1px dashed #d8b3ad;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px}.vos-danger-zone label{font-size:13px;color:var(--danger);display:flex;gap:8px;align-items:flex-start;cursor:pointer}.vos-small{font-size:12px!important;color:var(--ink-soft)!important}.vos-busy-hint{font-size:12px;color:var(--ink-faint);text-align:center;line-height:1.5}#img-viewer{position:fixed;inset:0;z-index:500;background:#121211ed;overflow:hidden;touch-action:none;cursor:grab}#img-viewer:active{cursor:grabbing}#img-viewer.hidden{display:none}#img-viewer img{position:absolute;left:0;top:0;transform-origin:0 0;max-width:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none}#img-viewer .iv-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:16px;width:40px;height:40px;border-radius:20px;border:none;background:#ffffff1f;color:#fff;font-size:24px;line-height:1;cursor:pointer;z-index:2}#img-viewer .iv-close:hover{background:#ffffff3d}#img-viewer .iv-dl{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:64px;width:40px;height:40px;border-radius:20px;border:none;background:#ffffff1f;color:#fff;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center}#img-viewer .iv-dl:hover{background:#ffffff3d}#img-viewer .iv-caption{position:absolute;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 14px);color:#ffffffc7;font-size:13px;max-width:72%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}#crop-editor{position:fixed;inset:0;z-index:500;background:#121211ed;touch-action:none;overflow:hidden}#crop-editor.hidden{display:none}#crop-editor img{position:absolute;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none}#crop-editor .ce-title{position:absolute;top:calc(env(safe-area-inset-top,0px) + 18px);left:0;right:0;text-align:center;color:#ffffffd9;font-size:14px;font-weight:600;pointer-events:none}#crop-editor .ce-box{position:absolute;border:1.5px solid rgba(255,255,255,.95);box-shadow:0 0 0 9999px #0000008c;cursor:move}#crop-editor .ce-grid{position:absolute;background:#ffffff47;pointer-events:none}#crop-editor .ce-gv1{left:33.333%;top:0;bottom:0;width:1px}#crop-editor .ce-gv2{left:66.667%;top:0;bottom:0;width:1px}#crop-editor .ce-gh1{top:33.333%;left:0;right:0;height:1px}#crop-editor .ce-gh2{top:66.667%;left:0;right:0;height:1px}#crop-editor .ce-h{position:absolute;width:28px;height:28px;display:flex;align-items:center;justify-content:center}#crop-editor .ce-h:after{content:"";width:12px;height:12px;background:#fff;border-radius:3px;box-shadow:0 1px 3px #0006}#crop-editor .ce-n:after,#crop-editor .ce-s:after{width:26px;height:6px}#crop-editor .ce-e:after,#crop-editor .ce-w:after{width:6px;height:26px}#crop-editor .ce-nw{left:-14px;top:-14px;cursor:nwse-resize}#crop-editor .ce-n{left:50%;top:-14px;margin-left:-14px;cursor:ns-resize}#crop-editor .ce-ne{right:-14px;top:-14px;cursor:nesw-resize}#crop-editor .ce-e{right:-14px;top:50%;margin-top:-14px;cursor:ew-resize}#crop-editor .ce-se{right:-14px;bottom:-14px;cursor:nwse-resize}#crop-editor .ce-s{left:50%;bottom:-14px;margin-left:-14px;cursor:ns-resize}#crop-editor .ce-sw{left:-14px;bottom:-14px;cursor:nesw-resize}#crop-editor .ce-w{left:-14px;top:50%;margin-top:-14px;cursor:ew-resize}#crop-editor .ce-foot{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);display:flex;justify-content:center;gap:10px}#crop-editor .ce-btn{padding:9px 18px;border-radius:9px;border:none;background:#ffffff24;color:#fff;font-size:13.5px;font-weight:600;cursor:pointer;font-family:var(--font)}#crop-editor .ce-btn:hover{background:#ffffff3d}#crop-editor .ce-btn.ce-ok{background:var(--accent)}#crop-editor .ce-btn.ce-ok:hover{filter:brightness(1.08)}#vid-viewer{position:fixed;inset:0;z-index:500;background:#121211f2;display:flex;align-items:center;justify-content:center}#vid-viewer.hidden{display:none}#vid-viewer video{max-width:92vw;max-height:86vh;width:auto;height:auto;outline:none;background:#000;border-radius:6px;box-shadow:0 20px 60px #00000080}#vid-viewer .iv-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:16px;width:40px;height:40px;border-radius:20px;border:none;background:#ffffff1f;color:#fff;font-size:24px;line-height:1;cursor:pointer;z-index:2}#vid-viewer .iv-close:hover{background:#ffffff3d}#vid-viewer .iv-dl{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:64px;width:40px;height:40px;border-radius:20px;border:none;background:#ffffff1f;color:#fff;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center}#vid-viewer .iv-dl:hover{background:#ffffff3d}#vid-viewer .iv-caption{position:absolute;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 14px);color:#ffffffc7;font-size:13px;max-width:72%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}#perf-hud{position:fixed;left:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:90;background:#141412d1;color:#9fe89f;font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;padding:6px 9px;border-radius:8px;white-space:pre;pointer-events:none}#set-input-mode,#set-lang,#set-theme{border:1px solid var(--panel-border,#e2dfd8);border-radius:8px;padding:5px 8px;background:var(--panel);font-size:13px}.vos-mac #topbar{padding-top:0}.vos-mac #toolbar{padding-left:0}.vos-mac #topbar,.vos-mac #toolbar{background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none}.vos-multitab-warn{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:10002;background:var(--danger);color:#fff;padding:10px 16px;border-radius:10px;font-size:13.5px;max-width:520px;box-shadow:0 8px 30px #00000040;display:flex;gap:12px;align-items:center}.vos-multitab-warn button{background:var(--panel);color:var(--danger);border:none;border-radius:7px;padding:5px 10px;font-size:12.5px;cursor:pointer;flex-shrink:0}.vos-health-banner{position:fixed;top:calc(var(--topbar-h) + env(safe-area-inset-top,0px) + 10px);left:50%;right:auto;transform:translate(-50%);z-index:10003;width:max-content;max-width:min(92vw,560px);background:#b9770e;color:#fff;padding:8px 16px;font-size:13px;line-height:1.4;display:flex;gap:9px;align-items:center;border-radius:18px;box-shadow:0 4px 18px #00000038}.vos-health-banner.clickable{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.vos-health-banner.clickable:hover{background:#a2680c}.vos-health-icon{flex-shrink:0}.vos-health-text{min-width:0}.vos-health-close{margin-left:8px;background:#fff3;color:#fff;border:none;border-radius:6px;width:24px;height:24px;cursor:pointer;flex-shrink:0;font-size:12px}.vos-health-close:hover{background:#ffffff59}.vos-health-banner.info{width:max-content;max-width:min(92vw,460px);background:var(--glass-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ink);border:1px solid var(--panel-border);border-radius:999px;padding:7px 14px;font-size:12.5px;box-shadow:var(--shadow);gap:8px}.vos-health-spin svg{display:block;color:var(--ink-soft);animation:vos-hb-spin 1.1s linear infinite}@keyframes vos-hb-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.vos-health-spin svg{animation:none}}.settings-btn-group{display:flex;gap:8px}.vos-versions-card{max-width:480px}.vos-versions-list{display:flex;flex-direction:column;gap:6px;max-height:48vh;overflow:auto;margin:4px 0}.vos-version-row{text-align:left;font-size:13.5px;padding:10px 12px}.vos-version-row:hover{background:#eef0ec}#btn-menu,.mobile-history,.fab-add,.doc-back,.doc-wordcount-head,.doc-kbd-dismiss,.doc-confirm,.mobile-sheet,.mobile-menu,.mobile-only{display:none}.iconbtn-kebab svg{fill:currentColor;stroke:none}@media(max-width:834px){:root{--topbar-h:52px}#topbar{top:calc(env(safe-area-inset-top,0px) + 8px);left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));height:var(--topbar-h);padding:0 6px 0 14px;gap:2px;border:1px solid var(--panel-border);border-radius:16px;box-shadow:var(--shadow)}.breadcrumbs{font-size:15px}.breadcrumbs .crumb{max-width:46vw}.breadcrumbs .ws-crumb .ws-name{display:none}.breadcrumbs .ws-crumb{gap:5px;padding:4px 7px}#btn-undo,#btn-redo,#btn-storage,#btn-settings,#btn-export-png,#btn-export,#btn-import,#save-indicator{display:none}#btn-search,#btn-menu{display:grid}.topbar-actions{gap:2px}#toolbar,#zoom-controls{display:none}.draw-options:not(.hidden),.shape-options:not(.hidden){left:50%;right:auto;top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 92px);transform:translate(-50%)}.mobile-history{display:flex;align-items:center;gap:2px;position:fixed;z-index:28;left:calc(env(safe-area-inset-left,0px) + 14px);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);background:var(--glass-2);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border:1px solid var(--panel-border);border-radius:14px;box-shadow:var(--shadow);padding:4px}.mh-btn{width:40px;height:40px;border:none;background:transparent;border-radius:10px;display:grid;place-items:center;color:var(--ink-soft);cursor:pointer;-webkit-tap-highlight-color:transparent}.mh-btn:active{background:var(--hover-2);color:var(--ink)}.mh-btn:disabled{opacity:.32}.mh-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mh-sep{width:1px;height:20px;background:var(--panel-border)}.fab-add{display:grid;place-items:center;position:fixed;z-index:28;right:calc(env(safe-area-inset-right,0px) + 16px);bottom:calc(env(safe-area-inset-bottom,0px) + 16px);width:56px;height:56px;border:none;border-radius:18px;background:var(--panel);color:var(--accent-ui);cursor:pointer;box-shadow:0 6px 20px #0000002e,0 2px 6px #0000001f;-webkit-tap-highlight-color:transparent;transition:transform .18s ease,box-shadow .18s ease}.fab-add svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.fab-add:active{transform:scale(.93)}.fab-add.sheet-open{transform:rotate(45deg)}.mobile-sheet{display:block;position:fixed;inset:0;z-index:92}.mobile-sheet.hidden{display:none}.ms-backdrop{position:absolute;inset:0;background:#14141252;opacity:0;transition:opacity .3s ease}.ms-panel{position:absolute;left:0;right:0;bottom:0;background:var(--panel);border-radius:22px 22px 0 0;box-shadow:0 -10px 40px #0000002e;padding:8px 12px calc(env(safe-area-inset-bottom,0px) + 18px);transform:translateY(100%);transition:transform .36s cubic-bezier(.32,.72,0,1);will-change:transform}.mobile-sheet.open .ms-backdrop{opacity:1}.mobile-sheet.open .ms-panel{transform:translateY(0)}.ms-grabber{width:38px;height:4px;border-radius:3px;background:#dcdad3;margin:6px auto 12px}.ms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px 2px}.ms-item{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 4px 12px;border:none;background:transparent;border-radius:14px;color:var(--ink-soft);cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:background .12s ease}.ms-item:active{background:var(--hover)}.ms-item svg{width:26px;height:26px;fill:none;stroke:var(--ink-strong);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ms-item span{font-size:12px;font-weight:500;color:var(--ink)}.ms-grid-shapes{max-height:46vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.ms-back{grid-column:1 / -1;display:flex;align-items:center;gap:4px;border:none;background:transparent;cursor:pointer;font-family:inherit;color:var(--accent-ui);font-size:15px;font-weight:500;padding:6px 4px 10px;-webkit-tap-highlight-color:transparent}.ms-back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.search-panel{top:calc(env(safe-area-inset-top,0px) + var(--topbar-h) + 18px);width:min(520px,calc(100vw - 20px))}.vos-health-banner{top:calc(env(safe-area-inset-top,0px) + var(--topbar-h) + 22px)}.mobile-menu{display:block;position:fixed;inset:0;z-index:95}.mobile-menu.hidden{display:none}.mm-backdrop{position:absolute;inset:0;background:#14141252;opacity:0;transition:opacity .3s ease}.mm-stack{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--panel);overflow:hidden;transform:translate(100%);transition:transform .36s cubic-bezier(.32,.72,0,1);will-change:transform;box-shadow:-12px 0 40px #00000029}.mobile-menu.open .mm-backdrop{opacity:1}.mobile-menu.open .mm-stack{transform:translate(0)}.mm-page{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--panel);transition:transform .34s cubic-bezier(.32,.72,0,1)}.mm-sub{transform:translate(100%)}.mobile-menu.show-sub .mm-root{transform:translate(-26%)}.mobile-menu.show-sub .mm-sub{transform:translate(0)}.mm-head{position:relative;display:flex;align-items:center;justify-content:center;height:52px;padding-top:env(safe-area-inset-top,0px);box-sizing:content-box;flex:0 0 auto;background:var(--glass);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--panel-border)}.mm-title{font-size:16px;font-weight:600;color:var(--ink);margin:0;max-width:64%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-close,.mm-back{position:absolute;left:8px;top:env(safe-area-inset-top,0px);height:52px;display:flex;align-items:center;gap:3px;border:none;background:transparent;color:var(--accent-ui);cursor:pointer;font-size:16px;font-family:inherit;padding:0 8px;-webkit-tap-highlight-color:transparent}.mm-close{color:var(--ink-soft)}.mm-back span{display:none}.mm-close svg,.mm-back svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mm-back svg{width:26px;height:26px}.mm-back:active,.mm-close:active{opacity:.55}.mm-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 24px calc(14px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column}.mm-list{flex:0 0 auto}.mm-row{display:flex;align-items:center;gap:16px;width:100%;padding:0 2px;min-height:56px;border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left;border-bottom:1px solid var(--panel-border);-webkit-tap-highlight-color:transparent}.mm-row:active{background:var(--hover)}.mm-ico{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;color:var(--ink-soft)}.mm-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mm-label{flex:1;font-size:16px;color:var(--ink)}.mm-rowsub{font-size:13px;color:var(--ink-soft);max-width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-chevron{flex:0 0 auto;color:var(--ink-faint);display:grid;place-items:center}.mm-chevron svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.mm-foot{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:32px 2px 10px}.mm-foot-link{border:none;background:transparent;padding:0;cursor:pointer;font-family:inherit;font-size:15px;color:#c9c6bf;text-align:left;-webkit-tap-highlight-color:transparent}.mm-foot-link:active{opacity:.6}.mm-version{font-size:15px;color:#d8d5ce}#settings-panel.as-mobile-page{position:static;width:auto;max-width:none;max-height:none;overflow:visible;transform:none;animation:none;border:none;border-radius:0;box-shadow:none;background:transparent;padding:0;display:block}#settings-panel.as-mobile-page .settings-head{display:none}#settings-panel.as-mobile-page .settings-body{display:block}#settings-panel.as-mobile-page .settings-nav{display:none}#settings-panel.as-mobile-page .settings-content{overflow:visible;padding:0}#settings-panel.as-mobile-page .settings-tab[hidden]{display:none}#settings-panel.as-mobile-page .settings-tab{display:block;padding:8px 0 24px}#settings-panel.as-mobile-page .settings-row,#settings-panel.as-mobile-page .settings-row.col{background:transparent;border-radius:0;padding:0;margin-bottom:0;box-shadow:none}#settings-panel.as-mobile-page .settings-tab[data-tab=board] .settings-row+.settings-row{margin-top:18px}#settings-panel.as-mobile-page .settings-sep{display:block;margin:20px 0}.settings-sep.mobile-only{display:block}#settings-panel.as-mobile-page .settings-subhead{margin-top:8px;font-size:16px}#settings-panel.as-mobile-page .settings-hint{font-size:13px}#settings-panel.as-mobile-page .settings-row>span:first-child{font-size:15.5px}#settings-panel.as-mobile-page .settings-row.col>span:first-child{font-size:13px;color:var(--ink-soft)}#settings-panel.as-mobile-page select{height:38px;border-radius:10px;font-size:15px;padding:0 10px;max-width:60%}#settings-panel.as-mobile-page .bg-controls input[type=color]{width:46px;height:40px;border-radius:10px}#settings-panel.as-mobile-page .bg-controls input[type=text]{height:40px;border-radius:10px;font-size:15px}#settings-panel.as-mobile-page .bg-controls button{height:40px;border-radius:10px;font-size:14px;padding:0 14px}#settings-panel.as-mobile-page .bg-presets{gap:9px}#settings-panel.as-mobile-page .bg-presets .bgsw{width:34px;height:34px;border-radius:50%}#settings-panel.as-mobile-page .range{height:3px}#settings-panel.as-mobile-page .settings-tab[data-tab=folder] .settings-row.col>span:first-child{font-size:17px;font-weight:600;color:var(--ink);margin-bottom:4px}#settings-panel.as-mobile-page .folder-controls{flex-direction:column;align-items:stretch;gap:10px}#settings-panel.as-mobile-page .folder-path{height:46px;border-radius:12px;font-size:14px;background:var(--panel)}#settings-panel.as-mobile-page #set-folder-action,#settings-panel.as-mobile-page #set-folder-refresh{height:46px;border-radius:12px;font-size:15.5px}#settings-panel.as-mobile-page .backup-row{flex-direction:column;align-items:stretch;gap:10px;margin-top:0}#settings-panel.as-mobile-page .backup-row .settings-btn{flex:0 0 auto;height:48px;border-radius:12px;font-size:15.5px;justify-content:center;position:relative}#settings-panel.as-mobile-page .backup-row .settings-btn svg{width:18px;height:18px;position:absolute;left:16px}#settings-panel.as-mobile-page .set-ws-row{padding:11px 2px;gap:13px}#settings-panel.as-mobile-page .set-ws-row.active{background:transparent}#settings-panel.as-mobile-page .ws-dot{width:11px;height:11px}#settings-panel.as-mobile-page .set-ws-name{font-size:15.5px}#settings-panel.as-mobile-page .set-ws-sub{font-size:12.5px}#settings-panel.as-mobile-page .set-ws-badge{font-size:12.5px;padding:4px 12px;background:#e3e6c3;color:#7a8149}#settings-panel.as-mobile-page .set-ws-edit,#settings-panel.as-mobile-page .set-ws-del{padding:8px}#settings-panel.as-mobile-page .set-ws-edit svg,#settings-panel.as-mobile-page .set-ws-del svg{width:17px;height:17px}#settings-panel.as-mobile-page .set-ws-create{font-size:14px;padding:10px 8px}#settings-panel.as-mobile-page .set-version-row{padding:13px 14px;font-size:14px;border-radius:10px}.doc-modal{padding:0;background:var(--panel);align-items:flex-start}.doc-window{width:100%;max-width:100%;border-radius:0;box-shadow:none;height:calc(100% - var(--kb-h,0px));transition:height .18s ease,transform .28s cubic-bezier(.32,.72,0,1),opacity .22s ease}.doc-head{order:0;flex:0 0 auto;padding:6px 10px 6px 4px;padding-top:calc(env(safe-area-inset-top,0px) + 6px);gap:6px}.doc-back{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border:none;background:transparent;color:var(--accent-ui);cursor:pointer;-webkit-tap-highlight-color:transparent}.doc-back:active{opacity:.55}.doc-back svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.doc-title{font-size:17px}.doc-wordcount-head{display:inline;font-size:13px;color:var(--ink-soft);flex:0 0 auto;white-space:nowrap;padding-right:2px}.doc-head-actions{display:flex}.doc-head-actions #doc-export-md,.doc-head-actions #doc-close{display:none}#doc-print{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border:none;background:transparent;padding:0;color:var(--accent-ui);-webkit-tap-highlight-color:transparent}#doc-print:active{opacity:.55}#doc-print svg{width:22px;height:22px}body.kb-open .doc-modal #doc-print{display:none}body.kb-open .doc-modal .doc-confirm{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border:none;background:transparent;color:var(--accent-ui);cursor:pointer;-webkit-tap-highlight-color:transparent}.doc-confirm:active{opacity:.5}.doc-confirm svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.doc-body{order:1;flex:1 1 auto;padding:20px 22px;font-size:16px;min-height:0}body.kb-open .doc-modal .doc-body{padding-bottom:clamp(60px,12vh,160px)}.doc-modal .doc-toolbar{display:none}body.kb-open .doc-modal .doc-toolbar{display:flex;position:fixed;left:0;right:0;bottom:var(--kb-h,0px);z-index:5;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;gap:2px;padding:6px 8px;background:var(--panel);border-top:1px solid var(--panel-border);border-bottom:none;scrollbar-width:none}.doc-toolbar::-webkit-scrollbar{display:none}.doc-toolbar button{min-width:38px;height:38px;flex:0 0 auto}.doc-toolbar select{height:34px;flex:0 0 auto}#doc-undo,#doc-redo,#doc-wordcount,.doc-toolbar #doc-block,.doc-toolbar #doc-fontsize{display:none}.doc-toolbar .doc-mbtn{display:inline-flex;height:38px;font-size:14px;padding:0 12px}.doc-color input[type=color]{pointer-events:none}#doc-kbd-dismiss{display:grid;place-items:center;flex:0 0 auto;color:var(--ink-soft);position:sticky;right:0;margin-left:auto;background:var(--panel);box-shadow:-10px 0 8px -6px #0000000d}#doc-kbd-dismiss svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.fmt-bar.fmt-bar-mobile{position:fixed;left:0;right:0;bottom:var(--kb-h,0px);top:auto;width:100%;border:none;border-top:1px solid var(--panel-border);border-radius:0;box-shadow:0 -4px 14px #0000000f;background:var(--panel);z-index:86;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;gap:2px;padding:7px 8px;padding-bottom:calc(7px + env(safe-area-inset-bottom,0px));scrollbar-width:none;transition:bottom .18s ease}body.kb-open .fmt-bar.fmt-bar-mobile{padding-bottom:7px}.fmt-bar.fmt-bar-mobile::-webkit-scrollbar{display:none}.fmt-bar.fmt-bar-mobile button{width:38px;height:38px;flex:0 0 auto}.mobile-mode-bar{display:none;position:fixed;z-index:29;left:50%;transform:translate(-50%) translateY(8px);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);align-items:center;gap:6px;padding:4px 4px 4px 16px;background:var(--glass-2);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border:1px solid var(--panel-border);border-radius:24px;box-shadow:var(--shadow-lg);opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none}.mobile-mode-bar.show{display:flex;opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.mmode-label{font-size:14px;font-weight:500;color:var(--ink);white-space:nowrap}.mmode-exit{width:38px;height:38px;border:none;border-radius:50%;background:var(--accent-ui);color:var(--knob);display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.mmode-exit:active{opacity:.8}.mmode-exit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}}@media(max-width:834px)and (pointer:coarse){.ms-item{padding-top:16px;padding-bottom:14px}}html.vos-ipad #toolbar{display:flex}html.vos-ipad .fab-add{display:none}html.vos-ipad .draw-options:not(.hidden),html.vos-ipad .shape-options:not(.hidden){left:calc(var(--toolbar-w) + 14px);right:auto;top:calc(var(--topbar-h) + 220px);bottom:auto;transform:none}html.vos-ipad #toolbar{top:calc(50% + ((env(safe-area-inset-top,0px) + var(--topbar-h) + 8px) / 2));left:max(10px,env(safe-area-inset-left,0px))}html.vos-ipad .mobile-history{display:none}html.vos-ipad #btn-undo,html.vos-ipad #btn-redo{display:grid}html.vos-ipad #zoom-controls{display:flex;right:calc(env(safe-area-inset-right,0px) + 14px);bottom:calc(env(safe-area-inset-bottom,0px) + 14px)}#vos-tour{position:fixed;inset:0;z-index:200;pointer-events:none}#vos-tour .vt-dim{position:fixed;background:#1212106b;pointer-events:none;transition:all .22s ease}#vos-tour.vt-nodim .vt-dim{background:transparent}#vos-tour .vt-ring{position:fixed;border-radius:12px;pointer-events:none;box-shadow:0 0 0 2.5px #fff,0 0 22px #ffffff8c,0 0 0 200vmax #1212106b;transition:left .22s ease,top .22s ease,width .22s ease,height .22s ease}#vos-tour .vt-tip{position:fixed;display:flex;flex-direction:column;gap:12px;width:300px;max-width:calc(100vw - 24px);background:#2e2d2b;color:#fff;border-radius:14px;box-shadow:0 12px 40px #00000059;padding:18px 20px 15px;pointer-events:auto;transition:left .22s ease,top .22s ease}#vos-tour .vt-tip:before{content:"";position:absolute;width:12px;height:12px;background:#2e2d2b;transform:rotate(45deg);display:none}#vos-tour .vt-tip[data-arrow=left]:before{display:block;left:-5px;top:calc(50% - 6px)}#vos-tour .vt-tip[data-arrow=right]:before{display:block;right:-5px;top:calc(50% - 6px)}#vos-tour .vt-tip[data-arrow=top]:before{display:block;top:-5px;left:calc(50% - 6px)}#vos-tour .vt-tip[data-arrow=bottom]:before{display:block;bottom:-5px;left:calc(50% - 6px)}#vos-tour .vt-x{position:absolute;top:6px;right:6px;width:26px;height:26px;border:none;background:transparent;color:#fff6;font-size:13px;cursor:pointer;border-radius:7px;display:grid;place-items:center}#vos-tour .vt-x:hover{color:#fff;background:#ffffff14}#vos-tour .vt-emoji-s{font-size:22px;line-height:1;display:block;margin-bottom:6px}#vos-tour .vt-tip-title{font-size:15px;font-weight:600;padding-right:20px;margin-bottom:4px}#vos-tour .vt-tip-text{font-size:13.5px;line-height:1.5;color:#ffffffe0;padding-right:12px;white-space:pre-line}#vos-tour .vt-tip-hint{font-size:12px;line-height:1.5;color:#ffffff8c;padding-right:12px;white-space:pre-line;margin-top:2px}#vos-tour .vt-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}#vos-tour .vt-dots{display:flex;gap:4px;flex-wrap:wrap}#vos-tour .vt-dot{width:5.5px;height:5.5px;border-radius:50%;background:#ffffff2e}#vos-tour .vt-dot.past{background:#ffffff73}#vos-tour .vt-dot.on{background:#fff}#vos-tour .vt-wait{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:#ffffff9c;white-space:nowrap}#vos-tour .vt-pulse{width:8px;height:8px;border-radius:50%;background:#7dd87d;flex:none;animation:vt-pulse 1.4s ease-in-out infinite}@keyframes vt-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}#vos-tour .vt-btn{border:none;background:transparent;color:#fff9;cursor:pointer;border-radius:0;padding:4px 2px;font-size:13px;font-family:inherit;font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#ffffff4d}#vos-tour .vt-btn:hover{color:#fff;background:transparent;text-decoration-color:#ffffffb3}#vos-tour .vt-btn.vt-primary{color:#fff;text-decoration-color:#ffffffb3;white-space:nowrap}#vos-tour .vt-btn.vt-primary:hover{background:transparent;color:#fff}#vos-tour .vt-btn.vt-small{padding:2px;font-size:12.5px}#vos-tour .vt-modal-wrap{position:fixed;inset:0;display:grid;place-items:center;background:#12121080;pointer-events:auto;padding:calc(20px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px))}#vos-tour .vt-modal{position:relative;width:392px;max-width:calc(100vw - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-height:calc(100vh - 40px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto;background:#2e2d2b;color:#fff;border-radius:14px;box-shadow:0 24px 70px #00000073;padding:28px 28px 22px;display:flex;flex-direction:column;gap:14px;text-align:left;animation:vt-pop .34s cubic-bezier(.32,1.2,.44,1)}@keyframes vt-pop{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}#vos-tour .vt-art{display:flex;justify-content:flex-start;min-height:0;margin-bottom:4px}#vos-tour .vt-art.vt-art-center{justify-content:center}#vos-tour .vt-emoji{font-size:40px;line-height:1}#vos-tour .vt-title{margin:0;font-size:18px;font-weight:600}#vos-tour .vt-text{font-size:14px;line-height:1.55;color:#fffc;white-space:pre-line}#vos-tour .vt-hint{font-size:12.5px;line-height:1.5;color:#ffffff80;white-space:pre-line}#vos-tour .vt-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin-top:14px}#vos-tour .vt-actions .vt-btn{order:1}#vos-tour .vt-actions .vt-btn:not(.vt-primary){margin-right:auto;padding-left:0}#vos-tour .vt-actions .vt-btn.vt-primary{order:2}#vos-tour .vt-confetti{position:fixed;inset:0;pointer-events:none}@media(max-width:520px){#vos-tour .vt-tip{width:280px}#vos-tour .vt-modal{padding:24px 20px 18px}}.wn-backdrop{position:fixed;inset:0;z-index:56;background:#18181638;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:vos-fade-in .18s ease-out}.wn-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:57;width:430px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;box-shadow:0 24px 80px #0000002e,0 2px 8px #0000000f;padding:18px 22px 16px;font-size:13px;color:var(--ink);outline:none;animation:vos-settings-in .18s cubic-bezier(.2,.7,.3,1)}.wn-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.wn-head h3{margin:0;font-size:15px;font-weight:600;color:var(--ink)}.wn-close{border:none;background:transparent;cursor:pointer;color:var(--ink-soft);font-size:14px;padding:4px 9px;border-radius:7px}.wn-close:hover{background:var(--hover);color:var(--ink)}.wn-body{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:2px 0}.wn-sep{height:1px;background:var(--panel-border);margin:2px 0;flex:none}.wn-date{font-size:11.5px;font-weight:500;color:var(--ink-faint);margin-bottom:-6px;flex:none}.wn-item{display:flex;align-items:flex-start;gap:12px}.wn-item-icon{flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--panel-border);color:var(--ink-soft)}.wn-item-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.wn-item-body{min-width:0}.wn-item-title{font-size:13.5px;font-weight:600;color:var(--ink);margin:1px 0 3px}.wn-item-text{font-size:12.5px;line-height:1.55;color:var(--ink-soft);white-space:pre-line}.wn-cta{display:inline-flex;align-items:center;gap:7px;margin-top:10px;height:32px;padding:0 13px;border:1px solid var(--ink-strong);border-radius:8px;background:var(--ink-strong);color:var(--knob);font-size:12.5px;font-weight:500;text-decoration:none;cursor:pointer}.wn-cta:hover{filter:brightness(1.08)}.wn-cta svg.wn-fill{width:13px;height:13px;fill:currentColor;stroke:none}.wn-foot{display:flex;justify-content:flex-end;margin-top:14px;flex:none}.wn-gotit{height:32px;padding:0 14px;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:500;color:var(--ink)}.wn-gotit:hover{background:var(--panel-2)}.wn-gotit:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media(max-width:520px){.wn-panel{padding:16px 18px 14px}}.mac-color-pop{position:fixed;z-index:120;width:244px;box-sizing:border-box;background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;box-shadow:var(--shadow-lg);padding:12px;display:flex;flex-direction:column;gap:10px}.mcp-sv{position:relative;width:100%;height:150px;border-radius:6px;cursor:crosshair;touch-action:none;overflow:hidden}.mcp-sv-knob{position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000059,0 1px 3px #0000004d;transform:translate(-50%,-50%);pointer-events:none}.mcp-row{display:flex;align-items:center;gap:10px}.mcp-swatch{width:26px;height:26px;border-radius:50%;border:1px solid var(--soft-border);flex:0 0 auto;box-sizing:border-box}.mcp-hue{-webkit-appearance:none;appearance:none;flex:1;min-width:0;height:8px;border-radius:4px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);outline:none;margin:0}.mcp-hue::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.25);box-shadow:0 1px 3px #0000004d;cursor:pointer}.mcp-hex-label{font-size:11px;font-weight:600;color:var(--ink-soft);letter-spacing:.04em;flex:0 0 auto}.mcp-hex{flex:1;min-width:0;height:30px;border:1px solid var(--panel-border);border-radius:7px;padding:0 9px;font-size:13px;font-family:inherit;color:var(--ink);outline:none;background:var(--panel);box-sizing:border-box}.mcp-hex:focus{border-color:var(--ink-strong)}html.vos-mac .color-pop .color-pick input[type=color],html.vos-mac .bc-pick input[type=color],html.vos-mac .doc-color input[type=color]{pointer-events:none}html.vos-mac{--mac-select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9.5 12 15.5 18 9.5'/%3E%3C/svg%3E")}html.vos-mac[data-theme=dark]{--mac-select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8bac2' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9.5 12 15.5 18 9.5'/%3E%3C/svg%3E")}html.vos-mac #set-input-mode,html.vos-mac #set-lang,html.vos-mac #set-theme,html.vos-mac .doc-toolbar select{-webkit-appearance:none;appearance:none;color:var(--ink);background:var(--panel) var(--mac-select-chevron) no-repeat right 8px center;background-size:12px 12px;padding-right:27px;cursor:pointer}@media print{@page{margin:2cm}body:has(#doc-modal.open){background:#fff!important;overflow:visible!important}body:has(#doc-modal.open) #app>:not(#doc-modal){display:none!important}body:has(#doc-modal.open) #app{display:block!important;position:static!important;width:auto!important;height:auto!important;overflow:visible!important;background:#fff!important}body:has(#doc-modal.open) #doc-modal{position:static!important;display:block!important;background:none!important;padding:0!important;opacity:1!important}body:has(#doc-modal.open) .doc-window{position:static;display:block;width:auto;max-width:none;height:auto!important;max-height:none!important;overflow:visible;background:#fff;box-shadow:none;border-radius:0;opacity:1!important;transform:none!important;transition:none!important}body:has(#doc-modal.open) .doc-head{border-bottom:none;padding:0 0 6px}body:has(#doc-modal.open) .doc-back,body:has(#doc-modal.open) .doc-confirm,body:has(#doc-modal.open) .doc-head-actions,body:has(#doc-modal.open) .doc-toolbar,body:has(#doc-modal.open) #doc-wordcount-head{display:none!important}body:has(#doc-modal.open) .doc-title{color:#000;font-size:24pt;font-weight:600}body:has(#doc-modal.open) .doc-body{overflow:visible!important;height:auto!important;min-height:0;padding:0;color:#000;font-size:12pt;line-height:1.55}body:has(#doc-modal.open) .doc-body a{color:#000;text-decoration:underline}body:has(#doc-modal.open) .doc-body blockquote{color:#444;border-left-color:#999}body:has(#doc-modal.open) .doc-body img{max-width:100%;page-break-inside:avoid}body:has(#doc-modal.open) .doc-body h1,body:has(#doc-modal.open) .doc-body h2,body:has(#doc-modal.open) .doc-body h3{page-break-after:avoid;color:#000}}
