:root{--ep-bg:#f6f7fb;--ep-card:#fff;--ep-text:#151925;--ep-muted:#6d7482;--ep-line:#e8eaf0;--ep-accent:#5b5ef7;--ep-accent2:#8d66ff;--ep-radius:18px;--ep-shadow:0 12px 35px rgba(31,35,48,.08)}*{box-sizing:border-box}body{margin:0;background:var(--ep-bg);color:var(--ep-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.65}.ep-container{width:min(1180px,calc(100% - 32px));margin:auto}.ep-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--ep-line)}.ep-header__inner{height:72px;display:flex;align-items:center;gap:28px}.ep-brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--ep-text);text-decoration:none;font-size:18px}.ep-brand__mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--ep-accent),var(--ep-accent2));color:#fff}.custom-logo{max-height:42px;width:auto}.ep-nav{flex:1}.ep-nav ul{display:flex;gap:24px;margin:0;padding:0;list-style:none}.ep-nav a{color:var(--ep-text);text-decoration:none;font-weight:600}.ep-header__actions{display:flex;align-items:center;gap:12px}.ep-search input{width:190px;border:1px solid var(--ep-line);border-radius:12px;padding:10px 12px;background:#f9fafc}.ep-language{font-size:13px}.ep-language a{color:var(--ep-text);text-decoration:none}.ep-btn{appearance:none;border:0;border-radius:12px;padding:11px 16px;background:var(--ep-accent);color:#fff;text-decoration:none;font-weight:700;cursor:pointer}.ep-btn--ghost{background:#fff;color:var(--ep-text);border:1px solid var(--ep-line)}.ep-hero{padding:80px 0 60px;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;grid-template-columns:1.45fr .8fr;gap:56px;align-items:center}.ep-kicker{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ep-accent);margin-bottom:10px}.ep-hero h1,.ep-page-head h1,.ep-resource-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.08;margin:0 0 18px;letter-spacing:-.04em}.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-stat{padding:20px;border-bottom:1px solid var(--ep-line)}.ep-stat:last-child{border-bottom:0}.ep-stat strong{display:block;font-size:30px}.ep-stat span{color:var(--ep-muted)}.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}.ep-resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.ep-card{background:var(--ep-card);border:1px solid var(--ep-line);border-radius:var(--ep-radius);overflow:hidden;transition:.2s;box-shadow:0 2px 4px rgba(0,0,0,.02)}.ep-card:hover{transform:translateY(-4px);box-shadow:var(--ep-shadow)}.ep-card__media{aspect-ratio:16/10;background:#eceefe;display:block;overflow:hidden}.ep-card__media img{width:100%;height:100%;object-fit:cover}.ep-card__placeholder{width:100%;height:100%;min-height:180px;display:grid;place-items:center;font-weight:900;font-size:44px;color:#fff;background:linear-gradient(135deg,#24283a,var(--ep-accent2))}.ep-card__body{padding:18px}.ep-card__meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--ep-muted);font-size:12px}.ep-card h3{margin:10px 0 8px;font-size:18px;line-height:1.35}.ep-card h3 a{color:var(--ep-text);text-decoration:none}.ep-card p{font-size:14px;color:var(--ep-muted);min-height:46px}.ep-card__footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ep-line);padding-top:12px}.ep-card__footer strong{color:var(--ep-accent)}.ep-page-head{padding:56px 0 20px}.ep-page-head h1{font-size:44px}.ep-resource-hero{padding:60px 0 20px}.ep-resource-hero__grid{display:grid;grid-template-columns:420px 1fr;gap:48px;align-items:start}.ep-resource-cover{border-radius:22px;overflow:hidden;background:#eee;box-shadow:var(--ep-shadow)}.ep-resource-cover img{display:block;width:100%;height:auto}.ep-resource-facts{display:flex;gap:18px;flex-wrap:wrap;color:var(--ep-muted);font-size:14px}.ep-purchase-box{display:flex;align-items:center;gap:18px;margin-top:26px;padding:18px;background:#fff;border:1px solid var(--ep-line);border-radius:16px}.ep-purchase-box strong{font-size:28px;color:var(--ep-accent)}.ep-content-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:36px}.ep-content,.ep-sidebar{background:#fff;border:1px solid var(--ep-line);border-radius:18px;padding:28px}.ep-content img{max-width:100%;height:auto}.ep-sidebar h3{margin-top:0}.ep-sidebar dl{display:grid;grid-template-columns:80px 1fr;gap:10px 16px}.ep-sidebar dt{color:var(--ep-muted)}.ep-sidebar dd{margin:0}.ep-empty{grid-column:1/-1;padding:40px;text-align:center;color:var(--ep-muted);background:#fff;border-radius:18px;border:1px dashed var(--ep-line)}.ep-pagination{margin-top:30px}.ep-footer{background:#171a25;color:#c9ced9;margin-top:40px;padding:48px 0 20px}.ep-footer__grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.ep-footer a{color:#fff}.ep-footer__bottom{border-top:1px solid #303442;margin-top:28px;padding-top:18px;color:#8c93a3;font-size:13px}@media(max-width:980px){.ep-resource-grid{grid-template-columns:repeat(2,1fr)}.ep-hero__grid,.ep-resource-hero__grid,.ep-content-layout{grid-template-columns:1fr}.ep-resource-cover{max-width:520px}.ep-nav,.ep-search{display:none}}@media(max-width:600px){.ep-resource-grid{grid-template-columns:1fr}.ep-hero{padding-top:48px}.ep-header__inner{gap:12px}.ep-header__actions{margin-left:auto}.ep-hero-search{display:block}.ep-hero-search .ep-btn{width:100%;margin-top:8px}.ep-footer__grid{grid-template-columns:1fr}}
.ep-infinite-status{grid-column:1/-1;text-align:center;color:var(--ep-muted);padding:26px 10px;font-size:14px}.ep-js .ep-resource-grid[data-ep-infinite="1"] + .ep-pagination{display:none}

/* v0.3.2 homepage notice */
.ep-site-notice{position:fixed;z-index:9999}.ep-site-notice__panel{position:relative;overflow:hidden;background:#fff;border:1px solid var(--ep-line);box-shadow:0 24px 70px rgba(22,25,37,.22);background-image:var(--ep-site-notice-bg,none);background-size:cover;background-position:center}.ep-site-notice__panel:before{content:"";position:absolute;inset:0;pointer-events:none}.ep-site-notice--has-bg .ep-site-notice__panel:before{background:linear-gradient(90deg,rgba(13,16,27,.78),rgba(13,16,27,.42))}.ep-site-notice__content{position:relative;z-index:1;font-size:16px;line-height:1.8}.ep-site-notice__content>:first-child{margin-top:0}.ep-site-notice__content>:last-child{margin-bottom:0}.ep-site-notice--has-bg .ep-site-notice__content{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}.ep-site-notice__close{position:absolute;right:12px;top:10px;z-index:3;width:34px;height:34px;border:0;border-radius:999px;background:rgba(255,255,255,.9);color:#24283a;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.12)}.ep-site-notice--center{inset:0;display:grid;place-items:center;padding:24px}.ep-site-notice--center .ep-site-notice__backdrop{position:absolute;inset:0;border:0;background:rgba(18,21,32,.48);backdrop-filter:blur(5px);cursor:default}.ep-site-notice--center .ep-site-notice__panel{width:min(680px,calc(100vw - 40px));min-height:220px;border-radius:24px;padding:42px 46px;display:flex;align-items:center}.ep-site-notice--bottom{left:50%;bottom:20px;transform:translateX(-50%);width:min(1120px,calc(100vw - 32px))}.ep-site-notice--bottom .ep-site-notice__panel{min-height:100px;border-radius:18px;padding:26px 64px 26px 28px;display:flex;align-items:center}.ep-site-notice[hidden]{display:none!important}

/* v0.3.2 category shortcut icons */
.ep-category-shortcuts{padding:34px 0 4px}.ep-category-shortcuts__head{margin-bottom:14px}.ep-category-shortcuts__grid{display:grid;grid-template-columns:repeat(var(--ep-category-cols,4),minmax(0,1fr));gap:18px 14px;align-items:start}.ep-category-shortcut{min-width:0;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;text-decoration:none;color:var(--ep-text);font-size:13px;font-weight:700;transition:.18s}.ep-category-shortcut:hover{color:var(--ep-accent);transform:translateY(-2px)}.ep-category-shortcut__icon{width:var(--ep-category-icon-w,240px);height:auto;aspect-ratio:var(--ep-category-icon-ratio,2 / 1);max-width:100%;display:grid;place-items:center;border:1px solid var(--ep-line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 6px 18px rgba(31,35,48,.06)}.ep-category-shortcut__icon img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.ep-category-shortcut__fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#eef0ff,#f5ecff);color:var(--ep-accent);font-size:22px}.ep-category-shortcut__name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ep-section--latest{padding-top:42px}
@media(max-width:720px){.ep-category-shortcuts__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 10px}.ep-category-shortcut__icon{max-width:100%}.ep-site-notice--center .ep-site-notice__panel{padding:36px 28px}.ep-site-notice--bottom{bottom:10px;width:calc(100vw - 20px)}.ep-site-notice--bottom .ep-site-notice__panel{padding:22px 52px 22px 20px}}
@media(max-width:420px){.ep-category-shortcuts__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* v0.3.7 functional appearance controls */
.ep-header--sticky{position:sticky;top:0}
.ep-header--static{position:relative;top:auto}
body.admin-bar .ep-header--sticky{top:32px}
.ep-card,
.ep-hero-dashboard,
.ep-resource-cover,
.ep-purchase-box,
.ep-content,
.ep-sidebar,
.ep-empty,
.ep-category-shortcut__icon{border-radius:var(--ep-radius)}
.ep-card,.ep-category-shortcut__icon,.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)}

/* v0.3.7 value-first homepage hero */
.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-live-dot{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#eefaf2;color:#23854a;font-size:11px;font-weight:800}
.ep-live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#2fbf68;box-shadow:0 0 0 4px rgba(47,191,104,.12)}
.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-nav{display:none}
  .ep-search{display:block}
  .ep-search input{width:150px}
  .ep-hero__grid{grid-template-columns:1fr}
  .ep-hero-dashboard{max-width:720px}
}
@media(max-width:782px){
  body.admin-bar .ep-header--sticky{top:46px}
}
@media(max-width:720px){
  .ep-search{display:none}
  .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}
}

/* v0.3.8 configurable latest-release grid */
.ep-resource-grid--latest{grid-template-columns:repeat(var(--ep-latest-cols,4),minmax(0,1fr))}
@media(max-width:980px){.ep-resource-grid--latest{grid-template-columns:repeat(var(--ep-latest-tablet-cols,3),minmax(0,1fr))}}
@media(max-width:720px){.ep-resource-grid--latest{grid-template-columns:repeat(var(--ep-latest-mobile-cols,2),minmax(0,1fr))}}
@media(max-width:480px){.ep-resource-grid--latest{grid-template-columns:1fr}}

/* v0.3.9 Header & Footer module */
.ep-header{background:rgba(255,255,255,.92);color:var(--ep-text);transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.ep-header--custom-bg{background:var(--ep-header-custom-bg)}
.ep-header--nav-theme .ep-nav a,.ep-header--nav-theme .ep-language,.ep-header--nav-theme .ep-language a,.ep-header--nav-theme .ep-brand{color:var(--ep-text)}
.ep-header--nav-custom .ep-nav a,.ep-header--nav-custom .ep-language,.ep-header--nav-custom .ep-language a,.ep-header--nav-custom .ep-brand{color:var(--ep-nav-custom-color)}
.ep-header .ep-nav a{font-size:var(--ep-nav-size,15px);font-weight:var(--ep-nav-weight,600)}
.ep-brand__logos{display:flex;align-items:center;min-width:0}
.ep-logo{display:block;width:auto;max-width:min(260px,38vw);max-height:46px;object-fit:contain}
.ep-logo--night{display:none}
.ep-header--dark-bg.ep-header--dual-logo .ep-logo--day{display:none}
.ep-header--dark-bg.ep-header--dual-logo .ep-logo--night{display:block}
.ep-header--dark-bg.ep-header--nav-theme .ep-nav a,
.ep-header--dark-bg.ep-header--nav-theme .ep-language,
.ep-header--dark-bg.ep-header--nav-theme .ep-language a,
.ep-header--dark-bg.ep-header--nav-theme .ep-brand{color:#f5f7fb}
.ep-header--dark-bg .ep-search input{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}
.ep-header--dark-bg .ep-search input::placeholder{color:rgba(255,255,255,.62)}
.ep-header--dark-bg .ep-btn--ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.ep-header--nav-custom .ep-btn--ghost{color:var(--ep-nav-custom-color)}
.ep-header--nav-custom.ep-header--dark-bg .ep-btn--ghost{color:var(--ep-nav-custom-color)}

.ep-footer--custom-bg{background:var(--ep-footer-custom-bg)}
.ep-footer--text-custom{color:var(--ep-footer-custom-text)}
.ep-footer--text-custom a{color:var(--ep-footer-custom-text)}
.ep-footer__desc p{margin:.45em 0 0}

@media(max-width:720px){
  .ep-logo{max-width:min(210px,62vw);max-height:38px}
  .ep-header__inner{min-height:64px;height:auto;padding:10px 0}
  .ep-header--mobile-left .ep-brand{flex:0 1 auto;min-width:0}
  .ep-header--mobile-left .ep-header__actions{margin-left:auto;min-width:0}
  .ep-header--mobile-center .ep-header__inner{flex-wrap:wrap;justify-content:center;gap:9px 14px;padding:10px 0 12px}
  .ep-header--mobile-center .ep-brand{width:100%;justify-content:center}
  .ep-header--mobile-center .ep-header__actions{width:100%;justify-content:center;flex-wrap:wrap;margin-left:0}
  .ep-header--mobile-center .ep-search{display:block;flex:1 1 100%;order:2;text-align:center}
  .ep-header--mobile-center .ep-search input{width:min(100%,360px)}
  .ep-header--mobile-center .ep-language{order:1}
  .ep-header--mobile-center .ep-btn--ghost{order:1}
}


/* v0.3.10 menu hierarchy + scoped header/footer customization */
.ep-header{background:rgba(255,255,255,.92)}
.ep-header--custom-bg{background:var(--ep-header-bg-local,var(--ep-header-custom-bg,#fff))}
.ep-header--nav-custom .ep-nav a,
.ep-header--nav-custom .ep-language,
.ep-header--nav-custom .ep-language a,
.ep-header--nav-custom .ep-brand{color:var(--ep-nav-color-local,var(--ep-nav-custom-color,#151925))}
.ep-header .ep-nav a{font-size:var(--ep-nav-size-local,var(--ep-nav-size,15px));font-weight:var(--ep-nav-weight-local,var(--ep-nav-weight,600))}
.ep-header__inner{position:relative}
.ep-nav{min-width:0;overflow:visible}
.ep-nav .ep-menu{display:flex;align-items:center;gap:24px;margin:0;padding:0;list-style:none}
.ep-nav .ep-menu>li{position:relative;margin:0;padding:0;list-style:none}
.ep-nav .ep-menu>li>a{display:flex;align-items:center;min-height:44px;padding:0;text-decoration:none;white-space:nowrap}
.ep-nav .menu-item-has-children>a:after{content:"";width:6px;height:6px;margin-left:7px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.68}
.ep-nav .sub-menu{position:absolute;z-index:120;left:-16px;top:calc(100% - 1px);display:block!important;min-width:210px;margin:0!important;padding:8px!important;list-style:none;background:#fff;border:1px solid var(--ep-line);border-radius:12px;box-shadow:0 16px 42px rgba(24,29,43,.14);opacity:0;visibility:hidden;transform:translateY(7px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s ease;gap:0!important}
.ep-nav .sub-menu li{position:relative;display:block;width:100%;margin:0;padding:0}
.ep-nav .sub-menu a{display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:38px;padding:8px 11px!important;border-radius:8px;color:#252a36!important;font-size:calc(var(--ep-nav-size-local,var(--ep-nav-size,15px)) - 1px)!important;font-weight:600!important;line-height:1.35;white-space:nowrap}
.ep-nav .sub-menu a:hover,.ep-nav .sub-menu a:focus{background:#f5f6fa;color:var(--ep-accent)!important;outline:0}
.ep-nav li:hover>.sub-menu,.ep-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.ep-nav .sub-menu .sub-menu{left:calc(100% + 7px);top:-8px;transform:translateX(6px)}
.ep-nav .sub-menu li:hover>.sub-menu,.ep-nav .sub-menu li:focus-within>.sub-menu{transform:none}
.ep-nav .sub-menu .menu-item-has-children>a:after{transform:rotate(-45deg);margin-left:14px}
.ep-header--dark-bg .ep-nav .sub-menu,.ep-header--theme-bg .ep-nav .sub-menu{background:#fff;color:#252a36;border-color:#e5e7ed}
.ep-menu-toggle{display:none;width:42px;height:42px;padding:0;border:1px solid var(--ep-line);border-radius:10px;background:rgba(255,255,255,.78);color:inherit;align-items:center;justify-content:center;cursor:pointer}
.ep-menu-toggle span,.ep-menu-toggle span:before,.ep-menu-toggle span:after{display:block;width:19px;height:2px;border-radius:10px;background:currentColor;content:"";transition:.18s}
.ep-menu-toggle span{position:relative}.ep-menu-toggle span:before{position:absolute;left:0;top:-6px}.ep-menu-toggle span:after{position:absolute;left:0;top:6px}
.ep-menu-toggle[aria-expanded="true"] span{background:transparent}.ep-menu-toggle[aria-expanded="true"] span:before{top:0;transform:rotate(45deg)}.ep-menu-toggle[aria-expanded="true"] span:after{top:0;transform:rotate(-45deg)}
.ep-submenu-toggle{display:none}

.ep-footer--custom-bg{background:var(--ep-footer-bg-local,var(--ep-footer-custom-bg,#171a25))}
.ep-footer--text-custom{color:var(--ep-footer-color-local,var(--ep-footer-custom-text,#c9ced9))}
.ep-footer--text-custom .ep-footer-menu a{color:var(--ep-footer-color-local,var(--ep-footer-custom-text,#c9ced9))}
.ep-footer-nav{display:flex;justify-content:flex-end}
.ep-footer-menu{display:flex;justify-content:flex-end;align-items:flex-start;gap:12px 24px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.ep-footer-menu li{list-style:none;margin:0;padding:0}
.ep-footer-menu a{font-size:var(--ep-footer-nav-size-local,var(--ep-footer-nav-size,14px));line-height:1.5;text-decoration:none;color:#fff}
.ep-footer-menu a:hover,.ep-footer-menu a:focus{color:var(--ep-accent)}
.ep-footer-menu .sub-menu{margin:7px 0 0;padding:0;list-style:none;display:grid;gap:5px}
.ep-footer-menu .sub-menu a{opacity:.82;font-size:calc(var(--ep-footer-nav-size-local,var(--ep-footer-nav-size,14px)) - 1px)}

@media(max-width:980px){
  .ep-menu-toggle{display:inline-flex;order:2;flex:0 0 auto}
  .ep-nav{display:block;position:absolute;left:0;right:0;top:calc(100% + 1px);z-index:150;padding:10px;background:var(--ep-header-bg-local,#fff);border:1px solid var(--ep-line);border-top:0;border-radius:0 0 14px 14px;box-shadow:0 18px 38px rgba(24,29,43,.13);opacity:0;visibility:hidden;transform:translateY(-7px);pointer-events:none;transition:.16s}
  .ep-nav.ep-nav--open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .ep-nav .ep-menu{display:block!important}
  .ep-nav .ep-menu>li{display:block;width:100%}
  .ep-nav .ep-menu>li>a{min-height:42px;padding:7px 10px}
  .ep-nav .menu-item-has-children>a:after{display:none}
  .ep-nav .sub-menu{position:static!important;display:none!important;min-width:0;margin:0 0 5px 14px!important;padding:2px 0 2px 10px!important;border:0;border-left:2px solid #e6e8ef;border-radius:0;box-shadow:none;background:transparent;opacity:1;visibility:visible;transform:none!important;pointer-events:auto}
  .ep-nav li.ep-submenu-open>.sub-menu{display:block!important}
  .ep-nav .sub-menu a{background:transparent!important;padding:7px 9px!important;white-space:normal}
  .ep-nav .sub-menu .sub-menu{margin-left:12px!important}
  .ep-submenu-toggle{position:absolute;right:4px;top:7px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer}
  .ep-submenu-toggle:before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:.16s}
  .ep-submenu-toggle[aria-expanded="true"]:before{transform:rotate(225deg) translate(-1px,-1px)}
  .ep-header__actions{order:3}
  .ep-header--dark-bg .ep-nav{background:var(--ep-header-bg-local,#171a25);border-color:rgba(255,255,255,.12)}
  .ep-header--dark-bg .ep-nav .ep-menu>li>a{color:#f5f7fb}
  .ep-header--nav-custom .ep-nav .ep-menu>li>a{color:var(--ep-nav-color-local,var(--ep-nav-custom-color,#151925))}
}
@media(max-width:720px){
  .ep-header--mobile-center .ep-menu-toggle{order:2}
  .ep-header--mobile-center .ep-header__actions{order:3}
  .ep-footer-nav{justify-content:flex-start}
  .ep-footer-menu{justify-content:flex-start}
}

/* v0.3.10 color inheritance for dropdowns and mobile menu surface */
.ep-header--theme-bg .ep-nav .sub-menu{background:#fff}
.ep-header--custom-bg .ep-nav .sub-menu{background:var(--ep-header-bg-local,#fff)}
.ep-header--nav-theme .ep-nav .sub-menu a{color:var(--ep-text)!important}
.ep-header--nav-custom .ep-nav .sub-menu a{color:var(--ep-nav-color-local,var(--ep-nav-custom-color,#151925))!important}
.ep-header--dark-bg.ep-header--nav-theme .ep-nav .sub-menu a{color:#f5f7fb!important}
.ep-header--dark-bg .ep-nav .sub-menu a:hover,.ep-header--dark-bg .ep-nav .sub-menu a:focus{background:rgba(255,255,255,.09);color:var(--ep-accent)!important}
@media(max-width:980px){
  .ep-header--theme-bg .ep-nav{background:#fff}
  .ep-header--custom-bg .ep-nav{background:var(--ep-header-bg-local,#fff)}
}

/* v0.3.11 adaptive desktop menu layouts: no overlap when categories grow. */
@media(min-width:981px){
  .ep-header--menu-smart .ep-header__inner,
  .ep-header--menu-wide .ep-header__inner{width:min(var(--ep-header-max-width-local,1560px),calc(100% - 28px));max-width:none}
  .ep-header--menu-smart .ep-header__inner{gap:clamp(12px,1.35vw,24px)}
  .ep-header--menu-wide .ep-header__inner{gap:clamp(14px,1.5vw,28px)}
  .ep-header--menu-compact .ep-header__inner{width:min(1380px,calc(100% - 24px));gap:12px}
  .ep-header--menu-smart .ep-nav .ep-menu,
  .ep-header--menu-wide .ep-nav .ep-menu,
  .ep-header--menu-compact .ep-nav .ep-menu{gap:var(--ep-menu-gap-local,20px);flex-wrap:nowrap}
  .ep-header--menu-compact .ep-nav .ep-menu{gap:min(var(--ep-menu-gap-local,20px),12px)}
  .ep-header--menu-compact .ep-search input{width:145px}
  .ep-header--menu-smart .ep-search input{width:clamp(145px,12vw,190px)}
  .ep-header--menu-wide .ep-search input{width:clamp(160px,13vw,220px)}
  .ep-header--menu-smart .ep-brand,.ep-header--menu-wide .ep-brand,.ep-header--menu-compact .ep-brand{flex:0 0 auto}
  .ep-header--menu-smart .ep-nav,.ep-header--menu-wide .ep-nav,.ep-header--menu-compact .ep-nav{flex:1 1 auto;min-width:80px}
  .ep-header--menu-smart .ep-header__actions,.ep-header--menu-wide .ep-header__actions,.ep-header--menu-compact .ep-header__actions{flex:0 0 auto}

  .ep-menu-more>.ep-menu-more__button{display:flex;align-items:center;min-height:44px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:var(--ep-nav-size-local,var(--ep-nav-size,15px));font-weight:var(--ep-nav-weight-local,var(--ep-nav-weight,600));cursor:pointer;white-space:nowrap}
  .ep-menu-more>.ep-menu-more__button:after{content:"";width:6px;height:6px;margin-left:7px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.68}
  .ep-header--nav-custom .ep-menu-more>.ep-menu-more__button{color:var(--ep-nav-color-local,var(--ep-nav-custom-color,#151925))}
  .ep-header--dark-bg.ep-header--nav-theme .ep-menu-more>.ep-menu-more__button{color:#f5f7fb}
  .ep-menu-more[hidden]{display:none!important}
  .ep-menu-more__submenu{right:0!important;left:auto!important;min-width:230px!important}
  .ep-menu-more__submenu>.menu-item-has-children>.sub-menu{right:calc(100% + 7px)!important;left:auto!important}

  /* Dropdowns near the right edge open inward to avoid viewport clipping. */
  .ep-menu--primary>li:nth-last-child(-n+3)>.sub-menu{right:0;left:auto}
  .ep-menu--primary>li:nth-last-child(-n+3)>.sub-menu .sub-menu{right:calc(100% + 7px);left:auto}

  /* Double-layer mode: brand/actions above, content categories on their own row. */
  .ep-header--menu-double .ep-header__inner{display:grid;width:min(1560px,calc(100% - 32px));max-width:none;height:auto;min-height:96px;grid-template-columns:auto minmax(24px,1fr) auto;grid-template-areas:"brand spacer actions" "nav nav nav";gap:8px 24px;padding:10px 0 0}
  .ep-header--menu-double .ep-brand{grid-area:brand}
  .ep-header--menu-double .ep-header__actions{grid-area:actions}
  .ep-header--menu-double .ep-nav{grid-area:nav;width:100%;border-top:1px solid color-mix(in srgb,currentColor 10%,transparent);padding:4px 0 5px}
  .ep-header--menu-double .ep-nav .ep-menu{gap:var(--ep-menu-gap-local,20px);flex-wrap:wrap;row-gap:0}
  .ep-header--menu-double.ep-header--double-center .ep-nav .ep-menu{justify-content:center}
  .ep-header--menu-double .ep-nav .ep-menu>li>a{min-height:40px}
}

/* v0.3.12 global light/dark appearance, background image, and theme-follow fixes. */
html[data-ep-theme="light"]{
  --ep-bg:#f6f7fb;
  --ep-card:#fff;
  --ep-text:#151925;
  --ep-muted:#6d7482;
  --ep-line:#e8eaf0;
  --ep-surface-soft:#f9fafc;
  --ep-header-theme-bg:rgba(255,255,255,.94);
  --ep-footer-theme-bg:#171a25;
  --ep-footer-theme-text:#c9ced9;
}
html[data-ep-theme="dark"]{
  --ep-bg:#10131a;
  --ep-card:#171b24;
  --ep-text:#f3f5fa;
  --ep-muted:#a7afbf;
  --ep-line:#2a303c;
  --ep-surface-soft:#1d222d;
  --ep-header-theme-bg:rgba(18,21,29,.95);
  --ep-footer-theme-bg:#0d1016;
  --ep-footer-theme-text:#cbd1dc;
  --ep-shadow:0 14px 40px rgba(0,0,0,.28);
}
html[data-ep-site-bg-mode="custom"]:not([data-ep-user-theme="1"]) body{background-color:var(--ep-site-custom-bg)}
html[data-ep-user-theme="1"] body,html[data-ep-site-bg-mode="light"] body,html[data-ep-site-bg-mode="dark"] body{background-color:var(--ep-bg)}
body.ep-has-site-background-image{background-image:var(--ep-site-background-image);background-attachment:fixed}
body.ep-bg-display-cover{background-repeat:no-repeat;background-position:center top;background-size:cover}
body.ep-bg-display-tile{background-repeat:repeat;background-position:left top;background-size:auto}
body.ep-bg-display-contain{background-repeat:no-repeat;background-position:center top;background-size:contain}
body.ep-bg-display-center{background-repeat:no-repeat;background-position:center top;background-size:auto}
body.ep-bg-display-stretch{background-repeat:no-repeat;background-position:center top;background-size:100% 100%}

/* Theme-follow header/footer must read the active Easy Point theme, not stale custom values or OS media state. */
.ep-header--theme-bg{background:var(--ep-header-theme-bg)!important;border-bottom-color:var(--ep-line)}
.ep-header--custom-bg{background:var(--ep-header-bg-local)!important}
.ep-header--nav-theme .ep-nav>a,.ep-header--nav-theme .ep-menu>li>a,.ep-header--nav-theme .ep-language,.ep-header--nav-theme .ep-language a,.ep-header--nav-theme .ep-brand{color:var(--ep-text)}
.ep-header--nav-custom .ep-nav>a,.ep-header--nav-custom .ep-menu>li>a,.ep-header--nav-custom .ep-language,.ep-header--nav-custom .ep-language a,.ep-header--nav-custom .ep-brand{color:var(--ep-nav-color-local)}
html[data-ep-theme="dark"] .ep-header--theme-bg.ep-header--dual-logo .ep-logo--day{display:none}
html[data-ep-theme="dark"] .ep-header--theme-bg.ep-header--dual-logo .ep-logo--night{display:block}
html[data-ep-theme="light"] .ep-header--theme-bg.ep-header--dual-logo .ep-logo--day{display:block}
html[data-ep-theme="light"] .ep-header--theme-bg.ep-header--dual-logo .ep-logo--night{display:none}
html[data-ep-theme="dark"] .ep-header--theme-bg .ep-search input{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:var(--ep-text)}
html[data-ep-theme="dark"] .ep-header--theme-bg .ep-search input::placeholder{color:var(--ep-muted)}
html[data-ep-theme="dark"] .ep-header--theme-bg .ep-btn--ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:var(--ep-text)}
html[data-ep-theme="light"] .ep-header--theme-bg .ep-btn--ghost{background:#fff;border-color:var(--ep-line);color:var(--ep-text)}

.ep-footer--theme-bg{background:var(--ep-footer-theme-bg);color:var(--ep-footer-theme-text)}
.ep-footer--theme-bg a{color:#fff}
.ep-footer--custom-bg{background:var(--ep-footer-bg-local)!important}
.ep-footer--text-custom{color:var(--ep-footer-color-local)!important}
.ep-footer--text-custom a{color:var(--ep-footer-color-local)!important}

/* Dark-mode surfaces that were previously hard-coded white. */
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-category-shortcut__icon,
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)}
html[data-ep-theme="dark"] .ep-search input{background:var(--ep-surface-soft);color:var(--ep-text)}
html[data-ep-theme="dark"] .ep-btn--ghost{background:var(--ep-card);color:var(--ep-text);border-color:var(--ep-line)}

/* Header light/dark switch. Custom header colors remain untouched. */
.ep-theme-toggle{width:40px;height:40px;display:inline-grid;place-items:center;position:relative;flex:0 0 40px;border:1px solid var(--ep-line);border-radius:11px;background:var(--ep-card);color:var(--ep-text);cursor:pointer;transition:.18s}
.ep-theme-toggle:hover{border-color:color-mix(in srgb,var(--ep-accent) 45%,var(--ep-line));transform:translateY(-1px)}
.ep-theme-toggle__sun,.ep-theme-toggle__moon{position:absolute;font-size:18px;line-height:1;transition:opacity .16s ease,transform .16s ease}
html[data-ep-theme="light"] .ep-theme-toggle__sun{opacity:1;transform:scale(1)}
html[data-ep-theme="light"] .ep-theme-toggle__moon{opacity:0;transform:scale(.65)}
html[data-ep-theme="dark"] .ep-theme-toggle__sun{opacity:0;transform:scale(.65)}
html[data-ep-theme="dark"] .ep-theme-toggle__moon{opacity:1;transform:scale(1)}
.ep-header--custom-bg .ep-theme-toggle{background:rgba(255,255,255,.1);border-color:rgba(127,127,127,.28);color:inherit}

/* Dropdown/mobile surfaces follow the active theme only when header itself follows theme. */
html[data-ep-theme="light"] .ep-header--theme-bg .ep-nav .sub-menu{background:#fff;color:#252a36;border-color:#e5e7ed}
html[data-ep-theme="light"] .ep-header--theme-bg.ep-header--nav-theme .ep-nav .sub-menu a{color:#252a36!important}
html[data-ep-theme="dark"] .ep-header--theme-bg .ep-nav .sub-menu{background:#171b24;color:#f3f5fa;border-color:#2a303c}
html[data-ep-theme="dark"] .ep-header--theme-bg.ep-header--nav-theme .ep-nav .sub-menu a{color:#f3f5fa!important}
html[data-ep-theme="dark"] .ep-header--theme-bg .ep-nav .sub-menu a:hover,html[data-ep-theme="dark"] .ep-header--theme-bg .ep-nav .sub-menu a:focus{background:rgba(255,255,255,.07)}
@media(max-width:980px){
  html[data-ep-theme="light"] .ep-header--theme-bg .ep-nav{background:#fff}
  html[data-ep-theme="dark"] .ep-header--theme-bg .ep-nav{background:#171b24}
}

/* Explicit visitor light-mode overrides for legacy selectors. */
html[data-ep-theme="light"] .ep-header--theme-bg.ep-header--nav-theme .ep-nav a,
html[data-ep-theme="light"] .ep-header--theme-bg.ep-header--nav-theme .ep-language,
html[data-ep-theme="light"] .ep-header--theme-bg.ep-header--nav-theme .ep-language a,
html[data-ep-theme="light"] .ep-header--theme-bg.ep-header--nav-theme .ep-brand{color:#151925!important}
html[data-ep-theme="light"] .ep-header--theme-bg .ep-search input{background:#f9fafc;border-color:#e8eaf0;color:#151925}
html[data-ep-theme="light"] .ep-header--theme-bg .ep-search input::placeholder{color:#6d7482}
html[data-ep-theme="light"] .ep-header--theme-bg .ep-btn--ghost{background:#fff;border-color:#e8eaf0;color:#151925}
html[data-ep-theme="dark"] .ep-header--theme-bg.ep-header--nav-theme .ep-nav a,
html[data-ep-theme="dark"] .ep-header--theme-bg.ep-header--nav-theme .ep-language,
html[data-ep-theme="dark"] .ep-header--theme-bg.ep-header--nav-theme .ep-language a,
html[data-ep-theme="dark"] .ep-header--theme-bg.ep-header--nav-theme .ep-brand{color:#f3f5fa!important}

/* v0.3.15 definitive header theme-follow layer.
   Easy Point's active data-ep-theme is the single source of truth; old OS media rules cannot win. */
html[data-ep-theme="light"] .ep-header--theme-bg{background:rgba(255,255,255,.94)!important;border-bottom-color:#e8eaf0!important;color:#151925}
html[data-ep-theme="dark"] .ep-header--theme-bg{background:rgba(18,21,29,.95)!important;border-bottom-color:#2a303c!important;color:#f3f5fa}
html[data-ep-theme="light"] .ep-header--nav-theme .ep-menu>li>a,
html[data-ep-theme="light"] .ep-header--nav-theme .ep-menu-more__button,
html[data-ep-theme="light"] .ep-header--nav-theme .ep-language,
html[data-ep-theme="light"] .ep-header--nav-theme .ep-language a,
html[data-ep-theme="light"] .ep-header--nav-theme .ep-brand{color:#151925!important}
html[data-ep-theme="dark"] .ep-header--nav-theme .ep-menu>li>a,
html[data-ep-theme="dark"] .ep-header--nav-theme .ep-menu-more__button,
html[data-ep-theme="dark"] .ep-header--nav-theme .ep-language,
html[data-ep-theme="dark"] .ep-header--nav-theme .ep-language a,
html[data-ep-theme="dark"] .ep-header--nav-theme .ep-brand{color:#f3f5fa!important}
html[data-ep-theme="light"] .ep-header--theme-bg .ep-menu-toggle,
html[data-ep-theme="light"] .ep-header--theme-bg .ep-theme-toggle{background:#fff!important;border-color:#e8eaf0!important;color:#151925!important}
html[data-ep-theme="dark"] .ep-header--theme-bg .ep-menu-toggle,
html[data-ep-theme="dark"] .ep-header--theme-bg .ep-theme-toggle{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.14)!important;color:#f3f5fa!important}
html[data-ep-theme="light"] .ep-header--theme-bg .ep-btn--ghost{background:#fff!important;border-color:#e8eaf0!important;color:#151925!important}
html[data-ep-theme="dark"] .ep-header--theme-bg .ep-btn--ghost{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.14)!important;color:#f3f5fa!important}
html[data-ep-theme="light"] .ep-header--theme-bg .ep-search input{background:#f9fafc!important;border-color:#e8eaf0!important;color:#151925!important}
html[data-ep-theme="dark"] .ep-header--theme-bg .ep-search input{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.14)!important;color:#f3f5fa!important}
html[data-ep-theme="light"] .ep-header--theme-bg .ep-search input::placeholder{color:#6d7482!important}
html[data-ep-theme="dark"] .ep-header--theme-bg .ep-search input::placeholder{color:#a7afbf!important}
html[data-ep-theme="light"] .ep-header--theme-bg .ep-nav .sub-menu{background:#fff!important;border-color:#e5e7ed!important;color:#252a36!important}
html[data-ep-theme="dark"] .ep-header--theme-bg .ep-nav .sub-menu{background:#171b24!important;border-color:#2a303c!important;color:#f3f5fa!important}
html[data-ep-theme="light"] .ep-header--theme-bg.ep-header--nav-theme .ep-nav .sub-menu a{color:#252a36!important}
html[data-ep-theme="dark"] .ep-header--theme-bg.ep-header--nav-theme .ep-nav .sub-menu a{color:#f3f5fa!important}
html[data-ep-theme="light"] .ep-header--theme-bg.ep-header--nav-theme .ep-nav .sub-menu a:hover,
html[data-ep-theme="light"] .ep-header--theme-bg.ep-header--nav-theme .ep-nav .sub-menu a:focus{background:#f5f6fa!important;color:var(--ep-accent)!important}
html[data-ep-theme="dark"] .ep-header--theme-bg.ep-header--nav-theme .ep-nav .sub-menu a:hover,
html[data-ep-theme="dark"] .ep-header--theme-bg.ep-header--nav-theme .ep-nav .sub-menu a:focus{background:rgba(255,255,255,.07)!important;color:var(--ep-accent)!important}
@media(max-width:980px){
  html[data-ep-theme="light"] .ep-header--theme-bg .ep-nav{background:#fff!important;border-color:#e8eaf0!important}
  html[data-ep-theme="dark"] .ep-header--theme-bg .ep-nav{background:#171b24!important;border-color:#2a303c!important}
  html[data-ep-theme="light"] .ep-header--theme-bg.ep-header--nav-theme .ep-nav .ep-menu>li>a{color:#151925!important}
  html[data-ep-theme="dark"] .ep-header--theme-bg.ep-header--nav-theme .ep-nav .ep-menu>li>a{color:#f3f5fa!important}
}

/* v0.3.22 site visual language. These styles sit above the existing theme tokens
   and never replace site background images/colors or header/footer custom colors. */
body[class*="ep-site-style-"]:not(.ep-auth-standalone){--ep-style-soft-shadow:0 10px 28px rgba(31,35,48,.07);--ep-style-strong-shadow:0 18px 46px rgba(31,35,48,.13)}
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-strength-expressive:not(.ep-auth-standalone) .ep-card:hover{transform:translateY(-7px)}

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-btn{border-radius:999px}
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-clean:not(.ep-auth-standalone) .ep-btn{background:var(--ep-accent)}

body.ep-site-style-casual:not(.ep-auth-standalone){--ep-radius:max(var(--ep-radius),22px)}
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-btn{border-radius:18px}
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-btn{border-radius:3px;background:var(--ep-text);box-shadow:3px 3px 0 color-mix(in srgb,var(--ep-text) 35%,transparent)}
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-anime:not(.ep-auth-standalone) .ep-btn{border-radius:999px;background:var(--ep-accent);background-image:none}

body.ep-site-style-american_comic:not(.ep-auth-standalone) .ep-card,
body.ep-site-style-american_comic:not(.ep-auth-standalone) .ep-hero-dashboard,
body.ep-site-style-american_comic:not(.ep-auth-standalone) .ep-content,
body.ep-site-style-american_comic:not(.ep-auth-standalone) .ep-sidebar{border:3px solid var(--ep-text);border-radius:8px!important;box-shadow:7px 7px 0 color-mix(in srgb,var(--ep-accent) 72%,#2d61ff)!important}
body.ep-site-style-american_comic:not(.ep-auth-standalone) .ep-btn{border:2px solid var(--ep-text);border-radius:5px;box-shadow:4px 4px 0 var(--ep-text)}
body.ep-site-style-american_comic:not(.ep-auth-standalone) .ep-kicker{font-weight:950}

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-btn{border-radius:2px;background:var(--ep-accent);background-image:none}
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%)}

/* v0.3.23 global typography: one font choice follows the visitor from entrance to site. */
html,body,button,input,select,textarea,.ep-header,.ep-footer,.ep-card,.ep-btn{font-family:var(--ep-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif)}

/* v0.3.33 resource article media + member comments */
.single-ep_resource .ep-content-layout{width:min(1380px,calc(100% - 32px));grid-template-columns:minmax(0,1fr) 240px;gap:24px}
.single-ep_resource .ep-content{min-width:0;padding:clamp(20px,2.4vw,34px)}
.single-ep_resource .ep-content figure,.single-ep_resource .ep-content .wp-block-image{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
.single-ep_resource .ep-content figure img,.single-ep_resource .ep-content .wp-block-image img,.single-ep_resource .ep-content>p>img,.single-ep_resource .ep-content>img{display:block;width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain}
.single-ep_resource .ep-content img:not(.emoji):not(.wp-smiley){cursor:zoom-in}
.ep-image-lightbox[hidden]{display:none!important}.ep-image-lightbox{position:fixed;inset:0;z-index:100002;display:grid;place-items:center;padding:24px;background:rgba(5,8,14,.88);backdrop-filter:blur(10px)}
.ep-image-lightbox__image{display:block;max-width:min(96vw,1800px);max-height:92vh;width:auto;height:auto;object-fit:contain;box-shadow:0 28px 90px rgba(0,0,0,.45)}
.ep-image-lightbox__close{position:fixed;right:22px;top:18px;z-index:2;width:42px;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(20,24,32,.64);color:#fff;font-size:28px;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}
.ep-comments{width:min(1180px,calc(100% - 32px));margin:0 auto 54px;padding:28px;background:var(--ep-card,#fff);border:1px solid var(--ep-line,#e8eaf0);border-radius:var(--ep-radius,18px);color:var(--ep-text,#151925)}
.ep-comments h2,.ep-comments .comment-reply-title{margin-top:0;color:var(--ep-text,#151925)}
.ep-comment-list{padding-left:24px}.ep-comment-list .comment-body{padding:16px 0;border-bottom:1px solid var(--ep-line,#e8eaf0)}
.ep-comment-form{display:grid;gap:14px}.ep-comment-form .comment-form-comment{margin:0}.ep-comment-form .comment-form-comment label{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:var(--ep-text,#151925)}
.ep-comment-form textarea{display:block;width:100%;min-height:150px;resize:vertical;border:1px solid color-mix(in srgb,var(--ep-text,#151925) 22%,var(--ep-line,#e8eaf0));border-radius:14px;padding:14px 16px;background:color-mix(in srgb,var(--ep-card,#fff) 92%,var(--ep-text,#151925) 8%);color:var(--ep-text,#151925);font:inherit;line-height:1.7;outline:0;caret-color:var(--ep-accent,#5b5ef7)}
.ep-comment-form textarea::placeholder{color:color-mix(in srgb,var(--ep-text,#151925) 52%,transparent)}
.ep-comment-form textarea:focus{border-color:var(--ep-accent,#5b5ef7);box-shadow:0 0 0 3px color-mix(in srgb,var(--ep-accent,#5b5ef7) 14%,transparent);background:color-mix(in srgb,var(--ep-card,#fff) 96%,var(--ep-accent,#5b5ef7) 4%)}
.ep-comment-form .form-submit{margin:0}.ep-comment-submit{min-width:132px}
@media(max-width:980px){.single-ep_resource .ep-content-layout{width:min(1180px,calc(100% - 32px));grid-template-columns:1fr}.ep-comments{padding:22px}.ep-image-lightbox{padding:12px}.ep-image-lightbox__close{right:12px;top:12px}}


/* v0.3.34 resource media fidelity + cover card + smooth full-image viewer */
.single-ep_resource .ep-resource-cover{aspect-ratio:16/10;display:grid;place-items:center}
.single-ep_resource .ep-resource-cover>img{width:100%;height:100%;object-fit:cover;display:block}
.single-ep_resource .ep-content img:not(.emoji):not(.wp-smiley){image-rendering:auto}
.ep-image-lightbox{opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}
.ep-image-lightbox.is-open{opacity:1;visibility:visible}
.ep-image-lightbox__image{opacity:0;transform:scale(.965);transition:opacity .22s ease,transform .24s cubic-bezier(.2,.72,.2,1)}
.ep-image-lightbox.is-open .ep-image-lightbox__image{opacity:1;transform:scale(1)}

/* v0.3.36 shared bilingual media + resource action layout */
.ep-purchase-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.single-ep_resource .ep-shared-media{display:grid;gap:22px;margin-top:28px;padding-top:24px;border-top:1px dashed var(--ep-line)}.single-ep_resource .ep-shared-media figure,.single-ep_resource .ep-shared-media img,.single-ep_resource .ep-shared-media video,.single-ep_resource .ep-shared-media iframe{max-width:100%}.single-ep_resource .ep-shared-media img{display:block;width:100%;height:auto}.single-ep_resource .ep-sidebar dl{grid-template-columns:minmax(72px,auto) minmax(0,1fr)}.single-ep_resource .ep-sidebar dd{word-break:break-word}@media(max-width:600px){.ep-purchase-box{align-items:flex-start;flex-direction:column}.ep-purchase-actions{width:100%}.ep-purchase-actions .ep-btn{flex:1 1 auto;text-align:center}}


/* v0.3.37 resource sale panel rebuilt around actual sale mode. */
.single-ep_resource .ep-sale-panel{display:grid;gap:13px;margin-top:26px;padding:18px;border:1px solid var(--ep-line);border-radius:18px;background:var(--ep-card);box-shadow:0 8px 26px rgba(25,30,45,.05)}.single-ep_resource .ep-sale-panel__top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.single-ep_resource .ep-sale-mode{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--ep-accent) 10%,var(--ep-card));color:var(--ep-accent);font-size:12px;font-weight:800}.single-ep_resource .ep-sale-prices{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.single-ep_resource .ep-sale-prices strong{font-size:27px;line-height:1.2;color:var(--ep-accent)}.single-ep_resource .ep-sale-prices .ep-sale-points{font-size:20px;color:var(--ep-text)}.single-ep_resource .ep-sale-prices .ep-sale-vip{font-size:18px;color:var(--ep-text)}.single-ep_resource .ep-sale-panel__notes{display:grid;gap:5px;color:var(--ep-muted);font-size:13px}.single-ep_resource .ep-sale-panel .ep-purchase-actions{padding-top:2px}.single-ep_resource .ep-purchase-box{display:none!important}
html[data-ep-theme="dark"] .single-ep_resource .ep-sale-panel{background:var(--ep-card)}
@media(max-width:600px){.single-ep_resource .ep-sale-panel__top{display:grid}.single-ep_resource .ep-sale-prices strong{font-size:24px}.single-ep_resource .ep-sale-panel .ep-purchase-actions{display:grid;grid-template-columns:1fr}.single-ep_resource .ep-sale-panel .ep-btn{text-align:center}}

.single-ep_resource .ep-sale-prices del{font-size:14px;color:var(--ep-muted);text-decoration-thickness:1px}

/* v0.3.42 resource cards, activity counters, and responsive video. */
.ep-card{display:flex;flex-direction:column;height:100%}
.ep-card__media img{transition:transform .28s ease}
.ep-card:hover .ep-card__media img{transform:scale(1.025)}
.ep-card__body{display:flex;flex:1;flex-direction:column;min-width:0}
.ep-card__meta span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid color-mix(in srgb,var(--ep-accent) 13%,var(--ep-line));border-radius:999px;background:color-mix(in srgb,var(--ep-accent) 6%,var(--ep-card));color:color-mix(in srgb,var(--ep-text) 72%,var(--ep-accent));font-weight:700}
.ep-card h3{min-height:48px}
.ep-card p{display:-webkit-box;min-height:44px;margin:0 0 14px;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ep-card__footer{margin-top:auto;gap:10px;flex-wrap:wrap}
.ep-card__price{min-width:0;line-height:1.35}
.ep-card__stats{display:flex;align-items:center;justify-content:flex-end;gap:5px 10px;flex-wrap:wrap;color:var(--ep-muted);font-size:11px;line-height:1.3}
.ep-card__stats span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.ep-card__stats b{color:color-mix(in srgb,var(--ep-muted) 80%,var(--ep-text));font-size:10px;font-weight:700}
.single-ep_resource .ep-resource-facts span{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid var(--ep-line);border-radius:999px;background:color-mix(in srgb,var(--ep-card) 88%,var(--ep-bg));font-size:12px}
.single-ep_resource .ep-content video,.single-ep_resource .ep-shared-media video{display:block;width:100%;max-width:100%;height:auto;border-radius:min(14px,var(--ep-radius));background:#000}
.single-ep_resource .ep-content iframe,.single-ep_resource .ep-shared-media iframe{display:block;max-width:100%}
.single-ep_resource .ep-content .wp-block-embed.is-type-video .wp-block-embed__wrapper,.single-ep_resource .ep-shared-media .wp-block-embed.is-type-video .wp-block-embed__wrapper{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:min(14px,var(--ep-radius));background:#000}
.single-ep_resource .ep-content .wp-block-embed.is-type-video iframe,.single-ep_resource .ep-shared-media .wp-block-embed.is-type-video iframe{position:absolute;inset:0;width:100%;height:100%}
@media(max-width:600px){.ep-card h3{min-height:0}.ep-card__footer{align-items:flex-start}.ep-card__stats{justify-content:flex-start;width:100%}}

/* v0.3.43 admin-only quick metric editor on resource front-end. */
.ep-front-metric-editor{display:grid;grid-template-columns:minmax(220px,1fr) minmax(120px,150px) minmax(120px,150px) auto;gap:10px;align-items:end;margin:14px 0 2px;padding:10px 12px;border:1px dashed var(--ep-border,#dfe3eb);border-radius:10px;background:var(--ep-card,#fff)}
.ep-front-metric-editor>div{display:grid;gap:2px;align-self:center}.ep-front-metric-editor>div strong{font-size:12px}.ep-front-metric-editor>div small{font-size:11px;line-height:1.35;opacity:.68}.ep-front-metric-editor label{display:grid;gap:4px;font-size:11px;font-weight:700}.ep-front-metric-editor input{width:100%;min-width:0;padding:7px 8px}.ep-front-metric-editor .ep-btn--small{min-height:34px;padding:7px 11px;white-space:nowrap}.ep-front-metric-saved{margin:7px 0 0;font-size:12px;color:#18794e}
@media(max-width:850px){.ep-front-metric-editor{grid-template-columns:1fr 1fr}.ep-front-metric-editor>div{grid-column:1/-1}.ep-front-metric-editor .ep-btn--small{justify-self:start}}
@media(max-width:520px){.ep-front-metric-editor{grid-template-columns:1fr}.ep-front-metric-editor>div{grid-column:auto}}

/* v0.3.44 resource activity, breadcrumb, likes, changelog and front submissions */
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ep-card__stats .ep-metric{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:3px 7px;border:1px solid var(--ep-line);border-radius:999px;background:color-mix(in srgb,var(--ep-card) 92%,var(--ep-bg));font-style:normal}
.ep-card__stats .ep-metric svg,.ep-resource-fact-metric svg,.ep-like-btn svg{width:15px;height:15px;flex:0 0 15px;display:block}
.ep-card__stats .ep-metric b{font-size:11px;color:var(--ep-text);font-weight:750}
.ep-resource-fact-metric{gap:6px!important}.ep-resource-fact-metric b{font-size:12px;color:var(--ep-muted);font-weight:700}
.ep-resource-breadcrumb{display:flex;align-items:center;gap:14px;padding-top:24px;font-size:13px;color:var(--ep-muted)}
.ep-resource-breadcrumb a{color:inherit;text-decoration:none}.ep-resource-breadcrumb a:hover{color:var(--ep-accent)}
.ep-resource-back{display:inline-flex;align-items:center;min-height:34px;padding:5px 10px;border:1px solid var(--ep-line);border-radius:10px;background:var(--ep-card);font-weight:700}
.ep-resource-breadcrumb nav{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;overflow:hidden}.ep-resource-breadcrumb nav strong{overflow:hidden;text-overflow:ellipsis;color:var(--ep-text);font-weight:650}
.ep-resource-like{display:flex;align-items:center;gap:10px;margin-top:14px}.ep-resource-like small{color:var(--ep-muted)}
.ep-like-form{margin:0}.ep-like-btn{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 12px;border:1px solid var(--ep-line);border-radius:999px;background:var(--ep-card);color:var(--ep-text);text-decoration:none;font:inherit;font-weight:750;cursor:pointer}.ep-like-btn b{min-width:1.2em;color:var(--ep-muted)}.ep-like-btn:hover,.ep-like-btn.is-liked{border-color:color-mix(in srgb,var(--ep-accent) 50%,var(--ep-line));color:var(--ep-accent);background:color-mix(in srgb,var(--ep-accent) 7%,var(--ep-card))}.ep-like-btn.is-liked svg{fill:currentColor}
.ep-resource-update-log{margin-top:34px;padding-top:26px;border-top:1px solid var(--ep-line)}.ep-resource-update-log__head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.ep-resource-update-log__head h2{margin:2px 0 0;font-size:22px}.ep-resource-update-log__head .ep-kicker{margin:0}.ep-resource-update-log__head time{font-size:12px;color:var(--ep-muted);white-space:nowrap}.ep-resource-update-log__body{margin-top:14px;padding:16px 18px;border-radius:14px;background:color-mix(in srgb,var(--ep-bg) 70%,var(--ep-card));border:1px solid var(--ep-line)}.ep-resource-update-log__body>:first-child{margin-top:0}.ep-resource-update-log__body>:last-child{margin-bottom:0}
.ep-header-submit{white-space:nowrap;padding-inline:14px}
.ep-submission-page{padding-top:42px}.ep-submission-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.ep-submission-head h1{margin:3px 0 0;font-size:clamp(30px,4vw,46px);line-height:1.12}.ep-submission-notice{margin-bottom:18px;padding:15px 18px;border:1px solid var(--ep-line);border-radius:14px;background:color-mix(in srgb,var(--ep-accent) 5%,var(--ep-card))}.ep-submission-notice strong{display:block;margin-bottom:6px}.ep-submission-notice p:first-of-type{margin-top:0}.ep-submission-notice p:last-child{margin-bottom:0}
.ep-submission-form{display:grid;gap:18px;padding:24px;background:var(--ep-card);border:1px solid var(--ep-line);border-radius:var(--ep-radius);box-shadow:var(--ep-shadow)}.ep-submission-form>label,.ep-submission-grid label,.ep-submission-upload label,.ep-submission-commerce label{display:grid;gap:7px;font-weight:700}.ep-submission-form label>span{font-size:13px}.ep-submission-form input[type=text],.ep-submission-form input[type=number],.ep-submission-form select,.ep-submission-form textarea,.ep-submission-form input[type=file]{width:100%;border:1px solid var(--ep-line);border-radius:11px;padding:10px 12px;background:var(--ep-bg);color:var(--ep-text);font:inherit}.ep-submission-form textarea{resize:vertical}.ep-submission-form small{font-weight:400;color:var(--ep-muted)}.ep-submission-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.ep-submission-upload{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px;border:1px dashed var(--ep-line);border-radius:14px}.ep-submission-commerce{display:grid;gap:14px;padding:16px;border:1px solid var(--ep-line);border-radius:14px}.ep-submission-commerce h3{margin:0}.ep-submission-submit{display:flex;align-items:center;gap:14px}.ep-submission-submit span{font-size:13px;color:var(--ep-muted)}
.ep-account-panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.ep-account-panel-head h2{margin:0}.ep-submission-list{display:grid;gap:10px;margin-top:16px}.ep-submission-list__item{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 0;border-top:1px solid var(--ep-line)}.ep-submission-list__item:first-child{border-top:0}.ep-submission-list__item>div:first-child{display:grid;gap:3px}.ep-submission-list__item small{color:var(--ep-muted)}.ep-submission-list__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.ep-submission-list__actions a{font-size:13px;text-decoration:none}.ep-account-submit-link{font-weight:800!important;color:var(--ep-accent)!important}
@media(max-width:760px){.ep-resource-breadcrumb{align-items:flex-start}.ep-resource-breadcrumb nav{white-space:normal;flex-wrap:wrap}.ep-resource-like{align-items:flex-start;flex-direction:column}.ep-submission-head,.ep-submission-list__item{align-items:flex-start;flex-direction:column}.ep-submission-grid,.ep-submission-upload{grid-template-columns:1fr}.ep-submission-list__actions{justify-content:flex-start}}
.ep-submission-editor{display:grid;gap:7px}.ep-submission-field-label{font-size:13px;font-weight:700}.ep-submission-editor .wp-editor-wrap{border-radius:11px;overflow:hidden}.ep-submission-editor small{display:block;margin-top:3px}

/* v0.3.45 Banner */
.ep-banner{position:relative;width:100%;height:var(--ep-banner-height);min-height:160px;overflow:hidden;background:linear-gradient(135deg,#171b2b,#5058a9);isolation:isolate}
.ep-banner--contained{width:min(1560px,calc(100% - 40px));margin:22px auto 0;border-radius:var(--ep-radius);box-shadow:0 20px 55px rgba(18,24,46,.12)}
.ep-banner__frame,.ep-banner__slides,.ep-banner__slide{position:absolute;inset:0}
.ep-banner__slide{display:block;opacity:0;visibility:hidden;overflow:hidden;transition:opacity .7s ease,transform .8s ease;pointer-events:none}
.ep-banner__slide.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto;z-index:2}
.ep-banner--transition-slide .ep-banner__slide{transform:translateX(100%)}
.ep-banner--transition-slide .ep-banner__slide.is-before{transform:translateX(-100%)}
.ep-banner--transition-slide .ep-banner__slide.is-active{transform:translateX(0)}
.ep-banner--transition-zoom .ep-banner__slide{transform:scale(1.045)}
.ep-banner--transition-zoom .ep-banner__slide.is-active{transform:scale(1)}
.ep-banner__image,.ep-banner__video{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.ep-banner--position-top .ep-banner__image,.ep-banner--position-top .ep-banner__video{object-position:center top}
.ep-banner--position-bottom .ep-banner__image,.ep-banner--position-bottom .ep-banner__video{object-position:center bottom}
.ep-banner__shade{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(8,12,24,var(--ep-banner-overlay)),rgba(8,12,24,calc(var(--ep-banner-overlay) * .72)) 55%,rgba(8,12,24,calc(var(--ep-banner-overlay) * .45)))}
.ep-banner--no-media .ep-banner__shade{background:radial-gradient(circle at 78% 25%,rgba(112,94,255,.42),transparent 36%),linear-gradient(135deg,#151a2b,#384185)}
.ep-banner__content{position:relative;z-index:5;height:100%;display:flex;align-items:center;pointer-events:none}
.ep-banner__copy{width:min(860px,88%);margin:0 auto;text-align:center;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.24);pointer-events:auto}
.ep-banner__copy h1{margin:0;font-size:var(--ep-banner-title-size,64px);line-height:1.08;letter-spacing:-.03em;color:#fff}
.ep-banner--category .ep-banner__copy h1{font-size:var(--ep-banner-title-size,50px)}
.ep-banner__copy p{max-width:760px;margin:16px auto 0;font-size:var(--ep-banner-subtitle-size,20px);line-height:1.65;color:rgba(255,255,255,.88)}
.ep-banner-search{display:grid;grid-template-columns:132px minmax(0,1fr) auto;align-items:center;width:min(780px,100%);margin:28px auto 0;padding:6px;border:1px solid rgba(255,255,255,.26);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 18px 42px rgba(11,17,34,.2);text-shadow:none;backdrop-filter:blur(14px)}
.ep-banner-search select,.ep-banner-search input{height:48px;border:0!important;box-shadow:none!important;background:transparent!important;color:#202431;font:inherit}
.ep-banner-search select{padding:0 12px;border-right:1px solid #e2e6ef!important;border-radius:0!important;font-size:14px;font-weight:700}
.ep-banner-search input{min-width:0;padding:0 15px;font-size:15px}
.ep-banner-search button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:48px;padding:0 22px;border:0;border-radius:13px;background:var(--ep-accent);background-image:none;color:#fff;font-weight:800;cursor:pointer}
.ep-banner-search button svg{width:18px;height:18px}
.ep-banner__dots{position:absolute;z-index:6;left:50%;bottom:18px;display:flex;gap:7px;transform:translateX(-50%)}
.ep-banner__dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.48);box-shadow:0 1px 5px rgba(0,0,0,.18);cursor:pointer;transition:width .2s ease,background .2s ease}
.ep-banner__dots button.is-active{width:26px;background:#fff}
.ep-category-archive__head p{max-width:720px;margin:9px 0 0;color:var(--ep-muted)}
.ep-card--post{min-height:220px}.ep-card--post .ep-card__body{padding:20px}.ep-card--post h2{margin:10px 0;font-size:19px}.ep-card--post h2 a{color:inherit;text-decoration:none}
@media(max-width:760px){
  .ep-banner{height:min(var(--ep-banner-height),520px)}
  .ep-banner--contained{width:calc(100% - 24px);margin-top:12px}
  .ep-banner__copy{width:92%}.ep-banner__copy h1{font-size:min(var(--ep-banner-title-size,42px),42px)}.ep-banner__copy p{font-size:min(var(--ep-banner-subtitle-size,16px),16px);margin-top:11px}
  .ep-banner-search{grid-template-columns:105px 1fr;margin-top:20px;padding:5px}.ep-banner-search button{grid-column:1/3;width:100%;height:43px}.ep-banner-search select,.ep-banner-search input{height:43px}.ep-banner-search select{font-size:12px;padding:0 7px}.ep-banner-search input{font-size:13px;padding:0 9px}
}
@media(prefers-reduced-motion:reduce){.ep-banner__slide{transition:none!important}.ep-banner--transition-zoom .ep-banner__slide{transform:none!important}}


/* v0.3.46 category navigation: server-rendered hierarchy, no AJAX dependency. */
.ep-category-breadcrumb{display:flex;align-items:center;gap:7px;min-width:0;padding:15px 0 5px;color:var(--ep-muted);font-size:13px;white-space:nowrap;overflow-x:auto;scrollbar-width:none}.ep-category-breadcrumb::-webkit-scrollbar{display:none}.ep-category-breadcrumb__label{font-weight:700;color:var(--ep-text)}.ep-category-breadcrumb a{color:var(--ep-muted);text-decoration:none}.ep-category-breadcrumb a:hover{color:var(--ep-accent)}.ep-category-breadcrumb strong{color:var(--ep-text);font-weight:800}
.ep-category-filter{margin:18px 0 14px;padding:14px 16px;border:1px solid var(--ep-line);border-radius:var(--ep-radius);background:var(--ep-surface);box-shadow:0 8px 24px rgba(20,26,43,.04)}.ep-category-filter__head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.ep-category-filter__head strong{font-size:15px}.ep-category-filter__head span{color:var(--ep-muted);font-size:12px}.ep-category-filter__row{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:9px 0;border-top:1px solid var(--ep-line)}.ep-category-filter__row:first-of-type{border-top:0}.ep-category-filter__level{padding:7px 0;color:var(--ep-muted);font-size:12px;font-weight:800}.ep-category-filter__items{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.ep-category-filter__item,.ep-category-filter__more{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ep-text);font:inherit;font-size:13px;font-weight:650;text-decoration:none;cursor:pointer;transition:.16s ease}.ep-category-filter__item:hover,.ep-category-filter__more:hover{background:rgba(91,94,247,.08);color:var(--ep-accent)}.ep-category-filter__item.is-active{background:var(--ep-accent);color:#fff;border-color:var(--ep-accent);box-shadow:0 5px 14px rgba(91,94,247,.18)}.ep-category-filter__item.is-collapsed{display:none}.ep-category-filter__row.is-expanded .ep-category-filter__item.is-collapsed{display:inline-flex}.ep-category-filter__more{border-color:var(--ep-line);color:var(--ep-muted);background:var(--ep-bg)}
.ep-category-filter--compact{padding:11px 13px}.ep-category-filter--compact .ep-category-filter__head span{display:none}.ep-category-filter--compact .ep-category-filter__row{grid-template-columns:68px minmax(0,1fr);padding:7px 0}.ep-category-filter--compact .ep-category-filter__item{min-height:28px;padding:4px 8px;border-radius:999px;font-size:12px}
.ep-category-filter--tree .ep-category-filter__row{grid-template-columns:100px minmax(0,1fr)}.ep-category-filter--tree .ep-category-filter__items{padding:7px 9px;border-radius:10px;background:var(--ep-bg)}
.ep-category-sort{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:12px 0 18px;padding:0 2px}.ep-category-sort>span{margin-right:3px;color:var(--ep-muted);font-size:12px;font-weight:800}.ep-category-sort a{padding:7px 10px;border-radius:8px;color:var(--ep-muted);font-size:13px;font-weight:700;text-decoration:none}.ep-category-sort a:hover{color:var(--ep-accent);background:rgba(91,94,247,.07)}.ep-category-sort a.is-active{color:var(--ep-accent);background:rgba(91,94,247,.11)}
@media(max-width:720px){.ep-category-filter{padding:11px 12px}.ep-category-filter__head{display:block}.ep-category-filter__head span{display:block;margin-top:3px}.ep-category-filter__row,.ep-category-filter--tree .ep-category-filter__row,.ep-category-filter--compact .ep-category-filter__row{grid-template-columns:1fr;gap:4px}.ep-category-filter__level{padding:3px 0}.ep-category-filter__items{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.ep-category-filter__items::-webkit-scrollbar{display:none}.ep-category-filter__item,.ep-category-filter__more{flex:0 0 auto}.ep-category-filter__item.is-collapsed{display:inline-flex}.ep-category-filter__more{display:none}.ep-category-sort{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.ep-category-sort::-webkit-scrollbar{display:none}.ep-category-sort a{flex:0 0 auto}}

/* v0.3.47 Banner manual drag/swipe. */
.ep-banner--draggable .ep-banner__slides{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.ep-banner--draggable.is-pointer-down .ep-banner__slides,.ep-banner--draggable.is-dragging .ep-banner__slides{cursor:grabbing}
.ep-banner--draggable .ep-banner__image,.ep-banner--draggable .ep-banner__video{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}


/* v0.3.48 Banner search, drag-follow, page-fold and atmospheric backgrounds. */
.ep-banner-search--glass{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.42)!important;box-shadow:0 18px 44px rgba(6,12,28,.24)!important;backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}
.ep-banner-search--glass select,.ep-banner-search--glass input{color:#fff!important}.ep-banner-search--glass select{border-right-color:rgba(255,255,255,.3)!important}.ep-banner-search--glass input::placeholder{color:rgba(255,255,255,.76)}.ep-banner-search--glass select option{color:#202431;background:#fff}
.ep-banner-search--outline{background:rgba(0,0,0,.08)!important;border:1.5px solid rgba(255,255,255,.72)!important;box-shadow:0 10px 32px rgba(0,0,0,.12)!important;backdrop-filter:none!important}.ep-banner-search--outline select,.ep-banner-search--outline input{color:#fff!important}.ep-banner-search--outline select{border-right-color:rgba(255,255,255,.3)!important}.ep-banner-search--outline input::placeholder{color:rgba(255,255,255,.78)}.ep-banner-search--outline select option{color:#202431;background:#fff}
.ep-banner-search--small{width:min(560px,100%);grid-template-columns:112px minmax(0,1fr) auto;padding:4px;border-radius:14px}.ep-banner-search--small select,.ep-banner-search--small input,.ep-banner-search--small button{height:40px}.ep-banner-search--small button{padding:0 16px;border-radius:10px}
.ep-banner-search--medium{width:min(680px,100%);grid-template-columns:124px minmax(0,1fr) auto;padding:5px;border-radius:16px}.ep-banner-search--medium select,.ep-banner-search--medium input,.ep-banner-search--medium button{height:45px}
.ep-banner-search--large{width:min(820px,100%);grid-template-columns:138px minmax(0,1fr) auto;padding:7px;border-radius:19px}.ep-banner-search--large select,.ep-banner-search--large input,.ep-banner-search--large button{height:52px}.ep-banner-search--large input{font-size:16px}
.ep-banner--transition-page .ep-banner__slides{perspective:1500px;transform-style:preserve-3d}.ep-banner--transition-page .ep-banner__slide{transform-origin:left center;transform:rotateY(72deg) scale(.985);backface-visibility:hidden;transition:opacity .62s ease,transform .72s cubic-bezier(.22,.7,.18,1)}.ep-banner--transition-page .ep-banner__slide.is-before{transform-origin:right center;transform:rotateY(-72deg) scale(.985)}.ep-banner--transition-page .ep-banner__slide.is-active{transform:rotateY(0) scale(1)}
.ep-banner--draggable.is-dragging .ep-banner__slide{transition:none!important}.ep-banner--draggable .ep-banner__slides{will-change:transform}.ep-banner__slide.is-drag-preview{pointer-events:none!important}
.ep-header--transparent-bg{background:transparent!important;background-image:none!important;border-bottom-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.ep-header--transparent-bg.ep-header--overlay-banner{position:absolute;top:0;left:0;right:0;width:100%;z-index:45}.ep-header--transparent-bg.ep-header--overlay-banner .ep-brand,.ep-header--transparent-bg.ep-header--overlay-banner .ep-menu>li>a,.ep-header--transparent-bg.ep-header--overlay-banner .ep-menu-more__button,.ep-header--transparent-bg.ep-header--overlay-banner .ep-language,.ep-header--transparent-bg.ep-header--overlay-banner .ep-language a{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.38)}.ep-header--transparent-bg.ep-header--overlay-banner .ep-theme-toggle,.ep-header--transparent-bg.ep-header--overlay-banner .ep-btn--ghost{background:rgba(12,18,30,.2)!important;border-color:rgba(255,255,255,.3)!important;color:#fff!important;backdrop-filter:blur(10px)}
body.ep-has-site-background-image{position:relative;isolation:isolate;background-image:none!important}body.ep-has-site-background-image:before,body.ep-has-site-background-image:after{content:"";position:fixed;inset:-24px;pointer-events:none}body.ep-has-site-background-image:before{z-index:-2;background-image:var(--ep-site-background-image);background-repeat:no-repeat;background-position:center top;background-size:cover;filter:brightness(calc(var(--ep-site-bg-brightness,100) * 1%));transform:scale(1.015)}body.ep-bg-display-tile:before{background-repeat:repeat;background-size:auto;background-position:left top}body.ep-bg-display-contain:before{background-repeat:no-repeat;background-size:contain}body.ep-bg-display-center:before{background-repeat:no-repeat;background-size:auto}body.ep-bg-display-stretch:before{background-repeat:no-repeat;background-size:100% 100%}
body.ep-bg-effect-blur:before{filter:blur(calc(var(--ep-site-bg-effect-strength,35) * .16px)) brightness(calc(var(--ep-site-bg-brightness,100) * 1%));transform:scale(1.04)}body.ep-bg-effect-frosted:before{filter:blur(calc(6px + var(--ep-site-bg-effect-strength,35) * .18px)) saturate(.82) brightness(calc(var(--ep-site-bg-brightness,100) * .0092));transform:scale(1.055)}body.ep-bg-effect-darken:before{filter:brightness(calc((var(--ep-site-bg-brightness,100) - var(--ep-site-bg-effect-strength,35) * .42) * 1%)) saturate(.94)}body.ep-bg-effect-soft:before{filter:brightness(calc(var(--ep-site-bg-brightness,100) * 1%)) saturate(.78) contrast(.88);transform:scale(1.025)}body.ep-has-site-background-image:after{z-index:-1;background:transparent}body.ep-bg-effect-gradient:after{background:linear-gradient(180deg,rgba(7,11,20,calc(var(--ep-site-bg-effect-strength,35) * .0065)),rgba(7,11,20,calc(var(--ep-site-bg-effect-strength,35) * .011)) 70%,rgba(7,11,20,calc(var(--ep-site-bg-effect-strength,35) * .014)))}
@media(max-width:720px){.ep-banner-search--small,.ep-banner-search--medium,.ep-banner-search--large{width:min(100%,620px);grid-template-columns:98px 1fr;padding:5px}.ep-banner-search--small button,.ep-banner-search--medium button,.ep-banner-search--large button{grid-column:1/3;width:100%;height:42px}.ep-banner-search--large select,.ep-banner-search--large input{height:44px}.ep-header--transparent-bg.ep-header--overlay-banner .ep-nav{background:rgba(12,18,30,.88)!important;backdrop-filter:blur(16px)}}
@media(prefers-reduced-motion:reduce){.ep-banner--transition-page .ep-banner__slide{transform:none!important}}

/* v0.3.49 header/footer surfaces, category image focus, resource article polish and drag continuity. */
/* Header: semi-transparent gradient glass presets. Keep all navigation content above the surface. */
.ep-header--glass-bg{border-bottom-color:rgba(255,255,255,.22);box-shadow:0 10px 34px rgba(18,24,42,.07);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}
.ep-header--glass-light{background:linear-gradient(115deg,rgba(255,255,255,.82),rgba(244,247,255,.66) 52%,rgba(255,255,255,.76))}
.ep-header--glass-dark{background:linear-gradient(115deg,rgba(18,22,34,.86),rgba(31,36,54,.72) 52%,rgba(18,22,34,.82));border-bottom-color:rgba(255,255,255,.10)}
.ep-header--glass-accent{background:linear-gradient(115deg,rgba(91,94,247,.22),rgba(141,102,255,.16) 48%,rgba(255,255,255,.62));border-bottom-color:color-mix(in srgb,var(--ep-accent) 22%,rgba(255,255,255,.38))}
.ep-header--image-bg{background-color:rgba(18,22,34,.72);background-image:linear-gradient(rgba(9,13,24,var(--ep-header-image-overlay,.16)),rgba(9,13,24,var(--ep-header-image-overlay,.16))),var(--ep-header-bg-image);background-repeat:no-repeat,no-repeat;background-size:cover,cover;background-position:center,center;box-shadow:0 8px 28px rgba(14,20,35,.10)}
.ep-header--image-contain{background-size:cover,contain}.ep-header--image-tile{background-repeat:no-repeat,repeat;background-size:cover,auto}
.ep-header--image-position-top{background-position:center,center top}.ep-header--image-position-bottom{background-position:center,center bottom}
.ep-header--image-bg .ep-header__inner{position:relative;z-index:1}

/* Footer: the same surface language, tuned darker by default for stable readability. */
.ep-footer--glass-bg{position:relative;background:rgba(23,26,37,.68);backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);border-top:1px solid rgba(255,255,255,.10)}
.ep-footer--glass-dark{background:linear-gradient(125deg,rgba(17,20,31,.90),rgba(37,42,60,.75) 55%,rgba(20,23,35,.88))}
.ep-footer--glass-light{background:linear-gradient(125deg,rgba(255,255,255,.84),rgba(242,245,252,.70) 55%,rgba(255,255,255,.80));color:var(--ep-text)}
.ep-footer--glass-light a,.ep-footer--glass-light .ep-footer-menu a{color:var(--ep-text)}.ep-footer--glass-light .ep-footer__bottom{color:var(--ep-muted);border-top-color:var(--ep-line)}
.ep-footer--glass-accent{background:linear-gradient(125deg,rgba(42,43,96,.88),rgba(91,94,247,.42) 48%,rgba(35,28,68,.86))}
.ep-footer--image-bg{position:relative;background-color:#171a25;background-image:linear-gradient(rgba(8,11,20,var(--ep-footer-image-overlay,.34)),rgba(8,11,20,var(--ep-footer-image-overlay,.34))),var(--ep-footer-bg-image);background-repeat:no-repeat,no-repeat;background-size:cover,cover;background-position:center,center;color:#eef1f8}
.ep-footer--image-contain{background-size:cover,contain}.ep-footer--image-tile{background-repeat:no-repeat,repeat;background-size:cover,auto}
.ep-footer--image-position-top{background-position:center,center top}.ep-footer--image-position-bottom{background-position:center,center bottom}
.ep-footer--image-bg a,.ep-footer--image-bg .ep-footer-menu a{color:inherit;text-shadow:0 1px 8px rgba(0,0,0,.28)}

/* Homepage category image focus and lightweight hover effects. */
.ep-category-shortcut__icon{position:relative;isolation:isolate}.ep-category-shortcut__icon img{transition:filter .28s ease,transform .32s cubic-bezier(.2,.72,.2,1),opacity .28s ease;will-change:filter,transform}
.ep-category-shortcuts--position-top .ep-category-shortcut__icon img{object-position:center top}.ep-category-shortcuts--position-center .ep-category-shortcut__icon img{object-position:center center}.ep-category-shortcuts--position-bottom .ep-category-shortcut__icon img{object-position:center bottom}
.ep-category-shortcuts--effect-dim .ep-category-shortcut__icon img{filter:brightness(.67) saturate(.92)}.ep-category-shortcuts--effect-dim .ep-category-shortcut:hover .ep-category-shortcut__icon img{filter:brightness(1) saturate(1)}
.ep-category-shortcuts--effect-blur .ep-category-shortcut__icon img{filter:blur(2.8px) brightness(.88);transform:scale(1.035)}.ep-category-shortcuts--effect-blur .ep-category-shortcut:hover .ep-category-shortcut__icon img{filter:blur(0) brightness(1);transform:scale(1)}
.ep-category-shortcuts--effect-frosted .ep-category-shortcut__icon img{filter:blur(4px) saturate(.68) brightness(.82);transform:scale(1.055)}.ep-category-shortcuts--effect-frosted .ep-category-shortcut__icon:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.05));transition:opacity .28s ease}.ep-category-shortcuts--effect-frosted .ep-category-shortcut:hover .ep-category-shortcut__icon img{filter:none;transform:scale(1)}.ep-category-shortcuts--effect-frosted .ep-category-shortcut:hover .ep-category-shortcut__icon:after{opacity:0}
.ep-category-shortcuts--effect-grayscale .ep-category-shortcut__icon img{filter:grayscale(1) contrast(.92) brightness(.9)}.ep-category-shortcuts--effect-grayscale .ep-category-shortcut:hover .ep-category-shortcut__icon img{filter:grayscale(0) contrast(1) brightness(1)}
.ep-category-shortcuts--effect-soft .ep-category-shortcut__icon img{filter:saturate(.58) contrast(.88) brightness(.94)}.ep-category-shortcuts--effect-soft .ep-category-shortcut:hover .ep-category-shortcut__icon img{filter:saturate(1) contrast(1) brightness(1)}
.ep-category-shortcuts--effect-zoom .ep-category-shortcut__icon img{transform:scale(1.015)}.ep-category-shortcuts--effect-zoom .ep-category-shortcut:hover .ep-category-shortcut__icon img{transform:scale(1.075)}

/* Resource detail page: tighter hero, aligned reading/comment surfaces, unified action pills. */
.single-ep_resource .ep-resource-breadcrumb{padding-top:18px}.single-ep_resource .ep-resource-hero{padding:32px 0 12px}.single-ep_resource .ep-resource-hero__grid{width:min(1180px,calc(100% - 32px));grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:34px;align-items:center}.single-ep_resource .ep-resource-cover{border-radius:var(--ep-radius);box-shadow:0 14px 36px rgba(24,29,48,.10)}
.single-ep_resource .ep-resource-hero h1{margin:10px 0 11px;font-size:clamp(28px,3.25vw,42px);line-height:1.16;letter-spacing:-.025em}.single-ep_resource .ep-lead{margin:0 0 16px;font-size:16px;line-height:1.75}.single-ep_resource .ep-resource-facts{gap:7px 8px}.single-ep_resource .ep-resource-facts span{min-height:30px;padding:5px 9px;background:color-mix(in srgb,var(--ep-card) 90%,var(--ep-bg));font-size:12px}
.ep-resource-actions{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;margin-top:14px}.ep-resource-actions small{color:var(--ep-muted);font-size:12px}.ep-resource-actions .ep-like-btn,.ep-resource-actions .ep-favorite-btn{min-height:38px;padding:7px 12px;border-radius:999px;background:color-mix(in srgb,var(--ep-card) 94%,var(--ep-bg));box-shadow:none}.ep-resource-actions .ep-favorite-form{margin:0}
.single-ep_resource .ep-sale-panel{margin-top:18px}.single-ep_resource .ep-resource-body{padding:34px 0 22px}.single-ep_resource .ep-content-layout{width:min(1180px,calc(100% - 32px));grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start}.single-ep_resource .ep-content{padding:clamp(24px,3vw,36px);font-size:16px;line-height:1.82;box-shadow:0 10px 34px rgba(26,31,48,.045)}.single-ep_resource .ep-content>h2{margin-top:1.7em;font-size:26px;line-height:1.3}.single-ep_resource .ep-content>h3{margin-top:1.55em;font-size:21px;line-height:1.35}.single-ep_resource .ep-content p{margin:0 0 1.15em}.single-ep_resource .ep-content a{overflow-wrap:anywhere}.single-ep_resource .ep-sidebar{position:sticky;top:96px;padding:22px;box-shadow:0 10px 30px rgba(26,31,48,.035)}
.ep-comments{width:min(1180px,calc(100% - 32px));margin:8px auto 54px;padding:clamp(24px,3vw,34px);box-shadow:0 10px 34px rgba(26,31,48,.045)}.ep-comments>h2,.ep-comments .comment-reply-title{font-size:22px;line-height:1.3}.ep-comment-list{margin:0;padding:0;list-style:none}.ep-comment-list .comment{list-style:none}.ep-comment-list .comment-body{position:relative;padding:18px 0;border-bottom:1px solid var(--ep-line)}.ep-comment-list .comment-author{display:flex;align-items:center;gap:9px;font-size:14px}.ep-comment-list .avatar{border-radius:50%;box-shadow:0 0 0 2px var(--ep-bg)}.ep-comment-list .comment-meta{margin:3px 0 8px;color:var(--ep-muted);font-size:12px}.ep-comment-list .comment-content{padding-left:51px}.ep-comment-list .comment-content p{margin:.45em 0}.ep-comment-list .reply{padding-left:51px}.ep-comment-list .reply a{font-size:12px;font-weight:750;text-decoration:none;color:var(--ep-accent)}.ep-comment-list .children{margin:0 0 0 46px;padding:0;list-style:none;border-left:2px solid color-mix(in srgb,var(--ep-accent) 15%,var(--ep-line))}.ep-comment-form{margin-top:18px;padding-top:20px;border-top:1px solid var(--ep-line)}

/* During manual banner dragging the revealed edge is always occupied by the real neighbour slide. */
.ep-banner--draggable.is-dragging{background:transparent}.ep-banner--draggable.is-dragging .ep-banner__slide.is-drag-preview{visibility:visible!important;opacity:1!important}.ep-banner--draggable.is-dragging .ep-banner__slide.is-drag-neighbor{background:transparent}

@media(max-width:980px){.single-ep_resource .ep-resource-hero__grid{grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:26px}.single-ep_resource .ep-content-layout{grid-template-columns:1fr}.single-ep_resource .ep-sidebar{position:static}.ep-header--glass-bg .ep-nav,.ep-header--image-bg .ep-nav{background:color-mix(in srgb,var(--ep-card) 88%,transparent)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}}
@media(max-width:720px){.single-ep_resource .ep-resource-hero{padding-top:24px}.single-ep_resource .ep-resource-hero__grid{grid-template-columns:1fr;gap:20px}.single-ep_resource .ep-resource-cover{max-width:none}.single-ep_resource .ep-resource-hero h1{font-size:clamp(26px,8vw,34px)}.ep-resource-actions small{flex-basis:100%}.single-ep_resource .ep-resource-body{padding-top:24px}.single-ep_resource .ep-content{padding:22px}.ep-comments{padding:22px}.ep-comment-list .comment-content,.ep-comment-list .reply{padding-left:0}.ep-comment-list .children{margin-left:18px}}
@media(prefers-reduced-motion:reduce){.ep-category-shortcut__icon img{transition:none!important}.ep-category-shortcuts--effect-zoom .ep-category-shortcut:hover .ep-category-shortcut__icon img{transform:none!important}}


/* v0.3.50 typography, card variants, category art direction and resource page rebuild. */
body{font-family:var(--ep-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif)}
body.ep-font-preset-cyber h1,body.ep-font-preset-cyber h2,body.ep-font-preset-cyber h3,body.ep-font-preset-cyber .ep-btn,body.ep-font-preset-cyber .ep-menu>li>a{letter-spacing:.035em}
body.ep-font-preset-cute h1,body.ep-font-preset-cute h2,body.ep-font-preset-cute h3,body.ep-font-preset-cute .ep-btn{letter-spacing:.01em}
.ep-header .ep-menu>li>a,.ep-menu-more__button{font-weight:var(--ep-nav-weight-local,var(--ep-nav-weight,400));letter-spacing:var(--ep-nav-letter-spacing-local,0)}
.ep-header--image-bg{background-position:center,center var(--ep-header-image-position-y,50%)}
.ep-footer--image-bg{background-position:center,center var(--ep-footer-image-position-y,50%)}

/* Category shortcuts: exact crop focus, label modes and frame personalities. */
.ep-category-shortcut__icon img{object-position:center var(--ep-category-object-y,50%)!important}
.ep-category-shortcut__icon{border-radius:16px}
.ep-category-shortcuts--frame-none .ep-category-shortcut__icon{border:0!important;box-shadow:none!important;border-radius:0}
.ep-category-shortcuts--frame-elegant .ep-category-shortcut__icon{border:1px solid color-mix(in srgb,var(--ep-line) 84%,#fff);box-shadow:0 10px 28px rgba(28,34,52,.08)}
.ep-category-shortcuts--frame-cute .ep-category-shortcut__icon{border:2px dashed color-mix(in srgb,var(--ep-accent) 34%,#ffc7df);border-radius:22px;box-shadow:0 8px 24px rgba(255,148,193,.11)}
.ep-category-shortcuts--frame-cyber .ep-category-shortcut__icon{border:1px solid color-mix(in srgb,var(--ep-accent) 74%,#50e6ff);border-radius:4px;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);box-shadow:0 0 0 1px rgba(75,230,255,.08),0 0 22px color-mix(in srgb,var(--ep-accent) 24%,transparent)}
.ep-category-shortcuts--frame-tech .ep-category-shortcut__icon{border:1px solid #9fb1c7;border-radius:8px;box-shadow:inset 0 0 0 3px rgba(143,170,202,.12),0 8px 22px rgba(40,67,98,.08)}
.ep-category-shortcuts--frame-mechanical .ep-category-shortcut__icon{border:3px solid #4b5360;border-radius:7px;box-shadow:inset 0 0 0 2px #242a33,inset 0 0 18px rgba(0,0,0,.18),0 9px 24px rgba(19,25,34,.15)}
.ep-category-shortcuts--frame-soft .ep-category-shortcut__icon{border:1px solid rgba(255,255,255,.72);border-radius:20px;box-shadow:0 12px 30px rgba(91,94,247,.08),inset 0 0 24px rgba(255,255,255,.16)}
.ep-category-shortcuts--label-overlay .ep-category-shortcut{gap:0}.ep-category-shortcut__name--overlay{position:absolute;z-index:4;max-width:calc(100% - 20px);padding:6px 9px;border-radius:9px;background:rgba(14,18,28,.46);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.34);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;line-height:1.2;transition:.22s ease}
.ep-category-shortcuts--label-position-top-left .ep-category-shortcut__name--overlay{left:10px;top:10px}.ep-category-shortcuts--label-position-top-center .ep-category-shortcut__name--overlay{left:50%;top:10px;transform:translateX(-50%)}.ep-category-shortcuts--label-position-top-right .ep-category-shortcut__name--overlay{right:10px;top:10px}.ep-category-shortcuts--label-position-center .ep-category-shortcut__name--overlay{left:50%;top:50%;transform:translate(-50%,-50%)}.ep-category-shortcuts--label-position-bottom-left .ep-category-shortcut__name--overlay{left:10px;bottom:10px}.ep-category-shortcuts--label-position-bottom-center .ep-category-shortcut__name--overlay{left:50%;bottom:10px;transform:translateX(-50%)}.ep-category-shortcuts--label-position-bottom-right .ep-category-shortcut__name--overlay{right:10px;bottom:10px}
.ep-category-shortcuts--effect-dim .ep-category-shortcut__name--overlay,.ep-category-shortcuts--effect-frosted .ep-category-shortcut__name--overlay{background:rgba(10,14,24,.58)}
@media(hover:hover){.ep-category-shortcuts--label-overlay .ep-category-shortcut:hover .ep-category-shortcut__name--overlay{background:rgba(10,14,24,.70);transform-origin:center}.ep-category-shortcuts--label-position-top-center .ep-category-shortcut:hover .ep-category-shortcut__name--overlay,.ep-category-shortcuts--label-position-bottom-center .ep-category-shortcut:hover .ep-category-shortcut__name--overlay{transform:translateX(-50%) scale(1.02)}.ep-category-shortcuts--label-position-center .ep-category-shortcut:hover .ep-category-shortcut__name--overlay{transform:translate(-50%,-50%) scale(1.02)}}

/* Resource card style variants. */
body.ep-resource-card-style-image_max .ep-card__media{aspect-ratio:16/9}body.ep-resource-card-style-image_max .ep-card__body{padding:15px 16px 16px}body.ep-resource-card-style-image_max .ep-card p{min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.ep-resource-card-style-minimal .ep-card{border:0;box-shadow:none;background:transparent}body.ep-resource-card-style-minimal .ep-card__media{border-radius:10px}body.ep-resource-card-style-minimal .ep-card__body{padding:12px 2px}body.ep-resource-card-style-minimal .ep-card p{display:none}body.ep-resource-card-style-minimal .ep-card__footer{border-top:0;padding-top:4px}
body.ep-resource-card-style-poster .ep-card__media{aspect-ratio:3/4}body.ep-resource-card-style-poster .ep-card__body{padding:14px}body.ep-resource-card-style-poster .ep-card p{display:none}
body.ep-resource-card-style-overlay .ep-card{position:relative;background:#111;min-height:300px}.ep-resource-card-style-overlay .ep-card__media{position:absolute;inset:0;height:100%;aspect-ratio:auto}.ep-resource-card-style-overlay .ep-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 22%,rgba(9,12,19,.15) 45%,rgba(9,12,19,.92) 100%)}.ep-resource-card-style-overlay .ep-card__body{position:relative;z-index:2;margin-top:155px;color:#fff}.ep-resource-card-style-overlay .ep-card h3 a,.ep-resource-card-style-overlay .ep-card p,.ep-resource-card-style-overlay .ep-card__meta,.ep-resource-card-style-overlay .ep-card__footer strong{color:#fff}.ep-resource-card-style-overlay .ep-card__footer{border-top-color:rgba(255,255,255,.18)}
body.ep-resource-card-style-glass .ep-card{background:color-mix(in srgb,var(--ep-card) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:rgba(255,255,255,.36);box-shadow:0 14px 38px rgba(26,34,60,.09)}

/* Resource detail: calm 2-column editorial layout with a reusable widget rail. */
.single-ep_resource .ep-resource-hero{padding:34px 0 18px}.single-ep_resource .ep-resource-hero__grid{display:grid;grid-template-columns:minmax(420px,1.25fr) minmax(330px,.75fr);gap:32px;align-items:stretch}.single-ep_resource .ep-resource-cover{min-height:340px;aspect-ratio:16/9;border-radius:20px;box-shadow:0 16px 44px rgba(28,34,52,.11);background:var(--ep-surface)}.single-ep_resource .ep-resource-cover img{width:100%;height:100%;object-fit:cover;display:block}.single-ep_resource .ep-resource-summary{min-width:0;display:flex;flex-direction:column;justify-content:center}.single-ep_resource .ep-resource-hero h1{font-size:clamp(24px,2.4vw,31px)!important;line-height:1.22;letter-spacing:-.025em;margin:10px 0 10px}.single-ep_resource .ep-resource-hero .ep-lead{font-size:15px;line-height:1.72;margin:0 0 15px;max-width:760px}.single-ep_resource .ep-resource-facts{gap:8px 14px;font-size:12px}.single-ep_resource .ep-resource-facts>span{display:inline-flex;align-items:center;gap:5px}.single-ep_resource .ep-resource-actions{margin:14px 0 0}.single-ep_resource .ep-resource-actions__buttons{display:flex;gap:8px;flex-wrap:wrap}.single-ep_resource .ep-resource-actions small{display:none}.single-ep_resource .ep-sale-panel{margin-top:16px;padding:15px 16px;border-radius:14px}.single-ep_resource .ep-sale-panel__notes{display:none}.single-ep_resource .ep-sale-panel__top{align-items:center}.single-ep_resource .ep-sale-prices strong{font-size:21px}.single-ep_resource .ep-purchase-actions{margin-top:12px}.single-ep_resource .ep-resource-breadcrumb--content{margin-top:18px;margin-bottom:-12px}.single-ep_resource .ep-resource-body{padding-top:28px}.single-ep_resource .ep-content-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start;width:min(1240px,calc(100% - 32px));margin:auto}.single-ep_resource .ep-resource-main-column{min-width:0}.single-ep_resource .ep-content{padding:clamp(24px,3.2vw,38px);border-radius:18px}.single-ep_resource .ep-content>h1:first-child,.single-ep_resource .ep-content>h2:first-child{margin-top:0}.single-ep_resource .ep-content h2{font-size:25px}.single-ep_resource .ep-content h3{font-size:20px}.single-ep_resource .ep-resource-rail{display:grid;gap:16px;position:sticky;top:96px}.single-ep_resource .ep-sidebar{position:static;padding:20px;border-radius:16px}.single-ep_resource .ep-sidebar h3{font-size:17px;margin:0 0 14px}.single-ep_resource .ep-sidebar dl{grid-template-columns:84px minmax(0,1fr);gap:9px 12px;font-size:13px}.single-ep_resource .ep-sidebar dd{min-width:0;overflow-wrap:anywhere}.ep-resource-widget-zone{display:grid;gap:16px}.ep-resource-widget{padding:18px;border:1px solid var(--ep-line);border-radius:16px;background:var(--ep-card)}.ep-resource-widget__title{font-size:16px;margin:0 0 12px}
.single-ep_resource .ep-comments{width:100%;margin:22px 0 0;padding:clamp(22px,3vw,32px);border-radius:18px}.ep-comments__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.ep-comments__head .ep-kicker{margin:0 0 3px}.ep-comments__head h2{margin:0!important;font-size:22px!important}.ep-comments__head>span{font-size:12px;color:var(--ep-muted)}.ep-comment-identity{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;border-radius:12px;background:var(--ep-bg);border:1px solid var(--ep-line)}.ep-comment-identity__avatar img{display:block;border-radius:50%}.ep-comment-identity span:nth-child(2){display:grid}.ep-comment-identity small{color:var(--ep-muted);font-size:11px}.ep-comment-identity em{margin-left:auto;color:var(--ep-muted);font-size:11px;font-style:normal}.ep-comment-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}.ep-comment-form>p{margin:0}.ep-comment-form label{display:block;margin-bottom:6px;font-size:12px;font-weight:750}.ep-comment-form input,.ep-comment-form textarea{width:100%;border:1px solid var(--ep-line);border-radius:11px;padding:11px 12px;background:var(--ep-surface-soft,#fafbfc);color:var(--ep-text)}.ep-comment-form .comment-notes,.ep-comment-form .logged-in-as,.ep-comment-form .comment-form-comment,.ep-comment-form .form-submit{grid-column:1/-1}.ep-comment-form .comment-form-comment textarea{min-height:150px;resize:vertical}.ep-comment-form small{display:block;margin-top:4px;color:var(--ep-muted);font-size:10px}.ep-comment-submit{min-width:128px}.ep-comment-list .children{margin-left:34px}
@media(max-width:980px){.single-ep_resource .ep-resource-hero__grid{grid-template-columns:minmax(300px,46%) minmax(0,1fr);gap:22px}.single-ep_resource .ep-resource-cover{min-height:250px}.single-ep_resource .ep-content-layout{grid-template-columns:1fr}.single-ep_resource .ep-resource-rail{position:static}.ep-resource-widget-zone{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.single-ep_resource .ep-resource-hero__grid{grid-template-columns:1fr}.single-ep_resource .ep-resource-cover{min-height:0;aspect-ratio:16/9}.single-ep_resource .ep-resource-hero h1{font-size:24px!important}.ep-comment-form{grid-template-columns:1fr}.ep-comment-form>p{grid-column:1/-1}.ep-comment-identity{align-items:flex-start}.ep-comment-identity em{display:none}.ep-resource-widget-zone{grid-template-columns:1fr}}


/* v0.3.51-test1: resource reading, comments, media consistency and header contrast */
.single-ep_resource .ep-resource-hero{padding:28px 0 10px}
.single-ep_resource .ep-resource-hero__grid{width:min(1240px,calc(100% - 32px));grid-template-columns:minmax(440px,1.18fr) minmax(330px,.82fr);gap:30px;align-items:center}
.single-ep_resource .ep-resource-cover{aspect-ratio:16/9;min-height:0;border-radius:18px}
.single-ep_resource .ep-resource-hero h1{font-size:clamp(22px,2.15vw,28px)!important;line-height:1.24;margin:8px 0 9px;letter-spacing:-.02em}
.single-ep_resource .ep-resource-hero .ep-lead{font-size:14px;line-height:1.7;margin-bottom:12px}
.single-ep_resource .ep-resource-breadcrumb--content{width:100%;margin:0 0 14px;padding:0 2px 10px;border-bottom:1px solid var(--ep-line)}
.single-ep_resource .ep-resource-breadcrumb--content nav{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.single-ep_resource .ep-resource-body{padding-top:24px}
.single-ep_resource .ep-content-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px;width:min(1240px,calc(100% - 32px))}
.single-ep_resource .ep-content{padding:clamp(24px,3vw,36px);font-size:16px;line-height:1.84}
.single-ep_resource .ep-content .wp-block-image,.single-ep_resource .ep-content figure.ep-resource-image{display:block!important;float:none!important;width:100%!important;max-width:100%!important;margin:22px 0!important}
.single-ep_resource .ep-content .wp-block-image img,.single-ep_resource .ep-content figure.ep-resource-image img,.single-ep_resource .ep-content>img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;margin:0 auto!important;border-radius:12px}
.single-ep_resource .ep-content .wp-block-image figcaption{margin:7px 0 0;color:var(--ep-muted);font-size:12px;text-align:center}
.single-ep_resource .ep-resource-rail{top:88px}
.single-ep_resource .ep-comments{margin-top:18px;padding:22px 24px}
.single-ep_resource .ep-comments__head{margin-bottom:8px}
.single-ep_resource .ep-comments__head h2{font-size:19px!important}
.single-ep_resource .ep-comment-form{display:block;margin-top:12px;padding-top:14px}
.single-ep_resource .ep-comment-form>p{margin:0 0 10px}
.single-ep_resource .ep-comment-form .comment-notes{font-size:12px;color:var(--ep-muted)}
.single-ep_resource .ep-comment-form .comment-form-comment textarea{min-height:104px;max-height:260px;padding:11px 12px;resize:vertical}
.single-ep_resource .ep-comment-form .form-submit{margin-top:8px}
.single-ep_resource .ep-comment-submit{min-width:110px;padding:9px 14px}
.single-ep_resource .ep-comment-identity{padding:8px 10px;margin-bottom:10px}
.single-ep_resource .ep-comment-identity small{font-size:11px}

/* Header popovers follow the effective header/theme instead of staying white. */
.ep-header{--ep-nav-pop-bg:rgba(255,255,255,.92);--ep-nav-pop-text:#222735;--ep-nav-pop-hover:rgba(91,94,247,.08);--ep-nav-pop-border:rgba(25,30,44,.10)}
html[data-ep-theme="dark"] .ep-header,.ep-header--dark-bg{--ep-nav-pop-bg:rgba(24,28,39,.92);--ep-nav-pop-text:#f4f6fb;--ep-nav-pop-hover:rgba(255,255,255,.08);--ep-nav-pop-border:rgba(255,255,255,.12)}
.ep-header--transparent-bg.ep-header--overlay-banner{--ep-nav-pop-bg:rgba(20,25,36,.78);--ep-nav-pop-text:#fff;--ep-nav-pop-hover:rgba(255,255,255,.10);--ep-nav-pop-border:rgba(255,255,255,.16)}
.ep-header--image-bg .ep-menu>li>a,.ep-header--image-bg .ep-menu-more__button,.ep-header--image-bg .ep-brand,.ep-header--image-bg .ep-language,.ep-header--image-bg .ep-language a{text-shadow:0 1px 10px rgba(0,0,0,.28)}
.ep-nav .sub-menu,.ep-header--dark-bg .ep-nav .sub-menu,.ep-header--theme-bg .ep-nav .sub-menu{background:var(--ep-nav-pop-bg)!important;border-color:var(--ep-nav-pop-border)!important;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}
.ep-nav .sub-menu a{color:var(--ep-nav-pop-text)!important}
.ep-nav .sub-menu a:hover,.ep-nav .sub-menu a:focus{background:var(--ep-nav-pop-hover)!important;color:var(--ep-accent)!important}
html[data-ep-theme="dark"] .ep-header--nav-theme .ep-nav>ul>li>a,html[data-ep-theme="dark"] .ep-header--nav-theme .ep-language,html[data-ep-theme="dark"] .ep-header--nav-theme .ep-language a,html[data-ep-theme="dark"] .ep-header--nav-theme .ep-brand{color:#f4f6fb}
.ep-header .ep-header-submit{background:var(--ep-accent)!important;background-image:none!important;border:1px solid color-mix(in srgb,var(--ep-accent) 82%,#000);box-shadow:none!important}
.ep-header .ep-header-login,.ep-header .ep-header-account{background:rgba(255,255,255,.12)!important;background-image:none!important;border:1px solid color-mix(in srgb,currentColor 24%,transparent)!important;color:inherit;box-shadow:none!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ep-header .ep-header-submit:hover,.ep-header .ep-header-login:hover,.ep-header .ep-header-account:hover{transform:translateY(-1px)}

@media(max-width:980px){
  .single-ep_resource .ep-resource-hero__grid{grid-template-columns:minmax(300px,48%) minmax(0,1fr);gap:22px}
  .single-ep_resource .ep-content-layout{grid-template-columns:1fr}
  .single-ep_resource .ep-resource-rail{position:static}
  .ep-nav{background:var(--ep-nav-pop-bg)!important;color:var(--ep-nav-pop-text)!important}
  .ep-nav .ep-menu>li>a{color:var(--ep-nav-pop-text)!important}
}
@media(max-width:720px){
  .single-ep_resource .ep-resource-hero__grid{grid-template-columns:1fr}
  .single-ep_resource .ep-resource-hero h1{font-size:22px!important}
  .single-ep_resource .ep-content{padding:20px}
  .single-ep_resource .ep-comments{padding:19px 20px}
}


/* v0.3.51-test2: adaptive header contrast, glass navigation, banner blending and unified controls. */
:root{--ep-control-radius:12px;--ep-control-height:42px;--ep-focus-ring:0 0 0 3px color-mix(in srgb,var(--ep-accent) 20%,transparent);--ep-surface-shadow:0 14px 38px rgba(24,30,48,.075)}
.ep-header{--ep-header-fg:#202532;--ep-header-muted:rgba(32,37,50,.68);--ep-header-control-bg:rgba(255,255,255,.62);--ep-header-control-border:rgba(28,34,48,.14);--ep-nav-pop-bg:linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,250,255,.86));--ep-nav-pop-text:#222735;--ep-nav-pop-hover:rgba(91,94,247,.09);--ep-nav-pop-border:rgba(28,34,48,.11);--ep-nav-pop-shadow:0 22px 54px rgba(20,26,44,.16);color:var(--ep-header-fg)}
.ep-header.ep-header--tone-dark{--ep-header-fg:#f7f8fc;--ep-header-muted:rgba(247,248,252,.72);--ep-header-control-bg:rgba(10,15,25,.24);--ep-header-control-border:rgba(255,255,255,.22);--ep-nav-pop-bg:linear-gradient(145deg,rgba(20,25,36,.90),rgba(29,35,49,.82));--ep-nav-pop-text:#f6f8fc;--ep-nav-pop-hover:rgba(255,255,255,.10);--ep-nav-pop-border:rgba(255,255,255,.14);--ep-nav-pop-shadow:0 24px 58px rgba(0,0,0,.30)}
.ep-header.ep-header--tone-light{--ep-header-fg:#202532;--ep-header-muted:rgba(32,37,50,.68)}
.ep-header.ep-header--nav-light{--ep-header-fg:#f7f8fc;--ep-header-muted:rgba(247,248,252,.72)}
.ep-header.ep-header--nav-dark{--ep-header-fg:#202532;--ep-header-muted:rgba(32,37,50,.68)}
.ep-header.ep-header--nav-custom{--ep-header-fg:var(--ep-nav-color-local,var(--ep-nav-custom-color,#151925));--ep-header-muted:var(--ep-header-fg)}
.ep-header .ep-menu>li>a,.ep-header .ep-menu-more__button,.ep-header .ep-language,.ep-header .ep-language a,.ep-header .ep-brand{color:var(--ep-header-fg)!important;transition:color .16s ease,opacity .16s ease}
.ep-header .ep-menu>li>a:hover,.ep-header .ep-menu>li>a:focus,.ep-header .ep-menu-more__button:hover,.ep-header .ep-language a:hover{opacity:.78}
.ep-header.ep-header--tone-dark.ep-header--dual-logo .ep-logo--day{display:none!important}.ep-header.ep-header--tone-dark.ep-header--dual-logo .ep-logo--night{display:block!important}.ep-header.ep-header--tone-light.ep-header--dual-logo .ep-logo--day{display:block!important}.ep-header.ep-header--tone-light.ep-header--dual-logo .ep-logo--night{display:none!important}
.ep-header .ep-theme-toggle,.ep-header .ep-menu-toggle{background:var(--ep-header-control-bg)!important;border-color:var(--ep-header-control-border)!important;color:var(--ep-header-fg)!important;box-shadow:none;backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%)}
.ep-header .ep-search input{background:var(--ep-header-control-bg)!important;border-color:var(--ep-header-control-border)!important;color:var(--ep-header-fg)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.ep-header .ep-search input::placeholder{color:var(--ep-header-muted)!important}
.ep-header.ep-header--transparent-bg.ep-header--overlay-banner .ep-brand,.ep-header.ep-header--transparent-bg.ep-header--overlay-banner .ep-menu>li>a,.ep-header.ep-header--transparent-bg.ep-header--overlay-banner .ep-menu-more__button,.ep-header.ep-header--transparent-bg.ep-header--overlay-banner .ep-language,.ep-header.ep-header--transparent-bg.ep-header--overlay-banner .ep-language a{color:var(--ep-header-fg)!important;text-shadow:0 2px 14px rgba(0,0,0,.26)}
.ep-header .ep-nav .sub-menu,.ep-header.ep-header--dark-bg .ep-nav .sub-menu,.ep-header.ep-header--theme-bg .ep-nav .sub-menu{padding:9px!important;border:1px solid var(--ep-nav-pop-border)!important;border-radius:14px;background:var(--ep-nav-pop-bg)!important;color:var(--ep-nav-pop-text)!important;box-shadow:var(--ep-nav-pop-shadow)!important;backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}
.ep-header .ep-nav .sub-menu:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
.ep-header .ep-nav .sub-menu a{position:relative;z-index:1;color:var(--ep-nav-pop-text)!important;border-radius:9px;transition:background .15s ease,color .15s ease,transform .15s ease}.ep-header .ep-nav .sub-menu a:hover,.ep-header .ep-nav .sub-menu a:focus{background:var(--ep-nav-pop-hover)!important;color:var(--ep-accent)!important;transform:translateX(2px)}
.ep-header.ep-header--transparent-bg.ep-header--overlay-banner{transition:color .18s ease,background .18s ease,border-color .18s ease}.ep-header.ep-header--transparent-bg.ep-header--overlay-banner.ep-header--tone-light{text-shadow:none}
@media(max-width:980px){.ep-header .ep-nav{background:var(--ep-nav-pop-bg)!important;border-color:var(--ep-nav-pop-border)!important;color:var(--ep-nav-pop-text)!important;box-shadow:var(--ep-nav-pop-shadow)!important;backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}.ep-header .ep-nav .ep-menu>li>a{color:var(--ep-nav-pop-text)!important}.ep-header .ep-nav .sub-menu{background:transparent!important;box-shadow:none!important;border-color:transparent!important;backdrop-filter:none}.ep-header .ep-nav .sub-menu a{color:var(--ep-nav-pop-text)!important}}

/* Unified button hierarchy: solid primary, quiet secondary and contextual glass/ghost. */
.ep-btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 15px;border:1px solid transparent;border-radius:var(--ep-control-radius);background:var(--ep-accent);background-image:none;color:#fff;text-decoration:none;font-weight:750;line-height:1.2;box-shadow:0 7px 18px color-mix(in srgb,var(--ep-accent) 18%,transparent);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease}
.ep-btn:hover,.ep-btn:focus-visible{background:color-mix(in srgb,var(--ep-accent) 88%,#000);color:#fff;transform:translateY(-1px);box-shadow:0 10px 24px color-mix(in srgb,var(--ep-accent) 23%,transparent)}.ep-btn:focus-visible{outline:0;box-shadow:var(--ep-focus-ring),0 10px 24px color-mix(in srgb,var(--ep-accent) 20%,transparent)}
.ep-btn--secondary{background:color-mix(in srgb,var(--ep-accent) 8%,var(--ep-card));color:var(--ep-accent);border-color:color-mix(in srgb,var(--ep-accent) 25%,var(--ep-line));box-shadow:none}.ep-btn--secondary:hover,.ep-btn--secondary:focus-visible{background:color-mix(in srgb,var(--ep-accent) 13%,var(--ep-card));color:var(--ep-accent);border-color:color-mix(in srgb,var(--ep-accent) 40%,var(--ep-line));box-shadow:none}
.ep-btn--ghost{background:color-mix(in srgb,var(--ep-card) 78%,transparent);background-image:none;color:var(--ep-text);border-color:var(--ep-line);box-shadow:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.ep-btn--ghost:hover,.ep-btn--ghost:focus-visible{background:var(--ep-card);color:var(--ep-text);border-color:color-mix(in srgb,var(--ep-accent) 32%,var(--ep-line));box-shadow:none}
.ep-btn--small{min-height:34px;padding:7px 11px;font-size:13px}.ep-btn--wide{width:100%}.ep-btn--disabled,.ep-btn[disabled],button.ep-btn:disabled{opacity:.48;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.ep-header .ep-header-submit{background:var(--ep-accent)!important;color:#fff!important;border-color:color-mix(in srgb,var(--ep-accent) 78%,#000)!important;box-shadow:0 6px 16px color-mix(in srgb,var(--ep-accent) 18%,transparent)!important}.ep-header .ep-header-submit:hover{background:color-mix(in srgb,var(--ep-accent) 88%,#000)!important}
.ep-header .ep-header-login,.ep-header .ep-header-account{background:var(--ep-header-control-bg)!important;color:var(--ep-header-fg)!important;border-color:var(--ep-header-control-border)!important;box-shadow:none!important}
.ep-banner-search button{background:var(--ep-accent)!important;background-image:none!important;box-shadow:0 8px 20px color-mix(in srgb,var(--ep-accent) 24%,transparent);transition:transform .16s ease,background .16s ease}.ep-banner-search button:hover{background:color-mix(in srgb,var(--ep-accent) 88%,#000)!important;transform:translateY(-1px)}

/* Cross-page visual rhythm: shared surfaces/controls keep the same border, radius and focus language. */
.ep-card,.ep-content,.ep-sidebar,.ep-purchase-box,.ep-panel,.ep-auth-card,.ep-order-status-card,.ep-account-nav,.ep-dashboard-cards>div,.ep-submission-form,.ep-category-filter,.ep-resource-widget{border-color:var(--ep-line);box-shadow:var(--ep-surface-shadow)}
.ep-search input,.ep-banner-search,.ep-submission-form input[type=text],.ep-submission-form input[type=number],.ep-submission-form select,.ep-submission-form textarea,.ep-comment-form input,.ep-comment-form textarea,.ep-form input[type=text],.ep-form input[type=email],.ep-form input[type=password],.ep-form select,.ep-form textarea{border-radius:var(--ep-control-radius)}
.ep-search input:focus,.ep-submission-form input:focus,.ep-submission-form select:focus,.ep-submission-form textarea:focus,.ep-comment-form input:focus,.ep-comment-form textarea:focus,.ep-form input:focus,.ep-form select:focus,.ep-form textarea:focus{outline:0;border-color:color-mix(in srgb,var(--ep-accent) 48%,var(--ep-line));box-shadow:var(--ep-focus-ring)}
@media(prefers-reduced-motion:reduce){.ep-btn,.ep-header,.ep-header .ep-nav .sub-menu a{transition:none!important}.ep-btn:hover,.ep-btn:focus-visible{transform:none}}

/* Resource interaction controls join the same secondary-button hierarchy. */
.ep-resource-actions .ep-like-btn,.ep-resource-actions .ep-favorite-btn{min-height:38px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--ep-accent) 20%,var(--ep-line));border-radius:999px;background:color-mix(in srgb,var(--ep-accent) 5%,var(--ep-card));color:var(--ep-text);box-shadow:none;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.ep-resource-actions .ep-like-btn:hover,.ep-resource-actions .ep-like-btn.is-liked,.ep-resource-actions .ep-favorite-btn:hover,.ep-resource-actions .ep-favorite-btn.is-saved{background:color-mix(in srgb,var(--ep-accent) 10%,var(--ep-card));border-color:color-mix(in srgb,var(--ep-accent) 42%,var(--ep-line));color:var(--ep-accent);transform:translateY(-1px)}


/* v0.3.51-test3 resource editorial layout. Header edge behavior is superseded by test4. */
.ep-header{isolation:isolate}
.ep-header>.ep-header__inner{position:relative;z-index:2}

/* The resource page now behaves like a mature content/download site: large visual, calm summary, reading column + action rail. */
.single-ep_resource .ep-resource-top{padding:16px 0 0}
.single-ep_resource .ep-resource-top__inner{width:min(1320px,calc(100% - 32px))}
.single-ep_resource .ep-resource-breadcrumb--hero{display:flex;align-items:center;gap:16px;min-width:0;padding:0 2px 12px;border-bottom:1px solid color-mix(in srgb,var(--ep-line) 82%,transparent)}
.single-ep_resource .ep-resource-breadcrumb--hero .ep-resource-back{flex:0 0 auto}
.single-ep_resource .ep-resource-breadcrumb--hero nav{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.single-ep_resource .ep-resource-hero{padding:20px 0 18px}
.single-ep_resource .ep-resource-hero__grid{width:min(1320px,calc(100% - 32px));grid-template-columns:minmax(560px,1.55fr) minmax(320px,.72fr);gap:38px;align-items:center}
.single-ep_resource .ep-resource-cover{aspect-ratio:16/9;min-height:0;border-radius:20px;box-shadow:0 18px 52px rgba(20,26,43,.11);background:var(--ep-surface);overflow:hidden}
.single-ep_resource .ep-resource-cover img{width:100%;height:100%;object-fit:cover;display:block}
.single-ep_resource .ep-resource-summary{align-self:center;min-width:0;padding:10px 0}
.single-ep_resource .ep-resource-eyebrow{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-bottom:8px;color:var(--ep-muted);font-size:12px;font-weight:700}
.single-ep_resource .ep-resource-eyebrow a{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--ep-accent) 8%,var(--ep-card));color:var(--ep-accent);text-decoration:none}
.single-ep_resource .ep-resource-hero h1{font-size:clamp(21px,2vw,27px)!important;line-height:1.28;margin:7px 0 10px;letter-spacing:-.018em}
.single-ep_resource .ep-resource-hero .ep-lead{max-width:620px;margin:0 0 14px;font-size:14px;line-height:1.78;color:var(--ep-muted)}
.single-ep_resource .ep-resource-facts{gap:7px;margin-top:2px}
.single-ep_resource .ep-resource-facts span{min-height:28px;padding:4px 9px;font-size:11px}
.single-ep_resource .ep-resource-actions{margin-top:13px}
.single-ep_resource .ep-resource-body{padding:20px 0 28px}
.single-ep_resource .ep-content-layout{width:min(1320px,calc(100% - 32px));grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start}
.single-ep_resource .ep-resource-main-column{min-width:0}
.single-ep_resource .ep-content{padding:clamp(26px,3vw,42px);border-radius:20px;font-size:16px;line-height:1.86;box-shadow:0 12px 36px rgba(20,26,43,.045)}
.single-ep_resource .ep-content>p:first-child{margin-top:0}
.single-ep_resource .ep-content>p:last-child{margin-bottom:0}
.single-ep_resource .ep-resource-rail{display:grid;gap:16px;position:sticky;top:92px;min-width:0}
.single-ep_resource .ep-resource-purchase-card{padding:20px;border:1px solid color-mix(in srgb,var(--ep-accent) 15%,var(--ep-line));border-radius:18px;background:color-mix(in srgb,var(--ep-card) 96%,var(--ep-accent) 4%);box-shadow:0 14px 38px rgba(20,26,43,.07)}
.single-ep_resource .ep-resource-purchase-card__head{display:grid;gap:10px}
.single-ep_resource .ep-resource-purchase-card .ep-sale-mode{justify-self:start}
.single-ep_resource .ep-resource-purchase-card .ep-sale-prices{display:flex;align-items:baseline;gap:7px 9px;flex-wrap:wrap}
.single-ep_resource .ep-resource-purchase-card .ep-sale-prices strong{font-size:24px;line-height:1.15;color:var(--ep-accent)}
.single-ep_resource .ep-resource-purchase-card .ep-sale-prices .ep-sale-points,.single-ep_resource .ep-resource-purchase-card .ep-sale-prices .ep-sale-vip{font-size:18px;color:var(--ep-text)}
.single-ep_resource .ep-resource-purchase-card .ep-sale-prices .ep-sale-overage{flex-basis:100%;font-size:12px;color:var(--ep-muted);font-weight:700}
.single-ep_resource .ep-resource-purchase-card .ep-sale-prices del{font-size:12px;color:var(--ep-muted)}
.single-ep_resource .ep-resource-purchase-card .ep-purchase-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:15px}
.single-ep_resource .ep-resource-purchase-card .ep-purchase-actions .ep-btn{width:100%;text-align:center}
.single-ep_resource .ep-resource-purchase-card__hint{margin:11px 0 0;padding-top:10px;border-top:1px dashed var(--ep-line);color:var(--ep-muted);font-size:11px;line-height:1.6}
.single-ep_resource .ep-sidebar--resource{padding:19px 20px;border-radius:18px}
.single-ep_resource .ep-sidebar--resource h3{font-size:16px}
.single-ep_resource .ep-sidebar--resource dl{grid-template-columns:88px minmax(0,1fr);gap:10px 12px;font-size:13px}
.single-ep_resource .ep-resource-widget-zone{display:grid;gap:16px}
.single-ep_resource .ep-resource-widget{border-radius:18px}
.single-ep_resource .ep-comments{width:100%;margin:20px 0 0;border-radius:20px}
/* Legacy sale panel was moved out of the hero. Keep it suppressed if an extension echoes it. */
.single-ep_resource .ep-resource-summary>.ep-sale-panel{display:none!important}
@media(max-width:1080px){
  .single-ep_resource .ep-resource-hero__grid{grid-template-columns:minmax(420px,1.28fr) minmax(300px,.72fr);gap:26px}
  .single-ep_resource .ep-content-layout{grid-template-columns:minmax(0,1fr) 300px;gap:22px}
}
@media(max-width:900px){
  .single-ep_resource .ep-resource-hero__grid{grid-template-columns:1fr;gap:20px}
  .single-ep_resource .ep-resource-summary{padding:0 2px}
  .single-ep_resource .ep-content-layout{grid-template-columns:1fr}
  .single-ep_resource .ep-resource-rail{position:static;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .single-ep_resource .ep-resource-widget-zone{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .single-ep_resource .ep-resource-top{padding-top:10px}
  .single-ep_resource .ep-resource-breadcrumb--hero{gap:9px;font-size:12px;overflow-x:auto;scrollbar-width:none}
  .single-ep_resource .ep-resource-breadcrumb--hero::-webkit-scrollbar{display:none}
  .single-ep_resource .ep-resource-breadcrumb--hero nav{overflow:visible;text-overflow:clip}
  .single-ep_resource .ep-resource-hero{padding-top:14px}
  .single-ep_resource .ep-resource-hero__grid{width:min(100% - 24px,1320px)}
  .single-ep_resource .ep-resource-cover{border-radius:15px}
  .single-ep_resource .ep-resource-hero h1{font-size:21px!important}
  .single-ep_resource .ep-content-layout{width:min(100% - 24px,1320px)}
  .single-ep_resource .ep-content{padding:20px;border-radius:16px}
  .single-ep_resource .ep-resource-rail{grid-template-columns:1fr}
  .single-ep_resource .ep-resource-widget-zone{grid-column:auto;grid-template-columns:1fr}
  .single-ep_resource .ep-resource-purchase-card,.single-ep_resource .ep-sidebar--resource{border-radius:16px}
}


/* v0.3.51-test4: self-contained header/banner edge treatments and configurable home module titles. */
/* Header fade is independent from header background mode. Only the background layer fades; controls remain fully opaque. */
.ep-header:not(.ep-header--fade-none){background:transparent!important;background-image:none!important;border-bottom-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.ep-header:not(.ep-header--fade-none)::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;will-change:mask-image,-webkit-mask-image}
.ep-header--fade-soft::before{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 58%,rgba(0,0,0,.72) 78%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 58%,rgba(0,0,0,.72) 78%,transparent 100%)}
.ep-header--fade-standard::before{-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.96) 30%,rgba(0,0,0,.64) 66%,rgba(0,0,0,.22) 86%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.96) 30%,rgba(0,0,0,.64) 66%,rgba(0,0,0,.22) 86%,transparent 100%)}
.ep-header--fade-strong::before{-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.82) 28%,rgba(0,0,0,.42) 58%,rgba(0,0,0,.12) 78%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.82) 28%,rgba(0,0,0,.42) 58%,rgba(0,0,0,.12) 78%,transparent 100%)}
.ep-header--theme-bg:not(.ep-header--fade-none)::before{background:var(--ep-header-theme-bg)}
.ep-header--custom-bg:not(.ep-header--fade-none)::before{background:var(--ep-header-bg-local,var(--ep-header-custom-bg,#fff))}
.ep-header--glass-light:not(.ep-header--fade-none)::before{background:linear-gradient(115deg,rgba(255,255,255,.82),rgba(244,247,255,.66) 52%,rgba(255,255,255,.76));backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}
.ep-header--glass-dark:not(.ep-header--fade-none)::before{background:linear-gradient(115deg,rgba(18,22,34,.86),rgba(31,36,54,.72) 52%,rgba(18,22,34,.82));backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}
.ep-header--glass-accent:not(.ep-header--fade-none)::before{background:linear-gradient(115deg,rgba(91,94,247,.22),rgba(141,102,255,.16) 48%,rgba(255,255,255,.62));backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}
.ep-header--image-bg:not(.ep-header--fade-none)::before{background-color:rgba(18,22,34,.72);background-image:linear-gradient(rgba(9,13,24,var(--ep-header-image-overlay,.16)),rgba(9,13,24,var(--ep-header-image-overlay,.16))),var(--ep-header-bg-image);background-repeat:no-repeat,no-repeat;background-size:cover,cover;background-position:center,center var(--ep-header-image-position-y,50%)}
.ep-header--transparent-bg:not(.ep-header--fade-none)::before{--ep-header-transparent-fade:rgba(255,255,255,.30);background:linear-gradient(to bottom,var(--ep-header-transparent-fade),transparent)}
.ep-header--transparent-bg.ep-header--tone-dark:not(.ep-header--fade-none)::before{--ep-header-transparent-fade:rgba(7,11,20,.44)}
.ep-header--transparent-bg.ep-header--tone-light:not(.ep-header--fade-none)::before{--ep-header-transparent-fade:rgba(255,255,255,.34)}

/* Banner bottom style: fade the banner visual itself instead of painting page-colored blocks below it. */
.ep-banner--edge-fade,.ep-banner--edge-fade_line{background:transparent}
.ep-banner--edge-fade .ep-banner__slides,.ep-banner--edge-fade .ep-banner__shade,.ep-banner--edge-fade_line .ep-banner__slides,.ep-banner--edge-fade_line .ep-banner__shade{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.ep-banner--edge-fade.ep-banner--fade-soft .ep-banner__slides,.ep-banner--edge-fade.ep-banner--fade-soft .ep-banner__shade,.ep-banner--edge-fade_line.ep-banner--fade-soft .ep-banner__slides,.ep-banner--edge-fade_line.ep-banner--fade-soft .ep-banner__shade{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 82%,rgba(0,0,0,.68) 91%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 82%,rgba(0,0,0,.68) 91%,transparent 100%)}
.ep-banner--edge-fade.ep-banner--fade-standard .ep-banner__slides,.ep-banner--edge-fade.ep-banner--fade-standard .ep-banner__shade,.ep-banner--edge-fade_line.ep-banner--fade-standard .ep-banner__slides,.ep-banner--edge-fade_line.ep-banner--fade-standard .ep-banner__shade{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 68%,rgba(0,0,0,.82) 78%,rgba(0,0,0,.36) 91%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 68%,rgba(0,0,0,.82) 78%,rgba(0,0,0,.36) 91%,transparent 100%)}
.ep-banner--edge-fade.ep-banner--fade-strong .ep-banner__slides,.ep-banner--edge-fade.ep-banner--fade-strong .ep-banner__shade,.ep-banner--edge-fade_line.ep-banner--fade-strong .ep-banner__slides,.ep-banner--edge-fade_line.ep-banner--fade-strong .ep-banner__shade{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 54%,rgba(0,0,0,.70) 70%,rgba(0,0,0,.24) 87%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 54%,rgba(0,0,0,.70) 70%,rgba(0,0,0,.24) 87%,transparent 100%)}
.ep-banner--edge-line::after,.ep-banner--edge-fade_line::after{content:"";position:absolute;z-index:8;left:0;right:0;bottom:0;height:var(--ep-banner-line-width,1px);pointer-events:none;background:var(--ep-banner-line-color,var(--ep-line));box-shadow:0 0 10px color-mix(in srgb,var(--ep-banner-line-color,var(--ep-line)) 18%,transparent)}
.ep-banner--line-theme{--ep-banner-line-color:var(--ep-line)}.ep-banner--line-accent{--ep-banner-line-color:var(--ep-accent)}
.ep-banner--edge-none::after{display:none}

/* Single-title homepage modules: no duplicate kicker + heading stack. */
.ep-module-title{margin:0;font-weight:820;line-height:1.2;letter-spacing:-.018em;text-transform:none}
.ep-module-title--align-left .ep-category-shortcuts__head,.ep-module-title--align-left .ep-section__head--single-title{text-align:left}
.ep-module-title--align-center .ep-category-shortcuts__head,.ep-module-title--align-center .ep-section__head--single-title{text-align:center}
.ep-module-title--align-right .ep-category-shortcuts__head,.ep-module-title--align-right .ep-section__head--single-title{text-align:right}
.ep-module-title--color-white .ep-module-title{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.24)}
.ep-module-title--color-theme .ep-module-title{color:var(--ep-text);text-shadow:none}
.ep-module-title--color-custom .ep-module-title{color:var(--ep-category-title-color,var(--ep-latest-title-color,#fff));text-shadow:0 2px 14px rgba(0,0,0,.16)}
.ep-category-shortcuts__head .ep-module-title{font-size:var(--ep-category-title-size,20px)}
.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}
.ep-category-shortcuts--label-above .ep-category-shortcut{gap:9px}.ep-category-shortcut__name--above{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Primary content actions stay solid and calm even in expressive visual presets. */
.ep-comment-submit,.ep-vip-card .ep-btn,.ep-vip-modal .ep-btn,.single-ep_resource .ep-resource-purchase-card .ep-btn,.single-ep_resource .ep-sidebar--resource .ep-btn{background:var(--ep-accent)!important;background-image:none!important;color:#fff!important;border-color:color-mix(in srgb,var(--ep-accent) 76%,#000)!important;box-shadow:0 7px 18px color-mix(in srgb,var(--ep-accent) 18%,transparent)!important}
.ep-comment-submit:hover,.ep-vip-card .ep-btn:hover,.ep-vip-modal .ep-btn:hover,.single-ep_resource .ep-resource-purchase-card .ep-btn:hover,.single-ep_resource .ep-sidebar--resource .ep-btn:hover{background:color-mix(in srgb,var(--ep-accent) 88%,#000)!important;background-image:none!important;box-shadow:0 9px 22px color-mix(in srgb,var(--ep-accent) 22%,transparent)!important}

@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}
  .ep-banner--edge-fade.ep-banner--fade-standard .ep-banner__slides,.ep-banner--edge-fade.ep-banner--fade-standard .ep-banner__shade,.ep-banner--edge-fade_line.ep-banner--fade-standard .ep-banner__slides,.ep-banner--edge-fade_line.ep-banner--fade-standard .ep-banner__shade{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 74%,rgba(0,0,0,.55) 90%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 74%,rgba(0,0,0,.55) 90%,transparent 100%)}
}
/* Ensure high-specificity legacy light/dark header backgrounds cannot cover the independent fade layer. */
.ep-header.ep-header--theme-bg:not(.ep-header--fade-none),
.ep-header.ep-header--custom-bg:not(.ep-header--fade-none),
.ep-header.ep-header--glass-bg:not(.ep-header--fade-none),
.ep-header.ep-header--image-bg:not(.ep-header--fade-none),
.ep-header.ep-header--transparent-bg:not(.ep-header--fade-none){background:transparent!important;background-image:none!important;border-bottom-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-ep-theme="light"] .ep-header.ep-header--theme-bg:not(.ep-header--fade-none),
html[data-ep-theme="dark"] .ep-header.ep-header--theme-bg:not(.ep-header--fade-none){background:transparent!important;background-image:none!important;border-bottom-color:transparent!important;box-shadow:none!important}

/* v0.3.51-test5 — header top-state seam fix, footer fade, and smoother banner swiping. */
.ep-header:not(.ep-header--fade-none)::before{
  inset:0 0 -1px;
  transform:translateZ(0);
}
/* Transparent headers previously applied a gradient and then masked that gradient a
   second time. The double falloff could render as a dark hairline at page top on
   Chromium. Use one translucent surface and let the mask own the fade. */
.ep-header--transparent-bg:not(.ep-header--fade-none)::before{background:var(--ep-header-transparent-fade,rgba(255,255,255,.30))}
.ep-header.is-at-top:not(.ep-header--fade-none){border-bottom-color:transparent!important;box-shadow:none!important}
.ep-header.is-at-top:not(.ep-header--fade-none)::before{filter:none}
/* When a real Banner exists, let it begin behind the sticky header so the fade is
   already visible before the first wheel/touch scroll. Layout content stays at the
   same visual start because only the Banner's decorative top is tucked underneath. */
.ep-header--fade-over-banner:not(.ep-header--overlay-banner):not(.ep-header--menu-double)+.ep-main{margin-top:-72px}
.ep-header--fade-over-banner.ep-header--menu-double:not(.ep-header--overlay-banner)+.ep-main{margin-top:-96px}
@media(max-width:980px){
  .ep-header--fade-over-banner:not(.ep-header--overlay-banner)+.ep-main{margin-top:-72px}
}

/* Footer vertical fade mirrors the same surface-only principle used by Header and
   Banner: navigation/content remain fully opaque; only the chosen footer background
   fades in from the upper edge. */
.ep-footer:not(.ep-footer--fade-none){position:relative;isolation:isolate;background:transparent!important;background-image:none!important;border-top-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.ep-footer:not(.ep-footer--fade-none)::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.ep-footer:not(.ep-footer--fade-none)>*{position:relative;z-index:1}
.ep-footer--fade-soft::before{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.34) 10%,rgba(0,0,0,.76) 24%,#000 42%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.34) 10%,rgba(0,0,0,.76) 24%,#000 42%,#000 100%)}
.ep-footer--fade-standard::before{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.22) 9%,rgba(0,0,0,.62) 23%,rgba(0,0,0,.90) 39%,#000 54%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.22) 9%,rgba(0,0,0,.62) 23%,rgba(0,0,0,.90) 39%,#000 54%,#000 100%)}
.ep-footer--fade-strong::before{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 11%,rgba(0,0,0,.42) 27%,rgba(0,0,0,.76) 44%,#000 64%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 11%,rgba(0,0,0,.42) 27%,rgba(0,0,0,.76) 44%,#000 64%,#000 100%)}
.ep-footer--theme-bg:not(.ep-footer--fade-none)::before{background:var(--ep-footer-theme-bg)}
.ep-footer--custom-bg:not(.ep-footer--fade-none)::before{background:var(--ep-footer-bg-local,var(--ep-footer-custom-bg,#171a25))}
.ep-footer--glass-light:not(.ep-footer--fade-none)::before{background:linear-gradient(125deg,rgba(255,255,255,.84),rgba(242,245,252,.70) 55%,rgba(255,255,255,.80));backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%)}
.ep-footer--glass-dark:not(.ep-footer--fade-none)::before{background:linear-gradient(125deg,rgba(17,20,31,.90),rgba(37,42,60,.75) 55%,rgba(20,23,35,.88));backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%)}
.ep-footer--glass-accent:not(.ep-footer--fade-none)::before{background:linear-gradient(125deg,rgba(42,43,96,.88),rgba(91,94,247,.42) 48%,rgba(35,28,68,.86));backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%)}
.ep-footer--image-bg:not(.ep-footer--fade-none)::before{background-color:#171a25;background-image:linear-gradient(rgba(8,11,20,var(--ep-footer-image-overlay,.34)),rgba(8,11,20,var(--ep-footer-image-overlay,.34))),var(--ep-footer-bg-image);background-repeat:no-repeat,no-repeat;background-size:cover,cover;background-position:center,center var(--ep-footer-image-position-y,50%)}
.ep-footer--image-contain:not(.ep-footer--fade-none)::before{background-size:cover,contain;background-repeat:no-repeat,no-repeat}
.ep-footer--image-tile:not(.ep-footer--fade-none)::before{background-size:cover,auto;background-repeat:no-repeat,repeat}

.ep-banner--draggable .ep-banner__slides{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.ep-banner--draggable.is-pointer-down .ep-banner__slides,.ep-banner--draggable.is-dragging .ep-banner__slides{cursor:grabbing}
.ep-banner--draggable.is-dragging .ep-banner__slide,.ep-banner--draggable.is-settling .ep-banner__slide{will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.ep-banner--draggable.is-settling{pointer-events:none}
@media(prefers-reduced-motion:reduce){
  .ep-banner--draggable.is-settling .ep-banner__slide{transition-duration:.01ms!important}
}

/* v0.3.51-test6: phone-specific Banner geometry + independent software discovery module. */
@media(max-width:760px){
  .ep-banner{height:var(--ep-banner-mobile-height,300px);min-height:120px;width:calc(100% - (var(--ep-banner-mobile-inset,12px) * 2));margin-left:auto;margin-right:auto;border-radius:var(--ep-banner-mobile-radius,16px);overflow:hidden}
  .ep-banner--contained{width:calc(100% - (var(--ep-banner-mobile-inset,12px) * 2))}
  .ep-banner--home .ep-banner__image,.ep-banner--home .ep-banner__video{object-position:var(--ep-banner-position-x,50%) var(--ep-banner-position-y,50%)!important}
  .ep-banner--category .ep-banner__image,.ep-banner--category .ep-banner__video,.ep-banner--category.ep-banner--position-top .ep-banner__image,.ep-banner--category.ep-banner--position-top .ep-banner__video,.ep-banner--category.ep-banner--position-bottom .ep-banner__image,.ep-banner--category.ep-banner--position-bottom .ep-banner__video{object-position:var(--ep-banner-mobile-position-x,50%) var(--ep-banner-mobile-position-y,50%)!important}
  .ep-banner__copy{width:min(92%,620px)}
  .ep-banner__dots{bottom:12px}
}

.ep-software-module{position:relative;padding:20px 0}.ep-software-module .ep-module-title{margin:0;font-size:var(--ep-software-title-size,22px);line-height:1.25;text-wrap:balance}
.ep-software-module.ep-module-title--color-white .ep-module-title{color:#fff}.ep-software-module.ep-module-title--color-theme .ep-module-title{color:var(--ep-text)}.ep-software-module.ep-module-title--color-custom .ep-module-title{color:var(--ep-software-title-color,#fff)}
.ep-software-module__frame--full{width:100%;max-width:none;margin:0}.ep-software-module__surface{position:relative;overflow:hidden;border-radius:var(--ep-software-radius,22px);isolation:isolate}.ep-software-module--full-width .ep-software-module__surface{border-radius:0}.ep-software-module__content{position:relative;z-index:2;padding:var(--ep-software-padding-y,22px) clamp(14px,2.2vw,32px)}.ep-software-module--contained .ep-software-module__content{padding-left:0;padding-right:0}.ep-software-module__head{display:flex;justify-content:center;text-align:center;padding:0 20px 16px}.ep-software-module__head--bottom{padding:16px 20px 0}
.ep-software-module--background-only .ep-software-module__surface{min-height:var(--ep-software-banner-height,180px)}.ep-software-module--background-only .ep-software-module__content{min-height:var(--ep-software-banner-height,180px);padding:0}.ep-software-module__banner-hit{position:absolute;z-index:4;inset:0;display:block;text-decoration:none}.ep-software-module__banner-hit:focus-visible{outline:3px solid var(--ep-accent);outline-offset:-4px}
.ep-software-module--transparent .ep-software-module__surface{background:transparent}.ep-software-module--solid .ep-software-module__surface,.ep-software-module--translucent .ep-software-module__surface{border:1px solid color-mix(in srgb,var(--ep-line) 72%,transparent);box-shadow:0 16px 42px rgba(17,24,39,.06)}
.ep-software-module--solid.ep-software-module--surface-theme .ep-software-module__surface{background:var(--ep-surface)}
.ep-software-module--solid.ep-software-module--surface-accent .ep-software-module__surface{background:var(--ep-accent)}
.ep-software-module--solid.ep-software-module--surface-custom .ep-software-module__surface{background:var(--ep-software-bg-color,#111827)}
.ep-software-module--translucent.ep-software-module--surface-theme .ep-software-module__surface{background:color-mix(in srgb,var(--ep-surface) var(--ep-software-bg-opacity,54%),transparent)}
.ep-software-module--translucent.ep-software-module--surface-accent .ep-software-module__surface{background:color-mix(in srgb,var(--ep-accent) var(--ep-software-bg-opacity,54%),transparent)}
.ep-software-module--translucent.ep-software-module--surface-custom .ep-software-module__surface{background:color-mix(in srgb,var(--ep-software-bg-color,#111827) var(--ep-software-bg-opacity,54%),transparent)}
.ep-software-module--glass .ep-software-module__surface{background:color-mix(in srgb,var(--ep-surface) 62%,transparent);border:1px solid color-mix(in srgb,var(--ep-line) 68%,rgba(255,255,255,.34));box-shadow:0 20px 54px rgba(16,24,40,.09);backdrop-filter:blur(var(--ep-software-bg-blur,14px)) saturate(132%);-webkit-backdrop-filter:blur(var(--ep-software-bg-blur,14px)) saturate(132%)}
.ep-software-module--image .ep-software-module__surface{background:color-mix(in srgb,var(--ep-surface) 20%,transparent);border:1px solid color-mix(in srgb,var(--ep-line) 46%,transparent);box-shadow:0 20px 54px rgba(16,24,40,.08)}.ep-software-module__bg{position:absolute;z-index:0;inset:calc(var(--ep-software-bg-blur,14px) * -1);background-image:linear-gradient(rgba(8,12,22,.14),rgba(8,12,22,.14)),var(--ep-software-bg-image);background-position:center;background-size:var(--ep-software-bg-fit,cover);background-repeat:no-repeat;filter:blur(var(--ep-software-bg-blur,14px));transform:scale(1.05)}.ep-software-module--background-only .ep-software-module__bg{inset:0;background-image:var(--ep-software-bg-image);filter:blur(var(--ep-software-bg-blur,14px));transform:scale(1.02)}
.ep-software-lanes{display:grid;gap:var(--ep-software-gap,14px)}.ep-software-lane{overflow:hidden;padding:4px 0;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}.ep-software-track{display:flex;width:max-content;will-change:transform}.ep-software-group{display:flex;align-items:stretch;gap:var(--ep-software-gap,14px);padding-right:var(--ep-software-gap,14px)}
.ep-software-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex:0 0 var(--ep-software-item-width,112px);min-width:0;min-height:calc(var(--ep-software-icon-size,56px) + 34px);padding:8px 6px;color:var(--ep-text);text-decoration:none;text-align:center;border:1px solid transparent;border-radius:16px;background:transparent;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease,opacity .22s ease}.ep-software-card:hover{transform:translateY(-3px)}
.ep-software-card__icon{display:grid;place-items:center;width:var(--ep-software-icon-size,56px);height:var(--ep-software-icon-size,56px);overflow:hidden;flex:0 0 auto;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease}.ep-software-card:hover .ep-software-card__icon{transform:scale(1.045)}.ep-software-card__icon img{width:78%;height:78%;object-fit:contain;display:block}.ep-software-card__icon b{font-size:clamp(16px,calc(var(--ep-software-icon-size,56px) * .38),30px);color:var(--ep-accent)}.ep-software-card__name{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;line-height:1.25;opacity:.88}.ep-software-module--label-none .ep-software-card__name{display:none}.ep-software-module--label-top .ep-software-card__name{order:-1}.ep-software-module--label-none .ep-software-card{min-height:calc(var(--ep-software-icon-size,56px) + 16px)}
/* Icon presentation presets: intentionally restrained so software marks remain the visual focus. */
.ep-software-module--icon-minimal .ep-software-card__icon{border-radius:14px;background:transparent}.ep-software-module--icon-minimal .ep-software-card:hover{background:color-mix(in srgb,var(--ep-surface) 26%,transparent)}
.ep-software-module--icon-soft .ep-software-card__icon{border-radius:16px;background:color-mix(in srgb,var(--ep-surface) 82%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ep-line) 58%,transparent),0 6px 18px rgba(18,25,43,.05)}
.ep-software-module--icon-glass .ep-software-card{border-color:color-mix(in srgb,var(--ep-line) 54%,transparent);background:color-mix(in srgb,var(--ep-surface) 48%,transparent);box-shadow:0 8px 24px rgba(18,25,43,.045);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.ep-software-module--icon-glass .ep-software-card:hover{background:color-mix(in srgb,var(--ep-surface) 70%,transparent);border-color:color-mix(in srgb,var(--ep-accent) 32%,var(--ep-line));box-shadow:0 13px 30px rgba(18,25,43,.09)}.ep-software-module--icon-glass .ep-software-card__icon{border-radius:14px;background:color-mix(in srgb,var(--ep-bg) 42%,transparent)}
.ep-software-module--icon-dock .ep-software-card__icon{border-radius:20%;background:color-mix(in srgb,var(--ep-surface) 92%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ep-line) 55%,transparent),0 9px 20px rgba(17,24,39,.10)}.ep-software-module--icon-dock .ep-software-card:hover .ep-software-card__icon{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ep-accent) 28%,var(--ep-line)),0 14px 27px rgba(17,24,39,.15)}
.ep-software-module--icon-ring .ep-software-card__icon{border-radius:50%;background:color-mix(in srgb,var(--ep-surface) 74%,transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--ep-accent) 28%,var(--ep-line)),0 5px 18px rgba(18,25,43,.05)}
.ep-software-module--pause-hover:hover .ep-software-track.is-animated{animation-play-state:paused}.ep-software-track.is-moving-left{animation:epSoftwareLeft var(--ep-software-duration,24s) linear infinite}.ep-software-track.is-moving-right{animation:epSoftwareRight var(--ep-software-duration,24s) linear infinite}@keyframes epSoftwareLeft{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(var(--ep-software-distance,600px) * -1),0,0)}}@keyframes epSoftwareRight{from{transform:translate3d(calc(var(--ep-software-distance,600px) * -1),0,0)}to{transform:translate3d(0,0,0)}}
@media(max-width:760px){.ep-software-module{padding:14px 0}.ep-software-module__content{padding-top:max(14px,var(--ep-software-padding-y,22px));padding-bottom:max(14px,var(--ep-software-padding-y,22px));padding-left:12px;padding-right:12px}.ep-software-module--contained .ep-software-module__content{padding-left:0;padding-right:0}.ep-software-module__head{padding:0 12px 12px}.ep-software-module__head--bottom{padding:12px 12px 0}.ep-software-lane{mask-image:linear-gradient(90deg,transparent,#000 1.5%,#000 98.5%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 1.5%,#000 98.5%,transparent)}.ep-software-card{gap:6px;padding:6px 4px;border-radius:13px}.ep-software-card__name{font-size:11px}.ep-software-module--background-only .ep-software-module__content{padding:0}.ep-software-module--background-only .ep-software-module__surface,.ep-software-module--background-only .ep-software-module__content{min-height:min(var(--ep-software-banner-height,180px),72vw)}}
@media(prefers-reduced-motion:reduce){.ep-software-track.is-animated{animation:none!important;transform:none!important}.ep-software-lane{overflow-x:auto;scrollbar-width:none}.ep-software-lane::-webkit-scrollbar{display:none}}
.ep-software-module--direction-none .ep-software-lane{overflow-x:auto;scrollbar-width:none}.ep-software-module--direction-none .ep-software-lane::-webkit-scrollbar{display:none}

/* v0.3.51-test8: software gap is a true spacing control. The card width is
   calculated independently in software-shortcuts.js, so zero gap no longer
   gets cancelled by a wider slot. */
.ep-software-group{column-gap:var(--ep-software-gap,14px);row-gap:0}
.ep-software-lanes{row-gap:var(--ep-software-gap,14px)}
.ep-software-card{padding-left:3px;padding-right:3px}

/* v0.3.51-test9 software shortcut interaction + arrangement. */
.ep-software-lane.is-draggable{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;overscroll-behavior-x:contain;scrollbar-width:none}
.ep-software-lane.is-draggable::-webkit-scrollbar{display:none}
.ep-software-lane.is-dragging{cursor:grabbing}
.ep-software-lane.is-dragging .ep-software-card{pointer-events:none}
/* Automatic movement is now driven by scrollLeft in software-shortcuts.js so
   it can hand control to the user without fighting a CSS animation. */
.ep-software-track.is-moving-left,.ep-software-track.is-moving-right{animation:none!important;transform:none!important}
.ep-software-module--arrange-staggered .ep-software-lane:nth-child(even) .ep-software-track{padding-left:calc((var(--ep-software-item-width,112px) + var(--ep-software-gap,14px)) / 2)}
.ep-software-module--arrange-random .ep-software-lane{padding-top:10px;padding-bottom:10px}
.ep-software-module--arrange-random .ep-software-card{position:relative;left:var(--ep-software-random-x,0);top:var(--ep-software-random-y,0)}
.ep-software-module--arrange-random .ep-software-card:nth-child(3n+1){opacity:.96}
@media(max-width:760px){.ep-software-module--arrange-staggered .ep-software-lane:nth-child(even) .ep-software-track{padding-left:calc((var(--ep-software-item-width,88px) + var(--ep-software-gap,10px)) / 2)}}
@media(prefers-reduced-motion:reduce){.ep-software-lane{overflow-x:auto!important}.ep-software-track{transform:none!important;animation:none!important}}

/* v0.3.51-test10: software strip scrolling robustness. Programmatic auto-scroll
   and user drag share the same native scroll container; scrollbar stays hidden. */
.ep-software-lane{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-behavior:auto!important;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.ep-software-lane::-webkit-scrollbar{display:none}
.ep-software-track,.ep-software-group{flex:0 0 auto}
.ep-software-module.is-ep-software-ready .ep-software-track{will-change:auto}
.ep-software-module.is-ep-software-auto-moving .ep-software-track{will-change:scroll-position}

/* v0.3.51-test11 — software shortcut smart geometry + independent category showcase. */
.ep-software-module__bg{background-position:center var(--ep-software-bg-position-y,50%)}
.ep-software-module--layout-auto .ep-software-module__surface{min-height:var(--ep-software-panel-height,250px)}
.ep-software-module--layout-auto:not(.ep-software-module--background-only) .ep-software-module__content{min-height:var(--ep-software-panel-height,250px);display:flex;flex-direction:column;justify-content:center}
.ep-software-module--layout-auto .ep-software-module__head{flex:0 0 auto}
.ep-software-module--layout-auto .ep-software-lane{flex:0 0 auto}
.ep-software-module--density-compact{--ep-software-density-multiplier:.78}
.ep-software-module--density-balanced{--ep-software-density-multiplier:1}
.ep-software-module--density-loose{--ep-software-density-multiplier:1.26}
@media(max-width:760px){.ep-software-module--layout-auto .ep-software-module__surface,.ep-software-module--layout-auto:not(.ep-software-module--background-only) .ep-software-module__content{min-height:min(var(--ep-software-panel-height,250px),78vw)}}

.ep-home-category-showcase{padding:52px 0}
.ep-home-category-showcase__frame{min-width:0}
.ep-home-category-showcase__frame--full{width:100%;max-width:none;padding-inline:clamp(16px,2.5vw,44px)}
.ep-home-category-showcase__head{margin-bottom:24px;text-align:left}
.ep-home-category-showcase--align-center .ep-home-category-showcase__head{text-align:center}
.ep-home-category-showcase--align-right .ep-home-category-showcase__head{text-align:right}
.ep-home-category-showcase .ep-module-title{font-size:var(--ep-homecat-title-size,28px)}
.ep-home-category-showcase.ep-module-title--color-custom .ep-module-title{color:var(--ep-homecat-title-color,#fff)}
.ep-home-category-showcase__desc{max-width:760px;margin-top:8px;color:var(--ep-muted);font-size:14px;line-height:1.75}
.ep-home-category-showcase--align-center .ep-home-category-showcase__desc{margin-left:auto;margin-right:auto}
.ep-home-category-showcase--align-right .ep-home-category-showcase__desc{margin-left:auto}
.ep-home-category-showcase__desc p{margin:0}
.ep-home-category-showcase__cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ep-home-category-showcase--align-center .ep-home-category-showcase__cats{justify-content:center}
.ep-home-category-showcase--align-right .ep-home-category-showcase__cats{justify-content:flex-end}
.ep-home-category-showcase__cats a{display:inline-flex;align-items:center;min-height:32px;padding:5px 11px;border:1px solid color-mix(in srgb,var(--ep-line) 88%,transparent);border-radius:999px;background:color-mix(in srgb,var(--ep-card) 86%,transparent);color:var(--ep-text);text-decoration:none;font-size:12px;font-weight:700;transition:border-color .18s ease,transform .18s ease,background .18s ease}
.ep-home-category-showcase__cats a:hover{border-color:color-mix(in srgb,var(--ep-accent) 45%,var(--ep-line));background:color-mix(in srgb,var(--ep-accent) 7%,var(--ep-card));transform:translateY(-1px)}
.ep-home-category-showcase__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--ep-homecat-card-width,260px)),var(--ep-homecat-card-width,260px)));gap:22px;align-items:start}
.ep-home-category-showcase--align-center .ep-home-category-showcase__grid{justify-content:center}
.ep-home-category-showcase--align-right .ep-home-category-showcase__grid{justify-content:end}
.ep-home-category-showcase .ep-card{width:100%;min-width:0}
.ep-home-category-showcase .ep-card__media{height:var(--ep-homecat-thumb-height,320px)!important;aspect-ratio:auto!important}
.ep-home-category-showcase .ep-card__media img{width:100%;height:100%;object-fit:cover}
.ep-home-category-showcase .ep-card__placeholder{min-height:100%;height:100%}
.ep-home-category-showcase__nav,.ep-home-category-showcase__load{display:flex;justify-content:center;align-items:center;min-height:44px;margin-top:26px;text-align:center;color:var(--ep-muted)}
.ep-home-category-showcase__pagination{margin-top:26px}
.ep-home-category-showcase__pagination ul{display:flex;justify-content:center;gap:7px;list-style:none;margin:0;padding:0}
.ep-home-category-showcase__pagination a,.ep-home-category-showcase__pagination span{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--ep-line);border-radius:10px;background:var(--ep-card);color:var(--ep-text);text-decoration:none;font-weight:700}
.ep-home-category-showcase__pagination .current{background:var(--ep-accent);border-color:var(--ep-accent);color:#fff}
.ep-home-category-showcase__custom-html{margin-top:28px;min-width:0;overflow:hidden}
.ep-home-category-showcase__custom-html img{display:block;max-width:100%;height:auto;margin-inline:auto}
@media(max-width:760px){.ep-home-category-showcase{padding:38px 0}.ep-home-category-showcase__head{margin-bottom:18px}.ep-home-category-showcase__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px}.ep-home-category-showcase .ep-card__media{height:min(var(--ep-homecat-thumb-height,320px),122vw)!important}.ep-home-category-showcase__frame--full{padding-inline:12px}}
@media(max-width:480px){.ep-home-category-showcase__grid{grid-template-columns:1fr}.ep-home-category-showcase .ep-card__media{height:min(var(--ep-homecat-thumb-height,320px),138vw)!important}}

/* v0.3.51-test13: three-copy native-scroll loop. Both auto directions and
   manual drag start on the middle copy, so there is always content on both
   sides and no hard edge when dragging left or right. */
.ep-software-track{display:flex!important;width:max-content!important;align-items:stretch}
.ep-software-group[data-ep-software-clone]{pointer-events:none}
.ep-software-lane.is-draggable{touch-action:pan-y!important}


/* v0.3.51-test14 — high-density resource-site card system inspired by the
   information rhythm of mature CG/resource libraries (not a visual copy). */
.ep-container{width:min(1240px,calc(100% - 32px))}
.ep-resource-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ep-card{border-radius:14px;box-shadow:0 1px 2px rgba(19,28,45,.035);border-color:color-mix(in srgb,var(--ep-line) 94%,#cfd5df);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ep-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--ep-accent) 22%,var(--ep-line));box-shadow:0 10px 26px rgba(24,33,52,.085)}
.ep-card__media{aspect-ratio:16/10;background:color-mix(in srgb,var(--ep-card) 86%,#e8ebf1)}
.ep-card__media img{transition:transform .26s ease}
.ep-card:hover .ep-card__media img{transform:scale(1.018)}
.ep-card__body{padding:13px 14px 14px}
.ep-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-bottom:8px;font-size:11px;line-height:1.25}
.ep-card__meta .ep-card__platform{min-width:0;max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:var(--ep-muted)!important;font-weight:700}
.ep-card__date{flex:0 0 auto;color:color-mix(in srgb,var(--ep-muted) 86%,transparent);font-variant-numeric:tabular-nums;white-space:nowrap}
.ep-card h3{display:-webkit-box;min-height:2.72em;margin:0 0 8px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:15px;line-height:1.36;font-weight:750;letter-spacing:-.01em}
.ep-card p{display:-webkit-box;min-height:0;margin:0 0 10px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.62;color:var(--ep-muted)}
.ep-card__footer{min-height:30px;margin-top:auto;padding-top:9px;border-top:1px solid color-mix(in srgb,var(--ep-line) 86%,transparent);gap:8px}
.ep-card__price{font-size:12px;font-weight:800}
.ep-card__stats{gap:4px 8px;font-size:10px}.ep-card__stats b{font-size:10px}

/* Recommended compact style: image/title/activity first, no long excerpt. */
body.ep-resource-card-style-image_max .ep-card__media{aspect-ratio:16/10}
body.ep-resource-card-style-image_max .ep-card__body{padding:12px 13px 13px}
body.ep-resource-card-style-image_max .ep-card p{display:none!important}
body.ep-resource-card-style-image_max .ep-card h3{margin-bottom:9px}
body.ep-resource-card-style-image_max .ep-card__footer{padding-top:8px}

/* Balanced keeps a short excerpt; minimal becomes an uncluttered catalog. */
body.ep-resource-card-style-default .ep-card__media{aspect-ratio:16/10}
body.ep-resource-card-style-default .ep-card p{display:-webkit-box}
body.ep-resource-card-style-minimal .ep-card{background:transparent;border:0;box-shadow:none}
body.ep-resource-card-style-minimal .ep-card__media{border-radius:10px;aspect-ratio:16/10}
body.ep-resource-card-style-minimal .ep-card__body{padding:10px 1px 2px}
body.ep-resource-card-style-minimal .ep-card p{display:none!important}
body.ep-resource-card-style-minimal .ep-card__footer{border:0;padding-top:2px}
body.ep-resource-card-style-poster .ep-card__media{aspect-ratio:3/4}
body.ep-resource-card-style-poster .ep-card p{display:none!important}
body.ep-resource-card-style-overlay .ep-card{min-height:0;aspect-ratio:4/5}
body.ep-resource-card-style-overlay .ep-card__body{margin-top:auto;padding:16px}
body.ep-resource-card-style-glass .ep-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

/* Resource article: calmer CG-library proportions and less wasted horizontal space. */
.single-ep_resource .ep-resource-top__inner,
.single-ep_resource .ep-resource-hero__grid,
.single-ep_resource .ep-content-layout{width:min(1240px,calc(100% - 32px))}
.single-ep_resource .ep-resource-hero{padding:18px 0 16px}
.single-ep_resource .ep-resource-hero__grid{grid-template-columns:minmax(0,1.34fr) minmax(310px,.66fr);gap:28px;align-items:center}
.single-ep_resource .ep-resource-cover{aspect-ratio:16/10;border-radius:15px;box-shadow:0 10px 28px rgba(20,26,43,.085)}
.single-ep_resource .ep-resource-summary{padding:4px 0}
.single-ep_resource .ep-resource-hero h1{font-size:clamp(21px,1.8vw,26px)!important;line-height:1.34;margin:7px 0 9px}
.single-ep_resource .ep-resource-hero .ep-lead{font-size:13px;line-height:1.7;margin-bottom:11px}
.single-ep_resource .ep-resource-body{padding:18px 0 30px}
.single-ep_resource .ep-content-layout{grid-template-columns:minmax(0,1fr) 310px;gap:24px}
.single-ep_resource .ep-content{padding:clamp(24px,2.5vw,34px);border-radius:15px;font-size:15.5px;line-height:1.86}
.single-ep_resource .ep-resource-rail{top:88px;gap:14px}
.single-ep_resource .ep-resource-purchase-card,.single-ep_resource .ep-sidebar--resource,.single-ep_resource .ep-resource-widget{border-radius:14px}
.single-ep_resource .ep-content .wp-block-image,.single-ep_resource .ep-content figure.ep-resource-image{margin:18px 0!important}
.single-ep_resource .ep-content .wp-block-image img,.single-ep_resource .ep-content figure.ep-resource-image img,.single-ep_resource .ep-content>img{border-radius:9px}
@media(max-width:1120px){.ep-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.single-ep_resource .ep-resource-hero__grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}}
@media(max-width:860px){.ep-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.single-ep_resource .ep-resource-hero__grid,.single-ep_resource .ep-content-layout{grid-template-columns:1fr}.single-ep_resource .ep-resource-rail{position:static}}
@media(max-width:520px){.ep-container{width:min(100% - 24px,1240px)}.ep-resource-grid{grid-template-columns:1fr;gap:14px}.ep-card__body{padding:12px}.single-ep_resource .ep-resource-top__inner,.single-ep_resource .ep-resource-hero__grid,.single-ep_resource .ep-content-layout{width:min(100% - 24px,1240px)}}

/* v0.3.51-test15 — restore independent Latest Release geometry and widen the
   site canvas. These rules live in app.css (the actual front-end stylesheet)
   and intentionally come after the test14 resource-grid defaults. */
:root{--ep-content-max:1380px}
.ep-container{width:min(var(--ep-content-max),calc(100% - 40px))}
.ep-section--latest .ep-resource-grid.ep-resource-grid--latest{
  grid-template-columns:repeat(var(--ep-latest-cols,4),minmax(0,1fr))!important;
}
.single-ep_resource .ep-resource-top__inner,
.single-ep_resource .ep-resource-hero__grid,
.single-ep_resource .ep-content-layout{width:min(var(--ep-content-max),calc(100% - 40px))}
.single-ep_resource .ep-resource-hero__grid{grid-template-columns:minmax(0,1.38fr) minmax(320px,.62fr);gap:32px}
.single-ep_resource .ep-content-layout{grid-template-columns:minmax(0,1fr) 330px;gap:28px}
@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-container{width:min(100% - 28px,var(--ep-content-max))}
  .ep-section--latest .ep-resource-grid.ep-resource-grid--latest{grid-template-columns:repeat(var(--ep-latest-mobile-cols,2),minmax(0,1fr))!important}
  .single-ep_resource .ep-resource-top__inner,
  .single-ep_resource .ep-resource-hero__grid,
  .single-ep_resource .ep-content-layout{width:min(100% - 28px,var(--ep-content-max))}
}
@media(max-width:480px){
  .ep-container{width:min(100% - 24px,var(--ep-content-max))}
  .ep-section--latest .ep-resource-grid.ep-resource-grid--latest{grid-template-columns:1fr!important}
  .single-ep_resource .ep-resource-top__inner,
  .single-ep_resource .ep-resource-hero__grid,
  .single-ep_resource .ep-content-layout{width:min(100% - 24px,var(--ep-content-max))}
}

/* v0.3.51-test16 — restore admin card-radius control and generic resource tabs. */
.ep-card{border-radius:var(--ep-radius)!important}
body.ep-resource-card-style-minimal .ep-card__media{border-radius:var(--ep-radius)!important}
.ep-home-category-showcase__cats button.ep-home-category-showcase__cat,
.ep-home-category-showcase__cats a.ep-home-category-showcase__cat{appearance:none;display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border:1px solid color-mix(in srgb,var(--ep-line) 88%,transparent);border-radius:999px;background:color-mix(in srgb,var(--ep-card) 86%,transparent);color:var(--ep-text);text-decoration:none;font:inherit;font-size:12px;font-weight:750;line-height:1.2;cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}
.ep-home-category-showcase__cats .ep-home-category-showcase__cat:hover{border-color:color-mix(in srgb,var(--ep-accent) 45%,var(--ep-line));background:color-mix(in srgb,var(--ep-accent) 7%,var(--ep-card));transform:translateY(-1px)}
.ep-home-category-showcase__cats .ep-home-category-showcase__cat.is-active{border-color:color-mix(in srgb,var(--ep-accent) 62%,var(--ep-line));background:color-mix(in srgb,var(--ep-accent) 13%,var(--ep-card));color:var(--ep-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ep-accent) 12%,transparent)}
.ep-home-category-showcase.is-loading [data-ep-homecat-grid]{opacity:.55;pointer-events:none}
.ep-home-category-showcase [data-ep-homecat-grid]{transition:opacity .16s ease}
.ep-home-category-showcase__pagination button{appearance:none;display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--ep-line);border-radius:10px;background:var(--ep-card);color:var(--ep-text);font:inherit;font-weight:700;cursor:pointer}
.ep-home-category-showcase__pagination button.current{background:var(--ep-accent);border-color:var(--ep-accent);color:#fff}
.ep-home-category-showcase__cats{display:grid!important;gap:10px!important}
.ep-home-category-showcase__primary-cat,.ep-home-category-showcase__extra-cats{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ep-home-category-showcase__cat-label{flex:0 0 auto;color:var(--ep-muted);font-size:11px;font-weight:800;letter-spacing:.04em}
.ep-home-category-showcase__extra-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.ep-home-category-showcase__cat--primary{min-height:38px!important;padding:7px 15px!important;font-size:13px!important}
.ep-home-category-showcase--align-center .ep-home-category-showcase__primary-cat,.ep-home-category-showcase--align-center .ep-home-category-showcase__extra-cats{justify-content:center}
.ep-home-category-showcase--align-right .ep-home-category-showcase__primary-cat,.ep-home-category-showcase--align-right .ep-home-category-showcase__extra-cats{justify-content:flex-end}


/* v0.3.51-test17 — generic resource/article showcase metadata and paid marker. */
.ep-btn,.ep-btn--secondary,.ep-btn--ghost,.ep-btn--plain,.ep-banner-search button{background-image:none!important}
.ep-home-category-showcase__nav .ep-btn,.ep-home-category-showcase__load .ep-btn{background:var(--ep-card)!important;background-image:none!important;color:var(--ep-accent)!important;border:1px solid color-mix(in srgb,var(--ep-accent) 28%,var(--ep-line))!important;box-shadow:none!important}
.ep-home-category-showcase__nav .ep-btn:hover,.ep-home-category-showcase__load .ep-btn:hover{background:color-mix(in srgb,var(--ep-accent) 8%,var(--ep-card))!important;border-color:color-mix(in srgb,var(--ep-accent) 45%,var(--ep-line))!important;transform:translateY(-1px)}
.ep-home-category-showcase__cats{display:flex!important;align-items:center;flex-wrap:wrap;gap:8px!important;margin-top:14px}
.ep-home-category-showcase__primary-cat,.ep-home-category-showcase__extra-cats,.ep-home-category-showcase__cat-label{display:contents!important}
.ep-home-category-showcase__extra-list{display:contents!important}
.ep-card__media{position:relative}
.ep-card__paid-badge{position:absolute;z-index:4;right:9px;top:9px;display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(20,23,32,.78);color:#fff;box-shadow:0 5px 16px rgba(12,16,28,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ep-card__paid-badge svg{width:16px;height:16px}
.ep-card__meta--identity{min-height:25px}
.ep-card__author{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:70%;color:var(--ep-muted);font-size:11px;font-weight:700}
.ep-card__author-avatar{display:block;width:24px!important;height:24px!important;flex:0 0 24px;border-radius:50%;object-fit:cover}
.ep-card__author>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ep-card--article .ep-card__footer:has(.ep-card__stats:only-child){justify-content:flex-end}
.ep-card--article .ep-card__placeholder{font-size:18px;letter-spacing:.08em}

.ep-card__identity-left{display:flex;align-items:center;gap:7px;min-width:0;max-width:72%;overflow:hidden}
.ep-card__identity-left .ep-card__platform{max-width:110px!important;flex:0 1 auto}


/* v0.3.51-test18 — faster/cleaner showcase metadata and banner-aware home intro. */
.ep-card__author--avatar-only{max-width:24px!important;flex:0 0 24px!important;overflow:visible!important}
.ep-card__author--avatar-only .ep-card__author-avatar{margin:0!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-home-category-showcase--hide-mobile{display:none!important}
  .ep-hero--after-banner{padding:20px 0 26px}
  .ep-hero--after-banner .ep-hero__copy h1{font-size:clamp(25px,8vw,34px)}
}


/* v0.3.51-test19 — centered configurable home intro + one banner focal point for desktop/mobile. */
.ep-banner--home .ep-banner__image,
.ep-banner--home .ep-banner__video,
.ep-banner--home.ep-banner--position-top .ep-banner__image,
.ep-banner--home.ep-banner--position-top .ep-banner__video,
.ep-banner--home.ep-banner--position-bottom .ep-banner__image,
.ep-banner--home.ep-banner--position-bottom .ep-banner__video{
  object-position:var(--ep-banner-position-x,50%) var(--ep-banner-position-y,50%)!important;
}
.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)}
}

/* v0.3.51-test26 · category banner title placement */
.ep-banner--category.ep-banner--title-bottom-left .ep-banner__content,
.ep-banner--category.ep-banner--title-bottom-center .ep-banner__content,
.ep-banner--category.ep-banner--title-bottom-right .ep-banner__content{align-items:flex-end;padding-bottom:46px}
.ep-banner--category.ep-banner--title-bottom-left .ep-banner__copy{margin-left:0;margin-right:auto;text-align:left}
.ep-banner--category.ep-banner--title-bottom-left .ep-banner__copy p{margin-left:0;margin-right:0}
.ep-banner--category.ep-banner--title-bottom-center .ep-banner__copy{margin-left:auto;margin-right:auto;text-align:center}
.ep-banner--category.ep-banner--title-bottom-right .ep-banner__copy{margin-left:auto;margin-right:0;text-align:right}
.ep-banner--category.ep-banner--title-bottom-right .ep-banner__copy p{margin-left:auto;margin-right:0}
@media(max-width:600px){.ep-banner--category.ep-banner--title-bottom-left .ep-banner__content,.ep-banner--category.ep-banner--title-bottom-center .ep-banner__content,.ep-banner--category.ep-banner--title-bottom-right .ep-banner__content{padding-bottom:34px}}

/* v0.3.51-test26 · stronger paid badge */
.ep-card__media{position:relative}
.ep-card__paid-badge{position:absolute;z-index:5;right:8px;top:10px;display:flex;align-items:center;gap:5px;width:auto;min-width:58px;height:30px;padding:0 10px 0 8px;border:1px solid rgba(255,255,255,.58);border-radius:8px 4px 4px 8px;background:linear-gradient(135deg,var(--ep-accent),color-mix(in srgb,var(--ep-accent) 50%,#ff477e));color:#fff;box-shadow:0 7px 20px rgba(20,24,40,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:11px;font-weight:900;letter-spacing:.04em;line-height:1}
.ep-card__paid-badge:before{content:"";position:absolute;left:-7px;top:7px;width:14px;height:14px;background:inherit;transform:rotate(45deg);border-left:1px solid rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.5);z-index:-1}
.ep-card__paid-badge svg{width:14px;height:14px;flex:0 0 auto}.ep-card__paid-badge b{font:inherit;color:inherit}.ep-card__paid-badge.is-vip{background:linear-gradient(135deg,#ffb11b,#ff6535)}.ep-card__paid-badge.is-points{background:linear-gradient(135deg,#00a98f,#2b78ff)}

/* article/resource common reading UI */
.ep-article-page{padding:34px 0 64px}.ep-article-page__inner{width:min(980px,calc(100% - 32px))}.ep-article-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--ep-muted);font-size:13px;margin-bottom:28px}.ep-article-breadcrumb a{color:inherit;text-decoration:none}.ep-article-breadcrumb strong{color:var(--ep-text)}.ep-article-header{text-align:left;margin:0 auto 28px}.ep-article-header h1{font-size:clamp(34px,5vw,58px);line-height:1.12;letter-spacing:-.035em;margin:8px 0 14px}.ep-article-meta{display:flex;align-items:center;gap:9px 15px;flex-wrap:wrap;color:var(--ep-muted);font-size:13px;margin:10px 0}.ep-article-meta__item{display:inline-flex;align-items:center;gap:5px}.ep-article-meta__author img{width:22px;height:22px;border-radius:50%}.ep-article-featured{margin:0 0 28px;border-radius:18px;overflow:hidden}.ep-article-featured img{display:block;width:100%;height:auto}.ep-article-main{display:grid;gap:26px}.ep-article-content{font-size:16px;line-height:1.85}.ep-article-toc{margin:0 0 28px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--ep-accent) 20%,var(--ep-line));border-radius:14px;background:color-mix(in srgb,var(--ep-card) 97%,var(--ep-accent) 3%)}.ep-article-toc ol{margin:10px 0 0;padding-left:22px}.ep-article-toc li+li{margin-top:5px}.ep-article-toc a{text-decoration:none}.ep-article-copyright{margin-top:30px;padding:18px 20px;border-left:4px solid var(--ep-accent);border-radius:10px;background:color-mix(in srgb,var(--ep-card) 96%,var(--ep-accent) 4%)}.ep-article-copyright p{margin:7px 0 0!important;color:var(--ep-muted);font-size:13px}.ep-article-promo{display:flex;gap:12px;align-items:center;margin-top:18px}.ep-article-promo span{font-size:12px;color:var(--ep-muted)}.ep-article-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--ep-line)}.ep-article-tags a{padding:5px 10px;border-radius:999px;background:var(--ep-bg);color:var(--ep-muted);font-size:12px;text-decoration:none}.ep-article-related{margin-top:8px}.ep-article-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ep-article-prev-next{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ep-article-prev-next a{display:grid;gap:3px;padding:16px 18px;border:1px solid var(--ep-line);border-radius:14px;background:var(--ep-card);color:var(--ep-text);text-decoration:none}.ep-article-prev-next__next{text-align:right}.ep-article-prev-next small{color:var(--ep-muted)}
@media(max-width:600px){.ep-article-related__grid,.ep-article-prev-next{grid-template-columns:1fr}.ep-article-prev-next__next{text-align:left}}

/* v0.3.51-test26 · configurable resource purchase-box placement */
.single-ep_resource .ep-content-layout--no-rail{grid-template-columns:minmax(0,1fr);max-width:980px}
.single-ep_resource .ep-resource-purchase-card--content-top,.single-ep_resource .ep-resource-purchase-card--content-bottom{margin-bottom:18px;padding:20px 22px;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr);gap:18px;align-items:center}
.single-ep_resource .ep-resource-purchase-card--content-bottom{margin-top:18px;margin-bottom:0}
.single-ep_resource .ep-resource-purchase-card--content-top .ep-purchase-actions,.single-ep_resource .ep-resource-purchase-card--content-bottom .ep-purchase-actions{margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.single-ep_resource .ep-resource-purchase-card--titlebar{margin-top:20px;max-width:620px;padding:17px 18px;display:grid;grid-template-columns:minmax(160px,.8fr) minmax(220px,1.2fr);gap:14px;align-items:center}
.single-ep_resource .ep-resource-purchase-card--titlebar .ep-purchase-actions{margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.single-ep_resource .ep-resource-purchase-card--content-top,.single-ep_resource .ep-resource-purchase-card--content-bottom,.single-ep_resource .ep-resource-purchase-card--titlebar{grid-template-columns:1fr}.single-ep_resource .ep-resource-purchase-card--content-top .ep-purchase-actions,.single-ep_resource .ep-resource-purchase-card--content-bottom .ep-purchase-actions,.single-ep_resource .ep-resource-purchase-card--titlebar .ep-purchase-actions{grid-template-columns:1fr}}


/* v0.3.51-test27 — calmer single article/resource header and compact discovery. */
.ep-article-page{padding:24px 0 58px}
.ep-article-page__inner{width:min(1040px,calc(100% - 32px))}
.ep-article-header{max-width:900px;margin:0 auto 18px}
.ep-article-header h1{font-size:clamp(29px,4vw,44px);line-height:1.18;letter-spacing:-.026em;margin:6px 0 10px}
.ep-article-header .ep-lead{max-width:820px;font-size:14px;line-height:1.72;margin:10px 0 0;color:var(--ep-muted)}
.ep-article-breadcrumb{max-width:100%;margin:8px 0 10px;padding:7px 0 9px;border-bottom:1px solid color-mix(in srgb,var(--ep-line) 84%,transparent);font-size:12px;line-height:1.45}
.ep-article-featured{width:min(100%,840px);margin:0 auto 24px;border-radius:15px;overflow:hidden;background:var(--ep-surface);box-shadow:0 9px 28px rgba(20,26,43,.065)}
.ep-article-featured img{display:block;width:100%;max-height:430px;object-fit:cover}
.ep-article-main{max-width:900px;margin:0 auto;gap:18px}
.ep-article-prev-next{margin-top:8px}
.ep-article-prev-next a{padding:13px 15px;border-radius:11px}
.ep-article-prev-next strong{font-size:13px;line-height:1.48;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ep-article-related{margin-top:4px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--ep-line) 88%,transparent)}
.ep-article-related .ep-section__head{margin-bottom:10px}
.ep-article-related .ep-section__head h2{font-size:17px;margin:0}
.ep-article-related__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ep-related-mini{min-width:0;border:1px solid var(--ep-line);border-radius:11px;overflow:hidden;background:var(--ep-card);box-shadow:0 2px 10px rgba(20,26,43,.035)}
.ep-related-mini__media{display:block;aspect-ratio:16/9;background:var(--ep-surface);overflow:hidden;text-decoration:none}
.ep-related-mini__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .18s ease}
.ep-related-mini:hover .ep-related-mini__media img{transform:scale(1.025)}
.ep-related-mini__placeholder{display:grid;place-items:center;width:100%;height:100%;font-weight:800;color:var(--ep-muted)}
.ep-related-mini__body{padding:8px 9px 9px}
.ep-related-mini__category{display:block;margin-bottom:3px;color:var(--ep-accent);font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ep-related-mini h3{margin:0;font-size:12.5px;line-height:1.45;font-weight:700}
.ep-related-mini h3 a{color:var(--ep-text);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ep-related-mini time{display:block;margin-top:5px;color:var(--ep-muted);font-size:10px}
.single-ep_resource .ep-resource-hero{padding:18px 0 14px}
.single-ep_resource .ep-resource-hero__grid{width:min(1180px,calc(100% - 32px));grid-template-columns:minmax(300px,500px) minmax(0,1fr);gap:28px;align-items:center}
.single-ep_resource .ep-resource-cover{aspect-ratio:16/10;max-height:330px;border-radius:15px;box-shadow:0 9px 28px rgba(20,26,43,.075)}
.single-ep_resource .ep-resource-summary .ep-article-breadcrumb{margin:7px 0 9px;padding:6px 0 8px}
.single-ep_resource .ep-resource-summary .ep-article-breadcrumb strong{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.single-ep_resource .ep-resource-body{padding-top:12px}
.single-ep_resource .ep-article-related__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){
  .ep-article-related__grid,.single-ep_resource .ep-article-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .single-ep_resource .ep-resource-hero__grid{grid-template-columns:minmax(280px,42%) minmax(0,1fr);gap:20px}
}
@media(max-width:680px){
  .ep-article-page{padding-top:16px}.ep-article-page__inner{width:min(100% - 24px,1040px)}
  .ep-article-header h1{font-size:27px}.ep-article-featured{width:100%;margin-bottom:18px;border-radius:12px}.ep-article-featured img{max-height:300px}
  .ep-article-related__grid,.single-ep_resource .ep-article-related__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ep-related-mini__body{padding:7px}.ep-related-mini h3{font-size:12px}
  .single-ep_resource .ep-resource-hero__grid{grid-template-columns:1fr;width:min(100% - 24px,1180px)}
  .single-ep_resource .ep-resource-cover{max-height:none;aspect-ratio:16/9}
}

/* v0.3.51-test30 — Advertising / operation content V1 */
.ep-operation{position:relative;width:100%;margin:16px 0}.ep-operation--place-category_list{grid-column:1/-1;margin:4px 0 10px}.ep-operation--place-resource_sidebar{margin:0 0 16px}.ep-operation--place-footer_before{margin:0;padding:22px max(18px,calc((100vw - 1180px)/2));background:color-mix(in srgb,var(--ep-card,#fff) 84%,transparent)}.ep-operation__ad-label{position:absolute;z-index:3;top:9px;right:9px;padding:4px 7px;border-radius:999px;background:rgba(15,23,42,.68);color:#fff;font-size:10px;line-height:1;letter-spacing:.05em;backdrop-filter:blur(8px)}.ep-operation-banner{display:block;overflow:hidden;border-radius:16px;border:1px solid var(--ep-line,#e8eaf0);background:var(--ep-card,#fff);box-shadow:0 8px 28px rgba(20,24,38,.055)}.ep-operation-banner picture,.ep-operation-banner img{display:block;width:100%}.ep-operation-banner img{height:auto;max-height:360px;object-fit:cover}.ep-operation-card-front{display:grid;grid-template-columns:minmax(180px,34%) minmax(0,1fr);min-height:180px;overflow:hidden;border:1px solid var(--ep-line,#e8eaf0);border-radius:18px;background:var(--ep-card,#fff);box-shadow:0 10px 32px rgba(20,24,38,.06)}.ep-operation--image_right .ep-operation-card-front{grid-template-columns:minmax(0,1fr) minmax(180px,34%)}.ep-operation--image_right .ep-operation-card-front__media{order:2}.ep-operation--image_background .ep-operation-card-front{display:block;position:relative;min-height:240px;background:#111827}.ep-operation--image_background .ep-operation-card-front__media{position:absolute;inset:0}.ep-operation--image_background .ep-operation-card-front__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,22,.72),rgba(8,12,22,.18))}.ep-operation--image_background .ep-operation-card-front__copy{position:relative;z-index:1;max-width:680px;color:#fff}.ep-operation--image_background .ep-operation-card-front__copy h3,.ep-operation--image_background .ep-operation-card-front__desc{color:#fff}.ep-operation-card-front__media{display:block;min-height:180px;background:var(--ep-soft,#f5f7fb);overflow:hidden}.ep-operation-card-front__media img{display:block;width:100%;height:100%;min-height:180px;object-fit:cover}.ep-operation-card-front__copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:26px}.ep-operation-card-front__copy h3{margin:0 0 8px;font-size:clamp(21px,2.2vw,31px);line-height:1.2;color:var(--ep-text,#151925)}.ep-operation-card-front__desc{color:var(--ep-muted,#6d7482);font-size:14px;line-height:1.75}.ep-operation-card-front__desc p{margin:0 0 8px}.ep-operation__button{display:inline-flex;align-items:center;justify-content:center;margin-top:14px;padding:9px 15px;border-radius:10px;background:var(--ep-accent,#5b5ef7);color:#fff!important;font-weight:750;font-size:13px;text-decoration:none}.ep-operation--notice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border:1px solid var(--ep-line,#e8eaf0);border-radius:14px;background:var(--ep-card,#fff)}.ep-operation--notice-info{background:color-mix(in srgb,#3b82f6 7%,var(--ep-card,#fff));border-color:color-mix(in srgb,#3b82f6 22%,var(--ep-line,#e8eaf0))}.ep-operation--notice-activity{background:color-mix(in srgb,#f59e0b 8%,var(--ep-card,#fff));border-color:color-mix(in srgb,#f59e0b 24%,var(--ep-line,#e8eaf0))}.ep-operation--notice-important{background:color-mix(in srgb,#ef4444 7%,var(--ep-card,#fff));border-color:color-mix(in srgb,#ef4444 22%,var(--ep-line,#e8eaf0))}.ep-operation-notice__copy{display:grid;gap:4px}.ep-operation-notice__copy strong{font-size:15px;color:var(--ep-text,#151925)}.ep-operation-notice__copy div{font-size:13px;color:var(--ep-muted,#6d7482)}.ep-operation-notice__copy p{margin:0}.ep-operation--place-resource_sidebar .ep-operation-card-front{grid-template-columns:1fr;min-height:0}.ep-operation--place-resource_sidebar .ep-operation-card-front__media{min-height:110px;max-height:170px}.ep-operation--place-resource_sidebar .ep-operation-card-front__copy{padding:16px}.ep-operation--place-resource_sidebar .ep-operation-card-front__copy h3{font-size:17px}.ep-operation--place-resource_sidebar .ep-operation-card-front__desc{font-size:12px}.ep-operation--place-resource_sidebar .ep-operation-banner img{max-height:240px}.ep-operation__code{width:100%;overflow:hidden}.ep-operation-home .ep-operation{margin:0}.ep-operation-home{padding-top:10px;padding-bottom:10px}
@media(max-width:720px){.ep-operation{margin:12px 0}.ep-operation-card-front,.ep-operation--image_right .ep-operation-card-front{grid-template-columns:1fr}.ep-operation--image_right .ep-operation-card-front__media{order:0}.ep-operation-card-front__media{min-height:140px;max-height:220px}.ep-operation-card-front__copy{padding:18px}.ep-operation--image_background .ep-operation-card-front{min-height:210px}.ep-operation--notice{align-items:flex-start;flex-direction:column}.ep-operation--place-footer_before{padding:16px}}
.ep-operation-card-front__media picture{display:block;width:100%;height:100%}

/* v0.3.52 — Advertising / operation content V2 */
.ep-operation{--ep-op-x:50%;--ep-op-y:50%;--ep-op-radius:16px;--ep-op-overlay:.55}
.ep-operation-banner,.ep-operation-card-front,.ep-operation-card-front__media{border-radius:var(--ep-op-radius,16px)}
.ep-operation-banner picture,.ep-operation-card-front__media picture{overflow:hidden;border-radius:inherit}
.ep-operation-banner img,.ep-operation-card-front__media img,.ep-operation-list-card__media img{object-fit:cover;object-position:var(--ep-op-x,50%) var(--ep-op-y,50%)}
.ep-operation--fit-contain .ep-operation-banner img,.ep-operation--fit-contain .ep-operation-card-front__media img,.ep-operation--fit-contain .ep-operation-list-card__media img{object-fit:contain;background:color-mix(in srgb,var(--ep-card,#fff) 92%,var(--ep-line,#e8eaf0))}
.ep-operation--ratio-191 .ep-operation-banner picture{aspect-ratio:1.91/1}.ep-operation--ratio-169 .ep-operation-banner picture{aspect-ratio:16/9}.ep-operation--ratio-43 .ep-operation-banner picture{aspect-ratio:4/3}.ep-operation--ratio-32 .ep-operation-banner picture{aspect-ratio:3/2}.ep-operation--ratio-11 .ep-operation-banner picture{aspect-ratio:1/1}
.ep-operation--ratio-191 .ep-operation-banner img,.ep-operation--ratio-169 .ep-operation-banner img,.ep-operation--ratio-43 .ep-operation-banner img,.ep-operation--ratio-32 .ep-operation-banner img,.ep-operation--ratio-11 .ep-operation-banner img{width:100%;height:100%;max-height:none}
.ep-operation--ratio-custom .ep-operation-banner picture{height:var(--ep-op-height-desktop,360px)}.ep-operation--ratio-custom .ep-operation-banner img{width:100%;height:100%;max-height:none}
.ep-operation-card-front__media{height:var(--ep-op-height-desktop,auto)}.ep-operation-card-front__media img{min-height:0}
.ep-operation--image-effect-zoom img{transition:transform .35s ease,filter .35s ease}.ep-operation--image-effect-zoom a:hover img,.ep-operation--image-effect-zoom .ep-operation-card-front:hover img{transform:scale(1.035)}
.ep-operation--image-effect-brighten img{transition:filter .3s ease}.ep-operation--image-effect-brighten a:hover img,.ep-operation--image-effect-brighten .ep-operation-card-front:hover img{filter:brightness(1.08) saturate(1.05)}
.ep-operation--image-effect-grayscale_reveal img{filter:grayscale(.78);transition:filter .35s ease}.ep-operation--image-effect-grayscale_reveal a:hover img,.ep-operation--image-effect-grayscale_reveal .ep-operation-card-front:hover img{filter:grayscale(0)}
.ep-operation--text-center .ep-operation-card-front__copy{align-items:center;text-align:center}.ep-operation--text-right .ep-operation-card-front__copy{align-items:flex-end;text-align:right}
.ep-operation--button-outline .ep-operation__button{background:transparent;color:var(--ep-accent,#5b5ef7)!important;border:1px solid currentColor}.ep-operation--button-glass .ep-operation__button{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.34);backdrop-filter:blur(12px)}.ep-operation--button-text .ep-operation__button{padding:6px 0;background:transparent;color:var(--ep-accent,#5b5ef7)!important;border-radius:0}.ep-operation--button-text .ep-operation__button:after{content:" →"}
.ep-operation--visual-clean .ep-operation-card-front{box-shadow:none;border-color:color-mix(in srgb,var(--ep-line,#e8eaf0) 78%,transparent)}
.ep-operation--visual-soft_gradient .ep-operation-card-front{background:linear-gradient(135deg,color-mix(in srgb,var(--ep-accent,#5b5ef7) 7%,var(--ep-card,#fff)),var(--ep-card,#fff) 54%,color-mix(in srgb,var(--ep-accent2,#8d66ff) 7%,var(--ep-card,#fff)))}
.ep-operation--visual-glass .ep-operation-card-front{background:color-mix(in srgb,var(--ep-card,#fff) 76%,transparent);backdrop-filter:blur(18px) saturate(120%);border-color:rgba(255,255,255,.34);box-shadow:0 18px 50px rgba(20,24,36,.11)}
.ep-operation--visual-editorial .ep-operation-card-front{border-radius:6px;box-shadow:none;border-width:0 0 1px}.ep-operation--visual-editorial .ep-operation-card-front__copy h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,2.6vw,38px);letter-spacing:-.025em}
.ep-operation--visual-dark_overlay .ep-operation-card-front{position:relative;display:block;min-height:250px;background:#111827}.ep-operation--visual-dark_overlay .ep-operation-card-front__media{position:absolute;inset:0;height:100%;max-height:none}.ep-operation--visual-dark_overlay .ep-operation-card-front__media:after,.ep-operation--image_background .ep-operation-card-front__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,22,var(--ep-op-overlay,.55)),rgba(8,12,22,calc(var(--ep-op-overlay,.55) * .28)))}.ep-operation--visual-dark_overlay .ep-operation-card-front__copy{position:relative;z-index:2;min-height:250px;max-width:720px;color:#fff}.ep-operation--visual-dark_overlay .ep-operation-card-front__copy h3,.ep-operation--visual-dark_overlay .ep-operation-card-front__desc{color:#fff}
.ep-operation--image_background .ep-operation-card-front__media:after{background:linear-gradient(90deg,rgba(8,12,22,var(--ep-op-overlay,.55)),rgba(8,12,22,calc(var(--ep-op-overlay,.55) * .25)))}

/* Native in-feed placement: match the resource grid instead of breaking it with a full-width strip. */
.ep-operation--place-category_list.ep-operation--list-native,.ep-operation--place-category_list.ep-operation--list-compact{grid-column:auto;width:auto;margin:0;display:flex;min-width:0;height:100%}
.ep-operation--place-category_list.ep-operation--list-native .ep-operation__ad-label,.ep-operation--place-category_list.ep-operation--list-compact .ep-operation__ad-label{top:8px;right:8px}
.ep-operation-list-card__media{position:relative;aspect-ratio:16/10;min-height:0;background:color-mix(in srgb,var(--ep-accent,#5b5ef7) 8%,var(--ep-card,#fff));overflow:hidden}.ep-operation-list-card__media picture{display:block;width:100%;height:100%}.ep-operation-list-card__media img{display:block;width:100%;height:100%}.ep-operation-list-card__placeholder{display:grid!important;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--ep-accent,#5b5ef7) 75%,#101827),color-mix(in srgb,var(--ep-accent2,#8d66ff) 70%,#151925));color:#fff}.ep-operation-list-card__placeholder span{font-size:38px;font-weight:900;letter-spacing:.08em}
.ep-operation-list-card__body h3 a{color:var(--ep-text,#151925);text-decoration:none}.ep-operation-list-card__label{border-color:color-mix(in srgb,var(--ep-accent,#5b5ef7) 18%,var(--ep-line,#e8eaf0))!important;background:color-mix(in srgb,var(--ep-accent,#5b5ef7) 7%,var(--ep-card,#fff))!important;color:color-mix(in srgb,var(--ep-text,#151925) 72%,var(--ep-accent,#5b5ef7))!important}.ep-operation-list-card__footer{min-height:34px}.ep-operation-list-card__cta{color:var(--ep-accent,#5b5ef7);font-size:12px;font-weight:800;text-decoration:none}.ep-operation-list-card__cta.is-muted{color:var(--ep-muted,#6d7482)}
.ep-operation--list-compact .ep-operation-list-card__media{aspect-ratio:16/8}.ep-operation--list-compact .ep-operation-list-card__body{padding:13px}.ep-operation--list-compact .ep-operation-list-card__body h3{min-height:0;margin:7px 0 5px;font-size:15px}.ep-operation--list-compact .ep-operation-list-card__footer{padding-top:8px}
.ep-operation--place-category_list.ep-operation--list-banner{grid-column:1/-1;margin:4px 0 10px}
.ep-operation--place-category_list.ep-operation--code{grid-column:1/-1}
@media(max-width:720px){.ep-operation--ratio-custom .ep-operation-banner picture{height:var(--ep-op-height-mobile,var(--ep-op-height-desktop,220px))}.ep-operation-card-front__media{height:var(--ep-op-height-mobile,auto)}.ep-operation--visual-dark_overlay .ep-operation-card-front__copy{min-height:220px}}
.ep-operation-card-front__media{min-height:0}
.ep-operation--ratio-191 .ep-operation-card-front__media{aspect-ratio:1.91/1}.ep-operation--ratio-169 .ep-operation-card-front__media{aspect-ratio:16/9}.ep-operation--ratio-43 .ep-operation-card-front__media{aspect-ratio:4/3}.ep-operation--ratio-32 .ep-operation-card-front__media{aspect-ratio:3/2}.ep-operation--ratio-11 .ep-operation-card-front__media{aspect-ratio:1/1}.ep-operation--ratio-custom .ep-operation-card-front__media{aspect-ratio:auto;height:var(--ep-op-height-desktop,180px)}
.ep-operation--visual-dark_overlay .ep-operation-card-front__media:after,.ep-operation--image_background .ep-operation-card-front__media:after{background:linear-gradient(90deg,rgba(8,12,22,var(--ep-op-overlay,.55)),rgba(8,12,22,.16))}
@media(max-width:720px){.ep-operation--ratio-custom .ep-operation-card-front__media{height:var(--ep-op-height-mobile,var(--ep-op-height-desktop,160px))}}


/* v0.3.53 · operation banner copy, GIF-safe media and restrained ad motion. */
.ep-operation-banner{position:relative;isolation:isolate}.ep-operation-banner.has-copy:after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,9,18,calc(var(--ep-op-overlay,.55) * .9)),rgba(5,9,18,.12) 68%,rgba(5,9,18,.02))}.ep-operation-banner__hit{position:absolute;z-index:2;inset:0}.ep-operation-banner__copy{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:flex-start;max-width:min(660px,72%);padding:clamp(18px,3vw,42px);color:#fff;pointer-events:none}.ep-operation-banner__copy>*{pointer-events:auto}.ep-operation-banner__copy h3{margin:7px 0 8px;font-size:clamp(24px,3vw,42px);line-height:1.12;letter-spacing:-.025em;color:inherit;text-shadow:0 2px 18px rgba(0,0,0,.24)}.ep-operation-banner__desc{max-width:620px;font-size:14px;line-height:1.7;color:color-mix(in srgb,currentColor 88%,transparent)}.ep-operation-banner__desc p{margin:0 0 7px}.ep-operation__promo{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 9px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:999px;background:color-mix(in srgb,currentColor 11%,transparent);font-size:11px;font-weight:800;letter-spacing:.045em;line-height:1.1}.ep-operation-card-front__copy .ep-operation__promo,.ep-operation-list-card__body .ep-operation__promo,.ep-operation-notice__copy .ep-operation__promo{margin-bottom:5px;color:var(--ep-accent,#5b5ef7)}
.ep-operation--copy-left_top .ep-operation-banner__copy{left:0;top:0}.ep-operation--copy-left_center .ep-operation-banner__copy{left:0;top:50%;transform:translateY(-50%)}.ep-operation--copy-left_bottom .ep-operation-banner__copy{left:0;bottom:0}.ep-operation--copy-center_top .ep-operation-banner__copy{left:50%;top:0;transform:translateX(-50%);align-items:center;text-align:center}.ep-operation--copy-center .ep-operation-banner__copy{left:50%;top:50%;transform:translate(-50%,-50%);align-items:center;text-align:center}.ep-operation--copy-center_bottom .ep-operation-banner__copy{left:50%;bottom:0;transform:translateX(-50%);align-items:center;text-align:center}.ep-operation--copy-right_top .ep-operation-banner__copy{right:0;top:0;align-items:flex-end;text-align:right}.ep-operation--copy-right_center .ep-operation-banner__copy{right:0;top:50%;transform:translateY(-50%);align-items:flex-end;text-align:right}.ep-operation--copy-right_bottom .ep-operation-banner__copy{right:0;bottom:0;align-items:flex-end;text-align:right}
.ep-operation--tone-light .ep-operation-banner__copy,.ep-operation--tone-light .ep-operation-card-front__copy,.ep-operation--tone-light .ep-operation-notice__copy{color:#fff}.ep-operation--tone-dark .ep-operation-banner__copy,.ep-operation--tone-dark .ep-operation-card-front__copy,.ep-operation--tone-dark .ep-operation-notice__copy{color:#111827}.ep-operation--tone-dark .ep-operation-banner.has-copy:after{background:linear-gradient(90deg,rgba(255,255,255,.76),rgba(255,255,255,.16) 70%,rgba(255,255,255,.02))}
.ep-operation--title-small .ep-operation-banner__copy h3,.ep-operation--title-small .ep-operation-card-front__copy h3{font-size:clamp(20px,2.2vw,30px)}.ep-operation--title-large .ep-operation-banner__copy h3,.ep-operation--title-large .ep-operation-card-front__copy h3{font-size:clamp(30px,4vw,52px)}
.ep-operation-motion-copy>*{will-change:opacity,transform}.ep-operation:not(.is-ep-motion-visible).ep-operation--textfx-fade .ep-operation-motion-copy>*,.ep-operation:not(.is-ep-motion-visible).ep-operation--textfx-rise .ep-operation-motion-copy>*,.ep-operation:not(.is-ep-motion-visible).ep-operation--textfx-sequence .ep-operation-motion-copy>*{opacity:0}.ep-operation:not(.is-ep-motion-visible).ep-operation--textfx-rise .ep-operation-motion-copy>*,.ep-operation:not(.is-ep-motion-visible).ep-operation--textfx-sequence .ep-operation-motion-copy>*{transform:translateY(10px)}
.ep-operation.is-ep-motion-visible.ep-operation--textfx-fade .ep-operation-motion-copy>*{animation:epOpFade .75s ease both}.ep-operation.is-ep-motion-visible.ep-operation--textfx-rise .ep-operation-motion-copy>*{animation:epOpRise .8s cubic-bezier(.2,.7,.2,1) both}.ep-operation.is-ep-motion-visible.ep-operation--textfx-sequence .ep-operation-motion-copy>*{animation:epOpRise .72s cubic-bezier(.2,.7,.2,1) both}.ep-operation.is-ep-motion-visible.ep-operation--textfx-sequence .ep-operation-motion-copy>*:nth-child(2){animation-delay:.16s}.ep-operation.is-ep-motion-visible.ep-operation--textfx-sequence .ep-operation-motion-copy>*:nth-child(3){animation-delay:.32s}.ep-operation.is-ep-motion-visible.ep-operation--textfx-sequence .ep-operation-motion-copy>*:nth-child(4){animation-delay:.48s}
.ep-operation.is-ep-motion-visible.ep-operation--textfx-gradient .ep-operation-motion-copy h3{background:linear-gradient(100deg,currentColor 5%,var(--ep-accent,#7c6cff) 35%,#ec4899 55%,#f59e0b 72%,currentColor 95%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:epOpGradient 7s ease-in-out 1}.ep-operation.is-ep-motion-visible.ep-operation--motion-gentle_loop.ep-operation--textfx-gradient .ep-operation-motion-copy h3{animation-iteration-count:infinite;animation-duration:10s}
.ep-operation.is-ep-motion-visible.ep-operation--textfx-glow .ep-operation-motion-copy h3{animation:epOpGlow 2.8s ease-in-out 2}.ep-operation.is-ep-motion-visible.ep-operation--motion-gentle_loop.ep-operation--textfx-glow .ep-operation-motion-copy h3{animation:epOpGlow 5.5s ease-in-out infinite}
.ep-operation.is-ep-motion-visible.ep-operation--textfx-soft_blink .ep-operation-motion-copy .ep-operation__promo,.ep-operation.is-ep-motion-visible.ep-operation--textfx-soft_blink .ep-operation-motion-copy h3{animation:epOpSoftBlink 2.8s ease-in-out 2}.ep-operation.is-ep-motion-visible.ep-operation--motion-gentle_loop.ep-operation--textfx-soft_blink .ep-operation-motion-copy .ep-operation__promo,.ep-operation.is-ep-motion-visible.ep-operation--motion-gentle_loop.ep-operation--textfx-soft_blink .ep-operation-motion-copy h3{animation:epOpSoftBlink 6s ease-in-out infinite}
.ep-operation.is-ep-motion-visible.ep-operation--textfx-sweep .ep-operation-motion-copy h3{position:relative;overflow:hidden}.ep-operation.is-ep-motion-visible.ep-operation--textfx-sweep .ep-operation-motion-copy h3:after{content:"";position:absolute;top:-20%;bottom:-20%;width:36%;left:-55%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.48),transparent);transform:skewX(-18deg);animation:epOpSweep 1.5s ease .35s 1}.ep-operation.is-ep-motion-visible.ep-operation--motion-gentle_loop.ep-operation--textfx-sweep .ep-operation-motion-copy h3:after{animation:epOpSweepLoop 9s ease-in-out infinite}
@keyframes epOpFade{from{opacity:0}to{opacity:1}}@keyframes epOpRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes epOpGradient{0%,15%{background-position:0 50%}70%,100%{background-position:100% 50%}}@keyframes epOpGlow{0%,100%{text-shadow:0 2px 18px rgba(0,0,0,.18)}50%{text-shadow:0 0 24px color-mix(in srgb,var(--ep-accent,#7c6cff) 55%,transparent),0 2px 18px rgba(0,0,0,.18)}}@keyframes epOpSoftBlink{0%,100%{opacity:1}50%{opacity:.72}}@keyframes epOpSweep{0%{left:-55%;opacity:0}20%{opacity:1}100%{left:125%;opacity:0}}@keyframes epOpSweepLoop{0%,72%{left:-55%;opacity:0}78%{opacity:1}94%{left:125%;opacity:0}100%{left:125%;opacity:0}}
@media(prefers-reduced-motion:reduce){.ep-operation-motion-copy>*,.ep-operation-motion-copy h3,.ep-operation-motion-copy h3:after{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}.ep-operation--image-effect-zoom img{transform:none!important}.ep-operation--image-effect-grayscale_reveal img{filter:none!important}}
@media(max-width:720px){.ep-operation-banner__copy{max-width:88%;padding:16px}.ep-operation-banner__copy h3{font-size:clamp(20px,6vw,30px)}.ep-operation-banner__desc{font-size:12px;line-height:1.55}.ep-operation__promo{font-size:10px;padding:4px 7px}}


/* v0.3.54 · operation responsive copy, larger image-text media, homepage VIP plans. */
.ep-operation-banner{container-type:inline-size}
.ep-operation-banner__copy{width:min(92%,720px);max-width:none;box-sizing:border-box}
.ep-operation-banner__copy h3,.ep-operation-card-front__copy h3{max-width:100%;overflow-wrap:anywhere;word-break:break-word;text-wrap:balance}
@supports(width:1cqw){.ep-operation-banner__copy h3{font-size:clamp(18px,5cqw,42px)}.ep-operation--title-small .ep-operation-banner__copy h3{font-size:clamp(17px,4.2cqw,30px)}.ep-operation--title-large .ep-operation-banner__copy h3{font-size:clamp(20px,6cqw,52px)}}
.ep-operation--image_text .ep-operation-card-front,.ep-operation--internal .ep-operation-card-front{grid-template-columns:minmax(260px,46%) minmax(0,1fr);min-height:230px}
.ep-operation--image_right.ep-operation--image_text .ep-operation-card-front,.ep-operation--image_right.ep-operation--internal .ep-operation-card-front{grid-template-columns:minmax(0,1fr) minmax(260px,46%)}
.ep-operation--image_text .ep-operation-card-front__media,.ep-operation--internal .ep-operation-card-front__media{min-height:230px}
.ep-operation--image_text .ep-operation-card-front__media img,.ep-operation--internal .ep-operation-card-front__media img{width:100%;height:100%;min-height:230px}
@media(max-width:860px){.ep-operation--image_text .ep-operation-card-front,.ep-operation--internal .ep-operation-card-front,.ep-operation--image_right.ep-operation--image_text .ep-operation-card-front,.ep-operation--image_right.ep-operation--internal .ep-operation-card-front{grid-template-columns:1fr}.ep-operation--image_right.ep-operation--image_text .ep-operation-card-front__media,.ep-operation--image_right.ep-operation--internal .ep-operation-card-front__media{order:0}.ep-operation--image_text .ep-operation-card-front__media,.ep-operation--internal .ep-operation-card-front__media{min-height:200px;max-height:360px}}
@media(max-width:520px){.ep-operation-banner__copy{width:94%;padding:14px}.ep-operation-banner__copy h3{line-height:1.18}.ep-operation-banner__desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}}

.ep-home-membership{padding:34px 0 42px}.ep-home-membership__head{max-width:760px;margin:0 auto 22px;text-align:center}.ep-home-membership__head h2{margin:0;font-size:clamp(25px,3vw,38px);line-height:1.15;color:var(--ep-text,#151925);letter-spacing:-.025em}.ep-home-membership__head p{margin:9px auto 0;color:var(--ep-muted,#6d7482);font-size:14px;line-height:1.7}.ep-home-membership__grid{display:grid;grid-template-columns:repeat(var(--ep-home-vip-cols,4),minmax(0,1fr));gap:16px;align-items:stretch}.ep-home-vip-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:22px 20px 19px;border:1px solid var(--ep-line,#e8eaf0);border-radius:18px;background:var(--ep-card,#fff);box-shadow:0 10px 34px rgba(25,29,42,.055);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.ep-home-vip-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--ep-accent,#5b5ef7) 28%,var(--ep-line,#e8eaf0));box-shadow:0 18px 42px rgba(25,29,42,.085)}.ep-home-vip-card.is-recommended{border:2px solid color-mix(in srgb,var(--ep-accent,#5b5ef7) 82%,#fff);background:linear-gradient(180deg,color-mix(in srgb,var(--ep-accent,#5b5ef7) 7%,var(--ep-card,#fff)),var(--ep-card,#fff) 34%)}.ep-home-vip-card.is-current{box-shadow:inset 0 0 0 2px color-mix(in srgb,#10b981 65%,transparent),0 12px 36px rgba(25,29,42,.06)}.ep-home-vip-card__badge,.ep-home-vip-card__current{position:absolute;top:10px;right:12px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850;line-height:1}.ep-home-vip-card__badge{background:linear-gradient(135deg,var(--ep-accent,#5b5ef7),#8b5cf6);color:#fff}.ep-home-vip-card__current{background:#10b981;color:#fff}.ep-home-vip-card.is-recommended.is-current .ep-home-vip-card__current{top:38px}.ep-home-vip-card__head{padding-right:46px}.ep-home-vip-card__head h3{margin:0 0 10px;font-size:20px;line-height:1.2;color:var(--ep-text,#151925)}.ep-home-vip-card__price{display:flex;align-items:flex-end;gap:7px;min-width:0}.ep-home-vip-card__price strong{font-size:clamp(27px,2.4vw,36px);line-height:1;color:var(--ep-text,#151925);letter-spacing:-.04em;overflow-wrap:anywhere}.ep-home-vip-card__price span{padding-bottom:2px;color:var(--ep-muted,#6d7482);font-size:11px}.ep-home-vip-card__quota{display:flex;align-items:baseline;gap:7px;margin-top:16px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--ep-accent,#5b5ef7) 6%,var(--ep-card,#fff))}.ep-home-vip-card__quota b{font-size:20px;color:var(--ep-accent,#5b5ef7)}.ep-home-vip-card__quota span{font-size:11px;color:var(--ep-muted,#6d7482)}.ep-home-vip-card__privileges{display:grid;gap:8px;margin:16px 0 18px;padding:0;list-style:none}.ep-home-vip-card__privileges li{display:flex;gap:7px;align-items:flex-start;color:var(--ep-muted,#6d7482);font-size:12px;line-height:1.48}.ep-home-vip-card__privileges li span{flex:0 0 auto;color:#10b981;font-weight:900}.ep-home-vip-card__gift{margin:-6px 0 14px;color:#b7791f;font-size:11px;font-weight:750}.ep-home-vip-card__button{display:flex;align-items:center;justify-content:center;min-height:40px;margin-top:auto;padding:9px 12px;border-radius:11px;background:var(--ep-accent,#5b5ef7);color:#fff!important;text-decoration:none;font-size:12px;font-weight:850}.ep-home-vip-card:not(.is-recommended) .ep-home-vip-card__button{background:color-mix(in srgb,var(--ep-accent,#5b5ef7) 10%,var(--ep-card,#fff));color:var(--ep-accent,#5b5ef7)!important;border:1px solid color-mix(in srgb,var(--ep-accent,#5b5ef7) 22%,var(--ep-line,#e8eaf0))}.ep-home-vip-card__button:hover{filter:brightness(1.03)}
@media(max-width:1120px){.ep-home-membership__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media(max-width:760px){.ep-home-membership{padding:26px 0 32px}.ep-home-membership__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ep-home-vip-card{padding:18px 16px}.ep-home-vip-card__head{padding-right:32px}}
@media(max-width:480px){.ep-home-membership__grid{grid-template-columns:1fr}.ep-home-membership__head{text-align:left;margin-bottom:16px}}

/* v0.3.55 · type-aware operation controls and safer copy alignment. */
.ep-operation--banner-align-left .ep-operation-banner__copy{text-align:left}
.ep-operation--banner-align-left .ep-operation-banner__copy{align-items:flex-start}
.ep-operation--banner-align-center .ep-operation-banner__copy{text-align:center;align-items:center}
.ep-operation-banner__copy h3[data-ep-operation-banner-title]{font-size:var(--ep-op-title-auto,clamp(16px,4.4cqw,38px));line-height:1.16;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip}
.ep-operation--notice-align-center.ep-operation--notice{justify-content:center;flex-direction:column;text-align:center}
.ep-operation--notice-align-center .ep-operation-notice__copy{justify-items:center;text-align:center;width:100%}
.ep-operation--notice-align-center .ep-operation__button{margin-left:auto;margin-right:auto}
.ep-operation--notice-align-left .ep-operation-notice__copy{justify-items:start;text-align:left}

/* Ratio / height controls are exposed only for image-text style creatives in admin,
   and are made effective here for both direct image+text and internal promotions. */
.ep-operation--image_text.ep-operation--ratio-191 .ep-operation-card-front__media,.ep-operation--internal.ep-operation--ratio-191 .ep-operation-card-front__media{aspect-ratio:1.91/1;height:auto;min-height:0}
.ep-operation--image_text.ep-operation--ratio-169 .ep-operation-card-front__media,.ep-operation--internal.ep-operation--ratio-169 .ep-operation-card-front__media{aspect-ratio:16/9;height:auto;min-height:0}
.ep-operation--image_text.ep-operation--ratio-43 .ep-operation-card-front__media,.ep-operation--internal.ep-operation--ratio-43 .ep-operation-card-front__media{aspect-ratio:4/3;height:auto;min-height:0}
.ep-operation--image_text.ep-operation--ratio-32 .ep-operation-card-front__media,.ep-operation--internal.ep-operation--ratio-32 .ep-operation-card-front__media{aspect-ratio:3/2;height:auto;min-height:0}
.ep-operation--image_text.ep-operation--ratio-11 .ep-operation-card-front__media,.ep-operation--internal.ep-operation--ratio-11 .ep-operation-card-front__media{aspect-ratio:1/1;height:auto;min-height:0}
.ep-operation--image_text.ep-operation--ratio-custom .ep-operation-card-front__media,.ep-operation--internal.ep-operation--ratio-custom .ep-operation-card-front__media{aspect-ratio:auto;height:var(--ep-op-height-desktop,230px)}
.ep-operation--image_text[class*="ep-operation--ratio-"] .ep-operation-card-front__media img,.ep-operation--internal[class*="ep-operation--ratio-"] .ep-operation-card-front__media img{min-height:0;height:100%}
@media(max-width:860px){
  .ep-operation--image_text.ep-operation--ratio-custom .ep-operation-card-front__media,.ep-operation--internal.ep-operation--ratio-custom .ep-operation-card-front__media{height:var(--ep-op-height-mobile,var(--ep-op-height-desktop,220px));max-height:none}
}
.ep-operation--title-small.ep-operation--notice .ep-operation-notice__copy strong{font-size:13px}
.ep-operation--title-large.ep-operation--notice .ep-operation-notice__copy strong{font-size:18px;line-height:1.25}

/* v0.3.56 · fully independent banner geometry and image+text geometry. */
/* A banner set to “follow original image” really follows the source aspect ratio. */
.ep-operation--image_banner.ep-operation--ratio-auto .ep-operation-banner picture,
.ep-operation--image_banner.ep-operation--ratio-auto .ep-operation-banner img{height:auto;max-height:none}

/* Image+text ratios must not be neutralized by CSS Grid's default stretch behavior. */
.ep-operation--image_text:not(.ep-operation--image_background).ep-operation--ratio-191 .ep-operation-card-front__media,
.ep-operation--image_text:not(.ep-operation--image_background).ep-operation--ratio-169 .ep-operation-card-front__media,
.ep-operation--image_text:not(.ep-operation--image_background).ep-operation--ratio-43 .ep-operation-card-front__media,
.ep-operation--image_text:not(.ep-operation--image_background).ep-operation--ratio-32 .ep-operation-card-front__media,
.ep-operation--image_text:not(.ep-operation--image_background).ep-operation--ratio-11 .ep-operation-card-front__media,
.ep-operation--image_text:not(.ep-operation--image_background).ep-operation--ratio-custom .ep-operation-card-front__media{align-self:center;width:100%;max-height:none}

/* When the image itself is the card background, ratio/height controls the whole creative. */
.ep-operation--image_text.ep-operation--image_background.ep-operation--ratio-191 .ep-operation-card-front{aspect-ratio:1.91/1;min-height:0}
.ep-operation--image_text.ep-operation--image_background.ep-operation--ratio-169 .ep-operation-card-front{aspect-ratio:16/9;min-height:0}
.ep-operation--image_text.ep-operation--image_background.ep-operation--ratio-43 .ep-operation-card-front{aspect-ratio:4/3;min-height:0}
.ep-operation--image_text.ep-operation--image_background.ep-operation--ratio-32 .ep-operation-card-front{aspect-ratio:3/2;min-height:0}
.ep-operation--image_text.ep-operation--image_background.ep-operation--ratio-11 .ep-operation-card-front{aspect-ratio:1/1;min-height:0}
.ep-operation--image_text.ep-operation--image_background.ep-operation--ratio-custom .ep-operation-card-front{aspect-ratio:auto;min-height:0;height:var(--ep-op-height-desktop,260px)}
.ep-operation--image_text.ep-operation--image_background .ep-operation-card-front__media{height:100%;max-height:none;align-self:stretch}

/* Internal promotions intentionally use stable defaults; image+text controls no longer leak into them. */
.ep-operation--internal .ep-operation-card-front__media img{object-position:50% 50%}

@media(max-width:860px){
  .ep-operation--image_text.ep-operation--image_background.ep-operation--ratio-custom .ep-operation-card-front{height:var(--ep-op-height-mobile,var(--ep-op-height-desktop,230px))}
}


/* v0.3.57 · simplified, stable operation creatives. */
/* The creative itself is the CTA; no extra “view more” button competes for narrow space. */
.ep-operation-card-front{position:relative}
.ep-operation-card-front__media,.ep-operation-card-front__copy{position:relative;z-index:1}
.ep-operation-card-front__hit,.ep-operation-notice__hit{position:absolute;z-index:4;inset:0;border-radius:inherit}
.ep-operation--notice{position:relative;isolation:isolate}
.ep-operation--notice .ep-operation-notice__copy{position:relative;z-index:1}

/* Image+text uses curated dimensions rather than arbitrary image aspect ratios. */
.ep-operation--image_text .ep-operation-card-front{grid-template-columns:minmax(0,var(--ep-op-media-width,46%)) minmax(0,1fr);min-height:230px}
.ep-operation--image_right.ep-operation--image_text .ep-operation-card-front{grid-template-columns:minmax(0,1fr) minmax(0,var(--ep-op-media-width,46%))}
.ep-operation--image_text .ep-operation-card-front__media{align-self:stretch;width:100%;height:auto;min-height:100%;aspect-ratio:auto!important;max-height:none}
.ep-operation--image_text .ep-operation-card-front__media img{width:100%;height:100%;min-height:100%;object-fit:cover}
.ep-operation--image-text-size-compact.ep-operation--image_text .ep-operation-card-front{min-height:190px}
.ep-operation--image-text-size-standard.ep-operation--image_text .ep-operation-card-front{min-height:230px}
.ep-operation--image-text-size-spacious.ep-operation--image_text .ep-operation-card-front{min-height:290px}
.ep-operation--image-text-size-custom.ep-operation--image_text .ep-operation-card-front{min-height:var(--ep-op-height-desktop,230px)}
.ep-operation--image_text.ep-operation--image_background .ep-operation-card-front{display:block;min-height:230px;aspect-ratio:auto!important}
.ep-operation--image-text-size-compact.ep-operation--image_text.ep-operation--image_background .ep-operation-card-front{min-height:190px}
.ep-operation--image-text-size-standard.ep-operation--image_text.ep-operation--image_background .ep-operation-card-front{min-height:230px}
.ep-operation--image-text-size-spacious.ep-operation--image_text.ep-operation--image_background .ep-operation-card-front{min-height:290px}
.ep-operation--image-text-size-custom.ep-operation--image_text.ep-operation--image_background .ep-operation-card-front{height:var(--ep-op-height-desktop,230px);min-height:0}
.ep-operation--image_text.ep-operation--image_background .ep-operation-card-front__media{position:absolute;inset:0;height:100%;min-height:0}

/* Short banners preserve the full title and progressively reduce lower-priority copy. */
.ep-operation-banner__copy{padding:clamp(12px,2.2vw,30px)}
.ep-operation-banner__copy.is-ep-copy-tight{padding-block:10px}
.ep-operation-banner__copy.is-ep-copy-tight .ep-operation-banner__desc{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin-top:0}
.ep-operation-banner__copy.is-ep-copy-tight .ep-operation-banner__desc p{margin:0}
.ep-operation-banner__copy.is-ep-copy-ultra-tight .ep-operation-banner__desc,.ep-operation-banner__copy.is-ep-copy-ultra-tight .ep-operation__promo{display:none!important}
.ep-operation-banner__copy h3[data-ep-operation-banner-title]{margin:3px 0;line-height:1.12}

/* Native list advertising now uses the exact resource-card surface language. */
/* Do not override the card surface itself: .ep-card and the selected resource-card style own background/border/shadow. */
.ep-card--operation .ep-operation-list-card__media{aspect-ratio:16/10;background:color-mix(in srgb,var(--ep-card) 86%,#e8ebf1)}
.ep-card--operation .ep-operation-list-card__placeholder{background:linear-gradient(135deg,#24283a,var(--ep-accent2));color:#fff}
.ep-card--operation .ep-operation-list-card__body{padding:13px 14px 14px;background:transparent}
.ep-card--operation .ep-operation-list-card__label{padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:var(--ep-muted)!important;font-weight:700!important}
.ep-card--operation .ep-operation__promo{margin:0 0 6px;color:var(--ep-accent)}
.ep-card--operation .ep-operation-list-card__body h3{margin:0 0 8px;font-size:15px;line-height:1.36}
.ep-card--operation .ep-operation-list-card__body p{margin:0;font-size:12px;line-height:1.62;color:var(--ep-muted)}
body.ep-resource-card-style-minimal .ep-card--operation{background:transparent;border:0;box-shadow:none}
body.ep-resource-card-style-minimal .ep-card--operation .ep-operation-list-card__body{padding:10px 1px 2px}
body.ep-resource-card-style-image_max .ep-card--operation .ep-operation-list-card__body p,body.ep-resource-card-style-poster .ep-card--operation .ep-operation-list-card__body p{display:none!important}

@media(max-width:860px){
  .ep-operation--image_text .ep-operation-card-front,.ep-operation--image_right.ep-operation--image_text .ep-operation-card-front{grid-template-columns:1fr}
  .ep-operation--image_text .ep-operation-card-front__media{height:200px;min-height:200px}
  .ep-operation--image-text-size-compact.ep-operation--image_text .ep-operation-card-front__media{height:170px;min-height:170px}
  .ep-operation--image-text-size-spacious.ep-operation--image_text .ep-operation-card-front__media{height:230px;min-height:230px}
  .ep-operation--image-text-size-custom.ep-operation--image_text .ep-operation-card-front__media{height:var(--ep-op-height-mobile,var(--ep-op-height-desktop,200px));min-height:0}
  .ep-operation--image-text-size-custom.ep-operation--image_text.ep-operation--image_background .ep-operation-card-front{height:var(--ep-op-height-mobile,var(--ep-op-height-desktop,210px))}
}
/* Keep in-feed advertising aligned with the selected resource-card media style. */
body.ep-resource-card-style-poster .ep-card--operation .ep-operation-list-card__media{aspect-ratio:3/4}
body.ep-resource-card-style-default .ep-card--operation .ep-operation-list-card__media,
body.ep-resource-card-style-image_max .ep-card--operation .ep-operation-list-card__media,
body.ep-resource-card-style-minimal .ep-card--operation .ep-operation-list-card__media{aspect-ratio:16/10}

/* v0.3.62: fixed homepage banner solid-color mode. */
.ep-banner--mode-color{background:var(--ep-banner-solid,#fff)}
.ep-banner--mode-color .ep-banner__shade{background:transparent}
.ep-banner--mode-color.ep-banner--no-media .ep-banner__shade{background:transparent}
.ep-banner--solid-light .ep-banner__copy{color:#1f2430;text-shadow:none}
.ep-banner--solid-light .ep-banner__copy h1{color:#1f2430}
.ep-banner--solid-light .ep-banner__copy p{color:rgba(31,36,48,.72)}

/* v0.3.62 ordinary article layout: align cover/content to the left and reserve
   the right side for article metadata / future sidebar information. */
@media(min-width:901px){
  .single-post .ep-article-page__inner{width:min(1180px,calc(100% - 32px));margin-left:auto;margin-right:auto}
  .single-post .ep-article-header,
  .single-post .ep-article-featured,
  .single-post .ep-article-main{width:min(820px,100%);max-width:none;margin-left:0;margin-right:auto}
  .single-post .ep-article-featured img{max-height:430px}
}
