

*{box-sizing:border-box}html{background:var(--ink);color:var(--paper);scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(700px 360px at 85% -8%,rgba(196,59,47,.13),transparent 68%),var(--ink);font-family:Inter,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.hidden{display:none!important}

/* compact global chrome */
.topbar{position:sticky;top:0;z-index:80;height:58px;padding:0 max(18px,calc((100vw - var(--max))/2));display:flex;align-items:center;gap:18px;background:rgba(8,9,11,.86);backdrop-filter:blur(22px);border-bottom:1px solid var(--line)}
.brand{border:0;background:none;color:var(--paper);display:flex;align-items:center;gap:9px;padding:3px 0;min-width:max-content}.brandLogo{width:42px;height:42px;border-radius:0;object-fit:contain;border:0;box-shadow:none}.brand h1{margin:0;font:700 19px 'Zen Old Mincho',Georgia,serif;letter-spacing:-.02em}.mainNav{display:flex;align-items:center;gap:2px;margin-left:auto}.navBtn{border:0;background:transparent;color:var(--muted);padding:8px 11px;border-radius:8px;font-size:12px;font-weight:650;transition:.2s var(--ease)}.navBtn:hover,.navBtn.active{color:var(--paper);background:rgba(244,239,230,.055)}
.discordNavBtn{display:inline-flex;align-items:center;gap:5px;text-decoration:none}.discordIcon{width:14px;height:14px;flex:0 0 auto}.navBtn.active{box-shadow:inset 0 -2px 0 var(--red)}.topbarActions{display:flex;align-items:center;gap:6px}.roleBadge{font:500 9px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.11em;color:var(--red2);padding:6px 8px;border:1px solid rgba(196,59,47,.3);border-radius:999px}.primary,.ghost{min-height:38px;border-radius:9px;padding:8px 12px;border:1px solid transparent;font-weight:700;font-size:11px;transition:.2s var(--ease)}.primary{background:var(--red);color:#fff;box-shadow:0 8px 25px rgba(196,59,47,.18)}.primary:hover{background:var(--red2);transform:translateY(-1px)}.ghost{background:rgba(244,239,230,.04);border-color:var(--line);color:var(--paper)}.ghost:hover{background:rgba(244,239,230,.08);border-color:var(--line2)}.short{display:none}

main{width:100%}.homeHero,.libraryHead,.lastReadBanner,.chapterGrid,.sectionIntro,.bonusTools,.bonusGrid,.dashboardView{width:min(var(--max),calc(100% - 36px));margin-inline:auto}

/* login */
.loginView{min-height:100svh;display:grid;place-items:center;padding:24px;background:radial-gradient(520px 300px at 50% 15%,rgba(196,59,47,.12),transparent 70%),var(--ink)}.loginCard{width:min(410px,100%);padding:34px;border:1px solid var(--line2);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border-radius:22px;box-shadow:var(--shadow)}.loginCard:before{content:'秦';display:block;color:var(--red);font:700 52px 'Zen Old Mincho',serif;margin-bottom:2px}.eyebrow,.sectionKicker{font:500 9px 'DM Mono',monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--red2)}.loginCard h1{font:700 32px 'Zen Old Mincho',serif;margin:5px 0 7px}.loginCard p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 22px}.loginCard form{display:grid;gap:7px}.loginCard label,.modalBox>form>label{font-size:11px;color:var(--paper2);margin-top:7px}.loginCard input,.modalBox input,.modalBox select,.searchBox input{width:100%;background:#0b0d10;color:var(--paper);border:1px solid var(--line);outline:0;border-radius:9px;padding:11px 12px}.loginCard input:focus,.modalBox input:focus,.modalBox select:focus,.searchBox:focus-within{border-color:rgba(196,59,47,.62);box-shadow:0 0 0 3px rgba(196,59,47,.09)}.loginCard .primary{width:100%;margin-top:9px}.hint{font-size:11px;line-height:1.5;color:var(--muted)}

/* home: cinematic but compact */
#homeView{padding:18px 0 100px}.homeHero{height:228px;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#0b0d10;box-shadow:var(--shadow)}.homeHero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,11,.98) 0%,rgba(8,9,11,.90) 27%,rgba(8,9,11,.28) 62%,rgba(8,9,11,.38) 100%);z-index:3;pointer-events:none}.homeHero:after{content:'戦';position:absolute;right:31%;top:-30px;color:rgba(244,239,230,.035);font:700 190px 'Zen Old Mincho',serif;z-index:2}.heroCopy{position:relative;z-index:5;padding:28px 30px;display:flex;flex-direction:column;justify-content:center}.heroKicker{font:500 9px 'DM Mono',monospace;letter-spacing:.2em;color:var(--red2);margin-bottom:7px}.heroCopy h2{margin:0;font:700 clamp(31px,3.8vw,50px)/.93 'Zen Old Mincho',Georgia,serif;letter-spacing:-.045em}.heroCopy h2 span{color:var(--paper2)}.heroCopy p{max-width:430px;margin:11px 0;font-size:11px;line-height:1.55;color:var(--muted)}.heroActions{display:flex;align-items:center;gap:10px}.heroReadBtn{font-size:11px;padding:8px 12px}.heroHint{font-size:9px;color:var(--muted)}.heroStats{display:flex;align-items:baseline;gap:7px;margin-top:11px}.heroStats strong{font:700 21px 'Zen Old Mincho',serif}.heroStats span{font-size:9px;color:var(--muted)}.heroArt{position:absolute;inset:0 0 0 40%;overflow:hidden}.artGlow{position:absolute;width:360px;height:260px;right:8%;top:-80px;background:radial-gradient(circle,rgba(196,59,47,.20),transparent 67%);filter:blur(18px);z-index:1}.artTrack{position:absolute;inset:0;z-index:2}.artCard{position:absolute;inset:0;overflow:hidden;opacity:0;transform:scale(1.03);transition:opacity .65s var(--ease),transform 1s var(--ease);background:#111}.artCard img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.72) contrast(1.07)}.artCard.active{opacity:1;transform:scale(1);z-index:3}.artCard.prev{opacity:.08;transform:translateX(-12px) scale(1.02)}.artCard.next{opacity:.08;transform:translateX(12px) scale(1.02)}.artDots{position:absolute;z-index:6;right:18px;bottom:14px;display:flex;gap:5px}.artDot{width:5px;height:5px;border:0;padding:0;border-radius:50%;background:rgba(244,239,230,.28)}.artDot.active{background:var(--red);transform:scale(1.4)}.artManage{position:absolute;right:14px;top:14px;z-index:9}.artManageBtn{font-size:9px;background:rgba(8,9,11,.72);color:var(--paper);border:1px solid var(--line);border-radius:7px;padding:6px 8px}

.libraryHead{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:27px;margin-bottom:12px}.libraryHead h2,.sectionIntro h2,.dashboardHead h2{font:700 27px 'Zen Old Mincho',serif;letter-spacing:-.025em;margin:0}.libraryTools{display:flex;align-items:center;gap:7px}.searchBox{display:flex;align-items:center;gap:6px;min-width:190px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:rgba(244,239,230,.025);color:var(--muted)}.searchBox input{border:0;background:transparent;padding:8px 0;box-shadow:none;font-size:11px}.searchBox input:focus{box-shadow:none}.stats{font:500 9px 'DM Mono',monospace;color:var(--muted);white-space:nowrap}.stats span{color:var(--paper)}.publishFilter{display:flex;gap:3px}.publishFilterBtn{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:7px;padding:6px 8px;font-size:9px}.publishFilterBtn.active{background:rgba(196,59,47,.11);color:var(--paper);border-color:rgba(196,59,47,.32)}

/* catalogue */
.chapterGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.chapterCard{position:relative;min-width:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:linear-gradient(145deg,#14171c,#0f1114);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}.chapterCard:hover{transform:translateY(-4px);border-color:var(--line2);box-shadow:0 20px 50px rgba(0,0,0,.34)}.chapterCard.isHidden{border-color:rgba(196,59,47,.45)}.cardPreview{height:152px;position:relative;overflow:hidden;background:linear-gradient(145deg,#1b1e24,#0d0f12)}.cardPreview img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72) contrast(1.04);transition:transform .55s var(--ease)}.chapterCard:hover .cardPreview img{transform:scale(1.045)}.cardPreview:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.78));pointer-events:none}.previewPlaceholder{height:100%;display:grid;place-items:center;color:var(--muted);font-size:25px}.favoriteBtn{position:absolute;right:8px;top:8px;z-index:5;width:32px;height:32px;border-radius:50%;border:1px solid rgba(244,239,230,.16);background:rgba(8,9,11,.64);backdrop-filter:blur(9px);color:var(--paper);font-size:16px}.favoriteBtn.isFavorite{color:#efaaa2;border-color:rgba(196,59,47,.55)}.cardBody{padding:12px}.cardNumber{font:700 30px/.9 'Zen Old Mincho',serif;letter-spacing:-.045em}.versionPills{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.versionPill{font:500 8px 'DM Mono',monospace;border:1px solid var(--line);border-radius:999px;padding:4px 6px;color:var(--muted)}.versionPill.available{color:var(--paper);border-color:rgba(244,239,230,.2)}.versionPill.private{color:#e28a82;border-color:rgba(196,59,47,.3);background:rgba(196,59,47,.055)}.cardLabel{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:8px}.chapterViews{font-size:8px;color:#666b72;margin-top:6px}.continueBadge{display:inline-block;margin-top:7px;font-size:8px;color:var(--red2)}.manageVersions{display:flex;flex-wrap:wrap;gap:4px;margin-top:9px}.miniToggle{font-size:8px;padding:5px 6px;border-radius:6px;border:1px solid var(--line);background:rgba(244,239,230,.03);color:var(--paper2)}.miniToggle.on{border-color:rgba(196,59,47,.28);color:#eaa099}.miniToggle.off{color:var(--muted)}.cardActions{display:flex;gap:5px;margin-top:10px}.readBtn{flex:1;min-height:35px;padding:7px}.danger{border:1px solid rgba(196,59,47,.25);background:rgba(196,59,47,.07);color:#e28a82;border-radius:8px;min-width:35px}.noResults{grid-column:1/-1;border:1px dashed var(--line);padding:32px;text-align:center;color:var(--muted);border-radius:13px}.skeleton{background:linear-gradient(90deg,#16191e 20%,#20242a 35%,#16191e 50%);background-size:200% 100%;animation:shimmer 1.5s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}

/* last read */
.lastReadBanner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border:1px solid rgba(196,59,47,.2);border-radius:10px;background:linear-gradient(90deg,rgba(196,59,47,.07),rgba(244,239,230,.018));font-size:10px;color:var(--muted);margin-bottom:12px}.lastReadBanner strong{color:var(--paper)}

/* bonus/dashboard */
.bonusView{padding:26px 0 100px}.sectionIntro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}.sectionIntro p{font-size:11px;color:var(--muted);margin:6px 0 0}.bonusTools{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.bonusGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.bonusCard{border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#14171c,#101216);padding:14px}.bonusCard .bonusNumber{font:700 27px 'Zen Old Mincho',serif}.bonusCard .bonusTitle{font-size:11px;margin-top:5px;color:var(--paper2)}.dashboardView{padding:28px 0 100px}.dashboardHead{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:17px}.dashboardHead p{font-size:10px;color:var(--muted);max-width:650px;line-height:1.5}.dashboardStats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.dashStat,.dashboardPanel{background:linear-gradient(145deg,#14171c,#101216);border:1px solid var(--line);border-radius:13px;padding:16px}.dashStat span{font-size:9px;color:var(--muted)}.dashStat strong{display:block;font:700 29px 'Zen Old Mincho',serif;margin-top:7px}.dashboardPanel{margin-top:10px}.dashboardPanel h3{font:700 18px 'Zen Old Mincho',serif;margin:0 0 12px}.dashboardAnalyticsHead{display:flex;align-items:start;justify-content:space-between;gap:12px}.dashboardAnalyticsHead h3{margin-bottom:3px}.dashboardAnalyticsHead .hint{margin:0}.dashboardChapterStats{display:grid;gap:6px}.dashBreakdown{color:var(--muted);font-size:8px;font-weight:500}

/* reader */
#readerView{min-height:100svh;background:#050607;padding-bottom:60px}.readerHead{position:sticky;top:0;z-index:70;min-height:56px;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 13px;background:rgba(5,6,7,.94);backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}.readerBrand{display:flex;align-items:center;gap:6px;border:0;background:none;color:var(--paper);font:600 11px Inter}.readerBrand img{width:34px;height:34px;border-radius:0;object-fit:contain;border:0;box-shadow:none}.readerTitle{min-width:0}.readerTitle h2{font:700 17px 'Zen Old Mincho',serif;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readerVersionSwitch{display:flex;gap:4px;margin-top:2px}.readerVersionSwitch button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:6px;padding:3px 6px;font-size:8px}.readerVersionSwitch button.active{color:var(--paper);background:rgba(196,59,47,.13);border-color:rgba(196,59,47,.35)}.readerActions{display:flex;align-items:center;gap:3px}.readerActions .ghost{min-width:33px;padding:6px 8px}.zoomLabel{font:500 9px 'DM Mono',monospace;color:var(--muted);min-width:35px;text-align:center}.readerMeta{position:sticky;top:56px;z-index:65;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 13px;background:rgba(5,6,7,.9);border-bottom:1px solid rgba(244,239,230,.04)}.progress{height:2px;flex:1;background:var(--red);border-radius:99px;transform-origin:left}.readerJump{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px}.pageJump{width:45px;background:#101216;color:var(--paper);border:1px solid var(--line);border-radius:6px;padding:3px 4px;text-align:center}.jumpLabel{display:none}.readingProgress{position:fixed;left:0;right:0;top:0;height:2px;background:transparent;z-index:120}.readingProgress span{display:block;height:100%;width:0;background:var(--red)}.topBtn{position:fixed;right:16px;bottom:21px;z-index:100;width:37px;height:37px;border-radius:50%;border:1px solid var(--line);background:rgba(15,17,20,.92);color:var(--paper);opacity:0;pointer-events:none;transition:.2s}.topBtn.show{opacity:1;pointer-events:auto}.pages{width:min(100%,980px);margin:0 auto;background:#08090a}.pages img{display:block;width:100%;height:auto;margin:0 auto;user-select:none;-webkit-user-drag:none}.readerBottom{width:min(900px,calc(100% - 26px));margin:32px auto;display:flex;justify-content:space-between;gap:7px}.readerBottom .ghost{flex:1}.readerImmersive .readerChrome{opacity:0;pointer-events:none;transform:translateY(-8px)}.readerChrome{transition:opacity .25s var(--ease),transform .25s var(--ease)}.focusMode .pages{width:min(100%,1080px)}.pageError{min-height:160px;background:#111;color:var(--muted)}

/* modal */
.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:18px}.modalBackdrop{position:absolute;inset:0;background:rgba(0,0,0,.74);backdrop-filter:blur(9px)}.modalBox{position:relative;width:min(610px,100%);max-height:min(88svh,820px);overflow:auto;padding:21px;border:1px solid var(--line2);border-radius:18px;background:#101216;box-shadow:var(--shadow)}.dialogHead{display:flex;align-items:start;justify-content:space-between;margin-bottom:16px}.dialogHead h2{font:700 24px 'Zen Old Mincho',serif;margin:3px 0 0}.close{width:35px;height:35px;border:1px solid var(--line);background:transparent;color:var(--paper);border-radius:8px;font-size:21px}.modalBox form{display:grid;gap:7px}.publishChoice{display:grid;gap:5px}.publishOption{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid var(--line);border-radius:8px;background:rgba(244,239,230,.025);font-size:10px;color:var(--paper2)}.publishOption input{width:auto}.dropZone{border:1px dashed rgba(244,239,230,.22);border-radius:11px;padding:22px;text-align:center;background:rgba(244,239,230,.02);transition:.2s}.dropZone.dragover{border-color:var(--red);background:rgba(196,59,47,.07)}.dropIcon{font-size:23px;color:var(--red2)}.dropZone strong{display:block;margin-top:6px;font-size:12px}.desktopUploadHint,.mobileUploadHint{display:block;font-size:9px;color:var(--muted);margin-top:4px}.mobileUploadHint{display:none}.uploadChoices{display:flex;justify-content:center;gap:6px;margin-top:11px}.uploadChoice{border:1px solid var(--line);background:#0c0e11;color:var(--paper);border-radius:7px;padding:8px 9px;font-size:9px}.selectedFiles{font-size:9px;color:var(--muted);padding:8px 0}.dialogActions{display:flex;justify-content:flex-end;gap:6px;margin-top:7px}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,15px);z-index:300;background:var(--paper);color:#111;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:700;opacity:0;pointer-events:none;transition:.25s var(--ease);box-shadow:0 12px 35px rgba(0,0,0,.35)}.toast.show{opacity:1;transform:translate(-50%,0)}

/* mobile */
.bottomNav{display:none}
@media(max-width:1040px){.chapterGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.homeHero{grid-template-columns:.75fr 1.25fr}.mainNav{margin-left:0}.topbar{gap:10px}.topbarActions{margin-left:auto}}
@media(max-width:760px){
 body{padding-bottom:70px}.topbar{height:54px;padding:0 12px;gap:7px}.brandLogo{width:38px;height:38px}.brand h1{font-size:17px}.mainNav{display:none}.topbarActions .ghost,.roleBadge{display:none}.topbarActions .primary{min-width:39px;padding:7px 10px}.topbarActions .label{display:none}.topbarActions .short{display:inline}
 .bottomNav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:9px;right:9px;bottom:9px;height:57px;z-index:130;background:rgba(15,17,20,.93);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.48);padding:4px}.bottomNavBtn{border:0;background:transparent;color:#72777f;border-radius:11px;font-size:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.bottomNavBtn .ic{font-size:16px;line-height:1}.bottomNavBtn.active{background:rgba(196,59,47,.12);color:var(--paper)}
 .homeHero,.libraryHead,.lastReadBanner,.chapterGrid,.sectionIntro,.bonusTools,.bonusGrid,.dashboardView{width:calc(100% - 22px)}#homeView{padding-top:10px}.homeHero{height:205px;display:block;border-radius:15px}.homeHero:after{font-size:145px;right:2%;top:-20px}.homeHero:before{background:linear-gradient(90deg,rgba(8,9,11,.98),rgba(8,9,11,.77) 50%,rgba(8,9,11,.22))}.heroArt{inset:0}.heroCopy{height:100%;padding:19px 17px;justify-content:flex-end}.heroCopy h2{font-size:31px}.heroCopy p{font-size:9px;max-width:245px;margin:7px 0}.heroHint{display:none}.heroStats{margin-top:8px}.heroStats strong{font-size:19px}.artDots{right:13px;bottom:11px}.libraryHead{flex-direction:column;align-items:start;gap:9px;margin-top:20px;margin-bottom:9px}.libraryHead h2{font-size:23px}.libraryTools{width:100%;flex-wrap:wrap}.searchBox{flex:1;min-width:0}.stats{margin-left:auto}.chapterGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cardPreview{height:139px}.cardBody{padding:10px}.cardNumber{font-size:26px}.cardLabel{font-size:9px}.manageVersions{display:none}.chapterViews{font-size:8px}.bonusGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sectionIntro{align-items:start;flex-direction:column}.dashboardStats{grid-template-columns:1fr}.readerHead{grid-template-columns:auto minmax(0,1fr) auto;padding:6px 9px;min-height:53px}.readerHead>#backBtn,.readerBrand{display:none}.readerTitle h2{font-size:15px}.readerActions{gap:2px}.readerActions .readerNavBtn{display:none}.readerActions .ghost{min-width:30px;padding:6px}.readerMeta{top:53px;padding:4px 9px}.readerJump{display:none}.pages{width:100%}.readerBottom{flex-direction:column}.readerBottom .ghost{width:100%;min-height:44px}.modal{align-items:end;padding:0}.modalBox{width:100%;max-height:91svh;border-radius:18px 18px 0 0;padding:18px}.desktopOnly,.desktopUploadHint{display:none!important}.mobileUploadHint{display:block}.uploadChoices{flex-direction:column}.uploadChoice{min-height:44px}.dropZone{padding:19px}.loginCard{padding:26px}.loginCard h1{font-size:29px}
}
@media(max-width:380px){.chapterGrid{grid-template-columns:1fr}.cardPreview{height:185px}.homeHero{height:195px}.heroCopy h2{font-size:29px}.bottomNav{left:6px;right:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V35 — editorial visual pass */
:root{--red:#b52f27;--red2:#e05a4f;--paper:#f6f0e6;--panel:#111419;--line:rgba(246,240,230,.09);--line2:rgba(246,240,230,.17)}
body{background:radial-gradient(900px 420px at 88% -10%,rgba(181,47,39,.16),transparent 62%),radial-gradient(700px 360px at -8% 45%,rgba(246,240,230,.025),transparent 68%),var(--ink)}
.topbar{height:56px;background:rgba(7,8,10,.78);border-bottom-color:rgba(246,240,230,.08)}
.brand{gap:10px}.brandLogo{width:42px;height:42px;border:0;box-shadow:none}.brand h1{font-size:18px;letter-spacing:.015em}
.navBtn{position:relative;padding-inline:12px}.navBtn.active{background:rgba(246,240,230,.045);box-shadow:none}.navBtn.active:after{content:'';position:absolute;left:12px;right:12px;bottom:4px;height:1px;background:var(--red)}
.primary{background:linear-gradient(135deg,#c43b31,#9f2923);box-shadow:0 10px 30px rgba(181,47,39,.22)}
#homeView{padding-top:14px}.homeHero{height:198px;border-radius:12px;border-color:rgba(246,240,230,.12);box-shadow:0 30px 90px rgba(0,0,0,.34)}
.homeHero:before{background:linear-gradient(90deg,rgba(7,8,10,.99) 0%,rgba(7,8,10,.91) 28%,rgba(7,8,10,.40) 59%,rgba(7,8,10,.24) 100%)}
.homeHero:after{content:'秦';right:4%;top:-42px;font-size:205px;color:rgba(246,240,230,.025)}
.heroCopy{padding:24px 27px}.heroKicker{font-size:8px;letter-spacing:.26em}.heroCopy h2{font-size:clamp(30px,3.5vw,46px);line-height:.9}.heroCopy p{max-width:390px;font-size:10px;color:#8a8e95}.heroStats{margin-top:9px}.heroStats strong{font-size:20px}
.heroArt{left:37%}.artCard img{filter:saturate(.60) contrast(1.08)}.artGlow{opacity:.7}
.libraryHead{margin-top:25px;margin-bottom:11px}.libraryHead h2,.sectionIntro h2,.dashboardHead h2{font-size:25px}.libraryHead:before{content:'01';font:500 8px 'DM Mono',monospace;color:var(--red2);letter-spacing:.14em;margin-right:2px;align-self:center}
.libraryHead{position:relative}.libraryHead>div:first-child{display:flex;align-items:baseline;gap:8px}
.chapterGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.chapterCard{border-radius:10px;background:linear-gradient(155deg,#15181d,#0d0f12);border-color:rgba(246,240,230,.085)}.chapterCard:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(0,0,0,.38)}.cardPreview{height:142px}.cardPreview:after{inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.84))}.favoriteBtn{width:29px;height:29px;right:7px;top:7px;font-size:14px}.cardBody{padding:11px}.cardNumber{font-size:29px}.versionPill{padding:3px 6px}.readBtn{min-height:33px}.chapterViews{font-size:7px;letter-spacing:.02em}
.lastReadBanner{border-radius:9px;border-left:2px solid var(--red);background:linear-gradient(90deg,rgba(181,47,39,.08),rgba(246,240,230,.015))}
.sectionIntro{margin-bottom:13px}.sectionIntro p{max-width:520px}.bonusCard{border-radius:10px}.dashboardView{padding-top:25px}
.bottomNav{background:rgba(12,14,17,.91);border-color:rgba(246,240,230,.12)}

/* Reader: cinematic chrome, manga remains the hero */
#readerView{background:#030405}.readerHead{background:rgba(3,4,5,.88);border-bottom-color:rgba(246,240,230,.08)}.readerTitle h2{font-size:16px}.pages{box-shadow:0 0 0 1px rgba(246,240,230,.035)}.readingProgress span{box-shadow:0 0 12px rgba(181,47,39,.5)}

@media(max-width:1040px){.chapterGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
 .topbar{height:52px}.brand h1{font-size:16px}.homeHero{height:184px;width:calc(100% - 20px);border-radius:11px}.heroCopy{padding:17px}.heroCopy h2{font-size:29px}.heroArt{left:0}.homeHero:before{background:linear-gradient(90deg,rgba(7,8,10,.98),rgba(7,8,10,.78) 54%,rgba(7,8,10,.25))}.libraryHead:before{content:'01';}.libraryHead{margin-top:18px}.chapterGrid{gap:7px}.cardPreview{height:132px}.chapterCard{border-radius:9px}.cardNumber{font-size:25px}
}
@media(max-width:420px){.homeHero{height:168px}.heroCopy h2{font-size:27px}.heroStats strong{font-size:18px}.cardPreview{height:118px}}


/* V37 — reader experience pass */
.readerHead{box-shadow:0 10px 35px rgba(0,0,0,.22)}
.readerActions{background:rgba(12,14,17,.48);border:1px solid rgba(246,240,230,.06);border-radius:9px;padding:2px}
.readerActions .ghost{border-color:transparent;background:transparent;transition:background .18s ease,color .18s ease,transform .18s ease}
.readerActions .ghost:hover{background:rgba(246,240,230,.07);color:var(--paper);transform:none}
.readerVersionSwitch button{cursor:pointer}
.readerVersionSwitch button.active{box-shadow:0 0 0 1px rgba(181,47,39,.12) inset}
.pages{isolation:isolate}
.pages img{background:#070809;image-rendering:auto;contain:layout paint;will-change:transform}
.readerBottom{padding-bottom:max(8px,env(safe-area-inset-bottom))}
@media(max-width:760px){
 .readerActions{gap:1px;padding:1px;border-radius:8px}
 .readerActions .ghost{min-width:29px;height:31px;padding:5px 7px}
 .zoomLabel{min-width:31px;font-size:8px}
 .readingProgress{height:2px}
 .readerBottom{margin:20px auto 12px}
}
@media(prefers-reduced-motion:reduce){.readerActions .ghost{transition:none}}

/* V44 favorites: explicit heart control */
.favoriteBtn{display:grid;place-items:center;padding:0;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.favoriteBtn:hover{transform:scale(1.08);background:rgba(8,9,11,.82)}.favoriteBtn:focus-visible{outline:2px solid var(--paper);outline-offset:2px}.heartIcon{width:16px;height:16px;display:block;fill:transparent;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.favoriteBtn.isFavorite{color:#efaaa2;background:rgba(196,59,47,.14)}.favoriteBtn.isFavorite .heartIcon{fill:currentColor;stroke:currentColor}.favoriteBtn.isFavorite:hover{background:rgba(196,59,47,.22)}

/* V52 team detail */
.teamVersionName{border:0;background:none;color:var(--paper);font:600 11px/1.2 'DM Mono',monospace;text-align:left;cursor:pointer;padding:0}.teamVersionName small{display:block;color:var(--muted);font-size:8px;margin-top:4px;font-weight:400}.teamVersionName:hover{text-decoration:underline}.teamDetailModal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px}.teamDetailModal.hidden{display:none}.teamDetailBackdrop{position:absolute;inset:0;background:rgba(5,6,8,.78);backdrop-filter:blur(10px)}.teamDetailBox{position:relative;width:min(980px,100%);max-height:min(88vh,900px);overflow:auto;background:#111419;border:1px solid var(--line2);border-radius:18px;box-shadow:0 30px 100px rgba(0,0,0,.55);padding:20px}.teamDetailHead{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.teamDetailHead h2{margin:3px 0 0;font-size:25px}.teamDetailBody{margin-top:18px}.detailLoading{text-align:center;padding:45px;color:var(--muted)}.detailActions{display:flex;gap:8px;margin-bottom:14px}.detailActions .teamDelete{padding:8px 12px}.detailGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.detailPage{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#0c0e11}.detailPage img,.detailPageError{width:100%;aspect-ratio:3/4;display:block;object-fit:cover}.detailPageError{display:grid;place-items:center;color:var(--muted);font-size:10px}.detailPage figcaption{padding:7px 8px;font:600 9px 'DM Mono',monospace}.detailPage figcaption small{display:block;color:var(--muted);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.detailMore{margin-top:12px}
@media(max-width:760px){.teamDetailModal{padding:8px}.teamDetailBox{max-height:94vh;border-radius:14px;padding:14px}.detailGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.detailActions{position:sticky;top:0;background:#111419;padding-bottom:10px;z-index:2}.teamVersionName{font-size:10px}}
.detailPageTop{display:flex;justify-content:space-between;align-items:center;padding:7px 8px;font:600 9px 'DM Mono',monospace;border-bottom:1px solid var(--line)}.pageMove{border:1px solid var(--line);background:transparent;color:var(--paper);border-radius:5px;width:22px;height:22px;cursor:pointer}.pageMove:disabled{opacity:.25;cursor:default}.detailPageActions{display:flex;gap:5px;margin-top:5px}.pageReplace{border:1px solid var(--line);background:transparent;color:var(--paper);border-radius:6px;padding:4px 6px;font:600 7px 'DM Mono',monospace;cursor:pointer}.teamAddPages{border:1px solid var(--line2);background:var(--paper);color:#101216;border-radius:8px;padding:8px 12px;font:700 9px 'DM Mono',monospace;cursor:pointer}

/* V62 — final access screen + complete artwork framing */
.accessLabel{margin-top:10px;font:600 9px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:#8b8f96}
.accessChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:3px 0 8px}
.accessChoice{min-height:72px;padding:10px 9px;border:1px solid rgba(246,240,230,.10);border-radius:10px;background:rgba(246,240,230,.025);color:var(--paper);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;text-align:left;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.accessChoice b{font-size:11px;font-weight:750}.accessChoice span{font-size:9px;color:var(--muted);line-height:1.35}
.accessChoice:hover{border-color:rgba(196,59,47,.38);background:rgba(196,59,47,.055);transform:translateY(-1px)}
.accessChoice.selected{border-color:rgba(196,59,47,.72);background:linear-gradient(145deg,rgba(196,59,47,.14),rgba(196,59,47,.045));box-shadow:inset 0 0 0 1px rgba(196,59,47,.10),0 8px 24px rgba(0,0,0,.16)}
.accessChoice.selected b{color:#f4eee5}.ownerEmailWrap{display:grid;gap:7px}
.ownerEmailWrap.hidden{display:none}
.loginCard form{gap:8px}.loginCard .accessChoices + .ownerEmailWrap{margin-top:2px}
.artCard{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#101215,#090a0c)}
.artCard img{width:100%;height:100%;object-fit:contain;object-position:center;filter:saturate(.72) contrast(1.07)}
.artCard:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.045),transparent 68%);pointer-events:none;z-index:0}
.artCard img{position:relative;z-index:1}
@media(max-width:760px){.accessChoices{grid-template-columns:1fr;gap:6px}.accessChoice{min-height:58px;padding:9px 10px}.loginCard{width:min(480px,100%);padding:28px 22px}}
@media(max-width:420px){.loginView{padding:14px}.loginCard{padding:23px 17px;border-radius:18px}.accessChoice{min-height:55px}.accessChoice b{font-size:10px}.accessChoice span{font-size:8px}}
.dropZone.dragging{border-color:var(--red);background:rgba(196,59,47,.06)}
.dashRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:12px;color:var(--paper2)}
.dashRow:last-child{border-bottom:none}
.dashRow strong{color:var(--paper)}
.dashRow em.dashPrivate{color:var(--red2);font-style:normal;font-size:10px}
.storageCleanupHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.storageCleanupHead h3{margin-bottom:6px}.storageCleanupHead p{font-size:10px;color:var(--muted);max-width:720px;line-height:1.5;margin:0}.storageCleanupResult{margin-top:14px}.storageCleanupStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.storageCleanupStats>div{border:1px solid var(--line);border-radius:9px;padding:11px}.storageCleanupStats span{display:block;font-size:9px;color:var(--muted)}.storageCleanupStats strong{display:block;font:700 22px 'Zen Old Mincho',serif;margin-top:5px}.storageCleanupDelete{margin-top:12px}.storageCleanupResult .hint{margin-top:8px}
/* V86.6: reader navigation must remain interactive even when chrome is animated. */
#readerView .readerNavBtn,#readerView .readerBottom button{pointer-events:auto;position:relative;z-index:90}
#readerView .readerHead,#readerView .readerMeta,#readerView .readerBottom{pointer-events:auto}

/* Public R2 integrity indicators for published bonus pages. */
.detailPage.isPublicMissing{border-color:rgba(220,160,70,.65);box-shadow:0 0 0 1px rgba(220,160,70,.12) inset}
.publicPageWarning{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 7px;border-top:1px solid rgba(220,160,70,.35);border-bottom:1px solid rgba(220,160,70,.22);background:rgba(220,160,70,.08);color:#dcb36f;font:600 8px/1.2 'DM Mono',monospace}
.publicPageWarning button{border:1px solid rgba(220,160,70,.45);background:transparent;color:#f0cf91;border-radius:5px;padding:4px 6px;font:600 8px 'DM Mono',monospace;cursor:pointer;white-space:nowrap}
.publicPageWarning button:hover{background:rgba(220,160,70,.12)}
.publicPageWarning button:disabled{opacity:.55;cursor:wait}
.detailPagesInfo.hasPublicMissing{color:#dcb36f}
.detailPagesInfo.publicReady{color:#91b98b}
/* reader community */
.readerCommunity{width:min(900px,calc(100% - 32px));margin:50px auto 90px;scroll-margin-top:90px}
.communityPanel{position:relative;overflow:hidden;padding:clamp(18px,3vw,34px);border:1px solid rgba(244,239,230,.1);border-radius:20px;background:radial-gradient(700px 240px at 100% 0,rgba(196,59,47,.08),transparent 68%),linear-gradient(145deg,#101317,#0b0d10);box-shadow:0 22px 70px rgba(0,0,0,.2)}
.communityHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.communityHeader h2{margin:3px 0 0;font:700 clamp(26px,4vw,35px)/1.05 'Zen Old Mincho',serif;letter-spacing:-.035em}.communityHeader p{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.communityModerationBtn{min-height:38px;padding:8px 12px;border:1px solid rgba(196,59,47,.26);border-radius:9px;background:rgba(196,59,47,.08);color:#e5a19b;font-size:10px;font-weight:700}
.communityRatingCard{display:grid;grid-template-columns:minmax(200px,.9fr) minmax(250px,1.1fr);gap:20px;align-items:center;padding:19px 21px;border:1px solid rgba(244,239,230,.09);border-left:3px solid var(--red);border-radius:14px;background:rgba(244,239,230,.025)}.communityRatingSummary{display:flex;align-items:center;gap:13px}.communityAverage{font:700 40px/.9 'Zen Old Mincho',serif;letter-spacing:-.05em;color:var(--paper)}.communityAverageStars{display:flex;gap:2px;color:#777}.communityAverageStars .isFilled{color:#e6b978}.communityVoteCount{margin-top:4px;color:var(--muted);font:500 9px 'DM Mono',monospace}.communityRateBox{padding-left:20px;border-left:1px solid rgba(244,239,230,.1)}.communityRateLabel{display:block;color:var(--paper2);font-size:10px}.communityStars{display:flex;gap:4px;margin:4px 0}.communityStars button{width:36px;height:38px;border:0;background:transparent;color:#747780;font-size:27px;line-height:1;cursor:pointer;transition:transform .15s,color .15s}.communityStars button:hover,.communityStars button:focus-visible{transform:scale(1.15);color:#f1c77f;outline:none}.communityStars button.isFilled{color:#e6b978}.communityOwnRating{display:block;min-height:14px;color:var(--muted);font-size:9px}
.communityNotice{display:none;margin:12px 0;padding:10px 12px;border:1px solid rgba(244,239,230,.12);border-radius:9px;color:var(--paper2);font-size:10px;line-height:1.5}.communityNotice.isVisible{display:block}.communityNotice[data-kind="error"]{color:#f0aaa2;border-color:rgba(196,59,47,.3);background:rgba(196,59,47,.07)}.communityNotice[data-kind="success"]{color:#c9ddc8;border-color:rgba(115,170,115,.24);background:rgba(115,170,115,.06)}
.communityGuestPrompt{display:flex;align-items:center;gap:13px;margin:20px 0;padding:15px 17px;border:1px solid rgba(244,239,230,.08);border-radius:12px;background:rgba(244,239,230,.02)}.communityGuestIcon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:rgba(196,59,47,.11);color:#e7a39b;font-size:18px}.communityGuestPrompt>div:nth-child(2){min-width:0;flex:1}.communityGuestPrompt strong{font:600 12px 'Zen Old Mincho',serif}.communityGuestPrompt p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.communityJoin{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0;padding:10px 12px;border-radius:9px;background:rgba(244,239,230,.035);color:var(--muted);font-size:9px}.communityGuestPrompt .communityJoin{display:block;flex:0 0 auto;margin:0;padding:0;background:none}.communityJoin>div{display:flex;gap:7px}.communityJoin a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid rgba(244,239,230,.12);border-radius:8px;color:var(--paper);text-decoration:none;font-size:9px;font-weight:700;white-space:nowrap}.communityJoin a:first-child{border-color:rgba(196,59,47,.35);background:rgba(196,59,47,.12)}
.communityComposer{display:flex;gap:12px;margin:18px 0 25px;padding:14px;border:1px solid rgba(244,239,230,.09);border-radius:13px;background:rgba(244,239,230,.025)}.communityComposerAvatar{flex:0 0 34px}.communityComposerAvatar img,.communityAvatar{display:block;width:34px;height:34px;border-radius:50%;object-fit:cover;background:#191c21;border:1px solid rgba(244,239,230,.12)}.communityComposerBody{flex:1;min-width:0}.communityComposer textarea,.communityReplyForm textarea,.communityInlineForm textarea{display:block;width:100%;min-height:82px;resize:vertical;padding:10px 11px;border:1px solid rgba(244,239,230,.1);border-radius:9px;background:#0a0c0f;color:var(--paper);font:400 11px/1.65 Inter,system-ui,sans-serif;outline:none}.communityComposer textarea:focus,.communityReplyForm textarea:focus,.communityInlineForm textarea:focus{border-color:rgba(196,59,47,.48);box-shadow:0 0 0 3px rgba(196,59,47,.07)}.communityComposer textarea::placeholder,.communityReplyForm textarea::placeholder{color:#6e727a}.communityComposerFoot{display:flex;align-items:center;gap:10px;margin-top:9px}.communitySpoilerToggle{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;cursor:pointer}.communitySpoilerToggle input{accent-color:var(--red)}.communityCharCount{margin-left:auto;color:#747780;font:500 8px 'DM Mono',monospace}.communitySubmit{min-height:35px;padding:7px 12px;border:1px solid rgba(196,59,47,.35);border-radius:8px;background:linear-gradient(135deg,#b93830,#8e2924);color:#fff;font-size:9px;font-weight:700;white-space:nowrap}.communitySubmit:disabled{opacity:.55;cursor:wait}
.communityCommentsHead{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:26px 0 8px;padding-bottom:12px;border-bottom:1px solid rgba(244,239,230,.08)}.communityCommentsHead h3,.communityModerationHead h3{margin:3px 0 0;font:700 22px 'Zen Old Mincho',serif}.communitySortLabel{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:9px}.communitySortLabel select,.communityReportForm select{min-height:34px;padding:6px 28px 6px 9px;border:1px solid rgba(244,239,230,.12);border-radius:8px;background:#111419;color:var(--paper2);font-size:9px}.communityCommentList{display:grid}.communityComment{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:17px 2px;border-bottom:1px solid rgba(244,239,230,.065)}.communityComment.isReply{margin-left:30px;padding:12px 0 4px 13px;border-bottom:0;border-left:1px solid rgba(244,239,230,.12)}.communityCommentMeta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:18px}.communityCommentMeta strong{color:var(--paper);font-size:10px}.communityCommentMeta time,.communityEdited{color:#777b83;font:500 8px 'DM Mono',monospace}.communitySpoilerBadge{padding:2px 6px;border-radius:999px;background:rgba(196,59,47,.1);color:#d9928a;font:500 7px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.04em}.communityCommentText{margin:8px 0 10px;color:#d5d1ca;font-size:11px;line-height:1.75;overflow-wrap:anywhere}.communityDeleted{margin:8px 0;color:#858992;font:italic 10px Inter,sans-serif}.communityCommentActions{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.communityReaction{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:35px;min-height:30px;padding:4px 6px;border:1px solid transparent;border-radius:999px;background:rgba(244,239,230,.035);color:var(--muted);font-size:11px}.communityReaction b{font:500 8px 'DM Mono',monospace}.communityReaction:hover,.communityReaction.isMine{border-color:rgba(196,59,47,.28);background:rgba(196,59,47,.08);color:var(--paper)}.communityTextAction{min-height:30px;padding:5px 7px;border:0;border-radius:7px;background:transparent;color:#999da4;font-size:8px}.communityTextAction:hover{background:rgba(244,239,230,.05);color:var(--paper)}.communityTextAction.isDanger{color:#d9948c}.communitySpoilerCover{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:min(340px,100%);margin:8px 0;padding:12px;border:1px solid rgba(196,59,47,.19);border-radius:9px;background:linear-gradient(110deg,rgba(196,59,47,.08),rgba(244,239,230,.025));color:var(--paper2);text-align:left}.communitySpoilerCover span{color:#e7a39b}.communitySpoilerCover strong{font-size:9px}.communitySpoilerCover small{color:var(--muted);font-size:8px}.communityReplies{margin-top:8px}.communityReplyCount{display:block;margin:8px 0 0 43px;color:var(--muted);font-size:8px}.communityReplyForm,.communityInlineForm,.communityReportForm{display:grid;gap:8px;margin:10px 0;padding:11px;border:1px solid rgba(244,239,230,.08);border-radius:10px;background:rgba(244,239,230,.025)}.communityReplyForm textarea,.communityInlineForm textarea{min-height:60px}.communityInlineForm>div{display:flex;align-items:center;gap:8px}.communityInlineForm label{margin-right:auto;color:var(--muted);font-size:9px}.communityInlineForm button,.communityReportForm button{min-height:31px;padding:6px 9px;border:1px solid rgba(244,239,230,.12);border-radius:7px;background:#15181d;color:var(--paper2);font-size:8px}.communityInlineForm button[type="submit"],.communityReportForm button[type="submit"]{border-color:rgba(196,59,47,.3);color:#f1b2aa}.communityReportForm{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.communityReportForm label{grid-column:1/-1;color:var(--muted);font-size:9px}.communityReportForm select{width:100%}.communityLoadMore{display:block;min-height:40px;margin:13px auto 0;padding:8px 15px;border:1px solid rgba(244,239,230,.1);border-radius:9px;background:rgba(244,239,230,.025);color:var(--paper2);font-size:9px;font-weight:700}.communityEmpty,.communityLoadError{display:grid;justify-items:center;gap:6px;padding:34px 14px;text-align:center;color:var(--muted)}.communityEmpty>span{color:#c78d68;font-size:21px}.communityEmpty strong,.communityLoadError strong{color:var(--paper2);font:600 13px 'Zen Old Mincho',serif}.communityEmpty p,.communityLoadError span{margin:0;font-size:9px;line-height:1.5}.communityEmpty.compact{padding:20px}.communityLoadError button{min-height:34px;margin-top:7px;padding:6px 11px;border:1px solid rgba(244,239,230,.14);border-radius:8px;background:#15181d;color:var(--paper);font-size:9px}.communityLoading{display:flex;align-items:center;justify-content:center;gap:9px;padding:28px;color:var(--muted);font-size:9px}.communitySpinner{width:14px;height:14px;border:2px solid rgba(244,239,230,.16);border-top-color:#d98278;border-radius:50%;animation:communitySpin .8s linear infinite}@keyframes communitySpin{to{transform:rotate(360deg)}}.communityModerationQueue{margin-top:20px;padding:16px;border:1px solid rgba(196,59,47,.2);border-radius:13px;background:rgba(196,59,47,.035)}.communityModerationHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.communityModerationHead>button{width:32px;height:32px;border:1px solid rgba(244,239,230,.12);border-radius:8px;background:transparent;color:var(--paper);font-size:18px}.communityReportCard{padding:12px 0;border-bottom:1px solid rgba(244,239,230,.08)}.communityReportCard>div{display:flex;align-items:center;gap:9px}.communityReportCard>div:first-child strong{color:#e6a29b;font-size:9px}.communityReportCard time{color:var(--muted);font:500 8px 'DM Mono',monospace}.communityReportCard p{margin:8px 0;color:var(--paper2);font-size:10px;line-height:1.55;overflow-wrap:anywhere}.communityReportCard>div:last-child{flex-wrap:wrap}.communityReportCard button{min-height:31px;padding:6px 9px;border:1px solid rgba(244,239,230,.12);border-radius:7px;background:#111419;color:var(--paper2);font-size:8px}.communityReportCard button.isDanger{border-color:rgba(196,59,47,.25);color:#e59b93}
.visuallyHidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.communityStars button.isHover{color:#f1c77f}.communityStars button:focus-visible{box-shadow:0 0 0 2px rgba(241,199,127,.25);border-radius:8px}
@media(max-width:620px){.readerCommunity{width:calc(100% - 18px);margin:30px auto 70px}.communityPanel{padding:16px 13px;border-radius:15px}.communityHeader{align-items:flex-start;margin-bottom:17px}.communityHeader h2{font-size:27px}.communityHeader p{max-width:240px;font-size:9px}.communityModerationBtn{min-height:36px;padding:7px 9px;font-size:8px}.communityRatingCard{grid-template-columns:1fr;gap:13px;padding:15px}.communityAverage{font-size:36px}.communityRateBox{padding:10px 0 0;border-top:1px solid rgba(244,239,230,.1);border-left:0}.communityStars{gap:6px}.communityStars button{width:42px;height:42px;font-size:29px}.communityStars button.isHover{color:#f1c77f}.communityGuestPrompt{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;padding:12px}.communityGuestIcon{grid-row:1}.communityGuestPrompt .communityJoin{grid-column:1/-1}.communityJoin{flex-direction:column;align-items:flex-start;gap:8px}.communityJoin>div{width:100%}.communityJoin a{flex:1;min-height:40px}.communityComposer{gap:9px;padding:10px;margin:14px 0 20px}.communityComposerAvatar{flex-basis:29px}.communityComposerAvatar img{width:29px;height:29px}.communityComposer textarea{min-height:90px;font-size:11px}.communityComposerFoot{flex-wrap:wrap;gap:7px}.communityCharCount{margin-left:auto}.communitySubmit{min-height:40px;padding:8px 11px}.communityCommentsHead{align-items:center}.communityCommentsHead h3{font-size:20px}.communitySortLabel{gap:5px;font-size:8px}.communitySortLabel select{min-height:37px;max-width:132px}.communityComment{grid-template-columns:30px minmax(0,1fr);gap:8px;padding:14px 0}.communityAvatar{width:30px;height:30px}.communityComment.isReply{margin-left:11px;padding-left:9px}.communityCommentText{font-size:10px}.communityCommentActions{gap:3px}.communityReaction{min-width:36px;min-height:36px;padding:5px}.communityTextAction{min-height:36px;padding:6px}.communityReportForm{grid-template-columns:1fr 1fr}.communityReportForm label,.communityReportForm select{grid-column:1/-1}.communityReportForm button{min-height:38px}.communityModerationQueue{padding:12px}.communityReportCard>div:last-child{gap:6px}.communityReportCard button{min-height:37px}}

