tom:1px solid var(--border); } .rank-no{ flex:0 0 22px; text-align:center; font-style:italic; font-weight:700; color:var(--text-3); font-family:var(--font-serif); } .rank-list li:nth-child(1) .rank-no{ color:#e74c3c; } .rank-list li:nth-child(2) .rank-no{ color:#e67e22; } .rank-list li:nth-child(3) .rank-no{ color:#f1c40f; } .rank-title{ font-size:14px; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } /* ---------- Update list ---------- */ .update-list li{ padding:9px 0; border-bottom:1px solid var(--border); } .update-list a.ut-title{ font-size:14px; font-weight:600; color:var(--text); display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .update-list .ut-chapter{ display:block; font-size:13px; color:var(--text-2); margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .update-list .ut-chapter a{ color:var(--text-2); } .update-list .ut-chapter a:hover{ color:var(--primary); } .update-list .ut-time{ font-size:12px; color:var(--text-3); } /* ---------- Book row list ---------- */ .book-row-list{ list-style:none; margin:0; padding:0; } .book-row-list .book-row{ display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--border); } .book-row-list .book-row:last-child{ border-bottom:none; } .book-row-list .cover{ flex:0 0 80px; width:80px; aspect-ratio:3/4; border-radius:var(--r); overflow:hidden; background:var(--surface-2); } .book-row-list .cover img{ width:100%; height:100%; object-fit:cover; } .book-row-list .row-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; } .book-row-list .row-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; } .book-row-list .title{ font-size:15px; font-weight:600; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1; min-width:0; } .book-row-list .views{ font-size:12px; color:var(--gold); white-space:nowrap; flex-shrink:0; } .book-row-list .author{ font-size:13px; color:var(--text-3); } .book-row-list .desc{ font-size:13px; color:var(--text-2); line-height:1.6; margin-top:4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; } .book-row-list .row-meta{ display:flex; align-items:center; gap:12px; font-size:12px; color:var(--text-3); margin-top:4px; } /* ---------- Chapter list ---------- */ .chapter-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 20px; } .chapter-list li{ border-bottom:1px solid var(--border); } .chapter-list a{ display:block; padding:11px 6px; font-size:14px; color:var(--text-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .chapter-list a:hover{ background:var(--surface-2); color:var(--primary); } /* ---------- Book detail hero ---------- */ .book-hero{ display:flex; gap:22px; } .book-hero .cover{ flex:0 0 160px; width:160px; aspect-ratio:3/4; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-2); background:var(--surface-2); } .book-hero .cover img{ width:100%; height:100%; object-fit:cover; } .book-hero .meta{ flex:1; min-width:0; } .book-hero .meta h1{ font-size:26px; margin-bottom:8px; } .book-hero .meta .line{ font-size:14px; color:var(--text-2); margin:6px 0; } .book-hero .meta .line a{ color:var(--primary); } .book-hero .meta .intro{ font-size:14px; color:var(--text-2); line-height:1.8; margin-top:12px; } .book-hero .actions{ display:flex; gap:12px; margin-top:18px; } .btn-primary{ display:inline-flex; align-items:center; justify-content:center; text-decoration:none; height:42px; padding:0 28px; border:none; border-radius:var(--r-pill); background:var(--primary); color:var(--primary-ink); font-size:15px; font-weight:600; transition:.15s; } .btn-ghost{ display:inline-flex; align-items:center; justify-content:center; text-decoration:none; height:42px; padding:0 28px; border:1px solid var(--border); border-radius:var(--r-pill); background:var(--surface); color:var(--text); font-size:15px; transition:.15s; } .btn-primary:hover{ filter:brightness(1.05); } .btn-ghost:hover{ border-color:var(--primary); color:var(--primary); } .tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; } .tag{ font-size:12px; padding:3px 10px; border-radius:var(--r-pill); background:var(--surface-2); color:var(--text-2); } /* ---------- Reader ---------- */ .reader-wrap{ max-width:var(--readingw); margin:0 auto; padding:24px var(--sp) 80px; } .reader-title{ font-size:22px; text-align:center; margin-bottom:6px; } .reader-chapter{ font-size:18px; text-align:center; color:var(--text-2); margin-bottom:24px; } .reader-article{ font-family:var(--read-font,var(--font-serif)); font-size:var(--read-fs); line-height:var(--read-lh); color:var(--text); } .reader-article p{ margin:0 0 1.2em; text-indent:2em; } .reader-tip{ color:var(--text-2); padding:1.4em 1em; text-align:center; font-size:14px; } .reader-loading{ color:var(--text-2); padding:1.4em 1em; text-align:center; font-size:14px; } .reader-loading::after{ content:""; display:inline-block; width:14px; height:14px; margin-left:8px; border:2px solid var(--border); border-top-color:var(--primary); border-radius:50%; vertical-align:-2px; animation:yg-spin .7s linear infinite; } @keyframes yg-spin{ to{ transform:rotate(360deg); } } .reader-nav{ position:relative; z-index:61; display:flex; justify-content:space-between; gap:12px; margin-top:32px; } .reader-nav a{ flex:1; text-align:center; padding:12px; border:1px solid var(--border); border-radius:var(--r-pill); background:var(--surface); color:var(--text); font-size:14px; } .reader-tools{ display:flex; align-items:center; justify-content:center; gap:16px; margin:18px 0; color:var(--text-3); font-size:13px; } .reader-tools button{ border:1px solid var(--border); background:var(--surface); color:var(--text); border-radius:var(--r-pill); padding:6px 14px; font-size:13px; } /* ---------- Reader enhancements (组合方案B) ---------- */ .reader-page .site-header{ display:none; } .reader-page .bottom-nav{ display:none; } .reader-page{ padding-top:0; } /* 顶部进度条 */ .read-progress{ position:fixed; top:0; left:0; right:0; height:3px; background:transparent; z-index:80; pointer-events:none; } .read-progress__bar{ height:100%; width:0; background:linear-gradient(90deg,var(--primary),var(--gold)); transition:width .12s linear; } /* 可隐藏顶栏 */ .reader-bar{ position:fixed; top:0; left:0; right:0; height:48px; z-index:65; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 12px; background:color-mix(in srgb,var(--surface) 90%,transparent); backdrop-filter:saturate(160%) blur(10px); -webkit-backdrop-filter:saturate(160%) blur(10px); border-bottom:1px solid var(--border); transition:transform .25s ease; } .reader-bar.hide{ transform:translateY(-110%); } .reader-home{ font-size:14px; color:var(--text-2); max-width:46%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .reader-home:hover{ color:var(--primary); } .reader-bar .reader-tools{ margin:0; gap:8px; } .reader-bar .reader-tools button{ padding:6px 12px; font-size:13px; } .reader-bar .ibtn{ border:1px solid var(--border); background:var(--surface); color:var(--text); border-radius:var(--r-pill); padding:6px 12px; font-size:13px; } .reader-bar .ibtn:hover{ border-color:var(--primary); color:var(--primary); } .reader-wrap{ padding-top:62px; } /* 自动连读开关 */ .read-toggle{ display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--text-2); } .read-toggle input{ display:none; } .read-toggle .sw{ width:38px; height:22px; border-radius:999px; background:var(--surface-2); border:1px solid var(--border); position:relative; transition:.2s; } .read-toggle .sw::after{ content:""; position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:var(--text-3); transition:.2s; } .read-toggle input:checked + .sw{ background:var(--primary); border-color:var(--primary); } .read-toggle input:checked + .sw::after{ left:18px; background:#fff; } /* 抽屉 / 遮罩 */ .mask{ position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:85; opacity:0; visibility:hidden; transition:opacity .25s ease; } .mask.open{ opacity:1; visibility:visible; } .drawer{ position:fixed; top:0; bottom:0; left:0; width:86%; max-width:340px; z-index:90; background:var(--surface); transform:translateX(-100%); transition:transform .28s ease; display:flex; flex-direction:column; box-shadow:var(--shadow-2); } .drawer.open{ transform:none; } .drawer__tabs{ display:flex; border-bottom:1px solid var(--border); flex:0 0 auto; } .drawer__tabs button{ flex:1; height:48px; border:none; background:transparent; color:var(--text-2); font-size:15px; border-bottom:2px solid transparent; } .drawer__tabs button.active{ color:var(--primary); border-bottom-color:var(--primary); } .drawer__search{ padding:10px 12px; flex:0 0 auto; } .drawer__search input{ width:100%; height:36px; border:1px solid var(--border); border-radius:var(--r-pill); padding:0 14px; background:var(--surface-2); color:var(--text); outline:none; } .drawer__body{ flex:1; overflow:auto; padding:6px 0 16px; -webkit-overflow-scrolling:touch; } .drawer__body .chapter-list{ grid-template-columns:1fr; gap:0; padding:0 4px; } .drawer__body .chapter-list a{ padding:11px 12px; } .drawer__body .chapter-list a.active{ color:var(--primary); background:var(--surface-2); font-weight:600; } .bm-item{ display:flex; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid var(--border); } .bm-item a{ flex:1; min-width:0; color:var(--text); font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .bm-item a:hover{ color:var(--primary); } .bm-item .del{ border:none; background:transparent; color:var(--text-3); font-size:13px; padding:4px 6px; } .bm-empty{ padding:30px 14px; text-align:center; color:var(--text-3); font-size:13px; } /* 设置面板(底部抽屉) */ .sheet{ position:fixed; left:0; right:0; bottom:0; z-index:90; background:var(--surface); border-radius:var(--r-lg) var(--r-lg) 0 0; box-shadow:var(--shadow-2); transform:translateY(100%); transition:transform .28s ease; max-height:82vh; overflow:auto; padding:18px 18px 26px; } .sheet.open{ transform:none; } .sheet__row{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0; border-bottom:1px solid var(--border); } .sheet__row:last-child{ border-bottom:none; } .sheet__label{ font-size:14px; color:var(--text-2); } .sheet__ctrl{ display:flex; align-items:center; gap:10px; } .sheet__ctrl input[type=range]{ width:140px; } .sheet__ctrl select{ height:34px; border:1px solid var(--border); border-radius:var(--r); background:var(--surface-2); color:var(--text); padding:0 8px; } .sheet__chips{ display:flex; gap:8px; } .sheet__chips button{ border:1px solid var(--border); background:var(--surface); color:var(--text-2); border-radius:var(--r-pill); padding:6px 14px; font-size:13px; } .sheet__chips button.active{ background:var(--primary); color:var(--primary-ink); border-color:var(--primary); } .sheet__title{ font-family:var(--font-serif); font-size:17px; font-weight:700; margin-bottom:6px; } .sheet__close{ position:absolute; top:14px; right:16px; border:none; background:transparent; font-size:20px; color:var(--text-3); } /* 书签 */ #btn-bm.active{ color:var(--primary); text-shadow:0 0 6px color-mix(in srgb,var(--primary) 40%,transparent); } #bmCount{ font-size:11px; opacity:.7; } /* 翻页模式 */ .reader-page[data-readmode="page"] .reader-article{ height:calc(100vh - 132px); overflow-y:auto; scroll-snap-type:y proximity; -webkit-overflow-scrolling:touch; } .reader-page[data-readmode="page"] .read-page{ scroll-snap-align:start; min-height:calc(100vh - 132px); display:flex; flex-direction:column; justify-content:center; } /* toast */ .toast{ position:fixed; left:50%; bottom:96px; transform:translateX(-50%) translateY(10px); z-index:96; background:rgba(20,17,13,.88); color:#fff; padding:10px 18px; border-radius:var(--r-pill); font-size:13px; opacity:0; visibility:hidden; transition:.2s; pointer-events:none; } .toast.show{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); } /* ---------- Footer ---------- */ .site-footer{ border-top:1px solid var(--border); background:var(--surface); margin-top:32px; padding:28px 0; } .footer-inner{ max-width:var(--maxw); margin:0 auto; padding:0 var(--sp); text-align:center; color:var(--text-3); font-size:13px; line-height:1.9; } .footer-inner a{ color:var(--text-2); margin:0 8px; } /* ---------- Mobile bottom nav ---------- */ .bottom-nav{ display:none; position:fixed; left:0; right:0; bottom:0; z-index:60; background:var(--surface); border-top:1px solid var(--border); height:56px; grid-template-columns:repeat(4,1fr); } .bottom-nav a{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; font-size:11px; color:var(--text-2); } .bottom-nav a .ic{ font-size:18px; } .bottom-nav a.active{ color:var(--primary); } /* ---------- Pagination ---------- */ .pages{ text-align:center; margin:18px 0; } .pages ul{ display:inline-flex; flex-wrap:wrap; gap:8px; justify-content:center; list-style:none; padding:0; margin:0; } .pages a{ min-width:36px; height:36px; padding:0 10px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:var(--r); background:var(--surface); color:var(--text-2); font-size:13px; text-decoration:none; transition:.15s; } .pages a:hover{ border-color:var(--primary); color:var(--primary); } .pages li.current a{ background:var(--primary); color:var(--primary-ink); border-color:var(--primary); font-weight:600; } /* ---------- Responsive ---------- */ @media (max-width:1024px){ .layout{ grid-template-columns:1fr; } .sidebar{ order:2; } .book-grid{ grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); } } @media (max-width:860px){ .top-nav{ display:none; } .book-hero{ flex-direction:column; align-items:center; text-align:center; } .book-hero .actions{ justify-content:center; } } @media (max-width:640px){ :root{ --sp:12px; } .search{ max-width:none; } .header-actions .btn-pill{ display:none; } .book-grid{ grid-template-columns:repeat(3,1fr); gap:12px; } .chapter-list{ grid-template-columns:1fr; } .book-hero .cover{ flex-basis:130px; width:130px; } .book-hero .meta h1{ font-size:22px; } .bottom-nav{ display:grid; } body{ padding-bottom:56px; } } @media (max-width:420px){ .book-grid{ grid-template-columns:repeat(2,1fr); } }
‹ 开局地摊卖大力顶点

第2933章 至死不忘!

加载中,请稍候…
‹ 上一章 下一章 ›
阅读设置
字号
19
行距
阅读宽度
60em
字体
配色
翻页模式
屏幕常亮
全屏阅读