*{transition:color .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}html{font-family:Inter,system-ui,sans-serif;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:#fafafa;color:#1f2937;line-height:1.6;overflow-x:hidden}*:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:4px}.skip-link{transform:translateY(-100%);transition:transform .3s ease}.skip-link:focus{transform:translateY(0)}.prose{max-width:none;color:#374151}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:#111827;font-weight:700;line-height:1.25;scroll-margin-top:2rem}.prose h1{font-size:2.5rem;margin:0 0 1.5rem}.prose h2{font-size:2rem;margin:2.5rem 0 1rem}.prose h3{font-size:1.5rem;margin:2rem 0 .75rem}.prose h4{font-size:1.25rem;margin:1.5rem 0 .5rem}.prose p{margin-bottom:1.5rem;line-height:1.75}.prose a{color:#2563eb;text-decoration:underline;text-decoration-color:#bfdbfe;text-underline-offset:3px;font-weight:500}.prose a:hover{color:#1d4ed8;text-decoration-color:#2563eb;text-decoration-thickness:2px}.prose ul,.prose ol{margin:1.5rem 0;padding-left:1.75rem}.prose li{margin:.75rem 0;line-height:1.6}.prose blockquote{border-left:4px solid #3b82f6;padding:1.5rem 2rem;margin:2rem 0;font-style:italic;color:#6b7280;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:.5rem;position:relative;box-shadow:0 1px 3px #0000001a}.prose blockquote:before{content:'"';font-size:4rem;color:#bfdbfe;position:absolute;top:-.5rem;left:1.5rem;font-family:serif;line-height:1}.prose code{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#1f2937;padding:.25rem .5rem;border-radius:.375rem;font-size:.875em;font-weight:600;border:1px solid #d1d5db}.prose pre{background:linear-gradient(135deg,#1f2937,#111827);color:#f9fafb;padding:2rem;border-radius:.75rem;overflow-x:auto;margin:2rem 0;border:1px solid #374151;box-shadow:0 4px 6px -1px #0000001a}.prose pre code{background:transparent;color:inherit;padding:0;border:none;font-weight:400}.prose table{width:100%;border-collapse:separate;border-spacing:0;margin:2rem 0;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb}.prose th{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:1rem;text-align:left;font-weight:700;color:#374151;border-bottom:2px solid #e5e7eb}.prose td{padding:1rem;border-bottom:1px solid #f3f4f6}.prose tbody tr:hover{background-color:#f8fafc}.prose img{border-radius:.75rem;box-shadow:0 10px 25px -5px #0000001a;margin:2rem auto;max-width:100%;height:auto}.prose hr{border:none;height:2px;background:linear-gradient(90deg,transparent,#e5e7eb,transparent);margin:3rem 0}.gradient-text{background:linear-gradient(135deg,#2563eb,#9333ea);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-hover{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.loading{opacity:.7;pointer-events:none;position:relative}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #f3f3f3;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media print{.no-print,.skip-link,#back-to-top,nav,footer{display:none!important}body{background:#fff!important;color:#000!important;font-size:12pt;line-height:1.5}.prose h1,.prose h2,.prose h3{page-break-after:avoid}.prose img{max-width:100%!important;page-break-inside:avoid}}@media (prefers-color-scheme: dark){body{background-color:#111827;color:#f9fafb}.prose{color:#e5e7eb}.prose h1,.prose h2,.prose h3,.prose h4{color:#f9fafb}}@media (max-width: 768px){.prose h1{font-size:2rem}.prose h2{font-size:1.75rem}.prose h3{font-size:1.375rem}.prose table{font-size:.875rem}.prose th,.prose td{padding:.75rem .5rem}.prose blockquote{padding:1rem;margin:1.5rem 0}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}
