@font-face{font-family:Manrope;src:url('/fonts/Manrope-VariableFont_wght.ttf');font-weight:200 800;font-display:swap}
dialog{max-width:min(90vw,520px);padding:2rem;border:1px solid #A8AAA8;border-radius:.75rem;background:#FBF9F4}dialog::backdrop{background:#17171788}dialog button{margin:.5rem .5rem 0 0}
@font-face{font-family:'Source Serif 4';src:url('/fonts/SourceSerif4-VariableFont_opsz_wght.ttf');font-weight:200 900;font-display:swap}
:root{--primary:#3157D5}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font:16px/1.65 Manrope,Arial,sans-serif;color:#171717;background:#F6F3ED}h1,h2,h3{line-height:1.2;letter-spacing:-.035em;color:#193A8A}h1{font-size:2.6rem}p{margin:.8rem 0}a{color:#193A8A}button,input,select{font:inherit;max-width:100%;min-height:46px}button{cursor:pointer;border:1px solid #3157D5;border-radius:.5rem;padding:.6rem 1rem;background:#FBF9F4;color:#193A8A}button:disabled{opacity:.6;cursor:default}label{display:grid;gap:.5rem;margin:1.1rem 0}input{width:100%;padding:.6rem;border:1px solid #A8AAA8;border-radius:.4rem}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #D98B00;outline-offset:4px}.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700}.skip{position:absolute;left:-10000px}.skip:focus{left:1rem;top:1rem;background:white;z-index:10}.portal-brand button{margin-left:auto}.portal-shell>details{margin-top:2rem}pre{white-space:pre-wrap;overflow-wrap:anywhere}iframe{width:100%;height:760px;border:0;background:white}summary{cursor:pointer;font-weight:700;min-height:44px}.portal-primary-link{text-decoration:none}footer{padding:2rem 0}.portal-card form{min-width:0}#status:not(:empty){padding:1rem;background:#DDE5FF;border-radius:.4rem;margin-bottom:1rem}#identity{overflow-wrap:anywhere}#messages{display:block;width:100%;margin:1rem 0}

.reader-portal {
  --portal-ink: #193a8a;
  --portal-paper: #fbf9f4;
  --portal-line: #d6d3cc;
}
.portal-brand {
  background: var(--primary);
  color: white;
}
.portal-brand > div {
  max-width: 1120px;
  margin: auto;
  padding: 1.3rem 2rem;
  display: flex;
  gap: 2rem;
  align-items: center;
  flex-wrap: wrap;
}
.portal-brand img {
  width: 120px;
  height: auto;
  object-fit: contain;
}
.portal-brand span {
  font-weight: 700;
  font-size: 1rem;
}
.portal-brand a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
  font-size: 0.875rem;
  min-height: 44px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.portal-shell {
  max-width: 1120px;
  margin: auto;
  padding: 1.5rem 2rem 0;
}
.portal-test {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  color: #744900;
  background: #f8e7bd;
  padding: 0.75rem 1rem;
  border-radius: 0.4rem;
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
}
.portal-test svg {
  flex-shrink: 0;
}
.portal-test p {
  margin: 0;
}
.portal-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100% !important;
  height: auto !important;
  max-width: 540px;
  margin-bottom: 1.75rem;
  padding: 0.3rem !important;
}
.portal-tabs button {
  min-height: 44px;
  height: auto;
  gap: 0.5rem;
  white-space: normal;
  font-size: 0.875rem;
}
.reader-portal [data-slot='tabs-content'] {
  font-size: 1rem;
}
.portal-entry {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: start;
}
.portal-kicker {
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  font-weight: 750;
  color: var(--portal-ink);
  margin: 0 0 0.75rem;
}
.portal-intro h1 {
  font-size: clamp(2.2rem, 3.5vw, 3.1rem);
  max-width: 16ch;
  line-height: 1.12;
}
.portal-lead {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1.5rem;
  line-height: 1.4;
  margin: 1.5rem 0;
}
.portal-product {
  display: grid;
  grid-template-columns: 125px minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
}
.portal-product img {
  width: 125px;
  height: 188px;
  object-fit: contain;
}
.portal-product p {
  font-size: 1rem;
}
.portal-card {
  background: var(--portal-paper);
  border: 1px solid var(--portal-line);
  border-top: 4px solid var(--primary);
  padding: 1.8rem;
  border-radius: 0.7rem;
  min-width: 0;
}
.portal-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  background: #dde5ff;
  color: var(--portal-ink);
  border-radius: 50%;
  margin-bottom: 1.3rem;
}
.portal-card h2 {
  font-size: 1.65rem;
}
.portal-full {
  width: 100%;
  margin: 0.4rem 0;
}
.portal-meta {
  display: block;
  font-size: 0.875rem;
  color: #5f6361;
  line-height: 1.5;
}
.portal-card label {
  font-size: 1rem;
}
.portal-card label:has(input) {
  margin-bottom: 0.4rem;
}
.portal-privacy {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  font-size: 0.875rem;
  margin: 1rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--portal-line);
}
.portal-privacy svg {
  flex-shrink: 0;
  color: var(--portal-ink);
}
.portal-mail {
  max-width: 760px;
  margin: 0 auto;
  background: var(--portal-paper);
  border-top: 4px solid var(--primary);
  padding: 2.5rem;
  border-radius: 0.6rem;
}
.portal-mail h1 {
  font-size: 2rem;
  max-width: 23ch;
}
.portal-mail-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 1.5rem 0 0.5rem;
}
.portal-primary-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-height: 46px;
  padding: 0.7rem 1rem;
  border-radius: 0.5rem;
  background: var(--primary);
  color: white;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}
.portal-primary-link:hover {
  background: #193a8a;
}
.portal-confirm {
  display: flex;
  gap: 1rem;
  padding: 1.5rem;
  background: #dde5ff;
  border-radius: 0.5rem;
  margin: 1.5rem 0;
}
.portal-confirm svg {
  flex-shrink: 0;
  color: var(--portal-ink);
}
.portal-confirm h2 {
  font-size: 1.2rem;
}
.portal-confirm p {
  margin-bottom: 0;
}
.portal-library-heading {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}
.portal-library-heading h1 {
  margin: 0;
}
.portal-library-heading p {
  margin: 0.5rem 0;
}
.portal-book {
  display: grid;
  grid-template-columns: 235px minmax(0, 1fr);
  border: 1px solid var(--portal-line);
  background: var(--portal-paper);
  border-radius: 0.75rem;
  overflow: hidden;
}
.portal-book-art {
  background: #dde5ff;
  display: grid;
  place-items: center;
  padding: 1rem;
}
.portal-book-art img {
  width: 180px;
  height: 270px;
  object-fit: contain;
}
.portal-book-body {
  padding: 2rem;
}
.portal-book-body h2 {
  max-width: 27ch;
  font-size: 1.8rem;
  margin: 0.9rem 0;
}
.portal-badge {
  display: inline-block;
  color: #004f46;
  background: #ddefea;
  font-weight: 650;
  font-size: 0.875rem;
  padding: 0.3rem 0.7rem;
  border-radius: 0.35rem;
}
.portal-numbers {
  display: flex;
  gap: 0.6rem;
  margin: 1.3rem 0;
  padding: 0;
  list-style: none;
  flex-wrap: wrap;
}
.portal-numbers li > span:first-child {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  background: var(--step-color);
  color: white;
  border-radius: 50%;
  font-weight: 750;
}
.portal-library-notes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin: 2rem 0;
}
.portal-library-notes section {
  border-top: 1px solid var(--portal-line);
  padding-top: 1.3rem;
}
.portal-library-notes svg {
  color: var(--portal-ink);
  margin-bottom: 0.75rem;
}
.portal-library-notes p {
  font-size: 1rem;
}
.reader-portal footer {
  font-size: 0.875rem;
}
@media (max-width: 800px) {
  .portal-entry {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .portal-intro h1 {
    max-width: 23ch;
  }
  .portal-product {
    max-width: 530px;
  }
  .portal-book {
    grid-template-columns: 150px minmax(0, 1fr);
  }
  .portal-book-art img {
    width: 120px;
    height: 180px;
  }
  .portal-book-body {
    padding: 1.4rem;
  }
  .portal-book-body h2 {
    font-size: 1.5rem;
  }
}
@media (max-width: 520px) {
  .portal-brand > div {
    padding: 1rem;
    gap: 0.5rem 1rem;
  }
  .portal-brand img {
    width: 100px;
  }
  .portal-brand span {
    font-size: 0.875rem;
  }
  .portal-brand > div:has(> button:not([hidden])) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.125rem 1rem;
    padding: 0.75rem 1rem;
  }
  .portal-brand > div:has(> button:not([hidden])) img {
    grid-column: 1;
    grid-row: 1;
  }
  .portal-brand > div:has(> button:not([hidden])) span {
    grid-column: 1;
    grid-row: 2;
    line-height: 1.4;
  }
  .portal-brand > div > button:not([hidden]) {
    grid-column: 2;
    grid-row: 1 / span 2;
    margin: 0;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.4;
    max-width: 9rem;
  }
  .portal-brand a {
    margin: 0;
    width: 100%;
    font-size: 0.875rem;
  }
  .portal-shell {
    padding: 1rem 1rem 0;
  }
  .portal-tabs {
    margin-bottom: 1rem;
  }
  .portal-tabs button {
    font-size: 0.875rem;
    gap: 0.3rem;
  }
  .portal-tabs svg {
    display: none;
  }
  .portal-test {
    align-items: flex-start;
  }
  .portal-intro h1 {
    font-size: 2rem;
  }
  .portal-lead {
    font-size: 1.3rem;
    margin: 1rem 0;
  }
  .portal-product {
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 0.8rem;
  }
  .portal-product img {
    width: 90px;
    height: 145px;
  }
  .portal-card,
  .portal-mail {
    padding: 1.25rem;
  }
  .portal-mail h1 {
    font-size: 1.75rem;
  }
  .portal-confirm {
    padding: 1rem;
  }
  .portal-confirm > svg {
    display: none;
  }
  .portal-library-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .portal-book {
    grid-template-columns: 1fr;
  }
  .portal-book-art {
    padding: 1.25rem;
  }
  .portal-book-art img {
    width: 180px;
    height: 270px;
  }
  .portal-book-body {
    padding: 1.2rem;
  }
  .portal-library-notes {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .portal-mail-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .portal-mail-actions a {
    justify-content: center;
  }
}
.privacy-page{max-width:800px;overflow-wrap:anywhere}.privacy-page h1{font-size:clamp(2rem,7vw,3rem);line-height:1.12;margin:1.5rem 0}.privacy-page section{margin:2rem 0;padding-top:1rem;border-top:1px solid #d9dfeb}.privacy-page h2{font-size:1.25rem}.privacy-page p{line-height:1.65}.privacy-page a{color:#193a8a;text-underline-offset:.2em}
.portal-privacy:has(a){display:block}.portal-privacy a{display:inline;overflow-wrap:anywhere}
.portal-brand a:has(img){width:auto;margin:0;flex-shrink:0}
.portal-preferences{margin-top:32px;padding:24px;border:1px solid #ccd3e3;border-radius:14px;background:#fff}.portal-preferences h2{font-size:1.25rem}.marketing-choice{display:flex!important;align-items:flex-start;gap:12px;cursor:pointer;line-height:1.55}.marketing-choice input{width:22px!important;height:22px;flex:none;margin-top:3px;accent-color:#3157d5}.portal-preferences button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.portal-preferences p{overflow-wrap:anywhere}
