@charset "utf-8";
/* ==================================================
   咕咕咕 · 个人展示页 —— 重构版样式
   标准 CSS 颜色写法 / 桌面 + 手机响应式
   ================================================== */

:root{
	--c-primary:#1E9FFF;        /* 主题蓝（导航/页脚） */
	--c-primary-deep:#008AF0;   /* 深一档的蓝（hover） */
	--c-accent:#009688;         /* 面包屑左侧绿条 */
	--c-text:#333;
	--c-text-sub:#666;
	--c-card:#fff;
	--c-line:#eee;
	--c-bg-fallback:#2b3a67;    /* 背景图未加载时的兜底深蓝 */
	--radius:8px;
	--shadow:0 2px 12px rgba(0,0,0,.10);
	--nav-h:60px;
	--font:"Microsoft JhengHei","Hiragino Sans GB","Microsoft YaHei","PingFang SC",STXihei,SimSun,Sans-Serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
	font-family:var(--font);
	font-size:14px;
	color:var(--c-text);
	/* 背景图为标准 baseline JPEG；桌面端固定视口，手机端跟随滚动（iOS 不支持 fixed） */
	background:var(--c-bg-fallback) url("../../images/bg.jpg") no-repeat center center;
	background-size:cover;
	min-height:100vh;
	display:flex;              /* 弹性列布局：内容不足一屏时页脚也贴底 */
	flex-direction:column;
}
a{color:var(--c-text-sub);text-decoration:none;transition:color .2s}
a:hover{color:var(--c-primary-deep)}
img{max-width:100%}

/* ---------------- 顶部导航 ---------------- */
.site-nav{
	position:sticky;top:0;z-index:900;
	background:var(--c-primary);            /* 始终实色蓝，不再透明 */
	box-shadow:0 1px 6px rgba(0,0,0,.18);
}
.nav-inner{
	max-width:1200px;margin:0 auto;
	height:var(--nav-h);
	display:flex;align-items:center;
	padding:0 16px;gap:8px;
}
.brand{
	display:flex;align-items:center;gap:10px;
	color:#fff;font-size:20px;font-weight:700;letter-spacing:1px;
}
.brand:hover{color:#fff}
.brand img{height:38px;width:auto;display:block}

.nav-links{margin-left:auto;display:flex;height:100%}
.nav-links a{
	display:flex;align-items:center;height:100%;
	padding:0 22px;font-size:14px;
	color:rgba(255,255,255,.82);
	transition:background .2s,color .2s;
}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.12)}
.nav-links a.active{color:#fff;background:rgba(255,255,255,.18)}

/* ---------------- 页面容器 ---------------- */
.page{
	flex:1;                    /* 撑满剩余高度，把页脚推到屏幕底部 */
	width:100%;
	max-width:1200px;margin:0 auto;
	padding:20px 16px 24px;
}

/* ---------------- 提示条（面包屑） ---------------- */
.tip-bar{
	background:var(--c-card);
	border-left:4px solid var(--c-accent);
	border-radius:0 var(--radius) var(--radius) 0;
	box-shadow:var(--shadow);
	padding:12px 16px;line-height:22px;
	margin-bottom:12px;text-align:center;
	color:var(--c-text-sub);
}
.tip-bar a{color:var(--c-accent)}
.tip-bar a:hover{color:var(--c-primary-deep)}

/* ---------------- 卡片 ---------------- */
.card{
	background:var(--c-card);
	border-radius:var(--radius);
	box-shadow:var(--shadow);
	margin-bottom:15px;
	overflow:hidden;
}
.card-hd{
	height:42px;line-height:42px;
	padding:0 15px;
	font-size:15px;font-weight:700;color:var(--c-text);
	border-bottom:1px solid var(--c-line);
}
.card-bd{padding:12px 16px;line-height:2;color:var(--c-text)}

/* ---------------- other 页三栏布局 ---------------- */
.columns{
	display:grid;
	grid-template-columns:250px minmax(0,1fr) 250px;
	gap:15px;
	align-items:start;
}
.columns .col{min-width:0}

/* ---------------- 头像相关 ---------------- */
.spin-hover{transition:transform 1.6s ease}
.spin-hover:hover{transform:rotate(360deg)}

.avatar-sm{
	width:56px;height:56px;
	border-radius:50%;object-fit:cover;
	border:3px solid #fff;
}
.profile-mini-bg{
	height:64px;
	background:url("../../images/head-bg.jpg") no-repeat center center;
	background-size:cover;
}
.profile-mini-info{display:flex;align-items:center;gap:10px;padding:10px 14px}
.profile-mini-info .avatar-sm{margin-top:-30px}
.profile-name{font-size:17px;font-weight:700}

.profile-hero{
	padding:20px 15px 12px;
	text-align:center;
	background:url("../../images/head-bg.jpg") no-repeat center center;
	background-size:cover;
}
.avatar-lg{
	width:88px;height:88px;
	border-radius:50%;object-fit:cover;
	border:4px solid #fff;
}
.profile-hero h2{
	margin-top:8px;font-size:18px;color:#000;
	text-shadow:0 1px 3px rgba(255,255,255,.65);
}

/* ---------------- 联系方式列表 ---------------- */
.contact-list{list-style:none}
.contact-list li{
	display:flex;align-items:center;gap:8px;
	padding:6px 0;font-size:13px;color:var(--c-text-sub);
	word-break:break-all;
}
.contact-list img{width:16px;height:16px;flex:none}

/* ---------------- 音乐 ---------------- */
.audio-box audio{width:100%;outline:none}

/* ---------------- 首页 hero ---------------- */
.hero{
	flex:1;                    /* 撑满导航与页脚之间的空间 */
	display:flex;flex-direction:column;
	align-items:center;justify-content:center;
	gap:34px;padding:30px 16px;
}
.hero-avatar{
	width:150px;height:150px;
	border-radius:50%;object-fit:cover;
	border:5px solid #fff;
	box-shadow:0 4px 18px rgba(0,0,0,.25);
	animation:hero-spin 8s linear infinite;
}
@keyframes hero-spin{
	from{transform:rotate(0deg)}
	to{transform:rotate(360deg)}
}
.hero-quote{
	max-width:82%;
	background:rgba(0,0,0,.5);
	color:#EAEADF;
	border-radius:50px;
	padding:14px 28px;
	font-size:14px;line-height:1.8;letter-spacing:1px;
	text-align:center;
}

/* ---------------- 404 ---------------- */
.lost-page{text-align:center;padding:50px 20px}
.lost-page h1{font-size:60px;line-height:1.2;color:var(--c-primary)}
.lost-page p{margin-top:10px;color:var(--c-text-sub)}
.btn-home{
	display:inline-block;margin-top:12px;
	padding:8px 24px;border-radius:50px;
	background:var(--c-primary);color:#fff;font-size:14px;
	transition:background .2s;
}
.btn-home:hover{background:var(--c-primary-deep);color:#fff}

/* ---------------- 页脚 ---------------- */
.site-footer{
	background:var(--c-primary);
	color:#fff;
	text-align:center;
	font-size:12px;line-height:40px;letter-spacing:1px;
}
.site-footer a{color:#fff}
.site-footer a:hover{color:#ffe08a;text-decoration:underline}
.site-footer .sep{margin:0 10px;opacity:.7}

/* ---------------- 雪花画布 ----------------
   全程透明背景，只画雪花本身；
   pointer-events:none 保证不挡任何点击 */
#snow{
	position:fixed;top:0;left:0;
	width:100%;height:100%;
	pointer-events:none;
	z-index:950;
}

/* ==================================================
   响应式适配
   ================================================== */

/* 中屏：三栏变两栏（侧栏并入） */
@media (max-width:1100px){
	.columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
	.columns .col:nth-child(3){grid-column:1 / -1}
}

/* 手机：单列 + 导航收紧 + 页脚随内容 */
@media (max-width:720px){
	.nav-inner{padding:0 10px;gap:4px}
	.brand{font-size:17px;gap:6px}
	.brand img{height:32px}
	.nav-links a{padding:0 12px;font-size:13px}

	.columns{grid-template-columns:1fr}

	.hero{gap:24px}
	.hero-avatar{width:120px;height:120px}
	.hero-quote{max-width:94%;border-radius:20px}

	.site-footer{line-height:1.8;padding:8px 10px}
	.site-footer .sep{display:none}
	.site-footer span{display:inline-block;margin:0 4px}
}

/* 尊重系统「减弱动态效果」设置 */
@media (prefers-reduced-motion:reduce){
	.hero-avatar{animation:none}
	.spin-hover{transition:none}
	.spin-hover:hover{transform:none}
}
