/* ちよすけラボ 共通スタイル — layout: centered reading column, cards for tools */
:root{--bg:#f6f8f5;--surface:#ffffff;--ink:#1d2a24;--muted:#61706a;--line:#e1e7e2;--accent:#3c8a2e;--accent-2:#0e6b75;--accent-ink:#fff;--soft:#eef6e2;
  --f-body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;--f-num:"IBM Plex Mono",ui-monospace,Menlo,monospace}
@media (prefers-color-scheme:dark){:root{--bg:#121815;--surface:#1a221e;--ink:#e4ece6;--muted:#9aaba2;--line:#2b3832;--accent:#7cc46a;--accent-2:#4fb3bd;--accent-ink:#0f150f;--soft:#1f2c1f;color-scheme:dark}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.75}
a{color:var(--accent-2)}
.wrap{max-width:960px;margin:0 auto;padding-inline:20px}
header.site{border-bottom:1px solid var(--line);background:var(--surface)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;color:var(--ink);text-decoration:none;letter-spacing:.04em}
.logo img{width:28px;height:28px}
header.site nav{display:flex;gap:16px;font-size:14px}
header.site nav a{color:var(--muted);text-decoration:none}
header.site nav a:hover{color:var(--accent)}
.hero{padding-block:56px 40px}
.hero h1{font-size:clamp(28px,4.4vw,42px);line-height:1.35;margin:0 0 14px;text-wrap:balance}
.hero p{color:var(--muted);max-width:40em;margin:0 0 20px}
.promise{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.promise li{background:var(--soft);color:var(--ink);border-radius:99px;padding:4px 14px;font-size:14px;font-weight:700}
.promise li::before{content:"✓ ";color:var(--accent)}
h2{font-size:22px;margin:40px 0 14px}
.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.tool{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
a.tool:hover{border-color:var(--accent);transform:translateY(-2px)}
.tool .tag{font-size:12px;font-weight:700;color:var(--accent)}
.tool h3{margin:0;font-size:19px}
.tool p{margin:0;color:var(--muted);font-size:14px}
.tool .go{margin-top:auto;font-weight:700;color:var(--accent-2);font-size:14px}
.tool.soon{opacity:.6;border-style:dashed}
.prose{max-width:720px}
.prose h1{font-size:28px;margin:36px 0 8px}
.prose h2{font-size:20px}
.prose p,.prose li{color:var(--ink)}
.prose .lead{color:var(--muted)}
.box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:top}
footer.site{border-top:1px solid var(--line);margin-top:56px;padding-block:24px;font-size:13px;color:var(--muted)}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between}
footer.site a{color:var(--muted)}
/* 広告枠（記事ページ用・審査後に有効化） */
.ad-slot{min-height:0}
@media (max-width:600px){header.site nav{display:none}.hero{padding-block:36px 24px}}
