:root {

  --tf-paper: #2d1f15;
  --tf-raise: #3a2a1d;
  --tf-raise-2: #47341f;
  --tf-well: #22160f;
  --tf-ink: #f1e3c6;
  --tf-muted: #c9b593;
  --tf-line: #5d4531;
  --tf-line-soft: #47341f;
  --tf-salt: #9cc9cf;
  --tf-salt-hi: #c8e5e7;
  --tf-visited: #a7bccb;
  --tf-bar: #86b3ba;
  --tf-bar-hi: #a4cbd1;
  --tf-bar-ink: #1f150e;
  --tf-salt-deep: #24393e;
  --tf-coral: #f2b39c;
  --tf-shadow: rgba(10, 6, 3, 0.55);
}

html {
  background-color: var(--tf-paper);
  scrollbar-color: var(--tf-bar) var(--tf-paper);
}

body {
  background-color: var(--tf-paper);
  color: var(--tf-ink);
}

body,
.toggled form,
.dynamic form,
.secondary,
.dropdown {
  background-color: var(--tf-paper);
  color: var(--tf-ink);
}

#outer.wrapper,
#inner.wrapper {
  background-color: var(--tf-paper);
  background-image: none;
}

::selection {
  background-color: var(--tf-bar);
  color: var(--tf-bar-ink);
}

h1, h2, h3, h4, h5,
.heading {
  color: var(--tf-ink);
}

a,
a:link {
  color: var(--tf-salt);
}

a:visited {
  color: var(--tf-visited);
}

a:hover,
a:visited:hover,
a:focus {
  color: var(--tf-salt-hi);
}

a:active,
a:focus,
button:focus {
  outline-color: var(--tf-salt-hi);
}

code, kbd, tt, samp, var, pre {
  background-color: var(--tf-well);
  color: var(--tf-ink);
}

table {
  background-color: var(--tf-raise);
}

thead,
tfoot {
  border-bottom-color: var(--tf-line);
}

tfoot td {
  border-top-color: var(--tf-line);
}

tbody tr {
  border-bottom-color: var(--tf-line-soft);
}

thead td {
  background-color: var(--tf-raise-2);
  border-bottom-color: var(--tf-line);
}

th,
tr:hover,
col.name {
  background-color: var(--tf-raise-2);
  border-color: var(--tf-line);
  color: var(--tf-ink);
}

#header .logo {
  filter: hue-rotate(195deg) brightness(2.3) saturate(0.9);
}

#header,
#header h1,
#header .heading {
  color: var(--tf-salt);
}

#header a,
#header a:visited {
  color: var(--tf-salt);
}

#header .heading a,
#header .heading a:visited {
  color: var(--tf-salt-hi);
}

#header .user a:hover,
#header .user a:focus,
#header .actions a:hover,
#header .actions a:focus {
  background-color: var(--tf-raise);
  color: var(--tf-salt-hi);
}

#header .primary {
  background-color: var(--tf-bar);
  background-image: none;
  box-shadow: inset 0 -1px 0 rgba(31, 21, 14, 0.45);
}

#header .primary a,
#header .primary a:visited {
  color: var(--tf-bar-ink);
}

#header .primary > li > a:hover,
#header .primary > li > a:focus {
  background-color: var(--tf-bar-hi);
  color: var(--tf-bar-ink);
}

#header .dropdown:hover > a,
#header .open > a,
#header .primary .dropdown:hover > a,
#header .primary .open > a,
#header .primary .dropdown > a:focus {
  background-color: var(--tf-raise);
  color: var(--tf-salt-hi);
}

#header .menu,
#small_login {
  background-color: var(--tf-raise);
  background-image: none;
  border: 1px solid var(--tf-line);
  box-shadow: 1px 2px 6px var(--tf-shadow);
}

#header .menu li {
  border-bottom-color: var(--tf-line);
}

#header .menu a,
#header .primary .menu a,
#header .primary .dropdown:hover .menu a,
#header .primary .open .menu a,
#header .dropdown:hover .menu a,
#header .open .menu a {
  background-color: transparent;
  color: var(--tf-ink);
}

#header .dropdown .menu a:hover,
#header .dropdown .menu a:focus,
#header .primary .dropdown:hover .menu a:hover,
#header .primary .dropdown:hover .menu a:focus,
#header .open .menu a:hover {
  background-color: var(--tf-raise-2);
  color: var(--tf-salt-hi);
}

#header .search,
#header #search input:focus {
  color: var(--tf-ink);
}

#header #search .text {
  background-color: var(--tf-well);
  color: var(--tf-ink);
  border: 0;
}

#header #search .button {
  background-color: var(--tf-raise-2);
  background-image: none;
  color: var(--tf-ink);
  border: 1px solid var(--tf-line);
}

#header .search .tip,
.search [role="tooltip"] {
  background-color: var(--tf-raise);
  border: 1px solid var(--tf-line);
  color: var(--tf-ink);
}

#header h2 {
  color: var(--tf-salt);
}

#dashboard,
#dashboard.own {
  border-top-color: var(--tf-bar);
  border-bottom-color: var(--tf-bar);
}

#dashboard a,
#dashboard span {
  color: var(--tf-salt);
}

#dashboard a:hover {
  background-color: var(--tf-raise);
  color: var(--tf-salt-hi);
}

#dashboard ul {
  border-top-color: var(--tf-line);
}

#dashboard .current,
#dashboard .secondary {
  background-color: var(--tf-raise);
  box-shadow: inset 1px 1px 4px var(--tf-shadow);
}

#main {
  color: var(--tf-ink);
}

.own,
.draft,
.unread,
.child,
.unwrangled,
.unreviewed,
dl.index dd,
.item dl.visibility,
.annotation,
.reading h4.viewed {
  background-color: var(--tf-raise);
  border-color: var(--tf-line);
  color: var(--tf-ink);
}

#dashboard.own {
  background-color: transparent;
}

span.unread,
.replied,
span.claimed,
.actions span.defaulted {
  background-color: var(--tf-raise-2);
  border-color: var(--tf-line);
  color: var(--tf-salt);
}

li.blurb {
  border-color: var(--tf-line);
}

.blurb h4 a:link,
.blurb h4 img {
  color: var(--tf-salt);
}

.blurb h4 a:visited {
  color: var(--tf-visited);
}

.blurb h4 a:hover {
  color: var(--tf-salt-hi);
}

.blurb .datetime,
.blurb .header .datetime {
  color: var(--tf-muted);
}

.blurb blockquote,
.blurb .userstuff {
  color: var(--tf-ink);
}

span.series .divider {
  color: var(--tf-muted);
}

a.work {
  color: var(--tf-salt);
}

p.kudos {
  background-image: none;
  padding-left: 0.5em;
}

a.tag,
a.tag:link {
  color: var(--tf-salt);
}

a.tag:visited {
  color: var(--tf-visited);
}

a.tag:hover,
a.tag:visited:hover,
.listbox .heading a.tag:visited:hover {
  background-color: var(--tf-bar);
  color: var(--tf-bar-ink);
}

li.relationships a {
  background-color: var(--tf-raise);
}

.actions .reindex a {
  border-bottom-color: var(--tf-bar);
}

a.cloud1 { color: var(--tf-muted); }
a.cloud2 { color: #d0bd9c; }
a.cloud3 { color: #b4cfd0; }
a.cloud4 { color: #a8d0d5; }
a.cloud5 { color: #a0d0d6; }
a.cloud6 { color: #98d1d8; }
a.cloud7 { color: #90d2da; }
a.cloud8 { color: #88d3dd; }

dl.meta {
  border-color: var(--tf-line);
}

dl.meta .wrapper {
  border-bottom-color: var(--tf-line);
}

.wrapper:has(> table, > .meta) {
  box-shadow: none;
}

dl.stats,
.blurb dl.stats {
  color: var(--tf-muted);
}

.listbox,
fieldset fieldset.listbox {
  background-color: var(--tf-raise);
  border-color: var(--tf-line);
  box-shadow: 0 0 0 1px var(--tf-line-soft);
}

.listbox > .heading,
.listbox .heading a:visited {
  color: var(--tf-ink);
}

.listbox .index {
  background-color: var(--tf-paper);
  box-shadow: inset 1px 1px 3px var(--tf-shadow);
}

.bookmark .count a {
  color: var(--tf-salt);
}

.bookmark .count a:hover,
.bookmark .count a:focus {
  color: var(--tf-salt-hi);
}

.bookmark .user,
.picture .header {
  border-color: var(--tf-line);
}

span.symbol {
  color: var(--tf-salt);
}

li.blurb,
fieldset,
form dl {
  border-color: var(--tf-line);
}

fieldset,
form dl,
fieldset dl dl,
fieldset fieldset fieldset,
fieldset fieldset dl dl,
dd.hideme,
form blockquote.userstuff {
  background-color: var(--tf-raise);
  border-color: var(--tf-line-soft);
  box-shadow: inset 1px 0 5px var(--tf-shadow);
}

fieldset fieldset,
fieldset dl dl,
form blockquote.userstuff {
  background-color: var(--tf-paper);
}

form dt {
  border-bottom-color: var(--tf-line-soft);
}

form dd.required,
.post .required .warnings,
.required .autocomplete,
.autocomplete .notice {
  color: var(--tf-ink);
}

input,
textarea,
select {
  background-color: var(--tf-well);
  color: var(--tf-ink);
  border-color: var(--tf-line);
  box-shadow: inset 0 1px 2px var(--tf-shadow);
}

input:focus,
select:focus,
textarea:focus {
  background-color: var(--tf-well);
  color: var(--tf-ink);
  border-color: var(--tf-bar);
}

::placeholder {
  color: var(--tf-muted);
}

.LV_invalid {
  background-color: #4a2a22;
  border-color: var(--tf-coral);
  color: var(--tf-coral);
}

.LV_invalid_field,
input.LV_invalid_field:hover,
input.LV_invalid_field:active,
textarea.LV_invalid_field:hover,
textarea.LV_invalid_field:active {
  border-color: var(--tf-coral);
}

.LV_invalid:before {
  border-color: var(--tf-coral) transparent;
}

.autocomplete div.dropdown ul {
  background-color: var(--tf-raise);
  border-color: var(--tf-line);
  color: var(--tf-ink);
  box-shadow: 1px 3px 5px var(--tf-shadow);
}

.autocomplete .dropdown ul li:hover,
.autocomplete .dropdown li.selected {
  background-color: var(--tf-bar);
  background-image: none;
  color: var(--tf-bar-ink);
}

.ui-sortable li {
  background-color: var(--tf-raise);
  border-color: var(--tf-line);
}

.ui-sortable li:hover {
  background-color: var(--tf-raise-2);
  border-color: var(--tf-bar);
  box-shadow: 1px 1px 3px var(--tf-shadow);
}

#ui-datepicker-div,
.ui-datepicker table {
  background-color: var(--tf-raise);
  color: var(--tf-ink);
}

.ui-datepicker td {
  border-color: var(--tf-line);
}

.ui-datepicker tr:hover,
.ui-datepicker td:hover {
  background-color: var(--tf-raise-2);
}

.qtip-content {
  background-color: var(--tf-salt-deep);
  border-color: var(--tf-bar);
  color: var(--tf-ink);
}

#modal {
  background-color: var(--tf-raise);
  border-color: var(--tf-line);
  color: var(--tf-ink);
}

#modal .content {
  border-bottom-color: var(--tf-line);
}

div.dynamic,
.toggled form,
.dynamic form,
form.verbose legend,
.verbose form legend {
  background-color: var(--tf-raise);
  border-color: var(--tf-line);
}

form.single fieldset {
  border-color: var(--tf-line);
}

.nomination dt,
#tos_prompt {
  background-color: var(--tf-raise);
  color: var(--tf-ink);
}

#tos_prompt .heading {
  background-color: var(--tf-bar);
  background-image: none;
  color: var(--tf-bar-ink);
}

/* This skin is provided by ao3skins.org. */

#tos_prompt [disabled] {
  background-color: var(--tf-raise-2);
}

.actions a,
.actions a:link,
.action,
.action:link,
.actions button,
.actions input,
input[type="submit"],
button,
.current,
.actions label {
  background-color: var(--tf-raise-2);
  background-image: none;
  border: 1px solid var(--tf-line);
  border-bottom-color: #37271a;
  color: var(--tf-ink);
}

.actions a:visited,
.action:visited,
.action a:link,
.action a:visited {
  color: var(--tf-ink);
}

.actions a:hover,
.actions button:hover,
.actions input:hover,
.actions a:focus,
.actions button:focus,
.actions input:focus,
label.action:hover,
.action:hover,
.action:focus,
input[type="submit"]:hover,
button:hover {
  background-color: var(--tf-raise);
  border-top-color: #1a100a;
  border-left-color: #1a100a;
  box-shadow: inset 2px 2px 2px var(--tf-shadow);
  color: var(--tf-salt-hi);
}

.actions a:active,
.current,
a.current,
a:link.current,
.current a:visited {
  background-color: var(--tf-bar);
  background-image: none;
  border-color: var(--tf-bar-hi);
  box-shadow: inset 1px 1px 3px rgba(31, 21, 14, 0.4);
  color: var(--tf-bar-ink);
}

.actions label.disabled,
.actions .disabled select {
  background-color: var(--tf-raise);
  border-color: var(--tf-line);
  color: var(--tf-muted);
}

.delete a,
span.delete,
.draggable,
.droppable,
span.requested,
.nominations .rejected {
  color: var(--tf-coral);
}

#main .actions a,
#main .actions a:link,
#main .actions a:visited,
#main .action,
#main .action:link,
#main .action:visited,
#main .actions button,
#main .actions input,
#main input[type="submit"],
#main button,
#main .actions label {
  background-color: var(--tf-raise-2);
  background-image: none;
  border: 1px solid var(--tf-line);
  border-bottom-color: #37271a;
  color: var(--tf-ink);
}

#main .actions a:hover,
#main .actions a:focus,
#main .actions button:hover,
#main .actions input:hover,
#main .action:hover,
#main input[type="submit"]:hover,
#main button:hover {
  background-color: var(--tf-raise);
  border-top-color: #1a100a;
  border-left-color: #1a100a;
  box-shadow: inset 2px 2px 2px var(--tf-shadow);
  color: var(--tf-salt-hi);
}

#main .actions a:active,
#main .current,
#main a.current,
#main a:link.current,
#main .current a:visited {
  background-color: var(--tf-bar);
  background-image: none;
  border-color: var(--tf-bar-hi);
  box-shadow: inset 1px 1px 3px rgba(31, 21, 14, 0.4);
  color: var(--tf-bar-ink);
}

.secondary,
.work.navigation .download,
.javascript .work.navigation .download .secondary {
  background-color: var(--tf-raise);
  background-image: none;
  border-color: var(--tf-line);
  box-shadow: 2px 2px 5px var(--tf-shadow);
}

form.filters {
  box-sizing: border-box;
}

.filters .expander {
  color: var(--tf-ink);
}

.filters .expander,
.filters .expanded .expander {
  background-image: none;
}

.filters .expander:before {
  content: "\25B8";
  display: inline-block;
  width: 14px;
  margin-left: -14px;
  color: var(--tf-salt);
}

.filters .expander[aria-expanded="true"]:before,
.filters .expanded .expander:before {
  content: "\25BE";
}

.filters .indicator:before {
  background-color: var(--tf-well);
  background-image: none;
  color: var(--tf-muted);
}

.filters input:checked + .indicator:before {
  border-color: var(--tf-salt);
}

.filters [type="checkbox"]:checked + .indicator:before {
  background-color: var(--tf-salt-deep);
  background-image: none;
  color: var(--tf-salt-hi);
}

.filters [type="radio"]:checked + .indicator:before {
  background-color: var(--tf-salt-hi);
  background-image: none;
}

.filters .exclude [type="checkbox"]:checked + .indicator:before {
  background-color: #4a2a22;
  background-image: none;
  color: var(--tf-coral);
}

.filters .group dt.bookmarker {
  border-top-color: var(--tf-line-soft);
}

.statistics .index li:nth-of-type(even) {
  background-color: var(--tf-raise);
}

#workskin {
  color: var(--tf-ink);
}

.userstuff {
  color: var(--tf-ink);
}

.userstuff h2 {
  color: var(--tf-ink);
}

.userstuff h3 {
  border-bottom-color: var(--tf-line);
}

.userstuff blockquote,
.userstuff address {
  border-inline-start-color: var(--tf-bar);
}

.faq .categories h3,
.tos .userstuff nav.toc > details > summary {
  border-bottom-color: var(--tf-line);
}

.faq .example,
.guideline .example {
  border-color: var(--tf-line);
}

div.comment,
li.comment {
  border-color: var(--tf-line);
}

.comment h4.byline {
  background-color: var(--tf-raise);
  color: var(--tf-ink);
}

.comment div.icon {
  border-bottom-color: var(--tf-raise);
}

.thread .even {
  background-color: var(--tf-raise);
}

.notice,
.comment_notice,
.kudos_notice,
ul.notes {
  background-color: var(--tf-salt-deep);
  border-color: var(--tf-bar);
  color: var(--tf-ink);
}

.required,
.error,
.alert.flash {
  color: var(--tf-coral);
}

.error,
.comment_error,
.kudos_error,
.alert.flash {
  background-color: #4a2a22;
  border-color: var(--tf-coral);
}

.caution {
  background-color: #4b3a17;
  border-color: #b18d3c;
  color: #f4e3b0;
}

form .notice,
form ul.notes {
  box-shadow: none;
}

#proxy-notice {
  background-color: #4a2a22;
  border-bottom-color: var(--tf-coral);
  color: var(--tf-ink);
}

.announcement .userstuff {
  background-color: var(--tf-salt-deep);
  border-color: var(--tf-bar);
  color: var(--tf-ink);
}

.announcement .action {
  background-color: var(--tf-raise-2);
  border-color: var(--tf-line);
}

.event .userstuff {
  background-color: #2f5158;
  background-image: none;
  border-color: var(--tf-bar);
  color: var(--tf-ink);
}

.event .userstuff a {
  color: var(--tf-salt-hi);
}

.announcement .thermometer .track {
  background-color: var(--tf-well);
  background-image: none;
  border-color: var(--tf-line);
}

.splash .module h3 {
  border-bottom-color: var(--tf-line);
  color: var(--tf-salt);
}

.splash .browse li a:before {
  color: var(--tf-salt);
}

.splash .favorite li:nth-of-type(odd) a {
  background-color: var(--tf-raise);
}

.splash .favorite li:nth-of-type(odd) a:hover,
.splash .favorite li:nth-of-type(odd) a:focus {
  background-color: var(--tf-bar);
  color: var(--tf-bar-ink);
}

.splash .module div.account {
  background-color: var(--tf-raise);
  border-color: var(--tf-line);
}

.splash .news li {
  border-bottom-color: var(--tf-line-soft);
}

.authentication fieldset {
  border-color: var(--tf-line);
}

#footer {
  background-color: var(--tf-bar);
  background-image: none;
  color: var(--tf-bar-ink);
}

#footer a,
#footer a:visited,
#footer button {
  background-color: transparent;
  background-image: none;
  border: 0;
  box-shadow: none;
  color: var(--tf-bar-ink);
}

#footer a:hover,
#footer a:focus,
#footer button:hover,
#footer button:focus {
  background-color: transparent;
  background-image: none;
  border: 0;
  box-shadow: none;
  color: #000000;
}

#footer .heading {
  color: var(--tf-bar-ink);
}

:root { --oos-s: #443fcc; }
