/* ForumNOX violet theme, variant A (accent #8f6bff). Load AFTER site.css.
   Section 0 is generated from site.css: every blue / green-grey surface is re-tinted to violet-black.
   Rank colours, BBCode colours and +REP green are left alone (their rules are repeated verbatim so nothing overrides them). */

/* 0) Re-tinted surfaces */
.table-wrap{background:#120f19}
.forum-table thead{background:#171420}
.forum-table td{border-bottom:1px solid #211c2e}
.forum-table tbody tr:hover{background:#171320}
.tag{border:1px solid #3f3756}
.post{background:#120f19}
.avatar{background:#1f1b2b}
.post-meta{border-bottom:1px solid #211c2e}
.post-actions{border-top:1px solid #211c2e}
.reply-box,.panel,.admin-panel{background:#13101a}
.reply-box textarea,.form-page textarea,.panel input,.form-page input,.admin-panel select{background:#0e0c14}
.profile{background:#13101a}
.profile-banner-empty{background:#191523}
.simple-list{background:#13101a}
.simple-list .unread{background:#16131f}
.message{background:#15121d}
.message.mine{border-color:#362f4a;background:#171320}
.rank-grid article{background:#13101a}
.main-nav{color:#997fdf}
.main-nav>a:hover,.main-nav form button:hover{color:#ede8fb}
.nav-join{color:#997fdf}
.search-row input:focus,.search-page-form input:focus{border-color:#5c34cc}
.home-search input[type=radio]{accent-color:#7e5ed7}
.category-link:hover,.thread-link:hover,.search-table td>a:hover{color:#9376e1}
.forum-table:not(.thread-table) tbody tr:nth-child(6n+3){background:#22183f}
.forum-table:not(.thread-table) tbody tr:nth-child(6n+3):hover{background:#2b1c54}
.compose-heading{background:#2c1d57;border-bottom:1px solid #3e2b72}
.compose-heading .eyebrow{color:#9c84e0}
.compose-heading h1{color:#efebfa}
.compose-value>a{color:#ac97e5}
.compose-value input:focus,.compose-value textarea:focus{border-color:#633dce}
.smiley-panel h2{background:#2c1d57;color:#e2daf6}
.smiley-list code{color:#c2b3ec}
.format-guide,.reply-format-guide{border:1px solid #2e283e;background:#121019}
.format-groups code{border:1px solid #2c253d;background:#0e0c14}
.post-body blockquote{background:#171320}
.post-body pre{background:#0d0b12;border:1px solid #282338}
.post-body .post-spoiler{border:1px solid #322b44;background:#110f18}
.post-body a{color:#ac97e5}
:focus-visible{outline:2px solid #9d81ea}
.reply-reference,.reply-context{background:#16131f}
.category-card{background:#13101a}
.category-card:hover{border-color:#443b5d;background:#171320}
.category-bar{scrollbar-color:#5d6263 #13101b}
.category-bar::-webkit-scrollbar-track{background:#13101b}
.category-bar a:hover{background:#14111d}
.category-bar a.active{background:#14111d}
.admin-status{border:1px solid #342d47}
.admin-nav a:hover,.admin-nav a.active{background:#14111d}
.admin-stat{background:linear-gradient(145deg,#14111d,#0d0b12)}
.admin-card{background:#110e18}
.admin-note-card{background:#110f18}
.admin-note-mark{border:1px solid #423a5a}
.admin-category-row{border-bottom:1px solid #1f1a2b}
.admin-category-position{background:#181522}
.admin-code-help pre{background:#09080d}
.admin-health-strip{background:#120f19}
.admin-activity-row{border-bottom:1px solid #1f1a2b}
.admin-activity-mark{border:1px solid #332c46}
.admin-quick-link{background:#110e18}
.admin-quick-link:hover{border-color:#3f3755;background:#14111d}
.admin-quick-icon{border:1px solid #2e283e}
.admin-search input,.admin-rank-form select{background:#0e0c14}
.admin-mini-button{background:#171320}
.admin-mini-button:hover{border-color:#5d517e}
.admin-unban-button{border-color:#39324d}
.admin-status-pill{border:1px solid #38304c}
.admin-contact-settings-body select{background:#0e0c14}
.upgrade-plan{background:linear-gradient(155deg,#171320,#100d16 65%)}
.upgrade-contact-card{background:linear-gradient(110deg,#191812,#120f19 68%)}
.staff-presence{background:linear-gradient(120deg,#0e0c14,#0a080e)}
.staff-presence-person{background:#100e16}
.owner-stat-grid article,.owner-stat-grid>a{background:#100d16}
.owner-admin-option{background:#100e16}
.owner-tool-grid>a{background:#0e0c13}
.owner-category-form input{background:#0c0a11}
.notification-bell{color:#b09de6}
.notification-bell:hover{color:#ede8fb}
.notification-row{background:#13101a}
.notification-row.notification-unread{background:#16131f}
.smiley-button,.format-button{border:1px solid #322c44;background:#15121e}
.smiley-button:hover,.format-button:hover{background:#201b2d}
.reply-composer textarea{background:#0e0c14}
.home-icon{border:1px solid #2f293f;color:#a189e2}
.home-icon:hover,.home-icon:focus-visible{border-color:#5c34cc;background:#120f1b;color:#ede8fb}
.pf-head{background:#0b0a10}
.pf-panel{background:#0b0a10}
.pf-panel-head{background:linear-gradient(90deg,#18112c,#0b0a10 85%);color:#9a7fe3}
.pf-rows dd a{color:#ac97e5}
@media(min-width:761px){.post-author{background:#100e16}
.author-group{background:#0b0a10}
}.upgrade-nick{background:#0b0a10}
.shoutbox{border:1px solid #2b1c53;background:#09060e}
.shoutbox-head{background:linear-gradient(180deg,#2c1d56,#21173d);border-bottom:1px solid #49308e}
.shoutbox-head h2{color:#dfd6f7}
.shout-time{color:#5630be}
.shout-sep{color:#5e36cd}
.shout-delete button{color:#5e36cd}
.shout-form{border-top:1px solid #2b1c53;background:#0e0a1a}
.shout-input{border:1px solid #2b1c53}
.shout-input:focus{border-color:#49308e}
.shout-send{border:1px solid #49308e;background:#37246b;color:#ede8fb}
.shout-send:hover{background:#4b3193}
.shout-emotes summary{color:#9d85e0}
.latest-list{background:#0b0a10}
.latest-row:hover{background:#14111c}
.pf-pgp summary{color:#ac97e5}

/* 0b) Rank / BBCode / vote rules, repeated verbatim to keep their precedence */
.rank-user{color:#b5bbb8}
.rank-vip{color:#d4b66e}
.rank-mvp{color:#76c5b2}
.rank-mod{color:#8aa8e0}
.rank-admin{color:#c291df}
.rank-vip{color:var(--rank-vip)}
.rank-mvp{color:var(--rank-mvp)}
.rank-vip{color:#72dc91}
.rank-mvp{color:#f1f2ee}
.rank-prime{color:#f0ca56}
.rank-label.rank-vip{background:#173022;border-color:#579a6b;box-shadow:0 0 12px #57d98426}
.rank-label.rank-mvp{background:#292b2a;border-color:#b9c0b9;box-shadow:0 0 12px #f1f2ee20}
.rank-label.rank-prime{background:#342c16;border-color:#ad913e;box-shadow:0 0 13px #f0ca5633}
.post-rank-vip{border-left:3px solid #59c77a;box-shadow:-5px 0 16px #59c77a16}
.post-rank-mvp{border-left:3px solid #d8ded8;box-shadow:-5px 0 16px #d8ded816}
.post-rank-prime{border-left:3px solid #e6bd45;box-shadow:-5px 0 17px #e6bd4523}
.rank-mod,.rank-admin{color:#ef535b}
.rank-label.rank-mod,.rank-label.rank-admin{border-color:#9d343b;background:#2b1113;box-shadow:0 0 10px #eb42422e}
.rank-owner{color:#ffa41f;text-shadow:0 0 6px #ffa41f99,0 0 15px #ff9d2e55}
.rank-label.rank-owner{border-color:#ff4b54;background:#310d11;box-shadow:0 0 9px #ff303977,0 0 22px #ff303944}
.vote-actions{align-items:center}
.post-actions .vote-button{padding:5px 7px;border:1px solid transparent;color:var(--muted)}
.post-actions .vote-up:hover,.post-actions .vote-up.vote-selected{border-color:#416543;color:#8fca91;background:#18251a}
.post-actions .vote-down:hover,.post-actions .vote-down.vote-selected{border-color:#704047;color:#df8383;background:#28191b}
.staff-prefix.rank-mod,.staff-prefix.rank-admin{color:#ff5962}
.staff-prefix.rank-owner{color:#ff454f;text-shadow:0 0 6px #ff3039aa,0 0 14px #ed252966;animation:owner-shimmer 1.8s ease-in-out infinite alternate}
.post-body span[class^="color-"]{color: inherit;}
.post-body span.color-red{color: #e87979 !important;}
.post-body span.color-orange{color: #e8a46c !important;}
.post-body span.color-yellow{color: #e7d275 !important;}
.post-body span.color-green{color: #91c987 !important;}
.post-body span.color-blue{color: #86b9e7 !important;}
.post-body span.color-purple{color: #c49be8 !important;}
.post-body span.color-pink{color: #e89bc0 !important;}
.post-body span.color-white{color: #f2f2f2 !important;}
.pf-id h1.rank-user{color:#57a9d6}
.profile-rank-box.rank-user{color:#57a9d6;border-color:#57a9d6;background:#0d1a22;box-shadow:0 0 12px #57a9d620}
.rank-label.rank-banned{color:#b9763a;border-color:#7a4a21;background:#24160b;box-shadow:none}
.profile-rank-box.rank-banned{box-shadow:0 0 12px #7a4a2130}
@media(min-width:761px){.post-author .author-rank.rank-user{color:#57a9d6;border-color:#57a9d6;background:#0d1a22;box-shadow:0 0 12px #57a9d620}}
.title-new{color:#d94fe0}
.title-member{color:#57a9d6}
.title-veteran{color:#e6bd45}
.rank-banned{color:#b9763a}
a.rank-vip::before,a.rank-mvp::before,a.rank-prime::before,h1.rank-vip::before,h1.rank-mvp::before,h1.rank-prime::before{content:"";display:inline-block;width:13px;height:13px;margin-right:5px;vertical-align:-1px;background-position:center;background-size:contain;background-repeat:no-repeat}
a.rank-vip::before,h1.rank-vip::before{background-image:url(/static/ranks/vip.svg)}
a.rank-mvp::before,h1.rank-mvp::before{background-image:url(/static/ranks/mvp.svg)}
a.rank-prime::before,h1.rank-prime::before{background-image:url(/static/ranks/prime.svg)}
h1.rank-vip::before,h1.rank-mvp::before,h1.rank-prime::before{width:20px;height:20px;margin-right:8px;vertical-align:-2px}
.pf-vote{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pf-vote .vote-button{padding:6px 14px;border:1px solid var(--line2);background:#101314;color:#cfd5d1;font:600 11px var(--mono);cursor:pointer}
.pf-vote .vote-up:hover,.pf-vote .vote-up.vote-selected{border-color:#416543;color:#8fca91;background:#18251a}
.pf-vote .vote-down:hover,.pf-vote .vote-down.vote-selected{border-color:#704047;color:#df8383;background:#28191b}
.pf-vote-note{flex:1 1 100%;font-size:11px;color:var(--muted)}

/* 1) Tables: only /members and /escrow/tickets (they carry class "table-violet") */
.table-wrap.table-violet{border-color:#2c2150;background:#100b1c}
.table-wrap.table-violet .forum-table thead{background:#170f2e}
.table-wrap.table-violet .forum-table th{border-bottom-color:#2c2150;color:#9d8fd0}
.table-wrap.table-violet .forum-table td{border-bottom-color:#1a1330}
.table-wrap.table-violet .forum-table tbody tr,
.table-wrap.table-violet .forum-table tbody tr:nth-child(n){background:#100b1c}
.table-wrap.table-violet .forum-table tbody tr:hover,
.table-wrap.table-violet .forum-table tbody tr:nth-child(n):hover{background:#1b1236}

/* 2) Thin violet lines around the category bar (line above + line below) */
.home-hero{border-bottom-color:#8f6bff8c}
.category-bar{border-bottom-color:#8f6bff8c;scrollbar-color:#4b3b8f #120d22}
.category-bar::-webkit-scrollbar-track{background:#120d22}
.category-bar::-webkit-scrollbar-thumb{background:#4b3b8f}
.category-bar::-webkit-scrollbar-thumb:hover{background:#6b55c4}
.category-bar a:hover{border-color:#2c2150;background:#120d22;color:var(--text)}
.category-bar a.active{border-color:#8f6bff;color:#c4b5ff;background:#120d22}

/* 3) Shoutbox */
.shoutbox{border-color:#2c2150;background:#0a0712}
.shoutbox-head{background:linear-gradient(180deg,#2b1f5c,#1b1340);border-bottom-color:#6a4fd0}
.shoutbox-head h2{color:#e8e0ff}
.shout-time{color:#8478b8}
.shout-sep{color:#8d82bd}
.shout-delete button{color:#8d82bd}
.shout-delete button:hover{color:#df8383}
.shout-form{border-top-color:#2c2150;background:#0d0918}
.shout-input{border-color:#2c2150;background:#07050d}
.shout-input:focus{border-color:#8f6bff}
.shout-send{border-color:#8f6bff;background:#4d38a8;color:#f1ecff}
.shout-send:hover{background:#6246c8}
.shout-emotes summary{color:#b4a2f5}

/* 4) Global tokens: black stays the base, everything else leans violet */
:root{--accent:#8f6bff;--panel:#0b0a10;--panel2:#12101a;--line:#251e3d;--line2:#352b57;--soft:#bbb8cb;--muted:#7f7b92}
html{scrollbar-color:#4b3b8f #0a0812}
::selection{background:#8f6bff66;color:#fff}

/* 5) Thin violet frame lines: header, footer, hero */
.topbar{border-bottom-color:#8f6bff55}
footer{border-top-color:#8f6bff33}

/* 6) Neon touches: focus + button hover */
input:focus,textarea:focus,select:focus{border-color:#8f6bff;box-shadow:0 0 0 1px #8f6bff55}
.button:hover,.shout-send:hover,.search-row button:hover{box-shadow:0 0 16px #8f6bff55}

/* 7) Taste adjustments (soften nav, unify focus borders, fix mixed gradient) */
.main-nav,.nav-join{color:#b4a8dc}
.search-row input:focus,.search-page-form input:focus,.compose-value input:focus,.compose-value textarea:focus,.home-icon:hover,.home-icon:focus-visible{border-color:#8f6bff}
.home-search input[type=radio]{accent-color:#8f6bff}
.category-link:hover,.thread-link:hover,.search-table td>a:hover{color:#b39bff}
.upgrade-contact-card{background:linear-gradient(110deg,#17131f,#120f19 68%)}

/* Contact frame and handle popover follow the violet theme */
.pf-contacts{background:#12101a;border-color:#352b57}
.cc-pop{background:#07060c;border-color:#352b57}
.cc-handle{background:#0e0c14;border-color:#3d3458}
