:root{--bg:#fff;--bg-weak:#f6f6f5;--bg-hover:#f3f3f1;--bg-active:#eceae7;--sidebar-bg:#fafafa;--toolbar-bg:#373737;--text:#3d3d3b;--text-strong:#252524;--text-light:#777771;--text-mute:#85857f;--text-faint:#92928c;--divider:#eeedea;--divider-strong:#deddd8;--overlay:#1e1c2259;--accent:#8c5843;--accent-text:#734735;--accent-soft:#f3e8df;--link:var(--accent);--green:#79a184;--weekly-bg:#f7f3ea;--weekly-text:#82745a;--content-max-width:880px;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--radius-xl:18px;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--serif:"Iowan Old Style", "Palatino Linotype", "Songti SC", "STSong", "Noto Serif CJK SC", "SimSun", serif;--font-xs:.75rem;--font-sm:.8125rem;--font-ui:.875rem;--font-body:1rem;--font-lg:1.125rem;--font-xl:1.375rem;--font-title:2rem;--leading-ui:1.6;--leading-body:1.9;--leading-heading:1.5;color-scheme:light}html.dark{--bg:#222;--bg-weak:#2b2b2a;--bg-hover:#30302e;--bg-active:#363633;--sidebar-bg:#252525;--toolbar-bg:#303030;--text:#d1d0cb;--text-strong:#efeee8;--text-light:#aaa9a1;--text-mute:#9e9d96;--text-faint:#929189;--divider:#353532;--divider-strong:#44443f;--overlay:#0a0a0ca6;--accent:#dbb49c;--accent-text:#e6c5b0;--accent-soft:#493a31;--green:#96b39a;--weekly-bg:#343027;--weekly-text:#cdbfa4;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;height:100%;font-size:16px;overflow:hidden}body{background:var(--bg);height:100dvh;color:var(--text);font:var(--font-body)/var(--leading-ui) var(--sans);word-break:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;flex-direction:column;padding:0;display:flex;overflow:hidden}img{vertical-align:bottom;max-width:100%;height:auto}a{color:inherit;text-decoration-color:var(--text-faint);text-underline-offset:4px}a,button{transition:color .15s,background-color .15s,border-color .15s}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent-soft);color:var(--accent-text)}[hidden]{display:none!important}.site-icon{vertical-align:middle;flex-shrink:0;display:inline-block}.skip-link{z-index:10000;border:1px solid var(--divider-strong);border-radius:var(--radius-md);background:var(--bg);color:var(--accent);padding:8px 12px;position:fixed;top:-100px;left:24px}.skip-link:focus{top:8px}.site-shell{background:var(--bg);flex:1;width:100%;min-height:0;margin:0;overflow:hidden}.site-main{flex-direction:column;min-width:0;height:100%;display:flex;position:relative;overflow:hidden}.site-topbar{background:var(--toolbar-bg);color:#b4b4b4;flex-shrink:0;justify-content:space-between;align-items:center;height:39px;padding:0 21px;display:flex;position:relative}.window-controls{align-items:center;gap:9px;display:flex}.window-controls span{background:#ff5f57;border-radius:50%;width:11px;height:11px}.window-controls span:nth-child(2){background:#febc2e}.window-controls span:nth-child(3){background:#28c840}.window-caption{max-width:55%;font:11px/1.4 var(--mono);letter-spacing:.2px;white-space:nowrap;align-items:center;gap:9px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.window-caption a{color:#a8a8a8;text-decoration:none}.window-caption>span{color:#939393}.window-current{text-overflow:ellipsis;overflow:hidden}.topbar-actions{align-items:center;gap:9px;display:flex}.icon-button,.theme-toggle{color:#b4b4b4;background:0 0;border:0;border-radius:4px;place-items:center;width:23px;height:27px;padding:0;display:grid}.icon-button:hover,.theme-toggle:hover{color:#fff;background:#ffffff15}.theme-toggle .icon-sun,.theme-toggle .icon-moon{display:none}html.dark .theme-toggle .icon-sun,html.light .theme-toggle .icon-moon{display:block}.site-content{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--divider-strong) transparent;flex:1;min-width:0;min-height:0;padding:39px clamp(28px,9.5vw,122px) 25px;overflow-y:scroll}.site-content:focus{outline:none}.content-inner{flex-direction:column;width:100%;max-width:630px;min-height:100%;margin:0 auto;display:flex}.page-body{min-width:0}.site-heading{flex-shrink:0;margin-bottom:42px}.site-name{font-family:var(--serif);letter-spacing:1px;color:var(--text-strong);font-size:2.125rem;font-weight:500;line-height:1.35}.site-name a{text-decoration:none}.site-navigation{font-size:var(--font-sm);flex-wrap:wrap;align-items:center;gap:10px 26px;margin-top:22px;display:flex}.site-nav-link{color:var(--text-mute);text-decoration:none}.site-nav-link:hover,.site-nav-link.active{color:var(--text-strong)}.site-navigation>.site-nav-link.active{text-decoration:underline;text-decoration-color:var(--divider-strong);text-underline-offset:7px}.more-navigation{position:relative}.more-navigation summary{cursor:pointer;color:var(--text-mute);align-items:center;gap:5px;list-style:none;display:flex}.more-navigation summary::-webkit-details-marker{display:none}.more-navigation summary .site-icon{transform:rotate(90deg)}.more-navigation summary.active,.more-navigation summary:hover,.more-navigation[open] summary{color:var(--text-strong)}.more-navigation[open] summary .site-icon{transform:rotate(-90deg)}.more-navigation-menu{z-index:10;border:1px solid var(--divider);border-radius:var(--radius-md);background:var(--bg);width:140px;padding:7px;display:grid;position:absolute;top:calc(100% + 13px);right:-16px;box-shadow:0 8px 30px #0000000d}.more-navigation-menu a{border-radius:3px;padding:8px 12px}.more-navigation-menu a:hover{background:var(--bg-hover)}.site-footer{color:var(--text-faint);font-size:var(--font-xs);flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:auto;padding-top:60px;line-height:1.85;display:flex}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--text-strong)}.site-footer-links{white-space:nowrap;gap:21px;padding-bottom:2px;display:flex}body.fullscreen-page{background:var(--bg);padding:0}.fullscreen-page .site-shell{max-width:none;box-shadow:none;border-radius:0}.fullscreen-page .site-content,.fullscreen-page .content-inner,.fullscreen-page .page-body{width:100%;max-width:none;height:100%;padding:0}@media (width>=1500px){.site-content{padding-top:48px;padding-bottom:32px}.site-heading{margin-bottom:65px}}@media (width<=680px){.site-topbar{height:36px;padding:0 15px}.window-controls{gap:7px}.window-controls span{width:9px;height:9px}.window-caption{max-width:42%;font-size:10px}.window-caption>span{display:none}.topbar-actions{gap:5px}.site-content{padding:32px 15px 23px}.site-heading{margin-bottom:43px}.site-name{font-size:1.875rem}.site-navigation{gap:12px 20px;margin-top:20px}.site-footer{flex-wrap:wrap;gap:16px;padding-top:66px}.site-footer-links{gap:18px}}@media (width<=380px){.site-navigation{column-gap:16px}}h1,h2,h3,h4,h5,h6{color:var(--text-strong);font-weight:600}h1{font-size:var(--font-title);font-weight:600;line-height:var(--leading-heading);overflow-wrap:anywhere}h2{font-size:var(--font-body);font-weight:600;line-height:var(--leading-heading)}.content-header{margin-bottom:36px;padding:0}.content-title{font-family:var(--serif);font-size:var(--font-title);font-weight:500;line-height:var(--leading-heading);color:var(--text-strong);overflow-wrap:anywhere}.content-subtitle{font-family:var(--mono);font-size:var(--font-sm);line-height:var(--leading-ui);color:var(--text-faint);font-variant-numeric:tabular-nums;margin-top:4px;font-weight:400}.content-back{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-mute);justify-content:center;align-items:center;margin:0 0 8px -6px;transition:background-color .15s,color .15s;display:inline-flex}.content-back:hover{background:var(--bg-hover);color:var(--text)}.year-group{margin-bottom:42px}.year-group:last-child{margin-bottom:0}.year-title{color:var(--text-faint);font:400 var(--font-sm)/1.6 var(--mono);font-variant-numeric:tabular-nums;margin:0 0 14px}.post-rows{margin:0;padding:0;list-style:none}.post-row a{justify-content:space-between;align-items:baseline;gap:30px;min-height:40px;padding:7px 0;text-decoration:none;display:flex}.post-row-title{min-width:0;font-size:var(--font-body);text-overflow:ellipsis;white-space:nowrap;line-height:1.65;overflow:hidden}.post-row-date{color:var(--text-light);font:.8125rem/1.65 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.4px;white-space:nowrap;flex-shrink:0}.post-row a:hover .post-row-title{color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent-soft);text-underline-offset:5px}.tweets-feed{flex-direction:column;display:flex}.relative-time{font-family:var(--mono);font-size:var(--font-sm);line-height:var(--leading-ui);color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap}@media (width<=680px){.post-row a{gap:16px;padding:9px 0}.post-row-title{white-space:normal;overflow-wrap:anywhere;font-size:.9375rem}.post-row-date{letter-spacing:0;font-size:.6875rem}.year-group{margin-bottom:34px}}@media (width<=420px){.post-row a{flex-direction:column;gap:3px;padding:10px 0}.post-row-date{font-size:.75rem}}.tweet-card{border-bottom:1px solid var(--divider);align-items:flex-start;gap:12px;padding:16px 0;display:flex}.tweet-avatar{flex-shrink:0}.tweet-avatar img{object-fit:cover;border-radius:50%;width:36px;height:36px}.tweet-body{flex:1;min-width:0}.tweet-body a{text-decoration:none}.tweet-header{font-size:var(--font-sm);line-height:var(--leading-ui);color:var(--text-faint);align-items:baseline;gap:6px;margin-bottom:4px;display:flex}.tweet-author{color:var(--text);font-size:var(--font-body);font-weight:600}.tweet-handle,.tweet-time{font-family:var(--mono);color:var(--text-faint);font-variant-numeric:tabular-nums}.tweet-time:before{content:"·";margin:0 4px}.tweet-content{margin:0}.tweet-title{font-size:var(--font-body);color:var(--text);overflow-wrap:anywhere;margin:0 0 4px;font-weight:400;line-height:24px}.tweet-summary{font-size:var(--font-ui);line-height:var(--leading-body);color:var(--text-light);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tweet-tags{flex-wrap:wrap;gap:4px 12px;margin-top:6px;display:flex}.tweet-tag{font-family:var(--mono);font-size:var(--font-xs);line-height:var(--leading-ui);color:var(--text-faint);text-decoration:none}.tweet-tag:hover{color:var(--text)}.tweet-tag:before{content:"#";color:var(--text-faint)}.tweet-media{border:1px solid var(--divider);border-radius:var(--radius-md);margin-top:10px;overflow:hidden}.tweet-media img{width:100%;height:auto;display:block}.tweet-actions{max-width:380px;color:var(--text-faint);justify-content:space-between;margin-top:10px;display:flex}.project-icon img{aspect-ratio:3/2;border-radius:var(--radius-md);object-fit:cover;width:150px}.project-icon-placeholder{border-radius:var(--radius-md);background:var(--bg-weak);width:48px;height:48px;color:var(--text-faint);justify-content:center;align-items:center;display:flex}.post-detail{padding:0}.post-detail-header{border-bottom:1px solid var(--divider);margin-bottom:24px;padding:0 0 20px}.post-detail-meta{display:none}.post-detail-title{font-family:var(--serif);font-size:1.7rem;font-weight:500;line-height:var(--leading-heading);color:var(--text-strong);overflow-wrap:anywhere;margin:0 0 18px}.post-detail-time,.post-detail-time .relative-time{font-family:var(--sans);font-size:var(--font-sm);line-height:var(--leading-ui);color:var(--text-light);font-variant-numeric:tabular-nums}.post-detail-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:12px 0 0;display:flex}.post-detail-meta-row .tweet-tags{margin-top:0}.post-detail-stats{font-family:var(--mono);font-size:var(--font-xs);color:var(--text-faint);font-variant-numeric:tabular-nums;gap:16px;display:flex}.post-detail-stats span{align-items:center;gap:4px;display:flex}.post-detail-stats strong{color:var(--text);font-weight:600}.post-detail-stats a.post-detail-stat-link{color:inherit;align-items:center;gap:4px;text-decoration:none;display:flex}.post-detail-stats a.post-detail-stat-link:hover{color:var(--text)}.post-detail-content,.page-content{font-size:var(--font-body);line-height:var(--leading-body);color:var(--text);overflow-wrap:anywhere;min-width:0;padding:0 0 40px}.post-detail-content>:first-child,.page-content>:first-child{margin-top:0}.post-detail-content .summary{color:var(--text-light);font-size:inherit;line-height:inherit;margin:0 0 1.5em;padding:0}.post-detail-content p,.page-content p{margin:20px 0}.post-detail-content img,.page-content img{border-radius:var(--radius-lg);max-width:100%;height:auto;margin:24px 0;display:block}.post-detail-content a,.page-content a,.shuoshuo-content a,.projects-container a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--text-faint);text-underline-offset:3px}.post-detail-content a:hover,.page-content a:hover,.shuoshuo-content a:hover{text-decoration-color:currentColor}.post-detail-content strong,.page-content strong{color:var(--text);font-weight:600}.post-detail-content em,.page-content em{color:var(--text-light)}.post-detail-content ol,.post-detail-content ul,.page-content ol,.page-content ul{margin:20px 0;padding-left:24px}.post-detail-content li,.page-content li{margin:.4em 0}.post-detail-content li::marker,.page-content li::marker{color:var(--text-faint)}.post-detail-content blockquote,.page-content blockquote{border-left:2px solid var(--divider-strong);color:var(--text-light);background:0 0;margin:24px 0;padding:0 0 0 16px;font-style:italic}.post-detail-content blockquote p,.page-content blockquote p{margin:0 0 .6em}.post-detail-content blockquote p:last-child,.page-content blockquote p:last-child{margin-bottom:0}.post-detail-content table,.page-content table{border-collapse:separate;border-spacing:0;border:1px solid var(--divider);border-radius:var(--radius-md);width:max-content;max-width:100%;font-size:var(--font-ui);font-variant-numeric:tabular-nums;margin:20px 0;display:block;overflow-x:auto}.post-detail-content th,.post-detail-content td,.page-content th,.page-content td{border-bottom:1px solid var(--divider);text-align:left;white-space:nowrap;padding:8px 12px}.post-detail-content tr:last-child td,.page-content tr:last-child td{border-bottom:0}.post-detail-content th,.page-content th{background:var(--bg-weak);color:var(--text);font-weight:500}.post-detail-content hr,.page-content hr{border:0;border-top:1px solid var(--divider);margin:32px 0}.page-content hr{background:0 0;height:0;padding:0;position:static}.page-content hr:after{content:none}.post-detail-content iframe,.post-detail-content video,.page-content iframe,.page-content video{border-radius:var(--radius-md);max-width:100%}.post-detail-content input[type=checkbox]{accent-color:var(--text-light)}.astro-code{border:1px solid var(--divider);border-radius:var(--radius-lg);background-color:var(--bg-weak);max-width:100%;font-family:var(--mono);font-size:var(--font-ui);margin:24px 0;padding:16px;line-height:1.7;overflow-x:auto}.astro-code,.astro-code span{color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);text-decoration:var(--shiki-light-text-decoration)}.post-detail-content :not(pre)>code,.page-content :not(pre)>code,.post-detail-content code:not(.astro-code code),.page-content code:not(.astro-code code){border-radius:var(--radius-sm);background:var(--bg-weak);color:var(--text);font-family:var(--mono);padding:.15em .35em;font-size:.88em}.toc-container[data-has-content=false]{display:none}.toc-title{color:var(--text-faint);font-size:var(--font-xs);margin-bottom:4px;font-weight:600}.toc{font-size:var(--font-sm);line-height:var(--leading-ui)}.toc .toc-list{margin:0;padding-left:0;list-style:none}.toc .toc-list .toc-list{margin-top:2px;padding-left:14px}.toc .toc-item{margin:1px 0}.toc a,.toc .toc-link{border-radius:var(--radius-sm);color:var(--text-light);font-size:var(--font-sm);padding:4px 0;text-decoration:none;transition:color .15s;display:block}.toc a:hover,.toc .toc-link:hover,.toc a.active,.toc .toc-link.active{color:var(--text)}.categories-list,.tags-list{padding:0}.category-item,.tag-item{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;display:flex}.category-item a,.tag-item a{color:var(--text);font-size:var(--font-body);text-decoration:none}.category-item a:hover,.tag-item a:hover{text-decoration:underline}.count{font-family:var(--mono);font-size:var(--font-sm);color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.tags-cloud{flex-wrap:wrap;gap:10px 18px;padding:20px 0 0;display:flex}.tag-chip{color:var(--text-light);font-family:var(--mono);font-size:var(--font-ui);background:0 0;border:0;padding:0;font-weight:400;text-decoration:none;transition:color .15s}.tag-chip:before{content:"#";color:var(--text-faint)}.tag-chip:hover{color:var(--text);background:0 0}.search-modal-content{border-radius:var(--radius-lg)!important;background:var(--bg)!important;color:var(--text)!important}.search-modal-header{border-bottom-color:var(--divider)!important}.page-content a[target=_blank][href^=http]:after,.post-detail-content a[target=_blank][href^=http]:after,.shuoshuo-content a[target=_blank][href^=http]:after{content:"";vertical-align:.16em;background-color:currentColor;width:.68em;height:.68em;margin-left:.22em;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") 50%/contain no-repeat}.site-right-panel{display:none}.right-panel-section{margin-bottom:24px}.right-panel-title{color:var(--text-faint);margin-bottom:4px;font-size:12px;font-weight:600}.right-panel-list{list-style:none}.right-panel-item{border-bottom:1px solid var(--divider);padding:8px 0}.right-panel-item:last-child{border-bottom:none}.right-panel-item a{text-decoration:none;display:block}.right-panel-item-title{color:var(--text);margin-bottom:2px;font-size:14px}.right-panel-item-meta{font-family:var(--mono);color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:12px}.right-panel-footer{border-top:1px solid var(--divider);color:var(--text-faint);padding-top:14px;font-size:12px;line-height:1.7}.right-panel-footer a{color:var(--text-light)}.right-panel-footer a:hover{color:var(--text);text-decoration:underline}.theme-toggle-btn{color:var(--text-faint);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:10px;padding:0;font-size:12px;display:inline-flex}.theme-toggle-btn:hover{color:var(--text)}.theme-toggle-btn svg{width:14px;height:14px}@media (width<=680px){.content-title{font-size:1.625rem}}html.dark .astro-code{background-color:var(--bg-weak);border-color:var(--divider)}html.dark .astro-code,html.dark .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);text-decoration:var(--shiki-dark-text-decoration)}html.dark ::selection{color:#fff}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}.post-detail-content h2,.page-content h2{font-size:var(--font-xl);line-height:var(--leading-heading);margin:32px 0 16px}.post-detail-content h3,.page-content h3{font-size:1.25rem;line-height:var(--leading-heading);margin:28px 0 14px}.post-detail-content h4,.page-content h4{font-size:var(--font-lg);line-height:var(--leading-heading);margin:24px 0 12px}.post-detail-content h5,.post-detail-content h6,.page-content h5,.page-content h6{font-size:var(--font-body);line-height:var(--leading-ui);margin:24px 0 12px}.post-detail-content blockquote,.page-content blockquote{border-left-color:var(--accent);background:var(--bg-weak);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:14px 20px;font-style:normal}.post-back-link{color:var(--text-light);font-size:var(--font-ui);align-items:center;gap:7px;margin-bottom:24px;text-decoration:none;display:inline-flex}.post-back-link .site-icon{transform:rotate(180deg)}.post-back-link:hover{color:var(--accent)}.search-modal[data-astro-cid-etsyzymg]{z-index:9999;justify-content:center;align-items:flex-start;width:100%;height:100%;padding-top:10vh;display:none;position:fixed;top:0;left:0}.search-modal[data-astro-cid-etsyzymg].active{display:flex}.search-modal-overlay[data-astro-cid-etsyzymg]{background:var(--overlay);backdrop-filter:blur(5px);width:100%;height:100%;animation:.16s ease-out fadeIn;position:absolute;top:0;left:0}.search-modal-content[data-astro-cid-etsyzymg]{border:1px solid var(--divider-strong);background:var(--bg);flex-direction:column;width:90%;max-width:580px;max-height:80vh;animation:.18s ease-out modalIn;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 90px #0004}.search-modal-header[data-astro-cid-etsyzymg]{border-bottom:1px solid var(--divider);flex-shrink:0;padding:14px 18px}.search-box[data-astro-cid-etsyzymg]{align-items:center;gap:.75rem;display:flex;position:relative}.search-icon[data-astro-cid-etsyzymg]{color:var(--text-mute);flex-shrink:0}#modal-search-input[data-astro-cid-etsyzymg]{min-width:0;color:var(--text-strong);font-size:var(--font-body);line-height:var(--leading-ui);background:0 0;border:none;outline:none;flex:1;padding:8px 0}#modal-search-input[data-astro-cid-etsyzymg]::placeholder{color:var(--text-mute)}.close-btn[data-astro-cid-etsyzymg]{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-mute);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:background-color .15s,color .15s;display:flex}.close-btn[data-astro-cid-etsyzymg]:hover{background:var(--bg-hover);color:var(--text-strong)}.search-results[data-astro-cid-etsyzymg]{flex:1;padding:6px 18px 18px;overflow-y:auto}.search-tips[data-astro-cid-etsyzymg]{color:var(--text-light);padding:32px 0}.search-tips[data-astro-cid-etsyzymg] p[data-astro-cid-etsyzymg]{font-size:var(--font-ui);margin:8px 0}.search-tips[data-astro-cid-etsyzymg] kbd[data-astro-cid-etsyzymg]{border:1px solid var(--divider-strong);border-radius:var(--radius-sm);background:var(--bg-weak);color:var(--text-strong);font-family:var(--mono);font-size:var(--font-xs);padding:2px 6px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.search-modal[data-astro-cid-etsyzymg]{padding-top:5vh}.search-modal-content[data-astro-cid-etsyzymg]{width:95%;max-height:85vh}.search-modal-header[data-astro-cid-etsyzymg]{padding:1rem}.search-results[data-astro-cid-etsyzymg]{padding:.75rem 1rem 1rem}}.search-modal .result-item{border-top:1px solid var(--divider);padding:16px 0}.search-modal .result-item:hover{border-top-color:var(--divider-strong)}.search-modal .result-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.search-modal .result-title{color:var(--text-strong);font-family:var(--serif);font-size:var(--font-body);font-weight:500;line-height:var(--leading-ui);flex:1;margin:0}.search-modal .result-title a{text-decoration:none}.search-modal .result-title a:hover{color:var(--accent)}.search-modal .result-date{color:var(--text-mute);font-family:var(--mono);font-size:var(--font-sm);white-space:nowrap;font-weight:400}.search-modal .result-description{color:var(--text-light);line-height:var(--leading-body);font-size:var(--font-ui);margin:8px 0 0}.search-modal .result-tags{flex-wrap:wrap;gap:8px 12px;margin-top:10px;display:flex}.search-modal .result-tags .tag{color:var(--text-mute);font-family:var(--mono);font-size:var(--font-xs);align-items:center;font-weight:400;display:inline-flex}.search-modal .no-results{color:var(--text-light);font-size:var(--font-ui);padding:40px 0}.search-modal mark{background:var(--bg-active);color:var(--text-strong);padding:.08em .18em;font-weight:500}@media (width<=720px){.search-modal .result-header{flex-direction:column;gap:.6rem}.search-modal .result-date{align-self:flex-start}.search-modal .result-item{padding:1rem}}.copy-code-button{border:1px solid var(--divider);border-radius:var(--radius-sm);background:var(--bg-weak);color:var(--text-mute);font-family:var(--mono);font-size:var(--font-xs);cursor:pointer;opacity:.55;z-index:10;padding:3px 7px;line-height:1.4;transition:opacity .15s,background-color .15s,border-color .15s,color .15s;position:absolute;top:8px;right:8px}.copy-code-button:hover{border-color:var(--divider-strong);background:var(--bg-hover);color:var(--text-strong)}.copy-code-button.copied{border-color:var(--divider-strong);background:var(--bg-active);color:var(--text-strong)}pre:hover .copy-code-button,pre:focus-within .copy-code-button{opacity:1}pre{position:relative}.back-to-top{border-radius:var(--radius-md);border:1px solid var(--divider-strong);background:var(--bg);width:38px;height:38px;color:var(--text-strong);cursor:pointer;opacity:0;visibility:hidden;z-index:50;justify-content:center;align-items:center;transition:opacity .18s,visibility .18s,transform .18s,background-color .15s,border-color .15s,color .15s;display:inline-flex;position:absolute;bottom:70px;right:18px;transform:translateY(4px)}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--bg-hover);color:var(--text-strong);border-color:var(--divider-strong)}.back-to-top:active,.back-to-top.is-visible:active{transform:translateY(1px)}.back-to-top:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
