:root{--bg:#f6f2e9;--paper:#fffdf8;--ink:#293b37;--muted:#64706a;--line:#d8d9cd;--accent:#a45039;--green:#315f52;--soft:#e9eee5;--reading:21px;color-scheme:light}
:root[data-font="0"]{--reading:19px}:root[data-font="2"]{--reading:24px}:root[data-night="yes"]{--bg:#182522;--paper:#21332d;--ink:#e7e5d9;--muted:#b6c0b4;--line:#526056;--accent:#efad83;--green:#b6d5bd;--soft:#2e4238;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;line-height:1.9}button,a,summary,textarea{-webkit-tap-highlight-color:transparent}a{color:var(--green);text-underline-offset:4px}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #c2764b;outline-offset:5px}button{color:var(--ink)}.site-header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px max(24px,calc((100vw - 1180px)/2))}.brand{border:0;background:none;text-align:left;padding:0;color:var(--ink)}.brand strong{font-family:Georgia,serif;font-size:31px;letter-spacing:.12em;line-height:1.1}.brand small{display:block;font-size:10px;letter-spacing:.15em}.header-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.header-tools button{border:0;background:none;padding:6px;font-size:13px}.header-tools .outlined{border:1px solid var(--line);padding:5px 14px;border-radius:30px}main{max-width:1180px;margin:auto;padding:0 28px 70px;outline:none}.hero{padding:60px 0 50px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.14em;color:var(--muted);line-height:1.8;margin:0 0 18px}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:60px}.hero h1,.finish h1,.letter h1,.all-notes h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:500;font-size:clamp(34px,4.4vw,59px);line-height:1.65;letter-spacing:.04em;margin:18px 0 28px}em{font-style:normal;color:var(--accent)}.hero-lead{font-size:20px}.cover-graphic{height:370px;border-radius:160px 160px 8px 8px;background:#dedfcf;position:relative;overflow:hidden;border:1px solid #cad0bd;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;color:#304e43;padding:35px}.sun{position:absolute;top:50px;left:calc(50% - 51px);height:102px;width:102px;border-radius:50%;background:#ca744f}.water{position:absolute;top:165px;left:-40px;right:-40px;height:180px;background:repeating-linear-gradient(0deg,#a6b8a133 0px,#a6b8a133 8px,#819e8a55 9px,#819e8a55 10px);transform:rotate(-7deg)}.cover-graphic span{z-index:1;font-family:Georgia,serif;font-size:49px;letter-spacing:.15em}.cover-graphic small{z-index:1;font-size:9px;letter-spacing:.15em}.intro{max-width:820px;border-top:1px solid var(--line);margin-top:42px;padding-top:24px}.intro h2,.section-heading h2,.how h2,.closing-panel h2{font-family:'Yu Mincho',serif;font-weight:500;font-size:28px}.intro p{font-size:17px}.reading-invitation{border-left:3px solid var(--accent);padding:12px 24px;margin:32px 0;max-width:820px}.reading-invitation p{margin:8px 0;font-size:15px}.hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.primary,.secondary{display:inline-block;text-decoration:none;border-radius:4px;padding:13px 25px;font-size:15px;line-height:1.8}.primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.primary span{display:block;font-size:12px;opacity:.8}.secondary{border:1px solid var(--line);background:var(--paper);color:var(--ink)}.text-link{border:0;background:none;text-align:left;padding:4px 0;color:var(--green);text-decoration:underline;text-underline-offset:5px;font-size:14px}.subtle{background:none;border:0;color:var(--muted);font-size:13px;display:block;padding:8px 0}.shelf-section{padding:40px 0;border-top:1px solid var(--line)}.section-heading{max-width:650px;margin-bottom:32px}.shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.book-card{display:grid;grid-template-columns:140px 1fr;border:1px solid var(--line);background:var(--paper);min-height:285px;border-radius:6px;overflow:hidden}.book-card:last-child{grid-column:1/-1;max-width:750px}.book-jacket{background:var(--book);color:#fff8e8;display:flex;flex-direction:column;padding:23px 17px;box-shadow:inset 7px 0 0 #0002;gap:20px}.book-jacket span{font-family:Georgia,serif;font-size:23px;opacity:.8}.book-jacket strong{font-family:'Yu Mincho',serif;font-weight:500;font-size:20px;line-height:1.8;flex:1}.book-jacket small{font-size:10px;line-height:1.8}.card-content{padding:25px}.card-content .eyebrow{color:var(--book);letter-spacing:.05em}.card-content h3{font-family:'Yu Mincho',serif;font-size:24px;font-weight:500;margin:0 0 12px;line-height:1.6}.card-question{font-size:14px;line-height:1.9;margin-bottom:18px}.how{border-top:1px solid var(--line);padding:40px 0}.how ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:25px;counter-reset:flow}.how li{counter-increment:flow;border-top:1px solid var(--line);padding-top:15px}.how li:before{content:'0'counter(flow);font-family:Georgia,serif;color:var(--accent);margin-right:10px}.how strong{font-size:17px}.how span{display:block;font-size:14px;margin-top:8px}.closing-panel{padding:30px;background:var(--soft);border-radius:6px}.closing-panel p{max-width:800px}.small{font-size:13px;color:var(--muted);line-height:1.9}.book-intro{max-width:810px;margin:50px auto}.book-intro>h1{font-family:'Yu Mincho',serif;font-size:38px;font-weight:500;line-height:1.6}.book-intro h2{font-size:23px;font-weight:550;margin-top:36px}.author{color:var(--muted)}.theme-panel{background:var(--soft);padding:25px;border-left:3px solid var(--book);margin:30px 0}.theme-panel h2{margin:0;line-height:1.8}.learn-list{padding-left:24px}.learn-list li{padding:5px 0}.novel-entry{margin:40px 0;border:1px solid var(--line);padding:28px;background:var(--paper)}.novel-entry .primary{margin:15px 12px 0 0}.chapter-list{list-style:none;padding:0}.chapter-list li{border-bottom:1px solid var(--line);padding:9px 0}.chapter-list .text-link{text-decoration:none;font-size:14px}.chapter-list .current .text-link{color:var(--accent);font-weight:700}.sources{border-top:1px solid var(--line);margin:40px 0;padding:20px 0}.sources p{font-size:14px}.sources h2{font-size:21px}.reader-layout{display:grid;grid-template-columns:220px minmax(0,760px);gap:65px;justify-content:center;padding-top:40px}.reader-sidebar{position:sticky;top:120px;align-self:start}.reader-sidebar h2{font-family:'Yu Mincho',serif;font-weight:500;font-size:21px;line-height:1.8}.reader-main{min-width:0}.chapter-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:12px;color:var(--muted);font-size:12px}.prose{font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;font-size:var(--reading);line-height:2.25;letter-spacing:.035em;padding:40px 10px 20px}.prose .eyebrow{font-family:system-ui,sans-serif}.prose h1{font-size:31px;font-weight:500;margin:0 0 45px;line-height:1.8}.prose p{margin:0 0 1.8em}.choice-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;margin:20px 0 45px}.choice-panel h2{font-size:21px;font-weight:550;line-height:1.8}.choice-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.choice-buttons button{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:17px;font-size:15px}.choice-buttons span{display:block;font-family:Georgia,serif;color:var(--accent);font-size:20px}.choice-buttons button.selected{border:2px solid var(--green);padding:16px;background:var(--soft)}.extra-prose{margin-top:25px;padding:25px;background:var(--soft);border-radius:5px}.extra-prose>p:not(.small):not(.eyebrow){font-family:'Yu Mincho',serif;font-size:var(--reading);line-height:2.2}.reflection h2{font-family:'Yu Mincho',serif;font-size:26px;font-weight:500;line-height:1.8}.reflection>p{font-size:17px;line-height:2}.practice{padding:25px;border-left:3px solid var(--accent);background:var(--paper);margin:25px 0}.practice h3{font-size:17px;margin-top:0}.practice p{font-size:16px;line-height:2}.notebook{border-top:1px solid var(--line);padding-top:30px;margin-top:40px}.notebook label span,.notebook label strong{display:block}.notebook label strong{font-size:22px;font-family:'Yu Mincho',serif;font-weight:500}textarea{font:inherit;font-size:17px;line-height:1.9;width:100%;min-height:180px;resize:vertical;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:5px;color:var(--ink)}.reading-nav{display:flex;justify-content:space-between;gap:20px;margin:35px 0 20px}.rest-note{text-align:center;font-size:14px;color:var(--muted)}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:24px 0}summary{cursor:pointer;font-size:15px;font-weight:550}details p{font-size:15px;line-height:2}.finish,.letter,.all-notes{max-width:850px;margin:50px auto}.large{font-family:'Yu Mincho',serif;font-size:25px}.reading-traces{display:grid;gap:15px;grid-template-columns:repeat(3,1fr);margin:35px 0}.reading-traces article{background:var(--paper);padding:22px;border:1px solid var(--line)}.reading-traces h2{font-size:21px;font-weight:500}.reading-traces p{font-size:14px}.next-book{padding:30px;background:var(--soft);margin:40px 0}.next-book h2{font-family:'Yu Mincho',serif;font-size:29px;font-weight:500}.letter-item{padding:25px 0;border-top:1px solid var(--line)}.letter-item h2{font-family:'Yu Mincho',serif;font-size:25px}.note-text{white-space:pre-wrap;overflow-wrap:anywhere}.notes-book{padding:25px 0;border-top:1px solid var(--line);margin-top:30px}.notes-book article{margin:25px 0;background:var(--paper);padding:20px}.notes-book h3{font-size:17px}.danger{color:#b04b38;background:none;border:1px solid #b04b38;padding:12px 20px}.site-footer{border-top:1px solid var(--line);padding:35px max(28px,calc((100vw - 1120px)/2));font-size:13px;color:var(--muted)}.site-footer strong{font-family:Georgia,serif;font-size:21px;color:var(--ink)}.footer-links{display:flex;gap:24px;flex-wrap:wrap;margin:20px 0}#notice{background:#f7e5ba;color:#4b3b1e;padding:15px 25px;font-size:14px}.mobile{display:none}.skip-link{position:absolute;left:20px;top:-100px}.skip-link:focus{top:70px;z-index:20;background:var(--paper);padding:10px}@media(max-width:900px){.hero-grid{gap:30px}.cover-graphic{height:300px}.reader-layout{grid-template-columns:1fr;max-width:760px;margin:auto}.reader-sidebar{position:static;border-bottom:1px solid var(--line);padding-bottom:15px}.reader-sidebar .chapter-list{display:flex;gap:15px;flex-wrap:wrap}.reader-sidebar h2{margin:0}.reader-sidebar .eyebrow{margin:0}.book-card{grid-template-columns:110px 1fr}.card-content{padding:20px}.card-content h3{font-size:21px}.book-jacket{padding:20px 12px}.book-jacket strong{font-size:17px}}
@media(max-width:620px){.site-header{padding:12px 16px;gap:8px;align-items:center}.brand strong{font-size:25px}.brand small{font-size:8px}.header-tools{gap:2px;justify-content:flex-end}.header-tools button{font-size:11px;padding:5px}.header-tools .outlined{padding:4px 8px}main{padding:0 20px 50px}.hero{padding-top:34px}.hero-grid{grid-template-columns:1fr;gap:24px}.hero h1{font-size:36px;line-height:1.7;margin-top:8px}.hero-lead{font-size:18px}.cover-graphic{height:215px;max-width:360px;width:100%;margin:auto;border-radius:130px 130px 5px 5px;padding:20px}.sun{top:25px;width:65px;height:65px;left:calc(50% - 32px)}.water{top:95px}.cover-graphic span{font-size:35px}.cover-graphic small{font-size:8px}.intro{margin-top:28px}.intro h2,.section-heading h2,.how h2{font-size:24px}.intro p{font-size:16px}.reading-invitation{padding:10px 16px}.hero-actions{align-items:stretch;gap:12px}.hero-actions>*{width:100%;text-align:center}.shelf{grid-template-columns:1fr;gap:18px}.book-card,.book-card:last-child{grid-column:auto;grid-template-columns:106px 1fr;min-height:280px}.card-content{padding:20px 16px}.book-jacket{padding:20px 12px}.how ol{grid-template-columns:1fr;gap:15px}.closing-panel{padding:22px}.closing-panel h2{font-size:22px}.book-intro{margin:30px auto}.book-intro>h1{font-size:30px}.theme-panel,.novel-entry{padding:22px}.reader-layout{gap:20px;padding-top:24px}.reader-sidebar .chapter-list{gap:3px 14px}.chapter-list .text-link{font-size:12px}.chapter-meta{font-size:11px}.chapter-meta .text-link{font-size:12px}.prose{padding:30px 0 10px;line-height:2.2;letter-spacing:.015em}.prose h1{font-size:27px;margin-bottom:32px}.choice-buttons{grid-template-columns:1fr}.choice-panel h2{font-size:20px}.extra-prose{padding:20px}.reflection h2{font-size:24px}.practice{padding:20px}.reading-nav{gap:10px}.reading-nav button{padding:12px 14px;font-size:13px}.reading-traces{grid-template-columns:1fr}.finish h1,.letter h1,.all-notes h1{font-size:33px}.site-footer{padding:30px 20px}.mobile{display:block}.next-book{padding:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.site-header,.site-footer,.choice-buttons,.reading-nav,button{display:none}.reader-layout{display:block}.reader-sidebar{display:none}main{max-width:100%;padding:0}.prose{font-size:13pt}.notebook textarea{border:0;min-height:80px}}
