:root{color-scheme:dark;--bg:#0b121b;--panel:#141f2c;--panel2:#101b29;--fg:#edf5f8;--muted:#9fb3c3;--line:#2b4052;--accent:#6de1c8;--warn:#f4c578}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font:13px/1.48 'Malgun Gothic',system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer;background:#23364a;color:var(--fg);border:1px solid #375065;border-radius:8px;padding:8px 11px}button:hover{background:#30485b}button:disabled{opacity:.48;cursor:default}input,select{outline:none;background:#0d1824;border:1px solid #3a5061;border-radius:7px;color:var(--fg);padding:9px 10px;min-width:0}input[type=range]{accent-color:var(--accent)}input[type=file]{max-width:100%}input:focus,select:focus{border-color:var(--accent)}.primary{background:var(--accent);border-color:var(--accent);color:#092827;font-weight:800}.primary:hover{background:#a4f8e7}.danger{color:#ffc4ba}.ghost{background:transparent}.sm{font-size:12px;padding:5px 8px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:20px;margin-bottom:2px}h2{font-size:15px;margin:0}h3{font-size:13px;margin-bottom:7px}.muted,.help{color:var(--muted)}.help{font-size:12px}.shell{max-width:1540px;margin:0 auto;padding:14px 18px}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:7px 0 14px}.brand{font-size:21px;font-weight:900;letter-spacing:-.5px}.subtitle{font-size:12px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:12px}.main-tabs{display:flex;align-items:center;gap:8px;padding:0 0 14px;overflow:auto}.main-tabs button{white-space:nowrap}.main-tabs button[aria-selected=true],.inner-tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent);background:#173735}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}.panel-head .meta{color:var(--muted);font-size:12px}.work-grid{display:grid;grid-template-columns:minmax(340px,1fr) minmax(380px,1.12fr);align-items:start;gap:14px}.stack{display:grid;align-content:start;gap:14px}.line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.line>*{min-width:0}.field{display:flex;flex-direction:column;gap:5px;color:#bed0da;font-size:12px;flex:1;min-width:110px}.field>input,.field>select{width:100%}.fields{display:flex;flex-wrap:wrap;gap:9px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hint{font-size:11px;color:#99aebb}.row-list{display:flex;flex-direction:column;gap:6px;max-height:310px;overflow:auto;min-height:40px}.row-item,.import-entry,.asset-row{display:flex;gap:9px;align-items:center;background:#0d1926;border:1px solid #293e4e;border-radius:8px;padding:8px;min-width:0}.row-item.is-active{border-color:var(--accent);background:#173635}.row-item .detail{min-width:0;flex:1}.row-item strong,.row-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-item small{color:var(--muted)}.thumb,.import-entry img{width:55px;height:50px;object-fit:contain;border-radius:6px;background:#263646;flex:none}.import-entry{overflow:hidden}.import-entry span{min-width:0;overflow-wrap:anywhere}.import-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;max-height:300px;overflow:auto}.drop{padding:18px;text-align:center;border:1px dashed #57818c;border-radius:10px;background:#101f2c;margin:10px 0}.drop.drag{border-color:var(--accent);background:#163b3b}.selectlist{width:100%;min-height:120px}.status{display:block;color:var(--muted);min-height:18px;margin:8px 0 0;overflow-wrap:anywhere}.badge{display:inline-block;border:1px solid #416173;border-radius:7px;padding:5px 9px;color:var(--accent);font-size:12px}.editor-layout{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px}.editor-preview{width:100%;aspect-ratio:1;object-fit:contain;border:1px solid var(--line);background-color:#1d2e37;background-image:conic-gradient(#263946 25%,#1d2e37 0 50%,#263946 0 75%,#1d2e37 0);background-size:16px 16px;border-radius:10px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px}.comparison img{display:block;width:100%;height:180px;object-fit:contain;background:#101b25;border:1px solid var(--line);border-radius:8px}.inline-note{padding:9px;background:#102431;border:1px solid #2c5060;border-radius:8px;margin:8px 0}.inner-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.hidden,[hidden]{display:none!important}.asset-row{justify-content:space-between;flex-wrap:wrap;margin-bottom:5px}.asset-row span{overflow-wrap:anywhere;flex:1}.repo-browser{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.repo-browser select,.repo-browser input{width:100%}.folder-links{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}#items{max-height:265px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}#items button{white-space:normal;overflow-wrap:anywhere;text-align:left}#remoteFiles{width:100%}#assetQueue{max-height:280px;overflow:auto}#deployRuns a{display:block;padding:8px;border-bottom:1px solid var(--line)}.cf-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px}.cf-projects{max-height:70vh;overflow:auto}.cf-projects button{display:block;width:100%;text-align:left;margin-bottom:5px}.cf-projects button.current{border-color:var(--accent)}.cf-run{padding:12px;border:1px solid var(--line);border-radius:8px;margin-top:8px;background:var(--panel2)}.cf-run strong,.cf-run small{display:block}.cf-run small{color:var(--muted)}.cf-summary{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.cf-summary>div{background:var(--panel2);padding:10px;border:1px solid var(--line);border-radius:9px;min-width:110px}.cf-summary b{display:block;font-size:20px}.toolbar select{max-width:270px}.connection-status{font-size:12px;color:var(--muted)}#login{max-width:490px;margin:60px auto}#password{width:100%;margin:10px 0}.workspace-intro{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:12px}#connectorImages{width:100%}#deployPanel,#connectorPanel{max-width:1050px}#connectorPanel .panel-head,#deployPanel .panel-head{margin-bottom:16px}section[role=tabpanel]{margin-bottom:16px}.footer{font-size:11px;color:var(--muted);padding:24px 0;text-align:center}#editorFiles{max-height:220px}input[type=checkbox]{accent-color:var(--accent)}@media(max-width:1050px){.work-grid{grid-template-columns:1fr}.cf-grid{grid-template-columns:1fr}.cf-projects{max-height:250px}.shell{padding:12px}}@media(max-width:570px){.top{align-items:start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.editor-layout{grid-template-columns:1fr}.editor-preview{max-width:220px}.fields{flex-direction:column}.comparison img{height:140px}.work-grid{grid-template-columns:minmax(0,1fr)}.panel{padding:11px}}


/* GitHub image workspace: preserve full folder navigation and inline previews. */
.github-folder-summary{padding:7px 0 10px;font-size:12px;color:var(--muted)}
#items.github-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:none;overflow:visible}
#items.github-folder-grid .github-folder-card{display:flex;flex-direction:column;gap:5px;align-items:flex-start;justify-content:center;min-height:62px;padding:10px 12px;background:#1e3345;border:1px solid #395466;border-radius:9px;text-align:left;white-space:normal;overflow-wrap:anywhere}
.github-folder-card strong{font-size:13px;color:var(--fg);font-weight:700;line-height:1.35}
.github-folder-card small{font-size:11px;color:var(--accent)}
.github-folder-card:hover,.github-folder-card:focus-visible{border-color:var(--accent);background:#234353}
.github-images-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:15px;margin-bottom:9px;padding-top:12px;border-top:1px solid var(--line)}
.github-images-head strong{font-size:13px}
.github-images-head span{font-size:11px;color:var(--muted)}
.github-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px;max-height:490px;overflow-y:auto;align-items:stretch}
.github-image-tile{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0;padding:7px;background:#0d1926;border:1px solid #2b4052;border-radius:9px;text-align:left;overflow:hidden}
.github-image-tile:hover,.github-image-tile:focus-visible{border-color:var(--accent);background:#173132}
.github-image-frame{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;background-color:#192b35;background-image:conic-gradient(#263b47 25%,#192b35 0 50%,#263b47 0 75%,#192b35 0);background-size:18px 18px;border-radius:5px;overflow:hidden}
.github-thumb{display:block;width:100%;height:100%;object-fit:contain}
.github-image-placeholder{font-size:11px;color:#a6bac5;text-align:center;padding:5px}
.github-image-filename{display:block;font-size:12px;color:var(--fg);line-height:1.3;overflow-wrap:anywhere;max-height:2.6em;overflow:hidden}
.github-image-tile small{display:block;color:var(--muted);font-size:10px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.github-no-images{grid-column:1/-1;padding:20px;color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:8px}
#githubMore{margin-top:10px}
.editor-media{width:100%;min-width:0}
.editor-placeholder{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;padding:12px;border:1px dashed var(--line);border-radius:10px;background:#101b27;color:var(--muted);font-size:12px;text-align:center}
@media(max-width:570px){#items.github-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.github-image-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:440px}.github-image-tile{padding:5px}.github-image-frame{aspect-ratio:1}.github-image-filename{font-size:11px}}

.github-scope{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);white-space:nowrap}.github-scope input{width:14px;height:14px;accent-color:var(--accent)}


.github-drop{cursor:copy;padding:13px 10px;margin:10px 0 14px;border-color:#526f7b;background:#102332}
.github-drop.drag,.github-folder-card.drag{background:#184940!important;border:2px dashed var(--accent)!important;box-shadow:0 0 0 2px rgba(109,225,200,.18)}
.github-folder-card{cursor:pointer}
.connector-drag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;max-height:300px;overflow:auto;margin:9px 0}
.connector-draggable{display:flex;flex-direction:column;text-align:left;gap:4px;padding:10px;border-radius:8px;border:1px solid #345165;background:#132638;min-width:0;cursor:grab}
.connector-draggable span{white-space:normal;overflow-wrap:anywhere}
.connector-draggable small{color:var(--accent)}
.connector-draggable:active{cursor:grabbing}
#connectorSource{max-width:230px}
#assetPanel details.inline-note>summary{cursor:pointer;color:#b8d5db}
@media(max-width:570px){.connector-drag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.local-quick-item{overflow:hidden;min-height:100px}
.local-quick-thumb{width:100%;height:72px;object-fit:contain;border-radius:6px;background:#0b1824}
.local-quick-placeholder{display:flex;align-items:center;justify-content:center;height:72px;width:100%;font-size:22px;background:#10202e;border-radius:6px}
.local-quick-item>span:not(.local-quick-placeholder){font-size:11px;min-width:0;max-width:100%;overflow-wrap:anywhere;max-height:38px;overflow:hidden}
#localQuickPanel .connector-drag-grid{max-height:290px}

#cfDeployPreview{white-space:pre-line;overflow-wrap:anywhere}
#cfDirectPanel{padding:15px;margin:12px 0}
#cfDirectPanel input[type=file]{width:100%;max-width:100%}
#cfDirectPanel .field{max-width:100%}
#cfDirectProgress{white-space:pre-line}
