:root{
  --ebook-blue:#0071e3;
  --ebook-ink:#1d1d1f;
  --ebook-muted:#6e6e73;
  --ebook-line:rgba(0,0,0,.10);
  --ebook-surface:rgba(255,255,255,.88);
}

.declaration-ebook{
  max-width:1480px;
  margin:0 auto;
  padding:clamp(42px,6vw,92px) clamp(20px,4vw,58px) clamp(64px,8vw,120px);
  color:var(--ebook-ink);
}

.declaration-ebook__header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:end;
  margin-bottom:clamp(28px,4vw,54px);
}

.declaration-ebook__eyebrow{
  margin:0 0 14px;
  color:var(--ebook-blue);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
}

.declaration-ebook h1{
  margin:0;
  max-width:900px;
  color:#111;
  font-size:clamp(2.8rem,6.4vw,6.6rem);
  font-weight:800;
  letter-spacing:-.065em;
  line-height:.98;
}

.declaration-ebook h1 span{color:var(--ebook-blue)}

.declaration-ebook__lead{
  max-width:680px;
  margin:24px 0 0;
  color:var(--ebook-muted);
  font-size:clamp(1rem,1.4vw,1.25rem);
  line-height:1.65;
  word-break:keep-all;
}

.declaration-ebook__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

.epub-reader{
  overflow:hidden;
  border:1px solid var(--ebook-line);
  border-radius:32px;
  background:var(--ebook-surface);
  box-shadow:0 24px 70px rgba(15,38,75,.12);
  backdrop-filter:blur(24px) saturate(140%);
  -webkit-backdrop-filter:blur(24px) saturate(140%);
}

.epub-reader__toolbar{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:12px 22px;
  border-bottom:1px solid var(--ebook-line);
  background:rgba(248,248,250,.9);
}

.epub-reader__toc{
  width:min(360px,55vw);
  min-height:44px;
  padding:0 42px 0 14px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  background:#fff;
  color:var(--ebook-ink);
  font:inherit;
  font-weight:650;
}

.epub-reader__tools{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:20px;
}

.epub-reader__font-controls{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:2px;
  padding:4px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:13px;
  background:#eaeaef;
}

.epub-reader__font-label{
  padding:0 6px 0 7px;
  color:var(--ebook-muted);
  font-size:.78rem;
  font-weight:700;
  white-space:nowrap;
}

.epub-reader__font-controls button{
  min-height:34px;
  padding:0 10px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#56565b;
  font:inherit;
  font-size:.78rem;
  font-weight:750;
  white-space:nowrap;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}

.epub-reader__font-controls button:hover{color:var(--ebook-ink)}

.epub-reader__font-controls button[aria-pressed="true"]{
  background:#fff;
  color:var(--ebook-blue);
  box-shadow:0 1px 4px rgba(0,0,0,.12);
}

.epub-reader__announcement{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.epub-reader__status{
  display:flex;
  align-items:center;
  gap:16px;
  margin:0;
  color:var(--ebook-muted);
  font-size:.9rem;
}

.epub-reader__status strong{
  min-width:54px;
  color:var(--ebook-blue);
  text-align:right;
}

.epub-reader__stage{
  position:relative;
  min-height:clamp(580px,72vh,900px);
  background:#fff;
}

.epub-reader__viewport{
  position:absolute;
  inset:0 64px;
  overflow:hidden;
  background:#fff;
}

.epub-reader__viewport iframe{border:0!important;background:#fff;color-scheme:light}

.epub-reader__loading,.epub-reader__error{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:32px;
  color:var(--ebook-muted);
  text-align:center;
}

.epub-reader__nav{
  position:absolute;
  top:50%;
  z-index:4;
  width:48px;
  height:72px;
  border:0;
  border-radius:999px;
  background:rgba(238,238,240,.82);
  color:#333;
  font-size:2.2rem;
  line-height:1;
  transform:translateY(-50%);
  cursor:pointer;
  transition:background .18s ease,transform .18s ease;
}

.epub-reader__nav:hover{background:#e1e1e5;transform:translateY(-50%) scale(1.04)}
.epub-reader__nav--prev{left:10px}
.epub-reader__nav--next{right:10px}

.epub-reader__mobile-controls{display:none}

.declaration-ebook__source{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:22px 4px 0;
  color:var(--ebook-muted);
  font-size:.88rem;
}

.epub-reader button:focus-visible,.epub-reader select:focus-visible{
  outline:3px solid rgba(0,113,227,.35);
  outline-offset:3px;
}

@media(max-width:900px){
  .epub-reader__toolbar{align-items:stretch;flex-direction:column;gap:10px}
  .epub-reader__toc{width:100%}
  .epub-reader__tools{justify-content:space-between}
}

@media(max-width:760px){
  .declaration-ebook{padding:38px 16px 80px}
  .declaration-ebook__header{grid-template-columns:1fr;align-items:start}
  .declaration-ebook__actions{justify-content:flex-start}
  .declaration-ebook h1{font-size:clamp(2.55rem,14vw,4.6rem)}
  .epub-reader{border-radius:22px}
  .epub-reader__toolbar{padding:14px}
  .epub-reader__tools{display:grid;grid-template-columns:1fr;gap:10px}
  .epub-reader__font-controls{width:100%}
  .epub-reader__font-controls button{flex:1}
  .epub-reader__status{justify-content:space-between}
  .epub-reader__stage{min-height:68vh}
  .epub-reader__viewport{inset:0 8px}
  .epub-reader__nav{display:none}
  .epub-reader__mobile-controls{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ebook-line)}
  .epub-reader__mobile-controls button{min-height:52px;border:0;background:#f5f5f7;color:var(--ebook-blue);font:inherit;font-weight:700}
  .epub-reader__mobile-controls button+button{border-left:1px solid var(--ebook-line)}
  .declaration-ebook__source{flex-direction:column;gap:4px;padding-inline:2px}
}

@media(prefers-reduced-motion:reduce){
  .epub-reader__nav,.epub-reader__font-controls button{transition:none}
}
