:root{--bg:#ffffff;--fg:#111;--muted:#666;--accent:#000}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',sans-serif;color:var(--fg);background:var(--bg)}
.container{max-width:1100px;margin:0 auto;padding:20px}
nav{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff}
nav a{color:var(--fg);text-decoration:none;margin:0 10px}
.brand{font-weight:800}
.hero{padding:48px 20px;text-align:center}
.h1{font-size:40px;font-weight:900;margin:0 0 12px}
.h2{font-size:20px;color:var(--muted);margin:0 0 24px}
.ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{padding:12px 16px;border-radius:10px;border:1px solid #ddd;background:#fff;cursor:pointer}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.card{border:1px solid #eee;border-radius:12px;padding:10px}
.card img{width:100%;height:150px;object-fit:cover;border-radius:8px}
footer{border-top:1px solid #eee;padding:20px;text-align:center;color:#666;margin-top:40px}
label.button{display:inline-block;padding:12px 16px;border:1px dashed #ccc;border-radius:10px;cursor:pointer}
input[type=file]{display:none}
.notice{background:#f8f8f8;padding:10px;border-radius:8px;border:1px solid #eee}