:root{--navy:#0b1730;--navy-2:#112342;--ink:#17243a;--muted:#6b7890;--paper:#f5f7fb;--white:#fff;--mint:#45dbaa;--mint-dark:#158a68;--blue:#5da9ff;--orange:#ffb155;--red:#d94f67;--line:#dfe6f0;--shadow:0 22px 55px rgba(20,39,73,.12);--radius:22px}
*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Atkinson Hyperlegible",system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}a{color:inherit}.boot,.fatal{min-height:100vh;display:grid;place-content:center;text-align:center;gap:16px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--mint),#6ee5ff);color:var(--navy);font:800 25px Manrope,sans-serif;box-shadow:0 9px 22px rgba(69,219,170,.28);transform:rotate(-4deg)}.brand-mark.huge{width:92px;height:92px;border-radius:28px;font-size:54px}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup b,.brand-button b{font:800 18px Manrope}.brand-lockup small,.brand-button small{display:block;color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.button{border:0;border-radius:13px;padding:12px 18px;font:700 14px Manrope;transition:.2s transform,.2s box-shadow,.2s background}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:wait}.button.primary{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(11,23,48,.18)}.button.primary:hover{background:#172f57}.button.soft{background:#e7fbf4;color:#087356}.button.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.button.wide{width:100%;display:flex;justify-content:center;gap:12px}.mini-button{background:#edf4ff;border:0;color:#315d93;border-radius:10px;padding:8px 12px;font-weight:700}.eyebrow{display:block;color:var(--mint-dark);font:800 11px Manrope;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.alert{padding:12px 14px;border-radius:12px;margin:12px 0}.alert.danger{background:#fff0f2;color:#a63146;border:1px solid #ffd1d8}.toast{position:fixed;right:24px;bottom:24px;z-index:200;background:var(--navy);color:#fff;padding:14px 18px;border-radius:13px;box-shadow:var(--shadow);transform:translateY(20px);opacity:0;transition:.25s}.toast.show{transform:none;opacity:1}.toast.error{background:#9f2f43}
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(340px,1.1fr) minmax(420px,.9fr);background:#fff}.login-visual{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 20%,#1c4272,transparent 35%),linear-gradient(145deg,#0b1730,#102847);display:grid;place-items:center;color:#fff}.login-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px}.login-art{position:relative;z-index:2}.login-art p{font:600 clamp(30px,4vw,58px)/1.12 Manrope;margin:28px 0}.login-art strong{color:var(--mint)}.orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb-a{width:350px;height:350px;background:rgba(69,219,170,.14);right:-100px;top:-60px}.orb-b{width:260px;height:260px;border:1px solid rgba(110,229,255,.2);left:-80px;bottom:-70px}.cell-silhouette{position:absolute;width:280px;height:210px;border:2px solid rgba(255,255,255,.12);border-radius:48% 52% 45% 55%;right:8%;bottom:8%;transform:rotate(-12deg)}.cell-silhouette:after{content:"";position:absolute;width:72px;height:72px;border-radius:50%;background:rgba(69,219,170,.14);border:1px solid rgba(69,219,170,.35);left:35%;top:32%}.cell-silhouette i{position:absolute;width:35px;height:15px;border:2px solid rgba(255,255,255,.14);border-radius:50%}.cell-silhouette i:nth-child(1){left:18%;top:25%}.cell-silhouette i:nth-child(2){right:18%;top:25%}.cell-silhouette i:nth-child(3){left:22%;bottom:20%}.cell-silhouette i:nth-child(4){right:15%;bottom:25%}.login-panel{display:grid;place-items:center;padding:44px}.login-card{width:min(430px,100%)}.login-card h1{font:800 clamp(32px,5vw,54px)/1.05 Manrope;margin:58px 0 10px;color:var(--navy)}.login-card>p{font-size:19px;color:var(--muted);margin-bottom:38px}.login-card label,.setup-card label,.panel form label{display:grid;gap:8px;margin:16px 0;font-weight:700}.login-card input,.setup-card input,.panel input,.panel select,.panel textarea,.json-review textarea{border:1.5px solid var(--line);border-radius:13px;padding:14px 15px;background:#fff;outline:0;transition:.2s}.login-card input:focus,.setup-card input:focus,.panel input:focus,.panel select:focus,.panel textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(93,169,255,.12)}.privacy{display:block;text-align:center;color:var(--muted);margin-top:20px}
.portal-shell{min-height:100vh;display:grid;grid-template:72px 1fr/230px 1fr}.topbar{grid-column:1/-1;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:40}.brand-button{display:flex;align-items:center;gap:11px;border:0;background:transparent;text-align:left}.top-actions{display:flex;align-items:center;gap:12px}.role-switch{border:1px solid var(--line);background:#fff;border-radius:12px;padding:7px 11px;text-align:left}.role-switch span{display:block;font-size:11px;color:var(--muted)}.role-switch b{font-size:12px;color:var(--mint-dark)}.role-badge{background:#eef3fb;padding:8px 12px;border-radius:999px;font-weight:700}.avatar{width:40px;height:40px;border:0;border-radius:50%;background:var(--navy);color:#fff;font-weight:800}.avatar.small{display:grid;place-items:center;width:36px;height:36px}.sidebar{background:var(--navy);color:#c6d0df;padding:28px 16px;display:flex;flex-direction:column;justify-content:space-between;position:sticky;top:72px;height:calc(100vh - 72px)}.sidebar nav{display:grid;gap:8px}.sidebar nav button{border:0;background:transparent;color:inherit;padding:13px 14px;text-align:left;border-radius:12px;font-weight:700}.sidebar nav button span{display:inline-grid;width:26px}.sidebar nav button:hover,.sidebar nav button.active{background:rgba(255,255,255,.09);color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 var(--mint)}.sidebar-foot{display:flex;gap:9px;align-items:center;padding:10px}.online-dot{width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px rgba(69,219,170,.1)}.main{padding:38px clamp(22px,4vw,62px) 80px;min-width:0}.hero{background:linear-gradient(120deg,var(--navy),#173b66);color:#fff;border-radius:28px;padding:40px 46px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative;min-height:230px}.hero h1,.page-head h1,.module-hero h1,.result-hero h1{font:800 clamp(34px,5vw,60px)/1.02 Manrope;margin:7px 0 14px}.hero p{max-width:620px;color:#cbd8e8;font-size:18px}.hero .eyebrow{color:var(--mint)}.hero-orbit{width:180px;height:180px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center;position:relative;margin-right:4%}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px solid rgba(69,219,170,.3);border-radius:50%;inset:22px}.hero-orbit:after{inset:52px;background:rgba(69,219,170,.13)}.hero-orbit i{position:absolute;width:18px;height:18px;background:var(--mint);border-radius:50%;top:8px;left:50%}.hero-orbit b{z-index:2}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:38px 0 18px}.section-head h2,.panel h2,.focus-panel h2{font:800 25px Manrope;margin:0}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.module-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-columns:160px 1fr;box-shadow:0 12px 35px rgba(21,45,80,.07)}.module-card:hover{border-color:color-mix(in srgb,var(--accent),#fff 40%);box-shadow:var(--shadow)}.module-graphic{min-height:330px;background:linear-gradient(160deg,var(--accent),color-mix(in srgb,var(--accent),#162644 75%));position:relative;overflow:hidden}.module-graphic:before{content:"";position:absolute;width:118px;height:150px;border-radius:46% 54% 50% 50%;border:2px solid rgba(255,255,255,.36);left:22px;top:65px}.module-graphic span{position:absolute;width:44px;height:44px;background:rgba(255,255,255,.2);border-radius:50%;left:59px;top:116px}.module-graphic i{position:absolute;width:25px;height:11px;border:2px solid rgba(255,255,255,.35);border-radius:50%;left:38px;top:190px}.module-graphic i:last-child{left:94px;top:91px}.module-graphic.flask:before{border-radius:8px 8px 50% 50%;clip-path:polygon(35% 0,65% 0,65% 36%,100% 100%,0 100%,35% 36%)}.module-copy{padding:28px}.module-copy>small{color:var(--mint-dark);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.module-copy h3{font:800 25px Manrope;margin:8px 0}.module-copy p{color:var(--muted);line-height:1.55;min-height:70px}.metrics{display:flex;gap:22px;font-size:13px;color:var(--muted)}.metrics b{color:var(--ink);font-size:16px}.mastery-track{height:7px;background:#edf1f6;border-radius:99px;margin:14px 0 22px;overflow:hidden}.mastery-track i{display:block;height:100%;background:var(--accent);border-radius:inherit}.card-actions{display:flex;gap:9px;flex-wrap:wrap}.focus-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:4px 26px 24px;margin-top:28px}.focus-panel .section-head p{color:var(--muted)}.recommendation-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.recommendation{border:1px solid var(--line);background:#fbfcfe;border-radius:15px;padding:13px;display:flex;align-items:center;gap:12px;text-align:left}.recommendation>span:nth-child(2){flex:1}.recommendation b,.recommendation small{display:block}.recommendation small{color:var(--muted);margin-top:3px}.ring{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--mint) calc(var(--p)*1%),#e8edf4 0);position:relative;font-weight:800;font-size:12px}.ring:before{content:"";position:absolute;inset:5px;background:#fff;border-radius:50%}.ring{isolation:isolate}.ring:after{content:attr(data-label)}.ring{color:var(--ink)}.ring>*{z-index:1}.ring{background-clip:padding-box}.ring::after{content:none}.ring{box-shadow:inset 0 0 0 5px rgba(255,255,255,.8)}.empty-state{background:#fff;border:1px dashed #bbc7d7;border-radius:18px;padding:34px;text-align:center;color:var(--muted)}
.page-head{margin:8px 0 30px;max-width:900px}.page-head h1{color:var(--navy);margin-bottom:12px}.page-head p{font-size:18px;color:var(--muted);line-height:1.55}.back-link{border:0;background:transparent;color:#47617f;font-weight:700;padding:6px 0;margin-bottom:18px}.module-hero{border-radius:28px;background:linear-gradient(125deg,var(--navy),color-mix(in srgb,var(--accent),#0b1730 75%));color:#fff;padding:45px;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.module-hero>div:first-child{max-width:690px}.module-hero p{font-size:18px;color:#d6e2ef;line-height:1.6}.hero-actions{display:flex;gap:12px;margin-top:24px}.module-hero .button.primary{background:var(--accent);color:var(--navy)}.cell-model{width:250px;height:200px;border:2px solid rgba(255,255,255,.25);border-radius:48% 52% 44% 56%;position:relative;transform:rotate(-8deg);margin-right:2%}.cell-model span{position:absolute;width:76px;height:76px;border-radius:50%;background:rgba(69,219,170,.2);border:2px solid rgba(69,219,170,.5);left:34%;top:31%}.cell-model i{position:absolute;width:38px;height:15px;border:2px solid rgba(255,255,255,.32);border-radius:50%}.cell-model i:nth-child(2){left:12%;top:25%}.cell-model i:nth-child(3){right:13%;top:20%}.cell-model i:nth-child(4){left:18%;bottom:18%}.cell-model em{position:absolute;width:20px;height:20px;border-radius:50%;background:var(--orange);right:18%;bottom:23%}.lesson-stack{display:grid;gap:13px;margin-top:28px}.lesson-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.lesson-toggle{width:100%;border:0;background:#fff;display:grid;grid-template-columns:48px 1fr 30px;gap:16px;align-items:center;padding:20px 24px;text-align:left}.lesson-toggle>span{font:800 14px Manrope;color:var(--mint-dark)}.lesson-toggle h3{font:800 20px Manrope;margin:2px 0}.lesson-toggle p{color:var(--muted);margin:4px 0}.lesson-toggle>i{font-size:26px;font-style:normal;transition:.2s}.lesson-card.open .lesson-toggle>i{transform:rotate(45deg)}.lesson-body{display:none;grid-template-columns:1fr minmax(300px,42%);gap:30px;padding:0 24px 26px}.lesson-card.open .lesson-body{display:grid}.lesson-copy{line-height:1.7}.lesson-copy h4{font:800 27px Manrope;margin:10px 0}.lesson-copy strong{color:#087356}.lesson-visual{margin:0;background:#f1f6fb;border-radius:18px;padding:18px;align-self:start}.lesson-visual img{width:100%;max-height:390px;object-fit:contain}.lesson-visual figcaption{text-align:center;color:var(--muted);font-size:13px;margin-top:10px}.memory-strip,.analogy-grid{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.memory-strip span,.analogy-grid span{background:#edf9f5;color:#086c53;border-radius:999px;padding:8px 11px;font-weight:700}.formula-card{display:flex;align-items:center;gap:10px;background:#eef4ff;border-radius:14px;padding:15px;margin:20px 0;flex-wrap:wrap}.formula-card span{background:#fff;padding:9px;border-radius:9px;font-weight:700}
.quiz-top{display:flex;justify-content:space-between;align-items:center}.quiz-top>div{display:flex;gap:12px;align-items:center}.mode-chip{padding:7px 11px;border-radius:999px;background:#e7fbf4;color:#087356;font:800 11px Manrope;text-transform:uppercase;letter-spacing:.08em}.mode-chip.test{background:#fff0dd;color:#9c5600}.score-live{display:flex;gap:20px;color:var(--muted)}.score-live b{color:var(--ink)}.progress-line{height:6px;background:#e4eaf2;border-radius:99px;overflow:hidden;margin:13px 0 32px}.progress-line i{display:block;height:100%;background:linear-gradient(90deg,var(--mint),var(--blue));border-radius:inherit}.question-shell{display:grid;grid-template-columns:220px minmax(0,780px);justify-content:center;gap:28px}.concept-rail{background:var(--navy);color:#fff;border-radius:20px;padding:24px;height:max-content;position:sticky;top:100px}.concept-rail>span{font-size:11px;color:var(--mint);text-transform:uppercase;letter-spacing:.1em}.concept-rail>b{display:block;font:800 19px Manrope;margin-top:7px}.concept-rail>small{color:#9eb0c6}.mini-visual{height:140px;margin:22px 0;border:1px solid rgba(255,255,255,.13);border-radius:50%;display:grid;place-items:center;font:800 56px Manrope;color:var(--mint);background:radial-gradient(circle,rgba(69,219,170,.12),transparent 65%)}.question-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:36px;box-shadow:0 15px 45px rgba(19,42,76,.07)}.question-number{color:var(--mint-dark);font:800 11px Manrope;text-transform:uppercase;letter-spacing:.12em}.question-card h1{font:800 clamp(24px,3.2vw,37px)/1.25 Manrope;margin:13px 0 28px}.option-list{display:grid;gap:11px}.option{border:1.5px solid var(--line);border-radius:15px;padding:15px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:.15s}.option:hover,.option.selected{border-color:var(--blue);background:#f2f7ff}.option input{position:absolute;opacity:0}.choice-key{width:22px;height:22px;border:2px solid #bac5d4;border-radius:50%}.option.selected .choice-key{border:6px solid var(--blue)}.quiz-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.question-card textarea{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:15px;outline:0;resize:vertical}.math-input{display:flex;align-items:center;justify-content:center;gap:12px;background:#f3f7fc;border-radius:18px;padding:25px;font:800 30px Manrope}.math-input input{width:200px;border:0;border-bottom:3px solid var(--blue);background:transparent;text-align:center;font:inherit;outline:0}.match-grid{display:grid;gap:10px}.match-grid label{display:grid;grid-template-columns:1fr 25px 1.4fr;gap:10px;align-items:center;background:#f7f9fc;border-radius:12px;padding:11px}.match-grid select{border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff}.drag-bank,.drop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.drag-bank{margin-bottom:14px}.drag-item{border:1px solid #b8c9de;background:#fff;border-radius:10px;padding:11px;font-weight:700}.drag-item.armed{outline:3px solid rgba(93,169,255,.25)}.drop-zone{min-height:120px;border:2px dashed #c7d2e0;background:#f7f9fc;border-radius:13px;padding:12px;display:flex;flex-direction:column;gap:8px}.drop-zone.over{border-color:var(--mint);background:#edfbf6}.drop-zone small{color:var(--muted)}.drop-zone .drag-item{width:100%;text-align:left}.hotspot-wrap{position:relative;background:#f3f7fb;border-radius:18px;overflow:hidden}.hotspot-wrap>img{display:block;width:100%;max-height:520px;object-fit:contain}.hotspot{position:absolute;transform:translate(-50%,-50%);width:calc(var(--r)*2);aspect-ratio:1;border:2px solid rgba(255,255,255,.9);background:rgba(93,169,255,.26);border-radius:50%;box-shadow:0 0 0 4px rgba(11,23,48,.22)}.hotspot:hover,.hotspot.selected{background:rgba(69,219,170,.55);box-shadow:0 0 0 6px rgba(69,219,170,.23)}.hotspot span{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:var(--navy);color:#fff;border-radius:7px;padding:5px 8px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none}.hotspot:hover span,.hotspot.selected span{opacity:1}.input-help{text-align:center;color:var(--muted)}.graph-input{display:grid;gap:10px}.graph-input label{display:grid;grid-template-columns:1fr 120px 1fr;align-items:center;gap:12px;background:#f7f9fc;padding:10px;border-radius:10px}.graph-input input{border:1px solid var(--line);padding:9px;border-radius:8px}.feedback{margin-top:25px;border-radius:16px;padding:17px;display:flex;gap:14px}.feedback>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-weight:800;flex:none}.feedback h3{font:800 18px Manrope;margin:0 0 5px}.feedback p{margin:5px 0;line-height:1.5}.feedback.correct{background:#e9fbf5;color:#0a6b51}.feedback.correct>span{background:var(--mint);color:var(--navy)}.feedback.retry{background:#fff4e6;color:#87500a}.feedback.retry>span{background:var(--orange);color:var(--navy)}.explanation{font-weight:700}.coach-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.coach-reply{background:#f1f5fb;border-left:4px solid var(--blue);padding:15px 17px;border-radius:0 12px 12px 0;margin-top:12px}.coach-reply>span{font:800 10px Manrope;text-transform:uppercase;letter-spacing:.08em;color:#446b9c}.coach-reply p{line-height:1.55}.variation{padding:11px;border-radius:9px;background:#fff}.next-button{margin-top:18px;float:right}.result-hero{background:linear-gradient(135deg,var(--navy),#174266);color:#fff;border-radius:28px;padding:45px}.result-hero .eyebrow{color:var(--mint)}.result-hero>p{font-size:18px;max-width:720px;color:#cfddeb}.result-score{display:flex;align-items:center;gap:24px}.result-score>b{font:800 76px Manrope;color:var(--mint)}.result-score>span{font:700 20px Manrope}.result-score small{display:block;font-size:11px;text-transform:uppercase;color:#9eb1ca}.results-panel{background:#fff;border-radius:20px;border:1px solid var(--line);padding:28px;margin-top:22px}.concept-result{display:grid;grid-template-columns:1fr auto;gap:5px 20px;padding:14px 0;border-bottom:1px solid var(--line)}.concept-result small{display:block;color:var(--muted);margin-top:4px}.concept-result>span{font-weight:800}.concept-result>i{grid-column:1/-1;height:6px;background:#edf1f6;border-radius:99px}.concept-result>i em{display:block;height:100%;background:var(--mint);border-radius:99px}
.admin-hero{min-height:200px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.stat-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.stat-grid span{display:block;color:var(--muted);font-size:13px}.stat-grid b{font:800 31px Manrope}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.panel.wide{grid-column:1/-1}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:12px;text-transform:uppercase}td b,td small{display:block}td small{color:var(--muted);margin-top:3px}.status{display:inline-block;padding:5px 8px;border-radius:999px;font:800 10px Manrope;letter-spacing:.06em}.status.published,.status.review{background:#e7fbf4;color:#087356}.status.draft,.status.uploaded{background:#eef3fa;color:#50637e}.status.processing{background:#fff4e3;color:#9a5a08}.status.failed{background:#fff0f2;color:#a63146}.student-list{display:grid;gap:10px}.student-card{display:flex;gap:12px;align-items:center;background:#f8fafc;padding:12px;border-radius:13px}.student-card>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#dff8ef;color:#087356;font-weight:800}.student-card b,.student-card small{display:block}.student-card small{color:var(--muted)}.result-list{display:grid}.result-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--line)}.result-row em{font-style:normal;font-weight:800;color:var(--mint-dark)}.result-row small{grid-column:1/-1;color:var(--muted)}.assignment-panel{max-width:700px}.assignment-row{display:grid;grid-template-columns:40px 1fr 46px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.assignment-row span:nth-child(2) small{display:block;color:var(--muted)}.assignment-row input{display:none}.assignment-row em{height:26px;border-radius:99px;background:#d7dee8;position:relative}.assignment-row em:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.2)}.assignment-row input:checked+em{background:var(--mint)}.assignment-row input:checked+em:after{left:23px}.studio-grid{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);gap:20px}.upload-card{background:linear-gradient(145deg,var(--navy),#15365e);color:#fff;border-radius:23px;padding:28px}.upload-card>p{color:#c3d0e0}.upload-illustration{width:90px;height:90px;border-radius:27px;background:rgba(69,219,170,.15);border:1px solid rgba(69,219,170,.32);display:grid;place-items:center;color:var(--mint);font-size:40px;position:relative}.file-drop{display:grid;place-items:center;border:2px dashed rgba(255,255,255,.25);border-radius:14px;padding:20px;margin:23px 0;text-align:center}.file-drop input{width:100%;color:#cbd8e8}.file-drop span{font-weight:800;margin-top:8px}.file-drop small{color:#9fb1c9}.ai-note{display:flex;gap:12px;align-items:start;background:rgba(255,255,255,.08);padding:13px;border-radius:12px;margin-top:18px}.ai-note span{color:var(--mint);font-size:20px}.ai-note p{margin:0;color:#cbd8e8}.import-list{display:grid}.import-row{display:grid;grid-template-columns:48px 1fr auto 20px;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--line);background:#fff;padding:14px 0;text-align:left}.import-row b,.import-row small{display:block}.import-row small{color:var(--muted)}.file-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;background:#fff0f2;color:#a63146;font:800 10px Manrope}.review-warning{display:flex;gap:18px;background:#fff4e3;border:1px solid #ffd99f;border-radius:14px;padding:16px;margin:0 0 18px}.review-warning b{color:#8c5207}.json-review textarea{width:100%;min-height:520px;font:13px/1.5 ui-monospace,Consolas,monospace}.visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.visual-guidance{background:linear-gradient(145deg,var(--navy),#183d67);color:#fff;border-radius:22px;padding:30px}.visual-guidance li{margin:12px 0;color:#d0ddec}.mini-cell{width:150px;height:120px;border:2px solid rgba(255,255,255,.25);border-radius:50%;position:relative}.mini-cell:after{content:"";position:absolute;width:42px;height:42px;border-radius:50%;background:var(--mint);opacity:.45;left:51px;top:36px}.mini-cell i{position:absolute;width:20px;height:9px;border:2px solid rgba(255,255,255,.3);border-radius:50%}.mini-cell i:nth-child(1){left:25px;top:25px}.mini-cell i:nth-child(2){right:23px;top:34px}.mini-cell i:nth-child(3){left:30px;bottom:22px}.progress-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.progress-card{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px}.progress-card h3{font:800 22px Manrope;margin:5px 0}.progress-card p,.progress-card small{color:var(--muted)}.progress-dial{width:110px;height:110px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,#fff 57%,transparent 58%),conic-gradient(var(--mint) calc(var(--p)*1%),#e7edf4 0)}.progress-dial b{font:800 21px Manrope}.progress-dial small{font-size:10px}.setup-page{min-height:100vh;background:linear-gradient(145deg,#0b1730,#183c66);padding:50px 20px}.setup-card{max-width:760px;margin:auto;background:#fff;border-radius:24px;padding:36px;box-shadow:var(--shadow)}.setup-card h1{font:800 40px Manrope}.setup-card h2{font:800 22px Manrope}.setup-card .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.setup-card .check{display:flex;align-items:center;grid-template-columns:auto 1fr}.setup-card hr{border:0;border-top:1px solid var(--line);margin:27px 0}.setup-card small{color:var(--muted)}.loading-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.loading-grid i{height:180px;border-radius:18px;background:linear-gradient(90deg,#e9eef5,#f8fafc,#e9eef5);background-size:200% 100%;animation:shine 1.2s infinite}@keyframes shine{to{background-position:-200% 0}}
@media(max-width:1050px){.module-grid{grid-template-columns:1fr}.recommendation-list{grid-template-columns:1fr 1fr}.question-shell{grid-template-columns:170px minmax(0,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:28px;min-height:100vh}.portal-shell{display:block}.topbar{height:66px;padding:0 16px}.sidebar{position:fixed;z-index:50;left:0;right:0;bottom:0;top:auto;height:64px;padding:7px;background:rgba(11,23,48,.97)}.sidebar nav{display:flex;justify-content:space-around}.sidebar nav button{padding:9px 12px;font-size:12px}.sidebar-foot{display:none}.main{padding:22px 15px 88px}.hero{padding:28px;min-height:0}.hero-orbit,.cell-model{display:none}.hero h1{font-size:38px}.module-card{grid-template-columns:1fr}.module-graphic{min-height:130px}.module-graphic:before{top:12px;left:calc(50% - 55px);height:110px}.module-graphic span{top:46px;left:calc(50% - 20px)}.module-graphic i{display:none}.module-copy p{min-height:0}.recommendation-list,.admin-grid,.studio-grid,.visual-grid,.progress-grid{grid-template-columns:1fr}.admin-grid .wide{grid-column:auto}.lesson-body{grid-template-columns:1fr}.module-hero{padding:28px}.question-shell{grid-template-columns:1fr}.concept-rail{position:static;display:flex;align-items:center;gap:10px;padding:13px}.concept-rail .mini-visual{width:45px;height:45px;margin:0 0 0 auto;font-size:20px}.concept-rail>small{display:none}.question-card{padding:22px}.drag-bank,.drop-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.table-wrap{margin:0 -12px}.setup-card .form-grid{grid-template-columns:1fr}.role-switch span{display:none}.lesson-toggle{grid-template-columns:38px 1fr 24px;padding:16px}.lesson-toggle p{display:none}.graph-input label{grid-template-columns:1fr 90px}.progress-dial{width:90px;height:90px}.toast{left:15px;right:15px;bottom:80px}.quiz-top{align-items:start}.score-live{display:grid;gap:2px}.result-score>b{font-size:56px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.label-figure{margin:0 0 18px;background:#f2f7fb;border-radius:16px;padding:12px}.label-figure img{display:block;width:100%;max-height:360px;object-fit:contain}
.studio-head{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:24px}.studio-head>div{max-width:850px}
.section-head.compact{padding:0;margin:0 0 16px}.student-card>div{flex:1}.invite-admin-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:20px}.invite-student-list{display:grid;gap:10px}.invite-student{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#f9fbfd}.student-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#dff8ef;color:#087356;font:800 18px Manrope}.invite-student b,.invite-student small,.invite-student em{display:block}.invite-student small{color:var(--muted);margin-top:3px}.invite-student em{color:#9a5a08;font-size:12px;font-style:normal;margin-top:4px}.invite-result{margin-top:20px;padding:28px;border-radius:20px;background:linear-gradient(135deg,#e7fbf4,#edf5ff);border:1px solid #bfead9}.invite-result h2{font:800 27px Manrope;margin:6px 0}.invite-result>p,.invite-result>small{color:var(--muted)}.copy-link{display:grid;grid-template-columns:1fr auto;gap:10px;margin:18px 0}.copy-link input{min-width:0;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.invite-page{min-height:100vh;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(440px,1.1fr);background:#fff}.invite-art{position:relative;overflow:hidden;display:grid;place-content:center;background:radial-gradient(circle at 20% 20%,#1d497b,transparent 38%),linear-gradient(145deg,#0b1730,#12345a);color:#fff;padding:50px}.invite-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:34px 34px}.invite-art>p{position:relative;font:700 clamp(30px,4vw,58px)/1.12 Manrope}.invite-art strong{color:var(--mint)}.invite-orbit{position:relative;width:260px;height:220px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%}.invite-orbit i{position:absolute;width:22px;height:22px;background:var(--blue);border-radius:50%}.invite-orbit i:nth-child(2){left:12%;top:18%}.invite-orbit i:nth-child(3){right:8%;top:45%;background:var(--orange)}.invite-orbit i:nth-child(4){left:30%;bottom:7%;background:var(--mint)}.invite-panel{display:grid;place-items:center;padding:40px}.invite-card{width:min(520px,100%)}.invite-card .brand-lockup{margin-bottom:55px}.invite-card h1{font:800 clamp(34px,5vw,54px)/1.08 Manrope;color:var(--navy);margin:8px 0 14px}.invite-card>p{color:var(--muted);font-size:18px;line-height:1.55}.invite-card form{margin-top:30px}.invite-card label{display:grid;gap:8px;margin:16px 0;font-weight:700}.invite-card input{border:1.5px solid var(--line);border-radius:13px;padding:14px 15px;outline:0}.invite-card input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(93,169,255,.12)}.input-note{display:block;color:var(--muted);margin:-5px 0 18px}.invite-card a.button{text-decoration:none;align-items:center;margin-top:24px}
@media(max-width:760px){.invite-admin-grid,.invite-page{grid-template-columns:1fr}.invite-art{display:none}.invite-panel{padding:28px;min-height:100vh}.invite-card .brand-lockup{margin-bottom:40px}.invite-student{grid-template-columns:42px 1fr}.invite-student .button{grid-column:1/-1}.copy-link{grid-template-columns:1fr}.copy-link .button{width:100%}}
.learning-visual-slot:empty{display:none}.feedback-visual{margin-top:18px;border:1px solid #cddceb;border-radius:18px;overflow:hidden;background:#f8fbff;box-shadow:0 12px 30px rgba(17,35,66,.07)}.feedback-visual.hint{border-color:#ffd697;background:#fffaf2}.feedback-visual.correct{border-color:#bcebdc;background:#f5fffb}.feedback-visual.retry{border-color:#ffd5a3;background:#fffaf4}.visual-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 17px;border-bottom:1px solid rgba(99,124,155,.15)}.visual-head>div span,.visual-head>div b{display:block}.visual-head>div span{color:var(--mint-dark);font:800 10px Manrope;text-transform:uppercase;letter-spacing:.12em}.feedback-visual.hint .visual-head>div span,.feedback-visual.retry .visual-head>div span{color:#a25b00}.visual-head>div b{font:800 18px Manrope;margin-top:3px}.replay-visual{border:1px solid var(--line);border-radius:999px;background:#fff;color:#49627f;padding:7px 11px;font:700 12px Manrope}.visual-teaching{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:14px;padding:14px}.feedback-concept-image{min-height:210px;margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;display:grid;grid-template-rows:1fr auto;overflow:hidden}.feedback-concept-image img{width:100%;height:200px;object-fit:contain;padding:10px}.feedback-concept-image figcaption{padding:9px 12px;background:#f1f5fa;color:var(--muted);font-size:12px;text-align:center}.visual-stage{min-height:230px;border-radius:14px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#fff 0,#eff6fd 68%,#e6eef8 100%);position:relative}.feedback-visual>p{margin:0;padding:0 18px 17px;line-height:1.55;font-weight:700;color:#41536b}.concept-animation{position:absolute;inset:0}.scene-label{position:absolute;font:800 10px Manrope;text-transform:uppercase;letter-spacing:.08em;color:#49617d;max-width:105px}.scene-label.left{left:14px;top:16px}.scene-label.right{right:12px;bottom:14px;text-align:right}.golgi-animation .er-tube{position:absolute;left:13%;top:43%;width:25%;height:28%;border:7px double #6ca8d9;border-radius:45% 35% 50% 38%;transform:rotate(-8deg)}.golgi-stack{position:absolute;right:19%;top:31%;width:32%;height:40%}.golgi-stack b{display:block;height:20%;margin:5% 0;border:7px solid #e69a45;border-top:0;border-left-color:transparent;border-radius:0 0 50% 50%;transform:rotate(-7deg)}.cargo-dot{position:absolute;z-index:2;width:18px;height:18px;border-radius:50%;background:var(--mint);left:34%;top:50%;box-shadow:0 0 0 6px rgba(69,219,170,.2)}.replay .cargo-dot{animation:cargoTravel 2.5s ease-in-out both}.protein-box{position:absolute;right:9%;top:47%;padding:6px 8px;border-radius:5px;background:#ffcb73;color:#6d4306;font:800 10px Manrope;opacity:0}.replay .protein-box{animation:packageAppear 2.5s ease both}.er-animation .er-road{position:absolute;left:12%;right:12%;top:43%;height:55px;border:6px double #5da9ff;border-radius:50%}.er-road i{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--orange);top:16px}.er-road i:nth-child(1){left:20%}.er-road i:nth-child(2){left:52%}.er-road i:nth-child(3){left:78%}.moving-protein{position:absolute;left:10%;top:48%;z-index:2;padding:5px 7px;border-radius:6px;background:var(--mint);font:800 10px Manrope}.replay .moving-protein{animation:proteinTransport 2.6s ease-in-out both}.energy-animation .mitochondrion{position:absolute;width:52%;height:48%;left:20%;top:25%;border:5px solid #e26d62;border-radius:48% 52% 45% 55%;background:#ffddd5;transform:rotate(-8deg)}.mitochondrion i{position:absolute;width:55%;height:22%;border:4px solid #e26d62;border-left:0;border-right:0;border-radius:50%;left:20%}.mitochondrion i:nth-child(1){top:15%}.mitochondrion i:nth-child(2){top:40%}.mitochondrion i:nth-child(3){top:65%}.replay .mitochondrion{animation:organellePulse 2.4s ease both}.atp{position:absolute;padding:5px;border-radius:50%;background:#ffe067;color:#604c00;font:800 10px Manrope;opacity:0}.atp.a{right:19%;top:19%}.atp.b{right:8%;top:48%}.atp.c{right:22%;bottom:12%}.replay .atp{animation:atpSpark 2.4s ease both}.replay .atp.b{animation-delay:.25s}.replay .atp.c{animation-delay:.5s}.energy-arrow{position:absolute;left:12%;bottom:8%;color:#5f6e83;font:700 11px Manrope}.plant-animation .plant-cell{position:absolute;left:21%;top:12%;width:58%;height:68%;border:8px solid #4f9b59;border-radius:15px;background:#e6f5d9;box-shadow:inset 0 0 0 4px #a9d8a2}.vacuole{position:absolute;left:20%;top:18%;width:60%;height:64%;display:grid;place-items:center;border-radius:45%;background:#bde9f1;color:#347585;font:800 10px Manrope}.replay .vacuole{animation:vacuoleFill 2.5s ease both}.plant-cell i{position:absolute;width:20px;height:11px;border-radius:50%;background:#2d9b57}.plant-cell i:nth-of-type(1){left:8%;top:14%}.plant-cell i:nth-of-type(2){right:8%;top:25%}.plant-cell i:nth-of-type(3){left:10%;bottom:12%}.plant-key{position:absolute;left:8%;right:8%;bottom:5%;display:flex;justify-content:space-between}.plant-key b{font-size:10px;color:#376243}.microscope-animation .scope{position:absolute;left:23%;top:12%;width:48%;height:72%}.scope i{position:absolute;display:block;background:#44617f}.scope .ocular{width:22%;height:11%;left:29%;border-radius:7px;transform:rotate(15deg)}.scope .arm{width:17%;height:55%;left:46%;top:11%;border-radius:50%;transform:rotate(-18deg)}.scope .stage{width:60%;height:7%;left:17%;top:49%;border-radius:5px}.scope .focus-knob{width:22%;aspect-ratio:1;border-radius:50%;left:55%;top:27%;background:var(--orange)}.scope .base{width:85%;height:12%;left:4%;bottom:1%;border-radius:50% 50% 9px 9px}.replay .focus-knob{animation:knobTurn 1.8s ease both}.focus-wave{position:absolute;right:5%;top:25%;display:grid;gap:9px;color:#5a6c83;font:700 9px Manrope}.focus-wave b{width:65px;height:65px;border-radius:50%;border:3px solid var(--blue)}.replay .focus-wave b{animation:focusRing 2.2s ease both}.magnification-animation{display:grid;grid-template-columns:auto auto auto auto auto;align-content:center;justify-content:center;gap:10px}.magnification-animation span{padding:13px;border:2px solid #91b9e3;border-radius:12px;background:#fff;color:#24496e;font:800 17px Manrope}.magnification-animation b{align-self:center;font:800 22px Manrope}.magnification-animation small{grid-column:1/-1;text-align:center;color:var(--muted);margin-top:12px}.replay .magnification-animation span{animation:equationPulse 2.2s ease both}.replay .magnification-animation .total-mag{animation-delay:.65s;background:#dff8ef;border-color:var(--mint)}.life-core{position:absolute;left:calc(50% - 42px);top:calc(50% - 42px);width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--mint);font:800 17px Manrope}.life-animation>span{position:absolute;left:calc(50% - 35px);top:calc(50% - 13px);width:70px;text-align:center;padding:6px;border-radius:999px;background:#fff;border:1px solid #b9d3ec;color:#345574;font:700 10px Manrope;transform:rotate(calc(var(--i)*60deg)) translateX(83px) rotate(calc(var(--i)*-60deg));opacity:0}.replay .life-animation>span{animation:lifeOrbit 2.6s ease forwards;animation-delay:calc(var(--i)*.12s)}.graph-axis{position:absolute;left:19%;right:13%;top:15%;bottom:25%;border-left:4px solid #46617f;border-bottom:4px solid #46617f;display:flex;align-items:end;gap:10%;padding:0 9%}.graph-axis i{display:block;width:20%;height:var(--h);background:linear-gradient(var(--mint),#57a9de);border-radius:5px 5px 0 0;transform-origin:bottom}.replay .graph-axis i{animation:barGrow 1.8s ease both}.graph-axis b{position:absolute;width:80%;height:3px;left:9%;bottom:15%;background:var(--orange);transform:rotate(-22deg);transform-origin:left}.replay .graph-axis b{animation:lineDraw 2.3s ease both}.axis-x{position:absolute;left:30%;bottom:9%;font:700 10px Manrope;color:#566a82}.axis-y{position:absolute;left:2%;top:45%;transform:rotate(-90deg);font:700 10px Manrope;color:#566a82}.experiment-animation{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px}.variable-card{width:28%;padding:12px;border:1px solid #b9cee4;border-radius:11px;background:#fff;text-align:center}.variable-card b,.variable-card span{display:block}.variable-card b{font:800 11px Manrope;color:#285c88}.variable-card span{font-size:10px;color:var(--muted);margin-top:5px}.beaker-pair{display:flex;gap:5px}.beaker-pair b{width:28px;height:48px;border:3px solid #58789b;border-top:0;border-radius:0 0 9px 9px;background:linear-gradient(transparent 40%,#8cddc2 41%)}.beaker-pair b:last-child{background:linear-gradient(transparent 25%,#ffba67 26%)}.replay .beaker-pair b{animation:beakerBubble 2s ease both}.observation-animation{display:flex;align-items:center;justify-content:center;gap:9px;padding:18px;font-size:11px;color:#4d6179}.observe-eye{width:58px;height:36px;border:3px solid #52769c;border-radius:50% 10%;transform:rotate(45deg);display:grid;place-items:center}.observe-eye i{width:15px;height:15px;border-radius:50%;background:var(--blue)}.observe-eye+span{max-width:75px}.brain-clue,.inference-chip{padding:10px;border-radius:10px;background:#fff;border:1px solid var(--line);font-weight:700;text-align:center}.inference-chip{background:#dff8ef;border-color:#a7dfcd}.replay .inference-chip{animation:equationPulse 2.2s ease both;animation-delay:.5s}.connection-animation{display:flex;align-items:center;justify-content:center;gap:12px}.connection-animation span{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#fff;border:2px solid #9bbce0;color:#345b83;font:800 10px Manrope}.connection-animation i{width:35px;height:4px;background:var(--mint);transform-origin:left}.replay .connection-animation span{animation:connectionPop 2.2s ease both}.replay .connection-animation i{animation:lineDraw 2.2s ease both}
@keyframes cargoTravel{0%{left:34%;top:50%}55%{left:60%;top:42%}100%{left:78%;top:51%;opacity:0}}@keyframes packageAppear{0%,63%{opacity:0;transform:scale(.6)}78%,100%{opacity:1;transform:scale(1)}}@keyframes proteinTransport{0%{left:10%;transform:rotate(-8deg)}100%{left:76%;transform:rotate(8deg)}}@keyframes organellePulse{0%,100%{transform:rotate(-8deg) scale(1)}50%{transform:rotate(-8deg) scale(1.08);box-shadow:0 0 0 14px rgba(255,177,85,.14)}}@keyframes atpSpark{0%,25%{opacity:0;transform:translate(-25px,15px) scale(.5)}55%,100%{opacity:1;transform:none}}@keyframes vacuoleFill{0%{transform:scale(.72);opacity:.45}70%,100%{transform:scale(1);opacity:1;box-shadow:0 0 0 7px rgba(91,174,197,.14)}}@keyframes knobTurn{0%{transform:rotate(0)}100%{transform:rotate(300deg)}}@keyframes focusRing{0%{transform:scale(1.35);opacity:.25}70%,100%{transform:scale(.72);opacity:1;border-color:var(--mint)}}@keyframes equationPulse{0%{transform:scale(.8);opacity:.35}55%,100%{transform:scale(1);opacity:1;box-shadow:0 8px 18px rgba(57,102,145,.12)}}@keyframes lifeOrbit{0%{opacity:0;transform:rotate(calc(var(--i)*60deg)) translateX(25px) rotate(calc(var(--i)*-60deg))}100%{opacity:1;transform:rotate(calc(var(--i)*60deg)) translateX(83px) rotate(calc(var(--i)*-60deg))}}@keyframes barGrow{0%{transform:scaleY(0)}100%{transform:scaleY(1)}}@keyframes lineDraw{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}@keyframes beakerBubble{0%{filter:saturate(.4);transform:translateY(5px)}60%,100%{filter:saturate(1.2);transform:none;box-shadow:inset 0 -8px 8px rgba(255,255,255,.35)}}@keyframes connectionPop{0%{transform:scale(.7);opacity:.2}55%,100%{transform:scale(1);opacity:1}}
@media(max-width:760px){.visual-teaching{grid-template-columns:1fr}.feedback-concept-image img{height:170px}.visual-stage{min-height:210px}.visual-head{align-items:start}.experiment-animation{gap:6px}.variable-card{width:32%;padding:8px}.magnification-animation{gap:5px}.magnification-animation span{padding:9px;font-size:13px}.observation-animation{gap:5px}.brain-clue,.inference-chip{padding:7px}.feedback-visual>p{padding:0 14px 14px}}
.cell-animation .cell-body{position:absolute;left:18%;top:12%;width:64%;height:70%;border:5px solid #4f7fa7;border-radius:48% 52% 44% 56%;background:#dff2f6}.cell-nucleus{position:absolute;left:36%;top:29%;width:30%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#88a8e0;color:#fff;font:800 10px Manrope}.cell-body i{position:absolute;padding:5px 7px;border-radius:999px;font:700 9px Manrope;font-style:normal}.cell-mito{left:8%;top:20%;background:#ffc3a6;color:#824525}.cell-ribosome{right:5%;top:18%;background:#ffe38d;color:#705b12}.cell-membrane{right:3%;bottom:11%;background:#c1eadb;color:#28705a}.cell-key{position:absolute;left:0;right:0;bottom:5%;text-align:center;color:#486079;font:800 11px Manrope}.replay .cell-body{animation:organellePulse 2.4s ease both}.replay .cell-body i{animation:connectionPop 2.2s ease both}
.private-test-card{border-color:#cfc7ff;box-shadow:0 14px 34px rgba(92,74,180,.1)}.private-test-note{display:inline-flex;width:max-content;margin:3px 0 14px;padding:6px 10px;border-radius:999px;background:#eeeaff;color:#5c49a6;font:800 11px Manrope;text-transform:uppercase;letter-spacing:.06em}.student-worksheet-head{max-width:850px}.student-worksheet-grid{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);gap:20px}.student-upload-card{align-self:start}.student-upload-card>form{display:grid;gap:15px}.student-upload-card>form>label:first-child{display:grid;gap:8px;font-weight:800}.student-upload-card select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px}.privacy-note{display:grid;gap:4px;margin-top:17px;padding:14px;border-radius:14px;background:#eeeaff;color:#5b4c91}.privacy-note b{font:800 13px Manrope}.privacy-note span{font-size:12px;line-height:1.45}.student-upload-list{display:grid;gap:10px}.student-upload-row{display:grid;grid-template-columns:50px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#f9fbfd}.student-upload-row b,.student-upload-row small,.student-upload-row em{display:block}.student-upload-row small{margin-top:3px;color:var(--muted)}.student-upload-row em{margin-top:4px;color:#9b4b42;font-size:11px;font-style:normal}.student-test-ready{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:20px;padding:24px;border:1px solid #aee3d1;border-radius:20px;background:linear-gradient(135deg,#edfff8,#f3f0ff);box-shadow:var(--shadow)}.student-test-ready>span{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:#07392b;font:900 24px Manrope}.student-test-ready small{font:800 11px Manrope;color:#087356;text-transform:uppercase;letter-spacing:.08em}.student-test-ready h2{margin:4px 0;font:800 21px Manrope}.student-test-ready p{margin:0;color:var(--muted)}
@media(max-width:900px){.student-worksheet-grid{grid-template-columns:1fr}.student-upload-row{grid-template-columns:50px 1fr auto}.student-upload-row .button{grid-column:1/-1}}
.source-download{display:inline-flex;width:max-content;margin-top:14px;text-decoration:none}.page-head .source-download{color:var(--navy)}
@media(max-width:760px){.student-test-ready{grid-template-columns:48px 1fr}.student-test-ready>span{width:48px;height:48px}.student-test-ready .button{grid-column:1/-1}.sidebar nav button{padding-inline:7px}}
