/* 学生导航：低高度横屏继续使用可触达的底栏，课堂入口由页面说明权限。 */
.app-shell[data-role="student"] .app-shell-sidebar {
  overflow-y: auto;
}

.app-shell[data-role="student"] .app-shell-nav {
  flex-shrink: 0;
}

.app-shell[data-role="student"] .auth-status-page {
  min-height: 0;
  padding: var(--space-4) 0;
}

@media (orientation: landscape) and (max-height: 30rem) and (max-width: 64rem) {
  .app-shell[data-role="student"] {
    display: block;
    min-height: 100dvh;
    padding-bottom: calc(4.5rem + env(safe-area-inset-bottom));
  }

  .app-shell[data-role="student"] .app-shell-sidebar {
    display: none;
  }

  .app-shell[data-role="student"] .app-shell-topbar {
    min-height: 3.5rem;
    padding: 0 max(var(--space-4), env(safe-area-inset-right)) 0 max(var(--space-4), env(safe-area-inset-left));
  }

  .app-shell[data-role="student"] .app-shell-main {
    padding: var(--space-4) max(var(--space-4), env(safe-area-inset-left), env(safe-area-inset-right));
  }

  .app-shell[data-role="student"] .app-shell-mobile-nav {
    position: fixed;
    z-index: var(--z-sticky);
    inset: auto max(var(--space-3), env(safe-area-inset-right)) max(var(--space-2), env(safe-area-inset-bottom)) max(var(--space-3), env(safe-area-inset-left));
    display: grid;
    grid-template-columns: repeat(var(--app-shell-mobile-item-count, 5), minmax(0, 1fr));
    min-height: 3.5rem;
    padding: var(--space-1);
  }

  .app-shell[data-role="student"] .app-shell-mobile-nav .app-shell-nav-link {
    display: flex;
    min-width: 0;
    min-height: 3rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.125rem;
    padding: var(--space-1);
  }

  .app-shell[data-role="student"] .app-shell-mobile-nav .app-shell-nav-label {
    display: block;
    font-size: var(--font-size-xs);
  }

  .app-shell[data-role="student"] .feature-hall-layer {
    padding: var(--space-2) max(var(--space-3), env(safe-area-inset-left), env(safe-area-inset-right));
  }

  .app-shell[data-role="student"] .feature-hall-panel,
  .app-shell[data-role="student"] .feature-hall-layer[data-expanded="true"] .feature-hall-panel {
    height: calc(100dvh - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    max-height: calc(100dvh - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  }

  .app-shell[data-role="student"] .feature-hall-header {
    padding-top: var(--space-3);
    padding-bottom: var(--space-3);
  }
}
