/* ATAWI SHRINE site.css — 設計書04準拠（白木と朱） */
:root{
--c-primary:#a63c2f;--c-primary-dark:#7f2d23;--c-primary-pale:#f6e9e6;
--c-ink:#2b2723;--c-ink-weak:#6b635b;--c-bg:#faf8f4;--c-surface:#fff;--c-line:#e3ddd4;
--c-link:#8a3327;--c-visited:#6d4a44;--c-warn-bg:#fdf6e3;--c-ok:#3d6b4f;
--font-body:"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;
--font-serif:"Hiragino Mincho ProN","Noto Serif JP",serif;}
*{box-sizing:border-box}
body{margin:0;background:var(--c-bg);color:var(--c-ink);font-family:var(--font-body);font-size:16px;line-height:1.9}
a{color:var(--c-link)}a:visited{color:var(--c-visited)}
main,.breadcrumb{max-width:860px;margin:0 auto;padding:0 16px}
main{padding-bottom:48px}
h1{font-family:var(--font-serif);font-size:28px;line-height:1.4;margin:.4em 0}
h2{font-size:22px;border-left:4px solid var(--c-primary);border-bottom:1px solid var(--c-line);padding:.15em 0 .15em .5em;margin-top:2em}
h3{font-size:18px}
img{max-width:100%;height:auto}
table{border-collapse:collapse;width:100%}
caption{text-align:left;font-size:13px;color:var(--c-ink-weak);margin-bottom:4px}
/* header */
.site-header{background:var(--c-surface);border-bottom:2px solid var(--c-primary);padding:10px 16px}
.site-brand{margin:0;font-size:13px;color:var(--c-ink-weak)}
.site-brand a{text-decoration:none;color:inherit;display:inline-flex;flex-direction:column}
.site-brand strong{font-family:var(--font-serif);font-size:22px;color:var(--c-primary-dark);letter-spacing:.06em}
.gnav{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:6px}
.gnav a{font-size:14px;text-decoration:none;color:var(--c-ink)}
.gnav a:hover{color:var(--c-primary)}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;padding:8px 0;margin:0;font-size:13px;color:var(--c-ink-weak)}
.breadcrumb li+li::before{content:"／";margin-right:4px}
/* hero */
.hero{background:var(--c-surface);border:1px solid var(--c-line);padding:24px;margin-top:16px}
.hero h1{margin-top:0}
.hero-sub{display:block;font-size:14px;letter-spacing:.3em;color:var(--c-primary)}
.hero-search{display:flex;gap:8px;margin:12px 0}
.hero-search input{flex:1;padding:10px;border:1px solid var(--c-line);font-size:16px}
.hero-search button,.cta-btn{background:var(--c-primary);color:#fff;border:none;padding:10px 20px;font-size:15px;cursor:pointer;text-decoration:none;display:inline-block}
.hero-search button:hover,.cta-btn:hover{background:var(--c-primary-dark)}
.stats{list-style:none;display:flex;flex-wrap:wrap;gap:20px;padding:0;margin:8px 0 0;font-size:14px;color:var(--c-ink-weak)}
.stats strong{font-size:24px;color:var(--c-primary-dark);margin-right:2px}
/* cards */
.card-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.card a{display:block;background:var(--c-surface);border:1px solid var(--c-line);padding:14px;text-decoration:none;color:var(--c-ink);height:100%}
.card a:hover{border-color:var(--c-primary)}
.card-title{display:block;font-weight:700}
.card-meta{display:block;font-size:13px;color:var(--c-primary-dark)}
.card-desc{display:block;font-size:13px;color:var(--c-ink-weak);margin-top:4px}
/* shrine */
.badges{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 0}
.badge{background:var(--c-primary-pale);color:var(--c-primary-dark);font-size:12px;padding:2px 8px;border-radius:2px}
.badge-ok{background:#e6efe9;color:var(--c-ok)}
.badge-gray{background:#eee;color:#555}
.badge-level{background:var(--c-warn-bg);color:#7a5c00}
.kana{font-size:14px;color:var(--c-ink-weak);font-family:var(--font-body);margin-left:.5em}
.checked{font-size:12px;color:var(--c-ink-weak);margin:0}
.lead{font-size:17px}
.cover img{width:100%}
.cover figcaption,.gallery figcaption{font-size:12px;color:var(--c-ink-weak)}
.placeholder{background:var(--c-primary-pale);border:1px dashed var(--c-line);padding:40px 16px;text-align:center;display:flex;flex-direction:column;gap:6px;color:var(--c-primary-dark)}
.placeholder strong{font-family:var(--font-serif);font-size:22px}
.placeholder span{font-size:12px}
.basic th{width:120px;text-align:left;background:#f4f0e9;font-weight:600;padding:8px;border:1px solid var(--c-line);vertical-align:top}
.basic td{padding:8px;border:1px solid var(--c-line);background:var(--c-surface)}
.pending{background:var(--c-warn-bg);padding:1px 6px;font-size:13px}
.src-badge,.src{font-size:12px;color:var(--c-ink-weak)}
.gallery{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.rel-list{columns:2;column-gap:24px;padding-left:1.2em}
.rel-list .mini,.im-link{font-size:13px;color:var(--c-ink-weak)}
.inline-nav{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px}
.sources{font-size:14px}
.disclaimer{background:var(--c-surface);border:1px solid var(--c-line);padding:12px 16px;font-size:13px;color:var(--c-ink-weak);margin-top:32px}
/* table list */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;align-items:center}
.filters input,.filters select{padding:8px;border:1px solid var(--c-line);font-size:15px}
.filters input{flex:1;min-width:200px}
#hit{font-size:13px;color:var(--c-ink-weak)}
.shrine-table th{background:#f4f0e9;border:1px solid var(--c-line);padding:6px;font-size:14px}
.shrine-table td{background:var(--c-surface);border:1px solid var(--c-line);padding:6px;font-size:14px}
.count{font-size:15px;color:var(--c-ink-weak);font-family:var(--font-body)}
.updates-list{list-style:none;padding:0}
.updates-list time{color:var(--c-ink-weak);font-size:13px;margin-right:8px}
/* cta / footer */
.cta{max-width:860px;margin:24px auto;padding:20px;background:#efece6;border:1px solid var(--c-line);font-size:14px}
.site-footer{background:var(--c-surface);border-top:1px solid var(--c-line);padding:24px 16px;font-size:13px;color:var(--c-ink-weak)}
.fnav{display:flex;flex-wrap:wrap;gap:14px;max-width:860px;margin:0 auto 8px}
.sister,.copyright,.note{max-width:860px;margin:4px auto}
@media(max-width:600px){.rel-list{columns:1}h1{font-size:24px}}
@media print{.site-header,.gnav,.cta,.site-footer,.filters,.hero-search{display:none}body{background:#fff}}
/* article */
.article .body h2{margin-top:1.6em}
.article .lead{background:var(--c-surface);border:1px solid var(--c-line);padding:14px 16px}
.note-box{background:var(--c-warn-bg);padding:10px 14px;font-size:13px}
.prevnext{display:flex;justify-content:space-between;gap:16px;margin-top:32px;font-size:14px}
.research h1{font-size:24px}
