*{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}
.muted{opacity:.75;font-size:12px}
.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-card{margin-top:12px}
.ad-card .adsbygoogle{min-height:80px}

/* 表单错误态 */
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}
} 