:root{color-scheme:dark;--paper:#202a30;--surface:#202a30;--surface-raised:#28343b;--cream:#08131a;--ink:rgba(255,255,255,.9);--text:rgba(255,255,255,.9);--muted:rgba(255,255,255,.66);--rule:rgba(255,255,255,.22);--accent:#d5a2b1;--art-paper:#ddd5ca;--display:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{max-width:100%}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{border-bottom:1px solid var(--rule);background:var(--paper)}.header-inner,.footer-inner{max-width:1160px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:28px}.header-inner{min-height:88px}.brand{font:700 19px/1.5 var(--display);letter-spacing:.075em;text-decoration:none}.header-nav{display:flex;align-items:center;gap:32px}.header-link{color:var(--muted);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.header-link:hover,.back-link:hover,.text-link:hover{color:var(--accent)}.site-search{width:220px;display:flex;align-items:center;border-bottom:1px solid var(--rule);transition:border-color .2s}.site-search:focus-within{border-color:var(--accent)}.site-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;padding:8px 4px;color:var(--ink);font:13px/1.5 var(--sans)}.site-search input::placeholder{color:var(--muted)}.site-search button{border:0;background:transparent;padding:8px 3px 8px 10px;color:var(--accent);font:700 12px/1.5 var(--sans);cursor:pointer}.site-search button:hover{color:var(--ink)}.eyebrow{display:block;color:var(--accent);font:700 11px/1.5 var(--sans);letter-spacing:.22em}.title-dot{color:var(--accent)}
/* Home */
.intro{overflow:hidden;background:var(--cream);border-bottom:1px solid var(--rule)}.intro-inner{max-width:1160px;min-height:620px;margin:auto;padding:95px 32px 92px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,400px);gap:52px;align-items:center}.intro-copy h1{margin:28px 0 26px;font:700 clamp(42px,5vw,68px)/1.46 var(--display);letter-spacing:.055em}.intro-copy p{margin:0;color:var(--text);font-size:16px;line-height:2.1;letter-spacing:.025em}.intro-link{display:inline-flex;align-items:center;gap:20px;margin-top:42px;padding-bottom:9px;border-bottom:1px solid var(--ink);font-size:13px;font-weight:700;text-decoration:none}.intro-link span{font-size:19px;font-weight:400;line-height:1}.intro-link:hover{color:var(--accent);border-color:var(--accent)}.hero-art{text-align:center;transform:rotate(2deg)}.hero-art-circle{width:min(100%,390px);aspect-ratio:1;margin:auto;display:grid;place-items:center;border:1px solid #625b55;border-radius:50%;background:var(--art-paper);overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;display:block;transform:none}.hero-art>span{display:block;margin-top:24px;color:var(--muted);font:13px/1.5 var(--display);letter-spacing:.16em}.index-section{max-width:1060px;margin:0 auto;padding:104px 32px 140px;scroll-margin-top:28px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:2px solid var(--ink)}.section-head h2{margin:9px 0 0;font:700 31px/1.5 var(--display);letter-spacing:.045em}.story-count{padding-bottom:5px;color:var(--muted);font:12px var(--sans);letter-spacing:.11em;white-space:nowrap}.article-group{margin-top:51px}.article-group+.article-group{margin-top:77px}.article-group>h3{margin:0 0 14px;color:var(--accent);font-size:14px;letter-spacing:.08em}.article-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}.article-list li{border-bottom:1px solid var(--rule)}.article-card{display:grid;grid-template-columns:58px minmax(0,1fr) 30px;gap:25px;align-items:start;padding:31px 10px 33px 0;text-decoration:none;transition:padding .2s,background .2s}.article-card:hover{padding-left:12px;background:var(--surface-raised)}.card-number{padding-top:5px;color:var(--accent);font:19px/1.4 var(--sans)}.card-book{color:var(--muted);font-size:12px}.card-main h3{margin:8px 0;font:700 21px/1.65 var(--display);letter-spacing:.035em}.card-main p{margin:0;color:var(--muted);font-size:13px;line-height:1.85}.card-arrow{align-self:center;color:var(--accent);font:23px/1 var(--sans)}
.article-view-switch{display:flex;gap:8px;margin-top:28px}.article-view-switch button{appearance:none;border:1px solid var(--rule);border-radius:999px;background:var(--surface);padding:9px 18px;color:var(--muted);font:600 13px/1.4 var(--sans);cursor:pointer;transition:background .2s,border-color .2s,color .2s}.article-view-switch button:hover{border-color:var(--ink);color:var(--ink)}.article-view-switch button.is-active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.article-group-latest{margin-top:37px}.search-summary{margin:0 0 19px;color:var(--muted);font-size:13px;line-height:1.8}.search-summary a{margin-left:9px;color:var(--accent);font-weight:700;text-decoration:none}.search-summary a:hover{text-decoration:underline}
@media(max-width:760px){.article-view-switch{margin-top:23px}.article-view-switch button{padding:8px 16px;font-size:12px}.article-group-latest{margin-top:32px}}
/* Random article cards. Full theme/latest lists remain in the generated HTML. */
.article-view-switch[hidden],[data-article-panel][hidden]{display:none!important}
.article-view-switch{flex-wrap:wrap;scroll-margin-top:24px}
.article-view-switch button:focus-visible,.discovery-shuffle:focus-visible,.discovery-all:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.article-view-switch button:disabled{cursor:wait}
.discovery-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:33px 0 22px}
.discovery-heading p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.8}
.discovery-shuffle{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:11px 14px;border:1px solid var(--accent);border-radius:4px;background:var(--paper);color:var(--accent);font:600 12px/1.5 var(--sans);white-space:nowrap;cursor:pointer}
.discovery-shuffle>span{font-size:19px;line-height:1}
.discovery-shuffle:hover:not(:disabled){background:var(--surface-raised)}
.discovery-shuffle:disabled{opacity:.6;cursor:wait}
.discovery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0;perspective:1200px}
.discovery-grid>li{position:relative;min-width:0;margin:0;transform-origin:center}
.discovery-card{display:flex;flex-direction:column;gap:13px;height:100%;min-height:228px;padding:18px 15px 14px;border:1px solid var(--rule);border-radius:5px;background:var(--surface-raised);color:var(--ink);position:relative;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}
.discovery-card::after{content:"";position:absolute;right:-1px;top:-1px;width:17px;height:17px;background:linear-gradient(225deg,var(--paper) 47%,#526067 49%,#526067 53%,transparent 55%);border-top-right-radius:5px;pointer-events:none}
.discovery-category{color:var(--accent);font-size:11px;line-height:1.5;letter-spacing:.03em}
.discovery-card h3{margin:0;color:var(--ink);font:600 16px/1.8 var(--display);letter-spacing:.01em;overflow-wrap:anywhere}
.discovery-card-foot{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px;border-top:1px solid var(--rule);color:var(--muted);font-size:11px;line-height:1.65}
.discovery-book-info{min-width:0;overflow-wrap:anywhere}
.discovery-book,.discovery-author{display:block}
.discovery-author{margin-top:4px}
.discovery-arrow{color:var(--accent);font-size:20px;line-height:1.4}
.discovery-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:23px}
.discovery-bottom>[data-selection-count]{color:var(--muted);font-size:11px;line-height:1.7}
.discovery-all{border:0;background:none;padding:9px 0;color:var(--accent);font:500 12px/1.7 var(--sans);min-height:44px;cursor:pointer}
.discovery-all:hover{text-decoration:underline}
@media(hover:hover) and (pointer:fine){.discovery-card:hover{transform:translateY(-5px) rotate(-1deg);border-color:var(--accent);box-shadow:0 9px 20px #08131a55}}
@media(max-width:760px){.discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.discovery-card{min-height:216px;padding:16px 13px 13px}.discovery-card h3{font-size:15px}.discovery-heading{gap:10px}.discovery-heading p{font-size:12px}.discovery-shuffle{padding:10px;font-size:12px}.discovery-bottom .discovery-all{flex-basis:100%;text-align:center}.article-view-switch button{min-height:44px}}
@media(max-width:420px){.discovery-card h3{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.discovery-card{transition:none}.discovery-card:hover{transform:none}}
/* Reading */
.article-main{max-width:1150px;margin:auto;padding:72px 32px 140px}.article-layout{display:grid;grid-template-columns:minmax(0,700px) 245px;gap:65px;justify-content:center}.article{min-width:0}.back-link{display:inline-block;color:var(--muted);font-size:13px;font-weight:600;text-decoration:none}.article-kicker{margin-top:79px;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.075em}.article h1{margin:22px 0 0;font:700 clamp(31px,3.4vw,41px)/1.6 var(--display);letter-spacing:.035em;overflow-wrap:anywhere}.article-byline{display:inline-flex;align-items:center;gap:10px;margin-top:25px;color:var(--muted);font-size:12px;text-decoration:none}.article-byline img{width:38px;height:38px;object-fit:contain;border:1px solid var(--rule);border-radius:50%;background:var(--art-paper)}.article-byline:hover{color:var(--accent)}.article-rule{width:65px;height:1px;margin:42px 0 57px;background:var(--accent)}.prose p{margin:0 0 1.44em;color:var(--text);font-size:18px;line-height:36px;letter-spacing:normal;overflow-wrap:anywhere}.prose h2{margin:3.2em 0 1.1em;padding-left:17px;border-left:2px solid var(--accent);font:700 22px/1.65 var(--display);letter-spacing:.045em}.author-aside{align-self:start;margin-top:172px}.author-card{padding:29px 23px 31px;border:1px solid var(--rule);background:var(--surface)}.author-card img{display:block;width:96px;height:96px;object-fit:contain}.author-card h2{margin:15px 0 10px;font:700 17px/1.5 var(--display)}.author-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.95}.author-card a{display:inline-block;margin-top:19px;color:var(--accent);font-size:12px;font-weight:700;text-decoration:none}.author-card a:hover{text-decoration:underline}.related-articles{max-width:700px;margin:90px 0 0;padding-top:29px;border-top:1px solid var(--ink)}.related-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:21px}.related-heading h2{margin:0;font:700 23px/1.5 var(--display)}.related-heading a{color:var(--muted);font-size:12px;text-decoration:none;white-space:nowrap}.related-heading a:hover{color:var(--accent)}.related-articles ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}.related-articles li{border-bottom:1px solid var(--rule)}.related-articles li a{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:5px 20px;padding:20px 8px 22px 0;text-decoration:none}.related-articles li a:hover{color:var(--accent);background:var(--surface-raised)}.related-articles small{grid-column:1;color:var(--muted);font-size:12px}.related-articles li span:not(.related-arrow){grid-column:1;font:700 17px/1.65 var(--display)}.related-arrow{grid-column:2;grid-row:1/3;align-self:center;color:var(--accent);font-size:19px}
/* About */
.about-main{max-width:1100px;margin:auto;padding:101px 32px 150px}.about-intro{padding-bottom:43px;border-bottom:1px solid var(--rule)}.about-intro h1{margin:12px 0 20px;font:700 clamp(37px,4.4vw,54px)/1.5 var(--display);letter-spacing:.05em}.about-intro>p{margin:0;color:var(--muted);font:17px/1.9 var(--display);letter-spacing:.035em}.about-grid{display:grid;grid-template-columns:minmax(0,390px) minmax(0,1fr);gap:clamp(40px,7vw,102px);align-items:start;padding-top:64px}.about-portrait{min-width:0;padding:30px 30px 25px;background:var(--art-paper);text-align:center}.about-portrait img{display:block;width:100%;height:auto;max-width:320px;margin:auto}.about-portrait span{display:block;margin-top:11px;color:#5f625e;font:10px/1.5 var(--sans);letter-spacing:.16em}.about-copy{min-width:0;padding-top:4px}.about-copy h2{margin:0 0 27px;font:700 26px/1.5 var(--display)}.about-copy p{margin:0 0 1.5em;color:var(--text);font-size:16px;line-height:2.2;letter-spacing:.02em}.text-link{display:inline-flex;align-items:center;gap:22px;margin-top:23px;padding-bottom:8px;border-bottom:1px solid currentColor;color:var(--accent);font-size:13px;font-weight:700;text-decoration:none}.site-footer{border-top:1px solid var(--rule);background:#08131a;color:var(--muted)}.footer-inner{padding-top:36px;padding-bottom:36px;font-size:12px;line-height:1.8}.footer-inner a{color:var(--ink);font:700 15px/1.6 var(--display);text-decoration:none}
@media(max-width:980px){.article-main{max-width:764px}.article-layout{display:block}.author-aside{margin:58px 0 0}.author-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 22px}.author-card img{grid-row:1/4}.author-card h2{margin-top:0}.author-card a{margin-top:9px}.related-articles{margin-left:auto;margin-right:auto}}
@media(max-width:760px){.header-inner,.footer-inner{padding-left:22px;padding-right:22px}.header-inner{min-height:84px;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;padding-top:13px;padding-bottom:15px}.brand{font-size:17px}.header-nav{width:100%;flex-wrap:wrap;gap:10px 23px}.header-link{font-size:12px}.site-search{flex-basis:100%;width:100%}.site-search input{font-size:16px}.intro-inner{min-height:0;grid-template-columns:1fr;gap:36px;padding:67px 24px 65px}.intro-copy h1{margin:24px 0 22px;font-size:clamp(35px,8vw,52px);line-height:1.54}.intro-copy p{font-size:14px;line-height:1.95}.intro-link{margin-top:29px}.hero-art{width:min(68vw,270px);margin:auto}.hero-art>span{margin-top:14px;font-size:11px}.index-section{padding:70px 24px 90px}.section-head h2{font-size:26px}.story-count{font-size:10px}.article-group{margin-top:43px}.article-group+.article-group{margin-top:62px}.article-card{grid-template-columns:32px minmax(0,1fr);gap:15px;padding:24px 0 27px}.article-card:hover{padding-left:0}.card-number{font-size:15px}.card-main h3{font-size:18px}.card-main p{font-size:12px}.card-arrow{display:none}.article-main{padding:39px 24px 90px}.article-kicker{margin-top:56px}.article h1{font-size:clamp(28px,7.1vw,35px)}.article-rule{margin:33px 0 45px}.prose p{font-size:18px;line-height:36px}.prose h2{font-size:19px;margin-top:2.8em}.author-aside{margin-top:51px}.author-card{grid-template-columns:72px minmax(0,1fr);padding:23px 19px;gap:0 16px}.author-card img{width:72px;height:72px}.related-articles{margin-top:68px}.related-heading h2{font-size:21px}.about-main{padding:68px 24px 95px}.about-intro{padding-bottom:35px}.about-intro h1{font-size:34px}.about-intro>p{font-size:15px}.about-grid{grid-template-columns:1fr;gap:43px;padding-top:40px}.about-portrait{max-width:400px;padding:22px}.about-portrait img{max-width:260px}.about-copy h2{font-size:24px}.about-copy p{font-size:15px;line-height:2.1}.footer-inner{display:block}.footer-inner span{display:block;margin-top:7px}}


/* Privacy and contact */
.legal-main{max-width:920px;margin:auto;padding:96px 32px 145px}.page-intro{padding-bottom:40px;border-bottom:1px solid var(--rule)}.page-intro h1{margin:12px 0 18px;font:700 clamp(37px,4.4vw,54px)/1.5 var(--display);letter-spacing:.05em}.page-intro>p{max-width:720px;margin:0;color:var(--muted);font-size:16px;line-height:2}.policy-body{max-width:760px;margin:58px auto 0}.policy-body section+section{margin-top:45px}.policy-body h2{margin:0 0 15px;padding-left:16px;border-left:2px solid var(--accent);font:700 21px/1.6 var(--display);letter-spacing:.035em}.policy-body p{margin:0 0 1em;color:var(--text);font-size:15px;line-height:2}.policy-body a{color:var(--accent)}.policy-date{margin-top:50px!important;color:var(--muted)!important;font-size:13px!important}.contact-panel{max-width:700px;margin:58px auto 0}.contact-note{margin:0 0 32px;color:var(--muted);font-size:13px;line-height:1.9}.contact-form{position:relative}.form-field{margin-bottom:27px}.form-field label{display:block;margin-bottom:10px;font-size:14px;font-weight:700}.form-field label span{margin-left:8px;color:var(--accent);font-size:11px}.form-field label small{margin-left:8px;color:var(--muted);font-size:11px;font-weight:500}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;border:1px solid var(--rule);border-radius:0;background:var(--surface-raised);padding:13px 14px;color:var(--ink);font:16px/1.6 var(--sans)}.form-field textarea{min-height:220px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.form-field select{appearance:auto}.form-consent{display:flex;align-items:flex-start;gap:10px;margin:4px 0 28px;color:var(--text);font-size:14px;line-height:1.7}.form-consent input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--accent)}.form-consent a{color:var(--accent)}.form-submit{min-width:180px;border:1px solid var(--ink);background:var(--ink);padding:13px 24px;color:var(--paper);font:700 14px/1.5 var(--sans);cursor:pointer;transition:background .2s,color .2s}.form-submit:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.form-submit:disabled{cursor:wait;opacity:.58}.form-status{min-height:28px;margin:17px 0 0;font-size:13px;line-height:1.8}.form-status.is-success{color:#b7dab8}.form-status.is-error{color:#f0b1b1}.contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.footer-brand span{display:block;margin-top:5px}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 24px}.footer-links a{color:var(--muted);font:600 12px/1.6 var(--sans);text-decoration:none}.footer-links a:hover{color:var(--accent)}
@media(max-width:760px){.legal-main{padding:66px 24px 95px}.page-intro{padding-bottom:34px}.page-intro h1{font-size:34px}.page-intro>p{font-size:14px}.policy-body,.contact-panel{margin-top:40px}.policy-body section+section{margin-top:38px}.policy-body h2{font-size:19px}.policy-body p{font-size:14px}.form-field{margin-bottom:24px}.form-submit{width:100%}.footer-links{justify-content:flex-start;margin-top:20px;gap:10px 20px}}

/* Book details */
.book-details{margin-top:58px;padding:25px 27px 26px;border:1px solid var(--rule);background:var(--surface-raised)}
.book-details>h2{margin:0 0 20px;color:var(--accent);font:700 13px/1.5 var(--sans);letter-spacing:.08em}
.book-details-list{margin:0;padding:0;list-style:none}
.book-details-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end}
.book-details-item.has-cover{grid-template-columns:80px minmax(0,1fr) auto;align-items:center}
.book-details-item+.book-details-item{margin-top:21px;padding-top:21px;border-top:1px solid var(--rule)}
.book-cover-link{display:block;width:80px;text-decoration:none}
.book-cover{display:block;width:80px;height:118px;border:1px solid var(--rule);background:#fff;object-fit:contain;transition:opacity .2s}
.book-cover-link:hover .book-cover{opacity:.82}
.book-details-title{margin:0 0 11px;font:700 17px/1.65 var(--display)}
.book-details-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 13px;margin:0;color:var(--muted);font-size:12px;line-height:1.7}
.book-details-meta dt{color:var(--muted)}
.book-details-meta dd{margin:0;color:var(--text)}
.book-amazon-link{display:inline-flex;align-items:center;gap:8px;padding-bottom:4px;border-bottom:1px solid currentColor;color:var(--accent);font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.book-amazon-link:hover{color:var(--ink)}
@media(max-width:760px){.book-details{margin-top:47px;padding:22px 19px 23px}.book-details-item{grid-template-columns:1fr;gap:17px}.book-details-item.has-cover{grid-template-columns:70px minmax(0,1fr);gap:17px 16px;align-items:start}.book-cover-link{width:70px;grid-row:1/3}.book-cover{width:70px;height:104px}.book-details-title{font-size:16px}.book-details-item.has-cover .book-amazon-link{grid-column:2}.book-amazon-link{justify-self:start}}

/* Article and author destinations remain separate keyboard/touch targets. */
.card-credits{color:var(--text);font-size:13px;line-height:1.8;overflow-wrap:anywhere;padding:0 0 16px}
.card-credits a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:4px 0;min-height:32px}
.card-credits a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.article-list .card-credits{margin-left:83px}.discovery-grid>li{display:flex;flex-direction:column;min-width:0}
.discovery-grid .discovery-card{height:auto;flex:1}.discovery-grid .card-credits{padding:8px 10px 12px}
.related-articles .card-credits a{display:inline-block;padding:4px 0;border:0;font-size:13px}
.author-directory li{margin-bottom:12px;overflow-wrap:anywhere}
@media(max-width:760px){.article-list .card-credits{margin-left:47px}.card-credits a{padding:8px 0;min-height:40px}}

.article-author-guide{margin-top:24px;min-width:0;overflow-wrap:anywhere}
