:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary-color: #4a90e2;--primary-hover: #357ABD;--background-color: #f7f9fc;--text-color: #333;--light-text-color: #666;--card-background: #ffffff;--border-color: #e0e0e0;--shadow: 0 4px 12px rgba(0, 0, 0, .08);--border-radius: 12px;--font-family: "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif}body{margin:0;padding:0;font-family:var(--font-family);background-color:var(--background-color);color:var(--text-color);overflow-x:hidden}.App{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden}.layout-container{width:100vw;box-sizing:border-box}.App-header{background:var(--card-background);padding:1rem;text-align:center;border-bottom:1px solid var(--border-color);margin:0 auto}.App-header h1{margin:0;color:var(--primary-color);font-size:2.5rem;font-weight:700}.subtitle{margin:.5rem 0 0;color:var(--light-text-color);font-size:1.1rem;font-weight:400}.App-footer{text-align:center;padding:.5rem;margin-top:auto;color:var(--light-text-color);font-size:.9rem}main{width:100%;margin:2rem auto;padding:0 2rem;box-sizing:border-box}.card{background:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:2rem;margin-bottom:2rem}.resume-upload-container h2{margin-top:0;font-size:1.8rem}.resume-upload-container p{color:var(--light-text-color);margin-bottom:1.5rem}textarea{width:100%;padding:.75rem;box-sizing:border-box;border-radius:8px;border:1px solid var(--border-color);font-family:var(--font-family);font-size:1rem;resize:vertical;margin-bottom:1rem;background-color:#f7f9fc;color:var(--text-color)}textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #4a90e233}textarea::placeholder{color:#999}.divider{text-align:center;margin:1.5rem 0;color:var(--light-text-color);font-weight:600;display:flex;align-items:center}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.divider:before{margin-right:1rem}.divider:after{margin-left:1rem}#file-upload{display:none}.file-upload-label{display:flex;align-items:center;justify-content:center;padding:1rem;border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;text-align:center;color:var(--light-text-color)}.file-upload-label span{word-break:break-all;white-space:normal;overflow-wrap:anywhere;max-width:80%;text-align:left;display:inline-block}.file-upload-label:hover{background-color:#f0f4ff;border-color:var(--primary-color)}.file-upload-label svg{margin-right:.75rem;color:var(--primary-color)}.analyze-button{display:block;width:100%;padding:1rem;margin-top:2rem;font-size:1.1rem;font-weight:600;color:#fff;background-color:var(--primary-color);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease}.analyze-button:hover{background-color:var(--primary-hover)}.results-grid{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:start;margin-left:auto;margin-right:auto}@media (max-width: 900px){.results-grid{grid-template-columns:1fr}}.job-matches-container h2{margin-top:0}.job-matches-container p{color:var(--light-text-color);font-size:.9rem}.job-list{list-style:none;padding:0;margin:0}.job-list li{padding:1rem;border:1px solid var(--border-color);border-radius:8px;margin-bottom:.75rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease;font-weight:500}.job-list li:hover{background-color:#f0f4ff;border-color:var(--primary-color);transform:translateY(-2px)}.job-list li.selected{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff;font-weight:600}.skill-gap-container.placeholder{text-align:center;padding:4rem 2rem;color:var(--light-text-color)}.skill-gap-container h3{margin-top:0;font-size:1.5rem}.skills-section{margin-top:1.5rem}.skills-section h4{border-bottom:2px solid var(--primary-color);padding-bottom:.5rem;margin-bottom:1rem;font-size:1.2rem}.skills-list,.recommendations-list{list-style:none;padding:0}.skills-list.required li{background-color:#e6f7ff;border:1px solid #91d5ff;color:#0363a0;padding:.75rem;border-radius:6px;margin-bottom:.5rem;font-weight:500}.recommendations-list li{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem}.recommendations-list .skill-name{font-weight:600;font-size:1.1rem;margin-bottom:.5rem}.course-link{display:flex;align-items:center;text-decoration:none;color:var(--primary-color);font-weight:500;transition:color .2s ease}.course-link:hover{color:var(--primary-hover);text-decoration:underline}.course-link svg{margin-left:.5rem}.loader{border:6px solid #f3f3f3;border-top:6px solid var(--primary-color);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:3rem auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background-color:#fff0f0;border:1px solid #ffc1c1;color:#d8000c;text-align:center;font-weight:500}
