
body { --scrim:radial-gradient(ellipse 80% 72% at 50% 46%,
         rgba(var(--bg0-rgb),.60), rgba(var(--bg0-rgb),.28) 56%, transparent 84%); }
#shell { display:grid; grid-template-columns:260px 1fr; min-height:0; }
#sidebar { position:relative; display:flex; flex-direction:column; min-height:0;
           background-color:var(--glass-thin); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur);
           border-right:var(--bd) solid var(--line); }
.side-h { display:flex; align-items:stretch; gap:var(--s3); padding:var(--s3);
          border-bottom:1px solid var(--line); }

#clearAll { display:flex; align-items:center; justify-content:center; }
#newChat { flex:1; }

.side-h .btn-primary { box-shadow:var(--shadow-press); }
.side-h .btn-primary:hover { transform:none; box-shadow:var(--shadow-press); }   
.side-h .btn-primary:active:not(:disabled) { transform:none; }
#convList { flex:1; min-height:0; overflow:auto; padding:var(--s3); }

.conv { border:var(--bd) solid var(--line); background:var(--panel);
        padding:var(--s2) var(--s3); margin-bottom:var(--s2); cursor:pointer; }
.conv:hover { background:var(--panel-hi); }
.conv.active { background:var(--panel-hi); border-color:var(--line2); border-left-color:var(--acc); }

.plus.seam { z-index:2; pointer-events:none; }
.plus.seam-tr { top:-6px; right:-5px; }
.conv .ct { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--fs-ui); }
.conv .cm { font:var(--fs-micro) var(--mono); color:var(--faint); margin-top:var(--s1); }

.conv .del { float:right; background:none; border:0; color:var(--muted); cursor:pointer;
             font:600 var(--fs-ui)/1 var(--ui); padding:2px 4px; margin:-2px -2px 0 0;
             opacity:0; transition:opacity .12s; }
.conv:hover .del, .conv:focus-within .del { opacity:1; }
.conv .del:hover { color:var(--red); background:rgba(var(--red-rgb),.12); }
@media (hover:none) { .conv .del { opacity:1; } }

@media (pointer:coarse) { .conv .del { min-width:44px; min-height:44px;
  margin:calc(-1 * var(--s2)) calc(-1 * var(--s3)) 0 var(--s2); } }


#main { display:flex; flex-direction:column; min-height:0; min-width:0; }   

.chat-tools { position:relative; z-index:3; display:flex; align-items:center; gap:var(--s3);
              padding:var(--s3); flex:none; background:none; }

.list-f { font:var(--fs-micro) var(--mono); color:var(--faint); padding:0 var(--s3);
          text-align:center; }
.reveal input { font:var(--fs-body)/1.4 var(--mono); letter-spacing:.08em; }
#keyGo, #createAcct, #newGo { width:100%; }
#gate .or { text-align:center; }
.checkline { display:flex; align-items:flex-start; gap:var(--s2); font-size:var(--fs-ui);
             cursor:pointer; }
.checkline input { width:auto; margin-top:3px; flex:none; }
.powbar { height:2px; background:var(--bg3); overflow:hidden; }
.powbar i { display:block; height:100%; width:30%; background:var(--acc);
            animation:slide 1.1s linear infinite; }
@keyframes slide { from { transform:translateX(-100%); } to { transform:translateX(400%); } }

.drawer-only { display:none; }


.side-f { position:relative; flex:none; border-top:var(--bd) solid var(--line); padding:var(--s3);
          background-color:var(--glass); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur); }
.side-f .btn { width:100%; height:var(--composer-h);
               display:flex; align-items:center; justify-content:center; }
.side-f .cli-cta { border-color:var(--acc); color:var(--acc); }
.side-f .cli-cta:hover { border-color:var(--acc); filter:brightness(1.15); transform:none; }
.side-f .cli-cta::after { display:none; }   
@media (max-width:720px) {
  .drawer-only { display:block; min-width:44px; }
  #shell { grid-template-columns:1fr; position:relative; }
  #sidebar { position:absolute; z-index:var(--z-drawer); top:0; bottom:0; left:0; width:min(300px,86vw);
             transform:translateX(-101%); transition:transform .18s ease-out;
             box-shadow:8px 0 28px rgba(0,0,0,.5); }
  #sidebar.open { transform:none; }
  
  #scrim { position:absolute; inset:0; z-index:calc(var(--z-drawer) - 1); background:rgba(var(--bg0-rgb),.6); }
  
  
  .topbar { -webkit-backdrop-filter:none; backdrop-filter:none; background-color:var(--bg1); }
  
  #shell, .chat-tools { min-width:0; }   
}
@media (prefers-reduced-motion:reduce) { #sidebar { transition:none; } }
