/* Easy Point shared component layer — v0.5.33 */
.ep-component-card{min-width:0}
.ep-resource-grid--shared{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.ep-resource-grid--shared .ep-card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--ep-card-title-lines,2);overflow:hidden}
.ep-resource-grid--shared .ep-card__body>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--ep-card-excerpt-lines,3);overflow:hidden}

.ep-shared-compact-list{display:grid;gap:10px}
.ep-compact-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:11px;align-items:stretch;padding:9px;border:1px solid var(--ep-line,#e7e9ef);border-radius:calc(var(--ep-radius,18px) * .72);background:var(--ep-card,#fff)}
.ep-compact-card__media{display:block;min-width:0;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:rgba(120,130,150,.08)}
.ep-compact-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.ep-compact-card__body{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:5px}
.ep-compact-card__body h4{margin:0;font-size:14px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ep-compact-card__body h4 a{text-decoration:none;color:inherit}
.ep-compact-card__body p{margin:0;color:var(--ep-muted,#747b86);font-size:12px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ep-compact-card__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--ep-muted,#747b86);font-size:11px}
.ep-compact-card__meta strong{color:var(--ep-accent,#5b5ef7)}

.ep-shared-ranking{display:grid;gap:9px;margin:0;padding:0;list-style:none;counter-reset:none}
.ep-shared-ranking__item{display:grid;grid-template-columns:28px 116px minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding:8px;border-radius:12px;background:color-mix(in srgb,var(--ep-card,#fff) 94%,transparent)}
.ep-shared-ranking.no-thumb .ep-shared-ranking__item{grid-template-columns:28px minmax(0,1fr)}
.ep-shared-ranking__number{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:color-mix(in srgb,var(--ep-accent,#5b5ef7) 10%,transparent);color:var(--ep-accent,#5b5ef7);font-size:12px;font-weight:800}
.ep-shared-ranking__item:nth-child(-n+3) .ep-shared-ranking__number{background:color-mix(in srgb,var(--ep-accent,#5b5ef7) 18%,transparent)}
.ep-shared-ranking__thumb{display:block;aspect-ratio:16/9;border-radius:9px;overflow:hidden;background:rgba(120,130,150,.08)}
.ep-shared-ranking__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.ep-shared-ranking__copy{min-width:0;display:grid;gap:4px}
.ep-shared-ranking__title{color:inherit;text-decoration:none;font-size:13px;font-weight:700;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ep-shared-ranking__copy p{margin:0;color:var(--ep-muted,#747b86);font-size:11px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ep-shared-ranking__copy small{color:var(--ep-muted,#747b86);font-size:11px}

.ep-resource-filter{margin:14px 0 12px;border:1px solid var(--ep-line,#e4e7ee);border-radius:14px;background:var(--ep-card,#fff);overflow:hidden}
.ep-resource-filter>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 14px;cursor:pointer;list-style:none;background:color-mix(in srgb,var(--ep-card,#fff) 94%,var(--ep-accent,#5b5ef7) 6%)}
.ep-resource-filter>summary::-webkit-details-marker{display:none}
.ep-resource-filter>summary>span{display:grid;gap:1px;min-width:0}
.ep-resource-filter>summary strong{font-size:14px}.ep-resource-filter>summary small{color:var(--ep-muted,#747b86);font-size:11px;font-weight:400}
.ep-resource-filter>summary>b{margin-left:auto;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--ep-accent,#5b5ef7) 12%,transparent);color:var(--ep-accent,#5b5ef7);font-size:11px}
.ep-resource-filter>summary>i{font-style:normal;transition:transform .18s ease}.ep-resource-filter[open]>summary>i{transform:rotate(180deg)}
.ep-resource-filter__form{display:grid;grid-template-columns:minmax(150px,190px) minmax(170px,210px) minmax(220px,1fr) auto;gap:10px;align-items:end;padding:13px 14px 14px}
.ep-resource-filter__form label{display:grid;gap:5px;min-width:0}.ep-resource-filter__form label>span{font-size:11px;font-weight:700;color:var(--ep-muted,#667085)}
.ep-resource-filter__form select,.ep-resource-filter__form input{width:100%;height:38px;padding:0 10px;border:1px solid var(--ep-line,#dfe3ea);border-radius:9px;background:var(--ep-card,#fff);color:inherit}
.ep-resource-filter__actions{display:flex;align-items:center;gap:8px;min-height:38px}
.ep-resource-filter__actions button,.ep-resource-filter__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border-radius:9px;text-decoration:none;font-size:12px;font-weight:700}
.ep-resource-filter__actions button{border:1px solid var(--ep-accent,#5b5ef7);background:var(--ep-accent,#5b5ef7);color:#fff;cursor:pointer}.ep-resource-filter__actions a{border:1px solid var(--ep-line,#dfe3ea);color:inherit}

@media(max-width:900px){.ep-resource-filter__form{grid-template-columns:repeat(2,minmax(0,1fr))}.ep-resource-filter__keyword,.ep-resource-filter__actions{grid-column:1/-1}.ep-resource-filter__actions{justify-content:flex-end}}
@media(max-width:620px){.ep-resource-grid--shared{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ep-compact-card{grid-template-columns:94px minmax(0,1fr);padding:8px}.ep-shared-ranking__item{grid-template-columns:26px 104px minmax(0,1fr);padding:7px}.ep-resource-filter__form{grid-template-columns:1fr;padding:10px}.ep-resource-filter__keyword,.ep-resource-filter__actions{grid-column:auto}.ep-resource-filter__actions{justify-content:stretch}.ep-resource-filter__actions>*{flex:1}}

/* v0.5.34: resource filter follows Easy Point light/dark theme tokens. */
.ep-resource-filter{color:var(--ep-text)}
.ep-resource-filter>summary{color:var(--ep-text)}
.ep-resource-filter__form{background:var(--ep-card)}
.ep-resource-filter__form select,.ep-resource-filter__form input{background:var(--ep-surface-soft,var(--ep-card));color:var(--ep-text);border-color:var(--ep-line);color-scheme:light dark}
.ep-resource-filter__form input::placeholder{color:var(--ep-muted);opacity:.82}
.ep-resource-filter__actions a{background:var(--ep-card);border-color:var(--ep-line);color:var(--ep-text)}
html[data-ep-theme="dark"] .ep-resource-filter{box-shadow:0 10px 30px rgba(0,0,0,.12)}
html[data-ep-theme="dark"] .ep-resource-filter>summary{background:color-mix(in srgb,var(--ep-card) 92%,var(--ep-accent) 8%)}

/* v0.5.37: shared geometry and light/dark states, including missing covers. */
.ep-component-card{min-width:0;box-sizing:border-box}
.ep-compact-card,.ep-shared-ranking__item{color:var(--ep-text);border-color:var(--ep-line);background:var(--ep-card)}
.ep-compact-card{grid-template-columns:112px minmax(0,1fr)}
.ep-shared-ranking__item{grid-template-columns:26px 116px minmax(0,1fr)}
.ep-compact-card.is-text-only{grid-template-columns:minmax(0,1fr)}
.ep-shared-ranking__item.is-text-only,.ep-shared-ranking.no-thumb .ep-shared-ranking__item{grid-template-columns:26px minmax(0,1fr)}
.ep-compact-card__media,.ep-shared-ranking__thumb{align-self:start;aspect-ratio:16/9;background:var(--ep-surface-soft,var(--ep-card))}
.ep-compact-card__body h4,.ep-shared-ranking__title{overflow-wrap:anywhere}
.ep-compact-card__body p,.ep-shared-ranking__copy p{overflow-wrap:anywhere}
.ep-compact-card__meta:empty{display:none}
.ep-compact-card__meta strong{overflow-wrap:anywhere}
.ep-component-card a:focus-visible,.ep-card[data-ep-resource-card]:focus-visible{outline:2px solid var(--ep-accent);outline-offset:3px;border-radius:4px}
.ep-resource-grid--shared>.ep-card:not(.ep-card--audio) .ep-card__body>h3{min-height:calc(var(--ep-card-title-lines,2) * 1.36em);overflow-wrap:anywhere}
.ep-resource-grid--shared>.ep-card .ep-card__footer{margin-top:auto;flex-wrap:wrap;gap:8px}
@media(hover:hover){.ep-compact-card:hover,.ep-shared-ranking__item:hover{background:var(--ep-surface-soft,var(--ep-card))}}
@media(prefers-reduced-motion:reduce){.ep-component-card,.ep-component-card *{transition:none!important;animation:none!important}}

/* v0.5.47 · unified async/empty/payment/delivery states */
.ep-state{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:14px;min-height:132px;padding:26px 28px;border:1px dashed var(--ep-line,#e4e7ee);border-color:color-mix(in srgb,var(--ep-line,#e4e7ee) 86%,var(--ep-accent,#5b5ef7) 14%);border-radius:16px;background:var(--ep-card,#fff);background:color-mix(in srgb,var(--ep-card,#fff) 96%,var(--ep-accent,#5b5ef7) 4%);color:var(--ep-text,#151925);text-align:left}
.ep-state__icon{position:relative;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--ep-accent,#5b5ef7) 12%,transparent)}
.ep-state__icon--empty:before{content:"";position:absolute;left:9px;right:9px;top:11px;height:13px;border:2px solid var(--ep-muted,#6d7482);border-radius:4px}.ep-state__icon--empty:after{content:"";position:absolute;left:14px;right:14px;top:7px;border-top:2px solid var(--ep-muted,#6d7482)}
.ep-state__icon--search:before{content:"";position:absolute;width:13px;height:13px;border:2px solid var(--ep-muted,#6d7482);border-radius:50%;left:9px;top:8px}.ep-state__icon--search:after{content:"";position:absolute;width:10px;border-top:2px solid var(--ep-muted,#6d7482);transform:rotate(45deg);left:20px;top:23px}
.ep-state__icon--warning:before{content:"!";position:absolute;inset:0;display:grid;place-items:center;font-weight:900;color:#b45309;font-size:20px}
.ep-state__icon--spinner:before{content:"";position:absolute;inset:9px;border:2px solid color-mix(in srgb,var(--ep-accent,#5b5ef7) 20%,transparent);border-top-color:var(--ep-accent,#5b5ef7);border-radius:50%;animation:ep-state-spin .72s linear infinite}
.ep-state__copy{display:grid;gap:3px;min-width:0;max-width:660px}.ep-state__copy strong{font-size:15px;line-height:1.45}.ep-state__copy p{margin:0;color:var(--ep-muted,#6d7482);font-size:13px;line-height:1.6}.ep-state__action{margin-left:8px;flex:0 0 auto}.ep-state--compact{min-height:0;padding:13px 15px;justify-content:flex-start}.ep-state--compact .ep-state__icon{width:30px;height:30px;flex-basis:30px;border-radius:9px}.ep-state--compact .ep-state__icon--spinner:before{inset:7px}.ep-state--compact .ep-state__copy strong{font-size:13px}.ep-state--compact .ep-state__copy p{font-size:12px}.ep-state--delivery_failed{border-style:solid;background:var(--ep-card,#fff);background:color-mix(in srgb,#f59e0b 7%,var(--ep-card,#fff))}
@keyframes ep-state-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){.ep-state{align-items:flex-start;justify-content:flex-start;min-height:112px;padding:20px}.ep-state__action{margin:10px 0 0}.ep-state:not(.ep-state--compact){flex-wrap:wrap}}



/* v0.5.51.96 — mature soft typography inspired by high-density Chinese content sites.
   Larger reading sizes, softer neutral greys, and lower title weights reduce harsh white-theme contrast. */
:root{
  --ep-heading:#343d4c;
  --ep-card-title:#414d60;
  --ep-text:#5c687a;
  --ep-muted:#8993a3;
  --ep-muted-soft:#a3acb9;
  --ep-ui-section-title-size:22px;
  --ep-ui-section-title-weight:720;
  --ep-ui-card-title-size:15.5px;
  --ep-ui-card-title-weight:680;
  --ep-ui-card-copy-size:12.5px;
  --ep-ui-card-copy-weight:450;
  --ep-ui-card-meta-size:12px;
  --ep-ui-card-meta-weight:500;
  --ep-ui-card-price-size:16.5px;
  --ep-ui-card-price-weight:800;
}
html[data-ep-theme="light"]{
  --ep-heading:#343d4c!important;
  --ep-card-title:#414d60!important;
  --ep-text:#5c687a!important;
  --ep-muted:#8993a3!important;
  --ep-muted-soft:#a3acb9!important;
  --ep-line:#edf0f4!important;
}
body{
  font-family:var(--ep-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","PingFang SC","Microsoft YaHei",Arial,sans-serif);
  font-size:15px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
html[data-ep-theme="light"] body{color:var(--ep-text)!important}

/* Navigation and everyday controls: readable without looking bold/heavy. */
.ep-brand{font-weight:720}
.ep-nav a,.ep-menu>li>a,.ep-menu-more__button{font-size:max(var(--ep-nav-size,15px),15px);font-weight:560}
.ep-language,.ep-language a{font-size:13.5px}
.ep-btn,.ep-button,button,input,select,textarea{font-size:14px}
html[data-ep-theme="light"] .ep-header.ep-header--theme-bg,
html[data-ep-theme="light"] .ep-header.ep-header--nav-auto .ep-menu>li>a,
html[data-ep-theme="light"] .ep-header.ep-header--nav-auto .ep-menu-more__button,
html[data-ep-theme="light"] .ep-header.ep-header--nav-auto .ep-language,
html[data-ep-theme="light"] .ep-header.ep-header--nav-auto .ep-language a,
html[data-ep-theme="light"] .ep-header.ep-header--nav-auto .ep-brand{color:#556174!important}

/* Global content hierarchy. Avoid near-black headings on white surfaces. */
html[data-ep-theme="light"] .ep-module-title,
html[data-ep-theme="light"] .ep-section__head h2,
html[data-ep-theme="light"] .ep-page-head h1,
html[data-ep-theme="light"] .ep-panel-title-row h2,
html[data-ep-theme="light"] .ep-home-recommend__heading h2,
html[data-ep-theme="light"] .ep-home-topics__heading-copy h2,
html[data-ep-theme="light"] .ep-home-card-codes__heading h2{color:var(--ep-heading)!important;font-weight:720!important}
.ep-module-title,.ep-section__head h2,.ep-panel-title-row h2{font-size:22px!important;line-height:1.3!important;letter-spacing:-.012em!important}
.ep-page-head h1{font-size:40px!important;font-weight:720!important;letter-spacing:-.025em!important}
.ep-content{font-size:15.5px;line-height:1.82}
.ep-content p,.ep-content li{font-size:15.5px;line-height:1.82}
.ep-content h2{font-size:25px;line-height:1.38;font-weight:720}
.ep-content h3{font-size:20px;line-height:1.42;font-weight:700}
.ep-sidebar{font-size:14.5px;line-height:1.7}
.ep-resource-facts{font-size:13.5px}

/* Resource cards: larger text, gentler greys, lighter weights. */
body .ep-card:not(.ep-card--audio) h3,
body.ep-resource-card-style-default .ep-card:not(.ep-card--audio) h3,
body.ep-resource-card-style-minimal .ep-card:not(.ep-card--audio) h3{
  color:var(--ep-card-title)!important;
  font-size:var(--ep-ui-card-title-size,15.5px)!important;
  font-weight:var(--ep-ui-card-title-weight,680)!important;
  line-height:1.42!important;
}
body .ep-card:not(.ep-card--audio) h3 a{color:inherit!important}
body.ep-resource-card-style-default .ep-card:not(.ep-card--audio) p{
  color:var(--ep-muted)!important;
  font-size:var(--ep-ui-card-copy-size,12.5px)!important;
  font-weight:var(--ep-ui-card-copy-weight,450)!important;
  line-height:1.5!important;
}
body.ep-resource-card-style-default .ep-card:not(.ep-card--audio) .ep-card__meta{font-size:11.5px!important;color:var(--ep-muted)!important}
body.ep-resource-card-style-default .ep-card:not(.ep-card--audio) .ep-card__stats,
body.ep-resource-card-style-default .ep-card:not(.ep-card--audio) .ep-card__stats .ep-metric b{font-size:12px!important;font-weight:500!important;color:var(--ep-muted)!important}
body.ep-resource-card-style-default .ep-card:not(.ep-card--audio) .ep-card__footer-date{font-size:11.5px!important;color:var(--ep-muted)!important}
.ep-card--audio .ep-card__body h3{font-size:15.5px!important;font-weight:680!important;color:var(--ep-card-title)!important}
.ep-card--audio .ep-card__meta,.ep-audio-card-player__status{font-size:11px!important;color:var(--ep-muted)!important}

/* Shared lists / rankings / filters. */
.ep-compact-card__body h4{font-size:15px;font-weight:680;color:var(--ep-card-title)}
.ep-compact-card__body p{font-size:12.5px;color:var(--ep-muted)}
.ep-compact-card__meta{font-size:12px;color:var(--ep-muted)}
.ep-shared-ranking__title{font-size:14.5px;font-weight:650;color:var(--ep-card-title)}
.ep-shared-ranking__copy p{font-size:12.5px;color:var(--ep-muted)}
.ep-shared-ranking__copy small{font-size:11.5px;color:var(--ep-muted)}
.ep-resource-filter>summary strong{font-size:14.5px;font-weight:650;color:var(--ep-card-title)}
.ep-resource-filter>summary small,.ep-resource-filter__form label>span{font-size:12px;color:var(--ep-muted)}
.ep-resource-filter__actions button,.ep-resource-filter__actions a{font-size:13px;font-weight:650}

/* Homepage module hierarchy. */
.ep-home-recommend__heading h2{font-size:22px!important;font-weight:720!important}
.ep-home-recommend__ranking-copy>a{font-size:14.5px!important;font-weight:680!important;color:var(--ep-card-title)!important}
.ep-home-recommend__ranking-copy span{font-size:12px!important;font-weight:500!important;color:var(--ep-muted)!important}
.ep-home-recommend__body h3{font-size:15.5px!important;font-weight:680!important;color:var(--ep-card-title)!important}
.ep-home-recommend__body>p{font-size:12.5px!important;font-weight:450!important;line-height:1.48!important;color:var(--ep-muted)!important}
.ep-home-recommend__more,.ep-home-recommend__periods button{font-size:12.5px!important;font-weight:600!important}
.ep-home-category-showcase__cats button.ep-home-category-showcase__cat,
.ep-home-category-showcase__cats a.ep-home-category-showcase__cat{font-size:12.5px!important;font-weight:580!important;color:#7e8998!important}
.ep-home-category-showcase__cat--primary{font-size:13.5px!important;font-weight:650!important}
.ep-home-category-showcase__cat-label{font-size:12px!important;font-weight:650!important;color:var(--ep-muted)!important}
.ep-home-category-showcase__sort{font-size:13px!important;font-weight:600!important;color:var(--ep-muted)!important}
.ep-home-topics__heading-copy h2{color:var(--ep-heading)!important;font-size:27px!important;font-weight:720!important}
.ep-home-topics__heading-copy p{font-size:13.5px!important;font-weight:450!important;color:var(--ep-muted)!important}
.ep-home-topics__head-link{font-size:12.5px!important;font-weight:600!important}
.ep-home-topics__card-copy strong{font-size:19px!important;font-weight:720!important}
.ep-home-topics__card-copy small{font-size:13px!important;font-weight:450!important}
.ep-home-topics__view-btn{font-size:13px!important;font-weight:680!important}
.ep-home-card-codes__heading h2{font-size:22px!important;font-weight:720!important;color:var(--ep-heading)!important}
.ep-home-card-codes__heading p{font-size:13px!important;font-weight:450!important;color:var(--ep-muted)!important}
.ep-home-card-codes__more{font-size:12.5px!important;font-weight:600!important}
.ep-home-card-codes__title{font-size:15.5px!important;font-weight:680!important;color:var(--ep-card-title)!important}
.ep-home-card-codes__desc{font-size:12.5px!important;font-weight:450!important;line-height:1.5!important;color:var(--ep-muted)!important}
.ep-home-card-codes__buy{font-size:12.5px!important;font-weight:680!important}

/* Hero text: preserve emphasis, remove near-black heaviness. */
html[data-ep-theme="light"] .ep-design-top__copy h1{color:#354052!important;font-weight:780!important}
html[data-ep-theme="light"] .ep-design-top__copy>p{color:#6f7a8c!important;font-size:15.5px!important;font-weight:480!important;line-height:1.68!important}
html[data-ep-theme="light"] .ep-design-top__search input{color:#536074!important;font-size:14.5px!important;font-weight:480!important}
html[data-ep-theme="light"] .ep-design-top__keywords,
html[data-ep-theme="light"] .ep-design-top__keywords a{color:#8792a3!important;font-size:13.5px!important;font-weight:480!important}
html[data-ep-theme="light"] .ep-design-top__keywords strong{color:#657186!important;font-size:13.5px!important;font-weight:650!important}
html[data-ep-theme="light"] .ep-design-top__stat strong,
html[data-ep-theme="light"] .ep-design-top__stat:first-child strong{color:#4d5a6f!important;font-weight:760!important}
html[data-ep-theme="light"] .ep-design-top__stat span{color:#8b95a5!important;font-size:12px!important;font-weight:520!important}
html[data-ep-theme="light"] .ep-design-top__quick b{font-size:12.5px!important;font-weight:680!important}

/* Mobile remains comfortable instead of collapsing back to tiny copy. */
@media(max-width:720px){
  body{font-size:14.5px}
  .ep-module-title,.ep-section__head h2,.ep-panel-title-row h2{font-size:20px!important}
  body .ep-card:not(.ep-card--audio) h3{font-size:15px!important}
  body.ep-resource-card-style-default .ep-card:not(.ep-card--audio) p{font-size:12px!important}
  html[data-ep-theme="light"] .ep-design-top__copy>p{font-size:14px!important}
  html[data-ep-theme="light"] .ep-design-top__keywords,
  html[data-ep-theme="light"] .ep-design-top__keywords a,
  html[data-ep-theme="light"] .ep-design-top__keywords strong{font-size:12.5px!important}
}

/* v0.5.51.108 — one compact title contract for front-end cards.
   Dense content cards stay at 13.5px (13px on small screens), while visual topic cards only step down slightly. */
:root{--ep-ui-card-title-size:13.5px}
body .ep-card:not(.ep-card--audio) h3,
body.ep-resource-card-style-default .ep-card:not(.ep-card--audio) h3,
body.ep-resource-card-style-minimal .ep-card:not(.ep-card--audio) h3,
.ep-card--audio .ep-card__body h3,
.ep-compact-card__body h4,
.ep-home-recommend__body h3,
.ep-home-recommend__card--mini .ep-home-recommend__body h3,
.ep-feature-combo__small-copy h3,
.ep-feature-combo__card-title,
.ep-resource-tab-card h3,
.ep-home-card-codes__title,
.ep-operation-list-card__body h3,
.ep-card--operation .ep-operation-list-card__body h3{
  font-size:var(--ep-ui-card-title-size,13.5px)!important;
  font-weight:var(--ep-ui-card-title-weight,500)!important;
  line-height:1.46!important;
}
.ep-shared-ranking__title,
.ep-home-recommend__ranking-copy>a{
  font-size:13px!important;
  font-weight:var(--ep-ui-card-title-weight,500)!important;
  line-height:1.45!important;
}
.ep-operation--place-resource_sidebar .ep-operation-card-front__copy h3{font-size:14px!important;line-height:1.42!important}
.ep-home-topics__card-copy strong{font-size:18px!important;line-height:1.22!important}
body.ep-resource-title-bold .ep-shared-ranking__title,
body.ep-resource-title-bold .ep-home-recommend__ranking-copy>a,
body.ep-resource-title-bold .ep-card-store-card h3{font-weight:600!important}
@media(max-width:720px){.ep-home-topics__card-copy strong{font-size:17px!important}}
@media(max-width:640px){
  :root{--ep-ui-card-title-size:13px}
  .ep-shared-ranking__title,.ep-home-recommend__ranking-copy>a{font-size:12.75px!important}
}

/* v0.5.51.110 — neutral low-glare default + preserved warm-paper preset.
   Ordinary front-end resource/card titles are 14.5px / 400; explicit bold mode remains opt-in. */
:root{
  --ep-page-bg:#f2f3f1;
  --ep-module-bg:#f6f7f5;
  --ep-card:#fafbf9;
  --ep-heading:#303430;
  --ep-card-title:#3b403b;
  --ep-text:#555b55;
  --ep-muted:#757b74;
  --ep-muted-soft:#969c95;
  --ep-line:#e1e4df;
  --ep-surface-soft:#f5f6f4;
  --ep-shadow:0 6px 20px rgba(45,55,48,.035);
  --ep-ui-card-border-color:#e1e4df;
  --ep-ui-card-shadow:0 2px 9px rgba(45,55,48,.025);
  --ep-ui-card-surface:#fafbf9;
  --ep-ui-card-body:#fafbf9;
  --ep-ui-card-title-size:14.5px;
  --ep-ui-card-title-weight:400;
  --ep-ui-card-meta-weight:400;
}
html[data-ep-theme="light"]{
  --ep-bg:var(--ep-page-bg)!important;
  --ep-card:#fafbf9!important;
  --ep-heading:#303430!important;
  --ep-card-title:#3b403b!important;
  --ep-text:#555b55!important;
  --ep-muted:#757b74!important;
  --ep-muted-soft:#969c95!important;
  --ep-line:#e1e4df!important;
  --ep-surface-soft:#f5f6f4!important;
  --ep-header-theme-bg:rgba(248,249,247,.96)!important;
  --ep-footer-theme-bg:#242824!important;
  --ep-footer-theme-text:#c9cec9!important;
  --ep-shadow:0 6px 20px rgba(45,55,48,.035)!important;
}
html[data-ep-theme="light"] body:not(.ep-has-site-background-image){background:var(--ep-page-bg)!important}
html[data-ep-theme="light"] .ep-card,
html[data-ep-theme="light"] .ep-content,
html[data-ep-theme="light"] .ep-sidebar,
html[data-ep-theme="light"] .ep-purchase-box,
html[data-ep-theme="light"] .ep-empty{background:var(--ep-card)!important;border-color:var(--ep-line)!important}

/* v109 warm-paper palette is intentionally retained as a selectable preset. */
html[data-ep-site-bg-mode="warm"][data-ep-theme="light"]{
  --ep-bg:#f4f1eb!important;
  --ep-card:#fcfaf6!important;
  --ep-heading:#34312d!important;
  --ep-card-title:#403c37!important;
  --ep-text:#5b554e!important;
  --ep-muted:#786f66!important;
  --ep-muted-soft:#9a9288!important;
  --ep-line:#e3ddd4!important;
  --ep-surface-soft:#f8f5f0!important;
  --ep-header-theme-bg:rgba(250,248,244,.95)!important;
  --ep-footer-theme-bg:#26231f!important;
  --ep-footer-theme-text:#cbc3b9!important;
  --ep-shadow:0 6px 20px rgba(67,55,43,.035)!important;
}
html[data-ep-site-bg-mode="warm"][data-ep-theme="light"] body:not(.ep-has-site-background-image){background:#f4f1eb!important}
html[data-ep-site-bg-mode="warm"][data-ep-theme="light"] .ep-card,
html[data-ep-site-bg-mode="warm"][data-ep-theme="light"] .ep-content,
html[data-ep-site-bg-mode="warm"][data-ep-theme="light"] .ep-sidebar,
html[data-ep-site-bg-mode="warm"][data-ep-theme="light"] .ep-purchase-box,
html[data-ep-site-bg-mode="warm"][data-ep-theme="light"] .ep-empty{background:#fcfaf6!important;border-color:#e3ddd4!important}

html[data-ep-theme="dark"]{
  --ep-bg:#1d2024!important;
  --ep-card:#25292e!important;
  --ep-heading:#e7eaed!important;
  --ep-card-title:#dce0e3!important;
  --ep-text:#c7ccd1!important;
  --ep-muted:#9ca3aa!important;
  --ep-muted-soft:#858c93!important;
  --ep-line:#3a4046!important;
  --ep-surface-soft:#2c3035!important;
  --ep-header-theme-bg:rgba(32,35,39,.96)!important;
  --ep-footer-theme-bg:#17191c!important;
  --ep-footer-theme-text:#c7ccd1!important;
  --ep-shadow:0 12px 34px rgba(0,0,0,.20)!important;
}

body .ep-card:not(.ep-card--audio) h3,
body.ep-resource-card-style-default .ep-card:not(.ep-card--audio) h3,
body.ep-resource-card-style-minimal .ep-card:not(.ep-card--audio) h3,
.ep-card--audio .ep-card__body h3,
.ep-compact-card__body h4,
.ep-home-recommend__body h3,
.ep-home-recommend__card--mini .ep-home-recommend__body h3,
.ep-feature-combo__small-copy h3,
.ep-feature-combo__card-title,
.ep-resource-tab-card h3,
.ep-home-card-codes__title,
.ep-operation-list-card__body h3,
.ep-card--operation .ep-operation-list-card__body h3,
.ep-card-store-card h3,
.ep-shared-ranking__title,
.ep-home-recommend__ranking-copy>a{
  font-size:var(--ep-ui-card-title-size,14.5px)!important;
  font-weight:400!important;
  line-height:1.45!important;
}
body.ep-resource-title-bold .ep-card:not(.ep-card--audio) h3,
body.ep-resource-title-bold .ep-compact-card__body h4,
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-resource-tab-card h3,
body.ep-resource-title-bold .ep-shared-ranking__title,
body.ep-resource-title-bold .ep-home-recommend__ranking-copy>a{font-weight:600!important}

.ep-card__author,
.ep-card__author-name,
.ep-resource-tab-card__author,
.ep-resource-tab-card__author>span{font-weight:400!important}
.ep-card__stats,
.ep-card__stats b,
.ep-card__stats .ep-metric,
.ep-card__stats .ep-metric b,
.ep-metric b,
.ep-resource-fact-metric b,
.ep-home-recommend__ranking-copy span,
.ep-home-recommend__ranking-copy span b,
.ep-home-recommend__meta-tail>span,
.ep-home-recommend__meta-tail b,
.ep-feature-combo__metric,
.ep-feature-combo__metric b,
.ep-feature-combo__small-stats,
.ep-feature-combo__small-stats b,
.ep-home-category-showcase__lead-stats,
.ep-home-category-showcase__lead-stats b,
.ep-resource-tab-card__stats>span:not(.ep-resource-tab-card__price){font-weight:400!important}

.ep-home-recommend__ranking-loading{position:relative;gap:8px}
.ep-home-recommend__ranking-loading:before{
  content:"";width:13px;height:13px;border:2px solid color-mix(in srgb,var(--ep-muted) 28%,transparent);
  border-top-color:var(--ep-accent);border-radius:50%;animation:ep-ranking-spin .75s linear infinite
}
.ep-home-recommend__ranking-error{color:color-mix(in srgb,#b42318 72%,var(--ep-muted))!important}
@keyframes ep-ranking-spin{to{transform:rotate(360deg)}}

@media(max-width:640px){
  :root{--ep-ui-card-title-size:14px}
}

/* v0.5.51.111 — ordinary resource-card titles: 15px / 500.
 * Keep the explicit “标题加粗” option at 600; supporting metadata stays regular. */
:root{--ep-ui-card-title-size:15px;--ep-ui-card-title-weight:500}
body.ep-resource-title-regular:not(.ep-auth-standalone){--ep-ui-card-title-weight:500!important}
body .ep-card:not(.ep-card--audio) h3,
body.ep-resource-card-style-default .ep-card:not(.ep-card--audio) h3,
body.ep-resource-card-style-minimal .ep-card:not(.ep-card--audio) h3,
.ep-card--audio .ep-card__body h3,
.ep-compact-card__body h4,
.ep-home-recommend__body h3,
.ep-home-recommend__card--mini .ep-home-recommend__body h3,
.ep-feature-combo__small-copy h3,
.ep-feature-combo__card-title,
.ep-resource-tab-card h3,
.ep-home-card-codes__title,
.ep-operation-list-card__body h3,
.ep-card--operation .ep-operation-list-card__body h3,
.ep-card-store-card h3,
.ep-shared-ranking__title,
.ep-home-recommend__ranking-copy>a{
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.45!important;
}
body.ep-resource-title-bold .ep-card:not(.ep-card--audio) h3,
body.ep-resource-title-bold .ep-card--audio .ep-card__body h3,
body.ep-resource-title-bold .ep-compact-card__body h4,
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,
body.ep-resource-title-bold .ep-home-card-codes__title,
body.ep-resource-title-bold .ep-operation-list-card__body h3,
body.ep-resource-title-bold .ep-card-store-card h3,
body.ep-resource-title-bold .ep-shared-ranking__title,
body.ep-resource-title-bold .ep-home-recommend__ranking-copy>a{font-weight:600!important}
@media(max-width:640px){:root{--ep-ui-card-title-size:15px}}



/* Category icon-only geometry is defined once in the canonical block at EOF. */

/* All card/activity metadata follows 字体 / 样式 → 数据字号 / 数据字重. */
.ep-card__stats,.ep-card__stats b,.ep-card__stats .ep-metric,.ep-card__stats .ep-metric b,
.ep-card__footer-date,.ep-metric,.ep-metric b,.ep-resource-fact-metric,.ep-resource-fact-metric b,
.ep-home-recommend__ranking-copy span,.ep-home-recommend__ranking-copy span b,
.ep-home-recommend__meta-tail>span,.ep-home-recommend__meta-tail b,
.ep-feature-combo__metric,.ep-feature-combo__metric b,.ep-feature-combo__small-stats,.ep-feature-combo__small-stats b,
.ep-home-category-showcase__lead-stats,.ep-home-category-showcase__lead-stats b,
.ep-resource-tab-card__stats>span:not(.ep-resource-tab-card__price),.ep-resource-tab-card__stats b,
.ep-focus-grid__date,.ep-shared-ranking__meta,.ep-compact-card__meta{
  font-size:var(--ep-ui-card-meta-size,12px)!important;font-weight:var(--ep-ui-card-meta-weight,400)!important;
}

/* v0.5.51.136 — lower-weight secondary card typography. */
:root{--ep-ui-card-copy-weight:350}
.ep-card__author,.ep-card__author-name,.ep-resource-tab-card__author,.ep-resource-tab-card__author>span,
.ep-card p,.ep-card__excerpt,.ep-home-recommend__featured-copy p,.ep-home-recommend__body>p,.ep-feature-combo__card-excerpt,
.ep-feature-combo__hero-excerpt,.ep-home-category-showcase__lead-excerpt{
  font-weight:var(--ep-ui-card-copy-weight,350)!important;
}


/* v0.5.51.139 — one front-end surface for ordinary content cards. */
html[data-ep-theme] body .ep-card,
html[data-ep-theme] body .ep-compact-card,
html[data-ep-theme] body .ep-shared-ranking__item,
html[data-ep-theme] body .ep-resource-tab-card,
html[data-ep-theme] body .ep-home-title-list__group{background:var(--ep-card)!important}


/* v0.5.51.142 — quieter card metadata, aligned module headers, bare category text labels. */
:root{
  --ep-card-meta-soft-opacity:.64;
  --ep-card-author-soft-opacity:.66;
}

/* Resource-card identity/activity is deliberately quieter than title/content. */
.ep-card__author,
.ep-resource-tab-card__author{
  color:var(--ep-muted)!important;
  opacity:1!important;
  font-weight:350!important;
}
.ep-card__author-name,
.ep-resource-tab-card__author>span{
  color:var(--ep-muted)!important;
  opacity:var(--ep-card-author-soft-opacity)!important;
  font-weight:350!important;
}
.ep-card__author:hover .ep-card__author-name,
.ep-resource-tab-card__author:hover>span{opacity:.82!important;color:var(--ep-muted)!important}
.ep-card__author-avatar,
.ep-resource-tab-card__author-avatar{
  width:18px!important;height:18px!important;flex:0 0 18px!important;
  border:1px solid color-mix(in srgb,var(--ep-line) 58%,transparent)!important;
  background:#f1f2f4!important;
  filter:grayscale(.72) saturate(.28) contrast(.84)!important;
  opacity:.78!important;
}
.ep-card__author--avatar-only,
body.ep-resource-card-style-default .ep-card:not(.ep-card--audio) .ep-card__author--avatar-only,
body.ep-resource-card-style-minimal .ep-card:not(.ep-card--audio) .ep-card__author--avatar-only{
  width:18px!important;max-width:18px!important;height:18px!important;flex:0 0 18px!important;
}
body.ep-resource-card-style-default .ep-card:not(.ep-card--audio) .ep-card__author--avatar-only .ep-card__author-avatar,
body.ep-resource-card-style-minimal .ep-card:not(.ep-card--audio) .ep-card__author--avatar-only .ep-card__author-avatar{
  width:18px!important;height:18px!important;flex-basis:18px!important;
}
.ep-resource-tab-card__author--avatar-only{width:18px!important;max-width:18px!important;flex:0 0 18px!important}

.ep-card__stats,
.ep-card__stats .ep-metric,
.ep-card__stats .ep-metric b,
.ep-card__footer-date,
.ep-resource-tab-card__stats>span:not(.ep-resource-tab-card__price),
.ep-resource-tab-card__stats>span:not(.ep-resource-tab-card__price) b,
.ep-home-recommend__ranking-copy span,
.ep-home-recommend__ranking-copy span b,
.ep-home-recommend__meta-tail>span,
.ep-home-recommend__meta-tail>span b,
.ep-feature-combo__metric,
.ep-feature-combo__metric b,
.ep-feature-combo__small-stats,
.ep-feature-combo__small-stats b{
  color:var(--ep-muted)!important;
  opacity:var(--ep-card-meta-soft-opacity)!important;
  font-weight:350!important;
}
html[data-ep-theme="dark"]{--ep-card-meta-soft-opacity:.72;--ep-card-author-soft-opacity:.74}

/* Text category badges use the category colour directly, without a pill/plate. */
.ep-resource-category-badge--text,
.ep-card__category-list>.ep-resource-category-badge--text,
.ep-resource-tab-card__badges .ep-resource-category-badge--text,
.ep-home-recommend__category.ep-resource-category-badge--text,
.ep-feature-combo__hero-cat.ep-resource-category-badge--text,
.ep-feature-combo__small-cat.ep-resource-category-badge--text,
.ep-focus-grid__category.ep-resource-category-badge--text{
  display:inline-flex!important;align-items:center!important;
  min-height:0!important;height:auto!important;max-width:100%!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  color:var(--ep-resource-cat-color,var(--ep-accent))!important;
  line-height:1.25!important;
}
.ep-resource-category-badge--text:hover{background:transparent!important;border:0!important;color:var(--ep-resource-cat-color,var(--ep-accent))!important;opacity:.82}

/* Left-side short descriptions share the generic-resource one-line header contract. */
.ep-home-title-list--head-left .ep-home-title-list__heading,
.ep-home-focus-grid--left .ep-home-focus-grid__heading,
.ep-home-recommend__featured-copy{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:10px!important;min-height:40px!important;min-width:0!important;
}
.ep-home-title-list--head-left .ep-home-title-list__head .ep-module-title,
.ep-home-focus-grid--left .ep-home-focus-grid__head .ep-module-title,
.ep-home-recommend__featured-copy .ep-home-recommend__heading{
  display:flex!important;align-items:center!important;flex:0 0 auto!important;
  min-height:40px!important;margin:0!important;white-space:nowrap!important;
}
.ep-home-title-list--head-left .ep-home-title-list__desc,
.ep-home-focus-grid--left .ep-home-focus-grid__desc,
.ep-home-recommend__featured-copy>p{
  display:flex!important;align-items:center!important;flex:0 1 auto!important;
  width:auto!important;min-height:40px!important;max-width:min(34vw,520px)!important;
  margin:0!important;overflow:hidden!important;color:var(--ep-muted)!important;
  font-size:12.5px!important;font-weight:600!important;line-height:1.3!important;
  text-align:left!important;text-overflow:ellipsis!important;white-space:nowrap!important;
}

/* Hot + Featured content follows the generic resource-card title/excerpt typography. */
.ep-home-recommend__ranking-copy>a,
.ep-home-recommend__body h3,
.ep-home-recommend__card--hero .ep-home-recommend__body h3,
.ep-feature-combo__hero-title,
.ep-feature-combo__small-copy h3,
.ep-feature-combo__card-title{
  font-size:var(--ep-ui-card-title-size,15px)!important;
  font-weight:var(--ep-ui-card-title-weight,500)!important;
  line-height:1.45!important;
  letter-spacing:0!important;
}
.ep-home-recommend__body>p,
.ep-feature-combo__hero-excerpt,
.ep-feature-combo__card-excerpt{
  font-size:12px!important;font-weight:var(--ep-ui-card-copy-weight,350)!important;line-height:1.62!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__hero-title,
body.ep-resource-title-bold .ep-feature-combo__small-copy h3,
body.ep-resource-title-bold .ep-feature-combo__card-title{font-weight:600!important}

/* Primary homepage modules share one canvas edge; tabs no longer add an invisible inset. */
.ep-home-recommend__inner,
.ep-home-stage--content.ep-home-stage--single .ep-home-recommend__inner{
  width:min(var(--ep-content-max,1380px),calc(100% - 40px))!important;
  max-width:none!important;margin-left:auto!important;margin-right:auto!important;
}
.ep-home-resource-tabs__frame{
  width:min(var(--ep-content-max,1380px),calc(100% - 40px))!important;
  max-width:none!important;padding:0!important;margin-left:auto!important;margin-right:auto!important;
}
@media(max-width:680px){
  .ep-home-recommend__inner,
  .ep-home-stage--content.ep-home-stage--single .ep-home-recommend__inner,
  .ep-home-resource-tabs__frame{width:min(100% - 22px,var(--ep-content-max,1380px))!important}
  .ep-home-title-list--head-left .ep-home-title-list__heading,
  .ep-home-focus-grid--left .ep-home-focus-grid__heading,
  .ep-home-recommend__featured-copy{gap:7px!important}
  .ep-home-title-list--head-left .ep-home-title-list__desc,
  .ep-home-focus-grid--left .ep-home-focus-grid__desc,
  .ep-home-recommend__featured-copy>p{max-width:52vw!important;font-size:11.5px!important}
}


/* v0.5.51.143 — unified quiet metadata, brighter card surfaces, categories above titles with hover colour. */
:root{
  --ep-card-author-soft-opacity:.66;
  --ep-card-meta-soft-opacity:.66;
  --ep-resource-card-surface:#fff;
}
html[data-ep-theme="dark"]{
  --ep-card-author-soft-opacity:.74;
  --ep-card-meta-soft-opacity:.74;
  --ep-resource-card-surface:var(--ep-card);
}

/* Author, views, downloads, favorites and time share exactly the same gray level. */
.ep-card__author-name,
.ep-resource-tab-card__author>span,
.ep-card__stats,
.ep-card__stats .ep-metric,
.ep-card__stats .ep-metric b,
.ep-card__date,
.ep-card__footer-date,
.ep-resource-tab-card__stats>span:not(.ep-resource-tab-card__price),
.ep-resource-tab-card__stats>span:not(.ep-resource-tab-card__price) b,
.ep-home-recommend__ranking-copy span,
.ep-home-recommend__ranking-copy span b,
.ep-home-recommend__meta-tail>span,
.ep-home-recommend__meta-tail>span b,
.ep-feature-combo__metric,
.ep-feature-combo__metric b,
.ep-feature-combo__small-stats,
.ep-feature-combo__small-stats b{
  color:var(--ep-muted)!important;
  opacity:var(--ep-card-author-soft-opacity)!important;
  font-weight:350!important;
}

/* Light cards sit clearly above the page canvas instead of visually merging into it. */
html[data-ep-theme="light"] body .ep-card,
html[data-ep-theme="light"] body .ep-compact-card,
html[data-ep-theme="light"] body .ep-shared-ranking__item,
html[data-ep-theme="light"] body .ep-resource-tab-card,
html[data-ep-theme="light"] body .ep-home-recommend__card,
html[data-ep-theme="light"] body .ep-feature-combo__small{
  background:var(--ep-resource-card-surface)!important;
  border-color:color-mix(in srgb,var(--ep-line) 76%,#fff)!important;
  box-shadow:0 4px 16px rgba(31,42,55,.045)!important;
}

/* Category rows live above card titles; geometry is set in app-base.css. */
.ep-resource-tab-card__category-row,
.ep-home-recommend__category-row,
.ep-feature-combo__small-category-row,
.ep-feature-combo__hero-category-row{
  display:flex;align-items:center;min-width:0;margin:0 0 6px;
}

/* Category identity stays neutral until the whole card is hovered/focused. */
.ep-card .ep-card__category-pill,
.ep-card .ep-resource-category-badge,
.ep-resource-tab-card .ep-resource-category-badge,
.ep-home-recommend__card .ep-resource-category-badge,
.ep-feature-combo__small .ep-resource-category-badge{
  color:var(--ep-muted)!important;
  transition:color .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease,filter .16s ease!important;
}
.ep-card .ep-resource-category-badge--text,
.ep-resource-tab-card .ep-resource-category-badge--text,
.ep-home-recommend__card .ep-resource-category-badge--text,
.ep-feature-combo__small .ep-resource-category-badge--text{
  color:var(--ep-muted)!important;
}
.ep-card:hover .ep-card__category-pill,
.ep-card:focus-within .ep-card__category-pill,
.ep-card:hover .ep-resource-category-badge,
.ep-card:focus-within .ep-resource-category-badge,
.ep-resource-tab-card:hover .ep-resource-category-badge,
.ep-resource-tab-card:focus-within .ep-resource-category-badge,
.ep-home-recommend__card:hover .ep-resource-category-badge,
.ep-home-recommend__card:focus-within .ep-resource-category-badge,
.ep-feature-combo__small:hover .ep-resource-category-badge,
.ep-feature-combo__small:focus-within .ep-resource-category-badge{
  color:var(--ep-resource-cat-color,var(--ep-accent))!important;
  opacity:1!important;
}
/* Featured hero category is neutral/light on the image, and gains its category colour on hover. */
.ep-feature-combo__hero .ep-resource-category-badge{color:#d8dde5!important;transition:color .16s ease,background-color .16s ease!important}
.ep-feature-combo__hero:hover .ep-resource-category-badge,
.ep-feature-combo__hero:focus-within .ep-resource-category-badge{color:var(--ep-resource-cat-color,var(--ep-accent))!important}

/* v0.5.51.143 refinement — use one resolved meta color so nested metrics never become darker/lighter through stacked opacity. */
:root{--ep-card-meta-color:color-mix(in srgb,var(--ep-muted) 66%,transparent)}
html[data-ep-theme="dark"]{--ep-card-meta-color:color-mix(in srgb,var(--ep-muted) 74%,transparent)}
.ep-card__author-name,
.ep-resource-tab-card__author>span,
.ep-card__stats,
.ep-card__stats .ep-metric,
.ep-card__stats .ep-metric b,
.ep-card__date,
.ep-card__footer-date,
.ep-resource-tab-card__stats>span:not(.ep-resource-tab-card__price),
.ep-resource-tab-card__stats>span:not(.ep-resource-tab-card__price) b,
.ep-home-recommend__ranking-copy span,
.ep-home-recommend__ranking-copy span b,
.ep-home-recommend__meta-tail>span,
.ep-home-recommend__meta-tail>span b,
.ep-feature-combo__metric,
.ep-feature-combo__metric b,
.ep-feature-combo__small-stats,
.ep-feature-combo__small-stats b{
  color:var(--ep-card-meta-color)!important;
  opacity:1!important;
}
.ep-card__author:hover .ep-card__author-name,
.ep-resource-tab-card__author:hover>span{color:var(--ep-card-meta-color)!important;opacity:1!important}
.ep-card .ep-card__category-pill,
.ep-card .ep-resource-category-badge,
.ep-resource-tab-card .ep-resource-category-badge,
.ep-home-recommend__card .ep-resource-category-badge,
.ep-feature-combo__small .ep-resource-category-badge{color:var(--ep-card-meta-color)!important;opacity:1!important}
.ep-card__stats .ep-metric svg,
.ep-home-recommend__meta-tail>span svg,
.ep-feature-combo__metric svg,
.ep-feature-combo__small-stats svg{color:var(--ep-card-meta-color)!important;opacity:1!important}

/* Shared category chip visuals are defined once in the v0.5.61 canonical block below. */
/* Site-collected creator-tip payment modal. */
.ep-tip-backdrop[hidden],.ep-tip-payment[hidden],.ep-tip-success[hidden],.ep-tip-error[hidden],.ep-tip-dialog form[hidden]{display:none!important}
.ep-tip-is-open{overflow:hidden}
.ep-tip-backdrop{position:fixed;inset:0;background:rgba(12,20,32,.55);z-index:999999;display:grid;place-items:center;padding:18px}
.ep-tip-dialog{position:relative;background:var(--ep-card,#fff);color:var(--ep-text,#1e2531);border:1px solid var(--ep-line,#e3e7ed);border-radius:18px;width:min(100%,450px);max-height:min(90vh,760px);overflow-y:auto;padding:24px;box-shadow:0 24px 76px rgba(5,12,25,.24)}
.ep-tip-dialog h2{font-size:20px;margin:0 34px 4px 0;font-weight:750}.ep-tip-author{margin:0 0 20px;color:var(--ep-muted,#768092);font-size:13px}
.ep-tip-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:var(--ep-muted,#768092);cursor:pointer;font-size:27px;line-height:34px;width:34px;height:34px}
.ep-tip-section{margin:15px 0}.ep-tip-section>strong{display:block;margin-bottom:9px;font-size:13px}.ep-tip-choices{display:flex;flex-wrap:wrap;gap:9px}
.ep-tip-choices label{position:relative;cursor:pointer}.ep-tip-choices label input{position:absolute;opacity:0;pointer-events:none}.ep-tip-choices label span{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ep-line,#dce1e7);background:var(--ep-surface-soft,#f6f8fa);border-radius:10px;padding:10px 17px;font-size:13px;min-width:70px}
.ep-tip-choices label input:checked+span{border-color:var(--ep-primary,#5572f4);background:color-mix(in srgb,var(--ep-primary,#5572f4) 11%,transparent);color:var(--ep-text,#1e2531);font-weight:700}
.ep-tip-choices label input:focus-visible+span{outline:2px solid var(--ep-primary,#5572f4);outline-offset:3px}
.ep-tip-pay,.ep-tip-paylink{display:block;box-sizing:border-box;width:100%;text-align:center;border:0;border-radius:10px;background:var(--ep-primary,#5572f4);color:#fff!important;font-size:14px;font-weight:700;padding:11px 15px;text-decoration:none;cursor:pointer;margin-top:17px}
.ep-tip-pay:disabled{opacity:.6;cursor:wait}.ep-tip-cashier{width:100%;min-height:420px;max-height:56vh;border:1px solid var(--ep-line,#e3e7ed);border-radius:10px;margin:10px 0 0;background:#fff}.ep-tip-state{font-size:12px;color:var(--ep-muted,#768092);text-align:center;margin-top:12px}
.ep-tip-success{text-align:center;padding:30px 10px}.ep-tip-success span{color:#dc457b;font-size:38px;display:block}.ep-tip-success strong{font-size:18px}.ep-tip-error{margin-top:12px;color:#b42318;font-size:13px}
@media(max-width:520px){.ep-tip-dialog{padding:20px}.ep-tip-cashier{min-height:390px}}
/* Compact custom-amount control and an in-dialog scan code for creator tips. */
.ep-tip-custom[hidden]{display:none!important}
.ep-tip-custom{display:grid;gap:6px;margin-top:10px;max-width:240px}
.ep-tip-custom label{font-size:12px;color:var(--ep-muted,#768092)}
.ep-tip-custom input{width:100%;min-height:40px;box-sizing:border-box;border:1px solid var(--ep-line,#dce1e7);border-radius:9px;background:var(--ep-card,#fff);color:var(--ep-text,#1e2531);padding:8px 11px;font-size:15px}
.ep-tip-custom input:focus{outline:2px solid color-mix(in srgb,var(--ep-primary,#5572f4) 28%,transparent);outline-offset:1px}
.ep-tip-qr{display:block;width:min(100%,252px);aspect-ratio:1/1;object-fit:contain;margin:14px auto 8px;padding:7px;border:1px solid #e8e8e8;border-radius:12px;background:#fff;box-sizing:border-box}
.ep-tip-qr-help{font-size:12px;color:var(--ep-muted,#768092);text-align:center;margin:0 0 6px}
/* Creator recognition and resource issue reporting. */
.ep-tip-privacy{display:grid;gap:8px;font-size:12px;color:var(--ep-muted,#697387)}
.ep-tip-privacy label{display:flex;gap:7px;align-items:center}
.ep-tip-privacy label[for]{display:block;margin-top:4px}
.ep-tip-privacy input[type="text"]{width:100%;box-sizing:border-box;padding:9px 11px;background:var(--ep-card,#fff);border:1px solid var(--ep-line,#ddd);border-radius:9px;color:var(--ep-text,#202631)}
.ep-comic-update-label{font-size:11px;font-weight:700;color:var(--ep-primary,#5572f4);white-space:nowrap}
.ep-comic-update-label--read{font-weight:500;color:var(--ep-muted,#7b8491)}

.ep-tip-privacy summary{cursor:pointer;font-size:12px;color:var(--ep-muted,#768092);margin-bottom:7px}
.ep-tip-privacy:not([open])>label,.ep-tip-privacy:not([open])>input{display:none}

.ep-creator-received__stats{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 12px;margin:16px 0 22px;font-size:12px;color:var(--ep-muted,#768092)}
.ep-creator-received__stats strong{font-size:20px;color:var(--ep-text,#202632)}
.ep-creator-received__row{display:flex;justify-content:space-between;gap:12px;padding:14px 2px;border-top:1px solid var(--ep-line,#e5e8ee)}
.ep-creator-received__row>div{display:grid;gap:4px;min-width:0}
.ep-creator-received__row>div:last-child{text-align:right;flex-shrink:0}
.ep-creator-received__row strong,.ep-creator-received__row b{font-size:13px}
.ep-creator-received__row small{color:var(--ep-muted,#788293);font-size:11px}

/* Compact creator-support area: show the record alongside reporting without overshadowing the content. */

.ep-resource-footer-follow .ep-resource-follow-form{display:inline-flex;margin:0}
.ep-resource-footer-follow .ep-resource-follow-form .ep-author-action{white-space:nowrap}


/* v0.5.52.20: center the work appreciation UI; comics use a compact horizontal row. */
.ep-tip-content-bar{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0;box-sizing:border-box;margin:12px 0;padding:0;border:0;background:transparent;font-size:12px;text-align:center;}
.ep-tip-content-bar__action{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;}
.ep-tip-content-bar__button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;min-height:34px;box-sizing:border-box;padding:7px 13px;border:0;border-radius:7px;background:var(--ep-primary,#5572f4);color:#fff!important;font:inherit;font-size:12px;font-weight:650;line-height:1.4;text-decoration:none!important;white-space:nowrap;cursor:pointer;transition:background .15s ease,transform .15s ease;}
.ep-tip-content-bar__button:hover,.ep-tip-content-bar__button:focus-visible{background:var(--ep-primary-hover,#405de0);color:#fff!important;transform:translateY(-1px);}
.ep-tip-content-bar__button>span:first-child{font-size:15px;line-height:1;}
.ep-tip-content-bar__records{display:flex;align-items:center;justify-content:center;gap:6px;flex:0 1 auto;min-width:0;max-width:100%;margin-inline:auto;overflow:visible;}
.ep-tip-content-bar--comic{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;text-align:left;}
.ep-tip-content-bar--comic .ep-tip-content-bar__action{width:auto;flex:0 0 auto;}
.ep-tip-content-bar--comic .ep-tip-content-bar__records{justify-content:flex-start;margin-inline:0;}
.ep-tip-content-bar--comic .ep-tip-records__avatars{justify-content:flex-start;}
.ep-tip-content-bar__label{flex:none;color:var(--ep-muted,#7b8491);font-size:11px;line-height:1.4;white-space:nowrap;}
.ep-tip-content-bar__count{flex:none;color:var(--ep-muted,#8b93a0);font-size:10px;white-space:nowrap;}
.ep-tip-records__avatars{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:nowrap;min-width:0;overflow:visible;}
.ep-tip-records__item{display:inline-flex;align-items:center;flex:none;line-height:0;}
.ep-tip-records__avatar{position:relative;display:grid;place-items:center;width:25px;height:25px;flex:none;overflow:visible;cursor:help;outline-offset:2px;text-decoration:none;}
.ep-tip-records__avatar-img{display:grid;place-items:center;width:25px;height:25px;overflow:hidden;border:0;border-radius:50%;background:transparent;box-shadow:none;}
.ep-tip-records__avatar-img img,.ep-tip-records__avatar-img .ep-account-avatar,.ep-tip-records__avatar-img .avatar{display:block;width:25px!important;height:25px!important;min-width:25px;min-height:25px;max-width:25px;max-height:25px;object-fit:cover;border:0;border-radius:50%;box-shadow:none;}
.ep-tip-records__avatar-img .ep-account-avatar:not(img){display:grid;place-items:center;background:var(--ep-surface-soft,#f1f3f6);color:var(--ep-muted,#6b7280);font-size:11px;font-weight:600;}
.ep-tip-records__anonymous{display:grid;place-items:center;width:25px;height:25px;color:var(--ep-muted,#87909e);background:transparent;border:0;border-radius:0;}
.ep-tip-records__anonymous svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
.ep-tip-records__avatar[data-tip-tooltip]::after{content:attr(data-tip-tooltip);position:absolute;z-index:999;left:50%;bottom:calc(100% + 7px);transform:translate(-50%,3px);width:max-content;max-width:min(260px,80vw);box-sizing:border-box;padding:7px 9px;border-radius:6px;background:#242832;color:#fff;font-size:11px;font-weight:400;line-height:1.45;white-space:normal;overflow-wrap:anywhere;text-align:left;box-shadow:0 5px 18px rgba(0,0,0,.18);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,transform .12s ease;}
.ep-tip-records__avatar:hover::after,.ep-tip-records__avatar:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0);}
.ep-tip-records__more{position:relative;display:inline-flex;align-items:center;line-height:1.2;flex:none;}
.ep-tip-records__more>summary{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;list-style:none;color:var(--ep-muted,#6b7280);font-size:11px;padding:3px 2px;border:0;background:transparent;}
.ep-tip-records__more>summary::-webkit-details-marker{display:none;}
.ep-tip-records__more-list{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:7px;width:100%;overflow:visible;}
.ep-tip-records__more[open]{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;}
.ep-tip-records__more[open]>.ep-tip-records__more-list{flex-basis:100%;}
@media(max-width:520px){.ep-tip-content-bar{gap:8px;margin:10px 0;}.ep-tip-content-bar__records{gap:5px;flex-wrap:wrap;}.ep-tip-content-bar__label{font-size:10px;}.ep-tip-records__avatars{gap:4px;}.ep-tip-records__avatar[data-tip-tooltip]::after{max-width:76vw;}.ep-tip-content-bar--comic{gap:8px 10px;}.ep-tip-content-bar--comic .ep-tip-content-bar__records{flex:0 1 auto;max-width:100%;}}

/* Resource feedback: keep only a quiet trigger in content; open the form in a modal. */
.ep-resource-community,.ep-comic-work__community{margin:6px 0}
.ep-resource-feedback{margin:8px 0;min-width:0}
.ep-resource-feedback__trigger{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:5px 0;border:0;background:transparent;color:var(--ep-muted,#768092);font:inherit;font-size:12px;line-height:1.4;text-align:left;cursor:pointer}
.ep-resource-feedback__trigger:hover,.ep-resource-feedback__trigger:focus-visible{color:var(--ep-primary,#5572f4)}
.ep-resource-feedback__icon{font-size:15px;line-height:1;color:var(--ep-muted,#7b8491)}
.ep-resource-feedback__widget{margin:0}
.ep-resource-feedback--widget .ep-resource-feedback__trigger{display:flex;width:100%;box-sizing:border-box;justify-content:flex-start;padding:10px 11px;border:1px solid var(--ep-line,#e2e6ea);border-radius:8px;background:var(--ep-card,#fff);color:var(--ep-text,#303846)}
.ep-resource-feedback--widget .ep-resource-feedback__trigger small{margin-left:auto;color:var(--ep-muted,#7b8491);font-size:11px;font-weight:400}
.ep-resource-feedback-modal[hidden]{display:none!important}
.ep-resource-feedback-modal{position:fixed;z-index:100100;inset:0;display:grid;place-items:center;padding:18px;box-sizing:border-box}
.ep-resource-feedback-modal__backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(18,23,34,.56);cursor:default}
.ep-resource-feedback-modal__dialog{position:relative;z-index:1;width:min(100%,520px);max-height:min(88vh,760px);overflow:auto;box-sizing:border-box;padding:18px;background:var(--ep-card,#fff);color:var(--ep-text,#202631);border:1px solid var(--ep-line,#e2e6ea);border-radius:13px;box-shadow:0 20px 70px rgba(0,0,0,.22)}
.ep-resource-feedback-modal__head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 15px}
.ep-resource-feedback-modal__head strong{font-size:16px;font-weight:700}
.ep-resource-feedback-modal__head button{width:30px;height:30px;border:0;border-radius:7px;background:var(--ep-surface-soft,#f2f4f7);color:var(--ep-muted,#6b7280);font-size:22px;line-height:1;cursor:pointer}
.ep-resource-feedback-modal__login{margin:0;font-size:13px;line-height:1.7}
.ep-resource-feedback__form{display:grid;gap:12px;margin:0;max-width:none}
.ep-resource-feedback__form label{display:grid;gap:6px;font-size:12px;color:var(--ep-muted,#697387)}
.ep-resource-feedback__form select,.ep-resource-feedback__form textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--ep-line,#d8dce2);background:var(--ep-card,#fff);border-radius:8px;color:var(--ep-text,#202631);font:inherit;font-size:13px}
.ep-resource-feedback__form textarea{min-height:105px;resize:vertical}
.ep-resource-feedback__form button[type=submit]{justify-self:start;border:0;border-radius:8px;padding:10px 18px;background:var(--ep-primary,#5572f4);color:#fff;font-size:13px;font-weight:650;cursor:pointer}
.ep-resource-feedback__form button[type=submit]:disabled{opacity:.65;cursor:wait}
.ep-resource-feedback__state{margin:0;font-size:12px;color:var(--ep-muted,#697387);line-height:1.6}
html.ep-feedback-modal-open{overflow:hidden}
@media(min-width:1024px){.ep-has-resource-feedback-widget .ep-resource-feedback--inline{display:none}}
@media(max-width:640px){.ep-has-resource-feedback-widget .ep-resource-feedback--inline{display:block}.ep-resource-feedback-modal{padding:12px}.ep-resource-feedback-modal__dialog{padding:15px;border-radius:12px}}


.ep-tip-records__more[open]{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center}
.ep-tip-records__more[open]>.ep-tip-records__more-list{flex-basis:100%}

/* v0.5.52.21: account UX and payment choice compactness are maintained in app-account.css and Core front.css. */


/* v0.5.61 — canonical category badge layout; removes conflicting legacy tile sizes. */
.ep-card__category-summary--multi{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;min-width:0!important;max-width:100%!important;overflow:visible!important}
.ep-card__category-summary--multi>.ep-card__category-list{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:7px!important;min-width:0!important;max-width:100%!important;margin:0!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch}
.ep-card__category-list>.ep-card__category-pill{flex:0 0 auto!important;min-width:0!important;max-width:136px!important;text-decoration:none!important;white-space:nowrap!important}
.ep-resource-category-badge--text{display:inline-flex!important;align-items:center!important;gap:5px!important;min-width:0!important;min-height:18px!important;height:auto!important;max-width:136px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;line-height:1.25!important;font-size:11.5px!important;font-weight:500!important;color:var(--ep-card-meta-color,var(--ep-muted))!important;opacity:1!important;text-decoration:none!important;white-space:nowrap!important}
.ep-resource-category-badge--text::before{content:"";display:inline-block;flex:0 0 5px;width:5px;height:5px;border-radius:1px;background:currentColor;transform:rotate(45deg);opacity:.82;transition:color .16s ease,opacity .16s ease}
.ep-card:hover .ep-resource-category-badge--text,
.ep-card:focus-within .ep-resource-category-badge--text,
.ep-resource-tab-card:hover .ep-resource-category-badge--text,
.ep-resource-tab-card:focus-within .ep-resource-category-badge--text,
.ep-home-recommend__card:hover .ep-resource-category-badge--text,
.ep-home-recommend__card:focus-within .ep-resource-category-badge--text,
.ep-feature-combo__small:hover .ep-resource-category-badge--text,
.ep-feature-combo__small:focus-within .ep-resource-category-badge--text{color:var(--ep-resource-cat-color,var(--ep-accent))!important}
.ep-card:hover .ep-resource-category-badge--text::before,
.ep-card:focus-within .ep-resource-category-badge--text::before,
.ep-resource-tab-card:hover .ep-resource-category-badge--text::before,
.ep-resource-tab-card:focus-within .ep-resource-category-badge--text::before,
.ep-home-recommend__card:hover .ep-resource-category-badge--text::before,
.ep-home-recommend__card:focus-within .ep-resource-category-badge--text::before,
.ep-feature-combo__small:hover .ep-resource-category-badge--text::before,
.ep-feature-combo__small:focus-within .ep-resource-category-badge--text::before{opacity:1}
.ep-card .ep-resource-category-badge--icon,
.ep-resource-tab-card .ep-resource-category-badge--icon,
.ep-home-recommend__card .ep-resource-category-badge--icon,
.ep-feature-combo__small .ep-resource-category-badge--icon,
.ep-feature-combo__hero .ep-resource-category-badge--icon,
.ep-focus-grid__category.ep-resource-category-badge--icon{display:inline-grid!important;place-items:center!important;flex:0 0 20px!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ep-resource-cat-color,var(--ep-accent))!important;overflow:visible!important}
.ep-card .ep-resource-category-badge--icon .ep-resource-category-badge__icon,
.ep-resource-tab-card .ep-resource-category-badge--icon .ep-resource-category-badge__icon,
.ep-home-recommend__card .ep-resource-category-badge--icon .ep-resource-category-badge__icon,
.ep-feature-combo__small .ep-resource-category-badge--icon .ep-resource-category-badge__icon,
.ep-feature-combo__hero .ep-resource-category-badge--icon .ep-resource-category-badge__icon,
.ep-focus-grid__category.ep-resource-category-badge--icon .ep-resource-category-badge__icon{display:grid!important;place-items:center!important;flex:0 0 20px!important;width:20px!important;height:20px!important;overflow:visible!important}
.ep-card .ep-resource-category-badge--icon svg,
.ep-resource-tab-card .ep-resource-category-badge--icon svg,
.ep-home-recommend__card .ep-resource-category-badge--icon svg,
.ep-feature-combo__small .ep-resource-category-badge--icon svg,
.ep-feature-combo__hero .ep-resource-category-badge--icon svg,
.ep-focus-grid__category.ep-resource-category-badge--icon svg{display:block!important;width:20px!important;height:20px!important;filter:none!important}
.ep-card .ep-resource-category-badge--icon img,
.ep-resource-tab-card .ep-resource-category-badge--icon img,
.ep-home-recommend__card .ep-resource-category-badge--icon img,
.ep-feature-combo__small .ep-resource-category-badge--icon img,
.ep-feature-combo__hero .ep-resource-category-badge--icon img,
.ep-focus-grid__category.ep-resource-category-badge--icon img{display:block!important;width:20px!important;height:20px!important;object-fit:contain!important;filter:none!important}
