:root{color-scheme:light;--bg: #f7f7f7;--panel: #ffffff;--line: #e5e7eb;--text: #111827;--muted: #6b7280;--primary: #111827;--success: #166534;font-family:Microsoft YaHei UI,PingFang SC,Noto Sans SC,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}#app{min-height:100vh;display:flex;align-items:center;justify-content:center}button,input{font:inherit}input{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);padding:9px 10px;outline:none}input:focus{border-color:#9ca3af}button{border:1px solid var(--line);border-radius:6px;padding:8px 12px;background:#fff;color:var(--text);cursor:pointer}button:hover:not(:disabled){background:#f3f4f6}button:disabled{opacity:.5;cursor:not-allowed}.app{width:min(1300px,calc(100vw - 24px));height:80vh;display:flex;flex-direction:column;margin:0 auto;gap:8px}.steps,.app__stage,.book-summary,.download-box,.app__empty-card,.progress-item,.book-card,.chapter-card{background:var(--panel);border:1px solid var(--line);border-radius:8px}.steps,.app__stage{padding:12px}.app__stage{flex-grow:1;min-height:0}.steps__list{display:flex;gap:8px}.steps__item{width:33%;display:flex;gap:8px;align-items:center;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.steps__item.steps__item--active{border-color:#9ca3af;background:#f9fafb}.steps__item.steps__item--done{border-color:#bbf7d0;background:#f0fdf4}.steps__item.steps__item--locked{opacity:.55}.steps__number{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:12px;color:var(--muted)}.steps__copy{display:grid;gap:2px}.steps__copy strong{font-size:13px;font-weight:600}.steps__copy small{font-size:11px;color:var(--muted)}.top-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.top-meta span{padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;background:#fff}.top-meta span.ok{color:var(--success);border-color:#bbf7d0;background:#f0fdf4}.quick-guide{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding:8px 10px;border:1px dashed var(--line);border-radius:8px;background:#fcfcfd}.quick-guide strong{font-size:13px}.quick-guide span{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 8px;background:#fff}.app__panel{height:100%;display:flex;flex-direction:column;gap:12px;min-height:0}.app__stage-head,.app__stage-head.app__stage-head--split{display:flex;justify-content:space-between;align-items:center;gap:10px}.app__stage-head h2,.book-summary h3,.reader-modal__head h3{margin:0;font-size:18px}.app__stage-head p,.book-summary p,.app__field span,.book-card span,.chapter-card span,.progress-item span{margin:0;color:var(--muted);font-size:13px}.app__field{display:grid;gap:6px}.app__actions{display:flex;gap:8px;width:100%;justify-content:space-between}.app__actions.app__actions--compact button{padding:6px 10px}.app__button.app__button--primary{color:#fff;background:var(--primary);border-color:var(--primary);flex-shrink:0}.app__button.app__button--primary:hover:not(:disabled){background:#1f2937}.app__button.app__button--secondary{color:var(--text);background:#fff}.app__button.app__button--success{color:#fff;background:#166534;border-color:#166534}.app__button.app__button--success:hover:not(:disabled){background:#14532d}.app__direct-row,.app__filter-row,.app__download-grid{display:flex;gap:10px;align-items:end}.app__field.app__field--grow{flex:1 1 auto}.app__field.app__field--narrow{width:150px}.app__list.app__list--results{flex-grow:1;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-content:start}.app__list.app__list--results,.app__list.app__list--chapters,.progress-feed,.app__stage-main{display:grid;gap:8px}.app__list.app__list--scroll{min-height:0;flex:1 1 auto;overflow:auto;padding-right:2px}.app__list.app__list--scroll::-webkit-scrollbar{width:8px}.app__list.app__list--scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:999px}.book-card,.chapter-card,.book-summary,.download-box,.progress-item,.app__empty-card{padding:10px 12px;text-align:left}.app__stage-main{min-height:0;flex:1 1 auto;grid-template-rows:auto auto auto minmax(0,1fr) auto}.book-card{height:100%;display:flex;flex-direction:column;gap:6px;border-color:#dbe3ec;background:linear-gradient(180deg,#fff,#f8fafc);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.chapter-card{display:grid;gap:4px}.chapter-card strong{font-size:14px;color:#0f172a;line-height:1.5}.chapter-card span{font-size:12px;color:#64748b}.chapter-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff}.chapter-pagination span{font-size:13px;color:var(--muted)}.book-card:hover:not(:disabled){border-color:#94a3b8;box-shadow:0 8px 20px #0f172a1f;transform:translateY(-2px)}.book-card:disabled{opacity:.68;cursor:not-allowed;border-color:#d1d5db;box-shadow:none}.book-card__top{display:flex;gap:10px;align-items:flex-start}.book-card__cover{width:82px;height:110px;border-radius:6px;object-fit:cover;border:1px solid #d1d5db;background:#f1f5f9;flex-shrink:0}.book-card__main{min-width:0;display:flex;flex-direction:column;gap:4px}.book-card .book-card__title{margin:0;font-size:16px;font-weight:700;color:#0f172a;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-card .book-card__meta{margin:0;font-size:13px;font-weight:600;color:#1d4ed8}.book-card .book-card__id{margin:0;font-size:12px;color:#64748b}.book-card .book-card__desc{margin-top:auto;color:#475569;font-size:12px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.book-card .book-card__type{width:fit-content;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.book-summary.book-summary--enhanced{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:start;background:linear-gradient(180deg,#fff,#f8fafc);border-color:#dbe3ec}.book-summary__cover{width:120px;height:160px;border-radius:8px;border:1px solid #d1d5db;object-fit:cover;background:#f1f5f9}.book-summary__main{min-width:0;display:grid;gap:6px}.book-summary__title{margin:0;font-size:22px;line-height:1.35;color:#0f172a}.book-summary__author{margin:0;font-size:15px;font-weight:700;color:#1d4ed8}.book-summary__id{margin:0;font-size:12px;color:#64748b}.book-summary__desc{margin:2px 0 0;font-size:14px;color:#334155;line-height:1.8;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.book-card .book-card__type.book-card__type--ebook{background:#dbeafe;color:#1d4ed8}.book-card .book-card__type.book-card__type--audio{background:#fef3c7;color:#b45309}.book-card .book-card__type.book-card__type--unknown{background:#e2e8f0;color:#475569}.book-card strong,.chapter-card strong,.progress-item strong{display:block;margin-bottom:4px}.reader-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.reader-modal{width:min(960px,100%);max-height:calc(100vh - 48px);padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);display:grid;gap:10px}.reader-modal__head{display:flex;justify-content:space-between;align-items:center;gap:8px}.reader-modal__content{margin:0;min-height:260px;max-height:calc(100vh - 180px);border:1px solid var(--line);border-radius:6px;padding:10px;background:#fff;white-space:pre-wrap;overflow:auto;line-height:1.7}.reader-modal__content::-webkit-scrollbar{width:10px}.reader-modal__content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:999px}.reader-modal__content.reader-modal__content--raw{font-family:Consolas,Courier New,monospace;font-size:12px}.download-box__progress-track{margin-top:8px;height:8px;border-radius:999px;overflow:hidden;background:#f3f4f6;position:relative}.download-box__progress-track span{display:block;height:100%;background:#111827}.download-box__progress-track.download-box__progress-track--with-text{height:18px}.download-box__progress-track.download-box__progress-track--with-text em{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-style:normal;font-size:11px;color:#111827}.download-box__summary{margin:8px 0 0;font-size:12px;color:var(--muted)}.download-box__meta{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.download-box__meta span{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 8px;background:#fff}.txt-download-row{align-items:center;justify-content:flex-start;gap:10px}.txt-download-row__label{color:var(--muted);font-size:13px;white-space:nowrap}.txt-download-row__link{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px;word-break:break-all}.txt-download-row__link.txt-download-row__link--muted{color:#9ca3af;text-decoration:none}@media(max-width:1100px){.steps__list{grid-template-columns:repeat(2,minmax(0,1fr))}.reader-modal__content{min-height:300px}}@media(max-width:760px){.app{width:calc(100vw - 12px);height:80vh;display:flex;flex-direction:column;margin:0 auto;gap:8px}.steps,.app__stage,.book-summary,.download-box,.app__empty-card,.progress-item,.book-card,.chapter-card{border-radius:6px}.steps__list{grid-template-columns:1fr}.app__stage-head,.app__stage-head.app__stage-head--split,.app__direct-row,.app__filter-row,.app__download-grid{flex-direction:column;align-items:stretch}.app__actions button{width:100%}.txt-download-row{align-items:flex-start}.app__actions.app__actions--single{width:100%}.app__list.app__list--scroll{max-height:260px}.app__field.app__field--narrow{width:100%}.app__list.app__list--results{grid-template-columns:repeat(2,minmax(0,1fr))}.book-card__cover{width:72px;height:98px}.reader-modal__overlay{padding:10px}.reader-modal{max-height:calc(100vh - 20px);padding:10px}.reader-modal__content{max-height:calc(100vh - 220px)}.book-summary.book-summary--enhanced{grid-template-columns:88px minmax(0,1fr);gap:10px}.book-summary__cover{width:88px;height:118px}.book-summary__title{font-size:18px}.chapter-pagination{flex-direction:column;align-items:stretch}.chapter-pagination button{width:100%}}@media(max-width:560px){.app__list.app__list--results{grid-template-columns:1fr}}
