:root { --bg:#fff; --ink:#111; --muted:#666; --line:#e8e8e8; --acc:#111; --card:#fff; --check:#def9e4; --ok:#22a34a; }
*{box-sizing:border-box} html,body{margin:0;background:var(--bg);color:var(--ink);overflow-x:hidden;font:17px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
a{color:#0b57d0;text-decoration:none} a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.site-header{border-bottom:1px solid var(--line);padding:14px 0 10px}
.brand{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:700;font-size:1.15rem;letter-spacing:-.02em}
.brand img{height:28px;width:28px;display:block}
.brand:hover{text-decoration:none}
nav.menu{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:.95rem}
nav.menu a{color:var(--ink)}
.hero{padding:22px 0 6px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;padding:8px 0 28px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;color:inherit}
.card img{width:100%;height:170px;object-fit:cover;display:block;background:#f3f3f3}
.card .t{padding:12px 14px 16px}
.card h2{font-size:1.02rem;margin:0 0 6px;line-height:1.3;color:var(--ink)}
.card p{margin:0;color:var(--muted);font-size:.88rem}
article.post{padding:18px 0 28px}
article.post h1{margin:0 0 8px;font-size:1.7rem;line-height:1.25}
.meta{color:var(--muted);font-size:.88rem;margin-bottom:16px}
.content p{margin:0 0 14px}
.content h2{margin:28px 0 10px;font-size:1.25rem}
.content h3{margin:22px 0 8px;font-size:1.08rem}
.content ul,.content ol{margin:0 0 16px 20px}
.content li{margin:0 0 6px}
.content img{max-width:100%;height:auto;display:block;margin:8px auto 0;border-radius:6px;background:#f3f3f3}
.content figure.pic{margin:18px 0 8px}
.content figcaption{color:var(--muted);font-size:.9rem;margin:4px 0 0;text-align:center}
.content mark{background:#ffe566;padding:0 .15em}
.content blockquote.check{margin:0 0 22px;padding:16px 18px 16px 58px;background:var(--check);border:0;border-radius:8px;position:relative;color:#1a1a1a}
.content blockquote.check:before{content:"✓";position:absolute;left:16px;top:16px;width:26px;height:26px;border-radius:50%;background:var(--ok);color:#fff;font-size:15px;font-weight:700;line-height:26px;text-align:center}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 20px}.content table{width:max-content;min-width:100%;border-collapse:collapse;margin:0;font-size:.92rem}
.content th,.content td{border:1px solid var(--line);padding:8px 10px;vertical-align:top;white-space:nowrap}
.content thead{background:#f0f0f0}
.content caption{caption-side:top;text-align:left;color:var(--muted);margin:0 0 8px;font-size:.9rem}
.pager{display:flex;gap:12px;padding:0 0 40px}
.sape-links{max-width:1080px;margin:0 auto;padding:8px 16px 6px;color:var(--muted);font-size:.86rem;line-height:1.45}
.sape-links a{color:var(--muted)}
.site-footer{border-top:1px solid var(--line);padding:18px 0 36px;color:var(--muted);font-size:.88rem}
.site-footer a{color:var(--muted)}
@media(max-width:720px){article.post h1{font-size:1.35rem}.content blockquote.check{padding-left:52px}}