/*
  The CSS in this style tag is based off of Bear Blog's default CSS.
  https://github.com/HermanMartinus/bearblog/blob/297026a877bc2ab2b3bdfbd6b9f7961c350917dd/templates/styles/blog/default.css
  License MIT: https://github.com/HermanMartinus/bearblog/blob/master/LICENSE.md
 */

:root {
	--accent: #2337ff;
	--accent-dark: #000d8a;
	--black: 15, 18, 25;
	--gray: 96, 115, 159;
	--gray-light: 229, 233, 240;
	--gray-dark: 34, 41, 57;
	--gray-gradient: rgba(var(--gray-light), 50%), #fff;
	--box-shadow:
		0 2px 6px rgba(var(--gray), 25%), 0 8px 24px rgba(var(--gray), 33%), 0 16px 32px
		rgba(var(--gray), 33%);
}
@font-face {
	font-family: "Atkinson";
	src: url("/fonts/atkinson-regular.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Atkinson";
	src: url("/fonts/atkinson-bold.woff") format("woff");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0;
  padding: 0;
  text-align: left;
  background: linear-gradient(var(--gray-gradient)) no-repeat;
  background-size: 100% 600px;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: rgb(var(--gray-dark));
  font-size: 20px;
  line-height: 1.7;
}
main {
	width: 720px;
	max-width: calc(100% - 2em);
	margin: auto;
	padding: 3em 1em;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.5rem 0;
	color: rgb(var(--black));
	line-height: 1.2;
}
h1 {
	font-size: 3.052em;
}
h2 {
	font-size: 2.441em;
}
h3 {
	font-size: 1.953em;
}
h4 {
	font-size: 1.563em;
}
h5 {
	font-size: 1.25em;
}
strong,
b {
	font-weight: 700;
}
a {
	color: var(--accent);
}
a:hover {
	color: var(--accent);
}
p {
	margin-bottom: 1em;
}
.prose p {
	margin-bottom: 2em;
}
textarea {
	width: 100%;
	font-size: 16px;
}
input {
	font-size: 16px;
}
table {
	width: 100%;
}
img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}
code {
	padding: 2px 5px;
	background-color: rgb(var(--gray-light));
	border-radius: 2px;
}
pre {
	padding: 1.5em;
	border-radius: 8px;
}
pre > code {
	all: unset;
}

/* すべてのコードブロックを折り返し */
pre,
pre.astro-code,
.astro-code,
.astro-code code,
.shiki,
.shiki code,
.remark-code-title + pre,
code[class*="language-"] {
  white-space: pre-wrap !important;   /* 改行は保持、行末で折り返し */
  overflow-wrap: anywhere !important; /* 単語が長くても強制的に折り返す */
  word-break: normal !important;      /* CJKの不自然な分割を避ける */
  hyphens: none;                       /* ハイフン自動挿入オフ */
  overflow-x: hidden;                  /* 横スクロールを消す（好みで auto に） */
}

/* Shiki/astro-code は各行を .line で包むので、行単位でも折り返し許可 */
.astro-code .line,
.shiki .line {
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

@media (max-width: 640px) {
  header > nav {
    display: grid;
    grid-template-columns: 1fr auto; /* 左: タイトル／右: リンク群 */
    align-items: center;
    column-gap: .5rem;
  }
  header > nav h2 { min-width: 0; }
  header > nav .internal-links {
    display: flex;
    justify-self: end;
    gap: .5rem;
    white-space: nowrap;
    overflow-x: auto;
  }
}

blockquote {
	border-left: 4px solid var(--accent);
	padding: 0 0 0 20px;
	margin: 0px;
	font-size: 1.333em;
}
hr {
	border: none;
	border-top: 1px solid rgb(var(--gray-light));
}
@media (max-width: 720px) {
	body {
		font-size: 18px;
	}
	main {
		padding: 1em;
	}
}

.sr-only {
	border: 0;
	padding: 0;
	margin: 0;
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	/* IE6, IE7 - a 0 height clip, off to the bottom right of the visible 1px box */
	clip: rect(1px 1px 1px 1px);
	/* maybe deprecated but we need to support legacy browsers */
	clip: rect(1px, 1px, 1px, 1px);
	/* modern browsers, clip-path works inwards from each corner */
	clip-path: inset(50%);
	/* added line to stop words getting smushed together (as they go onto separate lines and some screen readers do not understand line feeds as a space */
	white-space: nowrap;
}
/* 画像もキャプションも中央揃えに */
.figure {
  margin-block: 1.5rem 0rem;
  text-align: center;         /* これで figcaption も中央に */
}

/* レスポンシブで画像がはみ出さないように */
.figure > img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

/* キャプションを薄い灰色で */
.figure__cap {
  margin-top: 0.25rem;
  font-size: .875rem;         /* 14px 相当 */
  color: #6b7280;             /* Tailwind の slate-500 相当の薄い灰色 */
  text-align: center;         /* 念のためキャプション単体でも中央に */
}

/* figure 直後の段落や見出しなどの上マージンを調整 */
.figure + * {
  margin-top: 0.25rem;       /* 必要に応じて 0 〜 0.5rem 程度で調整 */
}a[data-astro-cid-eimmu3lg]{display:inline-block;text-decoration:none}a[data-astro-cid-eimmu3lg].active{font-weight:bolder;text-decoration:underline}header[data-astro-cid-3ef6ksr2]{margin:0;padding:0 1em;background:white;box-shadow:0 2px 8px rgba(var(--black),5%)}h2[data-astro-cid-3ef6ksr2]{margin:0;font-size:1em}h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2],h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{text-decoration:none}nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:1em 0.5em;color:var(--black);border-bottom:4px solid transparent;text-decoration:none}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{text-decoration:none;border-bottom-color:var(--accent)}.social-links[data-astro-cid-3ef6ksr2],.social-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:flex}@media (max-width: 720px){.social-links[data-astro-cid-3ef6ksr2]{display:none}}footer[data-astro-cid-sz7xmlte]{padding:2em 1em 6em 1em;background:linear-gradient(var(--gray-gradient)) no-repeat;color:rgb(var(--gray));text-align:center}.social-links[data-astro-cid-sz7xmlte]{display:flex;justify-content:center;gap:1em;margin-top:1em}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{text-decoration:none;color:rgb(var(--gray))}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:rgb(var(--gray-dark))}:root{--black: 15, 18, 25;--gray: 110, 118, 129;--accent: 0, 122, 255}main[data-astro-cid-5tznm7mj]{max-width:960px;margin:0 auto;padding:2rem 1rem}ul[data-astro-cid-5tznm7mj]{list-style:none;margin:0;padding:0}li[data-astro-cid-5tznm7mj]{border-bottom:1px solid rgba(var(--black),0.08)}.post-row[data-astro-cid-5tznm7mj]{display:flex;align-items:baseline;gap:0.75rem;padding:0.75rem 0}.title[data-astro-cid-5tznm7mj]{margin:0;line-height:1.2;font-size:1.125rem;font-weight:600;flex:1 1 auto}.title[data-astro-cid-5tznm7mj] a[data-astro-cid-5tznm7mj]{color:rgb(var(--black));text-decoration:none}.title[data-astro-cid-5tznm7mj] a[data-astro-cid-5tznm7mj]:hover{color:rgb(var(--accent));text-decoration:underline}.tags[data-astro-cid-5tznm7mj]{display:flex;flex-wrap:wrap;gap:0.375rem;align-items:center}.tag[data-astro-cid-5tznm7mj]{display:inline-block;padding:0.15rem 0.5rem;border:1px solid rgba(var(--black),0.12);border-radius:9999px;font-size:0.875rem;line-height:1;text-decoration:none;color:rgb(var(--gray));white-space:nowrap}.tag[data-astro-cid-5tznm7mj]:hover{border-color:rgba(var(--accent),0.5);color:rgb(var(--accent))}.date[data-astro-cid-5tznm7mj]{margin-left:auto;margin-top:0;color:rgb(var(--gray));white-space:nowrap;flex:0 0 auto}@media (max-width: 720px){.post-row[data-astro-cid-5tznm7mj]{gap:0.5rem}.title[data-astro-cid-5tznm7mj]{font-size:1rem}.tags[data-astro-cid-5tznm7mj]{gap:0.25rem}}.post-row[data-astro-cid-5tznm7mj]{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0.75rem}@media (max-width: 720px){.post-row[data-astro-cid-5tznm7mj]{gap:0.5rem}.title[data-astro-cid-5tznm7mj]{flex:1 0 100%;font-size:1rem}.tags[data-astro-cid-5tznm7mj]{order:2;gap:0.25rem}.date[data-astro-cid-5tznm7mj]{order:3;margin-left:0;font-size:0.875rem}}.tags[data-astro-cid-5tznm7mj]{flex-wrap:wrap}.tag[data-astro-cid-5tznm7mj]{white-space:normal}main[data-astro-cid-bvzihdzo]{width:calc(100% - 2em);max-width:100%;margin:0}.hero-image[data-astro-cid-bvzihdzo]{width:100%}.hero-image[data-astro-cid-bvzihdzo] img[data-astro-cid-bvzihdzo]{display:block;margin:0 auto;border-radius:12px;box-shadow:var(--box-shadow)}.prose[data-astro-cid-bvzihdzo]{width:720px;max-width:calc(100% - 2em);margin:auto;padding:1em;color:rgb(var(--gray-dark))}.title[data-astro-cid-bvzihdzo]{margin-bottom:1em;padding:1em 0;text-align:center;line-height:1}.title[data-astro-cid-bvzihdzo] h1[data-astro-cid-bvzihdzo]{margin:0 0 .75rem}.tags[data-astro-cid-bvzihdzo]{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:.5rem 0 1rem}.tag[data-astro-cid-bvzihdzo]{display:inline-block;padding:.25rem .65rem;border:1px solid rgba(0,0,0,.12);border-radius:9999px;background:rgba(0,0,0,.03);font-size:.9rem;line-height:1;color:rgb(var(--gray));text-decoration:none;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.tag[data-astro-cid-bvzihdzo]:hover{border-color:rgba(var(--accent),.5);color:rgb(var(--accent));background:transparent}.share-btn[data-astro-cid-bvzihdzo]{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .7rem;border:1px solid rgba(0,0,0,.12);border-radius:9999px;text-decoration:none;font-size:.9rem;line-height:1;background:rgba(0,0,0,.03);color:rgb(var(--gray));cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.share-btn[data-astro-cid-bvzihdzo] .icon[data-astro-cid-bvzihdzo]{width:20px;height:20px;display:block}.share-btn[data-astro-cid-bvzihdzo].only-icon{padding:.38rem}.share-btn[data-astro-cid-bvzihdzo]:hover{border-color:rgba(var(--accent),.5);color:rgb(var(--accent));background:transparent}.date[data-astro-cid-bvzihdzo]{margin-bottom:0.5em;color:rgb(var(--gray))}.last-updated-on[data-astro-cid-bvzihdzo]{font-style:italic}hr[data-astro-cid-bvzihdzo]{margin-top:1rem}.spoiler[data-astro-cid-wj4hb2vs]{border:1px solid var(--border, #e5e7eb);border-radius:.75rem}.spoiler__button[data-astro-cid-wj4hb2vs]{width:100%;text-align:left;padding:.75rem 1rem;background:transparent;border:0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font:inherit}.spoiler__panel[data-astro-cid-wj4hb2vs]{padding:.75rem 1rem;max-height:0;overflow:hidden;transition:max-height .25s ease}.spoiler[data-astro-cid-wj4hb2vs][data-open=true] .spoiler__panel[data-astro-cid-wj4hb2vs]{max-height:100vh}.spoiler__icon[data-astro-cid-wj4hb2vs]{transition:transform .2s ease}.spoiler[data-astro-cid-wj4hb2vs][data-open=true] .spoiler__icon[data-astro-cid-wj4hb2vs]{transform:rotate(45deg)}/* 外側は既存レイアウトに干渉しない */
.iap { display: block; }

/* ナビ */
.iap__nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: center;   /* ← これを追加 */
  width: 100%;               /* 念のため全幅に */
  border-top: 1px solid var(--astro-border, #ddd);
  padding-top: .5rem;
}
.iap__link { border: 1px solid var(--astro-border, #ccc); padding: .3rem .6rem; border-radius: .4rem; text-decoration: none; }
.iap__numbers { display: inline-flex; list-style: none; gap: .25rem; margin: 0 .25rem; padding: 0; }
.iap__numbers a { border: 1px solid var(--astro-border, #ccc); padding: .2rem .5rem; border-radius: .3rem; text-decoration: none; }
.iap__numbers a.is-current { font-weight: 600; outline: 2px solid currentColor; }

/* hr はページ内では非表示（スロット内にも効くように global） */
.iap hr[data-pagebreak] { display: none; }

/* スニペット/画像がフルブリード化するテーマ向けの抑止（任意） */
.iap, .iap [data-role="content"], .iap__page { min-width: 0; }
.iap pre, .iap pre.astro-code, .iap .astro-code, .iap .shiki, .iap .remark-code-title + pre {
  width: auto !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important;
  left: auto !important; right: auto !important; transform: none !important; overflow-x: auto; border-radius: .75rem;
}
.iap figure, .iap img { width: auto !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }

.iap__nav[hidden] { display: none !important; }lite-youtube {
    background-color: #000;
    position: relative;
    display: block;
    contain: content;
    background-position: center center;
    background-size: cover;
    cursor: pointer;
    max-width: 720px;
}

/* gradient */
lite-youtube::before {
    content: attr(data-title);
    display: block;
    position: absolute;
    top: 0;
    /* Pixel-perfect port of YT's gradient PNG, using https://github.com/bluesmoon/pngtocss plus optimizations */
    background-image: linear-gradient(180deg, rgb(0 0 0 / 67%) 0%, rgb(0 0 0 / 54%) 14%, rgb(0 0 0 / 15%) 54%, rgb(0 0 0 / 5%) 72%, rgb(0 0 0 / 0%) 94%);
    height: 99px;
    width: 100%;
    font-family: "YouTube Noto",Roboto,Arial,Helvetica,sans-serif;
    color: hsl(0deg 0% 93.33%);
    text-shadow: 0 0 2px rgba(0,0,0,.5);
    font-size: 18px;
    padding: 25px 20px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

lite-youtube:hover::before {
    color: white;
}

/* responsive iframe with a 16:9 aspect ratio
    thanks https://css-tricks.com/responsive-iframes/
*/
lite-youtube::after {
    content: "";
    display: block;
    padding-bottom: calc(100% / (16 / 9));
}
lite-youtube > iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
}

/* play button */
lite-youtube > .lty-playbtn {
    display: block;
    /* Make the button element cover the whole area for a large hover/click target… */
    width: 100%;
    height: 100%;
    /* …but visually it's still the same size */
    background: no-repeat center/68px 48px;
    /* YT's actual play button svg */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');
    position: absolute;
    cursor: pointer;
    z-index: 1;
    filter: grayscale(100%);
    transition: filter .1s cubic-bezier(0, 0, 0.2, 1);
    border: 0;
}

lite-youtube:hover > .lty-playbtn,
lite-youtube .lty-playbtn:focus {
    filter: none;
}

/* Post-click styles */
lite-youtube.lyt-activated {
    cursor: unset;
}
lite-youtube.lyt-activated::before,
lite-youtube.lyt-activated > .lty-playbtn {
    opacity: 0;
    pointer-events: none;
}

.lyt-visually-hidden {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
lite-youtube > iframe {
		all: unset !important;
		width: 100% !important;
		height: 100% !important;
		position: absolute !important;
		inset: 0 !important;
		border: 0 !important;
	}._root_98iqw_1 {
  width: 100%;
  min-width: 250px;
  max-width: 550px;
  overflow: hidden;
  /* Base font styles */
  color: var(--tweet-font-color);
  font-family: var(--tweet-font-family);
  font-weight: 400;
  box-sizing: border-box;
  border: var(--tweet-border);
  border-radius: 12px;
  margin: var(--tweet-container-margin);
  background-color: var(--tweet-bg-color);
  transition-property: background-color, box-shadow;
  transition-duration: 0.2s;
}
._root_98iqw_1:hover {
  background-color: var(--tweet-bg-color-hover);
}
._article_98iqw_21 {
  position: relative;
  box-sizing: inherit;
  padding: 0.75rem 1rem;
}
.astro-tweet-theme {
  --tweet-container-margin: 1.5rem 0;

  /* Header */
  --tweet-header-font-size: 0.9375rem;
  --tweet-header-line-height: 1.25rem;

  /* Text */
  --tweet-body-font-size: 1.25rem;
  --tweet-body-font-weight: 400;
  --tweet-body-line-height: 1.5rem;
  --tweet-body-margin: 0;

  /* Quoted Tweet */
  --tweet-quoted-container-margin: 0.75rem 0;
  --tweet-quoted-body-font-size: 0.938rem;
  --tweet-quoted-body-font-weight: 400;
  --tweet-quoted-body-line-height: 1.25rem;
  --tweet-quoted-body-margin: 0.25rem 0 0.75rem 0;

  /* Info */
  --tweet-info-font-size: 0.9375rem;
  --tweet-info-line-height: 1.25rem;

  /* Actions like the like, reply and copy buttons */
  --tweet-actions-font-size: 0.875rem;
  --tweet-actions-line-height: 1rem;
  --tweet-actions-font-weight: 700;
  --tweet-actions-icon-size: 1.25em;
  --tweet-actions-icon-wrapper-size: calc(
    var(--tweet-actions-icon-size) + 0.75em
  );

  /* Reply button */
  --tweet-replies-font-size: 0.875rem;
  --tweet-replies-line-height: 1rem;
  --tweet-replies-font-weight: 700;
}

:where(.astro-tweet-theme) * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:is([data-theme="light"], .light) :where(.astro-tweet-theme),
:where(.astro-tweet-theme) {
  --tweet-skeleton-gradient: linear-gradient(
    270deg,
    #fafafa,
    #eaeaea,
    #eaeaea,
    #fafafa
  );
  --tweet-border: 1px solid rgb(207, 217, 222);
  --tweet-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Helvetica, Arial, sans-serif;
  --tweet-font-color: rgb(15, 20, 25);
  --tweet-font-color-secondary: rgb(83, 100, 113);
  --tweet-bg-color: #fff;
  --tweet-bg-color-hover: rgb(247, 249, 249);
  --tweet-quoted-bg-color-hover: rgba(0, 0, 0, 0.03);
  --tweet-color-blue-primary: rgb(29, 155, 240);
  --tweet-color-blue-primary-hover: rgb(26, 140, 216);
  --tweet-color-blue-secondary: rgb(0, 111, 214);
  --tweet-color-blue-secondary-hover: rgba(0, 111, 214, 0.1);
  --tweet-color-red-primary: rgb(249, 24, 128);
  --tweet-color-red-primary-hover: rgba(249, 24, 128, 0.1);
  --tweet-color-green-primary: rgb(0, 186, 124);
  --tweet-color-green-primary-hover: rgba(0, 186, 124, 0.1);
  --tweet-twitter-icon-color: var(--tweet-font-color);
  --tweet-verified-old-color: rgb(130, 154, 171);
  --tweet-verified-blue-color: var(--tweet-color-blue-primary);
}

:is([data-theme="dark"], .dark) :where(.astro-tweet-theme) {
  --tweet-skeleton-gradient: linear-gradient(
    270deg,
    #15202b,
    rgb(30, 39, 50),
    rgb(30, 39, 50),
    rgb(21, 32, 43)
  );
  --tweet-border: 1px solid rgb(66, 83, 100);
  --tweet-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Helvetica, Arial, sans-serif;
  --tweet-font-color: rgb(247, 249, 249);
  --tweet-font-color-secondary: rgb(139, 152, 165);
  --tweet-bg-color: rgb(21, 32, 43);
  --tweet-bg-color-hover: rgb(30, 39, 50);
  --tweet-quoted-bg-color-hover: rgba(255, 255, 255, 0.03);
  --tweet-color-blue-primary: rgb(29, 155, 240);
  --tweet-color-blue-primary-hover: rgb(26, 140, 216);
  --tweet-color-blue-secondary: rgb(107, 201, 251);
  --tweet-color-blue-secondary-hover: rgba(107, 201, 251, 0.1);
  --tweet-color-red-primary: rgb(249, 24, 128);
  --tweet-color-red-primary-hover: rgba(249, 24, 128, 0.1);
  --tweet-color-green-primary: rgb(0, 186, 124);
  --tweet-color-green-primary-hover: rgba(0, 186, 124, 0.1);
  --tweet-twitter-icon-color: var(--tweet-font-color);
  --tweet-verified-old-color: rgb(130, 154, 171);
  --tweet-verified-blue-color: #fff;
}

@media (prefers-color-scheme: dark) {
  :where(.astro-tweet-theme) {
    --tweet-skeleton-gradient: linear-gradient(
      270deg,
      #15202b,
      rgb(30, 39, 50),
      rgb(30, 39, 50),
      rgb(21, 32, 43)
    );
    --tweet-border: 1px solid rgb(66, 83, 100);
    --tweet-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
      Helvetica, Arial, sans-serif;
    --tweet-font-color: rgb(247, 249, 249);
    --tweet-font-color-secondary: rgb(139, 152, 165);
    --tweet-bg-color: rgb(21, 32, 43);
    --tweet-bg-color-hover: rgb(30, 39, 50);
    --tweet-color-blue-primary: rgb(29, 155, 240);
    --tweet-color-blue-primary-hover: rgb(26, 140, 216);
    --tweet-color-blue-secondary: rgb(107, 201, 251);
    --tweet-color-blue-secondary-hover: rgba(107, 201, 251, 0.1);
    --tweet-color-red-primary: rgb(249, 24, 128);
    --tweet-color-red-primary-hover: rgba(249, 24, 128, 0.1);
    --tweet-color-green-primary: rgb(0, 186, 124);
    --tweet-color-green-primary-hover: rgba(0, 186, 124, 0.1);
    --tweet-twitter-icon-color: var(--tweet-font-color);
    --tweet-verified-old-color: rgb(130, 154, 171);
    --tweet-verified-blue-color: #fff;
  }
}
._header_nqq4j_1 {
  display: flex;
  padding-bottom: 0.75rem;
  line-height: var(--tweet-header-line-height);
  font-size: var(--tweet-header-font-size);
  white-space: nowrap;
  overflow-wrap: break-word;
  overflow: hidden;
}

._avatar_nqq4j_11 {
  position: relative;
  height: 48px;
  width: 48px;
}
._avatarOverflow_nqq4j_16 {
  height: 100%;
  width: 100%;
  position: absolute;
  overflow: hidden;
  border-radius: 9999px;
}
._avatarSquare_nqq4j_23 {
  border-radius: 4px;
}
._avatarShadow_nqq4j_26 {
  height: 100%;
  width: 100%;
  transition-property: background-color;
  transition-duration: 0.2s;
  box-shadow: rgb(0 0 0 / 3%) 0px 0px 2px inset;
}
._avatarShadow_nqq4j_26:hover {
  background-color: rgba(26, 26, 26, 0.15);
}

._author_nqq4j_37 {
  max-width: calc(100% - 84px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 0.5rem;
}
._authorLink_nqq4j_44 {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
}
._authorLink_nqq4j_44:hover {
  text-decoration-line: underline;
}
._authorVerified_nqq4j_53 {
  display: inline-flex;
}
._authorLinkText_nqq4j_56 {
  font-weight: 700;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

._authorMeta_nqq4j_63 {
  display: flex;
}
._authorFollow_nqq4j_66 {
  display: flex;
}
._username_nqq4j_69 {
  color: var(--tweet-font-color-secondary);
  text-decoration: none;
  text-overflow: ellipsis;
}
._follow_nqq4j_74 {
  color: var(--tweet-color-blue-secondary);
  text-decoration: none;
  font-weight: 700;
}
._follow_nqq4j_74:hover {
  text-decoration-line: underline;
}
._separator_nqq4j_82 {
  padding: 0 0.25rem;
}

._brand_nqq4j_86 {
  margin-inline-start: auto;
}

._twitterIcon_nqq4j_90 {
  width: 23.75px;
  height: 23.75px;
  color: var(--tweet-twitter-icon-color);
  fill: currentColor;
  user-select: none;
}
._verified_lvyh0_1 {
  margin-left: 0.125rem;
  max-width: 20px;
  max-height: 20px;
  height: 1.25em;
  fill: currentColor;
  user-select: none;
  vertical-align: text-bottom;
}
._verifiedOld_lcna5_1 {
  color: var(--tweet-verified-old-color);
}
._verifiedBlue_lcna5_4 {
  color: var(--tweet-verified-blue-color);
}
._verifiedGovernment_lcna5_7 {
  /* color: var(--tweet-verified-government-color); */
  color: rgb(130, 154, 171);
}
._root_1ec15_1 {
  text-decoration: none;
  color: var(--tweet-font-color-secondary);
  font-size: 0.9375rem;
  line-height: 1.25rem;
  margin-bottom: 0.25rem;
  overflow-wrap: break-word;
  white-space: pre-wrap;
}
._root_1ec15_1:hover {
  text-decoration-thickness: 1px;
  text-decoration-line: underline;
}
._root_eihfa_1 {
  font-weight: inherit;
  color: var(--tweet-color-blue-secondary);
  text-decoration: none;
  cursor: pointer;
}
._root_eihfa_1:hover {
  text-decoration-thickness: 1px;
  text-decoration-line: underline;
}
._root_1xq52_1 {
  font-size: var(--tweet-body-font-size);
  font-weight: var(--tweet-body-font-weight);
  line-height: var(--tweet-body-line-height);
  margin: var(--tweet-body-margin);
  overflow-wrap: break-word;
  white-space: pre-wrap;
}
._root_g9tkv_1 {
  margin-top: 0.75rem;
  overflow: hidden;
  position: relative;
}
._rounded_g9tkv_6 {
  border: var(--tweet-border);
  border-radius: 12px;
}
._mediaWrapper_g9tkv_10 {
  display: grid;
  grid-auto-rows: 1fr;
  gap: 2px;
  height: 100%;
  width: 100%;
}
._grid2Columns_g9tkv_17 {
  grid-template-columns: repeat(2, 1fr);
}
._grid3_g9tkv_20 > a:first-child {
  grid-row: span 2;
}
._grid2x2_g9tkv_23 {
  grid-template-rows: repeat(2, 1fr);
}
._mediaContainer_g9tkv_26 {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
._mediaLink_g9tkv_34 {
  text-decoration: none;
  outline-style: none;
}
._skeleton_g9tkv_38 {
  padding-bottom: 56.25%;
  width: 100%;
  display: block;
}
._image_g9tkv_43 {
  position: absolute;
  top: 0px;
  left: 0px;
  bottom: 0px;
  height: 100%;
  width: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center;
}
._root_i24yn_1 {
  color: inherit;
  text-decoration: none;
  font-size: var(--tweet-info-font-size);
  line-height: var(--tweet-info-line-height);
}
._root_i24yn_1:hover {
  text-decoration-thickness: 1px;
  text-decoration-line: underline;
}
._info_19qcj_1 {
  display: flex;
  align-items: center;
  color: var(--tweet-font-color-secondary);
  margin-top: 0.125rem;
  overflow-wrap: break-word;
  white-space: nowrap;
  text-overflow: ellipsis;
}
._infoLink_19qcj_10 {
  color: inherit;
  text-decoration: none;
}
._infoLink_19qcj_10 {
  height: var(--tweet-actions-icon-wrapper-size);
  width: var(--tweet-actions-icon-wrapper-size);
  font: inherit;
  margin-left: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: -4px;
  border-radius: 9999px;
  transition-property: background-color;
  transition-duration: 0.2s;
}
._infoLink_19qcj_10:hover {
  background-color: var(--tweet-color-blue-secondary-hover);
}
._infoIcon_19qcj_30 {
  color: inherit;
  fill: currentColor;
  height: var(--tweet-actions-icon-size);
  user-select: none;
}
._infoLink_19qcj_10:hover > ._infoIcon_19qcj_30 {
  color: var(--tweet-color-blue-secondary);
}
._actions_n2anf_1 {
  display: flex;
  align-items: center;
  color: var(--tweet-font-color-secondary);
  padding-top: 0.25rem;
  margin-top: 0.25rem;
  border-top: var(--tweet-border);
  overflow-wrap: break-word;
  white-space: nowrap;
  text-overflow: ellipsis;
}

._like_n2anf_13,
._reply_n2anf_14,
._copy_n2anf_15 {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
  margin-right: 1.25rem;
}
._like_n2anf_13:hover,
._reply_n2anf_14:hover,
._copy_n2anf_15:hover {
  background-color: rgba(0, 0, 0, 0);
}
._like_n2anf_13:hover > ._likeIconWrapper_n2anf_27 {
  background-color: var(--tweet-color-red-primary-hover);
}
._like_n2anf_13:hover > ._likeCount_n2anf_30 {
  color: var(--tweet-color-red-primary);
  text-decoration-line: underline;
}
._likeIconWrapper_n2anf_27,
._replyIconWrapper_n2anf_35,
._copyIconWrapper_n2anf_36 {
  width: var(--tweet-actions-icon-wrapper-size);
  height: var(--tweet-actions-icon-wrapper-size);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: -0.25rem;
  border-radius: 9999px;
}
._likeIcon_n2anf_27,
._replyIcon_n2anf_35,
._copyIcon_n2anf_36 {
  height: var(--tweet-actions-icon-size);
  fill: currentColor;
  user-select: none;
}
._likeIcon_n2anf_27 {
  color: var(--tweet-color-red-primary);
}
._likeCount_n2anf_30,
._replyText_n2anf_56,
._copyText_n2anf_57 {
  font-size: var(--tweet-actions-font-size);
  font-weight: var(--tweet-actions-font-weight);
  line-height: var(--tweet-actions-line-height);
  margin-left: 0.25rem;
}

._reply_n2anf_14:hover > ._replyIconWrapper_n2anf_35 {
  background-color: var(--tweet-color-blue-secondary-hover);
}
._reply_n2anf_14:hover > ._replyText_n2anf_56 {
  color: var(--tweet-color-blue-secondary);
  text-decoration-line: underline;
}
._replyIcon_n2anf_35 {
  color: var(--tweet-color-blue-primary);
}

._copy_n2anf_15 {
  font: inherit;
  background: none;
  border: none;
  cursor: pointer;
}
._copy_n2anf_15:hover > ._copyIconWrapper_n2anf_36 {
  background-color: var(--tweet-color-green-primary-hover);
}
._copy_n2anf_15:hover ._copyIcon_n2anf_36 {
  color: var(--tweet-color-green-primary);
}
._copy_n2anf_15:hover > ._copyText_n2anf_57 {
  color: var(--tweet-color-green-primary);
  text-decoration-line: underline;
}
._replies_1cutb_1 {
  padding: 0.25rem 0;
}
._link_1cutb_4 {
  text-decoration: none;
  color: var(--tweet-color-blue-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  min-height: 32px;
  user-select: none;
  outline-style: none;
  transition-property: background-color;
  transition-duration: 0.2s;
  padding: 0 1rem;
  border: var(--tweet-border);
  border-radius: 9999px;
}
._link_1cutb_4:hover {
  background-color: var(--tweet-color-blue-secondary-hover);
}
._text_1cutb_23 {
  font-weight: var(--tweet-replies-font-weight);
  font-size: var(--tweet-replies-font-size);
  line-height: var(--tweet-replies-line-height);
  overflow-wrap: break-word;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
._root_ce54q_1 {
  width: 100%;
  overflow: hidden;
  border: var(--tweet-border);
  border-radius: 12px;
  margin: var(--tweet-quoted-container-margin);
  transition-property: background-color, box-shadow;
  transition-duration: 0.2s;
  /* cursor: pointer; */
}

._root_ce54q_1:hover {
  background-color: var(--tweet-quoted-bg-color-hover);
}

._article_ce54q_16 {
  position: relative;
  box-sizing: inherit;
}
._header_r31i5_1 {
  display: flex;
  padding: 0.75rem 0.75rem 0 0.75rem;
  line-height: var(--tweet-header-line-height);
  font-size: var(--tweet-header-font-size);
  white-space: nowrap;
  overflow-wrap: break-word;
  overflow: hidden;
}

._avatar_r31i5_11 {
  position: relative;
  height: 20px;
  width: 20px;
}

._avatarSquare_r31i5_17 {
  border-radius: 4px;
}

._author_r31i5_21 {
  display: flex;
  margin: 0 0.5rem;
}

._authorText_r31i5_26 {
  font-weight: 700;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

._username_r31i5_33 {
  color: var(--tweet-font-color-secondary);
  text-decoration: none;
  text-overflow: ellipsis;
  margin-left: 0.125rem;
}
._root_175ot_1 {
  font-size: var(--tweet-quoted-body-font-size);
  font-weight: var(--tweet-quoted-body-font-weight);
  line-height: var(--tweet-quoted-body-line-height);
  margin: var(--tweet-quoted-body-margin);
  overflow-wrap: break-word;
  white-space: pre-wrap;
  padding: 0 0.75rem;
}
._root_16yxa_1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 0.75rem;
}
._root_16yxa_1 > h3 {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}
.date[data-astro-cid-3afyl2xd]{margin-left:auto;margin-top:0;color:rgb(var(--gray));white-space:nowrap;flex:0 0 auto}:root{--bg: #ffffff;--ink: #0f172a;--muted: #475569;--accent: #2563eb;--accent-weak: rgba(37,99,235,.12);--surface: #ffffff;--surface-2: #f8fafc;--border: rgba(2,6,23,.08);--shadow: 0 10px 30px rgba(2,6,23,.06), 0 1px 0 rgba(2,6,23,.06);--radius: 16px;--max-w: 1080px}html,body{height:100%}body.bg{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.container[data-astro-cid-j7pv25f6]{box-sizing:border-box;width:100%;max-width:var(--max-w);margin:0 auto;padding:36px 20px 96px}.hero[data-astro-cid-j7pv25f6]{position:relative;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,rgba(2,6,23,.02),rgba(2,6,23,.01));box-shadow:var(--shadow);overflow:clip}.hero__head[data-astro-cid-j7pv25f6]{padding:72px 20px 48px;text-align:center;max-width:840px;margin:0 auto;position:relative;z-index:1}.eyebrow[data-astro-cid-j7pv25f6]{display:inline-block;margin-bottom:10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#334155;opacity:.9}.hero__title[data-astro-cid-j7pv25f6]{margin:0 0 10px;font-size:clamp(34px,6vw,60px);line-height:1.06;letter-spacing:-0.015em}.hero__lead[data-astro-cid-j7pv25f6]{margin:0 auto 20px;color:var(--muted);max-width:760px}.hero__actions[data-astro-cid-j7pv25f6]{display:inline-flex;gap:12px;flex-wrap:wrap;justify-content:center}.btn[data-astro-cid-j7pv25f6]{display:inline-block;padding:11px 16px;border-radius:999px;text-decoration:none;line-height:1;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);transition:background .15s ease,border-color .15s ease,transform .1s ease,box-shadow .2s ease}.btn[data-astro-cid-j7pv25f6]:hover{background:#eef2f7;transform:translateY(-1px);box-shadow:0 0 0 3px var(--accent-weak)}.btn--primary[data-astro-cid-j7pv25f6]{background:#eef2ff;border-color:rgba(37,99,235,.32)}.btn--primary[data-astro-cid-j7pv25f6]:hover{background:#e2e8ff}.btn--ghost[data-astro-cid-j7pv25f6]{background:transparent}.hero__decor[data-astro-cid-j7pv25f6]{position:absolute;inset:-1px;border-radius:inherit;pointer-events:none}.hero__decor[data-astro-cid-j7pv25f6]::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.9}.hero__decor[data-astro-cid-j7pv25f6]::after{content:"";position:absolute;inset:0;background:radial-gradient(900px 280px at 20% -20%,rgba(37,99,235,.10),transparent 60%),radial-gradient(900px 280px at 80% -20%,rgba(37,99,235,.08),transparent 60%);mix-blend-mode:multiply}.section[data-astro-cid-j7pv25f6]{margin-top:44px}.section__head[data-astro-cid-j7pv25f6]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section__title[data-astro-cid-j7pv25f6]{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#334155}.link[data-astro-cid-j7pv25f6]{color:var(--muted);text-decoration:none;border-bottom:1px dashed var(--border);padding-bottom:2px}.link[data-astro-cid-j7pv25f6]:hover{color:var(--ink);border-bottom-color:rgba(37,99,235,.25)}.cards[data-astro-cid-j7pv25f6]{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:14px}@media (min-width: 760px){.cards[data-astro-cid-j7pv25f6]{grid-template-columns:repeat(3,1fr)}}.card[data-astro-cid-j7pv25f6]{position:relative;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .16s ease,box-shadow .2s ease,border-color .2s ease}.card__inner[data-astro-cid-j7pv25f6]{padding:16px}.card__link[data-astro-cid-j7pv25f6]{display:block;color:inherit;text-decoration:none;border-radius:inherit}.card[data-astro-cid-j7pv25f6]:hover{transform:translateY(-2px);border-color:rgba(37,99,235,.18);box-shadow:0 12px 30px rgba(2,6,23,.08),0 1px 0 rgba(2,6,23,.06)}.card__title[data-astro-cid-j7pv25f6]{margin:0 0 6px;font-size:18px;line-height:1.35}.card__desc[data-astro-cid-j7pv25f6]{margin:0 0 12px;color:var(--muted)}.card__tags[data-astro-cid-j7pv25f6]{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 10px}.tag[data-astro-cid-j7pv25f6]{display:inline-block;font-size:12px;line-height:1;padding:6px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);text-decoration:none;opacity:.9}.tag[data-astro-cid-j7pv25f6]:hover{opacity:1;background:#eef2f7}.card__meta[data-astro-cid-j7pv25f6]{display:flex;align-items:center;justify-content:space-between;gap:10px}.card__date[data-astro-cid-j7pv25f6]{font-size:12px;color:#64748b}.card__arrowlink[data-astro-cid-j7pv25f6]{text-decoration:none;color:inherit;opacity:.6;transition:transform .12s ease,opacity .12s ease}.card[data-astro-cid-j7pv25f6]:hover .card__arrowlink[data-astro-cid-j7pv25f6]{transform:translateX(2px);opacity:1}.sr-only[data-astro-cid-j7pv25f6]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer[data-astro-cid-j7pv25f6]{margin-top:56px}