/* ========== 模板4：星河入梦（原创 · 深靛夜空 + 星河流动） ========== */

* { margin:0; padding:0; box-sizing:border-box; }

body.tpl-galaxy {
    --g-deep:#070b1f; --g-blue:#141a45; --g-purple:#3a2f7a; --g-light:#eaf0ff;
    --g-accent:#8a7bff; --g-gold:#ffd98a;
    font-family: 'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;
    min-height:100vh; overflow-x:hidden; color:var(--g-light);
    background:radial-gradient(130% 100% at 50% -10%, #1b2152 0%, var(--g-deep) 62%);
}

body.tpl-galaxy .tpl-scanlines,
body.tpl-galaxy .tpl-stars,
body.tpl-galaxy .tpl-vignette,
body.tpl-galaxy .bg-overlay { display:none; }

/* 星河：纯 CSS 星点 + 缓慢漂移，签名动效一 */
body.tpl-galaxy .bg-container { position:fixed; inset:0; z-index:-2; overflow:hidden; display:block; }
body.tpl-galaxy .bg-image {
    position:absolute; inset:-60%;
    background-image:
        radial-gradient(1.5px 1.5px at 25px 35px,  rgba(255,255,255,.9),  transparent),
        radial-gradient(1px 1px   at 90px 110px, rgba(255,255,255,.7),  transparent),
        radial-gradient(1.5px 1.5px at 150px 60px, rgba(200,220,255,.8), transparent),
        radial-gradient(1px 1px   at 200px 180px, rgba(255,255,255,.6),  transparent),
        radial-gradient(2px 2px   at 60px 200px, rgba(255,217,138,.7),  transparent),
        radial-gradient(1px 1px   at 130px 230px, rgba(255,255,255,.5),  transparent),
        radial-gradient(1.5px 1.5px at 210px 80px, rgba(255,255,255,.65), transparent),
        radial-gradient(1px 1px   at 40px 150px, rgba(180,200,255,.55), transparent);
    background-repeat:repeat;
    background-size:260px 260px;
    animation:ghStarDrift 70s linear infinite;
}
@keyframes ghStarDrift { from{transform:translate(0,0)} to{transform:translate(-260px,-260px)} }

/* 银河柔光带 */
body.tpl-galaxy .bg-image::before {
    content:''; position:absolute; inset:0;
    background:
        radial-gradient(60% 26% at 30% 22%, rgba(138,123,255,0.16), transparent 70%),
        radial-gradient(50% 22% at 72% 70%, rgba(255,217,138,0.10), transparent 70%);
    filter:blur(6px);
}

/* 流星，签名动效二 */
body.tpl-galaxy .bg-image::after {
    content:''; position:absolute; top:18%; left:-12%;
    width:130px; height:2px; border-radius:2px; opacity:0;
    background:linear-gradient(90deg, transparent, #ffffff, transparent);
    box-shadow:0 0 8px rgba(255,255,255,0.8);
    animation:ghShoot 11s ease-in infinite;
}
@keyframes ghShoot {
    0%   { transform:translate(0,0) rotate(20deg); opacity:0; }
    4%   { opacity:.95; }
    13%  { transform:translate(70vw,34vh) rotate(20deg); opacity:0; }
    100% { opacity:0; }
}

body.tpl-galaxy .avatar-deco-1 {
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:124px; height:124px; border-radius:50%;
    border:1px solid rgba(138,123,255,0.5);
    box-shadow:0 0 24px rgba(138,123,255,0.35), inset 0 0 18px rgba(138,123,255,0.15);
    animation:ghHalo 5s ease-in-out infinite;
}
@keyframes ghHalo { 0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.5} 50%{transform:translate(-50%,-50%) scale(1.06);opacity:.85} }
body.tpl-galaxy .avatar-deco-2 {
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) rotate(0deg);
    width:144px; height:144px; border-radius:50%;
    border:1px dashed rgba(255,217,138,0.35);
    animation:ghSpin 16s linear infinite;
}
@keyframes ghSpin { to{transform:translate(-50%,-50%) rotate(360deg)} }

body.tpl-galaxy .main-container { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:20px; position:relative; z-index:1; }
body.tpl-galaxy .avatar-section { text-align:center; margin-bottom:25px; }
body.tpl-galaxy .avatar-wrapper { position:relative; display:inline-block; margin-bottom:15px; }
body.tpl-galaxy .avatar {
    width:100px; height:100px; border-radius:50%; position:relative; z-index:2;
    object-fit:cover;
    border:3px solid rgba(234,240,255,0.35);
    box-shadow:0 0 30px rgba(138,123,255,0.45), 0 0 60px rgba(138,123,255,0.12);
}
body.tpl-galaxy .nickname {
    font-size:2.8rem; font-weight:300; margin-bottom:5px; letter-spacing:8px;
    background:linear-gradient(180deg,#ffffff 0%,#b9b0ff 55%,#ffd98a 100%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
body.tpl-galaxy .nickname-divider { display:none; }
body.tpl-galaxy .subtitle { font-size:0.95rem; color:rgba(234,240,255,0.62); letter-spacing:6px; margin-top:5px; }

body.tpl-galaxy .clock-section {
    text-align:center; margin:20px 0; padding:28px 42px;
    background:rgba(20,26,69,0.45); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(138,123,255,0.3); border-radius:22px;
    box-shadow:0 8px 40px rgba(0,0,0,0.4), inset 0 0 30px rgba(138,123,255,0.06);
}
body.tpl-galaxy .clock { font-size:3.5rem; font-weight:200; letter-spacing:12px; color:var(--g-light); font-family:'Georgia',serif; }
body.tpl-galaxy .date { font-size:0.9rem; color:rgba(255,217,138,0.7); margin-top:5px; letter-spacing:2px; }

body.tpl-galaxy .nav-section { width:100%; max-width:800px; margin:20px 0; }
body.tpl-galaxy .nav-buttons { display:flex; flex-wrap:wrap; justify-content:center; gap:15px; }
body.tpl-galaxy .nav-btn {
    display:flex; align-items:center; gap:10px; padding:14px 30px;
    background:rgba(20,26,69,0.45); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    border:1px solid rgba(138,123,255,0.3); border-radius:50px;
    color:var(--g-light); text-decoration:none; font-size:0.95rem;
    transition:all 0.4s; position:relative; overflow:hidden;
}
body.tpl-galaxy .nav-btn::after {
    content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,217,138,0.18),transparent);
    transition:left 0.6s;
}
body.tpl-galaxy .nav-btn:hover::after { left:100%; }
body.tpl-galaxy .nav-btn:hover {
    transform:translateY(-3px); border-color:var(--g-gold);
    box-shadow:0 10px 40px rgba(138,123,255,0.3), 0 0 70px rgba(138,123,255,0.1);
}

body.tpl-galaxy .contact-section { margin:20px 0; }
body.tpl-galaxy .contact-list { display:flex; gap:15px; justify-content:center; }
body.tpl-galaxy .contact-item {
    width:48px; height:48px; display:flex; align-items:center; justify-content:center;
    background:rgba(20,26,69,0.45); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    border:1px solid rgba(138,123,255,0.3); border-radius:50%;
    color:rgba(234,240,255,0.75); font-size:1.2rem; text-decoration:none;
    transition:all 0.4s;
}
body.tpl-galaxy .contact-item:hover {
    background:rgba(138,123,255,0.28); border-color:var(--g-gold); color:var(--g-gold);
    transform:translateY(-5px); box-shadow:0 10px 30px rgba(138,123,255,0.4);
}

body.tpl-galaxy .footer { text-align:center; margin-top:30px; padding:20px; font-size:0.85rem; color:rgba(234,240,255,0.4); line-height:2; }
body.tpl-galaxy .icp { margin-top:5px; }
body.tpl-galaxy .icp a { color:inherit; text-decoration:none; transition:color 0.3s; }
body.tpl-galaxy .icp a:hover { color:inherit; text-decoration:underline; }

body.tpl-galaxy #particles { display:none; }

@media(max-width:768px){
    body.tpl-galaxy .nickname{font-size:2.2rem;letter-spacing:4px}
    body.tpl-galaxy .clock{font-size:2.5rem;letter-spacing:6px}
}
@media(max-width:480px){
    body.tpl-galaxy .clock{font-size:2rem}
    body.tpl-galaxy .nav-btn{padding:8px 16px;font-size:0.8rem}
}

/* cta-tip 跟随本套页脚文字色（与更美是我的职责·反馈·备案号统一） */
body.tpl-galaxy .open-cta .cta-tip { color: rgba(234,240,255,0.4); }
