.frontend-app{font-family:var(--font-family-primary);color:var(--color-text-primary);background-color:var(--color-background-primary);line-height:1.8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.frontend-app *,.frontend-app :after,.frontend-app :before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--color-border-light)}.frontend-app img,.frontend-app svg,.frontend-app video{display:block;max-width:100%;height:auto}.frontend-app h1{font-family:var(--font-family-heading);font-size:42px;font-weight:700;line-height:1.3;color:var(--color-black)}.frontend-app h2{font-size:32px}.frontend-app h2,.frontend-app h3{font-family:var(--font-family-heading);font-weight:600;line-height:1.4;color:var(--color-black)}.frontend-app h3{font-size:24px}.frontend-app h4{font-size:18px;line-height:1.5;color:var(--color-black)}.frontend-app h4,.frontend-app h5,.frontend-app h6{font-family:var(--font-family-heading);font-weight:600}.frontend-app h5,.frontend-app h6{font-size:16px}.frontend-app p{margin-bottom:24px;line-height:1.8}.frontend-app button{font-family:var(--font-family-heading)}.frontend-app a{color:inherit;text-decoration:inherit}.frontend-app button,.frontend-app input,.frontend-app select,.frontend-app textarea{font:inherit;color:inherit}.frontend-app ol,.frontend-app ul{list-style:none;margin:0;padding:0}.frontend-app :focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.container-layout{width:100%;max-width:1100px;margin:0 auto;padding:0 1.5rem}@media (min-width:1024px){.container-layout{padding:0 2rem}}.container-layout-lg{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.article-content{font-size:1rem;line-height:1.75;color:var(--color-text-primary)}.article-content h1{font-size:2.25rem;margin-top:2rem;margin-bottom:1rem}.article-content h1,.article-content h2{font-weight:700;color:var(--color-text-primary)}.article-content h2{font-size:1.875rem;margin-top:1.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border-light)}.article-content h3{font-size:1.25rem;margin-top:1.25rem}.article-content h3,.article-content h4{font-weight:600;margin-bottom:.5rem;color:var(--color-text-primary)}.article-content h4{font-size:1.125rem;margin-top:1rem}.article-content p{margin-bottom:1rem;line-height:1.8;color:var(--color-text-primary)}.article-content ol,.article-content ul{margin:1.5rem 0;padding-left:1.5rem}.article-content ul{list-style-type:disc}.article-content ol{list-style-type:decimal}.article-content li{margin-bottom:.5rem;color:var(--color-text-primary)}.article-content li strong{color:var(--color-text-primary);font-weight:600}.article-content a{color:var(--color-primary-dark);text-decoration:none;transition:opacity var(--transition-base)}.article-content a:hover{opacity:.8;text-decoration:underline}.article-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid var(--color-primary);background-color:var(--color-background-secondary);font-style:italic;color:var(--color-text-secondary)}.article-content code{background-color:var(--color-background-secondary);padding:.125rem .375rem;border-radius:4px;color:var(--color-primary-dark)}.article-content code,.article-content pre{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem}.article-content pre{background-color:var(--color-black);color:#e0e0e0;padding:1rem;border-radius:8px;overflow-x:auto;margin:1.5rem 0;line-height:1.5}.article-content pre code{background-color:transparent;color:inherit;padding:0}.article-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;border:1px solid var(--color-border-light)}.article-content table th{background-color:var(--color-background-secondary);text-align:left;font-weight:600}.article-content table td,.article-content table th{padding:.75rem;color:var(--color-text-primary);border:1px solid var(--color-border-light)}.article-content table tr:nth-child(2n){background-color:var(--color-background-secondary)}.article-content img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem 0;box-shadow:var(--shadow-card)}.article-content hr{margin:2rem 0;border:none;border-top:2px solid var(--color-border-light)}.article-content strong{font-weight:600;color:var(--color-text-primary)}.article-content em{font-style:italic}.article-content .prose-like>:first-child{margin-top:0}.article-content .prose-like>:last-child{margin-bottom:0}