:root { --ink:#201e1a; --dark:#121310; --paper:#f7f5ef; --paper-dark:#eae5d9; --gold:#b4986e; --muted:#736d63; --serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif; }
*{box-sizing:border-box}
html{font-size:16px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}.shell{min-height:100vh;display:flex;flex-direction:column}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,6vw,84px);border-bottom:1px solid #e4dfd5}.logo{text-decoration:none;font-size:15px;font-weight:750;letter-spacing:.18em;display:inline-flex;align-items:center;gap:12px}.logo-icon{font-size:19px;color:#9b7b4f}.topright{font-size:9px;letter-spacing:.25em;color:#98856c}.eyebrow{letter-spacing:.25em;font-size:10px;font-weight:700;color:#ac8f65;margin:0 0 27px}
#app{flex:1}.detail-layout{display:grid;grid-template-columns: minmax(0,1.07fr) minmax(0,.93fr);gap:clamp(30px,6vw,90px);max-width:1240px;margin:auto;padding:clamp(30px,6vw,74px) clamp(20px,6vw,72px) 48px;align-items:center}.book-content{max-width:620px}.title{font:400 clamp(34px,4.2vw,57px)/1.48 var(--serif);letter-spacing:.04em;margin:0 0 12px;overflow-wrap:anywhere}.author{color:var(--muted);font-size:13px;margin:0 0 24px}.thin-line{height:1px;background:#d9d1c3;margin:0 0 25px}.summary{font:400 clamp(15px,1.5vw,18px)/2.05 var(--serif);letter-spacing:.035em;margin:0 0 20px}.note{font-size:12px;line-height:1.9;color:#6e675d;border-left:2px solid var(--gold);margin:0 0 25px;padding:0 0 0 15px}
.amazon-btn{margin-top:10px;background:#151612;color:#f6f2e9;text-decoration:none;padding:18px 25px;min-height:59px;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:650;letter-spacing:.04em;transition:background .15s,transform .15s}.amazon-btn:hover,.amazon-btn:focus-visible{background:#3c382d;transform:translateY(-1px)}.arrow{font-size:23px;color:#cbb28a}.fineprint{font-size:10px;color:var(--muted);line-height:1.9;margin:12px 0 0}.fallback-note{font-size:11px;color:#7c7368;margin-top:15px}
.visual-panel{min-height:390px;display:grid;place-items:center;background:#eae5da;position:relative;overflow:hidden;aspect-ratio:1/1}.visual-panel:before{content:"";position:absolute;width:70%;height:70%;border:1px solid #cfc2ae;border-radius:50%;opacity:.6}.visual-panel:after{content:"";position:absolute;inset:20px;border:1px solid #d2c4ae}.cover{width:190px;height:285px;background:linear-gradient(112deg,#262722,#10110f 65%,#080908);box-shadow:13px 12px 0 -6px #cfc2ae,15px 13px 0 -6px #8b7d68,25px 29px 46px #37302445,inset 3px 0 4px #5b524020;transform:rotate(-8deg);border:1px solid #51432b;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#c7a878}.cover:before{content:"";position:absolute;inset:15px;border:1px solid #81673b65}.cover-line{position:absolute;left:11px;top:0;bottom:0;border-left:1px solid #ae94694d}.cover-name{font:400 19px Georgia,serif;letter-spacing:.21em}.cover-sub{font:400 8px Georgia,serif;letter-spacing:.12em;margin-top:10px}
.footer{padding:22px clamp(20px,6vw,84px) 28px;display:flex;gap:25px;justify-content:space-between;color:#827a6e;font-size:10px;line-height:1.8;border-top:1px solid #e1dcd1}.disclosure{max-width:500px;text-align:right}.home{max-width:820px;margin:0 auto;padding:clamp(55px,10vw,120px) 24px}.home-title{font:400 clamp(30px,5vw,48px)/1.5 var(--serif);margin:0 0 20px}.home-description{font-size:14px;line-height:2.2;color:#625c53;max-width:620px}.sample-heading{font-size:11px;letter-spacing:.05em;color:#857c6f;margin-top:45px}.samples{display:flex;flex-direction:column;gap:10px}.sample-link{border:1px solid #dbd2c3;padding:14px 20px;background:#fcfbf8;text-decoration:none;font-size:13px}.sample-link:hover{border-color:var(--gold)}.not-found{padding:90px 24px;text-align:center}.not-found .title{font-size:28px}.simple-link{color:#8c6941}
@media(max-width:730px){.topbar{height:58px}.logo{font-size:12px}.topright{font-size:8px;letter-spacing:.08em}.detail-layout{display:flex;flex-direction:column;gap:24px;padding:32px 22px 40px;align-items:stretch}.book-content{display:contents}.detail-layout .eyebrow{order:1;margin:0 0 3px}.title{order:2;font-size:32px;margin:0}.author{order:3;margin:0 0 2px;font-size:12px}.thin-line{order:4;margin:3px 0 0}.summary{order:5;margin:0;font-size:15px;line-height:1.85}.note{order:6;margin:0;font-size:12px}.amazon-btn{order:7;margin:0;font-size:13px}.fineprint{order:8;margin:-13px 0 0}.fallback-note{order:9}.visual-panel{order:10;min-height:240px;max-height:240px;aspect-ratio:unset;margin-top:8px}.cover{transform:scale(.59) rotate(-8deg)}.footer{display:block;text-align:center;padding:18px 22px}.disclosure{text-align:center;margin-top:7px}.home{padding-top:65px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.metadata{font-size:.85rem;line-height:1.8;overflow-wrap:anywhere;color:#716a5e}.sources{font-size:.8rem;line-height:1.8;margin-top:2rem;color:#716a5e}.source-link{display:block;color:inherit;margin:.5rem 0;overflow-wrap:anywhere}.title,.author,.summary,.note{overflow-wrap:anywhere}a:focus-visible,summary:focus-visible{outline:2px solid #a88a50;outline-offset:4px}

@media(max-width:730px){.metadata{order:3;margin:0;font-size:12px}.sources{order:9;margin-top:0}}

.affiliate-label{font-size:12px;line-height:1.85;color:var(--ink);margin:12px 0 8px}.disclosure{font-size:12px}@media(max-width:730px){.affiliate-label{order:6;margin:0}.disclosure{font-size:12px}}
