*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f6f5f4;--panel:#fff;--panel-2:#faf9f8;--ink:#000000eb;--ink-2:#615d59;--ink-3:#767069;--border-subtle:#0000000f;--border-default:#0000001a;--border-strong:#00000029;--accent:#0075de;--accent-hover:#005bab;--accent-soft:#f2f9ff;--accent-text:#005bab;--danger:#d13438;--danger-soft:#fdf3f3;--warning:#d97706;--warning-soft:#fdf6e3;--success:#1a7f37;--guide:#e11d74;--placeholder-bg:#eef1f4;--placeholder-border:#c3cbd4;--placeholder-text:#5f6b7a;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:15px;--lh-tight:1.3;--lh-normal:1.6;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--r-sm:4px;--r-md:6px;--r-lg:10px;--r-pill:9999px;--btn-h:28px;--toolbar-h:44px;--thumb-w:128px;--shadow-page:#0000000d 0 2px 8px, #0000000a 0 8px 24px;--shadow-page-hover:#0000000f 0 2px 8px, #0000000d 0 10px 28px;--shadow-pop:#00000005 0 3px 7px, #0000000a 0 14px 28px;--text:var(--ink);--text-2:var(--ink-2);--text-3:var(--ink-3);--border:var(--border-default);--border-2:var(--border-strong);--border-3:var(--border-subtle);--r-btn:var(--r-md);--r-card:var(--r-lg);--shadow-card:var(--shadow-pop);--shadow-deep:var(--shadow-pop)}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,PingFang SC,Noto Sans SC,sans-serif;font-size:var(--fs-sm);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:inherit}.app{flex-direction:column;min-width:960px;height:100vh;display:flex}.toolbar{align-items:center;gap:var(--sp-1);height:var(--toolbar-h);padding:0 var(--sp-3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);z-index:10;background:#ffffffeb;flex-wrap:nowrap;display:flex;position:relative}.tb-group{align-items:center;gap:var(--sp-1);flex-shrink:0;display:flex}.tb-left{flex-shrink:0}.tb-center{margin:0 var(--sp-1)}.tb-right{align-items:center;gap:var(--sp-1);min-width:0;margin-left:auto;display:flex}.tb-sep{background:var(--border-subtle);width:1px;height:18px;margin:0 var(--sp-1);flex-shrink:0}.tb-btn.tb-snap-on{color:var(--accent-text);background:var(--accent-soft)}.tb-btn.tb-fix-overflow{color:var(--warning);background:var(--warning-soft);border-color:#d9770647;font-weight:600}.tb-btn.tb-fix-overflow:hover:not(:disabled){color:#b45309;background:#f7e6c4}.tb-brand{font-weight:700;font-size:var(--fs-md);color:var(--ink);letter-spacing:-.02em;margin-right:var(--sp-1);align-items:center;gap:6px;display:flex}.tb-brand:before{content:"";background-image:linear-gradient(#fffffff2, #fffffff2), linear-gradient(#ffffffb3, #ffffffb3), linear-gradient(#ffffff73, #ffffff73), linear-gradient(135deg, var(--accent) 0%, #4da3ff 100%);background-position:4px 4px,4px 8px,4px 12px;background-repeat:no-repeat;background-size:10px 1.5px,7px 1.5px,9px 1.5px,100% 100%;border-radius:5px;width:18px;height:18px;display:inline-block;box-shadow:0 1px 3px #0075de4d}.tb-docname{height:var(--btn-h);border-radius:var(--r-md);width:140px;font-size:var(--fs-sm);color:var(--ink);background:0 0;border:1px solid #0000;outline:none;padding:0 8px;font-weight:500;transition:border-color .15s,background .15s}.tb-docname:hover:not(:focus){border-color:var(--border-subtle);background:#00000005}.tb-docname:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #0075de1f}.tb-docname::placeholder{color:var(--ink-3)}.tb-btn{height:var(--btn-h);font-size:var(--fs-sm);border-radius:var(--r-md);cursor:pointer;color:var(--ink-2);white-space:nowrap;background:0 0;border:1px solid #0000;flex-shrink:0;align-items:center;gap:5px;padding:0 10px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.tb-btn:hover:not(:disabled){color:var(--ink);background:#0000000d}.tb-btn.tb-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.tb-btn:active:not(:disabled){transform:scale(.97)}.tb-btn:disabled{opacity:.4;cursor:not-allowed}.tb-btn.tb-icon{width:var(--btn-h);justify-content:center;padding:0}.tb-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--shadow-pop);font-weight:600}.tb-btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.tb-select{height:var(--btn-h);border:1px solid var(--border-default);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23615d59' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 6px center no-repeat;outline:none;flex-shrink:0;padding:0 20px 0 6px;font-weight:500;transition:border-color .15s,box-shadow .15s}.tb-select:hover{border-color:var(--border-strong)}.tb-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0075de1f}.tb-select-sm{max-width:64px}.tb-dim{color:var(--ink-3);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.tb-zoom-pill{border-radius:var(--r-pill);background:#0000000a;align-items:center;padding:1px;display:flex}.tb-zoom-pill .tb-btn{width:24px;height:24px}.tb-zoom{text-align:center;min-width:40px;font-size:var(--fs-xs);color:var(--ink-2);font-variant-numeric:tabular-nums;cursor:pointer;font-weight:600}.tb-status-area{flex-shrink:1;justify-content:flex-end;min-width:0;display:flex;overflow:hidden}.tb-right{flex-shrink:1}.tb-right>*{flex-shrink:0}.tb-right>.tb-status-area{flex-shrink:1}.tb-status{border-radius:var(--r-pill);min-width:0;font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;animation:.15s statusIn;display:inline-flex;overflow:hidden}.tb-status-text{text-overflow:ellipsis;overflow:hidden}.tb-status.info{color:var(--ink-2);background:#0000000a}.tb-status.success{color:var(--success);background:#f0f9f1}.tb-status.error{color:var(--danger);background:var(--danger-soft)}.tb-status.overflow{color:var(--warning);background:var(--warning-soft);font-weight:600}.tb-status-action{border-radius:var(--r-pill);color:inherit;cursor:pointer;background:0 0;border:1px solid;flex-shrink:0;margin-left:8px;padding:1px 8px;font-size:10px;font-weight:600}.tb-status-action:hover{background:#0000000f}@keyframes statusIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.tb-autosave{color:var(--ink-3);font-size:var(--fs-xs);white-space:nowrap;font-variant-numeric:tabular-nums}.overflow-toast{z-index:500;border-radius:var(--r-lg);box-shadow:var(--shadow-pop);background:#fffdf5;border:1.5px solid #d977068c;align-items:center;gap:14px;max-width:90vw;padding:14px 18px;animation:.16s statusIn;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.overflow-toast-icon{color:var(--warning);flex-shrink:0}.overflow-toast-body{flex-direction:column;gap:2px;display:flex}.overflow-toast-body strong{color:#92400e;font-size:var(--fs-md);font-weight:700}.overflow-toast-body span{color:var(--ink-2);font-size:var(--fs-xs)}.overflow-toast-close{color:#92400e;border-radius:var(--r-pill);font-size:var(--fs-xs);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d9770666;padding:5px 14px;font-weight:600;transition:background .15s}.overflow-toast-close:hover{background:#f7e6c4}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:13px;height:13px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.tb-dropdown{flex-shrink:0;position:relative}.tb-dropdown-list{background:var(--panel);border:1px solid var(--border-subtle);border-radius:var(--r-lg);min-width:190px;box-shadow:var(--shadow-pop);padding:var(--sp-1);z-index:100;animation:.12s statusIn;position:absolute;top:calc(100% + 4px);left:0}.tb-dropdown-list button{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);width:100%;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;padding:7px 10px;display:flex}.tb-dropdown-list button:hover{background:#0000000d}.tb-dropdown-sep{background:var(--border-subtle);height:1px;margin:var(--sp-1) 0}.main{flex:1;display:flex;position:relative;overflow:hidden}.toast-stack{z-index:45;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;top:12px;right:284px}.toast{pointer-events:auto;border-left:3px solid var(--accent);max-width:380px;color:var(--ink-1,#1f2329);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:8px 10px 8px 12px;font-size:13px;animation:.18s toastIn;display:flex;box-shadow:0 6px 20px #00000024,0 0 0 1px #0000000d}@keyframes toastIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}.toast-success{border-left-color:#107c41}.toast-info{border-left-color:var(--accent)}.toast-warning{border-left-color:var(--warning,#b45309)}.toast-error{border-left-color:var(--danger)}.toast-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.toast-action{border-radius:var(--r-pill);color:var(--accent-text);cursor:pointer;background:0 0;border:1px solid;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.toast-action:hover{background:var(--accent-soft)}.toast-close{width:18px;height:18px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:0;font-size:14px;line-height:16px}.toast-close:hover{color:var(--ink-2);background:#0000000f}.img-placeholder-icon{flex:none}.thumbs{background:var(--panel);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:164px;display:flex;overflow-y:auto}.thumbs-header{padding:var(--sp-3) var(--sp-3) var(--sp-2);font-weight:600;font-size:var(--fs-sm);color:var(--ink-2);justify-content:space-between;align-items:center;display:flex}.thumbs-add{cursor:pointer;color:var(--ink-3);border-radius:var(--r-md);background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;transition:background .15s,color .15s;display:flex}.thumbs-add:hover{background:var(--accent-soft);color:var(--accent-text)}.thumbs-list{padding:var(--sp-1) var(--sp-2) var(--sp-3);gap:var(--sp-1);flex-direction:column;display:flex}.thumb-drop-line{background:var(--accent);height:2px;margin:0 var(--sp-1);border-radius:1px}.thumb-item{border-radius:var(--r-lg);cursor:pointer;background:0 0;border:1px solid #0000;padding:6px;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.thumb-item:hover{background:#0000000a}.thumb-item.active{background:var(--accent-soft);border-color:#0075de40;box-shadow:0 0 0 1px #0075de1f}.thumb-page{border:1px solid var(--border-subtle);border-radius:var(--r-md);background:#fff;justify-content:center;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000a}.thumb-item.active .thumb-page{border-color:#0075de4d}.thumb-name{font-size:var(--fs-xs);color:var(--ink-2);text-align:center;text-overflow:ellipsis;white-space:nowrap;cursor:text;margin-top:5px;font-weight:500;overflow:hidden}.thumb-item.active .thumb-name{color:var(--accent-text);font-weight:600}.thumb-name-input{width:100%;font-size:var(--fs-xs);text-align:center;border:1px solid var(--accent);border-radius:var(--r-sm);color:var(--ink);outline:none;margin-top:5px;padding:1px 4px}.thumb-actions{opacity:0;z-index:3;flex-direction:row;align-items:center;gap:6px;transition:opacity .15s,transform .15s;display:flex;position:absolute;top:10px;right:10px;transform:translateY(-2px)}.thumb-item:hover .thumb-actions,.thumb-item.active .thumb-actions{opacity:1;transform:translateY(0)}.thumb-btn{border-radius:var(--r-pill);border:1px solid var(--border-default);width:26px;height:26px;color:var(--ink-2);cursor:pointer;background:#fff;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s,transform .12s;display:flex;box-shadow:0 2px 6px #00000029}.thumb-btn:hover:not(:disabled){color:var(--accent-text);background:var(--accent-soft);border-color:#0075de4d;transform:scale(1.08)}.thumb-btn.danger:hover:not(:disabled){color:#fff;background:var(--danger);border-color:var(--danger)}.thumb-btn:disabled{opacity:.35;cursor:not-allowed}.thumb-btn:disabled:hover{color:var(--ink-2);background:#fff;transform:none}.canvas-scroll{background:radial-gradient(circle at 1px 1px, #0000000d 1px, transparent 0) 0 0 / 24px 24px, var(--bg);flex:1;padding:32px;display:flex;overflow:auto}.canvas-inner{flex-shrink:0}.page{border-radius:var(--r-sm);box-shadow:var(--shadow-page)}.pe-element{-webkit-user-select:none;user-select:none}.pe-safe-area{pointer-events:none;border:1px dashed #0075de4d;position:absolute}.pe-bleed-guide{pointer-events:none;z-index:1;border:1.5px dashed #d134388c;position:absolute}.pe-empty-hint{color:var(--ink-3);font-size:var(--fs-md);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pe-hover-box{border:1px dashed #0075de80}.pe-selection-box{border:1.5px solid var(--accent)}.pe-selection.locked .pe-selection-box{border-style:dashed;border-color:var(--ink-3)}.pe-selection.ghosted .pe-selection-box{border-style:dotted;border-color:var(--ink-3)}.pe-selection.overflowing .pe-selection-box{border-color:var(--warning);box-shadow:0 0 0 2px #d9770629}.pe-handle{border:1.5px solid var(--accent);z-index:6;background:#fff;border-radius:2px;transition:transform .12s;box-shadow:0 1px 3px #00000026}.pe-handle:hover{transform:scale(1.25)}.pe-guide{background:var(--guide);z-index:5}.pe-lock-badge{width:14px;height:14px;color:var(--ink-3);pointer-events:none;background:#ffffffe6;border-radius:3px;justify-content:center;align-items:center;display:flex;position:absolute;top:2px;right:2px}.pe-overflow-badge{background:var(--danger);color:#fff;text-align:center;cursor:pointer;pointer-events:auto;z-index:4;border:2px solid #fff;border-radius:50%;width:18px;height:18px;padding:0;font-size:11px;font-weight:700;line-height:14px;transition:transform .12s,background .12s;position:absolute;top:5px;right:5px;box-shadow:0 1px 3px #00000040}.pe-overflow-badge:hover{background:#b0272a;transform:scale(1.2)}.pe-overflow-badge:active{transform:scale(1.05)}.badge-fix-menu{z-index:60;background:#fff;border-radius:10px;flex-direction:column;min-width:160px;padding:6px;animation:.12s statusIn;display:flex;position:fixed;box-shadow:0 8px 28px #0000002e,0 0 0 1px #0000000f}.badge-fix-menu-title{color:var(--ink-3);white-space:nowrap;border-bottom:1px solid #0000000f;margin-bottom:4px;padding:4px 10px 8px;font-size:11px}.badge-fix-menu button{text-align:left;border-radius:var(--r-md);cursor:pointer;color:var(--ink-2);background:0 0;border:none;padding:8px 10px;font-size:13px;transition:background .12s,color .12s}.badge-fix-menu button:hover{background:var(--accent-soft);color:var(--accent-text)}.badge-fix-menu .badge-fix-all{font-weight:600}dialog[open]{margin:auto}.new-doc-dialog{border-radius:var(--r-lg);box-shadow:var(--shadow-pop);padding:var(--sp-4);border:none;min-width:380px}.new-doc-dialog::backdrop{background:#0000004d}.new-doc-presets{gap:var(--sp-2);grid-template-columns:repeat(3,1fr);display:grid}.new-doc-preset{padding:var(--sp-2) var(--sp-1);border:1px solid var(--border-default);border-radius:var(--r-md);color:var(--ink);font-size:var(--fs-xs);cursor:pointer;background:#fff;flex-direction:column;align-items:center;gap:2px;display:flex}.new-doc-preset span{color:var(--ink-3);font-size:11px}.new-doc-preset:hover:not(.on){border-color:var(--accent)}.new-doc-preset.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.new-doc-preset{justify-content:center;min-height:44px}.new-doc-clamp-note{font-size:var(--fs-xs);color:#b45309;border-radius:var(--r-sm);background:#fef3c7;border:1px solid #fcd34d;margin-top:8px;padding:4px 8px}.ai-dialog input[type=number]{height:30px;padding:0 var(--sp-2);border:1px solid var(--border-default);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--ink);font-variant-numeric:tabular-nums;box-sizing:border-box;appearance:textfield;background:#fff;outline:none;flex:1;min-width:0;transition:border-color .15s,box-shadow .15s}.ai-dialog input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ai-dialog input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ai-dialog input[type=number]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0075de1f}.ai-dialog input[type=checkbox],.props input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:14px;height:14px}.export-preview-dialog{border-radius:var(--r-lg);box-shadow:var(--shadow-pop);background:var(--panel);width:min(92vw,720px);max-height:90vh;color:var(--ink);border:none;padding:0}.export-preview-dialog::backdrop{background:#00000073}.export-preview-panel{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);flex-direction:column;width:min(92vw,720px);max-height:90vh;display:flex}.export-preview-overflow{color:var(--danger);background:#dc26261a;border:1px solid #dc262659;border-radius:999px;align-items:center;gap:3px;margin-left:6px;padding:1px 8px;font-weight:700;display:inline-flex}.export-preview-bleed-tag{color:var(--ink-3)}.export-preview-header{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-sm);color:var(--ink);justify-content:space-between;align-items:center;font-weight:600;display:flex}.export-preview-pages{padding:var(--sp-4);align-items:center;gap:var(--sp-4);background:var(--panel-2);flex-direction:column;display:flex;overflow-y:auto}.export-preview-page-item{gap:var(--sp-1);flex-direction:column;display:flex}.export-preview-page-label{font-size:var(--fs-xs);color:var(--ink-2);text-align:center}.export-preview-page{border:1px solid var(--border-default);box-shadow:var(--shadow-page);position:relative;overflow:hidden}.export-preview-actions{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border-subtle);display:flex;box-shadow:0 -4px 12px #0000000d}.help-dialog{border-radius:var(--r-lg);box-shadow:var(--shadow-pop);padding:var(--sp-4);border:none;min-width:340px;max-width:90vw}.help-dialog::backdrop{background:#0000004d}.help-list{font-size:var(--fs-sm);color:var(--ink);flex-direction:column;gap:8px;display:flex}.help-list kbd{border:1px solid var(--border-default);border-radius:var(--r-sm);background:var(--panel-2);border-bottom-width:2px;padding:1px 6px;font-family:inherit;font-size:11px;display:inline-block}.props{background:var(--panel);border-left:1px solid var(--border-subtle);flex-shrink:0;width:272px;overflow-y:auto}.props-empty{padding:48px var(--sp-6);text-align:center;color:var(--ink-3);font-size:var(--fs-sm)}.props-empty-title{font-size:var(--fs-md);color:var(--ink-2);margin-bottom:var(--sp-2)}.props-shortcut-list{margin-top:var(--sp-4);text-align:left;font-size:var(--fs-xs);flex-direction:column;gap:6px;display:flex}.props-shortcut-list kbd{border:1px solid var(--border-default);border-radius:var(--r-sm);background:var(--panel-2);border-bottom-width:2px;margin-right:4px;padding:1px 5px;font-family:inherit;font-size:10px;display:inline-block}.props-hint{font-size:var(--fs-xs);margin-top:var(--sp-2);color:var(--ink-3)}.props-header{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle);font-weight:600;font-size:var(--fs-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;background:#fffffff0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.props-name-input{border-radius:var(--r-sm);min-width:0;font-size:var(--fs-md);color:var(--ink);background:0 0;border:1px solid #0000;outline:none;flex:1;padding:2px 4px;font-weight:600}.props-name-input:hover:not(:disabled){border-color:var(--border-subtle)}.props-name-input:focus{border-color:var(--accent);background:#fff}.props-header-actions{gap:var(--sp-1);display:flex}.props-btn{border:1px solid var(--border-subtle);border-radius:var(--r-md);cursor:pointer;height:24px;font-size:var(--fs-xs);color:var(--ink-2);background:0 0;align-items:center;gap:4px;padding:0 8px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.props-btn:hover:not(:disabled){border-color:var(--border-default);background:#0000000d}.props-btn:disabled{opacity:.4;cursor:not-allowed}.props-btn.danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft);border-color:#d134384d}.props-locked{padding:10px var(--sp-4);color:var(--danger);font-size:var(--fs-xs);background:var(--danger-soft);border-bottom:1px solid #d1343826}.props-unlock-inline{border-radius:var(--r-sm);color:inherit;cursor:pointer;background:0 0;border:1px solid;margin-left:6px;padding:1px 8px;font-size:10px;font-weight:600}.props-unlock-inline:hover{background:#d134381a}.props-row input[type=range]:disabled{opacity:.4;cursor:not-allowed}.props-section{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle)}.props-section:last-child{border-bottom:none}.props-section-title{font-size:var(--fs-xs);color:var(--ink-3);margin-bottom:10px;font-weight:600}.props-section-collapsible{padding:0}.props-section-collapsible:last-child{border-bottom:none}.props-section-head{justify-content:space-between;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-3) var(--sp-4) 0;cursor:pointer;text-align:left;font:inherit;background:0 0;border:none;display:flex}.props-section-head .props-section-title{margin-bottom:0}.props-section-head:hover .props-section-title{color:var(--ink-2)}.props-section-body{padding:10px var(--sp-4) var(--sp-3)}.props-chevron{color:var(--ink-3);flex:none;transition:transform .15s}.props-chevron.closed{transform:rotate(-90deg)}.props-arrange-cap{width:30px;font-size:var(--fs-xs);color:var(--ink-3);flex:none;align-self:center}.props-grid{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.props-grid label{font-size:var(--fs-xs);color:var(--ink-3);gap:var(--sp-1);flex-direction:column;font-weight:500;display:flex}.props input[type=number],.props input[type=text]{height:26px;padding:0 var(--sp-2);border:1px solid var(--border-default);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--ink);font-variant-numeric:tabular-nums;box-sizing:border-box;background:#fff;outline:none;min-width:0;transition:border-color .15s,box-shadow .15s}.props input[type=number]:focus,.props input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0075de1f}.props input[type=number]:disabled{opacity:.5;background:var(--panel-2)}.props-row input[type=number]{flex:1 1 0}.props-field{font-size:var(--fs-xs);color:var(--ink-3);gap:var(--sp-1);flex-direction:column;margin-top:10px;font-weight:500;display:flex}.props-field input,.props-grid input{width:100%}.props-zorder{gap:var(--sp-1);flex-wrap:wrap;align-items:flex-end;display:flex}.props-zorder .props-btn{flex:none;justify-content:center;width:26px;padding:0}.props-row{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--ink-2);flex-wrap:wrap;margin-top:10px;display:flex}.props-row>span:first-child{width:56px;color:var(--ink-3);flex:none;font-weight:500}.props-row input[type=text]{flex:1}.props-row input[type=range]{flex:1 1 0;min-width:0}.props-row .props-val{flex:none}.props-row .props-btn{white-space:nowrap}.props-row select{height:26px;padding:0 var(--sp-2);border:1px solid var(--border-default);border-radius:var(--r-md);font-size:var(--fs-xs);color:var(--ink);cursor:pointer;background:#fff;outline:none;flex:1}.props-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0075de1f}.props-row input[type=color]{border:1px solid var(--border-default);border-radius:var(--r-md);cursor:pointer;background:#fff;flex:none;width:36px;height:26px;padding:2px}.props-row input[type=color]+.props-btn{margin-left:2px}.props-row input[type=range]{accent-color:var(--accent)}.props-val{text-align:right;min-width:34px;font-size:var(--fs-xs);color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:600}.props-textarea{border:1px solid var(--border-default);border-radius:var(--r-md);width:100%;min-height:84px;padding:var(--sp-2) 10px;font-size:var(--fs-sm);resize:vertical;color:var(--ink);font-family:inherit;line-height:var(--lh-normal);outline:none;transition:border-color .15s,box-shadow .15s}.props-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0075de1f}.props-seg{border-radius:var(--r-md);background:#0000000a;gap:2px;padding:2px;display:flex}.props-seg button{border-radius:var(--r-sm);cursor:pointer;color:var(--ink-2);background:0 0;border:none;align-items:center;padding:3px 10px;transition:background .15s,color .15s;display:flex}.props-seg button:hover{color:var(--ink)}.props-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.props-seg button.on{color:var(--accent-text);background:#fff;box-shadow:0 1px 3px #0000001f}.props-row>.props-seg{flex:1}.props-row>.props-seg button{flex:1;justify-content:center;padding:3px 6px}.props-cellgrid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:5px;max-height:200px;padding:2px;display:grid;overflow-y:auto}.props-cell{border:1px solid var(--border-subtle);font-size:var(--fs-xs);width:100%;color:var(--ink);background:var(--panel-2);border-radius:5px;outline:none;padding:4px 6px;transition:border-color .15s,background .15s}.props-cell:hover{border-color:var(--border-default);background:#fff}.props-cell:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #0075de1f}.ctx-menu{background:var(--panel);border:1px solid var(--border-subtle);border-radius:var(--r-lg);min-width:168px;max-height:70vh;box-shadow:var(--shadow-pop);padding:var(--sp-1);animation:.1s statusIn;overflow-y:auto}.ctx-item{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);width:100%;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;padding:7px 10px;display:flex}.ctx-item:hover:not(:disabled){background:#0000000d}.ctx-item:disabled{opacity:.4;cursor:not-allowed}.ctx-item.danger{color:var(--danger)}.ctx-item.danger:hover:not(:disabled){background:var(--danger-soft)}.ctx-sep{background:var(--border-subtle);height:1px;margin:var(--sp-1) var(--sp-2)}.ctx-label{color:var(--ink-3);font-size:var(--fs-xs);-webkit-user-select:none;user-select:none;padding:6px 10px 2px;font-weight:600}.tb-divider{background:var(--border-subtle);flex:none;width:1px;height:20px;margin:0 4px}.ctx-empty{color:var(--ink-3);font-size:var(--fs-xs);text-align:center;padding:10px}.ai-dialog{border:1px solid var(--border-subtle);border-radius:var(--r-lg);width:520px;max-width:92vw;box-shadow:var(--shadow-pop);color:var(--ink);background:#fff;padding:18px}.ai-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000004d}.ai-dialog-title{font-weight:600;font-size:var(--fs-lg);margin-bottom:var(--sp-3)}.ai-dialog-textarea{border:1px solid var(--border-default);border-radius:var(--r-lg);width:100%;font-size:var(--fs-xs);resize:vertical;color:var(--ink);outline:none;padding:10px;font-family:ui-monospace,SF Mono,Menlo,monospace;line-height:1.5}.ai-dialog-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0075de1f}.ai-dialog-actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-3);display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000002e;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0000004d}.pe-table td.pe-table-cell-editing{-webkit-user-select:text;user-select:text;cursor:text;caret-color:var(--accent);white-space:pre-wrap;overflow-wrap:anywhere;min-width:1em}.pe-table td[data-cell]{cursor:cell}.pe-table-dragband{pointer-events:auto;clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,8px 8px,8px calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) 8px);cursor:move;position:absolute;inset:0}.tb-btn.tb-active{background:var(--accent,#1a73e8);color:#fff}.page.draw-mode{cursor:crosshair}
