.code-folder{--cf-bg:#fbfcfa;--cf-panel:#f2f5ef;--cf-line:#dfe5da;--cf-text:#27382d;--cf-muted:#5e6a61;--cf-active:#e1ecd9;--cf-accent:#355c32;color:var(--cf-text);font-family:var(--sans,ui-sans-serif,system-ui,sans-serif);font-size:12px;line-height:1.5;margin:28px 0;clear:both;max-width:100%}[data-theme=dark] .code-folder,[data-theme=dark] .code-folder-dialog{--cf-bg:#18211b;--cf-panel:#202b23;--cf-line:#344136;--cf-text:#e2e9dd;--cf-muted:#a6b4a8;--cf-active:#30452e;--cf-accent:#c1d9ae}.code-folder *,.code-folder-dialog *{box-sizing:border-box}.code-folder-panel{border:1px solid var(--cf-line);border-radius:12px;background:var(--cf-bg);overflow:hidden}.code-folder button{color:inherit;font:inherit;border:0;cursor:pointer;background:transparent;margin:0;border-radius:0}.code-folder button:focus-visible{outline:2px solid var(--cf-accent);outline-offset:-3px}.code-folder-header{display:flex;align-items:center;justify-content:space-between;background:var(--cf-panel);border-bottom:1px solid var(--cf-line);padding:4px 8px 4px 15px;min-height:48px}.code-folder-header>div{display:flex;align-items:center;gap:9px;min-width:0}.code-folder-header strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-folder-header>div>span{font-size:11px;color:var(--cf-muted);flex-shrink:0}.code-folder-filebar button,.code-folder-header button{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:5px}.code-folder-filebar button:hover,.code-folder-header button:hover{background:var(--cf-active)}.code-folder-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);height:430px}.code-folder-tree{background:var(--cf-panel);border-right:1px solid var(--cf-line);padding:10px 0;overflow:auto;overscroll-behavior:contain}.code-folder-tree ul{list-style:none;padding:0;margin:0}.code-folder-tree li{padding:0;margin:0}.code-folder-tree button{display:flex;align-items:center;gap:7px;text-align:left;width:100%;padding-top:7px;padding-bottom:7px;padding-right:12px;min-height:32px;white-space:nowrap}.code-folder-tree button:hover{background:var(--cf-active)}.code-folder-tree button[aria-current]{background:var(--cf-active);color:var(--cf-accent);box-shadow:inset 3px 0 var(--cf-accent);font-weight:600}.code-folder-tree button svg{flex-shrink:0}.code-folder-directory{color:var(--cf-muted)!important}.code-folder-chevron-open{transform:rotate(90deg)}.code-folder-editor{display:flex;flex-direction:column;min-width:0;min-height:0}.code-folder-filebar{display:flex;align-items:center;gap:8px;padding:2px 6px 2px 14px;min-height:44px;border-bottom:1px solid var(--cf-line)}.code-folder-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;flex:1 1}.code-folder-language{color:var(--cf-muted);font-size:10px}.code-folder .code-folder-tree-toggle{display:none}.code-folder-source{flex:1 1;min-height:0;overflow:auto;overscroll-behavior:contain;background:var(--cf-bg)}.code-folder-source pre{margin:0;padding:16px 16px 16px 0;min-width:max-content;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.8;tab-size:4;background:transparent!important;border:0;border-radius:0}.code-folder-source pre code{display:block;counter-reset:code-line;border:0;background:transparent;padding:0;font:inherit;color:var(--cf-text);white-space:normal}.code-folder-source .line{display:block;white-space:pre;min-height:1.8em}.code-folder-source pre.code-folder-long{padding-left:18px}.code-folder-source pre.code-folder-long code{white-space:pre}.code-folder-source .line:before{counter-increment:code-line;content:counter(code-line);display:inline-block;position:sticky;left:0;width:48px;padding-right:12px;margin-right:12px;text-align:right;color:var(--cf-muted);background:var(--cf-bg);font-size:10px;-webkit-user-select:none;user-select:none}.code-folder-source .shiki span{background:transparent;color:var(--shiki-light)}[data-theme=dark] .code-folder-source .shiki span{color:var(--shiki-dark)}.code-folder-status{display:flex;justify-content:space-between;gap:8px;padding:6px 12px;min-height:30px;font-size:10px;color:var(--cf-muted);border-top:1px solid var(--cf-line)}.code-folder-dialog{--cf-bg:#fbfcfa;--cf-panel:#f2f5ef;--cf-line:#dfe5da;--cf-text:#27382d;--cf-muted:#5e6a61;--cf-active:#e1ecd9;--cf-accent:#355c32;color:var(--cf-text);background:var(--cf-bg);padding:16px;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0}.code-folder-dialog::backdrop{background:#18211b99}.code-folder-dialog .code-folder-panel{height:100%;display:flex;flex-direction:column}.code-folder-dialog .code-folder-workspace{flex:1 1;min-height:0;height:auto;grid-template-columns:minmax(190px,20%) minmax(0,1fr)}.code-folder-dialog .code-folder-source pre{font-size:14px}.code-folder-upload{margin-bottom:20px}.code-folder-upload>p{margin:8px 0;font-size:12px;color:var(--theme-elevation-650,#68736b)}.code-folder-upload-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.code-folder-upload-button{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;min-height:40px;border:1px solid var(--theme-elevation-250,#dfe5da);border-radius:6px;background:var(--theme-elevation-100,#f2f5ef);color:var(--theme-elevation-850,#27382d);font:inherit;cursor:pointer}.code-folder-upload-button:disabled{opacity:.6;cursor:default}.code-folder-upload input[type=file]{max-width:100%}.code-folder-upload .code-folder{margin:16px 0 0}.code-folder-upload details{margin:10px 0;font-size:12px}.code-folder-upload details ul{max-height:150px;overflow:auto}@media (max-width:640px){.code-folder-dialog .code-folder-workspace,.code-folder-workspace{grid-template-columns:minmax(0,1fr);position:relative}.code-folder-tree{display:none;position:absolute;z-index:2;left:0;top:44px;bottom:30px;width:min(80%,260px);box-shadow:8px 0 16px #0001}.code-folder-panel--tree-open .code-folder-tree{display:block}.code-folder .code-folder-tree-toggle{display:inline-flex}.code-folder-filebar{padding-left:4px}.code-folder-header{padding-left:12px}.code-folder-language{display:none}.code-folder-dialog{padding:8px}.code-folder-dialog .code-folder-source pre{font-size:12px}}