/*
 * BigCloset VANITY skin for eFiction 3.5.3
 * Reference language: warm paper, plum navigation, mauve accents,
 * and green as the positive action.
 */
:root {
  --vanity-paper: #e5dccf;
  --vanity-panel: #eee5d8;
  --vanity-canvas: #f8f2e9;
  --vanity-ink: #2f2430;
  --vanity-plum: #522356;
  --vanity-deep: #6e2f73;
  --vanity-mauve: #b45d91;
  --vanity-border: #c982a8;
  --vanity-soft-border: #d6c4cc;
  --vanity-soft-mauve: #e7dde4;
  --vanity-soft-sage: #dde6d8;
  --vanity-green: #286e32;
  --vanity-green-bright: #39a844;
  --vanity-muted: #6b5b65;
  --vanity-shadow: rgba(40, 20, 40, .16);
  --vanity-reading: Georgia, "Times New Roman", Times, serif;
  --vanity-ui: Arial, Helvetica, sans-serif;
  --vanity-radius-link: 8px;
  --vanity-radius-notice: 10px;
  --vanity-radius-card: 14px;
  --vanity-radius-shell: 20px;
}

* { box-sizing: border-box; }
html { background: var(--vanity-soft-mauve); }
body.vanity {
  min-width: 320px;
  margin: 0;
  padding: 22px;
  color: var(--vanity-ink);
  background: var(--vanity-soft-mauve);
  font-family: var(--vanity-reading);
  font-size: 16px;
  line-height: 1.55;
}
img { max-width: 100%; height: auto; border: 0; }
a { color: var(--vanity-plum); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--vanity-green); text-decoration-thickness: 2px; }
a:focus, button:focus, input:focus, select:focus, textarea:focus { outline: 3px solid var(--vanity-deep); outline-offset: 3px; }
h1, h2, h3, h4 { color: var(--vanity-plum); font-family: var(--vanity-reading); line-height: 1.08; }
h1, h2, h3, p { overflow-wrap: break-word; }
h1, h2, h3 { margin-top: 0; }
form { margin: 0; }
input, select, textarea, button {
  max-width: 100%;
  border: 1px solid var(--vanity-border);
  border-radius: var(--vanity-radius-link);
  color: var(--vanity-ink);
  background: var(--vanity-canvas);
  font: inherit;
}
input, select, textarea { padding: 8px 10px; }
textarea { width: 100%; min-height: 9rem; }
input[type="submit"], input[type="button"], button, .button {
  min-height: 42px;
  padding: 9px 14px;
  border-color: #205b2a;
  color: #fff;
  background: var(--vanity-green);
  cursor: pointer;
  font-weight: 700;
}
input[type="submit"]:hover, input[type="button"]:hover, button:hover, .button:hover { background: var(--vanity-green-bright); }
table { max-width: 100%; border-collapse: collapse; }
th { color: #fffaf0; background: var(--vanity-plum); text-align: left; }
th, td { padding: 8px; border: 1px solid var(--vanity-soft-border); vertical-align: top; }
hr { height: 1px; border: 0; background: var(--vanity-soft-border); }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: -5rem;
  left: 1rem;
  padding: .6rem .85rem;
  border-radius: var(--vanity-radius-link);
  color: var(--vanity-canvas);
  background: var(--vanity-plum);
  font-family: var(--vanity-ui);
}
.skip-link:focus { top: 1rem; color: #fff; }

.vanity-shell {
  max-width: 1240px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--vanity-soft-border);
  border-radius: var(--vanity-radius-shell);
  background: var(--vanity-canvas);
  box-shadow: 0 18px 58px var(--vanity-shadow);
}
.vanity-masthead {
  display: flex;
  min-height: 122px;
  padding: 26px 36px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: #fffaf0;
  background: linear-gradient(112deg, #8a3676 0%, #b15b90 48%, #702b70 100%);
}
.vanity-brand { display: flex; min-width: 0; align-items: center; gap: 17px; }
.vanity-brandmark {
  position: relative;
  display: grid;
  width: 54px;
  height: 66px;
  flex: 0 0 auto;
  place-items: center;
  overflow: hidden;
  border: 2px solid #f0ca43;
  border-radius: 6px 6px 11px 11px;
  background: #f0ca43;
  box-shadow: inset 0 0 0 4px #e47a4b;
  color: #662b6f;
  font-family: Georgia, serif;
  font-size: 34px;
  font-weight: 700;
  transform: rotate(-4deg);
}
.vanity-brandmark::before { position: absolute; top: 8px; width: 24px; height: 27px; border: 3px solid #662b6f; border-bottom-width: 5px; border-radius: 13px 13px 2px 2px; content: ""; }
.vanity-brandmark::after { position: absolute; bottom: 5px; width: 31px; height: 23px; border: 3px solid #662b6f; border-radius: 3px; content: ""; }
.vanity-brandmark span { position: relative; z-index: 1; margin-top: 22px; }
.vanity-brandcopy { min-width: 0; }
.vanity-brandcopy h1 { margin: 1px 0 0; color: #fffaf0; font-size: clamp(1.55rem, 3vw, 2.25rem); }
.vanity-kicker, .vanity-slogan { margin: 0; }
.vanity-kicker { color: #f8d9eb; font-family: var(--vanity-ui); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.vanity-kicker em { color: #fffaf0; }
.vanity-slogan { max-width: 40rem; color: rgba(255,250,240,.88); font-size: .92rem; }
.vanity-masthead-action { min-width: max-content; }
.vanity-masthead-action a { display: inline-flex; min-height: 40px; padding: 8px 12px; align-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 999px; color: #fffaf0; background: rgba(36,18,41,.25); font-family: var(--vanity-ui); font-size: 13px; text-decoration: none; }
.vanity-masthead-action a:hover { color: #fff; background: var(--vanity-green); }

.vanity-nav { display: flex; min-height: 58px; padding: 0 36px; align-items: center; gap: 20px; border-bottom: 1px solid var(--vanity-soft-border); background: var(--vanity-panel); }
.vanity-nav-label { margin: 0; flex: 0 0 auto; color: var(--vanity-deep); font-family: var(--vanity-ui); font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.vanity-nav-list { display: flex; margin: 0; padding: 9px 0; align-items: center; gap: 4px; flex-wrap: wrap; list-style: none; }
.vanity-nav-list li { margin: 0; padding: 0; }
.vanity-nav-list a { display: block; padding: 8px 10px; border-radius: var(--vanity-radius-link); color: var(--vanity-plum); font-family: var(--vanity-ui); font-size: 13px; font-weight: 700; text-decoration: none; }
.vanity-nav-list a:hover, .vanity-nav-list a#current { color: #fff; background: var(--vanity-green); }

.vanity-main { padding: clamp(28px, 5vw, 66px); }
.vanity-page-card, .vanity-panel, .vanity-story-overview, .vanity-reading-card, .vanity-profile-card, .vanity-list-card, .vanity-review-card, .vanity-category-card {
  border: 1px solid var(--vanity-soft-border);
  border-radius: var(--vanity-radius-card);
  background: var(--vanity-panel);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}
.vanity-page-card { padding: clamp(20px, 3vw, 34px); }
#pagetitle, .sectionheader { margin: 0 0 20px; color: var(--vanity-plum); font-size: clamp(1.55rem, 3.5vw, 2.2rem); font-weight: 700; line-height: 1.12; }
#output { padding: 0; }
.label, .classification, .adminoptions { color: var(--vanity-deep); font-weight: 700; }
.vanity-eyebrow { margin: 0 0 9px; color: var(--vanity-deep); font-family: var(--vanity-ui); font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.vanity-byline, .vanity-story-byline { margin: 0; color: var(--vanity-muted); font-size: .95rem; }
.vanity-byline span { white-space: nowrap; }

.vanity-welcome { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr); gap: clamp(30px, 5vw, 70px); min-height: 356px; padding: clamp(28px, 5vw, 62px); align-items: center; overflow: hidden; border: 1px solid var(--vanity-border); border-radius: var(--vanity-radius-card); background: var(--vanity-soft-mauve); }
.vanity-welcome-copy h2 { max-width: 12ch; margin-bottom: 16px; font-size: clamp(2.2rem, 5vw, 4.15rem); }
.vanity-welcome-copy h2 em { color: var(--vanity-mauve); }
.vanity-welcome-copy > p:not(.vanity-eyebrow) { max-width: 34rem; margin-bottom: 24px; font-size: 1.1rem; }
.vanity-welcome-action a { display: inline-block; padding: 11px 15px; border: 1px solid #205b2a; border-radius: 9px; color: #fff; background: var(--vanity-green); text-decoration: none; }
.vanity-welcome-action a:hover { color: #fff; background: var(--vanity-green-bright); }
.vanity-welcome-book { position: relative; display: flex; min-height: 218px; padding: 20px 17px; justify-content: space-between; overflow: hidden; border-left: 5px solid var(--vanity-green-bright); border-radius: 5px; color: #fffaf0; background: #713273; box-shadow: 7px 8px 0 rgba(47,36,48,.16); }
.vanity-welcome-book span, .vanity-welcome-book em { position: relative; z-index: 1; font-family: var(--vanity-ui); font-size: 10px; font-style: normal; font-weight: 700; letter-spacing: .11em; line-height: 1.35; }
.vanity-welcome-book em { align-self: flex-end; text-align: right; }
.vanity-welcome-book strong { position: absolute; right: 14px; bottom: -55px; color: rgba(231,178,217,.45); font-size: 215px; font-style: italic; line-height: 1; }
.vanity-home-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; margin-top: 18px; }
.vanity-panel { padding: 22px; }
.vanity-login-panel { display: none; }
.vanity-recent-panel { grid-column: span 8; }
.vanity-featured-panel { grid-column: span 4; }
.vanity-news-panel { grid-column: 9 / span 4; }
.vanity-panel-heading { padding-bottom: 15px; border-bottom: 1px solid var(--vanity-soft-border); }
.vanity-panel-heading h2 { margin-bottom: 0; font-size: 1.7rem; }
.vanity-story-stack { display: grid; gap: 16px; margin-top: 16px; }
.vanity-story-card, .vanity-featured-story { display: grid; grid-template-columns: minmax(90px, 150px) 1fr; gap: 18px; align-items: start; }
.vanity-story-card + .vanity-story-card { padding-top: 16px; border-top: 1px solid var(--vanity-soft-border); }
.vanity-story-thumb { min-height: 80px; overflow: hidden; border-radius: var(--vanity-radius-link); background: var(--vanity-soft-mauve); }
.vanity-story-thumb img { display: block; width: 100%; }
.vanity-story-card h3, .vanity-featured-story h3 { margin: 0 0 4px; font-size: 1.25rem; }
.vanity-story-card-copy > p:not(.vanity-story-byline):not(.vanity-story-meta), .vanity-featured-story > div > p:not(.vanity-story-byline):not(.vanity-story-meta) { margin: 10px 0; }
.vanity-story-meta { color: var(--vanity-muted); font-size: .88rem; }
.vanity-story-meta span { color: var(--vanity-deep); font-family: var(--vanity-ui); font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.vanity-story-details { display: grid; gap: 4px; color: var(--vanity-muted); font-size: .82rem; }
.vanity-story-details b { color: var(--vanity-deep); }
.vanity-news-panel { align-self: start; }

.vanity-filterbar { display: grid; gap: 10px; margin-top: 22px; padding: 15px; border: 1px solid #b9cfb8; border-left: 4px solid var(--vanity-green-bright); border-radius: var(--vanity-radius-notice); background: var(--vanity-soft-sage); }
.vanity-filter-label { color: var(--vanity-green); font-family: var(--vanity-ui); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.vanity-filter-controls form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.vanity-filter-controls select { min-height: 38px; }
#otherresults { margin-top: 15px; color: var(--vanity-muted); }

.vanity-listings { display: grid; gap: 16px; margin-top: 18px; }
.vanity-list-card { overflow: hidden; }
.vanity-list-card > header { display: flex; padding: 19px 22px; align-items: flex-start; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--vanity-soft-border); background: var(--vanity-soft-mauve); }
.vanity-list-card > header h2 { margin-bottom: 5px; font-size: 1.45rem; }
.vanity-rating { max-width: 19rem; color: var(--vanity-muted); font-size: .9rem; text-align: right; }
.vanity-rating span { color: var(--vanity-deep); font-family: var(--vanity-ui); font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.vanity-card-content { padding: 20px 22px; }
.vanity-summary { margin-top: 0; font-size: 1.05rem; }
.vanity-list-card > footer { display: flex; padding: 13px 22px; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; border-top: 1px solid var(--vanity-soft-border); color: var(--vanity-muted); font-size: .87rem; }
.vanity-list-card > footer > span { margin-left: auto; }
.vanity-meta-grid { display: grid; grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr); gap: 5px 16px; margin: 16px 0; }
.vanity-meta-grid dt { color: var(--vanity-deep); font-family: var(--vanity-ui); font-size: .75rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.vanity-meta-grid dd { min-width: 0; margin: 0; }
.vanity-classifications { margin-top: 12px; }
.vanity-pagination, #alphabet, #pagelinks { padding: 10px 0; text-align: center; }
.vanity-pagination a, #alphabet a, #pagelinks a { display: inline-block; min-width: 32px; margin: 2px; padding: 5px 8px; border: 1px solid var(--vanity-border); border-radius: var(--vanity-radius-link); color: var(--vanity-plum); background: var(--vanity-panel); text-decoration: none; }
.vanity-pagination a:hover, #alphabet a:hover, #pagelinks a:hover, #alphabet #current_letter, #pagelinks #currentpage { color: #fff; background: var(--vanity-deep); }

.vanity-story-overview, .vanity-reading-card { overflow: hidden; }
.vanity-story-overview-head, .vanity-reading-head { padding: clamp(24px, 4vw, 42px); color: #fffaf0; background: linear-gradient(118deg, #713273, #99417e); }
.vanity-story-overview-head h2, .vanity-reading-head h2 { margin-bottom: 8px; color: #fffaf0; font-size: clamp(2rem, 5vw, 3.5rem); }
.vanity-story-overview-head .vanity-eyebrow, .vanity-reading-head .vanity-eyebrow { color: #f1cce9; }
.vanity-story-overview-head .vanity-byline, .vanity-reading-head .vanity-byline { color: rgba(255,250,240,.84); }
.vanity-story-actions, .vanity-reading-tools { margin-top: 18px; color: #fffaf0; font-family: var(--vanity-ui); font-size: .9rem; }
.vanity-story-actions a, .vanity-reading-tools a { color: #fffaf0; }
.vanity-story-overview-content, .vanity-reading-card > .jumpmenu, .vanity-reading-card > .respond, .vanity-reading-card > .jumpmenu2, .vanity-reading-card > form { margin-left: clamp(20px, 4vw, 42px); margin-right: clamp(20px, 4vw, 42px); }
.vanity-story-overview-content { padding: 25px 0; }
.vanity-summary-box { padding: 19px; border: 1px solid var(--vanity-soft-border); border-radius: var(--vanity-radius-notice); background: var(--vanity-canvas); }
.vanity-summary-box > p:first-child { margin-top: 0; font-size: 1.08rem; }
.vanity-favorite-action { margin-top: 17px; text-align: center; }
.vanity-note { margin: 18px 0; padding: 16px 19px; border: 1px solid #e1c2d2; border-left: 4px solid var(--vanity-mauve); border-radius: var(--vanity-radius-notice); background: #f8f0f5; }
.vanity-note h3 { margin-bottom: 7px; font-size: 1.05rem; }
.vanity-note p:last-child { margin-bottom: 0; }
.vanity-chapter-list { margin-top: 24px; }
.vanity-chapter-list > header { margin-bottom: 12px; }
.vanity-chapter-list > header h2 { margin-bottom: 0; }
.vanity-chapter-card { padding: 18px 20px; border-top: 1px solid var(--vanity-soft-border); background: var(--vanity-panel); }
.vanity-chapter-card:first-of-type { border-radius: var(--vanity-radius-card) var(--vanity-radius-card) 0 0; }
.vanity-chapter-card:last-child { border-radius: 0 0 var(--vanity-radius-card) var(--vanity-radius-card); }
.vanity-chapter-card h3 { margin-bottom: 5px; font-size: 1.17rem; }
.vanity-chapter-card p { margin: 5px 0; color: var(--vanity-muted); font-size: .9rem; }
.vanity-chapter-reviews { color: var(--vanity-deep) !important; }
.vanity-reading-card { padding-bottom: 32px; }
.vanity-reading-jump { padding-top: 18px; }
.vanity-story-text { max-width: 48rem; margin: 25px auto; font-size: 1.1rem; line-height: 1.8; }
.vanity-story-text p { margin: 0 0 1.3em; }
.vanity-story-text img, .vanity-story-text table { max-width: 100%; }
.vanity-chapter-nav { display: flex; min-height: 44px; margin: 22px clamp(20px, 4vw, 42px); justify-content: space-between; gap: 18px; }
.vanity-chapter-nav span { max-width: 48%; }
.vanity-chapter-nav #next { margin-left: auto; text-align: right; }
.respond { margin-top: 18px; margin-bottom: 18px; }

.vanity-profile-card { overflow: hidden; }
.vanity-profile-card > header { padding: 25px; color: #fffaf0; background: linear-gradient(118deg, #713273, #99417e); }
.vanity-profile-card h2 { margin: 0 0 4px; color: #fffaf0; font-size: 2rem; }
.vanity-profile-card .vanity-eyebrow { color: #f1cce9; }
.vanity-profile-realname { margin: 0; color: rgba(255,250,240,.82); }
.vanity-profile-content { display: grid; grid-template-columns: minmax(140px, 220px) 1fr; gap: 24px; padding: 24px; }
.vanity-profile-image img { border-radius: var(--vanity-radius-notice); }
.vanity-profile-bio, .vanity-profile-fields { margin-top: 16px; }
.vanity-profile-actions { margin-top: 17px; }
.vanity-tabs { display: flex; margin: 18px 0; gap: 6px; flex-wrap: wrap; }
.vanity-tabs span { display: inline-block; }
.vanity-tabs span a, .vanity-tabs span#active { display: inline-block; padding: 8px 10px; border: 1px solid var(--vanity-border); border-radius: var(--vanity-radius-link); background: var(--vanity-panel); text-decoration: none; }
.vanity-tabs span#active, .vanity-tabs span#active a { color: #fff; background: var(--vanity-deep); }

.vanity-review-card, .vanity-news-card, .vanity-comment-card { margin-top: 15px; padding: 18px; }
.vanity-review-card > header, .vanity-news-card > header { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; }
.vanity-review-card h3, .vanity-news-card h3 { margin: 0; font-size: 1.25rem; }
.vanity-review-rating, .vanity-review-meta, .vanity-news-card footer, .vanity-comment-card footer { color: var(--vanity-muted); font-size: .88rem; }
.vanity-review-copy { margin-top: 14px; }
.vanity-review-card footer { margin-top: 12px; }
.vanity-news-card + .vanity-news-card { margin-top: 12px; }
.vanity-news-card footer, .vanity-comment-card footer { margin-top: 12px; }
.vanity-category-card { display: grid; grid-template-columns: auto 1fr; gap: 15px; margin: 12px 0; padding: 15px; }
.vanity-category-image img { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; }
.vanity-category-card h3 { margin-bottom: 5px; font-size: 1.2rem; }
.vanity-category-card h3 span { color: var(--vanity-muted); font-family: var(--vanity-ui); font-size: .75rem; }
.vanity-category-card p { margin: 0; color: var(--vanity-muted); }

.newsbox { margin: 16px 0; padding: 18px; border: 1px solid var(--vanity-soft-border); border-radius: var(--vanity-radius-notice); background: var(--vanity-panel); }
.newstitle { margin-bottom: 10px; color: var(--vanity-plum); font-size: 1.2rem; font-weight: 700; }
.notes { margin: 18px 0; overflow: hidden; border: 1px solid #e1c2d2; border-radius: var(--vanity-radius-notice); background: #f8f0f5; }
.notes .title { padding: 10px 14px; border-bottom: 1px solid #e1c2d2; color: var(--vanity-plum); font-weight: 700; }
.notes .noteinfo { padding: 14px; }
.infobox { margin: 16px 0; padding: 17px; border: 1px solid var(--vanity-soft-border); border-radius: var(--vanity-radius-notice); background: var(--vanity-panel); }

.vanity-footer { display: grid; grid-template-columns: minmax(14rem, 1fr) auto; gap: 16px 28px; padding: 24px 36px; align-items: center; color: #fffaf0; background: linear-gradient(112deg, #713273, #99417e); }
.vanity-footer-brand { display: flex; gap: 10px; align-items: center; }
.vanity-footer-mark { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #713273; background: #fffaf0; font-size: 18px; font-style: italic; font-weight: 700; }
.vanity-footer-brand strong { font-size: 1rem; }
.vanity-footer-brand p { margin: 2px 0 0; color: rgba(255,250,240,.82); font-size: .78rem; }
.vanity-footer-links { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; font-family: var(--vanity-ui); font-size: .8rem; }
.vanity-footer a { color: #fffaf0; }
.vanity-footer-copy { grid-column: 1 / -1; color: rgba(255,250,240,.82); font-size: .78rem; }
.vanity-footer-tools { grid-column: 1 / -1; font-size: .78rem; }
.vanity-footer-tools select { min-height: 32px; color: var(--vanity-ink); }

@media (max-width: 860px) {
  body.vanity { padding: 12px; }
  .vanity-shell { border-radius: 15px; }
  .vanity-masthead { min-height: 104px; padding: 20px 21px; }
  .vanity-nav { padding: 10px 21px; align-items: flex-start; flex-direction: column; gap: 4px; }
  .vanity-nav-list { padding: 0; }
  .vanity-home-grid { grid-template-columns: 1fr; }
  .vanity-recent-panel, .vanity-featured-panel, .vanity-news-panel { grid-column: auto; }
  .vanity-welcome { grid-template-columns: 1fr; }
  .vanity-welcome-book { max-width: 420px; min-height: 200px; }
  .vanity-profile-content { grid-template-columns: 1fr; }
  .vanity-profile-image { max-width: 220px; }
}

@media (max-width: 560px) {
  body.vanity { padding: 0; }
  .vanity-shell { border: 0; border-radius: 0; }
  .vanity-masthead { min-height: 90px; padding: 17px; gap: 12px; }
  .vanity-brand { gap: 9px; }
  .vanity-brandmark { width: 39px; height: 49px; font-size: 25px; }
  .vanity-brandmark::before { top: 5px; width: 18px; height: 20px; border-width: 2px; border-bottom-width: 3px; }
  .vanity-brandmark::after { bottom: 4px; width: 23px; height: 16px; border-width: 2px; }
  .vanity-brandmark span { margin-top: 16px; }
  .vanity-brandcopy h1 { font-size: 1.3rem; }
  .vanity-kicker, .vanity-slogan { font-size: 9px; }
  .vanity-masthead-action a { min-height: 34px; padding: 6px 8px; font-size: 11px; }
  .vanity-nav { padding: 10px 17px; }
  .vanity-nav-list { gap: 2px; }
  .vanity-nav-list a { padding: 8px; font-size: 12px; }
  .vanity-main { padding: 34px 17px; }
  .vanity-page-card, .vanity-panel { padding: 17px; }
  .vanity-welcome { margin: 0 -17px; padding: 38px 17px; border-right: 0; border-left: 0; border-radius: 0; }
  .vanity-welcome-copy h2 { font-size: 2.45rem; }
  .vanity-story-card, .vanity-featured-story { grid-template-columns: 86px 1fr; gap: 13px; }
  .vanity-list-card > header { padding: 16px; align-items: stretch; flex-direction: column; }
  .vanity-list-card > header h2 { font-size: 1.25rem; }
  .vanity-rating { max-width: none; text-align: left; }
  .vanity-card-content { padding: 17px; }
  .vanity-list-card > footer { padding: 13px 17px; }
  .vanity-list-card > footer > span { width: 100%; margin-left: 0; }
  .vanity-meta-grid { grid-template-columns: 1fr; gap: 2px; }
  .vanity-meta-grid dd { margin-bottom: 7px; }
  .vanity-story-overview-head, .vanity-reading-head { padding: 25px 20px; }
  .vanity-story-overview-head h2, .vanity-reading-head h2 { font-size: 2rem; }
  .vanity-story-overview-content, .vanity-reading-card > .jumpmenu, .vanity-reading-card > .respond, .vanity-reading-card > .jumpmenu2, .vanity-reading-card > form { margin-left: 20px; margin-right: 20px; }
  .vanity-story-text { margin: 22px 20px; font-size: 1.05rem; line-height: 1.75; }
  .vanity-chapter-nav { margin: 22px 20px; }
  .vanity-footer { grid-template-columns: 1fr; padding: 22px 17px; }
  .vanity-footer-links { justify-content: flex-start; }
  table { display: block; overflow-x: auto; }
}

@media (prefers-color-scheme: dark) {
  :root {
    --vanity-paper: #241e28;
    --vanity-panel: #2d2532;
    --vanity-canvas: #332838;
    --vanity-ink: #f4edf2;
    --vanity-plum: #f1cce9;
    --vanity-deep: #e7b2d9;
    --vanity-border: #805676;
    --vanity-soft-border: #513b4c;
    --vanity-soft-mauve: #332838;
    --vanity-soft-sage: #2d3a2f;
    --vanity-green-bright: #5bb765;
    --vanity-muted: #c5b6c1;
    --vanity-shadow: rgba(0, 0, 0, .45);
  }
  html, body.vanity { background: #241e28; }
  input, select, textarea { color: var(--vanity-ink); background: #241e28; }
  .vanity-nav { background: #2d2532; }
  .vanity-welcome { background: #332838; }
  .vanity-summary-box { background: #241e28; }
  .vanity-note, .notes { border-color: #805676; color: #f4edf2; background: #332838; }
  .notes .title { border-color: #805676; }
  .vanity-list-card > header { background: #332838; }
  .vanity-welcome-book { color: #241e28; background: #e7b2d9; }
  .vanity-welcome-book strong { color: rgba(82,35,86,.24); }
  .vanity-welcome-book span, .vanity-welcome-book em { color: #522356; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}


/* TGFiction COTTAGEPUNK: light cottagecore, dark cyberpunk. */
html { background: #dce8d5; }
body.vanity.cottagepunk {
  --vanity-paper: #edf1df;
  --vanity-panel: #f8f5e9;
  --vanity-canvas: #fffdf7;
  --vanity-ink: #25342b;
  --vanity-plum: #315b45;
  --vanity-deep: #9b4a34;
  --vanity-mauve: #a65472;
  --vanity-border: #a7bb91;
  --vanity-soft-border: #c8d5bb;
  --vanity-soft-mauve: #e6edda;
  --vanity-soft-sage: #e1ead0;
  --vanity-green: #3d693f;
  --vanity-green-bright: #739548;
  --vanity-muted: #526357;
  --vanity-shadow: rgba(37,52,43,.14);
  color: var(--vanity-ink);
  background: radial-gradient(circle at 8% 6%,rgba(255,255,255,.8) 0 5%,transparent 22%),linear-gradient(145deg,#e3ecd8,#f6f1e6 52%,#dce7d2);
}
.cottagepunk a:focus,.cottagepunk button:focus,.cottagepunk input:focus,.cottagepunk select:focus,.cottagepunk textarea:focus { outline-color: #005fcc; }
.cottagepunk .vanity-shell { border-color: #b7c8a7; box-shadow: 0 18px 58px rgba(37,52,43,.16); }
.cottagepunk .vanity-masthead { position: relative; overflow: hidden; background: radial-gradient(circle at 88% 18%,rgba(255,231,175,.5) 0 2%,transparent 19%),linear-gradient(112deg,#355b42,#607946 47%,#9a8a50); }
.cottagepunk .vanity-masthead::after { position:absolute; right:-24px; bottom:-48px; width:180px; height:180px; border:1px solid rgba(255,250,224,.42); border-radius:50%; box-shadow:-34px -24px 0 -32px rgba(255,250,224,.8),-66px -62px 0 -62px rgba(255,250,224,.62); content:""; }
.cottagepunk .vanity-brand,.cottagepunk .vanity-masthead-action { position:relative; z-index:1; }
.cottagepunk .vanity-brandmark { border-color:#f7d87e; background:#f7d87e; box-shadow:inset 0 0 0 4px #c97b46; color:#315b45; }
.cottagepunk .vanity-brandmark::before,.cottagepunk .vanity-brandmark::after { border-color:#315b45; }
.cottagepunk .vanity-kicker { color:#edf6d6; }
.cottagepunk .vanity-nav { border-bottom-color:#c8d5bb; background:rgba(248,245,233,.96); }
.cottagepunk .vanity-nav-label { color:#9b4a34; }
.cottagepunk .vanity-nav-list a { color:#315b45; }
.cottagepunk .vanity-nav-list a:hover,.cottagepunk .vanity-nav-list a#current { background:#3d693f; }
.cottagepunk .vanity-page-card,.cottagepunk .vanity-panel,.cottagepunk .vanity-story-overview,.cottagepunk .vanity-reading-card,.cottagepunk .vanity-profile-card,.cottagepunk .vanity-list-card,.cottagepunk .vanity-review-card,.cottagepunk .vanity-category-card { box-shadow:0 3px 14px rgba(37,52,43,.09),inset 0 1px 0 rgba(255,255,255,.8); }
.cottagepunk .vanity-welcome { position:relative; isolation:isolate; background:radial-gradient(circle at 86% 12%,rgba(255,244,191,.72) 0 3%,transparent 20%),radial-gradient(circle at 80% 85%,rgba(171,201,125,.35) 0 5%,transparent 30%),linear-gradient(135deg,#e9f0d9,#fff9e9 54%,#f3e4c9); }
.cottagepunk .vanity-welcome::after { position:absolute; z-index:-1; right:3%; bottom:-43px; width:230px; height:140px; border-radius:50% 50% 0 0; background:repeating-radial-gradient(ellipse at bottom,rgba(99,127,70,.18) 0 1px,transparent 2px 15px); content:""; }
.cottagepunk .vanity-welcome-copy h2 em { color:#a65472; }
.cottagepunk .vanity-welcome-action a { border-color:#2f5e38; background:#3d693f; }
.cottagepunk .vanity-welcome-action a:hover { background:#739548; }
.cottagepunk .vanity-welcome-book { border-left-color:#e1b35a; color:#fffdf2; background:linear-gradient(155deg,#496943,#657544 62%,#9b7848); }
.cottagepunk .vanity-welcome-book strong { color:rgba(255,230,161,.34); }
.cottagepunk .vanity-list-card > header,.cottagepunk .vanity-summary-box { background:#f0f4e5; }
.cottagepunk .vanity-note,.cottagepunk .notes { border-color:#d8baa8; border-left-color:#a65472; background:#fff5ed; }
.cottagepunk .vanity-filterbar { border-color:#bcd09f; border-left-color:#739548; background:#edf4df; }
.cottagepunk .vanity-filter-label { color:#3d693f; }
.cottagepunk .vanity-footer { background:linear-gradient(112deg,#355b42,#607946,#897345); }
.cottagepunk .vanity-footer-mark { color:#355b42; background:#fff7df; }

/* Class-based version lets the delivered preview show dark mode deterministically. */
body.vanity.cottagepunk.mode-cyberpunk {
  --vanity-paper:#10131d; --vanity-panel:#1b2030; --vanity-canvas:#121522; --vanity-ink:#f1f3fa;
  --vanity-plum:#77e7f2; --vanity-deep:#ff78b7; --vanity-mauve:#ae6bff; --vanity-border:#39435a;
  --vanity-soft-border:#2a3952; --vanity-soft-mauve:#161b34; --vanity-soft-sage:#102b2c;
  --vanity-green:#00b987; --vanity-green-bright:#b5ff3f; --vanity-muted:#b7c0d6; --vanity-shadow:rgba(0,0,0,.72);
  background:radial-gradient(circle at 70% 0%,#251443 0,transparent 34%),linear-gradient(145deg,#070913,#121522 52%,#07131d);
}
.cottagepunk.mode-cyberpunk a:focus,.cottagepunk.mode-cyberpunk button:focus,.cottagepunk.mode-cyberpunk input:focus,.cottagepunk.mode-cyberpunk select:focus,.cottagepunk.mode-cyberpunk textarea:focus { outline-color:#ffe36e; }
.cottagepunk.mode-cyberpunk .vanity-shell { border-color:#34466a; box-shadow:0 18px 58px rgba(0,0,0,.7),0 0 30px rgba(61,243,255,.11); }
.cottagepunk.mode-cyberpunk .vanity-masthead { background:linear-gradient(115deg,rgba(6,13,31,.94),rgba(45,12,73,.88) 53%,rgba(72,7,66,.92)),repeating-linear-gradient(90deg,rgba(93,238,255,.13) 0 1px,transparent 1px 42px),repeating-linear-gradient(0deg,rgba(255,89,194,.1) 0 1px,transparent 1px 42px); }
.cottagepunk.mode-cyberpunk .vanity-masthead::after { border-color:rgba(119,231,242,.54); box-shadow:-34px -24px 0 -32px rgba(181,255,63,.72),-66px -62px 0 -62px rgba(255,120,183,.58); }
.cottagepunk.mode-cyberpunk .vanity-brandmark { border-color:#77e7f2; background:#101b30; box-shadow:inset 0 0 0 4px #ae6bff,0 0 17px rgba(119,231,242,.55); color:#b5ff3f; }
.cottagepunk.mode-cyberpunk .vanity-brandmark::before,.cottagepunk.mode-cyberpunk .vanity-brandmark::after { border-color:#77e7f2; }
.cottagepunk.mode-cyberpunk .vanity-kicker { color:#b5ff3f; }
.cottagepunk.mode-cyberpunk .vanity-nav { background:#11182a; border-color:#2a3952; }
.cottagepunk.mode-cyberpunk .vanity-nav-label,.cottagepunk.mode-cyberpunk .vanity-nav-list a { color:#77e7f2; }
.cottagepunk.mode-cyberpunk .vanity-nav-list a:hover,.cottagepunk.mode-cyberpunk .vanity-nav-list a#current { color:#071119; background:#b5ff3f; }
.cottagepunk.mode-cyberpunk .vanity-page-card,.cottagepunk.mode-cyberpunk .vanity-panel,.cottagepunk.mode-cyberpunk .vanity-story-overview,.cottagepunk.mode-cyberpunk .vanity-reading-card,.cottagepunk.mode-cyberpunk .vanity-profile-card,.cottagepunk.mode-cyberpunk .vanity-list-card,.cottagepunk.mode-cyberpunk .vanity-review-card,.cottagepunk.mode-cyberpunk .vanity-category-card { box-shadow:0 0 0 1px rgba(119,231,242,.08),0 8px 24px rgba(0,0,0,.35); }
.cottagepunk.mode-cyberpunk .vanity-welcome { background:radial-gradient(circle at 84% 16%,rgba(181,255,63,.26) 0 3%,transparent 18%),radial-gradient(circle at 17% 78%,rgba(119,231,242,.18) 0 8%,transparent 39%),linear-gradient(135deg,#111a31,#231543 56%,#29102e); }
.cottagepunk.mode-cyberpunk .vanity-welcome::after { background:repeating-radial-gradient(ellipse at bottom,rgba(119,231,242,.25) 0 1px,transparent 2px 15px); }
.cottagepunk.mode-cyberpunk .vanity-welcome-copy h2 em { color:#ff78b7; }
.cottagepunk.mode-cyberpunk .vanity-welcome-action a { border-color:#00dca1; color:#071119; background:#b5ff3f; }
.cottagepunk.mode-cyberpunk .vanity-welcome-book { border-left-color:#77e7f2; color:#eaffff; background:linear-gradient(150deg,#0e2740,#33156b 62%,#70125b); box-shadow:7px 8px 0 rgba(0,0,0,.5),0 0 18px rgba(119,231,242,.23); }
.cottagepunk.mode-cyberpunk .vanity-welcome-book strong { color:rgba(119,231,242,.29); }
.cottagepunk.mode-cyberpunk .vanity-list-card > header,.cottagepunk.mode-cyberpunk .vanity-summary-box { background:#151d31; }
.cottagepunk.mode-cyberpunk .vanity-note,.cottagepunk.mode-cyberpunk .notes { border-color:#6b3c77; border-left-color:#ff78b7; color:#f1f3fa; background:#25182e; }
.cottagepunk.mode-cyberpunk .vanity-filterbar { border-color:#276b6c; border-left-color:#b5ff3f; background:#102b2c; }
.cottagepunk.mode-cyberpunk .vanity-filter-label { color:#b5ff3f; }
.cottagepunk.mode-cyberpunk .vanity-footer { background:linear-gradient(112deg,#0d182b,#2b1555,#5e124f); }
.cottagepunk.mode-cyberpunk .vanity-footer-mark { color:#0b1526; background:#77e7f2; }

@media (prefers-color-scheme: dark) {
  html { background:#070913; }
  body.vanity.cottagepunk {
    --vanity-paper:#10131d; --vanity-panel:#1b2030; --vanity-canvas:#121522; --vanity-ink:#f1f3fa;
    --vanity-plum:#77e7f2; --vanity-deep:#ff78b7; --vanity-mauve:#ae6bff; --vanity-border:#39435a;
    --vanity-soft-border:#2a3952; --vanity-soft-mauve:#161b34; --vanity-soft-sage:#102b2c;
    --vanity-green:#00b987; --vanity-green-bright:#b5ff3f; --vanity-muted:#b7c0d6; --vanity-shadow:rgba(0,0,0,.72);
    background:radial-gradient(circle at 70% 0%,#251443 0,transparent 34%),linear-gradient(145deg,#070913,#121522 52%,#07131d);
  }
  .cottagepunk a:focus,.cottagepunk button:focus,.cottagepunk input:focus,.cottagepunk select:focus,.cottagepunk textarea:focus { outline-color:#ffe36e; }
  .cottagepunk .vanity-shell { border-color:#34466a; box-shadow:0 18px 58px rgba(0,0,0,.7),0 0 30px rgba(61,243,255,.11); }
  .cottagepunk .vanity-masthead { background:linear-gradient(115deg,rgba(6,13,31,.94),rgba(45,12,73,.88) 53%,rgba(72,7,66,.92)),repeating-linear-gradient(90deg,rgba(93,238,255,.13) 0 1px,transparent 1px 42px),repeating-linear-gradient(0deg,rgba(255,89,194,.1) 0 1px,transparent 1px 42px); }
  .cottagepunk .vanity-masthead::after { border-color:rgba(119,231,242,.54); box-shadow:-34px -24px 0 -32px rgba(181,255,63,.72),-66px -62px 0 -62px rgba(255,120,183,.58); }
  .cottagepunk .vanity-brandmark { border-color:#77e7f2; background:#101b30; box-shadow:inset 0 0 0 4px #ae6bff,0 0 17px rgba(119,231,242,.55); color:#b5ff3f; }
  .cottagepunk .vanity-brandmark::before,.cottagepunk .vanity-brandmark::after { border-color:#77e7f2; }
  .cottagepunk .vanity-kicker { color:#b5ff3f; }
  .cottagepunk .vanity-nav { background:#11182a; border-color:#2a3952; }
  .cottagepunk .vanity-nav-label,.cottagepunk .vanity-nav-list a { color:#77e7f2; }
  .cottagepunk .vanity-nav-list a:hover,.cottagepunk .vanity-nav-list a#current { color:#071119; background:#b5ff3f; }
  .cottagepunk .vanity-page-card,.cottagepunk .vanity-panel,.cottagepunk .vanity-story-overview,.cottagepunk .vanity-reading-card,.cottagepunk .vanity-profile-card,.cottagepunk .vanity-list-card,.cottagepunk .vanity-review-card,.cottagepunk .vanity-category-card { box-shadow:0 0 0 1px rgba(119,231,242,.08),0 8px 24px rgba(0,0,0,.35); }
  .cottagepunk .vanity-welcome { background:radial-gradient(circle at 84% 16%,rgba(181,255,63,.26) 0 3%,transparent 18%),radial-gradient(circle at 17% 78%,rgba(119,231,242,.18) 0 8%,transparent 39%),linear-gradient(135deg,#111a31,#231543 56%,#29102e); }
  .cottagepunk .vanity-welcome::after { background:repeating-radial-gradient(ellipse at bottom,rgba(119,231,242,.25) 0 1px,transparent 2px 15px); }
  .cottagepunk .vanity-welcome-copy h2 em { color:#ff78b7; }
  .cottagepunk .vanity-welcome-action a { border-color:#00dca1; color:#071119; background:#b5ff3f; }
  .cottagepunk .vanity-welcome-book { border-left-color:#77e7f2; color:#eaffff; background:linear-gradient(150deg,#0e2740,#33156b 62%,#70125b); box-shadow:7px 8px 0 rgba(0,0,0,.5),0 0 18px rgba(119,231,242,.23); }
  .cottagepunk .vanity-welcome-book strong { color:rgba(119,231,242,.29); }
  .cottagepunk .vanity-list-card > header,.cottagepunk .vanity-summary-box { background:#151d31; }
  .cottagepunk .vanity-note,.cottagepunk .notes { border-color:#6b3c77; border-left-color:#ff78b7; color:#f1f3fa; background:#25182e; }
  .cottagepunk .vanity-filterbar { border-color:#276b6c; border-left-color:#b5ff3f; background:#102b2c; }
  .cottagepunk .vanity-filter-label { color:#b5ff3f; }
  .cottagepunk .vanity-footer { background:linear-gradient(112deg,#0d182b,#2b1555,#5e124f); }
  .cottagepunk .vanity-footer-mark { color:#0b1526; background:#77e7f2; }
}


/* TGFiction logo marks: SVG assets switch with the same preference as the skin. */
.cottagepunk .vanity-brandmark.tg-logo-brand {
  display: block;
  width: 68px;
  height: 72px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}
.cottagepunk .vanity-brandmark.tg-logo-brand::before,
.cottagepunk .vanity-brandmark.tg-logo-brand::after { display: none; content: none; }
.cottagepunk .tg-logo-brand img { display: block; width: 100%; height: 100%; object-fit: contain; }
.cottagepunk .tg-logo-dark { display: none !important; }
.cottagepunk.mode-cyberpunk .tg-logo-light { display: none !important; }
.cottagepunk.mode-cyberpunk .tg-logo-dark { display: block !important; }
@media (prefers-color-scheme: dark) {
  .cottagepunk .tg-logo-light { display: none !important; }
  .cottagepunk .tg-logo-dark { display: block !important; }
}
@media (max-width: 560px) {
  .cottagepunk .vanity-brandmark.tg-logo-brand { width: 42px; height: 48px; }
}


/* Visible homepage discovery copy for readers and prospective authors. */
.cottagepunk .vanity-discover-panel {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.28fr);
  gap: clamp(20px, 4vw, 52px);
  align-items: start;
  border-color: var(--vanity-border);
  background: linear-gradient(112deg, var(--vanity-soft-sage), var(--vanity-panel) 64%);
}
.cottagepunk .vanity-discover-panel h2 { max-width: 13ch; margin: 0; font-size: clamp(1.65rem, 3.2vw, 2.35rem); }
.cottagepunk .vanity-discover-copy { max-width: 48rem; }
.cottagepunk .vanity-discover-copy > p:first-child { margin-top: 0; }
.cottagepunk .vanity-discover-copy p { margin-bottom: 1rem; }
.cottagepunk .vanity-discover-actions { display: flex; margin: 1.4rem 0 0; gap: 10px 14px; align-items: center; flex-wrap: wrap; font-family: var(--vanity-ui); font-size: .9rem; }
.cottagepunk .vanity-discover-actions a { font-weight: 700; }
.cottagepunk .vanity-discover-actions .vanity-discover-primary { display: inline-block; padding: 10px 13px; border: 1px solid #2f5e38; border-radius: var(--vanity-radius-link); color: #fff; background: var(--vanity-green); text-decoration: none; }
.cottagepunk .vanity-discover-actions .vanity-discover-primary:hover { color: #fff; background: var(--vanity-green-bright); }
body.vanity.cottagepunk.mode-cyberpunk .vanity-discover-actions .vanity-discover-primary { border-color: #00dca1; color: #071119; background: #b5ff3f; }
@media (prefers-color-scheme: dark) {
  .cottagepunk .vanity-discover-actions .vanity-discover-primary { border-color: #00dca1; color: #071119; background: #b5ff3f; }
}
@media (max-width: 860px) {
  .cottagepunk .vanity-discover-panel { grid-template-columns: 1fr; }
  .cottagepunk .vanity-discover-panel h2 { max-width: 21ch; }
}


/* Chapter identity is visible in the reader view as well as in page metadata. */
.cottagepunk .vanity-chapter-label { margin: 1.1rem 0 .15rem; color: var(--vanity-deep); font: 700 .78rem/1.2 var(--vanity-ui); letter-spacing: .08em; text-transform: uppercase; }
.cottagepunk .vanity-chapter-title { margin: 0; color: var(--vanity-ink); font-size: clamp(1.18rem, 2.3vw, 1.52rem); line-height: 1.25; }


/* A visitor-selected mode overrides the operating-system preference and is remembered locally. */
html[data-cottagepunk-theme='light'] { background: #dce8d5; color-scheme: light; }
html[data-cottagepunk-theme='dark'] { background: #070913; color-scheme: dark; }
html[data-cottagepunk-theme='light'] body.vanity.cottagepunk,
body.vanity.cottagepunk.mode-cottagecore {
  --vanity-paper:#edf1df; --vanity-panel:#f8f5e9; --vanity-canvas:#fffdf7; --vanity-ink:#25342b;
  --vanity-plum:#315b45; --vanity-deep:#9b4a34; --vanity-mauve:#a65472; --vanity-border:#a7bb91;
  --vanity-soft-border:#c8d5bb; --vanity-soft-mauve:#e6edda; --vanity-soft-sage:#e1ead0;
  --vanity-green:#3d693f; --vanity-green-bright:#739548; --vanity-muted:#526357; --vanity-shadow:rgba(37,52,43,.14);
  background:radial-gradient(circle at 8% 6%,rgba(255,255,255,.8) 0 5%,transparent 22%),linear-gradient(145deg,#e3ecd8,#f6f1e6 52%,#dce7d2);
}
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-shell,
.cottagepunk.mode-cottagecore .vanity-shell { border-color:#b7c8a7; box-shadow:0 18px 58px rgba(37,52,43,.16); }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-masthead,
.cottagepunk.mode-cottagecore .vanity-masthead { background:radial-gradient(circle at 88% 18%,rgba(255,231,175,.5) 0 2%,transparent 19%),linear-gradient(112deg,#355b42,#607946 47%,#9a8a50); }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-masthead::after,
.cottagepunk.mode-cottagecore .vanity-masthead::after { border-color:rgba(255,250,224,.42); box-shadow:-34px -24px 0 -32px rgba(255,250,224,.8),-66px -62px 0 -62px rgba(255,250,224,.62); }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-kicker,
.cottagepunk.mode-cottagecore .vanity-kicker { color:#edf6d6; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-nav,
.cottagepunk.mode-cottagecore .vanity-nav { border-bottom-color:#c8d5bb; background:rgba(248,245,233,.96); }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-nav-label,
.cottagepunk.mode-cottagecore .vanity-nav-label { color:#9b4a34; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-nav-list a,
.cottagepunk.mode-cottagecore .vanity-nav-list a { color:#315b45; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-nav-list a:hover,
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-nav-list a#current,
.cottagepunk.mode-cottagecore .vanity-nav-list a:hover,
.cottagepunk.mode-cottagecore .vanity-nav-list a#current { color:#fff; background:#3d693f; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-welcome,
.cottagepunk.mode-cottagecore .vanity-welcome { background:radial-gradient(circle at 86% 12%,rgba(255,244,191,.72) 0 3%,transparent 20%),radial-gradient(circle at 80% 85%,rgba(171,201,125,.35) 0 5%,transparent 30%),linear-gradient(135deg,#e9f0d9,#fff9e9 54%,#f3e4c9); }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-list-card > header,
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-summary-box,
.cottagepunk.mode-cottagecore .vanity-list-card > header,
.cottagepunk.mode-cottagecore .vanity-summary-box { background:#f0f4e5; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-note,
html[data-cottagepunk-theme='light'] .cottagepunk .notes,
.cottagepunk.mode-cottagecore .vanity-note,
.cottagepunk.mode-cottagecore .notes { border-color:#d8baa8; border-left-color:#a65472; color:var(--vanity-ink); background:#fff5ed; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-footer,
.cottagepunk.mode-cottagecore .vanity-footer { background:linear-gradient(112deg,#355b42,#607946,#897345); }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-footer-mark,
.cottagepunk.mode-cottagecore .vanity-footer-mark { color:#355b42; background:#fff7df; }
html[data-cottagepunk-theme='light'] .cottagepunk .tg-logo-light,
.cottagepunk.mode-cottagecore .tg-logo-light { display:block !important; }
html[data-cottagepunk-theme='light'] .cottagepunk .tg-logo-dark,
.cottagepunk.mode-cottagecore .tg-logo-dark { display:none !important; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-discover-actions .vanity-discover-primary,
.cottagepunk.mode-cottagecore .vanity-discover-actions .vanity-discover-primary { border-color:#2f5e38; color:#fff; background:#3d693f; }

.cottagepunk .vanity-masthead-tools { position:relative; z-index:1; display:flex; align-items:center; gap:9px; }
.cottagepunk .vanity-theme-toggle { min-height:40px; padding:8px 12px; border:1px solid rgba(255,255,255,.72); border-radius:999px; color:#fffaf0; background:rgba(15,25,27,.2); box-shadow:none; font:700 12px/1.1 var(--vanity-ui); letter-spacing:.02em; }
.cottagepunk .vanity-theme-toggle:hover { color:#fff; background:rgba(13,34,39,.48); }
.cottagepunk.mode-cyberpunk .vanity-theme-toggle { border-color:rgba(119,231,242,.72); color:#eaffff; background:rgba(7,17,25,.5); }
.cottagepunk.mode-cyberpunk .vanity-theme-toggle:hover { color:#071119; background:#b5ff3f; }
@media (prefers-color-scheme: dark) {
  .cottagepunk .vanity-theme-toggle { border-color:rgba(119,231,242,.72); color:#eaffff; background:rgba(7,17,25,.5); }
  .cottagepunk .vanity-theme-toggle:hover { color:#071119; background:#b5ff3f; }
}
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-theme-toggle,
.cottagepunk.mode-cottagecore .vanity-theme-toggle { border-color:rgba(255,255,255,.72); color:#fffaf0; background:rgba(15,25,27,.2); }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-theme-toggle:hover,
.cottagepunk.mode-cottagecore .vanity-theme-toggle:hover { color:#fff; background:rgba(13,34,39,.48); }
@media (max-width: 560px) {
  .cottagepunk .vanity-masthead-tools { gap:6px; }
  .cottagepunk .vanity-theme-toggle { min-height:34px; padding:6px 8px; font-size:10px; }
}

html[data-cottagepunk-theme='light'] .cottagepunk a:focus,
html[data-cottagepunk-theme='light'] .cottagepunk button:focus,
html[data-cottagepunk-theme='light'] .cottagepunk input:focus,
html[data-cottagepunk-theme='light'] .cottagepunk select:focus,
html[data-cottagepunk-theme='light'] .cottagepunk textarea:focus,
.cottagepunk.mode-cottagecore a:focus,
.cottagepunk.mode-cottagecore button:focus,
.cottagepunk.mode-cottagecore input:focus,
.cottagepunk.mode-cottagecore select:focus,
.cottagepunk.mode-cottagecore textarea:focus { outline-color:#005fcc; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-brandmark,
.cottagepunk.mode-cottagecore .vanity-brandmark { border-color:#f7d87e; background:#f7d87e; box-shadow:inset 0 0 0 4px #c97b46; color:#315b45; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-brandmark::before,
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-brandmark::after,
.cottagepunk.mode-cottagecore .vanity-brandmark::before,
.cottagepunk.mode-cottagecore .vanity-brandmark::after { border-color:#315b45; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-page-card,
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-panel,
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-story-overview,
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-reading-card,
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-profile-card,
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-list-card,
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-review-card,
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-category-card,
.cottagepunk.mode-cottagecore .vanity-page-card,
.cottagepunk.mode-cottagecore .vanity-panel,
.cottagepunk.mode-cottagecore .vanity-story-overview,
.cottagepunk.mode-cottagecore .vanity-reading-card,
.cottagepunk.mode-cottagecore .vanity-profile-card,
.cottagepunk.mode-cottagecore .vanity-list-card,
.cottagepunk.mode-cottagecore .vanity-review-card,
.cottagepunk.mode-cottagecore .vanity-category-card { box-shadow:0 3px 14px rgba(37,52,43,.09),inset 0 1px 0 rgba(255,255,255,.8); }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-welcome::after,
.cottagepunk.mode-cottagecore .vanity-welcome::after { background:repeating-radial-gradient(ellipse at bottom,rgba(99,127,70,.18) 0 1px,transparent 2px 15px); }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-welcome-copy h2 em,
.cottagepunk.mode-cottagecore .vanity-welcome-copy h2 em { color:#a65472; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-welcome-action a,
.cottagepunk.mode-cottagecore .vanity-welcome-action a { border-color:#2f5e38; color:#fff; background:#3d693f; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-welcome-action a:hover,
.cottagepunk.mode-cottagecore .vanity-welcome-action a:hover { color:#fff; background:#739548; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-welcome-book,
.cottagepunk.mode-cottagecore .vanity-welcome-book { border-left-color:#e1b35a; color:#fffdf2; background:linear-gradient(155deg,#496943,#657544 62%,#9b7848); box-shadow:7px 8px 0 rgba(47,36,48,.16); }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-welcome-book strong,
.cottagepunk.mode-cottagecore .vanity-welcome-book strong { color:rgba(255,230,161,.34); }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-welcome-book span,
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-welcome-book em,
.cottagepunk.mode-cottagecore .vanity-welcome-book span,
.cottagepunk.mode-cottagecore .vanity-welcome-book em { color:#fffdf2; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-filterbar,
.cottagepunk.mode-cottagecore .vanity-filterbar { border-color:#bcd09f; border-left-color:#739548; background:#edf4df; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-filter-label,
.cottagepunk.mode-cottagecore .vanity-filter-label { color:#3d693f; }


/* 1.3.1 interaction fix: the decorative masthead rings must never cover controls. */
.cottagepunk .vanity-masthead::after {
  right: -96px;
  bottom: -96px;
  width: 150px;
  height: 150px;
  z-index: 0;
  pointer-events: none;
}
.cottagepunk .vanity-brand,
.cottagepunk .vanity-masthead-tools,
.cottagepunk .vanity-masthead-action {
  position: relative;
  z-index: 2;
}
@media (max-width: 560px) {
  .cottagepunk .vanity-masthead::after { display: none; }
}


/* 1.4.0 generic story covers: real ePub art takes precedence; empty thumbnails become title covers. */
.cottagepunk .vanity-story-thumb {
  position: relative;
  display: grid;
  min-height: 0;
  aspect-ratio: 3 / 4;
  isolation: isolate;
}
.cottagepunk .vanity-story-thumb > img {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 100%;
  object-fit: cover;
}
.cottagepunk .vanity-fallback-cover {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 100%;
  padding: 11px 10px 10px 12px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 11px;
  overflow: hidden;
  border-left: 5px solid #739548;
  border-radius: inherit;
  color: #fffdf2;
  background:
    radial-gradient(circle at 116% -8%, rgba(255,231,175,.32) 0 8%, transparent 32%),
    linear-gradient(155deg, #415d41, #657544 58%, #956e47);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
  text-decoration: none;
}
.cottagepunk .vanity-fallback-cover::after {
  position: absolute;
  z-index: -1;
  right: -22px;
  bottom: -46px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(255,250,224,.36);
  border-radius: 50%;
  box-shadow: -24px -20px 0 -22px rgba(255,250,224,.45);
  content: "";
}
.cottagepunk .vanity-fallback-cover-kicker,
.cottagepunk .vanity-fallback-cover-label {
  display: block;
  color: inherit;
  font: 700 8px/1.2 var(--vanity-ui);
  letter-spacing: .11em;
  text-transform: uppercase;
}
.cottagepunk .vanity-fallback-cover-title {
  display: block;
  max-height: 5.1em;
  overflow: hidden;
  color: inherit;
  font: 700 clamp(1.05rem, 2.1vw, 1.6rem)/1.02 var(--vanity-reading);
  text-wrap: balance;
}
.cottagepunk .vanity-fallback-cover-title a {
  color: inherit;
  text-decoration: none;
}
.cottagepunk .vanity-fallback-cover-title a:hover { color: #fffdf2; text-decoration: underline; }
.cottagepunk .vanity-fallback-cover-title a:focus { outline-color: #fffdf2; }
/* The dynamic ePub thumbnail is emitted before the fallback only when a real cover exists. */
.cottagepunk .vanity-story-thumb > img + .vanity-fallback-cover { display: none; }

.cottagepunk.mode-cyberpunk .vanity-fallback-cover {
  border-left-color: #b5ff3f;
  color: #f4fbff;
  background:
    radial-gradient(circle at 116% -8%, rgba(119,231,242,.28) 0 8%, transparent 32%),
    linear-gradient(155deg, #25164d, #623471 58%, #842e6d);
  box-shadow: inset 0 0 0 1px rgba(119,231,242,.28), 0 0 14px rgba(119,231,242,.15);
}
.cottagepunk.mode-cyberpunk .vanity-fallback-cover::after {
  border-color: rgba(119,231,242,.46);
  box-shadow: -24px -20px 0 -22px rgba(181,255,63,.55);
}
.cottagepunk.mode-cyberpunk .vanity-fallback-cover-title a:hover { color: #b5ff3f; }
.cottagepunk.mode-cyberpunk .vanity-fallback-cover-title a:focus { outline-color: #b5ff3f; }

@media (prefers-color-scheme: dark) {
  .cottagepunk .vanity-fallback-cover {
    border-left-color: #b5ff3f;
    color: #f4fbff;
    background:
      radial-gradient(circle at 116% -8%, rgba(119,231,242,.28) 0 8%, transparent 32%),
      linear-gradient(155deg, #25164d, #623471 58%, #842e6d);
    box-shadow: inset 0 0 0 1px rgba(119,231,242,.28), 0 0 14px rgba(119,231,242,.15);
  }
  .cottagepunk .vanity-fallback-cover::after {
    border-color: rgba(119,231,242,.46);
    box-shadow: -24px -20px 0 -22px rgba(181,255,63,.55);
  }
  .cottagepunk .vanity-fallback-cover-title a:hover { color: #b5ff3f; }
  .cottagepunk .vanity-fallback-cover-title a:focus { outline-color: #b5ff3f; }
}

html[data-cottagepunk-theme='light'] .cottagepunk .vanity-fallback-cover,
.cottagepunk.mode-cottagecore .vanity-fallback-cover {
  border-left-color: #739548;
  color: #fffdf2;
  background:
    radial-gradient(circle at 116% -8%, rgba(255,231,175,.32) 0 8%, transparent 32%),
    linear-gradient(155deg, #415d41, #657544 58%, #956e47);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
}
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-fallback-cover::after,
.cottagepunk.mode-cottagecore .vanity-fallback-cover::after {
  border-color: rgba(255,250,224,.36);
  box-shadow: -24px -20px 0 -22px rgba(255,250,224,.45);
}
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-fallback-cover-title a:hover,
.cottagepunk.mode-cottagecore .vanity-fallback-cover-title a:hover { color: #fffdf2; }
html[data-cottagepunk-theme='light'] .cottagepunk .vanity-fallback-cover-title a:focus,
.cottagepunk.mode-cottagecore .vanity-fallback-cover-title a:focus { outline-color: #fffdf2; }

@media (max-width: 560px) {
  .cottagepunk .vanity-fallback-cover { padding: 8px 7px 8px 9px; gap: 7px; border-left-width: 4px; }
  .cottagepunk .vanity-fallback-cover-title { max-height: 4.2em; font-size: .92rem; }
  .cottagepunk .vanity-fallback-cover-kicker,
  .cottagepunk .vanity-fallback-cover-label { font-size: 7px; letter-spacing: .08em; }
}
