/* Adds Life Journal — isolated homepage skin. No article-body rules. */
body:has(#alj-home) { background:#f7f7f2; color:#181818; }
body:has(#alj-home) #header { position:relative!important; color:#181818; background:#f7f7f2; box-shadow:none; }
body:has(#alj-home) #header:before { background:#f7f7f2; opacity:1; }
body:has(#alj-home) #header .l-header__bar { display:none; }
body:has(#alj-home) #header .l-header__inner { max-width:1280px; margin:auto; }
body:has(#alj-home) #header .c-headLogo { max-width:115px; }
body:has(#alj-home) #header .c-headLogo img { max-height:34px; }
body:has(#alj-home) #fix_header, body:has(#alj-home) #main_visual { display:none; }
#content:has(> #alj-home) { width:100%; max-width:none; padding:0; margin:0; display:block; }
#alj-home { --alj-ink:#181818; --alj-red:#ad2921; --alj-line:#c9c9c0; --alj-muted:#606059; display:block; width:100%; margin:0; padding:0; color:var(--alj-ink); font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; font-size:16px; line-height:1.8; overflow-wrap:break-word; }
#alj-home *,#alj-home *:before,#alj-home *:after { box-sizing:border-box; }
#alj-home :where(h1,h2,h3,p,figure,ul,li,section,header,div) { margin:0; padding:0; }
#alj-home h1,#alj-home h2,#alj-home h3 { color:inherit; background:none; border:none; box-shadow:none; text-align:left; font-style:normal; font-weight:700; height:auto; }
#alj-home h1:before,#alj-home h1:after,#alj-home h2:before,#alj-home h2:after,#alj-home h3:before,#alj-home h3:after { content:none; }
#alj-home a { color:inherit; text-decoration:none; }
#alj-home a:focus-visible { outline:3px solid var(--alj-red); outline-offset:5px; }
#alj-home img { display:block; max-width:100%; border-radius:0; box-shadow:none; }
#alj-home .alj-shell { width:calc(100% - 80px); max-width:1200px; margin:0 auto; }
#alj-home .alj-masthead { border-top:4px solid var(--alj-ink); padding-top:16px; }
#alj-home .alj-edition { display:flex; justify-content:space-between; gap:18px; font-size:12px; letter-spacing:.08em; line-height:1.6; }
#alj-home .alj-brand { font-size:clamp(42px,7.7vw,106px); line-height:1.2; letter-spacing:-.065em; font-family:"Helvetica Neue","Arial Black",sans-serif; font-weight:800; margin:10px 0 22px; }
#alj-home .alj-brand span { color:var(--alj-red); }
#alj-home .alj-categories { display:flex; flex-wrap:wrap; gap:12px 28px; border-block:1px solid var(--alj-ink); padding:14px 0; font-size:14px; line-height:1.6; font-weight:600; }
#alj-home .alj-categories a:hover { color:var(--alj-red); }
#alj-home .alj-about-link { margin-left:auto; }
#alj-home .alj-cover { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:44px; align-items:center; padding:36px 0; }
#alj-home .alj-cover-visual { position:relative; display:block; min-width:0; background:#252525; }
#alj-home .alj-cover-visual img { width:100%; height:auto; aspect-ratio:1.35; object-fit:cover; filter:saturate(.82); }
#alj-home .alj-photo-note { position:absolute; bottom:18px; left:18px; background:#171717; color:#fff; font-size:12px; letter-spacing:.08em; padding:6px 10px; line-height:1.5; }
#alj-home .alj-kicker { font-size:12px; letter-spacing:.1em; font-weight:700; color:var(--alj-red); line-height:1.6; }
#alj-home .alj-cover-english { font-family:"Helvetica Neue","Arial Black",sans-serif; font-weight:900; font-size:clamp(54px,6.6vw,91px); line-height:1.02; letter-spacing:-.065em; margin:18px 0 22px; }
#alj-home .alj-cover-english em { font-style:normal; color:var(--alj-red); }
#alj-home .alj-cover-copy h2 { font-family:"Noto Serif JP","Yu Mincho",serif; font-size:clamp(23px,2.2vw,31px); line-height:1.55; letter-spacing:.01em; }
#alj-home .alj-intro { margin-top:18px; font-size:16px; color:var(--alj-muted); line-height:1.9; }
#alj-home .alj-cover-link { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid var(--alj-ink); padding:13px 0; margin-top:18px; font-size:14px; }
#alj-home .alj-topics { border-block:1px solid var(--alj-line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px 22px; padding:18px 0; font-size:12px; font-weight:700; letter-spacing:.08em; }
#alj-home .alj-section { margin-top:72px; }
#alj-home .alj-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding-bottom:22px; border-bottom:1px solid var(--alj-ink); margin-bottom:28px; }
#alj-home .alj-section-head h2 { font-family:"Noto Serif JP","Yu Mincho",serif; font-size:clamp(25px,2.7vw,36px); line-height:1.5; margin-top:10px; }
#alj-home .alj-section-head>p { font-size:14px; color:var(--alj-muted); }
#alj-home .alj-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 28px; }
#alj-home .alj-card { min-width:0; }
#alj-home .alj-card-link { display:block; height:100%; }
#alj-home .alj-card-image { position:relative; aspect-ratio:1.5; background:#e5e5dd; overflow:hidden; }
#alj-home .alj-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
#alj-home .alj-card-link:hover img { transform:scale(1.025); }
#alj-home .alj-index { position:absolute; bottom:0; left:0; background:#f7f7f2; padding:3px 12px 0 0; font-size:22px; font-weight:700; line-height:1.5; }
#alj-home .alj-card-copy { padding-top:16px; }
#alj-home .alj-meta { font-size:12px; color:var(--alj-red); font-weight:600; line-height:1.7; }
#alj-home .alj-meta span { color:var(--alj-muted); font-weight:400; }
#alj-home .alj-card h3 { font-family:"Noto Serif JP","Yu Mincho",serif; font-size:20px; line-height:1.65; margin-top:8px; }
#alj-home .alj-read { display:block; margin-top:14px; font-size:14px; }
#alj-home .alj-read>span { margin-left:10px; }
#alj-home .alj-no-image { display:block; padding:25px; font-size:32px; line-height:1.2; letter-spacing:-.05em; font-weight:800; }
#alj-home .alj-sound { margin-top:76px; padding:36px; background:#18191a; color:#f7f7f2; }
#alj-home .alj-sound-head { display:flex; align-items:end; justify-content:space-between; gap:24px; padding-bottom:30px; margin-bottom:28px; border-bottom:1px solid #666; }
#alj-home .alj-sound-head h2 { font-family:"Helvetica Neue",sans-serif; font-size:clamp(38px,4.5vw,60px); line-height:1.05; letter-spacing:-.035em; margin-top:14px; }
#alj-home .alj-sound-head>p { font-family:"Noto Serif JP","Yu Mincho",serif; font-size:20px; line-height:1.8; }
#alj-home .alj-sound .alj-kicker,#alj-home .alj-sound .alj-meta { color:#f9a198; }
#alj-home .alj-sound .alj-meta span { color:#cecec7; }
#alj-home .alj-sound .alj-card h3 { font-size:18px; }
#alj-home .alj-popular .p-postList { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0; padding:0; list-style:none; }
#alj-home .alj-popular .p-postList__item { width:auto; margin:0; padding:0; }
#alj-home .alj-popular .p-postList__link { display:block; box-shadow:none; }
#alj-home .alj-popular .p-postList__title { font-size:17px; line-height:1.65; margin:0; }
#alj-home .alj-popular .p-postList__body { padding:12px 0 0; }
#alj-home .alj-popular .p-postList__meta { display:none; }
#alj-home .alj-about { margin:76px auto 0; padding:40px 0 44px; border-top:2px solid var(--alj-ink); display:grid; grid-template-columns:minmax(0,320px) minmax(0,1fr); gap:48px; align-items:center; }
#alj-home .alj-heading-phrase { display:inline-block; }
#alj-home .alj-profile-heading { width:fit-content; max-width:100%; margin:14px 0 26px; }
#alj-home .alj-about h2 { font-family:"Noto Serif JP","Yu Mincho",serif; font-size:clamp(26px,2.5vw,34px); line-height:1.65; max-width:16em; text-wrap:balance; margin:0; }
#alj-home .alj-profile-image { width:100%; max-width:320px; margin:0; }
#alj-home .alj-profile-image img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
#alj-home .alj-signature { font-size:14px; line-height:1.6; margin:10px 0 0; text-align:right; letter-spacing:.035em; }
#alj-home .alj-signature span { font-family:Georgia,serif; font-style:italic; color:var(--alj-muted); margin-right:4px; }
#alj-home .alj-signature strong { font-weight:600; }
#alj-home .alj-about-copy { max-width:640px; }
#alj-home .alj-about-copy p { font-size:15px; line-height:1.95; margin-bottom:12px; }
#alj-home .alj-about-copy p:last-child { margin-bottom:0; }
@media(max-width:959px) {
#alj-home .alj-shell { width:calc(100% - 48px); }
#alj-home .alj-cover { gap:28px; }
#alj-home .alj-cover-english { font-size:60px; }
#alj-home .alj-grid { gap:30px 22px; }
#alj-home .alj-card h3 { font-size:18px; }
#alj-home .alj-sound { padding:28px; }
#alj-home .alj-popular .p-postList { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
#alj-home .alj-shell { width:calc(100% - 36px); }
#alj-home .alj-edition { flex-direction:column; gap:8px; }
#alj-home .alj-edition>span:last-child { display:block; }
#alj-home .alj-brand { font-size:clamp(34px,8.4vw,60px); margin-bottom:18px; }
#alj-home .alj-categories { gap:10px 20px; }
#alj-home .alj-about-link { margin-left:0; }
#alj-home .alj-cover { grid-template-columns:1fr; gap:24px; padding:24px 0; }
#alj-home .alj-cover-visual img { aspect-ratio:1.5; }
#alj-home .alj-cover-copy { display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; align-items:center; }
#alj-home .alj-cover-copy .alj-kicker { grid-column:1/-1; }
#alj-home .alj-cover-english { font-size:clamp(48px,13vw,74px); margin:4px 0; }
#alj-home .alj-cover-copy h2 { grid-column:1/-1; font-size:clamp(23px,5.8vw,29px); line-height:1.6; }
#alj-home .alj-cover-english { grid-column:1/-1; }
#alj-home .alj-cover-english br { display:none; }
#alj-home .alj-cover-english em { margin-left:.12em; }
#alj-home .alj-intro,#alj-home .alj-cover-link { grid-column:1/-1; margin-top:8px; }
#alj-home .alj-topics { display:grid; grid-template-columns:1fr 1fr; gap:10px; font-size:12px; }
#alj-home .alj-section { margin-top:48px; }
#alj-home .alj-section-head { display:block; margin-bottom:22px; padding-bottom:18px; }
#alj-home .alj-section-head>p { margin-top:8px; }
#alj-home .alj-grid { grid-template-columns:1fr; gap:32px; }
#alj-home .alj-card h3 { font-size:21px; }
#alj-home .alj-card-image { aspect-ratio:1.6; }
#alj-home .alj-sound { padding:26px 18px; margin-top:48px; }
#alj-home .alj-sound-head { display:block; }
#alj-home .alj-sound-head>p { font-size:17px; margin-top:24px; }
#alj-home .alj-sound .alj-card h3 { font-size:20px; }
#alj-home .alj-popular .p-postList { grid-template-columns:1fr; gap:28px; }
#alj-home .alj-about { grid-template-columns:1fr; gap:24px; padding:28px 0 36px; margin-top:48px; }
#alj-home .alj-profile-image { width:220px; max-width:100%; margin:0 auto; }
#alj-home .alj-about h2 { font-size:26px; text-wrap:balance; }
#alj-home .alj-profile-heading { width:100%; margin:12px 0 24px; }
#alj-home .alj-signature { font-size:13px; margin:10px 0 0; }
}
#alj-home .alj-index-link { display:inline; padding:0; text-decoration:none; }
#alj-home .alj-index-link:hover { opacity:.75; }
#alj-home .alj-collection { padding-top:32px; padding-bottom:64px; }
#alj-home .alj-collection-breadcrumb { font-size:13px; margin-bottom:28px; }
#alj-home .alj-collection h1 { font-size:clamp(26px,3.5vw,42px); line-height:1.5; margin-top:12px; }
#alj-home .alj-collection-filter { border-top:0; }
#alj-home .alj-collection-note { font-size:14px; color:var(--alj-muted); margin:22px 0 28px; }
#alj-home .alj-collection-spacer { height:48px; }
#alj-home .alj-collection [aria-current="page"] { color:var(--alj-red); font-weight:700; text-decoration:underline; text-underline-offset:5px; }
#alj-home .alj-pagination { display:flex; flex-wrap:wrap; gap:10px; margin-top:40px; }
#alj-home .alj-pagination a { min-width:44px; min-height:44px; display:grid; place-items:center; border:1px solid var(--alj-line); }
/* Music collection inherits the homepage sound section palette. */
#alj-home.alj-collection-music { --alj-ink:#f7f7f2; --alj-red:#f9a198; --alj-line:#666; --alj-muted:#cecec7; background:#18191a; }
#alj-home.alj-collection-music .alj-section-head,#alj-home.alj-collection-music .alj-categories { border-color:var(--alj-line); }
#alj-home.alj-collection-music .alj-card-image { background:#292a2b; }
#alj-home.alj-collection-music .alj-index { background:#18191a; }
@media(prefers-reduced-motion:reduce) { #alj-home * { transition:none!important; } }
