:root {

  --fj-canvas: #efe3e6;
  --fj-paper: #f9f2f3;
  --fj-paper-2: #f1e5e8;
  --fj-ink: #2f1a27;
  --fj-muted: #6a4f5d;
  --fj-heading: #43223a;
  --fj-link: #48661f;
  --fj-visited: #6d4a66;
  --fj-pist: #a9c97a;
  --fj-pist-dark: #93b562;
  --fj-pist-pale: #e2edcd;
  --fj-line: #d8c3cb;
  --fj-line-strong: #bfa3ae;
  --fj-shadow: rgba(47, 26, 39, 0.16);
}

html {
  background-color: var(--fj-canvas);
}

body {
  background-color: var(--fj-canvas);
  color: var(--fj-ink);
}

#outer.wrapper,
#inner.wrapper {
  background-color: var(--fj-canvas);
  background-image: none;
  color: var(--fj-ink);
}

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

::selection {
  background-color: var(--fj-pist);
  color: var(--fj-ink);
}

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

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

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

a:hover,
a:focus,
a:visited:hover {
  color: var(--fj-ink);
  background-color: var(--fj-pist-pale);
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid var(--fj-link);
}

code, kbd, tt, samp, var, pre {
  background-color: var(--fj-paper-2);
  color: var(--fj-ink);
}

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

table {
  background-color: var(--fj-paper-2);
}

thead td,
th,
tr:hover,
col.name {
  background-color: var(--fj-paper);
  border-color: var(--fj-line-strong);
}

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

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

tbody tr {
  border-bottom-color: var(--fj-paper);
}

#header,
#header h1,
#header .heading {
  color: var(--fj-ink);
}

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

#header a,
#header a:visited {
  color: var(--fj-ink);
}

#header .heading a {
  color: var(--fj-heading);
}

#header .logo {
  filter: hue-rotate(95deg) saturate(0.8);
}

#header .actions a:hover,
#header .actions a:focus,
#header .dropdown:hover a,
#header .open a {
  background-color: var(--fj-pist-pale);
}

#header .user a:hover,
#header .user a:focus,
#header .user .open a:focus {
  color: var(--fj-ink);
  background-color: var(--fj-pist-pale);
}

#login .open a:hover,
#login .open a:focus {
  background-color: var(--fj-pist-pale);
}

#header .primary {
  background-color: var(--fj-pist);
  background-image: none;
  box-shadow: inset 0 -1px 0 var(--fj-pist-dark), 0 1px 0 var(--fj-line-strong);
}

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

#header .primary .dropdown:hover a,
#header .primary .open a,
#header .primary .dropdown a:focus,
#header .primary .actions a:hover,
#header .primary .actions a:focus {
  background-color: var(--fj-pist-dark);
  color: var(--fj-ink);
}

#header .menu,
#small_login {
  background-color: var(--fj-paper);
  background-image: none;
  border: 1px solid var(--fj-line-strong);
  box-shadow: 1px 2px 5px var(--fj-shadow);
  color: var(--fj-ink);
}

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

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

#header .dropdown .menu a:hover,
#header .dropdown .menu a:focus,
#header .primary .menu a:hover,
#header .primary .menu a:focus {
  background-color: var(--fj-pist-pale);
  color: var(--fj-ink);
}

#small_login {
  border-color: var(--fj-line-strong);
}

#header .dropdown:hover .menu,
#header .dropdown.open .menu,
#header .open .menu {
  display: block;
}

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

#header #search .text {
  background-color: var(--fj-paper);
  color: var(--fj-ink);
  border: 1px solid var(--fj-line-strong);
  box-shadow: none;
}

#header h2 {
  color: var(--fj-ink);
}

#dashboard a,
#dashboard span {
  color: var(--fj-ink);
}

#dashboard a:hover {
  background-color: var(--fj-pist-pale);
  color: var(--fj-link);
}

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

#dashboard .current {
  background-color: var(--fj-pist);
  color: var(--fj-ink);
}

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

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

#main .required,
.required {
  color: var(--fj-link);
}

.own,
.draft,
.unread,
.child,
.unwrangled,
.unreviewed {
  background-color: var(--fj-paper-2);
}

.draft {
  border-color: var(--fj-line-strong);
}

li.blurb {
  background-color: var(--fj-paper);
  border-color: var(--fj-line);
  color: var(--fj-ink);
}

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

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

.blurb h4 a:hover,
.blurb h4 a:focus {
  color: var(--fj-ink);
}

.blurb .datetime {
  color: var(--fj-muted);
}

.blurb blockquote,
.blurb .summary {
  color: var(--fj-ink);
}

a.work {
  color: var(--fj-link);
}

.picture .header {
  border-bottom-color: var(--fj-line);
}

.bookmark .user {
  border-color: var(--fj-line);
}

.bookmark .count a {
  color: var(--fj-link);
}

.bookmark .count a:hover,
.bookmark .count a:focus {
  color: var(--fj-ink);
}

.item dl.visibility,
.annotation {
  background-color: var(--fj-paper-2);
  border-color: var(--fj-line);
}

a.tag {
  color: var(--fj-ink);
}

a.tag:hover,
a.tag:focus,
.listbox .heading a.tag:visited:hover {
  background-color: var(--fj-pist);
  color: var(--fj-ink);
}

li.relationships a {
  background-color: var(--fj-paper-2);
}

a.cloud1 { color: var(--fj-muted); }
a.cloud2 { color: var(--fj-muted); }
a.cloud3 { color: #5f4453; }
a.cloud4 { color: #55384a; }
a.cloud5 { color: var(--fj-heading); }
a.cloud6 { color: #4f6a24; }
a.cloud7 { color: #48661f; }
a.cloud8 { color: #3f5a1a; }

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

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

.wrapper:has(> table, > .meta) {
  box-shadow: 1px 1px 5px var(--fj-shadow);
}

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

.listbox,
fieldset fieldset.listbox {
  background-color: var(--fj-paper-2);
  border-color: var(--fj-line);
  box-shadow: 0 0 0 1px var(--fj-paper);
}

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

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

dl.index dd,
.statistics .index li:nth-of-type(even) {
  background-color: var(--fj-paper-2);
}

.reading h4.viewed {
  background-color: var(--fj-paper-2);
}

fieldset,
form dl,
fieldset dl dl,
fieldset fieldset fieldset,
fieldset fieldset dl dl,
dd {
  background-color: var(--fj-paper-2);
  border-color: var(--fj-line);
  box-shadow: inset 1px 0 4px var(--fj-line);
}

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

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

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

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

input:focus,
select:focus,
textarea:focus {
  background-color: #fffcfc;
  color: var(--fj-ink);
}

.LV_invalid {
  background-color: #f3dfe6;
  border-color: #7b2a49;
  color: #6b2040;
}

.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: #7b2a49;
}

.LV_invalid:before {
  border-color: #7b2a49 transparent;
}

.autocomplete div.dropdown ul {
  background-color: var(--fj-paper);
  border-color: var(--fj-line);
  color: var(--fj-ink);
}

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

.toggled form,
.dynamic form {
  border-color: var(--fj-line-strong);
}

div.dynamic,
#ui-datepicker-div {
  background-color: var(--fj-paper);
}

form.verbose legend,
.verbose form legend {
  background-color: var(--fj-paper);
  border-color: var(--fj-line);
  color: var(--fj-heading);
  box-shadow: 1px 2px 3px var(--fj-shadow);
}

.ui-sortable li {
  background-color: var(--fj-paper-2);
  border-color: var(--fj-line);
}

.ui-sortable li:hover {
  background-color: var(--fj-pist-pale);
  border-color: var(--fj-line-strong);
  box-shadow: 1px 1px 3px var(--fj-line-strong);
}

.actions a,
.actions a:link,
.action,
.action:link,
.actions button,
.actions input,
input[type="submit"],
button,
.current,
.actions label {
  background-color: var(--fj-paper);
  background-image: none;
  border: 1px solid var(--fj-line-strong);
  color: var(--fj-ink);
}

.actions a:visited,
.action:visited,
.action a:link,
.action a:visited {
  color: var(--fj-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 {
  background-color: var(--fj-pist-pale);
  border-top: 1px solid var(--fj-link);
  border-left: 1px solid var(--fj-link);
  color: var(--fj-link);
  box-shadow: inset 1px 1px 2px var(--fj-line-strong);
}

.actions a:active,
.current,
a.current,
a:link.current,
.current a:visited {
  background-color: var(--fj-pist);
  border-color: var(--fj-pist-dark);
  color: var(--fj-ink);
  box-shadow: inset 1px 1px 2px var(--fj-pist-dark);
}

.actions label.disabled {
  background-color: var(--fj-paper-2);
}

.actions .disabled select {
  color: var(--fj-muted);
  border-color: var(--fj-line-strong);
}

.delete a,
span.delete {
  color: #7b2a49;
  box-shadow: -1px -1px 2px var(--fj-shadow);
}

span.delete a {
  box-shadow: none;
}

.actions .reindex a {
  border-bottom-color: var(--fj-pist);
}

#header #search .button,
#header .actions input[type="submit"] {
  background-color: var(--fj-paper);
  background-image: none;
  border: 1px solid var(--fj-line-strong);
  color: var(--fj-ink);
}

#main .actions a,
#main .actions a:link,
#main .action,
#main .actions button,
#main .actions input,
#main input[type="submit"],
#main button,
#main .current,
#main .actions label {
  background-color: var(--fj-paper);
  background-image: none;
  border: 1px solid var(--fj-line-strong);
  color: var(--fj-ink);
}

#main .actions a:visited {
  color: var(--fj-ink);
}

#main .actions a:hover,
#main .actions a:focus,
#main .actions button:hover,
#main .actions button:focus,
#main .actions input:hover,
#main .actions input:focus,
#main .action:hover,
#main input[type="submit"]:hover,
#main button:hover {
  background-color: var(--fj-pist-pale);
  border-top: 1px solid var(--fj-link);
  border-left: 1px solid var(--fj-link);
  color: var(--fj-link);
  box-shadow: inset 1px 1px 2px var(--fj-line-strong);
}

#main .actions a:active,
#main .current,
#main a.current,
#main a:link.current {
  background-color: var(--fj-pist);
  border-color: var(--fj-pist-dark);
  color: var(--fj-ink);
  box-shadow: inset 1px 1px 2px var(--fj-pist-dark);
}

.secondary,
.work.navigation .download,
.javascript .work.navigation .download .secondary {
  background-color: var(--fj-paper);
  border-color: var(--fj-line-strong);
  box-shadow: 2px 2px 5px var(--fj-shadow);
}

span.unread,
.replied,
span.claimed,
.actions span.defaulted {
  background-color: var(--fj-paper-2);
  border-color: var(--fj-line-strong);
  color: var(--fj-muted);
}

.draggable,
.droppable,
span.requested,
.nominations .rejected {
  color: #7b2a49;
}

span.offered,
.nominations .approved {
  color: #3f5a1a;
}

.nominations .approved {
  background-color: var(--fj-pist-pale);
}

.nominations .rejected {
  background-color: #f3dfe6;
}

span.offered.requested {
  color: #6a4a12;
}

form.filters {
  box-sizing: border-box;
  background-color: var(--fj-paper);
  border-color: var(--fj-line);
}

.filters .expander {
  color: var(--fj-link);
}

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

.filters .indicator:before {
  background-color: var(--fj-paper-2);
  color: var(--fj-muted);
}

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

.filters [type="checkbox"]:checked + .indicator:before {
  background-color: var(--fj-pist-pale);
  color: var(--fj-link);
}

.filters [type="radio"]:checked + .indicator:before {
  background-color: var(--fj-paper);
}

.filters .exclude [type="checkbox"]:checked + .indicator:before {
  background-color: #f3dfe6;
  color: #7b2a49;
}

.search [role="tooltip"] {
  background-color: var(--fj-paper-2);
  border-color: var(--fj-line);
  color: var(--fj-ink);
}

form.search input[type="text"] {
  border-top-color: var(--fj-line-strong);
}

#workskin {
  background-color: var(--fj-paper);
  color: var(--fj-ink);
  margin-top: 1em;
}

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

.userstuff h2 {
  color: var(--fj-heading);
}

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

.userstuff blockquote,
.userstuff address {
  border-inline-start-color: var(--fj-pist-dark);
}

div.preface,
.chapter .preface {
  background-color: var(--fj-paper);
  border-color: var(--fj-line);
  color: var(--fj-ink);
}

div.preface .title,
div.preface .byline {
  color: var(--fj-heading);
}

.work.navigation .chapter a,
.work.navigation button {
  color: var(--fj-ink);
}

div.comment,
li.comment {
  background-color: var(--fj-paper);
  border-color: var(--fj-line);
  color: var(--fj-ink);
}

.comment h4.byline {
  background-color: var(--fj-paper-2);
  color: var(--fj-ink);
}

.comment div.icon {
  border-bottom-color: var(--fj-line);
}

.thread .even {
  background-color: var(--fj-paper-2);
}

.comment .userstuff {
  background-color: transparent;
}

.notice,
.comment_notice,
.kudos_notice,
ul.notes,
.qtip-content,
.announcement .userstuff,
.faq .example,
.guideline .example {
  background-color: var(--fj-pist-pale);
  border-color: var(--fj-pist-dark);
  color: var(--fj-ink);
}

.caution {
  background-color: #f4e6bd;
  border-color: #c9a24a;
  color: #3a2a08;
}

.error,
.comment_error,
.kudos_error,
.alert.flash,
div.error,
#proxy-notice {
  background-color: #f3dfe6;
  border-color: #7b2a49;
  color: #6b2040;
}

.alert .userstuff {
  background-color: #f4e6bd;
  border-color: #c9a24a;
  color: #3a2a08;
}

.event .userstuff {
  background-color: var(--fj-heading);
  border-color: var(--fj-ink);
  color: var(--fj-paper);
}

.event .userstuff a {
  color: var(--fj-pist);
}

span.symbol {
  color: var(--fj-link);
}

span.question {
  background-color: var(--fj-pist-pale);
  border-color: var(--fj-link);
}

.question a:hover {
  background-color: var(--fj-link);
  border-color: var(--fj-pist-pale);
  color: var(--fj-paper);
}

#modal {
  background-color: var(--fj-paper);
  border-color: var(--fj-paper-2);
  color: var(--fj-ink);
}

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

#tos_prompt {
  background-color: var(--fj-paper);
}

#tos_prompt .heading {
  background-color: var(--fj-pist);
  color: var(--fj-ink);
}

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

.splash .browse li a:before {
  color: var(--fj-link);
}

.splash .favorite li:nth-of-type(odd) a {
  background-color: var(--fj-paper-2);
}

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

.splash .module div.account {
  background-color: var(--fj-paper-2);
  border-color: var(--fj-line);
}

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

.authentication fieldset,
form.single fieldset,
#symbols-key dl {
  border-color: var(--fj-line);
}

#footer {
  background-color: var(--fj-pist);
  background-image: none;
  border-top-color: var(--fj-pist-dark);
  color: var(--fj-ink);
}

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

#footer a:hover,
#footer a:focus,
#footer button:hover,
#footer button:focus {
  color: var(--fj-ink);
  background-color: var(--fj-pist-dark);
  background-image: none;
  border: 0;
  box-shadow: none;
}

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

:root { --oos-s: #2cdfe1; }
