.jobs-container{max-width:480px;margin:0 auto;background:#f5f5f5;min-height:100vh;display:flex;flex-direction:column;padding-bottom:120px;width:100vw}.jobs-fixed-header{position:sticky;top:0;background:#f5f5f5;z-index:999;padding:16px 8px 8px;box-shadow:0 2px 8px rgba(0,0,0,.1);flex-shrink:0}.jobs-content{flex:1;overflow-y:auto;padding:0 8px}.activities-tabs{display:flex;align-items:center;gap:4px;margin-top:8px;padding:0;overflow:visible}.activities-tab{flex:0 0 auto;border:none;border-radius:999px;padding:6px 12px;background:transparent;color:#6b7280;font-size:.85rem;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease}.activities-tab-label{white-space:nowrap}.activities-tab-count{min-width:20px;padding:2px 6px;border-radius:999px;background:hsla(0,0%,100%,.9);color:#6b7280;font-size:.75rem;text-align:center}.activities-tab--active{background:#fff;color:#2563eb;box-shadow:0 1px 3px rgba(148,163,184,.3)}.activities-tab--active .activities-tab-count{background:rgba(37,99,235,.08);color:#2563eb}.activities-tab:hover{transform:translateY(-1px);background:hsla(0,0%,100%,.9)}.activities-tab:focus,.activities-tab:focus-visible{outline:none;box-shadow:none}.activities-card{position:relative}.activity-status{padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:500;line-height:1}.activity-status--ongoing{background:rgba(52,211,153,.14);color:#0f766e}.activity-status--upcoming{background:rgba(59,130,246,.14);color:#1d4ed8}.activity-status--ended{background:rgba(156,163,175,.16);color:#4b5563}.activities-date-row{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:.85rem;color:#4b5563}.activities-date-icon{font-size:.9rem}.activities-date-text{white-space:nowrap}.jobs-card .jobs-content{display:flex;justify-content:space-between;align-items:flex-start;width:100%;gap:20px}.jobs-left{flex:1;gap:8px}.jobs-left,.jobs-right{display:flex;flex-direction:column}.jobs-right{align-items:stretch;justify-content:flex-start;min-width:120px;flex-shrink:0}.jobs-actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:8px}.action-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;text-align:center}.apply-btn{background-color:#1890ff;color:#fff}.apply-btn:hover{background-color:#40a9ff}.poster-btn{background-color:#52c41a;color:#fff}.poster-btn:hover{background-color:#73d13d}.intro-btn{background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff}.intro-btn:hover{background:linear-gradient(135deg,#40a9ff,#1890ff)}.jobs-list-wrapper{gap:18px;margin-top:18px}.jobs-card,.jobs-list-wrapper{display:flex;flex-direction:column}.jobs-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.1);padding:18px 16px 16px;gap:12px;font-size:1rem;position:relative;transition:all .2s ease}.jobs-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,0,0,.15)}.jobs-header{display:flex;justify-content:space-between;align-items:flex-start}.jobs-title{font-size:1.1rem;font-weight:700;color:#000;flex:1;display:inline-flex;align-items:center;gap:6px}.jobs-intro-video-badge{font-size:.9rem;opacity:.9;flex-shrink:0}.jobs-timestamp{font-size:.8rem;color:#9ca3af;margin-left:12px}.jobs-salary{font-size:1.2rem;font-weight:700;color:#f97316}.jobs-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{background:#f3f4f6;color:#6b7280;padding:4px 8px;border-radius:6px;font-size:.8rem}.jobs-address{color:#374151;font-size:.9rem}.jobs-desc,.jobs-requirements{color:#374151;font-size:.9rem;line-height:1.5}.jobs-contact{display:flex;gap:16px;font-size:.9rem}.contact-item{color:#1e40af;font-weight:500}.contact-value{color:#1e40af;margin-left:4px}.phone-link{text-decoration:none;cursor:pointer}.phone-link:hover{text-decoration:underline}.jobs-divider{height:1px;background-color:#e5e7eb}.jobs-footer{justify-content:space-between}.jobs-company,.jobs-footer{display:flex;align-items:center}.jobs-company{color:#343536;font-size:.85rem;gap:4px}.company-icon{font-size:1rem}.jobs-company-link{color:inherit;text-decoration:none}.jobs-company-link:hover{text-decoration:underline;color:#1890ff}.company-page .company-page-header{padding:16px 8px 24px;background:#fff;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.company-page-back{display:inline-block;color:#1890ff;text-decoration:none;font-size:14px;margin-bottom:12px}.company-page-back:hover{text-decoration:underline}.company-page-title{margin:0 0 8px;font-size:1.25rem;color:#343536;display:flex;align-items:center;gap:8px}.company-page-count{margin:0;font-size:.9rem;color:#6c757d}.company-page-poster-btn{margin-top:12px;padding:10px 20px;background-color:#52c41a;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease;width:100%}.company-page-poster-btn:hover{background-color:#73d13d}.jobs-card-link{display:block;text-decoration:none;color:inherit}.jobs-card-link:hover{background-color:#f0f7ff}.no-results{text-align:center;padding:40px 20px;color:#6c757d;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(79,140,255,.08)}.no-results p{margin:0;font-size:1.1rem}.filter-row{padding:20px;max-height:calc(80vh - 160px);overflow-y:auto}.filter-actions{display:flex;gap:12px;padding:16px 20px;background:#f8f9fa;border-top:1px solid #e9ecef}.filter-reset-btn{flex:1;padding:12px;background:#fff;color:#666;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-reset-btn:hover{background:#f5f5f5;border-color:#ccc}.filter-confirm-btn{flex:2;padding:12px;background:linear-gradient(135deg,#4f8cff,#38cfa6);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(79,140,255,.3)}.filter-confirm-btn:hover{background:linear-gradient(135deg,#3b73e6,#2db89e);transform:translateY(-1px);box-shadow:0 4px 12px rgba(79,140,255,.4)}.filter-confirm-btn:active{transform:translateY(0)}@keyframes tagAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (min-width:768px){.jobs-container,.jobs-fixed-header{max-width:768px}.course-detail-container,.job-detail-container{max-width:768px;min-width:100vw}.filter-popup-content{max-width:600px}.filter-actions{padding:20px}.filter-confirm-btn,.filter-reset-btn{padding:14px;font-size:1.1rem}}@media (min-width:1024px){.jobs-container,.jobs-fixed-header{max-width:900px}.course-detail-container,.job-detail-container{max-width:900px;min-width:100vw}}@media (max-width:767px){.search-filter-row{gap:6px}.filter-icon-btn{padding:8px 12px;font-size:.85rem;border-radius:10px;height:40px}.filter-icon-btn.active{background:linear-gradient(135deg,#2a5d9f,#4f8cff)}.filter-icon{font-size:.9rem}.filter-popup-content{border-radius:16px 16px 0 0;max-height:70vh}.filter-popup-header{padding:16px;border-radius:16px 16px 0 0}.filter-title{font-size:1rem}.filter-row{padding:16px;max-height:calc(70vh - 140px)}.filter-actions{padding:12px 16px}.filter-confirm-btn,.filter-reset-btn{padding:10px;font-size:.95rem}.filter-tag{font-size:.8rem;padding:5px 10px}.filter-tag-close{width:16px;height:16px;font-size:.8rem}}.search-filter-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.search-filter-row>:first-child{flex:1}.filter-icon-btn{background:linear-gradient(135deg,#4f8cff,#6ba3ff);border:none;border-radius:12px;padding:10px 16px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:6px;min-width:auto;height:44px;box-shadow:0 2px 8px rgba(79,140,255,.3);white-space:nowrap}.filter-icon-btn.active{background:linear-gradient(135deg,#2a5d9f,#4f8cff);box-shadow:0 2px 8px rgba(42,93,159,.3)}.filter-icon-btn:hover{background:linear-gradient(135deg,#3b73e6,#5a94ff);transform:translateY(-2px);box-shadow:0 4px 16px rgba(79,140,255,.4)}.filter-icon-btn.active:hover{background:linear-gradient(135deg,#1e4a7a,#3b73e6);box-shadow:0 4px 16px rgba(42,93,159,.4)}.filter-icon-btn:active{transform:translateY(0)}.filter-icon{font-size:1rem;display:inline-block;animation:pulse 2s infinite;transition:transform .3s ease}.filter-icon-btn.active .filter-icon{transform:rotate(90deg);animation:none}.filter-text{font-size:inherit;font-weight:inherit;letter-spacing:.5px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.selected-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.filter-tag{background:linear-gradient(135deg,#4f8cff,#6ba3ff);color:#fff;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500;gap:6px;box-shadow:0 2px 8px rgba(79,140,255,.3);animation:tagAppear .3s ease}.filter-tag,.filter-tag-close{display:flex;align-items:center}.filter-tag-close{background:hsla(0,0%,100%,.3);border-radius:50%;width:18px;height:18px;justify-content:center;cursor:pointer;font-size:.9rem;font-weight:700;transition:background-color .2s ease}.filter-tag-close:hover{background:hsla(0,0%,100%,.5)}.filter-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .3s ease}.filter-popup-content{background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -4px 32px rgba(0,0,0,.15);width:100%;max-width:480px;max-height:80vh;overflow-y:auto;animation:slideUpFromBottom .3s ease;padding:0}.filter-popup-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:linear-gradient(135deg,#4f8cff,#38cfa6);color:#fff;border-radius:20px 20px 0 0;position:relative}.filter-drag-indicator{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:40px;height:4px;background:hsla(0,0%,100%,.4);border-radius:2px}.filter-title{font-size:1.1rem;font-weight:600}.filter-close-btn{background:hsla(0,0%,100%,.2);border:none;color:#fff;font-size:1.5rem;font-weight:700;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.filter-close-btn:hover{background:hsla(0,0%,100%,.3)}.highlight{background-color:#fff3cd;padding:2px 4px;border-radius:3px;font-weight:500}.loading-more{text-align:center;padding:20px;color:#6c757d;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(79,140,255,.08);margin-top:18px}.loading-more p{display:flex;align-items:center;justify-content:center;gap:8px}.loading-more p:before{content:"";width:16px;height:16px;border:2px solid #e9ecef;border-top-color:#4f8cff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.no-more-data{text-align:center;padding:16px;color:#6c757d;font-size:.9rem;background:#f8f9fa;border-radius:8px;margin-top:18px;border:1px dashed #dee2e6}.no-more-data p{margin:0}.jobs-card{animation:slideUp .3s ease-out}.jobs-list-wrapper{scroll-behavior:smooth}.jobs-content h2{transition:all .3s ease}@media (max-width:767px){.loading-more{padding:16px}.no-more-data{padding:12px;font-size:.85rem}}.initial-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(79,140,255,.08);margin:20px 0}.initial-loading p{margin:20px 0 0;font-size:1.1rem;color:#6c757d;font-weight:500}.search-loading-overlay{display:none}.loading-spinner{width:40px;height:40px;border:3px solid #e9ecef;border-top-color:#4f8cff;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner.small{width:20px;height:20px;border:2px solid #e9ecef;border-top-color:#4f8cff}.loading-more{display:flex;align-items:center;justify-content:center;gap:12px}.loading-more p{margin:0;font-size:1rem;color:#6c757d}@media (max-width:767px){.initial-loading{padding:40px 16px;margin:16px 0}.initial-loading p,.search-loading-overlay p{font-size:1rem}.loading-spinner{width:32px;height:32px;border-width:2px}}.loading-tip{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.8);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;display:flex;align-items:center;gap:8px;z-index:1000;backdrop-filter:blur(8px);box-shadow:0 2px 12px rgba(0,0,0,.2)}.loading-tip .loading-spinner.small{width:16px;height:16px;border-width:2px}.course-detail-container,.job-detail-container{max-width:480px;margin:0 auto;background:#f5f5f5;min-height:100vh;display:flex;flex-direction:column;padding-bottom:120px;min-width:100vw}.detail-header{position:sticky;top:0;background:#f5f5f5;z-index:999;padding:16px 16px 10px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px rgba(0,0,0,.1)}.detail-header-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.back-button{background:none;border:none;color:#374151;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.back-button:hover{background-color:rgba(0,0,0,.05);transform:translateX(-2px)}.detail-title{font-size:1.1rem;font-weight:600;color:#000;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-header-action-btn{padding:8px 14px;border-radius:999px;border:none;background:linear-gradient(135deg,#4f8cff,#38cfa6);color:#fff;font-size:.9rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;box-shadow:0 2px 8px rgba(79,140,255,.35);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .2s ease}.detail-header-action-btn:hover{background:linear-gradient(135deg,#3b73e6,#2db89e);box-shadow:0 4px 12px rgba(79,140,255,.45);transform:translateY(-1px)}.course-detail-card,.job-detail-card{background:#fff;margin:16px;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.1);overflow:hidden}.course-hero-section,.job-hero-section{padding:24px 20px 20px;border-bottom:1px solid #f3f4f6;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;position:relative;overflow:hidden}.course-hero-section:before,.job-hero-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.1"/><circle cx="50" cy="10" r="0.5" fill="white" opacity="0.1"/><circle cx="10" cy="60" r="0.5" fill="white" opacity="0.1"/><circle cx="90" cy="40" r="0.5" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');opacity:.3}.course-badge,.job-badge{display:inline-block;background:hsla(0,0%,100%,.2);color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500;margin-bottom:12px;backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.1)}.course-name,.job-name{font-size:1.4rem;font-weight:700;color:#fff;margin:0 0 12px;line-height:1.4;position:relative;z-index:1}.course-school,.job-company{display:flex;align-items:center;gap:8px;color:hsla(0,0%,100%,.9);font-size:.95rem;margin-bottom:16px;position:relative;z-index:1}.company-icon,.school-icon{font-size:1.1rem}.company-name,.school-name{font-weight:500}.course-meta,.job-meta{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.meta-item{display:flex;align-items:center;gap:8px;color:hsla(0,0%,100%,.9);font-size:.9rem}.meta-icon{font-size:1rem;opacity:.8}.meta-text{font-weight:500}.meta-text.salary-highlight{color:#fbbf24;font-weight:600;font-size:1rem}.course-info-section,.job-info-section{padding:16px 20px;border-bottom:1px solid #f3f4f6}.info-item{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;line-height:1.5}.info-item:last-child{margin-bottom:0}.info-label{color:#6b7280;font-size:.9rem;min-width:80px;flex-shrink:0}.info-value{color:#374151;font-size:.9rem;text-align:right;flex:1;margin-left:12px}.info-value.salary{color:#f97316;font-weight:600;font-size:1rem}.job-intro-video-section{padding:16px 20px;border-bottom:1px solid #f3f4f6}.job-intro-video-desc{color:#6b7280;font-size:.85rem}.job-intro-video-desc--empty{margin:0 0 12px;padding:12px 0}.job-intro-text-link{display:inline-block;padding:12px 24px;background:#1890ff;color:#fff;border-radius:8px;text-decoration:none;font-size:.95rem}.job-intro-text-link:hover{background:#40a9ff;color:#fff}.job-intro-video-wrapper--text{background:#f5f5f5;aspect-ratio:auto;min-height:60px;display:flex;align-items:center;justify-content:center;padding:16px}.job-intro-script-text{width:100%;white-space:pre-line;color:#374151;font-size:.9rem;line-height:1.6;text-align:left}.job-intro-video-wrapper{border-radius:12px;overflow:hidden;background:#000;aspect-ratio:16/9;max-width:100%}.job-intro-float-trigger{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:64px;padding:12px 8px;border:none;border-radius:12px;background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;font-size:.8rem;cursor:pointer;box-shadow:0 4px 12px rgba(24,144,255,.4);transition:transform .2s,box-shadow .2s}.job-intro-float-trigger:hover{transform:translateY(-50%) scale(1.05);box-shadow:0 6px 16px rgba(24,144,255,.5)}.job-intro-float-trigger-icon{display:flex;align-items:center;justify-content:center}.job-intro-float-trigger-icon svg{width:28px;height:28px}.job-intro-float-trigger-text{line-height:1.2;white-space:nowrap}.job-intro-digital-human-float{position:fixed;right:16px;top:50%;transform:translate(100%,-50%);z-index:20;width:240px;height:300px;border-radius:12px;overflow:visible;background:transparent;pointer-events:none;opacity:0;transition:transform .3s ease-out,opacity .25s ease-out}.job-intro-digital-human-float--visible{transform:translateY(-50%);opacity:1;pointer-events:auto}.job-intro-float-close{position:absolute;top:4px;right:4px;z-index:21;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:rgba(0,0,0,.4);color:#fff;cursor:pointer;transition:background .2s}.job-intro-float-close:hover{background:rgba(0,0,0,.6)}.job-intro-digital-human-float .job-intro-digital-human-float__inner,.job-intro-digital-human-float .job-intro-digital-human-wrapper{width:100%;height:100%;max-height:none;aspect-ratio:unset;background:transparent;pointer-events:auto}.job-intro-digital-human-float .job-intro-digital-human,.job-intro-digital-human-float .job-intro-digital-human canvas{background:transparent!important}@media (max-width:768px){.job-intro-float-trigger{right:12px;width:56px;padding:10px 6px;font-size:.75rem}.job-intro-float-trigger-icon svg{width:24px;height:24px}.job-intro-digital-human-float{width:180px;height:240px;right:12px}}.job-intro-digital-human-wrapper{position:relative;width:100%;aspect-ratio:9/16;max-height:360px;border-radius:12px;overflow:hidden;background:#1a1a1a}.job-intro-digital-human{width:100%;height:100%;display:block}.job-intro-digital-human-play-hint{position:absolute;left:0;right:0;bottom:0;padding:12px;text-align:center;font-size:.9rem;color:hsla(0,0%,100%,.9);background:linear-gradient(transparent,rgba(0,0,0,.6));pointer-events:none}.job-intro-digital-human--error{display:flex;align-items:center;justify-content:center;padding:24px;color:#999;font-size:.9rem}.job-intro-digital-human--placeholder{cursor:pointer;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.05);border-radius:8px;min-height:300px;transition:background-color .2s}.job-intro-digital-human--placeholder:hover{background-color:rgba(0,0,0,.1)}.job-intro-digital-human-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:rgba(0,0,0,.3);z-index:10;border-radius:8px}.job-intro-digital-human-loading-text{color:hsla(0,0%,100%,.9);font-size:.9rem;margin-bottom:12px}.job-intro-digital-human-loading-bar{width:200px;height:4px;background-color:hsla(0,0%,100%,.2);border-radius:2px;overflow:hidden}.job-intro-digital-human-loading-progress{height:100%;background-color:#4a9eff;transition:width .3s ease;border-radius:2px;width:var(--progress-width,0)}.job-intro-digital-human-placeholder-content{text-align:center;color:#666}.job-intro-digital-human-placeholder-icon{font-size:48px;margin-bottom:16px}.job-intro-digital-human-placeholder-title{font-size:14px;margin-bottom:8px}.job-intro-digital-human-placeholder-desc{font-size:12px;color:#999}.job-intro-digital-human-wrapper .vrm-avatar-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:rgba(0,0,0,.3);z-index:10;border-radius:8px}.job-intro-digital-human-wrapper .vrm-avatar-loading-text{color:hsla(0,0%,100%,.9);font-size:.9rem;margin-bottom:12px}.job-intro-digital-human-wrapper .vrm-avatar-loading-bar{width:200px;height:4px;background-color:hsla(0,0%,100%,.2);border-radius:2px;overflow:hidden}.job-intro-digital-human-wrapper .vrm-avatar-loading-progress{height:100%;background-color:#4a9eff;transition:width .3s ease;border-radius:2px;width:var(--progress-width,0)}.job-intro-digital-human-wrapper .vrm-avatar--placeholder{cursor:pointer;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.05);border-radius:8px;min-height:300px;transition:background-color .2s}.job-intro-digital-human-wrapper .vrm-avatar--placeholder:hover{background-color:rgba(0,0,0,.1)}.job-intro-digital-human-wrapper .vrm-avatar-placeholder-content{text-align:center;color:#666}.job-intro-digital-human-wrapper .vrm-avatar-placeholder-icon{font-size:48px;margin-bottom:16px}.job-intro-digital-human-wrapper .vrm-avatar-placeholder-title{font-size:14px;margin-bottom:8px}.job-intro-digital-human-wrapper .vrm-avatar-placeholder-desc{font-size:12px;color:#999}.job-intro-video{width:100%;height:100%;display:block;-o-object-fit:contain;object-fit:contain}.course-content-section,.job-desc-section,.job-requirements-section{padding:16px 20px;border-bottom:1px solid #f3f4f6}.section-title{font-size:1rem;font-weight:600;color:#000;margin:0 0 12px}.course-content,.job-desc,.job-requirements{color:#374151;font-size:.9rem;line-height:1.6;white-space:pre-line}.course-contact-section,.job-contact-section{padding:16px 20px;border-bottom:1px solid #f3f4f6}.contact-info{display:flex;flex-direction:column;gap:8px}.contact-item{display:flex;align-items:center;gap:8px}.contact-label{color:#6b7280;font-size:.9rem;min-width:70px}.contact-value{color:#374151;font-size:.9rem;font-weight:500}.contact-value.phone-link{color:#3b82f6;text-decoration:none}.contact-value.phone-link:hover{text-decoration:underline}.course-actions,.job-actions{padding:20px;display:flex;gap:12px}.action-button{flex:1;padding:12px 16px;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.action-button.primary{background:#3b82f6;color:#fff}.action-button.primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.action-button.primary:disabled{background:#9ca3af;cursor:not-allowed}.action-button.secondary{background:#f3f4f6;color:#374151}.action-button.secondary:hover{background:#e5e7eb;transform:translateY(-1px)}@media (max-width:767px){.course-detail-container,.job-detail-container{padding-bottom:100px;min-width:100vw}.detail-header{padding:12px 12px 8px}.course-detail-card,.job-detail-card{margin:12px}.course-hero-section,.job-hero-section{padding:20px 16px 16px}.course-name,.job-name{font-size:1.3rem}.course-contact-section,.course-content-section,.course-info-section,.job-contact-section,.job-desc-section,.job-info-section,.job-requirements-section{padding:12px 16px}.course-actions,.job-actions{padding:16px;flex-direction:column}.action-button{width:100%}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:400px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 25px rgba(0,0,0,.2);animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 0;border-bottom:1px solid #f0f0f0;margin-bottom:20px}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.modal-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background-color:#f5f5f5;color:#666}.modal-body{padding:0 20px 20px}.course-info{margin-bottom:24px}.course-info h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#333;line-height:1.4}.school-name{margin:0 0 12px;color:#666;font-size:14px}.course-details{background:#f8f9fa;padding:12px;border-radius:8px;border-left:4px solid #1890ff}.course-details p{margin:0 0 8px;font-size:14px;line-height:1.5}.course-details p:last-child{margin-bottom:0}.contact-info{margin-bottom:4px}.contact-info h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#333}.contact-info p{margin:0 0 8px;font-size:14px;line-height:1.5}.phone-section{background:#f0f8ff;padding:12px;border-radius:8px;border:1px solid #d6e4ff;margin-top:8px}.call-btn{background:#1890ff;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;margin-top:8px;width:100%;transition:all .2s ease}.call-btn:hover{background:#40a9ff;transform:translateY(-1px)}.no-phone{color:#999;font-style:italic;background:#f5f5f5;padding:8px 12px;border-radius:6px;margin:0}.apply-tips{background:#fff7e6;padding:16px;border-radius:8px;border-left:4px solid #faad14}.apply-tips h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#333}.apply-tips ul{margin:0;padding-left:20px}.apply-tips li{margin:0 0 6px;font-size:14px;line-height:1.5;color:#666}.apply-tips li:last-child{margin-bottom:0}.modal-footer{padding:0 20px 20px;display:flex;justify-content:flex-end}.btn-secondary{background:#f5f5f5;color:#666;border:1px solid #d9d9d9;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#e6e6e6;border-color:#bfbfbf}@media (max-width:480px){.modal-overlay{padding:10px}.modal-content{max-height:85vh}.modal-body,.modal-footer,.modal-header{padding-left:16px;padding-right:16px}.modal-header{padding-top:16px}.modal-footer{padding-bottom:16px}}.jobs-footer .jobs-actions{display:flex;flex-direction:column;gap:8px;min-width:120px}.job-info{margin-bottom:20px}.job-info h4{font-size:1.2rem;font-weight:700;color:#000;margin-bottom:8px}.company-name{font-size:1rem;color:#6b7280;margin-bottom:12px}.job-details{background-color:#f8f9fa;padding:12px;border-radius:8px;margin-bottom:16px}.job-details p{margin:4px 0;font-size:.9rem;color:#374151}