:root{--bg0:#1a1a1a;--bg1:#323232;--bg2:#2b2b2b;--bg3:#3d3d3d;--border:#010101;--border2:#242424;--border-hi:#4a4a4a;--t1:#e8e8e8;--t2:#b8b8b8;--t3:#8c8c8c;--accent:#2688eb;--ah:#4ba3ff;--ad:#1473e6;--danger:#e34850;--rw:280px;--header-h:29px;--toolbar-h:30px;--footer-h:22px;--radius:3px;--space-1:4px;--space-2:8px;--panel-inset:8px;--diff-add-bg: rgba(30,130,60,.18);--diff-add-border: rgba(60,200,90,.25);--diff-del-bg: rgba(180,40,40,.18);--diff-del-border: rgba(220,70,70,.25);--diff-add-text: #5adb7a;--diff-del-text: #f07070}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg0);color:var(--t1);height:100vh;display:flex;flex-direction:column;overflow:hidden;font-size:12px;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:#5a5a5a;border:2px solid var(--bg2);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#707070}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:3px 12px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;font-size:11px;font-weight:400;color:var(--t2);background:linear-gradient(180deg,#5a5a5a,#4a4a4a);border-color:#2d2d2d #2d2d2d #1a1a1a;box-shadow:inset 0 1px #ffffff14;transition:background .1s,color .1s;white-space:nowrap;font-family:inherit}.btn:hover{background:linear-gradient(180deg,#666,#555);color:var(--t1)}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn.sm{padding:2px 8px;font-size:10px}.btn.primary{background:linear-gradient(180deg,var(--ah) 0%,var(--accent) 100%);color:#fff;border-color:#1a4a7a #0d3d6b #082f55;box-shadow:inset 0 1px #fff3}.btn.primary:hover{filter:brightness(1.06)}.btn.icon{padding:0;width:22px;height:22px;min-width:22px;background:transparent;border:1px solid transparent;box-shadow:none}.btn.icon:hover{background:var(--bg3);border-color:var(--border-hi)}.btn.icon-sm{padding:0;width:20px;height:20px;min-width:20px;background:transparent;border:1px solid transparent;box-shadow:none}.btn.icon-sm:hover{background:var(--bg3)}.btn.active{box-shadow:inset 0 0 0 1px var(--accent),inset 0 2px 8px #2688eb40}.btn-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.sep{height:1px;background:var(--border2);margin:4px 0}.inp{background:#262626;border:1px solid #141414;box-shadow:inset 0 1px 2px #00000059;border-radius:var(--radius);padding:4px 6px;font-size:11px;color:var(--t1);outline:none;width:100%;max-width:100%;min-width:0;font-family:inherit;transition:border-color .12s}.inp:focus{border-color:var(--accent)}.inp-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer;padding:3px 6px;font-size:11px;min-width:0;flex:1}kbd{padding:1px 4px;background:#262626;border:1px solid #444;border-radius:2px;font-size:10px;font-family:Consolas,monospace;color:var(--t3)}.dd-wrap{position:relative}.dd-menu{display:none;position:absolute;top:100%;left:0;min-width:240px;background:#2d2d2d;border:1px solid #0a0a0a;padding:var(--space-1) 0;z-index:9999;border-radius:var(--radius);box-shadow:0 12px 40px #000000a6,inset 0 1px #ffffff0f}.dd-menu.open{display:block}.ddi{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px var(--panel-inset) 6px 10px;font-size:12px;color:var(--t2);cursor:pointer;transition:background .08s;white-space:nowrap;-webkit-user-select:none;user-select:none}.ddi-main{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1}.ddi-ic{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--t2)}.ddi-ic svg{width:15px;height:15px;display:block}.ddi:hover{background:var(--accent);color:#fff}.ddi:hover .ddi-ic{color:inherit}.ddi kbd{color:inherit;opacity:.85;border-color:#ffffff40;background:transparent;flex-shrink:0}#header{height:var(--header-h);background:linear-gradient(180deg,#3c3c3c,#323232 40%,#2e2e2e);border-bottom:1px solid #010101;box-shadow:inset 0 1px #ffffff14;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 6px;flex-shrink:0;z-index:100}.header-left{display:flex;align-items:center;gap:0}.nav-btn{display:flex;align-items:center;gap:6px;padding:2px 10px;height:22px;border-radius:0;font-size:12px;font-weight:400;color:var(--t1);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s;border:none;background:transparent;font-family:inherit}.nav-btn-txt{line-height:1}.nav-btn-chev{display:flex;align-items:center;opacity:.65;margin-left:-2px}.nav-btn-chev svg{display:block}.nav-btn-ic{display:flex;align-items:center;color:var(--t2)}.nav-btn-ic svg{display:block}.nav-btn:hover .nav-btn-ic,.nav-btn:hover .nav-btn-chev{color:var(--t1);opacity:1}.nav-btn:hover,.nav-btn.open{background:#ffffff1f}#logo{display:flex;align-items:center;gap:8px;margin-right:6px;padding-right:10px;border-right:1px solid #252525}.logo-badge{display:flex;align-items:center;justify-content:center;width:28px;height:22px;font-size:11px;font-weight:700;color:#fff;border-radius:3px;box-shadow:0 1px 2px #0006,inset 0 1px #fff3}.logo-badge--diff{background:linear-gradient(145deg,#10b981,#065f46)}#logo-text{font-weight:600;font-size:13px;letter-spacing:-.01em;white-space:nowrap;color:var(--t1)}#header-actions{display:flex;align-items:center;gap:4px}#toolbar.options-bar{height:var(--toolbar-h);background:linear-gradient(180deg,#474747,#3a3a3a,#353535);border-bottom:1px solid #010101;box-shadow:inset 0 1px #ffffff1a;display:flex;align-items:center;gap:0;padding:0 6px;flex-shrink:0;overflow-x:auto;z-index:90}#toolbar::-webkit-scrollbar{height:0}.tb-group{display:flex;align-items:center;gap:4px;flex-shrink:0}.tb-sep{width:1px;height:16px;background:#ffffff1a;margin:0 6px;flex-shrink:0}.tb-fill{flex:1}.tb-field{display:flex;align-items:center;gap:4px;flex-shrink:0;cursor:pointer;-webkit-user-select:none;user-select:none}.tb-field span{font-size:9px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--t3);white-space:nowrap}.tb-field input[type=checkbox]{accent-color:var(--accent)}#main{display:flex;flex:1;overflow:hidden;position:relative}#viewport{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#1e1e1e}#editors-row{display:flex;flex:1;min-height:0;overflow:hidden}.diff-editor-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.de-head{display:flex;align-items:center;justify-content:space-between;min-height:24px;padding:0 8px;background:linear-gradient(180deg,#353535,#303030);border-bottom:1px solid #010101;flex-shrink:0}.de-title{font-size:10px;font-weight:600;color:var(--t3);letter-spacing:.05em;text-transform:uppercase}.de-head-actions{display:flex;align-items:center;gap:2px}.diff-editor-wrap{flex:1;display:flex;overflow:hidden;min-height:0;min-width:0}.diff-editor-ln{overflow:hidden;flex:0 0 auto;-webkit-user-select:none;user-select:none;background:#141414;color:var(--t3);text-align:right;border-right:1px solid var(--border2);font-family:Menlo,Consolas,Monaco,monospace;font-size:12px;line-height:1.55;padding:8px 6px 8px 4px;white-space:pre}.diff-textarea{flex:1;width:100%;border:none;outline:none;resize:none;overflow-y:auto;overflow-x:hidden;background:#181818;color:var(--t1);font-family:Menlo,Consolas,Monaco,monospace;font-size:12px;line-height:1.55;padding:8px 10px;-moz-tab-size:2;tab-size:2}.diff-textarea::placeholder{color:var(--t3);opacity:.4}.diff-textarea:focus{background:#151515}.editors-sep{width:3px;min-width:3px;background:#010101;cursor:col-resize;flex-shrink:0;transition:background .12s}.editors-sep:hover{background:var(--accent)}.diff-h-gutter{height:5px;min-height:5px;background:#010101;cursor:row-resize;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .12s}.diff-h-gutter:hover{background:var(--accent)}.gutter-handle-h{width:24px;height:3px;background:#ffffff26;border-radius:1px}#diff-result-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;border-top:1px solid #010101}.dr-head{display:flex;align-items:center;justify-content:space-between;min-height:24px;padding:0 8px 0 10px;background:linear-gradient(180deg,#353535,#303030);border-bottom:1px solid #010101;flex-shrink:0}.dr-title{font-size:10px;font-weight:600;color:var(--t3);letter-spacing:.05em;text-transform:uppercase}.dr-tabs{display:flex;align-items:center;gap:1px}.dr-tab{padding:3px 10px;font-size:10px;font-weight:500;color:var(--t3);background:transparent;border:none;cursor:pointer;border-radius:var(--radius);font-family:inherit;transition:background .1s,color .1s}.dr-tab:hover{color:var(--t2);background:#ffffff0d}.dr-tab.active{color:var(--t1);background:var(--accent)}.diff-output{flex:1;overflow:auto;min-height:0;font-family:Menlo,Consolas,Monaco,monospace;font-size:12px;line-height:1.6;padding:4px 0}.diff-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;pointer-events:none;padding:24px;text-align:center}.empty-title{font-size:13px;font-weight:600;color:var(--t2)}.empty-sub{font-size:11px;color:var(--t3);max-width:320px;line-height:1.45}.diff-chunk{margin:0 0 6px;border:1px solid rgba(255,255,255,.06);border-radius:3px;overflow:hidden}.diff-chunk-header{display:flex;align-items:center;justify-content:space-between;min-height:28px;padding:0 10px;background:linear-gradient(180deg,#2688eb1a,#2688eb0a);border-bottom:1px solid rgba(38,136,235,.15);flex-shrink:0}.diff-chunk-info{font-size:10px;font-weight:600;color:var(--t3);font-family:Consolas,monospace}.diff-chunk-para{font-size:10px;font-weight:600;color:var(--accent);padding:1px 8px;border-radius:2px;background:#2688eb1f;flex-shrink:0}.diff-chunk-actions{display:flex;align-items:center;gap:4px}.diff-merge-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-family:inherit;border-radius:2px;border:1px solid transparent;cursor:pointer;transition:background .1s,color .1s}.diff-merge-btn--left{background:#b428282e;color:var(--diff-del-text);border-color:#b428284d}.diff-merge-btn--left:hover{background:#b4282852;color:#faa}.diff-merge-btn--right{background:#1e823c2e;color:var(--diff-add-text);border-color:#1e823c4d}.diff-merge-btn--right:hover{background:#1e823c52;color:#8fec9f}.diff-merge-btn--both{background:#ffffff0f;color:var(--t2);border-color:#ffffff1f}.diff-merge-btn--both:hover{background:#ffffff1f;color:var(--t1)}.diff-merge-btn svg{width:10px;height:10px;flex-shrink:0}.diff-line{display:flex;min-height:24px;border-bottom:1px solid rgba(255,255,255,.02);align-items:flex-start}.diff-line.diff-add{background:var(--diff-add-bg)}.diff-line.diff-del{background:var(--diff-del-bg)}.diff-line.diff-same{background:transparent}.diff-line-num{width:46px;min-width:46px;padding:4px 6px;text-align:right;color:var(--t3);font-size:11px;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border2);flex-shrink:0;font-family:Consolas,monospace;background:#00000026}.diff-line-sign{width:20px;min-width:20px;text-align:center;font-weight:700;font-size:11px;flex-shrink:0;-webkit-user-select:none;user-select:none;padding:4px 0}.diff-add .diff-line-sign{color:var(--diff-add-text)}.diff-del .diff-line-sign{color:var(--diff-del-text)}.diff-line-content{flex:1;padding:4px 8px;white-space:pre-wrap;overflow-wrap:break-word;color:var(--t2);line-height:1.55;min-width:0}.diff-add .diff-line-content,.diff-del .diff-line-content{color:var(--t1)}.diff-line-action{width:22px;min-width:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity .12s}.diff-line:hover .diff-line-action{opacity:1}.diff-line-merge-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:2px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;line-height:1;transition:background .1s,color .1s}.diff-line-merge-btn--right{background:#1e823c33;color:var(--diff-add-text)}.diff-line-merge-btn--right:hover{background:#1e823c66;color:#8fec9f}.diff-line-merge-btn--left{background:#b4282833;color:var(--diff-del-text)}.diff-line-merge-btn--left:hover{background:#b4282866;color:#faa}.diff-inl-del{background:#dc323259;text-decoration:line-through;text-decoration-color:#ff646499;border-radius:2px;padding:0 1px;cursor:pointer;transition:background .12s}.diff-inl-del:hover{background:#dc32328c;box-shadow:0 0 0 1px #ff646466}.diff-inl-add{background:#28aa4659;text-decoration:underline;text-decoration-color:#64ff8299;border-radius:2px;padding:0 1px;cursor:pointer;transition:background .12s}.diff-inl-add:hover{background:#28aa468c;box-shadow:0 0 0 1px #64ff8266}.diff-sxs{display:flex;min-height:0}.diff-sxs-col{flex:1;min-width:0;overflow-x:auto}.diff-sxs-col:first-child{border-right:1px solid var(--border2)}.diff-sxs-empty{min-height:24px;background:#00000014}.diff-sxs .diff-line-num{width:36px;min-width:36px}#right-panel{width:var(--rw);max-width:var(--rw);min-width:0;background:var(--bg1);border-left:1px solid #010101;box-shadow:-1px 0 #ffffff0d;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .18s ease;z-index:80}#right-panel.collapsed{width:0;border-left:none;overflow:hidden}#right-tab{width:16px;background:#2e2e2e;border-left:1px solid #010101;display:flex;align-items:center;justify-content:center;cursor:pointer;writing-mode:vertical-rl;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t3);flex-shrink:0;transition:color .12s,background .12s}#right-tab:hover{color:var(--t1);background:#383838}.rp-top{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.rp-panel-hdr-single{display:flex;align-items:center;padding:0 10px;min-height:24px;background:linear-gradient(180deg,#353535,#303030);border-bottom:1px solid #010101}.rp-tools-title{font-size:10px;font-weight:600;color:var(--t3);letter-spacing:.05em;text-transform:uppercase}.rp-tab-panel{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:0;gap:0;background:#262626}.rp-tab-panel[hidden]{display:none!important}.rp-tab-panel-scroll{overflow-y:auto}.tp-section{border-bottom:1px solid rgba(255,255,255,.06)}.tp-section:last-child{border-bottom:none}.tp-head{list-style:none;display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;transition:background .1s,color .1s;-webkit-user-select:none;user-select:none}.tp-head::-webkit-details-marker{display:none}.tp-head:hover{background:#ffffff0a}.tp-ico{flex-shrink:0;color:var(--t3);transition:color .12s}.tp-name{font-size:11px;font-weight:600;color:var(--t2);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .1s}.tp-head:hover .tp-name{color:var(--t1)}.tp-chev{flex-shrink:0;color:var(--t3);transition:transform .15s ease;margin-left:auto}.tp-section[open]>.tp-head .tp-chev{transform:rotate(180deg)}.tp-section[open]>.tp-head .tp-ico{color:var(--accent)}.tp-section[open]>.tp-head .tp-name{color:var(--t1)}.tp-body{padding:6px 10px 8px;display:flex;flex-direction:column;gap:6px;min-width:0;background:#0000000f}.tp-main-btn{width:100%}.md-stats{display:flex;flex-direction:column;gap:6px}.md-stat-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--t2)}.md-stat-val{font-family:Consolas,monospace;font-size:11px;color:var(--t1);font-weight:500}#footer{height:var(--footer-h);background:linear-gradient(180deg,#323232,#2e2e2e);border-top:1px solid #010101;box-shadow:inset 0 1px #ffffff0f;display:flex;align-items:center;justify-content:space-between;padding:0 10px;flex-shrink:0;font-size:11px;color:var(--t3)}#footer-l,#footer-r{display:flex;align-items:center;gap:10px}.modal-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:center;justify-content:center}.modal-backdrop.open{display:flex}.modal{background:#323232;border:1px solid var(--border-hi);border-radius:calc(var(--radius) + 1px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px #000000d1,inset 0 1px #ffffff14}.modal-hdr{padding:12px var(--panel-inset);border-bottom:1px solid #010101;background:linear-gradient(180deg,#3a3a3a,#323232);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modal-title{font-size:13px;font-weight:600;color:var(--t1)}.modal-body{padding:14px var(--panel-inset) 16px;background:#2a2a2a}.shortcut-table{width:100%;border-collapse:collapse;font-size:11px}.shortcut-table th{text-align:left;padding:6px 8px;background:#383838;color:var(--t3);font-size:10px;font-weight:600;border-bottom:1px solid #010101}.shortcut-table td{padding:6px 8px;border-top:1px solid #3a3a3a;color:var(--t2)}.shortcut-table td:last-child{text-align:right;font-family:Consolas,monospace}.ddi-locale .app-locale-select{min-width:6.5rem;max-width:9.5rem}#toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:#323232;border:1px solid #010101;border-radius:3px;padding:8px 18px;font-size:12px;color:var(--t1);z-index:9999;opacity:0;transition:opacity .2s;pointer-events:none;box-shadow:0 8px 32px #0000008c;white-space:nowrap;max-width:90vw}#toast.show{opacity:1}.btn:focus-visible,.nav-btn:focus-visible,.dr-tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.inp:focus-visible,.diff-textarea:focus-visible{outline:2px solid var(--accent);outline-offset:0}.mobile-fab{display:none;position:absolute;bottom:40px;width:40px;height:40px;background:#3a3a3a;border:1px solid #1a1a1a;border-radius:50%;align-items:center;justify-content:center;cursor:pointer;z-index:50;color:var(--t2);box-shadow:0 4px 16px #0006}#mob-left-fab{left:8px}#mob-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:70;display:none}#mob-backdrop.show{display:block}@media(max-width:1100px){:root{--rw:240px}#logo-text{display:none}}@media(max-width:768px){:root{--header-h:28px;--toolbar-h:28px;--footer-h:20px}#right-panel{position:absolute;top:0;right:0;height:100%;transform:translate(100%);transition:transform .2s ease;width:272px!important;z-index:80}#right-panel.mobile-open{transform:translate(0)}#right-tab{display:none}.mobile-fab{display:flex}#editors-row{flex-direction:column}.editors-sep{width:100%;height:3px;min-height:3px;cursor:row-resize}}
