 :root {
            --font-size-p: 20px;
            --secondary-color: #4ecdc4;
            --text-color: #333;
            --spacing: 16px;
        }

        body {
            font-family: Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
            line-height: 1.6;
            color: #333;
            max-width: 900px;
            margin: 0 auto;
            padding: 20px;
            background-color: white;
        }
        header {
            background-color: #005b96;
            color: white;
            padding: 20px;
            text-align: center;
            border-radius: 5px;
            margin-bottom: 30px;
        }
        h1 {
            margin: 0;
            font-family: Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
            font-size: 2.2rem;
            font-weight: 600;
        }
        h2 {
            color: #005b96;
            border-bottom: 2px solid #005b96;
            padding-bottom: 5px;
            margin-top: 30px;
            font-family: Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
            font-size: 1.8rem;
            font-weight: 600;
        }
        .post {
            background-color: white;
            padding: 20px;
            margin-bottom: 30px;
            border-radius: 5px;
            padding-top: 1px!important;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        }
        .code-container {
            position: relative;
            margin: 20px 0;
            font-size:var(--font-size-p);
            overflow: hidden;
        }
        pre {
            background-color: #1e1e1e;
            padding: 15px 15px 15px 55px; /* Increased left padding for line numbers */
            border-radius: 5px;
            overflow-x: auto;
            border-left: 4px solid #005b96;
            font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
            font-size:var(--font-size-p);
            line-height: 1.4;
            tab-size: 4;
            position: relative;
            counter-reset: line;
            -webkit-overflow-scrolling: touch;
        }
        code {
            color: #f8f8f2;
            display: block;
            font-size:var(--font-size-p);
            white-space: pre;
        }
        code .line {
            display: block;
            position: relative;
            padding-left: 10px;
            font-size:var(--font-size-p);
            white-space: pre-wrap; /* Allow wrapping */
            word-break: break-word; /* Break long words */
        }
        code .line:before {
            counter-increment: line;
            content: counter(line);
            position: absolute;
            left: -45px; /* Adjusted to prevent wrapping */
            color: #ffffff;
            text-align: right;
            width: 30px; /* Increased width for two-digit numbers */
            font-size:var(--font-size-p);
            font-weight: bold;
            display: inline-block;
            user-select: none;
        }
        /* Syntax highlighting colors */
        .keyword { color: #f92672; }
        .type { color: #66d9ef; }
        .string { color: #e6db74; }
        .comment { color: #75715e; }
        .number { color: #ae81ff; }
        .preprocessor { color: #cb4b16; }
        .function { color: #a6e22e; }

        .copy-btn {
            position: absolute;
            top: 5px;
            right: 5px;
            background-color: #3e3d32;
            color: white;
            border: none;
            padding: 5px;
            border-radius: 3px;
            cursor: pointer;
            font-size: 14px;
            width: 30px;
            height: 30px;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 1;
        }
        .copy-btn:hover {
            background-color: #005b96;
        }
        .copy-icon {
            display: inline-block;
            width: 16px;
            height: 16px;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f8f8f2'%3E%3Cpath d='M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c极-1.1-.9-2-2-2zm0 16H8V7h11v14z'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: center;
        }
        .copy-btn.copied .copy-icon {
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23a6e22e'%3E%3Cpath d='M9 极6.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
        }
        footer {
            text-align: center;
            margin-top: 50px;
            padding: 20px;
            color: #666;
            font-family: Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
            font-size: var(--font-size-p);
        }
        a {
            color: #005b96;
            text-decoration: none;
            font-size:var(--font-size-p);
            font-family: Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
        }
        a:hover {
            text-decoration: underline;
        }
        ul, ol {
            padding-left: 20px;
            font-family: Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
        }
        li {
            margin-bottom: 8px;
            font-size: var(--font-size-p);
            font-family: Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
        }

        .folder-structure {
            list-style-type: none;
            padding-left: 20px;
            font-family: Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
        }
        .folder:before {
            content: "📁 ";
        }
        .file:before {
            content: "📄 ";
        }

        .explanation-list {
            list-style-type: disc;
            padding-left: 30px;
            line-height: 1.6;
            font-size:var(--font-size-p);
            font-family: Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
        }
        .explanation-list li {
            margin-bottom: 8px;
            font-size:var(--font-size-p);
            font-family: Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
        }
        .explanation-list ul {
            list-style-type: circle;
            padding-left: 25px;
            margin-top: 5px;
            font-family: Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
        }
        .explanation-list strong {
            color: #005b96;
            font-size:var(--font-size-p);
            font-family: Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
        }
        .explanation-list code {
            color: black;
            background-color: #f5f5f5;
            padding: 2px 4px;
            border-radius: 3px;
            font-family: 'Courier New', monospace;
            font-size:var(--font-size-p);
            white-space: normal;
            word-break: break-word;
        }
        .dataframe-output{
            color:white;
        }
        
        p{
            font-size:var(--font-size-p);
            font-family: Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
            --tiempos-text: "__tiemposText_34e0db", "__tiemposText_Fallback_34e0db";
        }

        /* NEW RESPONSIVE STYLES */
        
        /* Adjustments for tablets */
        @media screen and (max-width: 992px) {
            body {
                padding: 15px;
            }
            
            header {
                padding: 15px;
            }
            
            .post {
                padding: 15px;
            }
            
            pre {
                padding: 12px 12px 12px 50px; /* Adjusted for line numbers */
            }
            
            code .line:before {
                left: -40px; /* Adjusted for tablets */
                width: 30px; /* Maintain width for two-digit numbers */
            }

            h1 {
                font-size: 1.9rem;
            }
            
            h2 {
                font-size: 1.6rem;
            }
        }
        
        /* Adjustments for mobile devices */
        @media screen and (max-width: 768px) {
            body {
                padding: 10px;
            }
            
            header {
                padding: 12px;
                margin-bottom: 20px;
            }
            
            h1 {
                font-size: 1.7rem;
            }
            
            h2 {
                font-size: 1.5rem;
                margin-top: 20px;
            }
            
            .post {
                padding: 12px;
                margin-bottom: 20px;
            }
            
            .code-container {
                margin: 15px 0;
            }
            
            pre {
                padding: 10px 10px 10px 45px; /* Adjusted for line numbers */
                white-space: pre-wrap;
                word-wrap: break-word;
            }
            
            code .line:before {
                left: -35px; /* Adjusted for mobile */
                width: 30px; /* Maintain width for two-digit numbers */
            }
            
            .copy-btn {
                width: 28px;
                height: 28px;
            }
            
            footer {
                margin-top: 30px;
                padding: 15px;
            }
            
            /* Fix for inline styles */
            .post[style*="margin-top"] {
                margin-top: 15px !important;
            }
            
            .post[style*="padding-top"] {
                padding-top: 10px !important;
            }
        }
        
        /* Adjustments for very small screens */
        @media screen and (max-width: 480px) {
            h1 {
                font-size: 1.5rem;
            }
            
            h2 {
                font-size: 1.3rem;
            }
            
            pre {
                padding: 8px 8px 8px 40px; /* Adjusted for line numbers */
                font-size: calc(var(--font-size-p) - 4px);
            }
            
            code {
                font-size: calc(var(--font-size-p) - 4px);
            }
            
            code .line:before {
                left: -30px; /* Adjusted for very small screens */
                width: 25px; /* Slightly reduced but still enough for two digits */
                font-size: calc(var(--font-size-p) - 4px);
            }
            
            .folder-structure {
                padding-left: 15px;
            }
            
            .explanation-list {
                padding-left: 20px;
            }
            
            /* Make images fully responsive */
            img {
                max-width: 100%;
                height: auto;
            }
        }

        /* Ensure code blocks are scrollable on small screens */
        pre {
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }
        
        /* Additional responsive improvements */
        .applications-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 15px;
            margin-top: 20px;
        }
        
        .app-card {
            background: #f8f9fa;
            padding: 15px;
            border-radius: 8px;
            border-left: 4px solid #005b96;
        }
        
        .app-card h4 {
            margin-top: 0;
            color: #005b96;
        }
        
        .image-container {
            text-align: center;
            margin: 20px 0;
        }
        
        .image-caption {
            font-style: italic;
            color: #666;
            margin-top: 8px;
        }
        
        /* Fix for banner image */
        img[src="cs_banner.jpg"] {
            width: 100%;
            height: auto;
            display: block;
        }
        
        .blog-bullets {
            padding-left: 30px;
        }
        
        /* Critical fix for code responsiveness */
        @media screen and (max-width: 768px) {
            pre code {
                white-space: pre-wrap;
                word-break: break-word;
            }
            
            code .line {
                white-space: pre-wrap;
                word-break: break-word;
            }
        }
        
        @media screen and (max-width: 480px) {
            pre {
                padding: 8px 8px 8px 38px;
            }
            
            code .line:before {
                left: -32px;
            }
            
            /* Allow horizontal scrolling for very long strings */
            pre code {
                white-space: pre;
                word-wrap: normal;
            }
        }