/* The Code tab: the session's working copy as a tree, files, search and the
   changes of a turn. Colours follow the theme; the neon layer supplies
   --cy-* when it is on. */
.sc{--sc-mono:var(--cy-mono,"SF Mono",ui-monospace,Menlo,monospace);--sc-amber:var(--cy-amber,#e8b45a);--sc-violet:var(--cy-violet,#b48cf2);--sc-red:#ef7f8f;display:flex;flex-direction:column;min-height:100%}
.sc-bar{position:sticky;top:0;z-index:3;display:grid;gap:8px;padding:10px 12px 9px;background:var(--ss-panel);border-bottom:1px solid var(--ss-line)}
.sc-query{width:100%;min-height:32px;padding:6px 10px;border:1px solid var(--ss-line);border-radius:7px;background:var(--ss-bg);color:var(--ss-text);font:12px var(--sc-mono);outline:none}
.sc-query:focus{border-color:color-mix(in srgb,var(--ss-blue) 60%,var(--ss-line))}
.sc-modes{display:flex;flex-wrap:wrap;gap:4px}
.sc-modes button{padding:3px 9px;min-height:24px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ss-muted);font-size:11px;cursor:pointer}
.sc-modes button:hover{color:var(--ss-text);background:var(--ss-raised)}
.sc-modes button.selected{color:var(--ss-text);border-color:var(--ss-line);background:var(--ss-raised)}
.sc-modes [data-code-refresh]{margin-left:auto}
@media(min-width:1101px){.ss-shell.ss-layout-ready.sc-wide{--ss-context-width:max(420px,min(52vw,calc(100vw - 720px)))!important}}
.sc-body{flex:1;min-height:0;padding:6px 6px 18px}
.sc-row{display:flex;align-items:center;gap:6px;width:100%;min-height:26px;padding:3px 8px 3px calc(8px + var(--depth,0) * 14px);border:0;border-radius:5px;background:transparent;color:var(--ss-text);font:12px/1.4 var(--sc-mono);text-align:left;cursor:pointer}
.sc-row:hover{background:var(--ss-raised)}
.sc-row.selected{background:color-mix(in srgb,var(--ss-blue) 16%,transparent)}
.sc-row.sc-pending,.sc-row.sc-error{cursor:default;color:var(--ss-muted);font-size:11px}
.sc-row.sc-pending:hover,.sc-row.sc-error:hover{background:transparent}
.sc-row.sc-error{color:var(--sc-red)}
.sc-twisty{flex:none;width:10px;color:var(--ss-muted);font-size:10px}
.sc-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-dir .sc-name{color:color-mix(in srgb,var(--ss-text) 88%,var(--sc-violet))}
.sc-flat small{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ss-muted);font-size:10px}
.sc-ignored{opacity:.48}
.sc-dot{flex:none;width:6px;height:6px;margin-left:auto;border-radius:50%;background:var(--sc-amber)}
.sc-status{flex:none;margin-left:auto;padding:0 5px;border-radius:4px;font:600 10px/16px var(--sc-mono);color:var(--sc-amber);background:color-mix(in srgb,var(--sc-amber) 12%,transparent)}
.sc-flat .sc-count+.sc-status,.sc-flat small+.sc-status{margin-left:6px}
.sc-status-A{color:var(--ss-green);background:color-mix(in srgb,var(--ss-green) 12%,transparent)}
.sc-status-D{color:var(--sc-red);background:color-mix(in srgb,var(--sc-red) 12%,transparent)}
.sc-status-R,.sc-status-C{color:var(--ss-blue);background:color-mix(in srgb,var(--ss-blue) 12%,transparent)}
.sc-count{flex:none;font:10px var(--sc-mono)}
.sc-flat .sc-name+.sc-count{margin-left:auto}
.sc-count.added{color:var(--ss-green)}
.sc-count.removed{color:var(--sc-red)}
.sc-lock{flex:none;color:var(--ss-muted);font-size:11px}
.sc-quiet{margin:0;padding:16px 10px;color:var(--ss-muted);font-size:12px;line-height:1.6}
.sc-summary{margin:0;padding:6px 8px 8px;color:var(--ss-muted);font-size:11px}
.sc-search-row{color:var(--ss-muted)}
.sc-search-row kbd{flex:none;margin-left:auto;font:10px var(--sc-mono);opacity:.7}
.sc-file-head{position:sticky;top:52px;z-index:2;display:flex;align-items:center;gap:8px;padding:6px 4px 8px;background:var(--ss-panel)}
.sc-back{flex:none;padding:2px 7px;border:0;border-radius:5px;background:transparent;color:var(--ss-muted);font-size:14px;cursor:pointer}
.sc-back:hover{color:var(--ss-text);background:var(--ss-raised)}
.sc-crumbs{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:11px var(--sc-mono);color:var(--ss-text)}
.sc-crumbs i{margin:0 3px;font-style:normal;opacity:.45}
.sc-file-head .sc-status{margin-left:0}
.sc-switch{display:flex;flex:none;margin-left:auto;overflow:hidden;border:1px solid var(--ss-line);border-radius:6px}
.sc-switch button{padding:2px 9px;border:0;background:transparent;color:var(--ss-muted);font-size:11px;cursor:pointer}
.sc-switch button.selected{color:var(--ss-text);background:var(--ss-raised)}
.sc-source{margin:0;overflow-x:auto;font:12px/1.6 var(--sc-mono);white-space:pre;tab-size:4;color:var(--ss-text)}
.sc-l{display:block;min-height:1.6em;padding-right:14px}
.sc-l::before{content:attr(data-n);position:sticky;left:0;display:inline-block;width:4.6em;padding-right:1.1em;text-align:right;color:var(--ss-muted);background:var(--ss-panel);opacity:.6;user-select:none}
.sc-hit{background:color-mix(in srgb,var(--ss-blue) 18%,transparent)}
.sc-hit::before{opacity:1;color:var(--ss-text)}
.sc-k{color:var(--sc-violet)}
.sc-s{color:color-mix(in srgb,var(--ss-green) 85%,var(--ss-text))}
.sc-n{color:var(--sc-amber)}
.sc-c{color:var(--ss-muted);font-style:italic}
.sc-diff{margin:0;overflow-x:auto}
.sc-group{margin:2px 0 10px}
.sc-group-path{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;border:0;border-radius:5px;background:transparent;color:var(--ss-text);font:600 11px var(--sc-mono);text-align:left;cursor:pointer}
.sc-group-path span{color:var(--ss-muted);font-weight:400}
.sc-group-path:hover,.sc-match:hover{background:var(--ss-raised)}
.sc-match{display:flex;gap:8px;width:100%;padding:3px 8px;border:0;border-radius:5px;background:transparent;color:var(--ss-text);font:11px/1.55 var(--sc-mono);text-align:left;cursor:pointer}
.sc-match .sc-ln{flex:none;min-width:3.2em;text-align:right;color:var(--ss-muted)}
.sc-match code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:pre;font:inherit}
.sc-match mark{border-radius:2px;color:inherit;background:color-mix(in srgb,var(--sc-amber) 35%,transparent)}
.sc-turn-diff{margin-top:10px}
.ss-code-open{margin:6px 0 2px}
.ss-code-open .ss-button{min-height:24px;padding:3px 9px;font-size:11px}
@media(pointer:coarse){.sc-row,.sc-match{min-height:34px}}
