
:root{--bg:#fff;--fg:#0f172a;--sub:#475569;--border:#e5e7eb;--muted:#64748b;--accent:#22c55e;--accent-weak:#ecfdf5;--radius:14px;--shadow:0 1px 2px rgba(15,23,42,.05), 0 6px 18px rgba(15,23,42,.06);--font: system-ui,-apple-system,"Noto Sans JP","Hiragino Kaku Gothic ProN","Meiryo",sans-serif}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font);line-height:1.8}
a{color:#0ea5e9;text-decoration:none}a:hover{text-decoration:underline}
.container{max-width:960px;margin:0 auto;padding:0 20px}
header.site{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--border)}
header.site .inner{display:flex;gap:12px;align-items:center;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand .title{font-weight:800;font-size:18px}
nav.breadcrumb{font-size:13px;color:var(--muted);padding:10px 0}nav.breadcrumb a{color:var(--muted)}
main{padding:28px 0 64px 0}.hero{padding:26px 0 10px 0}.hero h1{margin:0 0 6px 0;font-size:28px}.hero p{margin:0;color:var(--sub)}
.card{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin:14px 0}
.card .h{display:flex;gap:12px;align-items:center}.card .h .bar{width:4px;height:24px;background:var(--accent);border-radius:4px}
.card h2{margin:0;font-size:18px}.card .desc{color:var(--sub);margin:6px 0 0 0}.card .ft{display:flex;gap:12px;align-items:center;margin-top:12px;flex-wrap:wrap}
.article{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
.article h1{margin:0 0 6px 0;font-size:26px}.article h2{margin-top:28px;padding-left:10px;border-left:4px solid var(--accent)}.article h3{margin-top:18px}
.table-wrap{overflow:auto;margin:10px 0}table{width:100%;border-collapse:collapse;font-size:15px}th,td{border:1px solid var(--border);padding:8px;vertical-align:top}thead th{background:#f8fafc}
blockquote{background:#f8fafc;padding:12px 14px;border-left:4px solid var(--accent);margin:12px 0;color:#0f172a}
footer.site{border-top:1px solid var(--border);padding:24px 0;color:#64748b;font-size:14px}
.badge{display:none}
.card a.card-link{position:absolute;inset:0;z-index:1;border-radius:inherit}
.card a.card-link:focus{outline:none;box-shadow:0 0 0 4px rgba(34,197,94,.25)}
.card .h a,.article a{position:relative;z-index:2}
