@charset "UTF-8";@font-face{font-display:swap;font-family:roboto;font-style:normal;font-weight:400;src:url(fonts/Roboto/roboto-v30-latin-regular.eot);src:url(fonts/Roboto/roboto-v30-latin-regular.eot?#iefix)format("embedded-opentype"),url(fonts/Roboto/roboto-v30-latin-regular.woff2)format("woff2"),url(fonts/Roboto/roboto-v30-latin-regular.woff)format("woff"),url(fonts/Roboto/roboto-v30-latin-regular.ttf)format("truetype"),url(fonts/Roboto/roboto-v30-latin-regular.svg#Roboto)format("svg")}*{-webkit-transition:background-color 75ms ease-in,border-color 75ms ease-in;-moz-transition:background-color 75ms ease-in,border-color 75ms ease-in;-ms-transition:background-color 75ms ease-in,border-color 75ms ease-in;-o-transition:background-color 75ms ease-in,border-color 75ms ease-in;transition:background-color 75ms ease-in,border-color 75ms ease-in}.notransition{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}html{overflow-x:hidden;width:100%}body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{min-height:100vh;overflow-x:hidden;position:relative;color:#434648;background-color:#fff;font:16px/1.85 Roboto,sans-serif;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;box-sizing:border-box}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure{margin-top:10px;margin-bottom:10px}strong,b{font-weight:700;color:#0d122b}hr{border-bottom:0;border-style:solid;border-color:#ececec}img{max-width:100%;vertical-align:middle;-webkit-user-drag:none;margin:0 auto;text-align:center}figure{position:relative}figure>img{display:block;position:relative}figcaption{font-size:13px;text-align:center}ul li{display:list-item;text-align:-webkit-match-parent}ol li{position:relative}ul,ol{margin-top:0;margin-left:30px}li{padding-bottom:1px;padding-top:1px}li:before{color:#0d122b}li>ul,li>ol{margin-bottom:2px;margin-top:0}h1,h2,h3,h4,h5,h6{color:#0d122b;font-weight:700}h1+ul,h1+ol,h2+ul,h2+ol,h3+ul,h3+ol,h4+ul,h4+ol,h5+ul,h5+ol,h6+ul,h6+ol{margin-top:10px}@media screen and (max-width:768px){h1,h2,h3,h4,h5,h6{scroll-margin-top:65px}}h1>a,h2>a,h3>a,h4>a,h5>a,h6>a{text-decoration:none;border:none}h1>a:hover,h2>a:hover,h3>a:hover,h4>a:hover,h5>a:hover,h6>a:hover{text-decoration:none;border:none}a{color:inherit;text-decoration-color:#d2c7c7}a:hover{color:#003fff}a:focus{outline:3px solid rgba(0,54,199,.6);outline-offset:2px}del{color:inherit}em{color:inherit}blockquote{color:#525b66;opacity:.9;border-left:5px solid #c4c8cc;padding:0 0 0 1rem;margin-left:.3rem;margin-right:.3rem;font-size:1em}blockquote>:last-child{margin-bottom:0;margin-top:0}.wrapper{max-width:-webkit-calc(720px - (30px * 2));max-width:calc(720px - (30px * 2));position:relative;margin-right:auto;margin-left:auto;padding-right:30px;padding-left:30px}@media screen and (max-width:768px){.wrapper{max-width:-webkit-calc(720px - (30px));max-width:calc(720px - (30px));padding-right:20px;padding-left:20px}.wrapper.blurry{animation:.2s ease-in forwards blur;-webkit-animation:.2s ease-in forwards blur}}u{text-decoration-color:#d2c7c7}small{font-size:14px}sup{border-radius:10%;top:-3px;left:2px;font-size:small;position:relative;margin-right:2px}.overflow-table{overflow-x:auto}table{width:100%;margin-top:15px;border-collapse:collapse;font-size:14px}table thead{font-weight:700;color:#0d122b;border-bottom:1px solid #ececec}table th,table td,table tr{border:1px solid #ececec;padding:2px 7px}.navbar:after,.wrapper:after{content:"";display:table;clear:both}mark,::selection{background:#fffba0;color:#0d122b}.gist table{border:0}.gist table tr,.gist table td{border:0}.navbar{height:auto;max-width:calc(890px - (30px * 2));max-width:-webkit-calc(890px - (30px * 2));position:relative;margin-right:auto;margin-left:auto;border-bottom:1px solid #ececec;padding:.5rem .3rem}.logo{float:left;margin:.5rem 0 0 1rem}.logo>svg{opacity:.7}.logo:hover>svg{opacity:1}@media screen and (max-width:768px){.logo{padding-top:.3rem}}.menu{user-select:none;-ms-user-select:none;-webkit-user-select:none}.menu ul{margin:0}.menu .menu-separator{margin-right:.7rem}@media screen and (max-width:768px){.menu .menu-separator{display:none}}.menu a#mode{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:.7;z-index:1}.menu a#mode:hover{cursor:pointer;opacity:1}.menu a#mode:active{-webkit-transform:scale(.9,.9);transform:scale(.9,.9)}.menu a#mode .mode-moon{display:block}.menu a#mode .mode-moon line{stroke:#0d122b;fill:none}.menu a#mode .mode-moon circle{fill:#0d122b;stroke:#0d122b}.menu a#mode .mode-sunny{display:none}.menu a#mode .mode-sunny line{stroke:#eaeaea;fill:none}.menu a#mode .mode-sunny circle{fill:none;stroke:#eaeaea}.menu .trigger{float:right;display:flex;align-items:center}.menu .menu-trigger{display:none}.menu .menu-icon{display:none}.menu li{display:inline-block;margin:0;padding:0;list-style:none}@media screen and (max-width:768px){.menu li{display:block;margin:0;padding:0;list-style:none}}.menu .menu-link{color:#0d122b;line-height:2.25;text-decoration:none;padding:.3rem .5rem;opacity:.7;letter-spacing:.015rem}.menu .menu-link:hover{opacity:1}.menu .menu-link:not(:last-child){margin-right:5px}@media screen and (max-width:768px){.menu .menu-link{opacity:.8}}.menu .menu-link.active{opacity:1;font-weight:600}@media screen and (max-width:768px){.menu{position:fixed;top:0;left:0;right:0;z-index:2;text-align:center;height:50px;background-color:#fff;border-bottom:1px solid #ececec}.menu a#mode{left:10px;top:12px}.menu .menu-icon{display:block;position:absolute;right:0;margin:.7rem .3rem 0 0;cursor:pointer;text-align:center;z-index:1}.menu .menu-icon>svg{opacity:.7}.menu .menu-icon:hover>svg{opacity:1}.menu .menu-icon:active{-webkit-transform:scale(.9,.9);transform:scale(.9,.9)}.menu input[type=checkbox]:not(:checked)~.trigger{clear:both;visibility:hidden}.menu input[type=checkbox]:checked~.trigger{position:fixed;animation:.2s ease-in forwards fadein;-webkit-animation:.2s ease-in forwards fadein;flex-direction:column;justify-content:center;height:100vh;width:100%;top:0}.menu .menu-link{display:block;box-sizing:border-box;font-size:1.1em}.menu .menu-link:not(:last-child){margin:0;padding:2px 0}}.author{margin-top:6.3rem;margin-bottom:7.2rem;text-align:center}@media screen and (max-width:768px){.author{margin-bottom:3em}}.author .author-avatar{width:70px;height:70px;border-radius:100%;user-select:none;-ms-user-select:none;-webkit-user-select:none;-webkit-animation:.5s ease-in forwards fadein;animation:.5s ease-in forwards fadein;opacity:1;object-fit:cover}.author .author-name{font-size:1.7em;margin-bottom:2px}.author .author-bio{margin:0 auto;opacity:.9;max-width:393px;line-height:1.688}.posts-item-note{padding-bottom:.3rem;font-weight:500;color:#0d122b}.post-item{display:flex;padding-top:5px;padding-bottom:6px;justify-content:space-between;flex-direction:row;align-items:center}.post-item:not(:first-child){border-top:1px solid #ececec}.post-item .post-item-date{min-width:96px;color:#0d122b}@media screen and (max-width:768px){.post-item .post-item-date{font-size:16px}}.post-item .post-item-title{margin:0;border:0;padding:0;font-size:16px;font-weight:400;letter-spacing:.1px}@media screen and (max-width:768px){.post-item .post-item-title{max-width:15rem}}.post-item .post-item-title a{color:#434648;transition:all 150ms ease-in 0s}.post-item .post-item-title a:hover,.post-item .post-item-title afocus{color:#0d122b}.footer{margin-top:8em;margin-bottom:2em;text-align:center}@media screen and (max-width:768px){.footer{margin-top:3em}}.footer span.footer_item{opacity:.8;font-weight:700;font-size:14px}.footer a.footer_item{opacity:.8;text-decoration:none}.footer a.footer_item:not(:last-child){margin-right:10px}.footer a.footer_item:not(:last-child):hover{opacity:1}.footer_copyright{font-size:13px;display:block;color:#6b7886;opacity:.8;margin-top:.7rem;padding:.3rem .95rem}.footer_social-icons a{text-decoration:none;margin-right:.31rem}.footer_social-icons svg{color:#888a90;height:24px;width:24px}.footer_social-icons svg:hover{color:#ddd}.not-found{text-align:center;display:flex;justify-content:center;flex-direction:column;height:75vh}.not-found .title{font-size:5em;font-weight:700;line-height:1.1;color:#0d122b;text-shadow:1px 0 0 #003fff}.not-found .phrase{color:#434648}.not-found .solution{color:#003fff;letter-spacing:.5px}.not-found .solution:hover{color:#0036c7}.search-article{position:relative;margin-bottom:50px}.search-article label[for=search-input]{position:relative;top:10px;left:11px}.search-article input[type=search]{top:0;left:0;border:0;width:100%;height:40px;outline:none;position:absolute;border-radius:5px;padding:10px 10px 10px 35px;color:#434648;-webkit-appearance:none;font-size:16px;background-color:rgba(128,128,128,.1);border:1px solid rgba(128,128,128,.1)}.search-article input[type=search]::-webkit-input-placeholder{color:gray}.search-article input[type=search]::-webkit-search-decoration,.search-article input[type=search]::-webkit-search-results-decoration{display:none}#search-results{text-align:center}#search-results li{text-align:left}.archive-tags{height:auto}.archive-tags .tag-item{padding:1px 3px;border-radius:2px;border:1px solid rgba(128,128,128,.1);background-color:rgba(128,128,128,.1)}sub,sup{font-size:79%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}kbd{font-size:85%;border-radius:3px;color:#333638;background:#d8dbe2;display:inline-block;font-family:Consolas,monaco,monospace;line-height:1;padding:2px 4px;white-space:nowrap}mark{background:#ff0;color:#000;border-radius:3px}@media screen and (max-width:768px){.wrapper.post{padding-left:15px;padding-right:15px}}.header{margin-top:7.8em}.header .header-title{font-size:2em;line-height:1.2;margin-top:10px;margin-bottom:20px}.header .header-title.center{text-align:center}@media screen and (max-width:768px){.header .header-title{font-size:1.9em}}.post-meta{padding-top:3px;line-height:1.3;color:#6b7886}.post-meta time{position:relative;margin-right:1.5em}.post-meta span[itemprop=author]{border-bottom:1px dotted #ececec}.page-content{padding-top:8px}.page-content iframe{text-align:center}.page-content figure img{border-radius:2px}.page-content figure figcaption{margin-top:5px;font-style:italic;font-size:14px}.page-content a{color:#003fff;text-decoration:none}.page-content a[target=_blank]::after{content:" \2197";font-size:14px;line-height:0;position:relative;bottom:5px;vertical-align:baseline}.page-content a:hover{color:#0036c7}.page-content a:focus{color:#003fff}.page-content>p{margin:0;padding-top:15px;padding-bottom:15px}.page-content ul.task-list{list-style:none;margin:0}.page-content ul.task-list li::before{content:""}.page-content ul.task-list li input[type=checkbox]{margin-right:10px}.page-content dl dt{font-weight:700}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6{color:#0d122b;font-weight:700;margin-top:30px;margin-bottom:0;letter-spacing:.03rem}.page-content h1:hover .anchor-head,.page-content h2:hover .anchor-head,.page-content h3:hover .anchor-head,.page-content h4:hover .anchor-head,.page-content h5:hover .anchor-head,.page-content h6:hover .anchor-head{color:#003fff;opacity:1}.page-content h1 .anchor-head,.page-content h2 .anchor-head,.page-content h3 .anchor-head,.page-content h4 .anchor-head,.page-content h5 .anchor-head,.page-content h6 .anchor-head{position:relative;opacity:0;outline:none}.page-content h1 .anchor-head::before,.page-content h2 .anchor-head::before,.page-content h3 .anchor-head::before,.page-content h4 .anchor-head::before,.page-content h5 .anchor-head::before,.page-content h6 .anchor-head::before{content:"#";position:absolute;right:-3px;width:1em;font-weight:700}.page-content h1{font-size:24px}.page-content h2{font-size:22px}.page-content h3{font-size:20px}.page-content h4{font-size:20px}.page-content h5{font-size:16px}.page-content h6{font-size:14px}.post-nav{display:flex;position:relative;margin-top:5em;border-top:1px solid #ececec;line-height:1.4}.post-nav .post-nav-item{border-bottom:0;font-weight:700;padding-bottom:10px;width:50%;padding-top:10px;text-decoration:none;box-sizing:border-box}.post-nav .post-nav-item .post-title{color:#0d122b}.post-nav .post-nav-item:hover .post-title,.post-nav .post-nav-item:focus .post-title{color:#0036c7;opacity:.9}.post-nav .post-nav-item .nav-arrow{font-weight:400;font-size:14px;color:#6b7886;margin-bottom:3px}.post-nav .post-nav-item:nth-child(odd){padding-left:0;padding-right:20px}.post-nav .post-nav-item:nth-child(even){text-align:right;padding-right:0;padding-left:20px}@media screen and (max-width:768px){.post-nav{display:block;font-size:14px}.post-nav .post-nav-item{display:block;width:100%}.post-nav .post-nav-item:nth-child(even){border-left:0;padding-left:0;border-top:1px solid #ececec}}.post-updated-at{font-family:ubuntu mono,monospace}code{font-family:Consolas,monospace;text-rendering:optimizeLegibility;font-feature-settings:"calt" 1;font-variant-ligatures:normal;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;font-size:inherit}li>code,p>code{white-space:pre-wrap;font-size:.9em;padding:1px 3px;position:relative;top:-1px;color:#333638;background-color:#d8dbe2;border-radius:2px;border:1px solid rgba(128,128,128,.1)}pre{background-color:#1a1b21;border-radius:.3rem;padding:.5rem 1rem;display:block;overflow-x:auto}@media screen and (max-width:768px){pre{margin:0 calc(51% - 51vw)}}pre::-webkit-scrollbar{height:.5rem}pre::-webkit-scrollbar-track{background:#606071;border-radius:.1rem}pre::-webkit-scrollbar-thumb{background:#999ea2;border-radius:.3rem}pre::-webkit-scrollbar-thumb:hover{background:#424546}pre>code{color:#fff;max-width:50rem;margin-left:auto;margin-right:auto;line-height:1.5;display:block;border:0}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight,.highlight .w{color:#fbf1c7}.highlight .err{color:#fb4934;font-weight:700}.highlight .c,.highlight .cd,.highlight .cm,.highlight .c1,.highlight .cs{color:#928374;font-style:italic}.highlight .cp{color:#8ec07c}.highlight .nt{color:#fb4934}.highlight .o,.highlight .ow{color:#fbf1c7}.highlight .p,.highlight .pi{color:#fbf1c7}.highlight .gi{color:#b8bb26;background-color:#282828}.highlight .gd{color:#fb4934;background-color:#282828}.highlight .gh{color:#b8bb26;font-weight:700}.highlight .k,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kv{color:#fb4934}.highlight .kc{color:#d3869b}.highlight .kt{color:#fabd2f}.highlight .kd{color:#fe8019}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .sh,.highlight .sx,.highlight .s1{color:#b8bb26;font-style:italic}.highlight .si{color:#b8bb26;font-style:italic}.highlight .sr{color:#b8bb26;font-style:italic}.highlight .se{color:#fe8019}.highlight .nn{color:#8ec07c}.highlight .nc{color:#8ec07c}.highlight .no{color:#d3869b}.highlight .na{color:#b8bb26}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo,.highlight .mb,.highlight .mx{color:#d3869b}.highlight .ss{color:#83a598}details{cursor:pointer}.toc{margin:1.1rem 0 1rem;padding:.5rem 1rem;border-radius:.3rem;background-color:#edecec}.toc ul{padding-top:1rem;margin-left:1rem;padding-left:1rem}.toc ul li{margin-bottom:.5em;line-height:1.4}@keyframes fadein{0%{opacity:.2}100%{opacity:1}}@keyframes blur{0%{filter:blur(0)}100%{filter:blur(4px)}}.embed-responsive{height:0;max-width:100%;overflow:hidden;position:relative;padding-bottom:56.25%;margin-top:20px}.embed-responsive iframe,.embed-responsive object,.embed-responsive embed{top:0;left:0;width:100%;height:100%;position:absolute}.main-404{padding:9rem 0;text-align:center}@media(prefers-color-scheme:dark){html:not(.light) body{color:#babdc4;background-color:#131418}html:not(.light) h1,html:not(.light) h2,html:not(.light) h3,html:not(.light) h4,html:not(.light) h5,html:not(.light) h6{color:#eaeaea}html:not(.light) table thead{color:#eaeaea;border-color:#1b1d25}html:not(.light) table th,html:not(.light) table td,html:not(.light) table tr{border-color:#1b1d25}html:not(.light) .page-content a{color:#77a8fd}html:not(.light) .page-content a:hover,html:not(.light) .page-content a:active,html:not(.light) .page-content a:focus{color:#5292ff}html:not(.light) .page-content h3{border-color:#1b1d25}html:not(.light) .page-content h1 .anchor-head,html:not(.light) .page-content h2 .anchor-head,html:not(.light) .page-content h3 .anchor-head,html:not(.light) .page-content h4 .anchor-head,html:not(.light) .page-content h5 .anchor-head,html:not(.light) .page-content h6 .anchor-head{color:#77a8fd}html:not(.light) .toc{background-color:#323232}html:not(.light) #totop{color:#babdc4;background-color:#676767b3}html:not(.light) #totop:hover{background-color:#676767}html:not(.light) li>code,html:not(.light) p>code{font-size:.9em;padding:1px 3px;position:relative;top:-1px;color:#c2c4ca;background-color:#2d2d2d;border-radius:2px;border:1px solid rgba(128,128,128,.1)}html:not(.light) kbd{color:#c2c4ca;background-color:#2d2d2d}html:not(.light) hr{border-color:#1b1d25}html:not(.light) .post-meta{color:#767f87}html:not(.light) .post-meta time::after{background-color:#1b1d25}html:not(.light) .post-meta span[itemprop=author]{border-color:#1b1d25}html:not(.light) a{color:inherit;text-decoration-color:#4a4d56}html:not(.light) a:hover{color:#77a8fd}html:not(.light) a:focus{outline-color:rgba(44,118,246,.6)}html:not(.light) li:before{color:#eaeaea}html:not(.light) blockquote{color:#9b9ba3;border-color:#4a4d56}html:not(.light) strong,html:not(.light) b{color:#eaeaea}html:not(.light) .navbar{border-color:#1b1d25}html:not(.light) .navbar .menu a#mode .mode-sunny{display:block}html:not(.light) .navbar .menu a#mode .mode-moon{display:none}html:not(.light) .navbar .menu .menu-link{color:#eaeaea}}@media screen and (prefers-color-scheme:dark) and (max-width:768px){html:not(.light) .navbar .menu{background-color:#131418;border-color:#1b1d25}html:not(.light) .navbar .menu input[type=checkbox]:checked~.trigger{background:#131418}}@media(prefers-color-scheme:dark){html:not(.light) .post-item:not(:first-child){border-color:#1b1d25}html:not(.light) .post-item .post-item-date{color:#eaeaea}html:not(.light) .post-item .post-item-title a{color:#babdc4}html:not(.light) .post-item .post-item-title a:hover,html:not(.light) .post-item .post-item-title afocus{color:#eaeaea}html:not(.light) .post-nav{border-color:#1b1d25}html:not(.light) .post-nav .post-nav-item{font-weight:700}html:not(.light) .post-nav .post-nav-item .post-title{color:#eaeaea;opacity:.9}html:not(.light) .post-nav .post-nav-item:hover .post-title,html:not(.light) .post-nav .post-nav-item:focus .post-title{color:#5292ff}html:not(.light) .post-nav .post-nav-item .nav-arrow{color:#767f87}}@media screen and (prefers-color-scheme:dark) and (max-width:768px){html:not(.light) .post-nav .post-nav-item:nth-child(even){border-color:#1b1d25}}@media(prefers-color-scheme:dark){html:not(.light) .footer span.footer_item{color:#eaeaea}html:not(.light) .footer a.footer_item:not(:last-child){color:#eaeaea}html:not(.light) .footer .footer_copyright{color:#767f87;opacity:1}html:not(.light) .not-found .title{color:#eaeaea;text-shadow:1px 0 0 #77a8fd}html:not(.light) .not-found .phrase{color:#babdc4}html:not(.light) .not-found .solution{color:#77a8fd}html:not(.light) .not-found .solution:hover{color:#5292ff}html:not(.light) .search-article input[type=search]{color:#babdc4}html:not(.light) .search-article input[type=search]::-webkit-input-placeholder{color:rgba(128,128,128,.8)}}html.dark body{color:#babdc4;background-color:#131418}html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark h5,html.dark h6{color:#eaeaea}html.dark table thead{color:#eaeaea;border-color:#1b1d25}html.dark table th,html.dark table td,html.dark table tr{border-color:#1b1d25}html.dark .page-content a{color:#77a8fd}html.dark .page-content a:hover,html.dark .page-content a:active,html.dark .page-content a:focus{color:#5292ff}html.dark .page-content h3{border-color:#1b1d25}html.dark .page-content h1 .anchor-head,html.dark .page-content h2 .anchor-head,html.dark .page-content h3 .anchor-head,html.dark .page-content h4 .anchor-head,html.dark .page-content h5 .anchor-head,html.dark .page-content h6 .anchor-head{color:#77a8fd}html.dark .toc{background-color:#323232}html.dark #totop{color:#babdc4;background-color:#676767b3}html.dark #totop:hover{background-color:#676767}html.dark li>code,html.dark p>code{font-size:.9em;padding:1px 3px;position:relative;top:-1px;color:#c2c4ca;background-color:#2d2d2d;border-radius:2px;border:1px solid rgba(128,128,128,.1)}html.dark kbd{color:#c2c4ca;background-color:#2d2d2d}html.dark hr{border-color:#1b1d25}html.dark .post-meta{color:#767f87}html.dark .post-meta time::after{background-color:#1b1d25}html.dark .post-meta span[itemprop=author]{border-color:#1b1d25}html.dark a{color:inherit;text-decoration-color:#4a4d56}html.dark a:hover{color:#77a8fd}html.dark a:focus{outline-color:rgba(44,118,246,.6)}html.dark li:before{color:#eaeaea}html.dark blockquote{color:#9b9ba3;border-color:#4a4d56}html.dark strong,html.dark b{color:#eaeaea}html.dark .navbar{border-color:#1b1d25}html.dark .navbar .menu a#mode .mode-sunny{display:block}html.dark .navbar .menu a#mode .mode-moon{display:none}html.dark .navbar .menu .menu-link{color:#eaeaea}@media screen and (max-width:768px){html.dark .navbar .menu{background-color:#131418;border-color:#1b1d25}html.dark .navbar .menu input[type=checkbox]:checked~.trigger{background:#131418}}html.dark .post-item:not(:first-child){border-color:#1b1d25}html.dark .post-item .post-item-date{color:#eaeaea}html.dark .post-item .post-item-title a{color:#babdc4}html.dark .post-item .post-item-title a:hover,html.dark .post-item .post-item-title afocus{color:#eaeaea}html.dark .post-nav{border-color:#1b1d25}html.dark .post-nav .post-nav-item{font-weight:700}html.dark .post-nav .post-nav-item .post-title{color:#eaeaea;opacity:.9}html.dark .post-nav .post-nav-item:hover .post-title,html.dark .post-nav .post-nav-item:focus .post-title{color:#5292ff}html.dark .post-nav .post-nav-item .nav-arrow{color:#767f87}@media screen and (max-width:768px){html.dark .post-nav .post-nav-item:nth-child(even){border-color:#1b1d25}}html.dark .footer span.footer_item{color:#eaeaea}html.dark .footer a.footer_item:not(:last-child){color:#eaeaea}html.dark .footer .footer_copyright{color:#767f87;opacity:1}html.dark .not-found .title{color:#eaeaea;text-shadow:1px 0 0 #77a8fd}html.dark .not-found .phrase{color:#babdc4}html.dark .not-found .solution{color:#77a8fd}html.dark .not-found .solution:hover{color:#5292ff}html.dark .search-article input[type=search]{color:#babdc4}html.dark .search-article input[type=search]::-webkit-input-placeholder{color:rgba(128,128,128,.8)}.list-page .post-year{padding-bottom:.5rem}.icon-star{color:orange;height:16px;margin-right:1rem;width:16px;display:block}.post-item-right{margin-left:auto;margin-right:0}@keyframes bp-fadein{from{opacity:.01}to{opacity:1}}@keyframes bp-bar{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes bp-o{from{transform:rotate(0)}to{transform:rotate(360deg)}}.bp-wrap{top:0;left:0;width:100%;height:100%;position:fixed;z-index:999;contain:strict;touch-action:none;-webkit-tap-highlight-color:transparent}.bp-wrap>div:first-child{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);animation:bp-fadein .48s cubic-bezier(.215,.61,.355,1)}.bp-vid audio{position:absolute;left:14px;width:calc(100% - 28px);bottom:14px;height:50px}.bp-inner{top:0;left:0;width:100%;height:100%;position:absolute;display:flex}.bp-html{display:contents}.bp-html>:first-child{margin:auto}.bp-img-wrap{top:0;left:0;width:100%;height:100%;position:absolute;contain:strict}.bp-img-wrap .bp-canzoom{cursor:zoom-in}.bp-img-wrap .bp-drag{cursor:grabbing}.bp-close{contain:layout size}.bp-img{position:absolute;top:50%;left:50%;user-select:none;background-size:100% 100%}.bp-img img,.bp-img div{position:absolute;top:0;left:0;width:100%;height:100%}.bp-img .bp-o{display:none}.bp-zoomed .bp-img:not(.bp-drag){cursor:grab}.bp-zoomed .bp-cap{opacity:0;animation:none!important}.bp-zoomed.bp-small .bp-controls{opacity:0}.bp-zoomed.bp-small .bp-controls button{pointer-events:none}.bp-controls{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;text-align:left;transition:opacity .3s;animation:bp-fadein .3s}.bp-controls button{pointer-events:auto;cursor:pointer;position:absolute;border:0;background:rgba(0,0,0,.15);opacity:.9;transition:all .1s;contain:content}.bp-controls button:hover{background-color:rgba(0,0,0,.2);opacity:1}.bp-controls svg{fill:#fff}.bp-count{position:absolute;color:rgba(255,255,255,.9);line-height:1;margin:16px;height:50px;width:100px}.bp-prev,.bp-next{top:50%;right:0;margin-top:-32px;height:64px;width:58px;border-radius:3px 0 0 3px}.bp-prev:hover:before,.bp-next:hover:before{transform:translateX(-2px)}.bp-prev:before,.bp-next:before{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z'/%3E%3C/svg%3E");position:absolute;left:7px;top:9px;width:46px;transition:all .2s}.bp-prev{right:auto;left:0;transform:scalex(-1)}.bp-x{top:0;right:0;height:55px;width:58px;border-radius:0 0 0 3px}.bp-x:before{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23fff'%3E%3Cpath d='M24 10l-2-2-6 6-6-6-2 2 6 6-6 6 2 2 6-6 6 6 2-2-6-6z'/%3E%3C/svg%3E");position:absolute;width:37px;top:8px;right:10px}.bp-if,.bp-vid{position:relative;margin:auto;background:#000;background-size:100% 100%}.bp-if iframe,.bp-if video,.bp-if div,.bp-vid iframe,.bp-vid video,.bp-vid div{top:0;left:0;width:100%;height:100%;position:absolute;border:0}.bp-load{display:flex;background-size:100% 100%;overflow:hidden;z-index:1}.bp-bar{position:absolute;top:0;left:0;height:3px;width:100%;transform:translateX(-100%);background:rgba(255,255,255,.9);border-radius:0 3px 3px 0;animation:bp-bar 4s both}.bp-o,.bp-o:after{border-radius:50%;width:90px;height:90px}.bp-o{margin:auto;border:10px solid rgba(255,255,255,.2);border-left-color:rgba(255,255,255,.9);animation:bp-o 1s infinite linear}.bp-cap{position:absolute;bottom:2%;background:rgba(9,9,9,.8);color:rgba(255,255,255,.9);border-radius:4px;max-width:95%;line-height:1.3;padding:.6em 1.2em;left:50%;transform:translateX(-50%);width:fit-content;width:-moz-fit-content;display:table;transition:opacity .3s;animation:bp-fadein .2s}.bp-cap a{color:inherit}.bp-inline{position:absolute}.bp-lock{overflow-y:hidden}.bp-lock body{overflow:scroll}.bp-noclose .bp-x{display:none}.bp-noclose:not(.bp-zoomed){touch-action:pan-y}.bp-noclose:not(.bp-zoomed) .bp-img-wrap{cursor:zoom-in}@media(prefers-reduced-motion){.bp-wrap *{animation-duration:0s!important}}@media(max-width:500px){.bp-x{height:47px;width:47px}.bp-x:before{width:34px;top:6px;right:6px}.bp-prev,.bp-next{margin-top:-27px;height:54px;width:45px}.bp-prev:before,.bp-next:before{top:7px;left:2px;width:43px}.bp-o,.bp-o:after{border-width:6px;width:60px;height:60px}.bp-count{margin:12px 10px}}.app-store-badges{text-align:center}.app-store-badges a{display:inline-block;overflow:hidden;height:80px}.app-store-badges a::after{display:none}.app-store-badges a img,.app-store-badges a svg{width:auto;height:80px}.app-store-badges a:not(:last-child){margin-right:1em}.app-item{display:inline-block;text-align:center}.app-item .app-item-title{margin:0;font-weight:100}@media screen and (max-width:768px){.app-item .app-item-title{font-size:.9em}}.app-item a{display:block}.app-item img{border-radius:25%;margin-bottom:.2em}.app-item a,.app-item a:hover{color:#434648}.app-item img{filter:drop-shadow(0 4px 10px #c4c8cc)}@media(prefers-color-scheme:dark){html:not(.light) .app-item a,html:not(.light) .app-item a:hover{color:#babdc4}html:not(.light) .app-item img{filter:drop-shadow(0 4px 10px #4a4d56)}}html.dark .app-item a,html.dark .app-item a:hover{color:#babdc4}html.dark .app-item img{filter:drop-shadow(0 4px 10px #4a4d56)}.app-item{transition:transform .5s}.app-item:hover{transition:transform .1s;transform:scale(1.1)}.app-item span{transition:opacity .2s}.app-item:hover span{opacity:0}.app-image{position:relative;--effect-size:16%;--effect-scale:1.2;--image-scale:calc(var(--effect-scale) * 0.9);transition:transform .2s ease-in-out;--polka-dots-size:7px;--effect-delay:0s;--effect1-color:gray;--effect2-color:darkgray;--effect1-background:radial-gradient(var(--effect1-color) 35%, transparent 35%);--effect2-background:radial-gradient(var(--effect2-color) 35%, transparent 35%)}.app-image:hover{transform:scale(var(--image-scale))}.app-image .app-effect-1,.app-image .app-effect-2{border-radius:30%;display:block;mix-blend-mode:multiply;top:calc(var(--effect-size)/2);left:calc(var(--effect-size)/2);width:calc(100% - var(--effect-size));height:calc(100% - var(--effect-size));opacity:0;position:absolute;transform:scale(var(--effect-scale));transition:transform .1s ease-in-out,opacity .3s ease-in-out}.app-image .app-effect-1{background-image:var(--effect1-background),var(--effect1-background);background-position:0 0,calc(var(--polka-dots-size)/2)calc(var(--polka-dots-size)/2);background-size:var(--polka-dots-size)var(--polka-dots-size);background-color:initial}.app-image .app-effect-2{background-image:var(--effect2-background),var(--effect2-background);background-position:0 0,calc(var(--polka-dots-size)/2)calc(var(--polka-dots-size)/2);background-size:var(--polka-dots-size)var(--polka-dots-size);background-color:initial}.app-item:hover .app-effect-1{animation:app-effect-rotate 1.8s linear infinite;animation-delay:var(--effect-delay);opacity:1}.app-item:hover .app-effect-2{animation:app-effect-rotate 1.2s linear infinite;animation-delay:var(--effect-delay);opacity:1}.app-item:nth-of-type(1) .app-image{--effect1-color:rgb(255, 0, 0);--effect2-color:yellow;--effect-delay:-0.1s}.app-item:nth-of-type(2) .app-image{--effect1-color:orange;--effect2-color:cyan;--effect-delay:-0.5s}.app-item:nth-of-type(3) .app-image{--effect1-color:cyan;--effect2-color:#E7A9FF;--effect-delay:-0.9s}.app-item:nth-of-type(4) .app-image{--effect1-color:lime;--effect2-color:#E056FD;--effect-delay:-0.9s}@keyframes app-effect-rotate{0%{top:0;left:calc(var(--effect-size)/2)}25%{top:calc(var(--effect-size)/2);left:0}50%{top:calc(var(--effect-size));left:calc(var(--effect-size)/2)}75%{top:calc(var(--effect-size)/2);left:calc(var(--effect-size))}100%{top:0;left:calc(var(--effect-size)/2)}}.breadcrumb~header.header{margin-top:2em}.page-content .breadcrumb{margin-top:5em;margin-bottom:2em}.page-content .breadcrumb ol{margin:0;padding:0 .5em;display:inline-block;font-family:Consolas,monospace;border:1px solid #c4c8cc;border-radius:.5em}.page-content .breadcrumb ol li{display:inline}.page-content .breadcrumb ol li a{color:#525b66}.page-content .breadcrumb ol li:hover a{color:#0d122b}.page-content .breadcrumb ol li:not(:last-child)::after{opacity:.6;padding:0 .3em;content:"»";color:transparent;background-image:url(/img/chevron.right.0.svg);background-repeat:no-repeat;background-size:contain;background-origin:content-box;background-position:50%;border:.2em solid transparent}.page-content .breadcrumb ol li:nth-child(1)::after{background-image:url(/img/chevron.right.1.svg)}.page-content .breadcrumb ol li:nth-child(2)::after{background-image:url(/img/chevron.right.2.svg)}.page-content .breadcrumb ol li:nth-child(3)::after{background-image:url(/img/chevron.right.3.svg)}.page-content .breadcrumb ol li:nth-child(4)::after{background-image:url(/img/chevron.right.4.svg)}.page-content .breadcrumb ol li:nth-child(5)::after{background-image:url(/img/chevron.right.5.svg)}.page-content .breadcrumb ol li:nth-child(6)::after{background-image:url(/img/chevron.right.6.svg)}@media(prefers-color-scheme:dark){html:not(.light) .page-content .breadcrumb ol{border:1px solid #4a4d56}html:not(.light) .page-content .breadcrumb ol li a{color:#9b9ba3}html:not(.light) .page-content .breadcrumb ol li:hover a{color:#eaeaea}html:not(.light) .page-content .breadcrumb ol li:not(:last-child)::after{filter:invert(100%)}}html.dark .page-content .breadcrumb ol{border:1px solid #4a4d56}html.dark .page-content .breadcrumb ol li a{color:#9b9ba3}html.dark .page-content .breadcrumb ol li:hover a{color:#eaeaea}html.dark .page-content .breadcrumb ol li:not(:last-child)::after{filter:invert(100%)}@media screen and (max-width:768px){.author{margin-top:10em}}.author .author-avatar{width:8em;height:8em}@media screen and (max-width:768px){.author .author-avatar{width:6em;height:6em}}.author .author-name{font-size:2.3em;line-height:1.1;margin-top:1em;display:flex;justify-content:center;flex-direction:row;column-gap:.25em}@media screen and (max-width:768px){.author .author-name{font-size:1.5em}}.author .author-name span{display:inline-block;overflow-y:clip;perspective:500px;perspective-origin:center}.author .author-name span span{display:inline-block;transform-origin:center;transform-style:preserve-3d}.author .author-name span.animating-out span{animation:animation-text-leave 1s ease-out forwards}.author .author-name span.animating-in span{animation:animation-text-appear 1s ease-out forwards}.author .author-subline{transition:opacity 1s ease-out}.author .author-subline.animating-out{opacity:0}.author p{text-align:center;max-width:80%;margin-left:auto;margin-right:auto}.author p:first-of-type{margin-top:0;font-style:italic}@media screen and (max-width:768px){.author p{max-width:90%;font-size:.9em}}.author .author-availability span{padding:.2em .5em;border-radius:2em;background-color:#d8dbe2}.author .author-availability span::before{content:'';display:inline-block;margin:0 .5em .1em .1em;height:.5em;width:.5em;background-color:#88fc4d;border-radius:1em;box-shadow:0 0 6px #88fc4d}@media(prefers-color-scheme:dark){html:not(.light) .author .author-availability span{background-color:#4a4d56}}html.dark .author .author-availability span{background-color:#4a4d56}@keyframes animation-text-leave{0%{opacity:1;transform:translate(0,0)rotateX(0)}100%{opacity:.2;transform:translate(0,1em)rotateX(-100deg)}}@keyframes animation-text-appear{0%{opacity:.2;transform:translate(0,-1em)rotateX(100deg)}100%{opacity:1;transform:translate(0,0)rotateX(0)}}@use 'sass:color';.carousel-container{--carousel-max-width:1800px;--carousel-height:300px;--carousel-horizontal-margin:5em;--carousel-vertical-margin:2em;--carousel-background:#e0e0e0;--carousel-page-background:255, 255, 255}.carousel-container.carousel-variant-embed{--carousel-max-width:890px;--carousel-height:120px;--carousel-horizontal-margin:1.5em;--carousel-vertical-margin:2em;--carousel-background:transparent;--carousel-page-background:255, 255, 255}@media screen and (max-width:768px){.carousel-container{--carousel-height:150px;--carousel-horizontal-margin:2em;--carousel-vertical-margin:2em}.carousel-container.carousel-variant-embed{--carousel-height:80px;--carousel-horizontal-margin:0.5em;--carousel-vertical-margin:1.5em}}@media(prefers-color-scheme:dark){html:not(.light) .carousel-container{--carousel-background:#323232;--carousel-page-background:19, 20, 24 /* $dark-black */}html:not(.light) .carousel-container.carousel-variant-embed{--carousel-background:tansparent;--carousel-page-background:19, 20, 24 /* $dark-black */}}html.dark .carousel-container{--carousel-background:#323232;--carousel-page-background:19, 20, 24 /* $dark-black */}html.dark .carousel-container.carousel-variant-embed{--carousel-background:tansparent;--carousel-page-background:19, 20, 24 /* $dark-black */}.carousel-container{width:min(100vw,var(--carousel-max-width));position:relative;left:max(50%,calc(50% + (100vw - var(--carousel-max-width))/2));right:max(50%,calc(50% + (100vw - var(--carousel-max-width))/2));margin-left:-50vw;margin-right:-50vw;margin-bottom:0;margin-top:1em;z-index:1}.carousel-container.carousel-variant-embed{margin-top:0}.carousel-container{position:relative}.carousel-container::before,.carousel-container::after{content:'';position:absolute;top:0;bottom:0;width:var(--carousel-horizontal-margin);z-index:3}.carousel-container::before{left:0}.carousel-container::after{right:0}.carousel-container::before{background:linear-gradient(90deg,rgba(var(--carousel-page-background),1) 35%,rgba(var(--carousel-page-background),0))}.carousel-container::after{background:linear-gradient(-90deg,rgba(var(--carousel-page-background),1) 35%,rgba(var(--carousel-page-background),0))}.carousel{display:flex;flex-wrap:nowrap;align-items:center;list-style-type:none;white-space:nowrap;overflow-x:scroll;overflow-y:hidden;scroll-behavior:smooth}.carousel .carousel-item{flex-shrink:0}.carousel .carousel-item:first-child{margin-left:auto}.carousel .carousel-item:last-child{margin-right:auto}.carousel{-ms-overflow-style:none;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.carousel{margin:0;padding:var(--carousel-vertical-margin)var(--carousel-horizontal-margin);background-color:var(--carousel-background);box-shadow:inset 0 0 0 1em #f9f9f9}@media(prefers-color-scheme:dark){html:not(.light) .carousel{background-color:var(--carousel-background);box-shadow:inset 0 0 0 1em #131418}}html.dark .carousel{background-color:var(--carousel-background);box-shadow:inset 0 0 0 1em #131418}.carousel a{display:block;margin:0 .5em}.carousel a img,.carousel a video{display:block;height:var(--carousel-height);max-height:var(--carousel-height);width:auto;border:none;margin:0}.carousel a{border:1px solid #c4c8cc}.carousel a:hover img,.carousel a:hover video{filter:drop-shadow(0 0 12px #c4c8cc)}@media(prefers-color-scheme:dark){html:not(.light) .carousel a{border:1px solid #4a4d56}html:not(.light) .carousel a:hover img,html:not(.light) .carousel a:hover video{filter:drop-shadow(0 0 12px #4a4d56)}}html.dark .carousel a{border:1px solid #4a4d56}html.dark .carousel a:hover img,html.dark .carousel a:hover video{filter:drop-shadow(0 0 12px #4a4d56)}.carousel-item{transition:opacity .4s,transform .4s}.carousel:hover .carousel-item{opacity:.4}.carousel:hover .carousel-item:hover{z-index:2;opacity:1;transform:scale(1.1)translateY(-1em)}.carousel-item{position:relative}.carousel-item .image-title{display:block;opacity:0;transition:opacity .4s;position:absolute;left:0;right:0;bottom:-1.5em;text-align:center;font-size:.8em}.carousel-item .image-title span{border:1px solid #c4c8cc;background-color:#f9f9f9;color:#434648;padding:.3em .5em;border-radius:10em}.carousel-item:hover .image-title{opacity:1}@media(prefers-color-scheme:dark){html:not(.light) .carousel-item .image-title span{border-color:#4a4d56;background-color:#131418;color:#babdc4}}html.dark .carousel-item .image-title span{border-color:#4a4d56;background-color:#131418;color:#babdc4}.carousel .carousel-video{position:relative}.carousel .carousel-video a::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-position:50%;background-image:url(/img/play_icon.svg);background-repeat:no-repeat;background-size:50% 50%;filter:drop-shadow(0 0 .2rem gray)}.carousel .carousel-video a:hover::after{background-image:url(/img/play_icon_hover.svg)}.page-content.contact h1{font-family:loraine,sans-serif;font-size:3.5em;line-height:1}.page-content.contact .content{margin-top:6em;position:relative}.page-content.contact .content .content-header{display:flex;flex-direction:row;align-items:center;column-gap:10%;margin-bottom:5em}@media screen and (max-width:768px){.page-content.contact .content .content-header{flex-direction:column-reverse;align-items:end;margin-bottom:3em}}.page-content.contact .content .content-header .contact-images{max-width:21em}@media screen and (max-width:768px){.page-content.contact .content .content-header .contact-images{max-width:12em}}.page-content.contact .content .content-header .contact-card{transform:rotate(3deg)}@media screen and (max-width:768px){.page-content.contact .content .content-header .contact-card{transform:rotate(1.5deg)}}.page-content.contact .content .contact-text{margin-left:10%;max-width:80%}@media screen and (max-width:768px){.page-content.contact .content .contact-text{margin-left:0;max-width:unset}}.page-content .contact-card{padding:1em 1.5em;border-radius:1em;margin-bottom:2em;border:2px solid #e0e0e0;box-shadow:0 0 12px #e0e0e0}.page-content .contact-card h2{line-height:1.3;margin:0 0 1em}.page-content .contact-card ul{list-style:none;margin:0;display:flex;flex-direction:column;justify-content:stretch}.page-content .contact-card li{display:flex;flex-direction:row;align-items:center}.page-content .contact-card li svg{max-width:1.2em;max-height:1.2em;margin-right:1em}.page-content .contact-card li svg *{fill:#434648}.page-content .contact-card li a{color:#434648;text-decoration:underline}.page-content .contact-card li a::after{display:none}@media(prefers-color-scheme:dark){html:not(.light) .page-content .contact-card{border-color:#323232;box-shadow:0 0 12px #323232}html:not(.light) .page-content .contact-card li svg *{fill:#babdc4}html:not(.light) .page-content .contact-card li a{color:#babdc4}}html.dark .page-content .contact-card{border-color:#323232;box-shadow:0 0 12px #323232}html.dark .page-content .contact-card li svg *{fill:#babdc4}html.dark .page-content .contact-card li a{color:#babdc4}.draw-wrapper{position:relative;max-height:0}.draw-controls{position:absolute;top:4em;right:30px}.draw-controls.enabled{z-index:11}@media screen and (max-width:768px){.draw-controls{top:6em;right:1.4em}}.draw-wrapper h4.note{position:absolute;touch-action:none;pointer-events:none;top:-1rem;right:4rem;width:7em;text-align:right;transform:rotateZ(-2deg)}@media screen and (max-width:768px){.draw-wrapper h4.note{right:2.5em}}.draw-wrapper h4.note::after{content:"";display:block;background-image:url(/svg/home-arrow-draw.svg);background-repeat:no-repeat;background-position:50%;background-size:contain;position:absolute;bottom:-1.2rem;right:-1.5rem;width:3rem;height:2rem}.draw-controls ul{margin:0}.draw-controls ul li{list-style:none;display:flex}.draw-controls ul li button{display:block;padding:0;line-height:1;width:1.8rem;height:1.8rem;align-items:center;justify-content:center;border:none;background-image:url(/img/draw_control.png);background-size:cover;background-repeat:no-repeat;background-position:50%}.draw-controls ul li button#draw-toggle,.draw-controls ul li button#draw-prev{margin-bottom:.7em}.draw-controls ul li button#draw-toggle img,.draw-controls ul li button#draw-prev img{max-width:1.1rem;max-height:1.1rem}.draw-controls ul li button.selected{background-image:url(/img/draw_control_enabled.png)}.draw-controls ul li button.selected:active{background-image:url(/img/draw_control.png)}.draw-controls ul li button:active{background-image:url(/img/draw_control_enabled.png)}.draw-controls ul li button[id^=draw-color]{background-image:url(/img/draw_color_control.png)}.draw-controls ul li button[id^=draw-color].selected{background-image:url(/img/draw_color_control_enabled.png)}.draw-controls ul li button#draw-color-text{background-color:#0d122b}.draw-controls button:not(#draw-toggle){display:none}.draw-controls.enabled button:not(#draw-toggle){display:block}@media(prefers-color-scheme:dark){html:not(.light) .draw-controls button#draw-color-text{background-color:#eaeaea}}html.dark .draw-controls button#draw-color-text{background-color:#eaeaea}.draw-area{position:absolute;top:0;left:0;right:0;bottom:0;display:none;background-color:rgba(67,70,72,.2);z-index:10}.draw-area.enabled{display:block}.draw-area canvas{position:absolute;display:block;top:0;left:0;height:100vh;width:100vw}@media(prefers-color-scheme:dark){html:not(.light) .draw-area{background-color:rgba(186,189,196,.2)}}html.dark .draw-area{background-color:rgba(186,189,196,.2)}footer .footer_social-icons svg{color:#0d122b;opacity:.5;transition:opacity .2s}footer .footer_social-icons svg:hover{color:#0d122b;opacity:1}@media(prefers-color-scheme:dark){html:not(.light) footer .footer_social-icons svg{color:#eaeaea}html:not(.light) footer .footer_social-icons svg:hover{color:#eaeaea}}html.dark footer .footer_social-icons svg{color:#eaeaea}html.dark footer .footer_social-icons svg:hover{color:#eaeaea}.lightbox-single-image{margin:2em 0;display:flex;flex-direction:column;align-items:center;row-gap:.25em}.lightbox-single-image:focus{outline:none}.lightbox-single-image img,.lightbox-single-image video{width:70%;display:block;border:1px solid #0d122b;height:auto;border-radius:10px}.lightbox-single-image span{font-style:italic;color:#525b66}@media(prefers-color-scheme:dark){html:not(.light) .lightbox-single-image img,html:not(.light) .lightbox-single-image video{border:1px solid #eaeaea}html:not(.light) .lightbox-single-image span{color:#9b9ba3}}html.dark .lightbox-single-image img,html.dark .lightbox-single-image video{border:1px solid #eaeaea}html.dark .lightbox-single-image span{color:#9b9ba3}nav.menu{display:flex;justify-content:space-between}@media screen and (max-width:768px){nav.menu{height:75px;font-size:1.3em}nav.menu .menu-icon{font-size:unset;padding:.7em;margin-top:.4em}nav.menu .trigger{max-width:0}nav.menu input[type=checkbox]:checked~.trigger{max-width:unset}}.navbar{border-bottom:1px solid #d8dbe2}@media(prefers-color-scheme:dark){html:not(.light) .navbar{border-bottom:1px solid #2d2d2d}}html.dark .navbar{border-bottom:1px solid #2d2d2d}@media screen and (max-width:768px){nav.menu input[type=checkbox]:checked~.trigger{background:#f9f9f9}}nav.menu a.home{text-decoration:none}nav.menu a.home .home-author .home-texts h2{margin:0;font-family:loraine,sans-serif;font-size:2em;line-height:1.1}nav.menu a.home .home-author .home-texts p{margin:0;font-size:.9em;line-height:1}@media screen and (max-width:768px){nav.menu a.home .home-author .home-texts{font-size:.8em;text-align:left;margin-left:1em;margin-top:.4em}nav.menu a.home .home-author .home-texts h2{line-height:1.2}}nav.menu a.home p{color:#434648}nav.menu a.home:hover *{color:#0d122b}@media(prefers-color-scheme:dark){html:not(.light) nav.menu a.home p{color:#babdc4}html:not(.light) nav.menu a.home:hover *{color:#eaeaea}}html.dark nav.menu a.home p{color:#babdc4}html.dark nav.menu a.home:hover *{color:#eaeaea}nav.menu #select-language{margin-right:.7em}@media screen and (max-width:768px){nav.menu #select-language{margin-bottom:1em;margin-right:0}}nav.menu #select-language li{display:inline-block}nav.menu #select-language li:not(.selected){opacity:70%}nav.menu #select-language li.selected{font-weight:700}nav.menu #select-language li:after{content:"•";opacity:100%;font-weight:400;padding:0 .2em}nav.menu #select-language li:last-child:after{content:unset}nav.menu #select-language a{text-decoration:none}nav.menu #select-language a:hover{color:#0d122b}@media(prefers-color-scheme:dark){html:not(.light) nav.menu #select-language a:hover{color:#eaeaea}}html.dark nav.menu #select-language a:hover{color:#eaeaea}.home-content{display:flex;flex-direction:row;column-gap:18%}.home-content .home-products{flex:30%}.home-content .home-products .home-products-items{display:grid;grid-template-columns:repeat(2,1fr);grid-column-gap:3em;grid-row-gap:1.6em}.home-content .home-work{flex:60%}.home-content .home-work .post-item{display:flex}.home-content .home-work .post-item-title{flex-grow:1;line-height:1.4;margin:.3em 0;max-width:unset}.home-content .home-work .post-item-title a{display:block}.home-content .home-work .post-item-title a span{transition:color 150ms ease-in-out;color:#525b66;font-size:smaller}.home-content .home-work .post-item-title a:hover span{color:#434648;font-size:smaller}.home-content .home-work .post-item-meta{white-space:nowrap;text-align:end}@media screen and (max-width:768px){.home-content{display:flex;flex-direction:column;row-gap:5em}.home-content .home-products{align-items:center;margin-right:0;margin-top:2em}.home-content .home-products .home-products-items{max-width:500px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);grid-column-gap:1.5em}.home-content .home-products .home-products-items .app-item{max-width:6em}}@media(prefers-color-scheme:dark){html:not(.light) .home-work .post-item-title a span{color:#9b9ba3}html:not(.light) .home-work .post-item-title a:hover span{color:#babdc4}}html.dark .home-work .post-item-title a span{color:#9b9ba3}html.dark .home-work .post-item-title a:hover span{color:#babdc4}.home-content main h3 a{transition:background-color .3s;margin-left:-.5em;padding:.1em .5em;border-radius:10em}.home-content main h3 a:hover{color:unset;background-color:rgba(67,70,72,.1)}@media(prefers-color-scheme:dark){html:not(.light) .home-content main h3 a:hover{background-color:rgba(186,189,196,.3)}}html.dark .home-content main h3 a:hover{background-color:rgba(186,189,196,.3)}.home-content main h3 a::after{content:"";display:inline-block;width:1em;height:.6em;padding-left:.2em;background-image:url(/img/chevron.right.8.svg);background-repeat:no-repeat;background-size:contain;background-origin:content-box;background-position:50%}.home-content main.home-work h3 a::after{background-image:url(/img/chevron.right.9.svg)}@media(prefers-color-scheme:dark){html:not(.light) .home-content main h3 a::after{filter:invert(100%)}}html.dark .home-content main h3 a::after{filter:invert(100%)}h4.note{opacity:.6;padding:0 .1em;font-family:loraine,sans-serif;font-weight:400;font-style:italic;font-size:1.6em;line-height:1}@media screen and (max-width:768px){h4.note{font-size:1.4em}}@media(prefers-color-scheme:dark){html:not(.light) h4.note::after{filter:invert(100%)}}html.dark h4.note::after{filter:invert(100%)}.home-content main{position:relative}.home-content main>h4{position:absolute}.home-content .home-products>h4{top:-1rem;right:-2rem;transform:rotateZ(3deg)}@media screen and (max-width:768px){.home-content .home-products>h4{right:3em}}.home-content .home-products>h4::after{content:"";display:block;background-image:url(/svg/home-arrow-products.svg);background-repeat:no-repeat;background-position:50%;background-size:contain;position:absolute;top:1.8rem;left:.1rem;width:2.5rem;height:2rem}.home-content .home-work>h4{top:-2rem;left:6rem;transform:rotateZ(-2deg)}.home-content .home-work>h4::after{content:"";display:block;background-image:url(/svg/home-arrow-posts.svg);background-repeat:no-repeat;background-position:50%;background-size:contain;position:absolute;top:.5rem;right:-2rem;width:2.5rem;height:3.5rem}.page-content p,.page-content ul,.page-content ol{position:relative}.page-content .illustration{pointer-events:none;touch-action:none;position:absolute;display:flex;margin:.5em 0;justify-content:center;align-items:center;opacity:.03;top:0;bottom:0;transition:opacity .3s;--offset-to-text:5em;--scale:20}@media screen and (max-width:1024px){.page-content .illustration{--offset-to-text:1em;--scale:12}}.page-content .illustration svg{height:calc(2.5em * var(--scale));width:calc(3em * var(--scale));transition:transform .1s}.page-content .illustration.left{left:calc(-3em * var(--scale)/2 - var(--offset-to-text))}.page-content .illustration.right{right:calc(-3em * var(--scale)/2 - var(--offset-to-text))}.page-content .illustration.illustration-0{transform:rotate(10deg)}.page-content .illustration.illustration-1{transform:rotate(-7deg)}.page-content .illustration.illustration-2{transform:rotate(15deg)}.page-content .illustration.illustration-3{transform:rotate(-12deg)}.page-content .illustration.illustration-4{transform:rotate(7deg)}@media(prefers-color-scheme:dark){html:not(.light) .page-content .illustration svg{filter:invert(100%)}}html.dark .page-content .illustration svg{filter:invert(100%)}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body{background-color:#f9f9f9}.animated{-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.wrapper{max-width:-webkit-calc(890px - (30px * 2));max-width:calc(890px - (30px * 2))}.header .header-title{font-family:loraine,sans-serif;font-size:3.5em;line-height:1em}.header .header-title:has(+.header-subtitle){margin-bottom:0}.header-subtitle{line-height:1;margin:0 0 2em}.header-subtitle.center{text-align:center}.page-content p{padding-bottom:0}a#totop{z-index:10}@media screen and (max-width:768px){.wrapper.post{padding-left:2em;padding-right:2em}}@supports(interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}details::details-content{transition:block-size .3s ease-out,content-visibility .3s ease-out;transition-behavior:allow-discrete;block-size:0;overflow:hidden}details[open]::details-content{block-size:auto}}details.hidden-marker{cursor:text}details.hidden-marker summary{cursor:pointer;position:relative}details.hidden-marker::marker{display:none}details.hidden-marker summary{list-style:none}.menu a#mode .mode-sunny{fill:#fff}@font-face{font-family:loraine;src:url(loraine.woff2)format("woff2"),url(loraine.woff)format("woff");font-display:swap}.products{display:grid;width:100%;grid-auto-rows:1fr;grid-template-columns:repeat(auto-fill,minmax(max(350px,calc(100% - 4em)/2),1fr));grid-column-gap:0;grid-row-gap:0}.products .product-item a{display:block;padding:1.5em 1em;height:calc(100% - 4em)}.products .product-item a .header-product{margin-bottom:.9em}.products .product-item .product-summary{color:#525b66}.products .product-item .product-summary br{margin-bottom:.5em}@media(prefers-color-scheme:dark){html:not(.light) .products .product-item .product-summary{color:#9b9ba3}}html.dark .products .product-item .product-summary{color:#9b9ba3}@media screen and (max-width:calc(2 * 20px + 2 * 350px - 1px)){.products{grid-auto-rows:unset}}.product-item{position:relative;transition:background-color .2s ease-in-out,border-radius .2s ease-in-out}.product-item::before{position:absolute;content:"";top:-15%;left:-15%;width:120%;height:120%;background-image:var(--bg-image);background-position:50%;background-repeat:no-repeat;background-size:contain;z-index:-1;opacity:0;transition:opacity .5s ease-out}.product-item:hover::before{opacity:100%}.product-item::before{filter:invert(100%)brightness(85%)saturate(0%)blur(2em)}@media(prefers-color-scheme:dark){html:not(.light) .product-item::before{filter:invert(100%)brightness(20%)saturate(0%)blur(2em)}}html.dark .product-item::before{filter:invert(100%)brightness(20%)saturate(0%)blur(2em)}.header-product{display:flex;align-items:center;margin-bottom:1.5em}.header-product .header-icon{border-radius:25%;max-height:5em;display:inline-block;margin:0}.header-product .header-texts{display:flex;flex-direction:column;justify-content:center;margin-left:1.4em}.header-product .header-texts .header-title{font-family:loraine,sans-serif;font-size:2.5em;line-height:.8;margin:0 0 .1em}.header-product .header-texts .header-descr{margin:0;font-size:1.1em;line-height:1.4;font-weight:100;opacity:80%}.header-product .header-icon{filter:drop-shadow(0 4px 10px #c4c8cc)}@media(prefers-color-scheme:dark){html:not(.light) .header-product .header-icon{filter:drop-shadow(0 4px 10px #4a4d56)}}html.dark .header-product .header-icon{filter:drop-shadow(0 4px 10px #4a4d56)}.products .header-product{font-size:.8em}@media screen and (max-width:768px){:not(.products) .header-product{font-size:.8em}}.stack{display:grid;list-style:none;margin:0 0 0 -1em;cursor:pointer}.stack li{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center}.stack li img{display:block;box-sizing:border-box;width:100%;height:auto;border:10px solid #0d122b}@media(prefers-color-scheme:dark){html:not(.light) .stack li img{border-color:#eaeaea}}html.dark .stack li img{border-color:#eaeaea}.stack{--stack-animation-duration:0.3;--stack-max-angle:-25;--stack-min-angle:-5;--stack-delta-angle:calc(var(--stack-max-angle) - var(--stack-min-angle));--stack-step-angle:calc(var(--stack-delta-angle) / var(--stack-images-count));transform:scale(.8)}.stack li{--stack-image-priority:calc(var(--stack-images-count) - var(--stack-image-index));--stack-image-angle:calc((var(--stack-min-angle) + (var(--stack-step-angle)) * var(--stack-image-index)));--stack-image-scale:1;z-index:var(--stack-image-priority);transition:transform calc(var(--stack-animation-duration) * 1s)ease-in;transform:scale(var(--stack-image-scale))rotate(calc(var(--stack-image-angle) * 1deg))}.stack:hover li.current{--stack-image-scale:1.1;--stack-image-angle:0}.stack li.moving-out,.stack:hover li.moving-out{transform:translateX(-50%)rotate(-10deg)translateX(-50%)scale(.8);transition-timing-function:ease-out}ul.tags{margin-left:0;margin-right:0;margin-top:1em}ul.tags li{list-style:none;display:inline-block;margin-bottom:.6em;margin-inline-end:.3em;padding:0 .5em;border-radius:10em 0 10em 10em;border:1px solid #c4c8cc;color:#525b66}@media(prefers-color-scheme:dark){html:not(.light) ul.tags li{border:1px solid #4a4d56;color:#9b9ba3}}html.dark ul.tags li{border:1px solid #4a4d56;color:#9b9ba3}.works .post-wrapper .details{padding:0 1em}.works .post-item{margin:.5em 0;padding:.5em 1em}.works .post-item .post-item-header{margin:.6em 0}.works .post-item .post-item-header .post-item-title{line-height:1.6;font-weight:700;font-size:1.2em}.works .post-item .post-item-header .post-item-subtitle{line-height:1.6;font-weight:400;font-size:1em}.works .post-item .post-item-details *{text-align:right;margin:0}.works details::marker{display:none}.works details summary{list-style:none}.post-item .post-item-subtitle{color:#434648}.post-item .post-item-details{color:#525b66}@media(prefers-color-scheme:dark){html:not(.light) .post-item-subtitle{color:#babdc4}html:not(.light) .post-wrapper .post-item-details{color:#9b9ba3}}html.dark .post-item-subtitle{color:#babdc4}html.dark .post-wrapper .post-item-details{color:#9b9ba3}.works .post-wrapper summary{perspective:1e3px;perspective-origin:center}.works .post-wrapper summary .post-item{transform-origin:center;transform-style:preserve-3d;border-radius:1em;transition:background-color .4s ease,all .2s ease-in-out}.post-wrapper .post-item{border:3px solid #e0e0e0}.post-wrapper summary:hover .post-item,.post-wrapper [open] .post-item{background-color:#e0e0e0}@media(prefers-color-scheme:dark){html:not(.light) .post-wrapper .post-item{border:3px solid #323232}html:not(.light) .post-wrapper summary:hover .post-item,html:not(.light) .post-wrapper [open] .post-item{background-color:#323232}}html.dark .post-wrapper .post-item{border:3px solid #323232}html.dark .post-wrapper summary:hover .post-item,html.dark .post-wrapper [open] .post-item{background-color:#323232}.works .post-wrapper .post-item{overflow:clip;position:relative}.works .post-wrapper .post-item::before{z-index:3;--size:400px;pointer-events:none;content:"";position:absolute;top:calc(var(--shiny-y,50%) * 1px - var(--size)/2);left:calc(var(--shiny-x,50%) * 1px - var(--size)/2);width:var(--size);height:var(--size);filter:blur(2em);background:radial-gradient(white,transparent 80%);opacity:0;transition:opacity .2s,top var(--shiny-animation,0s),left var(--shiny-animation,0s)}.works .post-wrapper summary:hover .post-item::before{opacity:.8}@media(prefers-color-scheme:dark){html:not(.light) .works .post-wrapper summary:hover .post-item::before{opacity:.2}}html.dark .works .post-wrapper summary:hover .post-item::before{opacity:.2}.wrapper.work .header{display:flex;flex-direction:row;justify-content:space-between;margin-bottom:2em}@media screen and (max-width:768px){.wrapper.work .header{font-size:.9em}}.wrapper.work .header .header-title{font-family:loraine,sans-serif;line-height:.7;margin:0 0 .2em}.wrapper.work .header .header-description{display:flex;flex-direction:column;align-items:flex-end;justify-content:end}.wrapper.work .header .header-description p{margin:0;text-align:right;line-height:1.3}.wrapper.work .header .header-description p:not(:last-child){margin-bottom:.4em}html{scroll-behavior:smooth}#totop{visibility:hidden;color:#434648;position:fixed;bottom:60px;right:30px;z-index:1;border-radius:10%;background-color:#dfe0e397;transition:visibility .5s,opacity .8s linear}#totop:hover{background-color:#dfe0e3}#totop svg{margin:auto;display:block;height:40px;width:40px}