/* =============================================
   theme-p3.css — Persona 3 风格（蓝/白/黑，冷峻，简约）
   ============================================= */

[data-theme="p3"] {
    /* ---- 色彩 ---- */
    --bg-primary: #f0f8ff;
    --bg-gradient: linear-gradient(160deg, #e8f4fd 0%, #f5faff 30%, #e0f0fe 60%, #f0f8ff 100%);
    --text-primary: #1a1a2e;
    --text-secondary: rgba(26, 26, 46, 0.6);
    --accent: #0050d2;
    --accent-hover: #0066ff;
    --accent-glow: rgba(0, 80, 210, 0.15);

    /* ---- 表面 ---- */
    --surface: rgba(255, 255, 255, 0.6);
    --surface-hover: rgba(255, 255, 255, 0.9);
    --card-bg: rgba(255, 255, 255, 0.7);
    --card-border: 1px solid rgba(0, 80, 210, 0.15);
    --nav-bg: rgba(255, 255, 255, 0.75);
    --footer-bg: rgba(255, 255, 255, 0.8);
    --video-bg: rgba(255, 255, 255, 0.6);

    /* ---- 装饰 ---- */
    --ui-skew: 0deg;
    --button-shadow: 0 4px 14px rgba(0, 80, 210, 0.2);
    --button-shadow-x: 0;
    --button-shadow-y: 4px;
    --button-shadow-color: rgba(0, 80, 210, 0.2);
    --hero-text-shadow: none;
    --border-style: 1px solid #1a1a2e;

    /* ---- 字体 ---- */
    --font-family: 'Noto Sans CJK SC', sans-serif;
}

/* ========== P3 百叶窗扫光（英雄标题）- 倾斜宽百叶 ========== */
@keyframes p3-blinds-sweep {
    0%, 20% {
        -webkit-mask-position: 100% 0;
        mask-position: 100% 0;
    }
    80%, 100% {
        -webkit-mask-position: 0% 0;
        mask-position: 0% 0;
    }
}

[data-theme="p3"] .hero-title {
    -webkit-mask-image: linear-gradient(
        96deg,
        black 0%, black calc(50% - 96px),
        transparent calc(50% - 96px), transparent calc(50% - 60px),
        black calc(50% - 60px), black calc(50% - 32px),
        transparent calc(50% - 32px), transparent calc(50% + 4px),
        black calc(50% + 4px), black calc(50% + 32px),
        transparent calc(50% + 32px), transparent calc(50% + 68px),
        black calc(50% + 68px), black calc(50% + 96px),
        black 100%
    );
    -webkit-mask-size: 300% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-image: linear-gradient(
        96deg,
        black 0%, black calc(50% - 96px),
        transparent calc(50% - 96px), transparent calc(50% - 60px),
        black calc(50% - 60px), black calc(50% - 32px),
        transparent calc(50% - 32px), transparent calc(50% + 4px),
        black calc(50% + 4px), black calc(50% + 32px),
        transparent calc(50% + 32px), transparent calc(50% + 68px),
        black calc(50% + 68px), black calc(50% + 96px),
        black 100%
    );
    mask-size: 300% 100%;
    mask-repeat: no-repeat;
    animation: p3-blinds-sweep 5s ease-in-out infinite;
}

/* ---- 背景装饰 ---- */
[data-theme="p3"] .bg-decor {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
    background:
        radial-gradient(ellipse 900px 600px at 25% 20%, rgba(0, 80, 210, 0.06) 0%, transparent 55%),
        radial-gradient(ellipse 700px 800px at 75% 70%, rgba(0, 80, 210, 0.04) 0%, transparent 50%),
        radial-gradient(ellipse 500px 500px at 50% 50%, rgba(100, 180, 255, 0.04) 0%, transparent 60%);
    animation: p3-ambient 12s ease-in-out infinite;
}

@keyframes p3-ambient {
    0%, 100% { filter: brightness(1); }
    50% { filter: brightness(1.06); }
}

/* 细微水平线纹理 */
[data-theme="p3"] .bg-decor::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        repeating-linear-gradient(0deg,
            transparent, transparent 4px,
            rgba(0, 80, 210, 0.015) 4px, rgba(0, 80, 210, 0.015) 5px);
}

/* ---- P3 标题下划线 ---- */
[data-theme="p3"] .section-title::after {
    height: 2px;
    background: linear-gradient(90deg, var(--accent), transparent);
    width: 80px;
}

/* ---- P3 Hero 装饰 ---- */
[data-theme="p3"] .hero-decor {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(0, 80, 210, 0.03) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
    animation: p3-hero-pulse 8s ease-in-out infinite alternate;
}

@keyframes p3-hero-pulse {
    from { transform: translate(-50%, -50%) scale(1); opacity: 0.6; }
    to { transform: translate(-50%, -50%) scale(1.15); opacity: 1; }
}

/* ---- P3 导航链接样式 ---- */
[data-theme="p3"] .nav-link {
    border-radius: 4px;
}

[data-theme="p3"] .nav-link:hover {
    background: rgba(0, 80, 210, 0.06);
    border-color: rgba(0, 80, 210, 0.2);
}

/* ---- P3 卡片的圆角和微妙阴影 ---- */
[data-theme="p3"] .stat-card,
[data-theme="p3"] .skill-card,
[data-theme="p3"] .video-showcase {
    border-radius: 12px;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.04);
}

[data-theme="p3"] .stat-card:hover,
[data-theme="p3"] .skill-card:hover {
    box-shadow: 0 8px 32px rgba(0, 80, 210, 0.1);
}

/* ---- P3 Brand/Logo 圆角 ---- */
[data-theme="p3"] .brand-logo {
    border-radius: 4px;
    color: #fff;
}

/* ---- P3 按钮风格 ---- */
[data-theme="p3"] .btn-primary {
    border-radius: 6px;
}

[data-theme="p3"] .btn-secondary {
    border-radius: 6px;
}

/* ---- P3 主题切换按钮 ---- */
[data-theme="p3"] .theme-toggle-btn {
    border-radius: 6px;
}

/* ---- P3 Contact 链接 ---- */
[data-theme="p3"] .contact-link {
    border-radius: 8px;
}

/* ---- P3 滚动条 ---- */
[data-theme="p3"]::-webkit-scrollbar {
    width: 6px;
}

[data-theme="p3"]::-webkit-scrollbar-track {
    background: #f0f8ff;
}

[data-theme="p3"]::-webkit-scrollbar-thumb {
    background: #0050d2;
    border-radius: 3px;
}

/* ---- P3 选中文本 ---- */
[data-theme="p3"] ::selection {
    background: rgba(0, 80, 210, 0.2);
    color: #1a1a2e;
}

/* ---- P3 页眉底部边框 ---- */
[data-theme="p3"] .header {
    border-bottom: 1px solid rgba(0, 80, 210, 0.08);
}

/* ---- P3 video showcase subtle style ---- */
[data-theme="p3"] .video-item {
    border: 1px solid rgba(0, 80, 210, 0.1);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

[data-theme="p3"] .nav-prev,
[data-theme="p3"] .nav-next {
    box-shadow: 0 4px 12px rgba(0, 80, 210, 0.15);
}

/* ---- P3 footer ---- */
[data-theme="p3"] .footer {
    border-top: 1px solid rgba(0, 80, 210, 0.06);
}
