@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap");:root{--ink:#18211d;--muted:#68736d;--paper:#f5f3ed;--card:#fffdf8;--line:#dedfd7;--accent:#e06b42;--accent-soft:#f4dfd3;--green:#a9c5aa}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}.shell{min-height:100vh}.topbar{height:76px;border-bottom:1px solid var(--line);justify-content:space-between;padding:0 clamp(22px,5vw,76px);background:hsla(45,29%,95%,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px;font-weight:700;letter-spacing:-.03em}.brand-mark{width:30px;height:30px;border-radius:10px 10px 10px 3px;background:var(--accent);display:grid;place-items:center;color:#fff;font-size:15px}.top-meta{font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.hero{max-width:1200px;margin:0 auto;padding:clamp(64px,11vw,148px) clamp(22px,5vw,76px) 82px;display:grid;grid-template-columns:1.1fr .9fr;grid-gap:80px;gap:80px;align-items:end}.eyebrow{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 22px}.hero h1{font-family:Fraunces,serif;font-weight:500;font-size:clamp(48px,7vw,92px);line-height:.96;letter-spacing:-.065em;margin:0;max-width:760px}.hero h1 em{color:var(--accent);font-style:normal}.lede{color:var(--muted);font-size:17px;line-height:1.7;max-width:430px;margin:28px 0 0}.hero-aside{border-top:1px solid var(--ink);padding-top:20px}.stat-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0}.stat-label{font-size:13px;color:var(--muted)}.stat-value{font-weight:600}.content-grid{max-width:1200px;margin:0 auto;padding:0 clamp(22px,5vw,76px) 100px;display:grid;grid-template-columns:1fr 330px;grid-gap:70px;gap:70px}.section-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--ink);padding-bottom:15px;margin-bottom:5px}.section-head h2{font-family:Fraunces,serif;font-size:30px;font-weight:500;margin:0}.section-head span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.chapter-list{display:grid;grid-template-columns:1fr 1fr}.chapter-item{padding:18px 12px 18px 0;border-bottom:1px solid var(--line);display:flex;gap:16px;transition:transform .2s,color .2s}.chapter-item:hover{transform:translateX(5px);color:var(--accent)}.chapter-num{font-size:12px;color:var(--accent);font-weight:700;min-width:30px;padding-top:3px}.chapter-name{font-size:15px;line-height:1.35}.search{width:100%;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:14px 16px;font:inherit;outline:none;margin-bottom:14px}.search:focus{border-color:var(--accent)}.side-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;position:-webkit-sticky;position:sticky;top:101px}.side-card h3{font-family:Fraunces,serif;font-size:25px;font-weight:500;margin:0 0 10px}.side-card p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 20px}.read-btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;padding:13px 17px;border-radius:9px;font-weight:600;font-size:14px}.read-btn:hover{background:var(--accent)}.footer{max-width:1200px;margin:0 auto;padding:28px clamp(22px,5vw,76px) 50px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.legal-page{min-height:100vh}.legal-content{max-width:820px;margin:0 auto;padding:clamp(64px,10vw,120px) 24px 90px}.legal-content h1{font-size:clamp(48px,7vw,78px);line-height:1;letter-spacing:-.06em;margin:0 0 14px}.legal-content h1,.legal-content h2{font-family:Fraunces,serif;font-weight:500}.legal-content h2{font-size:30px;margin:48px 0 12px}.legal-content li,.legal-content p{color:var(--muted);font-size:16px;line-height:1.8}.legal-content ul{padding-left:24px}.legal-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.legal-updated{font-size:13px!important;color:var(--accent)!important;margin:0 0 42px}.legal-note{border-left:3px solid var(--accent);padding-left:16px;margin-top:52px}.reader-shell{min-height:100vh}.reader-top{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,5vw,80px);border-bottom:1px solid var(--line)}.back-link{font-size:13px;color:var(--muted)}.back-link:hover{color:var(--accent)}.reader-progress{height:3px;background:var(--line)}.reader-progress span{display:block;height:100%;background:var(--accent)}.reader-wrap{max-width:820px;margin:0 auto;padding:90px 24px 130px}.reader-kicker{font-size:12px;color:var(--accent);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.reader-title{font-family:Fraunces,serif;font-weight:500;font-size:clamp(42px,6vw,72px);line-height:1.02;letter-spacing:-.055em;margin:18px 0 60px}.prose{font-family:Georgia,serif;font-size:19px;line-height:1.9;color:#28342d}.prose h1,.prose h2,.prose h3{font-family:Fraunces,serif;font-weight:500;color:var(--ink);line-height:1.15;margin:2.2em 0 .7em}.prose h1{font-size:34px}.prose h2{font-size:28px}.prose p{margin:0 0 1.35em}.prose a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:#edb7a1;text-decoration-color:#edb7a1;text-underline-offset:3px}.reader-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px;border-top:1px solid var(--ink);margin-top:80px;padding-top:20px}.nav-card{padding:16px 0;display:flex;flex-direction:column;gap:5px}.nav-card.next{text-align:right}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.nav-title{font-family:Fraunces,serif;font-size:20px}.empty{padding:40px 0;color:var(--muted)}.library-hero{max-width:1200px;margin:0 auto;padding:clamp(78px,12vw,160px) clamp(22px,5vw,76px) 80px;display:grid;grid-template-columns:1fr 290px;grid-gap:80px;gap:80px;align-items:end}.library-hero h1{font-family:Fraunces,serif;font-weight:500;font-size:clamp(52px,8vw,104px);line-height:.92;letter-spacing:-.07em;margin:0;max-width:780px}.library-note{border-top:1px solid var(--ink);padding-top:18px;display:flex;gap:16px;align-items:flex-start}.note-mark{font-size:25px;color:var(--accent)}.library-note p{font-size:15px;line-height:1.5;margin:0}.library-note strong{font-weight:600}.library-grid{max-width:1200px;margin:0 auto;padding:0 clamp(22px,5vw,76px) 100px;display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px}.novel-card{display:grid;grid-template-columns:38% 1fr;min-height:290px;background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:transform .25s,box-shadow .25s}.novel-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(24,33,29,.1)}.novel-art{padding:22px}.novel-art span{font-size:32px}.novel-art small{text-transform:uppercase;letter-spacing:.1em;font-size:10px}.novel-card-copy{padding:28px 25px;display:flex;flex-direction:column;align-items:flex-start}.novel-card-copy .eyebrow{font-size:10px;margin-bottom:18px}.novel-card-copy h2{font-family:Fraunces,serif;font-weight:500;font-size:29px;line-height:1.05;letter-spacing:-.04em;margin:0 0 14px}.novel-card-copy p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.card-arrow{margin-top:auto;padding-top:20px;font-size:13px;font-weight:700;color:var(--accent)}.novel-art{display:flex;flex-direction:column;justify-content:space-between;padding:16px;color:var(--ink);background:#dbe4d5}.novel-art img{width:100%;height:215px;object-fit:cover;object-position:top;display:block;border-radius:10px;box-shadow:0 12px 24px rgba(24,33,29,.16)}.novel-cover-wrap{width:170px;filter:drop-shadow(0 20px 24px rgba(24,33,29,.18))}.novel-cover{width:100%;display:block;border-radius:8px}.novel-hero{grid-template-columns:170px minmax(0,1fr) minmax(260px,.7fr);align-items:center}.novel-hero>div:nth-child(2){min-width:0}.novel-hero h1{max-width:580px;overflow-wrap:break-word}.synopsis-details{margin-top:16px;color:var(--muted);font-size:14px;line-height:1.7}.synopsis-details summary{display:inline-block;cursor:pointer;color:var(--accent);font-weight:700;font-size:13px;list-style:none}.synopsis-details summary::-webkit-details-marker{display:none}.synopsis-details summary:after{content:" ↓";font-size:12px}.synopsis-details[open] summary:after{content:" ↑"}.synopsis-body{margin-top:16px}.synopsis-body p{margin:0 0 14px}@media(max-width:850px){.hero,.library-hero{grid-template-columns:1fr;gap:45px}.novel-hero{grid-template-columns:150px 1fr}.novel-hero .hero-aside{grid-column:2}.content-grid{grid-template-columns:1fr;gap:45px}.side-card{position:static}.chapter-list{grid-template-columns:1fr}.top-meta{display:none}.library-grid{grid-template-columns:1fr}}@media(max-width:560px){.reader-wrap{padding-top:55px}.reader-title{margin-bottom:40px}.prose{font-size:18px}.reader-nav{grid-template-columns:1fr}.nav-card.next{text-align:left}.novel-card{grid-template-columns:32% 1fr}.novel-card-copy{padding:20px 16px}.novel-card-copy h2{font-size:23px}.novel-hero{grid-template-columns:100px 1fr}.novel-hero .hero-aside{grid-column:1/-1}.novel-art img{height:170px}}