/* E-Paper reader + clip page. Everything is scoped under .ep-* so no theme style leaks in or out. */
.ep-app{--ep-a:#c8102e;--ep-ink:#16181d;--ep-mut:#5d6470;--ep-line:#e3e1db;--ep-bg:#e8e5de;--ep-bar:#fff;--ep-soft:#f6f4ef;position:relative;display:flex;flex-direction:column;width:100%;min-height:460px;background:var(--ep-bg);color:var(--ep-ink);font-family:inherit;line-height:1.4;overflow:hidden;box-sizing:border-box;isolation:isolate}
.ep-app *,.ep-app *::before,.ep-app *::after{box-sizing:border-box}
.ep-app button,.ep-app select,.ep-app a{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
.ep-app button{margin:0;border:0;background:none;padding:0;cursor:pointer;text-transform:none;letter-spacing:normal}
.ep-app [hidden]{display:none!important}
.ep-app.ep-fs{position:fixed;inset:0;z-index:2147483000;height:100dvh!important;min-height:0}
html.ep-lock,html.ep-lock body{overflow:hidden}
.ep-ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.ep-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* top bar */
.ep-bar{position:relative;z-index:6;display:flex;align-items:center;gap:6px;flex:none;min-height:54px;padding:6px 10px;background:var(--ep-bar);border-bottom:1px solid var(--ep-line);box-shadow:0 6px 18px -14px rgba(0,0,0,.45)}
.ep-brand{display:flex;align-items:center;gap:10px;min-width:0;margin-right:6px;text-decoration:none!important;color:var(--ep-ink)!important}
.ep-brand img{height:34px;width:auto;max-width:140px;object-fit:contain;display:block}
.ep-brand b{font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.ep-brand i{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--ep-a);color:#fff;padding:2px 7px;border-radius:4px;white-space:nowrap}
.ep-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:40px;height:40px;padding:0 10px;border-radius:10px;font-size:14px;font-weight:600;color:var(--ep-ink);background:transparent;border:1px solid transparent;white-space:nowrap;transition:background .15s,border-color .15s}
.ep-btn:hover{background:var(--ep-soft);border-color:var(--ep-line)}
.ep-btn:focus-visible,.ep-sel:focus-visible,.ep-th:focus-visible,.ep-area:focus-visible,.ep-day:focus-visible{outline:2px solid var(--ep-a);outline-offset:2px}
.ep-btn[aria-pressed="true"],.ep-btn.on{background:color-mix(in srgb,var(--ep-a) 12%,#fff);border-color:color-mix(in srgb,var(--ep-a) 35%,#fff);color:var(--ep-a)}
.ep-btn:disabled{opacity:.35;cursor:default}
.ep-btn.ep-solid{background:var(--ep-a);color:#fff;border-color:var(--ep-a)}
.ep-btn.ep-solid:hover{filter:brightness(1.08);background:var(--ep-a)}
.ep-datebtn{border-color:var(--ep-line);background:var(--ep-soft);font-weight:700}
.ep-sel{height:40px;max-width:210px;min-width:0;padding:0 28px 0 10px;border:1px solid var(--ep-line);border-radius:10px;background:var(--ep-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23555' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center;-webkit-appearance:none;appearance:none;font-size:14px;font-weight:600;color:var(--ep-ink);text-overflow:ellipsis}
.ep-gap{flex:1 1 0;min-width:4px}
.ep-sep{width:1px;height:24px;background:var(--ep-line);margin:0 4px;flex:none}
.ep-grp{display:flex;align-items:center;gap:2px}
.ep-zl{min-width:46px;text-align:center;font-size:13px;font-weight:700;color:var(--ep-mut)}
.ep-mob{display:none!important}

/* menus + popups */
.ep-pop{position:absolute;z-index:20;background:#fff;border:1px solid var(--ep-line);border-radius:14px;box-shadow:0 22px 50px -18px rgba(0,0,0,.45);padding:8px;min-width:210px}
.ep-menu{display:flex;flex-direction:column}
.ep-menu a,.ep-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;border-radius:9px;text-align:left;text-decoration:none!important;font-size:14.5px;font-weight:600;color:var(--ep-ink)!important}
.ep-menu a:hover,.ep-menu button:hover{background:var(--ep-soft)}
.ep-menu a[aria-disabled="true"]{opacity:.4;pointer-events:none}
.ep-menu hr{border:0;border-top:1px solid var(--ep-line);margin:6px 0;width:100%}
.ep-cal{width:300px;padding:12px}
.ep-cal-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.ep-cal-h b{font-size:15px}
.ep-cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.ep-cal-g small{font-size:11.5px;font-weight:700;color:var(--ep-mut);padding:4px 0}
.ep-day{display:grid;place-items:center;height:36px;border-radius:9px;font-size:14px;color:#b4b0a6;text-decoration:none!important;position:relative}
.ep-day.has{color:var(--ep-ink)!important;font-weight:800;background:var(--ep-soft);cursor:pointer}
.ep-day.has:hover{background:color-mix(in srgb,var(--ep-a) 14%,#fff)}
.ep-day.has::after{content:"";position:absolute;bottom:4px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--ep-a)}
.ep-day.cur{background:var(--ep-a);color:#fff!important}
.ep-day.cur::after{background:#fff}
.ep-day.today:not(.cur){outline:1.5px solid var(--ep-line)}
.ep-cal-f{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12.5px;color:var(--ep-mut)}
.ep-share-row{display:flex;flex-wrap:wrap;gap:8px}
.ep-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--ep-line)!important;background:#fff;font-size:14px;font-weight:700;color:var(--ep-ink)!important;text-decoration:none!important;cursor:pointer}
.ep-chip:hover{background:var(--ep-soft)}
.ep-chip.fb{background:#1877f2;border-color:#1877f2!important;color:#fff!important}
.ep-chip.wa{background:#1fa855;border-color:#1fa855!important;color:#fff!important}
.ep-chip.xx{background:#111;border-color:#111!important;color:#fff!important}
.ep-chip.main{background:var(--ep-a);border-color:var(--ep-a)!important;color:#fff!important}

/* body */
.ep-main{position:relative;flex:1 1 auto;min-height:0;display:flex}
.ep-rail{flex:none;width:112px;overflow-y:auto;overflow-x:hidden;background:var(--ep-bar);border-right:1px solid var(--ep-line);padding:10px 8px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;overscroll-behavior:contain}
.ep-th{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px;border-radius:9px;border:2px solid transparent;background:transparent;text-align:center}
.ep-th img{display:block;width:100%;height:auto;background:#fff;box-shadow:0 2px 8px -3px rgba(0,0,0,.4);aspect-ratio:var(--r,.7071)}
.ep-th span{font-size:11.5px;font-weight:700;color:var(--ep-mut);line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ep-th:hover{background:var(--ep-soft)}
.ep-th[aria-current="true"]{border-color:var(--ep-a);background:color-mix(in srgb,var(--ep-a) 8%,#fff)}
.ep-th[aria-current="true"] span{color:var(--ep-a)}
.ep-stage{position:relative;flex:1 1 auto;min-width:0;overflow:hidden;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;outline:none;background:radial-gradient(ellipse at 50% 30%,#efece5 0,var(--ep-bg) 70%)}
.ep-stage.ep-drag{cursor:grabbing}
.ep-sheet{position:absolute;left:0;top:0;transform-origin:0 0;display:flex;align-items:flex-start;will-change:transform}
.ep-sheet.ep-anim{transition:transform .24s cubic-bezier(.2,.7,.2,1)}
.ep-pg{position:relative;flex:none;background:#fff;box-shadow:0 10px 40px -12px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.06)}
.ep-pg+.ep-pg{margin-left:6px}
.ep-pg img{display:block;width:100%;height:100%;-webkit-user-drag:none;user-select:none;pointer-events:none}
.ep-pg.ep-in{animation:ep-in .22s ease-out both}
@keyframes ep-in{from{opacity:.0}to{opacity:1}}
.ep-area{position:absolute;display:block;padding:0;margin:0;border:0;background:transparent;border-radius:2px;cursor:pointer;transition:background .12s,box-shadow .12s}
.ep-area:hover,.ep-area:focus-visible{background:color-mix(in srgb,var(--ep-a) 14%,transparent);box-shadow:0 0 0 calc(2px / var(--ep-s,1)) color-mix(in srgb,var(--ep-a) 70%,transparent)}
.ep-hl .ep-area{box-shadow:0 0 0 calc(1.5px / var(--ep-s,1)) color-mix(in srgb,var(--ep-a) 60%,transparent);background:color-mix(in srgb,var(--ep-a) 6%,transparent)}
.ep-flash .ep-area{animation:ep-flash 1.1s ease-out 1}
@keyframes ep-flash{0%{background:color-mix(in srgb,var(--ep-a) 28%,transparent)}100%{background:transparent}}
.ep-stage .ep-nav{position:absolute;top:50%;z-index:3;width:44px;height:64px;margin-top:-32px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.88);box-shadow:0 6px 20px -8px rgba(0,0,0,.5);color:var(--ep-ink);opacity:.0;transition:opacity .18s}
.ep-stage:hover .ep-nav{opacity:1}
.ep-stage .ep-nav:disabled{display:none}
.ep-nav.l{left:10px}.ep-nav.r{right:10px}
.ep-hint{position:absolute;left:50%;bottom:76px;z-index:7;transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:max-content;max-width:min(92%,460px);padding:10px 12px 10px 16px;border-radius:14px;background:#16181d;color:#fff;font-size:14px;font-weight:600;box-shadow:0 14px 36px -10px rgba(0,0,0,.6)}
.ep-hint button{flex:none;height:32px;padding:0 12px;border-radius:9px;background:var(--ep-a);color:#fff;font-weight:700;font-size:13px}
.ep-toast{position:absolute;left:50%;top:70px;z-index:40;transform:translateX(-50%);padding:9px 16px;border-radius:999px;background:#16181d;color:#fff;font-size:14px;font-weight:600;box-shadow:0 10px 30px -10px rgba(0,0,0,.6)}

/* mobile bottom bar + page tray */
.ep-bot{display:none;flex:none;align-items:center;gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--ep-bar);border-top:1px solid var(--ep-line);z-index:6}
.ep-bot .ep-sel{flex:1 1 auto;text-align:center;max-width:none}
.ep-tray{display:none;flex:none;gap:10px;overflow-x:auto;padding:10px 12px;background:var(--ep-bar);border-top:1px solid var(--ep-line);scrollbar-width:thin;overscroll-behavior:contain;z-index:6}
.ep-tray .ep-th{flex:0 0 76px}

/* clip modal */
.ep-modal{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:14px}
.ep-mback{position:absolute;inset:0;background:rgba(10,12,16,.62);backdrop-filter:blur(3px)}
.ep-mcard{position:relative;display:flex;flex-direction:column;width:min(940px,100%);max-height:100%;background:#fff;border-radius:18px;box-shadow:0 40px 90px -20px rgba(0,0,0,.7);overflow:hidden;animation:ep-pop .2s ease-out both}
@keyframes ep-pop{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.ep-mh{display:flex;align-items:flex-start;gap:10px;padding:14px 14px 10px 18px;border-bottom:1px solid var(--ep-line)}
.ep-mh h2{flex:1 1 auto;margin:0;font-size:clamp(17px,2.4vw,22px);line-height:1.35;font-weight:800;color:var(--ep-ink);text-wrap:balance}
.ep-mh small{display:block;margin-top:2px;font-size:12.5px;font-weight:600;color:var(--ep-mut)}
.ep-mimg{position:relative;flex:1 1 auto;min-height:0;display:flex;background:var(--ep-soft)}
.ep-mscroll{flex:1 1 auto;min-width:0;overflow:auto;padding:14px;text-align:center;overscroll-behavior:contain;max-height:calc(100dvh - 300px);min-height:160px}
.ep-mscroll img,.ep-mscroll .ep-crop{display:inline-block;max-width:none;width:100%;height:auto;background:#fff;box-shadow:0 6px 24px -10px rgba(0,0,0,.4);cursor:zoom-in;vertical-align:top}
.ep-mscroll.z1 img,.ep-mscroll.z1 .ep-crop{width:170%;cursor:zoom-in}
.ep-mscroll.z2 img,.ep-mscroll.z2 .ep-crop{width:280%;cursor:zoom-out}
.ep-crop{background-repeat:no-repeat;background-color:#fff}
.ep-mnav{position:absolute;top:50%;z-index:2;width:40px;height:56px;margin-top:-28px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.92);box-shadow:0 6px 18px -8px rgba(0,0,0,.5)}
.ep-mnav.l{left:8px}.ep-mnav.r{right:8px}
.ep-mnav:disabled{display:none}
.ep-mz{position:absolute;right:12px;bottom:10px;z-index:2;display:flex;gap:4px;padding:3px;border-radius:11px;background:rgba(255,255,255,.94);box-shadow:0 6px 18px -8px rgba(0,0,0,.5)}
.ep-mf{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--ep-line);background:#fff}
.ep-mf .ep-share-row{flex:1 1 auto}

/* states: empty / members */
.ep-state{margin:auto;max-width:440px;text-align:center;padding:48px 22px}
.ep-state .ep-art{width:92px;height:116px;margin:0 auto 22px;border-radius:6px;background:#fff;box-shadow:0 14px 34px -14px rgba(0,0,0,.5);position:relative;transform:rotate(-4deg)}
.ep-state .ep-art::before{content:"";position:absolute;left:12px;right:12px;top:14px;height:14px;background:var(--ep-a);border-radius:2px}
.ep-state .ep-art::after{content:"";position:absolute;left:12px;right:12px;top:40px;bottom:14px;background:repeating-linear-gradient(#cfcbc2 0 3px,transparent 3px 9px);border-radius:2px}
.ep-state h1{margin:0 0 8px;font-size:clamp(22px,3.4vw,28px);font-weight:800;color:var(--ep-ink)}
.ep-state p{margin:0 0 20px;color:var(--ep-mut);font-size:16px}
.ep-state .ep-chip{min-height:46px;padding:0 24px;font-size:15.5px}
.ep-noscript{padding:20px;background:#fff}
.ep-noscript a{display:inline-block;margin:4px 8px 4px 0}

/* clip share page */
.ep-clip{max-width:980px;margin:0 auto;padding:26px 16px 64px;color:var(--ep-ink,#16181d)}
.ep-clip{--ep-a:#c8102e;--ep-ink:#16181d;--ep-mut:#5d6470;--ep-line:#e3e1db;--ep-soft:#f6f4ef}
.ep-clip *{box-sizing:border-box}
.ep-crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:13.5px;color:var(--ep-mut);margin-bottom:14px}
.ep-crumbs a{color:var(--ep-mut);text-decoration:none}.ep-crumbs a:hover{text-decoration:underline}
.ep-clip h1{margin:0 0 6px;font-size:clamp(23px,4vw,34px);line-height:1.3;font-weight:800;text-wrap:balance}
.ep-clip .ep-meta{margin:0 0 18px;color:var(--ep-mut);font-size:14.5px;font-weight:600}
.ep-clip .ep-fig{margin:0 0 18px;text-align:center;background:var(--ep-soft);border:1px solid var(--ep-line);border-radius:16px;padding:14px}
.ep-clip .ep-fig img{display:inline-block;max-width:100%;height:auto;background:#fff;box-shadow:0 8px 28px -12px rgba(0,0,0,.45)}
.ep-clip .ep-acts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.ep-clip h2{font-size:19px;font-weight:800;margin:26px 0 12px}
.ep-more{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.ep-more a{display:flex;flex-direction:column;gap:6px;text-decoration:none!important;color:var(--ep-ink)!important;border:1px solid var(--ep-line);border-radius:12px;padding:8px;background:#fff}
.ep-more a:hover{box-shadow:0 10px 24px -16px rgba(0,0,0,.5)}
.ep-more img{width:100%;height:110px;object-fit:contain;background:var(--ep-soft);border-radius:8px}
.ep-more span{font-size:13.5px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ep-clip .ep-chip{border:1px solid var(--ep-line)}

/* narrow screens: native feel */
@media (max-width:860px){
  .ep-rail{display:none}
  .ep-desk{display:none!important}
  .ep-mob{display:inline-flex!important}
  .ep-bot{display:flex}
  .ep-tray.open{display:flex}
  .ep-brand b,.ep-brand i{display:none}
  .ep-brand img{height:30px;max-width:96px}
  .ep-bar{padding:6px 8px;gap:4px;min-height:52px}
  .ep-bar .ep-sel{max-width:130px}
  .ep-stage .ep-nav{display:none}
  .ep-hint{bottom:14px}
  .ep-modal{padding:0;align-items:flex-end}
  .ep-mcard{width:100%;max-height:96%;border-radius:18px 18px 0 0;animation:ep-up .24s ease-out both}
  @keyframes ep-up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
  .ep-mscroll{max-height:none;padding:10px}
  .ep-mnav{display:none}
  .ep-mf{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
  .ep-pop.ep-cal{position:fixed;left:8px;right:8px;top:auto;bottom:8px;width:auto;max-width:420px;margin:0 auto}
  .ep-toast{top:62px}
}
@media (min-width:861px) and (max-width:1180px){
  .ep-zl,.ep-brand b{display:none}
}
@media (prefers-reduced-motion:reduce){
  .ep-sheet.ep-anim{transition:none}
  .ep-pg.ep-in,.ep-flash .ep-area,.ep-mcard{animation:none}
  .ep-area,.ep-btn,.ep-stage .ep-nav{transition:none}
}
@media print{.ep-bar,.ep-rail,.ep-bot,.ep-tray,.ep-hint{display:none!important}}

/* ───────── modes, book flip, slide, scroll ───────── */
.ep-seg{display:inline-flex;padding:3px;border-radius:11px;background:var(--ep-soft);border:1px solid var(--ep-line);gap:2px}
.ep-seg .ep-btn{height:32px;min-width:0;padding:0 10px;font-size:13px;border-radius:8px}
.ep-seg .ep-btn[aria-pressed="true"]{background:#fff;border-color:var(--ep-line);color:var(--ep-a);box-shadow:0 2px 6px -3px rgba(0,0,0,.4)}
.ep-spreadbtn{display:none}
.ep-app[data-epmode="flip"] .ep-spreadbtn{display:none}
@media (min-width:1100px){.ep-app[data-epmode="flip"] .ep-spreadbtn.ep-desk{display:inline-flex}}
.ep-app:not([data-mode="flip"]) .ep-flipOnly,.ep-app[data-epmode="slide"] .ep-zoomgrp{display:none!important}
.ep-sheet.ep-fl{display:block}
.ep-sheet.ep-fl .ep-pg{box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.ep-leaf{position:absolute;top:0;transform-origin:0 50%;transform-style:preserve-3d;will-change:transform}
.ep-lf,.ep-lb{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.ep-lb{transform:rotateY(180deg)}
.ep-lf .ep-pg,.ep-lb .ep-pg{position:absolute;left:0;top:0;margin:0}
.ep-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,0) 65%);opacity:0}
.ep-lb .ep-shade{background:linear-gradient(270deg,rgba(0,0,0,.55),rgba(0,0,0,0) 65%)}
.ep-paperback{position:absolute;inset:0;background:linear-gradient(90deg,#ddd8cb,#f1ede2 40%,#e6e1d4)}
.ep-cast{position:absolute;top:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,0) 55%);opacity:0}
.ep-slide,.ep-scroll{position:relative;flex:1 1 auto;min-width:0;min-height:0;background:radial-gradient(ellipse at 50% 30%,#efece5 0,var(--ep-bg) 70%)}
.ep-slide{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pinch-zoom;scrollbar-width:none}
.ep-slide::-webkit-scrollbar{display:none}
.ep-track{display:flex;height:100%;width:max-content;min-width:100%}
.ep-sl{flex:0 0 100vw;width:100%;height:100%;scroll-snap-align:center;scroll-snap-stop:always;display:grid;place-items:center}
.ep-slide .ep-track{width:auto}
.ep-slide .ep-sl{flex:0 0 100%;min-width:100%}
.ep-scroll{overflow-y:auto;overflow-x:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;scroll-behavior:auto;padding:10px 0 40px}
.ep-col{margin:0 auto;display:flex;flex-direction:column;gap:14px}
.ep-sc{position:relative;width:100%;background:#fff;box-shadow:0 8px 28px -14px rgba(0,0,0,.5)}
.ep-sc .ep-pg{box-shadow:none;width:100%}
.ep-slide .ep-pg,.ep-scroll .ep-pg{touch-action:auto}
.ep-area.ep-pulse{animation:ep-pulse 1.1s ease-in-out 2;background:color-mix(in srgb,var(--ep-a) 22%,transparent);box-shadow:0 0 0 calc(3px / var(--ep-s,1)) var(--ep-a)}
@keyframes ep-pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ───────── magnifier ───────── */
.ep-lens{position:absolute;z-index:30;width:180px;height:180px;border-radius:50%;pointer-events:none;border:3px solid #fff;box-shadow:0 0 0 2px var(--ep-a),0 18px 40px -8px rgba(0,0,0,.6);background-color:#fff;background-repeat:no-repeat}
.ep-lenson .ep-stage,.ep-lenson .ep-slide,.ep-lenson .ep-scroll{cursor:none}
.ep-lenson .ep-area:hover{background:transparent;box-shadow:none}
@media (hover:none){.ep-lenstog{display:none!important}}

/* ───────── side panel (contents / search / saved) ───────── */
.ep-side{position:absolute;top:0;right:0;bottom:0;z-index:12;width:min(360px,92%);display:flex;flex-direction:column;background:var(--ep-bar);border-left:1px solid var(--ep-line);box-shadow:-18px 0 44px -22px rgba(0,0,0,.5);animation:ep-slidein .22s ease-out both}
@keyframes ep-slidein{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.ep-sh{display:flex;align-items:center;gap:6px;padding:8px 8px 8px 10px;border-bottom:1px solid var(--ep-line)}
.ep-tabs{display:flex;gap:2px;flex:1;min-width:0}
.ep-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1;height:38px;border-radius:9px;font-size:13.5px;font-weight:700;color:var(--ep-mut);white-space:nowrap}
.ep-tab[aria-selected="true"]{background:color-mix(in srgb,var(--ep-a) 12%,var(--ep-bar));color:var(--ep-a)}
.ep-tab .ep-ic{width:17px;height:17px}
.ep-sb{flex:1 1 auto;overflow-y:auto;padding:10px;overscroll-behavior:contain}
.ep-toc{margin-bottom:12px;border:1px solid var(--ep-line);border-radius:12px;overflow:hidden;background:var(--ep-soft)}
.ep-toc-h{display:flex;align-items:center;gap:10px;width:100%;padding:8px;text-align:left;font-size:14px;font-weight:700;color:var(--ep-ink)}
.ep-toc-h img{width:44px;height:auto;border-radius:3px;box-shadow:0 2px 6px -2px rgba(0,0,0,.5);background:#fff}
.ep-toc-h b{color:var(--ep-a);margin-right:4px}
.ep-toc ul{list-style:none;margin:0;padding:0 8px 8px}
.ep-toc li button{display:block;width:100%;text-align:left;padding:7px 8px;border-radius:8px;font-size:13.5px;line-height:1.4;color:var(--ep-ink)}
.ep-toc li button:hover{background:var(--ep-bar)}
.ep-sbox{display:flex;align-items:center;gap:8px;padding:0 12px;height:46px;border:1px solid var(--ep-line);border-radius:12px;background:var(--ep-soft);margin-bottom:10px}
.ep-sbox input{flex:1;min-width:0;height:100%;border:0;background:transparent;font-size:16px;color:var(--ep-ink);outline:none}
.ep-res{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--ep-line);margin-bottom:8px;background:var(--ep-bar)}
.ep-res:hover{background:var(--ep-soft)}
.ep-res em{font-style:normal;font-size:12px;font-weight:800;color:var(--ep-a)}
.ep-res span{font-size:14.5px;font-weight:600;color:var(--ep-ink);line-height:1.4}
.ep-empty{color:var(--ep-mut);font-size:14.5px;text-align:center;padding:24px 8px;margin:0}
.ep-bmrow{display:flex;align-items:center;gap:4px;border:1px solid var(--ep-line);border-radius:12px;margin-bottom:8px;background:var(--ep-soft)}
.ep-bmrow a{flex:1;min-width:0;padding:10px 12px;text-decoration:none!important;color:var(--ep-ink)!important;display:block}
.ep-bmrow b{display:block;font-size:14.5px;line-height:1.35}
.ep-bmrow small{color:var(--ep-mut);font-size:12.5px}
.ep-msec{padding:6px 12px 4px;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ep-mut)}
.ep-menu .ep-share-row{padding:2px 8px 6px}
.ep-chip.sm{min-height:34px;padding:0 12px;font-size:13px}
.ep-chip[aria-pressed="true"]{background:color-mix(in srgb,var(--ep-a) 14%,var(--ep-bar));border-color:var(--ep-a)!important;color:var(--ep-a)!important}
.ep-menu button[aria-pressed="true"]{background:color-mix(in srgb,var(--ep-a) 10%,var(--ep-bar))}
.ep-hint small{display:block;opacity:.75;font-weight:500;margin-top:2px}
.ep-hint .ep-x{width:30px;padding:0;background:transparent}

/* ───────── clip modal: text view, read aloud ───────── */
.ep-mscroll.ep-istxt{text-align:left;cursor:auto}
.ep-txt{max-width:680px;margin:0 auto;padding:6px 6px 40px;font-size:var(--ep-fs,18px);line-height:1.75;color:var(--ep-ink);font-family:"Noto Serif Bengali","Hind Siliguri",Georgia,serif}
.ep-txt h3{font-size:1.25em;line-height:1.4;margin:0 0 .6em}
.ep-txt p{margin:0 0 1em}
.ep-tts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;background:color-mix(in srgb,var(--ep-a) 8%,var(--ep-bar));border-top:1px solid var(--ep-line)}
.ep-tts .ep-btn{height:36px}
.ep-spd{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--ep-mut)}
.ep-spd select{height:34px;border:1px solid var(--ep-line);border-radius:8px;background:var(--ep-bar);color:var(--ep-ink);font-size:13.5px;padding:0 6px}
.ep-prog{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--ep-mut)}
.ep-note{flex:1 1 100%;color:var(--ep-mut);font-size:12.5px}
.ep-mh .ep-btn[aria-pressed="true"]{color:var(--ep-a)}
.ep-mh .ep-btn[aria-pressed="true"] .ep-ic{fill:currentColor}
.ep-app [data-act="bm"][aria-pressed="true"] .ep-ic{fill:currentColor}

/* ───────── slideshow pill, help ───────── */
.ep-ap{position:absolute;left:50%;bottom:18px;z-index:45;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:8px 8px 8px 16px;border-radius:999px;background:#16181d;color:#fff;font-size:13.5px;font-weight:700;overflow:hidden;box-shadow:0 14px 36px -10px rgba(0,0,0,.6)}
.ep-ap>span:not(.ep-apbar){display:inline-flex;align-items:center;gap:6px;position:relative}
.ep-ap button{position:relative;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-weight:700}
.ep-apbar{position:absolute;left:0;bottom:0;height:3px;width:var(--w,0%);background:var(--ep-a);transition:width 1s linear}
.ep-help{position:absolute;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:14px}
.ep-hcard{position:relative;width:min(460px,100%);max-height:100%;overflow:auto;background:var(--ep-bar);border-radius:18px;box-shadow:0 40px 90px -20px rgba(0,0,0,.7)}
.ep-hcard h2{margin:0;font-size:18px;font-weight:800;flex:1}
.ep-hcard dl{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;margin:0;padding:16px 18px 20px;align-items:center}
.ep-hcard dt{white-space:nowrap}
.ep-hcard dd{margin:0;font-size:14.5px;font-weight:600;color:var(--ep-ink)}
.ep-hcard kbd{display:inline-block;min-width:26px;padding:3px 8px;border-radius:7px;border:1px solid var(--ep-line);border-bottom-width:2px;background:var(--ep-soft);font:700 12.5px/1.3 ui-monospace,Consolas,monospace;text-align:center;color:var(--ep-ink)}

/* ───────── reading light ───────── */
.ep-app[data-eplight="sepia"]{--ep-bg:#e6d9bd;--ep-bar:#f6efdc;--ep-soft:#eee3c8;--ep-line:#d9c9a3;--ep-ink:#3b2f1c;--ep-mut:#7a6845}
.ep-app[data-eplight="sepia"] .ep-pg img,.ep-app[data-eplight="sepia"] .ep-th img{filter:sepia(.38) saturate(.92) brightness(.98)}
.ep-app[data-eplight="night"]{--ep-bg:#0f1115;--ep-bar:#181b21;--ep-soft:#21252d;--ep-line:#2c313b;--ep-ink:#e6e8ec;--ep-mut:#9aa1ad}
.ep-app[data-eplight="night"] .ep-stage,.ep-app[data-eplight="night"] .ep-slide,.ep-app[data-eplight="night"] .ep-scroll{background:#0b0c0f}
.ep-app[data-eplight="night"] .ep-pg img,.ep-app[data-eplight="night"] .ep-th img,.ep-app[data-eplight="night"] .ep-mscroll img,.ep-app[data-eplight="night"] .ep-toc-h img{filter:brightness(.74) contrast(.96) sepia(.1)}
.ep-app[data-eplight="night"] .ep-pg,.ep-app[data-eplight="night"] .ep-sc{background:#1a1a1a;box-shadow:0 10px 40px -12px rgba(0,0,0,.9)}
.ep-app[data-eplight="night"] .ep-pop,.ep-app[data-eplight="night"] .ep-mcard,.ep-app[data-eplight="night"] .ep-hcard{background:var(--ep-bar);color:var(--ep-ink)}
.ep-app[data-eplight="night"] .ep-btn[aria-pressed="true"],.ep-app[data-eplight="night"] .ep-btn.on{background:color-mix(in srgb,var(--ep-a) 28%,#181b21)}
.ep-app[data-eplight="night"] .ep-seg .ep-btn[aria-pressed="true"]{background:#2c313b}
.ep-app[data-eplight="night"] .ep-chip{background:var(--ep-soft);color:var(--ep-ink)!important}
.ep-app[data-eplight="night"] .ep-chip.fb,.ep-app[data-eplight="night"] .ep-chip.wa,.ep-app[data-eplight="night"] .ep-chip.xx,.ep-app[data-eplight="night"] .ep-chip.main{color:#fff!important}
.ep-app[data-eplight="night"] .ep-mf,.ep-app[data-eplight="night"] .ep-mscroll,.ep-app[data-eplight="night"] .ep-mimg{background:var(--ep-bar)}
.ep-app[data-eplight="night"] .ep-sel{color-scheme:dark}
.ep-app[data-eplight="night"] .ep-mh h2{color:var(--ep-ink)}
.ep-app[data-eplight="night"] .ep-mz,.ep-app[data-eplight="night"] .ep-mnav,.ep-app[data-eplight="night"] .ep-stage .ep-nav{background:rgba(30,33,40,.94);color:var(--ep-ink)}
.ep-app[data-eplight="night"] .ep-day.has{background:var(--ep-soft)}
.ep-app[data-eplight="night"] .ep-brand b{color:var(--ep-ink)}
.ep-app[data-eplight="night"] .ep-brand{color:var(--ep-ink)!important}

@media (max-width:860px){
  .ep-side{width:100%;border-left:0;top:auto;height:78%;border-top:1px solid var(--ep-line);border-radius:18px 18px 0 0;animation:ep-up .24s ease-out both}
  .ep-bar{overflow-x:auto;scrollbar-width:none}
  .ep-bar::-webkit-scrollbar{display:none}
  .ep-datebtn{max-width:44vw}
  .ep-datebtn span{overflow:hidden;text-overflow:ellipsis}
  .ep-ap{bottom:70px}
  .ep-tab span{display:none}
  .ep-lens{display:none}
}
@media (max-width:1320px){.ep-xl{display:none!important}}
@media (prefers-reduced-motion:reduce){.ep-side,.ep-area.ep-pulse{animation:none}.ep-apbar{transition:none}}

/* ───────── top bar fit (logo size, no overlap) ───────── */
.ep-app .ep-bar{flex-wrap:nowrap;overflow:hidden}
.ep-app .ep-brand{flex:0 0 auto}
.ep-app .ep-brand img{height:34px!important;width:auto!important;max-height:34px!important;max-width:130px!important}
.ep-app .ep-datebtn,.ep-app .ep-seg,.ep-app .ep-grp,.ep-app .ep-bar>.ep-btn{flex:0 0 auto}
.ep-app .ep-datebtn{max-width:230px}
.ep-app .ep-datebtn span{overflow:hidden;text-overflow:ellipsis}
.ep-app .ep-gap{flex:1 1 0;min-width:0}
.ep-menupop{min-width:230px;max-width:calc(100% - 16px)}
.ep-menupop .ep-menu{display:flex;flex-direction:column}
@media (max-width:1380px){.ep-app .ep-brand i{display:none}.ep-app .ep-wd{display:none!important}}
@media (max-width:1180px){.ep-app .ep-bar .ep-pgsel.ep-desk{display:none!important}.ep-app .ep-zl{display:none}.ep-app .ep-sep{display:none}}
@media (max-width:1040px){.ep-app .ep-zoomgrp .ep-btn[data-act="fit"]{display:none}}

@media (max-width:860px){
  .ep-app .ep-brand{display:none}
  .ep-app .ep-bar{overflow:hidden;gap:2px;padding:6px 6px}
  .ep-app .ep-datebtn{flex:1 1 auto;min-width:0;max-width:none;padding:0 8px;justify-content:flex-start}
  .ep-app .ep-datebtn span{white-space:nowrap}
  .ep-app .ep-gap{display:none}
  .ep-app .ep-bar .ep-edsel{max-width:92px;flex:0 1 92px}
  .ep-app .ep-bar>.ep-btn,.ep-app .ep-bar .ep-grp .ep-btn{min-width:38px;padding:0 6px}
  .ep-app .ep-bot .ep-pgsel{flex:1 1 auto;max-width:none}
}
