:root{--font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;--font-mono:SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace;--text-sm:clamp(0.8rem,   0.76rem + 0.18vw, 0.875rem);--text-base:clamp(1rem,     0.96rem + 0.18vw, 1.0625rem);--text-md:clamp(1.125rem, 1.05rem + 0.36vw, 1.25rem);--text-lg:clamp(1.35rem,  1.22rem + 0.6vw,  1.5625rem);--text-xl:clamp(1.6rem,   1.38rem + 1vw,    1.953rem);--text-2xl:clamp(1.8rem,   1.5rem  + 1.4vw,  2.441rem);--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.2;--leading-snug:1.4;--leading-normal:1.75;--leading-relaxed:1.5;--tracking-tight:-0.01em;--tracking-normal:0.008em;--tracking-wide:0.02em;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--color-text:#404040;--color-text-strong:#111;--color-text-muted:#757575;--color-text-faint:#888;--color-link:#545dae;--color-border:#eee;--color-surface:#f2f2f2}.markdown-image{text-align:center}.markdown-image img{cursor:pointer;transition:opacity .2s ease}.markdown-image img:hover{opacity:.9}.responsive-image img{cursor:pointer;transition:opacity .2s ease}.responsive-image img:hover{opacity:.9}.lightbox-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.9);z-index:9999;cursor:pointer;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}.lightbox-overlay.active{display:flex;opacity:1}.lightbox-overlay img{max-width:95vw;max-height:95vh;object-fit:contain;box-shadow:0 0 30px rgba(0,0,0,.5);cursor:pointer}body.lightbox-active{overflow:hidden}html[theme=dark-mode]{filter:invert(1)hue-rotate(180deg)}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal)}a{text-decoration:none;color:var(--color-link)}a:hover{color:var(--color-text-strong);text-decoration:underline}figure{margin:0}blockquote{margin-top:5px;margin-bottom:5px;padding-left:1em;margin-left:0;border-left:3px solid var(--color-border);color:var(--color-text-muted)}hr{display:block;border:none;height:2px;margin:var(--space-xl)auto;background:var(--color-border)}.content table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;margin:var(--space-xl)0;border-collapse:collapse;line-height:var(--leading-relaxed)}th,td{text-align:left;padding-right:20px;vertical-align:top}table td,td{border-spacing:none;border-style:solid;padding:10px 15px;border-width:1px 0 0}thead th,th{text-align:left;padding:10px 15px;height:20px;font-size:var(--text-sm);font-weight:var(--weight-bold);color:#444;cursor:default;white-space:nowrap;border:1px solid #dadadc}tr>td{border:1px solid #dadadc}tr:nth-child(odd)>td{background:#fcfcfc}h1,h2,h3,h4{font-family:var(--font-body);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0}p{margin-block-start:0;margin-block-end:var(--space-lg)}p,pre{word-break:normal;overflow-wrap:anywhere}.markdown-image img{max-width:100%}.anchor{font-size:100%;visibility:hidden;color:silver}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}pre{font-size:var(--text-sm);line-height:var(--leading-relaxed);-webkit-text-size-adjust:100%;text-size-adjust:100%}.highlight pre{padding:7px;overflow-x:auto}.highlight{max-width:100%;overflow-x:auto}p code{font-family:var(--font-mono);font-size:.88em;background-color:rgba(0,0,0,6%);padding:.1em .3em;border:1px solid rgba(0,0,0,8%);border-radius:2px;line-height:inherit;word-wrap:break-word;text-indent:0}pre code{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-relaxed)}nav.navigation{padding:var(--space-md)var(--space-md)0;background:rgba(255,255,255,.9);margin:0 auto;text-align:right;z-index:100}nav.navigation a{padding:var(--space-sm);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);line-height:var(--leading-snug);border-radius:3px}nav.navigation a:hover{color:var(--color-text-strong)}nav.navigation a.button{background:var(--color-text);color:#fff;margin-left:var(--space-sm)}@media(max-width:700px){nav.navigation{padding:var(--space-md)var(--space-sm)0 0}nav.navigation a{padding:var(--space-sm)}}@media(max-width:324px){nav.navigation a.button{display:none}}.toc{margin:auto;background:#f8f8f8;border-radius:0;padding:10px 7px;margin-top:var(--space-xl)}.toc details summary{cursor:zoom-in;margin-inline-start:14px;font-weight:var(--weight-medium)}.toc details[open] summary{cursor:zoom-out}.toc #TableOfContents{margin-left:10px}.toc ul{padding-inline-start:24px}#comment{margin-top:var(--space-2xl)}#footer{margin-top:var(--space-2xl);margin-bottom:var(--space-2xl);text-align:center;color:var(--color-text-faint);font-size:var(--text-sm)}#footer .copyright{margin:var(--space-md)auto;font-size:var(--text-sm)}.powerby{margin:var(--space-md)auto;font-size:var(--text-sm)}#footer .split{cursor:pointer}#footer .split:hover path{fill:#ff3356;transition:.7s ease-out;cursor:pointer}#social a{margin:0 4px}.main{width:100%;margin:0 auto}.profile{margin:var(--space-2xl)auto;text-align:center}.profile .avatar{display:inline-block;width:110px;height:auto;border-radius:50%}.profile h1{font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:var(--tracking-normal);color:var(--color-text);margin-bottom:var(--space-xs)}.profile h2{font-weight:var(--weight-light);font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-xl)}#list-page{max-width:680px;margin:0 auto;padding:0 var(--space-lg)}.post-card{display:grid;grid-template-columns:200px 1fr;grid-template-rows:auto 1fr;grid-template-areas:"image date" "image body";column-gap:var(--space-lg);row-gap:var(--space-xs);align-items:start;padding:var(--space-lg)0;border-bottom:1px solid var(--color-border);text-decoration:none;color:inherit;transition:opacity .15s ease}.post-card:hover{text-decoration:none;opacity:.85}.post-card:first-child{padding-top:0}.post-card:last-of-type{border-bottom:none}.post-card__image{grid-area:image;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;background:var(--color-surface)}.post-card__date{grid-area:date;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-faint);letter-spacing:var(--tracking-wide);align-self:end}.post-card__body{grid-area:body;display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.post-card__title{font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--color-text-strong);margin:0}.post-card:hover .post-card__title{color:var(--color-link)}.post-card__description{font-size:var(--text-base);color:var(--color-text-muted);line-height:var(--leading-normal);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:540px){#list-page{padding:0 var(--space-md)}.post-card{grid-template-columns:1fr;grid-template-areas:"image" "body" "date";row-gap:0;column-gap:0;padding:var(--space-lg)0}.post-card__image{aspect-ratio:16/9;border-radius:8px}.post-card__date{align-self:unset;text-align:right;margin-top:var(--space-sm)}.post-card__body{margin-top:var(--space-sm)}.post-card__title{font-size:var(--text-base)}.post-card__description{font-size:var(--text-sm);-webkit-line-clamp:3;line-height:var(--leading-snug)}}#list-page .pagination{margin:var(--space-xl)0;display:flex;justify-content:space-between}#list-page .pagination .prev{margin-right:auto}#list-page .pagination .next{margin-left:auto}#single{max-width:680px;margin:var(--space-2xl)auto 0;padding:0 var(--space-2xl)}#single .title{text-align:center;font-size:var(--text-2xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}@media(max-width:700px){#single{padding:0 var(--space-md);margin:var(--space-md)auto 0}}#single .tip{text-align:center;color:var(--color-text-faint);margin-top:var(--space-md);font-size:var(--text-sm)}#single .tip .split{margin:0 4px}#single .content{margin-top:var(--space-xl)}#single .content h2{font-size:var(--text-xl);margin-top:var(--space-xl);margin-bottom:var(--space-md)}#single .content h3{font-size:var(--text-lg);margin-top:var(--space-lg);margin-bottom:var(--space-sm)}#single .content h4{font-size:var(--text-md);margin-top:var(--space-lg);margin-bottom:var(--space-sm)}#single .tags{margin-top:var(--space-lg)}#single .tags a{background:var(--color-surface);padding:4px 7px;color:var(--color-text-muted);font-size:var(--text-sm);margin-right:3px}#single .tags a:hover{color:var(--color-text-strong)}#archive{max-width:580px;margin:0 auto;padding:0 var(--space-lg)}#archive .total{font-size:var(--text-sm)}#archive .group{margin:var(--space-lg)auto}#archive .group .key{font-size:var(--text-md);margin-bottom:var(--space-sm)}#archive .group .value{display:block;font-size:var(--text-base);margin-bottom:var(--space-sm)}#archive .group .value .date{display:inline-block;color:#999;min-width:60px}#archive .group .value .title{display:inline}#archive .group .value .title a{color:var(--color-text)}#archive .group .value .title a:hover{color:var(--color-text-strong)}#archive .group .value .tags{display:inline;margin-left:7px}#archive .group .value .tags a{background:var(--color-surface);padding:4px 7px;color:#999;font-size:var(--text-sm);margin-right:3px}#archive .group .value .tags a:hover{color:var(--color-text-strong)}#tags{max-width:700px;margin:var(--space-xl)auto 0;padding:0 var(--space-sm);text-align:center}#tags .tag{display:inline-block;margin:7px}@media(max-width:700px){#tags{margin:0 auto}#tags .tag{display:inline-block;margin:4px 5px}}#tags .tag a{background:var(--color-surface);padding:4px 7px;color:var(--color-text);font-size:var(--text-sm);margin-right:3px}#tags .tag a:hover{color:var(--color-text-strong)}#section{max-width:580px;margin:var(--space-xl)auto 0;padding:0 var(--space-sm)}#page-404{max-width:580px;margin:0 auto;padding:0 var(--space-lg)}#page-404 .item{margin:var(--space-sm)0 0}#page-404 .title{display:inline-block;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-regular);margin:0;width:80%}#page-404 .text{text-align:center;margin-top:var(--space-2xl)}#page-404 .read-more{font-weight:var(--weight-light);font-size:var(--text-md);margin-top:var(--space-xl);margin-bottom:var(--space-sm)}#page-404 .date{width:20%;float:right;text-align:right;position:relative;top:1px;color:#bbb}.video{max-width:100%;border-radius:8px;margin:var(--space-lg)0}