#collectorRoot{--bg:#f6f5f1;--paper:#fff;--ink:#25241f;--muted:#77756b;--line:#e7e4da;--accent:#ffc30d;--accent-ink:#795800;--green:var(--accent-ink);--soft:#fff6d6;--orange:#a8662a;--red:#b14e43}
#collectorRoot *{box-sizing:border-box}
#collectorRoot{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 "Microsoft YaHei","PingFang SC",sans-serif}
#collectorRoot button,#collectorRoot input,#collectorRoot select{font:inherit}
#collectorRoot button,#collectorRoot a,#collectorRoot input,#collectorRoot select{outline-offset:4px}
#collectorRoot button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 15px;color:var(--ink);transition:.15s}
#collectorRoot button:hover{background:var(--soft);border-color:#b9cdbb}
#collectorRoot button:disabled{opacity:.45;cursor:not-allowed}
#collectorRoot a{color:var(--green)}
#collectorRoot .app{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}
#collectorRoot .sidebar{background:#fbfcf9;border-right:1px solid var(--line);padding:30px 22px;display:flex;flex-direction:column;gap:28px}
#collectorRoot .brand{display:flex;gap:12px;align-items:center}
#collectorRoot .brandmark{background:var(--green);color:#fff;border-radius:12px;width:42px;height:45px;display:grid;place-items:center;font:27px Georgia}
#collectorRoot .brand strong{display:block;font-size:22px;letter-spacing:4px}
#collectorRoot .brand small{display:block;font-size:10px;letter-spacing:2px;color:var(--muted)}
#collectorRoot .navbutton{width:100%;text-align:left;border:0;padding:12px 14px;background:var(--soft);font-weight:bold;color:var(--green)}
#collectorRoot .sidelabel{font-size:11px;letter-spacing:1.5px;color:var(--muted);margin:0 0 10px}
#collectorRoot .library{display:grid;gap:8px;max-height:50vh;overflow:auto}
#collectorRoot .library button{text-align:left;padding:10px 12px;background:transparent;border-color:transparent;width:100%;overflow:hidden}
#collectorRoot .library button.active{background:#fff;border-color:var(--line)}
#collectorRoot .library strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
#collectorRoot .library small{color:var(--muted)}
#collectorRoot .sidebarfoot{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;font-size:12px;color:var(--muted)}
#collectorRoot .dot{width:7px;height:7px;border-radius:50%;background:#478c59;display:inline-block;margin-right:6px}
#collectorRoot .main{padding:30px 38px 24px;max-width:1500px;width:100%;margin:auto}
#collectorRoot .topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
#collectorRoot .eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted)}
#collectorRoot h1{font-size:28px;margin:5px 0 0;font-weight:650;letter-spacing:.5px}
#collectorRoot .badge{font-size:12px;border:1px solid var(--line);padding:6px 11px;border-radius:20px;background:#fff}
#collectorRoot .intro{margin:4px 0 20px;color:var(--muted)}
#collectorRoot .card{background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:0 2px 4px #25352c03}
#collectorRoot .source{padding:20px 22px;margin-bottom:20px}
#collectorRoot .cardtitle{display:flex;gap:10px;align-items:center;font-weight:bold;margin-bottom:14px}
#collectorRoot .step{font-size:11px;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--soft);color:var(--green)}
#collectorRoot .inputrow{display:flex;gap:10px}
#collectorRoot input[type=url],#collectorRoot input[type=text],#collectorRoot input[type=number],#collectorRoot select{border:1px solid #d9e2d7;background:#fbfcfa;border-radius:8px;padding:11px 12px;color:var(--ink);min-width:0}
#collectorRoot input[type=url]{flex:1}
#collectorRoot input:focus{border-color:var(--green)}
#collectorRoot .primary{background:var(--green);border-color:var(--green);color:#fff}
#collectorRoot .primary:hover{background:#1b513c;color:#fff;border-color:#1b513c}
#collectorRoot .hintrow{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--muted)}
#collectorRoot .linkbtn{border:0;background:none;padding:2px;color:var(--green);font-size:12px}
#collectorRoot .linkbtn:hover{background:none;text-decoration:underline}
#collectorRoot .importbar{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:17px;padding-top:15px;font-size:12px;color:var(--muted)}
#collectorRoot .importbar select{padding:6px 8px;max-width:130px;font-size:12px}
#collectorRoot .importbar button{font-size:12px;padding:6px 10px}
#collectorRoot .progressbox{margin-top:14px;display:none;background:var(--soft);border-radius:9px;padding:11px 14px}
#collectorRoot .progressbox.show{display:block}
#collectorRoot .progresshead{display:flex;justify-content:space-between;gap:15px;font-size:12px}
#collectorRoot .bar{height:5px;border-radius:5px;background:#d6e4d6;overflow:hidden;margin-top:9px}
#collectorRoot .bar>i{display:block;background:var(--green);height:100%;width:0;transition:width .2s}
#collectorRoot .bar.busy>i{width:35%;animation:move 1.3s infinite ease-in-out}
@keyframes move{from{transform:translateX(-100%)}to{transform:translateX(350%)}}
#collectorRoot .workspace{display:grid;grid-template-columns:minmax(280px, .94fr) minmax(340px,1.16fr);gap:20px}
#collectorRoot .catalog{overflow:hidden;display:flex;flex-direction:column;height:514px}
#collectorRoot .bookheader{padding:20px 20px 16px;border-bottom:1px solid var(--line)}
#collectorRoot .bookheading{display:flex;gap:12px;align-items:flex-start}
#collectorRoot .bookicon{width:38px;height:46px;background:#eff3e8;border-radius:4px 8px 8px 4px;border-left:4px solid #a6b897;display:grid;place-items:center;font-family:serif;font-size:19px;flex-shrink:0}
#collectorRoot .bookheading h2{font-size:17px;line-height:1.45;margin:0 0 3px;overflow-wrap:anywhere}
#collectorRoot .bookheading p{margin:0;font-size:11px;color:var(--muted)}
#collectorRoot .stats{display:flex;gap:18px;margin-top:15px;font-size:11px;color:var(--muted)}
#collectorRoot .stats b{font-size:17px;color:var(--ink);margin-right:4px}
#collectorRoot .tools{padding:12px 16px;display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line)}
#collectorRoot .tools input{font-size:12px;padding:7px 9px;width:100%}
#collectorRoot .chapterlist{overflow:auto;flex:1;min-height:80px}
#collectorRoot .chapter{display:flex;gap:9px;align-items:center;padding:11px 17px;border-bottom:1px solid #f0f3ee}
#collectorRoot .chapter.current{background:#f0f6ef}
#collectorRoot .chapter input{accent-color:var(--green);width:15px;height:15px;flex-shrink:0}
#collectorRoot .chapter button{border:0;background:none;padding:0;text-align:left;flex:1;min-width:0}
#collectorRoot .chapter strong{display:block;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#collectorRoot .chapter span{font-size:10px;color:var(--muted)}
#collectorRoot .selectionbar{padding:10px 16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}
#collectorRoot .selectionbar button{font-size:11px;padding:3px 6px}
#collectorRoot .preview{height:514px;display:flex;flex-direction:column;overflow:hidden}
#collectorRoot .previewtop{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line)}
#collectorRoot .previewtop strong{font-size:13px}
#collectorRoot .previewtop span{font-size:10px;color:var(--muted);letter-spacing:1px}
#collectorRoot .reader{padding:22px 30px;overflow:auto;flex:1;background:#fffefa}
#collectorRoot .reader h3{font:600 20px/1.6 "Songti SC",SimSun,serif;margin:0 0 18px}
#collectorRoot .reader .reader-paragraph{text-indent:2em;white-space:pre-wrap;overflow-wrap:anywhere;font:15px/2.05 "Songti SC",SimSun,serif;margin:0;color:#455148}
#collectorRoot .empty{height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted)}
#collectorRoot .empty .emptyicon{font:38px Georgia;color:#9caf99;margin-bottom:14px}
#collectorRoot .empty strong{color:var(--ink);font-size:15px;font-weight:500}
#collectorRoot .empty p{font-size:12px;max-width:270px}
#collectorRoot .exportbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:16px 21px}
#collectorRoot .exportbar strong{display:block;font-size:13px}
#collectorRoot .exportbar p{font-size:11px;color:var(--muted);margin:3px 0 0}
#collectorRoot .exportactions{display:flex;gap:9px}
#collectorRoot .foot{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px;margin-top:16px}
#collectorRoot .message{display:none;padding:11px 14px;border-radius:8px;margin-top:13px;font-size:12px;background:#f8eee8;color:#8b4e2a;white-space:pre-wrap}
#collectorRoot .message.show{display:block}
#collectorRoot .message.good{background:var(--soft);color:var(--green)}
#collectorRoot .toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:11px 20px;border-radius:10px;background:#243d30;color:#fff;font-size:13px;box-shadow:0 4px 18px #0002;z-index:10;display:none}
#collectorRoot .toast.show{display:block}
#collectorRoot .muted{color:var(--muted)}
#collectorRoot .danger{color:var(--red)}
#collectorRoot .hide{display:none!important}
#collectorRoot dialog{border:1px solid var(--line);border-radius:14px;max-width:520px;padding:25px;color:var(--ink);box-shadow:0 10px 80px #0002}
#collectorRoot dialog::backdrop{background:#1b322d44}
#collectorRoot dialog h2{font-size:20px;margin-top:0}
#collectorRoot dialog p,#collectorRoot dialog li{font-size:13px}
#collectorRoot dialog button{float:right;margin-top:12px}
#collectorRoot .range{display:flex;align-items:center;gap:6px;font-size:11px}
#collectorRoot .range input{width:52px;padding:4px;font-size:11px}
#collectorRoot .range button{font-size:11px;padding:3px 5px}
#collectorRoot .shelfempty{font-size:12px;color:var(--muted);padding:10px 4px}
@media(max-width:1100px){#collectorRoot .main{padding:25px}
#collectorRoot .app{grid-template-columns:200px minmax(0,1fr)}
#collectorRoot .workspace{grid-template-columns:minmax(235px,.9fr) minmax(290px,1.1fr)}
#collectorRoot .range{display:none}
#collectorRoot .reader{padding:22px}
#collectorRoot .sidebar{padding:26px 16px}}
@media(max-width:800px){#collectorRoot .app{display:block}
#collectorRoot .sidebar{padding:15px 20px;display:block;border-right:0;border-bottom:1px solid var(--line)}
#collectorRoot .brand{display:inline-flex}
#collectorRoot .brand strong{font-size:19px}
#collectorRoot .brandmark{width:35px;height:37px}
#collectorRoot .navbutton,#collectorRoot .sidebarfoot,#collectorRoot .sidelabel{display:none}
#collectorRoot .library{display:flex;max-height:none;margin-top:12px;overflow:auto}
#collectorRoot .library button{width:150px;flex-shrink:0;padding:4px 9px}
#collectorRoot .shelfempty{display:none}
#collectorRoot .main{padding:20px}
#collectorRoot .workspace{grid-template-columns:1fr}
#collectorRoot .catalog{height:420px}
#collectorRoot .preview{height:400px}
#collectorRoot .topbar{margin-bottom:15px}
#collectorRoot h1{font-size:24px}
#collectorRoot .source{padding:17px}
#collectorRoot .inputrow{flex-wrap:wrap}
#collectorRoot .inputrow input{flex-basis:100%}
#collectorRoot .exportbar{align-items:flex-start;flex-direction:column}
#collectorRoot .exportactions{width:100%}
#collectorRoot .exportactions button{flex:1}
#collectorRoot .foot{display:block}
#collectorRoot .range{display:flex}}
#collectorRoot .scan-card{padding:22px;margin-bottom:18px}
#collectorRoot .source-tag{font-size:11px;font-weight:400;color:var(--green);margin-left:auto;background:var(--soft);padding:3px 9px;border-radius:20px}
#collectorRoot .scan-options{display:flex;gap:16px;align-items:center;margin-top:16px;flex-wrap:wrap}
#collectorRoot .scan-options label{display:flex;gap:7px;align-items:center;font-size:12px;color:var(--muted)}
#collectorRoot .scan-options input[type=text]{width:215px}
#collectorRoot .scan-options select,#collectorRoot .scan-options input[type=text]{padding:7px 9px;font-size:12px}
#collectorRoot .scan-options input[type=checkbox]{accent-color:var(--green)}
#collectorRoot .scan-note{font-size:11px;color:var(--muted);margin:12px 0 0}
#collectorRoot .bulk-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}
#collectorRoot .bulk-stats>div{padding:15px 20px;background:#fff;border:1px solid var(--line);border-radius:11px;display:flex;justify-content:space-between;align-items:center}
#collectorRoot .bulk-stats span{font-size:12px;color:var(--muted)}
#collectorRoot .bulk-stats b{font-size:25px;font-weight:600}
#collectorRoot .discovery{overflow:hidden}
#collectorRoot .discovery-head{display:flex;justify-content:space-between;align-items:center;padding:19px 22px;gap:15px}
#collectorRoot .discovery h2{font-size:17px;margin:0}
#collectorRoot .discovery p{font-size:11px;color:var(--muted);margin:4px 0 0}
#collectorRoot .table-switch{display:flex;background:#f3f5f1;padding:3px;border-radius:9px}
#collectorRoot .table-switch button{padding:5px 9px;font-size:11px;border:0;background:none}
#collectorRoot .table-switch button.active{background:#fff;color:var(--green);box-shadow:0 1px 4px #0001}
#collectorRoot .table-tools{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 20px}
#collectorRoot .table-tools button{font-size:11px;padding:5px 8px}
#collectorRoot .table-tools input{padding:6px 10px;font-size:12px;width:280px}
#collectorRoot .book-table-wrap{max-height:430px;overflow:auto;min-height:210px}
#collectorRoot .book-table{border-collapse:collapse;width:100%;font-size:12px}
#collectorRoot .book-table th{position:sticky;top:0;background:#fafbf8;text-align:left;color:var(--muted);font-size:10px;letter-spacing:.5px;font-weight:500;padding:10px 18px;z-index:1}
#collectorRoot .book-table td{padding:12px 18px;border-top:1px solid #f0f2ed;vertical-align:middle}
#collectorRoot .book-table tbody tr:hover{background:#fbfcf9}
#collectorRoot .book-table input[type=checkbox]{accent-color:var(--green);width:15px;height:15px}
#collectorRoot .pick-col{width:62px}
#collectorRoot .book-title{font-weight:500;max-width:480px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
#collectorRoot .book-author{font-size:10px;color:var(--muted);max-width:450px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;margin-top:3px}
#collectorRoot .status-chip{display:inline-block;font-size:10px;padding:3px 8px;border-radius:12px;background:#f0f2ed;color:var(--muted);white-space:nowrap}
#collectorRoot .status-chip.done{color:#2d714d;background:#e8f2e7}
#collectorRoot .status-chip.failed{color:#a3483d;background:#faebe8}
#collectorRoot .status-chip.downloading{color:#896328;background:#faf1db}
#collectorRoot .book-table td>button{font-size:11px;padding:5px 9px;white-space:nowrap}
#collectorRoot .table-footer{display:flex;justify-content:space-between;padding:10px 20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);align-items:center}
#collectorRoot .table-footer button{padding:4px 9px;font-size:11px}
#collectorRoot .table-footer #pageLabel{margin:0 10px}
#collectorRoot .batch-actions{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}
#collectorRoot .batch-actions strong{font-size:13px}
#collectorRoot .batch-actions p{margin:4px 0 0;color:var(--muted);font-size:11px}
#collectorRoot .batch-buttons{display:flex;gap:8px;flex-shrink:0}
#collectorRoot .batch-buttons button{font-size:12px}
#collectorRoot .zip-card{display:flex;align-items:center;gap:18px;padding:20px;margin-top:18px;background:#edf3e9;border-color:#dce6d6}
#collectorRoot .zip-icon{height:51px;width:43px;display:grid;place-items:center;border:1px solid #b9c9af;background:#f9fbf7;border-radius:5px 10px 5px 5px;font-size:11px;font-weight:bold;letter-spacing:1px;color:var(--green);flex-shrink:0}
#collectorRoot .zip-copy{flex:1}
#collectorRoot .zip-copy strong{font-size:14px}
#collectorRoot .zip-copy p{font-size:11px;color:var(--muted);margin:4px 0 0}
#collectorRoot .zip-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:330px}
#collectorRoot .zip-buttons button{font-size:12px}
#collectorRoot .zip-buttons a{font-size:12px;background:#fff;padding:8px 14px;border-radius:8px;text-decoration:none;border:1px solid #b9cdbb}
#collectorRoot .storage-note{font-size:11px;color:var(--muted);padding-left:3px;overflow-wrap:anywhere}
#collectorRoot .mode-nav{display:grid;gap:6px}
#collectorRoot .mode-nav .navbutton{background:transparent;color:var(--muted)}
#collectorRoot .mode-nav .navbutton.active{background:var(--soft);color:var(--green)}
#collectorRoot .back-to-scan{margin:0 0 15px;font-size:12px}
#collectorRoot .app .main{margin:0 auto}
#collectorRoot .book-error{font-size:10px;color:var(--red);max-width:220px;display:block}
#collectorRoot .whole-export{background:#edf3e9;border-color:#c3d7bb}
#collectorRoot .batch-actions #queueSummary{display:block}
#collectorRoot .book-table td:last-child{width:90px}
@media(max-width:1150px){#collectorRoot .batch-actions{align-items:flex-start;flex-direction:column}
#collectorRoot .book-title{max-width:330px}
#collectorRoot .zip-card{flex-wrap:wrap}
#collectorRoot .zip-buttons{max-width:none}
#collectorRoot .bulk-stats>div{padding:12px}
#collectorRoot .bulk-stats b{font-size:22px}
#collectorRoot .source-tag{font-size:10px}}
@media(max-width:800px){#collectorRoot .mode-nav{display:flex;margin-top:15px}
#collectorRoot .mode-nav .navbutton{display:block;width:auto}
#collectorRoot .scan-card{padding:17px}
#collectorRoot .source-tag{display:none}
#collectorRoot .bulk-stats{gap:7px}
#collectorRoot .bulk-stats>div{padding:10px;display:block}
#collectorRoot .bulk-stats b{display:block;margin-top:4px}
#collectorRoot .table-tools{flex-wrap:wrap}
#collectorRoot .table-tools input{width:100%}
#collectorRoot .book-table td,#collectorRoot .book-table th{padding:10px}
#collectorRoot .language-col{display:none}
#collectorRoot .book-table td:nth-child(3){display:none}
#collectorRoot .book-title{max-width:190px}
#collectorRoot .book-author{max-width:180px}
#collectorRoot .discovery-head{padding:15px;flex-wrap:wrap}
#collectorRoot .zip-buttons{width:100%;justify-content:flex-start}
#collectorRoot .batch-buttons{flex-wrap:wrap}
#collectorRoot .scan-options{gap:10px}
#collectorRoot .scan-options input[type=text]{width:160px}
#collectorRoot .book-table-wrap{max-height:420px}}
#collectorRoot .rules-panel{margin:18px 0 4px;border-top:1px solid var(--line);padding-top:14px}
#collectorRoot .rules-panel summary,#collectorRoot .analysis-panel summary{cursor:pointer;font-weight:600;font-size:14px}
#collectorRoot .rules-panel summary span{font-weight:400;color:var(--muted);margin-left:10px;font-size:12px}
#collectorRoot .rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px}
#collectorRoot .rule-grid label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:5px}
#collectorRoot .rule-grid input{width:100%;font-size:13px;padding:9px 10px}
#collectorRoot .rule-actions{display:flex;justify-content:space-between;align-items:center;margin-top:15px;gap:12px;font-size:12px;color:var(--muted)}
#collectorRoot .analysis-panel{margin-top:18px;background:#f2f7f4;border:1px solid var(--line);border-radius:10px;padding:16px}
#collectorRoot .analysis-panel p,#collectorRoot .analysis-panel li{font-size:12px}
#collectorRoot .analysis-panel pre{font-family:inherit;font-size:13px;line-height:1.8;white-space:pre-wrap;word-break:break-word;max-height:230px;overflow:auto;background:white;border-radius:6px;padding:12px;color:var(--ink)}
#collectorRoot .analysis-panel ul{max-height:150px;overflow:auto;padding-left:20px}
#collectorRoot .book-coverage{display:block;font-size:11px;color:var(--muted);margin-top:3px}
#collectorRoot .scan-note{overflow-wrap:anywhere}
@media(max-width:1000px){#collectorRoot .rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#collectorRoot .rule-grid{grid-template-columns:1fr}
#collectorRoot .rules-panel summary span{display:block;margin-left:0}
#collectorRoot .inputrow{flex-wrap:wrap}
#collectorRoot .inputrow input{flex-basis:100%}}
#collectorRoot .rule-grid input{border:1px solid var(--line);border-radius:8px;background:#fbfcfa;color:var(--ink);box-sizing:border-box}
#collectorRoot .rule-grid input:focus{outline:2px solid #9fbdad;outline-offset:1px}
#collectorRoot .discovery-head>div:first-child{min-width:0;flex:1}
#collectorRoot .table-switch{flex-shrink:0}
#collectorRoot .table-switch button{white-space:nowrap}
#collectorRoot .range-grid{margin-top:14px}
#collectorRoot .wide-rule{grid-column:span 2}
#collectorRoot .rule-grid textarea,#collectorRoot .rule-grid select{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:#fbfcfa;color:var(--ink);font:inherit;padding:9px 10px}
#collectorRoot .rule-grid textarea{resize:vertical}
#collectorRoot .batch-buttons{flex-wrap:wrap;justify-content:flex-end}
#collectorRoot .scan-options select{max-width:190px}
#collectorRoot #scanWarningList{overflow-wrap:anywhere}
@media(max-width:650px){#collectorRoot .wide-rule{grid-column:auto}}
#collectorRoot .range-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
#collectorRoot .range-grid .wide-rule{grid-column:1/-1}
#collectorRoot .range-grid .range-half{grid-column:span 2}
@media(max-width:800px){#collectorRoot .range-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#collectorRoot .range-grid{grid-template-columns:1fr}
#collectorRoot .range-grid .range-half{grid-column:auto}}
#collectorRoot .book-identity-inner{display:flex;align-items:center;gap:13px;min-width:0}
#collectorRoot .book-copy{min-width:0}
#collectorRoot .book-cover{position:relative;display:block;flex:0 0 52px;width:52px;height:72px;padding:0;border:1px solid #e5dec7;border-radius:4px;background:#f7f3e6;overflow:hidden;box-shadow:0 2px 3px #342d0010}
#collectorRoot .book-cover img{display:block;width:100%;height:100%;object-fit:contain;background:#faf9f5}
#collectorRoot .book-cover .cover-loading{opacity:0}
#collectorRoot .cover-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:#9b8b61;line-height:1.5}
#collectorRoot .book-cover:disabled{opacity:1;cursor:default}
#collectorRoot .book-cover.cover-ready:hover{border-color:#bd8e00;box-shadow:0 2px 7px #8f6c0029;transform:translateY(-1px)}
#collectorRoot .discovery .cover-hint{color:#95866a;margin-top:5px}
#collectorRoot .cover-dialog{width:min(680px,calc(100vw - 32px));max-width:680px;max-height:calc(100vh - 32px);padding:0;overflow:hidden}
#collectorRoot .cover-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid var(--line)}
#collectorRoot .cover-dialog-head strong{font-size:16px;overflow-wrap:anywhere}
#collectorRoot .cover-dialog-head button{float:none;margin:0;flex-shrink:0;font-size:12px;padding:6px 11px}
#collectorRoot .cover-dialog-body{padding:18px 20px;background:#f8f7f2;min-height:180px;text-align:center;overflow:auto;max-height:calc(100vh - 112px)}
#collectorRoot .cover-dialog-body img{display:block;width:100%;height:auto;max-height:calc(100vh - 196px);object-fit:contain;margin:auto}
#collectorRoot .cover-dialog-body p{font-size:12px;color:var(--muted);margin:14px 0 0}
#collectorRoot .cover-dialog::backdrop{background:#17160fc4}
@media(max-width:800px){#collectorRoot .book-identity-inner{gap:9px}
#collectorRoot .book-cover{width:44px;height:62px;flex-basis:44px}
#collectorRoot .book-copy .book-title{max-width:170px}
#collectorRoot .book-copy .book-author{max-width:160px}
#collectorRoot .cover-dialog-head{padding:12px 14px}
#collectorRoot .cover-dialog-body{padding:12px}}
#collectorRoot .access-panel{margin-top:16px;padding:16px;background:#fffaf0;border:1px solid #ecdab4;border-radius:10px;font-size:12px}
#collectorRoot .access-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
#collectorRoot .access-heading>strong{font-size:14px}
#collectorRoot .access-heading button{padding:6px 10px;font-size:12px}
#collectorRoot .access-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
#collectorRoot .access-details>div{padding:12px;border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0}
#collectorRoot .access-details strong{font-size:12px}
#collectorRoot .access-details p{margin:6px 0;line-height:1.6;overflow-wrap:anywhere}
#collectorRoot .access-details .access-detail-note{color:var(--muted);font-size:11px}
#collectorRoot .access-details a{display:inline-block;margin-top:4px;color:#815900;font-size:11px;text-underline-offset:3px}
#collectorRoot .access-suggestion{margin:12px 0 0;line-height:1.7;font-weight:500;overflow-wrap:anywhere}
#collectorRoot .access-cache{color:var(--muted);font-size:11px;line-height:1.7;margin:8px 0 0}
#collectorRoot .access-ok{background:#fffdf4;border-color:#e6ddbf}
@media(max-width:650px){#collectorRoot .access-details{grid-template-columns:1fr}
#collectorRoot .access-panel{padding:12px}}
#collectorRoot .access-recovery{margin-top:14px;padding-top:13px;border-top:1px solid #e5d8b9}
#collectorRoot .access-recovery-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
#collectorRoot .access-recovery-actions a{font-size:12px;text-underline-offset:3px}
#collectorRoot .access-recovery-actions button{font-size:12px;padding:7px 11px}
#collectorRoot .access-recovery p{font-size:11px;color:var(--muted);line-height:1.8;margin:10px 0 0}
#collectorRoot .app{grid-template-columns:256px minmax(0,1fr)}
#collectorRoot .sidebar{background:#080807;border-right:0;color:#f4f1e7;padding:30px 20px;gap:30px}
#collectorRoot .brand{gap:10px;padding:0 3px}
#collectorRoot .brandmark{width:46px;height:46px;object-fit:contain;background:#080807;border-radius:10px;flex-shrink:0}
#collectorRoot .brand strong{font-size:18px;letter-spacing:.8px;white-space:nowrap;color:#fff}
#collectorRoot .brand small{font-size:9px;letter-spacing:1.3px;color:#929084;margin-top:3px}
#collectorRoot .sidelabel{font-size:10px;letter-spacing:1.5px;color:#8d8b7e;margin:0 12px 12px}
#collectorRoot .mode-nav{gap:7px}
#collectorRoot .mode-nav .navbutton{display:flex;align-items:center;gap:12px;padding:12px 13px;color:#c3c0b5;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:500;line-height:1.5}
#collectorRoot .mode-nav .navbutton:hover{background:#23231f;color:#fff;border-color:#34332b}
#collectorRoot .mode-nav .navbutton.active{background:var(--accent);border-color:var(--accent);color:#211b00;box-shadow:0 3px 10px #0002}
#collectorRoot .navglyph{display:inline-flex;justify-content:center;align-items:center;width:22px;font-size:23px;font-weight:400;line-height:1}
#collectorRoot .navbutton small{display:block;font-size:10px;font-weight:400;color:#8e8c7f;margin-top:3px}
#collectorRoot .navbutton.active small{color:#705800}
#collectorRoot .library{max-height:38vh}
#collectorRoot .library button{color:#d2cfc2;padding:9px 12px;border-radius:8px}
#collectorRoot .library button:hover{background:#20201c;border-color:#333229}
#collectorRoot .library button.active{background:#28271e;border-color:#49442e}
#collectorRoot .library small,#collectorRoot .shelfempty{color:#999586}
#collectorRoot .library button.active strong{color:#ffe27a}
#collectorRoot .shelfempty{font-size:11px;padding:6px 12px}
#collectorRoot .sidebarfoot{border-color:#2e2c22;color:#999586;padding:20px 12px 0;font-size:11px}
#collectorRoot .sidebarfoot .local-label{color:#d6d2c1;margin-bottom:5px}
#collectorRoot .sidebarfoot .dot{background:var(--accent)}
#collectorRoot .sidebarfoot .linkbtn{display:block;color:#d7c275;margin-top:14px;font-size:11px}
#collectorRoot .sidebarfoot .linkbtn:hover{color:#ffdb60}
#collectorRoot .main{padding:34px 38px 24px}
#collectorRoot .topbar{margin-bottom:10px}
#collectorRoot .eyebrow{font-size:10px;font-weight:600;letter-spacing:1.6px;color:#9a8b64}
#collectorRoot h1{font-size:29px;font-weight:650;margin-top:7px;letter-spacing:.3px}
#collectorRoot .intro{font-size:13px;margin:0 0 27px}
#collectorRoot .badge{padding:7px 12px;font-size:11px;border-color:#e6e0d1;background:#fffdf6;white-space:nowrap}
#collectorRoot .badge .dot{background:#c29a00}
#collectorRoot .card{box-shadow:0 2px 6px #35290004;border-radius:13px}
#collectorRoot .cardtitle{font-size:14px}
#collectorRoot .step{background:#fff0ae;color:#785700;font-weight:700}
#collectorRoot .primary{background:var(--accent);border-color:var(--accent);color:#282000;font-weight:600}
#collectorRoot .primary:hover{background:#edb600;border-color:#edb600;color:#211b00}
#collectorRoot button:hover{border-color:#d3c595}
#collectorRoot button:focus-visible,#collectorRoot a:focus-visible{outline:2px solid #a77e00}
#collectorRoot button:disabled{opacity:.46}
#collectorRoot input[type=url],#collectorRoot input[type=text],#collectorRoot input[type=number],#collectorRoot select,#collectorRoot .rule-grid input,#collectorRoot .rule-grid textarea,#collectorRoot .rule-grid select{border-color:#e2dfd4;background:#fcfbf8}
#collectorRoot input:focus,#collectorRoot .rule-grid input:focus{border-color:#b88c00;outline-color:#eacb66}
#collectorRoot .source-tag{color:#816000;background:#fff6d6}
#collectorRoot .bar{background:#e7dfc4}
#collectorRoot .bar>i{background:var(--accent)}
#collectorRoot .bookicon{background:#fff5d0;border-color:#e1bd52;color:#765b18}
#collectorRoot .chapter{border-bottom-color:#f1eee7}
#collectorRoot .chapter.current{background:#fff8df}
#collectorRoot .reader{background:#fffefa}
#collectorRoot .reader .reader-paragraph{color:#49463c}
#collectorRoot .empty .emptyicon{color:#b5a568}
#collectorRoot .message.good{color:#715500;background:#fff6d6}
#collectorRoot .toast{background:#25241e}
#collectorRoot .whole-export{background:#fff6d6;border-color:#e9d79b}
#collectorRoot .foot{margin-top:22px;font-size:10px;line-height:1.7}
#collectorRoot .foot>span:last-child{white-space:nowrap}
#collectorRoot dialog::backdrop{background:#17160f66}
#collectorRoot .table-switch{background:#f3f1e9}
#collectorRoot .table-switch button.active{color:#745600}
#collectorRoot .book-table th{background:#faf8f1}
#collectorRoot .book-table td{border-top-color:#efede5}
#collectorRoot .book-table tbody tr:hover{background:#fffdf5}
#collectorRoot .status-chip{background:#f1f0ea}
#collectorRoot .status-chip.downloading{background:#fff1be;color:#785900}
#collectorRoot .zip-card{background:#fffae9;border-color:#ecdfb0}
#collectorRoot .zip-icon{background:#fffef7;border-color:#dfca7c;color:#8b6800}
#collectorRoot .zip-buttons a{border-color:#e2cf8c}
#collectorRoot .analysis-panel{background:#faf7eb}
#collectorRoot .bulk-stats>div{border-radius:11px}
#collectorRoot .bulk-stats b{font-variant-numeric:tabular-nums}
@media(max-width:1100px){#collectorRoot .app{grid-template-columns:230px minmax(0,1fr)}
#collectorRoot .sidebar{padding:26px 14px}
#collectorRoot .brand strong{font-size:16px}
#collectorRoot .brandmark{width:42px;height:42px}
#collectorRoot .main{padding:28px 25px}
#collectorRoot .mode-nav .navbutton{padding:11px 12px}}
@media(max-width:800px){#collectorRoot .app{display:block}
#collectorRoot .sidebar{padding:18px 20px;display:block}
#collectorRoot .brand strong{font-size:18px}
#collectorRoot .brandmark{width:40px;height:40px}
#collectorRoot .navgroup>.sidelabel,#collectorRoot .recent-books{display:none}
#collectorRoot .mode-nav{display:flex;gap:8px;margin-top:18px;overflow:auto;padding-bottom:2px}
#collectorRoot .mode-nav .navbutton{display:flex;flex:1;min-width:130px;width:auto;padding:9px 11px;gap:8px;white-space:nowrap}
#collectorRoot .navbutton small{font-size:9px}
#collectorRoot .navglyph{font-size:20px;width:18px}
#collectorRoot .main{padding:24px 20px}
#collectorRoot .topbar{margin-bottom:9px}
#collectorRoot h1{font-size:24px}
#collectorRoot .intro{margin-bottom:21px}
#collectorRoot .sidebarfoot{display:none}
#collectorRoot .foot{display:flex;flex-direction:column;gap:5px}}
@media(max-width:480px){#collectorRoot .mode-nav{gap:5px}
#collectorRoot .mode-nav .navbutton{min-width:0;justify-content:center;padding:9px 8px;font-size:12px}
#collectorRoot .navbutton small{display:none}
#collectorRoot .navglyph{font-size:18px;width:16px}
#collectorRoot .main{padding:20px 14px}
#collectorRoot .eyebrow{font-size:8px;letter-spacing:1px}
#collectorRoot .badge{font-size:10px;padding:5px 8px}
#collectorRoot .topbar{gap:8px}
#collectorRoot h1{font-size:22px}}
#collectorRoot .video-source{padding:24px}
#collectorRoot .video-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
#collectorRoot .video-kicker{font-size:10px;letter-spacing:1.6px;font-weight:600;color:#9c8034}
#collectorRoot .video-section-head h2{font-size:23px;font-weight:650;margin:4px 0 3px}
#collectorRoot .video-section-head p{font-size:12px;color:var(--muted);margin:0}
#collectorRoot .video-module-tag{font-size:10px;color:#816000;background:#fff5ce;border:1px solid #f2e3b1;border-radius:20px;padding:5px 10px;white-space:nowrap}
#collectorRoot .video-input-label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}
#collectorRoot .video-input-label span{font-weight:400;font-size:11px;color:var(--muted);margin-left:10px}
#collectorRoot #videoUrls{display:block;width:100%;min-height:128px;max-height:360px;resize:vertical;border:1px solid #dedbcf;border-radius:9px;padding:13px 15px;background:#fcfbf8;color:var(--ink);font:13px/1.8 "Microsoft YaHei","PingFang SC",sans-serif;outline-offset:2px}
#collectorRoot #videoUrls:focus{border-color:#bc9100;outline:2px solid #ffe59c}
#collectorRoot #videoUrls::placeholder{color:#aaa694}
#collectorRoot .video-input-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px}
#collectorRoot .video-input-actions p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}
#collectorRoot .video-input-actions button{min-width:126px;flex-shrink:0}
#collectorRoot .video-results{overflow:hidden}
#collectorRoot .video-list-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:21px 22px}
#collectorRoot .video-list-head h2{font-size:17px;margin:0}
#collectorRoot .video-list-head p{font-size:11px;color:var(--muted);margin:4px 0 0}
#collectorRoot .video-list-head>button{font-size:11px;padding:6px 10px}
#collectorRoot .video-list-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#collectorRoot .video-list-tools>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
#collectorRoot .video-list-tools button{font-size:11px;padding:5px 8px}
#collectorRoot #videoSelectionCount{font-size:11px;color:var(--muted);margin-left:5px}
#collectorRoot #videoSearch{width:255px;font-size:12px;padding:7px 10px}
#collectorRoot .video-table-wrap{overflow:auto;min-height:250px;max-height:490px}
#collectorRoot .video-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}
#collectorRoot .video-table th{text-align:left;position:sticky;top:0;background:#faf8f1;color:var(--muted);font-size:10px;letter-spacing:.4px;font-weight:500;padding:11px 18px;z-index:1}
#collectorRoot .video-table td{padding:15px 18px;border-top:1px solid #efede5;vertical-align:middle}
#collectorRoot .video-table tbody tr:hover{background:#fffdf5}
#collectorRoot .video-check-col{width:62px}
#collectorRoot .video-duration-col{width:90px}
#collectorRoot .video-state-col{width:225px}
#collectorRoot .video-table input[type=checkbox]{accent-color:#997300;width:15px;height:15px}
#collectorRoot .video-title-cell{display:flex;align-items:flex-start;gap:11px;min-width:0}
#collectorRoot .video-symbol{display:grid;place-items:center;width:35px;height:40px;border:1px solid #eadfbf;border-radius:7px;background:#fffae9;color:#b89a49;font-size:21px;flex-shrink:0}
#collectorRoot .video-title-copy{min-width:0;flex:1}
#collectorRoot .video-title-copy strong{display:block;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#collectorRoot .video-source-url{display:block;font-size:10px;color:var(--muted);margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}
#collectorRoot .video-source-url:hover{color:#816000;text-decoration:underline}
#collectorRoot .video-file{display:block;font-size:10px;color:#82785f;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#collectorRoot .video-status-message{display:block;font-size:10px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere;max-height:70px;overflow:auto}
#collectorRoot .video-status-message.failed{color:var(--red)}
#collectorRoot .video-row-progress{height:4px;background:#eee8d7;border-radius:4px;margin-top:8px;overflow:hidden;width:100%;max-width:160px}
#collectorRoot .video-row-progress i{display:block;height:100%;background:var(--accent);border-radius:4px}
#collectorRoot .video-percent{font-variant-numeric:tabular-nums;font-size:10px;margin-left:7px;color:#8c722c}
#collectorRoot .video-table .empty{min-height:230px}
#collectorRoot .video-table .empty .emptyicon{font-size:36px;margin-bottom:10px}
#collectorRoot .video-download-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:18px 20px}
#collectorRoot .video-quality{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#collectorRoot .video-quality label{font-size:12px;font-weight:500}
#collectorRoot .video-quality select{padding:8px 10px;font-size:12px}
#collectorRoot .video-quality small{font-size:10px;color:var(--muted)}
#collectorRoot .video-download-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#collectorRoot .video-download-actions button{font-size:12px;white-space:nowrap}
#collectorRoot .video-storage{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 3px 4px}
#collectorRoot .video-storage strong{font-size:12px;font-weight:500}
#collectorRoot .video-storage p{font-size:11px;color:var(--muted);margin:4px 0 0;overflow-wrap:anywhere}
#collectorRoot .video-storage button{font-size:11px;white-space:nowrap;background:transparent}
#collectorRoot #videoPageLabel{margin:0 10px}
#collectorRoot #videoNotice{max-height:180px;overflow:auto}
#collectorRoot #videoProgressText{overflow-wrap:anywhere}
@media(max-width:1150px){#collectorRoot .video-quality small{flex-basis:100%}
#collectorRoot .video-state-col{width:180px}
#collectorRoot .video-duration-col{width:75px}
#collectorRoot .video-download-bar{align-items:flex-start}
#collectorRoot .video-table td,#collectorRoot .video-table th{padding:13px 12px}}
@media(max-width:800px){#collectorRoot .video-source{padding:20px}
#collectorRoot .video-section-head{margin-bottom:18px}
#collectorRoot .video-section-head h2{font-size:21px}
#collectorRoot .video-module-tag{font-size:9px}
#collectorRoot .video-list-head{padding:18px}
#collectorRoot .video-list-tools{padding:11px 16px;flex-wrap:wrap}
#collectorRoot #videoSearch{width:100%}
#collectorRoot .video-duration-col,#collectorRoot .video-table td:nth-child(3){display:none}
#collectorRoot .video-state-col{width:155px}
#collectorRoot .video-check-col{width:43px}
#collectorRoot .video-symbol{display:none}
#collectorRoot .video-table td,#collectorRoot .video-table th{padding:12px 10px}
#collectorRoot .video-download-bar{flex-direction:column}
#collectorRoot .video-quality small{flex-basis:auto}
#collectorRoot .video-download-actions{justify-content:flex-start;width:100%}
#collectorRoot .video-download-actions .primary{flex:1}
#collectorRoot .video-storage{align-items:flex-start}
#collectorRoot .video-table-wrap{max-height:430px}}
@media(max-width:480px){#collectorRoot .video-source{padding:17px}
#collectorRoot .video-section-head{gap:9px}
#collectorRoot .video-module-tag{padding:4px 7px}
#collectorRoot .video-input-label span{display:block;margin:4px 0 0}
#collectorRoot .video-input-actions{align-items:flex-start;flex-direction:column;gap:12px}
#collectorRoot .video-input-actions button{width:100%}
#collectorRoot .video-state-col{width:125px}
#collectorRoot .video-status-message{font-size:9px;max-height:54px}
#collectorRoot .video-source-url{font-size:9px}
#collectorRoot .video-download-bar{padding:16px}
#collectorRoot .video-quality small{flex-basis:100%}
#collectorRoot .video-storage{flex-direction:column;gap:12px}
#collectorRoot .video-storage button{width:100%}
#collectorRoot .video-list-tools>div{gap:5px}
#collectorRoot #videoSelectionCount{margin-left:0}}
#collectorRoot .video-discover-form{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(115px,.8fr) minmax(145px,1fr) auto;align-items:end;gap:12px}
#collectorRoot .video-discover-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--muted)}
#collectorRoot .video-discover-form input,#collectorRoot .video-discover-form select{width:100%;font-size:12px;padding:10px 11px;height:41px}
#collectorRoot .video-discover-form button{height:41px;white-space:nowrap}
#collectorRoot .video-source-note{font-size:10px;color:var(--muted);margin:13px 0 0}
#collectorRoot .video-direct-input{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}
#collectorRoot .video-direct-input summary{font-size:12px;font-weight:500;cursor:pointer}
#collectorRoot .video-direct-input summary span{font-size:10px;font-weight:400;color:var(--muted);margin-left:10px}
#collectorRoot .video-direct-input[open] summary{margin-bottom:17px}
#collectorRoot .video-direct-input #videoUrls{min-height:105px}
#collectorRoot .video-catalog{margin-top:18px;overflow:hidden}
#collectorRoot .video-catalog-step{font-size:10px;color:#9c8034;white-space:nowrap}
#collectorRoot .video-catalog-table-wrap{overflow:auto;max-height:420px}
#collectorRoot .video-catalog-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}
#collectorRoot .video-catalog-table th{position:sticky;top:0;background:#faf8f1;text-align:left;font-weight:500;color:var(--muted);font-size:10px;padding:11px 20px}
#collectorRoot .video-catalog-table td{padding:13px 20px;border-top:1px solid #efede5}
#collectorRoot .video-catalog-table tbody tr:hover{background:#fffdf5}
#collectorRoot .video-catalog-title{display:block;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#collectorRoot .video-catalog-tags{display:block;margin-top:4px;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#collectorRoot .video-episodes-col{width:130px}
#collectorRoot .video-catalog-action-col{width:120px}
#collectorRoot .video-load-detail{font-size:11px;padding:6px 11px;border-color:#e2cd86;background:#fff8df}
#collectorRoot .video-catalog .empty{min-height:140px}
#collectorRoot #videoCatalogPage{margin:0 10px}
#collectorRoot .video-quality-label{font-size:12px}
#collectorRoot .video-quality strong{font-size:12px;font-weight:500;border:1px solid #eadba7;background:#fff8df;color:#866500;border-radius:7px;padding:7px 11px}
#collectorRoot .video-advanced{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:18px 20px;background:#f9f8f4}
#collectorRoot .video-advanced strong{font-size:12px;font-weight:500}
#collectorRoot .video-advanced p{font-size:11px;color:var(--muted);margin:5px 0 0}
#collectorRoot .video-advanced button{font-size:11px;white-space:nowrap;flex-shrink:0}
@media(max-width:1150px){#collectorRoot .video-discover-form{grid-template-columns:1.2fr 1fr auto}
#collectorRoot .video-base-field{grid-column:1/-1}
#collectorRoot .video-catalog-step{display:none}}
@media(max-width:650px){#collectorRoot .video-discover-form{grid-template-columns:1fr 1fr}
#collectorRoot .video-discover-form button{grid-column:1/-1}
#collectorRoot .video-direct-input summary span{display:block;margin:5px 0 0}
#collectorRoot .video-catalog-table td,#collectorRoot .video-catalog-table th{padding:12px}
#collectorRoot .video-episodes-col{width:80px}
#collectorRoot .video-catalog-action-col{width:94px}
#collectorRoot .video-catalog .table-footer{gap:10px;flex-wrap:wrap}
#collectorRoot .video-advanced{flex-direction:column;align-items:flex-start}
#collectorRoot .video-advanced button{width:100%}}
#collectorRoot .browser-bridge{margin:0 0 20px;border-color:#e8d79c;overflow:hidden}
#collectorRoot .browser-bridge summary{display:flex;align-items:center;gap:14px;padding:17px 21px;cursor:pointer;list-style:none}
#collectorRoot .browser-bridge summary::-webkit-details-marker{display:none}
#collectorRoot .browser-bridge summary:before{content:'▸';color:var(--accent-ink)}
#collectorRoot .browser-bridge[open] summary:before{content:'▾'}
#collectorRoot .bridge-label{font-size:15px;font-weight:700}
#collectorRoot .bridge-summary{color:var(--muted);flex:1}
#collectorRoot .bridge-badge{background:var(--soft);border-radius:20px;padding:3px 10px;font-size:12px;color:var(--accent-ink)}
#collectorRoot .bridge-body{padding:0 22px 17px;border-top:1px solid var(--line)}
#collectorRoot .bridge-body p{margin:13px 0}
#collectorRoot .bridge-steps{padding-left:22px;color:var(--muted);line-height:1.9}
#collectorRoot .bridge-actions{display:flex;gap:9px;flex-wrap:wrap}
#collectorRoot .bridge-pairing{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:var(--soft);padding:11px 14px;border-radius:9px;margin-top:14px}
#collectorRoot .bridge-pairing[hidden]{display:none}
#collectorRoot .bridge-pairing strong{font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:2px;margin-left:5px}
#collectorRoot .bridge-status{font-size:13px;color:var(--accent-ink)}
#collectorRoot .bridge-status.bridge-error{color:var(--red)}
#collectorRoot .bridge-note{font-size:12px;color:var(--muted)}
@media(max-width:650px){#collectorRoot .browser-bridge summary{flex-wrap:wrap;gap:8px}
#collectorRoot .bridge-summary{order:4;flex-basis:100%;margin-left:18px}
#collectorRoot .bridge-badge{margin-left:auto}
#collectorRoot .bridge-body{padding:0 16px 13px}
#collectorRoot .bridge-pairing{gap:10px}}
#collectorRoot .pool-panel{margin:24px 0;padding:24px}
#collectorRoot .pool-panel summary{cursor:pointer;display:flex;gap:16px;align-items:center}
#collectorRoot .pool-panel summary strong{font-size:20px}
#collectorRoot .pool-panel summary span,#collectorRoot .pool-note{font-size:13px;color:var(--muted,#777)}
#collectorRoot .pool-panel>p{line-height:1.75}
#collectorRoot .pool-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#collectorRoot .pool-grid label{display:flex;flex-direction:column;gap:7px;font-size:14px}
#collectorRoot .pool-grid input,#collectorRoot .pool-grid select,#collectorRoot .pool-grid textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid #e5dfd2;border-radius:9px;background:#fffdf9;color:#24211b;font:inherit}
#collectorRoot .pool-grid input:disabled{background:#f4f2eb}
#collectorRoot .pool-wide{grid-column:1/-1}
#collectorRoot .pool-inline{display:flex;align-items:flex-end}
#collectorRoot .pool-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}
#collectorRoot .pool-actions a,#collectorRoot .pool-inline button{padding:10px 14px}
#collectorRoot .pool-target{background:#fff8d7;padding:18px;border-radius:10px;margin-top:20px;overflow-wrap:anywhere}
#collectorRoot .pool-target li{margin:5px 0}
#collectorRoot .pool-table{max-height:330px;overflow:auto;margin:18px 0;border:1px solid #ece7dc;border-radius:8px}
#collectorRoot .pool-table table{border-collapse:collapse;width:100%;font-size:14px}
#collectorRoot .pool-table td,#collectorRoot .pool-table th{text-align:left;padding:11px;border-bottom:1px solid #eee8dc}
#collectorRoot .pool-table th{background:#faf7ee;position:sticky;top:0}
#collectorRoot .pool-slice{display:flex;align-items:center;gap:8px}
#collectorRoot .pool-panel progress{width:100%;accent-color:#ffbf00}
#collectorRoot .pool-panel [hidden]{display:none!important}
#collectorRoot #poolStatus{padding:13px;border-radius:8px;background:#f6f3ea;line-height:1.6}
#collectorRoot .pool-error{color:#9b3e17!important;background:#faeee7!important}
@media(max-width:700px){#collectorRoot .pool-grid{grid-template-columns:1fr}
#collectorRoot .pool-wide{grid-column:auto}
#collectorRoot .pool-panel summary{align-items:flex-start;flex-direction:column;gap:6px}}
#collectorRoot .workspace-feature .feature-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:10px 0 22px}
#collectorRoot .feature-heading h2{font-size:28px;margin:8px 0}
#collectorRoot .feature-heading p{color:var(--muted);margin:0;line-height:1.7}
#collectorRoot .feature-tag{font-size:12px;font-weight:500;color:#896700;background:#fff4c7;border-radius:20px;padding:7px 12px;white-space:nowrap}
#collectorRoot .workspace-feature details.pool-panel>summary{margin-bottom:20px}
#collectorRoot .workspace-feature .cardtitle{margin-bottom:22px;gap:12px;display:flex;align-items:center}
#collectorRoot .upload-editor{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px}
#collectorRoot .upload-drafts{max-height:440px;overflow:auto;border:1px solid #eee8dc;border-radius:12px;background:#fcfbf7}
#collectorRoot .draft-item{display:block;width:100%;text-align:left;border:0!important;border-radius:0!important;background:transparent;padding:15px!important;border-bottom:1px solid #eee8dc!important;white-space:normal}
#collectorRoot .draft-item strong,#collectorRoot .draft-item small{display:block;overflow-wrap:anywhere}
#collectorRoot .draft-item small{font-size:12px;color:var(--muted);line-height:1.5;margin-top:6px}
#collectorRoot .draft-item.active{background:#fff3ba!important;box-shadow:inset 3px 0 #ffc400}
#collectorRoot .upload-preview-head{display:flex;gap:24px;margin-top:26px;padding-top:24px;border-top:1px solid #e8e3d8;align-items:stretch}
#collectorRoot .upload-preview-head .pool-target{margin:0;flex:1;min-width:0}
#collectorRoot .cover-zoom{padding:8px!important;width:140px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;background:#faf7ed;gap:8px}
#collectorRoot .cover-zoom img{width:120px;height:166px;object-fit:contain;background:white}
#collectorRoot .cover-zoom span{font-size:12px;color:#8e7042}
#collectorRoot .pool-table td{vertical-align:top;overflow-wrap:anywhere}
#collectorRoot .pool-table td small{display:block;max-width:420px;color:var(--muted);font-size:12px;line-height:1.6;margin-top:5px}
#collectorRoot .queue-state{display:inline-block;font-size:12px;padding:4px 8px;border-radius:8px;background:#f3f0e7;white-space:nowrap}
#collectorRoot .queue-state.failed{color:#a44022;background:#fbece5}
#collectorRoot .queue-state.uploaded,#collectorRoot .queue-state.submitted{color:#266745;background:#e7f3e9}
#collectorRoot .queue-state.uploading{color:#977000;background:#fff2bd}
#collectorRoot .empty-note{padding:24px!important;color:var(--muted);line-height:1.7}
#collectorRoot .library-picker{border:1px solid #e7e0cf;border-radius:12px;padding:16px}
#collectorRoot .library-picker>div:last-child{max-height:260px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px}
#collectorRoot .library-picker label{display:flex;align-items:center;gap:10px;padding:10px;background:#fbfaf6;border-radius:8px}
#collectorRoot .workspace-status{position:sticky;bottom:0;background:#fffdf6ef;backdrop-filter:blur(8px);border:1px solid #e9dfc7;border-radius:12px;padding:8px 16px;box-shadow:0 6px 18px #34250b0a;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#collectorRoot .workspace-status p{flex:1;min-width:200px;margin:8px 0;padding:8px!important;font-size:14px}
#collectorRoot .workspace-status progress{width:100%;height:6px;accent-color:#ffc400}
#collectorRoot .workspace-feature [hidden]{display:none!important}
#collectorRoot .upload-cover-dialog{max-width:80vw;max-height:90vh;padding:28px;border:1px solid #eee2c2;border-radius:16px;background:#fffcf2}
#collectorRoot .upload-cover-dialog img{display:block;max-width:70vw;max-height:80vh;object-fit:contain}
#collectorRoot .upload-cover-dialog::backdrop{background:#16130fbf}
#collectorRoot .upload-cover-dialog .dialog-close{position:absolute;right:5px;top:5px;padding:4px 10px}
#collectorRoot .tg-proxy{margin-top:20px}
#collectorRoot .tg-proxy summary{cursor:pointer;margin-bottom:16px}
#collectorRoot .tg-table{max-height:520px}
#collectorRoot .tg-table details p{white-space:pre-wrap;max-width:600px;max-height:200px;overflow:auto;font-size:13px;line-height:1.7}
#collectorRoot .tg-table summary{font-size:12px;color:#947200;cursor:pointer;margin-top:8px}
#collectorRoot #tgStatus.pool-error{padding:10px;border-radius:8px}
#collectorRoot .workspace-feature .pool-panel{margin:0 0 22px}
@media(max-width:1000px){#collectorRoot .upload-editor{grid-template-columns:1fr}
#collectorRoot .upload-drafts{max-height:200px;display:grid;grid-template-columns:1fr 1fr}
#collectorRoot .feature-heading{align-items:flex-start!important}
#collectorRoot .feature-heading>.feature-tag{display:none}}
@media(max-width:650px){#collectorRoot .upload-preview-head{gap:12px;flex-direction:column}
#collectorRoot .library-picker>div:last-child{grid-template-columns:1fr}
#collectorRoot .upload-drafts{grid-template-columns:1fr}}
@media(min-width:981px){#collectorRoot .sidebar{position:sticky;top:0;height:100vh;box-sizing:border-box;overflow-y:auto;align-self:start;gap:22px}
#collectorRoot .sidebar .recent-books{min-height:60px;overflow:auto;flex:1}
#collectorRoot .sidebar .navbutton{padding:11px 12px}
#collectorRoot .sidebar .sidebarfoot{margin-top:auto}}
#collectorRoot .tg-network{ margin:20px 0; padding:20px; border:1px solid #e8dfcd; border-radius:14px; background:#fffcf4; }
#collectorRoot .tg-network h3{ margin:0 0 10px; font-size:18px; }
#collectorRoot .tg-network [hidden]{ display:none !important; }
#collectorRoot .tg-network-result{ margin:16px 0 4px; padding:16px 18px; background:#f0f8ef; border:1px solid #bdd3b7; border-radius:12px; overflow-wrap:anywhere; }
#collectorRoot .tg-network-result.failed{ background:#fff1e8; border-color:#edc3a5; }
#collectorRoot .tg-network-result p{ margin:8px 0; }
#collectorRoot .tg-network-result ul{ margin:8px 0; padding-left:24px; }
#collectorRoot .tg-network-result small{ color:#766b56; }
#collectorRoot .tg-login-state{ margin:12px 0 20px; padding:14px 18px; background:#fff6d4; border:1px solid #ead38a; border-radius:12px; line-height:1.6; }
#collectorRoot .tg-login-state p{ margin:6px 0 0; color:#776544; font-size:13px; }
#collectorRoot #tgAccount .pool-inline{ flex-wrap:wrap; gap:8px; }
#collectorRoot .upload-type-tabs{display:flex;gap:8px;margin:0 0 22px;padding:6px;background:#eae6dc;border-radius:14px;width:fit-content}
#collectorRoot .upload-type-tabs button{border:0;background:transparent;padding:12px 24px}
#collectorRoot .upload-type-tabs button.active{background:#171713;color:#ffc400;box-shadow:0 2px 6px #21180020}
#collectorRoot .manga-import-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
#collectorRoot .manga-import-grid button{text-align:left;padding:18px;white-space:normal;background:#fffcf2;border:1px solid #e8dfc6;border-radius:12px}
#collectorRoot .manga-import-grid strong,#collectorRoot .manga-import-grid small{display:block}
#collectorRoot .manga-import-grid small{margin-top:8px;color:#837864;line-height:1.6;font-weight:400}
#collectorRoot .upload-format{margin:14px 0;font-size:13px}
#collectorRoot .upload-format summary{cursor:pointer;color:#806200;font-size:14px}
#collectorRoot .upload-format pre{background:#f7f5ef;border:1px solid #e8e3d8;border-radius:10px;padding:16px;max-height:260px;overflow:auto;font:13px/1.8 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:1100px){#collectorRoot .manga-import-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#collectorRoot .manga-import-grid{grid-template-columns:1fr}
#collectorRoot .upload-type-tabs button{padding:10px 16px}}
#collectorRoot .manga-rules{border-top:1px solid #ebe4d4;margin-top:22px;padding-top:20px}
#collectorRoot .manga-rules summary{cursor:pointer;font-weight:600;margin-bottom:18px}
#collectorRoot .manga-rules summary small{color:#8c7a57;font-weight:400;margin-left:12px}
#collectorRoot .manga-rules .pool-slice{margin-top:18px}
#collectorRoot .manga-range{width:85px;padding:9px;border:1px solid #e5dfd2;border-radius:8px;background:#fffdf9}
#collectorRoot .manga-table{max-height:520px}
#collectorRoot .manga-preview-images{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
#collectorRoot .manga-preview-images button{width:180px;padding:10px;display:flex;flex-direction:column;gap:8px;align-items:center}
#collectorRoot .manga-preview-images img{max-width:160px;height:220px;object-fit:contain}
#collectorRoot .manga-preview-images small{line-height:1.6;color:#8c7a57}
#collectorRoot #mangaCoverStatus{font-size:13px;line-height:1.6}
#collectorRoot #mangaImageDialog{overflow:auto}
#collectorRoot #mangaImageLarge{max-height:none;max-width:70vw}
#collectorRoot #mangaStatus{line-height:1.6}
#collectorRoot #mangaRows td:nth-child(3){max-width:420px}
#collectorRoot .manga-access{margin:20px 0 4px;padding:20px;border:1px solid #dfc676;border-radius:12px;background:#fff8df;line-height:1.7;overflow-wrap:anywhere}
#collectorRoot .manga-access.ready{border-color:#b8d0b1;background:#f1f8ee}
#collectorRoot .manga-access strong{font-size:18px}
#collectorRoot .manga-access p{margin:10px 0}
#collectorRoot .manga-access li{margin:8px 0}
#collectorRoot .manga-access .pool-actions{margin-bottom:0}
#collectorRoot #mangaAccessMeta{font-size:13px;color:#7b7057}
#collectorRoot .manga-browser-steps{padding-left:24px;line-height:1.8;color:#4c463a}
#collectorRoot .manga-browser-steps li+li{margin-top:7px}
#collectorRoot .manga-extension-entry .pool-actions{flex-wrap:wrap}
#collectorRoot{--accent:#ffc30d;--green:#ffc30d;--accent-ink:#171717;--soft:#fff7d6;--ink:#202020;--muted:#777;--bg:#f5f5f2;--line:#e6e3d8}
#collectorRoot .primary{background:#ffc30d;border-color:#ffc30d;color:#111}
#collectorRoot .primary:hover{background:#e6ac00;color:#111}
#collectorRoot .hide{display:none!important}
#collectorRoot .collector-shelf{margin-bottom:16px;background:white;padding:14px;border:1px solid #e6e3d8;border-radius:10px}
#collectorRoot .feature-heading{margin-top:0}
#collectorRoot .stats{display:flex;grid-template-columns:none;margin:12px 0 0}
#collectorRoot .card{box-shadow:none}
#collectorRoot .toast{display:none;position:fixed;bottom:25px;left:50%;background:#171717;color:white;padding:12px 20px;z-index:100}
#collectorRoot .toast.show{display:block}
