﻿        :root {
            /* 登录按钮 */
            --login-ok: #64dc96;
            --login-ok-bg: oklch(0.8 0.15 150 / 0.1);
            --login-ok-border: oklch(0.8 0.15 150 / 0.4);
            --dnd-accent: oklch(0.72 0.12 65);
            --rebirth-accent: oklch(0.65 0.18 340);
        }

        /*
         * index.html 不设置 body background，
         * 使用 Bing 每日壁纸（#bg-img）+ 遮罩层
         */

        /* Bing 每日壁纸背景 */
        #bg-img {
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            object-fit: cover;
            z-index: 0;
        }
        #bg-overlay {
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background: var(--overlay);
            z-index: 1;
        }

        /* ========== 主区域 ========== */
        .main {
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: var(--space-7) var(--space-5);
            position: relative;
        }

        /* 顶部区域：时间 + 搜索框（屏幕居中）*/
        .top-section {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 100%;
        }

        /* 快捷链接区域（向下滚动后显示）*/
        .links-section {
            width: 100%;
            max-width: 800px;
            padding: var(--space-7) var(--space-5) var(--space-7);
        }

        /* ---- 时间 ---- */
        .time {
            font-size: var(--text-5xl);
            font-weight: 400;
            letter-spacing: 4px;
            margin-bottom: 8px;
            font-variant-numeric: tabular-nums;
            color: var(--text-primary);
            text-shadow: 0 2px 8px var(--overlay-50);
        }
        .date-text {
            font-size: var(--text-md);
            color: var(--glass-85); font-weight: 500;
            margin-bottom: 8px;
            letter-spacing: 2px;
        }
        /* ---- 一言 ---- */
        .quote {
            font-size: var(--text-2sm);
            color: var(--glass-75);
            padding: var(--space-5) var(--space-5);
            text-align: center;
            line-height: 1.6;
            position: relative;
            z-index: 2;
        }

        .quote-text { font-style: italic; }
        .quote-source { color: var(--glass-55); margin-left: 4px; }

        /* ---- 底部热搜栏 ---- */
        .hotbar-section {
            width: 100%;
            max-width: 620px;
            margin: 16px 0 0;
            padding: var(--space-4) var(--space-5);
            background: var(--glass-08);
            border: 1px solid var(--glass-15);
            border-radius: var(--radius-md);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }
        .hotbar-title {
            font-size: var(--text-2sm);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: var(--glass-90);
            margin-bottom: 12px;
            display: flex;
            align-items: center;
            gap: 6px;
        }
        .hotbar-title .hot-icon {
            font-size: var(--text-sm);
            animation: hotPulse 1.8s cubic-bezier(0.16, 1, 0.3, 1) infinite;
        }
        @keyframes hotPulse {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: .7; transform: scale(1.1); }
        }
        .hotbar-tabs {
            display: flex;
            gap: 8px;
            margin-bottom: 12px;
            flex-wrap: wrap;
        }
        .hotbar-tab {
            padding: var(--space-1) var(--space-3);
            border-radius: var(--radius-xl);
            background: var(--glass-10);
            border: 1px solid var(--glass-15);
            color: var(--glass-85);
            font-size: var(--text-xs);
            cursor: pointer;
            transition: color .2s, background .2s;
        }
        .hotbar-tab:hover {
            background: var(--glass-18);
            color: var(--glass-95);
        }
        .hotbar-tab.active {
            background: var(--glass-20);
            border-color: var(--glass-40);
            color: var(--text-primary);
        }
        .hotbar-list {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
            gap: 8px;
        }
        .hotbar-item {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: var(--space-2) var(--space-3);
            background: var(--glass-06);
            border: 1px solid var(--glass-10);
            border-radius: var(--radius-sm);
            text-decoration: none;
            color: var(--glass-85);
            font-size: var(--text-2sm);
            transition: color .2s, background .2s, border-color .2s, transform .2s;
            overflow: hidden;
        }
        .hotbar-item:hover {
            background: oklch(0.98 0.008 60 / 0.14);
            border-color: var(--glass-22);
            color: var(--text-primary);
        }
        .hotbar-item--static {
            cursor: default;
        }
        .hotbar-item--static:hover {
            background: var(--glass-06);
            border-color: var(--glass-10);
            color: var(--glass-85);
        }
        .hotbar-rank {
            font-size: var(--text-xs);
            font-weight: 700;
            color: var(--glass-50);
            min-width: 20px;
        }
        .hotbar-item:nth-child(1) .hotbar-rank { color: rgba(255,100,100,.9); }
        .hotbar-item:nth-child(2) .hotbar-rank { color: rgba(255,140,80,.9); }
        .hotbar-item:nth-child(3) .hotbar-rank { color: rgba(255,183,77,.9); }
        .hotbar-item-title {
            flex: 1;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .hotbar-loading, .hotbar-error {
            text-align: center;
            padding: var(--space-5);
            color: var(--glass-60);
            font-size: var(--text-2sm);
        }

        /* 热搜骨架屏 */
        .hotbar-skeleton {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
            gap: 8px;
        }
        .hotbar-skeleton .sk-item {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: var(--space-2) var(--space-3);
            border-radius: var(--radius-sm);
            background: var(--glass-06);
            border: 1px solid var(--glass-10);
        }
        .hotbar-skeleton .sk-rank {
            width: 20px;
            height: 12px;
            border-radius: 3px;
            background: var(--glass-15);
            animation: skShimmer 1.5s ease-in-out infinite;
        }
        .hotbar-skeleton .sk-title {
            flex: 1;
            height: 12px;
            border-radius: 3px;
            background: var(--glass-15);
            animation: skShimmer 1.5s ease-in-out infinite;
        }
        .hotbar-skeleton .sk-title:nth-child(2) { width: 70%; }
        @keyframes skShimmer {
            0% { opacity: 0.3; }
            50% { opacity: 0.6; }
            100% { opacity: 0.3; }
        }

        /* ---- 搜索框 ---- */
        .search-wrapper {
            margin-top: 28px;
            position: relative;
            width: 100%;
            max-width: 620px;
        }
        .arrow-svg {
            margin-left: 2px;
        }

        .search-wrap {
            display: flex;
            align-items: center;
            width: 100%;
            max-width: 620px;
            background: var(--glass-08);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border: 1px solid var(--glass-12);
            border-radius: 50px;
            padding: var(--space-1);
            transition: border-color .3s, box-shadow .3s;
        }
        .search-wrap:focus-within {
            border-color: var(--glass-25);
            box-shadow: 0 0 0 3px var(--glass-06);
        }

        .search-engine-btn {
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 8px 14px 8px 18px;
            background: var(--glass-10);
            border: none;
            color: var(--glass-90);
            font-size: var(--text-2sm);
            font-weight: 500;
            cursor: pointer;
            border-radius: 50px;
            margin: 2px;
            transition: background .2s;
            white-space: nowrap;
        }
        .search-engine-btn:hover {
            background: var(--glass-18);
        }
        .search-engine-btn svg {
            width: 15px;
            height: 15px;
            fill: currentColor;
        }

        .search-input {
            flex: 1;
            background: none;
            border: none;
            outline: none;
            padding: var(--space-3) var(--space-2);
            font-size: var(--text-sm);
            color: var(--text-primary);
            min-width: 0;
        }
        .search-input::placeholder {
            color: var(--glass-35);
        }
        .search-input:focus {
            outline: none;
        }

        .search-go {
            flex-shrink: 0;
            background: var(--glass-12);
            border: none;
            color: var(--text-primary);
            padding: var(--space-3) var(--space-5);
            font-size: var(--text-sm);
            border-radius: 50px;
            margin: 2px;
            cursor: pointer;
            transition: background .2s;
        }
        .search-go:hover {
            background: var(--glass-22);
        }

        /* ---- 搜索引擎下拉菜单 ---- */
        .engine-menu {
            position: absolute;
            top: calc(100% + 6px);
            left: 0;
            background: oklch(0.12 0.02 280 / 0.95);
            backdrop-filter: blur(16px);
            border: 1px solid var(--glass-10);
            border-radius: 14px;
            padding: var(--space-2) 0;
            min-width: 150px;
            display: none;
            z-index: 100;
            box-shadow: 0 12px 40px var(--overlay-50);
            overflow: hidden;
        }
        .engine-menu.show { display: block; }
        .engine-menu-item {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: var(--space-3) var(--space-4);
            font-size: var(--text-2sm);
            color: var(--glass-75);
            cursor: pointer;
            transition: all .15s;
        }
        .engine-menu-item:hover,
        .engine-menu-item.active {
            background: var(--glass-08);
            color: var(--text-primary);
        }

        /* ---- 快速链接 ---- */

        .link-group {
            margin-top: 32px;
        }
        .link-group:first-child { margin-top: 0; }
        .link-group.hidden { display: none; }

        .link-group-title {
            font-size: var(--text-2sm);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 3px;
            color: var(--glass-80);
            margin-bottom: var(--space-4);
            padding-left: 4px;
        }

        .link-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
            gap: 8px;
        }

        .link-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 6px;
            padding: var(--space-4) var(--space-2) var(--space-3);
            background: var(--glass-08);
            border: 1px solid var(--glass-15);
            border-radius: var(--radius-md);
            text-decoration: none;
            color: var(--glass-95);
            font-size: var(--text-sm);
            font-weight: 500;
            transition: color .2s, background .2s, border-color .2s, transform .2s;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }
        .link-item:hover {
            background: var(--glass-15);
            transform: translateY(-3px);
            box-shadow: 0 8px 24px var(--overlay-50);
            border-color: var(--glass-30);
            color: var(--text-primary);
        }

        .link-item--game {
            position: relative;
            overflow: hidden;
        }
        .link-item--game::before {
            content: '';
            position: absolute;
            left: 0;
            top: 20%;
            bottom: 20%;
            width: 3px;
            border-radius: 0 2px 2px 0;
            transition: top .2s, bottom .2s, width .2s;
        }
        .link-item--dnd::before {
            background: linear-gradient(180deg, var(--dnd-accent), oklch(0.58 0.1 45));
        }
        .link-item--rebirth::before {
            background: linear-gradient(180deg, var(--rebirth-accent), oklch(0.55 0.2 200));
        }
        .link-item--game:hover::before {
            top: 10%;
            bottom: 10%;
            width: 4px;
        }

        /* ========== 广告横幅（在热搜框内）========== */
        .ad-banner {
            width: 100%;
            margin: var(--space-4) 0 0;
            padding: var(--space-3) var(--space-5);
            border-radius: var(--radius-md);
            background: linear-gradient(135deg, oklch(0.8 0.15 80 / 0.15), oklch(0.75 0.18 50 / 0.1), oklch(0.7 0.2 20 / 0.1));
            border: 1px solid oklch(0.8 0.15 80 / 0.3);
            text-align: center;
            transition: border-color .3s, box-shadow .3s, transform .3s;
        }
        .ad-banner:hover {
            border-color: oklch(0.8 0.15 80 / 0.7);
            box-shadow: 0 0 20px oklch(0.8 0.15 80 / 0.2);
            transform: scale(1.02);
        }
        .ad-banner a {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: var(--space-2);
            text-decoration: none;
            color: #ffd54f;
            font-size: var(--text-sm);
            font-weight: 600;
            letter-spacing: 1px;
        }
        .ad-banner .ad-icon {
            font-size: var(--text-2md);
        }
        .ad-banner .ad-badge {
            display: inline-block;
            background: linear-gradient(135deg, #ff9800, #ff5722);
            color: var(--text-primary);
            font-size: var(--text-2xs);
            font-weight: 700;
            padding: var(--space-1) var(--space-2);
            border-radius: var(--radius-xs);
            margin-left: 4px;
            vertical-align: middle;
        }

        .link-item .icon {
            font-size: var(--text-lg);
            line-height: 1;
        }

        /* ========== 登录按钮 & 弹窗 ========== */
        .login-btn {
            position: absolute;
            top: 20px;
            right: 20px;
            padding: var(--space-2) var(--space-4);
            border-radius: var(--radius-xl);
            border: 1px solid var(--glass-30);
            background: var(--glass-12);
            color: var(--glass-90);
            font-size: var(--text-2sm);
            cursor: pointer;
            transition: color .2s, background .2s;
            z-index: 1000;
            backdrop-filter: blur(8px);
        }
        .login-btn:hover {
            background: var(--glass-20);
            color: var(--text-primary);
        }
        .login-btn.logged-in {
            border-color: var(--login-ok-border);
            color: var(--login-ok);
        }
        .login-btn.logged-in:hover {
            background: var(--login-ok-bg);
        }
        .login-overlay {
            display: none;
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background: var(--overlay-60);
            backdrop-filter: blur(4px);
            z-index: 1001;
            align-items: center;
            justify-content: center;
        }
        .login-overlay.show { display: flex; }
        .login-modal {
            position: relative;
            background: oklch(0.1 0.02 280 / 0.95);
            border: 1px solid var(--glass-12);
            border-radius: var(--radius-lg);
            padding: var(--space-6) var(--space-7);
            min-width: 300px;
            max-width: 90vw;
            box-shadow: 0 20px 60px var(--overlay-50);
            animation: loginPop .25s cubic-bezier(0.16, 1, 0.3, 1);
        }
        @keyframes loginPop {
            from { transform: scale(.92); opacity: 0; }
            to { transform: scale(1); opacity: 1; }
        }
        .login-modal h2 {
            margin: 0 0 24px;
            font-size: var(--text-2md);
            font-weight: 600;
            color: var(--text-primary);
            text-align: center;
        }
        .login-form .form-row {
            margin-bottom: 16px;
        }
        .login-form input {
            width: 100%;
            padding: var(--space-3) var(--space-4);
            border-radius: var(--radius-sm);
            border: 1px solid var(--glass-15);
            background: var(--glass-06);
            color: var(--text-primary);
            font-size: var(--text-sm);
            outline: 2px solid transparent;
            outline-offset: 2px;
            transition: outline-color .2s, border-color .2s;
            box-sizing: border-box;
        }
        .login-form input:focus {
            border-color: rgba(100,220,150,.5);
            outline-color: var(--accent-start);
        }
        .login-form input::placeholder {
            color: var(--glass-35);
        }
        .login-form button {
            width: 100%;
            padding: var(--space-3);
            border-radius: var(--radius-sm);
            border: none;
            background: linear-gradient(135deg, var(--accent-start), var(--accent-end));
            color: var(--text-primary);
            font-size: var(--text-sm);
            font-weight: 600;
            cursor: pointer;
            transition: filter .2s;
            margin-top: 8px;
        }
        .login-form button:hover {
            filter: brightness(1.15);
        }
        .login-error {
            color: #ff6b6b;
            font-size: var(--text-2sm);
            text-align: center;
            margin-top: 12px;
            min-height: 18px;
        }
        .login-close {
            position: absolute;
            top: 12px;
            right: 16px;
            font-size: var(--text-lg);
            color: var(--glass-30);
            cursor: pointer;
            line-height: 1;
        }
        .login-close:hover { color: var(--glass-70); }
        .logout-btn {
            margin-left: 6px;
            color: rgba(255,107,107,.7);
            font-weight: 400;
            font-size: var(--text-xs);
        }
        .logout-btn:hover { color: #ff6b6b; }

        /* ========== 响应式 ========== */
        @media (max-width: 600px) {
            .login-btn { top: 12px; right: 12px; padding: 6px 12px; font-size: var(--text-xs); }
            .login-modal { padding: var(--space-5) var(--space-6); min-width: 260px; }
            .login-modal h2 { font-size: var(--text-md); margin-bottom: 20px; }
            .time { font-size: 40px; }  /* 缩小时间字号 */
            .date-text { margin-bottom: 8px; font-size: var(--text-2sm); }  /* 日期紧凑 */
            .quote { font-size: var(--text-xs); padding: 16px 12px; }  /* 一言适配 */
            .hotbar-section { margin: 12px 0 0; padding: var(--space-3) var(--space-3); }  /* 热搜栏紧凑 */
            .hotbar-title { font-size: var(--text-xs); margin-bottom: 8px; }
            .hotbar-tabs { gap: 4px; margin-bottom: 8px; }
            .hotbar-tab { padding: var(--space-1) var(--space-2); font-size: var(--text-2xs); }
            .hotbar-list { grid-template-columns: repeat(2, 1fr); gap: 4px; }  /* 2 列 */
            .hotbar-item { padding: 4px 6px; font-size: var(--text-2xs); }

            .search-wrap { max-width: 100%; padding: var(--space-1); }  /* 搜索框全宽 */
            .search-engine-btn { padding: 6px 10px 6px 14px; font-size: var(--text-xs); }  /* 按钮缩小 */
            .search-input { padding: 8px 6px; font-size: var(--text-sm); }  /* 输入框适配 */
            .search-go { padding: 6px 16px; font-size: var(--text-xs); }  /* 按钮缩小 */
            .ad-banner { margin: 12px 0 12px; padding: var(--space-2) var(--space-3); }  /* 广告横幅紧凑 */
            .ad-banner a { font-size: var(--text-xs); }  /* 广告文字缩小 */
            .ad-banner .ad-icon { font-size: var(--text-sm); }  /* 广告图标缩小 */
            .ad-banner .ad-badge { font-size: var(--text-2xs); padding: var(--space-1) var(--space-1); }  /* 广告标签缩小 */
            .link-grid {
                grid-template-columns: repeat(4, 1fr);  /* 4 列网格 */
                gap: 6px;
            }
            .link-item { padding: 10px 4px; font-size: var(--text-2xs); }  /* 链接紧凑 */
            .link-item .icon { font-size: var(--text-md); }  /* 图标缩小 */
            .link-group-title { font-size: var(--text-xs); margin-bottom: 12px; }  /* 分组标题缩小 */
        }

        @media (max-width: 380px) {
            .time { font-size: 32px; }  /* 更小屏幕时间进一步缩小 */
            .link-grid { grid-template-columns: repeat(3, 1fr); }  /* 3 列网格 */
            .link-item { font-size: var(--text-2xs); padding: 8px 2px; }  /* 链接更紧凑 */
        }

        .main,
        .main ~ footer {
            position: relative;
            z-index: 3;
        }

        /* ========== 浮动翻译按钮 ========== */
        .translate-toggle {
            position: fixed;
            bottom: 24px;
            right: 24px;
            z-index: 999;
            width: 56px;
            height: 56px;
            border-radius: 16px;
            border: 1px solid var(--glass-15);
            background: oklch(0.14 0.025 280 / 0.7);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            color: var(--glass-85);
            cursor: pointer;
            box-shadow:
                0 8px 32px oklch(0 0 0 / 0.35),
                inset 0 1px 0 oklch(0.98 0.008 60 / 0.08);
            transition:
                transform .25s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow .25s cubic-bezier(0.16, 1, 0.3, 1),
                background .25s cubic-bezier(0.16, 1, 0.3, 1);
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .translate-toggle:hover {
            transform: scale(1.08);
            background: oklch(0.16 0.03 280 / 0.8);
            border-color: var(--glass-22);
            box-shadow:
                0 12px 40px oklch(0 0 0 / 0.4),
                0 0 20px oklch(0.7 0.15 280 / 0.15),
                inset 0 1px 0 oklch(0.98 0.008 60 / 0.12);
        }
        .translate-toggle:active {
            transform: scale(0.95);
        }
        .translate-toggle.active {
            transform: rotate(45deg) scale(0.92);
            background: oklch(0.7 0.15 20 / 0.2);
            border-color: oklch(0.7 0.15 20 / 0.3);
        }
        .translate-toggle .toggle-tooltip {
            position: absolute;
            right: calc(100% + 12px);
            top: 50%;
            transform: translateY(-50%);
            padding: 6px 12px;
            border-radius: 8px;
            background: oklch(0.12 0.02 280 / 0.9);
            backdrop-filter: blur(8px);
            border: 1px solid var(--glass-12);
            color: var(--glass-75);
            font-size: var(--text-xs);
            white-space: nowrap;
            opacity: 0;
            pointer-events: none;
            transition: opacity .2s;
        }
        .translate-toggle:hover .toggle-tooltip {
            opacity: 1;
        }
        .translate-toggle .toggle-icon {
            width: 24px;
            height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .translate-panel {
            position: fixed;
            bottom: 84px;
            right: 24px;
            z-index: 999;
            width: 380px;
            max-width: calc(100vw - 48px);
            background: oklch(0.12 0.025 270 / 0.95);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid var(--glass-15);
            border-radius: var(--radius-lg);
            padding: var(--space-4);
            box-shadow: 0 8px 32px var(--overlay-50);
            transform: translateY(20px);
            opacity: 0;
            visibility: hidden;
            transition: transform .3s, opacity .3s, visibility .3s;
        }
        .translate-panel.show {
            transform: translateY(0);
            opacity: 1;
            visibility: visible;
        }
        .translate-panel .panel-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 16px;
        }
        .translate-panel .panel-title {
            font-size: var(--text-sm);
            font-weight: 600;
            color: var(--text-primary);
        }
        .translate-panel .panel-close {
            background: none;
            border: none;
            color: var(--glass-55);
            font-size: var(--text-md);
            cursor: pointer;
            padding: var(--space-1);
            line-height: 1;
        }
        .translate-panel .panel-close:hover {
            color: var(--text-primary);
        }
        .translate-panel textarea {
            width: 100%;
            height: 80px;
            padding: var(--space-3);
            border-radius: var(--radius-sm);
            border: 1px solid var(--glass-15);
            background: var(--glass-10);
            color: var(--text-primary);
            font-size: var(--text-sm);
            resize: vertical;
            outline: 2px solid transparent;
            outline-offset: 2px;
            transition: outline-color .2s, border-color .2s;
            font-family: inherit;
        }
        .translate-panel textarea:focus {
            border-color: var(--accent-start);
            outline-color: var(--accent-start);
        }
        .translate-panel textarea::placeholder {
            color: var(--glass-40);
        }
        .translate-panel .lang-row {
            display: flex;
            align-items: center;
            gap: 6px;
            margin: 12px 0;
        }
        .translate-panel .lang-row select {
            flex: 1;
            min-width: 0;
            padding: var(--space-2) var(--space-2);
            border-radius: var(--radius-sm);
            border: 1px solid var(--glass-15);
            background: var(--glass-10);
            color: var(--text-primary);
            font-size: var(--text-2sm);
            outline: 2px solid transparent;
            outline-offset: 2px;
            cursor: pointer;
            transition: outline-color .2s;
            appearance: auto;
        }
        .translate-panel .lang-row select:focus {
            outline-color: var(--accent-start);
        }
        .translate-panel .lang-row select option {
            background: #1a1a2e;
            color: var(--text-primary);
            font-size: var(--text-xs);
        }
        .translate-panel .lang-swap {
            background: none;
            border: none;
            color: var(--glass-55);
            font-size: var(--text-sm);
            cursor: pointer;
            padding: var(--space-1) var(--space-1);
            flex-shrink: 0;
            transition: color .2s;
        }
        .translate-panel .lang-swap:hover {
            color: var(--accent-start);
        }
        .translate-btn {
            width: 100%;
            padding: var(--space-3);
            border: none;
            border-radius: var(--radius-sm);
            background: linear-gradient(135deg, var(--accent-start), var(--accent-end));
            color: var(--text-primary);
            font-size: var(--text-sm);
            font-weight: 600;
            cursor: pointer;
            transition: opacity .2s;
        }
        .translate-btn:hover {
            opacity: .85;
        }
        .translate-btn:disabled {
            opacity: .5;
            cursor: not-allowed;
        }
        .translate-result {
            margin-top: 12px;
            padding: var(--space-3);
            border-radius: var(--radius-sm);
            background: var(--glass-10);
            border: 1px solid var(--glass-15);
            display: none;
        }
        .translate-result.show {
            display: block;
        }
        .translate-result .result-text {
            font-size: var(--text-sm);
            color: var(--text-primary);
            line-height: 1.6;
            word-break: break-word;
        }
        .translate-result .result-pronounce {
            font-size: var(--text-xs);
            color: var(--glass-55);
            margin-top: 4px;
        }
        .translate-result .result-lang {
            font-size: var(--text-2xs);
            color: var(--glass-40);
            margin-top: 2px;
        }
        .translate-loading {
            text-align: center;
            color: var(--glass-55);
            font-size: var(--text-2sm);
            padding: var(--space-2);
            display: none;
        }
        .translate-loading.show {
            display: block;
        }
        .translate-error {
            color: var(--error);
            font-size: var(--text-2sm);
            margin-top: 8px;
            display: none;
        }
        .translate-error.show {
            display: block;
        }

        @media (max-width: 480px) {
            .translate-panel {
                right: 12px;
                bottom: 76px;
                width: calc(100vw - 24px);
                padding: var(--space-3);
            }
            .translate-panel .lang-row select {
                font-size: var(--text-xs);
            }
            .translate-toggle {
                bottom: 16px;
                right: 16px;
                width: 48px;
                height: 48px;
                border-radius: 14px;
            }
            .translate-toggle .toggle-icon {
                width: 20px;
                height: 20px;
            }
            .translate-toggle .toggle-tooltip {
                display: none;
            }
        }
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0,0,0,0);
            border: 0;
        }
        /* Focus 状态 */
