/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,::before,::after{box-sizing:border-box}html{font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4;}body{margin:0;}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{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}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[data-theme=light] .z-code{color:#24292e;background-color:#fff}:root[data-theme=light] .z-hl{background-color:#f6f8fa}:root[data-theme=light] .giallo-ln{color:rgba(27,31,35,.3019607843)}:root[data-theme=light] .z-comment{color:#6a737d}:root[data-theme=light] .z-constant{color:#005cc5}:root[data-theme=light] .z-entity{color:#6f42c1}:root[data-theme=light] .z-keyword{color:#d73a49}:root[data-theme=light] .z-storage{color:#d73a49}:root[data-theme=light] .z-string{color:#032f62}:root[data-theme=light] .z-support{color:#005cc5}:root[data-theme=light] .z-variable{color:#e36209}:root[data-theme=light] .z-carriage-return{color:#fafbfc;background-color:#d73a49;font-style:italic;text-decoration:underline}:root[data-theme=light] .z-variable{color:#005cc5}:root[data-theme=light] .z-source{color:#032f62}:root[data-theme=light] .z-string.z-comment{color:#6a737d}:root[data-theme=light] .z-variable.z-language{color:#005cc5}:root[data-theme=light] .z-entity.z-name{color:#6f42c1}:root[data-theme=light] .z-storage.z-type{color:#d73a49}:root[data-theme=light] .z-meta.z-property-name{color:#005cc5}:root[data-theme=light] .z-variable.z-other{color:#24292e}:root[data-theme=light] .z-invalid.z-broken{color:#b31d28;font-style:italic}:root[data-theme=light] .z-invalid.z-deprecated{color:#b31d28;font-style:italic}:root[data-theme=light] .z-invalid.z-illegal{color:#b31d28;font-style:italic}:root[data-theme=light] .z-invalid.z-unimplemented{color:#b31d28;font-style:italic}:root[data-theme=light] .z-message.z-error{color:#b31d28}:root[data-theme=light] .z-source.z-regexp{color:#032f62}:root[data-theme=light] .z-string.z-regexp{color:#032f62}:root[data-theme=light] .z-support.z-constant{color:#005cc5}:root[data-theme=light] .z-support.z-variable{color:#005cc5}:root[data-theme=light] .z-meta.z-module-reference{color:#005cc5}:root[data-theme=light] .z-markup.z-heading{color:#005cc5;font-weight:bold}:root[data-theme=light] .z-markup.z-quote{color:#22863a}:root[data-theme=light] .z-markup.z-italic{color:#24292e;font-style:italic}:root[data-theme=light] .z-markup.z-bold{color:#24292e;font-weight:bold}:root[data-theme=light] .z-markup.z-underline{text-decoration:underline}:root[data-theme=light] .z-markup.z-strikethrough{text-decoration:line-through}:root[data-theme=light] .z-markup.z-deleted{color:#b31d28;background-color:#ffeef0}:root[data-theme=light] .z-markup.z-inserted{color:#22863a;background-color:#f0fff4}:root[data-theme=light] .z-markup.z-changed{color:#e36209;background-color:#ffebda}:root[data-theme=light] .z-markup.z-ignored{color:#f6f8fa;background-color:#005cc5}:root[data-theme=light] .z-markup.z-untracked{color:#f6f8fa;background-color:#005cc5}:root[data-theme=light] .z-meta.z-separator{color:#005cc5;font-weight:bold}:root[data-theme=light] .z-meta.z-output{color:#005cc5}:root[data-theme=light] .z-brackethighlighter.z-tag{color:#586069}:root[data-theme=light] .z-brackethighlighter.z-curly{color:#586069}:root[data-theme=light] .z-brackethighlighter.z-round{color:#586069}:root[data-theme=light] .z-brackethighlighter.z-square{color:#586069}:root[data-theme=light] .z-brackethighlighter.z-angle{color:#586069}:root[data-theme=light] .z-brackethighlighter.z-quote{color:#586069}:root[data-theme=light] .z-brackethighlighter.z-unmatched{color:#b31d28}:root[data-theme=light] .z-entity.z-name{color:#005cc5;font-weight:bold}:root[data-theme=light] .z-punctuation.z-definition.z-comment{color:#6a737d}:root[data-theme=light] .z-entity.z-name.z-constant{color:#005cc5}:root[data-theme=light] .z-variable.z-other.z-constant{color:#005cc5}:root[data-theme=light] .z-variable.z-other.z-enummember{color:#005cc5}:root[data-theme=light] .z-variable.z-parameter.z-function{color:#24292e}:root[data-theme=light] .z-entity.z-name.z-tag{color:#22863a}:root[data-theme=light] .z-storage.z-modifier.z-package{color:#24292e}:root[data-theme=light] .z-storage.z-modifier.z-import{color:#24292e}:root[data-theme=light] .z-storage.z-type.z-java{color:#24292e}:root[data-theme=light] .z-punctuation.z-definition.z-string{color:#032f62}:root[data-theme=light] .z-string.z-regexp.z-character-class{color:#032f62}:root[data-theme=light] .z-markup.z-inline.z-raw{color:#005cc5}:root[data-theme=light] .z-punctuation.z-definition.z-deleted{color:#b31d28;background-color:#ffeef0}:root[data-theme=light] .z-punctuation.z-definition.z-inserted{color:#22863a;background-color:#f0fff4}:root[data-theme=light] .z-punctuation.z-definition.z-changed{color:#e36209;background-color:#ffebda}:root[data-theme=light] .z-meta.z-diff.z-range{color:#6f42c1;font-weight:bold}:root[data-theme=light] .z-meta.z-diff.z-header{color:#005cc5}:root[data-theme=light] .z-string.z-other.z-link{color:#032f62;text-decoration:underline}:root[data-theme=light] .z-constant.z-character.z-escape{color:#032f62}:root[data-theme=light] .z-source.z-ruby.z-embedded{color:#032f62}:root[data-theme=light] .z-string.z-regexp.z-arbitrary-repitition{color:#032f62}:root[data-theme=light] .z-constant.z-character.z-escape{color:#22863a;font-weight:bold}:root[data-theme=light] .z-meta.z-diff.z-header.z-from-file{color:#b31d28;background-color:#ffeef0}:root[data-theme=light] .z-meta.z-diff.z-header.z-to-file{color:#22863a;background-color:#f0fff4}:root[data-theme=light] .z-constant.z-other.z-reference.z-link{color:#032f62;text-decoration:underline}:root[data-theme=light] .z-punctuation.z-definition.z-list.z-begin.z-markdown{color:#e36209}:root[data-theme=dark] .z-code{color:#e1e4e8;background-color:#24292e}:root[data-theme=dark] .z-hl{background-color:#2b3036}:root[data-theme=dark] .giallo-ln{color:#444d56}:root[data-theme=dark] .z-comment{color:#6a737d}:root[data-theme=dark] .z-constant{color:#79b8ff}:root[data-theme=dark] .z-entity{color:#b392f0}:root[data-theme=dark] .z-keyword{color:#f97583}:root[data-theme=dark] .z-storage{color:#f97583}:root[data-theme=dark] .z-string{color:#9ecbff}:root[data-theme=dark] .z-support{color:#79b8ff}:root[data-theme=dark] .z-variable{color:#ffab70}:root[data-theme=dark] .z-carriage-return{color:#24292e;background-color:#f97583;font-style:italic;text-decoration:underline}:root[data-theme=dark] .z-variable{color:#79b8ff}:root[data-theme=dark] .z-source{color:#9ecbff}:root[data-theme=dark] .z-string.z-comment{color:#6a737d}:root[data-theme=dark] .z-variable.z-language{color:#79b8ff}:root[data-theme=dark] .z-entity.z-name{color:#b392f0}:root[data-theme=dark] .z-storage.z-type{color:#f97583}:root[data-theme=dark] .z-meta.z-property-name{color:#79b8ff}:root[data-theme=dark] .z-variable.z-other{color:#e1e4e8}:root[data-theme=dark] .z-invalid.z-broken{color:#fdaeb7;font-style:italic}:root[data-theme=dark] .z-invalid.z-deprecated{color:#fdaeb7;font-style:italic}:root[data-theme=dark] .z-invalid.z-illegal{color:#fdaeb7;font-style:italic}:root[data-theme=dark] .z-invalid.z-unimplemented{color:#fdaeb7;font-style:italic}:root[data-theme=dark] .z-message.z-error{color:#fdaeb7}:root[data-theme=dark] .z-source.z-regexp{color:#dbedff}:root[data-theme=dark] .z-string.z-regexp{color:#dbedff}:root[data-theme=dark] .z-support.z-constant{color:#79b8ff}:root[data-theme=dark] .z-support.z-variable{color:#79b8ff}:root[data-theme=dark] .z-meta.z-module-reference{color:#79b8ff}:root[data-theme=dark] .z-markup.z-heading{color:#79b8ff;font-weight:bold}:root[data-theme=dark] .z-markup.z-quote{color:#85e89d}:root[data-theme=dark] .z-markup.z-italic{color:#e1e4e8;font-style:italic}:root[data-theme=dark] .z-markup.z-bold{color:#e1e4e8;font-weight:bold}:root[data-theme=dark] .z-markup.z-underline{text-decoration:underline}:root[data-theme=dark] .z-markup.z-strikethrough{text-decoration:line-through}:root[data-theme=dark] .z-markup.z-deleted{color:#fdaeb7;background-color:#86181d}:root[data-theme=dark] .z-markup.z-inserted{color:#85e89d;background-color:#144620}:root[data-theme=dark] .z-markup.z-changed{color:#ffab70;background-color:#c24e00}:root[data-theme=dark] .z-markup.z-ignored{color:#2f363d;background-color:#79b8ff}:root[data-theme=dark] .z-markup.z-untracked{color:#2f363d;background-color:#79b8ff}:root[data-theme=dark] .z-meta.z-separator{color:#79b8ff;font-weight:bold}:root[data-theme=dark] .z-meta.z-output{color:#79b8ff}:root[data-theme=dark] .z-brackethighlighter.z-tag{color:#d1d5da}:root[data-theme=dark] .z-brackethighlighter.z-curly{color:#d1d5da}:root[data-theme=dark] .z-brackethighlighter.z-round{color:#d1d5da}:root[data-theme=dark] .z-brackethighlighter.z-square{color:#d1d5da}:root[data-theme=dark] .z-brackethighlighter.z-angle{color:#d1d5da}:root[data-theme=dark] .z-brackethighlighter.z-quote{color:#d1d5da}:root[data-theme=dark] .z-brackethighlighter.z-unmatched{color:#fdaeb7}:root[data-theme=dark] .z-entity.z-name{color:#79b8ff;font-weight:bold}:root[data-theme=dark] .z-punctuation.z-definition.z-comment{color:#6a737d}:root[data-theme=dark] .z-entity.z-name.z-constant{color:#79b8ff}:root[data-theme=dark] .z-variable.z-other.z-constant{color:#79b8ff}:root[data-theme=dark] .z-variable.z-other.z-enummember{color:#79b8ff}:root[data-theme=dark] .z-variable.z-parameter.z-function{color:#e1e4e8}:root[data-theme=dark] .z-entity.z-name.z-tag{color:#85e89d}:root[data-theme=dark] .z-storage.z-modifier.z-package{color:#e1e4e8}:root[data-theme=dark] .z-storage.z-modifier.z-import{color:#e1e4e8}:root[data-theme=dark] .z-storage.z-type.z-java{color:#e1e4e8}:root[data-theme=dark] .z-punctuation.z-definition.z-string{color:#9ecbff}:root[data-theme=dark] .z-string.z-regexp.z-character-class{color:#dbedff}:root[data-theme=dark] .z-markup.z-inline.z-raw{color:#79b8ff}:root[data-theme=dark] .z-punctuation.z-definition.z-deleted{color:#fdaeb7;background-color:#86181d}:root[data-theme=dark] .z-punctuation.z-definition.z-inserted{color:#85e89d;background-color:#144620}:root[data-theme=dark] .z-punctuation.z-definition.z-changed{color:#ffab70;background-color:#c24e00}:root[data-theme=dark] .z-meta.z-diff.z-range{color:#b392f0;font-weight:bold}:root[data-theme=dark] .z-meta.z-diff.z-header{color:#79b8ff}:root[data-theme=dark] .z-string.z-other.z-link{color:#dbedff;text-decoration:underline}:root[data-theme=dark] .z-constant.z-character.z-escape{color:#dbedff}:root[data-theme=dark] .z-source.z-ruby.z-embedded{color:#dbedff}:root[data-theme=dark] .z-string.z-regexp.z-arbitrary-repitition{color:#dbedff}:root[data-theme=dark] .z-constant.z-character.z-escape{color:#85e89d;font-weight:bold}:root[data-theme=dark] .z-meta.z-diff.z-header.z-from-file{color:#fdaeb7;background-color:#86181d}:root[data-theme=dark] .z-meta.z-diff.z-header.z-to-file{color:#85e89d;background-color:#144620}:root[data-theme=dark] .z-constant.z-other.z-reference.z-link{color:#dbedff;text-decoration:underline}:root[data-theme=dark] .z-punctuation.z-definition.z-list.z-begin.z-markdown{color:#ffab70}@font-face{font-family:"Lora";src:url("/fonts/Lora-Bold.woff2") format("woff2"),url("/fonts/Lora-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--background: #faf7f2;--foreground: #141413;--border: #ccc;--accent: #9e4440;--accent-hover: #7a3533}:root .sun-icon{display:none}:root .moon-icon{display:block}[data-theme=dark]{--background: #141413;--foreground: #f3eee4;--border: #4a4a4a;--accent: #e07a5f;--accent-hover: #f4a594}[data-theme=dark] .sun-icon{display:block}[data-theme=dark] .moon-icon{display:none}:not(pre)>code{font-family:monospace;padding:.125rem .25rem;background:var(--accent);border-radius:.125rem;color:var(--background)}.giallo{padding-block:.75rem;font-size:.875rem;overflow-x:auto;border:1px solid var(--border);box-shadow:var(--accent) 4px 4px 0px 0px;scrollbar-color:var(--foreground) var(--background)}.giallo-l{display:inline-block;min-height:1lh;width:100%;padding:.125rem 1rem}.giallo-ln{display:inline-block;user-select:none;margin-right:.75rem;min-width:3ch;text-align:right}body{font-family:system-ui;background-color:var(--background);color:var(--foreground)}a{color:var(--accent);text-underline-offset:2px}a:hover{color:var(--accent-hover)}.site-container{max-width:48rem;min-height:100vh;margin-inline:auto;display:flex;flex-direction:column;padding:2rem .75rem}@media (min-width: 768px){.site-container{padding:2rem 1.5rem}}h1,h2,h3{font-family:"Lora"}h1{font-size:1.75rem;margin-top:0}h2{font-size:1.375rem}h3{font-size:1.125rem}p{line-height:1.5rem}li{line-height:2rem}.site-header{padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}.nav-links{display:flex;align-items:center;list-style:none;padding-left:0;margin-block:0;gap:1.5rem;font-size:.875rem}.nav-links li a{font-size:.875rem;text-decoration:none}.nav-links li:first-child{margin-right:auto}.nav-links li:first-child a{font-size:1.125rem;font-weight:500}.site-content{flex-grow:1}.site-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--border)}.footer-copy{font-size:.875rem;margin-block:0}.footer-copy-link{}.footer-links{display:flex;align-items:center;gap:1rem}#theme-toggle{display:flex;border:none;cursor:pointer;padding:0;background:none;color:inherit}.footer-rss{display:flex;color:inherit}.not-found-container{border:1px solid #000;text-align:center;padding-inline:1.5rem}input[type=text]{width:100%;border:1px solid var(--border);padding:.75rem 1rem;background:none;color:inherit}.post-list ul{list-style:none;padding-left:0}.post-title{margin-bottom:.5rem}.post-info{margin-top:.5rem}.markdown-alert-note::before{content:"Note:"}.markdown-alert-note{border:1px solid var(--border);margin-inline:0;padding:1rem 1.5rem;box-shadow:var(--accent) 4px 4px 0px 0px}.markdown-alert-note p{margin-block:0}.tags__container{display:flex;gap:.5rem;align-items:center;font-size:.875rem}.tags__container .tags{margin-block:0;display:flex;gap:.5rem;padding-left:0;list-style:none}.tags__container .tags a{color:var(--background);text-decoration:none;background-color:var(--accent);padding:.125rem .25rem;border-radius:.125rem}.tags__container .tags a:hover{background-color:var(--accent-hover)}.project{margin-block:3rem}.project h2{margin-bottom:0}.project p{margin-bottom:.25rem}.project-info{font-size:.875rem;margin-top:.5rem}table{overflow-x:auto;width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;line-height:1.5;margin-bottom:1rem}th{text-align:left;font-weight:600;padding:12px 16px;border-bottom:2px solid var(--border);}td{padding:12px 16px;border-bottom:1px solid var(--border)}tbody tr:nth-child(even){background-color:var(--accent)}tbody tr:hover{background-color:var(--accent-hover)}