.toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:12px;background:#f8f9fa;border-bottom:1px solid #dee2e6;align-items:center}.toolbar-group{display:flex;gap:2px;align-items:center}.toolbar-divider{width:1px;height:24px;background:#dee2e6;margin:0 4px}.toolbar button{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:6px 10px;cursor:pointer;font-size:14px;color:#495057;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.toolbar button:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.toolbar button:active:not(:disabled){background:#dee2e6}.toolbar button:disabled{opacity:.5;cursor:not-allowed}.toolbar button.is-active{background:#0d6efd;color:#fff;border-color:#0d6efd}.toolbar button.is-active:hover{background:#0b5ed7;border-color:#0b5ed7}.toolbar.toolbar-locked button:not(.lock-btn):not(.lock-exempt){opacity:.4;pointer-events:none}.toolbar.toolbar-locked select{opacity:.4;pointer-events:none}.toolbar.toolbar-locked .word-count{opacity:1;pointer-events:auto}.lock-btn.is-active{background:#dc3545!important;border-color:#dc3545!important;color:#fff!important}.lock-btn.is-active:hover{background:#bb2d3b!important;border-color:#bb2d3b!important}.heading-select{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:6px 8px;font-size:14px;color:#495057;cursor:pointer;min-width:100px;height:32px}.heading-select:hover{border-color:#adb5bd}.heading-select:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 .2rem #0d6efd40}.font-size-select{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:6px 8px;font-size:14px;color:#495057;cursor:pointer;min-width:75px;height:32px}.font-size-select:hover{border-color:#adb5bd}.font-size-select:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 .2rem #0d6efd40}.paper-size-select{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:6px 8px;font-size:14px;color:#495057;cursor:pointer;min-width:70px;height:32px}.paper-size-select:hover{border-color:#adb5bd}.paper-size-select:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 .2rem #0d6efd40}.color-picker-wrapper{position:relative}.color-button,.highlight-button{font-weight:700;position:relative}.color-button:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:16px;height:3px;background:currentColor}.color-picker-panel{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:8px;box-shadow:0 2px 8px #00000026;display:flex;flex-wrap:wrap;gap:4px;width:200px;z-index:1000}.color-swatch{width:24px;height:24px;border:1px solid #dee2e6;border-radius:3px;cursor:pointer;padding:0;min-width:24px}.color-swatch:hover{border-color:#0d6efd;transform:scale(1.1)}.color-clear{flex:1 0 100%;background:#fff!important;color:#dc3545;font-size:12px;padding:4px;height:auto;min-width:auto}.punctuation-wrapper{position:relative}.punctuation-trigger{min-width:40px;font-weight:700}.punctuation-panel{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:12px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:300px;max-width:400px}.punctuation-section{margin-bottom:12px}.punctuation-section:last-child{margin-bottom:0}.punctuation-label{font-size:12px;color:#6c757d;margin-bottom:6px;font-weight:500}.punctuation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:4px}.punctuation-item{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:8px;cursor:pointer;font-size:16px;color:#212529;transition:all .2s;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center}.punctuation-item:hover{background:#e9ecef;border-color:#0d6efd;transform:translateY(-2px);box-shadow:0 2px 4px #0000001a}.punctuation-item:active{transform:translateY(0)}.punctuation-item.bracket{font-size:14px;letter-spacing:-2px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.modal-content{background:#fff;border-radius:8px;padding:24px;min-width:400px;box-shadow:0 4px 20px #0000004d}.modal-content h3{margin:0 0 16px;font-size:18px;color:#212529}.modal-content input{width:100%;padding:8px 12px;border:1px solid #dee2e6;border-radius:4px;font-size:14px;margin-bottom:16px}.modal-content input:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 .2rem #0d6efd40}.modal-buttons{display:flex;gap:8px;justify-content:flex-end}.modal-buttons button{padding:8px 16px;min-width:80px}.modal-buttons button:first-child{background:#0d6efd;color:#fff;border-color:#0d6efd}.modal-buttons button:first-child:hover{background:#0b5ed7;border-color:#0b5ed7}.modal-buttons button:last-child{background:#6c757d;color:#fff;border-color:#6c757d}.modal-buttons button:last-child:hover{background:#5c636a;border-color:#5c636a}@media(max-width:768px){.toolbar{padding:8px;gap:2px}.toolbar button{min-width:28px;height:28px;padding:4px 6px;font-size:12px}.heading-select{min-width:80px;font-size:12px;height:28px}.punctuation-panel{min-width:250px}.modal-content{min-width:300px;margin:0 16px}}.font-picker-wrapper{position:relative}.font-button{font-weight:700;font-size:14px}.font-picker-panel{position:absolute;top:100%;left:0;margin-top:5px;background:#fff;border:1px solid #ddd;border-radius:4px;padding:4px;box-shadow:0 2px 8px #00000026;z-index:1000;min-width:180px;max-height:300px;overflow-y:auto}.font-item{display:block;width:100%;padding:8px 12px;text-align:left;background:#fff;border:none;border-radius:3px;cursor:pointer;font-size:14px;transition:background .2s}.font-item:hover{background:#f0f0f0}.word-count{margin-left:auto;padding:0 12px}.word-count span{font-size:13px;color:#6c757d;white-space:nowrap;font-weight:500}.image-insert-options{display:flex;flex-direction:column;gap:16px}.image-option{display:flex;flex-direction:column;gap:8px}.image-option label{font-size:14px;color:#495057;font-weight:500}.image-option input{margin-bottom:0}.image-option button{padding:8px 16px;background:#0d6efd;color:#fff;border:1px solid #0d6efd;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.image-option button:hover{background:#0b5ed7;border-color:#0b5ed7}.file-upload-button{width:100%;padding:12px 16px!important;background:#28a745!important;border-color:#28a745!important;font-size:14px}.file-upload-button:hover{background:#218838!important;border-color:#218838!important}.image-divider{text-align:center;color:#6c757d;font-size:14px;font-weight:500;position:relative}.image-divider:before,.image-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#dee2e6}.image-divider:before{left:0}.image-divider:after{right:0}.print-preview-overlay{position:fixed;inset:0;z-index:99999;background:#0009;display:flex;flex-direction:column}.print-preview-toolbar{display:flex;gap:10px;padding:12px 20px;background:#1e1e1e;align-items:center;justify-content:center;flex-shrink:0}.print-preview-btn{padding:8px 24px;border:1px solid #555;background:#333;color:#fff;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.print-preview-btn:hover{background:#444;border-color:#777}.print-preview-btn-primary{background:#0d6efd;border-color:#0d6efd}.print-preview-btn-primary:hover{background:#0b5ed7;border-color:#0b5ed7}.print-preview-iframe{flex:1;border:none;background:#525659}@media print{.print-preview-overlay{display:none}}@media(max-width:768px){.word-count{display:none}.image-insert-options{gap:12px}.modal-content{min-width:280px}}.link-bubble-menu{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;padding:8px;display:flex;align-items:center;gap:8px;max-width:500px}.link-display{display:flex;align-items:center;gap:8px}.link-url{color:#06c;text-decoration:none;font-size:14px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 8px;background:#f5f5f5;border-radius:4px}.link-url:hover{background:#e8e8e8}.link-actions{display:flex;gap:4px}.link-actions button{padding:4px 8px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.link-actions button:hover{background:#f5f5f5;border-color:#999}.link-edit-form{display:flex;align-items:center;gap:6px}.link-edit-form input{flex:1;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:250px}.link-edit-form input:focus{outline:none;border-color:#06c}.link-edit-form button{padding:6px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700;transition:all .2s}.link-edit-form button:hover{background:#f5f5f5}.link-edit-form button:first-of-type{background:#06c;color:#fff;border-color:#06c}.link-edit-form button:first-of-type:hover{background:#0052a3}.table-bubble-menu{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 16px #0003;padding:12px;display:flex;align-items:center;gap:12px;z-index:1000;flex-wrap:wrap}.table-menu-section{display:flex;align-items:center;gap:4px}.menu-label{font-size:13px;color:#666;font-weight:500;margin-right:4px}.table-menu-divider{width:1px;height:24px;background:#ddd}.table-bubble-menu button{padding:6px 10px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s;white-space:nowrap}.table-bubble-menu button:hover:not(:disabled){background:#f5f5f5;border-color:#999}.table-bubble-menu button:disabled{opacity:.4;cursor:not-allowed}.table-bubble-menu button.danger-button{color:#d32f2f;border-color:#d32f2f}.table-bubble-menu button.danger-button:hover:not(:disabled){background:#d32f2f;color:#fff}@media(max-width:768px){.link-bubble-menu{max-width:90vw}.link-url{max-width:200px}.link-edit-form input{min-width:150px}.table-bubble-menu{left:10px;right:10px;transform:none;justify-content:center}}.document-editor{border:1px solid #ddd;border-radius:8px;overflow:visible;background:#fff;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:100%;min-height:500px}.editor-container{height:var(--paper-min-height, 562px);flex:none;overflow:auto;padding:24px;background:#e0e0e0;display:flex;justify-content:center}.ProseMirror{outline:none;width:var(--paper-width, 794px);min-height:var(--paper-min-height, 562px);font-size:16px;line-height:1.5;color:#333;font-family:DFKai-SB,BiauKai,標楷體,serif;text-align:justify;counter-reset:list-L1;background-color:#fff;box-shadow:0 1px 4px #0000001f,0 4px 16px #00000014;padding:76px 76px 76px 132px;box-sizing:border-box;flex-shrink:0}.ProseMirror:focus{outline:none}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#adb5bd;pointer-events:none;height:0}.ProseMirror h1{font-size:2em;font-weight:700;margin:1em 0 .5em;line-height:1.2}.ProseMirror h2{font-size:1.5em;font-weight:700;margin:.8em 0 .4em;line-height:1.3}.ProseMirror h3{font-size:1.3em;font-weight:700;margin:.6em 0 .3em;line-height:1.4}.ProseMirror h4{font-size:1.1em;font-weight:700;margin:.5em 0 .2em}.ProseMirror h5,.ProseMirror h6{font-size:1em;font-weight:700;margin:.4em 0 .2em}.ProseMirror p{margin:.5em 0}.ProseMirror ul,.ProseMirror ol{padding-left:2em;margin:.5em 0}.ProseMirror ol{list-style:none;padding-left:4em}.ProseMirror ol>li{counter-increment:list-L1;position:relative;list-style:none}.ProseMirror ol>li::marker{content:none;display:none}.ProseMirror ol>li>p:first-child{position:relative}.ProseMirror ol>li>p:first-child:before{content:counter(list-L1,trad-chinese-informal) "、";position:absolute;left:-4em;width:4em;text-align:right;white-space:nowrap;color:#495057;font-weight:500}.ProseMirror ol ol{counter-reset:list-L2;padding-left:3.5em}.ProseMirror ol ol>li{counter-increment:list-L2}.ProseMirror ol ol>li>p:first-child:before{content:"(" counter(list-L2,trad-chinese-informal) ")";left:-3.5em;width:3em}.ProseMirror ol ol ol{counter-reset:list-L3;padding-left:2em}.ProseMirror ol ol ol>li{counter-increment:list-L3}.ProseMirror ol ol ol>li>p:first-child:before{content:counter(list-L3,decimal) "、";left:-2em;width:2em}.ProseMirror ol ol ol ol{counter-reset:list-L4;padding-left:2.5em}.ProseMirror ol ol ol ol>li{counter-increment:list-L4}.ProseMirror ol ol ol ol>li>p:first-child:before{content:"(" counter(list-L4,decimal) ")";left:-2.5em;width:2em}.ProseMirror ol ol ol ol ol{counter-reset:list-L5;padding-left:2em}.ProseMirror ol ol ol ol ol>li{counter-increment:list-L5}.ProseMirror ol ol ol ol ol>li>p:first-child:before{content:counter(list-L5,cjk-heavenly-stem) "、";left:-2em;width:2em}.ProseMirror ol ol ol ol ol ol{counter-reset:list-L6;padding-left:2.5em}.ProseMirror ol ol ol ol ol ol>li{counter-increment:list-L6}.ProseMirror ol ol ol ol ol ol>li>p:first-child:before{content:"(" counter(list-L6,cjk-heavenly-stem) ")";left:-2.5em;width:2em}.ProseMirror ol ol ol ol ol ol ol{counter-reset:list-L7;padding-left:2em}.ProseMirror ol ol ol ol ol ol ol>li{counter-increment:list-L7}.ProseMirror ol ol ol ol ol ol ol>li>p:first-child:before{content:counter(list-L7,cjk-earthly-branch) "、";left:-2em;width:2em}.ProseMirror ol[data-restart-numbering=true]{counter-set:list-L1 0}.ProseMirror ol ol[data-restart-numbering=true]{counter-set:list-L2 0}.ProseMirror ol ol ol[data-restart-numbering=true]{counter-set:list-L3 0}.ProseMirror ol ol ol ol[data-restart-numbering=true]{counter-set:list-L4 0}.ProseMirror ol ol ol ol ol[data-restart-numbering=true]{counter-set:list-L5 0}.ProseMirror ol ol ol ol ol ol[data-restart-numbering=true]{counter-set:list-L6 0}.ProseMirror ol ol ol ol ol ol ol[data-restart-numbering=true]{counter-set:list-L7 0}.ProseMirror ol>li{list-style:none;margin:.2em 0}.ProseMirror ul>li{margin:.2em 0}.ProseMirror li p{margin:0}.ProseMirror blockquote{border-left:4px solid #ddd;padding-left:1em;margin:1em 0;color:#666;font-style:italic}.ProseMirror code{background:#f5f5f5;padding:.2em .4em;border-radius:3px;font-family:Courier New,Courier,monospace;font-size:.9em}.ProseMirror pre{background:#2d2d2d;color:#f8f8f2;padding:1em;border-radius:5px;overflow-x:auto;margin:1em 0}.ProseMirror pre code{background:none;color:inherit;padding:0}.ProseMirror hr{border:none;border-top:2px solid #ddd;margin:2em 0}.ProseMirror a{color:#06c;text-decoration:underline;cursor:pointer}.ProseMirror a:hover{color:#0052a3}.ProseMirror img{max-width:100%;height:auto;border-radius:4px;margin:.5em 0;cursor:pointer;transition:all .2s}.ProseMirror img:hover{box-shadow:0 2px 8px #00000026;transform:scale(1.02)}.ProseMirror img.ProseMirror-selectednode{outline:3px solid #0066cc;outline-offset:2px}.ProseMirror table{border-collapse:collapse;width:100%;margin:1em 0;overflow:hidden;table-layout:fixed}.ProseMirror th,.ProseMirror td{border:1px solid #ddd;padding:.5em .75em;text-align:left;min-width:100px;vertical-align:top;position:relative}.ProseMirror th{background:#f5f5f5;font-weight:700}.ProseMirror td{background:#fff}.ProseMirror .selectedCell{background:#e3f2fd!important}.ProseMirror table p{margin:0}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background-color:#06c;cursor:col-resize;z-index:20}.ProseMirror [style*="text-align: left"]{text-align:left}.ProseMirror [style*="text-align: center"]{text-align:center}.ProseMirror [style*="text-align: right"]{text-align:right}.ProseMirror [style*="text-align: justify"]{text-align:justify}.ProseMirror mark{background-color:#ffeb3b;padding:0 .2em;border-radius:2px}.ProseMirror sup{vertical-align:super;font-size:.75em;line-height:0}.ProseMirror sub{vertical-align:sub;font-size:.75em;line-height:0}.ProseMirror ::selection{background:#b3d4fc}.editor-container::-webkit-scrollbar{width:8px}.editor-container::-webkit-scrollbar-track{background:#f1f1f1}.editor-container::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.editor-container::-webkit-scrollbar-thumb:hover{background:#555}.editor-footer{border-top:1px solid #e0e0e0;background:#fafafa;padding:0;font-size:13px;color:#555}.editor-footer details{margin:0}.editor-footer summary{padding:6px 16px;cursor:pointer;font-size:12px;color:#888;-webkit-user-select:none;user-select:none}.editor-footer summary:hover{color:#555;background:#f0f0f0}.footer-guide{padding:8px 16px 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.guide-section strong{display:block;font-size:13px;color:#333;margin-bottom:4px}.guide-section ul{margin:0;padding-left:1.2em;list-style:disc}.guide-section li{margin:2px 0;line-height:1.5;font-size:12px}.guide-section kbd{display:inline-block;padding:1px 5px;font-size:11px;font-family:inherit;background:#f0f0f0;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px #bbb;line-height:1.4}.editor-container.editor-locked{position:relative}.editor-container.editor-locked:before{content:"已鎖定 — 點擊工具列鎖頭按鈕解除";position:sticky;top:8px;z-index:10;display:block;width:fit-content;margin:0 auto -28px;background:#000000b3;color:#fff;padding:4px 16px;border-radius:4px;font-size:12px;pointer-events:none}.editor-container.editor-locked .ProseMirror{cursor:not-allowed;opacity:.8}.document-editor.fullscreen{position:fixed;inset:0;z-index:9999;border-radius:0;border:none;min-height:unset}.document-editor.fullscreen .editor-container{flex:1;overflow-y:auto}@media print{@page{size:A4;margin:2.5cm 2.5cm 2.5cm 4cm}.toolbar,.editor-footer,button,.modal-overlay,.punctuation-panel,.color-picker-panel{display:none!important}.document-editor{border:none;box-shadow:none;background:#fff;min-height:auto;height:auto}.editor-container{padding:0;overflow:visible}.ProseMirror{min-height:auto;font-size:12pt;line-height:1.5;color:#000;font-family:DFKai-SB,BiauKai,標楷體,serif;text-align:justify}.ProseMirror h1{font-size:20pt;page-break-after:avoid;break-after:avoid}.ProseMirror h2{font-size:16pt;page-break-after:avoid;break-after:avoid}.ProseMirror h3{font-size:14pt;page-break-after:avoid;break-after:avoid}.ProseMirror h4,.ProseMirror h5,.ProseMirror h6{font-size:12pt;page-break-after:avoid;break-after:avoid}.ProseMirror p{orphans:3;widows:3}.ProseMirror ol>li>p:first-child:before{color:#000}.ProseMirror blockquote{border-left:2pt solid #666;page-break-inside:avoid;break-inside:avoid}.ProseMirror pre{background:#f5f5f5;color:#000;border:1pt solid #ddd;page-break-inside:avoid;break-inside:avoid}.ProseMirror code{background:#f5f5f5;color:#000}.ProseMirror hr{border-top:1pt solid #000;page-break-after:avoid;break-after:avoid}.ProseMirror a{color:#06c;text-decoration:underline}.ProseMirror a:after{content:" (" attr(href) ")";font-size:.8em;color:#666}.ProseMirror img{max-width:100%;page-break-inside:avoid;break-inside:avoid}.ProseMirror table{border-collapse:collapse;page-break-inside:avoid;break-inside:avoid}.ProseMirror th,.ProseMirror td{border:1pt solid #000;padding:4pt 8pt}.ProseMirror th{background:#f5f5f5}.ProseMirror ::selection{background:transparent}.ProseMirror mark{background-color:#ffeb3b;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.official-document-editor{display:flex;flex-direction:column;gap:0;height:100%}.doc-header-form,.doc-footer-form{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:16px 20px}.doc-header-form{margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.doc-footer-form{margin-top:0;border-radius:0;border-top:none}.doc-form-section{border:1px solid #dee2e6;border-radius:6px;padding:12px 16px;margin-bottom:12px}.doc-form-section:last-child{margin-bottom:0}.doc-form-section legend{font-size:14px;font-weight:600;color:#0d6efd;padding:0 6px}.doc-form-row{margin-bottom:10px}.doc-form-row:last-child{margin-bottom:0}.doc-form-row>label{display:block;font-size:13px;font-weight:500;color:#495057;margin-bottom:3px}.doc-required{color:#dc3545}.doc-form-row input[type=text],.doc-form-row input[type=email],.doc-form-row textarea,.doc-form-row select{width:100%;padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:13px;font-family:inherit;color:#212529;transition:border-color .2s;box-sizing:border-box}.doc-form-row input:focus,.doc-form-row textarea:focus,.doc-form-row select:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 2px #0d6efd26}.doc-form-row textarea{resize:vertical;min-height:50px}.doc-form-row select{cursor:pointer;background:#fff}.doc-form-row-inline{display:flex;gap:10px;align-items:flex-start}.doc-form-row-inline>.doc-inline-field{flex:1}.doc-inline-field>label{display:block;font-size:13px;font-weight:500;color:#495057;margin-bottom:3px}.doc-inline-field input[type=text],.doc-inline-field input[type=email],.doc-inline-field select{width:100%;padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:13px;color:#212529;transition:border-color .2s;box-sizing:border-box}.doc-inline-field input:focus,.doc-inline-field select:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 2px #0d6efd26}.doc-inline-field-small{flex:0 0 100px!important}.doc-date-inputs{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.doc-date-inputs span{font-size:13px;color:#495057;white-space:nowrap}.doc-date-input{width:60px!important;text-align:center}.doc-date-input-short{width:44px!important}.doc-footer-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.doc-btn-reset{padding:6px 16px;background:#6c757d;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.doc-btn-reset:hover{background:#5c636a}.doc-header-form details{margin-bottom:12px}.doc-header-form details:last-child{margin-bottom:0}.doc-header-form summary{cursor:pointer;font-size:14px;font-weight:600;color:#0d6efd;padding:6px 0;-webkit-user-select:none;user-select:none;list-style:revert}.doc-header-form summary:hover{color:#0b5ed7}.official-document-editor .document-editor{border-radius:0;border-left:1px solid #dee2e6;border-right:1px solid #dee2e6;border-top:none;border-bottom:none}.doc-action-bar{display:flex;gap:8px;padding:10px 16px;background:#f8f9fa;border:1px solid #dee2e6;border-top:none;border-radius:0 0 8px 8px}.doc-btn-action{padding:6px 14px;border:1px solid #dee2e6;background:#fff;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;color:#495057;transition:all .2s}.doc-btn-action:hover{background:#e9ecef;border-color:#adb5bd}.doc-btn-action-primary{background:#0d6efd;border-color:#0d6efd;color:#fff}.doc-btn-action-primary:hover{background:#0b5ed7;border-color:#0b5ed7}.doc-json-panel{background:#fff;border:1px solid #dee2e6;border-top:none;border-radius:0 0 8px 8px;padding:12px 16px}.doc-action-bar:has(+.doc-json-panel){border-radius:0}.doc-json-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.doc-json-title{font-size:14px;font-weight:600;color:#495057}.doc-json-actions{display:flex;gap:6px}.doc-btn-small{padding:4px 10px;border:1px solid #dee2e6;background:#fff;border-radius:4px;font-size:12px;cursor:pointer;color:#495057;transition:all .2s}.doc-btn-small:hover{background:#f8f9fa;border-color:#adb5bd}.doc-btn-small-primary{background:#0d6efd;border-color:#0d6efd;color:#fff}.doc-btn-small-primary:hover{background:#0b5ed7;border-color:#0b5ed7}.doc-json-input{width:100%;background:#f8f9fa;padding:12px;border:1px solid #dee2e6;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:12px;overflow:auto;white-space:pre;line-height:1.5;color:#212529;resize:vertical;min-height:200px;box-sizing:border-box}.doc-json-input:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 2px #0d6efd26}@media(max-width:768px){.doc-header-form,.doc-footer-form{padding:12px}.doc-form-section{padding:10px 12px}.doc-form-row-inline{flex-direction:column;gap:8px}.doc-inline-field-small{flex:1!important}.doc-footer-actions{flex-direction:column}.doc-footer-actions button{width:100%}.doc-action-bar{flex-wrap:wrap}.doc-btn-action{flex:1;text-align:center}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:#f5f7fa;color:#333}.app{max-width:1200px;margin:0 auto;padding:24px}@media(max-width:768px){.app{padding:12px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{height:100vh}
