/*
 * Virii8 Workspace Shell CSS module: v8-icon-customization-patch-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-icon-customization-patch-style ---- */
.v8-os-environment {
    --v8-custom-icon-scale: 1;
    --v8-dock-scale: 1;
    --v8-custom-wallpaper-dim: 0.18;
    --v8-phone-grid-columns: 4;
  }

  .v8-os-environment::before {
    background:
      radial-gradient(circle at top right, rgba(255,255,255,0.16), transparent 28%),
      linear-gradient(180deg, rgba(0,0,0, calc(var(--v8-custom-wallpaper-dim) * 0.36)), rgba(0,0,0, var(--v8-custom-wallpaper-dim)));
  }

  .v8-desktop.v8-custom-icon-layout {
    display: block !important;
    padding: 0;
    overflow: hidden;
  }

  .v8-desktop.v8-custom-icon-layout .v8-desktop-icon {
    position: absolute;
    width: calc(92px * var(--v8-custom-icon-scale));
    max-width: none;
    padding: calc(10px * var(--v8-custom-icon-scale)) 6px;
    margin: 0;
    touch-action: none;
    transition:
      background 0.16s ease,
      border-color 0.16s ease,
      transform 0.12s ease,
      left 0.14s ease,
      top 0.14s ease,
      box-shadow 0.14s ease;
  }

  .v8-desktop.v8-custom-icon-layout .v8-desktop-icon .v8-icon-img {
    font-size: calc(2.15rem * var(--v8-custom-icon-scale));
  }

  .v8-desktop.v8-custom-icon-layout .v8-desktop-icon .v8-icon-text {
    font-size: calc(0.75rem * max(0.92, var(--v8-custom-icon-scale)));
  }

  .v8-desktop.v8-custom-icon-layout .v8-desktop-icon.v8-icon-dragging {
    z-index: 6;
    transition: none !important;
    box-shadow: 0 20px 36px rgba(0,0,0,0.34);
    background: rgba(255,255,255,0.2);
  }

  .v8-device-phone .v8-desktop,
  .v8-device-phone .v8-desktop.v8-custom-icon-layout {
    display: grid !important;
    grid-template-columns: repeat(var(--v8-phone-grid-columns), minmax(0, 1fr));
    align-content: start;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scrollbar-width: none;
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    touch-action: pan-y;
  }

  .v8-device-phone .v8-desktop::-webkit-scrollbar {
    display: none;
  }

  .v8-device-phone .v8-mobile-page-dots {
    display: none !important;
  }

  .v8-device-phone .v8-desktop-icon {
    min-height: 88px;
    touch-action: pan-y;
    will-change: transform;
  }

  .v8-device-phone .v8-desktop.v8-phone-reorder-active {
    touch-action: none;
    scroll-behavior: auto;
  }

  .v8-device-phone .v8-desktop-icon.v8-icon-reordering {
    z-index: 120 !important;
    opacity: 0.88;
    transform: scale(1.08);
    filter: drop-shadow(0 18px 22px rgba(0,0,0,0.36));
    transition: transform 0.08s ease, opacity 0.08s ease, filter 0.08s ease;
    touch-action: none !important;
  }

  .v8-platform-ios.v8-device-phone .v8-desktop.v8-phone-reorder-active .v8-desktop-icon:not(.v8-icon-reordering) {
    animation: v8-ios-icon-jiggle 0.16s infinite alternate ease-in-out;
  }

  .v8-platform-ios.v8-device-phone .v8-desktop-icon.v8-icon-reordering {
    animation: v8-ios-icon-jiggle 0.14s infinite alternate ease-in-out;
  }

  .v8-platform-android.v8-device-phone .v8-desktop-icon.v8-icon-reordering {
    animation: none;
    box-shadow: 0 16px 36px rgba(0,0,0,0.42), 0 0 0 1px rgba(255,255,255,0.14);
  }

  @keyframes v8-ios-icon-jiggle {
    from { transform: rotate(-1.4deg) scale(1.01); }
    to { transform: rotate(1.4deg) scale(1.03); }
  }

  @media (prefers-reduced-motion: reduce) {
    .v8-platform-ios.v8-device-phone .v8-desktop.v8-phone-reorder-active .v8-desktop-icon,
    .v8-platform-ios.v8-device-phone .v8-desktop-icon.v8-icon-reordering {
      animation: none !important;
    }
  }

  .v8-platform-mac .v8-taskbar,
  .v8-platform-ios .v8-taskbar {
    padding: calc(10px * var(--v8-dock-scale)) calc(14px * var(--v8-dock-scale));
  }

  .v8-platform-mac .v8-taskbar-icon,
  .v8-platform-mac .v8-start-btn,
  .v8-platform-ios .v8-taskbar-icon,
  .v8-platform-ios .v8-start-btn {
    width: calc(46px * var(--v8-dock-scale));
    height: calc(46px * var(--v8-dock-scale));
    font-size: calc(1.55rem * var(--v8-dock-scale));
  }

  .v8-platform-mac.v8-pref-dock-no-magnify .v8-taskbar-icon:hover,
  .v8-platform-ios.v8-pref-dock-no-magnify .v8-taskbar-icon:hover {
    transform: none;
  }

  .v8-pref-menubar-opaque .v8-menubar {
    background: rgba(10, 14, 22, 0.72);
    border-bottom-color: rgba(255,255,255,0.12);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .v8-platform-win.v8-pref-taskbar-left .v8-taskbar,
  .v8-platform-android.v8-pref-taskbar-left .v8-taskbar {
    justify-content: flex-start;
    gap: 10px;
    padding-left: 12px;
  }

  .v8-platform-win.v8-pref-taskbar-left .v8-taskbar-icons,
  .v8-platform-android.v8-pref-taskbar-left .v8-taskbar-icons {
    margin-right: auto;
  }

  .v8-pref-square-windows .v8-window,
  .v8-pref-square-windows .v8-start-menu,
  .v8-pref-square-windows .v8-status-panel {
    border-radius: 8px !important;
  }

  .v8-pref-start-compact .v8-start-menu {
    width: 340px;
    padding: 16px;
    gap: 12px;
  }

  .v8-pref-start-compact .v8-start-grid {
    gap: 8px;
  }

  .v8-pref-phone-search-hidden .v8-phone-search {
    display: none !important;
  }

  .v8-pref-phone-dock-compact .v8-phone-dock {
    width: min(84%, 360px);
    padding: 8px;
    gap: 10px;
  }

  .v8-pref-phone-dock-compact .v8-phone-dock .v8-taskbar-icon {
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
  }

  .v8-customize-shell {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 16px;
  }

  .v8-customize-panel {
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
  }

  .v8-customize-panel h3 {
    margin: 0 0 0.85rem;
    color: #fff;
    font-size: 0.96rem;
  }

  .v8-customize-panel p {
    margin: 0 0 0.8rem;
    color: var(--v8-text-muted);
    font-size: 0.82rem;
    line-height: 1.55;
  }

  .v8-customize-grid {
    display: grid;
    gap: 12px;
  }

  .v8-customize-control {
    display: grid;
    gap: 6px;
  }

  .v8-customize-control label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #fff;
    font-size: 0.84rem;
    font-weight: 600;
  }

  .v8-customize-control small {
    color: var(--v8-text-muted);
    font-size: 0.74rem;
  }

  .v8-customize-control input[type="range"],
  .v8-customize-control select {
    width: 100%;
  }

  .v8-customize-control input[type="checkbox"] {
    width: 16px;
    height: 16px;
  }

  .v8-customize-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .v8-customize-pill {
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.1);
    font-size: 0.76rem;
    color: #fff;
  }

  .v8-customize-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
  }

  .v8-customize-actions .v8-soft-btn {
    min-width: 140px;
  }

  .v8-customize-hero {
    padding: 14px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(56, 189, 248, 0.2), rgba(255,255,255,0.03));
    border: 1px solid rgba(255,255,255,0.08);
    margin-bottom: 14px;
  }

  .v8-customize-hero strong {
    display: block;
    color: #fff;
    font-size: 1rem;
    margin-bottom: 4px;
  }

  .v8-customize-hero span {
    display: block;
    color: var(--v8-text-soft);
    font-size: 0.82rem;
    line-height: 1.55;
  }

  .v8-customize-control[data-hidden="true"],
  .v8-customize-panel[data-hidden="true"] {
    display: none !important;
  }

  .v8-desktop-icon[data-v8-app="customize"] .v8-icon-img {
    background: linear-gradient(135deg, rgba(56,189,248,0.26), rgba(255,255,255,0.1));
    border-radius: 18px;
    padding: 6px;
  }

  @media (max-width: 900px) {
    .v8-customize-shell {
      grid-template-columns: 1fr;
    }
  }
