@charset "UTF-8";::selection{background:#cf13cf33!important}hr{border:0;margin-top:3rem;margin-bottom:3rem}h1,h2,h3,h4,h5,h6{font-weight:500}blockquote{margin-left:0;margin-bottom:3rem}.page h1{margin-top:2rem;margin-bottom:2rem}h1 #contents{font-size:2.8rem;line-height:3.2rem}@media only screen and (max-width:768px){h1 #contents{font-size:2.6rem;line-height:3rem}}h2{font-size:32px}h3{margin:2.2rem 0 1.6rem}h4{margin-bottom:1.5rem}h5{margin:2.6rem 0 1.6rem}.subheader{display:block;font-size:2.2rem;line-height:3.2rem;margin:2.4rem 0 1.2rem}.swirl{margin-top:4rem;margin-bottom:4rem;margin-left:40px}.post-link-external{color:#b9b7b7;font-size:1.5rem;padding-left:2px}.centered .about h2{font-weight:200;padding-bottom:4px!important}a:hover,a:hover .post-link-external,a:focus .post-link-external{color:#cf13cf!important}a:hover code{background:#ff06}body.colorscheme-dark a:hover code{background:#0522a566}.navigation .navigation-title{font-size:2rem}ul{margin-top:.5rem;margin-bottom:.5rem}li ul{margin-top:0}.highlight{position:relative}.highlight pre{border:1px solid #676767;border-radius:4px}.copy-code-button{position:absolute;top:8px;right:8px;padding:6px 8px;background:rgba(255,255,255,.9);border:1px solid #d0d0d0;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .2s ease-in-out,background .2s ease-in-out;display:flex;align-items:center;justify-content:center}.copy-code-button svg{width:16px;height:16px;color:#333}.copy-code-button:hover{background:#fff;border-color:#999}.copy-code-button.copied{background:#4caf50;border-color:#4caf50}.copy-code-button.copied svg{color:#fff}.highlight:hover .copy-code-button{opacity:1}body.colorscheme-dark .copy-code-button{background:rgba(40,40,40,.9);border-color:#555}body.colorscheme-dark .copy-code-button svg{color:#e5e5e5}body.colorscheme-dark .copy-code-button:hover{background:#3c3c3c;border-color:#777}body.colorscheme-dark .copy-code-button.copied{background:#4caf50;border-color:#4caf50}body.colorscheme-dark .copy-code-button.copied svg{color:#fff}.hanchor{visibility:hidden;margin-left:1rem}a.hanchor{color:grey!important}h2:hover a,h3:hover a,h4:hover a,h5:hover a{visibility:visible}.colorscheme-toggle{margin-left:0!important}.navigation a:hover{text-decoration:none}article h2{margin-top:3rem}.content header{margin-top:3.8rem!important}.utterances{max-width:inherit}.home .about h1{font-weight:500}.home .about h2{font-size:1.9rem;padding-top:8px;padding-bottom:0}.home .about li{padding-left:3px;padding-right:3px}.home .about .home-icons{margin-top:5rem}.home .about .recent-posts{margin-top:5rem;text-align:left;max-width:500px;margin-left:auto;margin-right:auto}.home .about .recent-posts h3{font-size:1.6rem;font-weight:500;margin-bottom:1rem;color:#888;text-transform:uppercase;letter-spacing:.05em;text-align:center}.home .about .recent-posts .all-posts-link{text-align:center}.home .about .recent-posts ul{list-style:none;padding:0;margin:0}.home .about .recent-posts li{display:flex;justify-content:space-between;align-items:baseline;padding:.8rem 0;border-bottom:1px solid #e5e5e5}.home .about .recent-posts li:last-child{border-bottom:none}.home .about .recent-posts li a{font-size:1.6rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:initial}.home .about .recent-posts li .date{font-size:1.3rem;color:#999;margin-left:1.5rem;flex-shrink:0}@media only screen and (max-width:600px){.home .about .recent-posts li{flex-direction:column;gap:.3rem}.home .about .recent-posts li a{white-space:normal}.home .about .recent-posts li .date{margin-left:0}}.home .about .recent-posts .all-posts{display:inline-block;margin-top:1rem;font-size:1.4rem;color:#888}.home .about .recent-posts .all-posts:hover{color:#cf13cf!important}body.colorscheme-dark .home .about .recent-posts h3{color:#999}body.colorscheme-dark .home .about .recent-posts li{border-bottom-color:#444}body.colorscheme-dark .home .about .recent-posts .all-posts{color:#999}.navigation-list a,a.navigation-title{font-weight:500}.content .container{background:#fff;border:1px solid #a0a0a0;padding-bottom:3rem;margin-bottom:6rem}@media only screen and (max-width:1024px){.content .container{border:0 solid #000;background:#fafafa}}.content .container.home{border:0 solid #000;background:#fafafa}body.colorscheme-dark .content .container{background:#2a2a2a;border:0 solid #000}.list header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.view-toggle{display:flex;gap:.5rem;background:#f5f5f5;padding:.3rem;border-radius:8px}.view-btn{background:0 0;border:none;padding:.6rem;cursor:pointer;border-radius:6px;color:#666;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.view-btn:hover{background:rgba(0,0,0,5%);color:#333}.view-btn.active{background:#fff;color:#333;box-shadow:0 1px 3px rgba(0,0,0,.1)}.postlist{margin-top:4rem}.postlist hr{border-top:1px solid #e9e9e9!important}.postlist .post-entry{margin-top:3rem;display:flex;gap:2rem;align-items:flex-start;padding:2rem;margin-left:-2rem;margin-right:-2rem;border-radius:12px;transition:all .3s ease;cursor:pointer}.postlist .post-entry .thumbnail{flex-shrink:0;width:200px;order:2;overflow:hidden;border-radius:8px}.postlist .post-entry .thumbnail img{width:100%;height:auto;border-radius:8px;object-fit:cover;aspect-ratio:16/9;display:block;opacity:.85;transition:opacity .3s ease}.postlist .post-entry:hover .thumbnail img{opacity:1}.postlist .post-entry .content-wrapper{flex:1;min-width:0;order:1}.postlist .post-entry .description{padding-top:6px}.postlist .post-entry .date{padding-top:6px;color:#939393}.postlist .post-entry .date{padding-top:6px;color:#939393}.postlist .post-entry a.title{font-size:2.6rem;font-weight:500}.postlist .post-entry a.title.external-link::after{content:"↗";display:inline-block;margin-left:.5rem;font-size:1.8rem;color:#999;transition:transform .2s ease}.postlist .post-entry a.title.external-link:hover::after{color:#cf13cf!important}.postlist[data-view=grid]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.postlist[data-view=grid] hr{display:none}.postlist[data-view=grid] .post-entry{flex-direction:column;margin:0;padding:0;margin-left:0;margin-right:0;background:#fff;border:1px solid #e9e9e9}body.colorscheme-dark .postlist[data-view=grid] .post-entry{background:inherit;border:1px solid #7d7d7d}.postlist[data-view=grid] .post-entry:hover{background:#fff;border-color:#d0d0d0}body.colorscheme-dark .postlist[data-view=grid] .post-entry:hover{background:inherit;border:1px solid silver}.postlist[data-view=grid] .post-entry .thumbnail{width:100%;order:1;border-radius:12px 12px 0 0}.postlist[data-view=grid] .post-entry .thumbnail img{border-radius:12px 12px 0 0;aspect-ratio:16/9;opacity:.85;transition:opacity .3s ease}.postlist[data-view=grid] .post-entry:hover .thumbnail img{opacity:1}.postlist[data-view=grid] .post-entry .content-wrapper{order:2;padding:2rem}.postlist[data-view=grid] .post-entry a.title{font-size:2.2rem}.postlist[data-view=grid] .post-entry .description{font-size:1.5rem;margin-top:.8rem}.postlist[data-view=grid] .post-entry:nth-of-type(odd) .thumbnail{order:1}.postlist[data-view=grid] .post-entry:nth-of-type(odd) .content-wrapper{order:2}@media only screen and (max-width:768px){.list header{flex-direction:column;align-items:flex-start;gap:1rem}.postlist .post-entry{flex-direction:column}.postlist .post-entry .thumbnail{width:100%;order:1}.postlist .post-entry .content-wrapper{order:2}.postlist[data-view=grid]{grid-template-columns:1fr}}.postlist .tags .tag a{color:#b1b1b1!important;font-size:1.4rem}.tinyletter-subscribe{padding:2rem;text-align:center;margin:4rem 0;max-width:600px;margin:auto;font-size:1.6rem;border-radius:3px}.tinyletter-subscribe input{padding:4px;font-size:14px}.subscribe-form{text-align:center;padding-bottom:1rem}.subscribe-form p{margin-bottom:1.5rem;font-size:1.6rem;color:#666}.subscribe-form form{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.subscribe-form input[type=email]{padding:.8rem 1.2rem;font-size:1.5rem;border:1px solid #ccc;border-radius:4px;width:250px;max-width:100%}.subscribe-form input[type=email]:focus{outline:none;border-color:#cf13cf!important;transition:border-color .2s ease}.subscribe-form button{padding:.8rem 2rem;font-size:1.5rem;background:#a6a6a6;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s ease}.subscribe-form button:hover{background:#cf13cf!important}body.colorscheme-dark .subscribe-form p{color:#aaa}body.colorscheme-dark .subscribe-form input[type=email]{background:#2a2a2a;border-color:#555;color:#e5e5e5}body.colorscheme-dark .subscribe-form input[type=email]:focus{border-color:#888}body.colorscheme-dark .subscribe-form input[type=email]::placeholder{color:#888}body.colorscheme-dark .subscribe-form button{background:#555}body.colorscheme-dark .subscribe-form button:hover{background:#777}.bottomAbout .me .fab{color:#939191;transition-duration:.5s}.bottomAbout .me a{color:#212121}.bottomAbout .me a:hover{text-decoration:none}.bottomAbout .me a:hover .fab{color:#212121}.bottom-post-links{display:flex;margin-bottom:0}.bottom-post-links div{flex-grow:1;max-width:50%}.bottom-post-links .next{text-align:right}.bottom-post-links .title{font-size:1.2rem;color:#939393}.post-meta{color:grey}article header{margin-bottom:2rem!important}table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:1.5rem;overflow:hidden;border-radius:8px;border:1px solid #e0e0e0}thead{background:#f8f9fa}th{text-align:left;padding:1.2rem 1.5rem;font-weight:600;color:#333;border-bottom:1px solid #e0e0e0}td{padding:1rem 1.5rem;border-bottom:1px solid #eee;vertical-align:top}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#f8f9fa}.stamp{display:inline-block;padding:16px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15);--stamp-radius:5px;--stamp-spacing:10px;mask:radial-gradient(circle at var(--stamp-radius) 0,transparent var(--stamp-radius),black var(--stamp-radius))calc(-1 * var(--stamp-radius))0/var(--stamp-spacing)51% repeat-x,radial-gradient(circle at var(--stamp-radius) 100%,transparent var(--stamp-radius),black var(--stamp-radius))calc(-1 * var(--stamp-radius))100%/var(--stamp-spacing)51% repeat-x,radial-gradient(circle at 0 var(--stamp-radius),transparent var(--stamp-radius),black var(--stamp-radius))0 calc(-1 * var(--stamp-radius))/51% var(--stamp-spacing)repeat-y,radial-gradient(circle at 100% var(--stamp-radius),transparent var(--stamp-radius),black var(--stamp-radius))100% calc(-1 * var(--stamp-radius))/51% var(--stamp-spacing)repeat-y;-webkit-mask:radial-gradient(circle at var(--stamp-radius) 0,transparent var(--stamp-radius),black var(--stamp-radius))calc(-1 * var(--stamp-radius))0/var(--stamp-spacing)51% repeat-x,radial-gradient(circle at var(--stamp-radius) 100%,transparent var(--stamp-radius),black var(--stamp-radius))calc(-1 * var(--stamp-radius))100%/var(--stamp-spacing)51% repeat-x,radial-gradient(circle at 0 var(--stamp-radius),transparent var(--stamp-radius),black var(--stamp-radius))0 calc(-1 * var(--stamp-radius))/51% var(--stamp-spacing)repeat-y,radial-gradient(circle at 100% var(--stamp-radius),transparent var(--stamp-radius),black var(--stamp-radius))100% calc(-1 * var(--stamp-radius))/51% var(--stamp-spacing)repeat-y}.stamp img{display:block;border:1px solid #ccc}body.colorscheme-dark .stamp{background:#2a2a2a}body.colorscheme-dark .stamp img{border-color:#555}body.colorscheme-dark table{border-color:#444}body.colorscheme-dark thead{background:#2a2a2a}body.colorscheme-dark th{color:#e5e5e5;border-bottom-color:#444}body.colorscheme-dark td{border-bottom-color:#333}body.colorscheme-dark tbody tr:hover{background:#2a2a2a}