/* Anime artwork, editorial rhythm. Page layout is isolated to the home shell. */
body:has(.home-shell) #page-header { position:relative!important; top:0!important; margin:0!important; min-height:var(--site-nav-height)!important; height:var(--site-nav-height)!important; background:none!important; box-shadow:none!important; }
body:has(.home-shell) :is(#aside-content,.page-title,#page-site-info,#footer,#home-hero) { display:none!important; }
body:has(.home-shell) #content-inner.layout { display:block!important; max-width:none!important; width:100%!important; padding:0!important; margin:0!important; }
body:has(.home-shell) #page { padding:0!important; margin:0!important; border:0!important; border-radius:0!important; background:none!important; box-shadow:none!important; width:100%!important; }
body:has(.home-shell) #article-container { padding:0!important; }
@scope (body:has(.home-shell)) {
.home-shell { --home-serif:"Noto Serif CJK SC","Source Han Serif SC","Songti SC","STSong","SimSun",serif; color:var(--site-ink); background:var(--site-bg); font-family:"PingFang SC","Microsoft YaHei",sans-serif; font-size:16px; line-height:1.8; }
#article-container .home-shell * { box-sizing:border-box; }
#article-container .home-shell :is(h1,h2,h3,p,figure) { margin:0; padding:0; }
#article-container .home-shell :is(h1,h2,h3)::before { display:none; }
#article-container .home-shell a { text-decoration:none; border:0; color:inherit; background:none; overflow-wrap:anywhere; }
#article-container .home-shell a:hover { color:var(--site-blue); }
#article-container .home-shell img { display:block; max-width:100%; margin:0; border-radius:0; transition:transform .35s ease; }
#article-container .home-shell .eyebrow { font:11px/1.6 "Cascadia Code",Consolas,monospace; letter-spacing:.13em; color:var(--site-muted); }
.blue-dot { display:inline-block; width:7px; height:7px; margin-right:9px; background:var(--site-blue); border-radius:50%; }
.home-hero { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:40px; max-width:1440px; margin:auto; padding:64px clamp(24px,5vw,80px) 0; }
.hero-copy { align-self:center; padding:20px 0 45px; }
#article-container .home-shell .hero-intro { margin-top:38px; font-size:15px; }
.hero-intro span { font:11px Consolas,monospace; letter-spacing:.1em; margin-left:8px; color:var(--site-muted); }
#article-container .home-shell #home-title { font-size:clamp(64px,6vw,88px); font-weight:500; line-height:1.18; letter-spacing:-.06em; margin:20px 0 26px; white-space:nowrap; }
.title-dot { font-size:.45em; vertical-align:middle; }
#home-title em { font-family:var(--home-serif); font-weight:500; font-style:normal; color:var(--site-blue); }
#article-container .home-shell .hero-description { font-size:19px; line-height:1.85; }
#article-container .home-shell .hero-fields { font-size:12px; color:var(--site-muted); margin-top:20px; }
.hero-actions { display:flex; gap:36px; margin-top:34px; }
#article-container .home-shell .text-link { display:inline-flex; gap:18px; align-items:center; border-bottom:1px solid var(--site-line); padding:7px 0; font-size:14px; font-weight:500; }
.text-link span { transition:transform .2s; }
.text-link:hover span { transform:translate(3px,-2px); }
#article-container .home-shell .hero-art { position:relative; align-self:stretch; min-height:560px; overflow:visible; margin:0 0 22px; }
#article-container .home-shell .hero-art > img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:49% center; border-radius:160px 8px 8px 8px; }
.hero-art::after { content:""; position:absolute; inset:18px -14px -14px 18px; border:1px solid var(--site-pink); border-radius:160px 8px 8px 8px; pointer-events:none; }
.hero-art figcaption { position:absolute; bottom:24px; left:24px; right:24px; display:flex; flex-direction:column; color:#fff; text-shadow:0 1px 9px #000; font-size:13px; z-index:1; }
.hero-art figcaption span:last-child { font:9px/2 Consolas,monospace; letter-spacing:.13em; }
.art-star { position:absolute; left:-26px; top:40px; color:var(--site-blue); font-size:64px; line-height:1; text-shadow:2px 2px var(--site-bg); }
.hero-footnote { grid-column:1/-1; border-bottom:1px solid var(--site-line); display:flex; justify-content:space-between; padding:26px 0; color:var(--site-muted); font-size:12px; }
.hero-footnote span:last-child { font:10px/2 Consolas,monospace; letter-spacing:.1em; }
.home-section { max-width:1440px; margin:auto; padding:88px clamp(24px,5vw,80px) 0; scroll-margin-top:calc(var(--site-nav-height) + 24px); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:40px; }
#article-container .home-shell .section-heading h2 { font-size:34px; line-height:1.4; font-weight:500; letter-spacing:-.03em; margin-top:12px; }
.section-heading > p { color:var(--site-muted); font-size:13px; }
.writing-grid { display:grid; grid-template-columns:1.25fr 1fr; column-gap:64px; }
.writing-feature { grid-row:span 3; }
.writing-image { display:block; overflow:hidden; background:var(--site-line); aspect-ratio:16/9; }
#article-container .home-shell .writing-image img { width:100%; height:100%; object-fit:cover; }
.writing-image:hover img { transform:scale(1.025); }
.writing-item:not(.writing-feature) { border-top:1px solid var(--site-line); padding:24px 0; }
.writing-feature .writing-copy { padding-top:24px; }
.writing-copy .eyebrow { display:flex; justify-content:space-between; gap:12px; }
#article-container .home-shell .writing-copy h3 { font-size:22px; line-height:1.5; font-weight:500; margin:14px 0 12px; letter-spacing:-.02em; }
#article-container .home-shell .writing-feature h3 { font-size:32px; }
#article-container .home-shell .writing-copy p { color:var(--site-muted); font-size:14px; line-height:1.9; }
.writing-feature .text-link { margin-top:18px; }
.section-end { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--site-line); padding:30px 0; font-size:12px; color:var(--site-muted); }
.project-row { display:grid; grid-template-columns:64px 1fr 50px; align-items:center; padding:30px 0; border-top:1px solid var(--site-line)!important; gap:20px; }
.project-row:last-child { border-bottom:1px solid var(--site-line)!important; }
.project-number { font:12px Consolas,monospace; color:var(--site-muted); align-self:start; padding-top:3px; }
#article-container .home-shell .project-row h3 { font-size:26px; font-weight:500; margin:6px 0 8px; }
.project-row p { color:var(--site-muted); font-size:14px; }
.project-arrow { font-size:30px; text-align:right; transition:transform .2s; }
.project-row:hover .project-arrow { transform:translate(4px,-4px); }
.elsewhere-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.elsewhere-item { display:block; overflow:hidden; }
#article-container .home-shell .elsewhere-item img { width:100%; height:210px; object-fit:cover; border-radius:8px; }
.elsewhere-item > span { display:grid; grid-template-columns:1fr auto; padding:18px 0; }
.elsewhere-item strong { font-size:20px; font-weight:500; }
.elsewhere-item small { grid-column:1; font:10px/2 Consolas,monospace; letter-spacing:.1em; color:var(--site-muted); }
.elsewhere-item b { grid-column:2; grid-row:1/3; font-size:26px; font-weight:400; }
.home-directory { margin-top:30px; border-top:1px solid var(--site-line); }
.home-directory details { border-bottom:1px solid var(--site-line); }
.home-directory summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; padding:20px 0; font-size:14px; }
.home-directory summary::-webkit-details-marker { display:none; }
.home-directory details[open] summary > span:last-child { transform:rotate(45deg); }
.directory-content { padding:0 0 24px; color:var(--site-muted); font-size:14px; }
.directory-content form { display:flex; gap:16px; flex-wrap:wrap; margin:12px 0; }
.directory-content input { width:64px; padding:5px; background:var(--site-paper); color:var(--site-ink); border:1px solid var(--site-line); }
.directory-content button { padding:5px 15px; border:1px solid var(--site-line); background:var(--site-paper); color:var(--site-ink); border-radius:4px; cursor:pointer; }
.directory-content button:disabled { opacity:.5; cursor:wait; }
#article-container .home-shell #history-events { padding-left:20px; }
#history-events li { margin-top:16px; }
#article-container .home-shell #daily-news { display:none; max-width:640px; width:100%; height:auto; }
#article-container .home-shell #daily-news.is-loaded { display:block; }
.home-video { width:100%; max-width:640px; aspect-ratio:16/9; margin-top:20px; background:var(--site-paper); }
.home-footer { display:grid; grid-template-columns:1fr auto; gap:32px; max-width:1440px; margin:auto; padding:70px clamp(24px,5vw,80px) 30px; }
.footer-name { font-size:24px; font-weight:500; }
.footer-name span { font:11px Consolas,monospace; margin-left:12px; letter-spacing:.1em; }
.home-footer p { color:var(--site-muted); font-size:12px; }
.footer-links { display:flex; gap:26px; align-items:center; font-size:13px; }
.footer-colophon { grid-column:1/-1; border-top:1px solid var(--site-line); padding-top:24px!important; }
[data-theme='dark'] .hero-art img { filter:brightness(.86); }
@media(max-width:1000px) { .home-hero { gap:28px; padding-top:44px; } #article-container .home-shell #home-title { font-size:64px; } #article-container .home-shell .hero-art { min-height:520px; } .writing-grid { column-gap:30px; } #article-container .home-shell .writing-feature h3 { font-size:27px; } .elsewhere-item img { height:170px!important; } }
@media(max-width:767px) { .home-hero { grid-template-columns:1fr; gap:26px; padding:36px 24px 0; } .hero-copy { padding:0; } #article-container .home-shell .hero-intro { margin-top:26px; } #article-container .home-shell #home-title { font-size:44px; line-height:1.2; margin:14px 0 20px; } #home-title br { display:none; } #article-container .home-shell .hero-description { font-size:17px; } .hero-actions { margin-top:24px; gap:30px; } #article-container .home-shell .hero-art { min-height:0; height:310px; margin:8px 6px 0 0; } #article-container .home-shell .hero-art img { border-top-left-radius:80px; object-position:50% 40%; } .hero-art::after { border-top-left-radius:80px; inset:10px -10px -10px 10px; } .art-star { font-size:46px; left:-12px; top:24px; } .hero-footnote { padding:20px 0; font-size:10px; } .hero-footnote span:last-child { font-size:8px; } .home-section { padding:52px 24px 0; } .section-heading { display:block; margin-bottom:28px; } #article-container .home-shell .section-heading h2 { font-size:27px; } .section-heading > :last-child:not(:first-child) { margin-top:14px!important; } .writing-grid { display:block; } .writing-feature { padding-bottom:28px; } #article-container .home-shell .writing-feature h3 { font-size:27px; } #article-container .home-shell .writing-copy h3 { font-size:21px; } .project-row { grid-template-columns:26px 1fr 22px; gap:10px; padding:24px 0; } #article-container .home-shell .project-row h3 { font-size:23px; } .project-arrow { font-size:23px; } .elsewhere-grid { gap:24px; grid-template-columns:1fr; } #article-container .home-shell .elsewhere-item img { height:210px!important; } .elsewhere-item > span { padding-bottom:0; } .home-footer { padding:48px 24px 24px; grid-template-columns:1fr; gap:24px; } .footer-links { flex-wrap:wrap; } }
@media(max-width:360px) { #article-container .home-shell #home-title { font-size:38px; } .hero-footnote span:last-child { display:none; } }

}

@scope (body:has(.home-shell)) {
  .motivation-finale { position:relative; margin-top:40px; background:#03050a; color:#eef2f8; isolation:isolate; padding-top:140px; }
  .motivation-finale-text { position:absolute; top:48px; left:clamp(24px,5vw,80px); right:250px; z-index:2; }
  .motivation-finale-text > span { font:10px/1.7 Consolas,monospace; letter-spacing:.15em; color:#9eaac0; }
  #article-container .home-shell .motivation-finale-text p { margin-top:12px; padding-left:16px; border-left:2px solid #728db5; font-family:var(--home-serif); font-size:17px; line-height:1.7; color:#eef2f8; }
  .home-video.motivation-video { display:block; width:100%; max-width:none; height:auto; aspect-ratio:16/9; margin:0; object-fit:cover; background:#03050a; }
  .motivation-buttons { position:absolute; right:clamp(24px,5vw,80px); top:76px; display:flex; gap:10px; z-index:3; }
  .motivation-buttons button { border:1px solid #64738b; border-radius:30px; padding:9px 16px; background:#03050a; color:#eef2f8; font-size:12px; cursor:pointer; }
  .motivation-buttons button:hover { background:#1b2638; }
  .motivation-finale .video-status,.finale-noscript { position:absolute; bottom:20px; left:24px; color:#eef2f8; font-size:13px; }
  @media(max-width:767px) { .motivation-finale { padding-top:190px; margin-top:24px; } .motivation-finale-text { top:28px; left:24px; right:24px; } #article-container .home-shell .motivation-finale-text p { font-size:14px; } .motivation-buttons { top:140px; left:24px; right:auto; } .home-video.motivation-video { min-height:240px; object-fit:contain; } }
}

.home-shell .hero-fields { min-height:24px; }
.home-shell .hero-subtitle::after { content: '│'; opacity:.65; margin-left:3px; }
.home-shell .hero-subtitle.is-typing::after { animation: subtitle-caret .8s steps(1) infinite; }
@keyframes subtitle-caret { 50% { opacity:0; } }
.home-portfolio-entry { max-width:1080px; margin:32px auto 0; padding:20px 24px; display:flex; align-items:center; flex-wrap:wrap; gap:16px 32px; border-block:1px solid var(--site-line); font-size:13px; color:var(--site-muted); }
#article-container .home-portfolio-entry a { color:var(--site-blue); font-size:16px; }
.home-shell .fan-art-note { display:flex; align-items:center; gap:24px; padding:28px 0; margin-top:22px; color:var(--site-muted); font-size:13px; }
.home-shell .fan-art-note > a { flex:0 0 112px; }
#article-container .home-shell .fan-art-note img { width:112px; height:112px; object-fit:contain; }
.home-shell .fan-art-note small { display:block; font-size:10px; margin-top:10px; }
#article-container .home-shell .elsewhere-item img { height:auto!important; aspect-ratio:16/10; object-fit:cover; object-position:center; background:#142332; border:1px solid var(--site-line); border-radius:12px; }
#article-container .home-shell .elsewhere-credit { margin-top:20px; font-size:11px; color:var(--site-muted); }
@media(max-width:767px) { .home-shell .fan-art-note { align-items:start; gap:16px; } .home-shell .fan-art-note > a { flex-basis:80px; } #article-container .home-shell .fan-art-note img { width:80px; height:80px; } }
