/*!
 * kai.css 
 */
:root {
  /* add any custom variable settings here */
}

.ccard img { border-radius:20px; border: 3px solid #444; box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.5); transition: transform .2s; }
.ccard img:hover { transform: scale(1.05); /* (105% zoom - Note: if the zoom is too large, it will go outside of the viewport) */ }

footer {
  text-align:center;
  color:var(--text-dim);
  font-size:small;
  border-top: 1px solid var(--border-subtle);
}

footer a {
  color: var(--text-dim);
  text-decoration: none;
  transition: color 0.15s ease;
}
footer a:hover {
  color: var(--accent-muted);
  text-decoration: underline;
}

/* Zoom in on card image hover */
.portrait-wrap:hover img { transform: scale(1.2); }

/* Zoom in on book cover image hover */
.book-cover:hover img { transform: scale(1.2); }

.fiction-entry {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  padding-bottom: 3rem;
  margin-bottom: 3rem;
  border-bottom: 1px solid var(--border-subtle);
}

@media (min-width: 600px) {
  .fiction-entry {
    grid-template-columns: 190px 1fr;
    gap: 2rem;
  }
}

.fiction-entry:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

/* Portrait Image Anchor */
.portrait-wrap {
  aspect-ratio: 2 / 3;
}
.book-cover {
  width: 100%;
  aspect-ratio: 2 / 3;
  border-radius: 10px;
  overflow: hidden;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
  position: relative;
}

.book-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.25s ease;
}

.pill-highlight {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: orange; /* #ffa500 or rgb(255, 165, 0) */
  background: rgba(255, 165, 0, 0.12);
  border: 1px solid rgba(255, 165, 0, 0.25);
  border-radius: 4px;
  padding: 0.1rem 0.4rem;
  margin-right: 0.25rem;
}

/* Section */
.section {
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
  border-bottom: 1px solid var(--border-subtle);
}

.section-heading {
  font-family: var(--font-display);
  font-size: 2.00rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.25;
  margin-bottom: 1rem;
}

.section-text {
  font-size: 1.05rem;
  color: var(--text-muted);
  margin-bottom: 1rem;
}

.section p {
  font-size: 1.05rem;
  color: var(--text-muted);
  margin-bottom: 1rem;
}

.storydesc { margin-left:10px; margin-top:10px; }

main ul {
  font-size: 1.05rem;
  color: var(--text-muted);
  margin-bottom: 1rem;
  margin-left: 2rem;
}

.quote {
  display:inline-block;
  margin:1em 3em 0em 2em;
  overflow:hidden;
  blockquote {
    background-color:var(--bg-surface);
    border: solid 2px var(--border-subtle);
    border-radius: 4px;
    display: inline-block;
    margin: 0;
    padding: 1em 2em;
    position: relative;
    &:before {
      bottom: -10%;
      content: "";
      left: 0;
      position: absolute;
      right: 0;
      top: -10%;
      transform: rotate(-15deg) skew(5deg);
    }
    cite {
      display: block;
      font-style: italic;
      text-align: right;
      &:before {
        content: "- ";
      }
    }
    > * {
      position: relative;
      z-index: 1;
    }
  }
}

.sidebar-note { font-size: 0.9rem; }

/* Display #tags within tag cloud as pills */
.tag-cloud > span {
  font-size: 0.78rem;
  color: var(--text-muted);
  background: var(--tag-bg);
  border: 1px solid var(--border-subtle);
  padding: 0.2rem 0.6rem;
  border-radius: 100px;
  line-height: 1.3;
  transition: all 0.15s ease;
}
.tag-cloud > span:hover {
  color: #fff;
  border-color: var(--border-highlight);
  background: rgba(255, 255, 255, 0.08);
  cursor: pointer;
}

/* Shrink sidebar nav buttons */
.nav-link {
  padding: 0.25rem 0.55rem;
}

