/* 八 フロントの部品 ─ 色はテーマに従う（currentColor と透明だけ） */
.clfr{--clfr-line:color-mix(in srgb,currentColor 16%,transparent);--clfr-soft:color-mix(in srgb,currentColor 62%,transparent);box-sizing:border-box;margin:0 0 1.6em;min-width:0}
.clfr *,.clfr *::before,.clfr *::after{box-sizing:border-box}
.clfr a{color:inherit;text-decoration:none}
.clfr img{display:block;max-width:100%}
.clfr-empty{padding:1em;border:1px dashed color-mix(in srgb,currentColor 25%,transparent);font-size:.9em;opacity:.7;margin:0 0 1.6em}

/* 見出し */
.clfr-heading{margin:2.2em 0 1em;padding-bottom:.5em;border-bottom:1px solid var(--clfr-line)}
.clfr-heading h2{margin:0;font-size:1.05em;letter-spacing:.24em;font-weight:700;border:0!important;background:none!important;padding:0!important}
.clfr-heading h2::before,.clfr-heading h2::after{display:none!important}
.clfr-heading p{margin:.3em 0 0;font-size:.82em;color:var(--clfr-soft)}

/* 最新の天体（大） */
.clfr-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:0;border:1px solid var(--clfr-line);overflow:hidden}
.clfr-hero-img{display:block;height:var(--clfr-h,62vh);min-height:320px;overflow:hidden}
.clfr-hero-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.clfr-hero:hover .clfr-hero-img img{transform:scale(1.03)}
.clfr-hero-cap{padding:clamp(1.2em,3vw,2.4em);display:flex;flex-direction:column;justify-content:flex-end;gap:.7em;min-width:0}
.clfr-kicker{font-size:.72em;letter-spacing:.26em;text-transform:uppercase;color:var(--clfr-soft)}
.clfr-hero-name{margin:0!important;font-size:clamp(1.5em,3.2vw,2.4em)!important;line-height:1.2!important;letter-spacing:.04em;overflow-wrap:anywhere;line-break:strict;border:0!important;background:none!important;padding:0!important}
.clfr-hero-name::before,.clfr-hero-name::after{display:none!important}
.clfr-hero-sub{font-size:.9em;color:var(--clfr-soft);overflow-wrap:anywhere}
.clfr-facts{list-style:none!important;margin:.4em 0 0!important;padding:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35em 1em;font-size:.82em;font-variant-numeric:tabular-nums}
.clfr-facts li{margin:0!important;padding:.35em 0!important;border-bottom:1px solid var(--clfr-line);overflow-wrap:anywhere;list-style:none!important}
.clfr-facts li::before{display:none!important}
.clfr-more{margin-top:.6em;align-self:flex-start;font-size:.82em;letter-spacing:.14em;border-bottom:1px solid currentColor;padding-bottom:2px}
@media (max-width:820px){.clfr-hero{grid-template-columns:1fr}.clfr-hero-img{height:min(var(--clfr-h,62vh),60vw);min-height:220px}}
.clfr-hero-wrap{container-type:inline-size;margin:0 0 1.6em}.clfr-hero-wrap>.clfr-hero{margin:0}
@container (max-width:760px){.clfr-hero{grid-template-columns:1fr}.clfr-hero-img{height:auto;aspect-ratio:3/2;min-height:0}}

/* 天体画像 */
.clfr-image{margin:0 0 1.6em}
.clfr-image>a{display:block;overflow:hidden;border:1px solid var(--clfr-line)}
.clfr-image img{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.clfr-image:hover img{transform:scale(1.04)}
.clfr-image figcaption{display:flex;flex-direction:column;gap:.15em;padding:.6em 0 0;font-size:.85em;min-width:0}
.clfr-image figcaption b{overflow-wrap:anywhere}
.clfr-image figcaption span{font-size:.86em;color:var(--clfr-soft);overflow-wrap:anywhere}

/* 新着 */
.clfr-recent.clfr-list{display:grid;gap:0}
.clfr-list .clfr-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.8em;align-items:center;padding:.6em 0;border-bottom:1px solid var(--clfr-line)}
.clfr-list .clfr-thumb{width:72px;height:72px;overflow:hidden;border:1px solid var(--clfr-line)}
.clfr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1em}
.clfr-grid .clfr-item{display:flex;flex-direction:column;border:1px solid var(--clfr-line);min-width:0}
.clfr-grid .clfr-thumb{aspect-ratio:4/3;overflow:hidden}
.clfr-grid .clfr-meta{padding:.6em .7em .8em}
.clfr-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.clfr-item:hover .clfr-thumb img{transform:scale(1.05)}
.clfr-meta{display:flex;flex-direction:column;gap:.1em;min-width:0}
.clfr-meta b{font-size:.95em;overflow-wrap:anywhere;line-break:strict}
.clfr-meta small{font-size:.76em;color:var(--clfr-soft);overflow-wrap:anywhere}
@media (max-width:820px){.clfr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.clfr-grid{grid-template-columns:1fr}}

/* 数字 */
.clfr-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--clfr-line);border-bottom:1px solid var(--clfr-line)}
.clfr-stats>div{padding:1em .6em;text-align:center;border-right:1px solid var(--clfr-line);min-width:0}
.clfr-stats>div:last-child{border-right:0}
.clfr-stats b{display:block;font-size:clamp(1.3em,2.6vw,1.9em);font-weight:300;letter-spacing:.02em;font-variant-numeric:tabular-nums;line-height:1.2}
.clfr-stats b small{font-size:.45em;margin-left:.2em;color:var(--clfr-soft);font-weight:400}
.clfr-stats span{font-size:.72em;letter-spacing:.16em;color:var(--clfr-soft)}
@media (max-width:640px){.clfr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.clfr-stats>div{border-bottom:1px solid var(--clfr-line)}.clfr-stats>div:nth-child(2n){border-right:0}}

/* 宇宙天気 */
.clfr-space{border:1px solid var(--clfr-line);padding:.9em 1em}
.clfr-space-h{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;letter-spacing:.14em;font-size:.85em;margin-bottom:.6em}
.clfr-space-h span{font-weight:400;font-size:.82em;letter-spacing:0;color:var(--clfr-soft)}
.clfr-space-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5em}
.clfr-space-g>div{padding:.45em .5em;border:1px solid var(--clfr-line);min-width:0}
.clfr-space-g span{display:block;font-size:.7em;color:var(--clfr-soft)}
.clfr-space-g b{font-variant-numeric:tabular-nums;font-size:1.05em}
.clfr-space-g small{font-size:.7em;margin-left:.2em;color:var(--clfr-soft)}

/* 索引 */
.clfr-terms{display:flex;flex-wrap:wrap;gap:.4em}
.clfr-terms-h{width:100%;font-size:.8em;letter-spacing:.14em;color:var(--clfr-soft);margin-bottom:.2em}
.clfr-terms a{display:inline-flex;align-items:center;gap:.4em;padding:.3em .75em;border:1px solid var(--clfr-line);border-radius:999px;font-size:.85em;transition:border-color .2s}
.clfr-terms a:hover{border-color:currentColor}
.clfr-terms small{font-size:.75em;color:var(--clfr-soft)}
