
:root {
    --color-primary: #49CC9F;
    --color-primary-dark: #3DBF8E;
    --color-primary-light: #79C48C;
    --color-primary-bg: #f0faf6;
    --color-primary-border: #d0f0e4;
    --color-accent: #FF7B75;
    --color-warning: #FFB800;
    --color-danger: #FF6B6B;
    --color-text: #333;
    --color-text-secondary: #555;
    --color-text-muted: #666;
    --color-text-hint: #888;
    --color-text-disabled: #999;
    --color-text-light: #aaa;
    --color-link: #49CC9F;
    --color-bg: #f5f8f7;
    --color-bg-card: #fff;
    --color-bg-hover: #fafcfb;
    --color-bg-input: #f4f7f6;
    --color-border: #f0f0f0;
    --color-border-light: #f5f5f5;
    --color-border-input: #e0e0e0;
    --color-border-divider: #eee;
    --space-xs: 4px;
    --space-sm: 6px;
    --space-md: 8px;
    --space-lg: 10px;
    --space-xl: 12px;
    --space-2xl: 15px;
    --space-3xl: 20px;
    --radius-sm: 4px;
    --radius-md: 6px;
    --radius-lg: 6px;
    --radius-xl: 6px;
    --radius-pill: 6px;
    --font-xs: 11px;
    --font-sm: 12px;
    --font-base: 13px;
    --font-md: 14px;
    --font-lg: 15px;
    --font-xl: 16px;
    --font-2xl: 18px;
    --font-3xl: 22px;
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.04);
    --shadow-md: 0 1px 4px rgba(0,0,0,0.04);
    --shadow-lg: 0 2px 8px rgba(0,0,0,0.06);
    --shadow-primary: none;
    --height-nav: 50px;
    --height-breadcrumb: 44px;
    --height-btn: 44px;
    --height-input: 42px;
    --transition-fast: 0.15s;
    --transition-normal: 0.2s;
}
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display: block; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
ul, li { list-style: none; }
img { max-width: 100%; height: auto; border: 0; vertical-align: middle; }
a { color: var(--color-link); text-decoration: none; transition: color var(--transition-normal), opacity var(--transition-normal); }
a:hover { opacity: 0.85; }
h1, h2, h3, h4, h5, h6 { font-weight: 600; }
.cc { clear: both; height: 0; overflow: hidden; }
.t { color: var(--color-bg-card); }
.gray, a.gray { color: var(--color-text-hint); }
.highlight { color: var(--color-accent); font-weight: 600; }
.fa-solid, .fa-regular, .fa-brands { margin-right: var(--space-xs); }
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: var(--font-md);
    line-height: 1.6;
    color: var(--color-text);
    background: var(--color-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    max-width: 100vw;
}
main, article { max-width: 100%; overflow-x: hidden; clear: both; }
pre, code { white-space: pre-wrap; word-break: break-all; }
* { -webkit-tap-highlight-color: transparent; }
a, button, input, [role="button"], [onclick] { -webkit-tap-highlight-color: rgba(73, 204, 159, 0.15); }
.sort ul li, .chapterList ul li, .ch-list li,
.lb_mulu ul li, .otherChapterList ul li,
.pagination, .page-nav, #page,
.sort ul li a, .prev a, .mulu a, .next a,
.btn, .pagination a, .page-nav a,
.rate-btn, .user-nav-list li a {
    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
a:focus-visible, button:focus-visible, input:focus-visible,
.btn:focus-visible, .rate-btn:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}
main > section,
article > section,
article > aside {
    background: var(--color-bg-card);
    margin: 0;
    border-radius: 0;
    padding: var(--space-xl) var(--space-2xl);
    box-shadow: none;
    border-bottom: 1px solid var(--color-border);
}
main > section:last-child,
article > section:last-child,
article > aside:last-child { border-bottom: none; }
main > section[class^="nr_"] { margin: 0; padding: 0; border-radius: 0; box-shadow: none; border-bottom: none; }
.top {
    position: sticky; top: 0; z-index: 100;
    height: var(--height-nav);
    line-height: var(--height-nav);
    color: var(--color-bg-card);
    background: var(--color-primary);
    box-shadow: none;
}
.top .l { float: left; margin-left: var(--space-lg); height: var(--height-nav); line-height: var(--height-nav); font-size: var(--font-2xl); font-weight: 600; }
.top .l a { color: var(--color-bg-card); }
.top .r { float: right; margin-right: var(--space-lg); height: var(--height-nav); line-height: var(--height-nav); display: flex; align-items: center; gap: var(--space-sm); }
.top .r a { color: var(--color-bg-card); transition: opacity var(--transition-fast); }
.top .r a:hover { opacity: 0.82; }
.top #login_top { display: flex; align-items: center; gap: var(--space-sm); }
.top #login_top a { white-space: nowrap; }
.top .r .top-search {
    display: inline-flex; align-items: center; justify-content: center;
    flex: none;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--color-bg-card);
    color: var(--color-primary);
    font-size: 15px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);
}
.top .r .top-search:hover {
    color: var(--color-primary-dark);
    opacity: 1;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.16);
}
#info {
    height: 40px; line-height: 40px;
    text-align: right;
    color: var(--color-bg-card);
    padding-right: var(--space-2xl);
    background: var(--color-primary);
}
#info a {
    color: var(--color-bg-card);
    padding: var(--space-xs) var(--space-xl);
    border-radius: var(--radius-pill);
    background: rgba(255,255,255,0.2);
    font-size: var(--font-base);
    transition: background var(--transition-normal);
}
#info a:hover { background: rgba(255,255,255,0.35); }
.login_topbtn {
    padding: 5px var(--space-lg);
    margin-left: var(--space-sm);
    font-size: var(--font-sm);
    color: var(--color-bg-card);
    background: rgba(255,255,255,0.16);
    border-radius: var(--radius-sm);
    display: inline-block;
    line-height: 1.4;
    transition: background var(--transition-normal);
}
.login_topbtn:hover { background: rgba(255,255,255,0.28); opacity: 1; }
.sort {
    float: left; width: 100%;
    background: var(--color-bg-card);
    box-shadow: none;
    border-bottom: 1px solid var(--color-border);
}
.sort * { box-sizing: border-box; }
.sort ul { margin: 0; padding: 0; display: flex; }
.sort ul li {
    flex: 1; text-align: center;
    padding: var(--space-xl) 0;
    min-height: var(--height-breadcrumb);
}
.sort ul li a {
    color: var(--color-primary);
    font-size: var(--font-xl);
    font-weight: 600;
    display: block; width: 100%;
    min-height: var(--height-breadcrumb);
    line-height: var(--height-breadcrumb);
    transition: background var(--transition-normal);
    -webkit-user-select: none; user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.sort ul li a:hover { background: var(--color-primary-bg); }
.sort ul li a:active { background: #e8f5f0; }
.sort .blue { color: #40B6F3; }
.sort .red { color: #FF3F56; }
.sort .green { color: #04BF17; }
.sort .yellow { color: #E4B307; }
.search {
    background: var(--color-bg-card);
    width: 100%;
    box-sizing: border-box;
    padding: var(--space-xl) var(--space-2xl);
    color: var(--color-text-muted);
    display: flex; align-items: center;
}
.search label { flex: 1; display: block; line-height: 36px; }
.search label.close {
    flex: 0; display: block; width: 3em;
    font-size: var(--font-md); text-align: center;
    color: var(--color-primary); cursor: pointer;
}
.search input[type=submit] { display: none; }
.search label.so { position: relative; }
.search label.so span.del {
    position: absolute; right: var(--space-xl); top: 13px;
    width: 18px; height: 18px; line-height: 18px;
    background: #ccc;
    color: var(--color-bg-card);
    border-radius: 50%;
    text-align: center;
    font-size: 10px;
    cursor: pointer; display: block;
    transition: background var(--transition-normal);
}
.search label.so span.del:hover { background: var(--color-text-disabled); }
.search label.so input.key {
    width: 100%;
    height: var(--height-input);
    border-radius: var(--radius-pill);
    padding: var(--space-lg) 2.5em;
    outline: 0;
    box-sizing: border-box;
    border: 1px solid var(--color-border-input);
    background: var(--color-bg-input) url('/Public/search.png') no-repeat var(--space-xl) center;
    background-size: 1em 1em;
    font-size: var(--font-xl);
    line-height: 1.4;
    transition: border-color var(--transition-normal), background var(--transition-normal);
}
.search label.so input.key:focus {
    border-color: var(--color-primary);
    background-color: var(--color-bg-card);
}
.s_m { float: left; width: 100%; }
.site-intro {
    margin: 0;
    font-size: var(--font-md);
    line-height: 1.9;
    color: var(--color-text-muted);
}
.site-intro a { color: var(--color-primary); }
.c_big {
    height: 40px; padding-top: 0;
    font-size: var(--font-lg); font-weight: 600; line-height: 40px;
    color: var(--color-text);
    text-indent: var(--space-xl);
    border-bottom: 1px solid var(--color-border);
    margin-bottom: 0;
    background: var(--color-bg-card);
    position: relative;
}
.c_big::before {
    content: ''; position: absolute; left: 0; top: 11px; bottom: 11px;
    width: 3px; background: var(--color-primary); border-radius: 0;
}
.home-navbar {
    background: var(--color-bg-card);
    border-bottom: 1px solid var(--color-border);
}
.home-nav {
    display: flex; align-items: center;
    margin: 8px var(--space-lg);
    padding: 3px;
    height: 40px;
    background: var(--color-bg-input);
    border-radius: 20px;
    gap: 2px;
    list-style: none;
}
.home-nav li { flex: 1 1 0; min-width: 0; display: flex; }
.home-nav a {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 34px;
    padding: 0 2px;
    border-radius: 17px;
    font-size: var(--font-md);
    color: var(--color-text-secondary);
    white-space: nowrap;
    transition: background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
}
.home-nav a i { margin-right: 4px; font-size: var(--font-sm); }
.home-nav a:hover { background: var(--color-bg-card); color: var(--color-primary); }
.home-nav a[aria-current="page"] {
    background: var(--color-primary);
    color: #fff;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(73, 204, 159, 0.28);
}
.home-nav a[aria-current="page"]:hover { background: var(--color-primary-dark); color: #fff; }
.visit-top .tab-header {
    display: flex;
    background: var(--color-bg-card);
    border-bottom: 1px solid var(--color-border);
}
.visit-top .tab-header span {
    flex: 1; text-align: center;
    min-height: var(--height-breadcrumb);
    height: var(--height-breadcrumb);
    line-height: var(--height-breadcrumb);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: var(--font-md);
    color: var(--color-text-muted);
    cursor: pointer;
    transition: color var(--transition-normal), border-color var(--transition-normal);
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
}
.visit-top .tab-header span.tab {
    color: var(--color-primary); font-weight: 600;
    border-bottom-color: var(--color-primary);
}
.chapterList { width: 100%; background: var(--color-bg-card); }
.chapterList ul { margin: 0; padding: 0 var(--space-2xl); }
.chapterList ul li i, .chapterList ul li em {
    width: 22px; height: 22px; line-height: 22px;
    color: var(--color-primary);
    text-align: center;
    background: var(--color-primary-bg);
    display: inline-block;
    font-style: normal;
    font-size: var(--font-sm);
    border-radius: var(--radius-sm);
    margin-right: var(--space-sm);
}
.chapterList ul li:nth-child(1) em, .chapterList ul li:nth-child(1) i { color: #FF7B75; background: #FFF3F2; }
.chapterList ul li:nth-child(2) em, .chapterList ul li:nth-child(2) i { color: #FFA940; background: #FFF8EE; }
.chapterList ul li:nth-child(3) em, .chapterList ul li:nth-child(3) i { color: #5B8FF9; background: #F0F5FE; }
.chapterList ul li:first-child { border-top: 0; }
.visit-top .chapterList ul li {
    display: flex; align-items: center;
    min-height: 42px;
    padding: var(--space-xs) 0;
    border-bottom: 1px solid var(--color-border);
    transition: background var(--transition-fast);
}
.visit-top .chapterList ul li:last-child { border-bottom: 0; }
.visit-top .chapterList ul li:hover { background: var(--color-bg-hover); }
.visit-top .chapterList ul li a { flex: 1; color: var(--color-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.visit-top .chapterList ul li a:hover { color: var(--color-primary); }
.li-sort {
    flex-shrink: 0;
    margin: 0 var(--space-sm) 0 0;
    padding: 0 6px; height: 18px; line-height: 18px;
    font-size: 11px;
    color: var(--color-primary);
    background: var(--color-primary-bg);
    border-radius: var(--radius-sm);
}
.last_li {
    margin: 0 var(--space-lg);
    border-bottom: 1px solid var(--color-border);
    line-height: 1.6em;
    padding: var(--space-md) 0;
}
.last_li .name { font-size: var(--font-lg); color: var(--color-primary); }
.last_li .info { font-size: var(--font-sm); color: var(--color-text-disabled); }
.words { margin-left: var(--space-md); color: var(--color-text-disabled); font-size: var(--font-sm); }
.common-bookele {
    padding: var(--space-xl) var(--space-2xl);
    word-wrap: break-word; overflow: hidden;
    border-bottom: 1px solid var(--color-border);
    transition: background var(--transition-fast);
}
.common-bookele:hover { background: var(--color-bg-hover); }
.common-bookele:active { background: var(--color-bg); }
.common-bookele h2, .common-bookele h3 {
    font-size: var(--font-xl);
    line-height: 24px; height: 24px;
    overflow: hidden; word-break: break-all;
    font-weight: 600;
    color: var(--color-text);
    text-overflow: ellipsis; white-space: nowrap;
    padding-bottom: 2px;
}
.common-bookele h2 a, .common-bookele h3 a { color: var(--color-primary); }
.common-bookele p {
    color: var(--color-text-hint);
    line-height: 20px; height: 20px;
    overflow: hidden;
    font-size: var(--font-sm);
    margin: var(--space-xs) 0;
}
.common-bookele p strong { font-weight: normal; }
.common-bookele .lastupdate { margin-bottom: var(--space-xs); }
.common-bookele span.abstract {
    padding-top: var(--space-xs);
    height: 40px; line-height: 20px;
    color: var(--color-text-hint);
    font-size: var(--font-base);
    overflow: hidden; text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.common-bookele span.abstract a { color: inherit; }
.common-bookele .articlename {
    font-size: var(--font-xl);
    line-height: 24px; height: 24px;
    overflow: hidden; word-break: break-all;
    font-weight: 600;
    color: var(--color-primary);
    text-overflow: ellipsis; white-space: nowrap;
    padding-bottom: 2px;
    display: block;
    margin-bottom: var(--space-xs);
}
.lb_top {
    position: sticky; top: 0; left: 0; width: 100%;
    background: var(--color-primary);
    box-shadow: none;
    z-index: 100;
}
.lb_topshow { z-index: 9999; }
.lb_top table { width: 100%; }
.lb_top a { color: var(--color-bg-card); text-decoration: none; }
.lb_top_inner {
    display: flex; align-items: center; justify-content: space-between;
    height: 48px; padding: 0 var(--space-md);
}
.lb_top .fh { flex-shrink: 0; }
.lb_top .fh a {
    display: inline-flex; align-items: center; gap: var(--space-xs);
    padding: var(--space-sm) var(--space-xl);
    border-radius: var(--radius-sm);
    font-size: var(--font-base);
    transition: background var(--transition-normal);
}
.lb_top .fh a:hover { background: rgba(255,255,255,0.15); }
.lb_top .t {
    flex: 1; text-align: center; font-weight: 600;
    font-size: var(--font-xl);
    color: var(--color-bg-card);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    padding: 0 var(--space-md);
}
.lb_top .shouye { flex-shrink: 0; }
.lb_top .shouye a {
    display: inline-flex; align-items: center; gap: var(--space-xs);
    padding: var(--space-sm) var(--space-xl);
    border-radius: var(--radius-sm);
    font-size: var(--font-base);
    transition: background var(--transition-normal);
}
.lb_top .shouye a:hover { background: rgba(255,255,255,0.15); }
.lb_top.c_big { height: auto; color: var(--color-bg-card); text-indent: 0; border-bottom: none; }
.page-title { font-size: var(--font-xl); font-weight: 600; color: var(--color-bg-card); margin: 0; }
.lb_fm { line-height: 25px; }
.lb_fm a { color: var(--color-primary); }
.article-title {
    font-size: var(--font-2xl);
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.4;
    margin-bottom: var(--space-md);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--color-border);
    word-break: break-word;
}
.article-meta {
    display: flex; flex-wrap: wrap;
    gap: var(--space-md) var(--space-3xl);
    font-size: var(--font-md);
    color: var(--color-text-secondary);
}
.article-meta h2 { display: inline; font-size: var(--font-md); color: var(--color-primary); }
.article-meta time { color: var(--color-text-hint); }
.lb_jj { padding-top: var(--space-lg); }
.lb_mulu ul { display: flex; flex-wrap: wrap; gap: var(--space-sm); padding: var(--space-xl) var(--space-2xl) var(--space-2xl); }
.lb_mulu ul li { float: none; width: auto; }
.lb_mulu ul li a:hover {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-bg-card);
}
.otherChapterList ul li {
    width: 100%;
    min-height: var(--height-breadcrumb);
    height: 40px; line-height: 39px;
    text-overflow: ellipsis;
    border-top: 1px solid var(--color-border);
    box-sizing: border-box;
}
.otherChapterList ul li a {
    width: 100%; display: flex; align-items: center;
    min-height: var(--height-breadcrumb);
    color: var(--color-text-secondary);
}
.otherChapterList ul li a:hover { color: var(--color-primary); }
.btn {
    display: block;
    min-height: var(--height-breadcrumb);
    height: 40px;
    font-size: var(--font-lg); line-height: 40px;
    color: var(--color-bg-card); text-align: center;
    background: var(--color-primary);
    margin: var(--space-sm) var(--space-lg);
    border-radius: var(--radius-md);
    border: none; cursor: pointer;
    transition: opacity var(--transition-normal), transform 0.1s;
    box-shadow: none;
}
.btn:hover { opacity: 0.9; }
.btn:active { opacity: 0.8; transform: scale(0.98); }
.btn-outline {
    background: var(--color-bg-card);
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    box-shadow: none;
}
.btn-outline:hover { background: var(--color-primary-bg); }
.btn-outline:active { background: var(--color-primary); color: var(--color-bg-card); }
.action-btns { display: flex; gap: var(--space-lg); }
.action-btns .btn { flex: 1; margin: var(--space-sm) 0; }
.nr_title {
    padding: var(--space-2xl) var(--space-2xl);
    font-weight: 600;
    font-size: var(--font-2xl);
    text-align: center; line-height: 1.5;
    background: var(--color-bg-card);
    border-bottom: 1px solid var(--color-border);
}
.nr_nr { margin: 0; }
.nr_loading { display: none; margin: 0; padding: var(--space-3xl) var(--space-2xl); text-align: center; color: var(--color-text-hint); font-size: var(--font-md); }
html.js .nr_loading { display: block; }
.nr_loading .fa-solid { color: var(--color-primary); margin-right: var(--space-xs); }
.nr_p { display: block; }
.nr_noscript { padding: var(--space-2xl); text-align: center; color: var(--color-text-hint); font-size: var(--font-md); line-height: 1.8; }
.nr_noscript a { color: var(--color-primary); }
#nr1 {
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: auto;
    line-height: 2; text-align: justify;
    padding: var(--space-2xl);
    font-size: 18px;
    background: var(--color-bg-card);
    max-width: 100%;
}
.nr_page_btns { display: flex; gap: var(--space-md); }
.nr_page_btns .prev-btn,
.nr_page_btns .mulu-btn,
.nr_page_btns .next-btn {
    flex: 1; text-align: center;
    padding: var(--space-lg) 0;
    font-size: var(--font-md);
    color: var(--color-primary);
    background: var(--color-primary-bg);
    transition: all var(--transition-normal);
    min-height: var(--height-btn);
    display: flex; align-items: center; justify-content: center;
    -webkit-user-select: none; user-select: none;
    -webkit-tap-highlight-color: transparent;
    white-space: nowrap;
}
.nr_page_btns .prev-btn:active,
.nr_page_btns .mulu-btn:active,
.nr_page_btns .next-btn:active {
    background: var(--color-primary);
    color: var(--color-bg-card);
    border-color: var(--color-primary);
}
.nr_page_btns .mulu-btn {
    flex: 0.8;
    background: var(--color-primary);
    color: var(--color-bg-card);
    border-color: var(--color-primary);
}
.nr_page_btns .mulu-btn:active { opacity: 0.85; }
.nr_page_btns .prev-btn .fa-solid,
.nr_page_btns .next-btn .fa-solid { margin-right: 0; }
.prev a, .mulu a, .next a {
    font-size: var(--font-base);
    background: var(--color-primary-bg);
    border-radius: var(--radius-pill);
    display: inline-flex; align-items: center; justify-content: center;
    min-height: var(--height-breadcrumb);
    padding: var(--space-md) 1.5em;
    text-align: center;
    color: var(--color-primary);
    border: 1px solid var(--color-primary-border);
    transition: all var(--transition-normal);
}
.prev a:hover, .mulu a:hover, .next a:hover {
    background: var(--color-primary);
    color: var(--color-bg-card);
    border-color: var(--color-primary);
}
.prev a:active, .mulu a:active, .next a:active {
    background: var(--color-primary);
    color: var(--color-bg-card);
    border-color: var(--color-primary);
}
.nr_set {
    padding: var(--space-lg) var(--space-2xl);
    border-bottom: 1px solid var(--color-border);
    font-size: var(--font-sm);
    background: var(--color-bg-card);
}
.nr_set .set1 {
    float: right;
    border: 1px solid var(--color-primary);
    padding: var(--space-xs) var(--space-lg);
    margin-left: var(--space-lg);
    border-radius: var(--radius-pill);
    color: var(--color-bg-card);
    background: var(--color-primary);
    cursor: pointer;
}
.nr_set .set2 div {
    border: 1px solid var(--color-primary);
    float: left;
    padding: var(--space-xs) var(--space-lg);
    margin-left: var(--space-sm);
    border-radius: var(--radius-pill);
    color: var(--color-bg-card);
    background: var(--color-primary);
    cursor: pointer;
}
.nr_set .set2 p {
    border: 1px solid var(--color-primary);
    float: left;
    padding: var(--space-sm) var(--space-md);
    margin-left: var(--space-sm);
    border-radius: 3px;
    color: var(--color-primary);
    background: var(--color-bg-card);
}
.Menu {
    background: rgba(0,0,0,0.4);
    width: 100%; height: 100%;
    position: fixed; z-index: 2147483648;
    top: 0; left: 0;
    display: none;
    opacity: 0;
    transition: opacity var(--transition-normal);
}
.Menu.show { display: block; opacity: 1; }
.Menu section {
    position: absolute;
    left: 20%; width: 80%;
    height: 100%;
    background: var(--color-bg-card);
    padding: var(--space-2xl);
    box-sizing: border-box;
    box-shadow: -2px 0 10px rgba(0,0,0,0.15);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transform: translateX(100%);
    transition: transform 0.25s ease-out;
}
.Menu.show section { transform: translateX(0); }
.Menu section dl dt {
    font-size: var(--font-md);
    margin: var(--space-md) 0; line-height: 2;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-text-disabled);
    font-weight: 600;
}
.Menu section dl dd { overflow: hidden; }
.Menu section .fonts label { line-height: 28px; height: 30px; border: 1px solid var(--color-border-input); }
.Menu section dl dd label {
    margin: var(--space-sm);
    float: left; text-align: center;
    border-radius: var(--radius-sm);
    padding: 0 0.6em;
    transition: all var(--transition-normal);
}
.Menu section dl dd label:hover { border-color: var(--color-primary); }
.Menu section .fonts label a { font-size: var(--font-md); color: var(--color-text-secondary); display: block; }
.Menu section .bgmenu label {
    width: 2.5em; height: 2.5em; line-height: 2.5em;
    padding: 0; cursor: pointer;
    border-radius: var(--radius-sm);
    transition: transform var(--transition-fast);
}
.Menu section .bgmenu label:hover { transform: scale(1.1); }
.nr_bookmark { text-align: center; padding: var(--space-xl) 0; }
.nr_bookmark a {
    color: var(--color-primary);
    font-size: var(--font-md);
    min-height: var(--height-breadcrumb);
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--space-lg) var(--space-3xl);
    border: 1px solid var(--color-primary);
    border-radius: var(--radius-pill);
    transition: all var(--transition-normal);
}
.nr_bookmark a:hover { background: var(--color-primary); color: var(--color-bg-card); }
.nr_notice {
    padding: var(--space-lg) var(--space-xl);
    font-size: var(--font-base);
    color: var(--color-text-hint);
    line-height: 1.8;
}
.nr_notice summary { color: var(--color-text-muted); font-weight: 600; cursor: pointer; padding: var(--space-xs) 0; }
#nr_body {
    --rd-page: #ffffff;
    --rd-card: #ffffff;
    --rd-text: #333333;
    --rd-text-sub: #666666;
    --rd-text-hint: #999999;
    --rd-border: #e8e8e8;
    --rd-btn-bg: #eaf7f2;
    --rd-btn-text: #2a9d78;
    --rd-btn-border: #d5efe6;
    --rd-primary: #49CC9F;
    background: var(--rd-page);
}
#nr_body.bg1 { --rd-page: #ffffff; --rd-card: #ffffff; --rd-text: #333; --rd-text-sub: #666; --rd-border: #e8e8e8; }
#nr_body.bg2 { --rd-page: #E3EDCD; --rd-card: #E3EDCD; --rd-text: #3d4a3a; --rd-text-sub: #62705d; --rd-border: #d0dcb6; --rd-btn-bg: #d6e3bc; --rd-btn-text: #4c5f45; --rd-btn-border: #c4d5a8; --rd-primary: #5f7f45; }
#nr_body.bg3 { --rd-page: #F5F5DC; --rd-card: #F5F5DC; --rd-text: #4a4738; --rd-text-sub: #6e6a55; --rd-border: #e3e0c4; --rd-btn-bg: #ebe9c8; --rd-btn-text: #5d5941; --rd-btn-border: #dbd8b4; --rd-primary: #7d7434; }
#nr_body.bg4 { --rd-page: #CCE8CF; --rd-card: #CCE8CF; --rd-text: #35473b; --rd-text-sub: #5a7262; --rd-border: #b4dbbe; --rd-btn-bg: #b7ddc0; --rd-btn-text: #3d5a47; --rd-btn-border: #a3cfaf; --rd-primary: #3f7a54; }
#nr_body.bg5 { --rd-page: #F0E6D2; --rd-card: #F0E6D2; --rd-text: #4c4436; --rd-text-sub: #706552; --rd-border: #e0d4b8; --rd-btn-bg: #e4d7bb; --rd-btn-text: #59513f; --rd-btn-border: #d5c4a6; --rd-primary: #7c6440; }
#nr_body.bg6 { --rd-page: #D4EDED; --rd-card: #D4EDED; --rd-text: #37494b; --rd-text-sub: #5d7274; --rd-border: #bedcdc; --rd-btn-bg: #c2e3e3; --rd-btn-text: #40595b; --rd-btn-border: #b0d9d9; --rd-primary: #3d7575; }
#nr_body.bg7 { --rd-page: #E8D4E8; --rd-card: #E8D4E8; --rd-text: #46394a; --rd-text-sub: #6a5a70; --rd-border: #d6bfd6; --rd-btn-bg: #ddc6dd; --rd-btn-text: #574157; --rd-btn-border: #d1b6d1; --rd-primary: #7a4d74; }
#nr_body.bg8  { --rd-page: #232323; --rd-card: #2C2C2C; --rd-text: #c5c5c5; --rd-text-sub: #9a9a9a; --rd-text-hint: #777; --rd-border: #444; --rd-btn-bg: #3a3a3a; --rd-btn-text: #c5c5c5; --rd-btn-border: #555; --rd-primary: #49CC9F; }
#nr_body.bg9  { --rd-page: #141414; --rd-card: #1A1A1A; --rd-text: #b8b8b8; --rd-text-sub: #8f8f8f; --rd-text-hint: #666; --rd-border: #333; --rd-btn-bg: #262626; --rd-btn-text: #b8b8b8; --rd-btn-border: #3a3a3a; --rd-primary: #49CC9F; }
#nr_body.bg10 { --rd-page: #000000; --rd-card: #0d0d0d; --rd-text: #adadad; --rd-text-sub: #858585; --rd-text-hint: #5c5c5c; --rd-border: #222; --rd-btn-bg: #1a1a1a; --rd-btn-text: #adadad; --rd-btn-border: #2e2e2e; --rd-primary: #49CC9F; }
#nr_body .nr_title   { background: var(--rd-card); color: var(--rd-text); border-bottom: 1px solid var(--rd-border); }
#nr_body #nr1        { background: var(--rd-card); color: var(--rd-text); }
#nr_body .nr_page,
#nr_body .nr_bookmark { background: var(--rd-card); }
#nr_body .nr_notice  { background: var(--rd-card); box-shadow: none; }
#nr_body .nr_notice summary { color: var(--rd-text-sub); }
#nr_body .nr_notice p { color: var(--rd-text-hint); }
#nr_body .nr_noscript { color: var(--rd-text-hint); }
#nr_body .nr_noscript a { color: var(--rd-primary); }
#nr_body .nr_loading { color: var(--rd-text-hint); }
#nr_body .nr_bookmark a {
    background: var(--rd-btn-bg); color: var(--rd-btn-text); border: 1px solid var(--rd-btn-border);
}
#nr_body .nr_bookmark a:hover { background: var(--rd-btn-border); color: var(--rd-btn-text); }
#nr_body .nr_page_btns .prev-btn,
#nr_body .nr_page_btns .next-btn {
    background: var(--rd-btn-bg); color: var(--rd-btn-text); border: 1px solid var(--rd-btn-border);
}
#nr_body .nr_page_btns .prev-btn:active,
#nr_body .nr_page_btns .next-btn:active { background: var(--rd-btn-border); }
#nr_body .nr_page_btns .mulu-btn { background: var(--rd-primary); color: #fff; border: 1px solid var(--rd-primary); }
#nr_body .nr_page_btns .mulu-btn:active { opacity: 0.85; }
#nr_body.bg8 .yzwHead, #nr_body.bg9 .yzwHead, #nr_body.bg10 .yzwHead { background: var(--rd-card); border-bottom-color: var(--rd-border); }
#nr_body.bg8 .yzwHead .h_txt, #nr_body.bg9 .yzwHead .h_txt, #nr_body.bg10 .yzwHead .h_txt,
#nr_body.bg8 .h_nav_items li, #nr_body.bg9 .h_nav_items li, #nr_body.bg10 .h_nav_items li,
#nr_body.bg8 .h_nav_items a, #nr_body.bg9 .h_nav_items a, #nr_body.bg10 .h_nav_items a { color: var(--rd-text); }
#nr_body.bg8 .nav-sep, #nr_body.bg9 .nav-sep, #nr_body.bg10 .nav-sep { color: var(--rd-text-hint); }
#nr_body.bg8 main > section, #nr_body.bg9 main > section, #nr_body.bg10 main > section,
#nr_body.bg8 article > section, #nr_body.bg9 article > section, #nr_body.bg10 article > section { background: var(--rd-card); box-shadow: none; }
#nr_body.bg8 main > section.nr_header, #nr_body.bg9 main > section.nr_header, #nr_body.bg10 main > section.nr_header,
#nr_body.bg8 main > section.nr_content, #nr_body.bg9 main > section.nr_content, #nr_body.bg10 main > section.nr_content { background: none; }
#nr_body .nr_grade { background: var(--rd-card); border-top: 1px solid var(--rd-border); padding: var(--space-3xl) var(--space-2xl) var(--space-2xl); text-align: center; }
#nr_body .nr_grade_title { font-size: var(--font-md); font-weight: 400; color: var(--rd-text-sub); margin: 0 0 var(--space-md); }
#nr_body .nr_grade_stat { font-size: var(--font-sm); color: var(--rd-text-hint); margin: 0 0 var(--space-lg); }
#nr_body .nr_grade_stat b { color: var(--rd-primary); font-size: var(--font-xl); font-weight: 600; margin-right: 2px; }
#nr_body .nr_grade_btns { display: flex; gap: var(--space-md); justify-content: center; }
#nr_body .nr_grade_btns button {
    padding: var(--space-sm) var(--space-2xl);
    font-size: var(--font-md);
    background: transparent; color: var(--rd-btn-text);
    border: 1px solid var(--rd-btn-border);
    cursor: pointer; -webkit-tap-highlight-color: transparent;
    transition: all var(--transition-normal);
    font-family: inherit;
}
#nr_body .nr_grade_btns button i { font-size: 14px; margin-right: 2px; }
#nr_body .nr_grade_btns button:active { background: var(--rd-btn-bg); }
#nr_body .nr_grade_btns button.done { border-color: var(--rd-primary); color: var(--rd-primary); background: transparent; }
#nr_body .nr_grade_btns button:disabled { opacity: 0.4; cursor: default; }
#nr_body .nr_grade_hint { font-size: var(--font-sm); color: var(--rd-text-hint); margin: var(--space-lg) 0 0; min-height: 1.2em; }
#nr_body .nr_reco { background: var(--rd-card); border-top: 1px solid var(--rd-border); }
#nr_body .nr_reco h2 {
    font-size: var(--font-lg); font-weight: 600; color: var(--rd-text);
    margin: 0; padding: var(--space-xl) var(--space-2xl);
    border-bottom: 1px solid var(--rd-border);
    display: flex; align-items: center; gap: var(--space-sm);
}
#nr_body .nr_reco h2::before { content: ""; width: 4px; height: 1em; background: var(--rd-primary); flex: none; }
#nr_body .nr_reco ul { list-style: none; margin: 0; padding: 0; }
#nr_body .nr_reco li { border-bottom: 1px solid var(--rd-border); }
#nr_body .nr_reco li:last-child { border-bottom: none; }
#nr_body .nr_reco li a {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-sm);
    padding: var(--space-lg) var(--space-2xl); text-decoration: none;
    transition: background var(--transition-fast);
}
#nr_body .nr_reco li a:active { background: var(--rd-btn-border); }
#nr_body .reco_name { font-size: var(--font-md); color: var(--rd-text); font-weight: 500; }
#nr_body .reco_rate { font-size: var(--font-sm); color: var(--rd-primary); background: var(--rd-btn-bg); padding: 1px var(--space-sm); }
#nr_body .reco_author { font-size: var(--font-sm); color: var(--rd-text-hint); }
#nr_body .reco_chapter { flex-basis: 100%; font-size: var(--font-sm); color: var(--rd-text-sub); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bgmenu dd label.bg1  { background: #fff; border: 1px solid var(--color-border-input); }
.bgmenu dd label.bg2  { background: #E3EDCD; }
.bgmenu dd label.bg3  { background: #F5F5DC; }
.bgmenu dd label.bg4  { background: #CCE8CF; }
.bgmenu dd label.bg5  { background: #F0E6D2; }
.bgmenu dd label.bg6  { background: #D4EDED; }
.bgmenu dd label.bg7  { background: #E8D4E8; }
.bgmenu dd label.bg8  { background: #2C2C2C; color: #B0B0B0; font-size: var(--font-sm); }
.bgmenu dd label.bg9  { background: #1A1A1A; color: var(--color-text-disabled); font-size: var(--font-sm); }
.bgmenu dd label.bg10 { background: #000;    color: var(--color-text-light);    font-size: var(--font-sm); }
.ch-list {
    padding: 0; margin: 0;
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}
.ch-list li { padding: 0; border-bottom: 1px solid var(--color-border-light); }
.ch-list li:nth-of-type(odd)  { background-color: var(--color-bg-card); }
.ch-list li:nth-of-type(even) { background-color: var(--color-bg-hover); }
.ch-list li a {
    display: block;
    margin: 0 var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    color: var(--color-text-secondary);
    border-radius: var(--radius-sm);
    font-size: var(--font-md);
    line-height: 1.6;
    transition: color var(--transition-normal);
}
.ch-list li a:hover { color: var(--color-primary); }
.waps-container { padding: 0; }
.waps-container .common-bookele { border-radius: 0; margin-bottom: 0; box-shadow: none; background: var(--color-bg-card); }
.sort-overview {
    background: var(--color-bg-card);
    padding: var(--space-xl) var(--space-2xl);
    border-bottom: 1px solid var(--color-border);
}
.sort-head {
    display: flex; align-items: baseline; justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--space-md) var(--space-2xl);
}
.sort-overview h1 {
    margin: 0;
    font-size: var(--font-2xl);
    line-height: 1.4;
    font-weight: 700;
    color: var(--color-text);
}
.sort-switch {
    display: flex; align-items: center; gap: var(--space-xl);
    flex-wrap: wrap;
}
.sort-switch a {
    position: relative;
    font-size: var(--font-base);
    line-height: 1.8;
    color: var(--color-text-muted);
    transition: color var(--transition-fast);
}
.sort-switch a:hover { color: var(--color-primary); }
.sort-switch a.active { color: var(--color-primary); font-weight: 600; }
.sort-switch a.active::after {
    content: '';
    position: absolute; left: 0; right: 0; bottom: -2px;
    height: 2px; background: var(--color-primary);
}
.sort-overview p {
    margin: var(--space-sm) 0 0;
    font-size: var(--font-base);
    line-height: 1.8;
    color: var(--color-text-muted);
}
.sort-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-top: var(--space-lg);
}
.sort-tabs a {
    padding: var(--space-sm) var(--space-xl);
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-pill);
    background: var(--color-bg-card);
    font-size: var(--font-base);
    color: var(--color-text-secondary);
    line-height: 1.5;
}
.sort-tabs a.active {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-bg-card);
    font-weight: 600;
}
.sort-tabs.rank-tabs { margin-top: var(--space-lg); }
.range-tabs {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: var(--space-sm);
    margin-top: var(--space-md);
}
.range-tabs .range-label {
    display: inline-flex; align-items: center; gap: 5px;
    margin-right: var(--space-xs);
    font-size: var(--font-sm);
    color: var(--color-text-disabled);
}
.range-tabs a {
    padding: 2px var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    font-size: var(--font-sm);
    line-height: 1.8;
    color: var(--color-text-muted);
    transition: all var(--transition-fast);
}
.range-tabs a:hover {
    color: var(--color-primary);
    border-color: var(--color-primary-border);
}
.range-tabs a.active {
    color: var(--color-primary);
    background: var(--color-primary-bg);
    border-color: var(--color-primary-border);
    font-weight: 600;
}
.book-list { margin: 0; padding: 0; background: var(--color-bg-card); }
.waps-container .empty-state { background: var(--color-bg-card); }
.waps-container .pagination { background: var(--color-bg-card); border-top: 1px solid var(--color-border); }
.waps-container .common-bookele p.lastchapter { margin-bottom: var(--space-xs); }
.waps-container .rank-item { position: relative; padding-left: calc(var(--space-2xl) + 40px); }
.rank-no {
    position: absolute;
    left: var(--space-2xl);
    top: var(--space-xl);
    width: 28px; height: 28px;
    line-height: 28px;
    text-align: center;
    border-radius: 50%;
    background: var(--color-bg);
    color: var(--color-text-hint);
    font-style: normal;
    font-weight: 700;
    font-size: var(--font-sm);
}
.rank-no.top { background: var(--color-primary); color: var(--color-bg-card); }
.rank-stat strong { font-weight: 600; color: var(--color-text-secondary); }
.search-standalone { min-height: 100vh; background: var(--color-bg); }
.search-standalone .search {
    margin: 0; padding: var(--space-2xl);
    background: var(--color-bg-card);
    border-bottom: 1px solid var(--color-border);
    border-radius: 0;
}
.search-hot {
    padding: var(--space-2xl) var(--space-2xl);
    background: var(--color-bg-card);
    margin: 0;
    border-radius: 0;
    border-bottom: 1px solid var(--color-border);
}
.search-hot-title { font-size: var(--font-md); font-weight: 600; color: var(--color-text); margin-bottom: var(--space-xl); }
.search-hot-title .fa-solid { color: var(--color-accent); margin-right: var(--space-xs); }
.search-hot-tags { display: flex; flex-wrap: wrap; gap: var(--space-md); }
.search-hot-tags a {
    display: inline-block;
    padding: var(--space-md) var(--space-xl);
    background: var(--color-primary-bg);
    border: 1px solid var(--color-primary-border);
    border-radius: var(--radius-sm);
    font-size: var(--font-base);
    color: var(--color-primary);
    transition: all var(--transition-normal);
    min-height: 36px;
    line-height: 1.4;
}
.search-hot-tags a:hover { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-bg-card); }
.search-results { background: var(--color-bg); min-height: 100vh; }
.search-results .search { background: var(--color-bg-card); border-bottom: 1px solid var(--color-border); }
.search-results .common-bookele {
    margin: 0;
    padding: var(--space-xl) var(--space-2xl);
    border-radius: 0;
    border: none;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-bg-card);
    box-shadow: none;
}
.search-results .common-bookele .articlename { font-size: var(--font-xl); margin-bottom: var(--space-sm); }
.search-results .page-nav { margin: var(--space-lg); }
.search-results #historyList, .search-results #RelevantSearch {
    margin: 0;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid var(--color-border);
    box-shadow: none;
}
#historyList, #RelevantSearch {
    background: var(--color-bg-card);
    margin: 0;
    padding: var(--space-lg) var(--space-2xl);
    border-bottom: 1px solid var(--color-border);
}
#historyList dt, #RelevantSearch dt {
    display: flex; justify-content: space-between; align-items: center;
    padding: var(--space-sm) 0;
    font-size: var(--font-base);
    color: var(--color-text-hint);
    border-bottom: 1px solid var(--color-border);
}
#historyList dt a { color: var(--color-accent); font-size: var(--font-sm); }
#historyList dd a, #RelevantSearch dd a {
    display: flex; justify-content: space-between; align-items: center;
    padding: var(--space-lg) 0;
    border-bottom: 1px solid var(--color-border-light);
    color: var(--color-text);
    font-size: var(--font-md);
}
#historyList dd a:last-child, #RelevantSearch dd a:last-child { border-bottom: none; }
#historyList dd a .more, #RelevantSearch dd a .more { color: var(--color-text-light); font-size: var(--font-sm); }
#RelevantSearch dd a .tit { color: var(--color-primary); }
.member-page { min-height: 100vh; background: var(--color-bg); }
.member-body {
    margin: 0;
    background: var(--color-bg-card);
    border-radius: 0;
    padding: var(--space-3xl) var(--space-2xl);
    box-shadow: none;
    border-bottom: 1px solid var(--color-border);
}
.member-body .form-group { margin-bottom: 18px; }
.member-body .form-group label {
    display: block;
    font-size: var(--font-md);
    color: var(--color-text-secondary);
    margin-bottom: var(--space-sm);
    font-weight: 500;
}
.member-body .form-group input[type=text],
.member-body .form-group input[type=password] {
    width: 100%;
    height: 46px;
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-md);
    padding: 0 var(--space-xl);
    font-size: var(--font-xl);
    outline: none;
    transition: border-color var(--transition-normal);
    box-sizing: border-box;
}
.member-body .form-group input:focus { border-color: var(--color-primary); box-shadow: 0 0 0 2px rgba(73,204,159,0.15); }
.member-body .form-group .form-hint { font-size: var(--font-sm); color: var(--color-text-disabled); margin-top: var(--space-xs); }
.member-body .btn-row { display: flex; gap: var(--space-lg); margin-top: var(--space-3xl); }
.member-body .btn-submit {
    flex: 1;
    height: var(--height-input);
    border: none;
    border-radius: var(--radius-md);
    background: var(--color-primary);
    color: var(--color-bg-card);
    font-size: var(--font-lg);
    cursor: pointer;
    transition: opacity var(--transition-normal);
    box-shadow: none;
}
.member-body .btn-submit:hover { opacity: 0.9; }
.member-body .btn-reset {
    width: 80px;
    height: var(--height-input);
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-md);
    background: var(--color-bg-card);
    color: var(--color-text-muted);
    font-size: var(--font-md);
    cursor: pointer;
    transition: border-color var(--transition-normal);
}
.member-body .btn-reset:hover { border-color: var(--color-primary); color: var(--color-primary); }
.member-body .form-links { margin-top: var(--space-3xl); padding-top: var(--space-2xl); border-top: 1px solid var(--color-border); }
.member-body .form-links p { font-size: var(--font-base); color: var(--color-text-hint); margin: var(--space-md) 0; }
.member-body .form-links a { color: var(--color-primary); }
.member-body .form-notice {
    margin-top: var(--space-3xl);
    padding: var(--space-xl);
    background: var(--color-bg-input);
    border-radius: var(--radius-md);
    font-size: var(--font-sm);
    color: var(--color-text-hint);
    line-height: 1.8;
}
.member-body .form-notice p { margin: var(--space-xs) 0; }
.member-body .form-notice a { color: var(--color-primary); }
.member-body .form-tip { font-size: var(--font-base); color: var(--color-text-disabled); font-style: italic; margin-bottom: var(--space-2xl); }
.member-body .radio-group { padding: var(--space-md) 0; }
.member-body .radio-label { display: inline-block; margin-right: var(--space-3xl); font-weight: normal; }
.member-body .result-list { margin: var(--space-2xl) 0; }
.member-body .result-list span { color: var(--color-accent); font-size: var(--font-lg); font-weight: 600; display: block; margin: var(--space-md) 0; }
.member-body .member-form { max-width: 520px; margin: 0 auto; }
.member-body .form-group label i {
    margin-right: 6px;
    color: var(--color-primary);
    font-size: 13px;
    width: 14px;
    text-align: center;
}
.member-body .btn-submit i { margin-right: 6px; }
.member-body .radio-group { display: flex; gap: var(--space-md); padding: 0; }
.member-body .radio-label {
    flex: 1;
    position: relative;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-md);
    font-size: var(--font-md);
    color: var(--color-text-muted);
    cursor: pointer;
    transition: border-color var(--transition-normal), color var(--transition-normal), background var(--transition-normal);
}
.member-body .radio-label input { position: absolute; opacity: 0; width: 0; height: 0; }
.member-body .radio-label:has(input:checked) {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: rgba(73, 204, 159, 0.08);
}
.user-page { min-height: 100vh; background: var(--color-bg); }
.user-profile {
    display: flex; align-items: center; gap: var(--space-lg);
    padding: var(--space-2xl);
    background: var(--color-bg-card);
    border-bottom: 1px solid var(--color-border);
}
.user-avatar {
    width: 56px; height: 56px; border-radius: 50%;
    background: var(--color-primary);
    color: var(--color-bg-card);
    font-size: 24px; font-weight: 600;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.user-profile-info { min-width: 0; }
.user-name { font-size: var(--font-xl); font-weight: 600; color: var(--color-text); }
.user-reg { color: var(--color-text-hint); font-size: var(--font-sm); margin-top: 2px; }
.user-reg i { color: var(--color-primary); margin-right: 4px; }
.user-block { overflow: hidden; margin-top: var(--space-lg); background: var(--color-bg-card); }
.user-block-title {
    height: var(--height-breadcrumb);
    line-height: var(--height-breadcrumb);
    font-size: var(--font-lg); font-weight: 600;
    text-indent: var(--space-xl);
    border-bottom: 1px solid var(--color-border);
    color: var(--color-text);
}
.user-block-content { padding: var(--space-md) var(--space-2xl); }
.user-info-row { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--color-border-light); padding: var(--space-md) 0; font-size: var(--font-md); }
.user-info-row:last-child { border-bottom: none; }
.ui-label { color: var(--color-text-muted); font-size: var(--font-md); }
.ui-label i { color: var(--color-primary); width: 20px; }
.ui-value { color: var(--color-text); font-size: var(--font-md); }
.user-nav-list { list-style: none; padding: 0; margin: 0; }
.user-nav-list li { border-bottom: 1px solid var(--color-border-light); }
.user-nav-list li:last-child { border-bottom: none; }
.user-nav-list li a {
    display: flex; align-items: center;
    min-height: var(--height-breadcrumb);
    padding: var(--space-xl) var(--space-2xl);
    color: var(--color-text);
    font-size: var(--font-md);
    transition: background var(--transition-fast);
}
.user-nav-list li a:hover { background: var(--color-primary-bg); }
.user-nav-list li a span { float: right; color: var(--color-accent); font-size: var(--font-sm); }
.user-nav-list li a.gray { color: var(--color-text-disabled); }
.user-nav-list li a.nav-logout, .user-nav-list li a.nav-logout i { color: #e64545; }
.user-nav-list li a.nav-logout:hover { background: #fef0f0; }
.bookcase-list { padding: 0; }
.user-main { min-height: 60vh; background: var(--color-bg); }
.user-main .user-block { margin: var(--space-lg) 0; }
.ub-count { float: right; margin-right: var(--space-lg); font-size: var(--font-sm); font-weight: 400; color: var(--color-text-hint); }
.ub-count em { color: var(--color-primary); font-style: normal; font-weight: 600; margin: 0 2px; }
.ub-action { float: right; font-size: var(--font-sm); color: var(--color-primary); }
.ub-action i { margin-right: 3px; }
.bc-item { display: flex; align-items: center; gap: var(--space-lg); padding: var(--space-md) 0; border-bottom: 1px solid var(--color-border-light); }
.bc-item:last-child { border-bottom: none; }
.bc-info { flex: 1; min-width: 0; }
.bc-item .bc-name { display: block; font-size: var(--font-md); font-weight: 600; color: var(--color-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bc-item .bc-name i { color: var(--color-primary); margin-right: 4px; }
.bc-item .bc-mark { font-size: var(--font-sm); color: var(--color-text-hint); margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bc-item .bc-mark i { margin-right: 3px; }
.bc-item .bc-mark a { color: var(--color-primary); }
.bc-item .bc-detail { flex-shrink: 0; font-size: var(--font-sm); color: var(--color-text-muted); }
.bc-item .bc-detail:hover { color: var(--color-primary); }
.bc-item .bc-del { flex-shrink: 0; font-size: var(--font-sm); color: #e64545; cursor: pointer; }
.bc-status { padding: var(--space-lg) 0; text-align: center; color: var(--color-text-hint); font-size: var(--font-sm); }
.bc-status.ok { color: var(--color-primary); }
.empty-state { padding: var(--space-2xl) var(--space-lg); text-align: center; }
.empty-state > i { font-size: 40px; color: var(--color-primary); opacity: 0.35; }
.empty-state p { color: var(--color-text-muted); font-size: var(--font-md); margin: var(--space-md) 0 var(--space-lg); }
.empty-state-btn { display: inline-block; padding: 7px var(--space-2xl); font-size: var(--font-sm); color: var(--color-bg-card); background: var(--color-primary); border-radius: var(--radius-sm); }
.user-pager { display: flex; align-items: center; justify-content: center; gap: var(--space-xl); padding: var(--space-xl) 0; }
.user-pager a { font-size: var(--font-sm); color: var(--color-primary); }
.user-pager a i { font-size: 10px; }
.pager-info { font-size: var(--font-sm); color: var(--color-text-hint); }
.grade-badge { display: inline-block; padding: 0 8px; height: 18px; line-height: 18px; font-size: 11px; border-radius: var(--radius-sm); }
.grade-badge.g2 { color: var(--color-primary); background: var(--color-primary-bg); }
.grade-badge.g1 { color: #d29922; background: #fdf6e3; }
.grade-badge.g0 { color: #909399; background: #f4f4f5; }
.grade-picker { display: inline-flex; gap: var(--space-xs); }
.grade-picker a { padding: 3px 10px; font-size: var(--font-sm); color: var(--color-text-muted); border: 1px solid var(--color-border-input); border-radius: var(--radius-sm); }
.grade-picker a:hover { color: var(--color-primary); border-color: var(--color-primary); }
.grade-saving { font-size: var(--font-sm); color: var(--color-text-hint); }
.um-mask { position: fixed; inset: 0; background: rgba(0,0,0,0.45); z-index: 9999; display: flex; align-items: center; justify-content: center; padding: var(--space-2xl); }
.um-mask[hidden] { display: none; }
.um-modal { width: 100%; max-width: 360px; background: var(--color-bg-card); border-radius: var(--radius-md, 8px); padding: var(--space-2xl); box-sizing: border-box; }
.um-modal h3 { font-size: var(--font-lg); font-weight: 600; color: var(--color-text); margin-bottom: var(--space-lg); }
.um-field { margin-bottom: var(--space-lg); }
.um-field label { display: block; font-size: var(--font-sm); color: var(--color-text-muted); margin-bottom: 6px; }
.um-field input { width: 100%; height: 40px; padding: 0 var(--space-md); font-size: var(--font-md); color: var(--color-text); border: 1px solid var(--color-border-input); border-radius: var(--radius-sm); box-sizing: border-box; background: var(--color-bg); }
.um-field input:focus { outline: none; border-color: var(--color-primary); }
.um-error { font-size: var(--font-sm); color: #e64545; margin: 0 0 var(--space-md); }
.um-actions { display: flex; gap: var(--space-md); margin-top: var(--space-lg); }
.um-actions button { flex: 1; height: 42px; font-size: var(--font-md); border-radius: var(--radius-sm); border: none; cursor: pointer; }
.um-btn-cancel { background: var(--color-bg); color: var(--color-text-muted); border: 1px solid var(--color-border-input) !important; }
.um-btn-ok { background: var(--color-primary); color: var(--color-bg-card); }
.um-done { text-align: center; padding: var(--space-lg) 0; }
.um-done i { font-size: 42px; color: var(--color-primary); }
.um-done p { font-size: var(--font-md); color: var(--color-text); margin-top: var(--space-md); }
.c_index_top { display: flex; align-items: center; height: var(--height-nav); }
.top-username { color: var(--color-bg-card); }
.top-username i { margin-right: 4px; }
.top-username:hover { opacity: 0.82; }
.rate-widget { padding-top: var(--space-2xl); }
.rate-title { font-size: var(--font-md); font-weight: 400; color: var(--color-text-muted); margin-bottom: var(--space-lg); }
.rate-options { display: flex; gap: var(--space-md); }
.rate-btn {
    display: inline-flex; align-items: center; gap: var(--space-sm);
    padding: var(--space-sm) var(--space-xl);
    background: transparent;
    border: 1px solid var(--color-border);
    color: var(--color-text-muted);
    font-size: var(--font-md);
    cursor: pointer; -webkit-tap-highlight-color: transparent;
    transition: all var(--transition-normal);
    font-family: inherit;
}
.rate-btn:active { background: var(--color-primary-bg); }
.rate-btn:hover { border-color: var(--color-primary); color: var(--color-primary); }
.rate-btn:hover .rate-count { color: var(--color-primary); }
.rate-btn i { font-size: 14px; }
.rate-label { font-size: var(--font-md); font-weight: 400; }
.rate-count { font-size: var(--font-sm); font-weight: 500; color: var(--color-text-hint); min-width: 14px; text-align: center; }
.rate-bad:hover, .rate-bad.rate-active   { border-color: var(--color-primary); background: transparent; color: var(--color-primary); }
.rate-ok:hover, .rate-ok.rate-active     { border-color: var(--color-primary); background: transparent; color: var(--color-primary); }
.rate-good:hover, .rate-good.rate-active { border-color: var(--color-primary); background: transparent; color: var(--color-primary); }
.rate-bad.rate-active .rate-label,
.rate-ok.rate-active .rate-label,
.rate-good.rate-active .rate-label,
.rate-bad.rate-active .rate-count,
.rate-ok.rate-active .rate-count,
.rate-good.rate-active .rate-count { color: var(--color-primary); }
.novel-card { overflow: hidden; padding: 0 !important; }
.novel-card-title {
    padding: var(--space-lg) var(--space-2xl);
    font-size: var(--font-md); font-weight: 600;
    color: var(--color-primary);
    border-bottom: 1px solid var(--color-border);
    margin: 0;
}
.novel-card-body { padding: var(--space-lg) var(--space-2xl); font-size: var(--font-base); color: var(--color-text-muted); line-height: 1.8; }
.novel-card-body pre { white-space: pre-wrap; word-wrap: break-word; }
.yzwHead {
    clear: both; overflow: hidden;
    background: var(--color-bg-card);
    border-bottom: 1px solid var(--color-border);
    line-height: var(--height-breadcrumb);
    min-height: var(--height-breadcrumb);
    font-size: var(--font-lg);
    position: relative; display: block;
    box-shadow: var(--shadow-md);
}
.page-title {
    font-size: var(--font-lg);
    font-weight: 600;
    color: var(--color-text);
    padding: var(--space-lg) var(--space-2xl);
    background: var(--color-bg-card);
    border-bottom: 1px solid var(--color-border);
}
.h_txt {
    float: left; text-align: center; position: relative;
    width: 52px; height: var(--height-breadcrumb);
    display: inline-block; overflow: hidden;
    border-right: 1px solid var(--color-border);
    color: var(--color-primary);
}
.h_nav_items { overflow: hidden; height: var(--height-breadcrumb); display: flex; align-items: center; }
.h_nav_items li { float: none; padding: 0; color: var(--color-text-muted); font-size: var(--font-md); white-space: nowrap; }
.h_nav_items li a { color: var(--color-text-muted); transition: color var(--transition-normal); }
.h_nav_items li a:hover { color: var(--color-primary); }
.h_nav_items li.nav-sep { padding: 0 var(--space-sm); color: #ccc; font-size: var(--font-xs); }
.h_nav_items li em { font-style: normal; font-size: var(--font-sm); color: var(--color-text-disabled); margin-left: var(--space-xs); }
.tag { padding-top: var(--space-md); display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.tag span {
    padding: var(--space-xs) var(--space-md);
    border-radius: var(--radius-pill);
    font-size: var(--font-sm);
    background: var(--color-primary-bg);
    color: var(--color-primary);
    border: 1px solid var(--color-primary-border);
    display: inline-block;
    line-height: 1.5;
}
.tag-item {
    display: inline-block;
    padding: 2px var(--space-md);
    border-radius: var(--radius-pill);
    font-size: var(--font-xs);
    margin-right: var(--space-xs);
    border: 1px solid var(--color-border-input);
    color: var(--color-text-disabled);
    line-height: 1.4;
}
.tag-item a { color: var(--color-text-disabled); }
.tag-item.cur { border-color: var(--color-primary); color: var(--color-primary); background: var(--color-primary-bg); }
.tag-item.cur a { color: var(--color-primary); }
.chapter-count { color: var(--color-text-hint); font-size: var(--font-xs); font-weight: normal; }
.chapter-tags { padding: var(--space-lg) 0 0; display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.chapter-tags li { float: none; width: auto; height: auto; line-height: normal; border-bottom: none; display: inline; }
.chapter-tags li a {
    display: inline-block;
    padding: var(--space-md) var(--space-xl);
    border-radius: var(--radius-pill);
    font-size: var(--font-base);
    color: var(--color-text-secondary);
    background: var(--color-bg);
    transition: all var(--transition-normal);
    line-height: 1.4;
    min-height: 32px;
}
.chapter-tags li a:hover { background: var(--color-primary); color: var(--color-bg-card); }
.chapter-tags li a.chapter-more { color: var(--color-accent); border-color: var(--color-accent); background: #FFF5F5; }
.chapter-tags li a.chapter-more:hover { background: var(--color-accent); color: var(--color-bg-card); }
.author-works { padding: var(--space-md) var(--space-2xl); }
.empty-hint { padding: var(--space-2xl) var(--space-2xl); color: var(--color-text-disabled); text-align: center; }
.foot {
    text-align: center;
    padding: var(--space-3xl) var(--space-2xl);
    margin-top: var(--space-xl);
    font-size: var(--font-sm);
    color: var(--color-text-disabled);
    border-top: 1px solid var(--color-border);
}
.foot a { color: var(--color-primary); }
.gw_num {
    display: inline-flex; align-items: center;
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-sm);
    overflow: hidden;
    width: 110px; line-height: 28px;
}
.gw_num em {
    display: block;
    width: 36px; height: 36px; line-height: 36px;
    text-align: center;
    font-style: normal; cursor: pointer;
    background: var(--color-bg);
    font-size: var(--font-2xl);
    color: var(--color-text-secondary);
    transition: background var(--transition-fast);
    -webkit-user-select: none; user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.gw_num em:hover { background: var(--color-border); }
.gw_num em:active { background: #e8e8e8; }
.gw_num em.add { border-right: 0; border-left: 1px solid var(--color-border-input); }
.gw_num .num {
    display: block; float: left; text-align: center;
    width: 40px; height: 36px;
    font-style: normal;
    font-size: var(--font-md);
    border: 0; outline: none;
    border-left: 1px solid var(--color-border-input);
    border-right: 1px solid var(--color-border-input);
    -moz-appearance: textfield;
}
.gw_num .num::-webkit-inner-spin-button,
.gw_num .num::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.pagination {
    display: flex; align-items: center; justify-content: center;
    padding: var(--space-2xl) var(--space-lg);
    gap: var(--space-md);
    flex-wrap: wrap;
    -webkit-user-select: none; user-select: none;
}
.pagination a, .pagination span {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: var(--height-breadcrumb);
    padding: var(--space-md) var(--space-2xl);
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-md);
    font-size: var(--font-md);
    color: var(--color-text-secondary);
    background: var(--color-bg-card);
    transition: all var(--transition-normal);
    text-align: center;
    min-width: var(--height-btn);
    box-sizing: border-box;
}
.pagination a:hover { border-color: var(--color-primary); color: var(--color-primary); background: var(--color-primary-bg); }
.pagination .current { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-bg-card); font-weight: 600; }
.pagination .disabled { color: #ccc; border-color: var(--color-border-divider); background: var(--color-bg-hover); cursor: not-allowed; }
.pagination .page-info { border: none; background: none; color: var(--color-text-hint); font-size: var(--font-base); padding: var(--space-md) var(--space-sm); }
.pagination .page-jump { display: inline-flex; align-items: center; gap: var(--space-xs); margin-left: var(--space-md); }
.pagination .page-jump input[type=number] {
    width: 50px; height: 34px;
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-sm);
    text-align: center;
    font-size: var(--font-md);
    outline: none;
    -moz-appearance: textfield;
}
.pagination .page-jump input[type=number]::-webkit-inner-spin-button,
.pagination .page-jump input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.pagination .page-jump input:focus { border-color: var(--color-primary); }
.pagination .page-jump button {
    height: 34px; padding: 0 var(--space-xl);
    border: 1px solid var(--color-primary);
    border-radius: var(--radius-sm);
    background: var(--color-bg-card);
    color: var(--color-primary);
    font-size: var(--font-base);
    cursor: pointer;
    transition: all var(--transition-normal);
}
.pagination .page-jump button:hover { background: var(--color-primary); color: var(--color-bg-card); }
.page-nav {
    display: flex;
    padding: var(--space-2xl) var(--space-lg);
    gap: var(--space-lg);
    -webkit-user-select: none; user-select: none;
}
.page-nav a {
    flex: 1; display: flex; align-items: center; justify-content: center;
    min-height: var(--height-breadcrumb);
    text-align: center;
    padding: var(--space-lg) 0;
    border: 1px solid var(--color-primary);
    border-radius: var(--radius-md);
    color: var(--color-primary);
    font-size: var(--font-md);
    background: var(--color-bg-card);
    transition: all var(--transition-normal);
}
.page-nav a:hover { background: var(--color-primary); color: var(--color-bg-card); }
.page-nav a.disabled { border-color: var(--color-border-divider); color: #ccc; background: var(--color-bg-hover); cursor: not-allowed; }
.page-nav a.disabled:hover { background: var(--color-bg-hover); color: #ccc; }
#page {
    display: flex; align-items: center; justify-content: center;
    padding: var(--space-2xl) var(--space-lg);
    gap: var(--space-md);
    float: left; width: 100%;
    -webkit-user-select: none; user-select: none;
}
#page a {
    display: inline-block;
    padding: var(--space-md) var(--space-2xl);
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-md);
    font-size: var(--font-md);
    color: var(--color-text-secondary);
    background: var(--color-bg-card);
    transition: all var(--transition-normal);
    text-align: center;
}
#page a:hover { border-color: var(--color-primary); color: var(--color-primary); background: var(--color-primary-bg); }
#page a.none { color: #ccc; border-color: var(--color-border-divider); cursor: not-allowed; }
#page a.none:hover { color: #ccc; border-color: var(--color-border-divider); background: var(--color-bg-card); }
#page span.current {
    display: inline-block;
    padding: var(--space-md) var(--space-2xl);
    border: 1px solid var(--color-primary);
    border-radius: var(--radius-md);
    font-size: var(--font-md);
    color: var(--color-bg-card);
    background: var(--color-primary);
    text-align: center;
}
#page div { display: inline-flex; align-items: center; gap: var(--space-xs); }
#page div span { font-size: var(--font-base); color: var(--color-text-hint); }
#page div form { display: inline-flex; align-items: center; gap: var(--space-xs); }
#page div input[type=number] {
    width: 50px; height: 34px;
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-sm);
    text-align: center;
    font-size: var(--font-md);
    outline: none;
    -moz-appearance: textfield;
}
#page div input[type=number]::-webkit-inner-spin-button,
#page div input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; }
#page div input[type=submit],
#page div button {
    height: 34px; padding: 0 var(--space-xl);
    border: 1px solid var(--color-primary);
    border-radius: var(--radius-sm);
    background: var(--color-bg-card);
    color: var(--color-primary);
    font-size: var(--font-base);
    cursor: pointer;
    transition: all var(--transition-normal);
}
#page div input[type=submit]:hover,
#page div button:hover { background: var(--color-primary); color: var(--color-bg-card); }
#novelMain h3 {
    position: relative;
    margin: var(--space-lg) 0 0;
    padding: var(--space-lg) var(--space-xl);
    font-size: var(--font-md); font-weight: 600;
    color: var(--color-primary);
    border-bottom: 2px solid var(--color-primary);
}
#novelMain h3 span {
    position: absolute; top: var(--space-lg); right: var(--space-xl);
    font-size: var(--font-sm); font-weight: normal;
    color: var(--color-text-hint);
    line-height: 22px;
}
.comment-page { min-height: 100vh; background: var(--color-bg); }
.comment-form-wrap {
    margin: 0;
    background: var(--color-bg-card);
    border-radius: 0;
    padding: var(--space-3xl) var(--space-2xl);
    box-shadow: none;
    border-bottom: 1px solid var(--color-border);
}
.comment-textarea {
    width: 100%; height: 140px;
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-md);
    padding: var(--space-xl);
    font-size: var(--font-md); line-height: 1.6;
    resize: vertical; outline: none;
    transition: border-color var(--transition-normal);
    font-family: inherit;
}
.comment-textarea:focus { border-color: var(--color-primary); }
.comment-actions { margin-top: var(--space-xl); text-align: right; }
.comment-actions .btn-submit {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--space-lg) var(--space-3xl);
    background: var(--color-primary);
    color: var(--color-bg-card);
    border: none;
    border-radius: var(--radius-md);
    font-size: var(--font-md);
    cursor: pointer;
    transition: opacity var(--transition-normal);
    min-height: var(--height-btn);
}
.comment-actions .btn-submit:hover { opacity: 0.9; }
.label-main { padding: 0; }
.tags-container { display: flex; flex-wrap: wrap; gap: var(--space-md); padding: var(--space-xl) var(--space-2xl); }
.tags-container .tag {
    background: var(--color-primary-bg);
    padding: var(--space-md) var(--space-2xl);
    border-radius: var(--radius-sm);
    color: var(--color-primary);
    cursor: pointer;
    transition: all var(--transition-normal);
    border: 1px solid var(--color-primary-border);
    font-size: var(--font-base);
    min-height: 36px;
    line-height: 1.4;
}
.tags-container .tag:hover, .tags-container .tag.active { background: var(--color-primary); color: white; border-color: var(--color-primary); }
.book-list { display: block; margin: 0; padding: 0; border-bottom: none; }
.book-list > .common-bookele { border-bottom: 1px solid var(--color-border); }
.book-list > .common-bookele:last-child { border-bottom: none; }
.history-list { display: block; padding: 0; }
#list_ul li {
    min-height: var(--height-breadcrumb);
    display: block;
    line-height: var(--height-breadcrumb);
    padding: 0 var(--space-2xl);
    border-bottom: 1px solid var(--color-border-light);
    font-size: var(--font-md);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
#list_ul li.alt-row { background: var(--color-bg-hover); }
#list_ul li a { color: var(--color-primary); }
#list_ul li .list_author { color: var(--color-text-disabled); font-size: var(--font-base); margin-left: var(--space-xs); }
#tagMain { padding: var(--space-lg) var(--space-2xl); background: var(--color-bg-card); }
#tag_ul { display: flex; flex-wrap: wrap; gap: var(--space-md); padding: 0; }
#tag_ul li { padding: 0; }
#tag_ul li a {
    display: inline-block;
    padding: var(--space-md) var(--space-xl);
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-pill);
    font-size: var(--font-base);
    color: var(--color-text-secondary);
    min-height: 36px;
    line-height: 1.4;
    transition: all var(--transition-normal);
}
#tag_ul li a:hover { border-color: var(--color-primary); color: var(--color-primary); background: var(--color-primary-bg); }
#last_ul .last_li { margin: 0; padding: var(--space-xl) var(--space-2xl); border-bottom: 1px solid var(--color-border); }
#last_ul .last_li .name { font-size: var(--font-lg); color: var(--color-primary); display: block; min-height: 24px; line-height: 24px; }
#last_ul .last_li .info { font-size: var(--font-sm); color: var(--color-text-disabled); margin-top: var(--space-xs); }
#last_ul .last_li .info .words { margin-left: var(--space-md); }
details {
    margin: var(--space-lg) var(--space-xl);
    padding: var(--space-lg);
}
details summary { cursor: pointer; color: var(--color-primary); font-weight: 500; font-size: var(--font-base); }
details p { margin-top: var(--space-md); font-size: var(--font-sm); color: var(--color-text-hint); line-height: 1.8; }
@media (hover: none) {
    a:hover, .btn:hover, .common-bookele:hover { opacity: 1; background: inherit; }
    .common-bookele:active { background: var(--color-bg); }
    .sort ul li a:active { background: var(--color-primary-bg); }
}
@media (max-width: 400px) {
    .top .l { margin-left: var(--space-md); font-size: 15px; }
    .top .r { margin-right: var(--space-md); gap: 6px; }
    .top #login_top { gap: 6px; }
    .top #login_top a { font-size: 12px; }
    .login_topbtn { margin-left: 0; padding: 4px 10px; font-size: 11px; }
    .top .r .top-search { width: 26px; height: 26px; font-size: 12px; }
}
@media (max-width: 359px) {
    html { font-size: 15px; }
    .top { height: 46px; line-height: 46px; }
    .top .l { height: 46px; line-height: 46px; font-size: 16px; margin-left: var(--space-md); }
    .top .r { height: 46px; line-height: 46px; margin-right: var(--space-md); font-size: var(--font-sm); }
    #login_top a { font-size: 12px; }
    .login_topbtn { padding: var(--space-xs) var(--space-sm); font-size: 11px; }
    .top .r .top-search { width: 26px; height: 26px; font-size: 12px; }
    .sort ul li a { font-size: 13px; }
    .home-nav { height: 38px; margin: 6px var(--space-md); padding: 3px; border-radius: 19px; }
    .home-nav a { height: 32px; border-radius: 16px; font-size: 12px; }
    .nr_title { font-size: 16px; padding: var(--space-xl) var(--space-md); }
    #nr1 { font-size: 16px; line-height: 1.9; padding: var(--space-xl) var(--space-md); }
    .nr_page_btns { gap: var(--space-xs); padding: 0 var(--space-sm); }
    .nr_page_btns .prev-btn,
    .nr_page_btns .mulu-btn,
    .nr_page_btns .next-btn { font-size: 12px; padding: var(--space-md) var(--space-xs); min-height: 40px; }
    .prev a, .mulu a, .next a { padding: var(--space-md) 1em; font-size: var(--font-sm); }
    .article-meta { gap: var(--space-xs) var(--space-lg); font-size: 12px; }
    .article-meta div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .action-btns { flex-direction: column; gap: var(--space-sm); }
    .action-btns .btn { margin: 0; }
    .chapter-tags li a { padding: var(--space-xs) var(--space-md); font-size: 12px; }
    .common-bookele { padding: var(--space-lg) var(--space-xl); }
    .common-bookele h3 { font-size: 14px; }
    .common-bookele p { font-size: 11px; }
    .search { padding: var(--space-md) var(--space-lg); }
    .search label.so input.key { font-size: 15px; padding: var(--space-md) 2.2em; height: 40px; }
    .search label.so span.del { top: 12px; width: 18px; height: 18px; line-height: 18px; }
    .search label.close { width: 2.5em; font-size: 13px; }
    .btn { font-size: var(--font-md); height: 38px; line-height: 38px; }
    .pagination { gap: var(--space-xs); padding: var(--space-lg); }
    .pagination a, .pagination span { padding: var(--space-sm) var(--space-md); font-size: 12px; min-width: 36px; }
    .pagination .page-jump input[type=number] { width: 40px; }
    .pagination .page-jump { margin-left: 0; margin-top: var(--space-sm); width: 100%; justify-content: center; }
    #page { gap: var(--space-xs); padding: var(--space-lg); }
    #page a { padding: var(--space-sm) var(--space-md); font-size: 13px; }
    .page-nav { gap: var(--space-sm); padding: var(--space-lg); }
    .page-nav a { padding: var(--space-md) 0; font-size: 13px; }
    .member-body { margin: 0; padding: var(--space-xl) var(--space-lg); border-radius: 0; }
    .member-body .form-group input[type=text],
    .member-body .form-group input[type=password] { height: 42px; font-size: 15px; }
    .member-body .btn-submit { height: 44px; font-size: 16px; }
    .member-body .btn-row { flex-direction: column; gap: var(--space-md); }
    .member-body .btn-reset { width: 100%; height: 44px; }
    .comment-form-wrap { margin: 0; padding: var(--space-xl) var(--space-lg); }
    .comment-textarea { height: 120px; font-size: 16px; }
    .comment-actions .btn-submit { padding: var(--space-md) var(--space-xl); font-size: 14px; }
    .novel-card { margin: 0; }
    .rate-widget { padding: var(--space-md) 0; }
    .rate-options { gap: var(--space-md); }
    .rate-btn { padding: var(--space-sm) var(--space-lg); }
    .rate-label { font-size: 11px; }
    .novel-card-body { padding: var(--space-lg) var(--space-xl); font-size: 12px; }
    .novel-card-title { padding: var(--space-md) var(--space-xl); font-size: 13px; }
    .bookcase-list { padding: 0; }
    .bookcase-item { padding: var(--space-lg) var(--space-2xl); margin-bottom: 0; }
    .bookcase-item .bc-name { font-size: 14px; }
    .bookcase-item .bc-bookmark { font-size: 12px; }
    .tags-container { gap: var(--space-sm); }
    .tags-container .tag { padding: var(--space-xs) var(--space-md); font-size: 12px; }
    .book-list { grid-template-columns: 1fr; gap: var(--space-md); }
    .yzwHead { font-size: 14px; min-height: 40px; line-height: 40px; }
    .h_txt { width: 44px; height: 40px; line-height: 40px; }
    .h_nav_items { height: 40px; }
    .h_nav_items li { font-size: 13px; }
    .h_nav_items li.nav-sep { padding: 0 var(--space-xs); }
    .gw_num em { width: 32px; height: 32px; line-height: 32px; font-size: 16px; }
    .gw_num .num { width: 36px; height: 32px; font-size: 13px; }
    .Menu section { left: 15%; width: 85%; padding: var(--space-xl); }
    .Menu section dl dt { font-size: 13px; margin: var(--space-md) 0; }
    .Menu section dl dd label { margin: var(--space-xs); padding: 0 0.5em; }
    .Menu section .bgmenu label { width: 2.2em; height: 2.2em; line-height: 2.2em; }
    .foot { padding: var(--space-2xl) var(--space-md); font-size: 11px; }
    .waps-container { padding: 0 var(--space-md); }
}
@media (min-width: 360px) and (max-width: 480px) {
    .nr_title { font-size: 17px; }
    #nr1 { font-size: 17px; line-height: 2; padding: var(--space-2xl) var(--space-lg); }
    .article-meta { gap: var(--space-sm) var(--space-xl); font-size: 13px; }
    .article-meta div { flex: 0 0 auto; }
    .action-btns { gap: var(--space-md); }
    .chapter-tags { gap: var(--space-xs); padding: var(--space-md); }
    .chapter-tags li a { padding: var(--space-sm) var(--space-lg); line-height: 1.5; }
    .ch-list li a { padding: var(--space-md) var(--space-md); font-size: 13px; }
    .otherChapterList ul li { height: auto; min-height: 40px; line-height: normal; padding: var(--space-sm) 0; }
    .otherChapterList ul li a { padding: var(--space-sm) 0; line-height: 1.5; }
    .common-bookele { padding: var(--space-lg) var(--space-xl); }
    .common-bookele h3 { font-size: var(--font-lg); }
    .search label.so input.key { height: 40px; font-size: 16px; }
    .pagination a, .pagination span { font-size: 13px; }
    .member-body { margin: 0; padding: var(--space-2xl) var(--space-lg); }
    .member-body .form-group input[type=text],
    .member-body .form-group input[type=password] { height: 44px; font-size: 16px; }
    .member-body .btn-submit { height: 44px; font-size: 16px; }
    .novel-card { margin: 0; }
}
@media (min-width: 481px) and (max-width: 768px) {
    .nr_title { font-size: 19px; }
    #nr1 { font-size: 19px; padding: var(--space-3xl) var(--space-2xl); }
    .article-meta { gap: var(--space-md) var(--space-3xl); }
    .common-bookele { padding: var(--space-xl) var(--space-3xl); }
    .Menu section { left: 30%; width: 70%; }
}
@media (min-width: 769px) {
    body { max-width: 750px; margin: 0 auto; box-shadow: 0 0 20px rgba(0,0,0,0.08); }
    .top { max-width: 750px; }
    .sort ul li a { font-size: 17px; }
    .nr_title { font-size: var(--font-3xl); padding: var(--space-3xl) var(--space-2xl); }
    #nr1 { font-size: var(--font-3xl); padding: var(--space-3xl) var(--space-3xl); line-height: 2; }
    .common-bookele { padding: var(--space-xl) var(--space-3xl); }
    .common-bookele h3 { font-size: 17px; }
    .bookcase-list { max-width: 720px; margin: 0 auto; }
    .waps-container { max-width: 720px; margin: 0 auto; }
    .member-body { max-width: none; margin: 0; }
    .Menu section { left: 40%; width: 60%; }
}
@supports (padding: env(safe-area-inset-bottom)) {
    .foot { padding-bottom: calc(var(--space-3xl) + env(safe-area-inset-bottom)); }
    .page-nav { padding-bottom: calc(var(--space-2xl) + env(safe-area-inset-bottom)); }
    .pagination { padding-bottom: calc(var(--space-2xl) + env(safe-area-inset-bottom)); }
    .nr_page { padding-bottom: calc(var(--space-lg) + env(safe-area-inset-bottom)); }
    .Menu section { padding-bottom: calc(var(--space-2xl) + env(safe-area-inset-bottom)); }
    .member-body { margin-bottom: calc(var(--space-3xl) + env(safe-area-inset-bottom)); }
}
