/* Jersey Devil global.css — human-maintainable consolidated pass, 2026-08-19.
   Selector order and declaration order are preserved to keep existing cascade behavior.

   MAINTENANCE NOTES
   - Keep the section headers and short "why this exists" notes. This stylesheet is too
     customized for aggressive comment removal to be useful.
   - In CSS content: values, use Unicode escapes (for example \2620) instead of typing
     the symbol itself. Literal Unicode symbols have been converted to ? by MyBB before.
   - Several portal blocks are intentionally layered passes. Later portal rules override
     earlier baseline rules; do not merge/remove duplicate-looking selectors casually.
   - Compact declarations are fine when the selector is straightforward. Fragile plugin,
     template, pseudo-element, and responsive rules should stay clearly labeled. */

/* ===== JERSEY DEVIL — CLEAN CONSOLIDATED global.css v29 ===== */

/* ===== MYBB CORE DEFAULTS ===== */
body { background: #efefef; color: #000; font-family: Verdana, Arial, Sans-Serif; font-size: 13px; text-align: center; line-height: 1.4; }
a:link { color: #026CB1; text-decoration: none; }
a:visited { color: #026CB1; text-decoration: none; }
a:hover, a:active { color: #000; text-decoration: underline; }
#container { width: 95%; background: #fff; border: 1px solid #e4e4e4; color: #000000; margin: auto auto; padding: 20px; text-align: left; }
#content { width: auto !important; }
.menu ul { color: #000000; font-weight: bold; text-align: right; padding: 4px; }
.menu ul a:link { color: #000000; text-decoration: none; }
.menu ul a:visited { color: #000000; text-decoration: none; }
.menu ul a:hover, .menu ul a:active { color: #4874a3; text-decoration: none; }
#panel { background: #efefef; color: #000000; font-size: 11px; border: 1px solid #D4D4D4; padding: 8px; }
table { color: #000000; font-family: Verdana, Arial, Sans-Serif; font-size: 13px; }
.tborder { background: #81A2C4; width: 100%; margin: auto auto; border: 1px solid #0F5C8E; }
.thead { background: #026CB1 url(../../../images/pirate-background-categories.png) top left repeat-x; color: #ffffff; }
.thead a:link { color: #ffffff; text-decoration: none; }
.thead a:visited { color: #ffffff; text-decoration: none; }
.thead a:hover, .thead a:active { color: #ffffff; text-decoration: underline; }
.tcat { background: #ADCBE7; color: #000000; font-size: 12px; }
.tcat a:link { color: #000000; }
.tcat a:visited { color: #000000; }
.tcat a:hover, .tcat a:active { color: #000000; }
.trow1 { background: #f5f5f5; }
.trow2 { background: #EFEFEF; }
.trow_shaded { background: #eea8a1; }
.trow_sep { background: #e5e5e5; color: #000; font-size: 12px; font-weight: bold; }
.tfoot { background: #026CB1 url(../../../images/pirate-background-categories.png) top left repeat-x; color: #ffffff; }
.tfoot a:link { color: #ffffff; text-decoration: none; }
.tfoot a:visited { color: #ffffff; text-decoration: none; }
.tfoot a:hover, .tfoot a:active { color: #ffffff; text-decoration: underline; }
.bottommenu { background: #efefef; color: #000000; border: 1px solid #4874a3; padding: 10px; }
.navigation { color: #000000; font-size: 13px; font-weight: bold; }
.navigation a:link { text-decoration: none; }
.navigation a:visited { text-decoration: none; }
.navigation a:hover, .navigation a:active { text-decoration: none; }
.navigation .active { color: #000000; font-size: 13px; font-weight: bold; }
.smalltext { font-size: 11px; }
.largetext { font-size: 16px; font-weight: bold; }
input.textbox { background: #ffffff; color: #000000; border: 1px solid #0f5c8e; padding: 1px; }
textarea { background: #ffffff; color: #000000; border: 1px solid #0f5c8e; padding: 2px; font-family: Verdana, Arial, Sans-Serif; line-height: 1.4; font-size: 13px; }
select { background: #ffffff; border: 1px solid #0f5c8e; }
.editor { background: #f1f1f1; border: 1px solid #ccc; }
.editor_control_bar { background: #fff; border: 1px solid #0f5c8e; }
.autocomplete { background: #fff; border: 1px solid #000; color: black; }
.autocomplete_selected { background: #adcee7; color: #000; }
.popup_menu { background: #ccc; border: 1px solid #000; }
.popup_menu .popup_item { background: #fff; color: #000; }
.popup_menu .popup_item:hover { background: #C7DBEE; color: #000; }
.trow_reputation_positive { background: #ccffcc; }
.trow_reputation_negative { background: #ffcccc; }
.reputation_positive { color: green; }
.reputation_neutral { color: #444; }
.reputation_negative { color: red; }
img { border: none; }
.clear { clear: both; }
.hidden { display: none; float: none; width: 1%; }
.float_left { float: left; }
.float_right { float: right; }
.menu ul { list-style: none; margin: 0; }
.menu li { display: inline; padding-left: 5px; }
.menu img { padding-right: 5px; vertical-align: top; }
#panel .links { margin: 0; float: right; }
.expcolimage { float: right; width: auto; vertical-align: middle; margin-top: 2px; }
img.attachment { border: 1px solid #E9E5D7; padding: 2px; }
hr { background-color: #000000; color: #000000; height: 1px; border: 0px; }
#copyright { font: 11px Verdana, Arial, Sans-Serif; margin: 0; padding: 10px 0 0 0; }
#debug { float: right; text-align: right; margin-top: 0; }
.subforumicon { border: 0; vertical-align: middle; }
.separator { margin: 5px; padding: 0; height: 0px; font-size: 1px; list-style-type: none; }
form { margin: 0; padding: 0; }
.popup_menu .popup_item_container { margin: 1px; text-align: left; }
.popup_menu .popup_item { display: block; padding: 3px; text-decoration: none; white-space: nowrap; }
.popup_menu a.popup_item:hover { text-decoration: none; }
.autocomplete { text-align: left; }
.trow_selected td { background: #FFFBD9; }
blockquote { border: 1px solid #ccc; margin: 0; background: #fff; padding: 4px; }
blockquote cite { font-weight: bold; border-bottom: 1px solid #ccc; font-style: normal; display: block; margin: 4px 0; }
blockquote cite span { float: right; font-weight: normal; }
.codeblock { background: #fff; border: 1px solid #ccc; padding: 4px; }
.codeblock .title { border-bottom: 1px solid #ccc; font-weight: bold; margin: 4px 0; }
.codeblock code { overflow: auto; height: auto; max-height: 200px; display: block; font-family: Monaco, Consolas, Courier, monospace; font-size: 13px; }
.subject_new { font-weight: bold; }
.highlight { background: #FFFFCC; padding-top: 3px; padding-bottom: 3px; }
.pm_alert { background: #FFF6BF; border: 1px solid #FFD324; text-align: center; padding: 5px 20px; font-size: 11px; margin-bottom: 15px; }
.red_alert { background: #FBE3E4; border: 1px solid #A5161A; color: #A5161A; text-align: center; padding: 5px 20px; font-size: 11px; margin-bottom: 15px; }
.high_warning { color: #CC0000; }
.moderate_warning { color: #F3611B; }
.low_warning { color: #AE5700; }
div.error { padding: 5px 10px; border-top: 2px solid #FFD324; border-bottom: 2px solid #FFD324; background: #FFF6BF; font-size: 12px; }
div.error p { margin: 0; color: #000; font-weight: normal; }
div.error p em { font-style: normal; font-weight: bold; padding-left: 24px; display: block; color: #C00; background: url(/images/error.gif) no-repeat 0; }
div.error.ul { margin-left: 24px; }
.online { color: #15A018; }
.offline { color: #C7C7C7; }
.thread_legend, .thread_legend dd { margin: 0; padding: 0; }
.thread_legend dd { padding-bottom: 4px; margin-right: 15px; }
.thread_legend img { margin-right: 4px; vertical-align: bottom; }
.forum_legend, .forum_legend dt, .forum_legend dd { margin: 0; padding: 0; }
.forum_legend dd { float: left; margin-right: 10px; }
.forum_legend dt { margin-right: 10px; float: left; }
.success_message { color: #00b200; font-weight: bold; font-size: 10px; margin-bottom: 10px; }
.error_message { color: #C00; font-weight: bold; font-size: 10px; margin-bottom: 10px; }
.post_body { padding: 5px; }
.post_content { padding: 5px 10px; }
.invalid_field { border: 1px solid #f30; color: #f30; }
.valid_field { border: 1px solid #0c0; }
.validation_error { background: url(../../../images/invalid.gif) no-repeat center left; color: #f30; margin: 5px 0; padding: 5px; font-weight: bold; font-size: 11px; padding-left: 22px; }
.validation_success { background: url(../../../images/valid.gif) no-repeat center left; color: #00b200; margin: 5px 0; padding: 5px; font-weight: bold; font-size: 11px; padding-left: 22px; }
.validation_loading { background: url(../../../images/spinner.gif) no-repeat center left; color: #555; margin: 5px 0; padding: 5px; font-weight: bold; font-size: 11px; padding-left: 22px; }
#panel .remember_me input { vertical-align: middle; margin-top: -1px; }
.hiddenrow { display: none; }
.selectall { background-color: #FFFBD9; font-weight: bold; text-align: center; }
.repbox { font-size: 16px; font-weight: bold; padding: 5px 7px 5px 7px; }
._neutral { background-color: #FAFAFA; color: #999999; border: 1px solid #CCCCCC; }
._minus { background-color: #FDD2D1; color: #CB0200; border: 1px solid #980201; }
._plus { background-color: #E8FCDC; color: #008800; border: 1px solid #008800; }

/* ===== JERSEY DEVIL CORE THEME ===== */

/* ===== JERSEY DEVIL — NIGHT RETRO TRAVEL POSTER THEME ===== */

/* ===== ASSET FOLDER EXPECTED BY THIS CSS: ===== */
:root {
  --jd-ink: #061421; --jd-navy: #082338; --jd-navy-2: #0c2d45; --jd-teal: #16565d; --jd-teal-dark: #0d414a; --jd-gold: #d6a552; --jd-gold-soft: #e4c27b;
  --jd-cream: #f0e2bf; --jd-paper: #efe1bc; --jd-paper-2: #e7d5aa; --jd-text: #18222a; --jd-muted: #6e6759; --jd-danger: #a94939; --jd-line: rgba(105, 79, 39, .34);
}
html { background: var(--jd-ink); }
body {
  background-color: var(--jd-ink); background-image: linear-gradient(rgba(2, 17, 29, .22), rgba(2, 17, 29, .42)), url(/images/body-texture.png);
  background-repeat: repeat; background-attachment: fixed; color: var(--jd-cream); font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.45;
  text-align: center; margin: 0; padding: 0;
}
body, table, input, textarea, select, button { font-family: Arial, Helvetica, sans-serif; }
#container {
  width: calc(100% - 20px); max-width: 1680px; min-width: 760px; margin: 10px auto; padding: 0 18px 18px; box-sizing: border-box; text-align: left; color: var(--jd-text);
  background: rgba(4, 20, 33, .88); border: 1px solid var(--jd-gold); box-shadow: 0 16px 48px rgba(0, 0, 0, .42);
}
#content { width: auto !important; padding-top: 14px; }
@media (max-width: 900px) {
  html, body { width: 100%; max-width: 100%; min-width: 0; }
  body { background-attachment: scroll; }
  #container { width: calc(100% - 10px); max-width: none; min-width: 0; margin: 5px auto; padding: 0 10px 10px; }
  #content { width: 100% !important; min-width: 0 !important; padding-top: 10px; box-sizing: border-box; }
}
a:link, a:visited { color: #0d6171; text-decoration: none; }
a:hover, a:active { color: #9b6722; text-decoration: underline; }
.navigation { margin: 0 0 12px; padding: 9px 12px; color: var(--jd-cream); background: var(--jd-navy); border: 1px solid rgba(214, 165, 82, .56); font-size: 12px; font-weight: bold; }
.navigation a:link, .navigation a:visited { color: var(--jd-gold-soft); }
.navigation .active { color: #fff3d1; }
table { color: var(--jd-text); font-size: 13px; }
.tborder { width: 100%; margin: 0 auto 14px; background: var(--jd-gold); border: 1px solid #8d672d; border-collapse: separate; border-spacing: 0; box-shadow: 0 3px 10px rgba(0, 0, 0, .16); }
.thead {
  background-color: #082338; background-image: linear-gradient(to bottom, #0c3149 0%, #071d2e 100%); background-position: center center; background-repeat: no-repeat;
  background-size: 100% 100%; color: #e4c27b; border-top: 1px solid rgba(214, 165, 82, .34); border-bottom: 1px solid #d6a552;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), inset 0 -1px 0 rgba(0,0,0,.20); font-family: Georgia, "Times New Roman", serif; font-size: 15px; font-weight: bold;
  text-transform: uppercase; letter-spacing: .55px;
}
.thead td, .thead th { padding: 8px 10px; }
.thead a:link, .thead a:visited, .thead a:hover, .thead a:active, .thead strong, .thead span { color: #e4c27b; }
.tcat {
  background: var(--jd-navy); color: var(--jd-cream); font-size: 11px; font-weight: bold; text-transform: uppercase; letter-spacing: .4px;
  border-bottom: 1px solid rgba(214, 165, 82, .55);
}
.tcat a:link, .tcat a:visited { color: var(--jd-cream); }
.tcat a:hover, .tcat a:active { color: var(--jd-gold-soft); }
.trow1, .trow2 {
  background-color: var(--jd-paper); background-image: linear-gradient(rgba(255, 249, 230, .74), rgba(239, 225, 188, .74)), url(../../../images/parchment-texture.png);
  background-size: 420px 420px; color: var(--jd-text);
}
.trow2 { background-color: var(--jd-paper-2); background-image: linear-gradient(rgba(244, 233, 202, .76), rgba(230, 210, 166, .76)), url(../../../images/parchment-texture.png); }
.trow1 td, .trow2 td { border-bottom: 1px solid var(--jd-line); border-right: 1px solid rgba(105, 79, 39, .16); }
.trow1:hover, .trow2:hover { filter: brightness(1.025); }
.trow_shaded { background: #d9b09b; color: #3b1e18; }
.trow_sep { background: #d4bf8f; color: #24313a; font-size: 12px; font-weight: bold; }
.tfoot { background: var(--jd-navy); color: var(--jd-cream); border-top: 1px solid var(--jd-gold); }
.tfoot a:link, .tfoot a:visited, .tfoot a:hover, .tfoot a:active { color: var(--jd-gold-soft); }
.largetext, .subject_new, strong { color: inherit; }
.trow1 .largetext a, .trow2 .largetext a, .trow1 strong a, .trow2 strong a { color: #123f50; }
.trow1 .largetext a:hover, .trow2 .largetext a:hover, .trow1 strong a:hover, .trow2 strong a:hover { color: #9a6625; }
.smalltext { color: #554f43; font-size: 11px; }
input.textbox, textarea, select { box-sizing: border-box; background: #f5ead0; color: #17222a; border: 1px solid #9a763f; padding: 6px 8px; border-radius: 2px; }
input.textbox:focus, textarea:focus, select:focus { outline: none; border-color: var(--jd-gold); box-shadow: 0 0 0 2px rgba(214, 165, 82, .18); }
input.button, button, .button {
  background: var(--jd-teal); color: #fff1ca; border: 1px solid var(--jd-gold); padding: 6px 12px; font-weight: bold; text-transform: uppercase; letter-spacing: .35px;
  cursor: pointer;
}
input.button:hover, button:hover, .button:hover { background: #1c6870; color: white; }
.editor, .editor_control_bar { background: #ead9b1; border-color: #9f7a43; }
.autocomplete, .popup_menu { background: var(--jd-paper); border: 1px solid #8e692f; color: var(--jd-text); }
.autocomplete_selected, .popup_menu .popup_item:hover { background: #c9b47f; color: #14212b; }
.popup_menu .popup_item { background: #eee0bb; color: #17222a; }
blockquote, .codeblock { background: rgba(255, 248, 224, .72); border: 1px solid #9e7b45; color: #2d2a24; padding: 8px 10px; }
blockquote cite, .codeblock .title { border-bottom: 1px solid rgba(126, 92, 44, .38); color: #173e4b; }

/* ===== PAGINATION ===== */
.pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; padding: 0; color: var(--jd-cream); font-size: 12px; line-height: 1; }
.tfoot .pagination, .tcat .pagination { padding-top: 0; }
.pagination .pages { display: none !important; }
.pagination .pagination_current, .pagination a {
  display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 30px; margin: 0; padding: 0 9px; box-sizing: border-box;
  color: var(--jd-gold-soft); background: rgba(8, 35, 56, .95); border: 1px solid #a67d3e; border-radius: 4px; text-decoration: none; vertical-align: middle;
}
.pagination .pagination_current { color: #5a421d; background: var(--jd-paper); font-weight: 700; }
.pagination a:hover, .pagination a:focus { color: #fff7e0; background: var(--jd-teal); border-color: var(--jd-gold-soft); text-decoration: none; }
.pagination .pagination_breadcrumb_link, .pagination_breadcrumb_link, .pagination_breadcrumb { display: none !important; }
@media (max-width: 700px) {
  .pagination { gap: 4px; }
  .pagination .pagination_current, .pagination a { min-width: 32px; height: 30px; padding: 0 7px; }
}
.pm_alert { background: #d9c590; border: 1px solid #9e7738; color: #332916; }
.red_alert, div.error { background: #d7a99f; border-color: #7e3228; color: #541d18; }
.highlight { background: #ead074; color: #292316; }
img.attachment { border: 1px solid #98733e; background: #efe0bc; }
.online { color: #4f966b; }
.offline { color: #8b8a84; }
.selectall, .trow_selected td { background: #dbc78f; }

/* ===== PROFILES / MEMBER LIST / STATS ===== */

/* ===== JERSEY DEVIL — REMAINING PAGE STYLES ===== */
.wrapper { width: 100%; min-width: 0; max-width: none; }
.scaleimages img { max-width: 100%; height: auto; }
.jd-forum-table, .jd-thread-table, .jd-stats-table, .tborder.tf_fixed, .tborder.tfixed { overflow: hidden; }
.jd-forum-table .tcat, .jd-thread-table .tcat, .jd-stats-table .tcat { font-size: 13px; letter-spacing: .5px; text-transform: uppercase; }
.jd-forum-table td, .jd-thread-table td, .jd-stats-table td { padding: 12px 14px; }
.jd-forum-table .thead, .jd-thread-table .thead, .jd-stats-table .thead { text-align: center; }
.jd-forum-table .smalltext, .jd-thread-table .smalltext, .jd-stats-table .smalltext { font-size: 12px; }
.jd-thread-table .inline_row td, .jd-forum-table tr td { vertical-align: top; }
.jd-thread-row td:nth-child(3) a, .jd-forum-table .forum-name-link, .jd-member-name a, .jd-profile-name { font-family: Georgia, "Times New Roman", serif; }
.author.smalltext, .thread_start_datetime.smalltext, .lastpost.smalltext, .forum_legend, .thread_legend { color: #6a5c46; }
.thread_start_datetime.smalltext, .lastpost.smalltext { display: inline-block; margin-top: 2px; }
.thread_legend dd, .forum_legend dd { color: var(--jd-cream); }
.thread_legend .thread_status, .forum_legend .forum_status { transform: translateY(2px); }
.jd-profile-hero {
  display: grid; grid-template-columns: 1fr 260px; gap: 24px; align-items: center; padding: 24px 28px; margin: 0 0 18px; background-color: var(--jd-paper);
  background-image: linear-gradient(rgba(255,255,255,.12), rgba(239,225,188,.08)), url(../../../images/parchment-texture.png); border: 1px solid #8d672d;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.jd-profile-name { margin: 0; color: #23190c; font-size: 54px; line-height: 1; font-weight: 700; }
.jd-profile-usertitle {
  margin-top: 8px; color: var(--jd-teal); font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase;
}
.jd-profile-meta { margin-top: 18px; color: #34291a; font-size: 14px; line-height: 1.9; }
.jd-profile-meta strong { display: inline-block; min-width: 115px; color: #3e3428; }
.jd-profile-flair { margin-top: 10px; }
.jd-profile-avatar { text-align: right; }
.jd-profile-avatar img { display: inline-block; max-width: 240px; padding: 5px; background: #0b1822; border: 2px solid var(--jd-gold); }
.jd-grid { display: grid; gap: 18px; }
.jd-grid-2 { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.jd-profile-actions { margin-top: 10px; text-align: center; }
.jd-profile-actions .button, .jd-profile-actions a.button { margin: 0 4px 8px; }

/* ===== JERSEY DEVIL — GROUP TITLE COLORS ===== */
.jd-profile-tag.jd-group-4 { color: #54996C !important; }
.jd-profile-tag.jd-group-9 { color: #997854 !important; }
.jd-profile-tag.jd-group-10 { color: #939954 !important; }
.jd-profile-tag.jd-group-11 { color: #995B54 !important; }
.jd-profile-tag.jd-group-12 { color: #99547A !important; }
.jd-profile-tag.jd-group-13 { color: #547899 !important; }
.jd-profile-tag.jd-group-14 { color: #845499 !important; }
.jd-profile-tag.jd-group-15 { color: #AFC9AF !important; }
.jd-profile-tag.jd-group-16 { color: #549099 !important; }
.jd-profile-tag.jd-group-17 { color: #54998A !important; }
.jd-profile-tag.jd-group-18 { color: #99726E !important; }
.jd-profile-tag.jd-group-19 { color: #6D9CC4 !important; }
.jd-profile-tag.jd-group-20 { color: #636772 !important; }
.jd-profile-tag.jd-group-21 { color: #858B99 !important; }
.jd-profile-tag.jd-group-25 { color: #B5A4BD !important; }
.jd-profile-tag.jd-group-26 { color: #D49039 !important; }
.jd-profile-tag.jd-group-28 { color: #5C825E !important; }
.jd-profile-tag.jd-group-30 { color: #565656 !important; }
.jd-profile-tag.jd-group-31 { color: #9DE3D8 !important; }
.jd-profile-tag.jd-group-32 { color: #D0B76A !important; }
.jd-member-row td { padding-top: 14px; padding-bottom: 14px; vertical-align: middle; }
.jd-member-avatar { width: 190px; }
.jd-member-avatar img { width: 138px; max-width: 138px; height: auto; display: inline-block; padding: 4px; background: #0c1721; border: 2px solid var(--jd-gold); }
.jd-member-main { min-width: 260px; }
.jd-member-name { margin-bottom: 8px; font-family: Georgia, "Times New Roman", serif; font-size: 18px; line-height: 1.15; }
.jd-member-name a:link, .jd-member-name a:visited { color: #184c72; }
.jd-member-name a:hover, .jd-member-name a:active { color: #8b5d26; }
.jd-member-type { font-family: Georgia, "Times New Roman", serif; font-size: 22px; line-height: 1.1; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: #c98d2d; }
.jd-member-stars { margin-top: 8px; color: #6a5d49; }
.jd-stats-table .trow1, .jd-stats-table .trow2 { line-height: 1.6; }
.jd-stats-table strong { color: #23190c; }
.jd-stats-table a:link, .jd-stats-table a:visited { color: #164a6b; }
.thread_status, .forum_status, .subforumicon { vertical-align: middle; }
@media (max-width: 1100px) {
  .jd-profile-hero, .jd-grid-2 { grid-template-columns: 1fr; }
  .jd-profile-avatar { text-align: left; }
}

/* ===== CLASSIC POSTBIT ===== */

/* ===== JERSEY DEVIL — FINAL CLASSIC POSTBIT ===== */
.post.classic {
  display: grid !important; grid-template-columns: 285px minmax(0, 1fr) !important; grid-template-rows: auto auto !important; align-items: stretch !important;
  clear: both !important; width: 100% !important; margin: 0 0 18px !important; padding: 0 !important; box-sizing: border-box !important;
  background: transparent !important; border: 1px solid var(--jd-gold) !important; overflow: hidden !important;
}

/* ===== LEFT AUTHOR PANEL ===== */
.post.classic .post_author {
  grid-column: 1 !important; grid-row: 1 !important; width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 20px 18px 18px !important;
  float: none !important; box-sizing: border-box !important; color: var(--jd-cream) !important; background-color: #071a2b !important;
  background-image: linear-gradient(rgba(4,15,25,.34), rgba(4,15,25,.46)), url(/images/body-texture.png) !important; background-repeat: repeat !important;
  border: 0 !important; border-right: 1px solid var(--jd-gold) !important;
}
.post.classic .author_information {
  display: flex !important; flex-direction: column !important; align-items: center !important; width: 100% !important; margin: 0 0 16px !important;
  text-align: center !important;
}
.post.classic .author_information > strong { display: block !important; width: 100% !important; margin: 0 0 14px !important; text-align: center !important; }
.post.classic .author_information .largetext {
  display: block !important; margin: 0 !important; font-family: Georgia, "Times New Roman", serif !important; font-size: 21px !important; font-weight: 700 !important;
  line-height: 1.2 !important; letter-spacing: .35px !important; text-align: center !important;
}
.post.classic .author_information .largetext a { text-decoration: none !important; }
.post.classic .author_avatar { display: block !important; width: 100% !important; margin: 0 auto 18px !important; text-align: center !important; }
.post.classic .author_avatar img {
  display: inline-block !important; width: auto !important; max-width: 215px !important; height: auto !important; padding: 4px !important;
  box-sizing: border-box !important; background: #0c1721 !important; border: 2px solid var(--jd-gold) !important;
  box-shadow: 0 0 0 1px rgba(255,235,193,.12) inset !important;
}
.post.classic .jd-author-extras:empty { display: none !important; }
.post.classic .author_statistics {
  width: 100% !important; margin: 12px 0 0 !important; padding: 12px 14px !important; box-sizing: border-box !important; background: rgba(8,35,56,.78) !important;
  border: 1px solid rgba(214,165,82,.56) !important; color: var(--jd-cream) !important; font-size: 12px !important; line-height: 1.6 !important;
  text-align: left !important;
}
.jd-author-stat {
  display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 14px !important; padding: 5px 0 !important;
  border-bottom: 1px solid rgba(214,165,82,.18) !important;
}
.jd-author-stat:last-of-type { border-bottom: 0 !important; }
.jd-author-stat strong { color: var(--jd-gold-soft) !important; }
.jd-author-stat span { color: var(--jd-cream) !important; text-align: right !important; }
.jd-author-extra-fields { margin-top: 8px !important; }

/* ===== RIGHT MESSAGE PANEL ===== */
.post.classic .post_content {
  grid-column: 2 !important; grid-row: 1 !important; width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; float: none !important;
  box-sizing: border-box !important; color: var(--jd-text) !important; background-color: var(--jd-paper) !important;
  background-image: linear-gradient(rgba(255,248,233,.16), rgba(240,226,191,.06)), url(../../../images/parchment-texture.png) !important; background-repeat: repeat !important;
}
.post.classic .post_head {
  display: flow-root !important; width: 100% !important; margin: 0 !important; padding: 13px 20px !important; box-sizing: border-box !important;
  background: linear-gradient(rgba(226, 208, 166, .20), rgba(255, 250, 232, .30)) !important; border: 0 !important;
  border-bottom: 1px solid rgba(105,79,39,.30) !important; box-shadow: inset 0 -1px 0 rgba(255,255,255,.18) !important; color: var(--jd-muted) !important;
  font-size: 12px !important;
}
.post.classic .post_date { color: var(--jd-muted) !important; }
.post.classic .post_body {
  width: 100% !important; max-width: 960px !important; min-height: 340px !important; margin: 0 auto !important; padding: 38px 48px 44px !important;
  box-sizing: border-box !important; color: #2b2418 !important; background: rgba(255,250,235,.10) !important;
  box-shadow: inset 1px 0 0 rgba(125,91,43,.07), inset -1px 0 0 rgba(125,91,43,.07) !important; font-family: Georgia, "Times New Roman", serif !important;
  font-size: 15px !important; line-height: 1.78 !important;
}
.post.classic .post_body img { max-width: 100% !important; height: auto !important; }
.post.classic .post_body:has(.appbackground), .post.classic .post_body:has(.jd-application-sheet) {
  max-width: 1160px !important; padding-left: 16px !important; padding-right: 16px !important; background: transparent !important; box-shadow: none !important;
}
.post.classic .post_signature {
  width: calc(100% - 96px) !important; max-width: 864px !important; margin: 0 auto 20px !important; padding-top: 14px !important; box-sizing: border-box !important;
  border-top: 1px solid var(--jd-line) !important; color: var(--jd-muted) !important;
}
.post.classic .post_meta {
  display: flex !important; align-items: center !important; width: calc(100% - 96px) !important; max-width: 864px !important; min-height: 20px !important;
  margin: 0 auto !important; padding: 0 0 16px !important; box-sizing: border-box !important; color: var(--jd-muted) !important;
}
.post.classic .post_meta .float_right { float: none !important; margin-left: auto !important; }
.post.classic .post_controls {
  grid-column: 1 / -1 !important; grid-row: 2 !important; display: flex !important; align-items: center !important; justify-content: space-between !important;
  flex-wrap: wrap !important; gap: 8px 14px !important; clear: both !important; width: 100% !important; min-height: 42px !important; margin: 0 !important;
  padding: 8px 14px !important; box-sizing: border-box !important; background: #071a2b !important; border: 0 !important; border-top: 1px solid var(--jd-gold) !important;
  overflow: hidden !important;
}
.post.classic .post_controls .float_left, .post.classic .post_controls .float_right { float: none !important; width: auto !important; margin: 0 !important; }
.post.classic .post_controls .author_buttons { margin-right: auto !important; }
.post.classic .post_controls .post_management_buttons { margin-left: auto !important; text-align: right !important; }
.post.classic .post_controls a:link, .post.classic .post_controls a:visited { color: var(--jd-gold-soft) !important; }
.post.classic .post_controls a:hover, .post.classic .post_controls a:active { color: #fff !important; }
.post.classic blockquote, .post.classic .codeblock {
  margin: 12px 0 !important; padding: 10px 12px !important; background: rgba(255,255,255,.35) !important; border: 1px solid #c4a36f !important; color: #2d261b !important;
}
.post.classic blockquote cite, .post.classic .codeblock .title { color: #5f4722 !important; border-bottom: 1px solid #c4a36f !important; }
.jd-application-sheet {
  position: relative; width: calc(100% - 24px); max-width: 1050px; margin: 8px auto 22px; padding: 30px 36px 36px; box-sizing: border-box;
  background-color: var(--jd-paper); background-image: linear-gradient(rgba(255,249,232,.28), rgba(224,198,145,.10)), url(../../../images/parchment-texture.png);
  border: 2px solid #8c672f; box-shadow: 0 0 0 3px rgba(214,165,82,.16), 0 5px 15px rgba(0,0,0,.12); color: #241b10; font-family: Georgia, "Times New Roman", serif;
}
.jd-bio-heading {
  margin: 0; color: #17110b; font-family: Georgia, "Times New Roman", serif; font-size: 38px; font-weight: 700; line-height: 1.1; letter-spacing: 1px; text-align: center;
  text-transform: uppercase;
}
.jd-bio-divider { display: flex; align-items: center; justify-content: center; gap: 12px; max-width: 560px; margin: 14px auto 24px; color: #20160c; }
.jd-bio-divider::before, .jd-bio-divider::after { content: ""; height: 1px; flex: 1; background: #9d743a; }
.jd-bio-columns { display: grid; grid-template-columns: minmax(230px, 32%) minmax(0, 1fr); gap: 28px; }
.jd-bio-info { padding: 4px 28px 4px 4px; border-right: 1px solid rgba(116,81,34,.45); font-size: 15px; line-height: 1.65; text-align: left; }
.jd-bio-info h3 { margin: 0 0 10px; color: #203947; font-family: Georgia, "Times New Roman", serif; font-size: 17px; letter-spacing: .6px; text-transform: uppercase; }
.jd-bio-story { padding: 4px 4px 4px 0; color: #2a2116; font-size: 15px; line-height: 1.55; text-align: left; }
.jd-bio-story p { margin: 0 0 16px; }
.post.classic + .post.classic { clear: both !important; }
@media (max-width: 980px) {
  .post.classic { grid-template-columns: 220px minmax(0, 1fr) !important; }
  .post.classic .post_author { padding: 15px 12px !important; }
  .post.classic .author_avatar img { max-width: 175px !important; }
  .post.classic .post_body { max-width: none !important; padding: 28px 30px 32px !important; background: transparent !important; box-shadow: none !important; }
  .post.classic .post_signature, .post.classic .post_meta { width: calc(100% - 60px) !important; max-width: none !important; }
  .jd-bio-columns { grid-template-columns: 1fr; }
  .jd-bio-info { padding-right: 0; padding-bottom: 20px; border-right: 0; border-bottom: 1px solid rgba(116,81,34,.45); }
}
@media (max-width: 700px) {
  .post.classic {
    display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: auto auto auto !important; width: 100% !important;
    min-width: 0 !important; overflow: visible !important;
  }
  .post.classic .post_author {
    grid-column: 1 !important; grid-row: 1 !important; width: 100% !important; min-width: 0 !important; padding: 16px 14px !important; border-right: 0 !important;
    border-bottom: 1px solid var(--jd-gold) !important; box-sizing: border-box !important;
  }
  .post.classic .author_information { margin-bottom: 12px !important; }
  .post.classic .author_information .largetext { font-size: 20px !important; }
  .post.classic .author_avatar { margin-bottom: 14px !important; }
  .post.classic .author_avatar img { max-width: min(190px, 72vw) !important; }
  .post.classic .author_statistics { max-width: 360px !important; margin: 10px auto 0 !important; }
  .post.classic .post_content { grid-column: 1 !important; grid-row: 2 !important; width: 100% !important; min-width: 0 !important; }
  .post.classic .post_head { padding: 10px 13px !important; }
  .post.classic .post_body {
    width: 100% !important; max-width: none !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 22px 18px 26px !important;
    box-sizing: border-box !important; font-size: 15px !important; line-height: 1.7 !important; overflow-wrap: break-word !important;
  }
  .post.classic .post_signature, .post.classic .post_meta { width: calc(100% - 36px) !important; max-width: none !important; }
  .post.classic .post_controls {
    grid-column: 1 !important; grid-row: 3 !important; width: 100% !important; min-width: 0 !important; padding: 8px 10px !important; overflow: visible !important;
  }
  .post.classic .post_controls .author_buttons, .post.classic .post_controls .post_management_buttons { max-width: 100% !important; }
}

/* ===== POST AUTHOR DETAILS / GROUP PLAQUES ===== */

/* ===== JERSEY DEVIL — CLASSIC POST AUTHOR DETAILS ===== */
.post.classic .post_author, .post_author {
  position: relative !important; background-color: #071a2b !important;
  background-image: linear-gradient(rgba(4, 15, 25, .58), rgba(4, 15, 25, .42)), url(../../../images/harbor.png), url(/images/body-texture.png) !important;
  background-repeat: no-repeat, no-repeat, repeat !important; background-position: center center, center bottom, left top !important;
  background-size: cover, cover, auto !important;
}
.post.classic .post_author::before, .post_author::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to bottom, rgba(4, 14, 25, .18) 0%, rgba(4, 14, 25, .06) 35%, rgba(4, 14, 25, .10) 58%, rgba(4, 14, 25, .16) 100%); z-index: 0;
}
.post.classic .post_author > *, .post_author > * { position: relative; z-index: 1; }
.jd-author-scene { display: none !important; }
.post.classic .author_information .online, .post.classic .author_information .offline, .post.classic .author_information .author_online, .author_information .online, .author_information .offline, .author_information .author_online {
  display: none !important;
}
.jd-author-divider {
  display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; width: 100% !important;
  margin: 10px 0 10px !important;
}
.jd-author-divider-line {
  display: block !important; width: 64px !important; max-width: 28% !important; height: 1px !important;
  background: linear-gradient(to right, rgba(214, 165, 82, 0), rgba(214, 165, 82, .90), rgba(214, 165, 82, 0)) !important;
}
.jd-author-skull {
  display: inline-block !important; color: #d6a552 !important; font-family: Georgia, "Times New Roman", serif !important; font-size: 28px !important;
  line-height: 1 !important; text-shadow: 0 1px 2px rgba(0, 0, 0, .25) !important;
}

/* ===== GROUP TITLE / NAMEPLATE ===== */
.jd-profile-tag {
  position: relative !important; display: inline-block !important; min-width: 96px !important; max-width: calc(100% - 34px) !important; margin: 6px auto 14px !important;
  padding: 8px 18px !important; box-sizing: border-box !important; background: #081521 !important; border: 1px solid var(--jd-gold) !important; color: #c84d2f !important;
  font-family: Georgia, "Times New Roman", serif !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.1 !important;
  letter-spacing: 3px !important; text-align: center !important; text-transform: uppercase !important; box-shadow: 0 0 0 1px rgba(255,235,193,.08) inset !important;
}
/* Decorative four-point stars on both sides of the group plaque.
   Keep the escaped character: literal Unicode here has been corrupted by MyBB. */
.jd-profile-tag::before, .jd-profile-tag::after {
  content: "\2726" !important; position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; color: #d6a552 !important;
  font-size: 10px !important; line-height: 1 !important; letter-spacing: 0 !important;
}
.jd-profile-tag::before { left: 8px !important; }
.jd-profile-tag::after { right: 8px !important; }
.post.classic .jd-profile-tag { padding-left: 22px !important; padding-right: 22px !important; }
.post.classic .jd-profile-tag::before, .post.classic .jd-profile-tag::after { font-size: 9px !important; }
.post.classic .jd-profile-tag::before { left: 7px !important; }
.post.classic .jd-profile-tag::after { right: 7px !important; }
.jd-profile-tag:empty { display: none !important; }

/* ===== STARS AND GROUP IMAGE ===== */
.jd-author-extras {
  display: flex !important; flex-direction: column !important; align-items: center !important; gap: 6px !important; width: 100% !important;
  margin: 10px 0 12px !important; text-align: center !important;
}
.jd-author-stars, .jd-author-groupimage { display: block !important; width: 100% !important; }
.jd-author-stars img, .jd-author-groupimage img { display: inline-block !important; max-width: 100% !important; height: auto !important; vertical-align: middle !important; }
.jd-author-stars img { margin: 0 1px !important; }
.jd-author-stars:empty, .jd-author-groupimage:empty { display: none !important; }

/* ===== NON-CLASSIC POSTBIT FALLBACKS ===== */
.author_information { text-align: center !important; }
.author_statistics { margin-top: 12px !important; background: rgba(8,35,56,.78) !important; }

/* ===== MOBILE ===== */
@media (max-width: 900px) {
  .jd-author-divider-line { width: 46px !important; }
  .post.classic .jd-profile-tag, .jd-profile-tag { max-width: calc(100% - 18px) !important; letter-spacing: 2px !important; }
}
/* Skull between the author-panel divider lines.
   CSS escape prevents MyBB from replacing the glyph with a question mark. */
.jd-author-skull::before {
  content: "\2620"; display: block; color: #d6a552; font-family: "Segoe UI Symbol", "Arial Unicode MS", sans-serif; font-size: 28px; font-weight: normal; line-height: 1;
}
.post.classic .jd-group-label { display: inline !important; color: var(--jd-group-color) !important; }
.post.classic .jd-group-label::before { content: var(--jd-group-name); }

/* ===== GROUP NAMES + COLORS ===== */
.post.classic .jd-group-4 { --jd-group-name: "ADMINISTRATOR"; --jd-group-color: #54996C; }
.post.classic .jd-group-9 { --jd-group-name: "WERE"; --jd-group-color: #997854; }
.post.classic .jd-group-10 { --jd-group-name: "SHIFTER"; --jd-group-color: #939954; }
.post.classic .jd-group-11 { --jd-group-name: "VAMPIRE"; --jd-group-color: #995B54; }
.post.classic .jd-group-12 { --jd-group-name: "HUMAN"; --jd-group-color: #99547A; }
.post.classic .jd-group-13 { --jd-group-name: "FAIRY"; --jd-group-color: #547899; }
.post.classic .jd-group-14 { --jd-group-name: "WITCH"; --jd-group-color: #845499; }
.post.classic .jd-group-15 { --jd-group-name: "ZOMBIE"; --jd-group-color: #AFC9AF; }
.post.classic .jd-group-16 { --jd-group-name: "TELEPATH"; --jd-group-color: #549099; }
.post.classic .jd-group-17 { --jd-group-name: "MEDIUM"; --jd-group-color: #54998A; }
.post.classic .jd-group-18 { --jd-group-name: "DEMON"; --jd-group-color: #99726E; }
.post.classic .jd-group-19 { --jd-group-name: "ANGEL"; --jd-group-color: #6D9CC4; }
.post.classic .jd-group-20 { --jd-group-name: "REAPER"; --jd-group-color: #636772; }
.post.classic .jd-group-21 { --jd-group-name: "GHOST"; --jd-group-color: #858B99; }
.post.classic .jd-group-25 { --jd-group-name: "DOPPELGANGER"; --jd-group-color: #B5A4BD; }
.post.classic .jd-group-26 { --jd-group-name: "OOC ACCOUNT"; --jd-group-color: #D49039; }
.post.classic .jd-group-28 { --jd-group-name: "CREATURE"; --jd-group-color: #5C825E; }
.post.classic .jd-group-30 { --jd-group-name: "DEAD"; --jd-group-color: #565656; }
.post.classic .jd-group-31 { --jd-group-name: "OTHER"; --jd-group-color: #9DE3D8; }
.post.classic .jd-group-32 { --jd-group-name: "DEITY"; --jd-group-color: #D0B76A; }

/* ===== SHOWTHREAD / THREAD PARTICIPANTS ===== */

/* ===== JERSEY DEVIL — THREAD PARTICIPANTS CAST PANEL ===== */
.thread_participants {
  margin: 0 0 16px !important; padding: 0 !important; overflow: hidden !important; background-color: var(--jd-paper) !important;
  background-image: linear-gradient(rgba(255,249,230,.68), rgba(239,225,188,.68)), url(../../../images/parchment-texture.png) !important; background-size: 420px 420px !important;
  border: 1px solid #b68135 !important; border-radius: 4px !important; box-shadow: 0 3px 12px rgba(0,0,0,.18) !important;
}
.thread_participants .tp_header {
  display: flex !important; align-items: center !important; justify-content: space-between !important; margin: 0 !important; padding: 10px 14px !important;
  background: linear-gradient(to bottom, #0c3149 0%, #071d2e 100%) !important; border-bottom: 1px solid #d6a552 !important; border-radius: 0 !important;
}
.thread_participants .tp_toggle, .thread_participants .tp_title {
  color: #e4c27b !important; font-family: Georgia, "Times New Roman", serif !important; font-size: 14px !important; font-weight: 700 !important;
  letter-spacing: .35px !important;
}
.thread_participants .tp_icon { color: #e4c27b !important; font-size: 11px !important; }
.thread_participants .tp_count { color: #f0e2bf !important; font-size: 12px !important; }
.thread_participants .tp_content { padding: 12px 14px 14px !important; }
.thread_participants .tp_participants_grid {
  display: flex !important; flex-wrap: wrap !important; gap: 12px !important; align-items: flex-start !important; justify-content: flex-start !important;
}
.thread_participants .tp_participants_grid .tp_participant {
  display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: flex-start !important; width: 88px !important;
  min-height: 96px !important; margin: 0 !important; padding: 8px 6px !important; background: rgba(255,255,255,.20) !important;
  border: 1px solid rgba(182,129,53,.24) !important; border-radius: 6px !important; transition: background .15s ease, border-color .15s ease !important;
}
.thread_participants .tp_participants_grid .tp_participant:hover { background: rgba(255,255,255,.34) !important; border-color: rgba(182,129,53,.44) !important; }
.thread_participants .tp_participants_grid .tp_participant a {
  display: flex !important; flex-direction: column !important; align-items: center !important; gap: 6px !important; width: 100% !important; color: inherit !important;
  text-decoration: none !important;
}
.thread_participants .tp_avatar_wrapper { position: relative !important; display: inline-block !important; flex: 0 0 auto !important; }
.thread_participants .tp_avatar {
  width: 48px !important; height: 48px !important; border-radius: 6px !important; object-fit: cover !important; background: #0c1721 !important;
  border: 1px solid rgba(214,165,82,.55) !important; box-shadow: 0 0 0 1px rgba(255,235,193,.08) inset !important;
}
.thread_participants .tp_group_badge, .thread_participants .tp_posts_badge { transform: scale(.9); }
.thread_participants .tp_group_badge { border-color: #f3e7c7 !important; }
.thread_participants .tp_posts_badge { border-color: #f3e7c7 !important; }
.thread_participants .tp_username {
  width: 100% !important; max-width: none !important; margin-top: 0 !important; color: #174a61 !important; font-size: 11px !important; line-height: 1.2 !important;
  text-align: center !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; word-break: break-word !important;
}
.thread_participants .tp_empty, .thread_participants .tp_view_all { color: #5c564a !important; }
@media (max-width: 900px) {
  .thread_participants .tp_content { padding: 10px !important; }
  .thread_participants .tp_participants_grid { gap: 8px !important; }
  .thread_participants .tp_participants_grid .tp_participant { width: 76px !important; min-height: 88px !important; padding: 6px 4px !important; }
  .thread_participants .tp_avatar { width: 40px !important; height: 40px !important; }
  .thread_participants .tp_username { font-size: 10px !important; }
}

/* ===== LEGACY CHARACTER APPLICATIONS ===== */

/* ===== JERSEY DEVIL — LEGACY CHARACTER APPLICATION CLASSES ===== */
/* These target the ORIGINAL application markup already stored in old posts
   (.appbackground, .charactername, .image, .basics, .subtitle, .basics3, .lyrics).
   Keeping these selectors means old applications do not need to be reformatted. */
.post_body .appbackground {
  width: calc(100% - 24px); max-width: 1040px; margin: 18px auto 26px; padding: 30px 34px 28px; box-sizing: border-box; color: #2b2115; text-align: left;
  background-color: var(--jd-paper); background-image: linear-gradient(rgba(255, 250, 235, .24), rgba(226, 204, 161, .10)), url(../../../images/parchment-texture.png);
  background-repeat: repeat; border: 2px solid #8f682e; box-shadow: 0 0 0 4px rgba(214, 165, 82, .14), 0 5px 14px rgba(0, 0, 0, .12);
}
.post_body center .appbackground { text-align: left; }
.post_body .charactername {
  position: relative; margin: 0 0 28px; padding: 0 0 24px; color: #1b140c; font-family: Georgia, "Times New Roman", serif; font-size: 38px; font-weight: 700;
  line-height: 1.05; letter-spacing: 1.4px; text-align: center; text-transform: uppercase;
}
.post_body .charactername::before { content: ""; position: absolute; left: 17%; right: 17%; bottom: 8px; height: 1px; background: #a47a3a; }
/* Skull centered over the character-name divider. Use an escape, not a literal glyph. */
.post_body .charactername::after {
  content: "\2620"; position: absolute; left: 50%; bottom: -2px; transform: translateX(-50%); padding: 0 12px; color: #261b0e; background: #ead7aa; font-size: 18px;
  line-height: 20px; letter-spacing: 0;
}
.post_body .appbackground > table {
  width: 100%; margin: 0 0 24px; border: 0; border-collapse: collapse; border-spacing: 0; color: #2b2115; background: transparent;
  font-family: Georgia, "Times New Roman", serif;
}
.post_body .appbackground > table > tbody > tr > td, .post_body .appbackground > table > tr > td { padding: 0; border: 0; background: transparent; }
.post_body .image {
  width: 270px; height: 270px; margin: 0 28px 0 0; box-sizing: border-box; background-position: center center; background-repeat: no-repeat; background-size: cover;
  border: 2px solid #8f682e; outline: 1px solid rgba(214, 165, 82, .45); outline-offset: 3px; box-shadow: 0 3px 9px rgba(0, 0, 0, .14);
}
.post_body .basics {
  min-height: 270px; padding: 4px 0 4px 28px; box-sizing: border-box; color: #2b2115; border-left: 1px solid rgba(120, 84, 36, .40);
  font-family: Georgia, "Times New Roman", serif; font-size: 15px; line-height: 1.65; text-align: left;
}
.post_body .basics strong { color: #1d160e; font-weight: 700; }
.post_body .subtitle {
  margin: 0 0 10px; color: #193e4b; font-family: Georgia, "Times New Roman", serif; font-size: 17px; font-weight: 700; letter-spacing: .7px; line-height: 1.2;
  text-transform: uppercase;
}
.post_body .basics3 {
  margin: 6px 0 0; padding: 24px 4px 4px; color: #2b2115; border-top: 1px solid rgba(120, 84, 36, .36); font-family: Georgia, "Times New Roman", serif; font-size: 15px;
  line-height: 1.72; text-align: left;
}
.post_body .lyrics {
  margin: 26px 0 0; padding: 16px 8px 2px; color: #6b5537; border-top: 1px solid rgba(120, 84, 36, .36); font-family: Georgia, "Times New Roman", serif; font-size: 14px;
  font-style: italic; line-height: 1.5; letter-spacing: .2px; text-align: center;
}
.post_body .appbackground a:link, .post_body .appbackground a:visited { color: #164c62; }
.post_body .appbackground a:hover, .post_body .appbackground a:active { color: #8e5f25; }
@media (max-width: 900px) {
  .post_body .appbackground { width: calc(100% - 8px); padding: 24px 20px; }
  .post_body .charactername { font-size: 30px; }
  .post_body .appbackground > table, .post_body .appbackground > table > tbody, .post_body .appbackground > table > tbody > tr, .post_body .appbackground > table > tbody > tr > td, .post_body .appbackground > table > tr, .post_body .appbackground > table > tr > td {
    display: block; width: 100%;
  }
  .post_body .image { margin: 0 auto 26px; }
  .post_body .basics { min-height: 0; padding: 22px 0 0; border-left: 0; border-top: 1px solid rgba(120, 84, 36, .40); }
}

/* ===== INDEX SIDEBAR + TRACKER ===== */

/* ===== JERSEY DEVIL — SIDEBAR THREAD TRACKER CARD ===== */
.jd-index-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 18px; align-items: start; width: 100%; }
.jd-index-main, .jd-index-sidebar { min-width: 0; }
.jd-index-sidebar { align-self: start; }
.jd-index-main > .tborder { margin-bottom: 16px; }
.jd-index-main .forum_legend { margin-top: 4px; }
.jd-index-sidebar .tborder { width: 100%; margin: 0 0 16px !important; box-shadow: 0 3px 12px rgba(0, 0, 0, .22); }
.jd-index-sidebar .thead { padding: 10px 12px !important; font-size: 14px; text-align: left; }
.jd-index-sidebar .tcat { padding: 8px 10px !important; font-size: 11px; }
.jd-index-sidebar .trow1, .jd-index-sidebar .trow2, .jd-index-sidebar .tfoot { padding: 10px 12px !important; font-size: 12px; line-height: 1.55; }
.jd-index-sidebar .smalltext { font-size: 11px; line-height: 1.5; }
.jd-index-sidebar td { max-width: 350px; overflow-wrap: anywhere; }
.jd-thread-tracker-panel { margin: 0 0 16px; }
.jd-thread-tracker-panel-link { display: block; text-decoration: none; }
.jd-thread-tracker-panel-image { display: block; width: 100%; height: auto; border: 1px solid var(--jd-gold); box-shadow: 0 3px 12px rgba(0, 0, 0, .22); }
.jd-thread-tracker-panel-link:hover .jd-thread-tracker-panel-image { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0, 0, 0, .28); }
@media (max-width: 1300px) and (min-width: 981px) {
  .jd-index-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 14px; }
  .jd-index-sidebar td { max-width: 300px; }
}
@media (max-width: 980px) {
  .jd-index-layout { display: block; }
  .jd-index-sidebar { margin-top: 18px; }
  .jd-index-sidebar td { max-width: none; }
}

/* ===== MOBILE THREAD TRACKER BAR ===== */
@media (max-width: 980px) {
  .jd-thread-tracker-panel { width: 100%; margin: 14px 0 16px !important; padding: 0; }
  .jd-thread-tracker-panel-link {
    display: block; width: 100%; aspect-ratio: 3 / 1; box-sizing: border-box; overflow: hidden; text-decoration: none !important; font-size: 0; line-height: 0;
    background-image: url(../../../images/nautical-banner2.png); background-repeat: no-repeat; background-position: center center; background-size: 100% 100%; border: 0;
    border-radius: 0; box-shadow: 0 4px 14px rgba(0, 0, 0, .28);
  }
  .jd-thread-tracker-panel-image { display: none !important; }
  .jd-thread-tracker-panel-link:hover, .jd-thread-tracker-panel-link:active { transform: none !important; box-shadow: 0 4px 14px rgba(0, 0, 0, .28); }
}

/* ===== INDEX TABLE READABILITY ===== */

/* ===== JERSEY DEVIL — INDEX FORUM READABILITY ONLY ===== */
.jd-index-main .thead {
  color: #e4c27b !important; background-color: #082338 !important; background-image: linear-gradient(to bottom, #0c3149 0%, #071d2e 100%) !important;
  background-position: center center !important; background-repeat: no-repeat !important; background-size: 100% 100% !important;
  border-top: 1px solid rgba(214,165,82,.34) !important; border-bottom: 1px solid #d6a552 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), inset 0 -1px 0 rgba(0,0,0,.20) !important;
}
.jd-index-main .thead td, .jd-index-main .thead th { padding-top: 10px !important; padding-bottom: 10px !important; }
.jd-index-main .thead, .jd-index-main .thead a, .jd-index-main .thead strong, .jd-index-main .thead span { color: #e4c27b !important; }
.jd-index-main .thead .expcolimage {
  position: relative !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; float: right !important;
  width: 26px !important; height: 26px !important; margin: -3px 0 -3px 10px !important; padding: 0 !important; box-sizing: border-box !important;
  background: rgba(4,20,33,.48) !important; border: 1px solid rgba(214,165,82,.78) !important; border-radius: 50% !important;
  box-shadow: inset 0 0 0 1px rgba(255,239,201,.035) !important;
}
.jd-index-main .thead .expcolimage::before {
  content: "" !important; display: block !important; width: 6px !important; height: 6px !important; border: solid #e4c27b !important;
  border-width: 0 2px 2px 0 !important; transform: translateY(2px) rotate(-135deg) !important; transform-origin: center !important; pointer-events: none !important;
}
.jd-index-main .thead .expcolimage:has(img[src*="collapse_collapsed"])::before { transform: translateY(-2px) rotate(45deg) !important; }
.jd-index-main .thead .expcolimage img {
  position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; opacity: 0 !important;
  cursor: pointer !important;
}
.jd-index-main .thead img.expcolimage {
  width: 26px !important; height: 26px !important; padding: 6px !important; box-sizing: border-box !important; background-color: rgba(4,20,33,.48) !important;
  border: 1px solid rgba(214,165,82,.78) !important; border-radius: 50% !important; opacity: 1 !important; object-fit: contain !important;
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 9l4-4 4 4' fill='none' stroke='%23e4c27b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.jd-index-main .thead img.expcolimage[src*="collapse_collapsed"] {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 5l4 4 4-4' fill='none' stroke='%23e4c27b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.jd-index-main .tcat { background: #071a2b !important; color: #e6c984 !important; border-bottom: 1px solid rgba(214,165,82,.48) !important; }
.jd-index-main .tcat, .jd-index-main .tcat .smalltext, .jd-index-main .tcat strong, .jd-index-main .tcat span, .jd-index-main .tcat a, .jd-index-main .tcat a:link, .jd-index-main .tcat a:visited {
  color: #e6c984 !important;
}
.jd-index-main .trow1, .jd-index-main .trow2 { color: #1f2a30 !important; background-size: 420px 420px !important; }
.jd-index-main .trow1 { background-color: #efe1bc !important; background-image: linear-gradient(rgba(255,249,230,.56), rgba(239,225,188,.56)), url(../../../images/parchment-texture.png) !important; }
.jd-index-main .trow2 { background-color: #ecddb7 !important; background-image: linear-gradient(rgba(252,245,225,.54), rgba(235,219,184,.54)), url(../../../images/parchment-texture.png) !important; }
.jd-index-main .trow1 td, .jd-index-main .trow2 td { border-bottom: 1px solid rgba(105,79,39,.20) !important; border-right: 1px solid rgba(105,79,39,.10) !important; }
.jd-index-main .trow1 .largetext a, .jd-index-main .trow2 .largetext a, .jd-index-main .trow1 strong a, .jd-index-main .trow2 strong a {
  color: #073f55 !important; font-weight: 700 !important;
}
.jd-index-main .trow1 .smalltext, .jd-index-main .trow2 .smalltext { color: #454239 !important; }
.jd-index-main .trow1 a, .jd-index-main .trow2 a { color: #07536a; }
.jd-index-main .trow1 a:hover, .jd-index-main .trow2 a:hover { color: #8a5a20; }
.avatarep_img {
  width: 30px !important; height: 30px !important; padding: 2px !important; margin: 0 7px 0 0 !important; box-sizing: border-box !important; object-fit: cover !important;
  object-position: center !important; vertical-align: middle !important; background: #ead9b1 !important; border: 1px solid rgba(142, 105, 47, .72) !important;
  border-radius: 4px !important; box-shadow: 0 1px 2px rgba(58, 38, 16, .16) !important; opacity: 1 !important;
}
.avatarep_fd { width: 30px !important; height: 30px !important; margin: 0 7px 0 0 !important; padding: 0 !important; }
.avatarep_fdl_img, .avatarep_img_contributor {
  width: 22px !important; height: 22px !important; padding: 1px !important; box-sizing: border-box !important; object-fit: cover !important;
  object-position: center !important; background: #ead9b1 !important; border: 1px solid rgba(142, 105, 47, .62) !important; border-radius: 3px !important;
  box-shadow: none !important; opacity: 1 !important;
}
@media (max-width: 980px) {
  .avatarep_img { width: 24px !important; height: 24px !important; padding: 1px !important; margin-right: 5px !important; border-radius: 3px !important; box-shadow: none !important; }
  .avatarep_fd { width: 24px !important; height: 24px !important; margin-right: 5px !important; }
  .avatarep_fdl_img, .avatarep_img_contributor { width: 20px !important; height: 20px !important; }
}
.jd-index-main .tborder { border-color: #b68135 !important; }

/* ===== MOBILE INDEX — STACKED FORUM ROWS ===== */
@media (max-width: 700px) {
  .jd-index-main > .tborder { display: block !important; width: 100% !important; table-layout: auto !important; overflow: hidden !important; }
  .jd-index-main > .tborder > tbody { display: block !important; width: 100% !important; }
  .jd-index-main > .tborder > thead, .jd-index-main > .tborder > thead > tr, .jd-index-main > .tborder > thead > tr > .thead {
    display: block !important; width: 100% !important; max-width: none !important; min-width: 0 !important; box-sizing: border-box !important;
  }
  .jd-index-main > .tborder > tbody > tr:has(> .thead), .jd-index-main > .tborder > tbody > tr:has(> .thead) > .thead {
    display: block !important; width: 100% !important; max-width: none !important; min-width: 0 !important; box-sizing: border-box !important;
  }
  .jd-index-main > .tborder > thead > tr > .thead { float: none !important; margin: 0 !important; }
  .jd-index-main > .tborder > tbody > tr:has(> .tcat) { display: block !important; width: 100% !important; }
  .jd-index-main > .tborder > tbody > tr:has(> .tcat) > .tcat:first-child {
    display: block !important; width: 100% !important; padding: 7px 10px !important; box-sizing: border-box !important; text-align: left !important;
  }
  .jd-index-main > .tborder > tbody > tr:has(> .tcat) > .tcat:not(:first-child) { display: none !important; }
  .jd-index-main > .tborder > tbody > tr:has(> .trow1), .jd-index-main > .tborder > tbody > tr:has(> .trow2) {
    display: grid !important; grid-template-columns: 48px minmax(0, 1fr) !important; width: 100% !important; box-sizing: border-box !important;
    background-color: #efe1bc !important; background-image: linear-gradient(rgba(255,249,230,.56), rgba(239,225,188,.56)), url(../../../images/parchment-texture.png) !important;
    background-size: 420px 420px !important; border-bottom: 1px solid rgba(105,79,39,.20) !important;
  }
  .jd-index-main > .tborder > tbody > tr:has(> .trow2) {
    background-color: #ecddb7 !important; background-image: linear-gradient(rgba(252,245,225,.54), rgba(235,219,184,.54)), url(../../../images/parchment-texture.png) !important;
  }
  .jd-index-main > .tborder > tbody > tr:has(> .trow1) > td:first-child, .jd-index-main > .tborder > tbody > tr:has(> .trow2) > td:first-child {
    grid-column: 1 !important; grid-row: 1 / span 2 !important; display: flex !important; align-items: flex-start !important; justify-content: center !important;
    width: auto !important; min-width: 0 !important; padding: 13px 4px 10px 8px !important; box-sizing: border-box !important; border: 0 !important;
    background: transparent !important;
  }
  .jd-index-main > .tborder > tbody > tr:has(> .trow1) > td:nth-child(2), .jd-index-main > .tborder > tbody > tr:has(> .trow2) > td:nth-child(2) {
    grid-column: 2 !important; grid-row: 1 !important; display: block !important; width: auto !important; min-width: 0 !important; padding: 11px 10px 5px 7px !important;
    box-sizing: border-box !important; border: 0 !important; background: transparent !important;
  }
  .jd-index-main > .tborder > tbody > tr:has(> .trow1) > td:nth-child(3), .jd-index-main > .tborder > tbody > tr:has(> .trow1) > td:nth-child(4), .jd-index-main > .tborder > tbody > tr:has(> .trow2) > td:nth-child(3), .jd-index-main > .tborder > tbody > tr:has(> .trow2) > td:nth-child(4) {
    display: none !important;
  }
  .jd-index-main > .tborder > tbody > tr:has(> .trow1) > td:nth-child(5), .jd-index-main > .tborder > tbody > tr:has(> .trow2) > td:nth-child(5) {
    grid-column: 2 !important; grid-row: 2 !important; display: block !important; width: auto !important; min-width: 0 !important; padding: 5px 10px 10px 7px !important;
    box-sizing: border-box !important; text-align: left !important; white-space: normal !important; overflow-wrap: anywhere !important;
    background: transparent !important; border: 0 !important; border-top: 1px solid rgba(105,79,39,.15) !important;
  }
  .jd-index-main .trow1 .largetext, .jd-index-main .trow2 .largetext, .jd-index-main .trow1 strong, .jd-index-main .trow2 strong { font-size: 13px !important; line-height: 1.25 !important; }
  .jd-index-main .trow1 .smalltext, .jd-index-main .trow2 .smalltext { font-size: 10px !important; line-height: 1.3 !important; }
  .jd-index-main .forum_status { width: 30px !important; height: 30px !important; background-size: 30px 30px !important; }
  .jd-index-main .avatarep_img { float: left !important; width: 24px !important; height: 24px !important; margin: 0 7px 3px 0 !important; }
}

/* ===== JERSEY DEVIL — CUSTOM FORUM ICONS ===== */
.jd-index-main .forum_status {
  display: block !important; width: 34px !important; height: 34px !important; margin: 0 auto !important; background-repeat: no-repeat !important;
  background-position: center center !important; background-size: 34px 34px !important; background-color: transparent !important;
}

/* ===== Jersey Devil Basics — FID 11 ===== */
#mark_read_11 { background-image: url(../../../images/jersey-devil-basics.png) !important; }
#mark_read_30 { background-image: url(../../../images/accepted-biographies.png) !important; }
#mark_read_27 { background-image: url(../../../images/application-center.png) !important; }
#mark_read_290 { background-image: url(../../../images/human-world.png) !important; }
#mark_read_255 { background-image: url(../../../images/fairy-realm.png) !important; }
#mark_read_238 { background-image: url(../../../images/other.png) !important; }
#mark_read_244 { background-image: url(../../../images/one-shots.png) !important; }
#mark_read_292 { background-image: url(../../../images/communications.png) !important; }
#mark_read_44 { background-image: url(../../../images/member-chat.png) !important; }

/* ===== IRL — FID 287 ===== */
#mark_read_287 { background-image: url(../../../images/irl.png) !important; }
.forum_legend, .forum_legend dt, .forum_legend dd { display: none !important; margin: 0 !important; padding: 0 !important; }

/* ===== AI SHIP NIGHT SKIN — THREAD STATUS ICONS ===== */
.thread_status {
  display: inline-block !important; width: 18px !important; height: 18px !important; background-repeat: no-repeat !important;
  background-position: center center !important; background-size: 18px 18px !important; vertical-align: middle !important; text-indent: -9999px !important;
  overflow: hidden !important;
}

/* ===== NORMAL / READ THREAD ===== */
.thread_status.folder, .thread_status.hotfolder, .thread_status.dot_folder, .thread_status.dot_hotfolder {
  background-image: url(../../../images/ai-ship-night-skin/thread-normal.png) !important; background-position: center center !important;
}

/* ===== NEW / UNREAD THREAD ===== */
.thread_status.newfolder, .thread_status.newhotfolder, .thread_status.dot_newfolder, .thread_status.dot_newhotfolder {
  background-image: url(../../../images/ai-ship-night-skin/thread-new.png) !important; background-position: center center !important;
}

/* ===== CLOSED THREAD ===== */
.thread_status.closefolder, .thread_status.hotclosefolder, .thread_status.newclosefolder, .thread_status.newhotclosefolder, .thread_status.dot_closefolder, .thread_status.dot_hotclosefolder, .thread_status.dot_newclosefolder, .thread_status.dot_newhotclosefolder {
  background-image: url(../../../images/ai-ship-night-skin/thread-closed.png) !important; background-position: center center !important;
}

/* ===== MOVED / REDIRECT THREAD ===== */
.thread_status.movefolder { background-image: url(../../../images/ai-ship-night-skin/thread-redirect.png) !important; background-position: center center !important; }

/* ===== STICKY THREAD ===== */
.forumdisplay_sticky .thread_status { background-image: url(../../../images/ai-ship-night-skin/thread-sticky.png) !important; background-position: center center !important; }

/* ===== HEADER / UNIFIED NAV / FOOTER ===== */

/* ===== JERSEY DEVIL — HEADER + UNIFIED NAV + FOOTER ===== */
#logo {
  position: relative !important; height: auto !important; min-height: 0 !important; margin: 0 -18px !important; padding: 0 !important; background: #061421 !important;
  border: 0 !important; border-bottom: 1px solid rgba(214, 165, 82, .55) !important; overflow: visible !important;
}
#logo::before, #logo::after { display: none !important; content: none !important; }
#logo .wrapper { width: 100% !important; height: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
#logo .jd-header-banner { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; line-height: 0 !important; background: #061421 !important; }
#logo .jd-header-banner img {
  display: block !important; width: 100% !important; max-width: none !important; height: auto !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; object-fit: contain !important;
}

/* ===== UNIFIED NAVIGATION BAR ===== */
.jd-unified-nav {
  display: flex !important; align-items: stretch !important; flex-wrap: nowrap !important; width: calc(100% + 36px) !important; min-height: 52px !important;
  margin: 0 -18px !important; padding: 0 18px !important; box-sizing: border-box !important; color: #f0e2bf !important;
  background: linear-gradient(to bottom, rgba(12, 45, 69, .34), rgba(4, 20, 33, .08)), #061a29 !important; border: 0 !important;
  border-bottom: 2px solid #b9812f !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .02) !important;
}

/* ===== MAIN NAVIGATION ===== */
.jd-unified-nav .jd-main-nav {
  display: flex !important; flex: 0 0 auto !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: stretch !important;
  min-width: 0 !important; margin: 0 !important; padding: 0 !important; list-style: none !important; background: transparent !important; border: 0 !important;
}
.jd-unified-nav .jd-main-nav > li { display: flex !important; align-items: stretch !important; margin: 0 !important; padding: 0 !important; float: none !important; }
.jd-unified-nav .jd-main-nav > li > a {
  display: flex !important; align-items: center !important; justify-content: center !important; min-height: 52px !important; padding: 0 17px !important;
  box-sizing: border-box !important; color: #f0e2bf !important; background: transparent !important; border: 0 !important;
  border-right: 1px solid rgba(214, 165, 82, .18) !important; font-size: 11px !important; font-weight: 700 !important; line-height: 1 !important;
  letter-spacing: .42px !important; text-decoration: none !important; text-transform: uppercase !important; white-space: nowrap !important;
  transition: background-color .15s ease, color .15s ease !important;
}
.jd-unified-nav .jd-main-nav > li:first-child > a { border-left: 1px solid rgba(214, 165, 82, .18) !important; }
.jd-unified-nav .jd-main-nav > li > a:hover, .jd-unified-nav .jd-main-nav > li > a:active, .jd-unified-nav .jd-main-nav > li > a:focus {
  color: #fff5d7 !important; background: rgba(22, 86, 93, .66) !important; text-decoration: none !important;
}
.jd-unified-nav .jd-main-nav a.home, .jd-unified-nav .jd-main-nav a.search, .jd-unified-nav .jd-main-nav a.memberlist, .jd-unified-nav .jd-main-nav a.calendar, .jd-unified-nav .jd-main-nav a.help, .jd-unified-nav .jd-main-nav a.portal {
  background-image: none !important; padding-left: 17px !important;
}
.jd-unified-nav #panel {
  display: flex !important; align-items: stretch !important; flex: 1 1 auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important;
  color: #f0e2bf !important; background: transparent !important; border: 0 !important; font-size: 11px !important;
}
.jd-unified-nav #panel .upper {
  display: flex !important; flex: 1 1 auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important;
  border: 0 !important;
}
.jd-unified-nav #panel .upper .wrapper {
  display: flex !important; flex: 1 1 auto !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 0 !important;
  width: 100% !important; min-width: 0 !important; max-width: none !important; min-height: 52px !important; margin: 0 !important; padding: 0 !important;
  box-sizing: border-box !important;
}

/* ===== QUICK SEARCH ===== */
.jd-unified-nav #panel .upper .wrapper > form {
  order: 1 !important; flex: 0 1 230px !important; min-width: 165px !important; max-width: 230px !important; margin: 0 10px 0 12px !important; padding: 0 !important;
}
.jd-unified-nav #panel #search {
  display: flex !important; align-items: stretch !important; width: 100% !important; margin: 0 !important; padding: 0 !important; box-sizing: border-box !important;
  float: none !important; background: transparent !important; border: 0 !important; border-radius: 4px !important; overflow: hidden !important;
}
.jd-unified-nav #panel #search input.textbox {
  flex: 1 1 auto !important; width: auto !important; min-width: 0 !important; height: 32px !important; margin: 0 !important; padding: 0 10px !important;
  box-sizing: border-box !important; color: #f0e2bf !important; background: #071a2b !important; border: 1px solid rgba(214, 165, 82, .54) !important;
  border-right: 0 !important; border-radius: 4px 0 0 4px !important; font-size: 11px !important;
}
.jd-unified-nav #panel #search input.textbox::placeholder { color: #9f947c !important; opacity: 1 !important; }
.jd-unified-nav #panel #search input.textbox:focus { background: #092239 !important; border-color: #d6a552 !important; box-shadow: inset 0 0 0 1px rgba(214, 165, 82, .08) !important; }
.jd-unified-nav #panel #search input.button {
  flex: 0 0 38px !important; width: 38px !important; height: 32px !important; margin: 0 !important; padding: 0 !important; box-sizing: border-box !important;
  color: transparent !important; background-color: #d6a552 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='6.5' fill='none' stroke='%23071a2b' stroke-width='2.2'/%3E%3Cpath d='M16 16l4.5 4.5' fill='none' stroke='%23071a2b' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: center center !important; border: 1px solid #d6a552 !important; border-radius: 0 4px 4px 0 !important;
  font-size: 0 !important; text-indent: -9999px !important; overflow: hidden !important; cursor: pointer !important;
}
.jd-unified-nav #panel #search input.button:hover, .jd-unified-nav #panel #search input.button:focus { background-color: #e4c27b !important; border-color: #e4c27b !important; }

/* ===== ACCOUNT + ACTIVITY LINKS ===== */
.jd-unified-nav #panel .jd-account-links { order: 2 !important; }
.jd-unified-nav #panel .jd-activity-links { order: 3 !important; }
.jd-unified-nav #panel .jd-account-links, .jd-unified-nav #panel .jd-activity-links {
  display: flex !important; flex: 0 0 auto !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 0 !important;
  margin: 0 !important; padding: 0 !important; list-style: none !important; background: transparent !important; border: 0 !important; float: none !important;
}
.jd-unified-nav #panel .jd-account-links > li, .jd-unified-nav #panel .jd-activity-links > li {
  display: flex !important; align-items: stretch !important; margin: 0 !important; padding: 0 !important; float: none !important;
}
.jd-unified-nav #panel .jd-account-links > li > a, .jd-unified-nav #panel .jd-activity-links > li > a {
  display: flex !important; align-items: center !important; min-height: 52px !important; padding: 0 10px !important; box-sizing: border-box !important;
  color: #e7c779 !important; background: transparent !important; border: 0 !important; border-left: 1px solid rgba(214, 165, 82, .16) !important;
  border-radius: 0 !important; font-size: 10px !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: .32px !important;
  text-decoration: none !important; text-transform: uppercase !important; white-space: nowrap !important;
  transition: background-color .15s ease, color .15s ease !important;
}
.jd-unified-nav #panel .jd-account-links > li > a:hover, .jd-unified-nav #panel .jd-activity-links > li > a:hover, .jd-unified-nav #panel .jd-account-links > li > a:focus, .jd-unified-nav #panel .jd-activity-links > li > a:focus {
  color: #fff5d7 !important; background: rgba(22, 86, 93, .56) !important; text-decoration: none !important;
}

/* ===== MESSAGES + NOTIFICATIONS ===== */
.jd-unified-nav #panel .jd-messages-link > a { gap: 6px !important; }
.jd-unified-nav #panel .jd-messages-label, .jd-unified-nav #panel .jd-messages-usage {
  display: inline-block !important; margin: 0 !important; padding: 0 !important; line-height: 1 !important; white-space: nowrap !important;
}
.jd-unified-nav #panel .jd-messages-usage {
  padding-left: 6px !important; color: #cfc3a6 !important; border-left: 1px solid rgba(214, 165, 82, .28) !important; font-size: 9px !important;
  font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important;
}
.jd-unified-nav #panel .jd-panel-welcome {
  order: 4 !important; display: inline-flex !important; align-items: stretch !important; flex: 0 0 auto !important; min-height: 52px !important;
  margin: 0 0 0 auto !important; padding: 0 !important; box-sizing: border-box !important; color: #f0e2bf !important; background: rgba(3, 18, 29, .18) !important;
  border: 0 !important; border-left: 1px solid rgba(214, 165, 82, .24) !important; border-right: 1px solid rgba(214, 165, 82, .18) !important;
  border-radius: 0 !important; box-shadow: none !important; font-size: 11px !important; font-weight: 700 !important; line-height: 1 !important;
  white-space: nowrap !important; overflow: hidden !important;
}
.jd-unified-nav #panel .jd-panel-welcome::before {
  content: "" !important; flex: 0 0 38px !important; width: 38px !important; min-height: 52px !important; background-color: rgba(214, 165, 82, .045) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='3.5' fill='none' stroke='%23e4c27b' stroke-width='1.8'/%3E%3Cpath d='M5.5 20c.45-4.2 2.65-6.3 6.5-6.3s6.05 2.1 6.5 6.3' fill='none' stroke='%23e4c27b' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: center center !important; border-right: 1px solid rgba(214, 165, 82, .22) !important;
}
.jd-unified-nav #panel .jd-panel-welcome a:not(.logout), .jd-unified-nav #panel .jd-panel-welcome a:not(.logout):link, .jd-unified-nav #panel .jd-panel-welcome a:not(.logout):visited, .jd-unified-nav #panel .jd-panel-welcome strong {
  font-family: Georgia, "Times New Roman", serif !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .15px !important;
}
.jd-unified-nav #panel .jd-panel-welcome a:not(.logout), .jd-unified-nav #panel .jd-panel-welcome a:not(.logout):link, .jd-unified-nav #panel .jd-panel-welcome a:not(.logout):visited {
  display: inline-flex !important; align-items: center !important; min-height: 52px !important; padding: 0 10px !important; color: #d8c8a5 !important;
  text-decoration: none !important;
}
.jd-unified-nav #panel .jd-panel-welcome a:not(.logout):hover, .jd-unified-nav #panel .jd-panel-welcome a:not(.logout):active {
  color: #f0d38a !important; background: rgba(22, 86, 93, .30) !important; text-decoration: none !important;
}
.jd-unified-nav #panel .jd-panel-welcome a.logout, .jd-unified-nav #panel .jd-panel-welcome a.logout:link, .jd-unified-nav #panel .jd-panel-welcome a.logout:visited {
  display: inline-flex !important; align-items: center !important; min-height: 52px !important; margin: 0 !important; padding: 0 10px !important;
  color: #d6a552 !important; background: rgba(2, 14, 24, .18) !important; border-left: 1px solid rgba(214, 165, 82, .22) !important;
  font-family: Arial, Helvetica, sans-serif !important; font-size: 9px !important; font-weight: 700 !important; letter-spacing: .42px !important;
  text-decoration: none !important; text-transform: uppercase !important;
}
.jd-unified-nav #panel .jd-panel-welcome a.logout:hover, .jd-unified-nav #panel .jd-panel-welcome a.logout:focus, .jd-unified-nav #panel .jd-panel-welcome a.logout:active {
  color: #fff0c9 !important; background: rgba(22, 86, 93, .56) !important; text-decoration: none !important;
}
.jd-unified-nav #panel .lower { display: none !important; }
.jd-unified-nav #panel .panel_links, .jd-unified-nav #panel .user_links, .jd-unified-nav #panel .links { float: none !important; }

/* ===== FOOTER — COMPACT RETRO-PIRATE BAR ===== */
#footer.jd-footer {
  clear: both !important; margin: 22px -18px -18px !important; padding: 0 !important; color: #e4c27b !important; background: #061421 !important;
  border-top: 1px solid var(--jd-gold) !important;
}
.jd-footer-bar {
  display: flex; align-items: center; width: 100%; min-height: 54px; padding: 0 18px; box-sizing: border-box;
  background: linear-gradient(90deg, rgba(12, 45, 69, .28), rgba(4, 20, 33, .18)), #061421; border-bottom: 1px solid rgba(214, 165, 82, .28);
}
.jd-footer-mark {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 auto; width: 24px !important;
  margin-right: 12px !important; color: #e4c27b !important; font-size: 0 !important; line-height: 1;
}
/* Footer skull mark. Keep this escaped for MyBB-safe storage. */
.jd-footer-mark::before {
  content: "\2620" !important; display: block !important; color: #e4c27b !important; font-family: "Segoe UI Symbol", Georgia, serif !important; font-size: 21px !important;
  font-weight: normal !important; line-height: 1 !important;
}
.jd-footer-links { display: flex; flex: 0 1 auto; flex-wrap: wrap; align-items: center; list-style: none; margin: 0; padding: 0; }
.jd-footer-links li { position: relative; display: block; margin: 0; padding: 0; }
.jd-footer-links li + li::before { content: "|"; display: inline-block; margin: 0 11px; color: rgba(214, 165, 82, .48); }
.jd-footer-links a:link, .jd-footer-links a:visited { color: #d9a64e !important; font-size: 11px; font-weight: 600; text-decoration: none !important; }
.jd-footer-links a:hover, .jd-footer-links a:active { color: #fff0c9 !important; text-decoration: none !important; }
.jd-footer-powered { flex: 0 0 auto; margin-left: auto; padding-left: 20px; color: #c8b99b; font-size: 11px; white-space: nowrap; }
.jd-footer-powered a:link, .jd-footer-powered a:visited { color: #e4c27b !important; text-decoration: none !important; }
.jd-footer-sub { padding: 6px 18px 9px; color: #8f8a7d; font-size: 10px; text-align: right; }
.jd-footer-sub #current_time { float: none !important; color: #8f8a7d !important; }
#footer .upper, #footer .lower, #footer .bottommenu { background: transparent; }

/* ===== MOBILE USER DROPDOWN ===== */
.jd-mobile-user-menu { display: none !important; }

/* ===== RESPONSIVE HEADER / UNIFIED NAV / FOOTER ===== */
@media (max-width: 1320px) {
  .jd-unified-nav .jd-main-nav > li > a { padding-left: 12px !important; padding-right: 12px !important; font-size: 10px !important; }
  .jd-unified-nav .jd-main-nav a.home, .jd-unified-nav .jd-main-nav a.search, .jd-unified-nav .jd-main-nav a.memberlist, .jd-unified-nav .jd-main-nav a.calendar, .jd-unified-nav .jd-main-nav a.help, .jd-unified-nav .jd-main-nav a.portal {
    padding-left: 12px !important;
  }
  .jd-unified-nav #panel .upper .wrapper > form { flex-basis: 190px !important; max-width: 190px !important; margin-left: 8px !important; margin-right: 6px !important; }
  .jd-unified-nav #panel .jd-account-links > li > a, .jd-unified-nav #panel .jd-activity-links > li > a {
    padding-left: 7px !important; padding-right: 7px !important; font-size: 9px !important;
  }
}
@media (max-width: 1040px) {
  .jd-unified-nav { flex-wrap: wrap !important; padding-left: 10px !important; padding-right: 10px !important; }
  .jd-unified-nav .jd-main-nav { flex: 1 1 100% !important; justify-content: center !important; border-bottom: 1px solid rgba(214, 165, 82, .20) !important; }
  .jd-unified-nav #panel { flex: 1 1 100% !important; }
  .jd-unified-nav #panel .upper .wrapper { min-height: 48px !important; }
  .jd-unified-nav #panel .upper .wrapper > form { flex: 0 1 220px !important; max-width: 220px !important; margin-left: 0 !important; }
  .jd-unified-nav #panel .jd-account-links > li > a, .jd-unified-nav #panel .jd-activity-links > li > a, .jd-unified-nav #panel .jd-panel-welcome, .jd-unified-nav #panel .jd-panel-welcome::before, .jd-unified-nav #panel .jd-panel-welcome a:not(.logout), .jd-unified-nav #panel .jd-panel-welcome a.logout {
    min-height: 48px !important;
  }
}
@media (max-width: 900px) {
  #logo { margin-left: -10px !important; margin-right: -10px !important; height: auto !important; }
  #logo .jd-header-banner img { width: 100% !important; height: auto !important; }

  /* ===== MOBILE HEADER ===== */
  .jd-unified-nav {
    position: relative !important; display: flex !important; align-items: stretch !important; justify-content: space-between !important; flex-wrap: nowrap !important;
    width: calc(100% + 20px) !important; min-height: 44px !important; margin-left: -10px !important; margin-right: -10px !important; padding: 0 !important;
    overflow: visible !important;
  }
  .jd-unified-nav .jd-main-nav {
    display: flex !important; flex: 0 0 auto !important; width: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important;
    overflow: visible !important;
  }
  .jd-unified-nav .jd-main-nav > li { display: none !important; }
  .jd-unified-nav .jd-main-nav > li:first-child { display: flex !important; align-items: stretch !important; }
  .jd-unified-nav .jd-main-nav > li:first-child > a, .jd-unified-nav .jd-main-nav a.home {
    display: flex !important; align-items: center !important; justify-content: center !important; min-width: 86px !important; min-height: 44px !important;
    padding: 0 18px !important; color: #f0e2bf !important; background: transparent !important; border: 0 !important;
    border-right: 1px solid rgba(214,165,82,.22) !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .38px !important;
    text-transform: uppercase !important; text-decoration: none !important;
  }
  .jd-unified-nav .jd-main-nav > li:first-child > a:hover, .jd-unified-nav .jd-main-nav > li:first-child > a:focus, .jd-unified-nav .jd-main-nav > li:first-child > a:active {
    color: #fff5d7 !important; background: rgba(22,86,93,.56) !important; text-decoration: none !important;
  }
  .jd-unified-nav #panel, .jd-unified-nav #panel .upper {
    display: flex !important; flex: 1 1 auto !important; align-items: stretch !important; min-width: 0 !important; width: auto !important; overflow: visible !important;
  }
  .jd-unified-nav #panel .upper .wrapper {
    position: relative !important; display: flex !important; flex: 1 1 auto !important; align-items: stretch !important; justify-content: flex-end !important;
    flex-wrap: nowrap !important; width: 100% !important; min-width: 0 !important; min-height: 44px !important; margin: 0 !important; padding: 0 !important;
    gap: 0 !important; overflow: visible !important;
  }
  .jd-unified-nav #panel .upper .wrapper > form, .jd-unified-nav #panel .jd-account-links, .jd-unified-nav #panel .jd-activity-links, .jd-unified-nav #panel .jd-panel-welcome {
    display: none !important;
  }
  .jd-unified-nav .jd-mobile-user-menu {
    position: relative !important; display: block !important; flex: 0 1 auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important;
    z-index: 5000 !important;
  }
  .jd-unified-nav .jd-mobile-user-menu > summary {
    display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 9px !important; min-height: 44px !important;
    max-width: 68vw !important; padding: 0 16px !important; box-sizing: border-box !important; color: #e4cfa5 !important; background: transparent !important;
    border-left: 1px solid rgba(214,165,82,.22) !important; font-family: Georgia, "Times New Roman", serif !important; font-size: 13px !important;
    font-weight: 700 !important; line-height: 1 !important; letter-spacing: .12px !important; white-space: nowrap !important; cursor: pointer !important;
    list-style: none !important; -webkit-tap-highlight-color: transparent !important;
  }
  .jd-unified-nav .jd-mobile-user-menu > summary::-webkit-details-marker { display: none !important; }
  .jd-unified-nav .jd-mobile-user-menu > summary::marker { content: "" !important; }
  .jd-unified-nav .jd-mobile-user-menu > summary::after {
    content: "" !important; flex: 0 0 6px !important; width: 6px !important; height: 6px !important; border: solid #d6a552 !important;
    border-width: 0 1.5px 1.5px 0 !important; transform: translateY(-2px) rotate(45deg) !important; transition: transform .15s ease !important;
  }
  .jd-unified-nav .jd-mobile-user-menu[open] > summary { color: #fff3d1 !important; background: rgba(22,86,93,.36) !important; }
  .jd-unified-nav .jd-mobile-user-menu[open] > summary::after { transform: translateY(2px) rotate(-135deg) !important; }
  .jd-unified-nav .jd-mobile-user-dropdown {
    position: absolute !important; top: calc(100% + 1px) !important; right: 0 !important; width: min(270px, calc(100vw - 20px)) !important; margin: 0 !important;
    padding: 6px !important; box-sizing: border-box !important; color: #f0e2bf !important;
    background: linear-gradient(to bottom, rgba(12,45,69,.96), rgba(5,24,39,.99)) !important; border: 1px solid #b9812f !important;
    border-top: 2px solid #d6a552 !important; box-shadow: 0 10px 24px rgba(0,0,0,.38) !important; z-index: 5100 !important;
  }
  .jd-unified-nav .jd-mobile-user-dropdown a, .jd-unified-nav .jd-mobile-user-dropdown a:link, .jd-unified-nav .jd-mobile-user-dropdown a:visited {
    display: flex !important; align-items: center !important; justify-content: space-between !important; min-height: 39px !important; padding: 0 11px !important;
    box-sizing: border-box !important; color: #ead7aa !important; background: transparent !important; border: 0 !important;
    border-bottom: 1px solid rgba(214,165,82,.13) !important; font-family: Arial, Helvetica, sans-serif !important; font-size: 10px !important;
    font-weight: 700 !important; letter-spacing: .34px !important; text-transform: uppercase !important; text-decoration: none !important;
  }
  .jd-unified-nav .jd-mobile-user-dropdown a:hover, .jd-unified-nav .jd-mobile-user-dropdown a:focus, .jd-unified-nav .jd-mobile-user-dropdown a:active {
    color: #fff5d7 !important; background: rgba(22,86,93,.62) !important; text-decoration: none !important;
  }
  .jd-unified-nav .jd-mobile-user-dropdown .jd-mobile-menu-count { margin-left: 10px !important; color: #d6a552 !important; font-size: 10px !important; font-weight: 400 !important; }
  .jd-unified-nav .jd-mobile-user-dropdown .jd-mobile-menu-divider { height: 1px !important; margin: 6px 4px !important; background: rgba(214,165,82,.35) !important; }
  .jd-unified-nav .jd-mobile-user-dropdown .jd-mobile-staff-links { margin: 0 !important; padding: 0 !important; list-style: none !important; }
  .jd-unified-nav .jd-mobile-user-dropdown .jd-mobile-staff-links:empty { display: none !important; }
  .jd-unified-nav .jd-mobile-user-dropdown .jd-mobile-staff-links li { display: block !important; margin: 0 !important; padding: 0 !important; }
  .jd-unified-nav .jd-mobile-user-dropdown .jd-mobile-logout { color: #d6a552 !important; border-bottom: 0 !important; }
  #footer.jd-footer { margin-left: -10px !important; margin-right: -10px !important; margin-bottom: -18px !important; }
  .jd-footer-bar { flex-wrap: wrap; padding: 12px; }
  .jd-footer-links { width: 100%; justify-content: center; }
  .jd-footer-powered { width: 100%; margin: 10px 0 0; padding: 0; text-align: center; white-space: normal; }
  .jd-footer-sub { text-align: center; }
}

/* ===== PORTAL + ACTION BUTTONS ===== */

/* ===== JERSEY DEVIL — PORTAL + NEW THREAD / NEW REPLY ===== */

/* ===== PORTAL PAGE ===== */
.jd-portal { width: 100%; box-sizing: border-box; }
.jd-portal-top { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; margin-bottom: 16px; }
.jd-portal-middle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: stretch; margin-bottom: 16px; }
.jd-portal-card { min-width: 0; }
.jd-portal-card > br, .jd-portal-latest > br { display: none; }
.jd-portal .tborder { width: 100% !important; margin: 0 !important; box-sizing: border-box; }
.jd-portal .thead { padding: 9px 12px !important; font-size: 14px !important; }
.jd-portal .thead strong, .jd-portal .thead a { color: #e4c27b !important; }
.jd-portal .trow1, .jd-portal .trow2 {
  padding: 12px !important; color: #2d291f !important; background-color: #efe1bc !important;
  background-image: linear-gradient(rgba(255,249,232,.68), rgba(236,220,184,.68)), url(../../../images/parchment-texture.png) !important; background-size: 420px 420px !important;
}
.jd-portal .trow1 .smalltext, .jd-portal .trow2 .smalltext, .jd-portal .trow1 span, .jd-portal .trow2 span { color: #4b4336 !important; }
.jd-portal .trow1 a:link, .jd-portal .trow1 a:visited, .jd-portal .trow2 a:link, .jd-portal .trow2 a:visited { color: #07536a !important; }
.jd-portal .trow1 a:hover, .jd-portal .trow2 a:hover { color: #8a5a20 !important; }
.jd-portal input.portal_search { width: calc(100% - 70px) !important; max-width: none !important; height: 34px; box-sizing: border-box; }
.jd-portal input.button { min-height: 34px; }
.jd-portal-latest { margin-bottom: 16px; }
.jd-portal-latest .tborder { table-layout: fixed; }
.jd-portal-latest td { padding: 10px 12px !important; }
.jd-portal-announcements .tborder { margin-bottom: 16px !important; }

/* ===== POST THREAD / NEW REPLY BUTTONS ===== */
a.button.new_thread_button, a.button.new_reply_button, a.button.closed_button {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 38px !important; margin: 4px 0 8px 8px !important;
  padding: 0 !important; color: #fff0c9 !important; background: linear-gradient(to bottom, #1a6269 0%, #10484f 100%) !important; border: 1px solid #d6a552 !important;
  border-radius: 6px !important; box-shadow: 0 2px 5px rgba(0,0,0,.18), 0 0 0 1px rgba(255,238,194,.07) inset !important;
  font-family: Georgia, "Times New Roman", serif !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .7px !important;
  text-decoration: none !important; text-transform: uppercase !important;
}
a.button.new_thread_button:link, a.button.new_thread_button:visited, a.button.new_thread_button:hover, a.button.new_thread_button:active, a.button.new_reply_button:link, a.button.new_reply_button:visited, a.button.new_reply_button:hover, a.button.new_reply_button:active, a.button.closed_button:link, a.button.closed_button:visited, a.button.closed_button:hover, a.button.closed_button:active {
  color: #fff0c9 !important; text-decoration: none !important;
}
a.button.new_thread_button span, a.button.new_reply_button span, a.button.closed_button span {
  display: block !important; padding: 10px 17px !important; color: #fff0c9 !important; background-image: none !important; line-height: 1 !important;
}
a.button.new_thread_button:hover, a.button.new_reply_button:hover {
  color: #ffffff !important; background: linear-gradient(to bottom, #23757c 0%, #15575e 100%) !important; border-color: #e4c27b !important;
}
a.button.closed_button { opacity: .7; cursor: default; }

/* ===== RESPONSIVE PORTAL ===== */
@media (max-width: 1100px) {
  .jd-portal-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jd-portal-middle { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .jd-portal-top, .jd-portal-middle { grid-template-columns: 1fr; }
  a.button.new_thread_button, a.button.new_reply_button, a.button.closed_button { margin-left: 4px !important; }
}

/* ===== JERSEY DEVIL — PINNED THREADS DASHBOARD v3 ===== */
.jd-pinned-card {
  position: relative; width: 100%; margin: 0 0 16px; padding: 0; box-sizing: border-box; overflow: visible; color: #efe1bc;
  background: linear-gradient(rgba(5, 24, 39, .96), rgba(5, 24, 39, .985)), url(../../../images/body-texture.png); border: 1px solid #b68135;
  box-shadow: 0 4px 14px rgba(0,0,0,.28), inset 0 0 0 3px rgba(214,165,82,.07), inset 0 0 0 5px rgba(3,17,28,.72);
}
.jd-pinned-compass {
  position: absolute; z-index: 4; top: -18px; left: 50%; width: 36px; height: 36px; transform: translateX(-50%);
  background: url(../../../images/pinned-compass.png) center/contain no-repeat; filter: drop-shadow(0 2px 3px rgba(0,0,0,.45)); pointer-events: none;
}
.jd-pinned-header {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; min-height: 52px; padding: 18px 12px 9px; box-sizing: border-box;
  background: linear-gradient(to bottom, rgba(10,48,72,.96), rgba(5,28,45,.98)); border-bottom: 1px solid rgba(214,165,82,.62);
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.28);
}
.jd-pinned-title {
  display: flex; align-items: center; min-width: 0; color: #e4c27b; font-family: Georgia, "Times New Roman", serif; font-size: 14px; font-weight: 700;
  letter-spacing: .55px; line-height: 1; text-transform: uppercase;
}
.jd-pinned-pin-icon { display: inline-block; flex: 0 0 18px; width: 18px; height: 18px; margin-right: 6px; background: url(../../../images/pinned-pin.png) center/18px 18px no-repeat; }
.jd-pinned-count { flex: 0 0 auto; color: #e4c27b; font-family: Georgia, "Times New Roman", serif; font-size: 11px; font-weight: 700; letter-spacing: .8px; }
.jd-pinned-list { padding: 4px 12px 5px; }
.jd-pin-item {
  display: grid; grid-template-columns: 36px minmax(0, 1fr) 22px; align-items: center; gap: 9px; min-height: 70px; padding: 9px 0; box-sizing: border-box;
  border-bottom: 1px solid rgba(214,165,82,.24);
}
.jd-pin-item:last-child { border-bottom: 0; }
.jd-pin-avatar {
  display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; overflow: hidden; color: #e4c27b; background: #092238;
  border: 1px solid #b68135; border-radius: 50%; box-shadow: 0 2px 5px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,240,199,.08);
  font-family: Georgia, "Times New Roman", serif; font-size: 13px; font-weight: 700;
}
.jd-pin-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.jd-pin-avatar-fallback { background: radial-gradient(circle at 35% 30%, #174c5c 0%, #092238 68%); }
.jd-pin-item-content { min-width: 0; }
.jd-pin-topline { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 6px; min-width: 0; }
.jd-pin-subject {
  display: block; min-width: 0; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #f0dfb5 !important;
  font-family: Georgia, "Times New Roman", serif; font-size: 12px; font-weight: 700; line-height: 1.2; text-decoration: none !important;
}
.jd-pin-subject:hover { color: #ffffff !important; }
.jd-pin-date { flex: 0 0 auto; color: #d8c69c; font-size: 9px; line-height: 1.2; white-space: nowrap; }
.jd-pin-forum { margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #b8a77f; font-size: 10px; line-height: 1.3; }
.jd-pin-turn {
  display: flex; align-items: center; justify-content: space-between; gap: 6px; width: 100%; min-width: 0; margin-top: 6px; padding: 3px 7px; box-sizing: border-box;
  border: 1px solid; border-radius: 999px; background: rgba(2, 18, 31, .46); line-height: 1.15;
}
.jd-pin-turn-label {
  flex: 0 0 auto; font-family: Georgia, "Times New Roman", serif; font-size: 9px; font-weight: 700; letter-spacing: .55px; text-transform: uppercase; white-space: nowrap;
}
.jd-pin-turn-label::before { display: inline-block; width: 12px; margin-right: 3px; text-align: center; }
.jd-pin-turn-yours {
  color: #e4c27b; border-color: rgba(214,165,82,.88); background: linear-gradient(to right, rgba(126,86,25,.18), rgba(5,28,45,.55));
  box-shadow: inset 0 0 8px rgba(214,165,82,.05);
}
/* Other writer posted last: YOU are up. Four-point star = your turn. */
.jd-pin-turn-yours .jd-pin-turn-label::before { content: "\2726"; color: #e4c27b; font-family: Arial, "Segoe UI Symbol", sans-serif; }
.jd-pin-turn-theirs {
  color: #78c8bd; border-color: rgba(83,170,164,.82); background: linear-gradient(to right, rgba(20,91,91,.18), rgba(5,28,45,.55));
  box-shadow: inset 0 0 8px rgba(83,170,164,.05);
}
/* Logged-in writer posted last: the OTHER writer is up. Anchor = their turn. */
.jd-pin-turn-theirs .jd-pin-turn-label::before { content: "\2693"; color: #78c8bd; font-family: Arial, "Segoe UI Symbol", sans-serif; }
.jd-pin-turn-last { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #b8a77f; font-size: 8px; text-align: right; }
.jd-pin-turn-yours .jd-pin-turn-last { color: #cdb987; }
.jd-pin-turn-theirs .jd-pin-turn-last { color: #86bcb4; }
.jd-pin-turn-last a:link, .jd-pin-turn-last a:visited { color: inherit !important; text-decoration: none !important; }
.jd-pin-turn-last a:hover { color: #ffffff !important; }
.jd-pin-last-neutral { margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #8f856f; font-size: 8px; }
.jd-pin-last-neutral a:link, .jd-pin-last-neutral a:visited { color: #ac9c79 !important; text-decoration: none !important; }
.jd-pin-remove-form { margin: 0; padding: 0; }
.jd-pin-remove {
  display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin: 0; padding: 0; color: #caaa69; background: #082237;
  border: 1px solid rgba(214,165,82,.58); border-radius: 2px; font: 700 14px/1 Arial, sans-serif; cursor: pointer;
  transition: background .14s ease, color .14s ease, border-color .14s ease;
}
.jd-pin-remove:hover { color: #fff3cf; background: #16565e; border-color: #e4c27b; }
.jd-pin-empty { padding: 15px 6px 16px; color: #b9ad91; font-size: 11px; line-height: 1.55; text-align: center; }
.jd-pin-empty strong { color: #e4c27b; font-family: Georgia, "Times New Roman", serif; }
.jd-pin-thread-form { display: inline-block; margin: 4px 0 8px 8px; vertical-align: top; }
.jd-pin-thread-button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 15px; color: #fff0c9 !important;
  background: linear-gradient(to bottom, #1a6269 0%, #10484f 100%); border: 1px solid #d6a552; border-radius: 6px;
  box-shadow: 0 2px 5px rgba(0,0,0,.18), 0 0 0 1px rgba(255,238,194,.07) inset; font-family: Georgia, "Times New Roman", serif; font-size: 12px; font-weight: 700;
  letter-spacing: .7px; text-transform: uppercase; cursor: pointer;
}
.jd-pin-thread-button::before { content: ""; width: 16px; height: 16px; margin-right: 7px; background: url(../../../images/pinned-pin.png) center/16px 16px no-repeat; }
.jd-pin-thread-button:hover { color: #ffffff !important; background: linear-gradient(to bottom, #23757c 0%, #15575e 100%); border-color: #e4c27b; }
.jd-pin-thread-form.is-pinned .jd-pin-thread-button { background: linear-gradient(to bottom, #76552f 0%, #59401f 100%); }
@media (max-width: 1300px) and (min-width: 981px) {
  .jd-pin-item { grid-template-columns: 34px minmax(0, 1fr) 20px; gap: 8px; }
  .jd-pin-date { display: none; }
  .jd-pin-turn-last { max-width: 86px; }
}
@media (max-width: 980px) {
  .jd-pinned-card { margin-top: 18px; }
  .jd-pin-item { grid-template-columns: 40px minmax(0, 1fr) 28px; min-height: 76px; padding: 10px 0; }
  .jd-pin-avatar { width: 36px; height: 36px; }
  .jd-pin-subject { font-size: 13px; }
  .jd-pin-date { font-size: 10px; }
  .jd-pin-turn-label { font-size: 10px; }
  .jd-pin-turn-last { font-size: 9px; }
  .jd-pin-remove { width: 26px; height: 26px; }
  .jd-pin-thread-form { margin-left: 4px; }
}
@media (max-width: 560px) {
  .jd-pin-topline { grid-template-columns: minmax(0, 1fr); }
  .jd-pin-date { display: none; }
  .jd-pin-turn-last { max-width: 48%; }
}

/* ===== JERSEY DEVIL — MOBILE PINNED THREAD POSITION ===== */
.jd-mobile-pins { display: none; }
.jd-desktop-pins { display: block; }
@media (max-width: 980px) {
  .jd-index-layout { display: block; }
  .jd-mobile-pins { display: block; width: 100%; margin: 0 0 16px; }
  .jd-desktop-pins { display: none; }
  .jd-mobile-pins .jd-pinned-card { margin-top: 0; margin-bottom: 16px; }
  .jd-index-main { width: 100%; }
  .jd-index-sidebar { width: 100%; margin-top: 16px; }
}

/* ===== ACTIVE MAIN NAV LINK ===== */
.jd-main-nav a.jd-nav-active { background: rgba(214, 165, 82, 0.12); color: var(--jd-gold-soft) !important; box-shadow: inset 0 -2px 0 var(--jd-gold); }
.jd-main-nav a.jd-nav-active:hover { background: rgba(214, 165, 82, 0.18); color: var(--jd-cream) !important; }

/* ===== SHOWTHREAD — STORY ARC BUTTON ===== */
a.jd-story-arc-thread-button, a.jd-story-arc-thread-button:link, a.jd-story-arc-thread-button:visited {
  display: inline-flex; align-items: center; justify-content: center; min-height: 38px; margin: 4px 0 8px 8px; padding: 0 15px; color: #fff0c9 !important;
  background: linear-gradient(to bottom, #1a6269 0%, #10484f 100%); border: 1px solid #d6a552; border-radius: 6px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .18), inset 0 0 0 1px rgba(255, 238, 194, .07); font-family: Georgia, "Times New Roman", serif; font-size: 12px; font-weight: 700;
  line-height: 1; letter-spacing: .7px; text-transform: uppercase; text-decoration: none !important; vertical-align: top; cursor: pointer;
}
a.jd-story-arc-thread-button:hover, a.jd-story-arc-thread-button:active {
  color: #fff !important; background: linear-gradient(to bottom, #23757c 0%, #15575e 100%); border-color: #e4c27b; text-decoration: none !important;
}
@media (max-width: 980px) {
  a.jd-story-arc-thread-button { margin-left: 4px; }
}

/* ===== JERSEY DEVIL — STORY ARCHIVE THREAD NAVIGATION ===== */
.jd-story-thread-nav {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 210px) minmax(0, 1fr); gap: 10px; align-items: stretch; width: 100%; margin: 14px 0;
  box-sizing: border-box;
}
.jd-story-nav-side, .jd-story-nav-archive {
  display: flex; flex-direction: column; justify-content: center; min-width: 0; min-height: 62px; box-sizing: border-box; text-decoration: none !important;
}
.jd-story-nav-side {
  padding: 10px 13px; color: var(--jd-cream, #f3e6c4) !important; background: linear-gradient(rgba(7, 31, 48, .94), rgba(7, 31, 48, .94)), url(../../../images/body-texture.png);
  border: 1px solid var(--jd-gold, #d6a552);
}
.jd-story-nav-prev { text-align: left; }
.jd-story-nav-next { text-align: right; }
.jd-story-nav-kicker {
  display: block; margin-bottom: 4px; color: var(--jd-gold-soft, #e4c27b); font-family: Georgia, "Times New Roman", serif; font-size: 10px; font-weight: 700;
  letter-spacing: .8px; line-height: 1.2; text-transform: uppercase;
}
.jd-story-nav-title {
  display: block; overflow: hidden; color: var(--jd-cream, #f3e6c4); font-family: Georgia, "Times New Roman", serif; font-size: 13px; font-weight: 700; line-height: 1.3;
  text-overflow: ellipsis; white-space: nowrap;
}
.jd-story-nav-archive {
  align-items: center; padding: 9px 12px; color: #fff1ca !important; background: linear-gradient(to bottom, #1a5e64 0%, #10464f 100%);
  border: 1px solid var(--jd-gold, #d6a552); text-align: center;
}
.jd-story-nav-archive-label {
  display: block; color: #fff1ca; font-family: Georgia, "Times New Roman", serif; font-size: 12px; font-weight: 700; letter-spacing: 1px; line-height: 1.2;
  text-transform: uppercase;
}
.jd-story-nav-archive-name {
  display: block; max-width: 100%; margin-top: 4px; overflow: hidden; color: var(--jd-gold-soft, #e4c27b); font-size: 10px; line-height: 1.25; text-overflow: ellipsis;
  white-space: nowrap;
}
.jd-story-nav-side:hover, .jd-story-nav-side:focus { color: #ffffff !important; background: linear-gradient(rgba(12, 65, 75, .96), rgba(12, 65, 75, .96)), url(../../../images/body-texture.png); }
.jd-story-nav-archive:hover, .jd-story-nav-archive:focus { color: #ffffff !important; background: linear-gradient(to bottom, #24747a 0%, #155760 100%); }
.jd-story-nav-side:hover .jd-story-nav-title, .jd-story-nav-side:focus .jd-story-nav-title, .jd-story-nav-archive:hover .jd-story-nav-archive-label, .jd-story-nav-archive:focus .jd-story-nav-archive-label {
  color: #ffffff;
}
.jd-story-nav-side.is-empty { visibility: hidden; pointer-events: none; }
@media (max-width: 700px) {
  .jd-story-thread-nav { grid-template-columns: minmax(0, 1fr) 86px minmax(0, 1fr); gap: 6px; margin: 10px 0; }
  .jd-story-nav-side, .jd-story-nav-archive { min-height: 56px; }
  .jd-story-nav-side { padding: 8px; }
  .jd-story-nav-kicker { margin-bottom: 3px; font-size: 8px; letter-spacing: .35px; }
  .jd-story-nav-title { display: -webkit-box; overflow: hidden; font-size: 10px; line-height: 1.25; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .jd-story-nav-archive { padding: 7px 5px; }
  .jd-story-nav-archive-label { font-size: 9px; letter-spacing: .4px; }
  .jd-story-nav-archive-name { font-size: 8px; line-height: 1.15; white-space: normal; }
}

/* ===== JERSEY DEVIL — QUICK REPLY / POSTING WORKSPACE ===== */
.jd-reply-shell {
  --jd-reply-navy: #062b40; --jd-reply-deep: #031c2c; --jd-reply-dark: #021521; --jd-reply-gold: #c99b3d; --jd-reply-gold-soft: #dfbd70; --jd-reply-paper: #f5e8bf;
  --jd-reply-paper-light: #fbf1d1; --jd-reply-ink: #3d3326; width: 100%; overflow: hidden;
}
.jd-reply-title { padding: 8px 12px !important; border-bottom: 1px solid var(--jd-reply-gold); }
.jd-reply-title-text { display: flex; align-items: center; text-transform: uppercase; letter-spacing: .05em; }
.jd-reply-main { padding: 10px !important; background: linear-gradient(180deg, rgba(6, 43, 64, .96), rgba(3, 28, 44, .98)) !important; }
.jd-reply-context {
  display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 10px; padding: 10px 14px; background: var(--jd-reply-deep);
  border: 1px solid rgba(201, 155, 61, .55); border-left: 3px solid var(--jd-reply-gold);
}
.jd-reply-context > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; }
.jd-reply-context-label { color: #b5aa91; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.jd-reply-context-title { color: var(--jd-reply-gold-soft); font-size: 14px; font-weight: normal; }
.jd-reply-context-page { flex: 0 0 auto; color: #aaa18d; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.jd-reply-identity {
  display: flex; align-items: center; gap: 12px; margin-bottom: 10px; padding: 9px 12px; color: var(--jd-reply-ink); background: var(--jd-reply-paper);
  border: 1px solid var(--jd-reply-gold); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3), 0 2px 5px rgba(0, 0, 0, .15);
}
.jd-reply-avatar { flex: 0 0 54px; width: 54px; height: 54px; padding: 2px; background: var(--jd-reply-deep); border: 1px solid var(--jd-reply-gold); }
.jd-reply-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.jd-reply-userinfo { min-width: 0; }
.jd-reply-eyebrow { margin-bottom: 1px; color: #766951; font-size: 8px; font-weight: bold; letter-spacing: .12em; text-transform: uppercase; }
.jd-reply-username { color: var(--jd-reply-ink) !important; font-size: 16px; line-height: 1.15; text-decoration: none !important; }
.jd-reply-username:hover, .jd-reply-username:focus { color: #7d5f20 !important; text-decoration: none !important; }
.jd-reply-user-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 3px; color: #786d5d; font-size: 9px; }
.jd-reply-meta-dot { color: var(--jd-reply-gold); }
.jd-reply-topgrid { display: grid; grid-template-columns: 1fr; gap: 10px; margin-bottom: 10px; }
.jd-reply-topgrid:has(.jd-reply-reference) { grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); }
.jd-reply-identity-card, .jd-reply-reference-card {
  height: 100%; box-sizing: border-box; overflow: hidden; background: var(--jd-reply-paper); border: 1px solid var(--jd-reply-gold);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25), 0 2px 5px rgba(0,0,0,.15);
}
.jd-reply-identity-heading, .jd-reply-reference-card > summary {
  box-sizing: border-box; min-height: 36px; padding: 8px 11px; color: var(--jd-reply-gold-soft); background: var(--jd-reply-deep);
  border-bottom: 1px solid rgba(201,155,61,.45); font-size: 8px; font-weight: bold; letter-spacing: .1em; text-transform: uppercase;
}
.jd-reply-identity-heading { display: flex; align-items: center; }
.jd-reply-identity-card .jd-reply-identity { margin: 0; padding: 11px 12px; background: transparent; border: 0; box-shadow: none; }
.jd-reply-topgrid .jd-reply-identity { min-height: 72px; }
.jd-reply-topgrid .jd-reply-avatar { flex-basis: 48px; width: 48px; height: 48px; }
.jd-reply-topgrid .jd-reply-username { font-size: 15px; }
.jd-reply-reference { min-width: 0; margin: 0; }
.jd-reply-reference-card > summary {
  position: relative; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-right: 34px; cursor: pointer; list-style: none;
}
.jd-reply-reference-card > summary::-webkit-details-marker { display: none; }
.jd-reply-reference-card > summary::marker { content: ""; }
.jd-reply-reference-card > summary::after {
  content: ""; position: absolute; top: 50%; right: 13px; width: 6px; height: 6px; border: solid var(--jd-reply-gold); border-width: 0 1.5px 1.5px 0;
  transform: translateY(-65%) rotate(45deg); transition: transform .15s ease;
}
.jd-reply-reference-card[open] > summary::after { transform: translateY(-30%) rotate(-135deg); }
.jd-reply-reference-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; min-width: 0; }
.jd-reply-reference-label { color: #a99f89; font-size: 8px; font-weight: bold; letter-spacing: .1em; text-transform: uppercase; }
.jd-reply-reference-heading strong {
  overflow: hidden; color: var(--jd-reply-gold-soft); font-family: inherit; font-size: 10px; font-weight: normal; letter-spacing: 0; text-transform: none;
  text-overflow: ellipsis; white-space: nowrap;
}
.jd-reply-reference-time { flex: 0 0 auto; color: #a99f89; font-size: 8px; font-weight: normal; letter-spacing: 0; text-transform: none; white-space: nowrap; }
.jd-reply-reference-body { display: flex; align-items: flex-start; gap: 11px; min-height: 72px; padding: 11px 12px; box-sizing: border-box; }
.jd-reply-reference-avatar {
  display: flex; align-items: center; justify-content: center; flex: 0 0 48px; width: 48px; height: 48px; overflow: hidden; color: var(--jd-reply-gold-soft);
  background: var(--jd-reply-deep); border: 1px solid var(--jd-reply-gold); font-family: Georgia, "Times New Roman", serif; font-size: 16px; font-weight: bold;
}
.jd-reply-reference-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.jd-reply-reference-avatar-fallback { background: radial-gradient(circle at 35% 30%, #16565d 0%, #031c2c 72%); }
.jd-reply-reference-copy { min-width: 0; flex: 1; }
.jd-reply-reference-copy p {
  display: -webkit-box; margin: 0; overflow: hidden; color: #463d30; font-family: Georgia, "Times New Roman", serif; font-size: 11px; line-height: 1.5;
  -webkit-box-orient: vertical; -webkit-line-clamp: 3;
}
@media (max-width: 700px) {
  .jd-reply-topgrid, .jd-reply-topgrid:has(.jd-reply-reference) { grid-template-columns: 1fr; }
  .jd-reply-identity-heading, .jd-reply-reference-card > summary { min-height: 38px; padding-top: 8px; padding-bottom: 8px; }
  .jd-reply-topgrid .jd-reply-identity { min-height: 0; }
  .jd-reply-reference-body { min-height: 0; padding: 10px; }
  .jd-reply-reference-avatar { flex-basis: 42px; width: 42px; height: 42px; }
  .jd-reply-reference-copy p { font-size: 12px; line-height: 1.5; -webkit-line-clamp: 4; }
}
.jd-reply-editor { overflow: hidden; background: var(--jd-reply-deep); border: 1px solid var(--jd-reply-gold); }
.jd-reply-editor-heading {
  display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; background: var(--jd-reply-deep);
  border-bottom: 1px solid rgba(201, 155, 61, .55);
}
.jd-reply-editor-heading > div { display: flex; align-items: center; gap: 10px; }
.jd-reply-step { color: var(--jd-reply-gold-soft); font-size: 11px; font-weight: bold; letter-spacing: .08em; text-transform: uppercase; }
.jd-reply-editor-note { color: #918a7a; font-size: 9px; }
.jd-reply-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 3px; padding: 5px 7px; background: #031e2e; border-bottom: 1px solid rgba(201, 155, 61, .55); }
.jd-reply-tool {
  box-sizing: border-box; min-width: 29px; height: 27px; padding: 0 8px; color: #e8dcb9; background: #072a3d; border: 1px solid #66532d; border-radius: 2px;
  font-family: inherit; font-size: 10px; line-height: 25px; text-align: center; cursor: pointer;
}
.jd-reply-tool:hover, .jd-reply-tool:focus { color: #f2d98e; background: #0b3b50; border-color: var(--jd-reply-gold); outline: 0; }
.jd-reply-tool-text { min-width: 46px; }
.jd-reply-toolbar-divider { display: block; width: 1px; height: 18px; margin: 0 4px; background: rgba(201, 155, 61, .4); }
.jd-reply-textarea-wrap { padding: 5px; background: var(--jd-reply-paper); }
.jd-reply-textarea-wrap textarea {
  display: block; box-sizing: border-box; width: 100%; min-height: 300px; margin: 0; padding: 18px 20px; resize: vertical; color: var(--jd-reply-ink);
  background: linear-gradient(rgba(255, 255, 255, .12), rgba(255, 255, 255, .12)), var(--jd-reply-paper); border: 0; outline: 0; font: inherit; font-size: 13px;
  line-height: 1.7;
}
.jd-reply-textarea-wrap textarea:focus { background: var(--jd-reply-paper-light); box-shadow: inset 0 0 0 1px rgba(201, 155, 61, .4); }
.jd-reply-textarea-wrap textarea::placeholder { color: #a99d83; }
.jd-reply-status {
  display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 28px; padding: 0 11px; color: #a9a18e; background: #031e2e;
  border-top: 1px solid rgba(201, 155, 61, .28); font-size: 9px;
}
.jd-reply-counts { display: flex; align-items: center; gap: 7px; }
.jd-reply-counts strong { color: #d5c8a8; font-weight: normal; }
.jd-reply-status-dot { color: #8c7135; }
.jd-reply-draft-status { color: #8eaa98; text-align: right; }
.jd-reply-multiquote {
  box-sizing: border-box; width: auto !important; margin: 0 !important; padding: 8px 12px !important; background: rgba(0, 0, 0, .16); border: 0;
  border-top: 1px solid rgba(201, 155, 61, .25);
}
.jd-reply-options { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; padding: 8px 12px; color: #c4bca8; border-top: 1px solid rgba(201, 155, 61, .25); font-size: 9px; }
.jd-reply-options label { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
.jd-reply-options input[type="checkbox"] { margin: 0; }
.jd-reply-actions {
  display: flex !important; align-items: center; justify-content: flex-end; gap: 7px; padding: 9px 12px !important; background: var(--jd-reply-dark) !important;
  border-top: 1px solid var(--jd-reply-gold); text-align: right !important;
}
.jd-reply-actions-right { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.jd-reply-button {
  min-width: 110px; margin: 0 !important; padding: 7px 15px !important; border-radius: 2px !important; font-size: 9px !important; font-weight: bold;
  letter-spacing: .07em; text-transform: uppercase; cursor: pointer;
}
.jd-reply-preview { color: #e7ddc8 !important; background: #092c3d !important; border: 1px solid #72613c !important; }
.jd-reply-preview:hover, .jd-reply-preview:focus { background: #103a4d !important; border-color: var(--jd-reply-gold) !important; }
.jd-reply-submit { color: #f7e9bd !important; background: #0d4a4b !important; border: 1px solid var(--jd-reply-gold) !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.jd-reply-submit:hover, .jd-reply-submit:focus { background: #126061 !important; }
@media (max-width: 700px) {
  .jd-reply-main { padding: 6px !important; }
  .jd-reply-context { align-items: flex-start; padding: 9px 10px; }
  .jd-reply-context > div { display: block; }
  .jd-reply-context-label { display: block; margin-bottom: 2px; }
  .jd-reply-context-title { display: block; font-size: 13px; }
  .jd-reply-context-page { display: none; }
  .jd-reply-identity { gap: 10px; padding: 10px; }
  .jd-reply-avatar { flex-basis: 52px; width: 52px; height: 52px; }
  .jd-reply-username { font-size: 16px; }
  .jd-reply-editor-note { display: none; }
  .jd-reply-toolbar {
    display: flex; align-items: center; flex-wrap: nowrap; gap: 4px; width: 100%; padding: 5px 6px; box-sizing: border-box; overflow-x: auto; overflow-y: hidden;
    -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: rgba(214, 165, 82, .55) transparent;
  }
  .jd-reply-toolbar::-webkit-scrollbar { height: 3px; }
  .jd-reply-toolbar::-webkit-scrollbar-track { background: transparent; }
  .jd-reply-toolbar::-webkit-scrollbar-thumb { background: rgba(214, 165, 82, .55); border-radius: 999px; }
  .jd-reply-tool { flex: 0 0 auto; min-width: 36px; height: 34px; padding: 0 9px; font-size: 11px; line-height: 32px; touch-action: manipulation; }
  .jd-reply-tool-text { min-width: auto; padding-left: 11px; padding-right: 11px; }
  .jd-reply-toolbar-divider { flex: 0 0 1px; width: 1px; height: 20px; margin: 0 3px; }
  .jd-reply-textarea-wrap { padding: 3px; }
  .jd-reply-textarea-wrap textarea { min-height: 360px; padding: 14px; font-size: 14px; line-height: 1.65; }
  .jd-reply-status { align-items: flex-start; flex-direction: column; gap: 2px; padding: 6px 9px; }
  .jd-reply-draft-status { text-align: left; }
  .jd-reply-options { align-items: flex-start; flex-direction: column; gap: 7px; }
  .jd-reply-actions { padding: 8px !important; }
  .jd-reply-actions-right { width: 100%; gap: 7px; }
  .jd-reply-actions-right .jd-reply-button { flex: 1; min-width: 0; padding: 9px 7px !important; }
}

/* ===== JERSEY DEVIL — FULL REPLY / NEWREPLY WORKSPACE ===== */
.jd-fullreply-page { width: 100%; min-width: 0; margin: 0; }
.jd-fullreply-shell { margin: 0 0 16px; background: var(--jd-reply-dark); border: 1px solid var(--jd-reply-gold); box-shadow: 0 3px 10px rgba(0,0,0,.18); }
.jd-fullreply-title {
  padding: 9px 12px; color: var(--jd-reply-gold-soft); background: linear-gradient(to bottom, #0c3149 0%, #071d2e 100%); border-bottom: 1px solid var(--jd-reply-gold);
  font-family: Georgia, "Times New Roman", serif; font-size: 15px; font-weight: bold; letter-spacing: .55px; text-transform: uppercase;
}
.jd-fullreply-main { padding: 10px !important; }
.jd-fullreply-accountbox, .jd-fullreply-options {
  margin-bottom: 10px; overflow: hidden; background: var(--jd-reply-paper); border: 1px solid var(--jd-reply-gold);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25), 0 2px 5px rgba(0,0,0,.12);
}
.jd-fullreply-accountbox:not(:has(tr)), .jd-fullreply-accountbox:has(tbody:empty) { display: none; }
.jd-fullreply-section-heading {
  display: flex; align-items: center; min-height: 36px; padding: 8px 11px; box-sizing: border-box; color: var(--jd-reply-gold-soft); background: var(--jd-reply-deep);
  border-bottom: 1px solid rgba(201,155,61,.45); font-size: 8px; font-weight: bold; letter-spacing: .1em; text-transform: uppercase;
}
.jd-fullreply-rows { width: 100%; border: 0; border-collapse: collapse; border-spacing: 0; color: var(--jd-reply-ink); background: var(--jd-reply-paper); }
.jd-fullreply-rows tr { background: transparent !important; }
.jd-fullreply-rows td {
  padding: 10px 12px !important; box-sizing: border-box; color: var(--jd-reply-ink) !important; background: transparent !important; border: 0 !important;
  border-bottom: 1px solid rgba(126,92,44,.18) !important; font-size: 11px; line-height: 1.45; vertical-align: top;
}
.jd-fullreply-rows tr:last-child td { border-bottom: 0 !important; }
.jd-fullreply-rows td:first-child { width: 190px; color: #534733 !important; font-size: 10px; font-weight: bold; }
.jd-fullreply-rows .smalltext { color: #635947 !important; font-size: 10px !important; line-height: 1.45; }
.jd-fullreply-rows a:link, .jd-fullreply-rows a:visited { color: #126070 !important; }
.jd-fullreply-rows input.textbox, .jd-fullreply-rows select, .jd-fullreply-rows textarea { max-width: 100%; }
.jd-fullreply-subject {
  margin-bottom: 10px; padding: 11px 12px; background: var(--jd-reply-paper); border: 1px solid var(--jd-reply-gold);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25), 0 2px 5px rgba(0,0,0,.12);
}
.jd-fullreply-subject label { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: 12px; }
.jd-fullreply-field-label { color: #534733; font-size: 9px; font-weight: bold; letter-spacing: .08em; text-transform: uppercase; }
.jd-fullreply-subject input.textbox {
  width: 100%; height: 34px; margin: 0; padding: 6px 9px; color: var(--jd-reply-ink); background: #fbf1d1; border: 1px solid #9a763f; border-radius: 2px;
}
.jd-fullreply-editor { margin-bottom: 10px; }
.jd-fullreply-editor .jd-reply-textarea-wrap textarea { min-height: 430px; font-family: Georgia, "Times New Roman", serif; font-size: 14px; line-height: 1.72; }
.jd-fullreply-native-codebuttons { position: relative; z-index: 1; background: var(--jd-reply-paper); }
.jd-fullreply-native-codebuttons:empty { display: none; }
.jd-fullreply-editor .sceditor-container {
  width: 100% !important; max-width: none !important; box-sizing: border-box !important; background: var(--jd-reply-paper) !important; border: 0 !important;
  border-radius: 0 !important;
}
.jd-fullreply-editor .sceditor-toolbar { background: #031e2e !important; border: 0 !important; border-bottom: 1px solid rgba(201,155,61,.55) !important; border-radius: 0 !important; }
.jd-fullreply-editor .sceditor-container iframe, .jd-fullreply-editor .sceditor-container textarea {
  min-height: 430px !important; background: var(--jd-reply-paper-light) !important; border: 0 !important;
}
.jd-fullreply-multiquote:empty { display: none; }
.jd-fullreply-smilies { color: #c4bca8; background: rgba(0,0,0,.12); border-top: 1px solid rgba(201,155,61,.25); }
.jd-fullreply-smilies:has(.jd-fullreply-smilie-content:empty) { display: none; }
.jd-fullreply-smilies > summary { padding: 8px 12px; color: var(--jd-reply-gold-soft); font-size: 9px; font-weight: bold; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.jd-fullreply-smilie-content { padding: 0 12px 10px; }
.jd-fullreply-actions { margin: 0 !important; }
.jd-fullreply-actions .button {
  min-width: 110px; margin: 0 !important; padding: 7px 15px !important; border-radius: 2px !important; font-size: 9px !important; font-weight: bold !important;
  letter-spacing: .07em !important; text-transform: uppercase !important;
}
.jd-fullreply-actions input[name="savedraft"] { color: #e7ddc8 !important; background: #092c3d !important; border: 1px solid #72613c !important; }
.jd-fullreply-attachments { margin: 0 0 16px; }
.jd-fullreply-attachments:empty { display: none; }
.jd-fullreply-attachments > br { display: none; }
.jd-fullreply-attachments .tborder { margin: 0 !important; border-color: var(--jd-reply-gold) !important; }
.jd-fullreply-attachments .thead, .jd-fullreply-threadreview .thead, .jd-fullreply-forumrules .thead {
  color: var(--jd-reply-gold-soft) !important; background: linear-gradient(to bottom, #0c3149 0%, #071d2e 100%) !important;
  border-bottom: 1px solid var(--jd-reply-gold) !important;
}
.jd-fullreply-attachments .tcat, .jd-fullreply-threadreview .tcat, .jd-fullreply-forumrules .tcat {
  color: #b6aa8d !important; background: var(--jd-reply-deep) !important; border-bottom: 1px solid rgba(201,155,61,.45) !important;
}
.jd-fullreply-attachments .trow1, .jd-fullreply-attachments .trow2, .jd-fullreply-threadreview .trow1, .jd-fullreply-threadreview .trow2, .jd-fullreply-forumrules .trow1, .jd-fullreply-forumrules .trow2 {
  color: var(--jd-reply-ink) !important; background-color: var(--jd-reply-paper) !important;
  background-image: linear-gradient(rgba(255,249,230,.60), rgba(239,225,188,.60)), url(../../../images/parchment-texture.png) !important;
}
.jd-fullreply-forumrules, .jd-fullreply-threadreview { margin: 0 0 16px; }
.jd-fullreply-forumrules:empty, .jd-fullreply-threadreview:empty { display: none; }
.jd-fullreply-forumrules > br, .jd-fullreply-threadreview > br { display: none; }
@media (max-width: 700px) {
  .jd-fullreply-main { padding: 6px !important; }
  .jd-fullreply-subject label { display: block; }
  .jd-fullreply-field-label { display: block; margin-bottom: 5px; }
  .jd-fullreply-rows, .jd-fullreply-rows tbody, .jd-fullreply-rows tr, .jd-fullreply-rows td { display: block; width: 100% !important; box-sizing: border-box; }
  .jd-fullreply-rows td:first-child { padding-bottom: 4px !important; border-bottom: 0 !important; }
  .jd-fullreply-rows td + td { padding-top: 4px !important; }
  .jd-fullreply-editor .jd-reply-textarea-wrap textarea, .jd-fullreply-editor .sceditor-container iframe, .jd-fullreply-editor .sceditor-container textarea { min-height: 420px !important; }
  .jd-fullreply-actions-right { flex-wrap: wrap; }
  .jd-fullreply-actions .button { flex: 1 1 calc(50% - 4px); min-width: 120px; }
  .jd-fullreply-attachments .tborder, .jd-fullreply-threadreview .tborder, .jd-fullreply-forumrules .tborder { width: 100% !important; min-width: 0 !important; }
}

/* ===== JERSEY DEVIL — PRE-FEATURE CLEANUP PASS ===== */

/* ===== STANDARD COLLAPSE BUTTON ===== */
.jd-index-sidebar .thead .expcolimage, .jd-reply-title .expcolimage {
  position: relative !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; float: right !important;
  width: 26px !important; height: 26px !important; margin: -3px 0 -3px 10px !important; padding: 0 !important; box-sizing: border-box !important;
  background: rgba(4, 20, 33, .48) !important; border: 1px solid rgba(214, 165, 82, .78) !important; border-radius: 50% !important;
  box-shadow: inset 0 0 0 1px rgba(255, 239, 201, .035) !important;
}
.jd-index-sidebar .thead .expcolimage::before, .jd-reply-title .expcolimage::before {
  content: "" !important; display: block !important; width: 6px !important; height: 6px !important; border: solid #e4c27b !important;
  border-width: 0 2px 2px 0 !important; transform: translateY(2px) rotate(-135deg) !important; transform-origin: center !important; pointer-events: none !important;
}
.jd-index-sidebar .thead .expcolimage:has(img[src*="collapse_collapsed"])::before, .jd-reply-title .expcolimage:has(img[src*="collapse_collapsed"])::before {
  transform: translateY(-2px) rotate(45deg) !important;
}
.jd-index-sidebar .thead .expcolimage img, .jd-reply-title .expcolimage img {
  position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; opacity: 0 !important;
  cursor: pointer !important;
}
.jd-index-sidebar .thead .expcolimage:hover, .jd-reply-title .expcolimage:hover { background: rgba(22, 86, 93, .62) !important; border-color: #e4c27b !important; }

/* ===== BOARD STATISTICS — RECENTLY BROWSING ===== */
.jd-index-sidebar .jd-recently-browsing {
  background: linear-gradient(to bottom, #185762 0%, #10444f 100%) !important; color: #f0e2bf !important; border-bottom: 1px solid rgba(214, 165, 82, .62) !important;
}
.jd-index-sidebar .jd-recently-browsing, .jd-index-sidebar .jd-recently-browsing strong, .jd-index-sidebar .jd-recently-browsing span { color: #f0e2bf !important; }
.jd-index-sidebar .jd-recently-browsing a, .jd-index-sidebar .jd-recently-browsing a:link, .jd-index-sidebar .jd-recently-browsing a:visited { color: #e4c27b !important; }
.jd-index-sidebar .jd-recently-browsing a:hover { color: #ffffff !important; }
.jd-unified-nav #panel .jd-panel-welcome::before { display: none !important; content: none !important; }
.jd-unified-nav #panel .jd-panel-welcome a.jd-account-icon, .jd-unified-nav #panel .jd-panel-welcome a.jd-account-icon:link, .jd-unified-nav #panel .jd-panel-welcome a.jd-account-icon:visited {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 38px !important; width: 38px !important;
  min-width: 38px !important; min-height: 52px !important; margin: 0 !important; padding: 0 !important; box-sizing: border-box !important;
  background-color: rgba(214, 165, 82, .045) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='3.5' fill='none' stroke='%23e4c27b' stroke-width='1.8'/%3E%3Cpath d='M5.5 20c.45-4.2 2.65-6.3 6.5-6.3s6.05 2.1 6.5 6.3' fill='none' stroke='%23e4c27b' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: center center !important; border: 0 !important;
  border-right: 1px solid rgba(214, 165, 82, .22) !important; font-size: 0 !important; line-height: 0 !important; text-decoration: none !important;
}
.jd-unified-nav #panel .jd-panel-welcome a.jd-account-icon:hover, .jd-unified-nav #panel .jd-panel-welcome a.jd-account-icon:focus {
  background-color: rgba(22, 86, 93, .56) !important; text-decoration: none !important;
}

/* ===== MOBILE QUICK REPLY — COMPACT WORKSPACE ===== */
@media (max-width: 700px) {
  .jd-reply-shell { margin-bottom: 10px !important; }
  .jd-reply-title { padding: 6px 8px !important; }
  .jd-reply-main { padding: 5px !important; }
  .jd-reply-context { margin-bottom: 6px !important; padding: 6px 8px !important; gap: 8px !important; border-left-width: 2px !important; }
  .jd-reply-context-label { margin-bottom: 1px !important; font-size: 8px !important; }
  .jd-reply-context-title { font-size: 12px !important; line-height: 1.25 !important; }
  .jd-reply-topgrid, .jd-reply-topgrid:has(.jd-reply-reference) { gap: 6px !important; margin-bottom: 6px !important; }
  .jd-reply-identity-heading { display: none !important; }
  .jd-reply-identity-card .jd-reply-identity { min-height: 0 !important; gap: 8px !important; padding: 7px 8px !important; }
  .jd-reply-topgrid .jd-reply-avatar { flex-basis: 38px !important; width: 38px !important; height: 38px !important; }
  .jd-reply-topgrid .jd-reply-username { font-size: 14px !important; }
  .jd-reply-user-meta { gap: 4px !important; margin-top: 2px !important; font-size: 8px !important; }
  .jd-reply-reference-card > summary { min-height: 32px !important; padding-top: 6px !important; padding-bottom: 6px !important; }
  .jd-reply-reference-body { padding: 8px !important; }
  .jd-reply-reference-avatar { flex-basis: 36px !important; width: 36px !important; height: 36px !important; }
  .jd-reply-editor-heading { padding: 6px 8px !important; }
  .jd-reply-step { font-size: 10px !important; }
  .jd-reply-toolbar { gap: 3px !important; padding: 4px 5px !important; }
  .jd-reply-tool { min-width: 32px !important; height: 30px !important; padding: 0 7px !important; font-size: 10px !important; line-height: 28px !important; }
  .jd-reply-tool-text { padding-left: 9px !important; padding-right: 9px !important; }
  .jd-reply-toolbar-divider { height: 17px !important; }
  .jd-reply-textarea-wrap textarea {
    height: 220px !important; min-height: 220px !important; padding: 11px !important; font-size: 14px !important; line-height: 1.55 !important;
    resize: vertical !important;
  }
  .jd-reply-status {
    flex-direction: row !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; min-height: 25px !important;
    padding: 4px 7px !important; font-size: 8px !important;
  }
  .jd-reply-counts { gap: 4px !important; white-space: nowrap !important; }
  .jd-reply-draft-status { text-align: right !important; white-space: nowrap !important; }
  .jd-reply-options { flex-direction: row !important; align-items: center !important; gap: 8px !important; padding: 6px 8px !important; font-size: 8px !important; }
  .jd-reply-options label { gap: 4px !important; }
  .jd-reply-actions { padding: 6px !important; }
  .jd-reply-actions-right { gap: 6px !important; }
  .jd-reply-actions-right .jd-reply-button { padding: 8px 6px !important; }
}

/* ===== JERSEY DEVIL — PORTAL DASHBOARD ===== */
.jd-portal-dashboard { width: 100%; box-sizing: border-box; }
.jd-pd-pagebar {
  display: flex; align-items: center; gap: 9px; margin: 0 0 12px; padding: 10px 14px; color: #f0e2bf;
  background: linear-gradient(rgba(8, 59, 68, .18), rgba(4, 35, 45, .18)), url(../../../images/pirate-background-categories.png) center/auto 100% repeat-x;
  border: 1px solid #a17a3e; box-shadow: 0 1px 0 rgba(255,255,255,.04) inset; font-family: Georgia, "Times New Roman", serif; font-size: 15px; font-weight: 700;
  letter-spacing: .35px;
}
.jd-pd-pagebar:first-letter { color: #d6a552; }
.jd-pd-grid {
  display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(300px, 1fr); grid-template-areas: "current leftoff" "timeline cast" "recent archive" "stats stats";
  gap: 12px; align-items: stretch;
}
.jd-pd-panel { min-width: 0; overflow: hidden; border: 1px solid #a17a3e; background: rgba(4, 30, 40, .76); box-shadow: 0 6px 16px rgba(0,0,0,.11), 0 1px 0 rgba(255,255,255,.035) inset; }
.jd-pd-heading {
  display: flex; align-items: center; gap: 8px; min-height: 34px; box-sizing: border-box; padding: 7px 11px; color: #e7c374;
  background: linear-gradient(rgba(9, 67, 75, .16), rgba(4, 42, 51, .16)), url(../../../images/pirate-background-categories.png) center/auto 100% repeat-x;
  border-bottom: 1px solid #a17a3e; font-family: Georgia, "Times New Roman", serif; font-size: 14px; font-weight: 700; letter-spacing: .45px; text-transform: uppercase;
}
.jd-pd-heading > span { color: #d6a552; font-size: 15px; }
.jd-pd-current { grid-area: current; }
.jd-pd-leftoff { grid-area: leftoff; }
.jd-pd-timeline { grid-area: timeline; }
.jd-pd-cast { grid-area: cast; }
.jd-pd-recent { grid-area: recent; }
.jd-pd-archive-feature { grid-area: archive; }
.jd-pd-stats { grid-area: stats; }

/* ===== CURRENTLY WRITING ===== */
.jd-pd-current-body {
  display: grid; grid-template-columns: minmax(235px, .92fr) minmax(260px, 1.08fr); gap: 0; min-height: 205px; color: #342d22; background-color: #efe1bc;
  background-image: linear-gradient(rgba(255,249,232,.72), rgba(236,220,184,.72)), url(../../../images/parchment-texture.png); background-size: 420px 420px;
}
.jd-pd-current-info, .jd-pd-current-preview { padding: 21px 22px; box-sizing: border-box; }
.jd-pd-current-info { position: relative; border-right: 1px solid rgba(143,105,52,.3); }
/* Baseline ship-wheel watermark. Portal Pass 3 later replaces this with compass.svg. */
.jd-pd-current-info::after { content: "\2638"; position: absolute; right: 16px; bottom: 8px; color: rgba(136,101,51,.08); font-size: 92px; line-height: 1; pointer-events: none; }
.jd-pd-current-info h1 { position: relative; z-index: 1; margin: 0 0 11px; font-family: Georgia, "Times New Roman", serif; font-size: 25px; line-height: 1.08; }
.jd-pd-current-info h1 a, .jd-pd-current-info h1 a:visited { color: #0d3546 !important; text-decoration: none !important; }
.jd-pd-current-info h1 a:hover { color: #8a5a20 !important; }
.jd-pd-current-meta { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 6px 14px; color: #61503a; font-size: 10px; line-height: 1.45; }
.jd-pd-current-meta span { white-space: nowrap; }
.jd-pd-cast-line, .jd-pd-lastline { position: relative; z-index: 1; margin-top: 15px; color: #4c4030; font-size: 10px; line-height: 1.5; }
.jd-pd-lastline { margin-top: 7px; padding-top: 10px; border-top: 1px solid rgba(143,105,52,.25); }
.jd-pd-current-preview { display: flex; flex-direction: column; justify-content: center; }
.jd-pd-current-preview p { margin: 0 0 17px; color: #403729; font-family: Georgia, "Times New Roman", serif; font-size: 12px; font-style: italic; line-height: 1.6; }
.jd-pd-primary-button, .jd-pd-primary-button:visited {
  display: block; width: 100%; box-sizing: border-box; padding: 10px 15px; color: #2a241a !important; background: linear-gradient(#e0b65d, #bd8731);
  border: 1px solid #946725; box-shadow: 0 1px 0 rgba(255,255,255,.32) inset, 0 2px 5px rgba(61,39,13,.16); font-family: Georgia, "Times New Roman", serif;
  font-size: 13px; font-weight: 700; letter-spacing: .4px; text-align: center; text-decoration: none !important; text-transform: uppercase;
}
.jd-pd-primary-button:hover { background: linear-gradient(#ebc66f, #c9943c); text-decoration: none !important; }

/* ===== WHERE WE LEFT OFF ===== */
.jd-pd-leftoff-body {
  min-height: 205px; box-sizing: border-box; padding: 16px 18px 14px; color: #3e3427; background-color: #efe1bc;
  background-image: linear-gradient(rgba(255,249,232,.74), rgba(236,220,184,.74)), url(../../../images/parchment-texture.png); background-size: 420px 420px;
}
.jd-pd-leftoff-byline { display: flex; align-items: center; gap: 9px; margin-bottom: 10px; color: #3a3024; }
.jd-pd-leftoff-byline > span { display: flex; flex-direction: column; gap: 2px; }
.jd-pd-leftoff-byline strong { font-family: Georgia, "Times New Roman", serif; font-size: 11px; }
.jd-pd-leftoff-byline small { color: #7a674b; font-size: 9px; }
.jd-pd-mini-avatar { width: 34px; height: 34px; object-fit: cover; border: 1px solid #9b773f; border-radius: 50%; }
.jd-pd-leftoff blockquote {
  margin: 0 0 10px; padding: 14px 16px; color: #3e3427; background: rgba(255,248,228,.63); border: 1px solid rgba(151,112,55,.28);
  font-family: Georgia, "Times New Roman", serif; font-size: 11px; line-height: 1.55;
}
.jd-pd-text-link, .jd-pd-text-link:visited, .jd-pd-panel-link, .jd-pd-panel-link:visited {
  color: #7a5524 !important; font-family: Georgia, "Times New Roman", serif; font-size: 10px; font-weight: 700; letter-spacing: .35px; text-decoration: none !important;
  text-transform: uppercase;
}
.jd-pd-text-link { display: block; text-align: right; }
.jd-pd-text-link:hover, .jd-pd-panel-link:hover { color: #0f5a67 !important; }

/* ===== STORY TIMELINE ===== */
.jd-pd-timeline-body {
  display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 8px; padding: 10px; background-color: #efe1bc;
  background-image: linear-gradient(rgba(255,249,232,.7), rgba(236,220,184,.7)), url(../../../images/parchment-texture.png); background-size: 420px 420px;
}
.jd-pd-timeline-item, .jd-pd-timeline-item:visited {
  display: flex; min-width: 0; min-height: 91px; box-sizing: border-box; flex-direction: column; align-items: center; justify-content: center; padding: 10px 12px;
  color: #3f3426 !important; background: rgba(255,249,232,.48); border: 1px solid rgba(151,112,55,.34); text-align: center; text-decoration: none !important;
}
.jd-pd-timeline-item:hover { background: rgba(255,249,232,.78); border-color: #b28440; }
.jd-pd-timeline-item.is-current { background: rgba(223,181,92,.22); border-color: #bd8b3c; box-shadow: 0 0 0 1px rgba(189,139,60,.14) inset; }
.jd-pd-timeline-item.is-empty { opacity: .58; }
.jd-pd-timeline-kicker { margin-bottom: 6px; color: #81602f; font-size: 8px; font-weight: 700; letter-spacing: .55px; text-transform: uppercase; }
.jd-pd-timeline-item strong {
  display: block; max-width: 100%; overflow: hidden; color: #223d46; font-family: Georgia, "Times New Roman", serif; font-size: 12px; line-height: 1.25;
  text-overflow: ellipsis;
}
.jd-pd-timeline-item small { display: block; margin-top: 5px; color: #77664d; font-size: 8.5px; line-height: 1.35; }
.jd-pd-sep { padding: 0 2px; color: #b0823e; }

/* ===== CURRENT CAST ===== */
.jd-pd-cast-body {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; min-height: 111px; box-sizing: border-box; padding: 10px; background-color: #efe1bc;
  background-image: linear-gradient(rgba(255,249,232,.7), rgba(236,220,184,.7)), url(../../../images/parchment-texture.png); background-size: 420px 420px;
}
.jd-pd-cast-card, .jd-pd-cast-card:visited {
  display: flex; min-width: 0; flex-direction: column; overflow: hidden; color: #f0e2bf !important; background: #0b2e3d; border: 1px solid #9f773c; text-align: center;
  text-decoration: none !important;
}
.jd-pd-cast-card:hover { border-color: #d6a552; }
.jd-pd-cast-card img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.jd-pd-cast-card span { display: flex; min-height: 37px; box-sizing: border-box; flex-direction: column; justify-content: center; padding: 4px 3px; }
.jd-pd-cast-card strong {
  overflow: hidden; color: #f0d08a; font-family: Georgia, "Times New Roman", serif; font-size: 8.5px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap;
}
.jd-pd-cast-card small { margin-top: 2px; color: #c7b99a; font-size: 7.5px; }
.jd-pd-cast-more { grid-column: 1 / -1; color: #735327 !important; font-size: 9px; font-weight: 700; text-align: right; }

/* ===== RECENT STORIES ===== */
.jd-pd-recent-body {
  background-color: #efe1bc; background-image: linear-gradient(rgba(255,249,232,.74), rgba(236,220,184,.74)), url(../../../images/parchment-texture.png);
  background-size: 420px 420px;
}
.jd-pd-recent-row, .jd-pd-recent-row:visited {
  display: grid; grid-template-columns: minmax(0, 1fr) auto 14px; gap: 12px; align-items: center; min-height: 49px; box-sizing: border-box; padding: 7px 11px;
  color: #342d22 !important; border-bottom: 1px solid rgba(135,97,46,.18); text-decoration: none !important;
}
.jd-pd-recent-row:hover { background: rgba(255,255,255,.25); }
.jd-pd-recent-main, .jd-pd-recent-meta { display: flex; min-width: 0; flex-direction: column; }
.jd-pd-recent-main strong { overflow: hidden; color: #0a5164; font-family: Georgia, "Times New Roman", serif; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.jd-pd-recent-main small, .jd-pd-recent-meta small { margin-top: 2px; color: #766348; font-size: 8px; }
.jd-pd-recent-meta { text-align: right; }
.jd-pd-recent-meta strong { color: #4c4030; font-size: 8.5px; }
.jd-pd-row-arrow { color: #9b7337; font-size: 17px; }
.jd-pd-panel-link { display: block; padding: 9px 12px; background: rgba(239,225,188,.96); border-top: 1px solid #a17a3e; text-align: center; }

/* ===== FROM THE ARCHIVE ===== */
.jd-pd-archive-feature-body {
  min-height: 265px; box-sizing: border-box; padding: 18px; color: #342d22; background-color: #efe1bc;
  background-image: linear-gradient(rgba(255,249,232,.7), rgba(236,220,184,.7)), url(../../../images/parchment-texture.png); background-size: 420px 420px;
}
.jd-pd-archive-feature-copy { position: relative; height: 100%; }
.jd-pd-archive-feature-title { display: block; color: #173f4d; font-family: Georgia, "Times New Roman", serif; font-size: 18px; line-height: 1.15; }
.jd-pd-archive-feature-meta { display: block; margin-top: 5px; color: #806638; font-size: 9px; }
.jd-pd-archive-feature p { margin: 17px 0; color: #4b3d2d; font-family: Georgia, "Times New Roman", serif; font-size: 11px; font-style: italic; line-height: 1.55; }
.jd-pd-small-button, .jd-pd-small-button:visited {
  display: inline-block; padding: 7px 10px; color: #f0e2bf !important; background: #0f4a55; border: 1px solid #a17a3e; font-family: Georgia, "Times New Roman", serif;
  font-size: 9px; font-weight: 700; letter-spacing: .4px; text-decoration: none !important; text-transform: uppercase;
}
.jd-pd-small-button:hover { background: #155d67; }

/* ===== OUR STORY ===== */
.jd-pd-stats-body {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background-color: #efe1bc;
  background-image: linear-gradient(rgba(255,249,232,.72), rgba(236,220,184,.72)), url(../../../images/parchment-texture.png); background-size: 420px 420px;
}
.jd-pd-stats-body > div {
  display: flex; min-height: 84px; box-sizing: border-box; flex-direction: column; align-items: center; justify-content: center; padding: 12px;
  border-right: 1px solid rgba(151,112,55,.24); text-align: center;
}
.jd-pd-stats-body > div:last-child { border-right: 0; }
.jd-pd-stats-body strong { color: #173f4d; font-family: Georgia, "Times New Roman", serif; font-size: 23px; line-height: 1; }
.jd-pd-stats-body span { margin-top: 7px; color: #6f5a3e; font-size: 8.5px; font-weight: 700; letter-spacing: .35px; text-transform: uppercase; }
.jd-pd-empty, .jd-pd-inline-empty {
  box-sizing: border-box; padding: 18px; color: #5d4d37; background-color: #efe1bc;
  background-image: linear-gradient(rgba(255,249,232,.72), rgba(236,220,184,.72)), url(../../../images/parchment-texture.png); background-size: 420px 420px;
  border: 1px solid #a17a3e; font-size: 10px; text-align: center;
}
.jd-pd-inline-empty { border: 0; }

/* ===== RESPONSIVE ===== */
@media (max-width: 980px) {
  .jd-pd-grid { grid-template-columns: 1fr; grid-template-areas: "current" "leftoff" "timeline" "cast" "recent" "archive" "stats"; }
  .jd-pd-cast-body { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .jd-pd-pagebar { margin-left: 0; margin-right: 0; font-size: 13px; }
  .jd-pd-current-body { grid-template-columns: 1fr; }
  .jd-pd-current-info { border-right: 0; border-bottom: 1px solid rgba(143,105,52,.3); }
  .jd-pd-current-info, .jd-pd-current-preview { padding: 17px; }
  .jd-pd-current-info h1 { font-size: 22px; }
  .jd-pd-timeline-body { grid-template-columns: 1fr; }
  .jd-pd-timeline-item { min-height: 72px; }
  .jd-pd-timeline-item.is-current { order: -1; }
  .jd-pd-cast-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jd-pd-recent-row { grid-template-columns: minmax(0, 1fr) 12px; gap: 8px; }
  .jd-pd-recent-meta { display: none; }
  .jd-pd-stats-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jd-pd-stats-body > div:nth-child(2) { border-right: 0; }
  .jd-pd-stats-body > div:nth-child(-n+2) { border-bottom: 1px solid rgba(151,112,55,.24); }
}

/* ===== JERSEY DEVIL PORTAL — VISUAL POLISH PASS ===== */
/* Intentional override layer for the base Portal Dashboard rules above.
   Keep after the base block so its spacing/color refinements win the cascade. */
.jd-portal-dashboard { margin-top: 8px; }
.jd-pd-pagebar {
  margin: 0 0 18px; padding: 12px 16px; color: #f0ddaf;
  background: linear-gradient(rgba(6, 26, 37, .72), rgba(6, 26, 37, .72)), url(../../../images/pirate-background-categories.png) center/auto 100% repeat-x;
  border: 1px solid #a17a3e; box-shadow: 0 1px 0 rgba(255,255,255,.03) inset, 0 0 0 1px rgba(12,36,49,.55) inset; font-family: Georgia, "Times New Roman", serif;
  font-size: 15px; font-weight: 700; letter-spacing: .35px; text-transform: none;
}
.jd-pd-pagebar:first-letter { color: inherit; }
.jd-pd-grid { grid-template-columns: minmax(0, 1.72fr) minmax(320px, .9fr); grid-template-areas: "current leftoff" "timeline cast" "recent archive" "stats stats"; gap: 16px; }
.jd-pd-panel { border: 1px solid #a17a3e; background: rgba(3, 24, 36, .9); box-shadow: 0 0 0 1px rgba(6, 31, 45, .85) inset, 0 4px 14px rgba(0,0,0,.14); }
.jd-pd-heading {
  min-height: 38px; padding: 8px 13px; color: #e7c374;
  background: linear-gradient(rgba(6, 36, 50, .84), rgba(6, 36, 50, .84)), url(../../../images/pirate-background-categories.png) center/auto 100% repeat-x;
  border-bottom: 1px solid #a17a3e; font-family: Georgia, "Times New Roman", serif; font-size: 14px; font-weight: 700; letter-spacing: .55px; text-transform: uppercase;
}
.jd-pd-heading > span { color: #d6a552; font-size: 13px; }

/* ===== CURRENTLY WRITING ===== */
.jd-pd-current-body {
  grid-template-columns: minmax(275px, .92fr) minmax(320px, 1.08fr); min-height: 240px; background-color: #efe1bc;
  background-image: linear-gradient(rgba(255,250,236,.84), rgba(236,220,184,.82)), url(../../../images/parchment-texture.png); background-size: 420px 420px;
}
.jd-pd-current-info, .jd-pd-current-preview { padding: 26px 26px 22px; }
.jd-pd-current-info { border-right: 1px solid rgba(143,105,52,.24); }
.jd-pd-current-info::after { right: 14px; bottom: 8px; color: rgba(136,101,51,.07); font-size: 86px; }
.jd-pd-current-info h1 { margin: 0 0 13px; font-size: 29px; line-height: 1.03; letter-spacing: -.2px; }
.jd-pd-current-info h1 a, .jd-pd-current-info h1 a:visited { color: #143849 !important; }
.jd-pd-current-meta { gap: 6px 16px; color: #69553b; font-size: 10px; line-height: 1.5; }
.jd-pd-cast-line, .jd-pd-lastline { font-size: 10px; line-height: 1.6; }
.jd-pd-lastline { margin-top: 10px; padding-top: 12px; border-top: 1px solid rgba(143,105,52,.22); }
.jd-pd-current-preview { justify-content: center; position: relative; }
.jd-pd-current-preview p { margin: 0 0 18px; color: #45392a; font-size: 13px; font-style: italic; line-height: 1.72; }
.jd-pd-primary-button, .jd-pd-primary-button:visited {
  padding: 13px 18px; color: #2b2418 !important; background: linear-gradient(#ddb865, #c59239); border: 1px solid #956827;
  box-shadow: 0 1px 0 rgba(255,255,255,.28) inset, 0 2px 6px rgba(65,42,17,.18); font-size: 14px; letter-spacing: .5px;
}
.jd-pd-primary-button:hover { background: linear-gradient(#e6c574, #cf9b45); }

/* ===== WHERE WE LEFT OFF ===== */
.jd-pd-leftoff-body {
  min-height: 240px; padding: 18px 18px 16px; background-color: #efe1bc;
  background-image: linear-gradient(rgba(255,250,236,.84), rgba(236,220,184,.82)), url(../../../images/parchment-texture.png); background-size: 420px 420px;
}
.jd-pd-leftoff-byline { margin-bottom: 12px; }
.jd-pd-leftoff-byline strong { font-size: 11px; }
.jd-pd-leftoff-byline small { font-size: 9px; }
.jd-pd-mini-avatar { width: 36px; height: 36px; border: 1px solid #9b773f; }
.jd-pd-leftoff blockquote {
  margin: 0 0 12px; padding: 16px 18px; background: rgba(251,242,219,.88); border: 1px solid rgba(151,112,55,.34); box-shadow: 0 1px 0 rgba(255,255,255,.35) inset;
  font-size: 11px; line-height: 1.65;
}
.jd-pd-text-link, .jd-pd-text-link:visited, .jd-pd-panel-link, .jd-pd-panel-link:visited { color: #7a5524 !important; font-size: 10px; letter-spacing: .4px; }
.jd-pd-text-link:hover, .jd-pd-panel-link:hover { color: #0f5a67 !important; }

/* ===== STORY TIMELINE ===== */
.jd-pd-timeline-body {
  grid-template-columns: 1fr 1.15fr 1fr; gap: 12px; padding: 12px; background-color: #efe1bc;
  background-image: linear-gradient(rgba(255,250,236,.82), rgba(236,220,184,.82)), url(../../../images/parchment-texture.png); background-size: 420px 420px;
}
.jd-pd-timeline-item, .jd-pd-timeline-item:visited { min-height: 98px; padding: 12px 14px; background: rgba(255,249,232,.62); border: 1px solid rgba(151,112,55,.32); }
.jd-pd-timeline-item:hover { background: rgba(255,249,232,.86); border-color: #b28440; }
.jd-pd-timeline-item.is-current { background: rgba(223,181,92,.25); border-color: #bd8b3c; box-shadow: 0 0 0 1px rgba(189,139,60,.12) inset; }
.jd-pd-timeline-kicker { margin-bottom: 7px; font-size: 8px; letter-spacing: .65px; }
.jd-pd-timeline-item strong { color: #173c4c; font-size: 13px; line-height: 1.2; }
.jd-pd-timeline-item small { margin-top: 5px; font-size: 8.5px; line-height: 1.4; }

/* ===== CURRENT CAST ===== */
.jd-pd-cast-body {
  gap: 10px; padding: 12px; background-color: #efe1bc; background-image: linear-gradient(rgba(255,250,236,.8), rgba(236,220,184,.8)), url(../../../images/parchment-texture.png);
  background-size: 420px 420px;
}
.jd-pd-cast-card, .jd-pd-cast-card:visited { background: linear-gradient(#0f3141, #0b2634); border: 1px solid #9f773c; box-shadow: 0 1px 0 rgba(255,255,255,.04) inset; }
.jd-pd-cast-card img { aspect-ratio: 1 / 1; object-fit: cover; }
.jd-pd-cast-card span { min-height: 43px; padding: 5px 4px; }
.jd-pd-cast-card strong { color: #f0d08a; font-size: 9px; line-height: 1.15; }
.jd-pd-cast-card small { color: #d4c4a3; font-size: 7.5px; }
.jd-pd-cast-more { color: #735327 !important; font-size: 9px; }

/* ===== RECENT STORIES ===== */
.jd-pd-recent-body {
  background-color: #efe1bc; background-image: linear-gradient(rgba(255,250,236,.84), rgba(236,220,184,.84)), url(../../../images/parchment-texture.png);
  background-size: 420px 420px;
}
.jd-pd-recent-row, .jd-pd-recent-row:visited { grid-template-columns: minmax(0, 1fr) auto 14px; min-height: 54px; padding: 8px 13px; border-bottom: 1px solid rgba(135,97,46,.16); }
.jd-pd-recent-row:hover { background: rgba(255,255,255,.28); }
.jd-pd-recent-main strong { color: #0b5164; font-size: 11px; }
.jd-pd-recent-main small, .jd-pd-recent-meta small { font-size: 8px; }
.jd-pd-recent-meta strong { font-size: 8.5px; }
.jd-pd-row-arrow { color: #9b7337; font-size: 16px; }
.jd-pd-panel-link { padding: 10px 12px; background: rgba(239,225,188,.98); border-top: 1px solid #a17a3e; }

/* ===== FROM THE ARCHIVE ===== */
.jd-pd-archive-feature-body {
  min-height: 228px; padding: 18px 18px 16px; background-color: #efe1bc;
  background-image: linear-gradient(rgba(255,250,236,.84), rgba(236,220,184,.82)), url(../../../images/parchment-texture.png); background-size: 420px 420px;
}
.jd-pd-archive-feature-title { color: #14394a; font-size: 18px; line-height: 1.12; }
.jd-pd-archive-feature-meta { margin-top: 6px; font-size: 9px; }
.jd-pd-archive-feature p { margin: 16px 0 18px; font-size: 11px; line-height: 1.62; }
.jd-pd-small-button, .jd-pd-small-button:visited { padding: 8px 12px; color: #f0e2bf !important; background: #0f4a55; border: 1px solid #a17a3e; font-size: 9px; letter-spacing: .45px; }
.jd-pd-small-button:hover { background: #155d67; }

/* ===== OUR STORY ===== */
.jd-pd-stats-body {
  grid-template-columns: repeat(4, minmax(0, 1fr)); background-color: #efe1bc;
  background-image: linear-gradient(rgba(255,250,236,.84), rgba(236,220,184,.82)), url(../../../images/parchment-texture.png); background-size: 420px 420px;
}
.jd-pd-stats-body > div { min-height: 92px; padding: 14px 12px; border-right: 1px solid rgba(151,112,55,.24); }
.jd-pd-stats-body strong { color: #14394a; font-size: 22px; }
.jd-pd-stats-body span { margin-top: 8px; color: #6f5a3e; font-size: 8px; letter-spacing: .45px; }

/* ===== EMPTY / INLINE EMPTY ===== */
.jd-pd-empty, .jd-pd-inline-empty {
  padding: 18px; background-color: #efe1bc; background-image: linear-gradient(rgba(255,250,236,.84), rgba(236,220,184,.82)), url(../../../images/parchment-texture.png);
  background-size: 420px 420px; font-size: 10px;
}

/* ===== RESPONSIVE TWEAKS ===== */
@media (max-width: 980px) {
  .jd-pd-grid { grid-template-columns: 1fr; grid-template-areas: "current" "leftoff" "timeline" "cast" "recent" "archive" "stats"; }
  .jd-pd-current-body { grid-template-columns: 1fr; }
  .jd-pd-current-info { border-right: 0; border-bottom: 1px solid rgba(143,105,52,.24); }
}
@media (max-width: 640px) {
  .jd-pd-pagebar { font-size: 13px; }
  .jd-pd-current-info, .jd-pd-current-preview, .jd-pd-leftoff-body, .jd-pd-archive-feature-body { padding: 16px; }
  .jd-pd-current-info h1 { font-size: 23px; }
  .jd-pd-timeline-body { grid-template-columns: 1fr; }
  .jd-pd-cast-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jd-pd-stats-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jd-pd-stats-body > div:nth-child(2) { border-right: 0; }
  .jd-pd-stats-body > div:nth-child(-n+2) { border-bottom: 1px solid rgba(151,112,55,.24); }
}

/* ===== JERSEY DEVIL PORTAL — VISUAL PASS 2 ===== */
/* Second intentional portal override layer. These selectors may look duplicated;
   they refine the established portal markup rather than replace the base block. */

/* ===== PANEL STRUCTURE ===== */
.jd-pd-panel { display: flex; flex-direction: column; }
.jd-pd-current-body, .jd-pd-leftoff-body, .jd-pd-timeline-body, .jd-pd-cast-body, .jd-pd-archive-feature-body, .jd-pd-stats-body { flex: 1; }

/* ===== CLEAN SECTION HEADER ICONS ===== */
.jd-pd-heading > span { display: none; }
.jd-pd-heading::before {
  content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 2px; background: #d5a64d; border: 1px solid #e5c477;
  box-shadow: 0 0 0 2px rgba(213,166,77,.1); transform: rotate(45deg); flex: 0 0 auto;
}

/* ===== CURRENTLY WRITING — HERO CARD ===== */
.jd-pd-current-info { padding-left: 76px; }
.jd-pd-current-info::before {
  content: ""; position: absolute; top: 0; left: 22px; width: 34px; height: 58px; background: linear-gradient(to bottom, #123d4d 0%, #0a2c3b 100%);
  border-left: 1px solid #b68a43; border-right: 1px solid #b68a43; border-bottom: 1px solid #b68a43;
  box-shadow: 0 3px 7px rgba(0,0,0,.18), 0 0 0 1px rgba(255,255,255,.025) inset; clip-path: polygon(0 0, 100% 0, 100% 76%, 50% 100%, 0 76%); z-index: 2;
}
.jd-pd-current-info h1::before { content: ""; position: absolute; left: -42px; top: 8px; width: 13px; height: 13px; border: 2px solid #d5a64d; border-radius: 50%; box-sizing: border-box; }
.jd-pd-current-info h1::after { content: ""; position: absolute; left: -35px; top: 3px; width: 1px; height: 23px; background: #d5a64d; transform: rotate(35deg); transform-origin: center; }
.jd-pd-current-info h1 { position: relative; }
.jd-pd-current-meta { margin-top: 3px; }
.jd-pd-current-meta span { position: relative; }
.jd-pd-cast-line { margin-top: 18px; }
.jd-pd-lastline { margin-top: 12px; }
.jd-pd-current-preview p { position: relative; padding: 4px 2px 4px 19px; }
.jd-pd-current-preview p::before {
  content: "\201C"; position: absolute; left: 0; top: -7px; color: rgba(130,91,37,.7); font-family: Georgia, "Times New Roman", serif; font-size: 31px; font-style: normal;
  line-height: 1;
}

/* ===== WHERE WE LEFT OFF — QUOTE CARD ===== */
.jd-pd-leftoff-body { display: flex; flex-direction: column; }
.jd-pd-leftoff blockquote { position: relative; flex: 1; min-height: 95px; padding: 17px 18px 17px 39px; }
.jd-pd-leftoff blockquote::before {
  content: "\201C"; position: absolute; top: 9px; left: 13px; color: #9b7337; font-family: Georgia, "Times New Roman", serif; font-size: 33px; font-weight: 700;
  line-height: 1; opacity: .85;
}
.jd-pd-text-link { margin-top: auto; padding-top: 3px; }

/* ===== STORY TIMELINE ===== */
.jd-pd-timeline-body { position: relative; align-items: stretch; padding: 16px 13px; }
.jd-pd-timeline-body::before {
  content: ""; position: absolute; left: 11%; right: 11%; top: 50%; height: 1px;
  background: linear-gradient(to right, rgba(166,120,54,.15), rgba(166,120,54,.75) 20%, rgba(166,120,54,.75) 80%, rgba(166,120,54,.15)); z-index: 0;
}
.jd-pd-timeline-item { position: relative; z-index: 1; min-height: 104px; box-shadow: 0 1px 0 rgba(255,255,255,.28) inset, 0 2px 4px rgba(72,48,21,.08); }
.jd-pd-timeline-item::before {
  content: ""; position: absolute; top: 50%; left: -10px; width: 7px; height: 7px; margin-top: -4px; background: #c09448; border: 2px solid #efe1bc; border-radius: 50%;
  box-shadow: 0 0 0 1px #a67636;
}
.jd-pd-timeline-item:first-child::before { display: none; }
.jd-pd-timeline-item.is-current {
  transform: translateY(-2px); background: linear-gradient(rgba(231,192,106,.28), rgba(211,165,73,.20)), rgba(255,249,232,.73);
  box-shadow: 0 0 0 1px rgba(189,139,60,.15) inset, 0 4px 8px rgba(87,58,22,.11);
}
.jd-pd-timeline-item.is-current strong { font-size: 14px; }

/* ===== CURRENT CAST ===== */
.jd-pd-cast-body { grid-template-columns: repeat(auto-fit, minmax(82px, 105px)); justify-content: center; align-content: start; gap: 11px; padding: 14px; }
.jd-pd-cast-card { width: 100%; box-shadow: 0 2px 5px rgba(0,0,0,.14), 0 0 0 1px rgba(255,255,255,.025) inset; transition: transform .15s ease, border-color .15s ease; }
.jd-pd-cast-card:hover { transform: translateY(-2px); }
.jd-pd-cast-card img { aspect-ratio: .92 / 1; }
.jd-pd-cast-card span { min-height: 42px; }
.jd-pd-cast-card strong { font-size: 9px; }
.jd-pd-cast-card small { color: #c9b995; }
.jd-pd-cast-more { grid-column: 1 / -1; width: 100%; margin-top: 1px; text-align: center; }

/* ===== RECENT STORIES ===== */
.jd-pd-recent-row { grid-template-columns: 19px minmax(0, 1fr) auto 14px; gap: 9px; }
.jd-pd-recent-row::before {
  content: ""; width: 11px; height: 11px; box-sizing: border-box; border: 2px solid #9c7336; border-radius: 50%;
  box-shadow: inset 0 0 0 2px rgba(239,225,188,.8), 0 0 0 1px rgba(140,97,40,.15); justify-self: center;
}
.jd-pd-recent-row:nth-child(even) { background: rgba(228,207,164,.16); }
.jd-pd-recent-main strong { font-size: 11.5px; }
.jd-pd-recent-main small { color: #806947; letter-spacing: .1px; }
.jd-pd-recent-meta strong { color: #503f2d; }
.jd-pd-panel-link { font-size: 9px; letter-spacing: .6px; }

/* ===== FROM THE ARCHIVE ===== */
.jd-pd-archive-feature-body { position: relative; display: flex; min-height: 245px; padding: 0; overflow: hidden; }
.jd-pd-archive-feature-body::before {
  content: ""; display: block; flex: 0 0 43%; min-height: 245px;
  background: linear-gradient(rgba(7,27,38,.12), rgba(7,27,38,.22)), url(../../../images/header-night.png) center center / cover no-repeat;
  border-right: 1px solid rgba(151,112,55,.35);
}
.jd-pd-archive-feature-copy {
  flex: 1; min-width: 0; box-sizing: border-box; padding: 19px 17px; background-color: #efe1bc;
  background-image: linear-gradient(rgba(255,250,236,.84), rgba(236,220,184,.82)), url(../../../images/parchment-texture.png); background-size: 420px 420px;
}
.jd-pd-archive-feature-title { font-size: 18px; line-height: 1.1; }
.jd-pd-archive-feature-meta { margin-top: 7px; padding-bottom: 11px; border-bottom: 1px solid rgba(145,103,49,.22); }
.jd-pd-archive-feature p { position: relative; margin: 14px 0 17px; padding-left: 16px; font-size: 10.5px; line-height: 1.55; }
.jd-pd-archive-feature p::before { content: "\201C"; position: absolute; left: 0; top: -3px; color: #9b7337; font-family: Georgia, "Times New Roman", serif; font-size: 24px; line-height: 1; }
.jd-pd-small-button, .jd-pd-small-button:visited { display: block; width: 100%; box-sizing: border-box; margin-top: auto; text-align: center; }

/* ===== OUR STORY — STAT TILES ===== */
.jd-pd-stats-body > div { position: relative; overflow: hidden; min-height: 105px; padding-top: 28px; }
.jd-pd-stats-body > div::before {
  content: ""; position: absolute; top: 13px; left: 50%; width: 12px; height: 12px; margin-left: -7px; border: 1px solid #a27434; border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(162,116,52,.08), inset 0 0 0 2px rgba(255,255,255,.2);
}
.jd-pd-stats-body > div::after { content: ""; position: absolute; top: 18px; left: 50%; width: 18px; height: 1px; margin-left: -9px; background: #a27434; }
.jd-pd-stats-body strong { font-size: 25px; letter-spacing: -.3px; }
.jd-pd-stats-body span { max-width: 130px; line-height: 1.35; }

/* ===== SUBTLE PANEL DEPTH ===== */
.jd-pd-current, .jd-pd-leftoff { box-shadow: 0 5px 13px rgba(0,0,0,.15), 0 0 0 1px rgba(7,28,40,.65); }
.jd-pd-timeline, .jd-pd-cast, .jd-pd-recent, .jd-pd-archive-feature, .jd-pd-stats { box-shadow: 0 3px 9px rgba(0,0,0,.11), 0 0 0 1px rgba(7,28,40,.55); }

/* ===== MOBILE ===== */
@media (max-width: 980px) {
  .jd-pd-cast-body { grid-template-columns: repeat(auto-fit, minmax(90px, 115px)); }
  .jd-pd-archive-feature-body::before { flex-basis: 36%; }
}
@media (max-width: 640px) {
  .jd-pd-current-info { padding-left: 65px; }
  .jd-pd-current-info::before { left: 17px; width: 31px; height: 53px; }
  .jd-pd-current-info h1::before { left: -39px; }
  .jd-pd-current-info h1::after { left: -32px; }
  .jd-pd-timeline-body::before, .jd-pd-timeline-item::before { display: none; }
  .jd-pd-timeline-item.is-current { transform: none; }
  .jd-pd-cast-body { grid-template-columns: repeat(2, minmax(0, 115px)); }
  .jd-pd-archive-feature-body { display: block; }
  .jd-pd-archive-feature-body::before { width: 100%; min-height: 135px; border-right: 0; border-bottom: 1px solid rgba(151,112,55,.35); }
  .jd-pd-archive-feature-copy { padding: 17px; }
  .jd-pd-recent-row { grid-template-columns: 16px minmax(0, 1fr) 12px; }
}

/* ===== JERSEY DEVIL PORTAL — PASS 3: MOCKUP MATCH ===== */
/* Final portal icon/image override layer. Requires assets in /images/jd-portal/.
   This is why several earlier portal pseudo-elements are deliberately redefined here. */

/* ===== REAL SECTION ICONS ===== */
.jd-pd-heading::before { display: none !important; }
.jd-pd-heading > .jd-pd-heading-icon {
  display: inline-block !important; width: 16px; height: 16px; flex: 0 0 16px; background-position: center; background-repeat: no-repeat; background-size: contain;
  filter: brightness(1.18);
}
.jd-pd-heading-current .jd-pd-heading-icon { background-image: url(../../../images/jd-portal/quill.svg); }
.jd-pd-heading-leftoff .jd-pd-heading-icon { background-image: url(../../../images/jd-portal/anchor.svg); }
.jd-pd-heading-timeline .jd-pd-heading-icon { background-image: url(../../../images/jd-portal/compass.svg); }
.jd-pd-heading-cast .jd-pd-heading-icon { background-image: url(../../../images/jd-portal/cast.svg); filter: brightness(1.55); }
.jd-pd-heading-recent .jd-pd-heading-icon { background-image: url(../../../images/jd-portal/ship.svg); }
.jd-pd-heading-archive .jd-pd-heading-icon { background-image: url(../../../images/jd-portal/book.svg); filter: brightness(1.7); }
.jd-pd-heading-stats .jd-pd-heading-icon { background-image: url(../../../images/jd-portal/wheel.svg); filter: brightness(1.6); }

/* ===== CURRENTLY WRITING — MATCH THE GENERATED HERO PANEL ===== */
.jd-pd-current-info::after {
  content: "" !important; width: 94px; height: 94px; right: 18px; bottom: 9px; background: url(../../../images/jd-portal/compass.svg) center / contain no-repeat; opacity: .085;
}
.jd-pd-current-info h1::before {
  content: "" !important; position: absolute; left: -47px; top: 1px; width: 20px; height: 28px; border: 0 !important; border-radius: 0 !important;
  background: url(../../../images/jd-portal/quill.svg) center / contain no-repeat; box-shadow: none !important;
}
.jd-pd-current-info h1::after { display: none !important; }
.jd-pd-current-meta span { display: inline-flex; align-items: center; gap: 5px; }
.jd-pd-meta-icon, .jd-pd-line-icon {
  display: inline-block; width: 13px; height: 13px; flex: 0 0 13px; background-position: center; background-repeat: no-repeat; background-size: contain;
  vertical-align: -2px;
}
.jd-pd-line-icon { width: 14px; height: 14px; margin-right: 5px; }
.jd-pd-icon-location { background-image: url(../../../images/jd-portal/location.svg); }
.jd-pd-icon-calendar { background-image: url(../../../images/jd-portal/calendar.svg); }
.jd-pd-icon-replies { background-image: url(../../../images/jd-portal/replies.svg); }
.jd-pd-icon-cast { background-image: url(../../../images/jd-portal/cast.svg); }
.jd-pd-icon-quill { background-image: url(../../../images/jd-portal/quill.svg); }
.jd-pd-cast-line, .jd-pd-lastline { display: flex; align-items: center; flex-wrap: wrap; }
.jd-pd-current-preview p::before { color: #a67835; }

/* ===== STORY TIMELINE — SHIP / COMPASS / LIGHTHOUSE ===== */
.jd-pd-timeline-item { overflow: visible; }
.jd-pd-timeline-visual { display: block; width: 34px; height: 34px; margin: 0 auto 4px; background-position: center; background-repeat: no-repeat; background-size: contain; opacity: .82; }
.jd-pd-timeline-icon-ship { background-image: url(../../../images/jd-portal/ship.svg); }
.jd-pd-timeline-icon-wheel { background-image: url(../../../images/jd-portal/compass.svg); }
.jd-pd-timeline-icon-lighthouse { background-image: url(../../../images/jd-portal/lighthouse.svg); }
.jd-pd-timeline-item.is-current .jd-pd-timeline-visual { width: 40px; height: 40px; opacity: 1; }
.jd-pd-timeline-item.is-empty .jd-pd-timeline-visual { opacity: .28; }
.jd-pd-timeline-kicker { margin-top: 1px; }

/* ===== CURRENT CAST — DARKER PORTRAIT CARDS / GOLD NAMEPLATES ===== */
.jd-pd-cast-card { border-color: #9d7438; background: #092736; }
.jd-pd-cast-card img { filter: saturate(.88) contrast(1.02); }
.jd-pd-cast-card span {
  position: relative; background: linear-gradient(rgba(5,29,40,.93), rgba(5,29,40,.98)), url(../../../images/pirate-background-categories.png) center / auto 100% repeat-x;
  border-top: 1px solid #8f6932;
}
.jd-pd-cast-card strong { color: #e1b457; }

/* ===== RECENT STORIES — CHARACTER THUMBNAILS + ARCHIVE DATA ===== */
.jd-pd-recent-row::before { display: none !important; }
.jd-pd-recent-row, .jd-pd-recent-row:visited { grid-template-columns: 36px minmax(0, 1fr) auto 14px !important; gap: 10px !important; min-height: 59px; padding: 7px 12px; }
.jd-pd-recent-thumb { display: block; width: 32px; height: 32px; overflow: hidden; border: 1px solid #a0793d; border-radius: 50%; box-shadow: 0 1px 2px rgba(59,39,18,.16); }
.jd-pd-recent-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.jd-pd-recent-main { gap: 1px; }
.jd-pd-recent-main strong { font-size: 11.5px; }
.jd-pd-recent-main small { margin-top: 0; }
.jd-pd-recent-cast { color: #55432d !important; font-family: Georgia, "Times New Roman", serif; font-size: 8.2px !important; }

/* ===== FROM THE ARCHIVE — MORE TEXT + LIGHTHOUSE/TOWN IMAGE CROP ===== */
.jd-pd-archive-feature-body { min-height: 278px; }
.jd-pd-archive-feature-body::before {
  flex: 0 0 42%; min-height: 278px;
  background: linear-gradient(rgba(3,20,29,.10), rgba(3,20,29,.25)), url(../../../images/header-night.png) 82% center / cover no-repeat !important;
}
.jd-pd-archive-feature-copy { display: flex; flex-direction: column; padding: 18px 18px 15px; }
.jd-pd-archive-feature-title { font-size: 18px; }
.jd-pd-archive-feature-meta { line-height: 1.45; }
.jd-pd-archive-feature p { flex: 1; margin: 14px 0 13px; padding-left: 17px; font-size: 10.5px; line-height: 1.58; }
.jd-pd-archive-feature p::before { top: -2px; }
.jd-pd-small-button, .jd-pd-small-button:visited {
  margin-top: auto; padding: 9px 12px;
  background: linear-gradient(rgba(5,53,61,.95), rgba(5,45,55,.95)), url(../../../images/pirate-background-categories.png) center / auto 100% repeat-x;
}

/* ===== OUR STORY — ACTUAL LARGE ICONS ===== */
.jd-pd-stats-body > div::before, .jd-pd-stats-body > div::after { display: none !important; }
.jd-pd-stats-body > div { min-height: 112px; padding: 13px 12px 14px; }
.jd-pd-stat-icon { display: block; width: 31px; height: 31px; margin: 0 auto 7px; background-position: center; background-repeat: no-repeat; background-size: contain; opacity: .9; }
.jd-pd-stat-book { background-image: url(../../../images/jd-portal/book.svg); }
.jd-pd-stat-quill { background-image: url(../../../images/jd-portal/quill.svg); filter: brightness(.68) saturate(.8); }
.jd-pd-stat-people { background-image: url(../../../images/jd-portal/people.svg); }
.jd-pd-stat-wheel { background-image: url(../../../images/jd-portal/wheel.svg); }
.jd-pd-stats-body strong { font-size: 25px; }
.jd-pd-stats-body span { margin-top: 5px; }

/* ===== SUBTLE NAUTICAL WATERMARKS ===== */
.jd-pd-leftoff-body, .jd-pd-timeline-body, .jd-pd-cast-body, .jd-pd-recent-body, .jd-pd-stats-body { position: relative; }
.jd-pd-stats-body::after {
  content: ""; position: absolute; right: 16px; bottom: 7px; width: 62px; height: 62px; background: url(../../../images/jd-portal/compass.svg) center / contain no-repeat;
  opacity: .035; pointer-events: none;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 640px) {
  .jd-pd-current-meta span { width: 100%; }
  .jd-pd-recent-row, .jd-pd-recent-row:visited { grid-template-columns: 34px minmax(0, 1fr) 12px !important; }
  .jd-pd-recent-meta { display: none; }
  .jd-pd-archive-feature-body::before { width: 100%; min-height: 145px; background-position: 82% center !important; }
  .jd-pd-timeline-visual { width: 29px; height: 29px; }
}

/* ===== JERSEY DEVIL PORTAL — MAJOR ARC IMAGE SETS ===== */
.jd-pd-current-info::before {
  background-color: #0a2c3b; background-image: url(../../../images/jd-portal/quill.svg), linear-gradient(to bottom, #123d4d 0%, #0a2c3b 100%);
  background-repeat: no-repeat, no-repeat; background-position: center 17px, center; background-size: 17px 17px, 100% 100%;
}
.jd-pd-archive-feature-body::before {
  background-color: #092938; background-image: linear-gradient(rgba(7,27,38,.08), rgba(7,27,38,.18)), var(--jd-archive-image, url(../../../images/header-night.png));
  background-repeat: no-repeat, no-repeat; background-position: center center, center center; background-size: cover, cover;
}
.jd-pd-archive-feature-body::before { flex-basis: 43%; }
.jd-pd-archive-feature-copy { display: flex; flex-direction: column; }
.jd-pd-archive-feature-copy p { flex: 1; }
@media (max-width: 640px) {
  .jd-pd-current-info::before { background-position: center 15px, center; background-size: 15px 15px, 100% 100%; }
  .jd-pd-archive-feature-body::before { width: 100%; min-height: 145px; }
}

/* ==========================================================================
   JERSEY DEVIL PORTAL — MAJOR ARC IMAGE SETS: FINAL OVERRIDE
   This must stay at the VERY END of global.css.
   It overrides the earlier Pass 3 archive background rule, which uses
   !important and would otherwise keep showing header-night.png.
   ========================================================================== */

/* Currently Writing ribbon — restore the quill icon */
.jd-pd-current-info::before {
  background-color: #0a2c3b !important;
  background-image:
    url(../../../images/jd-portal/quill.svg),
    linear-gradient(to bottom, #123d4d 0%, #0a2c3b 100%) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: center 17px, center !important;
  background-size: 17px 17px, 100% 100% !important;
}

/* From the Archive — use the image selected by jdportal.php.
   --jd-archive-image is set per thread from its Major Story Arc folder. */
.jd-pd-archive-feature-body::before {
  background-color: #092938 !important;
  background-image:
    linear-gradient(rgba(7,27,38,.08), rgba(7,27,38,.18)),
    var(--jd-archive-image, url(../../../images/header-night.png)) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: center center, center center !important;
  background-size: cover, cover !important;
  flex-basis: 43% !important;
}

.jd-pd-archive-feature-copy {
  display: flex;
  flex-direction: column;
}

.jd-pd-archive-feature-copy p {
  flex: 1;
}

@media (max-width: 640px) {
  .jd-pd-current-info::before {
    background-position: center 15px, center !important;
    background-size: 15px 15px, 100% 100% !important;
  }

  .jd-pd-archive-feature-body::before {
    width: 100% !important;
    min-height: 145px !important;
  }
}

/* ==========================================================================
   JERSEY DEVIL PORTAL — RIBBON ICON + STORY TIMELINE WATERMARKS
   Final override. Keep at the VERY END of global.css.
   ========================================================================== */

/* --------------------------------------------------------------------------
   CURRENTLY WRITING RIBBON
   New scroll/map icon so it no longer duplicates the quill beside the title.
   The icon is inline SVG, so no extra image upload is required.
   -------------------------------------------------------------------------- */
.jd-pd-current-info::before {
  background-color: #0a2c3b !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23d6a552' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4.5h10c1.1 0 2 .9 2 2v11c0 1.1-.9 2-2 2H7c-1.1 0-2-.9-2-2v-11c0-1.1.9-2 2-2Z'/%3E%3Cpath d='M7 4.5c-1.1 0-2 .9-2 2s.9 2 2 2h10c1.1 0 2-.9 2-2s-.9-2-2-2'/%3E%3Cpath d='M7 15.5c-1.1 0-2 .9-2 2s.9 2 2 2h10c1.1 0 2-.9 2-2s-.9-2-2-2'/%3E%3Cpath d='M9 10.5h6M9 13h4'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(to bottom, #123d4d 0%, #0a2c3b 100%) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: center 16px, center !important;
  background-size: 19px 19px, 100% 100% !important;
}

/* --------------------------------------------------------------------------
   STORY TIMELINE
   Large faded nautical illustrations sit behind Previous / Current / Next.
   -------------------------------------------------------------------------- */
.jd-pd-timeline-item {
  isolation: isolate;
  overflow: hidden !important;
}

/* keep the text above the watermark */
.jd-pd-timeline-item > * {
  position: relative;
  z-index: 2;
}

/* the old small icon becomes unnecessary once the large watermark is present */
.jd-pd-timeline-visual {
  display: none !important;
}

.jd-pd-timeline-item::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 112px;
  height: 112px;
  pointer-events: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: .095;
}

/* Previous Story — ship drifting in from the lower left */
.jd-pd-timeline-item:nth-child(1)::after {
  left: 14px;
  bottom: -28px;
  background-image: url(../../../images/jd-portal/ship.svg);
  transform: rotate(-5deg);
}

/* Current Story — compass rose centered behind the title */
.jd-pd-timeline-item:nth-child(2)::after {
  left: 50%;
  top: 50%;
  width: 126px;
  height: 126px;
  background-image: url(../../../images/jd-portal/compass.svg);
  opacity: .11;
  transform: translate(-50%, -50%);
}

/* Next Story — lighthouse rising from the lower right */
.jd-pd-timeline-item:nth-child(3)::after {
  right: 12px;
  bottom: -24px;
  width: 100px;
  height: 100px;
  background-image: url(../../../images/jd-portal/lighthouse.svg);
  opacity: .08;
}

/* Current story should remain the visual focal point */
.jd-pd-timeline-item.is-current::after {
  opacity: .13;
}

/* Empty previous / next cards keep their art, but more ghosted */
.jd-pd-timeline-item.is-empty::after {
  opacity: .055;
}

/* Give the cards a little more height so the watermarks breathe */
.jd-pd-timeline-item,
.jd-pd-timeline-item:visited {
  min-height: 112px;
}

/* Subtle inner fade keeps the artwork behind the text rather than competing */
.jd-pd-timeline-item::before {
  z-index: 3;
}

@media (max-width: 640px) {
  .jd-pd-current-info::before {
    background-position: center 14px, center !important;
    background-size: 17px 17px, 100% 100% !important;
  }

  .jd-pd-timeline-item::after {
    width: 96px;
    height: 96px;
  }

  .jd-pd-timeline-item:nth-child(2)::after {
    width: 108px;
    height: 108px;
  }

  .jd-pd-timeline-item,
  .jd-pd-timeline-item:visited {
    min-height: 92px;
  }
}
/* ==========================================================================
   JERSEY DEVIL — CUSTOM ACCOUNT SWITCHER
   ========================================================================== */


/* ==========================================================================
   DESKTOP CONTAINER
   ========================================================================== */

.jd-unified-nav #panel .jd-panel-welcome {
	position: relative !important;
	overflow: visible !important;
	z-index: 3000 !important;
}


/* Settings icon remains its own clickable control */
.jd-unified-nav #panel .jd-panel-welcome a.jd-account-icon,
.jd-unified-nav #panel .jd-panel-welcome a.jd-account-icon:link,
.jd-unified-nav #panel .jd-panel-welcome a.jd-account-icon:visited {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 38px !important;

	width: 38px !important;
	min-width: 38px !important;
	min-height: 52px !important;

	margin: 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;

	background-color:
		rgba(214, 165, 82, .045) !important;

	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='3.5' fill='none' stroke='%23e4c27b' stroke-width='1.8'/%3E%3Cpath d='M5.5 20c.45-4.2 2.65-6.3 6.5-6.3s6.05 2.1 6.5 6.3' fill='none' stroke='%23e4c27b' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") !important;

	background-repeat: no-repeat !important;
	background-position: center center !important;

	border: 0 !important;
	border-right:
		1px solid rgba(214, 165, 82, .22) !important;

	font-size: 0 !important;
	line-height: 0 !important;

	text-decoration: none !important;
}


.jd-unified-nav #panel .jd-panel-welcome a.jd-account-icon:hover,
.jd-unified-nav #panel .jd-panel-welcome a.jd-account-icon:focus {
	background-color:
		rgba(22, 86, 93, .56) !important;
}


/* ==========================================================================
   SWITCHER ROOT
   ========================================================================== */

.jd-account-switcher {
	position: relative;
	margin: 0;
	padding: 0;
}


/* Remove native details marker */
.jd-account-switcher > summary {
	list-style: none;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.jd-account-switcher > summary::-webkit-details-marker {
	display: none;
}

.jd-account-switcher > summary::marker {
	content: "";
}


/* ==========================================================================
   DESKTOP TRIGGER
   Username in the main navigation bar
   ========================================================================== */

.jd-account-switcher-desktop {
	display: flex;
	align-items: stretch;
	min-height: 52px;
}


.jd-account-switcher-desktop > summary {
	position: relative;

	display: flex;
	align-items: center;

	min-height: 52px;

	padding: 0 31px 0 12px;

	box-sizing: border-box;

	color: #d8c8a5;

	background: transparent;

	font-family: Georgia, "Times New Roman", serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .15px;
	white-space: nowrap;
}


/* Down arrow */
.jd-account-switcher-desktop > summary::after {
	content: "";

	position: absolute;
	right: 12px;
	top: 50%;

	width: 5px;
	height: 5px;

	border: solid #d6a552;
	border-width: 0 1.5px 1.5px 0;

	transform:
		translateY(-65%)
		rotate(45deg);

	transition: transform .15s ease;
}


.jd-account-switcher-desktop[open] > summary::after {
	transform:
		translateY(-30%)
		rotate(-135deg);
}


.jd-account-switcher-desktop > summary:hover,
.jd-account-switcher-desktop[open] > summary {
	color: #fff3d1;
	background: rgba(22, 86, 93, .30);
}


/* ==========================================================================
   DROPDOWN PANEL
   ========================================================================== */

.jd-account-switcher-desktop .jd-switch-menu {
	position: absolute;

	top: calc(100% + 2px);
	right: 0;

	width: 340px;

	z-index: 6000;
}


.jd-switch-menu-inner {
	overflow: hidden;

	color: #efe1bc;

	background:
		linear-gradient(
			to bottom,
			rgba(12, 45, 69, .98),
			rgba(4, 20, 33, .995)
		);

	border: 1px solid #b9812f;
	border-top: 2px solid #d6a552;

	box-shadow:
		0 12px 30px rgba(0, 0, 0, .46),
		inset 0 0 0 1px rgba(255, 240, 199, .025);

	white-space: normal;
}


/* ==========================================================================
   CURRENT ACCOUNT
   ========================================================================== */

.jd-switch-current-card {
	display: flex;
	align-items: center;
	gap: 11px;

	padding: 12px;

	background:
		linear-gradient(
			to right,
			rgba(22, 86, 93, .30),
			rgba(6, 35, 56, .12)
		);

	border-bottom:
		1px solid rgba(214, 165, 82, .32);
}


.jd-switch-current-avatar,
.jd-switch-account-avatar {
	display: flex;
	align-items: center;
	justify-content: center;

	overflow: hidden;

	flex: 0 0 auto;

	color: #e4c27b;

	background: #071a2b;

	border: 1px solid #b68135;

	font-family: Georgia, "Times New Roman", serif;
	font-weight: 700;
}


.jd-switch-current-avatar {
	width: 44px;
	height: 44px;

	border-radius: 50%;
}


.jd-switch-account-avatar {
	width: 34px;
	height: 34px;

	border-radius: 4px;
}


.jd-switch-current-avatar img,
.jd-switch-account-avatar img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


.jd-switch-avatar-fallback {
	background:
		radial-gradient(
			circle at 35% 30%,
			#175569 0%,
			#071a2b 72%
		);
}


.jd-switch-current-copy {
	display: flex;
	flex-direction: column;

	min-width: 0;
}


.jd-switch-current-kicker {
	margin-bottom: 2px;

	color: #ad9f7e;

	font-family: Arial, Helvetica, sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .9px;

	text-transform: uppercase;
}


.jd-switch-current-copy strong {
	overflow: hidden;

	color: #f0dfb5 !important;

	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 15px !important;
	line-height: 1.2;

	text-overflow: ellipsis;
	white-space: nowrap;
}


/* ==========================================================================
   SEARCH
   ========================================================================== */

.jd-switch-search-wrap {
	position: relative;

	display: block;

	margin: 10px 10px 8px;
}


.jd-switch-search {
	display: block;

	width: 100%;
	height: 34px;

	margin: 0 !important;
	padding: 0 10px 0 34px !important;

	box-sizing: border-box;

	color: #efe1bc !important;

	background: #061a29 !important;

	border:
		1px solid rgba(214, 165, 82, .50) !important;

	border-radius: 3px !important;

	font-size: 10px !important;
}


.jd-switch-search::placeholder {
	color: #948b77;
	opacity: 1;
}


.jd-switch-search:focus {
	border-color: #d6a552 !important;
	box-shadow:
		0 0 0 2px rgba(214, 165, 82, .10) !important;
}


.jd-switch-search-icon {
	position: absolute;

	top: 50%;
	left: 11px;

	width: 12px;
	height: 12px;

	transform: translateY(-50%);

	border: 1.5px solid #d6a552;
	border-radius: 50%;

	pointer-events: none;
}


.jd-switch-search-icon::after {
	content: "";

	position: absolute;

	width: 5px;
	height: 1.5px;

	right: -4px;
	bottom: -2px;

	background: #d6a552;

	transform: rotate(45deg);
	transform-origin: left center;
}


/* ==========================================================================
   SECTION HEADINGS
   ========================================================================== */

.jd-switch-section-title {
	padding: 5px 11px;

	color: #aa9b78;

	background: rgba(2, 15, 25, .42);

	border-top:
		1px solid rgba(214, 165, 82, .14);

	border-bottom:
		1px solid rgba(214, 165, 82, .14);

	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1px;

	text-transform: uppercase;
}


/* ==========================================================================
   CHARACTER LIST
   ========================================================================== */

.jd-switch-account-list {
	max-height: 315px;

	overflow-x: hidden;
	overflow-y: auto;

	scrollbar-width: thin;
	scrollbar-color:
		rgba(214, 165, 82, .46)
		transparent;
}


.jd-switch-account-list::-webkit-scrollbar {
	width: 5px;
}


.jd-switch-account-list::-webkit-scrollbar-track {
	background: transparent;
}


.jd-switch-account-list::-webkit-scrollbar-thumb {
	background: rgba(214, 165, 82, .46);
	border-radius: 999px;
}


.jd-switch-account-row {
	display: block;

	width: 100%;

	margin: 0 !important;
	padding: 0 !important;
}


.jd-switch-account-row[hidden] {
	display: none !important;
}


/* Kill generic MyBB button styling */
.jd-switch-account-button {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;

	width: 100% !important;
	min-height: 49px !important;

	margin: 0 !important;
	padding: 7px 11px !important;

	box-sizing: border-box !important;

	color: #ead7aa !important;

	background: transparent !important;

	border: 0 !important;
	border-bottom:
		1px solid rgba(214, 165, 82, .11) !important;

	border-radius: 0 !important;

	box-shadow: none !important;

	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;

	text-align: left !important;
	text-transform: none !important;

	cursor: pointer !important;
}


.jd-switch-account-button:hover,
.jd-switch-account-button:focus {
	color: #fff4d6 !important;

	background:
		rgba(22, 86, 93, .56) !important;

	outline: 0 !important;
}


.jd-switch-account-row.is-current .jd-switch-account-button {
	background:
		rgba(214, 165, 82, .07) !important;

	cursor: default !important;
}


.jd-switch-account-row.is-current .jd-switch-account-button:hover {
	background:
		rgba(214, 165, 82, .07) !important;
}


.jd-switch-account-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	flex: 1 1 auto;

	min-width: 0;
}


.jd-switch-account-name {
	width: 100%;

	overflow: hidden;

	color: inherit;

	font-family: Georgia, "Times New Roman", serif;
	font-size: 12px;
	font-weight: 700;

	text-overflow: ellipsis;
	white-space: nowrap;
}


.jd-switch-account-badges {
	display: flex;
	align-items: center;
	gap: 4px;

	min-height: 13px;

	margin-top: 2px;
}


.jd-switch-badge {
	display: inline-block;

	padding: 1px 4px;

	border: 1px solid;

	font-size: 7px;
	font-weight: 700;
	letter-spacing: .45px;
	line-height: 1.2;

	text-transform: uppercase;
}


.jd-switch-badge-current {
	color: #83cbc1;
	border-color: rgba(83, 170, 164, .58);
}


.jd-switch-badge-home {
	color: #e4c27b;
	border-color: rgba(214, 165, 82, .58);
}


.jd-switch-account-arrow {
	flex: 0 0 5px;

	width: 5px;
	height: 5px;

	margin-left: auto;

	border: solid #9c8c68;
	border-width: 1px 1px 0 0;

	transform: rotate(45deg);
}


.jd-switch-account-row.is-current .jd-switch-account-arrow {
	display: none;
}


/* ==========================================================================
   RECENT ACCOUNTS
   ========================================================================== */

.jd-switch-recent-list {
	background: rgba(214, 165, 82, .025);
}


.jd-switch-recent-list .jd-switch-account-button {
	min-height: 45px !important;
}


.jd-switch-recent-list .jd-switch-account-avatar {
	width: 30px;
	height: 30px;
}


/* ==========================================================================
   EMPTY SEARCH
   ========================================================================== */

.jd-switch-empty {
	padding: 18px 12px;

	color: #a9a08a;

	font-size: 10px;
	text-align: center;
}


/* ==========================================================================
   FOOTER LINKS
   ========================================================================== */

.jd-switch-menu-footer {
	display: flex;

	border-top:
		1px solid rgba(214, 165, 82, .28);

	background:
		rgba(1, 13, 22, .46);
}


.jd-unified-nav
#panel
.jd-panel-welcome
.jd-switch-menu-footer a,
.jd-unified-nav
#panel
.jd-panel-welcome
.jd-switch-menu-footer a:link,
.jd-unified-nav
#panel
.jd-panel-welcome
.jd-switch-menu-footer a:visited {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	flex: 1 1 50% !important;

	min-height: 34px !important;

	margin: 0 !important;
	padding: 0 8px !important;

	color: #c6b58e !important;

	background: transparent !important;

	border: 0 !important;
	border-right:
		1px solid rgba(214, 165, 82, .15) !important;

	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 8px !important;
	font-weight: 700 !important;
	letter-spacing: .45px !important;

	text-transform: uppercase !important;
	text-decoration: none !important;
}


.jd-unified-nav
#panel
.jd-panel-welcome
.jd-switch-menu-footer a:last-child {
	border-right: 0 !important;
}


.jd-unified-nav
#panel
.jd-panel-welcome
.jd-switch-menu-footer a:hover {
	color: #fff3cf !important;

	background:
		rgba(22, 86, 93, .46) !important;
}


/* ==========================================================================
   MOBILE ACCOUNT SWITCHER
   Lives inside the existing username dropdown.
   ========================================================================== */

.jd-account-switcher-mobile {
	display: none;
}


@media (max-width: 900px) {

	.jd-account-switcher-desktop {
		display: none !important;
	}


	.jd-account-switcher-mobile {
		display: block !important;

		width: 100%;

		margin: 0 0 6px !important;

		border-bottom:
			1px solid rgba(214, 165, 82, .28);
	}


	.jd-account-switcher-mobile > summary {
		position: relative;

		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;

		min-height: 42px !important;

		padding: 0 30px 0 11px !important;

		box-sizing: border-box !important;

		color: #e4c27b !important;

		background:
			rgba(214, 165, 82, .05) !important;

		border:
			1px solid rgba(214, 165, 82, .20) !important;

		font-family: Arial, Helvetica, sans-serif !important;
		font-size: 9px !important;
		font-weight: 700 !important;
		letter-spacing: .45px !important;

		text-transform: uppercase !important;
	}


	.jd-account-switcher-mobile > summary::after {
		content: "";

		position: absolute;

		right: 12px;
		top: 50%;

		width: 5px;
		height: 5px;

		border: solid #d6a552;
		border-width: 0 1.5px 1.5px 0;

		transform:
			translateY(-65%)
			rotate(45deg);
	}


	.jd-account-switcher-mobile[open] > summary::after {
		transform:
			translateY(-30%)
			rotate(-135deg);
	}


	.jd-switch-mobile-summary-name {
		margin-left: 8px;

		overflow: hidden;

		color: #f0dfb5;

		font-family: Georgia, "Times New Roman", serif;
		font-size: 11px;
		letter-spacing: 0;

		text-transform: none;

		text-overflow: ellipsis;
		white-space: nowrap;
	}


	.jd-account-switcher-mobile .jd-switch-menu {
		position: static;

		width: 100%;

		margin: 0;

		padding: 0;
	}


	.jd-account-switcher-mobile .jd-switch-menu-inner {
		border-top: 0;

		box-shadow: none;
	}


	.jd-account-switcher-mobile .jd-switch-account-list {
		max-height: 260px;
	}


	.jd-account-switcher-mobile .jd-switch-current-card {
		padding: 9px;
	}


	.jd-account-switcher-mobile .jd-switch-current-avatar {
		width: 38px;
		height: 38px;
	}


	.jd-account-switcher-mobile .jd-switch-search-wrap {
		margin: 8px;
	}


	.jd-account-switcher-mobile .jd-switch-menu-footer a,
	.jd-account-switcher-mobile .jd-switch-menu-footer a:link,
	.jd-account-switcher-mobile .jd-switch-menu-footer a:visited {
		display: flex !important;

		min-height: 34px !important;

		padding: 0 5px !important;

		color: #c6b58e !important;

		font-size: 8px !important;
		text-transform: uppercase !important;
	}


	/* Keep the nested switcher from inheriting the normal dropdown
	   link styling. */
	.jd-mobile-user-dropdown
	.jd-account-switcher
	button {
		text-transform: none !important;
	}

}
/* ==========================================================================
   JERSEY DEVIL — ACCOUNT SWITCHER QUICK REPLY INTEGRATION
   Requires JD Account Switcher v0.3.0+
   ========================================================================== */

/* Remove the browser's bright default focus ring on the themed search field. */
.jd-switch-search:focus {
	outline: none !important;
	border-color: #d6a552 !important;
	box-shadow: 0 0 0 2px rgba(214,165,82,.12) !important;
}

/* The switch menu needs to be allowed to escape the Posting As card. */
.jd-reply-identity-card {
	position: relative !important;
	overflow: visible !important;
	z-index: 40;
}

.jd-reply-identity {
	position: relative !important;
	overflow: visible !important;
}

/* Quick Reply trigger ----------------------------------------------------- */
.jd-account-switcher-quickreply {
	position: relative;
	flex: 0 0 auto;
	margin-left: auto;
	z-index: 6500;
}

.jd-account-switcher-quickreply > summary {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 76px;
	height: 32px;
	padding: 0 27px 0 10px;
	box-sizing: border-box;

	color: #e4c27b;
	background: #072a3d;

	border: 1px solid rgba(201,155,61,.68);
	border-radius: 3px;

	font-family: Arial, Helvetica, sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .7px;
	line-height: 1;
	text-transform: uppercase;

	cursor: pointer;
	list-style: none;
}

.jd-account-switcher-quickreply > summary::-webkit-details-marker {
	display: none;
}

.jd-account-switcher-quickreply > summary::marker {
	content: "";
}

.jd-account-switcher-quickreply > summary::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;

	width: 5px;
	height: 5px;

	border: solid #d6a552;
	border-width: 0 1.5px 1.5px 0;

	transform: translateY(-65%) rotate(45deg);
	transition: transform .15s ease;
}

.jd-account-switcher-quickreply[open] > summary::after {
	transform: translateY(-30%) rotate(-135deg);
}

.jd-account-switcher-quickreply > summary:hover,
.jd-account-switcher-quickreply[open] > summary {
	color: #fff3d1;
	background: #0d414a;
	border-color: #e4c27b;
}

/* Quick Reply dropdown ---------------------------------------------------- */
.jd-account-switcher-quickreply .jd-switch-menu {
	position: absolute;
	top: calc(100% + 7px);
	right: 0;

	width: 340px;
	max-width: calc(100vw - 32px);

	z-index: 7000;
}

.jd-account-switcher-quickreply .jd-switch-menu-inner {
	box-shadow:
		0 12px 30px rgba(0,0,0,.42),
		inset 0 0 0 1px rgba(255,240,199,.025);
}

/* Footer links need styles outside the header-specific selectors. */
.jd-account-switcher-quickreply .jd-switch-menu-footer a,
.jd-account-switcher-quickreply .jd-switch-menu-footer a:link,
.jd-account-switcher-quickreply .jd-switch-menu-footer a:visited {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 1 1 50% !important;

	min-height: 34px !important;
	margin: 0 !important;
	padding: 0 8px !important;

	color: #c6b58e !important;
	background: transparent !important;

	border: 0 !important;
	border-right: 1px solid rgba(214,165,82,.15) !important;

	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 8px !important;
	font-weight: 700 !important;
	letter-spacing: .45px !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}

.jd-account-switcher-quickreply .jd-switch-menu-footer a:last-child {
	border-right: 0 !important;
}

.jd-account-switcher-quickreply .jd-switch-menu-footer a:hover {
	color: #fff3cf !important;
	background: rgba(22,86,93,.46) !important;
}

/* Mobile ----------------------------------------------------------------- */
@media (max-width: 700px) {
	.jd-account-switcher-quickreply {
		margin-left: auto;
	}

	.jd-account-switcher-quickreply > summary {
		width: 34px;
		min-width: 34px;
		height: 34px;
		padding: 0;

		font-size: 0;
	}

	.jd-account-switcher-quickreply > summary::after {
		right: 50%;
		margin-right: -3px;
	}

	.jd-account-switcher-quickreply .jd-switch-menu {
		position: absolute;
		right: -1px;
		width: min(340px, calc(100vw - 30px));
	}

	.jd-account-switcher-quickreply .jd-switch-account-list {
		max-height: 250px;
	}
}
/* ==========================================================================
   JERSEY DEVIL — PIRATE ICON RECOVERY + FULL REPLY ACCOUNT SWITCHER
   Requires JD Account Switcher v0.4.0+
   ========================================================================== */

/* --------------------------------------------------------------------------
   PIRATE ICON RECOVERY
   Use an inline SVG instead of a font glyph so browser/font changes cannot
   make the skull disappear from post author cards or the footer.
   -------------------------------------------------------------------------- */

.jd-author-skull::before,
.jd-footer-mark::before {
	content: "" !important;
	display: block !important;
	width: 26px !important;
	height: 26px !important;
	background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20d%3D%22M4%205l16%2014M20%205L4%2019%22%20fill%3D%22none%22%20stroke%3D%22%23d6a552%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Ccircle%20cx%3D%224%22%20cy%3D%225%22%20r%3D%221.4%22%20fill%3D%22%23d6a552%22%2F%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2219%22%20r%3D%221.4%22%20fill%3D%22%23d6a552%22%2F%3E%0A%3Ccircle%20cx%3D%2220%22%20cy%3D%225%22%20r%3D%221.4%22%20fill%3D%22%23d6a552%22%2F%3E%3Ccircle%20cx%3D%224%22%20cy%3D%2219%22%20r%3D%221.4%22%20fill%3D%22%23d6a552%22%2F%3E%0A%3Cpath%20d%3D%22M12%203.3c-4.1%200-7%202.8-7%206.5%200%202.7%201.5%204.7%203.7%205.7v3.1h2v-2.1h2.6v2.1h2v-3.1c2.2-1%203.7-3%203.7-5.7%200-3.7-2.9-6.5-7-6.5z%22%20fill%3D%22%23071a2b%22%20stroke%3D%22%23d6a552%22%20stroke-width%3D%221.5%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3Ccircle%20cx%3D%229.4%22%20cy%3D%229.5%22%20r%3D%221.2%22%20fill%3D%22%23d6a552%22%2F%3E%3Ccircle%20cx%3D%2214.6%22%20cy%3D%229.5%22%20r%3D%221.2%22%20fill%3D%22%23d6a552%22%2F%3E%0A%3Cpath%20d%3D%22M12%2011.2l-1%202h2z%22%20fill%3D%22%23d6a552%22%2F%3E%0A%3C%2Fsvg%3E) !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
	font-size: 0 !important;
	line-height: 0 !important;
}

.jd-footer-mark::before {
	width: 21px !important;
	height: 21px !important;
}

/* --------------------------------------------------------------------------
   FULL REPLY ACCOUNT SWITCHER
   Same visual language as the Quick Reply switcher.
   -------------------------------------------------------------------------- */

.jd-account-switcher-fullreply {
	position: relative;
	flex: 0 0 auto;
	margin-left: auto;
	z-index: 6500;
}

.jd-account-switcher-fullreply > summary {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 76px;
	height: 32px;
	padding: 0 27px 0 10px;
	box-sizing: border-box;
	color: #e4c27b;
	background: #072a3d;
	border: 1px solid rgba(201,155,61,.68);
	border-radius: 3px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .7px;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	list-style: none;
}

.jd-account-switcher-fullreply > summary::-webkit-details-marker {
	display: none;
}

.jd-account-switcher-fullreply > summary::marker {
	content: "";
}

.jd-account-switcher-fullreply > summary::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;
	width: 5px;
	height: 5px;
	border: solid #d6a552;
	border-width: 0 1.5px 1.5px 0;
	transform: translateY(-65%) rotate(45deg);
	transition: transform .15s ease;
}

.jd-account-switcher-fullreply[open] > summary::after {
	transform: translateY(-30%) rotate(-135deg);
}

.jd-account-switcher-fullreply > summary:hover,
.jd-account-switcher-fullreply[open] > summary {
	color: #fff3d1;
	background: #0d414a;
	border-color: #e4c27b;
}

.jd-account-switcher-fullreply .jd-switch-menu {
	position: absolute;
	top: calc(100% + 7px);
	right: 0;
	width: 340px;
	max-width: calc(100vw - 32px);
	z-index: 7000;
}

.jd-account-switcher-fullreply .jd-switch-menu-inner {
	box-shadow:
		0 12px 30px rgba(0,0,0,.42),
		inset 0 0 0 1px rgba(255,240,199,.025);
}

.jd-account-switcher-fullreply .jd-switch-menu-footer a,
.jd-account-switcher-fullreply .jd-switch-menu-footer a:link,
.jd-account-switcher-fullreply .jd-switch-menu-footer a:visited {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 1 1 50% !important;
	min-height: 34px !important;
	margin: 0 !important;
	padding: 0 8px !important;
	color: #c6b58e !important;
	background: transparent !important;
	border: 0 !important;
	border-right: 1px solid rgba(214,165,82,.15) !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 8px !important;
	font-weight: 700 !important;
	letter-spacing: .45px !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}

.jd-account-switcher-fullreply .jd-switch-menu-footer a:last-child {
	border-right: 0 !important;
}

.jd-account-switcher-fullreply .jd-switch-menu-footer a:hover {
	color: #fff3cf !important;
	background: rgba(22,86,93,.46) !important;
}

@media (max-width: 700px) {
	.jd-account-switcher-fullreply {
		margin-left: auto;
	}

	.jd-account-switcher-fullreply > summary {
		width: 34px;
		min-width: 34px;
		height: 34px;
		padding: 0;
		font-size: 0;
	}

	.jd-account-switcher-fullreply > summary::after {
		right: 50%;
		margin-right: -3px;
	}

	.jd-account-switcher-fullreply .jd-switch-menu {
		right: -1px;
		width: min(340px, calc(100vw - 30px));
	}

	.jd-account-switcher-fullreply .jd-switch-account-list {
		max-height: 250px;
	}
}
/* ==========================================================================
   JERSEY DEVIL — STORY SEARCH
   Permanent styles for /jdsearch.php
   ========================================================================== */
.jd-search-page { max-width:1320px; margin:0 auto; padding:4px 0 24px; }
.jd-search-hero { position:relative; overflow:hidden; display:flex; align-items:flex-end; justify-content:space-between; gap:22px; margin:0 0 10px; padding:18px 20px; color:var(--jd-cream); background:linear-gradient(to bottom,#0c3149 0%,#071d2e 100%); border:1px solid var(--jd-gold); box-shadow:0 3px 10px rgba(0,0,0,.16); }
.jd-search-hero::after { content:""; position:absolute; right:18px; bottom:-28px; width:112px; height:112px; background:url(../../../images/jd-portal/compass.svg) center/contain no-repeat; opacity:.055; pointer-events:none; }
.jd-search-hero > * { position:relative; z-index:1; }
.jd-search-hero h1 { margin:0 0 3px; color:var(--jd-gold-soft); font:700 26px/1.08 Georgia,"Times New Roman",serif; }
.jd-search-hero p { max-width:760px; margin:0; color:#e8ddc2; font-size:11px; }
.jd-search-result-count { flex:0 0 auto; color:var(--jd-gold-soft); font:700 11px Georgia,"Times New Roman",serif; letter-spacing:.45px; text-transform:uppercase; }

.jd-search-presets { display:flex; flex-wrap:wrap; gap:0; margin:0 0 10px; border:1px solid rgba(214,165,82,.72); background:var(--jd-navy); }
.jd-search-preset,.jd-search-preset:visited { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:7px 18px; box-sizing:border-box; color:var(--jd-cream)!important; border-right:1px solid rgba(214,165,82,.35); font-size:10px; font-weight:700; letter-spacing:.45px; text-decoration:none!important; text-transform:uppercase; }
.jd-search-preset:last-child { border-right:0; }
.jd-search-preset:hover { color:#fff6dc!important; background:var(--jd-teal-dark); }
.jd-search-preset-active,.jd-search-preset-active:visited { color:#2a241a!important; background:linear-gradient(#e0b65d,#bd8731); box-shadow:inset 0 1px 0 rgba(255,255,255,.28); }

.jd-search-form,.jd-search-result,.jd-search-empty { color:var(--jd-text); background-color:var(--jd-paper); background-image:linear-gradient(rgba(255,249,232,.72),rgba(236,220,184,.72)),url(../../../images/parchment-texture.png); background-size:420px 420px; border:1px solid #9e793f; box-shadow:0 3px 10px rgba(0,0,0,.10); }
.jd-search-form { margin:0 0 14px; padding:14px; }
.jd-search-keyword-row { display:grid; grid-template-columns:minmax(0,2.4fr) minmax(150px,.7fr) auto; gap:10px; align-items:end; }
.jd-bio-search-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 10px; margin-bottom:10px; }
.jd-bio-search-heading strong { color:#173f50; font:700 16px Georgia,"Times New Roman",serif; }
.jd-bio-search-heading span { color:#746349; font-size:10px; }
.jd-bio-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px; align-items:end; }
.jd-search-field { min-width:0; }
.jd-search-field label { display:block; margin:0 0 4px; color:#65543b; font-size:9px; font-weight:700; letter-spacing:.45px; text-transform:uppercase; }
.jd-search-field input,.jd-search-field select { width:100%; min-height:36px; box-sizing:border-box; padding:7px 9px; color:#17222a; background:#f5ead0; border:1px solid #9a763f; border-radius:2px; font-size:12px; }
.jd-search-field input:focus,.jd-search-field select:focus { outline:none; border-color:var(--jd-gold); box-shadow:0 0 0 2px rgba(214,165,82,.18); }

.jd-search-submit,.jd-search-clear,.jd-search-primary-button,.jd-search-secondary-button { display:inline-flex; align-items:center; justify-content:center; min-height:36px; box-sizing:border-box; padding:7px 13px; border:1px solid #946725; font:700 10px Arial,Helvetica,sans-serif; letter-spacing:.4px; text-decoration:none!important; text-transform:uppercase; cursor:pointer; }
.jd-search-submit,.jd-search-primary-button,.jd-search-primary-button:visited { color:#2a241a!important; background:linear-gradient(#e0b65d,#bd8731); }
.jd-search-submit:hover,.jd-search-primary-button:hover { color:#211a10!important; background:linear-gradient(#ebc66f,#c9943c); }
.jd-search-clear,.jd-search-secondary-button,.jd-search-secondary-button:visited { color:#fff1ca!important; background:var(--jd-teal); border-color:#9a763f; }
.jd-search-clear:hover,.jd-search-secondary-button:hover { color:#fff!important; background:#1c6870; }

.jd-search-advanced { margin-top:12px; padding-top:10px; border-top:1px solid rgba(113,82,39,.25); }
.jd-search-advanced summary { color:#173f50; cursor:pointer; font:700 12px Georgia,"Times New Roman",serif; letter-spacing:.35px; text-transform:uppercase; }
.jd-search-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:10px; }
.jd-search-filter-actions { display:flex; align-items:end; gap:7px; }

.jd-search-result { margin:0 0 10px; overflow:hidden; }
.jd-search-result-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:11px 14px 7px; }
.jd-search-result-main { min-width:0; }
.jd-search-hierarchy { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:4px; color:#7b6748; font-size:9px; font-weight:700; letter-spacing:.35px; text-transform:uppercase; }
.jd-search-crumb-sep,.jd-search-dot { color:#a9854a; }
.jd-search-result-title { margin:0; font:700 18px/1.12 Georgia,"Times New Roman",serif; }
.jd-search-result-title a,.jd-search-result-title a:visited { color:#123f50!important; text-decoration:none!important; }
.jd-search-result-title a:hover { color:#946226!important; }
.jd-search-status { flex:0 0 auto; margin-top:2px; padding:4px 8px; border:1px solid; font-size:9px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; }
.jd-search-status.is-complete { color:#536139; background:rgba(214,224,177,.54); border-color:#87955d; }
.jd-search-status.is-active { color:#15505a; background:rgba(187,221,218,.48); border-color:#5b8b8d; }
.jd-search-status.is-legacy { color:#736246; background:rgba(221,207,177,.42); border-color:#a58f66; }
.jd-search-status.is-bio { color:#684b1d; background:rgba(232,210,158,.52); border-color:#b58a43; }
.jd-bio-result .jd-search-result-title { font-size:19px; }
.jd-search-cast { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; color:#685942; font-size:10px; }
.jd-search-label { color:#8a672f; font-weight:700; letter-spacing:.35px; text-transform:uppercase; }
.jd-search-cast a,.jd-search-cast a:visited { color:#315968!important; }
.jd-search-excerpt { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; margin:0; padding:0 14px 9px; color:#4f4537; font:10px/1.45 Georgia,"Times New Roman",serif; }
.jd-search-result-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:7px 10px; background:rgba(224,204,161,.34); border-top:1px solid rgba(118,87,42,.20); }
.jd-search-meta { display:flex; flex-wrap:wrap; gap:6px 14px; color:#78684f; font-size:9px; font-weight:700; letter-spacing:.2px; text-transform:uppercase; }
.jd-search-result-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.jd-search-result-actions .jd-search-primary-button,.jd-search-result-actions .jd-search-secondary-button { min-height:29px; padding:5px 9px; font-size:9px; }

.jd-search-empty { padding:30px 20px; text-align:center; color:#695b46; }
.jd-search-empty strong,.jd-search-empty span { display:block; }
.jd-search-empty strong { margin-bottom:5px; color:#173f50; font:700 16px Georgia,"Times New Roman",serif; }
.jd-search-pagination { display:flex; flex-wrap:wrap; gap:5px; margin-top:14px; }
.jd-search-page-link,.jd-search-page-link:visited { display:inline-flex; align-items:center; justify-content:center; min-width:32px; min-height:30px; padding:4px 8px; box-sizing:border-box; color:var(--jd-gold-soft)!important; background:rgba(8,35,56,.95); border:1px solid #a67d3e; border-radius:4px; font-size:10px; font-weight:700; text-decoration:none!important; }
.jd-search-page-link:hover { color:#fff!important; background:var(--jd-teal); }
.jd-search-page-link.is-current { color:#5a421d!important; background:var(--jd-paper); }
.jd-search-page-gap { align-self:center; color:var(--jd-gold-soft); }

@media (max-width:980px) { .jd-search-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) {
  .jd-search-page { padding-top:0; }
  .jd-search-hero { align-items:flex-start; flex-direction:column; padding:15px; }
  .jd-search-hero h1 { font-size:23px; }
  .jd-search-keyword-row,.jd-bio-search-row,.jd-search-filter-grid { grid-template-columns:1fr; }
  .jd-search-keyword-row .jd-search-submit,.jd-bio-search-row .jd-search-submit,.jd-bio-search-row .jd-search-clear { width:100%; }
  .jd-search-result-top,.jd-search-result-footer { align-items:flex-start; flex-direction:column; }
  .jd-search-result-actions { width:100%; justify-content:flex-start; }
  .jd-search-result-actions a { flex:1 1 auto; }
  .jd-search-status { margin-top:0; }
  .jd-search-filter-actions { align-items:stretch; }
  .jd-search-filter-actions > * { flex:1 1 auto; }
  .jd-search-presets { display:grid; grid-template-columns:1fr 1fr; }
  .jd-search-preset { border-right:1px solid rgba(214,165,82,.35)!important; }
}
/* ==========================================================================
   SHOWTHREAD — DESKTOP PARTICIPANT SIDEBAR
   Desktop: participants sit beside the thread.
   Mobile: participants return above the thread exactly as before.
   ========================================================================== */

.jd-showthread-layout {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	width: 100%;
}

.jd-showthread-main {
	flex: 1 1 auto;
	min-width: 0;
}

.jd-thread-participants-sidebar {
	flex: 0 0 220px;
	width: 220px;
	min-width: 0;
}

/* Don't reserve sidebar space if the plugin has nothing to display. */
.jd-thread-participants-sidebar:empty {
	display: none;
}


/* --------------------------------------------------------------------------
   DESKTOP SIDEBAR PARTICIPANT CARDS
   -------------------------------------------------------------------------- */

@media (min-width: 901px) {

	.jd-thread-participants-sidebar .thread_participants {
		width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}


	/* Slightly tighter header for the narrow column. */
	.jd-thread-participants-sidebar .thread_participants .tp_header {
		padding: 9px 11px !important;
	}


	.jd-thread-participants-sidebar .thread_participants .tp_title,
	.jd-thread-participants-sidebar .thread_participants .tp_toggle {
		font-size: 12px !important;
	}


	.jd-thread-participants-sidebar .thread_participants .tp_content {
		padding: 9px !important;
	}


	/* Stack participants vertically. */
	.jd-thread-participants-sidebar .tp_participants_grid {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 8px !important;
	}


	.jd-thread-participants-sidebar
	.tp_participants_grid
	.tp_participant {
		width: 100% !important;
		min-height: 0 !important;
		padding: 8px !important;
		box-sizing: border-box !important;
	}


	/* Avatar left, character name right. */
	.jd-thread-participants-sidebar
	.tp_participants_grid
	.tp_participant
	a {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 9px !important;
		width: 100% !important;
	}


	.jd-thread-participants-sidebar .tp_avatar_wrapper {
		flex: 0 0 auto !important;
	}


	.jd-thread-participants-sidebar .tp_avatar {
		width: 48px !important;
		height: 48px !important;
	}


	.jd-thread-participants-sidebar .tp_username {
		flex: 1 1 auto !important;
		width: auto !important;
		min-width: 0 !important;

		font-size: 11px !important;
		line-height: 1.3 !important;
		text-align: left !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
	}

}


/* --------------------------------------------------------------------------
   MOBILE
   Put the participant panel back above the thread.
   Existing mobile participant styles continue to control the cards themselves.
   -------------------------------------------------------------------------- */

@media (max-width: 900px) {

	.jd-showthread-layout {
		flex-direction: column;
		gap: 0;
	}


	.jd-showthread-main {
		order: 2;
		width: 100%;
		min-width: 0;
	}


	.jd-thread-participants-sidebar {
		order: 1;

		flex: none;
		width: 100%;
		margin: 0;

		box-sizing: border-box;
	}


	.jd-thread-participants-sidebar .thread_participants {
		width: 100% !important;
		margin: 0 0 16px !important;
		box-sizing: border-box !important;
	}

}
/* ==========================================================================
   JERSEY DEVIL — IDEA PLANNER COLOR OVERRIDE
   Append to END of global.css
   ========================================================================== */

.jd-idea-planner {
	color: var(--jd-cream);
}

/* Main cards */
.jd-idea-planner .jd-iq-panel {
	background:
		linear-gradient(rgba(4, 20, 34, .97), rgba(3, 15, 27, .99)),
		url(../../../images/body-texture.png);
	border: 1px solid var(--jd-gold);
	box-shadow:
		0 3px 12px rgba(0, 0, 0, .22),
		inset 0 0 0 1px rgba(255, 238, 194, .04);
}

/* Headers: darker and less green */
.jd-idea-planner .jd-iq-header {
	background: linear-gradient(to bottom, #08394b 0%, #062d3d 100%);
	border-bottom: 1px solid #9b7233;
	box-shadow: none;
}

.jd-idea-planner .jd-iq-panel-next .jd-iq-header {
	box-shadow: none;
}

.jd-idea-planner .jd-iq-heading,
.jd-idea-planner .jd-iq-heading-icon {
	color: var(--jd-gold-soft);
	text-shadow: none;
}

/* Description text */
.jd-idea-planner .jd-iq-subtitle {
	color: rgba(239, 225, 188, .78);
	border-bottom: 1px solid rgba(214, 165, 82, .14);
	background: rgba(255, 255, 255, .01);
}

/* List items */
.jd-idea-planner .jd-iq-item {
	border-bottom: 1px solid rgba(214, 165, 82, .16);
}

.jd-idea-planner .jd-iq-item-title {
	color: #fff0c9;
	font-weight: 700;
}

/* Number circles / bullets */
.jd-idea-planner .jd-iq-number {
	color: var(--jd-gold-soft);
	background: rgba(6, 24, 38, .78);
	border: 1px solid rgba(214, 165, 82, .72);
}

.jd-idea-planner .jd-iq-bullet {
	color: rgba(214, 165, 82, .82);
}

/* Tags: less cyan, more muted */
.jd-idea-planner .jd-iq-tag {
	color: #d9f1ea;
	background: rgba(18, 86, 94, .22);
	border: 1px solid rgba(97, 170, 171, .35);
}

/* Action buttons */
.jd-idea-planner .jd-iq-icon {
	color: var(--jd-gold-soft);
	background: rgba(7, 30, 47, .88);
	border: 1px solid rgba(214, 165, 82, .28);
	box-shadow: none;
}

.jd-idea-planner .jd-iq-icon:hover,
.jd-idea-planner .jd-iq-icon:focus {
	color: #ffffff;
	background: linear-gradient(to bottom, #1b666d 0%, #10484f 100%);
	border-color: #e4c27b;
}

.jd-idea-planner .jd-iq-delete:hover,
.jd-idea-planner .jd-iq-delete:focus {
	background: linear-gradient(to bottom, #7a4a2e 0%, #5b351f 100%);
	border-color: #d9a66e;
}

/* Add buttons */
.jd-idea-planner .jd-iq-add,
.jd-idea-planner .jd-iq-editor-save,
.jd-idea-planner .jd-iq-editor-cancel {
	color: #fff0c9;
	border: 1px solid #d6a552;
	box-shadow:
		0 2px 5px rgba(0,0,0,.18),
		inset 0 0 0 1px rgba(255,238,194,.05);
}

.jd-idea-planner .jd-iq-add,
.jd-idea-planner .jd-iq-editor-save {
	background: linear-gradient(to bottom, #1a6269 0%, #10484f 100%);
}

.jd-idea-planner .jd-iq-add:hover,
.jd-idea-planner .jd-iq-editor-save:hover {
	background: linear-gradient(to bottom, #23757c 0%, #15575e 100%);
	color: #ffffff;
}

.jd-idea-planner .jd-iq-editor-cancel {
	background: linear-gradient(to bottom, #6c5230 0%, #4f3d23 100%);
}

.jd-idea-planner .jd-iq-editor-cancel:hover {
	background: linear-gradient(to bottom, #83633a 0%, #5f492b 100%);
	color: #ffffff;
}

/* Inline editor */
.jd-idea-planner .jd-iq-editor {
	background: rgba(4, 19, 31, .8);
	border-top: 1px solid rgba(214, 165, 82, .18);
}

.jd-idea-planner .jd-iq-editor label {
	color: var(--jd-gold-soft);
}

.jd-idea-planner .jd-iq-editor input {
	color: #f7e8c2;
	background: #061a29;
	border: 1px solid rgba(214, 165, 82, .45);
}

.jd-idea-planner .jd-iq-editor input:focus {
	border-color: #63b6b5;
	outline: 2px solid rgba(72, 164, 166, .15);
}

/* Empty / status text */
.jd-idea-planner .jd-iq-empty {
	color: rgba(239, 225, 188, .68);
}

.jd-idea-planner .jd-iq-status {
	color: #bde4dc;
}