@import url("./design-tokens.css");
:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","SF Pro Text","Noto Sans CJK SC","Microsoft YaHei",sans-serif;color:#111827;background:#f7f9fc;font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;--bg:#f7f9fc;--surface:#fff;--soft:#F3F6FA;--text:#111827;--muted:#667085;--line:#E6EAF0;--orange:#f39800;--yellow:#ffcc32;--blue:#1473ff;--green:#22C55E;--red:#FF4338;--purple:#7047eb;--shadow:0 4px 16px rgba(17,24,39,.045)}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.app-shell{min-height:100dvh;width:100%;max-width:430px;margin:auto;background:var(--bg);position:relative;box-shadow:0 0 0 1px #edf0f4}.page{padding:calc(14px + env(safe-area-inset-top,0px)) 16px calc(104px + env(safe-area-inset-bottom,0px));min-height:100dvh}.page.course-page{padding:0 0 calc(104px + env(safe-area-inset-bottom,0px))}.section{margin-top:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.section-title{font-size:20px;line-height:1.25;font-weight:600;letter-spacing:-.04em;margin:0}.section-more{font-size:13px;font-weight:600;color:#7b8596;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.muted{color:var(--muted)}.meta{font-size:12px;line-height:1.4;color:#7a8494}.label{font-size:12px;font-weight:600;line-height:1;padding:6px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.label-orange{color:#9a5900;background:#fff1d2}.label-red{color:#cc3f31;background:#fff0ed}.label-green{color:#14833b;background:#e6f8ed}.label-blue{color:#1768bd;background:#e8f3ff}.label-purple{color:#6941c6;background:#f0eafe}.eyebrow{font-size:12px;font-weight:600;color:#727d91;letter-spacing:.08em}.app-icon{display:inline-block;width:var(--size);height:var(--size);object-fit:contain;flex:none}.icon-btn{width:44px;height:44px;border:0;background:transparent;border-radius:14px;display:grid;place-items:center;color:var(--text);flex:none}.icon-btn:active,.tap:active,.quick:active,.course-card:active,.menu-row:active{transform:scale(.985)}.svg-icon{width:23px;height:23px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px;height:54px}.brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}.brand-round{width:42px;height:42px;border-radius:14px;background:#eaf3ff;display:grid;place-items:center;overflow:hidden}.brand-word{font-size:18px;font-weight:700;line-height:1;letter-spacing:-.03em}.brand-sub{font-size:10px;letter-spacing:.25em;color:#9aa3b0;margin-top:5px;font-weight:700}.brand-logo{width:96px;height:auto;object-fit:contain;object-position:left}.notify{position:relative}.notify:after{content:"";position:absolute;right:8px;top:7px;width:8px;height:8px;background:var(--red);border:2px solid var(--bg);border-radius:50%}.greeting{margin-top:16px;background:linear-gradient(135deg,#eef5ff 0%,#f8fbff 100%);border-radius:24px;min-height:162px;padding:22px 20px;position:relative;overflow:hidden}.greeting h1{font-size:27px;line-height:1.18;letter-spacing:-.055em;margin:4px 0 8px;font-weight:700;position:relative;z-index:1}.greeting p{font-size:15px;color:#6c7585;margin:0;position:relative;z-index:1}.greeting .app-icon{position:absolute;right:9px;bottom:-12px;filter:drop-shadow(0 10px 15px rgba(20,115,255,.16))}.greeting .doodle{position:absolute;width:18px;height:8px;background:var(--yellow);border-radius:9px;right:114px;bottom:55px;transform:rotate(42deg)}.greeting .doodle.two{right:124px;bottom:34px;width:22px;transform:rotate(-18deg)}.home-metrics{display:grid;grid-template-columns:1.16fr .84fr;gap:12px;margin-top:14px}.metric-card{padding:18px 18px 16px;min-height:145px}.metric-title{font-size:14px;font-weight:600;margin:0 0 10px}.metric-big{font-size:31px;font-weight:700;letter-spacing:-.055em;line-height:1}.metric-big small{font-size:13px;font-weight:700;color:#6d7888;letter-spacing:0;margin-left:4px}.progress{height:9px;background:#e6eaf0;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--green);border-radius:999px}.metric-progress{display:flex;align-items:center;gap:10px;margin-top:16px}.metric-progress .progress{flex:1}.metric-progress strong{font-size:13px;color:#586477}.motivation{border:none;background:linear-gradient(135deg,#f1f6ff,#eaf3ff);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.motivation em{font-size:15px;line-height:1.5;color:#6e7d90;font-weight:700;font-style:normal;transform:rotate(-8deg);margin-top:4px}.motivation .app-icon{align-self:flex-end;margin-bottom:-14px;margin-right:-13px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:24px}.quick{border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:100px;text-align:center;font-weight:600;font-size:13px;line-height:1.25}.quick .app-icon{filter:drop-shadow(0 5px 8px rgba(30,50,80,.08))}.task-panel{background:#f1f5fa;border-radius:22px;padding:16px 12px 6px}.task-panel .section-head{margin:0 4px 8px}.task-row{background:#fff;border:1px solid #edf0f4;border-radius:16px;min-height:84px;padding:12px;display:flex;align-items:center;gap:12px;margin-bottom:10px;width:100%;text-align:left}.task-row .task-copy{min-width:0;flex:1}.task-row h3{font-size:15px;line-height:1.4;margin:0 0 6px;font-weight:600;letter-spacing:-.025em}.task-foot{display:flex;align-items:center;gap:8px}.task-foot .progress{flex:1;height:7px}.task-foot b{font-size:12px;color:#5c6779}.chev{color:#9aa5b3;font-size:25px;font-weight:300;line-height:1}.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;height:calc(70px + env(safe-area-inset-bottom,0px));padding:7px 6px env(safe-area-inset-bottom,0px);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e6eaf0;background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}.nav-item{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#748094;font-size:11px;font-weight:600;border-radius:12px}.nav-item.active{color:#126dea}.nav-item .app-icon{filter:grayscale(1);opacity:.7}.nav-item.active .app-icon{filter:none;opacity:1}.nav-item span:last-child{line-height:1.25}.page-title-row{display:flex;align-items:center;justify-content:space-between;min-height:51px}.page-title{font-size:29px;line-height:1.15;letter-spacing:-.055em;font-weight:700;margin:0}.search-toggle{color:#101b2c}.search-wrap{display:none;margin-top:12px}.search-wrap.open{display:block}.search-input{width:100%;height:48px;border:1px solid #d9e2ed;border-radius:14px;padding:0 14px;background:#fff;color:var(--text);outline:none}.search-input:focus{border-color:#75aafa;box-shadow:0 0 0 3px #e6f1ff}.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:17px -16px 18px;padding:0 16px 2px}.chips::-webkit-scrollbar{display:none}.chip{border:0;background:#ecf2f9;color:#667084;font-size:13px;font-weight:600;padding:0 14px;white-space:nowrap;height:38px;border-radius:11px}.chip.active{color:#fff;background:var(--blue);box-shadow:0 4px 8px rgba(20,115,255,.15)}.course-list{display:grid;gap:10px}.course-card{display:flex;align-items:center;gap:13px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:10px 11px;width:100%;min-height:110px;box-shadow:var(--shadow);text-align:left}.course-thumb{width:94px;height:90px;flex:none;overflow:hidden;border-radius:14px;background:#eaf2fb;display:grid;place-items:center}.course-thumb img.photo{width:100%;height:100%;object-fit:cover}.course-thumb .app-icon{--size:76px}.course-card-main{min-width:0;flex:1}.course-card-title{font-size:16px;line-height:1.3;font-weight:600;letter-spacing:-.03em;margin:0 0 5px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.course-card-desc{font-size:12px;line-height:1.4;color:#758195;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 10px}.course-progress{display:flex;align-items:center;gap:8px}.course-progress .progress{height:8px;flex:1}.course-progress b{font-size:12px;min-width:31px;text-align:right;color:#626e7f}.empty{padding:44px 20px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px}.empty h3{font-size:17px}.empty p{font-size:13px;color:var(--muted)}.profile-card{display:flex;align-items:center;gap:14px;margin-top:18px;padding:19px 16px;background:#f0f6ff;border:0;min-height:142px}.profile-avatar{width:76px;height:76px;border-radius:50%;background:#1473ff;display:grid;place-items:center;flex:none;border:3px solid #fff;box-shadow:0 4px 16px rgba(20,115,255,.13)}.profile-avatar .app-icon{--size:67px}.profile-card h2{font-size:22px;margin:0 0 6px;font-weight:700;letter-spacing:-.04em}.profile-card p{margin:3px 0;color:#687586;font-size:13px;line-height:1.4}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px;padding:20px 4px}.profile-stat{text-align:center;border-right:1px solid #e5ebf2}.profile-stat:last-child{border:0}.profile-stat strong{font-size:24px;display:block;line-height:1.1;letter-spacing:-.03em}.profile-stat span{display:block;margin-top:8px;font-size:11px;color:#7c8796;font-weight:600}.menu-card{padding:2px 14px}.menu-row{display:flex;align-items:center;gap:13px;width:100%;min-height:70px;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:left;padding:8px 0}.menu-row:last-child{border-bottom:0}.menu-row strong{font-size:15px;flex:1;line-height:1.3}.menu-row small{font-size:12px;color:#8892a2}.menu-row .app-icon{--size:42px}.menu-row .chev{margin-left:1px}.course-hero{height:320px;position:relative;color:#fff;background:#264325;overflow:hidden}.course-hero::before{content:"";position:absolute;inset:0;background-image:var(--hero-image);background-position:center;background-size:cover}.course-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.33),transparent 42%,rgba(0,0,0,.68))}.course-hero-top{position:absolute;z-index:1;top:calc(17px + env(safe-area-inset-top,0px));left:12px;right:12px;display:flex;justify-content:space-between}.hero-icon-btn{color:#fff;background:rgba(15,29,21,.22);backdrop-filter:blur(8px)}.course-hero-copy{position:absolute;z-index:1;left:20px;right:20px;bottom:49px}.course-hero-copy h1{font-size:30px;line-height:1.14;letter-spacing:-.055em;margin:10px 0 6px;font-weight:700}.course-hero-copy p{font-size:14px;color:#edf8ee;margin:0 0 12px}.hero-tags{display:flex;gap:8px}.hero-tags .label{background:#fff;color:#246c3b}.hero-tags .label+ .label{background:rgba(77,201,113,.9);color:#fff}.course-body{position:relative;margin-top:-25px;padding:0 16px}.course-progress-card{padding:17px 18px 16px;position:relative;z-index:2;border-radius:21px}.course-progress-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:600;font-size:18px}.course-progress-top strong{font-size:23px;letter-spacing:-.03em}.course-progress-card .progress{margin-top:12px;height:10px}.course-progress-card p{font-size:12px;color:#748094;margin:10px 0 0}.tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #e4eaf2;margin:14px -16px 0;background:#fff}.tab{border:0;background:transparent;height:52px;font-size:14px;font-weight:600;color:#768195;position:relative}.tab.active{color:var(--blue)}.tab.active::after{content:"";position:absolute;bottom:0;left:22%;width:56%;height:3px;border-radius:3px;background:var(--blue)}.tab-panel{padding-top:6px}.lesson{width:100%;border:0;border-bottom:1px solid #e9edf2;background:transparent;display:flex;align-items:center;text-align:left;gap:12px;padding:13px 2px;min-height:71px}.lesson:last-child{border-bottom:0}.lesson-index{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#b0b9c6;color:#fff;font-size:15px;font-weight:600;flex:none}.lesson-index.done{background:#35bd62}.lesson-index.current{background:var(--blue)}.lesson-text{flex:1;min-width:0}.lesson-text strong{display:block;font-size:14px;font-weight:600;line-height:1.3;letter-spacing:-.025em}.lesson-text small{display:block;margin-top:3px;font-size:12px;color:#858fa0}.lesson-right{width:33px;height:33px;border:1.5px solid #cde2ff;border-radius:50%;color:var(--blue);display:grid;place-items:center;font-size:15px;flex:none}.lesson-right.locked{border-color:transparent;color:#a8b2bf}.course-copy{padding:18px 2px;color:#4d5969;font-size:14px;line-height:1.75}.course-copy h3{font-size:17px;color:#142033;margin:0 0 8px}.course-copy p{margin:0 0 12px}.course-copy ul{padding-left:20px;margin:8px 0}.sticky-action{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;background:rgba(255,255,255,.96);border-top:1px solid #e8ecf1;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));z-index:20;backdrop-filter:blur(14px)}.primary-button{min-height:50px;border-radius:16px;border:0;background:var(--orange);color:#162033;font-size:16px;font-weight:600;display:flex;justify-content:center;align-items:center;gap:8px;width:100%;box-shadow:0 6px 13px rgba(243,152,0,.18)}.primary-button:active{transform:scale(.99);background:#e58d00}.secondary-button{min-height:44px;border-radius:13px;border:1px solid #dfe6ef;background:#fff;color:#243044;font-size:14px;font-weight:600;padding:0 15px}.task-filter{display:flex;gap:8px;margin:19px 0 15px}.task-summary{padding:16px;border:1px solid #e9edf2;background:#fff;border-radius:18px;margin-bottom:12px}.task-summary small{font-size:12px;color:#6f7b8c}.task-summary strong{display:block;font-size:16px;margin:5px 0 8px}.task-summary .task-foot{margin-top:12px}.task-state{font-size:12px;font-weight:600;margin-top:7px;color:#bb4c3a}.sheet-backdrop{position:fixed;z-index:80;inset:0;background:rgba(12,22,39,.32);display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:430px;background:#fff;border-radius:24px 24px 0 0;padding:22px 20px calc(25px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 35px rgba(0,0,0,.1)}.sheet h2{font-size:20px;line-height:1.25;margin:0 0 8px}.sheet p{font-size:14px;line-height:1.6;color:#667184;margin:0 0 18px}.sheet-actions{display:flex;gap:10px}.sheet-actions>*{flex:1}.toast{position:fixed;z-index:100;left:50%;bottom:calc(88px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:#1b2737;color:#fff;padding:10px 15px;border-radius:12px;font-size:13px;max-width:calc(100vw - 40px);white-space:nowrap;box-shadow:0 9px 25px rgba(0,0,0,.16)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:360px){.page{padding-left:14px;padding-right:14px}.course-body{padding-left:14px;padding-right:14px}.quick .app-icon{--size:56px!important}.task-row{gap:9px}.task-row .app-icon{--size:45px!important}.course-thumb{width:79px;height:79px}.course-card{min-height:98px}.course-card-title{font-size:15px}.course-card-desc{font-size:11px}.greeting h1{font-size:25px}}
@media(min-width:431px){body{background:#e8edf4}.app-shell{box-shadow:0 12px 50px rgba(29,45,72,.12)}}
@media(prefers-reduced-motion:no-preference){.tap,.quick,.course-card,.menu-row,.primary-button{transition:transform .15s ease,background .15s ease}.page{animation:fadeIn .18s ease both}@keyframes fadeIn{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
.nav-icon{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.nav-item.active .nav-icon{filter:drop-shadow(0 2px 3px rgba(20,115,255,.12))}
.task-visual{width:54px;height:54px;flex:none;border-radius:13px;display:grid;place-items:center;overflow:hidden;background:#eaf2fb}.task-visual .course-photo,.course-thumb .course-photo{width:100%;height:100%;object-fit:cover}.course-hero-symbol{position:absolute;right:18px;bottom:57px;z-index:1;filter:drop-shadow(0 12px 16px rgba(0,0,0,.16))}.course-hero.icon-hero::after{background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.1))}.task-summary-head{display:flex;align-items:center;gap:12px;margin-bottom:11px}.task-summary-head .task-visual{width:50px;height:50px}.task-summary-head .task-visual .app-icon{--size:50px!important}.task-summary-head strong{margin:6px 0 0}.brand-logo{width:126px}
.employee-mascot{position:absolute;right:3px;bottom:-2px;width:220px;height:170px;display:block;z-index:0}.mascot-person{position:absolute;right:0;bottom:0;width:220px;max-width:none;height:auto}@media(max-width:360px){.employee-mascot{width:185px;height:150px}.mascot-person{width:185px}}
@media(max-width:414px){.greeting h1{font-size:25px;max-width:68%}.employee-mascot{right:-5px;bottom:-20px;width:180px;height:155px}.mascot-person{width:180px}.greeting .doodle{right:123px;bottom:48px}.greeting .doodle.two{right:132px;bottom:29px}}
.home-page .brand-row{height:58px}.home-page .brand-logo{width:150px}.home-page .greeting{height:150px;min-height:150px;margin-top:6px;padding:18px 17px;border-radius:17px}.home-page .greeting h1{font-size:24px;line-height:1.3;margin:4px 0 4px;max-width:62%}.home-page .greeting p{font-size:13px}.home-page .home-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.home-page .metric-card{min-height:122px;padding:13px 14px;border-color:#eef0f1;border-radius:15px;position:relative;overflow:hidden}.home-page .metric-tasks{background:linear-gradient(135deg,#fff,#fffaf3)}.home-page .metric-hours{background:linear-gradient(135deg,#fff,#f6fbf7);padding-right:52px}.home-page .metric-title{font-size:12px;line-height:18px;margin:0 0 5px;color:#667085}.home-page .metric-big{font-size:30px;line-height:34px}.home-page .metric-big small{font-size:11px;font-weight:400;margin-left:4px}.home-page .metric-note{font-size:10px;line-height:15px;color:#667085;margin:7px 0 0}.home-page .overdue-note{color:#b94736}.home-page .metric-watermark{position:absolute;right:10px;top:29px;opacity:.12}.home-page .growth-image{position:absolute;width:43px;height:43px;right:7px;top:29px;object-fit:contain}.home-page .quick-grid{margin-top:18px}.home-page .quick{min-height:91px;gap:6px}.home-page .quick .app-icon{--size:50px!important}.home-page .task-panel{background:transparent;padding:0;margin-top:18px;border-radius:0}.home-page .task-panel .section-head{margin:0 2px 6px}.home-page .task-row{min-height:65px;padding:8px 10px;margin-bottom:7px;border-radius:13px;gap:9px}.home-page .task-row .task-visual{width:45px;height:45px;border-radius:9px}.home-page .task-row .task-visual .app-icon{--size:45px!important}.home-page .task-row h3{font-size:14px;line-height:19px;margin-bottom:4px}.home-page .task-foot{gap:6px}.home-page .task-foot .label{font-size:10px;padding:5px 7px}.home-page .task-foot .progress{height:6px}.home-page .task-foot b{font-size:11px;font-weight:400;min-width:27px;text-align:right}.home-page .section-title{font-size:18px}
.me-page .profile-card{min-height:102px;margin-top:9px;padding:14px 16px;border:1px solid #e6eef8;border-radius:16px}.me-page .profile-avatar{width:70px;height:70px;border-radius:12px;background:#dcebfc;border:0;box-shadow:none;overflow:hidden}.me-page .profile-avatar img{width:100%;height:100%;object-fit:contain}.me-page .profile-card h2{font-size:19px;font-weight:600;margin-bottom:4px}.me-page .profile-stats{margin-top:12px;padding:16px 4px}.me-page .menu-row{min-height:58px}.me-page .section{margin-top:14px}
.tasks-page .task-filter{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 10px}.tasks-page .task-filter .chip{height:40px;background:#f0f3f8;color:#7c8796;font-weight:500}.tasks-page .task-filter .chip.active{background:#1473ff;color:#fff;font-weight:600}.tasks-page .task-list{display:grid;gap:10px}.tasks-page .task-list[hidden]{display:none}.tasks-page .task-card{padding:14px 15px;border-radius:16px}.tasks-page .task-summary-head{margin-bottom:9px}.tasks-page .task-summary-head .task-visual{width:50px;height:50px}.tasks-page .task-summary-head strong{font-size:16px;line-height:21px;margin:5px 0 0}.tasks-page .task-due{margin:0;color:#667085;font-size:12px;line-height:18px}.tasks-page .task-note{margin:6px 0 0;font-size:12px;line-height:18px;color:#b94736;font-weight:600}.tasks-page .task-foot{margin-top:10px;gap:9px}.tasks-page .task-foot b{font-size:12px;color:#667085;font-weight:400}.tasks-page .task-card-link{min-height:32px;margin-top:3px;color:#1768bd;font-size:13px}
.learn-page .chips{margin-bottom:8px}.status-chips{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 12px;padding:0 16px 2px}.status-chips::-webkit-scrollbar{display:none}.status-chip{height:28px;min-width:60px;border:0;border-radius:999px;background:#f0f3f8;color:#667085;font-size:11px;padding:0 10px;white-space:nowrap}.status-chip.active{background:#e8f3ff;color:#1768bd;font-weight:600}
button:focus-visible,a:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
