.reader-page{--reader-accent:#5da8ff;--reader-accent-dark:#1d4ed8;background:#f3f7fc;color:#0f172a}
.reader-page [hidden]{display:none!important}
.reader-page--certificate{--reader-accent:#e5c779;--reader-accent-dark:#a87922}
.reader-intro{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 85% 0%,rgba(74,130,214,.35),transparent 33%),radial-gradient(circle at 15% 100%,rgba(33,89,177,.25),transparent 34%),linear-gradient(135deg,#0a1730 0%,#102746 60%,#122d55 100%);color:#fff}
.reader-page--certificate .reader-intro{background:radial-gradient(circle at 85% 0%,rgba(181,133,49,.3),transparent 34%),linear-gradient(135deg,#0a1730 0%,#192844 100%)}
.reader-intro:before{content:"";position:absolute;inset:0;opacity:.18;pointer-events:none;background-image:linear-gradient(90deg,transparent 98%,rgba(255,255,255,.12) 99%),linear-gradient(transparent 98%,rgba(255,255,255,.12) 99%);background-size:44px 44px}
.reader-intro__inner{position:relative;max-width:1280px;margin:auto;padding:34px 28px 60px}
.reader-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;color:#afc3e0;margin-bottom:38px}
.reader-breadcrumb a{color:#c9d9f0;text-decoration:none}.reader-breadcrumb a:hover{color:#fff}.reader-breadcrumb span[aria-current]{color:#fff}
.reader-intro__grid{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:45px;max-width:1100px}
.reader-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#dce9ff;margin-bottom:16px}
.reader-eyebrow__dot{width:7px;height:7px;border-radius:50%;background:var(--reader-accent);box-shadow:0 0 16px var(--reader-accent)}
.reader-intro h1{font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.13;letter-spacing:-.04em;font-weight:750;max-width:760px;margin:0 0 16px}
.reader-intro p{max-width:650px;color:#c8d7ea;font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.7}
.reader-intro__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.reader-intro__actions a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 19px;border-radius:11px;font-weight:700;font-size:13px;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s}
.reader-intro__actions a:hover{transform:translateY(-2px)}
.reader-intro__primary{background:#fff;color:#10305b;box-shadow:0 8px 28px rgba(2,12,30,.16)}
.reader-intro__primary:hover{background:#eaf3ff}
.reader-intro__secondary{color:#eaf3ff;border:1px solid rgba(213,231,255,.3);background:rgba(255,255,255,.06)}
.reader-intro__secondary:hover{background:rgba(255,255,255,.13)}
.reader-intro__cover{width:180px;height:214px;margin:auto;display:grid;place-items:center;padding:12px;background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.22);border-radius:16px;transform:rotate(6deg);box-shadow:20px 24px 35px rgba(2,10,26,.32)}
.reader-intro__cover img{width:100%;height:100%;object-fit:contain;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.reader-section{max-width:1330px;margin:-25px auto 0;padding:0 20px 62px;position:relative;z-index:2}
.reader-shell{overflow:hidden;border-radius:22px;background:#fff;border:1px solid #dbe5f0;box-shadow:0 25px 70px rgba(15,38,75,.14),0 2px 10px rgba(15,38,75,.05)}
.reader-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 21px;background:#fff;border-bottom:1px solid #e6edf5}
.reader-toolbar__identity{min-width:0;display:flex;align-items:center;gap:12px}
.reader-toolbar__identity>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.reader-toolbar__identity strong{display:block;max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#152842}
.reader-toolbar__identity span:not(.reader-toolbar__icon){font-size:11px;color:#7890aa}
.reader-toolbar__icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:10px;background:#e9f2ff;color:#1d4ed8}
.reader-page--certificate .reader-toolbar__icon{background:#fff6df;color:#a87922}
.reader-toolbar__tools{display:flex;align-items:center;gap:5px;flex:none}
.reader-tool{width:35px;height:35px;border:0;border-radius:9px;display:grid;place-items:center;background:transparent;color:#39506d;cursor:pointer;transition:background .15s,color .15s}
.reader-tool:hover{background:#eaf2ff;color:#1d4ed8}.reader-tool:disabled{opacity:.35;cursor:not-allowed}
.reader-tool--link{text-decoration:none}.reader-toolbar__divider{width:1px;height:22px;background:#dce5ee;margin:0 6px}
.reader-zoom{min-width:43px;text-align:center;font-size:12px;font-weight:800;color:#233e60;font-variant-numeric:tabular-nums}
.reader-actionbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:#f8fbff;border-bottom:1px solid #dfe9f5}
.reader-actionbar a,.reader-actionbar button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:38px;padding:9px 15px;border-radius:10px;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}
.reader-actionbar a:hover,.reader-actionbar button:hover{transform:translateY(-1px)}
.reader-actionbar button:disabled{opacity:.55;cursor:wait;transform:none}
.reader-actionbar__back{border:1px solid #d6e3f2;background:#fff;color:#27466b}
.reader-actionbar__back:hover{background:#edf5ff}
.reader-actionbar__fullscreen{border:1px solid #184f9d;background:#1959ad;color:#fff;box-shadow:0 4px 13px rgba(29,78,216,.16)}
.reader-actionbar__fullscreen:hover{background:#114789;box-shadow:0 6px 17px rgba(29,78,216,.25)}
.reader-actionbar__short-label{display:none}
.reader-stage{position:relative;height:min(68vh,720px);min-height:440px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#243f62 0%,#142842 58%,#0e2039 100%)}
.reader-stage:focus-visible{outline:3px solid #65a9ff;outline-offset:-3px}
.reader-stage__glow{position:absolute;inset:8% 14%;pointer-events:none;background:radial-gradient(ellipse,rgba(170,206,255,.13),transparent 68%)}
.reader-stage__scroll{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;scrollbar-color:#7794b6 transparent;-webkit-overflow-scrolling:touch}
.reader-stage.can-pan .reader-stage__scroll,.reader-book:not(.is-closed):not(.is-ended) .reader-paper{cursor:grab}
.reader-stage.is-panning .reader-stage__scroll,.reader-stage.is-panning .reader-paper,.reader-stage.is-page-dragging .reader-paper{cursor:grabbing!important}
.reader-stage__canvas{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:100%;min-height:100%;padding:28px}
.reader-book{position:relative;display:flex;flex:none;visibility:hidden;perspective:2200px;filter:drop-shadow(0 22px 26px rgba(1,10,29,.4));user-select:none;-webkit-user-select:none}
.reader-book.is-ready{visibility:visible}
.reader-paper{position:relative;display:flex;align-items:center;justify-content:center;width:50%;height:100%;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)}
.reader-paper--left{border-radius:4px 0 0 4px}.reader-paper--right{border-radius:0 4px 4px 0}
.reader-paper--left:after,.reader-paper--right:after{content:"";position:absolute;top:0;bottom:0;width:20px;pointer-events:none;z-index:2}
.reader-paper--left:after{right:0;background:linear-gradient(90deg,transparent,rgba(11,28,48,.11))}
.reader-paper--right:after{left:0;background:linear-gradient(90deg,rgba(11,28,48,.13),transparent)}
.reader-paper canvas{display:block;max-width:100%;max-height:100%}
.reader-paper.is-blank{background:linear-gradient(120deg,#edf2f7,#f9fbfd 70%)}
.reader-paper.is-blank canvas{display:none}
.reader-book__spine{position:absolute;z-index:5;left:50%;top:0;bottom:0;width:6px;transform:translateX(-50%);pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.16),rgba(255,255,255,.08) 48%,rgba(0,0,0,.16))}
.reader-book.is-single .reader-paper--left,.reader-book.is-single .reader-book__spine{display:none}
.reader-book.is-single .reader-paper--right{width:100%;border-radius:4px}
.reader-book.is-single .reader-paper--right:after{display:none}
.reader-book.is-closed{transform:translateX(-25%)}
.reader-book.is-closed .reader-paper{visibility:hidden}
.reader-cover,.reader-end-cover{display:none;position:absolute;z-index:12;left:50%;top:0;width:50%;height:100%;transform-origin:left center;transform-style:preserve-3d;filter:drop-shadow(8px 12px 13px rgba(1,10,29,.33))}
.reader-book.is-closed .reader-cover{display:block}
.reader-book.is-ended .reader-end-cover,.reader-book.is-ending .reader-end-cover,.reader-book.is-reopening .reader-end-cover{display:block}
.reader-cover__front,.reader-cover__back{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;border-radius:3px 8px 8px 3px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.reader-cover__front{display:block;padding:0;border:0;background:#fff;text-align:left;cursor:pointer;box-shadow:inset 5px 0 12px rgba(2,18,42,.2),4px 0 0 #d8e3ef,7px 0 0 #a6bdd3,9px 0 0 #263c59}
.reader-cover__front:focus-visible{outline:4px solid #f3ce78;outline-offset:4px}
.reader-cover__front canvas{display:block;width:100%;height:100%;object-fit:contain}
.reader-cover__front:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,19,41,.21),transparent 8%,transparent 88%,rgba(3,20,41,.12))}
.reader-cover__back{transform:rotateY(180deg);background:linear-gradient(110deg,#e5ecf4,#fff 18%,#f8fafc 85%);box-shadow:inset -12px 0 16px rgba(25,48,76,.13)}
.reader-cover__prompt{position:absolute;z-index:2;left:50%;bottom:16px;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:122px;white-space:nowrap;padding:10px 16px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(8,29,57,.86);color:#fff;font-size:12px;font-weight:800;box-shadow:0 7px 18px rgba(0,0,0,.25);backdrop-filter:blur(8px)}
.reader-cover__front:hover .reader-cover__prompt{background:#1457aa}
.reader-page--certificate .reader-cover__prompt{background:rgba(93,63,11,.91);border-color:#e5c779}
.reader-book.is-cover-opening{animation:readerBookOpen .72s cubic-bezier(.2,.68,.12,1) both}
.reader-book.is-cover-opening .reader-paper--left{visibility:hidden}
.reader-book.is-ending{animation:readerBookClose .72s cubic-bezier(.2,.68,.12,1) both}
.reader-book.is-ending .reader-end-cover{animation:readerEndCoverIn .72s ease-out both}
.reader-book.is-ending .reader-paper--left{animation:readerLeftPageOut .72s ease-out both}
.reader-book.is-ended{transform:translateX(-25%)}
.reader-book.is-ended .reader-paper{visibility:hidden}
.reader-book.is-reopening{animation:readerBookOpen .72s cubic-bezier(.2,.68,.12,1) both}
.reader-book.is-reopening .reader-end-cover{animation:readerEndCoverOut .72s ease-out both}
.reader-book.is-reopening .reader-paper--left{animation:readerLeftPageIn .72s ease-out both}
.reader-book.is-single.is-closed,.reader-book.is-single.is-ended{transform:none}
.reader-book.is-single .reader-cover,.reader-book.is-single .reader-end-cover{left:0;width:100%}
.reader-book.is-single.is-cover-opening,.reader-book.is-single.is-ending,.reader-book.is-single.is-reopening{animation:none}
@keyframes readerBookOpen{from{transform:translateX(-25%)}to{transform:translateX(0)}}
@keyframes readerBookClose{from{transform:translateX(0)}to{transform:translateX(-25%)}}
@keyframes readerEndCoverIn{from{opacity:0;transform:scaleX(.96)}to{opacity:1;transform:scaleX(1)}}
@keyframes readerEndCoverOut{from{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(.96)}}
@keyframes readerLeftPageOut{to{opacity:0}}
@keyframes readerLeftPageIn{from{opacity:0}to{opacity:1}}
.reader-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#e0ecfb;font-size:13px;font-weight:600;text-align:center}
.reader-loading img{width:min(25vw,130px);height:min(30vh,165px);object-fit:contain;border-radius:4px;box-shadow:0 14px 28px rgba(0,0,0,.35);margin-bottom:7px}
.reader-loading__spinner{width:25px;height:25px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:readerSpin .8s linear infinite}
@keyframes readerSpin{to{transform:rotate(360deg)}}
.reader-stage__arrow{position:absolute;z-index:9;top:50%;transform:translateY(-50%);width:42px;height:54px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(5,19,40,.5);color:#fff;backdrop-filter:blur(12px);cursor:pointer;transition:background .2s,transform .2s}
.reader-stage__arrow:hover{background:rgba(35,92,165,.78);transform:translateY(-50%) scale(1.05)}
.reader-stage__arrow:disabled{opacity:.25;cursor:not-allowed;transform:translateY(-50%)}
.reader-stage__arrow--prev{left:17px}.reader-stage__arrow--next{right:17px}
.reader-turn{position:absolute;z-index:8;top:0;width:50%;height:100%;transform-style:preserve-3d;pointer-events:none}
.reader-turn--next{left:50%;transform-origin:left center}
.reader-turn--prev{left:0;transform-origin:right center}
.reader-turn.is-next{left:50%;transform-origin:left center;animation:readerTurnNext .72s cubic-bezier(.2,.68,.12,1) forwards}
.reader-turn.is-prev{left:0;transform-origin:right center;animation:readerTurnPrev .72s cubic-bezier(.2,.68,.12,1) forwards}
.reader-book.is-single .reader-turn{width:100%;left:0}
.reader-turn__face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 0 14px rgba(0,0,0,.14)}
.reader-turn__face--back{transform:rotateY(180deg)}
.reader-turn__face canvas{display:block;max-width:100%;max-height:100%}
.reader-turn__face.is-blank{background:#f5f8fb}
@keyframes readerTurnNext{to{transform:rotateY(-180deg)}}
@keyframes readerTurnPrev{to{transform:rotateY(180deg)}}
.reader-controls{display:flex;align-items:center;gap:18px;padding:16px 20px;background:#fff;border-top:1px solid #e8eef5}
.reader-controls__nav{flex:none;display:flex;align-items:center;gap:9px;padding:9px 11px;border:0;border-radius:9px;background:#eef4fb;color:#1d3b60;font-size:12px;font-weight:800;cursor:pointer;transition:background .2s}
.reader-controls__nav:hover{background:#dcecff}.reader-controls__nav:disabled{opacity:.4;cursor:not-allowed}
.reader-controls__middle{display:flex;align-items:center;justify-content:center;gap:16px;flex:1;min-width:0}
.reader-controls__count{min-width:70px;white-space:nowrap;font-size:12px;font-weight:800;color:#213c5f;font-variant-numeric:tabular-nums;text-align:center}
.reader-controls input[type=range]{appearance:none;-webkit-appearance:none;width:min(100%,440px);height:5px;border-radius:5px;background:#dce7f4;accent-color:#2563eb;cursor:pointer}
.reader-controls input[type=range]::-webkit-slider-thumb{appearance:none;width:17px;height:17px;border-radius:50%;background:#2563eb;border:3px solid #fff;box-shadow:0 1px 6px rgba(15,45,86,.25)}
.reader-controls input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#2563eb;border:3px solid #fff;box-shadow:0 1px 6px rgba(15,45,86,.25)}
.reader-thumbs{padding:18px 20px 21px;background:#f8fafc;border-top:1px solid #e7edf5}
.reader-thumbs__heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:13px;font-size:11px;color:#7b8fa7}
.reader-thumbs__heading span:first-child{font-size:12px;font-weight:800;color:#253e5a}
.reader-thumbs__rail{display:flex;gap:10px;overflow:auto;padding:3px 2px 7px;scrollbar-color:#c4d4e6 transparent}
.reader-thumb{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;width:70px;flex:none;padding:5px;border:1px solid #dde6f0;border-radius:9px;background:#fff;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}
.reader-thumb:hover{transform:translateY(-2px);border-color:#87b9ff}.reader-thumb.is-active{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.15)}
.reader-thumb__image{display:grid;place-items:center;width:58px;height:66px;background:#eef3f8;overflow:hidden;border-radius:3px}
.reader-thumb__image img{max-width:100%;max-height:100%;object-fit:contain}.reader-thumb__image span{font-size:17px;font-weight:800;color:#c2d1e2}
.reader-thumb__number{font-size:10px;font-weight:800;color:#50657f}
.reader-error{padding:20px;text-align:center;background:#fff;color:#344a66}
.reader-error i{font-size:24px;color:#dc6679}.reader-error p{margin:9px auto 13px;max-width:460px;font-size:13px}
.reader-error a{display:inline-block;padding:9px 14px;border-radius:8px;background:#1d4ed8;color:#fff;font-weight:700;font-size:12px;text-decoration:none}
.reader-hint{text-align:center;margin:16px auto 0;color:#7187a0;font-size:12px}
.reader-shell:fullscreen,.reader-shell.is-expanded{display:flex;flex-direction:column;width:100vw;height:100dvh;max-width:none;border-radius:0;background:#fff}
.reader-shell:fullscreen .reader-stage,.reader-shell.is-expanded .reader-stage{flex:1;height:auto;min-height:0}
.reader-shell.is-expanded{position:fixed;inset:0;z-index:9999}
@media(max-width:760px){
  .reader-intro__inner{padding:24px 20px 48px}.reader-breadcrumb{margin-bottom:24px}
  .reader-intro__grid{grid-template-columns:1fr;gap:0}.reader-intro__cover{display:none}
  .reader-intro h1{font-size:clamp(1.7rem,8vw,2.5rem)}.reader-intro p{font-size:14px}
  .reader-section{padding:0 10px 42px;margin-top:-18px}.reader-shell{border-radius:15px}
  .reader-toolbar{align-items:flex-start;flex-wrap:wrap;padding:11px 12px;gap:8px}
  .reader-toolbar__identity strong{max-width:calc(100vw - 86px);font-size:12px}
  .reader-toolbar__tools{width:100%;justify-content:space-between;gap:2px}
  .reader-actionbar{padding:9px 11px;gap:7px}.reader-actionbar a,.reader-actionbar button{padding:8px 10px;font-size:11px;min-height:36px}
  .reader-actionbar__full-label{display:none}.reader-actionbar__short-label{display:inline}
  .reader-stage{height:min(61dvh,640px);min-height:330px}
  .reader-stage__arrow{width:34px;height:45px;border-radius:9px}.reader-stage__arrow--prev{left:7px}.reader-stage__arrow--next{right:7px}
  .reader-controls{gap:8px;padding:11px 9px}.reader-controls__nav{padding:9px}.reader-controls__nav span{display:none}
  .reader-controls__middle{gap:8px}.reader-controls__count{min-width:62px;font-size:11px}
  .reader-thumbs{padding:14px 11px}.reader-thumbs__heading span:last-child{display:none}
  .reader-hint{padding:0 14px;line-height:1.5}
}
@media(max-width:390px){.reader-tool{width:31px;height:32px}.reader-zoom{min-width:38px;font-size:11px}.reader-toolbar__divider{margin:0 3px}}
@media(prefers-reduced-motion:reduce){.reader-turn.is-next,.reader-turn.is-prev,.reader-book.is-ending,.reader-book.is-reopening,.reader-book.is-ending .reader-end-cover,.reader-book.is-reopening .reader-end-cover{animation-duration:.01ms}.reader-loading__spinner{animation:none}}
