.blog-article .prose{max-width:680px;line-height:1.7;font-size:1.0625rem}.blog-article .prose p{margin-bottom:1.25em}.blog-article .prose h2{margin-top:2.5em;margin-bottom:.75em;font-size:1.625rem;font-weight:700;line-height:1.25;letter-spacing:-.02em;scroll-margin-top:6rem}.blog-article .prose h3{margin-top:2em;margin-bottom:.625em;font-size:1.375rem;font-weight:600;line-height:1.3;scroll-margin-top:6rem}.blog-article .prose h4{margin-top:1.5em;margin-bottom:.5em;font-size:1.125rem;font-weight:600;line-height:1.4;scroll-margin-top:6rem}.blog-article .prose ol,.blog-article .prose ul{margin-top:1em;margin-bottom:1.25em;padding-left:1.5em}.blog-article .prose li{margin-bottom:.5em;line-height:1.65}.blog-article .prose blockquote{margin-top:1.5em;margin-bottom:1.5em;padding-left:1.25em;border-left:3px solid hsl(var(--primary));font-style:italic;color:hsl(var(--muted-foreground))}.blog-article .prose pre{margin-top:1.5em;margin-bottom:1.5em;border-radius:.5rem}.blog-article .prose code:not(pre code){padding:.125em .375em;border-radius:.25rem;font-size:.9em}.blog-article .prose a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px;transition:opacity .15s ease}.blog-article .prose a:hover{opacity:.8}.blog-article .prose img{margin-top:1.5em;margin-bottom:1.5em;border-radius:.5rem}.blog-article .prose table{width:100%;margin:1.5em 0;border-collapse:collapse;font-size:.875rem;border:none!important}.blog-article .prose tbody,.blog-article .prose thead,.blog-article .prose tr{border:none!important}.blog-article .prose td,.blog-article .prose th{padding:.625rem 1rem;text-align:left;vertical-align:middle;border:none!important;border-bottom:1px solid rgba(128,128,128,.12)!important}.blog-article .prose thead th{font-weight:600;color:hsl(var(--muted-foreground));font-size:.8125rem;padding-bottom:.75rem;border-bottom:1px solid rgba(128,128,128,.25)!important}.blog-article .prose tbody tr:last-child td{border-bottom:none!important}@media (min-width:769px){.blog-article .prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.3) rgba(128,128,128,.1)}.blog-article .prose table::-webkit-scrollbar{height:8px}.blog-article .prose table::-webkit-scrollbar-track{background:rgba(128,128,128,.1);border-radius:4px}.blog-article .prose table::-webkit-scrollbar-thumb{background:rgba(128,128,128,.3);border-radius:4px}.blog-article .prose table::-webkit-scrollbar-thumb:hover{background:rgba(128,128,128,.5)}.blog-article .prose td,.blog-article .prose th{white-space:nowrap}}.blog-article .prose td code{font-size:.8125rem;padding:.125rem .375rem;background-color:rgba(128,128,128,.15);border-radius:.25rem}.dark .blog-article .prose td code{background-color:rgba(255,255,255,.1)}.blog-article .prose .list-check,.blog-article .prose ul[data-type=check]{list-style:none;padding-left:0;margin:1.25em 0}.blog-article .prose .list-check li,.blog-article .prose ul[data-type=check] li{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem .875rem;margin-bottom:.375rem;background-color:rgba(128,128,128,.05);border-radius:.5rem;border:1px solid rgba(128,128,128,.1);transition:background-color .15s ease}.blog-article .prose .list-check li:hover,.blog-article .prose ul[data-type=check] li:hover{background-color:rgba(128,128,128,.08)}.blog-article .prose .list-check li input[type=checkbox],.blog-article .prose ul[data-type=check] li input[type=checkbox]{margin-top:.25rem;flex-shrink:0;width:1.125rem;height:1.125rem;accent-color:hsl(var(--primary))}.blog-article .prose pre{margin-top:1.75em;margin-bottom:1.75em;border-radius:.75rem;padding:0;overflow:hidden;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}.blog-article .prose pre code{display:block;padding:1.25rem 1rem;font-size:.875rem;line-height:1.7;overflow-x:auto}.blog-article .prose code:not(pre code){padding:.2em .4em;border-radius:.375rem;font-size:.875em;background-color:rgba(128,128,128,.12);font-weight:500;white-space:nowrap}.dark .blog-article .prose code:not(pre code){background-color:rgba(255,255,255,.1)}@media (max-width:768px){.blog-article .prose{font-size:1rem;line-height:1.75}.blog-article .prose h2{margin-top:2em;font-size:1.5rem}.blog-article .prose h3{margin-top:1.75em;font-size:1.25rem}.blog-article .prose table{display:block;font-size:.875rem}.blog-article .prose thead{display:none}.blog-article .prose tbody{display:block}.blog-article .prose tbody tr{display:block;margin-bottom:1rem;padding:.75rem;background-color:rgba(128,128,128,.04);border-radius:.5rem;border:1px solid rgba(128,128,128,.1)!important}.blog-article .prose tbody tr:last-child{margin-bottom:0}.blog-article .prose td{display:grid;grid-template-columns:120px 1fr;gap:.5rem;padding:.5rem 0!important;border:none!important;white-space:normal;word-break:break-word}.blog-article .prose td:first-child{padding-top:0!important}.blog-article .prose td:last-child{padding-bottom:0!important}.blog-article .prose td:before{content:attr(data-label);font-weight:600;color:hsl(var(--muted-foreground));font-size:.75rem;text-transform:uppercase;letter-spacing:.025em}.blog-article .prose td:first-child:before{content:attr(data-label)}.blog-article .prose td code{font-size:.8125rem;white-space:normal;word-break:break-all}.blog-article .prose .list-check li,.blog-article .prose ul[data-type=check] li{padding:.5rem .625rem}}@keyframes progress-grow{0%{transform:scaleX(0)}}html{scroll-behavior:smooth}.blog-article .prose a:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;border-radius:2px}.table-expander-wrapper{position:relative;margin:1.5em 0}.table-expand-btn{position:absolute;top:-.5rem;right:-.5rem;z-index:10;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.375rem;color:hsl(var(--muted-foreground));cursor:pointer;opacity:0;transition:opacity .2s ease,background-color .2s ease,color .2s ease;box-shadow:0 1px 3px 0 rgba(0,0,0,.1)}.table-expander-wrapper:hover .table-expand-btn{opacity:1}.table-expand-btn:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.table-expand-btn:focus-visible{opacity:1;outline:2px solid hsl(var(--primary));outline-offset:2px}.table-modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:rgba(0,0,0,.8);backdrop-filter:blur(4px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.table-modal-content{position:relative;width:100%;max-width:90rem;max-height:90vh;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.75rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);overflow:hidden;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.table-modal-header{position:sticky;top:0;z-index:10;display:flex;justify-content:flex-end;padding:1rem;background:hsl(var(--background)/.95);backdrop-filter:blur(8px);border-bottom:1px solid hsl(var(--border))}.table-modal-close{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background:transparent;border:none;border-radius:.375rem;color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .2s ease,color .2s ease}.table-modal-close:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.table-modal-close:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.table-modal-body{padding:1.5rem;overflow:auto;max-height:calc(90vh - 5rem)}.table-modal-body table{width:100%;margin:0!important;border-collapse:collapse;font-size:.9375rem;border:none!important}.table-modal-body tbody,.table-modal-body thead,.table-modal-body tr{border:none!important}.table-modal-body td,.table-modal-body th{padding:.625rem 1rem;text-align:left;vertical-align:middle;border:none!important;border-bottom:1px solid rgba(128,128,128,.12)!important}.table-modal-body thead th{font-weight:600;color:hsl(var(--muted-foreground));font-size:.8125rem;padding-bottom:.75rem;border-bottom:1px solid rgba(128,128,128,.25)!important}.table-modal-body tbody tr:last-child td{border-bottom:none!important}.table-modal-body td code{font-size:.8125rem;padding:.125rem .375rem;background-color:rgba(128,128,128,.15);border-radius:.25rem}.dark .table-modal-body td code{background-color:rgba(255,255,255,.1)}@media (max-width:768px){.table-expand-btn{display:none}}