:root{
  --ink:#141210; --ink-2:#1d1a16; --ink-line:#36302a;
  --paper:#f6f1e7; --paper-2:#fffdf8; --text:#26211b; --muted:#6f655a; --line:#e2d8c5;
  --gold:#c9a54b; --gold-deep:#8a6a1f; --cream:#f2e6c4;
  --rakuten:#bf0000; --ok:#1f6f3a; --ng:#8a5a00;
  --serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:16px/1.85 var(--sans);overflow-wrap:anywhere}
a{color:var(--gold-deep)}
img{max-width:100%;height:auto}
.wrap{max-width:780px;margin:0 auto;padding:0 16px}

/* header */
.site-header{background:var(--ink);color:var(--cream);border-bottom:3px solid var(--gold)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none}
.brand img{width:40px;height:40px;background:var(--cream);border-radius:50%;padding:3px}
.brand span{font:700 22px/1 var(--serif);letter-spacing:.08em}
.site-nav{display:flex;gap:4px 16px;flex-wrap:wrap;font-size:14px}
.site-nav a{color:var(--cream);text-decoration:none;opacity:.85}
.site-nav a:hover{opacity:1;color:var(--gold)}

/* hero */
.hero{background:radial-gradient(120% 140% at 50% 0%,#2a241c 0%,var(--ink) 60%);color:var(--cream);text-align:center;padding:56px 0 48px}
.hero img{width:96px;height:96px;background:var(--cream);border-radius:50%;padding:8px;box-shadow:0 0 0 4px var(--gold)}
.hero h1{font:700 clamp(32px,8vw,48px)/1.2 var(--serif);letter-spacing:.12em;margin:20px 0 8px}
.hero .tagline{font:500 clamp(15px,3.6vw,18px)/1.7 var(--serif);color:#e8dcbc;margin:0 0 24px}
.btn-gold{display:inline-block;background:var(--gold);color:var(--ink);font-weight:700;text-decoration:none;padding:10px 22px;border-radius:999px}
.btn-gold:hover{background:#d8b65c}

/* rules */
.section-title{font:700 22px/1.4 var(--serif);letter-spacing:.06em;text-align:center;margin:48px 0 20px}
.section-title::after{content:"";display:block;width:48px;height:2px;background:var(--gold);margin:10px auto 0}
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;padding:0;list-style:none;margin:0}
.rules li{background:var(--paper-2);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:8px;padding:16px}
.rules b{display:block;font:700 13px/1 var(--sans);color:var(--gold-deep);letter-spacing:.1em;margin-bottom:8px}
.rules strong{display:block;font:700 17px/1.5 var(--serif);margin-bottom:6px}
.rules p{margin:0;font-size:14px;color:var(--muted)}

/* list */
.post-list{list-style:none;padding:0;margin:0}
.post-list li{background:var(--paper-2);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:12px}
.post-list a{font:700 18px/1.5 var(--serif);color:var(--text);text-decoration:none}
.post-list a:hover{color:var(--gold-deep)}
.post-list .meta{display:block;margin:4px 0 6px}
.empty{background:var(--paper-2);border:1px dashed var(--gold);border-radius:8px;padding:24px;text-align:center;color:var(--muted)}

/* article */
main{padding:24px 0 56px}
.crumb{font-size:13px;color:var(--muted);margin:0 0 8px}.crumb a{color:var(--muted)}
article h1,.page h1{font:700 clamp(24px,5.6vw,30px)/1.45 var(--serif);margin:0 0 8px}
article h2,.page h2{font:700 21px/1.5 var(--serif);margin:44px 0 14px;padding:10px 14px;background:var(--ink);color:var(--cream);border-left:6px solid var(--gold);border-radius:4px}
article h3,.page h3{font:700 17px/1.5 var(--serif);margin:28px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.meta{color:var(--muted);font-size:13px}
.disclosure{font-size:13px;color:var(--muted);background:var(--paper-2);border:1px solid var(--line);padding:8px 12px;border-radius:6px}
table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;font-size:14px}
th,td{border:1px solid var(--line);padding:8px;text-align:left}th{background:#efe6d3}

/* product card */
.product-card{display:grid;grid-template-columns:132px 1fr;gap:16px;background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:16px;margin:20px 0}
.product-card img{width:132px;height:132px;object-fit:contain;background:#fff;border-radius:6px;border:1px solid var(--line)}
.product-name{margin:0 0 4px;font-weight:700;line-height:1.6}.product-name a{color:var(--text);text-decoration:none}
.product-meta{margin:0 0 8px;font-size:13px;color:var(--muted)}
.product-headline{margin:0 0 6px;font:700 16px/1.5 var(--serif)}
.pros,.cons{margin:0;padding-left:0;list-style:none;font-size:14px}.pros li{color:var(--ok)}.cons li{color:var(--ng)}
.recommended{font-size:14px;margin:8px 0 12px}
.btn{display:inline-block;background:var(--rakuten);color:#fff;padding:9px 18px;border-radius:6px;text-decoration:none;font-weight:700;font-size:14px}
.btn:hover{opacity:.9}
@media(max-width:520px){.product-card{grid-template-columns:1fr}.product-card img{width:100%;height:180px}}

/* footer */
.site-footer{background:var(--ink);color:#cfc4ab;font-size:13px;padding:28px 0;border-top:3px solid var(--gold)}
.site-footer a{color:var(--cream)}
.footer-nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:12px}
.site-footer p{margin:6px 0}
