/* article-hero.css */ .article-hero { position: relative; min-height: 400px; background-size: cover; background-position: center; display: flex; align-items: flex-end; padding: 3rem 2rem; margin-bottom: 2rem; } .article-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6, 11, 16, 0.3) 0%, rgba(6, 11, 16, 0.8) 100%); } .article-hero-content { position: relative; z-index: 2; width: 100%; max-width: var(--container-max); margin: 0 auto; padding: 0 1.5rem; } .article-breadcrumb { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-mono); font-size: 0.85rem; color: var(--text-dim); margin-bottom: 1.5rem; } .article-breadcrumb a { color: var(--accent); text-decoration: none; transition: color var(--duration-base) ease; } .article-breadcrumb a:hover { color: var(--accent2); } .article-hero-content h1 { font-size: clamp(2rem, 6vw, 3.5rem); margin: 0; } .article-meta-bar { position: sticky; top: 0; z-index: 50; background: rgba(6, 11, 16, 0.95); backdrop-filter: blur(4px); padding: 1rem 2rem; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; } .article-meta { display: flex; align-items: center; gap: 1.5rem; font-size: 0.85rem; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.08em; } .article-type-badge { padding: 0.4rem 0.8rem; border-radius: 4px; font-weight: 600; background: color-mix(in srgb, currentColor 15%, transparent); border: 1px solid color-mix(in srgb, currentColor 30%, transparent); } .article-type-badge.type-tech { color: var(--type-tech); } .article-type-badge.type-life { color: var(--type-life); } .article-type-badge.type-quote { color: var(--type-quote); } .article-type-badge.type-link { color: var(--type-link); } .article-type-badge.type-photo { color: var(--type-photo); } .article-date, .article-read-time { color: var(--text-dim); } /* Article Body */ .article-body { padding: 2rem 1.5rem; max-width: 800px; margin: 0 auto; } /* Article Footer Nav */ .article-footer-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; padding: 2rem; max-width: var(--container-max); margin: 3rem auto 0; border-top: 1px solid var(--border); } @media (max-width: 768px) { .article-footer-nav { grid-template-columns: 1fr; } } .nav-prev, .nav-next { padding: 1.5rem; background: var(--surface); border: 1px solid var(--border); border-radius: 4px; text-decoration: none; transition: all var(--duration-base) ease; display: flex; flex-direction: column; gap: 0.5rem; } .nav-prev:hover, .nav-next:hover { border-color: var(--accent); background: rgba(168, 85, 247, 0.05); transform: translateY(-2px); } .nav-label { font-family: var(--font-mono); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--accent); } .nav-title { font-family: var(--font-head); font-size: 1.1rem; font-weight: 700; color: var(--text); } /* Static Page */ .page-hero { position: relative; height: 40vh; background: linear-gradient(135deg, var(--accent), var(--accent2)); display: flex; align-items: flex-end; padding: 3rem 2rem; margin-bottom: 2rem; } .page-hero-overlay { position: absolute; inset: 0; background: rgba(6, 11, 16, 0.3); } .page-hero-content { position: relative; z-index: 2; width: 100%; max-width: var(--container-max); margin: 0 auto; padding: 0 1.5rem; } .page-hero-content h1 { font-size: clamp(2rem, 5vw, 3rem); margin: 0; } .page-content { padding: 2rem 1.5rem; } .page-nav ul { display: flex; flex-direction: column; gap: 0.75rem; } .page-nav a { padding: 0.75rem 1rem; border-radius: 4px; transition: all var(--duration-base) ease; display: block; } .page-nav a:hover { background: var(--surface); padding-left: 1.25rem; } .page-nav a.active { font-weight: 700; color: var(--accent); }