:root,[data-theme=dark]{--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-card:#212121;--bg-hover:#2a2a2a;--text-primary:#ffffff;--text-secondary:#e8e8e8;--text-muted:#a0a0a0;--border:#2e2e2e;--border-light:#3a3a3a;--accent-primary:#3b82f6;--accent-hover:#2563eb;--hololive:#00a8e8;--nijisanji:#ff6b6b;--vspo:#9d4edd;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--transition-fast:0.15s ease}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#ffffff;--bg-card:#ffffff;--bg-hover:#f1f5f9;--text-primary:#0f172a;--text-secondary:#1e293b;--text-muted:#64748b;--border:#e2e8f0;--border-light:#cbd5e1;--accent-primary:#2563eb;--accent-hover:#1d4ed8;--hololive:#0284c7;--nijisanji:#dc2626;--vspo:#7c3aed;--shadow-sm:0 1px 2px rgba(0,0,0,0.1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text-primary);background:var(--bg-primary);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}.blog-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--bg-secondary);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.blog-header-inner{display:flex;align-items:center;height:52px;padding:0 16px;gap:16px}.blog-header-logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0}.blog-header-logo:hover{opacity:.9}.logo-component{display:flex;align-items:center;gap:8px;font-size:1.25rem;font-weight:700;color:var(--accent-primary);letter-spacing:-.02em}.logo-icon{flex-shrink:0}.logo-suffix{color:var(--text-muted);font-weight:400}.blog-header-badge{background:var(--bg-hover);color:var(--text-muted);border-radius:4px;padding:2px 7px;font-size:.68rem;font-weight:600;letter-spacing:.02em}.blog-header-nav{display:flex;align-items:center;gap:8px;margin-left:auto}.blog-header-cta{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;font-size:.85rem;font-weight:500;border-radius:8px;background:var(--accent-primary);color:#fff;white-space:nowrap;transition:background var(--transition-fast)}.blog-header-cta:hover{background:var(--accent-hover);color:#fff}.blog-header-cta-external{opacity:.85}.blog-theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.blog-theme-toggle:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.blog-theme-toggle:active{transform:scale(.95)}[data-theme=light] .blog-header,[data-theme=light] .blog-post-card{box-shadow:var(--shadow-sm)}.blog-main{flex:1 1;max-width:1100px;width:100%;margin:0 auto;padding:32px 24px}.blog-list-title{font-size:2rem;margin-bottom:8px}.blog-list-description{font-size:.95rem;color:var(--text-muted);margin-bottom:32px}.blog-post-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.blog-post-card{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:background var(--transition-fast),border-color var(--transition-fast);color:inherit}.blog-post-card:hover{background:var(--bg-hover);border-color:var(--border-light);color:inherit}.blog-post-card-thumb{aspect-ratio:16/9;background:var(--bg-hover);position:relative;overflow:hidden}.blog-post-card-thumb img,.blog-post-card-thumb svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.blog-post-card-body{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px}.blog-post-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.75rem;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.blog-post-card-meta time{display:inline-flex;align-items:center;gap:4px}.blog-post-card-tag{font-size:.7rem;padding:1px 7px;border-radius:4px;background:var(--bg-hover);color:var(--text-secondary)}.blog-post-card-title{font-size:.95rem;font-weight:600;margin:0;color:var(--text-primary);line-height:1.45}.blog-post-card-excerpt{font-size:.8rem;color:var(--text-muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-article{line-height:1.8}.blog-article-meta{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.blog-article-meta time{font-size:.85rem;color:var(--text-muted)}.blog-article-tags{display:flex;gap:6px}.blog-article-tag{font-size:.7rem;padding:2px 8px;border-radius:12px;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border)}.blog-content h1{font-size:1.8rem;margin:32px 0 16px;color:var(--text-primary);line-height:1.4}.blog-content h2{font-size:1.4rem;margin:40px 0 12px;color:var(--accent-primary);padding-bottom:8px;border-bottom:1px solid var(--border)}.blog-content h3{font-size:1.15rem;margin:28px 0 8px;color:var(--text-primary)}.blog-content ol,.blog-content p,.blog-content ul{margin:12px 0;color:var(--text-secondary)}.blog-content ol,.blog-content ul{padding-left:24px}.blog-content li{margin-bottom:6px}.blog-content strong{color:var(--text-primary);font-weight:600}.blog-content blockquote{border-left:3px solid var(--accent-primary);padding:8px 16px;margin:16px 0;color:var(--text-muted);background:var(--bg-secondary);border-radius:0 4px 4px 0}.blog-content code{background:var(--bg-secondary);padding:2px 6px;border-radius:4px;font-size:.9em;font-family:Menlo,Consolas,monospace}.blog-content pre{background:var(--bg-secondary);padding:16px;border-radius:8px;overflow-x:auto;margin:16px 0;border:1px solid var(--border)}.blog-content pre code{background:none;padding:0}.blog-content a{color:var(--accent-primary);text-decoration:underline;text-underline-offset:2px}.blog-content a:hover{color:var(--accent-hover)}.blog-content img{max-width:100%;border-radius:8px;margin:16px 0;border:1px solid var(--border)}.blog-content p>img{display:block}.blog-content img+br+em,.blog-content p>img+em{display:block;text-align:center;font-size:.85rem;color:var(--text-muted);margin-top:4px}.blog-content hr{border:none;border-top:1px solid var(--border);margin:32px 0}.blog-content table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.9rem;display:block;overflow-x:auto}.blog-content thead{background:var(--bg-secondary)}.blog-content th{font-weight:600;color:var(--text-primary);text-align:left;padding:10px 14px;border-bottom:2px solid var(--border-light);white-space:nowrap}.blog-content td{padding:8px 14px;color:var(--text-secondary);border-bottom:1px solid var(--border)}.blog-content tbody tr:hover{background:var(--bg-hover)}.blog-article-footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--border)}.blog-back-link{font-size:.9rem;color:var(--text-muted)}.blog-back-link:hover{color:var(--accent-primary)}.blog-layout-grid{display:grid;grid-template-columns:1fr 260px;grid-gap:40px;gap:40px;align-items:start}.blog-content-area{min-width:0}.blog-sidebar{position:-webkit-sticky;position:sticky;top:72px;max-height:calc(100vh - 90px);overflow-y:auto;display:flex;flex-direction:column;gap:20px}.blog-sidebar-widget{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px}.blog-sidebar-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px}.blog-sidebar-tags{display:flex;flex-wrap:wrap;gap:6px}.blog-sidebar-tag{font-size:.75rem;padding:4px 10px;border-radius:12px;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.blog-sidebar-tag:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.blog-sidebar-tag--active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.blog-sidebar-recent-list{display:flex;flex-direction:column;gap:10px;list-style:none}.blog-sidebar-recent-item a{display:flex;flex-direction:column;gap:2px;color:var(--text-secondary);font-size:.85rem;line-height:1.4}.blog-sidebar-recent-item a:hover{color:var(--text-primary)}.blog-sidebar-recent-date{font-size:.7rem;color:var(--text-muted)}.blog-toc-list{list-style:none;display:flex;flex-direction:column;gap:2px}.blog-toc-level-3{padding-left:12px}.blog-toc-link{font-size:.8rem;color:var(--text-muted);display:block;padding:3px 0 3px 10px;border-left:2px solid transparent;transition:all var(--transition-fast);line-height:1.4}.blog-toc-link:hover{color:var(--text-primary)}.blog-toc-link--active{color:var(--accent-primary);border-left-color:var(--accent-primary)}.blog-search{display:flex;align-items:center;gap:10px;padding:0 14px;margin-bottom:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);transition:border-color var(--transition-fast)}.blog-search:focus-within{border-color:var(--accent-primary)}.blog-search-icon{flex-shrink:0}.blog-search-input{width:100%;padding:9px 0;background:none;border:none;color:var(--text-primary);font-size:.9rem;font-family:inherit;outline:none}.blog-search-input::placeholder{color:var(--text-muted)}.blog-filter-status{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:.85rem;color:var(--text-muted)}.blog-filter-clear{font-size:.8rem;padding:2px 8px;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.blog-filter-clear:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.blog-no-results{color:var(--text-muted);font-size:.9rem;padding:20px 0}.blog-share{display:flex;align-items:center;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border);flex-wrap:wrap}.blog-share-label{font-size:.85rem;color:var(--text-muted)}.blog-share-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;font-size:.85rem;font-weight:500;transition:opacity var(--transition-fast)}.blog-share-btn:hover{opacity:.8;color:inherit}.blog-share-btn--x{background:#000;color:#fff}[data-theme=light] .blog-share-btn--x{background:#0f1419}.blog-share-btn--hatena{background:#00a4de;color:#fff}.blog-adjacent-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:40px;padding-top:24px;border-top:1px solid var(--border)}.blog-adjacent-next{text-align:right}.blog-adjacent-link{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:inherit;transition:background var(--transition-fast),border-color var(--transition-fast)}.blog-adjacent-link:hover{background:var(--bg-hover);border-color:var(--border-light);color:inherit}.blog-adjacent-direction{font-size:.75rem;color:var(--text-muted)}.blog-adjacent-title{font-size:.9rem;font-weight:600;color:var(--text-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-related{margin-top:40px;padding-top:24px;border-top:1px solid var(--border)}.blog-related-title{font-size:1rem;font-weight:700;margin-bottom:12px;color:var(--text-primary)}.blog-related-list{display:flex;flex-direction:column;gap:8px}.blog-related-card{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:inherit;transition:background var(--transition-fast),border-color var(--transition-fast)}.blog-related-card:hover{background:var(--bg-hover);border-color:var(--border-light);color:inherit}.blog-related-card-title{font-size:.9rem;font-weight:500;color:var(--text-primary)}.blog-related-card-date{font-size:.75rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}[data-theme=light] .blog-adjacent-link,[data-theme=light] .blog-related-card,[data-theme=light] .blog-sidebar-widget{box-shadow:var(--shadow-sm)}.blog-footer{margin-top:60px;padding:20px 24px;border-top:1px solid var(--border);background:var(--bg-secondary)}.blog-footer-inner{max-width:1100px;margin:0 auto;gap:20px}.blog-footer-inner,.blog-footer-nav{display:flex;align-items:center;flex-wrap:wrap}.blog-footer-nav{gap:18px}.blog-footer-nav a{color:var(--text-muted);font-size:.8rem;transition:color var(--transition-fast)}.blog-footer-nav a:hover{color:var(--text-primary)}.blog-footer-external{display:inline-flex;align-items:center;gap:5px}.blog-footer-copyright{margin-left:auto;color:var(--text-muted);font-size:.75rem}.blog-sidebar-widget--promo{border-color:var(--accent-primary)}.blog-promo-features{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:9px}.blog-promo-features li{display:flex;align-items:center;gap:9px;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.blog-promo-features svg{flex-shrink:0;color:var(--accent-primary)}.blog-promo-live{display:inline-flex;align-items:center;gap:6px}.blog-promo-live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--live-red);box-shadow:0 0 6px var(--live-red-glow)}.blog-promo-btn{display:flex;align-items:center;justify-content:center;gap:7px;background:var(--accent-primary);color:#fff;border-radius:8px;padding:9px 0;font-size:.83rem;font-weight:500;transition:background var(--transition-fast)}.blog-promo-btn:hover{background:var(--accent-hover);color:#fff}.blog-static-page{max-width:800px;margin:0 auto;line-height:1.8}.blog-static-page h1{font-size:1.6rem;margin-bottom:8px}.blog-static-updated{color:var(--text-muted);font-size:.85rem;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--border)}.blog-static-section{margin-bottom:36px}.blog-static-section h2{font-size:1.2rem;margin-bottom:12px;color:var(--accent-primary)}.blog-static-section p{margin-bottom:12px;color:var(--text-secondary)}.blog-static-section ul{margin:12px 0;padding-left:24px;color:var(--text-secondary)}.blog-static-section li{margin-bottom:8px}.blog-static-section a{color:var(--accent-primary);text-decoration:underline;text-underline-offset:2px}.blog-static-section a:hover{text-decoration:none}.blog-static-note{font-size:.85rem;color:var(--text-muted)}.blog-contact-box{text-align:center;padding:32px 20px;border:1px dashed var(--border-light);border-radius:8px;margin-top:16px}.blog-contact-box p{color:var(--text-secondary);margin-bottom:12px}.blog-contact-email{font-size:1.1rem}@media (max-width:768px){.blog-layout-grid,.blog-post-cards{grid-template-columns:1fr}.blog-sidebar{position:static;max-height:none}.blog-adjacent-nav{grid-template-columns:1fr}.blog-adjacent-next{text-align:left}}@media (max-width:640px){.blog-main{padding:20px 16px}.blog-list-title{font-size:1.5rem}.blog-content h1{font-size:1.4rem}.blog-content h2{font-size:1.2rem}.blog-content h3{font-size:1.05rem}.blog-header-inner{height:48px;padding:0 12px;gap:8px}.logo-component{font-size:1.05rem}.blog-header-badge{display:none}.blog-header-cta{padding:6px 10px;font-size:.8rem}.blog-footer-copyright{margin-left:0}}