:root{--ink:#1f2924;--muted:#66736b;--accent:#285a46;--accent-light:#e4efe7;--paper:#f8f7f2;--white:#fff;--line:#e3e6de;--danger:#a13d31}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Noto Sans SC,Microsoft YaHei,Arial,sans-serif;font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:9px 14px;transition:.16s}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a5cbb2;outline-offset:2px}a{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}h1{font-size:clamp(34px,5vw,58px);letter-spacing:-.04em}h2{font-size:24px;letter-spacing:-.02em}h3{font-size:18px}p{color:var(--muted)}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#47534c}input,select,textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ddd5;border-radius:8px;background:#fff;color:var(--ink);outline:none}textarea{resize:vertical}.primary{background:var(--accent);border-color:var(--accent);color:white;font-weight:600}.primary:hover:not(:disabled){background:#1d4635;color:#fff}.danger{color:var(--danger)}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:800;color:#6f8a79;text-transform:uppercase}.hint,.muted{color:var(--muted)}.hint{font-size:13px}.shell{width:min(1160px,calc(100% - 48px));margin:0 auto;padding:42px 0 80px}.top{height:76px;border-bottom:1px solid var(--line);background:#fff;gap:40px;padding:0 max(24px,calc((100vw - 1160px)/2));position:-webkit-sticky;position:sticky;top:0;z-index:20}.brand,.top{display:flex;align-items:center}.brand{gap:10px;white-space:nowrap}.brandMark{display:grid;place-items:center;background:var(--accent);color:white;width:36px;height:36px;border-radius:10px;font-family:serif;font-size:22px}.brand strong{font-size:17px;display:block;line-height:1}.brand small{display:block;color:#8a978e;letter-spacing:.16em;font-size:9px;margin-top:5px}.top nav{gap:4px;flex:1 1}.account button,.top nav button{border:none;background:transparent;color:#66736b;border-radius:0;height:76px;padding:0 15px;white-space:nowrap}.top nav button.active{border-bottom:2px solid var(--accent)}.account{display:flex;align-items:center;gap:10px;color:#819087;font-size:12px}.account button{height:auto;padding:5px}.hero{background:#e6ede5;border:1px solid #d9e6da;border-radius:16px;padding:60px 64px;margin-bottom:48px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:290px;height:290px;border:1px solid #bbd1be;border-radius:50%;right:-50px;top:-80px;box-shadow:0 0 0 48px #e0eadf,0 0 0 49px #c8dac9;pointer-events:none}.hero h1{margin:16px 0}.hero h1 em{font-family:Georgia,"Noto Serif SC",serif;color:var(--accent);font-style:normal}.hero p{max-width:480px}.hero button{margin-top:14px}.section{margin:42px 0}.sectionHead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.sectionHead h2{margin:5px 0 0}.sectionHead button{border:none;background:transparent;color:var(--accent)}.bookCard{display:flex;align-items:flex-start;gap:18px;background:#fff;border:1px solid var(--line);padding:20px;border-radius:12px;margin:10px 0;min-width:0}.bookCard.compact{padding:15px}.bookGlyph{width:54px;height:70px;min-width:54px;display:grid;place-items:center;border-radius:5px;background:linear-gradient(140deg,#547964,#244a38);box-shadow:3px 3px 0 #d9dfd6;color:#fff;font-family:serif;font-size:27px}.bookCard.compact .bookGlyph{width:44px;height:58px;min-width:44px;font-size:22px}.bookBody{flex:1 1;min-width:0}.bookHeading{display:flex;gap:10px;align-items:center}.bookHeading h3{margin:0 0 6px;overflow-wrap:anywhere}.bookBody p{margin:0 0 7px}.bookBody .muted{font-size:13px}.bookBody .note{font-size:13px;color:#5c6960}.meta{display:flex;flex-wrap:wrap;gap:5px}.badge,.tag{display:inline-block;background:var(--accent-light);color:var(--accent);border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600}.badge.accent{background:var(--accent);color:#fff}.tag.subtle{background:#f1f2ed;color:#6f7b72}.bookActions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:310px}.bookActions button{font-size:12px;padding:6px 9px}.bookActions button:first-child{background:var(--accent-light);border-color:var(--accent-light);color:var(--accent);font-weight:700}.check{display:flex;flex-direction:row;align-items:center;gap:5px;font-size:12px;padding:5px}.check input{width:auto;min-height:0}.empty{border:1px dashed #ccd6cb;border-radius:12px;padding:34px;text-align:center;color:#7c8b80;background:#fbfcf9}.pageHead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px}.pageHead h1{margin:8px 0}.pageHead p{margin:0}.twoCol{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:20px}.panel h2{margin-bottom:16px}.keyForm,.panel form{display:flex;flex-direction:column;gap:14px}.panel form button{margin-top:4px}.inlineFields{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.filters input,.filters select{width:auto;min-width:120px;flex:1 1}.filters input:first-child{min-width:200px;flex:2 1}.filters .dateField{flex-direction:row;align-items:center;white-space:nowrap;background:#fff;border:1px solid var(--line);padding:0 8px;border-radius:8px}.dateField input{border:none;min-width:120px}.bulk{background:#e8eee7;padding:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-radius:8px;margin-bottom:15px}.bulk span{margin-right:auto;color:var(--accent);font-weight:700}.loadMore{display:block;margin:24px auto}.randomRow{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 0}.sourceNote{font-size:13px;margin:10px 0 25px}.timeline{border-left:1px solid #d9e2d9;margin-left:92px}.timelineItem{display:flex;position:relative;margin:0 0 18px}.timelineItem:before{content:"";position:absolute;left:-5px;top:28px;width:9px;height:9px;border-radius:50%;background:var(--accent)}.dateBlock{position:absolute;left:-100px;top:17px;width:80px;text-align:right;color:var(--accent)}.dateBlock strong{display:block;font-size:18px}.dateBlock span{font-size:11px}.timelineBody{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin-left:24px;flex:1 1}.timelineBody h2{font-size:21px;margin:8px 0}.timelineBody p{margin-bottom:10px}.description{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.timelineFoot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:13px;color:#88968b;font-size:12px}.timelineFoot div{display:flex;gap:12px;align-items:center}.timelineFoot button{background:var(--accent-light);border-color:var(--accent-light);color:var(--accent)}.previewList{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:8px;margin:8px 0 15px}.previewRow{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px;border-bottom:1px solid var(--line);font-size:13px}.previewRow:last-child{border:0}.previewRow>input{width:17px;min-height:17px;flex:none}.previewRow span{flex:1 1;min-width:0}.previewRow strong{display:block;overflow-wrap:anywhere}.previewRow small{display:block;color:#87948a}.rowActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.candidateArea{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.candidateArea h3{margin:0 0 8px}.authWrap{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr;background:#e8eee7}.authIntro{padding:max(80px,16vh) 10vw;color:var(--ink);position:relative;overflow:hidden}.authIntro:after{content:"";position:absolute;width:320px;height:320px;bottom:-130px;left:-90px;border:1px solid #bad0bd;border-radius:50%;box-shadow:0 0 0 80px #e0eadf,0 0 0 81px #c8dac9}.authIntro h1{margin:34px 0 22px;max-width:500px}.authIntro p{max-width:350px}.authFoot{position:absolute;bottom:60px;color:#8b9b8d;font-size:13px;letter-spacing:.1em}.authCard{align-self:center;width:min(420px,calc(100% - 64px));margin:auto;padding:40px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px #28463412;display:flex;flex-direction:column;gap:15px}.authCard h2{margin:0 0 8px;font-size:30px}.authCard .primary{margin-top:8px}.textButton{border:none;color:var(--accent);font-size:13px}.error,.errorBanner{color:var(--danger)}.errorBanner{background:#fff1ed;border:1px solid #e5bdb2;padding:10px 15px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between}.errorBanner button{border:0;background:transparent;color:var(--danger)}.toast{position:fixed;right:22px;top:95px;background:var(--accent);color:#fff;padding:12px 18px;border-radius:9px;box-shadow:0 10px 30px #213d2c44;z-index:50}.modalBackdrop{position:fixed;inset:0;background:#14231bc2;z-index:60;display:grid;place-items:center;padding:20px}.modal{background:#fff;border-radius:14px;width:min(480px,100%);padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 25px 70px #0004}.modal h2{margin:0}.modalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.loading{padding:30vh 0;text-align:center}@media(max-width:850px){.top{gap:15px;padding:0 16px}.account span{display:none}.top nav button{padding:0 9px;font-size:13px}.twoCol{grid-template-columns:1fr}.addPanel{max-width:none}.hero{padding:45px 34px}.hero:after{opacity:.45}.bookActions{max-width:180px}}@media(max-width:600px){.top{height:auto;min-height:66px;flex-wrap:wrap;gap:0}.brand{height:60px}.account{margin-left:auto}.top nav{order:3;width:100%;overflow:auto;border-top:1px solid var(--line)}.top nav button{height:46px;padding:0 10px}.shell{width:calc(100% - 28px);padding:28px 0 70px}.hero{padding:35px 24px;margin-bottom:30px}.hero:after{display:none}.hero h1{font-size:38px}.bookCard{gap:12px;padding:12px;flex-wrap:wrap}.bookActions{width:100%;max-width:none;justify-content:flex-start;padding-left:56px}.bookActions button{font-size:11px}.bookGlyph{width:43px;height:58px;min-width:43px}.section{margin:32px 0}.pageHead h1{font-size:38px}.timeline{margin-left:50px}.dateBlock{left:-60px;width:45px}.dateBlock strong{font-size:14px}.dateBlock span{font-size:9px}.timelineBody{padding:16px;margin-left:16px}.timelineFoot{align-items:flex-start;flex-direction:column}.authWrap{display:flex;flex-direction:column}.authIntro{padding:42px 28px 20px}.authIntro h1{font-size:40px;margin:20px 0}.authFoot,.authIntro:after{display:none}.authCard{width:calc(100% - 32px);margin:25px auto;padding:28px}.filters input:first-child{min-width:100%}}.toast button{background:transparent;color:white;border:1px solid #ffffffaa;margin-left:12px;padding:4px 8px}@media(max-width:600px){.top nav{flex:0 0 100%;width:100%;min-width:0;justify-content:space-between;overflow:visible}.top nav button{padding:0 4px;font-size:12px}.account{margin-left:auto}}.catalogSwitch{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 22px}.catalogNav button.selected,.catalogSwitch button.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.catalogIntro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:#e8efe7;border:1px solid #d7e4d7;border-radius:12px;padding:18px 22px;margin-bottom:26px}.catalogIntro p{margin:0;max-width:720px}.catalogIntro a{white-space:nowrap}.catalogLayout{display:grid;grid-template-columns:235px minmax(0,1fr);grid-gap:26px;gap:26px;align-items:start}.catalogNav{position:-webkit-sticky;position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;max-height:calc(100vh - 125px);overflow:auto}.catalogNav h2{font-size:16px;margin:4px 8px 12px}.catalogNav button{width:100%;display:flex;justify-content:space-between;text-align:left;gap:8px;border:0;background:transparent;font-size:12px;padding:8px;margin:1px 0}.catalogNav button span{color:#90a194}.catalogNav button.selected span{color:#e0eee3}.catalogRealm{font-size:10px;color:#799482;font-weight:800;letter-spacing:.18em;padding:15px 8px 4px;border-top:1px solid var(--line);margin-top:7px}.catalogFilters{display:flex;gap:8px;margin-bottom:6px}.catalogFilters input{flex:2 1}.catalogFilters select{flex:1 1}.catalogCount{font-size:12px;color:#89958d}.catalogMajor{font-size:24px;color:var(--accent);margin:30px 0 8px}.catalogDirection{font-size:18px;margin:20px 0 9px;border-bottom:1px solid var(--line);padding-bottom:8px}.catalogDiscipline{font-size:12px;font-weight:700;color:#8d9b8d;letter-spacing:.06em;margin:18px 0 8px}.catalogThinker{font-size:14px;font-weight:700;color:#355945;margin:15px 0 4px}.catalogBook{display:flex;gap:12px;align-items:center;background:white;border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin:5px 0}.catalogBookOrder{width:24px;color:#a1b1a4;font-family:Georgia,serif;font-size:19px;flex:none;text-align:center}.catalogBook>div:nth-child(2){flex:1 1;min-width:0}.catalogBook h4{font-size:14px;font-weight:600;margin:0}.catalogBook p{font-size:12px;margin:3px 0 0}.catalogBook button{font-size:12px;padding:6px 9px;white-space:nowrap}.catalogBook button:disabled{background:#f2f4f0;color:#7d9080}@media(max-width:760px){.catalogLayout{grid-template-columns:1fr}.catalogNav{position:static;max-height:none;display:flex;overflow:auto;align-items:center;gap:5px;padding:10px}.catalogNav h2,.catalogRealm{display:none}.catalogNav>div{flex:none}.catalogNav button{width:auto;white-space:nowrap;padding:8px 10px}.catalogIntro{gap:6px}.catalogFilters,.catalogIntro{flex-direction:column}}.doubanFilters{margin:-5px 0 18px;padding:12px 15px;background:#fff;border:1px solid var(--line);border-radius:9px}.doubanFilters summary{cursor:pointer;color:var(--accent);font-weight:700}.doubanFilters>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:9px;gap:9px;margin:13px 0}.doubanFilters label{font-size:11px}.doubanFilters input{min-width:0}@media(max-width:600px){.doubanFilters>div{grid-template-columns:repeat(2,minmax(0,1fr))}}.bookCover{display:block;width:54px;height:70px;min-width:54px;object-fit:cover;border-radius:5px;background:#e4e9e2;box-shadow:3px 3px 0 #d9dfd6}.bookCard.compact .bookCover{width:44px;height:58px;min-width:44px}@media(max-width:600px){.bookCover{width:43px;height:58px;min-width:43px}}.syncGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px;align-items:start}.syncGrid .panel{margin:0;min-width:0}.syncCard{min-width:0;overflow-wrap:anywhere}.syncCardHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.syncCardHead h2{margin:5px 0 0}.syncStatus{flex:none;border-radius:99px;background:#e4efe7;color:#285a46;padding:4px 10px;font-size:12px;font-weight:700}.syncCard>.muted{font-size:13px}.syncStats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px;margin-top:19px}.syncStats>div{min-width:0;background:#f7f9f5;border:1px solid #edf0e9;border-radius:8px;padding:10px 12px}.syncStats span,.syncStats strong{display:block}.syncStats span{color:var(--muted);font-size:11px}.syncStats strong{margin-top:3px;color:var(--ink);font-size:13px;font-weight:650;overflow-wrap:anywhere}.syncProgress{margin:12px 0 0}.candidateList{max-height:380px;overscroll-behavior:contain}.syncCard .previewRow{min-width:0}.syncCard .previewRow span{overflow-wrap:anywhere}.syncCard .keyForm{margin-top:20px}.syncCard .rowActions{margin-top:16px}.doubanConnection{grid-column:auto;background:#fff;border-color:var(--line)}.doubanQr{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:16px;padding:14px;background:#f7f9f5;border:1px solid var(--line);border-radius:10px}.doubanQr img{display:block;max-width:100%;height:auto}.doubanQr p{margin:0;font-size:13px}@media(max-width:600px){.syncCardHead{align-items:center}.syncStats{gap:7px}}.syncConnectNote{margin-bottom:16px}.syncRelogin{margin:16px 0 0}.syncDisconnect{display:block;margin:20px 0 0 auto;padding:4px 0;border:0;background:none;color:var(--muted);font-size:12px}.syncDisconnect:hover:not(:disabled){color:var(--danger);border:0}.doubanConnection .syncCardHead h2{margin:0}.doubanConnection .syncProgress{margin-bottom:0}.collectionPageHead{gap:28px}.collectionCapacity{width:min(510px,52%);padding:15px 17px;background:#edf4ed;border:1px solid #d6e3d6;border-radius:12px}.collectionCapacityHead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;color:var(--accent);font-size:12px;font-weight:700}.collectionCapacityHead strong{font-size:24px;letter-spacing:-.03em}.collectionCapacityHead small{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:0}.collectionMeter{height:5px;margin:9px 0 12px;overflow:hidden;border-radius:99px;background:#d8e5d9}.collectionMeter span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.readingYears{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.readingYears span{font-size:11px}.readingYears b{display:block;margin-top:2px;color:var(--ink);font-size:13px}@media(max-width:760px){.collectionPageHead{align-items:stretch;flex-direction:column}.collectionCapacity{width:100%}}@media(max-width:420px){.readingYears{grid-template-columns:1fr}.readingYears span{display:flex;justify-content:space-between}.readingYears b{margin:0}}.typeBalance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid #d6e3d6}.typeBalance span{color:var(--muted);font-size:11px}.typeBalance strong{display:block;margin-top:2px;color:var(--ink);font-size:13px}.contentTypeChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.contentTypeChoices label{display:flex;flex-direction:row;align-items:flex-start;gap:9px;padding:13px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.contentTypeChoices label.selected{border-color:var(--accent);background:#edf4ed}.contentTypeChoices input{width:auto;margin-top:3px}.contentTypeChoices small,.contentTypeChoices span,.contentTypeChoices strong{display:block}.contentTypeChoices small{margin-top:3px;color:var(--muted);line-height:1.35}.dangerText{color:var(--danger)}.initialFilters{grid-template-columns:minmax(180px,2fr) repeat(3,minmax(120px,1fr))}@media(max-width:600px){.contentTypeChoices,.initialFilters,.typeBalance{grid-template-columns:1fr}}.badge.green{background:#d8ead6;color:#25563a}.stageBreakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px;margin-top:12px;padding-top:11px;border-top:1px solid #d6e3d6}.stageBreakdown span{font-size:11px;color:var(--muted)}.stageBreakdown strong{display:block;color:var(--ink);font-size:12px}.preferredSlots{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;padding-top:11px;border-top:1px solid #d6e3d6}.preferredSlots span{flex:1 1;min-width:105px;color:var(--muted);font-size:11px}.preferredSlots strong{display:block;color:var(--accent);font-size:14px}.stageFilters{margin-bottom:20px}.stageFilters input:first-child{min-width:220px}.bookActions{max-width:360px}@media(max-width:850px){.top{gap:12px}.top nav{min-width:0;overflow-x:auto;scrollbar-width:thin}.top nav button{padding:0 10px}}@media(max-width:600px){.top nav{justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain}.top nav button{flex:none;padding:0 10px}.stageBreakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.stageFilters input:first-child{min-width:100%}}.readStatus{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #bfd1c1;border-radius:6px;background:#f0f6ef;color:#2b5b3f;font-size:11px;font-weight:700}.abandonedToolbar{display:flex;justify-content:flex-end;margin:0 0 24px}.abandonedSearch{width:min(360px,100%)}.abandonedSearch input{background:#fff}.abandonedColumns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:22px;gap:22px;align-items:start}.abandonedColumn{min-width:0}.abandonedColumnHead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:9px;padding:0 2px 10px;border-bottom:1px solid #d8ddd5}.abandonedColumnHead h2{margin:0;font:22px/1.2 Georgia,"Noto Serif SC",serif}.abandonedColumnHead>strong{font:25px/1 Georgia,serif;color:#7a6858}.abandonedRow{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;min-height:72px;padding:7px 8px 7px 6px;border-bottom:1px solid #dfe4dc;background:transparent}.abandonedRow .bookCover,.abandonedRow .bookGlyph{width:44px;height:58px;min-width:44px;box-shadow:2px 2px 0 #d9dfd6}.abandonedSummary{min-width:0}.abandonedSummary h3{margin:0 0 7px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.abandonedMeta{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden}.abandonedMeta .sourceField{flex:none;padding:0;border-left:0;background:transparent;color:var(--muted);font-size:10px;font-weight:500;text-decoration:none}.abandonedMeta .sourceField:hover{color:var(--accent)}.abandonedMeta .readStatus{flex:none;padding:1px 5px;font-size:9px}.abandonedReasonInline{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#7b6d60}.abandonedReasonInline:before{content:"放弃原因：";color:#9a8d81}.abandonedRowActions{display:flex;align-items:center;gap:5px}.abandonedRowActions button{min-height:30px;padding:5px 8px;font-size:10px;white-space:nowrap}.abandonedRowActions .abandonedReadAction{background:#fff;border-color:#dce1da;color:var(--ink)}.abandonedRowActions .abandonedRestoreAction{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.abandonedRowActions .abandonedDeleteAction{background:#a13d31;border-color:#a13d31;color:#fff;font-weight:700}.abandonedRowActions .abandonedReadAction:hover:not(:disabled){background:#f7f9f6}.abandonedRowActions .abandonedRestoreAction:hover:not(:disabled){background:#1f4c39;border-color:#1f4c39;color:#fff}.abandonedRowActions .abandonedDeleteAction:hover:not(:disabled){background:#892f26;border-color:#892f26;color:#fff}.abandonedColumn .pagination{padding:10px}.abandonedColumn .paginationControls{justify-content:flex-start}.abandonedColumn .paginationJump{width:100%;margin:4px 0 0;padding:9px 0 0;border-left:0;border-top:1px solid var(--line)}.abandonedConfirm{width:min(420px,100%);gap:12px}.abandonedConfirm .eyebrow{color:var(--muted)}.abandonedConfirm h2{font-size:25px}.abandonedConfirmTitle{margin:0;padding:12px 14px;border-left:3px solid #90a596;background:#f5f8f4;color:var(--ink);font-weight:700;overflow-wrap:anywhere}.abandonedConfirm .hint{margin:0;font-size:12px}.abandonedConfirmDelete{background:#a13d31;border-color:#a13d31;color:#fff;font-weight:700}.abandonedConfirmDelete:hover:not(:disabled){background:#892f26;border-color:#892f26;color:#fff}@media(max-width:1100px){.abandonedRow{grid-template-columns:44px minmax(0,1fr)}.abandonedRowActions{grid-column:2}.abandonedRowActions button{padding-block:4px}.abandonedMeta{margin-bottom:2px}}@media(max-width:900px){.abandonedColumns{grid-template-columns:1fr}.abandonedRow{grid-template-columns:44px minmax(0,1fr) auto}.abandonedRowActions{grid-column:auto}.abandonedColumn .paginationJump{width:auto;margin-left:5px;padding:0 0 0 11px;border-top:0;border-left:1px solid var(--line)}}@media(max-width:600px){.abandonedRow{grid-template-columns:42px minmax(0,1fr);gap:10px}.abandonedRow .bookCover,.abandonedRow .bookGlyph{width:42px;height:56px;min-width:42px}.abandonedRowActions{grid-column:2}.abandonedMeta>span:nth-child(2){display:none}.abandonedColumn .paginationJump{width:100%;margin:4px 0 0;padding:9px 0 0;border-left:0;border-top:1px solid var(--line)}}.catalogGroupHead{display:flex;align-items:baseline;justify-content:space-between;margin:34px 0 14px;border-bottom:1px solid var(--line);padding-bottom:10px}.catalogGroupHead h2{margin:0;font-family:Georgia,"Noto Serif SC",serif}.catalogGroupHead span{font-size:12px;color:var(--muted)}.catalogShelfGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.catalogShelfCard{min-width:0;display:grid;grid-template-columns:92px minmax(0,1fr);border:1px solid var(--line);background:#fff;overflow:hidden;transition:transform .16s,border-color .16s,box-shadow .16s}.catalogShelfCard:hover{transform:translateY(-2px);border-color:#b6c9b9;box-shadow:0 10px 30px rgba(35,61,48,.08)}.catalogMonogram{display:flex;flex-direction:column;justify-content:space-between;padding:17px 15px;background:#284f3c;color:#fff}.catalogIdentity2 .catalogMonogram{background:#9a6b3e}.catalogMonogram span{font-size:10px;letter-spacing:.18em;opacity:.75}.catalogMonogram strong{font:52px/1 Georgia,"Noto Serif SC",serif}.catalogShelfBody{min-width:0;padding:20px}.catalogShelfBody h2{margin:7px 0 9px;font-family:Georgia,"Noto Serif SC",serif}.catalogShelfBody>p{min-height:48px;font-size:13px}.catalogShelfStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:7px;gap:7px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.catalogShelfStats span{font-size:10px;color:var(--muted)}.catalogShelfStats strong{display:block;color:var(--ink);font-size:17px}.catalogShelfFoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.catalogShelfFoot span{min-width:0;color:var(--muted);font-size:10px}.catalogBreadcrumb button,.catalogIntroLinks button,.catalogShelfFoot button{border:0;background:transparent;color:var(--accent);padding:4px 0}.catalogBreadcrumb{display:flex;align-items:center;gap:9px;margin-bottom:20px;color:var(--muted);font-size:13px}.catalogBreadcrumb strong{color:var(--ink)}.catalogDetailHead{margin-bottom:22px}.catalogIntroLinks{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:14px}.catalogIntroLinks a,.catalogIntroLinks button{font-size:13px;font-weight:700}.catalogBookState{display:block;margin-top:5px;color:var(--accent);font-size:11px}@media(max-width:760px){.catalogShelfGrid{grid-template-columns:1fr}.catalogShelfStats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:440px){.shell{width:min(100% - 28px,1160px)}.top{padding:0 14px}.account span,.brand small{display:none}.catalogShelfCard{grid-template-columns:68px minmax(0,1fr)}.catalogMonogram{padding:14px 10px}.catalogMonogram strong{font-size:40px}.catalogShelfBody{padding:16px}.catalogShelfFoot{align-items:flex-start;flex-direction:column}.catalogDetailHead h1{font-size:34px}}.deskPage{max-width:1160px;margin:0 auto;padding:8px 0 12px}.deskMain{min-width:0}.deskShelves{display:flex;flex-direction:column;gap:38px}.deskShelfRow{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:28px;gap:28px;min-height:210px;padding:18px 30px 32px}.deskShelfRow:before{content:"";position:absolute;z-index:2;left:0;right:0;bottom:0;height:12px;background:linear-gradient(180deg,#a98562,#826044 52%,#684a34);box-shadow:0 4px 0 #c9b69c,0 13px 24px #34463a1f}.deskShelfRow:after{content:"";position:absolute;z-index:0;left:3%;right:3%;bottom:-16px;height:22px;background:radial-gradient(ellipse at center,#4c5d5030 0,transparent 70%)}.deskBook{position:relative;z-index:1;min-width:0;padding:0 10px;text-align:center;align-self:end}.deskCover{width:102px;height:140px;margin:0 auto 10px;transform-origin:50% 100%}.deskBook:nth-child(5n+1) .deskCover{transform:translateY(1px) rotate(-.35deg)}.deskBook:nth-child(5n+2) .deskCover{transform:translateY(-2px)}.deskBook:nth-child(5n+4) .deskCover{transform:translateY(-1px) rotate(.25deg)}.deskBook:nth-child(5n) .deskCover{transform:translateY(1px) rotate(.4deg)}.deskCover img,.deskSpine{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px 5px 5px 2px;box-shadow:0 11px 17px #34413724,4px 4px 0 #c6cbbf;border-left:1px solid #ffffff80}.deskSpine{display:grid;place-items:center;padding:9px;background:linear-gradient(145deg,#527763,#244b39);color:#fff;font:14px/1.3 Georgia,"Noto Serif SC",serif;writing-mode:vertical-rl;letter-spacing:.08em}.deskBook:nth-child(3n+2) .deskSpine{background:linear-gradient(145deg,#936b46,#65452f)}.deskBook:nth-child(3n) .deskSpine{background:linear-gradient(145deg,#566574,#303e4b)}.deskBook h3{height:36px;margin:0;font-size:13px;line-height:1.35}.deskBook p{margin:4px 0 0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deskGreenMark{display:inline-block;margin-right:6px;color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.08em}.greenDeskBook .deskCover img,.greenDeskBook .deskSpine{box-shadow:0 11px 17px #285a4628,4px 4px 0 #aac3ae}.deskEmpty{padding:48px 20px;text-align:center;border:1px dashed #cbd6ca;background:#fbfcf9}.deskEmpty h2{margin:12px 0 16px}.shelfEmptyMark{width:50px;height:66px;display:grid;place-items:center;margin:auto;background:var(--accent);color:#fff;font:26px Georgia,serif;box-shadow:4px 4px 0 #d5ddd3}@media(max-width:700px){.deskShelves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:26px 14px;gap:26px 14px}.deskShelfRow{display:contents}.deskBook{padding:16px 7px 20px;border-bottom:8px solid #76543a;box-shadow:0 5px 0 #c8b69c}.deskCover{width:84px;height:116px}.deskBook:nth-child(n) .deskCover{transform:none}}@media(max-width:380px){.deskShelves{grid-template-columns:1fr}.deskBook{display:grid;grid-template-columns:72px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;text-align:left}.deskBook .deskCover{width:72px;height:98px;margin:0}.deskBook h3{height:auto}}.deskShelves{gap:24px}.deskShelfRow{min-height:182px;padding-top:8px;padding-bottom:20px}.deskCover{width:88px;height:121px;margin-bottom:0}.deskBook h3{height:30px;max-width:160px;margin:7px auto 0;font-size:12px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:700px){.deskShelves{gap:22px 14px}.deskBook{padding:13px 7px 15px}.deskCover{width:78px;height:107px}}@media(max-width:380px){.deskBook{display:block;text-align:center}.deskBook .deskCover{width:74px;height:102px;margin:0 auto}}@media(min-width:701px){.deskShelves{padding-top:60px}}@media(min-width:900px) and (min-height:850px) and (max-aspect-ratio:3/2){.deskShelves{gap:clamp(26px,3dvh,32px)}.deskShelfRow{min-height:clamp(190px,21dvh,220px)}}.collectionCapacity{width:min(650px,60%);padding:16px 18px 17px}.readingEstimateHead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:12px 0 7px}.readingEstimateHead strong{font-size:12px;color:var(--ink)}.readingEstimateHead span{font-size:10px;color:var(--muted)}.readingYears{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid #d6e3d6;border-radius:8px;background:#f8fbf7;overflow:hidden}.readingYears span{padding:8px 7px;border-left:1px solid #dfe8df;color:var(--muted);font-size:10px}.readingYears span:first-child{border-left:0}.readingYears small{display:block;white-space:nowrap}.readingYears b{margin-top:3px;color:var(--accent);font-size:12px;white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.paginationSummary{display:flex;flex-direction:column;min-width:116px}.paginationSummary strong{font-size:14px;color:var(--ink)}.paginationSingle,.paginationSummary span{font-size:11px;color:var(--muted)}.paginationControls{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.paginationControls>button,.paginationJump button,.paginationPages button{min-height:34px;padding:6px 10px}.paginationPages{display:flex;align-items:center;gap:4px}.paginationPages button{min-width:34px;padding:6px}.paginationPages button.current{border-color:var(--accent);background:var(--accent);color:#fff;opacity:1}.paginationPages span{min-width:20px;text-align:center;color:var(--muted)}.paginationJump{display:flex;align-items:center;gap:6px;margin-left:5px;padding-left:11px;border-left:1px solid var(--line)}.paginationJump label{flex-direction:row;align-items:center;gap:5px;white-space:nowrap;font-size:11px;font-weight:500;color:var(--muted)}.paginationJump input{width:56px;min-height:34px;padding:5px 7px;text-align:center}.selectionBar{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:12px 14px;border:1px solid #d6e3d6;border-radius:12px;background:#f4f8f3}.selectionToggle{flex-direction:row;align-items:center;gap:8px;color:var(--ink);white-space:nowrap}.bookSelect input,.selectionToggle input{width:17px;min-height:17px;accent-color:var(--accent)}.selectionCount{font-size:12px;color:var(--muted)}.selectionActions{display:flex;gap:7px;margin-left:auto}.selectionActions button{padding:7px 11px;font-size:12px}.bookSelect{flex:none;align-items:center;justify-content:center;gap:5px;align-self:stretch;padding-right:3px;color:var(--muted);font-size:10px;font-weight:500;cursor:pointer}.selectedBook{border-color:#a9c3ae;background:#fcfefb;box-shadow:inset 3px 0 0 var(--accent)}@media(max-width:900px){.collectionPageHead{align-items:stretch;flex-direction:column}.collectionCapacity{width:100%}.pagination{align-items:flex-start;flex-direction:column}.paginationControls{justify-content:flex-start;width:100%}}@media(max-width:600px){.readingYears{grid-template-columns:repeat(2,minmax(0,1fr))}.readingYears span{border-top:1px solid #dfe8df}.readingYears span:nth-child(odd){border-left:0}.readingYears span:nth-child(-n+2){border-top:0}.readingYears span:last-child{grid-column:1/-1}.paginationControls>button:first-child,.paginationControls>button:nth-child(5){display:none}.paginationJump{width:100%;margin:4px 0 0;padding:9px 0 0;border-left:0;border-top:1px solid var(--line)}.selectionBar{align-items:flex-start;flex-wrap:wrap}.selectionActions{width:100%;margin-left:25px}.bookSelect span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}@media(max-width:420px){.readingYears{grid-template-columns:1fr}.readingYears span:nth-child(n){grid-column:auto;border-left:0;border-top:1px solid #dfe8df}.readingYears span:first-child{border-top:0}.paginationPages button{min-width:31px;padding:5px}.selectionActions{margin-left:0}}.choiceGroup{min-width:0;margin:0;padding:0;border:0}.choiceGroup legend{margin-bottom:7px;color:#47534c;font-size:13px;font-weight:600}.choiceButtons{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));grid-gap:8px;gap:8px;margin-bottom:14px}.choiceButtons label{position:relative;display:grid;place-items:center;min-height:42px;padding:8px 10px;border:1px solid #d8ddd5;border-radius:8px;background:#fff;color:var(--ink);font-size:13px;font-weight:600;cursor:pointer}.choiceButtons label:hover{border-color:#9eb8a4}.choiceButtons label.selected{border-color:var(--accent);background:#e8f1e8;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choiceButtons input{position:absolute;width:1px;min-height:1px;opacity:0}.choiceButtons label:focus-within{outline:3px solid #a5cbb2;outline-offset:2px}.moveBookModal{width:min(620px,calc(100vw - 32px))}.destinationChoices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:16px}.destinationChoices label{position:relative;display:flex;min-height:88px;align-items:center;justify-content:center;padding:12px 8px;border:1px solid #d8ddd5;border-radius:8px;background:#fff;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.destinationChoices label:hover:not(:has(input:disabled)){border-color:#9eb8a4;transform:translateY(-1px)}.destinationChoices label.selected{border-color:var(--accent);background:#e8f1e8;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.destinationChoices label:has(input:disabled){opacity:.46;cursor:not-allowed}.destinationChoices input{position:absolute;width:1px;min-height:1px;opacity:0}.destinationChoices span{display:grid;grid-gap:4px;gap:4px}.destinationChoices small{font-size:11px;line-height:1.35;color:var(--muted);font-weight:400}@media(max-width:1100px){.top{gap:18px}.top nav{min-width:0;overflow-x:auto;scrollbar-width:thin}.top nav button{padding:0 10px}}@media(max-width:680px){.destinationChoices{grid-template-columns:repeat(2,minmax(0,1fr))}.destinationChoices label{min-height:72px}}.sourceField{display:inline-flex;align-items:center;padding:3px 8px;border-left:2px solid #8eaa94;background:#f2f5ef;color:#48594d;font-size:11px;font-weight:650}.periodTabs{display:flex;align-items:flex-end;gap:28px;margin:-10px 0 34px;border-bottom:1px solid var(--line)}.periodTabs button{position:relative;min-width:76px;padding:12px 2px 11px;border:0;border-radius:0;background:transparent;color:var(--muted);font-weight:650}.periodTabs button:hover:not(:disabled){border-color:transparent;color:var(--accent)}.periodTabs button.active{color:var(--accent)}.periodTabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}@media(max-width:600px){.periodTabs{gap:18px;overflow-x:auto;margin-top:-4px}.periodTabs button{min-width:68px;flex:none}}.syncGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalogSyncCard{display:flex;flex-direction:column;align-self:stretch}.catalogSyncCard .syncStats{margin-bottom:16px}.catalogSyncCard .rowActions{margin-top:auto}.catalogReturn{margin-bottom:18px}.catalogReturn button{padding:6px 0;border:0;background:transparent;color:var(--accent);font-size:13px;font-weight:700}@media(max-width:1050px){.syncGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.syncGrid{grid-template-columns:1fr}}.doubanSearch{display:grid;grid-gap:10px;gap:10px}.doubanSearchForm{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px!important;gap:8px!important;align-items:end}.doubanSearchForm button{height:42px;margin:0!important;padding-inline:13px}.doubanSearchResults{display:grid;max-height:430px;overflow:auto;overscroll-behavior:contain;border-top:1px solid var(--line)}.doubanSearchResult{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;grid-gap:9px;gap:9px;padding:10px 0;border-bottom:1px solid var(--line)}.doubanSearchGlyph{display:grid;place-items:center;width:32px;height:42px;border-radius:2px 4px 4px 2px;background:linear-gradient(145deg,#547964,#244a38);box-shadow:2px 2px 0 #d9dfd6;color:#fff;font:17px Georgia,"Noto Serif SC",serif}.doubanSearchCopy{min-width:0}.doubanSearchCopy h3{margin:0 0 4px;font-size:13px;overflow-wrap:anywhere}.doubanSearchCopy p{margin:0;font-size:10px;line-height:1.4}.doubanSearchCopy p span{display:block;color:#7b6b4f}.doubanSearchResult button{min-height:32px;padding:5px 8px;font-size:11px}.doubanSearchMessage{margin:0;padding:8px 10px;background:#f5f7f2;border-left:2px solid #9eb3a2;font-size:12px}.doubanSearchMessage.error{background:#fff1ed;border-color:var(--danger)}.doubanSearchMessage.success{color:var(--accent);background:#edf5ec;border-color:var(--accent)}.manualAddDivider{display:flex;align-items:center;gap:9px;margin:20px 0 16px;color:var(--muted);font-size:10px}.manualAddDivider:after,.manualAddDivider:before{content:"";height:1px;flex:1 1;background:var(--line)}.manualAddDivider span{white-space:nowrap}@media(max-width:370px){.doubanSearchForm{grid-template-columns:1fr}.doubanSearchForm button{width:100%}}.top{height:66px;display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);grid-gap:24px;gap:24px;padding-inline:max(24px,calc((100vw - 1160px)/2))}.brand{gap:9px;justify-self:start}.brandMark{font-size:20px}.brand strong{font-size:16px}.brand small{margin-top:4px;font-size:8px;letter-spacing:.13em;color:#9aa49d}.top nav{justify-self:center;display:flex;align-items:center;gap:2px;overflow:visible}.top nav button{position:relative;height:38px;padding:0 12px;border:0;border-radius:7px;color:#69766e;font-size:14px;font-weight:550;transition:background-color .16s ease,color .16s ease}.top nav button:hover:not(:disabled){border-color:transparent;background:#f3f6f1;color:var(--accent)}.top nav button.active{border-bottom:0;background:#f5f8f4;color:var(--accent);font-weight:700}.top nav button.active:after{content:"";position:absolute;left:50%;bottom:-15px;width:24px;height:2px;border-radius:2px;background:var(--accent);transform:translateX(-50%)}.navDivider{width:1px;height:18px;margin:0 8px;background:#dfe4dc}.top nav .navUtility{color:#78847c}.account{justify-self:end;gap:8px;min-width:0;color:#96a097;font-size:11px;white-space:nowrap}.account span{max-width:170px;overflow:hidden;text-overflow:ellipsis}.account button{height:30px;padding:0 8px;border-radius:6px;color:#748078;font-size:12px}.account button:hover:not(:disabled){background:#f3f6f1}@media(max-width:1050px){.top{gap:16px}.account span{display:none}.top nav{justify-self:center}}@media(max-width:700px){.top{padding-inline:14px;gap:10px}.brand small{display:none}.top nav button{padding-inline:8px;font-size:13px}.navDivider{margin-inline:3px}}@media(max-width:600px){.top{height:auto;min-height:102px;grid-template-columns:1fr auto;grid-template-rows:56px 46px;gap:0;padding:0 14px}.brand{height:56px}.account{grid-column:2;grid-row:1;margin-left:0}.top nav{grid-column:1/-1;grid-row:2;justify-self:stretch;width:100%;height:46px;justify-content:space-between;overflow:visible;border-top:1px solid var(--line)}.top nav button{flex:0 1 auto;height:38px;padding-inline:7px;font-size:12px}.top nav button.active:after{bottom:-5px}.navDivider{height:16px;margin-inline:1px}}@media(max-width:380px){.top{padding-inline:10px}.top nav button{padding-inline:5px;font-size:11px}.navDivider{display:none}}.configurationPage{width:min(980px,100%);margin:0 auto;display:grid;grid-gap:34px;gap:34px;padding:4px 0 18px}.accountConfigCard{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.accountConfigHead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px}.accountIdentity{display:flex;align-items:center;gap:14px;min-width:0}.accountIdentity div{min-width:0}.accountIdentity span{display:block;color:var(--muted);font-size:11px}.accountIdentity strong{display:block;margin-top:2px;font-size:17px;overflow-wrap:anywhere}.accountConfigHead>button{padding:7px 11px;font-size:12px}.passwordForm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;padding:20px 28px;border-top:1px solid var(--line);background:#f8faf7}.passwordActions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.passwordForm .error{grid-column:1/-1;margin:0}.configNotice{margin:0;padding:0 28px 18px;color:var(--accent);font-size:12px}.integrationSection{border-top:1px solid var(--line);padding:24px 28px 28px}.integrationSection>h2{margin:0 0 14px;font-size:16px}.integrationGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fbfcfa}.integrationControl{position:relative;min-width:0;padding:20px}.integrationControl+.integrationControl{border-left:1px solid var(--line)}.integrationControlHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.integrationControlHead h3{margin:0 0 3px;font-size:16px}.integrationControlHead>div:first-child>span{color:var(--muted);font-size:11px}.integrationActions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.compactKeyForm button,.integrationActions button{padding:6px 10px;font-size:12px}.compactKeyForm{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:7px;gap:7px;margin-top:14px}.compactKeyForm input{min-height:36px;padding:7px 9px;font-size:12px}.integrationDisconnect{margin-top:16px;padding:0;border:0;background:transparent;color:var(--muted);font-size:11px}.integrationDisconnect:hover:not(:disabled){border:0;color:var(--danger)}.integrationControl .doubanQr{margin-top:16px}.integrationControl .configNotice,.integrationControl .error{margin:12px 0 0;padding:0;font-size:11px}.compactCandidate{margin-top:16px;padding-top:14px}.compactCandidate h3{font-size:13px}.compactCandidate .previewList{max-height:230px}.syncOverview>h2{margin:0 0 12px;font-size:18px}.syncLedger{border-top:1px solid #cfd7ce;border-bottom:1px solid #cfd7ce}.syncLedgerRow{display:grid;grid-template-columns:1.05fr .72fr .72fr 1.15fr 1.15fr .9fr;grid-gap:16px;gap:16px;align-items:center;padding:16px 4px}.syncLedgerRow+.syncLedgerRow{border-top:1px solid var(--line)}.syncLedgerRow>div{min-width:0}.syncLedgerRow span,.syncLedgerRow strong{display:block}.syncLedgerRow span{color:var(--muted);font-size:10px}.syncLedgerRow strong{margin-top:3px;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.syncLedgerName strong{margin:0;color:var(--ink);font-size:15px}.syncLedgerName span{margin-top:3px;color:var(--accent)}.configCatalog{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);grid-gap:28px;gap:28px;align-items:center;padding:25px 28px;border:1px solid var(--line);border-radius:14px;background:#fff}.configCatalogHead{display:flex;align-items:center;justify-content:space-between;gap:18px}.configCatalogHead h2{margin:0 0 4px;font-size:20px}.configCatalogHead span{color:var(--muted);font-size:11px}.configCatalogHead button{white-space:nowrap}.configCatalogStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid var(--line)}.configCatalogStats>div{padding:5px 18px}.configCatalogStats span,.configCatalogStats strong{display:block}.configCatalogStats span{color:var(--muted);font-size:10px}.configCatalogStats strong{margin-top:3px;color:var(--ink);font-size:18px}.configCatalog>.error{grid-column:1/-1;margin:0}@media(max-width:850px){.configurationPage{gap:28px}.integrationGrid,.passwordForm{grid-template-columns:1fr}.integrationControl+.integrationControl{border-left:0;border-top:1px solid var(--line)}.syncLedgerRow{grid-template-columns:repeat(3,minmax(0,1fr))}.syncLedgerName{grid-column:1/-1}.configCatalog{grid-template-columns:1fr}.configCatalogStats{border-left:0;border-top:1px solid var(--line);padding-top:14px}.configCatalogStats>div:first-child{padding-left:0}}@media(max-width:600px){.configurationPage{gap:24px;padding-top:0}.accountConfigHead,.integrationSection{padding-left:18px;padding-right:18px}.accountConfigHead{align-items:flex-start}.accountIdentity strong{font-size:14px}.passwordForm{padding:18px}.syncLedgerRow{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px;padding:16px 2px}.configCatalog{padding:20px 18px;gap:18px}.configCatalogHead{align-items:flex-end}.configCatalogStats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 0}.configCatalogStats>div{padding:0 10px}.configCatalogStats>div:nth-child(odd){padding-left:0}}.configurationPage{gap:20px}.accountConfigHead{padding:21px 26px}.accountIdentity{gap:0}.accountIdentity strong{font-size:16px}.integrationSection{padding:0 26px 8px}.integrationSection>h2{margin:0;padding:15px 0 8px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);font-weight:650}.integrationGrid{display:block;overflow:visible;border:0;border-radius:0;background:transparent}.integrationControl{padding:14px 0}.integrationControl+.integrationControl{border-top:1px solid var(--line);border-left:0}.integrationControlHead{align-items:center}.integrationControlHead h3{font-size:15px}.integrationControl .doubanQr{width:min(280px,100%)}.compactCandidate{margin-top:12px}.syncOverview{border:1px solid var(--line);border-radius:12px;background:#fff}.syncOverview>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;cursor:pointer;list-style:none}.syncOverview>summary::-webkit-details-marker{display:none}.syncOverview>summary:after{content:"展开";flex:none;color:var(--accent);font-size:11px}.syncOverview[open]>summary:after{content:"收起"}.syncOverview>summary span{font-size:14px;font-weight:700}.syncOverview>summary small{margin-left:auto;color:var(--muted);font-size:11px;font-weight:400;text-align:right}.syncOverview .syncLedger{margin:0 18px 8px;border-bottom:0}.syncOverview .syncLedgerRow{padding:14px 2px}.configCatalog{padding-block:22px}@media(max-width:600px){.configurationPage{gap:16px}.accountConfigHead{padding:18px}.integrationSection{padding:0 18px 5px}.integrationControl{padding:13px 0}.integrationControlHead{gap:10px}.integrationActions{gap:5px}.syncOverview>summary{align-items:flex-start;flex-wrap:wrap;padding:13px 15px}.syncOverview>summary small{order:3;width:100%;margin:0;text-align:left}.syncOverview>summary:after{margin-left:auto}.syncOverview .syncLedger{margin-inline:15px}}.integrationActions .quietDanger{border-color:transparent;background:transparent;color:var(--muted)}.integrationActions .quietDanger:hover:not(:disabled){border-color:transparent;background:#f8f3f1;color:var(--danger)}.integrationPending{align-self:center;color:var(--muted);font-size:11px}.integrationFeedback{margin-top:10px;padding:7px 10px;border-left:2px solid var(--accent);background:#f3f7f2;color:var(--accent);font-size:11px}.integrationFeedback.failed{border-left-color:var(--danger);background:#fff3ef;color:var(--danger)}.shelfPicker{display:grid;grid-gap:14px;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.shelfChoiceList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:24px;column-gap:24px}.shelfChoiceList label{display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0;padding:10px 2px;border-bottom:1px solid var(--line);cursor:pointer}.shelfChoiceList input{flex:none;width:16px;min-height:16px;accent-color:var(--accent)}.shelfChoiceList span{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0;flex:1 1}.shelfChoiceList strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px}.shelfChoiceList small{flex:none;color:var(--muted);font-size:10px;font-weight:400}.shelfChoiceList label.selected strong{color:var(--accent)}.shelfPickerActions{display:flex;justify-content:flex-end;gap:7px}.shelfPickerActions button{padding:7px 12px;font-size:12px}@media(max-width:600px){.shelfChoiceList{grid-template-columns:1fr}.shelfChoiceList label{padding-block:9px}.shelfPickerActions button{flex:1 1}}.moveStrip{display:flex;align-items:stretch;width:100%;overflow:hidden;border:1px solid #d6e1d7;border-radius:8px;background:#f5f8f4}.moveStrip>span{display:flex;align-items:center;padding:0 9px;color:#738078;font-size:10px;white-space:nowrap}.bookActions .moveStrip button{flex:1 1;min-width:52px;padding:6px 7px;border:0;border-radius:0;font-size:11px;font-weight:650}.bookActions .moveStrip button,.bookActions .moveStrip button:first-of-type{border-left:1px solid #dfe7df;background:transparent;color:var(--accent)}.bookActions .moveStrip button:hover:not(:disabled){border-color:#dfe7df;background:#e7f0e7;color:#1f4c39}.moveTargetLine{display:flex;align-items:baseline;gap:9px;padding:11px 13px;border-left:3px solid var(--accent);background:#f4f7f2}.moveTargetLine small,.moveTargetLine span{color:var(--muted);font-size:11px}.moveTargetLine strong{font-size:16px}.moveTargetLine small{margin-left:auto}.bookActions:has(.moveStrip){max-width:390px}@media(max-width:600px){.bookActions:has(.moveStrip){padding-left:0}.moveStrip{max-width:100%}.moveStrip>span{padding-inline:7px}.bookActions .moveStrip button{min-width:48px;padding-inline:5px}}.collectionStack{display:grid;grid-gap:18px;gap:18px}.collectionAddPanel{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);align-items:start;grid-gap:28px;gap:28px;padding:18px 20px}.collectionAddPrimary{min-width:0}.collectionAddPrimary h2{margin:0 0 10px;font-size:16px}.collectionAddPrimary .doubanSearchForm label{display:grid;grid-template-columns:auto minmax(240px,1fr);align-items:center;grid-gap:12px;gap:12px}.collectionAddPrimary .doubanSearchForm input{min-width:0}.collectionAddPrimary .doubanSearchResults{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;max-height:290px}.manualAddPanel{min-width:0;border-left:1px solid var(--line);padding-left:24px}.manualAddPanel>summary{cursor:pointer;color:var(--accent);font-size:13px;font-weight:700}.manualAddPanel[open]>summary{margin-bottom:14px}.manualAddForm{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px!important;gap:10px!important}.manualAddForm .manualAddNote,.manualAddForm button{grid-column:1/-1}.manualAddForm label{font-size:11px}.manualAddForm input,.manualAddForm select,.manualAddForm textarea{min-height:36px;padding:7px 9px;font-size:12px}.manualAddForm button{min-height:38px;margin:0!important}.collectionIndexHead{display:flex;justify-content:space-between;gap:12px;margin:3px 0 10px;padding:0 2px 8px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}.collectionBookList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-column-gap:18px;column-gap:18px;min-width:0}.collectionBook{position:relative}.collectionSelect{position:absolute;z-index:2;top:11px;right:2px;display:flex;flex-direction:row;align-items:center;gap:4px;color:var(--muted);font-size:9px;font-weight:500;cursor:pointer}.collectionSelect input{width:14px;min-height:14px;accent-color:var(--accent)}.collectionBook--index{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;grid-gap:6px 9px;gap:6px 9px;min-height:127px;margin:0;padding:12px 2px 10px;border:0;border-bottom:1px solid #dfe4dc;border-radius:0;background:transparent}.collectionBook--index .bookCover,.collectionBook--index .bookGlyph{grid-row:1/span 3;width:44px;height:58px;min-width:44px}.collectionBook--index .bookHeading h3{margin:0 42px 3px 0;font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collectionBook--index .bookBody>.muted{margin:0 0 4px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collectionBook .bookBody>.muted span{margin-left:7px;color:#829087;font-size:9px}.collectionBook--index .meta{max-height:20px;overflow:hidden}.collectionBook--index .meta>*{font-size:8px}.collectionBook--index .indexMove{grid-column:2;width:100%;max-width:none}.collectionBook--index .indexMove>span{padding-inline:6px;font-size:9px}.collectionBook--index .indexMove button{min-width:36px;padding:4px 3px;font-size:9px}.collectionBookActions{grid-column:2;min-width:0}.collectionBookActions summary{width:max-content;cursor:pointer;color:var(--accent);font-size:10px;font-weight:650;list-style-position:inside}.collectionBookActions[open] summary{margin-bottom:6px}.collectionBookActions .bookActions{width:100%;max-width:none;justify-content:flex-start;padding:0}.collectionBookActions button{padding:4px 6px;font-size:9px}.collectionBook--index:has(.collectionBookActions[open]){background:#fff}@media(max-width:1050px){.collectionAddPanel{grid-template-columns:1fr}.manualAddPanel{border-top:1px solid var(--line);border-left:0;padding:14px 0 0}.collectionBookList{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.collectionAddPanel{padding:15px}.collectionAddPrimary .doubanSearchForm label{display:flex}.collectionAddPrimary .doubanSearchResults,.manualAddForm{grid-template-columns:1fr}.manualAddForm .manualAddNote,.manualAddForm button{grid-column:auto}.collectionBookList{grid-template-columns:1fr}.collectionBook--index{grid-template-columns:46px minmax(0,1fr);min-height:128px}.collectionBook--index .bookCover,.collectionBook--index .bookGlyph{width:46px;height:62px;min-width:46px}.collectionBook--index .indexMove,.collectionBookActions{grid-column:2}.collectionBook--index .indexMove button{min-width:42px}.collectionBookActions .bookActions{padding-left:0}}.collectionBookList{column-gap:24px}.collectionSelect{top:13px;font-size:10px}.collectionSelect input{width:15px;min-height:15px}.collectionBook--index{grid-template-columns:52px minmax(0,1fr);gap:8px 11px;min-height:145px;padding:15px 2px 13px}.collectionBook--index .bookCover,.collectionBook--index .bookGlyph{width:52px;height:70px;min-width:52px}.collectionBook--index .bookHeading h3{margin-right:44px;font-size:13px}.collectionBook--index .bookBody>.muted{margin-bottom:6px;font-size:10px}.collectionBook .bookBody>.muted span{font-size:10px}.collectionBook--index .meta{max-height:23px}.collectionBook--index .meta>*{font-size:9px}.collectionBook--index .indexMove>span{padding-inline:8px;font-size:10px}.collectionBook--index .indexMove button{min-width:40px;padding:5px 4px;font-size:10px}.collectionBookActions summary{font-size:11px}.collectionBookActions button{padding:5px 7px;font-size:10px}@media(max-width:680px){.collectionBook--index{grid-template-columns:50px minmax(0,1fr);min-height:140px;padding-block:14px}.collectionBook--index .bookCover,.collectionBook--index .bookGlyph{width:50px;height:68px;min-width:50px}.collectionBook--index .indexMove,.collectionBookActions{grid-column:2}}.bookTitleButton{display:block;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;line-height:inherit;text-align:left;white-space:inherit;overflow:inherit;text-overflow:inherit}.bookTitleButton:hover:not(:disabled){border:0;background:transparent;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.bookDetailBackdrop{position:fixed;inset:0;z-index:70;display:flex;justify-content:flex-end;background:rgba(22,34,27,.38)}.bookDetailPanel{width:min(460px,100%);height:100%;overflow-y:auto;padding:25px 28px 36px;border-left:1px solid var(--line);background:#fff;box-shadow:-18px 0 50px rgba(20,39,28,.14)}.bookDetailTop{display:flex;align-items:center;justify-content:space-between;gap:16px}.bookDetailTop span{color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.12em}.bookDetailTop button{padding:5px 8px;border-color:transparent;background:transparent;color:var(--muted);font-size:12px}.bookDetailHero{display:grid;grid-template-columns:100px minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start;padding:22px 0 25px;border-bottom:1px solid var(--line)}.bookDetailCover,.bookDetailGlyph{display:grid;width:100px;height:140px;place-items:center;object-fit:cover;border-radius:6px;background:linear-gradient(145deg,#547964,#244a38);box-shadow:5px 5px 0 #e0e5dd;color:#fff;font:34px Georgia,"Noto Serif SC",serif}.bookDetailHero h2{margin:4px 0 8px;font-size:24px;overflow-wrap:anywhere}.bookDetailHero p{margin:0 0 15px;font-size:13px}.bookDetailHero a{font-size:12px;font-weight:700;text-decoration:none}.bookDetailHero a:hover{text-decoration:underline;text-underline-offset:3px}.bookDetailLinks{display:flex;flex-wrap:wrap;gap:7px 14px}.bookDetailFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:17px 22px;gap:17px 22px;margin:0;padding:21px 0;border-bottom:1px solid var(--line)}.bookDetailFacts div{min-width:0}.bookDetailFacts dt{margin:0 0 3px;color:var(--muted);font-size:10px}.bookDetailFacts dd{margin:0;color:var(--ink);font-size:13px;font-weight:650;overflow-wrap:anywhere}.bookDetailSection{padding:19px 0;border-bottom:1px solid var(--line)}.bookDetailSection h3{margin:0 0 9px;color:var(--muted);font-size:11px}.bookDetailSection p{margin:0;color:var(--ink);font-size:13px;line-height:1.75;white-space:pre-wrap}.bookDetailSection .meta{gap:7px}@media(max-width:600px){.bookDetailPanel{width:100%;padding:20px 20px 30px}.bookDetailHero{grid-template-columns:82px minmax(0,1fr);gap:16px}.bookDetailCover,.bookDetailGlyph{width:82px;height:116px}.bookDetailHero h2{font-size:21px}.bookDetailFacts{gap:15px}}.abandonedConfirmReason{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fafbf8}.abandonedConfirmReason h3{margin:0 0 6px;color:var(--muted);font-size:11px}.abandonedConfirmReason p{max-height:7em;margin:0;overflow:auto;color:var(--ink);font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.brand{color:var(--ink);text-decoration:none}.brand:hover{color:var(--accent)}.brandMark{display:block;flex:none;width:34px;height:34px;border-radius:9px;background:transparent url(/icon.svg) 50%/contain no-repeat;color:transparent;font-size:0;filter:drop-shadow(0 2px 4px rgba(31,66,49,.12))}.authIntro>.eyebrow{display:flex;align-items:center;gap:12px}.authIntro>.eyebrow:before{content:"";display:block;flex:none;width:46px;height:46px;border-radius:12px;background:url(/icon.svg) 50%/contain no-repeat;filter:drop-shadow(0 5px 12px rgba(31,66,49,.14))}@media(max-width:600px){.authIntro>.eyebrow:before{width:40px;height:40px;border-radius:10px}}.adminUserCard{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.adminUserHead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 26px}.adminUserHead span,.adminUserHead strong{display:block}.adminUserHead span{color:var(--muted);font-size:11px}.adminUserHead strong{margin-top:2px;font-size:16px}.adminUserHead>button{padding:7px 11px;font-size:12px}.adminUserForm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;padding:18px 26px;border-top:1px solid var(--line);background:#f8faf7}.adminUserFormActions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.adminUserList{border-top:1px solid var(--line);padding:0 26px}.adminUserRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0}.adminUserRow+.adminUserRow{border-top:1px solid var(--line)}.adminUserRow span,.adminUserRow strong{display:block}.adminUserRow strong{font-size:13px}.adminUserRow span{margin-top:2px;color:var(--muted);font-size:10px}.adminUserRow button{padding:5px 9px;font-size:11px}.adminUserRow .quietDanger{border-color:transparent;color:var(--danger)}.adminUserError{margin:0;padding:0 26px 18px}.adminUserCard>.configNotice{padding-top:15px}.adminUserDialog{max-width:430px}.adminUserDialog>p{overflow-wrap:anywhere}@media(max-width:700px){.adminUserForm{grid-template-columns:1fr}.adminUserForm,.adminUserHead,.adminUserList{padding-left:18px;padding-right:18px}}.routeError{display:grid;min-height:70vh;place-items:center}.routeError .empty{width:min(520px,100%)}.routeError .bookGlyph{margin:0 auto 16px}