.music-track,.music-dock{color:#fff;align-items:center;gap:1rem;font-family:system-ui,sans-serif;font-size:.875rem;line-height:1.5;display:flex;box-shadow:0 4px 18px #0003}.music-track{background-color:#29272e;border-radius:.75rem;max-width:28rem;margin:1.5rem 0;padding:1rem}.music-track button,.music-dock button{cursor:pointer;color:inherit;background:0 0;border:0}.music-track button:focus-visible,.music-dock button:focus-visible,.music-dock input:focus-visible{outline-offset:3px;outline:2px solid #fff}.music-cover{border-radius:.5rem;flex-shrink:0;width:5rem;height:5rem;position:relative;overflow:hidden}.music-cover img{object-fit:cover;width:100%;height:100%;margin:0;transition:filter .25s,transform .25s}.music-cover:hover img,.music-cover:focus-visible img{filter:blur(4px)}@media (prefers-reduced-motion:no-preference){.music-cover:hover img,.music-cover:focus-visible img{transform:scale(1.1)}}.music-note{background:#ffffff18;place-items:center;height:100%;display:grid}.music-play-icon{background:#0004;place-items:center;display:grid;position:absolute;inset:0}.music-divider{background:#fff3;flex-shrink:0;align-self:stretch;width:1px}.music-track-info,.music-dock-info{flex-direction:column;flex:1;align-self:stretch;min-width:0;display:flex}.music-track-info .music-details{margin-top:auto}.music-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.music-artist,.music-details,.music-times{color:#ddd}.music-artist{font-size:.8125rem}.music-details,.music-times{font-size:.75rem}.music-dock{z-index:50;border-radius:.75rem;width:min(22rem,100vw - 2rem);padding:.75rem;position:fixed;bottom:1rem;left:1rem}@media (prefers-reduced-motion:no-preference){.music-dock{animation:.18s ease-out music-dock-in}.music-dock[data-state=closed]{animation:.18s ease-in forwards music-dock-out}}@keyframes music-dock-in{0%{opacity:0;transform:translateY(.75rem)scale(.96)}}@keyframes music-dock-out{to{opacity:0;transform:translateY(.75rem)scale(.96)}}.music-spin{animation:1s linear infinite music-spin}@keyframes music-spin{to{transform:rotate(1turn)}}.music-cover svg,.music-dock-control button svg{filter:drop-shadow(0 1px 2px #0009)}.music-dock-control{background:#ffffff18;border-radius:.5rem;flex-shrink:0;place-items:center;width:3rem;height:3rem;display:grid;position:relative;overflow:hidden}.music-dock-art{object-fit:cover;width:100%;height:100%;margin:0;transition:filter .25s,transform .25s;position:absolute;inset:0}.music-dock-control:hover .music-dock-art{filter:blur(4px)}.music-dock-control:has(>button:focus-visible) .music-dock-art{filter:blur(4px)}@media (prefers-reduced-motion:no-preference){.music-dock-control:hover .music-dock-art{transform:scale(1.1)}.music-dock-control:has(>button:focus-visible) .music-dock-art{transform:scale(1.1)}}.music-dock-control button{place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid;position:absolute;inset:0}.music-dock input{accent-color:#a5b4fc;width:100%;margin:auto 0 0;display:block}.music-times{-webkit-user-select:none;user-select:none;justify-content:space-between;margin-top:auto;display:flex}.markdown-body{--md-font-size:18px;--md-code-font-weight:500;--md-fg:#1f2328;--md-bg:transparent;--md-border:#d0d7de;--md-heading-border:#d0d7de;--md-blockquote-border:#d0d7de;--md-blockquote-fg:#636c76;--md-table-tr-bg:#fff;--md-table-tr-2n-bg:#f6f8fa;--md-code-bg:#afb8c133;--md-spoiler-hover-bg:#afb8c11f;--md-pre-bg:#f6f8fa;--md-pre-border:#d0d7de;--md-link:#0969da;--md-hr-bg:#d0d7de;--md-syntax-fg:#0969da;--syn-comment:#6e7781;--syn-keyword:#cf222e;--syn-string:#0a3069;--syn-function:#8250df;--syn-constant:#0550ae;--syn-entity:#116329;--syn-variable:#953800;--syn-punctuation:#1f2328;--terminal-command:#1a7f37;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:var(--font-sans);font-size:var(--md-font-size);word-wrap:break-word;color:var(--md-fg);background-color:var(--md-bg);line-height:1.45}@media (prefers-color-scheme:dark){.markdown-body{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=767px){.markdown-body{--md-font-size:16px}}:where(html.dark,.dark) .markdown-body{--md-fg:#e6edf3;--md-bg:#1a1c25;--md-border:#30363d;--md-heading-border:#30363d;--md-blockquote-border:#30363d;--md-blockquote-fg:#8b949e;--md-table-tr-bg:#0d1117;--md-table-tr-2n-bg:#161b22;--md-code-bg:#40434b66;--md-spoiler-hover-bg:#40434b33;--md-pre-bg:#151b23;--md-pre-border:#30363d;--md-link:#4493f8;--md-hr-bg:#30363d;--md-syntax-fg:#5b6976;--syn-comment:#9198a1;--syn-keyword:#ff7b72;--syn-string:#a5d6ff;--syn-function:#d2a8ff;--syn-constant:#79c0ff;--syn-entity:#7ee787;--syn-variable:#ffa657;--syn-punctuation:#d1d7dd;--terminal-command:#3fb950}.markdown-body>*{margin-top:0;margin-bottom:1em}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1.5em;margin-bottom:1em;font-weight:600;line-height:1.25}.markdown-body.is-decorated h1:before,.markdown-body.is-decorated h2:before,.markdown-body.is-decorated h3:before,.markdown-body.is-decorated h4:before,.markdown-body.is-decorated h5:before,.markdown-body.is-decorated h6:before{color:var(--md-syntax-fg);font-weight:400;font-family:var(--font-mono);-webkit-user-select:none;user-select:none;margin-right:.5ch}.markdown-body.is-decorated h1:before{content:"#"}.markdown-body.is-decorated h2:before{content:"##"}.markdown-body.is-decorated h3:before{content:"###"}.markdown-body.is-decorated h4:before{content:"####"}.markdown-body.is-decorated h5:before{content:"#####"}.markdown-body.is-decorated h6:before{content:"######"}.markdown-body h1{border-bottom:1px solid var(--md-heading-border);margin-top:0;padding-bottom:.3em;font-size:2em}.markdown-body h2{border-bottom:1px solid var(--md-heading-border);padding-bottom:.3em;font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{color:var(--md-blockquote-fg);font-size:.85em}.markdown-body p{margin-top:0;margin-bottom:1em}.markdown-body strong{font-weight:600}.markdown-body em{font-style:italic}.markdown-body del,.markdown-body s{color:var(--md-blockquote-fg)}.markdown-body a{color:var(--md-link);text-decoration:none;transition:color .2s;display:inline-block;position:relative}.markdown-body a:hover{text-decoration:underline}.markdown-body del a,.markdown-body s a{text-decoration-line:line-through}.markdown-body del a:hover,.markdown-body s a:hover{text-decoration-line:underline line-through}.markdown-body del code:before,.markdown-body del code:after,.markdown-body s code:before,.markdown-body s code:after{text-decoration-line:line-through}.markdown-body.is-decorated a:before,.markdown-body.is-decorated a:after{content:"[";color:var(--md-syntax-fg);font-family:var(--font-mono);-webkit-user-select:none;user-select:none;vertical-align:.05em;margin-inline:-.15em;font-size:.85em;font-weight:400;text-decoration:none;display:inline-block}.markdown-body.is-decorated a:after{content:"]"}.markdown-body.is-decorated code a:before,.markdown-body.is-decorated code a:after{content:none}.markdown-body a>span[data-domain]{position:relative}.markdown-body a>span[data-domain]:after{content:attr(data-domain);font-family:var(--font-mono);font-size:.75em;font-weight:var(--md-code-font-weight);color:#fff;white-space:nowrap;z-index:100;pointer-events:none;opacity:0;visibility:hidden;background-color:#24292f;border-radius:6px;padding:4px 8px;line-height:1;text-decoration:none;transition:opacity .15s,transform .15s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-2px);box-shadow:0 4px 12px #0000004d}.markdown-body a>span[data-domain]:before{content:"";pointer-events:none;opacity:0;visibility:hidden;z-index:100;border:5px solid #0000;border-top-color:#24292f;transition:opacity .15s,transform .15s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(6px)}@media (hover:none),(pointer:coarse){.markdown-body a>span[data-domain]:before,.markdown-body a>span[data-domain]:after{content:none}}.markdown-body a>span[data-domain]:hover:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(-6px)}.markdown-body a>span[data-domain]:hover:before{opacity:1;visibility:visible;transform:translate(-50%)translateY(3px)}:where(html.dark,.dark) .markdown-body a>span[data-domain]:after{color:#e6edf3;background-color:#30363d;border:1px solid #444c56}:where(html.dark,.dark) .markdown-body a>span[data-domain]:before{border-top-color:#444c56}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul{list-style-type:disc}.markdown-body ol{list-style-type:decimal}.markdown-body li{margin-top:.25em}.markdown-body li>p{margin-top:.5em;margin-bottom:0}.markdown-body li+li{margin-top:.25em}.markdown-body li>.contains-task-list{margin-top:0}.markdown-body blockquote{color:var(--md-blockquote-fg);border-left:.25em solid var(--md-blockquote-border);margin:0 0 1em;padding:0 1em}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body table{border-spacing:0;border-collapse:collapse;width:max-content;max-width:100%;margin-bottom:1em;display:block;overflow:auto}.markdown-body table th,.markdown-body table td{border:1px solid var(--md-border);padding:.4em .8em}.markdown-body table th{background-color:var(--md-table-tr-2n-bg);font-weight:600}.markdown-body table tr{background-color:var(--md-table-tr-bg);border-top:1px solid var(--md-border)}.markdown-body table tr:nth-child(2n){background-color:var(--md-table-tr-2n-bg)}.markdown-body hr{background-color:var(--md-hr-bg);border:0;height:.25em;margin:1.5em 0;padding:0}.markdown-body img{box-sizing:content-box;background-color:#0000;max-width:100%}.markdown-body .md-img-container{flex-direction:column;justify-content:center;align-items:center;margin:1.5em 2em;display:flex}@media (width<=767px){.markdown-body .md-img-container{margin:1.5em 1em}}.markdown-body .md-img-container:after{content:attr(data-caption);color:var(--md-blockquote-fg);margin-top:.5em;font-size:.85em;font-style:italic;display:block}.markdown-body .md-img-container[data-caption=""]:after{display:none}.markdown-body code:not(pre code){font-size:85%;font-family:var(--font-mono);font-weight:var(--md-code-font-weight);border-bottom:1px solid var(--md-syntax-fg);margin:0 .1em;padding:0 .4ch 0 0}.markdown-body.is-decorated code:not(pre code):before,.markdown-body.is-decorated code:not(pre code):after{content:"`";color:var(--md-syntax-fg);-webkit-user-select:none;user-select:none;text-align:center;vertical-align:.12em;z-index:1;width:.6ch;font-size:.9em;display:inline-block;position:relative;overflow:hidden}.markdown-body.is-decorated code:not(pre code):before{margin-left:.2ch;margin-right:.4ch}.markdown-body.is-decorated code:not(pre code):after{margin-left:0;margin-right:.2ch}.markdown-body pre{background-color:var(--md-pre-bg);border-radius:6px;margin-bottom:1em;padding:1em;font-size:85%;line-height:1.45;overflow:auto}.markdown-body.is-decorated pre[data-language]:before,.markdown-body.is-decorated pre[data-language]:after{color:var(--md-syntax-fg);font-family:var(--font-mono);-webkit-user-select:none;user-select:none;opacity:.6;font-size:.9em;display:block}:where(html.dark,.dark) .markdown-body.is-decorated pre[data-language]:before,:where(html.dark,.dark) .markdown-body.is-decorated pre[data-language]:after{color:var(--syn-comment);opacity:.8}.markdown-body.is-decorated pre[data-language]:before{content:"```" attr(data-language);margin-bottom:.5em}.markdown-body.is-decorated pre[data-language]:after{content:"```";margin-top:.5em}.markdown-body pre code{max-width:none;line-height:inherit;word-wrap:normal;font-family:var(--font-mono);font-weight:var(--md-code-font-weight);background-color:#0000;border:0;margin:0;padding:0;display:inline;overflow:visible}.markdown-body .footnotes{color:var(--md-blockquote-fg);border-top:1px solid var(--md-border);margin-top:2em;padding-top:1em;font-size:.85em}.markdown-body .footnotes-sep{display:none}.markdown-body .footnotes ol{padding-left:1.5em}.markdown-body .footnote-item{margin-bottom:.5em}.markdown-body .footnote-item p{margin-bottom:0;display:inline}.markdown-body .footnote-ref{vertical-align:super;margin-left:2px;font-size:.75em;line-height:0}.markdown-body.is-decorated .footnote-ref a:before,.markdown-body.is-decorated .footnote-ref a:after,.markdown-body.is-decorated .footnote-backref:before,.markdown-body.is-decorated .footnote-backref:after{content:none}.markdown-body .footnote-backref{vertical-align:middle;margin-left:4px;display:inline-block}.syntect-comment,.syntect-comment.syntect-punctuation{color:var(--syn-comment)}.syntect-keyword,.syntect-storage{color:var(--syn-keyword)}.syntect-keyword.syntect-operator.syntect-optional{font-variant-ligatures:no-contextual}.syntect-string{color:var(--syn-string)}.syntect-entity.syntect-name.syntect-function,.syntect-variable.syntect-function,.syntect-support.syntect-class,.syntect-entity.syntect-name:is(.syntect-class,.syntect-struct,.syntect-enum,.syntect-trait,.syntect-type,.syntect-interface,.syntect-namespace,.syntect-impl),.syntect-entity.syntect-other.syntect-attribute-name,.syntect-entity.syntect-other:is(.syntect-pseudo-class,.syntect-pseudo-element),.syntect-support.syntect-function,.syntect-macro{color:var(--syn-function)}.syntect-constant,.syntect-support.syntect-type{color:var(--syn-constant)}.syntect-meta.syntect-property-name.syntect-css{color:var(--syn-variable)}.syntect-meta.syntect-property-name.syntect-css .syntect-support.syntect-type{color:inherit}.syntect-keyword.syntect-other.syntect-unit{color:var(--syn-constant)}.syntect-entity.syntect-name.syntect-tag,.syntect-entity.syntect-name.syntect-table,.syntect-meta.syntect-mapping.syntect-key>.syntect-string{color:var(--syn-entity)}.syntect-variable{color:var(--syn-variable)}.syntect-punctuation{color:var(--syn-punctuation)}.syntect-regexp,.syntect-markup.syntect-raw{color:var(--syn-string)}.syntect-markup.syntect-heading{color:var(--syn-function);font-weight:600}.syntect-markup.syntect-bold{font-weight:600}.syntect-markup.syntect-italic{font-style:italic}.syntect-markup.syntect-underline.syntect-link{color:var(--syn-constant);text-decoration:underline}.syntect-markup.syntect-inserted,.syntect-punctuation.syntect-inserted{color:var(--syn-entity)}.syntect-markup.syntect-deleted,.syntect-punctuation.syntect-deleted{color:var(--syn-keyword)}.syntect-markup.syntect-changed,.syntect-punctuation.syntect-changed{color:var(--syn-constant)}.syntect-meta.syntect-range.syntect-diff,.syntect-punctuation.syntect-range.syntect-diff{color:var(--syn-function)}.markdown-body--poem{letter-spacing:.02em;line-height:1.9}.markdown-body--poem p{text-align:center;max-width:42rem;margin:auto auto 1.8em}.markdown-body--poem h1,.markdown-body--poem h2,.markdown-body--poem h3{text-align:center;border-bottom:0;font-weight:700}.markdown-body--poem blockquote{text-align:center;color:var(--md-fg);border-left:0;padding-left:0}.markdown-body .heimu{color:#000;filter:brightness(0);background:#000;border-radius:.125rem;padding:.125rem;transition:all .15s cubic-bezier(.4,0,.2,1)}.markdown-body .heimu:hover,.markdown-body .heimu:active{color:inherit;filter:none;background:0 0}.markdown-body img{transition:transform .3s cubic-bezier(0,0,.2,1)}.markdown-body img.is-zoomable{cursor:zoom-in}.markdown-body:has(img.is-zoomed){-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.markdown-body img.is-zoomed{cursor:zoom-out;z-index:1001;background-color:var(--md-bg);position:relative}#zoom-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;z-index:1000;background-color:#0000004d;width:100%;height:100%;transition:opacity .3s;position:fixed;top:0;left:0}#zoom-overlay.is-visible{opacity:1;pointer-events:auto}.markdown-body .contains-task-list{padding-left:0;list-style-type:none}.markdown-body .contains-task-list .contains-task-list{padding-left:1.6em}.markdown-body .task-list-item{align-items:flex-start;margin-top:.25em;display:flex}.markdown-body .task-list-item+.task-list-item{margin-top:.25em}.markdown-body .task-list-item-checkbox{cursor:default;flex-shrink:0;margin:.35em .5ch 0 .2em}.markdown-body .task-list-item:has(input:checked){color:var(--md-blockquote-fg);text-decoration:line-through;-webkit-text-decoration-color:var(--md-border);text-decoration-color:var(--md-border)}.markdown-body .task-list-item:has(input:checked) a{text-decoration-line:line-through;-webkit-text-decoration-color:var(--md-border);text-decoration-color:var(--md-border)}.markdown-body .terminal{border:1px solid var(--md-border);background:var(--md-pre-bg);border-radius:8px;margin-block:1em;overflow:hidden}.markdown-body .terminal-title{border-bottom:1px solid var(--md-border);color:var(--syn-comment);font-family:var(--font-mono);padding:.55rem 1rem;font-size:.8rem}.markdown-body .terminal pre{background:0 0;border-radius:0;margin:0;padding:.3rem 1rem}.markdown-body .terminal pre:first-of-type{padding-top:1rem}.markdown-body .terminal pre:last-of-type{padding-bottom:1rem}.markdown-body.is-decorated .terminal pre:before,.markdown-body.is-decorated .terminal pre:after{content:none;margin:0;display:none}.markdown-body.is-decorated .terminal pre:is([data-language=command],[data-language=bash],[data-language=sh],[data-language=zsh],[data-language=fish]):before{content:var(--terminal-prompt,"$ ");color:var(--syn-variable);opacity:1;display:inline}.markdown-body .terminal pre:is([data-language=bash],[data-language=sh],[data-language=zsh],[data-language=fish]) .syntect-meta.syntect-function-call>.syntect-function{color:var(--terminal-command)}.markdown-body .terminal pre[data-language=error]{color:#f87171}.markdown-body .code-expander{background:var(--md-pre-bg);border-radius:6px;margin-bottom:1em;position:relative;overflow:hidden}.markdown-body .code-expander--terminal{border:1px solid var(--md-border);border-radius:8px}.markdown-body .code-expander__viewport{position:relative}.markdown-body .code-expander.is-collapsed .code-expander__viewport{max-height:var(--code-preview-height);overflow:hidden}.markdown-body .code-expander.is-collapsed .code-expander__viewport:after{content:"";pointer-events:none;background:linear-gradient(to bottom, transparent, var(--md-pre-bg) calc(100% - 1px), var(--md-pre-bg));height:2.5rem;position:absolute;bottom:0;left:0;right:0}.markdown-body .code-expander__viewport>pre,.markdown-body .code-expander__viewport>.terminal{border-radius:0;margin:0}.markdown-body .code-expander__viewport>.terminal{border:0}.markdown-body .code-expander__toggle{border:0;border-top:1px solid var(--md-border);width:100%;color:var(--md-link);background:var(--md-pre-bg);font-family:var(--font-mono);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.8rem;transition:background-color .1s;display:flex}.markdown-body .code-expander__toggle:after{content:"↑"}.markdown-body .code-expander.is-collapsed .code-expander__toggle:after{content:"↓"}.markdown-body .code-expander__toggle:hover{background:var(--md-code-bg)}.markdown-body .code-expander__toggle:focus-visible{outline:2px solid var(--md-link);outline-offset:-2px}.markdown-body details.spoiler{border:1px solid var(--md-border);background:var(--md-pre-bg);border-radius:8px;margin-block:1em;padding-inline:1rem;overflow:hidden}.markdown-body details.spoiler>summary{color:var(--md-fg);cursor:pointer;align-items:baseline;gap:.65em;margin-inline:-1rem;padding:.55rem 1rem;font-family:system-ui,sans-serif;font-size:.875rem;font-weight:500;list-style:none;transition:background-color .18s;display:flex}.markdown-body details.spoiler>summary:before{content:"";clip-path:polygon(15% 0,100% 50%,15% 100%);background:currentColor;flex:none;width:.6em;height:.7em;transition:transform .18s;transform:rotate(0)}.markdown-body details.spoiler[open]>summary:before{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.markdown-body details.spoiler>summary,.markdown-body details.spoiler>summary:before{transition:none}}.markdown-body details.spoiler>summary:hover{background:var(--md-spoiler-hover-bg)}.markdown-body details.spoiler>summary:focus-visible{outline:2px solid var(--md-link);outline-offset:-2px}.markdown-body details.spoiler[open]{padding-bottom:1rem}.markdown-body details.spoiler[open]>summary{border-bottom:1px solid var(--md-border);margin-bottom:1rem}.markdown-body details.spoiler>summary+*{margin-top:0}.markdown-body details.spoiler>:last-child{margin-bottom:0}
