:root{--bg-color: #0b0c10;--sidebar-bg: #12141a;--card-bg: #1a1c23;--border-color: #272a35;--text-dark: #ffffff;--text-light: #9ca3af;--primary-color: #7b2cbf;--primary-hover: #9d4edd;--gradient-primary: linear-gradient(135deg, #7b2cbf, #e0aaff);--font-family: "Inter", system-ui, -apple-system, sans-serif;font-family:var(--font-family);color:var(--text-dark);background-color:var(--bg-color)}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.app-container{display:flex;height:100vh;width:100vw;overflow:hidden;background-color:var(--bg-color)}.main-content{flex:1;overflow-y:auto;padding:2rem}.app-loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100vw;background:linear-gradient(135deg,#eef3fb,#dce7f6)}.app-loading-card{display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:1.75rem 2rem;border-radius:20px;background:#ffffffd1;box-shadow:0 18px 50px #1e293b1f;color:#1e293b;font-weight:600}.app-loading-spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(59,130,246,.18);border-top-color:#3b82f6;animation:app-spin .8s linear infinite}@keyframes app-spin{to{transform:rotate(360deg)}}.sidebar{width:260px;background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;transition:width .3s ease;position:relative;overflow:hidden}.sidebar.collapsed{width:70px}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:16px 12px;gap:8px;min-height:60px}.logo-container{display:flex;align-items:center;gap:12px;flex:1;min-width:0;justify-content:center;position:relative;padding-left:32px}.sidebar.collapsed .logo-container{justify-content:center}.sidebar.collapsed .sidebar-top{flex-direction:column;justify-content:flex-start;padding:12px 8px 10px;gap:10px;min-height:auto}.sidebar.collapsed .logo-container{width:100%;flex:0}.sidebar.collapsed .logo-icon{display:none}.logo-icon{width:28px;height:28px;border-radius:6px;background:var(--gradient-primary);flex-shrink:0;position:absolute;left:0}.logo-container h1{font-size:22px;color:#fff;margin:0;font-weight:700;letter-spacing:-.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.sidebar-toggle{width:32px;height:32px;background:transparent;border:none;color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;padding:0;transition:color .2s ease;z-index:10;flex-shrink:0;border-radius:6px}.sidebar.collapsed .sidebar-toggle{width:30px;height:30px;border:1px solid rgba(148,163,184,.25);background:#0f172aa6;color:#cbd5e1}.sidebar-toggle:hover{color:#fff;background-color:#ffffff0d}.sidebar.collapsed .sidebar-toggle:hover{border-color:#a855f773;background:#a855f729}.toggle-chevron{width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;display:inline-block;transition:transform .25s ease,color .2s ease;transform-origin:center}.toggle-chevron.left{transform:rotate(-135deg)}.toggle-chevron.right{transform:rotate(45deg)}.sidebar.collapsed .toggle-chevron{width:10px;height:10px}.hidden{display:none}.sidebar-chat-action{padding:0 12px;margin-bottom:16px}.btn-new-chat{width:100%;background:var(--card-bg);border:1px solid var(--border-color);color:#fff;padding:12px 16px;border-radius:8px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .2s ease;cursor:pointer;position:relative}.btn-new-chat:hover{background:#ffffff0d;border-color:var(--primary-color)}.sidebar.collapsed .btn-new-chat{padding:12px;justify-content:center}.plus-icon{font-size:20px;font-weight:400;color:var(--primary-color);flex-shrink:0;position:absolute;left:16px}.nav-menu{display:flex;flex-direction:column;padding:0 12px;gap:8px;flex:1;overflow-y:auto;overflow-x:hidden}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;font-size:15px;font-weight:500;transition:all .2s ease;color:var(--text-light);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.nav-icon{font-size:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nav-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .nav-item{gap:0;padding:12px;justify-content:center}.nav-item:hover{color:#fff;background-color:#ffffff0d}.nav-item.active{background-color:#171923;color:#fff;box-shadow:inset 2px 0 0 0 var(--primary-color)}.sidebar.collapsed .nav-item.active{box-shadow:none;background-color:#ffffff1a}.sidebar-bottom{margin-top:auto;padding:16px 12px;border-top:1px solid var(--border-color)}.user-profile{display:flex;align-items:center;gap:12px;padding:8px;cursor:pointer;border-radius:8px;transition:background-color .2s}.sidebar.collapsed .user-profile{justify-content:center;gap:0}.user-profile:hover{background-color:#ffffff0d}.avatar{width:36px;height:36px;border-radius:50%;background-color:#03dac6;color:#000;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.user-info{display:flex;flex-direction:column;gap:2px;min-width:0}.username{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:12px;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard{max-width:1200px;margin:0 auto;padding:1rem 2rem 4rem;font-family:var(--font-family);animation:fadeIn .4s ease-out}.dashboard-header{margin-bottom:40px;padding-top:12px}.welcome-text{font-size:36px;font-weight:800;margin-bottom:12px;background:linear-gradient(135deg,#f8fafc,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}.welcome-subtext{font-size:18px;color:#94a3b8;font-weight:400}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:56px}.explore-card{position:relative;background:#1e293b99;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px;display:flex;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #00000014;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden}.explore-card:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,transparent 100%);pointer-events:none}.explore-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 20px 40px -10px #0000004d;border-color:#6366f14d}.explore-card:hover:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px #6366f133;border-radius:16px;pointer-events:none}.card-icon-wrapper{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin-bottom:24px;color:#fff;box-shadow:0 4px 12px #0003;position:relative}.card-icon-wrapper:after{content:"";position:absolute;inset:-4px;border-radius:18px;background:inherit;opacity:.3;filter:blur(8px);z-index:-1}.blue-gradient{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.purple-gradient{background:linear-gradient(135deg,#a855f7,#6b21a8)}.emerald-gradient{background:linear-gradient(135deg,#10b981,#047857)}.amber-gradient{background:linear-gradient(135deg,#f59e0b,#b45309)}.red-gradient{background:linear-gradient(135deg,#ef4444,#b91c1c)}.cyan-gradient{background:linear-gradient(135deg,#06b6d4,#0369a1)}.explore-card h3{font-size:20px;font-weight:700;color:#f8fafc;margin-bottom:12px;letter-spacing:-.3px}.explore-card p{font-size:14px;color:#94a3b8;line-height:1.6;margin-bottom:28px;flex:1}.btn-start{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#f8fafc;padding:12px 0;border-radius:10px;font-weight:600;font-size:15px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;cursor:pointer;position:relative;overflow:hidden}.explore-card:hover .btn-start{background:linear-gradient(135deg,#6366f1,#4f46e5);border-color:transparent;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.btn-start:after{content:"";position:absolute;top:50%;left:50%;width:120%;height:0;padding-bottom:120%;background:#ffffff1a;border-radius:50%;transform:translate(-50%,-50%) scale(0);transition:transform .4s ease-out}.btn-start:active:after{transform:translate(-50%,-50%) scale(1);transition:0s}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.section-header h2{font-size:24px;font-weight:700;color:#f8fafc}.view-all{color:#818cf8;font-size:15px;font-weight:600;text-decoration:none;transition:color .2s}.view-all:hover{color:#a5b4fc}.roadmaps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.roadmap-card{background:#1e293b99;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px;display:flex;flex-direction:column;box-shadow:0 8px 24px #00000014;transition:transform .3s,box-shadow .3s}.roadmap-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0003}.badge{display:inline-block;font-size:12px;font-weight:700;padding:6px 12px;border-radius:6px;margin-bottom:20px;align-self:flex-start;letter-spacing:.5px}.badge-progress{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge-saved{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.roadmap-card h3{font-size:22px;font-weight:700;color:#f8fafc;margin-bottom:24px}.progress-track{height:8px;background:#ffffff1a;border-radius:4px;margin-bottom:28px;overflow:hidden}.progress-track.empty{visibility:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#a855f7);border-radius:4px}.roadmap-items{list-style:none;display:flex;flex-direction:column;gap:16px}.roadmap-items li{font-size:15px;display:flex;align-items:center;gap:12px}.roadmap-items li:before{content:"";width:10px;height:10px;border-radius:50%;display:inline-block}.roadmap-items .completed{color:#e2e8f0}.roadmap-items .completed:before{background-color:#10b981;box-shadow:0 0 8px #10b98180}.roadmap-items .current{color:#e2e8f0}.roadmap-items .current:before{background-color:#3b82f6;box-shadow:0 0 8px #3b82f680}.roadmap-items.text-muted li{color:#94a3b8}.roadmap-items.text-muted li:before{background-color:#64748b;opacity:.5}.chat-layout{display:flex;height:100vh;margin:-2rem;background-color:#0b0c10;color:#e5e7eb}.chat-history-sidebar{width:280px;background-color:#171717;border-right:1px solid #262626;display:flex;flex-direction:column;padding:16px;overflow-y:auto}.chat-model-selector{display:flex;align-items:center;justify-content:space-between;background:#262626;padding:10px 14px;border-radius:12px;margin-bottom:20px;cursor:pointer}.model-info{display:flex;align-items:center;gap:12px}.model-icon{width:32px;height:32px;background:#10b981;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}.model-name{font-size:14px;font-weight:600;color:#fff}.model-desc{font-size:12px;color:#a3a3a3}.chevron-down{color:#a3a3a3}.search-box{display:flex;align-items:center;background:#262626;border-radius:8px;padding:8px 12px;margin-bottom:24px}.search-box input{background:transparent;border:none;color:#fff;margin:0 8px;width:100%;font-size:14px;outline:none}.search-icon{color:#737373;font-size:14px}.slash-shortcut{display:inline-flex;align-items:center;gap:4px;background:#404040;color:#a3a3a3;padding:2px 6px;border-radius:4px;font-size:12px;line-height:1;white-space:nowrap}.history-section{margin-bottom:24px}.section-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#737373;margin-bottom:8px;padding:0 12px;text-transform:capitalize}.section-actions{display:flex;gap:12px}.history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.history-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:#d4d4d4;cursor:pointer;white-space:nowrap}.history-item:hover{background:#262626}.history-item.active{background:#7b2cbf33;color:#fff}.history-empty,.history-loading{color:#737373;font-size:13px;padding:8px 12px}.history-icon{font-size:14px}.history-main{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;color:inherit;padding:4px 6px;border-radius:4px;cursor:pointer;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-main:hover{background:#40404099}.history-title{font-size:13px;color:#e5e7eb}.history-menu-container{position:relative;flex-shrink:0}.history-menu-button{width:24px;height:24px;border-radius:999px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background .15s,color .15s}.history-menu-button:hover{background:#262626;color:#e5e7eb}.history-menu{position:absolute;right:0;top:120%;min-width:140px;background:#111827;border-radius:8px;box-shadow:0 12px 30px #0009;padding:6px;z-index:20}.history-menu-item{width:100%;text-align:left;border:none;background:transparent;color:#e5e7eb;font-size:13px;padding:6px 8px;border-radius:6px;cursor:pointer}.history-menu-item:hover{background:#1f2937}.history-menu-item.danger{color:#fca5a5}.history-menu-item.danger:hover{background:#f8717126}.text-muted{color:#737373}.confirm-modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50}.confirm-modal{width:100%;max-width:360px;background:#020617;border-radius:18px;padding:20px 20px 16px;box-shadow:0 24px 60px #000000d9;border:1px solid #1f2937}.confirm-modal-title{font-size:16px;font-weight:600;color:#f9fafb;margin-bottom:8px}.confirm-modal-body{font-size:14px;color:#9ca3af;margin-bottom:18px}.confirm-modal-chat-name{color:#e5e7eb;font-weight:500}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:8px}.confirm-btn{min-width:92px;padding:6px 12px;border-radius:999px;border:1px solid transparent;font-size:13px;cursor:pointer}.confirm-btn.cancel{background:transparent;border-color:#4b5563;color:#e5e7eb}.confirm-btn.cancel:hover:not(:disabled){background:#111827}.confirm-btn.danger{background:#b91c1c;border-color:#ef4444;color:#fef2f2}.confirm-btn.danger:hover:not(:disabled){background:#dc2626}.confirm-btn:disabled{opacity:.6;cursor:not-allowed}.chat-rename-input{width:100%;margin-top:8px;margin-bottom:12px;padding:8px 10px;border-radius:10px;border:1px solid #4b5563;background:#020617;color:#e5e7eb;font-size:14px;outline:none}.chat-rename-input::placeholder{color:#6b7280}.chat-rename-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 1px #818cf866}.chat-main-container{flex:1;display:flex;flex-direction:column;align-items:center;padding:2rem;position:relative;background-color:#171717}.chat-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:900px;margin-top:-10vh}.chat-empty-state h1{font-size:32px;font-weight:500;color:#fff;margin-bottom:8px}.empty-subtitle{color:#a3a3a3;font-size:15px;margin-bottom:48px}.question-suggestions{width:100%;max-width:860px;display:flex;flex-direction:column;align-items:center;gap:8px}.question-suggestions h2{font-size:20px;font-weight:600;color:#f8fafc;margin:0}.question-subtitle{color:#9ca3af;font-size:14px;margin:0 0 20px}.question-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.question-card{border:1px solid #262626;border-radius:14px;background:linear-gradient(135deg,#111827e6,#18181be6);color:#e5e7eb;padding:16px 18px;text-align:left;font-size:14px;line-height:1.5;cursor:pointer;transition:transform .2s,border-color .2s,background .2s}.question-card:hover{transform:translateY(-2px);border-color:#3b82f6;background:linear-gradient(135deg,#1e40af33,#18181bf2)}.question-card:disabled{opacity:.6;cursor:not-allowed;transform:none;border-color:#262626}.suggestion-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:100%;margin-bottom:48px}.suggest-card{border-radius:16px;padding:24px 20px;color:#fff;display:flex;flex-direction:column;box-shadow:0 4px 20px #0003;cursor:pointer;transition:transform .2s;height:180px}.suggest-card:hover{transform:translateY(-4px)}.card-top{display:flex;justify-content:space-between;margin-bottom:auto}.suggest-icon{font-size:20px}.sparkle{font-size:16px;opacity:.8}.suggest-card h3{font-size:16px;font-weight:600;margin-bottom:8px}.suggest-card p{font-size:13px;color:#ffffffb3;line-height:1.4}.prompts-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:24px}.prompt-pill{background:transparent;border:1px solid #404040;color:#d4d4d4;padding:10px 16px;border-radius:20px;font-size:14px;transition:background .2s}.prompt-pill:hover{background:#262626}.chat-messages-area{flex:1;width:100%;max-width:800px;overflow-y:auto;padding-bottom:220px;display:flex;flex-direction:column;gap:24px}.message-row{display:flex;gap:16px;max-width:85%}.message-row.user{align-self:flex-end;flex-direction:row-reverse}.bot-avatar-small{width:32px;height:32px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0}.message-content{background:transparent;color:#e5e7eb;font-size:15px;line-height:1.6;padding:8px 0;white-space:pre-wrap}.message-row.user .message-content{background:#262626;padding:12px 42px 14px 18px;border-radius:18px;position:relative}.message-text{display:block;white-space:pre-wrap}.message-copy-button{position:absolute;right:10px;bottom:8px;width:26px;height:26px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#11182799;color:#d1d5db;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease,border-color .2s ease}.message-copy-button svg{width:14px;height:14px}.message-row.user:hover .message-copy-button,.message-row.user:focus-within .message-copy-button{opacity:1;transform:translateY(0)}.message-copy-button:hover{border-color:#94a3b899;color:#fff}.chat-input-wrapper{position:absolute;bottom:0;width:100%;max-width:800px;padding-bottom:32px;background:linear-gradient(to top,#171717 80%,transparent 100%);z-index:10}.chat-input-form{position:relative;background:#262626;border:1px solid #404040;border-radius:24px;padding:6px 16px;display:flex;align-items:center;margin-bottom:12px;box-shadow:0 4px 12px #0000001a}.chat-main-input{flex:1;background:transparent;border:none;color:#fff;font-size:15px;padding:12px 0;outline:none;font-family:inherit}.chat-main-input::placeholder{color:#737373}.btn-send{background:#404040;color:#fff;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background .2s}.btn-send:hover:not(:disabled){background:var(--primary-color)}.btn-send:disabled{opacity:.5;cursor:not-allowed}.btn-send:disabled .roadmap-modal{width:100%;max-width:600px;max-height:80vh;background:#020617;border-radius:18px;padding:24px;box-shadow:0 24px 60px #000000d9;border:1px solid #1f2937;overflow-y:auto}.btn-send:disabled .roadmap-content{color:#e5e7eb}.btn-send:disabled .roadmap-summary{font-size:14px;color:#9ca3af;margin-bottom:16px;line-height:1.6}.btn-send:disabled .roadmap-section{margin-bottom:20px}.btn-send:disabled .roadmap-section h4{font-size:13px;font-weight:600;color:#10b981;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.btn-send:disabled .roadmap-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.btn-send:disabled .roadmap-list li{font-size:13px;color:#d4d4d4;padding-left:20px;position:relative;line-height:1.5}.btn-send:disabled .roadmap-list li:before{content:"•";position:absolute;left:0;color:#10b981}.btn-send:disabled .roadmap-resources{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.btn-send:disabled .roadmap-resources li{display:flex;align-items:center;gap:12px;font-size:13px}.btn-send:disabled .roadmap-resources a{color:#60a5fa;text-decoration:none;transition:color .2s ease;word-break:break-word}.btn-send:disabled .roadmap-resources a:hover{color:#93c5fd;text-decoration:underline}.btn-send:disabled .resource-type{display:inline-block;background:#10b98133;color:#10b981;padding:2px 8px;border-radius:12px;font-size:11px;white-space:nowrap}.chat-input-footer{display:flex;justify-content:flex-end;padding:0 8px}.btn-save-roadmap{background:#10b981;border:none;color:#fff;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-save-roadmap:hover:not(:disabled){background:#059669}.btn-save-roadmap:disabled{opacity:.5;cursor:not-allowed}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:9999}.toast{display:flex;align-items:center;justify-content:space-between;min-width:260px;max-width:360px;padding:10px 14px;border-radius:10px;font-size:13px;box-shadow:0 10px 30px #00000073;background:#111827;border:1px solid #1f2937;color:#e5e7eb}.toast-message{padding-right:8px}.toast-close{border:none;background:transparent;color:#9ca3af;cursor:pointer;font-size:13px;border-radius:999px;width:22px;height:22px;display:flex;align-items:center;justify-content:center}.toast-close:hover{background:#1f2937;color:#e5e7eb}.toast-success{border-color:#10b981b3}.toast-error{border-color:#f87171e6}.toast-warning{border-color:#eab308cc}.roadmap-container{padding:2rem;max-width:900px;margin:0 auto;color:#f8fafc;animation:fadeIn .4s ease-out}.roadmap-loading{padding:4rem;text-align:center;color:#94a3b8;font-size:1.25rem}.btn-back{background:transparent;color:#94a3b8;border:none;cursor:pointer;font-size:1rem;margin-bottom:1.5rem;padding:0;transition:color .2s ease}.btn-back:hover{color:#f8fafc}.roadmap-header{margin-bottom:2rem}.roadmap-header h2{font-size:2rem;color:#e0e7ff;margin-bottom:.5rem}.roadmap-subtitle{color:#94a3b8}.career-summary-card{background:linear-gradient(135deg,#1e293bcc,#0f172ae6);border:1px solid rgba(99,102,241,.2);border-radius:1rem;padding:2rem;margin-bottom:3rem;box-shadow:0 10px 25px -5px #0003;position:relative;overflow:hidden}.career-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6)}.career-info h3{font-size:1.5rem;margin-bottom:1rem}.career-desc{color:#cbd5e1;line-height:1.6;margin-bottom:1.5rem}.career-stats{display:flex;gap:1rem;margin-bottom:1.5rem}.stat-badge{background:#6366f11a;color:#818cf8;padding:.5rem 1rem;border-radius:999px;font-size:.875rem;font-weight:600;border:1px solid rgba(99,102,241,.2)}.progress-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.progress-text{display:flex;justify-content:space-between;margin-bottom:.75rem;font-size:.9rem;color:#cbd5e1;font-weight:600}.progress-bar-container{width:100%;height:8px;background:#ffffff1a;border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);transition:width .5s cubic-bezier(.4,0,.2,1)}.learning-path h3{font-size:1.5rem;margin-bottom:2rem;color:#e0e7ff}.roadmap-timeline{display:flex;flex-direction:column;gap:1.5rem;position:relative}.roadmap-timeline:before{content:"";position:absolute;top:10px;bottom:20px;left:20px;width:2px;background:#ffffff1a;z-index:0}.timeline-step{display:flex;gap:1.5rem;position:relative;z-index:1}.step-indicator{width:40px;height:40px;border-radius:50%;background:#1e293b;border:2px solid #3b82f6;display:flex;align-items:center;justify-content:center;font-weight:700;color:#e0e7ff;cursor:pointer;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 0 4px #0f172a}.step-indicator:hover{transform:scale(1.1);box-shadow:0 0 15px #3b82f680}.step-indicator.checked{background:#10b981;border-color:#10b981;color:#fff}.step-content{flex-grow:1;background:#1e293b66;border:1px solid rgba(255,255,255,.05);border-radius:1rem;padding:1.5rem;transition:all .3s ease}.timeline-step.completed .step-content{background:#10b9810d;border-color:#10b98133}.step-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.step-header h4{font-size:1.25rem;color:#f8fafc;transition:color .3s ease;margin:0}.text-strikethrough{text-decoration:line-through;color:#94a3b8!important}.expand-icon{color:#94a3b8;font-size:.875rem}.step-details{margin-top:1rem;overflow:hidden}.slide-down{animation:slideDown .3s ease-out forwards}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.step-details p{color:#cbd5e1;line-height:1.6;margin-bottom:1.5rem}.text-faded{color:#64748b!important}.btn-resource{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2);padding:.5rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-resource:hover{background:#3b82f633}.btn-complete{background:#10b9811f;color:#34d399;border:1px solid rgba(16,185,129,.25);padding:.5rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer;margin-right:.6rem;transition:all .2s ease}.btn-complete:hover:not(:disabled){background:#10b98138}.btn-complete:disabled{opacity:.6;cursor:not-allowed}.roadmap-hub-container{padding:2rem;max-width:1200px;margin:0 auto;color:#fff;animation:fadeIn .4s ease-out}.hub-header{margin-bottom:2rem}.hub-header h2{font-size:2rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,#e0e7ff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hub-header p{color:#94a3b8;font-size:1.1rem}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.hub-card{background:#1e293b80;border:1px solid rgba(255,255,255,.05);border-radius:1rem;padding:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.hub-card:hover{transform:translateY(-5px);border-color:#ffffff26;box-shadow:0 10px 15px -3px #0000004d}.create-card{border:2px dashed rgba(99,102,241,.5);background:#6366f10d;align-items:center;text-align:center;justify-content:center}.create-card:hover{border-color:#6366f1cc;background:#6366f11a}.create-icon{font-size:3rem;font-weight:300;color:#818cf8;margin-bottom:1rem;line-height:1}.create-card h3{font-size:1.25rem;margin-bottom:.5rem;color:#e0e7ff}.create-card p{color:#94a3b8;font-size:.9rem;margin-bottom:1.5rem}.roadmap-card{background:linear-gradient(180deg,#1e293bcc,#0f172ae6);justify-content:space-between}.roadmap-card h3{font-size:1.25rem;color:#f8fafc;margin-bottom:.75rem;padding-right:3rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.roadmap-desc{color:#94a3b8;font-size:.95rem;line-height:1.5;margin-bottom:1.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.roadmap-meta{display:flex;gap:.75rem;margin-bottom:1.5rem}.badge{background:#38bdf81a;color:#38bdf8;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid rgba(56,189,248,.2)}.btn-start,.btn-view{width:100%;padding:.75rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-start{background:#6366f1;color:#fff}.btn-start:hover{background:#4f46e5}.btn-view{background:#ffffff1a;color:#fff}.roadmap-card:hover .btn-view{background:#fff3}.roadmap-delete{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:10px;border:1px solid rgba(239,68,68,.3);background:#ef444426;color:#fca5a5;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.roadmap-delete svg{width:18px;height:18px}.roadmap-delete:hover:not(:disabled){background:#ef444440;color:#fee2e2;transform:translateY(-1px)}.roadmap-delete:disabled{opacity:.6;cursor:not-allowed}.hub-confirm-backdrop{position:fixed;inset:0;background:#0f172aa6;display:flex;align-items:center;justify-content:center;z-index:30}.hub-confirm-modal{background:#0f172a;border:1px solid rgba(148,163,184,.2);border-radius:1rem;padding:2rem;width:min(420px,90vw);color:#f8fafc;box-shadow:0 20px 60px #0f172a8c}.hub-confirm-modal h3{margin:0 0 .75rem;font-size:1.25rem}.hub-confirm-modal p{color:#cbd5e1;margin:0 0 1.5rem}.hub-confirm-title{color:#f8fafc;font-weight:600}.hub-confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.hub-confirm-btn{padding:.6rem 1rem;border-radius:.5rem;border:1px solid transparent;font-weight:600;cursor:pointer;transition:all .2s ease}.hub-confirm-btn.cancel{background:#94a3b81a;color:#e2e8f0;border-color:#94a3b833}.hub-confirm-btn.danger{background:#ef4444;color:#fff}.hub-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.profile-container{max-width:900px;margin:0 auto;padding:1rem 2rem 4rem}.profile-header{margin-bottom:32px;padding-top:12px}.profile-header h2{font-size:28px;font-weight:700;color:#fff;margin-bottom:8px}.profile-subtitle{font-size:16px;color:var(--text-light)}.settings-section{margin-bottom:40px}.settings-section h3{font-size:20px;font-weight:600;color:#fff;margin-bottom:16px}.section-header-flex{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header-flex h3{margin-bottom:0}.btn-edit{background:#7b2cbf1a;color:var(--primary-hover);border:1px solid rgba(123,44,191,.3);padding:6px 16px;border-radius:6px;font-size:14px;font-weight:600;transition:all .2s}.btn-edit:hover{background:#7b2cbf33}.profile-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:32px;box-shadow:0 4px 6px #0003}.avatar-large{width:80px;height:80px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;margin-bottom:32px;position:relative}.btn-upload-avatar{position:absolute;bottom:0;right:-8px;background:var(--card-bg);border:1px solid var(--border-color);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:all .2s}.btn-upload-avatar:hover{background:#272a35}.settings-form{display:flex;flex-direction:column;gap:24px}.form-group-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-group label{color:var(--text-light);font-size:14px;font-weight:500}.form-group input,.form-group select{background:#ffffff08;border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;color:#fff;font-size:15px;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:var(--primary-color);outline:none}.form-group input:disabled,.form-group select:disabled{opacity:.7;cursor:not-allowed;background:transparent;border-color:transparent;padding-left:0;font-size:16px;color:#e5e7eb}.form-group select{appearance:none}.form-group select option{background:var(--sidebar-bg);color:#fff}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.form-actions.align-left{justify-content:flex-start}.btn-cancel{background:transparent;color:#fff;border:1px solid var(--border-color);padding:10px 24px;border-radius:6px;font-weight:500;transition:background .2s}.btn-cancel:hover{background:#ffffff0d}.btn-save{background:var(--primary-color);color:#fff;border:none;padding:10px 24px;border-radius:6px;font-weight:600;transition:background .2s}.btn-save:hover{background:var(--primary-hover)}.btn-password{background:#ffffff1a}.btn-password:hover{background:#ffffff26}.danger-card{border-color:#ef444433}.danger-action{display:flex;justify-content:space-between;align-items:center}.danger-action h4{font-size:16px;color:#fff;margin-bottom:4px}.danger-action p{color:var(--text-light);font-size:14px}.btn-logout{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);padding:10px 24px;border-radius:6px;font-weight:600;transition:all .2s}.btn-logout:hover{background:#ef444433}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100vw;background-color:var(--bg-color);font-family:var(--font-family)}.login-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:40px;width:100%;max-width:440px;box-shadow:0 20px 40px #0006}.login-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.login-header h2{font-size:28px;font-weight:700;color:#fff;letter-spacing:-.5px}.login-icon{width:36px;height:36px;border-radius:8px;background:var(--gradient-primary)}.login-subtitle{text-align:center;color:var(--text-light);font-size:15px;margin-bottom:32px}.login-error{color:#ef4444;font-size:14px;text-align:center;margin-bottom:16px;padding:8px 12px;background:#ef44441a;border-radius:8px}.link-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#fff;font-size:14px;font-weight:500}.form-group input{background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;color:#fff;font-size:15px;font-family:inherit;transition:all .2s;outline:none}.form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #7b2cbf33}.form-group input::placeholder{color:#4b5563}.form-options{display:flex;justify-content:space-between;align-items:center;margin-top:-4px}.checkbox-container{display:flex;align-items:center;gap:8px;color:var(--text-light);font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-container input{cursor:pointer;accent-color:var(--primary-color);width:16px;height:16px}.forgot-password{color:var(--primary-hover);font-size:14px;font-weight:500;transition:color .2s}.forgot-password:hover{color:#c77dff}.btn-login{background:var(--gradient-primary);color:#fff;border:none;border-radius:8px;padding:14px;font-size:16px;font-weight:600;margin-top:8px;transition:opacity .2s,transform .1s;cursor:pointer}.btn-login:hover{opacity:.9}.btn-login:active{transform:translateY(1px)}.login-divider{display:flex;align-items:center;margin:24px 0;color:var(--text-light);font-size:13px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.login-divider span{padding:0 12px}.alt-login-options{display:flex;flex-direction:column;gap:12px}.btn-alt-login{background:#ffffff0d;border:1px solid var(--border-color);color:#fff;padding:12px;border-radius:8px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .2s}.btn-alt-login:hover{background:#ffffff1a;border-color:#4b5563}.icon-wrapper{display:flex;align-items:center;justify-content:center;font-size:18px}.login-footer{margin-top:32px;text-align:center;color:var(--text-light);font-size:14px}.login-footer a{color:var(--primary-hover);font-weight:600;margin-left:4px}.login-footer a:hover{color:#c77dff}.profile-setup-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.profile-setup-card{background:#fff;border-radius:24px;width:100%;max-width:650px;padding:40px;box-shadow:0 20px 40px #00000014;position:relative;overflow:hidden}.setup-header{display:flex;flex-direction:column;gap:15px;margin-bottom:40px}.btn-back{align-self:flex-start;background:none;border:none;color:#64748b;font-size:14px;font-weight:600;cursor:pointer;padding:0;transition:color .2s ease}.btn-back:hover{color:#1e293b}.progress-bar-container{width:100%;height:8px;background-color:#e2e8f0;border-radius:10px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:10px;transition:width .4s cubic-bezier(.4,0,.2,1)}.step-indicator{font-size:14px;color:#64748b;font-weight:500;align-self:flex-end}.question-section{display:flex;flex-direction:column}.question-section h2{font-size:28px;font-weight:700;color:#0f172a;margin:0 0 12px}.question-section .subtitle{font-size:16px;color:#64748b;margin:0 0 30px;line-height:1.5}.options-grid{display:grid;grid-template-columns:1fr;gap:16px}.option-card{display:flex;align-items:center;padding:20px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.option-card:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d;transform:translateY(-2px)}.option-card.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.option-icon{font-size:24px;margin-right:16px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a}.option-label{font-size:16px;font-weight:600;color:#334155}.option-card.selected .option-label{color:#1d4ed8}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease forwards}@media(min-width:640px){.options-grid{grid-template-columns:1fr 1fr}}.modal-overlay{position:fixed;inset:0;background-color:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container{background-color:var(--card-bg, #1a1c23);border:1px solid var(--border-color, #272a35);border-radius:16px;width:100%;max-width:600px;color:var(--text-dark, #ffffff);box-shadow:0 10px 30px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:modalFadeIn .3s ease-out forwards}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border-color, #272a35)}.modal-header-left{display:flex;align-items:center;gap:16px}.modal-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.modal-title-wrap h2{font-size:20px;font-weight:600;margin-bottom:4px}.modal-subtitle{font-size:14px;color:var(--text-light, #9ca3af)}.modal-close{background:transparent;border:none;color:var(--text-light, #9ca3af);font-size:32px;line-height:1;padding:4px 12px;border-radius:8px;transition:all .2s}.modal-close:hover{background-color:#ffffff1a;color:#fff}.modal-progress-track{height:4px;width:100%;background-color:var(--border-color, #272a35)}.modal-progress-fill{height:100%;transition:width .3s ease,background-color .3s ease}.modal-body{padding:32px 24px;flex:1}.modal-question{font-size:18px;font-weight:500;margin-bottom:24px;line-height:1.5}.modal-options{display:flex;flex-direction:column;gap:12px}.modal-option-btn{background-color:#ffffff08;border:1px solid var(--border-color, #272a35);border-radius:12px;padding:16px;text-align:left;display:flex;align-items:center;gap:16px;transition:all .2s ease;color:#fff}.modal-option-btn:hover{background-color:#ffffff14}.modal-option-btn.selected{outline:1px solid currentColor}.option-marker{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background-color:#ffffff1a;font-size:13px;font-weight:600;flex-shrink:0}.option-text{font-size:15px;line-height:1.4}.modal-text-input{width:100%;background-color:#ffffff08;border:1px solid var(--border-color, #272a35);border-radius:12px;padding:16px;color:#fff;font-family:inherit;font-size:15px;line-height:1.5;resize:vertical;transition:all .2s ease;outline:none}.modal-text-input:focus{background-color:#ffffff14}.modal-text-input::placeholder{color:#ffffff4d}.modal-scale-input{display:flex;flex-direction:column;gap:20px;padding:20px 0}.scale-display{text-align:center;font-size:42px;font-weight:700}.scale-max{font-size:20px;color:var(--text-light, #9ca3af);font-weight:500;margin-left:4px}.scale-slider{width:100%;height:8px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:4px;outline:none}.scale-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 0 10px #00000080;transition:transform .1s}.scale-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.scale-labels{display:flex;justify-content:space-between;color:var(--text-light, #9ca3af);font-size:14px;font-weight:500}.modal-footer{padding:20px 24px;border-top:1px solid var(--border-color, #272a35);display:flex;justify-content:space-between;align-items:center}.btn-modal-back{background:transparent;border:1px solid var(--border-color, #272a35);color:#fff;padding:10px 20px;border-radius:8px;font-weight:500;transition:all .2s}.btn-modal-back:hover:not(:disabled){background-color:#ffffff1a}.btn-modal-next{border:none;color:#fff;padding:10px 24px;border-radius:8px;font-weight:600;transition:all .2s;min-width:100px}.btn-modal-next:hover:not(:disabled){filter:brightness(1.1)}.btn-modal-next:disabled{cursor:not-allowed}.new-roadmap-modal{max-width:500px;width:90%;padding:2rem;background:#1e293b;border-radius:1rem;color:#fff;position:relative;box-shadow:0 25px 50px -12px #00000080}.modal-header{margin-bottom:2rem;text-align:center}.modal-header h2{font-size:1.5rem;margin-bottom:1rem}.progress-indicator{display:flex;justify-content:center;gap:.5rem}.dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:background .3s ease}.dot.active{background:#6366f1}.form-group{margin-bottom:1.5rem}.modal-error-text{color:#fca5a5;margin-bottom:1rem;font-size:.9rem}.form-group label{display:block;font-size:1.1rem;margin-bottom:1rem;color:#e2e8f0}.modal-input{width:100%;padding:1rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.1);background:#0f172a80;color:#fff;font-size:1rem}.modal-input:focus{outline:none;border-color:#6366f1}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.option-card{padding:1rem;background:#0f172a80;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;text-align:center;cursor:pointer;transition:all .2s ease}.option-card:hover{background:#ffffff0d}.option-card.selected{background:#6366f133;border-color:#6366f1}.modal-footer{display:flex;justify-content:space-between;margin-top:2rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;border:none;transition:all .2s ease}.btn-primary{background:#6366f1;color:#fff}.btn-primary:hover:not(:disabled){background:#4f46e5}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#ffffff1a;color:#fff}.btn-secondary:hover{background:#fff3}.slide-in{animation:slideIn .3s ease-out forwards}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.loading-state{text-align:center;padding:3rem 0}.spinner{width:50px;height:50px;border:4px solid rgba(99,102,241,.2);border-left-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 2rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-state h3{font-size:1.25rem;margin-bottom:.5rem}.loading-state p{color:#94a3b8}
