/* s48hl - 1280px Editorial Dashboard, teal + warm accent */
fss,acronym,time,sdu,tcenter,stysle,ssmall,areass,abbr,sadw,dfn,noscripta,ecode,is,font,tyyt,sup{display:none!important;width:0!important;height:0!important;overflow:hidden!important;line-height:0!important;font-size:0!important;margin:0!important;padding:0!important;border:0!important}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:17px;-webkit-text-size-adjust:100%}
body{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;background:#eef1f5;color:#2d3436;line-height:1.85}
a{text-decoration:none;color:inherit}

/* === Layout === */
.s48{max-width:1280px;margin:0 auto;padding:0 0 40px}

/* === Header === */
.s48-masthead{background:linear-gradient(135deg,#004d40 0%,#00897b 60%,#26a69a 100%);color:#fff;padding:28px 32px;display:flex;align-items:center;justify-content:space-between}
.s48-masthead h1{font-size:1.7rem;font-weight:800;letter-spacing:3px}
.s48-masthead p{font-size:.88rem;color:rgba(255,255,255,.7)}
.s48-rule{border:0;height:0;margin:0}

/* === Two-Column Grid === */
.s48-grid{display:grid;grid-template-columns:1fr 420px;gap:20px;padding:20px 24px 0}
.s48-main{display:flex;flex-direction:column;gap:20px}
.s48-side{display:flex;flex-direction:column;gap:20px}
.s48-full{padding:0 24px}

/* === Card Base === */
.s48-card{background:#fff;border-radius:12px;padding:22px;box-shadow:0 1px 4px rgba(0,0,0,.05)}

/* === Hero === */
.s48-hero{display:flex;align-items:center;gap:24px}
.s48-hero-left{text-align:center;min-width:110px}
.s48-hero-num{font-size:5rem;font-weight:900;color:#00695c;line-height:1}
.s48-hero-meta{font-size:.86rem;color:#999;margin-top:4px}
.s48-hero-right{flex:1}
.s48-hero-right p{font-size:.96rem;color:#555;margin-bottom:3px}
.s48-hero-right p:first-child{font-size:1.08rem;font-weight:700;color:#333}
.s48-hero-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.s48-hero-tags span{display:inline-block;padding:3px 10px;background:#e0f2f1;color:#00695c;font-size:.78rem;border-radius:4px;font-weight:600}

/* === Yiji === */
.s48-yiji{display:grid;grid-template-columns:1fr 1fr;gap:0}
.s48-yi-col,.s48-ji-col{padding:18px 22px}
.s48-yi-col{background:rgba(0,105,92,.04);border-right:1px solid #eee}
.s48-yi-col h3,.s48-ji-col h3{font-size:1.1rem;font-weight:800;margin-bottom:10px}
.s48-yi-col h3{color:#00695c}
.s48-ji-col h3{color:#c0392b}
.s48-yi-col p,.s48-ji-col p{font-size:.92rem;color:#555;line-height:2.2}

/* === Ad1 === */
.s48-ad-desc{color:#00695c;font-size:1.05rem;font-weight:700;text-align:center;margin-bottom:16px}
.s48-ad-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.s48-ad-icons a{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:#f8fffe;border-radius:8px;transition:background .2s}
.s48-ad-icons a:hover{background:#e0f2f1}
.s48-ad-icons img{width:48px;height:48px}
.s48-ad-icons span{font-size:.82rem;color:#00695c;margin-top:6px;font-weight:600}

/* === Info (chongsha + jishen) === */
.s48-info h3{font-size:1.1rem;font-weight:700;color:#00695c;margin-bottom:14px}
.s48-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.s48-info-grid div{padding:12px;background:#f8f9fa;border-radius:8px}
.s48-info-grid b{display:block;color:#00695c;font-size:.78rem;margin-bottom:3px;font-weight:700}
.s48-info-grid span{font-size:.9rem;color:#555}
.s48-info-wide{grid-column:span 3}

/* === Gua === */
.s48-gua h3{font-size:1.1rem;font-weight:700;color:#00695c;margin-bottom:14px}
.s48-gua-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.s48-gua-head b{font-size:1.15rem;color:#00695c;font-weight:800}
.s48-gua-head em{font-style:normal;padding:4px 12px;background:#e0f2f1;color:#00695c;border-radius:4px;font-size:.82rem;font-weight:600}
.s48-gua-head span{font-size:.86rem;color:#999}
.s48-gua p{font-size:.92rem;color:#555;margin-bottom:5px;line-height:2.2}
.s48-gua p b{color:#00695c}

/* === Ad2 === */
.s48-ad-wrap{margin:20px 24px 0;overflow:hidden;border-radius:12px}

/* === Shichen === */
.s48-sc h3{font-size:1.1rem;font-weight:700;color:#00695c;margin-bottom:14px}
.s48-sc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.s48-sc-item{padding:12px 10px;background:#f8f9fa;border-radius:8px;text-align:center;display:flex;flex-direction:column;gap:3px;transition:background .2s}
.s48-sc-item b{font-size:.92rem;color:#333;font-weight:700}
.s48-sc-range{font-size:.76rem;color:#999}
.s48-sc-chong{font-size:.78rem;color:#666}
.s48-sc-shen{font-size:.78rem;color:#666}
.s48-sc-item i{font-style:normal;font-size:.74rem;font-weight:700;display:inline-block;padding:2px 10px;border-radius:4px;margin-top:4px;align-self:center}
.s48-sc-ji i{background:#e0f2f1;color:#00695c}
.s48-sc-xiong i{background:#fde8e8;color:#c0392b}
.s48-sc-now{background:#e0f2f1!important}

/* === Huangdao === */
.s48-huangdao h3{font-size:1.1rem;font-weight:700;color:#00695c;margin-bottom:14px}
.s48-hd-list{display:flex;flex-direction:column;gap:8px}
.s48-hd-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f8f9fa;border-radius:8px;position:relative}
.s48-hd-today{background:#e0f2f1}
.s48-hd-day{font-size:1.4rem;font-weight:900;color:#00695c;min-width:36px;text-align:center}
.s48-hd-gz{font-size:.84rem;color:#00695c;font-weight:600;min-width:70px}
.s48-hd-yi{flex:1;font-size:.86rem;color:#666;line-height:1.8}
.s48-hd-now{position:absolute;top:6px;right:10px;font-style:normal;font-size:.7rem;background:#00695c;color:#fff;padding:2px 8px;border-radius:4px;font-weight:600}

/* === Calendar (sidebar) === */
.s48-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.s48-cal-nav span{font-size:1.05rem;font-weight:700;color:#00695c}
.s48-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#e0f2f1;color:#00695c;font-size:.84rem;font-weight:700}
.s48-nav-btn:hover{background:#b2dfdb}
.s48-cal table{width:100%;border-collapse:collapse}
.s48-cal th{color:#999;font-size:.78rem;padding:8px 0;text-align:center}
.s48-cal td{text-align:center;padding:6px 2px;font-size:.82rem}
.s48-cal td b{display:block;font-size:.94rem;font-weight:600;color:#333}
.s48-cal td i{display:block;font-size:.7rem;color:#999;font-style:normal}
.s48-empty{background:transparent!important}
.s48-today{background:#00695c;border-radius:6px}
.s48-today b{color:#fff!important;font-weight:700}
.s48-today i{color:rgba(255,255,255,.8)!important}
.s48-fest i{color:#00695c!important;font-weight:600}
.s48-jq-cell{background:rgba(0,105,92,.06)}
.s48-jq-cell i{color:#00695c!important;font-weight:600}
.s48-hd{position:relative}
.s48-hd::after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:#00695c}

/* === Jieqi (sidebar) === */
.s48-jieqi h3{font-size:1.1rem;font-weight:700;color:#00695c;margin-bottom:14px}
.s48-jq-list{display:flex;flex-direction:column;gap:8px}
.s48-jq-card{display:flex;align-items:center;gap:10px;padding:12px;background:#f8f9fa;border-radius:8px}
.s48-jq-spring{background:rgba(76,175,80,.06)}
.s48-jq-summer{background:rgba(255,152,0,.06)}
.s48-jq-autumn{background:rgba(184,134,11,.06)}
.s48-jq-winter{background:rgba(95,122,154,.06)}
.s48-jq-soon{background:#e0f2f1}
.s48-jq-emoji{font-size:1.5rem;line-height:1;min-width:28px;text-align:center}
.s48-jq-info{flex:1}
.s48-jq-info b{display:block;font-size:.92rem;color:#333;font-weight:700}
.s48-jq-info span{font-size:.74rem;color:#999}
.s48-jq-count{text-align:right}
.s48-jq-count em{display:block;font-size:1.4rem;font-weight:900;color:#00695c;font-style:normal;line-height:1.1}
.s48-jq-count span{font-size:.7rem;color:#999}

/* === Tags (sidebar) === */
.s48-tags h3{font-size:1.1rem;font-weight:700;color:#00695c;margin-bottom:14px}
.s48-tag-cloud{display:flex;flex-wrap:wrap;gap:8px}
.s48-tag-cloud a{display:inline-block;padding:6px 14px;background:#f8f9fa;border-radius:20px;font-size:.84rem;color:#555;transition:all .2s}
.s48-tag-cloud a:hover{background:#e0f2f1;color:#00695c}
.s48-tag-today{background:#00695c!important;color:#fff!important;font-weight:700}

/* === Holidays (sidebar) === */
.s48-holiday h3{font-size:1.1rem;font-weight:700;color:#00695c;margin-bottom:14px}
.s48-hd-hlist{display:flex;flex-direction:column;gap:8px}
.s48-hd-hitem{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8f9fa;border-radius:8px}
.s48-hd-hname{font-size:.94rem;font-weight:700;color:#00695c;min-width:56px}
.s48-hd-hdate{font-size:.82rem;color:#999}
.s48-hd-hcd{font-size:.88rem;color:#555;margin-left:auto}
.s48-hd-hcd em{font-style:normal;font-size:1.2rem;font-weight:900;color:#00695c;margin:0 2px}

/* === QA === */
.s48-qa h3{font-size:1.1rem;font-weight:700;color:#00695c;margin-bottom:14px}
.s48-qa-list{display:flex;flex-direction:column;gap:10px}
.s48-qa-item{padding:14px;background:#f8f9fa;border-radius:8px}
.s48-qa-q{font-size:.94rem;font-weight:700;color:#333;margin-bottom:5px}
.s48-qa-a{font-size:.9rem;color:#666;line-height:2}

/* === SEO === */
.s48-seo-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.s48-seo-block{padding:18px;background:#fff;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.s48-seo-block h4{font-size:1rem;color:#00695c;margin-bottom:8px;font-weight:700}
.s48-seo-block p{font-size:.88rem;color:#777;line-height:2.2;margin-bottom:4px}

/* === Articles === */
.s48-articles h3{font-size:1.1rem;font-weight:700;color:#00695c;margin-bottom:14px}
.s48-art-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.s48-art-list a{display:block;padding:12px 16px;background:#f8f9fa;border-radius:8px;font-size:.9rem;color:#555;transition:all .2s}
.s48-art-list a:hover{background:#e0f2f1;color:#00695c}

/* === Links === */
.s48-links h3{font-size:1.1rem;font-weight:700;color:#00695c;margin-bottom:14px}
.s48-link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.s48-link-item{display:flex;flex-direction:column;align-items:center;padding:12px;background:#f8f9fa;border-radius:8px;transition:background .2s}
.s48-link-item:hover{background:#e0f2f1}
.s48-link-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;margin-bottom:8px}
.s48-link-name{font-size:.82rem;color:#555;text-align:center;font-weight:600}

/* === Footer === */
.s48-footer{text-align:center;padding:24px 32px;font-size:.84rem;color:#bbb;line-height:2.4;background:#fff;margin:20px 24px 0;border-radius:12px}
.s48-footer a{color:#bbb}

/* ========================================
   Responsive: Tablet (<=1024px)
   ======================================== */
@media (max-width:1024px){
.s48-grid{grid-template-columns:1fr;gap:16px;padding:16px 16px 0}
.s48-full{padding:0 16px}
.s48-seo-wrap{grid-template-columns:1fr 1fr}
.s48-ad-wrap{margin:16px 16px 0}
.s48-footer{margin:16px 16px 0}
.s48-masthead{padding:22px 20px}
}

/* ========================================
   Responsive: Mobile (<=768px)
   ======================================== */
@media (max-width:768px){
.s48-masthead{flex-direction:column;text-align:center;gap:6px;padding:20px 16px}
.s48-masthead h1{font-size:1.4rem;letter-spacing:1px}
.s48-masthead p{font-size:.78rem}
.s48-grid{gap:12px;padding:12px 12px 0}
.s48-full{padding:0 12px}
.s48-card{padding:16px;border-radius:10px}
.s48-hero{flex-direction:column;align-items:flex-start;gap:12px}
.s48-hero-num{font-size:3.6rem}
.s48-hero-right p{font-size:.88rem}
.s48-hero-right p:first-child{font-size:.96rem}
.s48-yiji{grid-template-columns:1fr}
.s48-yi-col{border-right:0;border-bottom:1px solid #eee}
.s48-info-grid{grid-template-columns:1fr 1fr}
.s48-info-wide{grid-column:span 2}
.s48-sc-grid{grid-template-columns:repeat(3,1fr)}
.s48-ad-icons{grid-template-columns:repeat(4,1fr);gap:8px}
.s48-ad-icons img{width:44px;height:44px}
.s48-ad-icons span{font-size:.74rem}
.s48-seo-wrap{grid-template-columns:1fr}
.s48-art-list{grid-template-columns:1fr}
.s48-link-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}
.s48-ad-wrap{margin:12px 12px 0}
.s48-footer{margin:12px 12px 0}
}

/* ========================================
   Responsive: Small Mobile (<=480px)
   ======================================== */
@media (max-width:480px){
html{font-size:16px}
.s48-hero-num{font-size:3rem}
.s48-sc-grid{grid-template-columns:1fr 1fr}
.s48-info-grid{grid-template-columns:1fr}
.s48-info-wide{grid-column:span 1}
.s48-link-grid{grid-template-columns:repeat(3,1fr)}
.s48-ad-icons{grid-template-columns:repeat(4,1fr);gap:6px}
.s48-ad-icons img{width:40px;height:40px}
}
