/*
 * Virii8 Workspace Shell CSS module: v8-responsive-hardening-style
 * Extracted from shell-core.css during v1.6.122 modular shell refactor.
 * Load order is controlled by V8E_Module_WorkspaceShell::enqueue_embedded_shell_assets().
 */
/* ---- v8-responsive-hardening-style ---- */
:root {
    --v8-shell-margin: 16px;
    --v8-shell-radius: 16px;
    --v8-safe-top: env(safe-area-inset-top, 0px);
    --v8-safe-right: env(safe-area-inset-right, 0px);
    --v8-safe-bottom: env(safe-area-inset-bottom, 0px);
    --v8-safe-left: env(safe-area-inset-left, 0px);
  }

  html, body {
    min-height: 100%;
  }

  body {
    overscroll-behavior: none;
  }

  .v8-os-environment {
    width: min(100%, 1600px);
    height: var(--v8-shell-height, 88dvh) !important;
    min-height: 320px !important;
    max-height: none !important;
    margin: var(--v8-shell-margin) auto !important;
    border-radius: var(--v8-shell-radius) !important;
  }

  .v8-os-environment:fullscreen {
    height: 100dvh !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  .v8-start-menu,
  .v8-status-panel,
  .v8-shell-tools-popout,
  .v8-context-menu {
    max-width: calc(100% - 16px);
  }

  .v8-status-panel {
    min-width: min(310px, calc(100% - 16px));
  }

  .v8-window {
    max-width: calc(100% - 12px);
    max-height: calc(100% - 12px);
  }

  .v8-device-desktop .v8-window,
  .v8-device-tablet .v8-window {
    touch-action: pan-y;
  }

  .v8-device-desktop .v8-desktop,
  .v8-device-tablet .v8-desktop {
    left: max(12px, calc(12px + var(--v8-safe-left)));
    right: max(12px, calc(12px + var(--v8-safe-right)));
    gap: 12px;
  }

  .v8-device-desktop .v8-desktop-icon,
  .v8-device-tablet .v8-desktop-icon {
    width: 88px;
  }

  .v8-start-menu {
    width: min(400px, calc(100% - 16px));
  }

  .v8-shell-tools-popout {
    width: min(360px, calc(100% - 16px));
    left: max(8px, calc(8px + var(--v8-safe-left)));
    bottom: max(64px, calc(64px + var(--v8-safe-bottom)));
  }

  .v8-device-phone .v8-mobile-topbar {
    padding-top: var(--v8-safe-top);
    height: calc(34px + var(--v8-safe-top));
  }

  .v8-platform-ios.v8-device-phone .v8-phone-dock {
    bottom: max(20px, calc(12px + var(--v8-safe-bottom)));
  }

  .v8-platform-ios.v8-device-phone .v8-ios-home-indicator {
    bottom: max(8px, calc(6px + var(--v8-safe-bottom)));
  }

  .v8-platform-android.v8-device-phone .v8-android-nav {
    bottom: max(10px, calc(8px + var(--v8-safe-bottom)));
  }

  @media (max-width: 1280px), (max-height: 860px) {
    .v8-start-menu {
      width: min(360px, calc(100% - 16px));
      padding: 16px;
    }

    .v8-status-panel {
      width: min(360px, calc(100% - 16px));
      min-width: 0;
    }

    .v8-shell-tools-popout {
      width: min(340px, calc(100% - 12px));
      padding: 12px;
      gap: 12px;
    }

    .v8-device-desktop .v8-desktop,
    .v8-device-tablet .v8-desktop {
      top: 40px;
    }
  }

  @media (max-width: 1024px), (max-height: 760px) {
    .v8-platform-mac.v8-device-desktop .v8-taskbar,
    .v8-platform-mac.v8-device-tablet .v8-taskbar {
      bottom: max(8px, calc(8px + var(--v8-safe-bottom)));
      padding: 8px 12px calc(8px + var(--v8-safe-bottom));
    }

    .v8-platform-mac.v8-device-desktop .v8-taskbar-icon,
    .v8-platform-mac.v8-device-tablet .v8-taskbar-icon {
      width: 50px;
      height: 50px;
      border-radius: 16px;
      font-size: 1.45rem;
    }

    .v8-platform-win.v8-device-desktop .v8-taskbar,
    .v8-platform-win.v8-device-tablet .v8-taskbar,
    .v8-platform-android.v8-device-tablet .v8-taskbar {
      height: 50px;
      padding-left: max(10px, calc(10px + var(--v8-safe-left)));
      padding-right: max(10px, calc(10px + var(--v8-safe-right)));
    }

    .v8-device-desktop .v8-window,
    .v8-device-tablet .v8-window {
      min-width: 280px;
      min-height: 220px;
    }
  }

  @media (max-width: 860px), (max-height: 680px) {
    .v8-device-desktop .v8-desktop-icon,
    .v8-device-tablet .v8-desktop-icon {
      width: 78px;
      padding: 8px 4px;
    }

    .v8-device-desktop .v8-icon-img,
    .v8-device-tablet .v8-icon-img {
      font-size: 1.9rem;
    }

    .v8-device-desktop .v8-icon-text,
    .v8-device-tablet .v8-icon-text {
      font-size: 0.72rem;
    }

    .v8-shell-tools-grid {
      grid-template-columns: 1fr;
    }
  }

  @media (hover: none), (pointer: coarse) {
    .v8-control-chip,
    .v8-status-trigger,
    .v8-panel-close,
    .v8-panel-action,
    .v8-soft-btn,
    .v8-calendar-controls button,
    .v8-shell-tools-action,
    .v8-shell-tools-close {
      min-height: 44px;
    }

    .v8-taskbar-icon,
    .v8-start-btn {
      min-width: 44px;
      min-height: 44px;
    }

    .v8-device-phone .v8-desktop-icon {
      max-width: none;
    }
  }

  @media (max-width: 640px) {
    .v8-device-desktop .v8-status-panel,
    .v8-device-tablet .v8-status-panel,
    .v8-device-desktop .v8-start-menu,
    .v8-device-tablet .v8-start-menu,
    .v8-device-desktop .v8-shell-tools-popout,
    .v8-device-tablet .v8-shell-tools-popout {
      width: calc(100% - 12px) !important;
      max-width: calc(100% - 12px) !important;
      left: 6px !important;
      right: 6px !important;
      transform: none !important;
    }

    .v8-device-desktop .v8-start-menu,
    .v8-device-tablet .v8-start-menu {
      bottom: 58px;
    }

    .v8-device-desktop .v8-desktop,
    .v8-device-tablet .v8-desktop {
      left: 8px;
      right: 8px;
      gap: 8px;
    }
  }

  html.v8-shell-is-resizing .v8-taskbar,
  html.v8-shell-is-resizing .v8-taskbar-icon,
  html.v8-shell-is-resizing .v8-start-btn,
  html.v8-shell-is-resizing .v8-start-menu,
  html.v8-shell-is-resizing .v8-status-panel,
  html.v8-shell-is-resizing .v8-shell-tools-popout,
  html.v8-shell-is-resizing .v8-window {
    transition: none !important;
    animation: none !important;
  }

  .v8-taskbar {
    contain: layout paint;
    backface-visibility: hidden;
    transform: translateZ(0);
  }
