:root { --module-sidebar-rail:64px; }

.module-assistant-sidebar { position:relative; transition:width .2s ease, min-width .2s ease, flex-basis .2s ease; }
.module-sidebar-toggle {
  position:absolute; top:7px; right:7px; z-index:30; width:28px; height:28px;
  display:grid; place-items:center; padding:0; border:1px solid rgba(168,121,36,.55);
  border-radius:8px; background:rgba(15,24,31,.92); color:#d5ad55; cursor:pointer;
  box-shadow:0 5px 14px rgba(0,0,0,.2); font:700 17px/1 system-ui,sans-serif;
}
.module-sidebar-toggle:hover { border-color:#d5ad55; color:#fff; }
.module-sidebar-rail { display:none; flex:1; flex-direction:column; align-items:center; gap:9px; padding:44px 8px 10px; }
.module-sidebar-rail button {
  width:42px; height:42px; display:grid; place-items:center; padding:0; border:1px solid rgba(168,121,36,.42);
  border-radius:10px; background:rgba(255,255,255,.06); color:inherit; cursor:pointer; font-size:17px;
}
.module-sidebar-rail button:hover { border-color:#d5ad55; color:#d5ad55; }
.module-assistant-sidebar.module-sidebar-collapsed {
  width:var(--module-sidebar-rail) !important; min-width:var(--module-sidebar-rail) !important;
  max-width:var(--module-sidebar-rail) !important; flex:0 0 var(--module-sidebar-rail) !important;
}
.module-assistant-sidebar.module-sidebar-collapsed > :not(.module-sidebar-toggle):not(.module-sidebar-rail) { display:none !important; }
.module-assistant-sidebar.module-sidebar-collapsed .module-sidebar-rail { display:flex; }
.module-assistant-sidebar.module-sidebar-collapsed .module-sidebar-toggle { right:18px; transform:rotate(180deg); }

@media (max-width:680px) {
  :root { --module-sidebar-rail:56px; }
  .module-sidebar-rail { padding-inline:7px; }
  .module-sidebar-rail button { width:40px; height:40px; }
  .root { min-width:0; }
  .root > .pan-left { min-width:0 !important; }
  .root > .divider { flex:0 0 3px; }
  .module-assistant-sidebar:not(.module-sidebar-collapsed) {
    width:calc(100vw - 59px) !important; min-width:0 !important; max-width:calc(100vw - 59px) !important;
    flex:0 0 calc(100vw - 59px) !important;
  }
  .frame-stage, iframe { min-width:0; max-width:100%; }
}
