* { box-sizing: border-box; }
html, body { margin: 0; background: #0c0c0e; color: #e8e6e1; }
body { font: 15px/1.8 system-ui, -apple-system, "Hiragino Sans", sans-serif; }
.stage { position: relative; height: 100vh; height: 100svh; overflow: hidden; }
#box { display: block; width: 100%; height: 100%; }
.text { max-width: 72rem; padding: 4rem 16px 6rem; margin: 0 auto; }
h1 { margin: 0 0 2rem; font-size: 1.05rem; font-weight: 500; }
h1 span { margin-left: 0.8em; font-weight: 400; opacity: 0.7; }
.cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 3rem; }
.cols p { margin: 0 0 1em; }
[lang="en"] { line-height: 1.6; }
.more { margin-top: 2rem; font-size: 0.82rem; opacity: 0.8; }
.more summary { cursor: pointer; margin-bottom: 1em; }
.quote { margin: 4rem 0 0; padding-top: 2rem; border-top: 1px solid #3a3a3e; }
.quote blockquote { margin: 0 0 0.6em; font-size: 1.3rem; line-height: 1.55; }
.quote blockquote[lang="ja"] { font-size: 1.05rem; opacity: 0.85; }
.quote figcaption { margin-top: 1.4rem; font-size: 0.8rem; opacity: 0.6; }
@media (max-width: 760px) { .cols { grid-template-columns: 1fr; } .quote blockquote { font-size: 1.1rem; } }

/* Return navigation belongs to the existing reading area. */
.home-return { margin: 24px 0 0; font-size: 12px; }
.home-link { color: inherit; font: inherit; text-decoration: underline; text-underline-offset: .2em; }
.home-link:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }
