
:root {
  --ink:#111827; --muted:#6b7280; --border:#e5e7eb; --bg:#f7fafc; --accent:#0ea5e9; --accent-2:#10b981;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; color:var(--ink); background:var(--bg); }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.container { max-width: 1040px; margin: 0 auto; padding: 24px; }
.header { background:#fff; border-bottom:1px solid var(--border); position:sticky; top:0; z-index:10; }
.header .inner { display:flex; align-items:center; gap:16px; justify-content:space-between; }
.nav { display:flex; gap:14px; flex-wrap:wrap; }
.main { padding: 24px 0; }
.card { background:#fff; border:1px solid var(--border); border-radius:14px; padding:20px; box-shadow: 0 1px 4px #0000000d; }
h1 { font-size: clamp(24px, 3.4vw, 36px); margin: 0 0 10px; font-weight:800; letter-spacing:-0.02em; }
h2 { font-size: 22px; margin: 18px 0 8px; }
h3 { font-size: 18px; margin: 14px 0 8px; }
ul { margin: 8px 0 8px 20px; }
.grid { margin-top:18px; display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap:14px; }
.svgwrap { width:100%; aspect-ratio: 16/9; border:1px dashed var(--border); border-radius:12px; display:flex; align-items:center; justify-content:center; background:#f0fdf4; margin-top:10px; }
footer { margin-top: 30px; border-top:1px solid var(--border); background:#fff; }
footer .inner { padding:16px 24px; color:var(--muted); font-size:14px; display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; }
.badge { display:inline-block; padding:3px 8px; border-radius:999px; font-size:12px; border:1px solid var(--border); background:#f8fafc; color:#0f172a; }
.notice { color:#0f5132; background:#d1e7dd; border:1px solid #badbcc; padding:10px 12px; border-radius:8px; }
.small { font-size: 12px; color: var(--muted); }
.table { width:100%; border-collapse: collapse; }
.table th, .table td { border:1px solid var(--border); padding:8px 10px; text-align:left; }
.btn { background: var(--accent); color:#fff; border:0; padding:10px 14px; border-radius:8px; cursor:pointer; }
.btn.secondary { background:#fff; color:var(--ink); border:1px solid var(--border); }
