/* The shared style of chefynovels.com: one file, cached once for every page. */
@font-face { font-family: 'Cinzel'; font-style: normal; font-weight: 700; font-display: swap; src: url(/fonts/cinzel.woff2) format('woff2'); }
@font-face { font-family: 'Cinzel'; font-style: normal; font-weight: 900; font-display: swap; src: url(/fonts/cinzel.woff2) format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/inter.woff2) format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/inter.woff2) format('woff2'); }
:root{--bg:#0d0718;--card:#170d29;--line:#2c1d47;--text:#efe8ff;--dim:#b7a8d6;--purple:#8719cb;--gold:#f5c85a}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 Inter,system-ui,sans-serif}
.hero{position:relative;min-height:46vh;display:flex;align-items:flex-end;background:#120a22 url(/banner.webp) center/cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,7,24,.15),var(--bg) 96%)}
.hero h1{position:relative;z-index:1;margin:0 auto;padding:0 16px 28px;max-width:960px;width:100%;font:900 clamp(34px,7vw,64px)/1.05 Cinzel,serif;color:var(--gold);text-shadow:0 0 24px rgba(135,25,203,.7)}
main{max-width:960px;margin:0 auto;padding:8px 16px 48px}
.book{display:grid;grid-template-columns:180px 1fr;gap:24px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
.book img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}
.book h2{margin:0 0 6px;font:700 clamp(20px,3.4vw,28px)/1.25 Cinzel,serif}
.tags{color:var(--dim);font-size:14px;margin:0 0 12px}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.btn{display:inline-block;padding:11px 18px;border-radius:10px;font-weight:600;text-decoration:none;color:#fff;background:var(--purple)}
.btn.alt{background:transparent;border:1px solid var(--gold);color:var(--gold)}
.btn.discord{background:#5865f2}
footer{max-width:960px;margin:0 auto;padding:0 16px 32px;color:var(--dim);font-size:13px}
@media (max-width:600px){.book{grid-template-columns:1fr}.book img{max-width:200px;margin:0 auto}}
nav.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:rgba(13,7,24,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav.top a{color:var(--text);text-decoration:none;font-weight:600;font-size:14px}nav.top span{display:flex;gap:14px;flex-wrap:wrap}nav.top .brand{font:700 16px Cinzel,serif;color:var(--gold)}

h1{font:900 clamp(28px,6vw,44px)/1.1 Cinzel,serif;color:var(--gold);margin:28px 0 6px;text-shadow:0 0 20px rgba(135,25,203,.6)}
.sub{color:var(--dim);margin:0 0 20px}
.tabs{display:flex;gap:8px;margin:0 0 16px}.tabs button{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font:600 14px Inter,sans-serif;cursor:pointer}.tabs button.on{background:var(--purple);border-color:var(--purple)}
.row{display:grid;grid-template-columns:44px 48px 1fr auto;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin-bottom:8px}
.row.r1{border-color:#f5c85a}.row.r2{border-color:#d2d7e6}.row.r3{border-color:#d78c50}
.rk{font:900 20px Cinzel,serif;color:var(--dim);text-align:center}.r1 .rk{color:#f5c85a}.r2 .rk{color:#d2d7e6}.r3 .rk{color:#d78c50}
.row img{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--line)}
.nm{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt{font:700 12px Cinzel,serif;color:var(--gold);letter-spacing:.04em;text-transform:uppercase}
.bar{height:6px;border-radius:6px;background:#2a1a45;margin-top:6px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#6e14b4,#a855f7)}
.lv{text-align:right}.lv b{display:block;font:900 18px Cinzel,serif;color:var(--gold)}.lv small{color:var(--dim);font-size:12px}
.empty{color:var(--dim);padding:24px 0}
.grp{margin:0 0 26px}.grp h2{font:700 20px Cinzel,serif;color:var(--gold);margin:0 0 10px}
.cmd{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:8px}
.cmd code{font:600 15px ui-monospace,Menlo,monospace;color:#d9b8ff}.cmd p{margin:4px 0 0;color:var(--dim);font-size:14px}
.opt{display:inline-block;margin:6px 6px 0 0;padding:2px 8px;border-radius:6px;background:#22143a;font:12px ui-monospace,Menlo,monospace;color:var(--dim)}
.staff{font:600 11px Inter,sans-serif;color:#f5c85a;border:1px solid #6b5520;border-radius:6px;padding:1px 6px;margin-left:6px}
details.st summary{cursor:pointer;color:var(--dim);margin:8px 0 12px;font-weight:600}
@media (max-width:600px){.row{grid-template-columns:34px 40px 1fr auto;gap:10px;padding:9px 10px}.row img{width:40px;height:40px}}
html{background:var(--bg)}
.book p.sys{margin:6px 0;font:600 14px/1.5 ui-monospace,Menlo,monospace;color:var(--gold)}
.book p{margin:0 0 10px}
