:root {
  --font-sans: "Instrument Sans", sans-serif;
  --font-serif: "DM Serif Display", serif;
  --font-mono: "DM Mono", monospace;
  --theme-text: #f0ede8;
  --theme-muted: #9a9a9a;
  --theme-border: rgba(255, 255, 255, 0.09);
  --theme-surface: rgba(20, 20, 20, 0.9);
  --theme-surface-alt: rgba(28, 28, 28, 0.94);
  --theme-accent: #d4f57a;
  --theme-accent-rgb: 212, 245, 122;
  --theme-accent-2: #7af5c8;
  --theme-accent-2-rgb: 122, 245, 200;
  --theme-accent-soft: rgba(212, 245, 122, 0.08);
  --theme-aura: radial-gradient(circle at 18% 18%, rgba(122, 245, 200, 0.14), transparent 32%), radial-gradient(circle at 82% 12%, rgba(212, 245, 122, 0.14), transparent 30%);
  --theme-icon-filter: brightness(0) saturate(100%) invert(93%) sepia(8%) saturate(217%) hue-rotate(335deg) brightness(103%) contrast(88%);
}

*,
*::before,
*::after {
  font-family: var(--font-sans);
}

html,
body {
  color: var(--theme-text);
}

body {
  position: relative;
  background-color: #0c0c0c;
  isolation: isolate;
}

body::before,
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}

body::before {
  z-index: -2;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
  opacity: 0.38;
}

body::after {
  z-index: -1;
  background: var(--theme-aura);
}

h1,
h2,
h3,
h4,
#sign_in_up_title,
.article_title,
text.name {
  font-family: var(--font-serif);
}

#top_banner_item_5,
.floating-banner-subtitle,
.main_banner_names,
.second_banner_names,
.side_panel_items,
.show_date,
#scroll-text,
[tooltip]::after,
#forgot_password,
.author,
.item_date {
  font-family: var(--font-mono);
}

h3,
.author,
.forum_text,
.title_topics,
#settings_title,
#cancel_modal_title,
#close_notes_modal,
#close_show_notes,
#close_general_modal,
#top_banner_item_5,
.main_banner_names,
.second_banner_names,
.floating-banner-title,
.floating-banner-subtitle,
.article_title,
.hold_note,
.hold_note_titles,
.show_date,
.item_date,
.gold,
strong,
#see_my_notes_title {
  color: var(--theme-text) !important;
}

#article_date,
#scroll-text,
.gold,
strong,
.hold_note_titles {
  color: var(--theme-accent) !important;
}

.progress-label {
  color: #0c0c0c !important;
}

#top_banner_wrapper {
  background: linear-gradient(180deg, rgba(18, 18, 18, 0.94), rgba(12, 12, 12, 0.86)) !important;
  border-bottom: 1px solid var(--theme-border);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.36);
  backdrop-filter: blur(18px);
}

[id^=top_banner_item_] {
  background: transparent !important;
}

#top_banner_item_5 {
  color: var(--theme-text) !important;
  letter-spacing: 0.08em;
  text-shadow: 0 0 1px rgba(255, 255, 255, 0.85), 0 2px 10px rgba(0, 0, 0, 0.42);
}

#bottom_banner_wrapper,
#hold_second_bottom_banner_icons {
  background: linear-gradient(180deg, rgba(17, 17, 17, 0.95), rgba(10, 10, 10, 0.98)) !important;
  border-top: 1px solid var(--theme-border);
  box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(18px);
}

.bottom_banner_icon_item,
[id^=hold_second_bottom_banner_icons_item_] {
  background: #141414 !important;
  border: 1px solid #2a2a2a;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s, transform 0.2s, background 0.2s;
}

[id^=bottom_banner_item_] {
  background: #141414 !important;
  border: 1px solid #2a2a2a !important;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s, transform 0.2s, background 0.2s !important;
}

.bottom_banner_icon_item {
  min-height: 100%;
}

.bottom_banner_icon_item::before,
[id^=bottom_banner_item_]::before,
[id^=hold_second_bottom_banner_icons_item_]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: #d4f57a;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.bottom_banner_icon_item:hover,
[id^=bottom_banner_item_]:hover,
[id^=hold_second_bottom_banner_icons_item_]:hover {
  border-color: rgba(212, 245, 122, 0.35) !important;
  background: rgba(212, 245, 122, 0.03) !important;
  transform: translateY(-2px);
}

.bottom_banner_icon_item:hover::before,
[id^=bottom_banner_item_]:hover::before,
[id^=hold_second_bottom_banner_icons_item_]:hover::before {
  transform: scaleX(1);
}

.bottom_banner_icons,
.second_bottom_banner_icons,
#admin_mode,
#post_to_forum_icon,
#upload_image_to_forum_icon,
#upload_image_to_reply_icon,
#upload_video_to_forum_icon,
#upload_video_to_reply_icon,
#go_back_icon,
#go_back_forum_arrow,
#drag_back_a_folder,
.votes,
.lock,
.premium_content_icon,
.social_icons,
#eyeball {
  filter: var(--theme-icon-filter) !important;
}

.bottom_banner_icons {
  display: none !important;
  pointer-events: none;
}

.main_banner_names {
  font-size: 16px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  text-align: center;
  line-height: 1.15;
  pointer-events: none;
}

[id^=sec_bottom_banner_icon_] {
  display: none !important;
}

.second_banner_names {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.15 !important;
}

#post_to_forum_icon_wrapper,
#go_back_forum_arrow {
  background: linear-gradient(180deg, rgba(24, 24, 24, 0.98), rgba(14, 14, 14, 0.96)) !important;
  border: 1px solid var(--theme-border);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35) !important;
}

#area .blocks li {
  background: rgba(16, 16, 16, 0.7) !important;
  color: var(--theme-muted) !important;
  border: 1px solid var(--theme-border) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22) !important;
  backdrop-filter: blur(12px);
}

[id^=item_content_item_] {
  background: var(--item_color) !important;
  border: 1px solid var(--theme-border);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
}

[id^=item_content_item_]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--theme-accent), transparent 72%);
  opacity: 0.75;
}

text.name {
  color: var(--theme-text) !important;
  letter-spacing: 0.01em;
}

.item_date,
.show_date,
.second_banner_names,
.main_banner_names,
.floating-banner-subtitle,
#forgot_password,
.nav-links,
.side_panel_items,
.author {
  color: var(--theme-muted) !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.floating-banner-title {
  font-family: "DM Serif Display", serif !important;
  color: #000 !important;
  letter-spacing: 0.09em;
  text-shadow: 0 0 1px rgba(255, 255, 255, 0.9), 0 2px 10px rgba(0, 0, 0, 0.38);
}

#mobile_menu_icon {
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.85)) drop-shadow(0 2px 8px rgba(0, 0, 0, 0.45));
}

#mobile_menu_icon .bar {
  box-shadow: 0 0 1px rgba(255, 255, 255, 0.75), 0 1px 6px rgba(0, 0, 0, 0.35);
}

.floating-banner-subtitle {
  margin-top: 4px;
  font-size: 11px;
  color: #000 !important;
}

.add_content_div,
.forum_div,
.side_panel,
.settings,
.search,
.reply_div,
.edit_comment_div,
.notes_modal,
.share_modal,
.description_modal,
.cancel_subscription_modal,
#generic_modal,
#hold_custom_page,
#show_notes,
.sign_in_modal,
.sign_up_modal {
  background: linear-gradient(180deg, rgba(20, 20, 20, 0.98), rgba(10, 10, 10, 0.98)) !important;
  border: 1px solid var(--theme-border) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02), 0 24px 80px rgba(0, 0, 0, 0.48) !important;
  color: var(--theme-text) !important;
  backdrop-filter: blur(18px);
}

.side_panel {
  border-right: 1px solid var(--theme-border) !important;
}

.side_panel_items {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.04);
}

.side_panel_items:hover {
  background: rgba(var(--theme-accent-rgb), 0.08) !important;
  color: var(--theme-text) !important;
}

#hold_custom_page {
  border: 1px solid #d4f57a !important;
}

#forum_div {
  border: 1px solid #d4f57a !important;
}

#post_to_forum_icon_wrapper {
  border: 1px solid #d4f57a !important;
}

#forest_branch_modal {
  background: linear-gradient(180deg, rgba(20, 20, 20, 0.98), rgba(10, 10, 10, 0.98)) !important;
  border: 1px solid #d4f57a !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02), 0 24px 80px rgba(0, 0, 0, 0.48) !important;
  backdrop-filter: blur(18px);
}

#forest_branch_modal_title,
.forest_branch_mode_button {
  background: rgba(18, 18, 18, 0.82) !important;
  color: var(--theme-text) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22) !important;
  font-family: var(--font-mono) !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 8px !important;
}

#forest_branch_modal_title {
  border: 1px solid #d4f57a !important;
}

#forest_branch_modal_title {
  top: 14px !important;
  left: 16px !important;
  margin-left: 0 !important;
  max-width: calc(100% - 360px) !important;
  white-space: pre-line !important;
  font-size: 12px !important;
  padding: 10px !important;
  color: rgba(240, 237, 232, 0.96) !important;
  background: linear-gradient(180deg, rgba(14, 14, 14, 0.94), rgba(22, 22, 22, 0.92)) !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.65);
  line-height: 1.2;
}

#forest_branch_controls {
  position: absolute;
  top: 14px;
  right: 54px;
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 12;
}

.forest_branch_mode_button {
  border: 1px solid var(--theme-border) !important;
  padding: 10px 14px !important;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.forest_branch_mode_button.is-active {
  background: var(--theme-accent) !important;
  color: #0c0c0c !important;
  border-color: transparent !important;
  box-shadow: 0 10px 24px rgba(var(--theme-accent-rgb), 0.22) !important;
}

.forest_branch_mode_button:not(.is-active):hover {
  border-color: rgba(var(--theme-accent-rgb), 0.35) !important;
  background: rgba(212, 245, 122, 0.08) !important;
}

#toggle_visual_hint,
#dendrogram_icon {
  display: none !important;
}

#dendrogram_icon,
#close_hold_forest_branch,
#close_video_page {
  filter: var(--theme-icon-filter) !important;
}

.forum_text {
  color: var(--theme-text) !important;
  font-weight: 500;
}

.avatar,
#show_profile_image {
  border: 1px solid var(--theme-border) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}

#search_input,
#change_text_input,
#video_comment_input,
#change_audio_input,
#change_video_input,
#change_deep_dive_video_input,
#add_tags_input,
#add_forest_branch_input,
#paper_url_input,
#notes_url_input,
#settings_name_input,
#input_email,
#input_password,
#input_password_confirm,
#forum_textarea,
#text_textarea,
#edit_comment_textarea,
#reply_textarea,
textarea {
  background: rgba(255, 255, 255, 0.03) !important;
  color: var(--theme-text) !important;
  border: 1px solid var(--theme-border) !important;
  border-bottom: 1px solid var(--theme-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

#search_input::placeholder,
#change_text_input::placeholder,
#video_comment_input::placeholder,
#input_email::placeholder,
#input_password::placeholder,
#input_password_confirm::placeholder,
textarea::placeholder,
input::placeholder {
  color: var(--theme-muted) !important;
}

#add_item_button,
#remove_item_button,
#add_page_button,
#submit_to_forum_button,
#submit_to_reply_button,
#submit_new_comment_button,
#sign_in_button,
#sign_up_button,
#avatar_button,
#add_to_forum_button,
#clear_content_button,
#save_notes_button,
#dark_back_button,
#add_download_audio_button,
#period_end_cancel,
#immediate_cancel {
  background: var(--theme-accent) !important;
  color: #0c0c0c !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(var(--theme-accent-rgb), 0.16) !important;
  font-family: var(--font-mono) !important;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

#cancel_submit_to_forum_button,
#cancel_submit_to_reply_button,
#cancel_new_comment_button,
#sign_up_cancel_button,
#sign_in_cancel_button,
#cancel_button {
  background: transparent !important;
  color: var(--theme-text) !important;
  border: 1px solid var(--theme-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-family: var(--font-mono) !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

#add_download_audio_button {
  box-shadow: 3px 3px 0px #d4f57a !important;
}

#submit_to_forum_button,
#submit_to_reply_button,
#submit_new_comment_button,
#cancel_submit_to_forum_button,
#cancel_submit_to_reply_button,
#cancel_new_comment_button {
  min-height: 44px;
}

.hold_note {
  background: linear-gradient(180deg, rgba(24, 24, 24, 0.98), rgba(16, 16, 16, 0.94)) !important;
  color: var(--theme-text) !important;
  border: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(var(--theme-accent-rgb), 0.1) !important;
}

pre,
code {
  background: #101010 !important;
  color: var(--theme-text) !important;
  border: 1px solid var(--theme-border);
  font-family: var(--font-mono) !important;
}

[tooltip]::before,
[tooltip]::after {
  border-color: var(--theme-border) !important;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.32) !important;
}

[tooltip]::after {
  background: rgba(16, 16, 16, 0.98) !important;
  color: var(--theme-text) !important;
  border-radius: 8px !important;
  font-family: var(--font-mono) !important;
  font-size: 13px !important;
  letter-spacing: 0.05em;
}

[tooltip]:not([flow])::before,
[tooltip][flow^="up"]::before {
  border-top-color: rgba(16, 16, 16, 0.98) !important;
}

[tooltip][flow^="down"]::before {
  border-bottom-color: rgba(16, 16, 16, 0.98) !important;
}

@media (max-width: 640px) {
  .floating-banner-title {
    letter-spacing: 0.06em;
  }

  .second_banner_names,
  .main_banner_names,
  [tooltip]::after {
    font-size: 11px !important;
  }
}