:root,html.dark_mode,html.light_mode{color-scheme:dark;--ds-color-primary: #D0BCFF;--ds-color-primary-hover: #E8DDFF;--ds-color-on-primary: #381E72;--ds-color-primary-container: #4F378B;--ds-color-on-primary-container: #EADDFF;--ds-color-secondary-container: #4A4458;--ds-color-bg: #0F0D13;--ds-color-footer: #0B0910;--ds-color-surface: #141218;--ds-color-surface-container-low: #1D1B20;--ds-color-surface-container: #211F26;--ds-color-surface-container-high: #2B2930;--ds-color-surface-container-highest: #36343B;--ds-color-text: #E6E1E5;--ds-color-text-secondary: #CAC4D0;--ds-color-muted: #938F99;--ds-color-divider: #49454F;--ds-color-border-subtle: #211F26;--ds-color-border: #2B2930;--ds-color-success: #9AD67E;--ds-color-warning: #FFB951;--ds-color-error: #FFB4AB;--ds-color-signal: #FF9500;--ds-color-signal-light: #FFB65C;--ds-font-display: "Space Grotesk", system-ui, sans-serif;--ds-font-body: "Inter", system-ui, sans-serif;--ds-font-mono: "JetBrains Mono", monospace;--ds-radius-xs: 4px;--ds-radius-sm: 8px;--ds-radius-md: 12px;--ds-radius-lg: 16px;--ds-radius-xl: 20px;--ds-radius-2xl: 28px;--ds-radius-pill: 9999px;--ds-shadow-1: 0 1px 2px rgba(0, 0, 0, .5);--ds-shadow-2: 0 2px 6px rgba(0, 0, 0, .55);--ds-shadow-3: 0 4px 12px rgba(0, 0, 0, .6);--ds-shadow-glow: 0 0 44px rgba(208, 188, 255, .12);--ds-focus-ring: 0 0 0 3px rgba(208, 188, 255, .18);--ds-container-wide: 1200px;--ds-container-docs: 1280px;--ds-container-pad: 40px;--ds-size-header: 66px;--ds-motion-fast: .15s cubic-bezier(.2, 0, 0, 1);--ds-motion-standard: .3s cubic-bezier(.2, 0, 0, 1);--font-family-cjk-zh: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-family-cjk-ja: "Inter", "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--font-family-cjk-ko: "Inter", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif}.blog-container{width:100%;max-width:1440px;margin:0 auto;padding-inline:clamp(20px,3.333vw,48px)}.blog-hero{padding:88px 0 48px}.blog-hero__content{max-width:760px}.blog-hero__label{display:block;margin-bottom:14px;color:#d0bcff;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.blog-hero__title{margin:0 0 14px;font-size:clamp(34px,4.5vw,52px);font-weight:700;letter-spacing:-.02em;line-height:1.05}.blog-hero__description{max-width:640px;margin:0;color:#cac4d0;font-size:17px;line-height:1.65}.blog-hero__filters{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.blog-hero__filters a{padding:7px 15px;border:1px solid #2B2930;border-radius:9999px;background:#211f26;color:#cac4d0;font-size:13px;font-weight:500;line-height:1.3;transition:background .15s cubic-bezier(.2,0,0,1),color .15s cubic-bezier(.2,0,0,1),transform .15s cubic-bezier(.2,0,0,1)}.blog-hero__filters a:hover{color:#e6e1e5;transform:translateY(-1px)}.blog-hero__filters a.is-active{border-color:#4f378b;background:#4f378b;color:#eaddff}.blog-featured{padding-bottom:28px}.blog-posts{padding:0 0 16px}.blog-posts--paginated{padding-top:0}.posts-grid,.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.post-card{display:flex;min-width:0;overflow:hidden;flex-direction:column;border:1px solid #2B2930;border-radius:16px;background:#141218;box-shadow:0 1px 2px #00000080;transition:transform .15s cubic-bezier(.2,0,0,1),border-color .15s cubic-bezier(.2,0,0,1),box-shadow .15s cubic-bezier(.2,0,0,1)}.post-card:hover{transform:translateY(-3px);border-color:#4f378b;box-shadow:0 4px 12px #0009}.post-card__image-link{display:block;overflow:hidden;background-color:#1d1b20;background-image:radial-gradient(rgba(208,188,255,.1) 1px,transparent 1px);background-size:22px 22px;color:inherit}.post-card__image,.post-card__image-link>.blog-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .3s cubic-bezier(.2,0,0,1)}.post-card:hover .post-card__image,.post-card:hover .blog-cover{transform:scale(1.015)}.post-card__content{display:flex;flex:1;flex-direction:column;padding:24px}.post-card__taxonomy{display:flex;min-height:24px;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-bottom:11px;color:#938f99;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px}.post-card__tag{color:#938f99}.post-card__tag:hover{color:#e8ddff}.post-card__featured-label{padding:5px 12px;border-radius:9999px;background:#ff950024;color:#ffb65c;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:12px;font-weight:500}.post-card__title{margin:0 0 10px;font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,sans-serif;font-size:19px;font-weight:600;letter-spacing:-.01em;line-height:1.28}.post-card__title a{color:#e6e1e5}.post-card__title a:hover{color:#e8ddff}.post-card__excerpt{display:-webkit-box;overflow:hidden;margin:0 0 18px;color:#938f99;font-size:14px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:3}.post-card__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;color:#938f99;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.post-card__author{color:#e6e1e5;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13.5px;font-weight:500}.post-card--featured{display:grid;min-height:380px;grid-template-columns:minmax(0,1.2fr) minmax(420px,.9fr);border-radius:20px}.post-card--featured .post-card__image-link,.post-card--featured .blog-cover,.post-card--featured .post-card__image{width:100%;height:100%;min-height:380px;aspect-ratio:auto}.post-card--featured .post-card__content{justify-content:center;padding:48px}.post-card--featured .post-card__title{margin-bottom:14px;font-size:32px;line-height:1.14}.post-card--featured .post-card__excerpt{display:block;font-size:15px;line-height:1.65;-webkit-line-clamp:unset}.post-card--small .post-card__content{padding:20px}.post-card--small .post-card__title{margin:0;font-size:16.5px;line-height:1.3}.post-card--small .post-card__meta{display:none}.pagination{display:flex;align-items:center;justify-content:center;gap:24px;padding:48px 0 72px}.pagination__link{display:inline-flex;min-height:40px;align-items:center;gap:8px;padding:8px 18px;border:1px solid #2B2930;border-radius:9999px;background:#1d1b20;color:#cac4d0;font-size:14px;font-weight:600}.pagination__link:hover{border-color:#d0bcff;color:#e8ddff}.pagination__info{color:#938f99;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.post-full{display:flex;width:100%;flex-direction:column;padding-top:0}.post-full__header{order:1;width:100%;max-width:880px;margin:0 auto;padding:64px 40px 0}.post-full__header-content{width:100%}.post-full__back{display:inline-block;margin-bottom:26px;color:#938f99;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.post-full__back:hover{color:#e8ddff}.post-full__kicker{display:inline-flex;margin:0 10px 18px 0}.post-full__tag{display:inline-flex;padding:5px 12px;border-radius:9999px;background:#ff950024;color:#ffb65c;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:12px;font-weight:500}.post-full__title{margin:0 0 20px;font-size:clamp(36px,4.2vw,54px);font-weight:700;letter-spacing:-.025em;line-height:1.08}.post-full__lead{margin:0 0 28px;color:#cac4d0;font-size:19px;line-height:1.68}.post-full__meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;padding-bottom:32px;border-bottom:1px solid #211F26;color:#938f99;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.post-full__author{display:flex;align-items:center;gap:11px;margin-right:auto}.post-full__author-image,.post-full__author-avatar{display:grid;width:42px;height:42px;place-items:center;overflow:hidden;border:1px solid #2B2930;border-radius:50%;background:#211f26;color:#d0bcff;object-fit:cover}.post-full__author-name{color:#e6e1e5;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;font-weight:500}.post-full>.post-full__cover{order:2;width:min(100% - 96px,800px);max-width:none;height:auto;margin:40px auto 0;overflow:hidden;aspect-ratio:2/1;border:1px solid #2B2930;border-radius:20px;box-shadow:0 2px 6px #0000008c}.post-full>.post-full__cover--feature-image{aspect-ratio:16/9}.post-full__cover>.post-full__cover-art{width:100%;height:100%;aspect-ratio:auto}.post-full__cover-link{display:block;width:100%;height:100%;cursor:zoom-in}.post-full__cover-link:focus-visible{outline:3px solid #D0BCFF;outline-offset:-3px}.post-full__cover-picture{display:block;width:100%;height:100%}.post-full__cover-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s cubic-bezier(.2,0,0,1)}.post-full__cover-link:hover .post-full__cover-image{transform:scale(1.01)}.post-full__content{order:3;width:100%;max-width:800px;margin:0 auto;padding:52px 40px 0;color:#cac4d0;font-size:17px;line-height:1.82}.post-full__content>:first-child{margin-top:0;font-size:18.5px;line-height:1.78}.post-full__content h2{margin:44px 0 16px;color:#e6e1e5;font-size:28px;font-weight:600;letter-spacing:-.01em;line-height:1.24}.post-full__content h3{margin:32px 0 12px;color:#e6e1e5;font-size:21px;font-weight:600;line-height:1.3}.post-full__content h4{margin:26px 0 10px;color:#e6e1e5;font-size:17px;font-weight:600}.post-full__content p{margin:0 0 20px}.post-full__content a{color:#d0bcff;text-decoration:underline;text-decoration-color:#d0bcff6b;text-underline-offset:3px}.post-full__content a:hover{color:#e8ddff;text-decoration-color:currentColor}.post-full__content ul,.post-full__content ol{margin:0 0 24px;padding-left:24px}.post-full__content li{margin:5px 0;padding-left:3px}.post-full__content li::marker{color:#d0bcff}.post-full__content strong{color:#e6e1e5;font-weight:600}.post-full__content blockquote{margin:28px 0;padding:20px 24px;border-left:3px solid #D0BCFF;border-radius:0 12px 12px 0;background:#1d1b20;color:#e6e1e5}.post-full__content blockquote p:last-child{margin-bottom:0}.post-full__content pre{overflow-x:auto;margin:28px 0;padding:18px 20px;border:1px solid #2B2930;border-radius:12px;background:#141218;color:#cac4d0;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.7;tab-size:2}.post-full__content pre code{padding:0;border:0;background:transparent;color:inherit;font-size:inherit}.post-full__content :not(pre)>code,.post-full__content kbd{padding:2px 7px;border:1px solid #2B2930;border-radius:6px;background:#211f26;color:#d0bcff;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84em}.post-full__content img{display:block;max-height:600px;margin:30px auto;border:1px solid #2B2930;border-radius:14px;box-shadow:0 2px 6px #0000008c}.post-full__content table{width:100%;margin:28px 0;border-collapse:separate;border:1px solid #2B2930;border-spacing:0;border-radius:12px;font-size:14px;overflow:hidden}.post-full__content th,.post-full__content td{padding:11px 14px;overflow-wrap:anywhere;border-right:1px solid #211F26;border-bottom:1px solid #211F26;text-align:left}.post-full__content th{background:#211f26;color:#e6e1e5;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.post-full__content tr:last-child td{border-bottom:0}.post-full__content th:last-child,.post-full__content td:last-child{border-right:0}.post-full__content hr{height:1px;margin:40px 0;border:0;background:#211f26}.post-full__footer{order:4;width:100%;max-width:800px;margin:0 auto;padding:32px 40px 0}.post-full__tags{display:flex;flex-wrap:wrap;gap:8px;padding-top:28px;border-top:1px solid #211F26}.post-full__tag-link{padding:6px 13px;border:1px solid #2B2930;border-radius:9999px;background:#211f26;color:#cac4d0;font-size:12.5px;line-height:1.2}.post-full__tag-link:hover{border-color:#4f378b;color:#e8ddff}.author-bio{order:5;display:flex;width:min(100% - 80px,720px);max-width:none;margin:40px auto 0;gap:20px;padding:26px;border:1px solid #2B2930;border-radius:16px;background:#1d1b20}.author-bio__image{width:64px;height:64px;flex:0 0 64px;border-radius:50%;object-fit:cover}.author-bio__name{margin:0 0 5px;font-size:17px;font-weight:600}.author-bio__description{margin:0 0 8px;color:#938f99;font-size:14px;line-height:1.6}.author-bio__link{display:inline-flex;align-items:center;gap:6px;font-size:13px}.related-posts{width:100%;max-width:1440px;margin:0 auto;padding:80px clamp(20px,3.333vw,48px) 0}.related-posts__title{margin:0 0 26px;font-size:26px;font-weight:600;letter-spacing:-.01em}.related-posts__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.author-hero{padding:88px 0 48px}.author-hero__content{display:grid;max-width:920px;grid-template-columns:104px minmax(0,1fr);grid-template-areas:"avatar name" "avatar bio" "avatar meta" "avatar count";align-items:start;column-gap:28px}.author-hero__image,.author-hero__avatar{grid-area:avatar;display:grid;width:104px;height:104px;margin:0;place-items:center;overflow:hidden;border:1px solid #2B2930;border-radius:50%;background:#4f378b;color:#eaddff;font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,sans-serif;font-size:32px;object-fit:cover}.author-hero__name{grid-area:name;margin:0 0 12px;font-size:clamp(34px,4vw,48px);font-weight:700}.author-hero__bio{grid-area:bio;max-width:680px;margin:0 0 16px;color:#cac4d0;font-size:16px;line-height:1.65}.author-hero__meta{grid-area:meta;display:flex;flex-wrap:wrap;gap:14px;color:#938f99;font-size:13px}.author-hero__meta>*{display:inline-flex;align-items:center;gap:6px}.author-hero__post-count{grid-area:count;margin:18px 0 0;color:#938f99;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.lang-stub{min-height:260px}@media(max-width:1024px){.posts-grid,.blog-grid,.related-posts__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.post-card--featured{min-height:0;grid-template-columns:1fr}.post-card--featured .post-card__image-link,.post-card--featured .blog-cover,.post-card--featured .post-card__image{height:auto;min-height:0;aspect-ratio:16/9}}@media(max-width:767px){.blog-container{padding-inline:20px}.blog-hero{padding:56px 0 32px}.post-card--featured .post-card__content{padding:28px}.post-card--featured .post-card__title{font-size:23px}.post-full__header{padding:44px 20px 0}.post-full__title{font-size:clamp(32px,10vw,42px)}.post-full__lead{font-size:17px}.post-full>.post-full__cover{width:calc(100% - 40px);height:auto;margin-top:32px;aspect-ratio:16/9;border-radius:16px}.post-full__content{padding:36px 20px 0}.post-full__footer{padding-inline:20px}.author-bio{width:calc(100% - 40px)}.related-posts{padding:56px 20px 0}.related-posts__grid{grid-template-columns:1fr}.author-hero{padding:56px 0 36px}.author-hero__content{display:block}.author-hero__image,.author-hero__avatar{width:88px;height:88px;margin-bottom:20px;font-size:28px}}@media(max-width:640px){.posts-grid,.blog-grid{grid-template-columns:1fr}.pagination{gap:10px}.pagination__info{display:none}.post-full__meta{align-items:flex-start;flex-direction:column}.post-full__author{margin-right:0}.author-bio{flex-direction:column}}.blog-cover[data-astro-cid-vft36o2s]{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;isolation:isolate;background-color:#141218;background-image:radial-gradient(circle at 45% 40%,rgba(79,55,139,.52),transparent 58%),radial-gradient(rgba(208,188,255,.1) 1px,transparent 1px);background-size:auto,22px 22px}.blog-cover__svg[data-astro-cid-vft36o2s]{position:absolute;inset:0;width:100%;height:100%;display:block}
