@keyframes spin{to{transform:rotate(360deg)}}.vue-topbar{position:relative;z-index:2000;min-height:68px;background:#fbfaf7db;border-bottom-color:#d2dbe5c2;box-shadow:0 10px 30px #19202b0d;transition:transform .25s ease}.vue-topbar.reader-route-topbar{position:sticky;top:0;z-index:2500}.vue-topbar.reader-mobile-topbar-hidden{transform:translateY(calc(-100% - 8px));pointer-events:none}.vue-topbar .topbar-left,.vue-topbar .topbar-center,.vue-topbar .nav{min-width:0}.vue-topbar .nav{gap:7px;overflow:visible;flex-wrap:wrap;scrollbar-width:none}.vue-topbar .nav::-webkit-scrollbar{display:none}.vue-topbar .button,.brand-button{border-radius:8px}.button,.summary-chip,.status-chip,.vue-tag-icon,.vue-more-button{transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.button:hover,.summary-chip:hover,.status-chip:hover,.vue-tag-icon:hover,.vue-more-button:hover{transform:translateY(-1px)}.vue-nav-menu{position:relative;flex:0 0 auto;display:flex;align-items:center}.vue-dropdown-button{display:flex;align-items:center;gap:6px;padding:5px 12px 5px 10px;border:1px solid rgba(0,0,0,.12);border-radius:24px;background:var(--bg);color:var(--text);font-size:.88rem;font-family:inherit;font-weight:400;cursor:pointer;white-space:nowrap;box-shadow:none;transition:border-color .15s,background .15s}.vue-dropdown-button:hover{border-color:#3898c980;background:#3898c90f;transform:none;box-shadow:none}.vue-dropdown-button span{font-size:11px;line-height:1}.vue-dropdown-button[aria-expanded=true] span{transform:rotate(180deg)}.vue-nav-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:2100;display:grid;gap:6px;min-width:110px;padding:8px;border:1px solid #e1e8f2;border-radius:8px;background:var(--surface);box-shadow:0 14px 34px #18274b29;animation:vue-popover-in .14s ease-out}.vue-nav-popover .button{width:100%;min-height:34px;justify-content:flex-start;border-color:transparent;background:transparent}.vue-nav-popover .button:hover,.vue-nav-popover .button.active{border-color:#c9e8fc;background:#eef8fe;color:var(--blue-deep);transform:none}@keyframes vue-popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.brand-button{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 16px 0 12px;border:none;background:transparent;color:var(--text);font-weight:800;cursor:pointer}.brand-logo{flex-shrink:0;width:29px;height:29px}.brand-text{font-size:1.37rem;font-weight:800;letter-spacing:.5px}.vue-page-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:10px 0 18px;padding:24px 26px;border:1px solid #dce3ea;border-radius:8px;background:linear-gradient(135deg,#fffffff5,#f9f7f3f0),linear-gradient(90deg,#2f87b424,#34865a1a);box-shadow:0 14px 36px #19202b12}.vue-page-hero.compact{padding:20px 24px}.vue-page-hero h1{margin:4px 0 0;font-size:30px;line-height:1.15;font-weight:850;color:var(--text)}.vue-page-hero p{margin:8px 0 0;color:var(--text-secondary);font-size:14px}.vue-kicker{display:inline-flex;align-items:center;min-height:22px;color:var(--blue-deep);font-size:12px;font-weight:800;text-transform:uppercase}.vue-toolbar{align-items:center;padding:12px;border:1px solid #e5ebf4;border-radius:8px;background:#ffffffc7;box-shadow:var(--shadow-sm)}.vue-toolbar .bulk-actions{padding:0 4px}.bookstore-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.bookstore-toolbar .summary-chip.active{border-color:var(--blue-strong);background:#eef8fe;color:var(--blue-deep)}.vue-bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vue-check-row{display:inline-flex;align-items:center;gap:6px;font-weight:800}.vue-loading,.vue-empty{padding:42px;border:1px solid #e5ebf4;border-radius:8px;background:#ffffffbf;color:var(--muted);text-align:center}.vue-form-grid{display:grid;gap:14px}.vue-form-grid label{display:grid;gap:6px;color:var(--text-secondary);font-size:13px}.vue-form-grid input,.vue-form-grid textarea,.vue-form-grid select{min-height:40px;padding:8px 12px;border:1px solid var(--line-light);border-radius:var(--radius);background:var(--surface);transition:border-color .18s,box-shadow .18s,background .18s}.vue-select-field{position:relative;gap:8px;font-weight:700}.vue-select-field select{min-height:46px;padding:0 42px 0 14px;border-color:#d7e2ee;background-color:#fff;background-image:none;color:var(--text);font-weight:600;box-shadow:0 6px 18px #18274b0a}.vue-select-field:after{content:"";position:absolute;right:14px;bottom:18px;width:8px;height:8px;border-right:2px solid var(--text-secondary);border-bottom:2px solid var(--text-secondary);pointer-events:none;transform:rotate(45deg)}.vue-select-field:hover select{border-color:var(--blue-strong);background-color:#f8fcff}.vue-custom-select-label{display:grid;gap:8px;color:var(--text-secondary);font-size:13px;font-weight:700}.vue-custom-select{position:relative}.vue-custom-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;padding:0 14px;border:1px solid #d7e2ee;border-radius:8px;background:#fff;color:var(--text);cursor:pointer;font:inherit;font-weight:700;box-shadow:0 6px 18px #18274b0a;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.vue-custom-select-trigger:hover{border-color:var(--blue-strong);background:#f8fcff}.vue-custom-select-trigger span{color:var(--text-secondary);font-size:11px}.vue-custom-select-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:80;display:grid;gap:6px;padding:8px;border:1px solid #dbe6f2;border-radius:8px;background:var(--surface);box-shadow:0 16px 38px #18274b29;animation:vue-popover-in .14s ease-out}.vue-custom-select-menu button{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-weight:650;text-align:left}.vue-custom-select-menu button:hover,.vue-custom-select-menu button.active{border-color:#c9e8fc;background:#eef8fe;color:var(--blue-deep)}.vue-custom-select-menu button.active:after{content:"已选";color:var(--blue-deep);font-size:11px;font-weight:800}.vue-form-grid select,.terms-search-form select,.bookshelf-filters select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.vue-form-grid input:focus,.vue-form-grid textarea:focus,.vue-form-grid select:focus,.terms-search-form input:focus,.terms-search-form select:focus{border-color:var(--blue-strong);background:#fff;box-shadow:0 0 0 3px #3898c91f;outline:none}.vue-file-field{position:relative;display:grid;gap:4px;min-height:48px;place-items:center;padding:12px 14px;border:1px dashed #b9c9dc;border-radius:8px;background:linear-gradient(180deg,#fff,#f7fbfe);color:var(--blue-deep);cursor:pointer;font-size:14px;font-weight:700;text-align:center;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.vue-file-field.large{min-height:116px;padding:22px 18px}.vue-file-field span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vue-file-field small{color:var(--muted);font-size:12px;font-weight:500}.vue-file-field:hover{border-color:var(--blue-strong);background:#eef8fe;box-shadow:0 8px 20px #3898c91a;transform:translateY(-1px)}.vue-file-field.compact{min-height:40px;padding:8px 12px;border-style:solid;white-space:nowrap}.vue-file-field input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.vue-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.vue-reader-top-spacer{width:112px}.page-shell.bookshelf-cards,.page-shell.bookshelf-table,.page-shell.terms-shell,.page-shell{max-width:1440px;animation:vue-page-in .22s ease-out}.page-shell.terms-shell{width:min(1180px,calc(100vw - 40px));margin:24px auto 56px;padding:0}.page-shell.bookshelf-table{width:min(1440px,calc(100vw - 40px));margin:24px auto 56px}@keyframes vue-page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.book-list{gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.book-row{position:relative;border-radius:8px;background:linear-gradient(135deg,#fff,#f9fbfe)}.book-row.selected{border-color:var(--blue-strong);box-shadow:0 0 0 3px #3898c924,0 10px 28px #18274b12}.vue-book-select{position:absolute;top:12px;left:12px;z-index:8;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line-light);border-radius:8px;background:#ffffffeb;box-shadow:0 8px 18px #18274b1f}.vue-book-select input{width:16px;height:16px}.store-add-button{align-self:flex-start;width:fit-content;margin:2px 0 4px}.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.book-row:after{display:none}.book-row:before{content:none!important;display:none!important}.book-cover{border-radius:5px 8px 8px 5px}.book-title-row h2{font-size:17px}.book-footer{justify-content:flex-start;flex-wrap:wrap}.vue-card-actions{position:absolute;top:10px;right:10px;z-index:20}.vue-more-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:8px;background:#ffffffc2;color:var(--text-secondary);cursor:pointer;font-size:17px;font-weight:800;line-height:1}.vue-more-button:hover{border-color:var(--line);background:var(--surface);color:var(--text)}.vue-card-menu{position:absolute;top:38px;right:0;display:grid;gap:6px;width:132px;padding:8px;border:1px solid #e1e8f2;border-radius:8px;background:var(--surface);box-shadow:0 14px 34px #18274b29;animation:vue-popover-in .14s ease-out}.vue-card-menu .button{width:100%;min-height:34px;padding:0 10px;justify-content:flex-start;border-color:transparent;background:transparent}.vue-card-menu .button:hover{border-color:#dbeafe;background:#eef8fe;color:var(--blue-deep);transform:none}.vue-card-menu .button.danger:hover{border-color:#fecaca;background:#fff0f3;color:var(--red-strong)}.vue-book-tags{cursor:pointer}.vue-book-tags:hover .book-tag-chip,.vue-book-tags:hover .tag-category-btn{border-color:var(--blue-strong);background:var(--blue);color:var(--blue-deep)}.vue-tag-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a57;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.vue-tag-panel{width:min(680px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;padding:22px;border:1px solid #e1e8f2;border-radius:8px;background:var(--surface);box-shadow:0 24px 70px #0f172a3d}.vue-tag-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line-light)}.vue-tag-header h2,.vue-tag-header p{margin:0}.vue-tag-header h2{font-size:20px}.vue-tag-header p{margin-top:4px;color:var(--muted);font-size:13px}.vue-tag-error{margin:12px 0 0;padding:10px 12px;border:1px solid #f5c6d0;border-radius:8px;background:#fff5f7;color:#b0283c;font-size:13px}.vue-tag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.vue-tag-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center;min-width:0}.vue-tag-item.editing{grid-template-columns:minmax(0,1fr) 42px auto auto;padding:8px;border:1px solid var(--line-light);border-radius:8px;background:#f8fafc}.vue-tag-item input{min-width:0;min-height:34px;padding:6px 9px;border:1px solid var(--line-light);border-radius:8px;background:#fff}.vue-tag-item input[type=color],.vue-tag-create input[type=color]{width:42px;padding:3px}.vue-tag-select{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:38px;padding:0 10px;border:1px solid var(--line-light);border-radius:8px;background:#fff;color:var(--text);cursor:pointer;text-align:left}.vue-tag-item.active .vue-tag-select{border-color:var(--blue-strong);background:#eaf6fd}.vue-tag-select span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vue-tag-select b{color:var(--muted);font-size:11px}.vue-tag-swatch{width:12px;height:12px;border-radius:999px}.vue-tag-icon{min-width:34px;height:34px;padding:0 7px;border:1px solid var(--line-light);border-radius:8px;background:#fff;color:var(--text-secondary);cursor:pointer;font-size:12px}.vue-tag-icon:hover{border-color:var(--blue-strong);color:var(--blue-deep)}.vue-tag-icon.danger:hover{border-color:var(--red-strong);color:var(--red-strong);background:#fff0f3}.vue-tag-create{display:grid;grid-template-columns:minmax(0,1fr) 44px auto;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-light)}.vue-tag-create input{min-height:38px;padding:7px 10px;border:1px solid var(--line-light);border-radius:8px}.vue-tag-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.book-stat-row,.summary-chip{border-radius:8px}.terms-top-row{margin-bottom:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.terms-top-row .summary-chip{min-height:70px;align-items:flex-start}.terms-top-row .summary-chip strong{font-size:22px}.terms-search-row,.pager{padding:12px;border:1px solid #e5ebf4;border-radius:8px;background:#ffffffb8}.table-wrap,.book-table-wrap,.settings-panel,.import-card{border-radius:8px;border-color:#e1e8f2;box-shadow:0 10px 28px #18274b0d}.word-table thead th,.book-data-table thead th{background:#f5f8fc}.shelf-table-wrap{overflow:visible;background:#fff}.shelf-table-wrap .book-table-scroll{overflow-x:auto;overflow-y:visible;border-radius:8px}.shelf-data-table{width:100%;min-width:1812px;table-layout:auto;border-collapse:separate;border-spacing:0;background:#fff}.shelf-data-table thead th{height:38px;padding:0 12px;border-bottom:1px solid #e4ebf4;color:#60748f;font-size:11px;font-weight:850;text-align:center;white-space:nowrap}.shelf-data-table thead th span{color:#b8c3d2;font-size:10px}.shelf-data-table tbody td{height:122px;padding:16px 12px;border-bottom:1px solid #edf1f6;color:#1f2937;font-size:14px;text-align:center;vertical-align:middle}.shelf-data-table tbody tr:hover td,.shelf-data-table tbody tr.selected td{background:#f8fbff}.shelf-data-table .check-col{width:42px;padding-inline:8px}.shelf-data-table .cover-col{width:96px}.shelf-data-table .title-col,.shelf-data-table .table-title-cell{white-space:nowrap;text-align:left}.shelf-data-table th:nth-child(n+4):nth-child(-n+11),.shelf-data-table td:nth-child(n+4):nth-child(-n+11){width:112px}.shelf-data-table th:nth-child(12),.shelf-data-table th:nth-child(13),.shelf-data-table td:nth-child(12),.shelf-data-table td:nth-child(13){width:120px}.shelf-data-table th:nth-child(14),.shelf-data-table td:nth-child(14){width:116px}.shelf-data-table th:nth-child(15),.shelf-data-table td:nth-child(15){width:106px;overflow:visible}.table-cover{display:inline-flex;align-items:center;justify-content:center;width:48px;height:72px;overflow:hidden;border:1px solid #e4eaf2;border-radius:4px;background:linear-gradient(180deg,#eef3f8,#e1e8f0);color:var(--blue-strong);font-size:12px;font-weight:850;box-shadow:0 8px 16px #1f293714}.table-cover img{width:100%;height:100%;object-fit:cover}.table-book-title{display:block;margin:0 0 6px;padding:0;overflow:hidden;border:0;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-weight:850;line-height:1.25;text-align:left;text-overflow:ellipsis;white-space:nowrap}.table-book-tags{display:grid;justify-items:start;gap:5px}.table-book-tags .book-tag{min-height:20px;max-width:110px;padding:2px 9px;overflow:hidden;border:1px solid transparent;border-radius:7px;background:#edf2f7;color:#53657d;cursor:pointer;font:inherit;font-size:11px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.table-book-tags .book-tag:hover{border-color:#c7dff1;background:#eef8fe;color:var(--blue-deep)}.table-book-tags .difficulty-easy{border-color:#9be7c5;background:#dcfce7;color:#067647}.table-book-tags .difficulty-medium{border-color:#f7d27b;background:#fffbeb;color:#92400e}.table-book-tags .difficulty-hard{border-color:#f8b4b4;background:#fef2f2;color:#991b1b}.table-book-tags .comprehension-tag{max-width:170px}.book-tag.comprehension-ready,.table-book-tags .comprehension-ready{border-color:#86efac;background:#dcfce7;color:#166534}.book-tag.comprehension-warmup,.table-book-tags .comprehension-warmup{border-color:#fde047;background:#fef9c3;color:#854d0e}.book-tag.comprehension-challenge,.table-book-tags .comprehension-challenge{border-color:#fca5a5;background:#fee2e2;color:#991b1b}.book-tag.comprehension-unknown,.table-book-tags .comprehension-unknown{border-color:#cbd5e1;background:#f1f5f9;color:#64748b}.book-tag.material-fit-tag,.table-book-tags .material-fit-tag,.mgmt-card-tags .material-fit-tag{border-color:#bfd7ee;background:#f7fbff;color:#22577a}.book-tag.fit-fit,.summary-chip.fit-fit,.table-book-tags .fit-fit,.mgmt-card-tags .fit-fit{border-color:#8fd8b3;background:#e2f8eb;color:#075e45}.book-tag.fit-n_plus_one,.summary-chip.fit-n_plus_one,.table-book-tags .fit-n_plus_one,.mgmt-card-tags .fit-n_plus_one{border-color:#9dd6f5;background:#e8f7ff;color:#075985}.book-tag.fit-hard,.summary-chip.fit-hard,.table-book-tags .fit-hard,.mgmt-card-tags .fit-hard{border-color:#f5c46d;background:#fff7df;color:#8a4d05}.book-tag.fit-fragment,.summary-chip.fit-fragment,.table-book-tags .fit-fragment,.mgmt-card-tags .fit-fragment{border-color:#f3a5a5;background:#fff0f0;color:#9a1c1c}.book-tag.fit-unknown,.summary-chip.fit-unknown,.table-book-tags .fit-unknown,.mgmt-card-tags .fit-unknown{border-color:#cbd5e1;background:#f1f5f9;color:#64748b}.material-pbd-tag,.material-flow-tag{border-color:#d8e4ef;background:#f8fafc;color:#40566e}.material-flow-tag{max-width:min(100%,260px)}.table-book-tags .material-pbd-tag,.table-book-tags .material-flow-tag{max-width:220px}.table-book-tags .reimport-tag{border-color:#facc15;background:#fff7d6;color:#9a6700}.shelf-data-table .status-progress{width:96px;height:7px;margin-inline:auto;overflow:hidden;border-radius:999px;background:#f4f7fb}.shelf-data-table .progress-segment{min-width:4px}.table-date{color:#7386a0;font-size:13px}.table-action-menu{position:relative;justify-content:center}.reader-difficulty-strip{position:static;display:flex;align-items:center;gap:8px;width:min(100%,880px);margin:0 auto 14px;padding:8px 10px;overflow:hidden;border:1px solid rgba(185,203,221,.78);border-radius:8px;background:#ffffffe0;color:#40566e;font-size:12px;box-shadow:0 8px 24px #18274b14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.reader-difficulty-strip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-difficulty-pill{flex:0 0 auto;display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border:1px solid #cbd5e1;border-radius:7px;background:#f8fafc;color:#475569;font-weight:850}.page-difficulty-fluent{border-color:#8fd8b3;background:#e2f8eb;color:#075e45}.page-difficulty-n_plus_one{border-color:#9dd6f5;background:#e8f7ff;color:#075985}.page-difficulty-scan_words{border-color:#f2d77e;background:#fff8d9;color:#7a5504}.page-difficulty-scaffold{border-color:#f5bd82;background:#fff1e3;color:#91400a}.page-difficulty-overload{border-color:#f3a5a5;background:#fff0f0;color:#9a1c1c}.page-difficulty-unknown{border-color:#cbd5e1;background:#f1f5f9;color:#64748b}.material-analysis-link{cursor:pointer}.material-detail-shell{width:min(1180px,calc(100vw - 40px));margin:24px auto 56px;padding:0}.material-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.material-detail-head h1{margin:0 0 6px;font-size:28px;line-height:1.18;color:#1f2937}.material-detail-head p{margin:0;color:#66788d;font-size:14px}.material-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.material-summary-band{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(260px,.95fr) minmax(280px,1fr);gap:12px;align-items:stretch;margin-bottom:18px}.material-fit-panel,.material-score-grid,.material-distribution{min-width:0;border:1px solid #d8e4ef;border-radius:8px;background:#fff;box-shadow:0 10px 26px #18274b0f}.material-fit-panel{display:flex;flex-direction:column;gap:8px;padding:14px}.material-fit-panel strong{color:#1f2937;font-size:18px;line-height:1.35}.material-fit-panel p{margin:0;color:#607388;font-size:13px;line-height:1.55}.material-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.material-score-grid div{min-width:0;padding:14px;border-right:1px solid #e6edf5;border-bottom:1px solid #e6edf5}.material-score-grid div:nth-child(2n){border-right:0}.material-score-grid div:nth-last-child(-n+2){border-bottom:0}.material-score-grid b{display:block;margin-bottom:4px;color:#15344f;font-size:22px;line-height:1.1}.material-score-grid span{color:#6b7f94;font-size:12px;font-weight:700}.material-distribution{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:14px}.material-dist-row{display:grid;grid-template-columns:54px minmax(0,1fr) 42px;align-items:center;gap:8px;color:#52677f;font-size:12px;font-weight:750}.material-dist-track{height:9px;overflow:hidden;border-radius:999px;background:#edf3f8}.material-dist-track i{display:block;height:100%;min-width:2px;border:0;border-radius:999px}.material-section{margin-top:18px}.material-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.material-section-title h2{margin:0;color:#25384d;font-size:20px;line-height:1.2}.material-section-title span{color:#6b7f94;font-size:13px;font-weight:700}.material-section-title select{min-height:36px;max-width:280px;padding:0 12px;border:1px solid #cfdae6;border-radius:7px;background:#fff;color:#32475b;font:inherit;font-size:13px}.material-chapter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:12px}.material-chapter-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;border:1px solid #d8e4ef;border-radius:8px;background:#fff;cursor:pointer;box-shadow:0 8px 22px #18274b0d;transition:border-color .16s,box-shadow .16s,transform .16s}.material-chapter-card:hover,.material-chapter-card.active{border-color:#7fc2e5;box-shadow:0 10px 26px #1c74a61f;transform:translateY(-1px)}.material-chapter-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.material-chapter-card h3{min-width:0;margin:0;overflow:hidden;color:#1f2937;font-size:15px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.material-chapter-card p{margin:0;color:#6b7f94;font-size:12px;font-weight:700}.material-mini-dist{display:flex;height:8px;overflow:hidden;border-radius:999px;background:#edf3f8}.material-mini-dist span{min-width:0;border:0}.material-chapter-card .button{align-self:flex-start}.material-page-table-wrap{overflow:auto;border:1px solid #d8e4ef;border-radius:8px;background:#fff;box-shadow:0 10px 26px #18274b0d}.material-page-table{width:100%;min-width:900px;border-collapse:collapse;color:#314458;font-size:13px}.material-page-table th,.material-page-table td{padding:10px 12px;border-bottom:1px solid #e7eef5;text-align:left;vertical-align:top}.material-page-table th{position:sticky;top:0;z-index:1;background:#f7fafc;color:#66788d;font-size:12px;font-weight:800}.material-page-table tbody tr:hover{background:#fbfdff}.material-page-table tbody tr:last-child td{border-bottom:0}.material-page-table td b,.material-page-table td small{display:block}.material-page-table td small{max-width:130px;margin-top:3px;overflow:hidden;color:#7a8ba0;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.material-blockers{max-width:240px;color:#52677f;line-height:1.45}.toc-chapter-button{display:grid!important;grid-template-columns:minmax(0,1fr);justify-items:start;gap:2px;text-align:left}.toc-chapter-button span,.toc-chapter-button small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toc-chapter-button small{color:#6d7f95;font-size:11px;font-weight:700}.table-action-button{min-width:86px;min-height:38px;justify-content:center;border-color:#e4ebf4;background:#fff;color:#1f2937;box-shadow:0 6px 16px #18274b0a}.table-action-button span{color:var(--muted);font-size:11px}.table-popover{top:44px;right:12px;z-index:100;text-align:left}.status-chip{border-radius:8px}.import-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.import-card{padding:24px}.ai-article-card{grid-column:1 / -1}.ai-rate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ai-article-preview{margin-top:18px}.ai-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.ai-rate-report{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ai-rate-report span{min-height:28px;padding:5px 9px;border:1px solid var(--line-light);border-radius:8px;background:#f7fafc;color:var(--text-secondary);font-size:12px;font-weight:700}.ai-article-preview textarea{width:100%;min-height:360px;resize:vertical}.vue-error-text{margin:0;color:var(--red-strong);font-weight:700}.vue-success-text{margin:0;color:var(--green-strong, #138a4c);font-weight:700}.settings-actions.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-shell{width:min(1180px,calc(100vw - 40px));margin:18px auto 64px;padding:0}.settings-form{display:grid;gap:14px}.settings-status-stack{display:grid;gap:8px;padding:12px 14px;border:1px solid #dce6f0;border-radius:8px;background:#ffffffd1;box-shadow:0 8px 22px #18274b0a}.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.settings-section-ai,.settings-section-progress{grid-column:1 / -1}.settings-section{display:grid;gap:18px;align-content:start;height:100%;padding:22px;background:linear-gradient(180deg,#fff,#f8fbfe)}.settings-section-image,.settings-section-eudic{min-height:0}.settings-section-head{display:flex;align-items:flex-start;gap:12px;padding-bottom:14px;border-bottom:1px solid #edf2f7}.settings-section-head h2{margin:0;color:var(--text);font-size:18px;font-weight:850;line-height:1.25}.settings-section-head p{margin:5px 0 0;color:var(--text-secondary);font-size:13px}.settings-section-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:40px;height:34px;padding:0 9px;border:1px solid #cfe7f6;border-radius:8px;background:#eef8fe;color:var(--blue-deep);font-size:12px;font-weight:900}.settings-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-field-grid.single{grid-template-columns:1fr}.settings-field-wide{grid-column:1 / -1}.settings-form label{display:grid;gap:7px;min-width:0;color:var(--text-secondary);font-size:13px;font-weight:750}.settings-form input,.settings-form select{width:100%;min-width:0;min-height:42px;padding:8px 12px;border:1px solid var(--line-light);border-radius:8px;background-color:#fff;color:var(--text);font:inherit;font-weight:600;transition:border-color .18s,box-shadow .18s,background .18s}.settings-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.settings-form input:focus,.settings-form select:focus{border-color:var(--blue-strong);background:#fff;box-shadow:0 0 0 3px #3898c91f;outline:none}.settings-inline-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.settings-inline-control .button{min-height:42px;padding-inline:14px}.settings-hint{margin:0;padding:10px 12px;border:1px solid #e5edf6;border-radius:8px;background:#f8fbfe;color:#64748b;font-size:12px;font-weight:650;line-height:1.55}.settings-section-progress{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:center}.settings-section-progress .settings-section-head{padding-bottom:0;border-bottom:0}.progress-order-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.progress-order-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:46px;padding:10px 12px;border:1px solid #dfe8f2;border-radius:8px;background:#fff;color:var(--text);cursor:grab;font-weight:800;box-shadow:0 8px 18px #18274b0a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.progress-order-item:hover{border-color:#b9dcf0;box-shadow:0 10px 22px #18274b14;transform:translateY(-1px)}.progress-order-item:active{cursor:grabbing}.progress-order-swatch{width:14px;height:14px;border-radius:999px;box-shadow:inset 0 0 0 1px #00000014}.progress-order-grip{color:#9aaabe;font-size:15px;letter-spacing:1px}.settings-savebar{position:sticky;bottom:14px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #dbe6f2;border-radius:8px;background:#ffffffeb;box-shadow:0 16px 36px #18274b24;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.settings-savebar span{color:var(--text-secondary);font-size:13px;font-weight:700}.settings-page-head{display:flex;justify-content:flex-start;margin:0 0 14px}.term-image-search-panel{display:grid;gap:8px;margin-top:10px}.term-image-search-panel[hidden]{display:none}.term-image-search-panel p{margin:0;color:var(--muted);font-size:12px;font-weight:700}.term-image-search-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.term-image-result{aspect-ratio:1;overflow:hidden;padding:0;border:1px solid var(--line-light);border-radius:8px;background:#f8fafc;cursor:pointer}.term-image-result:hover{border-color:var(--blue-strong);box-shadow:0 0 0 3px #3898c924}.term-image-result:disabled{cursor:wait;opacity:.58}.term-image-result img{width:100%;height:100%;object-fit:cover;display:block}.import-card h2,.settings-panel h2{margin-top:0}.job-progress{display:grid;gap:8px;padding:10px 12px;border:1px solid #dceaf5;border-radius:8px;background:#f7fbfe}.job-progress-meta,.terms-progress-bar{display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-size:13px;font-weight:700}.job-progress-meta{justify-content:space-between}.job-progress-track,.terms-progress-track{position:relative;height:8px;overflow:hidden;border-radius:999px;background:#e7eef6}.job-progress-fill,.terms-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3898c9,#58c4b6);transition:width .22s ease}.terms-progress-bar{margin:12px 0 14px;padding:10px 12px;border:1px solid #dceaf5;border-radius:8px;background:#f7fbfe}.terms-progress-label{min-width:120px}.terms-progress-count{min-width:44px;text-align:right}.terms-progress-track{flex:1 1 auto}.stats-grid{gap:14px}.stats-card{border-radius:8px;border-color:#e1e8f2;background:linear-gradient(180deg,#fff,#f8fbfe)}.statistics-shell{width:min(1180px,calc(100vw - 40px));margin:24px auto 56px}.statistics-shell .statistics-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.statistics-shell .stats-panel{display:flex;flex-direction:column;border-radius:8px;border-color:#e1e8f2;background:#fff;box-shadow:0 10px 28px #18274b0d}.statistics-shell .stats-panel+.stats-panel{margin-top:0}.statistics-shell .statistics-layout .stats-panel{min-height:132px;justify-content:space-between}.statistics-shell .statistics-layout .book-stat-line{min-height:28px}.statistics-shell .chart-card{border:none;box-shadow:none}.statistics-shell .chart-wrap{height:340px}.about-shell{width:min(920px,calc(100vw - 40px));margin:24px auto 64px;display:grid;gap:18px}.about-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px;border:1px solid #dce5ee;border-radius:8px;background:linear-gradient(135deg,#fffffffa,#f7fafbf5),linear-gradient(90deg,#2f87b41f,#34865a1a);box-shadow:0 14px 34px #18274b14}.about-hero h1{margin:6px 0 0;font-size:32px;line-height:1.12;color:var(--text)}.about-hero p{max-width:560px;margin:10px 0 0;color:var(--text-secondary)}.about-current-version{display:grid;justify-items:end;gap:3px;min-width:112px;padding:12px 14px;border:1px solid #d2e6f3;border-radius:8px;background:#eef8fed1}.about-current-version span{color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase}.about-current-version strong{color:var(--blue-deep);font-size:24px}.about-current-version small{color:var(--text-muted);font-size:12px;text-align:right}.version-timeline{display:grid;gap:14px}.version-card{display:grid;gap:12px;padding:22px 24px;border:1px solid #e1e8f0;border-radius:8px;background:linear-gradient(180deg,#fff,#f9fbfd);box-shadow:0 10px 26px #18274b0f}.version-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.version-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border:1px solid #cfe5d9;border-radius:999px;background:#eef8f1;color:#156d3e;font-weight:800}.version-card time{color:var(--text-muted);font-size:13px;white-space:nowrap}.version-card h2{margin:0;color:var(--text);font-size:20px}.version-commit-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;color:var(--text-muted);font-size:13px}.version-commit-hash{min-width:0;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.about-empty-history p{margin:0;color:var(--text-secondary)}.version-card ul{display:grid;gap:8px;margin:0;padding-left:20px;color:var(--text-secondary)}.readme-content{border-radius:8px}@media (min-width: 1280px){.page-shell.bookshelf-cards{width:min(1440px,calc(100vw - 64px))}.book-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1080px){.vue-topbar{align-items:stretch;flex-wrap:wrap;gap:10px 14px;padding:12px 18px}.vue-topbar .topbar-left{flex:1 1 auto}.vue-topbar .topbar-center{order:3;flex:1 1 100%;align-items:flex-start}.vue-topbar .nav{flex:0 1 auto;justify-content:flex-end;max-width:100%}.vue-reader-top-spacer{display:none}.book-list,.terms-top-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 780px){.page-shell,.page-shell.bookshelf-cards,.page-shell.bookshelf-table,.page-shell.terms-shell,.about-shell,.readme-shell{width:min(100vw - 24px,100%);margin-top:14px}.vue-topbar{position:relative;z-index:2000;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-height:40px;padding:5px 10px;overflow:visible;background:#fbfaf7eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 1px 8px #0000000a;transition:transform .22s ease,box-shadow .22s ease;will-change:transform}.vue-topbar .topbar-left{flex:0 0 auto;order:1;gap:5px}.vue-topbar .brand-button{padding:0 10px 0 8px;gap:6px;min-height:34px;border-radius:10px}.vue-topbar .brand-logo{width:26px;height:26px}.vue-topbar .brand-text{font-size:1.24rem}.vue-topbar .topbar-center{display:none}.vue-topbar .nav{flex:1 1 auto;order:3;align-items:stretch;justify-content:flex-end;gap:5px;max-width:none;padding-bottom:0;overflow:visible;flex-wrap:nowrap}.vue-topbar .nav .button{flex:0 0 auto}.vue-topbar .button,.brand-button,.menu-trigger{min-height:32px;padding-inline:9px;font-size:12px}.vue-nav-popover{left:0;right:auto}.vue-nav-menu:last-child .vue-nav-popover{left:auto;right:0}.reader-route-topbar .reader-menu-panel{position:fixed;top:52px;left:8px;z-index:3200;max-height:calc(100vh - 64px);overflow-y:auto}.vue-topbar .reader-top-title{font-size:14px;line-height:1.15}.vue-topbar .reader-top-meta{display:none}.vue-page-hero{display:block;margin-bottom:14px;padding:18px}.vue-page-hero h1{font-size:24px}.vue-toolbar,.bookshelf-toolbar,.terms-search-row,.pager{align-items:stretch;flex-direction:column;gap:10px}.terms-search-form{width:100%}.bookshelf-toolbar{padding:8px;gap:8px}.bookshelf-toolbar .bulk-actions,.shelf-sort-chips,.shelf-view-chips{display:flex;width:100%;gap:8px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.bookshelf-toolbar .bulk-actions::-webkit-scrollbar,.shelf-sort-chips::-webkit-scrollbar{display:none}.bookshelf-toolbar .bulk-actions>*,.shelf-sort-chips .summary-chip{flex:0 0 auto}.bookshelf-toolbar .bulk-actions .button{min-width:72px}.shelf-sort-chips .summary-chip{width:auto;min-width:86px}.summary-chip,.terms-search-form .button,.terms-search-form input,.terms-search-form select{width:100%}.terms-top-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.terms-top-row .summary-chip{min-height:64px}.book-row{grid-template-columns:76px minmax(0,1fr);gap:14px;padding:16px 14px}}@media (max-width: 780px){.book-list{grid-template-columns:1fr}.book-row{grid-template-columns:76px minmax(0,1fr);gap:14px;padding:16px 14px}.book-cover{width:76px}.book-footer .button{flex:1 1 calc(50% - 6px);min-width:0}.book-stat-line span{white-space:normal}.book-table-scroll,.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.book-data-table{min-width:720px}.import-cards{grid-template-columns:1fr}.ai-rate-grid,.ai-preview-head{grid-template-columns:1fr;display:grid}.settings-panel,.import-card,.about-hero,.version-card,.readme-content{padding:18px}.about-hero,.version-card-head{align-items:flex-start;flex-direction:column}.about-current-version{justify-items:start;width:100%;box-sizing:border-box}.about-current-version small{text-align:left}.version-commit-meta{align-items:flex-start;flex-direction:column}.settings-shell{width:min(100vw - 24px,100%);margin-top:16px}.settings-savebar .settings-actions,.settings-savebar .button{width:100%}.settings-layout,.settings-section-progress,.settings-field-grid{grid-template-columns:1fr}.settings-section{padding:18px}.progress-order-list{grid-template-columns:1fr}.settings-savebar{position:static;align-items:stretch;flex-direction:column}.statistics-shell{width:min(100vw - 24px,100%)}.statistics-shell .statistics-layout{grid-template-columns:1fr}.reader-content{touch-action:pan-y}.word-panel.word-panel-explain-open{flex-direction:column}.word-panel.word-panel-explain-open .word-panel-left{flex:0 0 auto;width:100%;border-right:0;border-bottom:1px solid var(--line-light)}.word-panel.word-panel-explain-open .word-panel-right{max-height:36vh}.vue-tag-overlay{align-items:stretch;padding:12px}.vue-tag-panel{max-height:calc(100vh - 24px);padding:16px}.vue-tag-grid{grid-template-columns:1fr}.vue-view-btn{display:none}}@media (max-width: 520px){.page-shell,.page-shell.bookshelf-cards,.page-shell.bookshelf-table,.page-shell.terms-shell,.readme-shell{width:min(100vw - 16px,100%);margin-top:10px}.vue-topbar{gap:4px}.vue-topbar .button,.menu-trigger{min-height:30px;padding-inline:8px;font-size:12px}.vue-topbar .brand-button{padding:0 8px 0 6px;gap:5px;min-height:30px;border-radius:8px}.vue-topbar .brand-logo{width:23px;height:23px}.vue-topbar .brand-text{font-size:1.1rem}.vue-topbar .topbar-center{display:none}.vue-topbar .nav{max-width:none}.vue-page-hero{padding:14px}.vue-page-hero h1{font-size:22px}.vue-page-hero p{font-size:13px}.terms-top-row{grid-template-columns:1fr}.shelf-sort-chips,.shelf-view-chips{display:flex}.shelf-sort-chips .summary-chip,.shelf-view-chips .summary-chip{width:auto}.book-row{grid-template-columns:58px minmax(0,1fr);gap:10px;padding:13px 11px}.book-cover{width:58px}.book-title-row h2{font-size:14px}.book-footer{gap:6px}.book-stat-stack{gap:7px}.book-stat-row{padding:8px}.book-stat-line{gap:4px 8px}.terms-search-form{display:grid;grid-template-columns:1fr}.word-table{min-width:520px}.vue-form-grid textarea{min-height:220px}.vue-tag-create,.vue-tag-footer{grid-template-columns:1fr}.vue-tag-create,.vue-tag-footer{display:grid}.vue-tag-footer .button,.vue-tag-create .button{width:100%}.vue-tag-item.editing{grid-template-columns:1fr}}@keyframes reader-panel-up{0%{opacity:.88;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 780px),(max-height: 560px) and (pointer: coarse){.reader-main{padding:0 max(10px,env(safe-area-inset-left)) 24px max(10px,env(safe-area-inset-right));box-sizing:border-box}.reader-shell-clean{width:100%;max-width:none;margin-top:12px;margin-bottom:42px}.reader-content{padding:20px max(20px,calc(env(safe-area-inset-right) + 16px)) 24px max(20px,calc(env(safe-area-inset-left) + 16px));border-radius:var(--radius)}.word-panel{top:auto;right:max(8px,env(safe-area-inset-right));bottom:0;left:max(8px,env(safe-area-inset-left));width:auto;max-width:none;max-height:min(86dvh,calc(100dvh - env(safe-area-inset-top) - 18px));transform:translateY(0);flex-direction:column;overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:reader-panel-up .18s ease-out}.word-panel-left{width:100%;flex:1 1 auto;max-height:calc(86dvh - 24px);padding:18px;overflow-y:auto;-webkit-overflow-scrolling:touch}.word-panel-explain-open .word-panel-left{flex:0 0 auto;width:100%;max-height:42dvh;border-right:0;border-bottom:1px solid var(--line-light)}.word-panel-right{max-height:40dvh;padding:16px 18px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}.word-panel-search-open .word-panel-left,.word-panel-raised .word-panel-left{max-height:74dvh}.word-panel-explain-open.word-panel-raised .word-panel-left{max-height:42dvh}.term-image-search-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-height: 560px) and (pointer: coarse){.reader-shell-clean{margin-top:8px;margin-bottom:16px}.reader-content{min-height:auto;padding-top:16px;padding-bottom:18px}.word-panel{right:8px;bottom:4px;left:8px;max-height:calc(100dvh - 8px);border-radius:var(--radius-lg)}.word-panel-left{max-height:calc(100dvh - 24px);padding:14px}.word-panel-explain-open{flex-direction:row}.word-panel-explain-open .word-panel-left{flex:0 0 min(42vw,320px);width:min(42vw,320px);max-height:calc(100dvh - 20px);border-right:1px solid var(--line-light);border-bottom:0}.word-panel-explain-open .word-panel-right{max-height:calc(100dvh - 20px)}.term-image-search-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 380px){.vue-topbar{padding-inline:8px}.vue-topbar .nav{gap:5px}.vue-topbar .nav .button{padding-inline:9px}.book-tag-row{gap:4px}.book-tag{padding-inline:7px}}.page-shell.bookshelf-table{width:100vw;max-width:none;margin:0 0 48px;padding:0 0 24px;box-sizing:border-box}.page-shell.bookshelf-table .bookshelf-toolbar{margin:0 0 10px;border-radius:0 0 8px 8px}.page-shell.bookshelf-table .shelf-table-wrap{width:100%;border-radius:0}.page-shell.terms-shell{width:100vw;max-width:none;margin:0 0 48px;padding:0 0 24px;box-sizing:border-box}.page-shell.terms-shell .terms-top-row{margin:0 0 10px;padding:0 12px}.page-shell.terms-shell .terms-search-row,.page-shell.terms-shell .pager{margin:0;border-radius:0}.page-shell.terms-shell .table-wrap{width:100%;overflow-x:auto;border-radius:0}.page-shell.terms-shell .word-table{width:100%;min-width:920px}.terms-dashboard-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(4,minmax(150px,1fr));gap:12px;padding:28px 20px 12px;background:#f3f6fa}.terms-book-filter{position:relative}.terms-book-trigger,.terms-stat-card{width:100%;min-height:46px;border:1px solid #e4ebf4;border-radius:8px;background:#fff;box-shadow:none}.terms-book-trigger{display:flex;align-items:center;justify-content:center;gap:5px;padding:0 12px;color:var(--text);cursor:pointer;font-weight:850}.terms-book-menu{max-height:360px;overflow:auto}.terms-stat-card{display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:var(--text);text-align:left}.terms-stat-card span,.terms-stat-card strong{margin:0;font-size:16px}.terms-stat-card.status-known{background:#fff}.terms-stat-card.status-unknown{border-color:#9ed8f2;background:#aee1f5}.terms-stat-card.status-new{border-color:#f6a6b8;background:#ffa3b8}.terms-stat-card.active{border-color:#28a1e4;background:#c7e9fb;color:#0870ad;box-shadow:inset 0 0 0 1px #28a1e46b}.terms-action-row{padding:0 6px 14px;background:#f3f6fa}.terms-import-search{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto;gap:10px;align-items:center}.terms-import-search .vue-error-text{grid-column:1 / -1}.terms-import-search input[type=search]{min-height:40px;border-radius:8px;background:#fff}.terms-file-button{width:88px;min-height:38px;background:#fff;color:var(--text);font-weight:700}.terms-status-select{display:none}.terms-status-select .vue-custom-select-trigger{min-height:40px}.terms-bulk-row{display:flex;align-items:center;justify-content:flex-start;gap:16px;min-height:62px;padding:12px 32px 12px 20px;border-top:1px solid #e7edf5;border-bottom:1px solid #e7edf5;background:#fff}.terms-bulk-search{display:flex;flex:1 1 0;justify-content:flex-end;min-width:0;margin-left:0;width:auto}.terms-bulk-search input[type=search]{flex:0 1 260px;min-width:160px}.terms-bulk-left{flex:1 1 0;min-width:0}.terms-bulk-actions{flex:0 0 auto}.terms-bulk-left,.terms-bulk-actions,.terms-pager-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.terms-bulk-left select{min-height:36px;padding:0 30px 0 12px;border:1px solid var(--line-light);border-radius:8px;background:#fff}.terms-bulk-actions .button{min-height:38px}.terms-bulk-actions{justify-content:center}.terms-action-menu{position:relative}.terms-action-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:80;display:grid;gap:6px;min-width:132px;padding:8px}.terms-action-popover .button{justify-content:flex-start;width:100%}.page-shell.terms-shell .pager{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:12px 6px;border:0;background:#f3f6fa}.terms-table-wrap{border:0;background:#fff;box-shadow:none}.terms-data-table{border-collapse:separate;border-spacing:0;table-layout:fixed}.terms-data-table thead th{height:46px;padding:0 18px;border-bottom:1px solid #e8eef6;background:#eef3f9;color:#8aa0ba;font-size:12px;font-weight:850;text-align:left;white-space:nowrap}.terms-data-table thead th button{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:850}.terms-data-table thead th span{color:#c3cfdd;font-size:10px}.terms-data-table tbody td{height:50px;padding:0 18px;border-bottom:1px solid #e8eef6;color:var(--text);text-align:left;vertical-align:middle}.terms-data-table tbody tr.selected td,.terms-data-table tbody tr:hover td{background:#f8fbff}.terms-data-table .terms-check-col{width:68px;padding-left:20px}.terms-data-table th:nth-child(2),.terms-data-table td:nth-child(2){width:auto}.terms-data-table th:nth-child(3),.terms-data-table td:nth-child(3){width:140px;text-align:center}.terms-data-table th:nth-child(4),.terms-data-table td:nth-child(4){width:150px;text-align:center}.terms-data-table .word-display{font-size:18px;font-weight:850}.terms-data-table .muted-text{color:#7186a4;font-size:12px}@media (max-width: 980px){.terms-dashboard-row{grid-template-columns:repeat(2,minmax(0,1fr))}.terms-import-search{grid-template-columns:1fr 1fr}.terms-import-search input[type=search]{grid-column:1 / -1}}@media (max-width: 640px){.terms-dashboard-row{grid-template-columns:repeat(4,minmax(96px,1fr));overflow-x:auto;gap:8px;padding:10px 16px 10px 8px;scrollbar-width:none}.terms-dashboard-row::-webkit-scrollbar{display:none}.terms-dashboard-row .terms-book-filter{grid-column:1 / -1}.terms-book-trigger,.terms-stat-card{min-height:40px}.terms-stat-card{padding:0 8px}.terms-stat-card span,.terms-stat-card strong{font-size:14px}.terms-action-row{padding:0 8px 8px}.terms-search-form{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px}.terms-search-form input[type=search]{flex:1 1 auto;min-width:0}.terms-search-form .button{flex:0 0 auto;min-width:68px}.terms-bulk-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;min-height:0;gap:8px;padding:10px 8px}.terms-bulk-left,.terms-bulk-actions,.terms-bulk-search{gap:5px}.terms-bulk-left,.terms-bulk-actions{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.terms-bulk-left::-webkit-scrollbar,.terms-bulk-actions::-webkit-scrollbar{display:none}.terms-bulk-left>*,.terms-bulk-actions>*{flex:0 0 auto}.terms-bulk-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-column:2;order:2;width:100%;max-width:100%}.terms-bulk-actions{grid-column:1;order:2;justify-content:flex-start;overflow:visible}.terms-bulk-left{grid-column:1 / -1;flex:initial;order:1;justify-content:flex-start;width:fit-content;max-width:100%}.terms-action-popover{right:auto;left:0}.terms-bulk-left .muted-text{white-space:nowrap}.terms-bulk-left select{min-width:58px;width:58px;padding-left:8px;padding-right:18px;background-position:right 6px center}.terms-bulk-search input[type=search]{min-height:38px;width:100%;max-width:100%}.page-shell.terms-shell .word-table{min-width:0}.terms-table-wrap{width:auto;max-width:calc(100% - 16px);box-sizing:border-box;overflow-x:hidden;margin:0 8px;border-radius:8px}.terms-shell:not(.terms-mobile-selection-mode) .terms-check-col{display:none}.terms-shell.terms-mobile-selection-mode .terms-check-col{display:table-cell}.terms-data-table .word-display{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.terms-shell:not(.terms-mobile-selection-mode) .word-table{min-width:0}.terms-data-table{table-layout:fixed}.terms-data-table th:nth-child(2),.terms-data-table td:nth-child(2){width:55%}.terms-data-table th:nth-child(3),.terms-data-table td:nth-child(3){width:22%;text-align:right}.terms-data-table th:nth-child(4),.terms-data-table td:nth-child(4){width:23%;padding-right:12px;text-align:right}.terms-data-table .word-display{overflow-wrap:anywhere}.page-shell.terms-shell .pager{align-items:center;flex-direction:row;flex-wrap:wrap;min-height:0;gap:8px;padding:10px 8px}.terms-import-search{grid-template-columns:1fr}.terms-file-button,.terms-status-select,.terms-import-search .button{width:100%}}@media (max-width: 1080px){.zotero-sidebar{display:none}.vue-topbar{min-height:48px;padding:8px 14px}}@media (max-width: 780px){.vue-topbar{min-height:42px;padding:5px 10px;background:#f8f9faf5}.page-shell.bookshelf-table .bookshelf-toolbar{top:42px}.shelf-data-table tbody td,.terms-data-table tbody td{height:52px}.table-book-tags{max-width:360px}}@media (max-width: 520px){.brand-text,.vue-avatar-name{display:none}.brand-logo{width:22px;height:22px}.button,.summary-chip,.status-chip,.vue-dropdown-button,.vue-avatar-btn{min-height:30px;padding-inline:8px;font-size:12px}}.book-table-wrap,.table-wrap,.terms-table-wrap,.settings-panel,.import-card,.mgmt-import-card,.mgmt-stat-card,.mgmt-card,.book-row,.vue-modal,.vue-tag-panel,.readme-content,.stats-panel,.chart-card{border:1px solid #cfd6de;border-radius:5px;background:#fff;box-shadow:none}.shelf-table-wrap{overflow:visible;border-top:0;border-right:0;border-left:0;background:#fff}.shelf-table-wrap .book-table-scroll{border-radius:0}.shelf-data-table{min-width:1560px;border-collapse:separate;border-spacing:0;background:#fff;font-size:13px}.shelf-data-table thead th,.terms-data-table thead th,.word-table thead th,.book-data-table thead th{height:32px;padding:0 10px;border-bottom:1px solid #c5cdd6;background:#e9edf2;color:#55616f;font-size:11px;font-weight:650;text-transform:none}.shelf-data-table thead th button,.terms-data-table thead th button{color:inherit;font-weight:inherit}.shelf-data-table tbody td,.terms-data-table tbody td{height:58px;padding:7px 10px;border-bottom:1px solid #e2e7ec;color:#20262e;font-size:13px}.shelf-data-table tbody tr:nth-child(2n) td,.terms-data-table tbody tr:nth-child(2n) td{background:#fbfcfd}.shelf-data-table tbody tr:hover td,.terms-data-table tbody tr:hover td,.word-table tbody tr:hover td{background:#eef6ff}.shelf-data-table tbody tr.selected td,.terms-data-table tbody tr.selected td{background:#dcecff}.shelf-data-table .check-col{width:38px}.shelf-data-table .title-col,.shelf-data-table .table-title-cell{min-width:310px;white-space:normal}.table-book-title{max-width:100%;margin:0;color:#17212f;font-size:13px;font-weight:650}.table-book-title:hover{color:var(--blue-deep)}.table-book-tags{display:flex;flex-wrap:nowrap;gap:4px;max-width:520px;margin-top:4px;overflow:hidden}.table-book-tags .book-tag,.book-tag,.mgmt-tag{min-height:18px;max-width:170px;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:650;line-height:1.35}.table-action-button{min-width:70px}.shelf-data-table .status-progress,.terms-progress-track,.job-progress-track{height:6px;background:#e2e7ed}.book-list{gap:10px}.book-row{background:#fff}.book-row:hover{border-color:#b8cce2}.book-row.selected{border-color:#8aaed2;box-shadow:inset 3px 0 #2d6fad}.book-cover,.table-cover,.mgmt-card-cover{border-color:#d6dce3;border-radius:4px;background:#edf1f5;box-shadow:none}.book-title-row h2,.mgmt-card-title,.settings-section-head h2,.import-card h2,.settings-panel h2{color:#17212f;font-weight:650}.book-stat-row,.summary-chip,.terms-stat-card,.terms-book-trigger,.progress-order-item,.settings-status-stack,.settings-hint,.job-progress,.terms-progress-bar{border-color:#d6dce3;border-radius:4px;background:#f8f9fa;box-shadow:none}.summary-chip.fit-fit,.book-tag.fit-fit,.table-book-tags .fit-fit,.mgmt-card-tags .fit-fit{border-color:#a8d5bd;background:#e8f4ed;color:#2c6d4a}.summary-chip.fit-n_plus_one,.book-tag.fit-n_plus_one,.table-book-tags .fit-n_plus_one,.mgmt-card-tags .fit-n_plus_one{border-color:#aecbe9;background:#e8f1fb;color:#245f95}.summary-chip.fit-hard,.book-tag.fit-hard,.table-book-tags .fit-hard,.mgmt-card-tags .fit-hard{border-color:#dec58f;background:#f7f0df;color:#7a581c}.summary-chip.fit-fragment,.book-tag.fit-fragment,.table-book-tags .fit-fragment,.mgmt-card-tags .fit-fragment{border-color:#d9a6b0;background:#f7e8eb;color:#8b3c4f}.material-pbd-tag,.material-flow-tag,.book-tag.material-fit-tag,.table-book-tags .material-fit-tag,.mgmt-card-tags .material-fit-tag{border-color:#cdd7e1;background:#f4f6f8;color:#4b5d70}.reader-main{background:#eef1f4}.reader-shell-clean{padding-top:16px}.reader-content{width:100%;max-width:100%;min-width:0;border:1px solid #d7dde4;border-radius:5px;background:var(--surface-reader);box-shadow:none}.reader-page-nav,.reader-difficulty-strip{width:100%;max-width:100%;min-width:0;border-color:#cfd6de;border-radius:5px;background:#f8f9faf0;box-shadow:none}.word-panel,.toc-sidebar{border-color:#cbd2da;background:#fff;box-shadow:0 12px 30px #14191f2e}.toc-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px 12px}.toc-header h2{margin:0;padding:0}.toc-close-button{display:none}.toc-chapter-button{min-width:0}.toc-chapter-button span{min-width:0;overflow:hidden;text-overflow:ellipsis}.toc-chapter-button small{flex:0 0 auto;color:var(--muted);font-size:11px}.word-panel{position:fixed;top:var(--word-panel-card-top, 88px);left:var(--word-panel-card-left, 50vw);z-index:55;display:flex;flex-direction:column;width:min(360px,calc(100vw - 24px));max-width:none;max-height:min(620px,calc(100vh - 88px));overflow:hidden;transform:translate(-50%);border:1px solid #cbd2da;border-radius:8px;transition:opacity .14s ease,transform .14s ease}.word-panel[hidden]{display:none!important}.word-panel.word-panel-explain-open{width:min(440px,calc(100vw - 24px))}.word-panel-left{flex:0 0 auto;width:100%;min-width:0;max-height:min(620px,calc(100vh - 88px));padding:14px;overflow-y:auto}.word-panel-explain-open .word-panel-left{flex:0 0 auto;width:100%;border-right:0;border-bottom:0}.word-panel-right{display:none;flex:1 1 auto;min-width:0;max-height:min(34vh,340px);padding:10px 0 0;overflow-y:auto}.word-panel-explain-open .word-panel-right{display:block}.word-panel-explain-open .word-panel-right[hidden]{display:none!important}.word-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.word-panel-title-block{display:grid;min-width:0;gap:0}.word-panel-section{display:grid;gap:8px;padding-top:10px;margin-top:10px;border-top:1px solid #cbd2da}.word-panel-section:first-child{margin-top:0;padding-top:0;border-top:0}.word-panel-section-title{color:var(--muted);font-size:11px;font-weight:700;line-height:1}.word-panel h2{margin:0;overflow-wrap:anywhere;font-size:18px;line-height:1.2;letter-spacing:0}.word-panel-term-badge{display:inline-flex;align-items:center;max-width:100%;min-height:30px;padding:3px 9px;overflow:hidden;border:1px solid #cbd2da;border-radius:4px;font-size:18px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.word-panel-term-badge.status-known{border-color:color-mix(in srgb,var(--status-known-color) 58%,transparent);background:color-mix(in srgb,var(--status-known-color) 24%,transparent)}.word-panel-term-badge.status-unknown{border-color:color-mix(in srgb,var(--status-unknown-color) 58%,transparent);background:color-mix(in srgb,var(--status-unknown-color) 24%,transparent)}.word-panel-term-badge.status-new{border-color:color-mix(in srgb,var(--status-new-color) 62%,transparent);background:color-mix(in srgb,var(--status-new-color) 26%,transparent)}.word-panel-status-body[hidden]{display:none!important}.word-panel-actions{gap:6px}.status-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.status-card-grid .status-chip,.status-card-grid .button{min-height:32px;padding:0 8px;font-size:12px}.word-panel-actions-extra{margin-top:8px;padding-top:8px}.word-panel-status-actions .status-chip{border-width:1px;color:inherit}.word-panel-status-actions .status-chip.status-known{border-color:#000;background:color-mix(in srgb,var(--status-known-color) 18%,transparent)}.word-panel-status-actions .status-chip.status-unknown{border-color:color-mix(in srgb,var(--status-unknown-color) 54%,transparent);background:color-mix(in srgb,var(--status-unknown-color) 18%,transparent)}.word-panel-status-actions .status-chip.status-new{border-color:color-mix(in srgb,var(--status-new-color) 58%,transparent);background:color-mix(in srgb,var(--status-new-color) 20%,transparent)}.word-panel-status-actions .status-chip.status-known.active,.word-panel-status-actions .status-chip.status-known:hover{border-color:#000;background:color-mix(in srgb,var(--status-known-color) 34%,transparent)}.word-panel-status-actions .status-chip.status-unknown.active,.word-panel-status-actions .status-chip.status-unknown:hover{border-color:color-mix(in srgb,var(--status-unknown-color) 82%,transparent);background:color-mix(in srgb,var(--status-unknown-color) 34%,transparent)}.word-panel-status-actions .status-chip.status-new.active,.word-panel-status-actions .status-chip.status-new:hover{border-color:color-mix(in srgb,var(--status-new-color) 86%,transparent);background:color-mix(in srgb,var(--status-new-color) 36%,transparent)}.word-panel-explain-content{width:100%}.word-panel-explain-content[hidden]{display:none!important}.word-panel-search-section{display:grid;gap:8px}.word-panel-search-section>.button{width:fit-content;min-height:30px;padding:0 10px;font-size:12px}.word-panel-backdrop{display:none!important}.reader-resize-handle{display:none}@media (max-width: 960px){.word-panel{position:fixed;top:auto;right:max(8px,env(safe-area-inset-right));bottom:0;left:max(8px,env(safe-area-inset-left));z-index:55;box-sizing:border-box;width:auto;max-width:none;max-height:min(82dvh,calc(100dvh - env(safe-area-inset-top) - 18px));transform:none;border-radius:8px 8px 0 0}.word-panel-left{max-height:min(82dvh,calc(100dvh - env(safe-area-inset-top) - 18px));padding:14px}.word-panel-explain-open .word-panel-left{max-height:min(82dvh,calc(100dvh - env(safe-area-inset-top) - 18px))}.word-panel-right{max-height:36dvh}}@media (max-width: 780px),(pointer: coarse) and (max-width: 900px){body.reader-toc-mobile-open{overflow:hidden}.reader-main.toc-open{margin-left:0}.reader-main.toc-open .reader-shell-clean,.reader-main.toc-open .reader-shell-clean.reader-shell-pdf{width:100%}.toc-sidebar.toc-mobile-page{position:fixed;top:max(58px,calc(env(safe-area-inset-top) + 10px));right:max(12px,env(safe-area-inset-right));bottom:auto;left:max(12px,env(safe-area-inset-left));z-index:3600;display:block;width:auto!important;max-width:none;height:auto;max-height:min(74dvh,640px);overflow:hidden;border:1px solid #cbd2da;border-radius:8px;box-shadow:0 18px 46px #14191f3d}.toc-backdrop:not([hidden]){position:fixed;top:0;right:0;bottom:0;left:0;z-index:3590;display:block;background:#14191f47}.toc-sidebar.toc-mobile-page .toc-inner{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:min(74dvh,640px);overflow:hidden}.toc-sidebar.toc-mobile-page .toc-header{min-height:48px;padding:9px 12px;border-bottom:1px solid #cbd2da}.toc-sidebar.toc-mobile-page .toc-header h2{font-size:17px;line-height:1.25}.toc-sidebar.toc-mobile-page .toc-close-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding-inline:10px}.toc-sidebar.toc-mobile-page .toc-nav{align-content:start;gap:8px;min-height:0;overflow-y:auto;padding:10px 12px 14px}.toc-sidebar.toc-mobile-page .toc-chapter-button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:50px;padding:8px 10px;text-align:left}.toc-sidebar.toc-mobile-page .toc-chapter-button span{white-space:nowrap}.toc-sidebar.toc-mobile-page .toc-resize-handle{display:none}}@media (max-width: 520px){.word-panel-head{align-items:stretch;flex-direction:column}.status-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.status-card-grid .status-chip,.status-card-grid .button{min-width:0;padding-inline:6px;white-space:nowrap}}body[data-reader-theme=dark]:has(#readerContent) .vue-topbar{background:#12171fd6;border-bottom-color:#3d4858b8;box-shadow:0 12px 34px #00000057}body[data-reader-theme=dark]:has(#readerContent) .vue-nav-popover,body[data-reader-theme=dark]:has(#readerContent) .vue-card-menu,body[data-reader-theme=dark]:has(#readerContent) .table-popover{border-color:#313b4a;background:#171d27;box-shadow:0 24px 60px #00000075}body[data-reader-theme=dark]:has(#readerContent) .vue-nav-popover .button,body[data-reader-theme=dark]:has(#readerContent) .vue-card-menu .button{background:transparent;color:var(--text)}body[data-reader-theme=dark]:has(#readerContent) .vue-nav-popover .button:hover,body[data-reader-theme=dark]:has(#readerContent) .vue-nav-popover .button.active,body[data-reader-theme=dark]:has(#readerContent) .vue-card-menu .button:hover{border-color:#6db7de94;background:#203044;color:#d5f0ff}.auth-shell{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px);padding:32px 16px}.auth-card{width:100%;max-width:400px;background:var(--bg);border:1px solid rgba(0,0,0,.1);border-radius:16px;padding:40px 36px;box-shadow:0 4px 24px #0000000f}.auth-title{font-size:2rem;font-weight:700;text-align:center;margin:0 0 4px;color:var(--text);letter-spacing:-.02em}.auth-subtitle{text-align:center;color:var(--text-muted);margin:0 0 28px;font-size:.92rem}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:500;color:var(--text-muted)}.auth-form input{width:100%;padding:10px 14px;border:1px solid rgba(0,0,0,.15);border-radius:8px;font-size:.95rem;background:var(--bg);color:var(--text);transition:border-color .15s;box-sizing:border-box}.auth-form input:focus{outline:none;border-color:#3898c9;box-shadow:0 0 0 3px #3898c91f}.auth-form input:disabled{opacity:.6;cursor:not-allowed}.auth-submit{margin-top:8px;padding:12px 20px;font-size:.95rem;border-radius:8px;width:100%}.auth-switch{text-align:center;margin:20px 0 0;font-size:.88rem;color:var(--text-muted)}.auth-switch a{color:#3898c9;cursor:pointer;text-decoration:none;font-weight:500}.auth-switch a:hover{text-decoration:underline}.vue-code-row{display:flex;gap:8px;align-items:center}.vue-code-input{flex:1;min-width:0}.vue-code-btn{white-space:nowrap;padding:10px 16px;font-size:.85rem;border-radius:8px;flex-shrink:0}.vue-account-menu{position:relative}.vue-avatar-btn{display:flex;align-items:center;gap:6px;padding:5px 12px 5px 6px;border:1px solid rgba(0,0,0,.12);border-radius:24px;background:var(--bg);color:var(--text);cursor:pointer;font-size:.88rem;font-family:inherit;transition:border-color .15s,background .15s;margin-left:8px}.vue-avatar-btn:hover,.vue-avatar-btn[aria-expanded=true]{border-color:#3898c980;background:#3898c90f}.vue-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#3898c9;color:#fff;font-size:.82rem;font-weight:600;flex-shrink:0}.vue-avatar-img{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.vue-avatar-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vue-avatar-email{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8em;color:var(--text-secondary, #888)}.vue-book-popover{min-width:130px}.vue-account-popover{right:0;left:auto!important;min-width:160px}.vue-popover-divider{margin:4px 8px;border:none;border-top:1px solid rgba(0,0,0,.08)}.vue-logout-btn{width:100%;text-align:left;color:#f87171}.vue-logout-btn:hover{background:#f8717114;color:#ef4444}.vue-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0006}.vue-modal{background:#fff;border-radius:12px;padding:28px 32px;box-shadow:0 8px 32px #0000002e;max-height:90vh;overflow-y:auto}.account-modal{max-width:400px;width:90%}.account-modal h2{margin:0 0 20px;font-size:1.2rem}.account-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.password-change-toggle{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;padding:0;text-align:left;width:fit-content}.password-change-toggle:hover{text-decoration:underline}.vue-success-text{color:#16a34a;font-size:.85rem;margin:0}.avatar-upload-row{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(0,0,0,.06)}.avatar-upload-preview{flex-shrink:0}.avatar-upload-img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid rgba(0,0,0,.08)}.avatar-upload-placeholder{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#3898c9;color:#fff;font-size:1.5rem;font-weight:600}.avatar-upload-actions{display:flex;flex-direction:column;gap:8px}.avatar-upload-btn{cursor:pointer;font-size:.85rem}.avatar-remove-btn{font-size:.8rem;color:#f87171;border-color:transparent;background:transparent;padding:4px 8px}.avatar-remove-btn:hover{background:#f8717114}.mgmt-shell{width:min(960px,calc(100vw - 32px));margin:28px auto 56px;padding:0;overflow:hidden}.mgmt-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.mgmt-header-left{display:flex;align-items:baseline;gap:10px}.mgmt-header-left h2{margin:0;font-size:1.3rem}.mgmt-count{font-size:.82rem;color:var(--text-secondary, #888);font-weight:500}.mgmt-header-actions{display:flex;gap:8px}.mgmt-stats{display:flex;gap:12px;margin-bottom:20px;overflow:hidden}.mgmt-stat-card{flex:1;padding:16px;background:var(--card-bg, #fff);border:1px solid rgba(0,0,0,.06);border-radius:10px;text-align:center;box-shadow:0 1px 4px #00000008;box-sizing:border-box}.mgmt-stat-value{font-size:1.4rem;font-weight:700;color:var(--text, #333);line-height:1.2}.mgmt-stat-label{font-size:.78rem;color:var(--text-secondary, #888);margin-top:4px}.mgmt-stat-hard .mgmt-stat-value{color:#ef4444}.mgmt-import-card{padding:16px;margin-bottom:20px;background:var(--card-bg, #fff);border:1px solid rgba(0,0,0,.06);border-radius:10px;box-shadow:0 2px 8px #0000000a}.mgmt-import-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mgmt-file-field{flex:1;min-width:200px}.mgmt-empty{padding:48px 24px;text-align:center;color:var(--text-secondary, #888)}.mgmt-empty-icon{font-size:2.4rem;margin-bottom:12px}.mgmt-empty h3{margin:0 0 6px;font-size:1.05rem;color:var(--text, #333)}.mgmt-empty p{margin:0;font-size:.88rem}.mgmt-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;margin-bottom:2px;border:1px solid #e5ebf4;border-bottom:none;border-radius:8px 8px 0 0;background:#ffffffc7;font-size:.88rem}.mgmt-toolbar-left{display:flex;align-items:center;gap:10px}.mgmt-toolbar-right{display:flex;gap:6px}.mgmt-card-grid{display:flex;flex-wrap:wrap;gap:16px}.mgmt-card{display:flex;align-items:stretch;gap:16px;padding:16px;width:calc(50% - 8px);background:var(--card-bg, #fff);border:1px solid rgba(0,0,0,.06);border-radius:12px;box-shadow:0 1px 4px #00000008;transition:box-shadow .15s,border-color .15s;box-sizing:border-box}.mgmt-card:hover{border-color:#3898c933;box-shadow:0 2px 10px #3898c914}.mgmt-card-selected{border-color:#3898c959!important;background:#3898c90a}.mgmt-card-check{display:flex;align-items:flex-start;padding-top:2px}.mgmt-card-check input{width:15px;height:15px;cursor:pointer}.mgmt-card-cover{display:block;width:72px;height:100px;border-radius:6px;overflow:hidden;flex-shrink:0}.mgmt-card-cover img{width:100%;height:100%;object-fit:cover}.mgmt-cover-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:22px;font-weight:700}.mgmt-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.mgmt-card-title{font-weight:600;font-size:1rem;color:var(--text, #333);text-decoration:none;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.mgmt-card-title:hover{color:var(--blue-strong, #3898c9)}.mgmt-card-tags{display:flex;gap:4px;flex-wrap:wrap}.mgmt-card-stats{display:flex;gap:12px;font-size:.82rem;color:var(--text-secondary, #888);margin-top:auto}.mgmt-card-stats b{color:var(--text, #333);font-weight:600}.mgmt-material-debug{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}.mgmt-material-debug span{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid #d8e4ef;border-radius:7px;background:#f8fafc;color:#52677f;font-size:11px;font-weight:750;line-height:1.2}.mgmt-card-date{margin-left:auto}.mgmt-card-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0;align-items:center;justify-content:flex-start;padding-top:2px}.mgmt-action-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;border:1px solid rgba(0,0,0,.08);border-radius:6px;background:transparent;cursor:pointer;font-size:14px;transition:background .15s,border-color .15s}.mgmt-action-btn:hover{background:#3898c914;border-color:#3898c94d}.mgmt-action-analyze{width:38px;color:#22577a;font-size:11px;font-weight:850}.mgmt-action-danger:hover{background:#f8717114;border-color:#f871714d}.mgmt-tag{font-size:.72rem;padding:1px 6px;border-left:3px solid;border-radius:3px;background:#00000008;color:var(--text-secondary, #888)}@media (max-width: 980px){.material-summary-band{grid-template-columns:1fr}.material-detail-head{flex-direction:column}.material-detail-actions{justify-content:flex-start}}@media (max-width: 640px){.material-detail-shell{width:min(100vw - 24px,100%);margin:14px auto 40px}.material-detail-head h1{font-size:23px}.material-score-grid{grid-template-columns:1fr}.material-score-grid div,.material-score-grid div:nth-child(2n),.material-score-grid div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid #e6edf5}.material-score-grid div:last-child{border-bottom:0}.material-section-title{align-items:flex-start;flex-direction:column}.material-section-title select{width:100%;max-width:none}.material-chapter-grid{grid-template-columns:1fr}}@media (max-width: 780px){.mgmt-shell{width:min(100vw - 24px,100%);margin:14px auto 40px}.mgmt-header{margin-bottom:14px}.mgmt-header-left h2{font-size:1.15rem}.mgmt-stats{flex-wrap:wrap;gap:8px;margin-bottom:14px}.mgmt-stat-card{flex:0 0 calc(50% - 4px);padding:12px}.mgmt-stat-value{font-size:1.2rem}.mgmt-card-grid{gap:10px}.mgmt-card{width:calc(50% - 5px);gap:10px;padding:10px}.mgmt-card-cover{width:52px;height:72px}}@media (max-width: 480px){.mgmt-shell{width:min(100vw - 16px,100%);margin:10px auto 32px}.mgmt-card-grid{flex-direction:column}.mgmt-card{width:100%}.mgmt-card-cover{width:60px;height:84px}}:root{--zotero-sidebar-width: 224px;--bg: #eef1f4;--surface: #ffffff;--surface-2: #f3f5f7;--surface-raised: #ffffff;--surface-reader: #fffdf8;--text: #1f252d;--text-strong: #14191f;--text-secondary: #596573;--text-muted: #6d7784;--muted: #7a8491;--line: #cfd6de;--line-light: #e0e5eb;--blue: #dceaf8;--blue-strong: #2d6fad;--blue-deep: #1f5d91;--green: #dfeee6;--green-strong: #347b55;--red: #f9d9df;--red-strong: #b64b5f;--amber: #f5ead0;--amber-strong: #9b6c22;--plum: #e6e0ef;--plum-strong: #675987;--card-bg: #ffffff;--accent: var(--blue-strong);--radius-sm: 4px;--radius: 5px;--radius-lg: 6px;--shadow-sm: 0 1px 1px rgba(20, 25, 31, .04);--shadow: 0 1px 3px rgba(20, 25, 31, .08);--shadow-lg: 0 10px 28px rgba(20, 25, 31, .18)}body{background:var(--bg);color:var(--text);font-family:Segoe UI,Microsoft YaHei,PingFang SC,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.vue-topbar{position:sticky;top:0;z-index:2200;min-height:50px;padding:0 16px;gap:12px;background:#f8f9fa;border-bottom:1px solid #cbd2da;box-shadow:0 1px #ffffffb8;-webkit-backdrop-filter:none;backdrop-filter:none}.vue-topbar.reader-route-topbar{position:sticky}.brand-button{min-height:36px;padding:0 10px;gap:8px;border-radius:5px;font-weight:650}.brand-button:hover{background:#eceff3}.brand-logo{width:24px;height:24px}.brand-text{color:#20262e;font-size:1.08rem;font-weight:650;letter-spacing:0}.reader-top-title{font-size:14px;font-weight:650}.reader-top-meta{color:var(--muted);font-size:11px}.reader-progress-bar{background:#d9dee5}.reader-progress-fill{background:#2d6fad}.zotero-sidebar{display:none}@media (min-width: 1081px){.zotero-sidebar{position:fixed;top:50px;bottom:0;left:0;z-index:1200;display:block;width:var(--zotero-sidebar-width);padding:14px 10px 18px;overflow-y:auto;border-right:1px solid #cbd2da;background:#f2f4f6}.zotero-sidebar-title{padding:5px 10px 9px;color:#4d5967;font-size:12px;font-weight:700}.zotero-sidebar-nav{display:grid;gap:2px}.zotero-sidebar-nav button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:32px;padding:4px 10px;border:1px solid transparent;border-radius:4px;background:transparent;color:#26313d;cursor:pointer;font:inherit;text-align:left}.zotero-sidebar-nav button:hover{background:#e7eaee}.zotero-sidebar-nav button.active{border-color:#b8cce2;background:#dceaf8;color:#1f5d91}.zotero-sidebar-nav span{min-width:0;overflow:hidden;font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.zotero-sidebar-nav small{color:#7a8491;font-size:10px;font-weight:600}body:has(.zotero-sidebar) .page-shell:not(.bookshelf-table):not(.terms-shell),body:has(.zotero-sidebar) .readme-shell{width:calc(100vw - var(--zotero-sidebar-width) - 48px);max-width:none;margin-right:24px;margin-left:calc(var(--zotero-sidebar-width) + 24px)}body:has(.zotero-sidebar) .page-shell.bookshelf-table,body:has(.zotero-sidebar) .page-shell.terms-shell{width:calc(100vw - var(--zotero-sidebar-width));max-width:none;margin:0 0 48px var(--zotero-sidebar-width);padding:0 0 24px}}.nav a,.button,.sort-link,.summary-chip,.status-chip,.vue-tag-icon,.vue-more-button,.vue-dropdown-button,.vue-avatar-btn{min-height:30px;padding:0 10px;border:1px solid #cfd6de;border-radius:4px;background:#f8f9fa;color:#26313d;box-shadow:none;font-size:13px;font-weight:500;transform:none}.nav a:hover,.button:hover,.sort-link:hover,.summary-chip:hover,.status-chip:hover,.vue-tag-icon:hover,.vue-more-button:hover,.vue-dropdown-button:hover,.vue-avatar-btn:hover{border-color:#b9c3ce;background:#fff;box-shadow:none;color:#14191f;transform:none}.nav a.active,.sort-link.active,.button.primary,.button.active,.summary-chip.active,.vue-dropdown-button[aria-expanded=true],.vue-avatar-btn[aria-expanded=true]{border-color:#9db9d8;background:#e4f0fb;color:var(--blue-deep);box-shadow:none;font-weight:650}.button.primary:hover,.button.active:hover,.summary-chip.active:hover{border-color:#8aaed2;background:#dceaf8;color:var(--blue-deep)}.button.danger{border-color:#dfb5be;background:#fbf1f3;color:#9d3248}.button.danger:hover{border-color:#cb8d9a;background:#f8e3e7;color:#8f2c40}.vue-nav-popover,.vue-card-menu,.vue-custom-select-menu,.table-popover,.terms-book-menu,.terms-action-popover{gap:2px;padding:5px;border:1px solid #c8d0d8;border-radius:5px;background:#fff;box-shadow:0 10px 26px #14191f2e}.vue-nav-popover .button,.vue-card-menu .button,.terms-action-popover .button{min-height:28px;border-color:transparent;background:transparent;box-shadow:none}.vue-nav-popover .button:hover,.vue-nav-popover .button.active,.vue-card-menu .button:hover,.vue-custom-select-menu button:hover,.vue-custom-select-menu button.active,.terms-action-popover .button:hover{border-color:transparent;background:#e8f1fb;color:var(--blue-deep)}.vue-toolbar,.bookshelf-toolbar,.bookstore-toolbar,.terms-search-row,.terms-action-row,.terms-bulk-row,.pager,.mgmt-toolbar{border:1px solid #cfd6de;border-radius:5px;background:#f5f7f9;box-shadow:none}.page-shell.bookshelf-table .bookshelf-toolbar{position:sticky;top:50px;z-index:1100;margin:0;border-top:0;border-right:0;border-left:0;border-radius:0;background:#f5f7f9}.page-shell.bookshelf-cards,.page-shell.terms-shell,.page-shell,.settings-shell,.statistics-shell,.mgmt-shell{animation:none}.vue-page-hero{margin:0 0 14px;padding:14px 16px;border-color:#cfd6de;border-radius:5px;background:#fff;box-shadow:none}.vue-page-hero h1{font-size:22px;font-weight:650}.vue-page-hero p,.vue-kicker{color:#6d7784;font-size:12px;font-weight:600;text-transform:none}.vue-form-grid input,.vue-form-grid textarea,.vue-form-grid select,.settings-form input,.settings-form select,.terms-search-form input,.terms-search-form select,.terms-bulk-search input[type=search],.auth-form input,.vue-custom-select-trigger{min-height:34px;border-color:#cfd6de;border-radius:4px;background-color:#fff;box-shadow:none;color:#20262e;font-weight:500}.vue-form-grid input:focus,.vue-form-grid textarea:focus,.vue-form-grid select:focus,.settings-form input:focus,.settings-form select:focus,.terms-search-form input:focus,.terms-search-form select:focus,.auth-form input:focus{border-color:#7ea9d0;box-shadow:0 0 0 2px #2d6fad29}.vue-file-field{border-color:#b9c3ce;border-radius:4px;background:#f8f9fa;color:#245f95;box-shadow:none}.vue-file-field:hover{border-color:#8aaed2;background:#eef6ff;box-shadow:none;transform:none}.settings-layout,.import-cards,.statistics-shell .statistics-layout{gap:12px}.settings-section{gap:14px;padding:16px;background:#fff}.settings-section-head{padding-bottom:10px}.settings-section-icon{min-width:34px;height:28px;border-color:#cbd8e5;border-radius:4px;background:#e8f1fb;color:#245f95;font-weight:650}.settings-savebar{bottom:10px;border-color:#c6ced7;border-radius:5px;background:#f8f9faf5;box-shadow:0 4px 18px #14191f1f}.auth-card{border-color:#cfd6de;border-radius:6px;background:#fff;box-shadow:none}.auth-title{color:#17212f;font-size:1.7rem;font-weight:650;letter-spacing:0}.vue-modal-overlay,.vue-tag-overlay{background:#14191f57;-webkit-backdrop-filter:none;backdrop-filter:none}.mgmt-card:hover,.progress-order-item:hover,.term-image-result:hover{border-color:#9db9d8;box-shadow:none;transform:none}body[data-reader-theme=dark]:has(#readerContent) .vue-topbar{background:#191e25f5;border-bottom-color:#39424d;box-shadow:none}body[data-reader-theme=dark]:has(#readerContent) .brand-button,body[data-reader-theme=dark]:has(#readerContent) .button,body[data-reader-theme=dark]:has(#readerContent) .vue-dropdown-button,body[data-reader-theme=dark]:has(#readerContent) .vue-avatar-btn{border-color:#3a4654;background:#222933;color:#d8dee7}body:has(.zotero-shell){overflow:hidden;background:#eef1f4}.zotero-shell{display:grid;grid-template-columns:minmax(420px,1fr) 340px;height:calc(100vh - 50px);min-height:0;border-top:1px solid #cfd6de;background:#eef1f4}.zotero-shell-main,.zotero-shell-detail{min-height:0}.zotero-shell-main{display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden;border-right:1px solid #c9d1d9;background:#fff}.zotero-shell-main.has-toolbar{grid-template-rows:auto minmax(0,1fr)}.zotero-shell-toolbar{border-bottom:1px solid #cfd6de;background:#f7f8fa}.zotero-shell-list{min-height:0;overflow:auto;background:#fff}.zotero-book-cover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));align-content:start;gap:20px 18px;padding:18px}.zotero-book-cover-card{position:relative;display:grid;min-width:0;gap:8px;padding:4px;border-radius:6px;color:#20262e;cursor:pointer}.zotero-book-cover-card:focus-visible{outline:2px solid #7fa8d0;outline-offset:2px}.zotero-book-cover-card.active{background:#eef6ff}.zotero-book-cover-card.selected{background:#f1f7ff;box-shadow:inset 0 0 0 1px #b9cfe7}.zotero-book-cover-art{display:grid;place-items:center;width:100%;aspect-ratio:2 / 3;overflow:hidden;border:1px solid #d6dce3;border-radius:5px;background:linear-gradient(180deg,#f7f8fa,#dfe5eb);color:#52606f;box-shadow:0 5px 14px #18202c24}.zotero-book-cover-art img{display:block;width:100%;height:100%;object-fit:cover}.zotero-book-cover-art>span{display:grid;place-items:center;width:100%;height:100%;padding:12px;color:inherit;font-size:18px;font-weight:750;text-align:center;overflow-wrap:anywhere}.zotero-book-cover-title{display:-webkit-box;min-height:34px;overflow:hidden;color:#18212b;font-size:13px;font-weight:650;line-height:1.3;text-align:center;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.zotero-book-cover-check{position:absolute;top:8px;left:8px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border:1px solid rgba(120,134,148,.5);border-radius:4px;background:#ffffffe0;box-shadow:0 2px 8px #18202c29;cursor:pointer;opacity:0;transition:opacity .12s ease}.zotero-book-cover-check input{margin:0}.zotero-book-cover-card:hover .zotero-book-cover-check,.zotero-book-cover-card:focus-within .zotero-book-cover-check,.zotero-book-cover-card.selected .zotero-book-cover-check{opacity:1}.zotero-book-cover-card:hover .zotero-book-cover-art{border-color:#9ebedc;box-shadow:0 7px 18px #18202c2e}.zotero-book-cover-card.active .zotero-book-cover-art,.zotero-book-cover-card.selected .zotero-book-cover-art{border-color:#2d6fad}.zotero-shell-detail{overflow-y:auto;background:#f7f8fa}.zotero-book-detail-panel{display:grid;gap:14px;padding:16px}.zotero-book-detail-panel.empty{align-content:center;min-height:100%;color:#6c7785}.zotero-book-detail-panel.empty h2,.zotero-book-detail-panel.empty p{margin:0}.zotero-detail-head{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px}.zotero-detail-cover{display:grid;place-items:center;width:52px;height:72px;overflow:hidden;border:1px solid #cfd6de;border-radius:4px;background:linear-gradient(180deg,#f7f8fa,#e4e9ee);color:#52606f;font-size:13px;font-weight:700}.zotero-detail-cover img{display:block;width:100%;height:100%;object-fit:cover}.zotero-detail-cover>span{display:grid;place-items:center;width:100%;height:100%;padding:6px;text-align:center;overflow-wrap:anywhere}.zotero-detail-head h2{margin:0;color:#17212f;font-size:17px;font-weight:700;line-height:1.25}.zotero-detail-head p{margin:5px 0 0;color:#6b7683;font-size:12px}.zotero-detail-actions{display:flex;flex-wrap:wrap;gap:6px}.zotero-detail-actions.secondary .button{flex:1 1 auto}.zotero-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border:1px solid #d6dce3;border-radius:5px;overflow:hidden;background:#fff}.zotero-detail-meta div{display:grid;gap:3px;padding:10px;border-right:1px solid #e1e6eb;border-bottom:1px solid #e1e6eb}.zotero-detail-meta div:nth-child(2n){border-right:0}.zotero-detail-meta div:nth-last-child(-n+2){border-bottom:0}.zotero-detail-meta dt{color:#728090;font-size:11px;font-weight:650}.zotero-detail-meta dd{margin:0;color:#1f2937;font-size:14px;font-weight:700}.zotero-detail-section{display:grid;gap:8px;padding-top:12px;border-top:1px solid #dce2e8}.zotero-detail-section h3{margin:0;color:#4e5b69;font-size:12px;font-weight:700}.zotero-detail-section p{margin:0;color:#647282;font-size:12px;line-height:1.55}.zotero-detail-tags{display:flex;flex-wrap:wrap;gap:5px}.zotero-mobile-sheet{display:none}@media (min-width: 768px) and (max-width: 1023px){body:has(.zotero-shell){overflow:hidden}.zotero-shell{grid-template-columns:minmax(0,1fr) 320px}.zotero-book-cover-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:18px 14px;padding:14px}}@media (max-width: 767px){body:has(.zotero-shell){overflow:auto}.zotero-shell{display:block;min-height:calc(100vh - 50px);height:auto;border-top:0}.zotero-shell-detail{display:none}.zotero-shell-main{display:block;min-height:0;border-right:0}.zotero-shell-toolbar{position:sticky;top:0;z-index:20}.zotero-shell-list{overflow:visible;padding:10px;background:#eef1f4}.zotero-book-cover-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:16px 12px;padding:4px}.zotero-book-cover-card{gap:6px;padding:3px}.zotero-book-cover-title{min-height:30px;font-size:12px;line-height:1.25}.zotero-book-cover-check{top:7px;left:7px;opacity:1}.zotero-mobile-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3200;display:none;align-items:flex-end;background:#14191f5c}.zotero-mobile-sheet.open{display:flex}.zotero-mobile-sheet-panel{width:100%;max-height:86vh;overflow-y:auto;border-radius:8px 8px 0 0;background:#f7f8fa;box-shadow:0 -14px 34px #14191f38}.zotero-mobile-sheet-close{position:sticky;top:0;z-index:1;width:100%;min-height:38px;border:0;border-bottom:1px solid #d4dbe3;background:#fff;color:#52606f;cursor:pointer;font:inherit;font-size:13px}}:root{color-scheme:dark;--bg: #1e1e1e;--surface: #252526;--surface-2: #2d2d30;--surface-raised: #1f1f1f;--surface-reader: #1e1e1e;--text: #cccccc;--text-strong: #f3f3f3;--text-secondary: #a8adb7;--muted: #858585;--line: #3c3c3c;--line-light: #2f3337;--blue: #094771;--blue-strong: #007acc;--blue-deep: #4fc1ff;--red: #5a1d25;--red-strong: #f44747;--green: #24422c;--green-strong: #6a9955;--amber: #5a4218;--amber-strong: #d7ba7d;--plum: #33284b;--plum-strong: #c586c0;--status-unknown-color: #569cd6;--status-known-color: #6a9955;--status-new-color: #f44747;--shadow-sm: none;--shadow: none;--shadow-lg: none;--radius-sm: 3px;--radius: 4px;--radius-lg: 4px}html,body{background:#1e1e1e}body{min-height:100vh;background:#1e1e1e;color:#ccc;font-size:13px}body::selection{background:#007acc61}:focus-visible{outline:1px solid #007acc;outline-offset:1px}.topbar,.vue-topbar{min-height:35px;padding:0 10px;gap:8px;border-bottom:1px solid #1b1b1c;background:#3c3c3c;box-shadow:none;color:#ccc;-webkit-backdrop-filter:none;backdrop-filter:none}.vue-topbar.reader-route-topbar{position:sticky;top:0}.topbar-left,.topbar-center,.topbar .nav{min-height:35px}.brand-button{min-height:32px;padding:0 8px;border-radius:0;color:#d4d4d4}.brand-logo{width:21px;height:21px;filter:saturate(.78) brightness(.92)}.brand-text{color:#d4d4d4;font-size:13px;font-weight:600;letter-spacing:0}.reader-top-title,.reader-top-meta,.reader-progress-page{color:#d4d4d4;font-size:11px;font-weight:400}.reader-top-meta{color:#9da5b4}.reader-progress-bar{height:3px;border-radius:0;background:#1e1e1e}.reader-progress-fill{background:#007acc}.button,.nav a,.sort-link,.summary-chip,.status-chip,.vue-dropdown-button,.vue-avatar-btn,.vue-tag-icon,.vue-more-button,.menu-trigger,.menu-item{min-height:26px;padding:0 9px;border:1px solid #3c3c3c;border-radius:2px;background:#2d2d30;box-shadow:none;color:#ccc;font-size:12px;font-weight:400;transform:none}.button:hover,.nav a:hover,.sort-link:hover,.summary-chip:hover,.status-chip:hover,.vue-dropdown-button:hover,.vue-avatar-btn:hover,.vue-tag-icon:hover,.vue-more-button:hover,.menu-trigger:hover,.menu-item:hover{border-color:#4b4b4f;background:#3a3d41;box-shadow:none;color:#f3f3f3;transform:none}.button.primary,.button.active,.nav a.active,.sort-link.active,.summary-chip.active,.vue-dropdown-button[aria-expanded=true],.vue-avatar-btn[aria-expanded=true]{border-color:#007acc;background:#0e639c;color:#fff;box-shadow:none;font-weight:500}.button.primary:hover,.button.active:hover,.summary-chip.active:hover{border-color:#1f8ad2;background:#17b;color:#fff}.button.danger,.vue-tag-icon.danger{border-color:#5a2a2e;background:#3a1f23;color:#f48771}.button.danger:hover,.vue-tag-icon.danger:hover{border-color:#f44747;background:#4a2327;color:#ffb3a7}.vue-avatar,.vue-avatar-img{width:22px;height:22px}.vue-avatar{background:#0e639c;color:#fff;font-size:11px}.vue-avatar-name{color:#d4d4d4;font-size:12px}.vue-nav-popover,.vue-card-menu,.vue-custom-select-menu,.table-popover,.terms-book-menu,.terms-action-popover,.floating-panel,.reader-menu-panel{gap:2px;padding:4px;border:1px solid #454545;border-radius:3px;background:#252526;box-shadow:0 10px 24px #00000057}.vue-nav-popover .button,.vue-card-menu .button,.terms-action-popover .button,.reader-menu-panel .menu-item{width:100%;justify-content:flex-start;min-height:26px;border-color:transparent;background:transparent}.vue-nav-popover .button:hover,.vue-nav-popover .button.active,.vue-card-menu .button:hover,.vue-custom-select-menu button:hover,.vue-custom-select-menu button.active,.terms-action-popover .button:hover,.reader-menu-panel .menu-item:hover{border-color:transparent;background:#04395e;color:#fff}.vue-popover-divider{border-top-color:#3c3c3c}.vue-page-hero,.vue-toolbar,.bookshelf-toolbar,.bookstore-toolbar,.terms-search-row,.terms-action-row,.terms-bulk-row,.pager,.mgmt-toolbar,.settings-panel,.settings-section,.import-card,.mgmt-import-card,.mgmt-stat-card,.mgmt-card,.version-card,.about-hero,.readme-content,.auth-card,.vue-modal,.vue-tag-panel{border:1px solid #3c3c3c;border-radius:3px;background:#252526;box-shadow:none;color:#ccc}.vue-page-hero{margin:0 0 10px;padding:12px 14px}.vue-page-hero h1,.auth-title,.settings-section h2,.version-card h2,.about-hero h1,.readme-content h1,.readme-content h2{color:#f3f3f3;font-size:20px;font-weight:600;letter-spacing:0}.vue-page-hero p,.auth-subtitle,.settings-section p,.version-card p,.about-hero p,.muted-text,.vue-kicker{color:#9da5b4;font-size:12px;font-weight:400;text-transform:none}.vue-form-grid input,.vue-form-grid textarea,.vue-form-grid select,.settings-form input,.settings-form select,.terms-search-form input,.terms-search-form select,.terms-bulk-search input[type=search],.auth-form input,.vue-custom-select-trigger{min-height:28px;border:1px solid #3c3c3c;border-radius:2px;background:#1e1e1e;box-shadow:none;color:#ccc;font-size:12px;font-weight:400}.vue-form-grid input:focus,.vue-form-grid textarea:focus,.vue-form-grid select:focus,.settings-form input:focus,.settings-form select:focus,.terms-search-form input:focus,.terms-search-form select:focus,.auth-form input:focus{border-color:#007acc;background:#1e1e1e;box-shadow:0 0 0 1px #007acc;outline:none}.vue-form-grid label,.auth-form label,.settings-form label{color:#9da5b4;font-size:12px}.vue-file-field{border-color:#3c3c3c;border-radius:3px;background:#1e1e1e;color:#4fc1ff;box-shadow:none}.vue-file-field:hover{border-color:#007acc;background:#252526;box-shadow:none;transform:none}.vue-loading,.vue-empty,.empty-state,.mgmt-empty{border:1px solid #3c3c3c;border-radius:3px;background:#252526;color:#9da5b4;box-shadow:none}.book-row,.book-stat-row,.book-stat-card,.summary-chip,.terms-stat-card,.terms-book-trigger,.table-wrap,.book-table-wrap,.shelf-table-wrap,.terms-table-wrap{border-color:#3c3c3c;background:#252526;box-shadow:none}.book-row{border-radius:3px}.book-row:hover,.book-row.selected,.mgmt-card:hover,.progress-order-item:hover,.term-image-result:hover{border-color:#007acc;background:#2a2d2e;box-shadow:none;transform:none}.book-title-row h2,.book-row h2,.mgmt-card-title,.table-book-title{color:#f3f3f3;font-weight:600}.book-meta,.book-stat-line span,.mgmt-card-stats,.mgmt-material-debug,.table-date{color:#9da5b4}.book-tag,.tag-category-btn,.material-fit-tag,.material-pbd-tag,.material-flow-tag{border-color:#3c3c3c;border-radius:2px;background:#1e1e1e;color:#c5c5c5}.material-analysis-link,.book-tag-chip{color:#4fc1ff}.book-cover,.table-cover,.zotero-detail-cover,.mgmt-card-cover{border-color:#3c3c3c;border-radius:2px;background:#1e1e1e;box-shadow:none;color:#4fc1ff}.shelf-data-table,.book-data-table,.terms-data-table,.word-table{border-collapse:collapse;background:#1e1e1e;color:#ccc}.shelf-data-table thead th,.book-data-table thead th,.terms-data-table thead th,.word-table thead th{height:32px;padding:0 10px;border-color:#3c3c3c;background:#252526;color:#9da5b4;font-size:11px;font-weight:600}.shelf-data-table tbody td,.book-data-table tbody td,.terms-data-table tbody td,.word-table tbody td{height:38px;padding:6px 10px;border-color:#333;background:#1e1e1e;color:#ccc;font-size:12px}.shelf-data-table tbody tr:hover td,.shelf-data-table tbody tr.selected td,.terms-data-table tbody tr:hover td,.terms-data-table tbody tr.selected td,.word-table tbody tr:hover td{background:#2a2d2e}.terms-data-table tbody tr.status-known td,.word-table tbody tr.status-known td{background:#6a995514;color:#d4d4d4}.terms-data-table tbody tr.status-unknown td,.word-table tbody tr.status-unknown td{background:#569cd614;color:#d4d4d4}.terms-data-table tbody tr.status-new td,.word-table tbody tr.status-new td{background:#f4474717;color:#f0c6c6}.terms-data-table tbody tr.status-known:hover td,.word-table tbody tr.status-known:hover td,.terms-data-table tbody tr.status-unknown:hover td,.word-table tbody tr.status-unknown:hover td,.terms-data-table tbody tr.status-new:hover td,.word-table tbody tr.status-new:hover td{background:#2a2d2e}.terms-data-table tbody td.status-known,.word-table tbody td.status-known,.terms-data-table tbody .status-known:not(.status-chip),.word-table tbody .status-known:not(.status-chip){background:#6a99551f;color:#b5cea8}.terms-data-table tbody td.status-unknown,.word-table tbody td.status-unknown,.terms-data-table tbody .status-unknown:not(.status-chip),.word-table tbody .status-unknown:not(.status-chip){background:#569cd61f;color:#9cdcfe}.terms-data-table tbody td.status-new,.word-table tbody td.status-new,.terms-data-table tbody .status-new:not(.status-chip),.word-table tbody .status-new:not(.status-chip){background:#f4474724;color:#f48771}.terms-dashboard-row,.terms-action-row,.page-shell.terms-shell .pager{background:#1e1e1e}.terms-stat-card.status-known{background:#252526}.terms-stat-card.status-unknown{border-color:#376c97;background:#15364e;color:#9cdcfe}.terms-stat-card.status-new{border-color:#8f3030;background:#4a2424;color:#f48771}.terms-stat-card.active{border-color:#007acc;background:#094771;color:#fff;box-shadow:inset 2px 0 #007acc}.status-progress{overflow:hidden;border:1px solid #333333;border-radius:2px;background:#1e1e1e}.progress-segment{min-width:0}body:has(.zotero-shell){overflow:hidden;background:#1e1e1e}body:has(.zotero-shell) .vue-topbar{position:relative;top:auto}.zotero-shell{grid-template-columns:minmax(420px,1fr) 340px;height:calc(100vh - 35px);border-top:0;background:#1e1e1e}.zotero-shell-main{border-right:1px solid #1b1b1c;background:#1e1e1e}.zotero-shell-toolbar{border-bottom:1px solid #1b1b1c;background:#252526}.zotero-shell-list{background:#1e1e1e}.zotero-book-cover-grid{gap:16px 14px;padding:14px}.zotero-book-cover-card{border-radius:4px;color:#ccc}.zotero-book-cover-card:focus-visible{outline-color:#007acc}.zotero-book-cover-card.active,.zotero-book-cover-card.selected{background:#2a2d2e}.zotero-book-cover-card.selected{box-shadow:inset 0 0 0 1px #007acc}.zotero-book-cover-art{border-color:#3c3c3c;border-radius:3px;background:linear-gradient(180deg,#2a2d2e,#1e1e1e);color:#ccc;box-shadow:none}.zotero-book-cover-title{color:#d4d4d4;font-size:12px;font-weight:500}.zotero-book-cover-check{border-color:#3c3c3c;background:#1e1e1ee0;box-shadow:0 2px 8px #00000047}.zotero-book-cover-card:hover .zotero-book-cover-art{border-color:#007acc;box-shadow:0 0 0 1px #007acc59}.zotero-book-cover-card.active .zotero-book-cover-art,.zotero-book-cover-card.selected .zotero-book-cover-art{border-color:#007acc;box-shadow:0 0 0 1px #007acc}.zotero-shell-detail{background:#252526}.zotero-book-detail-panel{gap:10px;padding:12px;color:#ccc}.zotero-book-detail-panel.empty{color:#858585}.zotero-detail-head{grid-template-columns:46px minmax(0,1fr);gap:10px}.zotero-detail-cover{width:46px;height:62px}.zotero-detail-head h2{color:#f3f3f3;font-size:14px;font-weight:600}.zotero-detail-head p{color:#858585;font-size:11px}.zotero-detail-actions{gap:5px}.zotero-detail-meta{border-color:#3c3c3c;border-radius:3px;background:#1e1e1e}.zotero-detail-meta div{padding:8px;border-color:#333}.zotero-detail-meta dt{color:#858585;font-size:10px}.zotero-detail-meta dd{color:#d4d4d4;font-size:13px;font-weight:600}.zotero-detail-section{gap:6px;padding-top:10px;border-top-color:#3c3c3c}.zotero-detail-section h3{color:#ccc;font-size:11px;font-weight:600;text-transform:uppercase}.zotero-detail-section p{color:#9da5b4;font-size:11px}.reader-main{background:#1e1e1e}.reader-shell-clean{padding-top:8px}.reader-content,.reader-page-nav,.reader-difficulty-strip{border-color:#3c3c3c;border-radius:3px;background:#1e1e1e;box-shadow:none;color:#d4d4d4}.reader-content{min-height:calc(100vh - 116px);color:var(--reader-text-color, #ffffff)}.reader-page-nav,.reader-difficulty-strip{padding:7px 10px;color:#9da5b4;font-size:12px}.reader-difficulty-pill{border-radius:2px}.toc-sidebar,.word-panel{border-color:#3c3c3c;border-radius:3px;background:#252526;box-shadow:0 14px 34px #00000061;color:#ccc}.toc-inner h2,.word-panel h2,.word-panel h3{color:#f3f3f3;font-size:13px;font-weight:600}.toc-chapter-button,.word-panel-actions .button,.term-image-search-panel{border-color:#3c3c3c;background:#1e1e1e;color:#ccc}.toc-chapter-button:hover,.toc-chapter-button.active{background:#04395e;color:#fff}.word-panel-left{border-color:#3c3c3c}.word-panel-section{border-top-color:#3c3c3c}.word-panel-section-title{color:#858585}.word-panel-term-badge.status-known{border-color:color-mix(in srgb,var(--status-known-color) 68%,transparent);background:color-mix(in srgb,var(--status-known-color) 32%,transparent)}.word-panel-term-badge.status-unknown{border-color:color-mix(in srgb,var(--status-unknown-color) 68%,transparent);background:color-mix(in srgb,var(--status-unknown-color) 32%,transparent)}.word-panel-term-badge.status-new{border-color:color-mix(in srgb,var(--status-new-color) 72%,transparent);background:color-mix(in srgb,var(--status-new-color) 34%,transparent)}.word-panel-right{background:#1e1e1e}.explain-content{color:#d4d4d4}.reader-content .token.word{margin:0 1px;padding:1px 2px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--reader-text-color, #ffffff);box-shadow:none}.reader-content .token.punct{color:var(--reader-text-color, #ffffff)}.reader-content .token.word.status-known{border-color:transparent;background:transparent;color:var(--reader-text-color, #ffffff)}.reader-content .token.word.status-unknown{border-color:var(--status-unknown-color);background:var(--status-unknown-color);color:var(--reader-text-color, #ffffff)}.reader-content .token.word.status-new{border-color:var(--status-new-color);background:var(--status-new-color);color:var(--reader-text-color, #ffffff)}.reader-content .token.word:hover,.reader-content .token.word.word-focus,body[data-reader-theme=dark]:has(#readerContent) .token.word.word-focus,body[data-reader-theme=dark]:has(#readerContent) .token.word.word-focus.status-known,body[data-reader-theme=dark]:has(#readerContent) .token.word.word-focus.status-unknown,body[data-reader-theme=dark]:has(#readerContent) .token.word.word-focus.status-new{border-color:#007acc;background:#04395e;color:var(--reader-text-color, #ffffff);outline:none}.reader-content .token.word.status-known:hover,.reader-content .token.word.status-known.word-focus,body[data-reader-theme=dark]:has(#readerContent) .token.word.word-focus.status-known{border-color:transparent;background:transparent;color:var(--reader-text-color, #ffffff)}.reader-content .token.word.status-unknown:hover,.reader-content .token.word.status-unknown.word-focus,body[data-reader-theme=dark]:has(#readerContent) .token.word.word-focus.status-unknown{border-color:var(--status-unknown-color);background:var(--status-unknown-color);color:var(--reader-text-color, #ffffff)}.reader-content .token.word.status-new:hover,.reader-content .token.word.status-new.word-focus,body[data-reader-theme=dark]:has(#readerContent) .token.word.word-focus.status-new{border-color:var(--status-new-color);background:var(--status-new-color);color:var(--reader-text-color, #ffffff)}.reader-content .token.phrase-term{border-bottom-color:#c586c0}.term-image-search-grid img,.term-image-box img{background:#1e1e1e}.vue-tag-overlay,.vue-modal-overlay,.toc-backdrop,.word-panel-backdrop{background:#0000008c;-webkit-backdrop-filter:none;backdrop-filter:none}.vue-tag-select,.vue-tag-item.editing,.vue-tag-create input{border-color:#3c3c3c;background:#1e1e1e;color:#ccc}.vue-tag-item.active .vue-tag-select{border-color:#007acc;background:#04395e}@media (max-width: 1080px){.zotero-shell{grid-template-columns:minmax(0,1fr) 320px}}@media (max-width: 780px){body{font-size:12px}.vue-topbar{min-height:46px;padding:0 10px;background:#3c3c3c}.topbar-left,.topbar-center,.topbar .nav{min-height:46px}.reader-content{padding:18px}}@media (max-width: 767px){body:has(.zotero-shell){overflow:auto}.zotero-shell{display:block;height:auto;min-height:calc(100vh - 46px)}.zotero-shell-detail{display:none}.zotero-shell-main{display:block;border-right:0}.zotero-shell-toolbar{position:sticky;top:0;z-index:20}.zotero-shell-list{padding:8px}.zotero-book-cover-grid{gap:14px 10px;padding:4px}.zotero-mobile-sheet{background:#00000094}.zotero-mobile-sheet-panel{border-top:1px solid #3c3c3c;border-radius:4px 4px 0 0;background:#252526;box-shadow:0 -16px 34px #0000006b}.zotero-mobile-sheet-close{border-bottom-color:#3c3c3c;background:#1e1e1e;color:#ccc}}:root[data-app-theme=light]{color-scheme:light;--bg: #ffffff;--surface: #f3f3f3;--surface-2: #e8e8e8;--surface-raised: #ffffff;--surface-reader: #ffffff;--text: #1f2328;--text-strong: #111827;--text-secondary: #57606a;--muted: #6e7781;--line: #d0d7de;--line-light: #e5e7eb;--blue: #dbeafe;--blue-strong: #0969da;--blue-deep: #075db3;--red: #ffebe9;--red-strong: #cf222e;--green: #dafbe1;--green-strong: #1a7f37;--amber: #fff8c5;--amber-strong: #9a6700;--plum: #fbefff;--plum-strong: #8250df;--status-unknown-color: #9cdcfe;--status-known-color: #b5cea8;--status-new-color: #f48771}body[data-app-theme=light],body[data-app-theme=light]:has(.zotero-shell),body[data-app-theme=light]:has(#readerContent){background:#fff;color:#1f2328}body[data-app-theme=light] .topbar,body[data-app-theme=light] .vue-topbar,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .topbar,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .vue-topbar{border-bottom-color:#c8c8c8;background:#ddd;color:#1f2328}body[data-app-theme=light] .brand-button,body[data-app-theme=light] .brand-text,body[data-app-theme=light] .vue-avatar-name,body[data-app-theme=light] .reader-top-title,body[data-app-theme=light] .reader-progress-page{color:#1f2328}body[data-app-theme=light] .reader-top-meta{color:#57606a}body[data-app-theme=light] .button,body[data-app-theme=light] .nav a,body[data-app-theme=light] .sort-link,body[data-app-theme=light] .summary-chip,body[data-app-theme=light] .status-chip,body[data-app-theme=light] .vue-dropdown-button,body[data-app-theme=light] .vue-avatar-btn,body[data-app-theme=light] .vue-tag-icon,body[data-app-theme=light] .vue-more-button,body[data-app-theme=light] .menu-trigger,body[data-app-theme=light] .menu-item,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .button,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .menu-trigger,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .menu-item{border-color:#c8c8c8;background:#f3f3f3;color:#1f2328}body[data-app-theme=light] .button:hover,body[data-app-theme=light] .nav a:hover,body[data-app-theme=light] .sort-link:hover,body[data-app-theme=light] .summary-chip:hover,body[data-app-theme=light] .status-chip:hover,body[data-app-theme=light] .vue-dropdown-button:hover,body[data-app-theme=light] .vue-avatar-btn:hover,body[data-app-theme=light] .vue-tag-icon:hover,body[data-app-theme=light] .vue-more-button:hover,body[data-app-theme=light] .menu-trigger:hover,body[data-app-theme=light] .menu-item:hover{border-color:#9aa0a6;background:#e8e8e8;color:#111827}body[data-app-theme=light] .button.primary,body[data-app-theme=light] .button.active,body[data-app-theme=light] .nav a.active,body[data-app-theme=light] .sort-link.active,body[data-app-theme=light] .summary-chip.active,body[data-app-theme=light] .vue-dropdown-button[aria-expanded=true],body[data-app-theme=light] .vue-avatar-btn[aria-expanded=true]{border-color:#0969da;background:#0969da;color:#fff}body[data-app-theme=light] .button.danger,body[data-app-theme=light] .vue-tag-icon.danger{border-color:#f1aeb5;background:#ffebe9;color:#cf222e}body[data-app-theme=light] .vue-nav-popover,body[data-app-theme=light] .vue-card-menu,body[data-app-theme=light] .vue-custom-select-menu,body[data-app-theme=light] .table-popover,body[data-app-theme=light] .terms-book-menu,body[data-app-theme=light] .terms-action-popover,body[data-app-theme=light] .floating-panel,body[data-app-theme=light] .reader-menu-panel{border-color:#d0d7de;background:#fff;box-shadow:0 10px 24px #1f232824}body[data-app-theme=light] .vue-nav-popover .button:hover,body[data-app-theme=light] .vue-nav-popover .button.active,body[data-app-theme=light] .vue-card-menu .button:hover,body[data-app-theme=light] .vue-custom-select-menu button:hover,body[data-app-theme=light] .vue-custom-select-menu button.active,body[data-app-theme=light] .terms-action-popover .button:hover,body[data-app-theme=light] .reader-menu-panel .menu-item:hover{background:#dbeafe;color:#075db3}body[data-app-theme=light] .vue-page-hero,body[data-app-theme=light] .vue-toolbar,body[data-app-theme=light] .bookshelf-toolbar,body[data-app-theme=light] .bookstore-toolbar,body[data-app-theme=light] .terms-search-row,body[data-app-theme=light] .terms-action-row,body[data-app-theme=light] .terms-bulk-row,body[data-app-theme=light] .pager,body[data-app-theme=light] .mgmt-toolbar,body[data-app-theme=light] .settings-panel,body[data-app-theme=light] .settings-section,body[data-app-theme=light] .import-card,body[data-app-theme=light] .mgmt-import-card,body[data-app-theme=light] .mgmt-stat-card,body[data-app-theme=light] .mgmt-card,body[data-app-theme=light] .version-card,body[data-app-theme=light] .about-hero,body[data-app-theme=light] .readme-content,body[data-app-theme=light] .auth-card,body[data-app-theme=light] .vue-modal,body[data-app-theme=light] .vue-tag-panel,body[data-app-theme=light] .empty-state,body[data-app-theme=light] .vue-loading{border-color:#d0d7de;background:#fff;color:#1f2328}body[data-app-theme=light] .vue-page-hero h1,body[data-app-theme=light] .auth-title,body[data-app-theme=light] .settings-section h2,body[data-app-theme=light] .version-card h2,body[data-app-theme=light] .about-hero h1,body[data-app-theme=light] .readme-content h1,body[data-app-theme=light] .readme-content h2,body[data-app-theme=light] .book-title-row h2,body[data-app-theme=light] .book-row h2,body[data-app-theme=light] .mgmt-card-title,body[data-app-theme=light] .table-book-title{color:#111827}body[data-app-theme=light] .vue-page-hero p,body[data-app-theme=light] .auth-subtitle,body[data-app-theme=light] .settings-section p,body[data-app-theme=light] .version-card p,body[data-app-theme=light] .about-hero p,body[data-app-theme=light] .muted-text,body[data-app-theme=light] .vue-kicker,body[data-app-theme=light] .book-meta,body[data-app-theme=light] .book-stat-line span,body[data-app-theme=light] .mgmt-card-stats,body[data-app-theme=light] .mgmt-material-debug,body[data-app-theme=light] .table-date{color:#57606a}body[data-app-theme=light] .vue-form-grid input,body[data-app-theme=light] .vue-form-grid textarea,body[data-app-theme=light] .vue-form-grid select,body[data-app-theme=light] .settings-form input,body[data-app-theme=light] .settings-form select,body[data-app-theme=light] .terms-search-form input,body[data-app-theme=light] .terms-search-form select,body[data-app-theme=light] .terms-bulk-search input[type=search],body[data-app-theme=light] .auth-form input,body[data-app-theme=light] .vue-custom-select-trigger{border-color:#d0d7de;background:#fff;color:#1f2328}body[data-app-theme=light] .vue-form-grid input:focus,body[data-app-theme=light] .vue-form-grid textarea:focus,body[data-app-theme=light] .vue-form-grid select:focus,body[data-app-theme=light] .settings-form input:focus,body[data-app-theme=light] .settings-form select:focus,body[data-app-theme=light] .terms-search-form input:focus,body[data-app-theme=light] .terms-search-form select:focus,body[data-app-theme=light] .auth-form input:focus{border-color:#0969da;box-shadow:0 0 0 1px #0969da}body[data-app-theme=light] .book-tag,body[data-app-theme=light] .tag-category-btn,body[data-app-theme=light] .material-fit-tag,body[data-app-theme=light] .material-pbd-tag,body[data-app-theme=light] .material-flow-tag{border-color:#d0d7de;background:#f6f8fa;color:#1f2328}body[data-app-theme=light] .material-analysis-link,body[data-app-theme=light] .book-tag-chip{color:#075db3}body[data-app-theme=light] .book-cover,body[data-app-theme=light] .table-cover,body[data-app-theme=light] .zotero-detail-cover,body[data-app-theme=light] .mgmt-card-cover{border-color:#d0d7de;background:#f6f8fa;color:#075db3}body[data-app-theme=light] .shelf-data-table,body[data-app-theme=light] .book-data-table,body[data-app-theme=light] .terms-data-table,body[data-app-theme=light] .word-table{background:#fff;color:#1f2328}body[data-app-theme=light] .shelf-data-table thead th,body[data-app-theme=light] .book-data-table thead th,body[data-app-theme=light] .terms-data-table thead th,body[data-app-theme=light] .word-table thead th{border-color:#d0d7de;background:#f6f8fa;color:#57606a}body[data-app-theme=light] .shelf-data-table tbody td,body[data-app-theme=light] .book-data-table tbody td,body[data-app-theme=light] .terms-data-table tbody td,body[data-app-theme=light] .word-table tbody td{border-color:#e5e7eb;background:#fff;color:#1f2328}body[data-app-theme=light] .shelf-data-table tbody tr:hover td,body[data-app-theme=light] .shelf-data-table tbody tr.selected td,body[data-app-theme=light] .terms-data-table tbody tr:hover td,body[data-app-theme=light] .terms-data-table tbody tr.selected td,body[data-app-theme=light] .word-table tbody tr:hover td{background:#f6f8fa}body[data-app-theme=light] .terms-data-table tbody tr.status-known td,body[data-app-theme=light] .word-table tbody tr.status-known td{background:#edf7ed;color:#1f2328}body[data-app-theme=light] .terms-data-table tbody tr.status-unknown td,body[data-app-theme=light] .word-table tbody tr.status-unknown td{background:#eff6ff;color:#1f2328}body[data-app-theme=light] .terms-data-table tbody tr.status-new td,body[data-app-theme=light] .word-table tbody tr.status-new td{background:#fff1f1;color:#1f2328}body[data-app-theme=light] .terms-dashboard-row,body[data-app-theme=light] .terms-action-row,body[data-app-theme=light] .page-shell.terms-shell .pager{background:#fff}body[data-app-theme=light] .terms-book-trigger,body[data-app-theme=light] .terms-stat-card{border-color:#d0d7de;background:#fff;color:#1f2328}body[data-app-theme=light] .terms-stat-card.status-known{background:#edf7ed;color:#1a7f37}body[data-app-theme=light] .terms-stat-card.status-unknown{border-color:#9ec8f6;background:#eff6ff;color:#075db3}body[data-app-theme=light] .terms-stat-card.status-new{border-color:#f1aeb5;background:#ffebe9;color:#cf222e}body[data-app-theme=light] .terms-stat-card.active{border-color:#0969da;background:#dbeafe;color:#075db3}body[data-app-theme=light] .status-progress{border-color:#d0d7de;background:#fff}body[data-app-theme=light] .zotero-shell{background:#fff}body[data-app-theme=light] .zotero-shell-toolbar,body[data-app-theme=light] .zotero-shell-detail{border-color:#d0d7de;background:#f3f3f3}body[data-app-theme=light] .zotero-detail-head h2,body[data-app-theme=light] .zotero-detail-section h3,body[data-app-theme=light] .zotero-book-cover-card{color:#1f2328}body[data-app-theme=light] .zotero-book-cover-card.active{background:#e8f2ff}body[data-app-theme=light] .zotero-book-cover-card.selected{background:#f0f6ff;box-shadow:inset 0 0 0 1px #0969da}body[data-app-theme=light] .zotero-book-cover-art{border-color:#d0d7de;background:linear-gradient(180deg,#fff,#eaeef2);color:#57606a;box-shadow:0 5px 14px #1f23281f}body[data-app-theme=light] .zotero-book-cover-title{color:#1f2328}body[data-app-theme=light] .zotero-book-cover-check{border-color:#57606a73;background:#ffffffe6;box-shadow:0 2px 8px #1f23281f}body[data-app-theme=light] .zotero-book-cover-card:hover .zotero-book-cover-art{border-color:#0969da;box-shadow:0 7px 18px #1f232829}body[data-app-theme=light] .zotero-book-cover-card.active .zotero-book-cover-art,body[data-app-theme=light] .zotero-book-cover-card.selected .zotero-book-cover-art{border-color:#0969da}body[data-app-theme=light] .zotero-shell-main,body[data-app-theme=light] .zotero-shell-list{border-color:#d0d7de;background:#fff}body[data-app-theme=light] .zotero-detail-head p,body[data-app-theme=light] .zotero-detail-section p,body[data-app-theme=light] .zotero-detail-meta dt{color:#57606a}body[data-app-theme=light] .zotero-detail-meta{border-color:#d0d7de;background:#fff}body[data-app-theme=light] .zotero-detail-meta div{border-color:#e5e7eb}body[data-app-theme=light] .zotero-detail-meta dd{color:#1f2328}body[data-app-theme=light] .zotero-detail-section{border-top-color:#d0d7de}body[data-app-theme=light] .reader-main,body[data-app-theme=light] .reader-content,body[data-app-theme=light] .reader-page-nav,body[data-app-theme=light] .reader-difficulty-strip,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .reader-content{border-color:#d0d7de;background:#fff;color:#1f2328;box-shadow:none}body[data-app-theme=light] .reader-content,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .reader-content{color:var(--reader-text-color, #000000)}body[data-app-theme=light] .reader-page-nav,body[data-app-theme=light] .reader-difficulty-strip{color:#57606a}body[data-app-theme=light] .toc-sidebar,body[data-app-theme=light] .word-panel,body[data-app-theme=light] .word-panel-right,body[data-app-theme=light] .toc-chapter-button,body[data-app-theme=light] .word-panel-actions .button,body[data-app-theme=light] .term-image-search-panel{border-color:#d0d7de;background:#fff;color:#1f2328}body[data-app-theme=light] .word-panel-section{border-top-color:#d0d7de}body[data-app-theme=light] .word-panel-section-title{color:#57606a}body[data-app-theme=light] .word-panel-term-badge.status-known{border-color:color-mix(in srgb,var(--status-known-color) 58%,transparent);background:color-mix(in srgb,var(--status-known-color) 24%,transparent)}body[data-app-theme=light] .word-panel-term-badge.status-unknown{border-color:color-mix(in srgb,var(--status-unknown-color) 58%,transparent);background:color-mix(in srgb,var(--status-unknown-color) 24%,transparent)}body[data-app-theme=light] .word-panel-term-badge.status-new{border-color:color-mix(in srgb,var(--status-new-color) 62%,transparent);background:color-mix(in srgb,var(--status-new-color) 26%,transparent)}body[data-app-theme=light] .word-panel h2,body[data-app-theme=light] .word-panel h3{color:#1f2328}body[data-app-theme=light] .toc-inner h2,body[data-app-theme=light] .reader-heading{color:var(--reader-text-color, #ffffff)}body[data-app-theme=light] .reader-content .token.word{border-color:transparent;background:transparent;color:var(--reader-text-color, #000000)}body[data-app-theme=light] .reader-content .token.punct{color:var(--reader-text-color, #000000)}body[data-app-theme=light] .reader-content .token.word.status-known{border-color:transparent;background:transparent;color:var(--reader-text-color, #000000)}body[data-app-theme=light] .reader-content .token.word.status-unknown{border-color:var(--status-unknown-color);background:var(--status-unknown-color);color:var(--reader-text-color, #000000)}body[data-app-theme=light] .reader-content .token.word.status-new{border-color:var(--status-new-color);background:var(--status-new-color);color:var(--reader-text-color, #000000)}body[data-app-theme=light] .reader-content .token.word:hover,body[data-app-theme=light] .reader-content .token.word.word-focus,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .token.word.word-focus,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .token.word.word-focus.status-known,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .token.word.word-focus.status-unknown,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .token.word.word-focus.status-new{border-color:#0969da;background:#dbeafe;color:var(--reader-text-color, #000000)}body[data-app-theme=light] .reader-content .token.word.status-known:hover,body[data-app-theme=light] .reader-content .token.word.status-known.word-focus,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .token.word.word-focus.status-known{border-color:transparent;background:transparent;color:var(--reader-text-color, #000000)}body[data-app-theme=light] .reader-content .token.word.status-unknown:hover,body[data-app-theme=light] .reader-content .token.word.status-unknown.word-focus,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .token.word.word-focus.status-unknown{border-color:var(--status-unknown-color);background:var(--status-unknown-color);color:var(--reader-text-color, #000000)}body[data-app-theme=light] .reader-content .token.word.status-new:hover,body[data-app-theme=light] .reader-content .token.word.status-new.word-focus,body[data-app-theme=light][data-reader-theme=dark]:has(#readerContent) .token.word.word-focus.status-new{border-color:var(--status-new-color);background:var(--status-new-color);color:var(--reader-text-color, #000000)}body[data-app-theme=light] .vue-tag-select,body[data-app-theme=light] .vue-tag-item.editing,body[data-app-theme=light] .vue-tag-create input{border-color:#d0d7de;background:#fff;color:#1f2328}body[data-app-theme=light] .vue-tag-item.active .vue-tag-select{border-color:#0969da;background:#dbeafe}body[data-app-theme=light] .zotero-mobile-sheet-panel{border-color:#d0d7de;background:#f3f3f3}body[data-app-theme=light] .zotero-mobile-sheet-close{border-bottom-color:#d0d7de;background:#fff;color:#1f2328}
