Webnovel - Dark Theme

A dark theme for Webnovel/Qidian International

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Для установки этого скрипта вам необходимо установить расширение, такое как Tampermonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

/* ==UserStyle==
@name           Webnovel - Dark Theme
@namespace      ew0345
@version        1.0.9
@description    A dark theme for Webnovel/Qidian International
@author         ew0345
==/UserStyle== */

/***
    * CHANGELOG *

    Version 1.0.9:
        Book page styled.

    Version 1.0.8:
        Library & History pages styled.

    Version 1.0.7:
        Settings/Edit profile page styled.

    Version 1.0.6:
        Badges page styled.
        Profile page styled.
        "Limited Free For You" section on homepage styled.

    Version 1.0.5:
        Rankings page styled.

    Version 1.0.4:
        Browse/category page styled.

    Version 1.0.3:
        Login pop-up & login w/ email pop-up styled.

    Version 1.0.2:
        Header search styled.

    Version 1.0.1:
        Header bar styled.

    Version 1.0.0:
        Main page/homepage styled.
***/


@-moz-document domain("webnovel.com") {
    /* Variables */
    :root {
        --bg: #232323;
        --bg_dark: #1f1f1f;
        --bg_light: #303030;
        --bg_light_hover: rgba(100,100,100,0.5);
        --bg_selected: #3b66f5;
        
        --txt: #eee;
        --txt_dark: #aaa;
        --txt_genre: #83848f;
        --txt_title: lightslategray;
        --txt_lcol1: #eb1551;
        --txt_lcol2: #ff8d29;
        --txt_lcol3: #39cca0;
    }
}


@-moz-document domain("passport.webnovel.com") {
    /* Sign-in/passport */
    html,
    body div {
        background: var(--bg);
    }
    
    .m-main-hd h3 {
        color: var(--txt_title);
    }
    
    p.m-input input {
        color: var(--txt);
    }
}
@-moz-document regexp("http(s)://(www.)webnovel.com/(#*)"), regexp("http(s)://(www.)webnovel.com/category/.*"), regexp("http(s)://(www.)webnovel.com/ranking/.*"), regexp("http(s)://(www.)webnovel.com/profile/.*"), regexp("http(s)://(www.)webnovel.com/badges"), regexp("http(s)://(www.)webnovel.com/settings"), regexp("http(s)://(www.)webnovel.com/library(.*)"), regexp("http(s)://(www.)webnovel.com/history(.*)"), regexp("http(s)://(www.)webnovel.com/book/.*") {
    /* Header Bar */
    .g_header {
        background-color: var(--bg);
        border-bottom-color: var(--txt_title);
    }
    
    .g_header .g_search svg,
    .g_header .g_search strong {
        color: var(--txt_title);
    }
    
    .g_header .g_hd_link svg,
    .g_header .g_hd_link strong {
        color: var(--txt_title);
    }
    
    /* Header Bar - Search */
    
    .g_search_modal .g_search_header,
    .g_search_modal .g_search_header .g_search_input input {
        background-color: var(--bg_dark);
    }
    
    .g_search_modal .g_search_header .g_search_input input {
        border-color: var(--txt_title);
        color: var(--txt_title);
    }
    
    .g_search_panel,
    .g_search_result_list ul {
        background-color: var(--bg_dark);
    }
    
    .g_search_pop_list a,
    .g_search_result_list a,
    .g_search_result_list svg,
    .j_search_history a {
        color: var(--txt) !important;
    }
    
    .g_search_pop_list a:hover,
    .g_search_result_list a:hover {
        background: var(--bg_light_hover);
    }
    
    .j_search_history .g_search_tags a {
        background-color: var(--bg_light);
    }
}


@-moz-document regexp("http(s)://(www.)webnovel.com/(#*)") {
    /* Main Page */
    
    /* Page Body */
    html,
    body {
        background: var(--bg_dark);
        color: var(--txt);
    }
    
    /* Weekly Book */
    div[data-report-blocktitle="Weekly Book"] h3 {
        color: var(--txt_title);
    }
    
    /* Recent Activities */
    div[data-report-blocktitle="Recent Activities"] h3 {
        color: var(--txt_title);
    }
    
    div[data-report-blocktitle="Recent Activities"] ul :hover {
        /*background: var(--bg_light_hover);*/
        background: none;
    }
    
    div[data-report-blocktitle="Recent Activities"] ul :hover h4 {
        color: var(--txt_dark) !important;
    }
    
    div[data-report-blocktitle="Recent Activities"] p {
        color: var(--txt_dark) !important;
    }
    
    /* Weekly Featured */
    div[data-report-blocktitle="Weekly Featured"] h3,
    section[data-report-blocktitle="Weekly Featured"] h4, 
    section[data-report-blocktitle="Weekly Featured"] h4 a {
        color: var(--txt_title);
    }
    
    .m-book3 {
        background-color: var(--bg);
    }
    
    /* Limited Free For You */
    div[data-report-blocktitle="Limited Free For You"] h3,
    div[data-report-blocktitle="Limited Free For You"] h3 a {
        color: var(--txt_title);
    }
    
    /* Special For You */
    div[data-report-blocktitle="Special For You"] h3,
    div[data-report-blocktitle="Special For You"] h3 a {
        color: var(--txt_title);
    }
    
    /* Ranking */
    div[data-report-blocktitle="Ranking"] h3,
    div[data-report-blocktitle="Ranking"] h5 a {
        color: var(--txt_title);
    }
    
    div[data-report-blocktitle="Ranking"] p a {
        color: var(--txt_genre);
    }
    
    div[data-report-blocktitle="Ranking"] .c_danger {
        color: #eb1551 !important;
    }
    
    div[data-report-blocktitle="Ranking"] .c_warning {
        color: #ff8d29 !important;
    }
    
    div[data-report-blocktitle="Ranking"] .c_success {
        color: #39cca0 !important;
    }
    
    div[data-report-blocktitle="Ranking"] .ff_number {
        color: var(--txt);
    }
    
    /* New Ongoing Release */
    section[data-report-blocktitle="New Ongoing Release"] {
        background: var(--bg_dark);
    }
    
    section[data-report-blocktitle="New Ongoing Release"] h3,
    section[data-report-blocktitle="New Ongoing Release"] h4 a {
        color: var(--txt_title);
    }
    
    /* Potential Starlet */
    div[data-report-blocktitle="Potential Starlet"] h3,
    div[data-report-blocktitle="Potential Starlet"] h3 a{
        color: var(--txt_title);
    }
    
    div[data-report-blocktitle="Potential Starlet"] .bc_light_default {
        background: var(--bg);
    }
    
    /* New Tropes */
    div[data-report-blocktitle="New Tropes"] h3,
    div[data-report-blocktitle="New Tropes"] h3 a{
        color: var(--txt_title);
    }
    
    div[data-report-blocktitle="New Trops"] p a {
        color: var(--txt_genre);
    }
    
    /* Encouraging Novels */
    section[data-report-blocktitle="Encouraging Novels"] {
        background: var(--bg_dark);
    }
    
    section[data-report-blocktitle="Encouraging Novels"] h3,
    section[data-report-blocktitle="Encouraging Novels"] h4 a {
        color: var(--txt_title);
    }
    
    /* Completed */
    div[data-report-blocktitle="Completed"] h3,
    div[data-report-blocktitle="Completed"] h3 a {
        color: var(--txt_title);
    }
    
    div[data-report-blocktitle="Completed"] .bc_light_default {
        background: var(--bg);
    }
    
    /* Promising Novels */
    div[data-report-blocktitle="Promising Novels"] h3,
    div[data-report-blocktitle="Promising Novels"] h3 a {
        color: var(--txt_title);
    }
    
    div[data-report-blocktitle="Promising Novels"] p a {
        color: var(--txt_genre);
    }
    
    /* Trending Original */
    div[data-report-blocktitle="Trending Original"] h3,
    div[data-report-blocktitle="Trending Original"] h4 a {
        color: var(--txt_title);
    }
    
    /* Potential Entrant */
    section[data-report-blocktitle="Potential Entrant"] h3,
    section[data-report-blocktitle="Potential Entrant"] h4 a {
        color: var(--txt_title);
    }
    
    section[data-report-blocktitle="Potential Entrant"] p a {
        color: var(--txt_genre);
    }
    
    section[data-report-blocktitle="Potential Entrant"] {
        background: var(--bg_dark);
    }
}

@-moz-document regexp("http(s)://(www.)webnovel.com/category/.*") {
    /* Browse Page */
    
    /* Page body */
    html,
    body {
        background-color: var(--bg_dark);
        color: var(--txt);
    }
    
    /* Headers */
    h3,
    .j_filter_form h4 {
        color: var(--txt_title);
    }
    
    /* Genre List */
    .m-switch {
        background-color: var(--bg_light);
    }
    .m-switch label {
        color: var(--txt_genre);
    }
    
    .m-switch-0:checked ~ .m-switch label:first-child,
    .m-switch-1:checked ~ .m-switch label:not(:first-child) {
        background-color: var(--bg_selected);
        color: var(--txt);
    }
    
    .m-accordion-bd li a {
        color: var(--txt_genre);
    }
    
    .m-accordion-icon {
        color: var(--txt);
    }
    
    /* Novel List */
    .j_category_wrapper h3 a {
        color: var(--txt_title);
    }
    
    .j_category_wrapper p,
    .j_category_wrapper p strong {
        color: var(--txt_genre)
    }
}

@-moz-document regexp("http(s)://(www.)webnovel.com/ranking/.*") {
    /* Rankings Pages */
    
    /* Page body */
    html,
    body {
        background-color: var(--bg_dark);
        color: var(--txt);
    }
    
    /* Headers */
    h3,
    .g_hr h4 {
        color: var(--txt_title);
    }
    
    /* Genre List */
    .m-accordion-bd a {
        color: var(--txt_genre);
    }
    
    .m-accordion-icon {
        color: var(--txt);
    }
    
    /* Ranking List */
    .f1 h5 {
        color: var(--txt_genre);
    }
    
    .m-release-item strong,
    .j_show_filter_sel strong,
    .j_show_filter_sel svg {
        color: var(--txt);
    }
    
    .j_rank_wrapper i.c_danger {
        color: var(--txt_lcol1) !important;
    }
    
    .j_rank_wrapper i.c_warning {
        color: var(--txt_lcol2) !important;
    }
    
    .j_rank_wrapper i.c_success {
        color: var(--txt_lcol3) !important;
    }
    
    .j_rank_wrapper .ff_number.tac {
        color: var(--txt);
    }
    
    .j_rank_wrapper h3 a {
        color: var(--txt_title)
    }
    
    .j_rank_wrapper .vam {
        color: var(--txt_genre);
    }
    
    /* Other Filters dropdown */
    .j_show_filter_container {
        background: var(--bg_light);
    }
    
    .j_show_filter_container legend {
        color: var(--txt_genre);
    }
}

@-moz-document regexp("http(s)://(www.)webnovel.com/profile/.*") {
    /* Profile page */
    
    /* Page body */
    html,
    body,
    .header {
        background-color: var(--bg_dark);
        color: var(--txt);
    }
    
    .g_wrap p {
        color: var(--txt);
    }
    
    address svg, 
    address strong {
        color: var(--txt_genre);
    }
}

@-moz-document regexp("http(s)://(www.)webnovel.com/badges") {
    /* Badges Page */
    
    /* Page body */
    html,
    body,
    .g_sub_hd {
        background: var(--bg_dark);
        color: var(--txt);
    }
}

@-moz-document regexp("http(s)://(www.)webnovel.com/settings") {
    /* Settings/Edit Profile Page */
    
    /* Page body */
    html,
    body,
    .header {
        background: var(--bg_dark);
        color: var(--txt);
    }
    
    #settingForm .g_row label,
    #settingForm .g_row strong {
        color: var(--txt);
    }
    
    .fc_sel strong {
        color: black !important;
    }
}

@-moz-document regexp("http(s)://(www.)webnovel.com/library(.*)") {
    /* Library Page */
    
    /* Page body */
    html,
    body,
    .g_sub_hd {
        background: var(--bg_dark);
    }
    
    h2,
    h3 {
        color: var(--txt_title);
    }
    
    a._on[title="Library"] {
        color: var(--txt) !important;
    }
    
    a[title="History"]:hover {
        color: var(--txt_genre) !important;
    }
}

@-moz-document regexp("http(s)://(www.)webnovel.com/history(.*)") {
    /* History Page */
    
    /* Page body */
    html,
    body,
    .g_sub_hd {
        background: var(--bg_dark);
    }
    
    h2 {
        color: var(--txt_title);
    }
    
    a._on[title="History"] {
        color: var(--txt) !important;
    }
    
    a[title="Library"] {
        color: var(--txt_genre) !important;
    }
    
    .g_col h3 a {
        color: var(--txt_title);
    }
    
    .g_star_num small {
        color: var(--txt_genre);
    }
    
    .g_tags a,
    ._oprate a {
        color: var(--bg_selected) !important;
    }
    
    .g_col a {
        color: var(--txt_genre);
    }
}

@-moz-document regexp("http(s)://(www.)webnovel.com/book/.*") {
    /* Book Page */
    
    /* Page Body */
    body,
    .page div {
        background: var(--bg_dark);
        color: var(--txt);
    }
    
    /* Book Info */
    .det-hd .c_000 {
        color: var(--txt_genre);
    }
    
    .det-info h2 {
        color: var(--txt_title);
    }
    
    .det-hd-detail a,
    .det-hd-detail strong {
        color: var(--txt_genre);
    }
    .det-hd address span {
        color: var(--bg_selected);
    }
    
    /* About | Table of Contents Bar */
    .det-tab-nav ._on span {
        color: var(--bg_selected) !important;
    }
    
    /* About */
    #about p.c_000 {
        color: var(--txt);
    }
    
    /* Table of Contents */
    #contents li {
        background: var(--bg_dark);
    }
    #contents li i {
        color: var(--bg_selected);
    }
    #contents li strong {
        color: var(--txt);
    }
    
    /* You may also like */
    .j_books_you_also_like .m-book-title h3 {
        color: var(--txt_title);
    }
    .j_books_you_also_like .g_star_num small {
        color: var(--txt_dark);
    }
    
    /* Reviews */
    #review .g_star_num small {
        color: var(--txt_dark);
    }
    #review .g_tab_nav ._on {
        color: var(--bg_selected);
    }
    .m-comment-tool {
        color: var(--txt_dark);
    }
    .m-comment-ft strong {
        color: var(--txt_dark);
    }
    #pagination .ui-page-x a,
    #pagination .ui-page-x .ui-page-ellipsis {
        color: var(--txt_dark);
    }
    #pagination .ui-page-x .ui-page-prev,
    #pagination .ui-page-x .ui-page-next {
        color: var(--txt);
    }
    
    /* Leave a review */
    #reviewModal .rev-modal-score-list strong {
        color: var(--bg_selected)
    }
    #reviewModal textarea {
        color: var(--txt);
    }
    #reviewModal .btn_rich_modal {
        color: var(--txt)
    }
    #reviewModal .rich_modal_footer strong {
        color: var(--txt);
    }
    
    /* Review Replies */
    #replyDetailModal div {
        background: var(--bg);
        color: var(--txt);
    }
    #replyDetailModal blockquote {
        background: var(--bg_light);
        color: var(--txt);
    }
    #replyDetailModal .g_mod_chat_ft input {
        background: var(--bg);
        color: var(--txt);
    }
    
    /* Review Replies - Add a Comment */
    .rich_modal .g_mod {
        background: var(--bg);
    }
    .rich_modal .g_mod h4 {
        color: var(--txt)
    }
    .rich_modal .g_mod .modal_quote,
    .rich_modal .g_mod .modal_quote div {
        background: var(--bg_light);
        color: var(--txt);
    }
    .rich_modal .g_mod textarea {
        background: var(--bg_light);
        color: var(--txt) !important;
    }
    .rich_modal .g_mod .btn_rich_modal {
        color: var(--txt);
    }
    
    /* Usernames */
    .fans-list a strong,
    .m-comment-hd h3 a {
        color: var(--txt);
    }
}