/* Easy Point v0.5.51 generated runtime bundle. Edit component rules instead of appending version hotfixes. */
 @media (max-width:1120px){.ep-section--latest .ep-resource-grid.ep-resource-grid--latest{grid-template-columns:repeat(var(--ep-latest-tablet-cols,3),minmax(0,1fr))!important}}
 @media (max-width:720px){.ep-section--latest .ep-resource-grid.ep-resource-grid--latest{grid-template-columns:repeat(var(--ep-latest-mobile-cols,2),minmax(0,1fr))!important}}
 @media (max-width:480px){.ep-section--latest .ep-resource-grid.ep-resource-grid--latest{grid-template-columns:1fr!important}}
.ep-hero{background:radial-gradient(circle at 80% 10%,rgba(141,102,255,.17),transparent 32%),radial-gradient(circle at 20% 0%,rgba(91,94,247,.13),transparent 35%)}
.ep-hero__grid{display:grid;align-items:center}
.ep-hero p,.ep-lead{font-size:18px;color:var(--ep-muted)}
.ep-hero-search{display:flex;max-width:650px;background:#fff;padding:8px;border-radius:16px;box-shadow:var(--ep-shadow);margin-top:26px}
.ep-hero-search input{flex:1;border:0;padding:8px 12px;outline:0;font-size:16px}
.ep-hero-card{background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.8);box-shadow:var(--ep-shadow);border-radius:24px;padding:18px}
.ep-section{padding:62px 0}
.ep-section__head{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}
.ep-section__head h2{font-size:32px;margin:0}
.ep-section__head a{color:var(--ep-accent);text-decoration:none;font-weight:700}
 @media (max-width:600px){.ep-hero{padding-top:48px}
.ep-hero-search{display:block}
.ep-hero-search .ep-btn{width:100%;margin-top:8px}}









.ep-section--latest{padding-top:42px}
 @media (max-width:720px){
}

.ep-card,.ep-hero-dashboard,.ep-resource-cover,.ep-purchase-box,.ep-content,.ep-sidebar,.ep-empty{border-radius:var(--ep-radius)}
.ep-card,.ep-resource-cover,.ep-content,.ep-sidebar,.ep-purchase-box{transition:border-radius .18s ease,box-shadow .2s ease,transform .2s ease}
.ep-section__head a,.ep-card__footer strong,.ep-nav a:hover,.ep-language a:hover{color:var(--ep-accent)}
.ep-hero{padding:72px 0 54px;overflow:hidden;position:relative}
.ep-hero:before{content:"";position:absolute;width:480px;height:480px;right:-160px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(91,94,247,.16),transparent 68%);pointer-events:none}
.ep-hero__grid{grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);gap:48px}
.ep-hero__copy{min-width:0}
.ep-hero__copy>p{max-width:760px;margin:0;color:var(--ep-muted)}
.ep-hero-highlights{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.ep-hero-highlights span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid color-mix(in srgb,var(--ep-accent) 18%,var(--ep-line));border-radius:999px;background:rgba(255,255,255,.78);font-size:13px;font-weight:700;color:#3c4250}
.ep-hero-highlights i{font-style:normal;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--ep-accent);color:#fff;font-size:11px}
.ep-hero-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:15px;font-size:13px}
.ep-hero-links>a{font-weight:800;text-decoration:none;color:var(--ep-accent)}
.ep-hero-links>span{color:var(--ep-muted)}
.ep-hero-dashboard{position:relative;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.95);box-shadow:0 24px 70px rgba(39,43,72,.12);padding:20px;backdrop-filter:blur(18px)}
.ep-hero-dashboard__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:2px 2px 16px}
.ep-hero-dashboard__head div>span{display:block;color:var(--ep-muted);font-size:12px;font-weight:700;margin-bottom:3px}
.ep-hero-dashboard__head div>strong{font-size:18px;line-height:1.35}
.ep-hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:18px}
.ep-hero-metrics>div{padding:13px 12px;border:1px solid var(--ep-line);border-radius:var(--ep-radius);background:#fbfbfd}
.ep-hero-metrics strong{display:block;font-size:22px;line-height:1.15;color:var(--ep-text)}
.ep-hero-metrics span{display:block;margin-top:5px;color:var(--ep-muted);font-size:11px}
.ep-hero-recent{border-top:1px solid var(--ep-line);padding-top:15px}
.ep-hero-recent__title{font-size:12px;font-weight:800;color:var(--ep-muted);margin-bottom:8px}
.ep-hero-recent__item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:11px;padding:8px;border-radius:var(--ep-radius);text-decoration:none;color:var(--ep-text);transition:.18s}
.ep-hero-recent__item:hover{background:#f7f7fb;transform:translateX(2px)}
.ep-hero-recent__thumb{width:54px;height:42px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,var(--ep-accent),var(--ep-accent2));display:grid;place-items:center;color:#fff;font-size:12px}
.ep-hero-recent__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ep-hero-recent__meta{min-width:0}
.ep-hero-recent__meta strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;line-height:1.35}
.ep-hero-recent__meta small{display:block;color:var(--ep-muted);font-size:11px;margin-top:3px}
.ep-hero-recent__item em{font-style:normal;color:var(--ep-accent);font-size:12px;font-weight:800;white-space:nowrap}
.ep-hero-recent__empty{padding:14px;color:var(--ep-muted);font-size:13px;text-align:center;background:#f8f9fc;border-radius:var(--ep-radius)}
 @media (max-width:980px){.ep-hero__grid{grid-template-columns:1fr}
.ep-hero-dashboard{max-width:720px}}
 @media (max-width:720px){.ep-hero{padding:50px 0 38px}
.ep-hero-highlights{gap:7px}
.ep-hero-highlights span{font-size:12px}
.ep-hero-dashboard{padding:15px}}
 @media (max-width:520px){.ep-hero-metrics{grid-template-columns:1fr 1fr}
.ep-hero-metrics>div:last-child{grid-column:1/-1}
.ep-hero-recent__item{grid-template-columns:48px minmax(0,1fr)}
.ep-hero-recent__item em{grid-column:2}}
html[data-ep-theme="dark"] .ep-card,html[data-ep-theme="dark"] .ep-content,html[data-ep-theme="dark"] .ep-sidebar,html[data-ep-theme="dark"] .ep-empty,html[data-ep-theme="dark"] .ep-purchase-box,html[data-ep-theme="dark"] .ep-hero-dashboard,html[data-ep-theme="dark"] .ep-site-notice__panel{background:var(--ep-card);border-color:var(--ep-line);color:var(--ep-text)}
html[data-ep-theme="dark"] .ep-hero-search{background:var(--ep-card)}
html[data-ep-theme="dark"] .ep-hero-search input{background:transparent;color:var(--ep-text)}
html[data-ep-theme="dark"] .ep-hero-highlights span{background:rgba(23,27,36,.86);color:var(--ep-text);border-color:var(--ep-line)}
html[data-ep-theme="dark"] .ep-hero-metrics>div,html[data-ep-theme="dark"] .ep-hero-recent__empty{background:var(--ep-surface-soft)}
html[data-ep-theme="dark"] .ep-hero-recent__item:hover{background:var(--ep-surface-soft)}
body.ep-site-style-strength-soft:not(.ep-auth-standalone) .ep-card,body.ep-site-style-strength-soft:not(.ep-auth-standalone) .ep-hero-dashboard,body.ep-site-style-strength-soft:not(.ep-auth-standalone) .ep-content,body.ep-site-style-strength-soft:not(.ep-auth-standalone) .ep-sidebar{box-shadow:0 4px 18px rgba(31,35,48,.05)!important}
body.ep-site-style-minimal:not(.ep-auth-standalone) .ep-card,body.ep-site-style-minimal:not(.ep-auth-standalone) .ep-hero-dashboard,body.ep-site-style-minimal:not(.ep-auth-standalone) .ep-content,body.ep-site-style-minimal:not(.ep-auth-standalone) .ep-sidebar,body.ep-site-style-minimal:not(.ep-auth-standalone) .ep-purchase-box{box-shadow:none!important;border-color:color-mix(in srgb,var(--ep-line) 72%,transparent);background:color-mix(in srgb,var(--ep-card) 92%,transparent)}
body.ep-site-style-minimal:not(.ep-auth-standalone) .ep-hero:before{opacity:.22}
body.ep-site-style-clean:not(.ep-auth-standalone) .ep-card,body.ep-site-style-clean:not(.ep-auth-standalone) .ep-hero-dashboard,body.ep-site-style-clean:not(.ep-auth-standalone) .ep-content,body.ep-site-style-clean:not(.ep-auth-standalone) .ep-sidebar{box-shadow:var(--ep-style-soft-shadow);border-color:color-mix(in srgb,var(--ep-line) 82%,transparent)}
body.ep-site-style-casual:not(.ep-auth-standalone) .ep-card,body.ep-site-style-casual:not(.ep-auth-standalone) .ep-hero-dashboard,body.ep-site-style-casual:not(.ep-auth-standalone) .ep-content,body.ep-site-style-casual:not(.ep-auth-standalone) .ep-sidebar{box-shadow:0 15px 34px rgba(91,62,42,.08);border-color:color-mix(in srgb,var(--ep-accent) 12%,var(--ep-line))}
body.ep-site-style-casual:not(.ep-auth-standalone) .ep-hero{background-image:radial-gradient(circle at 16% 10%,rgba(255,190,128,.13),transparent 32%),radial-gradient(circle at 88% 18%,rgba(111,207,190,.12),transparent 30%)}
body.ep-site-style-manga:not(.ep-auth-standalone) .ep-card,body.ep-site-style-manga:not(.ep-auth-standalone) .ep-hero-dashboard,body.ep-site-style-manga:not(.ep-auth-standalone) .ep-content,body.ep-site-style-manga:not(.ep-auth-standalone) .ep-sidebar{border:2px solid var(--ep-text);box-shadow:5px 5px 0 color-mix(in srgb,var(--ep-text) 30%,transparent)!important;border-radius:4px!important}
body.ep-site-style-manga:not(.ep-auth-standalone) .ep-hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,var(--ep-text) .8px,transparent 1px);background-size:13px 13px;opacity:.035;pointer-events:none}
body.ep-site-style-anime:not(.ep-auth-standalone) .ep-card,body.ep-site-style-anime:not(.ep-auth-standalone) .ep-hero-dashboard,body.ep-site-style-anime:not(.ep-auth-standalone) .ep-content,body.ep-site-style-anime:not(.ep-auth-standalone) .ep-sidebar{border-color:color-mix(in srgb,#a995ff 24%,var(--ep-line));box-shadow:0 18px 42px rgba(105,91,178,.10)}
body.ep-site-style-anime:not(.ep-auth-standalone) .ep-hero{background-image:radial-gradient(circle at 10% 0%,rgba(255,177,214,.13),transparent 31%),radial-gradient(circle at 84% 4%,rgba(164,198,255,.16),transparent 34%)}
body.ep-site-style-cyberpunk:not(.ep-auth-standalone) .ep-card,body.ep-site-style-cyberpunk:not(.ep-auth-standalone) .ep-hero-dashboard,body.ep-site-style-cyberpunk:not(.ep-auth-standalone) .ep-content,body.ep-site-style-cyberpunk:not(.ep-auth-standalone) .ep-sidebar{border-color:color-mix(in srgb,#00e8f2 38%,var(--ep-line));box-shadow:0 0 24px rgba(0,232,242,.08);clip-path:polygon(0 0,97% 0,100% 7%,100% 100%,3% 100%,0 93%)}
body.ep-site-style-cyberpunk:not(.ep-auth-standalone) .ep-hero{background-image:linear-gradient(rgba(0,232,242,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,232,242,.035) 1px,transparent 1px);background-size:42px 42px}
body.ep-site-style-glass:not(.ep-auth-standalone) .ep-card,body.ep-site-style-glass:not(.ep-auth-standalone) .ep-hero-dashboard,body.ep-site-style-glass:not(.ep-auth-standalone) .ep-content,body.ep-site-style-glass:not(.ep-auth-standalone) .ep-sidebar,body.ep-site-style-glass:not(.ep-auth-standalone) .ep-purchase-box{background:color-mix(in srgb,var(--ep-card) 78%,transparent);backdrop-filter:blur(18px) saturate(120%);border-color:color-mix(in srgb,var(--ep-line) 55%,transparent);box-shadow:0 18px 50px rgba(20,24,36,.10)}
body.ep-site-style-game:not(.ep-auth-standalone) .ep-card,body.ep-site-style-game:not(.ep-auth-standalone) .ep-hero-dashboard{box-shadow:0 20px 48px rgba(38,43,78,.12);border-color:color-mix(in srgb,var(--ep-accent) 16%,var(--ep-line))}
body.ep-site-style-game:not(.ep-auth-standalone) .ep-hero{background-image:radial-gradient(circle at 82% 8%,color-mix(in srgb,var(--ep-accent) 18%,transparent),transparent 32%),radial-gradient(circle at 18% 0%,color-mix(in srgb,var(--ep-accent2) 13%,transparent),transparent 36%)}























 @media (prefers-reduced-motion:reduce){
}


















 @media (hover:hover){

}


.ep-module-title--align-left .ep-section__head--single-title{text-align:left}
.ep-module-title--align-center .ep-section__head--single-title{text-align:center}
.ep-module-title--align-right .ep-section__head--single-title{text-align:right}

.ep-section--latest .ep-module-title{font-size:var(--ep-latest-title-size,28px)}
.ep-section__head--single-title{position:relative;display:block;margin-bottom:24px;min-height:34px}
.ep-section__head--single-title>a{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.ep-module-title--align-right .ep-section__head--single-title{padding-right:92px}


 @media (max-width:720px){.ep-section__head--single-title>a{position:static;display:inline-flex;margin-top:8px;transform:none}
.ep-module-title--align-right .ep-section__head--single-title{padding-right:0}
}

























 @media (max-width:760px){



}
 @media (max-width:480px){
}












.ep-btn,.ep-btn--secondary,.ep-btn--ghost,.ep-btn--plain{background-image:none!important}





.ep-hero--after-banner{padding:28px 0 34px;background:transparent!important}
.ep-hero--after-banner:before,.ep-hero--after-banner:after{display:none!important}
.ep-hero--after-banner .ep-hero__grid{grid-template-columns:minmax(0,1fr);gap:0}
.ep-hero--after-banner .ep-hero__copy{max-width:1080px}
.ep-hero--after-banner .ep-hero__copy h1{max-width:920px;font-size:clamp(28px,3.2vw,42px);line-height:1.12;margin-bottom:12px}
.ep-hero--after-banner .ep-hero__copy>p{max-width:900px;font-size:15px;line-height:1.75}
.ep-hero--after-banner .ep-hero-highlights{margin-top:15px}
.ep-hero--after-banner .ep-hero-links{margin-top:13px}
.ep-hero--after-banner .ep-hero-dashboard{display:none!important}
 @media (max-width:760px){
.ep-hero--after-banner{padding:20px 0 26px}
.ep-hero--after-banner .ep-hero__copy h1{font-size:clamp(25px,8vw,34px)}}

.ep-hero--bg-custom{background:var(--ep-hero-bg-color,#f3f4f8)!important}
.ep-hero--bg-image{background-image:linear-gradient(color-mix(in srgb,var(--ep-bg) 28%,transparent),color-mix(in srgb,var(--ep-bg) 28%,transparent)),var(--ep-hero-bg-image)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.ep-hero--contained{width:min(var(--ep-content-max,1380px),calc(100% - 40px));margin:24px auto;border-radius:calc(var(--ep-radius) + 10px);overflow:hidden}
.ep-hero--contained>.ep-container{width:min(100% - 48px,var(--ep-content-max,1380px))}
.ep-hero--align-center .ep-hero__copy{text-align:center;margin-left:auto;margin-right:auto}
.ep-hero--align-center .ep-hero__copy>p{margin-left:auto;margin-right:auto}
.ep-hero--align-center .ep-hero-highlights{justify-content:center}
.ep-hero--align-right .ep-hero__copy{text-align:right;margin-left:auto}
.ep-hero--align-right .ep-hero__copy>p{margin-left:auto;margin-right:0}
.ep-hero--align-right .ep-hero-highlights{justify-content:flex-end}
.ep-hero--align-left .ep-hero__copy{text-align:left;margin-right:auto}
.ep-hero--after-banner.ep-hero--bg-default{background:transparent!important}
.ep-hero--after-banner.ep-hero--bg-custom{background:var(--ep-hero-bg-color,#f3f4f8)!important}
.ep-hero--after-banner.ep-hero--bg-image{background-image:linear-gradient(color-mix(in srgb,var(--ep-bg) 28%,transparent),color-mix(in srgb,var(--ep-bg) 28%,transparent)),var(--ep-hero-bg-image)!important}
.ep-hero--after-banner .ep-hero__copy{margin-left:auto;margin-right:auto}
.ep-hero--after-banner.ep-hero--align-center .ep-hero__copy h1,.ep-hero--after-banner.ep-hero--align-center .ep-hero__copy>p{margin-left:auto;margin-right:auto}
 @media (max-width:760px){.ep-hero--contained{width:calc(100% - 24px);margin:12px auto;border-radius:calc(var(--ep-radius) + 4px)}
.ep-hero--contained>.ep-container{width:calc(100% - 28px)}}










html[data-ep-theme="dark"] .ep-hero-card,html[data-ep-theme="dark"] .ep-software-module--glass .ep-software-module__surface,html[data-ep-theme="dark"] .ep-operation--visual-glass .ep-operation-card-front,html[data-ep-theme="dark"] .ep-card,html[data-ep-theme="dark"] .ep-content,html[data-ep-theme="dark"] .ep-sidebar,html[data-ep-theme="dark"] .ep-online-video{border-color:var(--ep-line,#2a303c)!important}
html[data-ep-theme="dark"] .ep-hero-card{background:color-mix(in srgb,var(--ep-card) 88%,transparent)}
























/* Match the same 1380px homepage content band used by the generic resource module.
   Do not inherit the legacy 1240px .ep-container override here. */



















/* The reference stacks title -> description -> CTA vertically. */







/* Colored CTA: visible brand tint instead of the previous neutral white glass button. */
































































 @media (min-width:981px){






}
 @media (max-width:980px){
}
 @media (max-width:720px){






}













 @media (max-width:720px){


}


















.ep-card[data-ep-resource-card]{cursor:pointer}


 @media (max-width:720px){

}

















 @media (max-width:720px){

}




















 @media (min-width:721px) and (max-width:980px){
}
 @media (max-width:720px){


}






.ep-latest-frame{width:min(var(--ep-latest-frame-max,1380px),calc(100% - 40px));margin-inline:auto;min-width:0}
.ep-section--latest .ep-resource-grid.ep-resource-grid--latest{width:100%;max-width:none;margin-inline:auto;grid-template-columns:repeat(var(--ep-latest-cols,4),minmax(0,1fr))!important}
.ep-section--latest-size-default .ep-resource-grid.ep-resource-grid--latest{max-width:var(--ep-content-max,1380px)}







 @media (max-width:1100px){
.ep-section--latest .ep-resource-grid.ep-resource-grid--latest{max-width:none;grid-template-columns:repeat(var(--ep-latest-tablet-cols,3),minmax(0,1fr))!important}}
 @media (max-width:720px){.ep-latest-frame{width:min(100% - 28px,var(--ep-latest-frame-max,1380px))}
.ep-section--latest .ep-resource-grid.ep-resource-grid--latest{grid-template-columns:repeat(var(--ep-latest-mobile-cols,2),minmax(0,1fr))!important}}
 @media (max-width:620px){
}
 @media (max-width:480px){.ep-latest-frame{width:100%;padding-inline:12px}
.ep-section--latest .ep-resource-grid.ep-resource-grid--latest{grid-template-columns:1fr!important}}





















 @media (max-width:720px){

}















/* v0.5.51.3 Home Top Showcase · configurable innovative homepage top template */


























































/* v0.5.51.8 — pixel-reference calibration: homepage top + featured grid */
html[data-ep-theme="light"] body.home{background:linear-gradient(180deg,#eef7ff 0%,#f5f9ff 52%,#eef6ff 100%)}
.ep-home-diy-instance--home_top_showcase{width:100%;min-width:0}































.ep-home-main{display:flex;flex-direction:column;gap:12px}
.ep-home-main>.ep-home-diy-instance{min-width:0;margin:0}
.ep-home-main>.ep-home-diy-instance>section{margin-top:0!important;margin-bottom:0!important}








/* v0.5.51.38 — Hot Ranking + Featured Picks consume global card tokens. */
/* Module aliases only preserve its compact layout; visual language comes from “字体 / 样式”. */





















.ep-home-diy-instance--home_top_showcase + .ep-home-diy-instance--home_featured_grid{margin-top:0}





/* v0.5.51.9 — 首页首屏。Reference-locked desktop geometry. */





























.ep-home-diy-instance--home_top_showcase + .ep-home-with-sidebar{margin-top:12px}
.ep-home-diy-instance--home_top_showcase + .ep-home-diy-instance{margin-top:12px}

/* v0.5.51.10 — reference-top fidelity fixes: real background, visual overlay actions, icon-art categories. */


 @media (min-width:1181px){
  
  
  
  
  
  
  
  
}















/* v0.5.51.11 — design-reference scale calibration for the rebuilt homepage top. */














 @media (min-width:1181px){
  
  
  
  
  
  
}










 @media (max-width:1180px){
  
  
  
  
  
  
}
 @media (max-width:820px){
  
  
}
 @media (max-width:520px){
  
  
  
}

/* v0.5.51.47 — compact one-line header for left-aligned generic resource showcase. */











 @media (max-width:760px){
  
  
  
  
  
}


/* v0.5.51.48 — compact generic resource showcase + balanced-card category tiles. */










/* v0.5.51.50 — featured mini-card presentation selectable from 字体 / 样式. */











/* v0.5.51.55 — reference heading icons and resource-switcher hierarchy. */











/* v0.5.51.57 — recommendation module surface refinement. */











/* v0.5.51.58 — restore white featured panel, subtle top tint and correct
   image-under / capsule-over layering for the four mini cards. */




/* Keep both ranking and featured surfaces truly white rather than blue-grey. */



/* Correct stacked mini-card construction:
   - image is the lower layer
   - information capsule is the upper layer
   - capsule overlaps / consumes the bottom of the image
   - text is allowed its full line box instead of being clipped. */







/* The hero card stays white as well. */





 @media (max-width:1180px){
  
}
 @media (max-width:920px){
  
  
}


/* v0.5.51.59 — theme-aware Featured mini cards + one-line showcase alignment. */
/* Homepage itself stays transparent so the global 网站整体背景 is the source of truth. */
.ep-home-main,.ep-home-main>.ep-home-diy-instance,.ep-home-category-showcase,.ep-home-recommend{
  background:transparent!important;
}

/* Featured / ranking surfaces now derive from theme variables instead of fixed
   white/blue-grey values, so light, dark and custom site backgrounds switch cleanly. */




/* Right four cards: image should be visibly larger than the information capsule.
   The capsule still overlays the image bottom, but no hard-coded light colours. */








/* Generic resource-showcase header: icon, title, description, category switcher,
   sorting and more-link share one visual centre line. */








/* Category switchers must follow current site/card colours instead of fixed
   #f5f7fa / #4d82ed, which broke when changing the website background. */







 @media (max-width:1180px){
  
}
 @media (max-width:920px){
  
  
}
 @media (max-width:760px){
  
  
  
  
}


/* v0.5.51.60 — true centered resource heading, wider mini-card artwork, independent resource categories. */






.ep-resource-categories{background:transparent!important;margin:0!important;padding:0!important}

.ep-home-diy-instance--home_top_showcase + .ep-home-diy-instance--home_resource_categories{margin-top:0!important}


/* v0.5.51.62 — exact Featured / Ranking panel and mini-card proportion pass. */
/* Both large panels share the same very light cool-grey tint at the top and fade to white. */




/* Reference mini cards: image and capsule have the same horizontal width; capsule is visibly flatter. */










/* The main Featured hero card remains white inside the shared panel. */






 @media (max-width:920px){
  
  
  
}


/* v0.5.51.63 — ranking thumbnail scale matched to the reference. */


 @media (max-width:1180px){
  
  
}
 @media (max-width:920px){
  
  
}


/* v0.5.51.65 — Featured hero: preserve the existing capsule dimensions and
   only move it upward so it visibly overlaps the bottom of the image. */





/* v0.5.51.73 — 主推卡 + 普通小卡：A 右侧恢复 2×2 四卡；字体、分类、数据与通用资源卡统一。 */
.ep-feature-combo{
  width:100%;
  min-width:0;
  display:grid;
  gap:10px;
}
.ep-feature-combo *{box-sizing:border-box}
.ep-feature-combo__hero{
  position:relative;
  min-width:0;
  min-height:0;
  margin:0;
  overflow:hidden;
  border:1px solid var(--ep-line,#e7edf6);
  border-radius:10px;
  background:var(--ep-card,#fff);
  box-shadow:0 5px 14px rgba(27,54,93,.055);
}
.ep-feature-combo__hero-link{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:inherit;
  color:#fff;
  text-decoration:none;
  background:#e9eef8;
}
.ep-feature-combo__hero-media,.ep-feature-combo__hero-media img{display:block;width:100%;height:100%}
.ep-feature-combo__hero-media img{object-fit:cover;transition:transform .28s ease}
.ep-feature-combo__hero-link:hover .ep-feature-combo__hero-media img{transform:scale(1.025)}
.ep-feature-combo__placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--ep-muted,#8792a7);font-size:24px;font-weight:850;background:var(--ep-bg,#f6f7fb)}
.ep-feature-combo__hero-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(7,14,30,.015) 28%,rgba(7,14,30,.14) 54%,rgba(7,14,30,.84) 100%)}
.ep-feature-combo__hero-badge{position:absolute;z-index:3;top:10px;left:10px;display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:6px;background:rgba(255,255,255,.93);color:#ef9f00;font-size:10.5px;font-weight:850;box-shadow:0 3px 10px rgba(20,35,70,.10)}
.ep-feature-combo__hero-copy{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:6px;padding:15px 14px 13px;color:#fff}
.ep-feature-combo__hero-title{display:block;margin:0;color:#fff;font-size:18px;font-weight:900;line-height:1.22;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 8px rgba(0,0,0,.18)}
.ep-feature-combo__hero-excerpt{display:block;color:rgba(255,255,255,.86);font-size:var(--ep-ui-card-copy-size,10.5px);font-weight:var(--ep-ui-card-copy-weight,560);line-height:1.34;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ep-feature-combo__hero-category-row{display:flex;align-items:center;min-height:22px}
.ep-feature-combo__hero-cat{display:inline-flex;align-items:center;max-width:148px;height:22px;padding:0 7px;overflow:hidden;border-radius:5px;background:color-mix(in srgb,var(--ep-resource-cat-color,#4d8dff) 78%,transparent);color:#fff;font-size:10.5px;font-weight:820;line-height:1;text-overflow:ellipsis;white-space:nowrap}
.ep-feature-combo__hero-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:23px}
.ep-feature-combo__hero-price,.ep-feature-combo__small-price{display:inline-flex;align-items:center;justify-content:center;min-height:22px;white-space:nowrap;font-weight:850;line-height:1}
.ep-feature-combo__hero-price{padding:0 7px;border-radius:5px;background:rgba(255,255,255,.15);color:#fff;font-size:11px}
.ep-feature-combo__hero-stats,.ep-feature-combo__small-stats{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}
.ep-feature-combo__metric,.ep-feature-combo__small-stats>span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.ep-feature-combo__metric{color:rgba(255,255,255,.92);font-size:11px}
.ep-feature-combo__metric svg,.ep-feature-combo__small-stats svg{display:block;width:13px;height:13px;flex:0 0 13px;fill:currentColor}
.ep-feature-combo__metric b,.ep-feature-combo__small-stats b{font:inherit;font-weight:650}

/* 普通小卡：图片与信息彻底分离，不使用胶囊/上浮/叠层。 */
.ep-feature-combo__smalls{min-width:0;min-height:0;display:grid;gap:10px}
.ep-feature-combo__small{min-width:0;min-height:0;margin:0;display:flex;flex-direction:column;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.ep-feature-combo__small-media{display:block;width:100%;aspect-ratio:3 / 1;overflow:hidden;border:1px solid color-mix(in srgb,var(--ep-line,#e7edf6) 90%,transparent);border-radius:8px;background:var(--ep-bg,#f6f7fb);box-shadow:0 3px 9px rgba(27,54,93,.035);text-decoration:none}
.ep-feature-combo__small-media img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover;transition:transform .25s ease}
.ep-feature-combo__small:hover .ep-feature-combo__small-media img{transform:scale(1.025)}
.ep-feature-combo__small-copy{min-width:0;display:flex;flex:1 1 auto;flex-direction:column;gap:5px;padding:7px 1px 0;background:transparent}
.ep-feature-combo__small-copy h3{min-width:0;margin:0;font-size:var(--ep-ui-card-title-size,14.5px);font-weight:var(--ep-ui-card-title-weight,820);line-height:1.3}
.ep-feature-combo__small-copy h3 a{display:block;overflow:hidden;color:var(--ep-text,#202b3c);text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.ep-feature-combo__small-copy h3 a:hover{color:var(--ep-accent,#2878ff)}
.ep-feature-combo__small-category-row{display:flex;align-items:center;min-height:22px}
.ep-feature-combo__small-cat{display:inline-flex;align-items:center;max-width:136px;height:22px;padding:0 7px;overflow:hidden;border:0;border-radius:5px;background:var(--ep-resource-cat-soft,#edf4ff);color:var(--ep-resource-cat-color,#2878ff);font-size:10.5px;font-weight:820;line-height:1;text-overflow:ellipsis;white-space:nowrap}
.ep-feature-combo__small-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:22px;margin-top:auto;color:var(--ep-muted,#8792a7)}
.ep-feature-combo__small-price{padding:0;color:var(--ep-accent,#2878ff);font-size:11.5px}
.ep-feature-combo__small-stats{color:var(--ep-muted,#8792a7);font-size:11px;line-height:1}

/* A. 左大图 + 右侧 4 个普通小卡（2×2）. */
.ep-feature-combo--left4{height:360px;grid-template-columns:minmax(235px,40%) minmax(0,60%);grid-template-rows:1fr}
.ep-feature-combo--left4 .ep-feature-combo__smalls{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px 11px}

/* B. 上大图 + 下方 3 个普通小卡；小卡图片区按约 3:1 收扁。 */
.ep-feature-combo--top3{height:360px;grid-template-columns:1fr;grid-template-rows:minmax(0,52%) minmax(0,48%)}
.ep-feature-combo--top3 .ep-feature-combo__hero{min-height:0}
.ep-feature-combo--top3 .ep-feature-combo__smalls{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:11px}
.ep-feature-combo--top3 .ep-feature-combo__hero-shade{background:linear-gradient(90deg,rgba(7,14,30,.78) 0%,rgba(7,14,30,.50) 40%,rgba(7,14,30,.12) 74%,transparent 100%)}
.ep-feature-combo--top3 .ep-feature-combo__hero-copy{top:0;right:auto;bottom:0;width:min(60%,470px);justify-content:center;padding:14px 16px}
.ep-feature-combo--top3 .ep-feature-combo__hero-title{font-size:18px}

html[data-ep-theme="dark"] .ep-feature-combo__hero{border-color:var(--ep-line);background:var(--ep-card)}
html[data-ep-theme="dark"] .ep-feature-combo__small-media{border-color:var(--ep-line);background:var(--ep-bg);box-shadow:none}
html[data-ep-theme="dark"] .ep-feature-combo__small-cat{background:color-mix(in srgb,var(--ep-resource-cat-color,var(--ep-accent)) 14%,var(--ep-card));color:color-mix(in srgb,var(--ep-resource-cat-color,var(--ep-accent)) 78%,#fff)}

 @media (max-width:1180px){
  .ep-feature-combo--left4{height:350px;grid-template-columns:minmax(215px,39%) minmax(0,61%)}
  .ep-feature-combo__small-copy h3{font-size:13.5px}
  .ep-feature-combo__small-stats{font-size:10.5px;gap:5px}
}
 @media (max-width:920px){
  .ep-feature-combo,.ep-feature-combo--left4,.ep-feature-combo--top3{height:auto;grid-template-columns:1fr;grid-template-rows:auto;gap:11px}
  .ep-feature-combo--left4 .ep-feature-combo__hero{min-height:250px}
  .ep-feature-combo--left4 .ep-feature-combo__smalls{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
  .ep-feature-combo--top3 .ep-feature-combo__smalls{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}
}
 @media (max-width:680px){
  .ep-feature-combo--top3 .ep-feature-combo__smalls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ep-feature-combo--top3 .ep-feature-combo__hero-copy{width:76%}
}
 @media (max-width:480px){
  .ep-feature-combo--left4 .ep-feature-combo__smalls,.ep-feature-combo--top3 .ep-feature-combo__smalls{grid-template-columns:1fr}
  .ep-feature-combo__small-media{aspect-ratio:3 / 1}
  .ep-feature-combo__hero-copy{padding:13px 12px 12px}
}


/* v0.5.51.74 — homepage surface hierarchy and softer typography/borders. */
html[data-ep-theme="light"] .ep-home-diy-instance:not(.ep-home-diy-instance--home_top_showcase):not(.ep-home-diy-instance--home_banner){
  background:var(--ep-module-bg,#fbfcfe)!important;
  border:0!important;
  box-shadow:none!important;
}
html[data-ep-theme="light"] .ep-home-main,
html[data-ep-theme="light"] .ep-home-main>.ep-home-diy-instance,
html[data-ep-theme="light"] .ep-home-recommend,
html[data-ep-theme="light"] .ep-home-category-showcase{background:transparent!important}
html[data-ep-theme="light"] .ep-home-main>.ep-home-diy-instance:not(.ep-home-diy-instance--home_top_showcase):not(.ep-home-diy-instance--home_banner){
  background:var(--ep-module-bg,#fbfcfe)!important;
}

/* The combined Hot + Featured module is a soft surface; its inner content remains white. */

html[data-ep-theme="light"] .ep-home-recommend__card,
html[data-ep-theme="light"] .ep-home-recommend__body,
html[data-ep-theme="light"] .ep-home-recommend__card--hero,
html[data-ep-theme="light"] .ep-feature-combo__hero{
  background:#fff!important;
  border-color:var(--ep-line)!important;
  box-shadow:0 2px 8px rgba(16,24,40,.026)!important;
}

html[data-ep-theme="light"] .ep-home-recommend__card h3,
html[data-ep-theme="light"] .ep-home-recommend__card h3 a,
html[data-ep-theme="light"] .ep-home-recommend__ranking-copy strong,
html[data-ep-theme="light"] .ep-feature-combo__small-copy h3,
html[data-ep-theme="light"] .ep-feature-combo__small-copy h3 a{color:var(--ep-card-title,#1D2939)!important}
html[data-ep-theme="light"] .ep-home-recommend__featured-copy p,
html[data-ep-theme="light"] .ep-home-recommend__body>p,
html[data-ep-theme="light"] .ep-home-recommend__ranking-copy>div>span:not(.ep-recommend-vip),
html[data-ep-theme="light"] .ep-home-recommend__meta-tail,
html[data-ep-theme="light"] .ep-feature-combo__small-footer{color:var(--ep-muted,#667085)!important}

/* Generic resource modules: let the module surface define the section, cards stay clean white. */
html[data-ep-theme="light"] .ep-home-category-showcase,
html[data-ep-theme="light"] .ep-section--latest,
html[data-ep-theme="light"] .ep-home-membership,
html[data-ep-theme="light"] .ep-home-topics{
  background:var(--ep-module-bg,#fbfcfe)!important;
}
html[data-ep-theme="light"] .ep-home-category-showcase .ep-card,
html[data-ep-theme="light"] .ep-section--latest .ep-card{
  background:#fff!important;
  border-color:var(--ep-line)!important;
  box-shadow:0 2px 8px rgba(16,24,40,.026)!important;
}


/* Filters are intentionally light so they do not become another row of white boxes. */



/* Feature-combo ordinary cards: softer metadata, no heavy framed look. */
html[data-ep-theme="light"] .ep-feature-combo__small-media{
  background:#fff!important;
  border-color:#f0f3f6!important;
  box-shadow:0 1px 5px rgba(16,24,40,.022)!important;
}
html[data-ep-theme="light"] .ep-feature-combo__small-copy{color:var(--ep-card-title,#1D2939)!important}



/* v0.5.51.82 — 通用资源展示：首图严格占两张普通卡宽度；所有卡片共用同一网格。 */























 @media (max-width:1180px){
  
  
}
 @media (max-width:760px){
  
  
  
}
 @media (max-width:480px){
  
  
  
  
  
}

/* v0.5.51.83 — adaptive lead card, global category icon style, and theme-safe ranking controls. */











/* Icon-only category badges use one clear, readable size in generic cards and featured layouts. */
.ep-home-recommend__category.ep-resource-category-badge--icon,
.ep-feature-combo__hero-cat.ep-resource-category-badge--icon,
.ep-feature-combo__small-cat.ep-resource-category-badge--icon{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  padding:0!important;
  border-radius:8px!important;
}
.ep-feature-combo__hero-category-row:has(.ep-resource-category-badge--icon),
.ep-feature-combo__small-category-row:has(.ep-resource-category-badge--icon){min-height:30px}

/* Ranking tabs and recommendation surfaces always follow the active site background/theme. */

.ep-home-recommend__card,
.ep-feature-combo__hero,
.ep-feature-combo__small-media{
  border-color:var(--ep-ui-card-border-color,var(--ep-line))!important;
  background:var(--ep-ui-card-surface,var(--ep-card))!important;
}



html[data-ep-theme="dark"] .ep-home-recommend__card,
html[data-ep-theme="dark"] .ep-feature-combo__hero,
html[data-ep-theme="dark"] .ep-feature-combo__small-media{
  border-color:var(--ep-line)!important;
  background:var(--ep-card)!important;
  box-shadow:none!important;
}

 @media (max-width:980px){
  
  
}
 @media (max-width:720px){
  
  
  
}
 @media (max-width:480px){
  
  
  
  
}
/* Mobile keeps the same content-driven row sizing; only a truly solo lead gets a fallback height. */
 @media (max-width:480px){
  
  
}


/* v0.5.51.84 — lead badge owns a protected top zone; narrow/short cards can no longer let the title collide with “精选”. */










/* v0.5.51.91 · Home DIY card-code resources — rebuilt from original homepage reference */



































/* v0.5.51.92 — final homepage surface / category / card-code refinements. */
/* Topic module follows the active website palette instead of retaining a white light-mode slab. */



/* Generic resource-showcase category switchers always begin from their own left edge. */




/* Card-code module: horizontal long cards with rotating soft colour surfaces. */







































/* v0.5.51.93 — homepage mature soft-light surfaces and background-image transparency. */
html[data-ep-theme="light"] .ep-home-main>.ep-home-diy-instance:not(.ep-home-diy-instance--home_top_showcase):not(.ep-home-diy-instance--home_banner){
  background:var(--ep-module-bg,#fafbfc)!important;
  border:0!important;
  box-shadow:none!important;
}
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-home-main,
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-home-main>.ep-home-diy-instance{
  background:transparent!important;
}
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-home-main>.ep-home-diy-instance:not(.ep-home-diy-instance--home_top_showcase):not(.ep-home-diy-instance--home_banner){
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-home-category-showcase,
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-section--latest,
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-home-membership,
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-home-topics{
  background:transparent!important;
}
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-card,
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-home-recommend__card,
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-feature-combo__small,
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-home-card-codes__card{
  background:rgba(255,255,255,.90)!important;
  border-color:rgba(226,232,240,.68)!important;
  box-shadow:0 2px 10px rgba(31,42,55,.018)!important;
  backdrop-filter:blur(7px) saturate(106%);
  -webkit-backdrop-filter:blur(7px) saturate(106%);
}
/* Softer copy hierarchy: still readable black/grey, but not harsh against white cards. */
html[data-ep-theme="light"] .ep-home-recommend__heading,
html[data-ep-theme="light"] .ep-home-recommend__featured-copy h2,
html[data-ep-theme="light"] .ep-home-recommend__ranking-head h2,
html[data-ep-theme="light"] .ep-home-category-showcase .ep-module-title,
html[data-ep-theme="light"] .ep-section--latest .ep-module-title{color:var(--ep-heading,#182230)!important}
html[data-ep-theme="light"] .ep-home-recommend__card h3,
html[data-ep-theme="light"] .ep-home-recommend__card h3 a,
html[data-ep-theme="light"] .ep-feature-combo__small-copy h3,
html[data-ep-theme="light"] .ep-feature-combo__small-copy h3 a,
html[data-ep-theme="light"] .ep-home-card-codes__title{color:var(--ep-card-title,#253247)!important}
html[data-ep-theme="light"] .ep-home-recommend__featured-copy p,
html[data-ep-theme="light"] .ep-home-recommend__body>p,
html[data-ep-theme="light"] .ep-home-recommend__ranking-copy>div>span:not(.ep-recommend-vip),
html[data-ep-theme="light"] .ep-feature-combo__small-footer,
html[data-ep-theme="light"] .ep-home-card-codes__desc{color:var(--ep-muted,#748094)!important}
/* Modules are separated by tonal surfaces, not box borders. */



/* v0.5.51.97 — homepage width + recommendation order + typography unification */



.ep-home-recommend__heading h2,.ep-home-recommend__ranking-copy>a,.ep-home-recommend__body h3,.ep-feature-combo__hero-title,.ep-feature-combo__card-title{color:var(--ep-card-title,#414d60)!important}
.ep-home-recommend__featured-copy p,.ep-home-recommend__ranking-copy>div>span:not(.ep-recommend-vip),.ep-home-recommend__ranking-copy>div>span:not(.ep-recommend-vip) b,.ep-home-recommend__body>p,.ep-home-recommend__meta-tail>span,.ep-feature-combo__hero-excerpt,.ep-feature-combo__card-excerpt,.ep-feature-combo__metric{color:var(--ep-muted,#8993a3)!important}

.ep-home-recommend__ranking-copy>a,.ep-home-recommend__body h3,.ep-feature-combo__card-title{font-size:var(--ep-ui-card-title-size,14px)!important;font-weight:var(--ep-ui-card-title-weight,500)!important;line-height:1.42!important}
.ep-home-recommend__featured-copy p,.ep-home-recommend__body>p,.ep-feature-combo__card-excerpt{font-size:var(--ep-ui-card-copy-size,12.5px)!important;font-weight:var(--ep-ui-card-copy-weight,500)!important}
.ep-home-recommend__ranking-copy>div>span:not(.ep-recommend-vip),.ep-home-recommend__meta-tail>span,.ep-feature-combo__metric{font-size:var(--ep-ui-card-meta-size,12px)!important;font-weight:var(--ep-ui-card-meta-weight,540)!important}



/* v0.5.51.98 · operation banner rebuilt on the shared banner carousel */
.ep-home-diy-instance--operation_banner{background:transparent!important}
.ep-banner--operation{margin-top:14px;margin-bottom:14px;min-height:10px!important;background:transparent!important;box-shadow:none!important;border-radius:var(--ep-operation-radius,var(--ep-radius));overflow:hidden}
.ep-banner--operation.ep-banner--contained{width:min(1380px,calc(100% - 40px));margin-left:auto;margin-right:auto}
.ep-banner--operation .ep-banner__frame{min-height:0;border-radius:inherit;overflow:hidden;background:transparent}
.ep-banner--operation .ep-banner__visual{border-radius:inherit;overflow:hidden;background:transparent}
.ep-banner--operation .ep-banner__shade{display:none!important}
.ep-banner--operation .ep-banner__image,.ep-banner--operation .ep-banner__video{object-position:center var(--ep-operation-position-y,50%);filter:blur(var(--ep-operation-blur,0));transform:scale(calc(1 + (var(--ep-operation-blur,0) / 200)))}
.ep-banner--operation-surface .ep-banner__visual{background:transparent}



body.ep-has-site-background-image .ep-home-diy-instance--operation_banner,body.ep-has-site-background-image .ep-banner--operation{background:transparent!important}
@media (max-width:760px){.ep-banner--operation{height:var(--ep-banner-mobile-height,var(--ep-banner-height,180px))!important;min-height:10px!important}.ep-banner--operation.ep-banner--contained{width:calc(100% - 24px);margin-top:10px;margin-bottom:10px}}

/* v0.5.51.99 · Resource Tabs · compact Zibll-inspired information density */































.ep-resource-tabs-state{grid-column:1/-1;padding:24px 18px;border-radius:13px;background:color-mix(in srgb,var(--ep-card) 78%,transparent);color:var(--ep-muted);text-align:center;font-size:13px}




/* v0.5.51.101 — unified Home DIY rhythm + Resource Tabs refinements. */
:root{--ep-home-module-gap:24px}
.ep-home-diy-instance{margin:0!important;padding:0!important;background:transparent!important}
.ep-home-diy-instance + .ep-home-diy-instance{margin-top:var(--ep-home-module-gap)!important}
.ep-home-diy-instance>.ep-home-recommend,
.ep-home-diy-instance>.ep-home-category-showcase,
.ep-home-diy-instance>.ep-home-membership,
.ep-home-diy-instance>.ep-home-topics,
.ep-home-diy-instance>.ep-home-card-codes,
.ep-home-diy-instance>.ep-home-resource-tabs,
.ep-home-diy-instance>.ep-banner--operation{margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}
@media (max-width:760px){:root{--ep-home-module-gap:18px}}

/* Resource Tabs: smaller image, global radius, category colors, left badges / right metrics. */















/* Recommendation titles use exactly one card-title contract on the right mini cards. */
.ep-home-recommend__card--mini .ep-home-recommend__body h3,
.ep-feature-combo__small-copy h3,
.ep-feature-combo__card-title{
  font-size:var(--ep-ui-card-title-size,14px)!important;
  font-weight:var(--ep-ui-card-title-weight,500)!important;
  line-height:1.42!important;
}
body.ep-resource-title-bold .ep-home-recommend__ranking-copy>a,
body.ep-resource-title-bold .ep-home-recommend__body h3,
body.ep-resource-title-bold .ep-feature-combo__small-copy h3,
body.ep-resource-title-bold .ep-feature-combo__card-title,
body.ep-resource-title-bold .ep-resource-tab-card h3{font-weight:var(--ep-ui-card-title-weight,600)!important}
body.ep-resource-title-regular .ep-home-recommend__ranking-copy>a,
body.ep-resource-title-regular .ep-home-recommend__body h3,
body.ep-resource-title-regular .ep-feature-combo__small-copy h3,
body.ep-resource-title-regular .ep-feature-combo__card-title,
body.ep-resource-title-regular .ep-resource-tab-card h3{font-weight:var(--ep-ui-card-title-weight,500)!important}

/* Dark theme text is explicitly theme-driven instead of inheriting light-page hardcoded greys. */

html[data-ep-theme="dark"] .ep-resource-tab-card h3,
html[data-ep-theme="dark"] .ep-resource-tab-card h3 a,
html[data-ep-theme="dark"] .ep-home-recommend__ranking-copy>a,
html[data-ep-theme="dark"] .ep-home-recommend__body h3,
html[data-ep-theme="dark"] .ep-home-recommend__body h3 a,
html[data-ep-theme="dark"] .ep-feature-combo__small-copy h3,
html[data-ep-theme="dark"] .ep-feature-combo__small-copy h3 a{color:var(--ep-card-title)!important}
.ep-home-diy-instance>.ep-software-module{margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}
.ep-home-diy-instance--home_banner>.ep-banner--contained{margin-top:0!important;margin-bottom:0!important}



/* v0.5.51.102 — Resource Tabs: one outer frame, borderless image-text rows, unified author/meta line. */






























@media (max-width:900px){
  
  
  
}
@media (max-width:680px){
  
  
  
  
  
  
}

/* v0.5.51.120 · Stable homepage canvas stages.
 * In single-column mode these wrappers are layout-neutral; when the homepage
 * sidebar is active the content stage becomes the existing two-column grid.
 */
.ep-home-canvas-root,
.ep-home-stage--full,
.ep-home-stage--content.ep-home-stage--single,
.ep-home-main-stage.ep-home-main--single{
  display:contents;
}
.ep-home-stage--content.ep-home-with-sidebar{
  display:grid;
}


/* v0.5.51.121 · A no-sidebar homepage must not inherit two-column width rules. */
.ep-home-stage--content.ep-home-stage--single [data-ep-home-main-stage]{display:contents}




/* v0.5.51.126 — global card-radius contract for Hot + Featured. */
.ep-home-recommend__ranking,.ep-home-recommend__featured,.ep-home-recommend__card,
.ep-home-recommend--mini-layered .ep-home-recommend__card--mini .ep-home-recommend__media,
.ep-home-recommend--mini-layered .ep-home-recommend__card--mini .ep-home-recommend__body,
.ep-home-recommend__card--hero .ep-home-recommend__media,
.ep-feature-combo__hero,.ep-feature-combo__hero-link,.ep-feature-combo__small-media{border-radius:var(--ep-ui-card-radius,var(--ep-radius,18px))!important}


/* v0.5.51.130 · Focus grid (1 hero + 4 small cards) */






















/* v0.5.51.131 — Focus Grid follows the shared Easy Point card contract. */
















/* Resource categories call the exact shared badge helper used by resource cards/featured picks. */






@media (max-width:900px){
  
  
  
  
}
@media (max-width:620px){
  
  
  
  
  
  
  
}


/* v0.5.51.133 — focus-grid hero side switch; mobile keeps hero first. */



@media (max-width:900px){
  
}

/* v0.5.51.134 — generic showcase title size is instance-authoritative and all
 * card-like activity figures continue to obey 字体 / 样式. */

.ep-resource-tab-card__meta,.ep-resource-tab-card__meta-main,
.ep-home-recommend__meta,.ep-feature-combo__small-stats,
.ep-home-category-showcase__lead-stats,.ep-compact-card__meta,
.ep-home-title-list__date{font-size:var(--ep-ui-card-meta-size,12px)!important;font-weight:var(--ep-ui-card-meta-weight,400)!important}


/* v0.5.51.134 — pure-title article collections.  The outer frame uses the exact
 * same content width contract as the other primary homepage modules. */





















/* v0.5.51.134 — focus grid icon-only badges use the same 20px coloured bare icon as every card. */





/* v0.5.51.136 — pure-title showcase: 3:1 category covers + stable hierarchy. */



















@media (max-width:640px){
  
  
  
  
}


/* v0.5.51.137 — pure-title showcase layout refinements. */











/* v0.5.51.138 — pure-title showcase header alignment + 4:1 cover ratio. */






/* Left mode follows the generic-resource header: title + note share one baseline. */



/* Center mode intentionally stacks the note under the title. */



@media (max-width:640px){
  
  
}


/* v0.5.51.139 — pure-title cover defaults / image-only featured covers / unified homepage surface. */



html[data-ep-theme="light"] .ep-home-diy-instance:not(.ep-home-diy-instance--home_top_showcase):not(.ep-home-diy-instance--home_banner),
html[data-ep-theme="light"] .ep-home-main>.ep-home-diy-instance:not(.ep-home-diy-instance--home_top_showcase):not(.ep-home-diy-instance--home_banner){background:transparent!important;border:0!important;box-shadow:none!important}
html[data-ep-theme="light"] .ep-home-recommend__ranking,
html[data-ep-theme="light"] .ep-home-recommend__featured,
html[data-ep-theme="light"] .ep-home-recommend__card,
html[data-ep-theme="light"] .ep-home-title-list__group,
html[data-ep-theme="light"] .ep-resource-tab-card,
html[data-ep-theme="light"] .ep-card{background:var(--ep-card)!important}
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-card,
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-home-recommend__card,
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-home-title-list__group,
html[data-ep-theme="light"] body.ep-has-site-background-image .ep-resource-tab-card{background:var(--ep-card)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* v0.5.51.139 — remove secondary surfaces underneath real cards. */




/* v0.5.51.140 · Header alignment, title-list metrics and fixed operation banner. */














/* v0.5.51.151 — generic showcase lead card shares the resource-card VIP corner contract. */



/* v0.5.51.156 — 热门+精推保留独立的信息层级：VIP 回到价格/胶囊行，不占封面角落。 */
.ep-home-recommend__ranking-thumb,.ep-feature-combo__hero-link,.ep-feature-combo__small-media,.ep-home-recommend__media,.ep-resource-tab-card__media{position:relative}


/* v0.5.51.157 — Layered Featured card layout and six-row baseline alignment. */
/* Layered Featured cards: reserve footer space instead of allowing excerpt to clip VIP/price. */








/* Six ranking rows = 402px panel total. 332px featured content keeps both columns on the same baseline. */
 @media (min-width:921px){
  
}

/* v0.5.51.159 — 热门+精推 VIP 单一契约：排行/精选完全同色、同字重、同图标，不再继承元信息灰度。 */





/* 排行旧规则会把所有 span/b 灰化；VIP 作为明确例外，不再被统计信息样式接管。 */





/* 叠层精选小卡：摘要与 VIP/价格行各占独立轨道，互不覆盖。 */








/* v0.5.51.209: optional photo-wall-style reveal for focus-grid copy. */
@media (hover:hover) and (pointer:fine){
  
  
  
  
}


.ep-banner--operation .ep-banner__frame{position:relative}


/* v0.5.53 · robust stats alignment in the right-side cards of 热门+精推.
 * Keep metric icon/value pairs indivisible even when another plugin or site CSS
 * changes generic span/svg rules or the available card width becomes narrow. */
.ep-feature-combo__small-footer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  justify-content:initial!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.ep-feature-combo__small-footer>.ep-feature-combo__small-price{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.ep-feature-combo__small-footer>.ep-recommend-vip,
.ep-feature-combo__small-footer>.ep-vip-badge{
  justify-self:start!important;
  min-width:0!important;
  max-width:100%!important;
}
.ep-feature-combo__small-stats{
  display:inline-flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  justify-self:end!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  flex:0 0 auto!important;
  gap:7px!important;
  white-space:nowrap!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
.ep-feature-combo__small-stats>span{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
.ep-feature-combo__small-stats>span svg{
  display:block!important;
  width:13px!important;
  height:13px!important;
  min-width:13px!important;
  max-width:none!important;
  flex:0 0 13px!important;
  margin:0!important;
  vertical-align:middle!important;
}
.ep-feature-combo__small-stats>span b{
  display:inline!important;
  flex:0 0 auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  font:inherit!important;
  line-height:1!important;
  white-space:nowrap!important;
}
@media (max-width:1180px){
  .ep-feature-combo__small-footer{gap:6px!important}
  .ep-feature-combo__small-stats{gap:5px!important}
  .ep-feature-combo__small-stats>span svg{width:12px!important;height:12px!important;min-width:12px!important;flex-basis:12px!important}
}

/* v0.5.53 · keep operation-banner media isolated from site/plugin-wide img rules. */
.ep-banner--operation .ep-banner__slides,.ep-banner--operation .ep-banner__slide{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;box-sizing:border-box!important}
.ep-banner--operation .ep-banner__image,.ep-banner--operation .ep-banner__video{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;vertical-align:top!important}
.ep-banner--operation .ep-banner__slide.is-active .ep-banner__image,.ep-banner--operation .ep-banner__slide.is-active .ep-banner__video{opacity:1!important;visibility:visible!important}


/* v0.5.54 · right-side recommendation metrics are stable in both card styles.
 * This covers hero_standard's feature-combo cards and the older layered mini cards;
 * the prior patch only fully constrained the former. */
.ep-feature-combo__small-footer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.ep-feature-combo__small-footer>.ep-feature-combo__small-stats{
  grid-column:2!important;
  justify-self:end!important;
  display:inline-flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  gap:6px!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.ep-feature-combo__small-stats>.ep-feature-combo__small-metric{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:3px!important;
  width:max-content!important;
  min-width:max-content!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
.ep-feature-combo__small-stats>.ep-feature-combo__small-metric svg,
.ep-home-recommend__meta-tail>.ep-home-recommend__metric svg{
  display:block!important;
  width:12px!important;
  height:12px!important;
  min-width:12px!important;
  max-width:none!important;
  flex:0 0 12px!important;
  margin:0!important;
  padding:0!important;
  vertical-align:middle!important;
}
.ep-feature-combo__small-stats>.ep-feature-combo__small-metric b,
.ep-home-recommend__meta-tail>.ep-home-recommend__metric b{
  display:inline!important;
  flex:0 0 auto!important;
  min-width:max-content!important;
  margin:0!important;
  padding:0!important;
  font:inherit!important;
  line-height:1!important;
  white-space:nowrap!important;
}




/* The shared access-badge helper normally positions badges over an image. These
 * instances are in a footer, so restore normal flow while retaining its free icon. */
.ep-feature-combo__hero-footer>.ep-feature-combo__hero-free,
.ep-feature-combo__small-footer>.ep-feature-combo__small-free,
.ep-home-recommend__meta>.ep-home-recommend__free-badge{
  position:static!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  z-index:auto!important;
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-self:center!important;
  justify-self:start!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  height:21px!important;
  min-height:21px!important;
  margin:0!important;
  padding:0 7px 0 6px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
.ep-feature-combo__hero-footer>.ep-feature-combo__hero-free .ep-vip-badge__icon,
.ep-feature-combo__small-footer>.ep-feature-combo__small-free .ep-vip-badge__icon,
.ep-home-recommend__meta>.ep-home-recommend__free-badge .ep-vip-badge__icon{
  display:inline-flex!important;
  flex:0 0 12px!important;
  align-items:center!important;
  justify-content:center!important;
  width:12px!important;
  height:12px!important;
}
@media (max-width:1180px){
  .ep-feature-combo__small-footer{gap:5px!important}
  .ep-feature-combo__small-footer>.ep-feature-combo__small-stats,
  .ep-home-recommend__card--mini .ep-home-recommend__meta-tail{gap:5px!important}
}


/* v0.5.55 — Stable independent rows for Featured cards across empty excerpts,
 * absent categories, different WordPress markup wrappers, and site-level CSS. */








/* Featured/Recommended cards use inline access labels, not filled overlay pills. */
.ep-home-recommend .ep-resource-access-badge,
.ep-home-recommend .ep-recommend-vip,
.ep-feature-combo .ep-resource-access-badge,
.ep-feature-combo .ep-recommend-vip,
.ep-home-recommend .ep-resource-access-badge *,
.ep-home-recommend .ep-recommend-vip *,
.ep-feature-combo .ep-resource-access-badge *,
.ep-feature-combo .ep-recommend-vip *{
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.ep-home-recommend .ep-resource-access-badge,
.ep-home-recommend .ep-recommend-vip,
.ep-feature-combo .ep-resource-access-badge,
.ep-feature-combo .ep-recommend-vip{
  position:static!important;inset:auto!important;
  background:transparent!important;border:0!important;border-color:transparent!important;
  border-radius:0!important;padding:0!important;min-height:0!important;height:auto!important;
  line-height:1.15!important;vertical-align:middle!important;
}
.ep-home-recommend .ep-resource-access-badge .ep-vip-badge__icon,
.ep-home-recommend .ep-recommend-vip .ep-vip-badge__icon,
.ep-feature-combo .ep-resource-access-badge .ep-vip-badge__icon,
.ep-feature-combo .ep-recommend-vip .ep-vip-badge__icon{
  background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;
}

/* Both small-card implementations keep metrics at the capsule's bottom-right edge. */
.ep-feature-combo__small-copy{
  display:flex!important;flex-direction:column!important;min-width:0!important;
}
.ep-feature-combo__small-footer{
  margin-top:auto!important;align-self:stretch!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  min-width:0!important;
}
.ep-feature-combo__small-footer>.ep-feature-combo__small-free,
.ep-feature-combo__small-footer>.ep-recommend-vip,
.ep-feature-combo__small-footer>.ep-vip-badge{
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;
}


/* v0.5.56 — Keep operation banner media visible even when global/plugin image rules
 * set img dimensions, and give the shared carousel a definite containing height. */
.ep-banner--operation{
  position:relative!important;display:block!important;
  height:var(--ep-banner-height,180px)!important;min-height:10px!important;
  isolation:isolate!important;overflow:hidden!important;
}
.ep-banner--operation .ep-banner__frame,
.ep-banner--operation .ep-banner__visual,
.ep-banner--operation .ep-banner__slides{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
}
.ep-banner--operation .ep-banner__visual{z-index:0!important;overflow:hidden!important}
.ep-banner--operation .ep-banner__slides{z-index:1!important;overflow:hidden!important}
.ep-banner--operation .ep-banner__slide{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
  overflow:hidden!important;box-sizing:border-box!important;
}
.ep-banner--operation .ep-banner__slide:not(.is-active){opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.ep-banner--operation .ep-banner__slide.is-active{z-index:2!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.ep-banner--operation .ep-banner__slide>.ep-banner__image,
.ep-banner--operation .ep-banner__slide>.ep-banner__video{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
  max-width:none!important;max-height:none!important;object-position:center var(--ep-operation-position-y,50%)!important;
}
.ep-banner--operation .ep-banner__slide.is-active>.ep-banner__image,
.ep-banner--operation .ep-banner__slide.is-active>.ep-banner__video{opacity:1!important;visibility:visible!important}
.ep-banner--operation .ep-banner__fixed-image{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important}
.ep-banner--operation .ep-banner__shade{display:none!important}

/* v0.5.58 — Homepage FREE badges keep the same clean style as other access labels. */
.ep-home-recommend .ep-resource-access-badge.is-free,
.ep-home-recommend .ep-resource-access-badge.is-free b,
.ep-home-recommend .ep-home-recommend__free-badge,
.ep-home-recommend .ep-home-recommend__free-badge b,
.ep-feature-combo .ep-resource-access-badge.is-free,
.ep-feature-combo .ep-resource-access-badge.is-free b,
.ep-feature-combo .ep-feature-combo__small-free,
.ep-feature-combo .ep-feature-combo__small-free b,
.ep-feature-combo .ep-feature-combo__hero-free,
.ep-feature-combo .ep-feature-combo__hero-free b{
  color:#138a52!important;
  -webkit-text-stroke:0!important;
  text-shadow:none!important;
  filter:none!important;
  font-weight:780!important;
}
.ep-home-recommend .ep-resource-access-badge.is-free .ep-vip-badge__icon,
.ep-home-recommend .ep-home-recommend__free-badge .ep-vip-badge__icon,
.ep-feature-combo .ep-resource-access-badge.is-free .ep-vip-badge__icon,
.ep-feature-combo .ep-feature-combo__small-free .ep-vip-badge__icon,
.ep-feature-combo .ep-feature-combo__hero-free .ep-vip-badge__icon{
  color:#138a52!important;
  filter:none!important;
  text-shadow:none!important;
}
