/* Sidebar presentation authority: shared by Code and embedded Chat. */
.sidebar{font-size:13px;line-height:1.45}
.sidebar{background:rgba(31,34,32,.72);-webkit-backdrop-filter:blur(20px) saturate(120%);backdrop-filter:blur(20px) saturate(120%);border-color:rgba(183,204,189,.1)}
.sidebar :is(button,summary,.section-title,.section-status){font-family:inherit}
.sidebar .section-title{height:30px;font-size:12px;font-weight:500}
.sidebar .section-status,.chat-sidebar>.section-title>span:last-child{font:inherit;font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted2)}
.sidebar .plan-usage-window-heading span{font:inherit;font-size:11px;font-variant-numeric:tabular-nums}
.sidebar :is(.plan-usage-copy,.plan-usage-window-heading,.plan-usage-window-meta,.plan-usage-reset){font-size:11px;line-height:1.45}
.sidebar .plan-usage-card-heading{font-size:10px}
.sidebar :is(.project-choices,.chat-sidebar,.project-tools-section,.workspace-menu-panel,.task-action-popup,.chat-history-popup){scrollbar-width:thin;scrollbar-color:rgba(189,202,193,.2) transparent;overscroll-behavior:contain}
.sidebar ::-webkit-scrollbar{width:4px;height:4px}
.sidebar ::-webkit-scrollbar-track{background:transparent}
.sidebar ::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:rgba(189,202,193,.2)}
.sidebar ::-webkit-scrollbar-thumb:hover{background:rgba(189,202,193,.38)}
.sidebar ::-webkit-scrollbar-corner{background:transparent}
.sidebar :is(button,summary):focus-visible{outline:2px solid var(--brand-focus);outline-offset:-2px}
.sidebar .project-choices{min-height:0;overflow-x:hidden;scrollbar-gutter:stable;margin-top:6px;padding-right:2px}
.sidebar .project-tools-section{max-height:32vh;overflow:auto}
.sidebar #history{min-width:0;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(189,202,193,.2) transparent}
.sidebar .empty-small,.sidebar .muted{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.sidebar :is(.workspace-project-folder,.chat-project-folder){overflow:hidden;min-width:0;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent}
.sidebar :is(.workspace-project-folder,.chat-project-folder)[open]{border-color:var(--line-soft);background:rgba(255,255,255,.018)}
.sidebar :is(.workspace-project-folder,.chat-project-folder)>summary{display:flex;align-items:center;gap:8px;min-width:0;min-height:38px;padding:7px 9px;list-style:none;cursor:pointer;border-radius:var(--radius-xs);color:var(--text);font-size:13px;font-weight:500}
.sidebar :is(.workspace-project-folder,.chat-project-folder)>summary::-webkit-details-marker{display:none}
.sidebar :is(.workspace-project-folder,.chat-project-folder)>summary::before{content:"▸";flex:none;color:var(--muted2);font-size:11px;transition:transform .16s ease}
.sidebar :is(.workspace-project-folder,.chat-project-folder)[open]>summary::before{transform:rotate(90deg)}
.sidebar .project-folder-icon{display:grid;place-items:center;flex:none;width:16px;height:16px;color:var(--brand-icon)}
.sidebar .project-folder-icon svg{width:16px;height:16px}
.sidebar :is(.project-folder-title,.project-folder-name){min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}
.sidebar .project-folder-count{flex:none;min-width:16px;color:var(--muted2);font-size:11px;font-variant-numeric:tabular-nums;text-align:right}
.sidebar :is(.workspace-project-folder.selected,.chat-project-folder.active-project)>summary{background:var(--brand-quiet)}
.sidebar :is(.project-folder-contents,.project-folder-chats){display:grid;gap:2px;margin:0 4px 7px 18px;padding:0 0 0 7px;border-left:1px solid var(--line)}
.sidebar .project-folder-actions{display:flex;flex-wrap:wrap;gap:4px;padding:3px 8px 8px 26px}
.sidebar .project-folder-actions button{min-height:28px;padding:4px 9px;border:1px solid var(--brand-border-subtle);border-radius:var(--radius-pill);background:var(--brand-quiet);color:var(--brand-text);font-size:11px;line-height:1.4;cursor:pointer}
.sidebar .project-folder-actions button:hover{border-color:var(--brand-border-hover);background:var(--brand-hover-surface)}
.sidebar .project-folder-empty{padding:8px;color:var(--muted);font-size:12px;line-height:1.5}
.sidebar .project-live-state{padding:0 9px 9px 26px;color:var(--brand-icon);font-size:11px}
.sidebar .recent-task{position:relative;margin:0;padding:0;border:0;border-radius:var(--radius-xs);background:transparent}
.sidebar .recent-task:hover{background:rgba(255,255,255,.035)}
.sidebar .recent-open{display:block;width:100%;min-width:0;padding:9px 38px 9px 9px;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--text);text-align:left;cursor:pointer}
.sidebar .recent-task strong{display:block;font-size:13px;font-weight:400;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar .recent-task small{display:flex;gap:6px;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar .recent-task small span:last-child{color:var(--muted2)}
.sidebar .recent-task .failed{color:var(--amber)}
.sidebar .recent-actions{position:absolute;right:3px;top:8px;transform:none;display:flex;gap:0}
.sidebar .chat-history-controls{display:flex;gap:6px;padding:4px 0 10px}
.sidebar .chat-history-controls button{flex:1;font-size:12px}
.sidebar .chat-history-section-label{padding:12px 9px 5px;color:var(--muted2);font-size:11px}
.sidebar .chat-history-row{display:flex;align-items:center;gap:2px;min-width:0}
.sidebar .chat-history-row>button{flex:1;min-width:0;padding:9px;border:0;background:transparent;color:var(--muted);text-align:left;font-size:13px;font-weight:400;line-height:1.45;border-radius:var(--radius-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.sidebar .chat-history-row>button:hover,.sidebar .chat-history-row>button[aria-current="true"]{background:var(--sidebar-hover);color:var(--text)}
.sidebar :is(.task-action-menu,.chat-history-menu){position:relative;flex:none;width:28px;height:28px;padding:0;background:transparent}
.sidebar :is(.task-action-menu,.chat-history-menu)>summary{display:grid;place-items:center;width:28px;height:28px;padding:0;line-height:1;font-size:19px;cursor:pointer;list-style:none;border-radius:var(--radius-xs);user-select:none;-webkit-user-select:none;color:var(--muted)}
.sidebar :is(.task-action-menu,.chat-history-menu)>summary::-webkit-details-marker{display:none}
.sidebar :is(.task-action-menu,.chat-history-menu)>summary:hover,.sidebar :is(.task-action-menu,.chat-history-menu)[open]>summary{background:var(--sidebar-hover);color:var(--text)}
.sidebar :is(.task-action-popup,.chat-history-popup,.project-menu-list){position:fixed;z-index:150;bottom:auto;right:auto;width:200px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto;padding:6px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);box-shadow:0 12px 36px #0005}
.sidebar :is(.task-action-menu,.chat-history-menu):not([open])>div{display:none}
.sidebar :is(.task-action-popup,.chat-history-popup,.project-menu-list) button,.sidebar #chat-history .chat-history-popup button{position:static;display:block;width:100%;max-width:none;height:auto;min-height:36px;transform:none;padding:9px 12px;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--text);text-align:left;font-size:13px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.sidebar :is(.task-action-popup,.chat-history-popup,.project-menu-list) button:hover{background:var(--sidebar-hover)}
.sidebar .task-action-popup .recent-delete,.sidebar .chat-history-popup .chat-delete-action,.sidebar #chat-history .chat-history-popup .chat-delete-action{color:var(--danger)}
@media(min-width:761px){
 .desktop .sidebar>.project-section,.desktop .sidebar>.chat-sidebar{flex:1 1 0;min-height:0}
 .sidebar .chat-sidebar{overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}
 .sidebar #chat-chat-projects{flex:none;max-height:none;overflow:visible}
 .sidebar #chat-history{flex:none;overflow:visible;padding:0}
}
@media(prefers-reduced-motion:reduce){.sidebar :is(.workspace-project-folder,.chat-project-folder)>summary::before{transition:none}}
/* Native Chromium/WebKit scrollbar styling needs the standard properties reset. */
@supports selector(::-webkit-scrollbar){
 .sidebar :is(.project-choices,.chat-sidebar,.project-tools-section,.workspace-menu-panel,.task-action-popup,.chat-history-popup,#history){scrollbar-width:auto;scrollbar-color:auto}
}
@media(forced-colors:active){.sidebar ::-webkit-scrollbar-thumb{background:ButtonText}.sidebar :is(.project-choices,.chat-sidebar,.project-tools-section,.workspace-menu-panel,.task-action-popup,.chat-history-popup){scrollbar-color:auto}}

/* Shared vectors, clear actions and color only for meaning. */
.library-shortcut{margin:4px 0 6px!important;min-height:50px;gap:10px!important;border:1px solid transparent!important;background:transparent!important;color:var(--text)!important}
.sidebar-footer>.workspace-menu{margin-top:0}
.library-shortcut:hover,.library-shortcut.active{border-color:rgba(168,146,247,.22)!important;background:rgba(168,146,247,.07)!important}
.library-shortcut-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:var(--radius-xs);background:rgba(168,146,247,.13);color:#b6a3f3}
.library-shortcut-icon svg{width:19px;height:19px}
.library-shortcut-copy{display:grid;gap:4px;text-align:left}.library-shortcut-copy strong{font-size:13px;font-weight:600}.library-shortcut-copy small{font-size:11px;color:var(--muted)}
.navigation-tools .nav-icon svg,.workspace-menu-panel button>span svg,.primary-nav .nav-icon svg{width:18px;height:18px;display:block}.navigation-tools .nav-icon{display:grid;place-items:center}
.tone-green{--category-color:#cde08c;--category-bg:rgba(198,220,124,.085)}
.tone-violet{--category-color:#c2b0ff;--category-bg:rgba(181,161,241,.09)}
.tone-blue{--category-color:#9ac8ff;--category-bg:rgba(139,185,239,.085)}
.tone-amber{--category-color:#f0c681;--category-bg:rgba(233,191,123,.09)}
.tone-cyan{--category-color:#91e1e2;--category-bg:rgba(124,209,212,.085)}
.tone-rose{--category-color:#f2aabd;--category-bg:rgba(233,156,174,.09)}

#view-library .library-page-heading{position:relative;isolation:isolate;display:grid;align-content:center;min-height:180px;padding:28px 30px;overflow:hidden;border:1px solid rgba(181,161,241,.2);border-radius:26px;background:radial-gradient(ellipse at 86% 8%,rgba(181,161,241,.17),transparent 40%),radial-gradient(ellipse at 4% 100%,rgba(198,220,124,.08),transparent 42%),linear-gradient(125deg,#1d2020 0%,#191b1d 56%,#202027 100%)}
#view-library .library-page-heading::after{position:absolute;z-index:-1;top:-102px;right:9%;width:250px;height:250px;border:1px solid rgba(194,176,255,.22);border-radius:50%;box-shadow:0 0 0 22px rgba(194,176,255,.025),0 0 0 48px rgba(194,176,255,.02);content:"";pointer-events:none}
#view-library .library-page-heading .eyebrow{display:flex;align-items:center;gap:9px;font-size:10px}
#view-library .library-page-heading .eyebrow::before{width:7px;height:7px;border-radius:50%;background:#c2b0ff;box-shadow:0 0 14px rgba(194,176,255,.8);content:""}
#view-library .library-page-heading h1{position:relative;margin:12px 0 8px;max-width:760px;font-family:"Grablex Code Brand",Inter,-apple-system,sans-serif;font-size:clamp(30px,3.2vw,43px);font-weight:650;line-height:1.08;letter-spacing:-.052em}
#view-library .library-page-heading p{position:relative;max-width:680px;margin:0;color:#b8bebc;font-size:14px;line-height:1.65}

#libraryCatalog{width:100%;max-width:1180px;min-width:0}
.library-icon{display:inline-grid;place-items:center;flex:none}
.library-icon svg{display:block;width:18px;height:18px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.library-source-details>summary::-webkit-details-marker{display:none}
.library-source-details>summary:focus-visible{outline:2px solid #c2b0ff;outline-offset:-3px}
.library-card>summary:focus-visible{outline:2px solid var(--category-color);outline-offset:3px}
.library-subfilters{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 20px}
.library-subfilter{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 11px;border:1px solid var(--line);border-radius:var(--radius-pill);background:rgba(255,255,255,.018);color:#aeb8b3;font:550 10px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;transition:background 150ms ease,border-color 150ms ease,color 150ms ease}
.library-subfilter:hover{border-color:rgba(205,224,140,.32);background:rgba(198,220,124,.045);color:#e3e9e5}
.library-subfilter.is-selected{border-color:rgba(205,224,140,.32);background:rgba(198,220,124,.09);color:#b8efc6}
.library-subfilter small{display:grid;min-width:18px;height:18px;place-items:center;padding:0 4px;border-radius:var(--radius-pill);background:rgba(255,255,255,.055);color:inherit;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}
.library-subfilter:focus-visible{outline:2px solid #cde08c;outline-offset:2px}

.library-collection{min-width:0;margin-top:2px}
.library-collection-heading{display:flex;align-items:center;gap:12px;margin-bottom:13px}
.library-collection-icon{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(198,220,124,.18);border-radius:14px;background:rgba(198,220,124,.08);color:#cde08c}
.library-collection-icon svg{width:19px;height:19px}
.library-collection-heading h2{margin:0 0 3px;color:#f0f2f1;font-size:17px;font-weight:640;letter-spacing:-.025em}
.library-collection-heading p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.library-search-row{display:flex;align-items:center;gap:10px;min-width:0}
.library-search-field{display:flex;align-items:center;gap:11px;flex:1;min-width:0;height:50px;padding:0 14px;border:1px solid #3a4140;border-radius:16px;background:linear-gradient(110deg,#202424,#1b1e1e);color:#9ea9a4;transition:border-color 150ms ease,box-shadow 150ms ease}
.library-search-field:focus-within{border-color:rgba(205,224,140,.58);box-shadow:0 0 0 3px rgba(205,224,140,.08)}
.library-search-icon{color:#cde08c}
.library-search-icon svg{width:18px;height:18px}
#librarySearch{width:100%;min-width:0;height:100%;padding:0;border:0;outline:0;background:transparent;color:var(--text);font-size:12px}
#librarySearch::placeholder{color:#7f8a85}
#librarySearch:focus-visible{outline:0}
.library-results-count{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:80px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:rgba(255,255,255,.025);color:#c5ccc8;font-size:11px;font-weight:600}
.library-results-hint{margin:8px 2px 12px;color:var(--muted2);font-size:10px;line-height:1.5}
.library-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px}
.library-card{min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#202323,#1c1e1e);transition:transform 150ms ease,border-color 150ms ease,background 150ms ease}
.library-card:hover{border-color:#454d49;background:linear-gradient(145deg,#242827,#1d2020)}
.library-card[data-origin="danger-code"]{border-color:rgba(198,220,124,.22);background:linear-gradient(145deg,rgba(198,220,124,.075),#1d2020 70%)}
.library-card[data-origin="reviewed"]{border-color:rgba(181,161,241,.2);background:linear-gradient(145deg,rgba(181,161,241,.065),#1d2020 70%)}
.library-card>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px 10px;cursor:pointer;list-style:none}
.library-card>summary::-webkit-details-marker{display:none}
.library-card-title{display:flex;align-items:center;gap:9px;min-width:0}
.library-card-icon{display:grid;width:30px;height:30px;place-items:center;flex:none;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(255,255,255,.035);color:var(--category-color)}
.library-card-icon svg{width:15px;height:15px}
.library-card[data-origin="danger-code"] .library-card-icon{border-color:rgba(198,220,124,.18);background:rgba(198,220,124,.09);color:#cde08c}
.library-card[data-origin="reviewed"] .library-card-icon{border-color:rgba(181,161,241,.18);background:rgba(181,161,241,.09);color:#c2b0ff}
.library-card-title strong{min-width:0;color:#e9edeb;font-size:12px;font-weight:620;line-height:1.4;overflow-wrap:anywhere}
.library-origin{padding:4px 8px;border:1px solid var(--line);border-radius:var(--radius-pill);background:rgba(255,255,255,.025);color:#aeb8b3;font-size:9px;font-weight:600;white-space:nowrap}
.library-origin[data-origin="danger-code"]{border-color:rgba(198,220,124,.2);background:rgba(198,220,124,.09);color:#a7eabd}
.library-origin[data-origin="reviewed"]{border-color:rgba(181,161,241,.2);background:rgba(181,161,241,.09);color:#d1c5ff}
.library-card-chevron{display:grid;width:26px;height:26px;place-items:center;border:1px solid transparent;border-radius:50%;color:#8e9994;transition:transform 150ms ease,color 150ms ease}
.library-card-chevron svg{width:15px;height:15px}
.library-card[open]>summary .library-card-chevron{transform:rotate(180deg);color:var(--category-color)}
.library-card-description{grid-column:1/-1;display:-webkit-box!important;overflow:hidden;margin:0 0 0 39px;color:#aeb7b3;font-size:10px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.library-card>p{margin:11px 0;color:#c0c8c4;font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.library-card .library-status{color:var(--category-color);font-size:10px;font-weight:600;letter-spacing:.025em}
.library-card .library-card-full-description{color:var(--muted)}
.library-card small{display:block;color:var(--muted);font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.library-card pre{max-height:340px;margin:12px 0;padding:13px;overflow:auto;border:1px solid rgba(255,255,255,.055);border-radius:13px;background:#171a19;color:#bec8c2;font-size:10px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.library-source-details{margin-top:12px;border-top:1px solid rgba(255,255,255,.07)}
.library-source-details>summary{display:flex;align-items:center;gap:8px;padding:10px 0 2px;color:#aab5af;cursor:pointer;list-style:none;font-size:10px;font-weight:550}
.library-source-details>summary .library-icon:first-child{color:#c2b0ff}
.library-source-chevron{margin-left:auto;color:#89948e;transition:transform 150ms ease}
.library-source-details[open] .library-source-chevron{transform:rotate(180deg)}
.library-source-details>small{margin:6px 0;color:#939e99}
.library-source-hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px!important;line-height:1.6!important;overflow-wrap:anywhere;color:#aeb8b3!important}
.library-source-details>a{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:#c2b0ff;font-size:10px;text-decoration:none}
.library-source-details>a:hover{text-decoration:underline}

@media(max-width:1100px){
  .library-list{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
  #view-library .library-page-heading{min-height:162px;padding:24px 20px}
  #view-library .library-page-heading::after{right:-62px;opacity:.6}
}
@media(max-width:540px){
  .library-search-row{align-items:stretch;gap:7px}
  .library-search-field{height:46px;gap:8px;padding:0 11px;border-radius:14px}
  .library-results-count{min-width:64px;height:32px;padding:0 8px;font-size:10px}
  .library-card{padding:12px;border-radius:15px}
  .library-card>summary{grid-template-columns:minmax(0,1fr) auto auto;gap:6px}
  .library-card-title{gap:7px}
  .library-card-title strong{font-size:11px}
  .library-origin{padding:4px 6px;font-size:8px}
  .library-card-description{margin-left:37px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .library-mode-switch [role=tab],.library-subfilter,.library-card,.library-card-chevron,.library-source-chevron{transition:none!important}
}

/* Clip long labels with an edge fade; action controls keep their own hit targets. */
.sidebar :is(.project-folder-title,.project-folder-name,.recent-task strong,.recent-task small,.project-card-copy strong,.project-card-copy small,.workspace-open-copy small),.sidebar .chat-history-row>button:not(.sidebar-action-toggle){text-overflow:clip;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 24px),transparent 100%)}
@media(forced-colors:active){.sidebar :is(.project-folder-title,.project-folder-name,.recent-task strong,.recent-task small,.project-card-copy strong,.project-card-copy small,.workspace-open-copy small),.sidebar .chat-history-row>button:not(.sidebar-action-toggle){mask-image:none;-webkit-mask-image:none}}

/* One footer button shape for Library and My workspace. */
.sidebar-footer :is(.library-shortcut,.workspace-open){display:flex;align-items:center;gap:10px!important;width:100%;height:auto;min-height:54px;padding:10px 12px!important;border:1px solid transparent!important;border-radius:var(--radius-pill);background:transparent!important;color:var(--text)!important;text-align:left;cursor:pointer}
.sidebar-footer :is(.library-shortcut,.workspace-open):is(:hover,:focus-visible,.active){border-color:rgba(213,232,220,.13)!important;background:linear-gradient(130deg,rgba(215,232,222,.09),rgba(215,232,222,.035))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
