:root{--bg:#faf8f5;--surface:#fff;--ink:#17191c;--muted:#5c6166;--line:#e2ded8;--brand:#0e7c8b;--warn:#8a5a00;--warn-bg:#ffe7be;--bad:#8c1d18;--bad-bg:#fbdad7;--good:#12451a;--good-bg:#d6f0d8;--radius:16px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Noto Sans JP","Noto Sans SC",sans-serif}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.hero{background:linear-gradient(160deg,#0e7c8b,#0a5766);color:#fff;padding:40px 0 28px}
.hero h1{margin:.1em 0 .2em;font-size:clamp(24px,4vw,36px);line-height:1.25}
.eyebrow{opacity:.85;margin:0;letter-spacing:.04em;text-transform:uppercase;font-size:13px}
.bundle{margin:.2em 0 1em;opacity:.9;font-size:14px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.chip{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:5px 12px;font-size:13px}
.chip.warn{background:var(--warn-bg);color:var(--warn);border-color:transparent}
.chip.bad{background:var(--bad-bg);color:var(--bad);border-color:transparent}
.note{background:rgba(255,255,255,.12);border-radius:12px;padding:12px 14px;font-size:14px;margin:0}
main{padding:12px 0 40px}
section{margin:32px 0}
h2{font-size:clamp(20px,3vw,26px);margin:0 0 4px}
.sub{color:var(--muted);margin:0 0 16px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
figure{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
figure img{display:block;width:100%;height:auto;background:#eee}
figcaption{padding:8px 12px;font-size:13px;color:var(--muted)}
.pair{margin:0 0 26px}
.pair h3{font-size:17px;margin:0 0 8px}
.pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pair-grid figcaption{font-weight:600;color:var(--ink)}
video{width:100%;max-width:360px;border-radius:var(--radius);border:1px solid var(--line);background:#000}
.kv{list-style:none;padding:0;margin:0}
.kv li{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.kv span{color:var(--muted);font-size:14px}
code{background:#f0ede9;border-radius:6px;padding:2px 6px;font-size:13px;word-break:break-all}
a{color:var(--brand)}
footer{border-top:1px solid var(--line);padding:18px 20px 40px;color:var(--muted);font-size:14px}
@media(max-width:640px){.pair-grid{grid-template-columns:1fr}.kv li{grid-template-columns:1fr}}

.chip.good{background:var(--good-bg);color:var(--good);border-color:transparent}
.pair-grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.pair-grid.three{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.pair-grid.three{grid-template-columns:1fr}}
