:root{--font-size-base: 15px;--font-size-base-large: 16px;--line-height-base: 1.7;--font-size-h1: 1.75rem;--font-size-h2: 1.35rem;--font-size-h3: 1.15rem;--font-size-h4: 1.05rem;--font-size-list-title: 18px;--font-size-list-title-large: 20px;--font-size-list-meta: 13px;--font-size-list-meta-large: 14px;--font-size-title: 24px;--font-size-title-large: 26px;--font-size-meta: 13px;--font-size-meta-large: 14px}html[data-theme="dark"]{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-code-inline: #1a1e26;--bg-code-block: #14171c;--text-primary: #c9d1d9;--text-secondary: #8b949e;--text-tertiary: #6e7681;--border-primary: #30363d;--border-secondary: #1f2328;--link-color: #58a6ff;--link-hover: #79c0ff;--code-text: #c9d1d9}html[data-theme="light"]{--bg-primary: #ffffff;--bg-secondary: #f6f8fa;--bg-code-inline: #f3f4f6;--bg-code-block: #f6f8fa;--text-primary: #24292f;--text-secondary: #57606a;--text-tertiary: #656d76;--border-primary: #d0d7de;--border-secondary: #d8dee4;--link-color: #0969da;--link-hover: #0550ae;--code-text: #24292f}html{transition:background-color 0s ease, color 0s ease}*{box-sizing:border-box}html{margin:0;padding:0;height:100%}body{margin:0;padding:16px;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';font-size:var(--font-size-base);font-weight:normal;font-style:normal;line-height:var(--line-height-base);color:var(--text-primary);background-color:var(--bg-primary);word-wrap:break-word}@media (min-width: 700px){body{padding:18px;font-size:var(--font-size-base-large)}}@media (min-width: 992px){body{padding:35px 50px}}h1,h2,h3,h4,h5,h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}h1,h2{margin-top:1.5rem}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h3.code{margin-top:1.6em}h4,h5,h6{margin-top:1.1rem;font-size:var(--font-size-h4)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}a.image{display:block;text-align:center;border:0;border-radius:5px;margin:30px 0}mark{background:#fff8c5;padding:0 5px}@media (prefers-color-scheme: dark){mark{background:#9e6a03;color:#000}}blockquote{color:var(--text-secondary);border-left:0.25em solid var(--border-primary);margin:0;margin-top:0;padding:0 1em}.theme-toggle{position:fixed;top:16px;right:16px;width:40px;height:40px;padding:8px;margin:0;border:1px solid var(--border-primary);background-color:var(--bg-secondary);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;z-index:100}.theme-toggle:hover{background-color:var(--bg-primary);border-color:var(--border-secondary)}.theme-toggle:active{transform:scale(0.95)}.theme-toggle svg{width:20px;height:20px;color:var(--text-primary);transition:opacity 0.3s ease, transform 0.3s ease}.theme-toggle .sun-icon{position:absolute;opacity:1;transform:rotate(0deg)}.theme-toggle .moon-icon{position:absolute;opacity:0;transform:rotate(-180deg)}.theme-toggle.dark-mode .sun-icon{opacity:0;transform:rotate(180deg)}.theme-toggle.dark-mode .moon-icon{opacity:1;transform:rotate(0deg)}@media (max-width: 480px){.theme-toggle{width:36px;height:36px;padding:6px;top:12px;right:12px}.theme-toggle svg{width:18px;height:18px}}.logo{position:relative;margin:0 auto 35px;text-align:center;animation:bounce 0.7s both}.logo a{display:inline-block;width:100px;height:100px;line-height:100px;font-size:1.5em;font-weight:700;text-align:center;text-decoration:none;color:var(--text-primary);border:5px solid var(--bg-primary);border-radius:100%;box-sizing:border-box}.logo a:hover,.logo a:focus{background:#f14e32;color:#fff}.logo a:hover+.logo-prompt,.logo a:focus+.logo-prompt{display:inline-block !important}.logo a .logo-avatar{border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,0.3)}@media (max-width: 480px){.logo a:hover+.logo-prompt,.logo a:focus+.logo-prompt{display:none !important}}.logo .logo-prompt{position:absolute;top:50%;margin-top:-10px;margin-left:15px;display:none;padding:5px;font-size:0.8235em;line-height:1.2;text-align:center;vertical-align:middle;color:#fff;background:rgba(0,0,0,0.7);border-radius:3px}@media (prefers-color-scheme: dark){.logo .logo-prompt{background:rgba(255,255,255,0.15);backdrop-filter:blur(10px)}}.logo .logo-prompt:before{content:"";position:absolute;top:50%;left:-5px;margin-top:-5px;border-width:5px 5px 5px 0;border-style:solid;border-color:transparent rgba(0,0,0,0.7)}@media (prefers-color-scheme: dark){.logo .logo-prompt:before{border-color:transparent rgba(255,255,255,0.15)}}blockquote,dl,ol,p,pre,table,ul{margin-top:0;margin-bottom:16px}ul{padding-left:2em}ul li,ol li{margin-top:0.25em;word-wrap:break-word}ul img,ol img{margin:40px 0;border-radius:5px}sup{vertical-align:top;position:relative;top:-0.5em;margin-left:1px}time{color:var(--text-secondary)}code,pre,.code,.footnotes{font-family:'SF Mono', Consolas, Monaco, 'Courier New', monospace}code{color:var(--code-text);background-color:var(--bg-code-inline);font-size:85%;border-radius:6px;margin:0;padding:3px 6px}pre{display:block;margin-top:0;margin-bottom:1rem;padding:16px;color:var(--code-text);background-color:var(--bg-code-block);border:1px solid var(--border-secondary);border-radius:6px;line-height:1.45;white-space:pre;overflow:auto;word-wrap:normal}pre code{color:inherit;background-color:transparent;padding:0;margin:0}table{width:100%;table-layout:fixed;margin-bottom:16px;border-spacing:0;border-collapse:collapse}table tr{background-color:var(--bg-primary);border-top:1px solid var(--border-primary)}table tr:nth-child(2n){background-color:var(--bg-secondary)}table th,table td{padding:6px 13px;border:1px solid var(--border-primary)}iframe{width:100%}article{margin:0 auto}article .center{text-align:center;margin:0 auto}article hr{border:0;border-bottom:1px solid var(--border-primary);margin:30px 0}article p{word-wrap:break-word}article .footnote{border:0;background-color:var(--link-color);color:#fff;padding-left:2px;padding-right:2px}article .footnotes{margin:50px auto;display:block;font-size:0.8em;color:var(--text-tertiary)}article .footnotes p{line-height:1rem;font-weight:normal}article .footnotes ol{margin:0;padding-left:15px}article .footnotes ol li{font-weight:bold}article .footnotes .reversefootnote{border:0;color:var(--link-color)}article a{color:var(--link-color)}article a:hover{color:var(--link-hover);text-decoration:underline}.back{text-align:center}.back a{text-decoration:none;margin:40px auto 0;display:inline-block;padding:10px;border:0}.back a:before{content:"<<";margin-right:5px;color:var(--text-primary)}.block{display:block}.comments,.footer{text-align:center;margin:0 auto;font-size:0.8rem}.comments a{display:inline-block;text-decoration:none;border-bottom:none}.comments span{display:inline-block}.comments{margin:35px auto 0 auto}.footer{margin-top:50px;color:var(--text-tertiary)}.footer a{border:none;font-weight:bold}section{margin:0 auto 50px auto}section ul{list-style:none;margin:0;padding:0}section ul li a{text-decoration:none;border:0;box-sizing:border-box}section ul li a:hover{text-decoration:underline}section ul li span{display:inline-block;text-transform:uppercase}@keyframes bounce{0%{transform:translate3d(0, -1000px, 0)}60%{transform:translate3d(0, 25px, 0)}75%{transform:translate3d(0, -10px, 0)}90%{transform:translate3d(0, 5px, 0)}100%{transform:none}}list-item .title{font-size:var(--font-size-list-title);font-weight:bold;line-height:1.5}@media (min-width: 700px){list-item .title{font-size:var(--font-size-list-title-large)}}list-item .excerpt{font-size:var(--font-size-list-meta);color:var(--text-secondary)}@media (min-width: 700px){list-item .excerpt{font-size:var(--font-size-list-meta-large)}}list-item .post-date{font-size:var(--font-size-list-meta);letter-spacing:0.75px;color:var(--text-secondary);float:top}@media (min-width: 700px){list-item .post-date{font-size:var(--font-size-list-meta-large)}}article .title{font-size:var(--font-size-title);font-weight:bold;line-height:1.5}@media (min-width: 700px){article .title{font-size:var(--font-size-title-large)}}article .post-date{font-size:var(--font-size-meta);letter-spacing:0.75px;color:var(--text-secondary);float:top}@media (min-width: 700px){article .post-date{font-size:var(--font-size-meta-large)}}article .body{font-size:var(--font-size-base);line-height:1.7}@media (min-width: 700px){article .body{font-size:var(--font-size-base-large)}}article time{font-size:var(--font-size-meta)}@media (min-width: 700px){article time{font-size:var(--font-size-meta-large)}}article,section,.footer,.comments{max-width:700px}.divider{height:1px;margin:1em 0;background:var(--border-secondary)}.item-divider{height:1px;margin:1em 0;background:transparent}.page-navigation{margin:36px auto 0;font-size:16px;text-align:center}.page-navigation a{margin:0 4px;padding:6px;color:var(--link-color);border:1px solid var(--link-color);border-radius:5px}.page-navigation a:hover{background-color:var(--bg-secondary)}.highlight{color:var(--code-text);border-radius:6px}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .c,.highlight .ch,.highlight .cd,.highlight .cm,.highlight .cpf,.highlight .c1,.highlight .cs{color:#6a737d;font-style:italic}.highlight .k,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kv{color:#d73a49}.highlight .kc,.highlight .kt,.highlight .kd{color:#d73a49}.highlight .s,.highlight .sb,.highlight .sc,.highlight .dl,.highlight .sd,.highlight .s2,.highlight .sh,.highlight .sx,.highlight .s1{color:#032f62}.highlight .sa{color:#d73a49}.highlight .sr{color:#032f62}.highlight .si,.highlight .se{color:#032f62}.highlight .ss{color:#22863a}.highlight .nn,.highlight .nc,.highlight .no{color:#6f42c1}.highlight .na{color:#005cc5}.highlight .nt{color:#22863a}.highlight .nf{color:#6f42c1}.highlight .nx{color:#24292f}.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo,.highlight .mx{color:#005cc5}.highlight .o,.highlight .ow{color:#d73a49}.highlight .p,.highlight .pi{color:#24292f}.highlight .gi{color:#22863a;background-color:#f0fff4}.highlight .gd{color:#b31d28;background-color:#ffeef0}.highlight .gh{color:#005cc5;font-weight:bold}.highlight .err{color:#cb2431;background-color:#ffdce0}.highlight .cp{color:#6a737d}.highlight .w{color:#24292f}html[data-theme="dark"] .highlight .c,html[data-theme="dark"] .highlight .ch,html[data-theme="dark"] .highlight .cd,html[data-theme="dark"] .highlight .cm,html[data-theme="dark"] .highlight .cpf,html[data-theme="dark"] .highlight .c1,html[data-theme="dark"] .highlight .cs{color:#8b949e;font-style:italic}html[data-theme="dark"] .highlight .k,html[data-theme="dark"] .highlight .kn,html[data-theme="dark"] .highlight .kp,html[data-theme="dark"] .highlight .kr,html[data-theme="dark"] .highlight .kv{color:#ff7b72}html[data-theme="dark"] .highlight .kc,html[data-theme="dark"] .highlight .kt,html[data-theme="dark"] .highlight .kd{color:#ff7b72}html[data-theme="dark"] .highlight .s,html[data-theme="dark"] .highlight .sb,html[data-theme="dark"] .highlight .sc,html[data-theme="dark"] .highlight .dl,html[data-theme="dark"] .highlight .sd,html[data-theme="dark"] .highlight .s2,html[data-theme="dark"] .highlight .sh,html[data-theme="dark"] .highlight .sx,html[data-theme="dark"] .highlight .s1{color:#a5d6ff}html[data-theme="dark"] .highlight .sa{color:#ff7b72}html[data-theme="dark"] .highlight .sr{color:#7ee787}html[data-theme="dark"] .highlight .si,html[data-theme="dark"] .highlight .se{color:#a5d6ff}html[data-theme="dark"] .highlight .ss{color:#7ee787}html[data-theme="dark"] .highlight .nn,html[data-theme="dark"] .highlight .nc,html[data-theme="dark"] .highlight .no{color:#d2a8ff}html[data-theme="dark"] .highlight .na{color:#79c0ff}html[data-theme="dark"] .highlight .nt{color:#7ee787}html[data-theme="dark"] .highlight .nf{color:#d2a8ff}html[data-theme="dark"] .highlight .nx{color:#c9d1d9}html[data-theme="dark"] .highlight .m,html[data-theme="dark"] .highlight .mb,html[data-theme="dark"] .highlight .mf,html[data-theme="dark"] .highlight .mh,html[data-theme="dark"] .highlight .mi,html[data-theme="dark"] .highlight .il,html[data-theme="dark"] .highlight .mo,html[data-theme="dark"] .highlight .mx{color:#79c0ff}html[data-theme="dark"] .highlight .o,html[data-theme="dark"] .highlight .ow{color:#ff7b72}html[data-theme="dark"] .highlight .p,html[data-theme="dark"] .highlight .pi{color:#c9d1d9}html[data-theme="dark"] .highlight .gi{color:#7ee787;background-color:rgba(46,160,67,0.15)}html[data-theme="dark"] .highlight .gd{color:#ffa198;background-color:rgba(248,81,73,0.15)}html[data-theme="dark"] .highlight .gh{color:#79c0ff;font-weight:bold}html[data-theme="dark"] .highlight .err{color:#ffa198;background-color:rgba(248,81,73,0.15)}html[data-theme="dark"] .highlight .cp{color:#8b949e}html[data-theme="dark"] .highlight .w{color:#c9d1d9}.like-button-wrapper{display:flex;justify-content:center;margin:20px 0 15px 0}.like-button{position:relative;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:16px;font-weight:500;border:1px solid var(--border-primary);background-color:var(--bg-secondary);color:var(--text-primary);border-radius:8px;cursor:pointer;transition:all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);font-family:inherit;outline:none}.like-button:hover:not(.loading){background-color:var(--border-primary);border-color:var(--link-color);transform:translateY(-2px);box-shadow:0 4px 12px rgba(88,166,255,0.2)}.like-button.loading{pointer-events:none}.like-button-content{display:inline-flex;align-items:center;gap:8px;transition:opacity 0.3s ease;opacity:1}.like-button.loading .like-button-content{opacity:0;pointer-events:none}.heart-icon{display:inline-block;font-size:18px;line-height:1}.like-count{display:inline-block;min-width:24px;text-align:center;font-variant-numeric:tabular-nums}.like-button-loader{display:inline-flex;gap:4px;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);transition:opacity 0.3s ease;opacity:0;pointer-events:none}.like-button.loading .like-button-loader{opacity:1}.loader-dot{width:6px;height:6px;border-radius:50%;background-color:var(--link-color);animation:bounceDots 1.4s infinite}.loader-dot:nth-child(1){animation-delay:0s}.loader-dot:nth-child(2){animation-delay:0.2s}.loader-dot:nth-child(3){animation-delay:0.4s}@keyframes bounceDots{0%, 80%, 100%{transform:scale(0.8);opacity:0.7}40%{transform:scale(1.2);opacity:1}}@media (max-width: 480px){.like-button{padding:8px 12px;font-size:14px;gap:6px}.heart-icon{font-size:16px}}
