.modal-overlay{position:fixed;inset:0;background-color:#2a2a2a99;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background-color:var(--color-surface);padding:var(--spacing-xl);border-radius:var(--radius-lg);width:90%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 25px #0000001a;border:1px solid var(--color-border)}.modal-content h2{margin-top:0;font-size:1.5rem;color:var(--color-text-primary)}.modal-content p{color:var(--color-text-secondary);font-size:1rem;line-height:1.6;margin:var(--spacing-sm) 0 var(--spacing-lg)}.modal-textarea{flex-grow:1;margin:0;padding:var(--spacing-md);font-family:Courier New,Courier,monospace;font-size:.9rem;background-color:#fcfcfc;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:none;min-height:300px}.modal-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent)}.modal-error{color:#d9534f;font-size:.9rem;margin-top:var(--spacing-sm);margin-bottom:0}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.modal-button{padding:.7em 1.5em;font-weight:500}.modal-button.cancel{background-color:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.modal-button.cancel:hover{background-color:#f7f9f7;border-color:var(--color-text-secondary)}.modal-button.apply{background-color:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.modal-button.apply:hover{background-color:color-mix(in srgb,var(--color-primary) 90%,black);border-color:color-mix(in srgb,var(--color-primary) 90%,black)}body{font-family:serif;background-color:#f4f4f4;color:#000!important;line-height:1.2}li,p{font-size:.75em}h1{font-size:.95em!important;font-weight:600!important}h2{font-size:.9em!important}h3{font-size:.85em!important}h4{font-size:.8em!important}.resume-container{background:#fff;padding:20px 30px;max-width:780px;box-shadow:none;border-radius:var(--radius-md)}.resume-header{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px}.header-main{display:flex;align-items:baseline;gap:12px}.resume-header h1{margin:0;font-weight:700;color:#000;text-transform:uppercase}.resume-header h2{margin:5px 0 0;font-weight:400;color:#333;text-transform:uppercase}.contact-info{display:flex;gap:16px;text-align:center;font-size:.8em;color:#000}.contact-info span{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.divider{border:none;border-top:1px solid #ccc;margin:25px 0}.resume-section{display:flex;flex-direction:column;gap:4px}.resume-section h3{color:#005a9c;text-transform:uppercase;font-weight:700;border-bottom:2px solid #005a9c;margin:4px}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.entry h4{margin:0;color:#000}.entry h4 strong{font-weight:700}.entry .duration{color:#000;font-size:.8em;font-weight:700;white-space:nowrap;margin-left:15px}.entry p{margin:4px 0}.entry ul{padding-left:20px;margin:10px 0;list-style-type:disc}.entry li{margin-bottom:6px}.entry .tech-stack{margin-top:10px}.skills-list p{margin:5px 0}.skills-list strong,p strong{font-weight:700}.zoom-wrapper{position:relative;display:flex;flex-direction:column;gap:var(--spacing-lg)}.tools{display:flex;gap:var(--spacing-sm);align-items:center;justify-content:space-between}.zoom-content{width:100%;height:100%}.zoom-controls{display:flex;gap:var(--spacing-sm);background:var(--color-surface);padding:var(--spacing-xs);border-radius:var(--radius-md);box-shadow:0 2px 8px #0000001a}.zoom-controls button{padding:var(--spacing-md);width:fit-content;height:36px;display:flex;align-items:center;justify-content:center;background-color:var(--color-surface);color:var(--color-primary);font-size:var(--text-lg);font-weight:600;transition:all .2s ease;border:none}.zoom-controls button:hover{background-color:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.zoom-controls button:active{transform:scale(.95)}.floating-button{position:absolute;bottom:20px;right:20px}.download-pdf-button{width:100%;padding:var(--spacing-md);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);text-decoration:none;border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-primary)}.download-pdf-button:hover{background-color:#f7f9f7;border-color:color-mix(in srgb,var(--color-border) 80%,black)}.download-pdf-button.primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.download-pdf-button.primary:hover{background-color:color-mix(in srgb,var(--color-primary) 90%,black);border-color:color-mix(in srgb,var(--color-primary) 90%,black)}.download-pdf-button:disabled{background-color:var(--color-border);color:var(--color-text-secondary);cursor:not-allowed;opacity:.8}.download-pdf-button .spinner{animation:spin 1s linear infinite}.chat-container{flex-grow:1;display:flex;flex-direction:column;overflow:hidden;height:100%}.chat-messages{flex:1;padding:var(--spacing-lg);overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.message{display:flex;gap:var(--spacing-md);max-width:85%;align-items:flex-start}.message.user{margin-left:auto;flex-direction:row-reverse}.message-icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-sidebar);color:var(--color-secondary)}.message-content{background-color:var(--color-surface);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);border:1px solid var(--color-border);line-height:1.6;white-space:pre-wrap;font-size:.95rem}.message.user .message-content{background-color:var(--color-primary);color:var(--color-text-on-primary);border-color:transparent;border-radius:var(--radius-lg) var(--radius-lg) 0 var(--radius-lg)}.message.assistant .message-content{border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) 0}.chat-input-area{padding:var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);align-items:center;background-color:#f8f9f8}.chat-input-area textarea{flex:1;padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-primary);resize:none;font-size:1rem;font-family:inherit;line-height:1.5}.chat-input-area textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent)}.chat-input-area button{background-color:var(--color-primary);border:none;color:#fff;padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.chat-input-area button:disabled{background-color:var(--color-border);cursor:not-allowed}.typing-indicator{display:flex;padding:15px!important;gap:6px}.typing-indicator span{height:8px;width:8px;background-color:var(--color-text-secondary);border-radius:50%;opacity:.4;animation:1.2s blink infinite}.typing-indicator span:nth-of-type(2){animation-delay:.25s}.typing-indicator span:nth-of-type(3){animation-delay:.5s}@keyframes blink{50%{opacity:1}}.history-list-container{max-height:250px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:0 var(--spacing-sm) var(--spacing-sm) var(--spacing-lg)}.history-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:background-color .2s ease;gap:var(--spacing-md)}.history-item:hover{background-color:#f0f2f0}.history-details{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.history-message{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-timestamp{font-size:.8rem;color:var(--color-text-secondary)}.history-action{flex-shrink:0}.history-action .latest-label,.history-action .apply-button{font-size:.8rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);border:1px solid transparent;white-space:nowrap}.latest-label{color:var(--color-secondary);background-color:color-mix(in srgb,var(--color-secondary) 15%,transparent)}.apply-button{background-color:transparent;color:var(--color-secondary);border-color:var(--color-border);cursor:pointer}.apply-button:hover{background-color:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-text-on-primary)}.app-container{display:flex;height:100vh;width:100%;background-color:var(--color-background)}.left-sidebar{width:420px;flex-shrink:0;background-color:var(--color-sidebar);border-right:1px solid var(--color-border);display:flex;flex-direction:column;height:100vh;padding:var(--spacing-lg);gap:var(--spacing-lg)}.sidebar-header{display:flex;align-items:center;gap:var(--spacing-md);padding:0 var(--spacing-sm);flex-shrink:0}.sidebar-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.chat-wrapper{flex-grow:1;display:flex;flex-direction:column;background-color:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border)}.sidebar-footer{flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.collapsible-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease-in-out}.section-header:hover{background-color:var(--color-surface)}.section-title{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500;font-size:.95rem}.settings-content{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-lg)}.setting-item>label{display:block;font-size:.9rem;font-weight:500;margin-bottom:var(--spacing-sm);color:var(--color-text-secondary)}.styled-select,.api-key-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:#fcfcfc;font-size:.9rem}.styled-select:focus,.api-key-input:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-secondary) 20%,transparent)}.api-key-link{font-size:.8rem;text-decoration:none;color:var(--color-secondary);margin-top:var(--spacing-sm);display:inline-block}.api-key-link:hover{text-decoration:underline}.main-content{flex-grow:1;overflow-y:auto;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg);align-items:center}.right-sidebar{width:280px;flex-shrink:0;background-color:var(--color-sidebar);border-left:1px solid var(--color-border);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.right-sidebar-header h4{font-size:1.25rem;font-weight:600;margin:0;padding:var(--spacing-sm);color:var(--color-text-primary)}.action-buttons-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.action-button{width:100%;padding:var(--spacing-md);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);text-decoration:none;border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-primary)}.action-button:hover{background-color:#f7f9f7;border-color:color-mix(in srgb,var(--color-border) 80%,black)}.action-button.primary{background-color:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-text-on-primary)}.action-button.primary:hover{background-color:color-mix(in srgb,var(--color-secondary) 90%,black);border-color:color-mix(in srgb,var(--color-secondary) 90%,black)}.action-button:disabled{background-color:var(--color-border);color:var(--color-text-secondary);cursor:not-allowed;opacity:.8}.right-sidebar-footer{margin-top:auto;text-align:center;padding:var(--spacing-md)}.right-sidebar-footer p{font-size:.85rem;color:var(--color-text-secondary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}.job-analysis-modal{position:fixed;top:0;right:0;width:500px;height:100vh;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:-4px 0 12px #0000001a;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.job-analysis-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.job-analysis-title{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary)}.job-analysis-title h3{margin:0;font-size:var(--text-lg);font-weight:600}.close-button{background:none;border:none;padding:var(--spacing-sm);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.close-button:hover{background:color-mix(in srgb,var(--color-text-secondary) 10%,transparent);color:var(--color-text-primary)}.job-analysis-content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.job-input-container{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%}.job-input-section{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md)}.job-input-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.job-description-textarea{width:100%;min-height:300px;padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);line-height:1.5;resize:vertical;transition:border-color .2s ease}.job-description-textarea:focus{outline:none;border-color:var(--color-secondary)}.job-description-textarea.error{border-color:var(--color-primary)}.job-description-textarea::placeholder{color:var(--color-text-secondary)}.job-input-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-xs)}.character-count{font-size:var(--text-sm);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-xs)}.character-count .error{color:var(--color-primary)}.min-length-hint{font-size:.75rem;color:var(--color-text-secondary)}.error-message{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-primary);font-size:var(--text-sm);padding:var(--spacing-sm);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent)}.retry-button{margin-left:auto;background:var(--color-primary);color:var(--color-text-on-primary);border:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.retry-button:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 90%,black)}.retry-button:disabled{opacity:.6;cursor:not-allowed}.job-input-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.analyze-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);background:var(--color-secondary);color:var(--color-text-on-primary);border:none;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-md);transition:all .2s ease}.analyze-button:hover:not(:disabled){background:color-mix(in srgb,var(--color-secondary) 90%,black);transform:translateY(-1px)}.analyze-button:disabled{background:var(--color-border);color:var(--color-text-secondary);cursor:not-allowed;transform:none}.validation-hint{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;margin:0}.keyboard-hint{font-size:.75rem;color:var(--color-text-secondary);text-align:center;margin:0}.spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.analysis-results{display:flex;flex-direction:column;height:100%;gap:var(--spacing-lg)}.results-header{display:flex;justify-content:space-between;align-items:center}.back-button{display:flex;align-items:center;gap:var(--spacing-xs);background:none;border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all .2s ease}.back-button:hover{background:var(--color-sidebar);color:var(--color-text-primary)}.results-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xl);overflow-y:auto}.results-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-header{display:flex;align-items:center;gap:var(--spacing-sm)}.section-header h4{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary)}.skill-count{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.section-icon{flex-shrink:0}.matched-icon{color:var(--color-secondary)}.missing-icon{color:var(--color-primary)}.skills-container{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);min-height:60px}.skill-tag{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;border:1px solid;transition:all .2s ease}.skill-tag--md{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-sm)}.skill-tag--sm{padding:calc(var(--spacing-xs) * .75) var(--spacing-xs);font-size:.75rem}.skill-tag--matched{background:color-mix(in srgb,var(--color-secondary) 20%,var(--color-surface));border-color:var(--color-secondary);color:var(--color-text-primary)}.skill-tag--missing{background:color-mix(in srgb,var(--color-primary) 20%,var(--color-surface));border-color:var(--color-primary);color:var(--color-text-primary)}.skill-tag:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary);min-height:120px}.empty-state p{margin:0 0 var(--spacing-sm) 0;font-size:var(--text-sm)}.empty-state-hint{font-size:.75rem;opacity:.8}.results-summary{border-top:1px solid var(--color-border);padding-top:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.summary-stats{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.stat-number{font-size:var(--text-xl);font-weight:700}.stat-number.matched-color{color:var(--color-secondary)}.stat-number.missing-color{color:var(--color-primary)}.stat-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.stat-divider{color:var(--color-text-secondary);font-size:var(--text-lg)}.summary-text{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;margin:0;line-height:1.5}@media (max-width: 768px){.job-analysis-modal{width:100vw;left:0;right:0}.job-analysis-content{padding:var(--spacing-md)}.skills-container{gap:var(--spacing-xs)}.summary-stats{gap:var(--spacing-md)}}.job-analysis-modal:focus{outline:none}.close-button:focus,.back-button:focus,.analyze-button:focus,.retry-button:focus,.action-button.job-analysis-trigger:focus{outline:2px solid var(--color-secondary);outline-offset:2px}.job-description-textarea:focus{outline:2px solid var(--color-secondary);outline-offset:2px;border-color:var(--color-secondary)}.action-button.job-analysis-trigger{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);padding:var(--spacing-md);border-radius:var(--radius-md);font-weight:500;transition:all .2s ease;width:100%;justify-content:flex-start}.action-button.job-analysis-trigger:hover{background:var(--color-sidebar);border-color:var(--color-secondary);transform:translateY(-1px)}:root{--color-background: #fbf3d5;--color-surface: #ffffff;--color-sidebar: #d6dac8;--color-primary: #d6a99d;--color-secondary: #9cafaa;--color-text-primary: #333333;--color-text-secondary: #5f6c7b;--color-text-on-primary: #ffffff;--color-border: #c9cec2;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text-primary)}*{box-sizing:border-box}button{font-family:inherit;font-size:1rem;font-weight:500;cursor:pointer;border-radius:var(--radius-md);padding:.6em 1.2em;border:1px solid transparent;transition:background-color .2s ease-in-out,border-color .2s ease-in-out}
