:root{--ink:#28392e;--muted:#697065;--olive:#516244;--rust:#a15d3c;--line:#dce0d4;--paper:#faf9f4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif}a{color:#3d603e;text-underline-offset:4px;overflow-wrap:anywhere}a:focus-visible{outline:3px solid var(--rust);outline-offset:4px}.skip{position:absolute;top:-90px;background:white;padding:12px}.skip:focus{top:0}header{width:min(940px,calc(100% - 40px));margin:auto;padding:25px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}header div{font-family:serif;font-size:25px;letter-spacing:.08em}header span{font-size:12px;color:var(--muted)}main{width:min(840px,calc(100% - 40px));margin:auto}.advertising{background:#eeeade;padding:15px 18px;font-size:12px;border-left:3px solid var(--rust);margin:24px 0}.hero{padding:30px 0 22px}.eyebrow,.number,.band-title>p{font-size:11px;letter-spacing:.13em;color:var(--rust);font-weight:700}.hero h1{font-family:serif;font-weight:500;font-size:clamp(30px,4vw,44px);line-height:1.6;margin:15px 0 20px}.hero>p:not(.eyebrow){max-width:730px;font-size:15px}.hero .summary{color:var(--muted);font-size:12px!important}.reading-note{padding:20px 24px;background:#eff1e8;font-size:13px}.reading-note p{margin:6px 0 13px}.band-section{margin-top:58px}.band-title{padding:0 0 16px;border-bottom:2px solid var(--olive);margin-bottom:24px}.band-title p{margin-bottom:2px}.band-title h3{font-family:serif;font-size:32px;font-weight:500;line-height:1.4;margin:4px 0}.band-title span{display:inline-block;font:12px/1.6 sans-serif;color:var(--muted);margin-left:20px}.product{background:white;border:1px solid var(--line);padding:30px 34px;margin:0 0 24px}.number{margin:0 0 12px}.brandname{font-size:12px;margin:0 0 4px;color:var(--muted)}.product-top h4{font-size:24px;line-height:1.6;margin:0 0 6px;font-weight:600}.model{font-size:11px;color:var(--muted);margin:0 0 16px}.price{background:#f6f2e8;border-left:3px solid #b98b5e;padding:15px 18px;margin:20px 0 24px}.price strong{font-family:serif;font-size:24px;font-weight:600;line-height:1.5;color:#7d482e}.price p{font-size:12px;line-height:1.8;margin:5px 0;color:#555b50}.description h5,.review h5{font-size:13px;margin:20px 0 7px;color:var(--olive)}.description ul{padding-left:1.35em;margin:5px 0}.description li{padding-left:2px;margin:6px 0;font-size:14px}.description p{font-size:14px;margin:6px 0}.description .unknown{font-size:12px;color:var(--muted);margin-top:12px}.review{margin:20px 0;padding:1px 0 13px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.review p{font-size:13px;margin:5px 0}.sources{font-size:11px;line-height:1.9;color:var(--muted);margin:16px 0}.offer{padding:18px 20px;background:#f0f3eb;margin-top:18px}.ad-label{font-size:11px;font-weight:700;color:var(--rust);margin:0 0 8px}.offer>a{font-size:14px;font-weight:600;line-height:1.8;display:inline-block;padding:5px 0;min-height:44px}.offer-note,.seller{font-size:11px;line-height:1.8;color:var(--muted);margin:7px 0}footer{font-size:12px;color:var(--muted);padding:32px 0 42px;border-top:1px solid var(--line);margin-top:50px}@media(max-width:600px){header{padding:18px 0;align-items:center}header div{font-size:20px}header span{font-size:10px}main{width:calc(100% - 32px)}.hero{padding:20px 0 14px}.hero h1{font-size:31px}.advertising{font-size:11px;padding:12px 14px}.reading-note{padding:15px 17px}.band-section{margin-top:40px}.band-title h3{font-size:29px}.band-title span{font-size:11px;margin-left:12px}.product{padding:23px 20px;margin-bottom:20px}.product-top h4{font-size:21px}.price{padding:13px 14px}.price strong{font-size:22px}.description li,.description p{font-size:14px}.offer{padding:15px}.sources{font-size:11px}}@media print{body{background:white;font-size:11pt}header,main{width:100%}.product{break-inside:avoid;padding:16px 20px}.hero{padding:15px 0}.band-section{margin-top:25px}.band-title{break-after:avoid}a{color:#28392e}.skip{display:none}}

.genre-section{margin-top:64px}.genre-title{padding:22px 26px;background:var(--olive);color:white}.genre-title p{font-size:10px;letter-spacing:.15em;margin:0 0 7px;opacity:.85}.genre-title h2{font-family:serif;font-weight:500;font-size:30px;line-height:1.5;margin:0}.genre-section .band-section{margin-top:30px}.band-title h3{font-weight:500}.genre-title+.band-section{margin-top:24px}@media(max-width:600px){.genre-section{margin-top:42px}.genre-title{padding:18px 20px}.genre-title h2{font-size:26px}}@media print{.genre-title{break-after:avoid;background:#eff1e8;color:var(--ink)}.genre-section{margin-top:28px}}

.product-media{margin:18px 0 22px;text-align:center;padding:0;overflow-x:auto}.product-media .ad-label{font-weight:400;font-size:11px;margin-bottom:12px}.media-note{max-width:420px;margin:8px auto 0;font-size:11px;line-height:1.8;color:var(--muted)}.no-product-image{display:inline-block;margin:4px 0 6px;padding:3px 9px;background:#eff1e8;color:var(--muted);font-size:10px;letter-spacing:.03em}

.genre-nav{margin:26px 0 10px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.genre-nav p{font-size:12px;color:var(--muted);margin:0 0 8px}.genre-nav ul{display:flex;flex-wrap:wrap;gap:8px 24px;padding:0;margin:0;list-style:none}.genre-nav a{display:inline-block;font-size:13px;line-height:1.6;padding:8px 0;min-height:38px}.genre-section{scroll-margin-top:18px}

/* Readability revision: in-page navigation only, no filtering. */
.genre-nav h2{font-family:serif;font-size:22px;font-weight:500;line-height:1.6;margin:0 0 8px}.genre-nav p{font-size:13px;line-height:1.8;margin:0 0 12px}.genre-nav a{min-height:44px}.genre-nav a span{font-size:11px;white-space:nowrap;color:var(--muted)}.genre-intro{font-size:14px;line-height:1.9;margin:20px 2px 28px;max-width:760px}.genre-return{margin:20px 0 0;font-size:13px;text-align:right}.genre-return a{display:inline-block;min-height:44px;padding:9px 0}.middle-transition{padding:22px 24px;background:#eff1e8;font-size:14px;line-height:1.9;margin:30px 0 8px}#contents{scroll-margin-top:18px}@media(max-width:600px){.genre-nav h2{font-size:21px}.genre-nav ul{display:block}.genre-nav li+li{border-top:1px solid var(--line)}.genre-nav a{padding:10px 0}.genre-intro{margin:18px 2px 24px}.middle-transition{padding:18px 20px}}
