.post-toc-inner{scrollbar-width:thin;scrollbar-color:#F7E4E4 var(--card)}.post-toc-inner::-webkit-scrollbar{width:6px;background:var(--card);border-radius:6px}.post-toc-inner::-webkit-scrollbar-thumb{background:#f7e4e4;border:1px solid #e6cfcf;border-radius:6px}.post-toc-inner::-webkit-scrollbar-thumb:hover{background:#f3d8d8;border-color:#e1c4c4}.share-inline{margin:24px 0 0;padding:0;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:1.1rem}.share-inline-label{font-size:1.1rem;font-weight:500;color:var(--muted);text-align:center}.share-inline-icons{display:flex;align-items:center;justify-content:center;gap:10px}.back-to-top{display:flex;align-items:center;gap:6px;margin:12px auto 6px;padding:12px 16px;font-size:14px;font-weight:600;border-radius:14px;border:1px solid var(--border);background:var(--card);color:var(--ink);box-shadow:0 10px 22px #00000014;cursor:pointer;transition:none}.back-to-top:hover,.back-to-top:focus-visible{transform:none;box-shadow:0 10px 22px #00000014;border:1px solid var(--border);background:#f0c9c9;outline:none}.back-to-top:active{transform:translateY(0)}.share-inline-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:20px;color:var(--muted);background:none;border:1px solid transparent;border-radius:25%;transition:background .15s,color .15s,border .15s;cursor:pointer;margin-left:2px}.share-inline-icon:hover{background:#f0c9c9;color:var(--accent-strong);border:1px solid #b8a98c}.share-copy{position:relative}.share-copied{position:absolute;top:-28px;left:50%;transform:translate(-50%);background:#208638;color:#fff;font-size:12px;padding:2px 10px;border-radius:0%;box-shadow:0 2px 8px #0000000f;white-space:nowrap;z-index:10;animation:fadeInOut 1.2s forwards}@keyframes fadeInOut{0%{opacity:0}10%{opacity:1}90%{opacity:1}to{opacity:0}}:root{--mint: #dff4ec;--ink: #133126;--ink-soft: #2f5c4a;--muted: #4b6a5c;--card: rgba(255, 255, 255, .7);--border: rgba(19, 49, 38, .08);--accent: #1c8f68;--accent-strong: #0c6b4e;color-scheme:light}html{scrollbar-gutter:stable;-moz-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}.card-link{text-decoration:none;color:inherit}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:6px}.footer-copy{font-weight:600}.footer-links{display:inline-flex;line-height:1.3;align-items:center;gap:1px;justify-content:center}.footer-rss{color:var(--ink);text-decoration:underline dotted;text-underline-offset:5px;font-weight:700}.footer-sep{color:var(--muted);display:inline-block;vertical-align:middle;line-height:1;font-size:14px;position:relative;top:4px;transition:none}.title-arrow{display:none}.card-link:hover .title-arrow,.card:hover .title-arrow{color:inherit}.card-link:hover .card-title-link{background:transparent;border-radius:0}body{margin:0;min-height:100vh;background:var(--mint);color:var(--ink);font-family:Libre Baskerville,system-ui,-apple-system,serif;font-size:15px;font-size-adjust:.52;line-height:1.6;letter-spacing:.01em}::selection{background:#f0c9c9;color:var(--ink)}::-moz-selection{background:#f0c9c9;color:var(--ink)}a{color:inherit;text-decoration:none}a:hover{color:inherit;background:#f7f2e9;border-radius:8px}.card-link:hover{background:#f0c9c9;border-radius:16px;color:inherit}.wrapper{max-width:980px;margin:0 auto;padding:64px clamp(14px,1.8vw,24px) 52px}header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px 8px;position:fixed;top:0;left:0;right:0;width:100%;backdrop-filter:blur(10px);background:#dff4ecd9;border-bottom:1px solid var(--border);z-index:5}.logo{font-family:Libre Baskerville,system-ui,-apple-system,serif;font-weight:700;font-size:22px;letter-spacing:.4px;padding:6px 10px;border-radius:10px}.logo:hover{background:#f0c9c9}.nav-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:14px;letter-spacing:.02em}.nav-links a{padding:10px 14px;border-radius:16px;background:var(--card);border:1px solid var(--border);transition:all .14s ease}.nav-links a:hover{background:#f0c9c9;box-shadow:0 8px 20px #00000014}@media(max-width:900px){.logo{font-size:19px}.nav-links{gap:10px;font-size:13px}.nav-links a{padding:8px 12px;border-radius:14px}}@media(max-width:640px){.wrapper{padding-top:92px}.logo{font-size:17px}.nav-links{gap:8px;font-size:12px}.nav-links a{padding:7px 10px;border-radius:12px}}.hero{padding:32px 0 14px}.hero .eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--muted);margin-bottom:10px}.post-meta{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.post-updated{margin:6px 0 0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.post-meta .dot{opacity:.6}.post-writer{margin:0 0 10px;font-size:12px;letter-spacing:.08em;color:var(--muted);text-transform:none;font-style:normal;display:inline-flex;align-items:center;gap:10px}.post-hero .post-writer{font-size:12px;letter-spacing:.08em;color:var(--muted);font-style:normal;text-transform:none}.post-writer a.post-license{color:inherit;text-decoration:none;display:inline-flex;align-items:center;padding:4px 8px;margin:-4px -8px;border-radius:10px;transition:background-color .12s ease}.post-writer a.post-license:hover{background:#f0c9c9}.post-writer .dot{color:var(--muted);opacity:.6}.post-meta a,.post-hero a{display:inline-flex;align-items:center;padding:4px 8px;margin:-4px -8px;border-radius:10px}.post-meta a:hover,.post-hero a:hover{background:#f0c9c9;border-radius:10px}.post-tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;font-size:12px;letter-spacing:.02em;color:var(--muted)}.post-tags a{padding:4px 8px;border-radius:10px;border:none;background:none;transition:background-color .12s ease,color .12s ease}.post-tags a:hover{background:#f0c9c9}@media(max-width:900px){.post-meta,.post-updated,.post-tags{font-size:11px}}@media(max-width:640px){.post-meta,.post-updated,.post-tags{font-size:10.5px}}.post-hero{text-align:center}.post-hero .post-meta,.post-hero .post-tags{justify-content:center}.post-meta-block{display:flex;flex-direction:column;align-items:center;gap:6px}.hero h1{font-family:Libre Baskerville,system-ui,-apple-system,serif;font-weight:700;font-size:clamp(30px,3.4vw,42px);margin:0 0 8px;line-height:1.18}.post-title{text-align:center}@media(max-width:900px){.hero h1{font-size:clamp(26px,4vw,34px)}}@media(max-width:640px){.hero h1{font-size:clamp(22px,5vw,30px)}}.hero p{max-width:720px;margin:0;color:var(--muted);font-size:16px}@media(max-width:900px){.hero p{font-size:15px}}@media(max-width:640px){.hero p{font-size:14px}}.post-hero p{text-align:center;margin:3px auto 0;max-width:720px;font-style:italic}.post-hero .post-updated{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:6px 0 8px;font-style:italic;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:10px;background:#f0c9c9}@media(max-width:900px){.post-hero .post-updated{font-size:11px;padding:3px 9px;border-radius:9px}}@media(max-width:640px){.post-hero .post-updated{font-size:10.5px;padding:3px 9px;border-radius:8px}}.section-title{display:flex;justify-content:space-between;align-items:center;margin:32px 0 12px;font-size:18px;letter-spacing:.02em;color:var(--muted)}.section-link{display:inline-flex;align-items:center;gap:0;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--accent-strong);text-decoration:none;padding:4px 10px;border-radius:10px;transition:none}.section-link span:first-child{text-decoration:underline dotted;text-underline-offset:6px}.section-link:hover{color:inherit;text-decoration-color:currentColor;background:#f0c9c9}.section-title-center{justify-content:center;text-align:center;gap:8px}.section-footer{display:flex;justify-content:center;margin-top:16px}.pager{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:16px}.pager-button{padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:#ffffffd9;box-shadow:0 6px 14px #0000000d;color:var(--ink);font-weight:700;transition:none}.pager-button:hover{color:inherit;border:1px solid var(--border);box-shadow:0 6px 14px #0000000d;background:#f0c9c9}.pager a,.pager a:hover{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:12px;border:1px solid var(--border);box-shadow:0 6px 14px #0000000d;background:#ffffffd9;transition:none;text-decoration:none;color:inherit}.pager a:hover{background:#f0c9c9}.pager-button.disabled{opacity:.4;border-style:dashed;pointer-events:none}.pager-indicator{font-weight:700;color:var(--muted)}.pill-row{display:flex;flex-wrap:wrap;gap:6px}.pill{padding:6px 10px;border-radius:12px;border:1px solid var(--border);background:var(--card);font-size:12px;transition:background-color .12s ease,color .12s ease;display:inline-flex;align-items:center;gap:6px}.pill:hover{background:#f0c9c9;box-shadow:none;border-radius:12px;border:1px solid var(--border)}.pill-count{padding:3px 7px;border-radius:10px;background:#1c8f681f;color:var(--ink-soft);font-size:11.5px;border:1px solid var(--border)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:12px}.stack{display:flex;flex-direction:column;gap:12px;margin-top:12px}.split-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:start;margin:12px 0 4px}.split-sections section+section{border-left:1px solid var(--border);padding-left:18px}@media(max-width:640px){.split-sections section+section{border-left:none;padding-left:0;border-top:1px solid var(--border);padding-top:12px}}.home-sections{margin-top:4px}.home-sections .section-title{margin:20px 0 10px}.card{padding:18px 18px 16px;border-radius:16px;background:var(--card);border:1px solid var(--border);box-shadow:0 12px 26px #0000000d;transition:none;display:flex;flex-direction:column;gap:8px}.card.horizontal{flex-direction:row;align-items:center;gap:14px}.card-body{display:flex;flex-direction:column;gap:8px}.thumb-wrap{display:block;flex-shrink:0}.card-thumb{width:260px;height:180px;object-fit:cover;border-radius:14px;border:1px solid var(--border);box-shadow:0 10px 24px #0000000f}.card:hover{background:#f0c9c9;box-shadow:0 12px 26px #0000000d;border-color:var(--border)}.card .meta{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px}.draft-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:10px;background:#ffe8e0;color:#8a3615;letter-spacing:.08em;text-transform:uppercase;font-weight:700;font-size:11px;border:1px solid var(--border);box-shadow:0 6px 14px #0000000a}@media(max-width:900px){.card .meta{font-size:11px;gap:10px}}@media(max-width:640px){.card .meta{font-size:10.5px;gap:8px}}.card .meta .dot{color:var(--muted);opacity:.6}.card h2{margin:0;font-size:25px;line-height:1.3;font-weight:700}@media(max-width:900px){.card h2{font-size:22px}}@media(max-width:640px){.card h2{font-size:19px}}.card p{margin:0;color:var(--muted)}@media(max-width:900px){.card p{font-size:14px}}@media(max-width:640px){.card p{font-size:13px}}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.tag{font-size:12px;padding:6px 10px;border-radius:12px;background:#1c8f6824;border:1px solid rgba(28,143,104,.3);color:var(--ink)}.footer{margin-top:42px;padding:18px 0 32px;color:var(--muted);font-size:14px;text-align:center;border-top:1px solid var(--border)}.footer-rss{display:inline-block;margin-top:6px;padding:4px 8px;color:var(--ink);text-decoration:underline dotted;text-underline-offset:5px;font-weight:700}.footer-rss:hover{background:#f0c9c9;border-radius:8px}.post article{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:clamp(18px,3vw,28px);box-shadow:0 16px 36px #0000000f;font-family:Rubik,system-ui,-apple-system,sans-serif}.post article h1,.post article h2,.post article h3,.post article h4,.post article h5,.post article h6{font-family:Libre Baskerville,system-ui,-apple-system,serif;scroll-margin-top:80px}.post article h1{font-size:32px;line-height:1.28;margin:20px 0 12px}.post article h2{font-size:26px;line-height:1.3;margin:18px 0 10px}.post article h3{font-size:21px;line-height:1.35;margin:16px 0 8px}.post article h4{font-size:18px;line-height:1.4;margin:14px 0 8px}.post article h5{font-size:16px;line-height:1.4;margin:12px 0 6px}.post article h6{font-size:14px;line-height:1.4;margin:10px 0 6px}@media(max-width:900px){.post article h1{font-size:28px}.post article h2{font-size:23px}.post article h3{font-size:19px}.post article h4{font-size:17px}.post article h5{font-size:15px}.post article h6{font-size:13px}}@media(max-width:640px){.post article h1{font-size:24px}.post article h2{font-size:20px}.post article h3{font-size:17px}.post article h4{font-size:16px}.post article h5{font-size:14px}.post article h6{font-size:12px}}.post article a{display:inline-flex;align-items:center;gap:0;position:relative;padding:0;border-radius:0;color:inherit;text-decoration:underline dotted;text-underline-offset:5px}.post-cover{margin:0 0 16px}.post-cover-img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--border);box-shadow:0 12px 26px #0000000f;background:#fff}.post article a:hover{background:transparent}.post-nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px}.post-nav-link{flex:1;display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--card);border:1px solid var(--border);box-shadow:0 10px 22px #00000014;transition:none}.post-nav-link.next{justify-content:flex-end;text-align:right}.post-nav-link.next .post-nav-text{align-items:flex-end}.post-nav-link:hover{border:1px solid var(--border);box-shadow:0 10px 22px #00000014;transform:none;background:#f0c9c9}.post-nav-arrow{font-weight:800;color:var(--muted)}.post-body{display:block;position:relative}.post-toc{position:absolute;left:-280px;top:0;width:265px;height:100%;display:flex;align-items:flex-start}.post-toc-inner{position:sticky;top:80px;align-self:start;padding:14px 12px 12px;border-radius:18px;background:var(--card);border:1px solid var(--border);box-shadow:0 10px 22px #00000014;font-family:Libre Baskerville,system-ui,-apple-system,serif;max-height:70vh;overflow-y:auto;box-sizing:border-box;scrollbar-gutter:stable}.post-toc-inner.has-scroll{border-radius:18px 0 0 18px}.toc-title{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#000}.toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.toc-item a{display:inline-flex;align-items:flex-start;gap:10px;color:#000;text-decoration:none;font-size:13px;font-family:Libre Baskerville,system-ui,-apple-system,serif;line-height:1.4;padding:6px 8px;border-radius:12px;transition:background .12s ease,color .12s ease}.toc-item a:hover{background:#f7e4e4;color:#000}.toc-item.is-active>a{color:#000;background:#f0c9c9;border:1px solid #EFC3C3}.toc-item.is-active .toc-num{color:#000}.toc-num{min-width:1px;font-weight:700;color:#000;letter-spacing:.02em}.toc-text{flex:1}.toc-level-2 a{font-weight:600}.toc-level-3 a{padding-left:16px;opacity:.9}.toc-level-4 a{padding-left:20px;opacity:.8}@media(max-width:960px){.post-toc{position:relative;left:0;top:auto;width:100%;margin:0}.toc-toggle{display:inline-flex;align-items:center;gap:6px;margin:12px 0 6px;padding:8px 12px;font-size:13px;font-weight:600;border-radius:12px;border:1px solid var(--border);background:#f0c9c9;color:var(--ink);box-shadow:0 2px 6px #00000014;cursor:pointer}.post-toc-inner{position:relative;top:auto}.post-toc{display:none}.post-toc.is-open{display:block;margin-top:6px}}.toc-toggle{display:inline-flex}@media(min-width:961px){.toc-toggle{display:none}}@media(max-width:960px){.toc-toggle{position:fixed;bottom:16px;right:16px;margin:0;z-index:20;box-shadow:0 10px 24px #00000024}.post-toc{position:fixed;bottom:60px;right:16px;width:min(320px,calc(100% - 32px));height:auto;max-height:60vh;overflow:hidden;background:#fffdf6;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 34px #0000002e;z-index:19;backdrop-filter:blur(8px)}.post-toc-inner{max-height:60vh}}.post-nav-text{display:flex;flex-direction:column;gap:2px}.post-nav-text small{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted)}.post-nav-text span{font-weight:700;color:var(--ink);line-height:1.4}.post-nav-placeholder{flex:1;visibility:hidden}@media(max-width:640px){.post-nav{flex-direction:column}.post-nav-link,.post-nav-placeholder{flex:none;width:100%}}.post h1{font-family:Libre Baskerville,system-ui,-apple-system,serif;margin-top:0}code,pre,kbd,samp,.expressive-code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.post article code:not(pre code){background:#f7f2e9;border:1px solid #dcd6c9;border-radius:7px;padding:0 3px;display:inline-flex;align-items:center;color:var(--ink-soft)}.post article kbd{background:linear-gradient(180deg,#fdfaf5,#f3e9db);border:1px solid #cfc7b8;border-radius:2px;padding:0 5px;box-shadow:0 1px #b7ae9f,inset 0 1px #fff,inset 0 -1px #0000000d;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95em;color:var(--ink);vertical-align:middle;min-width:20px;text-align:center}.post article blockquote{margin:18px 0;padding:1px 15px;border-left:5px solid #94B4CC;background:#e4eff7;color:var(--ink-soft)}.post article .admonition{margin:18px 0;padding:8px 15px;border-left:5px solid #1c8f68;background:#f7f2e9;color:var(--ink);display:flex;flex-direction:column}.post article .admonition-title{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:8px}.post article .admonition-title:before{content:"";display:inline-block;width:16px;height:16px;background-repeat:no-repeat;background-size:16px 16px;background-position:center}.post article .admonition-note .admonition-title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23133126' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='5' width='14' height='14' rx='2'/%3E%3Cpath d='M12 9h.01'/%3E%3Cpath d='M12 12v4'/%3E%3C/svg%3E")}.post article .admonition-tip .admonition-title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23133126' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3Cpath d='M12 2c-3.5 0-6 2.5-6 6a6 6 0 0 0 2.18 4.66c.52.45.82 1.1.82 1.79V16h6v-1.55c0-.69.3-1.34.82-1.79A6 6 0 0 0 18 8c0-3.5-2.5-6-6-6z'/%3E%3C/svg%3E")}.post article .admonition-important .admonition-title:before,.post article .admonition-warning .admonition-title:before,.post article .admonition-caution .admonition-title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23133126' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v4'/%3E%3Cpath d='M12 16h.01'/%3E%3C/svg%3E")}.post article .admonition-warning .admonition-title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23133126' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3Cpath d='M10.3 2.5a2 2 0 0 1 3.4 0l8.18 14.5A2 2 0 0 1 20.18 20H3.82a2 2 0 0 1-1.7-3l8.18-14.5Z'/%3E%3C/svg%3E")}.post article .admonition-caution .admonition-title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23133126' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4h10l5 8-5 8H7L2 12z'/%3E%3Cpath d='M12 10v4'/%3E%3Cpath d='M12 16h.01'/%3E%3C/svg%3E")}.post article .admonition p:last-child{margin-bottom:0}.post article .admonition-note{border-color:#94b4cc;background:#e4eff7}.post article .admonition-tip{border-color:#1c8f68;background:#dff4ec}.post article .admonition-important{border-color:#0c6b4e;background:#eaf5f0}.post article .admonition-warning{border-color:#d8a100;background:#fff7d6}.post article .admonition-caution{border-color:#c6534c;background:#fdecec}.post article ul,.post article ol{margin:10px 0 14px 18px;padding-left:10px}.post article ul ul,.post article ol ol,.post article ul ol,.post article ol ul{margin-top:4px;margin-bottom:4px;padding-left:0}.post article table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}.post article th,.post article td{border:1px solid #CCCCCC;padding:8px 10px;text-align:left}.post article th{background:#dff4ec;color:var(--ink);font-weight:700}.post article td[align=center],.post article th[align=center]{text-align:center}.post article td[align=right],.post article th[align=right]{text-align:right}.expressive-code{--ec-codeFontFml: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.expressive-code[data-language],pre[data-language]{position:relative}.expressive-code .ec-toolbar button,.expressive-code [data-ec-toolbar] button,pre .ec-toolbar button,pre [data-ec-toolbar] button,.expressive-code button[aria-label=Copy],.expressive-code button[aria-label="Copy code"],pre button[aria-label=Copy],pre button[aria-label="Copy code"],.copy button[title="Copy to clipboard"]{width:26px!important;height:26px!important;padding:4px!important;border-radius:8px!important;font-size:12px!important;display:inline-flex;align-items:center;justify-content:center;background:#e7dece!important;border:1px solid #dcd6c9!important;box-shadow:none!important;appearance:none;-webkit-appearance:none;line-height:18px;filter:none!important;transform:translateY(-3px)!important;transition:none!important;backface-visibility:hidden;overflow:hidden;background-clip:padding-box;background-image:none!important;opacity:1!important;visibility:visible!important;color:var(--ink)!important;outline:none!important}.copy button[title="Copy to clipboard"]:before,.copy button[title="Copy to clipboard"]:after{border:none!important;box-shadow:none!important;outline:none!important}.expressive-code .ec-toolbar button svg,.expressive-code [data-ec-toolbar] button svg,pre .ec-toolbar button svg,pre [data-ec-toolbar] button svg,.expressive-code button[aria-label=Copy] svg,.expressive-code button[aria-label="Copy code"] svg,pre button[aria-label=Copy] svg,pre button[aria-label="Copy code"] svg,.copy button[title="Copy to clipboard"] svg,.copy button[title="Copy to clipboard"] div{width:14px!important;height:14px!important;background:transparent!important;border:none!important;box-shadow:none!important;filter:none!important;transform:none!important;border-radius:inherit!important}.copy button[title="Copy to clipboard"]:hover,.copy button[title="Copy to clipboard"]:focus-visible{background:#f0ece6!important;border:1px solid #dcd6c9!important;outline:none!important;box-shadow:none!important;filter:none!important;transform:translateY(-3px)!important;border-radius:8px!important}.expressive-code[data-language]:before,pre[data-language]:before{content:attr(data-language);position:absolute;top:14px;right:40px;transform:translateY(-35%);font-size:11px;font-weight:600;color:var(--ink);background:#e7dece;border:1px solid var(--border);border-radius:8px;padding:2px 8px;text-transform:uppercase;opacity:1;mix-blend-mode:normal;z-index:2;box-shadow:0 2px 6px #00000014;filter:none;pointer-events:none}.expressive-code{--ec-codeBg: #f7f2e9;--ec-codeFg: #1f2933;--ec-gtrFg: #6b7280;--ec-gtrBrdCol: #dcd6c9;--ec-frm-edBg: var(--ec-codeBg);--ec-frm-edTabBarBg: #f2eadf;--ec-frm-edActTabBg: #e6dccb;--ec-frm-edActTabFg: #1f2933;--ec-brdCol: #dcd6c9;--ec-frm-edTabBarBrdBtmCol: var(--ec-brdCol);--ec-frm-edTabBarBrdCol: var(--ec-brdCol);--ec-frm-edActTabBrdCol: var(--ec-brdCol);--ec-frm-edActTabIndTopCol: var(--ec-brdCol);--ec-frm-edActTabIndBtmCol: var(--ec-brdCol);--ec-frm-trmBg: var(--ec-codeBg);--ec-frm-trmTtbBg: #e7dece;--ec-frm-trmTtbFg: #1f2933;--ec-frm-trmTtbBrdBtmCol: var(--ec-brdCol);--ec-gtrHlFg: #374151;--ec-gtrBrdWd: 1.5px}.post img{max-width:100%;border-radius:12px}@media(max-width:640px){header{flex-direction:column;align-items:flex-start}.nav-links{width:100%}.card.horizontal{flex-direction:column;align-items:flex-start}.card-thumb{width:100%;height:auto;max-width:620px}}.timeline-tree{display:flex;flex-direction:column;gap:22px;margin:18px 0 0}.timeline-year-block{display:flex;flex-direction:column;gap:10px}.timeline-year-row{display:grid;grid-template-columns:120px minmax(44px,max-content) 1fr;align-items:center;column-gap:10px}.timeline-year-label{grid-column:2 / 3;justify-self:center;font-size:20px;font-weight:800;color:var(--ink);padding:4px 10px;background:var(--mint);border:1px solid var(--border);border-radius:12px;min-width:44px}.timeline-year-list{list-style:none;padding:0;margin:0}.timeline-link{text-decoration:none;color:inherit}.timeline-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.post-nav a:hover,.post-nav-link:hover{border-radius:14px;padding:12px 14px;border:1px solid var(--border);box-shadow:0 10px 22px #00000014;transform:none;background:#f0c9c9;text-decoration:none}.timeline-item{position:relative;margin:0 0 24px}.timeline-item:last-child{margin-bottom:0}.timeline-row{display:grid;grid-template-columns:120px minmax(44px,max-content) 1fr;column-gap:10px;align-items:center;padding:10px;border-radius:12px;transition:background-color .12s ease}.timeline-row:hover{background:#f0c9c9}.timeline-center{position:relative;width:50px;height:100%;display:flex;justify-content:center;align-items:center}.timeline-marker{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 5px 10px #00000014;z-index:1}.timeline-connector{position:absolute;top:-21px;bottom:-21px;left:50%;width:1px;transform:translate(-50%);background:repeating-linear-gradient(to bottom,rgba(28,143,104,.65) 0,rgba(28,143,104,.65) 5px,transparent 5px,transparent 11px)}.timeline-connector.is-last{bottom:-30px}.timeline-connector.is-first{top:-20px}.timeline-date-text{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;text-align:right;white-space:nowrap}.timeline-title-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.timeline-title{font-size:18px;font-weight:700;line-height:1.4}.timeline-title:hover{color:inherit;background:transparent}.timeline-dot{color:var(--muted);opacity:.6}.timeline-category-link{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.timeline-excerpt{flex-basis:100%;margin:-2px 0 0;font-size:13px;color:var(--muted);line-height:1.5}@media(max-width:640px){.timeline-item{margin-bottom:12px}.timeline-year-row{grid-template-columns:90px minmax(36px,max-content) 1fr;column-gap:8px;row-gap:8px;justify-items:center}.timeline-year-label{grid-column:2 / 3;justify-self:center}.timeline-row{display:grid;grid-template-columns:90px minmax(36px,max-content) 1fr;column-gap:8px;align-items:center}.timeline-center{width:36px;min-height:24px;justify-self:center}.timeline-marker{width:7px;height:7px}.timeline-connector{left:50%;transform:translate(-50%)}.timeline-title-wrap{align-items:center}.timeline-date-text{text-align:right}.timeline-year-label{font-size:18px;padding:3px 8px}.timeline-date-text{font-size:11px}.timeline-title{font-size:16px}.timeline-category-link{font-size:11px}.timeline-excerpt{font-size:12px}}
