:root { --bg:#1f143e; --card:#2a1f52; --line:#3a2e68; --text:#ece9f7; --muted:#b4acd6; --accent:#f5bd3a; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
a { color:var(--accent); }
nav { max-width:960px; margin:0 auto; padding:18px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
nav .brand { display:flex; align-items:center; gap:10px; color:var(--text); text-decoration:none; font-weight:800; font-size:20px; }
nav .brand img { width:34px; height:34px; border-radius:8px; }
nav .brand span { color:var(--accent); }
nav .links { display:flex; gap:18px; }
nav .links a { color:var(--muted); text-decoration:none; }
nav .links a:hover, nav .links a.on { color:var(--accent); }
main { max-width:960px; margin:0 auto; padding:16px 16px 64px; }
.narrow { max-width:760px; }
h1 { margin:0; font-size:30px; line-height:1.25; }
h1 span { color:var(--accent); }
h2 { margin:0 0 8px; font-size:19px; color:var(--accent); }
.updated { color:var(--muted); font-size:14px; margin:4px 0 20px; }
section.card { background:var(--card); border-radius:14px; padding:20px 22px; margin:16px 0; }
p, li { margin:6px 0; }
ul, ol { padding-left:20px; margin:6px 0; }
.hero { text-align:center; padding:28px 0 12px; }
.hero img.logo { width:200px; height:200px; border-radius:24px; }
.hero h1 { font-size:36px; margin-top:12px; }
.hero p { color:var(--muted); font-size:19px; max-width:620px; margin:12px auto 22px; }
.btn { display:inline-block; background:var(--accent); color:#1f143e; font-weight:700; text-decoration:none; padding:12px 26px; border-radius:999px; margin:4px; }
.btn.ghost { background:transparent; color:var(--text); border:1px solid var(--line); }
.shot { margin:28px 0; text-align:center; }
.shot img { width:100%; height:auto; border-radius:12px; border:1px solid var(--line); }
.shot figcaption { color:var(--muted); font-size:14px; margin-top:8px; }
.grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:14px; margin:20px 0; }
.grid .card { margin:0; }
footer { color:var(--muted); font-size:14px; text-align:center; padding:24px 16px 40px; border-top:1px solid var(--line); }
footer a { color:var(--muted); margin:0 8px; }
@media (max-width:560px) { .hero h1 { font-size:28px; } .hero img.logo { width:150px; height:150px; } }
