:root{--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-blue-500: #3b82f6;--color-blue-600: #2563eb;--color-blue-700: #1d4ed8;--color-red-400: #f87171;--color-red-500: #ef4444;--color-yellow-400: #fbbf24;--color-blue-500-rgb: 59, 130, 246;--color-red-500-rgb: 239, 68, 68;--color-yellow-400-rgb: 251, 191, 36;--color-background: var(--color-gray-50);--color-surface: var(--color-white);--color-text: var(--color-gray-800);--color-text-secondary: var(--color-gray-500);--color-primary: var(--color-blue-600);--color-primary-hover: var(--color-blue-500);--color-primary-active: var(--color-blue-700);--color-secondary: var(--color-gray-100);--color-secondary-hover: var(--color-gray-200);--color-secondary-active: var(--color-gray-300);--color-border: var(--color-gray-200);--color-btn-primary-text: var(--color-white);--color-card-border: var(--color-gray-200);--color-card-border-inner: var(--color-gray-100);--color-error: var(--color-red-500);--color-success: var(--color-blue-500);--color-warning: var(--color-yellow-400);--color-info: var(--color-gray-500);--color-focus-ring: rgba(var(--color-blue-500-rgb), .4);--color-select-caret: rgba(var(--color-gray-800-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231f2937' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f3f4f6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: 59, 130, 246;--color-error-rgb: 239, 68, 68;--color-warning-rgb: 251, 191, 36;--color-info-rgb: 107, 114, 128;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -.01em;--space-0: 0;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--radius-sm: 4px;--radius-base: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .02);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .04), 0 2px 4px -1px rgba(0, 0, 0, .02);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .04), 0 4px 6px -2px rgba(0, 0, 0, .02);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .15), inset 0 -1px 0 rgba(0, 0, 0, .03);--duration-fast: .15s;--duration-normal: .25s;--ease-standard: cubic-bezier(.16, 1, .3, 1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px}body.dark{--color-gray-400-rgb: 156, 163, 175;--color-blue-400-rgb: 96, 165, 250;--color-gray-300-rgb: 209, 213, 219;--color-gray-200-rgb: 229, 231, 235;--color-background: var(--color-gray-900);--color-surface: var(--color-gray-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-blue-500);--color-primary-hover: var(--color-blue-400);--color-primary-active: var(--color-blue-600);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-blue-400);--color-warning: var(--color-yellow-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-blue-400-rgb), .4);--color-btn-primary-text: var(--color-white);--color-card-border: rgba(var(--color-gray-400-rgb), .15);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--color-success-rgb: var(--color-blue-400-rgb);--color-error-rgb: 248, 113, 113;--color-warning-rgb: 251, 191, 36;--color-info-rgb: 209, 213, 219}body.light{--color-background: var(--color-gray-50);--color-surface: var(--color-white);--color-text: var(--color-gray-800);--color-text-secondary: var(--color-gray-500);--color-primary: var(--color-blue-600);--color-primary-hover: var(--color-blue-500);--color-primary-active: var(--color-blue-700);--color-secondary: var(--color-gray-100);--color-secondary-hover: var(--color-gray-200);--color-secondary-active: var(--color-gray-300);--color-border: var(--color-gray-200);--color-btn-primary-text: var(--color-white);--color-card-border: var(--color-gray-200);--color-card-border-inner: var(--color-gray-100);--color-error: var(--color-red-500);--color-success: var(--color-blue-500);--color-warning: var(--color-yellow-400);--color-info: var(--color-gray-500);--color-focus-ring: rgba(var(--color-blue-500-rgb), .4);--color-success-rgb: var(--color-blue-500-rgb);--color-error-rgb: var(--color-red-500-rgb);--color-warning-rgb: var(--color-yellow-400-rgb);--color-info-rgb: var(--color-gray-500-rgb)}html{font-size:var(--font-size-base);font-family:var(--font-family-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;box-sizing:border-box}body{margin:0;padding:0}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-sm)}p{margin:0 0 var(--space-16) 0}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}a:hover{color:var(--color-primary-hover)}code,pre{font-family:var(--font-family-mono);font-size:calc(var(--font-size-base) * .95);background-color:var(--color-secondary);border-radius:var(--radius-sm)}code{padding:var(--space-1) var(--space-4)}pre{padding:var(--space-16);margin:var(--space-16) 0;overflow:auto;border:1px solid var(--color-border)}pre code{background:none;padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-10) var(--space-20);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);border:none;text-decoration:none;position:relative;gap:var(--space-8)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn--primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:var(--color-btn-primary-text);border:2px solid transparent}.btn--primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-hover) 0%,var(--color-primary-active) 100%);border-color:var(--color-primary-hover)}.btn--primary:active{background:linear-gradient(135deg,var(--color-primary-active) 0%,var(--color-primary) 100%)}.btn--secondary{background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-secondary-hover) 100%);color:var(--color-text);border:2px solid var(--color-border)}.btn--secondary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-secondary-hover) 0%,var(--color-secondary-active) 100%);border-color:var(--color-secondary-hover)}.btn--secondary:active{background:linear-gradient(135deg,var(--color-secondary-active) 0%,var(--color-secondary) 100%)}.btn--accent{background:linear-gradient(135deg,var(--color-accent, #ff6b35) 0%,var(--color-accent-hover, #e55a2b) 100%);color:#fff;border:2px solid transparent}.btn--accent:hover:not(:disabled){background:linear-gradient(135deg,var(--color-accent-hover, #e55a2b) 0%,var(--color-accent-active, #cc4a23) 100%);border-color:var(--color-accent-hover, #e55a2b)}.btn--accent:active{background:linear-gradient(135deg,var(--color-accent-active, #cc4a23) 0%,var(--color-accent, #ff6b35) 100%)}.btn--full-width{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--action.disabled:hover{transform:none;box-shadow:0 2px 8px #00000014}.form-control{display:block;width:100%;padding:var(--space-10) var(--space-12);font-size:var(--font-size-md);line-height:1.5;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}textarea.form-control{font-family:var(--font-family-base);font-size:var(--font-size-base)}select.form-control{appearance:none;background-image:var(--select-caret-light);background-repeat:no-repeat;background-position:right var(--space-12) center;background-size:16px;padding-right:var(--space-32)}body.dark select.form-control{background-image:var(--select-caret-dark)}body.light select.form-control{background-image:var(--select-caret-light)}.form-control:focus{border-color:var(--color-primary);outline:none;box-shadow:var(--focus-ring)}.form-group label{display:flex;align-items:center;gap:var(--space-8);font-weight:var(--font-weight-medium);margin-bottom:var(--space-8);color:var(--color-text);font-size:var(--font-size-sm)}.form-group{margin-bottom:var(--space-20)}.file-input{display:none}.file-upload-label{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-10) var(--space-20);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);border:1px dashed var(--color-border);color:var(--color-text-secondary);background-color:var(--color-surface);gap:var(--space-8);width:100%;margin-bottom:var(--space-20)}.file-upload-label:hover{border-color:var(--color-primary);color:var(--color-primary)}.file-upload-label i{font-size:var(--font-size-lg)}.file-selected-info{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-12);background-color:var(--color-secondary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);border:1px solid var(--color-border);margin-top:var(--space-8)}.file-selected-info i{color:var(--color-success)}.app-container{display:flex;flex-direction:column;min-height:100vh;background:var(--color-background)}.app-header{background:var(--color-surface);padding:var(--space-16) var(--space-32);border-bottom:1px solid var(--color-border)}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:var(--container-xl);margin:0 auto}.header-title h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:var(--space-12)}.header-title p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.header-actions{display:flex;align-items:center;gap:var(--space-20)}.app-main{flex:1;padding:var(--space-32);max-width:var(--container-xl);margin:0 auto;width:100%}.step-container{background:var(--color-surface);padding:var(--space-32);margin-bottom:var(--space-20);border-radius:var(--radius-lg);border:1px solid var(--color-card-border)}.step-container h2{font-size:var(--font-size-xl);margin-bottom:var(--space-12);display:flex;align-items:center;gap:var(--space-12)}.step-container>p{color:var(--color-text-secondary);margin-bottom:var(--space-28)}.main-grid,.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-32)}.config-grid{margin-bottom:var(--space-32)}.grid-column{display:flex;flex-direction:column}textarea.resume-input{min-height:400px;resize:vertical}.form-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--space-4);margin-bottom:0}.button-group{margin-top:var(--space-24);display:flex;flex-wrap:wrap;gap:var(--space-12)}.message{padding:var(--space-16);margin-bottom:var(--space-20);border-radius:var(--radius-base);border-left:4px solid}.success-message{background:rgba(var(--color-success-rgb),var(--status-bg-opacity));color:var(--color-success);border-color:var(--color-success)}.error-message{background:rgba(var(--color-error-rgb),var(--status-bg-opacity));color:var(--color-error);border-color:var(--color-error)}.cover-letter-display{background:var(--color-gray-50);padding:var(--space-24);border-radius:var(--radius-base);margin:var(--space-20) 0;border:1px solid var(--color-card-border);white-space:pre-wrap;word-wrap:break-word;line-height:1.6}.dark .cover-letter-display{background:var(--color-gray-900)}.app-footer{background:var(--color-surface);color:var(--color-text-secondary);padding:var(--space-20) var(--space-32);border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}.footer-content{display:flex;justify-content:space-between;align-items:center;max-width:var(--container-xl);margin:0 auto}.footer-socials{display:flex;align-items:center;gap:var(--space-16)}.footer-socials a{color:var(--color-text-secondary);font-size:var(--font-size-xl);transition:color var(--duration-fast) var(--ease-standard)}.footer-socials a:hover{color:var(--color-primary)}.footer-name-link{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-left:var(--space-8);transition:color var(--duration-fast) var(--ease-standard)}.footer-name-link:hover{color:var(--color-primary)}.footer-separator{color:var(--color-text-secondary);margin:0 var(--space-12);font-size:var(--font-size-sm)}.bmac-button img{width:150px;height:auto}.theme-toggle{display:flex;align-items:center;gap:var(--space-4)}.theme-btn{padding:var(--space-8);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);display:flex;align-items:center;justify-content:center}.theme-btn:hover{background-color:var(--color-secondary);color:var(--color-text)}.theme-btn.active{background-color:var(--color-primary);color:var(--color-btn-primary-text);border-color:var(--color-primary)}.experience-item{margin-bottom:var(--space-16);padding:var(--space-16);border:1px solid var(--color-card-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.experience-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12)}.experience-fields input,.experience-fields textarea{width:100%}.parsed-resume-section{margin-top:var(--space-24);padding:var(--space-20);background:rgba(var(--color-success-rgb),.05);border:1px solid rgba(var(--color-success-rgb),.2);border-radius:var(--radius-md)}.parsed-resume-section h3{color:var(--color-success);margin-bottom:var(--space-16);display:flex;align-items:center;gap:var(--space-8)}.parsed-info{display:flex;flex-direction:column;gap:var(--space-8)}.info-item{padding:var(--space-8) var(--space-12);background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.info-item strong{color:var(--color-text);margin-right:var(--space-8)}.parsed-placeholder{text-align:center;padding:var(--space-32);color:var(--color-text-secondary)}.parsed-placeholder h2{color:var(--color-text-secondary);margin-bottom:var(--space-16)}.parsed-resume-details{max-height:80vh;overflow-y:auto}.parsed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-24);padding-bottom:var(--space-16);border-bottom:1px solid var(--color-border)}.parsed-header h2{margin:0}.profile-section{margin-bottom:var(--space-32);padding:var(--space-20);background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-md)}.profile-section h3{margin:0 0 var(--space-16) 0;color:var(--color-primary);display:flex;align-items:center;gap:var(--space-8)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-16)}.section-header h3{margin:0}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);margin-bottom:var(--space-16)}.profile-field{display:flex;flex-direction:column;gap:var(--space-4)}.profile-field.full-width{grid-column:1 / -1}.profile-field label{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.profile-field span{font-size:var(--font-size-base);color:var(--color-text);padding:var(--space-8) var(--space-12);background:var(--color-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.skills-list{display:flex;flex-wrap:wrap;gap:var(--space-8)}.skill-tag{padding:var(--space-6) var(--space-12);background:var(--color-primary);color:var(--color-btn-primary-text);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.experience-item,.project-item,.education-item{padding:var(--space-16);margin-bottom:var(--space-16);background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);position:relative}.experience-header,.project-header,.education-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-12)}.experience-header h4,.project-header h4,.education-header h4{margin:0;color:var(--color-primary);flex:1}.experience-description,.project-description,.education-details{color:var(--color-text);line-height:1.5}.project-tech{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-border)}.project-tech strong,.project-link strong{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.education-institution{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.empty-state{text-align:center;padding:var(--space-24);color:var(--color-text-secondary);font-style:italic}.job-details-section{padding:var(--space-32);background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-lg)}.main-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-32)}.resume-container{margin-bottom:var(--space-32)}.job-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-20);margin-bottom:var(--space-32)}.generate-section{text-align:center;padding:var(--space-32) 0;border-top:1px solid var(--color-border);background:var(--color-background);margin-top:var(--space-32)}.generate-buttons{display:flex;gap:var(--space-20);justify-content:center;flex-wrap:wrap;max-width:1000px;margin:0 auto}.generate-buttons .btn{flex:1;min-width:240px;max-width:280px}.btn--action{position:relative;padding:var(--space-24) var(--space-28);border-radius:var(--radius-lg);border:none;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);box-shadow:0 4px 12px #0000001a;overflow:hidden;min-height:90px;display:flex;align-items:center;justify-content:center;text-align:center}.btn--action:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #00000026}.btn--action:active:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #0003}.btn--action:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:0 2px 8px #00000014;pointer-events:none}.btn--action:disabled .btn-icon{opacity:.9}.btn--action:disabled .btn-content{opacity:.8}.btn--action:not(:disabled):hover{box-shadow:var(--shadow-lg),0 0 20px #0000001a}.loading-state i{animation:spin 1s linear infinite}.btn-content{display:flex;align-items:center;gap:var(--space-16);opacity:1;transition:opacity var(--duration-normal)}.btn--action .loading-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:var(--space-8);font-size:var(--font-size-sm)}.btn--action .btn-content{transition:opacity var(--duration-normal)}.btn--action.loading .btn-content{opacity:0}.btn-icon{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-base);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl)}.btn--primary .btn-icon{background:#fff3;color:var(--color-btn-primary-text)}.btn--secondary .btn-icon{background:#ffffff4d;color:var(--color-gray-700)}.btn--accent .btn-icon{background:#fff3;color:#fff}.btn-text{text-align:center;flex:1}.btn-title{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.2;margin-bottom:var(--space-4)}.btn-subtitle{display:block;font-size:var(--font-size-sm);opacity:.8;line-height:1.2}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.large-modal{max-width:900px;width:95%}.modal-tabs{display:flex;border-bottom:1px solid var(--color-border);background:var(--color-secondary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.tab-button{flex:1;padding:var(--space-12) var(--space-16);background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.tab-button:hover{background:var(--color-surface);color:var(--color-text)}.tab-button.active{border-bottom-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface)}.tab-content{padding:var(--space-20)}.tab-content h4{margin:0 0 var(--space-16) 0;color:var(--color-primary);font-size:var(--font-size-lg)}.experience-list,.projects-list,.education-list{margin-bottom:var(--space-20)}.experience-item,.project-item,.education-item{padding:var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-12);background:var(--color-surface)}.experience-header,.project-header,.education-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-8)}.experience-header h4,.project-header h4,.education-header h4{margin:0;color:var(--color-primary);font-size:var(--font-size-md)}.experience-actions,.project-actions,.education-actions{display:flex;gap:var(--space-8)}.experience-duration,.education-year{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-8)}.experience-description,.project-description,.education-institution,.education-details{margin:0;color:var(--color-text)}.project-tech,.project-link{margin-top:var(--space-8);font-size:var(--font-size-sm)}.project-tech strong,.project-link strong{color:var(--color-text-secondary)}.project-link a{color:var(--color-primary);text-decoration:none}.project-link a:hover{text-decoration:underline}.empty-state{text-align:center;color:var(--color-text-secondary);padding:var(--space-32);font-style:italic}.experience-form,.project-form,.education-form{margin-top:var(--space-20);padding-top:var(--space-20);border-top:1px solid var(--color-border)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-20);border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;color:var(--color-primary)}.modal-close{background:none;border:none;font-size:var(--font-size-xl);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-8);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-standard)}.modal-close:hover{background:var(--color-secondary);color:var(--color-text)}.modal-body{padding:var(--space-20)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);margin-bottom:var(--space-16)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-12);margin-top:var(--space-24);padding-top:var(--space-16);border-top:1px solid var(--color-border)}.btn--small{padding:var(--space-6) var(--space-12);font-size:var(--font-size-sm)}.btn--danger{background:var(--color-error);color:var(--color-white)}.btn--danger:hover{background:var(--color-red-500)}@media (max-width: 768px){.main-grid,.config-grid{grid-template-columns:1fr}.app-main{padding:var(--space-20)}.footer-content,.header-content{flex-direction:column;gap:var(--space-16)}}.loading-overlay{position:fixed;inset:0;background:#ffffffe6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-in-out}[data-theme=dark] .loading-overlay{background:#000c}.loading-content{text-align:center;padding:var(--space-32);background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);max-width:400px;width:90%}.loading-spinner{font-size:3rem;color:var(--color-primary);margin-bottom:var(--space-16)}.loading-spinner i{animation:spin 1s linear infinite}.loading-text h3{margin:0 0 var(--space-8) 0;color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.loading-text p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
