html,body,#root{height:100%;margin:0;font-family:sans-serif;overflow:hidden}.app,.app[data-theme=standard],.app[data-theme=light]{--bg:#ececf0;--surface:#fff;--surface2:#f3f3f6;--line:#c5c5cf;--text:#22222a;--muted:#787882;--accent:#a06;--sel:#c33;--shadow:#00000038;--ki-bg:var(--bg);--ki-grid:#5078a01a;--ki-grid-major:#5078a040;--ki-sel:#3a7bd5;--ki-edge-line:#7d8fa3}.app[data-theme=dark]{--bg:#232733;--surface:#2c3140;--surface2:#333849;--line:#485064;--text:#dde2ee;--muted:#8b93a8;--accent:#c86ab0;--sel:#e07060;--shadow:#00000080;--ki-grid:#8caadc1a;--ki-grid-major:#8caadc3d;--ki-edge-line:#5f6d85}@media (prefers-color-scheme:dark){.app[data-theme=standard]{--bg:#232733;--surface:#2c3140;--surface2:#333849;--line:#485064;--text:#dde2ee;--muted:#8b93a8;--accent:#c86ab0;--sel:#e07060;--shadow:#00000080;--ki-grid:#8caadc1a;--ki-grid-major:#8caadc3d;--ki-edge-line:#5f6d85}}.app[data-theme=quiet]{--bg:#eae5da;--surface:#f2efe7;--surface2:#e4dfd3;--line:#c9c2b2;--text:#57524a;--muted:#9a9078;--accent:#7d6d80;--sel:#a08787;--shadow:#3c321e1f;--ki-grid:#786e5a12;--ki-grid-major:#786e5a26;--ki-edge-line:#a8a396}.app{background:var(--bg);height:100%;color:var(--text);flex-direction:column;display:flex}.body{flex:1;min-height:0;display:flex}.left-menu{background:var(--surface2);border-right:1px solid var(--line);flex-direction:column;flex:none;gap:2px;width:150px;padding:6px 4px;display:flex;overflow-y:auto}.left-menu.collapsed{align-items:center;width:44px}.m-item{color:var(--text);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.m-item:hover{background:var(--bg)}.m-item.on{background:var(--accent);color:#fff}.m-ic{text-align:center;flex:none;width:20px}.m-theme select{background:var(--surface);min-width:0;color:var(--text);border:1px solid var(--line);border-radius:4px;flex:1;font-size:12px}.m-sep{background:var(--line);opacity:.5;height:1px;margin:6px 4px}.m-toggle .m-label{font-weight:700}.canvas-wrap{background:var(--bg);flex:1;min-width:0;position:relative;overflow:hidden}.canvas-wrap .ki-canvas{background:var(--bg)}.wires{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0}.wire{stroke:var(--accent);stroke-width:2px;fill:none;stroke-dasharray:6 3}.wire.sel{stroke:var(--sel);stroke-width:3px}.wires g:hover .wire{stroke:var(--sel)}.wire-hit{stroke:#0000;stroke-width:12px;fill:none;pointer-events:stroke;cursor:pointer}.canvas-wrap.drawing .ki-vtx{display:none}.ki-kind-page{border:1px dashed var(--muted);box-shadow:0 1px 4px var(--shadow)}.ki-obj:has(.page-tag){overflow:visible}.page-tag{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex;position:absolute;top:-1.7em;left:0}.page-tag button{border:1px solid var(--line);background:var(--surface2);color:var(--muted);cursor:pointer;border-radius:3px;padding:1px 5px;font-size:10px;line-height:1}.page-tag button:hover{background:var(--bg)}.scroll-nav{z-index:30;flex-direction:column;gap:4px;display:flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.scroll-nav button{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--text);cursor:pointer;opacity:.85;border-radius:6px;font-size:15px}.scroll-nav button:hover{background:var(--bg);opacity:1}.page-tag.active>span{color:var(--accent);font-weight:700}.page-tag.active>span:before{content:"● ";font-size:8px}.doc-props-grid .ins-row{align-items:center;gap:6px;display:flex}.doc-props-grid .ins-row input{width:48px}.ki-kind-textarea{border:1px solid #5a6e8c66;border-radius:3px}.ta{box-sizing:border-box;color:#222;width:100%;height:100%;position:relative}.ta-slice{white-space:pre-wrap;overflow-wrap:break-word;width:100%;height:100%;overflow:hidden}.oflabel{color:var(--sel);cursor:pointer;white-space:nowrap;background:#fff0f0eb;border-radius:3px;padding:0 4px;font-size:11px;position:absolute;top:-1.7em;right:2px}.canvas-hint{color:var(--ibm-gray,#666);text-align:center;pointer-events:none;white-space:nowrap;z-index:30;background:#ffffffb3;border:1px dashed #bbb;border-radius:4px;padding:.6em 1.2em;font-size:14px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.link-mode .ki-kind-textarea{cursor:crosshair;box-shadow:0 0 0 2px var(--accent)}.ta.link-from{box-shadow:0 0 0 3px var(--accent);border-radius:3px}.right-dock{border-left:1px solid var(--line);background:var(--surface);flex-direction:column;flex:none;width:300px;min-height:0;display:flex}.right-dock.collapsed{width:24px;overflow:hidden}.dock-toggle{border:none;border-bottom:1px solid var(--line);background:var(--surface2);height:40px;color:var(--muted);cursor:pointer;flex:none;font-size:13px}.right-dock.collapsed .dock-toggle{height:100%}.chain-pane{flex-direction:column;flex:1;min-height:0;display:flex}.chain-pane header{color:var(--muted);background:var(--surface2);justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;display:flex}.chain-pane header button{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:16px}.chain-text{resize:none;background:var(--surface);color:var(--text);border:none;outline:none;flex:1;padding:10px;font-family:inherit;font-size:14px;line-height:1.6}.chain-overflow{color:var(--sel);border-top:1px solid var(--line);padding:4px 10px;font-size:11px}.chain-marks{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.chain-marks button,.chain-marks select,.chain-marks input{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:1px 6px;font-size:12px}.chain-marks button:disabled,.chain-marks select:disabled,.chain-marks input:disabled{opacity:.45}.chain-marks input[type=color]{width:26px;height:22px;padding:0 2px}.chain-marks-font{width:90px}.chain-marks-link{width:110px}.chain-area-link{width:140px}.chain-font{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;padding:6px 10px;font-size:12px;display:flex}.chain-font label{align-items:center;gap:4px;display:flex}.chain-font select,.chain-font input{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:4px}.chain-font-family{width:120px}.chain-links{color:var(--muted);background:var(--surface2);border-top:1px solid var(--line);padding:6px 10px;font-size:11px}.img-fill{pointer-events:none;width:100%;height:100%;display:block}.img-ghost{opacity:.45;pointer-events:none;z-index:6;position:absolute}.img-ghost img{width:100%;height:100%;display:block}.img-props,.doc-props{flex-direction:column;font-size:13px;display:flex}.img-props header,.doc-props header{color:var(--muted);background:var(--surface2);padding:6px 10px;font-size:12px}.img-props-grid,.doc-props-grid{color:var(--text);flex-direction:column;gap:6px;padding:10px;display:flex}.img-props-grid label,.doc-props-grid label{justify-content:space-between;align-items:center;gap:6px;display:flex}.img-props-grid input[type=number],.doc-props-grid input[type=number],.doc-props-grid select{background:var(--surface);width:90px;color:var(--text);border:1px solid var(--line);border-radius:4px}.doc-props-grid .col-alpha{align-items:center;gap:4px;display:flex}.doc-props-grid .col-alpha input[type=number]{width:54px}.doc-props-grid button{background:var(--surface2);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:4px;padding:2px 8px}.img-lock{color:var(--text);align-items:center;gap:6px;padding:0 10px;display:flex}.img-props .hint,.doc-props .hint{color:var(--muted);padding:10px;font-size:11px}.dlg-backdrop{z-index:40;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dlg{background:var(--surface);color:var(--text);border-radius:8px;width:320px;padding:16px}.dlg .img-prev{max-width:100%;max-height:180px;margin:0 auto 10px;display:block}.dlg .row{align-items:center;gap:8px;margin:6px 0;font-size:13px;display:flex}.dlg input[type=number]{background:var(--surface);width:64px;color:var(--text);border:1px solid var(--line);border-radius:4px}.dlg .btns{text-align:right;justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.dlg .btns button{cursor:pointer;background:var(--surface2);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:4px 14px}.dlg.about{width:400px;max-width:calc(100vw - 48px)}.about-name{margin:0;font-size:20px}.about-ver{color:var(--muted);margin:2px 0 12px;font-size:12px}.about-body{margin:0 0 12px;font-size:13px;line-height:1.8}.about-author{color:var(--muted);margin:0;font-size:12px}.about-author a{color:var(--accent)}.ctx-backdrop{z-index:50;position:fixed;inset:0}.ctx-menu{background:var(--surface);border:1px solid var(--line);min-width:140px;box-shadow:0 4px 16px var(--shadow);border-radius:6px;flex-direction:column;padding:4px;display:flex;position:fixed}.ctx-menu button{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 12px;font-size:13px}.ctx-menu button:hover{background:var(--surface2)}.page-nav{z-index:8;background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 8px var(--shadow);color:var(--text);border-radius:16px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.page-nav button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:1px 6px;font-size:13px}.page-nav button:hover{background:var(--surface2)}.page-nav .pn-cur input{text-align:center;background:var(--surface);width:34px;color:var(--text);border:1px solid var(--line);border-radius:3px;font-size:12px}.page-nav.collapsed{cursor:pointer;border:1px solid var(--line);border-radius:12px;padding:3px 10px;font-size:11px}.shape-overlay{z-index:7;cursor:crosshair;position:absolute;inset:0}.shape-preview{border:1.5px dashed var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);pointer-events:none;z-index:8;position:absolute}.mm-grid{color:var(--text);grid-template-columns:1fr 1fr;gap:6px;padding:8px 10px;font-size:12px;display:grid}.mm-grid label{align-items:center;gap:4px;display:flex}.mm-grid input{background:var(--surface);width:56px;color:var(--text);border:1px solid var(--line);border-radius:4px}.z-btns{flex-wrap:wrap;gap:4px;padding:8px 10px;display:flex}.z-btns button{background:var(--surface2);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:4px;padding:3px 8px;font-size:11px}.sub-props{border-top:1px solid var(--line);flex:none}.ruler-corner{background:var(--surface2);border-right:1px solid var(--line);border-bottom:1px solid var(--line);z-index:9;width:18px;height:18px;position:absolute}.ruler{z-index:8;background:var(--surface2);color:var(--muted);pointer-events:none;font-size:9px;position:absolute;overflow:hidden}.ruler-h{border-bottom:1px solid var(--line);height:18px}.ruler-v{border-right:1px solid var(--line);width:18px}.ruler .rt{border-color:var(--line);position:absolute}.ruler-h .rt{border-left:1px solid var(--line);top:8px;bottom:0}.ruler-h .rt.major{top:0}.ruler-h .rt span{white-space:nowrap;position:absolute;top:0;left:3px}.ruler-v .rt{border-top:1px solid var(--line);left:8px;right:0}.ruler-v .rt.major{left:0}.ruler-v .rt span{writing-mode:vertical-rl;font-size:8px;position:absolute;top:2px;left:0}.ruler .rcur{background:var(--sel);position:absolute}.ruler-h .rcur{width:1px;top:0;bottom:0}.ruler-v .rcur{height:1px;left:0;right:0}.ins-btn{background:var(--surface2);color:var(--text);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:4px;margin:4px 10px;padding:4px 8px;font-size:12px}.ins-btn:hover{background:var(--bg)}.status{color:var(--muted);background:var(--surface2);border-top:1px solid var(--line);align-items:center;gap:12px;padding:4px 10px;font-size:11px;display:flex}.status .hint{flex:1}.status .sep{flex:none}.printout{z-index:60;background:#777;padding:24px 0;position:fixed;inset:0;overflow:auto}.printout .pbar{text-align:center;z-index:1;margin-bottom:16px;position:sticky;top:0}.printout .pbar button{cursor:pointer;margin:0 4px;padding:6px 20px;font-size:14px}.ppage{background:#fff;margin:0 auto 20px;position:relative;overflow:hidden;box-shadow:0 2px 10px #00000073}.parea{color:#000;white-space:pre-wrap;overflow-wrap:break-word;box-sizing:border-box;position:absolute;overflow:hidden}.pfoot{color:#333;font-size:10px;position:absolute;bottom:5mm;right:10mm}@media print{.printout{-webkit-print-color-adjust:exact;print-color-adjust:exact}html,body,#root,.app{height:auto!important;overflow:visible!important}.body,.status,.ctx-backdrop,.dlg-backdrop{display:none!important}.printout{background:0 0;padding:0;position:static;inset:auto;overflow:visible;display:block!important}.printout .pbar{display:none!important}.printout .ppage{box-shadow:none;page-break-after:always;margin:0}.printout .ppage:last-child{page-break-after:auto}}
