
:root{
  --night:#1d203d;--night2:#34395e;--ink:#3e3540;--muted:#776d75;--line:#eadfe5;--paper:#fffdf9;
  --pink:#ef7fa2;--pink-pale:#fff0f5;--yellow:#d9a52f;--yellow-pale:#fff8df;--blue:#5aaed0;--blue-pale:#eaf7fc;
  --lav:#a4778d;--forest:#6f8c72;--forest-pale:#eef5ec;--shadow:0 18px 45px rgba(59,43,52,.08);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}
.sitebar{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.sitebar .inner{max-width:1180px;margin:auto;padding:10px 18px;display:flex;gap:20px;align-items:center;justify-content:space-between}.logo{font-weight:900;font-size:17px}.logo small{font-size:9px;color:#988894}.mainnav{display:flex;gap:5px;overflow:auto;scrollbar-width:none}.mainnav::-webkit-scrollbar{display:none}.mainnav a{white-space:nowrap;font-size:10px;font-weight:800;padding:7px 9px;border-radius:999px}.mainnav a.current{background:#f4eaf0;color:#8d5872}
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--night) 0%,var(--night2) 72%,#464b72 100%);color:#fff}
.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 16% 25%,#fff 0 1px,transparent 1.6px),radial-gradient(circle at 70% 18%,#fff 0 1px,transparent 1.6px),radial-gradient(circle at 88% 39%,#fff 0 1px,transparent 1.6px),radial-gradient(circle at 42% 11%,#fff 0 1px,transparent 1.3px);background-size:220px 180px;opacity:.32}
.hero .inner{position:relative;max-width:1100px;margin:auto;padding:72px 18px 58px;display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:900;color:#d9c8d5}.hero h1{font-size:clamp(40px,6vw,68px);line-height:1.08;margin:9px 0 13px}.hero p{font-size:14px;line-height:1.95;color:#eeeaf4;max-width:620px;margin:0}.hero-note{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap}.hero-note span{font-size:9px;font-weight:800;color:#f2edf6;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);padding:7px 10px;border-radius:999px}
.hero-trio{position:relative;height:310px}.hero-trio img{position:absolute;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.23))}.hero-trio .r{width:190px;left:2%;bottom:8px;transform:rotate(-5deg)}.hero-trio .k{width:205px;left:50%;bottom:35px;transform:translateX(-50%)}.hero-trio .n{width:190px;right:2%;bottom:8px;transform:rotate(5deg)}
.routebar{background:#fff;border-bottom:1px solid var(--line)}.routebar .inner{max-width:1100px;margin:auto;padding:14px 18px;display:flex;gap:8px;overflow:auto;scrollbar-width:none}.routebar .inner::-webkit-scrollbar{display:none}.routebar a{white-space:nowrap;font-size:10px;font-weight:900;color:#766a72;background:#faf7f9;border:1px solid var(--line);padding:8px 11px;border-radius:999px}.routebar b{color:#a06d84;margin-right:4px}
main{max-width:1100px;margin:auto;padding:0 18px 90px}section{scroll-margin-top:110px}.section{padding:62px 0;border-bottom:1px solid var(--line)}.section:last-child{border-bottom:0}.section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:24px}.section-head .eyebrow{color:var(--lav)}.section-head h2{font-size:clamp(29px,4vw,43px);line-height:1.25;margin:5px 0 8px}.section-head p{font-size:13px;line-height:1.85;color:var(--muted);margin:0;max-width:720px}.section-count{font-size:10px;font-weight:900;color:#9a8993;background:#f6f1f4;border:1px solid var(--line);padding:7px 10px;border-radius:999px;white-space:nowrap}
.first-feature{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.first-art{min-height:330px;background:linear-gradient(145deg,#fff0f5 0%,#f0ebff 100%);position:relative;overflow:hidden}.first-art:after{content:"✦";position:absolute;right:28px;top:26px;color:#c6b2d0;font-size:30px}.first-art img{position:absolute;width:31%;max-height:185px;object-fit:contain;bottom:22px}.first-art img:nth-child(1){left:2%}.first-art img:nth-child(2){left:50%;transform:translateX(-50%);bottom:43px}.first-art img:nth-child(3){right:2%}.first-copy{padding:42px 38px;display:flex;flex-direction:column;justify-content:center}.first-copy small{font-size:10px;letter-spacing:.16em;font-weight:900;color:#a36e88}.first-copy h3{font-size:clamp(27px,3.5vw,38px);margin:7px 0 13px;line-height:1.35}.first-copy p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.status-pill{align-self:flex-start;margin-top:18px;border-radius:999px;background:#f3edf1;color:#806e78;font-size:10px;font-weight:900;padding:8px 11px}
.character-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.char-tab{border:1px solid var(--line);border-radius:22px;background:#fff;padding:13px;display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;transition:.18s ease}.char-tab:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(59,43,52,.06)}.char-tab.active{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--pale);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.char-tab img{width:64px;height:64px;object-fit:contain}.char-tab small{display:block;font-size:8px;letter-spacing:.13em;font-weight:900;color:var(--accent)}.char-tab b{display:block;font-size:18px;margin-top:2px}.char-tab span{display:block;font-size:9px;color:var(--muted);margin-top:3px}
.char-panel{display:none}.char-panel.active{display:block}.char-hero{border-radius:28px;background:linear-gradient(135deg,var(--pale),#fff);border:1px solid var(--line);padding:26px;display:grid;grid-template-columns:125px 1fr;gap:20px;align-items:center}.char-hero img{width:120px;height:120px;object-fit:contain}.char-hero small{font-size:9px;letter-spacing:.14em;color:var(--accent);font-weight:900}.char-hero h3{font-size:29px;margin:4px 0 6px}.char-hero p{font-size:12px;line-height:1.75;color:var(--muted);margin:0}
.first-three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;counter-reset:book}.book-step{position:relative;min-height:235px;border:1px solid var(--line);border-radius:22px;background:#fff;padding:20px 17px 17px;overflow:hidden}.book-step:before{counter-increment:book;content:"0" counter(book);position:absolute;right:12px;top:4px;font-size:54px;font-weight:900;color:var(--pale);line-height:1}.book-step .label{position:relative;z-index:1;font-size:9px;font-weight:900;color:var(--accent);letter-spacing:.1em}.book-step h4{position:relative;z-index:1;font-size:19px;line-height:1.45;margin:12px 0 8px}.book-step p{position:relative;z-index:1;font-size:11px;line-height:1.7;color:var(--muted);margin:0}.book-step .soon{position:absolute;left:17px;bottom:16px;font-size:9px;font-weight:900;color:#887982;background:#f5f1f3;border-radius:999px;padding:6px 8px}
.next-layer{margin-top:22px;padding-top:22px;border-top:1px dashed #e5d8df}.layer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.layer-head h4{font-size:16px;margin:0}.layer-head span{font-size:9px;color:#9a8d94}.later-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.later-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:15px;min-height:132px}.later-card small{font-size:8px;color:var(--accent);font-weight:900}.later-card h5{font-size:14px;line-height:1.45;margin:8px 0}.later-card span{font-size:9px;color:#93868d}
.world-bridge{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.guide-card{border-radius:28px;background:linear-gradient(140deg,#f7f0fb,#fff);border:1px solid var(--line);padding:25px;display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center}.guide-card img{width:105px;height:105px;object-fit:contain}.guide-card small{font-size:9px;font-weight:900;letter-spacing:.13em;color:#846699}.guide-card h3{font-size:24px;margin:3px 0 7px}.guide-card p{font-size:11px;line-height:1.75;color:var(--muted);margin:0}.world-shelves{display:grid;grid-template-columns:1fr 1fr;gap:10px}.world-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:18px;min-height:150px;display:flex;flex-direction:column}.world-card small{font-size:8px;font-weight:900;color:var(--forest);letter-spacing:.1em}.world-card h3{font-size:17px;line-height:1.45;margin:8px 0 6px}.world-card p{font-size:10px;line-height:1.65;color:var(--muted);margin:0 auto 0 0}.world-card span{margin-top:14px;font-size:9px;color:#8e8289}
.trivia-shell{border:1px solid var(--line);border-radius:30px;background:#fff;overflow:hidden;box-shadow:0 10px 30px rgba(59,43,52,.04)}.trivia-tabs{display:flex;gap:7px;padding:14px;border-bottom:1px solid var(--line);overflow:auto;scrollbar-width:none;background:#fcfafb}.trivia-tabs::-webkit-scrollbar{display:none}.trivia-tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:900;white-space:nowrap;cursor:pointer}.trivia-tab.active{background:#3e3540;color:#fff;border-color:#3e3540}.trivia-body{padding:18px}.trivia-group{display:none}.trivia-group.active{display:block}.trivia-intro{display:flex;gap:12px;align-items:center;margin:2px 2px 15px}.trivia-intro b{font-size:17px}.trivia-intro span{font-size:10px;color:var(--muted)}.trivia-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}details.trivia{border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 14px}details.trivia summary{list-style:none;cursor:pointer;padding:14px 0;font-size:12px;font-weight:900;line-height:1.5}details.trivia summary::-webkit-details-marker{display:none}details.trivia summary:after{content:"＋";float:right;color:#a58b98}details.trivia[open] summary:after{content:"−"}details.trivia p{font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 14px}.voice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.voice-card{background:linear-gradient(145deg,#fff7fa,#f7f5ff);border:1px solid var(--line);border-radius:18px;padding:15px}.voice-card b{font-size:20px}.voice-card strong{display:block;font-size:10px;color:#8e5f76;margin:3px 0 6px}.voice-card p{font-size:10px;line-height:1.65;color:var(--muted);margin:0}.trivia-note{margin-top:14px;border-radius:14px;background:#faf7f9;border:1px solid var(--line);padding:11px 13px;font-size:10px;line-height:1.7;color:#7e7078}
.deep-gate{margin-top:24px;border:1px solid #dcd0e2;border-radius:24px;background:linear-gradient(145deg,#f7f4fb,#fff);overflow:hidden}.deep-gate>summary{list-style:none;cursor:pointer;padding:20px 22px;font-size:14px;font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:12px}.deep-gate>summary::-webkit-details-marker{display:none}.deep-gate>summary:after{content:"＋";font-size:20px;color:#8a728f}.deep-gate[open]>summary:after{content:"−"}.deep-copy{padding:0 22px 22px}.deep-copy>p{font-size:11px;line-height:1.8;color:var(--muted);margin:0 0 14px}.secret-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.secret-card{border:1px solid var(--line);border-radius:17px;background:#fff;padding:15px}.secret-card small{font-size:8px;color:#8b7691;font-weight:900}.secret-card h4{font-size:15px;margin:7px 0 4px}.secret-card span{font-size:9px;color:#9b8e95}
.report-cta{margin-top:24px;border-radius:28px;background:linear-gradient(135deg,#242844,#3d4369);color:#fff;padding:28px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.report-cta small{font-size:9px;letter-spacing:.15em;font-weight:900;color:#d8cee4}.report-cta h3{font-size:25px;margin:4px 0 6px}.report-cta p{font-size:11px;line-height:1.7;color:#e3dfeb;margin:0}.report-cta a{display:inline-block;background:#fff;color:#3e3540;border-radius:999px;padding:10px 14px;font-size:10px;font-weight:900;white-space:nowrap}
.footer{border-top:1px solid var(--line);padding:36px 18px 50px;text-align:center;color:#8e8289;font-size:10px}.footer b{font-size:16px;color:#4b4148}

/* --- BOOKSHELF UI: books are always shown as books --- */
.featured-book-stage{display:grid;grid-template-columns:minmax(250px,.72fr) 1.28fr;gap:42px;align-items:center;padding:34px 36px;border-radius:30px;background:linear-gradient(145deg,#fff9fb,#f8f4fb);border:1px solid var(--line);box-shadow:var(--shadow)}
.featured-book-wrap{display:flex;justify-content:center;align-items:flex-end;min-height:350px;position:relative;padding-bottom:24px}
.featured-book-wrap:after,.bookcase:after,.mini-bookcase:after,.forest-bookcase:after{content:"";position:absolute;left:2%;right:2%;bottom:8px;height:16px;border-radius:5px;background:linear-gradient(180deg,#c89d78,#a87855);box-shadow:0 8px 13px rgba(78,50,35,.18),inset 0 2px 0 rgba(255,255,255,.42)}
.featured-book-copy small,.shelf-arrival small{font-size:14px;letter-spacing:.14em;font-weight:900;color:#9c6982}.featured-book-copy h3{font-size:clamp(29px,3.7vw,42px);margin:7px 0 13px;line-height:1.35}.featured-book-copy p{font-size:17px;line-height:1.9;color:var(--muted);margin:0;max-width:600px}.featured-book-copy .status-pill{font-size:14px}
.book-object{border:2px solid #eee3e5!important;border-radius:9px 22px 22px 9px!important;box-shadow:9px 13px 24px rgba(65,47,57,.10)!important;background:#fff!important;overflow:hidden;position:relative;color:#fff!important}
a.book-object:hover{transform:perspective(900px) rotateY(-2deg) translateY(-6px);box-shadow:14px 20px 28px rgba(61,43,54,.22),-5px 4px 10px rgba(61,43,54,.08)}
.book-object:before{width:8px!important;background:linear-gradient(90deg,rgba(118,82,98,.25),rgba(255,255,255,.72))!important}.book-object:after{content:"";position:absolute;right:-7px;top:10px;bottom:9px;width:8px;border-radius:0 4px 4px 0;background:repeating-linear-gradient(180deg,#fffdf7 0 3px,#eee6dc 3px 4px);box-shadow:3px 1px 4px rgba(45,35,40,.13);z-index:-1}
.book-object.large{width:220px;height:305px}.book-object.small{width:145px;height:200px}.book-object.mini{width:128px;height:177px}.book-cover-inner{position:absolute;inset:0;padding:16px 16px 16px 22px;border-radius:0;display:block;overflow:hidden;background:linear-gradient(rgba(20,24,52,.08),rgba(20,24,52,.08)),url("../img/covers/book_cover_base.png") center/cover no-repeat}.book-cover-inner .series{display:block;font-size:11px;letter-spacing:.16em;font-weight:900;color:rgba(255,245,249,.92);text-shadow:0 1px 6px rgba(17,18,43,.28)}.book-cover-inner .book-no{position:absolute;right:14px;bottom:12px;top:auto;font-size:12px;line-height:1;font-weight:900;color:rgba(255,255,255,.78)}.book-cover-inner strong{position:relative;z-index:2;display:block;font-size:21px;line-height:1.42;margin-top:18px;max-width:84%;color:#fff;text-shadow:0 2px 10px rgba(16,18,46,.35)}.book-object.large strong{font-size:24px}.book-object.small strong{font-size:16px}.book-object.mini strong{font-size:14px}.book-cover-inner img{position:absolute;left:50%!important;transform:translateX(-50%);bottom:16px!important;width:44%!important;height:38%!important;object-fit:contain;opacity:1;filter:drop-shadow(0 10px 15px rgba(12,18,34,.22))}.book-object.large img{width:120px;height:120px}.book-object.small img{width:70px;height:70px}.book-object.mini img{width:58px;height:58px}.book-cover-inner .imprint{margin-top:auto;position:relative;z-index:2;font-size:9px;font-weight:900;letter-spacing:.08em;color:rgba(65,52,60,.58)}
.book-object.ryu{--book:#f4c5d3;--book-dark:#d77f9d}.book-object.kuri{--book:#f2df94;--book-dark:#bf942a}.book-object.noma{--book:#c9e7f1;--book-dark:#5aaed0}.book-object.forest{--book:#d8e6d4;--book-dark:#6f8c72}.book-object.lavender{--book:#e2d7ea;--book-dark:#8d7598}.book-object.night{--book:#c8c8df;--book-dark:#4a4e78}
.shelf-arrival{margin-top:18px;border-radius:26px;background:linear-gradient(135deg,var(--pale),#fff);border:1px solid var(--line);padding:20px 24px;display:grid;grid-template-columns:95px 1fr;gap:18px;align-items:center}.shelf-arrival img{width:90px;height:90px;object-fit:contain}.shelf-arrival h3{font-size:30px;margin:4px 0 5px}.shelf-arrival p{font-size:16px;line-height:1.75;color:var(--muted);margin:0}.shelf-arrival .you-are-here{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:900;color:var(--accent)}.shelf-arrival .you-are-here:before{content:"●";font-size:8px}
.shelf-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:26px 2px 10px}.shelf-heading h4{font-size:21px;margin:0}.shelf-heading p{font-size:14px;color:var(--muted);margin:0}.bookcase,.mini-bookcase,.forest-bookcase{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:24px 24px 42px;border-radius:22px 22px 8px 8px;background:linear-gradient(180deg,#fff 0%,#fcf9f6 100%);border:1px solid #eadfd8;overflow:hidden}.mini-bookcase{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:22px}.forest-bookcase{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:15px}
.book-entry{display:grid;grid-template-rows:auto auto;justify-items:center;align-items:start;gap:15px;min-width:0}.book-entry .book-meta{width:100%;text-align:center;position:relative;z-index:2;padding:0 5px}.book-meta b{display:block;font-size:15px;line-height:1.5;margin-bottom:4px}.book-meta p{font-size:13px;line-height:1.65;color:var(--muted);margin:0}.book-meta .book-status{display:inline-block;margin-top:7px;font-size:12px;font-weight:900;color:#877983;background:#f2edef;border-radius:999px;padding:6px 8px}.book-meta .read-link{color:#77566a;background:#f7eaf0}.book-entry.is-live .book-meta b{color:#7c4e66}
.next-layer{margin-top:30px;padding-top:0;border-top:0}.layer-head{margin-bottom:10px}.layer-head h4{font-size:20px}.layer-head span{font-size:13px}.next-layer .mini-bookcase{border-color:color-mix(in srgb,var(--accent) 12%,#eadfd8);background:linear-gradient(180deg,#fff,var(--pale))}
.forest-library{margin-top:22px}.forest-library .shelf-heading{margin-top:0}.world-bridge{grid-template-columns:1fr}.world-shelves{display:grid;grid-template-columns:1fr 280px;gap:18px;align-items:stretch}.world-card.world-card-link{font-size:inherit;border-radius:24px;padding:22px;justify-content:center}.world-card.world-card-link small{font-size:13px}.world-card.world-card-link h3{font-size:21px}.world-card.world-card-link p{font-size:14px}.world-card.world-card-link span{font-size:13px;font-weight:900}
.secret-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:22px 22px 38px;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.secret-grid:after{content:"";position:absolute;left:2%;right:2%;bottom:7px;height:14px;border-radius:5px;background:linear-gradient(180deg,#c89d78,#a87855);box-shadow:0 7px 12px rgba(78,50,35,.17)}.secret-card{border:0;background:none;padding:0;display:grid;justify-items:center}.secret-card small,.secret-card h4,.secret-card span{display:none}
.char-tab span{font-size:13px}.char-tab:after{content:"本棚を見る →";margin-left:auto;font-size:12px;font-weight:900;color:var(--accent);white-space:nowrap}
@media(max-width:900px){.featured-book-stage{grid-template-columns:1fr}.featured-book-copy{text-align:center}.featured-book-copy p{margin-left:auto;margin-right:auto}.featured-book-copy .status-pill{align-self:center}.mini-bookcase{grid-template-columns:repeat(2,minmax(0,1fr))}.world-shelves{grid-template-columns:1fr}.forest-bookcase{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.featured-book-stage{padding:24px 16px;gap:20px}.featured-book-wrap{min-height:300px}.book-object.large{width:190px;height:264px}.shelf-arrival{grid-template-columns:68px 1fr;padding:16px}.shelf-arrival img{width:65px;height:65px}.shelf-arrival h3{font-size:24px}.shelf-arrival p{font-size:15px}.shelf-heading{align-items:start;flex-direction:column;gap:4px}.bookcase,.mini-bookcase,.forest-bookcase{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(175px,72vw);grid-template-columns:none;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:20px 18px 40px;gap:18px;scrollbar-width:thin}.book-entry{scroll-snap-align:center}.book-object{width:160px;height:222px}.book-object.small{width:145px;height:200px}.book-meta p{font-size:14px}.char-tab:after{font-size:11px}.world-shelves{grid-template-columns:1fr}.secret-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,70vw);grid-template-columns:none;overflow-x:auto}.featured-book-copy p{font-size:16px}}

@media(max-width:900px){.hero .inner{grid-template-columns:1fr}.hero-trio{height:240px;max-width:620px}.first-feature{grid-template-columns:1fr}.first-art{min-height:285px}.world-bridge{grid-template-columns:1fr}.later-grid{grid-template-columns:repeat(2,1fr)}.section-head{grid-template-columns:1fr}.section-count{justify-self:start}}
@media(max-width:680px){.sitebar .inner{padding:9px 12px}.mainnav{max-width:65%}.hero .inner{padding:50px 14px 40px}.hero h1{font-size:42px}.hero-trio{height:205px}.hero-trio .r,.hero-trio .n{width:145px}.hero-trio .k{width:155px;bottom:28px}.routebar .inner{padding:10px 12px}main{padding-left:12px;padding-right:12px}.section{padding:44px 0}.first-copy{padding:26px 20px}.first-art{min-height:250px}.character-picker{grid-template-columns:1fr}.char-tab{padding:9px 12px}.char-tab img{width:54px;height:54px}.char-hero{grid-template-columns:80px 1fr;padding:18px}.char-hero img{width:78px;height:78px}.char-hero h3{font-size:23px}.first-three{grid-template-columns:1fr}.book-step{min-height:190px}.later-grid{grid-template-columns:1fr 1fr}.guide-card{grid-template-columns:78px 1fr;padding:18px}.guide-card img{width:75px;height:75px}.world-shelves{grid-template-columns:1fr}.trivia-body{padding:12px}.trivia-grid,.voice-row{grid-template-columns:1fr}.secret-grid{grid-template-columns:1fr}.report-cta{grid-template-columns:1fr}.report-cta a{justify-self:start}}

/* 2026-08-28 readability / shared-navigation correction */
body{font-size:16px}
.logo{font-size:20px}.logo small{font-size:14px;margin-left:3px}
.mainnav{gap:7px}.mainnav a{font-size:14px;line-height:1.3;padding:10px 12px}
.eyebrow{font-size:14px}.hero p{font-size:18px}.hero-note span{font-size:14px;padding:8px 11px}
.routebar a{font-size:14px;padding:10px 13px}
.section-head p{font-size:17px}.section-count{font-size:14px;padding:8px 11px}
.first-copy small{font-size:14px}.first-copy p{font-size:17px}.status-pill{font-size:14px;padding:9px 12px}
.char-tab small{font-size:13px}.char-tab b{font-size:21px}.char-tab span{font-size:15px;line-height:1.5}
.char-hero small{font-size:13px}.char-hero p{font-size:16px}
.book-step .label{font-size:13px}.book-step p{font-size:16px;line-height:1.75}.book-step .soon{font-size:13px;padding:7px 10px}
.layer-head h4{font-size:19px}.layer-head span{font-size:14px}.later-card small{font-size:13px}.later-card h5{font-size:17px}.later-card span{font-size:14px}
.guide-card small{font-size:13px}.guide-card p{font-size:16px}.world-card small{font-size:13px}.world-card p{font-size:15px}.world-card span{font-size:14px;font-weight:800}.world-card-link{transition:.18s ease}.world-card-link:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(59,43,52,.08);border-color:#d8c8d0}
.trivia-tab{font-size:15px;padding:10px 14px}.trivia-intro b{font-size:20px}.trivia-intro span{font-size:15px}
details.trivia summary{font-size:17px;padding:16px 0}details.trivia p{font-size:16px;line-height:1.85}
.voice-card strong{font-size:15px}.voice-card p{font-size:15px}.trivia-note{font-size:15px;line-height:1.8;padding:14px 16px}
.deep-gate>summary{font-size:17px}.deep-copy>p{font-size:16px}.secret-card small{font-size:13px}.secret-card h4{font-size:18px}.secret-card span{font-size:14px}
.report-cta small{font-size:13px}.report-cta p{font-size:16px}.report-cta a{font-size:15px;padding:12px 16px}
.footer{font-size:14px}.footer b{font-size:19px}
.common-footer{border-top:1px solid var(--line);background:#fff;padding:34px 18px 42px}.common-footer-inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.15fr 2fr;gap:34px}.common-footer-brand b{font-size:21px}.common-footer-brand p{font-size:15px;line-height:1.8;color:var(--muted);margin:10px 0 0}.common-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.common-footer-links strong{display:block;font-size:14px;margin-bottom:8px}.common-footer-links a{display:block;font-size:15px;color:#5f555c;padding:5px 0}.common-footer-links a:hover{text-decoration:underline}
@media(max-width:680px){
 .sitebar .inner{align-items:flex-start}.logo{font-size:18px;padding-top:4px}.logo small{font-size:12px}.mainnav{max-width:72%}.mainnav a{font-size:14px;padding:9px 10px}
 .hero p{font-size:17px}.routebar a{font-size:14px}.section-head p{font-size:16px}.char-tab span{font-size:15px}.book-step p{font-size:16px}.world-card p{font-size:15px}
 details.trivia summary{font-size:17px}details.trivia p{font-size:16px}.common-footer-inner{grid-template-columns:1fr}.common-footer-links{grid-template-columns:1fr 1fr}
}


/* book links */
a.later-card{display:block;color:inherit;text-decoration:none}
a.later-card.live-book{border-color:#efb3c7;background:linear-gradient(145deg,#fff,#fff4f8);box-shadow:0 12px 28px rgba(77,55,70,.08)}
a.later-card.live-book span{color:#7e4560;font-weight:900}
a.later-card.live-book:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(77,55,70,.13)}



/* === CURRENT SITE LOOK / 2026-08-29 ===
   Structure stays: first book -> choose character -> character bookshelf -> forest -> trivia.
   Visual language is intentionally aligned to the current /stories/ and ryuchy-yumemi/ pages. */
:root{--night:#1d203d;--night2:#34395e;--ink:#3e3540;--muted:#776d75;--line:#eadfe5;--paper:#fffdf9;--pink:#ef7fa2;--pink-pale:#fff0f5;--yellow:#d9a52f;--yellow-pale:#fff8df;--blue:#5aaed0;--blue-pale:#eaf7fc;--forest:#6f8c72;--forest-pale:#eef5ec}
body{background:var(--paper);color:var(--ink);font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:16px}
.sitebar{background:rgba(255,253,249,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.sitebar .inner{max-width:1180px;padding:10px 18px}.logo{font-size:19px}.logo small{font-size:12px;color:#988894}
.mainnav{gap:5px}.mainnav a{font-size:13px;padding:8px 10px;border-radius:999px}.mainnav a.current{background:#f4eaf0;color:#8d5872}
.hero{background:linear-gradient(180deg,var(--night),var(--night2));color:#fff}
.hero:before{opacity:.32}.hero .inner{max-width:1100px;padding:82px 18px 78px;grid-template-columns:1.2fr .8fr;gap:30px}.hero .eyebrow{font-size:11px;color:#d9c8d5}.hero h1{font-size:clamp(38px,6vw,66px);margin:8px 0 14px}.hero p{font-size:16px;line-height:1.95;color:#eeeaf4}.hero-art{display:flex;align-items:end;justify-content:center;min-height:230px}.hero-art img{width:min(230px,75%);filter:drop-shadow(0 18px 22px rgba(0,0,0,.25))}
main{max-width:1100px;margin:auto;padding:46px 18px 80px}.section{padding:0 0 50px;margin:0 0 50px;border-bottom:1px solid var(--line)}.section:last-child{border-bottom:0;margin-bottom:0}.section-head{display:block;margin-bottom:22px}.section-head .eyebrow{font-size:11px;color:#a4778d}.section-head h2{font-size:clamp(28px,4vw,42px);margin:4px 0 7px}.section-head p{font-size:16px;line-height:1.8;color:var(--muted);max-width:760px}
/* first book: same white-space-heavy feel as current stories page */
.featured-book-stage{display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px;align-items:center;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.featured-book-wrap{min-height:330px;padding:12px 0;align-items:center}.featured-book-wrap:after{display:none}.featured-book-copy{padding:0}.featured-book-copy small{font-size:12px;color:#a36e88}.featured-book-copy h3{font-size:clamp(27px,3.5vw,38px);margin:6px 0 10px}.featured-book-copy p{font-size:16px;line-height:1.85}.status-pill{font-size:13px;padding:7px 10px;background:#f3edf1;color:#806e78}
/* selector uses current site's card language */
.character-picker{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.char-tab{border:1px solid var(--line);border-radius:24px;background:#fff;padding:14px;box-shadow:0 8px 24px rgba(59,43,52,.04);transform:none}.char-tab:hover{transform:translateY(-2px)}.char-tab.active{background:var(--pale);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:0 8px 24px rgba(59,43,52,.06)}.char-tab img{width:68px;height:68px}.char-tab small{font-size:10px}.char-tab b{font-size:20px}.char-tab span{font-size:14px}.char-tab:after{content:"本棚を見る →";font-size:12px}
/* bookshelf arrival = current site's guide-card treatment, not a new decorative shelf */
.shelf-arrival{border:1px solid var(--line);border-radius:24px;background:#fff;padding:20px;grid-template-columns:96px 1fr;gap:16px;box-shadow:none}.shelf-arrival img{width:90px;height:90px}.you-are-here{font-size:11px;color:var(--accent)}.shelf-arrival h3{font-size:25px;margin:3px 0 5px}.shelf-arrival p{font-size:15px;line-height:1.75;color:var(--muted)}.shelf-heading{margin:24px 0 12px;padding:0}.shelf-heading h4{font-size:20px}.shelf-heading p{font-size:14px;color:var(--muted)}
/* BOOKS: use the actual ryuchy-yumemi flipbook cover vocabulary */
.bookcase,.mini-bookcase,.forest-bookcase{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0;background:transparent;border:0}.mini-bookcase{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.forest-bookcase{grid-template-columns:repeat(3,minmax(0,1fr))}.bookcase:after,.mini-bookcase:after,.forest-bookcase:after{display:none!important}
.book-entry{display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-width:0}.book-object{--cover-end:#f7d9e4;--cover-accent:#925f76;position:relative;width:100%;height:auto;aspect-ratio:3/4;border:1px solid #e8ddd8;border-radius:7px 20px 20px 7px;background:linear-gradient(155deg,#fff,var(--cover-end) 66%,#f5f1f8);box-shadow:10px 14px 28px rgba(55,43,52,.12);transform:none;overflow:hidden;color:var(--ink);transition:.18s ease}.book-object:before{content:"";position:absolute;left:0;top:0;bottom:0;width:9px;background:linear-gradient(90deg,#d9cbc6,#f6efeb);box-shadow:none;z-index:3}.book-object:after{display:none}.book-object:hover,a.book-object:hover{transform:translateY(-4px);box-shadow:11px 18px 34px rgba(55,43,52,.16)}
.book-object.large{width:220px;height:auto;aspect-ratio:3/4}.book-object.small,.book-object.mini{width:100%;height:auto;aspect-ratio:3/4}.book-object.ryu{--cover-end:#f7d9e4;--cover-accent:#925f76}.book-object.kuri{--cover-end:#f7eab8;--cover-accent:#98731c}.book-object.noma{--cover-end:#dceff6;--cover-accent:#427f98}.book-object.forest{--cover-end:#e3eee1;--cover-accent:#607d64}.book-object.night,.book-object.lavender{--cover-end:#e7e3f4;--cover-accent:#756483}
.book-cover-inner{position:absolute;inset:0;padding:18px 18px 18px 24px;border-radius:0;display:block;overflow:hidden}.book-cover-inner .series{display:block;font-size:11px;letter-spacing:.15em;font-weight:900;color:var(--cover-accent)}.book-cover-inner .book-no{position:absolute;right:16px;bottom:12px;top:auto;font-size:13px;line-height:1;font-weight:900;color:#9b8f95}.book-cover-inner strong{position:relative;z-index:2;display:block;font-size:20px;line-height:1.35;margin-top:15px;max-width:82%}.book-object.large .book-cover-inner strong{font-size:27px}.book-object.small .book-cover-inner strong,.book-object.mini .book-cover-inner strong{font-size:18px}.book-cover-inner img{position:absolute;right:10px;bottom:24px;width:46%;height:46%;object-fit:contain;opacity:.98;filter:drop-shadow(0 10px 15px rgba(80,50,70,.12))}.book-object.large .book-cover-inner img{width:52%;height:52%}.book-object.small .book-cover-inner img,.book-object.mini .book-cover-inner img{width:43%;height:43%}
.book-meta{width:100%;padding:0 2px}.book-meta b{font-size:16px;line-height:1.45}.book-meta p{font-size:14px;line-height:1.65;color:var(--muted);margin:5px 0 7px}.book-status{font-size:12px;color:#8d8288}.book-status.read-link{color:var(--accent);font-weight:900}
.next-layer{border-top:1px dashed #e5d8df;margin-top:28px;padding-top:24px}.layer-head h4{font-size:18px}.layer-head span{font-size:13px;color:#9a8d94}
/* world / trivia match current public-page cards */
.world-bridge{grid-template-columns:1fr;gap:20px}.guide-card{border:1px solid var(--line);border-radius:24px;background:#fff;padding:22px;grid-template-columns:96px 1fr;box-shadow:none}.guide-card img{width:90px;height:90px}.guide-card small{font-size:11px}.guide-card p{font-size:15px}.world-shelves{grid-template-columns:minmax(0,1fr) minmax(230px,.42fr);gap:18px}.world-card{border-radius:20px;padding:18px}.world-card small{font-size:11px}.world-card h3{font-size:18px}.world-card p{font-size:14px}.world-card span{font-size:13px}
.trivia-shell{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.trivia-tabs{padding:0 0 14px;background:transparent;border:0}.trivia-tab{font-size:14px;padding:9px 13px;background:#fff}.trivia-body{padding:0}.trivia-intro{margin:4px 0 12px}.trivia-intro b{font-size:20px}.trivia-intro span{font-size:14px}.trivia-grid{grid-template-columns:repeat(2,1fr);gap:10px}details.trivia{border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 14px}details.trivia summary{font-size:16px;padding:15px 0}details.trivia p{font-size:15px;line-height:1.8}.voice-row{gap:10px}.voice-card{border-radius:18px}.voice-card b{font-size:22px}.voice-card strong{font-size:14px}.voice-card p{font-size:14px}.trivia-note{font-size:14px}
.deep-gate{margin-top:28px;border-radius:18px}.deep-gate>summary{font-size:16px}.deep-copy>p{font-size:15px}.secret-grid{border:0;background:transparent;border-radius:0;padding:10px 0;grid-template-columns:repeat(3,minmax(0,180px));gap:18px}.secret-grid:after{display:none}.secret-card{display:block}.report-cta{border-radius:24px}.report-cta p{font-size:15px}.report-cta a{font-size:14px}
.common-footer{background:#fff}.common-footer-brand p{font-size:14px}.common-footer-links a{font-size:14px}.footer{font-size:12px}
@media(max-width:900px){.hero .inner{grid-template-columns:1fr}.hero-art{display:none}.featured-book-stage{grid-template-columns:220px 1fr}.bookcase{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-bookcase{grid-template-columns:repeat(2,minmax(0,1fr))}.world-shelves{grid-template-columns:1fr}}
@media(max-width:680px){.sitebar .inner{align-items:flex-start}.mainnav{max-width:72%}.mainnav a{font-size:13px}.hero .inner{padding:58px 14px 60px}.hero p{font-size:16px}main{padding:38px 12px 70px}.section{margin-bottom:42px;padding-bottom:42px}.featured-book-stage{grid-template-columns:1fr;gap:12px}.featured-book-wrap{min-height:285px;justify-content:center}.featured-book-copy{text-align:left}.character-picker{grid-template-columns:1fr}.char-tab{padding:10px 12px}.char-tab img{width:58px;height:58px}.shelf-arrival{grid-template-columns:70px 1fr;padding:16px}.shelf-arrival img{width:66px;height:66px}.shelf-arrival h3{font-size:22px}.shelf-arrival p{font-size:14px}.bookcase,.mini-bookcase,.forest-bookcase{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(175px,70vw);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 6px 18px 2px;gap:18px}.book-entry{scroll-snap-align:start}.book-object{min-width:0}.book-meta b{font-size:15px}.book-meta p{font-size:14px}.world-shelves{grid-template-columns:1fr}.trivia-grid,.voice-row{grid-template-columns:1fr}.secret-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(155px,58vw);grid-template-columns:none;overflow-x:auto}.common-footer-inner{grid-template-columns:1fr}.common-footer-links{grid-template-columns:1fr 1fr}}



/* === CURRENT TASTE + CUTE / 2026-08-29 ===
   Keep the public MOMONCHY language: cream paper, quiet night sky, pink/yellow/blue character accents.
   Add character-site charm through book covers, soft shapes, tiny stars, and gentle micro-interactions. */
:root{
  --cute-pink:#ef7fa2; --cute-pink-2:#f7b5c9; --cute-blush:#fff3f7;
  --cute-cream:#fffdf9; --cute-brown:#5a4032; --cute-mint:#b9e9cd; --cute-green:#397155;
  --cute-lav:#eee8f7; --cute-shadow:0 14px 38px rgba(77,53,67,.09);
}
body{background:#fffdf9;color:#4b3a3e}
/* header: match the current public-site feeling */
.sitebar{background:rgba(255,253,249,.985);border-bottom:1px solid #f1e8eb;box-shadow:0 1px 0 rgba(91,64,75,.02)}
.sitebar .inner{max-width:1400px;min-height:73px;padding:9px 6.2vw;gap:24px}
.cute-logo{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:500!important;font-size:24px!important;letter-spacing:.18em;color:#ee789d!important;white-space:nowrap}
.cute-logo small{font-family:Georgia,"Times New Roman",serif;font-size:10px!important;letter-spacing:.28em;color:#9c858b!important;margin-left:9px;vertical-align:middle}
.mainnav{align-items:center;gap:16px!important;overflow:visible}
.mainnav a{position:relative;border-radius:0!important;background:transparent!important;font-size:14px!important;font-weight:500!important;color:#68585c;padding:18px 0 15px!important;letter-spacing:.02em}
.mainnav a.current{color:#ed7296!important}
.mainnav a.current:after{content:"";position:absolute;left:0;right:0;bottom:8px;height:3px;border-radius:3px;background:#ed7296}
.mainnav a.business-link{padding:12px 19px!important;border-radius:999px!important;background:#bce9ce!important;border:2px solid #79c59b;color:#3f7056!important;margin-left:4px}
.mainnav a.business-link:hover{background:#abe2c1!important;transform:translateY(-1px)}
/* hero */
.hero{min-height:490px;background:linear-gradient(108deg,#181a36 0%,#242249 46%,#3b3162 100%);isolation:isolate}
.hero:before{background-image:
 radial-gradient(circle at 8% 18%,#fff 0 1.2px,transparent 1.7px),radial-gradient(circle at 18% 72%,#fff9cd 0 1.1px,transparent 1.7px),
 radial-gradient(circle at 35% 25%,#fff 0 1px,transparent 1.6px),radial-gradient(circle at 49% 62%,#fff 0 1.3px,transparent 1.8px),
 radial-gradient(circle at 66% 20%,#fff 0 1.1px,transparent 1.7px),radial-gradient(circle at 84% 68%,#fff8c8 0 1.2px,transparent 1.8px),
 radial-gradient(circle at 94% 24%,#fff 0 1px,transparent 1.6px);background-size:250px 205px;opacity:.52;z-index:-2}
.hero .inner{max-width:1120px;padding:82px 18px 74px;grid-template-columns:1.1fr .9fr;gap:42px}
.hero .eyebrow{font-family:Georgia,"Times New Roman",serif;color:#f3b5c9;font-size:13px!important;letter-spacing:.24em}
.hero h1{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:500;letter-spacing:.07em;font-size:clamp(42px,5.2vw,66px);text-shadow:0 2px 12px rgba(0,0,0,.08)}
.hero p{font-size:17px!important;line-height:2.25!important;color:#f4eef4!important;letter-spacing:.04em}
.hero-art{min-height:300px;position:relative}
.hero-art:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(246,167,198,.13),rgba(246,167,198,0) 68%);filter:blur(3px)}
.hero-art img{width:min(285px,84%)!important;position:relative;filter:drop-shadow(0 20px 26px rgba(10,8,35,.30));animation:cuteFloat 5.5s ease-in-out infinite}
@keyframes cuteFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
.hero-invite{display:inline-flex;margin-top:23px;padding:8px 15px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.075);font-size:12px;color:#f5dbe5;letter-spacing:.08em}
.hero-cute-deco{position:absolute;inset:0;pointer-events:none;z-index:-1}.hero-cute-deco .star{position:absolute;color:#fff4c8;filter:drop-shadow(0 0 7px rgba(255,244,200,.45))}.hero-cute-deco .star:before{content:"✦"}
.hero-cute-deco .s1{left:10%;top:21%;font-size:14px}.hero-cute-deco .s2{left:44%;top:14%;font-size:10px}.hero-cute-deco .s3{right:16%;top:18%;font-size:17px}.hero-cute-deco .s4{right:8%;bottom:18%;font-size:11px}.hero-cute-deco .s5{left:15%;bottom:16%;font-size:9px}
/* page rhythm */
main{max-width:1120px;padding:68px 18px 100px;overflow:hidden}.section{position:relative;margin-bottom:70px!important;padding-bottom:68px!important;border-bottom:1px solid #f0e6e9!important}.section:last-child{border-bottom:0!important}
.section:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(248,207,220,.18),rgba(248,207,220,0) 68%);right:-130px;top:5px;pointer-events:none}
.section:nth-of-type(even):before{right:auto;left:-140px;background:radial-gradient(circle,rgba(207,227,246,.17),rgba(207,227,246,0) 68%)}
.section-head{text-align:center;margin:0 auto 34px!important;max-width:820px}.section-head .eyebrow{font-family:Georgia,"Times New Roman",serif;font-size:12px!important;letter-spacing:.23em;color:#ed819f!important}.section-head h2{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:500;color:#624737;font-size:clamp(30px,4vw,43px)!important;letter-spacing:.04em;margin:8px 0 10px!important}.section-head p{font-size:16px!important;line-height:2!important;color:#7b6c70!important;margin:0 auto;max-width:760px!important}.section-cute-mark{margin-top:14px;color:#f0afc4;font-size:14px;letter-spacing:.38em}
/* first book: a hero book, like a little picture-book display */
.featured-book-stage{position:relative;grid-template-columns:300px 1fr!important;gap:46px!important;padding:34px 42px!important;border-radius:34px!important;background:linear-gradient(145deg,#fff8fb 0%,#fff 50%,#f7f3fc 100%)!important;border:1px solid #f0e2e8!important;box-shadow:var(--cute-shadow)!important;overflow:hidden}
.featured-book-stage:before{content:"✦";position:absolute;right:34px;top:24px;color:#eeb1c5;font-size:27px}.featured-book-stage:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;bottom:-90px;background:#f3eaf8;opacity:.72}
.featured-book-wrap{min-height:340px!important;display:flex;justify-content:center!important;align-items:center!important;position:relative}.featured-book-wrap:before{content:"";position:absolute;width:238px;height:32px;border-radius:50%;background:rgba(92,61,78,.10);filter:blur(8px);bottom:13px}
.book-object.large{width:235px!important;aspect-ratio:3/4!important;border:2px solid #e4dce6!important;border-radius:9px 22px 22px 9px!important;background:linear-gradient(160deg,#fff 0%,#f6e8f4 55%,#e9e5fb 100%)!important;box-shadow:13px 17px 34px rgba(65,43,59,.17)!important;transform:rotate(-2deg)!important}
.book-object.large:hover{transform:rotate(0deg) translateY(-4px)!important}.book-object.large:before{width:10px!important;background:linear-gradient(90deg,#cbbfd0,#f3edf5)!important}.book-object.large .book-cover-inner{padding:22px 19px 18px 29px!important}.book-object.large .series{font-family:Georgia,serif;color:#8e6f87!important;font-size:10px!important;letter-spacing:.18em!important}.book-object.large strong{font-size:25px!important;max-width:90%!important;color:#544050}.cover-trio{position:absolute;left:23px;right:12px;bottom:36px;height:126px;display:flex;align-items:flex-end;justify-content:center}.cover-trio img{position:static!important;width:35%!important;height:auto!important;max-height:112px;object-fit:contain;filter:drop-shadow(0 7px 8px rgba(75,46,66,.10))!important}.cover-trio img:nth-child(1){transform:rotate(-5deg) translateX(10px)}.cover-trio img:nth-child(2){transform:translateY(-15px);z-index:2}.cover-trio img:nth-child(3){transform:rotate(5deg) translateX(-10px)}.cover-whisper{position:absolute;left:28px;bottom:14px;font-size:10px;color:#8f7b87;letter-spacing:.04em}.featured-book-copy{text-align:left!important}.featured-book-copy small{font-size:13px!important;color:#e07898!important}.featured-book-copy h3{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;color:#61463c;font-weight:600}.featured-book-copy p{font-size:16px!important;line-height:2!important}.status-pill{border:1px solid #efe2e8;background:#fff!important;color:#9b8790!important}
/* character chooser: more character-site, less business UI */
.character-picker{gap:18px!important}.char-tab{position:relative;min-height:126px;border-radius:28px!important;padding:17px 18px!important;border:2px solid color-mix(in srgb,var(--accent) 23%,#eee4e8)!important;background:linear-gradient(145deg,#fff 25%,var(--pale))!important;box-shadow:0 10px 24px rgba(76,52,66,.05)!important;overflow:hidden}.char-tab:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.72);left:8px;top:17px}.char-tab img{position:relative;width:82px!important;height:82px!important;z-index:1}.char-tab small{font-family:Georgia,serif;font-size:10px!important;letter-spacing:.14em}.char-tab b{font-size:22px!important;color:#5e4341}.char-tab span{font-size:14px!important;line-height:1.45}.char-tab:after{content:"本棚へ →"!important;position:absolute;right:16px;bottom:13px;color:var(--accent);font-weight:900;font-size:12px!important}.char-tab.active{box-shadow:0 13px 29px color-mix(in srgb,var(--accent) 12%,transparent)!important;transform:translateY(-2px)!important}.char-tab.active:before{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent)}
/* shelf welcome: soft character bubble */
.shelf-arrival{position:relative;border:0!important;border-radius:30px!important;background:linear-gradient(135deg,var(--pale),#fff 72%)!important;padding:22px 28px!important;grid-template-columns:110px 1fr!important;overflow:hidden}.shelf-arrival:after{content:"✧";position:absolute;right:24px;top:18px;color:var(--accent);opacity:.35;font-size:28px}.shelf-arrival img{width:105px!important;height:105px!important;filter:drop-shadow(0 8px 10px rgba(66,47,57,.08))}.shelf-arrival .you-are-here{font-size:12px!important;letter-spacing:.08em}.shelf-arrival h3{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;font-size:28px!important;color:#5e4440}.shelf-arrival p{font-size:15px!important;line-height:1.9!important}.shelf-heading{margin:30px 0 10px!important}.shelf-heading h4{font-size:22px!important;color:#62493e}.shelf-heading h4:before{content:"✦ ";color:var(--accent);font-size:15px}.bookshelf-ribbon{display:inline-block;margin:0 0 18px;padding:8px 14px;border-radius:999px;background:var(--pale);color:#7b6970;font-size:13px}
/* Books are clearly picture books: colorful, quiet, cute */
.bookcase,.mini-bookcase,.forest-bookcase{padding:26px 24px 28px!important;border-radius:30px!important;background:linear-gradient(180deg,#fff,#fffafc)!important;border:1px solid #f1e6e9!important;gap:24px!important}.mini-bookcase{background:linear-gradient(180deg,#fff,var(--pale))!important}.book-entry{align-items:center!important;text-align:center;gap:13px!important}.book-object{border:2px solid #eee3e5!important;border-radius:9px 22px 22px 9px!important;box-shadow:9px 13px 24px rgba(65,47,57,.10)!important;background:linear-gradient(155deg,#fff 3%,var(--cover-end) 75%,#fffafc)!important;overflow:hidden}.book-object:before{width:8px!important;background:linear-gradient(90deg,rgba(118,82,98,.22),rgba(255,255,255,.7))!important}.book-object:after{display:block!important;content:"✦"!important;position:absolute!important;right:15px!important;top:13px!important;width:auto!important;height:auto!important;background:none!important;color:var(--cover-accent)!important;opacity:.25!important;box-shadow:none!important;font-size:18px!important;z-index:2!important}.book-object:hover,a.book-object:hover{transform:translateY(-6px) rotate(.4deg)!important;box-shadow:11px 19px 30px rgba(65,47,57,.15)!important}.book-cover-inner .series{font-family:Georgia,serif;font-size:10px!important;letter-spacing:.16em!important}.book-cover-inner strong{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;font-weight:700;color:#584044}.book-cover-inner img{right:50%!important;transform:translateX(50%);bottom:26px!important;width:52%!important;height:43%!important}.book-object.small .book-cover-inner img,.book-object.mini .book-cover-inner img{width:49%!important;height:41%!important}.book-cover-inner .book-no{right:13px!important;bottom:11px!important;font-size:12px!important;color:#8b7e84!important}.book-meta{max-width:290px}.book-meta b{font-size:16px!important;color:#5e4541}.book-meta p{font-size:14px!important;line-height:1.75!important}.book-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f6f1f3;font-size:12px!important}.book-status.read-link{background:var(--pale);color:var(--accent)!important}.next-layer{border-top:0!important;margin-top:34px!important;padding-top:0!important}.layer-head{padding:13px 17px;border-radius:18px;background:linear-gradient(90deg,var(--pale),transparent);margin-bottom:14px!important}.layer-head h4:before{content:"♡ ";color:var(--accent)}
/* forest */
.world-bridge{gap:26px!important}.guide-card{position:relative;border:0!important;border-radius:30px!important;background:linear-gradient(135deg,#f4eefb,#fff 72%)!important;padding:24px 28px!important;grid-template-columns:120px 1fr!important;overflow:visible}.guide-card:after{content:"";position:absolute;left:70px;bottom:-12px;border-width:12px 12px 0 0;border-style:solid;border-color:#f6f0fb transparent transparent transparent}.guide-card img{width:115px!important;height:115px!important;transform:rotate(-3deg);filter:drop-shadow(0 8px 10px rgba(77,56,87,.08))}.guide-card small{font-family:Georgia,serif;color:#8d6b9b!important}.guide-card h3{font-size:25px!important;color:#5d485f}.guide-card p{font-size:15px!important;line-height:1.9!important}.forest-library{margin-top:4px}.world-card{border:1px solid #e9e0e6!important;border-radius:26px!important;background:linear-gradient(145deg,#fff,#faf5fb)!important;padding:22px!important}.world-card:before{content:"🔎";display:block;font-size:23px;margin-bottom:7px}.world-card h3{font-size:20px!important;color:#5d4756}.world-card p{line-height:1.8!important}.world-card span{color:#8d6481!important;font-weight:900}
/* trivia = hiyochy notebook feeling, still current-site clean */
.hiyo-peek{display:flex;align-items:center;justify-content:center;gap:10px;margin:-10px auto 24px}.hiyo-peek img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 7px 8px rgba(72,51,78,.08))}.hiyo-peek span{position:relative;padding:10px 15px;border-radius:18px;background:#f6eff9;border:1px solid #e9dcef;color:#745f77;font-size:13px}.hiyo-peek span:before{content:"";position:absolute;left:-7px;top:22px;width:12px;height:12px;background:#f6eff9;border-left:1px solid #e9dcef;border-bottom:1px solid #e9dcef;transform:rotate(45deg)}
.trivia-tabs{justify-content:center!important;gap:9px!important}.trivia-tab{border:1px solid #e9dfe4!important;background:#fff!important;color:#786970!important;border-radius:999px!important;padding:10px 15px!important;box-shadow:0 4px 12px rgba(72,50,61,.03)}.trivia-tab.active{background:#f7e8ef!important;border-color:#efb9ca!important;color:#995f76!important}.trivia-intro{justify-content:center;text-align:center;flex-direction:column;gap:4px!important;margin:12px 0 17px!important}.trivia-intro b{color:#624b43}.trivia-grid{gap:12px!important}details.trivia{border:1px solid #eee3e7!important;border-radius:20px!important;background:#fff!important;box-shadow:0 5px 14px rgba(73,52,61,.025)}details.trivia[open]{background:#fffafc!important;border-color:#efdce4!important}details.trivia summary{color:#654c4e;padding:16px 3px!important}details.trivia summary:after{color:#e58eaa!important}.voice-card{border:1px solid #eadfe6!important;border-radius:22px!important;background:linear-gradient(145deg,#fff7fa,#f8f4ff)!important;text-align:center;padding:18px!important}.voice-card b{color:#6a4b5d}.voice-card strong{color:#b06a86}.deep-gate{border:1px dashed #ded1e1!important;background:linear-gradient(145deg,#faf7fc,#fff)!important;border-radius:24px!important}.report-cta{background:linear-gradient(135deg,#272847,#4a416d)!important;border-radius:30px!important;box-shadow:0 14px 30px rgba(43,39,72,.12)}
/* footer */
.common-footer{background:#fffafc!important;border-top:1px solid #f0e5e8!important}.footer-cute-brand{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;color:#e87b9c;font-size:22px!important;letter-spacing:.12em}.footer-cute-brand small{font-family:Georgia,serif;color:#9b848b;font-size:10px;letter-spacing:.2em}
/* responsive */
@media(max-width:1050px){.sitebar .inner{padding-left:18px;padding-right:18px}.mainnav{gap:11px!important;overflow:auto}.mainnav a{font-size:13px!important}.featured-book-stage{grid-template-columns:260px 1fr!important}}
@media(max-width:800px){.hero{min-height:auto}.hero .inner{grid-template-columns:1fr!important;text-align:center;padding:62px 18px 58px}.hero-art{display:flex!important;min-height:225px}.hero-art img{width:205px!important}.hero-invite{font-size:11px}.featured-book-stage{grid-template-columns:1fr!important;text-align:center;padding:28px 20px!important}.featured-book-copy{text-align:center!important}.character-picker{grid-template-columns:1fr!important}.shelf-arrival{grid-template-columns:88px 1fr!important}.bookcase,.mini-bookcase,.forest-bookcase{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(190px,70vw);grid-template-columns:none!important;overflow-x:auto;padding:24px 18px 30px!important;scroll-snap-type:x mandatory}.book-entry{scroll-snap-align:center}.world-shelves{grid-template-columns:1fr!important}.trivia-grid,.voice-row{grid-template-columns:1fr!important}}
@media(max-width:620px){.sitebar .inner{min-height:62px;padding:7px 12px}.cute-logo{font-size:20px!important}.cute-logo small{display:none}.mainnav{max-width:70%;gap:10px!important}.mainnav a{font-size:12px!important;padding:15px 0 13px!important}.mainnav a.business-link{padding:8px 13px!important}.hero h1{font-size:42px}.hero p{font-size:15px!important;line-height:2!important}.hero-art{min-height:190px}.hero-art img{width:175px!important}main{padding:50px 12px 80px}.section{margin-bottom:52px!important;padding-bottom:52px!important}.section-head{margin-bottom:26px!important}.section-head h2{font-size:29px!important}.section-head p{font-size:15px!important}.featured-book-stage{border-radius:26px!important}.book-object.large{width:205px!important}.shelf-arrival{grid-template-columns:72px 1fr!important;padding:17px!important}.shelf-arrival img{width:70px!important;height:70px!important}.shelf-arrival h3{font-size:23px!important}.bookshelf-ribbon{font-size:12px}.guide-card{grid-template-columns:82px 1fr!important;padding:18px!important}.guide-card img{width:80px!important;height:80px!important}.guide-card h3{font-size:21px!important}.hiyo-peek img{width:52px;height:52px}.hiyo-peek span{font-size:12px}.trivia-tabs{justify-content:flex-start!important;overflow:auto!important}}

.sitebar,.common-footer{display:none!important}

.book-object.has-real-cover{background:#fff!important}
.book-object.has-real-cover .real-cover-img{
  width:100%;height:100%;object-fit:cover;display:block;border-radius:5px 18px 18px 5px
}
.book-object.has-real-cover .book-cover-inner{
  background:none!important;padding:0!important
}
.book-object.has-real-cover .book-cover-inner strong,
.book-object.has-real-cover .book-cover-inner .series,
.book-object.has-real-cover .book-cover-inner .book-no{display:none!important}
.book-object.has-real-cover .book-cover-inner img.real-cover-img{display:block!important}
@media(max-width:620px){
  .book-cover-inner strong{font-size:17px!important;max-width:86%!important}
}

.book-meta b{font-size:17px!important}
.book-meta p{font-size:15px!important;line-height:1.72!important}
@media(max-width:620px){
  .book-meta b{font-size:16px!important}
  .book-meta p{font-size:14px!important;line-height:1.7!important}
  .book-object.small .book-cover-inner strong,.book-object.mini .book-cover-inner strong{font-size:16px!important}
}


/* BOOKSHELF COVER ALIGNMENT — CURRENT PICTURE BOOK
   本棚の「本」だけを、現行 ryuchy-yumemi の表紙ルールへ寄せる。
   他のレイアウト・導線・本文には触れない。 */
.book-object,
.book-object.large,
.book-object.small,
.book-object.mini{
  aspect-ratio:409 / 507 !important;
  height:auto !important;
  background:#0d65bd !important;
  border:4px solid #fff !important;
  border-radius:10px 18px 18px 10px !important;
  overflow:hidden !important;
  box-shadow:
    1px 0 0 rgba(55,49,61,.18),
    7px 9px 16px rgba(55,43,52,.14) !important;
  color:#fff !important;
}
.book-object:before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:7px !important;
  background:linear-gradient(90deg,rgba(40,39,55,.22),rgba(255,255,255,.20) 45%,rgba(255,255,255,0) 100%) !important;
  z-index:5 !important;
  pointer-events:none !important;
}
.book-object:after{display:none !important}
.book-object .book-cover-inner,
.book-object.large .book-cover-inner,
.book-object.small .book-cover-inner,
.book-object.mini .book-cover-inner{
  position:absolute !important;
  inset:0 !important;
  padding:18px 18px 16px !important;
  background:
    linear-gradient(rgba(0,24,70,.02),rgba(0,24,70,.02)),
    url("../img/covers/book_cover_base.png") center/cover no-repeat !important;
  border-radius:6px 14px 14px 6px !important;
  overflow:hidden !important;
}
.book-cover-inner .series{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  margin:1px 0 0 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:10px !important;
  line-height:1.2 !important;
  letter-spacing:.18em !important;
  font-weight:700 !important;
  color:rgba(255,255,255,.92) !important;
  text-shadow:0 1px 5px rgba(1,29,78,.35) !important;
  position:relative !important;
  z-index:4 !important;
}
.book-cover-inner strong,
.book-object.large .book-cover-inner strong,
.book-object.small .book-cover-inner strong,
.book-object.mini .book-cover-inner strong{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:12px auto 0 !important;
  padding:0 4px !important;
  text-align:center !important;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif !important;
  font-size:20px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
  color:#fff !important;
  text-shadow:0 1px 3px rgba(0,28,74,.55),0 3px 12px rgba(0,28,74,.28) !important;
  position:relative !important;
  z-index:4 !important;
}
.book-object.large .book-cover-inner strong{font-size:24px !important}
.book-object.small .book-cover-inner strong{font-size:17px !important}
.book-object.mini .book-cover-inner strong{font-size:15px !important}
.book-cover-inner > img:not(.real-cover-img),
.book-object.large .book-cover-inner > img:not(.real-cover-img),
.book-object.small .book-cover-inner > img:not(.real-cover-img),
.book-object.mini .book-cover-inner > img:not(.real-cover-img){
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:40px !important;
  width:58% !important;
  height:52% !important;
  max-width:none !important;
  transform:translateX(-50%) !important;
  object-fit:contain !important;
  opacity:1 !important;
  filter:drop-shadow(0 9px 11px rgba(5,28,62,.20)) !important;
  z-index:3 !important;
}
.book-object.large .book-cover-inner > img:not(.real-cover-img){width:62% !important;height:55% !important}
.book-object.small .book-cover-inner > img:not(.real-cover-img){width:57% !important;height:49% !important}
.book-object.mini .book-cover-inner > img:not(.real-cover-img){width:54% !important;height:46% !important}
.book-cover-inner .book-no{
  display:block !important;
  position:absolute !important;
  right:10px !important;
  bottom:9px !important;
  top:auto !important;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif !important;
  font-size:11px !important;
  font-weight:700 !important;
  color:rgba(255,255,255,.84) !important;
  z-index:4 !important;
}
/* 実際に公開済みの本は、実表紙を一切加工せず縮小表示 */
.book-object.has-real-cover .book-cover-inner{padding:0 !important;background:none !important}
.book-object.has-real-cover .real-cover-img{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  transform:none !important;
  opacity:1 !important;
  filter:none !important;
  z-index:2 !important;
}
.book-object.has-real-cover .series,
.book-object.has-real-cover strong,
.book-object.has-real-cover .book-no,
.book-object.has-real-cover .book-cover-inner > img:not(.real-cover-img){display:none !important}
.book-object:hover,
a.book-object:hover{
  transform:translateY(-5px) !important;
  box-shadow:
    1px 0 0 rgba(55,49,61,.18),
    9px 14px 23px rgba(55,43,52,.18) !important;
}
@media(max-width:620px){
  .book-cover-inner strong{font-size:17px !important}
  .book-object.large .book-cover-inner strong{font-size:21px !important}
  .book-object.small .book-cover-inner strong{font-size:15px !important}
  .book-object.mini .book-cover-inner strong{font-size:14px !important}
  .book-cover-inner .series{font-size:9px !important}
}
/* END BOOKSHELF COVER ALIGNMENT */


/* FINAL FIXES V2
   ユーザー指摘:
   - ヒーロー見出しの余白・切れ感を改善
   - 本棚表紙のタイトルを見やすく
   - 実表紙本の表示崩れを修正
   - 既読/案内エリアの画像サイズを整える
*/

/* 1) ヒーローの詰まり感を解消 */
.hero .inner{
  padding-top:78px !important;
  padding-bottom:68px !important;
}
.hero .eyebrow{
  margin-bottom:10px !important;
}
.hero h1{
  font-size:clamp(48px, 6.4vw, 76px) !important;
  line-height:1.14 !important;
  margin:0 0 18px !important;
  letter-spacing:.01em !important;
}
.hero p{
  margin-top:0 !important;
}
@media(max-width:620px){
  .hero .inner{padding-top:66px !important;padding-bottom:58px !important}
  .hero h1{font-size:clamp(38px, 12vw, 56px) !important;line-height:1.16 !important}
}

/* 2) 本棚の本の表紙をもっと現行絵本寄りに固定 */
.book-object,
.book-object.large,
.book-object.small,
.book-object.mini{
  aspect-ratio:409 / 507 !important;
  border:3px solid #fff !important;
  border-radius:10px 18px 18px 10px !important;
  overflow:hidden !important;
  box-shadow:
    0 0 0 1px rgba(105,95,103,.08),
    7px 9px 16px rgba(55,43,52,.13) !important;
}

.book-object .book-cover-inner,
.book-object.large .book-cover-inner,
.book-object.small .book-cover-inner,
.book-object.mini .book-cover-inner{
  position:absolute !important;
  inset:0 !important;
  padding:16px 18px 15px 18px !important;
  background:
    linear-gradient(rgba(0,22,68,.04),rgba(0,22,68,.04)),
    url("../img/covers/book_cover_base.png") center/cover no-repeat !important;
  border-radius:6px 14px 14px 6px !important;
}

.book-object:before{
  width:7px !important;
  background:linear-gradient(90deg,rgba(40,39,55,.18),rgba(255,255,255,.16) 48%,rgba(255,255,255,0) 100%) !important;
}
.book-object:after{
  display:none !important;
}

.book-cover-inner .series{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  margin:0 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:10px !important;
  line-height:1.2 !important;
  letter-spacing:.18em !important;
  font-weight:700 !important;
  color:rgba(255,231,240,.96) !important;
  text-shadow:0 1px 6px rgba(6,27,69,.34) !important;
  position:relative !important;
  z-index:4 !important;
}

.book-cover-inner strong{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:14px auto 0 !important;
  padding:0 8px !important;
  text-align:center !important;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif !important;
  font-size:20px !important;
  line-height:1.38 !important;
  font-weight:700 !important;
  color:#fff !important;
  text-shadow:
    0 1px 3px rgba(0,20,62,.56),
    0 3px 12px rgba(0,20,62,.28) !important;
  position:relative !important;
  z-index:4 !important;
}
.book-object.large .book-cover-inner strong{font-size:24px !important}
.book-object.small .book-cover-inner strong{font-size:17px !important}
.book-object.mini .book-cover-inner strong{font-size:15px !important}

.book-cover-inner > img:not(.real-cover-img){
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  bottom:22px !important;
  width:52% !important;
  height:46% !important;
  object-fit:contain !important;
  opacity:1 !important;
  filter:drop-shadow(0 8px 10px rgba(6,27,69,.17)) !important;
  z-index:3 !important;
}
.book-object.large .book-cover-inner > img:not(.real-cover-img){width:55% !important;height:49% !important}
.book-object.small .book-cover-inner > img:not(.real-cover-img),
.book-object.mini .book-cover-inner > img:not(.real-cover-img){width:50% !important;height:43% !important}

.book-cover-inner .book-no{
  display:block !important;
  position:absolute !important;
  right:11px !important;
  bottom:9px !important;
  top:auto !important;
  font-size:11px !important;
  font-weight:700 !important;
  color:rgba(255,255,255,.84) !important;
  z-index:4 !important;
}

/* 3) 実表紙の本は必ず全面表示 */
.book-object.has-real-cover{
  background:#0d65bd !important;
}
.book-object.has-real-cover .book-cover-inner{
  padding:0 !important;
  background:none !important;
}
.book-object.has-real-cover .real-cover-img{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  transform:none !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:0 !important;
  opacity:1 !important;
  filter:none !important;
  z-index:2 !important;
}
.book-object.has-real-cover .series,
.book-object.has-real-cover strong,
.book-object.has-real-cover .book-no,
.book-object.has-real-cover .book-cover-inner > img:not(.real-cover-img){
  display:none !important;
}

/* 4) 本の説明文字を少し読みやすく */
.book-meta{
  max-width:320px !important;
}
.book-meta b{
  font-size:17px !important;
  line-height:1.45 !important;
  color:#5a4344 !important;
}
.book-meta p{
  font-size:15px !important;
  line-height:1.8 !important;
  color:#7b6a74 !important;
}
.book-status{
  font-size:12px !important;
}

/* 5) 画像の大きさを揃える（元画像の背景はそのままでも極端な崩れを避ける） */
.char-tab img{
  width:72px !important;
  height:72px !important;
  object-fit:contain !important;
}
.shelf-arrival img{
  width:76px !important;
  height:76px !important;
  object-fit:contain !important;
}
.guide-card img{
  width:88px !important;
  height:88px !important;
  object-fit:contain !important;
}
.hiyo-peek img{
  width:60px !important;
  height:60px !important;
  object-fit:contain !important;
}
.cover-trio{
  left:20px !important;
  right:20px !important;
  bottom:26px !important;
  height:110px !important;
}
.cover-trio img{
  width:31% !important;
  max-height:95px !important;
  object-fit:contain !important;
}
.cover-whisper{
  bottom:10px !important;
}

/* 6) スマホ */
@media(max-width:680px){
  .book-meta b{font-size:16px !important}
  .book-meta p{font-size:14px !important;line-height:1.75 !important}
  .char-tab img{width:64px !important;height:64px !important}
  .shelf-arrival img{width:70px !important;height:70px !important}
  .guide-card img{width:78px !important;height:78px !important}
  .cover-trio{height:102px !important}
  .cover-trio img{max-height:86px !important}
}
/* END FINAL FIXES V2 */



/* A-option asset swap refinements */
.hero-art img{width:230px!important}
.char-tab img{width:74px!important;height:74px!important;object-fit:contain!important}
.shelf-arrival img{width:94px!important;height:94px!important;object-fit:contain!important}
.guide-card img{width:92px!important;height:92px!important;object-fit:contain!important}
.hiyo-peek img{width:58px!important;height:58px!important;object-fit:contain!important}

.book-object.first-story-cover .book-cover-inner{
  padding:16px 16px 14px 16px!important;
}
.book-object.first-story-cover .book-cover-inner strong{
  position:relative!important;z-index:4!important;max-width:none!important;
  text-align:center!important;font-size:21px!important;line-height:1.34!important;
  margin-top:16px!important;padding:0 10px!important;
}
.book-object.first-story-cover .cover-group-full{
  position:absolute;left:18px;right:18px;bottom:26px;height:55%;
  border-radius:14px;overflow:hidden;z-index:2;
  box-shadow:0 8px 16px rgba(19,23,64,.10);
}
.book-object.first-story-cover .cover-group-full img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;object-fit:cover!important;
  object-position:center 56%!important;transform:none!important;left:0!important;bottom:0!important;filter:none!important;
}
.book-object.first-story-cover .cover-whisper{
  position:absolute;left:50%;transform:translateX(-50%);bottom:10px;z-index:4;
  background:rgba(31,49,94,.76);color:#fff;padding:7px 12px;border-radius:999px;
  font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap;
}
.book-object.first-story-cover .series,
.book-object.first-story-cover .book-no,
.book-object.first-story-cover .book-cover-inner strong{z-index:5!important}

/* round icons on shelf covers */
.book-object .book-cover-inner > img:not(.real-cover-img){
  width:54%!important;height:46%!important;bottom:20px!important;
}
.book-object.small .book-cover-inner > img:not(.real-cover-img){
  width:52%!important;height:44%!important;bottom:18px!important;
}

@media(max-width:680px){
  .char-tab img{width:66px!important;height:66px!important}
  .shelf-arrival img{width:82px!important;height:82px!important}
  .guide-card img{width:80px!important;height:80px!important}
  .book-object.first-story-cover .cover-group-full{left:14px;right:14px;bottom:22px;height:53%}
  .book-object.first-story-cover .book-cover-inner strong{font-size:18px!important}
}


/* REAL COVER HARD FIX */
.book-entry.is-live,
.book-entry.is-live a.book-object.has-real-cover{
  display:block !important;
}
.book-entry.is-live a.book-object.has-real-cover{
  position:relative !important;
  width:100% !important;
  aspect-ratio:409 / 507 !important;
  height:auto !important;
  min-height:0 !important;
  background:#0d65bd !important;
  border:3px solid #fff !important;
  border-radius:10px 18px 18px 10px !important;
  overflow:hidden !important;
}
.book-entry.is-live a.book-object.has-real-cover::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:7px !important;
  background:linear-gradient(90deg,rgba(40,39,55,.18),rgba(255,255,255,.16) 48%,rgba(255,255,255,0) 100%) !important;
  z-index:5 !important;
  pointer-events:none !important;
}
.book-entry.is-live a.book-object.has-real-cover .book-cover-inner{
  position:absolute !important;
  inset:0 !important;
  padding:0 !important;
  margin:0 !important;
  width:100% !important;
  height:100% !important;
  background:none !important;
  border-radius:6px 14px 14px 6px !important;
  overflow:hidden !important;
}
.book-entry.is-live a.book-object.has-real-cover .book-cover-inner > *:not(.real-cover-img){
  display:none !important;
}
.book-entry.is-live a.book-object.has-real-cover .real-cover-img,
.book-object.has-real-cover .real-cover-img{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  left:0 !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  margin:0 !important;
  opacity:1 !important;
  filter:none !important;
  z-index:2 !important;
}
/* END REAL COVER HARD FIX */


/* ===== story.html reference refinements ===== */
body{font-family:var(--site-font-body)!important;word-break:keep-all;overflow-wrap:break-word}
.hero h1,.section-head h2,.featured-book-copy h3,.shelf-arrival h3,.shelf-heading h4,.layer-head h4,.forest-library .shelf-heading h4{font-family:var(--site-font-round)!important;letter-spacing:.02em}
.eyebrow,.section-head .eyebrow,.hero .eyebrow,.book-cover-inner .series{font-family:var(--site-font-en)!important;font-weight:600!important}
.hero p,.section-head p,.featured-book-copy p,.shelf-arrival p,.book-meta p,.bookshelf-ribbon,.hero-invite,.book-status{font-family:var(--site-font-body)!important}
.hero h1{font-size:clamp(46px,6vw,72px)!important;line-height:1.08!important}
.section-head h2{font-size:clamp(32px,4.2vw,48px)!important;color:#5b4842!important}
.featured-book-copy h3{color:#5b4740!important}
.book-object{overflow:hidden!important}
.book-cover-inner strong{font-family:var(--site-font-round)!important;color:#fff!important;line-height:1.42!important;letter-spacing:.03em;text-shadow:0 2px 10px rgba(16,18,46,.55),0 0 1px rgba(16,18,46,.45)!important}
.book-object.large strong{font-size:28px!important;max-width:86%!important}
.book-object.small strong{font-size:19px!important;max-width:86%!important}
.book-object.mini strong{font-size:15px!important;max-width:88%!important}
.book-meta b{font-family:var(--site-font-round)!important;font-size:17px!important;line-height:1.55!important;color:#5c4841!important}
.book-meta p{font-size:14px!important;line-height:1.85!important;color:#7f7278!important}
.book-meta .book-status{font-size:12px!important;padding:7px 10px!important}
.book-entry.is-live .book-meta b{color:#77526a!important}
.book-object.has-real-cover .book-cover-inner, a.book-object.has-real-cover .book-cover-inner{padding:0!important;background:none!important}
.real-cover-img{position:absolute!important;inset:0!important;left:0!important;right:0!important;top:0!important;bottom:0!important;width:100%!important;height:100%!important;display:block!important;transform:none!important;object-fit:cover!important;border-radius:0 20px 20px 0!important}
.featured-book-stage,.bookcase,.mini-bookcase,.forest-bookcase{box-shadow:0 12px 34px rgba(94,75,62,.08)!important}
.featured-book-stage{background:linear-gradient(145deg,#fffafb,#f9f5fa)!important}
.shelf-arrival .you-are-here{font-family:var(--site-font-en)!important;letter-spacing:.12em!important}
.bookshelf-ribbon{font-size:13px!important}
@media (max-width:720px){
  .hero h1{font-size:clamp(38px,12vw,54px)!important}
  .section-head h2{font-size:clamp(28px,8vw,36px)!important}
  .book-object.small strong{font-size:16px!important}
  .book-meta b{font-size:16px!important}
  .book-meta p{font-size:13px!important;line-height:1.75!important}
}


/* ==== COVER REFINEMENT: CURRENT BOOK LOOK ==== */
/* 表紙だけを現行絵本により近づける。構成は変えない。 */
.book-object,
.book-object.large,
.book-object.small,
.book-object.mini{
  aspect-ratio:409 / 507 !important;
  height:auto !important;
  border:3px solid #fff !important;
  border-radius:10px 18px 18px 10px !important;
  overflow:hidden !important;
  background:#0c66be !important;
  box-shadow:
    0 0 0 1px rgba(86,76,88,.08),
    8px 12px 22px rgba(74,55,66,.12) !important;
}
.book-object:hover,
a.book-object:hover{
  transform:translateY(-5px) !important;
  box-shadow:
    0 0 0 1px rgba(86,76,88,.08),
    12px 18px 28px rgba(74,55,66,.16) !important;
}
.book-object:before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:7px !important;
  background:linear-gradient(90deg,rgba(43,43,58,.22),rgba(255,255,255,.18) 48%,rgba(255,255,255,0) 100%) !important;
  z-index:5 !important;
  pointer-events:none !important;
}
.book-object:after{
  content:"" !important;
  position:absolute !important;
  right:-5px !important;
  top:10px !important;
  bottom:10px !important;
  width:6px !important;
  border-radius:0 4px 4px 0 !important;
  background:repeating-linear-gradient(180deg,#fffdf9 0 3px,#efe6de 3px 4px) !important;
  box-shadow:2px 1px 5px rgba(45,35,40,.12) !important;
  z-index:0 !important;
}
.book-cover-inner,
.book-object.large .book-cover-inner,
.book-object.small .book-cover-inner,
.book-object.mini .book-cover-inner{
  position:absolute !important;
  inset:0 !important;
  padding:15px 15px 14px 18px !important;
  background:
    linear-gradient(rgba(8,28,75,.05),rgba(8,28,75,.05)),
    url("../img/covers/book_cover_base.png") center/cover no-repeat !important;
  border-radius:6px 14px 14px 6px !important;
  overflow:hidden !important;
}
.book-cover-inner .series{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  margin:0 !important;
  font-family:var(--site-font-en), Georgia, serif !important;
  font-size:10px !important;
  line-height:1.2 !important;
  letter-spacing:.2em !important;
  font-weight:600 !important;
  color:rgba(255,255,255,.95) !important;
  text-shadow:0 1px 5px rgba(4,31,81,.32) !important;
  position:relative !important;
  z-index:4 !important;
}
.book-cover-inner strong{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  text-align:center !important;
  margin:12px auto 0 !important;
  padding:0 6px !important;
  font-family:var(--site-font-round), "Hiragino Maru Gothic ProN", sans-serif !important;
  font-weight:700 !important;
  line-height:1.38 !important;
  letter-spacing:.03em !important;
  color:#fff !important;
  text-shadow:0 2px 10px rgba(6,27,69,.44), 0 1px 3px rgba(6,27,69,.35) !important;
  position:relative !important;
  z-index:4 !important;
}
.book-object.large strong{font-size:25px !important}
.book-object.small strong{font-size:16px !important}
.book-object.mini strong{font-size:14px !important}
.book-cover-inner .book-no{
  display:block !important;
  position:absolute !important;
  right:10px !important;
  bottom:8px !important;
  top:auto !important;
  font-size:11px !important;
  font-weight:700 !important;
  line-height:1 !important;
  color:rgba(255,255,255,.86) !important;
  z-index:4 !important;
}
.book-cover-inner > img:not(.real-cover-img){
  position:absolute !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  right:auto !important;
  bottom:18px !important;
  width:48% !important;
  height:42% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  filter:drop-shadow(0 8px 12px rgba(8,26,62,.18)) !important;
  opacity:1 !important;
  z-index:3 !important;
}
.book-object.large .book-cover-inner > img:not(.real-cover-img){
  width:51% !important;
  height:45% !important;
  bottom:20px !important;
}
.book-object.small .book-cover-inner > img:not(.real-cover-img){
  width:46% !important;
  height:39% !important;
  bottom:16px !important;
}
.book-object.mini .book-cover-inner > img:not(.real-cover-img){
  width:44% !important;
  height:36% !important;
  bottom:15px !important;
}

/* 現在読める実表紙はそのまま全面表示 */
.book-object.has-real-cover,
a.book-object.has-real-cover{
  background:#0c66be !important;
}
.book-object.has-real-cover .book-cover-inner,
a.book-object.has-real-cover .book-cover-inner{
  padding:0 !important;
  background:none !important;
}
.book-object.has-real-cover .real-cover-img,
a.book-object.has-real-cover .real-cover-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  transform:none !important;
  z-index:2 !important;
}
.book-object.has-real-cover .series,
.book-object.has-real-cover strong,
.book-object.has-real-cover .book-no,
.book-object.has-real-cover .book-cover-inner > img:not(.real-cover-img){
  display:none !important;
}

/* 先頭の3匹表紙はキャラ絵ではなく夜空画像を主役に */
.book-object.first-story-cover .book-cover-inner{
  padding:14px 14px 14px 16px !important;
}
.book-object.first-story-cover .book-cover-inner strong{
  font-size:23px !important;
  margin-top:14px !important;
  padding:0 10px !important;
}
.book-object.first-story-cover .cover-group-full{
  position:absolute !important;
  left:15px !important;
  right:15px !important;
  bottom:20px !important;
  height:58% !important;
  border-radius:14px !important;
  overflow:hidden !important;
  z-index:2 !important;
  box-shadow:0 10px 18px rgba(13,22,59,.12) !important;
}
.book-object.first-story-cover .cover-group-full img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 58% !important;
  transform:none !important;
  filter:none !important;
}
.book-object.first-story-cover .cover-whisper{
  position:absolute !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  bottom:9px !important;
  padding:6px 11px !important;
  border-radius:999px !important;
  background:rgba(22,42,84,.76) !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  z-index:4 !important;
}

@media (max-width:720px){
  .book-object.large strong{font-size:22px !important}
  .book-object.small strong{font-size:15px !important}
  .book-object.first-story-cover .book-cover-inner strong{font-size:21px !important}
  .book-object.first-story-cover .cover-group-full{left:12px !important;right:12px !important;height:56% !important}
}
/* ==== END COVER REFINEMENT ==== */



/* cover title line break adjustment */
.book-cover-inner strong br{content:""}
.book-cover-inner strong{display:block!important;white-space:normal!important}
/* end cover title line break adjustment */


/* COVER UNIFICATION FINAL */
/* Link/non-link books share exactly the same visual rules. Only clickability differs. */
.book-object,
a.book-object,
div.book-object{
  display:block !important;
  position:relative !important;
  aspect-ratio:409 / 507 !important;
  height:auto !important;
  background:#0c66be !important;
  border:3px solid #fff !important;
  border-radius:10px 18px 18px 10px !important;
  overflow:hidden !important;
  box-shadow:0 0 0 1px rgba(86,76,88,.08),8px 12px 22px rgba(74,55,66,.12) !important;
  color:#fff !important;
  text-decoration:none !important;
}
.book-object .book-cover-inner,
a.book-object .book-cover-inner,
div.book-object .book-cover-inner{
  position:absolute !important;
  inset:0 !important;
  padding:15px 15px 14px 18px !important;
  background:linear-gradient(rgba(8,28,75,.05),rgba(8,28,75,.05)),url("../img/covers/book_cover_base.png") center/cover no-repeat !important;
  border-radius:6px 14px 14px 6px !important;
  overflow:hidden !important;
}
.book-cover-inner .series{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  margin:0 !important;
  font-family:var(--site-font-en),Georgia,serif !important;
  font-size:10px !important;
  line-height:1.2 !important;
  letter-spacing:.2em !important;
  font-weight:600 !important;
  color:rgba(255,255,255,.96) !important;
  text-shadow:0 1px 5px rgba(4,31,81,.32) !important;
  position:relative !important;
  z-index:4 !important;
}
.book-cover-inner strong{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  text-align:center !important;
  margin:14px auto 0 !important;
  padding:0 4px !important;
  font-family:var(--site-font-round),"Hiragino Maru Gothic ProN",sans-serif !important;
  font-weight:700 !important;
  line-height:1.42 !important;
  letter-spacing:.03em !important;
  color:#fff !important;
  text-shadow:0 2px 10px rgba(6,27,69,.44),0 1px 3px rgba(6,27,69,.35) !important;
  position:relative !important;
  z-index:4 !important;
  white-space:normal !important;
}
.book-cover-inner strong br{display:block !important}
.book-object.small .book-cover-inner strong{font-size:20px !important;line-height:1.42 !important;margin-top:15px !important}
.book-object.mini .book-cover-inner strong{font-size:16px !important;line-height:1.4 !important}
.book-object.large .book-cover-inner strong{font-size:26px !important;line-height:1.38 !important}
.book-cover-inner > img:not(.real-cover-img),
.book-cover-inner > img{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:18px !important;
  width:48% !important;
  height:41% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  transform:translateX(-50%) !important;
  filter:drop-shadow(0 8px 12px rgba(8,26,62,.18)) !important;
  opacity:1 !important;
  z-index:3 !important;
}
.book-object.small .book-cover-inner > img{width:46% !important;height:39% !important;bottom:16px !important}
.book-object.mini .book-cover-inner > img{width:44% !important;height:36% !important;bottom:15px !important}
.book-object.large .book-cover-inner > img{width:51% !important;height:45% !important;bottom:20px !important}
.book-cover-inner .book-no{
  position:absolute !important;
  right:10px !important;
  bottom:8px !important;
  top:auto !important;
  display:block !important;
  font-size:11px !important;
  font-weight:700 !important;
  color:rgba(255,255,255,.86) !important;
  z-index:4 !important;
}
/* neutralize old special live-cover rendering */
.book-object.has-real-cover,
a.book-object.has-real-cover,
.book-object.has-real-cover .book-cover-inner,
a.book-object.has-real-cover .book-cover-inner{background:initial !important}
.book-object.has-real-cover .real-cover-img,
a.book-object.has-real-cover .real-cover-img{display:none !important}
.book-entry.is-live .book-meta b{color:#5c4841 !important}
@media(max-width:720px){
  .book-object.small .book-cover-inner strong{font-size:18px !important}
  .book-object.mini .book-cover-inner strong{font-size:15px !important}
  .book-object.large .book-cover-inner strong{font-size:23px !important}
}
/* END COVER UNIFICATION FINAL */


/* CHARACTER SHELF GROUPING */
.character-picker{margin-bottom:10px!important}
.shelf-auto-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  margin:0 auto 18px;
  padding:7px 13px;
  border-radius:999px;
  background:#fff8fb;
  border:1px solid #f0e2e8;
  color:#8c737f;
  font-size:12px;
  line-height:1.45;
  font-family:var(--site-font-body,"Zen Kaku Gothic New",sans-serif);
  transition:.25s ease;
}
.shelf-auto-note:before{content:"↻";color:#ef7fa2;font-weight:700}
.shelf-auto-note.is-stopped{background:#f7f4f6;color:#8a7f85}
.shelf-auto-note.is-stopped:before{content:"●";font-size:8px;color:currentColor}

.char-tab{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease!important;
}
.char-tab.active{
  transform:translateY(-3px)!important;
  box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 16%,transparent)!important;
}
.char-tab.active:after{content:"表示中"!important;color:var(--accent)!important;font-weight:900!important}

.char-panel{
  display:none;
  position:relative;
  padding:28px 28px 34px;
  border-radius:34px;
  border:2px solid color-mix(in srgb,var(--accent) 18%,#eee5e8);
  background:
    radial-gradient(circle at 94% 6%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 24%),
    linear-gradient(180deg,color-mix(in srgb,var(--pale) 78%,#fff) 0%,#fff 36%,color-mix(in srgb,var(--pale) 45%,#fff) 100%);
  box-shadow:0 16px 38px rgba(72,52,64,.07);
  overflow:hidden;
}
.char-panel.active{
  display:block;
  animation:shelfPanelIn .42s ease both;
}
.char-panel:before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:7px;
  background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 32%,#fff),transparent 86%);
  opacity:.52;
}
@keyframes shelfPanelIn{
  from{opacity:.15;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

/* Inside one selected shelf, reduce the feeling of separate white cards. */
.char-panel .shelf-arrival{
  margin-top:0!important;
  background:color-mix(in srgb,var(--pale) 64%,#fff)!important;
  border-color:color-mix(in srgb,var(--accent) 16%,#eadfe5)!important;
  box-shadow:none!important;
}
.char-panel .shelf-heading{margin-top:30px!important}
.char-panel .bookcase,
.char-panel .mini-bookcase{
  border-color:color-mix(in srgb,var(--accent) 13%,#eadfd8)!important;
  box-shadow:0 8px 20px rgba(74,55,65,.045)!important;
}
.char-panel .bookcase{background:rgba(255,255,255,.82)!important}
.char-panel .mini-bookcase{background:color-mix(in srgb,var(--pale) 48%,#fff)!important}
.char-panel .next-layer{margin-bottom:0!important}

@media(max-width:720px){
  .shelf-auto-note{font-size:11px;margin-bottom:14px;padding:6px 10px}
  .char-panel{padding:18px 12px 24px;border-radius:26px}
  .char-panel .shelf-arrival{border-radius:20px!important}
  .char-tab.active{transform:none!important}
}
/* END CHARACTER SHELF GROUPING */



/* === BOOK COVER CLEAN + TITLE ALIGN === */
.book-object:after{display:none!important;content:none!important}
.book-object:not(.first-story-cover) .book-cover-inner .series{
  position:absolute!important;
  top:14px!important;
  left:12px!important;
  right:12px!important;
  width:auto!important;
  margin:0!important;
  text-align:center!important;
}
.book-object:not(.first-story-cover) .book-cover-inner strong{
  position:absolute!important;
  top:43px!important;
  left:12px!important;
  right:12px!important;
  width:auto!important;
  max-width:none!important;
  min-height:58px!important;
  margin:0!important;
  padding:0 4px!important;
  text-align:center!important;
  font-size:20px!important;
  line-height:1.45!important;
  font-weight:700!important;
}
.book-object.small:not(.first-story-cover) .book-cover-inner strong,
.book-object.mini:not(.first-story-cover) .book-cover-inner strong{
  font-size:18px!important;
  top:41px!important;
}
.book-meta .read-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:11px!important;
  padding:9px 15px!important;
  border-radius:999px!important;
  background:#ef7fa2!important;
  color:#fff!important;
  font-family:var(--site-font-round)!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:700!important;
  text-decoration:none!important;
  box-shadow:0 6px 14px rgba(239,127,162,.18)!important;
}
.book-meta .read-link:hover{transform:translateY(-1px);box-shadow:0 8px 17px rgba(239,127,162,.24)!important}
@media(max-width:720px){
  .book-object:not(.first-story-cover) .book-cover-inner strong{font-size:18px!important;top:40px!important}
  .book-object.small:not(.first-story-cover) .book-cover-inner strong,.book-object.mini:not(.first-story-cover) .book-cover-inner strong{font-size:16px!important}
  .book-meta .read-link{font-size:14px!important;padding:10px 16px!important}
}
/* === END BOOK COVER CLEAN + TITLE ALIGN === */


/* CHARACTER ENDLESS STREAM */
.character-stream{
  position:relative;
  width:100%;
  margin:0 0 26px;
  overflow:hidden;
  border-top:2px solid rgba(239,127,162,.42);
  border-bottom:2px solid rgba(239,127,162,.24);
  background:
    linear-gradient(90deg,#fff8fb 0%,#fffdf9 20%,#fffdf9 80%,#fff8fb 100%);
  border-radius:0 0 24px 24px;
  min-height:126px;
  display:flex;
  align-items:center;
  isolation:isolate;
}
.character-stream::before,
.character-stream::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width:72px;
  z-index:4;
  pointer-events:none;
}
.character-stream::before{
  left:0;
  background:linear-gradient(90deg,#fff9fb 0%,rgba(255,249,251,.92) 40%,rgba(255,249,251,0) 100%);
}
.character-stream::after{
  right:0;
  background:linear-gradient(270deg,#fff9fb 0%,rgba(255,249,251,.92) 40%,rgba(255,249,251,0) 100%);
}
.character-stream__track{
  display:flex;
  align-items:center;
  width:max-content;
  gap:38px;
  padding:15px 18px 13px;
  animation:momonchyCharacterFlow 28s linear infinite;
  will-change:transform;
}
.character-stream__item{
  width:116px;
  height:94px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.character-stream__item img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 7px 10px rgba(78,56,68,.08));
}
@keyframes momonchyCharacterFlow{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 19px))}
}
@media(max-width:720px){
  .character-stream{
    min-height:104px;
    margin-bottom:20px;
  }
  .character-stream__track{
    gap:26px;
    padding:12px 14px 10px;
    animation-duration:22s;
  }
  .character-stream__item{
    width:88px;
    height:76px;
  }
  .character-stream::before,
  .character-stream::after{
    width:42px;
  }
}
@media(prefers-reduced-motion:reduce){
  .character-stream__track{animation:none}
}
/* END CHARACTER ENDLESS STREAM */


/* HERO OFFICIAL SKY + TRIVIA AUTO UI */

/* 公式トップに準じた濃紺〜紫の星空 */
.hero{
  position:relative!important;
  overflow:hidden!important;
  background:
    linear-gradient(90deg,#1b1d3b 0%,#262449 55%,#3a315d 100%)!important;
  color:#fff!important;
}
.hero:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:
    radial-gradient(circle at 6% 16%,rgba(255,255,255,.92) 0 1px,transparent 1.7px),
    radial-gradient(circle at 14% 64%,rgba(255,255,255,.7) 0 1px,transparent 1.5px),
    radial-gradient(circle at 24% 26%,rgba(255,244,190,.9) 0 1.3px,transparent 2px),
    radial-gradient(circle at 37% 12%,rgba(255,255,255,.8) 0 1px,transparent 1.6px),
    radial-gradient(circle at 48% 72%,rgba(255,255,255,.65) 0 1px,transparent 1.5px),
    radial-gradient(circle at 61% 25%,rgba(255,255,255,.8) 0 1px,transparent 1.5px),
    radial-gradient(circle at 73% 58%,rgba(255,244,190,.85) 0 1.2px,transparent 2px),
    radial-gradient(circle at 85% 18%,rgba(255,255,255,.78) 0 1px,transparent 1.5px),
    radial-gradient(circle at 94% 69%,rgba(255,255,255,.72) 0 1px,transparent 1.5px)!important;
  background-size:310px 225px,270px 210px,390px 300px,340px 260px,280px 230px,360px 270px,420px 320px,300px 245px,380px 285px!important;
  opacity:.62!important;
  pointer-events:none!important;
  z-index:0!important;
}
.hero .inner{position:relative!important;z-index:2!important}

/* JSで時々生成される流れ星 */
.hero-shooting-star{
  position:absolute;
  z-index:1;
  width:150px;
  height:2px;
  border-radius:999px;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.22) 28%,rgba(255,248,205,.9) 78%,#fff 100%);
  filter:drop-shadow(0 0 5px rgba(255,246,192,.75));
  transform:rotate(-18deg);
  animation:heroShoot 1.22s ease-out forwards;
}
.hero-shooting-star:after{
  content:"";
  position:absolute;
  right:-2px;
  top:-2px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#fff9d6;
  box-shadow:0 0 10px rgba(255,250,215,.95);
}
@keyframes heroShoot{
  0%{opacity:0;transform:translate3d(0,0,0) rotate(-18deg)}
  10%{opacity:1}
  75%{opacity:.95}
  100%{opacity:0;transform:translate3d(430px,150px,0) rotate(-18deg)}
}

/* 豆知識：説明は短く、流れる帯の下でジャンルを選ぶ */
#trivia .section-head{
  margin-bottom:24px!important;
}
#trivia .section-head h2{
  font-size:clamp(32px,4.4vw,48px)!important;
}
#trivia .section-head p{
  max-width:650px!important;
  margin:10px auto 0!important;
  font-size:16px!important;
  line-height:1.85!important;
  color:#7e7078!important;
}

#trivia .trivia-shell{
  overflow:hidden!important;
  border-radius:28px!important;
}

/* 流れる画像を常時表示 */
#trivia .character-stream{
  margin:0!important;
  border-top:0!important;
  border-bottom:1px solid #f0e5ea!important;
  border-radius:0!important;
  background:linear-gradient(90deg,#fff6fa,#fffdf9 20%,#fffdf9 80%,#fff6fa)!important;
}

/* ひよちぃのジャンル切替説明 */
.trivia-switch-guide{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:18px 18px 10px;
  background:#fff;
}
.trivia-switch-guide img{
  width:66px;
  height:66px;
  object-fit:contain;
  flex:0 0 auto;
  filter:drop-shadow(0 7px 9px rgba(73,52,61,.08));
}
.trivia-switch-guide__copy{
  position:relative;
  max-width:520px;
  padding:11px 16px 12px;
  border:1px solid #eaddec;
  border-radius:18px;
  background:#f8f1fb;
  color:#705c74;
}
.trivia-switch-guide__copy:before{
  content:"";
  position:absolute;
  left:-7px;
  top:24px;
  width:12px;
  height:12px;
  transform:rotate(45deg);
  background:#f8f1fb;
  border-left:1px solid #eaddec;
  border-bottom:1px solid #eaddec;
}
.trivia-switch-guide__copy small{
  display:block;
  margin-bottom:3px;
  font-family:var(--site-font-en),Georgia,serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  color:#d4819f;
}
.trivia-switch-guide__copy p{
  margin:0;
  font-size:14px;
  line-height:1.65;
  font-weight:600;
}

/* タブは流れる画像より下 */
#trivia .trivia-tabs{
  order:initial!important;
  justify-content:center!important;
  gap:9px!important;
  padding:12px 14px 17px!important;
  border-bottom:1px solid #eee3e8!important;
  background:#fff!important;
}
#trivia .trivia-tab{
  position:relative;
  padding:11px 17px!important;
  font-size:13px!important;
  border-radius:999px!important;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease!important;
}
#trivia .trivia-tab.active{
  transform:translateY(-2px);
  background:#f8e6ee!important;
  border-color:#efb4c8!important;
  color:#985c75!important;
  box-shadow:0 7px 16px rgba(209,132,161,.12)!important;
}
#trivia .trivia-tab.is-auto-active:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;
  width:5px;
  height:5px;
  border-radius:50%;
  transform:translateX(-50%);
  background:#ef7fa2;
  box-shadow:0 0 0 4px rgba(239,127,162,.12);
}

@media(max-width:720px){
  #trivia .section-head p{
    font-size:14px!important;
    line-height:1.75!important;
  }
  .trivia-switch-guide{
    gap:8px;
    padding:14px 12px 8px;
  }
  .trivia-switch-guide img{
    width:54px;
    height:54px;
  }
  .trivia-switch-guide__copy{
    padding:9px 12px 10px;
  }
  .trivia-switch-guide__copy p{
    font-size:12px;
    line-height:1.55;
  }
  #trivia .trivia-tabs{
    justify-content:flex-start!important;
    padding:10px 12px 14px!important;
  }
  #trivia .trivia-tab{
    font-size:12px!important;
    padding:10px 14px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-shooting-star{display:none!important}
}
/* END HERO OFFICIAL SKY + TRIVIA AUTO UI */


/* KNOWLEDGE / SECRETS / HIYOCHY REPORT GROUPING */

/* 豆知識：ひとつの知識エリアとしてまとまりを持たせる */
#trivia{
  position:relative;
  padding:72px 0 76px!important;
  margin-bottom:0!important;
  background:
    radial-gradient(circle at 9% 12%,rgba(255,220,231,.22),transparent 28%),
    radial-gradient(circle at 92% 84%,rgba(218,235,249,.22),transparent 30%),
    #fffdfa;
  border-top:1px solid #f0e5e9;
  border-bottom:1px solid #eee3e8;
}
#trivia::before{
  content:"";
  position:absolute;
  left:50%;
  top:22px;
  width:54px;
  height:4px;
  border-radius:999px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,#f4b7ca,#f6d5df);
}
#trivia .trivia-shell{
  box-shadow:0 18px 42px rgba(93,70,82,.07)!important;
  border:1px solid #efe3e8!important;
  background:#fff!important;
}

/* 秘密：豆知識とは別物として、少し静かで物語的に */
.secret-story-section{
  position:relative;
  margin:0!important;
  padding:78px 18px 82px!important;
  background:
    linear-gradient(180deg,#faf7fb 0%,#f5f0f7 100%)!important;
  border-top:1px solid #e9dfea!important;
  border-bottom:1px solid #e9dfea!important;
}
.secret-story-section .section-head{
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.secret-story-section .section-head .eyebrow{
  color:#9c7ca1!important;
}
.secret-story-section .section-head h2{
  color:#574957!important;
}
.secret-story-section .section-head p{
  max-width:680px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  color:#7d707b!important;
  line-height:1.9!important;
}

/* ひよちぃレポート：独立した報告エリア */
.hiyochy-report-section{
  position:relative!important;
  margin:0!important;
  padding:70px 18px!important;
  background:#fffdf9!important;
}
.hiyochy-report-section .report-cta,
.hiyochy-report-section{
  --report-bg:#39345f;
}
.hiyochy-report-section .report-cta{
  max-width:1080px!important;
  margin:0 auto!important;
  padding:30px 32px!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,#343159 0%,#49416d 100%)!important;
  box-shadow:0 18px 36px rgba(47,43,82,.12)!important;
}
.hiyochy-report-section .report-cta small{
  color:#f0b4c8!important;
}
.hiyochy-report-section .report-cta h3{
  font-family:var(--site-font-round)!important;
  font-size:30px!important;
  color:#fff!important;
}
.hiyochy-report-section .report-cta p{
  font-size:15px!important;
  line-height:1.85!important;
  color:#ece8f4!important;
}
.hiyochy-report-section .report-cta a{
  font-size:14px!important;
  padding:12px 18px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#443b61!important;
}

@media(max-width:720px){
  #trivia{padding:54px 0 58px!important}
  .secret-story-section{padding:58px 14px 62px!important}
  .hiyochy-report-section{padding:52px 14px!important}
  .hiyochy-report-section .report-cta{
    padding:24px 20px!important;
    border-radius:22px!important;
  }
  .hiyochy-report-section .report-cta h3{font-size:25px!important}
  .hiyochy-report-section .report-cta p{font-size:13px!important}
}
/* END KNOWLEDGE / SECRETS / HIYOCHY REPORT GROUPING */


/* COVER SWAP READY REFINEMENT */
/* 表紙タイトルを少し大きく */
.book-cover-inner strong{font-size:22px !important; line-height:1.34 !important; letter-spacing:.03em !important;}
.book-object.large .book-cover-inner strong{font-size:31px !important; line-height:1.3 !important;}
.book-object.small .book-cover-inner strong{font-size:19px !important; line-height:1.38 !important;}
.book-object.mini .book-cover-inner strong{font-size:16px !important; line-height:1.35 !important;}

/* 1枚絵に差し替えるときの準備: data-cover-mode="static" と real-cover-img を入れれば全面表紙表示 */
.book-object.cover-swap-ready{position:relative;}
.book-object.cover-swap-ready[data-cover-mode="static"] .series,
.book-object.cover-swap-ready[data-cover-mode="static"] .book-no,
.book-object.cover-swap-ready[data-cover-mode="static"] strong,
.book-object.cover-swap-ready[data-cover-mode="static"] > .book-cover-inner > img:not(.real-cover-img),
.book-object.cover-swap-ready[data-cover-mode="static"] .cover-group-full,
.book-object.cover-swap-ready[data-cover-mode="static"] .cover-whisper{display:none !important;}
.book-object.cover-swap-ready .book-cover-inner{position:relative;overflow:hidden;}
.book-object.cover-swap-ready .real-cover-img{display:none;}
.book-object.cover-swap-ready[data-cover-mode="static"] .real-cover-img{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:inherit !important;
}

/* 将来の1枚絵化ではキャラを今より1.5倍想定にしやすいよう、余白バランスだけ先に安定化 */
.book-object.cover-swap-ready .book-cover-inner{padding-top:16px !important;}
.book-object.cover-swap-ready .series{top:14px !important;}
.book-object.cover-swap-ready .book-no{right:12px !important; bottom:10px !important;}

/* 最初の表紙は森だけを見せる */
.book-object.first-story-cover .cover-group-full{
  left:14px !important;
  right:14px !important;
  bottom:14px !important;
  top:86px !important;
  height:auto !important;
  border-radius:16px !important;
  box-shadow:none !important;
}
.book-object.first-story-cover .cover-group-full img{
  object-position:center center !important;
}
/* END COVER SWAP READY REFINEMENT */


/* === FINAL PATCH 2026-08-30 === */
#first .scroll-cue-triangle{
  position:relative;
  width:0;
  height:0;
  margin:16px auto 0;
  border-left:13px solid transparent;
  border-right:13px solid transparent;
  border-top:18px solid #f2b6c9;
  filter:drop-shadow(0 4px 8px rgba(242,182,201,.28));
  animation:momonchyScrollCue 1.55s ease-in-out infinite;
}
#first .scroll-cue-triangle::after{
  content:"";
  position:absolute;
  left:-5px;
  top:-18px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,.7);
  opacity:.55;
}
@keyframes momonchyScrollCue{
  0%,100%{transform:translateY(0);opacity:.72}
  50%{transform:translateY(8px);opacity:1}
}

#first .section-cute-mark{display:none!important}
#first .featured-book-wrap{min-height:360px!important}
#first .book-object.large.first-story-cover{width:266px!important;height:366px!important;box-shadow:0 16px 34px rgba(59,43,52,.12)!important}
#first .book-object.first-story-cover .book-cover-inner{padding:18px 18px 18px 18px!important}
#first .book-object.first-story-cover .series{top:15px!important;text-align:center!important;font-size:11px!important;letter-spacing:.18em!important}
#first .book-object.first-story-cover .book-no{right:14px!important;bottom:11px!important}
#first .book-object.first-story-cover .first-story-title,
#first .book-object.first-story-cover .book-cover-inner strong{
  max-width:88%!important;
  margin:56px auto 0!important;
  text-align:center!important;
  font-size:31px!important;
  line-height:1.22!important;
  text-wrap:balance;
  letter-spacing:.02em!important;
}
#first .book-object.first-story-cover .cover-group-full{
  left:12px!important;
  right:12px!important;
  top:108px!important;
  bottom:10px!important;
  height:auto!important;
  border-radius:20px!important;
}
#first .book-object.first-story-cover .cover-group-full img{
  width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;
}

/* book covers: enlarge character art and make titles easier to read */
.book-object:not(.first-story-cover){overflow:visible!important}
.book-object:not(.first-story-cover)::after{display:none!important;content:none!important}
.book-object:not(.first-story-cover){box-shadow:0 11px 26px rgba(72,56,67,.11)!important}
.book-object .book-cover-inner{overflow:hidden!important}
.book-object:not(.first-story-cover) .book-cover-inner strong{
  max-width:86%!important;
  margin-top:24px!important;
  font-size:20px!important;
  line-height:1.28!important;
  text-wrap:balance;
}
.book-object.small:not(.first-story-cover) .book-cover-inner strong{font-size:18px!important}
.book-object.mini:not(.first-story-cover) .book-cover-inner strong{font-size:16px!important}
.book-object.large:not(.first-story-cover) .book-cover-inner > img:not(.real-cover-img){
  width:74%!important;height:64%!important;bottom:10px!important;
}
.book-object.small:not(.first-story-cover) .book-cover-inner > img:not(.real-cover-img){
  width:64%!important;height:57%!important;bottom:10px!important;
}
.book-object.mini:not(.first-story-cover) .book-cover-inner > img:not(.real-cover-img){
  width:60%!important;height:52%!important;bottom:8px!important;
}

#characters .section-head p{max-width:760px!important}
#characters .shelf-auto-note{display:none!important}
#characters .shelf-arrival p{max-width:690px!important}
#characters .bookshelf-ribbon{font-weight:700!important}
#characters .layer-head h4{font-size:25px!important;line-height:1.35!important}
#characters .layer-head span{font-size:14px!important;line-height:1.7!important}

/* hiyochy cutout */
#world .guide-card img,
#trivia .trivia-switch-guide img{
  object-fit:contain!important;
  background:transparent!important;
}

/* trivia spacing and labels */
#trivia .trivia-shell{
  padding:0 0 22px!important;
  border-radius:34px!important;
  overflow:hidden!important;
}
#trivia .trivia-body{padding:20px 20px 6px!important}
#trivia .trivia-group{padding:2px 2px 8px!important}
#trivia .trivia-intro{
  margin:4px 8px 18px!important;
  padding:0 8px!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  text-align:left!important;
}
#trivia .trivia-intro b{font-size:22px!important;line-height:1.4!important}
#trivia .trivia-intro span{font-size:14px!important;line-height:1.75!important}
#trivia .trivia-grid{gap:14px!important}
#trivia details.trivia{padding:0 16px!important;border-radius:22px!important}
#trivia details.trivia summary{padding:17px 0!important;font-size:14px!important;line-height:1.7!important}
#trivia details.trivia p{font-size:13px!important;line-height:1.9!important;margin:0 0 16px!important}
#trivia .voice-row{gap:12px!important;margin-bottom:10px!important}
#trivia .voice-card{padding:20px!important}
#trivia .voice-card p{font-size:12px!important;line-height:1.8!important}

/* replace the old hidden details/cta with a visible pastel-pink secrets card */
#trivia .deep-gate,
#trivia .report-cta{display:none!important}
#trivia .secret-showcase{
  margin:24px 0 0!important;
  padding:24px 22px 24px!important;
  border-radius:32px!important;
  background:linear-gradient(180deg,#fff4f8 0%,#ffeef4 100%)!important;
  border:1px solid #f2d7e2!important;
  box-shadow:0 16px 34px rgba(95,70,82,.07)!important;
}
#trivia .secret-showcase__copy{text-align:center!important;max-width:760px!important;margin:0 auto 18px!important}
#trivia .secret-showcase__copy small{
  display:block!important;
  margin-bottom:7px!important;
  font-family:var(--site-font-en),Georgia,serif!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.18em!important;
  color:#d988a6!important;
}
#trivia .secret-showcase__copy h3{
  margin:0 0 8px!important;
  font-size:31px!important;
  line-height:1.35!important;
  color:#684b5a!important;
}
#trivia .secret-showcase__copy p{
  margin:0 auto!important;
  max-width:660px!important;
  font-size:15px!important;
  line-height:1.85!important;
  color:#7a6871!important;
}
#trivia .secret-showcase .secret-grid{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  padding:10px 0 0!important;
  background:transparent!important;
  border:0!important;
}
#trivia .secret-showcase .secret-grid::after{display:none!important}
#trivia .secret-showcase .secret-card{
  display:grid!important;
  justify-items:center!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}

/* top hero shooting star uses a simpler path */
.hero-shooting-star{
  width:132px!important;
  height:3px!important;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.15) 24%,rgba(255,244,196,.86) 74%,#fff 100%)!important;
  filter:drop-shadow(0 0 8px rgba(255,246,192,.75))!important;
  transform:rotate(148deg)!important;
  animation:heroShootNatural 1.55s cubic-bezier(.18,.62,.24,.99) forwards!important;
}
.hero-shooting-star::after{
  right:-1px!important;top:-2px!important;width:7px!important;height:7px!important;
}
@keyframes heroShootNatural{
  0%{opacity:0;transform:translate3d(0,0,0) rotate(148deg)}
  10%{opacity:1}
  80%{opacity:.96}
  100%{opacity:0;transform:translate3d(-360px,190px,0) rotate(148deg)}
}

@media(max-width:720px){
  #first .book-object.large.first-story-cover{width:226px!important;height:312px!important}
  #first .book-object.first-story-cover .first-story-title,
  #first .book-object.first-story-cover .book-cover-inner strong{font-size:25px!important;margin-top:44px!important}
  #first .book-object.first-story-cover .cover-group-full{top:94px!important}
  #trivia .trivia-body{padding:16px 14px 4px!important}
  #trivia .trivia-intro{margin:4px 4px 16px!important;padding:0 2px!important}
  #trivia .trivia-intro b{font-size:19px!important}
  #trivia .trivia-intro span{font-size:13px!important}
  #trivia .secret-showcase{padding:20px 16px 20px!important}
  #trivia .secret-showcase__copy h3{font-size:25px!important}
  #trivia .secret-showcase__copy p{font-size:14px!important}
  #trivia .secret-showcase .secret-grid{grid-template-columns:1fr!important;gap:14px!important}
}
/* === END FINAL PATCH 2026-08-30 === */


/* ==== 2026-08-30 follow-up fixes ==== */
/* top hero: make shooting stars clearly visible and closer to official top */
.hero{position:relative!important;overflow:hidden!important;isolation:isolate!important}
.hero-cute-deco{position:absolute!important;inset:0!important;pointer-events:none!important;z-index:0!important}
.hero .inner{position:relative!important;z-index:2!important}
.hero-shooting-star{
  position:absolute!important;
  z-index:3!important;
  width:clamp(140px,13vw,220px)!important;
  height:3px!important;
  border-radius:999px!important;
  pointer-events:none!important;
  opacity:0!important;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.18) 24%,rgba(255,244,196,.82) 78%,#fff 100%)!important;
  filter:drop-shadow(0 0 9px rgba(255,246,192,.84))!important;
  transform:rotate(var(--hero-shoot-rot,-18deg))!important;
  animation:heroShootOfficial var(--hero-shoot-duration,1.55s) cubic-bezier(.2,.6,.2,1) forwards!important;
}
.hero-shooting-star::after{
  content:""!important;
  position:absolute!important;
  right:-2px!important;
  top:-2px!important;
  width:8px!important;
  height:8px!important;
  border-radius:50%!important;
  background:#fff8cf!important;
  box-shadow:0 0 12px rgba(255,248,208,.96)!important;
}
@keyframes heroShootOfficial{
  0%{opacity:0;transform:translate3d(0,0,0) rotate(var(--hero-shoot-rot,-18deg))}
  10%{opacity:1}
  75%{opacity:.96}
  100%{opacity:0;transform:translate3d(var(--hero-shoot-x,520px),var(--hero-shoot-y,220px),0) rotate(var(--hero-shoot-rot,-18deg))}
}

/* cover books: make proportions closer to an actual printed picture book */
.book-object.large,
.book-object.small,
.book-object.mini,
.book-object.first-story-cover{
  aspect-ratio: 210 / 257 !important;
}
.book-object.large{width:272px!important;height:auto!important}
.book-object.small{width:198px!important;height:auto!important}
.book-object.mini{width:164px!important;height:auto!important}
.book-object.first-story-cover.large{width:296px!important;height:auto!important}
@media(max-width:620px){
  .book-object.large{width:244px!important}
  .book-object.small{width:178px!important}
  .book-object.mini{width:150px!important}
  .book-object.first-story-cover.large{width:258px!important}
}


/* ==== 2026-08-30 title unification fix ==== */
/* unify cover-title placement between upper and lower bookshelf rows */
.bookcase .book-object .book-cover-inner .series,
.mini-bookcase .book-object .book-cover-inner .series{
  position:absolute!important;
  top:14px!important;
  left:16px!important;
  right:16px!important;
  text-align:center!important;
}
.bookcase .book-object .book-cover-inner strong,
.mini-bookcase .book-object .book-cover-inner strong{
  position:absolute!important;
  top:42px!important;
  left:16px!important;
  right:16px!important;
  margin:0!important;
  max-width:none!important;
  width:auto!important;
  text-align:center!important;
  line-height:1.34!important;
  letter-spacing:.02em!important;
  text-wrap:balance!important;
}
.bookcase .book-object.large .book-cover-inner strong{
  font-size:25px!important;
}
.mini-bookcase .book-object.small .book-cover-inner strong{
  font-size:22px!important;
}
.mini-bookcase .book-object.mini .book-cover-inner strong{
  font-size:18px!important;
}
@media(max-width:720px){
  .bookcase .book-object .book-cover-inner strong,
  .mini-bookcase .book-object .book-cover-inner strong{
    top:38px!important;
    left:12px!important;
    right:12px!important;
  }
  .bookcase .book-object.large .book-cover-inner strong{font-size:22px!important}
  .mini-bookcase .book-object.small .book-cover-inner strong{font-size:19px!important}
  .mini-bookcase .book-object.mini .book-cover-inner strong{font-size:16px!important}
}
/* ==== end title unification fix ==== */


/* ==== 2026-08-30 two-line cover title fix ==== */
.bookcase .book-object .book-cover-inner .series,
.mini-bookcase .book-object .book-cover-inner .series{
  top:13px!important;
}
.bookcase .book-object .book-cover-inner strong,
.mini-bookcase .book-object .book-cover-inner strong{
  top:38px!important;
  left:14px!important;
  right:14px!important;
  display:block!important;
  text-align:center!important;
  line-height:1.28!important;
  letter-spacing:.01em!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  min-height:2.56em!important;
}
.bookcase .book-object.large .book-cover-inner strong{
  font-size:24px!important;
}
.mini-bookcase .book-object.small .book-cover-inner strong{
  font-size:18px!important;
}
.mini-bookcase .book-object.mini .book-cover-inner strong{
  font-size:16px!important;
}
@media(max-width:720px){
  .bookcase .book-object .book-cover-inner strong,
  .mini-bookcase .book-object .book-cover-inner strong{
    top:36px!important;
    left:12px!important;
    right:12px!important;
    min-height:2.5em!important;
  }
  .bookcase .book-object.large .book-cover-inner strong{font-size:21px!important}
  .mini-bookcase .book-object.small .book-cover-inner strong{font-size:17px!important}
  .mini-bookcase .book-object.mini .book-cover-inner strong{font-size:15px!important}
}
/* ==== end two-line cover title fix ==== */


/* ==== 2026-08-30 exact upper/lower title unification ==== */
/* Upper 3-book row: target every cover directly (they do not carry .large) */
.bookcase .book-object:not(.first-story-cover) .book-cover-inner .series,
.mini-bookcase .book-object .book-cover-inner .series{
  position:absolute!important;
  top:13px!important;
  left:14px!important;
  right:14px!important;
  width:auto!important;
  margin:0!important;
  text-align:center!important;
  line-height:1.2!important;
}

.bookcase .book-object:not(.first-story-cover) .book-cover-inner strong,
.mini-bookcase .book-object .book-cover-inner strong{
  position:absolute!important;
  top:40px!important;
  left:12px!important;
  right:12px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  line-height:1.28!important;
  letter-spacing:.015em!important;
  font-weight:700!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  text-wrap:balance!important;
  min-height:2.56em!important;
}

/* Upper row needs a larger type size because the covers themselves are larger */
.bookcase .book-object:not(.first-story-cover) .book-cover-inner strong{
  font-size:27px!important;
}

/* Lower row: visually equivalent size on the smaller covers */
.mini-bookcase .book-object.small .book-cover-inner strong{
  font-size:21px!important;
}
.mini-bookcase .book-object.mini .book-cover-inner strong{
  font-size:18px!important;
}

@media(max-width:720px){
  .bookcase .book-object:not(.first-story-cover) .book-cover-inner .series,
  .mini-bookcase .book-object .book-cover-inner .series{top:12px!important}

  .bookcase .book-object:not(.first-story-cover) .book-cover-inner strong,
  .mini-bookcase .book-object .book-cover-inner strong{
    top:37px!important;
    left:10px!important;
    right:10px!important;
    line-height:1.27!important;
  }
  .bookcase .book-object:not(.first-story-cover) .book-cover-inner strong{font-size:23px!important}
  .mini-bookcase .book-object.small .book-cover-inner strong{font-size:18px!important}
  .mini-bookcase .book-object.mini .book-cover-inner strong{font-size:16px!important}
}
/* ==== end exact upper/lower title unification ==== */


/* ==== 2026-08-30 final unified bookshelf cover template ==== */
/* 上段・下段の表紙を同一テンプレで見せる最終上書き */
.bookcase .book-object,
.mini-bookcase .book-object{
  aspect-ratio:210 / 257 !important;
  border-radius:9px 22px 22px 9px !important;
  overflow:hidden !important;
}
.bookcase .book-object .book-cover-inner,
.mini-bookcase .book-object .book-cover-inner{
  position:absolute !important;
  inset:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:linear-gradient(rgba(20,24,52,.08),rgba(20,24,52,.08)),url("../img/covers/book_cover_base.png") center/cover no-repeat !important;
}
.bookcase .book-object .book-cover-inner .series,
.mini-bookcase .book-object .book-cover-inner .series{
  position:absolute !important;
  top:14px !important;
  left:16px !important;
  right:16px !important;
  margin:0 !important;
  display:block !important;
  text-align:center !important;
  font-size:11px !important;
  line-height:1.1 !important;
  letter-spacing:.18em !important;
  color:rgba(255,245,249,.92) !important;
  text-shadow:0 1px 6px rgba(17,18,43,.28) !important;
}
.bookcase .book-object .book-cover-inner strong,
.mini-bookcase .book-object .book-cover-inner strong{
  position:absolute !important;
  top:42px !important;
  left:16px !important;
  right:16px !important;
  margin:0 !important;
  max-width:none !important;
  display:block !important;
  text-align:center !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  text-wrap:balance !important;
  line-height:1.26 !important;
  letter-spacing:.02em !important;
  min-height:2.52em !important;
  color:#fff !important;
  text-shadow:0 2px 10px rgba(16,18,46,.55),0 0 1px rgba(16,18,46,.45) !important;
}
.bookcase .book-object .book-cover-inner strong{
  font-size:28px !important;
}
.mini-bookcase .book-object .book-cover-inner strong{
  font-size:19px !important;
}
.bookcase .book-object .book-cover-inner img,
.mini-bookcase .book-object .book-cover-inner img,
.bookcase .book-object .book-cover-inner > img:not(.real-cover-img),
.mini-bookcase .book-object .book-cover-inner > img:not(.real-cover-img){
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  bottom:14px !important;
  object-fit:contain !important;
  opacity:1 !important;
  filter:drop-shadow(0 10px 15px rgba(80,50,70,.12)) !important;
}
.bookcase .book-object .book-cover-inner img,
.bookcase .book-object .book-cover-inner > img:not(.real-cover-img){
  width:50% !important;
  height:42% !important;
}
.mini-bookcase .book-object .book-cover-inner img,
.mini-bookcase .book-object .book-cover-inner > img:not(.real-cover-img){
  width:50% !important;
  height:42% !important;
}
.bookcase .book-object .book-cover-inner .book-no,
.mini-bookcase .book-object .book-cover-inner .book-no{
  position:absolute !important;
  right:14px !important;
  bottom:10px !important;
  top:auto !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  color:rgba(255,255,255,.82) !important;
}
@media(max-width:720px){
  .bookcase .book-object .book-cover-inner .series,
  .mini-bookcase .book-object .book-cover-inner .series{
    top:12px !important;
    font-size:10px !important;
  }
  .bookcase .book-object .book-cover-inner strong,
  .mini-bookcase .book-object .book-cover-inner strong{
    top:36px !important;
    left:12px !important;
    right:12px !important;
    min-height:2.48em !important;
  }
  .bookcase .book-object .book-cover-inner strong{font-size:23px !important;}
  .mini-bookcase .book-object .book-cover-inner strong{font-size:17px !important;}
}
/* ==== end final unified bookshelf cover template ==== */


/* ==== 2026-08-30 final consistency patch ==== */
/* 1) Featured first book: same size feeling and typography as the other bookshelf covers */
#first .featured-book-stage{
  grid-template-columns:272px minmax(0,1fr)!important;
  gap:36px!important;
  padding:30px 34px!important;
  border-radius:30px!important;
  background:#fff9fc!important;
  border:1px solid #f0e3e8!important;
  box-shadow:0 12px 34px rgba(94,75,62,.08)!important;
}
#first .featured-book-stage:before,
#first .featured-book-stage:after{display:none!important;content:none!important}
#first .featured-book-wrap{
  min-height:auto!important;
  padding:0!important;
  justify-content:center!important;
  align-items:center!important;
}
#first .featured-book-wrap:before,
#first .featured-book-wrap:after{display:none!important;content:none!important}
#first .book-object.large.first-story-cover{
  width:272px!important;
  height:auto!important;
  aspect-ratio:210 / 257!important;
  transform:none!important;
  border:2px solid #eee3e5!important;
  border-radius:9px 22px 22px 9px!important;
  background:linear-gradient(rgba(20,24,52,.08),rgba(20,24,52,.08)),url("../img/covers/book_cover_base.png") center/cover no-repeat!important;
  box-shadow:11px 19px 30px rgba(65,47,57,.13)!important;
  overflow:hidden!important;
}
#first .book-object.first-story-cover .book-cover-inner{
  inset:0!important;
  padding:0!important;
  overflow:hidden!important;
}
#first .book-object.first-story-cover .series{
  position:absolute!important;
  top:14px!important;
  left:16px!important;
  right:16px!important;
  margin:0!important;
  text-align:center!important;
  font-size:11px!important;
  line-height:1.1!important;
  letter-spacing:.18em!important;
  color:rgba(255,245,249,.92)!important;
  text-shadow:0 1px 6px rgba(17,18,43,.28)!important;
  font-family:var(--site-font-en)!important;
}
#first .book-object.first-story-cover .book-no{
  right:14px!important;
  bottom:10px!important;
  top:auto!important;
  font-size:12px!important;
  line-height:1!important;
  color:rgba(255,255,255,.82)!important;
}
#first .book-object.first-story-cover .first-story-title,
#first .book-object.first-story-cover .book-cover-inner strong{
  position:absolute!important;
  top:42px!important;
  left:16px!important;
  right:16px!important;
  margin:0!important;
  max-width:none!important;
  min-height:2.52em!important;
  text-align:center!important;
  font-size:25px!important;
  line-height:1.26!important;
  letter-spacing:.02em!important;
  color:#fff!important;
  text-shadow:0 2px 10px rgba(16,18,46,.55),0 0 1px rgba(16,18,46,.45)!important;
}
#first .book-object.first-story-cover .cover-group-full{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  height:auto!important;
  border-radius:0!important;
  overflow:hidden!important;
  box-shadow:none!important;
  z-index:1!important;
}
#first .book-object.first-story-cover .cover-group-full img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  transform:none!important;
  filter:none!important;
}
#first .featured-book-copy small{font-size:13px!important}
#first .featured-book-copy h3{font-size:clamp(27px,3.3vw,38px)!important;line-height:1.34!important}
#first .featured-book-copy p{font-size:16px!important;line-height:1.9!important}

/* 2) Upper and lower bookshelf covers: same template, same font family, larger aligned titles */
.bookcase .book-object .book-cover-inner .series,
.mini-bookcase .book-object .book-cover-inner .series{
  position:absolute!important;
  top:14px!important;
  left:16px!important;
  right:16px!important;
  margin:0!important;
  display:block!important;
  text-align:center!important;
  font-size:11px!important;
  line-height:1.1!important;
  letter-spacing:.18em!important;
  color:rgba(255,245,249,.92)!important;
  text-shadow:0 1px 6px rgba(17,18,43,.28)!important;
  font-family:var(--site-font-en)!important;
}
.bookcase .book-object .book-cover-inner strong,
.mini-bookcase .book-object .book-cover-inner strong{
  position:absolute!important;
  top:42px!important;
  left:16px!important;
  right:16px!important;
  margin:0!important;
  max-width:none!important;
  min-height:2.52em!important;
  display:block!important;
  text-align:center!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  text-wrap:balance!important;
  line-height:1.26!important;
  letter-spacing:.02em!important;
  color:#fff!important;
  text-shadow:0 2px 10px rgba(16,18,46,.55),0 0 1px rgba(16,18,46,.45)!important;
  font-family:var(--site-font-round)!important;
  font-weight:700!important;
}
.bookcase .book-object .book-cover-inner strong{font-size:25px!important}
.mini-bookcase .book-object .book-cover-inner strong{font-size:21px!important}
.bookcase .book-object .book-cover-inner img,
.mini-bookcase .book-object .book-cover-inner img,
.bookcase .book-object .book-cover-inner > img:not(.real-cover-img),
.mini-bookcase .book-object .book-cover-inner > img:not(.real-cover-img){
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  bottom:14px!important;
  width:50%!important;
  height:42%!important;
  object-fit:contain!important;
}
.bookcase .book-object .book-cover-inner .book-no,
.mini-bookcase .book-object .book-cover-inner .book-no{
  right:14px!important;
  bottom:10px!important;
  top:auto!important;
  font-size:12px!important;
  line-height:1!important;
  color:rgba(255,255,255,.82)!important;
}

/* 3) Selected bookshelf panel should feel unified, not split. Use a flat base color, not a gradient. */
.char-panel{
  background:color-mix(in srgb,var(--pale) 58%,#fff)!important;
  box-shadow:0 16px 38px rgba(72,52,64,.07)!important;
}
.char-panel:before{
  height:7px!important;
  background:color-mix(in srgb,var(--accent) 38%,#fff)!important;
  opacity:.9!important;
}
.char-panel .shelf-arrival{
  background:#fff!important;
}
.char-panel .bookcase{
  background:#fff!important;
}
.char-panel .mini-bookcase{
  background:color-mix(in srgb,var(--pale) 26%,#fff)!important;
}

@media(max-width:800px){
  #first .featured-book-stage{grid-template-columns:1fr!important;gap:18px!important;padding:24px 18px!important}
  #first .featured-book-copy{text-align:center!important}
}
@media(max-width:620px){
  #first .book-object.large.first-story-cover{width:244px!important}
  #first .book-object.first-story-cover .first-story-title,
  #first .book-object.first-story-cover .book-cover-inner strong{top:36px!important;left:12px!important;right:12px!important;font-size:22px!important;min-height:2.48em!important}
  #first .book-object.first-story-cover .series{top:12px!important;font-size:10px!important}
  .bookcase .book-object .book-cover-inner strong,
  .mini-bookcase .book-object .book-cover-inner strong{top:36px!important;left:12px!important;right:12px!important;min-height:2.48em!important}
  .bookcase .book-object .book-cover-inner strong{font-size:22px!important}
  .mini-bookcase .book-object .book-cover-inner strong{font-size:18px!important}
}
/* ==== end 2026-08-30 final consistency patch ==== */


/* ORIGINAL READABLE LIBRARY */
.original-library{padding-top:8px!important}
.original-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:26px 24px 30px;border:1px solid #efe3e8;border-radius:30px;background:#fffafc;box-shadow:0 12px 34px rgba(94,75,62,.06)}
.original-library-grid .book-entry{align-items:center!important;text-align:center!important}
.original-library-grid .book-object{width:100%!important;aspect-ratio:210/257!important}
.original-library-grid .book-cover-inner strong{position:absolute!important;top:42px!important;left:14px!important;right:14px!important;margin:0!important;max-width:none!important;text-align:center!important;font-size:20px!important;line-height:1.28!important;word-break:keep-all!important;color:#fff!important}
.original-library-grid .book-cover-inner .series{position:absolute!important;top:14px!important;left:14px!important;right:14px!important;text-align:center!important;font-size:10px!important}
.original-library-grid .book-cover-inner img{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:50%!important;height:42%!important;bottom:14px!important;object-fit:contain!important}
.original-library-grid .book-meta p{font-size:12px!important}
.book-status.read-link{font-size:14px!important;padding:9px 14px!important;font-weight:800!important;text-decoration:none!important}
@media(max-width:900px){.original-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.original-library-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(175px,70vw);grid-template-columns:none;overflow-x:auto;padding:20px 16px 26px;gap:18px}.original-library-grid .book-cover-inner strong{font-size:18px!important;top:38px!important}}
/* END ORIGINAL READABLE LIBRARY */


/* ==== 2026-08-30 cover title position: directly below MOMONCHY STORY ==== */
.original-library-grid .book-cover-inner .series,
.bookcase .book-object .book-cover-inner .series,
.mini-bookcase .book-object .book-cover-inner .series,
#first .book-object.first-story-cover .series{
  top:14px!important;
}

.original-library-grid .book-cover-inner strong,
.bookcase .book-object .book-cover-inner strong,
.mini-bookcase .book-object .book-cover-inner strong,
#first .book-object.first-story-cover .book-cover-inner strong{
  top:30px!important;
  margin:0!important;
}

/* keep the two title lines compact so they read as one series */
.original-library-grid .book-cover-inner strong,
.bookcase .book-object .book-cover-inner strong,
.mini-bookcase .book-object .book-cover-inner strong{
  line-height:1.25!important;
}

@media(max-width:620px){
  .original-library-grid .book-cover-inner .series,
  .bookcase .book-object .book-cover-inner .series,
  .mini-bookcase .book-object .book-cover-inner .series,
  #first .book-object.first-story-cover .series{
    top:12px!important;
  }
  .original-library-grid .book-cover-inner strong,
  .bookcase .book-object .book-cover-inner strong,
  .mini-bookcase .book-object .book-cover-inner strong,
  #first .book-object.first-story-cover .book-cover-inner strong{
    top:27px!important;
  }
}
/* ==== end cover title position fix ==== */


/* ==== 2026-08-30 coming stories spacing ==== */
#original-library .provisional-head{
  margin-top:88px!important;
  padding-top:18px!important;
}
#original-library .provisional-head .eyebrow{
  margin-bottom:12px!important;
}
#original-library .provisional-head h2{
  margin-top:0!important;
}
@media(max-width:720px){
  #original-library .provisional-head{
    margin-top:64px!important;
    padding-top:12px!important;
  }
}
/* ==== end coming stories spacing ==== */


/* ==== 2026-08-30 spacing below book covers ==== */
.book-entry{
  gap:24px!important;
}
.book-entry .book-meta{
  padding-top:6px!important;
}
@media(max-width:720px){
  .book-entry{
    gap:20px!important;
  }
  .book-entry .book-meta{
    padding-top:4px!important;
  }
}
/* ==== end spacing fix ==== */


/* ==== 2026-08-30 force equal cover-to-title spacing ==== */
/* Do not rely on flex/grid gap: readable books use <a>, pending books use <div>. */
.book-entry{
  gap:0!important;
}
.book-entry > .book-meta{
  margin-top:30px!important;
  padding-top:0!important;
}
@media(max-width:720px){
  .book-entry > .book-meta{
    margin-top:24px!important;
    padding-top:0!important;
  }
}
/* ==== end force equal cover-to-title spacing ==== */


/* ==== 2026-08-30 readable book CTA order fix ==== */
.book-entry .book-meta{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.book-entry .book-meta b{order:1;}
.book-entry .book-meta .read-link{order:2;margin-top:10px;margin-bottom:8px;font-size:14px;font-weight:900;padding:9px 16px;}
.book-entry .book-meta p{order:3;}
.book-entry .book-meta .book-status{order:4;}
@media(max-width:720px){
  .book-entry .book-meta .read-link{font-size:13px;padding:8px 14px;}
}
/* ==== end readable book CTA order fix ==== */

/* 2026-09-02 finalized secret book links */
.secret-card .secret-read-link{display:inline-flex;align-items:center;justify-content:center;margin-top:14px;padding:9px 14px;border-radius:999px;background:#fff;color:#52456b;font-weight:700;text-decoration:none;box-shadow:0 4px 14px rgba(47,40,67,.08)}
.secret-card .secret-read-link:hover{transform:translateY(-1px)}
@media(max-width:600px){.secret-card .secret-read-link{margin-top:10px;font-size:13px}}
