@media (prefers-color-scheme: dark){:root{--color-label: #ffffff;--color-secondary-label: rgba(235, 235, 245, 0.6);--color-tertiary-label: rgba(235, 235, 245, 0.3);--color-tint: #0a84ff;--color-separator: rgba(84, 84, 88, 0.65);--bg-primary: #1c1c1e;--bg-secondary: #000000;--bg-tertiary: #2c2c2e;--header-bg: rgba(28, 28, 30, 0.72);--theme-color: #ffffff;--bg-color: #000000;--color-a-link: #0a84ff;--color-a-link-hover: #409cff;--h-color: #ffffff;--color-note: #0a84ff;--color-tip: #30d158;--color-warning: #ff9f0a;--color-severe: #ff6b35;--color-caution: #ff453a;--color-important: #bf5af2;}}main :where(article.blog-article, .box), header.blog-header{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}@media (max-width: 48rem){.disappear{display:none}}header.blog-header{display:flex;position:fixed;z-index:100;top:0;width:100%;height:var(--header-height);justify-content:space-between;align-items:center;background:var(--header-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);transition:top 0.35s cubic-bezier(0.32, 0.72, 0, 1);border-bottom:0.5px solid var(--color-separator);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}header.blog-header :where(a){padding-inline-start:12px;color:var(--color-label)}:is(header.blog-header :where(a)) > img{width:calc(var(--header-height) - 12px);height:calc(var(--header-height) - 12px);border-radius:50%;cursor:pointer;transition:transform 0.5s ease-in-out;-o-object-fit:cover;object-fit:cover}:is(:is(header.blog-header :where(a)) > img):hover{transform:rotate(360deg)}header.blog-header .header-nav{display:flex;height:100%}:is(header.blog-header .header-nav) :where(a){flex:1 1 auto;height:var(--header-height);line-height:var(--header-height);text-align:center;padding:0 16px;font-size:15px;font-weight:400;color:var(--color-tint);min-width:44px;transition:opacity 0.15s ease}:is(:is(header.blog-header .header-nav) :where(a)):hover{opacity:0.7}@media (min-width: 480px){header.blog-header #switch-icon{display:none}}@media (max-width: 480px){header.blog-header{justify-content:space-between}header.blog-header #switch-icon{padding:0 16px;font-size:18px;color:var(--color-tint);min-width:44px;min-height:44px;display:flex;align-items:center;cursor:pointer}header.blog-header a{font-size:18px;padding-inline-end:16px}header.blog-header .wrap-background{position:fixed;top:var(--header-height);width:100%;background:var(--bg-primary);height:0;overflow:hidden;transition:height 0.3s ease-out;border-bottom:0.5px solid var(--color-separator)}header.blog-header .header-nav{display:flex;flex-direction:column;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}:is(header.blog-header .header-nav) :where(a){border-bottom:0.5px solid var(--color-separator);padding:0 20px}header.blog-header .wrap-background.show{height:auto;height:calc-size(auto, size)}}main.blog-main{margin-block-end:24px}main.blog-main :not(:where(h2,h3,h4,h5,h6)) a[href^='http']{overflow-wrap:break-word;width:100%}main.blog-main .tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;background:rgba(0, 122, 255, 0.1);color:var(--color-tint);padding:4px 12px;margin-block:3px;border-radius:999px;transition:background 0.15s ease}:is(main.blog-main .tag):nth-child(n + 2){margin-inline-start:4px}:is(main.blog-main .tag):hover{background:rgba(0, 122, 255, 0.2)}main.blog-main .tag-count{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;background:rgba(0, 122, 255, 0.2);border-radius:999px;padding:1px 6px;line-height:1.4}main.blog-main .tag-post-list{display:flex;flex-direction:column;gap:2px}main.blog-main .tag-post-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 8px;border-radius:8px;color:var(--color-label);text-decoration:none;transition:background 0.15s ease, transform 0.15s ease}:is(main.blog-main .tag-post-item):hover{background:rgba(0, 122, 255, 0.05);transform:translateX(2px)}:is(main.blog-main .tag-post-item)::before{display:none}main.blog-main .tag-post-title{font-size:15px;line-height:1.4;flex:1;min-width:0;overflow-wrap:anywhere}main.blog-main .tag-post-date{font-size:13px;color:var(--color-secondary-label);white-space:nowrap;flex-shrink:0}main.blog-main .pages{display:flex;justify-content:space-between;align-items:center;margin-block-start:32px}@media (min-width: 48rem){main.blog-main :where(.box,article.blog-article){width:var(--page-width)}}@media (min-width: 480px){main.blog-main{display:flex;flex-direction:column;align-items:center}}article.blog-article a{color:var(--color-tint)}:is(article.blog-article a):hover{opacity:0.8}.js-has-pseudo [csstools-has-2p-36-38-2x-2r-30-2t-1m-2w-2p-37-14-1a-32-33-38-19-2u-33-39-32-2s-15]:not(does-not-exist){display:flex;align-items:center;justify-content:center}article:has(.not-found){display:flex;align-items:center;justify-content:center}main :where(article.blog-article, .box){background:var(--bg-primary);padding:20px;margin-inline:16px;margin-block-start:12px;border-radius:16px;border:0.5px solid var(--color-separator);box-shadow:0 2px 8px rgba(0, 0, 0, 0.10), 0 1px 3px rgba(0, 0, 0, 0.06)}section.box{cursor:default;transition:transform 0.15s ease, box-shadow 0.15s ease}section.box:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06)}section.box h3{font-size:17px;font-weight:600;margin-bottom:6px;margin-top:0}section.box p{font-size:15px;color:var(--color-secondary-label);margin-block:8px;line-height:1.5}section.box a{color:var(--color-label)}.post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:13px;color:var(--color-secondary-label);margin-block:4px}.post-meta-flex-around{justify-content:space-around}.post-author{font-weight:500;margin-inline-end:4px;color:var(--color-secondary-label);cursor:pointer}.post-time{margin-inline:4px;color:var(--color-secondary-label)}.post-update-time{margin-inline-start:4px;color:var(--color-secondary-label)}.archive-timeline{--archive-blue: var(--color-tint);--archive-green: #34c759;--archive-orange: #ff9500;position:relative;margin-block:28px 4px;padding-inline-start:18px}.archive-timeline::before{content:'';position:absolute;inset-block:8px 14px;inset-inline-start:18px;width:2px;border-radius:999px;background:linear-gradient(180deg, var(--archive-blue), var(--archive-green) 48%, var(--archive-orange));opacity:0.75}.archive-year{position:relative;padding-block-end:28px}.archive-year:last-child{padding-block-end:0}.archive-year-head{position:relative;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;min-height:36px;margin-inline-start:24px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none}.archive-year-head::-webkit-details-marker{display:none}.archive-year-chevron{font-size:12px;color:var(--color-tertiary-label);margin-inline-start:auto;transition:transform 0.2s cubic-bezier(0.32, 0.72, 0, 1)}details[open]>summary .archive-year-chevron{transform:rotate(90deg)}.archive-year-node{position:absolute;inset-block-start:50%;inset-inline-start:-30px;width:10px;height:10px;border-radius:50%;background:var(--archive-blue);border:2px solid var(--bg-primary);box-shadow:0 0 0 1px var(--color-separator), 0 0 0 4px rgba(0, 122, 255, 0.10);transform:translateY(-50%)}.archive-year-title{margin:0;text-align:start;font-size:24px;line-height:1;letter-spacing:0}.archive-year-count, .archive-month-count{color:var(--color-secondary-label);font-size:13px;white-space:nowrap}.archive-months{display:grid;grid-gap:16px;gap:16px;margin:10px 0 0 30px;padding:0;list-style:none}.archive-month{position:relative;padding-inline-start:18px}.archive-month::before{content:'';position:absolute;inset-block-start:18px;inset-inline-start:-29px;width:33px;height:1px;background:var(--color-separator)}.archive-month::after{content:'';position:absolute;inset-block-start:15px;inset-inline-start:1px;width:6px;height:6px;border-radius:50%;background:var(--archive-green);box-shadow:0 0 0 3px rgba(52, 199, 89, 0.13)}.archive-month-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-block:4px 8px;border-bottom:0.5px solid var(--color-separator)}.archive-month-title{color:var(--color-label);font-size:15px;font-weight:700}.archive-posts{margin:0;padding:2px 0 0;list-style:none}.archive-post{border-bottom:0.5px solid var(--color-separator)}.archive-post:last-child{border-bottom:none}.archive-post-link{display:grid;grid-template-columns:56px minmax(0, 1fr);align-items:start;grid-gap:12px;gap:12px;margin-inline:-8px;padding:10px 8px;border-radius:8px;transition:background 0.15s ease, transform 0.15s ease}.archive-post-link:hover{background:rgba(0, 122, 255, 0.08);transform:translateX(2px)}.archive-post-day{color:var(--archive-orange);font-size:12px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.7}.archive-post-title{color:var(--color-label);font-size:15px;line-height:1.55;overflow-wrap:anywhere}@media (max-width: 480px){.archive-timeline{margin-block-start:22px;padding-inline-start:12px}.archive-timeline::before{inset-inline-start:12px}.archive-year{padding-block-end:24px}.archive-year-head{margin-inline-start:20px}.archive-year-node{inset-inline-start:-25.5px;width:9px;height:9px}.archive-year-title{font-size:22px}.archive-months{gap:14px;margin-inline-start:22px}.archive-month{padding-inline-start:14px}.archive-month::before{inset-inline-start:-21px;width:25px}.archive-month-head{align-items:flex-start;flex-direction:column;gap:2px}.archive-post-link{grid-template-columns:48px minmax(0, 1fr);gap:8px;margin-inline:-6px;padding-inline:6px}}.giscus{width:var(--page-width);margin:0 auto;margin-block-end:32px}@media (max-width: 480px){.giscus{width:calc(100% - 32px);padding-inline:0}}.router{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 16px;background:rgba(0, 122, 255, 0.1);color:var(--color-tint);border-radius:10px;font-size:17px;font-weight:500;transition:background 0.15s ease, transform 0.1s ease}.router:hover{background:rgba(0, 122, 255, 0.2)}.router:active{transform:scale(0.97);opacity:0.8}footer.blog-footer{border-top:0.5px solid var(--color-separator);background:var(--header-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding-block:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}footer.blog-footer .footer-container{margin:0 auto;padding:8px 16px;font-size:13px;color:var(--color-secondary-label)}footer.blog-footer .footer-container a{color:var(--color-tint)}footer div.footer-icons-container{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:4px}:is(footer div.footer-icons-container) a.icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;transition:background 0.15s ease}:is(:is(footer div.footer-icons-container) a.icon):hover{background:rgba(0, 122, 255, 0.1)}:is(:is(footer div.footer-icons-container) a.icon) i{font-size:20px;color:var(--color-tint)!important}main.about-main{display:flex;justify-content:center;padding:24px 16px 48px}.about-container{display:flex;flex-direction:column;width:100%;max-width:var(--max-about-width);gap:20px}.about-profile{display:flex;align-items:center;gap:24px;background:var(--bg-primary);border-radius:20px;padding:28px;box-shadow:0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06)}.about-avatar{width:88px;height:88px;border-radius:50%;flex-shrink:0;-o-object-fit:cover;object-fit:cover}.about-profile-info{display:flex;flex-direction:column;gap:6px}.about-name{font-size:28px;font-weight:700;line-height:1.1;margin:0}.about-tagline{font-size:15px;color:var(--color-secondary-label);margin:0}.about-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.about-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-secondary-label);background:var(--bg-secondary);border-radius:999px;padding:4px 10px}.about-quote{background:var(--bg-primary);border-radius:16px;padding:20px 24px;box-shadow:0 1px 3px rgba(0, 0, 0, 0.08)}.about-quote blockquote{margin:0;font-size:15px;font-style:italic;color:var(--color-secondary-label);border:none;padding:0}:is(.about-quote blockquote) cite{display:block;margin-top:8px;font-size:13px;font-style:normal;color:var(--color-tertiary-label)}.about-section{background:var(--bg-primary);border-radius:16px;padding:20px 24px;box-shadow:0 1px 3px rgba(0, 0, 0, 0.08)}.about-section-title{font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--color-tertiary-label);margin:0 0 16px}.skill-category{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.skill-category:last-child{margin-bottom:0}.skill-category-label{font-size:12px;color:var(--color-tertiary-label);white-space:nowrap;min-width:120px;flex-shrink:0}.skill-group{display:flex;flex-wrap:wrap;gap:6px}.skill-pill{display:inline-block;font-size:13px;font-weight:500;background:var(--bg-secondary);color:var(--color-label);border-radius:999px;padding:4px 12px}.skill-pill-accent{background:rgba(0, 122, 255, 0.1);color:var(--color-tint)}.projects-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.project-card{position:relative;display:flex;align-items:flex-start;gap:14px;background:var(--bg-secondary);border-radius:12px;padding:16px 8px 16px;text-decoration:none;color:var(--color-label);transition:transform 0.2s ease, box-shadow 0.2s ease}.project-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.1)}.project-card::before{display:none}.project-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:rgba(0, 122, 255, 0.1);color:var(--color-tint);font-size:18px;flex-shrink:0}.project-card-body{flex:1;min-width:0}.project-card-title{font-size:15px;font-weight:600;margin:0 0 4px;line-height:1.3}.project-card-desc{font-size:13px;color:var(--color-secondary-label);margin:0;line-height:1.4}.project-card-link-icon{font-size:11px;color:var(--color-tertiary-label);flex-shrink:0;margin-top:2px}@media (max-width: 48rem){.about-profile{flex-direction:column;text-align:center;align-items:center}.about-chips{justify-content:center}.skill-category{flex-direction:column;gap:6px}.skill-category-label{min-width:0;min-width:initial}.projects-grid{grid-template-columns:1fr}}.sponsor-container{display:flex;justify-content:center;margin-block:24px}.sponsor-btn{cursor:pointer;padding:12px 24px;font-size:17px;font-weight:600;color:var(--color-tint);background:rgba(0, 122, 255, 0.12);border:none;border-radius:14px;font-family:inherit;transition:background 0.15s ease, transform 0.1s ease}.sponsor-btn:hover{background:rgba(0, 122, 255, 0.2)}.sponsor-btn:active{transform:scale(0.97);opacity:0.8}.sponsor-btn::before{display:none}
