@font-face {font-family:"SP Cinzel";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/cinzel-medium.ttf") format("truetype");}
@font-face { font-family:"SP Alegreya SC"; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/alegreya-sc-regular.ttf") format("truetype"); }
@font-face { font-family:"SP Alegreya SC"; font-style:normal; font-weight:700; font-display:swap; src:url("../fonts/alegreya-sc-bold.ttf") format("truetype"); }
@font-face { font-family:"SP Source Sans"; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/source-sans-regular.ttf") format("truetype"); }
@font-face { font-family:"SP Source Sans"; font-style:normal; font-weight:700; font-display:swap; src:url("../fonts/source-sans-bold.ttf") format("truetype"); }
/* Solspire · 1.0.24
 * A brass, sapphire and arcane-engineering theme for World Anvil presentation views.
 * Deploy this whole directory to assets/themes/solspire/.
 * Relative asset paths work both locally and on the CDN.
 * Presentation only: no route assumptions, markup changes, or theme JavaScript.
 */


/* Variables are also defined on standalone map, RPG, and tooltip roots. */
.user-css-presentation, .user-css, .user-css-extended,
.user-css-map-sidebar, .map-context-user-css, .user-css-rpgblock,
.user-css-presentation .tooltipster-content {
    --sp-void: #101f26;
    --sp-page: #f3eddf;
    --sp-panel: #faf6eb;
    --sp-raised: #e6dcc7;
    --sp-line: #b2a07c;
    --sp-ink: #293941;
    --sp-muted: #655d50;
    --sp-bone: #142f3c;
    --sp-gold: #78511e;
    --sp-link: #006183;
    --sp-blood: #007fbd;
    --sp-blood-light: #9b342c;
    --sp-green: #306049;
    --sp-blue: #235b83;
    --sp-heading: "SP Cinzel", Georgia, serif;
    --sp-body: "SP Source Sans", "Segoe UI", Arial, sans-serif;
    --sp-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --sp-shadow: 0 14px 45px rgb(0 0 0 / 25%);
    color-scheme: light;
}
.user-css-presentation {
    background: radial-gradient(ellipse at 50% 0, #163440 0, #10252f 48%, var(--sp-void) 85%);
    background-attachment: fixed;
    min-height: 100vh;
    height: auto;
    color: var(--sp-ink);
    font-family: var(--sp-body);
}
.user-css.page, .user-css-extended .page {
    background: linear-gradient(105deg, rgb(198 174 125 / 3%), transparent 45%), var(--sp-page);
    color: var(--sp-ink);
    border: 1px solid var(--sp-line);
    box-shadow: var(--sp-shadow);
    border-radius: 0;
}

/* Typography / article reading */
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock),
.user-css-presentation .tooltipster-content {
    font-family: var(--sp-body);
    font-size: 18px;
    line-height: 1.75;
    color: var(--sp-ink);
    overflow-wrap: break-word;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) p,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) li,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) dl {
    color: inherit;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h1,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h2,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h3,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h4,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h5,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h6 {
    font-family: var(--sp-heading);
    color: var(--sp-bone);
    font-weight: 500;
    line-height: 1.3;
    text-shadow: none;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h1 {
    font-size: clamp(32px, 4vw, 54px);
    letter-spacing: .025em;
    margin: 24px 0 14px;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h2 {
    font-size: 27px;
    margin: 32px 0 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--sp-line);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h3 {
    font-size: 22px;
    color: var(--sp-gold);
    margin: 24px 0 12px;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h4 {
    font-size: 19px;
    margin: 20px 0 10px;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h5,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h6 {
    font-size: 15px;
    letter-spacing: .065em;
    margin: 16px 0 8px;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) p {
    margin-bottom: 1.15em;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) strong,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) b,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) dt {
    color: var(--sp-bone);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) a {
    color: var(--sp-link);
    text-decoration-color: var(--sp-blood);
    text-underline-offset: .2em;
    transition: color .18s ease;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) a:hover,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) a:focus {
    color: var(--sp-bone);
    text-decoration: underline;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h1 a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h2 a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h3 a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h4 a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h5 a {
    color: inherit;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) a:focus-visible,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) button:focus-visible,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) input:focus-visible,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) textarea:focus-visible,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) select:focus-visible,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) summary:focus-visible {
    outline: 2px solid var(--sp-gold);
    outline-offset: 4px;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .text-muted,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) small,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .subheading,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-subheading,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .artist-credits,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-authors,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-currentDate,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .comment-box-date {
    color: var(--sp-muted);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-content,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-content {
    font-size: 18px;
    line-height: 1.8;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-title {
    font-size: clamp(34px, 5vw, 64px);
    letter-spacing: .06em;
    text-align: center;
    margin-top: 32px;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) #world-subtitle,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-subtitle {
    display: block;
    margin-top: 16px;
    font-family: var(--sp-ui);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--sp-muted);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-subtitle small,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) #world-subtitle small {
    font-size: inherit;
    color: inherit;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-currentDate {
    font-family: var(--sp-body);
    font-size: 17px;
    font-style: italic;
    letter-spacing: .04em;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .dropcap {
    float: left;
    color: var(--sp-gold);
    font-family: var(--sp-heading);
    font-size: 4em;
    line-height: .9;
    padding: .1em .12em 0 0;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) hr {
    border: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--sp-line), var(--sp-gold), var(--sp-line), transparent);
    margin: 32px 0;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) blockquote,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .aloud {
    background: #e8e4d6;
    color: var(--sp-bone);
    border: 1px solid var(--sp-line);
    border-left: 3px solid var(--sp-blood);
    padding: 24px 28px;
    margin: 24px 0;
    font-family: var(--sp-body);
    font-size: 20px;
    line-height: 1.7;
    box-shadow: none;
    border-radius: 0;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) blockquote {
    font-style: italic;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) blockquote .author,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) blockquote cite {
    display: block;
    color: var(--sp-muted);
    font-family: var(--sp-ui);
    font-size: 11px;
    font-style: normal;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-top: 12px;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) pre,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) code,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) kbd {
    background: var(--sp-void);
    color: var(--sp-green);
    border-color: var(--sp-line);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) pre {
    padding: 18px;
    white-space: pre-wrap;
}

/* Panels, cards, covers, books */
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .panel,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .panel-default,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .well,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .map-box,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .statblock,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .character-sheet,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .orgtree li a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .rhea-node,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .dictionary-word {
    background: var(--sp-panel);
    color: var(--sp-ink);
    border: 1px solid var(--sp-line);
    border-radius: 0;
    box-shadow: none;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .panel-heading,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .panel-footer,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .panel-default > .panel-heading {
    background: var(--sp-raised);
    color: var(--sp-bone);
    border-color: var(--sp-line);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .panel-body {
    padding: 24px;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .panel h2,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .panel h3,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .statblock h2,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .statblock h3 {
    color: var(--sp-gold);
    background: transparent;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .map-box {
    transition: border-color .18s ease, background-color .18s ease;
    overflow: hidden;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel:hover,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .map-box:hover {
    background: var(--sp-raised);
    border-color: var(--sp-gold);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel .details {
    padding: 20px 22px;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel .heading {
    font-size: 18px;
    color: var(--sp-bone);
    margin: 0 0 10px;
    letter-spacing: .02em;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel .subheading,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel .date {
    font-family: var(--sp-ui);
    font-size: 10px;
    color: var(--sp-muted);
    letter-spacing: .1em;
    text-transform: uppercase;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel .excerpt {
    font-size: 16px;
    color: var(--sp-ink);
    line-height: 1.65;
    margin: 12px 0 0;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel > a:hover {
    text-decoration: none;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel .cover {
    min-height: 140px;
    background-size: cover;
    background-position: center;
    border-bottom: 1px solid var(--sp-line);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) #cover,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-cover {
    border-bottom: 1px solid var(--sp-line);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) #cover img,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-cover img {
    display: block;
    max-width: 100%;
    height: auto;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .bookcover {
    box-shadow: 0 8px 18px rgb(0 0 0 / 35%);
    border: 1px solid var(--sp-line);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .bookcover .booktitle {
    background: #102c3df2;
    color: var(--sp-bone);
    font-family: var(--sp-heading);
    font-size: 13px;
    letter-spacing: .07em;
    padding: 12px;
    border-top: 1px solid var(--sp-line);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .bookcover .excerpt {
    background: var(--sp-page);
    color: var(--sp-ink);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .image-thumbnail,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .img-thumbnail {
    background: var(--sp-panel);
    border-color: var(--sp-line);
    border-radius: 0;
}

/* Forms / actions / navigation */
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .spoiler-button,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .label-roller {
    background: var(--sp-raised);
    color: var(--sp-bone);
    border: 1px solid var(--sp-line);
    border-radius: 2px;
    font-family: var(--sp-ui);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .04em;
    padding: 10px 16px;
    box-shadow: none;
    text-shadow: none;
    white-space: normal;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn:hover,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn:focus,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .spoiler-button:hover,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .label-roller:hover {
    background: #ddd0b6;
    color: var(--sp-bone);
    border-color: var(--sp-gold);
    text-decoration: none;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn-primary,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn-danger {
    background: #104d69;
    border-color: #c59b59;
    color: #fff3d7;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn-primary:hover,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn-danger:hover {
    background: #0c6588;
    color: #fff3d7;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn-success,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .label-success,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .text-success {
    color: var(--sp-green);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .text-danger,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .label-danger {
    color: var(--sp-blood-light);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .text-warning,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .label-warning {
    color: var(--sp-gold);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .text-info,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .label-info {
    color: var(--sp-blue);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn[disabled],
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn.disabled,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) button:disabled {
    opacity: .5;
    cursor: not-allowed;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .form-control,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .typeahead-input,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) input[type="text"],
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) input[type="search"],
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) textarea,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) select {
    background: var(--sp-void);
    color: var(--sp-ink);
    border: 1px solid var(--sp-line);
    border-radius: 2px;
    box-shadow: none;
    font-family: var(--sp-body);
    font-size: 16px;
    max-width: 100%;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) input::placeholder,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) textarea::placeholder {
    color: var(--sp-muted);
    opacity: 1;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .form-control:focus,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .typeahead-input:focus {
    border-color: var(--sp-gold);
    box-shadow: 0 0 0 2px rgb(198 174 125 / 15%);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-strip,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-tabs,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .backtoworld a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .menu-control,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .breadcrumb,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .pagination > li > a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .pagination > li > span {
    background: var(--sp-panel);
    color: var(--sp-ink);
    border-color: var(--sp-line);
    box-shadow: none;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-tabs > li > a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-tabs .nav-link,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-pills .nav-link,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-strip a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .backtoworld a {
    color: var(--sp-muted);
    font-family: var(--sp-ui);
    font-size: 12px;
    border-radius: 0;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-tabs > li.active > a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-tabs .nav-link.active,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-tabs > li > a:hover,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-tabs .nav-link:hover,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-pills .nav-link.active {
    background: var(--sp-raised);
    color: var(--sp-bone);
    border-color: var(--sp-line);
    border-bottom-color: var(--sp-blood);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .category-list h5 a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .category-list h6 a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .table-of-contents a {
    color: var(--sp-link);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .category-list li {
    margin-bottom: 8px;
}
.user-css-presentation #world-navigation-sidebar,
.user-css-presentation .world-navigation-palette-trigger {
    background: var(--sp-page);
    color: var(--sp-ink);
    border-color: var(--sp-line);
    box-shadow: var(--sp-shadow);
    scrollbar-color: var(--sp-line) var(--sp-page);
}
.user-css-presentation #world-navigation-sidebar {
    max-width: calc(100vw - 24px);
}
.user-css-presentation #world-navigation-sidebar a,
.user-css-presentation #world-navigation-sidebar h2,
.user-css-presentation #world-navigation-sidebar h5,
.user-css-presentation #world-navigation-sidebar h6 {
    color: var(--sp-link);
}

/* Secrets / spoilers / tables / calendars / game blocks */
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .spoiler-content,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .secret,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .user-css-secret,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .alert,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .comment-box,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .comment-box-reply {
    background: var(--sp-panel);
    color: var(--sp-ink);
    border: 1px solid var(--sp-line);
    border-radius: 0;
    box-shadow: none;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .secret,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .user-css-secret,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .alert-danger {
    border-left: 3px solid var(--sp-blood);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .alert-success {
    border-left: 3px solid var(--sp-green);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .alert-warning {
    border-left: 3px solid var(--sp-gold);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .alert-info {
    border-left: 3px solid var(--sp-blue);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .table,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) table {
    --bs-table-color: var(--sp-ink);
    --bs-table-bg: var(--sp-panel);
    --bs-table-striped-color: var(--sp-ink);
    --bs-table-striped-bg: #eee6d5;
    --bs-table-hover-color: var(--sp-bone);
    --bs-table-hover-bg: #e3dac7;
    color: var(--sp-ink);
    border-color: var(--sp-line);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .table > thead > tr > th,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .table > tbody > tr > th,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) table th {
    background: #d4c6a7;
    color: var(--sp-bone);
    border-color: var(--sp-line);
    font-family: var(--sp-ui);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .08em;
    padding: 12px;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .table > tbody > tr > td,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .table > thead > tr > td,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) table td {
    background: var(--sp-panel);
    color: var(--sp-ink);
    border-color: var(--sp-line);
    padding: 12px;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .table-striped > tbody > tr:nth-of-type(odd) > td,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) table tbody tr:nth-child(odd) td {
    background: #eee6d5;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .calendar-presentation,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .calendar-presentation .day,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .calendar-presentation .month,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .thales-cell {
    background: var(--sp-panel);
    color: var(--sp-ink);
    border-color: var(--sp-line);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .calendar-presentation .holiday,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .calendar-presentation .today {
    background: #d6e8eb;
    color: var(--sp-bone);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .label,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .badge,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .tag {
    background: var(--sp-raised);
    color: var(--sp-ink);
    border: 1px solid var(--sp-line);
    font-family: var(--sp-ui);
    font-weight: 400;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .statblock .header,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .statblock .subheading,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .statblock .attribute {
    background: var(--sp-raised);
    color: var(--sp-bone);
    border-color: var(--sp-line);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .statblock p,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .statblock h4,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .statblock h5,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .character-sheet label {
    color: var(--sp-ink);
}

/* Timelines / relationships */
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline li .timeline-panel,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .milestone-panel,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline-entry,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline-entry-milestone {
    background: var(--sp-panel);
    color: var(--sp-ink);
    border-color: var(--sp-line);
    border-radius: 0;
    box-shadow: none;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline::before {
    background: var(--sp-line);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .tl-circ,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .header-icon {
    background: var(--sp-page);
    color: var(--sp-gold);
    border-color: var(--sp-gold);
    box-shadow: none;
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .major .header-icon,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .major .timeline-panel {
    border-color: var(--sp-blood-light);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .important .header-icon,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .important .timeline-panel {
    border-color: var(--sp-gold);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .minor .header-icon,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .minor .timeline-panel {
    border-color: var(--sp-green);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .trivial .header-icon,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .trivial .timeline-panel {
    border-color: var(--sp-blue);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline li .timeline-panel::before {
    border-left-color: var(--sp-line);
    border-right-color: var(--sp-line);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline li .timeline-panel::after {
    border-left-color: var(--sp-panel);
    border-right-color: var(--sp-panel);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .tl-heading,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .tl-heading-date,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .history-content,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .era-header,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .orphan-era {
    color: var(--sp-ink);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .orgtree li::before,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .orgtree li::after,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .orgtree ul ul::before {
    border-color: var(--sp-line);
}

/* Maps / popovers: keep the actual map imagery unchanged */
:is(.map-context-user-css, .user-css, .user-css-extended) .leaflet-popup-content-wrapper,
:is(.map-context-user-css, .user-css, .user-css-extended) .leaflet-popup-tip,
:is(.map-context-user-css, .user-css, .user-css-extended) .leaflet-control-layers,
:is(.map-context-user-css, .user-css, .user-css-extended) .leaflet-bar a,
.user-css-map-sidebar {
    background: var(--sp-panel);
    color: var(--sp-ink);
    border-color: var(--sp-line);
}
:is(.map-context-user-css, .user-css, .user-css-extended) .leaflet-popup-content a,
:is(.map-context-user-css, .user-css, .user-css-extended) .leaflet-control a {
    color: var(--sp-link);
}
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .map-included-navigation {
    background: var(--sp-panel);
    color: var(--sp-muted);
    border: 1px solid var(--sp-line);
}
.user-css-presentation .tooltipster-content,
.user-css-presentation .popover,
.user-css-presentation .popover-content,
.user-css-presentation .popover-body {
    background: var(--sp-panel);
    color: var(--sp-ink);
    border: 1px solid var(--sp-line);
    font-family: var(--sp-body);
    box-shadow: var(--sp-shadow);
}
.user-css-presentation .tooltipster-content a,
.user-css-presentation .popover a {
    color: var(--sp-link);
}

/* Small screens / reduced motion / print */
@media (max-width: 767px) {
    .user-css.page, .user-css-extended .page { padding-left: 18px; padding-right: 18px; }
    .user-css .world-title { font-size: 34px; letter-spacing: .025em; }
    .user-css #world-subtitle { letter-spacing: .12em; line-height: 1.8; }
    .user-css .article-content, .user-css .world-content { font-size: 17px; }
    .user-css blockquote, .user-css .aloud { padding: 18px; font-size: 18px; }
    .user-css .article-panel .details { padding: 18px; }
    .user-css pre { max-width: 100%; }
    .user-css .table-responsive { border-color: var(--sp-line); }
}
@media (prefers-reduced-motion: reduce) {
    .user-css *, .user-css-extended *, .user-css-map-sidebar *, .user-css-rpgblock * {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}
@media print {
    .user-css-presentation, .user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock {
        --sp-page: #fff; --sp-panel: #fff; --sp-raised: #eee;
        --sp-ink: #222; --sp-muted: #555; --sp-bone: #111;
        --sp-link: #512b20; --sp-gold: #665028; --sp-line: #aaa;
        color-scheme: light; background: white; color: #222;
    }
    .user-css.page, .user-css-extended .page { background: white; box-shadow: none; }
    .user-css blockquote, .user-css .aloud, .user-css table td, .user-css table th {
        background: white !important; color: #222 !important;
    }
}

/* Fill the canvas even when legacy layout styles constrain body height. */
html:has(> body.user-css-presentation) {
    background: #101f26;
    color-scheme: light;
}
:is(.user-css, .user-css-extended) .bookcover {
    height: auto;
    max-width: 100%;
    background: var(--sp-panel);
}
:is(.user-css, .user-css-extended) .bookcover img {
    display: block;
    width: 100%;
    height: auto;
}
:is(.user-css, .user-css-extended) .bookcover .booktitle {
    top: auto;
    bottom: 18px;
    max-width: 100%;
}
:is(.user-css, .user-css-extended) .bookcover a:hover .booktitle {
    background: #104d69;
    color: var(--sp-bone);
}
:is(.user-css, .user-css-extended) .bookcover a:hover .excerpt {
    width: 80%;
    left: 10%;
    color: var(--sp-ink);
}
@media print {
    html:has(> body.user-css-presentation) { background: white; color-scheme: light; }
}

/* Search suggestions and action menus, including menus outside .user-css. */
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu {
    --bs-dropdown-bg: var(--sp-panel);
    --bs-dropdown-color: var(--sp-ink);
    --bs-dropdown-link-color: var(--sp-link);
    --bs-dropdown-link-hover-color: var(--sp-bone);
    --bs-dropdown-link-hover-bg: var(--sp-raised);
    --bs-dropdown-link-active-color: var(--sp-bone);
    --bs-dropdown-link-active-bg: #104d69;
    --bs-dropdown-link-disabled-color: var(--sp-muted);
    --bs-dropdown-border-color: var(--sp-line);
    --bs-dropdown-divider-bg: var(--sp-line);
    background: var(--sp-panel);
    color: var(--sp-ink);
    border: 1px solid var(--sp-line);
    border-radius: 2px;
    box-shadow: var(--sp-shadow);
    padding: 6px 0;
    max-width: calc(100vw - 32px);
    font-family: var(--sp-body);
    font-size: 16px;
    line-height: 1.5;
}
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > li > a,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item {
    display: block;
    background: transparent;
    color: var(--sp-link);
    padding: 10px 16px;
    white-space: normal;
    overflow-wrap: anywhere;
    text-decoration: none;
}
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > li > a:hover,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > li > a:focus,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item:hover,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item:focus {
    background: var(--sp-raised);
    color: var(--sp-bone);
    text-decoration: none;
}
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > .active > a,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > .active > a:hover,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > .active > a:focus,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item.active,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item:active {
    background: #104d69;
    color: var(--sp-bone);
}
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .info,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu strong {
    color: inherit;
}
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .text-muted {
    /* Bootstrap text-muted uses !important. */ color: var(--sp-muted) !important;
}
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > .active > a .text-muted,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item.active .text-muted {
    color: #c8e9f4 !important;
}
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > .disabled > a,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > .disabled > a:hover,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > .disabled > a:focus,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item.disabled,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item:disabled {
    background: transparent;
    color: var(--sp-muted);
    opacity: .65;
    cursor: not-allowed;
}
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .divider,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-divider {
    background-color: var(--sp-line);
    border-color: var(--sp-line);
}
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-header {
    color: var(--sp-muted);
    font-family: var(--sp-ui);
}
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > li > a:focus-visible,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item:focus-visible {
    outline: 2px solid var(--sp-gold);
    outline-offset: -3px;
}

/* Back to world: keep long/localized labels within the article header. */
:is(.user-css-presentation, .user-css, .user-css-extended) .backtoworld {
    position: relative;
    width: 100%;
    padding: 18px 15px 8px;
    margin: 0;
}
:is(.user-css-presentation, .user-css, .user-css-extended) .backtoworld a {
    position: static;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
    max-width: 100%;
    min-height: 44px;
    padding: 10px 16px;
    margin: 0;
    background: var(--sp-panel);
    color: var(--sp-link);
    border: 1px solid var(--sp-line);
    border-radius: 2px;
    box-shadow: none;
    font-family: var(--sp-ui);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .025em;
    text-transform: none;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
:is(.user-css-presentation, .user-css, .user-css-extended) .backtoworld a::before {
    content: "←";
    flex: 0 0 auto;
    color: var(--sp-gold);
    font-size: 18px;
}
:is(.user-css-presentation, .user-css, .user-css-extended) .backtoworld a:hover,
:is(.user-css-presentation, .user-css, .user-css-extended) .backtoworld a:focus {
    background: var(--sp-raised);
    color: var(--sp-bone);
    border-color: var(--sp-gold);
    text-decoration: none;
    box-shadow: none;
}
:is(.user-css-presentation, .user-css, .user-css-extended) .backtoworld a:focus-visible {
    outline: 2px solid var(--sp-gold);
    outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
    .user-css-presentation .backtoworld a { transition: none; }
}

/* SOLSPIRE: architectural frame, paper, and sapphire accents. */

.user-css-presentation,
.map-context-user-css {
    --sp-frame: url("../images/brass-sapphire-frame.png");
    --sp-jewel: url("../images/sapphire-divider.svg");
    --sp-blue: #006da1;
    --sp-enamel: #123c50;
    --sp-metal: #b18b48;
    --sp-paper: #f3eddf;
}

.user-css-presentation {
    background: url("../images/background-abstract.webp") center / cover no-repeat fixed;
    background-color: #0b1d25;
    font-family: var(--sp-body);
    color: var(--sp-ink);
}

html:has(> body.user-css-presentation) {
    background: #0b1d25;
}

.user-css.page,
.user-css-extended .page {
    background: radial-gradient(ellipse at top, #fffaf0 0, var(--sp-paper) 85%);
    color: var(--sp-ink);
    border: 1px solid var(--sp-line);
    border-radius: 0;
    box-shadow: 0 16px 55px #0006;
}

.user-css.main-container.page {
    border: 36px solid transparent;
    border-image: url("../images/brass-sapphire-frame.png") 255 / 44px / 0 stretch;
    padding: 18px 28px 40px;
    background-clip: padding-box;
    margin-bottom: 40px;
    overflow: visible;
}

.user-css.main-container.page > #cover {
    margin: -18px -28px 0;
    border-bottom: 3px double #9e7b3d;
}

.user-css #cover img {
    width: 100%;
    max-height: 460px;
    object-fit: cover;
    object-position: center;
}

.user-css.page-world-homepage #cover img {
    height: clamp(240px, 33vw, 440px);
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h1,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h2,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h3,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h4,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h5,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h6 {
    font-weight: 700;
    text-transform: none;
    letter-spacing: .015em;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h1 {
    font-size: clamp(34px, 4.6vw, 66px);
    line-height: 1.08;
    color: #263b40;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-title h1 {
    padding-top: 18px;
    margin: 8px 0 22px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-title-icon {
    font-size: .65em;
    vertical-align: .06em;
    color: #8a662e;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h2 {
    color: #244653;
    font-size: 30px;
    margin-top: 34px;
    padding: 0 0 15px;
    border-bottom: 0;
    background: url("../images/heading-rule.svg") left bottom / 100% 9px no-repeat;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h3 {
    color: #785326;
    font-size: 25px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h4 {
    font-size: 22px;
    color: #315360;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h5,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h6 {
    font-size: 18px;
    letter-spacing: .025em;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) p {
    font-size: 18px;
    line-height: 1.75;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) a {
    text-decoration: none;
    color: var(--sp-link);
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) a:hover,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) a:focus {
    color: #004562;
    text-decoration: underline;
    text-decoration-color: #b48e48;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .text-muted,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .subheading,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .artist-credits {
    color: var(--sp-muted) !important;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-title,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) h1.world-title {
    font-size: clamp(42px, 5.8vw, 82px);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    color: #243b43;
    letter-spacing: .005em;
    padding: 35px 0 16px;
    margin: 0;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-subtitle,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) #world-subtitle {
    font-family: var(--sp-heading);
    font-size: clamp(16px, 1.8vw, 23px);
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .06em;
    text-transform: none;
    color: #775727;
    margin: 18px 0 0;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-currentDate {
    font-family: var(--sp-heading);
    color: #13638a;
    font-size: 21px;
    font-style: normal;
    margin: 3px 0 14px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-authors {
    font-family: var(--sp-body);
    color: var(--sp-muted);
    font-size: 14px;
    margin-bottom: 18px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) :where(.world-authors) p {
    font-size: 14px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .page-world-homepage .heading::after {
    content: "";
    display: block;
    width: min(420px, 82%);
    height: 48px;
    background: url("../images/sapphire-divider.svg") center / contain no-repeat;
    margin: 8px auto 30px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .world-content {
    max-width: 790px;
    margin: 0 auto 34px;
    padding: 0 14px;
    font-size: 18px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) :where(.world-content) p {
    line-height: 1.8;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .breadcrumb,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .breadcrumb a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .breadcrumb-article-links-wrapper {
    font-size: 13px;
    line-height: 1.7;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .breadcrumb {
    background: transparent;
    border: 0;
    padding: 10px 0 22px;
    margin: 0;
    color: var(--sp-muted);
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) hr {
    height: 34px;
    opacity: 1; /* Override Bootstrap horizontal-rule fading. */
    border: 0;
    background: url("../images/sapphire-divider.svg") center / min(380px, 90%) 34px no-repeat;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .panel-default,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .aloud,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .calltoaction,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .example-box {
    border: 22px solid transparent;
    border-image: url("../images/brass-sapphire-frame.png") 255 / 28px / 0 stretch;
    background: #faf6eb;
    background-clip: padding-box;
    padding: 14px;
    border-radius: 0;
    color: var(--sp-ink);
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .panel-default .panel-body {
    padding: 8px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .panel-default h2,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .panel-default h3 {
    background: none;
    color: #244653;
    margin-top: 10px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) blockquote {
    background: linear-gradient(105deg,#e1eef0,#edf1e8);
    border: 1px solid #abbdb8;
    border-left: 3px solid #1379a1;
    padding: 25px 30px;
    color: #23404c;
    font-family: Georgia,serif;
    font-style: italic;
    font-size: 21px;
    box-shadow: inset 0 0 0 4px #ffffff55;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) :where(blockquote) p {
    font-family: inherit;
    font-size: inherit;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .aloud {
    font-family: Georgia,serif;
    font-size: 19px;
    line-height: 1.7;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .map-box,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .card,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .card- {
    background: #e4d8bf;
    color: var(--sp-ink);
    border: 1px solid #b7a47d;
    border-radius: 0;
    box-shadow: 0 4px 13px #46361914;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel:hover,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .map-box:hover {
    background: #eadfc8;
    border-color: #047eae;
    box-shadow: 0 5px 18px #08496524;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel .cover {
    border-bottom: 3px double #aa8647;
    min-height: 150px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel .details {
    padding: 20px 18px;
    background: transparent;
    position: relative;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel .details::before {
    content: "";
    display: block;
    height: 22px;
    margin: -11px 0 8px;
    background: url("../images/sapphire-divider.svg") center / 115px auto no-repeat;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel .heading {
    font-size: 21px;
    line-height: 1.2;
    color: #254450;
    text-align: center;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel .subheading,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel .date {
    font-family: var(--sp-body);
    font-size: 12px;
    letter-spacing: .035em;
    color: var(--sp-muted);
    text-align: center;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .article-panel p.excerpt {
    font-size: 16px;
    text-align: center;
    line-height: 1.6;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .map-box {
    padding: 0;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .map-box h3,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .map-box h5,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .map-box strong {
    display: block;
    color: #244653;
    text-align: center;
    padding: 12px;
    margin: 0;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .articletoc,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .category-contents {
    background: linear-gradient(110deg,#f0e8d6,#f9f5e9);
    border: 1px solid #b9a273;
    padding: 20px;
    font-size: 15px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .articletoc a {
    color: #28546a;
    font-size: 15px;
    line-height: 1.55;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .category-list {
    padding-left: 8px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .category-list li {
    padding: 8px 0;
    border-bottom: 1px solid #b7a47d44;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .category-list h5,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .category-list h6 {
    margin: 4px 0;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .category-list h5 a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .category-list h6 a {
    color: #28546a;
    font-size: 18px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .bookcover {
    background: #102b39;
    border: 1px solid #b3955b;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .bookcover .booktitle {
    background: #0c2c3dee;
    color: #f6e6c7;
    font-family: var(--sp-heading);
    font-size: 19px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .spoiler-button,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .label-roller,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .backtoworld a {
    background: linear-gradient(110deg,#183e50,#102b39);
    border: 1px solid #af8c4a;
    color: #f9e9c9;
    border-radius: 2px;
    box-shadow: inset 0 0 0 2px #071d2577, 0 2px 4px #0002;
    text-decoration: none;
    font-family: var(--sp-body);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: .025em;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn:hover,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn:focus,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .spoiler-button:hover,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .backtoworld a:hover,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .backtoworld a:focus {
    background: linear-gradient(110deg,#075d80,#163b4a);
    color: #fff8e8;
    border-color: #34bbed;
    text-decoration: none;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .backtoworld a::before {
    color: #66d6ff;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn-primary,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn-primary:hover {
    background: linear-gradient(110deg,#087fae,#10476b);
    border-color: #b79a61;
    color: white;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn-danger,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .btn-danger:hover {
    background: #763a2d;
    color: #fff4df;
    border-color: #b58655;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .form-control,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .typeahead-input,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) input[type="text"],
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) input[type="search"],
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) textarea,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) select {
    background: #fffbf1;
    color: #24404c;
    border: 1px solid #a78954;
    border-radius: 2px;
    font-family: var(--sp-body);
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .search-form .typeahead-input {
    min-height: 40px;
    padding: 8px 12px;
    font-size: 16px;
    box-shadow: 0 2px 10px #0004;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .form-control:focus,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .typeahead-input:focus {
    outline: 2px solid #018bc1;
    outline-offset: 2px;
    border-color: #976f35;
    box-shadow: 0 0 14px #00a7ed33;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-tabs,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-strip,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-pills,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .pagination {
    background: transparent;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-tabs > li > a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-tabs .nav-link,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-strip a {
    color: #28546a;
    font-family: var(--sp-heading);
    font-size: 17px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-tabs .nav-link.active,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-tabs > li.active > a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .nav-pills .nav-link.active {
    background: #143b50;
    color: #f9e9c9;
    border-color: #b79860;
    border-bottom: 3px solid #159dd0;
}

:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu {
    background: #112e3d;
    color: #eadfc9;
    border: 1px solid #ac8d51;
    box-shadow: inset 0 0 0 3px #081b2577,0 10px 28px #0005;
    --bs-dropdown-bg:#112e3d;
    --bs-dropdown-link-color:#eadfc9;
}

:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > li > a,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item {
    color: #eadfc9;
    background: transparent;
    font-family: var(--sp-body);
    font-size: 16px;
}

:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > li > a:hover,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > li > a:focus,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item:hover,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item:focus {
    background: #235166;
    color: #fff4da;
}

:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > .active > a,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > .active > a:hover,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu > .active > a:focus,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item.active {
    background: #08648d;
    color: white;
}

:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .text-muted {
    color: #bdd1d5 !important;
}

:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .active .text-muted {
    color: #d1effa !important;
}

:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .disabled > a,
:is(.user-css-presentation, .user-css, .user-css-extended, .map-context-user-css, .user-css-map-sidebar, .user-css-rpgblock) .dropdown-menu .dropdown-item:disabled {
    background: transparent;
    color: #abb9b9;
    opacity: .65;
}

.user-css-presentation #world-navigation-sidebar,
.user-css-presentation .world-navigation-palette-trigger {
    background: #132e3b;
    color: #eadfc9;
    border: 1px solid #ac8d51;
    box-shadow: 0 6px 30px #0005;
}

.user-css-presentation #world-navigation-sidebar :is(h2,h3,h4,h5,h6,a) {
    color: #e7c88a;
    background-image: none;
}

.user-css-presentation #world-navigation-sidebar a:hover {
    color: #74d9ff;
}

.user-css-presentation #world-navigation-sidebar .category-list li {
    border-bottom-color: #ac8d5144;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .gamedata,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .game-data,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .gamemaster-notes {
    padding: 24px;
    margin: 24px 0;
    border: 1px solid #a9915f;
    border-left: 4px solid #1489be;
    border-radius: 0;
    background: #e2edf0;
    color: #203e4c;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .game-data h3,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .gamedata h5,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .gamemaster-notes h4 {
    color: #164b68;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .game-data a {
    color: #005477;
    text-decoration: underline;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .calltoaction,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .example-box {
    margin: 24px 0;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .seed-content,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .panel-greatgm,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .secret,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .user-css-secret {
    background: #e8dfcb;
    color: #3c392e;
    border: 1px solid #9e875a;
    border-left: 4px solid #1b779e;
    padding: 20px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .user-css-secret h5 {
    color: #274957;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .ball-guest,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .relation,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .character-relationship-panel {
    background: #f8f2e5;
    border: 1px solid #b9a273;
    padding: 12px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .ball-guest-origin::after {
    content: " · ";
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .ball-guest-species::after {
    content: " · ";
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .copyright-attribution {
    padding: 20px;
    font-size: 14px;
    color: var(--sp-muted);
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .discussion-board-section,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .discussion-board-wrap,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .discussion-board-contents,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .discussion-board-header,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .discussion-board-footer,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .discussion-board-thread-pinned,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .comment-box,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .comment-box-reply {
    background: #f8f2e5;
    color: var(--sp-ink);
    border-color: #b9a273;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .discussion-board-header {
    border-bottom: 3px double #a78954;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .discussion-board-post-instructions,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .discussion-board-post-dice-roll {
    background: #deedf0;
    color: #22495c;
    padding: 16px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .discussion-board-post-ooc {
    background: #e5ded2;
    color: #4c473e;
    padding: 16px;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .statblock,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .character-sheet {
    background: #f8f2e5;
    color: var(--sp-ink);
    border: 1px solid #a78b54;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) table td,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .table td {
    white-space: normal;
    overflow-wrap: break-word;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) table th,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .table th {
    background: #163b4c;
    color: #f6e7c9;
    font-family: var(--sp-heading);
    font-size: 16px;
    letter-spacing: .02em;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .calendar-presentation .nav-pills a,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .calendar-presentation .nav-item a {
    background: #15394c;
    color: #f3e3c5;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .calendar-presentation .holiday,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .calendar-presentation .today {
    background: #c6e6ed;
    color: #174e63;
    border-color: #0e85b5;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline li .timeline-panel,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline-entry,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .milestone-panel {
    background: #faf5e8;
    color: var(--sp-ink);
    border: 1px solid #b49b65;
    box-shadow: 0 3px 12px #193a4514;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .header-icon,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .tl-circ {
    background: radial-gradient(circle at 35% 25%,#b8efff,#1697d2 40%,#063653 75%);
    color: white;
    border: 2px solid #b69a59;
    box-shadow: 0 0 10px #1bacdf44;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline li .timeline-panel::after {
    border-left-color: #faf5e8;
    border-right-color: #faf5e8;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .tl-heading,
:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .timeline .tl-heading-date {
    color: #174e63;
}

:is(.map-context-user-css, .user-css-presentation) .leaflet-bar a,
:is(.map-context-user-css, .user-css-presentation) .leaflet-control-layers,
:is(.map-context-user-css, .user-css-presentation) .leaflet-popup-content-wrapper,
:is(.map-context-user-css, .user-css-presentation) .leaflet-popup-tip,
:is(.map-context-user-css, .user-css-presentation) #sidebarCollapse,
:is(.map-context-user-css, .user-css-presentation) .nav-strip {
    background: #143848;
    color: #f1e4c9;
    border-color: #a58a52;
}

:is(.map-context-user-css, .user-css-presentation) .leaflet-control a,
:is(.map-context-user-css, .user-css-presentation) .leaflet-popup-content a,
:is(.map-context-user-css, .user-css-presentation) .nav-strip a {
    color: #9fdfff;
}

.user-css-map-sidebar {
    background: #f3eddf;
    color: #293941;
    border-color: #ad9259;
}

:is(.map-context-user-css, .user-css-presentation) .leaflet-control-search input,
:is(.map-context-user-css, .user-css-presentation) .leaflet-control-geocoder input {
    background: #fcf7eb;
    color: #24404c;
    border: 1px solid #ab9057;
}

:is(.map-context-user-css, .user-css-presentation) .leaflet-tooltip {
    background: #123848;
    color: #f4e4c7;
    border: 1px solid #b29556;
}

:is(.user-css, .user-css-extended, .user-css-map-sidebar, .user-css-rpgblock) .map-label-1 h2 {
    font-family: var(--sp-heading);
    color: white;
    font-size: 20px;
    text-shadow: 0 1px 3px #071824, 0 0 4px #071824;
    background: none;
    border: 0;
    padding: 0;
}

.user-css-presentation .tooltipster-content,
.user-css-presentation .popover,
.user-css-presentation .popover-body {
    background: #f7f0e1;
    color: #293941;
    border-color: #a98a52;
}

.phineas-article,
.mit-article {
    --sp-paper:#142d3a;
    --sp-page:#142d3a;
    --sp-panel:#183d4d;
    --sp-raised:#245064;
    --sp-ink:#e2e8e7;
    --sp-bone:#fff0cd;
    --sp-muted:#b5c7cb;
    --sp-link:#76d2f6;
    --sp-gold:#e4bf75;
    --sp-line:#967d51;
    background:#142d3a;
    color:#e2e8e7;
}

.phineas-article {
    --sp-paper:#251e35;
    --sp-page:#251e35;
    --sp-panel:#3e3057;
    --sp-ink:#eee6f6;
    --sp-bone:#f7e7c6;
    --sp-link:#d3b5ff;
    background:#251e35;
    color:#eee6f6;
}

:is(.phineas-article,.mit-article) :is(h1,h2,h3,h4,h5,h6) {
    color: var(--sp-bone);
}

:is(.phineas-article,.mit-article) :is(.panel,.panel-default,.card,.card-,.article-panel,.articletoc,.aloud) {
    background: var(--sp-panel);
    color: var(--sp-ink);
}

@media (max-width: 767px) {
 .user-css.main-container.page { border-width: 16px; border-image-width: 24px; padding: 14px 14px 26px; }
 .user-css.main-container.page > #cover { margin: -14px -14px 0; }
 .user-css .world-title, .user-css h1.world-title { font-size: clamp(32px,9vw,54px); line-height: 1.1; padding-top: 24px; }
 .user-css #world-subtitle { font-size: 18px; letter-spacing: .025em; }
 .user-css .article-title h1 { font-size: 36px; line-height: 1.15; padding-top: 6px; }
 .user-css :is(.panel-default,.aloud,.calltoaction,.example-box) { border-width: 16px; border-image-width: 22px; padding: 10px; }
 .user-css :is(h2,h3) { overflow-wrap: anywhere; }
 .user-css .world-content { padding: 0; }
 .user-css .backtoworld { padding: 14px 0 8px; }
 .user-css .backtoworld a { font-size: 13px; }
 .user-css .table-responsive { overflow-x: auto; }
 .user-css .category-contents { padding: 15px; }
 .user-css p { font-size: 17px; }
 .user-css-presentation .row { --bs-gutter-x: 1.25rem; }
}
@media print {
 html:has(> body.user-css-presentation), .user-css-presentation, .user-css.main-container.page,
 .user-css.page, .user-css-extended .page { background: white !important; color: #222; border-image: none; box-shadow: none; }
 .user-css :is(.panel-default,.aloud,.calltoaction,.example-box) { border-image: none; border: 1px solid #999; background:white; }
 .user-css :is(h1,h2,h3,h4,h5,h6) { background-image: none; color:#222; }
}

/* Final readability and heading ornament refinements. */
.user-css.page-world-homepage .heading::after {content:"";display:block;height:48px;max-width:440px;margin:16px auto;background:url("../images/sapphire-divider.svg") center/contain no-repeat;}
:is(.user-css,.user-css-extended,.user-css-rpgblock) pre {color:#b9e9ef;background:#112e3d;}
:is(.user-css,.user-css-extended,.user-css-rpgblock) .table > :not(caption) > * > th {background:#173c4d;color:#f6e8c9;}
.user-css.page-world-homepage > .heading::after {flex:0 0 100%;width:100%;max-width:none;background-size:420px 48px;margin:16px 0 28px;}
.user-css.page-world-homepage .article-panel .heading::after {content:none;}
@media(max-width:767px){.user-css.page-world-homepage > .heading::after{background-size:min(100%,320px) 48px;}}
/* Retain Solspire's opt-in dark article variants. */
.user-css.main-container.page:is(.phineas-article,.mit-article) {background:var(--sp-page);color:var(--sp-ink);}
:is(.phineas-article,.mit-article) :is(p,li,dd,dt,.subheading,.article-subheading) {color:var(--sp-ink);}
:is(.phineas-article,.mit-article) a:not(.btn):not(.dropdown-item) {color:var(--sp-link);}
@media print { :is(.user-css,.user-css-extended,.user-css-rpgblock) pre {background:white;color:#222;} }

/* 1.0.2 — frame attached to the page, generous homepage, engraved return link. */
.user-css.main-container.page {
    position: relative;
    border: 1px solid #9e7b3d;
    border-image: none;
    background-clip: border-box;
}
.user-css.main-container.page::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 0 solid transparent;
    border-image: url("../images/brass-sapphire-frame.png") 255 / 32px / 0 stretch;
    pointer-events: none;
    z-index: 2;
}
.user-css.main-container.page.page-world-homepage {
    width: calc(100% - 48px);
    max-width: 1440px;
}
.user-css.page-world-homepage > .heading > .col-md-8 {
    width: 90%;
    margin-left: 0;
}
.user-css.page-world-homepage .world-content {
    width: 100%;
    max-width: none;
}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {
    background: linear-gradient(180deg,#fbf5e7,#e9dcc0);
    color: #294551;
    border: 1px solid #a68a50;
    border-radius: 2px 12px 2px 12px;
    box-shadow: inset 0 0 0 3px #f8f0df,inset 0 0 0 4px #c6b58d;
    padding: 10px 20px;
    font-family: var(--sp-heading);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .015em;
}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::before {
    content: "←";
    color: #007ca9;
    font-family: var(--sp-body);
    font-size: 22px;
}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a:hover,
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a:focus-visible {
    background: #e4f0ef;
    color: #153c50;
    border-color: #168aaf;
    box-shadow: inset 0 0 0 3px #f5f3e7,inset 0 0 0 4px #98b5b9;
}
@media(max-width:767px) {
    .user-css.main-container.page {border-width:1px;border-image:none;}
    .user-css.main-container.page::after {border-image-width:22px;}
    .user-css.main-container.page.page-world-homepage {width:calc(100% - 16px);}
    .user-css.page-world-homepage > .heading > .col-md-8 {width:100%;}
    :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {font-size:15px;padding:10px 15px;}
}
@media print {.user-css.main-container.page::after {display:none;}}

/* 1.0.3 — live-page corrections. Uniform vector rails avoid stretched raster seams. */
.user-css.main-container.page::after {border-image: url("../images/page-frame.svg") 24 / 24px / 0 stretch;}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld {
    position:relative; padding:0; height:0; margin:0; width:100%; z-index:4;
}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {
    position:absolute; top:-20px; left:-20px; z-index:4;
    min-height:38px; padding:7px 16px; max-width:calc(100% + 20px);
    box-shadow:inset 0 0 0 2px #f8f0df,inset 0 0 0 3px #c6b58d,2px 3px 5px #0003;
}
.user-css #header {padding-top:28px;}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.world-editor-link.btn,.world-editor-link .btn,.secret-edit.btn) {
    display:inline-flex; align-items:center; justify-content:center;
    width:auto; min-width:24px; height:24px; min-height:24px;
    padding:3px 5px; margin:0 3px; vertical-align:middle;
    font:12px/1 var(--sp-body); letter-spacing:0;
    background:#e5e6dc; color:#3e606d; border:1px solid #b5ad92;
    border-radius:3px; box-shadow:none; text-decoration:none;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.world-editor-link.btn,.world-editor-link .btn,.secret-edit.btn):hover {
    background:#d7edf0; color:#075d80; border-color:#318bab;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.world-editor-link,.secret-edit) :is(i,svg) {font-size:12px; width:12px; height:12px;line-height:1;}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .user-css-secret > h5,
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .secret-container > h5 {
    font-family:var(--sp-heading); font-size:25px; line-height:1.25;
    font-weight:700; color:#244654; margin:0 28px 14px 0;
    text-transform:none; letter-spacing:.015em;
}
@media(max-width:767px) {
    .user-css.main-container.page::after {border-image-width:20px;}
    :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {left:-12px;max-width:calc(100% + 12px);font-size:14px;}
}
/* The breadcrumb explorer is an AJAX card, not a Bootstrap dropdown. */
.user-css .breadcrumb-contents-loader .breadcrumb-card {
    background:#142f3e; color:#eee3ca; border:1px solid #b39454;
    border-top:3px double #c1a46a; border-radius:2px;
    box-shadow:0 6px 16px #102a3326;
}
.user-css .breadcrumb-card .card-body {padding:18px 22px; background:transparent;color:inherit;}
.user-css .breadcrumb-card :is(.world-menu-subcategory,.list-box,.category-list) {background:transparent;color:inherit;border:0;box-shadow:none;}
.user-css .breadcrumb-card .category-list {padding:0;margin:0;list-style:none;}
.user-css .breadcrumb-card .category-list > li {padding:10px 6px;margin:0;border-bottom:1px solid #b3945438;}
.user-css .breadcrumb-card .list-box {padding:0;margin:0;}
.user-css .breadcrumb-card h5 {font:700 19px/1.3 var(--sp-heading);margin:0;padding:0;color:#f3e3bc;}
.user-css .breadcrumb-card a {color:#dceef1;text-decoration:none;border-bottom:0;}
.user-css .breadcrumb-card a:hover {color:#76d9ff;text-decoration:underline;}
.user-css .breadcrumb-card :is(.category-title-icon,.article-title-icon) {color:#c8a967;}
.user-css .breadcrumb-card .breadcrumb-card-close {color:#b3dce7;font-size:18px;cursor:pointer;padding:4px;}
.user-css .breadcrumb-card .toc-article-item {font:16px/1.45 var(--sp-body);}
/* Return tab straddles the cover boundary; header space is below the tab. */
.user-css #header {padding-top:0;padding-bottom:28px;}
.user-css .breadcrumb-card .category-list :is(h5,h6) a {color:#f3e3bc;font-size:19px;}
.user-css .breadcrumb-card .category-list :is(h5,h6) a:hover {color:#76d9ff;}
/* One divider treatment for image-bearing blocks across all presentation views. */
.user-css.page-world-homepage .heading::after {content:none;}
.user-css.page-world-homepage > .heading::after {content:"";}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .article-panel .details::before {content:none;}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.article-panel,.map-box,.card,.panel,.block,.world-panel,.campaign-panel) :is(.cover,.map-thumbnail,.card-img-top-wrapper,.block-image) {
    position:relative; overflow:visible; border-bottom:0;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.article-panel,.map-box,.card,.panel,.block,.world-panel,.campaign-panel) :is(.cover,.map-thumbnail,.card-img-top-wrapper,.block-image)::after {
    content:""; display:block; position:absolute; left:0;right:0;bottom:-20px;height:40px;
    background:url("../images/sapphire-divider.svg") center / min(400px,94%) 40px no-repeat;
    z-index:1;pointer-events:none;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.cover,.map-thumbnail,.card-img-top-wrapper,.block-image) img {display:block;}
/* Direct image cards have no wrapper on which to draw a pseudo-element. */
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.card,.panel,.block):has(> img,> a > img) > :is(.card-body,.panel-body,.details) {
    position:relative;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.card,.panel,.block):has(> img,> a > img) > :is(.card-body,.panel-body,.details)::before {
    content:"";position:absolute;left:0;right:0;top:-20px;height:40px;
    background:url("../images/sapphire-divider.svg") center/min(400px,94%) 40px no-repeat;pointer-events:none;
}
/* Larger reading text, without enlarging controls or metadata. */
:is(.user-css,.user-css-extended) :is(.article-content,.world-content,.user-css-secret),
:is(.user-css,.user-css-extended) :where(.article-content,.world-content,.user-css-secret) p,
:is(.user-css,.user-css-extended) :where(.article-content,.world-content,.user-css-secret) .paragraph {
    font-size:19px;line-height:1.75;
}
.user-css.page-world-homepage > .heading .subheading,
:where(.user-css.page-world-homepage > .heading) .subheading p {font-size:19px;line-height:1.75;}
@media(max-width:767px) {
 :is(.user-css,.user-css-extended) :is(.article-content,.world-content,.user-css-secret),
 :is(.user-css,.user-css-extended) :where(.article-content,.world-content,.user-css-secret) p,
:is(.user-css,.user-css-extended) :where(.article-content,.world-content,.user-css-secret) .paragraph {font-size:18px;}
}

/* 1.0.4 — stronger block separation and larger image-edge jewels. */
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.panel,.block,.world-panel,.campaign-panel):not(.breadcrumb-card) {
 background-color:#e4d8bf;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .article-panel .details {padding-top:28px;}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .map-box .map-thumbnail + div {padding-top:28px;}

/* 1.0.5 — sidebar surfaces match the darker content blocks. */
:is(.user-css,.user-css-extended) .article-content-right :is(.panel,.panel-default,.card,.well),
:is(.user-css,.user-css-extended) .articletoc {
    background: #e4d8bf;
    border-color: #b7a47d;
    color: var(--sp-ink);
    box-shadow: 0 4px 13px #46361914;
}
:is(.user-css,.user-css-extended) .article-content-right :is(.panel-body,.card-body) {
    background: transparent;
}
@media print {
 :is(.user-css,.user-css-extended) .article-content-right :is(.panel,.panel-default,.card,.well),
 :is(.user-css,.user-css-extended) .articletoc {background:white;box-shadow:none;}
}

/* 1.0.6 — compact blocks, deep sapphire, squared Victorian joinery. */
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .article-panel .details {
    padding:20px 14px 12px; margin:0;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.article-panel,.map-box,.world-panel,.campaign-panel) .heading {
    font-size:25px;line-height:1.18;margin:0 0 7px;padding:0;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .article-panel :is(.subheading,.date) {margin:0;padding:0;line-height:1.4;}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .map-box .map-thumbnail + div {padding:20px 14px 12px;margin-bottom:0!important;}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {
    left:-44px;max-width:calc(100% + 44px);border-radius:0;
}
:is(.user-css,.user-css-extended) .article-content-right :is(.panel,.panel-default,.card,.well),
:is(.user-css,.user-css-extended) :is(.articletoc,.calltoaction,.example-box) {
    border:4px double #9a7a40;border-image:none;border-radius:0;
    background-color:#e4d8bf;background-clip:border-box;
    box-shadow:inset 0 0 0 3px #f8efd9,0 4px 13px #46361914;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.article-panel,.map-box,.world-panel,.campaign-panel) {
    border:4px double #9a7a40;border-radius:0;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .aloud {
    background:#d5e1df;background-clip:border-box;
    border:20px solid transparent;
    border-image:url("../images/brass-sapphire-frame.png") 255 / 28px / 0 stretch;
    padding:16px 22px;color:#183a48;
    box-shadow:inset 0 0 0 1px #9aab9f,0 4px 12px #203e4717;
}
@media(max-width:767px) {
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {left:-4px;max-width:calc(100% + 4px);}
 :is(.user-css,.user-css-extended) :is(.article-panel,.map-box,.world-panel,.campaign-panel) .heading {font-size:23px;}
 :is(.user-css,.user-css-extended) .aloud {padding:12px;border-width:14px;border-image-width:22px;}
}
@media print { :is(.user-css,.user-css-extended) .aloud {background:white;box-shadow:none;} }
/* Uploaded article illustrations retain their links and natural proportions. */
:is(.user-css,.user-css-extended) .article-content img[class*="image-"],
:is(.user-css,.user-css-extended) .article-content figure > img {
    box-sizing:border-box;max-width:100%;height:auto;
    border:4px double #967337;padding:4px;
    background:#eee0bd;box-shadow:0 3px 10px #46361926;
}

/* 1.0.7 — map footer layout and dark walnut return tab. */
:is(.user-css,.user-css-extended,.user-css-map-sidebar) .map-included-navigation {
    background:#e4d8bf;border:4px double #9a7a40;padding:9px 12px;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar) .map-included-navigation-information {
    margin:0!important;padding:0!important;text-align:left;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar) .map-included-navigation-information > small {
    display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;font-size:15px;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar) .map-included-navigation-title {
    float:none!important;flex:1 1 180px;min-width:0;margin:0!important;
    overflow-wrap:anywhere;line-height:1.4;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar) .map-included-navigation-information > small > div:not(.map-included-navigation-title) {
    display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-left:auto;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar) .map-included-navigation :is(.map-open-full,.map-edit) {
    position:static;display:inline-flex;align-items:center;justify-content:center;gap:6px;
    min-height:30px;min-width:30px;width:auto;height:auto;padding:5px 9px;margin:0;
    font:600 13px/1.3 var(--sp-body);border-radius:0;box-shadow:none;
}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {
    background:linear-gradient(180deg,#493324,#2b1d16);color:#f5e4bd;
    border:1px solid #bd9857;border-radius:0;padding-left:32px;
    box-shadow:inset 0 0 0 3px #302017,inset 0 0 0 4px #967344,2px 3px 5px #0005;
}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::before {
    content:"";position:absolute;left:-20px;top:50%;transform:translateY(-50%);
    width:44px;height:44px;background:url("../images/return-sapphire-arrow.svg") center/contain no-repeat;
}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a:hover,
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a:focus-visible {
    background:linear-gradient(180deg,#60412a,#372318);color:#fff1d1;border-color:#e0bd78;
    box-shadow:inset 0 0 0 3px #302017,inset 0 0 0 4px #bc9456,2px 3px 5px #0005;
}
@media(max-width:767px) {
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {left:14px;max-width:calc(100% - 14px);padding-left:24px;}
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::before {left:-16px;width:36px;height:36px;}
}

/* Sharper engraved headings: medium-weight Cinzel, self-hosted. */
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(h1,h2,h3,h4,h5,h6,.heading),
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {font-weight:500;}

/* 1.0.9 — distinct read-aloud and secret surfaces. */
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .aloud {
    background:linear-gradient(120deg,#153751,#0c2138);background-clip:border-box;
    color:#f3e9d4;box-shadow:inset 0 0 0 1px #667e8b,0 4px 12px #10223430;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .aloud :is(p,div,li,span,h1,h2,h3,h4,h5,h6,strong,em) {color:inherit;}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .aloud a:not(.btn) {color:#8bd6fb;}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) {
    background:#ead8d5;color:#493035;border:4px double #89535b;
    border-radius:0;box-shadow:inset 0 0 0 3px #f7e9e1,0 3px 10px #502d331a;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) > :is(h4,h5,h6) {color:#652c3d;}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) > .secret-groups {color:#705057;border-top:1px solid #a67a7c;padding-top:8px;margin-top:14px;}
@media print {
 :is(.user-css,.user-css-extended) :is(.aloud,.user-css-secret,.secret-container,.secret) {background:white;color:#222;box-shadow:none;}
}
/* Keep the sapphire setting within the return tab's continuous brass frame. */
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {padding-left:43px;}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::before {left:7px;width:29px;height:32px;}
@media(max-width:767px) {
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {left:-4px;max-width:calc(100% + 4px);padding-left:37px;}
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::before {left:6px;width:25px;height:28px;}
}
/* Swept arrowhead forms the tab's projecting left point. */
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {padding-left:22px;}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::before {
    left:-29px;width:48px;height:48px;
}
@media(max-width:767px) {
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {left:22px;max-width:calc(100% - 22px);padding-left:18px;}
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::before {left:-24px;width:40px;height:40px;}
}

/* Arrowhead sits wholly outside: its rear tips meet the tab's left border. */
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {padding-left:14px;}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::before {left:-43px;}
@media(max-width:767px) {
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a {left:32px;max-width:calc(100% - 32px);padding-left:12px;}
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::before {left:-36px;}
}

/* Angled walnut tab nests into the sapphire's concave rear notch. */
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a,
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a:hover,
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a:focus-visible {
    isolation:isolate;background:transparent;border-color:transparent;box-shadow:none;
}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::after {
    content:"";position:absolute;inset:-1px -1px -1px -14px;
    background:url("../images/return-tab.svg") center/100% 100% no-repeat;
    filter:drop-shadow(2px 3px 2px #0005);z-index:-1;pointer-events:none;
}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::before {z-index:1;}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a:hover::after {filter:brightness(1.15) drop-shadow(2px 3px 2px #0005);}
@media(max-width:767px) {
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::after {left:-12px;}
}

/* 1.0.13 — continuous card surfaces and directional return-tab feedback. */
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .article-panel > a,
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .article-panel .details {
    background:transparent;
}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::before {
    transition:transform 220ms cubic-bezier(.2,.7,.2,1),filter 220ms ease;
}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::after {
    transition:filter 220ms ease;
}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a:hover::before,
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a:focus-visible::before {
    transform:translate(-7px,-50%);filter:brightness(1.18) drop-shadow(2px 3px 3px #06162a66);
}
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a:hover::after,
:is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a:focus-visible::after {
    filter:brightness(1.12) drop-shadow(3px 7px 5px #0008);
}
@media(prefers-reduced-motion:reduce) {
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::before,
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a::after {transition:none;}
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a:hover::before,
 :is(.user-css-presentation,.user-css,.user-css-extended) .backtoworld a:focus-visible::before {transform:translateY(-50%);}
}

/* 1.0.14 — Phineas: velvet plum, rose gold, and sapphire. Scoped to the opt-in variant. */
.phineas-article {
 --sp-page:#251e35;--sp-paper:#251e35;--sp-panel:#3e3057;--sp-raised:#594279;
 --sp-ink:#eee6f6;--sp-bone:#f7e7c6;--sp-muted:#c8b9dc;--sp-link:#d3b5ff;
 --sp-line:#b49c72;--sp-gold:#dcc28b;
}
@media screen {
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.panel,.panel-default,.card,.card-,.block,.well,.article-panel,.world-panel,.campaign-panel,.map-box,.articletoc,.calltoaction,.example-box,.map-included-navigation):not(.breadcrumb-card) {
 background:var(--sp-panel);color:var(--sp-ink);border:4px double var(--sp-line);border-image:none;
 box-shadow:inset 0 0 0 2px #1b1529,0 5px 15px #100b2038;border-radius:0;
}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.panel-body,.card-body,.article-panel .details,.map-box .map-thumbnail + div) {
 background:transparent;color:inherit;
}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(h1,h2,h3,h4,h5,h6,.heading,dt,strong) {color:var(--sp-bone);}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.text-muted,.subheading,.article-subheading,.date,figcaption,blockquote cite) {color:var(--sp-muted)!important;}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) a:not(.btn):not(.dropdown-item):hover {color:#fff0da;}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(blockquote,.quote) {
 background:#332943;color:var(--sp-ink);border-color:var(--sp-line);
}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.form-control,input[type="search"],select,textarea) {
 background:#1d172b;color:var(--sp-ink);border-color:var(--sp-line);
}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(input,textarea)::placeholder {color:#c8b9dc;opacity:1;}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .nav-tabs {border-color:var(--sp-line);}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .nav-tabs :is(.nav-link,li > a) {
 background:#302440;color:var(--sp-link);border-radius:0;border-color:#746084;
}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .nav-tabs :is(.nav-link.active,li.active > a,.nav-link:hover,li > a:hover) {
 background:#674c87;color:#f7e7c6;border-color:var(--sp-gold);box-shadow:inset 0 -3px #c5ad7f;
}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(table,.table) {
 --bs-table-bg:#3e3057;--bs-table-color:#eee6f6;--bs-table-striped-bg:#493761;
 --bs-table-striped-color:#eee6f6;--bs-table-hover-bg:#5b4478;--bs-table-hover-color:#f7e7c6;
 background:var(--sp-panel);color:var(--sp-ink);
}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) table :is(td,th) {background:transparent;color:var(--sp-ink);border-color:#89759b;}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .table > :not(caption) > * > th {background:#302440;color:var(--sp-bone);}
.phineas-article:is(.user-css,.user-css-extended) .article-content :is(img[class*="image-"],figure > img) {background:#302440;border-color:#baa27d;}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) {
 background:#462d30;color:#ffe8dc;border:4px double #bb826d;box-shadow:inset 0 0 0 2px #2d1c21,0 4px 14px #200e1538;
}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) :is(p,li,dd,dt,div,span,strong,em) {color:inherit;}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) :is(h4,h5,h6) {color:#ffdabf;}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) > .secret-groups {color:#dfbbaa;border-color:#976b5c;}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .aloud {
 background:linear-gradient(120deg,#153751,#0c2138);color:#f3e9d4;
}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .aloud :is(p,div,li,span,h1,h2,h3,h4,h5,h6,strong,em) {color:inherit;}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .aloud a:not(.btn) {color:#8bd6fb;}
.phineas-article:is(.user-css,.user-css-extended) .backtoworld a {color:#f5e4bd;}
}
@media screen {
.phineas-article .rhea-family-tree {
 --rootNodeBg:#302440;--rootNodeBorder:4px double #b49c72;
 --characterLabelBg:#594279;--characterNameColor:#d3b5ff;
 --characterHonorificColor:#f7e7c6;--characterDatesColor:#c8b9dc;
 --characterNameBorderRadius:0;--lineColor:#c5ad7f;
 --characterRelationshipCardBg:#1d172b;--characterRelationshipCardColor:#eee6f6;
}
.phineas-article .rhea-family-tree .Treant svg path {stroke:#c5ad7f;}
}
@media screen {
.phineas-article.user-css .rhea-family-tree .rhea-ft-search-input {background:#1d172b;color:#eee6f6;border:1px solid #b49c72;}
}
@media screen {
.phineas-article .character-relationship-panel .text-success {color:#a0d9b6!important;}
.phineas-article .character-relationship-panel .text-danger {color:#ffaaaa!important;}
.phineas-article .character-relationship-panel .text-warning {color:#f2d389!important;}
}

/* 1.0.15 — secret bodies may contain a nested user-css rendering root. */
@media screen {
.phineas-article :is(.secret-container,.user-css-secret,.secret-panel),
.phineas-article :is(.secret-container,.user-css-secret,.secret-panel) :is(.user-css,.user-css-extended,.user-css-rpgblock) {
 --sp-ink:#ffe8dc;--sp-bone:#ffdabf;--sp-muted:#dfbbaa;--sp-link:#ffc4a5;
 --sp-panel:#462d30;--sp-page:#462d30;--sp-line:#bb826d;
 color:#ffe8dc;color-scheme:dark;
}
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.secret-container.user-css-secret,.secret-panel.panel) {
 background:#462d30;color:#ffe8dc;border:4px double #bb826d;
 box-shadow:inset 0 0 0 2px #2d1c21,0 4px 14px #200e1538;
}
.phineas-article :is(.secret-container.user-css-secret,.secret-panel.panel) :is(.user-css,.panel-body,.card-body,.panel-heading,.card-header) {
 background:transparent;color:#ffe8dc;
}
.phineas-article :is(.secret-container.user-css-secret,.secret-panel.panel) :is(p,li,dd,dt,div,span,strong,em,small) {color:inherit;}
.phineas-article :is(.secret-container.user-css-secret,.secret-panel.panel) a:not(.btn) {color:#ffc4a5;}
.phineas-article :is(.secret-container.user-css-secret,.secret-panel.panel) a:not(.btn):hover {color:#fff0da;}
.phineas-article :is(.secret-container.user-css-secret,.secret-panel.panel) :is(h3,h4,h5,h6) {color:#ffdabf;}
.phineas-article :is(.secret-container.user-css-secret,.secret-panel.panel) .secret-groups {color:#dfbbaa;border-color:#976b5c;}
.phineas-article :is(.secret-container.user-css-secret,.secret-panel.panel) .secret-groups :is(.label,.badge) {
 background:#633c3e;color:#ffebdd;border:1px solid #c39780;padding:2px 7px;border-radius:0;
}
}
@media screen {
.phineas-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .secret-container.user-css-secret.card-body {
 background:#462d30;color:#ffe8dc;
}
}


/* 1.0.16 — Morgana article palette. Complete scoped variant. */
.morgana-article,
.morgana-article {
--sp-paper:#142d3a;
    --sp-page:#142d3a;
    --sp-panel:#183d4d;
    --sp-raised:#245064;
    --sp-ink:#e2e8e7;
    --sp-bone:#fff0cd;
    --sp-muted:#b5c7cb;
    --sp-link:#76d2f6;
    --sp-gold:#e4bf75;
    --sp-line:#967d51;
    background:#142d3a;
    color:#e2e8e7;
}
.morgana-article {
--sp-paper:#2c1013;
    --sp-page:#2c1013;
    --sp-panel:#461a20;
    --sp-ink:#f8e4df;
    --sp-bone:#ffead6;
    --sp-link:#ffb3a5;
    background:#2c1013;
    color:#f8e4df;
}
:is(.morgana-article,.morgana-article) :is(h1,h2,h3,h4,h5,h6) {
color: var(--sp-bone);
}
:is(.morgana-article,.morgana-article) :is(.panel,.panel-default,.card,.card-,.article-panel,.articletoc,.aloud) {
background: var(--sp-panel);
    color: var(--sp-ink);
}
.user-css.main-container.page:is(.morgana-article,.morgana-article) {
background:var(--sp-page);color:var(--sp-ink);
}
:is(.morgana-article,.morgana-article) :is(p,li,dd,dt,.subheading,.article-subheading) {
color:var(--sp-ink);
}
:is(.morgana-article,.morgana-article) a:not(.btn):not(.dropdown-item) {
color:var(--sp-link);
}
.morgana-article {
--sp-page:#2c1013;--sp-paper:#2c1013;--sp-panel:#461a20;--sp-raised:#622731;
 --sp-ink:#f8e4df;--sp-bone:#ffead6;--sp-muted:#d6b1ad;--sp-link:#ffb3a5;
 --sp-line:#b47b68;--sp-gold:#e7b888;
}
@media screen {
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.panel,.panel-default,.card,.card-,.block,.well,.article-panel,.world-panel,.campaign-panel,.map-box,.articletoc,.calltoaction,.example-box,.map-included-navigation):not(.breadcrumb-card) {
background:var(--sp-panel);color:var(--sp-ink);border:4px double var(--sp-line);border-image:none;
 box-shadow:inset 0 0 0 2px #210b10,0 5px 15px #16040838;border-radius:0;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.panel-body,.card-body,.article-panel .details,.map-box .map-thumbnail + div) {
background:transparent;color:inherit;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(h1,h2,h3,h4,h5,h6,.heading,dt,strong) {
color:var(--sp-bone);
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.text-muted,.subheading,.article-subheading,.date,figcaption,blockquote cite) {
color:var(--sp-muted)!important;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) a:not(.btn):not(.dropdown-item):hover {
color:#fff0da;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(blockquote,.quote) {
background:#3b161c;color:var(--sp-ink);border-color:var(--sp-line);
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.form-control,input[type="search"],select,textarea) {
background:#200d12;color:var(--sp-ink);border-color:var(--sp-line);
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(input,textarea)::placeholder {
color:#d6b1ad;opacity:1;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .nav-tabs {
border-color:var(--sp-line);
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .nav-tabs :is(.nav-link,li > a) {
background:#35141a;color:var(--sp-link);border-radius:0;border-color:#784139;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .nav-tabs :is(.nav-link.active,li.active > a,.nav-link:hover,li > a:hover) {
background:#712934;color:#ffead6;border-color:var(--sp-gold);box-shadow:inset 0 -3px #c88e71;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(table,.table) {
--bs-table-bg:#461a20;--bs-table-color:#f8e4df;--bs-table-striped-bg:#53202a;
 --bs-table-striped-color:#f8e4df;--bs-table-hover-bg:#682936;--bs-table-hover-color:#ffead6;
 background:var(--sp-panel);color:var(--sp-ink);
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) table :is(td,th) {
background:transparent;color:var(--sp-ink);border-color:#895246;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .table > :not(caption) > * > th {
background:#35141a;color:var(--sp-bone);
}
.morgana-article:is(.user-css,.user-css-extended) .article-content :is(img[class*="image-"],figure > img) {
background:#35141a;border-color:#bd8467;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) {
background:#381322;color:#ffe5ec;border:4px double #c98598;box-shadow:inset 0 0 0 2px #230c17,0 4px 14px #19060d38;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) :is(p,li,dd,dt,div,span,strong,em) {
color:inherit;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) :is(h4,h5,h6) {
color:#ffd5e0;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) > .secret-groups {
color:#e4b5c5;border-color:#a3667b;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .aloud {
background:linear-gradient(120deg,#153751,#0c2138);color:#f3e9d4;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .aloud :is(p,div,li,span,h1,h2,h3,h4,h5,h6,strong,em) {
color:inherit;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .aloud a:not(.btn) {
color:#8bd6fb;
}
.morgana-article:is(.user-css,.user-css-extended) .backtoworld a {
color:#f5e4bd;
}
}
@media screen {
.morgana-article .rhea-family-tree {
--rootNodeBg:#35141a;--rootNodeBorder:4px double #b47b68;
 --characterLabelBg:#622731;--characterNameColor:#ffb3a5;
 --characterHonorificColor:#ffead6;--characterDatesColor:#d6b1ad;
 --characterNameBorderRadius:0;--lineColor:#c88e71;
 --characterRelationshipCardBg:#200d12;--characterRelationshipCardColor:#f8e4df;
}
.morgana-article .rhea-family-tree .Treant svg path {
stroke:#c88e71;
}
}
@media screen {
.morgana-article.user-css .rhea-family-tree .rhea-ft-search-input {
background:#200d12;color:#f8e4df;border:1px solid #b47b68;
}
}
@media screen {
.morgana-article .character-relationship-panel .text-success {
color:#a0d9b6!important;
}
.morgana-article .character-relationship-panel .text-danger {
color:#ffaaaa!important;
}
.morgana-article .character-relationship-panel .text-warning {
color:#f2d389!important;
}
}
@media screen {
.morgana-article :is(.secret-container,.user-css-secret,.secret-panel),
.morgana-article :is(.secret-container,.user-css-secret,.secret-panel) :is(.user-css,.user-css-extended,.user-css-rpgblock) {
--sp-ink:#ffe5ec;--sp-bone:#ffd5e0;--sp-muted:#e4b5c5;--sp-link:#ffc3d5;
 --sp-panel:#381322;--sp-page:#381322;--sp-line:#c98598;
 color:#ffe5ec;color-scheme:dark;
}
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.secret-container.user-css-secret,.secret-panel.panel) {
background:#381322;color:#ffe5ec;border:4px double #c98598;
 box-shadow:inset 0 0 0 2px #230c17,0 4px 14px #19060d38;
}
.morgana-article :is(.secret-container.user-css-secret,.secret-panel.panel) :is(.user-css,.panel-body,.card-body,.panel-heading,.card-header) {
background:transparent;color:#ffe5ec;
}
.morgana-article :is(.secret-container.user-css-secret,.secret-panel.panel) :is(p,li,dd,dt,div,span,strong,em,small) {
color:inherit;
}
.morgana-article :is(.secret-container.user-css-secret,.secret-panel.panel) a:not(.btn) {
color:#ffc3d5;
}
.morgana-article :is(.secret-container.user-css-secret,.secret-panel.panel) a:not(.btn):hover {
color:#fff0da;
}
.morgana-article :is(.secret-container.user-css-secret,.secret-panel.panel) :is(h3,h4,h5,h6) {
color:#ffd5e0;
}
.morgana-article :is(.secret-container.user-css-secret,.secret-panel.panel) .secret-groups {
color:#e4b5c5;border-color:#a3667b;
}
.morgana-article :is(.secret-container.user-css-secret,.secret-panel.panel) .secret-groups :is(.label,.badge) {
background:#60293e;color:#ffe4ed;border:1px solid #c98b9c;padding:2px 7px;border-radius:0;
}
}
@media screen {
.morgana-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .secret-container.user-css-secret.card-body {
background:#381322;color:#ffe5ec;
}
}


/* 1.0.16 — Theo article palette. Complete scoped variant. */
.theo-article,
.theo-article {
--sp-paper:#142d3a;
    --sp-page:#142d3a;
    --sp-panel:#183d4d;
    --sp-raised:#245064;
    --sp-ink:#e2e8e7;
    --sp-bone:#fff0cd;
    --sp-muted:#b5c7cb;
    --sp-link:#76d2f6;
    --sp-gold:#e4bf75;
    --sp-line:#967d51;
    background:#142d3a;
    color:#e2e8e7;
}
.theo-article {
--sp-paper:#172537;
    --sp-page:#172537;
    --sp-panel:#243b55;
    --sp-ink:#e3edf6;
    --sp-bone:#f5ecd8;
    --sp-link:#a9d6ff;
    background:#172537;
    color:#e3edf6;
}
:is(.theo-article,.theo-article) :is(h1,h2,h3,h4,h5,h6) {
color: var(--sp-bone);
}
:is(.theo-article,.theo-article) :is(.panel,.panel-default,.card,.card-,.article-panel,.articletoc,.aloud) {
background: var(--sp-panel);
    color: var(--sp-ink);
}
.user-css.main-container.page:is(.theo-article,.theo-article) {
background:var(--sp-page);color:var(--sp-ink);
}
:is(.theo-article,.theo-article) :is(p,li,dd,dt,.subheading,.article-subheading) {
color:var(--sp-ink);
}
:is(.theo-article,.theo-article) a:not(.btn):not(.dropdown-item) {
color:var(--sp-link);
}
.theo-article {
--sp-page:#172537;--sp-paper:#172537;--sp-panel:#243b55;--sp-raised:#375370;
 --sp-ink:#e3edf6;--sp-bone:#f5ecd8;--sp-muted:#b6c8dd;--sp-link:#a9d6ff;
 --sp-line:#8796a8;--sp-gold:#d5bd92;
}
@media screen {
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.panel,.panel-default,.card,.card-,.block,.well,.article-panel,.world-panel,.campaign-panel,.map-box,.articletoc,.calltoaction,.example-box,.map-included-navigation):not(.breadcrumb-card) {
background:var(--sp-panel);color:var(--sp-ink);border:4px double var(--sp-line);border-image:none;
 box-shadow:inset 0 0 0 2px #101d2d,0 5px 15px #07111e38;border-radius:0;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.panel-body,.card-body,.article-panel .details,.map-box .map-thumbnail + div) {
background:transparent;color:inherit;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(h1,h2,h3,h4,h5,h6,.heading,dt,strong) {
color:var(--sp-bone);
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.text-muted,.subheading,.article-subheading,.date,figcaption,blockquote cite) {
color:var(--sp-muted)!important;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) a:not(.btn):not(.dropdown-item):hover {
color:#fff0da;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(blockquote,.quote) {
background:#203349;color:var(--sp-ink);border-color:var(--sp-line);
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.form-control,input[type="search"],select,textarea) {
background:#111e2f;color:var(--sp-ink);border-color:var(--sp-line);
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(input,textarea)::placeholder {
color:#b6c8dd;opacity:1;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .nav-tabs {
border-color:var(--sp-line);
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .nav-tabs :is(.nav-link,li > a) {
background:#1c3047;color:var(--sp-link);border-radius:0;border-color:#526880;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .nav-tabs :is(.nav-link.active,li.active > a,.nav-link:hover,li > a:hover) {
background:#3d5e80;color:#f5ecd8;border-color:var(--sp-gold);box-shadow:inset 0 -3px #aabacf;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(table,.table) {
--bs-table-bg:#243b55;--bs-table-color:#e3edf6;--bs-table-striped-bg:#2e4763;
 --bs-table-striped-color:#e3edf6;--bs-table-hover-bg:#385676;--bs-table-hover-color:#f5ecd8;
 background:var(--sp-panel);color:var(--sp-ink);
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) table :is(td,th) {
background:transparent;color:var(--sp-ink);border-color:#647a91;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .table > :not(caption) > * > th {
background:#1c3047;color:var(--sp-bone);
}
.theo-article:is(.user-css,.user-css-extended) .article-content :is(img[class*="image-"],figure > img) {
background:#1c3047;border-color:#a1afc0;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) {
background:#202b47;color:#e5eaff;border:4px double #889dc9;box-shadow:inset 0 0 0 2px #131c34,0 4px 14px #080e2038;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) :is(p,li,dd,dt,div,span,strong,em) {
color:inherit;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) :is(h4,h5,h6) {
color:#dbe5ff;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) > .secret-groups {
color:#b9c8e8;border-color:#647aa8;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .aloud {
background:linear-gradient(120deg,#153751,#0c2138);color:#f3e9d4;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .aloud :is(p,div,li,span,h1,h2,h3,h4,h5,h6,strong,em) {
color:inherit;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .aloud a:not(.btn) {
color:#8bd6fb;
}
.theo-article:is(.user-css,.user-css-extended) .backtoworld a {
color:#f5e4bd;
}
}
@media screen {
.theo-article .rhea-family-tree {
--rootNodeBg:#1c3047;--rootNodeBorder:4px double #8796a8;
 --characterLabelBg:#375370;--characterNameColor:#a9d6ff;
 --characterHonorificColor:#f5ecd8;--characterDatesColor:#b6c8dd;
 --characterNameBorderRadius:0;--lineColor:#aabacf;
 --characterRelationshipCardBg:#111e2f;--characterRelationshipCardColor:#e3edf6;
}
.theo-article .rhea-family-tree .Treant svg path {
stroke:#aabacf;
}
}
@media screen {
.theo-article.user-css .rhea-family-tree .rhea-ft-search-input {
background:#111e2f;color:#e3edf6;border:1px solid #8796a8;
}
}
@media screen {
.theo-article .character-relationship-panel .text-success {
color:#a0d9b6!important;
}
.theo-article .character-relationship-panel .text-danger {
color:#ffaaaa!important;
}
.theo-article .character-relationship-panel .text-warning {
color:#f2d389!important;
}
}
@media screen {
.theo-article :is(.secret-container,.user-css-secret,.secret-panel),
.theo-article :is(.secret-container,.user-css-secret,.secret-panel) :is(.user-css,.user-css-extended,.user-css-rpgblock) {
--sp-ink:#e5eaff;--sp-bone:#dbe5ff;--sp-muted:#b9c8e8;--sp-link:#bddbff;
 --sp-panel:#202b47;--sp-page:#202b47;--sp-line:#889dc9;
 color:#e5eaff;color-scheme:dark;
}
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.secret-container.user-css-secret,.secret-panel.panel) {
background:#202b47;color:#e5eaff;border:4px double #889dc9;
 box-shadow:inset 0 0 0 2px #131c34,0 4px 14px #080e2038;
}
.theo-article :is(.secret-container.user-css-secret,.secret-panel.panel) :is(.user-css,.panel-body,.card-body,.panel-heading,.card-header) {
background:transparent;color:#e5eaff;
}
.theo-article :is(.secret-container.user-css-secret,.secret-panel.panel) :is(p,li,dd,dt,div,span,strong,em,small) {
color:inherit;
}
.theo-article :is(.secret-container.user-css-secret,.secret-panel.panel) a:not(.btn) {
color:#bddbff;
}
.theo-article :is(.secret-container.user-css-secret,.secret-panel.panel) a:not(.btn):hover {
color:#fff0da;
}
.theo-article :is(.secret-container.user-css-secret,.secret-panel.panel) :is(h3,h4,h5,h6) {
color:#dbe5ff;
}
.theo-article :is(.secret-container.user-css-secret,.secret-panel.panel) .secret-groups {
color:#b9c8e8;border-color:#647aa8;
}
.theo-article :is(.secret-container.user-css-secret,.secret-panel.panel) .secret-groups :is(.label,.badge) {
background:#344669;color:#e8efff;border:1px solid #879cc3;padding:2px 7px;border-radius:0;
}
}
@media screen {
.theo-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .secret-container.user-css-secret.card-body {
background:#202b47;color:#e5eaff;
}
}


/* 1.0.16 — Priscilla article palette. Complete scoped variant. */
.priscilla-article,
.priscilla-article {
--sp-paper:#142d3a;
    --sp-page:#142d3a;
    --sp-panel:#183d4d;
    --sp-raised:#245064;
    --sp-ink:#e2e8e7;
    --sp-bone:#fff0cd;
    --sp-muted:#b5c7cb;
    --sp-link:#76d2f6;
    --sp-gold:#e4bf75;
    --sp-line:#967d51;
    background:#142d3a;
    color:#e2e8e7;
}
.priscilla-article {
--sp-paper:#59243d;
    --sp-page:#59243d;
    --sp-panel:#963659;
    --sp-ink:#fff5f7;
    --sp-bone:#fff0d0;
    --sp-link:#ffe8b9;
    background:#59243d;
    color:#fff5f7;
}
:is(.priscilla-article,.priscilla-article) :is(h1,h2,h3,h4,h5,h6) {
color: var(--sp-bone);
}
:is(.priscilla-article,.priscilla-article) :is(.panel,.panel-default,.card,.card-,.article-panel,.articletoc,.aloud) {
background: var(--sp-panel);
    color: var(--sp-ink);
}
.user-css.main-container.page:is(.priscilla-article,.priscilla-article) {
background:var(--sp-page);color:var(--sp-ink);
}
:is(.priscilla-article,.priscilla-article) :is(p,li,dd,dt,.subheading,.article-subheading) {
color:var(--sp-ink);
}
:is(.priscilla-article,.priscilla-article) a:not(.btn):not(.dropdown-item) {
color:var(--sp-link);
}
.priscilla-article {
--sp-page:#59243d;--sp-paper:#59243d;--sp-panel:#963659;--sp-raised:#ad426b;
 --sp-ink:#fff5f7;--sp-bone:#fff0d0;--sp-muted:#ffe3ed;--sp-link:#ffe8b9;
 --sp-line:#ffba89;--sp-gold:#ffd39a;
}
@media screen {
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.panel,.panel-default,.card,.card-,.block,.well,.article-panel,.world-panel,.campaign-panel,.map-box,.articletoc,.calltoaction,.example-box,.map-included-navigation):not(.breadcrumb-card) {
background:linear-gradient(135deg,#ffd29b0c,transparent 65%),var(--sp-panel);color:var(--sp-ink);border:4px double var(--sp-line);border-image:none;
 box-shadow:inset 0 0 0 2px #712843,0 5px 15px #210b1738;border-radius:0;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.panel-body,.card-body,.article-panel .details,.map-box .map-thumbnail + div) {
background:transparent;color:inherit;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(h1,h2,h3,h4,h5,h6,.heading,dt,strong) {
color:var(--sp-bone);
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.text-muted,.subheading,.article-subheading,.date,figcaption,blockquote cite) {
color:var(--sp-muted)!important;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) a:not(.btn):not(.dropdown-item):hover {
color:#fff0da;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(blockquote,.quote) {
background:#79304f;color:var(--sp-ink);border-color:var(--sp-line);
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.form-control,input[type="search"],select,textarea) {
background:#462036;color:var(--sp-ink);border-color:var(--sp-line);
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(input,textarea)::placeholder {
color:#ffe3ed;opacity:1;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .nav-tabs {
border-color:var(--sp-line);
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .nav-tabs :is(.nav-link,li > a) {
background:#742e4d;color:var(--sp-link);border-radius:0;border-color:#ed91b0;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .nav-tabs :is(.nav-link.active,li.active > a,.nav-link:hover,li > a:hover) {
background:#ad426b;color:#fff0d0;border-color:var(--sp-gold);box-shadow:inset 0 -3px #ffc08b;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(table,.table) {
--bs-table-bg:#963659;--bs-table-color:#fff5f7;--bs-table-striped-bg:#9d3c61;
 --bs-table-striped-color:#fff5f7;--bs-table-hover-bg:#a93e69;--bs-table-hover-color:#fff0d0;
 background:var(--sp-panel);color:var(--sp-ink);
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) table :is(td,th) {
background:transparent;color:var(--sp-ink);border-color:#ef9db7;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .table > :not(caption) > * > th {
background:#742e4d;color:var(--sp-bone);
}
.priscilla-article:is(.user-css,.user-css-extended) .article-content :is(img[class*="image-"],figure > img) {
background:#742e4d;border-color:#ffbd90;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) {
background:#3e3045;color:#fff0e7;border:4px double #edaaae;box-shadow:inset 0 0 0 2px #2c2133,0 4px 14px #170e1638;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) :is(p,li,dd,dt,div,span,strong,em) {
color:inherit;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) :is(h4,h5,h6) {
color:#ffe1cb;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.user-css-secret,.secret-container,.secret) > .secret-groups {
color:#e4c2b6;border-color:#a47b73;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .aloud {
background:linear-gradient(120deg,#244858,#183444);color:#f3e9d4;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .aloud :is(p,div,li,span,h1,h2,h3,h4,h5,h6,strong,em) {
color:inherit;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .aloud a:not(.btn) {
color:#8bd6fb;
}
.priscilla-article:is(.user-css,.user-css-extended) .backtoworld a {
color:#f5e4bd;
}
}
@media screen {
.priscilla-article .rhea-family-tree {
--rootNodeBg:#742e4d;--rootNodeBorder:4px double #ffba89;
 --characterLabelBg:#ad426b;--characterNameColor:#ffe8b9;
 --characterHonorificColor:#fff0d0;--characterDatesColor:#ffe3ed;
 --characterNameBorderRadius:0;--lineColor:#ffc08b;
 --characterRelationshipCardBg:#462036;--characterRelationshipCardColor:#fff5f7;
}
.priscilla-article .rhea-family-tree .Treant svg path {
stroke:#ffc08b;
}
}
@media screen {
.priscilla-article.user-css .rhea-family-tree .rhea-ft-search-input {
background:#462036;color:#fff5f7;border:1px solid #ffba89;
}
}
@media screen {
.priscilla-article .character-relationship-panel .text-success {
color:#a0d9b6!important;
}
.priscilla-article .character-relationship-panel .text-danger {
color:#ffaaaa!important;
}
.priscilla-article .character-relationship-panel .text-warning {
color:#f2d389!important;
}
}
@media screen {
.priscilla-article :is(.secret-container,.user-css-secret,.secret-panel),
.priscilla-article :is(.secret-container,.user-css-secret,.secret-panel) :is(.user-css,.user-css-extended,.user-css-rpgblock) {
--sp-ink:#fff0e7;--sp-bone:#ffe1cb;--sp-muted:#e4c2b6;--sp-link:#ffc99e;
 --sp-panel:#3e3045;--sp-page:#3e3045;--sp-line:#edaaae;
 color:#fff0e7;color-scheme:dark;
}
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) :is(.secret-container.user-css-secret,.secret-panel.panel) {
background:#3e3045;color:#fff0e7;border:4px double #edaaae;
 box-shadow:inset 0 0 0 2px #2c2133,0 4px 14px #170e1638;
}
.priscilla-article :is(.secret-container.user-css-secret,.secret-panel.panel) :is(.user-css,.panel-body,.card-body,.panel-heading,.card-header) {
background:transparent;color:#fff0e7;
}
.priscilla-article :is(.secret-container.user-css-secret,.secret-panel.panel) :is(p,li,dd,dt,div,span,strong,em,small) {
color:inherit;
}
.priscilla-article :is(.secret-container.user-css-secret,.secret-panel.panel) a:not(.btn) {
color:#ffc99e;
}
.priscilla-article :is(.secret-container.user-css-secret,.secret-panel.panel) a:not(.btn):hover {
color:#fff0da;
}
.priscilla-article :is(.secret-container.user-css-secret,.secret-panel.panel) :is(h3,h4,h5,h6) {
color:#ffe1cb;
}
.priscilla-article :is(.secret-container.user-css-secret,.secret-panel.panel) .secret-groups {
color:#e4c2b6;border-color:#a47b73;
}
.priscilla-article :is(.secret-container.user-css-secret,.secret-panel.panel) .secret-groups :is(.label,.badge) {
background:#5a405e;color:#fff0e9;border:1px solid #c99b8a;padding:2px 7px;border-radius:0;
}
}
@media screen {
.priscilla-article:is(.user-css,.user-css-extended,.user-css-rpgblock) .secret-container.user-css-secret.card-body {
background:#3e3045;color:#fff0e7;
}
}

/* 1.0.19 — bound volumes, readable captions and quiet abstract backdrop. */
.user-css-presentation { background-repeat:no-repeat; background-size:cover; background-attachment:fixed; }
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover {
 width:300px; max-width:calc(100% - 20px); height:auto; background:#102f38;
 border:1px solid #aa8b52; box-shadow:0 12px 24px #071b2940;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a {
 display:flex; flex-direction:column; position:relative; color:#faecd0; isolation:isolate;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a img {
 display:block; width:100%; height:auto; max-height:none; opacity:1; filter:none;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a .booktitle {
 position:relative; inset:auto; display:block; width:100%; max-width:none; box-sizing:border-box;
 margin:0; padding:18px 20px; border:0; border-top:3px double #bca06a;
 background:#102f38; color:#faecd0; font-size:20px; line-height:1.35; letter-spacing:.025em;
 text-align:center; text-transform:none; overflow-wrap:anywhere; transition:background .2s,color .2s;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a .excerpt {
 display:block; position:absolute; top:7%; left:10%; width:80%; max-height:61%; overflow:auto;
 box-sizing:border-box; padding:20px; margin:0; border:3px double #bca06a;
 background:#f5ecd9; color:#22353b; font:18px/1.5 var(--sp-body); text-align:left;
 opacity:0; visibility:hidden; transform:translateY(5px); transition:opacity .2s,transform .2s,visibility .2s;
 box-shadow:0 6px 20px #0005;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a:is(:hover,:focus-visible) .booktitle {
 background:#204b55; color:#fff3d9;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a:is(:hover,:focus-visible) .excerpt {
 opacity:1; visibility:visible; transform:none;
}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a:focus-visible {outline:3px solid #b48a3d;outline-offset:4px;}
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover .float-top-right {z-index:3;}
@media(prefers-reduced-motion:reduce){
 :is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a :is(.excerpt,.booktitle){transition:none;transform:none;}
}

/* Keep book captions unadorned in every link interaction state. */
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a,
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a:is(:hover,:focus,:focus-visible) {
 text-decoration:none;
}

/* 1.0.21 — gold-leaf title stamped directly onto the binding. */
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a .booktitle,
:is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a:is(:hover,:focus-visible) .booktitle {
 position:absolute; top:auto; bottom:16%; left:14%; width:77%; max-width:none;
 padding:0; margin:0; border:0; background:transparent; color:#e5c888;
 font-size:20px; line-height:1.35; font-weight:500; letter-spacing:.035em;
 text-shadow:0 1px 0 #03151d,0 -1px 0 #f8e5b744,1px 2px 2px #0009;
}
@supports (background-clip:text) {
 :is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a .booktitle,
 :is(.user-css,.user-css-extended,.user-css-map-sidebar,.user-css-rpgblock) .bookcover > a:is(:hover,:focus-visible) .booktitle {
  background:linear-gradient(110deg,#ba8c45 0%,#f3dda3 25%,#ccaa64 43%,#fae9b6 60%,#c29751 82%,#e8cb89 100%);
  background-clip:text; -webkit-background-clip:text; color:transparent;
  text-shadow:none; filter:drop-shadow(0 1px 0 #03151d) drop-shadow(0 -1px 0 #f8e5b72b);
 }
}
