.pclive-aozora {
  --ao-navy: #14243a;
  --ao-ink: #182638;
  --ao-paper: #fbf7ed;
  --ao-gold: #b28d53;
  width: 100%;
  max-width: 62rem;
  margin: 0 auto;
  color: var(--ao-ink);
  background: var(--ao-paper);
  font-family: "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.pclive-aozora *, .pclive-aozora *::before, .pclive-aozora *::after { box-sizing: border-box; }
.pclive-aozora .pclive-aozora-header {
  position: relative;
  isolation: isolate;
  padding: clamp(1.8rem, 6vw, 4rem) 1rem;
  text-align: center;
  color: #f9edcf;
  background: radial-gradient(ellipse at top, #354660, #14243a 70%);
  border-block: 4px solid #a4814a;
}
.pclive-aozora .pclive-aozora-header::before {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px solid #d0b78288;
  pointer-events: none;
}
.pclive-aozora .pclive-aozora-name {
  margin: 0 0 .35rem;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(1.65rem, 5vw, 3rem);
  font-weight: 700;
  letter-spacing: .09em;
}
.pclive-aozora .pclive-aozora-tagline { margin: 0; color: #e8d7b1; }
.pclive-aozora .pclive-aozora-main,
.pclive-aozora .pclive-aozora-footer { padding: clamp(.75rem, 3vw, 2rem); }
.pclive-aozora .pclive-aozora-footer { border-top: 1px solid #d3bc92; font-size: .92rem; }
.pclive-aozora .pclive-aozora-footer p { margin: .65rem 0 0; }
.pclive-aozora h2, .pclive-aozora h3 {
  background: none;
  color: inherit;
  border: 0;
  padding: 0;
  margin: .7rem 0 .4rem;
  line-height: 1.45;
}
.pclive-aozora h2 { font-size: clamp(1.35rem, 4vw, 1.9rem); }
.pclive-aozora h3 { font-size: 1.18rem; }
.pclive-aozora a { color: #254e69; }
.pclive-aozora a:focus-visible, .pclive-aozora button:focus-visible,
.pclive-aozora input:focus-visible, .pclive-aozora select:focus-visible { outline: 3px solid #b37514; outline-offset: 2px; }
.pclive-aozora button, .pclive-aozora .pclive-aozora-button,
.pclive-aozora .pclive-aozora-tabs a, .pclive-aozora .pclive-aozora-kana a,
.pclive-aozora .pclive-aozora-actions a, .pclive-aozora .pclive-aozora-search > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 100%;
  padding: .35rem .65rem;
  border: 1px solid #ac8d5d;
  border-radius: .3rem;
  color: var(--ao-ink);
  background: #fffdf7;
  font: inherit;
  text-align: center;
  text-decoration: none;
}
.pclive-aozora button { cursor: pointer; }
.pclive-aozora button:disabled { opacity: .55; cursor: default; }
.pclive-aozora .pclive-aozora-button, .pclive-aozora button[type="submit"],
.pclive-aozora a[aria-current="true"] { background: var(--ao-navy); color: #fff6e0; }
.pclive-aozora .pclive-aozora-search > a { border: 0; background: none; text-decoration: underline; }
.pclive-aozora .pclive-aozora-searchrow { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; margin: .3rem 0 0; }
.pclive-aozora input, .pclive-aozora select {
  min-height: 44px;
  min-width: 0;
  max-width: 100%;
  padding: .35rem .55rem;
  border: 1px solid #997c54;
  border-radius: .3rem;
  background: #fffdf8;
  color: var(--ao-ink);
  font: inherit;
  font-size: 1rem;
}
.pclive-aozora input { width: 100%; }
.pclive-aozora .pclive-aozora-tabs, .pclive-aozora .pclive-aozora-actions,
.pclive-aozora .pclive-aozora-kana, .pclive-aozora .pclive-aozora-genre,
.pclive-aozora .pclive-aozora-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }
.pclive-aozora .pclive-aozora-kana a { min-width: 44px; }
.pclive-aozora .pclive-aozora-status { margin: .4rem 0; }
.pclive-aozora .pclive-aozora-status:empty, .pclive-aozora [data-ao-note]:empty { display: none; }
.pclive-aozora .pclive-aozora-cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  list-style: none;
  margin: .5rem 0 1rem;
  padding: 0;
  gap: .7rem;
}
.pclive-aozora .pclive-aozora-cards li {
  margin: 0;
  padding: .75rem .9rem;
  border: 1px solid #d8c5a4;
  border-inline-start: 3px solid var(--ao-gold);
  border-radius: .25rem;
  background: #fffdfa;
}
.pclive-aozora .pclive-aozora-cards h3 { margin-top: 0; }
.pclive-aozora .pclive-aozora-cards p { margin: .15rem 0; }
.pclive-aozora .pclive-aozora-cards .pclive-aozora-actions { margin-top: .6rem; }
.pclive-aozora .pclive-aozora-controls { margin: .7rem 0; }
.pclive-aozora .pclive-aozora-controls p { width: 100%; margin: .15rem 0; font-size: .9rem; }
.pclive-aozora .pclive-aozora-text {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif CJK JP", serif;
  font-size: 21px;
  line-height: 2.05;
  margin: .6rem auto;
  padding: clamp(.65rem, 3vw, 1.75rem);
  max-width: 44rem;
  border: 1px solid #d4bc91;
  border-radius: .25rem;
  background: #f7efd9;
  color: #292017;
}
.pclive-aozora .pclive-aozora-reader[data-size="small"] .pclive-aozora-text { font-size: 18px; }
.pclive-aozora .pclive-aozora-reader[data-size="large"] .pclive-aozora-text { font-size: 25px; }
.pclive-aozora .pclive-aozora-reader[data-size="xlarge"] .pclive-aozora-text { font-size: 29px; }
.pclive-aozora .pclive-aozora-reader[data-theme="white"] .pclive-aozora-text { background: white; color: #1a1a1a; }
.pclive-aozora .pclive-aozora-reader[data-theme="dark"] .pclive-aozora-text { background: #182535; color: #f9ecd1; }
.pclive-aozora .pclive-aozora-text rt { font-size: .53em; }
.pclive-aozora .pclive-aozora-bibliography { font-size: .76em; line-height: 1.7; }
.pclive-aozora .pclive-aozora-dock {
  position: sticky;
  z-index: 2;
  bottom: max(.45rem, env(safe-area-inset-bottom));
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
  padding: .35rem .2rem;
}
.pclive-aozora .pclive-aozora-dock button { pointer-events: auto; }
.pclive-aozora .pclive-aozora-source { font-size: .9rem; }
@media (min-width: 760px) {
  .pclive-aozora .pclive-aozora-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.pclive-aozora .pclive-aozora-text h4 { margin: .6rem 0 .15rem; border: 0; background: none; padding: 0; color: inherit; }
.pclive-aozora .pclive-aozora-emphasis { font-style: normal; text-emphasis: filled sesame; }
.pclive-aozora .pclive-aozora-text a { color: inherit; }
.pclive-aozora .pclive-aozora-text table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}
.pclive-aozora .pclive-aozora-text pre { white-space: pre-wrap; }
