:root{--ink:#274332;--green:#315b3b;--paper:#e8e9df;--line:#d0d8bf}
body{font-family:"Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:radial-gradient(ellipse at 10% 0%,#cbd6bd70,transparent 45%),radial-gradient(ellipse at 98% 88%,#b9c9a660,transparent 38%),#e7e8dc}
header{background:linear-gradient(105deg,#173e2c,#254c36 65%,#304e36);border-color:#697348;box-shadow:0 3px 14px #233e2220;color:#f0edda;height:54px;padding:0 max(28px,calc((100vw - 1190px)/2))}
.logo{display:flex;align-items:center;gap:10px;color:#f0edda;font-size:24px;white-space:nowrap}.logo:before{content:'序';display:grid;place-items:center;width:30px;height:31px;border:1px solid #8c9e6f;border-radius:9px;background:#314e36;color:#d7c89a;font-size:21px;box-shadow:inset 0 1px 4px #112e2033}.logo span{color:#b4c2a4;font-size:9px;margin-left:0}header small{color:#b7c5ae;font-size:11px}header .btn.secondary{border-color:#657a55;background:#426047;color:#e0e3cb;font-size:12px;padding:6px 12px}
main{max-width:1240px;padding:20px 24px 28px}.panel{background:linear-gradient(125deg,#faf7ed,#f7f5e9);border-color:#cbd2bb;box-shadow:0 7px 23px #2a412313,inset 0 1px 0 #ffffffb3;border-radius:21px}
#setup{--green:#315b3b;--ink:#274332;--line:#d0d8bf}#setup>.grid{grid-template-columns:minmax(0,1fr) 335px;align-items:stretch;gap:22px}#setup .hero{margin-bottom:18px}#setup h1{color:#23472f;font-size:31px;letter-spacing:1px}#setup .hero p{color:#77816a}#setup .badge{background:#f1eedf;border-color:#cdd1b8;color:#667347;font-size:11px}#setup>.grid>.panel{padding:21px 23px 17px}#setup h2{color:#284a33}
.btn{background:linear-gradient(110deg,#254e33,#326040);color:#f3edd9;box-shadow:0 3px 8px #22422a16}.btn.secondary{background:#edf1e1;border:1px solid #cad5b8;color:#4c6941;box-shadow:none}.btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8c9865;outline-offset:3px}
.library-search{margin-top:8px}.library-search input{background:#e9ecdc;border-color:#d3dac2;color:#526544;box-shadow:inset 0 1px 3px #425a2e08;font-size:12px;padding-top:9px;padding-bottom:9px}.library-search input::placeholder{color:#839071}.library-search>span{color:#6c8157}.last-practice{color:#78846b!important;font-size:11px!important;margin:4px 0 8px!important}.library-tabs{margin:10px 0}.library-tab{font-size:11px;color:#758364}.library-tab.active{background:#cfdcbd;color:#385837}.library-scroll{height:166px;scrollbar-color:#71895a #dfe4d1}#setup #lists .list{background:linear-gradient(125deg,#f1f2e5,#e9eddb);border-color:#d2dac3;min-height:77px;padding:10px 12px}#setup #lists .list:has(input:checked){background:linear-gradient(115deg,#ceddbb,#e1e7cf);border-color:#708a55;box-shadow:inset 3px 0 0 #4d713c,0 2px 5px #36552b0b}#setup #lists .list strong{color:#335437}#setup #lists .list small{color:#7d8c68;font-size:10px}#setup #lists .list em{color:#7e9069}.library-selection{border-color:#d3dbc0}.selection-chip{background:#dfe7ce;border-color:#bfcda9;color:#587447}.selection-label,.selection-total{color:#718161}
#setup .practice-books .bar{margin-bottom:10px}#setup .practice-books{margin-top:13px}#setup .practice-books h2{font-size:14px}#setup #openImport{border:1px solid #78865c;border-radius:10px;background:linear-gradient(110deg,#28513b,#365d40);color:#fff3da;padding:9px 16px;font-size:12px;font-weight:600;box-shadow:0 3px 8px #25482d20}#setup #openImport span{font-size:16px;margin-left:13px;font-weight:400}
#setup .book-card{background:linear-gradient(115deg,#dfe6ce,#edf0df);border-color:#c0cdaa;box-shadow:inset 0 1px 0 #ffffff80;padding:11px 12px}#setup .book-card:has(#mistakeBook){background:linear-gradient(115deg,#ece2cc,#f2ebdc);border-color:#d7c7a5}#setup .book-symbol{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#c9d5b3;color:#54723c;flex-shrink:0}#setup .book-card:has(#mistakeBook) .book-symbol{background:#e0cfaa;color:#8f7148}#setup .book-card .muted{color:#7b896b}#setup .book-card strong{color:#3e5c37}#setup .book-card small{font-size:10px;color:#6d8059}.library-caption{color:#8b957b;font-size:10px}.library-help:not([open]){margin:6px 0 0}.library-help,.playback-help{color:#7c8b69}
#setup #confusionDetails{margin-top:13px}#confusionGroupSummary{color:#60794c;font-size:11px}#confusionDetails>p{font-size:10px;margin:5px 0;color:#8b9877}#confusionGroups{height:132px;max-height:132px;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:128px;gap:10px;margin-top:8px;padding-right:7px;scrollbar-color:#71895a #dfe4d1}.confusion-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:0 12px;background:linear-gradient(120deg,#f4f3e7,#edf0df);border-color:#cbd5b7;padding:10px 12px;overflow:auto}.confusion-card-head{grid-column:1/-1;margin-bottom:9px;color:#82946d}.confusion-card-head strong,.confusion-card-head small{font-size:10px}.confusion-word{border-top:0;padding:0;min-width:0}.confusion-word:nth-child(odd){border-left:1px solid #d7dfc7;padding-left:12px}.confusion-word>div{display:block}.confusion-word b{font:600 22px/1.2 Georgia,serif;color:#3c6135}.confusion-word small{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;margin-top:3px}.confusion-word p{font-size:10px;color:#7c8d67;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0}.confusion-card:has(.confusion-word:nth-child(4)){grid-auto-rows:auto}.confusion-card:has(.confusion-word:nth-child(4)) .confusion-word{padding-top:4px}#confusionGroups>p{margin:3px 0}
.settings-column{display:flex;flex-direction:column;gap:16px}#setup .settings-column>.panel{padding:18px 20px}#setup .settings-column>.panel h2{font-size:16px}#setup .mode-buttons{border:1px solid #b9c9a2;border-radius:9px;padding:3px;gap:3px;background:#dfe6cd;margin-bottom:12px}#setup .mode-buttons .btn{background:transparent;border-radius:6px;color:#7a8965;font-size:10px;padding:6px 3px}#setup .mode-buttons [aria-pressed=true]{background:#315b3b;color:#f6f0d8;box-shadow:0 2px 4px #25412925}#setup .timing-controls{background:linear-gradient(115deg,#dfe6ce,#e9edda);border:1px solid #c7d2b2;padding:9px 10px;margin-bottom:9px}#setup .timing-controls strong{color:#567047;font-size:11px}#setup .timing-fields select{background:#f7f5e9;border-color:#cbd5b6;color:#657a52;font-size:11px}#setup .timing-controls p{color:#7f9069;font-size:10px}#setup .audio-preview h2{display:none}#setup #serviceStatus{font-size:10px;color:#7c8b69}#setup #testAudio{background:linear-gradient(100deg,#ccdab5,#dce6c8);border:1px solid #b7c99b;color:#4c6c38;font-size:12px;padding:10px}#setup .audio-preview{padding-top:0}
#setup .settings-column>.article-entry{position:relative;overflow:hidden;display:flex;flex:1;min-height:238px;margin:0;padding:23px 24px;border:1px solid #758354;border-radius:21px;background:linear-gradient(130deg,#244b33,#355737 68%,#46603c);text-align:left;align-items:flex-start;box-shadow:0 6px 19px #233b2220}#setup .settings-column>.article-entry>span:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:0;position:relative;z-index:1}#setup .article-entry .story-kicker{font-size:9px;letter-spacing:2px;color:#c0c9a0;margin-bottom:13px;font-style:normal}#setup .article-entry strong{font-size:27px;line-height:1.3;letter-spacing:1px;color:#f2ebcc}#setup .article-entry small{font-size:11px;line-height:1.9;color:#c0cba5;margin-top:13px;max-width:200px}#setup .article-entry .story-cta{font-size:11px;color:#e1ddba;border:1px solid #8f9b6e;border-radius:8px;padding:7px 12px;margin-top:20px;font-style:normal}#setup .settings-column>.article-entry>span:last-child{position:absolute;right:-13px;bottom:18px;font:italic 130px Georgia,serif;color:#9bad6c26;transform:rotate(-12deg)}#setup .settings-column>.article-entry>span:last-child:after{content:none}
.audio-preparation{padding:9px 12px;margin-top:10px;background:#e9eddb;border-color:#cbd5b7;border-radius:11px}.audio-preparation .bar{align-items:center}.audio-preparation strong{font-size:11px}.audio-preparation p{font-size:10px;margin:3px 0;color:#647d50}.audio-preparation progress{margin:5px 0;height:4px}.audio-preparation>small{display:none}.audio-preparation .prep-link{font-size:10px}.audio-preparation details{font-size:10px}.prep-link:hover{text-decoration:underline}
.stage{background:linear-gradient(125deg,#fffcf3,#f8f6eb)}.note{background:#e6ecd6;color:#5c724a}.article-body mark{background:#dce6c6}.article-sources .list:has(input:checked){background:#dfe8ce}.reading-zh{background:#ecf0df;border-color:#a6bc8b}.muted{color:#7b896e}
/* Word library: the same shell, with a scrollable folder pane and word table. */
.manage-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.manage-heading h1{font-size:30px;letter-spacing:0;margin:5px 0}.manage-heading p{font-size:12px;margin:0;color:#7d8c6c}.manage-heading .eyebrow{font-size:10px;color:#839470}.manager-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px}.manager-sidebar{padding:18px 14px;display:flex;flex-direction:column;min-height:520px}.manager-sidebar h2{font-size:16px;margin:0 5px 12px}.manager-search{width:100%;border:1px solid #cbd5b8;background:#ecf0df;border-radius:9px;padding:9px 11px;font-size:12px;color:#587044;min-width:0}.manager-folders{flex:1;max-height:420px;overflow:auto;margin:10px 0;scrollbar-width:thin;scrollbar-color:#8c9e70 #e9eddb}.manager-category{font-size:10px;color:#869675;margin:14px 8px 6px}.manager-folder{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:10px;border:1px solid transparent;border-radius:10px;background:transparent;color:#607c4e;font-size:12px;margin-bottom:4px}.manager-folder b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;flex:1}.manager-folder small{font-size:10px;color:#7f936c}.manager-folder.active{background:linear-gradient(120deg,#d4dfc1,#e2e8d1);border-color:#9caf84;box-shadow:inset 3px 0 0 #587644;color:#405f33}.manager-new{border:1px dashed #9daf83;background:#eef2e1;color:#617e4d;border-radius:9px;padding:9px;font-size:12px}.manager-workspace{padding:23px;min-width:0}.manager-top{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.manager-titleline{display:flex;align-items:center;gap:12px}.manager-titleline h2{font-size:23px;margin:0;overflow-wrap:anywhere}.manager-top .muted{font-size:11px;margin-top:5px}.manager-top .btn{font-size:12px;padding:9px 13px;white-space:nowrap}.manager-rename{font-size:11px;padding:4px 7px;border:1px solid #c8d6b3;border-radius:6px;background:#eaf0db;color:#718b57;white-space:nowrap}.manager-searchbar{display:flex;gap:10px;margin:18px 0 12px}.manager-searchbar select{margin:0;width:120px;font-size:12px;background:#f5f5e8}.manager-selection{display:flex;gap:8px;align-items:center;border:1px solid #c8d6b3;background:#e4ecd5;padding:8px 11px;border-radius:9px;font-size:12px;flex-wrap:wrap}.manager-selection>span{margin-right:auto;color:#587643}.manager-selection .btn{padding:5px 10px;font-size:11px}.manager-selection .btn:disabled{opacity:.45}.manager-table-scroll{height:355px;overflow:auto;scrollbar-width:thin;scrollbar-color:#81976a #e5ead7;margin-top:10px}.manager-table{width:100%;border-collapse:collapse;font-size:12px}.manager-table th{text-align:left;padding:10px 9px;position:sticky;top:0;background:#f4f3e5;color:#899b73;font-size:10px;font-weight:500;z-index:1}.manager-table td{padding:11px 9px;border-bottom:1px solid #e0e5d1;color:#6c8058}.manager-table td:first-child{width:32px}.manager-table .manager-word{font:600 19px Georgia,serif;color:#395f37}.manager-table .manager-meaning{max-width:330px;overflow-wrap:anywhere}.manager-table tr:has(input:checked){background:#e8efda}.manager-table input{width:14px;height:14px}.manager-tag{display:inline-block;border:1px solid #c7d6af;border-radius:5px;background:#e5edd6;color:#769258;font-size:10px;padding:2px 5px;margin:2px;white-space:nowrap}.manager-tag.warm{background:#f0e5cf;border-color:#ddcda7;color:#9a7c50}.manager-footer{font-size:11px;color:#859574;margin:12px 0 0}.manager-status{font-size:12px;min-height:20px;color:#527444;margin:8px 0}.manager-empty{padding:60px 20px;text-align:center;color:#839371;font-size:13px}.manager-import{margin:15px 0;padding:14px 16px;border:1px solid #c9d6b3;border-radius:12px;background:#eef1df}.manager-import p{font-size:11px}.manager-import input,.manager-import textarea,.manager-import select{border:1px solid #c5d3af;border-radius:8px;background:#fcfaf0;padding:9px;color:#49633e;font-size:12px}.manager-import input{width:100%}.manager-import textarea{min-height:100px}.manager-import select{width:100%;margin:8px 0}.manager-import label{font-size:11px;color:#718761}.manager-import .btn{font-size:12px}.manager-modal{position:fixed;inset:0;z-index:500;background:#17382255;display:grid;place-items:center;padding:20px;backdrop-filter:blur(3px)}.manager-dialog{width:390px;max-width:100%;padding:24px;border:1px solid #b8cba2;border-radius:19px;background:linear-gradient(125deg,#fffdf1,#f3f4e3);box-shadow:0 20px 60px #1b392e40}.manager-dialog h2{font-size:20px;margin:0 0 8px}.manager-dialog p,.manager-dialog label{font-size:12px;color:#7c9167}.manager-dialog input,.manager-dialog select{width:100%;background:#f8f8ed;border:1px solid #bdcfa5;border-radius:8px;padding:9px;color:#45643b}.manager-dialog .actions{justify-content:flex-end;margin-top:20px}.manager-dialog .btn{font-size:12px;padding:8px 14px}.manager-dialog .error{font-size:12px;min-height:18px}.manager-dialog .transfer-note{font-size:11px;border-top:1px dashed #cad7b7;padding-top:10px;margin-top:12px}
@media(max-width:1000px){#setup>.grid{grid-template-columns:minmax(0,1fr) 300px}#setup #lists{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-grid{grid-template-columns:200px minmax(0,1fr)}.manager-workspace{padding:18px}#setup .book-symbol{width:25px;height:29px;font-size:20px}#setup .book-card{gap:7px}#setup .book-card .muted{white-space:normal}}
@media(max-width:760px){header{padding:0 20px}.logo span{display:none}main{padding:20px 15px}#setup>.grid{grid-template-columns:1fr}#setup h1{font-size:27px}.settings-column{gap:14px}#setup .settings-column>.article-entry{min-height:245px}#setup #confusionGroups{grid-template-columns:1fr;height:132px;max-height:132px}.manager-grid{grid-template-columns:1fr}.manager-sidebar{min-height:0;padding:15px}.manager-folders{max-height:145px}.manager-workspace{padding:18px 14px}.manage-heading h1{font-size:25px}.manage-heading{align-items:flex-start}.manage-heading>.btn{font-size:11px;white-space:nowrap;padding:8px 10px}.manager-top{flex-wrap:wrap}.manager-table-scroll{height:370px}.manager-table td{padding:10px 6px}.manager-table .manager-word{font-size:16px}.manager-meaning{font-size:11px}.manager-tag{font-size:9px}.manager-titleline h2{font-size:21px}#setup .book-card{gap:6px}.library-selection{flex-wrap:wrap}.selection-total{margin-left:auto}.audio-preparation .bar{flex-wrap:wrap}.manager-searchbar{flex-wrap:wrap}.manager-searchbar select{width:100%}}

#audioPreparationPanel[data-state=ready]{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 8px;padding:7px 11px}#audioPreparationPanel[data-state=ready] .bar{display:contents}#audioPreparationPanel[data-state=ready] .bar>strong{grid-column:1;grid-row:1}#audioPreparationPanel[data-state=ready] .bar>div{grid-column:2;grid-row:1/3}#audioPreparationPanel[data-state=ready]>p{grid-column:1;grid-row:2;margin:1px 0}#audioPreparationPanel[data-state=ready]>progress{display:none}#confusionGroups{height:112px;max-height:112px;grid-auto-rows:108px}@media(max-width:760px){#setup #confusionGroups{height:112px;max-height:112px}}

.confusion-card{overflow:hidden;padding-top:8px;padding-bottom:8px}.confusion-card:has(.confusion-word:nth-child(4)){overflow:auto}
header{gap:20px}header>small{margin-left:auto;text-align:right}
body:has(#setup:not(.hidden)) header #home{display:none}

.manager-titleline{flex-wrap:wrap;gap:9px}.manager-danger{color:#8d6b4a!important}.manager-trash{font-size:11px;margin-top:15px;color:#7c8c6d;border-top:1px dashed #cad5b8;padding-top:12px}.manager-trash summary{cursor:pointer}.manager-trash-item{display:flex;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #dce3cf}.manager-trash-item span{flex:1;min-width:0;overflow-wrap:anywhere}.manager-trash-item button{border:1px solid #bdcda7;background:#e8efdb;border-radius:6px;padding:3px 7px;color:#55733f;font-size:11px;flex-shrink:0}#managerTrashItems{max-height:220px;overflow:auto;scrollbar-width:thin}#managerTrashItems p{font-size:11px;color:#8b997c}
