:root{
  --beige:#f3f0e8;
  --ink:#171714;
  --muted:#6f6b61;
  --line:#cac5b8;
  --card:#fff;
  --card-border:#d4cfc3;
  --accent:#a33d22;
  --maxw:1120px;
  --serif:Georgia,'Yu Mincho',serif;
  --font:ui-sans-serif,system-ui,'Hiragino Sans','Noto Sans JP',sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--beige);color:var(--ink);font-family:var(--font);line-height:1.7}
a{color:var(--ink);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
section{padding:48px 0}
.lead{color:var(--muted);font-size:1.02rem;margin:6px 0 22px}
.muted{color:var(--muted)}
.kicker{font-size:.76rem;letter-spacing:.18em;font-weight:900;color:var(--accent)}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:6px}
.sec-head h2{font-size:1.5rem;margin:.2em 0}
.linkmore{color:var(--accent);font-weight:700;white-space:nowrap}

/* header */
.site-header{border-bottom:1px solid var(--line);background:var(--beige)}
.site-header .nav{display:flex;justify-content:space-between;align-items:center;padding:22px 24px}
.brand{font-family:var(--serif);font-weight:900;font-size:1.25rem;color:var(--ink);display:flex;flex-direction:column;line-height:1.15}
.brand small{display:block;font-weight:500;color:var(--muted);font-size:.72rem;font-family:var(--font);letter-spacing:.02em}
.nav-links a{margin-left:18px;color:var(--muted);font-weight:600;font-size:.94rem}
.nav-links a.active,.nav-links a:hover{color:var(--ink);text-decoration:none}

/* intro / hero (root scoreboard style) */
.intro{padding:70px 0 44px;display:grid;grid-template-columns:1.6fr 1fr;gap:50px;align-items:end}
.intro h1{font-family:var(--serif);font-size:clamp(3rem,8vw,7.5rem);line-height:.9;letter-spacing:-.07em;margin:.25em 0}
.verdict{border-left:4px solid var(--accent);padding:8px 0 8px 20px}
.verdict b{font-size:1.5rem;display:block}
.verdict p{margin:6px 0 0;color:var(--muted);font-size:.95rem}

/* arena / cards */
.arena{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.team{background:var(--card);padding:32px;border:1px solid var(--card-border);box-shadow:0 15px 40px #382c1810}
.teamtop{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.team h2{font-size:1.7rem;margin:.2em 0;font-family:var(--serif)}
.team small{color:var(--accent);font-family:monospace;font-size:.85rem}
.state{height:max-content;border:1px solid #c9c2b5;padding:5px 9px;font-size:.72rem;color:var(--muted);border-radius:4px}
.money{padding:30px 0 22px}
.money b{display:block;font:700 3.8rem/1 var(--serif);color:var(--ink)}
.money span{color:#767168;font-size:.9rem}
.team dl{border-top:1px solid #ddd8cd;border-bottom:1px solid #ddd8cd;margin:14px 0}
.team dl>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eeeae2}
.team dl>div:last-child{border:0}
.team dt{color:#7c776d}
.team dd{margin:0;font-weight:700}
.team .prog{margin-top:14px;color:var(--muted);font-size:.85rem}
.team>a{display:inline-block;margin-top:14px;color:var(--ink);font-weight:800}

/* strategy */
.strategy .two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.dir{background:var(--card);border:1px solid var(--card-border);border-radius:10px;padding:24px}
.dir h3{margin-top:0;font-family:var(--serif);font-size:1.25rem}
.dir .quote{background:#faf6ee;border-left:3px solid var(--accent);padding:10px 14px;border-radius:8px;color:#5a4a3a;font-size:.92rem;margin-top:12px}

/* posts */
.posts{display:grid;gap:14px}
.post{background:var(--card);border:1px solid var(--card-border);border-radius:10px;padding:20px 22px}
.post h3{margin:.1em 0 .3em;font-size:1.15rem}
.post h3 a{color:var(--ink)}
.post .meta{color:var(--muted);font-size:.84rem;margin:.2em 0 .5em}
.post .more{font-weight:700;font-size:.92rem;color:var(--accent)}
.tag{display:inline-block;background:#ffffff;color:var(--accent);border:1px solid var(--line);border-radius:999px;padding:1px 9px;font-size:.74rem;margin-right:5px}

/* article body (own posts) */
.article h1{font-size:clamp(1.7rem,4vw,2.4rem);margin:.2em 0 .1em;font-family:var(--serif)}
.article .meta{color:var(--muted);font-size:.9rem;margin-bottom:22px}
.article h2{margin-top:34px;font-size:1.35rem;border-left:4px solid var(--accent);padding-left:12px}
.article h3{margin-top:24px}
.article p{margin:.7em 0}
.article ul,.article ol{padding-left:1.4em}
.article blockquote{margin:1em 0;padding:12px 16px;background:#faf6ee;border-left:4px solid var(--muted);border-radius:8px;color:#3a352c}
.article blockquote.obs{background:#faf6ee;border-left-color:var(--accent);color:#5a2540}
.article table{border-collapse:collapse;width:100%;margin:1em 0;font-size:.95rem}
.article th,.article td{border:1px solid var(--card-border);padding:8px 10px;text-align:left}
.article th{background:#efeadd}
.article code{background:#efeadd;padding:1px 6px;border-radius:6px;font-size:.9em}
.article .formula{background:#efeadd;border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-family:ui-monospace,monospace;color:#3a2c1a;margin:.5em 0}

/* breadcrumb */
.crumbs{padding:16px 24px 0;color:var(--muted);font-size:.85rem}
.crumbs a{color:var(--accent)}

/* RSS subscribe link */
.rss-link{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#fff;background:var(--accent);padding:9px 16px;border-radius:999px;font-size:.92rem}
.rss-link:hover{text-decoration:none;opacity:.92}

/* ads */
.ad-slot{margin:30px 0;border:1px dashed var(--card-border);border-radius:12px;min-height:96px;display:grid;place-items:center;background:#fff8;color:var(--muted);text-align:center;font-size:.82rem}

/* footer */
.site-footer{background:var(--beige);border-top:1px solid var(--line);padding:40px 0 30px;margin-top:40px}
.site-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.site-footer h4{font-size:1rem;margin:0 0 10px;font-family:var(--serif)}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:.4em 0}
.site-footer .copy{margin-top:28px;color:var(--muted);font-size:.82rem;border-top:1px solid var(--line);padding-top:18px}

@media(max-width:820px){
  .intro,.arena,.strategy .two,.site-footer .cols{grid-template-columns:1fr}
  .intro{padding-top:46px}
  .money b{font-size:3rem}
  .site-footer .cols{gap:22px}
}
