:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f6f8;color:#222832}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{color:inherit}.app{min-height:100vh;background:#f5f6f8;color:#222832}.app.dark{background:#11151b;color:#e8edf5}.docTabs,.actions,.topBar,.topActions{display:flex;align-items:center}.actions button,.topActions button{border:0;background:transparent;cursor:pointer}.topBar{min-width:0;height:42px;border-bottom:1px solid #dfe4ec;background:#f5f6f8}.dark .topBar{background:#11151b;border-color:#ffffff17}.docTabs{min-width:0;flex:1 1 auto;gap:4px;padding:7px 12px 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(105,115,130,.22) transparent}.docTabs::-webkit-scrollbar{height:4px}.docTabs::-webkit-scrollbar-track{background:transparent}.docTabs::-webkit-scrollbar-thumb{border-radius:999px;background:#69738238}.docTabs::-webkit-scrollbar-thumb:hover{background:#69738252}.docTabs .tabItem{height:34px;max-width:220px;min-width:118px;flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:7px 7px 0 0;border:0;background:transparent;cursor:pointer;white-space:nowrap}.fileNameEditor{min-width:0;display:inline-flex;align-items:center;gap:2px}.fileNameEditor.tab{flex:1 1 auto;cursor:text}.fileNameText{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fileExt{color:#9aa3b1}.fileNameEditor input{min-width:44px;width:min(150px,18vw);height:24px;border:1px solid #cbd7ea;border-radius:6px;outline:0;padding:0 6px;background:#fff;color:#222832}.fileNameEditor.source{flex:1 1 auto;color:#8a93a2;font-size:12px}.fileNameEditor.source button{width:22px;height:22px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:#99a3b2;cursor:pointer}.fileNameEditor.source button:hover{background:#eef3ff;color:#245eea}.docTabs .tabSave,.docTabs .tabClose{width:18px;height:20px;display:inline-grid;place-items:center;border:0;color:#8a93a2;background:transparent;border-radius:5px;cursor:pointer}.docTabs .tabSave:hover{background:#e8f7f1;color:#0f9f78}.docTabs .tabClose:hover{background:#e5eaf2;color:#3f4856}.dark .docTabs .tabSave:hover{background:#18b98129;color:#63e0b6}.dark .docTabs .tabClose:hover{background:#ffffff14;color:#d4dae4}.topActions{flex:0 0 auto;gap:6px;padding:5px 10px 5px 8px}.topActions button{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;color:#5f6b7a}.topActions button:hover{background:#fff;color:#245eea;box-shadow:0 1px 2px #141e2c14}.dark .topActions button{color:#aab4c2}.dark .topActions button:hover{background:#2a3340;color:#dbe5ff}.docTabs .tabItem.active,.actions button:hover,.actions button.active{background:#fff;box-shadow:0 -1px #dfe4ec inset,0 1px 2px #141e2c14}.dark .docTabs .tabItem.active,.dark .actions button:hover,.dark .actions button.active{background:#2a3340}.dark .fileNameEditor input{background:#10151d;border-color:#ffffff29;color:#e8edf5}.dark .fileNameEditor.source button:hover{background:#4878ff29;color:#a9bdff}.actions{flex:0 0 auto;justify-content:flex-start;gap:2px;margin-left:auto}.dark .actions{border-color:#ffffff14}.actions button{width:24px;height:30px;display:grid;place-items:center;border-radius:7px}.actions .textAction{width:auto;min-width:28px;padding:0 3px;color:#4e5969;font-size:10px;font-family:SFMono-Regular,Consolas,monospace}.actions input{display:none}.workspace{height:100vh;display:grid;grid-template-columns:var(--source-width) minmax(0,1fr);transition:grid-template-columns .16s ease}.workspace.workspaceCollapsed{grid-template-columns:50px minmax(0,1fr)}.workPanel,.outlinePanel,.sourcePanel{min-width:0;overflow:hidden;background:#fbfcfd}.workPanel{position:relative;display:flex;flex-direction:column;border-right:1px solid #dfe4ec}.workPanelInner{min-height:0;display:flex;flex:1 1 auto;flex-direction:column}.collapsedRail,.workspace.workspaceCollapsed .workPanelInner,.workspace.workspaceCollapsed .sourceResize{display:none}.workspace.workspaceCollapsed .collapsedRail{height:100%;display:flex;align-items:center;flex-direction:column;gap:10px;padding:12px 7px}.collapsedRail button{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer}.collapsedRail button:hover{background:#eef3ff;color:#245eea}.contentShell{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:#f5f6f8}.contentBody{min-width:0;min-height:0;display:grid;grid-template-columns:260px minmax(420px,1fr)}.outlinePanel{display:flex;flex-direction:column;border-right:1px solid #e2e6ed}.sourcePanel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;border-top:1px solid #e2e6ed}.dark .workPanel,.dark .outlinePanel,.dark .sourcePanel{background:#151a22;border-color:#ffffff14}.dark .contentShell{background:#11151b}.searchBox{flex:0 0 auto;height:38px;margin:14px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #dce2eb;border-radius:8px;background:#fff}.dark .searchBox{background:#10151d;border-color:#ffffff14}.searchBox input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:inherit}.outlineTitle{flex:0 0 auto;padding:0 14px 8px;color:#8a93a2;font-size:12px}.outlineList{flex:1 1 auto;min-height:0;overflow:auto;padding:0 8px 20px}.appBrand{flex:0 0 auto;display:flex;align-items:center;gap:8px;height:42px;padding:0 8px 0 10px;border-bottom:1px solid #e2e6ed}.brandLogo{width:82px;height:auto;display:block;flex:0 0 auto}.brandMark{width:32px;height:32px;display:block;flex:0 0 auto;border-radius:8px;object-fit:cover}.collapseWorkspace{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:8px;background:#edf2f9;color:#5f6b7a;cursor:pointer}.collapseWorkspace:hover{background:#e7eefb;color:#245eea}.dark .collapseWorkspace{background:#202936;color:#aab4c2}.dark .appBrand{border-color:#ffffff14}.outlineList button{width:100%;min-height:36px;display:flex;align-items:center;gap:8px;border:0;border-radius:7px;background:transparent;cursor:pointer;text-align:left;color:#677180}.outlineList button:hover{background:#edf3ff;color:#245eea}.dark .outlineList button:hover{background:#4878ff24;color:#a9bdff}.outlineList span{width:50px;flex:0 0 auto;color:#9aa3b1;font-size:12px;font-family:SFMono-Regular,Consolas,monospace}.outlineList strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.treeStage{min-width:0;min-height:0;overflow:auto;padding:18px 24px 48px}.treeCanvas{width:100%;min-height:calc(100vh - 92px);margin:0;padding:10px 8px 56px;border:0;border-radius:0;background:transparent;box-shadow:none}.dark .treeCanvas{background:transparent;border-color:transparent;box-shadow:none}.nodeList{display:grid;gap:2px}.nodeWrap{min-width:0}.treeNode{--indent: calc(var(--depth) * 22px);min-height:32px;display:grid;grid-template-columns:calc(30px + var(--indent)) minmax(0,1fr);position:relative;border:1px solid transparent;border-radius:7px;cursor:grab;transition:background .12s ease,border-color .12s ease,opacity .12s ease}.treeNode:active{cursor:grabbing}.treeNode:hover,.treeNode.dropTarget{border-color:#d8dee8;background:#fbfcff}.dark .treeNode:hover,.dark .treeNode.dropTarget{border-color:#ffffff1a;background:#ffffff09}.treeNode.dimmed{opacity:.35}.treeNode.dragging{opacity:.42}.nodeTools{display:flex;align-items:center;justify-content:flex-end;padding-left:var(--indent);opacity:.5}.treeNode:hover .nodeTools{opacity:1}.nodeTools button{width:22px;height:25px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:#828b99;cursor:pointer}.nodeTools button:hover{background:#eef3ff;color:#245eea}.dark .nodeTools button:hover{background:#4878ff29}.collapseButton span{width:6px;height:6px;border-radius:99px;background:#b9c0cc}.nodeContent{min-width:0;display:flex;align-items:flex-start;gap:7px;padding:4px 7px 4px 2px;line-height:1.45;color:var(--level-color)}.nodeType{min-width:auto;height:auto;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;border:0;border-radius:0;background:transparent;color:#a6afbd;font-size:10px;font-family:SFMono-Regular,Consolas,monospace;opacity:.72}.dark .nodeType{background:transparent;border-color:transparent;color:#8993a3}.editable{min-width:0;max-width:100%;outline:0;border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;color:inherit}.editable:focus{background:#f1f6ff;box-shadow:0 0 0 4px #f1f6ff}.dark .editable:focus{background:#4878ff26;box-shadow:0 0 0 4px #4878ff26}.headingText{font-weight:700}.dark .headingText{color:#f2f5fa}.headingText.level1{font-size:23px}.headingText.level2{font-size:20px}.headingText.level3{font-size:17px}.quoteContent .editable{color:#687281;border-left:3px solid #c9d0dc;padding-left:10px}.codeContent pre{width:100%;margin:0;padding:12px;overflow:auto;border-radius:7px;background:#151b27;color:#eef4ff;font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.codeContent pre .editable:focus{background:#ffffff1a;box-shadow:0 0 0 4px #ffffff1a;color:#eef4ff}.codeContent pre .editable::selection{background:#7ca2ff6b;color:#fff}.tableContent{align-items:flex-start}.miniTable{width:min(760px,100%);border-collapse:collapse;font-size:14px}.miniTable th,.miniTable td{border:1px solid #e0e5ec;padding:8px 10px;text-align:left;vertical-align:top}.miniTable th{background:#fbfcfe;font-weight:600}.dark .miniTable th,.dark .miniTable td{border-color:#ffffff1a}.dark .miniTable th{background:#ffffff0a}.jsonContent{align-items:center;display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr) minmax(48px,max-content);column-gap:8px}.jsonKey{min-width:0;max-width:min(280px,34vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;color:var(--level-color)}.jsonValue{min-width:0;color:#2e3440}.jsonCount{color:#a6afbd;font-size:11px;font-family:SFMono-Regular,Consolas,monospace;line-height:1}.jsonContent .editable{padding:0;border:0;border-radius:0;background:transparent;font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.jsonValue .editable{display:block}.textLineContent .editable{flex:1;min-height:22px}.dark .jsonContent .editable{background:transparent;border-color:transparent}.dark .jsonValue{color:#d8dee8}.sourceTitle{flex:0 0 auto;height:40px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid #e2e6ed}.sourceTitle>.fileNameEditor{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8a93a2;font-size:12px}.sourceResize{position:absolute;top:0;bottom:0;right:-4px;width:8px;cursor:col-resize;z-index:3}.sourceResize:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:1px;background:transparent}.sourceResize:hover:after{background:#9db7ff}.dark .sourceTitle{border-color:#ffffff14}.sourcePanel textarea{flex:1 1 auto;width:100%;min-height:220px;resize:none;border:0;outline:0;padding:14px;background:transparent;color:inherit;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.55}.emptyState{padding:24px;color:#8b94a3;border:1px dashed #d8dee8;border-radius:8px}.emptyState button{margin-left:12px;height:30px;padding:0 10px;border:1px solid #d9e1ec;border-radius:7px;background:#fff;color:#245eea;cursor:pointer}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);height:38px;display:flex;align-items:center;gap:7px;padding:0 14px;border-radius:8px;background:#202838;color:#fff;box-shadow:0 14px 40px #0000002e}@media(max-width:960px){.actions{justify-content:flex-start}.workspace,.workspace.workspaceCollapsed{height:auto;min-height:100vh;grid-template-columns:1fr}.workspace.workspaceCollapsed .workPanel{min-height:54px}.contentShell{min-height:70vh}.contentBody{grid-template-columns:1fr}.outlinePanel{max-height:220px;border-right:0;border-bottom:1px solid #e2e6ed}.workPanel,.sourcePanel{max-height:320px;border-right:0;border-bottom:1px solid #e2e6ed}.treeStage{padding:12px 10px 48px}.treeCanvas{padding:8px 4px 42px}.treeNode{--indent: calc(var(--depth) * 18px);grid-template-columns:calc(36px + var(--indent)) minmax(0,1fr)}}
