/* ============================================================================
   X-GORB Search — Google-inspired interface
   Presentation layer only. Loaded after every legacy stylesheet.
   Light canvas, Arial typography, blue accent, hairline borders,
   pill search fields and flat surfaces.
   ========================================================================== */

.y-home,
body.neu-legacy {
    --y-purple:        #1a73e8;
    --y-purple-deep:   #1765cc;
    --y-purple-soft:   #e8f0fe;
    --y-purple-soft-2: #d2e3fc;
    --y-ink:           #202124;
    --y-ink-2:         #4d5156;
    --y-ink-3:         #70757a;
    --y-canvas:        #ffffff;
    --y-canvas-2:      #f8f9fa;
    --y-line:          #dfe1e5;
    --y-line-strong:   #dadce0;
    --y-radius:        8px;
    --y-radius-lg:     12px;
    --y-font: Arial, "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB",
              "Microsoft YaHei", "Noto Sans SC", sans-serif;
    --g-blue:          #1a73e8;
    --g-blue-dark:     #1765cc;
    --g-green:         #188038;
    --g-yellow:        #f9ab00;
    --g-red:           #d93025;
    --g-gray:          #5f6368;
    --g-gray-2:        #70757a;
    --g-surface:       #f8f9fa;
    --g-line:          #dfe1e5;
}

[data-theme="dark"] .y-home,
[data-theme="dark"] body.neu-legacy {
    --y-purple:        #8ab4f8;
    --y-purple-deep:   #aecbfa;
    --y-purple-soft:   rgba(138, 180, 248, .14);
    --y-purple-soft-2: rgba(138, 180, 248, .22);
    --y-ink:           #e8eaed;
    --y-ink-2:         #bdc1c6;
    --y-ink-3:         #9aa0a6;
    --y-canvas:        #202124;
    --y-canvas-2:      #303134;
    --y-line:          #5f6368;
    --y-line-strong:   #80868b;
}

/* ============================================================================
   1. HOME — canvas and top bar
   ========================================================================== */

body.y-home {
    --bg: #ffffff;
    --neu-bg: #ffffff;
    --neu-surface: #ffffff;
    --neu-surface-2: #f8f9fa;
    --neu-text: #202124;
    --neu-text-2: #4d5156;
    --neu-text-3: #70757a;
    --neu-line: #dfe1e5;
    --neu-brand: #1a73e8;
    --neu-brand-hover: #1765cc;
    --neu-brand-active: #174ea6;
    --neu-brand-tint: #e8f0fe;
    --neu-brand-tint-hover: #d2e3fc;
    --neu-on-brand: #ffffff;
    background: #ffffff !important;
    color: var(--y-ink);
    font-family: var(--y-font);
    font-weight: 400;
}

[data-theme="dark"] body.y-home {
    --bg: #202124;
    --neu-bg: #202124;
    --neu-surface: #303134;
    --neu-surface-2: #303134;
    --neu-text: #e8eaed;
    --neu-text-2: #bdc1c6;
    --neu-text-3: #9aa0a6;
    --neu-line: #5f6368;
    --neu-brand: #8ab4f8;
    --neu-brand-hover: #aecbfa;
    --neu-brand-active: #d2e3fc;
    --neu-brand-tint: rgba(138, 180, 248, .14);
    --neu-brand-tint-hover: rgba(138, 180, 248, .22);
    --neu-on-brand: #202124;
    background: #202124 !important;
}

/* Legacy pages paint their own near-black canvas; Google's is #202124. */
html[data-theme="light"] body.neu-legacy:not(.y-home),
body.neu-legacy.light-mode:not(.y-home),
body.neu-legacy.light:not(.y-home) {
    background: #ffffff !important;
}

html[data-theme="dark"] body.neu-legacy:not(.y-home),
body.neu-legacy.dark-mode:not(.y-home),
body.neu-legacy.dark:not(.y-home) {
    background: #202124 !important;
}

body.y-home::before { background: none !important; }
body.y-home::after { display: none !important; }

#mainHeader.g-topbar {
    position: sticky;
    top: 0;
    z-index: 1100;
    background: var(--y-canvas);
    color: var(--y-ink);
    border: 0;
    border-bottom: 1px solid transparent;
    box-shadow: none;
}

.g-topbar__inner {
    max-width: 1280px;
    margin: 0 auto;
    min-height: 64px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.g-topbar__brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--y-ink-3);
    font-size: 1.05rem;
    font-weight: 500;
    text-decoration: none;
    flex-shrink: 0;
}

.g-topbar__brand img { height: 28px; width: auto; display: block; }
.g-topbar__brand:hover { opacity: .8; }

.g-topbar__nav {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.g-topbar__nav::-webkit-scrollbar { display: none; }

.g-topbar__nav a {
    display: inline-flex;
    align-items: center;
    color: var(--y-ink-2);
    font-size: .84rem;
    line-height: 1;
    padding: 9px 12px;
    border-radius: 4px;
    white-space: nowrap;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}

.g-topbar__nav a:hover { background: var(--y-canvas-2); color: var(--y-ink); }

.g-topbar .nav-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    flex-shrink: 0;
}

.g-topbar .action-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: var(--y-ink-3) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.g-topbar .action-btn:hover {
    background: var(--y-canvas-2) !important;
    color: var(--y-ink) !important;
    border: 0 !important;
}

.g-topbar .user-avatar { width: 30px; height: 30px; border: 0; border-radius: 50%; }

.g-topbar .dropdown {
    color: var(--y-ink);
    background: var(--y-canvas);
    border: 1px solid var(--y-line);
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(32, 33, 36, .18);
}

.g-topbar .notification-badge { border-color: var(--y-canvas); background: #d93025; }

@media (max-width: 1080px) {
    .g-topbar__nav { display: none; }
}

@media (max-width: 720px) {
    .g-topbar__inner { min-height: 56px; padding: 0 12px; gap: 10px; }
    .g-topbar__brand img { height: 24px; }
    .g-topbar .action-btn { width: 34px; height: 34px; font-size: .85rem; }
    .g-topbar .nav-actions > a.action-btn { display: none; }
}

/* ============================================================================
   2. HOME — hero search
   ========================================================================== */

body.y-home main {
    flex: 1;
    display: block;
    width: 100%;
    padding: 0;
    align-items: stretch;
}

.g-home-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 0 20px 72px;
}

.g-hero {
    width: 100%;
    max-width: 640px;
    padding-top: clamp(44px, 10vh, 120px);
    text-align: center;
}

.g-logo {
    display: inline-block;
    margin-bottom: 30px;
    text-decoration: none;
}

.g-logo img {
    display: block;
    height: 62px;
    width: auto;
    margin: 0 auto;
}

[data-theme="dark"] .g-logo img { filter: none; }

.g-search {
    position: relative;
    width: 100%;
    max-width: 584px;
    margin: 0 auto;
    text-align: left;
}

.g-search__field {
    display: flex;
    align-items: center;
    height: 46px;
    padding: 0 12px 0 18px;
    background: var(--y-canvas);
    border: 1px solid var(--y-line);
    border-radius: 24px;
    transition: box-shadow .2s ease, border-color .2s ease;
}

.g-search__field:hover,
.g-search__field:focus-within {
    border-color: transparent;
    box-shadow: 0 1px 6px rgba(32, 33, 36, .28);
}

[data-theme="dark"] .g-search__field:hover,
[data-theme="dark"] .g-search__field:focus-within {
    box-shadow: 0 1px 6px rgba(0, 0, 0, .55);
}

.g-search__field .search-icon-prefix {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    flex-shrink: 0;
    color: var(--y-ink-3);
    font-size: 1rem;
}

.g-search .search-input {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    padding: 0 12px 0 14px;
    background: transparent;
    border: 0;
    outline: 0;
    box-shadow: none;
    color: var(--y-ink);
    font-family: var(--y-font);
    font-size: 16px;
    line-height: 46px;
}

.g-search .search-input::placeholder { color: var(--y-ink-3); }

.g-search .search-extra-btns { display: flex; align-items: center; flex-shrink: 0; }

.g-search .search-extra-btn {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #4285f4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.g-search .search-extra-btn:hover { background: var(--y-canvas-2); }

.g-search .search-submit-btn { display: none; }

.g-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 28px;
}

.g-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    padding: 0 16px;
    background: var(--y-canvas-2);
    border: 1px solid var(--y-canvas-2);
    border-radius: 4px;
    color: #3c4043;
    font-family: var(--y-font);
    font-size: 14px;
    cursor: pointer;
    transition: box-shadow .15s ease, border-color .15s ease;
}

[data-theme="dark"] .g-btn { color: #e8eaed; border-color: #303134; }

.g-btn:hover {
    border-color: var(--y-line-strong);
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}

.g-btn--primary {
    background: var(--y-canvas-2);
    border-color: var(--y-canvas-2);
    color: #3c4043;
}

[data-theme="dark"] .g-btn--primary { color: #e8eaed; border-color: #303134; background: #303134; }

.g-btn--primary:hover { background: var(--y-canvas-2); border-color: var(--y-line-strong); color: #202124; }
[data-theme="dark"] .g-btn--primary:hover { background: #3c4043; border-color: #5f6368; color: #e8eaed; }

.g-trending {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin: 26px auto 0;
    max-width: 620px;
    color: var(--y-ink-3);
    font-size: .82rem;
}

.g-trending__label { color: var(--y-ink-3); }

.g-trending a {
    color: var(--y-purple);
    text-decoration: none;
}

.g-trending a:hover { text-decoration: underline; }

#searchSuggestions.search-suggestions {
    background: var(--y-canvas);
    border: 1px solid var(--y-line);
    border-radius: 0 0 24px 24px;
    box-shadow: 0 4px 12px rgba(32, 33, 36, .16);
    overflow: hidden;
}

/* ============================================================================
   3. HOME — shortcuts, services, trending, discover
   ========================================================================== */

.g-home-section {
    width: 100%;
    max-width: 760px;
    margin: 48px auto 0;
    text-align: left;
}

.g-home-section__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.g-home-section__title {
    margin: 0;
    color: var(--y-ink-2);
    font-size: .85rem;
    font-weight: 500;
    letter-spacing: 0;
}

.g-home-section__tools { display: flex; align-items: center; gap: 6px; }

.g-home-section .section-btn,
.g-home-section__tools .section-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 10px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 4px;
    color: var(--y-purple);
    font-family: var(--y-font);
    font-size: .78rem;
    cursor: pointer;
}

.g-home-section .section-btn:hover { background: var(--y-purple-soft); }

.g-shortcuts .shortcuts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: 4px;
}

.g-shortcuts .shortcut-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 14px 6px 10px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--y-ink);
    text-decoration: none;
    transition: background .15s ease;
}

.g-shortcuts .shortcut-card:hover { background: var(--y-canvas-2); }

.g-shortcuts .shortcut-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--y-canvas-2);
    border: 1px solid transparent;
    overflow: hidden;
}

.g-shortcuts .shortcut-icon img { width: 24px; height: 24px; object-fit: contain; }
.g-shortcuts .shortcut-icon-fallback { color: var(--y-ink-3); font-size: 1rem; font-weight: 500; }

.g-shortcuts .shortcut-name {
    max-width: 100%;
    overflow: hidden;
    color: var(--y-ink-2);
    font-size: .75rem;
    font-weight: 400;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.g-shortcuts .shortcut-host { display: none; }

.g-shortcuts .shortcut-remove {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 20px;
    height: 20px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(32, 33, 36, .7);
    color: #ffffff;
    font-size: .55rem;
    line-height: 1;
    opacity: 0;
    cursor: pointer;
    transition: opacity .15s ease;
}

.g-shortcuts .add-shortcut {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 86px;
    padding: 14px 6px 10px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--y-ink-3);
    font-family: var(--y-font);
    font-size: .75rem;
    cursor: pointer;
    transition: background .15s ease;
}

.g-shortcuts .add-shortcut:hover { background: var(--y-canvas-2); }

.g-shortcuts .add-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--y-canvas-2);
    color: var(--y-ink-3);
    font-size: .9rem;
}

.g-services {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 10px;
}

.g-service {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid var(--y-line);
    border-radius: 20px;
    background: var(--y-canvas);
    color: var(--y-ink-2);
    font-size: .8rem;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.g-service:hover {
    background: var(--y-canvas-2);
    border-color: var(--y-line-strong);
    box-shadow: 0 1px 2px rgba(32, 33, 36, .08);
    color: var(--y-ink);
}

.g-service i { font-size: .85rem; color: var(--g-blue); }
.g-service:nth-child(3n+2) i { color: var(--g-red); }
.g-service:nth-child(3n) i { color: var(--g-green); }

.g-trending-list { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 28px; }

.g-trending-list li { break-inside: avoid; }

.g-trending-list a {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 7px 0;
    color: var(--y-ink);
    font-size: .85rem;
    text-decoration: none;
}

.g-trending-list a:hover { text-decoration: underline; }
.g-trending-list .y-trend-num { width: 16px; color: var(--y-ink-3); font-size: .72rem; }

.g-discover__card {
    display: grid;
    grid-template-columns: 236px minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--y-line);
    border-radius: 12px;
    background: var(--y-canvas);
}

.g-discover__media {
    min-height: 156px;
    background-color: var(--y-canvas-2);
    background-image: linear-gradient(180deg, rgba(32, 33, 36, 0), rgba(32, 33, 36, .18)),
                      var(--bing-image, linear-gradient(135deg, #e8f0fe 0%, #d2e3fc 55%, #c6dafc 100%));
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.g-discover__body { padding: 16px 18px 14px; min-width: 0; }

.g-discover__kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--y-ink-3);
    font-size: .68rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.g-discover__title {
    margin: 6px 0;
    color: var(--y-ink);
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.35;
}

.g-discover__title a { color: inherit; text-decoration: none; }
.g-discover__title a:hover { text-decoration: underline; }

.g-discover__copy {
    margin: 0 0 10px;
    color: var(--y-ink-2);
    font-size: .78rem;
    line-height: 1.55;
}

.g-discover .bg-info-wrap { position: relative; display: inline-block; }

.g-discover .bg-info-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 12px;
    background: var(--y-canvas);
    border: 1px solid var(--y-line);
    border-radius: 16px;
    color: var(--y-ink-2);
    font-family: var(--y-font);
    font-size: .75rem;
    cursor: pointer;
}

.g-discover .bg-info-btn:hover { background: var(--y-canvas-2); }

.g-discover .bg-info-dropdown {
    background: var(--y-canvas);
    border: 1px solid var(--y-line);
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(32, 33, 36, .2);
    color: var(--y-ink);
}

@media (max-width: 720px) {
    .g-home-main { padding: 0 14px 56px; }
    .g-hero { padding-top: 40px; }
    .g-logo { margin-bottom: 24px; }
    .g-logo img { height: 46px; }
    .g-actions { gap: 8px; margin-top: 22px; }
    .g-btn { font-size: .82rem; padding: 0 12px; }
    .g-topbar__nav { display: none; }
    .g-home-section { margin-top: 36px; }
    .g-shortcuts .shortcuts-grid { grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); }
    .g-trending-list { columns: 1; }
    .g-discover__card { grid-template-columns: 1fr; }
    .g-discover__media { min-height: 170px; }
}

/* ============================================================================
   4. INNER PAGES — shared tokens
   ========================================================================== */

body.neu-legacy {
    --bg: #ffffff;
    --nav-bg: #ffffff;
    --card-bg: #ffffff;
    --text-main: #202124;
    --text-dim: #4d5156;
    --text-light: #5f6368;
    --text-lighter: #70757a;
    --accent: #1a73e8;
    --accent-glow: #e8f0fe;
    --border: #dfe1e5;
    --border-hover: #1a73e8;
    --shadow-nav: 0 1px 2px rgba(32, 33, 36, .06);
    --shadow-menu: 0 14px 36px rgba(32, 33, 36, .14);
    --glass-bg: #ffffff;
    --glass-bg-strong: #ffffff;
    --glass-border: #dfe1e5;
    --glass-shadow: none;
    --glass-highlight: transparent;
    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 22px;
    background: #ffffff;
    color: #202124;
    font-family: var(--y-font);
    -webkit-font-smoothing: antialiased;
}

body.neu-legacy.dark-mode {
    --bg: #202124;
    --nav-bg: #303134;
    --card-bg: #303134;
    --text-main: #e8eaed;
    --text-dim: #bdc1c6;
    --text-light: #9aa0aa;
    --text-lighter: #9aa0a6;
    --accent: #8ab4f8;
    --accent-glow: rgba(138, 180, 248, .14);
    --border: #5f6368;
    --border-hover: #8ab4f8;
    --shadow-nav: 0 1px 2px rgba(0, 0, 0, .4);
    --shadow-menu: 0 16px 40px rgba(0, 0, 0, .5);
    --glass-bg: #303134;
    --glass-bg-strong: #303134;
    --glass-border: #5f6368;
    --glass-highlight: transparent;
    background: #202124;
    color: #e8eaed;
}

/* html[data-theme] 的旧变量优先级高于 body，需要同位覆盖一次 */
html[data-theme="light"] body.neu-legacy,
body.neu-legacy.light-mode,
body.neu-legacy.light {
    --neu-brand: #1a73e8;
    --neu-brand-hover: #1765cc;
    --neu-brand-tint: #e8f0fe;
    --neu-on-brand: #ffffff;
    --neu-bg: #ffffff;
    --neu-surface: #ffffff;
    --neu-surface-2: #f8f9fa;
    --neu-text: #202124;
    --neu-text-2: #4d5156;
    --neu-text-3: #70757a;
    --neu-line: #dfe1e5;
    --bg: #ffffff;
    --nav-bg: #ffffff;
    --card-bg: #ffffff;
    --text-main: #202124;
    --text-dim: #4d5156;
    --text-light: #5f6368;
    --text-lighter: #70757a;
    --accent: #1a73e8;
    --accent-glow: #e8f0fe;
    --border: #dfe1e5;
    --border-hover: #1a73e8;
}

html[data-theme="dark"] body.neu-legacy,
body.neu-legacy.dark-mode,
body.neu-legacy.dark {
    --neu-brand: #8ab4f8;
    --neu-brand-hover: #aecbfa;
    --neu-brand-tint: rgba(138, 180, 248, .14);
    --neu-on-brand: #202124;
    --neu-bg: #202124;
    --neu-surface: #303134;
    --neu-surface-2: #303134;
    --neu-text: #e8eaed;
    --neu-text-2: #bdc1c6;
    --neu-text-3: #9aa0a6;
    --neu-line: #5f6368;
    --bg: #202124;
    --nav-bg: #303134;
    --card-bg: #303134;
    --text-main: #e8eaed;
    --text-dim: #bdc1c6;
    --text-light: #9aa0aa;
    --text-lighter: #9aa0a6;
    --accent: #8ab4f8;
    --accent-glow: rgba(138, 180, 248, .14);
    --border: #5f6368;
    --border-hover: #8ab4f8;
}

/* Search page's own decoration layer is replaced by a clean canvas. */
body.neu-legacy::before { background: none !important; }

/* Pages whose header is position:fixed need a fixed offset. */
body.neu-legacy:not(.page-dict):not(.page-about) {
    padding-top: 64px !important;
}

/* The About page's own script pins 44px inline; the new nav is 56px. */
body.page-about { padding-top: 56px !important; }

@media (max-width: 900px) {
    body.neu-legacy:not(.page-dict):not(.page-about) {
        padding-top: 56px !important;
    }
}

/* ============================================================================
   5. INNER PAGES — white masthead over legacy floating headers
   ========================================================================== */

body.neu-legacy > header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    width: 100% !important;
    z-index: 1000 !important;
    background: var(--y-canvas) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--y-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.neu-legacy > header .header-container,
body.neu-legacy > header .container.header-container {
    width: 100% !important;
    max-width: 1280px !important;
    min-height: 64px !important;
    height: 64px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.neu-legacy > header .logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    flex-shrink: 0;
}

body.neu-legacy > header .logo-img {
    height: 30px;
    width: auto;
    border-radius: 0;
    display: block;
}

/* Keep the search field permanently open. */
body.neu-legacy > header .search-bar-desktop,
body.neu-legacy > header .search-bar-container-desktop,
body.neu-legacy > header .search-bar-container-desktop.search-collapsed {
    display: block !important;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: 720px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    overflow: visible !important;
    transition: none !important;
}

body.neu-legacy > header .search-bar-container-desktop { position: relative; }

body.neu-legacy > header .search-input-wrap,
body.neu-legacy > header .search-input-container {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 3px 6px 3px 18px !important;
    border-radius: 24px !important;
    border: 1px solid transparent !important;
    background: var(--y-canvas-2) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

[data-theme="dark"] body.neu-legacy > header .search-input-wrap,
[data-theme="dark"] body.neu-legacy > header .search-input-container {
    background: #303134 !important;
}

body.neu-legacy > header .search-input-wrap:hover,
body.neu-legacy > header .search-input-container:hover {
    background: var(--y-canvas) !important;
    border-color: var(--y-line) !important;
}

body.neu-legacy > header .search-input-wrap:focus-within,
body.neu-legacy > header .search-input-container:focus-within {
    background: var(--y-canvas) !important;
    border-color: transparent !important;
    box-shadow: 0 1px 6px rgba(32, 33, 36, .28) !important;
}

body.neu-legacy > header .search-input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 7px 4px !important;
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    color: var(--y-ink) !important;
    font-family: var(--y-font) !important;
    font-size: .9rem !important;
    font-weight: 400 !important;
    box-shadow: none !important;
}

body.neu-legacy > header .search-input::placeholder { color: var(--y-ink-3) !important; }

body.neu-legacy > header .search-extra-btns,
body.neu-legacy > header .search-extra-actions { display: flex; align-items: center; gap: 2px; }

body.neu-legacy > header .icon-btn,
body.neu-legacy > header .search-action-btn,
body.neu-legacy > header .voice-search-btn {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 0 !important;
    color: #5f6368 !important;
    box-shadow: none !important;
}

body.neu-legacy > header .icon-btn:hover,
body.neu-legacy > header .search-action-btn:hover {
    background: #e8f0fe !important;
    color: #1a73e8 !important;
}

body.neu-legacy > header .nav-actions { display: flex; align-items: center; gap: 6px; margin-left: auto; flex-shrink: 0; }

body.neu-legacy > header .action-btn {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: 0 !important;
    color: var(--y-ink-3) !important;
    box-shadow: none !important;
}

body.neu-legacy > header .action-btn:hover {
    background: var(--y-canvas-2) !important;
    border-color: transparent !important;
    color: var(--y-ink) !important;
    transform: none !important;
}

body.neu-legacy > header .user-avatar {
    width: 28px;
    height: 28px;
    border: 0;
}

body.neu-legacy > header .notification-badge {
    border-color: var(--y-canvas);
    background: #d93025;
    top: 5px;
    right: 5px;
}

body.neu-legacy > header .desktop-search-toggle,
body.neu-legacy > header .search-toggle-btn-mobile-hide,
body.neu-legacy > header #desktopSearchToggle { display: none !important; }

body.neu-legacy > header .dropdown,
body.neu-legacy > header .user-dropdown,
body.neu-legacy > header .notification-dropdown {
    background: #ffffff !important;
    color: #202124 !important;
    border: 1px solid #dfe1e5 !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 44px rgba(32, 33, 36, .16) !important;
    backdrop-filter: none !important;
}

[data-theme="dark"] body.neu-legacy > header .dropdown,
[data-theme="dark"] body.neu-legacy > header .user-dropdown,
[data-theme="dark"] body.neu-legacy > header .notification-dropdown {
    background: #303134 !important;
    color: #e8eaed !important;
    border-color: #5f6368 !important;
}

body.neu-legacy .search-bar-container-mobile,
body.neu-legacy .mobile-search-bar { display: none !important; }

@media (max-width: 900px) {
    body.neu-legacy > header .header-container,
    body.neu-legacy > header .container.header-container {
        min-height: 56px !important;
        height: 56px !important;
        padding: 0 12px !important;
        gap: 8px !important;
    }
    body.neu-legacy > header .logo { height: 34px; padding: 2px 6px; }
    body.neu-legacy > header .logo-img { height: 24px; }
    body.neu-legacy > header .search-bar-desktop,
    body.neu-legacy > header .search-bar-container-desktop,
    body.neu-legacy > header .search-bar-container-desktop.search-collapsed {
        display: block !important;
        max-width: none !important;
    }
    body.neu-legacy > header .search-input-wrap,
    body.neu-legacy > header .search-input-container { min-height: 38px !important; height: 38px !important; padding-left: 12px !important; }
    body.neu-legacy > header .action-btn { width: 32px !important; height: 32px !important; font-size: .8rem; }
    body.neu-legacy > header .nav-actions { gap: 4px; }
}

@media (max-width: 520px) {
    body.neu-legacy > header .nav-actions > a.action-btn { display: none !important; }
    body.neu-legacy > header .search-bar-desktop,
    body.neu-legacy > header .search-bar-container-desktop { min-width: 0 !important; }
}

/* Dictionary page uses a static navbar instead of <header>. */
body.page-dict .navbar {
    position: sticky !important;
    top: 0;
    z-index: 1000;
    padding: 0 !important;
    background: var(--y-canvas) !important;
    border-bottom: 1px solid var(--y-line) !important;
    box-shadow: none;
}

body.page-dict .nav-container {
    max-width: 1280px !important;
    min-height: 64px;
    padding: 0 24px;
    gap: 12px;
}

body.page-dict .navbar .logo {
    height: 40px !important;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-sizing: content-box;
}

body.page-dict .navbar .nav-links { gap: 6px !important; flex-wrap: nowrap; }

body.page-dict .navbar .nav-link {
    color: var(--y-ink-2) !important;
    font-weight: 400 !important;
    font-size: .84rem !important;
    padding: 8px 12px !important;
    border-radius: 4px;
    white-space: nowrap;
}

body.page-dict .navbar .nav-link:hover { background: var(--y-canvas-2); color: var(--y-ink) !important; }
body.page-dict .navbar .nav-link.active { background: transparent; color: var(--y-purple) !important; }
body.page-dict .navbar .nav-link.active::after { background: var(--y-purple); }

body.page-dict .navbar-search-container { flex: 1 1 420px; max-width: 560px; }

body.page-dict .navbar .search-box {
    background: var(--y-canvas-2) !important;
    border: 1px solid transparent !important;
    border-radius: 24px !important;
    box-shadow: none;
    min-height: 44px;
}

body.page-dict .navbar .search-box:focus-within {
    background: var(--y-canvas) !important;
    box-shadow: 0 1px 6px rgba(32, 33, 36, .28);
}

body.page-dict .navbar .search-input { color: var(--y-ink) !important; font-family: var(--y-font); }
body.page-dict .navbar .search-icon { color: var(--y-ink-3) !important; }
body.page-dict .navbar .search-btn {
    background: var(--y-purple) !important;
    color: #ffffff !important;
    border-radius: 18px !important;
    height: 34px;
    margin: 4px;
    padding: 0 16px !important;
}
body.page-dict .navbar .search-btn:hover { background: var(--y-purple-deep) !important; }
body.page-dict .navbar .clear-btn { color: var(--y-ink-3) !important; }

body.page-dict .navbar .apps-button,
body.page-dict .navbar .theme-toggle,
body.page-dict .navbar .hamburger-menu,
body.page-dict .navbar .user-button,
body.page-dict .navbar .notification-icon {
    color: var(--y-ink-3) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50% !important;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.page-dict .navbar .apps-button:hover,
body.page-dict .navbar .theme-toggle:hover,
body.page-dict .navbar .hamburger-menu:hover,
body.page-dict .navbar .user-button:hover,
body.page-dict .navbar .notification-icon:hover {
    background: var(--y-canvas-2) !important;
    color: var(--y-ink) !important;
}

body.page-dict .navbar .apps-dropdown,
body.page-dict .navbar .user-dropdown {
    background: #ffffff !important;
    color: #202124 !important;
    border: 1px solid #dfe1e5 !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 44px rgba(32, 33, 36, .18) !important;
}

body.page-dict .main-content { max-width: 1240px; padding: 26px 24px 56px; }

@media (max-width: 1180px) {
    body.page-dict .navbar .nav-links { display: none !important; }
}

@media (max-width: 900px) {
    body.page-dict .nav-container { min-height: 56px; padding: 0 12px; }
    body.page-dict .navbar-search-container { display: none !important; }
    body.page-dict .content-search-container { display: block !important; }
}

/* About page uses its own Apple-style navbar. */
body.page-about .xgorb-nav-root {
    --xgorb-bg: #ffffff;
    --xgorb-border: #dfe1e5;
    --xgorb-text: #4d5156;
    --xgorb-text-hover: #202124;
    --xgorb-icon-color: #5f6368;
    --xgorb-hover-circle: #f1f3f4;
    --xgorb-dropdown-bg: #ffffff;
    --xgorb-dropdown-title: #70757a;
    --xgorb-dropdown-link: #4d5156;
    --xgorb-dropdown-link-hover-bg: #e8f0fe;
    --xgorb-dropdown-link-hover: #1a73e8;
    --xgorb-dropdown-icon: #5f6368;
    --xgorb-dropdown-sub-bg: #f8f9fa;
    --xgorb-shadow: 0 2px 10px rgba(32, 33, 36, .2);
}

body.page-about .xgorb-nav { height: 56px; background: #ffffff; border-bottom: 1px solid #dfe1e5; backdrop-filter: none; }
body.page-about .xgorb-nav-inner { height: 56px; max-width: 1280px; }
body.page-about .xgorb-nav-menu { height: 56px; gap: 20px; }
body.page-about .xgorb-nav-menu > li { height: 56px; }
body.page-about .xgorb-nav-logo { background: transparent; border-radius: 0; padding: 0; }
body.page-about .xgorb-nav-logo img { height: 26px; }
body.page-about .xgorb-nav-dropdown-wrapper { top: 56px; }

/* ============================================================================
   6. SEARCH TABS (shared include)
   ========================================================================== */

body.neu-legacy .search-nav {
    position: sticky !important;
    top: 64px !important;
    z-index: 900;
    background: #ffffff !important;
    border: 0 !important;
    border-bottom: 1px solid var(--y-line) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.neu-legacy .search-nav .nav-inner-wrap,
body.neu-legacy .search-nav .container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 24px;
}

body.neu-legacy .search-nav .search-nav-inner {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.neu-legacy .search-nav .search-nav-tabs { gap: 2px; }

body.neu-legacy .search-nav .nav-tab {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-bottom: 3px solid transparent !important;
    padding: 15px 14px 12px !important;
    margin-bottom: -1px;
    color: #5f6368 !important;
    font-size: .83rem;
    font-weight: 700 !important;
    box-shadow: none !important;
}

body.neu-legacy .search-nav .nav-tab svg,
body.neu-legacy .search-nav .nav-tab i { display: none !important; }

body.neu-legacy .search-nav .nav-tab:hover {
    background: transparent !important;
    color: #1a73e8 !important;
}

body.neu-legacy .search-nav .nav-tab.active {
    background: transparent !important;
    color: #202124 !important;
    border-bottom-color: #1a73e8 !important;
    box-shadow: none !important;
}

body.neu-legacy .search-nav .tool-btn {
    background: #f8f9fa;
    border: 1px solid #dfe1e5;
    color: #5f6368;
    border-radius: 999px;
    font-weight: 600;
}

body.neu-legacy .search-nav .tool-btn:hover { background: #e8f0fe; color: #1a73e8; border-color: #1a73e8; }
body.neu-legacy .search-nav .tool-btn.cache-on { background: #fff5e6; border-color: #f0b429; color: #9a6400; }

[data-theme="dark"] body.neu-legacy .search-nav {
    background: #202124 !important;
    border-bottom-color: #5f6368 !important;
}
[data-theme="dark"] body.neu-legacy .search-nav .nav-tab { color: #b8bcc4 !important; }
[data-theme="dark"] body.neu-legacy .search-nav .nav-tab.active { color: #e8eaed !important; border-bottom-color: #8ab4f8 !important; }
[data-theme="dark"] body.neu-legacy .search-nav .tool-btn { background: #303134; border-color: #5f6368; color: #bdc1c6; }

@media (max-width: 900px) {
    body.neu-legacy .search-nav { top: 56px !important; }
    body.neu-legacy .search-nav .nav-inner-wrap,
    body.neu-legacy .search-nav .container { padding: 0 12px; }
    body.neu-legacy .search-nav .nav-tab { padding: 12px 10px 10px !important; font-size: .78rem; }
}

@media (max-width: 640px) {
    body.neu-legacy .search-nav .nav-tab svg { display: none; }
    body.neu-legacy .search-nav .nav-tab { padding: 11px 9px 9px !important; }
}

/* ============================================================================
   7. SEARCH RESULTS PAGE
   ========================================================================== */

body.page-search main,
body.page-img main,
body.page-video main { padding: 22px 0 64px; }

body.page-search .container,
body.page-img .container,
body.page-video .container { max-width: 1240px; padding: 0 24px; }

body.page-search .results-layout { gap: 32px; }
body.page-search .sidebar-col { width: 300px; }

body.page-search .search-info {
    padding: 8px 2px 12px;
    margin-bottom: 6px;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--y-line);
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    color: var(--y-ink-3);
    font-size: .78rem;
}

body.page-search .result-card {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--y-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    padding: 18px 4px 20px !important;
    margin: 0 !important;
    transition: background .15s ease !important;
}

body.page-search .result-card:hover {
    background: var(--y-canvas-2) !important;
    border-color: var(--y-line) !important;
    transform: none !important;
    box-shadow: none !important;
}

body.page-search .result-card::before { display: none !important; }

body.page-search .result-header { margin-bottom: 5px; gap: 8px; }
body.page-search .result-favicon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #f8f9fa;
    border: 1px solid var(--y-line);
    overflow: hidden;
}
body.page-search .result-favicon img { width: 16px; height: 16px; margin: auto; }

body.page-search .result-domain,
body.page-search .result-domain a {
    color: var(--y-ink);
    font-size: .78rem;
    font-weight: 700;
}

body.page-search .result-url { color: var(--y-ink-3); font-size: .7rem; max-width: 520px; }

body.page-search .result-title {
    color: #1a0dab !important;
    font-size: 1.18rem;
    font-weight: 400;
    line-height: 1.36;
    margin-bottom: 5px;
    letter-spacing: -.012em;
}

[data-theme="dark"] body.page-search .result-title { color: #8ab4f8 !important; }

body.page-search .result-title a:hover { text-decoration: underline; }

body.page-search .result-desc {
    color: var(--y-ink-2);
    font-size: .89rem;
    line-height: 1.6;
}

body.page-search .more-btn { color: var(--y-ink-3); }
body.page-search .more-btn:hover { background: var(--y-purple-soft); color: var(--y-purple); }

body.page-search .sidebar-card {
    background: var(--y-canvas-2) !important;
    border: 1px solid var(--y-line) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    padding: 18px !important;
    margin-bottom: 16px;
}

body.page-search .sidebar-title {
    color: var(--y-ink);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

body.page-search .related-list a,
body.page-search .history-list a { color: var(--y-ink-2); border-radius: 9px; }
body.page-search .related-list a:hover,
body.page-search .history-list li:hover { background: var(--y-purple-soft); color: var(--y-purple); }

body.page-search .ai-section,
body.page-search .tr-card {
    background: var(--y-canvas) !important;
    border: 1px solid var(--y-line) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

body.page-search .loading-box,
body.page-search .empty-box,
body.page-search .error-box {
    background: var(--y-canvas-2) !important;
    border: 1px solid var(--y-line) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

body.page-search .pagination a,
body.page-search .pagination span {
    border-radius: 999px;
    border: 1px solid var(--y-line);
    background: var(--y-canvas);
    color: var(--y-ink-2);
}

body.page-search .pagination a:hover,
body.page-search .pagination .active {
    background: var(--y-purple);
    border-color: var(--y-purple);
    color: #ffffff;
}

@media (max-width: 960px) {
    body.page-search .results-layout { flex-direction: column; gap: 20px; }
    body.page-search .sidebar-col { width: 100%; }
    body.page-search .sidebar-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    body.page-search .sidebar-card { margin: 0; }
}

@media (max-width: 640px) {
    body.page-search .container,
    body.page-img .container,
    body.page-video .container { padding: 0 14px; }
    body.page-search .sidebar-col { grid-template-columns: 1fr; }
    body.page-search .result-title { font-size: 1.02rem; }
}

/* ============================================================================
   8. NEWS
   ========================================================================== */

body.page-news .news-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 4px 0 18px;
}

body.page-news .news-category-tag {
    background: var(--y-canvas) !important;
    border: 1px solid var(--y-line) !important;
    color: var(--y-ink-2) !important;
    border-radius: 999px !important;
    font-weight: 600;
    font-size: .8rem;
    padding: 7px 14px !important;
}

body.page-news .news-category-tag:hover,
body.page-news .news-category-tag.active {
    background: var(--y-purple-soft) !important;
    color: var(--y-purple) !important;
    border-color: var(--y-purple) !important;
}

body.page-news .news-result-item {
    background: var(--y-canvas) !important;
    border: 1px solid var(--y-line) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    padding: 20px 22px !important;
    margin-bottom: 12px !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body.page-news .news-result-item:hover {
    border-color: var(--y-purple) !important;
    box-shadow: 0 10px 30px rgba(32, 33, 36, .08) !important;
    transform: translateY(-1px) !important;
}

body.page-news .news-result-title { color: #1a0dab !important; font-weight: 700; font-size: 1.12rem; }
body.page-news .news-result-title a { color: inherit !important; }
body.page-news .news-result-title a:hover { text-decoration: underline; }
[data-theme="dark"] body.page-news .news-result-title { color: #aecbfa !important; }
body.page-news .news-result-description { color: var(--y-ink-2) !important; }

body.page-news .search-results-container,
body.page-music .search-results-container,
body.page-video .search-results-container { max-width: 1240px; margin: 0 auto; }

/* ============================================================================
   9. MUSIC
   ========================================================================== */

body.page-music .music-result-item {
    background: var(--y-canvas) !important;
    border: 1px solid var(--y-line) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    padding: 14px 18px !important;
    margin-bottom: 10px !important;
    transition: border-color .18s ease, box-shadow .18s ease !important;
}

body.page-music .music-result-item:hover {
    border-color: var(--y-purple) !important;
    box-shadow: 0 8px 24px rgba(32, 33, 36, .08) !important;
    transform: none !important;
}

body.page-music .music-result-title { color: #1a0dab !important; font-weight: 700; }
[data-theme="dark"] body.page-music .music-result-title { color: #aecbfa !important; }
body.page-music .music-result-artist,
body.page-music .music-result-album,
body.page-music .music-result-meta { color: var(--y-ink-3) !important; }

body.page-music .music-quality {
    background: var(--y-purple-soft) !important;
    color: var(--y-purple) !important;
    border-radius: 999px;
    font-weight: 700;
}

body.page-music .music-action-btn,
body.page-music .player-btn {
    border-radius: 999px;
}

/* ============================================================================
   10. VIDEO
   ========================================================================== */

body.page-video .video-card {
    background: var(--y-canvas) !important;
    border: 1px solid var(--y-line) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    margin-bottom: 12px;
    transition: border-color .18s ease, box-shadow .18s ease !important;
}

body.page-video .video-card:hover {
    border-color: var(--y-purple) !important;
    box-shadow: 0 8px 26px rgba(32, 33, 36, .08) !important;
    transform: none !important;
}

body.page-video .sidebar-card {
    background: var(--y-canvas-2) !important;
    border: 1px solid var(--y-line) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

/* ============================================================================
   11. IMAGES
   ========================================================================== */

body.page-img .image-grid { column-gap: 12px; }

body.page-img .image-item {
    border-radius: 14px !important;
    overflow: hidden;
    border: 1px solid var(--y-line);
    background: var(--y-canvas-2);
    break-inside: avoid;
    margin-bottom: 12px;
}

body.page-img .image-item:hover {
    border-color: var(--y-purple);
    box-shadow: 0 10px 28px rgba(32, 33, 36, .12);
}

body.page-img .image-item .grid-img { border-radius: 0; }

/* ============================================================================
   12. DICTIONARY
   ========================================================================== */

body.page-dict .content-search-container { max-width: 760px; margin: 0 auto 20px; }
body.page-dict .content-search-container .search-box {
    background: var(--y-canvas) !important;
    border: 1px solid var(--y-line) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 30px rgba(32, 33, 36, .08) !important;
    min-height: 54px;
}

body.page-dict .content-search-container .search-input { color: var(--y-ink) !important; }
body.page-dict .content-search-container .search-icon { color: var(--y-purple) !important; }
body.page-dict .content-search-container .search-btn {
    background: var(--y-purple) !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    height: 42px;
    margin: 5px;
    padding: 0 20px !important;
}

body.page-dict .search-section { margin-bottom: 8px; }
body.page-dict .search-stats { color: var(--y-ink-3); font-size: .82rem; padding: 8px 2px 14px; }

body.page-dict .english-result,
body.page-dict .chinese-result,
body.page-dict .no-results {
    background: var(--y-canvas) !important;
    border: 1px solid var(--y-line) !important;
    border-radius: 20px !important;
    box-shadow: none !important;
    padding: 26px 28px !important;
}

body.page-dict .word-header { border-bottom: 1px solid var(--y-line); padding-bottom: 16px; }
body.page-dict .word-title { color: var(--y-ink); font-weight: 800; letter-spacing: -.02em; }
body.page-dict .pronunciation-item { color: var(--y-ink-2); }

body.page-dict .pronounce-btn {
    background: var(--y-purple-soft) !important;
    color: var(--y-purple) !important;
    border-radius: 50% !important;
}

body.page-dict .section-title { color: var(--y-ink); font-weight: 800; }
body.page-dict .section-title i { color: var(--y-purple); }
body.page-dict .translation-item,
body.page-dict .phrase-item,
body.page-dict .sentence-item,
body.page-dict .synonym-group,
body.page-dict .rel-word-group { border-color: var(--y-line) !important; }

body.page-dict .pos,
body.page-dict .pinyin-value { color: var(--y-purple) !important; }

body.page-dict .synonym-word,
body.page-dict .rel-word-word {
    display: inline-flex;
    padding: 4px 10px;
    margin: 3px 4px 3px 0;
    border-radius: 999px;
    background: var(--y-purple-soft);
    color: var(--y-purple);
    font-weight: 600;
    text-decoration: none;
}

body.page-dict .chinese-character { color: var(--y-ink); }

body.page-dict .no-results { text-align: center; color: var(--y-ink-2); }
body.page-dict .no-results i { color: var(--y-purple); }

/* ============================================================================
   13. TRANSLATE
   ========================================================================== */

body.page-translate .panels {
    border: 1px solid var(--y-line) !important;
    border-radius: 20px !important;
    background: var(--y-canvas) !important;
    box-shadow: none !important;
    overflow: hidden;
}

body.page-translate .panel { background: transparent !important; }
body.page-translate .panel:first-child { border-right: 1px solid var(--y-line); }
body.page-translate .lang-btn,
body.page-translate .btn { border-radius: 999px; }
body.page-translate .btn-primary,
body.page-translate .btn.translate {
    background: var(--y-purple) !important;
    color: #ffffff !important;
    border-color: var(--y-purple) !important;
}
body.page-translate .source-text,
body.page-translate .target-text,
body.page-translate textarea { color: var(--y-ink) !important; }

/* ============================================================================
   13b. LEGAL / COOKIE PAGE
   ========================================================================== */

body.y-legal {
    --neu-brand: #1a73e8;
    --neu-brand-hover: #1765cc;
    --neu-brand-tint: #e8f0fe;
    --neu-on-brand: #ffffff;
    background: #ffffff !important;
    font-family: var(--y-font);
}

[data-theme="dark"] body.y-legal {
    --neu-brand: #8ab4f8;
    --neu-brand-hover: #aecbfa;
    --neu-brand-tint: rgba(138, 180, 248, .14);
    --neu-on-brand: #16002e;
    background: #202124 !important;
}

body.y-legal > header {
    background: var(--y-canvas) !important;
    border-bottom: 1px solid var(--y-line) !important;
    box-shadow: none !important;
}

body.y-legal .legal-topbar { min-height: 64px; padding: 0 24px; }

body.y-legal .legal-brand {
    color: var(--y-ink);
    font-weight: 500;
    letter-spacing: -.01em;
}

body.y-legal .legal-brand img {
    background: transparent;
    padding: 0;
    border-radius: 0;
}

body.y-legal .legal-nav a {
    color: var(--y-ink-2);
    font-weight: 500;
    border-radius: 4px;
}

body.y-legal .legal-nav a:hover {
    background: var(--y-canvas-2);
    color: var(--y-ink);
}

body.y-legal .legal-wrap { padding: 36px 24px 64px; }

body.y-legal .legal-card {
    border: 1px solid var(--y-line);
    border-radius: 12px;
    box-shadow: none;
    background: var(--y-canvas);
}

body.y-legal .legal-card h1 { font-weight: 500; letter-spacing: -.015em; color: var(--y-ink); }
body.y-legal .legal-card h2 { font-weight: 500; color: var(--y-ink); }
body.y-legal .legal-card p,
body.y-legal .legal-card li { color: var(--y-ink-2); }

/* ============================================================================
   14. FOOTER (all pages)
   ========================================================================== */

body.y-home footer,
body.neu-legacy footer {
    background: var(--y-canvas-2) !important;
    border-top: 1px solid var(--y-line) !important;
    color: var(--y-ink-2);
    box-shadow: none !important;
    padding: 0 !important;
}

body.y-home footer::before,
body.neu-legacy footer::before { display: none !important; }

body.y-home .footer-container,
body.neu-legacy footer .footer-container,
body.neu-legacy footer .footer-grid {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 40px 24px 24px !important;
    display: grid !important;
    grid-template-columns: 1.5fr 1fr 1fr 1fr !important;
    gap: 36px !important;
}

body.y-home .footer-section-title,
body.neu-legacy footer .footer-section-title,
body.neu-legacy footer .footer-sec-title {
    color: var(--y-ink) !important;
    font-size: .82rem !important;
    font-weight: 500 !important;
    letter-spacing: .01em;
    margin: 0 0 14px !important;
    text-transform: none;
}

body.y-home .footer-info,
body.neu-legacy footer .footer-info { color: var(--y-ink-3) !important; font-size: .82rem !important; line-height: 1.65; }

body.y-home .footer-links,
body.neu-legacy footer .footer-links { display: flex; flex-direction: column; gap: 9px; }

body.y-home .footer-link,
body.neu-legacy footer .footer-link {
    color: var(--y-ink-2) !important;
    font-size: .82rem !important;
    font-weight: 500;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: 0;
    padding: 0;
    text-align: left;
    transition: color .16s ease;
}

body.y-home .footer-link i,
body.neu-legacy footer .footer-link i { color: var(--y-ink-3) !important; width: 15px; }

body.y-home .footer-link:hover,
body.neu-legacy footer .footer-link:hover { color: var(--y-purple) !important; }
body.y-home .footer-link:hover i,
body.neu-legacy footer .footer-link:hover i { color: var(--y-purple) !important; }

body.y-home .social-links { display: flex; gap: 8px; margin-top: 14px; }
body.y-home .social-link,
body.neu-legacy footer .social-link,
body.neu-legacy footer .social-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--y-canvas) !important;
    border: 1px solid var(--y-line) !important;
    color: var(--y-ink-3) !important;
}

body.y-home .social-link:hover,
body.neu-legacy footer .social-link:hover { color: var(--y-purple) !important; border-color: var(--y-purple) !important; }

body.y-home .footer-bottom,
body.neu-legacy footer .footer-bottom {
    max-width: 1240px;
    margin: 0 auto;
    padding: 18px 24px 30px !important;
    border-top: 1px solid var(--y-line);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--y-ink-3);
    font-size: .72rem;
}

body.y-home .footer-version,
body.y-home .footer-copyright,
body.neu-legacy footer .footer-version,
body.neu-legacy footer .footer-copyright { color: var(--y-ink-3) !important; font-size: .72rem; }

body.y-home .new-badge,
body.neu-legacy footer .new-badge {
    background: var(--y-purple-soft);
    color: var(--y-purple);
    border-radius: 4px;
    padding: 1px 5px;
    font-size: .58rem;
    font-weight: 800;
}

/* Injected compliance + brand showcase blocks inherit the new footer look. */
body.y-home .xx-compliance,
body.neu-legacy .xx-compliance { color: var(--y-ink-2) !important; }

body.y-home .xx-compliance .footer-section-title,
body.neu-legacy .xx-compliance .footer-section-title { color: var(--y-ink) !important; }

body.y-home .brand-showcase,
body.neu-legacy .brand-showcase { color: var(--y-ink-3) !important; }

body.y-home .brand-showcase .footer-section-title,
body.neu-legacy .brand-showcase .footer-section-title { color: var(--y-ink-2) !important; }

body.y-home .brand-card,
body.neu-legacy .brand-card {
    padding: 14px 22px !important;
    border-radius: 12px;
}

body.y-home .brand-card img,
body.neu-legacy .brand-card img { filter: none !important; }

body.y-home .brand-marquee-wrap::before,
body.y-home .brand-marquee-wrap::after,
body.neu-legacy .brand-marquee-wrap::before,
body.neu-legacy .brand-marquee-wrap::after { display: none !important; }

@media (max-width: 960px) {
    body.y-home .footer-container,
    body.neu-legacy footer .footer-container,
    body.neu-legacy footer .footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 28px !important;
        padding: 36px 20px 22px !important;
    }
}

@media (max-width: 600px) {
    body.y-home .footer-container,
    body.neu-legacy footer .footer-container,
    body.neu-legacy footer .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        padding: 30px 16px 18px !important;
    }
    body.y-home .footer-bottom,
    body.neu-legacy footer .footer-bottom { padding: 16px 16px 26px !important; }
}

/* ============================================================================
   15. DARK MODE — surfaces
   ========================================================================== */

[data-theme="dark"] body.neu-legacy .search-input-wrap,
[data-theme="dark"] body.neu-legacy .search-input-container,
[data-theme="dark"] body.neu-legacy > header .search-input-wrap,
[data-theme="dark"] body.neu-legacy > header .search-input-container {
    background: #303134 !important;
    border: 1px solid #5f6368 !important;
    box-shadow: none !important;
}

[data-theme="dark"] body.neu-legacy > header .search-input { color: #e8eaed !important; }
[data-theme="dark"] body.neu-legacy > header .search-input::placeholder { color: #9aa0a6 !important; }
[data-theme="dark"] body.neu-legacy > header .icon-btn,
[data-theme="dark"] body.neu-legacy > header .search-action-btn { color: #b8bcc4 !important; }

[data-theme="dark"] body.page-search .result-card:hover { background: #17171c !important; }
[data-theme="dark"] body.page-search .result-favicon { background: #222228; }

[data-theme="dark"] body.page-dict .navbar .search-box,
[data-theme="dark"] body.page-dict .content-search-container .search-box {
    background: #303134 !important;
    border-color: #5f6368 !important;
}
[data-theme="dark"] body.page-dict .navbar .search-input,
[data-theme="dark"] body.page-dict .content-search-container .search-input { color: #e8eaed !important; }
[data-theme="dark"] body.page-news .news-result-item,
[data-theme="dark"] body.page-music .music-result-item,
[data-theme="dark"] body.page-video .video-card { background: #303134 !important; border-color: #5f6368 !important; }

[data-theme="dark"] body.y-home .y-service,
[data-theme="dark"] body.y-home .y-shortcuts-card .shortcut-icon { background: #222228; }

[data-theme="dark"] body.y-home .y-shortcuts-card.shortcuts-card { background: #17171c; }

[data-theme="dark"] body.page-img .image-item { border-color: #5f6368; background: #303134; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .g-service,
    .g-discover__media,
    .g-shortcuts .shortcut-card { transition: none !important; }
}

/* ============================================================================
   16. COMPACT RHYTHM — all pages
   ========================================================================== */

body.neu-legacy main {
    padding-top: 10px !important;
    padding-bottom: 40px !important;
}

body.neu-legacy .search-nav {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

body.neu-legacy .search-info {
    padding: 0 0 10px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: .75rem !important;
    color: var(--y-ink-3) !important;
}

body.neu-legacy .search-nav .nav-tab {
    padding: 10px 13px 8px !important;
    font-size: .8rem !important;
}

body.neu-legacy .search-nav .tool-btn {
    height: 30px;
    padding: 0 11px;
    font-size: .72rem;
}

/* Home — keep the Google composition, just tighter */
body.y-home .g-home-main { padding-bottom: 44px; }
body.y-home .g-hero { padding-top: clamp(26px, 6vh, 62px); }
body.y-home .g-logo { margin-bottom: 22px; }
body.y-home .g-logo img { height: 54px; }
body.y-home .g-actions { margin-top: 20px; }
body.y-home .g-trending { margin-top: 18px; }
body.y-home .g-home-section { margin-top: 30px; }
body.y-home .g-home-section__head { margin-bottom: 8px; }
body.y-home .g-shortcuts .shortcut-card {
    gap: 6px;
    min-height: 76px;
    padding: 9px 6px 7px;
}
body.y-home .g-shortcuts .shortcut-icon { width: 42px; height: 42px; }
body.y-home .g-shortcuts .shortcut-icon img { width: 22px; height: 22px; }
body.y-home .g-shortcuts .add-shortcut {
    gap: 6px;
    min-height: 76px;
    padding: 9px 6px 7px;
}
body.y-home .g-shortcuts .add-icon { width: 42px; height: 42px; }
body.y-home .g-discover__body { padding: 14px 16px 12px; }

/* News */
body.page-news .news-categories { gap: 6px !important; margin: 0 0 12px !important; }
body.page-news .news-category-tag { padding: 5px 12px !important; font-size: .76rem !important; }
body.page-news .news-result-item {
    margin-bottom: 9px !important;
    padding: 14px 16px !important;
    border-radius: 12px !important;
}
body.page-news .news-result-title { font-size: 1.04rem !important; line-height: 1.4; }
body.page-news .news-result-description { line-height: 1.55 !important; }

/* Images */
body.page-img .image-grid { column-gap: 10px !important; }
body.page-img .image-item { margin-bottom: 10px !important; border-radius: 10px !important; }

/* Video */
body.page-video .video-card { margin-bottom: 9px !important; border-radius: 12px !important; }

/* Music */
body.page-music .music-result-item {
    margin-bottom: 8px !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
}

/* Dictionary */
body.page-dict .navbar .search-btn {
    flex: 0 0 auto;
    white-space: nowrap;
}
body.page-dict .navbar .search-btn span { white-space: nowrap; }
body.page-dict .navbar .search-box {
    border-color: var(--y-line) !important;
    box-shadow: none !important;
}
body.page-dict .navbar .search-box:focus-within {
    border-color: var(--y-purple) !important;
    box-shadow: 0 0 0 3px rgba(26, 115, 232, .15) !important;
}
body.page-dict .search-section {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.page-dict .english-result,
body.page-dict .chinese-result,
body.page-dict .no-results { padding: 20px 22px !important; border-radius: 14px !important; }
body.page-dict .word-header { padding-bottom: 12px; }

/* Translate */
body.page-translate .panels { border-radius: 14px !important; }

/* ============================================================================
   17. BING SERP — search results page only
   ========================================================================== */

body.page-search {
    --bing-blue: #174ae4;
    --bing-blue-hover: #0f3bbf;
    --bing-title: #1a0dab;
    --bing-visited: #681da8;
    --bing-url: #4d5156;
}

[data-theme="dark"] body.page-search {
    --bing-blue: #8ab4f8;
    --bing-blue-hover: #aecbfa;
    --bing-title: #8ab4f8;
    --bing-visited: #c58af9;
    --bing-url: #bdc1c6;
}

/* Header + tab bar */
body.page-search > header { border-bottom: 1px solid var(--y-line); }
body.page-search .search-nav { border-bottom: 1px solid var(--y-line) !important; }

body.page-search .search-nav .nav-tab {
    color: var(--y-ink-2) !important;
    font-weight: 500 !important;
}
body.page-search .search-nav .nav-tab:hover,
body.page-search .search-nav .nav-tab.active {
    color: var(--bing-blue) !important;
    border-bottom-color: var(--bing-blue) !important;
}

/* Layout: Bing keeps a narrow reading column and a knowledge rail */
body.page-search .container { max-width: 1120px !important; }
body.page-search .results-layout { gap: 48px; align-items: flex-start; }
body.page-search .results-col { max-width: 652px; }
body.page-search .sidebar-col { width: 296px; }

body.page-search .search-info {
    padding: 0 0 8px !important;
    margin: 0 !important;
    border: 0 !important;
    font-size: .75rem !important;
    color: var(--y-ink-3) !important;
}

/* Flat result rows */
body.page-search .result-card {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--y-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 13px 2px 16px !important;
    margin: 0 !important;
    transition: none !important;
}
body.page-search .result-card:hover { background: transparent !important; transform: none !important; }

body.page-search .result-header {
    align-items: flex-start;
    gap: 7px;
    margin-bottom: 3px;
}
body.page-search .result-favicon {
    width: 16px;
    height: 16px;
    margin-top: 1px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    overflow: hidden;
}
body.page-search .result-favicon img {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    object-fit: contain;
}
body.page-search .result-domain,
body.page-search .result-domain a {
    color: var(--y-ink) !important;
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.25;
}
body.page-search .result-domain a { text-decoration: none; }
body.page-search .result-url {
    color: var(--bing-url) !important;
    font-size: .7rem;
    line-height: 1.3;
    max-width: 560px;
}

body.page-search .result-title {
    color: var(--bing-title) !important;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -.005em;
    margin: 1px 0 4px;
}
body.page-search .result-title a { color: inherit !important; text-decoration: none; }
body.page-search .result-title a:hover { text-decoration: underline; }
body.page-search .result-title a:visited { color: var(--bing-visited) !important; }

body.page-search .result-desc {
    color: var(--y-ink-2) !important;
    font-size: .875rem;
    line-height: 1.55;
    max-width: 640px;
}

body.page-search .more-btn { top: 8px; right: 0; color: var(--y-ink-3); }
body.page-search .more-btn:hover { background: var(--y-canvas-2) !important; color: var(--bing-blue) !important; }

/* Answer / translate cards */
body.page-search .ai-section,
body.page-search .tr-card {
    background: var(--y-canvas-2) !important;
    border: 1px solid var(--y-line) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}
body.page-search .ai-section { margin-bottom: 14px; }
body.page-search .ai-header { padding: 10px 14px; }
body.page-search .ai-body { padding: 0 14px 12px; }
body.page-search .ai-title { font-size: .85rem; font-weight: 600; }

/* Knowledge rail */
body.page-search .sidebar-card {
    background: var(--y-canvas) !important;
    border: 1px solid var(--y-line) !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 2px rgba(32, 33, 36, .04) !important;
    padding: 14px 16px !important;
    margin-bottom: 12px !important;
}
body.page-search .sidebar-title {
    color: var(--y-ink) !important;
    font-size: .88rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin-bottom: 8px !important;
}
body.page-search .related-list a,
body.page-search .history-list a { border-radius: 8px; }
body.page-search .related-list a:hover,
body.page-search .history-list li:hover { background: var(--y-canvas-2) !important; color: var(--bing-blue) !important; }

body.page-search .pagination a,
body.page-search .pagination span {
    background: transparent !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: var(--bing-blue) !important;
    font-weight: 600;
}
body.page-search .pagination a:hover,
body.page-search .pagination .active {
    background: var(--y-canvas-2) !important;
    color: var(--bing-blue) !important;
}

@media (max-width: 960px) {
    body.page-search .results-layout { gap: 20px; }
    body.page-search .results-col { max-width: 100%; }
}

@media (max-width: 640px) {
    body.page-search .result-title { font-size: 1.04rem; }
    body.page-search .result-card { padding: 12px 0 14px !important; }
    body.page-search .result-url { max-width: 100%; }
}
