:root{
  --bg:#08111f;--panel:#111c33;--panel2:#16243f;--panel3:#0b1527;--text:#e5eefc;--muted:#93a4bd;--line:#263854;--accent:#4f9cff;--danger:#ff5f6d;--ok:#4ade80;--warn:#fbbf24;
  --gap:14px;
}
*{box-sizing:border-box}
html{height:100%;height:100dvh;max-height:100dvh;overflow:hidden!important;background:#08111f}
body{margin:0;width:100%;height:100%;height:100dvh;max-height:100dvh;overflow:hidden!important;background:linear-gradient(135deg,#08111f,#13223d 55%,#101827);color:var(--text);font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;display:flex;flex-direction:column}
h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.05}h2{font-size:18px}h3{font-size:15px;margin-bottom:10px}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:800}
.topbar{flex:0 0 auto;min-height:92px;display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line);background:rgba(8,17,31,.94);backdrop-filter:blur(8px);overflow:hidden}.top-actions,.button-row{display:flex;gap:8px;flex-wrap:wrap}button,.button-link{border:1px solid var(--line);background:#1a2b49;color:var(--text);border-radius:11px;padding:10px 13px;cursor:pointer;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:hover,.button-link:hover{filter:brightness(1.12)}button.primary{background:linear-gradient(135deg,#2563eb,#0ea5e9);border-color:#3b82f6}button.danger{background:#3a1823;border-color:#6b2637;color:#ffd4dc}.button-link.disabled{opacity:.5;pointer-events:none}
.app-shell{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:350px minmax(0,1fr);gap:var(--gap);padding:var(--gap);overflow:hidden}.panel{background:rgba(17,28,51,.92);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.22);min-height:0;overflow:hidden}.sidebar{height:100%;min-height:0;padding:14px;display:flex;flex-direction:column;gap:18px}.sidebar section:first-child{flex:0 0 auto;min-height:0}.sidebar section:nth-child(2){flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.dropzone{display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:center;margin-top:10px;border:1px dashed #50709e;border-radius:14px;min-height:96px;background:#0e1b31;cursor:pointer;text-align:center}.dropzone span{font-weight:900}.dropzone small,.panel p,.meta-grid span{color:var(--muted)}.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.meta-grid div{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0}.meta-grid strong{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis}.input{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--panel3);color:var(--text);padding:10px}.file-tree{flex:1 1 auto;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel3);padding:8px}.file-tree.empty{color:var(--muted);padding:18px}.file-item{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 9px;border-radius:8px;font-family:ui-monospace,Consolas,monospace;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-item:hover,.file-item.active{background:#1b355d}
.workspace{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.tabs{flex:0 0 auto;display:flex;gap:8px;margin-bottom:10px;overflow-x:auto;min-height:44px}.tabs button{border-radius:999px;white-space:nowrap}.tabs button.active{background:#e5eefc;color:#0f172a}.tab{display:none;min-height:0;overflow:hidden;padding:14px}.tab.active{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.panel-head{flex:0 0 auto;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}.scroll-area,.content-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding-right:4px}.editor-panel.active{display:flex;flex-direction:column}#editorBox,#handoffPrompt,#noteInput{width:100%;flex:1 1 auto;min-height:0;background:#07101f;color:#e5eefc;border:1px solid var(--line);border-radius:14px;padding:14px;font-family:ui-monospace,Consolas,monospace;font-size:14px;line-height:1.5;resize:none;overflow:auto}#noteInput{min-height:160px}.note-grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow:hidden}.notes-list{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px}.note{background:var(--panel3);border:1px solid var(--line);border-radius:12px;padding:12px;white-space:pre-wrap}.global-review{flex:0 0 auto;display:grid;grid-template-columns:1fr minmax(260px,520px) auto auto;gap:10px;align-items:center;margin-bottom:10px;padding:12px;border:1px solid rgba(74,222,128,.6);border-radius:14px;background:rgba(74,222,128,.09)}.global-review span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.share-card{margin-top:12px;background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.55);border-radius:14px;padding:12px}.share-title{font-weight:900;margin-bottom:6px}.review-box{margin:0 0 12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04)}.review-row{display:grid;grid-template-columns:1fr auto;gap:8px}.hidden{display:none!important}.card{background:var(--panel3);border:1px solid var(--line);border-radius:14px;padding:14px;min-height:0}.card label{display:block;margin:9px 0;color:#d8e5f7}.card pre{white-space:pre-wrap;color:#c8d6e8;overflow:auto}.settings-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:10px 0 14px}.stage{background:var(--panel3);border:1px solid var(--line);border-radius:12px;padding:12px;min-height:110px}.stage.current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.stage.done{border-color:rgba(74,222,128,.7)}.stage b{display:block;margin-bottom:8px}.stage small{color:var(--muted)}.explain-hero{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin-bottom:14px;padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(79,156,255,.16),rgba(74,222,128,.08));border:1px solid rgba(79,156,255,.38)}.explain-hero .label{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}.explain-hero strong{display:block;font-size:18px;word-break:break-all}.risk-pill{border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-weight:900;background:#152542;white-space:nowrap}.risk-low{border-color:rgba(74,222,128,.6);background:rgba(74,222,128,.13)}.risk-med{border-color:rgba(251,191,36,.7);background:rgba(251,191,36,.14)}.risk-high{border-color:rgba(255,95,109,.75);background:rgba(255,95,109,.16)}.explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.clean-list{margin:0;padding-left:18px;color:#d8e5f7}.clean-list li{margin:7px 0}.stat-row{display:flex;flex-wrap:wrap;gap:10px}.stat-row span,.mini-card{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.workspace-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:12px}.mini-card span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.mini-card strong{font-size:20px}#workspaceTreePreview{height:100%;min-height:220px;overflow:auto;white-space:pre;font-family:ui-monospace,Consolas,monospace;line-height:1.45}.footer{flex:0 0 40px;min-height:40px;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:0 18px;color:var(--muted);border-top:1px solid var(--line);background:rgba(8,17,31,.9);overflow:hidden}.install-panel code{display:inline-block;margin:2px;padding:5px 8px;border-radius:8px;background:rgba(0,0,0,.22);border:1px solid var(--line)}#cloudStatusBox{white-space:pre-wrap;max-height:190px;overflow:auto}.cloud-ready{border-color:rgba(74,222,128,.55)}
@media(max-width:1100px){.workspace-cards{grid-template-columns:repeat(3,1fr)}.explain-grid{grid-template-columns:1fr}.explain-hero{grid-template-columns:1fr}.settings-grid,.two-col,.kanban{grid-template-columns:1fr}.risk-pill{justify-self:start}}
@media(max-width:900px){html,body{height:auto;max-height:none;overflow:auto!important}body{display:block}.topbar{height:auto;align-items:flex-start;gap:12px;flex-direction:column}.app-shell{height:auto;display:block;overflow:visible}.sidebar{height:auto;display:block;overflow:visible;margin-bottom:14px}.file-tree{max-height:55vh}.workspace{height:auto;display:block;overflow:visible}.tab.active{display:block}.note-grid{grid-template-columns:1fr}.footer{height:auto;display:block;padding:12px 18px}.global-review{grid-template-columns:1fr}.review-row{grid-template-columns:1fr}}
/* v10 batch-save polish */
.cloud-progress{flex:0 0 auto;margin-bottom:10px;padding:12px;border:1px solid rgba(79,156,255,.55);border-radius:14px;background:rgba(79,156,255,.10)}
.progress-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px;color:var(--text)}
.progress-top span{color:var(--muted);font-family:ui-monospace,Consolas,monospace;font-size:12px;text-align:right}
.progress-track{height:10px;border-radius:999px;background:#07101f;border:1px solid var(--line);overflow:hidden}
.progress-bar{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#0ea5e9,#4ade80);transition:width .18s ease}
body.batch-saving #cloudSaveBtn{opacity:.9}
@media(max-width:900px){.progress-top{align-items:flex-start;flex-direction:column}.progress-top span{text-align:left}}

/* v13 Explorer workspace polish */
.explorer-toolbar{display:flex;gap:6px;margin-bottom:8px}
.tiny-btn{padding:6px 9px;border-radius:8px;font-size:12px;font-weight:800;background:#14233d;border:1px solid var(--line);color:#d8e5f7}
.explorer-search{margin-bottom:8px}
.file-info-drop{flex:0 0 auto;margin-bottom:8px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.035);overflow:hidden}
.file-info-drop summary{cursor:pointer;list-style:none;padding:7px 10px;font-size:13px;font-weight:900;color:#d8e5f7;background:rgba(20,35,61,.72)}
.file-info-drop summary::-webkit-details-marker{display:none}
.file-info-drop summary::after{content:'▾';float:right;color:var(--muted)}
.file-info-drop:not([open]) summary::after{content:'▸'}
.file-info-panel{padding:8px 10px;font-size:12px;color:#d8e5f7;line-height:1.25}
.file-info-title{display:flex;gap:7px;align-items:center;margin-bottom:5px;min-width:0}
.file-info-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-info-lines{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:5px}
.file-info-lines span{border:1px solid var(--line);background:rgba(0,0,0,.18);border-radius:999px;padding:3px 6px;color:var(--muted)}
.file-info-path{font-family:ui-monospace,Consolas,monospace;color:#9fb7d8;word-break:break-all}
.explorer-tree{padding:4px;font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.15}
.tree-row{display:flex;align-items:center;gap:4px;width:100%;height:25px;border:0;border-radius:4px;background:transparent;color:#e5eefc;text-align:left;padding:0 6px 0 calc(6px + (var(--level) * 17px));font-family:ui-monospace,Consolas,monospace;font-weight:650;white-space:nowrap;overflow:hidden}
.tree-row:hover{background:#172b4b}.tree-row.active{background:#23518c;color:#fff;outline:1px solid rgba(147,197,253,.35)}
.tree-row.folder-row{color:#cbdcf6}.tree-row.file-row{color:#f2f7ff}.tree-row.changed .tree-name{color:#fef3c7}
.twisty{flex:0 0 14px;text-align:center;color:#93a9c9}.file-icon{flex:0 0 18px;text-align:center;font-size:13px}.tree-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.dirty-dot{flex:0 0 auto;color:#fbbf24;font-size:10px;margin-left:5px}
.file-item{display:none}
.sidebar section:nth-child(2){gap:6px}.sidebar h2{margin:0 0 4px}.meta-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.tree-row{height:28px}.explorer-tree{font-size:14px}}

/* v14 explorer-first overrides */
.topbar{height:84px;min-height:84px;padding:14px 20px}
.topbar h1{font-size:25px}.eyebrow{font-size:11px}.top-actions button{padding:11px 16px}
.app-shell{grid-template-columns:310px 1fr;gap:10px;padding:10px;height:calc(100dvh - 128px);min-height:0;overflow:hidden}
.sidebar{padding:10px;display:flex;flex-direction:column;gap:10px;min-height:0;overflow:hidden}
.sidebar section{min-height:0}.compact-loader{flex:0 0 auto}.explorer-section{flex:1 1 auto;display:flex;flex-direction:column;gap:7px;overflow:hidden}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.section-title-row h2{font-size:16px}
.small-upload{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:8px 12px;border:1px solid #31507a;border-radius:8px;background:#1b3358;color:#f4f7ff;font-weight:800;cursor:pointer;white-space:nowrap;font-size:13px}
.small-upload:hover{background:#254673}.dropzone{display:none!important}
.tiny-meta-grid{display:grid;grid-template-columns:1fr 74px 74px;gap:6px;margin-bottom:7px}.tiny-meta-grid div{background:#152540;border:1px solid var(--line);border-radius:9px;padding:7px 8px;min-width:0}.tiny-meta-grid div:nth-child(4){grid-column:1 / -1}.tiny-meta-grid span{display:block;color:var(--muted);font-size:11px;line-height:1.1}.tiny-meta-grid strong{display:block;font-size:14px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.tiny-meta-grid div:nth-child(4) strong{font-size:14px}
.input{min-height:34px;padding:7px 9px;border-radius:8px}.compact-row{gap:5px}.compact-row button,.compact-row .button-link{padding:6px 9px;border-radius:7px;font-size:12px}
.file-tree{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#071120;padding:4px;font-size:13px;line-height:1.2}.file-tree.empty{padding:10px;color:var(--muted)}
.tree-row{height:24px;min-height:24px;width:100%;display:flex;align-items:center;gap:5px;border:0;background:transparent;color:#dbe7fb;text-align:left;border-radius:5px;padding:2px 6px 2px calc(6px + (var(--level) * 14px));font-family:Consolas,monospace;font-size:12.5px;cursor:pointer;white-space:nowrap}.tree-row:hover{background:#15294a}.tree-row.active{background:#2b5b98;color:white;outline:1px solid #5aa2ff}.tree-row.folder-row{font-weight:800;color:#c9ddff}.tree-row .twisty{width:12px;flex:0 0 12px;color:#9fb7d8}.file-icon{width:16px;flex:0 0 16px;font-size:12px}.tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dirty-dot{margin-left:auto;color:#fbbf24}
.file-info-details{flex:0 0 auto;border:1px solid var(--line);border-radius:8px;background:#0a1528;color:#ccdcf4;overflow:hidden}.file-info-details summary{cursor:pointer;font-weight:800;padding:6px 8px;font-size:13px}.file-info-panel{padding:6px 8px;border-top:1px solid var(--line);font-size:12px}.file-info-title{display:flex;gap:6px;align-items:center;min-width:0}.file-info-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-info-lines{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.file-info-lines span{background:#13233d;border:1px solid #203757;border-radius:999px;padding:2px 6px;color:#aecaec}.file-info-path{margin-top:5px;color:#8fa9cb;word-break:break-all;font-family:Consolas,monospace;font-size:11px}.hidden{display:none!important}
.workspace{min-width:0;min-height:0;overflow:hidden}.tabs{flex:0 0 auto}.tabs button{padding:10px 15px;border-radius:999px;font-size:14px}.panel{min-height:0}.tab.panel.active{display:flex;flex-direction:column;min-height:0;overflow:hidden}.editor-panel textarea,#handoffPrompt,.content-scroll,.note-grid,.kanban{min-height:0;overflow:auto}.editor-panel textarea{flex:1 1 auto}.cloud-progress{flex:0 0 auto}.global-review{flex:0 0 auto}
.statusbar{height:42px;min-height:42px;display:flex;align-items:center;padding:0 14px;overflow:hidden}.statusbar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){body{overflow:auto!important}.app-shell{height:auto;grid-template-columns:1fr;overflow:visible}.sidebar{overflow:visible}.file-tree{max-height:360px}.topbar{height:auto}.statusbar{height:auto;min-height:36px}}
.tree-lock{margin-left:6px;flex:0 0 auto;font-size:10px;font-weight:900;color:#fbbf24;letter-spacing:.06em}
.secret-row .tree-name{color:#fde68a}
.file-icon{font-size:11px;font-weight:900;letter-spacing:.04em}
#editorBox:disabled{opacity:.88;color:#9fb7d8;cursor:not-allowed}
.global-review strong,.share-title{letter-spacing:.01em}
.top-actions button,.button-row button,.button-link{min-height:40px}
.settings-grid .card .input + .input{margin-top:8px}
