:root{color:#10182f;background:#101a66;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.screen,.login-page,.list-screen,.detail-screen{min-height:100vh}.login-page{display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.2),transparent 22%),linear-gradient(#001473c7,#000d58db),url(/images/optimized/01-lg.webp) center / cover}.login-panel{width:min(640px,92vw);padding:38px;border-radius:18px;background:#001367d6;box-shadow:0 22px 80px #02082d6b}.login-title{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:34px;color:#fff}.logo-mark,.brand-icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#2be7ff,#5b7cff);color:#fff;font-weight:800}.login-title h1{margin:0;font-size:clamp(26px,5vw,42px);letter-spacing:0}.login-form{display:grid;gap:20px}.field{display:flex;align-items:center;gap:12px;height:76px;padding:0 22px;border-radius:8px;background:#fff;color:#9da6b8}.field input,.search-box input{width:100%;border:0;outline:0;background:transparent;color:#1d2847}.field input{font-size:24px}.remember-row{display:flex;gap:9px;align-items:center;color:#dce8ff}.primary-action,.secondary-action,.card-command,.ghost-btn,.icon-btn,.icon-text-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0}.primary-action{min-height:68px;border-radius:8px;background:linear-gradient(180deg,#ffe975,#ffc82c);color:#111;font-size:22px;font-weight:800}.primary-action.small{min-height:44px;padding:0 16px;font-size:15px}.secondary-action{min-height:44px;padding:0 16px;border-radius:8px;background:#eef3ff;color:#234174}.error-text{color:#ff6a6a;margin:0}.app-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:24px 36px;color:#fff}.brand{display:inline-flex;align-items:center;gap:12px;border:0;background:transparent;color:#fff;font-weight:800}.header-actions{display:flex;align-items:center;gap:12px}.user-pill,.icon-btn,.icon-text-btn,.ghost-btn{min-height:36px;border-radius:999px;background:#ffffff2e;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.user-pill{display:inline-flex;align-items:center;padding:0 16px}.icon-btn{width:38px}.icon-text-btn,.ghost-btn{padding:0 16px}.dashboard-screen{position:relative;overflow:hidden;background:linear-gradient(#05145c61,#1313707a),url(/images/optimized/02-lg.webp) center / cover}.dashboard-center{display:grid;grid-template-columns:repeat(3,minmax(220px,340px));justify-content:center;gap:30px;padding:110px 30px 80px}.product-card,.module-card,.coding-card,.lesson-row{transition:transform .2s ease,box-shadow .2s ease}.product-card:hover,.module-card:hover,.coding-card:hover,.lesson-row:hover{transform:translateY(-4px)}.product-card{position:relative;min-height:340px;border-radius:28px;overflow:hidden;box-shadow:0 22px 50px #00000042}.product-card img,.module-card img,.coding-card img,.lesson-row img{width:100%;height:100%;object-fit:cover;display:block}.card-command{position:absolute;right:0;bottom:0;min-height:48px;padding:0 22px;border-radius:24px 0 0;background:linear-gradient(180deg,#ffdf5a,#ffb21e);color:#fff;font-weight:800}.dashboard-error{position:absolute;left:50%;bottom:34px;margin:0;transform:translate(-50%);color:#fff;background:#9b2635e0;padding:10px 16px;border-radius:8px}.tencent-frame-screen{min-height:100vh;background:#edf2fb}.tencent-frame-shell{min-height:100vh}.tencent-frame{width:100%;height:100vh;border:0;background:#fff}.tencent-frame-empty{display:grid;place-items:center;height:100vh;color:#243154;background:#fff}.badge-strip{display:grid;grid-template-columns:repeat(4,40px);gap:8px;margin-top:6px}.badge-strip img{width:40px;height:40px;object-fit:contain}.general-screen{background:linear-gradient(#0816756b,#5645b37a),url(/images/optimized/03-lg.webp) center / cover}.grade-tabs{display:flex;justify-content:center;gap:10px;padding:6px 20px 18px}.grade-tabs.compact{padding:0}.grade-tabs button{min-height:34px;padding:0 16px;border:0;border-radius:999px;background:#fffc;color:#243154;font-weight:700}.grade-tabs button.active{background:#fff;box-shadow:0 8px 20px #1d307a42}.module-grid{display:grid;grid-template-columns:minmax(260px,420px) minmax(260px,420px) minmax(230px,310px);grid-template-rows:repeat(2,minmax(180px,260px));justify-content:center;gap:20px;padding:30px}.module-card{position:relative;overflow:hidden;border-radius:28px;min-height:220px;box-shadow:0 18px 45px #00000038}.module-general,.module-lab{grid-row:span 2}.module-label{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:20px;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.25)}.mascot-strip{display:flex;justify-content:center;gap:12px;padding:0 24px 24px}.mascot-strip img{width:68px;height:78px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.18))}.list-screen{overflow:hidden;background:linear-gradient(180deg,#e4ddff,#f8f7ff)}.list-top{display:grid;grid-template-columns:auto 1fr minmax(180px,280px);align-items:center;gap:16px;padding:22px 28px}.list-top .ghost-btn,.detail-top .ghost-btn,.floating-back{background:#fff;color:#14224b;box-shadow:0 8px 22px #28285a1f}.search-box{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid #d2cafd;border-radius:999px;background:#fff;color:#8992ad}.course-list{height:calc(100vh - 86px);overflow:auto;padding:0 14px 34px}.lesson-row{display:grid;grid-template-columns:128px 1fr auto;align-items:center;gap:22px;min-height:116px;margin:0 0 14px;padding:16px 20px;border-radius:16px;background:#fff}.lesson-row img{width:112px;height:72px;border-radius:10px}.lesson-title{margin:0 0 6px;font-size:22px;font-weight:900}.lesson-title span{margin-right:14px;color:#9da6b8}.lesson-main p:nth-child(2){margin:0 0 10px;color:#65708c}.lesson-status{color:#244fce;font-weight:800}.progress-track{position:relative;height:8px;overflow:hidden;border-radius:99px;background:#e5ecff}.progress-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#37d9ff,#5668ff)}.state-card{display:grid;place-items:center;min-height:180px;border-radius:16px;background:#fff;color:#65708c}.detail-screen{color:#fff;background:linear-gradient(#08156f94,#4932a094),url(/images/optimized/05-lg.webp) center / cover}.detail-top{display:flex;align-items:center;gap:18px;padding:20px 26px}.lesson-stage{display:grid;grid-template-columns:minmax(360px,1fr) 320px;gap:22px;width:min(1180px,calc(100vw - 48px));margin:30px auto 0}.stage-media{position:relative;min-height:530px;overflow:hidden;border-radius:22px;background:#0b1d78;box-shadow:0 25px 60px #00000047}.stage-bg{width:100%;height:100%;min-height:530px;object-fit:cover;opacity:.86}.dialog-card{position:absolute;left:8%;right:8%;bottom:118px;display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:14px;background:#fff;color:#23304d;box-shadow:0 14px 40px #0000003d}.teacher-avatar{flex:0 0 auto;width:84px;height:84px;object-fit:contain}.dialog-card b{display:inline-block;margin-bottom:8px;color:#b77b00}.lesson-video{position:absolute;right:18px;bottom:18px;width:min(340px,42%);border-radius:12px;background:#000}.lesson-side{position:relative;padding:24px;border-radius:18px;background:#ffffff21;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.assistant-avatar{position:absolute;right:16px;top:-58px;width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.25))}.lesson-side h2{margin-top:0;padding-right:96px}.step-list{display:grid;gap:12px}.step-list p{margin:0;padding:12px;border-radius:10px;background:#ffffff29}.video-error-state{display:flex;align-items:center;gap:12px;margin-top:18px}.video-error-state img{width:72px;height:72px;object-fit:contain}.detail-actions,.section-switcher{display:flex;align-items:center;gap:12px}.detail-actions{margin-top:20px}.section-switcher{justify-content:center;margin:18px 0 0}.section-switcher button{min-height:34px;padding:0 22px;border:0;border-radius:999px;background:#fff;color:#4f4fc4;font-weight:800}.coding-screen{overflow:hidden;background:linear-gradient(#05115f75,#08227d85),url(/images/optimized/04-lg.webp) center / cover}.floating-back{position:absolute;left:32px;top:86px}.coding-title{margin:8px auto 52px;width:fit-content;padding:10px 80px;border:4px solid #35e7ff;color:#fff;font-size:34px;box-shadow:0 0 26px #35e7ff73}.coding-mentor{position:absolute;right:44px;top:92px;width:150px;height:180px;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(0,0,0,.28))}.coding-rail{display:flex;gap:42px;overflow-x:auto;padding:20px 34px 80px;scroll-snap-type:x mandatory}.coding-card{position:relative;flex:0 0 280px;min-height:430px;overflow:hidden;border-radius:28px;background:#ffffff1f;color:#fff;box-shadow:0 24px 60px #00000047;scroll-snap-align:start}.coding-card img{height:230px}.coding-card h2,.coding-card p{padding:0 18px}.coding-card h2{margin:18px 0 8px;font-size:28px}.coding-card p{min-height:42px;color:#dbe8ff}.coding-card .progress-track{margin:0 18px 18px}.coding-command{right:18px;bottom:18px;border-radius:999px}@media(max-width:820px){.dashboard-center,.module-grid,.lesson-stage,.list-top{grid-template-columns:1fr}.dashboard-center{padding-top:40px}.mascot-strip{overflow-x:auto;justify-content:flex-start}.module-general,.module-lab{grid-row:span 1}.lesson-row{grid-template-columns:92px 1fr}.lesson-row img{width:82px;height:58px}.lesson-status{grid-column:2}.lesson-stage{width:calc(100vw - 24px)}.lesson-video{width:calc(100% - 36px)}.dialog-card{left:18px;right:18px;bottom:146px}.teacher-avatar{width:62px;height:62px}.assistant-avatar,.coding-mentor{display:none}}.empty-state{gap:10px}.empty-state img{width:132px;height:132px;object-fit:contain}
