:root{--blog-surface:#1a1b1e;--blog-surface-hover:#222326;--blog-border:rgba(255,255,255,0.06);--blog-border-hover:rgba(255,255,255,0.12);--blog-accent:#d9f85f;--blog-accent-soft:rgba(217,248,95,0.15);--blog-accent-border:rgba(217,248,95,0.3);--blog-radius:16px;--blog-radius-sm:10px;--blog-shadow:0 2px 8px rgba(0,0,0,0.2);--blog-shadow-hover:0 12px 32px rgba(0,0,0,0.4);--blog-transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--blog-font-heading:PPNeueMachina,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}.blog-card{background:var(--blog-surface);border:1px solid var(--blog-border);border-radius:var(--blog-radius);overflow:hidden;transition:var(--blog-transition);display:flex;flex-direction:column;height:100%}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--blog-shadow-hover);border-color:var(--blog-border-hover)}.blog-card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}
.blog-card-link:hover{color:inherit;text-decoration:none}.blog-card-image{position:relative;overflow:hidden;aspect-ratio:16 / 9;background:#111214}
.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s cubic-bezier(0.4,0,0.2,1)}
.blog-card:hover .blog-card-image img{transform:scale(1.03)}.blog-card-image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:rgba(255,255,255,0.08);font-size:3rem}.blog-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.blog-card-title{font-family:var(--blog-font-heading);font-size:1rem;font-weight:600;line-height:1.35;color:#f5f5f7;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-card-excerpt{font-size:0.85rem;line-height:1.5;color:rgba(255,255,255,0.5);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.blog-card-meta{display:flex;align-items:center;gap:12px;font-size:0.78rem;color:rgba(255,255,255,0.35);margin-top:auto}
.blog-card-meta i{font-size:0.85rem;margin-right:2px}.blog-card-badge{position:absolute;top:10px;left:10px;padding:3px 10px;border-radius:100px;font-size:0.7rem;font-weight:600;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:2;line-height:1.4}.blog-badge-ai{background:var(--blog-accent-soft);color:var(--blog-accent);border:1px solid var(--blog-accent-border)}.blog-badge-new{background:var(--blog-accent-soft);color:var(--blog-accent);border:1px solid var(--blog-accent-border);left:auto;right:10px}.blog-badge-video{background:rgba(255,0,0,0.2);color:#f44;border:1px solid rgba(255,0,0,0.3)}.blog-card-featured{background:var(--blog-surface);border:1px solid var(--blog-border);border-radius:var(--blog-radius);overflow:hidden;transition:var(--blog-transition);display:flex;flex-direction:column;margin-bottom:24px}
.blog-card-featured:hover{border-color:var(--blog-border-hover);box-shadow:var(--blog-shadow-hover)}.blog-card-featured-link{text-decoration:none;color:inherit;display:flex;flex-direction:column}
.blog-card-featured-link:hover{color:inherit;text-decoration:none}@media (min-width:768px){.blog-card-featured-link{flex-direction:row}}.blog-card-featured-image{position:relative;overflow:hidden;aspect-ratio:16 / 9;background:#111214}
@media (min-width:768px){.blog-card-featured-image{flex:0 0 55%;max-width:55%;aspect-ratio:auto}}
.blog-card-featured-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s cubic-bezier(0.4,0,0.2,1)}
.blog-card-featured:hover .blog-card-featured-image img{transform:scale(1.03)}.blog-card-featured-body{padding:24px;display:flex;flex-direction:column;justify-content:center;flex:1}.blog-card-featured-label{display:inline-flex;align-items:center;gap:6px;font-size:0.75rem;font-weight:600;color:var(--blog-accent);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:12px}.blog-card-featured-title{font-family:var(--blog-font-heading);font-size:1.5rem;font-weight:700;line-height:1.25;color:#f5f5f7;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card-featured-excerpt{font-size:0.9rem;line-height:1.6;color:rgba(255,255,255,0.55);margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card-featured-cta{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;background:var(--blog-accent);color:#000;border-radius:100px;font-size:0.85rem;font-weight:600;text-decoration:none;transition:var(--blog-transition);align-self:flex-start}
.blog-card-featured-cta:hover{background:#e4ff7a;color:#000;transform:translateX(2px)}.blog-card-featured-meta{display:flex;align-items:center;gap:14px;font-size:0.8rem;color:rgba(255,255,255,0.4);margin-top:16px}
.blog-card-featured-meta i{margin-right:3px}.blog-tags-card{background:var(--blog-surface);border:1px solid var(--blog-border);border-radius:var(--blog-radius);padding:20px}.blog-tags-header{font-family:var(--blog-font-heading);font-size:0.9rem;font-weight:600;color:rgba(255,255,255,0.7);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.blog-tags-header i{color:var(--blog-accent)}.blog-tags-list{display:flex;flex-direction:column;gap:2px;list-style:none;padding:0;margin:0}.blog-tag-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:var(--blog-radius-sm);text-decoration:none;color:rgba(255,255,255,0.65);font-size:0.88rem;transition:var(--blog-transition)}
.blog-tag-item:hover{background:rgba(255,255,255,0.04);color:#f5f5f7}
.blog-tag-item.active{background:var(--blog-accent);color:#000;font-weight:600}
.blog-tag-item.active .blog-tag-count{background:rgba(0,0,0,0.15);color:#000}.blog-tag-name{display:flex;align-items:center;gap:4px}
.blog-tag-hash{color:var(--blog-accent);font-weight:700;opacity:0.6}
.blog-tag-item.active .blog-tag-hash{color:#000;opacity:1}.blog-tag-count{font-size:0.72rem;padding:2px 8px;border-radius:100px;background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.4);font-weight:500}.blog-sidebar{position:sticky;top:90px;max-height:calc(100vh - 100px);overflow-y:auto}
.blog-sidebar::-webkit-scrollbar{width:6px}
.blog-sidebar::-webkit-scrollbar-track{background:transparent}
.blog-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:3px}.blog-toc{background:var(--blog-surface);border:1px solid var(--blog-border);border-radius:var(--blog-radius);padding:20px}.blog-toc-header{font-family:var(--blog-font-heading);font-size:0.9rem;font-weight:600;color:rgba(255,255,255,0.7);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.blog-toc-header i{color:var(--blog-accent)}.blog-toc-list{display:flex;flex-direction:column;gap:0;list-style:none;padding:0;margin:0}.blog-toc-item{padding:6px 12px;font-size:0.85rem;color:rgba(255,255,255,0.5);border-left:2px solid transparent;transition:var(--blog-transition);text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.blog-toc-item:hover{color:rgba(255,255,255,0.8);background:rgba(255,255,255,0.02)}
.blog-toc-item.active{color:var(--blog-accent);border-left-color:var(--blog-accent);font-weight:500}
.blog-toc-item--h3{padding-left:24px}.blog-post-article{background:var(--blog-surface);border:1px solid var(--blog-border);border-radius:var(--blog-radius);overflow:hidden}.blog-post-hero-wrapper{position:relative;overflow:hidden;aspect-ratio:16 / 9;background:#111214}
.blog-post-hero-wrapper .blog-post-hero-image{width:100%;height:100%;display:block;object-fit:cover}.blog-post-content{max-width:720px;margin:0 auto;padding:32px 24px;font-size:1.05rem;line-height:1.75;color:rgba(255,255,255,0.85)}
.blog-post-content h2,
.blog-post-content h3{font-family:var(--blog-font-heading);color:#f5f5f7;margin-top:2em;margin-bottom:0.6em}
.blog-post-content h2{font-size:1.5rem}
.blog-post-content h3{font-size:1.2rem}
.blog-post-content h2[id],
.blog-post-content h3[id]{scroll-margin-top:100px}
.blog-post-content a{color:var(--blog-accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color 0.2s}
.blog-post-content a:hover{border-bottom-color:var(--blog-accent)}
.blog-post-content img{border-radius:12px;border:1px solid var(--blog-border);max-width:100%;height:auto}
.blog-post-content blockquote{border-left:3px solid var(--blog-accent);padding:12px 20px;margin:1.5em 0;color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.02);border-radius:0 var(--blog-radius-sm) var(--blog-radius-sm) 0}
.blog-post-content blockquote p:last-child{margin-bottom:0}
.blog-post-content ul,
.blog-post-content ol{padding-left:1.5em}
.blog-post-content li + li{margin-top:0.4em}.blog-post-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 24px;border-top:1px solid var(--blog-border)}
.blog-post-actions{display:flex;align-items:center;gap:16px}
.blog-post-action{display:inline-flex;align-items:center;gap:5px;font-size:0.88rem;color:rgba(255,255,255,0.5);text-decoration:none;min-width:44px;min-height:44px;justify-content:center}
.blog-post-action i{font-size:1.1rem}
.blog-post-action a{color:inherit;text-decoration:none}
.blog-post-action a:hover{color:#f5f5f7}
.blog-post-date{font-size:0.85rem;color:rgba(255,255,255,0.4)}.blog-share{display:flex;justify-content:center;gap:10px;margin:24px 0}.blog-share-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--blog-surface);border:1px solid var(--blog-border);color:rgba(255,255,255,0.6);font-size:1.1rem;text-decoration:none;transition:var(--blog-transition);cursor:pointer}
.blog-share-btn:hover{border-color:var(--blog-border-hover);transform:translateY(-2px)}.blog-share-btn--tg:hover{background:#229ED9;color:#fff;border-color:#229ED9}
.blog-share-btn--x:hover{background:#f5f5f7;color:#000;border-color:#f5f5f7}
.blog-share-btn--vk:hover{background:#4680C2;color:#fff;border-color:#4680C2}
.blog-share-btn--copy:hover{background:var(--blog-accent);color:#000;border-color:var(--blog-accent)}.blog-pagination{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px}
@media (min-width:768px){.blog-pagination{flex-direction:row;justify-content:space-between}}.blog-pagination .pagination{margin:0}
.blog-pagination .page-link{background:var(--blog-surface);border-color:var(--blog-border);color:rgba(255,255,255,0.6);font-size:0.85rem;transition:var(--blog-transition)}
.blog-pagination .page-link:hover{background:var(--blog-surface-hover);border-color:var(--blog-border-hover);color:#f5f5f7}
.blog-pagination .page-item.active .page-link{background:var(--blog-accent);border-color:var(--blog-accent);color:#000;font-weight:600}
.blog-pagination .page-item.disabled .page-link{background:transparent;border-color:var(--blog-border);color:rgba(255,255,255,0.2)}.blog-pagination .form-select{background-color:var(--blog-surface);border-color:var(--blog-border);color:rgba(255,255,255,0.6);font-size:0.85rem}.blog-grid{display:grid;gap:24px;grid-template-columns:1fr}
@media (min-width:576px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:992px){.blog-grid{grid-template-columns:repeat(3,1fr)}.col-lg-8 .blog-grid{grid-template-columns:repeat(2,1fr)}}.blog-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}
.blog-empty-icon{font-size:3rem;color:rgba(255,255,255,0.1);margin-bottom:16px}
.blog-empty-text{font-size:1rem;color:rgba(255,255,255,0.4)}.blog-skeleton-card{background:var(--blog-surface);border:1px solid var(--blog-border);border-radius:var(--blog-radius);overflow:hidden}
.blog-skeleton-image{aspect-ratio:16 / 9;background:linear-gradient(90deg,#1a1b1e 25%,#252629 50%,#1a1b1e 75%);background-size:200% 100%;animation:blog-shimmer 1.5s ease-in-out infinite}
.blog-skeleton-body{padding:20px}
.blog-skeleton-line{height:14px;border-radius:7px;background:linear-gradient(90deg,rgba(255,255,255,0.04) 25%,rgba(255,255,255,0.08) 50%,rgba(255,255,255,0.04) 75%);background-size:200% 100%;animation:blog-shimmer 1.5s ease-in-out infinite;margin-bottom:10px}
.blog-skeleton-line:nth-child(1){width:80%}
.blog-skeleton-line:nth-child(2){width:60%}
.blog-skeleton-line:nth-child(3){width:40%;height:10px;margin-top:16px}@keyframes blog-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.blog-related-header{font-family:var(--blog-font-heading);font-size:1.1rem;font-weight:600;color:rgba(255,255,255,0.7);margin-bottom:20px;display:flex;align-items:center;gap:8px}
.blog-related-dot{width:8px;height:8px;border-radius:50%;background:var(--blog-accent);flex-shrink:0}pre[class*="language-"]{border:1px solid rgba(255,255,255,0.08);border-radius:12px}div.code-toolbar>.toolbar{opacity:0;transition:opacity 0.2s}
div.code-toolbar:hover>.toolbar{opacity:1}
div.code-toolbar>.toolbar>.toolbar-item>button{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.6);border-radius:6px;padding:4px 10px;font-size:0.75rem;border:none;cursor:pointer;transition:all 0.2s}
div.code-toolbar>.toolbar>.toolbar-item>button:hover{background:var(--blog-accent);color:#000}.line-numbers .line-numbers-rows{border-right:1px solid rgba(255,255,255,0.08)}.blog-sidebar-cta{display:block;padding:12px 20px;background:var(--blog-surface);border:1px solid var(--blog-border);border-radius:var(--blog-radius);color:rgba(255,255,255,0.7);text-align:center;text-decoration:none;font-size:0.88rem;font-weight:500;transition:var(--blog-transition)}
.blog-sidebar-cta:hover{border-color:var(--blog-accent-border);color:var(--blog-accent)}
code[class*="language-"],
pre[class*="language-"]{background:hsl(220,13%,18%);color:hsl(220,14%,71%);text-shadow:0 1px rgba(0,0,0,0.3);font-family:"Fira Code","Fira Mono",Menlo,Consolas,"DejaVu Sans Mono",monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*="language-"]::-moz-selection,
code[class*="language-"] *::-moz-selection,
pre[class*="language-"] *::-moz-selection{background:hsl(220,13%,28%);color:inherit;text-shadow:none}code[class*="language-"]::selection,
code[class*="language-"] *::selection,
pre[class*="language-"] *::selection{background:hsl(220,13%,28%);color:inherit;text-shadow:none}pre[class*="language-"]{padding:1em;margin:0.5em 0;overflow:auto;border-radius:0.3em}:not(pre)>code[class*="language-"]{padding:0.2em 0.3em;border-radius:0.3em;white-space:normal}@media print{code[class*="language-"],pre[class*="language-"]{text-shadow:none}}.token.comment,
.token.prolog,
.token.cdata{color:hsl(220,10%,40%)}.token.doctype,
.token.punctuation,
.token.entity{color:hsl(220,14%,71%)}.token.attr-name,
.token.class-name,
.token.boolean,
.token.constant,
.token.number,
.token.atrule{color:hsl(29,54%,61%)}.token.keyword{color:hsl(286,60%,67%)}.token.property,
.token.tag,
.token.symbol,
.token.deleted,
.token.important{color:hsl(355,65%,65%)}.token.selector,
.token.string,
.token.char,
.token.builtin,
.token.inserted,
.token.regex,
.token.attr-value,
.token.attr-value>.token.punctuation{color:hsl(95,38%,62%)}.token.variable,
.token.operator,
.token.function{color:hsl(207,82%,66%)}.token.url{color:hsl(187,47%,55%)}.token.attr-value>.token.punctuation.attr-equals,
.token.special-attr>.token.attr-value>.token.value.css{color:hsl(220,14%,71%)}.language-css .token.selector{color:hsl(355,65%,65%)}.language-css .token.property{color:hsl(220,14%,71%)}.language-css .token.function,
.language-css .token.url>.token.function{color:hsl(187,47%,55%)}.language-css .token.url>.token.string.url{color:hsl(95,38%,62%)}.language-css .token.important,
.language-css .token.atrule .token.rule{color:hsl(286,60%,67%)}.language-javascript .token.operator{color:hsl(286,60%,67%)}.language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:hsl(5,48%,51%)}.language-json .token.operator{color:hsl(220,14%,71%)}.language-json .token.null.keyword{color:hsl(29,54%,61%)}.language-markdown .token.url,
.language-markdown .token.url>.token.operator,
.language-markdown .token.url-reference.url>.token.string{color:hsl(220,14%,71%)}.language-markdown .token.url>.token.content{color:hsl(207,82%,66%)}.language-markdown .token.url>.token.url,
.language-markdown .token.url-reference.url{color:hsl(187,47%,55%)}.language-markdown .token.blockquote.punctuation,
.language-markdown .token.hr.punctuation{color:hsl(220,10%,40%);font-style:italic}.language-markdown .token.code-snippet{color:hsl(95,38%,62%)}.language-markdown .token.bold .token.content{color:hsl(29,54%,61%)}.language-markdown .token.italic .token.content{color:hsl(286,60%,67%)}.language-markdown .token.strike .token.content,
.language-markdown .token.strike .token.punctuation,
.language-markdown .token.list.punctuation,
.language-markdown .token.title.important>.token.punctuation{color:hsl(355,65%,65%)}.token.bold{font-weight:bold}.token.comment,
.token.italic{font-style:italic}.token.entity{cursor:help}.token.namespace{opacity:0.8}.token.token.tab:not(:empty):before,
.token.token.cr:before,
.token.token.lf:before,
.token.token.space:before{color:hsla(220,14%,71%,0.15);text-shadow:none}
div.code-toolbar>.toolbar.toolbar>.toolbar-item{margin-right:0.4em}div.code-toolbar>.toolbar.toolbar>.toolbar-item>button,
div.code-toolbar>.toolbar.toolbar>.toolbar-item>a,
div.code-toolbar>.toolbar.toolbar>.toolbar-item>span{background:hsl(220,13%,26%);color:hsl(220,9%,55%);padding:0.1em 0.4em;border-radius:0.3em}div.code-toolbar>.toolbar.toolbar>.toolbar-item>button:hover,
div.code-toolbar>.toolbar.toolbar>.toolbar-item>button:focus,
div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:hover,
div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:focus,
div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:hover,
div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:focus{background:hsl(220,13%,28%);color:hsl(220,14%,71%)}
.line-highlight.line-highlight{background:hsla(220,100%,80%,0.04)}.line-highlight.line-highlight:before,
.line-highlight.line-highlight[data-end]:after{background:hsl(220,13%,26%);color:hsl(220,14%,71%);padding:0.1em 0.6em;border-radius:0.3em;box-shadow:0 2px 0 0 rgba(0,0,0,0.2)}
pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:hsla(220,100%,80%,0.04)}
.line-numbers.line-numbers .line-numbers-rows,
.command-line .command-line-prompt{border-right-color:hsla(220,14%,71%,0.15)}.line-numbers .line-numbers-rows>span:before,
.command-line .command-line-prompt>span:before{color:hsl(220,14%,45%)}
.rainbow-braces .token.token.punctuation.brace-level-1,
.rainbow-braces .token.token.punctuation.brace-level-5,
.rainbow-braces .token.token.punctuation.brace-level-9{color:hsl(355,65%,65%)}.rainbow-braces .token.token.punctuation.brace-level-2,
.rainbow-braces .token.token.punctuation.brace-level-6,
.rainbow-braces .token.token.punctuation.brace-level-10{color:hsl(95,38%,62%)}.rainbow-braces .token.token.punctuation.brace-level-3,
.rainbow-braces .token.token.punctuation.brace-level-7,
.rainbow-braces .token.token.punctuation.brace-level-11{color:hsl(207,82%,66%)}.rainbow-braces .token.token.punctuation.brace-level-4,
.rainbow-braces .token.token.punctuation.brace-level-8,
.rainbow-braces .token.token.punctuation.brace-level-12{color:hsl(286,60%,67%)}
pre.diff-highlight>code .token.token.deleted:not(.prefix),
pre>code.diff-highlight .token.token.deleted:not(.prefix){background-color:hsla(353,100%,66%,0.15)}pre.diff-highlight>code .token.token.deleted:not(.prefix)::-moz-selection,
pre.diff-highlight>code .token.token.deleted:not(.prefix) *::-moz-selection,
pre>code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection,
pre>code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection{background-color:hsla(353,95%,66%,0.25)}pre.diff-highlight>code .token.token.deleted:not(.prefix)::selection,
pre.diff-highlight>code .token.token.deleted:not(.prefix) *::selection,
pre>code.diff-highlight .token.token.deleted:not(.prefix)::selection,
pre>code.diff-highlight .token.token.deleted:not(.prefix) *::selection{background-color:hsla(353,95%,66%,0.25)}pre.diff-highlight>code .token.token.inserted:not(.prefix),
pre>code.diff-highlight .token.token.inserted:not(.prefix){background-color:hsla(137,100%,55%,0.15)}pre.diff-highlight>code .token.token.inserted:not(.prefix)::-moz-selection,
pre.diff-highlight>code .token.token.inserted:not(.prefix) *::-moz-selection,
pre>code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection,
pre>code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection{background-color:hsla(135,73%,55%,0.25)}pre.diff-highlight>code .token.token.inserted:not(.prefix)::selection,
pre.diff-highlight>code .token.token.inserted:not(.prefix) *::selection,
pre>code.diff-highlight .token.token.inserted:not(.prefix)::selection,
pre>code.diff-highlight .token.token.inserted:not(.prefix) *::selection{background-color:hsla(135,73%,55%,0.25)}.prism-previewer.prism-previewer:before,
.prism-previewer-gradient.prism-previewer-gradient div{border-color:hsl(224,13%,17%)}.prism-previewer-color.prism-previewer-color:before,
.prism-previewer-gradient.prism-previewer-gradient div,
.prism-previewer-easing.prism-previewer-easing:before{border-radius:0.3em}.prism-previewer.prism-previewer:after{border-top-color:hsl(224,13%,17%)}.prism-previewer-flipped.prism-previewer-flipped.after{border-bottom-color:hsl(224,13%,17%)}.prism-previewer-angle.prism-previewer-angle:before,
.prism-previewer-time.prism-previewer-time:before,
.prism-previewer-easing.prism-previewer-easing{background:hsl(219,13%,22%)}
.prism-previewer-angle.prism-previewer-angle circle,
.prism-previewer-time.prism-previewer-time circle{stroke:hsl(220,14%,71%);stroke-opacity:1}.prism-previewer-easing.prism-previewer-easing circle,
.prism-previewer-easing.prism-previewer-easing path,
.prism-previewer-easing.prism-previewer-easing line{stroke:hsl(220,14%,71%)}.prism-previewer-easing.prism-previewer-easing circle{fill:transparent}
div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;z-index:10;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:rgba(224,224,224,.2);box-shadow:0 2px 0 0 rgba(0,0,0,.2);border-radius:.5em}div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover{color:inherit;text-decoration:none}
pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}