:root{--color-blue: #2563EB;--color-blue-dark: #1E40AF;--color-blue-light: #60A5FA;--color-blue-pale: #EFF6FF;--color-blue-border: #BFDBFE;--color-purple: #7C3AED;--color-purple-dark: #5B21B6;--color-purple-light: #A78BFA;--color-purple-pale: #F5F3FF;--color-purple-border: #DDD6FE;--color-orange: #F97316;--color-orange-hover: #EA580C;--color-orange-dark: #9A3412;--color-orange-pale: #FFF7ED;--color-orange-border: #FED7AA;--color-gold-text: #92400E;--color-gold-pale: #FEF3C7;--color-gold-border: #FDE68A;--color-text-primary: #0F172A;--color-text-secondary: #475569;--color-text-muted: #64748B;--color-text-light: #94A3B8;--color-text-lighter: #CBD5E1;--color-white: #FFFFFF;--color-bg: #FFFFFF;--color-bg-page: #F9F9F9;--color-bg-section: #F8FAFC;--color-border: #E2E8F0;--color-border-light: #F1F5F9;--color-border-hover: #CBD5E1;--color-divider: #D5DCE5;--color-blue-pale-2: #F5F8FF;--color-blue-pale-2-border: #E0E7F5;--color-blockquote-border: #C7D8F3;--color-code-text: #B91C1C;--color-code-bg: #F1F5F9;--color-success: #34D399;--color-success-border: rgba(52, 211, 153, .4);--color-success-bg: rgba(52, 211, 153, .1);--color-code-block-bg: #0F172A;--color-code-block-text: #E2E8F0;--color-code-block-icon: #94A3B8;--color-code-block-icon-hover: #E2E8F0;--color-code-block-lang: #64748B;--color-footer-bg: #0F172A;--color-footer-text: #FFFFFF;--color-footer-muted: #94A3B8;--color-footer-label: #60A5FA;--color-footer-divider: #1E293B;--color-footer-btn-bg: #1E293B;--color-footer-btn-border: #334155;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--font-jp: "Noto Sans JP", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Monaco, Consolas, "Courier New", monospace;--font-serif: Georgia, "Times New Roman", serif;--fs-hero: 62px;--fs-hero-sub: 19px;--fs-section-title: 28px;--fs-section-label: 12px;--fs-card-title-xl: 34px;--fs-card-title-lg: 28px;--fs-card-title-md: 18px;--fs-card-title-sm: 16px;--fs-body: 14px;--fs-small: 13px;--fs-xs: 12px;--fs-tiny: 11px;--fs-stat-number: 26px;--fw-normal: 400;--fw-medium: 500;--fw-bold: 700;--fw-black: 800;--lh-tight: 1.2;--lh-base: 1.6;--lh-loose: 1.8;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--container-max-width: 1100px;--container-padding: 80px;--header-height: 68px;--page-main-max-width: 752px;--page-sidebar-width: 300px;--page-gutter: 48px;--page-sidebar-top-offset: 90px;--gradient-grey-soft: linear-gradient(135deg, #E2E8F0 0%, #CBD5E1 100%);--gradient-blue-soft: linear-gradient(135deg, #F5F8FF 0%, #EFF6FF 100%);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 28px;--radius-badge: 15px;--radius-full: 9999px;--shadow-card: 0 1px 2px rgba(15, 23, 42, .04);--shadow-card-hover: 0 8px 20px rgba(15, 23, 42, .08);--shadow-header: 0 1px 3px rgba(15, 23, 42, .06);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--card-transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;--card-lift: translateY(-2px);--z-header: 100;--z-scroll-top: 50;--z-modal: 1000}@media(max-width:1180px){:root{--fs-hero: 48px;--fs-hero-sub: 16px;--fs-section-title: 24px;--fs-card-title-xl: 28px;--container-padding: 40px;--page-sidebar-width: 280px;--page-gutter: 32px}}@media(max-width:900px){:root{--container-padding: 24px;--page-sidebar-width: 260px;--page-gutter: 24px}}@media(max-width:743px){:root{--fs-hero: 36px;--fs-hero-sub: 15px;--fs-section-title: 22px;--fs-card-title-xl: 24px;--fs-card-title-md: 16px;--fs-stat-number: 28px;--container-padding: 20px;--header-height: 60px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-base);color:var(--color-text-primary);background:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px;border-radius:2px}button{font-family:inherit;font-size:inherit;cursor:pointer;background:none;border:none}button:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}ul,ol{list-style:none}.container{max-width:calc(var(--container-max-width) + var(--container-padding) * 2);margin:0 auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.section{padding-top:var(--space-20);padding-bottom:var(--space-20)}@media(max-width:640px){.section{padding-top:var(--space-12);padding-bottom:var(--space-12)}}.section-label{display:block;font-size:var(--fs-section-label);font-weight:var(--fw-bold);color:var(--color-blue);letter-spacing:2px;margin-bottom:var(--space-4)}.section-title{font-size:var(--fs-section-title);font-weight:var(--fw-black);color:var(--color-text-primary);margin-bottom:var(--space-3);line-height:var(--lh-tight)}.mono{font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);transition:var(--card-transition)}.card-lift{cursor:pointer}.card-lift,.md-card,.sidebar-banner,.article-nav__item,.pr-box,.related-card,.soft-banner,.article-body .card-lift,.article-body .md-card,.article-body .sidebar-banner,.article-body .article-nav__item,.article-body .pr-box,.article-body .related-card,.article-body .soft-banner{transition:var(--card-transition)}.card-lift:hover,.md-card:hover,.sidebar-banner:hover,.article-nav__item:hover,.pr-box:hover,.related-card:hover,.soft-banner:hover{transform:var(--card-lift);box-shadow:var(--shadow-card-hover);border-color:var(--color-border-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--fs-xs);font-weight:var(--fw-bold);border-radius:var(--radius-pill);border:1.8px solid transparent;transition:var(--transition-base);white-space:nowrap}.btn-primary{background:var(--color-orange);color:var(--color-white);border-color:var(--color-orange)}.btn-primary:hover{background:var(--color-orange-hover);border-color:var(--color-orange-hover);transform:translateY(-1px);box-shadow:0 4px 12px #f9731640}.btn-secondary{background:var(--color-bg);color:var(--color-orange);border-color:var(--color-orange)}.btn-secondary:hover{background:var(--color-orange-pale)}.btn-tertiary{background:var(--color-bg);color:var(--color-text-primary);border-color:var(--color-text-primary)}.btn-tertiary:hover{background:var(--color-bg-section)}.tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--fs-xs);font-weight:var(--fw-bold);border-radius:var(--radius-badge);border:1px solid}.tag-writing{background:var(--color-orange-pale);color:var(--color-orange-dark);border-color:var(--color-orange-border)}.tag-obsidian{background:var(--color-purple-pale);color:var(--color-purple-dark);border-color:var(--color-purple-border)}.tag-claude{background:var(--color-blue-pale);color:var(--color-blue-dark);border-color:var(--color-blue-border)}.tag-featured{background:var(--color-gold-pale);color:var(--color-gold-text);border-color:var(--color-gold-border);letter-spacing:1px}.label-pill{display:inline-block;padding:2px 8px;background:var(--color-blue);color:var(--color-white);font-size:10px;font-weight:var(--fw-bold);letter-spacing:1px;border-radius:3px}.soft-banner{background:var(--gradient-blue-soft);border:1px solid var(--color-blue-border);border-radius:var(--radius-md);text-decoration:none;color:inherit;display:block}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-header{position:sticky;top:0;z-index:var(--z-header);background:var(--color-white);border-bottom:1px solid var(--color-border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);gap:var(--space-8)}.site-header__logo{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.site-header__logo-mark{width:40px;height:40px}.site-header__logo-text{display:flex;flex-direction:column;line-height:1.1;gap:2px}.site-header__logo-title{font-family:var(--font-jp);font-size:22px;font-weight:var(--fw-bold);color:var(--color-text-primary);letter-spacing:-.01em}.site-header__logo-sub{font-family:var(--font-jp);font-size:13px;font-weight:var(--fw-medium);color:var(--color-text-muted);letter-spacing:.02em}.site-header__logo-sub-accent{color:var(--color-blue);font-weight:700}.site-header__nav{display:flex;align-items:center;gap:var(--space-8);margin-left:auto}.site-header__nav-link{font-size:16px;font-weight:var(--fw-medium);color:var(--color-text-primary);transition:color var(--transition-fast);position:relative}.site-header__nav-link:hover{color:var(--color-blue)}.site-header__actions{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.site-header__search{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--color-text-primary);border-radius:var(--radius-full);transition:background var(--transition-fast),color var(--transition-fast);background:transparent;border:none;cursor:pointer;padding:0;flex-shrink:0;position:relative;z-index:2}.site-header__search:hover{background:var(--color-bg-section)}.site-header__search svg{width:20px;height:20px}.site-header__search-wrap{position:relative;display:flex;align-items:center;margin-left:-16px}.site-header__search-input{width:0;opacity:0;pointer-events:none;height:36px;padding:0;border:1px solid transparent;border-radius:var(--radius-full);background:transparent;font-size:14px;font-family:var(--font-jp);color:var(--color-text-primary);outline:none;transition:width .28s ease,opacity .22s ease,padding .28s ease,border-color .2s ease,background .2s ease;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1}.site-header__search-wrap.is-active{width:160px;transition:width .28s ease}.site-header__search-wrap{width:36px;transition:width .28s ease}.site-header__search-wrap.is-active .site-header__search-input{width:160px;opacity:1;pointer-events:auto;padding:0 16px 0 40px;border-color:var(--color-border);background:var(--color-white)}.site-header__search-wrap.is-active .site-header__search{background:transparent;cursor:default;color:var(--color-text-muted)}.site-header__search-wrap.is-active .site-header__search:hover{background:transparent}.site-header__search-input:focus{border-color:var(--color-text-muted)}.site-header__nav{transition:gap .28s ease}.site-header:has(.site-header__search-wrap.is-active) .site-header__nav{gap:var(--space-3)}.site-header__menu-toggle{display:none;width:40px;height:40px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.site-header__menu-toggle span{display:block;width:22px;height:2px;background:var(--color-text-primary);transition:transform var(--transition-base),opacity var(--transition-base)}@media(max-width:1024px){.site-header__nav{display:none}.site-header__menu-toggle{display:flex}}@media(max-width:768px){.site-header__actions .btn{display:none}.site-header.is-menu-open .site-header__nav{display:flex;position:absolute;top:var(--header-height);left:0;right:0;flex-direction:column;background:var(--color-bg);padding:var(--space-6) var(--container-padding);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-header);gap:var(--space-4);align-items:flex-start}.site-header.is-menu-open .site-header__menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-header.is-menu-open .site-header__menu-toggle span:nth-child(2){opacity:0}.site-header.is-menu-open .site-header__menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}.site-footer{background:var(--color-footer-bg);color:var(--color-footer-text);padding-top:var(--space-16);padding-bottom:var(--space-10)}.site-footer__top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-8);margin-bottom:var(--space-12)}.site-footer__brand{display:flex;flex-direction:column;gap:var(--space-4)}.site-footer__logo{display:flex;align-items:center;gap:var(--space-3)}.site-footer__logo-mark{width:44px;height:44px;flex-shrink:0}.site-footer__logo-text{display:flex;flex-direction:column;line-height:1.1;gap:2px}.site-footer__logo-title{font-family:var(--font-jp);font-size:22px;font-weight:var(--fw-bold);color:var(--color-white);letter-spacing:-.01em}.site-footer__logo-sub{font-family:var(--font-jp);font-size:13px;font-weight:var(--fw-medium);color:#ffffffa6;letter-spacing:.02em}.site-footer__logo-sub-accent{color:var(--color-blue);font-weight:700}.site-footer__tagline{font-size:var(--fs-small);color:var(--color-footer-muted);line-height:1.7}.site-footer__tech{font-size:var(--fs-tiny);font-family:var(--font-mono);color:var(--color-text-muted)}.site-footer__col-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--color-footer-label);letter-spacing:1.5px;margin-bottom:var(--space-4);text-transform:uppercase}.site-footer__col-list{display:flex;flex-direction:column;gap:var(--space-3)}.site-footer__col-list a{font-size:var(--fs-small);color:var(--color-footer-text);transition:color var(--transition-fast)}.site-footer__col-list a:hover{color:var(--color-blue-light)}.site-footer__divider{height:1px;background:var(--color-footer-divider);margin-bottom:var(--space-8)}.site-footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.site-footer__social{display:flex;gap:var(--space-2)}.social-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-footer-btn-bg);border:1px solid var(--color-footer-btn-border);border-radius:var(--radius-md);color:var(--color-footer-text);transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.social-btn:hover{background:var(--color-footer-btn-border);border-color:var(--color-text-muted);transform:translateY(-2px)}.social-btn svg{width:18px;height:18px}.site-footer__copyright{font-size:var(--fs-tiny);color:var(--color-text-muted)}@media(max-width:1024px){.site-footer__top{grid-template-columns:1fr 1fr 1fr}.site-footer__brand{grid-column:1 / -1;margin-bottom:var(--space-5)}}@media(max-width:768px){.site-footer{padding-top:var(--space-12);padding-bottom:var(--space-8)}.site-footer__top{grid-template-columns:1fr 1fr;gap:var(--space-6)}.site-footer__brand{grid-column:1 / -1}.site-footer__bottom{flex-direction:column-reverse;align-items:flex-start;gap:var(--space-5)}}.scroll-to-top{position:fixed;right:24px;bottom:24px;width:44px;height:44px;border-radius:var(--radius-full);background:#0f172ad9;color:var(--color-white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:var(--z-scroll-top);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,background .2s ease;box-shadow:0 4px 14px #0f172a2e}.scroll-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-to-top:hover{background:var(--color-blue)}.scroll-to-top svg{width:18px;height:18px}@media(max-width:768px){.scroll-to-top{right:16px;bottom:16px;width:40px;height:40px}.scroll-to-top svg{width:16px;height:16px}}.article-wrap{padding:56px 0 80px}.page-layout{max-width:calc(var(--container-max-width) + var(--container-padding) * 2);margin:0 auto;padding:0 var(--container-padding);display:grid;grid-template-columns:1fr var(--page-sidebar-width);gap:var(--page-gutter);align-items:stretch}.page-main{min-width:0;width:100%;justify-self:stretch}@media(max-width:743px){.page-layout{grid-template-columns:1fr;max-width:720px}.page-sidebar{display:none}}.page-sidebar{display:flex;flex-direction:column;gap:var(--space-6)}.sidebar-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:18px var(--space-5)}.sidebar-card__label{font-size:10px;font-weight:var(--fw-bold);letter-spacing:1.5px;color:var(--color-text-muted);margin-bottom:var(--space-3)}.sidebar-ad{background:var(--color-white);border:1px dashed var(--color-border-hover);border-radius:var(--radius-md);height:250px;display:flex;align-items:center;justify-content:center;color:var(--color-text-light);font-size:var(--fs-xs);font-family:var(--font-mono);letter-spacing:1px}.sidebar-category__list{display:flex;flex-direction:column;gap:2px}.sidebar-category__item{display:flex;align-items:center;gap:10px;padding:var(--space-2) 10px;border-radius:6px;text-decoration:none;color:var(--color-text-primary);font-size:var(--fs-small);font-weight:var(--fw-medium);transition:background var(--transition-fast)}.sidebar-category__item:hover{background:var(--color-bg-section)}.sidebar-category__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;color:var(--color-text-muted)}.sidebar-category__item:hover .sidebar-category__icon{color:var(--color-text-primary)}.sidebar-category__name{flex:1}.sidebar-category__count{font-size:var(--fs-tiny);color:var(--color-text-muted);font-family:var(--font-mono);font-weight:var(--fw-normal)}.sidebar-banner{display:block;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;text-decoration:none;line-height:0}.sidebar-banner img{width:100%;height:auto;display:block}.sidebar-latest{position:relative;padding-bottom:var(--space-10)}.sidebar-latest__list{display:flex;flex-direction:column;gap:var(--space-3)}.sidebar-latest__more{position:absolute;right:var(--space-4);bottom:var(--space-3);font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--color-blue);text-decoration:none;letter-spacing:.02em}.sidebar-latest__more:hover{color:var(--color-blue-dark, #1E40AF)}.sidebar-latest__item{display:flex;gap:10px;text-decoration:none;color:inherit;align-items:flex-start}.sidebar-latest__thumb{width:56px;height:56px;flex-shrink:0;background:var(--color-border-light);border-radius:6px;overflow:hidden;border:1px solid var(--color-border-hover);display:flex;align-items:center;justify-content:center;position:relative}.sidebar-latest__thumb:before{content:"no img";font-size:9px;color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.5px}.sidebar-latest__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sidebar-latest__body{flex:1;min-width:0}.sidebar-latest__date{font-size:10px;color:var(--color-text-muted);font-family:var(--font-mono);margin-bottom:var(--space-1)}.sidebar-latest__title{font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:1.5;color:var(--color-text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sidebar-latest__item:hover .sidebar-latest__title{color:var(--color-blue)}.sidebar-toc-sticky{position:sticky;top:var(--page-sidebar-top-offset);max-height:calc(100vh - 110px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.sidebar-toc-sticky::-webkit-scrollbar{width:4px}.sidebar-toc-sticky::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.sidebar-toc__list{counter-reset:stoc-counter}.sidebar-toc__list li{counter-increment:stoc-counter;margin:var(--space-1) 0}.sidebar-toc__list a{display:flex;align-items:baseline;gap:var(--space-2);padding:6px var(--space-2);font-size:var(--fs-small);color:var(--color-text-secondary);text-decoration:none;border-radius:4px;border-left:2px solid transparent;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);line-height:1.5}.sidebar-toc__list a:hover{background:var(--color-bg-section);color:var(--color-text-primary)}.sidebar-toc__list a:before{content:counter(stoc-counter,decimal-leading-zero);font-family:var(--font-mono);font-size:10px;color:var(--color-text-light);flex-shrink:0}.sidebar-toc__list a.is-active{color:var(--color-blue);border-left-color:var(--color-blue);background:var(--color-blue-pale);font-weight:var(--fw-bold)}.sidebar-toc__list a.is-active:before{color:var(--color-blue)}.article-body{font-family:var(--font-jp);font-size:16px;line-height:1.9;color:var(--color-text-primary)}.article-body h2{font-size:26px;font-weight:var(--fw-bold);line-height:1.4;margin-top:var(--space-16);margin-bottom:var(--space-5);padding-left:14px;border-left:4px solid var(--color-blue);color:var(--color-text-primary)}.article-body h3{font-size:20px;font-weight:var(--fw-bold);line-height:1.5;margin-top:var(--space-12);margin-bottom:var(--space-4);color:var(--color-text-primary)}.article-body h4{font-size:17px;font-weight:var(--fw-bold);line-height:1.5;margin-top:36px;margin-bottom:var(--space-3);color:var(--color-text-primary)}.article-body h5{font-size:15px;font-weight:var(--fw-bold);line-height:1.5;margin-top:28px;margin-bottom:10px;color:var(--color-text-secondary);letter-spacing:.02em}.article-body p{margin:0 0 var(--space-6) 0}.article-body strong{font-weight:var(--fw-bold);color:var(--color-text-primary)}.article-body em{font-style:normal;color:var(--color-text-primary);background:linear-gradient(transparent 60%,#a8dafb80 60%);padding:0 2px;border-radius:2px}.article-body del,.article-body s{color:var(--color-text-light);text-decoration:line-through}.article-body a{color:var(--color-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--transition-fast)}.article-body a:hover{color:var(--color-blue-dark)}.article-body a.external-link:after{content:"";display:inline-block;width:.85em;height:.85em;margin-left:3px;vertical-align:-.05em;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.article-body code{font-family:var(--font-mono);font-size:.92em;background:var(--color-code-bg);color:var(--color-code-text);padding:2px 6px;border-radius:4px;border:1px solid var(--color-border)}.article-body sup,.article-body sub{font-size:.7em;color:var(--color-text-muted)}.article-body ul,.article-body ol{margin:0 0 var(--space-6) 0;padding-left:1.6em}.article-body ul li{list-style:none;position:relative;margin-bottom:var(--space-2)}.article-body ul li:before{content:"";position:absolute;left:-1.1em;top:.75em;width:6px;height:6px;background:var(--color-blue);border-radius:50%}.article-body ol{list-style:none;counter-reset:ol-counter}.article-body ol>li{counter-increment:ol-counter;position:relative;margin-bottom:var(--space-2)}.article-body ol>li:before{content:counter(ol-counter) ".";position:absolute;left:-1.6em;color:var(--color-blue);font-weight:var(--fw-bold);font-family:var(--font-mono)}.article-body li ul,.article-body li ol{margin:var(--space-2) 0}.article-body li ul li:before{background:transparent;border:1.5px solid var(--color-blue)}.article-body blockquote{position:relative;margin:var(--space-8) 0;padding:var(--space-8) var(--space-10);background:var(--c-blue-back);border:1px solid var(--c-blue-small);border-radius:var(--radius-md);color:var(--color-text-secondary);font-style:normal}.article-body blockquote:before,.article-body blockquote:after{position:absolute;font-family:var(--font-serif);font-size:56px;line-height:1;color:var(--c-blue-small);font-weight:var(--fw-bold)}.article-body blockquote:before{content:"“";top:6px;left:var(--space-3)}.article-body blockquote:after{content:"”";bottom:-8px;right:var(--space-4)}.article-body blockquote p{margin:0;position:relative;z-index:1}.article-body blockquote p+p{margin-top:var(--space-3)}.article-body hr{border:none;height:1px;background:var(--color-divider);margin:var(--space-12) auto;max-width:200px}.code-block{position:relative;margin:0 0 var(--space-8) 0}.code-block pre{margin:0}.code-block__copy{position:absolute;top:var(--space-2);right:var(--space-2);width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:var(--color-code-block-icon);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);z-index:2}.code-block__copy:hover{background:#ffffff1f;color:var(--color-code-block-icon-hover);border-color:#fff3}.code-block__copy .icon-copy,.code-block__copy .icon-check{font-size:16px;line-height:1;font-style:normal}.code-block__copy.is-copied{color:var(--color-success);border-color:var(--color-success-border);background:var(--color-success-bg)}.code-block__copy .icon-check,.code-block__copy.is-copied .icon-copy{display:none}.code-block__copy.is-copied .icon-check{display:inline}.code-block pre[data-lang]:before{right:auto;left:var(--space-4);top:var(--space-2)}.code-block pre[data-lang]{padding-top:32px}.article-body pre{margin:0 0 var(--space-8) 0;padding:var(--space-5) var(--space-6);background:var(--color-code-block-bg);color:var(--color-code-block-text);border-radius:var(--radius-md);overflow-x:auto;font-family:var(--font-mono);font-size:13px;line-height:1.7;position:relative}.article-body pre code{background:transparent;color:inherit;padding:0;border:none;font-size:inherit}.article-body pre[data-lang]:before{content:attr(data-lang);position:absolute;top:var(--space-2);right:var(--space-3);font-size:10px;letter-spacing:1px;color:var(--color-code-block-lang);text-transform:uppercase;font-family:var(--font-mono)}.article-body .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 var(--space-8) 0;border-radius:var(--radius-md);border:1px solid var(--color-border)}.article-body .table-scroll>table{width:100%;border-collapse:collapse;font-size:var(--fs-body);margin:0;border:none}.article-body thead{background:transparent}.article-body th{padding:var(--space-3) var(--space-4);text-align:center;font-weight:var(--fw-bold);font-size:var(--fs-small);color:var(--color-text-primary);background:var(--c-blue-small);border-bottom:1px solid var(--color-border-light);white-space:nowrap}.article-body td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);background:var(--color-white);white-space:nowrap}.article-body tbody tr:last-child td{border-bottom:none}.article-body tbody tr:hover td{background:#fafbfc}.article-body img{width:100%;height:auto;display:block;border-radius:var(--radius-md)}.article-body p:has(>img){margin:var(--space-8) 0}.article-body>p:first-child:has(>img),.article-body>p:nth-child(-n+2):has(>img){margin-top:0;margin-bottom:var(--space-8)}.article-body figure{margin:var(--space-8) 0}.article-body figure img{width:100%;height:auto;display:block;border-radius:var(--radius-md)}.article-body figcaption{margin-top:10px;text-align:center;font-size:var(--fs-small);color:var(--color-text-muted);line-height:1.6}.callout{margin:var(--space-8) 0;font-size:16px;line-height:1.9}.callout-title{display:flex;gap:10px;align-items:center;font-weight:var(--fw-bold);margin-bottom:var(--space-1);font-size:16px}.callout-title-icon{flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.callout-title-icon svg{width:100%;height:100%}.callout-content p{margin:0 0 var(--space-2) 0}.callout-content p:last-child{margin-bottom:0}.callout-content>*:last-child{margin-bottom:0}.callout[data-callout=info],.callout[data-callout=warning],.callout[data-callout=tip],.callout[data-callout=hint],.callout[data-callout=important],.callout[data-callout=note]{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border-left:4px solid;color:var(--color-text-secondary)}.callout[data-callout=info]{background:var(--c-blue-back);border-color:var(--c-blue-base)}.callout[data-callout=info] .callout-title-icon,.callout[data-callout=info] .callout-title-text{color:var(--c-blue-base)}.callout[data-callout=warning]{background:var(--c-orange-back);border-color:var(--c-orange-base)}.callout[data-callout=warning] .callout-title-icon,.callout[data-callout=warning] .callout-title-text{color:var(--c-orange-base)}.callout[data-callout=tip],.callout[data-callout=hint],.callout[data-callout=important]{background:var(--c-purple-back);border-color:var(--c-purple-base)}.callout[data-callout=tip] .callout-title-icon,.callout[data-callout=hint] .callout-title-icon,.callout[data-callout=important] .callout-title-icon,.callout[data-callout=tip] .callout-title-text,.callout[data-callout=hint] .callout-title-text,.callout[data-callout=important] .callout-title-text{color:var(--c-purple-base)}.callout[data-callout=note]{background:var(--c-black-back);border-color:var(--c-black-base)}.callout[data-callout=note] .callout-title-icon{color:var(--c-black-base)}.callout[data-callout=note] .callout-title-text{color:var(--color-text-primary)}.article-body .footnote-ref{font-size:.75em;color:var(--color-blue);text-decoration:none;vertical-align:super;font-weight:var(--fw-bold);margin-left:1px}.article-body .footnotes{margin-top:var(--space-16);padding-top:var(--space-6);border-top:1px solid var(--color-divider);font-size:var(--fs-small);color:var(--color-text-muted)}.article-body .footnotes ol{padding-left:1.4em}.article-body .footnotes li{margin-bottom:var(--space-2)}.toc-box{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0 0 var(--space-12) 0;overflow:hidden}.toc-box__head{display:flex;align-items:center;justify-content:space-between;padding:14px var(--space-5);cursor:pointer;user-select:none;transition:background var(--transition-fast)}.toc-box__head:hover{background:var(--color-bg-section)}.toc-box__title{font-size:var(--fs-tiny);font-weight:var(--fw-bold);letter-spacing:1.5px;color:var(--color-text-muted)}.toc-box__toggle{width:28px;height:28px;border-radius:50%;background:transparent;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .2s ease,border-color .2s ease;flex-shrink:0}.toc-box__toggle:hover{background:var(--color-bg);border-color:var(--color-border-hover)}.toc-box__toggle svg{width:14px;height:14px;color:var(--color-text-muted);transition:transform var(--transition-base)}.toc-box.is-collapsed .toc-box__toggle svg{transform:rotate(-90deg)}.toc-box__body{padding:var(--space-1) var(--space-5) 18px;border-top:1px solid var(--color-border-light);overflow:hidden;transition:max-height .3s ease,padding .3s ease,opacity .2s ease;max-height:1000px}.toc-box.is-collapsed .toc-box__body{max-height:0;padding-top:0;padding-bottom:0;opacity:0;border-top-color:transparent}.toc-box ol{list-style:none;padding:0;margin:0;counter-reset:toc-counter}.toc-box ol li{counter-increment:toc-counter;margin:6px 0;padding-left:var(--space-6);position:relative;font-size:var(--fs-body)}.toc-box ol li:before{content:counter(toc-counter,decimal-leading-zero);position:absolute;left:0;color:var(--c-blue-base);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-medium)}.toc-box ol li ol li{font-size:var(--fs-small);color:var(--color-text-secondary);margin-left:0}.toc-box ol li ol{margin-top:var(--space-1);margin-bottom:var(--space-2);padding-left:var(--space-3);border-left:2px solid var(--color-border-light)}.toc-box ol li ol li{padding-left:var(--space-3)}.toc-box ol li ol li:before{content:"";background:var(--color-text-light);width:4px;height:4px;border-radius:50%;top:.7em}.toc-box a{color:var(--color-text-primary);text-decoration:none}.toc-box a:hover{color:var(--c-blue-base)}.article-nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin:var(--space-12) 0}.article-nav__item{padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:var(--color-text-primary);background:var(--color-white)}.article-body .article-nav__item,.article-body .article-nav__item:hover{text-decoration:none}.article-nav__label{font-size:var(--fs-tiny);font-weight:var(--fw-bold);color:var(--color-text-muted);letter-spacing:1.5px;margin-bottom:6px}.article-nav__title{font-size:var(--fs-body);font-weight:var(--fw-bold);line-height:1.5}.article-nav__item--next{text-align:right}.related-posts{margin:var(--space-12) 0 0 0}.related-posts__title{font-size:var(--fs-small);font-weight:var(--fw-bold);letter-spacing:1.5px;color:var(--color-text-muted);margin-bottom:var(--space-5)}@media(max-width:768px){.article-body{font-size:15px;line-height:1.85}.article-body h2{font-size:22px;margin-top:var(--space-12)}.article-body h3{font-size:18px;margin-top:36px}.article-body h4{font-size:16px}.article-nav{grid-template-columns:1fr}}.article-title{font-family:var(--font-jp);font-size:32px;font-weight:var(--fw-bold);line-height:1.4;letter-spacing:-.01em;color:var(--color-text-primary);margin-bottom:var(--space-4)}.article-meta{font-size:var(--fs-small);color:var(--color-text-muted);margin:0 0 var(--space-6) 0;line-height:1.6}.article-meta .tag{margin-right:var(--space-2);vertical-align:middle}.article-header__meta-row .article-meta{margin:0}.article-header__meta-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6)}.article-category-badge{display:inline-block;padding:4px 12px;background:#fffbf5;border:1px solid var(--color-orange-dark);color:var(--color-orange-dark);border-radius:6px;font-size:11px;font-weight:var(--fw-bold);letter-spacing:.06em;text-decoration:none;line-height:1.5;transition:background var(--transition-fast)}.article-category-badge:hover{background:var(--color-orange-pale);text-decoration:none}@media(max-width:768px){.article-title{font-size:24px}.article-header__meta-row{margin-bottom:var(--space-5)}}.article-end-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:var(--space-12) 0 0}.article-end-tags__item{display:inline-block;padding:4px 10px;background:#f1f5f9;color:#64748b;font-size:12px;font-weight:var(--fw-medium, 500);border-radius:6px;letter-spacing:.02em}.share-buttons{margin:var(--space-6) 0 var(--space-8);padding:var(--space-6) 0;border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}.share-buttons__label{font-size:var(--fs-tiny);font-weight:var(--fw-bold);letter-spacing:1.5px;color:var(--color-text-muted);margin-bottom:14px;text-align:center}.share-buttons__list{display:flex;justify-content:center;gap:var(--space-3)}.share-btn{width:44px;height:44px;border-radius:50%;background:var(--color-white);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);text-decoration:none;cursor:pointer;transition:var(--card-transition)}.share-btn:hover{border-color:var(--color-blue);color:var(--color-blue);transform:var(--card-lift);box-shadow:var(--shadow-card-hover)}.share-btn svg{width:18px;height:18px}.author-box-large{margin:var(--space-8) 0;padding:28px;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.author-box-large__avatar{width:72px;height:72px;border-radius:50%;background:var(--color-white);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4);border:1px solid var(--color-border);overflow:hidden}.author-box-large__avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.author-box-large__name{font-size:17px;font-weight:var(--fw-black);margin-bottom:var(--space-2)}.author-box-large__bio{font-size:var(--fs-small);color:var(--color-text-secondary);line-height:1.7;margin:0 auto var(--space-5)}.author-box-large__social{display:flex;justify-content:center;gap:10px}.author-social-btn{width:40px;height:40px;border-radius:50%;background:var(--color-white);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);text-decoration:none;transition:var(--card-transition)}.author-social-btn svg{width:16px;height:16px}.author-social-btn:hover{background:var(--color-text-primary);color:var(--color-white);border-color:var(--color-text-primary);transform:var(--card-lift)}.related-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-top:var(--space-4)}.related-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column}.related-card__thumb{aspect-ratio:16 / 9;background:var(--color-border-light);overflow:hidden;border-bottom:1px solid var(--color-border-hover);display:flex;align-items:center;justify-content:center;position:relative}.related-card__thumb:before{content:"no img";font-size:12px;color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:1px}.related-card__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.related-card__body{padding:14px var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:6px;flex:1}.related-card__date{font-size:var(--fs-tiny);color:var(--color-text-muted);font-family:var(--font-mono)}.related-card__title{font-size:var(--fs-small);font-weight:var(--fw-bold);line-height:1.5;color:var(--color-text-primary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:768px){.related-cards{grid-template-columns:1fr}}.article-body .related-card,.article-body .related-card:hover,.article-body .share-btn,.article-body .share-btn:hover,.article-body .author-social-btn,.article-body .author-social-btn:hover{text-decoration:none}.article-body .md-card{display:flex;align-items:stretch;gap:var(--space-4);padding:var(--space-4);margin:var(--space-6) 0;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:inherit}.article-body .md-card:hover{text-decoration:none}.md-card__thumb{display:block;flex-shrink:0;width:140px;aspect-ratio:16 / 10;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-bg-section)}.md-card__thumb img{width:100%;height:100%;object-fit:cover;display:block}.md-card__body{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0;justify-content:center}.md-card__title{display:-webkit-box;font-size:16px;font-weight:var(--fw-bold);line-height:1.5;color:var(--color-text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.md-card__desc{display:-webkit-box;font-size:13.5px;color:var(--color-text-secondary);line-height:1.7;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:480px){.article-body .md-card{gap:var(--space-3);padding:var(--space-3)}.md-card__thumb{width:100px}.md-card__title{font-size:15px}.md-card__desc{font-size:13px;-webkit-line-clamp:2}}.article-body{--c-blue-base: #2563EB;--c-blue-large: #2563EB;--c-blue-small: #93C5FD;--c-blue-back: #F5F7FA;--c-orange-base: #E6801A;--c-orange-large: #E6801A;--c-orange-small: #F6C798;--c-orange-back: #FBF9F7;--c-green-base: #15913F;--c-green-large: #15913F;--c-green-small: #57D88C;--c-green-back: #f5faf6;--c-red-base: #EB2424;--c-red-large: #EB2424;--c-red-small: #F59898;--c-red-back: #FAF5F5;--c-purple-base: #8724EB;--c-purple-large: #8724EB;--c-purple-small: #C798F5;--c-purple-back: #F7F5FA;--c-yellow-base: #a16207;--c-yellow-large: #a16207;--c-yellow-small: #a16207;--c-yellow-back: #FAF9F5;--c-black-base: #1F1F1F;--c-black-large: #1F1F1F;--c-black-small: #D1D5DB;--c-black-back: #F7F7F7;--c-blue-strong: #1d4ed8;--c-blue-soft: #c7d8f1;--c-blue-bg: #f5f8fc;--c-orange-strong: #c2410c;--c-orange-soft: #ecc8a9;--c-orange-bg: #fcf6f0;--c-green-strong: #15803d;--c-green-soft: #b7d9c0;--c-green-bg: #f5faf6;--c-purple-strong: #7e22ce;--c-purple-soft: #ddc4ee;--c-purple-bg: #faf5fd;--c-red-strong: #b91c1c;--c-red-soft: #ebc6c6;--c-red-bg: #fcf5f5;--c-yellow-strong: #a16207;--c-yellow-soft: #e8d5a8;--c-yellow-bg: #fcf7ed;--c-gray-strong: #27272a;--c-gray-soft: #d4d4d8;--c-gray-bg: #f5f5f7}.article-body mark{background:linear-gradient(transparent 60%,#ffe6008c 60%);color:inherit;padding:0 2px;border-radius:2px}.article-body .callout[data-callout=quote]{background:var(--c-blue-back);border:1px solid var(--c-blue-small);border-radius:var(--radius-md);padding:var(--space-6) var(--space-6) var(--space-6) var(--space-12);position:relative;font-size:18px;line-height:1.85;color:#334155;font-style:italic}.article-body .callout[data-callout=quote]:before{content:'"';position:absolute;left:var(--space-3);top:4px;font-size:56px;font-weight:900;color:var(--c-blue-small);line-height:1;font-family:Georgia,serif;pointer-events:none}.article-body .callout[data-callout=quote] .callout-title{display:none}.article-body .callout[data-callout=quote] .callout-content p{margin:0 0 var(--space-3) 0}.article-body .callout[data-callout=quote] .callout-content p:last-child:not(:only-child){margin-bottom:0;font-style:normal;font-size:14px;color:var(--color-text-muted);text-align:right}.article-body .callout[data-callout=quote] .callout-content p:only-child{margin-bottom:0}.article-body .callout[data-callout=steps]{background:var(--color-bg-section);border-radius:var(--radius-md);border:1px solid var(--c-blue-small);border-left:4px solid var(--c-blue-base);padding:var(--space-4) var(--space-5)}.article-body .callout[data-callout=steps] .callout-title-icon,.article-body .callout[data-callout=steps] .callout-title-text{color:var(--c-blue-base)}.article-body .callout[data-callout=steps] .callout-content ol{list-style:none;counter-reset:step;padding:0;margin:var(--space-3) 0 0;position:relative}.article-body .callout[data-callout=steps] .callout-content ol:before{content:"";position:absolute;left:13px;top:14px;bottom:14px;width:2px;background:var(--color-border)}.article-body .callout[data-callout=steps] .callout-content ol li{counter-increment:step;position:relative;padding-left:44px;margin:0 0 var(--space-4) 0;min-height:28px;list-style:none}.article-body .callout[data-callout=steps] .callout-content ol li:before{content:counter(step);position:absolute;left:0;top:0;width:28px;height:28px;background:var(--c-blue-base);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:13px;font-family:var(--font-mono);z-index:1}.article-body .callout[data-callout=steps] .callout-content ol li:last-child{margin-bottom:0}.article-body .callout[data-callout=steps] .callout-content ol li strong{display:inline-block;font-size:15px;margin-bottom:2px;color:var(--color-text-primary)}.article-body .callout[data-callout=steps] .callout-content ol li:has(em) em{font-style:normal;font-weight:var(--fw-bold);color:var(--color-text-primary);background:none;padding:0;border-radius:0}.article-body .callout[data-callout=steps] .callout-content ol li:has(em):before{background:var(--c-orange-base);color:var(--color-white);box-shadow:0 0 0 4px #eb88252e}.article-body .callout[data-callout=summary],.article-body .callout[data-callout=tldr],.article-body .callout[data-callout=abstract]{background:var(--c-orange-back);border:1px solid var(--c-orange-small);border-left:1px solid var(--c-orange-small);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);margin-top:calc(var(--space-8) + 10px);color:var(--color-text-primary);position:relative}.article-body .callout[data-callout=summary]>.callout-title,.article-body .callout[data-callout=tldr]>.callout-title,.article-body .callout[data-callout=abstract]>.callout-title{position:absolute;top:-16px;left:16px;margin:0;padding:5px 14px;background:var(--c-orange-base);color:var(--color-white);border-radius:6px;font-size:14px;font-weight:var(--fw-bold);letter-spacing:.04em;line-height:1.5;display:inline-flex;align-items:center;gap:6px;box-shadow:0 1px 2px #eb882540;border:none}.article-body .callout[data-callout=summary]>.callout-title .callout-title-icon,.article-body .callout[data-callout=tldr]>.callout-title .callout-title-icon,.article-body .callout[data-callout=abstract]>.callout-title .callout-title-icon{width:14px;height:14px;color:var(--color-white)}.article-body .callout[data-callout=summary]>.callout-title .callout-title-text,.article-body .callout[data-callout=tldr]>.callout-title .callout-title-text,.article-body .callout[data-callout=abstract]>.callout-title .callout-title-text{color:var(--color-white)}.article-body .callout[data-callout=summary]>.callout-content,.article-body .callout[data-callout=tldr]>.callout-content,.article-body .callout[data-callout=abstract]>.callout-content{font-size:16px;line-height:1.9;color:#1e293b}.article-body .callout[data-callout=summary]>.callout-content ul,.article-body .callout[data-callout=tldr]>.callout-content ul,.article-body .callout[data-callout=abstract]>.callout-content ul{margin:0;padding-left:0;list-style:none}.article-body .callout[data-callout=summary]>.callout-content ul li,.article-body .callout[data-callout=tldr]>.callout-content ul li,.article-body .callout[data-callout=abstract]>.callout-content ul li{position:relative;padding:10px 0 10px 22px;margin:0;border-bottom:1px dashed #CBD5E1}.article-body .callout[data-callout=summary]>.callout-content ul li:before,.article-body .callout[data-callout=tldr]>.callout-content ul li:before,.article-body .callout[data-callout=abstract]>.callout-content ul li:before{content:"";position:absolute;left:0;top:21px;width:12px;height:2px;background:var(--c-orange-base);border-radius:1px}.article-body .callout[data-callout=summary]>.callout-content>p,.article-body .callout[data-callout=tldr]>.callout-content>p,.article-body .callout[data-callout=abstract]>.callout-content>p{padding:10px 0;margin:0;border-bottom:1px dashed #CBD5E1}.article-body .callout[data-callout=letter]{background:var(--c-orange-back);border:1px solid var(--c-orange-small);border-left:1px solid var(--c-orange-small);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);margin-top:calc(var(--space-8) + 10px);color:var(--color-text-primary);position:relative}.article-body .callout[data-callout=letter]>.callout-title{position:absolute;top:-16px;left:16px;margin:0;padding:5px 14px;background:var(--c-orange-base);color:var(--color-white);border-radius:6px;font-size:14px;font-weight:var(--fw-bold);letter-spacing:.04em;line-height:1.5;display:inline-flex;align-items:center;gap:6px;box-shadow:0 1px 2px #eb882540;border:none}.article-body .callout[data-callout=letter]>.callout-title .callout-title-icon{width:14px;height:14px;color:var(--color-white)}.article-body .callout[data-callout=letter]>.callout-title .callout-title-text{color:var(--color-white)}.article-body .callout[data-callout=letter]>.callout-content{font-size:16px;line-height:36px;color:#1e293b}.article-body .callout[data-callout=letter]>.callout-content>p{margin:0;padding:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='36'><line x1='0' y1='35.5' x2='8' y2='35.5' stroke='%23CBD5E1' stroke-width='1' stroke-dasharray='3,4'/></svg>");background-size:8px 36px;background-repeat:repeat}.article-body .callout[data-callout=letter]>.callout-content>p+p{margin-top:18px}.article-body .callout[data-callout=example]{background:var(--c-blue-back);border:1px solid var(--c-blue-small);border-left:1px solid var(--c-blue-small);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);margin-top:calc(var(--space-8) + 10px);color:var(--color-text-primary);position:relative}.article-body .callout[data-callout=example]>.callout-title{position:absolute;top:-16px;left:16px;margin:0;padding:5px 14px;background:var(--c-blue-base);color:var(--color-white);border-radius:6px;font-size:14px;font-weight:var(--fw-bold);letter-spacing:.04em;line-height:1.5;display:inline-flex;align-items:center;gap:6px;box-shadow:0 1px 2px #2563eb40}.article-body .callout[data-callout=example]>.callout-title .callout-title-icon{color:var(--color-white);width:14px;height:14px}.article-body .callout[data-callout=example]>.callout-title .callout-title-text{color:var(--color-white)}.article-body .callout[data-callout=example]>.callout-content{font-size:16px;line-height:1.9;color:var(--color-text-primary)}.article-body .callout[data-callout=example]>.callout-content>p:first-child{margin-top:0}.article-body .callout[data-callout=failure],.article-body .callout[data-callout=fail],.article-body .callout[data-callout=missing]{background:var(--c-red-back);border:1px solid var(--c-red-small);border-left:1px solid var(--c-red-small);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6) var(--space-5) calc(var(--space-12) + 24px);color:var(--color-text-primary);position:relative}.article-body .callout[data-callout=failure]:before,.article-body .callout[data-callout=fail]:before,.article-body .callout[data-callout=missing]:before{content:"×";position:absolute;left:var(--space-5);top:var(--space-5);width:28px;height:28px;border-radius:50%;background:var(--c-red-base);color:var(--color-white);font-size:22px;font-weight:var(--fw-bold);line-height:26px;text-align:center;font-family:var(--font-mono)}.article-body .callout[data-callout=failure]>.callout-title,.article-body .callout[data-callout=fail]>.callout-title,.article-body .callout[data-callout=missing]>.callout-title{font-size:16px;color:var(--c-red-base);margin-bottom:var(--space-2)}.article-body .callout[data-callout=failure]>.callout-title .callout-title-icon,.article-body .callout[data-callout=fail]>.callout-title .callout-title-icon,.article-body .callout[data-callout=missing]>.callout-title .callout-title-icon{display:none}.article-body .callout[data-callout=failure]>.callout-content,.article-body .callout[data-callout=fail]>.callout-content,.article-body .callout[data-callout=missing]>.callout-content{color:#7f1d1d}.article-body .callout[data-callout=question],.article-body .callout[data-callout=help],.article-body .callout[data-callout=faq]{background:var(--color-white);border:1px solid var(--color-border);border-left-width:1px;border-radius:14px;padding:0;margin:0 0 12px;overflow:hidden;transition:box-shadow .2s}.article-body .callout[data-callout=question]:hover,.article-body .callout[data-callout=help]:hover,.article-body .callout[data-callout=faq]:hover{box-shadow:var(--shadow-sm)}.article-body .callout[data-callout=question]>.callout-title,.article-body .callout[data-callout=help]>.callout-title,.article-body .callout[data-callout=faq]>.callout-title{padding:22px 28px;font-size:16px;font-weight:var(--fw-bold);color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;user-select:none;margin:0;list-style:none}.article-body .callout[data-callout=question]>.callout-title::-webkit-details-marker,.article-body .callout[data-callout=help]>.callout-title::-webkit-details-marker,.article-body .callout[data-callout=faq]>.callout-title::-webkit-details-marker{display:none}.article-body .callout[data-callout=question]>.callout-title .callout-title-icon,.article-body .callout[data-callout=help]>.callout-title .callout-title-icon,.article-body .callout[data-callout=faq]>.callout-title .callout-title-icon,.article-body .callout[data-callout=question]>.callout-title .callout-fold-icon,.article-body .callout[data-callout=help]>.callout-title .callout-fold-icon,.article-body .callout[data-callout=faq]>.callout-title .callout-fold-icon{display:none}.article-body .callout[data-callout=question]>.callout-title .callout-title-text,.article-body .callout[data-callout=help]>.callout-title .callout-title-text,.article-body .callout[data-callout=faq]>.callout-title .callout-title-text{flex:1;color:var(--color-text-primary)}.article-body .callout[data-callout=question]>.callout-title:after,.article-body .callout[data-callout=help]>.callout-title:after,.article-body .callout[data-callout=faq]>.callout-title:after{content:"+";font-size:24px;color:var(--color-purple);font-weight:400;transition:transform .2s;flex-shrink:0;line-height:1}.article-body .callout[data-callout=question][open]>.callout-title:after,.article-body .callout[data-callout=help][open]>.callout-title:after,.article-body .callout[data-callout=faq][open]>.callout-title:after{transform:rotate(45deg)}.article-body .callout[data-callout=question]>.callout-content,.article-body .callout[data-callout=help]>.callout-content,.article-body .callout[data-callout=faq]>.callout-content{padding:0 28px 24px}.article-body .callout[data-callout=question]>.callout-content p,.article-body .callout[data-callout=help]>.callout-content p,.article-body .callout[data-callout=faq]>.callout-content p{font-size:16px;line-height:1.9;color:var(--color-text-secondary);margin:0 0 var(--space-3) 0}.article-body .callout[data-callout=question]>.callout-content p:last-child,.article-body .callout[data-callout=help]>.callout-content p:last-child,.article-body .callout[data-callout=faq]>.callout-content p:last-child{margin-bottom:0}@media(max-width:768px){.article-body .callout[data-callout=question]>.callout-title,.article-body .callout[data-callout=help]>.callout-title,.article-body .callout[data-callout=faq]>.callout-title{padding:18px 20px;font-size:15px}.article-body .callout[data-callout=question]>.callout-content,.article-body .callout[data-callout=help]>.callout-content,.article-body .callout[data-callout=faq]>.callout-content{padding:0 20px 20px}}.article-body .callout[data-callout=success],.article-body .callout[data-callout=check],.article-body .callout[data-callout=done]{background:var(--c-green-back);border:1px solid var(--c-green-small);border-left:1px solid var(--c-green-small);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6) var(--space-5) calc(var(--space-12) + 24px);color:var(--color-text-primary);position:relative}.article-body .callout[data-callout=success]:before,.article-body .callout[data-callout=check]:before,.article-body .callout[data-callout=done]:before{content:"";position:absolute;left:var(--space-5);top:var(--space-5);width:28px;height:28px;border-radius:50%;background:var(--c-green-strong);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='5 12.5 10 17.5 19 7'/></svg>");background-size:18px 18px;background-position:center;background-repeat:no-repeat;box-shadow:0 0 0 4px #15803d2e}.article-body .callout[data-callout=success]>.callout-title,.article-body .callout[data-callout=check]>.callout-title,.article-body .callout[data-callout=done]>.callout-title{font-size:16px;color:var(--c-green-strong);margin-bottom:var(--space-2)}.article-body .callout[data-callout=success]>.callout-title .callout-title-icon,.article-body .callout[data-callout=check]>.callout-title .callout-title-icon,.article-body .callout[data-callout=done]>.callout-title .callout-title-icon{display:none}.article-body .callout[data-callout=success]>.callout-content,.article-body .callout[data-callout=check]>.callout-content,.article-body .callout[data-callout=done]>.callout-content{color:#14532d}.article-body .callout[data-callout=you],.article-body .callout[data-callout=claude]{background:transparent;border:none;border-left:none;border-radius:0;padding:0;margin:12px 0 22px;display:flex;align-items:flex-start;gap:12px;position:relative;box-shadow:none}.article-body .callout[data-callout=you]>.callout-title,.article-body .callout[data-callout=claude]>.callout-title{display:none}.article-body .callout[data-callout=you]{flex-direction:row-reverse}.article-body .callout[data-callout=claude]:before,.article-body .callout[data-callout=you]:before{content:"";flex-shrink:0;width:44px;height:44px;border-radius:10px;background-repeat:no-repeat;background-position:center;background-size:44px 44px}.article-body .callout[data-callout=claude]:before{background-color:var(--c-orange-base);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'><text x='22' y='30' font-family='-apple-system,sans-serif' font-size='22' font-weight='800' fill='white' text-anchor='middle'>C</text></svg>")}.article-body .callout[data-callout=you]:before{background-color:var(--c-blue-base);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'><path d='M 32.6 11.4 A 15 15 0 1 1 22 7' fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round'/><line x1='22' y1='22' x2='36' y2='8' stroke='white' stroke-width='2.8' stroke-linecap='round'/><line x1='36' y1='8' x2='28.3' y2='10.1' stroke='white' stroke-width='2.8' stroke-linecap='round'/><line x1='36' y1='8' x2='33.9' y2='15.7' stroke='white' stroke-width='2.8' stroke-linecap='round'/><circle cx='22' cy='22' r='2.2' fill='white'/></svg>")}.article-body .callout[data-callout=claude]>.callout-content,.article-body .callout[data-callout=you]>.callout-content{padding:12px 16px;border-radius:10px;font-size:16px;line-height:1.8;max-width:calc(100% - 56px);position:relative;flex:0 1 auto}.article-body .callout[data-callout=claude]>.callout-content{background:#f1f5f9;border:1.5px solid #e2e8f0;color:#1e293b}.article-body .callout[data-callout=you]>.callout-content{background:#f1f5f9;border:1.5px solid #e2e8f0;color:#1e293b}.article-body .callout[data-callout=claude]>.callout-content:before{content:"";position:absolute;left:-10px;top:12px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:10px solid #e2e8f0}.article-body .callout[data-callout=claude]>.callout-content:after{content:"";position:absolute;left:-8px;top:12px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:10px solid #f1f5f9}.article-body .callout[data-callout=you]>.callout-content:before{content:"";position:absolute;right:-10px;top:12px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid #e2e8f0}.article-body .callout[data-callout=you]>.callout-content:after{content:"";position:absolute;right:-8px;top:12px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid #f1f5f9}.article-body .callout[data-callout=claude]>.callout-content>p,.article-body .callout[data-callout=you]>.callout-content>p{margin:0}.article-body .callout[data-callout=claude]>.callout-content>p+p,.article-body .callout[data-callout=you]>.callout-content>p+p{margin-top:6px}.article-body .callout[data-callout=you]>.callout-content a{color:#2563eb;text-decoration:underline}@media(max-width:640px){.article-body .callout[data-callout=you]:before,.article-body .callout[data-callout=claude]:before{width:36px;height:36px;background-size:36px 36px}.article-body .callout[data-callout=you]>.callout-content,.article-body .callout[data-callout=claude]>.callout-content{font-size:15px;padding:10px 14px;max-width:calc(100% - 48px)}}.article-body .compare-table-wrap{margin:var(--space-6) 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.article-body table.compare-table{width:100%;min-width:640px;table-layout:fixed;border-collapse:separate;border-spacing:4px;margin:0;font-size:14px}.article-body table.compare-table thead th{padding:12px 8px;border:none;border-radius:6px;color:#fff;text-align:center;font-weight:800;font-size:15px;line-height:1.4;vertical-align:middle}.article-body table.compare-table thead th small{display:block;font-size:12px;font-weight:500;margin-top:2px;opacity:.95}.article-body table.compare-table thead th:nth-child(1){background:var(--c-black-base)}.article-body table.compare-table thead th:nth-child(2){background:var(--c-blue-base)}.article-body table.compare-table thead th:nth-child(3){background:var(--c-orange-base)}.article-body table.compare-table thead th:nth-child(4){background:var(--c-green-base)}.article-body table.compare-table thead th:nth-child(5){background:var(--c-purple-strong)}.article-body table.compare-table tbody td{padding:14px 10px;border:none;border-radius:4px;font-weight:600;vertical-align:middle;color:var(--color-text-primary);text-align:center}.article-body table.compare-table tbody td:nth-child(1){background:var(--c-black-back);font-weight:700;text-align:left}.article-body table.compare-table tbody td:nth-child(2){background:var(--c-blue-bg)}.article-body table.compare-table tbody td:nth-child(3){background:var(--c-orange-bg)}.article-body table.compare-table tbody td:nth-child(4){background:var(--c-green-back)}.article-body table.compare-table tbody td:nth-child(5){background:var(--c-purple-bg)}@media(max-width:640px){.article-body table.compare-table{font-size:12px;border-spacing:2px}.article-body table.compare-table thead th{padding:8px 4px;font-size:13px}.article-body table.compare-table thead th small{font-size:10px}.article-body table.compare-table tbody td{padding:8px 4px}}.article-body .callout[data-callout=bgreen],.article-body .callout[data-callout=bblue],.article-body .callout[data-callout=byellow],.article-body .callout[data-callout=bred],.article-body .callout[data-callout=bpurple],.article-body .callout[data-callout=borange]{border-radius:12px;padding:20px 22px;margin:12px 0;border-left-width:1px}.article-body .callout[data-callout=bgreen]{background:var(--c-green-bg);border:1px solid var(--c-green-soft)}.article-body .callout[data-callout=bblue]{background:var(--c-blue-bg);border:1px solid var(--c-blue-soft)}.article-body .callout[data-callout=byellow]{background:var(--c-yellow-bg);border:1px solid var(--c-yellow-soft)}.article-body .callout[data-callout=bred]{background:var(--c-red-bg);border:1px solid var(--c-red-soft)}.article-body .callout[data-callout=bpurple]{background:var(--c-purple-bg);border:1px solid var(--c-purple-soft)}.article-body .callout[data-callout=borange]{background:var(--c-orange-bg);border:1px solid var(--c-orange-soft)}.article-body .callout[data-callout=bgreen]>.callout-title,.article-body .callout[data-callout=bblue]>.callout-title,.article-body .callout[data-callout=byellow]>.callout-title,.article-body .callout[data-callout=bred]>.callout-title,.article-body .callout[data-callout=bpurple]>.callout-title,.article-body .callout[data-callout=borange]>.callout-title{font-size:16px;font-weight:800;margin-bottom:12px}.article-body .callout[data-callout=bgreen]>.callout-title .callout-title-icon,.article-body .callout[data-callout=bblue]>.callout-title .callout-title-icon,.article-body .callout[data-callout=byellow]>.callout-title .callout-title-icon,.article-body .callout[data-callout=bred]>.callout-title .callout-title-icon,.article-body .callout[data-callout=bpurple]>.callout-title .callout-title-icon,.article-body .callout[data-callout=borange]>.callout-title .callout-title-icon{display:none}.article-body .callout[data-callout=bgreen]>.callout-title .callout-title-text{color:var(--c-green-strong)}.article-body .callout[data-callout=bblue]>.callout-title .callout-title-text{color:var(--c-blue-strong)}.article-body .callout[data-callout=byellow]>.callout-title .callout-title-text{color:var(--c-yellow-strong)}.article-body .callout[data-callout=bred]>.callout-title .callout-title-text{color:var(--c-red-strong)}.article-body .callout[data-callout=bpurple]>.callout-title .callout-title-text{color:var(--c-purple-strong)}.article-body .callout[data-callout=borange]>.callout-title .callout-title-text{color:var(--c-orange-strong)}.article-body .callout[data-callout=bgreen]>.callout-content,.article-body .callout[data-callout=bblue]>.callout-content,.article-body .callout[data-callout=byellow]>.callout-content,.article-body .callout[data-callout=bred]>.callout-content,.article-body .callout[data-callout=bpurple]>.callout-content,.article-body .callout[data-callout=borange]>.callout-content,.article-body .callout[data-callout=bgray]>.callout-content{font-family:var(--font-jp);font-size:16px;line-height:1.9;color:var(--color-text-primary)}.article-body .callout[data-callout=bgreen]>.callout-content p,.article-body .callout[data-callout=bblue]>.callout-content p,.article-body .callout[data-callout=byellow]>.callout-content p,.article-body .callout[data-callout=bred]>.callout-content p,.article-body .callout[data-callout=bpurple]>.callout-content p,.article-body .callout[data-callout=borange]>.callout-content p,.article-body .callout[data-callout=bgray]>.callout-content p{font-size:16px;line-height:1.9;color:var(--color-text-primary)}.article-body .callout[data-callout=bgreen]>.callout-content strong,.article-body .callout[data-callout=bblue]>.callout-content strong,.article-body .callout[data-callout=byellow]>.callout-content strong,.article-body .callout[data-callout=bred]>.callout-content strong,.article-body .callout[data-callout=bpurple]>.callout-content strong,.article-body .callout[data-callout=borange]>.callout-content strong,.article-body .callout[data-callout=bgray]>.callout-content strong{font-size:16px;font-weight:700;color:var(--color-text-primary)}.article-body .callout[data-callout=bgreen]>.callout-content>p,.article-body .callout[data-callout=bblue]>.callout-content>p,.article-body .callout[data-callout=byellow]>.callout-content>p,.article-body .callout[data-callout=bred]>.callout-content>p{margin:0}.article-body .callout[data-callout=bgreen]>.callout-content>p+p,.article-body .callout[data-callout=bblue]>.callout-content>p+p,.article-body .callout[data-callout=byellow]>.callout-content>p+p,.article-body .callout[data-callout=bred]>.callout-content>p+p{margin-top:10px}.article-body .callout[data-callout=bgray]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:0;margin:12px 0;overflow:hidden}.article-body .callout[data-callout=bgray]>.callout-title{background:#f1f5f9;padding:12px 20px;margin:0;font-size:16px;font-weight:800;border-bottom:1px solid #e5e7eb}.article-body .callout[data-callout=bgray]>.callout-title .callout-title-icon{display:none}.article-body .callout[data-callout=bgray]>.callout-title .callout-title-text{color:#1e293b}.article-body .callout[data-callout=bgray]>.callout-content{padding:18px 20px;color:var(--color-text-primary)}.article-body .callout[data-callout=bgray]>.callout-content>p{margin:0}.article-body .callout[data-callout=bgray]>.callout-content>p+p{margin-top:10px}.article-body .callout[data-callout=bgray]>.callout-content strong{font-weight:700;color:var(--color-text-primary)}.article-body .callout[data-callout=flow]{background:transparent;border:none;border-left:none;padding:0;margin:28px 0;box-shadow:none}.article-body .callout[data-callout=flow]>.callout-title{display:block;text-align:center;font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 40px;padding:0;background:transparent}.article-body .callout[data-callout=flow]>.callout-title .callout-title-icon{display:none}.article-body .callout[data-callout=flow]>.callout-content>ol{display:flex;flex-direction:row;gap:32px;list-style:none;padding:0;margin:0;counter-reset:flowstep}.article-body .callout[data-callout=flow]>.callout-content>ol li{counter-increment:flowstep;flex:1 1 0;min-width:0;border-radius:12px;padding:26px 10px 16px;text-align:center;position:relative;list-style:none;font-size:14px;line-height:1.6;color:var(--color-text-primary);margin:0;border:1.5px solid}.article-body .callout[data-callout=flow]>.callout-content>ol li:before{content:counter(flowstep);position:absolute;top:-14px;left:12px;width:28px;height:28px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;font-family:var(--font-mono, ui-monospace, monospace)}.article-body .callout[data-callout=flow]>.callout-content>ol li strong{display:block;font-size:16px;font-weight:700;color:var(--color-text-primary);margin-bottom:4px}.article-body .callout[data-callout=flow]>.callout-content>ol li:nth-child(odd){background:var(--c-blue-back);border-color:var(--c-blue-small)}.article-body .callout[data-callout=flow]>.callout-content>ol li:nth-child(odd):before{background:var(--c-blue-base)}.article-body .callout[data-callout=flow]>.callout-content>ol li:nth-child(2n){background:var(--c-orange-back);border-color:var(--c-orange-small)}.article-body .callout[data-callout=flow]>.callout-content>ol li:nth-child(2n):before{background:var(--c-orange-base)}.article-body .callout[data-callout=flow]>.callout-content>ol li:last-child{background:var(--c-green-back);border-color:var(--c-green-small)}.article-body .callout[data-callout=flow]>.callout-content>ol li:last-child:before{background:var(--c-green-base)}.article-body .callout[data-callout=flow]>.callout-content>ol li:not(:last-child):after{content:"";position:absolute;right:-22px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid var(--c-blue-base)}@media(max-width:640px){.article-body .callout[data-callout=flow]>.callout-content>ol{flex-direction:column;gap:26px}.article-body .callout[data-callout=flow]>.callout-content>ol li:not(:last-child):after{right:50%;top:auto;bottom:-22px;transform:translate(50%);border-top:12px solid #2563eb;border-bottom:none;border-left:8px solid transparent;border-right:8px solid transparent}}.article-body .callout[data-callout=cards]{background:transparent;border:none;border-left:none;padding:0;margin:28px 0;box-shadow:none}.article-body .callout[data-callout=cards]>.callout-title{display:block;text-align:center;font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 20px;padding:0;background:transparent}.article-body .callout[data-callout=cards]>.callout-title .callout-title-icon{display:none}.article-body .callout[data-callout=cards]>.callout-content>ol{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-template-rows:auto 1fr;gap:16px;list-style:none;padding:0;margin:0}.article-body .callout[data-callout=cards]>.callout-content>ol>li{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:6px;min-width:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;padding:0 14px 14px;list-style:none;margin:0;font-size:14px;line-height:1.7;color:var(--color-text-primary)}.article-body .callout[data-callout=cards]>.callout-content>ol>li>strong:first-child{display:flex;align-items:center;justify-content:center;background:#2563eb;color:#fff;padding:12px 10px;text-align:center;font-size:17px;font-weight:800;margin:0 -14px 8px;line-height:1.4}.article-body .callout[data-callout=cards]>.callout-content>ol>li>.card-body{flex:1 1 auto}.article-body .callout[data-callout=cards]>.callout-content>ol>li>.card-body strong{display:block;margin-top:14px;color:#475569}.article-body .callout[data-callout=cards]>.callout-content>ol>li>.card-body>strong:first-of-type:first-child{margin-top:0}.article-body .callout[data-callout=cards]>.callout-content>ol>li>.card-body br{display:none}.article-body .callout[data-callout=cards]>.callout-content>ol li:nth-child(1)>strong:first-child{background:var(--c-blue-base)}.article-body .callout[data-callout=cards]>.callout-content>ol li:nth-child(2)>strong:first-child{background:var(--c-black-base)}.article-body .callout[data-callout=cards]>.callout-content>ol li:nth-child(3)>strong:first-child{background:var(--c-orange-base)}.article-body .callout[data-callout=cards]>.callout-content>ol li:nth-child(4)>strong:first-child{background:var(--c-green-base)}.article-body .callout[data-callout=cards]>.callout-content>ol li:nth-child(5)>strong:first-child{background:var(--c-purple-base)}.article-body .callout[data-callout=cards]>.callout-content>ol li>strong:first-child.card-color-blue{background:var(--c-blue-base)}.article-body .callout[data-callout=cards]>.callout-content>ol li>strong:first-child.card-color-gray,.article-body .callout[data-callout=cards]>.callout-content>ol li>strong:first-child.card-color-dark{background:var(--c-black-base)}.article-body .callout[data-callout=cards]>.callout-content>ol li>strong:first-child.card-color-orange{background:var(--c-orange-base)}.article-body .callout[data-callout=cards]>.callout-content>ol li>strong:first-child.card-color-green{background:var(--c-green-base)}.article-body .callout[data-callout=cards]>.callout-content>ol li>strong:first-child.card-color-purple{background:var(--c-purple-base)}.article-body .callout[data-callout=cards]>.callout-content>ol li>strong:first-child.card-color-red{background:var(--c-red-base)}.article-body .callout[data-callout=cards]>.callout-content>ol li>strong:first-child.card-color-yellow{background:var(--c-yellow-base)}@media(max-width:1024px){.article-body .callout[data-callout=cards]>.callout-content>ol{grid-auto-flow:row;grid-auto-columns:initial;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:initial}.article-body .callout[data-callout=cards]>.callout-content>ol>li{display:flex;flex-direction:column;grid-template-rows:initial;grid-row:auto}.article-body .callout[data-callout=cards]>.callout-content>ol>li:last-child:nth-child(odd){grid-column:1 / -1}}@media(max-width:640px){.article-body .callout[data-callout=cards]>.callout-content>ol{display:flex;flex-direction:column;grid-auto-flow:initial;grid-auto-columns:initial;grid-template-columns:initial;grid-template-rows:initial;gap:12px}.article-body .callout[data-callout=cards]>.callout-content>ol>li{display:flex;flex-direction:column;grid-template-rows:initial;grid-row:auto}.article-body .callout[data-callout=cards]>.callout-content>ol>li:last-child:nth-child(odd){grid-column:auto}}.article-body .b-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}.article-body .b-grid>.callout{margin:0}.article-body .b-grid>.callout:last-child:nth-child(odd){grid-column:1 / -1}@media(max-width:640px){.article-body .b-grid{grid-template-columns:1fr;gap:12px}.article-body .b-grid>.callout:last-child:nth-child(odd){grid-column:auto}}.article-body .callout[data-callout=gbox]{background:transparent;border:none;border-radius:0;padding:0;margin:24px 0}.article-body .callout[data-callout=gbox]>.callout-title{display:block;text-align:center;font-size:16px;font-weight:600;margin:0 0 20px;padding:0;background:transparent;color:var(--color-text-primary)}.article-body .callout[data-callout=gbox]>.callout-title .callout-title-icon{display:none}.article-body .callout[data-callout=gbox]>.callout-title:not(:has(.callout-title-text:not(:empty))){display:none}.article-body .callout[data-callout=gbox]>.callout-content{padding:0;background:transparent}.article-body .callout[data-callout=gbox]>.callout-content>.b-grid{margin:0}.article-body .code-title{display:block;padding:10px 16px 10px 64px;background:#1f242b;color:#c9d1d9;font-family:var(--font-mono);font-size:12px;font-weight:var(--fw-bold);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:1px solid rgba(255,255,255,.08);margin:var(--space-6) 0 0;position:relative;letter-spacing:.02em;min-height:32px;box-sizing:border-box}.article-body .code-title:before{content:"";position:absolute;left:16px;top:12px;width:8px;height:8px;border-radius:50%;background:#ff5f57;box-shadow:14px 0 #febc2e,28px 0 #28c840}.article-body .code-block--with-title pre,.article-body .code-block--with-title pre.astro-code{border-top-left-radius:0!important;border-top-right-radius:0!important;margin-top:0!important}.article-body .code-title .code-block__copy--in-title{position:absolute;top:8px;right:8px;width:24px;height:24px;z-index:2}.article-body .callout[data-callout=chip]{background:transparent;border:none;border-radius:0;padding:0;margin:24px 0;box-shadow:none}.article-body .callout[data-callout=chip]>.callout-title{display:none}.article-body .callout[data-callout=chip]>.callout-content{display:flex;flex-direction:column;gap:28px;padding:0}.article-body .callout[data-callout=chip] .chip-section h3{display:inline-block;margin:0;padding:4px 12px;border:none;background:var(--c-blue-back);color:var(--c-blue-base);font-size:14px;font-weight:700;border-radius:999px}.article-body .callout[data-callout=chip] .chip-section p{margin:0;font-size:15px;line-height:1.85}.article-body .callout[data-callout=chip] .chip-section h3+*{margin-top:10px;padding-top:12px;border-top:1px solid var(--color-border)}.article-body .callout[data-callout=chip] .chip-section p+p{margin-top:8px}.article-body .callout[data-callout=numbered]{background:transparent;border:none;border-radius:0;padding:0;margin:24px 0;box-shadow:none}.article-body .callout[data-callout=numbered]>.callout-title{display:none}.article-body .callout[data-callout=numbered]>.callout-content{counter-reset:numsec;padding:0}.article-body .callout[data-callout=numbered] .numbered-section{counter-increment:numsec;display:grid;grid-template-columns:64px 1fr;row-gap:5px;column-gap:14px;padding:24px 0}.article-body .callout[data-callout=numbered] .numbered-section+.numbered-section{border-top:1px solid var(--color-border)}.article-body .callout[data-callout=numbered] .numbered-section:before{content:counter(numsec,decimal-leading-zero);font-size:36px;font-weight:700;color:var(--color-text-primary);opacity:.18;font-variant-numeric:tabular-nums;line-height:1}.article-body .callout[data-callout=numbered] .numbered-section h3{grid-column:2;margin:0;padding:0;border:none;font-size:17px;font-weight:700;color:var(--color-text-primary)}.article-body .callout[data-callout=numbered] .numbered-section p{grid-column:2;margin:0;font-size:15px;line-height:1.85}.article-body .callout[data-callout=numbered] .numbered-section p+p{margin-top:8px}.article-body .callout[data-callout=pair]{background:transparent;border:none;border-radius:0;padding:0;margin:24px 0;box-shadow:none}.article-body .callout[data-callout=pair]>.callout-title{display:none}.article-body .callout[data-callout=pair]>.callout-content{display:grid;grid-template-columns:max-content 1fr;column-gap:0;row-gap:0;padding:0}.article-body .callout[data-callout=pair] .pair-section{display:contents}.article-body .callout[data-callout=pair] .pair-section h3{margin:0;padding:16px 24px 16px 0;border:none}.article-body .callout[data-callout=pair] .pair-section p{margin:0;padding:16px 0;border:none}.article-body .callout[data-callout=pair] .pair-section:not(:first-child)>h3,.article-body .callout[data-callout=pair] .pair-section:not(:first-child)>p:first-of-type{border-top:1px solid var(--color-border)}.article-body .callout[data-callout=pair] .pair-section h3{font-size:16px;font-weight:700;color:var(--color-text-primary);white-space:nowrap}.article-body .callout[data-callout=pair] .pair-section p{font-size:15px;line-height:1.85}.article-body .callout[data-callout=pair] .pair-section p+p{padding-top:0}@media(max-width:768px){.article-body .callout[data-callout=pair]>.callout-content{grid-template-columns:1fr}.article-body .callout[data-callout=pair] .pair-section h3{padding-bottom:4px;white-space:normal}.article-body .callout[data-callout=pair] .pair-section p{padding-top:0}.article-body .callout[data-callout=pair] .pair-section:not(:first-child)>p:first-of-type{border-top:none}}.article-body .callout[data-callout^=hbar]{background:transparent;border:none;border-radius:0;padding:0;margin:24px 0;box-shadow:none}.article-body .callout[data-callout^=hbar]>.callout-title{display:block;text-align:center;font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 15px;padding:0;background:transparent}.article-body .callout[data-callout^=hbar]>.callout-title .callout-title-icon{display:none}.article-body .callout[data-callout^=hbar]>.callout-title:not(:has(.callout-title-text:not(:empty))){display:none}.article-body .callout[data-callout^=hbar]>.callout-content{padding:0}.article-body .hbar-chart{display:grid;grid-template-columns:max-content 1fr;column-gap:14px;row-gap:0;align-items:stretch;padding:0 15px 0 0}.article-body .hbar-spacer-row{display:contents}.article-body .hbar-spacer-bar{height:15px;background-color:#fff;background-image:linear-gradient(to right,var(--c-black-small) 1px,transparent 1px),linear-gradient(to right,var(--c-black-small) 1px,transparent 1px),linear-gradient(to bottom,var(--c-black-small) 50%,transparent 50%),linear-gradient(to bottom,var(--c-black-small) 50%,transparent 50%),linear-gradient(to bottom,var(--c-black-small) 50%,transparent 50%);background-size:1px 100%,1px 100%,1px 6px,1px 6px,1px 6px;background-position:0 0,calc(100% - 1px) 0,25% 0,50% 0,75% 0;background-repeat:no-repeat,no-repeat,repeat-y,repeat-y,repeat-y}.article-body .hbar-spacer-bar--top{border-top:1px solid var(--c-black-small)}.article-body .hbar-spacer-bar--bottom{border-bottom:1px solid var(--c-black-small)}.article-body .hbar-row>.hbar-label{align-self:center}.article-body .hbar-row{display:contents}.article-body .hbar-chart,.article-body .hbar-row,.article-body .hbar-label,.article-body .hbar-bar-track,.article-body .hbar-bar,.article-body .hbar-axis,.article-body .hbar-tick{margin:0}.article-body .hbar-label{font-size:15px;font-weight:400;color:var(--c-black-base);white-space:nowrap;padding:6px 0}.article-body .hbar-bar-track{align-self:stretch;min-height:40px;padding:6px 0;display:flex;align-items:center;background-color:#fff;background-image:linear-gradient(to right,var(--c-black-small) 1px,transparent 1px),linear-gradient(to right,var(--c-black-small) 1px,transparent 1px),linear-gradient(to bottom,var(--c-black-small) 50%,transparent 50%),linear-gradient(to bottom,var(--c-black-small) 50%,transparent 50%),linear-gradient(to bottom,var(--c-black-small) 50%,transparent 50%);background-size:1px 100%,1px 100%,1px 6px,1px 6px,1px 6px;background-position:0 0,calc(100% - 1px) 0,25% 0,50% 0,75% 0;background-repeat:no-repeat,no-repeat,repeat-y,repeat-y,repeat-y}.article-body .hbar-bar{position:relative;width:var(--pct);height:100%;border-radius:3px;background:var(--color-orange);transition:width var(--transition-fast)}.article-body .hbar-bar-tip{position:absolute;top:50%;right:5px;transform:translateY(-50%);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;padding:2px 6px;border-radius:3px;background:#00000059;color:#fff;white-space:nowrap;pointer-events:none;text-align:right}.article-body .hbar-bar-tip:after{content:none}.article-body .hbar-axis{grid-column:2;position:relative;height:18px;margin-top:6px}.article-body .hbar-tick{position:absolute;top:0;left:var(--at);transform:translate(-50%);font-size:12px;font-variant-numeric:tabular-nums;color:var(--color-text-secondary, #6B5448);white-space:nowrap}.article-body .hbar-tick:first-child{transform:translate(0)}.article-body .hbar-tick:last-child{transform:translate(-100%)}.article-body .callout[data-callout=hbar] .hbar-row:nth-child(1) .hbar-bar{background:var(--c-orange-base)}.article-body .callout[data-callout=hbar] .hbar-row:nth-child(2) .hbar-bar{background:#e9913a}.article-body .callout[data-callout=hbar] .hbar-row:nth-child(3) .hbar-bar{background:#eda35a}.article-body .callout[data-callout=hbar] .hbar-row:nth-child(4) .hbar-bar{background:#f0b57a}.article-body .callout[data-callout=hbar] .hbar-row:nth-child(5) .hbar-bar{background:var(--c-orange-small)}.article-body .callout[data-callout=hbar] .hbar-row:nth-child(n+6) .hbar-bar{background:var(--c-orange-small)}.article-body .callout[data-callout=hbarblue] .hbar-row:nth-child(1) .hbar-bar{background:var(--c-blue-base)}.article-body .callout[data-callout=hbarblue] .hbar-row:nth-child(2) .hbar-bar{background:#4880ef}.article-body .callout[data-callout=hbarblue] .hbar-row:nth-child(3) .hbar-bar{background:#6b9df3}.article-body .callout[data-callout=hbarblue] .hbar-row:nth-child(4) .hbar-bar{background:#87b5f8}.article-body .callout[data-callout=hbarblue] .hbar-row:nth-child(5) .hbar-bar{background:var(--c-blue-small)}.article-body .callout[data-callout=hbarblue] .hbar-row:nth-child(n+6) .hbar-bar{background:var(--c-blue-small)}.article-body .callout[data-callout=hbarpurple] .hbar-row:nth-child(1) .hbar-bar{background:var(--c-purple-base)}.article-body .callout[data-callout=hbarpurple] .hbar-row:nth-child(2) .hbar-bar{background:#9f4bee}.article-body .callout[data-callout=hbarpurple] .hbar-row:nth-child(3) .hbar-bar{background:#b473f1}.article-body .callout[data-callout=hbarpurple] .hbar-row:nth-child(4) .hbar-bar{background:#c695f4}.article-body .callout[data-callout=hbarpurple] .hbar-row:nth-child(5) .hbar-bar{background:var(--c-purple-small)}.article-body .callout[data-callout=hbarpurple] .hbar-row:nth-child(n+6) .hbar-bar{background:var(--c-purple-small)}@media(max-width:640px){.article-body .hbar-chart{column-gap:8px;padding:10px 8px 10px 0}.article-body .hbar-label{font-size:13px}.article-body .hbar-bar-track{height:28px;padding:4px 0}.article-body .hbar-bar-tip{font-size:11px;padding:3px 5px}.article-body .hbar-tick{font-size:11px}}.article-body .callout[data-callout=lchart]{background:transparent;border:none;border-radius:0;padding:0;margin:24px 0;box-shadow:none}.article-body .callout[data-callout=lchart]>.callout-title{display:block;text-align:center;font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px;padding:0;background:transparent}.article-body .callout[data-callout=lchart]>.callout-title .callout-title-icon{display:none}.article-body .callout[data-callout=lchart]>.callout-title:not(:has(.callout-title-text:not(:empty))){display:none}.article-body .callout[data-callout=lchart]>.callout-content{padding:0}.article-body .callout[data-callout=lchart]>.callout-content>p{text-align:center;font-size:13px;color:var(--color-text-secondary, #6B5448);margin:0 0 8px}.article-body .lchart-svg{display:block;width:100%;height:auto;max-width:100%;font-family:inherit}.pr-box{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.pr-box__visual{background:linear-gradient(135deg,var(--color-border-light) 0%,var(--color-border) 100%);min-height:245px;border-bottom:1px solid var(--color-border);overflow:hidden;position:relative}.pr-box__visual img{display:block;width:100%;height:auto;position:absolute;top:0;left:0;transform:scale(1.01);transform-origin:center center}.pr-box__body{padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-3)}.pr-box__title{font-size:var(--fs-card-title-lg);font-weight:var(--fw-black);color:var(--color-text-primary);line-height:1.3;margin:0}.pr-box__tagline{font-size:var(--fs-body);color:var(--color-text-secondary);line-height:1.6;margin:0}.pr-box__meta{font-size:var(--fs-small);color:var(--color-text-muted);font-family:var(--font-mono);margin:0 0 var(--space-3) 0}.pr-box__cta{display:flex;justify-content:flex-end;margin:0}.pr-box__cta .btn{padding:var(--space-3) var(--space-6);font-size:var(--fs-body)}.article-body .pr-box,.article-body .pr-box:hover{text-decoration:none}.article-body .pr-box h1,.article-body .pr-box h2,.article-body .pr-box h3,.article-body .pr-box h4,.article-body .pr-box h5,.article-body .pr-box p{margin:0;padding:0;border:none}.article-body .pr-box .pr-box__meta{margin:0 0 var(--space-3) 0}.article-body .pr-box .btn-primary,.article-body .pr-box .btn-primary:hover{color:var(--color-white);text-decoration:none}.article-body .pr-box{margin:var(--space-8) 0}
