.article-content h1{font-size:2.25rem;font-weight:700;color:#1f2937;margin-top:3rem;margin-bottom:1.5rem;line-height:1.2}.article-content h2{font-size:1.875rem;font-weight:700;color:#1f2937;margin-top:2.5rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid rgba(20,184,166,.2);line-height:1.3}.article-content h3{font-size:1.5rem;font-weight:600;color:#1f2937;margin-top:2rem;margin-bottom:1rem;line-height:1.4}.article-content h4{font-size:1.25rem;font-weight:600;color:#1f2937;margin-top:1.5rem;margin-bottom:.75rem;line-height:1.4}.article-content p{font-size:17px;line-height:1.8;color:#6b7280;margin-bottom:1.5rem}.article-content a{color:#14b8a6;font-weight:500;text-decoration:none;transition:all .2s}.article-content a:hover{text-decoration:underline;color:#14b8a6cc}.article-content strong{color:#1f2937;font-weight:600}.article-content em{color:#1f2937;font-style:italic}.article-content code{color:#14b8a6;background-color:#f3f4f6;padding:.125rem .5rem;border-radius:.25rem;font-size:15px;font-family:Monaco,Menlo,Consolas,Courier New,monospace}.article-content code:before,.article-content code:after{content:""}.article-content pre{background-color:#1e293b;color:#fff;border-radius:.75rem;padding:1.5rem;overflow-x:auto;margin:2rem 0;box-shadow:0 10px 15px -3px #0000001a;line-height:1.6}.article-content pre code{background-color:transparent;color:#fff;padding:0;font-size:14px;font-family:Monaco,Menlo,Consolas,Courier New,monospace}.article-content ul{margin:1.5rem 0;padding-left:1.5rem}.article-content ul li{font-size:17px;line-height:1.8;color:#6b7280;margin-bottom:.75rem}.article-content ul li::marker{color:#14b8a6}.article-content ol{margin:1.5rem 0;padding-left:1.5rem}.article-content ol li{font-size:17px;line-height:1.8;color:#6b7280;margin-bottom:.75rem}.article-content ol li::marker{color:#14b8a6;font-weight:600}.article-content ul ul,.article-content ol ol,.article-content ul ol,.article-content ol ul{margin-top:.75rem;margin-bottom:0}.article-content blockquote{border-left:4px solid #14B8A6;padding-left:1.5rem;padding-top:1rem;padding-bottom:1rem;margin:2rem 0;font-style:italic;background-color:#14b8a60d;border-radius:0 .5rem .5rem 0}.article-content blockquote p{color:#1f2937;margin-bottom:0}.article-content img{border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a;margin:2rem 0;width:100%;height:auto}.article-content table{width:100%;margin:2rem 0;border-collapse:collapse;border-radius:.5rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.article-content thead{background:linear-gradient(to right,#14b8a61a,#14b8a60d)}.article-content th{padding:1rem;text-align:left;font-weight:600;color:#1f2937;border-bottom:2px solid rgba(20,184,166,.2)}.article-content td{padding:1rem;border-bottom:1px solid #E5E7EB;color:#6b7280}.article-content tbody tr:hover{background-color:#f3f4f680;transition:background-color .2s}.article-content hr{margin:3rem 0;border-top:2px solid #E5E7EB}.article-content>p:first-of-type{font-size:19px;line-height:1.9;color:#1f2937;font-weight:500}.article-content>*+*{margin-top:1.5rem}.article-content>h2+*{margin-top:1.5rem}.article-content>h3+*{margin-top:1.25rem}@media(max-width:768px){.article-content h1{font-size:1.875rem}.article-content h2{font-size:1.5rem}.article-content h3{font-size:1.25rem}.article-content p,.article-content li{font-size:16px}.article-content pre{padding:1rem;font-size:13px}}@media print{.article-content{color:#000}.article-content a{color:#000;text-decoration:underline}.article-content pre{border:1px solid #D1D5DB;background-color:#fff;color:#000}}.code-block-wrapper{position:relative;margin:2rem 0}.copy-button{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;backdrop-filter:blur(4px)}.copy-button:hover{background-color:#fff3;border-color:#ffffff4d}.copy-button.copied{background-color:#22c55e33;border-color:#22c55e66}.copy-button svg{width:1rem;height:1rem}.copy-button .hidden{display:none}
