:root { --black: #050505; --white: #f0ede6; --cyan: #00f5d4; --yellow: #f5c518; --red: #ff2d55; --mid: #1a1a1a; --border: #2a2a2a; --muted: #666; --body-font: 'DM Sans', sans-serif; --mono-font: 'Share Tech Mono', monospace; --display-font: 'Bebas Neue', sans-serif; } * { margin: 0; padding: 0; box-sizing: border-box; } body { background: var(--black); color: var(--white); font-family: var(--body-font); font-size: 17px; line-height: 1.75; font-weight: 300; } /* Scanline overlay */ body::before { content: ''; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: repeating-linear-gradient( 0deg, transparent, transparent 2px, rgba(0,0,0,0.06) 2px, rgba(0,0,0,0.06) 4px ); pointer-events: none; z-index: 1000; } /* Header */ .masthead { border-bottom: 1px solid var(--cyan); padding: 3rem 4rem 2rem; position: relative; overflow: hidden; } .masthead::after { content: 'HOMO SYMBIOTICUS SERIES'; position: absolute; right: 4rem; top: 2rem; font-family: var(--mono-font); font-size: 11px; color: var(--muted); letter-spacing: 4px; } .doc-type { font-family: var(--mono-font); font-size: 11px; color: var(--cyan); letter-spacing: 6px; margin-bottom: 1rem; } h1 { font-family: var(--display-font); font-size: clamp(3rem, 8vw, 7rem); line-height: 0.9; color: var(--white); letter-spacing: 2px; margin-bottom: 0.5rem; } h1 span { color: var(--cyan); } .subtitle { font-family: var(--mono-font); font-size: 14px; color: var(--yellow); letter-spacing: 2px; margin-top: 1rem; margin-bottom: 2rem; } .meta-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--border); } .meta-item label { font-family: var(--mono-font); font-size: 10px; color: var(--muted); letter-spacing: 3px; display: block; margin-bottom: 4px; } .meta-item span { font-family: var(--mono-font); font-size: 13px; color: var(--white); } /* BPM display */ .bpm-display { display: flex; align-items: center; gap: 2rem; padding: 1.5rem 4rem; background: var(--mid); border-bottom: 1px solid var(--border); overflow-x: auto; } .bpm-block { display: flex; align-items: baseline; gap: 6px; white-space: nowrap; } .bpm-num { font-family: var(--display-font); font-size: 2.5rem; color: var(--cyan); line-height: 1; } .bpm-label { font-family: var(--mono-font); font-size: 10px; color: var(--muted); letter-spacing: 3px; } .bpm-arrow { font-family: var(--display-font); font-size: 2rem; color: var(--border); } .key-badge { font-family: var(--display-font); font-size: 2.5rem; color: var(--yellow); line-height: 1; } .divider { width: 1px; height: 40px; background: var(--border); flex-shrink: 0; } /* Main layout */ .content { max-width: 820px; margin: 0 auto; padding: 4rem; } /* Section headers */ h2 { font-family: var(--display-font); font-size: 2.2rem; color: var(--white); letter-spacing: 3px; margin: 4rem 0 1.5rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--border); position: relative; } h2::before { content: attr(data-num); font-family: var(--mono-font); font-size: 11px; color: var(--cyan); letter-spacing: 3px; position: absolute; top: -1.5rem; left: 0; } h3 { font-family: var(--mono-font); font-size: 13px; color: var(--cyan); letter-spacing: 4px; margin: 2.5rem 0 1rem; } p { margin-bottom: 1.25rem; color: #c8c4bb; } em { color: var(--yellow); font-style: normal; } strong { color: var(--white); font-weight: 500; } /* Abstract box */ .abstract { background: var(--mid); border-left: 3px solid var(--cyan); padding: 2rem; margin: 2rem 0 3rem; font-size: 15px; line-height: 1.8; color: #b0aca3; } .abstract-label { font-family: var(--mono-font); font-size: 10px; color: var(--cyan); letter-spacing: 5px; margin-bottom: 1rem; display: block; } /* Lyric sections */ .lyrics-container { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin: 2rem 0; } @media (max-width: 700px) { .lyrics-container { grid-template-columns: 1fr; } } .lyrics-block { background: var(--mid); border: 1px solid var(--border); padding: 2rem; position: relative; } .lyrics-block::before { content: attr(data-lang); position: absolute; top: -1px; right: 0; font-family: var(--mono-font); font-size: 9px; letter-spacing: 4px; padding: 4px 12px; background: var(--cyan); color: var(--black); } .lyrics-title { font-family: var(--display-font); font-size: 1.8rem; color: var(--white); letter-spacing: 3px; margin-bottom: 1.5rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(--border); } .verse { font-family: var(--mono-font); font-size: 12.5px; line-height: 2; color: #a0a090; margin-bottom: 1.5rem; } .verse-highlight { color: var(--yellow); } .drop-line { font-family: var(--mono-font); font-size: 13px; color: var(--red); margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border); font-style: italic; line-height: 1.6; } /* Novelty list */ .novelty-list { list-style: none; margin: 1.5rem 0; } .novelty-list li { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--border); color: #c8c4bb; } .novelty-list li:last-child { border-bottom: none; } .novelty-num { font-family: var(--display-font); font-size: 2rem; color: var(--cyan); line-height: 1; opacity: 0.4; flex-shrink: 0; width: 2rem; text-align: right; } .novelty-content strong { display: block; margin-bottom: 4px; } /* Authorship table */ .authorship { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin: 2rem 0; } .author-col { background: var(--mid); padding: 1.5rem; border: 1px solid var(--border); } .author-col h4 { font-family: var(--display-font); font-size: 1.4rem; color: var(--yellow); letter-spacing: 2px; margin-bottom: 1rem; } .author-col ul { list-style: none; font-family: var(--mono-font); font-size: 12px; color: #888; line-height: 2; } .author-col ul li::before { content: '→ '; color: var(--cyan); } /* Closing line featured */ .closing-line { margin: 3rem 0; padding: 3rem; border: 1px solid var(--cyan); text-align: center; position: relative; } .closing-line::before { content: 'CLOSING LINE'; position: absolute; top: -1px; left: 50%; transform: translateX(-50%); font-family: var(--mono-font); font-size: 9px; letter-spacing: 4px; background: var(--black); padding: 0 1rem; color: var(--cyan); } .closing-line p { font-family: var(--display-font); font-size: clamp(1.4rem, 4vw, 2.2rem); color: var(--white); letter-spacing: 2px; line-height: 1.3; margin: 0; } .closing-line p span { color: var(--red); } /* References */ .refs { list-style: none; margin: 1.5rem 0; } .refs li { font-family: var(--mono-font); font-size: 12px; color: #666; padding: 0.75rem 0; border-bottom: 1px solid var(--border); line-height: 1.6; } .refs li::before { content: '— '; color: var(--border); } .refs li a { color: var(--cyan); text-decoration: none; } .refs li span.highlight { color: var(--yellow); } .refs li span.vaswani { color: var(--red); } /* Footer */ .footer { margin-top: 5rem; padding: 2rem 4rem; border-top: 1px solid var(--cyan); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; } .footer-left { font-family: var(--mono-font); font-size: 11px; color: var(--muted); line-height: 2; } .footer-right { font-family: var(--display-font); font-size: 1.2rem; color: var(--border); letter-spacing: 3px; } .license { font-family: var(--mono-font); font-size: 10px; color: var(--muted); background: var(--mid); padding: 3px 8px; display: inline-block; margin-top: 4px; } /* Archive notice */ .archive-notice { background: rgba(245, 197, 24, 0.05); border: 1px solid rgba(245, 197, 24, 0.2); padding: 1.5rem 2rem; margin: 3rem 0; font-family: var(--mono-font); font-size: 12px; color: #888; line-height: 2; } .archive-notice::before { content: '// ARCHIVE STATUS'; display: block; color: var(--yellow); margin-bottom: 0.5rem; font-size: 10px; letter-spacing: 4px; } /* Ticker animation */ @keyframes ticker { 0% { transform: translateX(100%); } 100% { transform: translateX(-100%); } } .ticker-wrap { overflow: hidden; background: var(--cyan); padding: 6px 0; white-space: nowrap; } .ticker-inner { display: inline-block; animation: ticker 30s linear infinite; font-family: var(--mono-font); font-size: 11px; color: var(--black); letter-spacing: 4px; } /* Token stream decorative */ .token-stream { font-family: var(--mono-font); font-size: 10px; color: var(--border); letter-spacing: 2px; line-height: 2; margin: 1rem 0; word-break: break-all; } .token-stream span { color: var(--cyan); opacity: 0.4; }