/* NEXAKOR ONE Phase 15 R10F — overlay navigation without reserved workspace.
   Desktop FlowDock and the canonical open-window rail auto-hide at the edge,
   reveal on hover/keyboard focus, and magnify the hovered icon. */

:root{
  --nx-r10f-edge-peek:10px;
  --nx-r10f-dock-peek:9px;
  --nx-r10f-nav-motion:180ms cubic-bezier(.2,.75,.2,1);
}

@media (min-width:1101px) and (hover:hover) and (pointer:fine){
  /* FlowDock is an overlay: hidden at the bottom with only a slim activation edge. */
  html:is([data-nav-family="dock"],[data-nav-mode="flowdock"]) .nx-v426-dock{
    position:fixed!important;
    left:50%!important;
    bottom:0!important;
    margin:0!important;
    transform:translate(-50%,calc(100% - var(--nx-r10f-dock-peek)))!important;
    transform-origin:50% 100%!important;
    z-index:1700!important;
    transition:transform var(--nx-r10f-nav-motion),box-shadow var(--nx-r10f-nav-motion),opacity var(--nx-r10f-nav-motion)!important;
    will-change:transform;
    opacity:.94;
    box-shadow:0 -1px 0 color-mix(in srgb,var(--primary,#2563eb) 28%,transparent),0 18px 42px rgba(2,6,23,.26)!important;
  }
  html:is([data-nav-family="dock"],[data-nav-mode="flowdock"]) .nx-v426-dock:hover,
  html:is([data-nav-family="dock"],[data-nav-mode="flowdock"]) .nx-v426-dock:focus-within{
    transform:translate(-50%,0)!important;
    opacity:1;
    box-shadow:0 -16px 46px rgba(2,6,23,.20)!important;
  }
  html:is([data-nav-family="dock"],[data-nav-mode="flowdock"]) .nx-v426-dock .nx-v426-module,
  html:is([data-nav-family="dock"],[data-nav-mode="flowdock"]) .nx-v426-dock .nx-v430-dock-home,
  html:is([data-nav-family="dock"],[data-nav-mode="flowdock"]) .nx-v426-dock button{
    transition:transform 150ms cubic-bezier(.2,.75,.2,1),background-color 150ms ease,border-color 150ms ease,box-shadow 150ms ease!important;
    transform-origin:50% 100%;
  }
  html:is([data-nav-family="dock"],[data-nav-mode="flowdock"]) .nx-v426-dock .nx-v426-module:hover,
  html:is([data-nav-family="dock"],[data-nav-mode="flowdock"]) .nx-v426-dock .nx-v430-dock-home:hover,
  html:is([data-nav-family="dock"],[data-nav-mode="flowdock"]) .nx-v426-dock button:hover{
    transform:translateY(-5px) scale(1.16)!important;
    z-index:3;
  }

  /* Canonical open-window rail is also an overlay and no longer consumes 64px. */
  body.nx-r8-window-rail-active .main{padding-left:0!important}
  .nx-r8-window-rail{
    left:0!important;
    transform:translateX(calc(-100% + var(--nx-r10f-edge-peek)))!important;
    transform-origin:0 50%;
    transition:transform var(--nx-r10f-nav-motion),box-shadow var(--nx-r10f-nav-motion),opacity var(--nx-r10f-nav-motion)!important;
    will-change:transform;
    z-index:1710!important;
    opacity:.94;
    border-radius:0 16px 16px 0!important;
    box-shadow:1px 0 0 color-mix(in srgb,var(--primary,#2563eb) 24%,transparent),16px 0 38px rgba(15,23,42,.12)!important;
  }
  html[data-nav-family="sidebar"] .nx-r8-window-rail{
    left:auto!important;
    right:0!important;
    transform:translateX(calc(100% - var(--nx-r10f-edge-peek)))!important;
    transform-origin:100% 50%!important;
    border-radius:16px 0 0 16px!important;
    box-shadow:-1px 0 0 color-mix(in srgb,var(--primary,#2563eb) 24%,transparent),-16px 0 38px rgba(15,23,42,.12)!important;
  }
  html[data-nav-family="sidebar"] .nx-r8-window-rail:hover,
  html[data-nav-family="sidebar"] .nx-r8-window-rail:focus-within{
    transform:translateX(0)!important;
    opacity:1;
  }
  html[data-nav-family="sidebar"] .nx-r8-window-rail button:hover,
  html[data-nav-family="sidebar"] .nx-r8-window-rail button:focus-visible{
    transform:translateX(-5px) scale(1.18)!important;
    z-index:2;
    opacity:1!important;
  }
  .nx-r8-window-rail:hover,
  .nx-r8-window-rail:focus-within{
    transform:translateX(0)!important;
    opacity:1;
    box-shadow:16px 0 42px rgba(15,23,42,.18)!important;
  }
  .nx-r8-window-rail button{
    transition:transform 145ms cubic-bezier(.2,.75,.2,1),background-color 145ms ease,border-color 145ms ease,opacity 145ms ease!important;
    transform-origin:0 50%;
  }
  .nx-r8-window-rail button:hover,
  .nx-r8-window-rail button:focus-visible{
    transform:translateX(5px) scale(1.18)!important;
    z-index:2;
    opacity:1!important;
  }

  /* Remove the old safety margins: both rails float over the canvas on demand. */
  html[data-nav-mode="flowdock"] body.nx-r8-window-rail-active .workspace-stage,
  html.nx436-hotfix-applied[data-nav-mode="flowdock"] body.nx-r8-window-rail-active .workspace-content:has(.workspace-dock:not(:empty)) .workspace-stage{
    inset:0!important;
  }
}

/* Keyboard users must never have to hunt for a hidden control. */
.nx-v426-dock:focus-within,.nx-r8-window-rail:focus-within{opacity:1!important}

/* Touch/coarse pointer devices keep navigation visible; hover reveal is desktop-only. */
@media (hover:none),(pointer:coarse),(max-width:1100px){
  html:is([data-nav-family="dock"],[data-nav-mode="flowdock"]) .nx-v426-dock{transform:translateX(-50%)!important}
  .nx-r8-window-rail{transform:none!important}
}

@media (prefers-reduced-motion:reduce){
  html:is([data-nav-family="dock"],[data-nav-mode="flowdock"]) .nx-v426-dock,
  .nx-r8-window-rail,
  .nx-r8-window-rail button,
  html:is([data-nav-family="dock"],[data-nav-mode="flowdock"]) .nx-v426-dock button{
    transition:none!important;
  }
}

/* FlowDock no longer reserves the historical 44/104px workspace strip. */
@media (min-width:1101px){
  html[data-nav-mode="flowdock"] .workspace-stage,
  html[data-nav-family="dock"] .workspace-stage{inset:0!important}
  html[data-nav-mode="flowdock"] .workspace-home-scroll,
  html[data-nav-family="dock"] .workspace-home-scroll{padding-bottom:18px!important}
}
