@import"https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap";:root{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:#26332e;background:#fbfaf4;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #26332e;--muted: #6f7b76;--paper: #fffdf7;--cream: #fbfaf4;--orange: #f6ad2f;--orange-dark: #db8117;--blue: #2878ff;--green: #08a77e;--pink: #e94c89;--line: #dfe5df;--shadow: 0 18px 50px rgba(54, 69, 63, .1)}.points-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;background:#f3f7f5}.points-admin-grid article{padding:14px;border:1px solid #d8e0dc;border-radius:13px;background:#fff;box-shadow:0 6px 18px #1f342b0d}.student-point-head{display:flex;align-items:center;gap:10px}.student-point-head>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#e7f0ff;color:#2878ff;font-weight:900}.student-point-head>div{display:flex;flex:1;flex-direction:column}.student-point-head strong{font-size:12px}.student-point-head small{color:#87938d;font-size:9px}.student-point-head em{display:flex;align-items:center;gap:4px;color:#d38b14;font-size:16px;font-style:normal;font-weight:900}.student-point-head em svg{width:16px;fill:#ffbf3f}.quick-points{display:grid;grid-template-columns:auto auto 72px 1fr auto;gap:6px;margin-top:12px}.quick-points input,.quick-points button,.points-admin-grid footer select,.points-admin-grid footer button{min-height:34px;padding:0 8px;border:1px solid #ccd6d1;border-radius:7px;background:#fff;font-size:9px}.quick-points button{cursor:pointer}.points-admin-grid footer{display:flex;gap:6px;margin-top:9px;padding-top:9px;border-top:1px dashed #dce3df}.points-admin-grid footer select{flex:1}.danger-link{display:inline-flex!important;align-items:center;gap:4px!important;color:#bf4949!important}.danger-link svg{width:13px}.point-history{margin:15px;border:1px solid #d8dfdb;border-radius:11px;overflow:hidden}.point-history h3{display:flex;align-items:center;gap:7px;margin:0;padding:12px;background:#f5f8f6;font-size:11px}.point-history h3 svg{width:16px}.point-history>div{display:grid;grid-template-columns:90px 55px 1fr auto;align-items:center;gap:8px;padding:8px 11px;border-top:1px solid #edf0ee;font-size:9px}.point-history small{color:#7f8a84}.point-history .gain{color:#238d50}.point-history .loss{color:#c24949}.point-history button{border:0;background:transparent;color:#2878ff;cursor:pointer}.point-history em{color:#a2aba7;font-style:normal}.recycle-bin{margin:15px;border:1px solid #e2d2c8;border-radius:10px;background:#fffaf6}.recycle-bin summary{display:flex;align-items:center;gap:7px;padding:11px;cursor:pointer;font-size:10px;font-weight:900}.recycle-bin summary svg{width:16px}.recycle-bin>div{display:grid;grid-template-columns:120px 1fr auto auto;align-items:center;gap:8px;padding:9px 12px;border-top:1px solid #eee2da;font-size:9px}.recycle-bin button{padding:6px 8px;border:1px solid #d6dcd9;border-radius:6px;background:#fff;cursor:pointer}.course-console-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px}.course-console-grid article{padding:16px;border:1px solid #d6ded9;border-radius:13px;background:linear-gradient(145deg,#fff,#f7faf8)}.course-console-grid i{color:#2878ff;font-size:9px;font-style:normal;font-weight:900}.course-console-grid h3{margin:7px 0 5px;font-size:15px}.course-console-grid p{min-height:38px;color:#77847d;font-size:9px;line-height:1.7}.course-console-grid article>div{display:flex;align-items:center;gap:7px}.course-console-grid a{text-decoration:none}.assessment-overview-grid{display:grid;gap:12px;padding:16px}.assessment-overview-grid>article{padding:14px;border:1px solid #d7dfdb;border-radius:12px}.assessment-overview-grid article>header{display:flex;justify-content:space-between;gap:12px}.assessment-overview-grid header div{display:flex;flex-direction:column}.assessment-overview-grid header strong{font-size:12px}.assessment-overview-grid header small{color:#87928d;font-size:9px}.assessment-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.assessment-stats span{padding:10px;border-radius:9px;background:#f2f7f4;color:#718078;font-size:8px}.assessment-stats b{display:block;color:#26352f;font-size:16px}.assessment-overview-grid details summary{cursor:pointer;color:#2878ff;font-size:9px}.attempt-row{display:grid;grid-template-columns:1fr 70px 1fr;gap:8px;padding:7px 0;border-top:1px solid #edf0ee;font-size:9px}.homework-review{margin:14px;padding:14px;border:1px solid #d8dfdc;border-radius:12px}.homework-review>header{display:flex;justify-content:space-between}.homework-review h3{margin:0;font-size:12px}.homework-review p{color:#78847e;font-size:9px}.submission-review-row{display:grid;grid-template-columns:90px 130px minmax(170px,1fr) 70px 1fr 90px 1fr auto;gap:6px;align-items:center;padding:9px 0;border-top:1px solid #e8ecea}.submission-review-row pre{max-height:80px;margin:0;overflow:auto;padding:7px;border-radius:6px;background:#172438;color:#d7f5df;font-size:8px}.submission-review-row input{height:32px;padding:0 7px;border:1px solid #cbd4cf;border-radius:6px;font-size:8px}.missing-students{padding:8px;border-radius:7px;background:#fff2e8!important;color:#a5582f!important}.shared-upload{display:flex;align-items:center;gap:8px;padding:14px 17px;background:#f6f9f7}.shared-upload label{height:38px;min-width:260px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px dashed #8da097;border-radius:8px;background:#fff;cursor:pointer;font-size:9px}.shared-upload label svg{width:15px}.ai-course-writer{margin:8px 0 15px;padding:14px;border:1px solid #cbdcf7;border-radius:12px;background:linear-gradient(135deg,#f5f9ff,#fbf8ff)}.ai-course-writer>header>div{display:flex;align-items:center;gap:9px}.ai-course-writer header svg{color:#2878ff}.ai-course-writer header span{display:flex;flex-direction:column}.ai-course-writer header strong{font-size:11px}.ai-course-writer header small{color:#788781;font-size:8px}.ai-key-row{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;margin-top:12px}.ai-key-row svg{width:17px}.ai-key-row input,.ai-key-row button,.ai-writer-grid input,.ai-writer-grid select{height:35px;padding:0 8px;border:1px solid #cad5cf;border-radius:7px;background:#fff;font-size:8px}.ai-writer-grid{display:grid;grid-template-columns:140px 180px 1fr auto;gap:8px;align-items:end;margin-top:8px}.ai-writer-grid label{font-size:8px;font-weight:800}.ai-writer-grid label>*{width:100%;margin-top:5px}.student-homework-editor,.square-compose{width:min(900px,calc(100% - 40px));display:grid;gap:13px;margin:0 auto 40px;padding:22px;border:2px solid #1f3029;border-radius:18px;background:#fff;box-shadow:7px 8px #1f3029}.student-homework-editor label,.square-compose label{display:grid;gap:6px;font-size:12px;font-weight:900}.student-homework-editor textarea,.square-compose input,.square-compose textarea{padding:12px;border:1px solid #c8d4ce;border-radius:10px;font:inherit}.student-homework-editor .code-answer{background:#172438;color:#d8f5df;font-family:Consolas,monospace}.student-file-picker{display:flex!important;align-items:center;gap:7px;width:max-content;padding:9px 13px;border:1px dashed #738c80;border-radius:9px;cursor:pointer}.selected-files{display:flex;flex-wrap:wrap;gap:6px}.selected-files span{padding:6px 8px;border-radius:7px;background:#edf3ef;font-size:10px}.previous-feedback{display:flex;gap:10px;padding:12px;border-radius:10px;background:#eaf8ee}.homework-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 4vw 35px}.homework-card-grid article{padding:18px;border:2px solid #21322b;border-radius:17px;background:#fff;box-shadow:5px 6px #21322b}.homework-card-grid article>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#e8f1ff;color:#2878ff}.homework-card-grid h2{font-size:17px}.homework-card-grid p{min-height:50px;color:#6f7e77;font-size:11px}.homework-types{display:flex;gap:5px}.homework-types em{display:flex;align-items:center;gap:3px;padding:5px;border-radius:6px;background:#f0f4f2;font-size:8px;font-style:normal}.homework-card-grid button,.assessment-card-grid article>button{width:100%;margin-top:12px;padding:9px;border:0;border-radius:9px;background:#26352f;color:#fff;cursor:pointer}.student-files{margin:0 4vw 40px;padding:18px;border-radius:16px;background:#fff}.student-files a{display:flex;justify-content:space-between;padding:10px;border-top:1px solid #e8eeea;text-decoration:none;color:#27352f}.attempt-history{margin:0 4vw 40px;padding:18px;border-radius:16px;background:#fff}.attempt-history h2{display:flex;align-items:center;gap:8px}.attempt-history>div{display:grid;grid-template-columns:80px 80px 1fr;gap:8px;padding:9px;border-top:1px solid #e5ebe7}.square-grid article aside{margin-top:10px;padding:9px;border-radius:8px;background:#fff0e8;color:#a55137}.square-grid .approved{color:#248347}.square-grid .rejected{color:#bd4e4e}.leaf-timeline{width:min(1040px,100%);margin:0 auto;position:relative;padding-left:70px}.leaf-timeline:before{content:"";position:absolute;left:33px;top:18px;bottom:20px;width:7px;border-radius:99px;background:linear-gradient(#8fc66a,#3e8b57)}.leaf-lesson{position:relative;margin-bottom:15px}.leaf-lesson:before{content:"";position:absolute;left:-41px;top:25px;width:43px;height:18px;border-radius:100% 0;background:#98cc72;transform:rotate(18deg);box-shadow:inset -5px -3px #30713e2e}.leaf-course-button{width:100%;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:12px 15px;border:1px solid #d1ded4;border-radius:14px;background:#fff;text-align:left;cursor:pointer;box-shadow:0 5px 16px #2646330f}.leaf-course-button>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#f2b842;color:#20332a;font-weight:900}.leaf-course-button>div{display:flex;flex-direction:column}.leaf-course-button small{color:#829088;font-size:9px}.leaf-course-button strong{font-size:13px}.leaf-lesson.open .leaf-course-button{border-color:#6ca66d;background:#f7fbf4}.leaf-lesson .lesson-paper{margin-top:10px}.assessment-trend-card{grid-column:1/-1}.media-thumb{min-width:0}.media-thumb img,.media-thumb video{max-width:100%;max-height:100%}.lightbox-content{width:min(1000px,94vw);height:min(82vh,800px);display:flex;align-items:center;justify-content:center}.lightbox-content img,.lightbox-content video{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain}@media(max-width:900px){.points-admin-grid,.course-console-grid,.homework-card-grid{grid-template-columns:1fr}.quick-points{grid-template-columns:1fr 1fr}.quick-points input,.quick-points .admin-primary{grid-column:span 2}.submission-review-row{grid-template-columns:1fr 1fr}.submission-review-row pre{grid-column:1/-1}.ai-writer-grid{grid-template-columns:1fr}.assessment-stats{grid-template-columns:repeat(2,1fr)}.leaf-timeline{padding-left:42px}.leaf-timeline:before{left:17px;width:5px}.leaf-lesson:before{left:-29px;width:31px}.media-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.media-thumb{aspect-ratio:4/3}.lightbox{padding:12px}.lightbox-content{width:96vw;height:82vh}.recycle-bin>div{grid-template-columns:1fr auto}.recycle-bin>div small{grid-column:1/-1}.point-history>div{grid-template-columns:1fr auto}.point-history>div small{grid-column:1/-1}.ai-key-row{grid-template-columns:auto 1fr}.ai-key-row button{grid-column:2}.student-homework-editor,.square-compose{width:calc(100% - 24px);padding:15px}.homework-card-grid{padding-inline:14px}.leaf-course-button{grid-template-columns:40px 1fr auto;padding:10px}.leaf-course-button>span{width:36px;height:36px}.lesson-paper{border-radius:14px}.rich-content img{width:100%!important;height:auto!important;max-width:100%!important;display:block;margin:10px auto;object-fit:contain}.media-gallery{overflow:hidden}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--cream)}.resource-category-list,.assessment-category-list{display:grid;gap:10px;padding:14px 16px 16px;background:#f3f7f5}.resource-category,.assessment-category{overflow:hidden;border:1px solid #d6e0da;border-radius:10px;background:#fff}.resource-category>summary,.assessment-category>summary{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 13px;cursor:pointer;color:#26352f;font-size:10px;font-weight:900;list-style:none}.resource-category>summary::-webkit-details-marker,.assessment-category>summary::-webkit-details-marker{display:none}.resource-category>summary:after,.assessment-category>summary:after{content:"+";color:#2878ff;font-size:16px}.resource-category[open]>summary:after,.assessment-category[open]>summary:after{content:"−"}.resource-category>summary b,.assessment-category>summary b{margin-left:auto;margin-right:10px;color:#84918b;font-size:8px;font-weight:700}.resource-category .resource-library-grid,.assessment-category .assessment-overview-grid{padding:10px;border-top:1px solid #e8eeea;background:#f8fbf9}.resource-category article{display:grid;grid-template-columns:auto minmax(130px,1fr) minmax(125px,170px) auto auto auto;align-items:center}.resource-category article>label:first-of-type,.resource-category .resource-category-editor{display:grid;gap:4px;color:#7b8981;font-size:8px}.resource-category article>label:first-of-type input,.resource-category-editor input{width:100%;height:30px;padding:0 7px;border:1px solid #ccd7d0;border-radius:6px;font-size:8px}.assessment-category article>.resource-category-editor{display:flex;align-items:center;gap:7px;margin:10px 0;color:#7b8981;font-size:8px}.assessment-category article>.resource-category-editor input{max-width:180px}@media(max-width:900px){.resource-category article{grid-template-columns:1fr 1fr}.resource-category article>div{grid-column:1/-1}.resource-category article>label:first-of-type{grid-column:1/-1}.resource-category article>button,.resource-category article>a{justify-self:start}.assessment-category article>.resource-category-editor{flex-wrap:wrap}}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}img,video{max-width:100%}::selection{color:#19312a;background:#ffd97e}.public-shell{min-height:100vh;overflow:hidden;background-color:var(--cream);background-image:radial-gradient(rgba(38,51,46,.04) 1px,transparent 1px);background-size:18px 18px}.public-header{height:82px;display:flex;align-items:center;padding:0 clamp(22px,5vw,76px);position:relative;z-index:20;border-bottom:1px solid rgba(55,75,66,.1);background:#fbfaf4d9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.public-student-link{min-height:39px;display:inline-flex;align-items:center;gap:7px;margin-left:auto;padding:0 13px;border:2px solid var(--ink);border-radius:10px;background:#79ddf6;box-shadow:3px 4px 0 var(--ink);font-size:11px;font-weight:900;transition:.18s}.public-student-link:hover{translate:0 -2px;box-shadow:4px 6px 0 var(--ink)}.public-student-link svg{width:17px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--orange);border-radius:13px 13px 13px 4px;color:#25342e;transform:rotate(-3deg);box-shadow:3px 4px #26332e}.brand>span:last-child{display:flex;flex-direction:column;gap:1px}.brand strong{font-size:17px;letter-spacing:.04em}.brand small{color:var(--muted);font-size:10px;letter-spacing:.24em}.section-pad{width:min(1180px,calc(100% - 44px));margin-inline:auto}.eyebrow{display:inline-flex;align-items:center;gap:7px;color:#5c6863;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.primary-button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 23px;border:2px solid var(--ink);border-radius:999px;background:var(--orange);color:var(--ink);cursor:pointer;font-weight:800;box-shadow:4px 5px 0 var(--ink);transition:.2s ease}.primary-button:hover{transform:translate(2px,2px);box-shadow:2px 3px 0 var(--ink)}.back-link{display:inline-flex;align-items:center;gap:7px;color:#69756f;font-size:13px;font-weight:700}.back-link:hover{color:var(--blue)}.home-hero{min-height:650px;padding:76px clamp(22px,8vw,120px) 88px;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;isolation:isolate}.home-hero:before{content:"";position:absolute;inset:4% -10% auto 48%;height:94%;border-radius:50% 0 0 50%;background:#dceeff;z-index:-3;transform:rotate(-7deg)}.home-hero:after{content:"";width:110px;height:30px;position:absolute;left:8%;bottom:14%;border-bottom:4px dashed #77a6fd;border-radius:50%;transform:rotate(10deg)}.hero-copy{max-width:650px;position:relative;z-index:3}.hero-copy h1{margin:20px 0 24px;font-size:clamp(56px,7vw,98px);line-height:.98;letter-spacing:-.06em;color:#26332e}.hero-copy h1 em{font-style:normal;color:var(--orange-dark);position:relative;white-space:nowrap}.hero-copy h1 em:after{content:"";position:absolute;left:0;right:-8px;bottom:1px;height:11px;background:url("data:image/svg+xml,%3Csvg width='180' height='11' viewBox='0 0 180 11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 8c38-7 91-6 176-4' stroke='%23F6AD2F' stroke-width='5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/100% 100% no-repeat;z-index:-1}.hero-copy>p{width:min(530px,90%);margin:0 0 34px;font-size:18px;line-height:1.9;color:#65716c}.hero-illustration{min-height:480px;position:relative;display:grid;place-items:center}.growth-planet{width:min(330px,28vw);aspect-ratio:1;display:grid;place-items:center;position:relative;background:#f8b73c;border:4px solid var(--ink);border-radius:48% 52% 49% 51%;box-shadow:14px 16px #26332eeb;animation:planet-arrive .8s cubic-bezier(.2,.8,.2,1) both}.growth-planet:before,.growth-planet:after{content:"";position:absolute;width:32px;height:52px;top:-39px;border:4px solid var(--ink);border-radius:50% 50% 0 0;background:#65c970;transform:rotate(-35deg);transform-origin:bottom}.growth-planet:after{margin-left:43px;height:43px;background:#7cdb85;transform:rotate(26deg)}.planet-face{font-size:74px;font-weight:900;transform:rotate(-8deg);color:#26332e;line-height:1}.planet-face:before,.planet-face:after{content:"•";position:absolute;top:38%;font-size:32px}.planet-face:before{left:29%}.planet-face:after{right:29%}.planet-ring{width:145%;height:32%;position:absolute;border:5px solid #2878ff;border-top-color:transparent;border-radius:50%;transform:rotate(-12deg)}.planet-flag{position:absolute;right:-35px;top:6px;padding:11px 18px;border:3px solid var(--ink);background:#fff;border-radius:18px 18px 18px 3px;font-family:Ma Shan Zheng,cursive;font-size:20px;transform:rotate(5deg);box-shadow:4px 5px 0 var(--ink)}.code-card{position:absolute;width:120px;height:112px;display:grid;place-items:center;gap:5px;padding:17px;border:3px solid var(--ink);border-radius:23px;background:#fff;box-shadow:6px 7px 0 var(--ink);font-weight:800;animation:card-float 4s ease-in-out infinite}.code-card svg{width:31px;height:31px}.code-card-one{left:3%;top:15%;transform:rotate(-8deg)}.code-card-two{right:1%;bottom:12%;background:#82dfaa;transform:rotate(7deg);animation-delay:-2s}.hero-orbit{position:absolute;border:2px dashed rgba(40,120,255,.35);border-radius:50%;z-index:-2}.orbit-one{width:530px;height:330px;right:1%;top:20%;transform:rotate(-15deg)}.orbit-two{width:180px;height:180px;right:33%;top:16%}.hero-orbit span{width:13px;height:13px;position:absolute;border-radius:50%;background:var(--pink);top:20%;left:5%}.doodle{position:absolute;font-family:Ma Shan Zheng,cursive;color:#26332e47}.doodle-code{right:6%;top:15%;font-size:34px;transform:rotate(10deg)}.doodle-star{left:45%;top:15%;font-size:44px;color:var(--orange)}.class-picker{padding-block:100px 120px}.section-heading{display:flex;align-items:center;gap:18px;margin-bottom:40px}.section-number{width:62px;height:62px;display:grid;place-items:center;flex:0 0 auto;border:2px solid var(--ink);border-radius:50%;background:#fff;color:var(--blue);font-weight:900;font-size:13px;box-shadow:3px 4px 0 var(--ink)}.section-heading p{margin:0 0 5px;color:#8a948f;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.section-heading h2{margin:0;font-size:clamp(28px,4vw,43px);letter-spacing:-.04em}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.class-card{min-height:270px;padding:29px;position:relative;overflow:hidden;border:2px solid var(--ink);border-radius:26px 26px 26px 7px;background:var(--paper);box-shadow:7px 8px 0 var(--ink);transition:.25s ease;animation:card-in .5s both;animation-delay:var(--delay)}.class-card:nth-child(3n+2){background:#e5f7e8}.class-card:nth-child(3n+3){background:#fff0d1}.class-card:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:10px 14px 0 var(--ink)}.class-card-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#2878ff;color:#fff;transform:rotate(-4deg)}.class-card small{display:block;margin-top:27px;color:#85918b;font-size:10px;letter-spacing:.18em}.class-card h3{margin:5px 0 10px;font-size:24px}.class-card p{margin:0 0 22px;color:#6f7b76;line-height:1.7}.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#1762d9}.value-strip{min-width:100%;display:flex;align-items:center;justify-content:center;gap:34px;padding:28px 4%;background:var(--ink);color:#fff;transform:rotate(-1deg) scale(1.02)}.value-strip p{margin:0;font-weight:800;letter-spacing:.07em}.value-strip span{color:var(--orange)}.state-card,.empty-state,.setup-notice{border:1px solid var(--line);border-radius:22px;background:#fffc}.state-card{min-height:230px;display:grid;place-items:center;align-content:center;gap:9px;text-align:center;color:#718079}.state-card p,.state-card h2{margin:0}.state-error svg{color:#dd5b55}.empty-state{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;color:#718079;border-style:dashed}.empty-state>span{width:52px;height:52px;display:grid;place-items:center;margin-bottom:12px;border-radius:17px;background:#edf2ef;color:#5f7169}.empty-state h3{margin:0 0 6px;color:var(--ink)}.empty-state p{margin:0}.setup-notice{display:flex;align-items:center;gap:15px;padding:22px;background:#fff4d9;border-color:#e8d39d}.setup-notice>svg{flex:0 0 auto;color:#bc751a}.setup-notice strong{display:block;margin-bottom:4px}.setup-notice p{margin:0;color:#776c54}.setup-notice.compact{padding:16px;align-items:flex-start}.setup-notice.compact p{font-size:13px;line-height:1.6}.page-center{width:min(760px,calc(100% - 40px));min-height:65vh;display:grid;align-items:center;margin:auto}.spin{animation:spin 1s linear infinite}.class-hero{padding-top:45px}.class-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:62px 0 42px;border-bottom:2px solid var(--ink)}.class-title-row h1{margin:14px 0 13px;font-size:clamp(50px,7vw,86px);letter-spacing:-.07em;line-height:1}.class-title-row p{max-width:680px;margin:0;color:#6c7872;font-size:17px;line-height:1.8}.class-stat{min-width:180px;display:flex;align-items:center;gap:13px;padding:18px 20px;border:2px solid var(--ink);border-radius:20px 20px 5px;background:#fff;box-shadow:5px 6px 0 var(--ink)}.class-stat strong{color:var(--blue);font-size:44px;line-height:1}.class-stat span{font-size:12px;line-height:1.5;color:#6d7973}.name-cloud-section{padding-block:75px 90px}.cloud-intro{text-align:center}.cloud-intro span{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.17em}.cloud-intro h2{margin:7px 0 0;font-size:clamp(29px,5vw,50px)}.name-cloud{width:min(850px,100%);height:500px;position:relative;margin:28px auto 0;border:2px dashed #b9ccc4;border-radius:50%;background:radial-gradient(circle at center,#fff 0 16%,#f5fbf8 17% 45%,transparent 46%)}.name-cloud:before,.name-cloud:after{content:"";position:absolute;border:1px solid #d7e2dd;border-radius:50%;inset:14%}.name-cloud:after{inset:31%}.cloud-core{width:145px;aspect-ratio:1;display:grid;place-items:center;align-content:center;position:absolute;left:calc(50% - 72px);top:calc(50% - 72px);z-index:2;border:3px solid var(--ink);border-radius:50%;background:var(--orange);box-shadow:6px 7px 0 var(--ink);transform:rotate(-4deg)}.cloud-core span{font-size:13px}.cloud-core strong{font-family:Ma Shan Zheng,cursive;font-size:28px}.floating-name{min-width:140px;height:57px;display:flex;align-items:center;gap:8px;padding:6px 13px 6px 7px;position:absolute;z-index:3;border:2px solid var(--ink);border-radius:999px;background:#fff;box-shadow:4px 5px 0 var(--ink);transform:rotate(var(--rotate));animation:name-float 4s ease-in-out infinite;animation-delay:var(--float-delay);transition:filter .2s}.floating-name:hover{filter:brightness(.96);z-index:10}.floating-name img,.floating-name>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;object-fit:cover;background:#dbe9ff;font-weight:900}.floating-name strong{flex:1;white-space:nowrap}.floating-name svg{color:#6a7771}.floating-name.color-1{background:#e3f8e8}.floating-name.color-2{background:#fff0cf}.floating-name.color-3{background:#fce3ee}.floating-name.color-4{background:#dff3f0}.homework-section{padding-block:80px 120px}.homework-list{display:grid;gap:16px}.homework-card{min-height:130px;display:grid;grid-template-columns:94px 1fr 60px;align-items:center;gap:22px;padding:22px 28px;position:relative;border:2px solid var(--ink);border-radius:22px 22px 22px 6px;background:#fff;box-shadow:5px 6px 0 var(--ink)}.homework-date{height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:15px;background:#fff0d0;color:#9d5d0b;font-weight:900}.homework-card small{color:#859089;font-size:10px;letter-spacing:.14em}.homework-card h3{margin:4px 0 8px;font-size:20px}.homework-card .rich-content{color:#66726d;font-size:14px}.homework-mark{color:#d0dbd5;width:34px;height:34px}.student-hero{padding-top:38px}.student-profile{min-height:300px;display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:34px;padding:44px 0 35px;position:relative;border-bottom:2px solid var(--ink)}.student-avatar{width:172px;aspect-ratio:1;position:relative;border:3px solid var(--ink);border-radius:48% 52% 43% 57%;background:#dbeafd;box-shadow:8px 9px 0 var(--ink);transform:rotate(-3deg)}.student-avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.student-avatar>span{width:100%;height:100%;display:grid;place-items:center;font-size:70px;font-weight:900}.student-avatar i{width:42px;height:42px;display:grid;place-items:center;position:absolute;right:-10px;top:-12px;border:2px solid var(--ink);border-radius:50%;background:var(--orange)}.student-title>p{margin:0 0 8px;color:var(--blue);font-size:11px;font-weight:900;letter-spacing:.18em}.student-title h1{margin:0 0 20px;font-size:clamp(44px,6vw,74px);line-height:1;letter-spacing:-.06em}.student-title h1 span{display:block;margin-top:12px;color:#67746e;font-size:.39em;letter-spacing:-.02em}.profile-meta{display:flex;flex-wrap:wrap;gap:9px}.profile-meta span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #d7ded9;color:#65716b;font-size:12px}.term-select{align-self:end;margin-bottom:14px;position:relative;color:#77827d;font-size:11px;font-weight:800;letter-spacing:.1em}.term-select select{min-width:170px;display:block;margin-top:8px;padding:12px 36px 12px 14px;appearance:none;border:2px solid var(--ink);border-radius:13px;background:#fff;color:var(--ink);font-weight:700}.term-select svg{position:absolute;right:12px;bottom:14px;pointer-events:none}.overview-section{padding-block:80px}.overview-grid{display:grid;grid-template-columns:.85fr 1.4fr;gap:22px}.overview-card{min-width:0;padding:25px;border:2px solid var(--ink);border-radius:24px 24px 24px 7px;background:#fff;box-shadow:6px 7px 0 var(--ink)}.overview-card.radar-card{background:#f7fbff}.card-title{display:flex;align-items:center;gap:12px}.card-title>span{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:var(--orange)}.card-title small{color:#8a958f;font-size:9px;letter-spacing:.15em}.card-title h3{margin:1px 0 0;font-size:18px}.radar-wrap{width:100%;height:330px}.radar-wrap.compact{height:235px}.trend-wrap{width:100%;height:330px;padding-top:20px}.lesson-section{padding-block:50px 130px}.lesson-timeline{width:min(1000px,100%);margin:0 auto;position:relative}.lesson-timeline:before{content:"";width:3px;position:absolute;left:35px;top:35px;bottom:30px;background:repeating-linear-gradient(to bottom,#27352f 0 8px,transparent 8px 16px)}.lesson-entry{display:grid;grid-template-columns:72px 1fr;gap:28px;position:relative;margin-bottom:42px}.timeline-pin{z-index:2}.timeline-pin span{width:72px;height:72px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:50%;background:var(--orange);font-size:21px;font-weight:900;box-shadow:4px 5px 0 var(--ink)}.lesson-paper{overflow:hidden;border:2px solid var(--ink);border-radius:25px 25px 25px 7px;background:var(--paper);box-shadow:7px 8px 0 var(--ink)}.lesson-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:28px 31px 23px;border-bottom:1px dashed #bdc8c2}.lesson-header small{color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.14em}.lesson-header h3{margin:5px 0 7px;font-size:27px}.lesson-header p{margin:0;color:#727e78}.lesson-stamp{padding:8px 12px;border:2px solid #e35454;border-radius:8px;color:#d64545;font-family:Ma Shan Zheng,cursive;font-size:18px;transform:rotate(6deg);white-space:nowrap}.course-content{padding:26px 31px 32px}.course-content h4,.teacher-note h4,.lesson-radar h4{display:flex;align-items:center;gap:8px;margin:0 0 15px;font-size:14px}.student-record{padding:26px 31px 31px;border-top:1px solid #d8e0db;background:#f0f6f3}.record-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:20px}.teacher-note,.lesson-radar{padding:20px;border-radius:18px;background:#fff}.teacher-note p{margin:0;font-size:16px;line-height:2;white-space:pre-wrap}.lesson-radar{min-width:0}.score-chips{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}.score-chips span{display:inline-flex;align-items:center;gap:7px;padding:7px 8px 7px 11px;border:1px solid #d8dfdb;border-left:4px solid var(--ability-color);border-radius:999px;background:#fff;font-size:12px}.score-chips strong{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--ability-color);color:#fff}.record-pending{padding:22px 31px;border-top:1px dashed #c7d1cc;color:#86918c;text-align:center;font-size:13px}.media-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.media-thumb{aspect-ratio:1.25;overflow:hidden;padding:0;position:relative;border:0;border-radius:14px;background:#dae4df;cursor:pointer}.media-thumb img,.media-thumb video{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s}.media-thumb:hover img,.media-thumb:hover video{transform:scale(1.04)}.play-badge{width:39px;height:39px;display:grid;place-items:center;position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);border-radius:50%;background:#ffffffe0;color:var(--blue)}.media-index{display:flex;align-items:center;gap:4px;position:absolute;left:8px;bottom:8px;padding:4px 7px;border-radius:999px;background:#1e2a25b3;color:#fff;font-size:9px}.lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:30px;background:#121916e6}.lightbox-content{max-width:min(1000px,90vw);max-height:88vh}.lightbox-content img,.lightbox-content video{max-height:80vh;border-radius:16px}.lightbox-content p{color:#fff;text-align:center}.lightbox-close{position:absolute;right:25px;top:20px;border:0;background:none;color:#fff;cursor:pointer}.not-found{min-height:75vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.not-found>span{font-size:100px;font-weight:900;color:#dce6e1}.not-found h1{margin:-15px 0 8px}.not-found p{color:#79857f}.not-found .primary-button{margin-top:18px}.public-footer{min-height:180px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:40px clamp(22px,6vw,90px);background:#26332e;color:#fff}.public-footer p{margin:0;font-family:Ma Shan Zheng,cursive;font-size:27px;color:#f3c765}.public-footer a{display:inline-flex;align-items:center;gap:7px;color:#aebbb5;font-size:12px}.rich-content{min-width:0;overflow-wrap:anywhere;line-height:1.85;word-break:break-word}.rich-content>:first-child{margin-top:0}.rich-content>:last-child{margin-bottom:0}.rich-content h1,.rich-content h2,.rich-content h3{margin:1.2em 0 .55em;line-height:1.35}.rich-content p{margin:.7em 0}.rich-content ul,.rich-content ol{padding-left:1.5em}.rich-content pre{overflow-x:auto;padding:15px 17px;border-radius:12px;background:#25322d;color:#e9f7f0;font-family:Consolas,monospace;line-height:1.7}.rich-content blockquote{margin:1em 0;padding:5px 0 5px 16px;border-left:4px solid var(--orange);color:#68766f}.rich-content figure{max-width:100%;margin:14px 0}.rich-content img{width:auto;max-width:100%;height:auto;max-height:520px;margin:14px auto;display:block;object-fit:contain;border-radius:13px}.rich-content figcaption{display:none!important}.rich-content a{color:#176ce0;text-decoration:underline;text-underline-offset:3px}.admin-loading{min-height:100vh;display:grid;place-items:center;background:#edf1ee}.admin-app{min-width:1100px;min-height:100vh;display:flex;background:#f2f4f2;color:#25322d}.admin-sidebar{width:248px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:26px 17px 20px;z-index:20;background:#23322d;color:#dbe4df}.admin-brand{display:flex;align-items:center;gap:12px;padding:0 12px 33px}.admin-brand>span{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:#f4b642;color:#26332e;transform:rotate(-4deg)}.admin-brand>div{display:flex;flex-direction:column}.admin-brand strong{color:#fff;font-size:16px}.admin-brand small{margin-top:2px;color:#82938b;font-size:8px;letter-spacing:.2em}.admin-sidebar nav{display:grid;gap:6px}.admin-sidebar nav button,.sidebar-bottom a,.sidebar-bottom button{width:100%;height:48px;display:flex;align-items:center;gap:12px;padding:0 13px;border:0;border-radius:11px;background:transparent;color:#9eb0a8;font-weight:600;cursor:pointer}.admin-sidebar nav button svg,.sidebar-bottom svg{width:19px}.admin-sidebar nav button:hover,.sidebar-bottom a:hover,.sidebar-bottom button:hover{background:#ffffff0f;color:#fff}.admin-sidebar nav button.active{background:#f5b63f;color:#24332d;box-shadow:0 5px 15px #00000026}.sidebar-bottom{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}.admin-main{width:calc(100% - 248px);min-height:100vh;margin-left:248px}.admin-topbar{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 30px;position:sticky;top:0;z-index:15;border-bottom:1px solid #dce2de;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.workspace-selectors{display:flex;align-items:center;gap:10px}.workspace-selectors label>span{display:block;margin-bottom:4px;color:#8a9590;font-size:9px;font-weight:800;letter-spacing:.1em}.workspace-selectors label>div{position:relative}.workspace-selectors select{min-width:170px;height:36px;padding:0 31px 0 10px;appearance:none;border:1px solid #d7ded9;border-radius:8px;background:#fff;font-size:12px;font-weight:700}.workspace-selectors label svg{width:14px;position:absolute;right:9px;top:11px;pointer-events:none}.small-add{height:34px;align-self:flex-end;display:flex;align-items:center;gap:3px;margin-bottom:1px;padding:0 9px;border:1px solid #d2dad5;border-radius:8px;background:#f7faf8;font-size:11px;cursor:pointer}.small-add svg{width:14px}.small-add:disabled{opacity:.4}.admin-user{display:flex;align-items:center;gap:10px}.admin-user>span{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:#ddebff;color:#1765da;font-weight:900}.admin-user>div{display:flex;flex-direction:column}.admin-user strong{font-size:12px}.admin-user small{max-width:150px;overflow:hidden;color:#88938e;font-size:9px;text-overflow:ellipsis}.admin-user>svg{width:17px;color:#98a29d}.admin-content{padding:35px 36px 70px}.admin-page-heading{min-height:82px;display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:27px}.admin-page-heading small{color:#2878ff;font-size:9px;font-weight:900;letter-spacing:.18em}.admin-page-heading h1{margin:3px 0 5px;font-size:31px;letter-spacing:-.04em}.admin-page-heading p{margin:0;color:#7b8781;font-size:13px}.admin-primary{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 17px;border:0;border-radius:9px;background:#2878ff;color:#fff;font-weight:700;font-size:13px;box-shadow:0 5px 15px #2878ff33;cursor:pointer}.admin-primary:hover{background:#1668e7}.admin-primary:disabled{opacity:.55;cursor:not-allowed}.admin-primary svg{width:17px}.today-pill{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dbe2de;border-radius:999px;background:#fff;color:#68756f;font-size:11px}.today-pill i,.status-badge i{width:7px;height:7px;border-radius:50%;background:#0db581;box-shadow:0 0 0 4px #0db5811f}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat-card{min-height:124px;display:grid;grid-template-columns:48px 1fr 20px;align-items:center;gap:13px;padding:20px;border:1px solid #dce2de;border-radius:15px;background:#fff;text-align:left;cursor:pointer;transition:.2s}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.stat-card>span{width:45px;height:45px;display:grid;place-items:center;border-radius:12px}.stat-card>span svg{width:21px}.stat-card.blue>span{background:#e4efff;color:#2878ff}.stat-card.orange>span{background:#fff0d5;color:#c77a13}.stat-card.green>span{background:#def5ea;color:#0c9a70}.stat-card.pink>span{background:#fce3ee;color:#db3f7e}.stat-card div{display:flex;flex-direction:column}.stat-card small{color:#7d8983;font-size:11px}.stat-card strong{margin-top:3px;font-size:26px}.stat-card em{margin-left:3px;color:#8b9690;font-size:11px;font-style:normal;font-weight:500}.stat-card>svg{width:15px;color:#a2aca7}.overview-columns{display:grid;grid-template-columns:1.5fr .8fr;gap:17px;margin-top:18px}.admin-section-card{border:1px solid #dce2de;border-radius:16px;background:#fff}.admin-section-card header{padding:22px 24px 15px}.admin-section-card header small,.rubric-note>small{color:#96a09b;font-size:8px;font-weight:900;letter-spacing:.18em}.admin-section-card header h2{margin:4px 0 0;font-size:18px}.quick-list{padding:0 12px 12px}.quick-list button{width:100%;display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:12px;padding:12px;border:0;border-top:1px solid #edf0ee;background:#fff;text-align:left;cursor:pointer}.quick-list button>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eef3f0;color:#64736c;font-size:10px;font-weight:900}.quick-list button div{display:flex;flex-direction:column;gap:2px}.quick-list button strong{font-size:12px}.quick-list button small{color:#88948e;font-size:10px}.quick-list button svg{width:15px;color:#9da7a2}.rubric-note{min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;overflow:hidden;position:relative;background:#25352f;color:#fff}.rubric-note>span{width:180px;height:180px;display:grid;place-items:center;position:absolute;right:-35px;top:-40px;border:1px dashed rgba(255,255,255,.25);border-radius:50%}.rubric-note>span svg{width:55px;height:55px;color:#f3b43b}.rubric-note h2{margin:7px 0 13px;font-size:24px;line-height:1.45}.rubric-note p{margin:0;color:#b8c6bf;font-size:12px;line-height:1.8}.admin-welcome{min-height:600px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.welcome-art{width:95px;height:95px;display:grid;place-items:center;margin-bottom:24px;border:2px solid #25332e;border-radius:50%;background:#f5b943;box-shadow:6px 7px #25332e}.welcome-art svg{width:38px;height:38px}.admin-welcome>small{color:#2878ff;font-weight:900;letter-spacing:.15em}.admin-welcome h1{margin:8px 0;font-size:35px}.admin-welcome p{max-width:460px;margin:0 0 23px;color:#78857f}.admin-table-card{overflow:hidden;border:1px solid #dce2de;border-radius:15px;background:#fff}.table-tools{min-height:67px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 19px;border-bottom:1px solid #e4e8e5}.table-tools>span{color:#84908a;font-size:11px}.search-box{width:260px;height:36px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #d8dfdb;border-radius:8px;background:#f8faf9}.search-box svg{width:16px;color:#94a09a}.search-box input{width:100%;border:0;outline:0;background:transparent;font-size:12px}.admin-table{width:100%;border-collapse:collapse}.admin-table th{height:43px;padding:0 17px;background:#f6f8f7;color:#84908a;font-size:10px;font-weight:700;text-align:left}.admin-table td{height:69px;padding:11px 17px;border-top:1px solid #edf0ee;color:#4f5e57;font-size:12px}.admin-table tbody tr:hover{background:#fafcfb}.student-cell{display:flex;align-items:center;gap:10px}.student-cell>span{width:39px;height:39px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#e4efff;color:#2878ff}.student-cell img{width:100%;height:100%;object-fit:cover}.student-cell svg{width:18px}.student-cell strong{color:#26332e}.date-cell{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.date-cell svg{width:14px;color:#8d9993}.status-badge{display:inline-flex;align-items:center;gap:7px;color:#298261;font-size:10px}.status-badge i{width:5px;height:5px;box-shadow:none}.row-actions{display:flex;justify-content:flex-end;gap:5px}.row-actions button{width:32px;height:32px;display:grid;place-items:center;border:1px solid #dfe4e1;border-radius:8px;background:#fff;color:#738079;cursor:pointer}.row-actions button:hover{color:#2878ff;border-color:#a9c8f8}.row-actions button.danger:hover{color:#d94b50;border-color:#efbdc0}.row-actions svg{width:15px}.lesson-number{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#fff0d5;color:#ad6b12;font-weight:900}.lesson-name{display:flex;flex-direction:column;gap:4px}.lesson-name strong{color:#26332e}.lesson-name small{max-width:400px;overflow:hidden;color:#8b9690;text-overflow:ellipsis;white-space:nowrap}.review-button{min-height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #b9d0f7;border-radius:8px;background:#f0f6ff;color:#1768da;font-size:10px;font-weight:700;cursor:pointer}.review-button svg{width:14px}.admin-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:28px;background:#19221ea3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-modal{width:min(560px,100%);max-height:calc(100vh - 56px);display:flex;flex-direction:column;overflow:hidden;border-radius:17px;background:#fff;box-shadow:0 30px 90px #00000040;animation:modal-in .2s ease both}.admin-modal.wide{width:min(1000px,100%)}.admin-modal>header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 23px;border-bottom:1px solid #e2e7e4}.admin-modal>header h2{margin:0 0 3px;font-size:20px}.admin-modal>header p{margin:0;color:#82908a;font-size:11px}.admin-modal>header>button{width:35px;height:35px;display:grid;place-items:center;border:0;border-radius:9px;background:#f0f3f1;cursor:pointer}.admin-modal>header>button svg{width:18px}.admin-modal-body{overflow-y:auto}.admin-form{display:grid;gap:18px;padding:23px}.admin-form label,.rich-editor-field>label,.comment-field{display:grid;gap:7px;color:#4d5b55;font-size:11px;font-weight:700}.admin-form input,.admin-form textarea,.comment-field textarea{width:100%;border:1px solid #d5dcd8;border-radius:9px;outline:0;background:#fbfcfb;font-size:13px;font-weight:400}.admin-form input{height:42px;padding:0 12px}.admin-form textarea,.comment-field textarea{padding:11px 12px;resize:vertical}.admin-form input:focus,.admin-form textarea:focus,.comment-field textarea:focus{border-color:#6da5f4;box-shadow:0 0 0 3px #2878ff14}.form-row{display:flex;gap:14px}.form-row>label{flex:1}.form-row.three>label{flex:0 0 130px}.form-row.three>label.grow,.form-row .grow{flex:1}.form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:7px}.form-actions>button:not(.admin-primary){min-width:75px;border:1px solid #d6ddd9;border-radius:9px;background:#fff;cursor:pointer}.form-actions.sticky{position:sticky;bottom:-23px;z-index:5;margin:0 -23px -23px;padding:14px 23px;border-top:1px solid #e1e6e3;background:#fff}.avatar-uploader{display:flex;align-items:center;gap:17px;padding:15px;border:1px dashed #cbd5d0;border-radius:12px;background:#f8faf9}.avatar-uploader>span{width:78px;height:78px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#dfeaff;color:#2878ff}.avatar-uploader>span img{width:100%;height:100%;object-fit:cover}.avatar-uploader>span svg{width:32px}.avatar-uploader>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.upload-avatar-button{min-height:34px;display:inline-flex!important;grid-auto-flow:column;align-items:center;gap:6px!important;padding:0 11px;border:1px solid #cbd4cf;border-radius:8px;background:#fff;cursor:pointer}.upload-avatar-button svg{width:15px}.avatar-uploader small{color:#89948f;font-size:10px}.editor-shell{overflow:hidden;border:1px solid #d5dcd8;border-radius:10px;background:#fff}.editor-toolbar{min-height:43px;display:flex;align-items:center;gap:3px;padding:5px 8px;border-bottom:1px solid #e0e5e2;background:#f7f9f8}.editor-toolbar button{width:31px;height:31px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;cursor:pointer}.editor-toolbar button:hover{background:#e7ece9}.editor-toolbar button:disabled{opacity:.4}.editor-toolbar button svg{width:15px}.editor-toolbar>span{width:1px;height:21px;margin:0 4px;background:#d7ded9}.editor-toolbar small{margin-left:5px;color:#2878ff}.editor-content{padding:16px 18px;outline:0;font-size:13px;font-weight:400}.editor-content:empty:before{content:attr(data-placeholder);color:#a5aea9;pointer-events:none}.evaluation-layout{display:grid;grid-template-columns:190px 1fr;min-height:600px}.evaluation-layout>aside{padding:20px 12px;border-right:1px solid #e1e6e3;background:#f7f9f8}.evaluation-layout>aside>label{display:block;padding:0 9px 10px;color:#84918a;font-size:9px;font-weight:900;letter-spacing:.12em}.evaluation-layout>aside button{width:100%;height:50px;display:flex;align-items:center;gap:9px;padding:0 8px;position:relative;border:0;border-radius:9px;background:transparent;font-size:12px;cursor:pointer}.evaluation-layout>aside button.active{background:#e7f0ff;color:#1765d9}.evaluation-layout>aside button>span{width:34px;height:34px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#fff}.evaluation-layout>aside button img{width:100%;height:100%;object-fit:cover}.evaluation-layout>aside button svg{width:16px}.evaluation-layout>aside button i{width:6px;height:6px;position:absolute;right:9px;border-radius:50%;background:#2878ff}.evaluation-form{min-width:0;padding:22px}.evaluation-status{margin-bottom:14px}.evaluation-status span{padding:6px 9px;border-radius:7px;background:#fff0d8;color:#9b6419;font-size:10px}.evaluation-status span.done{background:#e2f5eb;color:#247453}.ability-scorer{display:grid;gap:13px}.scorer-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.scorer-heading label,.media-manager-title label{color:#33423b;font-size:12px;font-weight:800}.scorer-heading p,.media-manager-title p{margin:3px 0 0;color:#8b9691;font-size:10px}.scorer-heading button{display:flex;align-items:center;gap:5px;border:0;background:none;color:#2878ff;font-size:10px;cursor:pointer}.score-guide{padding:13px;border:1px solid #dbe3de;border-radius:11px;background:#f7faf8}.score-guide nav{display:flex;gap:5px;margin-bottom:12px}.score-guide nav button{padding:5px 9px;border:1px solid #d7ded9;border-radius:999px;background:#fff;font-size:9px;cursor:pointer}.score-guide nav button.active{border-color:#2878ff;background:#2878ff;color:#fff}.score-guide h4{margin:0 0 4px}.score-guide>div>p{margin:0;color:#68756f;font-size:10px}.score-guide ul{display:grid;grid-template-columns:1fr 1fr;gap:3px 22px;padding-left:18px;color:#67736d;font-size:9px;line-height:1.5}.score-levels{display:grid!important;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:10px}.score-levels span{display:flex;flex-direction:column;padding:7px;border-radius:7px;background:#fff}.score-levels b{color:#2878ff}.score-levels strong{font-size:9px}.score-levels small{color:#8b9691;font-size:8px}.ability-inputs{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ability-input{padding:12px;border:1px solid #e0e5e2;border-radius:10px}.ability-input>div:first-child{display:flex;align-items:center;gap:8px}.ability-input i{width:8px;height:8px;border-radius:50%}.ability-input span{display:flex;flex:1;flex-direction:column}.ability-input span strong{font-size:11px}.ability-input span small{max-width:210px;overflow:hidden;color:#929c97;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.ability-input b{font-size:13px}.ability-input input[type=range]{width:100%;height:4px;margin:13px 0 7px;accent-color:var(--range-color)}.range-labels{display:flex;justify-content:space-between;color:#9aa39f;font-size:7px}.comment-field{margin-top:17px}.evaluation-save{display:flex;align-items:center;gap:12px;margin:12px 0 18px}.evaluation-save small{color:#929d97;font-size:9px}.media-manager{padding-top:17px;border-top:1px solid #e3e7e5}.media-manager-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.media-manager-title>div{display:flex;flex-direction:column}.media-manager-title button{min-height:34px;display:flex;align-items:center;gap:6px;padding:0 11px;border:1px solid #cbd4cf;border-radius:8px;background:#fff;font-size:10px;cursor:pointer}.media-manager-title button svg{width:15px}.admin-media-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.admin-media-grid>div{aspect-ratio:1;overflow:hidden;position:relative;border-radius:9px;background:#dfe6e2}.admin-media-grid img,.admin-media-grid video{width:100%;height:100%;object-fit:cover}.admin-media-grid>div>span{width:24px;height:24px;display:grid;place-items:center;position:absolute;left:5px;bottom:5px;border-radius:50%;background:#ffffffd9;color:#2878ff}.admin-media-grid span svg{width:12px}.admin-media-grid button{width:25px;height:25px;display:none;place-items:center;position:absolute;right:5px;top:5px;border:0;border-radius:7px;background:#dc4b52;color:#fff;cursor:pointer}.admin-media-grid>div:hover button{display:grid}.admin-media-grid button svg{width:12px}.media-drop-empty,.media-save-hint{min-height:72px;display:flex;align-items:center;justify-content:center;gap:9px;margin-top:12px;border:1px dashed #cad4cf;border-radius:10px;color:#8f9a94;font-size:10px}.media-drop-empty svg,.media-save-hint svg{width:19px}.media-save-hint{background:#f8faf9}.login-page{min-height:100vh;padding:28px;position:relative;display:grid;place-items:center;overflow:hidden;background:#e8eee9}.login-page:before{content:"";width:450px;height:450px;position:absolute;left:-170px;top:-180px;border:2px dashed #a7bbb1;border-radius:50%}.login-page>.back-link{position:absolute;left:31px;top:28px}.login-card{width:min(970px,94vw);min-height:570px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:2px solid #26332e;border-radius:28px 28px 28px 8px;background:#fff;box-shadow:12px 14px #26332e}.login-visual{display:flex;flex-direction:column;justify-content:center;padding:55px;position:relative;overflow:hidden;background:#26352f;color:#fff}.login-visual:after{content:"</>";position:absolute;right:-10px;bottom:-35px;color:#ffffff0f;font-size:170px;font-weight:900}.login-lock{width:72px;height:72px;display:grid;place-items:center;margin-bottom:42px;border:3px solid #18221e;border-radius:23px;background:#f5b63f;color:#26332e;box-shadow:6px 7px #15201c;transform:rotate(-5deg)}.login-lock svg{width:31px;height:31px}.login-visual>p{margin:0;color:#f5bd53;font-size:10px;font-weight:900;letter-spacing:.19em}.login-visual h1{margin:10px 0 17px;font-size:42px;line-height:1.35;letter-spacing:-.05em}.login-visual>span{color:#aab9b2;font-size:13px}.login-form-wrap{display:flex;flex-direction:column;justify-content:center;gap:31px;padding:60px}.login-form-wrap>div>small{color:#2878ff;font-size:9px;font-weight:900;letter-spacing:.2em}.login-form-wrap h2{margin:6px 0 5px;font-size:30px}.login-form-wrap>div>p{margin:0;color:#84908a;font-size:12px}.login-form-wrap form{display:grid;gap:17px}.login-form-wrap form label>span{display:block;margin-bottom:7px;color:#53615a;font-size:11px;font-weight:700}.login-form-wrap form label>div{height:47px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid #d5dcd8;border-radius:9px;background:#fafcfb}.login-form-wrap form label svg{width:17px;color:#91a099}.login-form-wrap input{width:100%;border:0;outline:0;background:transparent;font-size:13px}.login-form-wrap .admin-primary{margin-top:6px;height:47px}.form-error{margin:-5px 0 0;color:#d5474e;font-size:11px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes planet-arrive{0%{opacity:0;transform:scale(.65) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes card-float{0%,to{translate:0 0}50%{translate:0 -10px}}@keyframes name-float{0%,to{translate:0 0;rotate:var(--rotate)}50%{translate:0 -9px;rotate:calc(var(--rotate) + 1deg)}}@keyframes card-in{0%{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}@keyframes modal-in{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:900px){.public-header{height:68px}.brand-mark{width:37px;height:37px}.brand strong{font-size:14px}.home-hero{min-height:760px;grid-template-columns:1fr;padding-top:55px;text-align:center}.home-hero:before{inset:auto -30% 0;height:48%;border-radius:50% 50% 0 0}.hero-copy{margin:auto}.hero-copy>p{margin-inline:auto}.hero-illustration{min-height:340px}.growth-planet{width:230px}.code-card{width:92px;height:88px;font-size:11px}.code-card-one{left:8%;top:11%}.code-card-two{right:8%;bottom:8%}.planet-flag{right:-22px;font-size:15px}.class-grid{grid-template-columns:1fr 1fr}.overview-grid{grid-template-columns:1fr}.student-profile{grid-template-columns:150px 1fr}.student-avatar{width:140px}.term-select{grid-column:1 / -1;justify-self:start;align-self:auto}.record-grid{grid-template-columns:1fr}}@media(max-width:600px){.section-pad{width:min(100% - 28px,1180px)}.public-header{padding-inline:15px}.brand small{display:none}.public-student-link{min-height:36px;padding-inline:10px;font-size:9px;box-shadow:2px 3px 0 var(--ink)}.home-hero{min-height:690px;padding:44px 15px 50px}.hero-copy h1{margin-top:15px;font-size:clamp(48px,15vw,68px)}.hero-copy>p{width:94%;font-size:15px;line-height:1.8}.hero-illustration{min-height:290px}.growth-planet{width:180px;box-shadow:8px 9px 0 var(--ink)}.planet-face{font-size:55px}.code-card{width:76px;height:73px;padding:8px;border-width:2px;box-shadow:4px 5px 0 var(--ink)}.code-card svg{width:23px}.planet-flag{right:-16px;top:-14px;padding:7px 10px}.doodle-star{left:85%;top:8%}.class-picker{padding-block:75px 90px}.class-grid{grid-template-columns:1fr}.class-card{min-height:235px}.section-heading{align-items:flex-start;gap:12px}.section-number{width:48px;height:48px}.section-heading h2{font-size:28px}.value-strip{width:155%;justify-content:flex-start;gap:17px;padding-left:25px;overflow:hidden}.value-strip p{font-size:11px;white-space:nowrap}.class-hero{padding-top:25px}.class-title-row{display:block;padding:40px 0 30px}.class-title-row h1{font-size:49px}.class-title-row p{font-size:14px}.class-stat{width:fit-content;margin-top:25px}.name-cloud-section{padding-block:56px 70px}.cloud-intro h2{font-size:29px}.name-cloud{height:520px;border-radius:34px;border:1px dashed #b9ccc4;background:radial-gradient(circle at center,#fff 0 13%,#f5fbf8 14% 36%,transparent 37%)}.name-cloud:before,.name-cloud:after{display:none}.cloud-core{width:112px;left:calc(50% - 56px);top:calc(50% - 56px)}.cloud-core strong{font-size:22px}.floating-name{min-width:120px;height:52px;padding-right:9px}.floating-name img,.floating-name>span{width:38px;height:38px}.floating-name strong{font-size:13px}.floating-name:nth-of-type(2){left:2%!important;top:8%!important}.floating-name:nth-of-type(3){left:55%!important;top:13%!important}.floating-name:nth-of-type(4){left:2%!important;top:35%!important}.floating-name:nth-of-type(5){left:57%!important;top:39%!important}.floating-name:nth-of-type(6){left:3%!important;top:72%!important}.floating-name:nth-of-type(7){left:53%!important;top:68%!important}.floating-name:nth-of-type(8){left:28%!important;top:86%!important}.homework-section{padding-block:60px 90px}.homework-card{grid-template-columns:65px 1fr;gap:14px;padding:16px}.homework-date{height:66px}.homework-mark{display:none}.homework-card h3{font-size:17px}.student-hero{padding-top:24px}.student-profile{grid-template-columns:98px 1fr;gap:17px;padding:35px 0 27px}.student-avatar{width:94px;border-width:2px;box-shadow:5px 6px 0 var(--ink)}.student-avatar>span{font-size:43px}.student-avatar i{width:31px;height:31px;right:-6px}.student-title h1{margin-bottom:13px;font-size:39px}.student-title h1 span{margin-top:8px}.student-title>p{font-size:8px}.profile-meta{gap:5px}.profile-meta span{padding:6px 8px;font-size:9px}.term-select{width:100%;margin:4px 0 0}.term-select select{width:100%}.overview-section{padding-block:58px}.overview-card{padding:17px;border-width:1px;box-shadow:4px 5px 0 var(--ink)}.radar-wrap,.trend-wrap{height:280px}.lesson-section{padding-block:40px 90px}.lesson-timeline:before{left:19px}.lesson-entry{grid-template-columns:40px 1fr;gap:12px;margin-bottom:30px}.timeline-pin span{width:40px;height:40px;border-width:2px;box-shadow:3px 4px 0 var(--ink);font-size:12px}.lesson-paper{border-width:1.5px;border-radius:17px 17px 17px 5px;box-shadow:4px 5px 0 var(--ink)}.lesson-header{padding:18px 16px 15px}.lesson-header h3{font-size:20px}.lesson-header p{font-size:12px}.lesson-stamp{display:none}.course-content,.student-record{padding:18px 16px}.teacher-note,.lesson-radar{padding:15px}.teacher-note p{font-size:14px;line-height:1.85}.radar-wrap.compact{height:210px}.score-chips{gap:5px}.score-chips span{padding:5px 6px 5px 8px;font-size:10px}.media-gallery{grid-template-columns:repeat(2,1fr)}.public-footer{min-height:150px;flex-direction:column;justify-content:center;text-align:center}.public-footer p{font-size:22px}.lightbox{padding:15px}.lightbox-close{right:15px;top:12px}.login-page{padding:70px 16px 25px}.login-page>.back-link{left:18px;top:22px}.login-card{grid-template-columns:1fr;min-height:0;box-shadow:7px 8px #26332e}.login-visual{min-height:220px;padding:30px}.login-lock{width:52px;height:52px;margin-bottom:20px}.login-visual>p{font-size:8px}.login-visual h1{margin:7px 0;font-size:29px}.login-form-wrap{padding:32px 25px;gap:22px}}.student-account-cell{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.student-account-cell small{color:#7d8983;font-size:8px}.student-account-cell button{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid #c9d2cd;border-radius:6px;background:#fff;color:#2878ff;cursor:pointer;font-size:8px}.student-account-cell button svg{width:12px}.account-role-preview{display:grid;grid-template-columns:45px 1fr 1fr;align-items:center;gap:10px;padding:13px;border:1px solid #d7dfda;border-radius:10px;background:#f5f8f6}.account-role-preview>span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#e3ecff;color:#2878ff}.account-role-preview>span svg{width:20px}.account-role-preview>div{display:flex;min-width:0;flex-direction:column}.account-role-preview small{color:#849089;font-size:8px}.account-role-preview strong{overflow:hidden;font-size:11px;text-overflow:ellipsis}.account-role-preview em{color:#839089;font-size:8px;font-style:normal}.password-admin-field{display:grid;grid-template-columns:1fr 38px}.password-admin-field input{border-radius:8px 0 0 8px!important}.password-admin-field button{border:1px solid #c8d1cc;border-left:0;border-radius:0 8px 8px 0;background:#fff;cursor:pointer}.password-admin-field svg{width:16px}.current-password-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;background:#eef5ff}.current-password-card span{color:#647580;font-size:8px}.current-password-card strong{flex:1;font:11px Consolas,monospace}.current-password-card button{border:0;background:transparent;color:#2878ff;cursor:pointer;font-size:8px}.class-resource-library{margin-bottom:16px}.class-resource-library>nav{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px;border-bottom:1px solid #e4e8e5;background:#f7faf8}.class-resource-library>nav button{padding:6px 9px;border:1px solid #d1d9d5;border-radius:7px;background:#fff;color:#64716a;cursor:pointer;font-size:8px}.class-resource-library>nav button.active{border-color:#26352f;background:#26352f;color:#fff}.resource-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px}.resource-library-grid article{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:8px;padding:11px;border:1px solid #dce3df;border-radius:10px;background:#fafcfa}.resource-library-grid article.assigned{border-color:#8ebda0;background:#f2fbf4}.resource-library-grid article>span{padding:5px 7px;border-radius:6px;background:#e7efff;color:#2878ff;font-size:7px;font-weight:900}.resource-library-grid article>div{display:flex;min-width:0;flex-direction:column}.resource-library-grid strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.resource-library-grid small{overflow:hidden;color:#849089;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.resource-library-grid label{display:flex;align-items:center;gap:4px;font-size:8px;white-space:nowrap}.resource-library-grid article>a{color:#2878ff;font-size:8px;white-space:nowrap}.public-parent-session{display:flex;align-items:center;gap:8px}.public-parent-session span,.public-parent-session button{display:flex;align-items:center;gap:5px}.public-parent-session span{font-size:10px;font-weight:900}.public-parent-session button{padding:7px 9px;border:1px solid #cbd4d0;border-radius:7px;background:#fff;cursor:pointer;font-size:8px}.public-parent-session svg{width:14px}.parent-private-label{cursor:default}.parent-login-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:#f4f0e5;background-image:radial-gradient(rgba(38,53,47,.08) 1px,transparent 1px);background-size:18px 18px}.parent-login-card{width:min(1040px,100%);display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border:3px solid #26352f;border-radius:28px 28px 28px 8px;background:#fff;box-shadow:10px 12px #26352f}.parent-login-welcome{padding:58px;background:#20372f;color:#fff}.parent-login-welcome .eyebrow{display:inline-flex;align-items:center;gap:7px;color:#f5ba42;font-size:11px;font-weight:900}.parent-login-welcome .eyebrow svg{width:16px}.parent-login-welcome h1{margin:24px 0 18px;font-size:clamp(38px,5vw,63px);line-height:1.08}.parent-login-welcome h1 em{color:#f5ba42;font-style:normal}.parent-login-welcome>p{max-width:520px;color:#c6d1cc;font-size:15px;line-height:1.8}.parent-login-welcome>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:34px}.parent-login-welcome>div span{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;font-size:10px}.parent-login-welcome>div svg{width:18px;color:#f5ba42}.parent-login-form{display:flex;flex-direction:column;justify-content:center;padding:50px}.parent-login-mark{width:58px;height:58px;display:grid;place-items:center;border:2px solid #26352f;border-radius:16px;background:#f5ba42;box-shadow:4px 5px #26352f}.parent-login-mark svg{width:27px}.parent-login-form>small{margin-top:24px;color:#2878ff;font-size:9px;font-weight:900;letter-spacing:.16em}.parent-login-form h2{margin:6px 0;font-size:30px}.parent-login-form>p{margin:0 0 25px;color:#7d8983;font-size:10px;line-height:1.6}.parent-login-form form{display:grid;gap:14px}.parent-login-form label{font-size:9px;font-weight:900}.parent-login-form label>div{height:45px;display:flex;align-items:center;gap:8px;margin-top:6px;padding:0 11px;border:2px solid #bdc8c2;border-radius:10px}.parent-login-form label svg{width:17px;color:#718078}.parent-login-form input{width:100%;border:0;outline:0;font:inherit}.parent-login-form form>em{color:#cf4c47;font-size:9px;font-style:normal}.parent-login-form form>button{height:46px;display:flex;align-items:center;justify-content:center;gap:8px;border:2px solid #26352f;border-radius:10px;background:#f5ba42;box-shadow:3px 4px #26352f;cursor:pointer;font-weight:900}.parent-login-form form>button svg{width:17px}.parent-login-form>a{margin-top:20px;color:#2878ff;font-size:9px;text-align:center}.parent-login-form button:disabled{opacity:.6}.parent-session-loader{display:flex;align-items:center;gap:12px;padding:18px 22px;border:2px solid #26352f;border-radius:14px;background:#fff;color:#26352f;box-shadow:4px 5px #26352f;font-size:12px;font-weight:900}.parent-session-loader .spin{width:20px;height:20px;border:3px solid #dbe2de;border-top-color:#2878ff;border-radius:50%}.course-package-uploader{margin-bottom:16px}.course-package-uploader .courseware-upload-form{grid-template-columns:90px 1fr 1fr minmax(180px,1fr) auto}.course-package-uploader .sync-assessment-toggle{grid-column:2/5;display:flex;align-items:center;gap:7px;color:#52615a;font-size:8px;font-weight:800}.course-package-uploader .sync-assessment-toggle input{width:14px;height:14px;margin:0}.course-package-uploader .courseware-upload-form>button{grid-column:5;grid-row:1/3;align-self:stretch}.course-upload-notice{display:flex;align-items:center;gap:7px;margin:0;padding:10px 17px;border-bottom:1px solid #d6eadb;background:#eef9f0;color:#257a45;font-size:9px;font-weight:800}.course-upload-notice svg{width:15px}.course-package-guide{padding:10px 17px;border-top:1px solid #e2e7e4;background:#fbfcfb;font-size:8px}.course-package-guide summary{cursor:pointer;color:#2878ff;font-weight:900}.course-package-guide>div{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;margin-top:10px}.course-package-guide code{color:#c65139;font:9px Consolas,monospace}.course-package-guide pre{overflow:auto;margin:10px 0 0;padding:10px;border-radius:8px;background:#172438;color:#d8f4de;font:8px/1.6 Consolas,monospace}@media(max-width:900px){.resource-library-grid,.course-package-uploader .courseware-upload-form{grid-template-columns:1fr}.course-package-uploader .sync-assessment-toggle,.course-package-uploader .courseware-upload-form>button{grid-column:auto;grid-row:auto}.parent-login-card{grid-template-columns:1fr}.parent-login-welcome{padding:36px}.parent-login-welcome h1{font-size:40px}.parent-login-form{padding:36px}}.compact-admin-section{margin:0 0 14px;border:1px solid #d8e0dc;border-radius:12px;background:#fff;box-shadow:0 6px 18px #1f342b0d;overflow:hidden}.compact-admin-section>summary{min-height:50px;display:flex;align-items:center;gap:9px;padding:0 16px;cursor:pointer;color:#26352f;font-size:11px;font-weight:900}.compact-admin-section>summary svg{width:18px;color:#2878ff}.compact-admin-section>summary span{margin-left:auto;color:#89958f;font-size:8px;font-weight:600}.compact-admin-section[open]>summary{border-bottom:1px solid #e4e9e6;background:#f8faf9}.compact-admin-section>.portal-admin-card{border:0;border-radius:0;box-shadow:none}.compact-icon-button,.compact-delete{width:32px!important;height:32px!important;min-width:32px!important;display:inline-grid!important;place-items:center!important;padding:0!important;border:1px solid #d7dfdb!important;border-radius:8px!important;background:#fff!important;color:#6d7a73!important;cursor:pointer}.compact-icon-button svg,.compact-delete svg{width:14px!important;height:14px!important}.compact-delete{border-color:#f0ceca!important;color:#cf5147!important}.compact-delete:hover{background:#fff0ee!important}.ai-comment-box{display:grid;gap:10px;margin:15px 0;padding:14px;border:1px solid #cfdbf1;border-radius:12px;background:linear-gradient(135deg,#f4f8ff,#faf7ff)}.ai-comment-box>div:first-child{display:flex;align-items:center;gap:9px}.ai-comment-box>div:first-child svg{width:20px;color:#7256db}.ai-comment-box>div:first-child span{display:flex;flex-direction:column}.ai-comment-box>div:first-child small{color:#78857f;font-size:8px}.ai-comment-input{display:grid;grid-template-columns:1fr auto;gap:8px}.ai-comment-input input{min-height:38px;padding:0 10px;border:1px solid #cbd5d0;border-radius:8px}.ai-comment-input button{padding:0 14px;border:0;border-radius:8px;background:#7256db;color:#fff;font-weight:800}.ai-comment-versions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important}.ai-comment-versions button{display:flex;flex-direction:column;gap:6px;padding:11px;border:1px solid #d9d3ed;border-radius:9px;background:#fff;text-align:left;cursor:pointer}.ai-comment-versions button strong{font-size:9px;color:#6246c8}.ai-comment-versions button span{display:-webkit-box;overflow:hidden;color:#59665f;font-size:8px;line-height:1.7;-webkit-line-clamp:4;-webkit-box-orient:vertical}.ai-comment-versions button em{color:#2878ff;font-size:8px;font-style:normal;font-weight:800}.ai-fallback-note{color:#a76b22}.course-rating-board{margin-top:16px}.course-rating-board>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid #e1e6e3}.course-rating-board>header>div{display:flex;align-items:center;gap:9px}.course-rating-board>header svg{width:20px;color:#2878ff}.course-rating-board>header span{display:flex;flex-direction:column}.course-rating-board>header small{color:#839089;font-size:8px}.course-rating-board>header select{min-width:260px;height:36px;padding:0 9px;border:1px solid #ccd5d0;border-radius:8px;background:#fff}.rating-overall{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;padding:13px 16px;background:#f5f8f6}.rating-overall span{padding:10px;border-radius:8px;background:#fff;color:#75827b;font-size:8px}.rating-overall b{display:block;color:#25342d;font-size:16px}.rating-class-list{display:grid;gap:8px;padding:13px 16px}.rating-class-list details{border:1px solid #d8dfdc;border-radius:9px;overflow:hidden}.rating-class-list summary{display:flex;justify-content:space-between;padding:11px;background:#fff;cursor:pointer;font-size:9px}.rating-class-list summary span{color:#748079}.rating-class-averages{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:10px;background:#f7f9f8}.rating-class-averages span{font-size:8px}.rating-class-averages b{display:block;font-size:13px}.rating-class-list table{width:100%;border-collapse:collapse;font-size:8px}.rating-class-list th,.rating-class-list td{padding:8px;border-top:1px solid #e6eae8;text-align:left}.points-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.points-admin-grid article{padding:11px}.student-point-head>span{width:35px;height:35px}.quick-points{margin-top:8px}.course-package-uploader .courseware-upload-form>label:first-child{display:none}.course-package-uploader .courseware-upload-form{grid-template-columns:1.4fr 1fr 1fr auto}.course-package-uploader .sync-assessment-toggle{grid-column:1/4}.course-package-uploader .courseware-upload-form>button{grid-column:4}.reward-create-card form{padding:12px}.reward-create-card input,.reward-create-card form>label>input{min-height:32px}.reward-sync-card article{padding-block:8px}.homework-sync-list .compact-delete{margin-left:4px}@media(max-width:900px){.ai-comment-versions,.rating-overall,.rating-class-averages{grid-template-columns:1fr 1fr}.course-rating-board>header{align-items:stretch;flex-direction:column}.course-rating-board>header select{min-width:0;width:100%}.points-admin-grid{grid-template-columns:1fr}.attendance-history-item{grid-template-columns:1fr auto}.compact-admin-section>summary span{display:none}}.course-package-uploader{display:none}.compact-course-upload .courseware-upload-form{grid-template-columns:1.4fr 1fr 1fr auto}.compact-course-upload .sync-assessment-toggle{grid-column:1/4;display:flex;align-items:center;gap:7px}.compact-course-upload .courseware-upload-form>button{grid-column:4;grid-row:1/3}.reward-admin-products>article>aside .compact-delete{align-self:flex-end}.portal-admin-card:has(>.points-admin-grid){display:none}.compact-points-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:12px;background:#f4f7f5}.compact-points-grid>article{padding:10px;border:1px solid #d8e0dc;border-radius:11px;background:#fff}.compact-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.compact-quick-actions button{height:30px;border:1px solid #ccd6d1;border-radius:7px;background:#fff;cursor:pointer;font-size:9px}.compact-points-grid details{margin-top:7px;border-top:1px dashed #dae1dd}.compact-points-grid summary{padding-top:7px;color:#2878ff;cursor:pointer;font-size:8px;font-weight:800}.compact-more-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.compact-more-fields input,.compact-more-fields select,.compact-more-fields>button:not(.compact-delete){min-width:0;height:31px;padding:0 7px;border:1px solid #ccd5d0;border-radius:7px;background:#fff;font-size:8px}.compact-more-fields select{grid-column:1/-1}.compact-more-fields .compact-delete{justify-self:end}@media(max-width:900px){.compact-course-upload .courseware-upload-form{grid-template-columns:1fr}.compact-course-upload .sync-assessment-toggle,.compact-course-upload .courseware-upload-form>button{grid-column:auto;grid-row:auto}}@media(max-width:1200px){.compact-points-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.compact-points-grid{grid-template-columns:1fr}}@media(max-width:600px){.resource-library-grid article{grid-template-columns:auto 1fr}.resource-library-grid article>label,.resource-library-grid article>button,.resource-library-grid article>a{grid-column:2}.account-role-preview{grid-template-columns:40px 1fr}.account-role-preview>div:last-child{grid-column:2}.parent-login-page{padding:14px}.parent-login-card{border-radius:20px 20px 20px 6px;box-shadow:6px 7px #26352f}.parent-login-welcome{padding:28px 22px}.parent-login-welcome>div{grid-template-columns:1fr}.parent-login-form{padding:30px 22px}.public-parent-session span{display:none}}.assessment-trend-card{margin-top:24px;background:linear-gradient(145deg,#fbfdff,#f4f8ff)}.assessment-trend-card .card-title{margin-bottom:8px}.assessment-trend-card .card-title>span{background:#cdeeff;color:#246edc}.assessment-trend-card .card-title p{margin:4px 0 0;color:#82908a;font-size:10px}.parent-score-chart{min-height:280px;position:relative;margin-top:10px}.chart-empty-note{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;inset:35px 12px 25px 50px;border:1px dashed #c8d5ce;border-radius:14px;background:#f9fcfae0;color:#819089;text-align:center}.chart-empty-note svg{width:28px;margin-bottom:7px}.chart-empty-note strong{color:#52615a;font-size:12px}.chart-empty-note span{margin-top:3px;font-size:9px}.lesson-score-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:5px}.lesson-score-summary>div{min-width:0;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;padding:10px;border:1px solid #cddbd2;border-radius:11px;background:#fff}.lesson-score-summary>div>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#dceaff;color:#246edc;font-size:10px;font-weight:900}.lesson-score-summary>div>div{display:flex;min-width:0;flex-direction:column}.lesson-score-summary small{color:#87938d;font-size:8px}.lesson-score-summary strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.lesson-score-summary em{padding:5px 7px;border-radius:7px;background:#e1f6e7;color:#24834b;font-size:9px;font-style:normal;font-weight:900}.lesson-score-summary>div.pending{background:#f8faf8}.lesson-score-summary>div.pending>span{background:#ecefed;color:#87928d}.lesson-score-summary>div.pending strong{color:#8a9690}.leaf-course-button>aside{display:flex;align-items:center;gap:9px}.leaf-course-button>aside em{padding:6px 8px;border-radius:7px;background:#e0f6e7;color:#27834d;font-size:8px;font-style:normal;font-weight:900;white-space:nowrap}.leaf-course-button>aside em.pending{background:#eef1ef;color:#89948f}.leaf-course-button>aside svg{width:16px}.lesson-assessment-score{display:flex;align-items:center;gap:12px;margin:18px 0;padding:14px 16px;border:1px solid #80c998;border-radius:13px;background:linear-gradient(135deg,#edfbf1,#f7fff9)}.lesson-assessment-score>svg:first-child{width:30px;height:30px;padding:6px;border-radius:9px;background:#d0f1da;color:#28864e}.lesson-assessment-score>div{display:flex;flex:1;flex-direction:column}.lesson-assessment-score small{color:#718079;font-size:8px}.lesson-assessment-score strong{margin-top:2px;color:#256f43;font-size:14px}.lesson-assessment-score span{margin-top:2px;color:#839089;font-size:8px}.lesson-assessment-score>svg:last-child{color:#2a9554}.lesson-assessment-score.pending{border-color:#d5ddd8;background:#f7f9f7}.lesson-assessment-score.pending>svg:first-child{background:#e8ece9;color:#7f8d86}.lesson-assessment-score.pending strong{color:#78857f}@media(max-width:900px){.lesson-score-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.assessment-trend-card{padding:17px}.assessment-trend-card .card-title{align-items:flex-start}.parent-score-chart{margin-inline:-12px}.lesson-score-summary{grid-template-columns:1fr}.leaf-course-button>aside em{max-width:82px;overflow:hidden;text-overflow:ellipsis}.leaf-course-button>aside{gap:4px}.lesson-assessment-score{align-items:flex-start;padding:12px}}.student-transfer{display:flex;align-items:center;gap:6px}.student-transfer select{min-width:132px;height:34px;padding:0 7px;border:1px solid #ccd5d0;border-radius:7px;background:#fff;color:#56635d;font-size:9px}.student-transfer button{height:34px;display:inline-flex;align-items:center;gap:4px;padding:0 9px;border:1px solid #cbd4cf;border-radius:7px;background:#f7faf8;color:#314139;cursor:pointer;font-size:9px}.student-transfer button:disabled{cursor:not-allowed;opacity:.5}.student-transfer svg{width:13px}.student-profile-recycle{margin:16px 0}.student-profile-recycle>p{margin:0;padding:12px;border-top:1px solid #eee2da;color:#8a948f;font-size:9px}.ai-writer-grid{grid-template-columns:120px 150px 150px minmax(220px,1fr) auto}.assignment-question-row{display:grid;grid-template-columns:140px minmax(220px,1fr) minmax(220px,1fr);gap:8px}.assignment-question-row select{width:100%;height:36px;margin-top:5px;padding:0 8px;border:1px solid #ccd5d0;border-radius:7px;background:#fff}.homework-question{display:grid;gap:8px;margin:0;padding:14px;border:1px solid #d5ded9;border-radius:11px}.homework-question legend{padding:0 6px;font-size:12px;font-weight:900}.homework-question>div label{display:flex;grid-template-columns:none;align-items:center;gap:5px;padding:8px 11px;border:1px solid #d5ddd9;border-radius:8px;background:#f8faf9;font-size:10px}.homework-question textarea{padding:12px;border:1px solid #c8d4ce;border-radius:10px;font:inherit}.student-shared-upload{display:flex;gap:8px;margin:8px 0 14px}.student-shared-upload label{display:flex;align-items:center;gap:6px;flex:1;padding:9px 11px;border:1px dashed #83968c;border-radius:8px;cursor:pointer;font-size:10px}.student-shared-upload svg{width:15px}.student-shared-upload button{padding:0 13px;border:0;border-radius:8px;background:#26352f;color:#fff;cursor:pointer}.student-file-row{display:flex;align-items:center;border-top:1px solid #e8eeea}.student-file-row>a{flex:1;border:0!important}.student-file-row>button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:7px;background:#fff0ee;color:#bd4d49;cursor:pointer}.student-file-row>button svg{width:15px}@media(max-width:900px){.student-transfer{align-items:stretch;flex-direction:column}.student-transfer select{min-width:150px}.ai-writer-grid{grid-template-columns:1fr}}@media(max-width:900px){.assignment-question-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:600px){.floating-name:nth-of-type(1){left:2%!important;top:8%!important}.floating-name:nth-of-type(2){left:55%!important;top:13%!important}.floating-name:nth-of-type(3){left:2%!important;top:35%!important}.floating-name:nth-of-type(4){left:57%!important;top:39%!important}.floating-name:nth-of-type(5){left:3%!important;top:72%!important}.floating-name:nth-of-type(6){left:53%!important;top:68%!important}.floating-name:nth-of-type(7){left:28%!important;top:86%!important}}.quest-login-page,.quest-app{--quest-ink: #172438;--quest-navy: #101b2d;--quest-orange: #ff7b3d;--quest-yellow: #ffd957;--quest-cyan: #79ddf6;--quest-lime: #87eb9d;--quest-purple: #bd91ff;min-height:100vh;color:var(--quest-ink);font-family:Noto Sans SC,Microsoft YaHei,sans-serif}.quest-login-page{display:grid;place-items:center;padding:72px 24px 32px;position:relative;overflow:hidden;background:#0f1b2d}.quest-login-page:before{content:"";position:absolute;inset:0;opacity:.35;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:38px 38px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 85%);mask-image:linear-gradient(to bottom,#000,transparent 85%)}.quest-back{display:inline-flex;align-items:center;gap:8px;position:absolute;z-index:4;left:clamp(22px,4vw,60px);top:28px;color:#dbe9f4;font-size:13px;font-weight:700}.quest-back svg{width:18px}.quest-login-orbit{position:absolute;border:1px dashed rgba(121,221,246,.28);border-radius:50%}.orbit-one{width:520px;height:520px;left:-270px;top:-240px}.orbit-two{width:420px;height:420px;right:-210px;bottom:-230px}.quest-login-card{width:min(1050px,95vw);min-height:620px;display:grid;grid-template-columns:1.08fr .92fr;position:relative;z-index:2;overflow:hidden;border:3px solid #08111f;border-radius:28px 28px 28px 8px;background:#f9fbf4;box-shadow:13px 15px #07111d,0 30px 100px #00000059}.quest-login-story{padding:57px 62px;position:relative;overflow:hidden;background:#79ddf6;background-image:radial-gradient(rgba(16,27,45,.1) 1.5px,transparent 1.5px);background-size:17px 17px}.quest-login-story:after{content:"";width:250px;height:250px;position:absolute;right:-75px;bottom:-90px;border:50px solid rgba(255,255,255,.24);border-radius:50%}.quest-logo{display:inline-flex;align-items:center;gap:10px;transform:rotate(-3deg)}.quest-logo>svg{width:48px;height:48px;padding:9px;border:3px solid var(--quest-ink);border-radius:13px 13px 13px 4px;background:var(--quest-yellow);box-shadow:4px 5px 0 var(--quest-ink)}.quest-logo span{font-size:13px;font-weight:1000;line-height:.95;letter-spacing:.08em}.quest-kicker{margin:65px 0 12px;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.quest-login-story h1{margin:0;font-size:clamp(42px,5vw,67px);line-height:1.08;letter-spacing:-.06em}.quest-login-story h1 em{color:#f25839;font-style:normal;text-shadow:3px 3px 0 #fff}.quest-story-copy{max-width:460px;margin:25px 0 0;color:#334c59;font-size:14px;font-weight:600;line-height:1.9}.quest-pixel-scene{height:120px;position:absolute;right:35px;bottom:22px;left:35px}.quest-pixel-scene>svg{width:94px;height:94px;position:absolute;right:54px;bottom:8px;padding:18px;border:3px solid var(--quest-ink);border-radius:28px;background:var(--quest-orange);color:#fff;box-shadow:7px 8px 0 var(--quest-ink);transform:rotate(-8deg);animation:quest-hover 3s ease-in-out infinite}.pixel-star{position:absolute;color:#fff;font-style:normal;font-size:26px}.star-a{right:16px;top:5px}.star-b{right:165px;bottom:8px;font-size:17px}.pixel-cloud{width:78px;height:20px;position:absolute;border-radius:5px;background:#fffc;box-shadow:20px -14px #fffc,42px 0 #fffc}.cloud-a{left:10px;top:22px}.cloud-b{left:145px;bottom:10px;transform:scale(.65)}.quest-login-form{display:flex;flex-direction:column;justify-content:center;gap:36px;padding:66px;background:#fbfcf7}.quest-step{color:#f25c3c;font-size:10px;font-weight:1000;letter-spacing:.22em}.quest-login-form h2{margin:8px 0 5px;font-size:35px;letter-spacing:-.04em}.quest-login-form>div>p{margin:0;color:#7d8992;font-size:13px}.quest-login-form form{display:grid;gap:18px}.quest-login-form label>span{display:block;margin-bottom:8px;font-size:12px;font-weight:800}.quest-login-form label>div{height:51px;display:flex;align-items:center;gap:10px;padding:0 14px;border:2px solid #d5dce0;border-radius:11px;background:#fff;transition:.18s}.quest-login-form label>div:focus-within{border-color:var(--quest-ink);box-shadow:3px 4px 0 var(--quest-yellow)}.quest-login-form label svg{width:18px;color:#87949d}.quest-login-form input{width:100%;border:0;outline:0;background:transparent;font-size:14px}.quest-form-error{margin:-6px 0 0;color:#dc503d;font-size:12px;font-weight:700}.quest-launch{height:54px;display:flex;align-items:center;justify-content:center;gap:13px;margin-top:7px;border:3px solid var(--quest-ink);border-radius:12px;background:var(--quest-orange);color:#fff;box-shadow:5px 6px 0 var(--quest-ink);cursor:pointer;font-size:14px;font-weight:900;transition:.18s}.quest-launch:hover{transform:translateY(-2px);box-shadow:7px 8px 0 var(--quest-ink)}.quest-launch:active{transform:translate(3px,3px);box-shadow:2px 3px 0 var(--quest-ink)}.quest-launch svg{width:20px}.quest-demo-tip{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px;border:1px dashed #b8c3c8;border-radius:10px;color:#6d7a82;font-size:10px}.quest-demo-tip strong{margin-right:4px}.quest-demo-tip span{padding:3px 6px;border-radius:5px;background:#e9eff0;color:#243341;font-family:Consolas,monospace}.quest-app{overflow-x:clip;background:#f4f0e5;background-image:radial-gradient(rgba(23,36,56,.07) 1px,transparent 1px);background-size:20px 20px}.quest-topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,58px);position:sticky;z-index:30;top:0;border-bottom:2px solid var(--quest-ink);background:#fffdf5ed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.quest-brand{display:flex;align-items:center;gap:11px;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.quest-brand>span{width:43px;height:43px;display:grid;place-items:center;border:2px solid var(--quest-ink);border-radius:12px 12px 12px 4px;background:var(--quest-yellow);box-shadow:3px 4px 0 var(--quest-ink);transform:rotate(-4deg)}.quest-brand svg{width:23px}.quest-brand div{display:flex;flex-direction:column}.quest-brand strong{font-size:15px;font-weight:1000;letter-spacing:.05em}.quest-brand small{color:#79838a;font-size:9px;letter-spacing:.08em}.quest-userbar{display:flex;align-items:center;gap:10px}.point-pill,.player-pill{min-height:48px;display:flex;align-items:center;gap:10px;padding:5px 13px;border:2px solid var(--quest-ink);border-radius:12px;background:#fff}.point-pill{background:#fff1aa}.point-pill>svg{width:22px;fill:#ffaf23;color:var(--quest-ink)}.point-pill span,.player-pill div{display:flex;flex-direction:column}.point-pill small,.player-pill small{color:#747f87;font-size:8px;font-weight:800}.point-pill strong{font-size:17px;line-height:1}.player-pill>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--quest-cyan)}.player-pill svg{width:18px}.player-pill strong{font-size:12px}.quest-logout{width:42px;height:42px;display:grid;place-items:center;border:1px solid #ced4d6;border-radius:11px;background:#fff;cursor:pointer}.quest-logout svg{width:18px}.score-toast{display:flex;align-items:center;gap:9px;padding:12px 18px;position:fixed;z-index:100;left:50%;top:95px;border:2px solid var(--quest-ink);border-radius:12px;background:var(--quest-lime);box-shadow:5px 6px 0 var(--quest-ink);font-size:13px;font-weight:900;animation:score-pop .3s ease both}.score-toast svg{width:18px;fill:var(--quest-yellow)}.quest-lobby{width:min(1210px,calc(100% - 40px));margin:auto;padding:58px 0 80px}.lobby-hero{min-height:330px;display:grid;grid-template-columns:1fr 330px;align-items:center;gap:30px;padding:52px 64px;position:relative;overflow:hidden;border:3px solid var(--quest-ink);border-radius:28px 28px 28px 8px;background:var(--quest-navy);color:#fff;box-shadow:9px 10px 0 var(--quest-ink)}.lobby-hero:before{content:"";width:330px;height:330px;position:absolute;right:-80px;top:-110px;border:45px solid rgba(121,221,246,.09);border-radius:50%}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--quest-yellow);font-size:10px;font-weight:1000;letter-spacing:.19em}.hero-eyebrow svg{width:16px}.lobby-hero h1{margin:14px 0 13px;font-size:clamp(37px,4.5vw,61px);line-height:1.15;letter-spacing:-.055em}.lobby-hero h1 em{color:var(--quest-cyan);font-style:normal}.lobby-hero p{margin:0;color:#b7c5ce;font-size:14px}.hero-console{width:260px;height:205px;justify-self:center;position:relative;border:3px solid #050c16;border-radius:34px 34px 48px 48px;background:var(--quest-yellow);box-shadow:10px 12px #050c16;transform:rotate(5deg)}.console-screen{width:180px;height:100px;display:flex;align-items:center;justify-content:center;gap:10px;position:absolute;left:38px;top:25px;border:7px solid #172438;border-radius:14px 14px 25px 25px;background:#86e3f3;color:#172438;font-family:Consolas,monospace;font-weight:1000}.console-screen svg{width:28px}.console-screen i{font-style:normal;animation:quest-blink .8s steps(1) infinite}.console-button{width:25px;height:25px;position:absolute;border:3px solid #172438;border-radius:50%;background:var(--quest-orange)}.button-a{right:38px;bottom:32px}.button-b{right:70px;bottom:54px;background:var(--quest-cyan)}.console-cross{position:absolute;left:45px;bottom:25px;color:#172438;font-size:64px;font-weight:900;line-height:1}.module-board{padding:78px 0 55px}.board-title{margin-bottom:27px}.board-title>span{color:#ed633d;font-size:10px;font-weight:1000;letter-spacing:.2em}.board-title h2{margin:6px 0 4px;font-size:33px;letter-spacing:-.04em}.board-title p{margin:0;color:#778088;font-size:12px}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.quest-module{min-height:245px;display:flex;flex-direction:column;align-items:flex-start;padding:24px;position:relative;overflow:hidden;border:3px solid var(--quest-ink);border-radius:20px 20px 20px 7px;box-shadow:6px 7px 0 var(--quest-ink);cursor:pointer;text-align:left;transition:.2s}.quest-module:hover:not(.is-locked){transform:translateY(-6px) rotate(-1deg);box-shadow:9px 12px 0 var(--quest-ink)}.module-orange{background:#ff8a4f}.module-cyan{background:var(--quest-cyan)}.module-lime{background:var(--quest-lime)}.module-purple{background:var(--quest-purple)}.quest-module.is-locked{cursor:default;filter:saturate(.55);opacity:.72}.module-number{position:absolute;right:14px;top:-9px;color:#17243821;font-size:72px;font-weight:1000}.module-icon{width:62px;height:62px;display:grid;place-items:center;position:relative;border:3px solid var(--quest-ink);border-radius:17px;background:#fffc;box-shadow:4px 5px 0 var(--quest-ink)}.module-icon svg{width:28px}.module-copy{display:flex;flex-direction:column;margin-top:32px}.module-copy strong{font-size:21px}.module-copy small{margin-top:5px;color:#354451;font-size:11px;font-weight:700}.module-go{width:40px;height:40px;display:grid;place-items:center;position:absolute;right:20px;bottom:18px;border:2px solid var(--quest-ink);border-radius:50%;background:#fff}.module-go svg{width:18px;fill:var(--quest-ink)}.module-lock{display:flex;align-items:center;gap:5px;position:absolute;right:17px;bottom:19px;font-size:9px;font-weight:800}.module-lock svg{width:13px}.lobby-status{display:grid;grid-template-columns:repeat(3,1fr) 1.6fr;overflow:hidden;border:2px solid var(--quest-ink);border-radius:16px;background:#fff;box-shadow:5px 6px #d4cebd}.lobby-status>div{min-height:88px;display:flex;align-items:center;gap:12px;padding:17px 23px;border-right:1px solid #d9d8cf}.lobby-status>div>svg{width:24px;color:#f26a3e}.lobby-status span{display:flex;flex-direction:column}.lobby-status small{color:#8a9296;font-size:9px}.lobby-status strong{font-size:18px}.lobby-status .status-motto{display:block;border:0;background:#fff4b7}.status-motto span{font-size:9px;font-weight:1000;letter-spacing:.12em}.status-motto p{margin:5px 0 0;font-size:12px;font-weight:700}.classroom-page{width:min(1500px,calc(100% - 34px));margin:auto;padding:34px 0 70px}.classroom-heading{min-height:135px;display:grid;grid-template-columns:210px 1fr 100px;align-items:center;gap:22px;margin-bottom:25px;padding:20px 28px;border:2px solid var(--quest-ink);border-radius:20px 20px 20px 6px;background:#fffdf6;box-shadow:5px 6px 0 var(--quest-ink)}.classroom-heading>button{width:fit-content;display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #c9ced0;border-radius:9px;background:#fff;cursor:pointer;font-size:11px;font-weight:800}.classroom-heading button svg{width:16px}.classroom-heading>div:nth-child(2) span{color:#ef653f;font-size:9px;font-weight:1000;letter-spacing:.2em}.classroom-heading h1{margin:5px 0 2px;font-size:28px}.classroom-heading p{margin:0;color:#7a858c;font-size:11px}.class-progress-ring{width:83px;height:83px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:8px solid #73def3;border-right-color:#e2e6df;border-radius:50%;transform:rotate(-25deg)}.class-progress-ring>*{transform:rotate(25deg)}.class-progress-ring strong{font-size:17px}.class-progress-ring small{color:#7d878c;font-size:8px}.classroom-layout{display:grid;grid-template-columns:260px minmax(500px,1fr) 280px;align-items:start;gap:18px}.classroom-layout>*,.lesson-map,.leaderboard,.lesson-stage{min-width:0}.lesson-map,.leaderboard{position:sticky;top:97px;overflow:hidden;border:2px solid var(--quest-ink);border-radius:16px 16px 16px 5px;background:#fffdf7;box-shadow:4px 5px 0 var(--quest-ink)}.map-title,.rank-heading{min-height:66px;display:flex;align-items:center;gap:9px;padding:12px 15px;border-bottom:2px solid var(--quest-ink);background:#172438;color:#fff}.map-title>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--quest-yellow);color:var(--quest-ink)}.map-title svg{width:21px}.map-title div,.rank-heading div{display:flex;flex-direction:column}.map-title small,.rank-heading small{color:#9fb0bc;font-size:7px;letter-spacing:.15em}.map-title strong,.rank-heading strong{font-size:13px}.lesson-map>button{width:100%;min-height:79px;display:grid;grid-template-columns:35px 1fr 16px;align-items:center;gap:9px;padding:12px;border:0;border-bottom:1px solid #e2e2dc;background:transparent;cursor:pointer;text-align:left}.lesson-map>button:hover:not(:disabled),.lesson-map>button.active{background:#fff2ae}.lesson-map>button.active{box-shadow:inset 4px 0 #f2673e}.lesson-map>button:disabled{cursor:default;opacity:.45}.lesson-map>button>span{width:31px;height:31px;display:grid;place-items:center;border:2px solid var(--quest-ink);border-radius:9px;background:#fff;font-size:11px;font-weight:1000}.lesson-map>button.completed>span{background:var(--quest-lime)}.lesson-map>button.current>span{background:var(--quest-orange);color:#fff}.lesson-map>button svg{width:14px}.lesson-map>button div{min-width:0;display:flex;flex-direction:column}.lesson-map>button strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.lesson-map>button small{margin-top:3px;overflow:hidden;color:#899197;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.lesson-mini-progress{height:4px;margin-top:7px;overflow:hidden;border-radius:99px;background:#dfe4df}.lesson-mini-progress i{height:100%;display:block;border-radius:inherit;background:#f2673e;transition:width .35s ease}.lesson-map>button.completed .lesson-mini-progress i{background:#36b968}.lesson-stage{display:grid;gap:18px}.stage-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 25px;border:2px solid var(--quest-ink);border-radius:15px;background:var(--quest-cyan)}.stage-top>div:first-child>span{font-size:8px;font-weight:1000;letter-spacing:.18em}.stage-top h2{margin:4px 0 2px;font-size:23px}.stage-top p{margin:0;color:#425b66;font-size:10px}.stage-reward{display:flex;align-items:center;gap:8px;padding:9px 12px;border:2px solid var(--quest-ink);border-radius:11px;background:#fff9d6;box-shadow:3px 4px 0 var(--quest-ink);white-space:nowrap}.stage-reward svg{width:22px;fill:var(--quest-yellow)}.stage-reward span{display:flex;flex-direction:column}.stage-reward small{color:#858b86;font-size:7px}.stage-reward strong{font-size:12px}.courseware-frame{overflow:hidden;border:2px solid var(--quest-ink);border-radius:16px 16px 16px 5px;background:#fff;box-shadow:4px 5px 0 var(--quest-ink)}.frame-label{height:44px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:2px solid var(--quest-ink);background:#172438;color:#fff}.frame-label i{width:9px;height:9px;border-radius:50%;background:#ff6656;box-shadow:15px 0 #ffd457,30px 0 #79e093}.frame-label span{margin-left:35px;font-size:10px;font-weight:900}.frame-label small{margin-left:auto;color:#aebcc5;font-size:8px}.courseware-frame iframe{width:100%;height:590px;display:block;border:0;background:#fff}.frame-fullscreen{min-height:29px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;border:1px solid #506078;border-radius:7px;background:#23334a;color:#f8fbff;cursor:pointer;font-size:8px;font-weight:900;transition:transform .18s ease,background .18s ease}.frame-fullscreen:hover{transform:translateY(-1px);background:#304563}.frame-fullscreen svg{width:13px}.frame-fullscreen b{white-space:nowrap}.courseware-frame:fullscreen{width:100vw;height:100vh;display:flex;flex-direction:column;border:0;border-radius:0;background:#0b1422;box-shadow:none}.courseware-frame:fullscreen .frame-label{flex:0 0 50px}.courseware-frame:fullscreen iframe{flex:1;height:auto}.leaderboard{padding-bottom:15px}.rank-heading>svg{width:27px;color:var(--quest-yellow);fill:var(--quest-yellow)}.rank-heading>span{margin-left:auto;padding:4px 6px;border-radius:5px;background:#ffffff1f;color:#c7d1d8;font-size:7px}.rank-podium{height:170px;display:flex;align-items:end;justify-content:center;gap:8px;padding:20px 10px 0;background:linear-gradient(#eefaff,#fffdf7)}.rank-podium>div{width:70px;display:flex;flex-direction:column;align-items:center;position:relative}.rank-podium>div>span{width:43px;height:43px;display:grid;place-items:center;border:2px solid var(--quest-ink);border-radius:13px;font-size:14px;font-weight:900}.rank-podium strong{width:100%;margin-top:5px;overflow:hidden;font-size:9px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.rank-podium small{color:#78848b;font-size:8px}.rank-podium i{width:29px;height:34px;display:grid;place-items:center;margin-top:6px;background:#ffc646;font-style:normal;font-size:12px;font-weight:1000}.rank-podium .rank-1{order:2;align-self:start}.rank-podium .rank-2{order:1}.rank-podium .rank-3{order:3}.rank-podium .rank-2 i{height:27px;background:#b9c9d4}.rank-podium .rank-3 i{height:22px;background:#db9364}.leaderboard ol{display:grid;gap:5px;margin:6px 12px 12px;padding:0;list-style:none}.leaderboard li{min-height:42px;display:grid;grid-template-columns:20px 30px 1fr auto;align-items:center;gap:6px;padding:5px 8px;border-radius:9px}.leaderboard li.is-me{border:1px solid #53bb71;background:#dcf9e2}.leaderboard li b{color:#899298;font-size:10px}.leaderboard li>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--quest-ink);border-radius:8px;font-size:9px;font-weight:900}.leaderboard li strong{font-size:9px}.leaderboard li em{font-style:normal;font-size:9px;font-weight:900}.rank-note{display:flex;gap:7px;margin:9px 12px 0;padding:10px;border:1px dashed #cbd1d0;border-radius:9px;background:#fafbf8}.rank-note svg{width:15px;flex:0 0 auto;color:#ed6b43}.rank-note p{margin:0;color:#78848a;font-size:8px;line-height:1.6}.python-lab{overflow:hidden;border:2px solid var(--quest-ink);border-radius:16px 16px 16px 5px;background:#fff;box-shadow:4px 5px 0 var(--quest-ink)}.lab-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}.lab-heading>div{display:flex;align-items:center;gap:10px}.lab-heading>div>span{width:42px;height:42px;display:grid;place-items:center;border:2px solid var(--quest-ink);border-radius:11px;background:var(--quest-lime);box-shadow:3px 3px 0 var(--quest-ink)}.lab-heading svg{width:20px}.lab-heading small{color:#ef633d;font-size:7px;font-weight:1000;letter-spacing:.15em}.lab-heading h2{margin:2px 0 0;font-size:18px}.lab-heading>p{max-width:360px;margin:0;color:#7d878d;font-size:9px;line-height:1.6;text-align:right}.lab-window{border-top:2px solid var(--quest-ink);background:#101b2d}.lab-toolbar{min-height:49px;display:flex;align-items:center;gap:13px;padding:7px 11px 7px 15px;border-bottom:1px solid #354254;color:#e9f2f5}.window-dots{display:flex;gap:5px}.window-dots i{width:8px;height:8px;border-radius:50%;background:#ff6b5f}.window-dots i:nth-child(2){background:#ffd35d}.window-dots i:nth-child(3){background:#7be09a}.lab-toolbar>strong{font:700 10px Consolas,monospace}.lab-toolbar>div{display:flex;gap:6px;margin-left:auto}.lab-toolbar>.lab-languages{margin-left:0}.lab-languages button.selected{border-color:var(--quest-yellow);background:#31435d;color:#fff}.lab-toolbar button{min-height:31px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid #48576b;border-radius:7px;background:#1c2a3d;color:#d5dfe4;cursor:pointer;font-size:8px}.lab-toolbar button svg{width:13px}.lab-toolbar button.run-code{border-color:#80eca0;background:#80eca0;color:#102032;font-weight:900}.lab-toolbar button:disabled{opacity:.6;cursor:wait}.lab-grid{min-height:420px;display:grid;grid-template-columns:1.25fr .75fr}.code-editor-wrap{display:grid;grid-template-columns:42px 1fr;min-width:0;border-right:1px solid #354254}.line-numbers{display:flex;flex-direction:column;padding-top:17px;border-right:1px solid #2c394b;color:#617084;font:12px/1.72 Consolas,monospace;text-align:center}.code-editor-wrap textarea{width:100%;min-height:420px;resize:vertical;padding:16px;border:0;outline:0;background:#101b2d;color:#d9f7df;caret-color:#ffd75d;font:13px/1.72 Consolas,Courier New,monospace;tab-size:4}.console-panel{min-width:0;background:#0a1422}.console-panel>div:first-child{height:40px;display:flex;align-items:center;gap:7px;padding:0 13px;border-bottom:1px solid #293648;color:#91a2b1;font-size:9px;font-weight:800}.console-panel svg{width:14px}.console-panel pre{min-height:350px;margin:0;overflow:auto;padding:16px;color:#83e99f;white-space:pre-wrap;word-break:break-word;font:11px/1.7 Consolas,monospace}.console-panel.has-turtle-canvas pre{min-height:auto;padding:10px 14px;border-top:1px solid #293648}.turtle-canvas-wrap{margin:12px;overflow:hidden;border:2px solid #42546b;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px #dbe4e8}.turtle-canvas-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:12 / 7;background:#fff}@keyframes quest-hover{0%,to{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-10px) rotate(-5deg)}}@keyframes quest-blink{50%{opacity:0}}@keyframes score-pop{0%{opacity:0;transform:translate(-50%,-15px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}@media(max-width:1180px){.module-grid{grid-template-columns:repeat(2,1fr)}.quest-module{min-height:210px}.classroom-layout{grid-template-columns:220px minmax(0,1fr)}.leaderboard{position:static;grid-column:1 / -1}.rank-podium{width:300px;float:left}.leaderboard ol{min-height:155px;padding-top:10px}.rank-note{clear:both}}@media(max-width:850px){.quest-login-card{grid-template-columns:1fr}.quest-login-story{min-height:370px;padding:42px}.quest-kicker{margin-top:42px}.quest-pixel-scene{display:none}.quest-login-form{padding:45px}.lobby-hero{grid-template-columns:1fr 220px;padding:42px}.hero-console{transform:scale(.75) rotate(5deg)}.lobby-status{grid-template-columns:repeat(3,1fr)}.lobby-status .status-motto{grid-column:1 / -1}.classroom-heading{grid-template-columns:165px 1fr 85px}.classroom-layout{grid-template-columns:1fr}.lesson-map{position:static}.lesson-map>button{min-height:68px}.leaderboard{grid-column:auto}.lab-grid{grid-template-columns:1fr}.code-editor-wrap{border-right:0;border-bottom:1px solid #354254}.console-panel pre{min-height:180px}.courseware-frame iframe{height:520px}}@media(max-width:600px){.quest-login-page{padding:62px 14px 22px}.quest-back{left:18px;top:20px}.quest-login-card{width:100%;border-width:2px;border-radius:20px 20px 20px 6px;box-shadow:7px 8px #07111d}.quest-login-story{min-height:300px;padding:28px 25px}.quest-logo>svg{width:40px;height:40px}.quest-kicker{margin:38px 0 9px;font-size:8px}.quest-login-story h1{font-size:39px}.quest-story-copy{margin-top:15px;font-size:11px}.quest-login-form{gap:24px;padding:30px 24px}.quest-login-form h2{font-size:28px}.quest-demo-tip{flex-wrap:wrap}.quest-topbar{height:66px;padding:0 12px}.quest-brand>span{width:37px;height:37px}.quest-brand div{display:none}.point-pill{min-height:40px;padding:4px 8px}.point-pill>svg{width:17px}.point-pill small{display:none}.point-pill strong{font-size:14px}.player-pill{min-height:40px;padding:3px 7px}.player-pill>span{width:29px;height:29px}.player-pill small{display:none}.player-pill strong{max-width:70px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.quest-logout{width:37px;height:37px}.score-toast{width:max-content;max-width:calc(100% - 30px);top:78px;font-size:11px}.quest-lobby{width:calc(100% - 24px);padding:27px 0 55px}.lobby-hero{min-height:420px;display:block;padding:32px 25px;border-width:2px;box-shadow:6px 7px 0 var(--quest-ink)}.lobby-hero h1{font-size:38px}.lobby-hero p{font-size:11px;line-height:1.7}.hero-console{margin:22px auto -12px;transform:scale(.68) rotate(5deg);transform-origin:top center}.module-board{padding:56px 0 40px}.board-title h2{font-size:28px}.module-grid{grid-template-columns:1fr;gap:14px}.quest-module{min-height:145px;padding:18px}.module-icon{width:50px;height:50px}.module-copy{margin-top:18px}.module-copy strong{font-size:18px}.module-number{font-size:60px}.lobby-status{grid-template-columns:1fr}.lobby-status>div{min-height:67px;border-right:0;border-bottom:1px solid #d9d8cf}.lobby-status .status-motto{grid-column:auto}.classroom-page{width:calc(100% - 20px);padding:18px 0 50px}.classroom-heading{min-height:0;grid-template-columns:1fr 70px;gap:12px;padding:17px}.classroom-heading>button{grid-column:1 / -1}.classroom-heading h1{font-size:20px}.class-progress-ring{width:64px;height:64px;border-width:6px}.class-progress-ring strong{font-size:13px}.stage-top{display:block;padding:17px}.stage-top h2{font-size:19px}.stage-reward{width:fit-content;margin-top:13px}.frame-label small{display:none}.courseware-frame iframe{height:610px}.rank-podium{width:100%;float:none}.leaderboard ol{min-height:0}.lab-heading{display:block}.lab-heading>p{margin-top:12px;text-align:left}.lab-toolbar{flex-wrap:wrap;padding-block:8px}.lab-toolbar>div{width:100%}.lab-toolbar button{flex:1;justify-content:center}.code-editor-wrap textarea,.line-numbers{min-height:340px}.console-panel pre{min-height:160px}}.student-module-page{width:min(1220px,calc(100% - 36px));margin:auto;padding:40px 0 80px}.student-module-heading{min-height:150px;display:grid;grid-template-columns:190px 72px 1fr;align-items:center;gap:20px;padding:26px 34px;border:3px solid var(--quest-ink);border-radius:22px 22px 22px 7px;background:#fffdf6;box-shadow:7px 8px 0 var(--quest-ink)}.student-module-heading>button,.paper-topbar>button,.homework-editor-heading>button{width:fit-content;display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #c8cece;border-radius:9px;background:#fff;cursor:pointer;font-size:10px;font-weight:800}.student-module-heading button svg{width:15px}.module-heading-icon{width:66px;height:66px;display:grid;place-items:center;border:3px solid var(--quest-ink);border-radius:18px;background:var(--quest-cyan);box-shadow:4px 5px 0 var(--quest-ink);transform:rotate(-4deg)}.module-heading-icon svg{width:30px}.student-module-heading>div:last-child>span{color:#ee623e;font-size:9px;font-weight:1000;letter-spacing:.2em}.student-module-heading h1{margin:5px 0 2px;font-size:32px}.student-module-heading p{margin:0;color:#78838a;font-size:11px}.assessment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:35px}.assessment-card{min-height:285px;padding:26px;position:relative;border:2px solid var(--quest-ink);border-radius:18px 18px 18px 6px;background:#fff;box-shadow:5px 6px 0 var(--quest-ink)}.assessment-card-top{display:flex;align-items:center;gap:14px}.assessment-card-top>span{width:55px;height:55px;display:grid;place-items:center;border:2px solid var(--quest-ink);border-radius:14px;background:var(--quest-yellow)}.assessment-card-top>span.psychology{background:var(--quest-purple)}.assessment-card-top svg{width:25px}.assessment-card-top small{color:#ee643f;font-size:8px;font-weight:1000;letter-spacing:.12em}.assessment-card h2{margin:3px 0 0;font-size:20px}.assessment-card>p{min-height:44px;color:#6e7980;font-size:11px;line-height:1.8}.assessment-meta{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0}.assessment-meta span{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:7px;background:#eef2ef;color:#647079;font-size:8px;font-weight:700}.assessment-meta svg{width:13px}.assessment-card>button{height:42px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:2px solid var(--quest-ink);border-radius:9px;background:var(--quest-orange);color:#fff;box-shadow:3px 4px 0 var(--quest-ink);cursor:pointer;font-size:10px;font-weight:900}.assessment-card>button:disabled{border-color:#aeb5b6;background:#d7dbd8;box-shadow:none;cursor:default}.assessment-card>button svg{width:14px}.last-score{display:flex;flex-direction:column;align-items:end;position:absolute;right:23px;bottom:24px}.last-score span{color:#92999c;font-size:8px}.last-score strong{font-size:15px}.paper-topbar{min-height:88px;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:16px;margin-bottom:22px;padding:15px 20px;border:2px solid var(--quest-ink);border-radius:15px;background:#fff}.paper-topbar>div{display:flex;flex-direction:column}.paper-topbar small{color:#ec603d;font-size:8px;font-weight:1000;letter-spacing:.16em}.paper-topbar strong{font-size:17px}.paper-topbar>span{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:9px;background:#fff1ad;font-size:10px;font-weight:800}.paper-topbar svg{width:15px}.result-banner{display:flex;align-items:center;gap:20px;margin-bottom:22px;padding:25px 30px;border:3px solid var(--quest-ink);border-radius:19px;background:var(--quest-lime);box-shadow:5px 6px 0 var(--quest-ink)}.result-banner>span{width:60px;height:60px;display:grid;place-items:center;border:2px solid var(--quest-ink);border-radius:50%;background:#fff}.result-banner svg{width:30px}.result-banner small{font-size:8px;font-weight:900;letter-spacing:.12em}.result-banner h1{margin:2px 0;font-size:35px}.result-banner h1 em{font-size:15px;font-style:normal}.result-banner p{margin:0;font-size:10px}.assessment-paper{display:grid;gap:15px}.question-block{padding:24px 27px;border:2px solid var(--quest-ink);border-radius:16px 16px 16px 5px;background:#fff}.question-block.answer-correct{border-left:8px solid #66d980}.question-block.answer-wrong{border-left:8px solid #ff7669}.question-block.answer-manual{border-left:8px solid #8bcfec}.question-block>header{display:grid;grid-template-columns:43px 1fr 28px;align-items:start;gap:12px}.question-block>header>span{width:39px;height:39px;display:grid;place-items:center;border:2px solid var(--quest-ink);border-radius:10px;background:var(--quest-yellow);font-size:11px;font-weight:1000}.question-block header small{color:#7c878c;font-size:8px;font-weight:700}.question-block h2{margin:4px 0 18px;font-size:16px}.question-block header>svg{width:24px;color:#43b867}.answer-wrong header>svg{color:#e55449}.question-options{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding-left:55px}.question-options button{min-height:46px;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid #cbd2d2;border-radius:9px;background:#fafbf8;cursor:pointer;font-size:10px;text-align:left}.question-options button.selected{border:2px solid var(--quest-ink);background:#fff0a5}.question-options button i{width:25px;height:25px;display:grid;place-items:center;border-radius:6px;background:#e6eceb;font-style:normal;font-weight:900}.question-block>input,.question-block>textarea{width:calc(100% - 55px);margin-left:55px;padding:12px;border:1px solid #bfc8c8;border-radius:9px;outline:0}.question-block>textarea{resize:vertical;background:#111e30;color:#dcf8e2;font:12px/1.7 Consolas,monospace}.answer-explain{margin:13px 0 0 55px;padding:9px 11px;border-radius:8px;background:#edf2ef;font-size:9px}.paper-submit{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:19px}.paper-submit span{color:#6e7980;font-size:10px}.paper-submit button{height:46px;display:flex;align-items:center;gap:8px;padding:0 20px;border:2px solid var(--quest-ink);border-radius:10px;background:var(--quest-orange);color:#fff;box-shadow:4px 5px 0 var(--quest-ink);cursor:pointer;font-size:11px;font-weight:900}.paper-submit svg{width:16px}.homework-student-grid{display:grid;gap:18px;margin-top:35px}.homework-student-card{display:grid;grid-template-columns:68px 1fr 170px;align-items:center;gap:18px;padding:24px;position:relative;border:2px solid var(--quest-ink);border-radius:17px 17px 17px 5px;background:#fff;box-shadow:5px 6px 0 var(--quest-ink)}.homework-status-icon{width:61px;height:61px;display:grid;place-items:center;border:2px solid var(--quest-ink);border-radius:15px;background:var(--quest-lime)}.homework-status-icon svg{width:28px}.homework-label{color:#ed613d;font-size:8px;font-weight:1000;letter-spacing:.15em}.homework-main h2{margin:4px 0;font-size:19px}.homework-main>p{margin:0 0 10px;color:#707c82;font-size:10px}.homework-main>div{display:flex;gap:8px}.homework-main>div span{display:flex;align-items:center;gap:4px;color:#78848a;font-size:8px}.homework-main svg{width:13px}.homework-student-card>aside{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.submitted-mark,.todo-mark{display:flex;align-items:center;gap:5px;color:#2d9e50;font-size:9px;font-weight:800}.todo-mark{color:#c9772c}.submitted-mark svg,.todo-mark svg{width:14px}.homework-student-card aside em{color:#8b9498;font-size:9px}.homework-student-card aside button{min-height:36px;padding:0 11px;border:2px solid var(--quest-ink);border-radius:8px;background:var(--quest-yellow);cursor:pointer;font-size:9px;font-weight:900}.teacher-feedback{grid-column:2 / -1;padding:10px 12px;border-left:4px solid #63d17e;background:#edf9f0}.teacher-feedback strong{font-size:9px}.teacher-feedback p{margin:2px 0 0;font-size:10px}.homework-editor-heading{margin-bottom:20px;padding:22px 25px;border:2px solid var(--quest-ink);border-radius:16px;background:var(--quest-lime)}.homework-editor-heading>span{float:right;padding:5px 8px;border-radius:7px;background:#fff;font-size:8px;font-weight:800}.homework-editor-heading h1{margin:17px 0 4px;font-size:27px}.homework-editor-heading p{margin:0;font-size:11px}.homework-editor-grid{display:grid;grid-template-columns:1.3fr .7fr;align-items:start;gap:18px}.homework-code-card,.homework-upload-card{overflow:hidden;border:2px solid var(--quest-ink);border-radius:15px 15px 15px 5px;background:#fff;box-shadow:4px 5px 0 var(--quest-ink)}.homework-code-card>header{height:50px;display:flex;align-items:center;gap:8px;padding:0 14px;background:#172438;color:#fff}.homework-code-card header svg{width:17px}.homework-code-card header strong{font-size:10px}.homework-code-card header button{min-height:31px;display:flex;align-items:center;gap:5px;margin-left:auto;padding:0 9px;border:1px solid #76e395;border-radius:7px;background:#76e395;cursor:pointer;font-size:8px;font-weight:900}.homework-code-card>textarea{width:100%;min-height:400px;resize:vertical;padding:17px;border:0;outline:0;background:#101b2d;color:#d9f7df;font:13px/1.7 Consolas,monospace}.homework-code-card>pre{min-height:130px;margin:0;padding:14px 17px;border-top:1px solid #344257;background:#091422;color:#80e99d;white-space:pre-wrap;font:10px/1.6 Consolas,monospace}.homework-upload-card{display:grid;gap:13px;padding:20px}.homework-upload-card h2{display:flex;align-items:center;gap:8px;margin:0;font-size:16px}.homework-upload-card h2 svg{width:20px}.homework-upload-card>label:first-of-type{font-size:9px;font-weight:800}.homework-upload-card textarea{width:100%;margin-top:6px;padding:10px;border:1px solid #cbd1d0;border-radius:8px;resize:vertical;font-size:10px}.upload-limits{display:flex;gap:7px}.upload-limits span{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:7px;background:#eff2ef;font-size:8px}.upload-limits svg{width:13px}.homework-drop{min-height:85px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #9eacab;border-radius:10px;background:#fafbf8;cursor:pointer}.homework-drop>svg{width:22px;color:#3cb665}.homework-drop strong{margin-top:4px;font-size:10px}.homework-drop small{color:#8c9699;font-size:8px}.homework-drop.video>svg{color:#ed6944}.homework-photo-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.homework-photo-preview>div{aspect-ratio:1;position:relative;overflow:hidden;border-radius:6px}.homework-photo-preview img{width:100%;height:100%;object-fit:cover}.homework-photo-preview button{position:absolute;right:2px;top:2px;border:0;border-radius:50%;background:#d84d43;color:#fff;cursor:pointer}.submit-homework{height:44px;display:flex;align-items:center;justify-content:center;gap:7px;border:2px solid var(--quest-ink);border-radius:9px;background:var(--quest-orange);color:#fff;box-shadow:3px 4px 0 var(--quest-ink);cursor:pointer;font-size:10px;font-weight:900}.submit-homework svg{width:15px}.submission-success{max-width:620px;margin:80px auto;padding:55px;border:3px solid var(--quest-ink);border-radius:25px 25px 25px 7px;background:var(--quest-lime);box-shadow:8px 9px 0 var(--quest-ink);text-align:center}.submission-success>span{width:78px;height:78px;display:grid;place-items:center;margin:auto;border:3px solid var(--quest-ink);border-radius:50%;background:#fff}.submission-success svg{width:38px}.submission-success h1{font-size:30px}.submission-success p{font-size:11px}.submission-success button{padding:10px 15px;border:2px solid var(--quest-ink);border-radius:8px;background:var(--quest-yellow);box-shadow:3px 4px 0 var(--quest-ink);cursor:pointer;font-weight:900}.square-toolbar{display:flex;align-items:center;justify-content:space-between;margin:28px 0 18px}.square-toolbar>div{display:flex;align-items:center;gap:8px;color:#68747a;font-size:10px}.square-toolbar svg{width:17px;color:#e86440}.square-toolbar>button{min-height:42px;display:flex;align-items:center;gap:7px;padding:0 14px;border:2px solid var(--quest-ink);border-radius:9px;background:var(--quest-purple);box-shadow:3px 4px 0 var(--quest-ink);cursor:pointer;font-size:10px;font-weight:900}.square-toolbar button svg{color:var(--quest-ink)}.pending-posts{display:flex;align-items:center;gap:9px;margin-bottom:16px;padding:12px 15px;border:1px dashed #aeb5b4;border-radius:10px;background:#fff9dc;font-size:9px}.pending-posts>span{padding:5px 8px;border-radius:6px;background:#fff}.pending-posts em{margin-left:8px;color:#ca762d;font-style:normal}.square-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px}.post-feed{display:grid;gap:18px}.plaza-post{overflow:hidden;border:2px solid var(--quest-ink);border-radius:17px 17px 17px 5px;background:#fff;box-shadow:5px 6px 0 var(--quest-ink)}.plaza-post>header{display:flex;align-items:center;gap:10px;padding:17px 20px;border-bottom:1px solid #dde1de}.plaza-post>header>span{width:40px;height:40px;display:grid;place-items:center;border:2px solid var(--quest-ink);border-radius:11px;background:var(--quest-cyan);font-weight:900}.plaza-post>header div{display:flex;flex-direction:column}.plaza-post header strong{font-size:11px}.plaza-post header small{color:#899297;font-size:8px}.plaza-post header i{margin-left:auto;color:#329851;font-style:normal;font-size:8px;font-weight:800}.plaza-post>h2{margin:21px 22px 5px;font-size:20px}.plaza-post>p{margin:0 22px 18px;color:#68747a;font-size:10px}.post-code{margin:0 20px 17px;overflow:hidden;border:1px solid #253247;border-radius:11px;background:#101b2d}.post-code>div{height:43px;display:flex;align-items:center;gap:7px;padding:0 11px;border-bottom:1px solid #334054;color:#d5e0e5}.post-code>div svg{width:15px}.post-code>div span{font-size:9px;font-weight:800}.post-code>div button{display:flex;align-items:center;gap:5px;margin-left:auto;padding:6px 8px;border:0;border-radius:6px;background:var(--quest-lime);cursor:pointer;font-size:8px;font-weight:900}.post-code pre{margin:0;padding:14px;color:#d9f4df;white-space:pre-wrap;font:10px/1.6 Consolas,monospace}.post-code output{display:block;padding:12px 14px;border-top:1px solid #334054;color:#72e794;white-space:pre-wrap;font:9px/1.6 Consolas,monospace}.post-actions{display:flex;align-items:center;gap:12px;padding:0 20px 14px}.post-actions button,.post-actions span{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:#6e797f;font-size:9px}.post-actions button{cursor:pointer}.post-actions svg{width:15px}.post-actions button.liked{color:#e34f59}.post-actions button.liked svg{fill:#e34f59}.post-comments{padding:13px 20px 18px;border-top:1px solid #e1e4e1;background:#fafbf7}.post-comments>div{display:grid;grid-template-columns:auto 1fr auto;gap:7px;margin-bottom:7px;font-size:9px}.post-comments p{margin:0}.post-comments>div button{border:0;background:transparent;color:#d05a4f;cursor:pointer;font-size:8px}.post-comments form{display:flex;margin-top:10px}.post-comments input{flex:1;min-width:0;padding:8px 10px;border:1px solid #c8d0ce;border-radius:8px 0 0 8px;font-size:9px}.post-comments form button{width:36px;border:0;border-radius:0 8px 8px 0;background:var(--quest-cyan);cursor:pointer}.post-comments form svg{width:14px}.activity-rail{position:sticky;top:96px;overflow:hidden;border:2px solid var(--quest-ink);border-radius:16px 16px 16px 5px;background:#fff;box-shadow:4px 5px 0 var(--quest-ink)}.activity-title{display:flex;align-items:center;gap:10px;padding:16px;background:#172438;color:#fff}.activity-title>svg{width:25px;color:var(--quest-yellow)}.activity-title div{display:flex;flex-direction:column}.activity-title small{color:#aebbc4;font-size:7px;letter-spacing:.15em}.activity-title strong{font-size:13px}.activity-rail article{padding:17px;border-bottom:1px solid #e1e3df}.activity-rail article>span{display:flex;align-items:center;gap:5px;color:#e2603e;font-size:8px;font-weight:800}.activity-rail article>span svg{width:13px}.activity-rail h3{margin:7px 0 4px;font-size:13px}.activity-rail p{margin:0 0 11px;color:#717c81;font-size:9px;line-height:1.6}.activity-rail a,.activity-rail button{width:100%;min-height:34px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--quest-ink);border-radius:7px;background:var(--quest-yellow);cursor:pointer;font-size:8px;font-weight:900}.activity-rail button.registered{background:var(--quest-lime)}.activity-rail svg{width:13px}.quest-modal-backdrop{display:grid;place-items:center;padding:20px;position:fixed;z-index:120;inset:0;overflow:auto;background:#08111db8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.create-post-modal,.password-modal{width:min(650px,100%);display:grid;gap:13px;padding:28px;border:3px solid var(--quest-ink);border-radius:20px 20px 20px 6px;background:#fffdf7;box-shadow:8px 9px 0 var(--quest-ink)}.create-post-modal>div:first-child>span{color:#e25c3b;font-size:8px;font-weight:1000;letter-spacing:.17em}.create-post-modal h2,.password-modal h2{margin:4px 0 2px;font-size:24px}.create-post-modal>div:first-child p,.password-modal>p{margin:0;color:#788288;font-size:9px}.create-post-modal label,.password-modal label{font-size:9px;font-weight:800}.create-post-modal input,.create-post-modal textarea,.password-modal input{width:100%;margin-top:5px;padding:9px 10px;border:1px solid #c4ccca;border-radius:8px}.post-code-input{background:#111e30;color:#d9f7df;font:10px/1.6 Consolas,monospace}.post-file-picker{min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px dashed #a8b4b1;border-radius:8px;background:#f7faf6;cursor:pointer}.post-file-picker svg{width:16px}.selected-files{margin:0;color:#717b80;font-size:8px}.create-post-actions,.password-modal>div{display:flex;justify-content:flex-end;gap:8px}.create-post-actions button,.password-modal>div button{min-height:38px;padding:0 13px;border:1px solid #bac3c1;border-radius:8px;background:#fff;cursor:pointer;font-size:9px}.create-post-actions button:last-child,.password-modal>div button:last-child{display:flex;align-items:center;gap:5px;border:2px solid var(--quest-ink);background:var(--quest-orange);color:#fff;font-weight:900}.create-post-actions svg{width:14px}.password-modal{width:min(440px,100%)}.password-modal>span{width:53px;height:53px;display:grid;place-items:center;border:2px solid var(--quest-ink);border-radius:14px;background:var(--quest-yellow);box-shadow:3px 4px 0 var(--quest-ink)}.password-modal>span svg{width:24px}.password-modal em{color:#d44f43;font-size:9px;font-style:normal}.portal-admin-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px;padding:8px;border:1px solid #d9dfdc;border-radius:10px;background:#fff}.portal-admin-tabs button{min-height:35px;display:flex;align-items:center;gap:6px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#68756e;cursor:pointer;font-size:9px;font-weight:800}.portal-admin-tabs button.active{background:#26352f;color:#fff}.portal-admin-tabs svg{width:14px}.portal-admin-card{overflow:hidden;border:1px solid #d9dfdc;border-radius:12px;background:#fff;box-shadow:0 8px 24px #26352f0f}.portal-admin-card>header{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 17px;border-bottom:1px solid #e3e7e4}.portal-admin-card>header>div{display:flex;align-items:center;gap:9px}.portal-admin-card>header svg{width:20px;color:#2878ff}.portal-admin-card>header span{display:flex;flex-direction:column}.portal-admin-card>header strong{font-size:11px}.portal-admin-card>header small{color:#8a9690;font-size:8px}.portal-admin-card>header b{padding:5px 7px;border-radius:6px;background:#fff0ae;font-size:8px}.quick-create-row,.courseware-upload-form{display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:end;gap:8px;padding:13px 17px;border-bottom:1px solid #e3e7e4;background:#f7faf8}.quick-create-row label,.courseware-upload-form label{font-size:8px;font-weight:800}.quick-create-row input,.courseware-upload-form input{width:100%;height:35px;margin-top:5px;padding:0 8px;border:1px solid #ccd4d0;border-radius:7px;font-size:9px}.password-view,.table-text-button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;cursor:pointer;font-size:8px}.password-view svg,.table-text-button svg{width:13px}.account-status{padding:5px 7px;border:0;border-radius:6px;background:#ecefed;color:#79837e;cursor:pointer;font-size:8px}.account-status.active{background:#d9f5df;color:#248147}.courseware-upload-form{grid-template-columns:1fr 170px 1fr auto}.zip-picker{height:35px;display:flex;align-items:center;gap:6px;margin-top:5px;padding:0 8px;border:1px dashed #93a39b;border-radius:7px;background:#fff;cursor:pointer;color:#627068;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zip-picker svg{width:14px}.admin-list-stack{display:grid}.admin-list-stack>div{min-height:68px;display:flex;align-items:center;gap:10px;padding:10px 17px;border-bottom:1px solid #e8ebe9}.file-tile{width:39px;height:39px;display:grid;place-items:center;border-radius:9px;background:#e5efff;color:#2878ff}.file-tile.assessment{background:#fff0be;color:#d78520}.file-tile svg{width:19px}.admin-list-stack>div>div{display:flex;flex:1;flex-direction:column}.admin-list-stack strong{font-size:10px}.admin-list-stack small{color:#8a9490;font-size:8px}.admin-list-stack em{color:#84908a;font-size:8px;font-style:normal}.published,.unpublished{display:flex;align-items:center;gap:5px;padding:6px 8px;border:0;border-radius:6px;background:#dcf4e2;color:#25804a;cursor:pointer;font-size:8px}.unpublished{background:#ecefed;color:#7d8782}.published svg,.unpublished svg{width:12px}.portal-empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8a9690}.portal-empty svg{width:34px}.portal-empty strong{margin-top:7px;font-size:11px}.portal-empty span{margin-top:3px;font-size:8px}.submission-admin-list{display:grid;gap:10px;padding:13px}.submission-admin-list article{overflow:hidden;border:1px solid #d8dfdb;border-radius:9px}.submission-admin-list article>header{display:flex;justify-content:space-between;padding:9px 11px;background:#f5f8f6}.submission-admin-list header strong{font-size:10px}.submission-admin-list header span,.submission-admin-list header small{margin-left:7px;color:#87918c;font-size:8px}.submission-admin-list pre{max-height:150px;margin:0;overflow:auto;padding:10px 12px;background:#172438;color:#d5f5dc;font:9px/1.6 Consolas,monospace}.submission-admin-list article>p{margin:0;padding:8px 11px;color:#76817b;font-size:8px}.submission-admin-list article>div{display:grid;grid-template-columns:80px 1fr auto;gap:7px;padding:9px 11px;border-top:1px solid #e0e5e2}.submission-admin-list input{height:34px;padding:0 8px;border:1px solid #cbd3cf;border-radius:7px;font-size:8px}.moderation-item{margin:12px;padding:13px;border:1px solid #d8dfdc;border-radius:9px}.moderation-item>div{display:flex;align-items:center;gap:8px}.moderation-item>div>span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#cdeeff;font-size:9px;font-weight:900}.moderation-item>div div{display:flex;flex-direction:column}.moderation-item strong{font-size:10px}.moderation-item small{color:#83908a;font-size:8px}.moderation-item pre{max-height:100px;overflow:auto;padding:9px;border-radius:7px;background:#172438;color:#d8f4de;font:8px/1.6 Consolas,monospace}.moderation-item footer{display:flex;gap:6px;justify-content:flex-end}.moderation-item footer button{min-height:31px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid #ccd3d0;border-radius:6px;background:#fff;cursor:pointer;font-size:8px}.moderation-item footer button.approve{border-color:#5ec579;background:#dff6e4}.moderation-item footer svg{width:12px}.comment-manage-title{margin:20px 14px 9px;font-size:11px}.comment-manage{display:grid;gap:5px;margin:0 14px 14px;padding:10px;border:1px solid #dde2df;border-radius:8px}.comment-manage>strong{font-size:9px}.comment-manage>span{display:grid;grid-template-columns:50px 1fr 22px;align-items:center;font-size:8px}.comment-manage button{border:0;background:transparent;color:#d6504b;cursor:pointer}.comment-manage svg{width:12px}.activity-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:13px}.activity-admin-grid article{padding:13px;border:1px solid #d9dfdc;border-radius:9px}.activity-admin-grid article>span{color:#de633f;font-size:8px}.activity-admin-grid h3{margin:5px 0 2px;font-size:11px}.activity-admin-grid p{margin:0;color:#87918c;font-size:8px}.activity-admin-grid>article>strong{display:block;margin-top:8px;font-size:10px}.activity-admin-grid ul{min-height:30px;margin:6px 0;padding-left:17px;font-size:8px}.activity-admin-grid button{min-height:31px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid #c8d0cc;border-radius:6px;background:#fff;cursor:pointer;font-size:8px}.activity-admin-grid button svg{width:13px}@media(max-width:850px){.student-module-heading{grid-template-columns:1fr 60px}.student-module-heading>button{grid-column:1 / -1}.module-heading-icon{width:56px;height:56px}.student-module-heading>div:last-child{grid-column:1;grid-row:2}.module-heading-icon{grid-column:2;grid-row:2}.square-layout{grid-template-columns:1fr}.activity-rail{position:static}.homework-editor-grid{grid-template-columns:1fr}}@media(max-width:600px){.student-module-page{width:calc(100% - 20px);padding:18px 0 55px}.student-module-heading{min-height:0;gap:12px;padding:18px;border-width:2px;box-shadow:5px 6px 0 var(--quest-ink)}.student-module-heading h1{font-size:25px}.assessment-grid{grid-template-columns:1fr}.assessment-card{min-height:270px;padding:20px}.paper-topbar{grid-template-columns:1fr}.paper-topbar>span{width:fit-content}.result-banner{padding:20px}.question-block{padding:18px 15px}.question-block>header{grid-template-columns:36px 1fr 22px}.question-options{grid-template-columns:1fr;padding-left:0}.question-block>input,.question-block>textarea{width:100%;margin-left:0}.answer-explain{margin-left:0}.paper-submit{justify-content:space-between}.homework-student-card{grid-template-columns:55px 1fr;padding:17px}.homework-status-icon{width:50px;height:50px}.homework-student-card>aside{grid-column:1 / -1;align-items:stretch}.homework-student-card aside button{width:100%}.teacher-feedback{grid-column:1 / -1}.homework-main>div{flex-direction:column}.homework-editor-heading h1{font-size:22px}.square-toolbar{align-items:flex-start;gap:10px}.square-toolbar>div{max-width:170px}.pending-posts{align-items:flex-start;flex-direction:column}.post-code{margin-inline:12px}.plaza-post>h2,.plaza-post>p{margin-inline:14px}.create-post-modal{padding:20px}.quest-userbar .quest-logout[title=修改密码]{display:none}.quick-create-row,.quick-create-row.account-editor,.courseware-upload-form,.activity-admin-grid{grid-template-columns:1fr}.submission-admin-list article>div{grid-template-columns:1fr}.portal-admin-tabs{overflow-x:auto;flex-wrap:nowrap}.portal-admin-tabs button{flex:0 0 auto}}.quick-create-row.teacher{grid-template-columns:1fr 1fr auto}.quick-create-row.account-editor{grid-template-columns:1.1fr 1fr 1fr 1fr auto}.quick-create-row.account-editor select{width:100%;height:35px;margin-top:5px;padding:0 8px;border:1px solid #ccd4d0;border-radius:7px;background:#fff;font-size:9px}.account-editor-actions,.account-row-actions{display:flex;align-items:center;gap:6px}.account-editor-actions>button:first-child{min-height:35px;padding:0 11px;border:1px solid #ccd4d0;border-radius:7px;background:#fff;cursor:pointer;font-size:8px}.password-secure{display:inline-flex;align-items:center;gap:5px;color:#27804b;font-size:8px;font-weight:800}.password-secure svg{width:14px}.account-row-actions{justify-content:flex-end;flex-wrap:wrap}.assessment-builder,.assignment-create{display:grid;gap:10px;padding:14px 17px;border-bottom:1px solid #e1e6e3;background:#f7faf8}.assessment-builder label,.assignment-create label{font-size:8px;font-weight:800}.assessment-builder input,.assessment-builder select,.assignment-create input,.assignment-create textarea,.activity-create input,.activity-create select{width:100%;min-height:34px;margin-top:4px;padding:6px 8px;border:1px solid #c8d1cc;border-radius:7px;background:#fff;font-size:8px}.builder-meta{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:7px}.builder-questions{display:grid;gap:7px}.builder-questions>div{display:grid;grid-template-columns:45px 85px 1.5fr 1fr 1fr 60px 28px;align-items:center;gap:5px;padding:7px;border:1px solid #d8dfdb;border-radius:7px;background:#fff}.builder-questions>div>span{font-size:8px;font-weight:900}.builder-questions input,.builder-questions select{margin:0}.builder-questions button{width:27px;height:27px;display:grid;place-items:center;border:0;border-radius:6px;background:#ffe1df;color:#cb4c46;cursor:pointer}.builder-questions button svg{width:12px}.assessment-builder footer{display:flex;justify-content:flex-end;gap:7px}.assessment-builder footer button{min-height:33px;display:flex;align-items:center;gap:5px;padding:0 9px;border:1px solid #c4ceca;border-radius:7px;background:#fff;cursor:pointer;font-size:8px}.assessment-builder footer svg{width:13px}.assignment-create>.assignment-question-row,.assignment-create>.assignment-publish-row{display:grid;grid-template-columns:1fr 130px auto;align-items:end;gap:8px}.activity-create{display:grid;grid-template-columns:1.2fr 1.5fr 120px 100px 1fr auto;align-items:center;gap:7px;padding:12px 14px;border-bottom:1px solid #e1e6e3;background:#f7faf8}.activity-create input,.activity-create select{margin:0}@media(max-width:600px){.quick-create-row.teacher,.builder-meta,.builder-questions>div,.assignment-create>.assignment-question-row,.assignment-create>.assignment-publish-row,.activity-create{grid-template-columns:1fr}}.quest-lobby .module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-module-page{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:34px 0 70px}.student-module-page>header{min-height:148px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin-bottom:28px;padding:24px 30px;border:3px solid var(--quest-ink);border-radius:22px 22px 22px 7px;background:#fffdf7;box-shadow:7px 8px 0 var(--quest-ink)}.student-module-page>header>button:first-child{min-height:39px;display:inline-flex;align-items:center;gap:7px;align-self:start;padding:0 12px;border:2px solid var(--quest-ink);border-radius:9px;background:#fff;box-shadow:3px 3px 0 var(--quest-ink);cursor:pointer;color:var(--quest-ink);font-size:10px;font-weight:900}.student-module-page>header>button:first-child svg{width:15px}.student-module-page>header>div>small{color:#2878ff;font-size:9px;font-weight:1000;letter-spacing:.18em}.student-module-page>header h1{margin:7px 0 5px;font-size:34px;line-height:1}.student-module-page>header p{margin:0;color:#68757b;font-size:11px}.student-module-page>header .rich-content{max-height:82px;overflow:auto;color:#68757b;font-size:10px}.student-primary{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 15px;border:2px solid var(--quest-ink);border-radius:9px;background:var(--quest-orange);box-shadow:3px 4px 0 var(--quest-ink);cursor:pointer;color:#fff;font-size:10px;font-weight:1000}.student-primary svg{width:16px}.student-primary:disabled{opacity:.5;cursor:not-allowed}.assessment-card-grid,.homework-card-grid,.square-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.assessment-card-grid>article,.homework-card-grid>article,.square-grid>article{min-width:0;position:relative;border:3px solid var(--quest-ink);border-radius:18px 18px 18px 6px;background:#fff;box-shadow:5px 6px 0 var(--quest-ink)}.assessment-card-grid>article,.homework-card-grid>article{min-height:288px;display:flex;flex-direction:column;padding:24px;overflow:hidden}.assessment-card-grid>article:before,.homework-card-grid>article:before{content:"";width:100px;height:100px;position:absolute;right:-35px;top:-40px;border-radius:50%;background:#dff6ff}.homework-card-grid>article:before{background:#e9ffd0}.assessment-card-grid>article>span,.homework-card-grid>article>span{width:49px;height:49px;display:grid;place-items:center;position:relative;border:2px solid var(--quest-ink);border-radius:13px;background:var(--quest-cyan);box-shadow:3px 3px 0 var(--quest-ink)}.homework-card-grid>article>span{background:var(--quest-lime)}.assessment-card-grid svg,.homework-card-grid svg{width:22px}.assessment-card-grid h2,.homework-card-grid h2{margin:18px 0 7px;font-size:18px;line-height:1.35}.assessment-card-grid p,.homework-description-preview{margin:0 0 16px;color:#6d787d;font-size:10px;line-height:1.7}.homework-description-preview{max-height:72px;overflow:hidden}.homework-description-preview>:first-child{margin-top:0}.homework-description-preview>:last-child{margin-bottom:0}.assessment-card-grid article>div{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding:11px 0;border-top:1px dashed #bdc5c2;color:#5e6a70;font-size:9px}.assessment-card-grid article>div em{color:#2878ff;font-style:normal;font-weight:900}.assessment-card-grid article>button,.homework-card-grid article>button{min-height:39px;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;border:2px solid var(--quest-ink);border-radius:8px;background:var(--quest-yellow);box-shadow:2px 3px 0 var(--quest-ink);cursor:pointer;font-size:9px;font-weight:1000}.assessment-card-grid article>button svg{width:14px}.homework-types{display:flex!important;justify-content:flex-start!important;flex-wrap:wrap;gap:5px!important;margin-top:auto!important;padding:8px 0!important;border:0!important}.homework-types em{display:flex;align-items:center;gap:3px;padding:4px 6px;border-radius:5px;background:#eff4f1;color:#64716b!important;font-size:8px}.homework-types svg{width:11px}.homework-card-grid article>small{color:#2c8b4e;font-size:9px;font-weight:900}.attempt-history{margin-top:30px;padding:22px;border:3px solid var(--quest-ink);border-radius:18px 18px 18px 6px;background:#172438;color:#fff;box-shadow:5px 6px 0 var(--quest-ink)}.attempt-history h2{display:flex;align-items:center;gap:8px;margin:0 0 15px;font-size:16px}.attempt-history h2 svg{width:20px;color:var(--quest-yellow)}.attempt-history>div{display:grid;grid-template-columns:90px 80px 1fr;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid #344256;background:#1e2d43}.attempt-history>div:first-of-type{border-radius:9px 9px 0 0}.attempt-history>div:last-child{border-bottom:0;border-radius:0 0 9px 9px}.attempt-history strong{color:var(--quest-lime);font-size:15px}.attempt-history span,.attempt-history small{color:#aebac5;font-size:9px}.assessment-sheet{display:grid;gap:24px}.assessment-sheet>article{overflow:hidden;border:2px solid #253044;border-radius:26px;background:#fff;box-shadow:5px 6px #253044}.assessment-sheet>article>header{min-height:92px;display:grid;grid-template-columns:56px 1fr 32px;align-items:center;gap:17px;padding:18px 24px;border-bottom:1px solid #e1e7e4;background:linear-gradient(135deg,#f7fcfa,#fffdf5)}.assessment-sheet>article>header span{width:52px;height:52px;display:grid;place-items:center;border:2px solid #253044;border-radius:17px;background:#76d9f2;box-shadow:2px 3px #253044;font-size:20px;font-weight:1000}.assessment-sheet h2{margin:0;color:#202b3e;font-size:clamp(19px,1.45vw,23px);font-weight:850;line-height:1.55;letter-spacing:.01em}.assessment-sheet article>div{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:24px}.assessment-sheet label{min-height:66px;display:flex;align-items:center;gap:13px;padding:15px 18px;border:2px solid #d3dcda;border-radius:17px;background:#fff;cursor:pointer;color:#455267;font-size:16px;font-weight:650;line-height:1.55;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}.assessment-sheet label:hover{border-color:#78bdd2;background:#f4fbff;transform:translateY(-1px)}.assessment-sheet label input{width:21px;height:21px;flex:0 0 auto;accent-color:#328aaa}.assessment-sheet label:has(input:checked){border-color:#328aaa;background:#e8f8ff;box-shadow:0 0 0 3px #49adcf1f}.assessment-sheet article>p{margin:0;padding:14px 24px;background:#fff4cc;color:#65531a;font-size:14px;line-height:1.7}.assessment-sheet footer{display:flex;justify-content:center;padding:22px}.assessment-result{min-width:330px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 15px;padding:22px;border:2px solid var(--quest-ink);border-radius:22px;background:var(--quest-yellow);box-shadow:5px 6px 0 var(--quest-ink)}.assessment-result>svg{width:46px;height:46px;grid-row:1/3}.assessment-result strong{font-size:26px}.assessment-result span{font-size:13px}.assessment-result button{grid-column:1/-1;min-height:42px;border:2px solid var(--quest-ink);border-radius:13px;background:#fff;cursor:pointer;font-size:13px;font-weight:900}.student-homework-editor,.square-compose{display:grid;gap:16px;padding:25px;border:3px solid var(--quest-ink);border-radius:18px 18px 18px 6px;background:#fff;box-shadow:6px 7px 0 var(--quest-ink)}.student-homework-editor label,.square-compose label{color:#35433d;font-size:10px;font-weight:900}.student-homework-editor textarea,.square-compose input,.square-compose textarea{width:100%;margin-top:6px;padding:12px;border:2px solid #bdc7c3;border-radius:9px;outline:0;background:#fbfcfa;font:inherit}.student-homework-editor textarea:focus,.square-compose input:focus,.square-compose textarea:focus{border-color:#2878ff;box-shadow:0 0 0 3px #dce9ff}.homework-question{margin:0;padding:17px;border:2px solid var(--quest-ink);border-radius:12px;background:#f7faf7}.homework-question legend{padding:0 8px;font-size:11px;font-weight:1000}.homework-question>div{display:flex;flex-wrap:wrap;gap:8px}.homework-question>div label{min-width:130px;padding:9px 11px;border:1px solid #ccd3d0;border-radius:8px;background:#fff}.code-answer{background:#111e30!important;color:#d9f7df;font:11px/1.65 Consolas,monospace!important}.student-file-picker{min-height:56px;display:flex;align-items:center;justify-content:center;gap:8px;border:2px dashed #98aaa2;border-radius:10px;background:#f4f8f5;cursor:pointer}.student-file-picker svg{width:18px}.previous-feedback{display:flex;gap:11px;padding:14px;border:2px solid #6cc789;border-radius:10px;background:#e7faec}.previous-feedback svg{color:#299052}.previous-feedback p{margin:3px 0 0;font-size:9px}.square-compose{margin-bottom:24px;background:#fffaf0}.square-grid>article{overflow:hidden}.square-grid article>header{display:flex;align-items:center;gap:10px;padding:15px;border-bottom:1px solid #e0e4e1;background:#f8faf7}.square-grid article>header>span{width:39px;height:39px;display:grid;place-items:center;border:2px solid var(--quest-ink);border-radius:10px;background:var(--quest-purple);font-weight:1000}.square-grid header>div{display:flex;flex:1;flex-direction:column}.square-grid header strong{font-size:10px}.square-grid header small{color:#84908a;font-size:8px}.square-grid header em{display:flex;align-items:center;gap:3px;color:#b27821;font-size:8px;font-style:normal}.square-grid header em.approved{color:#28834c}.square-grid header em.rejected{color:#d04d49}.square-grid header svg{width:12px}.square-grid h2{margin:18px 18px 7px;font-size:17px}.square-grid article>p{min-height:55px;margin:0 18px 17px;color:#6c7872;font-size:10px;line-height:1.7}.square-grid article>aside{margin:0 15px 13px;padding:10px;border-radius:8px;background:#fff0d8;color:#a06421;font-size:9px}.square-grid article>footer{display:flex;align-items:center;gap:6px;padding:11px 17px;border-top:1px solid #e3e6e3;background:#fafbf8;color:#77837d;font-size:8px}.square-grid footer svg{width:14px}.file-center-hero{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;gap:22px;margin-bottom:18px;padding:20px;border:3px solid var(--quest-ink);border-radius:17px;background:#dff6ff;box-shadow:5px 6px 0 var(--quest-ink)}.file-center-hero>div:first-child{display:flex;align-items:center;gap:12px}.file-center-hero>div:first-child>svg{width:42px;height:42px;color:#2878ff}.file-center-hero span{display:flex;flex-direction:column}.file-center-hero small{color:#64757d;font-size:8px}.file-center-hero strong{font-size:15px}.student-shared-upload{display:grid;grid-template-columns:1fr auto;gap:8px}.student-shared-upload label{min-height:45px;display:flex;align-items:center;gap:8px;padding:0 12px;overflow:hidden;border:2px dashed #738b82;border-radius:9px;background:#fff;cursor:pointer;color:#5b6b65;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.student-shared-upload label svg{width:17px}.student-shared-upload button{padding:0 15px;border:2px solid var(--quest-ink);border-radius:9px;background:var(--quest-lime);box-shadow:2px 3px 0 var(--quest-ink);cursor:pointer;font-size:9px;font-weight:1000}.student-shared-upload button:disabled{opacity:.45}.file-center-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:27px}.file-center-tools strong{font-size:18px}.file-center-tools input{width:min(280px,55vw);height:39px;padding:0 11px;border:2px solid var(--quest-ink);border-radius:8px}.file-download-list{display:grid;gap:10px;margin-top:12px}.file-download-list article{min-height:76px;display:grid;grid-template-columns:48px 1fr auto auto;align-items:center;gap:13px;padding:11px 15px;border:2px solid var(--quest-ink);border-radius:13px;background:#fff;box-shadow:3px 4px 0 var(--quest-ink)}.download-file-icon{width:46px;height:46px;display:grid;place-items:center;border:2px solid var(--quest-ink);border-radius:11px;background:var(--quest-yellow)}.download-file-icon svg{width:22px}.file-download-list article>div{display:flex;min-width:0;flex-direction:column}.file-download-list article strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.file-download-list article small{margin-top:4px;color:#7c8983;font-size:8px}.file-download-list article>a{min-height:36px;display:flex;align-items:center;gap:5px;padding:0 11px;border:2px solid var(--quest-ink);border-radius:8px;background:var(--quest-cyan);color:var(--quest-ink);font-size:9px;font-weight:1000}.file-download-list article>a svg{width:14px}.delete-own-file{width:35px;height:35px;display:grid;place-items:center;border:1px solid #e6aaa7;border-radius:8px;background:#fff1ef;color:#c44f49;cursor:pointer}.delete-own-file svg{width:15px}.typing-mode-tabs{display:flex;gap:9px;margin-bottom:17px}.typing-mode-tabs button{min-height:41px;display:flex;align-items:center;gap:6px;padding:0 13px;border:2px solid var(--quest-ink);border-radius:9px;background:#fff;cursor:pointer;font-size:9px;font-weight:900}.typing-mode-tabs button.active{background:var(--quest-yellow);box-shadow:3px 3px 0 var(--quest-ink)}.typing-mode-tabs svg{width:15px}.typing-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:17px}.typing-dashboard>div{display:flex;align-items:center;gap:10px;padding:14px;border:2px solid var(--quest-ink);border-radius:12px;background:#fff;box-shadow:3px 4px 0 var(--quest-ink)}.typing-dashboard svg{width:24px;color:#2878ff}.typing-dashboard span{display:flex;flex-direction:column}.typing-dashboard small{color:#7a8780;font-size:8px}.typing-dashboard strong{font-size:16px}.typing-workbench{overflow:hidden;border:3px solid var(--quest-ink);border-radius:18px 18px 18px 6px;background:#fff;box-shadow:6px 7px 0 var(--quest-ink)}.typing-target{min-height:160px;padding:25px;border-bottom:1px solid #dfe4e1;background:#172438;color:#92a0ac;font:21px/1.95 Consolas,Microsoft YaHei,monospace;letter-spacing:.04em}.typing-target span.typed-correct{color:#72e794}.typing-target span.typed-wrong{color:#ff7474;background:#542d38}.typing-target span.typing-current{color:#fff;border-bottom:3px solid var(--quest-yellow)}.typing-workbench textarea{width:100%;min-height:130px;padding:22px 25px;border:0;outline:0;resize:vertical;font:17px/1.8 Consolas,Microsoft YaHei,monospace}.typing-workbench footer{display:flex;align-items:center;justify-content:space-between;padding:11px 18px;border-top:1px solid #e1e5e2;background:#f7faf7;font-size:9px}.typing-workbench footer button,.typing-result button{min-height:34px;display:flex;align-items:center;gap:5px;padding:0 10px;border:2px solid var(--quest-ink);border-radius:7px;background:#fff;cursor:pointer;font-size:8px;font-weight:900}.typing-workbench footer svg{width:13px}.typing-result{display:flex;align-items:center;gap:15px;margin-top:22px;padding:20px;border:3px solid var(--quest-ink);border-radius:16px;background:var(--quest-lime);box-shadow:5px 6px 0 var(--quest-ink)}.typing-result>svg{width:43px;height:43px}.typing-result div{display:flex;flex:1;flex-direction:column}.typing-result small{font-size:8px}.typing-result strong{font-size:17px}.typing-result p{margin:3px 0 0;font-size:9px}.typing-level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:17px}.typing-level-grid button{min-width:0;display:flex;align-items:center;gap:8px;padding:10px;border:2px solid var(--quest-ink);border-radius:11px;background:#fff;cursor:pointer;text-align:left}.typing-level-grid button.active{background:var(--quest-yellow);box-shadow:3px 4px 0 var(--quest-ink)}.typing-level-grid button.completed:not(.active){background:#e1f8df}.typing-level-grid button>span{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:#e8efff;color:#2878ff;font-size:10px;font-weight:1000}.typing-level-grid button.completed>span{background:#42b96a;color:#fff}.typing-level-grid svg{width:17px}.typing-level-grid button>div{min-width:0;display:flex;flex-direction:column}.typing-level-grid strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.typing-level-grid small{margin-top:3px;overflow:hidden;color:#7d8983;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.typing-current-level{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px;padding:12px 15px;border:2px solid var(--quest-ink);border-radius:12px;background:#eaf1ff}.typing-current-level>div{display:flex;align-items:center;gap:10px}.typing-current-level svg{width:24px;color:#2878ff}.typing-current-level span{display:flex;flex-direction:column}.typing-current-level small{color:#2878ff;font-size:7px;font-weight:900}.typing-current-level strong{font-size:13px}.typing-current-level p{margin:0;color:#64716b;font-size:9px}.typing-result.retry{background:#ffd9cf}.typing-admin-table{min-width:980px;overflow-x:auto}.typing-admin-head,.typing-admin-row{display:grid;grid-template-columns:120px repeat(10,minmax(70px,1fr));align-items:stretch;border-bottom:1px solid #e5e9e7}.typing-admin-head{background:#f4f7f5}.typing-admin-head>*,.typing-admin-row>*{min-height:48px;display:flex;align-items:center;justify-content:center;padding:6px;border-right:1px solid #e5e9e7;text-align:center}.typing-admin-head strong,.typing-admin-row>strong{justify-content:flex-start;padding-left:14px;font-size:9px}.typing-admin-head span{color:#65716b;font-size:8px;font-weight:800}.typing-admin-row span{flex-direction:column;background:#fafbfa}.typing-admin-row span.done{background:#e2f7e5}.typing-admin-row span b{color:#247b48;font-size:10px}.typing-admin-row span small{color:#7e8984;font-size:7px}.assessment-sheet h2 small{display:inline-block;margin-left:10px;padding:5px 10px;border-radius:999px;background:#fff0a9;color:#735d13;font-size:12px;vertical-align:middle}.assessment-sheet .programming-question>div.assessment-code-lab{grid-template-columns:1fr 1fr;padding:24px}.assessment-code-editor,.assessment-code-output{min-width:0;overflow:hidden;border:2px solid var(--quest-ink);border-radius:17px;background:#101b31}.assessment-code-editor>div,.assessment-code-output>strong{min-height:43px;display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid #43506a;color:#d9e5fb;font-size:13px}.assessment-code-editor svg{width:16px}.assessment-code-editor textarea{width:100%;min-height:210px;padding:16px;border:0;outline:0;resize:vertical;background:#101b31;color:#daf5df;font:14px/1.75 Consolas,monospace}.assessment-code-editor button{min-height:42px;display:flex;align-items:center;justify-content:center;gap:6px;margin:0 13px 13px auto;padding:0 15px;border:2px solid var(--quest-ink);border-radius:12px;background:var(--quest-yellow);cursor:pointer;font-size:12px;font-weight:900}.assessment-code-editor button svg{width:15px}.assessment-code-output pre{min-height:238px;max-height:300px;margin:0;overflow:auto;padding:16px;color:#ffe886;font:14px/1.7 Consolas,monospace;white-space:pre-wrap}.attempt-row details{grid-column:1/-1}.attempt-row pre{max-height:220px;overflow:auto;padding:10px;border-radius:7px;background:#142036;color:#d9f2df;font:8px/1.6 Consolas,monospace;white-space:pre-wrap}.ai-url-input>span{display:flex;align-items:center;gap:5px}.ai-url-input svg{width:13px;color:#2878ff}.assignment-create .rich-editor-field{width:100%}.assignment-create .rich-editor-field>label{display:block;margin-bottom:5px}.assignment-create .editor-content{font-size:10px}.homework-admin-preview{max-width:560px;max-height:42px;overflow:hidden;color:#8a9490;font-size:8px}.homework-admin-preview>:first-child{margin-top:2px}.homework-admin-preview img{display:none}@media(max-width:900px){.quest-lobby .module-grid,.assessment-card-grid,.homework-card-grid,.square-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-module-page>header{grid-template-columns:1fr}.student-module-page>header>button:first-child{width:fit-content}.student-module-page>header>.student-primary{width:fit-content}.file-center-hero{grid-template-columns:1fr}.typing-dashboard{grid-template-columns:repeat(2,1fr)}.typing-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-sheet .programming-question>div.assessment-code-lab{grid-template-columns:1fr}}@media(max-width:600px){.quest-lobby .module-grid,.assessment-card-grid,.homework-card-grid,.square-grid{grid-template-columns:1fr}.student-module-page{width:calc(100% - 22px);padding-top:20px}.student-module-page>header{gap:14px;padding:18px;border-width:2px;box-shadow:4px 5px 0 var(--quest-ink)}.student-module-page>header h1{font-size:27px}.assessment-sheet{gap:18px}.assessment-sheet>article{border-radius:20px;box-shadow:3px 4px #253044}.assessment-sheet>article>header{min-height:82px;grid-template-columns:46px 1fr 24px;gap:11px;padding:14px}.assessment-sheet>article>header span{width:44px;height:44px;border-radius:14px;font-size:17px}.assessment-sheet h2{font-size:17px;line-height:1.55}.assessment-sheet h2 small{margin:6px 0 0;padding:4px 9px;font-size:11px}.assessment-sheet article>div{grid-template-columns:1fr;gap:10px;padding:14px}.assessment-sheet label{min-height:60px;padding:13px 15px;border-radius:15px;font-size:15px}.assessment-sheet label input{width:22px;height:22px}.assessment-sheet article>p{padding:13px 15px;font-size:13px}.assessment-result{min-width:0;width:100%;border-radius:18px}.attempt-history>div{grid-template-columns:65px 55px 1fr}.student-shared-upload{grid-template-columns:1fr}.student-shared-upload button{min-height:39px}.file-download-list article{grid-template-columns:43px 1fr auto}.file-download-list article>a{grid-column:2;width:fit-content}.delete-own-file{grid-column:3;grid-row:2}.typing-mode-tabs{overflow-x:auto}.typing-mode-tabs button{flex:0 0 auto}.typing-dashboard{grid-template-columns:repeat(2,1fr)}.typing-target{padding:17px;font-size:16px}.typing-workbench textarea{padding:17px;font-size:15px}.typing-result{align-items:flex-start;flex-wrap:wrap}}.assessment-sheet h2{white-space:pre-wrap;overflow-wrap:anywhere}.assessment-sheet .assessment-question-code{display:block;max-height:390px;margin:18px 18px 0;overflow:auto;padding:16px;border:2px solid var(--quest-ink);border-radius:10px;background:#101b31;color:#e6f1ff;font:12px/1.7 Consolas,Courier New,monospace;white-space:pre;tab-size:4}.parent-coding-progress{margin-top:24px;padding-top:20px;border-top:1px dashed #c8d8d0}.parent-coding-progress>header{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.parent-coding-progress>header>span{width:40px;height:40px;display:grid;flex:0 0 auto;place-items:center;border-radius:12px;background:#17283d;color:#73e5a1}.parent-coding-progress>header svg{width:20px}.parent-coding-progress>header>div{min-width:0}.parent-coding-progress>header small{color:#7b5cd6;font-size:9px;font-weight:900;letter-spacing:.14em}.parent-coding-progress>header h4{margin:2px 0 0;color:#26352f;font-size:16px}.parent-coding-progress>header p{margin:4px 0 0;color:#7c8983;font-size:10px;line-height:1.6}.parent-coding-progress>div{display:grid;gap:9px}.parent-coding-progress details{overflow:hidden;border:1px solid #cddbd3;border-radius:13px;background:#ffffffe6}.parent-coding-progress details>summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 13px;cursor:pointer;list-style:none}.parent-coding-progress details>summary::-webkit-details-marker{display:none}.coding-course-number{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#dceaff;color:#246edc;font-size:11px;font-weight:900}.coding-course-number svg{width:18px}.parent-coding-progress summary>div{display:flex;min-width:0;flex-direction:column}.parent-coding-progress summary>div small{color:#89948f;font-size:8px}.parent-coding-progress summary>div strong{overflow:hidden;color:#26352f;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.parent-coding-progress summary aside{display:flex;align-items:baseline;gap:4px;color:#77847e;font-size:9px}.parent-coding-progress summary aside b{color:#2d7a4c;font-size:14px}.parent-coding-progress summary aside svg{width:15px;align-self:center;margin-left:3px;transition:transform .2s ease}.parent-coding-progress details[open] summary aside svg{transform:rotate(180deg)}.coding-gate-list{display:grid;gap:7px;padding:0 12px 12px;border-top:1px dashed #d9e2dd}.coding-gate-list article{display:grid;grid-template-columns:30px minmax(0,1fr) auto 18px;align-items:center;gap:9px;padding:10px 3px 3px}.coding-gate-list article>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#eef1ef;color:#7c8983;font-size:9px;font-weight:900}.coding-gate-list article>div{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}.coding-gate-list article>div strong{overflow:hidden;color:#34423b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.coding-gate-list article>div small{color:#9a7b56;font-size:8px}.coding-gate-list article i{height:5px;grid-column:1/-1;overflow:hidden;border-radius:99px;background:#e6ebe8}.coding-gate-list article i em{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#6c8ff8,#f3b53e)}.coding-gate-list article>b{color:#5e6c65;font-size:13px}.coding-gate-list article>b small{color:#8b9691;font-size:8px}.coding-gate-list article>svg{width:17px;color:#269653}.coding-gate-list article.complete>span{background:#dff5e6;color:#24834c}.coding-gate-list article.complete>div small,.coding-gate-list article.complete>b{color:#24834c}.parent-feedback-card{margin-top:22px}.parent-feedback-card>summary{cursor:pointer;list-style:none}.parent-feedback-card>summary::-webkit-details-marker{display:none}.parent-feedback-card .card-title{align-items:flex-start;margin:0}.parent-feedback-card .card-title>div{flex:1}.parent-feedback-card .card-title p{margin:4px 0 0;color:#78847d;font-size:11px;line-height:1.65}.parent-feedback-card .card-title>aside{display:flex;align-items:center;gap:5px;align-self:center;color:#648074;font-size:10px;font-weight:800}.parent-feedback-card .card-title>aside svg{width:16px;transition:transform .2s ease}.parent-feedback-card[open] .card-title>aside svg{transform:rotate(180deg)}.parent-feedback-card[open] .card-title>aside span{font-size:0}.parent-feedback-card[open] .card-title>aside span:after{content:"收起";font-size:10px}.parent-feedback-body{padding-top:2px}.parent-feedback-history{display:grid;gap:10px;max-height:360px;margin-top:20px;overflow:auto;padding:2px 3px 4px}.parent-feedback-message{width:min(86%,620px);padding:12px 14px;border:1px solid #dfe5e1;border-radius:12px 12px 12px 4px;background:#f5f8f6}.parent-feedback-message.teacher{justify-self:end;border-color:#bad3ff;border-radius:12px 12px 4px;background:#edf4ff}.parent-feedback-message small{color:#77837d;font-size:10px}.parent-feedback-message p{margin:6px 0 0;color:#26352f;font-size:13px;line-height:1.75;white-space:pre-wrap}.parent-feedback-empty{padding:17px;border:1px dashed #cbd5cf;border-radius:10px;color:#7c8882;font-size:12px;text-align:center}.parent-feedback-form{margin-top:16px;overflow:hidden;border:1px solid #cfd8d2;border-radius:11px;background:#fff}.parent-feedback-form textarea{width:100%;min-height:98px;padding:13px;border:0;outline:0;resize:vertical;color:#26352f;font:13px/1.7 inherit}.parent-feedback-form footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:6px 9px 6px 13px;border-top:1px solid #e2e7e3;background:#f8faf8}.parent-feedback-form footer span{color:#78847d;font-size:10px}.parent-feedback-form footer span:not(:empty){color:#b45444}.parent-feedback-form button,.feedback-reply button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 11px;border:1px solid #234131;border-radius:7px;background:#2f7d4d;color:#fff;cursor:pointer;font-size:10px;font-weight:800}.parent-feedback-form button:disabled,.feedback-reply button:disabled{cursor:not-allowed;opacity:.55}.parent-feedback-form button svg,.feedback-reply button svg{width:13px}.feedback-thread-list{display:grid;gap:15px}.feedback-thread{overflow:hidden;border:1px solid #d9e1dc;border-radius:11px;background:#fff;box-shadow:0 6px 18px #26352f0d}.feedback-thread>header{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid #e7ece8;background:#f5f8f6}.feedback-thread>header>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#dbeeff;color:#2878ff;font-size:12px;font-weight:900}.feedback-thread>header>div{display:flex;flex-direction:column}.feedback-thread>header strong{font-size:11px}.feedback-thread>header small{margin-top:2px;color:#819087;font-size:8px}.feedback-messages{display:grid;gap:8px;padding:14px 16px;background:#fcfdfc}.feedback-message{width:min(80%,680px);padding:10px 12px;border-radius:9px 9px 9px 3px;background:#edf2ef}.feedback-message.teacher{justify-self:end;border-radius:9px 9px 3px;background:#e8f0ff}.feedback-message small{color:#7c8983;font-size:8px}.feedback-message p{margin:5px 0 0;color:#34423a;font-size:10px;line-height:1.65;white-space:pre-wrap}.feedback-reply{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;padding:12px 16px;border-top:1px solid #e7ece8}.feedback-reply textarea{min-height:56px;padding:9px;border:1px solid #ccd6d0;border-radius:7px;outline-color:#75a486;resize:vertical;font:10px/1.6 inherit}@media(max-width:600px){.parent-coding-progress{margin-top:18px;padding-top:16px}.parent-coding-progress details>summary{grid-template-columns:38px minmax(0,1fr) auto;padding:10px}.parent-coding-progress summary aside span{display:none}.coding-gate-list{padding-inline:9px}.coding-gate-list article{grid-template-columns:28px minmax(0,1fr) auto 17px;gap:7px}.parent-feedback-card .card-title>aside span{display:none}.parent-feedback-card[open] .card-title>aside span:after{display:none}.parent-feedback-message,.feedback-message{width:94%}.feedback-reply{grid-template-columns:1fr}.feedback-reply button{width:100%}}.admission-assessment-card{margin-top:22px;overflow:hidden}.parent-admission-priority{padding-top:0;padding-bottom:4px}.parent-admission-priority .admission-assessment-card{margin-top:18px}.admission-assessment-card>summary{min-height:104px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:16px;padding:20px 24px;cursor:pointer;list-style:none;background:linear-gradient(135deg,#f7efff,#fff8d8 72%,#ddfbef)}.admission-assessment-card>summary::-webkit-details-marker{display:none}.admission-assessment-card>summary>span{width:56px;height:56px;display:grid;place-items:center;border:2px solid #2c3342;border-radius:17px;background:#bfa6ff;box-shadow:3px 4px #2c3342}.admission-assessment-card>summary>span svg{width:28px}.admission-assessment-card summary>div small{color:#816eb7;font-size:9px;font-weight:900;letter-spacing:.13em}.admission-assessment-card summary h3{margin:3px 0 4px;font-size:20px}.admission-assessment-card summary p{margin:0;color:#68716e;font-size:12px}.admission-assessment-card summary aside{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 13px;border-radius:999px;background:#fff;color:#8761c8;font-size:11px}.admission-assessment-card summary aside.complete{background:#dff8e7;color:#26804a}.admission-assessment-card summary aside svg{width:17px;transition:transform .2s}.admission-assessment-card[open] summary aside svg{transform:rotate(180deg)}.admission-assessment-body{padding:24px;border-top:1px solid #e4ded1;background:#fffdf8}.admission-entry-loading{min-height:110px;display:grid;place-items:center}.admission-error{margin:0 0 14px;padding:10px 13px;border-radius:9px;background:#fff0ed;color:#b6463e;font-size:12px}.admission-intro{max-width:720px;margin:6px auto 10px;text-align:center}.admission-intro>div{width:72px;height:72px;display:grid;place-items:center;margin:auto;border:2px solid #2c3342;border-radius:24px;background:#ffe16b;box-shadow:5px 6px #2c3342;transform:rotate(-3deg)}.admission-intro>div svg{width:34px}.admission-intro>span{display:inline-block;margin-top:20px;color:#8b6ac8;font-size:10px;font-weight:900;letter-spacing:.08em}.admission-intro h2{margin:7px 0 10px;font-size:clamp(22px,4vw,31px)}.admission-intro p{margin:auto;color:#64716c;font-size:13px;line-height:1.85}.admission-intro ul{display:flex;justify-content:center;gap:8px;margin:18px 0;padding:0;list-style:none}.admission-intro li{padding:7px 10px;border-radius:8px;background:#f0ebff;color:#7057a7;font-size:10px;font-weight:800}.admission-intro button,.admission-download{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 19px;border:2px solid #2c3342;border-radius:10px;background:#b9ee5f;box-shadow:3px 4px #2c3342;cursor:pointer;font-size:11px;font-weight:900}.admission-intro button svg,.admission-download svg{width:16px}.admission-quiz{max-width:760px;margin:auto}.admission-quiz>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.admission-quiz>header button{display:flex;align-items:center;gap:5px;border:0;background:transparent;cursor:pointer;color:#66716c;font-size:11px}.admission-quiz>header span{display:flex;align-items:center;gap:5px;color:#3b8c5e;font-size:10px}.admission-quiz>header svg{width:14px}.admission-progress{position:relative;height:16px;margin:38px 0 34px;border:2px solid #303642;border-radius:999px;background:#eef0ed}.admission-progress>span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#64d9d0,#b6ef61,#ffe36c);transition:width .25s}.admission-progress strong{position:absolute;right:0;bottom:22px;font-size:11px}.admission-progress small{position:absolute;left:0;bottom:22px;color:#775eb1;font-size:11px;font-weight:800}.admission-quiz h2{min-height:70px;margin:0 0 22px;font-size:clamp(20px,3vw,27px);line-height:1.55;text-align:center}.admission-options{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.admission-options button{min-height:104px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:11px 6px;border:2px solid #cbd1cd;border-radius:14px;background:#fff;cursor:pointer;color:#59635f}.admission-options button:hover,.admission-options button.selected{border-color:#7650bc;background:#f0e8ff;box-shadow:3px 4px #7650bc;transform:translateY(-2px)}.admission-options button>span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#edf0ed;font-size:13px;font-weight:900}.admission-options button.selected>span{background:#8863cd;color:#fff}.admission-options button strong{font-size:10px;line-height:1.4}.admission-options button>svg{width:16px;position:absolute;top:7px;right:7px;color:#4c9d61}.admission-quiz>footer{display:flex;justify-content:space-between;gap:12px;margin-top:25px}.admission-quiz>footer button{min-height:42px;display:flex;align-items:center;gap:6px;padding:0 15px;border:2px solid #303642;border-radius:9px;background:#fff;cursor:pointer;font-size:10px;font-weight:900}.admission-quiz>footer button:last-child{margin-left:auto;background:#ffe16b;box-shadow:3px 3px #303642}.admission-quiz>footer button.submit{background:#b9ee5f}.admission-quiz>footer button:disabled{cursor:not-allowed;opacity:.4;box-shadow:none}.admission-quiz>footer svg{width:15px}.admission-report-wrap{position:relative}.admission-download{margin:0 0 15px auto;background:#d8f7ec}.admission-report-wrap>.admission-download{display:flex}.admission-report{width:100%;max-width:970px;margin:auto;overflow:hidden;border:1px solid #e2ddd2;border-radius:18px;background:#fffdf8;color:#29332f}.admission-report-cover{min-height:164px;display:flex;align-items:center;justify-content:space-between;padding:31px 40px;background:linear-gradient(125deg,#34265b,#684aa3 60%,#f39c38);color:#fff}.admission-report-cover small{color:#f2d8ff;font-size:9px;font-weight:900;letter-spacing:.18em}.admission-report-cover h2{margin:8px 0 6px;font-size:30px}.admission-report-cover span{color:#fae9ca;font-size:12px}.admission-report-cover>svg{width:62px;height:62px;color:#ffe87f}.admission-student-line{display:flex;justify-content:space-between;padding:13px 37px;border-bottom:1px solid #e5e0d7;background:#fff9e9;font-size:11px}.admission-report section{margin:0;padding:30px 37px}.report-intro p{margin:7px 0 0;color:#606b66;font-size:12px;line-height:1.9}.report-personal-summary{margin-top:14px!important;padding:14px 16px;border-left:4px solid #8d65c6;border-radius:0 11px 11px 0;background:#f6efff;color:#4d4756!important}.report-personal-summary strong{color:#644795}.report-section-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.report-section-title>span{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:#f0e7ff;color:#7b57bb}.report-section-title svg{width:19px}.report-section-title>div{display:flex;flex-direction:column}.report-section-title small{color:#9c80c4;font-size:8px;font-weight:900;letter-spacing:.15em}.report-section-title h3{margin:1px 0 0;font-size:19px}.report-overview{border-top:1px solid #eee9df}.report-section-lead{max-width:760px;margin:-7px 0 12px;color:#6b7670;font-size:10px;line-height:1.75}.overall-radar{width:100%;max-width:650px;height:390px;margin:0 auto 12px}.dimension-score-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 25px}.dimension-score-list>div{display:grid;grid-template-columns:9px 105px 32px 1fr;align-items:center;gap:7px}.dimension-score-list>div>span{width:8px;height:8px;border-radius:50%}.dimension-score-list strong{font-size:10px}.dimension-score-list em{font-size:10px;font-style:normal;font-weight:900}.dimension-score-list i{height:7px;overflow:hidden;border-radius:99px;background:#e9ece8}.dimension-score-list i b{height:100%;display:block;border-radius:inherit}.report-highlights{display:grid;grid-template-columns:1fr 1fr;gap:19px;background:#faf7ff}.report-highlights>article{padding:21px;border:1px solid #e0d8ea;border-radius:14px;background:#fff}.report-card-lead{margin:-8px 0 13px;color:#727c77;font-size:9px;line-height:1.7}.report-highlight-row{display:flex;align-items:flex-start;gap:10px;margin-top:10px}.report-highlight-row>b{width:27px;height:27px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;background:#ffe16b;font-size:11px}.report-highlight-row.growth>b{background:#dff4ff}.report-highlight-row>span{display:flex;flex-direction:column}.report-highlight-row strong{font-size:11px}.report-highlight-row small{margin-top:4px;color:#69756f;font-size:9px;line-height:1.72}.report-highlight-row .report-highlight-advice{margin-top:7px;padding:8px 9px;border-radius:8px;background:#faf6e9;color:#5e6863}.report-highlight-advice b{color:#8a6720}.report-profile{display:flex;align-items:center;gap:18px;margin:0 37px!important;padding:23px!important;border-radius:15px;background:linear-gradient(115deg,#fff3bf,#e7f9ce)}.report-profile>svg{width:43px;height:43px;color:#e89a19}.report-profile small{color:#7f6d2e;font-size:9px;font-weight:900}.report-profile h3{margin:3px 0 5px;font-size:19px}.report-profile p{margin:0;color:#56635d;font-size:11px;line-height:1.7}.dimension-details{margin-top:29px!important;border-top:1px solid #ece7dd}.dimension-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dimension-detail-grid>article{padding:18px;border:1px solid #e1e4df;border-top:5px solid var(--dimension-color);border-radius:14px;background:#fff;break-inside:avoid}.dimension-detail-grid article>header{display:grid;grid-template-columns:39px 1fr auto;align-items:center;gap:9px}.dimension-detail-grid header>span{width:37px;height:37px;display:grid;place-items:center;border-radius:10px;background:var(--dimension-color);color:#fff;font-weight:900}.dimension-detail-grid header h4{margin:0;font-size:14px}.dimension-detail-grid header small{color:#829089;font-size:8px}.dimension-detail-grid header>strong{color:var(--dimension-color);font-size:23px}.dimension-detail-grid header>strong small{margin-left:2px;color:#909a95;font-size:8px;font-weight:700}.dimension-radar{width:100%;height:230px;margin:2px 0 8px}.dimension-detail-grid article>p{margin:7px 0 0;color:#65716b;font-size:10px;line-height:1.78}.dimension-detail-grid article>p.dimension-analysis{padding-top:10px;border-top:1px dashed #dfe4e0;color:#4f5c56}.dimension-detail-grid article>p.dimension-guidance{padding:10px 11px;border-radius:9px;background:#f4f7f4}.dimension-guidance strong{display:block;margin-bottom:3px;color:var(--dimension-color);font-size:9px}.report-directions>div:not(.report-section-title){display:grid;grid-template-columns:150px 1fr;gap:13px;padding:12px 0;border-top:1px dashed #d8ddd8}.report-directions>div>strong{font-size:11px}.report-directions p{margin:0;color:#64706b;font-size:10px;line-height:1.8}.report-disclaimer{display:flex;align-items:flex-start;gap:13px;padding:22px 37px 30px;background:#edf7f1}.report-disclaimer svg{width:25px;flex:0 0 auto;color:#38845b}.report-disclaimer p{margin:0;color:#56665e;font-size:10px;line-height:1.75}.report-disclaimer strong{display:block;color:#2d6445}.reward-square-page{--reward-purple:#7952c7;--reward-ink:#252c3b}.reward-square-heading{background:linear-gradient(120deg,#291f50,#704ab4 58%,#fb8758)!important;color:#fff}.reward-square-heading>button{color:#fff!important;border-color:#fff!important;background:#ffffff1f!important}.reward-square-heading>div small{color:#e6d7ff!important}.reward-square-heading>div p{color:#ffefd0!important}.reward-square-heading>aside{display:flex;align-items:center;gap:10px;padding:11px 17px;border:2px solid #fff;border-radius:15px;background:#ffe66d;color:var(--reward-ink);box-shadow:4px 5px #171a24}.reward-square-heading>aside>svg{width:29px;fill:#ffba35;color:#d98915}.reward-square-heading>aside span{display:flex;flex-direction:column}.reward-square-heading>aside small{font-size:8px;font-weight:900}.reward-square-heading>aside strong{font-size:22px;line-height:1}.reward-journey{margin:23px 0 17px;padding:22px 24px 30px;overflow:hidden;border:3px solid var(--reward-ink);border-radius:20px 20px 20px 7px;background:radial-gradient(circle at 85% 12%,#fff1a7 0 7%,transparent 7.4%),linear-gradient(135deg,#dff7ff,#f3e8ff 60%,#fff3ca);box-shadow:6px 7px 0 var(--reward-ink)}.reward-journey>header{display:flex;align-items:center;justify-content:space-between;gap:18px}.reward-journey>header>div{display:flex;align-items:center;gap:10px}.reward-journey>header svg{width:32px;color:#d88713}.reward-journey header span{display:flex;flex-direction:column}.reward-journey header small{color:#8265b3;font-size:8px;font-weight:900;letter-spacing:.13em}.reward-journey h2{margin:2px 0 0;font-size:19px}.reward-journey header p{margin:0;font-size:11px}.reward-journey header p b{color:#df6543;font-size:16px}.reward-track-viewport{overflow-x:auto;overflow-y:hidden;padding:0 4px 8px;scrollbar-color:#9c86c9 transparent;scrollbar-width:thin}.reward-track{height:152px;position:relative;margin-top:22px}.reward-track>i{height:14px;position:absolute;left:6%;right:6%;top:66px;overflow:hidden;border:2px solid var(--reward-ink);border-radius:99px;background:#fff}.reward-track>i b{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#68d8d1,#b8ed59,#ffd94f,#ff8c65)}.reward-track>div{width:94px;position:absolute;top:5px;transform:translate(-50%);text-align:center}.reward-track>div>span{width:56px;height:56px;position:relative;display:grid;place-items:center;margin:auto;border:3px solid var(--reward-ink);border-radius:18px;background:#fff;box-shadow:3px 4px 0 var(--reward-ink)}.reward-track>div.unlocked>span{background:#fff4a8;animation:rewardFloat 2.5s ease-in-out infinite}.reward-track>div>span>img{width:100%;height:100%;object-fit:cover;border-radius:14px}.reward-track>div>span>svg:first-child{width:25px}.reward-track>div>span>svg:last-child{width:18px;position:absolute;right:-8px;top:-8px;padding:2px;border-radius:50%;background:#8adb60}.reward-track>div.locked>span{filter:grayscale(1);opacity:.68}.reward-track>div small,.reward-track>div em{display:block;margin-top:25px;font-size:8px;font-weight:900;font-style:normal;white-space:nowrap}.reward-track>div em{margin-top:1px;color:#7d6d9f;font-size:7px}@keyframes rewardFloat{50%{transform:translateY(-4px) rotate(2deg)}}.reward-tabs{display:flex;gap:9px;margin:26px 0 14px}.reward-tabs button{min-height:43px;display:flex;align-items:center;gap:7px;padding:0 15px;border:2px solid var(--reward-ink);border-radius:10px;background:#fff;cursor:pointer;font-size:10px;font-weight:900}.reward-tabs button.active{background:#ffe16b;box-shadow:3px 4px 0 var(--reward-ink)}.reward-tabs svg{width:17px}.reward-tabs span{min-width:19px;padding:2px 5px;border-radius:99px;background:#7c55c8;color:#fff}.reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.reward-grid>article{overflow:hidden;border:3px solid var(--reward-ink);border-radius:20px 20px 20px 7px;background:#fff;box-shadow:5px 6px 0 var(--reward-ink);transition:transform .2s}.reward-grid>article:hover{transform:translateY(-4px)}.reward-grid>article.locked{filter:saturate(.45)}.reward-image{height:188px;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#e3f8ff,#f3e5ff)}.reward-image>img{width:100%;height:100%;object-fit:cover}.reward-image>svg{width:58px;height:58px;color:#8060bb}.reward-image>span{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:4px;padding:6px 8px;border:2px solid var(--reward-ink);border-radius:8px;background:#fff2a2;font-size:8px;font-weight:900}.reward-image>span svg{width:12px}.reward-image>b{position:absolute;inset:0;display:grid;place-items:center;background:#222732a1;color:#fff;font-size:22px;transform:rotate(-6deg)}.reward-copy{padding:16px}.reward-copy>small{color:#8257bf;font-size:8px;font-weight:900}.reward-copy h2{margin:5px 0 7px;font-size:18px}.reward-copy p{min-height:46px;margin:0;color:#69756f;font-size:10px;line-height:1.65}.reward-copy>div{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.reward-copy>div strong{display:flex;align-items:center;gap:4px;color:#e28c16;font-size:19px}.reward-copy>div svg{width:18px;fill:#ffd249}.reward-copy>div span{color:#7b8781;font-size:8px}.reward-copy>button{width:100%;min-height:40px;margin-top:11px;border:2px solid var(--reward-ink);border-radius:9px;background:#b8ed5e;box-shadow:3px 3px 0 var(--reward-ink);cursor:pointer;font-size:10px;font-weight:900}.reward-copy>button:disabled{background:#e1e4e1;cursor:not-allowed;box-shadow:none;color:#818984}.redemption-history{display:grid;gap:11px}.redemption-history>article{display:grid;grid-template-columns:65px 1fr auto;align-items:center;gap:14px;padding:12px;border:2px solid var(--reward-ink);border-radius:13px;background:#fff;box-shadow:3px 4px 0 var(--reward-ink)}.redemption-history article>span{width:62px;height:62px;display:grid;place-items:center;overflow:hidden;border-radius:11px;background:#eee7ff}.redemption-history article>span img{width:100%;height:100%;object-fit:cover}.redemption-history article>span svg{width:26px}.redemption-history article>div small{color:#87908c;font-size:8px}.redemption-history h3{margin:3px 0;font-size:13px}.redemption-history p{margin:0;color:#68746e;font-size:9px}.redemption-history em{display:flex;align-items:center;gap:5px;padding:7px 9px;border-radius:8px;background:#fff4c8;color:#a06f11;font-size:9px;font-style:normal;font-weight:900}.redemption-history em.approved,.redemption-history em.claimed{background:#dff7e6;color:#2e8050}.redemption-history em.rejected{background:#ffebe7;color:#b44d43}.redemption-history em svg{width:14px}.reward-empty{grid-column:1/-1;display:grid;place-items:center;padding:45px;border:2px dashed #9f91b8;border-radius:17px;background:#fbf8ff;text-align:center}.reward-empty>svg{width:44px;color:#8261bf}.reward-empty h2{margin:10px 0 3px}.reward-empty p{margin:0;color:#74807a;font-size:10px}.game-draw-button{min-height:54px;display:flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;border:2px solid #262c39;border-radius:15px;background:linear-gradient(135deg,#fff3a3,#f1d4ff);box-shadow:3px 4px #262c39;cursor:pointer}.game-draw-button>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#845bc7;color:#fff;animation:giftWiggle 2.2s ease-in-out infinite}.game-draw-button>span svg{width:22px}.game-draw-button>div{display:flex;flex-direction:column;text-align:left}.game-draw-button strong{font-size:10px}.game-draw-button small{color:#776c82;font-size:7px}.game-draw-button>svg{width:14px;color:#e8951f}.game-draw-button:disabled{cursor:default;filter:grayscale(.7);opacity:.75}@keyframes giftWiggle{0%,75%,to{transform:rotate(0)}82%{transform:rotate(-9deg)}90%{transform:rotate(8deg)}}.game-draw-backdrop{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:18px;background:#171428ab;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.game-draw-modal{width:min(430px,100%);position:relative;padding:32px;border:3px solid #242a37;border-radius:27px 27px 27px 9px;background:radial-gradient(circle at 15% 10%,#fff0a4 0 8%,transparent 8.5%),linear-gradient(145deg,#fff,#efe5ff);box-shadow:9px 11px #171b24;color:#242a37;text-align:center}.game-draw-modal>button{width:35px;height:35px;position:absolute;right:13px;top:13px;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;cursor:pointer}.game-draw-modal>button svg{width:19px}.draw-machine>span{width:100px;height:100px;display:grid;place-items:center;margin:10px auto 20px;border:3px solid #242a37;border-radius:32px;background:#ffe36e;box-shadow:6px 7px #242a37;font-size:49px;animation:drawSpin .22s linear infinite}@keyframes drawSpin{50%{transform:scale(.88) rotate(10deg);filter:hue-rotate(80deg)}}.draw-machine h2,.draw-result h2{margin:12px 0 5px;font-size:24px}.draw-machine p,.draw-result p{margin:0;color:#716d77;font-size:11px}.draw-result>span{width:86px;height:86px;display:grid;place-items:center;margin:auto;border:3px solid #242a37;border-radius:27px;background:#b7ec5e;box-shadow:5px 6px #242a37}.draw-result>span svg{width:43px}.draw-result>small{display:block;margin-top:23px;color:#815abf;font-size:9px;font-weight:900;letter-spacing:.17em}.draw-result a,.draw-result>button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:20px;border:2px solid #242a37;border-radius:10px;background:#ffe26a;box-shadow:3px 4px #242a37;color:#242a37;cursor:pointer;font-size:11px;font-weight:900}.draw-result a svg{width:15px}.draw-result>button{width:100%;min-height:35px;margin-top:12px;background:#fff;box-shadow:none}.draw-result>button:disabled{opacity:.45}.draw-result>span.prize-emoji{font-size:44px;line-height:1}.draw-result.prize-physical>span{background:#ffe26a}.draw-result.prize-points>span{background:#b7ec5e}.draw-result.prize-none>span{background:#dfe9f5}.draw-probabilities{margin-top:18px;padding:12px;border:1px dashed #b8c4bd;border-radius:12px;background:#f8faf9;text-align:left}.draw-probabilities>strong{display:block;margin-bottom:8px;font-size:10px}.draw-probabilities>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.draw-probabilities span{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px;font-size:9px}.draw-probabilities span i{font-style:normal}.draw-probabilities span b{color:#815abf}.draw-ticket{font-size:54px}.reward-records{display:grid;gap:24px}.prize-draw-history,.redemption-history{display:grid;gap:10px}.prize-draw-history>h2,.redemption-history>h2{margin:0 0 4px;font-size:18px}.prize-draw-history>article{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;padding:14px;border:2px solid #26352f;border-radius:14px;background:#fff;box-shadow:3px 4px #26352f}.prize-draw-history>article>span{font-size:34px;text-align:center}.prize-draw-history h3{margin:3px 0}.prize-draw-history p,.prize-draw-history small{margin:0;color:#78847d}.prize-draw-history em,.prize-claim-review em{padding:6px 9px;border-radius:999px;background:#eef1ef;font-size:10px;font-style:normal;font-weight:900}.prize-draw-history em.pending,.prize-claim-review em.pending{background:#fff1bd;color:#9b6811}.prize-draw-history em.claimed,.prize-claim-review em.claimed,.prize-draw-history em.credited,.prize-claim-review em.credited{background:#dcf7e3;color:#217747}.reward-inline-empty{padding:18px;border:1px dashed #c9d2cd;border-radius:12px;color:#839089;text-align:center}.prize-claim-review>div{display:grid;gap:8px;padding:14px}.prize-claim-review article{display:grid;grid-template-columns:42px 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce3df;border-radius:10px}.prize-claim-review article>span{font-size:28px}.prize-claim-review article>div{display:flex;flex-direction:column}.prize-claim-review article small{color:#819087}.prize-claim-review article button{min-height:32px;padding:0 10px;border:1px solid #26352f;border-radius:7px;background:#ffe26a;cursor:pointer;font-weight:800}.classroom-performance-card{overflow:hidden;padding:0!important}.classroom-performance-card>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:20px}.classroom-performance-card>header aside{display:flex;align-items:center;gap:8px}.classroom-performance-card>header aside button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #cad5cf;border-radius:9px;background:#fff;cursor:pointer}.classroom-performance-card>header aside button:disabled{opacity:.35}.classroom-performance-card>header aside svg{width:16px}.performance-course-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-block:1px solid #dce4df;background:#f7faf8}.performance-course-head h4{margin:3px 0 0;font-size:19px}.performance-course-head small{color:#7f8d85}.performance-course-head>div:last-child{display:flex;align-items:center;gap:14px}.performance-course-head span{color:#718078;font-size:11px}.performance-course-head span:first-child b,.performance-course-head strong.gain{color:#28a965}.performance-course-head span:nth-child(2) b,.performance-course-head strong.loss{color:#ef5a5a}.performance-course-head strong{padding:7px 10px;border-radius:9px;background:#fff}.performance-caution{display:flex;gap:10px;margin:16px 20px 0;padding:12px 14px;border:1px solid #f1c553;border-radius:12px;background:#fff5c9;color:#75520c}.performance-caution svg{flex:0 0 auto;width:21px}.performance-caution strong,.performance-caution p{display:block;margin:0}.performance-caution p{margin-top:3px;font-size:11px}.performance-chart{position:relative;min-height:310px;padding:4px 10px 0}.performance-point-label{fill:#34443c;font-size:9px;font-weight:800}.performance-empty{position:absolute;inset:80px 20px 35px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#86938c;background:#ffffffe0}.performance-empty svg,.performance-no-session svg{width:34px}.performance-detail{margin:0 20px 18px;border:1px solid #dce4df;border-radius:12px;overflow:hidden}.performance-detail summary{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:#f7faf8;cursor:pointer;font-weight:900}.performance-detail summary svg{width:16px;transition:transform .2s}.performance-detail[open] summary svg{transform:rotate(180deg)}.performance-detail>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}.performance-detail p{display:grid;grid-template-columns:46px 48px 1fr;gap:7px;align-items:center;margin:0;padding:8px;border-radius:8px;background:#f7faf8;font-size:11px}.performance-detail p.gain b{color:#28a965}.performance-detail p.loss b{color:#ef5a5a}.performance-learning{display:grid;gap:10px;padding:18px 20px 22px;border-top:1px solid #dce4df;background:#fbfcfb}.performance-learning>h4{margin:0 0 2px;font-size:17px}.performance-learning>article,.performance-learning>details>summary{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #dbe3df;border-radius:11px;background:#fff}.performance-learning>article>svg,.performance-learning>details>summary>svg:first-child{width:21px;color:#2f7df6}.performance-learning article div,.performance-learning summary div{display:flex;flex-direction:column}.performance-learning article span,.performance-learning summary span{color:#7f8d85;font-size:10px}.performance-learning article>b,.performance-learning summary>b{font-size:20px}.performance-learning article>b small{font-size:10px}.performance-learning details summary{grid-template-columns:38px 1fr auto 18px;cursor:pointer;list-style:none}.performance-learning details>div{display:grid;gap:6px;padding:9px 12px 0}.performance-learning details p{display:grid;grid-template-columns:28px 1fr auto auto;align-items:center;gap:8px;margin:0;padding:8px;border-radius:8px;background:#eef2f0}.performance-learning details p.complete{background:#e6f8eb}.performance-learning details p svg{width:16px;color:#28a965}.performance-no-session{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#819087}.performance-no-session h4{margin:12px 0 4px}@media(max-width:700px){.classroom-performance-card>header{grid-template-columns:auto 1fr}.classroom-performance-card>header aside{grid-column:1/-1;justify-content:center}.performance-course-head{align-items:flex-start;flex-direction:column}.performance-course-head>div:last-child{width:100%;justify-content:space-between;gap:5px}.performance-chart{overflow-x:auto;padding-inline:0}.performance-chart>div{min-width:640px}.performance-detail>div{grid-template-columns:1fr}.performance-point-label{font-size:8px}.prize-draw-history>article{grid-template-columns:44px 1fr}.prize-draw-history>article>em{grid-column:2}.draw-probabilities>div{grid-template-columns:1fr}.prize-claim-review article{grid-template-columns:36px 1fr auto}.prize-claim-review article button{grid-column:2/-1}}.readonly-preview-banner{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;background:#fff0b8;color:#7a5200;border-bottom:2px solid #e9b436;font-size:11px;font-weight:900}.readonly-preview-banner svg{width:17px}.readonly-preview-badge{padding:6px 9px;border:1px solid #e5ae31;border-radius:999px;background:#fff0b8;color:#745000;font-size:8px}.preview-account-dialog{display:grid;gap:16px}.preview-account-dialog>label{display:grid;gap:6px;font-size:9px;font-weight:900}.preview-account-dialog select{min-height:44px;padding:0 12px;border:1px solid #c8d2cd;border-radius:9px;background:#fff}.preview-account-dialog>p{padding:13px;border-radius:9px;background:#fff5d8;color:#7c5a11;font-size:9px}.preview-role-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#e7efff;color:#2878ff}.preview-role-icon svg{width:25px}.point-reason-presets{padding:8px 10px;border-radius:8px;background:#fff5d8;color:#765713;font-size:8px;line-height:1.6}.presenter-points article select{min-width:110px;border:1px solid #c8d2cd;border-radius:6px;background:#fff;font-size:8px}.admission-admin>header>aside{display:flex;align-items:center;gap:5px;color:#68746e;font-size:9px}.admission-admin>header>aside b{color:#7252af;font-size:14px}.admission-admin-list{display:grid;gap:9px}.admission-admin-list>article{overflow:hidden;border:1px solid #dfe4e0;border-radius:11px}.admission-admin-list article>button{width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:11px 13px;border:0;background:#fff;cursor:pointer;text-align:left}.admission-admin-list article>button>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#eaddff;color:#6f4dac;font-size:12px;font-weight:900}.admission-admin-list article>button>div{display:flex;flex-direction:column}.admission-admin-list article>button strong{font-size:10px}.admission-admin-list article>button small{margin-top:2px;color:#819087;font-size:8px}.admission-admin-list article>button em{display:flex;align-items:center;gap:5px;color:#84758f;font-size:8px;font-style:normal;font-weight:900}.admission-admin-list article>button em.completed{color:#318153}.admission-admin-list article>button em.in_progress{color:#c4811e}.admission-admin-list article>button em svg{width:14px}.admission-admin-report{padding:18px;border-top:1px solid #e2e6e3;background:#f5f6f4}.reward-create-card form{display:grid;grid-template-columns:1.25fr 1.5fr repeat(3,1fr);gap:11px}.reward-create-card form>label{color:#59665f;font-size:8px;font-weight:900}.reward-create-card input,.reward-create-card form>label>input,.reward-create-card textarea,.reward-product-fields input,.reward-product-fields textarea{width:100%;min-height:36px;margin-top:5px;padding:7px 9px;border:1px solid #cbd4ce;border-radius:7px;font:10px/1.4 inherit}.reward-admin-image{min-height:36px;display:flex;align-items:center;gap:6px;margin-top:5px;overflow:hidden;padding:0 9px;border:1px dashed #8e9f95;border-radius:7px;background:#f7faf8;cursor:pointer;color:#66736c;white-space:nowrap;text-overflow:ellipsis}.reward-admin-image svg{width:15px}.reward-create-card fieldset{grid-column:1/-2;display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px dashed #b8c1bb;border-radius:8px}.reward-create-card fieldset legend{padding:0 5px;color:#59665f;font-size:8px;font-weight:900}.reward-create-card fieldset label{display:flex;align-items:center;gap:4px;padding:5px 8px;border-radius:6px;background:#eef3ef;font-size:8px}.reward-create-card form>button{align-self:end}.reward-admin-products{display:grid;gap:11px}.reward-admin-products>article{display:grid;grid-template-columns:105px 1fr 125px;gap:13px;padding:12px;border:1px solid #dbe1dd;border-radius:11px;background:#fff}.reward-admin-products>article>img{width:105px;height:105px;object-fit:cover;border-radius:9px;background:#eef1ee}.reward-product-fields>input{margin-top:0;font-weight:900}.reward-product-fields textarea{min-height:48px;resize:vertical}.reward-product-fields>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.reward-product-fields label{color:#69766f;font-size:7px;font-weight:800}.reward-admin-products>article>aside{display:flex;align-items:stretch;flex-direction:column;gap:7px}.reward-admin-products>article>aside span,.reward-admin-products>article>aside label{color:#69766f;font-size:8px}.reward-admin-products aside button{min-height:31px;display:flex;align-items:center;justify-content:center;gap:4px}.reward-admin-products aside button svg{width:13px}.redemption-review>details{margin-top:10px;border:1px solid #dce2de;border-radius:9px;background:#fff}.redemption-review>details>summary{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;font-size:9px;font-weight:900}.redemption-review summary b{min-width:22px;padding:3px;border-radius:99px;background:#ede4ff;color:#704dab;text-align:center}.redemption-review details article{display:grid;grid-template-columns:48px 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid #e7eae8}.redemption-review article>span{width:45px;height:45px;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:#f0e8ff}.redemption-review article>span img{width:100%;height:100%;object-fit:cover}.redemption-review article>span svg{width:20px}.redemption-review article>div{display:flex;flex-direction:column}.redemption-review article strong{font-size:9px}.redemption-review article small{display:flex;align-items:center;gap:3px;margin-top:3px;color:#78847e;font-size:7px}.redemption-review article small svg{width:10px}.redemption-review article p{margin:4px 0 0;color:#b34d45;font-size:8px}.redemption-review article>em{padding:5px 7px;border-radius:6px;background:#fff2c5;color:#a4741c;font-size:7px;font-style:normal;font-weight:900}.redemption-review article>em.approved,.redemption-review article>em.claimed{background:#ddf6e5;color:#2e7e50}.redemption-review article>em.rejected{background:#ffe8e4;color:#b44d43}.redemption-review article footer{display:flex;gap:5px}.redemption-review article footer button{min-height:29px;display:flex;align-items:center;gap:3px;padding:0 7px;border:1px solid #d5aaa3;border-radius:6px;background:#fff0ed;cursor:pointer;color:#a34840;font-size:7px;font-weight:900}.redemption-review article footer button.approve{border-color:#83bc97;background:#e4f7e9;color:#287747}.redemption-review article footer svg{width:12px}.admin-inline-empty{margin:0;padding:14px;border-top:1px solid #e7eae8;color:#84908a;font-size:8px;text-align:center}@media(max-width:900px){.admission-options{grid-template-columns:repeat(3,1fr)}.report-highlights,.dimension-detail-grid{grid-template-columns:1fr}.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-create-card form{grid-template-columns:repeat(2,1fr)}.reward-create-card fieldset{grid-column:1/-1}.reward-admin-products>article{grid-template-columns:90px 1fr}.reward-admin-products>article>img{width:90px;height:90px}.reward-admin-products>article>aside{grid-column:1/-1;flex-direction:row;align-items:center}.redemption-review details article{grid-template-columns:48px 1fr auto}.redemption-review article footer{grid-column:2/-1}}@media(max-width:600px){.admission-assessment-card>summary{grid-template-columns:48px 1fr;gap:11px;padding:16px}.admission-assessment-card>summary>span{width:46px;height:46px;border-radius:13px}.admission-assessment-card>summary>span svg{width:23px}.admission-assessment-card summary h3{font-size:17px}.admission-assessment-card summary p{font-size:10px;line-height:1.5}.admission-assessment-card summary aside{grid-column:1/-1;justify-self:stretch;justify-content:space-between}.admission-assessment-body{padding:16px 12px}.admission-intro ul{align-items:stretch;flex-direction:column}.admission-intro li{text-align:left}.admission-options{grid-template-columns:1fr;gap:8px}.admission-options button{min-height:56px;display:grid;grid-template-columns:35px 1fr 20px;padding:8px 12px;text-align:left}.admission-options button>svg{position:static}.admission-quiz h2{min-height:0;font-size:19px}.admission-quiz>footer button{padding-inline:10px}.admission-report{border-radius:11px}.admission-report-cover{min-height:134px;padding:23px 18px}.admission-report-cover h2{font-size:23px}.admission-report-cover>svg{width:42px;height:42px}.admission-student-line{align-items:flex-start;flex-direction:column;gap:4px;padding:11px 18px}.admission-report section{padding:23px 17px}.overall-radar{height:350px;margin-bottom:22px}.overall-radar .recharts-responsive-container{height:100%!important}.dimension-score-list{grid-template-columns:1fr}.report-highlights{padding-inline:13px!important}.report-profile{margin:0 13px!important}.dimension-details{padding-inline:13px!important}.dimension-detail-grid>article{padding:13px}.dimension-radar{height:260px;margin-bottom:14px}.report-section-lead{margin-bottom:14px;font-size:10px;line-height:1.8}.report-highlight-row{margin-top:15px}.report-highlight-row small{font-size:10px;line-height:1.75}.report-directions>div:not(.report-section-title){grid-template-columns:1fr;gap:6px;padding:15px 0}.report-directions p{font-size:10px;line-height:1.85}.report-disclaimer{padding:19px 17px 24px}.reward-square-heading>aside{justify-self:start}.reward-journey{padding:18px 13px 25px}.reward-journey>header{align-items:flex-start;flex-direction:column;gap:8px}.reward-track{height:152px}.reward-grid{grid-template-columns:1fr}.reward-image{height:210px}.redemption-history>article{grid-template-columns:55px 1fr}.redemption-history article>span{width:53px;height:53px}.redemption-history article>em{grid-column:2;justify-self:start}.game-draw-button{width:100%}.game-draw-modal{padding:28px 18px}.reward-create-card form{grid-template-columns:1fr}.reward-create-card fieldset{grid-column:auto}.reward-admin-products>article{grid-template-columns:68px 1fr}.reward-admin-products>article>img{width:68px;height:68px}.reward-product-fields>div{grid-template-columns:1fr}.reward-admin-products>article>aside{align-items:stretch;flex-direction:column}.redemption-review details article{grid-template-columns:42px 1fr}.redemption-review article>em,.redemption-review article footer{grid-column:2;justify-self:start}.admission-admin>header>aside{align-items:flex-start;flex-wrap:wrap}.admission-admin-list article>button{grid-template-columns:36px 1fr}.admission-admin-list article>button em{grid-column:2}}@media print{.admission-download{display:none!important}.admission-report{border:0;border-radius:0}.dimension-detail-grid>article,.report-highlights>article{break-inside:avoid}}.coding-map-page,.coding-lab-page,.works-page,.wrong-book-page{min-height:calc(100vh - 110px);padding:44px clamp(20px,5vw,72px) 80px;background:radial-gradient(circle at 90% 0,#e8dcff 0 12%,transparent 30%),#fffaf0}.coding-map-page>header,.coding-lab-page>header,.works-page>header,.wrong-book-page>header{display:flex;gap:22px;align-items:center;margin-bottom:32px}.coding-map-page>header>button,.coding-lab-page>header>button,.works-page>header>button,.wrong-book-page>header>button{display:flex;align-items:center;gap:8px;border:2px solid #17263b;background:#fff;border-radius:16px;padding:12px 16px;font-weight:800}.coding-map-page>header small,.coding-lab-page>header small,.works-page>header small,.wrong-book-page>header small{font-weight:900;letter-spacing:.18em;color:#7655c5}.coding-map-page>header h1,.coding-lab-page>header h1,.works-page>header h1,.wrong-book-page>header h1{font-size:clamp(30px,4vw,48px);margin:3px 0;color:#17263b}.coding-map-page>header p,.coding-lab-page>header p,.works-page>header p,.wrong-book-page>header p{margin:0;color:#667184}.coding-lesson-world{border:3px solid #17263b;border-radius:28px;background:#fff;margin:24px 0;padding:24px;box-shadow:8px 9px #17263b}.coding-lesson-world>header{display:flex;align-items:center;gap:18px;border-bottom:2px dashed #d9dfea;padding-bottom:18px}.coding-lesson-world>header span{background:#7655c5;color:#fff;border-radius:999px;padding:7px 13px;font-weight:900}.coding-lesson-world>header h2{margin:0;font-size:24px}.coding-lesson-world>header em{margin-left:auto;font-style:normal;font-weight:800;color:#657187}.coding-lesson-world>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:20px}.coding-lesson-world>div>button{position:relative;min-height:170px;border:2px solid #17263b;border-radius:22px;background:linear-gradient(145deg,#fff,#f3eeff);padding:20px 14px;text-align:left;box-shadow:4px 5px #17263b;transition:.18s transform}.coding-lesson-world>div>button:hover{transform:translateY(-4px)}.coding-lesson-world>div>button.complete{background:linear-gradient(145deg,#eaffd8,#c8f7b9)}.coding-lesson-world>div>button>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#ffdb57;font-size:20px;font-weight:900}.coding-lesson-world>div>button strong{display:block;font-size:17px;margin:16px 0 8px}.coding-lesson-world>div>button small{color:#ef9c18}.coding-lesson-world>div>button em{display:block;margin-top:12px;font-style:normal;font-size:12px;color:#657187}.coding-empty,.works-empty,.wrong-empty{grid-column:1/-1;text-align:center;padding:65px 20px;border:2px dashed #c9d1d8;border-radius:24px;color:#667184}.coding-empty svg,.works-empty svg,.wrong-empty svg{width:48px;height:48px;color:#7655c5}.lesson-coding-panel{min-width:0;margin-top:4px;padding:22px;border:3px solid #17263b;border-radius:24px;background:linear-gradient(145deg,#fffdf7,#f3eeff);box-shadow:6px 7px #17263b;container-type:inline-size}.lesson-coding-panel>header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.lesson-coding-panel>header>span{display:grid;place-items:center;width:50px;height:50px;flex:none;border:2px solid #17263b;border-radius:15px;background:#ffda56;box-shadow:3px 3px #17263b}.lesson-coding-panel>header>div{min-width:0}.lesson-coding-panel>header small{color:#7655c5;font-size:9px;font-weight:900;letter-spacing:.15em}.lesson-coding-panel>header h2{margin:3px 0;font-size:22px;overflow-wrap:anywhere}.lesson-coding-panel>header p{margin:0;color:#667184;font-size:10px;line-height:1.6}.lesson-coding-panel>header>em{margin-left:auto;flex:none;padding:8px 11px;border-radius:999px;background:#e5f9d4;color:#23764d;font-size:10px;font-style:normal;font-weight:900}.lesson-challenge-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.lesson-challenge-grid>button{min-width:0;min-height:135px;padding:14px 11px;border:2px solid #17263b;border-radius:17px;background:#fff;text-align:left;box-shadow:3px 4px #17263b;transition:transform .18s}.lesson-challenge-grid>button:hover{transform:translateY(-3px)}.lesson-challenge-grid>button.complete{background:linear-gradient(145deg,#efffe1,#c9f5b8)}.lesson-challenge-grid>button>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#d8caff;font-size:14px;font-weight:900}.lesson-challenge-grid>button strong{display:block;margin:11px 0 6px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.lesson-challenge-grid>button small{color:#e99714;font-size:9px}.lesson-challenge-grid>button em{display:block;margin-top:8px;color:#6e7887;font-size:8px;font-style:normal}.coding-active-panel>header{flex-wrap:wrap}.coding-active-panel>header>button{display:flex;align-items:center;gap:6px;flex:none;padding:9px 11px;border:2px solid #17263b;border-radius:12px;background:#fff;font-size:9px;font-weight:900}.coding-active-panel>header>aside{display:flex;align-items:center;gap:6px;margin-left:auto;padding:9px 11px;border:2px solid #17263b;border-radius:12px;background:#ffdf63;font-size:9px;box-shadow:3px 3px #17263b}.coding-lab-page>header aside{margin-left:auto;display:flex;align-items:center;gap:9px;padding:13px 18px;background:#ffdf63;border:2px solid #17263b;border-radius:18px;box-shadow:4px 5px #17263b}.coding-workbench{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(420px,1.5fr) minmax(260px,.8fr);gap:20px;align-items:start}.coding-task-brief,.coding-editor-shell,.coding-console{border:3px solid #17263b;border-radius:24px;background:#fff;box-shadow:6px 7px #17263b;overflow:hidden}.coding-task-brief{padding:22px}.coding-task-brief>span{color:#ef9c18;font-size:20px;letter-spacing:3px}.coding-task-brief p{line-height:1.7;color:#536071}.coding-task-brief div{display:grid;gap:7px;background:#f6f2ff;border-radius:15px;padding:13px;margin-top:14px}.coding-task-brief code{white-space:pre-wrap;font-size:12px}.coding-editor-shell nav{display:flex;align-items:center;background:#17263b;padding:10px;gap:8px}.coding-editor-shell nav button{border:0;border-radius:10px;background:#33435a;color:#fff;padding:9px 12px;font-weight:800}.coding-editor-shell nav button.active{background:#7c5ce3}.coding-editor-shell nav span{margin-left:auto;color:#cbd6e4;font-size:12px;display:flex;align-items:center;gap:5px}.coding-editor-shell>textarea{width:100%;height:390px;border:0;resize:vertical;padding:20px;background:#101928;color:#dce9f7;font:14px/1.65 Consolas,monospace;outline:none}.coding-editor-shell>label{display:grid;gap:6px;padding:13px 16px;font-weight:800;background:#f3f6f9}.coding-editor-shell>label textarea{min-height:70px;border:1px solid #bac5d0;border-radius:10px;padding:9px}.coding-actions{display:flex;gap:12px;padding:14px}.coding-actions button,.coding-pass-result button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;border:2px solid #17263b;border-radius:13px;padding:12px;font-weight:900;background:#fff}.coding-actions .verify{background:#ffda56;box-shadow:3px 3px #17263b}.coding-console>header{display:flex;align-items:center;gap:8px;background:#17263b;color:#fff;padding:16px;font-weight:900}.coding-console>pre{min-height:250px;max-height:390px;overflow:auto;margin:0;padding:18px;white-space:pre-wrap;background:#f7f9fb;font:13px/1.6 Consolas,monospace}.coding-pass-result{padding:18px;border-top:2px dashed #ccd4de}.coding-pass-result>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px}.coding-pass-result>div svg{grid-row:1/3;width:36px;height:36px;color:#ef9c18}.coding-pass-result>div strong{font-size:30px}.coding-pass-result>div span{color:#667184}.coding-pass-result p b{color:#169f61;font-size:20px}.code-work-card{position:fixed;left:-10000px;top:0;width:900px;padding:38px;background:linear-gradient(145deg,#fffaf0,#ece5ff);color:#17263b;border:8px solid #17263b}.code-work-card header{display:flex;align-items:center;gap:18px}.code-work-card header>span{display:grid;place-items:center;width:70px;height:70px;border-radius:22px;background:#ffda56}.code-work-card h2{font-size:34px;margin:4px 0}.code-work-card header em{margin-left:auto;font-size:48px;font-weight:900;color:#7655c5}.code-work-card pre{min-height:350px;background:#17263b;color:#e7f6ff;padding:28px;border-radius:20px;white-space:pre-wrap;font:18px/1.55 Consolas,monospace}.code-work-card footer{font-size:18px;font-weight:900;display:flex;align-items:center;gap:8px}.lesson-coding-panel .coding-workbench{grid-template-columns:minmax(0,1.45fr) minmax(230px,.75fr);gap:14px}.lesson-coding-panel .coding-workbench>*{min-width:0}.lesson-coding-panel .coding-task-brief{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:8px 18px;padding:15px 17px;border-radius:17px;box-shadow:4px 5px #17263b}.lesson-coding-panel .coding-task-brief>span{font-size:17px;white-space:nowrap}.lesson-coding-panel .coding-task-brief>p{margin:0;font-size:11px;line-height:1.55}.lesson-coding-panel .coding-task-brief>div{margin:0;min-width:0}.lesson-coding-panel .coding-task-brief>div:first-of-type{grid-column:1/-1}.lesson-coding-panel .coding-task-brief>div+div{grid-column:1/-1}.lesson-coding-panel .coding-editor-shell,.lesson-coding-panel .coding-console{border-radius:17px;box-shadow:4px 5px #17263b}.lesson-coding-panel .coding-editor-shell>textarea{height:320px}.lesson-coding-panel .coding-console>pre{min-height:210px;max-height:320px;overflow-wrap:anywhere}@container (max-width:720px){.lesson-coding-panel .coding-workbench{grid-template-columns:minmax(0,1fr)}.lesson-coding-panel .coding-task-brief{grid-template-columns:1fr}.lesson-coding-panel .coding-task-brief>div,.lesson-coding-panel .coding-task-brief>div:first-of-type,.lesson-coding-panel .coding-task-brief>div+div{grid-column:auto}.lesson-coding-panel.coding-active-panel>header>aside{margin-left:0}}.works-uploader,.works-admin-upload{display:grid;grid-template-columns:1fr 1.5fr 1.5fr auto auto;gap:12px;align-items:end;padding:20px;background:#e9fbdc;border:3px solid #17263b;border-radius:24px;box-shadow:6px 7px #17263b;margin-bottom:30px}.works-uploader>span{display:none}.works-uploader label,.works-admin-upload label{display:grid;gap:6px;font-weight:800}.works-uploader input,.works-admin-upload input,.works-admin-upload select{border:2px solid #b8c6bd;border-radius:12px;padding:11px}.works-file-picker,.works-admin-picker{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;border:2px dashed #64a34e;border-radius:12px;padding:11px}.works-uploader>button,.works-admin-upload>button{border:2px solid #17263b;border-radius:12px;padding:12px 17px;background:#ffda56;font-weight:900}.student-works-grid,.works-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.student-works-grid article,.works-admin-grid article{overflow:hidden;border:3px solid #17263b;border-radius:24px;background:#fff;box-shadow:6px 7px #17263b}.student-works-grid article>img,.works-admin-grid article>img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#edf1f5}.student-works-grid article>div,.works-admin-grid article>div{padding:18px}.student-works-grid article small{display:flex;align-items:center;gap:5px;color:#7655c5;font-weight:800}.student-works-grid article h2{margin:7px 0}.student-works-grid article p,.works-admin-grid article p{color:#687386}.student-works-grid article footer{display:flex;gap:10px}.student-works-grid article footer a,.student-works-grid article footer button,.works-admin-grid article button{display:flex;align-items:center;gap:5px;border:1px solid #c7d0d9;border-radius:10px;padding:8px 12px;background:#fff;text-decoration:none;color:#17263b}.wrong-book-page>nav{display:flex;gap:12px;margin-bottom:24px}.wrong-book-page>nav button{display:flex;align-items:center;gap:8px;border:2px solid #17263b;border-radius:15px;background:#fff;padding:11px 18px;font-weight:900}.wrong-book-page>nav button.active{background:#ffda56;box-shadow:3px 3px #17263b}.wrong-book-page>section{display:grid;gap:18px}.wrong-book-page article{border:3px solid #17263b;border-radius:24px;background:#fff;box-shadow:6px 7px #17263b;padding:22px}.wrong-book-page article>header{display:flex;align-items:center;gap:15px}.wrong-book-page article>header>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#ffd4cd;font-weight:900}.wrong-book-page article h2{margin:4px 0}.wrong-book-page article header em{margin-left:auto;display:flex;align-items:center;gap:5px;font-style:normal;color:#d45f4f}.wrong-book-page article>div{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.wrong-book-page article>div p{display:grid;gap:6px;background:#f5f7f8;border-radius:14px;padding:13px;margin:0}.wrong-book-page article aside,.assessment-explanation{display:flex;align-items:flex-start;gap:12px;background:#eaf7ff;border-left:5px solid #33a4dc;border-radius:14px;padding:16px;margin-top:15px}.wrong-book-page article aside svg{flex:none;color:#2589bd}.wrong-book-page article aside p{display:grid;gap:6px;margin:0;line-height:1.7}.assessment-explanation{margin:18px 30px!important;display:block!important}.assessment-explanation strong{color:#16724d}.assessment-explanation p{margin:8px 0 0!important;line-height:1.7}.challenge-admin-list{display:grid;gap:12px}.challenge-admin-list details{border:1px solid #d7dfe4;border-radius:16px;overflow:hidden}.challenge-admin-list summary{display:flex;align-items:center;gap:12px;padding:14px;cursor:pointer}.challenge-admin-list summary .challenge-level{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#ffda56;font-weight:900}.challenge-admin-list summary div{display:grid}.challenge-admin-list summary small{color:#788491}.challenge-admin-list summary em{margin-left:auto;font-style:normal;color:#1a9a61}.challenge-editor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:18px;background:#f6f8fa}.challenge-editor-grid label{display:grid;gap:6px;font-weight:800}.challenge-editor-grid .wide{grid-column:1/-1}.challenge-editor-grid input,.challenge-editor-grid textarea{border:1px solid #bac5ce;border-radius:10px;padding:9px}.challenge-editor-grid .code-field{min-height:150px;font-family:Consolas,monospace}.challenge-publish{display:flex!important;align-items:center}.coding-submission-list{display:grid}.coding-submission-list>div{display:grid;grid-template-columns:1fr 2fr .5fr .5fr 1fr;gap:12px;padding:12px;border-bottom:1px solid #e0e5e8}.coding-submission-list b{display:flex;align-items:center;gap:4px;color:#1a9a61}.challenge-create-strip{display:flex;align-items:center;gap:10px;background:#fff4ca;padding:12px;border-radius:12px;margin-bottom:12px}.challenge-create-strip p{margin-right:auto}.works-admin-grid article strong{display:block;font-size:18px;margin-top:5px}.parent-works-section{padding-top:56px;padding-bottom:56px;background:linear-gradient(135deg,#f2edff,#fff8db)}.parent-works-heading{display:flex;gap:16px;align-items:center;margin-bottom:26px}.parent-works-heading>span{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:#7655c5;color:#fff;box-shadow:5px 5px #17263b}.parent-works-heading small{letter-spacing:.18em;color:#7655c5;font-weight:900}.parent-works-heading h2{font-size:clamp(27px,4vw,42px);margin:4px 0}.parent-works-heading p{margin:0;color:#687386}.parent-work-stage{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px}.parent-work-stage>button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid #17263b;background:#fff}.parent-work-stage figure{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);overflow:hidden;margin:0;border:3px solid #17263b;border-radius:28px;background:#fff;box-shadow:8px 9px #17263b}.parent-work-stage figure>img{width:100%;height:500px;object-fit:contain;background:#eef1f5}.parent-work-stage figcaption{display:flex;flex-direction:column;justify-content:center;padding:30px}.parent-work-stage figcaption small{display:flex;align-items:center;gap:5px;color:#7655c5;font-weight:900}.parent-work-stage figcaption h3{font-size:27px;margin:10px 0}.parent-work-stage figcaption p{line-height:1.7;color:#677386}.parent-work-stage figcaption a{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:18px;padding:11px;border:2px solid #17263b;border-radius:12px;background:#ffda56;color:#17263b;text-decoration:none;font-weight:900}.parent-work-thumbs{display:flex;gap:12px;overflow:auto;padding:20px 8px}.parent-work-thumbs button{flex:0 0 130px;border:2px solid transparent;border-radius:13px;background:#fff;padding:6px;text-align:left}.parent-work-thumbs button.active{border-color:#7655c5}.parent-work-thumbs img{width:100%;height:78px;object-fit:cover;border-radius:8px}.parent-work-thumbs span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}.parent-works-empty{display:grid;place-items:center;gap:8px;padding:60px;border:2px dashed #b9b1ce;border-radius:24px}.parent-student-files{margin-top:25px;background:#fff;border-radius:18px;padding:16px}.parent-student-files summary{font-weight:900;display:flex;align-items:center;gap:8px;cursor:pointer}.parent-student-files>a{display:flex;align-items:center;gap:10px;padding:12px;border-top:1px solid #e4e7eb;text-decoration:none;color:#17263b}.parent-student-files>a span{display:grid;margin-right:auto}.parent-student-files>a small{color:#74808d}@media(max-width:1000px){.coding-lesson-world>div{grid-template-columns:repeat(2,1fr)}.lesson-challenge-grid{grid-template-columns:repeat(2,1fr)}.coding-workbench{grid-template-columns:1fr}.student-works-grid,.works-admin-grid{grid-template-columns:repeat(2,1fr)}.works-uploader,.works-admin-upload{grid-template-columns:1fr 1fr}.parent-work-stage figure{grid-template-columns:1fr}.parent-work-stage figure>img{height:400px}}@media(max-width:640px){.coding-map-page,.coding-lab-page,.works-page,.wrong-book-page{padding:22px 14px 55px}.coding-map-page>header,.coding-lab-page>header,.works-page>header,.wrong-book-page>header{align-items:flex-start;flex-wrap:wrap}.coding-lab-page>header aside{margin-left:0}.coding-lesson-world{padding:15px;border-radius:21px;box-shadow:5px 6px #17263b}.coding-lesson-world>div{grid-template-columns:1fr}.coding-lesson-world>div>button{min-height:125px}.lesson-coding-panel{padding:15px;border-radius:19px;box-shadow:4px 5px #17263b}.lesson-coding-panel>header{align-items:flex-start;flex-wrap:wrap}.lesson-coding-panel>header>em,.coding-active-panel>header>aside{margin-left:0}.lesson-challenge-grid{grid-template-columns:1fr}.lesson-challenge-grid>button{min-height:112px}.coding-editor-shell>textarea{height:320px}.student-works-grid,.works-admin-grid,.works-uploader,.works-admin-upload{grid-template-columns:1fr}.wrong-book-page article>div{grid-template-columns:1fr}.challenge-editor-grid{grid-template-columns:1fr}.challenge-editor-grid .wide{grid-column:auto}.coding-submission-list>div{grid-template-columns:1fr 1fr}.parent-works-section{padding:36px 14px}.parent-work-stage{grid-template-columns:1fr}.parent-work-stage>button{display:none}.parent-work-stage figure{border-radius:20px;box-shadow:5px 6px #17263b}.parent-work-stage figure>img{height:280px}.parent-work-stage figcaption{padding:20px}.parent-work-stage figcaption h3{font-size:22px}.parent-works-heading{align-items:flex-start}.parent-works-heading>span{width:50px;height:50px}}.lesson-rating-backdrop{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;background:#0d192ab8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lesson-rating-modal{position:relative;width:min(760px,100%);max-height:92vh;overflow:auto;border:4px solid #17263b;border-radius:30px;background:linear-gradient(145deg,#fff9df,#f1eaff);box-shadow:10px 12px #17263b;padding:26px}.lesson-rating-close{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:38px;height:38px;border:2px solid #17263b;border-radius:50%;background:#fff}.lesson-rating-modal>header{display:flex;align-items:center;gap:16px;padding-right:45px}.lesson-rating-modal>header>span{display:grid;place-items:center;width:62px;height:62px;border:3px solid #17263b;border-radius:20px;background:#ffda56}.lesson-rating-modal h2{margin:3px 0;font-size:30px}.lesson-rating-modal p{margin:0;color:#677386}.lesson-rating-fields{display:grid;gap:12px;margin:24px 0}.lesson-rating-fields article{display:grid;grid-template-columns:180px 1fr;align-items:center;border:2px solid #d7dce2;border-radius:18px;background:#fff;padding:13px 16px}.lesson-rating-fields article>div{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.lesson-rating-fields button{display:grid;place-items:center;gap:3px;border:0;background:transparent;color:#c5cad2}.lesson-rating-fields button small{font-size:11px;color:#687386}.lesson-rating-fields button svg{width:30px;height:30px}.lesson-rating-fields button.active{color:#ffb516}.lesson-rating-modal>footer{display:flex;justify-content:flex-end;gap:12px}.lesson-rating-modal>footer button{border:2px solid #17263b;border-radius:14px;padding:12px 20px;font-weight:900}.typing-set-tabs{display:flex;gap:12px;overflow:auto;margin-bottom:22px;padding:5px}.typing-set-tabs button{flex:0 0 auto;display:flex;align-items:center;gap:8px;border:2px solid #17263b;border-radius:15px;background:#fff;padding:11px 15px;font-weight:900;box-shadow:3px 3px #17263b}.typing-set-tabs button.active{background:#ffda56}.typing-set-tabs small{color:#687386}.typing-set-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.typing-set-admin-grid article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid #d9e0e5;border-radius:16px;padding:14px}.typing-set-admin-grid article.enabled{background:#eefbe6;border-color:#84cb6b}.typing-set-admin-grid article>svg{width:34px;height:34px;color:#7655c5}.typing-set-admin-grid article div{display:grid;gap:3px}.typing-set-admin-grid article small{color:#74808d}.typing-set-admin-grid article button{border:1px solid #17263b;border-radius:10px;background:#fff;padding:8px 12px;font-weight:800}.typing-admin-set{margin-top:12px;border:1px solid #dce2e6;border-radius:14px;overflow:auto}.typing-admin-set>summary{display:flex;justify-content:space-between;padding:14px 16px;font-weight:900;cursor:pointer}.attendance-export-center{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin-bottom:25px}.attendance-export-center>div{display:grid;gap:14px;border:1px solid #cbd6d0;border-radius:20px;background:#fff;padding:20px;box-shadow:0 12px 28px #20372f12}.attendance-export-center header{display:flex;gap:12px}.attendance-export-center header>svg{color:#2f7df6}.attendance-export-center header span{display:grid}.attendance-export-center header small{color:#7b8982}.attendance-export-center fieldset{display:flex;flex-wrap:wrap;gap:9px;border:0;padding:0}.attendance-export-center fieldset label{display:flex;gap:6px;border:1px solid #d4ddd8;border-radius:999px;padding:7px 11px}.attendance-export-center input{border:1px solid #c5d0ca;border-radius:11px;padding:11px}.attendance-export-center>div>button{justify-self:start;display:flex;align-items:center;gap:7px;border:2px solid #20372f;border-radius:12px;background:#ffca46;padding:10px 15px;font-weight:900}.reward-sync-card>div{display:grid;gap:12px}.reward-sync-card article{display:grid;grid-template-columns:80px 1fr auto;gap:15px;align-items:center;border:1px solid #d7dfe4;border-radius:16px;padding:14px}.reward-sync-card article>img{width:80px;height:80px;object-fit:cover;border-radius:14px}.reward-sync-card article>div{display:grid;gap:6px}.reward-sync-card fieldset{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0}.reward-sync-card fieldset label{display:flex;align-items:center;gap:6px;border:1px solid #d5dde2;border-radius:12px;padding:7px}.reward-sync-card fieldset input[type=number]{width:78px}.reward-sync-card article>button{border:2px solid #17263b;border-radius:12px;background:#ffda56;padding:10px 14px;font-weight:900}.reward-replace-image{position:relative;display:grid!important}.reward-replace-image img{width:130px;height:130px;object-fit:cover;border-radius:16px}.reward-replace-image span{font-size:11px;text-align:center}.reward-replace-image{cursor:pointer}.teacher-presenter{position:relative;display:grid;grid-template-rows:auto 1fr;width:100vw;height:100vh;overflow:hidden;background:#101928;color:#17263b}.teacher-presenter>header{display:flex;align-items:center;gap:18px;min-height:70px;padding:10px 20px;background:#fff;border-bottom:3px solid #17263b}.teacher-presenter>header a,.teacher-presenter>header button{display:flex;align-items:center;gap:7px;border:2px solid #17263b;border-radius:12px;background:#fff;padding:9px 12px;color:#17263b;text-decoration:none;font-weight:900}.teacher-presenter>header>div{display:grid;margin-right:auto}.teacher-presenter>header>div small{color:#7655c5;font-weight:900;letter-spacing:.12em}.teacher-presenter>header label{display:flex;align-items:center;gap:8px;font-weight:800}.teacher-presenter select{border:1px solid #bdc7d1;border-radius:10px;padding:9px}.presenter-stage{position:relative;min-width:0;min-height:0}.presenter-stage iframe{width:100%;height:100%;border:0;background:#fff}.teacher-board{position:absolute;inset:0;z-index:2;touch-action:none}.teacher-board.disabled{pointer-events:none}.presenter-sidebar-toggle{position:absolute;z-index:12;right:min(390px,34vw);top:50%;display:grid;place-items:center;width:34px;height:64px;border:2px solid #17263b;border-radius:14px 0 0 14px;background:#ffda56}.teacher-presenter>aside{position:absolute;z-index:11;right:0;top:70px;bottom:0;width:min(390px,34vw);overflow:auto;background:#fff;border-left:3px solid #17263b;box-shadow:-10px 0 30px #0d192a2e;transition:transform .2s}.teacher-presenter>aside.collapsed{transform:translate(100%)}.teacher-presenter>aside.collapsed+.presenter-sidebar-toggle{right:0}.teacher-presenter>aside>header{display:flex;justify-content:space-between;align-items:center;padding:17px;border-bottom:1px solid #dce1e5}.teacher-presenter>aside>header button{border:0;background:none}.teacher-presenter>aside>nav{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px}.teacher-presenter>aside>nav button{display:flex;align-items:center;gap:6px;border:1px solid #cad2d8;border-radius:10px;background:#f7f9fb;padding:10px;font-weight:800}.teacher-presenter>aside>nav button.active,.teacher-presenter>aside>nav button.live{background:#ffda56;border-color:#17263b}.presenter-points{display:grid;gap:9px;padding:12px}.presenter-points article{display:grid;grid-template-columns:1fr 70px 1fr auto auto;gap:6px;border:1px solid #d8dfe4;border-radius:12px;padding:10px}.presenter-points article>div{display:grid}.presenter-points input{min-width:0;border:1px solid #ccd4da;border-radius:8px;padding:7px}.presenter-points button{border:1px solid #17263b;border-radius:8px;background:#fff}.presenter-board-tools,.presenter-evaluation{display:grid;gap:10px;padding:15px}.presenter-board-tools button,.presenter-evaluation>button{display:flex;align-items:center;justify-content:center;gap:7px;border:2px solid #17263b;border-radius:12px;background:#fff;padding:11px;font-weight:900}.presenter-board-tools button.active,.presenter-evaluation>button.start{background:#ffda56}.presenter-evaluation>button.stop{background:#fdd}.presenter-evaluation label{display:grid;gap:6px;font-weight:900}.presenter-evaluation details{border:1px solid #d6dde2;border-radius:11px;padding:10px}.presenter-evaluation summary{display:flex;gap:7px;justify-content:space-between;font-weight:800}.evaluation-average{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.evaluation-average span{display:flex;justify-content:space-between;background:#f1edff;border-radius:8px;padding:7px}.presenter-evaluation details p{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-top:1px solid #e3e7ea;padding-top:8px}.presenter-evaluation details p strong{grid-column:1/-1}.assessment-result-actions{display:flex;gap:12px;flex-wrap:wrap}.assessment-result-actions button{display:flex;align-items:center;gap:7px}@media(max-width:800px){.lesson-rating-fields article{grid-template-columns:1fr;gap:10px}.lesson-rating-fields button small{font-size:9px}.lesson-rating-fields button svg{width:25px}.typing-set-admin-grid,.attendance-export-center{grid-template-columns:1fr}.reward-sync-card article{grid-template-columns:60px 1fr}.reward-sync-card article>img{width:60px;height:60px}.reward-sync-card article>button{grid-column:1/-1}.teacher-presenter>header label{display:none}.teacher-presenter>aside{width:min(360px,88vw)}.presenter-sidebar-toggle{right:min(360px,88vw)}}.teacher-presenter:has(>aside.collapsed)>.presenter-sidebar-toggle{right:0}.role-login-page{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;padding:28px 18px;background:#0e1b31}.role-login-page:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:34px 34px;opacity:.55}.role-login-page.parent-mode{background:#f4f0e5}.role-login-back{position:absolute;left:24px;top:22px;z-index:3;display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-size:12px;font-weight:800}.parent-mode .role-login-back{color:#26352f}.role-login-glow{position:absolute;width:330px;height:330px;border:1px dashed rgba(117,226,242,.35);border-radius:50%;animation:roleOrbit 13s linear infinite}.glow-one{top:-130px;left:-70px}.glow-two{right:-100px;bottom:-130px;animation-direction:reverse;border-color:#ffda5659}@keyframes roleOrbit{to{transform:rotate(360deg)}}.role-login-shell{position:relative;z-index:2;width:min(1080px,96vw);display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;border:3px solid #08111f;border-radius:28px 28px 28px 8px;background:#fbfcf7;box-shadow:12px 14px #07111d,0 30px 80px #00000047}.role-login-visual{min-height:620px;padding:56px 62px;background:#79ddf6;background-image:radial-gradient(rgba(16,27,45,.1) 1.5px,transparent 1.5px);background-size:17px 17px}.parent-mode .role-login-visual{background:#20372f;color:#fff}.role-login-logo{display:flex;align-items:center;gap:9px;font-weight:1000;letter-spacing:.08em}.role-login-logo svg{width:42px;height:42px;padding:8px;border:2px solid #17263b;border-radius:12px;background:#ffda56;color:#17263b}.parent-mode .role-login-logo svg{background:#f5ba42}.role-login-logo span{font-size:12px;line-height:1}.role-login-kicker{display:flex;align-items:center;gap:7px;margin-top:42px;color:#f25839;font-size:10px;font-weight:1000;letter-spacing:.12em}.parent-mode .role-login-kicker{color:#f5ba42}.role-login-kicker svg{width:15px}.role-login-visual h1{margin:20px 0 15px;font-size:clamp(42px,5vw,68px);line-height:1.05;letter-spacing:-.06em}.role-login-visual h1 em{color:#f25839;font-style:normal;text-shadow:3px 3px 0 #fff}.parent-mode .role-login-visual h1 em{color:#f5ba42;text-shadow:none}.role-login-visual>p{max-width:520px;margin:0;color:#607083;font-size:14px;line-height:1.8}.parent-mode .role-login-visual>p{color:#c6d1cc}.role-login-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:34px}.role-login-points span{display:flex;align-items:center;gap:7px;padding:12px;border:1px solid rgba(23,38,59,.2);border-radius:12px;background:#ffffff61;font-size:10px}.parent-mode .role-login-points span{border-color:#fff3;background:#ffffff0f}.role-login-points svg{width:18px;color:#f25839}.parent-mode .role-login-points svg{color:#f5ba42}.role-login-panel{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:48px}.role-switch{display:grid;grid-template-columns:1fr 1fr;gap:9px}.role-switch button{display:flex;align-items:center;gap:9px;padding:12px;border:2px solid #d7dee3;border-radius:15px;background:#fff;color:#536173;text-align:left;cursor:pointer}.role-switch button.active.student{border-color:#17263b;background:#79ddf6;box-shadow:3px 4px #17263b;color:#17263b}.role-switch button.active.parent{border-color:#26352f;background:#f5ba42;box-shadow:3px 4px #26352f;color:#26352f}.role-switch svg{width:23px}.role-switch span{display:grid;gap:3px}.role-switch strong{font-size:12px}.role-switch small{font-size:8px;opacity:.72}.role-login-title>small{color:#f25839;font-size:9px;font-weight:1000;letter-spacing:.18em}.parent-mode .role-login-title>small{color:#2878ff}.role-login-title h2{margin:6px 0;font-size:31px}.role-login-title p{margin:0;color:#7d8992;font-size:10px;line-height:1.6}.role-login-panel form{display:grid;gap:14px}.role-login-panel label{font-size:10px;font-weight:900}.role-login-panel label>div{height:46px;display:flex;align-items:center;gap:8px;margin-top:6px;padding:0 11px;border:2px solid #c9d3d9;border-radius:10px;background:#fff}.role-login-panel label svg{width:17px;color:#7b8994}.role-login-panel input{width:100%;border:0;outline:0;background:transparent;font:inherit}.role-login-error{margin:0;color:#cf4c47;font-size:10px;font-weight:800}.role-login-submit{height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:2px solid #17263b;border-radius:11px;cursor:pointer;font-weight:1000}.role-login-submit.student{background:#ffda56;box-shadow:3px 4px #17263b}.role-login-submit.parent{background:#f5ba42;box-shadow:3px 4px #26352f}.role-login-submit svg{width:18px}.role-login-submit:disabled{opacity:.6}.role-login-help{margin:0;text-align:center;color:#89949b;font-size:9px}.reward-wish-board{display:grid;gap:15px}.reward-wish-board>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:3px solid var(--reward-ink,#252c3b);border-radius:22px;background:linear-gradient(135deg,#fff4c8,#f0e7ff);box-shadow:5px 6px 0 var(--reward-ink,#252c3b)}.reward-wish-board>header>div{display:flex;align-items:flex-start;gap:12px}.reward-wish-board>header>div>span{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#ff8b76;color:#fff}.reward-wish-board h2{margin:3px 0;font-size:24px}.reward-wish-board header p{margin:0;color:#6c7480;font-size:10px;line-height:1.6}.reward-wish-board form{display:flex;gap:7px;min-width:min(410px,100%)}.reward-wish-board form input{min-width:0;flex:1;border:2px solid #c7ccd5;border-radius:11px;padding:11px;font:inherit}.reward-wish-board form button,.reward-wish-grid article>button{display:flex;align-items:center;justify-content:center;gap:5px;border:2px solid var(--reward-ink,#252c3b);border-radius:11px;background:#ffdf63;padding:10px 13px;color:var(--reward-ink,#252c3b);font-size:10px;font-weight:900;cursor:pointer}.reward-wish-board form button:disabled,.reward-wish-grid article>button:disabled{opacity:.48;cursor:not-allowed}.reward-wish-rules{display:flex;flex-wrap:wrap;gap:7px}.reward-wish-rules span{display:flex;align-items:center;gap:5px;padding:8px 10px;border-radius:999px;background:#fff;color:#64707d;font-size:9px;font-weight:800}.reward-wish-rules svg{width:14px;color:#f17858}.reward-wish-grid{display:grid;gap:10px}.reward-wish-grid article{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;padding:14px;border:2px solid #d9dce2;border-radius:17px;background:#fff;transition:.2s}.reward-wish-grid article:hover,.reward-wish-grid article.highlight{border-color:#f17858;box-shadow:0 0 0 4px #f1785821}.reward-wish-grid article.adopted{background:#f0f1f3;filter:grayscale(.3)}.wish-rank{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eee6ff;color:#7655c5;font-size:13px;font-weight:1000}.adopted .wish-rank{background:#d8dedb;color:#5f6d66}.wish-copy{min-width:0}.wish-copy>small{color:#89929c;font-size:8px}.wish-copy h3{margin:5px 0 8px;font-size:17px}.wish-heat{display:flex;align-items:center;gap:9px}.wish-heat span{display:block;flex:1;height:8px;overflow:hidden;border-radius:99px;background:#ece8f6}.wish-heat span i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffad65,#f06c75)}.wish-heat b{color:#e66e53;font-size:10px}.wish-copy>em{display:flex;align-items:center;gap:4px;margin-top:6px;color:#5e8b6e;font-size:9px;font-style:normal;font-weight:900}.wish-copy>em svg{width:13px}.reward-wish-grid article>button{min-width:92px;background:#fff}.reward-wish-grid article>button svg{width:14px}.reward-wish-grid article.adopted>button{background:#d9dedb;color:#6d7772}.admin-wish-grid{display:grid;gap:9px}.admin-wish-grid article{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:12px;padding:11px;border:1px solid #dbe1de;border-radius:12px;background:#fff}.admin-wish-grid article.adopted{background:#f1f3f2}.admin-wish-votes{display:grid;place-items:center;padding:8px;border-radius:11px;background:#fff0d2}.admin-wish-votes strong{font-size:22px;color:#e26c48}.admin-wish-votes small,.admin-wish-grid article>div>small{color:#89938d;font-size:7px}.admin-wish-grid article h3{margin:4px 0;font-size:13px}.admin-wish-grid article em{display:flex;align-items:center;gap:3px;color:#3c9061;font-size:8px;font-style:normal;font-weight:900}.admin-wish-grid article em svg{width:12px}.admin-wish-grid article footer{display:flex;align-items:center;gap:6px}.admin-wish-grid article footer .admin-primary{min-height:29px;padding:0 9px;font-size:8px}.reward-adopt-backdrop{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:#0b1525bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.reward-adopt-modal{position:relative;width:min(680px,100%);max-height:92vh;overflow:auto;display:grid;gap:12px;padding:24px;border:3px solid #17263b;border-radius:22px;background:#fffdf2;box-shadow:8px 9px #17263b}.reward-adopt-close{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:32px;height:32px;border:2px solid #17263b;border-radius:50%;background:#fff}.reward-adopt-modal>header{display:flex;align-items:center;gap:12px;padding-right:40px}.reward-adopt-modal>header>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#ff8a76;color:#fff}.reward-adopt-modal>header h2{margin:3px 0;font-size:24px}.reward-adopt-modal>header p{margin:0;color:#77827c;font-size:9px}.reward-adopt-modal>label,.reward-adopt-numbers label{display:grid;gap:5px;font-size:9px;font-weight:900}.reward-adopt-modal input,.reward-adopt-modal textarea{width:100%;border:1px solid #c9d2cd;border-radius:9px;padding:9px;font:inherit}.reward-adopt-modal textarea{min-height:70px;resize:vertical}.reward-adopt-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.reward-adopt-modal fieldset{display:flex;flex-wrap:wrap;gap:8px;border:1px solid #d3dbd5;border-radius:10px;padding:10px}.reward-adopt-modal fieldset label{display:flex;align-items:center;gap:5px;font-size:9px}.reward-adopt-modal>footer{display:flex;justify-content:flex-end;gap:8px}.reward-adopt-modal>footer button{border:2px solid #17263b;border-radius:10px;background:#fff;padding:9px 13px;font-weight:900}.system-reward-admin{display:grid!important;grid-template-columns:64px 1fr auto!important;align-items:center}.system-reward-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:15px;background:#fff0c5;font-size:28px}.system-reward-admin h3{margin:3px 0}.system-reward-admin p{margin:0;color:#728079;font-size:9px}.system-reward-admin b{display:block;margin-top:5px;color:#b26f23;font-size:8px}.system-reward-admin aside{display:flex;align-items:center;gap:4px;color:#3b8d5e;font-size:8px;font-weight:900}@media(max-width:800px){.role-login-shell{grid-template-columns:1fr}.role-login-visual{min-height:0;padding:35px 25px}.role-login-panel{padding:27px 22px}.role-login-points{grid-template-columns:1fr}.reward-wish-board>header{align-items:stretch;flex-direction:column}.reward-wish-board form{min-width:0}.reward-wish-grid article{grid-template-columns:39px 1fr}.reward-wish-grid article>button{grid-column:2;justify-self:start}.admin-wish-grid article{grid-template-columns:52px 1fr}.admin-wish-grid article footer{grid-column:2;justify-content:flex-start}.system-reward-admin{grid-template-columns:52px 1fr!important}.system-reward-admin aside{grid-column:2}.reward-adopt-numbers{grid-template-columns:1fr}}@media(max-width:480px){.role-login-back{left:14px;top:14px;font-size:10px}.role-login-visual h1{font-size:40px}.role-login-panel{padding:23px 17px}.role-switch button{padding:9px 7px}.role-switch strong{font-size:10px}.role-switch small{font-size:7px}.reward-wish-board>header{padding:15px}.reward-wish-board h2{font-size:20px}}.student-heading-actions{display:flex;align-items:center;gap:8px}.admin-secondary{min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid #cbd5d0;border-radius:9px;background:#fff;color:#26352f;cursor:pointer;font-size:9px;font-weight:900}.admin-secondary svg{width:16px}.attendance-launch{display:grid;grid-template-columns:auto minmax(240px,1fr) minmax(300px,1.1fr) auto;align-items:center;gap:16px;margin-bottom:16px;padding:18px;border:1px solid #d7dfdb;border-radius:14px;background:#fff;box-shadow:0 9px 26px #26352f0f}.attendance-launch.is-live{border-color:#83c99a;background:linear-gradient(135deg,#effbf3,#fff)}.attendance-live-icon{width:52px;height:52px;display:grid;place-items:center;border:2px solid #26352f;border-radius:14px 14px 14px 5px;background:#f5ba42;box-shadow:3px 4px #26352f}.attendance-live-icon svg{width:24px}.attendance-launch-copy small{color:#2878ff;font-size:8px;font-weight:1000;letter-spacing:.14em}.attendance-launch-copy h2{margin:3px 0;font-size:17px}.attendance-launch-copy p{margin:0;color:#839089;font-size:8px}.attendance-course-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.attendance-course-picker label{font-size:8px;font-weight:900}.attendance-course-picker label>div{position:relative}.attendance-course-picker select,.attendance-course-picker input{width:100%;height:38px;margin-top:5px;padding:0 10px;border:1px solid #cbd5d0;border-radius:8px;background:#fff;font-size:9px}.attendance-course-picker select{appearance:none;padding-right:30px}.attendance-course-picker label svg{position:absolute;right:9px;bottom:9px;width:16px;pointer-events:none}.attendance-start,.attendance-end,.attendance-reopen{min-height:42px;display:flex;align-items:center;gap:7px;padding:0 14px;border:2px solid #26352f;border-radius:9px;background:#83ed9b;box-shadow:3px 4px #26352f;cursor:pointer;font-size:9px;font-weight:900;white-space:nowrap}.attendance-end{background:#ff8068}.attendance-reopen{background:#f5ba42}.attendance-start svg,.attendance-end svg,.attendance-reopen svg{width:16px}.attendance-workspace{display:grid;grid-template-columns:270px minmax(0,1fr);overflow:hidden;border:1px solid #d7dfdb;border-radius:14px;background:#fff;box-shadow:0 9px 26px #26352f0f}.attendance-history{border-right:1px solid #e1e6e3;background:#f6f8f7}.attendance-history>header,.attendance-summary>header{display:flex;align-items:center;gap:9px;padding:15px;border-bottom:1px solid #dfe5e1}.attendance-history>header svg,.attendance-summary>header svg{width:19px;color:#2878ff}.attendance-history>header div,.attendance-summary>header div{display:flex;flex-direction:column}.attendance-history>header strong,.attendance-summary>header strong{font-size:10px}.attendance-history>header small,.attendance-summary>header small{color:#84918a;font-size:7px}.attendance-history>button{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;padding:12px;border:0;border-bottom:1px solid #e2e7e4;background:transparent;text-align:left;cursor:pointer}.attendance-history>button.active{background:#fff;box-shadow:inset 4px 0 #2878ff}.attendance-history>button>span{height:38px;display:grid;place-items:center;border-radius:9px;background:#e5edf9;color:#2878ff;font-size:9px;font-weight:1000}.attendance-history>button>div{min-width:0;display:flex;flex-direction:column}.attendance-history>button strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.attendance-history>button small{margin-top:2px;color:#87928c;font-size:7px}.attendance-history>button em{padding:4px 6px;border-radius:5px;background:#e9eeeb;color:#748078;font-size:7px;font-style:normal}.attendance-history>button em.open{background:#d9f5df;color:#227747}.attendance-roster>header{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid #e3e7e5}.attendance-roster>header small{color:#2878ff;font-size:8px;font-weight:900}.attendance-roster>header h2{margin:3px 0 0;font-size:17px}.attendance-bulk{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.attendance-bulk button{min-height:33px;display:flex;align-items:center;gap:5px;padding:0 9px;border:1px solid #cbd4d0;border-radius:7px;background:#fff;cursor:pointer;font-size:8px}.attendance-bulk button:first-child{border-color:#78c78d;background:#e4f8e8}.attendance-bulk button.attendance-reopen-compact{border-color:#e1a72e;background:#fff1c6}.attendance-bulk svg{width:13px}.attendance-counts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #e3e7e5;background:#fafcfb}.attendance-counts span{display:flex;align-items:baseline;justify-content:center;gap:4px;padding:10px;border-right:1px solid #e3e7e5;color:#7a8780;font-size:8px}.attendance-counts b{color:#26352f;font-size:15px}.attendance-counts .present b{color:#269451}.attendance-counts .leave b{color:#d58a20}.attendance-table-wrap{max-height:520px;overflow:auto}.attendance-table-wrap table{width:100%;border-collapse:collapse}.attendance-table-wrap th{position:sticky;top:0;z-index:1;padding:10px 13px;background:#f1f5f2;color:#78847d;font-size:8px;text-align:left}.attendance-table-wrap td{padding:10px 13px;border-bottom:1px solid #e6ebe8;font-size:9px}.attendance-table-wrap td:first-child{display:flex;align-items:center;gap:8px}.attendance-avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#e6efff;color:#2878ff;font-weight:1000}.attendance-status{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:6px;background:#eef1ef;color:#7a8580;font-weight:900}.attendance-status small{font-size:6px;font-weight:700}.attendance-status.present{background:#dff6e4;color:#227b46}.attendance-status.leave{background:#fff0c7;color:#a76c18}.attendance-status-actions{display:flex;gap:5px}.attendance-status-actions button{min-height:29px;padding:0 8px;border:1px solid #d3dad6;border-radius:6px;background:#fff;color:#748078;cursor:pointer;font-size:8px}.attendance-status-actions button.active{border-color:#26352f;box-shadow:2px 2px #26352f;color:#26352f;font-weight:900}.attendance-status-actions button.active.present{background:#83ed9b}.attendance-status-actions button.active.leave{background:#f5ba42}.attendance-summary{margin-top:16px;overflow:hidden;border:1px solid #d7dfdb;border-radius:14px;background:#fff}.attendance-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:13px}.attendance-summary-grid article{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;padding:11px;border:1px solid #e0e6e2;border-radius:10px}.attendance-summary-grid article>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#e7efff;color:#2878ff;font-weight:1000}.attendance-summary-grid article>strong{font-size:9px}.attendance-summary-grid article>div{display:flex;flex-direction:column;align-items:center;padding-left:8px;border-left:1px solid #e3e7e5}.attendance-summary-grid b{font-size:13px}.attendance-summary-grid small{color:#87928c;font-size:7px}.student-import-modal{display:grid;gap:12px}.student-import-guide{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #d9e1dd;border-radius:10px;background:#f5f8f6}.student-import-guide>svg{width:28px;color:#2878ff}.student-import-guide>div{display:flex;flex:1;flex-direction:column}.student-import-guide strong{font-size:9px}.student-import-guide small{color:#7f8c85;font-size:7px}.student-import-guide button{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #cbd5d0;border-radius:7px;background:#fff;cursor:pointer;font-size:8px}.student-import-guide button svg{width:13px}.student-import-picker{min-height:72px;display:flex;align-items:center;justify-content:center;gap:10px;border:2px dashed #9caaa3;border-radius:10px;background:#fbfdfc;cursor:pointer}.student-import-picker>svg{width:22px;color:#2878ff}.student-import-picker span{display:flex;flex-direction:column}.student-import-picker strong{font-size:9px}.student-import-picker small{color:#84918b;font-size:7px}.student-import-summary{display:flex;justify-content:space-between;gap:8px;font-size:8px}.student-import-summary span{color:#7e8b84}.student-import-preview{max-height:310px;overflow:auto;border:1px solid #dce3df;border-radius:9px}.student-import-preview table{width:100%;border-collapse:collapse}.student-import-preview th{position:sticky;top:0;padding:8px;background:#26352f;color:#fff;font-size:7px;text-align:left}.student-import-preview td{padding:8px;border-bottom:1px solid #e3e8e5;font-size:8px}.student-import-preview tbody tr:nth-child(2n){background:#f7f9f8}.parent-attendance-card{padding:0!important}.parent-attendance-card>summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:20px;list-style:none;cursor:pointer}.parent-attendance-card>summary::-webkit-details-marker{display:none}.parent-attendance-card>summary>span{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:#e1f5e6;color:#25814a}.parent-attendance-card>summary>span svg{width:19px}.parent-attendance-card>summary>div small{color:#2878ff;font-size:8px;font-weight:1000;letter-spacing:.12em}.parent-attendance-card>summary h3{margin:2px 0;font-size:15px}.parent-attendance-card>summary p{margin:0;color:#829088;font-size:8px}.parent-attendance-card>summary>aside{display:flex;align-items:center;gap:5px;color:#6f7c75;font-size:8px}.parent-attendance-card>summary>aside b{color:#26352f;font-size:18px}.parent-attendance-card>summary>aside svg{width:16px;transition:transform .2s}.parent-attendance-card[open]>summary>aside svg{transform:rotate(180deg)}.parent-attendance-groups{display:grid;gap:11px;padding:0 20px 20px;border-top:1px solid #e1e7e3}.parent-attendance-groups>section{overflow:hidden;border:1px solid #dce4df;border-radius:12px}.parent-attendance-groups section>header{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:#f3f7f4}.parent-attendance-groups header>div{display:flex;align-items:center;gap:8px}.parent-attendance-groups header svg{width:18px;color:#2878ff}.parent-attendance-groups header span{display:flex;flex-direction:column}.parent-attendance-groups header strong{font-size:10px}.parent-attendance-groups header small{color:#839088;font-size:7px}.parent-attendance-groups header aside{font-size:8px}.parent-attendance-groups header aside b{margin-left:6px;color:#26352f;font-size:12px}.parent-attendance-groups section>div article{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:10px;padding:10px 13px;border-top:1px solid #e5eae7}.parent-attendance-groups time{color:#637169;font-size:8px;font-weight:900}.parent-attendance-groups article>span{display:flex;flex-direction:column}.parent-attendance-groups article strong{font-size:9px}.parent-attendance-groups article small{color:#89958f;font-size:7px}.parent-attendance-groups article em{padding:5px 8px;border-radius:6px;background:#dff6e4;color:#247c48;font-size:8px;font-style:normal;font-weight:900}.parent-attendance-groups article em.leave{background:#fff0c7;color:#a86c18}.parent-attendance-empty{display:flex;flex-direction:column;align-items:center;padding:28px;color:#839088}.parent-attendance-empty svg{width:27px}.parent-attendance-empty strong{margin-top:6px;font-size:10px}.parent-attendance-empty span{font-size:8px}@media(max-width:1100px){.attendance-launch{grid-template-columns:auto 1fr auto}.attendance-course-picker{grid-column:1/-1}.attendance-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.student-heading-actions{width:100%;flex-wrap:wrap}.student-heading-actions button{flex:1}.attendance-launch{grid-template-columns:auto 1fr}.attendance-course-picker,.attendance-start,.attendance-end,.attendance-reopen{grid-column:1/-1}.attendance-start,.attendance-end,.attendance-reopen{justify-content:center}.attendance-workspace{grid-template-columns:1fr}.attendance-history{max-height:250px;overflow:auto;border-right:0;border-bottom:1px solid #e1e6e3}.attendance-roster>header{align-items:flex-start;flex-direction:column}.attendance-counts{grid-template-columns:repeat(2,1fr)}.attendance-table-wrap{overflow-x:auto}.attendance-table-wrap table{min-width:600px}.attendance-summary-grid{grid-template-columns:1fr}.student-import-summary{flex-direction:column}.parent-attendance-card>summary{grid-template-columns:auto 1fr}.parent-attendance-card>summary>aside{grid-column:2}.parent-attendance-groups section>div article{grid-template-columns:55px 1fr auto}}.attendance-history-item{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;border-bottom:1px solid #e2e7e4;background:transparent}.attendance-history-item.active{background:#fff;box-shadow:inset 4px 0 #2878ff}.attendance-history-select{min-width:0;width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px 6px 12px 12px;border:0;background:transparent;text-align:left;cursor:pointer}.attendance-history-select>span{height:38px;display:grid;place-items:center;border-radius:9px;background:#e5edf9;color:#2878ff;font-size:9px;font-weight:1000}.attendance-history-select>div{min-width:0;display:flex;flex-direction:column}.attendance-history-select strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.attendance-history-select small{margin-top:2px;color:#87928c;font-size:7px}.attendance-history-select em{padding:4px 6px;border-radius:5px;background:#e9eeeb;color:#748078;font-size:7px;font-style:normal}.attendance-history-select em.open{background:#d9f5df;color:#227747}.attendance-history-item>.compact-delete{margin-right:5px}.student-class-picker{display:flex;flex-direction:column;gap:2px;padding:4px 8px;border:2px solid #26352f;border-radius:9px;background:#fff}.student-class-picker small{color:#76827c;font-size:6px;font-weight:900}.student-class-picker select{max-width:150px;border:0;outline:0;background:transparent;color:#26352f;font-size:8px;font-weight:900}

/* r22 多班：单班学生也显示自己的班级名（只读，不可切换） */
.student-class-picker.is-single{padding:4px 8px}
.student-class-picker .student-class-static{max-width:180px;color:#26352f;font-size:8px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
