@import"https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap";/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}:root{--primary-hue: 200;--primary-saturation: 20%;--primary-light: 60%;--secondary-hue: 22;--secondary-saturation: 85%;--secondary-light: 60%;--text-hue: 200;--text-saturation: 10%;--text-light: 10%;--light-primary: hsl( var(--primary-hue), var(--primary-saturation), var(--primary-light) );--light-primary-transparent: hsl( var(--primary-hue), var(--primary-saturation), var(--primary-light), 60% );--light-secondary: hsl( var(--secondary-hue), var(--secondary-saturation), 60% );--light-text: hsl(var(--text-hue), var(--text-saturation), var(--text-light));--light-text-transparent: hsla( var(--text-hue), var(--text-saturation), var(--text-light), 60% );--light-text-secondary: hsl(var(--primary-hue), var(--text-saturation), 45%);--light-text-reverse: hsl(var(--primary-hue), 35%, 90%);--light-bg: 0, 0%, 98%;--light-bg-reverse: hsl(var(--primary-hue), 15%, 20%);--light-bg-grey: hsl(var(--primary-hue), var(--primary-saturation), 90%);--dark-primary: hsl( var(--primary-hue), var(--primary-saturation), var(--primary-light) );--dark-primary-transparent: hsl( var(--primary-hue), var(--primary-saturation), var(--primary-light), 60% );--dark-secondary: hsl(var(--secondary-hue), var(--secondary-saturation), 60%);--dark-bg: hsl(var(--primary-hue), 5%, 10%);--dark-bg-reverse: hsl(var(--primary-hue), 10%, 85%);--dark-bg-reverse-opacity: hsla(var(--primary-hue), 30%, 95%, .05);--dark-bg-opacity: hsla( var(--primary-hue), var(--primary-saturation), 15%, 95% );--dark-bg-secondary: hsl(var(--primary-hue), var(--primary-saturation), 15%);--dark-text: hsl(var(--text-hue), 30%, 90%);--dark-text-transparent: hsla(var(--text-hue), 30%, 90%, 50%);--dark-text-secondary: hsl(var(--primary-hue), 30%, 65%);--dark-text-reverse: hsl(var(--text-hue), var(--text-saturation), 25%);--font-base-size: 18px;--breakpoint-s-m: 576.98px;--breakpoint-m-l: 992.98px;--font-family-serif: Lora, Georgia, Songti TC, Hiragino Mincho Pro, serif;--font-family-sans-serif: "Inter", Roboto, Segoe UI, Ubuntu, Helvetica Neue, Helvetica, Arial, "Noto Sans TC", sans-serif;--font-family-mono: "DM mono", monospace, "Kosugi Maru", "Noto Sans TC", sans-serif;--font-weight-bold: 600;--block-border-radius: 1ch}body{--color-primary: var(--light-primary);--color-primary-transparent: var(--light-primary-transparent);--color-secondary: var(--light-secondary);--color-text: var(--light-text);--color-text-transparent: var(--light-text-transparent);--color-text-reverse: var(--light-text-reverse);--color-text-secondary: var(--light-text-secondary);--color-bg: hsl(var(--light-bg));--color-bg-reverse: var(--light-bg-reverse);--color-bg-opacity: hsla(var(--light-bg), .9);--color-bg-opacity-3: hsla(var(--light-bg), .6);--color-bg-secondary: var(--light-bg-grey);--font-weight-normal: 400;--color-warning-background: hsla(38deg, 100%, 50%, .1);--color-warning: hsl(30deg, 100%, 50%);--color-info: hsl(230deg, 100%, 67%);--color-info-background: hsla(230deg, 100%, 67%, .1);--color-success-background: hsla(160deg, 100%, 40%, .1);--color-success: hsl(160deg, 50%, 50%);--color-danger-background: hsla(340deg, 95%, 43%, .1);--color-danger: hsl(340deg, 95%, 40%)}[data-theme=dark] body{--color-primary: var(--dark-primary);--color-primary-transparent: var(--dark-primary-transparent);--color-secondary: var(--dark-secondary);--color-text: var(--dark-text);--color-text-transparent: var(--dark-text-transparent);--color-text-reverse: var(--dark-text-reverse);--color-text-secondary: var(--dark-text-secondary);--color-bg: var(--dark-bg);--color-bg-reverse: var(--dark-bg-reverse);--color-bg-opacity: var(--dark-bg-opacity);--color-bg-opacity-3: hsla(var(--dark-bg), .6);--color-bg-secondary: var(--dark-bg-secondary);--font-weight-normal: 300}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:var(--normal)}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}[data-theme=dark] .token.comment,[data-theme=dark] .token.prolog,[data-theme=dark] .token.doctype,[data-theme=dark] .token.cdata{color:#3c526d}[data-theme=dark] .token.punctuation{color:#111b27}[data-theme=dark] .token.delimiter.important,[data-theme=dark] .token.selector .parent,[data-theme=dark] .token.tag,[data-theme=dark] .token.tag .punctuation:is([data-theme=dark] .token){color:#006d6d}[data-theme=dark] .token.attr-name,[data-theme=dark] .token.boolean,[data-theme=dark] .token.boolean.important,[data-theme=dark] .token.number,[data-theme=dark] .token.constant,[data-theme=dark] .token.selector .attribute:is([data-theme=dark] .token){color:#755f00}[data-theme=dark] .token.class-name,[data-theme=dark] .token.key,[data-theme=dark] .token.parameter,[data-theme=dark] .token.property,[data-theme=dark] .token.property-access,[data-theme=dark] .token.variable{color:#005a8e}[data-theme=dark] .token.attr-value,[data-theme=dark] .token.inserted,[data-theme=dark] .token.color,[data-theme=dark] .token.selector .value:is([data-theme=dark] .token),[data-theme=dark] .token.string,[data-theme=dark] .token.string .url-link:is([data-theme=dark] .token){color:#116b00}[data-theme=dark] .token.builtin,[data-theme=dark] .token.keyword-array,[data-theme=dark] .token.package,[data-theme=dark] .token.regex{color:#af00af}[data-theme=dark] .token.function,[data-theme=dark] .token.selector .class:is([data-theme=dark] .token),[data-theme=dark] .token.selector .id:is([data-theme=dark] .token){color:#7c00aa}[data-theme=dark] .token.atrule .rule:is([data-theme=dark] .token),[data-theme=dark] .token.combinator,[data-theme=dark] .token.keyword,[data-theme=dark] .token.operator,[data-theme=dark] .token.pseudo-class,[data-theme=dark] .token.pseudo-element,[data-theme=dark] .token.selector,[data-theme=dark] .token.unit{color:#a04900}[data-theme=dark] .token.deleted,[data-theme=dark] .token.important{color:#c22f2e}[data-theme=dark] .token.keyword-this,[data-theme=dark] .token.this{color:#005a8e}[data-theme=dark] .token.important,[data-theme=dark] .token.keyword-this,[data-theme=dark] .token.this,[data-theme=dark] .token.bold{font-weight:700}[data-theme=dark] .token.delimiter.important{font-weight:inherit}[data-theme=dark] .token.italic{font-style:italic}[data-theme=dark] .token.entity{cursor:help}[data-theme=dark] .language-markdown .token.title,[data-theme=dark] .language-markdown .token.title .punctuation:is([data-theme=dark] .language-markdown .token){color:#005a8e;font-weight:700}[data-theme=dark] .language-markdown .token.blockquote.punctuation{color:#af00af}[data-theme=dark] .language-markdown .token.code{color:#006d6d}[data-theme=dark] .language-markdown .token.hr.punctuation{color:#005a8e}[data-theme=dark] .language-markdown .token.url>.content:is([data-theme=dark] .language-markdown .token){color:#116b00}[data-theme=dark] .language-markdown .token.url-link{color:#755f00}[data-theme=dark] .language-markdown .token.list.punctuation{color:#af00af}[data-theme=dark] .language-markdown .token.table-header,[data-theme=dark] .language-json .token.operator{color:#111b27}[data-theme=dark] .line-highlight.line-highlight{background:#8da1b92f;background:linear-gradient(to right,#8da1b92f 70%,#8da1b925)}[data-theme=dark] .line-highlight.line-highlight:before,[data-theme=dark] .line-highlight.line-highlight[data-end]:after{background-color:#3c526d;color:#e3eaf2;box-shadow:0 1px #8da1b9}[data-theme=dark] pre.linkable-line-numbers.linkable-line-numbers[id] span.line-numbers-rows>span:hover:before{background-color:#3c526d1f}[data-theme=dark] .line-numbers.line-numbers .line-numbers-rows{border-right:1px solid #8da1b97a;background:#d0dae77a}[data-theme=dark] .line-numbers .line-numbers-rows>span:before{color:#3c526dda}:is([data-theme=dark] .rainbow-braces .token.token.punctuation.brace-level-1,[data-theme=dark] .rainbow-braces .token.token.punctuation.brace-level-5,[data-theme=dark] .rainbow-braces .token.token.punctuation.brace-level-9){color:#755f00}:is([data-theme=dark] .rainbow-braces .token.token.punctuation.brace-level-2,[data-theme=dark] .rainbow-braces .token.token.punctuation.brace-level-6,[data-theme=dark] .rainbow-braces .token.token.punctuation.brace-level-10){color:#af00af}:is([data-theme=dark] .rainbow-braces .token.token.punctuation.brace-level-3,[data-theme=dark] .rainbow-braces .token.token.punctuation.brace-level-7,[data-theme=dark] .rainbow-braces .token.token.punctuation.brace-level-11){color:#005a8e}:is([data-theme=dark] .rainbow-braces .token.token.punctuation.brace-level-4,[data-theme=dark] .rainbow-braces .token.token.punctuation.brace-level-8,[data-theme=dark] .rainbow-braces .token.token.punctuation.brace-level-12){color:#7c00aa}[data-theme=dark] pre.diff-highlight>code .token.token.deleted:not(.prefix),[data-theme=dark] pre>code.diff-highlight .token.token.deleted:not(.prefix){background-color:#c22f2e1f}[data-theme=dark] pre.diff-highlight>code .token.token.inserted:not(.prefix),[data-theme=dark] pre>code.diff-highlight .token.token.inserted:not(.prefix){background-color:#116b001f}[data-theme=dark] .command-line .command-line-prompt{border-right:1px solid #8da1b97a}[data-theme=dark] .command-line .command-line-prompt>span:before{color:#3c526dda}@font-face{font-family:Inter UI;font-style:normal;font-weight:400;src:url(/assets/fonts/Inter-Regular.woff2) format("woff2"),url(/assets/fonts/Inter-Regular.woff) format("woff")}@font-face{font-family:Inter UI;font-style:italic;font-weight:400;src:url(/assets/fonts/Inter-Italic.woff2) format("woff2"),url(/assets/fonts/Inter-Italic.woff) format("woff")}@font-face{font-family:Inter UI;font-style:normal;font-weight:600;src:url(/assets/fonts/Inter-SemiBold.woff2) format("woff2"),url(/assets/fonts/Inter-SemiBold.woff) format("woff")}@font-face{font-family:Inter UI;font-style:italic;font-weight:600;src:url(/assets/fonts/Inter-SemiBoldItalic.woff2) format("woff2"),url(/assets/fonts/Inter-SemiBoldItalic.woff) format("woff")}@font-face{font-family:Lora;font-display:swap;font-style:normal;src:url(/assets/fonts/Lora-Regular.ttf) format("truetype")}@font-face{font-family:Lora;font-display:swap;font-style:italic;src:url(/assets/fonts/Lora-Italic.ttf) format("truetype")}@font-face{font-family:Lora;font-display:swap;font-weight:600;font-style:italic;src:url(/assets/fonts/Lora-SemiBold.ttf) format("truetype")}@font-face{font-family:Lora;font-display:swap;font-weight:600;font-style:italic;src:url(/assets/fonts/Lora-SemiBoldItalic.ttf) format("truetype")}@font-face{font-family:DM mono;font-display:swap;font-style:normal;src:url(/assets/fonts/DMMono-Regular.ttf) format("truetype")}@font-face{font-family:DM mono;font-display:swap;font-style:italic;src:url(/assets/fonts/DMMono-Regular.ttf) format("truetype")}@font-face{font-family:Kosugi Maru;font-display:swap;src:url(https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap)}@font-face{font-family:Inter UI var;font-weight:100 900;font-style:oblique 0deg 10deg;src:url(/assets/fonts/Inter.var.woff2) format("woff2")}@font-face{font-family:Inter UI var alt;font-weight:100 900;font-style:normal;font-named-instance:"Regular";src:url(/assets/fonts/Inter-roman.var.woff2) format("woff2")}@font-face{font-family:Inter UI var alt;font-weight:100 900;font-style:italic;font-named-instance:"Italic";src:url(/assets/fonts/Inter-italic.var.woff2) format("woff2")}.article{--section-gap: 4rem;--extrude-size: 1.5rem;--gap: 2rem;--gap-size: var(--gap) 0;--spacing: 1.2rem}@media screen and (max-width: 80rem){.article{--section-gap: 2rem;--gap: 1.5rem;--extrude-size: 1rem;--spacing: .8rem}}.article{--link-color: var(--color-secondary)}.article :is(h1,h2,h3,h4,h5,h6){position:relative}.article :is(h1,h2,h3,h4,h5,h6) strong{color:var(--color-text)}.article :is(h1,h2,h3,h4,h5,h6)>a{word-break:break-all}.article :is(h1,h2,h3,h4,h5,h6)>a:first-child{position:absolute;left:-1.4ch}@media screen and (max-width: 80rem){.article :is(h1,h2,h3,h4,h5,h6)>a:first-child{left:-1.2ch}}.article :is(h1,h2,h3,h4,h5,h6)>a:first-child{color:var(--link-color)}.article :is(h1,h2,h3,h4,h5,h6)>a:first-child:after{content:unset}.article :is(h1,h2,h3,h4,h5,h6):before:hover{text-decoration:underline;text-decoration-thickness:.05em;cursor:pointer}.article a{word-break:break-all;color:var(--link-color);cursor:pointer;font-weight:500}.article a:after{--size: .6em;content:"";display:inline-block;height:var(--size);width:var(--size);margin-left:1px;transform:translateY(-.55em);background-color:var(--link-color);-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path fill="currentColor" d="M18.364 15.536L16.95 14.12l1.414-1.414a5 5 0 1 0-7.071-7.071L9.879 7.05 8.464 5.636 9.88 4.222a7 7 0 0 1 9.9 9.9l-1.415 1.414zm-2.828 2.828l-1.415 1.414a7 7 0 0 1-9.9-9.9l1.415-1.414L7.05 9.88l-1.414 1.414a5 5 0 1 0 7.071 7.071l1.414-1.414 1.415 1.414zm-.708-10.607l1.415 1.415-7.071 7.07-1.415-1.414 7.071-7.07z"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path fill="currentColor" d="M18.364 15.536L16.95 14.12l1.414-1.414a5 5 0 1 0-7.071-7.071L9.879 7.05 8.464 5.636 9.88 4.222a7 7 0 0 1 9.9 9.9l-1.415 1.414zm-2.828 2.828l-1.415 1.414a7 7 0 0 1-9.9-9.9l1.415-1.414L7.05 9.88l-1.414 1.414a5 5 0 1 0 7.071 7.071l1.414-1.414 1.415 1.414zm-.708-10.607l1.415 1.415-7.071 7.07-1.415-1.414 7.071-7.07z"/></svg>')}.article sup a{white-space:nowrap}.article p,.article li{line-height:1.6}.article p{margin:var(--gap-size)}.article li{padding:.4rem 0;list-style-type:unset;>p{margin:0}}.article li::marker{color:var(--color-text-secondary)}.article ol,.article ul{margin:var(--gap-size);padding-left:1.8rem;font-family:var(--font-family-serif);margin:0}@media screen and (max-width: 80rem){.article ol,.article ul{padding-left:0rem}}.article ol p,.article ul p{padding:0}.article p+:is(ul,ol,p){padding-top:0}.article :is(ol,ul) :is(ol,ul){padding-top:0;padding-bottom:0;padding-left:var(--spacing)}.article hr{margin-top:var(--section-gap);margin-bottom:var(--section-gap);color:var(--color-text-transparent);opacity:.5}.article figure{display:flex;flex-direction:column;align-items:center}.article figure img{box-shadow:0 0 4px var(--color-text-transparent),0 0 8px var(--color-text-transparent);border-radius:10px}.article figure figcaption{color:var(--color-text-secondary);font-size:.8em;font-weight:200;margin:.8em}:is(.article figure)+:is(.article figure){margin-block:var(--gap-size)}.article blockquote{position:relative;padding-inline:var(--gap);padding-block:calc(var(--gap) / 8);padding-right:0;margin:var(--gap) 0;font-family:var(--font-family-serif)}.article blockquote:before{top:0;left:0;content:"";position:absolute;display:block;height:100%;width:5px;background-color:var(--color-primary);border-radius:2px}.article blockquote>ol,.article blockquote>ul{padding:0}.article code{font-size:.9em;font-family:var(--font-family-mono)}.article *:not(pre)>code{display:inline-block;padding:.2ch .5ch;background-color:var(--color-bg-reverse);color:var(--color-text-reverse);border-radius:.4ch;margin:0 .4ch;line-height:1.1rem}.article pre{background-color:var(--color-bg-reverse);color:var(--color-text-reverse);margin:var(--spacing) calc(var(--extrude-size) * -1);padding:var(--spacing) 2rem;border-radius:var(--block-border-radius);font-size:.9em;line-height:inherit;overflow-x:auto}.article .iframe-container{width:calc(100% + calc(calc(var(--extrude-size)) * 2));margin:var(--gap) calc(var(--extrude-size) * -1)}.article .iframe-container>iframe{width:100%;aspect-ratio:500 / 315;box-shadow:0 0 4px var(--color-text-transparent),0 0 8px var(--color-text-transparent);border-radius:10px}.article .table-container{position:relative;width:calc(100% + 2 * var(--extrude-size));overflow-x:auto;margin:var(--gap-size);left:50%;transform:translate(-50%);border-radius:5px 5px 0 0}.article .table-container table{table-layout:fixed;min-width:100%;border-collapse:collapse}[data-theme=dark] :is(.article .table-container table){background-color:var(--dark-bg-reverse-opacity)}.article .table-container table tr,.article .table-container table tbody,.article .table-container table thead{width:100%}.article .table-container table tr:nth-child(2n){background-color:var(--color-bg-secondary)}.article thead th,.article thead td{border-top-width:0}.article thead{background-color:var(--color-bg-reverse);color:var(--color-text-reverse)}.article thead th,.article thead td{border-width:0}.article th,.article td{border:.5px solid var(--color-primary);padding:.7rem 2ch;width:min(-moz-min-content,30ch);width:min(min-content,30ch)}.article th:first-of-type,.article td:first-of-type{border-left-width:0}.article th:last-of-type,.article td:last-of-type{border-right-width:0}.article *:is(.footnotes,.epilogue){margin-block:calc(var(--section-gap) / 2);padding-block:calc(var(--section-gap) / 2);border-top:solid 1px var(--color-text)}.article :is(danger,warning,info,success){display:block;background-color:var(--color-bg-reverse);color:var(--color-text-reverse);margin:var(--spacing) calc(var(--extrude-size) * -1);padding:var(--spacing) 2rem;border-radius:var(--block-border-radius);font-size:.9em;line-height:inherit;overflow-x:auto;--gap: .8rem;--gap-size: .8rem 0}@media screen and (max-width: 80rem){.article :is(danger,warning,info,success){padding:var(--spacing) 2rem}}.article :is(danger,warning,info,success) pre{margin:unset}.article danger{color:var(--color-danger);background-color:var(--color-danger-background)}.article warning{color:var(--color-warning);background-color:var(--color-warning-background)}.article info{color:var(--color-info);background-color:var(--color-info-background)}.article success{color:var(--color-success);background-color:var(--color-success-background)}main img{content-visibility:auto}article *{scroll-margin-top:50px}header nav{z-index:1}html{font-size:var(--font-base-size);width:100vw;letter-spacing:.04ch}body{background-color:var(--color-bg);color:var(--color-text);overflow-x:hidden}*{transition:background-color .1s,color .1s}h1,h2,h3,h4,h5,h6,p{text-decoration:none;font-weight:var(--font-weight-normal);white-space:pre-line;overflow-wrap:break-word;margin:0}.dark-theme h1,.dark-theme h2,.dark-theme h3,.dark-theme h4,.dark-theme h5,.dark-theme h6{font-weight:400}h1,h2,h3,h4,h5,h6{line-height:1.2}li{list-style-type:none}li,blockquote{font-weight:var(--font-weight-normal)}h1{font-size:2rem;padding:3rem 0 1.6rem}h2{font-size:1.7rem;padding:2rem 0 .8rem}h3{font-size:1.4rem;padding:1.6rem 0 .8rem}h4{font-size:1.2rem;padding:1.2rem 0 .8rem}h5{font-size:1rem;padding:1.2rem 0 .8rem}h6{font-size:.9rem;padding:1.2rem 0 .8rem;font-weight:700}a{text-decoration:none;color:inherit;cursor:pointer}a:hover{text-decoration:underline}a:hover:before{text-decoration:underline}main{margin:50px 0 70px;min-height:75vh}strong{font-weight:var(--font-weight-bold);color:var(--color-secondary)}s{text-decoration-color:var(--color-text-secondary)}dialog{position:fixed;bottom:0;z-index:9999;color:var(--color-secondary);width:100vw;border-width:0;text-align:center;background-color:var(--color-bg-reverse);height:-moz-min-content;height:min-content}[data-theme=dark] img{filter:brightness(.9)}.rehype-figure{margin:1.2rem calc(var(--extrude-size) * -1)}img{width:auto;height:auto;-o-object-fit:contain;object-fit:contain;display:block;margin:0 auto;max-height:50vh;max-width:100%}body:not(.dark-theme) #light{display:none}body.dark-theme .post__content h1 a[href^="#"],body.dark-theme .post__content h2 a[href^="#"],body.dark-theme .post__content h3 a[href^="#"],body.dark-theme .post__content h5 a[href^="#"],body.dark-theme .post__content h4 a[href^="#"],body.dark-theme .post__content h6 a[href^="#"]{color:var(--color-secondary)}.center{--max-width: 60ch;width:100%;display:grid;grid-template-columns:1fr min(var(--max-width),calc(100% - 64px)) 1fr;grid-template-rows:min-content}.center>*{grid-column:2}.center--wide{--max-width: 1040px}.only-desktop{display:unset}.only-mobile{display:none}@media only screen and (max-width: 55em){.only-desktop{display:none!important}.only-mobile{display:inherit}}.time{font-size:.9em;font-family:var(--font-family-serif);white-space:nowrap}ul{margin:0;padding:0}.tag{text-transform:capitalize}.tag:before{content:"#"}pre .tag{text-transform:unset}pre .tag:before{content:none}article{padding:0}.postlist{padding:1em 0}.postlist li{position:relative;list-style-type:none;box-sizing:border-box}hr{margin:3rem auto;width:95%}.visual-icon[data-astro-cid-3llhhtbq]{fill:var(--color-primary)}.logo[data-astro-cid-tvrurpns]{margin:0;padding:0;text-align:left;font-size:var(--logo-size, min(3.5vw, 1rem))}.logo[data-astro-cid-tvrurpns] a[data-astro-cid-tvrurpns]{margin:0;color:var(--color-text);font-size:1.4em;text-decoration:none}.logo[data-astro-cid-tvrurpns] svg{height:1.5em;position:relative;top:.3em;margin-right:10px}.sun-and-moon{--ease-elastic-3: cubic-bezier(.5, 1.25, .75, 1.25);--ease-elastic-4: cubic-bezier(.5, 1.5, .75, 1.25);--ease-3: cubic-bezier(.25, 0, .3, 1);--ease-4: cubic-bezier(.25, 0, .2, 1);--ease-out-5: cubic-bezier(0, 0, 0, 1)}.sun-and-moon>:is(.moon,.sun,.sun-beams){transform-origin:center center}.sun-and-moon>:is(.moon,.sun){fill:var(--icon-fill)}.theme-toggle:is(:hover,:focus-visible) :is(.sun-and-moon>:is(.moon,.sun)){fill:var(--icon-fill-hover)}.sun-and-moon>.sun-beams{stroke:var(--icon-fill)}.theme-toggle:is(:hover,:focus-visible) :is(.sun-and-moon>.sun-beams){stroke:var(--icon-fill-hover)}[data-theme=dark] .sun-and-moon>.sun{transform:scale(1.75)}[data-theme=dark] .sun-and-moon>.sun-beams{opacity:0}[data-theme=dark] .sun-and-moon>.moon>circle{transform:translate(-7px)}@supports (cx: 1){[data-theme=dark] .sun-and-moon>.moon>circle{transform:translate(0);cx:17}}@media (prefers-reduced-motion: no-preference){.sun-and-moon>.sun{transition:transform .5s var(--ease-elastic-3)}.sun-and-moon>.sun-beams{transition:transform .5s var(--ease-elastic-4),opacity .5s var(--ease-3)}.sun-and-moon .moon>circle{transition:transform .25s var(--ease-4)}@supports (cx: 1){.sun-and-moon .moon>circle{transition:cx .25s var(--ease-4)}}[data-theme=dark] .sun-and-moon>.sun{transform:scale(1.75);transition-timing-function:var(--ease-3);transition-duration:.25s;transition-property:transform}[data-theme=dark] .sun-and-moon>.sun-beams{transform:rotate(-25deg);transition:transform .15s var(--ease-4),opacity .15s var(--ease-4)}[data-theme=dark] .sun-and-moon>.moon>circle{transition:transform .5s var(--ease-4) .25s}}.theme-toggle{background:none;border:none;padding:0;inline-size:var(--size);block-size:var(--size);aspect-ratio:1;border-radius:50%;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent;outline-offset:5px;--icon-fill: var(--color-primary);--icon-fill-hover: var(--color-secondary)}.theme-toggle>svg{inline-size:100%;block-size:100%}header[data-astro-cid-2w66rqv5]{top:0;position:sticky;margin-top:50px;padding:8px 0 15px;background-color:var(--color-bg-opacity-3);backdrop-filter:blur(5px);border-bottom:1px solid var(--color-bg-opacity-3);z-index:1}header[data-astro-cid-2w66rqv5] p[data-astro-cid-2w66rqv5]{margin-top:0}header[data-astro-cid-2w66rqv5]>div[data-astro-cid-2w66rqv5]{width:100%;display:flex;align-items:flex-end;justify-content:space-between}@media only screen and (max-width: 1140px){header[data-astro-cid-2w66rqv5]{position:relative;margin-top:20px;background-color:transparent}}.header__items{display:flex;align-items:baseline;gap:clamp(10px,2vw,2ch);--size: min(5vw, 1.5rem)}.header__items .rss{inline-size:var(--size);block-size:var(--size);fill:var(--color-primary)}header[data-astro-cid-2w66rqv5] nav[data-astro-cid-2w66rqv5]{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:4px}header[data-astro-cid-2w66rqv5] nav[data-astro-cid-2w66rqv5]>a[data-astro-cid-2w66rqv5]{font-size:1rem;font-weight:400;color:var(--color-text-secondary);text-transform:capitalize;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:transparent}header[data-astro-cid-2w66rqv5] nav[data-astro-cid-2w66rqv5]>a[data-astro-cid-2w66rqv5].current,header[data-astro-cid-2w66rqv5] nav[data-astro-cid-2w66rqv5]>a[data-astro-cid-2w66rqv5]:hover,header[data-astro-cid-2w66rqv5] nav[data-astro-cid-2w66rqv5]>a[data-astro-cid-2w66rqv5].currnent:hover{text-decoration-color:var(--color-secondary);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:3px}@media (prefers-reduced-motion: no-preference){header[data-astro-cid-2w66rqv5] nav[data-astro-cid-2w66rqv5]>a[data-astro-cid-2w66rqv5]{transition:text-decoration-color .2s}}.container[data-astro-cid-ak3upacl]{margin:20px 0 40px;display:flex;flex-direction:column}.info[data-astro-cid-ak3upacl]{display:flex;align-items:baseline}.icons[data-astro-cid-ak3upacl]{display:flex;margin-left:auto;align-items:center;--size: 1.2rem;gap:1rem}.icons[data-astro-cid-ak3upacl] svg{fill:var(--color-text);inline-size:var(--size);block-size:var(--size)}.icons[data-astro-cid-ak3upacl] .github-icon{--size: 1.1rem}footer[data-astro-cid-ak3upacl] .logo{--logo-size: calc(min(3.5vw, 1rem)*.8) }.copyright[data-astro-cid-ak3upacl]{font-size:.6em;color:var(--color-text-secondary);margin-top:5em}#hamburger{--size: 1.2cm;z-index:1;bottom:15%;right:10%;position:fixed;inline-size:var(--size);block-size:var(--size);pointer-events:auto}.hamburger__icon{inline-size:100%;block-size:100%;position:relative;background-color:var(--color-primary);border-radius:50%;z-index:100;--shadow-color: 0deg 0% 0%;box-shadow:.4px .8px 1.3px hsl(var(--shadow-color) / .03),2.4px 4.7px 7.4px -.3px hsl(var(--shadow-color) / .09),7.2px 14.2px 22.4px -.6px hsl(var(--shadow-color) / .15);overflow:hidden;transform:scale(1);transition:transform .2s}.hamburger__icon.hide{transform:scale(0)}.hamburger__icon>*{--size: 15px;display:block;position:absolute;width:calc(var(--size) * 1.5);height:2px;background-color:var(--dark-text);top:50%;left:50%;transform-origin:center}@media (prefers-reduced-motion: no-preference){.hamburger__icon>*{transition:all .4s cubic-bezier(.84,.06,.52,1.8)}}.hamburger__icon .top{transform:translate(-50%,calc(var(--size) * .5))}.hamburger__icon .mid{transform:translate(-50%)}.hamburger__icon .btm{transform:translate(-50%,calc(var(--size) * -.5))}.hamburger__icon.open .top{transform:translate(-50%) rotate(45deg)}.hamburger__icon.open .mid{opacity:0}.hamburger__icon.open .btm{transform:translate(-50%) rotate(-45deg)}.hamburger__menu{position:fixed;bottom:0;left:0;height:100vh;max-height:0vh;width:100%;background-color:var(--color-bg-opacity);overflow:hidden;opacity:0;transform:translateY(15vh);z-index:99;align-content:end}@media (prefers-reduced-motion: no-preference){.hamburger__menu{transition:.2s}}.hamburger__menu--open{max-height:100vh;opacity:1;transform:translateY(0)}.hamburger__menu--container{display:flex;flex-direction:column;align-self:end;margin-block-end:17vh}.hamburger__menu--container>a{font-size:1.2em;line-height:3em;padding-inline:3ch;text-transform:capitalize;color:var(--color-text);position:relative}.hamburger__menu--container>a.current-link:before{position:absolute;top:0;left:1ch;content:"";display:block;height:100%;width:.3ch;transform:scaleY(.8);background-color:var(--color-secondary)}.hamburger__container[data-astro-cid-tb2ep5pj]{--size: 1.2cm;z-index:1;bottom:17vh;right:10vw;position:fixed;inline-size:var(--size);block-size:var(--size)}
