﻿@font-face{font-display:swap;font-family:"Acme";font-style:normal;font-weight:400;src:url("/fonts/acme-v25-latin-regular.woff2") format("woff2")}@font-face{font-display:swap;font-family:"Fira Sans";font-style:normal;font-weight:400;src:url("/fonts/fira-sans/fira-sans-v16-latin-regular.woff2") format("woff2")}@font-face{font-display:swap;font-family:"Fira Sans";font-style:italic;font-weight:400;src:url("/fonts/fira-sans/fira-sans-v16-latin-italic.woff2") format("woff2")}@font-face{font-display:swap;font-family:"Fira Sans";font-style:normal;font-weight:700;src:url("/fonts/fira-sans/fira-sans-v16-latin-700.woff2") format("woff2")}@font-face{font-display:swap;font-family:"Fira Code";font-style:normal;font-weight:400;src:url("/fonts/fira-code/fira-code-v22-latin-regular.woff2") format("woff2")}@font-face{font-display:block;font-family:"FontAwesome";src:url("/fonts/fa/fontawesome-webfont.woff2") format("woff2")}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path stroke="rgba(0, 0, 0, 0.1)" stroke-width="2" d="M0 50h100M50 0v100"/></svg>');background-repeat:repeat;background-size:20px 20px;min-height:100vh;margin:0;display:flex;flex-direction:column;background-color:#e5e7eb;background-attachment:fixed;color:#111827;font-family:"Fira Sans",system-ui,sans-serif;line-height:1.5}::selection{background-color:rgba(55,48,163,.2)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea{border-radius:0;font:inherit}button{cursor:pointer}.fa,.icon-button{font-family:"FontAwesome"}.container{width:min(100%,56rem);margin-inline:auto;padding-inline:1rem}.site-main{flex:1}.site-header,.site-footer{background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path fill="rgba(0, 0, 0, 0.1)" fill-opacity=".5" d="M30 30h40v40H30z"/></svg>');background-repeat:repeat;background-size:10px 10px;background-color:#64748b;color:#f8fafc;border-color:#475569;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}.site-header{border-bottom:1px solid #475569}.site-header__inner{width:min(100%,56rem);margin-inline:auto;padding:1.25rem 1.5rem;display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));align-items:center}.blog-title{margin:0;font-family:"Acme",sans-serif;font-size:1.875rem;line-height:2.25rem;font-weight:400}.blog-title a{transition:color .3s cubic-bezier(.4, 0, .2, 1)}.blog-title a:hover{color:#cbd5e1}.desktop-menu{grid-column:span 3;display:flex;justify-content:flex-end;align-items:center;gap:1.25rem;font-size:1.125rem;line-height:1.75rem}.desktop-menu ul{display:flex;gap:1.25rem;margin:0;padding:0;list-style:none}.desktop-menu a{transition:color .3s cubic-bezier(.4, 0, .2, 1)}.desktop-menu a:hover{color:#cbd5e1}.icon-button{border:0;padding:0;background:rgba(0,0,0,0);color:inherit;transition:color .3s cubic-bezier(.4, 0, .2, 1)}.icon-button:hover{color:#cbd5e1}.mobile-menu-button{display:none;grid-column-end:5;justify-self:end;font-size:1.5rem;line-height:2rem}.overlay{background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><circle cx="50" cy="50" r="20" fill="rgba(0, 0, 0, 0.1)" fill-opacity=".5"/></svg>');background-repeat:repeat;background-size:6px 6px;position:fixed;inset:0;z-index:10;background-color:rgba(212,212,212,.9);backdrop-filter:blur(16px);opacity:0;transition:opacity .25s cubic-bezier(.4, 0, .2, 1)}.overlay.is-open{opacity:1}.mobile-menu{margin-top:5rem;font-size:1.5rem;line-height:2rem}.mobile-menu ul{display:grid;place-content:center;gap:1.25rem;margin:0;padding:0;list-style:none;text-align:center}.mobile-menu a{transition:color .3s cubic-bezier(.4, 0, .2, 1)}.mobile-menu a:hover{color:rgba(107,114,128,.8)}.popup{position:fixed;top:5rem;left:50%;z-index:11;transform:translateX(-50%);padding:.5rem .75rem;border:1px solid #475569;background:#cbd5e1;color:#0f172a;box-shadow:0 1px 2px rgba(0,0,0,.05)}.popup p{margin:0;font-size:1.125rem;line-height:1.75rem}.post-list{margin-bottom:1.75rem}.post-card,.page-panel,.notice-panel{margin-top:1.75rem;margin-bottom:1.75rem;border:1px solid #94a3b8;background:#fff;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}.post-card:hover .post-card__body,.post-card:hover .post-card__meta,.post-card:hover .post-card__cover+.post-card__body{border-color:#94a3b8}.page-panel:hover .page-panel__head{border-color:#94a3b8}.post-card__cover{width:100%}.post-card__body{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='rgba(0, 0, 0, 0.1)' fill-opacity='.5' fill-rule='nonzero' d='M6 18h12V6H6zM4 4h16v16H4z'/%3E%3C/svg%3E");background-repeat:repeat;background-size:4px 4px;padding:1.25rem;background-color:#fff;transition:border-color .3s cubic-bezier(.4, 0, .2, 1)}.post-card__body h2{margin:0 0 .25rem;font-size:1.5rem;line-height:2rem}.post-card__cover+.post-card__body{border-top:1px solid #cbd5e1}.post-card__excerpt p{margin:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}.post-card__meta{margin-top:.75rem;padding-top:1rem;border-top:1px solid #cbd5e1;display:flex;justify-content:space-between;gap:1rem;color:#4b5563;font-size:.875rem;transition:border-color .3s cubic-bezier(.4, 0, .2, 1)}.post-card__meta div{display:flex;gap:1rem;flex-wrap:wrap}.page-panel__head{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath fill='rgba(0, 0, 0, 0.1)' fill-opacity='.5' fill-rule='evenodd' d='M9 0h2v20H9zm25.134.84 1.732 1-10 17.32-1.732-1zm-20 20 1.732 1-10 17.32-1.732-1zM58.16 4.134l1 1.732-17.32 10-1-1.732zm-40 40 1 1.732-17.32 10-1-1.732zM80 9v2H60V9zM20 69v2H0v-2zm79.32-55-1 1.732-17.32-10L82 4zm-80 80-1 1.732-17.32-10L2 84zm96.546-75.84-1.732 1-10-17.32 1.732-1zm-100 100-1.732 1-10-17.32 1.732-1zM38.16 24.134l1 1.732-17.32 10-1-1.732zM60 29v2H40v-2zm19.32 5-1 1.732-17.32-10L62 24zm16.546 4.16-1.732 1-10-17.32 1.732-1zM111 40h-2V20h2zm3.134.84 1.732 1-10 17.32-1.732-1zM40 49v2H20v-2zm19.32 5-1 1.732-17.32-10L42 44zm16.546 4.16-1.732 1-10-17.32 1.732-1zM91 60h-2V40h2zm3.134.84 1.732 1-10 17.32-1.732-1zm24.026 3.294 1 1.732-17.32 10-1-1.732zM39.32 74l-1 1.732-17.32-10L22 64zm16.546 4.16-1.732 1-10-17.32 1.732-1zM71 80h-2V60h2zm3.134.84 1.732 1-10 17.32-1.732-1zm24.026 3.294 1 1.732-17.32 10-1-1.732zM120 89v2h-20v-2zm-84.134 9.16-1.732 1-10-17.32 1.732-1zM51 100h-2V80h2zm3.134.84 1.732 1-10 17.32-1.732-1zm24.026 3.294 1 1.732-17.32 10-1-1.732zM100 109v2H80v-2zm19.32 5-1 1.732-17.32-10 1-1.732zM31 120h-2v-20h2z'/%3E%3C/svg%3E");background-repeat:repeat;background-size:50px 50px;padding:1.25rem;border-bottom:1px solid #cbd5e1;background-color:#fff;transition:border-color .3s cubic-bezier(.4, 0, .2, 1)}.page-panel__head h1{margin:0;font-size:1.875rem;line-height:2.25rem}.single-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem;color:#4b5563;font-size:.875rem}.notice-panel{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='100' height='20' viewBox='0 0 100 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.184 20c.357-.13.72-.264 1.088-.402l1.768-.661C33.64 15.347 39.647 14 50 14c10.271 0 15.362 1.222 24.629 4.928.955.383 1.869.74 2.75 1.072h6.225c-2.51-.73-5.139-1.691-8.233-2.928C65.888 13.278 60.562 12 50 12c-10.626 0-16.855 1.397-26.66 5.063l-1.767.662c-2.475.923-4.66 1.674-6.724 2.275h6.335zm0-20C13.258 2.892 8.077 4 0 4V2c5.744 0 9.951-.574 14.85-2h6.334zM77.38 0C85.239 2.966 90.502 4 100 4V2c-6.842 0-11.386-.542-16.396-2h-6.225zM0 14c8.44 0 13.718-1.21 22.272-4.402l1.768-.661C33.64 5.347 39.647 4 50 4c10.271 0 15.362 1.222 24.629 4.928C84.112 12.722 89.438 14 100 14v-2c-10.271 0-15.362-1.222-24.629-4.928C65.888 3.278 60.562 2 50 2 39.374 2 33.145 3.397 23.34 7.063l-1.767.662C13.223 10.84 8.163 12 0 12v2z' fill='rgba(0, 0, 0, 0.1)' fill-opacity='.5' fill-rule='evenodd'/%3E%3C/svg%3E");background-repeat:repeat;background-size:75px 15px;padding:1.25rem;display:flex;align-items:center;gap:.5rem}.notice-panel h2,.notice-panel p{margin:0}.notice-panel h2{font-size:1.125rem;line-height:1.75rem;font-weight:400}.notice-panel h2 span{font-weight:700}.notice-panel p{margin-top:.5rem;color:#4b5563}.notice-panel__icon{opacity:.7;font-size:1.125rem;line-height:1.75rem}.search-panel{margin-top:1.75rem;margin-bottom:1.75rem;border:1px solid #94a3b8;background:#fff;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}.search-page{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='rgba(0, 0, 0, 0.1)' fill-opacity='.5' fill-rule='nonzero' d='M6 18h12V6H6zM4 4h16v16H4z'/%3E%3C/svg%3E");background-repeat:repeat;background-size:4px 4px;padding:1.25rem}.search-page__form{display:grid;gap:.35rem}.search-page__bar{display:grid;grid-template-columns:1fr 2.75rem;border:1px solid #94a3b8;background:rgba(255,255,255,.85)}.search-page__bar input,.search-page__bar button{min-width:0;border:0;background:rgba(0,0,0,0)}.search-page__bar input{padding:.7rem .8rem;outline:0}.search-page__bar button{border-left:1px solid #cbd5e1;color:#475569;transition:background-color .3s cubic-bezier(.4, 0, .2, 1),color .3s cubic-bezier(.4, 0, .2, 1)}.search-page__bar button:hover{background-color:#f1f5f9;color:#0f172a}.search-results{display:grid;gap:1rem;margin-top:1rem}.search-results:empty{display:none}.search-results__empty{margin:0;color:#4b5563}.search-result{border-top:1px solid #cbd5e1;padding-top:1rem}.search-result h2{margin:0 0 .35rem;font-size:1.5rem;line-height:2rem}.search-result p{margin:0;color:#111827;overflow-wrap:break-word}.search-result mark{padding-inline:.15rem;background:rgba(55,48,163,.16);color:inherit}.search-result__meta{margin-top:.75rem;display:flex;justify-content:space-between;gap:1rem;color:#4b5563;font-size:.875rem}.link-no-line{border-bottom:2px solid rgba(0,0,0,0);transition:border-color .3s cubic-bezier(.4, 0, .2, 1)}.link-no-line:hover{border-bottom-color:#64748b}.link-line{border-bottom:2px solid currentColor;transition:border-color .3s cubic-bezier(.4, 0, .2, 1)}.link-line:hover{border-bottom-color:rgba(0,0,0,0)}.post-content{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='rgba(0, 0, 0, 0.1)' fill-opacity='.5' fill-rule='nonzero' d='M6 18h12V6H6zM4 4h16v16H4z'/%3E%3C/svg%3E");background-repeat:repeat;background-size:4px 4px;padding:1.25rem}.post-content a:not(:has(img)){color:#3730a3;border-bottom:2px solid rgba(55,48,163,.1);transition:border-color .3s cubic-bezier(.4, 0, .2, 1)}.post-content a:not(:has(img)):hover{border-bottom-color:#3730a3}.post-content p,.post-content li,.post-content blockquote:not(:last-child),.post-content address,.post-content dl{margin:0 0 1em;line-height:1.5;overflow-wrap:break-word;word-break:break-word}.post-content p:last-child,.post-content ul:last-child,.post-content li:last-child{margin-bottom:0}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin:0;padding:.8em 0;font-weight:700;line-height:1.2}.post-content h1{font-size:1.75em}.post-content h2{font-size:1.5em}.post-content h3{font-size:1.25em}.post-content h4{font-size:1.1em}.post-content h5{font-size:1em}.post-content h6{font-size:.8em;letter-spacing:1px;text-transform:uppercase}.post-content .anchor-link{margin-left:.5rem;border:0;color:#3730a3;font-size:1rem;line-height:1.5rem}.post-content .anchor-link::after{content:"";display:inline-block;width:1em;height:1em;font-family:"FontAwesome";font-weight:400;opacity:0;transition:opacity .3s cubic-bezier(.4, 0, .2, 1)}.post-content :where(h1,h2,h3,h4,h5,h6):hover .anchor-link::after{opacity:1}.post-content ul,.post-content ol{margin:0 0 1.3em 1.8em;padding:0}.post-content li{list-style:square;margin-bottom:.3rem}.post-content li:first-child{margin-top:0}.post-content li:last-child{margin-bottom:0}.post-content blockquote{position:relative;margin-inline:0;padding:1.25rem .75rem;background:rgba(229,231,235,.75)}.post-content blockquote p{margin-bottom:0;font-style:italic}.post-content pre,.post-content code,.post-content kbd{font-family:"Fira Code",Consolas,"Lucida Console",Monaco,monospace;font-size:.8125rem;line-height:1.7}.post-content pre,.post-content code:not(pre code),.post-content kbd{background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><circle cx="50" cy="50" r="20" fill="rgba(0, 0, 0, 0.1)" fill-opacity=".5"/></svg>');background-repeat:repeat;background-size:4px 4px;border:1px solid #94a3b8;border-bottom-color:#64748b;background-color:rgba(226,232,240,.75);transition:border-color .3s cubic-bezier(.4, 0, .2, 1)}.post-content pre:hover,.post-content code:not(pre code):hover,.post-content kbd:hover{border-color:#475569}.post-content pre{position:relative;margin:0 0 1rem;padding:.75rem;overflow:visible;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}.post-content code:not(pre code),.post-content kbd{padding:0 .25rem}.post-content img{margin-bottom:1.2em}.post-content figcaption{color:#4b5563;font-size:.875rem;font-style:italic}.pagination{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='rgba(0, 0, 0, 0.1)' fill-opacity='.5' fill-rule='nonzero' d='M6 18h12V6H6zM4 4h16v16H4z'/%3E%3C/svg%3E");background-repeat:repeat;background-size:4px 4px;display:flex;justify-content:center;align-items:center;width:max-content;max-width:100%;margin:2.5rem auto;border:1px solid #94a3b8;background-color:#fff;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);overflow-x:auto;font-family:"Fira Sans",system-ui,sans-serif}.pagination__item{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='rgba(0, 0, 0, 0.1)' fill-opacity='.5' fill-rule='nonzero' d='M6 18h12V6H6zM4 4h16v16H4z'/%3E%3C/svg%3E");background-repeat:repeat;background-size:4px 4px;display:block;border-left:1px solid #e2e8f0;padding:.25rem 1rem;background-color:#fff;color:#111827;font-weight:500;transition:background-color .3s cubic-bezier(.4, 0, .2, 1),color .3s cubic-bezier(.4, 0, .2, 1)}.pagination__item:hover{background-color:#f1f5f9}.pagination__item:first-child{border-left:0}.pagination__item.is-active{background-color:#64748b;color:#f8fafc}.pagination__item.is-active:hover{background-color:rgba(71,85,105,.85)}.pagination__item--prev,.pagination__item--next{color:#9ca3af;font-weight:700}.site-footer{border-top:1px solid #475569;box-shadow:0 -1px 3px 1px rgba(0,0,0,.1)}.site-footer__inner{width:min(100%,56rem);margin-inline:auto;padding:2.5rem 1.25rem 1.75rem;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:.5rem}.site-footer__inner section{padding-inline:1.25rem;border-left:1px solid rgba(248,250,252,.5)}.site-footer__inner section:first-child{padding-left:0;border-left:0}.site-footer__inner p{margin:0;font-size:.875rem}.footer-title{margin-bottom:.5rem !important;font-size:1rem !important;font-weight:700}.scrolltotop{background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><circle cx="50" cy="50" r="20" fill="rgba(0, 0, 0, 0.1)" fill-opacity=".5"/></svg>');background-repeat:repeat;background-size:4px 4px;position:fixed;right:1.25rem;bottom:1.75rem;width:2.5rem;height:2.5rem;border:0;background-color:rgba(71,85,105,.8);color:#f8fafc;box-shadow:0 1px 2px rgba(0,0,0,.05);backdrop-filter:blur(4px);transition:background-color .3s cubic-bezier(.4, 0, .2, 1)}.scrolltotop:hover{background-color:rgba(71,85,105,.9)}@media (max-width: 767px){.desktop-menu{display:none}.mobile-menu-button{display:block}.post-card__meta{align-items:flex-start}.site-footer__inner{grid-template-columns:1fr;padding-bottom:3.5rem}.site-footer__inner section{padding:1.25rem 0;border-left:0;border-top:1px solid rgba(248,250,252,.5)}.site-footer__inner section:first-child{padding-top:0;border-top:0}}