:root{--font-family-cjk-zh: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Source Han Sans CN", sans-serif;--font-family-cjk-ja: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;--font-family-cjk-ko: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", "Nanum Gothic", sans-serif}:root{--blog-color-surface: #1e293b;--blog-color-surface-hover: #334155;--blog-color-border: rgba(51, 65, 85, .5);--blog-color-border-hover: rgba(51, 65, 85, .8);--blog-color-accent: #60a5fa;--blog-color-primary: #2563eb;--blog-color-primary-hover: #3b82f6;--blog-container-max-width: 1200px}.blog-container{max-width:var(--blog-container-max-width);margin:0 auto;padding:0 1.5rem}.blog-hero{padding:4rem 0 3rem;text-align:center}.blog-hero__title{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:2.5rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(min-width:768px){.blog-hero__title{font-size:3rem}}.blog-hero__description{font-size:1.125rem;color:#94a3b8;max-width:600px;margin:0 auto}.blog-hero__label{display:inline-block;font-size:.8rem;font-weight:600;color:var(--blog-color-accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.blog-posts--paginated{padding-top:4rem}.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;padding-bottom:3rem}.post-card{background:var(--blog-color-surface);border-radius:1rem;overflow:hidden;border:1px solid var(--blog-color-border);transition:border-color .2s ease}.post-card:hover{border-color:var(--blog-color-border-hover)}.post-card__image-link{display:block;overflow:hidden;aspect-ratio:16/9}.post-card__image{width:100%;height:100%;object-fit:cover}.post-card__content{padding:1.5rem}.post-card__tag{display:inline-block;font-size:.75rem;font-weight:600;color:var(--blog-color-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.post-card__title{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1.25rem;font-weight:600;margin-bottom:.75rem;line-height:1.4}.post-card__title a{color:#fff;text-decoration:none}.post-card__title a:hover{color:var(--blog-color-accent)}.post-card__excerpt{color:#94a3b8;font-size:.9rem;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-card__meta{display:flex;align-items:center;gap:1rem;font-size:.8rem;color:#94a3b8}.post-card__date,.post-card__reading-time{display:flex;align-items:center}.post-card--small .post-card__content{padding:1rem}.post-card--small .post-card__title{font-size:1rem}.pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;padding:2rem 0 4rem}.pagination__link{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--blog-color-surface);border-radius:.5rem;color:#cbd5e1;font-weight:500;text-decoration:none;transition:all .3s ease}.pagination__link:hover{background:var(--blog-color-surface-hover);color:#fff}.pagination__info{color:#94a3b8;font-size:.9rem}.post-full{max-width:928px;margin:0 auto;padding:0 1.5rem 4rem}.post-full__header{padding:4rem 0 3.5rem;text-align:center}.post-full__tag{display:inline-block;font-size:.8rem;font-weight:600;color:var(--blog-color-accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem}.post-full__title{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:2.75rem;font-weight:700;margin-bottom:2rem;line-height:1.1;color:#fff;width:100%;margin-left:auto;margin-right:auto}@media(min-width:768px){.post-full__title{font-size:3.5rem}}.post-full__meta{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;color:#94a3b8;font-size:.875rem;padding:.5rem 1.25rem;background:var(--blog-color-surface);border:1px solid var(--blog-color-border);border-radius:9999px;margin-bottom:1rem}@media(max-width:640px){.post-full__meta{border-radius:1rem;padding:1rem;flex-direction:column;gap:.75rem}}.post-full__author{display:flex;align-items:center;gap:.75rem;padding-right:.5rem;border-right:1px solid var(--blog-color-border)}@media(max-width:640px){.post-full__author{border-right:none;padding-right:0;padding-bottom:.5rem;border-bottom:1px solid var(--blog-color-border);width:100%;justify-content:center}}.post-full__author-image{width:2rem;height:2rem;border-radius:50%;object-fit:cover}.post-full__author-avatar{width:2rem;height:2rem;border-radius:50%;background:var(--blog-color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem}.post-full__author-name{font-weight:500;color:#fff}.post-full__date,.post-full__reading-time{display:flex;align-items:center;gap:.5rem}.post-full__date:before,.post-full__reading-time:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.3;margin-right:.25rem}@media(max-width:640px){.post-full__date:before,.post-full__reading-time:before{display:none}}.post-full__image{margin:0 -1.5rem 2rem;border-radius:1rem;overflow:hidden}@media(min-width:768px){.post-full__image{margin:0 0 2rem}}.post-full__image img{width:100%;height:auto}.post-full__image figcaption{padding:1rem;text-align:center;font-size:.875rem;color:#94a3b8}.post-full__content{font-size:1.125rem;line-height:1.8;width:100%}.post-full__content h2{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1.75rem;margin:2.5rem 0 1rem;color:#fff}.post-full__content h3{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1.5rem;margin:2rem 0 1rem;color:#fff}.post-full__content h4{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1.25rem;margin:1.5rem 0 .75rem;color:#fff}.post-full__content p{margin-bottom:1.5rem}.post-full__content a{color:var(--blog-color-accent);text-decoration:underline}.post-full__content blockquote{margin:2rem 0;padding:1.5rem 2rem;border-left:4px solid var(--blog-color-primary);background:var(--blog-color-surface);border-radius:0 .5rem .5rem 0;font-style:italic}.post-full__content pre{background:var(--blog-color-surface)!important;padding:1.5rem;border-radius:.5rem;overflow-x:auto;margin:1.5rem 0}.post-full__content code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem}.post-full__content :not(pre)>code{background:var(--blog-color-surface);padding:.15rem .4rem;border-radius:.25rem;font-size:.875em}.post-full__content img{border-radius:.5rem;margin:1.5rem 0}.post-full__content ul,.post-full__content ol{margin:1.5rem 0;padding-left:2rem}.post-full__content li{margin-bottom:.5rem}.post-full__content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}.post-full__content th,.post-full__content td{padding:.75rem 1rem;border:1px solid var(--blog-color-border);text-align:left}.post-full__content th{background:var(--blog-color-surface);font-weight:600;color:#fff}.post-full__content ul:has(input[type=checkbox]){list-style:none;padding-left:0}.post-full__content ul:has(input[type=checkbox]) li{display:flex;align-items:baseline;gap:.5rem}.post-full__content .katex{font-size:1.1em}.post-full__content .katex-display{margin:1.5em 0;text-align:center;overflow-x:auto;overflow-y:hidden}.post-full__content hr{margin:3rem 0;border:none;border-top:1px solid var(--blog-color-border)}.post-full__footer{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--blog-color-border)}.post-full__tags{display:flex;flex-wrap:wrap;gap:.5rem}.post-full__tag-link{display:inline-block;padding:.5rem 1rem;background:var(--blog-color-surface);border-radius:9999px;font-size:.875rem;color:#cbd5e1;text-decoration:none;transition:all .3s ease}.post-full__tag-link:hover{background:var(--blog-color-surface-hover);color:#fff}.author-bio{display:flex;gap:1.5rem;padding:2rem;margin-top:3rem;background:var(--blog-color-surface);border-radius:1rem;border:1px solid var(--blog-color-border)}@media(max-width:640px){.author-bio{flex-direction:column;text-align:center}}.author-bio__image{width:5rem;height:5rem;border-radius:50%;object-fit:cover;flex-shrink:0}.author-bio__name{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1.125rem;margin-bottom:.5rem;color:#fff}.author-bio__description{color:#94a3b8;margin-bottom:1rem}.author-bio__link{display:inline-flex;align-items:center;gap:.25rem;color:var(--blog-color-accent);font-size:.875rem}.related-posts{max-width:var(--blog-container-max-width);margin:0 auto;padding:0 1.5rem 4rem}.related-posts__title{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1.5rem;margin-bottom:2rem;text-align:center;color:#fff}.related-posts__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:640px){.related-posts__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.related-posts__grid{grid-template-columns:repeat(3,1fr)}}.author-hero{padding:4rem 0 3rem;text-align:center}.author-hero__content{max-width:600px;margin:0 auto}.author-hero__image{width:8rem;height:8rem;border-radius:50%;object-fit:cover;margin-bottom:1.5rem;border:4px solid var(--blog-color-primary)}.author-hero__avatar{width:8rem;height:8rem;border-radius:50%;background:var(--blog-color-primary);color:#fff;font-size:3rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.author-hero__name{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:#fff}.author-hero__bio{color:#94a3b8;font-size:1.125rem;margin-bottom:1.5rem}.author-hero__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1rem}.author-hero__location,.author-hero__website,.author-hero__social{display:flex;align-items:center;gap:.5rem;color:#94a3b8;font-size:.9rem}.author-hero__website,.author-hero__social{text-decoration:none;transition:color .3s ease}.author-hero__website:hover,.author-hero__social:hover{color:var(--blog-color-accent)}.author-hero__post-count{color:#94a3b8;font-size:.9rem}
