:root{--font-display:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"SF Mono","Fira Code",monospace;--color-primary:#06f;--color-primary-hover:#0052cc;--color-primary-light:#e6f0ff;--color-accent:#ff6b35;--color-accent-hover:#e55a2b;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-bg:#fff;--color-bg-elevated:#f9fafb;--color-bg-muted:#f3f4f6;--color-text:#111827;--color-text-secondary:#4b5563;--color-text-muted:#9ca3af;--color-border:#e5e7eb;--color-border-hover:#d1d5db;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:36px;--text-5xl:48px;--text-hero:56px;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease;--container-max:1280px;--container-narrow:768px}@media (prefers-color-scheme:dark){:root{--color-bg:#0f172a;--color-bg-elevated:#1e293b;--color-bg-muted:#334155;--color-text:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-muted:#64748b;--color-border:#334155;--color-border-hover:#475569;--color-primary-light:#1e3a5f;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4),0 2px 4px -1px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.4)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);min-height:100vh}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background:var(--color-primary-light);color:var(--color-text)}.container{max-width:var(--container-max)}.container,.container-narrow{margin:0 auto;padding:0 var(--space-6)}.container-narrow{max-width:var(--container-narrow)}.header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 var(--space-6);max-width:var(--container-max);margin:0 auto}.logo{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-primary);text-decoration:none;letter-spacing:-.02em}.logo:hover{color:var(--color-primary-hover)}.nav-links{display:flex;align-items:center;gap:var(--space-8)}.nav-link{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.nav-link:hover{color:var(--color-text)}.nav-link.active{color:var(--color-primary)}.main{min-height:calc(100vh - 64px - 80px)}.section{padding:var(--space-16) 0}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8)}.hero{padding:var(--space-20) var(--space-6);text-align:center;background:linear-gradient(180deg,var(--color-bg-elevated) 0,var(--color-bg) 100%);border-bottom:1px solid var(--color-border)}.hero-title{font-family:var(--font-display);font-size:var(--text-hero);font-weight:800;line-height:var(--leading-tight);letter-spacing:-.03em;color:var(--color-text);margin-bottom:var(--space-4)}.hero-subtitle{font-size:var(--text-xl);line-height:var(--leading-relaxed);color:var(--color-text-secondary);max-width:640px;margin:0 auto var(--space-10)}.search-container{max-width:600px;margin:0 auto var(--space-8)}.search-box{display:flex;align-items:center;background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2);transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.search-box:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-lg),0 0 0 4px var(--color-primary-light)}.search-input{flex:1 1;border:none;background:transparent;font-size:var(--text-lg);color:var(--color-text);padding:var(--space-3) var(--space-4);outline:none}.search-input::placeholder{color:var(--color-text-muted)}.search-btn{background:var(--color-primary);color:#fff;font-size:var(--text-base);font-weight:600;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast)}.search-btn:hover{background:var(--color-primary-hover)}.quick-filters{display:flex;gap:var(--space-3);flex-wrap:wrap}.btn,.quick-filters{align-items:center;justify-content:center}.btn{display:inline-flex;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;line-height:1;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);border:none;cursor:pointer;text-decoration:none;transition:all var(--transition-fast)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-muted);border-color:var(--color-border-hover)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover{background:var(--color-accent-hover)}.btn-ghost{background:transparent;color:var(--color-primary)}.btn-ghost:hover{background:var(--color-primary-light)}.btn-lg{font-size:var(--text-lg);padding:var(--space-4) var(--space-8)}.btn-sm{font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.badge{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:600;line-height:1;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-bg-muted);color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-fast)}.badge:hover{background:var(--color-border)}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.badge-success{background:#d1fae5;color:#065f46}.badge-remote{background:#dbeafe;color:#1e40af}.badge-accent{background:#fed7aa;color:#c2410c}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-normal)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.card-elevated{background:var(--color-bg-elevated);border:none;box-shadow:var(--shadow-sm)}.card-elevated:hover{box-shadow:var(--shadow-md)}.job-card{display:flex;flex-direction:column;gap:var(--space-3)}.job-card-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text);text-decoration:none;line-height:var(--leading-tight)}.job-card-title:hover{color:var(--color-primary)}.job-card-company{font-size:var(--text-base);font-weight:500;color:var(--color-text-secondary)}.job-card-location{font-size:var(--text-sm);color:var(--color-text-muted)}.job-card-salary{font-size:var(--text-base);font-weight:600;color:var(--color-success)}.job-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-4)}.grid{display:grid;grid-gap:var(--space-6);gap:var(--space-6)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-jobs{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media (max-width:768px){.grid-2,.grid-3,.grid-4,.grid-jobs{grid-template-columns:1fr}}.input{width:100%;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast)}.input:hover{border-color:var(--color-border-hover)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-light)}.input::placeholder{color:var(--color-text-muted)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:var(--space-10)}.checkbox-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer}.checkbox{width:18px;height:18px;border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.checkbox:checked{background:var(--color-primary);border-color:var(--color-primary)}.h1,h1{font-size:var(--text-4xl);font-weight:800;letter-spacing:-.02em}.h1,.h2,h1,h2{font-family:var(--font-display);line-height:var(--leading-tight)}.h2,h2{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em}.h3,h3{font-size:var(--text-xl);line-height:var(--leading-tight)}.h3,.h4,h3,h4{font-weight:600}.h4,h4{font-size:var(--text-lg);line-height:var(--leading-normal)}p{line-height:var(--leading-relaxed)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success)}.text-accent{color:var(--color-accent)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.w-full{width:100%}.h-full{height:100%}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.salary-badge{font-size:var(--text-base);color:var(--color-success);background:#d1fae5;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md)}.remote-badge,.salary-badge{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:600}.remote-badge{font-size:var(--text-sm);color:#1e40af;background:#dbeafe;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.remote-badge:before{content:"🏠";font-size:var(--text-xs)}.company-logo{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-bg-muted);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--color-text-muted);font-size:var(--text-lg)}.ai-interview-prep{background:var(--color-bg-elevated);border-color:var(--color-primary-light)!important}.ai-interview-prep .ai-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.ai-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;font-weight:700}.ai-interview-prep details summary{list-style:none}.ai-interview-prep details summary::-webkit-details-marker{display:none}.ai-interview-prep details summary::marker{display:none;content:""}.ai-interview-prep details[open] summary{border-bottom:1px solid var(--color-border)}.job-description{line-height:var(--leading-relaxed);color:var(--color-text-secondary)}.job-description h3{font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin:var(--space-6) 0 var(--space-3)}.job-description h4{font-size:var(--text-lg);font-weight:600;color:var(--color-text);margin:var(--space-4) 0 var(--space-2)}.job-description p,.job-description ul{margin-bottom:var(--space-3)}.job-description ul{list-style:disc;padding-left:var(--space-6)}.job-description li{margin-bottom:var(--space-2)}.job-description strong{color:var(--color-text);font-weight:600}.job-description a{color:var(--color-primary);text-decoration:underline}.job-description a:hover{color:var(--color-primary-hover)}.job-description hr{border:none;margin:var(--space-6) 0}.footer,.job-description hr{border-top:1px solid var(--color-border)}.footer{background:var(--color-bg-elevated);padding:var(--space-10) var(--space-6)}.footer-content{max-width:var(--container-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between}.footer-links{display:flex;gap:var(--space-6)}.footer-link{font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none}.footer-link:hover{color:var(--color-text-secondary)}.footer-copyright{font-size:var(--text-sm);color:var(--color-text-muted)}.error-page,.loading-page,.not-found-page{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-16)}.spinner{width:48px;height:48px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:640px){.hero-title{font-size:var(--text-3xl)}.hero-subtitle{font-size:var(--text-lg)}.search-box{flex-direction:column;padding:var(--space-4)}.search-btn,.search-input{width:100%}.nav-links{gap:var(--space-4)}.footer-content{flex-direction:column;gap:var(--space-6)}}@media print{.btn,.footer,.header,.search-container{display:none}.job-detail{max-width:100%}}