body{overflow-x:hidden}.container{width:min(1180px,100% - 40px);margin:0 auto}main{background:var(--canvas);min-height:760px;padding:16px 0 65px}.crumbs{color:var(--muted-2);gap:7px;margin-bottom:15px;font-size:12px;display:flex}.crumbs a{color:var(--primary-link)}.browse-heading{border:1px solid var(--line-tint);border-radius:var(--radius-card);background:var(--tint);justify-content:space-between;align-items:end;margin-bottom:26px;padding:27px 31px;display:flex}.kicker{color:var(--primary-link);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:900}.browse-heading h1{color:var(--ink);letter-spacing:-.06em;margin:7px 0 6px;font-size:clamp(34px,4vw,48px);font-weight:900;line-height:1}.browse-heading em{color:var(--primary-bright);font-style:normal}.browse-heading p{color:var(--muted);margin:0;font-size:13px}.heading-stat{border-left:1px solid var(--line-tint);gap:3px;min-width:122px;padding-left:22px;display:grid}.heading-stat b{color:var(--primary-bright);font-size:25px;line-height:1}.heading-stat span{color:var(--muted);font-size:11px;font-weight:700}.heading-actions{gap:6px;margin-top:8px;display:flex}.heading-actions .btn{white-space:nowrap}.submit-novel-panel{border:1px dashed var(--line-tint);background:var(--tint-soft);border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.submit-novel-panel[hidden]{display:none}.submit-copy{color:var(--ink-3);gap:2px;display:grid}.submit-copy b{font-size:13px}.submit-copy span{color:var(--muted);font-size:11px}.submit-novel-panel form{flex:1;gap:8px;min-width:280px;display:flex}.submit-novel-panel input{border:1px solid var(--line-strong);min-width:0;color:var(--ink);border-radius:4px;flex:1;padding:8px 10px;font-size:12px}.requests-link{color:var(--primary-link);white-space:nowrap;font-size:12px;font-weight:700}.requests-link:hover{text-decoration:underline}.submit-status{width:100%;color:var(--primary-link);margin:0;font-size:12px;font-weight:700}.catalog-layout{grid-template-columns:215px minmax(0,1fr);align-items:start;gap:16px;display:grid}.filters{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.filter-title,.filter-group{border-bottom:1px solid var(--line-soft);padding:15px}.filter-title{justify-content:space-between;align-items:center;display:flex}.filter-title h2{color:var(--ink);margin:0;font-size:14px;font-weight:900}.filter-group:last-child{border-bottom:0}.filter-group h3{color:var(--muted);text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:900}.check-list{gap:8px;display:grid}.check-list label{color:var(--muted);grid-template-columns:13px 1fr auto;align-items:center;gap:6px;font-size:12px;font-weight:700;display:grid}.check-list input{width:12px;height:12px;accent-color:var(--primary);margin:0}.check-list b{color:var(--faint);font-size:11px;font-weight:600}.mature-note{color:var(--faint);margin:2px 0 0;font-size:11px;line-height:1.4}.genre-options,.score-options{gap:4px;display:grid}.genre-options button,.score-options button{color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:3px;padding:6px 7px;font-size:12px;font-weight:700}.genre-options button:hover,.score-options button:hover{background:var(--tint-soft)}.genre-options button.selected,.score-options button.selected{border-color:var(--line-tint);background:var(--tint-strong);color:var(--primary-link)}.tag-options{flex-wrap:wrap;gap:4px;display:flex}.tag-options button{border:1px solid var(--line-strong);background:var(--surface-muted);color:var(--muted);border-radius:3px;align-items:center;gap:4px;padding:4px 6px;font-size:11px;font-weight:700;display:inline-flex}.tag-options button:hover{border-color:var(--primary-link)}.tag-options button.selected{border-color:var(--primary-link);background:var(--tint-strong);color:var(--primary-link)}.tag-options b{color:var(--faint);font-size:10px;font-weight:700}.tag-options button.selected b{color:var(--primary-link)}.author a{color:var(--primary-link);font-weight:800}.author a:hover{text-decoration:underline}.catalog-content{min-width:0}.content-type-tabs{flex-wrap:wrap;gap:5px;margin-bottom:11px;display:flex}.content-type-tabs button{border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:5px;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:800;display:inline-flex}.content-type-tabs button b{color:var(--faint);font-size:11px;font-weight:700}.content-type-tabs button:hover{border-color:var(--primary-link)}.content-type-tabs button.selected{border-color:var(--primary);background:var(--primary);color:#fff}.content-type-tabs button.selected b{color:var(--tint-strong)}.content-type{background:var(--pill-blue-bg);color:var(--pill-blue-fg);border-radius:3px;flex:none;padding:3px 5px;font-size:11px;font-weight:900}.content-type.translated{background:var(--pill-green-bg);color:var(--green)}.content-type.fanfic{background:var(--pill-pink-bg);color:var(--pill-pink-fg)}.catalog-search{border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;align-items:center;height:47px;padding:0 12px;display:flex;box-shadow:0 1px 3px #283b590a}.catalog-search:focus-within{border-color:var(--primary);box-shadow:var(--focus-ring)}.catalog-search svg{width:18px;stroke:var(--muted);stroke-width:2px;fill:none}.catalog-search input{min-width:0;height:100%;color:var(--ink);border:0;outline:0;flex:1;padding:0 10px;font-size:13px}.catalog-search input::placeholder{color:var(--muted-2)}.catalog-search kbd{border:1px solid var(--line-strong);color:var(--faint);border-radius:3px;padding:3px 6px;font-family:DM Mono,monospace;font-size:11px}.catalog-toolbar{justify-content:space-between;align-items:center;padding:13px 0 10px;display:flex}.catalog-toolbar p{color:var(--muted-2);margin:0;font-size:12px}.catalog-toolbar p b{color:var(--ink-3)}.sort-control{color:var(--muted-2);align-items:center;gap:6px;font-size:11px;display:flex}.sort-control select{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-3);font:inherit;border-radius:3px;padding:5px 19px 5px 7px;font-weight:700}.catalog-results{gap:10px;display:grid}.catalog-sentinel{height:1px}.catalog-sentinel[hidden]{display:none}.load-more{margin:18px auto 0;display:block}.load-more[hidden]{display:none}.novel-row{border:1px solid var(--line);border-radius:var(--radius-row);background:var(--surface);min-height:146px;box-shadow:var(--shadow-1);content-visibility:auto;contain-intrinsic-size:auto 146px;grid-template-columns:88px minmax(0,1fr) auto auto 34px;align-items:center;gap:18px;padding:14px 16px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.novel-row:hover{z-index:1;border-color:#607aa873;position:relative;transform:translateY(-2px);box-shadow:0 10px 26px #1a2e4e24}.novel-row:focus-within{border-color:#607aa873}.row-cover{background:var(--surface-muted);border-radius:7px;width:88px;height:118px;display:block;overflow:hidden;box-shadow:0 3px 8px #1b30502e}.row-cover .book-cover,.row-cover .live-cover{width:100%;height:100%;transition:transform .55s cubic-bezier(.16,1,.3,1)}.novel-row:hover .row-cover .book-cover,.novel-row:hover .row-cover .live-cover{transform:scale(1.07)}.row-main{min-width:0}.row-title{align-items:center;gap:7px;min-width:0;display:flex}.mature-tag{background:var(--pill-pink-bg);color:var(--pill-pink-fg);border-radius:3px;flex:none;padding:2px 5px;font-size:10px;font-weight:900}.row-title h2{color:var(--ink-2);letter-spacing:-.3px;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:900;transition:color .15s;overflow:hidden}.novel-row:hover .row-title h2{color:var(--primary-bright)}.author{color:var(--muted-2);margin:4px 0 7px;font-size:11px}.synopsis{max-width:560px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.row-tags{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.row-tags span{background:var(--surface-muted);color:var(--muted);border-radius:4px;padding:3px 6px;font-size:11px;font-weight:700}.novel-row mark{background:var(--tint-strong);color:var(--primary-link);border-radius:2px;padding:0 1px;font-weight:800}.row-stats{justify-items:start;gap:9px;display:grid}.stat{align-items:center;gap:9px;display:flex}.stat svg{background:var(--tint-soft);width:21px;height:21px;stroke:var(--primary-link);stroke-width:2px;fill:none;border-radius:7px;flex:none;padding:4px}.stat-rating svg{stroke:var(--amber)}.stat>div{gap:1px;line-height:1.15;display:grid}.stat b{color:var(--ink-2);letter-spacing:-.2px;font-size:13px;font-weight:900}.stat b.unrated{color:var(--primary-link)}.stat span{color:var(--muted-2);font-size:10px;font-weight:700}.row-update{border-left:1px solid var(--line-soft);align-content:center;justify-items:start;gap:4px;min-width:0;padding-left:18px;display:grid}.update-label{color:var(--muted-2);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:6px;font-size:9px;font-weight:900;display:inline-flex}.update-label i{background:var(--line-strong);border-radius:50%;width:6px;height:6px}.update-label.fresh{color:var(--green)}.update-label.fresh i{background:var(--green);animation:2.2s ease-in-out infinite update-pulse}@keyframes update-pulse{0%{box-shadow:0 0 #22c55e59}70%{box-shadow:0 0 0 5px #22c55e00}to{box-shadow:0 0 #22c55e00}}.row-update b{max-width:120px;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.row-update small{color:var(--faint);font-size:10px}.add-button{border:1px solid var(--line-strong);background:var(--surface-muted);width:30px;height:30px;color:var(--primary-link);border-radius:50%;place-items:center;padding:0;font-size:18px;line-height:1;transition:background .15s,border-color .15s,color .15s,transform .15s;display:grid}.add-button:hover{border-color:var(--primary-link);background:var(--tint-strong);transform:scale(1.08)}.add-button.added{border-color:var(--green);background:var(--green-soft);color:var(--green)}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:var(--surface-faint);color:var(--muted);text-align:center;padding:64px 20px}.empty-state>span{color:var(--primary-link);font-size:30px}.empty-state h2{color:var(--ink-3);margin:8px 0 3px;font-size:16px}.empty-state p{margin:0;font-size:13px}.empty-state .btn{margin-top:14px}@media (width<=820px){.catalog-layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(2,1fr);display:grid}.filter-title,.tags-group{grid-column:1/-1}.filter-group{border-bottom:0;border-right:1px solid var(--line-soft)}.filter-group:last-child{border-right:0}.novel-row{grid-template-columns:68px minmax(0,1fr) auto 30px;gap:14px}.row-cover{width:68px;height:96px}.row-update{display:none}}@media (width<=600px){.container{width:min(100% - 28px,540px)}.browse-heading{flex-direction:column;align-items:start;gap:18px;padding:23px}.heading-stat{border-left:0;padding-left:0}.filters{display:block}.filter-group{border-right:0;border-bottom:1px solid var(--line-soft)}.novel-row{grid-template-columns:52px minmax(0,1fr) 29px;gap:10px;min-height:92px;padding:9px 10px}.row-cover{border-radius:5px;width:52px;height:72px}.row-stats,.synopsis{display:none}.row-tags{margin-top:5px}.row-tags span:nth-child(n+3){display:none}.catalog-toolbar{padding-top:11px}.catalog-search kbd{display:none}.submit-novel-panel form{flex-direction:column;align-items:stretch}.submit-novel-panel input{min-height:42px}.catalog-search input{font-size:16px}.sort-control select{min-height:40px;padding:6px 26px 6px 10px;font-size:16px}.genre-options button,.score-options button{min-height:40px;padding:10px 8px}.tag-options button{min-height:40px;padding:9px 10px}.content-type-tabs button{min-height:40px}.check-list label{min-height:36px}}.mobile-filter-bar,.filter-apply,.filters-backdrop{display:none}@keyframes sheet-up{0%{opacity:.35;transform:translateY(45%)}to{opacity:1;transform:none}}@media (width<=820px){.mobile-filter-bar{top:calc(59px + env(safe-area-inset-top,0px) + 8px);z-index:40;align-items:center;gap:8px;margin-bottom:10px;display:flex;position:sticky}.mobile-filter-btn{border:1px solid var(--line-strong);background:var(--surface);min-height:42px;color:var(--ink-2);box-shadow:var(--shadow-1);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;align-items:center;gap:7px;padding:0 15px;font-size:13px;font-weight:800;display:inline-flex}.mobile-filter-btn svg{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;width:16px;height:16px}.mobile-filter-btn b{background:var(--primary);color:#fff;border-radius:999px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:11px;font-weight:900;display:grid}.mobile-filter-btn b[hidden]{display:none}.filters-backdrop{z-index:88;cursor:default;background:#0d192e8c;border:0;padding:0;animation:.2s fade-in;position:fixed;inset:0}.filters-backdrop[hidden]{display:none}body.filters-open{overflow:hidden}.filters{z-index:89;overscroll-behavior:contain;max-height:84dvh;padding-bottom:env(safe-area-inset-bottom,0px);border-radius:16px 16px 0 0;animation:.3s cubic-bezier(.16,1,.3,1) sheet-up;display:none;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -14px 44px #12223e66}body.filters-open .filters{display:block}.filters:before{content:"";z-index:3;background:var(--line-strong);border-radius:999px;width:38px;height:4px;margin:6px auto 2px;display:block;position:sticky;top:6px}.filters .filter-title{z-index:2;background:var(--surface);margin-top:-12px;position:sticky;top:16px}.filter-group:last-of-type{border-bottom:1px solid var(--line-soft)}.filter-apply{z-index:2;padding:11px 15px calc(11px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line-soft);background:var(--surface);display:flex;position:sticky;bottom:0}.filter-apply .btn{flex:1;min-height:47px}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (width<=600px){.content-type-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;flex-wrap:nowrap;overflow-x:auto}.content-type-tabs::-webkit-scrollbar{display:none}.content-type-tabs button{white-space:nowrap;scroll-snap-align:start;flex:none}.novel-row{grid-template-columns:52px minmax(0,1fr) 29px}.row-stats{grid-column:2/-1;align-items:center;gap:14px;margin-top:7px;display:flex}.stat svg{border-radius:5px;width:17px;height:17px;padding:3px}.stat>div{align-items:baseline;gap:4px;display:flex}.stat span{display:none}}.novel-row-skeleton{pointer-events:none}.novel-row-skeleton .row-cover{background:var(--line-soft)}.novel-row-skeleton .row-main{gap:8px;display:grid}.live-cover{object-fit:cover;width:100%;height:100%;display:block}.fallback-cover{background:var(--primary);color:#fff;place-items:center;font-size:26px;font-weight:900;display:grid}.row-cover{position:relative}.row-cover .fallback-cover{z-index:0;position:absolute;inset:0}img.live-cover{z-index:1;opacity:0;transition:opacity .35s,transform .55s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}img.live-cover.loaded{opacity:1}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}
