@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans&family=Josefin+Slab:wght@400;600&display=swap');

.google-auto-placed {
    box-shadow: 0 0 0.2em black;
}

.google-auto-placed ins[data-ad-status="unfilled"] {
    display: none !important;
}

.sans, h1, h2, h3, h4, h5, h6, summary {
    font-family: 'Josefin Sans', sans-serif;
}

.slab, address, blockquote, li, p, table {
    font-family: 'Josefin Slab', serif;
    font-weight: 400;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

blockquote {
    background: linear-gradient(0.75turn, #00000000 50%, #FFFFFF10);
    margin: 0;
    padding: 1em 1.5em;
}

blockquote.fixed {
    background-color: #FFFFFF20;
    opacity: 0;
    padding: 0.5em 1em;
    position: fixed;
    right: 5vmin;
    transition: opacity 0.1s;
}

body {
    background-color: #333333;
    color: #F5F5F5;
}

body>div {
    visibility: hidden;
}

details {
    line-height: 1.5em;
}

details:last-of-type {
    margin-bottom: 1em;
}

details>summary {
    list-style-type: none;
    margin: 0 0 0 1em;
    padding: 0.15em 0;
}

details>summary::-webkit-details-marker {
    display: none;
}

details>summary::before {
    content: '\FF0B';
    display: inline-block;
    text-align: center;
    width: 1em;
}

details[open]>summary::before {
    content: '\FF0D';
}

details>summary:hover {
    background: linear-gradient(0.25turn, #00000000, #FFFFFF10);
}

dfn {
    font-style: unset;
}

dfn[title], dfn>abbr[title] {
    border-bottom-style: dotted;
    border-width: thin;
    text-decoration: unset;
}

em {
    color: inherit;
    display: inline-block;
    font-style: unset;
}

em.cap {
    background: linear-gradient(#00000000 30%, #FFFFFF10 75%, #FFFFFFFF 80%, #00000000 81%);
}

em.cap+em.cap {
    margin-left: 0.2em;
}

em.err {
    color: tomato;
    font-weight: 600;
    text-decoration: line-through;
    text-decoration-color: aliceblue;
}

em.new {
    color: royalblue;
    font-weight: 600;
}

em.var {
    color: khaki;
    font-weight: 600;
}

hr {
    border-color: #000000 #000000 #4E4E4E #4E4E4E;
    border-style: solid solid solid none;
    border-width: thin;
}

li.br {
    line-height: 0.5em;
    visibility: hidden;
}

li.br:last-child {
    line-height: 0;
}

main>ul {
    background: linear-gradient(0.25turn, #00000000 50%, #FFFFFF10);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0;
    padding: 0.5em 0 0.5em 1.5em;
}

main>ul li {
    line-height: 2em;
    white-space: nowrap;
}

main>ul li.off a {
    color: gray;
}

main>ul li.off:hover a {
    color: inherit;
}

main>ul ul {
    margin: 0 2.5vmin;
    padding: 0.5em 0 0.5em 1.5em;
}

main>ul>li {
    margin-right: 1.5em;
}

table {
    box-sizing: border-box;
    margin: 1em auto;
    max-width: 120vmin;
    text-align: center;
    width: 100%;
}

table, td, th {
    border: thin solid;
    border-collapse: separate;
}

table.calc {
    line-height: 2em;
}

table.calc select {
    margin: 0 0.5em;
}

table.calc select.err {
    color: tomato;
}

table.calc span {
    display: inline-block;
}

table.calc tr:last-child td {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}

table.calc button {
    font-family: serif;
    margin: 0.25em;
    width: 4.5em;
}

table.calc button.enter {
    width: 9em;
}

table.horadricube {
    text-align: left;
}

table.horadricube td>ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0;
    padding: 0 0 0 1.5em;
}

table.horadricube td>ul li {
    margin-right: 1.5em;
}

table.horadricube th {
    background-color: #FFFFFF10;
}

table.tips td:first-child {
    text-align: left;
}

table.tips th {
    background-color: #FFFFFF10;
}

td {
    border-color: #FFFFFF20;
    padding: 0.25em;
}

td[colspan] {
    border-color: #FFFFFF80;
    border-style: solid none;
}

td ul {
    margin: 0;
    padding: 0.25em 0 0.25em 1.5em;
    text-align: left;
}

td ul:has(a) {
    line-height: 1.5em;
    margin-block: 1em;
}

th {
    background-color: #FFFFFF20;
    padding: 0.25em;
}

th+th {
    width: 2em;
}

th+th.tab {
    width: 4em;
}

*.clear {
    color: #F5F5F5;
}

*.craft {
    color: orange;
}

*.del {
    color: dimgray;
    text-decoration: line-through;
    text-decoration-color: silver;
}

*.extra {
    color: silver;
}

*.fight {
    color: silver;
}

*.gem {
    background: linear-gradient(#00000000 81%, white 87%, #00000000 90%);
}

*.gem-amethyst {
    background: linear-gradient(#00000000 81%, blueviolet 87%, #00000000 90%);
}

*.gem-diamond {
    background: linear-gradient(#00000000 81%, lightsteelblue 87%, #00000000 90%);
}

*.gem-emerald {
    background: linear-gradient(#00000000 81%, lime 87%, #00000000 90%);
}

*.gem-ruby {
    background: linear-gradient(#00000000 81%, red 87%, #00000000 90%);
}

*.gem-sapphire {
    background: linear-gradient(#00000000 81%, dodgerblue 87%, #00000000 90%);
}

*.gem-skull {
    background: linear-gradient(#00000000 81%, white 87%, #00000000 90%);
}

*.gem-topaz {
    background: linear-gradient(#00000000 81%, yellow 87%, #00000000 90%);
}

*.hell {
    background: linear-gradient(#00000000 30%, crimson 84%, gold 87%, #00000000 90%);
}

*.highlight {
    color: aliceblue;
}

*.limit {
    color: tan;
}

*.magic {
    color: royalblue;
}

*.portal {
    color: crimson;
}

*.rare {
    color: yellow;
}

*.secret {
    background: linear-gradient(#00000000 30%, orange 84%, tan 87%, #00000000 90%);
}

*.set {
    color: lawngreen;
}

*.star {
    color: gold;
}

*.unique {
    color: tan;
}

*.unset {
    color: tomato;
}

*.unset:hover {
    color: lawngreen;
}

*.waypoint {
    background: linear-gradient(#00000000 30%, skyblue 84%, white 87%, #00000000 90%);
}

#copyright {
    font-size: 50%;
    padding: 1em 2em 1em;
}

#copyright+address {
    font-style: unset;
    text-align: right;
}

#notp {
    text-shadow: skyblue 0 0 0.15em;
    transition: text-shadow 1s;
}

#tp {
    text-shadow: skyblue 0 0 0.15em;
    transition: text-shadow 0.5s;
}

#tp:hover {
    text-shadow: skyblue 0 0 0.75em;
}
