:root{--bg:#f3f4f6;--panel:#ffffff;--border:#d9dde3;--text:#1f2328;--muted:#6a737d;--file-help-bg:#f6f7f8;--file-help-text:#5e6872;--accent:#2563eb;--accent-hover:#1d4ed8;--ok:#1a7f37;--warn:#b45309;--err:#cf222e;--storage-error:#cf222e;--diagnostic-red:#cf222e;--diagnostic-blue:#245dc1;--diagnostic-magenta:#9535a2;--diagnostic-cyan:#086d80;--splitter-size:20px;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--cm-fg:#383a42;--cm-gutter:#fafafa;--cm-gutter-border:#eceef1;--cm-linenumber:#9d9d9f;--cm-cursor:#526fff;--cm-selection:#e5e5e6;--cm-bracket:#d0d0d0;--tk-keyword:#a626a4;--tk-type:#c18401;--tk-def:#4078f2;--tk-function:#2f63d5;--tk-string:#50a14f;--tk-number:#986801;--tk-comment:#a0a1a7;--tk-meta:#a626a4;--tk-operator:#0184bc;--tk-builtin:#b54708}[data-theme=dark]{color-scheme:dark;--bg:#1e1f1c;--panel:#272822;--border:#3e3d32;--text:#f8f8f2;--muted:#a59f85;--file-help-bg:#2c2d27;--file-help-text:#9b9784;--accent:#3b82f6;--accent-hover:#2563eb;--ok:#a6e22e;--warn:#e6db74;--err:#f92672;--storage-error:#ff6b98;--diagnostic-red:#ff6b98;--diagnostic-blue:#8cb4ff;--diagnostic-magenta:#dba2f5;--diagnostic-cyan:#66d9ef;--cm-fg:#f8f8f2;--cm-gutter:#272822;--cm-gutter-border:#34352d;--cm-linenumber:#75715e;--cm-cursor:#f8f8f0;--cm-selection:#49483e;--cm-bracket:#575849;--tk-keyword:#f92672;--tk-type:#66d9ef;--tk-def:#a6e22e;--tk-function:#a6e22e;--tk-string:#e6db74;--tk-number:#ae81ff;--tk-comment:#75715e;--tk-meta:#f92672;--tk-operator:#f92672;--tk-builtin:#fd971f}*{box-sizing:border-box}html,body{height:100%;margin:0}body{display:flex;flex-direction:column;background:var(--bg);color:var(--text);font:15px/1.5 '-apple-system',pingfang sc,microsoft yahei,noto sans cjk sc,sans-serif}.bar{display:flex;flex-shrink:0;align-items:center;gap:12px;padding:8px 16px;background:var(--panel);border-bottom:1px solid var(--border)}.bar h1{margin:0;font-size:18px;font-weight:600;white-space:nowrap}.meta{color:var(--muted);font:13px var(--mono)}.spacer{flex:1}.hint{color:var(--muted);font-size:13px;white-space:nowrap}#run{flex-shrink:0;white-space:nowrap;padding:7px 24px;border:0;border-radius:6px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}#run:hover{background:var(--accent-hover)}#run:disabled{opacity:.6;cursor:progress}#theme{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:6px;background:0 0;color:var(--muted);cursor:pointer}#theme:hover{color:var(--text)}#theme svg{width:18px;height:18px}#theme .sun{display:none}[data-theme=dark] #theme .sun{display:block}[data-theme=dark] #theme .moon{display:none}main{flex:1;min-height:300px;min-width:0;display:grid;grid-template-rows:minmax(0,3fr)var(--splitter-size)minmax(0,2fr);padding:12px 16px 4px}.editor,.pane{min-height:0;min-width:0;background:var(--panel);border:1px solid var(--border);border-radius:6px;overflow:hidden}.pane-resizer{--grip-width:40px;--grip-height:14px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:4px;outline:none;color:var(--border);cursor:row-resize;touch-action:none;user-select:none;-webkit-user-select:none}.pane-resizer::before{content:"";width:3px;height:3px;border-radius:50%;background:currentColor;box-shadow:-14px 0 currentColor,-7px 0 currentColor,7px 0 currentColor,14px 0 currentColor}.pane-resizer[data-axis=x]{--grip-width:14px;--grip-height:40px;cursor:col-resize}.pane-resizer[data-axis=x]::before{transform:rotate(90deg)}.pane-resizer:focus-visible:not([data-pointer-focus]),.pane-resizer[data-dragging]{color:color-mix(in srgb,var(--border) 65%,var(--muted))}.pane-resizer:focus-visible:not([data-pointer-focus])::after{content:"";position:absolute;width:var(--grip-width);height:var(--grip-height);border:1px solid var(--muted);border-radius:4px}@media(hover:hover) and (pointer:fine){.pane-resizer:hover{color:color-mix(in srgb,var(--border) 65%,var(--muted))}}body[data-resize-axis],body[data-resize-axis] *{user-select:none!important;-webkit-user-select:none!important}body[data-resize-axis=x],body[data-resize-axis=x] *{cursor:col-resize!important}body[data-resize-axis=y],body[data-resize-axis=y] *{cursor:row-resize!important}.resize-help{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.editor .CodeMirror{height:100%;background:var(--panel);color:var(--cm-fg);font:17px/1.75 var(--mono)}.CodeMirror-gutters{background:var(--cm-gutter);border-right:1px solid var(--cm-gutter-border)}.CodeMirror-linenumber{color:var(--cm-linenumber)}.CodeMirror-cursor{border-left:2px solid var(--cm-cursor)}.CodeMirror-selected,.CodeMirror-focused .CodeMirror-selected{background:var(--cm-selection)}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:var(--cm-selection)}.cm-s-default div.CodeMirror-cursor{border-left-color:var(--cm-cursor)}.CodeMirror span.CodeMirror-matchingbracket{color:inherit;background:var(--cm-bracket)}.CodeMirror span.CodeMirror-nonmatchingbracket{color:var(--err)}.cm-s-default .cm-keyword{color:var(--tk-keyword)}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:var(--tk-type)}.cm-s-default .cm-def{color:var(--tk-def)}.cm-s-default .cm-function{color:var(--tk-function)}.cm-s-default .cm-variable,.cm-s-default .cm-variable-2,.cm-s-default .cm-property{color:var(--cm-fg)}.cm-s-default .cm-string,.cm-s-default .cm-string-2{color:var(--tk-string)}.cm-s-default .cm-number,.cm-s-default .cm-atom{color:var(--tk-number)}.cm-s-default .cm-comment{color:var(--tk-comment);font-style:italic}.cm-s-default .cm-meta{color:var(--tk-meta)}.cm-s-default .cm-operator{color:var(--tk-operator)}.cm-s-default .cm-builtin{color:var(--tk-builtin)}.CodeMirror-hints{padding:4px;border:1px solid var(--border);border-radius:6px;background:var(--panel);box-shadow:0 6px 20px rgba(0,0,0,.25);font:17px/1.6 var(--mono);max-height:16em}.CodeMirror-hint{padding:3px 10px;border-radius:4px;color:var(--cm-fg)}li.CodeMirror-hint-active{background:color-mix(in srgb,var(--accent) 24%,var(--panel));color:var(--cm-fg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.CodeMirror-hints:has(.completion-item){width:540px;max-width:calc(100vw - 16px);max-height:min(440px,60vh)}.CodeMirror-hint.completion-item{padding:8px 10px;white-space:normal;overflow-wrap:anywhere;line-height:1.5}.completion-name{font-weight:600}.completion-kind{display:block;font:14px/1.6 '-apple-system',pingfang sc,microsoft yahei,sans-serif;color:var(--muted)}.completion-usage{display:block;margin-top:5px;font:15px/1.6 var(--mono);white-space:pre-wrap}.completion-detail{display:block;margin-top:3px;font:15px/1.6 '-apple-system',pingfang sc,microsoft yahei,sans-serif;color:var(--muted)}.CodeMirror-hint-active .completion-kind,.CodeMirror-hint-active .completion-detail{color:color-mix(in srgb,var(--muted) 75%,var(--cm-fg))}.io{min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr)var(--splitter-size)minmax(0,1fr)}.pane{display:flex;flex-direction:column}.pane-head{display:flex;flex:none;flex-wrap:wrap;align-items:baseline;gap:12px;padding:6px 12px;border-bottom:1px solid var(--border);color:var(--muted);font-size:14px;font-weight:600}#input,#output{flex:1;min-height:0;min-width:0;width:100%;margin:0;padding:10px 12px;border:0;outline:none;resize:none;overflow:auto;background:0 0;color:var(--text);font:16px/1.6 var(--mono);white-space:pre}#input::placeholder{color:var(--muted)}.diagnostic-red{color:var(--diagnostic-red)}.diagnostic-green{color:var(--ok)}.diagnostic-yellow{color:var(--warn)}.diagnostic-blue{color:var(--diagnostic-blue)}.diagnostic-magenta{color:var(--diagnostic-magenta)}.diagnostic-cyan{color:var(--diagnostic-cyan)}.diagnostic-bold{font-weight:700}.diagnostic-underline{text-decoration:underline;text-underline-offset:.15em}.diagnostic-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 12px;border-bottom:1px solid var(--border)}.diagnostic-switch{display:flex;gap:4px}.diagnostic-switch button{padding:5px 9px;border:1px solid transparent;border-radius:4px;font:inherit;font-size:13px;color:var(--text);background:0 0;cursor:pointer}.diagnostic-switch button[aria-pressed=true]{background:var(--cm-selection);border-color:var(--border);font-weight:600}.diagnostic-switch button:hover:not(:disabled){background:var(--bg)}.diagnostic-switch button:disabled{color:var(--muted);cursor:default}.diagnostic-summary{color:var(--muted);font-size:12px}.diagnostic-notice{margin:0;padding:8px 12px;color:var(--text);background:var(--bg);font-size:13px}.diagnostic-list{flex:1;min-height:0;overflow:auto;margin:0;padding:0;list-style:none}.diagnostic-list li{padding:10px 12px;border-bottom:1px solid var(--border)}.diagnostic-item-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:13px;font-weight:600}.diagnostic-list p{margin:5px 0 0;font:15px/1.6 var(--mono);overflow-wrap:anywhere;white-space:pre-wrap}.diagnostic-location{font:inherit;color:inherit;overflow-wrap:anywhere}button.diagnostic-location{border:0;border-radius:2px;padding:0;background:0 0;cursor:pointer;text-align:start;text-decoration:underline;text-underline-offset:3px}button.diagnostic-location:hover:not(:disabled){color:var(--diagnostic-blue)}button.diagnostic-location:disabled{text-decoration:none;color:var(--muted);cursor:default}.diagnostic-switch button:focus-visible,.diagnostic-location:focus-visible,.diagnostic-marker:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.diagnostic-severity-error{color:var(--diagnostic-red)}.diagnostic-severity-warning{color:var(--warn)}.diagnostic-severity-note{color:var(--diagnostic-cyan)}.diagnostic-gutter{width:20px}.diagnostic-marker{display:block;width:18px;height:24px;padding:0;border:0;background:0 0;font:700 15px/24px var(--mono);cursor:pointer}.diagnostic-line-error{background:color-mix(in srgb,var(--diagnostic-red) 7%,transparent)}.diagnostic-line-warning{background:color-mix(in srgb,var(--warn) 7%,transparent)}.diagnostic-line-note{background:color-mix(in srgb,var(--diagnostic-cyan) 7%,transparent)}.diagnostic-mark-error,.diagnostic-mark-warning,.diagnostic-mark-note{text-decoration-line:underline;text-decoration-style:wavy;text-underline-offset:4px}.diagnostic-mark-error{text-decoration-color:var(--diagnostic-red)}.diagnostic-mark-warning{text-decoration-color:var(--warn)}.diagnostic-mark-note{text-decoration-color:var(--diagnostic-cyan)}@media(max-width:720px){.diagnostic-switch button{min-height:40px}.diagnostic-list button.diagnostic-location{min-height:32px}.diagnostic-list p{font-size:16px}}.status{font-weight:600}.status.ok{color:var(--ok)}.status.warn{color:var(--warn)}.status.err{color:var(--err)}.status .time{margin-left:8px;color:var(--muted);font-weight:400}.ide-footer{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:12px;padding:2px 16px 6px;color:var(--muted);font-size:13px;white-space:nowrap}.version{text-align:right}@media(max-width:720px){html,body{height:auto}.bar{gap:8px;padding:8px}.bar h1{font-size:16px}#run{padding-inline:12px}.hint,.meta{display:none}.ide-footer{gap:8px;padding:2px 8px 6px;font-size:11px}main{flex:none;height:115vh;height:115svh;min-height:560px;padding:8px;grid-template-rows:minmax(0,48fr)var(--splitter-size)minmax(0,52fr)}.io{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)var(--splitter-size)minmax(0,1fr)}}@media(pointer:coarse){:root{--splitter-size:24px}}[hidden]{display:none!important}.ide-stage{display:flex;flex:1;min-height:300px;min-width:0}.project-bar{display:grid;grid-template-columns:auto minmax(0,1fr)auto;align-items:center;gap:8px 16px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0;font-size:13px}.project-controls,.project-actions{display:flex;align-items:center;gap:8px;min-width:0}.project-actions{justify-content:flex-end}.project-identity{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px 10px;min-width:0;text-align:left}.current-file{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500}.quiet-button,.file-menu summary,#name-value{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);font:inherit;min-height:34px}.quiet-button,.file-menu summary{cursor:pointer;white-space:nowrap}.quiet-button:hover:not(:disabled),.file-menu summary:hover{background:var(--bg)}#project-new{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--accent);font-weight:600;border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--panel))}#project-new svg{width:16px;height:16px;flex:none}[data-theme=dark] #project-new{color:color-mix(in srgb,var(--accent) 65%,var(--text))}#project-new:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 17%,var(--panel))}#project-new:active:not(:disabled){transform:scale(.97)}.quiet-button:disabled,.file-actions button:disabled,.file-open:disabled,.file-more:disabled,.file-context button:disabled{opacity:.5;cursor:default}.quiet-button:focus-visible,.file-menu summary:focus-visible,.file-actions button:focus-visible,.version-list button:focus-visible,#name-value:focus-visible,.version-detail>textarea:focus-visible,.file-open:focus-visible,.file-more:focus-visible,.file-context button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.storage-status{color:var(--muted);overflow-wrap:anywhere}.storage-status[data-state=error]{color:var(--storage-error)}.file-menu{position:relative}.file-menu summary{list-style:none}.file-menu summary::-webkit-details-marker{display:none}.file-actions{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:216px;padding:4px;border:1px solid var(--border);border-radius:6px;background:var(--panel)}.file-actions button{display:block;width:100%;border:0;padding:10px;text-align:left;color:var(--text);background:0 0;font:inherit;cursor:pointer}.file-actions button:hover:not(:disabled){background:var(--bg)}.file-panel,.version-panel{border:1px solid var(--border);border-radius:6px;background:var(--panel)}.file-panel{display:flex;flex-direction:column;flex-shrink:0;width:var(--files-width,220px);min-height:0;margin:12px 0 4px 16px;overflow:hidden}.sidebar-resizer{flex:0 0 16px;margin-block:12px 4px}.sidebar-resizer[aria-disabled=true]{cursor:default}.sidebar-resizer[aria-disabled=true]::before{visibility:hidden}#workspace{padding-left:0}.ide-stage:has(#version-panel:not([hidden])) #workspace{padding-right:0}.file-heading{display:flex;align-items:center;gap:6px;padding:12px 10px 8px}.file-heading h2{flex:1;margin:0;font-size:13px;font-weight:600}.file-heading .quiet-button{padding:5px 8px;font-size:12px}#file-close{display:flex;align-items:center;justify-content:center;gap:2px}#file-close svg{width:16px;height:16px;flex:none}.file-list{flex:1;min-height:0;overflow-y:auto;margin:0;padding:4px 6px;list-style:none}.file-row{display:flex;align-items:stretch;margin:2px 0;border-radius:4px}.file-open,.file-more{display:flex;align-items:center;min-height:36px;padding:6px 8px;border:0;background:0 0;color:var(--text);font:inherit;font-size:13px;cursor:pointer}.file-open{position:relative;flex:1;gap:8px;min-width:0;border-radius:4px 0 0 4px;text-align:left}.file-open svg,.file-more svg{flex-shrink:0;width:16px;height:16px}.file-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-more{flex-shrink:0;justify-content:center;width:32px;padding:6px;border-radius:0 4px 4px 0;color:var(--muted)}.file-row:hover .file-open:not([aria-current=true]),.file-row:hover .file-open:not([aria-current=true])+.file-more{background:var(--bg)}.file-open[aria-current=true],.file-open[aria-current=true]+.file-more{background:var(--cm-selection);color:var(--text)}.file-more:hover:not(:disabled){color:var(--text)}.file-empty{padding:8px;color:var(--muted);font-size:13px}.file-help{flex-shrink:0;margin:0;padding:10px 14px;background:var(--file-help-bg);color:var(--file-help-text);font-size:13px;text-align:center}.file-panel[data-collapsed=true]{width:52px}.file-panel[data-collapsed=true] .file-heading{padding:6px}.file-panel[data-collapsed=true] .file-heading h2,.file-panel[data-collapsed=true] #file-close span,.file-panel[data-collapsed=true] .file-name,.file-panel[data-collapsed=true] .file-more,.file-panel[data-collapsed=true] .file-help{display:none}.file-panel[data-collapsed=true] #file-close{width:100%;padding:4px}.file-panel[data-collapsed=true] #file-close svg{transform:rotate(180deg)}.file-panel[data-collapsed=true] .file-list{padding:0 4px 6px}.file-panel[data-collapsed=true] .file-open{justify-content:center;min-height:42px;padding:8px;border-radius:4px}.file-panel[data-collapsed=true] .file-open svg{width:22px;height:22px}.file-panel[data-collapsed=true] .file-open[aria-current=true]::after{content:"";position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--accent);border:1px solid var(--panel)}.file-panel[data-collapsed=true] .file-empty{padding:8px 0;text-align:center;font-size:11px;overflow-wrap:anywhere}.file-context{position:fixed;z-index:40;width:172px;padding:4px;border:1px solid var(--border);border-radius:6px;background:var(--panel)}.file-context button{display:block;width:100%;padding:9px 10px;border:0;border-radius:3px;color:var(--text);background:0 0;text-align:left;font:inherit;font-size:13px;cursor:pointer}.file-context button:hover:not(:disabled),.file-context button:focus-visible{background:var(--cm-selection)}.storage-notice{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;color:var(--warn);border-bottom:1px solid var(--border);font-size:13px}.storage-notice span{flex:1 1 260px}.version-panel{width:var(--versions-width,350px);min-height:0;flex-shrink:0;margin:12px 16px 4px 0;padding:12px 16px;overflow-y:auto}.version-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.version-heading h2,.name-dialog h2,.settings-dialog h2{font-size:17px;margin:0;font-weight:600}.version-help{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0 12px}.version-list{max-height:220px;overflow:auto;border-bottom:1px solid var(--border)}.version-row{display:flex;align-items:center;gap:6px}.version-select{display:block;flex:1;min-width:0;padding:10px;border:0;border-radius:4px;text-align:left;background:0 0;color:var(--text);font:inherit;cursor:pointer}.version-select:hover{background:var(--bg)}.version-select[aria-pressed=true]{background:var(--cm-selection)}.version-compare.quiet-button{flex:none;padding:6px 8px;font-size:12px}.version-list span{display:block;overflow-wrap:anywhere;font-size:13px}.version-list time{display:block;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px}.version-select[aria-pressed=true] time{color:var(--text)}.version-detail h3{margin:16px 0 0;font-size:14px;overflow-wrap:anywhere}.version-detail label{display:block;font-size:12px;color:var(--muted);margin:12px 0 4px}.version-detail>textarea{display:block;width:100%;min-height:70px;height:90px;resize:vertical;padding:8px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);font:12px/1.6 var(--mono);white-space:pre}#version-code{height:180px}.version-code-preview.CodeMirror{height:180px;min-height:120px;max-height:60vh;resize:vertical;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--cm-fg);font:14px/1.6 var(--mono)}.version-code-preview.CodeMirror-focused{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:720px){.version-code-preview.CodeMirror{font-size:16px}}#version-restore{margin-top:12px;font-size:13px}.comparison-dialog{width:min(1240px,calc(100vw - 32px));height:min(860px,calc(100vh - 32px));height:min(860px,calc(100dvh - 32px));max-width:none;max-height:none;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text)}.comparison-dialog[open]{display:flex;flex-direction:column}.comparison-dialog::backdrop{background:rgb(0 0 0/.5)}.comparison-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 20px 0}.comparison-header>div{min-width:0}.comparison-header h2{font-size:18px;line-height:1.4;margin:0}.comparison-file{margin:4px 0 0;color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparison-help{flex:none;margin:8px 20px 12px;color:var(--muted);font-size:12px;line-height:1.6}.comparison-toolbar{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 20px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.comparison-switch{display:flex;gap:4px}.comparison-switch button{border:1px solid transparent;border-radius:4px;padding:6px 12px;color:var(--text);background:0 0;font:inherit;font-size:13px;cursor:pointer}.comparison-switch button[aria-pressed=true]{border-color:var(--border);background:var(--cm-selection);font-weight:600}.comparison-switch button:hover{background:var(--bg)}.comparison-summary{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.comparison-navigation{display:flex;gap:6px;margin-left:auto}.comparison-navigation button{font-size:13px}.comparison-labels{flex:none;display:grid;grid-template-columns:minmax(0,1fr)minmax(0,1fr);column-gap:20px;border-bottom:1px solid var(--border)}.comparison-labels>div{min-width:0;padding:10px 12px}.comparison-labels strong{display:block;font-size:14px}.comparison-labels span{display:block;margin:3px 0;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparison-labels small{font-size:12px}.comparison-removed{color:var(--diagnostic-red)}.comparison-inserted{color:var(--ok)}.comparison-message{padding:16px 20px;margin:0;line-height:1.7}.comparison-view{flex:1;min-height:0;overflow:hidden}.comparison-view .CodeMirror-merge{display:grid;grid-template-columns:minmax(0,1fr)20px minmax(0,1fr);height:100%;border:0}.comparison-view .CodeMirror-merge-pane{width:auto;min-width:0;min-height:0;height:100%}.comparison-view .CodeMirror-merge-pane-rightmost{position:static}.comparison-view .CodeMirror-merge>div:last-child{display:none}.comparison-view .CodeMirror{height:100%;color:var(--cm-fg);background:var(--panel);font:14px/1.65 var(--mono)}.comparison-view .CodeMirror-merge-gap{width:auto;background:var(--bg);border-color:var(--border)}.comparison-view .CodeMirror-merge-scrolllock-wrap{display:none}.comparison-view .CodeMirror-merge-l-chunk-start,.comparison-view .CodeMirror-merge-l-chunk-end{border-color:transparent}.comparison-view .CodeMirror-merge-left .CodeMirror-merge-l-chunk{background:color-mix(in srgb,var(--diagnostic-red) 10%,var(--panel))}.comparison-view .CodeMirror-merge-editor .CodeMirror-merge-l-chunk{background:color-mix(in srgb,var(--ok) 10%,var(--panel))}.comparison-view .CodeMirror-merge-l-deleted{background-image:none;background-color:color-mix(in srgb,var(--diagnostic-red) 25%,transparent)}.comparison-view .CodeMirror-merge-l-inserted{background-image:none;background-color:color-mix(in srgb,var(--ok) 25%,transparent)}.comparison-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.comparison-view .CodeMirror-focused{outline:2px solid var(--accent);outline-offset:-2px}@media(max-width:720px){.comparison-dialog{width:calc(100vw - 12px);height:calc(100vh - 12px);height:calc(100dvh - 12px)}.comparison-header{padding:12px 12px 0}.comparison-help{margin-inline:12px}.comparison-toolbar{padding:8px 12px;gap:6px}.comparison-switch button{min-height:40px;padding:6px 8px}.comparison-summary{flex:1;text-align:right}.comparison-navigation{width:100%;justify-content:flex-end}.comparison-labels{column-gap:12px}.comparison-labels>div{padding:8px}.comparison-view .CodeMirror-merge{grid-template-columns:minmax(0,1fr)12px minmax(0,1fr)}}.name-dialog,.settings-dialog{width:min(420px,calc(100% - 32px));padding:24px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text)}.name-dialog::backdrop,.settings-dialog::backdrop{background:rgb(0 0 0/.5)}.name-dialog label{display:block;font-size:13px;margin:20px 0 6px}#name-value{display:block;width:100%}.settings-dialog{max-height:calc(100% - 32px);overflow-y:auto}.completion-settings{min-width:0;margin:24px 0 16px;padding:0;border:0}.completion-settings legend{padding:0;font-size:14px;font-weight:600}.settings-help{margin:8px 0;color:var(--muted);font-size:12px;line-height:1.7}.completion-option{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px;margin-top:8px;border:1px solid var(--border);border-radius:6px;cursor:pointer}.completion-option:hover{background:var(--bg)}.completion-option input{flex-shrink:0;width:18px;height:18px;margin:0;accent-color:var(--accent);cursor:pointer}.completion-option input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.completion-option strong{display:block;font:600 14px var(--mono)}.completion-detail-setting strong{font-family:inherit}.completion-option .key-description{color:var(--muted);font:12px '-apple-system',pingfang sc,microsoft yahei,sans-serif}.completion-option small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.settings-error{margin:12px 0 0;color:var(--storage-error);font-size:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.dialog-actions button[type=submit]{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.dialog-actions button[type=submit]:hover{background:var(--accent-hover);filter:brightness(.9)}@media(min-width:721px){.ide-stage{overflow:hidden}}@media(max-width:1040px){.bar .hint{display:none}.project-bar{grid-template-columns:auto minmax(0,1fr)}.project-controls{grid-column:1;grid-row:1}.project-actions{grid-column:2;grid-row:1}.project-identity{grid-column:1/-1;grid-row:2}.version-panel{width:var(--versions-width,300px)}.file-panel{width:var(--files-width,190px)}.local-note{display:none}}@media(max-width:720px){.project-bar{padding:8px;gap:8px 4px}.project-actions{gap:4px}.project-bar .quiet-button,.project-bar .file-menu summary{padding-inline:8px}.project-bar #project-new{padding-inline:6px;gap:4px}.project-bar .storage-status{font-size:12px}.ide-stage{display:grid;grid-template-columns:56px minmax(0,1fr);flex:none}.sidebar-resizer{display:none}.file-panel,.file-panel[data-collapsed=true]{grid-column:1;grid-row:1;width:48px;margin:8px 0 8px 8px}#workspace{grid-column:2;grid-row:1;padding:8px}.ide-stage:has(#version-panel:not([hidden])) #workspace{padding-right:8px}.ide-stage[data-files-collapsed=false]{grid-template-columns:minmax(0,1fr)}.ide-stage[data-files-collapsed=false] .file-panel{width:auto;max-height:35vh;max-height:35svh;margin:8px 8px 0}.ide-stage[data-files-collapsed=false] #workspace{grid-column:1;grid-row:2}.ide-stage[data-files-collapsed=false] .version-panel{grid-row:3}.file-list{flex:auto}.file-open,.file-more,.file-context button{min-height:40px}.file-more{width:40px}.file-help{padding-top:6px;padding-bottom:8px}.version-panel{grid-column:1/-1;grid-row:2;width:auto;margin:0 8px 8px}.quiet-button,.file-menu summary{min-height:40px}.file-actions{right:auto;left:0}}