*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--win-bg: #f0f0f0;--win-border: #acacac;--win-border-light: #d5d5d5;--win-text: #000000;--win-text-disabled: #6d6d6d;--win-highlight: #cce8ff;--win-highlight-border: #99d1ff;--win-active: #0078d7;--win-white: #ffffff;--win-menu-bg: #f2f2f2;--win-menu-hover: #e5f3ff;--win-dialog-bg: #f0f0f0;--win-btn-bg: #e1e1e1;--win-btn-hover: #d5d5d5;--win-btn-border: #adadad;--mp-toolbar-bg: #eef1f3;--mp-toolbar-border: #d6d6d6;--mp-tab-bg: #e8e8e8;--mp-tab-active: #ffffff;--mp-tab-hover: #d8e6f2;--mp-tab-border: #b0b0b0;--mp-tab-bar-bg: #d4d0c8;--mp-status-bg: #eef1f3;--mp-titlebar-bg: #3c3c3c;--menubar-height: 23px;--toolbar-height: 30px;--tabbar-height: 28px;--statusbar-height: 24px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:12px;color:var(--win-text)}html,body,#root{height:100%;overflow:hidden;background:var(--win-bg);user-select:none;-webkit-user-select:none}.app{display:flex;flex-direction:column;height:100vh;border:1px solid #999;overflow:hidden}.top-branding{position:fixed;top:2px;right:16px;z-index:1100;display:flex;align-items:center;gap:6px;height:20px}.branding-text{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:11px;font-weight:600;color:#555;letter-spacing:.3px;opacity:.6;-webkit-user-select:none;user-select:none}.dark-theme .branding-text{color:#999}.tool-btn.dark-mode-toggle svg{width:16px;height:16px}.github-link{display:flex;align-items:center;justify-content:center;width:18px;height:18px;opacity:.45;transition:opacity .2s ease}.github-link:hover{opacity:.85}.github-link svg{width:16px;height:16px;fill:#333}.dark-theme .github-link svg{fill:#aaa}.dark-theme .github-link:hover svg{fill:#ddd}.menu-bar{display:flex;align-items:stretch;height:var(--menubar-height);background:var(--win-menu-bg);border-bottom:1px solid var(--mp-toolbar-border);flex-shrink:0;position:relative;z-index:1000}.menu-item{padding:3px 10px;cursor:default;position:relative;white-space:nowrap;display:flex;align-items:center;font-size:12px}.menu-item:hover,.menu-item.open{background:var(--win-menu-hover);outline:1px solid var(--win-highlight-border)}.menu-item.open{background:var(--win-white)}.menu-dropdown{position:absolute;top:100%;left:0;background:var(--win-white);border:1px solid #999;box-shadow:2px 2px 6px #0003;min-width:270px;z-index:1001;padding:2px 0}.menu-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:4px 24px 4px 28px;cursor:default;white-space:nowrap;font-size:12px;position:relative}.menu-dropdown-item:hover{background:var(--win-highlight)}.menu-dropdown-item.disabled{color:var(--win-text-disabled)}.menu-dropdown-item.disabled:hover{background:transparent}.menu-dropdown-item .shortcut{margin-left:40px;color:var(--win-text-disabled);font-size:11px}.menu-dropdown-item.checked:before{content:"✓";position:absolute;left:8px;font-size:11px}.menu-separator{height:1px;background:var(--win-border-light);margin:3px 2px}.toolbar{display:flex;align-items:center;height:var(--toolbar-height);background:var(--mp-toolbar-bg);border-bottom:1px solid var(--mp-toolbar-border);padding:0 4px;flex-shrink:0;gap:0}.tool-btn{width:24px;height:24px;border:1px solid transparent;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:2px;padding:2px;color:#444;flex-shrink:0}.tool-btn:hover{border-color:var(--win-highlight-border);background:var(--win-highlight)}.tool-btn:active{border-color:var(--win-active);background:var(--win-highlight)}.tool-btn.active{border-color:var(--win-active);background:#d0e8ff}.tool-btn svg{width:16px;height:16px}.tool-separator{width:1px;height:20px;background:var(--mp-toolbar-border);margin:0 3px;flex-shrink:0}.tab-bar{display:flex;align-items:flex-end;height:var(--tabbar-height);background:var(--mp-tab-bar-bg);border-bottom:1px solid var(--mp-tab-border);flex-shrink:0;overflow:hidden;padding-left:2px}.tab-scroll-area{display:flex;align-items:flex-end;overflow-x:auto;overflow-y:hidden;flex:1;scrollbar-width:none}.tab-scroll-area::-webkit-scrollbar{display:none}.tab{display:flex;align-items:center;height:24px;padding:0 8px;background:var(--mp-tab-bg);border:1px solid var(--mp-tab-border);border-bottom:none;margin-right:-1px;cursor:pointer;white-space:nowrap;font-size:11px;position:relative;flex-shrink:0;border-radius:2px 2px 0 0;max-width:200px}.tab:hover{background:var(--mp-tab-hover)}.tab.active{background:var(--mp-tab-active);border-bottom:1px solid var(--mp-tab-active);z-index:1;margin-bottom:-1px}.tab-icon{width:14px;height:14px;margin-right:4px;flex-shrink:0;display:flex;align-items:center}.tab-icon svg{width:14px;height:14px}.tab-title{overflow:hidden;text-overflow:ellipsis;max-width:150px}.tab-close{margin-left:6px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:2px;font-size:10px;opacity:0;color:#666;flex-shrink:0;border:none;background:transparent;cursor:pointer;padding:0}.tab:hover .tab-close,.tab.active .tab-close{opacity:1}.tab-close:hover{background:#0000001a;color:#e81123}.tab-modified-dot{width:6px;height:6px;border-radius:50%;background:#e81123;margin-left:4px;flex-shrink:0}.tab-new-btn{width:24px;height:22px;border:none;background:transparent;cursor:pointer;font-size:16px;color:#666;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0 2px;border-radius:2px;align-self:flex-end}.tab-new-btn:hover{background:var(--win-highlight)}.editor-wrapper{flex:1;overflow:hidden;position:relative;background:#fff}.editor-container{position:absolute;top:0;left:0;right:0;bottom:0;background:#fff}.editor-container>div{height:100%!important}.editor-container .cm-editor{height:100%!important;background:#fff!important}.editor-container .cm-editor .cm-scroller{overflow:auto!important}.editor-container .cm-editor .cm-scroller{font-family:Consolas,Courier New,Liberation Mono,monospace;overflow:auto;background:#fff!important}.editor-container .cm-editor .cm-content{background:transparent}.editor-container .cm-editor .cm-gutters{background:#e4e4e4!important;border-right:1px solid #ccc}.editor-container .cm-editor .cm-lineNumbers .cm-gutterElement{color:gray;font-size:11px;padding:0 8px 0 4px}.editor-container .cm-editor .cm-scroller{background:linear-gradient(to right,#e4e4e4,#e4e4e4 38px,#ccc 38px,#ccc 39px,#fff 39px)!important}.editor-container .cm-editor .cm-activeLine{background:#e8f2fe}.editor-container .cm-editor .cm-selectionBackground,.editor-container .cm-editor.cm-focused .cm-selectionBackground{background:#add6ff!important}.editor-container .cm-editor .cm-cursor{border-left-color:#000}.editor-container .cm-editor .cm-foldGutter .cm-gutterElement{font-size:10px;color:gray;padding:0 2px}.document-map{width:120px;background:#f8f8f8;border-left:1px solid #ddd;overflow:hidden;position:relative;flex-shrink:0}.document-map canvas{width:100%;cursor:pointer}.status-bar{display:flex;align-items:center;height:var(--statusbar-height);background:var(--mp-status-bg);border-top:1px solid var(--mp-toolbar-border);flex-shrink:0;overflow:hidden}.status-section{padding:0 10px;border-right:1px solid var(--mp-toolbar-border);height:100%;display:flex;align-items:center;font-size:11px;white-space:nowrap;color:#444}.status-section:last-child{border-right:none}.status-doctype{min-width:130px}.status-position{flex:1;min-width:200px}.status-length{min-width:80px}.status-lines{min-width:70px}.status-encoding{min-width:60px}.status-eol{min-width:110px}.status-insert{min-width:30px;text-align:center}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000}.win-dialog{position:absolute;top:100px;left:50%;transform:translate(-50%);background:var(--win-dialog-bg);border:1px solid #999;box-shadow:2px 4px 12px #0000004d;min-width:420px;font-size:12px}.win-dialog.small-dialog{min-width:280px}.win-dialog-titlebar{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:var(--mp-titlebar-bg);color:#fff;font-size:12px;cursor:move}.win-dialog-close{width:20px;height:20px;border:none;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;border-radius:2px}.win-dialog-close:hover{background:#e81123}.win-dialog-body{padding:12px}.win-dialog-tabs{display:flex;border-bottom:1px solid var(--win-border-light);margin-bottom:10px}.win-dialog-tab{padding:4px 16px;border:1px solid transparent;background:transparent;cursor:pointer;font-size:12px;border-bottom:none;margin-bottom:-1px}.win-dialog-tab.active{background:var(--win-dialog-bg);border-color:var(--win-border-light);border-bottom-color:var(--win-dialog-bg)}.win-dialog-tab:hover:not(.active){background:var(--win-highlight)}.dialog-row{display:flex;align-items:center;margin-bottom:8px;gap:8px}.dialog-row label{min-width:100px;white-space:nowrap}.win-input{flex:1;padding:3px 6px;border:1px solid var(--win-border);background:#fff;font-family:inherit;font-size:12px;outline:none}.win-input:focus{border-color:var(--win-active)}.dialog-options{display:flex;flex-wrap:wrap;gap:4px 16px;margin:10px 0}.win-checkbox,.win-radio{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:12px}.dialog-direction{display:flex;align-items:center;gap:12px;margin:8px 0}.dialog-buttons{display:flex;gap:6px;margin-top:12px;justify-content:flex-end}.win-btn{padding:4px 16px;border:1px solid var(--win-btn-border);background:var(--win-btn-bg);cursor:pointer;font-family:inherit;font-size:12px;min-width:75px;text-align:center}.win-btn:hover{background:var(--win-btn-hover);border-color:var(--win-active)}.win-btn:active{background:#ccc}.find-status{margin-top:8px;font-size:11px;color:#666;min-height:16px}.about-dialog{min-width:350px;text-align:center}.about-body{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px}.about-body h2{font-size:18px;font-weight:600}.about-body p{color:#555;font-size:12px}.about-sub{font-size:11px!important;color:#888!important}.download-link{display:inline-block;margin-top:8px;padding:6px 20px;background:var(--win-active);color:#fff;text-decoration:none;border-radius:2px;font-size:12px;border:none;cursor:pointer}.download-link:hover{background:#006cc1}.context-menu{position:fixed;background:var(--win-white);border:1px solid #999;box-shadow:2px 2px 6px #0003;min-width:200px;padding:2px 0;z-index:3000;font-size:12px}.context-menu-item{display:flex;align-items:center;justify-content:space-between;padding:5px 24px 5px 28px;cursor:default;white-space:nowrap}.context-menu-item:hover{background:var(--win-highlight)}.context-menu-item.disabled{color:var(--win-text-disabled)}.context-menu-item .shortcut{margin-left:40px;color:var(--win-text-disabled);font-size:11px}.context-menu-separator{height:1px;background:var(--win-border-light);margin:3px 2px}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border:1px solid #f1f1f1}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}::-webkit-scrollbar-corner{background:#f1f1f1}.dark-theme{--mp-toolbar-bg: #3c3c3c;--mp-toolbar-border: #555;--mp-tab-bar-bg: #2d2d2d;--mp-tab-bg: #3c3c3c;--mp-tab-active: #1e1e1e;--mp-tab-hover: #4a4a4a;--mp-tab-border: #555;--mp-status-bg: #3c3c3c;--win-menu-bg: #3c3c3c;--win-menu-hover: #094771;--win-text: #cccccc;--win-text-disabled: #666;--win-highlight: #094771;--win-highlight-border: #094771;--win-white: #252526;--win-dialog-bg: #3c3c3c;--win-btn-bg: #555;--win-btn-hover: #666;--win-btn-border: #777;--win-border-light: #555}.dark-theme .menu-bar,.dark-theme .toolbar{color:#ccc}.dark-theme .tool-btn{color:#bbb}.dark-theme .tool-btn:hover{border-color:#666;background:#4a4a4a}.dark-theme .tab{color:#aaa}.dark-theme .tab.active{color:#fff}.dark-theme .tab-close,.dark-theme .tab-new-btn{color:#888}.dark-theme .status-section{color:#aaa}.dark-theme .context-menu{background:#2d2d2d;border-color:#555;color:#ccc}.dark-theme .context-menu-item:hover{background:#094771}.dark-theme .menu-dropdown{background:#2d2d2d;border-color:#555;color:#ccc}.dark-theme .menu-dropdown-item:hover{background:#094771}.dark-theme .win-dialog{border-color:#555}.dark-theme .win-input{background:#3c3c3c;color:#ccc;border-color:#555}.dark-theme .win-btn{color:#ccc}.dark-theme .document-map{background:#2d2d2d;border-left-color:#555}.dark-theme .editor-wrapper,.dark-theme .editor-container,.dark-theme .editor-container .cm-editor,.dark-theme .editor-container .cm-editor .cm-scroller,.dark-theme .editor-container .cm-editor .cm-content{background:transparent!important}.dark-theme .editor-container .cm-editor .cm-activeLine{background:#2a2d2e}.dark-theme .editor-container .cm-editor .cm-selectionBackground{background:#264f78!important}.dark-theme .editor-container .cm-editor .cm-gutters{background:#2d2d2d!important;border-right-color:#444}.dark-theme .editor-container .cm-editor .cm-scroller{background:linear-gradient(to right,#2d2d2d,#2d2d2d 38px,#444 38px,#444 39px,#282c34 39px)!important}.dark-theme .editor-container .cm-editor .cm-lineNumbers .cm-gutterElement{color:#858585}.dark-theme ::-webkit-scrollbar-track{background:#2d2d2d}.dark-theme ::-webkit-scrollbar-thumb{background:#555;border-color:#2d2d2d}.dark-theme ::-webkit-scrollbar-thumb:hover{background:#666}.drag-over .editor-container:after{content:"Drop files here to open";position:absolute;top:0;left:0;right:0;bottom:0;background:#0078d726;border:2px dashed var(--win-active);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--win-active);z-index:100;pointer-events:none}@media print{.menu-bar,.toolbar,.tab-bar,.status-bar,.document-map,.dialog-overlay,.context-menu{display:none!important}.editor-wrapper,.editor-container .cm-editor{height:auto!important}}.cm-searchMatch{background:#ff0;outline:1px solid #e6e600}.cm-searchMatch.cm-searchMatch-selected{background:#ff8c00;outline:1px solid #e67e00}
