:root{--color-react:#8b5cf6;--color-hooks:#ec4899;--color-node:#10b981;--color-database:#06b6d4;--color-testing:#f97316;--color-networking:#f59e0b;--color-fullstack:#3b82f6;--sidebar-width:240px;--page-bg:#f8f6ff}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f6ff;background:var(--page-bg);font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.page-content,.page-layout{min-height:100vh}.page-content{background:#f8f6ff;background:var(--page-bg);margin-left:240px;margin-left:var(--sidebar-width);padding:2.5rem}.page-header{border-bottom:2px solid #e9e5ff;gap:16px;margin-bottom:2rem;padding-bottom:1.5rem}.page-header,.page-header-icon{align-items:center;display:flex}.page-header-icon{border-radius:16px;flex-shrink:0;height:52px;justify-content:center;width:52px}.page-title{color:#1a1a2e;font-size:2rem;font-weight:900;line-height:1;margin:0 0 4px}.page-desc{color:#6b7280;font-size:.95rem;font-weight:600;margin:0}.card-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}@media (max-width:768px){.sidebar{transform:translateX(-100%);transition:transform .3s ease}.sidebar.mobile-open{transform:translateX(0)}.page-content{margin-left:0!important;padding:70px 1.25rem 2rem}.sidebar-toggle-btn{display:flex}}[data-theme=dark]{--page-bg:#0f0f1a}[data-theme=dark] .page-content,[data-theme=dark] body{background:#0f0f1a}[data-theme=dark] .page-title{color:#e0e0f0}[data-theme=dark] .page-desc{color:#7070a0}[data-theme=dark] .page-header{border-bottom-color:#2d2d4e}[data-theme=dark] .dark-card{background:#1a1a2e;border-color:#2d2d4e;box-shadow:4px 4px 0 #2d2d4e}[data-theme=dark] .dark-card:hover{box-shadow:6px 6px 0 #8b5cf6;box-shadow:6px 6px 0 var(--card-color,#8b5cf6)}[data-theme=dark] .card-title{color:#e0e0f0}[data-theme=dark] .card-subtitle{color:#7070a0}[data-theme=dark] .card-badge{background:#2d2d4e}[data-theme=dark] .md-page{background:#0f0f1a}[data-theme=dark] .md-topbar{background:#0f0f1af2;border-bottom-color:#2d2d4e}[data-theme=dark] .md-hero-title{background:#1a1a2e}[data-theme=dark] .md-content h1,[data-theme=dark] .md-content h2,[data-theme=dark] .md-hero-h1{border-bottom-color:#2d2d4e;color:#e0e0f0}[data-theme=dark] .md-content h3{color:#c0c0e0}[data-theme=dark] .md-content li,[data-theme=dark] .md-content p{color:#c0c0d0}[data-theme=dark] .md-content strong{color:#e0e0f0}[data-theme=dark] .md-content hr{border-top-color:#2d2d4e}[data-theme=dark] .md-content blockquote{background:#1a1a2e;color:#bb86fc}[data-theme=dark] .inline-code{background:#2d2d4e;border-color:#3d3d6e;color:#bb86fc}[data-theme=dark] .markdown-table{border-color:#2d2d4e}[data-theme=dark] .markdown-table th{background:#1a1a2e;color:#bb86fc}[data-theme=dark] .markdown-table tr:nth-child(2n) td{background:#1a1a2e}[data-theme=dark] .markdown-table td{border-top-color:#2d2d4e;color:#c0c0d0}[data-theme=dark] .mufasa-container{background:linear-gradient(270deg,#1a0612,#0a1410,#10081a,#1a0612)}[data-theme=dark] .mufasa-heading{color:#e0e0f0}[data-theme=dark] .mufasa-subtitle{color:#9090b0}[data-theme=dark] .topic-chip{background:#1a1a2ee6;border-color:#8b5cf64d;color:#9090b0}[data-theme=dark] .stat-pill{background:#1a1a2ee6;border-color:#8b5cf64d;color:#e0e0f0}[data-theme=dark] .mufasa-card{background:#1a1a2ee6;border-color:#2d2d4e}[data-theme=dark] .mufasa-card h2{color:#e0e0f0}[data-theme=dark] .mufasa-card p{color:#9090b0}[data-theme=dark] .search-input{background:#1a1a2e;border-color:#2d2d4e;box-shadow:4px 4px 0 #2d2d4e;color:#e0e0f0}[data-theme=dark] .search-input:focus{border-color:#8b5cf6}[data-theme=dark] .hint-chip{background:#1a1a2e;border-color:#2d2d4e}[data-theme=dark] .hints-label,[data-theme=dark] .search-count{color:#7070a0}[data-theme=dark] .portfolio-content{background:#0f0f1a}[data-theme=dark] .about-card,[data-theme=dark] .portfolio-hero,[data-theme=dark] .skill-card{background:#1a1a2e;border-color:#2d2d4e;box-shadow:5px 5px 0 #2d2d4e}[data-theme=dark] .portfolio-name,[data-theme=dark] .section-heading,[data-theme=dark] .skill-label{color:#e0e0f0}[data-theme=dark] .about-card p,[data-theme=dark] .portfolio-bio{color:#9090b0}[data-theme=dark] .about-card strong{color:#e0e0f0}[data-theme=dark] .section-heading{border-bottom-color:#2d2d4e}[data-theme=dark] .todo-card{background:#1a1a2e;border-color:#2d2d4e;box-shadow:5px 5px 0 #2d2d4e}[data-theme=dark] .todo-input-section input,[data-theme=dark] .todo-item{background:#0f0f1a;border-color:#2d2d4e;color:#e0e0f0}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.sidebar{background:#1a1a2e;border-right:2px solid #2d2d4e;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:240px;z-index:1000}.sidebar-header{border-bottom:1.5px solid #2d2d4e;justify-content:space-between;padding:20px 16px}.sidebar-brand,.sidebar-header{align-items:center;display:flex}.sidebar-brand{gap:10px}.sidebar-logo{align-items:center;border-radius:10px;box-shadow:0 2px 10px #ec489973;color:#fff;display:flex;font-family:Nunito,sans-serif;font-size:16px;height:34px;justify-content:center;width:34px}.sidebar-logo,.sidebar-name{background:linear-gradient(135deg,#ec4899,#8b5cf6);font-weight:900}.sidebar-name{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.15rem;letter-spacing:.5px}.close-btn{align-items:center;background:#ffffff0d;border:1.5px solid #2d2d4e;border-radius:8px;color:#7070a0;cursor:pointer;display:flex;padding:6px;transition:all .2s}.close-btn:hover{background:#ffffff1a;color:#f2e9e4}.sidebar-toggle-btn{align-items:center;background:#1a1a2e;border:2px solid #ec4899;border-radius:10px;box-shadow:0 2px 12px #ec48994d;color:#ec4899;cursor:pointer;display:flex;left:16px;padding:8px 10px;position:fixed;top:16px;transition:all .2s;z-index:1100}.sidebar-toggle-btn:hover{background:#ec4899;color:#fff}.sidebar-menu{flex:1 1;list-style:none;margin:0;overflow-y:auto;padding:12px 8px}.sidebar-menu li{align-items:center;border:1.5px solid #0000;border-radius:12px;color:#7070a0;cursor:pointer;display:flex;font-size:.92rem;font-weight:700;gap:12px;margin-bottom:2px;padding:11px 14px;transition:all .18s ease}.sidebar-menu li:hover{background:#8b5cf61f;border-color:#8b5cf633;color:#d0d0f0}.sidebar-menu li.active{background:linear-gradient(135deg,#ec489926,#8b5cf626);border-color:#ec489959;color:#ec4899}.sidebar-menu li.active .menu-icon{color:#ec4899}.menu-icon{color:inherit;flex-shrink:0}.sidebar-streak{align-items:center;border-top:1.5px solid #2d2d4e;display:flex;gap:6px;padding:8px 16px}.streak-icon,.streak-text{color:#f97316}.streak-text{font-size:.78rem;font-weight:800}.sidebar-progress{border-top:1.5px solid #2d2d4e;padding:12px 16px}.progress-label{color:#5a5a8a;display:flex;font-size:.75rem;font-weight:700;justify-content:space-between;margin-bottom:6px}.progress-count{color:#ec4899}.progress-track{background:#2d2d4e;border-radius:10px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#ec4899,#8b5cf6);border-radius:10px;height:100%;min-width:4px;transition:width .4s ease}.sidebar-footer{border-top:1.5px solid #2d2d4e;color:#4a4a6a;font-size:.8rem;font-weight:600;justify-content:space-between;padding:12px 16px}.sidebar-footer,.theme-toggle{align-items:center;display:flex}.theme-toggle{background:#ffffff0d;border:1.5px solid #2d2d4e;border-radius:8px;color:#7070a0;cursor:pointer;padding:5px;transition:all .2s}.theme-toggle:hover{background:#ec489926;border-color:#ec489966;color:#ec4899}.card-header-row{align-items:center;display:flex;gap:8px;margin-bottom:2px}.card-read-check{background:#e8faf4;border:1.5px solid #b8f0da;border-radius:20px;color:#10b981;font-size:.68rem;font-weight:800;letter-spacing:.5px;padding:3px 9px;text-transform:uppercase}.dark-card.is-read{border-color:#10b98130;box-shadow:4px 4px 0 #10b98120}.dark-card.is-read .card-top-bar{background:#10b981}.dark-card{background:#fff;border:2.5px solid #e8e3ff;border-radius:16px;box-shadow:4px 4px 0 #e8e3ff;cursor:pointer;overflow:hidden;padding:1.4rem 1.5rem 2.8rem;position:relative;transition:all .2s ease}.card-top-bar{background:#8b5cf6;background:var(--card-color,#8b5cf6);border-radius:16px 16px 0 0;height:4px;left:0;position:absolute;right:0;top:0}.dark-card:hover{border-color:#8b5cf6;border-color:var(--card-color,#8b5cf6);box-shadow:6px 6px 0 #8b5cf6;box-shadow:6px 6px 0 var(--card-color,#8b5cf6);transform:translateY(-5px)}.card-badge{background:#f3eeff;border:1.5px solid #ddd5ff;border-radius:20px;color:#8b5cf6;color:var(--card-color,#8b5cf6);display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.8px;margin-bottom:10px;padding:3px 10px;text-transform:uppercase}.card-title{color:#1a1a2e;font-size:1.05rem;font-weight:800;line-height:1.3;margin:0 0 6px}.card-subtitle{color:#6b7280;font-size:.82rem;font-weight:600;line-height:1.4;margin:0}.card-arrow{bottom:1.2rem;color:#d1d5db;font-size:1.1rem;font-weight:700;position:absolute;right:1.5rem;transition:all .2s ease}.dark-card:hover .card-arrow{color:#8b5cf6;color:var(--card-color,#8b5cf6);transform:translateX(5px)}.md-page{background:#fff;font-family:Nunito,sans-serif;min-height:100vh}.md-topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border-bottom:3px solid #f3f0ff;gap:16px;padding:12px 2.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.md-back-btn,.md-topbar{align-items:center;display:flex}.md-back-btn{background:#f8f6ff;border:2px solid #e5e0ff;border-radius:10px;color:#8b5cf6;color:var(--btn-color,#8b5cf6);cursor:pointer;font-family:Nunito,sans-serif;font-size:.85rem;font-weight:800;gap:6px;padding:7px 14px;transition:all .18s ease;white-space:nowrap}.md-back-btn:hover{background:#8b5cf6;background:var(--btn-color,#8b5cf6);border-color:#8b5cf6;border-color:var(--btn-color,#8b5cf6);color:#fff;transform:translateX(-2px)}.md-breadcrumb{align-items:center;display:flex;font-size:.88rem;font-weight:700;gap:8px;overflow:hidden}.bc-cat{font-weight:800}.bc-sep{color:#d1d5db}.bc-file{color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bc-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.md-topbar-right{flex-shrink:0;gap:10px;margin-left:auto}.md-read-time,.md-topbar-right{align-items:center;display:flex}.md-read-time{color:#9090b0;font-size:.76rem;font-weight:700;gap:4px;white-space:nowrap}.md-note-btn{align-items:center;background:#f8f6ff;border:1.5px solid #e9e5ff;border-radius:8px;color:#9090b0;cursor:pointer;display:flex;padding:5px 7px;position:relative;transition:all .18s}.md-note-btn.active,.md-note-btn:hover{background:#ede9ff;border-color:#8b5cf6}.md-note-dot{border:1.5px solid #fff;border-radius:50%;height:7px;position:absolute;right:-3px;top:-3px;width:7px}.md-sticky-panel{animation:slideDown .2s ease;background:#fffdf0;border-bottom:2px solid #fef3c7;border-left:4px solid #f59e0b;margin:0 auto;max-width:820px;padding:1rem 1.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.md-sticky-label{font-size:.76rem;font-weight:800;letter-spacing:.5px;margin:0 0 8px}.md-sticky-textarea{background:#fffdf0;border:1.5px solid #fde68a;border-radius:10px;box-sizing:border-box;color:#374151;font-family:Nunito,sans-serif;font-size:.86rem;font-weight:600;outline:none;padding:10px 12px;resize:vertical;transition:border-color .18s;width:100%}.md-sticky-textarea:focus{border-color:#f59e0b}.md-body{margin:0 auto;max-width:820px;padding:3rem 2.5rem 5rem}.md-hero-title{background:#f9f8ff;border-left:5px solid #8b5cf6;border-radius:0 16px 16px 0;margin-bottom:2.5rem;padding:1.5rem 2rem}.md-hero-tag{font-size:.75rem;font-weight:800;letter-spacing:1px;margin:0 0 8px;text-transform:uppercase}.md-hero-h1{color:#1a1a2e;font-size:2.4rem;font-weight:900;letter-spacing:-.5px;line-height:1.15;margin:0}.md-loading{color:#9ca3af;font-size:1.1rem;font-weight:700;padding:4rem;text-align:center}.md-content h1,.md-content h2{border-bottom:2px solid #f3f0ff;color:#1a1a2e;font-size:1.45rem;font-weight:800;margin:2rem 0 .75rem;padding-bottom:.4rem}.md-content h3{color:#374151;font-size:1.15rem;font-weight:800;margin:1.5rem 0 .5rem}.md-content p{color:#374151;font-size:1rem;font-weight:500;line-height:1.85;margin-bottom:1rem}.md-content ol,.md-content ul{margin-bottom:1rem;padding-left:1.5rem}.md-content li{color:#374151;font-weight:500;line-height:1.8;margin-bottom:4px}.md-content strong{color:#1a1a2e;font-weight:800}.md-content hr{border:none;border-top:2px solid #f3f0ff;margin:1.5rem 0}.md-content blockquote{background:#f8f6ff;border-left:4px solid #8b5cf6;border-radius:0 12px 12px 0;color:#5b21b6;font-weight:600;margin:1.5rem 0;padding:1rem 1.25rem}.inline-code{background:#f3f0ff;border:1px solid #e5e0ff;border-radius:6px;color:#7c3aed;font-family:Courier New,Consolas,monospace;font-size:.87em;font-weight:700;padding:2px 8px}.markdown-table{border:2px solid #e9e5ff;border-collapse:collapse;border-radius:12px;margin:1.5rem 0;overflow:hidden;width:100%}.markdown-table td,.markdown-table th{border-top:1px solid #e9e5ff;font-size:.9rem;padding:10px 16px;text-align:left}.markdown-table th{background:#f3f0ff;color:#5b21b6;font-size:.82rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.markdown-table tr:nth-child(2n) td{background:#faf9ff}.markdown-table td{color:#374151;font-weight:500}@keyframes gradient-move{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.mufasa-container{animation:gradient-move 18s ease infinite;background:linear-gradient(270deg,#fde8f0,#e6f8f4,#ede8ff,#fde8f0);background-size:400% 400%;color:#1a1a2e;font-family:Nunito,sans-serif;margin-left:240px;min-height:100vh;padding:60px 2.5rem 4rem}.mufasa-wrapper{margin:0 auto;max-width:1100px}.mufasa-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2.5rem}.topic-chip{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffbf;border:2px solid #8b5cf640;border-radius:20px;color:#5b21b6;font-size:.85rem;font-weight:700;padding:6px 16px}.mufasa-hero{padding-bottom:3rem;text-align:center}.mufasa-heading{color:#1a1a2e;font-size:4.5rem;font-weight:900;letter-spacing:-2px;line-height:1.05;margin:0 0 1.2rem}.heading-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ec4899,#8b5cf6);-webkit-background-clip:text;background-clip:text}.mufasa-subtitle{color:#4b5563;font-size:1.2rem;font-weight:500;line-height:1.7;margin:0 auto 2rem;max-width:520px}.mufasa-stats{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:2.5rem}.stat-pill{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffc;border:2.5px solid #8b5cf633;border-radius:40px;box-shadow:3px 3px 0 #8b5cf61f;color:#1a1a2e;display:flex;font-size:.9rem;font-weight:800;gap:6px;padding:9px 20px}.streak-chip{background:#f973161a;border-color:#f973164d;color:#ea580c}.mufasa-cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.cta-btn{align-items:center;background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;border-radius:14px;box-shadow:4px 4px 0 #8b5cf659;color:#fff;cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-size:1rem;font-weight:800;gap:8px;padding:14px 34px;transition:all .2s ease}.cta-btn:hover{box-shadow:6px 6px 0 #8b5cf673;transform:translateY(-3px)}.cta-btn-secondary{background:#ffffffd9;border:2.5px solid #8b5cf64d;box-shadow:3px 3px 0 #8b5cf626;color:#8b5cf6;padding:12px 22px}.cta-btn-secondary:hover{background:#fff;box-shadow:4px 4px 0 #8b5cf64d}.stat-pill-read{background:#10b9811a;border-color:#10b9814d;color:#059669}.mufasa-section{margin-bottom:2rem}.mufasa-section-title{align-items:center;color:#1a1a2e;display:flex;font-size:1.05rem;font-weight:900;gap:8px;margin:0 0 1rem}.mufasa-recent-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.mufasa-recent-card{align-items:center;background:#ffffffd9;border:2px solid #fffffff2;border-left:4px solid #8b5cf6;border-left:4px solid var(--recent-color,#8b5cf6);border-radius:14px;box-shadow:3px 3px 0 #0000000f;cursor:pointer;display:flex;gap:10px;padding:12px 14px;transition:all .2s}.mufasa-recent-card:hover{border-color:#8b5cf6;border-color:var(--recent-color,#8b5cf6);box-shadow:5px 5px 0 #8b5cf6;box-shadow:5px 5px 0 var(--recent-color,#8b5cf6);transform:translateY(-3px)}.recent-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.recent-title{color:#1a1a2e;flex:1 1;font-size:.86rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-arrow{color:#9090b0;flex-shrink:0}.spline-wrapper{background:#ffffff4d;border:2.5px solid #fffc;border-radius:20px;height:260px;margin:0 -1rem 3rem;overflow:hidden}.mufasa-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.mufasa-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;border:2.5px solid #fffffff2;border-radius:20px;box-shadow:5px 5px 0 #00000012;padding:2rem;transition:all .25s ease}.mufasa-card:hover{border-color:#8b5cf659;box-shadow:8px 8px 0 #8b5cf633;transform:translateY(-6px)}.feature-icon{align-items:center;border-radius:14px;display:flex;height:50px;justify-content:center;margin-bottom:1rem;width:50px}.mufasa-card h2{color:#1a1a2e;font-size:1.2rem;font-weight:800;margin:0 0 .6rem}.mufasa-card p{color:#4b5563;font-size:.92rem;font-weight:500;line-height:1.65;margin:0}@media (max-width:768px){.mufasa-container{margin-left:0;padding:80px 1.5rem 3rem}.mufasa-heading{font-size:2.8rem;letter-spacing:-1px}}[data-theme=dark] .mufasa-section-title{color:#e0e0f0}[data-theme=dark] .mufasa-recent-card{background:#1a1a2ee6;border-color:#2d2d4e;box-shadow:3px 3px 0 #0f0f1a}[data-theme=dark] .mufasa-recent-card:hover{box-shadow:5px 5px 0 #8b5cf6;box-shadow:5px 5px 0 var(--recent-color,#8b5cf6)}[data-theme=dark] .recent-title{color:#e0e0f0}[data-theme=dark] .recent-arrow{color:#5050a0}[data-theme=dark] .cta-btn-secondary{background:#1a1a2ee6;border-color:#8b5cf659}[data-theme=dark] .stat-pill-read{background:#10b98126;border-color:#10b98140}.search-input-wrap{align-items:center;display:flex;margin-bottom:1.5rem;max-width:680px;position:relative}.search-icon-inner{color:#9ca3af;left:16px;pointer-events:none;position:absolute}.search-input{background:#fff;border:2.5px solid #e8e3ff;border-radius:16px;box-shadow:4px 4px 0 #e8e3ff;color:#1a1a2e;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;outline:none;padding:14px 48px;transition:all .2s ease;width:100%}.search-input:focus{border-color:#8b5cf6;box-shadow:4px 4px 0 #8b5cf640}.search-input::placeholder{color:#9ca3af;font-weight:500}.search-clear{background:#f3f0ff;border:none;border-radius:6px;color:#8b5cf6;cursor:pointer;font-size:.8rem;font-weight:800;padding:4px 8px;position:absolute;right:14px;transition:all .18s}.search-clear:hover{background:#8b5cf6;color:#fff}.search-count{color:#6b7280;font-size:.9rem;font-weight:600;margin-bottom:1.2rem}.search-empty{color:#374151;padding:4rem 2rem;text-align:center}.search-empty p{font-size:1.05rem;font-weight:700;margin:0 0 8px}.search-empty-sub{color:#9ca3af!important;font-size:.9rem!important;font-weight:500!important}.search-hints{padding:1rem 0}.hints-label{color:#9ca3af;font-size:.85rem;font-weight:800;letter-spacing:.8px;margin-bottom:1rem;text-transform:uppercase}.hints-grid{display:flex;flex-wrap:wrap;gap:10px}.hint-chip{background:#f8f6ff;border:2px solid #e8e3ff;border-radius:20px;color:#8b5cf6;cursor:pointer;font-family:Nunito,sans-serif;font-size:.88rem;font-weight:700;padding:8px 18px;transition:all .18s ease}.hint-chip:hover{background:#8b5cf6;border-color:#8b5cf6;box-shadow:3px 3px 0 #8b5cf64d;color:#fff;transform:translateY(-2px)}.portfolio-content{background:var(--page-bg);margin-left:240px;max-width:calc(100vw - 240px);min-height:100vh;padding:2.5rem}.portfolio-hero{align-items:flex-start;background:#fff;border:2.5px solid #e8e3ff;border-radius:24px;box-shadow:6px 6px 0 #e8e3ff;display:flex;gap:2.5rem;margin-bottom:2rem;padding:2.5rem}.portfolio-avatar{align-items:center;background:linear-gradient(135deg,#ec4899,#8b5cf6);border-radius:24px;box-shadow:4px 4px 0 #8b5cf64d;color:#fff;display:flex;flex-shrink:0;font-size:2.5rem;font-weight:900;height:90px;justify-content:center;width:90px}.portfolio-name{color:#1a1a2e;font-size:2rem;font-weight:900;letter-spacing:-.5px;margin:0 0 6px}.portfolio-role{color:#8b5cf6;font-size:1rem;font-weight:700;margin:0 0 1rem}.portfolio-bio{color:#4b5563;font-size:.95rem;font-weight:500;line-height:1.75;margin:0 0 1.5rem;max-width:540px}.portfolio-links{display:flex;flex-wrap:wrap;gap:10px}.portfolio-link{align-items:center;background:#f8f6ff;border:2px solid #e8e3ff;border-radius:12px;color:#8b5cf6;display:inline-flex;font-family:Nunito,sans-serif;font-size:.88rem;font-weight:800;gap:7px;padding:9px 18px;text-decoration:none;transition:all .2s ease}.portfolio-link:hover{background:#8b5cf6;border-color:#8b5cf6;box-shadow:3px 3px 0 #8b5cf659;color:#fff;transform:translateY(-2px)}.portfolio-section{margin-bottom:2rem}.section-heading{border-bottom:2px solid #e9e5ff;color:#1a1a2e;font-size:1.3rem;font-weight:900;margin:0 0 1.2rem;padding-bottom:.6rem}.skills-grid{display:flex;flex-wrap:wrap;gap:12px}.skill-card{align-items:center;background:#fff;border:2.5px solid #e8e3ff;border-radius:14px;box-shadow:3px 3px 0 #e8e3ff;cursor:default;display:flex;gap:10px;padding:12px 20px;transition:all .2s ease}.skill-card:hover{border-color:#8b5cf6;border-color:var(--skill-color,#8b5cf6);box-shadow:4px 4px 0 #8b5cf6;box-shadow:4px 4px 0 var(--skill-color,#8b5cf6);transform:translateY(-3px)}.skill-icon{align-items:center;border-radius:10px;display:flex;height:36px;justify-content:center;width:36px}.skill-label{color:#1a1a2e;font-size:.92rem;font-weight:800}.about-card{background:#fff;border:2.5px solid #e8e3ff;border-radius:20px;box-shadow:5px 5px 0 #e8e3ff;display:flex;flex-direction:column;gap:1rem;padding:2rem}.about-card p{color:#374151;font-size:.97rem;font-weight:500;line-height:1.8;margin:0}.about-card strong{color:#1a1a2e;font-weight:800}@media (max-width:768px){.portfolio-content{margin-left:0;max-width:100vw;padding:80px 1.5rem 3rem}.portfolio-hero{flex-direction:column}}.fc-page{max-width:700px}.fc-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.fc-shuffle-btn{align-items:center;background:#fff;border:2.5px solid #e9e5ff;border-radius:12px;box-shadow:3px 3px 0 #e9e5ff;color:#8b5cf6;cursor:pointer;display:flex;flex-shrink:0;font-family:Nunito,sans-serif;font-size:.88rem;font-weight:800;gap:6px;padding:8px 16px;transition:all .18s}.fc-shuffle-btn:hover{background:#8b5cf6;box-shadow:3px 3px 0 #6d28d9;color:#fff;transform:translateY(-2px)}.fc-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.25rem}.fc-cat-btn{background:#fff;border:2px solid #e9e5ff;border-radius:20px;color:#6b7280;cursor:pointer;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:700;padding:6px 14px;transition:all .18s}.fc-cat-btn:hover{border-color:#8b5cf6;color:#8b5cf6}.fc-cat-btn.active{background:#8b5cf6;border-color:#8b5cf6;box-shadow:0 2px 8px #8b5cf659;color:#fff}.fc-progress-row{align-items:center;display:flex;gap:12px;margin-bottom:1.75rem}.fc-known,.fc-progress-label{color:#9090b0;font-size:.8rem;font-weight:800;white-space:nowrap}.fc-known{color:#10b981}.fc-progress-track{background:#e9e5ff;border-radius:99px;flex:1 1;height:8px;overflow:hidden}.fc-progress-fill{background:linear-gradient(90deg,#ec4899,#8b5cf6);border-radius:99px;height:100%;transition:width .35s ease}.fc-card{cursor:pointer;margin-bottom:1.5rem;perspective:1200px}.fc-card-inner{min-height:280px;position:relative;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,.2,.2,1);width:100%}.fc-flipped .fc-card-inner{transform:rotateY(180deg)}.fc-card-back,.fc-card-front{align-items:flex-start;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fff;border:2.5px solid #e9e5ff;border-radius:20px;box-shadow:5px 5px 0 #e9e5ff;box-sizing:border-box;display:flex;flex-direction:column;gap:1rem;min-height:280px;padding:2rem;position:absolute;width:100%}.fc-card-back{background:#f8f6ff;transform:rotateY(180deg)}.fc-cat-tag{border-radius:20px;font-size:.75rem;font-weight:800;letter-spacing:.5px;padding:4px 10px}.fc-question{color:#1a1a2e;flex:1 1;font-size:1.35rem;font-weight:800;line-height:1.4;margin:0}.fc-answer{color:#2d2d4e;flex:1 1;font-size:1.05rem;font-weight:600;line-height:1.6;margin:0}.fc-hint{color:#aaa;font-size:.78rem;font-weight:600;margin-top:auto}.fc-actions{display:flex;gap:12px}.fc-btn{align-items:center;border:2.5px solid;border-radius:14px;cursor:pointer;display:flex;flex:1 1;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:800;gap:8px;justify-content:center;padding:14px;transition:all .18s}.fc-btn-skip{background:#fff;border-color:#fca5a5;color:#ef4444}.fc-btn-skip:hover{background:#fef2f2;box-shadow:3px 3px 0 #fca5a5;transform:translateY(-2px)}.fc-btn-know{background:#10b981;border-color:#10b981;color:#fff}.fc-btn-know:hover{background:#059669;box-shadow:3px 3px 0 #047857;transform:translateY(-2px)}.fc-done{background:#fff;border:2.5px solid #e9e5ff;border-radius:20px;box-shadow:5px 5px 0 #e9e5ff;padding:3rem 2rem;text-align:center}.fc-done-emoji{font-size:3.5rem;margin-bottom:1rem}.fc-done h2{color:#1a1a2e;font-size:1.6rem;font-weight:900;margin:0 0 8px}.fc-done p{color:#6b7280;font-weight:600;margin-bottom:1.5rem}.fc-restart-btn{align-items:center;background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;border-radius:14px;box-shadow:3px 3px 0 #6d28d9;color:#fff;cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:800;gap:8px;padding:12px 24px;transition:all .18s}.fc-restart-btn:hover{box-shadow:4px 4px 0 #6d28d9;transform:translateY(-2px)}[data-theme=dark] .fc-card-back,[data-theme=dark] .fc-card-front,[data-theme=dark] .fc-done{background:#1a1a2e;border-color:#2d2d4e;box-shadow:5px 5px 0 #2d2d4e}[data-theme=dark] .fc-card-back{background:#0f0f1a}[data-theme=dark] .fc-question{color:#e0e0f0}[data-theme=dark] .fc-answer{color:#c0c0d0}[data-theme=dark] .fc-done h2{color:#e0e0f0}[data-theme=dark] .fc-done p{color:#7070a0}[data-theme=dark] .fc-shuffle-btn{background:#1a1a2e;border-color:#2d2d4e;box-shadow:3px 3px 0 #2d2d4e}[data-theme=dark] .fc-cat-btn{background:#1a1a2e;border-color:#2d2d4e;color:#7070a0}[data-theme=dark] .fc-progress-track{background:#2d2d4e}.cs-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2rem}.cs-cat-btn{background:#fff;border:2px solid #e9e5ff;border-radius:20px;color:#6b7280;cursor:pointer;font-family:Nunito,sans-serif;font-size:.84rem;font-weight:700;padding:7px 16px;transition:all .18s}.cs-cat-btn:hover{border-color:#8b5cf6;color:#8b5cf6}.cs-cat-btn.active{box-shadow:0 2px 8px #8b5cf64d;color:#fff}.cs-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}.cs-card{background:#fff;border:2.5px solid #e9e5ff;border-radius:16px;border-top:4px solid #8b5cf6;border-top:4px solid var(--cs-color,#8b5cf6);box-shadow:4px 4px 0 #e9e5ff;overflow:hidden;transition:all .2s}.cs-card:hover{box-shadow:6px 6px 0 #8b5cf6;box-shadow:6px 6px 0 var(--cs-color,#8b5cf6);transform:translateY(-4px)}.cs-card-header{border-bottom:1.5px solid #f0edff;display:flex;flex-direction:column;gap:2px;padding:14px 16px 10px}.cs-title{color:#8b5cf6;color:var(--cs-color,#8b5cf6);font-family:Nunito,sans-serif;font-size:.95rem;font-weight:900}.cs-desc{color:#9090b0;font-size:.78rem;font-weight:600}.cs-code{overflow-x:auto}[data-theme=dark] .cs-card{background:#1a1a2e;border-color:#2d2d4e;box-shadow:4px 4px 0 #2d2d4e}[data-theme=dark] .cs-card:hover{box-shadow:6px 6px 0 #8b5cf6;box-shadow:6px 6px 0 var(--cs-color,#8b5cf6)}[data-theme=dark] .cs-card-header{border-bottom-color:#2d2d4e}[data-theme=dark] .cs-cat-btn{background:#1a1a2e;border-color:#2d2d4e;color:#7070a0}[data-theme=dark] .cs-code .token,[data-theme=dark] .cs-code pre{background:#0f0f1a!important;color:#c0c0d0!important}@keyframes fabFloat{0%,to{transform:translateY(0) rotate(0deg)}30%{transform:translateY(-8px) rotate(12deg)}60%{transform:translateY(-4px) rotate(-6deg)}}.paint-fab{align-items:center;animation:fabFloat 4s ease-in-out infinite;background:linear-gradient(135deg,#ec4899,#8b5cf6);border-radius:50%;box-shadow:0 4px 20px #8b5cf68c,0 0 0 3px #fff;color:#fff;cursor:grab;display:flex;height:54px;justify-content:center;position:fixed;transition:box-shadow .2s;-webkit-user-select:none;user-select:none;width:54px;z-index:9998}.paint-fab:hover{box-shadow:0 6px 28px #8b5cf6b3,0 0 0 3px #fff}.paint-fab.dragging{animation:none;box-shadow:0 10px 36px #8b5cf6b3,0 0 0 3px #fff;cursor:grabbing;transform:scale(1.12) rotate(20deg)}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.paint-overlay{align-items:center;animation:overlayIn .18s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}@keyframes panelPop{0%{opacity:0;transform:scale(.75) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.paint-panel{animation:panelPop .28s cubic-bezier(.175,.885,.32,1.275);background:#fff;border-radius:24px;box-shadow:0 32px 80px #0000004d,0 0 0 3px #8b5cf640;overflow:hidden}.paint-toolbar{background:#f8f6ff;border-bottom:2px solid #e8e3ff;gap:8px;padding:10px 14px}.paint-colors,.paint-toolbar{align-items:center;display:flex}.paint-colors{gap:5px}.color-dot{border-radius:50%;cursor:pointer;flex-shrink:0;height:26px;outline:none;padding:0;transition:transform .15s,box-shadow .15s;width:26px}.color-dot:hover{transform:scale(1.2)}.color-dot.active{box-shadow:0 0 0 3px #8b5cf6;transform:scale(1.25)}.paint-divider{background:#e0dbff;height:28px;margin:0 4px;width:1px}.brush-wrap{align-items:center;display:flex;gap:6px}.brush-label{color:#9ca3af;font-family:Nunito,sans-serif;font-size:.75rem;font-weight:800;white-space:nowrap}.brush-slider{accent-color:#8b5cf6;cursor:pointer;width:80px}.brush-val{color:#8b5cf6;font-family:Nunito,sans-serif;font-size:.75rem;font-weight:800;min-width:18px;text-align:center}.tool-btn{align-items:center;background:#fff;border:2px solid #e8e3ff;border-radius:9px;color:#374151;cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;height:32px;justify-content:center;padding:0;transition:all .18s;width:32px}.tool-btn:hover{background:#f8f6ff;border-color:#8b5cf6;color:#8b5cf6}.tool-btn.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.save-btn:hover{border-color:#10b981;color:#10b981}.close-paint:hover{border-color:#ef4444;color:#ef4444}.paint-canvas{background:#fff;cursor:crosshair;display:block;touch-action:none}.ai-fab{align-items:center;animation:aiFabPop .4s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(135deg,#8b5cf6,#ec4899);border:none;border-radius:16px;bottom:28px;box-shadow:0 4px 20px #8b5cf680,3px 3px 0 #6d28d9;color:#fff;cursor:pointer;display:flex;height:52px;justify-content:center;position:fixed;right:88px;transition:all .25s cubic-bezier(.34,1.56,.64,1);width:52px;z-index:1200}@keyframes aiFabPop{0%{transform:scale(0) rotate(-20deg)}to{transform:scale(1) rotate(0deg)}}.ai-fab:hover{box-shadow:0 6px 24px #8b5cf699,4px 4px 0 #6d28d9;transform:translateY(-3px) scale(1.07)}.ai-fab-open{background:#1a1a2e;box-shadow:0 4px 20px #0000004d,3px 3px 0 #2d2d4e}.ai-panel{animation:panelSlideUp .3s cubic-bezier(.34,1.56,.64,1);background:#fff;border:2.5px solid #e9e5ff;border-radius:20px;bottom:90px;box-shadow:8px 8px 0 #e9e5ff,0 20px 60px #8b5cf626;display:flex;flex-direction:column;max-height:540px;overflow:hidden;position:fixed;right:24px;width:380px;z-index:1199}@keyframes panelSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-panel-header{align-items:center;background:linear-gradient(135deg,#8b5cf6,#ec4899);display:flex;justify-content:space-between;padding:14px 16px}.ai-panel-title{align-items:center;color:#fff;display:flex;font-family:Nunito,sans-serif;font-size:.92rem;font-weight:800;gap:8px}.ai-model-tag{background:#ffffff26;border-radius:20px;color:#ffffffbf;font-size:.7rem;font-weight:700;padding:3px 8px}.ai-messages{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow-y:auto;padding:12px}.ai-welcome{padding:12px 8px;text-align:center}.ai-welcome-icon{font-size:2rem;margin-bottom:8px}.ai-welcome p{color:#6b7280;font-size:.88rem;font-weight:600;margin:0 0 12px}.ai-starters{display:flex;flex-direction:column;gap:6px}.ai-starter-btn{background:#f8f6ff;border:1.5px solid #e9e5ff;border-radius:10px;color:#8b5cf6;cursor:pointer;font-family:Nunito,sans-serif;font-size:.8rem;font-weight:700;padding:8px 12px;text-align:left;transition:all .18s}.ai-starter-btn:hover{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.ai-msg{align-items:flex-end;display:flex;gap:7px}.ai-msg-user{flex-direction:row-reverse}.ai-msg-avatar{align-items:center;background:linear-gradient(135deg,#8b5cf6,#ec4899);border-radius:8px;color:#fff;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.ai-msg-bubble{border-radius:14px;font-size:.86rem;font-weight:600;line-height:1.5;max-width:78%;padding:10px 13px;white-space:pre-wrap;word-break:break-word}.ai-msg-assistant .ai-msg-bubble{background:#f8f6ff;border:1.5px solid #e9e5ff;border-bottom-left-radius:4px;color:#1a1a2e}.ai-msg-user .ai-msg-bubble{background:linear-gradient(135deg,#8b5cf6,#ec4899);border-bottom-right-radius:4px;color:#fff}.ai-typing{align-items:center;color:#8b5cf6;display:flex;gap:6px;padding:10px 13px}@keyframes spin{to{transform:rotate(1turn)}}.ai-spin{animation:spin 1s linear infinite}.ai-input-row{background:#fff;border-top:1.5px solid #e9e5ff;display:flex;gap:8px;padding:10px 12px}.ai-input{background:#f8f6ff;border:2px solid #e9e5ff;border-radius:12px;color:#1a1a2e;flex:1 1;font-family:Nunito,sans-serif;font-size:.86rem;font-weight:600;outline:none;padding:9px 13px;transition:border-color .18s}.ai-input:focus{border-color:#8b5cf6}.ai-input:disabled{opacity:.6}.ai-send-btn{align-items:center;background:linear-gradient(135deg,#8b5cf6,#ec4899);border:none;border-radius:11px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:38px;justify-content:center;transition:all .18s;width:38px}.ai-send-btn:hover:not(:disabled){box-shadow:0 3px 10px #8b5cf666;transform:translateY(-2px)}.ai-send-btn:disabled{cursor:not-allowed;opacity:.5}.ai-no-key{padding:20px;text-align:center}.ai-no-key p{color:#6b7280;font-size:.85rem;font-weight:600;margin-bottom:8px}.ai-key-hint{background:#f8f6ff;border:1.5px solid #e9e5ff;border-radius:8px;color:#8b5cf6;display:block;font-size:.78rem;margin:8px 0;padding:8px 12px;word-break:break-all}[data-theme=dark] .ai-panel{background:#1a1a2e;border-color:#2d2d4e;box-shadow:8px 8px 0 #2d2d4e,0 20px 60px #0006}[data-theme=dark] .ai-input-row{background:#1a1a2e;border-top-color:#2d2d4e}[data-theme=dark] .ai-input{background:#0f0f1a;border-color:#2d2d4e;color:#e0e0f0}[data-theme=dark] .ai-msg-assistant .ai-msg-bubble{background:#0f0f1a;border-color:#2d2d4e;color:#c0c0d0}[data-theme=dark] .ai-starter-btn{background:#0f0f1a;border-color:#2d2d4e}[data-theme=dark] .ai-no-key p,[data-theme=dark] .ai-welcome p{color:#7070a0}[data-theme=dark] .ai-key-hint{background:#0f0f1a;border-color:#2d2d4e}@media (max-width:768px){.ai-panel{bottom:80px;right:16px;width:calc(100vw - 32px)}.ai-fab{right:72px}}
/*# sourceMappingURL=main.a1f819ed.css.map*/