:root{--bg: #fafafa;--bg-secondary: #f0f0f0;--bg-card: #ffffff;--text-primary: #1a1a1a;--text-secondary: #555;--text-muted: #888;--border: #e5e5e5;--accent: #3b82f6;--accent-hover: #2563eb;--code-bg: #f5f5f5;--blockquote-border: #3b82f6;--blockquote-bg: #f0f7ff;--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .08);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Monaco, "Cascadia Code", monospace;--max-width: 780px;--max-width-wide: 960px;--header-height: 64px;--transition: .15s ease}[data-theme=dark]{--bg: #0f0f0f;--bg-secondary: #1a1a1a;--bg-card: #181818;--text-primary: #e5e5e5;--text-secondary: #a0a0a0;--text-muted: #666;--border: #2a2a2a;--accent: #60a5fa;--accent-hover: #93c5fd;--code-bg: #1e1e1e;--blockquote-border: #60a5fa;--blockquote-bg: #0f1a2e;--shadow: 0 1px 3px rgba(0, 0, 0, .3);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .4)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);background:var(--bg);color:var(--text-primary);line-height:1.6;transition:background-color var(--transition),color var(--transition)}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}img{max-width:100%;height:auto}.layout{min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border);transition:background-color var(--transition);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header-inner{max-width:var(--max-width-wide);margin:0 auto;padding:0 24px;height:var(--header-height);display:flex;align-items:center;justify-content:space-between}.header-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.header-name:hover{color:var(--text-primary);opacity:.8}.header-nav{display:flex;align-items:center;gap:20px}.header-nav a{font-size:.875rem;color:var(--text-secondary);transition:color var(--transition)}.header-nav a:hover{color:var(--text-primary)}.theme-toggle{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.theme-toggle:hover{background:var(--bg-secondary);color:var(--text-primary)}.home{max-width:var(--max-width-wide);margin:0 auto;padding:0 24px;flex:1}.hero{display:flex;align-items:center;gap:28px;padding:56px 0 48px;border-bottom:1px solid var(--border);margin-bottom:48px}.hero-avatar img{width:88px;height:88px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.hero-tagline{font-size:1.125rem;line-height:1.7;color:var(--text-secondary);margin-bottom:12px}.hero-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:48px}.pill-link{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:500;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);transition:all var(--transition)}.pill-link:hover{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow)}.content-section{margin-bottom:56px}.section-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.post-list{display:flex;flex-direction:column;gap:2px}.post-card{border-radius:10px;transition:background-color var(--transition)}.post-card:hover{background:var(--bg-secondary)}.post-card-link{display:block;padding:16px;color:inherit;text-decoration:none}.post-card-link:hover{color:inherit}.post-card-title{font-size:1.1rem;font-weight:600;line-height:1.4;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.01em}.post-card-meta{display:flex;align-items:center;gap:8px;font-size:.825rem;color:var(--text-muted)}.meta-dot{width:3px;height:3px;border-radius:50%;background:var(--text-muted)}.post-card-spoiler{margin-top:6px;font-size:.925rem;color:var(--text-secondary);line-height:1.5}.repo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.repo-card{display:block;padding:18px 20px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);text-decoration:none;transition:all var(--transition)}.repo-card:hover{border-color:var(--accent);box-shadow:var(--shadow-hover);color:var(--text-primary);transform:translateY(-1px)}.repo-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.repo-card-name{font-weight:600;font-size:.95rem;font-family:var(--font-mono)}.repo-card-stars{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--text-muted)}.repo-card-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin-bottom:10px}.repo-card-lang{font-size:.75rem;color:var(--text-muted);font-family:var(--font-mono)}.talks-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.talk-card{display:block;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);overflow:hidden;color:var(--text-primary);text-decoration:none;transition:all var(--transition)}.talk-card:hover{border-color:var(--accent);box-shadow:var(--shadow-hover);color:var(--text-primary);transform:translateY(-1px)}.talk-card-thumb{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--bg-secondary)}.talk-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.talk-card:hover .talk-card-thumb img{transform:scale(1.03)}.talk-card-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000040;opacity:0;transition:opacity .2s ease}.talk-card:hover .talk-card-play{opacity:1}.talk-card-play svg{width:40px;height:40px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.talk-card-info{padding:14px 16px}.talk-card-title{font-size:.95rem;font-weight:600;line-height:1.4;margin-bottom:6px}.talk-card-meta{font-size:.8rem;color:var(--text-muted)}.talk-card-spoiler{margin-top:6px;font-size:.825rem;color:var(--text-secondary);line-height:1.4}.header-nav-talks{font-weight:500}.article-page{max-width:var(--max-width);margin:0 auto;padding:0 24px;flex:1}.back-link{display:inline-flex;align-items:center;gap:6px;margin:32px 0 40px;font-size:.875rem;color:var(--text-muted);transition:color var(--transition)}.back-link:hover{color:var(--text-primary)}.article-header{margin-bottom:40px}.article-title{font-size:2.25rem;font-weight:700;line-height:1.25;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:16px}.article-meta{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-muted)}.prose{font-size:1.0625rem;line-height:1.8;color:var(--text-primary)}.prose h1{font-size:1.875rem;font-weight:700;margin-top:2.5em;margin-bottom:.8em;letter-spacing:-.02em;line-height:1.3}.prose h2{font-size:1.5rem;font-weight:600;margin-top:2.2em;margin-bottom:.7em;letter-spacing:-.02em;line-height:1.35}.prose h3{font-size:1.25rem;font-weight:600;margin-top:1.8em;margin-bottom:.6em;line-height:1.4}.prose p{margin-bottom:1.4em}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.prose a:hover{color:var(--accent-hover)}.prose strong{font-weight:600;color:var(--text-primary)}.prose ul,.prose ol{margin-bottom:1.4em;padding-left:1.5em}.prose li{margin-bottom:.4em;line-height:1.7}.prose li::marker{color:var(--text-muted)}.prose blockquote{margin:1.6em 0;padding:16px 24px;border-left:3px solid var(--blockquote-border);background:var(--blockquote-bg);border-radius:0 8px 8px 0;font-style:italic;color:var(--text-secondary)}.prose blockquote p:last-child{margin-bottom:0}.prose img{margin:2em 0;border-radius:8px;box-shadow:var(--shadow)}.prose hr{border:none;height:1px;background:var(--border);margin:2.5em 0}.prose code{font-family:var(--font-mono);font-size:.875em}.prose p code,.prose li code,.prose td code{background:var(--code-bg);padding:.15em .4em;border-radius:4px;font-size:.85em;border:1px solid var(--border)}.prose pre{margin:1.6em 0;padding:20px 24px;background:var(--code-bg);border:1px solid var(--border);border-radius:10px;overflow-x:auto;font-size:.875rem;line-height:1.6;-webkit-overflow-scrolling:touch}.prose pre code{background:none;padding:0;border:none;font-size:inherit}.prose table{width:100%;margin:1.6em 0;border-collapse:collapse;font-size:.925rem}.prose th,.prose td{padding:10px 14px;border:1px solid var(--border);text-align:left}.prose th{background:var(--bg-secondary);font-weight:600}.article-footer{margin-top:56px;padding-top:24px;border-top:1px solid var(--border)}.edit-link{font-size:.875rem;color:var(--text-muted);transition:color var(--transition)}.edit-link:hover{color:var(--text-primary)}.footer{max-width:var(--max-width-wide);margin:0 auto;padding:40px 24px;text-align:center}.footer p{font-size:.8rem;color:var(--text-muted)}.loading-state{text-align:center;padding:80px 0;color:var(--text-muted);font-size:.95rem}.error-state{text-align:center;padding:80px 0}.error-state h1{font-size:1.5rem;margin-bottom:16px;color:var(--text-primary)}.prose img[alt*=float-left],.prose img[alt*=float-right]{border-radius:8px;box-shadow:var(--shadow)}.pretext-wrap-line{color:var(--text-primary)}.hljs{background:transparent!important;padding:0!important}@media(max-width:768px){:root{--header-height: 56px}.header-nav a:not(.theme-toggle):not(.header-nav-talks){display:none}.hero{flex-direction:column;text-align:center;padding:40px 0 36px;gap:20px}.hero-links{justify-content:center}.hero-tagline{font-size:1rem}.article-title{font-size:1.75rem}.repo-grid,.talks-grid{grid-template-columns:1fr}.prose{font-size:1rem}.prose pre{padding:16px;border-radius:8px;margin-left:-8px;margin-right:-8px}}@media(max-width:480px){.header-inner,.home,.article-page{padding:0 16px}}
