.blog-_1da69187157812efba9f-footer{text-align:center;margin-top:5px;padding-top:15px;padding-bottom:15px;color:#e4e4e4;background-color:var(--theme-header)}.blog-d0c03c6e884dbf700de0-snsItem{width:32px;height:32px;background:rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all.3s ease}.blog-d0c03c6e884dbf700de0-snsItem:hover{transform:translatey(-3px);background:rgba(255,255,255,.2)}.blog-d0c03c6e884dbf700de0-snsItem img{width:20px;height:20px;object-fit:contain}.blog-d0c03c6e884dbf700de0-snsItemIconInvert{filter:brightness(0)invert(1)}.blog-bd9111e780fb52ae1502-fixedPortrait{position:fixed;bottom:2rem;right:2rem;z-index:100}.blog-bd9111e780fb52ae1502-portraitContainer{position:relative}.blog-bd9111e780fb52ae1502-portraitButton{background:none;border:none;padding:0;cursor:pointer;outline:none}.blog-bd9111e780fb52ae1502-portraitButton:focus-visible{outline:2px solid var(--theme-color-light);border-radius:50%}.blog-bd9111e780fb52ae1502-shinyaigeekPortrait{transform-style:preserve-3d;transform:perspective(5e3px);overflow:visible;width:132px;height:132px}.blog-bd9111e780fb52ae1502-shinyaigeekPortraitContainer{width:100%;height:100%;z-index:3;position:absolute;transition:transform.3s ease}.blog-bd9111e780fb52ae1502-shinyaigeekPortraitContainer:hover{transform:scale(1.1)}.blog-bd9111e780fb52ae1502-shinyaigeekPortraitImage{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.blog-bd9111e780fb52ae1502-snsLinks{position:fixed;inset:auto 2rem 11rem auto;margin:0;padding:.75rem;border:none;background:var(--theme-header);border-radius:1rem;box-shadow:0 4px 30px rgba(0,0,0,.1);backdrop-filter:blur(10px)}.blog-bd9111e780fb52ae1502-snsLinks::backdrop{background:transparent}.blog-bd9111e780fb52ae1502-snsLinksContainer{display:flex;flex-direction:row;gap:1rem}@keyframes blog-bd9111e780fb52ae1502-earthX{0%,to{transform:translatex(-84px);z-index:5}25%{z-index:2}50%{transform:translatex(84px);z-index:2}}.blog-bd9111e780fb52ae1502-earthX{animation:5s infinite forwards normal blog-bd9111e780fb52ae1502-earthX ease-in-out}@keyframes blog-bd9111e780fb52ae1502-earth{0%,to{z-index:5}25%{z-index:2}50%{z-index:2}}@keyframes blog-bd9111e780fb52ae1502-earthY{0%,to{transform:translatey(0)}50%{transform:translatey(-58px)}}@media(prefers-reduced-motion){.blog-bd9111e780fb52ae1502-earthX{animation:none}}.blog-bd9111e780fb52ae1502-earth{position:absolute;bottom:12%;left:calc(50% - 14px);animation:5s infinite forwards normal blog-bd9111e780fb52ae1502-earth ease-in-out}@media(prefers-reduced-motion){.blog-bd9111e780fb52ae1502-earth{animation:none}}.blog-bd9111e780fb52ae1502-earthY{animation:5s infinite forwards normal blog-bd9111e780fb52ae1502-earthY ease-in-out -1.25s;width:28px;height:28px}@media(prefers-reduced-motion){.blog-bd9111e780fb52ae1502-earthY{animation:none}}@media(max-width:768px){.blog-bd9111e780fb52ae1502-fixedPortrait{display:none}.blog-bd9111e780fb52ae1502-shinyaigeekPortrait{width:88px;height:88px}.blog-bd9111e780fb52ae1502-earthY{width:22px;height:22px}.blog-bd9111e780fb52ae1502-snsLinks{inset:auto 1rem 7.5rem auto}.blog-bd9111e780fb52ae1502-snsLinksContainer{flex-direction:row;gap:.5rem;padding:.5rem}}.blog-_306a6b59efc1c8e0fe78-language{display:flex;align-items:center;padding:.5rem .75rem;text-decoration:none;color:var(--theme-text);transition:all.2s ease;border-radius:.375rem;gap:.5rem;font-size:.875rem}.blog-_306a6b59efc1c8e0fe78-language:hover{background-color:var(--theme-color-light);color:var(--theme-background)}.blog-_306a6b59efc1c8e0fe78-language.blog-_306a6b59efc1c8e0fe78-active{background-color:var(--theme-color-light);color:var(--theme-background);font-weight:600}.blog-_306a6b59efc1c8e0fe78-languageWrapper{display:inline-block}.blog-_306a6b59efc1c8e0fe78-languageTrigger{display:flex;align-items:center;gap:.25rem;padding:.5rem;background:none;border:1px solid rgba(255,255,255,.1);border-radius:.375rem;color:var(--theme-text);cursor:pointer;transition:all.2s ease;font-size:.875rem}.blog-_306a6b59efc1c8e0fe78-languageTrigger:hover{background-color:rgba(255,255,255,5%);border-color:rgba(255,255,255,.2)}.blog-_306a6b59efc1c8e0fe78-languageTrigger.blog-_306a6b59efc1c8e0fe78-open{background-color:rgba(255,255,255,.1);border-color:var(--accent-on-dark)}.blog-_306a6b59efc1c8e0fe78-languageArrow{transition:transform.2s ease}.blog-_306a6b59efc1c8e0fe78-languageTrigger.blog-_306a6b59efc1c8e0fe78-open .blog-_306a6b59efc1c8e0fe78-languageArrow{transform:rotate(180deg)}.blog-_306a6b59efc1c8e0fe78-languageDropdown{position:fixed;top:72px;right:2rem;background:var(--theme-header);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:.5rem;box-shadow:0 10px 25px rgba(0,0,0,.1);z-index:998;min-width:140px;overflow:hidden}.blog-_306a6b59efc1c8e0fe78-languageName{flex:1}.blog-_306a6b59efc1c8e0fe78-languageCheck{color:var(--theme-background);opacity:.8}@media(max-width:768px){.blog-_306a6b59efc1c8e0fe78-languageDropdown{right:1rem;left:1rem;min-width:unset}}@media(prefers-reduced-motion:reduce){.blog-_306a6b59efc1c8e0fe78-languageTrigger,.blog-_306a6b59efc1c8e0fe78-languageArrow,.blog-_306a6b59efc1c8e0fe78-language{transition:none}}.blog-_6822962a1a47257143cc-button{background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color.2s ease}.blog-_6822962a1a47257143cc-button:hover{background-color:var(--color-hover-bg)}.blog-_6822962a1a47257143cc-button:focus{outline:2px solid var(--color-focus);outline-offset:2px}.blog-_6822962a1a47257143cc-icon{font-size:18px;line-height:1}.blog-_240066d9cd956d2d84e8-anchor{width:auto;margin:0 10px;position:relative;display:inline-block;font-size:.9375rem;font-weight:500;letter-spacing:.01em;color:rgba(var(--theme-text-rgb),.78);transition:color.2s ease}@media(min-width:890px){.blog-_240066d9cd956d2d84e8-anchor{font-size:1rem}}.blog-_240066d9cd956d2d84e8-anchor a,.blog-_240066d9cd956d2d84e8-anchor a:visited{color:inherit}.blog-_240066d9cd956d2d84e8-anchor:hover{color:var(--theme-text)}.blog-_240066d9cd956d2d84e8-anchor:after{position:absolute;left:0;bottom:-4px;content:" ";width:100%;height:2px;background:var(--accent-on-dark);border-radius:1px;transform:scalex(0);transform-origin:center top;transition:transform.2s ease}.blog-_240066d9cd956d2d84e8-anchor:hover:after{transform:scale(1)}.blog-_240066d9cd956d2d84e8-active{color:var(--theme-text)}.blog-_240066d9cd956d2d84e8-active:after{transform:scale(1)}@media(prefers-reduced-motion:reduce){.blog-_240066d9cd956d2d84e8-anchor,.blog-_240066d9cd956d2d84e8-anchor:after{transition:none}}.blog-_404c7fec69b885862fb6-header{height:72px;width:100%;background:var(--theme-header);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 30px rgba(0,0,0,.1);border-bottom:1px solid rgba(255,255,255,.1);position:fixed;left:0;right:0;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between}.blog-_404c7fec69b885862fb6-title{display:flex;align-items:center;margin-left:2rem}.blog-_404c7fec69b885862fb6-titleLink{display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--theme-text);font-size:1.125rem;font-weight:600;letter-spacing:-.01em;transition:all.3s ease}.blog-_404c7fec69b885862fb6-titleLink:hover{color:var(--accent-on-dark)}.blog-_404c7fec69b885862fb6-titleLink span{background:linear-gradient(120deg,var(--theme-text)0%,var(--accent-on-dark)100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.blog-_404c7fec69b885862fb6-icon{width:36px;height:36px;object-fit:contain;transition:transform.3s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.blog-_404c7fec69b885862fb6-titleLink:hover .blog-_404c7fec69b885862fb6-icon{transform:rotate(10deg)}.blog-_404c7fec69b885862fb6-contents{display:flex;align-items:center;gap:2rem;margin-right:2rem}.blog-_404c7fec69b885862fb6-navigation{display:flex;align-items:center;gap:.5rem}.blog-_404c7fec69b885862fb6-divider{color:var(--accent-on-dark);opacity:.45;font-size:.9rem;user-select:none}.blog-_404c7fec69b885862fb6-hamburgerMenu{display:none;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:4px;color:var(--theme-text)}.blog-_404c7fec69b885862fb6-hamburgerMenu svg{transition:all.3s ease}.blog-_404c7fec69b885862fb6-hamburgerMenu.blog-_404c7fec69b885862fb6-open svg{transform:rotate(90deg)}.blog-_404c7fec69b885862fb6-mobileMenu{position:fixed;top:72px;left:0;right:0;background:var(--theme-header);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);z-index:999;padding:1rem 2rem}.blog-_404c7fec69b885862fb6-mobileNavigation{display:flex;align-items:center;gap:2rem;justify-content:center}@media(max-width:768px){.blog-_404c7fec69b885862fb6-header{padding:0 1rem}.blog-_404c7fec69b885862fb6-title{margin-left:1rem}.blog-_404c7fec69b885862fb6-titleLink{font-size:1rem;gap:.5rem}.blog-_404c7fec69b885862fb6-icon{width:32px;height:32px}.blog-_404c7fec69b885862fb6-contents{gap:1rem}.blog-_404c7fec69b885862fb6-navigation{display:none}.blog-_404c7fec69b885862fb6-hamburgerMenu{display:flex}.blog-_404c7fec69b885862fb6-navigation{gap:.25rem}.blog-_404c7fec69b885862fb6-divider{font-size:.85rem}}@media(prefers-reduced-motion:reduce){.blog-_404c7fec69b885862fb6-header *,.blog-_404c7fec69b885862fb6-titleLink,.blog-_404c7fec69b885862fb6-icon{transition:none}}.blog-fa01d5591a18bc3d8365-inner{position:relative;padding-top:var(--header-height);overflow-x:clip;margin-bottom:84px;z-index:1}@media(max-width:889px){.blog-fa01d5591a18bc3d8365-inner{padding-top:calc(30px + var(--header-height))}}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.blog-fa01d5591a18bc3d8365-root{--header-height:72px;--measure:44rem;--radius-sm:0.375rem;--radius-md:0.625rem;--radius-lg:1rem;--theme-header:rgba(24, 22, 27, 0.92);--theme-text:#f5f6f7;--theme-text-rgb:245, 246, 247;--accent-on-dark:#8ec9ff;--theme-background:#fbfaf7;--theme-background-rgb:251, 250, 247;--bg-color:#fbfaf7;--surface:#ffffff;--surface-2:#f3f1ec;--item-background:#ffffff;--border:#e3e0d9;--border-strong:#cbc7bd;--item-border:#e3e0d9;--theme-color:#1e2226;--theme-color-rgb:30, 34, 38;--text-color:#1e2226;--text-muted:#5c6570;--headings-color:#1e2226;--theme-color-light:#0b63ce;--theme-color-light-rgb:11, 99, 206;--theme-color-dark:#08498f;--anchor-color:#0b63ce;--anchor-visited-color:#6b4fbb;--important-color:#0a8f6f;--color-focus:#0b63ce;--brand:#e8a317;--brand-rgb:232, 163, 23;--gradient-start:#f1c40f;--gradient-end:#ffeaa7;--code-bg:#1b1f24;--twitter-background:#fff;--twitter-toggle:#e6ecf0;--twitter-cancel:#e6ecf0;--image-gray:grayscale(0%);--color-hover-bg:rgba(0, 0, 0, 0.045);--shadow-sm:0 1px 2px rgba(20, 24, 28, 0.05), 0 1px 3px rgba(20, 24, 28, 0.07);--shadow-md:0 2px 4px rgba(20, 24, 28, 0.05), 0 8px 24px rgba(20, 24, 28, 0.08);--ref-accent-bg:#e8f1fc;--ref-accent-border:#a9cbf3;--ref-accent-text:#0b63ce;--ref-accent-hover-bg:#d6e6fa;--ref-accent-hover-border:#7fb0ec;--ref-bg:#f3f1ec;--ref-highlight-bg:#fdf3dd;--ref-accent-highlight:#e8a317;--ref-link:#0b63ce;background:var(--theme-background);color:var(--theme-color);position:relative;min-height:100vh}.blog-fa01d5591a18bc3d8365-root:before{content:"";position:absolute;top:0;left:0;width:100%;height:720px;background:radial-gradient(120%100%at 50%0%,rgba(var(--brand-rgb),.22)0%,rgba(var(--brand-rgb),.08)45%,transparent 100%);z-index:0;pointer-events:none}@media(prefers-color-scheme:dark){.blog-fa01d5591a18bc3d8365-root{--theme-header:rgba(18, 20, 22, 0.92);--theme-background:#16181a;--theme-background-rgb:22, 24, 26;--bg-color:#16181a;--surface:#1f2226;--surface-2:#262a2f;--item-background:#1f2226;--border:#30353a;--border-strong:#454b52;--item-border:#30353a;--theme-color:#e6e9ec;--theme-color-rgb:230, 233, 236;--text-color:#e6e9ec;--text-muted:#9aa4ae;--headings-color:#e6e9ec;--theme-color-light:#7cc0ff;--theme-color-light-rgb:124, 192, 255;--theme-color-dark:#4a9eff;--anchor-color:#7cc0ff;--anchor-visited-color:#bda9ff;--important-color:#2fd3a5;--color-focus:#7cc0ff;--brand:#f0b429;--brand-rgb:240, 180, 41;--gradient-start:#d35400;--gradient-end:#f1c40f;--code-bg:#0e1113;--twitter-background:#1f2226;--twitter-toggle:#30353a;--twitter-cancel:#30353a;--image-gray:grayscale(15%);--color-hover-bg:rgba(255, 255, 255, 0.06);--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.3);--shadow-md:0 2px 4px rgba(0, 0, 0, 0.35), 0 8px 24px rgba(0, 0, 0, 0.45);--ref-accent-bg:#16263c;--ref-accent-border:#2c5c9e;--ref-accent-text:#7cc0ff;--ref-accent-hover-bg:#1c3a5e;--ref-accent-hover-border:#3b7fd4;--ref-bg:#1f2226;--ref-highlight-bg:#33302a;--ref-accent-highlight:#f0b429;--ref-link:#7cc0ff}.blog-fa01d5591a18bc3d8365-root:before{height:640px;background:radial-gradient(120%100%at 50%0%,rgba(var(--brand-rgb),.12)0%,rgba(var(--brand-rgb),.04)45%,transparent 100%)}}html[data-theme=dark]{.blog-fa01d5591a18bc3d8365-root{--theme-header:rgba(18, 20, 22, 0.92);--theme-background:#16181a;--theme-background-rgb:22, 24, 26;--bg-color:#16181a;--surface:#1f2226;--surface-2:#262a2f;--item-background:#1f2226;--border:#30353a;--border-strong:#454b52;--item-border:#30353a;--theme-color:#e6e9ec;--theme-color-rgb:230, 233, 236;--text-color:#e6e9ec;--text-muted:#9aa4ae;--headings-color:#e6e9ec;--theme-color-light:#7cc0ff;--theme-color-light-rgb:124, 192, 255;--theme-color-dark:#4a9eff;--anchor-color:#7cc0ff;--anchor-visited-color:#bda9ff;--important-color:#2fd3a5;--color-focus:#7cc0ff;--brand:#f0b429;--brand-rgb:240, 180, 41;--gradient-start:#d35400;--gradient-end:#f1c40f;--code-bg:#0e1113;--twitter-background:#1f2226;--twitter-toggle:#30353a;--twitter-cancel:#30353a;--image-gray:grayscale(15%);--color-hover-bg:rgba(255, 255, 255, 0.06);--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.3);--shadow-md:0 2px 4px rgba(0, 0, 0, 0.35), 0 8px 24px rgba(0, 0, 0, 0.45);--ref-accent-bg:#16263c;--ref-accent-border:#2c5c9e;--ref-accent-text:#7cc0ff;--ref-accent-hover-bg:#1c3a5e;--ref-accent-hover-border:#3b7fd4;--ref-bg:#1f2226;--ref-highlight-bg:#33302a;--ref-accent-highlight:#f0b429;--ref-link:#7cc0ff}.blog-fa01d5591a18bc3d8365-root:before{height:640px;background:radial-gradient(120%100%at 50%0%,rgba(var(--brand-rgb),.12)0%,rgba(var(--brand-rgb),.04)45%,transparent 100%)}}html[data-theme=light]{.blog-fa01d5591a18bc3d8365-root{--theme-header:rgba(24, 22, 27, 0.92);--theme-background:#fbfaf7;--theme-background-rgb:251, 250, 247;--bg-color:#fbfaf7;--surface:#ffffff;--surface-2:#f3f1ec;--item-background:#ffffff;--border:#e3e0d9;--border-strong:#cbc7bd;--item-border:#e3e0d9;--theme-color:#1e2226;--theme-color-rgb:30, 34, 38;--text-color:#1e2226;--text-muted:#5c6570;--headings-color:#1e2226;--theme-color-light:#0b63ce;--theme-color-light-rgb:11, 99, 206;--theme-color-dark:#08498f;--anchor-color:#0b63ce;--anchor-visited-color:#6b4fbb;--important-color:#0a8f6f;--color-focus:#0b63ce;--brand:#e8a317;--brand-rgb:232, 163, 23;--gradient-start:#f1c40f;--gradient-end:#ffeaa7;--code-bg:#1b1f24;--twitter-background:#fff;--twitter-toggle:#e6ecf0;--twitter-cancel:#e6ecf0;--image-gray:grayscale(0%);--color-hover-bg:rgba(0, 0, 0, 0.045);--shadow-sm:0 1px 2px rgba(20, 24, 28, 0.05), 0 1px 3px rgba(20, 24, 28, 0.07);--shadow-md:0 2px 4px rgba(20, 24, 28, 0.05), 0 8px 24px rgba(20, 24, 28, 0.08);--ref-accent-bg:#e8f1fc;--ref-accent-border:#a9cbf3;--ref-accent-text:#0b63ce;--ref-accent-hover-bg:#d6e6fa;--ref-accent-hover-border:#7fb0ec;--ref-bg:#f3f1ec;--ref-highlight-bg:#fdf3dd;--ref-accent-highlight:#e8a317;--ref-link:#0b63ce;background:var(--theme-background);color:var(--theme-color);position:relative;min-height:100vh}.blog-fa01d5591a18bc3d8365-root:before{height:720px;background:radial-gradient(120%100%at 50%0%,rgba(var(--brand-rgb),.22)0%,rgba(var(--brand-rgb),.08)45%,transparent 100%)}}:where(.blog-fa01d5591a18bc3d8365-root) :where(a){text-decoration:none;color:var(--anchor-color);transition:color.2s ease}:where(.blog-fa01d5591a18bc3d8365-root) :where(a:hover){color:var(--theme-color-dark)}:where(.blog-fa01d5591a18bc3d8365-root) :where(a:visited){color:var(--anchor-visited-color)}.blog-fa01d5591a18bc3d8365-root :focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:2px}.reference-link{display:inline-block;color:var(--ref-accent-text);text-decoration:none;font-size:.85em;font-weight:500;transition:all.2s ease;cursor:pointer}.reference-link:hover{background-color:var(--ref-accent-hover-bg);border-color:var(--ref-accent-hover-border);transform:translatey(-1px)}.reference-definition{margin:1.5em 0;padding:1em;background-color:var(--ref-bg);border-left:4px solid var(--ref-accent-border);border-radius:0 4px 4px 0;font-size:.9em;line-height:1.6;scroll-margin-top:88px;transition:background-color.3s ease}.reference-definition:target{background-color:var(--ref-highlight-bg);border-left-color:var(--ref-accent-highlight)}.reference-definition:before{content:attr(data-reference-id);display:inline-block;padding:.2em .5em;margin-right:.5em;background-color:var(--ref-accent-bg);border:1px solid var(--ref-accent-border);border-radius:3px;color:var(--ref-accent-text);font-weight:600;font-size:.8em;text-transform:uppercase}.reference-definition p{margin:.5em 0}.reference-definition a{color:var(--ref-link);text-decoration:none;border-bottom:1px dotted}.reference-definition a:hover{border-bottom:1px solid}@media(max-width:768px){.reference-definition{margin:1em -1em;padding:.8em;border-radius:0;border-left-width:3px}.reference-link{font-size:.8em;padding:.15em .3em}}.blog-fa01d5591a18bc3d8365-dummy{color:white}.blog-_12e364a4d17e648e53be-wrapper{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:1.25rem}.blog-_12e364a4d17e648e53be-scroller{overflow-x:auto;-webkit-overflow-scrolling:touch}.blog-_12e364a4d17e648e53be-chart{display:block;min-width:42rem}.blog-_12e364a4d17e648e53be-dayLabel,.blog-_12e364a4d17e648e53be-monthLabel{font-size:9px;fill:var(--text-muted);font-family:"SF Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,monospace}.blog-_12e364a4d17e648e53be-cell{stroke:rgba(var(--theme-color-rgb),.06);stroke-width:1px}.blog-_12e364a4d17e648e53be-level0{fill:var(--surface-2)}.blog-_12e364a4d17e648e53be-level1{fill:rgba(var(--brand-rgb),.35)}.blog-_12e364a4d17e648e53be-level2{fill:rgba(var(--brand-rgb),.6)}.blog-_12e364a4d17e648e53be-level3{fill:rgba(var(--brand-rgb),.82)}.blog-_12e364a4d17e648e53be-level4{fill:var(--brand)}.blog-_12e364a4d17e648e53be-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.85rem;font-size:.8125rem;color:var(--text-muted)}.blog-_12e364a4d17e648e53be-total{margin:0}.blog-_12e364a4d17e648e53be-totalCount{font-weight:700;color:var(--theme-color)}.blog-_12e364a4d17e648e53be-legend{display:flex;align-items:center;gap:.35rem}.blog-_12e364a4d17e648e53be-legendSwatch{width:11px;height:11px;border-radius:2px;display:inline-block;border:1px solid rgba(var(--theme-color-rgb),.06)}.blog-_12e364a4d17e648e53be-swatch0{background:var(--surface-2)}.blog-_12e364a4d17e648e53be-swatch1{background:rgba(var(--brand-rgb),.35)}.blog-_12e364a4d17e648e53be-swatch2{background:rgba(var(--brand-rgb),.6)}.blog-_12e364a4d17e648e53be-swatch3{background:rgba(var(--brand-rgb),.82)}.blog-_12e364a4d17e648e53be-swatch4{background:var(--brand)}@media(max-width:768px){.blog-_12e364a4d17e648e53be-wrapper{padding:1rem}.blog-_12e364a4d17e648e53be-footer{font-size:.75rem}}.blog-a9b65ec6a8216a5b6ab5-section{width:min(100% - 2rem,68rem);margin:0 auto;padding:3.5rem 0}.blog-a9b65ec6a8216a5b6ab5-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:2rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.blog-a9b65ec6a8216a5b6ab5-titleGroup{display:flex;flex-direction:column;gap:.35rem;min-width:0}.blog-a9b65ec6a8216a5b6ab5-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}.blog-a9b65ec6a8216a5b6ab5-title{font-size:1.5rem;font-weight:700;line-height:1.25;letter-spacing:-.015em;margin:0;color:var(--theme-color)}.blog-a9b65ec6a8216a5b6ab5-description{font-size:.9375rem;line-height:1.7;color:var(--text-muted);margin:-.75rem 0 1.75rem;max-width:46rem}.blog-a9b65ec6a8216a5b6ab5-action{flex-shrink:0;font-size:.875rem;font-weight:600;white-space:nowrap}@media(max-width:768px){.blog-a9b65ec6a8216a5b6ab5-section{width:calc(100% - 2rem);padding:2.25rem 0}.blog-a9b65ec6a8216a5b6ab5-header{margin-bottom:1.5rem}.blog-a9b65ec6a8216a5b6ab5-title{font-size:1.25rem}}.blog-c48471a7e7ea92a3e64c-calendarUnavailable{padding:1.25rem;border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted);font-size:.9375rem;margin:0}.blog-c48471a7e7ea92a3e64c-list{list-style:none;margin:0;padding:0}.blog-c48471a7e7ea92a3e64c-item{padding:.85rem 0;border-bottom:1px solid var(--border)}.blog-c48471a7e7ea92a3e64c-item:first-child{border-top:1px solid var(--border)}.blog-c48471a7e7ea92a3e64c-repository{display:inline-block;font-family:"SF Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;color:var(--text-muted);margin-right:.5rem}.blog-c48471a7e7ea92a3e64c-link{font-size:1rem;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.blog-c48471a7e7ea92a3e64c-state{font-size:.9375rem;line-height:1.7;color:var(--text-muted);margin:0;padding:1.25rem 0}.blog-c48471a7e7ea92a3e64c-stateError{color:var(--text-muted)}.blog-c48471a7e7ea92a3e64c-fallbackLink{font-weight:600}.blog-fabf6364ebafb2d1aa42-home{background:transparent;padding:1.25rem 0;margin:0;border-bottom:1px solid var(--border);transition:background-color.2s ease}.blog-fabf6364ebafb2d1aa42-home:first-child{border-top:1px solid var(--border)}.blog-fabf6364ebafb2d1aa42-home:hover{background-color:var(--color-hover-bg)}.blog-fabf6364ebafb2d1aa42-contentWrapper{display:flex;gap:1.5rem;align-items:flex-start}.blog-fabf6364ebafb2d1aa42-textContent{flex:1;min-width:0}.blog-fabf6364ebafb2d1aa42-itemHomeAnchor{color:var(--theme-color);display:inline-block;font-size:1.125rem;font-weight:700;letter-spacing:-.01em;text-align:left;margin-bottom:.35rem;text-decoration:none;transition:color.2s ease;overflow-wrap:anywhere;line-height:1.45}.blog-fabf6364ebafb2d1aa42-itemHomeAnchor:visited{color:var(--theme-color)}.blog-fabf6364ebafb2d1aa42-itemHomeAnchor:hover{color:var(--theme-color-light)}.blog-fabf6364ebafb2d1aa42-dateContainer{display:flex;align-items:center;gap:.4rem;margin:.25rem 0}.blog-fabf6364ebafb2d1aa42-dateIcon{display:none}.blog-fabf6364ebafb2d1aa42-date{font-family:"SF Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;color:var(--text-muted);background:transparent;padding:0}.blog-fabf6364ebafb2d1aa42-description{overflow-wrap:anywhere;color:var(--text-muted);font-size:.9375rem;line-height:1.7;margin:.35rem 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.blog-fabf6364ebafb2d1aa42-ogp{width:128px;height:72px;border-radius:var(--radius-sm);margin:0;object-fit:cover;border:1px solid var(--border);transition:transform.2s ease;flex-shrink:0}.blog-fabf6364ebafb2d1aa42-ogp:hover{transform:scale(1.03)}.blog-fabf6364ebafb2d1aa42-readMore{display:none}.blog-fabf6364ebafb2d1aa42-readMoreAnchor{font-size:1rem;color:var(--theme-color);text-decoration:none;padding:.5rem 1.5rem;border:2px solid var(--theme-color);border-radius:2rem;transition:all.2s ease}.blog-fabf6364ebafb2d1aa42-readMoreAnchor:hover{background:var(--theme-color);color:var(--theme-background)}@media(max-width:768px){.blog-fabf6364ebafb2d1aa42-itemHomeAnchor{font-size:1.0625rem}.blog-fabf6364ebafb2d1aa42-home{padding:1rem 0}.blog-fabf6364ebafb2d1aa42-contentWrapper{gap:1rem}.blog-fabf6364ebafb2d1aa42-ogp{width:96px;height:54px}.blog-fabf6364ebafb2d1aa42-description{font-size:.875rem}}@media(prefers-reduced-motion:reduce){.blog-fabf6364ebafb2d1aa42-home,.blog-fabf6364ebafb2d1aa42-itemHomeAnchor,.blog-fabf6364ebafb2d1aa42-ogp{transition:none}.blog-fabf6364ebafb2d1aa42-ogp:hover{transform:none}}.blog-_8ec6d0e8aa115942e48d-alterEgoFrameWrapper{margin:0 auto;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-md);background:var(--surface)}.blog-_8ec6d0e8aa115942e48d-alterEgoFrame{display:block;width:100%;height:640px;border:none}@media(max-width:768px){.blog-_8ec6d0e8aa115942e48d-alterEgoFrame{height:70vh;min-height:480px}}.blog-_74ccf9497d33ce3433ed-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.blog-_74ccf9497d33ce3433ed-item{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--border)}.blog-_74ccf9497d33ce3433ed-item:first-child{padding-top:0}.blog-_74ccf9497d33ce3433ed-item:last-child{border-bottom:none}.blog-_74ccf9497d33ce3433ed-period{font-family:"SF Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;line-height:1.6;color:var(--text-muted);padding-top:.2rem;white-space:nowrap}.blog-_74ccf9497d33ce3433ed-body{min-width:0}.blog-_74ccf9497d33ce3433ed-companyRow{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.blog-_74ccf9497d33ce3433ed-company{font-size:1.0625rem;font-weight:700;line-height:1.4;margin:0;color:var(--theme-color)}.blog-_74ccf9497d33ce3433ed-currentBadge{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;color:var(--important-color);background:rgba(var(--theme-color-light-rgb),.08);border:1px solid currentColor}.blog-_74ccf9497d33ce3433ed-role{font-size:.9375rem;line-height:1.6;color:var(--text-muted);margin:.3rem 0 0}.blog-_74ccf9497d33ce3433ed-position{color:var(--text-muted);opacity:.85}.blog-_74ccf9497d33ce3433ed-technologies{display:flex;flex-wrap:wrap;gap:.375rem;margin:.75rem 0 0;padding:0;list-style:none}.blog-_74ccf9497d33ce3433ed-technology{font-size:.75rem;font-weight:500;line-height:1.5;padding:.2rem .55rem;border-radius:var(--radius-sm);color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border)}.blog-_74ccf9497d33ce3433ed-entries{list-style:none;margin:.85rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.blog-_74ccf9497d33ce3433ed-entryItem{font-size:.875rem;line-height:1.6;position:relative;padding-left:1rem}.blog-_74ccf9497d33ce3433ed-entryItem:before{content:"↗";position:absolute;left:0;color:var(--text-muted);font-size:.75rem}@media(max-width:768px){.blog-_74ccf9497d33ce3433ed-item{grid-template-columns:minmax(0,1fr);gap:.5rem;padding:1.25rem 0}.blog-_74ccf9497d33ce3433ed-period{padding-top:0;order:-1}.blog-_74ccf9497d33ce3433ed-company{font-size:1rem}}@keyframes blog-_7c2bbfb59bf0fad4bd06-heroNoiseA{0%{clip-path:inset(12%0 72%0)}12%{clip-path:inset(64%0 18%0)}24%{clip-path:inset(38%0 46%0)}36%{clip-path:inset(8%0 84%0)}48%{clip-path:inset(78%0 6%0)}60%{clip-path:inset(28%0 58%0)}72%{clip-path:inset(54%0 32%0)}84%{clip-path:inset(18%0 66%0)}to{clip-path:inset(12%0 72%0)}}@keyframes blog-_7c2bbfb59bf0fad4bd06-heroNoiseB{0%{clip-path:inset(70%0 14%0)}14%{clip-path:inset(22%0 62%0)}28%{clip-path:inset(48%0 36%0)}42%{clip-path:inset(6%0 88%0)}56%{clip-path:inset(84%0 4%0)}70%{clip-path:inset(34%0 52%0)}84%{clip-path:inset(58%0 26%0)}to{clip-path:inset(70%0 14%0)}}.blog-_7c2bbfb59bf0fad4bd06-hero{width:min(100% - 2rem,68rem);margin:0 auto;padding:4rem 0 3rem}.blog-_7c2bbfb59bf0fad4bd06-copy{min-width:0}.blog-_7c2bbfb59bf0fad4bd06-greeting{font-size:.9375rem;font-weight:600;letter-spacing:.02em;color:var(--text-muted);margin:0 0 .75rem}.blog-_7c2bbfb59bf0fad4bd06-name{font-size:clamp(2.25rem,5.5vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;margin:0;color:var(--theme-color)}.blog-_7c2bbfb59bf0fad4bd06-handle{display:block;font-size:clamp(1rem,2vw,1.25rem);font-weight:600;letter-spacing:-.01em;margin-top:.4rem;color:var(--brand)}.blog-_7c2bbfb59bf0fad4bd06-role{font-size:clamp(1.05rem,2.2vw,1.4rem);font-weight:700;line-height:1.4;margin:1.25rem 0 0;color:var(--theme-color);display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.blog-_7c2bbfb59bf0fad4bd06-roleSeparator{color:var(--text-muted);font-weight:400}.blog-_7c2bbfb59bf0fad4bd06-glitch{position:relative;display:inline-block;color:inherit}.blog-_7c2bbfb59bf0fad4bd06-glitch:before,.blog-_7c2bbfb59bf0fad4bd06-glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;color:var(--theme-color);overflow:hidden;white-space:nowrap;pointer-events:none;opacity:0}.blog-_7c2bbfb59bf0fad4bd06-glitch:hover:before,.blog-_7c2bbfb59bf0fad4bd06-glitch:hover:after{opacity:1}.blog-_7c2bbfb59bf0fad4bd06-glitch:hover:before{transform:translatex(-1.5px);text-shadow:1.5px 0 rgba(0,128,255,.85);animation:blog-_7c2bbfb59bf0fad4bd06-heroNoiseB 3.4s infinite steps(1)}.blog-_7c2bbfb59bf0fad4bd06-glitch:hover:after{transform:translatex(1.5px);text-shadow:-1.5px 0 rgba(255,0,64,.85);animation:blog-_7c2bbfb59bf0fad4bd06-heroNoiseA 2.6s infinite steps(1)}@media(prefers-reduced-motion:reduce){.blog-_7c2bbfb59bf0fad4bd06-glitch:before,.blog-_7c2bbfb59bf0fad4bd06-glitch:after{display:none}}.blog-_7c2bbfb59bf0fad4bd06-tagline{font-size:1.0625rem;line-height:1.8;color:var(--text-muted);margin:1.5rem 0 0;max-width:38rem}.blog-_7c2bbfb59bf0fad4bd06-skills{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.75rem 0 0;padding:0;list-style:none}.blog-_7c2bbfb59bf0fad4bd06-skill{font-size:.8125rem;font-weight:600;letter-spacing:.01em;padding:.3rem .7rem;border-radius:999px;color:var(--theme-color-light);background:rgba(var(--theme-color-light-rgb),.1);border:1px solid rgba(var(--theme-color-light-rgb),.22)}.blog-_7c2bbfb59bf0fad4bd06-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2rem}.blog-_7c2bbfb59bf0fad4bd06-primaryAction,.blog-_7c2bbfb59bf0fad4bd06-secondaryAction{display:inline-flex;align-items:center;gap:.4rem;font-size:.9375rem;font-weight:600;padding:.65rem 1.25rem;border-radius:999px;text-decoration:none;transition:background-color.2s ease,border-color.2s ease,color.2s ease}.blog-_7c2bbfb59bf0fad4bd06-primaryAction{background:var(--theme-color-light);border:1px solid var(--theme-color-light);color:var(--theme-background)}.blog-_7c2bbfb59bf0fad4bd06-primaryAction:hover,.blog-_7c2bbfb59bf0fad4bd06-primaryAction:visited{color:var(--theme-background)}.blog-_7c2bbfb59bf0fad4bd06-primaryAction:hover{background:var(--theme-color-dark);border-color:var(--theme-color-dark)}.blog-_7c2bbfb59bf0fad4bd06-secondaryAction{background:transparent;border:1px solid var(--border-strong);color:var(--theme-color)}.blog-_7c2bbfb59bf0fad4bd06-secondaryAction:visited{color:var(--theme-color)}.blog-_7c2bbfb59bf0fad4bd06-secondaryAction:hover{border-color:var(--theme-color-light);color:var(--theme-color-light);background:rgba(var(--theme-color-light-rgb),.06)}.blog-_7c2bbfb59bf0fad4bd06-socials{display:flex;align-items:center;gap:.25rem;margin-left:.25rem}.blog-_7c2bbfb59bf0fad4bd06-social{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;transition:background-color.2s ease}.blog-_7c2bbfb59bf0fad4bd06-social:hover{background:var(--color-hover-bg)}.blog-_7c2bbfb59bf0fad4bd06-social img{width:20px;height:20px;object-fit:contain}@media(prefers-color-scheme:dark){.blog-_7c2bbfb59bf0fad4bd06-socialInvertOnDark img{filter:brightness(0)invert(1)}}html[data-theme=dark]{.blog-_7c2bbfb59bf0fad4bd06-socialInvertOnDark img{filter:brightness(0)invert(1)}}html[data-theme=light]{.blog-_7c2bbfb59bf0fad4bd06-socialInvertOnDark img{filter:none}}.blog-_7c2bbfb59bf0fad4bd06-forDark{display:none}.blog-_7c2bbfb59bf0fad4bd06-forLight{display:inline-flex}@media(prefers-color-scheme:dark){.blog-_7c2bbfb59bf0fad4bd06-forDark{display:inline-flex}.blog-_7c2bbfb59bf0fad4bd06-forLight{display:none}}html[data-theme=light]{.blog-_7c2bbfb59bf0fad4bd06-forDark{display:none}.blog-_7c2bbfb59bf0fad4bd06-forLight{display:inline-flex}}html[data-theme=dark]{.blog-_7c2bbfb59bf0fad4bd06-forDark{display:inline-flex}.blog-_7c2bbfb59bf0fad4bd06-forLight{display:none}}@media(max-width:900px){.blog-_7c2bbfb59bf0fad4bd06-hero{padding:2.5rem 0 2rem}}@media(max-width:768px){.blog-_7c2bbfb59bf0fad4bd06-hero{width:calc(100% - 2rem)}.blog-_7c2bbfb59bf0fad4bd06-tagline{font-size:1rem;margin-top:1.25rem}.blog-_7c2bbfb59bf0fad4bd06-actions{margin-top:1.5rem}}.blog-_969f99d5ce6a7825c0ef-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem}.blog-_969f99d5ce6a7825c0ef-card{display:flex;flex-direction:column;gap:.5rem;padding:1.125rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color.2s ease,transform.2s ease,box-shadow.2s ease}.blog-_969f99d5ce6a7825c0ef-card:hover{border-color:var(--theme-color-light);transform:translatey(-2px);box-shadow:var(--shadow-md)}.blog-_969f99d5ce6a7825c0ef-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.blog-_969f99d5ce6a7825c0ef-name{font-size:1rem;font-weight:700;line-height:1.4;margin:0;overflow-wrap:anywhere}.blog-_969f99d5ce6a7825c0ef-name a{color:var(--theme-color)}.blog-_969f99d5ce6a7825c0ef-name a:visited{color:var(--theme-color)}.blog-_969f99d5ce6a7825c0ef-card:hover .blog-_969f99d5ce6a7825c0ef-name a{color:var(--theme-color-light)}.blog-_969f99d5ce6a7825c0ef-badge{flex-shrink:0;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;border:1px solid transparent}.blog-_969f99d5ce6a7825c0ef-badgeCreator{color:var(--important-color);border-color:currentColor}.blog-_969f99d5ce6a7825c0ef-badgeContributor{color:var(--text-muted);border-color:var(--border-strong)}.blog-_969f99d5ce6a7825c0ef-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:0;font-size:.8125rem;color:var(--text-muted);font-family:"SF Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,monospace}.blog-_969f99d5ce6a7825c0ef-summary{font-size:.875rem;line-height:1.7;color:var(--text-muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(prefers-reduced-motion:reduce){.blog-_969f99d5ce6a7825c0ef-card{transition:none}.blog-_969f99d5ce6a7825c0ef-card:hover{transform:none}}.blog-d644df1e40ba49b4b255-blogList{display:flex;flex-direction:column}@media(max-width:889px){.blog-_36520448648834ae25c8-postAnchor{top:102px}}.blog-_36520448648834ae25c8-postAnchor a{display:block;color:var(--theme-color);margin:6px 0 6px 6px;text-decoration:none}.blog-_36520448648834ae25c8-postAnchor a :before{content:"##";margin-right:2px;font-size:14px}.blog-_36520448648834ae25c8-postAnchor{position:fixed;top:84px;right:2rem;width:240px;background:var(--item-background);border-radius:.75rem;padding:.75rem;margin:1rem 0;box-shadow:0 2px 4px rgba(0,0,0,5%);border:1px solid rgba(var(--theme-color-light-rgb),.1);transition:all.3s ease;backdrop-filter:blur(8px);background-color:rgba(var(--theme-background-rgb),.85);z-index:1000}.blog-_36520448648834ae25c8-postAnchor[open]{box-shadow:0 4px 8px rgba(0,0,0,8%)}.blog-_36520448648834ae25c8-anchorTitle{font-size:1rem;font-weight:500;color:var(--theme-color);cursor:pointer;padding:.4rem;display:flex;align-items:center;gap:.5rem;transition:color.3s ease;opacity:.8}.blog-_36520448648834ae25c8-anchorTitle:hover{color:var(--theme-color-light);opacity:1}.blog-_36520448648834ae25c8-anchorTitle::marker,.blog-_36520448648834ae25c8-anchorTitle::-webkit-details-marker{color:var(--theme-color-light)}.blog-_36520448648834ae25c8-anchorList{margin-top:.75rem;display:flex;flex-direction:column;gap:.25rem;max-height:calc(100vh - 200px);overflow-y:auto}.blog-_36520448648834ae25c8-anchorList::-webkit-scrollbar{width:4px}.blog-_36520448648834ae25c8-anchorList::-webkit-scrollbar-track{background:transparent}.blog-_36520448648834ae25c8-anchorList::-webkit-scrollbar-thumb{background:var(--theme-color-light);border-radius:2px}.blog-_36520448648834ae25c8-anchorItem{color:var(--theme-color);text-decoration:none;font-size:.9rem;padding:.3rem .6rem;border-radius:.25rem;display:block;transition:all.3s ease;opacity:.7;line-height:1.4}.blog-_36520448648834ae25c8-anchorItem:hover{color:var(--theme-color-light);background:rgba(var(--theme-color-light-rgb),.05);opacity:1}.blog-_36520448648834ae25c8-level1{font-weight:600;padding-left:.6rem}.blog-_36520448648834ae25c8-level2{padding-left:1.8rem;font-size:.85rem}.blog-_36520448648834ae25c8-level3{padding-left:3rem;font-size:.8rem}.blog-_36520448648834ae25c8-level4{padding-left:4.2rem;font-size:.75rem}.blog-_36520448648834ae25c8-level5{padding-left:5.4rem;font-size:.75rem}.blog-_36520448648834ae25c8-level6{padding-left:6.6rem;font-size:.75rem}@media(prefers-reduced-motion:reduce){.blog-_36520448648834ae25c8-postAnchor,.blog-_36520448648834ae25c8-anchorItem{transition:none}}@media(max-width:768px){.blog-_36520448648834ae25c8-postAnchor{width:auto;margin:1rem;padding:.8rem;z-index:1000}.blog-_36520448648834ae25c8-anchorTitle{font-size:1.1rem}.blog-_36520448648834ae25c8-anchorItem{font-size:.9rem;padding:.3rem .6rem}}@keyframes blog-dbe0004bf2918aaea41b-noise-anim-2{0%{clip:rect(62px,9999px,78px,0)}5%{clip:rect(86px,9999px,83px,0)}10%{clip:rect(56px,9999px,93px,0)}15%{clip:rect(22px,9999px,17px,0)}20%{clip:rect(36px,9999px,77px,0)}25%{clip:rect(99px,9999px,50px,0)}30%{clip:rect(48px,9999px,43px,0)}35%{clip:rect(60px,9999px,50px,0)}40%{clip:rect(23px,9999px,91px,0)}45%{clip:rect(9px,9999px,80px,0)}50%{clip:rect(90px,9999px,36px,0)}55%{clip:rect(55px,9999px,33px,0)}60%{clip:rect(34px,9999px,30px,0)}65%{clip:rect(95px,9999px,12px,0)}70%{clip:rect(26px,9999px,42px,0)}75%{clip:rect(50px,9999px,10px,0)}80%{clip:rect(94px,9999px,84px,0)}85%{clip:rect(27px,9999px,94px,0)}90%{clip:rect(77px,9999px,77px,0)}95%{clip:rect(27px,9999px,58px,0)}}@keyframes blog-dbe0004bf2918aaea41b-noise-anim{0%{clip:rect(21px,9999px,40px,0)}5%{clip:rect(99px,9999px,2px,0)}10%{clip:rect(70px,9999px,50px,0)}15%{clip:rect(38px,9999px,26px,0)}20%{clip:rect(1px,9999px,48px,0)}25%{clip:rect(7px,9999px,36px,0)}30%{clip:rect(35px,9999px,63px,0)}35%{clip:rect(21px,9999px,67px,0)}40%{clip:rect(28px,9999px,79px,0)}45%{clip:rect(66px,9999px,37px,0)}50%{clip:rect(60px,9999px,77px,0)}55%{clip:rect(60px,9999px,42px,0)}60%{clip:rect(97px,9999px,47px,0)}65%{clip:rect(54px,9999px,77px,0)}70%{clip:rect(74px,9999px,5px,0)}75%{clip:rect(77px,9999px,83px,0)}80%{clip:rect(65px,9999px,1px,0)}85%{clip:rect(68px,9999px,88px,0)}90%{clip:rect(8px,9999px,95px,0)}95%{clip:rect(97px,9999px,49px,0)}to{clip:rect(21px,9999px,40px,0)}}.blog-dbe0004bf2918aaea41b-snsIcon{width:36px;margin:0 .5rem;transition:transform.2s ease}.blog-dbe0004bf2918aaea41b-snsIcon:hover{transform:translatey(-2px)}.blog-dbe0004bf2918aaea41b-snsIcon img{width:100%;object-fit:contain}.blog-dbe0004bf2918aaea41b-mySnsBox{display:flex;justify-content:center;margin:1.5rem auto 0;max-width:500px}.blog-dbe0004bf2918aaea41b-mail{margin:1.25rem 0 0;text-align:center}.blog-dbe0004bf2918aaea41b-mail a{display:inline-block;font-size:.9375rem;font-weight:600;color:var(--theme-color);text-decoration:none;padding:.55rem 1.25rem;border:1px solid var(--border-strong);border-radius:999px;transition:border-color.2s ease,color.2s ease,background-color.2s ease}.blog-dbe0004bf2918aaea41b-mail a:visited{color:var(--theme-color)}.blog-dbe0004bf2918aaea41b-mail a:hover{border-color:var(--theme-color-light);color:var(--theme-color-light);background:rgba(var(--theme-color-light-rgb),.06)}.blog-dbe0004bf2918aaea41b-word{font-size:1rem;line-height:1.8;max-width:42rem;margin:1.25rem auto 0;text-align:center;color:var(--text-muted)}.blog-dbe0004bf2918aaea41b-hello{font-size:1.125rem;font-weight:600;margin-bottom:.35rem;text-align:center;color:var(--text-muted)}.blog-dbe0004bf2918aaea41b-name{color:var(--important-color);font-weight:800;background:linear-gradient(120deg,var(--theme-color)0%,var(--important-color)100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.blog-dbe0004bf2918aaea41b-jobGlitch{font-size:1.25rem;font-weight:700;letter-spacing:-.015em;position:relative;width:100%;text-align:center;margin:.5rem 0 0;color:var(--theme-color)}.blog-dbe0004bf2918aaea41b-glitch{position:relative;display:inline-block;color:inherit}.blog-dbe0004bf2918aaea41b-glitch:after,.blog-dbe0004bf2918aaea41b-glitch:before{display:flex;align-items:center;height:100%;content:attr(data-text);position:absolute;top:0;color:var(--theme-color);overflow:hidden;clip:rect(0,900px,0,0);white-space:nowrap;opacity:0;pointer-events:none}.blog-dbe0004bf2918aaea41b-glitch:after{left:2px;text-shadow:-1px 0 rgba(255,0,64,.9)}.blog-dbe0004bf2918aaea41b-glitch:before{left:-2px;text-shadow:1px 0 rgba(0,128,255,.9)}.blog-dbe0004bf2918aaea41b-glitch:hover:after{opacity:1;animation:2s infinite linear alternate-reverse blog-dbe0004bf2918aaea41b-noise-anim}.blog-dbe0004bf2918aaea41b-glitch:hover:before{opacity:1;animation:3s infinite linear alternate-reverse blog-dbe0004bf2918aaea41b-noise-anim-2}@media(prefers-reduced-motion:reduce){.blog-dbe0004bf2918aaea41b-glitch:after,.blog-dbe0004bf2918aaea41b-glitch:before{display:none}}.blog-dbe0004bf2918aaea41b-forDark{display:none}.blog-dbe0004bf2918aaea41b-forLight{display:block}@media(prefers-color-scheme:dark){.blog-dbe0004bf2918aaea41b-forDark{display:block}.blog-dbe0004bf2918aaea41b-forLight{display:none}}html[data-theme=light]{.blog-dbe0004bf2918aaea41b-forDark{display:none}.blog-dbe0004bf2918aaea41b-forLight{display:block}}html[data-theme=dark]{.blog-dbe0004bf2918aaea41b-forDark{display:block}.blog-dbe0004bf2918aaea41b-forLight{display:none}}.blog-dbe0004bf2918aaea41b-skillsSection{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1.25rem auto 0;max-width:42rem}.blog-dbe0004bf2918aaea41b-skillTag{font-size:.8125rem;font-weight:600;padding:.3rem .7rem;border-radius:999px;color:var(--theme-color-light);background:rgba(var(--theme-color-light-rgb),.1);border:1px solid rgba(var(--theme-color-light-rgb),.22)}@media(max-width:768px){.blog-dbe0004bf2918aaea41b-hello{font-size:1rem;padding:0 1rem}.blog-dbe0004bf2918aaea41b-name{display:inline-block}.blog-dbe0004bf2918aaea41b-jobGlitch{font-size:1.0625rem;padding:0 1rem}.blog-dbe0004bf2918aaea41b-word{font-size:.9375rem;padding:0 1rem}.blog-dbe0004bf2918aaea41b-skillsSection{padding:0 1rem}}.blog-b6599e31fccdf8e4087e-postContent{width:min(100% - 2rem,46rem);margin:0 auto;padding:0;line-height:1.9;font-size:1.0625rem;color:var(--theme-color)}.blog-b6599e31fccdf8e4087e-postContent p{margin:1.4em 0}.blog-b6599e31fccdf8e4087e-postContent a{color:var(--theme-color-light);text-decoration:none;border-bottom:1px solid rgba(var(--theme-color-light-rgb),.35);transition:border-color.2s ease}.blog-b6599e31fccdf8e4087e-postContent a:hover{border-bottom-color:var(--theme-color-light)}.blog-b6599e31fccdf8e4087e-postContent img{width:100%;height:auto;border-radius:var(--radius-md);margin:2rem auto;display:block;border:1px solid var(--border)}.blog-b6599e31fccdf8e4087e-postContent h1,.blog-b6599e31fccdf8e4087e-postContent h2,.blog-b6599e31fccdf8e4087e-postContent h3,.blog-b6599e31fccdf8e4087e-postContent h4,.blog-b6599e31fccdf8e4087e-postContent h5,.blog-b6599e31fccdf8e4087e-postContent h6{line-height:1.45;font-weight:700;letter-spacing:-.015em;color:var(--theme-color);scroll-margin-top:100px}.blog-b6599e31fccdf8e4087e-postContent h1{font-size:1.875rem;margin:3rem 0 1.25rem;padding-bottom:.4rem;border-bottom:1px solid var(--border)}.blog-b6599e31fccdf8e4087e-postContent h2{font-size:1.5rem;margin:3rem 0 1.25rem;position:relative;padding-left:.85rem}.blog-b6599e31fccdf8e4087e-postContent h2:before{content:"";position:absolute;left:0;top:.28em;width:4px;height:1.05em;background:var(--brand);border-radius:2px}.blog-b6599e31fccdf8e4087e-postContent h3{font-size:1.25rem;margin:2.5rem 0 1rem}.blog-b6599e31fccdf8e4087e-postContent h4{font-size:1.0625rem;margin:2rem 0 .75rem;color:var(--text-muted)}.blog-b6599e31fccdf8e4087e-postContent h5,.blog-b6599e31fccdf8e4087e-postContent h6{font-size:1rem;margin:1.75rem 0 .5rem;color:var(--text-muted)}.blog-b6599e31fccdf8e4087e-postContent pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem 1.25rem;margin:1.75rem 0;overflow-x:auto;font-family:"SF Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem;line-height:1.7;tab-size:2}.blog-b6599e31fccdf8e4087e-postContent pre code{display:block;color:var(--theme-text);background:none;padding:0;border:none;font-size:inherit}.blog-b6599e31fccdf8e4087e-postContent code{font-family:"SF Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,monospace;background:rgba(var(--theme-color-light-rgb),.1);border:1px solid rgba(var(--theme-color-light-rgb),.16);padding:.1em .35em;border-radius:var(--radius-sm);font-size:.875em;overflow-wrap:anywhere}.blog-b6599e31fccdf8e4087e-postContent blockquote{margin:1.75rem 0;padding:.85rem 1.25rem;border-left:3px solid var(--brand);background:var(--surface-2);border-radius:0 var(--radius-md)var(--radius-md)0;color:var(--text-muted)}.blog-b6599e31fccdf8e4087e-postContent blockquote p{margin:.5em 0}.blog-b6599e31fccdf8e4087e-postContent ul,.blog-b6599e31fccdf8e4087e-postContent ol{margin:1.4rem 0;padding-left:1.5rem}.blog-b6599e31fccdf8e4087e-postContent li{margin:.4rem 0}.blog-b6599e31fccdf8e4087e-postContent li::marker{color:var(--text-muted)}.blog-b6599e31fccdf8e4087e-postContent hr{margin:3rem 0;border:none;height:1px;background:var(--border)}.blog-b6599e31fccdf8e4087e-postContent table{width:100%;min-width:32rem;margin:0;border-collapse:collapse;background:var(--item-background);font-size:.9375rem;border:none}.blog-b6599e31fccdf8e4087e-postContent table th{padding:.75rem 1rem;background:var(--surface-2);font-weight:700;font-size:.875rem;color:var(--theme-color);border-bottom:2px solid var(--border-strong);border-right:1px solid var(--border);text-align:left;white-space:nowrap}.blog-b6599e31fccdf8e4087e-postContent table th:last-child{border-right:none}.blog-b6599e31fccdf8e4087e-postContent table td{padding:.7rem 1rem;border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:var(--item-background);transition:background-color.15s ease;vertical-align:top;color:var(--theme-color);white-space:nowrap}.blog-b6599e31fccdf8e4087e-postContent table td:last-child{border-right:none}.blog-b6599e31fccdf8e4087e-postContent table tr:last-child td{border-bottom:none}.blog-b6599e31fccdf8e4087e-postContent table tr:hover td{background:var(--color-hover-bg)}.blog-b6599e31fccdf8e4087e-postContent .table-container{overflow-x:auto;overflow-y:hidden;margin:2rem 0;border-radius:var(--radius-md);-webkit-overflow-scrolling:touch;background:var(--item-background);border:1px solid var(--border)}.blog-b6599e31fccdf8e4087e-postContent .table-container::-webkit-scrollbar{height:8px}.blog-b6599e31fccdf8e4087e-postContent .table-container::-webkit-scrollbar-track{background:var(--surface-2);border-radius:4px}.blog-b6599e31fccdf8e4087e-postContent .table-container::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.blog-b6599e31fccdf8e4087e-postContent .table-container::-webkit-scrollbar-thumb{background:var(--text-muted)}.blog-b6599e31fccdf8e4087e-profile{width:min(100% - 2rem,46rem);margin:4rem auto 0;padding-top:2.5rem;border-top:1px solid var(--border)}@media(max-width:768px){.blog-b6599e31fccdf8e4087e-postContent{font-size:1rem;line-height:1.85}.blog-b6599e31fccdf8e4087e-postContent h1{font-size:1.625rem}.blog-b6599e31fccdf8e4087e-postContent h2{font-size:1.375rem}.blog-b6599e31fccdf8e4087e-postContent h3{font-size:1.125rem}.blog-b6599e31fccdf8e4087e-postContent h4{font-size:1rem}.blog-b6599e31fccdf8e4087e-postContent pre{padding:.9rem 1rem;font-size:.8125rem}.blog-b6599e31fccdf8e4087e-postContent table{min-width:36rem;font-size:.875rem}.blog-b6599e31fccdf8e4087e-postContent table th{padding:.6rem .75rem;font-size:.8125rem}.blog-b6599e31fccdf8e4087e-postContent table td{padding:.55rem .75rem}.blog-b6599e31fccdf8e4087e-postContent .table-container{margin:1.5rem 0;position:relative}.blog-b6599e31fccdf8e4087e-postContent .table-container:after{content:"← スクロールできます";position:absolute;top:.5rem;right:.5rem;font-size:.75rem;color:var(--text-muted);pointer-events:none}}@media(prefers-reduced-motion:reduce){.blog-b6599e31fccdf8e4087e-postContent a,.blog-b6599e31fccdf8e4087e-postContent table td{transition:none}}.blog-_39cb105ca73401da9174-tagContainer{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.blog-_39cb105ca73401da9174-tagItem{display:inline-flex;align-items:center;gap:.15rem;padding:.2rem .6rem;background:rgba(var(--theme-color-light-rgb),.09);border:1px solid rgba(var(--theme-color-light-rgb),.2);border-radius:999px;font-size:.8125rem;font-weight:500;line-height:1.5;color:var(--theme-color-light);user-select:none}.blog-_39cb105ca73401da9174-tagIcon{font-size:.8125rem;color:var(--theme-color-light);opacity:.6}@media(max-width:768px){.blog-_39cb105ca73401da9174-tagContainer{gap:.35rem}.blog-_39cb105ca73401da9174-tagItem{padding:.15rem .5rem;font-size:.75rem}}.blog-_42b63ae249d50a6b5ee0-postMetaInfoContainer{width:min(100% - 2rem,46rem);margin:0 auto 2.5rem;padding:2.5rem 0 1.5rem;border-bottom:1px solid var(--border);position:relative}.blog-_42b63ae249d50a6b5ee0-postMetaInfoContainer:after{content:"";position:absolute;bottom:-1px;left:0;width:72px;height:2px;background:var(--brand);border-radius:1px}.blog-_42b63ae249d50a6b5ee0-postTitle{font-size:2.25rem;line-height:1.3;font-weight:800;letter-spacing:-.025em;margin:0 0 1.25rem;color:var(--theme-color);overflow-wrap:anywhere}.blog-_42b63ae249d50a6b5ee0-metaSection{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.blog-_42b63ae249d50a6b5ee0-publishDate{display:inline-flex;align-items:center;gap:.4rem;font-family:"SF Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem;color:var(--text-muted);padding:0;background:none}.blog-_42b63ae249d50a6b5ee0-publishDateIcon{display:none}@media(max-width:768px){.blog-_42b63ae249d50a6b5ee0-postMetaInfoContainer{padding:1.75rem 0 1.25rem;margin-bottom:1.75rem}.blog-_42b63ae249d50a6b5ee0-postTitle{font-size:1.75rem;margin-bottom:1rem}}.blog-ba94464dc9e172310de7-divider{position:relative;width:100%;height:1px;margin:2rem 0;background:linear-gradient(90deg,transparent 0%,var(--theme-color-light)20%,var(--theme-color)50%,var(--theme-color-light)80%,transparent 100%);border-radius:1px;overflow:hidden;border-style:none}.blog-ba94464dc9e172310de7-divider:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3)50%,transparent 100%);animation:blog-ba94464dc9e172310de7-shimmer 3s ease-in-out infinite}@keyframes blog-ba94464dc9e172310de7-shimmer{0%{left:-100%}50%{left:100%}to{left:100%}}.blog-ba94464dc9e172310de7-divider.blog-ba94464dc9e172310de7-subtle{background:linear-gradient(90deg,transparent 0%,rgba(var(--theme-text-rgb),.1)20%,rgba(var(--theme-text-rgb),.2)50%,rgba(var(--theme-text-rgb),.1)80%,transparent 100%)}.blog-ba94464dc9e172310de7-divider.blog-ba94464dc9e172310de7-bold{height:2px;background:linear-gradient(90deg,var(--theme-color-light)0%,var(--theme-color)20%,var(--theme-color-dark)50%,var(--theme-color)80%,var(--theme-color-light)100%);box-shadow:0 0 8px rgba(var(--theme-color-rgb),.3)}.blog-ba94464dc9e172310de7-divider.blog-ba94464dc9e172310de7-dotted{background:none;height:1px}.blog-ba94464dc9e172310de7-divider.blog-ba94464dc9e172310de7-dotted:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:var(--theme-color);border-radius:50%;box-shadow:-24px 0 0 var(--theme-color-light),-12px 0 0 var(--theme-color),12px 0 0 var(--theme-color),24px 0 0 var(--theme-color-light)}@media(prefers-reduced-motion:reduce){.blog-ba94464dc9e172310de7-divider:before{animation:none}}.blog-efa4fd972e1ef027999b-itemHomeAnchor{color:var(--theme-color);display:inline-block;font-size:32px;text-align:center;font-weight:700}.blog-efa4fd972e1ef027999b-home{min-width:300px;width:80%;max-width:750px;margin:12px auto}.blog-efa4fd972e1ef027999b-home .blog-efa4fd972e1ef027999b-date{padding:16px 6px;font-size:18px}.blog-efa4fd972e1ef027999b-home .blog-efa4fd972e1ef027999b-readMoreAnchor{margin:16px 0;position:absolute;right:24px;font-size:20px;color:var(--theme-color)}.blog-efa4fd972e1ef027999b-home .blog-efa4fd972e1ef027999b-readMore{position:relative;margin:4px 0;height:64px}.blog-efa4fd972e1ef027999b-home .blog-efa4fd972e1ef027999b-ogp{width:100%;margin:12px 0;height:fit-content}.blog-b06584355f39a1078d52-title{font-size:1.5rem;font-weight:700;letter-spacing:-.015em;line-height:1.25;margin-bottom:2rem;padding-bottom:.75rem;color:var(--theme-color);display:block;position:relative;border-bottom:1px solid var(--border)}.blog-b06584355f39a1078d52-title:after{content:"";position:absolute;bottom:-1px;left:0;width:72px;height:2px;background:var(--brand);border-radius:1px}.blog-b06584355f39a1078d52-lists{list-style:none;padding:0;margin:0}.blog-b06584355f39a1078d52-lists li:first-child{border-top:none}.blog-b06584355f39a1078d52-lists li:last-child{border-bottom:none}.blog-b06584355f39a1078d52-lists li{margin-bottom:1rem;padding:1rem 0;background:transparent;border-radius:0;box-shadow:none;transition:background-color.3s ease;border-bottom:1px solid rgba(0,0,0,8%)}.blog-b06584355f39a1078d52-lists li:hover{background-color:rgba(0,0,0,2%)}.blog-b06584355f39a1078d52-lists h3{font-size:1.25rem;color:var(--theme-color);margin:0 0 .5rem;font-weight:600}.blog-b06584355f39a1078d52-lists p{margin:.25rem 0;color:var(--theme-color);line-height:1.6;font-size:.95rem}.blog-b06584355f39a1078d52-lists details div{margin-top:.8rem}.blog-b06584355f39a1078d52-lists details div p{margin:.6rem 0;color:var(--theme-color);line-height:1.7;font-size:.95rem}.blog-b06584355f39a1078d52-lists details div ul{margin:.5rem 0;padding-left:1.2rem}.blog-b06584355f39a1078d52-lists details div ul li{margin:.3rem 0;padding:0;border:none!important;background:none!important;color:var(--theme-color);font-size:.9rem;line-height:1.6}.blog-b06584355f39a1078d52-metadataLabel{font-weight:600;color:#777;font-size:.85rem;margin-right:.5rem;position:relative}.blog-b06584355f39a1078d52-metadataLabel:after{content:":";margin-left:.1rem}.blog-b06584355f39a1078d52-metadataValue{color:var(--theme-color);font-weight:400}.blog-b06584355f39a1078d52-technologiesContainer{display:inline-flex;flex-wrap:wrap;gap:.5rem;margin-left:.5rem}.blog-b06584355f39a1078d52-technologyTag{background:rgba(0,0,0,5%);color:#666;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:400;border:1px solid rgba(0,0,0,.1)}.blog-_45affa4315e68c2a0783-title{font-size:1.5rem;font-weight:700;letter-spacing:-.015em;line-height:1.25;margin-bottom:2rem;padding-bottom:.75rem;color:var(--theme-color);display:block;position:relative;border-bottom:1px solid var(--border)}.blog-_45affa4315e68c2a0783-title:after{content:"";position:absolute;bottom:-1px;left:0;width:72px;height:2px;background:var(--brand);border-radius:1px}.blog-_45affa4315e68c2a0783-lists{list-style:none;padding:0;margin:0}.blog-_45affa4315e68c2a0783-lists li:first-child{border-top:none}.blog-_45affa4315e68c2a0783-lists li:last-child{border-bottom:none}.blog-_45affa4315e68c2a0783-lists li{margin-bottom:1rem;padding:1rem 0;background:transparent;border-radius:0;box-shadow:none;transition:background-color.3s ease;border-bottom:1px solid rgba(0,0,0,8%)}.blog-_45affa4315e68c2a0783-lists li:hover{background-color:rgba(0,0,0,2%)}.blog-_45affa4315e68c2a0783-heading{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;font-size:1.25rem;margin:0 0 .5rem;font-weight:600}.blog-_45affa4315e68c2a0783-repoLink{color:var(--theme-color);text-decoration:none;transition:color.2s ease}.blog-_45affa4315e68c2a0783-repoLink:hover{color:#0969da;text-decoration:underline}.blog-_45affa4315e68c2a0783-badge{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;letter-spacing:.02em;line-height:1.4}.blog-_45affa4315e68c2a0783-badgeCreator{background:rgba(9,105,218,.12);color:#0969da;border:1px solid rgba(9,105,218,.25)}.blog-_45affa4315e68c2a0783-badgeContributor{background:rgba(0,0,0,5%);color:#666;border:1px solid rgba(0,0,0,.12)}.blog-_45affa4315e68c2a0783-metaRow{display:flex;flex-wrap:wrap;gap:.75rem;margin:.25rem 0;color:var(--theme-color);font-size:.9rem}.blog-_45affa4315e68c2a0783-metaValue{color:#777;font-weight:500}.blog-_45affa4315e68c2a0783-lists p{margin:.25rem 0;color:var(--theme-color);line-height:1.6;font-size:.95rem}.blog-_45affa4315e68c2a0783-technologiesContainer{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0!important}.blog-_45affa4315e68c2a0783-technologyTag{background:rgba(0,0,0,5%);color:#666;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:400;border:1px solid rgba(0,0,0,.1)}.blog-_45affa4315e68c2a0783-highlightsLabel{font-weight:600;color:#777;font-size:.85rem;display:block;margin:.6rem 0 .3rem}.blog-_45affa4315e68c2a0783-highlightsList{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.blog-_45affa4315e68c2a0783-highlightItem{margin:0!important;border:none!important;padding:0!important;background:transparent!important}.blog-_45affa4315e68c2a0783-highlightLink{color:#0969da;text-decoration:none;font-size:.85rem;line-height:1.4;display:block;padding:.15rem 0;transition:color.2s ease}.blog-_45affa4315e68c2a0783-highlightLink:hover{text-decoration:underline;color:#0860ca}.blog-b81853952918fe4fab30-title{font-size:1.5rem;font-weight:700;letter-spacing:-.015em;line-height:1.25;margin-bottom:2rem;padding-bottom:.75rem;color:var(--theme-color);display:block;position:relative;border-bottom:1px solid var(--border)}.blog-b81853952918fe4fab30-title:after{content:"";position:absolute;bottom:-1px;left:0;width:72px;height:2px;background:var(--brand);border-radius:1px}.blog-b81853952918fe4fab30-lists{list-style:none;padding:0;margin:0}.blog-b81853952918fe4fab30-lists li:first-child{border-top:none}.blog-b81853952918fe4fab30-lists li:last-child{border-bottom:none}.blog-b81853952918fe4fab30-lists li{margin-bottom:1rem;padding:1rem 0;background:transparent;border-radius:0;box-shadow:none;transition:background-color.3s ease;border-bottom:1px solid rgba(0,0,0,8%)}.blog-b81853952918fe4fab30-lists li:hover{background-color:rgba(0,0,0,2%)}.blog-b81853952918fe4fab30-lists h3{font-size:1.25rem;color:var(--theme-color);margin:0 0 .5rem;font-weight:600}.blog-b81853952918fe4fab30-lists p{margin:.25rem 0;color:var(--theme-color);line-height:1.6;font-size:.95rem}.blog-b81853952918fe4fab30-lists details div{margin-top:.8rem}.blog-b81853952918fe4fab30-lists details div p{margin:.6rem 0;color:var(--theme-color);line-height:1.7;font-size:.95rem}.blog-b81853952918fe4fab30-lists details div ul{margin:.5rem 0;padding-left:1.2rem}.blog-b81853952918fe4fab30-lists details div ul li{margin:.3rem 0;padding:0;border:none!important;background:none!important;color:var(--theme-color);font-size:.9rem;line-height:1.6}.blog-b81853952918fe4fab30-metadataLabel{font-weight:600;color:#777;font-size:.85rem;margin-right:.5rem;position:relative}.blog-b81853952918fe4fab30-metadataLabel:after{content:":";margin-left:.1rem}.blog-b81853952918fe4fab30-metadataValue{color:var(--theme-color);font-weight:400}.blog-b81853952918fe4fab30-technologiesContainer{display:inline-flex;flex-wrap:wrap;gap:.5rem;margin-left:.5rem}.blog-b81853952918fe4fab30-technologyTag{background:rgba(0,0,0,5%);color:#666;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:400;border:1px solid rgba(0,0,0,.1)}.blog-b81853952918fe4fab30-entriesList{list-style:none;padding:0;margin:.25rem 0 0;display:flex;flex-direction:column;gap:.25rem}.blog-b81853952918fe4fab30-entryItem{margin:0!important;border:none!important;padding:0!important;background:transparent!important}.blog-b81853952918fe4fab30-entryLink{color:#0969da;text-decoration:none;font-size:.85rem;line-height:1.3;display:block;padding:.15rem 0;transition:color.2s ease}.blog-b81853952918fe4fab30-entryLink:hover{text-decoration:underline;color:#0860ca}.blog-_9c2608c5bbd9773d31a8-profile{max-width:800px;margin:0 auto;padding:2rem}.blog-_9c2608c5bbd9773d31a8-profile>div{display:flex;flex-direction:column;gap:2rem}.blog-_9c2608c5bbd9773d31a8-title{font-size:1.5rem;font-weight:700;letter-spacing:-.015em;line-height:1.25;margin-bottom:2rem;padding-bottom:.75rem;color:var(--theme-color);display:block;position:relative;border-bottom:1px solid var(--border)}.blog-_9c2608c5bbd9773d31a8-title:after{content:"";position:absolute;bottom:-1px;left:0;width:72px;height:2px;background:var(--brand);border-radius:1px}.blog-_9c2608c5bbd9773d31a8-lists{list-style:none;padding:0;margin:0}.blog-_9c2608c5bbd9773d31a8-lists li:first-child{border-top:none}.blog-_9c2608c5bbd9773d31a8-lists li:last-child{border-bottom:none}.blog-_9c2608c5bbd9773d31a8-lists li{margin-bottom:1rem;padding:1rem 0;background:transparent;border-radius:0;box-shadow:none;transition:background-color.3s ease;border-bottom:1px solid rgba(0,0,0,8%)}.blog-_9c2608c5bbd9773d31a8-lists li:hover{background-color:rgba(0,0,0,2%)}.blog-_9c2608c5bbd9773d31a8-lists h3{font-size:1.25rem;color:var(--theme-color);margin:0 0 .5rem;font-weight:600}.blog-_9c2608c5bbd9773d31a8-lists p{margin:.25rem 0;color:var(--theme-color);line-height:1.6;font-size:.95rem}.blog-_9c2608c5bbd9773d31a8-lists details div{margin-top:.8rem}.blog-_9c2608c5bbd9773d31a8-lists details div p{margin:.6rem 0;color:var(--theme-color);line-height:1.7;font-size:.95rem}.blog-_9c2608c5bbd9773d31a8-lists details div ul{margin:.5rem 0;padding-left:1.2rem}.blog-_9c2608c5bbd9773d31a8-lists details div ul li{margin:.3rem 0;padding:0;border:none!important;background:none!important;color:var(--theme-color);font-size:.9rem;line-height:1.6}.blog-_9c2608c5bbd9773d31a8-lists p{color:var(--theme-color);font-size:.85rem;font-family:"SF Mono","Fira Code",monospace}.blog-_9c2608c5bbd9773d31a8-metadataLabel{font-weight:600;color:#777;font-size:.85rem;margin-right:.5rem;position:relative}.blog-_9c2608c5bbd9773d31a8-metadataLabel:after{content:":";margin-left:.1rem}.blog-_9c2608c5bbd9773d31a8-metadataValue{color:var(--theme-color);font-weight:400}.blog-_9c2608c5bbd9773d31a8-technologiesContainer{display:inline-flex;flex-wrap:wrap;gap:.5rem;margin-left:.5rem}.blog-_9c2608c5bbd9773d31a8-technologyTag{background:rgba(0,0,0,5%);color:#666;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:400;border:1px solid rgba(0,0,0,.1)}.blog-_9c2608c5bbd9773d31a8-entriesList{list-style:none;padding:0;margin:.25rem 0 0;display:flex;flex-direction:column;gap:.25rem}.blog-_9c2608c5bbd9773d31a8-entryItem{margin:0!important;border:none!important;padding:0!important;background:transparent!important}.blog-_9c2608c5bbd9773d31a8-entryLink{color:#0969da;text-decoration:none;font-size:.85rem;line-height:1.3;display:block;padding:.15rem 0;transition:color.2s ease}.blog-_9c2608c5bbd9773d31a8-entryLink:hover{text-decoration:underline;color:#0860ca}.blog-_9c2608c5bbd9773d31a8-description{margin:0}.blog-_9c2608c5bbd9773d31a8-description>div:last-child{margin-top:1.5rem}.blog-_9c2608c5bbd9773d31a8-description p{font-size:1.05rem;line-height:1.8;color:var(--theme-color);margin:1.4rem 0;text-align:justify;font-weight:400;letter-spacing:.02em;position:relative;padding-left:1.2rem}.blog-_9c2608c5bbd9773d31a8-description p:first-child:first-letter{font-size:1.4em;font-weight:600;color:var(--theme-color-light);float:left;line-height:1;margin:.1em .1em 0 0}.blog-_9c2608c5bbd9773d31a8-description p:first-child{margin-top:0}.blog-_9c2608c5bbd9773d31a8-description p:last-child{margin-bottom:0}.blog-_9c2608c5bbd9773d31a8-content{line-height:1.8;color:var(--text-secondary)}.blog-_9c2608c5bbd9773d31a8-interests{margin:0}.blog-_9c2608c5bbd9773d31a8-interests .blog-_9c2608c5bbd9773d31a8-content{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-start}.blog-_9c2608c5bbd9773d31a8-interests .blog-_9c2608c5bbd9773d31a8-content>*{flex:0 0 calc(20% - .8rem);min-width:120px}:root{--text-primary:#2d3748;--text-secondary:#4a5568;--text-tertiary:#718096;--card-background:#ffffff;--border-color:#4a5568;--shadow-color:rgba(0, 0, 0, 0.1);--shadow-color-hover:rgba(0, 0, 0, 0.15)}@media(prefers-color-scheme:dark){:root{--text-primary:#e2e8f0;--text-secondary:#cbd5e0;--text-tertiary:#a0aec0;--card-background:#2d3748;--border-color:#718096;--shadow-color:rgba(0, 0, 0, 0.3);--shadow-color-hover:rgba(0, 0, 0, 0.4)}.blog-_9c2608c5bbd9773d31a8-metadataLabel{color:#cbd5e0}.blog-_9c2608c5bbd9773d31a8-metadataValue{color:#e2e8f0}.blog-_9c2608c5bbd9773d31a8-technologyTag{background:rgba(255,255,255,.12);color:#e2e8f0;border:1px solid rgba(255,255,255,.2)}.blog-_9c2608c5bbd9773d31a8-lists li{border-bottom:1px solid rgba(255,255,255,.1)}.blog-_9c2608c5bbd9773d31a8-lists li:first-child{border-top:1px solid rgba(255,255,255,.1)}.blog-_9c2608c5bbd9773d31a8-lists li:hover{background-color:rgba(255,255,255,5%)}.blog-_9c2608c5bbd9773d31a8-entryLink{color:#58a6ff}.blog-_9c2608c5bbd9773d31a8-entryLink:hover{color:#79c0ff}}html[data-theme=dark]{:root{--text-primary:#e2e8f0;--text-secondary:#cbd5e0;--text-tertiary:#a0aec0;--card-background:#2d3748;--border-color:#718096;--shadow-color:rgba(0, 0, 0, 0.3);--shadow-color-hover:rgba(0, 0, 0, 0.4)}.blog-_9c2608c5bbd9773d31a8-metadataLabel{color:#cbd5e0}.blog-_9c2608c5bbd9773d31a8-metadataValue{color:#e2e8f0}.blog-_9c2608c5bbd9773d31a8-technologyTag{background:rgba(255,255,255,.12);color:#e2e8f0;border:1px solid rgba(255,255,255,.2)}.blog-_9c2608c5bbd9773d31a8-lists li{border-bottom:1px solid rgba(255,255,255,.1)}.blog-_9c2608c5bbd9773d31a8-lists li:first-child{border-top:1px solid rgba(255,255,255,.1)}.blog-_9c2608c5bbd9773d31a8-lists li:hover{background-color:rgba(255,255,255,5%)}.blog-_9c2608c5bbd9773d31a8-entryLink{color:#58a6ff}.blog-_9c2608c5bbd9773d31a8-entryLink:hover{color:#79c0ff}}html[data-theme=light]{:root{--text-primary:#2d3748;--text-secondary:#4a5568;--text-tertiary:#718096;--card-background:#ffffff;--border-color:#4a5568;--shadow-color:rgba(0, 0, 0, 0.1);--shadow-color-hover:rgba(0, 0, 0, 0.15)}.blog-_9c2608c5bbd9773d31a8-metadataLabel{font-weight:600;color:#777;font-size:.85rem;margin-right:.5rem;position:relative}.blog-_9c2608c5bbd9773d31a8-metadataValue{color:var(--theme-color);font-weight:400}.blog-_9c2608c5bbd9773d31a8-technologyTag{background:rgba(0,0,0,5%);color:#666;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:400;border:1px solid rgba(0,0,0,.1)}}@media(max-width:768px){.blog-_9c2608c5bbd9773d31a8-profile{padding:1rem}.blog-_9c2608c5bbd9773d31a8-profile>div{gap:1.5rem}.blog-_9c2608c5bbd9773d31a8-title{font-size:1.5rem}.blog-_9c2608c5bbd9773d31a8-lists li{padding:1rem 0}.blog-_9c2608c5bbd9773d31a8-lists h3{font-size:1.1rem}.blog-_9c2608c5bbd9773d31a8-interests .blog-_9c2608c5bbd9773d31a8-content>*{flex:0 0 calc(33.33% - .67rem)}}@media(max-width:480px){.blog-_9c2608c5bbd9773d31a8-interests .blog-_9c2608c5bbd9773d31a8-content>*{flex:0 0 calc(50% - .5rem)}}.blog-bf8aaa8c7a2d3b95c519-viewer{height:100%;display:flex;flex-direction:column;max-width:1200px;margin:0 auto;padding:0 20px}.blog-bf8aaa8c7a2d3b95c519-title{position:absolute;top:20px;left:20px;font-size:1rem;font-weight:400;color:var(--text-secondary);opacity:.7;z-index:10;pointer-events:none}.blog-bf8aaa8c7a2d3b95c519-slideContainer{position:relative;background:var(--card-background);border:1px solid var(--border-color);border-radius:12px;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;margin-bottom:0;min-height:400px;max-width:100%;box-sizing:border-box}.blog-bf8aaa8c7a2d3b95c519-slide{position:absolute;inset:0;padding:48px;opacity:0;visibility:hidden;transition:opacity.3s ease,visibility.3s ease;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow-y:auto;overflow-x:hidden;max-width:900px;margin:0 auto;width:100%;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}.blog-bf8aaa8c7a2d3b95c519-slide.blog-bf8aaa8c7a2d3b95c519-active{opacity:1;visibility:visible}.blog-bf8aaa8c7a2d3b95c519-slide>:first-child{margin-top:0}.blog-bf8aaa8c7a2d3b95c519-slide>:last-child{margin-bottom:0}.blog-bf8aaa8c7a2d3b95c519-slide *{max-width:100%;box-sizing:border-box}.blog-bf8aaa8c7a2d3b95c519-slide p,.blog-bf8aaa8c7a2d3b95c519-slide h1,.blog-bf8aaa8c7a2d3b95c519-slide h2,.blog-bf8aaa8c7a2d3b95c519-slide h3,.blog-bf8aaa8c7a2d3b95c519-slide h4,.blog-bf8aaa8c7a2d3b95c519-slide h5,.blog-bf8aaa8c7a2d3b95c519-slide h6,.blog-bf8aaa8c7a2d3b95c519-slide div,.blog-bf8aaa8c7a2d3b95c519-slide span{word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}.blog-bf8aaa8c7a2d3b95c519-slide img,.blog-bf8aaa8c7a2d3b95c519-slide video,.blog-bf8aaa8c7a2d3b95c519-slide iframe{max-width:100%;height:auto}.blog-bf8aaa8c7a2d3b95c519-slide pre,.blog-bf8aaa8c7a2d3b95c519-slide code{max-width:100%;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.blog-bf8aaa8c7a2d3b95c519-slide table{max-width:100%;table-layout:fixed;overflow-x:auto;display:block;white-space:nowrap}.blog-bf8aaa8c7a2d3b95c519-slide ul,.blog-bf8aaa8c7a2d3b95c519-slide ol{max-width:100%;overflow-wrap:break-word}.blog-bf8aaa8c7a2d3b95c519-slide a{word-break:break-all;overflow-wrap:break-word}.blog-bf8aaa8c7a2d3b95c519-slide blockquote{max-width:100%;overflow-wrap:break-word;word-wrap:break-word}.blog-bf8aaa8c7a2d3b95c519-navigation{display:flex;justify-content:center;align-items:center;padding:8px 20px;flex-shrink:0;background:var(--card-background);border-top:1px solid var(--border-color)}.blog-bf8aaa8c7a2d3b95c519-slideIndicator{display:flex;justify-content:center;gap:8px;font-size:.9rem;color:var(--text-secondary)}.blog-bf8aaa8c7a2d3b95c519-progressBar{height:4px;background:var(--border-color);overflow:hidden;flex-shrink:0}.blog-bf8aaa8c7a2d3b95c519-progress{height:100%;background:var(--theme-color);transition:width.3s ease}@media(max-width:768px){.blog-bf8aaa8c7a2d3b95c519-viewer{padding:0 12px}.blog-bf8aaa8c7a2d3b95c519-title{font-size:.9rem;top:15px;left:15px}.blog-bf8aaa8c7a2d3b95c519-slide{padding:20px;justify-content:flex-start;padding-top:60px;word-break:break-word}.blog-bf8aaa8c7a2d3b95c519-navigation{padding:6px 12px}}@media(max-width:480px){.blog-bf8aaa8c7a2d3b95c519-viewer{padding:0 8px}.blog-bf8aaa8c7a2d3b95c519-title{font-size:.85rem;top:12px;left:12px}.blog-bf8aaa8c7a2d3b95c519-slide{padding:16px;padding-top:50px;text-align:left;word-break:break-word}.blog-bf8aaa8c7a2d3b95c519-slideContainer{border-radius:8px;min-height:300px}.blog-bf8aaa8c7a2d3b95c519-navigation{padding:4px 8px}.blog-bf8aaa8c7a2d3b95c519-slideIndicator{font-size:.8rem}}@media(max-width:320px){.blog-bf8aaa8c7a2d3b95c519-slide{padding:12px;padding-top:45px;word-break:break-word}.blog-bf8aaa8c7a2d3b95c519-slideContainer{min-height:250px}.blog-bf8aaa8c7a2d3b95c519-title{font-size:.8rem;top:10px;left:10px}}.blog-af0ad0af4e8fccc5cf81-container{min-height:calc(100vh - 156px);display:flex;flex-direction:column;padding:0}.blog-af0ad0af4e8fccc5cf81-backLink{display:inline-flex;align-items:center;gap:8px;color:var(--theme-color);text-decoration:none;font-size:.9rem;padding:16px 20px;transition:color.2s ease;flex-shrink:0}.blog-af0ad0af4e8fccc5cf81-backLink:hover{color:var(--theme-color-light)}.blog-af0ad0af4e8fccc5cf81-content{flex:1;overflow:hidden}@media(max-width:768px){.blog-af0ad0af4e8fccc5cf81-content{overflow:visible}}@media(max-width:889px){.blog-af0ad0af4e8fccc5cf81-container{min-height:calc(100vh - 186px)}.blog-af0ad0af4e8fccc5cf81-backLink{padding:12px 16px}}@media(max-width:480px){.blog-af0ad0af4e8fccc5cf81-container{min-height:calc(100vh - 162px)}.blog-af0ad0af4e8fccc5cf81-backLink{padding:8px 12px;font-size:.85rem}}.blog-f83173d7a634dca80577-card{border:1px solid var(--border-color);border-radius:8px;padding:16px;background:var(--card-background);transition:transform.2s ease,box-shadow.2s ease;text-decoration:none;color:inherit;display:block;box-shadow:0 2px 8px var(--shadow-color)}.blog-f83173d7a634dca80577-card:hover{transform:translatey(-2px);box-shadow:0 4px 12px var(--shadow-color-hover)}.blog-f83173d7a634dca80577-title{font-size:1.1rem;font-weight:600;margin:0 0 8px;line-height:1.3;color:var(--text-primary)}.blog-f83173d7a634dca80577-description{font-size:.9rem;color:var(--text-secondary);margin:0 0 12px;line-height:1.4}.blog-f83173d7a634dca80577-meta{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-secondary)}.blog-f83173d7a634dca80577-publishedAt{margin:0}.blog-f83173d7a634dca80577-slideCount{background:var(--theme-color);color:white;padding:2px 8px;border-radius:12px;font-size:.75rem}.blog-f83173d7a634dca80577-tags{display:flex;gap:6px;margin-top:8px}.blog-f83173d7a634dca80577-tag{background:rgba(0,0,0,5%);color:#666;padding:2px 6px;border-radius:4px;font-size:.7rem}.blog-_28cbf97d431eb0fd81b5-container{max-width:1200px;margin:0 auto;padding:2rem}.blog-_28cbf97d431eb0fd81b5-header{text-align:center;margin-bottom:4rem}.blog-_28cbf97d431eb0fd81b5-title{font-size:3rem;font-weight:700;margin:0 0 1rem;color:var(--text-primary);line-height:1.2}.blog-_28cbf97d431eb0fd81b5-description{font-size:1.2rem;color:var(--text-secondary);margin:0;line-height:1.5}.blog-_28cbf97d431eb0fd81b5-fleetGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-bottom:4rem}.blog-_28cbf97d431eb0fd81b5-emptyState{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.blog-_28cbf97d431eb0fd81b5-emptyState h3{font-size:1.5rem;margin:0 0 1rem;color:var(--text-primary)}.blog-_28cbf97d431eb0fd81b5-emptyState p{font-size:1rem;margin:0;line-height:1.5}@media(max-width:768px){.blog-_28cbf97d431eb0fd81b5-container{padding:1rem}.blog-_28cbf97d431eb0fd81b5-title{font-size:2.5rem}.blog-_28cbf97d431eb0fd81b5-description{font-size:1rem}.blog-_28cbf97d431eb0fd81b5-fleetGrid{grid-template-columns:1fr;gap:1.5rem}.blog-_28cbf97d431eb0fd81b5-header{margin-bottom:3rem}}
/*# sourceMappingURL=client.beac2e3f8c95417e9709.css.map*/