/* The drag handle stays outside the scrolling content and survives tab changes. */
#project-panel, #detail-panel {
  display: flex;
  flex-direction: column;
  overflow: visible;
  transform: none;
  z-index: 10;
}
.panel-content {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #ffffff35 transparent;
  padding: 10px;
  margin: -10px;
}
.panel-handle {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 100%;
  height: 28px;
  margin: -10px 0 8px;
  border-radius: 12px;
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.panel-handle::before {
  content: '';
  width: 34px;
  height: 4px;
  border-radius: 4px;
  background: #ffffff65;
  transition: background .15s, width .15s;
}
.panel-handle:hover::before, .panel-handle:focus-visible::before { background: #e0edcf; width: 44px; }
.panel-handle:focus-visible { outline: none; }
.panel-handle:focus-visible::before { box-shadow: 0 0 0 3px #c0ddab66; }
#project-panel.panel-front, #detail-panel.panel-front { z-index: 11; }
.side-panel.panel-dragging {
  border-color: #d2e8bd99;
  box-shadow: 0 24px 54px #0005, inset 0 1px 0 #ffffff20;
}
.panel-dragging .panel-handle { cursor: grabbing; background: #ffffff0d; }
.moving-panel, .moving-panel * { cursor: grabbing !important; user-select: none !important; }
.app-header, .session-bar, .main-dock { position: relative; z-index: 20; }
.main-dock { position: sticky; }
.layout-reset {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 5px 10px;
  border: 1px solid #ffffff25;
  border-radius: 18px;
  color: #e3e7dc;
  font-size: 10px;
  background: #30382f38;
}
.layout-reset i { width: 13px; height: 13px; }
.layout-reset[hidden] { display: none; }
.panel-help { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 850px) { #project-panel { display: none; } }
@media (max-width: 600px) {
  .panel-handle, .layout-reset { display: none; }
  #detail-panel { overflow: visible; }
  .panel-content { overflow: visible; }
}
