/* Somebody Has to Be Snigg: the page around the story */
:root {
  --bg: #f7f3ea; --paper: #fdfbf6; --ink: #29251f; --muted: #6b645a; --rule: #ddd4c3;
  --accent: #3d6a4c; --accent-ink: #fdfbf6; --chip: #ece5d6;
  --book: "Palatino Linotype", Palatino, "Book Antiqua", "URW Palladio L", "TeX Gyre Pagella", Georgia, serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #141517; --paper: #1c1d20; --ink: #e6e1d8; --muted: #a49d92; --rule: #34332f;
    --accent: #9cc8a8; --accent-ink: #141517; --chip: #26272a;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #141517; --paper: #1c1d20; --ink: #e6e1d8; --muted: #a49d92; --rule: #34332f;
  --accent: #9cc8a8; --accent-ink: #141517; --chip: #26272a;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--book); font-size: 18px; line-height: 1.6; }
a { color: var(--accent); }
.masthead { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 46rem; margin: 0 auto; padding: 14px 16px; border-bottom: 1px solid var(--rule); }
.masthead .home { color: var(--ink); text-decoration: none; font-variant: small-caps; letter-spacing: 0.08em; font-size: 1.05rem; }
.theme { flex: none; width: 36px; height: 36px; border: 1px solid var(--rule); border-radius: 50%; background: transparent; color: var(--ink); font-size: 18px; line-height: 1; cursor: pointer; }
.chapnav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; max-width: 46rem; margin: 0 auto; padding: 14px 16px; }
.chapnav.bottom { border-top: 1px solid var(--rule); margin-top: 1.5rem; padding-top: 20px; }
.nav-btn { display: inline-block; padding: 7px 14px; border: 1px solid var(--rule); border-radius: 999px; color: var(--ink); text-decoration: none; font-size: 0.9rem; white-space: nowrap; }
a.nav-btn:hover { border-color: var(--accent); color: var(--accent); }
.nav-btn.off { color: var(--muted); font-style: italic; }
.jump { flex: 1 1 12rem; min-width: 0; max-width: 22rem; padding: 7px 10px; border: 1px solid var(--rule); border-radius: 8px; background: var(--paper); color: var(--ink); font: inherit; font-size: 0.9rem; }
.reader { max-width: 46rem; margin: 0 auto; padding: 8px 16px 0; }
.foot { max-width: 46rem; margin: 2.5rem auto 0; padding: 18px 16px 40px; border-top: 1px solid var(--rule); color: var(--muted); font-size: 0.85rem; text-align: center; }
.foot p { margin: 0.3em 0; }
.foot .small { font-size: 0.8rem; }
@media (max-width: 560px) {
  body { font-size: 17px; }
  .chapnav .jump { order: -1; flex-basis: 100%; max-width: none; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* AO3 base styles, scoped to the reading column */
.ao3, .ao3 .toggled form, .ao3 .dynamic form, .ao3 .secondary, .ao3 .dropdown {background: #fff;
  color: #2a2a2a;
  font: 100%/1.125 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Helvetica, sans-serif, 'GNU Unifont';
  margin: 0;
  padding: 0;}
.ao3 .heading {font-family: Georgia, serif;}
.ao3 a, .ao3 a:link {color: #900;
  text-decoration: none;}
.ao3 #header, .ao3 #footer, .ao3 #main, .ao3 #dashboard {padding: 1em 3em;}
.ao3 .landmark {font-size: 0;
  opacity: 0;}
.ao3 .hidden {display: none;}
.ao3 li.blurb, .ao3 fieldset, .ao3 form dl {border: 1px solid #ddd;
  padding: 1em;
  overflow: hidden;}
.ao3 .blurb li, .ao3 .actions>*, .ao3 .stats>*, .ao3 .meta ul li {list-style: none;
  display: inline;
  padding-left: 0.25em;}
.ao3 .actions form {display: inline;}
.ao3 .actions input[type="submit"] {margin: 0;}
.ao3, .ao3, .ao3 div, .ao3 span, .ao3 applet, .ao3 object, .ao3 iframe, .ao3 h1, .ao3 h2, .ao3 h3, .ao3 h4, .ao3 h5, .ao3 h6, .ao3 p, .ao3 blockquote, .ao3 pre, .ao3 a, .ao3 abbr, .ao3 acronym, .ao3 address, .ao3 big, .ao3 cite, .ao3 code, .ao3 del, .ao3 dfn, .ao3 em, .ao3 img, .ao3 ins, .ao3 kbd, .ao3 q, .ao3 s, .ao3 samp, .ao3 small, .ao3 strike, .ao3 strong, .ao3 sub, .ao3 sup, .ao3 tt, .ao3 var, .ao3 dl, .ao3 dt, .ao3 dd, .ao3 ol, .ao3 ul, .ao3 li, .ao3 fieldset, .ao3 form, .ao3 label, .ao3 legend, .ao3 table, .ao3 caption, .ao3 tbody, .ao3 tfoot, .ao3 thead, .ao3 tr, .ao3 th, .ao3 td {border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  list-style: none;
  margin: 0;
  padding: 0;}
.ao3 {font: 100%/1.125 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Helvetica, sans-serif, 'GNU Unifont';}
.ao3 a, .ao3 a:link, .ao3 a:visited:hover {color: #111;
  text-decoration: none;
  border-bottom: 1px solid;}
.ao3 a:visited {color: #666;
  text-decoration: none;
  border-bottom: 1px dashed;}
.ao3 a:hover {color: #999;}
.ao3 a:active, .ao3 a:focus, .ao3 button:focus {outline: 1px dotted;}
.ao3 a img {border: 0;}
.ao3 a:focus img {outline: 1px dotted;}
.ao3 h1, .ao3 h2, .ao3 h3, .ao3 h4, .ao3 h5, .ao3 h6, .ao3 .heading {font-family: Georgia, serif;
  font-weight: 400;
    word-wrap: break-word;}
.ao3 h1 {font-size: 2.5em;
  line-height: 1;
  margin: 0.5em 0;}
.ao3 h2 {font-size: 2.143em;
  line-height: 1;
  margin: 0.429em 0;
  display: inline;}
.ao3 h3 {font-size: 1.286em;
  line-height: 1;
  margin: 0.5375em 0;}
.ao3 h4 {font-size: 1.143em;
  line-height: 1.125;
  margin: 0.5em 0;}
.ao3 h5 {font-size: 1em;
  line-height: 1.286;
  margin: 0.643em 0;}
.ao3 h6 {font-size: 0.875em;
  font-weight: 900;
  line-height: 1.5;
  margin: 1.5em 0;}
.ao3 p, .ao3 li, .ao3 dd, .ao3 hr {margin: 0.643em 0;}
.ao3 hr {border: 0;
  border-bottom: 3px double;}
.ao3 .clear {clear: both;
  height: 0;
  border: 0;
  margin: 0;
  background: transparent;
  opacity: 0;}
.ao3 blockquote, .ao3 pre, .ao3 address {font: 1em 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Helvetica, sans-serif;
  margin: 0.643em;}
.ao3 blockquote p:first-child, .ao3 address p:first-child {margin-top: 0;}
.ao3 blockquote p:last-child, .ao3 address p:first-child {margin-bottom: 0;}
.ao3 kbd, .ao3 tt, .ao3 code, .ao3 var, .ao3 pre, .ao3 samp {font: normal 0.857em 'Monaco', 'Consolas', Courier, monospace;
  font-variant-ligatures: none;
  margin: auto;}
.ao3 pre {white-space: pre-wrap;}
.ao3 strong, .ao3 b {font-weight: bold;}
.ao3 em, .ao3 cite, .ao3 i {font-style: oblique;}
.ao3 cite em, .ao3 em cite, .ao3 cite i, .ao3 i cite, .ao3 i em, .ao3 em i, .ao3 em em, .ao3 i i, .ao3 cite cite {font-style: normal;}
.ao3 em cite, .ao3 i cite, .ao3 ins, .ao3 u {text-decoration: underline;}
.ao3 del, .ao3 strike {text-decoration: line-through;}
.ao3 dfn, .ao3 abbr, .ao3 acronym {cursor: help;}
.ao3 big {font-size: 114%;}
.ao3 small, .ao3 sub, .ao3 sup {font-size: 87.5%;}
.ao3 small small small small {font-size: 100%;}
.ao3 sub {vertical-align: sub;
  line-height: 0;}
.ao3 sup {vertical-align: super;
  line-height: 0;}
.ao3 table {background: #ddd;
  border-collapse: collapse;
  margin: auto;
  width: 100%;
  clear: right;}
.ao3 caption {height: 0;
  width: 0;
  font-size: 0;
  opacity: 0;
  padding: 0;
  margin: 0;}
.ao3 thead, .ao3 tfoot {border-bottom: 2px solid #bbb;
  padding: 0.643em;
  vertical-align: top;}
.ao3 tfoot td {border-top: 1px solid #bbb;}
.ao3 td th {padding-right: 1em;}
.ao3 tbody tr {border-bottom: 1px solid #fff;}
.ao3 td {padding: 0.25em;
  vertical-align: top;}
.ao3 th {text-align: start;}
.ao3 thead td {background: #ddd;
  border-bottom: 1px solid #fff;}
.ao3 th, .ao3 tr:hover, .ao3 col.name {background: #fff;
  border: 1px solid #bbb;
  padding: 0.15em 0.5em 0.25em;
  vertical-align: top;}
.ao3 th a, .ao3 th a:visited, .ao3 th a:link {text-decoration: none;}
.ao3 tbody tr th {text-align: start;}
.ao3 div.preface {margin: 1.5em 3em;
  padding: 0.643em 0.643em 0;
  float: none;}
.ao3 div.preface .module {float: none;
  margin: 0;
  padding: 0 0 0.643em;
  width: auto;}
.ao3 .chapter .preface {border-top: 1px solid;}
.ao3 .preface h3 {background: transparent;
  border-bottom: 1px solid;}
.ao3 .preface h2.title {display: block;
  border-bottom: 0;
  clear: right;}
.ao3 div.preface .title, .ao3 div.preface .byline, .ao3 div.preface .byline a {border: 0;
  text-align: center;}
.ao3 .preface blockquote {border: 0;}
.ao3 div.preface .notes, .ao3 div.preface .summary, .ao3 div.preface .series, .ao3 div.preface .children {min-height: 5em;}
.ao3 div.preface .series ul, .ao3 div.preface .children ul {padding: 0 0.643em;}
.ao3 div.preface .associations {margin-bottom: 1.5em;}
.ao3 div.preface .jump {margin-top: 1.5em;}
.ao3 div.afterword {margin-bottom: 2.5em;}
.ao3 div.afterword .series h3, .ao3 div.afterword .children h3 {border-bottom: none;}
.ao3 .userstuff {word-wrap: break-word;
    line-height: 1.5;}
.ao3 .userstuff p, .ao3 .userstuff details {margin: 1.286em auto;
  padding: 0;}
.ao3 .userstuff dl {margin: 1.5em 0;
  border: 0;}
.ao3 .userstuff dl dl {width: 90%;
  margin: auto;}
.ao3 .userstuff dt {display: block;
  font-weight: bold;}
.ao3 .userstuff dd {display: block;
  margin-block-start: 1.25em;
  margin-block-end: 1.25em;
  margin-inline-start: 3em;}
.ao3 .userstuff dd p {margin: 0;
  padding: 0;}
.ao3 .userstuff ul {margin: 1.125em auto;
  padding: 0 1em;}
.ao3 .userstuff ul li {display: list-item;}
.ao3 .userstuff li, .ao3 .userstuff ol ul li {font-weight: normal;
  display: list-item;
  list-style-type: disc;
  margin-block-start: 0.75em;
  margin-inline-end: 0;
  margin-block-end: 0.75em;
  margin-inline-start: 1.75em;}
.ao3 .userstuff ol {margin: 0.75em auto;
  padding: 0 1.5em;}
.ao3 .userstuff ol li {list-style-type: decimal;
  margin-block-start: 0.75em;
  margin-inline-end: 0;
  margin-block-end: 0.75em;
  margin-inline-start: 1.75em;}
.ao3 .userstuff ol li ol li {list-style-type: lower-alpha;}
.ao3 .userstuff ol li ol li ol li {list-style-type: lower-roman;}
.ao3 .userstuff h1 {text-align: center;}
.ao3 .userstuff h2 {color: #333;
  margin: 1.5em 0;
  display: block;}
.ao3 .userstuff h3 {font-weight: 500;
  padding: 0.125em;
  border-bottom: 0.25em double #333;}
.ao3 .userstuff h4 {font-weight: 700;}
.ao3 .userstuff h5 {font-weight: 600;
  font-size: 1em;}
.ao3 .userstuff h6 {font-size: 0.975em;
  border-bottom: 1px solid;}
.ao3 .userstuff h3 a, .ao3 .userstuff h3 a:link, .ao3 .userstuff h3 a:visited {font-weight: 500;
  border-bottom: 0;
  text-decoration: none;}
.ao3 .userstuff caption {font-size: 1em;
  height: auto;
  width: auto;
    opacity: 1;}
.ao3 .userstuff table, .ao3 .userstuff td, .ao3 .userstuff col, .ao3 .userstuff tr, .ao3 .userstuff thead, .ao3 .userstuff tfoot, .ao3 .userstuff tbody, .ao3 .userstuff th, .ao3 .userstuff thead td, .ao3 .userstuff th a, .ao3 .userstuff th a:link {background: transparent;
  border: none;}
.ao3 .userstuff blockquote, .ao3 .userstuff address {line-height: 1.5;
  margin-inline-start: 1.5em;
  padding: 0.75em;
  border-inline-start: 2px solid #999;}
.ao3 .userstuff blockquote blockquote {padding: 0.25em;
  border: 0;}
.ao3 .userstuff hr {width: 33%;
  margin: 0.875em auto 1.2525em auto;
  border: 1px solid;}
.ao3 .userstuff img {max-width: 100%;
  height: auto;}
.ao3 .userstuff video {max-width: 100%;}
.ao3 #workskin {font-size: 1.08em;
  margin: auto;
  padding: 0 0.25em;
  max-width: 72em;
  overflow-x: auto;
  overflow-y: hidden;
  position: relative;}
.ao3 #workskin .module {float: none;}
.ao3 .comment .userstuff li {list-style-position: inside;}
.ao3 .comment .userstuff blockquote {display: flow-root;}
.ao3 .bookmark .user .userstuff {line-height: 1.5;}
.ao3 .bookmark .user .userstuff blockquote {margin-bottom: 1.286em;}
.ao3 .faq .userstuff dd {margin-block-start: 0.75em;
  margin-block-end: 0.75em;
  margin-inline-start: 1.75em;}
.ao3 .faq .userstuff dl {margin: 0.75em 0;}
.ao3.is-phone #main { padding-left: 3.5%; padding-right: 3.5%; }
.ao3.is-phone #workskin { margin: auto; }
.ao3.is-phone #outer { font-size: 0.875em; }
.ao3.is-dark, .ao3.is-dark #outer { background: #2e2e2e; color: #dedede; }
.ao3.is-dark a, .ao3.is-dark a:link, .ao3.is-dark a:visited:hover { color: #f0f0f0; }
.ao3.is-dark a:visited { color: #b9b9b9; }

/* After AO3's base styles: the reading column takes the site's colours */
.ao3.reader { background: transparent; color: var(--ink); font-family: var(--book); font-size: 1rem; line-height: 1.6; }
.ao3 a, .ao3 a:link, .ao3 a:visited { color: var(--accent); }
.ao3 .chapter .preface h3.title { color: var(--ink); }
.ao3 .endnotes { margin-top: 2.5em; padding: 1em 0 0; border-top: 1px solid var(--rule); }
.ao3 .endnotes h3.heading { font-variant: small-caps; letter-spacing: 0.06em; color: var(--muted); }
.ao3 .endnotes blockquote { margin: 0.5em 0 0; }
.ao3 .endnotes blockquote > p { max-width: 44em; margin: 0.5em auto; text-align: center; font-style: italic; color: var(--muted); }
main.ao3.reader { max-width: 46rem; margin: 0 auto; padding: 8px 16px 0; }
.cover .art.ao3.reader { max-width: 30rem; margin: 0 auto; padding: 0; }
.ao3 .chapter .preface { border-top: 0; margin: 1.2em 0 0.6em; padding: 0; }
.ao3 .chapter .preface.endnotes { border-top: 1px solid var(--rule); margin-top: 2.5em; padding-top: 1em; }
