/* Nocturne — standalone dark visual layer */
:root {
  --primary-color: #39e75f;
  --primary-hover: #66f27f;
  --accent-color: #18b83d;
  --btn-bg: #25ca4c;
  --btn-hover-bg: #43e567;
  --btn-font-color: #031006;
  --white: #f4f7f4;
  --light-bg: #141a16;
  --dark-bg: #070a08;
  --footer-bg: #080b09;
  --text-color: #d8ded9;
  --link-hover: #55ef74;
  --border-color: rgba(107,255,137,.13);
  --input-border: #28322b;
  --input-focus-border: #39e75f;
  --footer-text: #89948c;
  --footer-link-hover: #66f27f;
  --shadow-overlay: rgba(0,0,0,.88);
}

html { color-scheme: dark; background: #070a08; }
body {
  color: #d8ded9;
  background:
    radial-gradient(circle at 12% -8%, rgba(45,220,82,.11), transparent 31rem),
    radial-gradient(circle at 90% 22rem, rgba(40,120,58,.08), transparent 30rem),
    linear-gradient(180deg, #080b09 0, #0b0f0c 48rem, #070a08 100%);
  font-family: 'Manrope', sans-serif;
}
body:before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: .22;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 44px 44px;
}
a { color: #d8ded9; }
a:hover, a:focus { color: #55ef74; }
button, textarea, input, select { font-family: 'Manrope', sans-serif !important; }
input[type="text"], input[type="password"], select, textarea {
  color: #edf2ee;
  background: #111713;
  box-shadow: inset 0 0 0 1px #28322b, inset 1px 2px 6px rgba(0,0,0,.35);
}
input::placeholder, textarea::placeholder { color: #8b968e; opacity: .72; }

.wrap { padding-top: 0; }
.void-frame { max-width: 1240px; }
.void-canvas { background: transparent; border-radius: 0; box-shadow: none; }
.content { padding: 20px 0 36px; }

.nightbar {
  margin: 18px auto 8px;
  background: rgba(13,18,14,.91);
  border: 1px solid rgba(99,246,128,.15);
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.025);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.nightbar-inner { min-height: 78px; padding: 0 22px; }
.nightbar.sticky { margin: 0; background: rgba(8,12,9,.96); border-radius: 0 0 16px 16px; }
.nocturne-brand {
  display: flex;
  width: 190px;
  height: 58px;
  padding: 8px 0 6px 56px;
  position: relative;
  flex-direction: column;
  justify-content: center;
  color: #f3f7f4;
  text-transform: uppercase;
}
.nocturne-brand:before {
  content: '';
  box-sizing: border-box;
  width: 46px;
  height: 46px;
  position: absolute;
  left: 0;
  top: 50%;
  padding: 11px;
  transform: translateY(-50%);
  background: #39e75f url('../images/logo.svg') center/24px no-repeat;
  border-radius: 13px;
  filter: none;
  box-shadow: 0 0 0 1px rgba(118,255,145,.28), 0 9px 25px rgba(35,220,72,.24);
}
.nocturne-brand:hover:before { transform: translateY(-50%) scale(1.04); }
.nocturne-brand__name { font: 700 19px/1 'Unbounded', sans-serif; letter-spacing: -1px; white-space: nowrap; }
.nocturne-brand__name strong { color: #39e75f; font-weight: 700; }
.nocturne-brand small { margin-top: 6px; color: #748078; font: 600 7px/1 'Manrope', sans-serif; letter-spacing: .2px; white-space: nowrap; text-transform: none; }

.vault-nav { padding: 0 18px; gap: 3px; }
.vault-nav > li { margin: 0; }
.vault-nav > li > a {
  height: 42px;
  padding: 0 12px;
  color: #a4aea7;
  border-radius: 10px;
  font: 700 12px/42px 'Manrope', sans-serif;
  opacity: 1;
}
.vault-nav > li:hover > a, .vault-nav > li > a.is-active { color: #39e75f; background: rgba(57,231,95,.09); box-shadow: none; }
.vault-mega {
  top: calc(100% + 8px);
  padding: 17px;
  background: #101512;
  border: 1px solid rgba(83,225,111,.19);
  border-top: 1px solid rgba(83,225,111,.19);
  border-radius: 14px;
  box-shadow: 0 25px 65px rgba(0,0,0,.55);
}
.vault-mega:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -12px;
  height: 12px;
  background: transparent;
}
.vault-nav > li:focus-within > .vault-mega {
  pointer-events: auto;
  opacity: 1;
  transform: translateY(0);
}
.vault-col li { color: #7f8b82; }
.vault-col a { color: #bac3bc; border-radius: 7px; }
.vault-col a:hover { color: #071008; background: #39e75f; }
.night-search { max-width: 210px; }
.night-search-field input, .night-search-field input:focus { height: 40px; padding-left: 15px; color: #e9efea; background: #0a0e0b; border-radius: 11px; box-shadow: inset 0 0 0 1px #28322b; }
.night-search-field button { top: 0; color: #39e75f !important; }
.profile-gate { height: 40px; line-height: 40px; color: #061008; border-radius: 11px; text-transform: none; box-shadow: 0 8px 20px rgba(31,205,67,.16); }

.shelf {
  background: #101512;
  border: 1px solid rgba(112,255,140,.10);
  border-radius: 16px;
  box-shadow: 0 14px 38px rgba(0,0,0,.25);
}
.shelf:hover { box-shadow: 0 18px 46px rgba(0,0,0,.34); }
.shelf-head { border-bottom-color: #273029; }
.shelf-title { color: #061008; background: #39e75f; border-radius: 10px; }
.shelf-title:hover { color: #031006; background: #66f27f; }
.shelf-tabs span { color: #aeb7b0; background: #171e19; border-color: #29332b; }
.shelf-tabs span.is-active { color: #39e75f; background: #0b100c; border-color: #39e75f; }

.reel-card { padding-right: 6px; padding-left: 6px; }
.reel-card__link {
  background: #080b09;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 15px;
  box-shadow: 0 11px 27px rgba(0,0,0,.42);
}
.reel-card__link:hover { border-color: rgba(66,242,101,.58); box-shadow: 0 20px 40px rgba(0,0,0,.55), 0 0 0 2px rgba(57,231,95,.09); transform: translateY(-7px); }
.reel-card__art { background: #090c0a; }
.reel-card__art:before { background: linear-gradient(180deg, transparent 52%, rgba(0,0,0,.72)); }
.reel-card__veil { background: linear-gradient(180deg, rgba(2,8,3,.08), rgba(9,90,25,.58)); }
.reel-card__veil .fa { color: #061008; background: #39e75f; border: 1px solid rgba(175,255,191,.55); box-shadow: 0 10px 28px rgba(0,0,0,.48), 0 0 22px rgba(57,231,95,.18); }

.pulse-rail {
  padding: 22px 30px 16px;
  margin-bottom: 22px;
  background: radial-gradient(circle at 50% 130%, rgba(57,231,95,.12), transparent 43%), linear-gradient(135deg, #0d120e, #151d17 55%, #090c0a);
  border: 1px solid rgba(83,235,113,.14);
  border-radius: 20px;
  box-shadow: 0 20px 55px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.025);
}
.pulse-rail .reel-card__link { border-color: rgba(255,255,255,.11); }
.pulse-rail .owl-prev, .pulse-rail .owl-next { color: #39e75f; background: #0d120e; border-color: #28332b; }
.pulse-rail .owl-prev:hover, .pulse-rail .owl-next:hover { color: #061008; background: #39e75f; }
.pulse-rail .owl-dot { background: #354038 !important; }
.pulse-rail .owl-dot.active { background: #39e75f !important; }

.catalog-probe {
  gap: 24px;
  margin: 12px 0 23px;
  padding: 15px 18px;
  background: linear-gradient(105deg, #101712, #0c100d 55%, #121914);
  border: 1px solid rgba(57,231,95,.20);
  border-radius: 16px;
  box-shadow: 0 12px 34px rgba(0,0,0,.25);
}
.catalog-probe__icon { color: #39e75f; background: #0a0e0b; border-color: #39e75f; box-shadow: 0 0 0 5px rgba(57,231,95,.035), 0 8px 22px rgba(0,0,0,.25); }
.catalog-probe__icon svg { stroke: #39e75f; }
.catalog-probe__title { color: #58ed76; }
.catalog-probe__desc { color: #818b84; }
.catalog-probe__form { background: #080c09; border-color: #28322b; box-shadow: 0 4px 15px rgba(0,0,0,.3); }
.catalog-probe__form:focus-within { border-color: rgba(57,231,95,.65); box-shadow: 0 0 0 3px rgba(57,231,95,.08); }
.catalog-probe__input { color: #e8eee9 !important; }
.catalog-probe__button { color: #061008 !important; background: linear-gradient(180deg, #4aeb6a, #25c94a) !important; box-shadow: 0 6px 18px rgba(36,206,72,.20) !important; }
.catalog-probe__button:hover { background: linear-gradient(180deg, #66f27f, #35da58) !important; }

.archive-banner {
  background: linear-gradient(105deg, #111713, #0c100d 56%, #101712);
  border-color: rgba(57,231,95,.18);
  box-shadow: 0 14px 38px rgba(0,0,0,.26);
}
.archive-banner__line { background: linear-gradient(180deg, #58ef77, #1ab940); box-shadow: 0 4px 13px rgba(57,231,95,.20); }
.archive-banner__icon { background: #0a0f0b; border-color: rgba(57,231,95,.2); box-shadow: 0 7px 22px rgba(0,0,0,.30), inset 0 0 0 7px rgba(57,231,95,.025); }
.archive-banner__icon svg { stroke: #39e75f; }
.archive-banner__title { color: #eef3ef !important; }
.archive-banner__title span { color: #39e75f; }
.archive-banner__desc { color: #89938c; }
.archive-banner__dots { opacity: .16; background-image: radial-gradient(circle, #39e75f 2px, transparent 2.5px); }
.archive-banner__content:after { background: linear-gradient(90deg, transparent, #0c100d); }

.genre-streams .genre-stream { margin-bottom: 30px; }
.genre-stream__heading { color: #e4eae5; background: #111713; border-color: rgba(57,231,95,.17); box-shadow: 0 9px 26px rgba(0,0,0,.24); }
.genre-stream__heading:hover { color: #fff; border-color: rgba(57,231,95,.40); box-shadow: 0 14px 34px rgba(0,0,0,.35); }
.genre-stream__line { background: linear-gradient(180deg, #59ef77, #1ab941); box-shadow: 0 3px 9px rgba(57,231,95,.20); }
.genre-stream__title { color: #e7ede8; }
.genre-stream__arrow { color: #39e75f; }

.feature-page { --full-green: #39e75f; --full-border: rgba(57,231,95,.15); }
.feature-page .title-stage, .feature-page .cinema-player, .feature-page .discussion-zone, .feature-page .related-zone { background: #101512; border-color: var(--full-border); box-shadow: 0 14px 40px rgba(0,0,0,.28); }
.feature-page .title-stage { background: linear-gradient(115deg, #101512, #0c110d 72%, #111b13); }
.feature-page .cover-shell { border-color: #2b352d; box-shadow: 0 14px 34px rgba(0,0,0,.46), 0 0 0 2px rgba(57,231,95,.05); }
.feature-page .reaction-bar, .feature-page .score-badge { background: #0b100c; }
.feature-page .fact-list li { border-bottom-color: #273029; }
.feature-page .fact-list li > span:first-child { color: #edf2ee; }
.feature-page .fact-list a { color: #51e970; border-bottom-color: rgba(57,231,95,.32); }
.feature-page .synopsis { color: #a5afa7; }
.feature-page .synopsis__title, .feature-page .cinema-player__title { color: #eef3ef; }
.feature-page .slice-masked:before { background: linear-gradient(transparent, #101512); }
.feature-page .slice-btn span { color: #45e466; background: #0c110d; border-color: #2b382e; }
.feature-page .watch-caption { color: #b7f4c3; background: rgba(57,231,95,.055); border-color: rgba(57,231,95,.15); }
.feature-page .video-box { border: 1px solid #263029; }
.feature-page .cinema-note { color: #9da8a0; background: #0d130e; border-color: rgba(57,231,95,.14); }
.feature-page .rate-plus .fa { background: #2ccd50; }

.seo-content { color: #aeb8b0; background: #0c100d; border-color: rgba(57,231,95,.10); box-shadow: 0 20px 50px rgba(0,0,0,.32); }
.seo-content__header, .seo-content h1, .seo-content h2, .seo-content h3 { color: #edf2ee; }
.seo-content a { color: #4ae96a; }
.seo-content__notice { background: rgba(57,231,95,.055); border-color: rgba(57,231,95,.15); }

.login-box, .side-panel, .form-wrap, .userinfo, .search-page, .static-page, .comments-tree-list {
  color: #d2d9d4;
  background: #101512;
  border-color: #29332b;
}
.login-box { box-shadow: 0 30px 90px rgba(0,0,0,.68); }
.login-title, .mtitle, .sub-title h1, .form-wrap h1 { color: #eef3ef; }
.login-menu a, .side-panel a { color: #c2cbc4; }
.login-menu a:hover, .side-panel a:hover { color: #55ef74; }
.login-overlay, .mmenu-overlay, .close-overlay { background: rgba(0,0,0,.82); }
.ui-dialog, .ui-widget-content, .xfieldsnote, .berrors, .message-info { color: #cbd3cd; background: #111713; border-color: #2b352d; }
.navigation a, .navigation span, .pagi-nav a, .pagi-nav span { color: #aab4ac; background: #111713; border-color: #28322b; }
.navigation span, .navigation a:hover, .pagi-nav span, .pagi-nav a:hover { color: #071008; background: #39e75f; }

/* DLE engine surfaces */
.vote-title, .findrelated, .usp-name, .usp-meta li:nth-child(2n+1),
.sres-wrap, .sres-wrap:nth-child(2n), .pm tr:nth-child(2n+2),
.userstop tr:nth-child(2n+2), .scriptcode, .title_spoiler,
.text_spoiler, .quote, .hide, .inhide, #dlefastreplycomments {
  color: #cbd3cd !important;
  background: #111713 !important;
  border-color: #2b352d !important;
}
.usp-left, .usp-activ, .pm-menu, .form-textarea > label { background: #0a0e0b !important; color: #dce3de !important; }
.sres-wrap { border-color: #29332b; }
.sres-title, .sres-title a, .usp-name h4, .pm td, .userstop td { color: #e9eeea; }
.pm th, .userstop th { color: #91a096; background: #0b100c; border-color: #29332b; }
.pm td, .userstop td { border-color: #252e27; }
#searchtable select, .commentsreplyname { color: #e4ebe6; background: #0d120e; border-color: #2b352d; }
.calendar td.day, .calendar td.day-active-v, .calendar th.workday { color: #b9c3bb; background: #0d120e; border-color: #28322b; }
.calendar td.day-current, .calendar td.day-active-v:hover { color: #061008; background: #39e75f; }
.bb-pane { background: linear-gradient(#141a16, #0c110d); border-color: #2b352d; }
.bb-btn, .bb-btn:hover, .bb-btn:active { color: #aeb9b0; background: #151c17; border-color: #303b32; box-shadow: none; }
.bb-pane-dropdown, #dropmenudiv, #searchsuggestions, .ui-dialog,
.ui-menu, #marker-bar, #share-popup, .highslide-html,
.highslide-caption, .highslide-wrapper, .highslide-outline {
  color: #cad2cc !important;
  background: #101512 !important;
  border-color: #2d382f !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.45) !important;
}
.bb-pane-dropdown > li > a:hover, .ui-menu .ui-menu-item:hover,
#searchsuggestions a:hover { color: #061008 !important; background: #39e75f !important; }
.ui-dialog-titlebar, .ui-dialog .ui-dialog-buttonpane { color: #edf2ee; background: #0b100c; border-color: #273029; }
.voteprogress, .pollprogress, .progress { background: #080c09; border-color: #263028; box-shadow: inset 0 0 0 1px #263028; }
.voteprogress span, .pollprogress span, .progress span { background: linear-gradient(90deg, #1ebd43, #56ed74); }
.berrors { color: #f2c7a5; background: #2b1d12; border: 1px solid #604128; }

/* Extended-filter plugin */
.filter-box, .fb-sect, .filter-block { color: #cbd3cd; background: #101512 !important; border-color: #2b352d !important; box-shadow: 0 12px 35px rgba(0,0,0,.25) !important; }
.fb-sect input[type="text"], .chosen-container-single .chosen-single,
.chosen-container-multi .chosen-choices, .chosen-container .chosen-drop {
  color: #dbe2dd !important;
  background-color: #0c110d !important;
  border-color: #2c372e !important;
  box-shadow: none !important;
}
.chosen-container .chosen-results li { color: #b7c0b9; }
.chosen-container .chosen-results li.highlighted { color: #061008; background: #39e75f; }
.chosen-container-multi .chosen-choices li.search-choice { color: #061008; background: #39e75f; border-color: #39e75f; box-shadow: none; }
.fb-check span:before, .irs-line, .irs-line-left, .irs-line-mid, .irs-line-right { background: #29332b !important; }
.fb-check span:after { background: #8d9990 !important; }
.fb-check input:checked + span:before, .irs-bar, .irs-bar-edge { background: #39e75f !important; }
.fb-check input:checked + span:after { background: #071008 !important; }
.irs-slider { background: #eaf0eb !important; border-color: #39e75f !important; }
.irs-from, .irs-to, .irs-single { color: #061008 !important; background: #39e75f !important; }

.abyss-footer {
  margin-top: 16px;
  padding: 48px 20px;
  color: #89948c;
  background: radial-gradient(circle at 50% 0, rgba(57,231,95,.07), transparent 24rem), #070a08;
  border-top: 1px solid rgba(57,231,95,.12);
  border-radius: 18px 18px 0 0;
}
.abyss-footer__logo.nocturne-brand { color: #f2f6f3; }
.abyss-footer__text { color: #89948c; }

@media screen and (max-width: 1260px) {
  .nightbar { margin-right: 12px; margin-left: 12px; }
  .content { padding-right: 12px; padding-left: 12px; }
}
@media screen and (max-width: 760px) {
  .nightbar { margin: 7px; border-radius: 14px; }
  .nightbar-inner { min-height: 66px; padding: 0 13px; }
  .nocturne-brand { width: 175px; padding-left: 52px; }
  .nocturne-brand:before { width: 42px; height: 42px; }
  .nocturne-brand__name { font-size: 17px; }
  .content { padding: 13px 7px 28px; }
  .catalog-probe { border-radius: 13px; }
  .archive-banner { margin-right: 0; margin-left: 0; }
  .abyss-footer { border-radius: 14px 14px 0 0; }
}
