/* Ranobe home: one source of truth for the new front page. */
.rn-home{box-sizing:border-box;width:100%;max-width:1660px;margin:24px auto 56px;padding:0 24px;color:var(--kn-ink)}
.rn-home *{box-sizing:border-box}.rn-home a{color:var(--kn-accent);text-decoration:none}.rn-home a:hover{text-decoration:underline}.rn-home [hidden]{display:none!important}
/* The hero keeps its own artwork; the page background is controlled by Customizer. */
.rn-home-hero{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:390px;overflow:hidden;border:1px solid var(--kn-line);border-radius:22px;background:var(--kn-surface);box-shadow:0 18px 44px rgba(54,35,27,.1)}
.rn-home-hero>div:first-child{position:relative;z-index:2;display:flex;min-width:0;min-height:390px;flex-direction:column;justify-content:center;align-items:flex-start;padding:30px 22px 30px 38px;background:linear-gradient(90deg,var(--kn-surface) 0%,color-mix(in srgb,var(--kn-surface) 96%,transparent) 22%,color-mix(in srgb,var(--kn-surface) 78%,transparent) 42%,transparent 64%)}
.rn-home-art{position:absolute;z-index:1;inset:0;background:url('../images/ranobe/sakura-hero-wide-v3.png') center/cover no-repeat}
.rn-home-kicker{margin:0 0 12px;color:var(--kn-accent);font:700 11px/1.6 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.rn-home h1{max-width:560px;margin:0 0 14px;color:var(--kn-ink);font:600 clamp(36px,3.6vw,60px)/.98 Georgia,serif;letter-spacing:-.035em}
.rn-home-hero>div>p:not(.rn-home-kicker){max-width:390px;margin:0;color:var(--kn-muted);font:400 16px/1.45 Georgia,serif}
.rn-home-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.rn-home-actions a{padding:12px 22px;border:1px solid var(--kn-accent);border-radius:999px;background:var(--kn-accent);color:var(--rn-on-accent,#fff);font-weight:700}.rn-home-actions a:hover{text-decoration:none;filter:brightness(.95)}
.rn-home-motto{margin:14px 0 0;padding-top:9px;border-top:1px solid color-mix(in srgb,var(--kn-accent) 60%,transparent);color:var(--kn-muted);font:700 9px/1.4 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.rn-home-genres{display:flex;justify-content:space-between;gap:5px;align-items:center;margin:12px 0 24px;overflow-x:auto;scrollbar-width:none}.rn-home-genres::-webkit-scrollbar{display:none}.rn-home-genres a{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:0 1 auto;padding:7px 10px;border:1px solid var(--kn-line);border-radius:999px;background:var(--kn-surface);color:var(--kn-ink);font:500 clamp(10px,.68vw,12px)/1 Georgia,serif;white-space:nowrap}.rn-home-genres .rn-icon{width:13px;height:13px;flex:0 0 13px}.rn-home-genres a:hover,.rn-home-genres a.is-active{border-color:var(--kn-accent);background:var(--kn-accent);color:var(--rn-on-accent,#fff);text-decoration:none}.rn-home-genres a.rn-home-genres__more{margin-left:0;padding-right:2px;border:0;background:transparent;color:var(--kn-accent);font-family:Arial,sans-serif;font-weight:700}.rn-home-genres__more span{margin-left:1px}
.rn-home-section{clear:both;margin-top:48px}.rn-home-section>header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px}.rn-home h2{margin:0;color:var(--kn-ink);font:600 clamp(26px,2.8vw,38px)/1.2 Georgia,serif}.rn-home-section>header>a,.rn-home-section>header>span{color:var(--kn-muted);font-size:13px}.rn-home-section>header>a:hover{color:var(--kn-accent)}.rn-home-section>header .rn-home-kicker{margin-bottom:8px}.rn-home-empty,[data-rn-home-status]{color:var(--kn-muted);font-size:14px;line-height:1.7}
/* Compact book panels: portrait cover, useful reading context and one clear action. */
.rn-resume-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.rn-resume-card{position:relative;display:grid;grid-template-columns:126px minmax(0,1fr);grid-template-rows:auto 1fr auto;min-width:0;min-height:204px;overflow:hidden;border:1px solid color-mix(in srgb,var(--kn-line) 82%,transparent);border-radius:20px;background:linear-gradient(145deg,var(--kn-surface) 0%,color-mix(in srgb,var(--kn-surface-soft) 52%,var(--kn-surface)) 100%);box-shadow:0 14px 34px rgba(54,35,27,.11),inset 0 1px 0 rgba(255,255,255,.65);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.rn-resume-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--kn-accent) 54%,var(--kn-line));box-shadow:0 22px 46px rgba(54,35,27,.17);text-decoration:none}.rn-resume-card img{grid-column:1;grid-row:1/4;width:126px;height:100%;min-height:204px;object-fit:cover;object-position:center;background:var(--kn-surface-soft)}.rn-resume-card small{grid-column:2;align-self:end;margin:22px 58px 8px 22px;color:var(--kn-muted);font:800 10px/1.2 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.rn-resume-card strong{grid-column:2;align-self:start;display:-webkit-box;margin:0 22px;padding:0;overflow:hidden;color:var(--kn-ink);font:700 18px/1.25 Georgia,serif;-webkit-box-orient:vertical;-webkit-line-clamp:3}.rn-resume-card span{grid-column:2;align-self:end;margin:16px 22px 20px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--kn-line) 72%,transparent);color:var(--kn-accent);font-size:13px;font-weight:800}.rn-resume-card progress{position:absolute;right:22px;bottom:10px;width:calc(100% - 170px);height:4px;border:0;border-radius:999px;overflow:hidden;accent-color:var(--kn-accent)}.rn-resume-card::before{content:'→';position:absolute;z-index:2;top:18px;right:18px;display:grid;width:34px;height:34px;place-items:center;border:1px solid color-mix(in srgb,var(--kn-accent) 30%,transparent);border-radius:50%;background:var(--kn-accent-soft);color:var(--kn-accent);font-size:18px;font-weight:800;transition:transform .22s ease,background-color .22s ease,color .22s ease}.rn-resume-card:hover::before{transform:translateX(3px);background:var(--kn-accent);color:var(--rn-on-accent,#fff)}
.rn-updates-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;overflow:hidden;border:1px solid var(--kn-line);border-radius:16px;background:var(--kn-surface);list-style:none}.rn-updates-list li{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--kn-line)}.rn-updates-list li:nth-child(odd){border-right:1px solid var(--kn-line)}.rn-updates-list li>div{display:grid;min-width:0;gap:8px}.rn-updates-list a{overflow-wrap:anywhere;font-size:13px}.rn-updates-list a.rn-update-book{color:var(--kn-ink);font-size:15px;font-weight:700}.rn-updates-list time{color:var(--kn-muted);font-size:11px;white-space:nowrap}
.rn-home-books{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.rn-home-books article{min-width:0}.rn-home-cover{display:grid;aspect-ratio:2/3;place-items:center;overflow:hidden;border:1px solid var(--kn-line);border-radius:12px;background:var(--kn-surface-soft)}.rn-home-cover img{width:100%;height:100%;object-fit:cover}.rn-home-cover>span{color:var(--kn-accent);font:56px Georgia,serif}.rn-home h3{margin:12px 0 6px;color:var(--kn-ink);font:600 16px/1.4 Georgia,serif;overflow-wrap:anywhere}.rn-home-books p{margin:0;color:var(--kn-muted);font-size:12px;line-height:1.5}.rn-home-collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rn-home-collections>a{min-width:0;padding:20px;border:1px solid var(--kn-line);border-radius:14px;background:var(--kn-surface)}.rn-home-collections>a:hover{border-color:var(--kn-accent);text-decoration:none}.rn-home-collections h3{margin:0 0 12px}.rn-home-collections span{color:var(--kn-muted);font-size:13px}
.rn-home-load-more-wrap{display:flex;justify-content:center;margin-top:30px}.rn-home-load-more{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:220px;min-height:52px;padding:12px 24px;border:1px solid var(--kn-accent);border-radius:999px;background:var(--kn-surface);color:var(--kn-accent);font:700 15px/1.2 inherit;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.rn-home-load-more:hover{transform:translateY(-2px);background:var(--kn-accent);color:#fff}.rn-home-load-more:disabled{opacity:.65;cursor:wait;transform:none}.rn-home-load-more b{font-size:20px;line-height:1}
html[data-theme='dark'] .rn-home-art{background-image:url('../images/ranobe/guild-hero-wide-v3.png')}html[data-theme='dark'] .rn-home-hero>div:first-child{background:linear-gradient(90deg,var(--kn-surface) 0%,color-mix(in srgb,var(--kn-surface) 96%,transparent) 22%,color-mix(in srgb,var(--kn-surface) 78%,transparent) 42%,transparent 64%)}html[data-theme='dark'] .rn-resume-card{border-color:var(--kn-line);box-shadow:0 14px 34px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}
@media(max-width:1180px){.rn-resume-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.rn-home-books{grid-template-columns:repeat(3,minmax(0,1fr))}.rn-home-hero{grid-template-columns:1fr}.rn-home-art{inset:35% 0 0}.rn-home-hero>div:first-child{min-height:330px;padding-right:30%;background:linear-gradient(180deg,var(--kn-surface) 0%,color-mix(in srgb,var(--kn-surface) 84%,transparent) 72%,transparent 100%)}.rn-home-collections{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.rn-home{margin-top:18px;padding:0 14px}.rn-home-hero{min-height:520px;border-radius:18px}.rn-home-hero>div:first-child{min-height:330px;padding:34px 24px;background:linear-gradient(180deg,var(--kn-surface) 0%,color-mix(in srgb,var(--kn-surface) 82%,transparent) 70%,transparent 100%)}.rn-home-art{inset:30% 0 0;background-position:center bottom}.rn-home h1{font-size:42px}.rn-home-section>header{align-items:flex-start;flex-direction:column;gap:10px}.rn-updates-list{grid-template-columns:1fr}.rn-updates-list li:nth-child(odd){border-right:0}.rn-home-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.rn-resume-grid,.rn-home-collections{grid-template-columns:1fr}.rn-resume-card{grid-template-columns:104px minmax(0,1fr);min-height:178px}.rn-resume-card img{width:104px;min-height:178px}.rn-resume-card small{margin:18px 48px 7px 16px}.rn-resume-card strong{margin:0 16px;font-size:16px}.rn-resume-card span{margin:12px 16px 16px;padding-top:11px}.rn-resume-card progress{right:16px;bottom:8px;width:calc(100% - 136px)}}
