*{box-sizing:border-box;margin:0;padding:0}body{color:#222;background:#f5f6f8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Apple SD Gothic Neo,sans-serif;line-height:1.5}.app{max-width:1100px;margin:0 auto;padding:24px 16px}.header{text-align:center;margin-bottom:32px}.title{margin-bottom:6px;font-size:26px;font-weight:700}.subtitle{color:#888;font-size:15px}.search-section{background:#fff;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 1px 4px #00000014}.search-row{gap:8px;margin-bottom:16px;display:flex}.search-input{border:2px solid #e0e0e0;border-radius:8px;outline:none;flex:1;height:48px;padding:0 16px;font-size:16px;transition:border-color .2s}.search-input:focus{border-color:#4a90d9}.search-btn{color:#fff;cursor:pointer;background:#4a90d9;border:none;border-radius:8px;justify-content:center;align-items:center;width:90px;height:48px;font-size:16px;font-weight:600;transition:background .2s;display:flex}.search-btn:hover{background:#357abd}.search-btn:disabled{cursor:not-allowed;background:#999}.reset-btn{color:#888;cursor:pointer;background:0 0;border:2px solid #e0e0e0;border-radius:8px;height:48px;padding:0 16px;font-size:14px;transition:all .2s}.reset-btn:hover{color:#555;border-color:#999}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.filter-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filter-label{color:#666;font-size:13px;font-weight:600}.site-toggles{gap:8px;display:flex}.site-btn{cursor:pointer;color:#555;border:2px solid #ddd;border-radius:20px;padding:6px 16px;font-size:13px;font-weight:600;transition:all .2s}.site-btn.active{color:#fff}.error-msg{color:#d32f2f;background:#fff0f0;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.results-section{flex-direction:column;gap:24px;margin-bottom:24px;display:flex}.site-result{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 4px #00000014}.site-header{border-bottom:1px solid #eee;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;display:flex}.site-name{font-size:17px;font-weight:700}.job-count{color:#888;background:#f0f0f0;border-radius:10px;padding:2px 10px;font-size:13px}.site-error{color:#d32f2f;margin-left:auto;font-size:13px}.job-grid{gap:10px;display:grid}.job-card{color:inherit;border:1px solid #eee;border-radius:8px;padding:14px 16px;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:block}.job-card:hover{border-color:#4a90d9;box-shadow:0 2px 8px #4a90d91f}.job-company{color:#888;margin-bottom:4px;font-size:12px;font-weight:600}.job-title{margin-bottom:6px;font-size:15px;font-weight:600;line-height:1.4}.job-meta{color:#999;gap:12px;font-size:12px;display:flex}.job-deadline{color:#d32f2f;margin-top:4px;font-size:12px;font-weight:600}.job-salary{color:#2e7d32;font-weight:600}.job-term{color:#888;margin-top:2px;font-size:12px}.job-posted{color:#aaa;margin-top:2px;font-size:11px}.no-results{color:#999;text-align:center;padding:20px 0;font-size:14px}.summary{text-align:center;color:#666;background:#fff;border-radius:8px;padding:16px;font-size:14px;box-shadow:0 1px 4px #00000014}@media (width>=768px){.job-grid{grid-template-columns:repeat(2,1fr)}}
