/* retoor */ .hero { padding: var(--space-xl) 0 var(--space-lg); border-bottom: var(--border); margin-bottom: var(--space-xl); } .hero h1 { font-size: var(--text-hero); font-weight: 500; letter-spacing: var(--tracking-hero); line-height: var(--leading-tight); margin: var(--space-sm) 0 var(--space-md); } .hero .lead { font-size: var(--text-lg); color: var(--ink-soft); max-width: 30em; margin: 0; } .hero .lead em { color: var(--ink); font-style: italic; } .intro { max-width: var(--measure); font-family: var(--font-serif); color: var(--ink-soft); font-size: var(--text-base); line-height: var(--leading-body); } .intro p { margin: 0 0 var(--space-md); } .intro > p:first-child { font-size: var(--text-xl); line-height: 1.3; color: var(--ink); letter-spacing: -0.01em; margin-bottom: var(--space-lg); } .intro > p:last-child { margin-bottom: 0; } .intro-edit { font-family: var(--font-sans); font-size: var(--text-xs); margin: var(--space-md) 0 0; } .intro-edit a { color: var(--muted); } .section-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); margin: var(--space-xl) 0 var(--space-sm); } .section-head a { font-family: var(--font-sans); font-size: var(--text-xs); color: var(--muted); text-decoration: none; letter-spacing: 0.08em; } .post-card { border-top: var(--border); padding: var(--space-lg) 0; display: grid; gap: var(--space-xs); min-width: 0; } .post-card:last-child { border-bottom: var(--border); } .post-card h3, .post-card h2 { font-size: var(--text-xl); font-weight: 500; line-height: 1.2; margin: 0; letter-spacing: -0.01em; } .post-card h3 a, .post-card h2 a { text-decoration: none; } .post-card p { color: var(--ink-soft); margin: 0; } .post-meta { display: flex; gap: var(--space-md); align-items: baseline; flex-wrap: wrap; } .tag-placeholder { font-family: var(--font-sans); font-size: var(--text-xs); letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); border: var(--border-strong); padding: 0 var(--space-sm); } .tag-draft { color: var(--warning); border-color: rgba(var(--accent-rgb), 0.5); } .article-header { margin-bottom: var(--space-xl); } .article-header h1 { font-size: var(--text-2xl); font-weight: 500; letter-spacing: -0.02em; line-height: 1.15; margin: var(--space-sm) 0; } .byline { display: flex; align-items: center; gap: var(--space-sm); font-family: var(--font-sans); font-size: var(--text-sm); color: var(--muted); } .byline a { color: var(--ink-soft); text-decoration: none; } .prose { font-size: var(--text-lg); line-height: 1.65; overflow-wrap: anywhere; min-width: 0; } .prose p { margin: 0 0 var(--space-md); } .prose blockquote { margin: var(--space-lg) 0; padding: var(--space-sm) var(--space-lg); border-left: 2px solid var(--accent); color: var(--ink-soft); font-style: italic; } .prose blockquote p:last-child { margin-bottom: 0; } .prose h2, .prose h3 { font-weight: 500; margin: var(--space-xl) 0 var(--space-sm); } .prose img { margin: var(--space-lg) 0; border: var(--border); cursor: zoom-in; } .prose table { border-collapse: collapse; width: 100%; font-size: var(--text-base); } .prose th, .prose td { border-bottom: var(--border); padding: var(--space-sm); text-align: left; } .prose code { font-family: var(--font-mono); font-size: 0.88em; background: var(--code-bg); padding: 0 var(--space-xs); } .prose pre { background: var(--code-bg); border: var(--border); padding: var(--space-md); overflow-x: auto; position: relative; font-size: var(--text-sm); } .prose pre code { background: none; padding: 0; } .prose hr { border: 0; border-top: var(--border); margin: var(--space-xl) 0; } .prose a.mention { color: var(--accent); text-decoration: none; } .copy-button { position: absolute; top: var(--space-xs); right: var(--space-xs); background: var(--bg-raised); color: var(--muted); border: var(--border); font-family: var(--font-sans); font-size: var(--text-xs); padding: 0 var(--space-sm); cursor: pointer; } .hljs-keyword, .hljs-selector-tag, .hljs-built_in { color: var(--code-keyword); } .hljs-string, .hljs-attr, .hljs-template-variable { color: var(--code-string); } .hljs-comment, .hljs-quote { color: var(--code-comment); font-style: italic; } .hljs-number, .hljs-literal { color: var(--code-number); } .hljs-title, .hljs-section, .hljs-name { color: var(--code-title); } .featured { margin: var(--space-xl) 0; border-top: var(--border); padding-top: var(--space-lg); } .featured figure { margin: 0; } .featured figcaption { font-family: var(--font-sans); font-size: var(--text-xs); color: var(--muted); margin-top: var(--space-sm); letter-spacing: 0.06em; } .closing { margin-top: var(--space-2xl); border-top: var(--border); padding-top: var(--space-lg); display: grid; gap: var(--space-md); } .closing p { font-size: var(--text-lg); color: var(--ink-soft); margin: 0; max-width: 30em; } .person-row { display: flex; align-items: center; gap: var(--space-md); border-top: var(--border); padding: var(--space-md) 0; min-width: 0; } .person-row:last-child { border-bottom: var(--border); } .person-row .who { display: grid; min-width: 0; flex: 1; } .person-row .who b { font-weight: 500; font-size: var(--text-lg); } .person-row .who span { color: var(--muted); font-size: var(--text-sm); } .person-row .count { font-family: var(--font-sans); font-size: var(--text-xs); color: var(--muted); } .avatar { border: var(--border-strong); background: var(--bg-raised); flex-shrink: 0; } .presence-host { position: relative; display: inline-block; } .presence-dot { position: absolute; right: calc(var(--space-xs) * -1); bottom: calc(var(--space-xs) * -1); width: 0.6rem; height: 0.6rem; border-radius: var(--radius-pill); background: var(--faint); border: 2px solid var(--bg); } .presence-dot.online { background: var(--success); } .empty { color: var(--muted); font-style: italic; padding: var(--space-lg) 0; border-top: var(--border); } .load-more { display: flex; justify-content: center; margin-top: var(--space-lg); } .notice { border: var(--border-strong); padding: var(--space-md) var(--space-lg); margin: var(--space-lg) 0; background: var(--bg-raised); } .notice.success { border-color: rgba(var(--accent-rgb), 0.6); } .notice.error { border-color: var(--danger); } .notice ul { margin: 0; padding-left: var(--space-lg); } .error-page { padding: var(--space-2xl) 0; } .error-page .code { font-size: var(--text-hero); letter-spacing: var(--tracking-hero); line-height: 1; color: var(--faint); } @media (max-width: 480px) { .article-header h1 { font-size: var(--text-xl); } .prose { font-size: var(--text-base); } .intro > p:first-child { font-size: var(--text-lg); } }