:root{--color-bg: #0A0814;--color-surface: #14101F;--color-surface-raised: #1E1830;--color-surface-bright: #2A2240;--color-border: rgba(168, 85, 247, .12);--color-text: #FFFFFF;--color-text-muted: #8B859B;--color-accent: #7C3AED;--color-accent-light: #A855F7;--color-accent-dim: rgba(168, 85, 247, .18);--color-accent-hover: rgba(168, 85, 247, .45);--color-pink: #E879F9;--color-cyan: #67E8F9;--color-success: #16a34a;--color-error: #b91c1c;--blog-bg: #15121F;--blog-surface: #1F1B2D;--blog-surface-elevated: #2A2540;--blog-text: #D8D2E5;--blog-heading: #F0EBF7;--blog-text-muted: #9A93AD;--blog-border: #2D293D;--blog-accent: #A855F7;--blog-accent-warm: #E879F9;--blog-link: #C9A1F0;--blog-code-bg: #14111E;--blog-code-text: #D8D2E5;--blog-shimmer-a: #1F1B2D;--blog-shimmer-b: #2A2540;--blog-inline-code-color: #67E8F9;--blog-inline-code-bg: rgba(103, 232, 249, .08);--blog-inline-code-border: rgba(103, 232, 249, .18);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--font-sans: "Inter", "Roboto", sans-serif;--font-mono: "Fira Code", monospace;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*{margin:0;padding:0;box-sizing:border-box;text-decoration:none}::-webkit-scrollbar{width:5px;background:#0e0b17;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#a855f7,#e879f9);border-radius:20px}::selection{background-color:#e879f9;color:#fff}html{font-family:Roboto,sans-serif;scroll-behavior:smooth;scroll-padding-top:50px}body{position:relative;width:100%;height:100%;background-color:#0a0814;background-image:radial-gradient(ellipse at top right,rgba(168,85,247,.05) 0%,transparent 60%),radial-gradient(ellipse at bottom left,rgba(232,121,249,.04) 0%,transparent 60%);background-attachment:fixed;overflow-x:hidden;color:#fff}main{overflow:clip}header{position:sticky;background:#0a0814d9;backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%);color:#fff;top:0;z-index:1001;border-bottom:1px solid rgba(168,85,247,.15);overflow:hidden}header:after{content:"";position:absolute;bottom:-1px;left:0;height:1px;width:30%;background:linear-gradient(90deg,transparent 0%,#A855F7 50%,transparent 100%);box-shadow:0 0 12px #a855f7;animation:header-scan 8s linear infinite;will-change:transform}footer{width:100%;padding:1rem;background-color:#0a0814;border-top:2px solid;border-color:#7c3aed}@media(max-width:480px){footer{padding:1rem .5rem}}@keyframes header-scan{0%{transform:translate(-30vw);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translate(130vw);opacity:0}}@keyframes orb-drift-a{0%,to{transform:translate(0) scale(1)}50%{transform:translate(60px,40px) scale(1.1)}}@keyframes orb-drift-b{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-50px,-30px) scale(1.15)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes scroll-line{0%{transform:translateY(-12px);opacity:0}30%{opacity:1}to{transform:translateY(40px);opacity:0}}@keyframes marquee-slide{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes blog-hero-scan{0%,to{opacity:.4}50%{opacity:1}}@keyframes status-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.75}}@keyframes card-glow{0%{background-position:0% 50%}to{background-position:200% 50%}}@keyframes blogShimmer{0%{background-position:-600px 0}to{background-position:600px 0}}fa-icon{color:#a855f7}.content{display:flex;justify-content:center;align-items:center;flex-direction:column;padding:0 100px;gap:40px;width:100%;max-width:1280px!important}@media(max-width:992px){.content{padding:0 20px}}@media(max-width:660px){.content{padding:0 10px}}.container{display:flex;justify-content:center}@media(max-width:660px){.container{min-height:500px}}mat-sidenav-container{display:flex;justify-content:center;min-width:100vw;min-height:100vh;position:absolute!important;overflow:initial!important}mat-sidenav{display:none!important;min-height:100vh;width:70%;position:fixed!important;background:#0a0814!important;color:#fff!important}@media(max-width:992px){mat-sidenav{display:block!important}}mat-sidenav .logo{display:flex;justify-content:center;border-bottom:1px solid;color:#7c3aed;padding:.35rem;gap:10px;font-weight:700}mat-sidenav .logo a{width:80%;font-size:24px;text-decoration:none;color:#fff}@media(max-width:480px){mat-sidenav .logo a{font-size:18px}}@media(max-width:860px){mat-sidenav .logo a{font-size:20px}}mat-sidenav .logo fa-icon{font-size:40px!important;padding:0 1rem}@media(max-width:860px){mat-sidenav .logo fa-icon{font-size:30px!important}}mat-sidenav .logo #close{font-size:35px!important}@media(max-width:992px){mat-sidenav{width:50%}}@media(max-width:860px){mat-sidenav{padding:.8rem 0;width:70%}}@media(max-width:480px){mat-sidenav{width:100%}}mat-sidenav-content{min-width:100vw;min-height:100vh;overflow:initial!important}.logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700}@media(max-width:480px){.logo{font-size:18px}}.logo fa-icon{font-size:32px}@media(max-width:480px){.logo fa-icon{font-size:24px}}.nav-links{display:flex;align-items:center}.nav-links ul{display:flex;flex-direction:row;font-size:20px;font-weight:500;width:100%;height:100%;gap:10px}@media(max-width:992px){.nav-links ul{display:flex;align-items:center;flex-direction:column;margin:40px 0;justify-content:center}}.nav-links li{display:flex;padding:2px}@media(max-width:992px){.nav-links li{padding:10px;min-width:40%;text-align:center}}.link{position:relative;font-size:18px;font-weight:500;width:100%;height:100%;padding:5px 10px;text-decoration:none;transition:.2s;color:#fff}.link:hover{transition:.2s}.link:before{content:"";position:absolute;bottom:0;left:0;height:2px;width:0%;background-image:linear-gradient(90deg,#a855f7,#e879f9);border-radius:0;transition:all .4s ease;box-shadow:0 0 8px #a855f780}.link:hover:before{width:100%}.link.link--active{color:#ad73e8}.link.link--active:before{width:100%}.link.link--section-active:before{width:100%}.link.link--back{color:#8b859b;font-size:16px}.link.link--back:hover{color:#fff}.link.link--back:before{display:none}.link.link--rss{display:inline-flex;align-items:center;justify-content:center;color:#ad73e8;padding:5px 8px}.link.link--rss:hover{color:#a855f7}.link.link--rss:before{display:none}@media(max-width:480px){.link{font-size:18px}}.theme-toggle-btn{background:none;border:none;padding:5px 8px;color:#ad73e8;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .2s,filter .2s}.theme-toggle-btn:hover{color:#a855f7;filter:drop-shadow(0 0 6px rgba(168,85,247,.6))}.theme-toggle-btn.active{color:#e879f9;filter:drop-shadow(0 0 6px rgba(232,121,249,.5))}.category--desenvolvimento{--cat-color: #A855F7}.category--backend{--cat-color: #F59E0B}.category--frontend{--cat-color: #06B6D4}.category--devops,.category--devops-cloud{--cat-color: #3B82F6}.category--carreira{--cat-color: #10B981}.category--tutoriais{--cat-color: #EC4899}body.blog-font-sm .blog-list h3,body.blog-font-sm .blog-card-excerpt{font-size:15px!important}body.blog-font-sm .blog-post .post-head-inner h1{font-size:36px!important}body.blog-font-sm .blog-post .post-excerpt{font-size:16px!important}body.blog-font-sm .blog-post .post-body{font-size:15px!important}body.blog-font-sm .related-card-body h3,body.blog-font-md .blog-list h3,body.blog-font-md .blog-card-excerpt{font-size:17px!important}body.blog-font-md .blog-post .post-head-inner h1{font-size:44px!important}body.blog-font-md .blog-post .post-excerpt{font-size:18px!important}body.blog-font-md .blog-post .post-body{font-size:17px!important}body.blog-font-md .related-card-body h3{font-size:19px!important}body.blog-font-lg .blog-list h3,body.blog-font-lg .blog-card-excerpt{font-size:20px!important}body.blog-font-lg .blog-post .post-head-inner h1{font-size:52px!important}body.blog-font-lg .blog-post .post-excerpt{font-size:21px!important}body.blog-font-lg .blog-post .post-body{font-size:20px!important}body.blog-font-lg .related-card-body h3{font-size:22px!important}body.blog-width-narrow .blog-post .post-content-inner,body.blog-width-narrow .blog-post .post-head-inner,body.blog-width-narrow .blog-post .post-toc-inner{max-width:580px!important}body.blog-width-normal .blog-post .post-content-inner,body.blog-width-normal .blog-post .post-head-inner,body.blog-width-normal .blog-post .post-toc-inner{max-width:760px!important}body.blog-width-wide .blog-post .post-content-inner,body.blog-width-wide .blog-post .post-head-inner,body.blog-width-wide .blog-post .post-toc-inner{max-width:900px!important}body.blog-theme-dark{background-color:var(--blog-bg)!important;background-image:none!important}body.blog-theme-dark .blog-post{--blog-bg: #18151F;--blog-surface: #211D29;--blog-surface-elevated: #2A2533;--blog-text: #D4CEDB;--blog-heading: #EBE6F0;--blog-text-muted: #A9A2B4;--blog-border: #383143;--blog-accent: #9587BC;--blog-accent-hover: #B2A6D0;--blog-accent-warm: #C9B3A7;--blog-link: #B6ADCB;--blog-link-hover: #D4CCDE;--blog-code-bg: #14111A;--blog-code-text: #D4CEDB;--blog-shimmer-a: #221E2A;--blog-shimmer-b: #302A39;--blog-inline-code-color: #B7B9CA;--blog-inline-code-bg: rgba(183, 185, 202, .08);--blog-inline-code-border: rgba(183, 185, 202, .2);background-color:var(--blog-bg)}body.blog-theme-dark .blog-post ::selection{background-color:#9587bc73;color:#ebe6f0}body.blog-theme-dark .blog-post .post-content a:not(.blog-category-badge):not(.related-card):not(.back-link):not(.code-copy-btn):not(.post-share-btn){color:var(--blog-link);text-decoration-color:#b6adcb73}body.blog-theme-dark .blog-post .post-content a:not(.blog-category-badge):not(.related-card):not(.back-link):not(.code-copy-btn):not(.post-share-btn):hover{color:var(--blog-link-hover);text-decoration-color:var(--blog-link-hover);text-shadow:none}body.blog-theme-dark .blog-post .post-content .code-block{border-color:var(--blog-border);box-shadow:none}body.blog-theme-dark .blog-post .post-content .code-block:before{background:var(--blog-accent)}body.blog-theme-dark .blog-post .post-content .code-block-header .code-block-lang{color:var(--blog-text-muted)}body.blog-theme-dark .blog-post .post-content .token.comment,body.blog-theme-dark .blog-post .post-content .token.prolog,body.blog-theme-dark .blog-post .post-content .token.doctype,body.blog-theme-dark .blog-post .post-content .token.cdata{color:#928c9d}body.blog-theme-dark .blog-post .post-content .token.punctuation{color:#bdb6c8}body.blog-theme-dark .blog-post .post-content .token.property,body.blog-theme-dark .blog-post .post-content .token.tag,body.blog-theme-dark .blog-post .post-content .token.boolean,body.blog-theme-dark .blog-post .post-content .token.number,body.blog-theme-dark .blog-post .post-content .token.constant,body.blog-theme-dark .blog-post .post-content .token.symbol,body.blog-theme-dark .blog-post .post-content .token.deleted,body.blog-theme-dark .blog-post .post-content .token.operator,body.blog-theme-dark .blog-post .post-content .token.entity,body.blog-theme-dark .blog-post .post-content .token.url,body.blog-theme-dark .blog-post .post-content .token.function,body.blog-theme-dark .blog-post .post-content .token.class-name{color:var(--blog-accent)}body.blog-theme-dark .blog-post .post-content .token.selector,body.blog-theme-dark .blog-post .post-content .token.attr-name,body.blog-theme-dark .blog-post .post-content .token.string,body.blog-theme-dark .blog-post .post-content .token.char,body.blog-theme-dark .blog-post .post-content .token.builtin,body.blog-theme-dark .blog-post .post-content .token.inserted{color:#aabfaf}body.blog-theme-dark .blog-post .post-content .token.atrule,body.blog-theme-dark .blog-post .post-content .token.attr-value,body.blog-theme-dark .blog-post .post-content .token.keyword,body.blog-theme-dark .blog-post .post-content .token.control,body.blog-theme-dark .blog-post .post-content .token.directive,body.blog-theme-dark .blog-post .post-content .token.unit,body.blog-theme-dark .blog-post .post-content .token.regex,body.blog-theme-dark .blog-post .post-content .token.important,body.blog-theme-dark .blog-post .post-content .token.variable{color:#c9b3a7}body.blog-theme-dark .blog-post .post-content blockquote{border-left-color:#9587bc99;background:var(--blog-surface)}body.blog-theme-dark .blog-post .post-content mark{background:#cbb18433}body.blog-theme-dark .blog-post .post-content .callout.callout--tip{background:#9587bc12;border-color:#9587bc}body.blog-theme-dark .blog-post .post-content .callout.callout--info{background:#91b3c212;border-color:#91b3c2}body.blog-theme-dark .blog-post .post-content .callout.callout--warning{background:#cbb18414;border-color:#cbb184}body.blog-theme-dark .blog-post .post-content .callout.callout--danger{background:#ca8b9214;border-color:#ca8b92}body.blog-theme-dark .blog-post .post-toc-inner{background:linear-gradient(90deg,rgba(149,135,188,.035) 0%,transparent 40%);border-left-color:#9587bc8c}body.blog-theme-dark .blog-post .back-link{color:#a875e2}body.blog-theme-dark .blog-post .back-link:hover{color:#c19aef}body.blog-theme-dark .blog-post .post-share-btn:hover{border-color:#a875e2b3;color:#c19aef;box-shadow:0 0 10px #a875e229}body.blog-theme-dark .blog-post .related-card:hover{border-color:#a875e2b3;box-shadow:0 5px 16px #a875e214}body.blog-theme-dark .blog-post .related-card:hover h3{color:#c19aef}body.blog-theme-dark.blog-post-page{background-color:#18151f!important}body.blog-theme-dark.blog-post-page header{background:#18151ff0;border-bottom-color:#383143}body.blog-theme-dark.blog-post-page header:after{background:linear-gradient(90deg,transparent 0%,#9587BC 50%,transparent 100%);box-shadow:0 0 10px #9587bc59}body.blog-theme-dark.blog-post-page header .link{color:#a9a2b4}body.blog-theme-dark.blog-post-page header .link:hover,body.blog-theme-dark.blog-post-page header .link.link--active,body.blog-theme-dark.blog-post-page header .link.link--section-active{color:#c19aef}body.blog-theme-dark.blog-post-page header .link:before{background-image:linear-gradient(90deg,#a875e2,#c19aef);box-shadow:none}body.blog-theme-dark.blog-post-page footer{background-color:#18151f;border-top-color:#383143;color:#a9a2b4}body.blog-theme-dark.blog-post-page footer .footer-copyright p{color:#a9a2b4!important}body.blog-theme-dark.blog-post-page footer .footer-copyright p a{color:#a875e2!important}body.blog-theme-dark.blog-post-page footer .footer-copyright p a:hover{color:#c19aef!important}body.blog-theme-dark.blog-post-page footer .footer-copyright .logo .logo-dev{color:#a875e2!important}body.blog-theme-light{--blog-bg: #FFFFFF;--blog-surface: #F8F5FF;--blog-surface-elevated: #FFFFFF;--blog-text: #322B3D;--blog-heading: #181321;--blog-text-muted: #665C75;--blog-inline-code-color: #6D28D9;--blog-inline-code-bg: rgba(124, 58, 237, .07);--blog-inline-code-border: rgba(124, 58, 237, .18);--blog-border: #E7E0F0;--blog-accent: #7C3AED;--blog-accent-hover: #6D28D9;--blog-accent-warm: #B45309;--blog-link: #574A65;--blog-link-hover: #352C40;--blog-code-bg: #F7F4FC;--blog-code-text: #322B3D;--blog-shimmer-a: #F3EFF9;--blog-shimmer-b: #E8E1F1;background-color:var(--blog-bg)!important;background-image:none!important;scrollbar-color:rgba(124,58,237,.48) var(--blog-surface)}body.blog-theme-light ::-webkit-scrollbar{background:var(--blog-surface)!important}body.blog-theme-light ::-webkit-scrollbar-thumb{background:#7c3aed7a!important;border-radius:10px}body.blog-theme-light ::-webkit-scrollbar-track{background:var(--blog-surface)!important}body.blog-theme-light ::selection{background-color:var(--blog-accent);color:#fff}body.blog-theme-light header{background:#fffffff0!important;-webkit-backdrop-filter:blur(14px) saturate(180%);backdrop-filter:blur(14px) saturate(180%);border-bottom-color:var(--blog-border)!important;color:var(--blog-text)!important}body.blog-theme-light header .logo fa-icon,body.blog-theme-light header .logo .fa-icon{color:#7c3aed!important}body.blog-theme-light header .logo a{color:var(--blog-text-muted)!important}body.blog-theme-light header .logo a:hover{color:var(--blog-text-muted)!important}body.blog-theme-light header .logo .logo-dev{color:#7c3aed!important}body.blog-theme-light header .logo-context{color:#7c3aed!important}body.blog-theme-light header .link{color:var(--blog-text-muted)!important}body.blog-theme-light header .link:before{background-image:linear-gradient(90deg,var(--blog-accent) 0%,var(--blog-accent-hover) 100%)!important;box-shadow:none!important}body.blog-theme-light header .link:hover{color:var(--blog-accent-hover)!important}body.blog-theme-light header .link.link--active,body.blog-theme-light header .link.link--section-active{color:var(--blog-accent)!important}body.blog-theme-light header .link.link--back{color:var(--blog-text-muted)!important}body.blog-theme-light header .link.link--back:hover{color:var(--blog-text)!important}body.blog-theme-light header .link.link--rss{color:var(--blog-accent)!important}body.blog-theme-light header .link.link--rss:hover{color:var(--blog-accent-hover)!important}body.blog-theme-light header .nav-links li.theme-toggle .theme-toggle-btn{background:none;border:none;color:var(--blog-text-muted)}body.blog-theme-light header .nav-links li.theme-toggle .theme-toggle-btn:hover{color:var(--blog-accent);filter:drop-shadow(0 0 4px rgba(124,58,237,.25))}body.blog-theme-light header .nav-links li.theme-toggle .theme-toggle-btn.active{color:var(--blog-accent);filter:drop-shadow(0 0 4px rgba(124,58,237,.2))}body.blog-theme-light mat-sidenav{background:var(--blog-bg)!important;color:var(--blog-text)!important}body.blog-theme-light mat-sidenav .logo{border-bottom-color:var(--blog-border)!important}body.blog-theme-light mat-sidenav .logo fa-icon,body.blog-theme-light mat-sidenav .logo .fa-icon{color:#7c3aed!important}body.blog-theme-light mat-sidenav .logo a{color:var(--blog-text-muted)!important}body.blog-theme-light mat-sidenav .logo .logo-dev{color:#7c3aed!important}body.blog-theme-light mat-sidenav .nav-links .link{color:var(--blog-text-muted)!important}body.blog-theme-light mat-sidenav .nav-links .link:hover{color:var(--blog-accent)!important}body.blog-theme-light footer{background-color:var(--blog-bg)!important;border-top-color:var(--blog-border)!important;color:var(--blog-text-muted)!important}body.blog-theme-light footer a{color:var(--blog-text-muted)!important}body.blog-theme-light footer a:hover{color:var(--blog-accent-warm)!important}body.blog-theme-light footer p{color:var(--blog-text-muted)!important}body.blog-theme-light footer .logo fa-icon,body.blog-theme-light footer .logo .fa-icon{color:#7c3aed!important}body.blog-theme-light footer .logo-dev{color:#7c3aed!important}body.blog-theme-light .blog-hero{background:var(--blog-bg);border-bottom:1px solid var(--blog-border)}body.blog-theme-light .blog-hero:before{background-image:repeating-linear-gradient(90deg,transparent 0,transparent 120px,rgba(124,58,237,.04) 120px,rgba(124,58,237,.04) 121px)}body.blog-theme-light .blog-hero:after{background:linear-gradient(90deg,transparent 0%,rgba(124,58,237,.38) 50%,transparent 100%);box-shadow:none;opacity:.5;animation:none}body.blog-theme-light .blog-hero.blog-hero--category{border-bottom-color:var(--blog-border)}body.blog-theme-light .blog-hero.blog-hero--category:after{background:linear-gradient(90deg,transparent 0%,var(--cat-color, var(--blog-accent)) 50%,transparent 100%)}body.blog-theme-light .blog-card{background:var(--blog-surface-elevated);border-color:var(--blog-border);box-shadow:0 2px 10px #2d1c440d}body.blog-theme-light .blog-card:hover{border-color:var(--blog-accent);box-shadow:0 4px 16px #7c3aed1a}body.blog-theme-light .blog-card:hover h3{text-shadow:none}body.blog-theme-light .blog-list mat-card{background:transparent!important;border:none!important;box-shadow:none!important}body.blog-theme-light .blog-category-filter.active{background:color-mix(in srgb,var(--cat-color, var(--blog-accent)) 10%,transparent);border-color:var(--cat-color, var(--blog-accent));color:var(--cat-color, var(--blog-accent));font-weight:700}body.blog-theme-light .blog-category-filter.active:hover{transform:translateY(-1px);box-shadow:none}body.blog-theme-light .blog-category-filter:not(.active):hover{border-color:var(--cat-color, var(--blog-accent));color:var(--cat-color, var(--blog-accent))}body.blog-theme-light .blog-page-btn{border-color:var(--blog-border);color:var(--blog-text-muted)}body.blog-theme-light .blog-page-btn:hover:not(:disabled){background:#7c3aed0d;border-color:var(--blog-accent);color:var(--blog-accent)}body.blog-theme-light .blog-page-btn.active{background:var(--blog-accent);border-color:var(--blog-accent);color:#fff}body.blog-theme-light .blog-page-ellipsis{color:var(--blog-text-muted)}body.blog-theme-light .post-content pre[class*=language-] code,body.blog-theme-light .post-content code[class*=language-]{color:var(--blog-text);text-shadow:none}body.blog-theme-light .post-content .token.comment,body.blog-theme-light .post-content .token.prolog,body.blog-theme-light .post-content .token.doctype,body.blog-theme-light .post-content .token.cdata{color:#756a84;font-style:italic}body.blog-theme-light .post-content .token.punctuation{color:#554b63}body.blog-theme-light .post-content .token.namespace{opacity:.75}body.blog-theme-light .post-content .token.property,body.blog-theme-light .post-content .token.tag,body.blog-theme-light .post-content .token.boolean,body.blog-theme-light .post-content .token.number,body.blog-theme-light .post-content .token.constant,body.blog-theme-light .post-content .token.symbol,body.blog-theme-light .post-content .token.deleted{color:var(--blog-accent)}body.blog-theme-light .post-content .token.selector,body.blog-theme-light .post-content .token.attr-name,body.blog-theme-light .post-content .token.string,body.blog-theme-light .post-content .token.char,body.blog-theme-light .post-content .token.builtin,body.blog-theme-light .post-content .token.inserted{color:#15803d}body.blog-theme-light .post-content .token.operator,body.blog-theme-light .post-content .token.entity,body.blog-theme-light .post-content .token.url{color:var(--blog-accent)}body.blog-theme-light .post-content .token.atrule,body.blog-theme-light .post-content .token.attr-value,body.blog-theme-light .post-content .token.keyword,body.blog-theme-light .post-content .token.control,body.blog-theme-light .post-content .token.directive,body.blog-theme-light .post-content .token.unit{color:var(--blog-accent-warm);font-weight:600}body.blog-theme-light .post-content .token.function,body.blog-theme-light .post-content .token.class-name{color:var(--blog-accent)}body.blog-theme-light .post-content .token.regex,body.blog-theme-light .post-content .token.important,body.blog-theme-light .post-content .token.variable{color:var(--blog-accent-warm)}body.blog-theme-light .post-content a:not(.blog-category-badge):not(.related-card):not(.back-link):not(.code-copy-btn):not(.post-share-btn){color:var(--blog-link);text-decoration-color:#574a6566}body.blog-theme-light .post-content a:not(.blog-category-badge):not(.related-card):not(.back-link):not(.code-copy-btn):not(.post-share-btn):hover{color:var(--blog-link-hover);text-decoration-color:var(--blog-link-hover);text-shadow:none}body.blog-theme-light .post-content pre .code-copy-btn:not(.copied):not(.failed){background:#fff;border-color:#7c3aed3d;color:var(--blog-accent)}body.blog-theme-light .post-content pre .code-copy-btn:not(.copied):not(.failed):hover{background:var(--blog-accent);border-color:var(--blog-accent);color:#fff}body.blog-theme-light .post-content blockquote{border-left-color:var(--blog-accent-warm);color:var(--blog-text-muted);background:var(--blog-surface)}body.blog-theme-light .post-content ul,body.blog-theme-light .post-content ol li::marker{color:var(--blog-accent)}body.blog-theme-light .post-content hr{background:var(--blog-border)}body.blog-theme-light .post-content .callout.callout--tip{background:#7c3aed0f;border-color:#7c3aed}body.blog-theme-light .post-content .callout.callout--info{background:#0891b20f;border-color:#0891b2}body.blog-theme-light .post-content .callout.callout--warning{background:#b4530914;border-color:#b45309}body.blog-theme-light .post-content .callout.callout--danger{background:#dc26260f;border-color:#dc2626}body.blog-theme-light .post-content .callout .callout-body{color:var(--blog-text)}body.blog-theme-light .post-content .video-embed .video-wrapper{background:var(--blog-surface)}body.blog-theme-light .back-link:hover,body.blog-theme-light .post-share-btn:hover{border-color:var(--blog-accent);color:var(--blog-accent)}body.blog-theme-light .related-card:hover{border-color:var(--blog-accent)}body.blog-theme-light .related-card:hover h3{color:var(--blog-accent)}
