@font-face { font-family:"Noto Sans JP"; src:url("../assets/fonts/NotoSansJP-Regular.ttf") format("truetype"); font-weight:400; }
@font-face { font-family:"Noto Sans JP"; src:url("../assets/fonts/NotoSansJP-Bold.ttf") format("truetype"); font-weight:700; }
:root { --ink:#191919; --red:#ff0000; --sub:#666; --line:#d5d3ce; --cream:#fff; }
* { box-sizing:border-box; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
html { background:#ddd; }
body { margin:0; color:var(--ink); font-family:"Noto Sans JP",sans-serif; font-synthesis:none; line-break:strict; word-break:normal; background:#ddd; }
.reader-header { width:min(1180px,calc(100% - 48px)); min-height:64px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--ink); font-size:12px; letter-spacing:.08em; }.reader-header a { color:inherit; text-decoration:none; min-height:44px; display:grid; align-items:center; border-bottom:1px solid transparent; }.reader-header a:hover,.reader-header a:focus-visible { color:var(--red); border-color:var(--red); outline:none; }.reader-footer { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:18px 0 28px; color:#666; font-size:11px; letter-spacing:.08em; text-align:center; }
.book { width:148mm; margin:12mm auto; box-shadow:0 4px 20px #0003; }
.page { width:148mm; height:210mm; padding:14mm 13mm 12mm; position:relative; overflow:hidden; background:#fff; break-after:page; page-break-after:always; display:flex; flex-direction:column; }
header, footer { display:flex; justify-content:space-between; align-items:center; font-size:7pt; letter-spacing:.11em; }
header { color:var(--sub); } footer { margin-top:auto; color:var(--sub); border-top:.25mm solid var(--line); padding-top:3.2mm; letter-spacing:.04em; }
.cover { color:#fff; background:#000 url("../assets/14-generated-book-cover-complete.png") center / cover no-repeat; padding:0; isolation:isolate; }
.kicker { margin:12mm 0 0; color:#ff8a8a; font-size:7pt; font-weight:700; letter-spacing:.1em; }
.cover h1 { margin:17mm 0 0; font-size:26pt; line-height:1.25; letter-spacing:-.05em; }
.cover-lead { margin:12mm 0 0; font-size:12pt; line-height:1.8; }
.cover-footer { margin-top:auto; padding-top:3.2mm; border-top:.25mm solid #777; display:flex; justify-content:space-between; font-size:8pt; letter-spacing:.08em; }
.opening { background:var(--cream); }.opening-copy { margin-top:20mm; max-width:105mm; }.big { margin:0 0 14mm; color:var(--red); font-size:21pt; font-weight:700; line-height:1.4; letter-spacing:-.04em; }.opening-copy > p:not(.big) { margin:0 0 5.5mm; font-size:10pt; line-height:2; }
.statement h2 { margin:33mm 0 20mm; font-size:21pt; line-height:1.5; letter-spacing:-.045em; }.columns { display:grid; grid-template-columns:1fr; gap:5mm; border-top:.5mm solid var(--ink); padding-top:6mm; }.columns p, .body-copy p { margin:0; font-size:9.3pt; line-height:2; }
.value-page { background:var(--cream); }.value-page.dark { color:#fff; background:#141414; }.value-page.dark header, .value-page.dark footer { color:#c8c8c8; border-color:#555; }.value-mark { margin-top:15mm; color:var(--red); font-size:12pt; font-weight:700; letter-spacing:.1em; }.value-page h2 { margin:3mm 0 1.5mm; font-size:43pt; line-height:1; letter-spacing:-.09em; }.lead-copy { margin:0; color:var(--red); font-size:12pt; font-weight:700; line-height:1.6; }.dark .lead-copy { color:#f2aaa6; }.body-copy { margin-top:auto; display:grid; grid-template-columns:1fr; gap:5mm; padding-top:8mm; border-top:.25mm solid var(--line); }.dark .body-copy { border-color:#555; }
.examples h2 { margin:19mm 0 12mm; font-size:22pt; letter-spacing:-.05em; }.example-grid { display:grid; grid-template-columns:1fr 1fr; border-top:.25mm solid var(--ink); border-left:.25mm solid var(--ink); }.example-grid article { min-height:38mm; padding:5mm; border-right:.25mm solid var(--ink); border-bottom:.25mm solid var(--ink); }.example-grid span { color:var(--red); font-size:7pt; font-weight:700; }.example-grid h3 { margin:4mm 0 2mm; font-size:11pt; }.example-grid p { margin:0; font-size:8pt; line-height:1.75; }.note { margin:7mm 0 0; color:var(--sub); font-size:7.5pt; line-height:1.8; }
.questions { background:#111; color:#fff; }.questions header, .questions footer { color:#c8c8c8; border-color:#555; }.intro { margin:22mm 0 10mm; font-size:15pt; font-weight:700; line-height:1.65; letter-spacing:-.03em; }.questions ol { margin:0; padding:0; list-style:none; }.questions li { display:grid; grid-template-columns:16mm 1fr; gap:5mm; border-top:.25mm solid #555; padding:6mm 0; }.questions li span { color:#f0a49f; font-size:8pt; font-weight:700; }.questions li p { margin:0; font-size:12pt; line-height:1.65; }.questions li strong { color:#f0a49f; }
.sources h2 { margin:23mm 0 11mm; font-size:19pt; letter-spacing:-.04em; }.sources ul { margin:0; padding:0; list-style:none; border-top:.25mm solid var(--ink); }.sources li { padding:4mm 0; border-bottom:.25mm solid var(--line); font-size:8.3pt; line-height:1.55; }.sources > p { margin:8mm 0 0; color:var(--sub); font-size:7.5pt; line-height:1.8; }
.end { background:var(--cream); }.end-message { margin:21mm 0 0; color:var(--red); font-size:19pt; font-weight:700; line-height:1.55; letter-spacing:-.05em; }.profile { margin-top:14mm; }.profile h2 { margin:0; font-size:14pt; }.profile p { margin:3mm 0 0; font-size:8.5pt; line-height:1.8; }.links { margin-top:auto; border-top:.25mm solid var(--ink); }.links a { color:inherit; text-decoration:none; display:flex; justify-content:space-between; align-items:center; padding:4mm 0; border-bottom:.25mm solid var(--line); font-size:9pt; }.links span { color:var(--red); font-size:15pt; }
@page { size:A5 portrait; margin:0; }
@media print { html,body { background:#fff; } .book { width:auto; margin:0; box-shadow:none; } .page { width:148mm; height:210mm; } }
@media screen and (min-width:1024px) { body { background:#e8e4dc; }.book { width:min(1180px,calc(100vw - 48px)); margin:0 auto 12mm; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); box-shadow:none; }.page { width:100%; height:auto; min-height:0; aspect-ratio:148 / 210; }.cover { grid-column:1 / -1; width:calc(50% - .5px); justify-self:center; box-shadow:0 8px 32px #0002; }.book::after { content:""; display:block; aspect-ratio:148 / 210; background:#fff; }.reader-footer { padding-bottom:36px; } }
@media screen and (max-width:1023px) { .reader-header { width:calc(100% - 32px); }.reader-header span { display:none; }.reader-footer { width:calc(100% - 32px); }.book,.page { width:100vw; height:calc(100vw * 1.4142); } .book { margin:0; box-shadow:none; } .page { padding:9.46vw 8.78vw 8.11vw; } }
@media print { .reader-header,.reader-footer { display:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition-duration:.01ms!important; } }
@media screen {
  html,body { width:100%; height:100%; overflow:hidden; }
  body { background:#e8e4dc; }
  .reader-header { position:fixed; inset:0 0 auto; z-index:4; width:100%; margin:0; padding:0 32px; color:#fff; mix-blend-mode:difference; }
  .reader-header a { color:inherit; }
  .book { width:100vw; height:100vh; margin:0; position:relative; display:block; box-shadow:none; }
  .book::after { display:none; }
  .page { position:absolute; inset:0; width:min(100vw,calc(100dvh * 148 / 210)); height:min(100dvh,calc(100vw * 210 / 148)); min-height:0; margin:auto; opacity:0; pointer-events:none; transform:translateX(16px); transition:opacity .22s ease,transform .22s ease; break-after:auto; page-break-after:auto; container-type:inline-size; }
  .page.is-active { opacity:1; pointer-events:auto; transform:translateX(0); z-index:1; }
  .cover { grid-column:auto; justify-self:auto; box-shadow:none; }
  .reader-footer { display:none; }
}
@media screen and (max-width:640px) {
  .reader-header { min-height:52px; padding:0 16px; font-size:10px; }.reader-header span { display:none; }
  .page { width:min(100vw,calc(100dvh * 148 / 210)); height:min(100dvh,calc(100vw * 210 / 148)); }
}
/* Business-book reading surface: neutral paper, generous type, paired spreads on wide screens. */
.opening,.value-page,.end,.questions { background:#fff; color:var(--ink); }
.value-page.dark header,.value-page.dark footer,.questions header,.questions footer { color:var(--sub); border-color:var(--line); }
.dark .lead-copy,.questions li strong,.questions li span { color:var(--red); }
.questions li { border-color:var(--line); }
.essay-page { background:#fff; }
.essay-page h2 { margin:20mm 0 12mm; font-size:19.5pt; font-weight:700; line-height:1.52; letter-spacing:.045em; }
.essay-copy { display:grid; grid-template-columns:1fr; gap:5mm; border-top:.5mm solid var(--ink); padding-top:6mm; }
.essay-copy p { margin:0; font-size:9.45pt; line-height:1.92; }
.cover h1 { font-size:38pt; line-height:1.2; letter-spacing:.045em; }
.cover-lead { font-size:12.5pt; line-height:1.9; }
.big { font-size:23pt; letter-spacing:.035em; line-height:1.52; }
.statement h2,.examples h2,.sources h2,.end-message { letter-spacing:.035em; }
.value-page h2 { letter-spacing:.055em; }
.lead-copy { letter-spacing:.025em; }
.opening-copy > p:not(.big) { font-size:10.6pt; line-height:2.02; }
.columns p,.body-copy p { font-size:10.35pt; line-height:1.98; }
.example-grid p,.sources li { font-size:8.7pt; line-height:1.7; }
.blank-page { display:none; }
@media print {
  .blank-page,.page-controls { display:none!important; }
  .value-page.dark,.questions { color:var(--ink)!important; background:#fff!important; }
  .value-page.dark header,.value-page.dark footer,.questions header,.questions footer { color:var(--sub)!important; border-color:var(--line)!important; }
  .dark .lead-copy,.questions li strong,.questions li span { color:var(--red)!important; }
  .questions li { border-color:var(--line)!important; }
}
@media screen {
  .book { perspective:1800px; }
  .page { transition:none; }
}
@media screen and (min-width:1024px) and (orientation:landscape) {
  .book { width:min(calc(100vw - 160px),calc(100vh * 296 / 210)); height:min(calc((100vw - 160px) * 210 / 296),100vh); margin:auto; }
  .page { inset:auto; top:0; left:0; right:auto; width:50%; height:100%; padding:14mm 13mm 12mm; margin:0; opacity:0; pointer-events:none; transform:translateX(-28px) rotateY(5deg) scale(.987); transform-origin:right center; }
  .page.is-active { opacity:1; pointer-events:auto; z-index:1; }
  .page.is-active.is-left { left:0; transform:translateX(0) rotateY(0) scale(1); }
  .page.is-active.is-right { left:50%; transform:translateX(0) rotateY(0) scale(1); transform-origin:left center; }
  .cover.is-active { left:25%; transform:translateX(0) rotateY(0) scale(1); }
  .blank-page { display:block; background:#fff; }
  .blank-page.is-active { opacity:1; pointer-events:none; z-index:1; }
}
@media screen and (max-width:1023px), screen and (orientation:portrait) {
  .page { inset:0; right:0; width:min(100vw,calc(100dvh * 148 / 210)); height:min(100dvh,calc(100vw * 210 / 148)); margin:auto; transform:translateY(18px) scale(.986); }
  .page.is-active { transform:translateY(0) scale(1); }
}
@media screen and (max-width:640px) {
  .page { width:min(100vw,calc(100dvh * 148 / 210)); height:min(100dvh,calc(100vw * 210 / 148)); }
}

/* Screen reader: scale the whole A5 composition with the visible page width. */
@media screen {
  .page:not(.cover) { padding:10cqw 8.8cqw 8.1cqw; }
  .page header,.page footer { font-size:1.9cqw; }
  .page footer { padding-top:1.05cqw; }
  .opening-copy { margin-top:13.5cqw; max-width:71cqw; }
  .big { margin-bottom:8.8cqw; font-size:4.8cqw; line-height:1.52; }
  .opening-copy > p:not(.big) { margin-bottom:3.3cqw; font-size:3.0cqw; line-height:1.85; }
  .statement h2 { margin:22.3cqw 0 13.5cqw; font-size:4.7cqw; line-height:1.5; }
  .columns { gap:3.4cqw; padding-top:4cqw; }
  .columns p,.body-copy p { font-size:2.9cqw; line-height:1.85; }
  .value-mark { margin-top:10.1cqw; font-size:2.65cqw; }
  .value-page h2 { margin:2cqw 0 1.35cqw; font-size:8.6cqw; line-height:1; }
  .lead-copy { font-size:2.65cqw; line-height:1.6; }
  .body-copy { gap:3.4cqw; padding-top:5.4cqw; }
  .examples h2 { margin:12.8cqw 0 8.1cqw; font-size:4.8cqw; }
  .example-grid article { min-height:25.7cqw; padding:3.4cqw; }
  .example-grid span { font-size:1.9cqw; }
  .example-grid h3 { margin:2.7cqw 0 1.35cqw; font-size:2.75cqw; }
  .example-grid p,.note { font-size:2.4cqw; line-height:1.6; }
  .note { margin-top:4.7cqw; }
  .intro { margin:14.9cqw 0 6.8cqw; font-size:3.3cqw; }
  .questions li { grid-template-columns:10.8cqw 1fr; gap:3.4cqw; padding:4cqw 0; }
  .questions li span { font-size:2.15cqw; }
  .questions li p { font-size:3.3cqw; }
  .essay-page h2 { margin:13.5cqw 0 8.1cqw; font-size:4.05cqw; line-height:1.52; }
  .essay-copy { gap:3.4cqw; padding-top:4cqw; }
  .essay-copy p { font-size:2.65cqw; line-height:1.8; }
  .sources h2 { margin:15.5cqw 0 7.4cqw; font-size:4cqw; }
  .sources li { padding:2.7cqw 0; font-size:2.4cqw; line-height:1.55; }
  .sources > p { margin-top:5.4cqw; font-size:2.2cqw; }
  .end-message { margin-top:14.2cqw; font-size:4cqw; line-height:1.55; }
  .profile { margin-top:9.5cqw; }.profile h2 { font-size:3.3cqw; }.profile p { margin-top:2cqw; font-size:2.65cqw; }
  .links a { padding:2.7cqw 0; font-size:2.85cqw; }.links span { font-size:3.8cqw; }
}

@media screen {
  .page:not(.cover) { overflow-y:auto; overscroll-behavior:contain; }
}
