@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5b7c257d-module__HFa7oG__className{font-family:Inter,Inter Fallback;font-style:normal}
.learn-page{min-height:100vh}.learn-hero{color:#fff;text-align:center;background:linear-gradient(135deg,#059669 0%,#0d9488 50%,#0891b2 100%);padding:4rem 0}.learn-hero-content{max-width:700px;margin:0 auto}.learn-hero-content svg{opacity:.9;margin-bottom:1rem}.learn-title{margin-bottom:1rem;font-size:2.5rem;font-weight:700}.learn-subtitle{color:#ffffffe6;font-size:1.125rem;line-height:1.7}.learn-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:1rem 0}.tabs-container{justify-content:center;gap:1rem;display:flex}.tab-btn{color:#64748b;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:all .2s;display:flex}.tab-btn:hover{color:#334155;border-color:#cbd5e1}.tab-btn.active{color:#059669;background:#ecfdf5;border-color:#059669}.tab-count{background:#e2e8f0;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem}.tab-btn.active .tab-count{color:#fff;background:#059669}.learn-content{background:#f1f5f9;min-height:60vh;padding:2rem 0}.learn-loading,.learn-empty{text-align:center;color:#64748b;padding:4rem 2rem}.learn-loading svg,.learn-empty svg{color:#94a3b8;margin-bottom:1rem}.learn-empty h3{color:#334155;margin-bottom:.5rem;font-size:1.25rem}.learn-grid{grid-template-columns:280px 1fr;align-items:start;gap:2rem;display:grid}.activities-sidebar{background:#fff;border-radius:.75rem;position:sticky;top:80px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.sidebar-title{color:#334155;background:#f8fafc;border-bottom:1px solid #e2e8f0;margin:0;padding:1rem 1.25rem;font-size:.875rem;font-weight:600}.activities-list{margin:0;padding:0;list-style:none}.activity-item{text-align:left;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #f1f5f9;align-items:center;gap:.75rem;width:100%;padding:1rem 1.25rem;transition:all .2s;display:flex}.activity-item:hover{background:#f8fafc}.activity-item.active{background:#ecfdf5;border-left:3px solid #059669}.activity-number{color:#64748b;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:600;display:flex}.activity-item.active .activity-number{color:#fff;background:#059669}.activity-name{color:#334155;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;overflow:hidden}.activity-arrow{color:#cbd5e1;flex-shrink:0}.activity-item.active .activity-arrow{color:#059669}.code-console{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.console-header{border-bottom:1px solid #e2e8f0;padding:1.25rem}.console-title{color:#111827;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.console-description{color:#64748b;margin:0;font-size:.875rem;line-height:1.6}.console-editor{border-bottom:1px solid #e2e8f0}.editor-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.editor-label{align-items:center;gap:.75rem;display:flex}.language-badge{text-transform:uppercase;border-radius:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.language-badge.python{color:#92400e;background:#fef3c7}.language-badge.sql{color:#1e40af;background:#dbeafe}.loading-indicator{color:#64748b;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.editor-actions{gap:.5rem;display:flex}.btn-icon-small{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.5rem;transition:all .2s}.btn-icon-small:hover{color:#334155;background:#e2e8f0}.btn-run{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.btn-run:hover:not(:disabled){background:#047857}.btn-run:disabled{opacity:.6;cursor:not-allowed}.btn-run.sql{background:#2563eb}.btn-run.sql:hover:not(:disabled){background:#1d4ed8}.code-input{color:#e2e8f0;resize:vertical;background:#1e293b;border:none;width:100%;min-height:200px;padding:1rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.875rem;line-height:1.6}.code-input:focus{outline:none}.code-input::placeholder{color:#64748b}.console-output{background:#f8fafc}.output-header{background:#f1f5f9;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.output-label{color:#64748b;text-transform:uppercase;font-size:.75rem;font-weight:600}.output-info{color:#059669;font-size:.75rem}.output-content{min-height:100px;max-height:300px;padding:1rem;overflow:auto}.output-content.has-error{background:#fef2f2}.output-text{color:#334155;white-space:pre-wrap;word-wrap:break-word;margin:0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.875rem}.output-error{color:#dc2626;white-space:pre-wrap;word-wrap:break-word;margin:0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.875rem}.output-placeholder{color:#94a3b8;font-size:.875rem}.sql-output .table-container{overflow-x:auto}.result-table{border-collapse:collapse;width:100%;font-size:.875rem}.result-table th{text-align:left;color:#334155;white-space:nowrap;background:#e2e8f0;border:1px solid #cbd5e1;padding:.5rem .75rem;font-weight:600}.result-table td{color:#475569;border:1px solid #e2e8f0;padding:.5rem .75rem}.result-table tr:nth-child(2n){background:#f8fafc}.null-value{color:#94a3b8;font-style:italic}.db-info{color:#1e40af;background:#eff6ff;border-bottom:1px solid #bfdbfe;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8rem;display:flex}.db-info code{background:#dbeafe;border-radius:.25rem;padding:.125rem .375rem;font-family:monospace}.console-hint{color:#64748b;background:#f8fafc;border-top:1px solid #e2e8f0;padding:.75rem 1rem;font-size:.75rem}.console-hint kbd{background:#e2e8f0;border-radius:.25rem;padding:.125rem .375rem;font-family:inherit;font-size:.7rem}.learn-resources{background:#fff;padding:4rem 0}.resources-title{text-align:center;color:#111827;margin-bottom:2rem;font-size:1.875rem;font-weight:700}.resources-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.resource-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;padding:2rem}.resource-card svg{color:#059669;margin-bottom:1rem}.resource-card h3{color:#111827;margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.resource-card p{color:#64748b;margin-bottom:1rem;line-height:1.6}.resource-card ul{margin:0;padding:0;list-style:none}.resource-card li{color:#475569;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.875rem;display:flex}.resource-card li:before{content:"✓";color:#059669;font-weight:700}.free-console{text-align:left;max-width:800px;margin:2rem auto 0}.free-console h4{color:#334155;margin-bottom:.5rem;font-size:1.125rem}.free-console>p{color:#64748b;margin-bottom:1rem}.console-loading{color:#64748b;background:#f8fafc;border-radius:.75rem;justify-content:center;align-items:center;gap:.75rem;padding:3rem;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.activity-type-selector{gap:1rem;display:flex}.type-btn{color:#64748b;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;flex-direction:column;flex:1;align-items:center;gap:.5rem;padding:1.5rem 2rem;transition:all .2s;display:flex}.type-btn:hover{background:#f8fafc;border-color:#cbd5e1}.type-btn.active.python{color:#92400e;background:#fffbeb;border-color:#f59e0b}.type-btn.active.sql{color:#1e40af;background:#eff6ff;border-color:#3b82f6}.type-btn span{font-weight:500}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px}.code-editor{color:#e2e8f0;background:#1e293b;font-family:JetBrains Mono,Fira Code,Consolas,monospace!important}.badge.python{color:#92400e;background:#fef3c7;align-items:center;gap:.25rem;display:inline-flex}.badge.sql{color:#1e40af;background:#dbeafe;align-items:center;gap:.25rem;display:inline-flex}@media (max-width:1024px){.learn-grid{grid-template-columns:1fr}.activities-sidebar{position:static}}@media (max-width:768px){.learn-title{font-size:2rem}.tabs-container{flex-direction:column;padding:0 1rem}.tab-btn{justify-content:center}.activity-type-selector{flex-direction:column}.resources-grid{grid-template-columns:1fr}.code-input{min-height:150px}}@media (max-width:480px){.learn-hero{padding:2rem 0}.learn-title{font-size:1.5rem}.learn-subtitle{font-size:1rem}.editor-header{flex-direction:column;align-items:stretch;gap:.75rem}.editor-actions{justify-content:flex-end}}.validation-badge{border-radius:9999px;align-items:center;gap:.25rem;margin-left:auto;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.validation-badge.success{color:#16a34a;background:#dcfce7}.validation-badge.error{color:#dc2626;background:#fee2e2}.console-output.validation-success{border-color:#16a34a}.console-output.validation-error{border-color:#dc2626}.validation-feedback{border-radius:.5rem;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:1rem;animation:.3s ease-out slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.validation-feedback.success{color:#15803d;background:linear-gradient(135deg,#dcfce7 0%,#bbf7d0 100%);border:1px solid #16a34a}.validation-feedback.success svg{color:#16a34a;flex-shrink:0}.validation-feedback.error{color:#b91c1c;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:1px solid #dc2626}.validation-feedback.error svg{color:#dc2626;flex-shrink:0}.validation-feedback strong{margin-bottom:.25rem;display:block}.hint-toggle{color:inherit;cursor:pointer;background:#fffc;border:1px solid;border-radius:.375rem;align-items:center;gap:.25rem;margin-top:.5rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:all .2s;display:inline-flex}.hint-toggle:hover{background:#fff;transform:translateY(-1px)}.hint-toggle-small{color:#64748b;cursor:pointer;background:0 0;border:1px solid #94a3b8;border-radius:.25rem;align-items:center;gap:.25rem;margin-left:auto;padding:.25rem .5rem;font-size:.75rem;transition:all .2s;display:inline-flex}.hint-toggle-small:hover{color:#334155;background:#f1f5f9;border-color:#64748b}.hint-box{color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px solid #f59e0b;border-radius:.5rem;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:1rem;animation:.3s ease-out slideIn;display:flex}.hint-box svg{color:#f59e0b;flex-shrink:0;margin-top:.125rem}.hint-box strong{color:#78350f}.console-hint{color:#64748b;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 .5rem .5rem;align-items:center;padding:.75rem;font-size:.8125rem;display:flex}[data-theme=dark] .validation-badge.success{color:#4ade80;background:#16a34a33}[data-theme=dark] .validation-badge.error{color:#f87171;background:#dc262633}[data-theme=dark] .validation-feedback.success{color:#86efac;background:linear-gradient(135deg,#16a34a26 0%,#16a34a1a 100%);border-color:#16a34a}[data-theme=dark] .validation-feedback.error{color:#fca5a5;background:linear-gradient(135deg,#dc262626 0%,#dc26261a 100%);border-color:#dc2626}[data-theme=dark] .hint-box{color:#fcd34d;background:linear-gradient(135deg,#f59e0b26 0%,#f59e0b1a 100%);border-color:#f59e0b}[data-theme=dark] .hint-toggle{background:#0000004d}[data-theme=dark] .hint-toggle:hover{background:#00000080}.learn-header-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:1rem;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.75rem 1.5rem;display:flex}.learn-login-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:2rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;transition:all .2s;display:flex}.learn-login-btn:hover{background:#ffffff40;transform:translateY(-1px)}.learn-login-icon{font-size:1.25rem}.learn-profile-loading{align-items:center;display:flex}.learn-profile-skeleton{background:linear-gradient(90deg,#ffffff1a 25%,#fff3 50%,#ffffff1a 75%) 0 0/200% 100%;border-radius:2rem;width:150px;height:40px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.learn-profile-card{position:relative}.learn-profile-trigger{cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:2rem;align-items:center;gap:.75rem;padding:.5rem 1rem .5rem .5rem;transition:all .2s;display:flex}.learn-profile-trigger:hover{background:#ffffff40}.learn-profile-avatar{color:#fff;background:linear-gradient(135deg,#059669,#0d9488);border:2px solid #10b981;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;font-weight:600;display:flex;position:relative;overflow:hidden}.learn-profile-avatar img{object-fit:cover;width:100%;height:100%}.learn-profile-level{color:#fff;background:#10b981;border:2px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.625rem;font-weight:700;display:flex;position:absolute;bottom:-4px;right:-4px}.learn-profile-info{flex-direction:column;align-items:flex-start;display:flex}.learn-profile-name{color:#fff;font-size:.875rem;font-weight:600;line-height:1.2}.learn-profile-title{text-transform:uppercase;letter-spacing:.5px;font-size:.6875rem;font-weight:500}.learn-profile-stats-mini{gap:.5rem;margin-left:.5rem;display:flex}.learn-stat-mini{color:#fff;background:#0003;border-radius:1rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;display:flex}.learn-stat-mini.learn-streak{animation:2s infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.learn-profile-dropdown{z-index:1000;background:#fff;border-radius:1rem;width:280px;animation:.2s ease-out slideDown;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 20px 40px #00000026}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.learn-profile-overlay{z-index:999;position:fixed;inset:0}.learn-profile-header{background:linear-gradient(135deg,#f0fdf4 0%,#ecfeff 100%);border-bottom:1px solid #e2e8f0;padding:1rem}.learn-profile-xp-bar{width:100%}.learn-xp-progress{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.learn-xp-fill{background:linear-gradient(90deg,#10b981,#14b8a6);border-radius:4px;height:100%;transition:width .5s ease-out}.learn-xp-text{color:#64748b;text-align:center;margin-top:.375rem;font-size:.75rem}.learn-profile-stats-grid{background:#e2e8f0;border-bottom:1px solid #e2e8f0;grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.learn-profile-stat{background:#fff;flex-direction:column;align-items:center;padding:.75rem;display:flex}.learn-stat-number{color:#0f172a;font-size:1.25rem;font-weight:700}.learn-stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:.6875rem}.learn-profile-achievements{border-bottom:1px solid #e2e8f0;padding:1rem}.learn-profile-achievements h4{color:#334155;margin-bottom:.75rem;font-size:.8125rem}.learn-achievements-preview{flex-wrap:wrap;gap:.5rem;display:flex}.learn-achievement-badge{cursor:help;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-radius:.5rem;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:transform .2s;display:flex}.learn-achievement-badge:hover{transform:scale(1.1)}.learn-achievement-more{color:#64748b;background:#e2e8f0;border-radius:.5rem;justify-content:center;align-items:center;width:32px;height:32px;font-size:.6875rem;font-weight:600;display:flex}.learn-profile-actions{padding:.75rem 1rem}.learn-profile-logout{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:.5rem;width:100%;padding:.5rem;font-weight:500;transition:background .2s}.learn-profile-logout:hover{background:#fecaca}.learn-auth-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99999;background:#000000b3;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.learn-auth-modal{background:#fff;border-radius:1rem;width:100%;max-width:380px;margin-top:2rem;margin-bottom:2rem;padding:1.5rem;animation:.3s ease-out modalSlideIn;position:relative;box-shadow:0 25px 50px -12px #00000040}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.learn-auth-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;width:32px;height:32px;font-size:1.25rem;transition:all .2s;position:absolute;top:1rem;right:1rem}.learn-auth-close:hover{color:#334155;background:#e2e8f0}.learn-auth-header{text-align:center;margin-bottom:1.25rem}.learn-auth-icon{margin-bottom:.5rem;font-size:2.5rem}.learn-auth-header h2{color:#0f172a;margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.learn-auth-header p{color:#64748b;font-size:.8125rem}.learn-auth-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.learn-auth-form{flex-direction:column;gap:1rem;display:flex}.learn-auth-field{flex-direction:column;gap:.375rem;display:flex}.learn-auth-field label{color:#334155;font-size:.8125rem;font-weight:500}.learn-auth-field input{border:2px solid #e2e8f0;border-radius:.5rem;padding:.625rem .875rem;font-size:.9375rem;transition:all .2s}.learn-auth-field input:focus{border-color:#10b981;outline:none;box-shadow:0 0 0 3px #10b9811a}.learn-auth-field input:disabled{color:#94a3b8;background:#f8fafc}.learn-auth-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#059669 0%,#0d9488 100%);border:none;border-radius:.5rem;margin-top:.25rem;padding:.75rem;font-size:1rem;font-weight:600;transition:all .2s}.learn-auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.learn-auth-submit:disabled{opacity:.7;cursor:not-allowed}.learn-auth-footer{text-align:center;color:#64748b;margin-top:1rem;font-size:.8125rem}.learn-auth-switch{color:#059669;cursor:pointer;background:0 0;border:none;margin-left:.25rem;font-size:.8125rem;font-weight:600;text-decoration:underline}.learn-auth-switch:hover{color:#047857}.learn-auth-benefits{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;margin-top:1rem;padding:.75rem}.learn-auth-benefits h4{color:#047857;margin-bottom:.5rem;font-size:.8125rem}.learn-auth-benefits ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.learn-auth-benefits li{color:#065f46;font-size:.75rem}.learn-auth-code-inputs{justify-content:center;gap:.375rem;margin:1rem 0;display:flex}.learn-auth-code-input{text-align:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:.5rem;width:42px;height:48px;font-family:Courier New,monospace;font-size:1.25rem;font-weight:700;transition:all .2s}.learn-auth-code-input:focus{background:#fff;border-color:#10b981;outline:none;box-shadow:0 0 0 3px #10b98126}.learn-auth-code-input:disabled{color:#94a3b8;background:#f1f5f9}.learn-auth-success{color:#166534;background:#ecfdf5;border:1px solid #86efac;border-radius:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.learn-auth-field-hint{color:#94a3b8;margin-top:.25rem;font-size:.75rem}.learn-auth-details{border:1px solid #e2e8f0;border-radius:.5rem;margin-top:.5rem;overflow:hidden}.learn-auth-details summary{color:#64748b;cursor:pointer;background:#f8fafc;padding:.5rem .75rem;font-size:.8125rem;list-style:none;transition:all .2s}.learn-auth-details summary::-webkit-details-marker{display:none}.learn-auth-details summary:before{content:"▸ ";font-size:.75rem}.learn-auth-details[open] summary:before{content:"▾ "}.learn-auth-details summary:hover{color:#334155;background:#f1f5f9}.learn-auth-optional-fields{border-top:1px solid #e2e8f0;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.activity-item{position:relative}.activity-status{border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.625rem;display:flex;position:absolute;top:50%;right:2rem;transform:translateY(-50%)}.activity-status.completed{color:#fff;background:#10b981}.activity-status.in-progress{color:#fff;background:#f59e0b}.xp-toast{color:#fff;z-index:10001;background:linear-gradient(135deg,#059669 0%,#0d9488 100%);border-radius:1rem;padding:1rem 2rem;font-size:1.125rem;font-weight:600;animation:2s ease-out forwards xpToastAnim;position:fixed;top:20%;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #05966966}@keyframes xpToastAnim{0%{opacity:0;transform:translate(-50%)translateY(20px)scale(.9)}15%{opacity:1;transform:translate(-50%)translateY(0)scale(1.05)}30%{transform:translate(-50%)translateY(0)scale(1)}85%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-20px)}}.achievement-toast{color:#78350f;text-align:center;z-index:10002;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-radius:1rem;padding:1.5rem 2rem;animation:3s ease-out forwards achievementAnim;position:fixed;top:30%;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #f59e0b66}.achievement-toast-icon{margin-bottom:.5rem;font-size:3rem}.achievement-toast h3{margin-bottom:.25rem;font-size:1.25rem}.achievement-toast p{color:#92400e;font-size:.875rem}@keyframes achievementAnim{0%{opacity:0;transform:translate(-50%)translateY(30px)scale(.8)}15%{opacity:1;transform:translate(-50%)translateY(0)scale(1.1)}25%{transform:translate(-50%)translateY(0)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-20px)}}[data-theme=dark] .learn-profile-dropdown{background:#1e293b;border:1px solid #334155}[data-theme=dark] .learn-profile-header{background:linear-gradient(135deg,#064e3b 0%,#134e4a 100%);border-bottom-color:#334155}[data-theme=dark] .learn-xp-progress{background:#334155}[data-theme=dark] .learn-xp-text{color:#94a3b8}[data-theme=dark] .learn-profile-stats-grid{background:#334155}[data-theme=dark] .learn-profile-stat{background:#1e293b}[data-theme=dark] .learn-stat-number{color:#f1f5f9}[data-theme=dark] .learn-profile-achievements{border-bottom-color:#334155}[data-theme=dark] .learn-profile-achievements h4{color:#e2e8f0}[data-theme=dark] .learn-profile-logout{background:#dc262633}[data-theme=dark] .learn-auth-modal{background:#1e293b}[data-theme=dark] .learn-auth-close{color:#94a3b8;background:#334155}[data-theme=dark] .learn-auth-close:hover{color:#f1f5f9;background:#475569}[data-theme=dark] .learn-auth-header h2{color:#f1f5f9}[data-theme=dark] .learn-auth-header p{color:#94a3b8}[data-theme=dark] .learn-auth-error{background:#dc262633;border-color:#dc2626}[data-theme=dark] .learn-auth-field label{color:#e2e8f0}[data-theme=dark] .learn-auth-field input{color:#f1f5f9;background:#0f172a;border-color:#334155}[data-theme=dark] .learn-auth-field input:focus{border-color:#10b981}[data-theme=dark] .learn-auth-footer{color:#94a3b8}[data-theme=dark] .learn-auth-benefits{background:linear-gradient(135deg,#064e3b4d 0%,#134e4a4d 100%)}[data-theme=dark] .learn-auth-benefits h4{color:#34d399}[data-theme=dark] .learn-auth-benefits li{color:#6ee7b7}[data-theme=dark] .learn-auth-code-input{color:#f1f5f9;background:#0f172a;border-color:#334155}[data-theme=dark] .learn-auth-code-input:focus{background:#1e293b;border-color:#10b981}[data-theme=dark] .learn-auth-success{color:#86efac;background:#16a34a33;border-color:#22c55e}[data-theme=dark] .learn-auth-field-hint{color:#64748b}@media (max-width:640px){.learn-profile-info{display:none}.learn-profile-stats-mini{margin-left:0}.learn-profile-dropdown{width:calc(100vw - 2rem);max-width:320px;right:-1rem}.learn-auth-modal{padding:1.5rem}}.learn-hero-badge{color:#fff;background:#ffffff26;border-radius:2rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex}.learn-progress-bar{background:#fff;border-radius:.5rem;align-items:center;gap:1rem;max-width:400px;margin-top:1rem;margin-left:auto;margin-right:auto;padding:.75rem 1rem;display:flex}.progress-track{background:#e2e8f0;border-radius:4px;flex:1;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#059669,#0d9488);border-radius:4px;height:100%;transition:width .5s ease-out}.progress-text{color:#64748b;white-space:nowrap;font-size:.75rem}.activity-item.completed{background:linear-gradient(135deg,#ecfdf5 0%,#f0fdfa 100%);border-color:#10b981}.activity-item.completed .activity-number{color:#fff;background:#10b981}.activity-item.completed .activity-number svg{color:#fff}.activity-xp{color:#f59e0b;background:#fef3c7;border-radius:1rem;margin-left:auto;margin-right:.5rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.activity-completed-banner{color:#059669;background:linear-gradient(135deg,#ecfdf5 0%,#f0fdfa 100%);border:1px solid #10b981;border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-weight:500;display:flex}.learn-cta{background:linear-gradient(135deg,#f0fdf4 0%,#ecfeff 100%);padding:3rem 0}.cta-card{text-align:center;background:#fff;border-radius:1.5rem;max-width:600px;margin:0 auto;padding:2.5rem;box-shadow:0 10px 40px #00000014}.cta-card svg{color:#f59e0b;margin-bottom:1rem}.cta-card h2{color:#0f172a;margin-bottom:.75rem;font-size:1.5rem;font-weight:700}.cta-card p{color:#64748b;margin-bottom:1.5rem;line-height:1.6}.cta-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#059669 0%,#0d9488 100%);border:none;border-radius:.75rem;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #05966959}[data-theme=dark] .learn-progress-bar{background:#1e293b}[data-theme=dark] .progress-track{background:#334155}[data-theme=dark] .progress-text{color:#94a3b8}[data-theme=dark] .activity-item.completed{background:linear-gradient(135deg,#10b9811a 0%,#14b8a61a 100%);border-color:#10b981}[data-theme=dark] .activity-xp{color:#fcd34d;background:#f59e0b33}[data-theme=dark] .activity-completed-banner{color:#34d399;background:linear-gradient(135deg,#10b98126 0%,#14b8a626 100%);border-color:#10b981}[data-theme=dark] .learn-cta{background:linear-gradient(135deg,#064e3b4d 0%,#134e4a4d 100%)}[data-theme=dark] .cta-card{background:#1e293b;box-shadow:0 10px 40px #0000004d}[data-theme=dark] .cta-card h2{color:#f1f5f9}[data-theme=dark] .cta-card p{color:#94a3b8}.ranking-card{background:linear-gradient(145deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);border-radius:1rem;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 10px 40px #0000004d,0 0 0 1px #ffffff1a,inset 0 1px #ffffff1a}.ranking-card.loading{text-align:center;padding:2rem}.ranking-card.loading span{color:#94a3b8;font-size:.875rem}.ranking-card-header{background:linear-gradient(135deg,#fbbf2426 0%,#f59e0b14 100%);border-bottom:1px solid #fbbf2433;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.ranking-title-wrapper{align-items:center;gap:.5rem;display:flex}.ranking-title-wrapper h3{color:#fcd34d;text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.9rem;font-weight:700}.trophy-icon{color:#fbbf24;filter:drop-shadow(0 0 4px #fbbf2480);animation:2s ease-in-out infinite trophy-glow}@keyframes trophy-glow{0%,to{filter:drop-shadow(0 0 4px #fbbf2480)}50%{filter:drop-shadow(0 0 8px #fbbf24cc)}}.ranking-subtitle{color:#94a3b8;text-transform:uppercase;letter-spacing:1px;font-size:.7rem}.ranking-podium{background:linear-gradient(#0000 0%,#fbbf240d 100%);justify-content:center;align-items:flex-end;gap:.5rem;padding:1.5rem 1rem 1rem;display:flex}.podium-item{border-radius:.75rem;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem .5rem;transition:transform .2s;display:flex}.podium-item:hover{transform:translateY(-4px)}.podium-item.first{background:linear-gradient(#fbbf2433 0%,#fbbf240d 100%);border:1px solid #fbbf244d;order:2;padding-bottom:1rem}.podium-item.first .podium-avatar{border:3px solid #fbbf24;width:56px;height:56px;box-shadow:0 0 20px #fbbf2466}.podium-item.second{order:1}.podium-item.second .podium-avatar{border:2px solid #94a3b8;width:46px;height:46px}.podium-item.third{order:3}.podium-item.third .podium-avatar{border:2px solid #b45309;width:42px;height:42px}.podium-avatar{background:linear-gradient(135deg,#059669 0%,#0d9488 100%);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.podium-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.podium-avatar>span:first-child{color:#fff;font-size:1rem;font-weight:700}.podium-name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:70px;font-size:.75rem;font-weight:600;overflow:hidden}.podium-xp{color:#fbbf24;font-size:.65rem;font-weight:500}.position-badge{z-index:10;border:2px solid #1a1a2e;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.65rem;font-weight:800;display:flex;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.position-badge span{line-height:1}.position-badge.gold{color:#78350f;background:linear-gradient(145deg,#fcd34d 0%,#f59e0b 100%);width:28px;height:28px;font-size:.7rem;box-shadow:0 4px 12px #fbbf2499}.position-badge.silver{color:#374151;background:linear-gradient(145deg,#e5e7eb 0%,#9ca3af 100%);box-shadow:0 3px 8px #9ca3af80}.position-badge.bronze{color:#fff;background:linear-gradient(145deg,#f59e0b 0%,#b45309 100%);box-shadow:0 3px 8px #b4530980}.position-badge.default{color:#e2e8f0;background:#475569}.position-badge svg{display:none}.champion-badge{color:#78350f;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.6rem;font-weight:700;animation:2s ease-in-out infinite pulse-badge;display:flex}@keyframes pulse-badge{0%,to{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 0 4px #fbbf2400}}.ranking-list-compact{border-top:1px solid #ffffff0d;padding:.5rem 0}.ranking-list-item{align-items:center;gap:.5rem;padding:.5rem 1rem;transition:background .2s;display:flex}.ranking-list-item:hover{background:#ffffff0d}.ranking-list-item.is-current-user{background:#05966926;border-left:2px solid #10b981}.rank-position{color:#64748b;text-align:center;width:24px;font-size:.75rem;font-weight:600}.rank-user{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.rank-avatar-small{background:linear-gradient(135deg,#059669 0%,#0d9488 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;overflow:hidden}.rank-avatar-small img{object-fit:cover;width:100%;height:100%}.rank-avatar-small span{color:#fff;font-size:.7rem;font-weight:600}.rank-username{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:500;overflow:hidden}.rank-stats{color:#fbbf24;align-items:center;gap:3px;font-size:.7rem;font-weight:600;display:flex}.rank-stats svg{color:#fbbf24}.rank-streak{color:#f97316;align-items:center;gap:2px;font-size:.65rem;font-weight:500;display:flex}.rank-streak svg{color:#f97316}.ranking-current-user{color:#34d399;background:#0596691a;border-top:1px solid #10b98133;justify-content:center;align-items:center;gap:.375rem;padding:.625rem;font-size:.75rem;display:flex}.ranking-current-user strong{color:#10b981}.ranking-cta{text-align:center;background:linear-gradient(135deg,#0596691a 0%,#0d94881a 100%);border-top:1px solid #10b98133;padding:.75rem}.ranking-cta span{color:#34d399;font-size:.75rem;font-weight:500}[data-theme=light] .ranking-card{background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);box-shadow:0 10px 40px #0000001a,0 0 0 1px #0000000d}[data-theme=light] .ranking-card-header{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-color:#fcd34d}[data-theme=light] .ranking-title-wrapper h3{color:#92400e}[data-theme=light] .ranking-subtitle{color:#b45309}[data-theme=light] .ranking-podium{background:linear-gradient(#fffbeb 0%,#fef3c7 100%)}[data-theme=light] .podium-name{color:#1e293b}[data-theme=light] .ranking-list-item{border-color:#e2e8f0}[data-theme=light] .ranking-list-item:hover{background:#f8fafc}[data-theme=light] .rank-username{color:#334155}[data-theme=light] .rank-position{color:#64748b}.activity-comments{border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1.5rem}.comments-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.comments-title{align-items:center;gap:.5rem;display:flex}.comments-title svg{color:#64748b}.comments-title h4{color:#334155;margin:0;font-size:.9rem;font-weight:600}.comments-count{color:#64748b;background:#e2e8f0;border-radius:999px;padding:.125rem .5rem;font-size:.7rem;font-weight:600}.comment-form{margin-bottom:1rem}.comment-input-wrapper{align-items:flex-start;gap:.5rem;display:flex}.comment-form textarea{resize:none;border:1px solid #d1d5db;border-radius:.5rem;flex:1;padding:.75rem;font-family:inherit;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.comment-form textarea:focus{border-color:#059669;outline:none;box-shadow:0 0 0 3px #0596691a}.comment-form textarea::placeholder{color:#94a3b8}.comment-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#059669 0%,#0d9488 100%);border:none;border-radius:.5rem;padding:.75rem;transition:transform .2s,box-shadow .2s}.comment-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.comment-submit:disabled{opacity:.5;cursor:not-allowed}.comment-char-count{text-align:right;color:#f59e0b;margin-top:.25rem;font-size:.7rem;display:block}.comments-list{flex-direction:column;gap:.75rem;display:flex}.comments-loading,.comments-empty{color:#94a3b8;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;font-size:.875rem;display:flex}.comments-empty{flex-direction:column;gap:.5rem}.comments-empty svg{opacity:.5}.comment-item{background:#f8fafc;border-radius:.5rem;gap:.75rem;padding:.75rem;display:flex}.comment-avatar{background:linear-gradient(135deg,#059669 0%,#0d9488 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.comment-avatar img{object-fit:cover;width:100%;height:100%}.comment-avatar svg{color:#fff}.comment-content{flex:1;min-width:0}.comment-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.comment-username{color:#0f172a;font-size:.8rem;font-weight:600}.comment-level{color:#64748b;background:#e2e8f0;border-radius:.25rem;padding:.125rem .375rem;font-size:.65rem;font-weight:500}.comment-time{color:#94a3b8;margin-left:auto;font-size:.7rem}.comment-delete{color:#94a3b8;cursor:pointer;opacity:0;background:0 0;border:none;padding:.25rem;transition:opacity .2s,color .2s}.comment-item:hover .comment-delete{opacity:1}.comment-delete:hover{color:#ef4444}.comment-text{color:#475569;word-break:break-word;margin:0;font-size:.85rem;line-height:1.5}.comments-toggle{color:#059669;cursor:pointer;background:0 0;border:none;margin-top:.5rem;padding:.5rem;font-size:.8rem;font-weight:500;transition:color .2s}.comments-toggle:hover{color:#047857;text-decoration:underline}[data-theme=dark] .activity-comments{border-color:#334155}[data-theme=dark] .comments-title h4{color:#e2e8f0}[data-theme=dark] .comments-title svg{color:#94a3b8}[data-theme=dark] .comments-count{color:#94a3b8;background:#334155}[data-theme=dark] .comment-form textarea{color:#f1f5f9;background:#1e293b;border-color:#334155}[data-theme=dark] .comment-form textarea:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b98126}[data-theme=dark] .comment-form textarea::placeholder{color:#64748b}[data-theme=dark] .comment-item{background:#1e293b}[data-theme=dark] .comment-username{color:#f1f5f9}[data-theme=dark] .comment-level{color:#94a3b8;background:#334155}[data-theme=dark] .comment-time{color:#64748b}[data-theme=dark] .comment-text{color:#cbd5e1}[data-theme=dark] .comments-loading,[data-theme=dark] .comments-empty,[data-theme=dark] .comment-delete{color:#64748b}[data-theme=dark] .comment-delete:hover{color:#f87171}[data-theme=dark] .comments-toggle{color:#34d399}[data-theme=dark] .comments-toggle:hover{color:#10b981}
*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.header{z-index:100;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;box-shadow:0 2px 4px #0000001a}.header-nav{max-width:1280px;margin:0 auto;padding:0 1rem}.header-container{justify-content:space-between;align-items:center;height:64px;display:flex}.header-logo{color:#111827;font-size:1.25rem;font-weight:700;text-decoration:none}.header-nav-desktop{align-items:center;gap:2rem;display:none}.header-nav-link{color:#6b7280;padding:.5rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.header-nav-link:hover{color:#2563eb}.header-social{align-items:center;gap:1rem;display:none}.header-social a{color:#9ca3af;transition:color .2s}.header-social a:hover{color:#2563eb}.header-mobile-btn{color:#6b7280;cursor:pointer;background:0 0;border:0;display:block}.header-mobile-menu{border-top:1px solid #e5e7eb;padding:.5rem}.header-mobile-menu a{color:#6b7280;padding:.5rem .75rem;font-weight:500;text-decoration:none;display:block}.header-mobile-menu a:hover{color:#2563eb}.hero{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#7c3aed 100%);padding:5rem 0}.hero-container{text-align:center;max-width:1280px;margin:0 auto;padding:0 1rem}.hero-title{margin-bottom:1.5rem;font-size:2.5rem;font-weight:700}.hero-subtitle{color:#bfdbfe;margin-bottom:2rem;font-size:1.25rem}.hero-description{color:#dbeafe;max-width:48rem;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;font-size:1.125rem}.hero-buttons{flex-direction:column;justify-content:center;gap:1rem;display:flex}.btn-primary{color:#2563eb;background:#fff;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 2rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.btn-primary:hover{background:#f3f4f6}.btn-secondary{color:#fff;border:1px solid #fff;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 2rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.btn-secondary:hover{background:#ffffff1a}.skills{background:#f9fafb;padding:5rem 0}.skills-container{max-width:1280px;margin:0 auto;padding:0 1rem}.skills-title{text-align:center;margin-bottom:3rem;font-size:1.875rem;font-weight:700}.skill-card{text-align:center}.skill-icon{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;display:flex}.skill-icon.blue{color:#2563eb;background:#dbeafe}.skill-icon.purple{color:#7c3aed;background:#ede9fe}.skill-icon.green{color:#16a34a;background:#dcfce7}.skill-title{margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.skill-description{color:#6b7280}.cta{color:#fff;background:#2563eb;padding:5rem 0}.cta-container{text-align:center;max-width:1280px;margin:0 auto;padding:0 1rem}.cta-title{margin-bottom:1rem;font-size:1.875rem;font-weight:700}.cta-description{color:#bfdbfe;margin-bottom:2rem;font-size:1.25rem}.footer{color:#fff;background:#111827}.footer-container{max-width:1280px;margin:0 auto;padding:3rem 1rem}.footer-grid{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem;display:grid}.footer-main{grid-column:span 2}.footer-title{margin-bottom:1rem;font-size:1.125rem;font-weight:600}.footer-description{color:#9ca3af;margin-bottom:1rem}.footer-section-title{color:#d1d5db;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-size:.875rem;font-weight:600}.footer-links{list-style:none}.footer-links li{margin-bottom:.5rem}.footer-links a{color:#9ca3af;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#fff}.footer-tech{color:#9ca3af}.footer-bottom{text-align:center;border-top:1px solid #374151;padding-top:2rem}.footer-copyright{color:#9ca3af}@media (min-width:640px){.hero-buttons{flex-direction:row}.hero-title{font-size:3.75rem}.hero-subtitle{font-size:1.5rem}}@media (min-width:768px){.header-nav-desktop,.header-social{display:flex}.header-mobile-btn{display:none}.skills-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(4,1fr)}}.hidden{display:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.projects-page{min-height:100vh}.projects-hero{color:#fff;background:linear-gradient(135deg,#1e40af 0%,#7c3aed 100%);padding:3rem 0}.projects-title{text-align:center;margin-bottom:1rem;font-size:2.5rem;font-weight:700}.projects-subtitle{color:#bfdbfe;text-align:center;max-width:600px;margin:0 auto;font-size:1.125rem}.projects-filter{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:2rem 0}.filter-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.filter-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.filter-btn:hover{background:#f9fafb;border-color:#9ca3af}.filter-btn.active{color:#fff;background:#2563eb;border-color:#2563eb}.projects-grid{padding:3rem 0}.projects-container{grid-template-columns:1fr;gap:2rem;display:grid}.project-card{background:#fff;border-radius:.5rem;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 1px 3px #0000001a}.project-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.project-image{background:#f3f4f6;justify-content:center;align-items:center;height:200px;display:flex;position:relative}.project-placeholder{color:#9ca3af;font-size:2rem;font-weight:700}.project-content{padding:1.5rem}.project-content h3{color:#111827;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.project-content p{color:#6b7280;margin-bottom:1rem;line-height:1.6}.project-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.tag{color:#6b7280;background:#f3f4f6;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.project-actions{gap:.75rem;display:flex}.project-actions .btn-primary{color:#fff;background:#2563eb;border:none;padding:.5rem 1rem;font-size:.875rem}.project-actions .btn-secondary{color:#6b7280;background:0 0;border:1px solid #d1d5db;padding:.5rem 1rem;font-size:.875rem}.project-actions .btn-primary:hover{background:#1d4ed8}.project-actions .btn-secondary:hover{color:#374151;background:#f9fafb}.container{max-width:1280px;margin:0 auto;padding:0 1rem}@media (min-width:640px){.projects-container{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.projects-container{grid-template-columns:repeat(3,1fr)}.projects-title{font-size:3rem}}.blog-page{min-height:100vh}.blog-hero{color:#fff;background:linear-gradient(135deg,#1e40af 0%,#7c3aed 100%);padding:3rem 0}.blog-title{text-align:center;margin-bottom:1rem;font-size:2.5rem;font-weight:700}.blog-subtitle{color:#bfdbfe;text-align:center;max-width:600px;margin:0 auto;font-size:1.125rem}.blog-filter{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:2rem 0}.blog-posts{padding:3rem 0}.posts-grid{grid-template-columns:1fr;gap:2rem;display:grid}.post-card{background:#fff;border-radius:.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 3px #0000001a}.post-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.post-category{color:#fff;text-transform:uppercase;background:#2563eb;border-radius:.25rem;margin-bottom:1rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.post-title{margin-bottom:1rem}.post-title a{color:#111827;font-size:1.25rem;font-weight:600;text-decoration:none}.post-title a:hover{color:#2563eb}.post-excerpt{color:#6b7280;margin-bottom:1rem;line-height:1.6}.post-meta{color:#9ca3af;gap:1rem;margin-bottom:1rem;font-size:.875rem;display:flex}.post-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.post-read-more{color:#2563eb;font-weight:600;text-decoration:none}.post-read-more:hover{text-decoration:underline}.blog-post{min-height:100vh;padding:2rem 0}.breadcrumb{margin-bottom:2rem}.breadcrumb a{color:#6b7280;text-decoration:none}.breadcrumb a:hover{color:#2563eb}.post-header{border-bottom:1px solid #e5e7eb;margin-bottom:3rem;padding-bottom:2rem}.post-header .post-category{background:#7c3aed}.post-header .post-title{color:#111827;margin:1rem 0;font-size:2rem;font-weight:700}.post-header .post-meta{justify-content:flex-start;margin-bottom:1rem}.post-content{color:#374151;max-width:800px;margin:0 auto;line-height:1.8}.post-content h1{color:#111827;margin:2rem 0 1rem;font-size:1.875rem;font-weight:700}.post-content h2{color:#111827;margin:1.5rem 0 1rem;font-size:1.5rem;font-weight:600}.post-content h3{color:#111827;margin:1rem 0 .5rem;font-size:1.25rem;font-weight:600}.post-content p{margin-bottom:1rem}.post-content code{background:#f3f4f6;border-radius:.25rem;padding:.25rem .5rem;font-family:Courier New,monospace;font-size:.875rem}.post-content pre{color:#f9fafb;background:#1f2937;border-radius:.5rem;margin:1rem 0;padding:1rem;overflow-x:auto}.post-content ul{margin:1rem 0;padding-left:1.5rem}.post-content li{margin-bottom:.5rem}.post-footer{border-top:1px solid #e5e7eb;margin-top:3rem;padding-top:2rem}.share-buttons{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.share-btn{cursor:pointer;background:#f3f4f6;border:none;border-radius:.25rem;padding:.5rem 1rem;font-size:.875rem;transition:background .2s}.share-btn:hover{background:#e5e7eb}.share-btn.twitter{color:#fff;background:#1da1f2}.share-btn.linkedin{color:#fff;background:#0077b5}.back-to-blog{text-align:center}@media (min-width:640px){.posts-grid{grid-template-columns:repeat(2,1fr)}.blog-title{font-size:3rem}}@media (min-width:1024px){.posts-grid{grid-template-columns:repeat(3,1fr)}.post-meta{flex-direction:row}}.about-page{min-height:100vh}.about-hero{color:#fff;background:linear-gradient(135deg,#1e40af 0%,#7c3aed 100%);padding:4rem 0}.about-hero-content{grid-template-columns:1fr;align-items:center;gap:2rem;display:grid}.about-intro h1{margin-bottom:1rem;font-size:2.5rem;font-weight:700}.about-subtitle{color:#bfdbfe;margin-bottom:2rem;font-size:1.25rem}.about-contact-info{flex-direction:column;gap:.75rem;margin-bottom:2rem;display:flex}.contact-item{color:#dbeafe;align-items:center;gap:.5rem;display:flex}.about-actions{flex-direction:column;gap:1rem;display:flex}.about-actions .btn-primary{color:#2563eb;background:#fff}.social-links{gap:1rem;display:flex}.social-link{color:#dbeafe;transition:color .2s}.social-link:hover{color:#fff}.about-photo{justify-content:center;display:flex}.photo-placeholder{color:#bfdbfe;background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:200px;height:200px;font-size:1.125rem;display:flex}.about-content{background:#f9fafb;padding:4rem 0}.content-grid{grid-template-columns:1fr;gap:3rem;display:grid}.about-story h2{color:#111827;margin-bottom:1.5rem;font-size:1.875rem;font-weight:700}.about-story p{color:#6b7280;margin-bottom:1.5rem;line-height:1.8}.about-stats h3{color:#111827;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.stat-item{text-align:center;background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.stat-number{color:#2563eb;margin-bottom:.5rem;font-size:2rem;font-weight:700;display:block}.stat-label{color:#6b7280;font-size:.875rem}.about-experience{padding:4rem 0}.section-title{text-align:center;color:#111827;margin-bottom:3rem;font-size:1.875rem;font-weight:700}.timeline{max-width:800px;margin:0 auto;position:relative}.timeline:before{content:"";background:#e5e7eb;width:2px;position:absolute;top:0;bottom:0;left:20px}.timeline-item{margin-bottom:3rem;padding-left:60px;position:relative}.timeline-marker{background:#2563eb;border:4px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:8px;left:12px;box-shadow:0 0 0 2px #e5e7eb}.timeline-content{background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.exp-header{margin-bottom:1rem}.exp-title{color:#111827;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.exp-meta{color:#6b7280;flex-wrap:wrap;gap:1rem;font-size:.875rem;display:flex}.exp-description{color:#6b7280;margin-bottom:1rem;line-height:1.6}.exp-technologies{flex-wrap:wrap;gap:.5rem;display:flex}.tech-tag{color:#6b7280;background:#f3f4f6;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem}.about-skills{background:#f9fafb;padding:4rem 0}.skills-grid{grid-template-columns:1fr;gap:2rem;display:grid}.skill-category h3{color:#111827;margin-bottom:1rem;font-size:1.125rem;font-weight:600}.skill-items{flex-wrap:wrap;gap:.5rem;display:flex}.skill-item{color:#fff;background:#2563eb;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.about-certifications{padding:4rem 0}.certifications-grid{grid-template-columns:1fr;gap:1.5rem;max-width:800px;margin:0 auto;display:grid}.cert-card{background:#fff;border-left:4px solid #2563eb;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.cert-name{color:#111827;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.cert-issuer{color:#6b7280;margin-bottom:.5rem}.cert-year{color:#6b7280;background:#f3f4f6;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.about-cta{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#7c3aed 100%);padding:4rem 0}.cta-content{text-align:center;max-width:600px;margin:0 auto}.cta-content h2{margin-bottom:1rem;font-size:1.875rem;font-weight:700}.cta-content p{color:#bfdbfe;margin-bottom:2rem;line-height:1.6}.cta-actions{flex-direction:column;justify-content:center;gap:1rem;display:flex}.cta-actions .btn-primary{color:#2563eb;background:#fff}.cta-actions .btn-secondary{color:#fff;border-color:#fff}@media (min-width:640px){.about-hero-content{grid-template-columns:2fr 1fr}.about-contact-info{flex-flow:wrap}.about-actions{flex-direction:row;align-items:center}.content-grid{grid-template-columns:2fr 1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.cta-actions{flex-direction:row}}@media (min-width:768px){.skills-grid,.certifications-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.about-intro h1{font-size:3rem}.skills-grid,.certifications-grid{grid-template-columns:repeat(3,1fr)}}.login-page{background:linear-gradient(135deg,#1e40af 0%,#7c3aed 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-container{width:100%;max-width:400px}.login-card{background:#fff;border-radius:.75rem;padding:2rem;box-shadow:0 20px 25px #00000026}.login-header{text-align:center;margin-bottom:2rem}.login-icon{color:#2563eb;background:#f3f4f6;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;display:inline-flex}.login-title{color:#111827;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:#6b7280;font-size:.875rem}.login-form{margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-input{border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.75rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.password-input{position:relative}.password-toggle{color:#6b7280;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.password-toggle:hover{color:#374151}.login-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-weight:500;transition:background .2s;display:flex}.login-button:hover:not(:disabled){background:#1d4ed8}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-button.loading{background:#6b7280}.spinner{border:2px solid #0000;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:#dc2626;background:#fee2e2;border:1px solid #fecaca;border-radius:.375rem;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.login-footer{text-align:center;border-top:1px solid #e5e7eb;padding-top:1rem}.back-link{color:#6b7280;font-size:.875rem;text-decoration:none;transition:color .2s}.back-link:hover{color:#2563eb}.demo-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;margin-top:1rem;padding:1rem}.demo-info h3{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:600}.demo-info p{color:#6b7280;margin-bottom:.25rem;font-size:.75rem}.demo-info strong{color:#374151}.admin-page{background:#f8fafc;min-height:100vh}.admin-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:1.5rem 0}.admin-header-content{justify-content:space-between;align-items:center;display:flex}.admin-title{color:#1a202c;margin-bottom:.25rem;font-size:1.875rem;font-weight:700}.admin-subtitle{color:#718096;font-size:.875rem}.admin-actions{align-items:center;gap:1rem;display:flex}.btn-logout{color:#fff;cursor:pointer;background:#e53e3e;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .2s;display:flex}.btn-logout:hover{background:#c53030}.admin-main{padding:2rem 0}.section-title{color:#1a202c;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.stats-section{margin-bottom:3rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.stat-card{background:#fff;border-radius:.75rem;align-items:center;gap:1rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 1px 3px #0000001a}.stat-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.stat-icon{border-radius:.5rem;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-card.blue .stat-icon{color:#2563eb;background:#dbeafe}.stat-card.green .stat-icon{color:#16a34a;background:#dcfce7}.stat-card.purple .stat-icon{color:#9333ea;background:#f3e8ff}.stat-card.orange .stat-icon{color:#ea580c;background:#fed7aa}.stat-value{color:#1a202c;margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.stat-title{color:#718096;font-size:.875rem}.actions-section{margin-bottom:3rem}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.action-card{color:inherit;background:#fff;border-radius:.75rem;padding:1.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;box-shadow:0 1px 3px #0000001a}.action-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.action-icon{color:#4a5568;background:#f7fafc;border-radius:.5rem;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1rem;display:flex}.action-title{color:#1a202c;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.action-description{color:#718096;font-size:.875rem;line-height:1.5}.activity-section{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.activity-list{flex-direction:column;gap:1rem;display:flex}.activity-item{align-items:center;gap:1rem;padding:.75rem 0;display:flex}.activity-item:not(:last-child){border-bottom:1px solid #f1f5f9}.activity-item .activity-icon{color:#64748b;background:#f8fafc;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.activity-content{flex:1}.activity-text{color:#334155;margin-bottom:.25rem;font-size:.875rem}.activity-time{color:#94a3b8;font-size:.75rem}@media (max-width:768px){.admin-header-content{text-align:center;flex-direction:column;gap:1rem}.admin-actions{justify-content:center;width:100%}.stats-grid,.actions-grid{grid-template-columns:1fr}}.post-form,.settings-sections{background:#fff;border-radius:.5rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.form-grid{grid-template-columns:2fr 1fr;gap:2rem;display:grid}.form-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-main,.form-sidebar{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{color:#374151;font-size:.875rem;font-weight:600}.form-input,.form-textarea,.form-select{border:1px solid #d1d5db;border-radius:.375rem;padding:.75rem;font-size:.875rem;transition:border-color .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;min-height:120px}.form-actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.admin-table{background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;font-weight:600}.table td{border-bottom:1px solid #e5e7eb;padding:1rem}.table tbody tr:hover{background:#f9fafb}.table-title{color:#111827;font-weight:500}.table-actions{gap:.5rem;display:flex}.btn-icon{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:.375rem;padding:.5rem;transition:all .2s}.btn-icon:hover{color:#374151;background:#e5e7eb}.btn-icon.danger:hover{color:#ef4444;background:#fef2f2}.settings-section{border-bottom:1px solid #e5e7eb;padding:2rem 0}.settings-section:last-child{border-bottom:none}.settings-section h2{color:#111827;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.analytics-card{background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.analytics-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.analytics-header svg{color:#3b82f6}.analytics-change{border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.analytics-change.positive{color:#16a34a;background:#dcfce7}.analytics-value{color:#111827;margin:0;font-size:2rem;font-weight:700}.analytics-title{color:#6b7280;margin:0;font-size:.875rem}.analytics-placeholder{text-align:center;background:#fff;border-radius:.5rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.analytics-placeholder h3{color:#111827;margin:0 0 .5rem}.analytics-placeholder p{color:#6b7280;margin:0 0 2rem}.chart-placeholder{background:#f9fafb;border-radius:.375rem;justify-content:center;align-items:flex-end;height:200px;padding:1rem;display:flex}.placeholder-bars{align-items:flex-end;gap:.5rem;height:100%;display:flex}.bar{background:#3b82f6;border-radius:2px 2px 0 0;width:20px;transition:all .3s}.bar:hover{background:#2563eb}.badge{color:#2563eb;background:#eff6ff;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.status{border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.status.published{color:#16a34a;background:#dcfce7}.status.draft{color:#d97706;background:#fef3c7}@media (max-width:768px){.form-grid,.form-grid-2,.analytics-grid{grid-template-columns:1fr}}.tech-stack{background:#f8fafc;padding:4rem 0}.tech-header{text-align:center;margin-bottom:3rem}.tech-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;display:grid}.tech-category{background:#fff;border-top:4px solid;border-radius:.75rem;padding:2rem;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px #00000012}.tech-category:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.tech-category.blue{border-top-color:#3b82f6}.tech-category.purple{border-top-color:#8b5cf6}.tech-category.green{border-top-color:#10b981}.tech-category.orange{border-top-color:#f59e0b}.tech-category.gray{border-top-color:#6b7280}.tech-category.red{border-top-color:#ef4444}.tech-category-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.tech-icon{color:#fff;border-radius:.5rem;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.tech-category.blue .tech-icon{background:#3b82f6}.tech-category.purple .tech-icon{background:#8b5cf6}.tech-category.green .tech-icon{background:#10b981}.tech-category.orange .tech-icon{background:#f59e0b}.tech-category.gray .tech-icon{background:#6b7280}.tech-category.red .tech-icon{background:#ef4444}.tech-category-title{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.tech-list{flex-direction:column;gap:1rem;display:flex}.tech-item{flex-direction:column;gap:.5rem;display:flex}.tech-info{justify-content:space-between;align-items:center;display:flex}.tech-name{color:#374151;font-weight:500}.tech-experience{color:#6b7280;font-size:.875rem}.tech-progress{background:#e5e7eb;border-radius:4px;width:100%;height:8px;overflow:hidden}.tech-progress-bar{background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:4px;height:100%;transition:width .3s}.tech-level{color:#374151;align-self:flex-end;font-size:.875rem;font-weight:600}@media (max-width:768px){.tech-grid{grid-template-columns:1fr}.tech-category{padding:1.5rem}}.resume-download{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:4rem 0}.resume-content{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;display:grid}.resume-title{margin-bottom:1rem;font-size:2rem;font-weight:700}.resume-description{opacity:.9;margin-bottom:2rem;font-size:1.125rem}.resume-highlights{flex-direction:column;gap:1rem;display:flex}.highlight-item{align-items:flex-start;gap:1rem;display:flex}.highlight-icon{background:#fff3;border-radius:.5rem;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.highlight-content h4{margin:0 0 .25rem;font-weight:600}.highlight-content p{opacity:.8;margin:0;font-size:.875rem}.resume-action{flex-direction:column;align-items:center;gap:2rem;display:flex}.resume-preview{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:.75rem;flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.pdf-icon{background:#fff3;border-radius:.5rem;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.pdf-info{text-align:center}.pdf-info h3{margin:0 0 .25rem;font-weight:600}.pdf-info p{opacity:.8;margin:0 0 .5rem}.file-size{opacity:.7;font-size:.875rem}.btn-download{color:#764ba2;cursor:pointer;background:#fff;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.btn-download:hover{background:#f8f9fa;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}@media (max-width:768px){.resume-content{text-align:center;grid-template-columns:1fr;gap:2rem}.resume-preview{max-width:300px}}.learn-page{min-height:100vh}.learn-hero{color:#fff;text-align:center;background:linear-gradient(135deg,#1e40af 0%,#7c3aed 100%);padding:4rem 0}.learn-hero-content{max-width:700px;margin:0 auto}.learn-hero-content svg{opacity:.9;margin-bottom:1rem}.learn-title{margin-bottom:1rem;font-size:2.5rem;font-weight:700}.learn-subtitle{color:#bfdbfe;font-size:1.125rem;line-height:1.7}.learn-tabs{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:1rem 0}.tabs-container{justify-content:center;gap:1rem;display:flex}.tab-btn{cursor:pointer;color:#6b7280;background:#fff;border:2px solid #d1d5db;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .2s;display:flex}.tab-btn:hover{color:#3b82f6;border-color:#3b82f6}.tab-btn.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.tab-count{background:#0000001a;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem}.tab-btn.active .tab-count{background:#fff3}.learn-content{min-height:400px;padding:2rem 0}.learn-loading,.learn-empty{text-align:center;color:#6b7280;padding:4rem 0}.learn-loading svg,.learn-empty svg{color:#9ca3af;margin-bottom:1rem}.learn-empty h3{color:#374151;margin-bottom:.5rem;font-size:1.25rem}.learn-grid{grid-template-columns:280px 1fr;align-items:start;gap:2rem;display:grid}.activities-sidebar{background:#fff;border-radius:.75rem;padding:1.5rem;position:sticky;top:80px;box-shadow:0 1px 3px #0000001a}.sidebar-title{color:#374151;border-bottom:1px solid #e5e7eb;margin-bottom:1rem;padding-bottom:.75rem;font-size:1rem;font-weight:600}.activities-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.activity-item{cursor:pointer;text-align:left;background:#f9fafb;border:none;border-radius:.5rem;align-items:center;gap:.75rem;width:100%;padding:.75rem;transition:all .2s;display:flex}.activity-item:hover{background:#f3f4f6}.activity-item.active{background:#eff6ff;border-left:3px solid #3b82f6}.activity-number{color:#6b7280;background:#e5e7eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:600;display:flex}.activity-item.active .activity-number{color:#fff;background:#3b82f6}.activity-name{color:#374151;flex:1;font-size:.875rem;font-weight:500}.activity-arrow{color:#9ca3af;opacity:0;transition:opacity .2s}.activity-item:hover .activity-arrow,.activity-item.active .activity-arrow{opacity:1}.activity-main{min-height:500px}.no-selection{color:#6b7280;background:#f9fafb;border-radius:.75rem;justify-content:center;align-items:center;height:300px;display:flex}.free-console{text-align:left;margin-top:2rem}.free-console h4{color:#374151;margin-bottom:.5rem;font-size:1.125rem}.free-console>p{color:#6b7280;margin-bottom:1rem}.learn-resources{background:#f9fafb;padding:4rem 0}.resources-title{text-align:center;color:#111827;margin-bottom:2rem;font-size:1.875rem;font-weight:700}.resources-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.resource-card{background:#fff;border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.resource-card svg{color:#3b82f6;margin-bottom:1rem}.resource-card h3{color:#111827;margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.resource-card p{color:#6b7280;margin-bottom:1rem;line-height:1.6}.resource-card ul{flex-direction:column;gap:.5rem;list-style:none;display:flex}.resource-card li{color:#6b7280;padding-left:1.25rem;position:relative}.resource-card li:before{content:"✓";color:#10b981;font-weight:700;position:absolute;left:0}@media (max-width:768px){.learn-title{font-size:2rem}.learn-grid{grid-template-columns:1fr}.activities-sidebar{position:static}.tabs-container{flex-direction:column}.tab-btn{justify-content:center}}.code-console{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px #00000012}.console-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:1.5rem}.console-title{color:#111827;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.console-description{color:#6b7280;margin:0;line-height:1.6}.db-info{color:#166534;background:#f0fdf4;border-bottom:1px solid #bbf7d0;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;display:flex}.db-info code{background:#dcfce7;border-radius:.25rem;padding:.125rem .375rem;font-family:monospace}.console-editor{border-bottom:1px solid #e5e7eb}.editor-header{background:#1f2937;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.editor-label{align-items:center;gap:.75rem;display:flex}.language-badge{text-transform:uppercase;border-radius:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.language-badge.python{color:#fff;background:#3776ab}.language-badge.sql{color:#fff;background:#f59e0b}.loading-indicator{color:#9ca3af;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.editor-actions{gap:.5rem;display:flex}.btn-icon-small{color:#9ca3af;cursor:pointer;background:#374151;border:none;border-radius:.25rem;padding:.375rem;transition:all .2s}.btn-icon-small:hover{color:#fff;background:#4b5563}.btn-run{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:.25rem;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.btn-run:hover:not(:disabled){background:#059669}.btn-run:disabled{opacity:.5;cursor:not-allowed}.btn-run.sql{background:#f59e0b}.btn-run.sql:hover:not(:disabled){background:#d97706}.code-input{color:#f9fafb;resize:vertical;background:#1f2937;border:none;width:100%;min-height:200px;padding:1rem;font-family:Fira Code,Consolas,Monaco,monospace;font-size:.875rem;line-height:1.6}.code-input:focus{outline:none}.code-input::placeholder{color:#6b7280}.code-input:disabled{opacity:.7}.console-output{background:#f9fafb}.output-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.output-label{color:#374151;font-size:.875rem;font-weight:600}.output-info{color:#6b7280;font-size:.75rem}.output-content{min-height:100px;max-height:300px;padding:1rem;overflow:auto}.output-content.has-error{background:#fef2f2}.output-text{color:#374151;white-space:pre-wrap;word-break:break-word;margin:0;font-family:Fira Code,Consolas,Monaco,monospace;font-size:.875rem}.output-error{color:#dc2626;white-space:pre-wrap;word-break:break-word;margin:0;font-family:Fira Code,Consolas,Monaco,monospace;font-size:.875rem}.output-placeholder{color:#9ca3af;font-size:.875rem}.sql-output .table-container{padding:0;overflow-x:auto}.result-table{border-collapse:collapse;width:100%;font-size:.875rem}.result-table th{text-align:left;color:#374151;white-space:nowrap;background:#f3f4f6;border-bottom:2px solid #e5e7eb;padding:.5rem .75rem;font-weight:600}.result-table td{color:#374151;border-bottom:1px solid #e5e7eb;padding:.5rem .75rem}.result-table tbody tr:hover{background:#f9fafb}.null-value{color:#9ca3af;font-style:italic}.console-hint{color:#92400e;background:#fffbeb;border-top:1px solid #fde68a;padding:.75rem 1rem;font-size:.75rem}.console-hint kbd{background:#fef3c7;border:1px solid #fde68a;border-radius:.25rem;padding:.125rem .375rem;font-family:monospace}.console-loading{color:#6b7280;background:#f9fafb;border-radius:.75rem;justify-content:center;align-items:center;gap:.75rem;padding:3rem;display:flex}.spin{animation:1s linear infinite spin}.activity-type-selector{gap:1rem;display:flex}.type-btn{cursor:pointer;color:#6b7280;background:#fff;border:2px solid #d1d5db;border-radius:.5rem;flex-direction:column;align-items:center;gap:.5rem;min-width:120px;padding:1.5rem 2rem;transition:all .2s;display:flex}.type-btn:hover{border-color:#9ca3af}.type-btn.active{border-width:2px}.type-btn.active.python{color:#3776ab;background:#eff6ff;border-color:#3776ab}.type-btn.active.sql{color:#b45309;background:#fffbeb;border-color:#f59e0b}.checkbox-label{cursor:pointer;color:#374151;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px}.badge.python{color:#3776ab;background:#eff6ff;align-items:center;gap:.25rem;display:inline-flex}.badge.sql{color:#b45309;background:#fffbeb;align-items:center;gap:.25rem;display:inline-flex}.code-editor{color:#f9fafb!important;background:#1f2937!important;font-family:Fira Code,Consolas,Monaco,monospace!important}.code-editor::placeholder{color:#6b7280}
