/*!
 * Selected motion concepts adapted from Uiverse Galaxy (MIT).
 * Authors / originals / changes: THIRD_PARTY_NOTICES.md and
 * docs/plans/2026-09-13-Galaxy电脑交互.md. Not a copy of the original layouts.
 *
 * MIT License
 * Copyright (c) 2023 Uiverse.io
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */
.desktop-view-arrow, .desktop-nav-glider { display: none; }
@media (min-width: 1081px) {
  /* Pradeepsaranbishnoi/heavy-dragonfly-92: measured, keyboard-safe navigation. */
  .nav.desktop-nav-motion { position: relative; isolation: isolate; }
  .desktop-nav-motion .nav__item { position: relative; z-index: 1; }
  .desktop-nav-motion .nav__item.is-active { background: transparent; color: var(--shell-blue-deep); }
  .desktop-nav-glider {
    display: block; position: absolute; z-index: 0; border-radius: 8px;
    background: var(--shell-blue-soft); border: 1px solid var(--shell-blue-line); pointer-events: none;
  }
  /* Voxybuns/lucky-fireant-71 raised face + adamgiebl/new-bird-34 arrow.
   * Resting face is one solid color. Only the inner face moves; hit area stays put. */
  .row__acts .act { position: relative; isolation: isolate; overflow: visible; min-width: 92px; flex-shrink: 0; padding: 0 26px 0 9px; background: #253FB8; border-color: var(--brand); color: #fff; box-shadow: none; }
  .row__acts .act:hover, .row__acts .act:focus-visible { background: #253FB8; border-color: var(--brand); color: #fff; }
  .row__acts .act::before { content: none; }
  .row__acts .act > .desktop-button-face { position: absolute; inset: -1px; z-index: 1; display: flex; align-items: center; justify-content: center; padding: inherit; border: 1px solid var(--brand); border-radius: inherit; overflow: hidden; color: #fff; background: var(--brand); transform: translateY(0); transition: transform 320ms cubic-bezier(.22,1.35,.36,1); }
  .desktop-button-face::before { content: ""; position: absolute; inset: 0; background: var(--press-hover, var(--brand-hover)); transform: scaleX(0); transform-origin: left; transition: transform 300ms cubic-bezier(.22,1,.36,1); pointer-events: none; }
  .desktop-button-face > span:first-child { position: relative; z-index: 1; }
  .act:is(:hover, :focus-visible) > .desktop-button-face { transform: translateY(-3px); }
  .act:is(:hover, :focus-visible) > .desktop-button-face::before { transform: scaleX(1); }
  .act:active > .desktop-button-face { transform: translateY(0); transition-duration: 80ms; }
  .desktop-view-arrow { display: grid; place-items: center; position: absolute; right: 12px; width: 16px; height: 18px; pointer-events: none; transition: transform 300ms cubic-bezier(.22,1.35,.36,1); }
  .desktop-view-arrow svg { width: 16px; height: 16px; }
  .act:is(:hover, :focus-visible) .desktop-view-arrow { transform: translateX(3px); }
  .act:active .desktop-view-arrow { transform: translateX(3px) scale(.8); }
  /* The same open-source surface structure also serves search, purchase and forms. */
  .desktop-press.desktop-press { --press-face: var(--brand); --press-base: #253FB8; --press-ink: #fff; --press-border: var(--brand); position: relative; isolation: isolate; overflow: visible; padding: 0; background: var(--press-base); border-color: var(--press-border); box-shadow: none; }
  .desktop-press.desktop-press--quiet { --press-face: #fff; --press-base: #B7C5EE; --press-ink: var(--brand-hover); --press-border: #B7C5EE; --press-hover: #EDF2FF; }
  .desktop-press.desktop-press:is(:hover, :focus-visible) { background: var(--press-base); border-color: var(--press-border); }
  .desktop-press > .desktop-button-face { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 0 18px; border-radius: inherit; background: var(--press-face); color: var(--press-ink); overflow: hidden; transform: translateY(0); transition: transform 320ms cubic-bezier(.22,1.35,.36,1); }
  .desktop-button-label { white-space: nowrap; }
  .desktop-press:is(:hover, :focus-visible):not(:disabled) > .desktop-button-face { transform: translateY(-3px); }
  .desktop-press:is(:hover, :focus-visible):not(:disabled) > .desktop-button-face::before { transform: scaleX(1); }
  .desktop-press:active:not(:disabled) > .desktop-button-face { transform: translateY(0); transition-duration: 80ms; }
  .desktop-press:disabled > .desktop-button-face { transform: none; }
  .desktop-press:disabled > .desktop-button-face::before { transform: scaleX(0); }
  /* satyamchaudharydev/fast-dodo-69: same full-size search, a focal line. */
  .desktop-search .search::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: -1px; height: 3px; border-radius: 3px; background: var(--brand); transform: scaleX(0); transition: transform 320ms cubic-bezier(.22,1,.36,1); pointer-events: none; }
  .desktop-search .search:focus-within::after { transform: scaleX(1); }
  .desktop-search .search__icon { transition: color 220ms, transform 280ms; }
  .desktop-search .search:focus-within .search__icon { color: var(--brand); transform: translateY(-50%) scale(1.12); }
  /* Each action keeps its name and its hit area. Only the icon moves. */
  .bj-actions__btn { position: relative; }
  .bj-actions__btn .ic { transform-origin: center; transition: transform 220ms cubic-bezier(.22,1,.36,1); }
  .bj-actions__btn[data-bijia-action=favorite]:is(:hover, :focus-visible):not(:disabled) .ic { transform: scale(1.2) rotate(-8deg); }
  .bj-actions__btn[data-bijia-action=favorite].is-on .ic { fill: currentColor; }
  .bj-actions__btn[data-bijia-action=alert] .ic { transform-origin: 50% 12%; }
  .bj-actions__btn[data-bijia-action=alert]:is(:hover, :focus-visible):not(:disabled) .ic { animation: desktop-bell-preview 650ms ease-out; }
  .bj-actions__btn[data-bijia-action=share]:is(:hover, :focus-visible):not(:disabled) .ic { transform: translate(2px, -2px) rotate(-10deg); }
  .bj-actions__btn:active:not(:disabled) .ic { scale: .86; }
  /* JkHuger/horrible-lion-90: rewritten transform ring, no font-size or particles. */
  .desktop-feedback-ring { position: absolute; width: 22px; height: 22px; border: 2px solid var(--brand); border-radius: 50%; pointer-events: none; opacity: 0; }
  @keyframes desktop-bell-preview {
    0%, 100% { transform: rotate(0); }
    20% { transform: rotate(15deg); }
    40% { transform: rotate(-15deg); }
    60% { transform: rotate(10deg); }
    80% { transform: rotate(-10deg); }
  }
}
@media (min-width: 1081px) and (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
