/*
Theme Name: AI Work Tips
Theme URI: https://ai-work-tips.com/
Author: AI Work Tips
Description: A lightweight, accessible WordPress theme for the 業務改善推進プロジェクト website.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: aiwork
*/

:root { --ink:#172033; --muted:#566176; --brand:#126b5a; --brand-dark:#0c4d42; --soft:#eef7f4; --line:#dbe3e9; --surface:#fff; --page:#f7f9fb; --content:72rem; --radius:.75rem; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--page); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; font-size:16px; line-height:1.75; }
a { color:var(--brand-dark); text-underline-offset:.16em; }
a:hover { color:var(--brand); }
a:focus-visible, button:focus-visible { outline:3px solid #e29521; outline-offset:3px; }
img { height:auto; max-width:100%; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { position:fixed; top:1rem; left:1rem; z-index:100; width:auto; height:auto; margin:0; padding:.6rem .9rem; clip:auto; background:#fff; color:#000; }
.site-header { background:var(--surface); border-bottom:1px solid var(--line); }
.header-inner, .site-main, .footer-inner { width:min(calc(100% - 2rem), var(--content)); margin:0 auto; }
.header-inner { display:flex; gap:1.5rem; align-items:center; justify-content:space-between; padding:1rem 0; }
.site-branding { min-width:0; }
.custom-logo-link { display:block; line-height:0; margin-bottom:.25rem; }
.custom-logo { max-height:52px; width:auto; }
.site-title { margin:0; font-size:1.2rem; font-weight:750; line-height:1.35; }
.site-title a { color:var(--ink); text-decoration:none; }
.site-description { margin:.1rem 0 0; color:var(--muted); font-size:.8rem; line-height:1.5; }
.primary-menu, .footer-menu { display:flex; flex-wrap:wrap; gap:.25rem 1.25rem; align-items:center; list-style:none; padding:0; margin:0; }
.primary-menu a, .footer-menu a { display:block; padding:.35rem 0; color:var(--ink); font-weight:650; text-decoration:none; }
.site-main { padding:3rem 0 4rem; }
.entry, .not-found, .archive-header { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.25rem, 3vw, 2.5rem); box-shadow:0 8px 26px rgba(23,32,51,.04); }
.entry + .entry { margin-top:1.5rem; }
.entry-header { margin-bottom:1.25rem; }
.entry-title, .page-title { margin:0; font-size:clamp(1.65rem, 4vw, 2.5rem); line-height:1.3; letter-spacing:.01em; }
.entry-title a { color:var(--ink); text-decoration:none; }
.entry-meta { color:var(--muted); font-size:.9rem; margin-top:.5rem; }
.entry-content > *:first-child { margin-top:0; }
.entry-content > *:last-child { margin-bottom:0; }
.entry-content h2, .entry-content h3 { line-height:1.4; margin-top:2rem; }
.entry-content blockquote { border-left:4px solid var(--brand); margin:1.5rem 0; padding:.25rem 1rem; color:var(--muted); }
.entry-content table { width:100%; border-collapse:collapse; }
.entry-content th, .entry-content td { border:1px solid var(--line); padding:.7rem; text-align:left; }
.entry-content .wp-block-button__link { background:var(--brand); }
.post-thumbnail { display:block; margin:0 0 1.25rem; }
.post-thumbnail img { border-radius:calc(var(--radius) - .2rem); }
.archive-header { margin-bottom:1.5rem; background:var(--soft); }
.archive-description { color:var(--muted); }
.front-hero { margin-bottom:2rem; padding:clamp(1.5rem, 5vw, 4rem); border-radius:var(--radius); background:linear-gradient(135deg,#d9f1e8,#f7fbf9); }
.front-hero p { max-width:48rem; margin:.8rem 0 0; color:#34465d; font-size:clamp(1rem, 2vw,1.2rem); }
.section-heading { margin:3rem 0 1rem; font-size:1.5rem; }
.post-list { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); }
.post-card { padding:1.2rem; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); }
.post-card h3 { margin:.4rem 0; line-height:1.4; font-size:1.12rem; }
.post-card h3 a { color:var(--ink); text-decoration:none; }
.post-card time { color:var(--muted); font-size:.85rem; }
.navigation.pagination { margin-top:2rem; }
.nav-links { display:flex; flex-wrap:wrap; gap:.5rem; }
.page-numbers { padding:.35rem .65rem; border:1px solid var(--line); border-radius:.35rem; text-decoration:none; }
.page-numbers.current { background:var(--brand); border-color:var(--brand); color:#fff; }
.site-footer { border-top:1px solid var(--line); background:#fff; color:var(--muted); }
.footer-inner { padding:2rem 0; }
.footer-menu { margin-bottom:1rem; }
.site-info { font-size:.85rem; }
@media (max-width: 42rem) { .header-inner { align-items:flex-start; flex-direction:column; gap:.8rem; } .site-main { padding-top:1.5rem; } }
