/* Journal styles are scoped so the existing generator and hero stay intact. */
.reading-header,.reading-footer,.journal,.article-heading,.article-content{box-sizing:border-box;color:#302a46;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
body:has(.reading-header){margin:0;background:#fcfaff}
.reading-header{max-width:1280px;margin:auto;padding:25px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #e9e1f2}
.reading-header a,.reading-footer a{color:#53436e;text-decoration:none}
.reading-brand{font-family:Georgia,serif;font-size:26px;font-weight:bold;white-space:nowrap}
.reading-header nav{display:flex;flex-wrap:wrap;gap:24px;font-size:16px}
.reading-header nav a{padding:10px 0}.reading-header [aria-current]{color:#8055b2;border-bottom:2px solid #b79ad5}
.reading-skip{position:absolute;left:20px;top:-100px}.reading-skip:focus{top:10px;background:white;padding:12px;z-index:10}
.reading-kicker{font:600 12px/1.8 Georgia,serif;letter-spacing:.2em;color:#8c6cb1}
.journal{max-width:1120px;margin:70px auto 90px;padding:0 32px}.journal h1{font-family:"Yu Mincho",serif;font-weight:500;font-size:clamp(34px,5vw,52px);margin:12px 0 22px}.journal-lead{font-size:18px;line-height:1.9;color:#6d637c}.journal-note{font-size:16px;line-height:2;color:#7b6e8d;border-top:1px solid #e9e1f2;padding-top:28px;margin-top:50px}
.journal-card{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;background:white;border:1px solid #e7ddf1;border-radius:20px;overflow:hidden;text-decoration:none;color:#302a46;box-shadow:0 12px 40px #68478e08;margin-top:36px;transition:box-shadow .2s,transform .2s}
.journal-card:hover{transform:translateY(-3px);box-shadow:0 16px 42px #68478e16}.journal-card img{width:100%;height:100%;min-height:310px;max-height:430px;object-fit:cover;object-position:center 26%;display:block}.journal-card-copy{padding:40px;align-self:center}.journal-card-category{font-size:14px;color:#8055a5;display:block;margin-bottom:14px}.journal-card h2,.journal-card h3{font:500 clamp(23px,2.5vw,32px)/1.65 "Yu Mincho",serif;margin:10px 0 16px}.journal-card p{font-size:16px;line-height:1.9;color:#756b83;margin:0 0 24px}.journal-card time{font-size:14px;color:#8c8099}.journal-card-action{display:block;font-size:16px;color:#7e52a9;margin-top:20px}
.article-heading{max-width:1020px;margin:38px auto 42px;padding:0 36px}.back-link{font-size:16px;text-decoration:none;color:#7c658f;display:inline-block;padding:8px 0;margin-bottom:38px}.article-meta{font-size:14px;color:#7d6c91;margin:20px 0}.article-meta span{padding:0 10px;color:#c9b8d9}.article-heading h1{font:500 clamp(30px,4vw,48px)/1.6 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.035em;max-width:940px;margin:12px 0 16px;overflow-wrap:anywhere}.article-subtitle{font-size:19px;color:#74637f;line-height:1.8}
.article-content{max-width:1120px;padding:0 36px;margin:auto}.opening-work{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center;padding:32px 48px;background:linear-gradient(135deg,#eee7f7,#faf4f4);border-radius:24px;margin-bottom:70px}.opening-work .work{margin:0}.opening-copy>p:not(.reading-kicker){font:500 21px/2.1 "Yu Mincho",serif;color:#695577}.opening-copy .reading-kicker{font-size:11px}.work{margin:45px auto 55px;max-width:880px}.work img{display:block;width:100%;height:auto;border-radius:12px;background:#eee7f5}.portrait{max-width:480px}.work figcaption{font-size:14px;line-height:1.9;color:#7e728c;margin-top:15px}.opening-work figcaption{color:#766983}
.prose{max-width:720px;margin:auto;font-size:17px;line-height:2.15;overflow-wrap:anywhere}.prose p{margin:0 0 25px}.prose .lead{font-size:20px;line-height:2}.prose strong{font-weight:600;color:#4d3a66}.prose a{color:#8056aa;text-underline-offset:4px}.prose section{margin:75px 0 38px;scroll-margin-top:28px}.prose h2{font:500 clamp(25px,3vw,32px)/1.65 "Yu Mincho",serif;margin:12px 0 28px}.prose h3{font-size:20px;line-height:1.8;margin:0 0 15px}.section-number{font:600 12px/1.8 Georgia,serif;letter-spacing:.12em;color:#9b7db7;margin-bottom:12px!important}.article-toc{margin:40px 0 65px;padding:28px 32px;border:1px solid #e6dbf1;border-radius:14px;background:white}.article-toc p{font-size:16px;font-weight:600;margin:0 0 12px}.article-toc ol{padding-left:24px;margin:0}.article-toc a{font-size:16px;text-decoration:none;display:inline-block;padding:3px 0}.article-note,.tool-intro{background:#f3edf9;border-left:3px solid #b497d3;padding:28px 32px;border-radius:0 16px 16px 0;margin:32px 0}.article-note p:last-child,.tool-intro p:last-child{margin-bottom:0}.visual-pair{display:grid;grid-template-columns:1fr 1fr;gap:36px;max-width:920px;margin:20px auto 30px}.visual-pair .work{margin:10px auto 25px}.pc-basics{margin:30px 0}.pc-basics>div{padding:25px 0;border-top:1px solid #e4d9ee}.pc-basics dt{font:500 25px/1.8 Georgia,serif;color:#765197}.pc-basics dt span{display:block;font:600 16px/1.8 "Yu Gothic",sans-serif;color:#574966;margin:4px 0 12px}.pc-basics dd{margin:0}.article-cta{text-align:center;margin:70px -25px 60px;background:linear-gradient(130deg,#f0e6fb,#f9edf3);padding:48px 25px;border-radius:22px}.article-cta h2{margin:12px 0 20px}.reading-button{display:inline-flex;gap:22px;align-items:center;justify-content:center;min-height:52px;box-sizing:border-box;padding:12px 26px;border-radius:40px;background:#9365bd;color:white!important;text-decoration:none;font-size:16px;box-shadow:0 6px 20px #8860ae20}.article-sources{border-top:1px solid #e5d9f0;padding-top:25px;margin:40px 0 70px}.article-sources h2{font:600 17px/1.8 "Yu Gothic",sans-serif;margin:0}.article-sources ul{padding-left:24px;font-size:15px}.article-sources p{font-size:14px;color:#83728e;line-height:1.9}
.reading-footer{padding:42px 30px;text-align:center;background:#f2ecf8;font-size:16px}.reading-footer p{color:#8a789d;font-size:14px}.reading-footer nav{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}.latest-reading{padding-top:35px;padding-bottom:85px}.latest-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.latest-heading h2{font:500 32px/1.6 "Yu Mincho",serif;margin:8px 0}.latest-heading p,.latest-heading>a{font-size:16px;line-height:1.8;color:#7f6997}.latest-reading .journal-card{max-width:960px}.latest-reading .journal-card h3{font-size:27px}
.reading-header a:focus-visible,.article-content a:focus-visible,.journal a:focus-visible,.journal-card:focus-visible{outline:3px solid #a783c9;outline-offset:5px}
@media(max-width:760px){.reading-header{padding:18px 22px;flex-wrap:wrap;gap:12px}.reading-brand{font-size:24px}.reading-header nav{gap:20px}.article-heading{padding:0 22px;margin-top:24px}.back-link{margin-bottom:22px}.article-content{padding:0 22px}.opening-work{gap:20px;padding:24px;grid-template-columns:1fr 1fr}.opening-copy>p:not(.reading-kicker){font-size:17px}.prose{font-size:17px}.journal{padding:0 22px;margin-top:40px}.journal-card-copy{padding:28px}.journal-card{grid-template-columns:1fr 1.2fr}.journal-card img{min-height:300px}.visual-pair{gap:22px}.article-cta{margin-left:0;margin-right:0}.latest-heading{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:540px){.opening-work{display:block;padding:20px 20px 15px;margin-bottom:40px}.opening-copy{padding:18px 2px 0}.opening-copy>p:not(.reading-kicker){font-size:17px;line-height:1.9}.opening-copy>p:last-child{display:none}.article-heading h1{font-size:30px;line-height:1.65}.article-subtitle{font-size:17px}.article-meta{font-size:13px}.article-content{padding:0 20px}.prose .lead{font-size:18px}.prose section{margin-top:52px}.article-toc{padding:23px 21px}.article-note,.tool-intro{padding:23px}.visual-pair{display:block}.visual-pair .work{max-width:340px;margin:35px auto}.journal-card{grid-template-columns:1fr}.journal-card img{height:290px;min-height:0;max-height:none;object-position:center 25%}.journal-card-copy{padding:25px}.journal-card h2,.latest-reading .journal-card h3{font-size:24px}.reading-header nav{gap:20px;font-size:15px}.reading-header nav a{min-height:24px;padding:10px 0}.latest-reading{padding-bottom:55px}}
@media(prefers-reduced-motion:reduce){.journal-card{transition:none}.journal-card:hover{transform:none}}
@media(max-width:540px){.reading-header nav{gap:12px}.article-heading h1{text-wrap:balance}}
