@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--c-background:#fff;--c-foreground:#000;--c-muted:#f5f7f8;--c-muted-foreground:#a1a8b3;--c-border:#dfe3e6;--c-input:#cbd1d6;--c-primary:#fd5108;--c-primary-foreground:#fff;--c-primary-tint:#fff5ed;--c-primary-tint-2:#ffe8d4;--c-accent:#000;--c-accent-foreground:#fff;--c-destructive:#dc2626;--c-destructive-foreground:#fff;--c-row-divider:#e8eaed;--c-ref-out:#1a66cc;--c-ref-in:#0a8a3a;--c-save-ok:#16a34a;--c-save-dirty:#d97706;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--font:"IBM Plex Sans", system-ui, -apple-system, "Noto Sans TC", "Microsoft JhengHei", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--c-foreground);background:var(--c-background);font-size:13px}#root{flex-direction:column;display:flex}button{cursor:pointer;border:1px solid var(--c-input);background:var(--c-background);border-radius:var(--radius-sm);color:var(--c-foreground);justify-content:center;align-items:center;gap:5px;padding:3px 8px;font-family:inherit;font-size:12px;display:inline-flex}button:hover{background:var(--c-accent);color:var(--c-accent-foreground);border-color:var(--c-accent)}button.primary{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-primary-foreground)}button.primary:hover{opacity:.9;background:var(--c-primary);border-color:var(--c-primary)}button.primary:disabled{opacity:.5;cursor:not-allowed}button.danger{color:var(--c-destructive)}button.danger:hover{background:var(--c-destructive);border-color:var(--c-destructive);color:var(--c-destructive-foreground)}button svg{flex:none}input,select{border:1px solid var(--c-input);border-radius:var(--radius-sm);background:var(--c-background);padding:3px 6px;font-family:inherit;font-size:12px}input[type=range]{width:110px;accent-color:var(--c-primary);background:0 0;border:none;padding:0}input::placeholder{color:var(--c-muted-foreground)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--c-primary);outline-offset:1px}#topbar{background:var(--c-background);color:var(--c-foreground);border-bottom:1px solid var(--c-border);flex:none;justify-content:space-between;align-items:center;padding:6px 14px;display:flex}.brand{font-size:15px;font-weight:600}.brand-area{align-items:center;gap:10px;min-width:0;display:flex}#project-name{color:var(--c-foreground);border-bottom:1px dashed var(--c-input);cursor:text;text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:13px;overflow:hidden}#project-name:hover{border-bottom-color:var(--c-primary)}#project-name-input{width:220px;font-size:13px}.top-controls{align-items:center;gap:8px;display:flex}.top-controls label{color:var(--c-foreground);align-items:center;gap:5px;font-size:11px;display:flex}#save-status{color:var(--c-save-ok);font-size:12px}#save-status.dirty{color:var(--c-save-dirty)}#main{flex:auto;min-height:0;display:flex}#editor{flex-direction:column;flex:auto;min-width:0;display:flex}h2{color:var(--c-foreground);margin:4px 0 8px;font-size:13px;font-weight:600}.hint{color:var(--c-muted-foreground);font-size:10px}.pane{background:var(--c-background);flex:none;min-height:0;display:flex}.pane-left{border-right:1px solid var(--c-border)}.pane-right{border-left:1px solid var(--c-border)}.pane.collapsed{justify-content:center;align-items:flex-start;width:34px;padding:8px 4px}.pane-expand,.pane-collapse{padding:3px 4px}.pane-inner{flex-direction:column;flex:auto;gap:8px;min-width:0;padding:10px;display:flex;overflow:hidden}.pane-header{flex:none;justify-content:space-between;align-items:center;display:flex}.pane-header h2{margin:0}.pane-sticky-actions{flex-direction:column;flex:none;gap:6px;display:flex}.pane-content{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;overflow-y:auto}.pane-resize{cursor:col-resize;flex:0 0 4px}.pane-resize:hover{background:var(--c-primary)}#btn-import,#res-filter{width:100%}#import-progress{color:var(--c-primary);font-size:11px}#resource-list{flex-direction:column;gap:8px;display:flex}.resource-item{border:1px solid var(--c-border);border-radius:var(--radius-sm);cursor:grab;background:var(--c-muted);padding:4px;position:relative}.resource-item img{border:1px solid var(--c-border);background:#fff;width:100%;display:block}.resource-item .res-name{color:var(--c-muted-foreground);word-break:break-all;margin-top:2px;font-size:10px}.resource-item .res-del{padding:2px 3px;position:absolute;top:2px;right:2px}#toolbar{background:var(--c-muted);border-bottom:1px solid var(--c-border);flex-wrap:wrap;flex:none;align-items:center;gap:14px;padding:5px 10px;display:flex}.tool-group{align-items:center;gap:4px;display:flex}.tool-group label{color:var(--c-muted-foreground);align-items:center;gap:4px;font-size:11px;display:flex}button.tool.active{background:var(--c-primary);color:var(--c-primary-foreground);border-color:var(--c-primary)}#zoom-label{text-align:center;min-width:40px;color:var(--c-foreground);font-size:11px}.tool-label{color:var(--c-muted-foreground);font-size:11px}button.color-swatch{border:1px solid var(--c-input);width:18px;height:18px;padding:0}button.color-swatch:hover{border-color:var(--c-accent)}button.color-swatch.active{outline:2px solid var(--c-primary);outline-offset:1px}#stroke-color{width:26px;height:20px;padding:1px}#canvas-area{background:var(--c-muted);flex:auto;justify-content:center;align-items:flex-start;padding:24px;display:flex;overflow:auto}#canvas-holder{border:1px solid var(--c-border);background:#fff}#no-page-hint{color:var(--c-muted-foreground);margin-top:80px;font-size:14px}.ref-overlay{pointer-events:none;z-index:10;position:absolute;top:0;left:0}.ref-tooltip{z-index:20;pointer-events:none;color:#fff;white-space:nowrap;background:#000000c7;border-radius:3px;padding:2px 7px;font-size:11px;position:absolute}.panel{margin-bottom:18px}.panel-actions{gap:6px;margin-bottom:8px;display:flex}#page-list,#ref-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}#page-list li{border:1px solid var(--c-border);border-radius:var(--radius-sm);cursor:pointer;background:var(--c-background);align-items:center;gap:6px;padding:4px 6px;display:flex}#page-list li:hover{background:var(--c-muted)}#page-list li.active{border-color:var(--c-primary);background:var(--c-primary-tint)}#page-list li img.page-thumb{border:1px solid var(--c-border);background:#fff;flex:none;width:34px}#page-list li .page-info{flex:auto;min-width:0}#page-list li .page-wp{color:var(--c-destructive);font-size:10px;font-weight:600}#page-list li .page-name{color:var(--c-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}#page-list li .page-btns{grid-template-columns:auto auto;gap:2px;display:grid}#page-list li .page-btns button{padding:1px 3px}#ref-search{width:100%}.ref-scope{gap:4px;display:flex}.ref-scope button{flex:50%}.ref-scope button.active{background:var(--c-primary);color:var(--c-primary-foreground);border-color:var(--c-primary)}.ref-jump{color:var(--c-destructive);padding:1px 5px;font-weight:600}.ref-colors{gap:12px;margin-bottom:0;display:flex}.ref-colors label{color:var(--c-muted-foreground);align-items:center;gap:4px;font-size:11px;display:flex}.ref-colors input[type=color]{border:1px solid var(--c-input);width:26px;height:18px;padding:0}#ref-list li{border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-background);justify-content:space-between;align-items:center;gap:6px;padding:4px 6px;font-size:11px;display:flex}#ref-list li .ref-info{flex:auto;min-width:0}#ref-list li .ref-label{color:var(--c-foreground)}#ref-list li .ref-label b{color:var(--c-destructive)}#ref-list li .ref-note{color:var(--c-muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}#ref-list li .ref-btns{gap:2px;display:flex}#ref-list li button{padding:2px 3px}#file-manager{background:var(--c-muted);flex-direction:column;flex:auto;min-height:0;display:flex}#fm-header{background:var(--c-background);border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.fm-actions{gap:8px;display:flex}#fm-body{flex:auto;justify-content:center;padding:20px;display:flex;overflow-y:auto}#fm-empty{color:var(--c-muted-foreground);margin-top:60px;font-size:13px}#project-list{flex-direction:column;align-self:flex-start;gap:8px;width:100%;max-width:720px;margin:0;padding:0;list-style:none;display:flex}#project-list li{background:var(--c-background);border:1px solid var(--c-border);border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}#project-list li:hover{border-color:var(--c-primary);background:var(--c-primary-tint)}#project-list .proj-name{font-size:14px;font-weight:600}#project-list .proj-meta{color:var(--c-muted-foreground);margin-top:2px;font-size:11px}#project-list .proj-btns{gap:4px;display:flex}#fm-footer{border-top:1px solid var(--c-border);background:var(--c-background);color:var(--c-muted-foreground);justify-content:center;align-items:center;gap:12px;padding:8px;font-size:11px;display:flex}.fm-modal-backdrop{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fm-modal{background:var(--c-background);border:1px solid var(--c-border);border-radius:var(--radius-lg);width:92vw;max-width:480px;padding:18px 22px;box-shadow:0 10px 30px #00000040}.fm-modal h2{margin-top:0}.fm-modal p{color:var(--c-muted-foreground);font-size:12px;line-height:1.7}.fm-modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.fm-modal-header{justify-content:space-between;align-items:center;display:flex}#changelog-modal{flex-direction:column;max-height:80vh;display:flex}#changelog-body{overflow-y:auto}#changelog-body h3{margin:12px 0 4px;font-size:13px}#changelog-body .cl-date{color:var(--c-muted-foreground);margin-left:6px;font-size:11px;font-weight:400}#changelog-body ul{margin:0;padding-left:18px}#changelog-body li{font-size:12px;line-height:1.8}#multi-window-warning{background:var(--c-muted);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#multi-window-warning .warn-box{background:var(--c-background);border:1px solid var(--c-border);border-radius:var(--radius-lg);max-width:460px;padding:24px 28px;box-shadow:0 10px 30px #00000026}#multi-window-warning h2{margin-top:0}#multi-window-warning p{color:var(--c-muted-foreground);font-size:12px;line-height:1.7}#ref-modal{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#ref-modal-box{background:var(--c-background);border:1px solid var(--c-border);border-radius:var(--radius-lg);flex-direction:column;width:94vw;height:92vh;display:flex;overflow:hidden;box-shadow:0 10px 30px #00000040}#ref-modal-box>header{border-bottom:1px solid var(--c-border);background:var(--c-muted);align-items:center;gap:16px;padding:8px 14px;display:flex}#ref-modal-box>header h2{margin:0}#ref-step-hint{color:var(--c-primary);flex:auto;font-size:12px}#ref-modal-close{background:0 0;border:none}#ref-modal-close:hover{background:var(--c-accent);color:var(--c-accent-foreground)}#ref-pages{flex:auto;gap:12px;min-height:0;padding:12px;display:flex;position:relative}.ref-side{flex-direction:column;flex:50%;gap:6px;min-width:0;display:flex}.ref-side label{align-items:center;gap:8px;font-size:12px;display:flex}.ref-canvas-wrap{border:1px solid var(--c-border);background:var(--c-muted);flex:auto;justify-content:center;align-items:flex-start;padding:8px;display:flex;overflow:auto}.ref-canvas-wrap canvas{border:1px solid var(--c-border);cursor:crosshair;background:#fff}#ref-link-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}#ref-modal-box>footer{border-top:1px solid var(--c-border);background:var(--c-muted);justify-content:flex-end;align-items:center;gap:10px;padding:8px 14px;display:flex}#ref-note-label{color:var(--c-muted-foreground);flex:auto;align-items:center;gap:6px;font-size:12px;display:flex}#ref-note{flex:auto;max-width:420px}
