:root { --bg:#f8f5f1; --panel:#fff; --ink:#302d2b; --muted:#6e6862; --accent:#a97373; --soft:#f3e8e5; --line:#ddd4cd; }
body[data-theme="tsukiyo"] { --bg:#111827; --panel:#172238; --ink:#f5ead1; --muted:#b8b2a7; --accent:#d6b976; --soft:#222d43; --line:#39445a; }
body[data-theme="hibi"] { --bg:#f2eee5; --panel:#fffdf7; --ink:#39352f; --muted:#776f64; --accent:#7c5b3d; --soft:#e7ddce; --line:#d4c9b8; }
body[data-theme="hiyori"] { --bg:#f3f5ef; --panel:#fff; --ink:#28332e; --muted:#69736d; --accent:#557665; --soft:#e4ece5; --line:#ccd7cf; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:"Noto Sans JP",sans-serif; line-height:1.9; }
a { color:inherit; }
.news-head { min-height:78px; padding:14px max(20px,calc((100% - 1000px)/2)); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:24px; background:var(--panel); }
.news-brand { display:grid; text-decoration:none; }
.news-brand strong { font-family:"Noto Serif JP",serif; font-size:19px; }
.news-brand span { color:var(--muted); font-size:9px; letter-spacing:.16em; }
.back-link { color:var(--muted); font-size:11px; font-weight:700; text-underline-offset:4px; }
.news-main { width:min(100% - 40px,880px); min-height:calc(100vh - 170px); margin:0 auto; padding:86px 0 110px; }
.page-title { margin-bottom:48px; }
.page-title > p,.detail-eyebrow { margin:0 0 10px; color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.2em; }
.page-title h1 { margin:0 0 12px; font:600 clamp(2rem,5vw,3.2rem)/1.5 "Noto Serif JP",serif; }
.page-title span { color:var(--muted); font-size:13px; }
.archive { border-top:1px solid var(--line); }
.archive-item { padding:28px 4px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:170px 1fr 28px; align-items:center; gap:24px; text-decoration:none; }
.archive-meta { display:grid; gap:7px; }
.archive-meta time,.detail-meta time { color:var(--muted); font-size:11px; letter-spacing:.07em; }
.archive-meta span,.detail-meta span { width:fit-content; padding:3px 8px; border-radius:999px; background:var(--soft); color:var(--accent); font-size:9px; font-weight:700; }
.archive-item h2 { margin:0; font:600 17px/1.7 "Noto Serif JP",serif; }
.archive-item i { color:var(--accent); font-style:normal; }
.demo-guide { margin-top:54px; padding:24px 28px; border:2px solid var(--accent); border-radius:12px; display:flex; align-items:center; justify-content:space-between; gap:24px; background:var(--panel); }
.demo-guide p { margin:0; color:var(--muted); font-size:12px; }
.demo-guide strong { margin-bottom:3px; display:block; color:var(--ink); font-size:14px; }
.demo-guide a { flex:0 0 auto; color:var(--accent); font-size:12px; font-weight:700; }
.news-detail { padding-bottom:64px; border-bottom:1px solid var(--line); }
.detail-meta { margin-bottom:20px; display:flex; align-items:center; gap:12px; }
.news-detail h1 { margin:0 0 38px; font:600 clamp(2rem,5vw,3rem)/1.55 "Noto Serif JP",serif; }
.news-detail > img { width:100%; max-height:500px; margin-bottom:38px; border-radius:12px; object-fit:cover; }
.detail-body { color:var(--muted); }
.detail-body p { margin:0 0 1.7em; }
.detail-back { margin-top:30px; display:inline-block; color:var(--muted); font-size:12px; font-weight:700; }
.empty-message { padding:45px 0; border-bottom:1px solid var(--line); color:var(--muted); }
footer { padding:30px 20px; background:var(--ink); color:var(--bg); text-align:center; font-size:10px; }
footer p { margin:0; }
@media(max-width:620px){.news-head{min-height:68px}.news-brand strong{font-size:15px}.news-main{width:min(100% - 32px,880px);padding:60px 0 84px}.archive-item{grid-template-columns:1fr 24px;gap:10px}.archive-meta{grid-column:1/-1;display:flex;align-items:center;gap:10px}.demo-guide{align-items:flex-start;flex-direction:column}.news-detail h1{font-size:1.8rem}}
