:root{color-scheme:dark;--bg:#171320;--paper:#f8ecda;--gold:#eacb86;--gold2:#b88643;--ink:#321f29;--muted:#cebfae;--violet:#3b2b4c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font-family:"Noto Serif TC","PMingLiU","Microsoft JhengHei",serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}[hidden]{display:none!important}:focus-visible{outline:3px solid #ffdf9c;outline-offset:4px}.library-shell{min-height:100vh;overflow:hidden;background:radial-gradient(ellipse at 50% 41%,#40304b 0%,#201728 56%,#15121d 100%)}
.library-top{height:82px;padding:10px max(24px,calc((100vw - 1340px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;background:#211727;box-shadow:0 2px 22px #0007;position:relative;z-index:2;border-bottom:1px solid #ab84496b}.library-logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.13em;font-size:23px;color:#f7dfa5;white-space:nowrap}.library-logo small{display:block;font-weight:400;color:#d6bda6;font-size:11px;letter-spacing:.2em;text-align:center}.logo-paw{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:25px;box-shadow:0 0 18px #c68d4760}.library-head-links{display:flex;align-items:center;gap:20px;font-size:14px}.library-head-links a:hover,.library-head-links button:hover{color:#fff2ca}.library-head-links span{color:#d7b36f}.library-head-links button{color:var(--gold);background:transparent;border:0}
.library-hero{position:relative;min-height:clamp(420px,49vw,690px);display:flex;justify-content:flex-end;align-items:center;isolation:isolate;background:#31243a url('/assets/library-hero-20261109.webp') center top/cover no-repeat;border-bottom:3px solid #c99c54;overflow:hidden}.library-hero:after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,#201728 95%);z-index:-1;pointer-events:none}.library-hero-sky{position:absolute;inset:0;background:linear-gradient(90deg,transparent 12%,#21162605 40%,#271d33aa 73%,#211628bb 100%);z-index:-1;pointer-events:none}.library-hero-copy{width:min(520px,45%);text-align:center;margin:0 clamp(28px,6.5vw,108px) 45px 0;padding:35px clamp(18px,3vw,38px);border:2px solid #cfaa6f;outline:1px solid #7f552f;outline-offset:-8px;box-shadow:0 0 0 6px #261724b0,0 15px 45px #100915aa,inset 0 0 55px #7f472b80;background:linear-gradient(135deg,#37233adc,#261b31f2 58%,#52303ad9);border-radius:95px 95px 28px 28px;backdrop-filter:blur(7px)}.library-kicker{font-size:12px;letter-spacing:.18em;color:#efd39d}.library-hero h1{margin:12px 0 2px;font-size:clamp(42px,5.4vw,84px);line-height:1.28;color:#ffebc0;letter-spacing:.2em;text-shadow:0 2px 1px #865125,0 0 22px #e7ad70a8}.library-hero-subtitle{font-size:clamp(15px,1.7vw,24px);color:#f3d8a5;letter-spacing:.22em;margin:10px 0 22px}.library-hero-note{color:#f9eadd;line-height:2;font-size:clamp(12px,1vw,15px);margin:0 0 24px}.library-scroll-link,.library-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 25px;border:1px solid #ffe2a2;border-radius:24px;color:#321c25;background:linear-gradient(#fff1cc,#dfaa67);box-shadow:0 6px 17px #0005;font-weight:800;transition:transform .2s,filter .2s}.library-scroll-link:hover,.library-action:hover{transform:translateY(-2px);filter:brightness(1.1)}.library-scroll-link:active,.library-action:active,.library-quicklinks a:active{transform:translateY(2px)}.library-hero-bottom{position:absolute;bottom:10px;text-align:center;left:0;right:0;font-size:13px;letter-spacing:.18em;color:#f6d1a7;text-shadow:0 2px 7px #1e1221}
.library-quicklinks{max-width:1350px;margin:-13px auto 0;position:relative;z-index:1;padding:18px 20px 28px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:13px}.library-quicklinks a{display:flex;flex-direction:column;align-items:center;text-align:center;min-height:138px;padding:18px 6px 10px;border:1px solid #986b46aa;border-radius:12px;background:linear-gradient(165deg,#493341f0,#241a2f 70%);box-shadow:inset 0 0 0 1px #e3bd6c25,0 10px 15px #07040855;transition:transform .2s,border-color .2s,background .2s}.library-quicklinks a:hover{transform:translateY(-4px);border-color:#e5c287;background:linear-gradient(#62414d,#2a1f34)}.quick-icon{font-size:37px;color:#f8d895;line-height:1.25;text-shadow:0 0 20px #f6bb6d66}.library-quicklinks strong{font-size:16px;margin:10px 0 4px;letter-spacing:.07em}.library-quicklinks small{font-size:11px;color:#baa997}
.library-collection{max-width:1310px;margin:18px auto 60px;padding:35px 26px 55px;scroll-margin-top:25px}.collection-heading{text-align:center}.chapter-label{font-size:12px;letter-spacing:.23em;color:#d3aa73}.collection-heading h2{color:#fce7b9;font-size:clamp(31px,3.5vw,48px);letter-spacing:.16em;font-weight:700;margin:13px 0}.collection-heading p{color:#d4c4bb;line-height:1.9;margin:0 auto 33px;max-width:700px;font-size:14px}.library-overview{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 35px;border-radius:12px;background:linear-gradient(95deg,#3f2f3e,#2a2436);border:1px solid #7e5e5c;margin:0 0 30px}.library-overview>div{display:flex;gap:10px;align-items:baseline;white-space:nowrap;color:#f2cf96}.library-overview strong{font-size:44px}.shelf-caption{font-size:15px}.library-overview p{font-size:13px;color:#ddc8bf;line-height:1.75;max-width:570px}.library-toolbar{display:flex;gap:18px;align-items:flex-end;padding:5px 0 18px}.library-search{flex:1}.library-filter{width:210px}.library-toolbar label{display:block;color:#e8cb9d;font-size:13px;margin-bottom:9px}.library-search input,.library-filter select{color:#fff4df;background:#33273b;border:1px solid #a07760;border-radius:10px;height:49px;width:100%;outline:none}.library-search input:focus,.library-filter select:focus{border-color:#f3ca88;box-shadow:0 0 0 3px #e5b56730}.search-control{position:relative}.search-control span{position:absolute;left:15px;top:4px;font-size:31px;color:#eac791}.library-search input{padding:0 16px 0 50px}.library-search input::placeholder{color:#aa9da9}.library-filter select{padding:0 15px}.library-chips{display:flex;gap:9px;flex-wrap:wrap;margin:5px 0 20px}.library-chips button{border:1px solid #816b78;border-radius:24px;color:#ead7d1;background:#2a2134;padding:9px 15px;font-size:12px;transition:background .2s}.library-chips button.active,.library-chips button:hover{background:linear-gradient(#f7e2b9,#d6ad72);border-color:#f6ddaf;color:#38212b;font-weight:bold}.library-chips span{font-variant-numeric:tabular-nums;opacity:.8;margin-left:3px}.library-results-label{color:#cabbaf;font-size:13px;padding:4px 2px 12px}
.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.library-card{position:relative;display:flex;flex-direction:column;min-height:250px;padding:25px 24px 20px;border:1px solid #b2855d;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#514052,#2b2538 45%,#332431);box-shadow:0 12px 24px #0005,inset 0 0 0 4px #efd1a508;transition:transform .2s,border-color .2s}.library-card:before{content:"✦";position:absolute;font-size:95px;color:#e5b96d14;right:-12px;top:-16px;pointer-events:none}.library-card:hover{transform:translateY(-3px);border-color:#f2c888}.library-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px}.library-card-category{border:1px solid #c7a17f;padding:5px 12px;border-radius:20px;font-size:11px;color:#f7d8a4;background:#16132266}.library-card-time{font-size:11px;color:#d3b9b2;white-space:nowrap}.library-card h3{margin:0 0 12px;font-size:20px;color:#ffefd0;line-height:1.5;overflow-wrap:anywhere}.library-card p{font-size:13px;color:#d8cbd0;line-height:1.8;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 15px;flex:1}.library-card-foot{border-top:1px solid #ad8b7544;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:8px}.library-card-status{font-size:11px;color:#d7c4a5}.library-card button{background:none;color:#f1d49a;border:0;font-size:14px;padding:6px 1px}.library-card button:hover{text-decoration:underline}.library-empty,.library-state{text-align:center;padding:50px 24px;border:1px solid #8d704e77;border-radius:16px;background:#3f314260}.library-state{margin:0 auto;max-width:720px}.library-empty>span,.state-emblem{font-size:64px;color:#e9c181}.library-empty h3,.library-state h3{font-size:24px;color:#f4deb4}.library-empty p,.library-state p{line-height:1.9;color:#d5c6ca}.spinning-seal{display:inline-block;font-size:40px;color:#f5d6a3;animation:spin 3s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.library-more{display:block;margin:27px auto 0;color:#eedaaf;background:#413048;border:1px solid #dbb678;border-radius:30px;padding:12px 42px}.library-more:hover{background:#5b3f56}.library-disclaimer{margin:30px 0 0;font-size:12px;color:#beaeae;line-height:1.8;text-align:center}.library-footer{border-top:1px solid #855f4c;text-align:center;padding:24px 16px 36px;background:#1b1622;font-size:13px}.library-footer p{color:#e5bd82;margin-bottom:17px}.library-footer a{color:#cdbbbf;margin:0 13px}.library-footer a:hover{color:#ffe4b0}
.library-modal{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:24px}.library-modal-backdrop{position:absolute;inset:0;background:#0e0a13db;backdrop-filter:blur(8px)}.library-modal-panel{position:relative;width:min(930px,100%);max-height:min(90vh,1000px);display:flex;flex-direction:column;color:#352230;background:linear-gradient(#fff7e8,#f0e1c9);border:3px double #c19a60;border-radius:14px;box-shadow:0 24px 90px #000a;overflow:hidden}.library-modal-heading{flex:0 0 auto;display:flex;justify-content:space-between;gap:12px;padding:23px 30px 15px;border-bottom:1px solid #bd9c75}.library-modal-heading span{color:#946e48;font-size:12px;letter-spacing:.17em}.library-modal-heading h2{font-size:clamp(20px,3vw,31px);margin:6px 0 5px;overflow-wrap:anywhere}.library-modal-heading p{color:#9a7777;font-size:12px;margin:0}.library-modal-heading button{background:#493043;color:#ffe9c2;width:42px;height:42px;border-radius:50%;font-size:27px;border:1px solid #b88452;flex:none}.library-detail-body{overflow:auto;flex:1;padding:24px 35px 36px;overscroll-behavior:contain;white-space:normal}.library-detail-body p{line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere}.reading-section{padding:16px 0;border-bottom:1px solid #c9ac904b}.reading-section h3,.reading-section h4{color:#774b43;line-height:1.5;margin:0 0 12px;overflow-wrap:anywhere}.reading-section h3{font-size:20px}.reading-section h4{font-size:16px}.reading-section p{color:#463543;margin:0 0 6px}.reading-section .reading-section{padding-left:18px;border-left:2px solid #d2b88e;border-bottom:0;margin:12px 0}.reading-list{padding:0 0 0 12px;margin:0;list-style:none}.reading-list>li{border-left:2px solid #cfad86;padding:6px 10px;margin:10px 0;background:#cba97818}.reading-field{margin:8px 0}.reading-key{font-weight:700;color:#785349}.reading-empty{padding:35px 15px;text-align:center;color:#805c56}.library-modal-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #c5a784;padding:15px 25px}.library-modal-actions button{border:1px solid #b88b59;border-radius:8px;background:#593f4c;color:#fff0d0;padding:11px 17px}.library-modal-actions button:first-child{background:#edddbf;color:#4b3135}body.library-modal-open{overflow:hidden}
@media(max-width:1000px){.library-quicklinks{grid-template-columns:repeat(4,minmax(0,1fr))}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-hero{min-height:540px}.library-hero-copy{width:min(490px,55%);margin-right:24px}.library-hero-note br{display:none}}
@media(max-width:650px){.library-top{height:auto;min-height:70px;padding:11px 15px}.library-logo{font-size:17px}.library-logo small{font-size:9px}.logo-paw{width:34px;height:34px}.library-head-links{gap:9px;font-size:12px}.library-head-links a:nth-child(2){display:none}.library-head-links span{display:none}.library-hero{background-size:auto 100%;background-position:30% top;min-height:620px;align-items:flex-end;justify-content:center}.library-hero-sky{background:linear-gradient(180deg,transparent 0%,#21152822 34%,#211427c9 65%,#1e1728f5 100%)}.library-hero-copy{width:calc(100% - 30px);margin:0 15px 60px;padding:23px 16px 26px;border-radius:50px 50px 18px 18px;max-width:490px;outline-offset:-6px}.library-hero h1{font-size:45px;margin:4px 0}.library-hero-subtitle{font-size:15px;margin:5px 0 10px}.library-hero-note{font-size:12px;line-height:1.8;margin-bottom:14px}.library-hero-bottom{font-size:9px;bottom:16px}.library-quicklinks{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:12px 9px 19px;margin:0}.library-quicklinks a{min-height:103px;padding:12px 3px 7px}.quick-icon{font-size:29px}.library-quicklinks strong{font-size:12px;margin:5px 0 2px}.library-quicklinks small{font-size:9px}.library-collection{margin:0;padding:22px 13px 43px}.collection-heading p{font-size:12px}.library-overview{padding:12px 16px;align-items:start}.library-overview p{display:none}.library-overview strong{font-size:36px}.library-toolbar{flex-direction:column;align-items:stretch;gap:12px}.library-filter{width:100%}.library-chips{flex-wrap:nowrap;overflow:auto;scrollbar-width:thin;padding:5px 1px 12px}.library-chips button{flex:none}.library-grid{grid-template-columns:1fr;gap:13px}.library-card{min-height:216px;padding:19px}.library-modal{padding:5px}.library-modal-panel{max-height:96dvh;border-radius:12px}.library-modal-heading{padding:16px}.library-modal-heading h2{font-size:21px}.library-detail-body{padding:15px 18px 35px}.library-modal-actions{padding:10px 12px}.library-modal-actions button{padding:10px 12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
