:root{--paper:#f3eee6;--paper-card:#fffdfa;--paper-pop:#fff;--ink:#2d3230;--ink-soft:#4e5651;--muted:#878c84;--muted-deep:#68716b;--line:#e3dbcf;--line-dark:#cfc2b2;--accent:#3c7b77;--accent-hover:#2f6662;--accent-soft:#d6e5df;--warm:#c87551;--tab-active:#2d3230;--tab-active-text:#fff;--paper-image:#ece3d4;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-display:"Songti SC", "Noto Serif CJK SC", "STSong", serif;--font-mono:"SFMono-Regular", "Roboto Mono", Menlo, Consolas, monospace;--safe-bottom:env(safe-area-inset-bottom,16px);--safe-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box;touch-action:manipulation;-webkit-tap-highlight-color:transparent}html{background:var(--paper);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body{min-width:320px;min-height:100vh;padding:0 0 calc(var(--safe-bottom) + 20px);background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 48%, transparent);outline-offset:3px}img{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.library-app{background:var(--paper);min-height:100vh}.app-header{z-index:100;width:100%;max-width:100vw;padding:max(9px, var(--safe-top)) 16px 0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);background:#f3eee6f0;position:sticky;top:0;overflow:hidden}.header-main-row{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:1200px;min-height:38px;margin:0 auto;padding-bottom:6px;display:flex}.brand-area{flex:none;align-items:center;gap:8px;display:flex}.brand-logo{background:var(--accent);color:#fffdfa;width:27px;height:27px;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;box-shadow:0 2px 6px #3c7b773d}.brand-title{color:var(--ink);letter-spacing:-.02em;white-space:nowrap;font-size:15px;font-weight:650}.search-capsule{flex:300px;max-width:440px;position:relative}.search-capsule input{width:100%;height:33px;color:var(--ink);background:#e7dfd1;border:1px solid #0000;border-radius:18px;outline:0;padding:0 34px;font-size:12.5px;transition:background .16s,border-color .16s,box-shadow .16s}.search-capsule input::placeholder{color:#8b8d84}.search-capsule input:focus{border-color:var(--line-dark);background:var(--paper-pop);box-shadow:0 2px 8px #292a2512}.search-icon{z-index:1;color:#7e827c;pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.clear-search{width:23px;height:23px;color:var(--muted-deep);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.clear-search:hover{color:var(--ink);background:#ffffffa8}.header-tools{flex:none;align-items:center;gap:10px;display:flex}.github-link{border:1px solid var(--line-dark);min-height:27px;color:var(--ink-soft);white-space:nowrap;border-radius:14px;align-items:center;gap:5px;padding:0 8px;font-size:10.5px;font-weight:550;text-decoration:none;transition:border-color .16s,color .16s,background .16s,transform .16s;display:inline-flex}.github-link:hover{border-color:var(--accent);color:var(--accent);background:#fffdfabd;transform:translateY(-1px)}.header-count{color:var(--muted-deep);font-family:var(--font-mono);letter-spacing:.03em;white-space:nowrap;font-size:10px}.btn-top-download{background:var(--warm);color:#fffdfa;cursor:pointer;white-space:nowrap;border:0;border-radius:14px;align-items:center;gap:5px;height:27px;padding:0 11px;font-size:11px;font-weight:550;transition:background .16s,transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 2px 6px #c8755138}.btn-top-download:hover:not(:disabled){background:#b36243;transform:translateY(-1px);box-shadow:0 4px 10px #c8755147}.btn-top-download:active:not(:disabled){transform:translateY(0)}.btn-top-download:disabled{color:#9a958b;box-shadow:none;cursor:not-allowed;background:#d5cdc0}.btn-top-download strong{font-weight:700}.series-tabs-wrap{scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;max-width:1200px;margin:0 auto;overflow-x:auto}.series-tabs-wrap::-webkit-scrollbar{display:none}.series-tabs{white-space:nowrap;align-items:center;gap:17px;min-width:max-content;padding:2px 0 0;display:flex}.series-tab{color:var(--muted-deep);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;flex-direction:column;align-items:center;padding:7px 2px 9px;display:flex;position:relative}.series-tab .tab-text{color:#777d76;align-items:center;gap:3px;font-size:13.5px;font-weight:400;transition:color .16s,font-size .16s,font-weight .16s;display:inline-flex}.series-tab:hover .tab-text{color:var(--ink)}.series-tab.active .tab-text{color:var(--ink);font-size:14.5px;font-weight:650}.tab-indicator{background:0 0;border-radius:2px;width:21px;height:2.5px;transition:background .18s,transform .18s;position:absolute;bottom:0;transform:scaleX(.76)}.series-tab.active .tab-indicator{background:var(--accent);transform:scaleX(1)}.fav-badge{min-width:15px;height:15px;color:var(--warm);background:#c8755121;border-radius:10px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.feed-container{width:100%;max-width:1200px;margin:0 auto;padding:11px 12px 48px}.feed-status{color:var(--muted);font-family:var(--font-mono);letter-spacing:.095em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:0 2px 8px;font-size:9px;line-height:1.4;display:flex}.feed-status span:last-child{color:var(--muted-deep)}.search-result-line{border:1px solid var(--line);min-height:31px;color:var(--muted-deep);background:#fffdfab3;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 8px;padding:6px 10px;font-size:12px;display:flex}.search-result-line button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:11px}.feed-grid{grid-template-columns:repeat(auto-fill,minmax(194px,1fr));align-items:start;gap:12px 10px;display:grid}.feed-sentinel{pointer-events:none;width:100%;min-height:1px}.feed-card{border:1px solid var(--line);background:var(--paper-card);cursor:pointer;content-visibility:auto;contain-intrinsic-size:200px 320px;border-radius:10px;outline:0;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 4px #292a250d}.feed-card-main{width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.feed-card:hover,.feed-card:focus-visible{border-color:#d5cabb;transform:translateY(-3px);box-shadow:0 7px 17px #292a251c}.feed-card:active{transform:translateY(-1px)}.feed-card-media{background:var(--paper-image);justify-content:center;align-items:center;width:100%;height:auto;display:flex;position:relative;overflow:hidden}.feed-card-media:after{content:"";pointer-events:none;border:1px solid #ffffff38;position:absolute;inset:0}.feed-card-media img{object-fit:contain;opacity:1;width:100%;height:auto;transition:transform .28s,filter .28s}.product-media{background:#f7f4ee}.product-media img{object-fit:contain}.feed-card:hover .feed-card-media img{transform:none}.feed-card-info{background:var(--paper-pop);flex-direction:column;justify-content:space-between;gap:5px;min-height:66px;padding:8px 10px 9px;display:flex}.feed-card-title{color:var(--ink);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;font-weight:550;line-height:1.35;display:-webkit-box;overflow:hidden}.feed-card-footer{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.author-name{color:#81857e;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10.5px;line-height:1.25;overflow:hidden}.card-like-btn,.note-like-btn{color:#8f928b;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:2px;transition:color .16s,transform .16s;display:inline-flex}.card-like-btn{z-index:2;background:#fffdfadb;border-radius:50%;width:24px;height:24px;position:absolute;bottom:7px;right:7px}.card-like-btn:hover,.card-like-btn.liked,.note-like-btn:hover,.note-like-btn.liked{color:var(--warm)}.card-like-btn:hover,.note-like-btn:hover{transform:scale(1.12)}.card-like-btn:active,.note-like-btn:active{transform:scale(.92)}.card-arrow{color:var(--muted);font-size:15px;line-height:1;transition:color .16s,transform .16s}.collection-card:hover .card-arrow{color:var(--accent);transform:translate(1px,-1px)}.collection-card .feed-card-media{height:auto}.collection-card .feed-card-info{min-height:61px}.empty-state{border:1px dashed var(--line-dark);text-align:center;background:#fffdfaad;border-radius:12px;max-width:430px;margin:42px auto;padding:48px 24px}.empty-symbol{color:var(--accent);font-family:var(--font-display);margin-bottom:10px;font-size:38px;display:block}.empty-state h2{color:var(--ink);margin:0 0 8px;font-size:18px;font-weight:650}.empty-state p{color:var(--muted-deep);margin:0 0 18px;font-size:13px}.empty-state button{background:var(--accent);color:#fffdfa;cursor:pointer;border:0;border-radius:18px;padding:8px 17px;font-size:13px;box-shadow:0 2px 7px #3c7b773b}.note-detail-modal{z-index:1000;-webkit-backdrop-filter:blur(8px);background:#1f1e1bb8;border:0;justify-content:center;align-items:center;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:16px;display:flex;position:fixed;inset:0}.note-window{background:var(--paper-pop);border:1px solid #27272317;border-radius:16px;flex-direction:column;width:min(92vw,660px);height:min(92vh,920px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #1c1d1a5c}.note-header{background:var(--paper-pop);border-bottom:1px solid #eee8de;flex:none;align-items:center;gap:8px;min-height:53px;padding:0 14px;display:flex}.note-btn-back,.note-close{width:34px;height:34px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.note-btn-back:hover,.note-close:hover{background:var(--paper);color:var(--ink)}.note-author-info{flex:auto;align-items:baseline;gap:7px;min-width:0;display:flex;overflow:hidden}.note-author-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.note-author-divider,.note-author-sub{color:var(--muted);font-family:var(--font-mono);white-space:nowrap;font-size:10px}.note-nav-btn{z-index:4;width:44px;height:44px;color:var(--ink-soft);cursor:pointer;background:#fffdfaeb;border:1px solid #2d32301f;border-radius:50%;place-items:center;padding:0;transition:color .16s,background .16s,transform .16s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 14px #292a2521}.note-nav-btn:hover{color:var(--accent);background:#fff;transform:translateY(-50%)scale(1.07)}.note-nav-prev{left:-60px}.note-nav-next{right:-60px}.note-scroll-body{background:var(--paper-pop);scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:hidden auto}.note-scroll-body::-webkit-scrollbar{display:none}.note-media-wrap{background:var(--paper-image);justify-content:center;align-items:center;width:100%;height:auto;min-height:0;max-height:none;display:flex;position:relative;overflow:hidden}.note-main-img{object-fit:contain;background:#f7f4ee;width:100%;height:auto}.collection-main-img{object-fit:contain}.note-content-container{flex-direction:column;gap:13px;padding:16px 17px 24px;display:flex}.note-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.note-kicker{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:9px}.note-title{max-width:510px;color:var(--ink);font-family:var(--font-display);margin:0;font-size:23px;font-weight:700;line-height:1.25}.note-like-btn{border:1px solid var(--line);background:#faf7f1;border-radius:50%;width:38px;height:38px}.note-desc{color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.65}.note-detail-list{border-top:1px solid var(--line);flex-direction:column;display:flex}.note-detail-list>div{border-bottom:1px solid var(--line);min-height:40px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.note-detail-list strong{color:var(--ink-soft);text-align:right;font-size:11px;font-weight:600}.note-bottom-bar{min-height:62px;padding:9px 16px max(9px, var(--safe-bottom));background:var(--paper-pop);border-top:1px solid #eee8de;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.note-bottom-hint{min-width:0;color:var(--muted);flex:auto;font-size:11px}.note-bottom-action{background:var(--accent);color:#fffdfa;cursor:pointer;border-radius:20px;align-items:center;gap:7px;min-height:40px;padding:0 15px;font-size:12px;font-weight:600;text-decoration:none;transition:background .16s,transform .16s;display:inline-flex;box-shadow:0 3px 9px #3c7b7738}.note-bottom-action:hover{background:var(--accent-hover);transform:translateY(-1px)}.note-bottom-action:active{transform:translateY(0)}.share-card-modal{z-index:1100;-webkit-backdrop-filter:blur(10px);background:#1f1e1bc2;border:0;justify-content:center;align-items:center;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:16px 12px;display:flex;position:fixed;inset:0}.share-modal-window{flex-direction:column;gap:10px;width:min(92vw,380px);max-height:calc(100dvh - 28px);display:flex}.share-modal-header{color:#fffdfa;justify-content:space-between;align-items:center;min-height:30px;padding:0 4px;display:flex}.share-modal-heading{letter-spacing:.02em;font-size:14px;font-weight:650}.share-modal-close{color:#fffdfa;cursor:pointer;background:#ffffff24;border:1px solid #ffffff52;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;transition:background .16s,transform .16s;display:grid}.share-modal-close:hover{background:#ffffff40;transform:rotate(4deg)}.share-card-paper{scrollbar-width:none;background:#fbf8f2;border:1px solid #e5dbcb;border-radius:14px;flex-direction:column;gap:9px;width:100%;max-height:calc(100dvh - 150px);padding:12px;display:flex;overflow-y:auto;box-shadow:0 16px 48px #00000059}.share-card-paper::-webkit-scrollbar{display:none}.share-card-header{justify-content:center;align-items:center;min-height:23px;display:flex}.share-card-series{color:#68716b;letter-spacing:.075em;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.share-card-art-box{background:var(--paper-image);border:1px solid #e2d7c5;border-radius:8px;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden}.share-card-art-box img{object-fit:contain;width:100%;height:auto;max-height:320px;display:block}.share-card-meta{flex-direction:column;gap:3px;padding:2px 0;display:flex}.share-card-meta h2{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;font-weight:700;line-height:1.3;overflow:hidden}.share-card-meta p{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.share-card-footer{border-top:1px dashed #dcd1c0;justify-content:space-between;align-items:center;gap:10px;padding-top:9px;display:flex}.share-card-footer-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.share-card-footer-copy strong{color:var(--ink);white-space:nowrap;font-size:11px;font-weight:700}.share-card-footer-copy span{color:var(--muted-deep);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.share-card-qr-wrap{background:#fff;border:1px solid #e5ddcf;border-radius:6px;flex:none;place-items:center;width:58px;height:58px;padding:4px;display:grid}.share-card-qr{width:48px;height:48px;display:block}.share-card-qr-loading{color:var(--muted);font-family:var(--font-mono);font-size:8px}.share-modal-actions{align-items:center;gap:8px;width:100%;display:flex}.share-save-btn,.share-link-btn{cursor:pointer;border-radius:20px;justify-content:center;align-items:center;gap:6px;min-height:40px;font-size:11.5px;font-weight:650;transition:background .16s,border-color .16s,transform .16s,opacity .16s;display:inline-flex}.share-save-btn{background:var(--accent);color:#fffdfa;border:0;flex:auto;padding:0 14px;box-shadow:0 4px 12px #3c7b7747}.share-save-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.share-save-btn:disabled{cursor:wait;opacity:.62}.share-link-btn{color:#fffdfa;background:#fffdfa1f;border:1px solid #fffdfa8c;flex:none;padding:0 13px}.share-link-btn:hover{background:#fffdfa38;border-color:#fffdfac7;transform:translateY(-1px)}.share-feedback{color:#fffdfadb;text-align:center;min-height:17px;margin:-2px 0 0;font-size:10px}@media (width<=900px){.header-main-row,.series-tabs-wrap,.feed-container{max-width:760px}.feed-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.note-nav-prev{left:9px}.note-nav-next{right:9px}.note-nav-btn{background:#fffdfad6}}@media (width<=680px){.app-header{padding-left:10px;padding-right:10px}.header-main-row{gap:8px;padding-bottom:6px}.brand-title,.header-count{display:none}.github-link{justify-content:center;width:28px;height:27px;padding:0}.github-link span{display:none}.search-capsule{max-width:none}.search-capsule input{height:32px;font-size:12px}.btn-top-download{height:27px;padding:0 8px;font-size:10.5px}.series-tabs{gap:14px}.series-tab .tab-text{font-size:13px}.series-tab.active .tab-text{font-size:14px}.feed-container{margin-top:0;padding:9px 8px 38px}.feed-status{padding:0 2px 7px;font-size:8px}.feed-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.feed-card{border-radius:8px}.feed-card-info{gap:4px;min-height:62px;padding:6px 8px 8px}.feed-card-title{font-size:12.5px}.author-name{font-size:10px}.note-detail-modal{background:var(--paper-pop);justify-content:flex-start;align-items:stretch;padding:0}.note-window{width:100%;max-width:100%;height:100%;max-height:100dvh;box-shadow:none;border:0;border-radius:0}.note-header{min-height:calc(51px + var(--safe-top));padding:max(9px, var(--safe-top)) 10px 8px}.note-close,.note-nav-btn{display:none}.note-media-wrap{height:auto;min-height:0;max-height:none}.note-content-container{padding:14px 15px 22px}.note-title{font-size:21px}.note-bottom-bar{min-height:calc(63px + var(--safe-bottom));padding:8px 15px max(10px, var(--safe-bottom))}.note-bottom-action{min-height:42px;padding:0 14px}.share-card-modal{padding:max(10px, var(--safe-top)) 10px max(10px, var(--safe-bottom));align-items:flex-start}.share-modal-window{width:min(100%,380px);max-height:calc(100dvh - max(20px, var(--safe-top) + var(--safe-bottom)))}.share-card-paper{max-height:calc(100dvh - 148px)}.share-card-art-box img{max-height:290px}.share-modal-actions{gap:7px}.share-save-btn,.share-link-btn{min-height:42px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
