.article-content h2{border-bottom:2px solid hsl(var(--primary)/.2);color:hsl(var(--foreground));letter-spacing:-.025em;margin-top:3rem;margin-bottom:1.5rem;padding-bottom:.75rem;font-size:2rem;font-weight:700}.article-content h2:first-child{margin-top:0}.article-content h3{color:hsl(var(--foreground));letter-spacing:-.025em;margin-top:2.5rem;margin-bottom:1rem;font-size:1.5rem;font-weight:700}.article-content h4{color:hsl(var(--foreground)/.9);margin-top:2rem;margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.article-content p{color:hsl(var(--foreground)/.85);margin-bottom:1.5rem;font-size:1.125rem;line-height:1.8}.article-content ul{flex-direction:column;gap:.75rem;margin:2rem 0;padding:0;list-style:none;display:flex}.article-content ul li{color:hsl(var(--foreground)/.85);padding-left:2rem;font-size:1.125rem;line-height:1.7;position:relative}.article-content ul li:before{content:"";background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary)/.7));width:8px;height:8px;box-shadow:0 0 0 3px hsl(var(--primary)/.1);border-radius:50%;position:absolute;top:.6em;left:0}.article-content ul ul{margin:.75rem 0;padding-left:0}.article-content ul ul li:before{background:hsl(var(--muted-foreground)/.5);width:6px;height:6px;box-shadow:0 0 0 2px hsl(var(--muted-foreground)/.1)}.article-content ol{counter-reset:step-counter;flex-direction:column;gap:1.5rem;margin:2.5rem 0;padding:0;list-style:none;display:flex}.article-content ol li{counter-increment:step-counter;color:hsl(var(--foreground)/.85);background:hsl(var(--muted)/.3);border-left:3px solid hsl(var(--primary)/.5);border-radius:.5rem;padding:1.25rem 1.5rem 1.25rem 4rem;font-size:1.125rem;line-height:1.7;transition:all .2s;position:relative}.article-content ol li:hover{background:hsl(var(--muted)/.5);border-left-color:hsl(var(--primary));transform:translate(2px)}.article-content ol li:before{content:counter(step-counter);background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary)/.8));width:2rem;height:2rem;color:hsl(var(--primary-foreground));box-shadow:0 2px 8px hsl(var(--primary)/.3);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:flex;position:absolute;top:1.25rem;left:1rem}.article-content ol ol{gap:1rem;margin:1rem 0}.article-content ol ol li{background:hsl(var(--background));border-left-width:2px;padding:1rem 1rem 1rem 3.5rem}.article-content ol ol li:before{width:1.5rem;height:1.5rem;font-size:.75rem;left:.875rem}.article-content strong{color:hsl(var(--foreground));font-weight:600}.article-content code{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:.25rem;padding:.25rem .5rem;font-family:Monaco,Courier New,monospace;font-size:.9em}.article-content pre{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:.5rem;margin:2rem 0;padding:1.5rem;overflow-x:auto;box-shadow:inset 0 2px 4px #0000000d}.article-content pre code{background:0 0;border:none;padding:0;font-size:.875rem}.article-content blockquote{border-left:4px solid hsl(var(--primary));background:linear-gradient(to right,hsl(var(--primary)/.1),hsl(var(--primary)/.05));border-radius:0 .5rem .5rem 0;margin:2rem 0;padding:1.5rem 2rem;font-style:italic}.article-content blockquote p{margin-bottom:0}.article-content a{color:hsl(var(--primary));border-bottom:1px solid hsl(var(--primary)/.3);font-weight:500;text-decoration:none;transition:border-color .2s}.article-content a:hover{border-bottom-color:hsl(var(--primary))}.article-content>:first-child{margin-top:0}.article-content>:last-child{margin-bottom:0}.article-content img{border-radius:.75rem;max-width:100%;height:auto;margin:2.5rem 0;box-shadow:0 4px 16px #0000001a}.article-content table{border-collapse:separate;border-spacing:0;border:1px solid hsl(var(--border));border-radius:.5rem;width:100%;margin:2rem 0;overflow:hidden}.article-content th{background:hsl(var(--muted));text-align:left;border-bottom:2px solid hsl(var(--border));padding:1rem;font-weight:600}.article-content td{border-bottom:1px solid hsl(var(--border));padding:1rem}.article-content tr:last-child td{border-bottom:none}.article-content tr:hover{background:hsl(var(--muted)/.3)}
