@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{--primary:#36d399;--primary-dark:#2bb882;--primary-light:#ecfdf5;--blue:#004098;--blue-dark:#003580;--blue-light:#e8f0fa;--red:#c8161d;--bg:#f5f6f8;--card:#fff;--text:#333;--text-secondary:#666;--text-muted:#999;--border:#e8e8e8;--container:1200px;--radius:6px;--shadow:0 2px 12px #00000014}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text);background:var(--bg);font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{max-width:var(--container);margin:0 auto;padding:0 16px}.pc-login{background:linear-gradient(160deg, var(--blue-dark) 0%, var(--blue) 50%, #1a6bb5 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-page-inner{align-items:center;gap:60px;max-width:960px;padding:24px;display:flex}.login-brand{color:#fff;flex:1}.login-brand img{background:#fff;border-radius:12px;max-width:260px;margin-bottom:24px;padding:14px 18px}.login-brand h1{margin-bottom:8px;font-size:26px;font-weight:700}.login-brand p{opacity:.88;font-size:15px}.login-box{background:#fff;border-radius:8px;width:380px;padding:36px 32px;box-shadow:0 12px 40px #0003}.login-box h2{color:var(--primary-dark);margin-bottom:24px;font-size:20px}.login-tabs{border-bottom:2px solid var(--border);margin-bottom:20px;display:flex}.login-tab{color:var(--text-secondary);border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:10px;font-size:14px}.login-tab.active{color:var(--primary-dark);border-bottom-color:var(--primary);font-weight:600}.form-group{margin-bottom:16px}.form-group label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;display:block}.form-input{border-radius:var(--radius);border:1px solid #d9d9d9;width:100%;height:40px;padding:0 12px;font-size:14px}.login-captcha-row{align-items:center;gap:12px;display:flex}.login-captcha-row .form-input{flex:1}.login-captcha-image{object-fit:cover;cursor:pointer;border-radius:4px;width:120px;height:40px}.form-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #36d39926}.btn-login{background:var(--primary);color:#fff;border-radius:var(--radius);width:100%;height:42px;margin-top:8px;font-size:15px;font-weight:600}.btn-login:hover{background:var(--primary-dark)}.pc-shell{flex-direction:column;min-height:100vh;display:none}.pc-shell.active{display:flex}.top-bar{color:var(--text-secondary);background:#f0f0f0;border-bottom:1px solid #e0e0e0;font-size:12px}.top-bar-inner{justify-content:space-between;align-items:center;height:32px;display:flex}.top-bar-links{align-items:center;gap:16px;display:flex}.top-bar-branch{color:var(--text-secondary)}.top-bar-user{color:var(--text);font-weight:500}.top-bar a:hover{color:var(--primary-dark)}.top-logout{color:var(--text-secondary);font-size:12px}.top-logout:hover{color:var(--red)}.site-header{border-bottom:1px solid var(--border);background:#fff}.site-header-inner{justify-content:space-between;align-items:center;gap:24px;height:72px;display:flex}.site-logo-wrap{flex-shrink:0;align-items:center;display:inline-flex}.site-logo{align-items:center;display:inline-flex}.site-logo img{object-fit:contain;width:auto;max-width:420px;height:48px;display:block}.site-logo--study img{max-width:360px;height:40px}.site-logo--login img{width:100%;max-width:320px;height:auto}.login-brand .site-logo{margin-bottom:20px}.site-search{background:#fafafa;border:1px solid #d9d9d9;border-radius:20px;flex:1;max-width:420px;height:40px;display:flex;overflow:hidden}.site-search input{background:0 0;border:none;flex:1;padding:0 16px;font-size:13px}.site-search input:focus{outline:none}.site-search button{background:var(--primary);color:#fff;width:48px;font-size:16px}.main-nav{background:var(--blue)}.main-nav-inner{height:48px;display:flex}.nav-link{color:#ffffffe0;flex:1;justify-content:center;align-items:center;font-size:15px;font-weight:500;transition:background .15s;display:flex}.nav-link:hover{color:#fff;background:#ffffff1a}.nav-link.active{background:var(--primary);color:#fff;font-weight:600}.portal-main{flex:1;padding-bottom:40px}.hero-block{background:#fff;margin-bottom:0;padding:16px 0 0}.hero-row{grid-template-columns:1fr 280px;align-items:stretch;gap:16px;display:grid}.hero-banner{border-radius:var(--radius);background:linear-gradient(135deg, #1a5fb4 0%, var(--blue) 100%);color:#fff;align-items:flex-end;height:280px;padding:32px;display:flex;position:relative;overflow:hidden}.hero-banner:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 400'%3E%3Cpath fill='rgba(255,255,255,0.06)' d='M0 300 L200 200 L400 280 L600 150 L800 250 L800 400 L0 400Z'/%3E%3C/svg%3E") bottom/cover no-repeat;position:absolute;inset:0}.hero-banner h2{max-width:80%;font-size:26px;font-weight:700;line-height:1.4;position:relative}.hero-dots{gap:8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.hero-dots span{background:#fff6;border-radius:50%;width:8px;height:8px}.hero-dots span.active{background:#fff;border-radius:4px;width:20px}.user-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;padding:20px 16px;display:flex}.user-panel-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.user-avatar{background:linear-gradient(135deg, #5b9fed, var(--primary));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:20px;font-weight:700;display:flex}.user-panel-head h4{margin-bottom:2px;font-size:16px}.user-panel-head p{color:var(--text-muted);font-size:12px}.user-hours{text-align:center;background:var(--primary-light);border-radius:var(--radius);margin-bottom:16px;padding:12px}.user-hours .num{color:var(--primary-dark);font-size:28px;font-weight:700}.user-hours .lbl{color:var(--text-secondary);font-size:12px}.user-task-title{color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:600}.user-task-empty{text-align:center;color:var(--text-muted);padding:16px 0;font-size:13px}.btn-go-study{background:var(--primary);color:#fff;border-radius:var(--radius);width:100%;height:36px;margin-top:auto;font-size:14px;font-weight:600}.btn-go-study:hover{background:var(--primary-dark)}.notice-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:12px;height:40px;margin-top:16px;font-size:13px;display:flex}.notice-bar .label{background:var(--red);color:#fff;border-radius:2px;flex-shrink:0;padding:2px 10px;font-size:12px}.notice-bar .text{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.notice-bar .text:hover{color:var(--primary-dark)}.notice-bar .more{color:var(--primary-dark);flex-shrink:0;font-size:13px}.section-block{padding:24px 0 8px}.section-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-title{color:var(--text);align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.section-title:before{content:"";background:var(--red);border-radius:2px;width:4px;height:20px}.section-more{color:var(--text-muted);font-size:13px}.section-more:hover{color:var(--primary-dark)}.job-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.job-card{border-radius:var(--radius);color:#fff;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;height:100px;font-size:15px;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.job-card.has-cover{background:#eef1f5;justify-content:flex-end;align-items:flex-start}.job-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.job-card .icon{opacity:.9;margin-bottom:6px;font-size:28px}.home-card-cover{object-fit:cover;width:100%;height:100%;display:block}.job-card .home-card-cover,.topic-card .home-card-cover,.course-thumb .home-card-cover,.offline-cover .home-card-cover{position:absolute;inset:0}.job-card-title{z-index:1;position:relative}.job-card.has-cover .job-card-title{text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#0000,#000000b8);width:100%;padding:28px 12px 10px;overflow:hidden}.job-red{background:linear-gradient(135deg,#d4380d,#c8161d)}.job-blue{background:linear-gradient(135deg, #1a4a8a, var(--blue))}.job-brown{background:linear-gradient(135deg,#8b6914,#a67c00)}.job-green{background:linear-gradient(135deg,#237804,#389e0d)}.job-cyan{background:linear-gradient(135deg,#08979c,#13c2c2)}.topic-row{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.topic-card{background:var(--blue);color:#fff;border-radius:var(--radius);cursor:pointer;align-items:center;min-height:88px;padding:20px 16px;font-size:14px;font-weight:600;line-height:1.5;transition:background .15s;display:flex;position:relative;overflow:hidden}.topic-card.has-cover{background:#eef1f5;align-items:flex-end;padding:0}.topic-card-title{z-index:1;position:relative}.topic-card.has-cover .topic-card-title{background:linear-gradient(#0000,#000000b8);width:100%;padding:30px 14px 12px}.topic-card:hover{background:var(--blue-dark)}.topic-card.has-cover:hover .home-card-cover,.course-item:hover .home-card-cover,.offline-card:hover .home-card-cover{transform:scale(1.04)}.course-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.course-item{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;transition:box-shadow .15s;overflow:hidden}.course-item:hover{box-shadow:var(--shadow)}.course-thumb{color:#fff;align-items:flex-end;height:120px;padding:12px;font-size:13px;font-weight:600;line-height:1.4;display:flex;position:relative;overflow:hidden}.course-thumb-title{z-index:1;position:relative}.course-thumb .home-card-cover,.topic-card .home-card-cover,.offline-cover .home-card-cover{transition:transform .25s}.course-thumb .tag{z-index:2;color:#fff;background:#00000073;border-radius:2px;padding:2px 8px;font-size:11px;position:absolute;top:8px;right:8px}.thumb-red{background:linear-gradient(160deg,#a8071a,#cf1322)}.thumb-blue{background:linear-gradient(160deg,#003a8c,#1890ff)}.thumb-gray{background:linear-gradient(160deg,#434343,#8c8c8c)}.course-caption{min-height:52px;padding:10px 12px;font-size:13px;line-height:1.5}.offline-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.offline-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:box-shadow .15s;overflow:hidden}.offline-card:hover{box-shadow:var(--shadow)}.offline-cover{background:#eef1f5;height:120px;position:relative;overflow:hidden}.offline-cover-title{z-index:1;color:#fff;background:linear-gradient(#0000,#000000b8);padding:30px 14px 12px;font-size:14px;font-weight:600;line-height:1.4;position:absolute;bottom:0;left:0;right:0}.offline-head{background:var(--blue);color:#fff;min-height:64px;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.4}.offline-body{color:var(--text-secondary);padding:12px 14px;font-size:12px;line-height:1.8}.offline-page{background:#f5f6f8;min-height:60vh;padding:20px 0 40px}.offline-recommend{margin-bottom:16px;padding:16px 20px 20px}.offline-recommend-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.offline-recommend-head h2{align-items:center;gap:6px;font-size:16px;font-weight:600;display:flex}.offline-recommend-icon{color:var(--primary)}.offline-recommend-nav{gap:8px;display:flex}.offline-recommend-nav button{border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-muted);background:#fff;border-radius:50%;font-size:18px;line-height:1}.offline-recommend-nav button:hover{border-color:var(--blue);color:var(--blue)}.offline-recommend-track{scroll-behavior:smooth;gap:14px;padding-bottom:4px;display:flex;overflow-x:auto}.offline-recommend-track::-webkit-scrollbar{height:4px}.offline-recommend-card{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;flex:0 0 220px;position:relative;overflow:hidden}.offline-list-section{padding:0 0 20px}.offline-list-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.offline-list-tabs{gap:24px;display:flex}.offline-list-tabs button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:4px 0;font-size:14px}.offline-list-tabs button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.offline-list-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.offline-sort-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:13px}.offline-sort-btn:hover{color:var(--blue)}.offline-filter-select select{border-radius:var(--radius);height:32px;color:var(--text-secondary);background:#fff;border:1px solid #d9d9d9;padding:0 28px 0 12px;font-size:13px}.offline-list-grid{grid-template-columns:repeat(5,1fr);gap:14px;padding:20px;display:grid}.offline-list-card,.offline-recommend-card{transition:box-shadow .15s}.offline-list-card:hover,.offline-recommend-card:hover{box-shadow:var(--shadow)}.offline-card-thumb{text-align:center;justify-content:center;align-items:center;height:100px;padding:12px;display:flex;position:relative}.offline-thumb-red{background:linear-gradient(135deg,#c0392b,#e74c3c)}.offline-thumb-blue{background:linear-gradient(135deg,#003a8c,#1890ff)}.offline-thumb-purple{background:linear-gradient(135deg,#5b4b8a,#8e44ad)}.offline-thumb-gray{background:linear-gradient(135deg,#555,#888)}.offline-card-badge{color:#fff;background:#00000073;border-radius:2px;padding:2px 8px;font-size:11px;position:absolute;top:8px;right:8px}.offline-card-thumb-title{color:#fff;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.offline-card-info{background:#fff;padding:10px 12px 12px}.offline-card-info h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px;margin-bottom:6px;font-size:13px;font-weight:600;line-height:1.5;display:-webkit-box;overflow:hidden}.offline-card-date{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;font-size:12px;line-height:1.5;overflow:hidden}.offline-card-foot{justify-content:space-between;align-items:center;font-size:12px;display:flex}.offline-card-users{color:var(--text-muted)}.offline-card-status{font-weight:500}.offline-card-status.pending{color:#f5a623}.offline-card-status.enrolled{color:var(--blue)}.offline-card-status.done{color:var(--text-muted)}.offline-list-card{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;position:relative;overflow:hidden}.offline-card-hover{color:#fff;opacity:0;pointer-events:none;background:#0040988c;justify-content:center;align-items:center;font-size:28px;transition:opacity .2s;display:flex;position:absolute;inset:0}.offline-list-card:hover .offline-card-hover,.offline-recommend-card:hover .offline-card-hover{opacity:1}.offline-detail-page{background:#f0f2f5}.offline-detail-tags{align-items:center;gap:10px;margin-top:8px;display:flex}.offline-detail-status-tag{color:var(--text-secondary);background:#f0f0f0;border-radius:4px;padding:2px 10px;font-size:12px}.offline-detail-status-tag.pending{color:#e67e22;background:#fff3e0}.offline-detail-status-tag.certified{color:#2e7d32;background:#e8f5e9}.offline-graduation-status{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.offline-graduation-score{color:var(--text-secondary);font-size:14px}.offline-graduation-hint{color:var(--text-muted);margin:0 0 14px;font-size:13px;line-height:1.6}.offline-graduation-actions{gap:10px;display:flex}.offline-detail-short-date{color:var(--text-muted);font-size:13px}.offline-detail-banner{aspect-ratio:16/9;text-align:center;justify-content:center;align-items:center;padding:24px;display:flex;position:relative}.offline-detail-banner .offline-card-badge{top:12px;right:12px}.offline-detail-banner-title{color:#fff;max-width:80%;font-size:18px;font-weight:600;line-height:1.5}.offline-detail-quota{color:#ccc;font-size:13px}.offline-notice-list{color:var(--text-secondary);font-size:13px;line-height:1.8;list-style:none}.offline-notice-list li{border-bottom:1px dashed var(--border);padding:8px 0}.offline-notice-list li:last-child{border-bottom:none}.offline-info-grid dt,.offline-info-grid dd{font-size:13px}.offline-detail-info-stack{flex-direction:column;gap:16px;display:flex}.offline-intro-full{grid-column:1/-1}.offline-intro-full dd{color:var(--text-secondary);line-height:1.7}.offline-detail-quota-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.offline-detail-register-btn{padding:6px 18px;font-size:13px}.school-block{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:320px 1fr;gap:20px;display:grid;overflow:hidden}.school-photo{background:linear-gradient(135deg, #597ef7, var(--blue)) center/cover;background-image:linear-gradient(135deg,#0040984d,#00409899);background-position:50%;background-size:cover;height:200px}.school-list{padding:16px 20px}.school-list li{border-bottom:1px dashed var(--border);color:var(--text-secondary);cursor:pointer;padding:10px 0;font-size:13px;list-style:none}.school-list li:hover{color:var(--primary-dark)}.school-list li:last-child{border-bottom:none}.link-row{flex-wrap:wrap;align-items:center;gap:24px;padding:20px 0;display:flex}.link-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);height:40px;color:var(--text-secondary);align-items:center;padding:0 16px;font-size:12px;display:flex}.subpage{padding:24px 0}.subpage-head{margin-bottom:20px}.subpage-head h2{color:var(--primary-dark);margin-bottom:6px;font-size:22px}.breadcrumb{color:var(--text-muted);font-size:12px}.breadcrumb a{color:var(--primary-dark)}.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;box-shadow:0 1px 4px #0000000a}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.panel-head h3{font-size:15px;font-weight:600}.panel-body{padding:16px 20px 20px}.overview-box{background:var(--primary-light);border-left:4px solid var(--primary);color:var(--text-secondary);margin-bottom:16px;padding:14px 18px;font-size:14px;line-height:1.7}.detail-meta{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);gap:16px 24px;margin-bottom:16px;padding:16px 20px;display:grid}.detail-meta dt{color:var(--text-muted);margin-bottom:4px;font-size:12px}.detail-meta dd{color:var(--text);margin:0;font-size:14px}.detail-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.filter-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.filter-tab{color:var(--text-secondary);background:#f5f5f5;border-radius:20px;padding:6px 16px;font-size:13px}.filter-tab.active{background:var(--primary);color:#fff}.filter-bar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.filter-bar input{border-radius:var(--radius);border:1px solid #d9d9d9;min-width:180px;height:34px;padding:0 12px;font-size:13px}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:12px 10px}.data-table th{color:var(--text-secondary);background:#fafafa;font-weight:600}.data-table tr:hover td{background:#fafafa}.tag{border-radius:2px;padding:2px 8px;font-size:11px;display:inline-block}.tag-blue,.tag-green{background:var(--primary-light);color:var(--primary-dark)}.tag-orange{color:#d46b08;background:#fff7e6}.btn-outline{border:1px solid var(--primary);height:34px;color:var(--primary-dark);border-radius:var(--radius);background:#fff;padding:0 16px;font-size:13px}.btn-outline:hover{background:var(--primary-light)}.btn-primary-inline{background:var(--primary);color:#fff;border-radius:var(--radius);height:34px;padding:0 16px;font-size:13px}.btn-primary-inline:hover{background:var(--primary-dark)}.action-link{color:var(--primary-dark);cursor:pointer;margin-right:12px;font-size:13px}.action-link:hover{text-decoration:underline}.feature-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.feature-item{border:1px solid var(--border);border-radius:var(--radius);padding:14px}.feature-item h4{margin-bottom:6px;font-size:14px}.feature-item p{color:var(--text-muted);font-size:12px;line-height:1.6}.study-layout{grid-template-columns:1fr 300px;gap:16px;display:grid}.video-area{border-radius:var(--radius);color:#fff;background:#111;justify-content:center;align-items:center;height:420px;font-size:15px;display:flex}.chat-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);flex-direction:column;height:420px;display:flex}.chat-panel-head{border-bottom:1px solid var(--border);padding:12px 16px;font-weight:600}.chat-msgs{flex:1;padding:12px;font-size:13px;overflow-y:auto}.chat-msg{background:#f5f5f5;border-radius:6px;margin-bottom:8px;padding:8px 10px}.chat-input{border-top:1px solid var(--border);gap:8px;padding:12px;display:flex}.chat-input input{border-radius:var(--radius);border:1px solid #ddd;flex:1;height:34px;padding:0 10px}.profile-grid{grid-template-columns:260px 1fr;gap:16px;display:grid}.profile-side{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:28px 20px}.profile-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.profile-stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:16px}.profile-stat .num{color:var(--primary-dark);font-size:24px;font-weight:700}.profile-stat .lbl{color:var(--text-muted);margin-top:4px;font-size:12px}.profile-page{background:var(--bg);padding:20px 0 48px}.profile-user-card{justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:24px 28px;display:flex}.profile-user-info{align-items:center;gap:16px;min-width:0;display:flex}.profile-avatar{flex-shrink:0;width:64px;height:64px;font-size:24px}.profile-user-name{margin-bottom:8px;font-size:16px;font-weight:600}.profile-user-meta p{color:var(--text-secondary);font-size:13px;line-height:1.6}.profile-user-stats{flex-shrink:0;align-items:stretch;display:flex}.profile-user-stat{align-items:stretch;display:flex}.profile-stat-divider{background:var(--border);width:1px;margin:4px 20px}.profile-stat-inner{text-align:center;min-width:100px;padding:0 8px}.profile-stat-num{color:var(--text);font-size:22px;font-weight:700;line-height:1.2}.profile-stat-lbl{color:var(--text-muted);white-space:nowrap;margin-top:6px;font-size:12px}.profile-main-layout{grid-template-columns:180px 1fr 240px;min-height:520px;display:grid;overflow:hidden}.profile-nav{border-right:1px solid var(--border);padding:16px 0}.profile-nav-head{border-bottom:1px solid var(--border);margin-bottom:8px;padding:0 16px 12px;font-size:14px;font-weight:600}.profile-nav-list{list-style:none}.profile-nav-btn{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:10px 16px;font-size:13px;display:flex}.profile-nav-btn:hover{background:#f5f7fa}.profile-nav-btn.active,.profile-nav-item.active>.profile-nav-btn{background:var(--blue-light);color:var(--blue);font-weight:600}.profile-nav-arrow{color:var(--text-muted);width:12px;font-size:10px}.profile-nav-sub{padding-left:28px;list-style:none}.profile-nav-sub button{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 16px 8px 0;font-size:13px;display:block}.profile-nav-sub button:hover{color:var(--blue)}.profile-content{border-right:1px solid var(--border);flex-direction:column;min-width:0;display:flex}.profile-task-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex}.profile-task-tabs{gap:0;display:flex}.profile-task-tabs button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:14px 18px;font-size:13px}.profile-task-tabs button:hover{color:var(--blue)}.profile-task-tabs button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.profile-task-filters{gap:8px;padding:8px 0;display:flex}.profile-filter-select{border:1px solid var(--border);border-radius:var(--radius);height:32px;color:var(--text-secondary);cursor:pointer;background:#fff;padding:0 28px 0 10px;font-size:12px}.profile-task-body{flex:1;justify-content:center;align-items:center;min-height:360px;display:flex}.profile-todo-aside{padding:16px}.profile-todo-title{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:10px;font-size:14px;font-weight:600}.profile-todo-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.profile-todo-item{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fafafa;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:56px;padding:10px 6px;transition:border-color .15s,background .15s;display:flex}.profile-todo-item:hover{border-color:var(--blue);background:var(--blue-light)}.profile-todo-label{color:var(--text-secondary);text-align:center;font-size:12px;line-height:1.3}.profile-todo-count{color:var(--text);font-size:14px;font-weight:700}.profile-section{flex-direction:column;flex:1;min-height:0;display:flex}.profile-nav-sub button.active{color:var(--blue);font-weight:600;position:relative}.profile-nav-sub button.active:before{content:"";background:var(--blue);border-radius:2px;width:3px;height:14px;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.profile-sort-btn{height:32px;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;padding:0 10px;font-size:12px}.profile-sort-btn:hover{color:var(--blue);border-color:var(--blue)}.profile-tab-tip{color:var(--text-muted);margin-left:2px;font-size:11px}.profile-learning-list{padding:0 16px 16px}.profile-learning-item{border-bottom:1px dashed var(--border);align-items:center;gap:16px;padding:16px 0;display:flex}.profile-learning-item:last-child{border-bottom:none}.profile-learning-thumb{border-radius:var(--radius);background:linear-gradient(135deg,#667eea,#764ba2);flex-shrink:0;width:160px;height:90px}.profile-learning-thumb.thumb-red{background:linear-gradient(135deg,#e74c3c,#c0392b)}.profile-learning-thumb.thumb-gray{background:linear-gradient(135deg,#7f8c8d,#95a5a6)}.profile-learning-info{flex:1;min-width:0}.profile-learning-title{color:var(--blue);margin-bottom:6px;font-size:15px;font-weight:600;line-height:1.4}.profile-learning-sub{color:var(--text-muted);margin-bottom:8px;font-size:12px}.profile-learning-meta{color:var(--text-secondary);font-size:12px}.profile-learning-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.profile-learning-status{text-align:right}.profile-learning-status .status-text{font-size:13px;font-weight:600;display:block}.profile-learning-status .status-text.learning{color:var(--primary-dark)}.profile-learning-status .status-duration{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.profile-continue-btn{white-space:nowrap;padding:6px 16px;font-size:13px}.profile-home-task-list{min-height:360px;padding:0 16px 16px}.profile-home-task-list.empty{justify-content:center;align-items:center;display:flex}.profile-home-task-item{border-bottom:1px dashed var(--border);align-items:center;gap:16px;padding:16px 0;display:flex}.profile-home-task-item:last-child{border-bottom:none}.profile-home-task-thumb{border-radius:var(--radius);background:linear-gradient(135deg,#4a90d9,#357abd);flex-shrink:0;width:160px;height:90px}.profile-home-task-thumb.thumb-blue{background:linear-gradient(135deg,#4a90d9,#357abd)}.profile-home-task-info{flex:1;min-width:0}.profile-home-task-title{color:var(--text);margin-bottom:8px;font-size:15px;font-weight:600;line-height:1.5}.profile-home-task-source{color:var(--text-secondary);margin-bottom:8px;font-size:12px}.profile-home-task-tag{color:var(--text-muted);background:#f0f0f0;border-radius:4px;padding:2px 10px;font-size:12px;display:inline-block}.profile-home-detail-btn{color:var(--blue);border:1px solid var(--blue);border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:#fff;flex-shrink:0;padding:6px 18px;font-size:13px}.profile-home-detail-btn:hover{background:var(--blue-light)}.profile-class-list{min-height:360px;padding:0 16px 16px}.profile-class-list.empty{justify-content:center;align-items:center;display:flex}.profile-class-item{border-bottom:1px dashed var(--border);align-items:center;gap:16px;padding:16px 0;display:flex}.profile-class-item:last-child{border-bottom:none}.profile-class-thumb{border-radius:var(--radius);background:linear-gradient(135deg,#667eea,#764ba2);flex-shrink:0;width:160px;height:90px;position:relative}.profile-class-thumb.job-list-red{background:linear-gradient(135deg,#e74c3c,#c0392b)}.profile-class-thumb.job-list-blue{background:linear-gradient(135deg,#3498db,#2980b9)}.profile-class-thumb.job-list-green{background:linear-gradient(135deg,#27ae60,#1e8449)}.profile-class-thumb.job-list-brown{background:linear-gradient(135deg,#8e6b4a,#6d4c33)}.profile-class-thumb.job-list-cyan{background:linear-gradient(135deg,#13c2c2,#08979c)}.profile-class-thumb.offline-thumb-blue{background:linear-gradient(135deg,#4a90d9,#357abd)}.profile-class-thumb.offline-thumb-red{background:linear-gradient(135deg,#e74c3c,#c0392b)}.profile-class-thumb.offline-thumb-gray{background:linear-gradient(135deg,#7f8c8d,#95a5a6)}.profile-class-type-tag{color:#fff;background:#00000073;border-radius:4px;padding:2px 8px;font-size:11px;position:absolute;top:8px;left:8px}.profile-class-info{flex:1;min-width:0}.profile-class-title{color:var(--text);margin-bottom:8px;font-size:15px;font-weight:600;line-height:1.5}.profile-class-meta{color:var(--text-secondary);flex-direction:column;gap:4px;margin-bottom:8px;font-size:12px;display:flex}.profile-class-status-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.profile-class-status{color:var(--blue);background:#e8f4fd;border-radius:4px;padding:2px 10px;font-size:12px}.profile-class-status.done{color:var(--text-muted);background:#f0f0f0}.profile-class-progress{color:var(--primary-dark);font-size:12px}.profile-cert-tabs{flex-wrap:wrap}.profile-archive{padding:0 16px 16px;overflow-x:auto}.profile-archive-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.profile-archive-dates{align-items:center;gap:8px;padding:8px 0;display:flex}.profile-date-input{border:1px solid var(--border);border-radius:var(--radius);height:32px;padding:0 8px;font-size:12px}.profile-date-sep{color:var(--text-muted);font-size:12px}.profile-archive-note{color:var(--text-muted);padding:10px 0;font-size:12px}.profile-archive-summary{border:1px solid var(--border);border-radius:var(--radius);background:#fafafa;grid-template-columns:repeat(5,1fr);gap:0;margin-bottom:16px;display:grid}.profile-archive-summary-item{text-align:center;border-right:1px solid var(--border);padding:14px 8px}.profile-archive-summary-item:last-child{border-right:none}.profile-archive-summary-val{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:600}.profile-archive-summary-lbl{color:var(--text-muted);font-size:12px}.profile-archive-type-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:0;margin-bottom:12px;display:flex;overflow-x:auto}.profile-archive-type-tabs button{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:13px}.profile-archive-type-tabs button:hover{color:var(--blue)}.profile-archive-type-tabs button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.profile-archive-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.profile-archive-filter{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.profile-archive-filter input,.profile-archive-filter select{border:1px solid var(--border);border-radius:var(--radius);min-width:160px;height:32px;padding:0 10px;font-size:13px}.profile-export-btn{margin-left:auto;padding:6px 20px;font-size:13px}.profile-table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.profile-data-table{border-collapse:collapse;width:100%;min-width:960px;font-size:12px}.profile-data-table th,.profile-data-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px 12px}.profile-data-table th{color:var(--text-secondary);background:#fafafa;font-weight:600}.profile-data-table tbody tr:hover{background:#f9fbfd}.profile-table-link{color:var(--blue);white-space:normal;max-width:200px;line-height:1.4}.help-list .help-item{border-bottom:1px solid var(--border);padding:16px 0}.help-q{margin-bottom:8px;font-weight:600}.help-a{color:var(--text-secondary);font-size:13px;line-height:1.7}.site-footer{border-top:1px solid var(--border);background:#fff;margin-top:auto;padding:24px 0}.footer-links{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;font-size:13px;display:flex}.footer-links a:hover{color:var(--primary-dark)}.footer-copy{color:var(--text-muted);text-align:center;font-size:12px}.float-toolbar{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:80px;right:24px}.float-toolbar button{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:44px;height:44px;box-shadow:var(--shadow);color:var(--primary-dark);font-size:16px}.float-toolbar button:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.float-toolbar-ai{letter-spacing:-.5px;font-size:13px;font-weight:700}.float-toolbar-ai.active{background:var(--primary);color:#fff;border-color:var(--primary)}.ai-assistant-panel{z-index:101;background:#fff;border-radius:8px;flex-direction:column;width:360px;height:480px;display:flex;position:fixed;bottom:80px;right:80px;overflow:hidden;box-shadow:0 8px 32px #00000026}.ai-assistant-head{background:linear-gradient(135deg, var(--blue) 0%, #1a6bb5 100%);color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.ai-assistant-title{font-size:15px;font-weight:600}.ai-assistant-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:4px;width:28px;height:28px;font-size:18px;line-height:1}.ai-assistant-close:hover{background:#ffffff40}.ai-assistant-msgs{background:#f7f8fa;flex:1;padding:16px;overflow-y:auto}.ai-assistant-msg{align-items:flex-start;gap:8px;margin-bottom:14px;display:flex}.ai-assistant-msg.user{flex-direction:row-reverse}.ai-assistant-avatar{background:var(--blue);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex}.ai-assistant-msg.user .ai-assistant-avatar{background:var(--primary-dark);font-size:11px}.ai-assistant-bubble{max-width:75%;color:var(--text);background:#fff;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.6;box-shadow:0 1px 4px #0000000f}.ai-assistant-msg.user .ai-assistant-bubble{background:var(--primary-light);color:var(--text)}.ai-assistant-bubble.typing{align-items:center;gap:4px;padding:12px 16px;display:flex}.ai-assistant-bubble.typing span{background:#bbb;border-radius:50%;width:6px;height:6px;animation:1.2s infinite ai-typing}.ai-assistant-bubble.typing span:nth-child(2){animation-delay:.2s}.ai-assistant-bubble.typing span:nth-child(3){animation-delay:.4s}@keyframes ai-typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.ai-assistant-input{border-top:1px solid var(--border);background:#fff;flex-shrink:0;gap:8px;padding:12px 14px;display:flex}.ai-assistant-input input{border-radius:var(--radius);border:1px solid #d9d9d9;flex:1;height:36px;padding:0 12px;font-size:13px}.ai-assistant-input input:focus{border-color:var(--blue);outline:none}.ai-assistant-send{border-radius:var(--radius);background:var(--blue);color:#fff;cursor:pointer;border:none;flex-shrink:0;height:36px;padding:0 16px;font-size:13px}.ai-assistant-send:hover:not(:disabled){opacity:.9}.ai-assistant-send:disabled{opacity:.5;cursor:not-allowed}.ai-panel-fade-enter-active,.ai-panel-fade-leave-active{transition:opacity .2s,transform .2s}.ai-panel-fade-enter-from,.ai-panel-fade-leave-to{opacity:0;transform:translateY(12px)}@media (width<=480px){.ai-assistant-panel{width:auto;height:420px;bottom:80px;left:16px;right:16px}}.progress-bar{background:#f0f0f0;border-radius:4px;height:8px;overflow:hidden}.progress-bar .fill{background:linear-gradient(90deg, var(--primary), var(--primary-dark));border-radius:4px;height:100%;transition:width .3s}.progress-cell{min-width:120px}.progress-cell>span{color:var(--primary-dark);margin-bottom:4px;font-size:12px;display:block}.study-progress{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:14px 16px}.study-progress-head{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.study-progress-head strong{color:var(--primary-dark);font-size:15px}.notice-page{background:#fff;min-height:calc(100vh - 200px);padding:0 0 40px}.notice-page-inner{padding-top:0}.notice-cat-filter{color:var(--text-secondary);border-bottom:1px solid #f0f0f0;align-items:center;padding:20px 0 18px;font-size:14px;display:flex}.notice-cat-filter .cat-label{color:var(--text);margin-right:2px}.notice-cat-item{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-left:18px;padding:0;font-size:14px;transition:color .15s}.notice-cat-item:hover{color:var(--primary-dark)}.notice-cat-item.active{color:var(--primary-dark);font-weight:600}.notice-list{padding:0}.notice-list-item{cursor:pointer;border-bottom:1px dashed #d9d9d9;gap:24px;padding:28px 0;transition:background .15s;display:flex}.notice-list-item:hover{background:#fafafa}.notice-list-item:hover .notice-list-title{color:var(--primary-dark)}.notice-thumb{background:#e8e8e8 50%/cover no-repeat;border:1px solid #eee;border-radius:2px;flex-shrink:0;width:220px;height:132px;overflow:hidden}.notice-thumb-1{background-image:linear-gradient(160deg,#0040981f,#0040980a),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 132'%3E%3Crect fill='%23c8d6e5' width='220' height='132'/%3E%3Crect fill='%23fff' x='40' y='36' width='140' height='72'/%3E%3Crect fill='%23a4b0be' x='50' y='46' width='28' height='52'/%3E%3Crect fill='%23a4b0be' x='86' y='46' width='28' height='52'/%3E%3Crect fill='%23a4b0be' x='122' y='46' width='28' height='52'/%3E%3C/svg%3E")}.notice-thumb-2{background-image:linear-gradient(160deg,#36d3991a,#0040980f),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 132'%3E%3Crect fill='%23dfe6e9' width='220' height='132'/%3E%3Cpath fill='%23b2bec3' d='M0 88 L66 55 L132 77 L220 44 L220 132 L0 132Z'/%3E%3Crect fill='%2374869a' x='78' y='38' width='64' height='48'/%3E%3C/svg%3E")}.notice-thumb-3{background-image:linear-gradient(160deg,#00409814,#36d39914),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 132'%3E%3Crect fill='%23ecf0f1' width='220' height='132'/%3E%3Crect fill='%2395a5a6' x='55' y='32' width='110' height='76'/%3E%3Crect fill='%23bdc3c7' x='66' y='44' width='22' height='28'/%3E%3Crect fill='%23bdc3c7' x='98' y='44' width='22' height='28'/%3E%3Crect fill='%23bdc3c7' x='130' y='44' width='22' height='28'/%3E%3C/svg%3E")}.notice-thumb-4{background-image:linear-gradient(160deg,#0040981a,#0000000a),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 132'%3E%3Crect fill='%23dcdde1' width='220' height='132'/%3E%3Crect fill='%23fff' x='22' y='28' width='176' height='88'/%3E%3Crect fill='%237f8c8d' x='38' y='44' width='50' height='60'/%3E%3Crect fill='%237f8c8d' x='98' y='44' width='82' height='28'/%3E%3Crect fill='%237f8c8d' x='98' y='76' width='82' height='28'/%3E%3C/svg%3E")}.notice-thumb-notice{background:linear-gradient(135deg, var(--primary-light), #e8f0fa);justify-content:center;align-items:center;font-size:44px;display:flex}.notice-list-body{flex:1;min-width:0;padding-top:6px}.notice-list-title{color:var(--text);margin-bottom:16px;font-size:15px;font-weight:600;line-height:1.55;transition:color .15s}.notice-meta{color:var(--text-muted);flex-wrap:wrap;gap:18px 28px;font-size:12px;display:flex}.notice-meta--detail{justify-content:center;gap:16px 32px;margin-bottom:28px}.notice-meta-item{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.meta-icon{opacity:.55;background:50%/contain no-repeat;flex-shrink:0;width:14px;height:14px;display:inline-block}.meta-icon-time{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}.meta-icon-user{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c0-4 4-6 8-6s8 2 8 6'/%3E%3C/svg%3E")}.meta-icon-eye{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}.meta-icon-folder{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M3 7h6l2 2h10v10H3z'/%3E%3C/svg%3E")}.notice-detail-page{background:#fff;min-height:calc(100vh - 200px);padding:36px 0 56px}.notice-detail-inner{max-width:960px;margin:0 auto}.notice-detail-title{text-align:center;color:var(--text);margin-bottom:20px;padding:0 20px;font-size:22px;font-weight:700;line-height:1.55}.notice-detail-divider{border:none;border-top:1px dotted #ccc;margin:0 0 36px}.notice-detail-body{color:var(--text);text-align:justify;padding:0 8px;font-size:14px;line-height:2}.notice-detail-body h3{text-align:left;margin:28px 0 12px;font-size:15px;font-weight:700}.notice-detail-body h3:first-child{margin-top:0}.notice-detail-body p{text-indent:2em;margin-bottom:12px}.notice-detail-footer{border-top:1px solid #e8e8e8;margin-top:48px}.job-learning-page{background:#fff;min-height:calc(100vh - 200px);padding:24px 0 48px}.job-learning-title{color:var(--text);margin-bottom:24px;font-size:18px;font-weight:700}.job-category-grid{grid-template-columns:repeat(5,1fr);gap:20px;display:grid}.job-category-card{cursor:pointer;transition:transform .15s}.job-category-card:hover{transform:translateY(-2px)}.job-category-card:hover .job-category-name{color:var(--primary-dark)}.job-category-thumb{color:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;height:140px;margin-bottom:12px;display:flex;position:relative;overflow:hidden}.job-cover-image{object-fit:cover;width:100%;height:100%;display:block}.job-category-thumb.has-cover,.job-detail-hero-thumb.has-cover,.profile-class-thumb.has-cover{background:0 0}.job-category-tag{color:#fff;background:#00000073;border-radius:2px;padding:2px 8px;font-size:11px;position:absolute;top:8px;right:8px}.job-category-graphic{opacity:.95;margin-bottom:6px;font-size:36px}.job-category-graphic-label{font-size:14px;font-weight:600}.job-list-red{background:linear-gradient(145deg,#e84749,#c8161d)}.job-list-blue{background:linear-gradient(145deg,#1a5fb4,#004098)}.job-list-brown{background:linear-gradient(145deg,#a67c00,#8b6914)}.job-list-green{background:linear-gradient(145deg,#52c41a,#389e0d)}.job-list-cyan{background:linear-gradient(145deg,#13c2c2,#08979c)}.job-category-name{color:var(--text);margin-bottom:8px;font-size:14px;font-weight:600;transition:color .15s}.job-category-views{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.job-detail-page{background:var(--bg);padding:20px 0 40px}.job-detail-hero{grid-template-columns:280px 1fr;gap:24px;margin-bottom:16px;padding:20px;display:grid}.job-detail-hero-thumb{color:#fff;border-radius:8px;justify-content:center;align-items:center;height:180px;font-size:18px;font-weight:600;display:flex;position:relative}.job-detail-hero-label{text-align:center;padding:0 16px;line-height:1.5}.job-detail-hero-title{margin-bottom:16px;font-size:18px;font-weight:700;line-height:1.55}.job-status-tag{color:var(--blue);margin-right:4px}.job-detail-info-grid{grid-template-columns:repeat(2,1fr);gap:10px 24px;margin-bottom:16px;font-size:13px;display:grid}.job-detail-info-grid dt{color:var(--text-muted);margin-bottom:2px;font-size:12px}.job-detail-info-grid dd{color:var(--text);margin:0}.job-detail-info-grid .full{grid-column:1/-1}.job-detail-text-blocks{color:var(--text-secondary);font-size:13px;line-height:1.85}.job-detail-text-blocks p{margin-bottom:8px}.job-detail-text-blocks strong{color:var(--text)}.job-detail-layout{grid-template-columns:1fr 300px;align-items:start;gap:16px;display:grid}.job-activity-filter{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.job-activity-filter input{border-radius:var(--radius);border:1px solid #d9d9d9;min-width:140px;height:34px;padding:0 12px;font-size:13px}.job-empty-state{text-align:center;color:var(--text-muted);padding:48px 20px}.job-empty-state.compact{padding:32px 16px}.job-empty-icon{opacity:.6;margin-bottom:12px;font-size:48px}.job-discuss-input textarea{border-radius:var(--radius);resize:vertical;border:1px solid #d9d9d9;width:100%;min-height:100px;padding:12px;font-family:inherit;font-size:13px}.job-discuss-input textarea:focus{border-color:var(--primary);outline:none}.job-discuss-toolbar{justify-content:space-between;align-items:center;margin-top:10px;margin-bottom:20px;display:flex}.job-discuss-count{color:var(--text-muted);font-size:12px}.job-comment-list{flex-direction:column;gap:16px;display:flex}.job-comment-item{gap:12px;display:flex}.job-comment-avatar{background:linear-gradient(135deg, #5b9fed, var(--primary));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex}.job-comment-body{flex:1;min-width:0}.job-comment-head{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;display:flex}.job-comment-head span{color:var(--text-muted);font-size:12px}.job-comment-body p{color:var(--text-secondary);margin-bottom:8px;font-size:13px;line-height:1.7}.job-comment-actions{gap:12px;display:flex}.job-comment-actions button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.job-comment-actions button:hover{color:var(--primary-dark)}.job-stats-panel{font-size:13px}.job-stats-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.job-stats-badge{color:var(--primary-dark);background:var(--primary-light);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500}.job-stats-label{color:var(--text-secondary);margin-bottom:12px;padding-left:2px;font-size:13px}.job-stats-card{border:1px solid var(--border);border-radius:var(--radius);background:#fafafa;margin-bottom:10px;padding:12px 14px}.job-stats-card:last-child{margin-bottom:0}.job-stats-card.clickable{cursor:pointer}.job-stats-card.clickable:hover{border-color:var(--primary)}.job-stats-card-title{color:var(--text-muted);margin-bottom:4px;font-size:12px}.job-stats-card-num{color:var(--text);font-size:22px;font-weight:700;line-height:1.2}.job-stats-card-sub{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.job-stats-card-sub .progress-bar{flex:1;min-width:60px;max-width:100px;height:6px}.job-learning-filter{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.job-learning-filter .filter-field{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.job-learning-filter .filter-field input{width:100%;min-width:0}.learning-section{margin-bottom:8px}.learning-section-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-size:14px;display:flex}.learning-section-head.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.learning-section-toggle{color:var(--text-muted);font-size:12px}.learning-item-list{flex-direction:column;display:flex}.learning-item{border-bottom:1px solid var(--border);grid-template-columns:120px 1fr auto;align-items:center;gap:16px;padding:16px 0;display:grid}.learning-item:last-child{border-bottom:none}.learning-item-thumb{background:linear-gradient(135deg,#f5a623,#e67e22) 50%/cover;border-radius:4px;height:72px;position:relative;overflow:hidden}.learning-item-thumb.has-cover{background-color:#eef1f5}.learning-item-thumb.elective{background:linear-gradient(135deg,#5b9fed,#3498db)}.learning-item-type{color:#fff;background:#0000008c;border-bottom-left-radius:4px;padding:2px 6px;font-size:11px;position:absolute;top:0;right:0}.learning-item-body h4{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:600;line-height:1.5}.learning-item-body p{color:var(--text-muted);font-size:12px;line-height:1.6}.learning-item-tag{margin-top:4px;font-size:12px;display:inline-block}.learning-item-tag.required{color:#e74c3c}.learning-item-tag.elective{color:#3498db}.learning-item-action{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.learning-item-status{color:#f5a623;font-size:13px}.learning-empty{color:var(--text-muted);text-align:center;border-bottom:1px solid var(--border);padding:24px 0;font-size:13px}.job-study-page{padding-bottom:40px}.study-topbar{border-bottom:1px solid var(--border);background:#fff;margin-bottom:0}.study-topbar-inner{justify-content:space-between;align-items:center;height:56px;display:flex}.study-brand{align-items:baseline;gap:12px;display:flex}.study-brand-logo{color:var(--blue);font-size:18px;font-weight:700}.study-brand-sub{color:var(--text-muted);font-size:13px}.study-home-btn{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);background:#fff;padding:6px 14px;font-size:13px}.study-home-btn:hover{border-color:var(--primary);color:var(--primary-dark)}.study-content{padding-top:20px}.study-course-head{margin-bottom:16px}.study-course-head h1{margin-bottom:8px;font-size:20px;font-weight:700;line-height:1.5}.study-course-views{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.study-player-layout{border-radius:var(--radius);background:#1a1a2e;grid-template-columns:1fr 280px;gap:0;margin-bottom:16px;display:grid;overflow:hidden}.study-player-main{min-width:0}.study-video-frame{aspect-ratio:16/9;background:linear-gradient(135deg,#8b0000 30%,#4a0000);justify-content:center;align-items:center;display:flex;position:relative}.study-video{object-fit:contain;background:#000;width:100%;height:100%}.study-video-empty{color:#ffffffd9;flex-direction:column;align-items:center;gap:14px;display:flex}.study-video-empty p{margin:0}.study-video-play{color:#333;cursor:pointer;background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:24px;display:flex;box-shadow:0 4px 20px #0000004d}.study-player-bar{color:#ccc;background:#16213e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.study-player-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.study-player-left em{color:#36d399;font-style:normal}.study-player-bar .btn-outline.light{color:#ccc;background:0 0;border-color:#ffffff59;padding:4px 10px;font-size:12px}.study-player-bar .btn-outline.light:hover{color:#fff;border-color:#fff}.study-player-stars{color:#f5a623;letter-spacing:2px;font-size:16px}.study-catalog{color:#fff;background:#0f3460;border-left:1px solid #ffffff14;padding:16px 0}.study-catalog h3{border-bottom:1px solid #ffffff1a;margin-bottom:8px;padding:0 16px 12px;font-size:15px}.study-catalog-subtitle{border-top:1px solid #ffffff14;margin-top:16px;padding-top:12px}.study-catalog ul{list-style:none}.study-catalog li{cursor:pointer;border-left:3px solid #0000;padding:12px 16px;transition:background .15s}.study-catalog li:hover{background:#ffffff0f}.study-catalog li.active{background:#36d3991f;border-left-color:#36d399}.study-ch-title{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.study-ch-meta{color:#ffffffa6;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.study-ch-meta .learning-item-tag{margin-top:0;font-size:11px}.study-info-layout{grid-template-columns:1fr 300px;align-items:start;gap:16px;display:grid}.study-intro-grid{grid-template-columns:repeat(3,1fr);gap:12px 20px;margin-bottom:16px;display:grid}.study-intro-grid dt{color:var(--text-muted);margin-bottom:4px;font-size:12px}.study-intro-grid dd{color:var(--text);font-size:13px}.study-intro-desc{color:var(--text-secondary);font-size:13px;line-height:1.7}.study-side-cards{flex-direction:column;gap:16px;display:flex}.course-download-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.course-download-item{border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.course-download-item:last-child{border-bottom:0}.course-download-info{flex-direction:column;gap:4px;min-width:0;display:flex}.course-download-name{color:#303133;overflow-wrap:anywhere;font-size:14px}.course-download-type{color:#909399;font-size:12px}.course-download-button{border:1px solid var(--primary);color:var(--primary);cursor:pointer;background:#fff;border-radius:4px;flex:none;padding:5px 12px}.course-download-button:hover{background:var(--primary-light)}.course-download-button:disabled{color:#c0c4cc;cursor:not-allowed;background:#f5f7fa;border-color:#dcdfe6}.study-back-link{margin-top:20px}.self-study-page{background:#f5f6f8;min-height:60vh;padding:20px 0 40px}.self-study-layout{grid-template-columns:220px 1fr;align-items:start;gap:16px;display:grid}.self-study-sidebar-nav{padding:0;overflow:hidden}.self-study-sidebar-title{border-bottom:1px solid var(--border);background:#fafafa;padding:14px 16px;font-size:15px;font-weight:600}.self-study-category-list{padding:8px 0;list-style:none}.self-study-category-list li{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;padding:11px 16px;font-size:13px;transition:background .15s,color .15s;display:flex}.self-study-category-list li:hover{color:var(--blue);background:#f5f8ff}.self-study-category-list li.active{color:var(--blue);background:#00409814;font-weight:600}.self-study-cat-arrow{opacity:.5;font-size:12px}.self-study-main{min-width:0}.self-study-sort-bar{justify-content:flex-end;align-items:center;gap:16px;margin-bottom:16px;display:flex}.self-study-sort-tabs{gap:4px;display:flex}.self-study-sort-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:13px}.self-study-sort-tabs button:hover{color:var(--blue)}.self-study-sort-tabs button.active{color:var(--blue);font-weight:600}.self-study-type-select select{border-radius:var(--radius);height:32px;color:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid #d9d9d9;padding:0 28px 0 12px;font-size:13px}.self-study-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.self-study-card{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;transition:box-shadow .15s;overflow:hidden}.self-study-card:hover{box-shadow:var(--shadow)}.self-study-thumb{color:#fff;background-position:50%;background-size:cover;flex-direction:column;justify-content:center;align-items:center;height:140px;display:flex;position:relative;overflow:hidden}.self-study-thumb.has-cover{background:0 0}.self-study-learning-badge{color:#fff;background:#0000008c;padding:4px 10px;font-size:12px;position:absolute;bottom:0;right:0}.self-study-card-body{padding:12px 14px 14px}.self-study-card-body h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:44px;margin-bottom:8px;font-size:14px;font-weight:600;line-height:1.55;display:-webkit-box;overflow:hidden}.self-study-course-meta{color:var(--text-muted);margin-bottom:10px;font-size:12px;line-height:1.6}.self-study-course-meta .sep{margin-left:10px}.self-study-card-foot{justify-content:space-between;align-items:center;display:flex}.self-study-stars{color:#ddd;letter-spacing:1px;font-size:14px}.self-study-stars .filled{color:#f5a623}.self-study-views{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.portal-main--study{background:#f0f2f5;padding-top:0}.self-study-detail-page{background:#f0f2f5;padding-bottom:40px}.self-study-detail-content{padding-top:20px}.self-study-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.self-study-detail-title h1{margin-bottom:8px;font-size:20px;font-weight:700;line-height:1.5}.self-study-detail-progress{text-align:right;flex-shrink:0}.self-study-progress-main{color:var(--text-secondary);margin-bottom:6px;font-size:14px}.self-study-progress-main strong{color:var(--blue);font-size:16px}.self-study-progress-sub{color:var(--text-muted);flex-wrap:wrap;justify-content:flex-end;gap:14px;font-size:12px;display:flex}.self-study-player-layout{border:1px solid var(--border);border-radius:var(--radius);background:#fff;grid-template-columns:1fr 300px;gap:0;margin-bottom:16px;display:grid;overflow:hidden}.self-study-player-main{background:#1a1a2e;min-width:0}.self-study-player-bar{background:#16213e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.self-study-player-actions{flex-wrap:wrap;gap:8px;display:flex}.self-study-player-actions .btn-outline.light{color:#ccc;background:0 0;border-color:#ffffff59;padding:4px 10px;font-size:12px}.self-study-player-stars{color:#666;letter-spacing:2px;font-size:16px}.self-study-player-stars .filled{color:#f5a623}.self-study-sidebar{border-left:1px solid var(--border);background:#fff;flex-direction:column;min-height:360px;display:flex}.self-study-sidebar-tabs{border-bottom:1px solid var(--border);display:flex}.self-study-sidebar-tabs button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:12px 8px;font-size:13px}.self-study-sidebar-tabs button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.self-study-sidebar-body{flex:1;padding:12px 16px;overflow:auto}.self-study-chapter-list{list-style:none}.self-study-chapter-item{border-radius:var(--radius);cursor:pointer;border-left:3px solid #0000;margin-bottom:4px;padding:12px 10px;transition:background .15s}.self-study-chapter-item:hover{background:#0040980a}.self-study-chapter-item.active{border-left-color:var(--blue);background:#0040980f}.self-study-chapter-title{margin-bottom:6px;font-size:13px;line-height:1.5}.self-study-chapter-meta{color:var(--text-muted);flex-wrap:wrap;gap:4px;margin-bottom:4px;font-size:12px;display:flex}.self-study-chapter-sub{color:var(--blue);font-size:12px}.self-study-discuss-list{list-style:none}.self-study-discuss-list li{border-bottom:1px solid var(--border);padding:10px 0;font-size:13px}.self-study-discuss-list li:last-child{border-bottom:none}.self-study-discuss-list p{color:var(--text-secondary);margin-top:4px;line-height:1.6}.self-study-note-input{border-radius:var(--radius);resize:vertical;border:1px solid #d9d9d9;width:100%;min-height:120px;margin-bottom:10px;padding:10px 12px;font-size:13px}.modal-overlay{z-index:9000;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-dialog{background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:920px;max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 12px 40px #0000002e}.todo-modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.todo-modal-head h3{font-size:16px;font-weight:600}.todo-modal-close{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;font-size:22px;line-height:1}.todo-modal-close:hover{color:var(--text);background:#f5f5f5}.todo-modal-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:0;padding:0 12px;display:flex;overflow-x:auto}.todo-modal-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:12px 14px;font-size:13px}.todo-modal-tab:hover{color:var(--blue)}.todo-modal-tab.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.todo-modal-filter{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;padding:16px 20px;display:grid}.todo-filter-field{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.todo-filter-field input,.todo-filter-field select{border-radius:var(--radius);height:34px;color:var(--text);background:#fff;border:1px solid #d9d9d9;padding:0 12px;font-size:13px}.todo-filter-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.todo-filter-note{color:var(--text-muted);text-align:right;white-space:nowrap;font-size:12px}.todo-filter-btns{gap:8px;display:flex}.btn-todo-search{border-radius:var(--radius);background:var(--blue);color:#fff;cursor:pointer;border:none;height:34px;padding:0 20px;font-size:13px}.btn-todo-search:hover{opacity:.9}.btn-todo-reset{border-radius:var(--radius);height:34px;color:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid #d9d9d9;padding:0 20px;font-size:13px}.btn-todo-reset:hover{border-color:var(--blue);color:var(--blue)}.todo-modal-body{flex:1;min-height:280px;overflow:auto}.todo-modal-body .job-empty-state{padding:64px 20px}.feedback-modal{max-width:560px}.feedback-modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.feedback-modal-head h3{font-size:16px;font-weight:600}.feedback-modal-body{padding:20px;overflow-y:auto}.feedback-field{margin-bottom:20px;display:block}.feedback-label{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.feedback-label em{color:#e74c3c;font-style:normal}.feedback-textarea{border:1px solid var(--border);border-radius:var(--radius);resize:vertical;width:100%;min-height:120px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.6}.feedback-textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #36d39926}.feedback-counter{text-align:right;color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.feedback-upload-hint{color:var(--text-muted);margin-bottom:10px;font-size:12px}.feedback-image-list{flex-wrap:wrap;gap:10px;display:flex}.feedback-image-item{border-radius:var(--radius);border:1px solid var(--border);width:88px;height:88px;position:relative;overflow:hidden}.feedback-image-item img{object-fit:cover;width:100%;height:100%}.feedback-image-remove{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;width:22px;height:22px;font-size:16px;line-height:1;position:absolute;top:4px;right:4px}.feedback-image-remove:hover{background:#000000bf}.feedback-upload-btn{border:1px dashed var(--border);border-radius:var(--radius);width:88px;height:88px;color:var(--text-muted);cursor:pointer;background:#fafafa;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;transition:border-color .15s,color .15s;display:flex}.feedback-upload-btn:hover{border-color:var(--primary);color:var(--primary-dark)}.feedback-upload-icon{color:var(--text-muted);font-size:24px;line-height:1}.feedback-modal-foot{border-top:1px solid var(--border);background:#fafafa;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.feedback-submit-btn{padding:8px 24px;font-size:14px}.feedback-submit-btn:disabled{opacity:.65;cursor:not-allowed}.todo-empty-icon{opacity:.45;font-size:72px}.app-modal{max-width:720px}.app-modal-body{min-height:240px;padding:16px 20px 20px}.app-data-list{flex-direction:column;gap:12px;list-style:none;display:flex}.app-data-card{border:1px solid var(--border);border-radius:var(--radius);background:#fafafa;padding:14px 16px}.app-data-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.app-data-card-head strong{flex:1;font-size:14px;line-height:1.5}.app-status-tag{color:var(--text-muted);background:#f0f0f0;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:12px}.app-status-tag.done{color:#27ae60;background:#e8f8f0}.app-status-tag.pending{color:#f5a623;background:#fff3e0}.app-status-tag.active{color:var(--blue);background:#e8f4fd}.app-data-meta{color:var(--text-muted);margin-bottom:8px;font-size:12px}.app-data-desc{color:var(--text-secondary);font-size:13px;line-height:1.7}.app-data-action{margin-top:10px}.app-vote-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px;display:grid}.app-vote-grid dt{color:var(--text-muted);margin-bottom:2px;font-size:12px}.app-vote-grid dd{color:var(--text);font-size:13px}.faculty-list{list-style:none}.faculty-item{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:16px 0;display:flex}.faculty-item:last-child{border-bottom:none}.faculty-avatar{background:linear-gradient(135deg, #5b9fed, var(--primary));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:600;display:flex}.faculty-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.faculty-info strong{font-size:14px}.faculty-info span{color:var(--text-muted);font-size:12px}.faculty-phone{color:var(--text-secondary);flex-shrink:0;font-size:13px}.material-list{list-style:none}.material-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 0;display:flex}.material-item:last-child{border-bottom:none}.material-icon{flex-shrink:0;font-size:28px}.material-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.material-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.material-info span{color:var(--text-muted);font-size:12px}.material-download{flex-shrink:0;padding:4px 14px;font-size:12px}.album-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.album-item{cursor:pointer;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.album-item:hover{box-shadow:0 4px 12px #00000014}.album-thumb{aspect-ratio:4/3;color:#ffffffd9;justify-content:center;align-items:center;font-size:36px;display:flex}.album-caption{background:#fff;padding:10px 12px}.album-caption strong{text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:13px;display:block;overflow:hidden}.album-caption span{color:var(--text-muted);font-size:12px}.job-stats-row{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.job-stats-row:last-of-type{border-bottom:none}.job-stats-progress{flex:1;align-items:center;gap:8px;max-width:160px;margin-left:12px;display:flex}.job-stats-progress .progress-bar{flex:1}.job-stats-sub{color:var(--text-muted);margin-bottom:4px;padding-left:8px;font-size:12px}.job-apps-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.job-app-item{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;background:#fff;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;font-size:12px;transition:border-color .15s;display:flex}.job-app-item:hover{border-color:var(--primary);color:var(--primary-dark)}.job-app-icon{font-size:22px}.toast{color:#fff;z-index:9999;background:#000000c7;border-radius:6px;padding:10px 24px;font-size:13px;transition:transform .25s;position:fixed;top:24px;left:50%;transform:translate(-50%)translateY(-80px)}.toast.show{transform:translate(-50%)translateY(0)}@media (width<=1100px){.hero-row{grid-template-columns:1fr}.job-grid,.job-category-grid{grid-template-columns:repeat(3,1fr)}.job-detail-hero,.job-detail-layout,.job-learning-filter{grid-template-columns:1fr}.learning-item{grid-template-columns:100px 1fr}.learning-item-action{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center}.study-player-layout,.study-info-layout{grid-template-columns:1fr}.study-intro-grid{grid-template-columns:repeat(2,1fr)}.todo-modal-filter{grid-template-columns:1fr}.todo-filter-actions{align-items:stretch}.todo-filter-note{white-space:normal;text-align:left}.todo-filter-btns{justify-content:flex-end}.app-vote-grid,.self-study-layout{grid-template-columns:1fr}.self-study-grid{grid-template-columns:repeat(2,1fr)}.self-study-sort-bar{flex-wrap:wrap;justify-content:flex-start}.self-study-player-layout{grid-template-columns:1fr}.self-study-detail-head{flex-direction:column}.self-study-detail-progress{text-align:left;width:100%}.self-study-progress-sub{justify-content:flex-start}.topic-row,.course-grid,.offline-grid,.offline-list-grid{grid-template-columns:repeat(2,1fr)}.school-block,.study-layout,.profile-grid{grid-template-columns:1fr}.profile-user-card{flex-direction:column;align-items:flex-start}.profile-user-stats{flex-wrap:wrap;justify-content:space-between;width:100%}.profile-stat-divider{display:none}.profile-stat-inner{min-width:80px;padding:8px 4px}.profile-main-layout{grid-template-columns:1fr}.profile-nav,.profile-content{border-right:none;border-bottom:1px solid var(--border)}.profile-task-toolbar{flex-direction:column;align-items:stretch}.profile-task-tabs{overflow-x:auto}.profile-archive-summary{grid-template-columns:repeat(2,1fr)}.profile-archive-summary-item:nth-child(2n){border-right:none}.profile-learning-item{flex-direction:column;align-items:flex-start}.profile-learning-thumb{width:100%;max-width:280px}.profile-learning-side{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.profile-home-task-item{flex-direction:column;align-items:flex-start}.profile-home-task-thumb{width:100%;max-width:280px}.profile-home-detail-btn{align-self:flex-end}.profile-class-item{flex-direction:column;align-items:flex-start}.profile-class-thumb{width:100%;max-width:280px}.feature-grid{grid-template-columns:1fr}.main-nav-inner{flex-wrap:wrap;height:auto}.nav-link{flex:none;padding:10px 16px}}.profile-exam-status{border-radius:3px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.profile-exam-status.pending{color:#d48806;background:#fff7e6}.profile-exam-status.active{color:#1890ff;background:#e6f7ff}.profile-exam-status.done{color:#52c41a;background:#f6ffed}.profile-exam-status.expired{color:var(--text-muted);background:#f5f5f5}.profile-exam-meta{color:var(--text-muted);margin-left:12px;font-size:12px}.profile-home-detail-btn.disabled,.profile-home-detail-btn:disabled{color:var(--text-muted);cursor:not-allowed;background:#f5f5f5;border-color:#e8e8e8}.exam-anticheat-modal,.exam-face-modal{max-width:480px}.exam-anticheat-head{align-items:center;gap:10px;padding:20px 24px 0;display:flex}.exam-anticheat-icon{color:#fa8c16;background:#fff7e6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.exam-anticheat-head h3{font-size:16px;font-weight:600}.exam-anticheat-body{color:var(--text-secondary);padding:16px 24px 24px;font-size:14px;line-height:1.8}.exam-anticheat-confirm-tip{color:var(--text);margin-top:12px;font-weight:600}.exam-anticheat-foot,.exam-face-foot{justify-content:flex-end;gap:12px;padding:0 24px 20px;display:flex}.btn-exam-cancel{border-radius:var(--radius);height:36px;color:var(--text);background:#fff;border:1px solid #d9d9d9;padding:0 20px;font-size:14px}.btn-exam-cancel:hover{border-color:var(--blue);color:var(--blue)}.btn-exam-confirm{border-radius:var(--radius);background:var(--blue);color:#fff;border:none;height:36px;padding:0 24px;font-size:14px}.btn-exam-confirm:hover{opacity:.9}.exam-face-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.exam-face-head h3{font-size:16px;font-weight:600}.exam-face-body{text-align:center;padding:24px}.exam-face-camera{border:3px solid var(--blue);background:#f0f4f8;border-radius:50%;justify-content:center;align-items:center;width:240px;height:240px;margin:0 auto 16px;display:flex;position:relative;overflow:hidden}.exam-face-camera.verifying{border-color:#1890ff}.exam-face-camera.verified{border-color:#52c41a}.exam-face-placeholder .exam-face-avatar{margin-bottom:8px;font-size:64px;display:block}.exam-face-placeholder p,.exam-face-scanning p,.exam-face-success p{color:var(--text-secondary);font-size:13px}.exam-face-scan-ring{border:3px solid #1890ff;border-top-color:#0000;border-radius:50%;width:80px;height:80px;margin:0 auto 12px;animation:1s linear infinite exam-scan-spin}@keyframes exam-scan-spin{to{transform:rotate(360deg)}}.exam-face-check{color:#fff;background:#52c41a;border-radius:50%;width:64px;height:64px;margin:0 auto 8px;font-size:32px;line-height:64px;display:block}.exam-face-tip{color:var(--text-muted);font-size:12px}.exam-taking-page{background:#eef0f4;flex-direction:column;min-height:100vh;display:flex}.exam-taking-header{color:#fff;background:linear-gradient(135deg,#5b6abf 0%,#4a5aad 100%);padding:20px 24px 16px}.exam-taking-header-inner{max-width:1200px;margin:0 auto}.exam-taking-title{text-align:center;margin-bottom:14px;font-size:18px;font-weight:600}.exam-taking-progress-row{align-items:center;gap:16px;max-width:800px;margin:0 auto;display:flex}.exam-taking-progress-bar{background:#ffffff4d;border-radius:3px;flex:1;height:6px;overflow:hidden}.exam-taking-progress-fill{background:#fff;border-radius:3px;height:100%;transition:width .3s}.exam-taking-progress-text{white-space:nowrap;opacity:.95;font-size:13px}.exam-taking-body{flex:1;grid-template-columns:1fr 280px;align-items:start;gap:16px;width:100%;max-width:1200px;margin:0 auto;padding:20px 16px 40px;display:grid}.exam-taking-main{min-width:0}.exam-question-card{background:#fff;border-radius:8px;flex-direction:column;min-height:480px;padding:28px 32px 24px;display:flex;box-shadow:0 2px 8px #0000000f}.exam-question-body{flex:1}.exam-question-head{margin-bottom:24px;line-height:1.8}.exam-question-num{color:var(--text);margin-right:4px;font-size:16px;font-weight:700}.exam-question-type{color:var(--text-secondary);margin-right:8px;font-size:14px}.exam-question-text{color:var(--text);font-size:15px}.exam-options{flex-direction:column;gap:0;display:flex}.exam-option{cursor:pointer;color:var(--text);border-radius:4px;align-items:center;gap:12px;padding:14px 16px;font-size:14px;transition:background .15s;display:flex}.exam-option:hover{background:#f5f6f8}.exam-option.selected{background:#eef0f8}.exam-option input{accent-color:#5b6abf;flex-shrink:0;width:16px;height:16px}.exam-essay-area{margin-top:8px}.exam-essay-input{border-radius:var(--radius);resize:vertical;border:1px solid #d9d9d9;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.6}.exam-essay-input:focus{border-color:#5b6abf;outline:none;box-shadow:0 0 0 2px #5b6abf26}.exam-question-nav{justify-content:center;gap:48px;padding-top:8px;display:flex}.exam-nav-btn{color:var(--text);border-radius:var(--radius);align-items:center;gap:6px;padding:8px 16px;font-size:14px;transition:color .15s;display:flex}.exam-nav-btn:hover:not(.disabled){color:#5b6abf}.exam-nav-btn.disabled{color:#999;cursor:not-allowed}.exam-nav-arrow{font-size:20px;line-height:1}.exam-taking-sidebar{position:sticky;top:16px}.exam-sidebar-panel{background:#fff;border-radius:8px;flex-direction:column;gap:16px;padding:20px 16px;display:flex;box-shadow:0 2px 8px #0000000f}.exam-timer-block{text-align:center}.exam-timer{color:#e53935;font-variant-numeric:tabular-nums;letter-spacing:1px;font-size:28px;font-weight:700}.exam-timer-label{color:var(--text-muted);margin-top:4px;font-size:12px}.exam-mode-toggle{color:var(--text-secondary);justify-content:space-between;align-items:center;padding:0 4px;font-size:13px;display:flex}.exam-toggle-switch{background:#d9d9d9;border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:background .2s;position:relative}.exam-toggle-switch.on{background:#5b6abf}.exam-toggle-knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.exam-toggle-switch.on .exam-toggle-knob{transform:translate(20px)}.exam-answer-sheet{border-top:1px solid var(--border);padding-top:12px}.exam-sheet-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.exam-sheet-meta{color:var(--text-muted);font-size:12px;font-weight:400}.exam-sheet-legend{color:var(--text-muted);gap:12px;margin-bottom:12px;font-size:11px;display:flex}.exam-sheet-legend span{align-items:center;gap:4px;display:flex}.legend-dot{border-radius:2px;width:14px;height:14px;display:inline-block}.legend-dot.answered{background:#5b6abf}.legend-dot.unanswered{background:#fff;border:1px solid #d9d9d9}.exam-sheet-section{margin-bottom:12px}.exam-sheet-section-title{color:var(--text-secondary);margin-bottom:8px;font-size:12px}.exam-sheet-grid{flex-wrap:wrap;gap:8px;display:flex}.exam-sheet-num{width:32px;height:32px;color:var(--text);background:#fff;border:1px solid #d9d9d9;border-radius:4px;justify-content:center;align-items:center;font-size:13px;display:flex;position:relative}.exam-sheet-num:hover{color:#5b6abf;border-color:#5b6abf}.exam-sheet-num.answered{color:#5b6abf;background:#eef0f8;border-color:#5b6abf}.exam-sheet-num.current{color:#fff;background:#5b6abf;border-color:#5b6abf}.exam-submit-btn{border-radius:var(--radius);color:#fff;background:linear-gradient(90deg,#36d399 0%,#5b6abf 100%);border:none;width:100%;height:44px;margin-top:4px;font-size:16px;font-weight:600}.exam-submit-btn:hover{opacity:.92}@media (width<=900px){.exam-taking-body{grid-template-columns:1fr}.exam-taking-sidebar{position:static}}.live-competition-page{padding:24px 0 40px}.live-competition-intro{color:var(--text-secondary);margin:-8px 0 20px;font-size:14px}.live-competition-badge{background:#ff6b35}.live-competition-subtitle{color:var(--text-muted);margin-bottom:4px;font-size:12px}.live-competition-time{color:var(--text-secondary);margin-bottom:8px;font-size:12px}.live-competition-status{border-radius:3px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.live-competition-status.active{color:#1890ff;background:#e6f7ff}.live-competition-status.pending{color:#d48806;background:#fff7e6}.live-competition-status.ended{color:var(--text-muted);background:#f5f5f5}.live-competition-detail-page{background:var(--bg);min-height:100vh}.live-competition-detail-content{padding:24px 16px 48px}.live-competition-back{color:var(--blue);margin-bottom:12px;padding:0;font-size:13px}.live-competition-back:hover{text-decoration:underline}.live-competition-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.live-competition-detail-title h1{margin-bottom:8px;font-size:22px;font-weight:700}.live-competition-detail-sub{color:var(--text-secondary);margin-bottom:12px}.live-competition-detail-tags{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.live-competition-detail-meta{color:var(--text-muted);font-size:13px}.live-competition-detail-actions{text-align:right}.live-competition-stats{color:var(--text-secondary);flex-wrap:wrap;justify-content:flex-end;gap:16px;margin-bottom:16px;font-size:13px;display:flex}.live-competition-action-btns{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.live-competition-enter-btn.outline{color:var(--blue);border:1px solid var(--blue);background:#fff}.live-competition-enter-btn.disabled{opacity:.6;cursor:not-allowed}.live-competition-tip{color:var(--primary-dark);margin:0;font-size:13px}.live-competition-tip.ended{color:var(--text-muted)}.live-competition-detail-layout,.live-competition-detail-main{flex-direction:column;gap:16px;display:flex}.live-competition-desc{color:var(--text-secondary);font-size:14px;line-height:1.8}.live-competition-rules{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-family:inherit;font-size:14px;line-height:1.8}.live-competition-answer-page{background:#eef0f4;flex-direction:column;min-height:100vh;display:flex}.live-competition-answer-header{color:#fff;background:linear-gradient(135deg,#ff6b35 0%,#e53935 100%);padding:18px 24px}.live-competition-answer-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;display:flex}.live-competition-answer-header h1{font-size:18px;font-weight:600}.live-competition-answer-meta{align-items:center;gap:20px;font-size:14px;display:flex}.live-competition-answer-timer{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.live-competition-answer-body{flex:1;grid-template-columns:1fr 280px;align-items:start;gap:16px;width:100%;max-width:1200px;margin:0 auto;padding:24px 16px 40px;display:grid}.live-competition-answer-card{background:#fff;border-radius:8px;flex-direction:column;min-height:480px;padding:28px 32px 24px;display:flex;box-shadow:0 2px 8px #0000000f}.live-competition-question{flex-direction:column;flex:1;display:flex}.live-competition-question-title{color:var(--text);margin-bottom:16px;font-size:15px;line-height:1.7}.live-competition-q-num{color:#fff;background:#ff6b35;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;margin-right:8px;font-size:13px;font-weight:700;display:inline-flex}.live-competition-option{text-align:left;width:100%}.live-competition-question-actions{justify-content:center;align-items:center;gap:28px;margin-top:auto;padding-top:28px;display:flex}.live-competition-question-actions .btn-primary-inline{min-width:120px;height:38px}.live-competition-answer-side{position:sticky;top:16px}.live-competition-answer-side .exam-submit-btn:disabled,.live-competition-question-actions .btn-primary-inline:disabled{opacity:.65;cursor:not-allowed}.live-competition-unanswered-tip{text-align:center;color:#e53935;margin:-6px 0 0;font-size:12px}@media (width<=900px){.live-competition-detail-actions{text-align:left;width:100%}.live-competition-stats{justify-content:flex-start}.live-competition-action-btns{align-items:flex-start}.live-competition-answer-body{grid-template-columns:1fr}.live-competition-answer-side{position:static}.live-competition-question-actions{flex-wrap:wrap;justify-content:space-between;gap:12px}}
