*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,PingFang SC,Microsoft Yahei,sans-serif;background:#0b1220;color:#f2f4f8}
.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(10,16,28,.85);backdrop-filter:saturate(150%) blur(8px);border-bottom:1px solid rgba(255,255,255,.06)}
.brand{font-weight:700;letter-spacing:.5px}
.nav-actions{display:flex;gap:12px}
.nav-link{color:#c7d2fe;text-decoration:none;padding:6px 10px;border-radius:6px}
.nav-link.is-active{background:rgba(100,116,255,.15)}
.container{padding:16px;max-width:980px;margin:0 auto}
.card{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px 16px;margin-bottom:14px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.hero{padding:18px 16px}
.hero h1{margin:0 0 6px 0;font-size:20px;color:#e5e7ff}
.muted{opacity:.9;font-size:12px;color:#cbd5ff}
.tip{margin:8px 0 0 0;color:#9ae6b4}
.grid.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.block h2{margin:0 0 8px 0;font-size:16px}
.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.tag-list li{background:rgba(99,102,241,.15);border:1px solid rgba(129,140,248,.3);padding:4px 8px;border-radius:999px;font-size:12px;color:#c7d2fe}
.time-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.time-list li{display:flex;justify-content:space-between;background:rgba(30,64,175,.12);border:1px solid rgba(59,130,246,.25);padding:8px 10px;border-radius:10px}
.app-footer{padding:20px 16px;text-align:center;opacity:.7}

/* calendar card from mini-program theme */
.calendar-card{background:linear-gradient(135deg,#8B5CF6,#7C3AED);padding:16px 16px 14px;border-radius:16px;color:#fff;margin:10px 0;box-shadow:0 8px 24px rgba(139,92,246,.25);border:1px solid rgba(255,255,255,.12)}
.calendar-card .top-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.calendar-card .date{font-size:28px;font-weight:700;line-height:1}
.digital-clock{display:flex;align-items:center;gap:6px}
.time-digit{font-size:22px;font-weight:700;background:rgba(255,255,255,.18);padding:4px 10px;border-radius:8px;min-width:40px;text-align:center}
.time-separator{opacity:.9;font-size:22px;font-weight:700}
.bottom-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.lunar{font-size:13px;opacity:.95}
.today-tip{font-size:12px;opacity:.9}
.yi-ji{margin:10px 0}
.yi,.ji{display:flex;margin:8px 0}
.label{font-size:14px;font-weight:700;margin-right:10px;opacity:.95;color:#fff}
.content{font-size:14px;opacity:.92;color:#fff}
.time-slots{display:flex;gap:10px;margin-top:10px}
.time-slots .slot{flex:1;background:rgba(255,255,255,.18);padding:6px;border-radius:10px;text-align:center}
.time-slots .slot .t{font-size:14px;opacity:.95;font-weight:600;}
.time-slots .slot .a{font-size:12px;opacity:.85;white-space:nowrap}

/* function cards */
.function-grid{padding:12px 0}
.grid-row{display:flex;gap:12px;margin-bottom:12px}
.function-card{flex:1;background:#fff;border-radius:16px;padding:14px;display:flex;align-items:center;box-shadow:0 2px 10px rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.04)}
.icon-wrapper{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:14px}
.icon{width:28px;height:28px}
.text-wrapper .title{font-size:16px;color:#333;font-weight:600;margin-bottom:4px}
.text-wrapper .desc{font-size:12px;color:#999;line-height:1.4}
.icon-text{display:inline-block;color:#fff;font-weight:700;font-size:16px;letter-spacing:.5px}
.icon-wrapper{color:#fff}

/* 首页登录提示与按钮 */
.login-section{background:#fff;border:1px solid #eee;border-radius:14px;padding:16px;margin:12px 0 16px;text-align:center}
.login-tip{color:#6b7280;margin-bottom:10px}
.login-btn{background:#8B5CF6;color:#fff;border:none;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer;width:100%;max-width:320px}
.login-btn:hover{filter:brightness(1.05)}

/* 首页广告卡片间距与高度控制 */
.ad-container{overflow:hidden;margin-top:12px;position:relative;text-align:center}
.ad-card{margin:0;display:flex;justify-content:center;align-items:center}
.ad-card .adsbygoogle{min-height:80px}
/* 移动端适配：固定尺寸广告在小屏幕上自适应，限制最大高度 */
@media(max-width:768px){
	.ad-container{max-height:60px;overflow:hidden}
	.ad-card{max-height:60px;overflow:hidden}
	.ad-card .adsbygoogle{max-width:100%;max-height:60px;height:auto;display:block;object-fit:contain}
	/* 星座页广告同样限制 */
	.star-page .ad-container{max-height:60px;overflow:hidden}
	.star-page .ad-card{max-height:60px;overflow:hidden}
	.star-page .ad-card .adsbygoogle{max-width:100%;max-height:60px;height:auto;display:block;object-fit:contain}
	/* 星座页广告高度限制：使用动态计算，参考page-head高度 */
	.star-page .ad-container{overflow:hidden;position:relative}
}

/* 表单错误态 */
input.error,.input.error,.date-input.error{border:1px solid #ef4444 !important; outline:none}

@media(min-width:768px){
	.hero h1{font-size:24px}
	.grid.two-cols{grid-template-columns:1fr 1fr}
	.card{padding:18px 20px;margin-bottom:16px}
	.calendar-card{padding:18px 20px}
	.calendar-card .date{font-size:32px}
	.time-digit,.time-separator{font-size:24px}
	.icon-text{font-size:18px}
}

/* 简化顶部导航 */
.app-header-simple{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(10,16,28,.85);backdrop-filter:saturate(150%) blur(8px);border-bottom:1px solid rgba(255,255,255,.06)}
.app-header-simple .brand{font-weight:700;letter-spacing:.5px;color:#f2f4f8;flex-shrink:0}
.header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}
.header-user-icon{color:#c7d2fe;text-decoration:none;padding:6px;border-radius:8px;transition:background .2s}
.header-user-icon:hover{background:rgba(100,116,255,.15)}

/* 今天首屏卡片 */
.today-hero-card{background:linear-gradient(135deg,#8B5CF6,#7C3AED);padding:16px 18px;border-radius:16px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px rgba(139,92,246,.25);border:1px solid rgba(255,255,255,.12)}
@media(max-width:480px){
	.today-hero-card{margin-top:8px}
}
.today-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.today-date-group{flex:1}
.today-date-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.today-date{font-size:28px;font-weight:700;line-height:1.2}
.today-weekday{font-size:14px;opacity:.9;font-weight:500}
.today-lunar{font-size:13px;opacity:.85}
.today-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
@media(max-width:480px){
	.today-header{flex-direction:column;gap:10px}
	.today-header-right{align-items:flex-start}
	.today-date{font-size:24px}
	.today-color-section{gap:6px;padding:8px 10px;flex-wrap:nowrap}
	.today-summary{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}
}
.today-color-section{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;background:rgba(255,255,255,.12);border-radius:12px;flex-wrap:nowrap;overflow:hidden}
.color-label{font-size:12px;opacity:.85;flex-shrink:0}
.color-dot{width:24px;height:24px;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2);border:2px solid rgba(255,255,255,.3);flex-shrink:0}
.color-name{font-size:14px;font-weight:600;flex-shrink:0}
.color-separator{font-size:14px;opacity:.5;margin:0 4px;flex-shrink:0}
.today-summary{font-size:14px;line-height:1.5;opacity:.95;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.today-actions{display:flex;flex-wrap:wrap;gap:10px}
.action-btn{flex:1;min-width:140px;padding:6px 16px;border-radius:10px;text-align:center;text-decoration:none;font-weight:600;font-size:14px;transition:all .2s}
@media(min-width:768px){
	.today-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
	.action-btn{min-width:auto}
}
@media(max-width:480px){
	.today-actions{display:flex;flex-direction:column;gap:10px}
	.action-btn{width:100%;min-width:auto}
}
.action-btn.primary{background:rgba(255,255,255,.25);color:#fff;border:1px solid rgba(255,255,255,.3)}
.action-btn.primary:hover{background:rgba(255,255,255,.35)}
.action-btn.secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.action-btn.secondary:hover{background:rgba(255,255,255,.1)}

/* 星座网格区域 */
.zodiac-grid-section{margin-bottom:20px}
.section-header{margin-bottom:14px;user-select:none}
.section-title{font-size:20px;font-weight:700;color:#f2f4f8;margin:0 0 6px 0;display:flex;align-items:center;gap:8px}
.collapse-icon{font-size:14px;opacity:.7;transition:transform .2s}
.section-subtitle{font-size:13px;color:#d1d5ff;margin:0}
.zodiac-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.zodiac-item-card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 10px;text-align:center;cursor:pointer;transition:all .2s;text-decoration:none;display:block;color:#f2f4f8}
.zodiac-item-card:hover{transform:translateY(-2px);background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06));box-shadow:0 4px 12px rgba(139,92,246,.2)}
.zodiac-icon{font-size:28px;margin-bottom:6px;display:block}
.zodiac-name{font-size:13px;font-weight:600;margin-bottom:4px;display:block}
.zodiac-tip{font-size:11px;opacity:.75;line-height:1.3;margin-bottom:6px;display:block;min-height:28px}
.zodiac-color-dot{width:20px;height:20px;border-radius:50%;margin:0 auto;border:1px solid rgba(255,255,255,.2);display:block}

/* 功能卡片（功德/商城/算卦） */
.feature-card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .2s;text-decoration:none;color:#f2f4f8}
.feature-card:hover{transform:translateY(-2px);background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06));box-shadow:0 6px 20px rgba(0,0,0,.3)}
/* 功能卡片容器：手机版一排一个，桌面版2*2 */
.feature-cards-container{display:flex;flex-direction:column;gap:14px;margin-bottom:14px}
@media(min-width:768px){
	.feature-cards-container{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
}
.feature-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.feature-icon .icon-text{color:#fff;font-weight:700;font-size:20px;letter-spacing:.5px}
.feature-content{flex:1;min-width:0}
.feature-title{font-size:16px;font-weight:600;margin:0 0 6px 0;color:#f2f4f8}
.feature-desc{font-size:13px;opacity:.95;margin:0 0 8px 0;line-height:1.5;color:#e5e7ff}
.feature-badge{display:inline-block;font-size:12px;padding:4px 10px;background:rgba(139,92,246,.2);border:1px solid rgba(139,92,246,.3);border-radius:12px;color:#c7d2fe}
.feature-arrow{font-size:24px;color:#9ca3af;opacity:.6;flex-shrink:0}
.mall-preview{display:flex;gap:6px;flex-wrap:wrap}
.mall-tag{font-size:11px;padding:3px 8px;background:rgba(255,107,107,.15);border:1px solid rgba(255,107,107,.3);border-radius:8px;color:#ffb3b3}
.ask-status{font-size:12px;color:#9ae6b4;opacity:.9}

/* 底部Tab导航 */
.bottom-tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:rgba(10,16,28,.95);backdrop-filter:saturate(150%) blur(8px);border-top:1px solid rgba(255,255,255,.1);z-index:100;padding-bottom:env(safe-area-inset-bottom)}
.bottom-tabs .tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 4px;text-decoration:none;color:#9ca3af;transition:all .2s;position:relative;min-width:0}
.bottom-tabs .tab-item.active{color:#8B5CF6}
.bottom-tabs .tab-item.active .tab-icon{transform:scale(1.1)}
.bottom-tabs .tab-icon{font-size:20px;margin-bottom:2px;transition:transform .2s}
.bottom-tabs .tab-label{font-size:10px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bottom-tabs .tab-user-info{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px;font-size:12px;color:#8B5CF6;padding:6px 12px;background:rgba(139,92,246,.15);border:1px solid rgba(139,92,246,.3);border-radius:12px}
.bottom-tabs .tab-user-greeting{opacity:.8}
.bottom-tabs .tab-user-name{font-weight:600}
.container{padding-bottom:80px}

/* 移动端优化 */
@media(max-width:480px){
	.today-date{font-size:28px}
	.zodiac-grid{grid-template-columns:repeat(3,1fr);gap:8px}
	.zodiac-item-card{padding:12px 8px}
	.zodiac-icon{font-size:24px}
	.zodiac-name{font-size:12px}
	.zodiac-tip{font-size:10px;min-height:24px}
	.action-btn{min-width:120px;font-size:13px;padding:10px 14px}
}

/* 桌面端顶部导航栏 */
.top-nav-bar{display:none}
@media(min-width:768px){
	.today-hero-card{padding:24px 22px}
	.today-date{font-size:36px}
	.zodiac-grid{grid-template-columns:repeat(4,1fr);gap:14px}
	.feature-card{padding:18px}
	.container{padding-bottom:20px}
	/* 桌面端：隐藏底部导航，导航栏合并到header内 */
	.bottom-tabs{display:none}
	.top-nav-bar{display:flex;align-items:center;gap:20px;flex:1;justify-content:flex-end;padding:0;background:transparent;border:none;box-shadow:none;position:static;margin:0}
	.top-nav-bar .tab-item{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;text-decoration:none;color:#9ca3af;transition:all .2s;font-size:14px;font-weight:500}
	.top-nav-bar .tab-item:hover{background:rgba(100,116,255,.15);color:#c7d2fe}
	.top-nav-bar .tab-item.active{color:#8B5CF6;background:rgba(100,116,255,.15)}
	.top-nav-bar .tab-icon{font-size:18px}
	.top-nav-bar .tab-label{font-size:14px}
	.header-right .tab-user-info{display:flex;align-items:center;gap:4px;font-size:12px;color:#8B5CF6;padding:6px 12px;background:rgba(139,92,246,.15);border:1px solid rgba(139,92,246,.3);border-radius:12px}
} 