:root {
    --inferno-bg: #0e0906;
    --inferno-panel: #17100c;
    --inferno-panel-light: #2a1208;
    --inferno-border: #6a4020;
    --inferno-border-dark: #3a1a08;
    --inferno-gold: #c8922a;
    --inferno-gold-light: #e0a040;
    --inferno-text: #eaeaea;
    --inferno-muted: #929eaf;
}

html, body {
    background: var(--inferno-bg);
    color: var(--inferno-text);
    font-family: Poppins, Arial, sans-serif;
}

body {
    background-color: #0e0906;
    background-image:
        radial-gradient(ellipse 85% 520px at 50% 0, #3d1a06 0, #1a0a03 48%, transparent 100%),
        linear-gradient(180deg, #1a0e07 0, #0e0906 100%);
    background-attachment: scroll, scroll;
    background-position: top center, top center;
    background-repeat: no-repeat, repeat-y;
    background-size: 100% auto, 100% auto;
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        radial-gradient(ellipse 75% 340px at 50% 0, rgba(210, 75, 8, .09), transparent 100%),
        radial-gradient(ellipse 90% 70% at 50% 100%, rgba(145, 38, 4, .08), transparent 70%);
    animation: inferno-db-flicker 5s ease-in-out infinite;
}

#inferno-embers {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 100000001;
}

.layout, .home-wrapper, .footer, #layers { position: relative; z-index: 1; }

body.home #layers {
    z-index: 1000;
}

@keyframes inferno-db-flicker {
    0%, 100% { opacity: .72; }
    22%, 62% { opacity: 1; }
    45%, 82% { opacity: .8; }
}

a, .listview-mode-default a, .text a { color: var(--inferno-gold-light); }
a:hover, .text a:hover { color: #ffd36e; }

.header {
    height: 94px;
    border-bottom: 1px solid var(--inferno-border-dark);
}

.header a.header-logo {
    top: 7px;
    width: 116px;
    height: 82px;
    background: url(../images/logos/inferno.png) center / contain no-repeat;
}

.toptabs, .toptabs a { background-image: none; }
.toptabs { border-bottom: 2px solid var(--inferno-border); }

.toptabs a, .topbar, .menu a, .menu a span { background-color: #17110e; }
.toptabs a:hover, .toptabs a.active,
.menu a.open, .menu a:hover, .menu a.open span, .menu a:hover span {
    background-color: var(--inferno-panel-light);
}

.toptabs a {
    color: #d5b06a;
    border-color: var(--inferno-border-dark);
    background-image: none;
    border: 1px solid var(--inferno-border-dark);
    border-bottom: 0;
    padding: 0 13px;
}

.toptabs a.active, .toptabs a:hover { color: #ffd36e; }
.toptabs a span { display: none; background: none; width: 0; padding: 0; }
.topbar { border-color: var(--inferno-border); }

.topbar-search {
    top: 3px;
}

.topbar-search input {
    box-sizing: border-box;
    height: 24px;
    padding: 2px 32px 2px 9px;
}

.topbar-search a,
.home-search a {
    width: 28px;
    height: 28px;
    top: 0;
    right: -3px;
    background: transparent url(../images/ui/search-inferno.svg) center / 17px 17px no-repeat;
    border: 0;
    border-left: 1px solid #6a4020;
    border-radius: 0;
    box-sizing: border-box;
}

.topbar-search a::before,
.home-search a::before {
    content: none;
}

.topbar-search a::after,
.home-search a::after {
    content: none;
}

.topbar-search a:hover,
.topbar-search a:focus,
.topbar-search a:active,
.home-search a:hover,
.home-search a:focus,
.home-search a:active {
    background: rgba(192, 112, 32, .14) url(../images/ui/search-inferno.svg) center / 17px 17px no-repeat;
    background-position: center;
}

.menu .menu-outer, .menu .menu-inner, .menu a,
.menu a.open, .menu a:hover { border-color: var(--inferno-border-dark); }
.menu .menu-outer { box-shadow: 0 5px 18px #000; }
.menu a { color: var(--inferno-gold-light); }

.toplinks { color: var(--inferno-border); }
.toplinks a { color: #b88a48; }

.topbar-search input, .home-search input,
input[type="text"], input[type="search"], input[type="number"],
input[type="password"], textarea, select {
    color: #c8a060;
    background: #170a04;
    border: 1px solid #5a270c;
    border-radius: 3px;
    box-shadow: inset 0 1px 5px rgba(0, 0, 0, .72);
    outline: none;
}

.filter input[type="text"], .filter input[type="number"],
.filter select, form input[type="text"], form input[type="number"],
form select {
    min-height: 24px;
    padding: 3px 8px;
    box-sizing: border-box;
}

input[type="text"]::placeholder,
input[type="search"]::placeholder,
input[type="number"]::placeholder,
input[type="password"]::placeholder,
textarea::placeholder {
    color: #7a5828;
    opacity: 1;
}

select[multiple], select[size] {
    color: #e7d6ba;
    background: #120905;
    border-color: #63300e;
    padding: 4px;
    font-family: Poppins, Arial, sans-serif;
    line-height: 1.45;
}

select option {
    color: #e7d6ba;
    background: #120905;
    padding: 3px 5px;
}

select option:checked {
    color: #fff0c9;
    background: #713707 linear-gradient(0deg, #713707, #713707);
}

input[type="radio"], input[type="checkbox"] {
    accent-color: #c07020;
}

input[type="text"]:focus, input[type="search"]:focus,
input[type="number"]:focus, input[type="password"]:focus,
textarea:focus, select:focus {
    border-color: #b75f16;
    box-shadow: 0 0 0 2px rgba(192, 112, 32, .12), inset 0 1px 5px rgba(0, 0, 0, .72);
}

input[type="submit"], input[type="button"], input[type="reset"], button {
    color: #f5e0b0;
    background: linear-gradient(180deg, #c07020 0, #8a4c10 60%, #6a3a0a 100%);
    border: 1px solid #7a4018;
    border-bottom-color: #3a1a06;
    border-radius: 3px;
    box-shadow: inset 0 1px 0 rgba(255, 180, 60, .15), 0 0 9px rgba(160, 80, 10, .2);
    cursor: pointer;
    font-family: Cinzel, Georgia, serif;
    min-height: 29px;
    padding: 4px 14px;
    font-weight: 600;
}

a.button-red {
    min-height: 27px;
    padding: 0 13px;
    margin-left: 8px;
    color: #f5e0b0;
    line-height: 27px;
    background: linear-gradient(180deg, #b9681d 0, #81430d 58%, #5b2c06 100%);
    border: 1px solid #8d4a13;
    border-bottom-color: #3a1a06;
    border-radius: 3px;
    box-shadow: inset 0 1px 0 rgba(255, 190, 80, .18), 0 0 8px rgba(160, 75, 8, .18);
    box-sizing: border-box;
    text-shadow: 0 1px 2px #000;
}

a.button-red em {
    padding: 0;
    background: none;
}

a.button-red b,
a.button-red i {
    display: none;
}

a.button-red span {
    display: block;
}

a:hover.button-red,
a:active.button-red {
    color: #fff3cf;
    background: linear-gradient(180deg, #d27a24 0, #995213 58%, #703707 100%);
    border-color: #c07020;
}

a.button-red-disabled,
a:hover.button-red-disabled {
    color: #765e42;
    background: #241811;
    border-color: #42250f;
    box-shadow: none;
}

.topbar-browse {
    padding-top: 2px;
}

.topbar-browse a.button-red {
    min-width: 31px;
    text-align: center;
}

.topbar-buttons a,
.topbar-buttons span.menu-buttons a {
    color: #dfbf83;
    min-height: 28px;
    padding: 0 13px;
    line-height: 28px;
    background: linear-gradient(180deg, #2d180d, #1b100b);
    border-right: 1px solid #4e280f;
    box-sizing: border-box;
    font-family: Poppins, Arial, sans-serif;
    font-weight: 600;
}

.topbar-buttons a:hover,
.topbar-buttons a.open {
    color: #fff0c9;
    background: #2a1208;
    border-color: #6a4020;
    text-decoration: none;
}

.main, .main-contents, .main-precontents, .listview, .listview-band-top,
.listview-band-bottom, .tabbed-contents {
    border-color: var(--inferno-border-dark);
    background-color: rgba(20, 13, 10, .96);
}

.main-contents { background-color: rgba(24, 17, 13, .97); }

.main-precontents,
.main-precontents #fi_toggle,
.listview-mode-default td {
    color: #d8c3a0;
}

.listview-mode-default td a:not([class*="q"]) {
    color: #d8c3a0 !important;
}

.listview-mode-default td a:not([class*="q"]):hover {
    color: #f0d29a !important;
}

.listview-mode-default input[type="checkbox"] {
    appearance: none;
    width: 14px;
    height: 14px;
    margin: 0;
    vertical-align: middle;
    background: #120905;
    border: 1px solid #744019;
    border-radius: 2px;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, .8);
    cursor: pointer;
}

.listview-mode-default input[type="checkbox"]:hover {
    border-color: #c07020;
    box-shadow: 0 0 5px rgba(192, 112, 32, .3), inset 0 1px 3px rgba(0, 0, 0, .8);
}

.listview-mode-default input[type="checkbox"]:checked {
    position: relative;
    background: linear-gradient(180deg, #9a5415, #5e2d08);
    border-color: #d09230;
}

.listview-mode-default input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 1px;
    left: 4px;
    width: 3px;
    height: 7px;
    border: solid #fff0c9;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

#fi {
    color: #d8c3a0;
    font-family: Poppins, Arial, sans-serif;
    line-height: 1.5;
}

#fi td,
#fi label {
    color: #d8c3a0;
}

#fi a {
    color: #e0a040;
}

#fi small > a {
    display: inline-block;
    min-width: 34px;
    padding: 2px 5px;
    color: #e6b458;
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    text-align: center;
}

#fi small > a:hover {
    color: #ffd36e;
    text-decoration: none;
}

#fi .padded,
#fi .padded2 {
    font-size: 14px;
    line-height: 1.8;
}

#fi .padded label,
#fi .padded2 label {
    margin-right: 7px;
    font-size: 14px;
}

#fi .padded input[type="radio"],
#fi .padded2 input[type="radio"] {
    width: 14px;
    height: 14px;
    margin: 0 4px 0 5px;
    vertical-align: -2px;
}

.listview-quicksearch {
    height: 28px;
}

.listview-quicksearch input {
    width: 260px !important;
    height: 26px;
    margin: 0;
    padding: 4px 34px 4px 9px;
    color: #c8a060;
    background: #170a04;
    border: 1px solid #5a270c;
    border-radius: 3px;
    box-sizing: border-box;
    font: 12px/16px Poppins, Arial, sans-serif;
}

.listview-quicksearch em {
    top: 4px;
    right: 7px;
    width: 18px;
    height: 18px;
    background: transparent url(../images/ui/search-inferno.svg) center / 16px 16px no-repeat;
}

.listview-quicksearch a {
    top: 3px;
    right: 4px;
    padding: 3px;
}

.listview-quicksearch a span,
.listview-quicksearch a:hover span {
    width: 16px;
    height: 16px;
    background: transparent url(../images/ui/search-clear-inferno.svg) center / 15px 15px no-repeat;
}

.infobox {
    color: #d8c3a0;
    background: rgba(18, 12, 9, .98);
    border-color: #5a2c0f;
    border-radius: 5px;
    font-family: Poppins, Arial, sans-serif;
    box-shadow: inset 0 1px 0 rgba(224, 160, 64, .04), 0 5px 18px rgba(0, 0, 0, .22);
}

.infobox th,
.infobox th a {
    color: #e6b458;
    font-family: Cinzel, Georgia, serif;
    font-weight: 700;
}

.infobox td,
.infobox li div {
    color: #d8c3a0;
    font-family: Poppins, Arial, sans-serif;
}

.infobox li {
    position: relative;
    padding-left: 13px;
    background: none;
}

.infobox li::before {
    content: '';
    position: absolute;
    top: .72em;
    left: 1px;
    width: 4px;
    height: 4px;
    background: #c07020;
    box-shadow: 0 0 5px rgba(192, 112, 32, .35);
}

#fi h3,
#fi h3 a {
    color: #e6b458;
    font-family: Cinzel, Georgia, serif;
}

.filter, .filter-box, .infobox, .quick-facts, .listview-scroller,
table.grid, table.form, div.pad, div.text {
    border-color: var(--inferno-border-dark);
}

.listview thead, .listview th, .listview-band-top,
.listview-band-bottom { background-color: #25140c; }

.listview thead div {
    border-top-color: #744019;
    border-left-color: #5a2c0f;
    border-right-color: #2d1609;
    border-bottom-color: #2d1609;
}

.listview thead a,
.listview th a.static,
.listview th a.static:hover {
    color: #f0d29a;
    background: linear-gradient(180deg, #4a260f, #2b160b);
    font-family: Poppins, Arial, sans-serif;
    text-shadow: 0 1px 2px #000;
}

.listview th a:hover {
    color: #fff0c9;
    background: linear-gradient(180deg, #643615, #371b0c);
}

.listview td { background-color: #130f0d; border-color: #302016; }
.listview tr:nth-child(even) td { background-color: #18110d; }

.listview tr:hover td, .listview tr:hover th { background-color: #2a170d; }

#lv-items .listview-mode-default tbody td:nth-child(8) a.q1 {
    color: #d8c3a0 !important;
}

#lv-items .listview-mode-default tbody td:nth-child(8) a.q1:hover {
    color: #f0d29a !important;
}

.tabs a,
.tabs a:hover {
    color: #e0a040;
    background: linear-gradient(180deg, #26150c, #17100c);
    border: 1px solid #4b280f;
    border-bottom-color: #2d1609;
    box-sizing: border-box;
}

.tabs a.selected,
.tabs a.selected:hover {
    background: linear-gradient(180deg, #7a4114, #4a260f);
    border-color: #9a5b1f;
    border-bottom-color: #4a260f;
}

.tabs div {
    background: none;
}

.tabs li a div,
.tabs li a b {
    color: #e0a040;
    font-family: Poppins, Arial, sans-serif;
}

.tabs li a.selected div,
.tabs li a:hover div,
.tabs li a.selected b,
.tabs li a:hover b {
    color: #fff0c9;
}

h1, h2, h3, .heading-size-1, .heading-size-2 {
    color: var(--inferno-gold-light);
    font-family: Cinzel, Georgia, serif;
    letter-spacing: .04em;
}

.home-wrapper { padding-top: 45px; }

.home-logo {
    width: 230px;
    height: 230px;
    margin: 0 auto 24px;
    background: url(../images/logos/inferno.png) center / contain no-repeat;
}

.home-search input {
    box-sizing: border-box;
    height: 40px;
    padding: 8px 46px 8px 12px;
    border: 1px solid var(--inferno-border);
    border-radius: 3px;
    box-shadow: inset 0 1px 6px #000, 0 0 12px rgba(192, 112, 32, .12);
}

.home-search a {
    width: 36px;
    height: 36px;
    right: -4px;
    top: 2px;
    background-size: 21px 21px;
}

.home-search a:hover,
.home-search a:focus,
.home-search a:active {
    background-size: 21px 21px;
}

.home-menu {
    color: var(--inferno-border);
    margin-top: 8px;
}

.home-menu a,
.home-menu a:visited,
.home-menu a span.hassubmenu {
    color: var(--inferno-gold-light) !important;
    font-family: Cinzel, Georgia, serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: .04em;
    text-shadow: 0 1px 2px #000;
}

.home-menu a:hover,
.home-menu a:focus,
.home-menu a.open,
.home-menu a:hover span.hassubmenu,
.home-menu a:focus span.hassubmenu,
.home-menu a.open span.hassubmenu {
    color: #fff0c9 !important;
}

.home-menu .menu-arrow {
    border-top-color: var(--inferno-gold-light);
}

body.home:has(.live-search:not([style*="display: none"])) .home-menu {
    visibility: hidden;
}
.footer, .footer-copy, .footer-links { color: var(--inferno-muted); }

* {
    scrollbar-width: thin;
    scrollbar-color: #9a5318 #160b06;
}

*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: #160b06; }
*::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #a45a1a, #63300e);
    border: 2px solid #160b06;
    border-radius: 6px;
}
*::-webkit-scrollbar-thumb:hover { background: #bd6a20; }

@media (prefers-reduced-motion: reduce) {
    body::before { animation: none; }
    #inferno-embers { display: none; }
}
