:root { color-scheme:light; --bg:#f5f6f2; --surface:#ffffff; --line:#dde2d9; --text:#161a17; --muted:#5c6660; --accent:#5f8a1a; }
@media (prefers-color-scheme: dark) { :root { color-scheme:dark; --bg:#111516; --surface:#171c1d; --line:#2a3233; --text:#edf0ea; --muted:#8f9894; --accent:#c8f859; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font-family:system-ui,-apple-system,"Segoe UI","Hiragino Sans","Noto Sans JP",sans-serif; line-height:1.7; }
main { max-width:760px; margin:0 auto; padding:40px 16px 64px; }
header { display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:16px; margin-bottom:24px; }
.brand { display:inline-flex; align-items:center; gap:8px; font-weight:800; font-size:1.1rem; }
nav a, a { color:var(--accent); }
h1 { font-size:1.8rem; line-height:1.3; margin:0 0 4px; }
h2 { font-size:1.2rem; margin:32px 0 8px; }
h3 { font-size:1rem; margin:20px 0 6px; }
.updated { color:var(--muted); margin:0 0 24px; }
.summary { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:16px 20px; }
.summary ul { margin:0; padding-left:1.2em; } .summary p { margin:0; }
ul { padding-left:1.4em; }
code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.9em; overflow-wrap:anywhere; }
.brand-mark { width:24px; height:24px; }
.shot { margin:24px 0; }
.shot img { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:12px; }
.shot figcaption { color:var(--muted); font-size:.9rem; margin-top:8px; }
.shots { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:0 16px; }
.shots .shot { margin:8px 0 16px; }
.editions { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:16px; margin:24px 0; }
.edition { display:flex; flex-direction:column; align-items:flex-start; background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:16px 20px 20px; }
.edition h2 { margin:0 0 4px; }
.edition p { margin:0 0 16px; flex:1; }
.button { display:inline-block; padding:8px 18px; border-radius:999px; background:var(--accent); color:var(--bg); border:1px solid var(--accent); font-weight:700; text-decoration:none; }
.button.secondary { background:transparent; color:var(--accent); }
.button:hover { opacity:.85; }
.video { margin:8px 0 24px; }
.video-frame { aspect-ratio:16 / 9; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--surface); }
.video-frame iframe { display:block; width:100%; height:100%; border:0; }
.video figcaption { color:var(--muted); font-size:.9rem; margin-top:8px; }
