:root{--muted:#63796c;--line:#dfe8df}body{font-size:15px}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit}input,select,textarea{font:inherit;max-width:100%}textarea{resize:vertical;min-height:100px;width:100%;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfa;color:var(--ink)}input,select{border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:white;color:var(--ink)}a{color:var(--deep)}p{overflow-wrap:anywhere}button:disabled{cursor:wait}.loading{min-height:90vh;display:grid;place-content:center;justify-items:center;gap:18px}.intro{min-height:100svh;padding:32px 7vw;background:radial-gradient(ellipse at 75% 80%,#dcedd8,transparent 55%),#f8faf4;display:flex;flex-direction:column}.intro-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.intro-main{width:100%;max-width:1040px;margin:auto;padding:60px 0;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.intro h1{font-size:clamp(34px,5vw,62px);line-height:1.25;max-width:620px;letter-spacing:-2px}.intro h1 em{font-style:normal;color:var(--green)}.intro p{margin:22px 0;color:var(--muted);max-width:540px;line-height:1.9}.intro-footer{color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:12px}.mascot-scene{height:330px;display:grid;place-content:center;position:relative}.mascot-scene:before{content:'';position:absolute;inset:15px;border-radius:50%;border:1px solid #cde3cd;transform:rotate(-20deg)}.mascot-scene .cube{width:160px;height:160px}.mascot-scene .caption{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:3px;color:#60866b}.role-wrap{max-width:850px;margin:45px auto;text-align:center}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.role-card{text-align:left;display:flex;flex-direction:column;align-items:start;gap:14px;border:1px solid var(--line);background:#fff;padding:30px;border-radius:28px;box-shadow:var(--shadow);transition:.2s}.role-card:hover{transform:translateY(-5px);border-color:#8ebda2}.role-card .role-icon{font-size:30px;background:#e6f1e4;width:64px;height:64px;display:grid;place-items:center;border-radius:20px}.role-card.teacher-role .role-icon{background:#f6ecd6}.role-card h2{font-size:25px}.role-card p{margin:0;font-size:14px}.role-card .arrow{align-self:flex-end;font-size:24px;color:var(--green)}.subtle{background:none;border:0;padding:10px;color:var(--muted)}.auth-art{min-height:100svh}.authbox .brand{margin-bottom:24px}.authbox form{display:grid;gap:16px}.authbox label{display:grid;gap:7px;font-weight:600;font-size:13px}.authbox input{width:100%}.inline-error{background:#fff1e8;color:#983e23;padding:12px;border-radius:12px}.layout{grid-template-columns:230px minmax(0,1fr)}.side{z-index:8;padding:28px 16px;gap:35px}.side .brand{font-size:21px;padding:0}.sidefoot{font-size:12px;color:#63796c;line-height:1.8}.sidefoot strong{display:block;color:var(--green);margin-bottom:7px}.workspace{max-width:1280px;padding:28px 40px 70px}.top{gap:15px}.top-actions{display:flex;align-items:center;gap:8px}.avatar{background:#e9dcc4;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-weight:800}.page-title{margin-bottom:24px}.page-title h1{font-size:32px;margin:7px 0 10px}.page-title p{color:var(--muted);line-height:1.8}.hero{min-height:250px}.hero h1{font-size:34px}.hero .cube{margin-right:30px}.hero .eyebrow{margin-bottom:14px}.pill-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tabs{display:flex;gap:7px;padding:5px;background:#eaf0e7;border-radius:15px;width:fit-content;max-width:100%;flex-wrap:wrap}.tabs button{background:transparent;border:0;padding:10px 20px;border-radius:11px;color:var(--muted);font-weight:700}.tabs button.active{background:white;color:var(--deep);box-shadow:0 3px 8px #15341b0c}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 22px;flex-wrap:wrap}.search{min-width:180px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.courseart{height:110px;position:relative}.courseart .tag{position:absolute;top:14px;left:14px}.coursebody{padding:21px}.coursebody h3{font-size:19px}.coursebody .muted{min-height:43px;font-size:13px;line-height:1.7}.meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);margin:14px 0}.card progress{width:100%;height:7px;border:0;display:block;border-radius:20px;overflow:hidden;background:#e9eee6;accent-color:var(--green)}progress::-webkit-progress-bar{background:#e9eee6}progress::-webkit-progress-value{background:#79b28e;border-radius:20px}progress::-moz-progress-bar{background:#79b28e}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.entry{display:flex;gap:18px;align-items:center;text-align:left;background:white;width:100%;color:var(--ink)}.entry .entryicon{font-size:26px}.entry p{font-size:12px;color:var(--muted);margin-top:5px}.entry .arrow{margin-left:auto;color:var(--green)}.sectionhead{gap:12px}.sectionhead button{white-space:nowrap}.empty{padding:38px 24px;text-align:center;border:1px dashed #bfd1bf;border-radius:20px;background:#f8fbf5;color:var(--muted)}.empty h3{color:var(--ink);margin:12px 0}.empty p{max-width:520px;margin:auto;line-height:1.8}.empty .btn{margin-top:20px}.badge{display:inline-flex;align-items:center;border-radius:20px;padding:5px 11px;font-size:12px;font-weight:700;background:#eff3eb;color:#56705e}.badge.warm{background:#f9edda;color:#88652e}.badge.good{background:#e4f2e6;color:#26744b}.notice{font-size:13px;line-height:1.8}.lesson-layout{grid-template-columns:minmax(0,1.6fr) minmax(230px,.8fr)}.lesson-body{display:grid;gap:20px}.lesson-body h2{font-size:21px;margin-bottom:14px}.lesson-body p{line-height:1.95}.lesson-body .quote{font-size:17px;line-height:2;padding:23px}.video-empty{aspect-ratio:16/9;display:grid;place-content:center;text-align:center;background:#edf3e8;border-radius:18px;gap:12px;color:var(--muted);padding:24px}.video-empty strong{color:var(--ink)}video{display:block;width:100%;aspect-ratio:16/9;border-radius:18px;background:#172a22}.steps{display:grid;gap:0;margin-top:20px}.step{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.step span{background:#eaf2e4;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.sticky{position:sticky;top:25px;height:fit-content}.grow-card{display:flex;align-items:center;gap:26px;margin-bottom:26px}.level-circle{width:100px;height:100px;border:7px solid #d8ebd6;border-radius:50%;display:grid;place-content:center;text-align:center;flex-shrink:0}.level-circle strong{font-size:30px;line-height:1.3}.level-circle span{font-size:10px;color:var(--muted);letter-spacing:1px}.grow-detail{flex:1}.grow-detail p{margin:7px 0;color:var(--muted);font-size:13px}.grow-detail progress{margin-top:15px}.test-level{padding:26px;display:flex;flex-direction:column}.test-level .level-mark{font-size:42px;font-weight:900;color:#adc9ad;margin-bottom:25px}.test-level h2{font-size:23px}.test-level p{color:var(--muted);font-size:13px;line-height:1.8;margin:12px 0 24px;flex:1}.test-level .btn{width:100%}.quiz-wrap{max-width:800px;margin:auto}.quiz-wrap h1{font-size:28px;line-height:1.65;margin:25px 0}.quiz-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.quiz-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:25px}.choice{line-height:1.7}.result-top{text-align:center;padding:30px}.result-score{font-size:66px;font-weight:850;letter-spacing:-3px;color:var(--green);margin:16px}.result-score small{font-size:18px;color:var(--muted)}.answer-item{margin-top:15px;padding:20px;background:#f8faf4;border:1px solid var(--line);border-radius:16px}.answer-item p{margin:8px 0;line-height:1.8;font-size:14px}.answer-item.wrong{background:#fff7e9}.answer-label{font-size:12px;color:var(--muted);margin-bottom:10px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:26px}.stats strong{font-size:27px}.stats small{font-size:12px}.two-equal{display:grid;grid-template-columns:1fr 1fr;gap:20px}.analysis-item{margin-top:18px}.analysis-item .meta{margin:0 0 9px}.table-scroll{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}th,td{text-align:left;padding:15px 12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600;font-size:12px}td .btn{padding:7px 12px;min-height:32px;font-size:12px}.details{margin-top:18px}.details summary{cursor:pointer;color:var(--green);font-weight:650;padding:12px 0}.form-grid{display:grid;gap:14px}.form-grid label{display:grid;gap:7px;font-size:13px;font-weight:600}.form-grid input,.form-grid select{width:100%}.form-inline{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.form-inline label{flex:1;min-width:150px;display:grid;gap:7px;font-size:12px}.form-inline input{width:100%}.class-card{margin-bottom:22px}.class-code{font-family:ui-monospace,monospace;letter-spacing:2px;background:#f1f5e9;padding:7px 12px;border-radius:10px;color:var(--deep);display:inline-block}.class-head{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:22px}.roster-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--line);gap:12px}.muted-row{font-size:12px;color:var(--muted);margin:10px 0}.discussion-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.85fr);gap:22px}.post{margin-bottom:18px}.post h3{margin:16px 0 10px}.post-body{white-space:pre-wrap;line-height:1.9;margin-bottom:16px;font-size:14px}.post-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.post-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.textbtn{padding:7px 0;background:none;border:0;color:var(--green);font-size:12px;font-weight:700}.replies{margin-top:18px;border-top:1px solid var(--line);padding-top:5px}.reply{padding:12px 0}.reply p{margin-top:7px;line-height:1.8;white-space:pre-wrap;font-size:13px}.post.hidden-post{opacity:.65}.mobile{display:none}.site-footer{display:flex;justify-content:space-between;gap:12px;margin-top:40px;font-size:11px;color:var(--muted)}.guide{background:#f1f7e9;border-radius:20px;margin-top:22px;padding:22px}.guide h3{margin-bottom:10px}.guide p{font-size:13px;line-height:1.85;color:var(--muted)}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:100;background:#234d3a;color:white;border-radius:14px;padding:14px 22px;box-shadow:0 10px 35px #17352330;max-width:90vw;display:none;font-size:14px}#toast.show{display:block}#toast.error{background:#8b4529}.urgent{color:#9c4c23}.quickstart{margin:18px 0;padding:15px;background:#f2f6ed;border-radius:14px;font-size:13px}.quickstart p{margin-bottom:10px}.full{width:100%}.spaced{margin-top:22px}.small-gap{margin-top:12px}.nowrap{white-space:nowrap}.countdown{min-width:115px}.break{overflow-wrap:anywhere}.bottom-notice{font-size:12px;color:var(--muted);line-height:1.8;margin-top:20px}dialog{border:1px solid var(--line);border-radius:24px;max-width:480px;width:90%;padding:30px;color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:#142d2460}dialog p{line-height:1.8;margin:18px 0}
@media(max-width:1050px){.workspace{padding:25px 24px 80px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:200px minmax(0,1fr)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout,.discussion-layout{grid-template-columns:1fr}.sticky{position:static}.test-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.test-level{padding:20px}}
@media(max-width:700px){.intro{padding:22px;min-height:100svh}.intro-main{grid-template-columns:1fr;gap:15px;padding:55px 0 25px}.intro h1{font-size:39px}.intro-main .mascot-scene{height:240px}.intro-footer{font-size:10px;flex-wrap:wrap}.role-wrap{margin:40px auto}.role-grid{grid-template-columns:1fr;gap:16px}.role-card{padding:24px;gap:12px}.role-card .role-icon{height:50px;width:50px;font-size:25px}.role-card h2{font-size:22px}.role-card .arrow{margin-top:-40px}.role-card p{max-width:85%}.auth-art{min-height:230px}.auth-art h1{font-size:27px}.auth-art .auth-figure{display:none}.auth-pane{padding:28px 23px 45px}.authbox h2{font-size:26px}.layout{display:block}.side{display:none}.workspace{padding:20px 17px 115px;max-width:100%}.top{margin-bottom:25px}.top .muted{font-size:11px}.top-actions .badge{display:none}.top-actions .subtle{font-size:12px;padding:8px}.top-actions{gap:5px}.page-title h1{font-size:27px}.hero{padding:26px 22px;min-height:260px;position:relative}.hero h1{font-size:27px;max-width:240px}.hero p{max-width:245px}.hero .cube{margin:100px -15px 0 -25px;width:75px;height:75px;opacity:.6}.hero .eyebrow{font-size:9px}.card{padding:21px;border-radius:21px}.cards{grid-template-columns:1fr}.course{padding:0;display:grid;grid-template-columns:100px minmax(0,1fr);gap:0}.courseart{height:100%;font-size:32px;border-radius:20px 0 0 20px}.courseart .tag{top:15px;left:10px;font-size:10px;padding:4px 8px}.coursebody{padding:18px 16px}.coursebody h3{font-size:18px}.coursebody .muted{min-height:0;font-size:12px}.coursebody .btn{font-size:12px;padding:9px;min-height:38px}.coursebody .meta{font-size:10px}.toolbar{margin:23px 0 18px;gap:12px}.search{width:100%}.tabs{width:100%;justify-content:space-between}.tabs button{flex:1;padding:10px 8px;font-size:13px}.entry-grid,.two-equal{grid-template-columns:1fr}.entry{padding:20px}.stats{gap:10px}.stats .card{padding:16px}.stats strong{font-size:25px}.stats .small{font-size:11px}.mobile{display:flex;position:fixed;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:9px 10px calc(9px + env(safe-area-inset-bottom));z-index:20;justify-content:space-around}.mobile button{flex:1;border:0;background:none;color:#687f70;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border-radius:12px;min-height:49px}.mobile button .ico{font-size:21px}.mobile button.active{color:var(--green);background:#edf5e9;font-weight:800}.grow-card{gap:16px}.level-circle{width:80px;height:80px;border-width:5px}.level-circle strong{font-size:25px}.test-cards{grid-template-columns:1fr}.test-level{padding:24px;position:relative}.test-level .level-mark{position:absolute;right:24px;top:20px;font-size:32px;margin:0}.test-level p{margin:12px 0 20px;max-width:85%}.test-level .btn{width:auto}.quiz-wrap h1{font-size:24px}.quiz-bottom .btn{padding:12px 16px}.grow-detail p{font-size:12px}.sectionhead h2{font-size:20px}.class-head{flex-direction:column}.discussion-layout{display:flex;flex-direction:column-reverse}.post{padding:20px}.site-footer{font-size:10px}.video-empty{font-size:12px;padding:15px}.video-empty strong{font-size:15px}.lesson-body .quote{font-size:15px;padding:17px}.page-title .row{flex-wrap:wrap}#toast{bottom:100px}.result-score{font-size:56px}.form-inline{align-items:stretch}.form-inline .btn{width:100%}.form-inline label{min-width:100%}.card .row{flex-wrap:wrap}.lesson-layout{display:flex;flex-direction:column}.sticky .mascot-scene{display:none}.brand{font-size:20px}.brandicon{width:37px;height:37px;border-radius:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
