:root{--ink:#16243b;--muted:#68758a;--primary:#6558e8;--primary-dark:#4b3fc8;--accent:#21b79b;--surface:#f5f7fb;--line:#e6eaf2;--white:#fff;--shadow:0 18px 55px rgba(41,52,90,.12)}
.live-class-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.learning-program-cards{margin-bottom:20px}.learning-program-cards .panel{background:linear-gradient(145deg,#fff,#f7f6ff)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8b96a5;outline-offset:2px}.focus-options button{width:100%;border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.action-required{margin-bottom:22px}.report-export-tools{margin-bottom:20px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.live-class-head,.student-live-shell>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.live-class-head h2,.student-live-shell h2{margin:0;font:800 28px "Segoe UI",Arial,sans-serif}.live-class-head p{color:var(--muted)}.live-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.live-student-card header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:15px}.live-student-card header>div:first-child{display:grid;grid-template-columns:auto 1fr;gap:2px 8px}.live-student-card header small{grid-column:2;color:var(--muted)}.live-dot{color:#14a47f;font-size:18px}.live-timer{font:800 27px/1 "Segoe UI",Arial,sans-serif;color:var(--primary);background:#efedff;border-radius:12px;padding:11px 14px;min-width:92px;text-align:center}.live-timer.large{font-size:38px;padding:15px 22px}.live-timer.last-ten{background:#fff0e7;color:#c64f1d}.last-ten-reminder{display:none;align-items:center;margin:14px 0;padding:12px 14px;border-radius:12px;background:#fff0e7;color:#a84219;font-weight:800}.live-question-card{margin-top:15px}.live-question-card h3{margin:4px 0}.live-question-card>span{color:var(--muted);font-size:13px}.live-question-card>p:not(.eyebrow){padding:13px;border-radius:11px;background:#f7f8fc}.live-student-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:15px;color:var(--muted)}.live-empty,.live-empty-state{text-align:center;padding:28px;color:var(--muted)}.live-empty-state span{font-size:34px;color:#b8bfd0}.student-live-shell{max-width:900px;margin:auto}@media(max-width:850px){.live-student-grid{grid-template-columns:1fr}.live-class-head,.student-live-shell>header{align-items:flex-start;flex-direction:column}}
.logo-mark{width:50px!important;height:48px!important;gap:1px!important;position:relative;overflow:visible;border:2px solid #ffffff55;background:linear-gradient(145deg,#6558e8 5%,#8f72f6 55%,#35c8b0 100%)!important;box-shadow:0 8px 22px rgba(73,59,190,.32),inset 0 1px 0 #ffffff66!important;transform:rotate(-2deg)}.logo-mark:after{content:'✦';position:absolute;right:-6px;top:-8px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#ffd45c;color:#7a4b00;font-size:9px;box-shadow:0 3px 8px #4b3fc855}.logo-mark b{font:800 25px/1 Georgia,serif;color:white;text-shadow:0 2px 0 #4b3fc8}.logo-mark i{font:900 17px/1 Consolas,monospace;font-style:normal;letter-spacing:-2px;color:#ffe274;text-shadow:0 1px 0 #8f5c00}.logo:hover .logo-mark{transform:rotate(2deg) scale(1.04)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--surface)}button,input{font:inherit}button,a{transition:.2s ease}a{text-decoration:none;color:inherit}.site-page{min-height:100vh;background:linear-gradient(180deg,#fbfbff 0,#f4f7fb 100%)}.site-header{max-width:1180px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between}.site-header nav{display:flex;gap:30px;color:var(--muted);font-weight:600}.logo{display:flex;align-items:center;gap:10px;font:800 21px "Segoe UI",Arial,sans-serif;color:var(--ink)}.logo-light{color:white}.logo-mark{width:45px;height:45px;display:flex;align-items:center;justify-content:center;gap:0;border-radius:14px;background:linear-gradient(135deg,var(--primary),#8a7dff);color:white;box-shadow:0 8px 24px rgba(101,88,232,.3)}.button{border:0;border-radius:14px;background:var(--primary);color:white;padding:14px 20px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 10px 24px rgba(101,88,232,.24)}.button:hover{background:var(--primary-dark);transform:translateY(-1px)}.button-small{padding:11px 17px}.button-secondary{background:white;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.button-secondary:hover{background:#f7f7ff}.hero{max-width:1180px;margin:48px auto 90px;padding:40px 28px;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.pill,.role-chip,.score{display:inline-flex;align-items:center;gap:7px;background:#ebe9ff;color:var(--primary-dark);padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700}.hero h1{font:800 clamp(42px,5vw,68px)/1.06 "Segoe UI",Arial,sans-serif;letter-spacing:-2.5px;margin:22px 0}.hero h1 span{color:var(--primary)}.hero-copy>p{font-size:19px;line-height:1.7;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;margin:30px 0}.trust-row{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:14px}.trust-row svg{color:var(--accent)}.hero-card{background:white;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow);transform:rotate(1deg)}.mini-head{display:flex;justify-content:space-between;align-items:center;font-weight:700}.math-question{text-align:center;font:800 40px "Segoe UI",Arial,sans-serif;padding:48px 0 34px}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.answer-grid button,.challenge-options button{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfe;font-weight:700;color:var(--ink);cursor:pointer}.answer-grid .correct{background:#e8faf5;border-color:#93dfcf;color:#147a68}.progress-line,.mini-progress{height:7px;background:#edf0f5;border-radius:99px;overflow:hidden;margin-top:24px}.progress-line span,.mini-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#8f85ff);border-radius:inherit}.hero-card>p{color:var(--muted);font-size:13px}.feature-section{max-width:1180px;margin:auto;padding:40px 28px 100px}.section-title{text-align:center;margin-bottom:40px}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;color:var(--primary);font-size:12px;font-weight:800;margin:0 0 8px}.section-title h2,.panel-title h2{font:800 30px "Segoe UI",Arial,sans-serif;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-grid article{background:white;padding:28px;border:1px solid var(--line);border-radius:20px}.feature-grid svg{color:var(--primary);width:30px;height:30px}.feature-grid h3{font:700 20px "Segoe UI",Arial,sans-serif}.feature-grid p{color:var(--muted);line-height:1.6}footer{text-align:center;padding:25px;color:var(--muted);border-top:1px solid var(--line)}
.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-visual{background:radial-gradient(circle at top right,#8b7dff 0,transparent 35%),linear-gradient(145deg,#31276f,#6558e8);padding:42px 60px;color:white;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-visual h1{font:800 clamp(38px,4vw,60px)/1.12 "Segoe UI",Arial,sans-serif;margin:18px 0}.login-visual p{font-size:18px;line-height:1.7;color:#e6e1ff;max-width:570px}.light-text{color:#dcd7ff}.formula-cloud{font:700 35px "Segoe UI",Arial,sans-serif;word-spacing:18px;opacity:.65;transform:rotate(-4deg)}.login-panel{padding:38px 70px;display:flex;flex-direction:column}.back-link{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-weight:600}.login-form{width:100%;max-width:460px;margin:auto}.login-form h2{font:800 34px "Segoe UI",Arial,sans-serif;margin:18px 0 8px}.login-form>p{color:var(--muted)}.login-form label{display:block;font-weight:700;font-size:14px;margin-top:20px}.login-form input{width:100%;padding:14px 15px;border:1px solid #dce1eb;border-radius:12px;margin-top:8px;outline:none}.login-form input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #eeecff}.password-wrap{position:relative}.password-wrap button{position:absolute;right:10px;top:18px;border:0;background:transparent;color:var(--muted);cursor:pointer}.full{width:100%;margin-top:24px}.switch-role{text-align:center;font-size:14px}.switch-role a{color:var(--primary);font-weight:700}
.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{background:#211a4d;color:#cdc9ea;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar nav{display:flex;flex-direction:column;gap:8px;margin-top:46px}.sidebar nav a,.logout{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:11px;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{background:#39306f;color:white}.logout{margin-top:auto;border:0;background:transparent;color:#cdc9ea;cursor:pointer}.dashboard-main{padding:28px 36px 60px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.topbar h1{font:800 30px "Segoe UI",Arial,sans-serif;margin:0}.top-actions{display:flex;align-items:center;gap:12px}.icon-button{border:1px solid var(--line);background:white;border-radius:11px;padding:9px;display:inline-flex;cursor:pointer;color:var(--muted)}.avatar{width:42px;height:42px;border-radius:50%;background:#ddd9ff;color:var(--primary-dark);display:grid;place-items:center;font-weight:800}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-grid article{background:white;border:1px solid var(--line);border-radius:17px;padding:19px;display:flex;align-items:center;gap:14px}.stat-icon{width:44px;height:44px;border-radius:13px;background:#efedff;color:var(--primary);display:grid;place-items:center}.stat-grid span{display:block;color:var(--muted);font-size:13px}.stat-grid strong{display:block;font:800 23px "Segoe UI",Arial,sans-serif;margin-top:3px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.7fr);gap:20px}.panel{background:white;border:1px solid var(--line);border-radius:19px;padding:22px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-title h2{font-size:23px}.text-button{border:0;background:transparent;color:var(--primary);font-weight:700;cursor:pointer}.assignment-list{display:flex;flex-direction:column}.assignment{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:17px 0;border-top:1px solid var(--line)}.assignment:first-child{border-top:0}.subject-badge{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;font:800 19px "Segoe UI",Arial,sans-serif;background:#e8f9f5;color:#12806b}.badge-1{background:#fff2de;color:#b66a00}.badge-2{background:#e9efff;color:#3e64c7}.assignment-info h3{margin:0 0 5px;font-size:16px}.assignment-info p{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:13px;margin:0}.assignment-info .mini-progress{margin-top:9px;width:170px;height:5px}.outline-button{border:1px solid var(--line);background:white;border-radius:11px;padding:9px 12px;display:flex;align-items:center;gap:7px;font-weight:700;cursor:pointer}.outline-button:hover{border-color:var(--primary);color:var(--primary)}.challenge-card{background:linear-gradient(160deg,#2c245e,#6558e8);color:white}.challenge-card .score{background:#ffffff20;color:white}.challenge-card h2{font:800 26px "Segoe UI",Arial,sans-serif;margin:20px 0 8px}.challenge-card>p{font:700 32px "Segoe UI",Arial,sans-serif;margin:25px 0}.challenge-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.challenge-options button{background:#ffffff12;border-color:#ffffff25;color:white}.challenge-options button:hover{background:white;color:var(--primary-dark)}.challenge-card small{display:block;margin-top:20px;color:#ddd9ff}.teacher-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#6558e8,#8579f4);color:white;padding:24px 27px;border-radius:20px;margin-bottom:20px}.teacher-banner h2{font:800 25px "Segoe UI",Arial,sans-serif;margin:5px 0}.teacher-banner p{margin:0;color:#e8e5ff}.light-button{background:white;color:var(--primary-dark);box-shadow:none}.teacher-table{overflow-x:auto}.table-row{display:grid;grid-template-columns:1.6fr .7fr 1fr auto;gap:16px;align-items:center;padding:15px 5px;border-top:1px solid var(--line);font-size:14px}.table-row>span:first-child small{display:block;color:var(--muted);margin-top:4px}.table-head{border-top:0;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.8px;font-weight:700}.table-row .mini-progress{margin-top:7px;height:5px}.activity-list p{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;margin:0;padding:15px 0;border-top:1px solid var(--line);font-size:14px}.activity-list p:first-child{border-top:0}.activity-list p>span{grid-row:1/3;width:37px;height:37px;border-radius:10px;background:#eeecff;color:var(--primary);display:grid;place-items:center;font-size:12px;font-weight:800}.activity-list small{color:var(--muted)}
@media(max-width:950px){.hero{grid-template-columns:1fr;gap:35px}.feature-grid{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-visual{display:none}.dashboard-shell{grid-template-columns:82px 1fr}.sidebar{padding:22px 12px}.sidebar .logo span:last-child,.sidebar nav a:not(.active){font-size:0}.sidebar nav a{justify-content:center}.sidebar nav a.active{font-size:0}.logout{font-size:0;justify-content:center}.dashboard-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.site-header nav{display:none}.site-header{padding:16px}.hero{padding:20px 18px;margin:20px auto 55px}.hero h1{font-size:42px;letter-spacing:-1.8px}.hero-actions{flex-direction:column}.hero-card{padding:20px}.feature-section{padding:20px 18px 65px}.login-panel{padding:25px}.dashboard-shell{display:block}.sidebar{height:auto;position:relative;flex-direction:row;align-items:center;justify-content:space-between}.sidebar nav{display:none}.sidebar .logo span:last-child{display:inline;font-size:17px}.logout{margin:0;font-size:0}.dashboard-main{padding:22px 16px 45px}.topbar h1{font-size:23px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-grid article{padding:13px;display:block}.stat-icon{margin-bottom:9px}.assignment{grid-template-columns:auto 1fr}.assignment .outline-button{grid-column:2}.teacher-banner{align-items:flex-start;gap:20px;flex-direction:column}.table-row{grid-template-columns:1.6fr .7fr .8fr auto;min-width:600px}.site-header .button-small{display:none}}

/* Match the published portal's typography and logo motion. */
body,button,input,select,textarea{font-family:"DM Sans",sans-serif}
#app h1,#app h2,#app h3{font-family:Manrope,"Segoe UI",Arial,sans-serif!important}
.portal-nav-loading{cursor:progress!important}
.portal-nav-loading::after{content:"";display:inline-block;width:12px;height:12px;margin-left:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:middle;animation:portal-nav-spin .7s linear infinite}
@keyframes portal-nav-spin{to{transform:rotate(360deg)}}
#app h1,#app h2{font-weight:800!important;letter-spacing:-.5px}
#app h3{font-weight:700!important;letter-spacing:-.15px}
button,a{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}
.button:hover,.quiz-options button:hover{transform:none}

/* Counters remain colour-coded even when counting is paused outside class. */
.practice-counters.paused{filter:none!important;opacity:1!important}
.practice-counters .perfect-counter{background:#dcfce7!important;color:#15803d!important;border:1px solid #a7e8bd!important}
.practice-counters .wrong-counter{background:#fee2e2!important;color:#c62828!important;border:1px solid #f5b9b9!important}
.practice-counters .hint-counter{background:#fef3c7!important;color:#9a5b00!important;border:1px solid #efd88b!important}
.result-summary-cards span:nth-child(1){background:#e6f8ef;color:#087a50;border-color:#bce9d3}
.result-summary-cards span:nth-child(2){background:#fff0f0;color:#bd3b3b;border-color:#f1cccc}
.result-summary-cards span:nth-child(3){background:#fff6dd;color:#956900;border-color:#efdfaa}
.result-summary-cards span:nth-child(1) b{color:#087a50}
.result-summary-cards span:nth-child(2) b{color:#bd3b3b}
.result-summary-cards span:nth-child(3) b{color:#956900}

/* Phase 2–4 application */
button{font-family:inherit}.back-link{border:0;background:transparent;cursor:pointer}.feature-icon{font-size:30px;color:var(--primary)}
.simple-home{min-height:100vh;display:flex;flex-direction:column}.simple-header{width:min(1050px,100%);margin:0 auto;padding:28px}.simple-login{width:min(1050px,100%);margin:auto;padding:40px 28px 90px;display:grid;grid-template-columns:1fr 430px;gap:80px;align-items:center}.login-choice h1{font:800 clamp(42px,5vw,64px)/1.08 "Segoe UI",Arial,sans-serif;letter-spacing:-2px;margin:22px 0 12px}.login-choice>p{color:var(--muted);font-size:18px}.login-buttons{display:flex;gap:12px;margin-top:30px}.daily-card{transform:none}.daily-card .math-question{padding:48px 0 34px}
.nav-link{border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:600 15px "Segoe UI",Arial,sans-serif;width:100%;display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:11px}.sidebar nav .nav-link:hover,.sidebar nav .nav-link.active{background:#39306f;color:#fff}
.notification-button{position:relative}.notification-button b{position:absolute;right:-5px;top:-7px;background:#ed5d75;color:#fff;border:2px solid var(--surface);border-radius:99px;min-width:18px;height:18px;font-size:10px;display:grid;place-items:center}.feed-panel{margin-top:20px}.assignment-info small{display:block;color:var(--muted);margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:620px}.wrong{background:#fff1f1!important;color:#b44!important}.correct-answer{background:#dff8f1!important;color:#10715e!important;border-color:#73cbb8!important}.wrong-answer{background:#fff0f1!important;color:#b33!important;border-color:#ec999f!important}
.modal-backdrop{position:fixed;inset:0;background:#17213a9a;display:grid;place-items:center;padding:20px;z-index:100;backdrop-filter:blur(4px)}.modal{background:#fff;border-radius:22px;padding:26px;width:min(580px,100%);max-height:90vh;overflow:auto;box-shadow:0 30px 90px #111a}.modal.large{width:min(850px,100%)}.modal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.modal h2{font:800 27px "Segoe UI",Arial,sans-serif;margin:0}.modal label,.stack-form label{display:block;font-weight:700;font-size:14px;margin:15px 0}.modal input,.modal textarea,.stack-form input,.stack-form textarea{width:100%;padding:13px 14px;border:1px solid #dce1eb;border-radius:11px;margin-top:7px;outline:0}.modal textarea,.stack-form textarea{min-height:105px;resize:vertical}.modal input:focus,.modal textarea:focus,.stack-form input:focus,.stack-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #eeecff}.modal label small{display:block;color:var(--muted);font-weight:400;margin-top:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.full-field{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:22px}.danger-button{margin-right:auto;border:0;background:#fff0f1;color:#bb3544;border-radius:11px;padding:12px 16px;font-weight:700;cursor:pointer}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,30px);background:#18223a;color:white;padding:12px 18px;border-radius:12px;opacity:0;pointer-events:none;z-index:200;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.submission-list article{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:18px 2px}.submission-list article:first-child{border-top:0}.submission-list h3{margin:6px 0}.submission-list p{color:var(--muted);margin:0}.submission-actions{display:flex;align-items:center;gap:12px}.submission-actions strong{font:800 21px "Segoe UI",Arial,sans-serif}.status{display:inline-block;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.8px;padding:5px 8px;border-radius:99px;background:#fff3dc;color:#a75d00}.status.graded{background:#dff8f1;color:#10715e}.file-chip{display:inline-flex;background:#f0efff;color:#5447c3;border-radius:8px;padding:4px 7px;font-size:11px;margin-left:7px}.feedback-box{background:#f4f8ff;border-left:4px solid var(--primary);padding:13px 15px;border-radius:8px;margin:15px 0}.feedback-box p{margin-bottom:0}
.announcement-list{display:grid;gap:12px}.announcement-list article{background:#f8f9fc;border:1px solid var(--line);border-radius:14px;padding:16px}.announcement-list article>span{font-size:11px;color:var(--primary);font-weight:800;text-transform:uppercase}.announcement-list h3{margin:7px 0}.announcement-list p{color:var(--muted);line-height:1.5;margin:0}.stack-form h2{margin:0}.stack-form .button{width:100%}.empty{padding:35px;text-align:center;color:var(--muted)}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-grid article,.leaderboard article{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:14px;padding:14px}.report-grid article .outline-button{margin-left:auto}.report-grid h3,.leaderboard h3{margin:0}.report-grid p,.leaderboard p{margin:4px 0 0;color:var(--muted);font-size:13px}.rank{min-width:38px;height:38px;border-radius:11px;background:#eeecff;color:var(--primary);font-weight:800;display:grid;place-items:center}
.quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quiz-grid article{border:1px solid var(--line);border-radius:17px;padding:20px;background:#fbfbfe}.quiz-grid h3{font:800 19px "Segoe UI",Arial,sans-serif}.quiz-grid p,.quiz-grid small{display:block;color:var(--muted);margin-bottom:13px}.quiz-icon{font-size:27px;color:var(--primary)}.quiz-player{max-width:760px;margin:25px auto;padding:35px}.quiz-progress{height:8px;background:#edf0f5;border-radius:99px;overflow:hidden;margin-bottom:40px}.quiz-progress span{display:block;height:100%;background:var(--primary)}.quiz-player h2{font:800 30px/1.35 "Segoe UI",Arial,sans-serif;margin:15px 0 28px}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quiz-options button{border:1px solid var(--line);background:#fafbfe;color:var(--ink);border-radius:13px;padding:17px;font-weight:700;cursor:pointer}.quiz-options button:hover{border-color:var(--primary);transform:translateY(-1px)}.quiz-options button:disabled{cursor:default;transform:none}.answer-feedback{font-weight:700;min-height:22px;margin-top:22px}.result-card{text-align:center;max-width:600px;margin:25px auto;padding:45px}.result-card h2{font:800 31px "Segoe UI",Arial,sans-serif}.result-card .hero-actions{justify-content:center}.result-ring{--score:0deg;width:150px;height:150px;border-radius:50%;margin:0 auto 25px;display:grid;place-items:center;background:conic-gradient(var(--accent) var(--score),#edf0f5 0);position:relative}.result-ring:after{content:'';position:absolute;inset:13px;border-radius:50%;background:#fff}.result-ring span{position:relative;z-index:1;font:800 29px "Segoe UI",Arial,sans-serif}
.chart{height:250px;display:flex;align-items:flex-end;justify-content:center;gap:18px;padding:20px}.bar-wrap{height:220px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-width:45px}.bar-wrap>span{font-size:11px;font-weight:700}.bar{width:35px;background:linear-gradient(180deg,#8579f4,#6558e8);border-radius:9px 9px 3px 3px}.bar-wrap small{color:var(--muted);font-size:10px}.badge-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.badge-grid article{text-align:center;border:1px solid var(--line);border-radius:14px;padding:14px 8px}.badge-grid article>span{display:block;font-size:29px}.badge-grid b,.badge-grid small{display:block;margin-top:5px}.badge-grid small{color:var(--muted);font-size:11px}.badge-grid .locked{filter:grayscale(1);opacity:.42}
.leaderboard{display:grid;gap:10px}.leaderboard article.me{border-color:var(--primary);background:#f3f1ff}.leaderboard article>strong{margin-left:auto;color:var(--primary)}.dashboard-grid>aside>.panel+.panel{margin-top:20px}.certificate-card{text-align:center;background:linear-gradient(145deg,#302772,#6558e8);color:#fff}.certificate-card>span{font-size:40px}.certificate-card h2{font:800 22px "Segoe UI",Arial,sans-serif}.certificate-card p{color:#dedaff}.notification-list article{display:flex;gap:12px;border-top:1px solid var(--line);padding:15px}.notification-list article:first-child{border-top:0}.notification-list article>span{color:var(--primary)}.notification-list p{margin:0}.notification-list small{color:var(--muted)}
.certificate{background:#fcfaf2;padding:18px}.certificate-border{text-align:center;border:8px double #a98642;padding:45px;color:#3b3157}.certificate-mark{display:inline-grid;place-items:center;width:65px;height:65px;background:#6558e8;color:white;border-radius:20px;font:800 24px "Segoe UI",Arial,sans-serif}.certificate h1{font:800 45px "Segoe UI",Arial,sans-serif;color:#6558e8;margin:24px 0}.certificate h3{font-weight:500;line-height:1.6;max-width:600px;margin:auto}.certificate-rule{width:150px;border-top:2px solid #a98642;margin:35px auto 20px}.print-report h1{font:800 38px "Segoe UI",Arial,sans-serif;margin:5px 0}.print-report hr{border:0;border-top:1px solid var(--line);margin:25px 0}.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.report-summary div{background:#f5f6fb;border-radius:13px;padding:16px}.report-summary span,.report-summary strong{display:block}.report-summary span{color:var(--muted);font-size:12px}.report-summary strong{font:800 23px "Segoe UI",Arial,sans-serif;margin-top:5px}
.modal select{width:100%;padding:13px 14px;border:1px solid #dce1eb;border-radius:11px;margin-top:7px;background:#fff;color:var(--ink)}.curriculum-head{display:flex;justify-content:space-between;align-items:center;gap:25px;background:linear-gradient(135deg,#302772,#6558e8);color:#fff;border-radius:20px;padding:26px 28px}.curriculum-head h2{font:800 28px "Segoe UI",Arial,sans-serif;margin:4px 0}.curriculum-head p:last-child{margin:0;color:#e1ddff}.curriculum-head .eyebrow{color:#dcd7ff}.grade-tabs{display:flex;gap:8px;overflow-x:auto;padding:19px 2px}.grade-tabs button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 14px;font-weight:700;color:var(--muted);cursor:pointer}.grade-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.curriculum-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}.topic-list{display:grid;gap:16px}.topic-title,.topic-title>div,.subtopic-head,.sheet-row{display:flex;align-items:center}.topic-title,.subtopic-head{justify-content:space-between;gap:16px}.topic-title>div{gap:13px}.topic-title h2{font:800 22px "Segoe UI",Arial,sans-serif;margin:0}.topic-icon{width:46px;height:46px;border-radius:13px;background:#eeecff;color:var(--primary);display:grid;place-items:center;font-size:21px}.subtopic-list>section{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.subtopic-head h3{margin:0}.subtopic-head small{color:var(--muted)}.sheet-row{gap:12px;background:#f8f9fc;border:1px solid var(--line);padding:11px 12px;border-radius:12px;margin-top:9px}.sheet-row>div{flex:1}.sheet-row small,.sheet-row b{display:block}.sheet-row small{color:var(--muted);font-size:11px;margin-top:3px}.sheet-doc{width:34px;height:34px;border-radius:9px;background:#e8f9f5;color:#12806b;display:grid;place-items:center}.empty-inline{color:var(--muted);font-size:13px;margin:12px 0 0}.curriculum-help{align-self:start;position:sticky;top:20px}.curriculum-help h3{font:800 20px "Segoe UI",Arial,sans-serif}.curriculum-help p,.curriculum-help li{color:var(--muted);line-height:1.55}.curriculum-help ol{padding-left:20px}.curriculum-symbol{font-size:36px;color:var(--primary)}
.original-content-note{background:#ffffff20;border:1px solid #ffffff35;border-radius:99px;padding:9px 12px;font-size:11px;font-weight:700}.board-tabs{display:flex;gap:10px;margin-top:18px}.board-tabs button{flex:1;border:2px solid var(--line);background:#fff;border-radius:14px;padding:14px;font-weight:800;color:var(--muted);cursor:pointer}.board-tabs button.active{border-color:var(--primary);color:var(--primary);background:#f3f1ff}.level-legend{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-bottom:16px}.level-legend small{color:var(--muted);margin-right:14px}.basic-dot{color:#13846d}.advanced-dot{color:#6558e8}.imo-dot{color:#d68516}.chapter-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.chapter-card{position:relative;overflow:hidden}.chapter-number{position:absolute;right:18px;top:14px;font:800 38px "Segoe UI",Arial,sans-serif;color:#eceaf9}.chapter-card h2{font:800 21px "Segoe UI",Arial,sans-serif;margin:8px 0}.chapter-card>p:not(.eyebrow){color:var(--muted);font-size:13px}.chapter-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:16px}.chapter-levels button{border:1px solid var(--line);background:#fafbfe;border-radius:10px;padding:9px 7px;text-align:left;cursor:pointer}.chapter-levels button:hover{border-color:var(--primary)}.chapter-levels span,.chapter-levels b,.chapter-levels small{display:block}.chapter-levels small{color:var(--muted);font-size:9px;margin-top:3px}
.auto-build-note{display:flex;gap:12px;align-items:center;background:#e8f9f5;border:1px solid #bde9dc;color:#10715e;border-radius:13px;padding:13px 16px;margin-top:15px}.auto-build-note>span{font-size:25px}.auto-build-note p{margin:3px 0 0;font-size:12px}.generated-note{display:flex;flex-direction:column;gap:4px;background:#e8f9f5;color:#10715e;border-radius:12px;padding:13px 15px}.generated-note span{font-size:12px}
.student-progress-table{overflow-x:auto}.student-progress-row{display:grid;grid-template-columns:1.1fr .7fr 1.4fr 1fr 1.1fr;gap:16px;align-items:center;min-width:760px;padding:14px 5px;border-top:1px solid var(--line);font-size:13px}.student-progress-row>span:nth-child(4){display:none}.student-progress-row.head{border-top:0;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.student-progress-row small,.student-progress-row b{display:block}.student-progress-row small{color:var(--muted);margin-top:4px}.student-cell b{font-size:14px}.student-cell small{color:#13846d}.table-progress{height:6px;background:#eceef4;border-radius:99px;overflow:hidden;margin-top:6px}.table-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#8d81f5)}
.gym-progress-table{overflow-x:auto}.gym-progress-row{display:grid;grid-template-columns:1.3fr 1fr 1.1fr .7fr .7fr .7fr;gap:15px;align-items:center;min-width:760px;padding:14px 5px;border-top:1px solid var(--line)}.gym-progress-row.head{border-top:0;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.gym-progress-row b,.gym-progress-row small{display:block}.gym-progress-row small{color:var(--muted);margin-top:4px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:21px 24px;margin-bottom:15px}.calendar-toolbar h2{font:800 25px "Segoe UI",Arial,sans-serif;margin:3px 0}.calendar-toolbar p:last-child{color:var(--muted);margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-day{min-height:125px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px}.calendar-day.today{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.calendar-day header{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.calendar-day header b{font-size:16px;color:var(--ink)}.calendar-day>button{display:block;width:100%;border:0;background:#eeecff;color:var(--primary-dark);border-radius:7px;padding:6px;margin-top:7px;text-align:left;cursor:pointer}.calendar-day>button b,.calendar-day>button span{display:block;font-size:9px}.calendar-day>small{display:block;color:#a5adbb;font-size:9px;margin-top:12px}.schedule-list{margin-top:16px}.schedule-list>article{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.schedule-list>article>div{flex:1}.schedule-list b,.schedule-list small{display:block}.schedule-list small{color:var(--muted);margin-top:4px}.calendar-icon{width:35px;height:35px;display:grid;place-items:center;background:#eeecff;color:var(--primary);border-radius:9px}.student-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.student-profile-grid article{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:14px;padding:15px}.student-profile-grid article>div{flex:1}.student-profile-grid h3{margin:0}.student-profile-grid p,.student-profile-grid small{display:block;color:var(--muted);margin:4px 0 0}.profile-avatar{width:44px;height:44px;border-radius:14px;background:#eeecff;color:var(--primary);display:grid;place-items:center;font-weight:800}.profile-avatar.large{width:68px;height:68px;font-size:25px}.profile-back{margin-bottom:14px}.profile-hero{display:flex;align-items:center;gap:17px;background:linear-gradient(135deg,#302772,#6558e8);color:#fff;padding:24px 27px;border-radius:19px;margin-bottom:17px}.profile-hero>div{flex:1}.profile-hero h2{font:800 29px "Segoe UI",Arial,sans-serif;margin:4px 0}.profile-hero p{margin:0;color:#dedaff}.profile-hero .eyebrow{color:#dcd7ff}.profile-progress-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.profile-progress-row:first-of-type{border-top:0}.profile-progress-row small{display:block;color:var(--muted);margin-top:3px}.profile-progress-row .table-progress{grid-column:1/-1}.profile-class{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}
.weekday-head{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:6px}.weekday-head span{text-align:center;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.weekday-head .weekend{color:#c06c32}.calendar-day.weekend{background:#fffaf5;border-color:#f1dfce}.class-frequency{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}.class-frequency article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}.class-frequency b,.class-frequency span{display:block}.class-frequency span{color:var(--muted);font-size:10px;margin-top:4px}.basic-info-card{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px;margin-bottom:17px}.basic-info-card>div{background:#f7f8fc;border-radius:11px;padding:12px}.basic-info-card span,.basic-info-card b,.basic-info-card small{display:block}.basic-info-card span{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.basic-info-card b{margin-top:5px}.basic-info-card small{color:var(--muted);font-size:9px;margin-top:3px}
.chapter-bank-summary{display:flex;gap:8px;margin:15px 0}.chapter-bank-summary span{flex:1;background:#f5f6fa;border-radius:9px;padding:8px;color:var(--muted);font-size:10px}.chapter-bank-summary b{display:block;color:var(--ink);font-size:14px}.chapter-assign{margin-top:0}.chapter-plan-note{background:#eeecff;color:var(--primary-dark);border-radius:11px;padding:12px;font-size:12px}.student-curriculum-head{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#302772,#6558e8);color:#fff;border-radius:20px;padding:27px 30px;margin-bottom:18px}.student-curriculum-head h2{font:800 28px "Segoe UI",Arial,sans-serif;margin:4px 0}.student-curriculum-head p{color:#dedaff;margin:0}.student-curriculum-head .eyebrow{color:#dcd7ff}.student-curriculum-head>span{background:#ffffff20;border-radius:99px;padding:9px 12px;font-weight:700}.student-chapter-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.student-chapter-grid article{display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center}.chapter-index{width:40px;height:40px;display:grid;place-items:center;background:#eeecff;color:var(--primary);border-radius:11px;font-weight:800}.student-chapter-grid h3{margin:4px 0}.student-chapter-grid p{margin:0;color:var(--muted);font-size:12px}.student-chapter-grid small{text-transform:uppercase;font-size:9px;font-weight:800;color:var(--primary)}.student-chapter-grid article.locked{opacity:.58}.student-chapter-grid article.completed{border-color:#bde9dc}.student-chapter-grid button:disabled{cursor:not-allowed}.chapter-sheet-sequence{display:grid}.chapter-sheet-sequence article{display:grid;grid-template-columns:38px 1fr auto auto;gap:14px;align-items:center;padding:14px 2px;border-top:1px solid var(--line)}.chapter-sheet-sequence article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eeecff;color:var(--primary);font-weight:800}.chapter-sheet-sequence h3{margin:3px 0}.chapter-sheet-sequence small{color:var(--muted)}.chapter-sheet-sequence article.completed{background:#fbfffd}
.chapter-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px}.chapter-actions .button,.chapter-actions .outline-button{width:100%;justify-content:center}.preview-intro{color:var(--muted)}.chapter-preview-library{display:grid;gap:18px}.chapter-preview-library>section{border:1px solid var(--line);border-radius:13px;overflow:hidden}.preview-level-head{display:flex;justify-content:space-between;align-items:center;background:#f5f6fa;padding:11px 14px}.preview-level-head h3{margin:0}.preview-level-head span{color:var(--muted);font-size:11px}.chapter-preview-library article{display:flex;align-items:center;gap:11px;padding:10px 12px;border-top:1px solid var(--line)}.chapter-preview-library article>div{flex:1}.chapter-preview-library b,.chapter-preview-library small{display:block}.chapter-preview-library small{color:var(--muted);margin-top:3px}
.approval-legend{display:flex;gap:7px;margin-bottom:12px}.sheet-approval{display:inline-flex;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:800;white-space:nowrap}.sheet-approval.approved{background:#e4f8f1;color:#10715e}.sheet-approval.not-approved{background:#f1f2f6;color:#68758a}.sheet-approval.needs-improvement{background:#fff0f1;color:#a52e3c}
.review-status{display:flex;align-items:center;gap:10px;border-radius:11px;padding:10px 13px;margin-bottom:14px}.review-status span{font-size:10px;text-transform:uppercase}.review-status small{margin-left:auto}.review-status.generated{background:#f1f2f6;color:var(--muted)}.review-status.approved{background:#e4f8f1;color:#10715e}.review-status.needs-improvement{background:#fff0f1;color:#a52e3c}.sheet-preview .answer-key{border:1px solid #72c8b1;background:#e4f8f1;color:#10715e}.teacher-answer{display:block;color:var(--muted);margin-top:9px}.review-actions{position:sticky;bottom:-26px;display:flex;justify-content:flex-end;gap:10px;background:#fff;border-top:1px solid var(--line);padding:15px 0}.needs-button{border:0;background:#fff0f1;color:#a52e3c;border-radius:11px;padding:12px 15px;font-weight:800;cursor:pointer}.geometry-workspace{border:1px solid var(--line);background:#fafbfe;border-radius:14px;padding:10px;margin:-12px 0 22px}.geometry-toolbar{display:flex;gap:6px}.geometry-toolbar button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 10px;font-weight:700;cursor:pointer}.geometry-toolbar button.active{background:var(--primary);color:#fff}.geometry-workspace>p{color:var(--muted);font-size:11px;margin:8px 2px}.geometry-workspace svg{display:block;width:100%;height:230px;background:#fff;border:1px solid var(--line);border-radius:9px;touch-action:none;cursor:crosshair}.geo-shape{fill:none;stroke:#6558e8;stroke-width:3}.geo-shape.protractor{stroke:#d68516}.geo-shape.compass{stroke:#13846d}.geo-label{font:700 13px "Segoe UI",Arial,sans-serif;fill:#38435a}
.ahead-topics{margin-top:22px;background:linear-gradient(135deg,#f6f2ff,#fff);border:1px solid #dcd7ff;border-radius:19px;padding:22px}.ahead-topics>div:first-child>h2{font:800 24px "Segoe UI",Arial,sans-serif;margin:3px 0}.ahead-topics>div:first-child>p:last-child{color:var(--muted);margin:0}.ahead-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:17px}.ahead-grid article{position:relative}.ahead-grid article.locked{opacity:.65}.ahead-grid h3{margin:12px 0 6px}.ahead-grid p{color:var(--muted);font-size:12px;min-height:32px}.ahead-badge{font-size:9px;background:#eeecff;color:var(--primary);border-radius:99px;padding:5px 7px;font-weight:800}
.gym-intro{min-height:480px;border-radius:22px;background:radial-gradient(circle at 85% 20%,#ffdb7045,transparent 28%),linear-gradient(135deg,#241b58,#6558e8);color:#fff;display:grid;place-items:center;text-align:center;padding:40px}.gym-intro>div{max-width:620px}.gym-bolt{font-size:58px}.gym-intro .eyebrow{color:#ddd8ff}.gym-intro h2{font:800 38px "Segoe UI",Arial,sans-serif;margin:10px}.gym-intro p{color:#dedaff;font-size:17px}.gym-features{display:flex;justify-content:center;gap:10px;margin:25px 0}.gym-features span{background:#ffffff18;border-radius:99px;padding:9px 12px;font-size:12px}.gym-intro .button:disabled{opacity:.5;cursor:not-allowed}.math-gym-player{min-height:520px;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.math-gym-player>header{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;border-bottom:1px solid var(--line)}.math-gym-player h2{margin:0;font:800 25px "Segoe UI",Arial,sans-serif}.gym-live-stats{display:flex;gap:8px}.gym-live-stats span{background:#f5f6fa;border-radius:10px;padding:8px 11px;color:var(--muted);font-size:9px}.gym-live-stats b{display:block;color:var(--ink);font-size:15px}.math-gym-player>main{text-align:center;padding:65px 25px}.math-gym-player main>small{color:var(--muted)}.math-gym-player h1{font:800 45px "Segoe UI",Arial,sans-serif;margin:22px}.gym-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:500px;margin:auto}.gym-options button{border:2px solid var(--line);background:#fafbfe;border-radius:13px;padding:16px;font-weight:800;font-size:18px;cursor:pointer}.gym-options button:hover{border-color:var(--primary);background:#f3f1ff}.gym-correct{color:#10715e;font-weight:800}.gym-wrong{color:#a52e3c;font-weight:800}.gym-result{text-align:center;max-width:650px;margin:auto;padding:55px}.gym-result>span{font-size:55px}.gym-result h2{font:800 32px "Segoe UI",Arial,sans-serif}
.gym-section-intro>div{max-width:820px}.gym-section-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}.gym-section-grid button{display:grid;grid-template-columns:45px 1fr;text-align:left;gap:3px 12px;align-items:center;border:1px solid #ffffff25;background:#ffffff12;color:#fff;border-radius:14px;padding:14px;cursor:pointer}.gym-section-grid button:hover{background:#ffffff20}.gym-section-grid button:disabled{opacity:.45;cursor:not-allowed}.gym-section-grid button>span{grid-row:1/3;width:43px;height:43px;border-radius:12px;background:#ffffff18;display:grid;place-items:center;font-weight:800}.gym-section-grid b{font-size:15px}.gym-section-grid small{color:#dcd7ff}
.dashboard-puzzle{display:flex;justify-content:space-between;align-items:center;gap:25px;background:radial-gradient(circle at 80% 10%,#ffffff25,transparent 30%),linear-gradient(135deg,#c26720,#ed9b33);color:#fff;border-radius:19px;padding:24px 28px;margin-top:20px}.dashboard-puzzle h2{font:800 23px "Segoe UI",Arial,sans-serif;margin:8px 0}.dashboard-puzzle p{margin:0;color:#fff3df}.puzzle-kicker{font-size:10px;letter-spacing:1px;font-weight:800}.puzzle-page{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px}.puzzle-page>header{display:flex;justify-content:space-between;align-items:center}.puzzle-page h2{font:800 27px "Segoe UI",Arial,sans-serif;margin:4px 0}.puzzle-page header p:last-child{color:var(--muted);margin:0}.puzzle-page header>strong{font:800 24px "Segoe UI",Arial,sans-serif;color:var(--primary)}.puzzle-track{display:flex;justify-content:center;gap:10px;margin:28px 0}.puzzle-track span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800}.puzzle-track .done{background:#dff8f1;color:#10715e}.puzzle-track .active{background:var(--primary);color:#fff;box-shadow:0 0 0 5px #eeecff}.puzzle-track .locked{background:#edf0f5;color:#a6adba}.active-puzzle-card{max-width:680px;margin:auto;background:linear-gradient(145deg,#fffaf0,#fff);border:2px solid #f1d6ad;border-radius:20px;text-align:center;padding:38px}.puzzle-card-number{color:#c26720;font-size:11px;font-weight:800;letter-spacing:1px}.active-puzzle-card h1{font:800 31px/1.4 "Segoe UI",Arial,sans-serif;margin:18px}.puzzle-hint{border:0;background:#fff0d5;color:#9a581c;border-radius:9px;padding:8px 11px;font-weight:700;cursor:pointer}.active-puzzle-card>p{display:none;color:#8a5b25;background:#fff6e5;border-radius:10px;padding:10px}.active-puzzle-card>p.show{display:block}.puzzle-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.puzzle-options button{border:2px solid var(--line);background:#fff;border-radius:12px;padding:14px;font-weight:800;cursor:pointer}.puzzle-options button:hover{border-color:#d98a35;background:#fff8ed}.puzzle-good{color:#10715e;font-weight:800;margin-top:16px}.puzzle-bad{color:#a52e3c;font-weight:800;margin-top:16px}.puzzle-complete{text-align:center;padding:55px}.puzzle-complete>span{font-size:60px}
.dashboard-math-challenge{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:19px;padding:23px 26px;margin-top:20px}.dashboard-math-challenge h2{font:800 28px "Segoe UI",Arial,sans-serif;margin:12px 0 5px}.dashboard-math-challenge p{color:var(--muted);margin:0}.daily-challenge-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.daily-challenge-options button{border:1px solid var(--line);background:#fafbfe;border-radius:10px;padding:11px;font-weight:800;cursor:pointer}.dashboard-math-challenge small{display:block;color:var(--muted);margin-top:9px}
.current-learning-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:18px;margin-bottom:20px}.current-learning-row .current-worksheet{margin-bottom:0}.current-learning-row .dashboard-math-challenge{grid-template-columns:1fr;align-content:center;margin:0;padding:24px}.current-learning-row .dashboard-math-challenge h2{font-size:25px}.current-learning-row .daily-challenge-options{margin-top:8px}
.subtopic-chips{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0 16px}.subtopic-chips span{background:#f1f2f7;color:var(--muted);border-radius:99px;padding:5px 8px;font-size:9px;font-weight:700}.library-summary{display:flex;justify-content:space-between;gap:12px;background:#eeecff;color:var(--primary-dark);border-radius:12px;padding:12px 14px;margin-bottom:12px}.library-summary span{font-size:12px}.worksheet-library{display:grid;gap:7px}.worksheet-library article{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:11px;padding:10px}.worksheet-library article>div{flex:1}.worksheet-library b,.worksheet-library small{display:block}.worksheet-library small{color:var(--muted);margin-top:3px}
.question-builder{display:grid;gap:14px}.question-builder>article{background:#f7f8fc;border:1px solid var(--line);padding:16px;border-radius:14px}.question-builder>article>span{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--primary);font-weight:800}.option-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sheet-preview article{padding:15px 0;border-top:1px solid var(--line)}.sheet-preview article:first-child{border-top:0}.sheet-preview article>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.sheet-preview article>div span{background:#f5f6fb;border-radius:9px;padding:9px}.sheet-preview p{color:var(--muted)}
.student-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.student-sheet-grid>article{display:grid;grid-template-columns:105px 1fr;gap:18px;border:1px solid var(--line);padding:15px;border-radius:16px}.student-sheet-grid>article.completed{background:#fbfffd;border-color:#bde9dc}.sheet-cover{min-height:125px;background:linear-gradient(145deg,#302772,#6558e8);color:#fff;border-radius:13px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}.sheet-cover span{font-size:35px}.student-sheet-grid h3{margin:8px 0 4px}.student-sheet-grid p{color:var(--muted);font-size:13px}.student-sheet-grid strong{color:#147a68}.worksheet-questions{display:grid;gap:15px}.worksheet-questions>article{border:1px solid var(--line);border-radius:14px;padding:17px}.worksheet-questions h3{font-size:16px;margin:0 0 14px}.worksheet-questions>article>input{width:100%;padding:13px;border:1px solid #dce1eb;border-radius:10px}.worksheet-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.worksheet-options label{margin:0;position:relative}.worksheet-options input{position:absolute;opacity:0}.worksheet-options span{display:block;border:1px solid var(--line);border-radius:10px;padding:12px;cursor:pointer}.worksheet-options input:checked+span{border-color:var(--primary);background:#eeecff;color:var(--primary-dark)}
.modal.focus-modal{padding:0;overflow:hidden;width:min(900px,100%)}.focus-sheet{min-height:620px;display:flex;flex-direction:column}.focus-top{padding:24px 30px;display:grid;grid-template-columns:38px 1fr auto;gap:18px;align-items:center;border-bottom:1px solid var(--line)}.focus-top .eyebrow{margin-bottom:9px}.focus-top small{display:block;color:var(--muted);margin-top:7px}.focus-close{width:36px;height:36px;border:0;border-radius:50%;background:#f1f2f7;color:var(--muted);cursor:pointer}.focus-progress{height:7px;background:#eceef4;border-radius:99px;overflow:hidden}.focus-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#8d81f5);border-radius:inherit;transition:.3s}.focus-question{padding:42px 65px;flex:1}.question-number{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eeecff;color:var(--primary);font-weight:800}.focus-question h2{font:800 29px/1.4 "Segoe UI",Arial,sans-serif;margin:18px 0 30px}.focus-options{display:grid;grid-template-columns:1fr 1fr;gap:13px}.focus-options label{margin:0;position:relative}.focus-options input{position:absolute;opacity:0}.focus-options label>span{display:flex;align-items:center;gap:13px;border:2px solid var(--line);border-radius:14px;padding:15px;cursor:pointer;font-weight:700;transition:.2s}.focus-options label>span b{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#f0f1f6;color:var(--muted)}.focus-options label>span:hover{border-color:#b8b2ef}.focus-options input:checked+span{border-color:var(--primary);background:#f4f2ff}.focus-options input:checked+span b{background:var(--primary);color:#fff}.written-answer label{font-size:13px;color:var(--muted)}.written-answer input{display:block;width:100%;font-size:20px;color:var(--ink);border:2px solid var(--line);border-radius:14px;padding:17px;margin-top:8px;outline:0}.written-answer input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #eeecff}.written-answer small{display:block;color:var(--muted);margin-top:10px}.focus-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 30px;border-top:1px solid var(--line);background:#fafbfe}.focus-footer>span{color:var(--muted);font-size:13px}.sheet-result{text-align:center;padding:28px}.sheet-result h2{font:800 30px "Segoe UI",Arial,sans-serif}.sheet-result>p{color:var(--muted)}.result-breakdown{text-align:left;margin:28px 0;display:grid;gap:8px}.result-breakdown article{display:flex;gap:12px;border:1px solid var(--line);padding:12px;border-radius:11px}.result-breakdown article>span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;font-weight:800}.result-breakdown article.right>span{background:#dff8f1;color:#10715e}.result-breakdown article.needs-work>span{background:#fff0f1;color:#b33}.result-breakdown b,.result-breakdown small{display:block}.result-breakdown small{color:var(--muted);margin-top:4px}
.inline-sheet-shell{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.inline-result{max-width:850px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px}.saved-progress{height:6px;background:#eceef4;border-radius:99px;overflow:hidden;margin:10px 0 5px}.saved-progress span{display:block;height:100%;background:var(--primary)}.progress-copy{display:block;color:var(--muted);font-size:11px;margin-bottom:10px}
.question-tools{display:flex;justify-content:space-between;align-items:center}.hint-button{border:1px solid #e6d28d;background:#fff9dc;color:#876600;border-radius:10px;padding:9px 12px;font-weight:700;cursor:pointer}.hint-panel{display:none;align-items:flex-start;gap:10px;background:#fff9dc;border:1px solid #f1df9e;color:#6e5708;border-radius:12px;padding:13px 15px;margin:-15px 0 22px}.hint-panel.show{display:flex}.hint-panel b{white-space:nowrap}.focus-feedback{display:none;gap:4px;margin-top:18px;padding:13px 15px;border-radius:11px}.focus-feedback.show{display:flex;flex-direction:column}.correct-feedback{background:#dff8f1;color:#10715e}.wrong-feedback{background:#fff0f1;color:#a52e3c}.reveal-feedback{background:#fff6d9;color:#765b00}.incorrect-pick>span{border-color:#e78d98!important;background:#fff0f1!important}.incorrect-input{border-color:#e78d98!important}.focus-footer .button:disabled{opacity:.72}
.focus-support{display:flex;align-items:center;gap:12px}.attempts-label{color:var(--muted);font-size:13px;font-weight:700}
.practice-counters{display:flex;gap:7px;align-self:start}.practice-counters span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-weight:800;cursor:help}.practice-counters b{font-size:14px}.perfect-counter{background:#e4f8f1;color:#10715e}.wrong-counter{background:#fff0f1;color:#a52e3c}.hint-counter{background:#fff7d9;color:#765b00}
.practice-counters.paused{filter:grayscale(1);opacity:.45}.class-status{display:flex;justify-content:space-between;align-items:center;padding:9px 30px;font-size:11px;font-weight:700}.class-status.active{background:#e4f8f1;color:#10715e}.class-status.paused{background:#f1f2f6;color:var(--muted)}.class-status b{font-weight:600}.banner-actions{display:flex;gap:9px}.light-button.subtle{background:#ffffff22;color:#fff;border:1px solid #ffffff38}.active-class-strip{display:flex;align-items:center;gap:18px;background:#e4f8f1;color:#10715e;border:1px solid #bde9dc;border-radius:13px;padding:12px 16px;margin:14px 0}.active-class-strip span{font-size:13px}.session-duration{background:#eeecff;color:var(--primary-dark);border-radius:13px;padding:16px;margin-top:16px}.session-duration b,.session-duration span{display:block}.session-duration span{font-size:12px;margin-top:5px}.session-note{color:var(--muted);font-size:13px;line-height:1.5}
.active-class-strip button{border:1px solid #89d0bd;background:#fff;color:#10715e;border-radius:8px;padding:6px 9px;font-weight:800;cursor:pointer}.active-class-strip em{font-size:11px;font-style:normal;background:#ccefe4;border-radius:99px;padding:5px 8px}
.current-worksheet{display:grid;grid-template-columns:1.3fr .7fr;min-height:320px;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#302772,#6558e8);color:#fff;margin-bottom:20px;box-shadow:0 20px 45px rgba(48,39,114,.18)}.current-copy{padding:35px 38px}.current-label{display:inline-block;font-size:10px;letter-spacing:1.3px;font-weight:800;background:#ffffff24;border:1px solid #ffffff30;border-radius:99px;padding:7px 10px}.current-copy>p{color:#dcd7ff}.current-copy h2{font:800 34px "Segoe UI",Arial,sans-serif;margin:10px 0 22px}.current-meta{display:flex;gap:22px;margin-bottom:26px}.current-meta span{font-size:12px;color:#dcd7ff}.current-meta b{display:block;color:#fff;font-size:15px;margin-bottom:3px}.current-button{background:#fff;color:var(--primary-dark);box-shadow:none}.current-button:hover{background:#f3f1ff;color:var(--primary-dark)}.current-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 70% 20%,#ffffff30,transparent 35%)}.current-visual>span{font:800 90px "Segoe UI",Arial,sans-serif;opacity:.95}.current-visual small{color:#dedaff}.visual-dots{letter-spacing:7px;color:#ffffff55;margin-top:20px}.upcoming-panel{margin-top:20px}.upcoming-sheets article,.teacher-sheet-list article{display:flex;align-items:center;gap:14px;padding:15px 2px;border-top:1px solid var(--line)}.upcoming-sheets article:first-child,.teacher-sheet-list article:first-child{border-top:0}.upcoming-sheets h3,.teacher-sheet-list h3{margin:0}.upcoming-sheets p,.teacher-sheet-list p{margin:4px 0 0;color:var(--muted);font-size:13px}.upcoming-number{font:800 16px "Segoe UI",Arial,sans-serif;color:var(--primary);width:40px}.upcoming-sheets article>div:nth-child(2),.teacher-sheet-list article>div{flex:1}.due-chip{text-align:right}.due-chip small,.due-chip b{display:block}.due-chip small{color:var(--muted);font-size:10px;text-transform:uppercase}.due-chip b{font-size:12px;margin-top:3px}.teacher-sheet-list article>strong{color:var(--muted);font-size:12px}.all-done{display:flex;align-items:center;gap:20px;padding:32px}.all-done>span{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:#dff8f1;color:#10715e;font-size:25px}.all-done h2{margin:4px 0}.all-done p:last-child{color:var(--muted);margin-bottom:0}
@media(max-width:950px){.quiz-grid{grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:1fr}.sidebar nav .nav-link{font-size:0}.sidebar nav .nav-link span{font-size:18px}.sidebar nav .nav-link{justify-content:center}}
@media(max-width:950px){.curriculum-layout{grid-template-columns:1fr}.curriculum-help{display:none}.student-sheet-grid{grid-template-columns:1fr}}
@media(max-width:850px){.chapter-grid{grid-template-columns:1fr}.level-legend{flex-wrap:wrap}}
@media(max-width:850px){.ahead-grid{grid-template-columns:1fr}}
@media(max-width:850px){.student-chapter-grid{grid-template-columns:1fr}}
@media(max-width:850px){.calendar-grid{grid-template-columns:repeat(3,1fr)}.student-profile-grid{grid-template-columns:1fr}}
@media(max-width:850px){.weekday-head{display:none}.class-frequency{grid-template-columns:1fr 1fr}.basic-info-card{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.simple-login{grid-template-columns:1fr;gap:35px;max-width:620px}.login-choice{text-align:center}.login-buttons{justify-content:center}}
@media(max-width:650px){.form-grid,.quiz-options,.report-summary{grid-template-columns:1fr}.quiz-grid{grid-template-columns:1fr}.badge-grid{grid-template-columns:1fr 1fr}.modal{padding:20px}.submission-list article{align-items:flex-start;flex-direction:column}.report-grid article{flex-wrap:wrap}.certificate h1{font-size:34px}.certificate-border{padding:25px 15px}.nav-link{display:none}}
@media(max-width:650px){.curriculum-head{align-items:flex-start;flex-direction:column}.topic-title{align-items:flex-start}.sheet-row{flex-wrap:wrap}.option-fields,.worksheet-options{grid-template-columns:1fr}.student-sheet-grid>article{grid-template-columns:80px 1fr}.sheet-cover{min-height:110px}}
@media(max-width:650px){.board-tabs{flex-direction:column}.chapter-levels{grid-template-columns:1fr}.original-content-note{align-self:flex-start}}
@media(max-width:650px){.student-curriculum-head{align-items:flex-start;flex-direction:column;gap:15px}.student-chapter-grid article{grid-template-columns:36px 1fr}.student-chapter-grid article>button{grid-column:2}.chapter-sheet-sequence article{grid-template-columns:34px 1fr auto}.chapter-sheet-sequence article>button{grid-column:2/-1}}
@media(max-width:650px){.gym-intro{padding:28px 18px}.gym-intro h2{font-size:30px}.gym-features{align-items:stretch;flex-direction:column}.math-gym-player>header{align-items:flex-start;flex-direction:column;gap:14px}.gym-live-stats{width:100%;display:grid;grid-template-columns:1fr 1fr}.math-gym-player>main{padding:45px 18px}.math-gym-player h1{font-size:36px}.gym-options{grid-template-columns:1fr}}
@media(max-width:650px){.gym-section-grid{grid-template-columns:1fr}}
@media(max-width:650px){.dashboard-puzzle{align-items:flex-start;flex-direction:column}.dashboard-puzzle .button{width:100%}.puzzle-page{padding:18px}.puzzle-track{gap:4px}.puzzle-track span{width:27px;height:27px;font-size:10px}.active-puzzle-card{padding:28px 15px}.active-puzzle-card h1{font-size:24px}.puzzle-options{grid-template-columns:1fr}}
@media(max-width:650px){.dashboard-math-challenge{grid-template-columns:1fr}}
@media(max-width:1000px){.current-learning-row{grid-template-columns:1fr}.current-learning-row .dashboard-math-challenge{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.current-learning-row .dashboard-math-challenge{grid-template-columns:1fr}}
@media(max-width:650px){.calendar-toolbar{align-items:flex-start;flex-direction:column;gap:15px}.calendar-grid{grid-template-columns:1fr 1fr}.profile-hero{align-items:flex-start;flex-wrap:wrap}.profile-hero .button{width:100%}}
@media(max-width:650px){.class-frequency,.basic-info-card{grid-template-columns:1fr}.profile-hero .light-button{width:100%}}
@media(max-width:650px){.focus-sheet{min-height:580px}.focus-top{padding:18px}.focus-question{padding:28px 20px}.focus-question h2{font-size:23px}.focus-options{grid-template-columns:1fr}.focus-footer{padding:15px 18px;align-items:stretch;flex-direction:column}.focus-support{justify-content:space-between}.focus-footer .button{width:100%}}
@media(max-width:650px){.focus-top{grid-template-columns:38px 1fr}.practice-counters{grid-column:2;justify-self:end}.practice-counters span{width:30px;height:30px}}
@media(max-width:650px){.class-status{padding:9px 18px}.class-status b{display:none}.banner-actions{width:100%;flex-direction:column}.banner-actions .button{width:100%}.active-class-strip{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:700px){.current-worksheet{grid-template-columns:1fr}.current-visual{display:none}.current-copy{padding:28px 24px}.current-copy h2{font-size:28px}.current-meta{flex-wrap:wrap}.upcoming-sheets article{align-items:flex-start;flex-wrap:wrap}.due-chip{margin-left:54px;text-align:left}.upcoming-sheets article .outline-button{margin-left:auto}}
@media(max-width:500px){.simple-header{padding:20px}.simple-login{padding:25px 18px 55px}.login-choice h1{font-size:40px}.login-buttons{flex-direction:column}.daily-card{padding:20px}}
@media print{body>*:not(.modal-backdrop){display:none!important}.modal-backdrop{position:static;background:#fff;padding:0;display:block}.modal{box-shadow:none;max-height:none;width:100%!important}.modal-head,.modal-actions{display:none!important}.certificate{padding:0}.certificate-border{min-height:90vh;display:flex;flex-direction:column;justify-content:center}.print-report{padding:30px}}

/* Learning experience pass: clearer navigation, simpler curriculum and a four-part student home. */
.sidebar nav{align-items:stretch}
.sidebar .nav-link{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;justify-content:stretch;text-align:left;gap:11px;padding:9px 11px}
.sidebar .nav-link>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#ffffff0e;border:1px solid #ffffff14;color:#91e4c2;font:800 14px/1 Manrope,"Segoe UI",sans-serif}
.sidebar .nav-link:nth-child(3n+2)>span{color:#ffd07c;background:#ffd07c12}
.sidebar .nav-link:nth-child(3n)>span{color:#b8b0ff;background:#b8b0ff12}
.sidebar .nav-link.active>span{background:#fff;color:#16815c;border-color:#fff;box-shadow:0 4px 14px #071d2e38}

.curriculum-simple-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:8px 2px 15px;border-bottom:1px solid var(--line)}
.curriculum-simple-head h2{margin:3px 0;font-size:28px}.curriculum-simple-head p:last-child{margin:0;color:var(--muted)}
.curriculum-simple-head>span{padding:8px 11px;border-radius:999px;background:#e3f7ee;color:#126e50;font-size:12px;font-weight:800}
.curriculum-simple-controls{padding:0 0 8px}.curriculum-simple-controls .board-tabs{margin-top:0}.level-legend.compact{justify-content:flex-start;gap:18px;margin:5px 0 18px;padding:10px 13px}.level-legend.compact span{white-space:nowrap}

.student-overview-hub{margin:22px 0}.student-activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.student-activity-grid article{min-height:190px;display:grid;grid-template-rows:auto 1fr auto;gap:13px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 9px 26px rgba(22,43,73,.06)}
.student-activity-grid article>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;font:800 18px Manrope,"Segoe UI",sans-serif}
.student-activity-grid article small{font-weight:800;letter-spacing:.08em;color:var(--muted)}.student-activity-grid article h3{margin:5px 0;font-size:16px}.student-activity-grid article p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.student-activity-grid article>button{justify-self:start;border:0;background:transparent;color:#126e50;padding:0;font-weight:800;cursor:pointer}
.student-activity-grid .worksheet>span{background:#e6f3ff;color:#27669d}.student-activity-grid .challenge>span{background:#fff3cf;color:#9a6500}.student-activity-grid .gym>span{background:#e3f7ee;color:#16815c}.student-activity-grid .puzzle>span{background:#f1eaff;color:#7146b7}
.student-activity-grid article.done{border-color:#bce9d3;background:#fbfffd}.student-activity-grid article.active{border-color:#cce9df}
.gym-concept-label{display:inline-flex!important;width:max-content;margin:0 auto 12px;padding:7px 11px;border-radius:999px;background:#e3f7ee;color:#126e50;font-weight:800;letter-spacing:.04em}

@media(max-width:1100px){.student-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.sidebar .nav-link{grid-template-columns:1fr;justify-items:center}.sidebar .nav-link>span{width:38px;height:38px}.sidebar .nav-link{font-size:0}}
@media(max-width:650px){.student-activity-grid{grid-template-columns:1fr}.curriculum-simple-head{align-items:flex-start}.level-legend.compact{flex-wrap:wrap}.sidebar .nav-link{display:none}}

/* Theme B — green animated braces, navy type, and warm learning surfaces */
:root{--ink:#162b49;--muted:#68778a;--primary:#2dbb83;--primary-dark:#16815c;--accent:#f3ad3d;--surface:#f8f8f5;--line:#e6e9e4;--white:#fff;--shadow:0 18px 55px rgba(22,43,73,.11)}
body{background:var(--surface)}
/* Keep headings and the wordmark consistent when Google Fonts is slow or blocked. */
:where(.logo,h1,h2,h3,.math-question,.live-timer,.stat-grid strong,.subject-badge,.formula-cloud,.current-visual>span,.upcoming-number,.sheet-result h2,.focus-question h2){font-family:Manrope,"Segoe UI",Arial,sans-serif!important}
.site-page{background:linear-gradient(180deg,#fff 0,#fff9ef 100%)}
.theme-b-logo{gap:11px;color:#162b49;letter-spacing:-.45px}
.theme-b-logo .brand-wordmark b{color:#2dbb83;font:inherit;font-weight:900}
.chapter-review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin:0 0 20px;border:1px solid var(--line);border-radius:14px;background:#f8faf8}.chapter-review-toolbar>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chapter-review-toolbar span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.chapter-review-toolbar small{width:100%;color:var(--muted)}.chapter-only-review-note{margin:-6px 0 18px;color:var(--muted);font-size:13px}.chapter-review-toolbar .needs-button{white-space:nowrap}@media(max-width:650px){.chapter-review-toolbar{align-items:stretch;flex-direction:column}.chapter-review-toolbar>div:last-child{display:grid;grid-template-columns:1fr 1fr}.chapter-review-toolbar button{justify-content:center}}
.algebra-parts-visual .expression-stage{position:relative;min-height:235px;display:grid;place-items:center;padding:25px 20px 85px;background:linear-gradient(145deg,#f0fbf6,#fff8e9);border-radius:16px}.animated-expression{font:900 62px/1 "Segoe UI",Arial,sans-serif,'Segoe UI',sans-serif;color:#162b49;letter-spacing:2px}.animated-expression span{display:inline-block;animation:algebra-part-pop .6s cubic-bezier(.34,1.56,.64,1) both}.animated-expression .variable-part{color:#2dbb83;animation-delay:.25s}.animated-expression .constant-part{color:#e68d23;animation-delay:.5s}.expression-labels{position:absolute;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.expression-labels span{padding:8px;border-radius:10px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted);animation:algebra-label-rise .5s .65s ease both}.expression-labels b{display:block;margin-top:2px;text-transform:none;color:#162b49;font-size:11px}.mini-concept-cards{display:grid;gap:7px;margin:12px 0}.mini-concept-cards b{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.mini-concept-cards i{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#e3f7ee;color:#16815c;font-style:normal;font-size:17px}@keyframes algebra-part-pop{from{opacity:0;transform:translateY(-15px) scale(.7)}to{opacity:1;transform:none}}@keyframes algebra-label-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:650px){.expression-labels{position:static;margin-top:20px}.algebra-parts-visual .expression-stage{padding:25px 15px;display:block;text-align:center}.animated-expression{font-size:50px}.expression-labels{grid-template-columns:1fr}}
.embedded-linear-concept{margin:0 0 22px;padding:16px;border:1px solid #cfe9de;border-radius:16px;background:#fbfffd}.embedded-linear-concept .concept-visual-card{margin:10px 0 0}
.linear-formula-stage{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:24px;border-radius:16px;background:linear-gradient(145deg,#eef9f4,#fff8e8);text-align:center}.linear-formula-stage span{font:900 clamp(25px,4vw,43px) "Segoe UI",Arial,sans-serif,'Segoe UI',sans-serif;color:#16304f;animation:formula-slide-in .55s ease both}.linear-formula-stage i{display:block;width:70%;height:4px;border-radius:99px;background:linear-gradient(90deg,#2dbb83,#f3ad3d);transform-origin:left;animation:formula-line-grow .75s .25s ease both}.linear-formula-stage b{font-size:16px;color:#526579;animation:formula-answer-rise .55s .55s ease both}@keyframes formula-slide-in{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}@keyframes formula-line-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes formula-answer-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.theme-b-logo.logo-light{color:#fff}
.theme-b-logo .logo-mark{width:50px!important;height:50px!important;padding:0;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;overflow:visible}
.theme-b-logo .logo-mark:after{content:none}
.theme-b-logo .logo-mark svg{width:100%;height:100%;overflow:visible}
.theme-b-logo .brace{fill:none;stroke:#2dbb83;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:150;animation:theme-b-draw .8s ease both,theme-b-hug 3s 1.1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.theme-b-logo .brace-right{animation-delay:.14s,1.1s}
.theme-b-logo .pi-glyph{fill:#162b49;font:700 40px Georgia,serif;animation:theme-b-pop .58s .48s cubic-bezier(.34,1.56,.64,1) both;transform-origin:center;transform-box:fill-box}
.logo-light .pi-glyph{fill:#fff}
.theme-b-logo .brand-spark{fill:none;stroke:#f3ad3d;stroke-width:4;stroke-linecap:round;opacity:0;animation:theme-b-spark 3s 1.1s ease-in-out infinite}
.theme-b-logo:hover .logo-mark{transform:scale(1.04)!important}
@keyframes theme-b-draw{from{stroke-dashoffset:150}to{stroke-dashoffset:0}}
@keyframes theme-b-pop{from{opacity:0;transform:scale(.45) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes theme-b-hug{0%,65%,100%{transform:translateX(0)}35%{transform:translateX(2px)}}
@keyframes theme-b-spark{0%,20%,55%,100%{opacity:0;transform:scale(.5)}35%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.theme-b-logo *{animation:none!important}}
.button{background:#16815c;box-shadow:0 10px 24px rgba(22,129,92,.22)}.button:hover{background:#116b4d}
.button-secondary{background:#fff;color:#162b49;box-shadow:inset 0 0 0 1px var(--line)}
.teacher-banner .light-button{background:#fff;color:#16304f;box-shadow:0 8px 20px rgba(8,31,51,.18)}
.teacher-banner .light-button:hover{background:#fff5e4;color:#16304f}
.teacher-banner .light-button.subtle{background:#ffffff18;color:#fff;border:1px solid #ffffff55;box-shadow:none}
.teacher-banner .light-button.subtle:hover{background:#ffffff2b;color:#fff}
.pill,.role-chip,.score{background:#e3f7ee;color:#126e50}
.sidebar{background:#162b49;color:#d7e2e0}
.sidebar nav .nav-link:hover,.sidebar nav .nav-link.active{background:#244464;color:#fff}
.portal-save-status{border:0;border-radius:999px;padding:8px 12px;display:inline-flex;align-items:center;gap:7px;font:700 12px "Segoe UI",Arial,sans-serif;white-space:nowrap;transition:background .2s,color .2s,transform .2s}.portal-save-status span{width:8px;height:8px;border-radius:50%;background:currentColor}.portal-save-status:disabled{opacity:1;cursor:default}.portal-save-status.is-saved{background:#e5f7ef;color:#087a56}.portal-save-status.is-saving{background:#fff3d7;color:#9a6400}.portal-save-status.is-saving span{animation:portal-save-pulse 1s ease-in-out infinite}.portal-save-status.is-offline{background:#eef1f5;color:#5d6878}.portal-save-status.is-error{background:#fde9e9;color:#b62e2e;cursor:pointer}.portal-save-status.is-error:hover{transform:translateY(-1px);background:#fbdcdc}@keyframes portal-save-pulse{50%{opacity:.35;transform:scale(.72)}}
@media(max-width:650px){.portal-save-status{padding:7px 9px}.portal-save-status b{font-size:0}.portal-save-status b:after{content:'Save';font-size:11px}}
.teacher-banner,.current-worksheet{background:linear-gradient(135deg,#16304f,#1e755f)}
.challenge-card{background:linear-gradient(160deg,#16304f,#1d705d)}
.current-copy>p,.current-meta span,.current-visual small,.teacher-banner p,.challenge-card small{color:#d8eee7}
.hero-card,.panel,.inline-sheet-shell,.puzzle-page{border-color:#e9e2d7}
.daily-card{box-shadow:0 20px 55px rgba(22,43,73,.12),0 0 0 8px #fff5e4}
.stat-icon,.activity-list p>span,.question-number{background:#e4f7ef;color:#16815c}
.avatar{background:#e4f7ef;color:#126e50}
.ist-clock{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.ist-clock b{font:800 15px "Segoe UI",Arial,sans-serif;color:#16304f;font-variant-numeric:tabular-nums}.ist-clock span{margin-top:4px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
.schedule-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto!important}.schedule-actions .danger-button,.schedule-actions .outline-button,.schedule-actions .button{white-space:nowrap}
.class-subject-chip{display:inline-block!important;margin-left:6px;padding:4px 8px;border-radius:999px;font-size:9px!important;font-style:normal;text-transform:uppercase;letter-spacing:.5px}.class-subject-chip.math{background:#e4f7ef;color:#126e50}.class-subject-chip.coding{background:#e8efff;color:#2458a6}#class-subject-help{display:block;margin-top:6px;color:var(--muted);font-size:11px}
.demo-chapter-card{border:2px dashed #2dbb83;background:linear-gradient(145deg,#f1fbf7,#fff9ef)}.demo-chapter-card .chapter-number{width:auto;padding:0 10px;background:#16304f;color:#fff;font-size:10px}.demo-chapter-card:before{content:'TEST READY';position:absolute;right:15px;top:15px;background:#e4f7ef;color:#126e50;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900;letter-spacing:.7px}.demo-chapter-card{position:relative}
.coding-placement-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f1f8ff;border:1px solid #d7e7f7;border-radius:14px;padding:15px}.coding-placement-fields>p,.coding-placement-fields>small{grid-column:1/-1;margin:0}.coding-placement-fields label{margin:0}.coding-placement-fields>small{color:var(--muted)}
@media(max-width:650px){.coding-placement-fields{grid-template-columns:1fr}.coding-placement-fields>p,.coding-placement-fields>small{grid-column:1}}
.live-student-tabs{display:flex;gap:9px;overflow-x:auto;margin:-4px 0 16px;padding:5px 2px 10px}.live-student-tabs button{min-width:155px;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);padding:11px 14px;cursor:pointer}.live-student-tabs button>span{grid-row:1/3;color:#2dbb83;font-size:12px}.live-student-tabs button>b{font-size:13px}.live-student-tabs button>small{color:var(--muted);font-size:10px}.live-student-tabs button.active{background:#16304f;color:#fff;border-color:#16304f;box-shadow:0 8px 20px rgba(22,48,79,.18)}.live-student-tabs button.active small{color:#cce6dd}.live-selected-student{max-width:920px}.live-selected-student .live-student-card{width:100%}
@media(max-width:750px){.schedule-list>article{align-items:flex-start;flex-wrap:wrap}.schedule-actions{width:100%;justify-content:flex-start;margin-left:47px}.schedule-actions .button{box-shadow:none}}
.progress-line span,.mini-progress span,.focus-progress span{background:linear-gradient(90deg,#2dbb83,#64cea7)}
.text-button,.eyebrow,.upcoming-number{color:#16815c}
.worksheet-options input:checked+span,.focus-options input:checked+span{border-color:#2dbb83;background:#edf9f4;color:#126e50}
.focus-options input:checked+span b{background:#16815c}
.session-duration,.library-summary{background:#fff3df;color:#755018}
.focus-options:has(>button){gap:18px}.focus-options button>span{min-height:68px;display:flex;align-items:center;gap:15px;border:2px solid var(--line);border-radius:14px;background:#fff;padding:16px 18px;font-weight:700;line-height:1.4}.focus-options button>span b{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#e4f7ef;color:#126e50}.focus-options button:hover>span{border-color:#2dbb83;background:#f2fbf7}.coding-live-activity{border-left:4px solid #3977c8;padding-left:15px}
@media(max-width:650px){.focus-options:has(>button){gap:13px}.focus-options button>span{min-height:60px;padding:13px 14px}}
.teacher-live-counters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.teacher-live-counters>span{width:auto;height:auto;min-height:62px;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:9px}.teacher-live-counters b{font:800 20px "Segoe UI",Arial,sans-serif}.teacher-live-counters small{margin-top:3px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.codeorg-sequence{display:grid;gap:10px}.codeorg-sequence>article{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:13px;border:1px solid var(--line);border-radius:14px;padding:13px}.codeorg-sequence>article>span{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#eef1f5;color:var(--muted);font-weight:900}.codeorg-sequence h3{margin:0 0 4px;font-size:15px}.codeorg-sequence small{color:var(--muted)}.codeorg-sequence article.opened{border-color:#3977c8;background:#f3f7ff}.codeorg-sequence article.opened>span{background:#3977c8;color:#fff}.codeorg-sequence article.completed{border-color:#a9dfcc;background:#f3fcf8}.codeorg-sequence article.completed>span{background:#2dbb83;color:#fff}.codeorg-sequence article.locked{opacity:.58;background:#f7f8fa}.codeorg-actions{display:flex;gap:8px;align-items:center}.button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}
@media(max-width:650px){.codeorg-sequence>article{grid-template-columns:36px 1fr}.codeorg-sequence>article>button,.codeorg-actions{grid-column:2;width:100%}.codeorg-actions{align-items:stretch;flex-direction:column}.codeorg-actions>*{width:100%}}
.teacher-finish-codeorg{margin:4px 0 14px;box-shadow:none}
.calendar-day>button.schedule-done{background:#eceef1!important;color:#89919d!important;border:1px solid #dfe2e6;text-decoration:none;filter:grayscale(1)}.calendar-day>button.schedule-done b,.calendar-day>button.schedule-done span{color:#89919d}.calendar-day>button.schedule-done em{display:inline-block;margin-top:5px;border-radius:999px;background:#d7dbe0;color:#68717d;padding:2px 5px;font-size:7px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.5px}.calendar-day>button.schedule-live{background:#e4f7ef!important;color:#126e50!important;box-shadow:inset 0 0 0 1px #9fd8c4}.calendar-day>button.schedule-live:after{content:'LIVE';float:right;margin-top:-18px;font-size:7px;font-weight:900;color:#16815c}
.profile-hero{background:linear-gradient(135deg,#16304f,#24506d)}.profile-hero .button,.profile-hero .light-button{background:#fff!important;color:#16304f!important;border:1px solid #ffffffcc;box-shadow:0 7px 18px rgba(7,26,44,.2)}.profile-hero .button:hover,.profile-hero .light-button:hover{background:#fff5e4!important;color:#16304f!important;transform:translateY(-1px)}.profile-hero .delete-student-button{background:transparent!important;color:#ffd9d9!important;border:1px solid #ffb5b5;box-shadow:none}.profile-hero .delete-student-button:hover{background:#fff0f0!important;color:#9f2d38!important}.profile-hero p{color:#d8e7eb}.profile-hero .eyebrow{color:#b9ded1}
.overview-welcome,.student-overview-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#fff8e9,#f0fbf6);border:1px solid #e8dfd1;border-radius:20px;padding:25px 28px;margin-bottom:14px}.overview-welcome h2,.student-overview-hero h2{font:800 29px "Segoe UI",Arial,sans-serif;margin:5px 0}.overview-welcome p:last-child,.student-overview-hero p:last-child{margin:0;color:var(--muted)}.overview-quick-actions{display:flex;gap:8px}.overview-quick-actions button{border:1px solid #d9dfda;background:#fff;color:#16304f;border-radius:11px;padding:10px 13px;font-weight:800;cursor:pointer}.overview-quick-actions button:hover{border-color:#2dbb83;background:#f2fbf7}.overview-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.overview-metrics article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px 17px}.overview-metrics span,.overview-metrics small{display:block;color:var(--muted);font-size:10px}.overview-metrics b{display:block;font:800 24px "Segoe UI",Arial,sans-serif;margin:4px 0;color:#16304f}.overview-two-column{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:14px}.today-plan>article{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.today-plan time{font-weight:900;color:#16304f}.today-plan b,.today-plan small{display:block}.today-plan small{color:var(--muted)}.today-plan em{border-radius:999px;background:#fff3df;color:#755018;padding:5px 8px;font-size:8px;font-style:normal;font-weight:900}.today-plan article.done{opacity:.55;filter:grayscale(1)}.today-plan article.live em{background:#e4f7ef;color:#126e50}.student-snapshot>article{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;padding:11px 0;border-top:1px solid var(--line)}.student-snapshot b,.student-snapshot small{display:block}.student-snapshot small,.student-snapshot p{color:var(--muted);font-size:10px}.student-snapshot p{margin:4px 0 0}.overview-empty{text-align:center;color:var(--muted);padding:25px}.overview-empty .outline-button{margin:auto}
.student-overview-hero.live{background:linear-gradient(135deg,#16304f,#24506d);color:#fff;border:0}.student-overview-hero.live p{color:#d8e7eb}.student-overview-hero.live .eyebrow{color:#8fe0bf}.student-overview-hero.live .button{background:#fff;color:#16304f;box-shadow:none}.next-class-pill{min-width:250px;background:#fff;border:1px solid #e7e3db;border-radius:14px;padding:13px 16px}.next-class-pill span,.next-class-pill b,.next-class-pill small{display:block}.next-class-pill span,.next-class-pill small{color:var(--muted);font-size:10px}.next-class-pill b{margin:4px 0;font-size:13px}.student-overview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.student-overview-stats article{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 15px}.student-overview-stats b{font:800 21px "Segoe UI",Arial,sans-serif;color:#16815c}.student-overview-stats span{color:var(--muted);font-size:11px}.student-subject-list{display:grid;gap:12px}.student-subject-card{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:17px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px}.student-subject-card>span{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:#e4f7ef;color:#126e50;font:800 22px "Segoe UI",Arial,sans-serif}.student-subject-card.coding>span{background:#e8efff;color:#2458a6;font-size:15px}.student-subject-card h2{font:800 21px "Segoe UI",Arial,sans-serif;margin:3px 0}.student-subject-card p{color:var(--muted);margin:4px 0 10px}.student-subject-card .button{box-shadow:none}
@media(max-width:900px){.overview-welcome,.student-overview-hero{align-items:flex-start;flex-direction:column}.overview-quick-actions{width:100%;flex-wrap:wrap}.overview-two-column{grid-template-columns:1fr}.overview-metrics{grid-template-columns:1fr 1fr}.next-class-pill{width:100%}}
@media(max-width:650px){.student-subject-card{grid-template-columns:45px 1fr}.student-subject-card>.button{grid-column:2;width:100%}.student-overview-stats{grid-template-columns:1fr}.overview-quick-actions button{flex:1}.today-plan>article{grid-template-columns:58px 1fr}.today-plan>article em{grid-column:2;justify-self:start}}
.work-type{display:inline-block;color:inherit;font-size:9px;font-weight:900;letter-spacing:.55px;text-transform:uppercase}.work-type.homework{color:#9a620b}.work-type.classwork{color:#2458a6}.sheet-unavailable,.student-subject-card.outside-class{background:#f5f6f7!important;border-color:#e1e4e7!important}.sheet-unavailable{opacity:.72}.student-subject-card.outside-class>span{filter:grayscale(1);opacity:.65}.homework-assign-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;padding:13px 15px;border:1px solid #f0cc8e;border-radius:13px;background:#fff7e8}.homework-assign-bar b,.homework-assign-bar small{display:block}.homework-assign-bar small{margin-top:3px;color:#7d633a}
.today-work-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:20px 2px 10px}.today-work-head h2{margin:3px 0;font:800 22px "Segoe UI",Arial,sans-serif}.today-work-head>span{color:var(--muted);font-size:10px}.result-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;width:min(520px,100%);margin:18px auto}.result-summary-cards span{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px;color:var(--muted);font-size:10px}.result-summary-cards b{color:#16304f;font:800 21px "Segoe UI",Arial,sans-serif}.achievement-pill{display:inline-block;margin:2px auto 18px;border-radius:999px;background:#fff3df;color:#755018;padding:9px 15px;font-weight:900}.celebration-badge{width:92px;height:92px;margin:0 auto 15px;border-radius:28px;display:grid;place-items:center;background:#e4f7ef;color:#126e50;font:900 24px "Segoe UI",Arial,sans-serif;transform:rotate(-3deg)}.result-review{width:min(700px,100%);margin:0 auto 20px;text-align:left}.result-review summary{cursor:pointer;color:#16815c;font-weight:900;text-align:center;padding:10px}.coding-result .hero-actions{justify-content:center}
@media(max-width:650px){.today-work-head{align-items:flex-start;flex-direction:column;gap:3px}.result-summary-cards{grid-template-columns:1fr 1fr 1fr}}
.sheet-assignment-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0;padding:12px 14px;border-radius:13px;background:#f5f7f8;border:1px solid var(--line)}.sheet-assignment-summary>b{margin-right:5px}.sheet-assignment-summary>span{display:flex;align-items:center;gap:6px;border-radius:999px;background:#fff;padding:6px 9px;font-size:10px}.sheet-assignment-summary em{border-radius:999px;padding:3px 6px;font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase}.sheet-assignment-summary em.homework{background:#fff3df;color:#8b5a0b}.sheet-assignment-summary em.classwork{background:#e8efff;color:#2458a6}.sheet-assignment-summary small{color:var(--muted)}
.single-puzzle-page .active-puzzle-card{margin-top:30px}.single-puzzle-page>header .role-chip{white-space:nowrap}
.live-student-card footer.live-actions-only{justify-content:flex-end}.live-student-card footer.live-actions-only .live-class-actions{margin-left:auto}
.student-live-practice-head{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px 20px;margin-bottom:12px}.student-live-practice-head h2{font:800 22px "Segoe UI",Arial,sans-serif;margin:3px 0}.student-live-practice-head small{color:var(--muted)}
@media(max-width:650px){.student-live-practice-head{align-items:flex-start;flex-direction:column}.student-live-practice-head .live-timer{align-self:stretch}}
.ask-teacher-button{position:fixed;right:24px;bottom:24px;z-index:30;display:grid;grid-template-columns:38px auto;gap:1px 10px;align-items:center;text-align:left;border:0;border-radius:16px;background:#16304f;color:#fff;padding:12px 17px 12px 12px;box-shadow:0 12px 30px rgba(15,37,62,.28);cursor:pointer}.ask-teacher-button>span{grid-row:1/3;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#f3ad3d;color:#583800;font:900 21px "Segoe UI",Arial,sans-serif}.ask-teacher-button b{font-size:13px}.ask-teacher-button small{color:#cce0e5;font-size:9px}.ask-teacher-button.open{background:#8b6720}.ask-teacher-button.open>span{background:#fff3c8}.ask-teacher-button.acknowledged{background:#16815c}.ask-teacher-button:disabled{cursor:default;opacity:1}.live-doubt-alert{display:flex;align-items:center;gap:12px;background:#fff3df;border:2px solid #f3ad3d;color:#65420d;border-radius:14px;padding:12px 14px;margin:14px 0}.live-doubt-alert>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f3ad3d;color:#513200;font:900 20px "Segoe UI",Arial,sans-serif}.live-doubt-alert>div{flex:1}.live-doubt-alert b,.live-doubt-alert small{display:block}.live-doubt-alert small{margin-top:3px}.live-doubt-alert button{border:0;border-radius:9px;background:#16304f;color:#fff;padding:9px 11px;font-weight:800;cursor:pointer}.live-doubt-ack{margin:12px 0;border-radius:10px;background:#e4f7ef;color:#126e50;padding:9px 12px;font-size:11px;font-weight:800}
@media(max-width:650px){.ask-teacher-button{right:14px;bottom:14px}.live-doubt-alert{align-items:flex-start;flex-wrap:wrap}.live-doubt-alert button{width:100%;margin-left:46px}}
.live-student-tabs button.has-doubt{border:2px solid #e39a27;background:#fff6e5;box-shadow:0 0 0 4px #fff0cf;color:#68420a}.live-student-tabs button.has-doubt>span{color:#d47912;animation:doubt-pulse 1.1s ease-in-out infinite}.live-student-tabs button.has-doubt small{color:#8a642e}.live-student-tabs button.has-doubt em{grid-column:2;justify-self:start;margin-top:4px;border-radius:999px;background:#c94b35;color:#fff;padding:3px 7px;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.7px}.live-student-tabs button.has-doubt.active{background:#704610;color:#fff;border-color:#f3ad3d}.live-student-tabs button.has-doubt.active small{color:#ffe4b8}.live-global-doubt{display:flex;align-items:center;gap:10px;background:#fff5e2;border:1px solid #f3c269;color:#68420a;border-radius:12px;padding:10px 13px;margin-bottom:12px}.live-global-doubt>b{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#f3ad3d}.live-global-doubt span{flex:1;font-weight:800;font-size:12px}.live-global-doubt button{border:0;background:transparent;color:#8c5810;font-weight:900;cursor:pointer}@keyframes doubt-pulse{50%{opacity:.35;transform:scale(.8)}}
.curriculum-search{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;margin:14px 0;border:1px solid var(--line);border-radius:14px;background:#fff;padding:7px 8px}.curriculum-search>span{display:grid;place-items:center;color:#16815c;font-size:20px}.curriculum-search input{border:0!important;box-shadow:none!important;padding:9px!important}.curriculum-search button{border:0;border-radius:9px;background:#edf7f3;color:#126e50;padding:9px 12px;font-weight:900;cursor:pointer}.chapter-sheet-sequence{position:relative}.chapter-sheet-sequence:before{content:'';position:absolute;left:22px;top:25px;bottom:25px;width:3px;background:#e1e6e4}.chapter-sheet-sequence article{position:relative}.chapter-sheet-sequence article>span:first-child{z-index:1}.chapter-sheet-sequence article.completed>span:first-child{background:#2dbb83;color:#fff}.chapter-sheet-sequence article.sheet-unavailable>span:first-child{background:#e2e5e8;color:#89919d}.perfect-review{color:#126e50;font-weight:800}.action-required{margin-top:14px}
.learning-balance{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0;padding:14px 16px;border-radius:16px;background:#f5f8ff;border:1px solid #dce5f5}.learning-balance>b{margin-right:4px;color:#152540}.question-learning-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:9px}.question-tools .question-learning-tags{margin:0}.learning-tag,.difficulty-tag{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.learning-tag{background:#eaf2ff;color:#2356a8}.skill-fluency{background:#e7f8f1;color:#14754d}.skill-understanding{background:#eaf2ff;color:#2356a8}.skill-application{background:#fff1d9;color:#945a00}.skill-reasoning{background:#f2eaff;color:#6840a2}.skill-advanced{background:#ffe8df;color:#a44320}.skill-olympiad{background:#152540;color:#fff}.difficulty-tag{background:#f2f4f8;color:#566276}.sheet-preview>article .question-learning-tags{margin-bottom:10px}
.coordinate-quality-panel{margin-bottom:18px;background:linear-gradient(135deg,#f7fbff,#f4f0ff);border:1px solid #dce4f5}.quality-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:15px 0}.quality-metrics span{padding:13px;border-radius:14px;background:#fff;border:1px solid #e1e7f1;color:#667085;font-size:12px}.quality-metrics b{display:block;color:#17233d;font-size:21px}.coordinate-quality-panel details{padding:12px 14px;border-radius:14px;background:#fff}.coordinate-quality-panel summary,.worked-solution summary{cursor:pointer;font-weight:800;color:#244d91}.coordinate-quality-panel h4{margin:14px 0 5px}.coordinate-quality-panel p{margin:0;color:#5d687c;line-height:1.65}.worked-solution{margin-top:12px;padding:11px 13px;border-radius:12px;background:#f6f9ff;border:1px solid #dce6f6}.worked-solution p{margin:9px 0 5px;line-height:1.55;color:#293750}.worked-solution small{color:#70809a}@media(max-width:760px){.quality-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.concept-intro-page{max-width:960px;margin:0 auto;padding:28px;border-radius:28px;background:#fff;border:1px solid #dfe6f2;box-shadow:0 18px 50px rgba(26,46,79,.1)}.concept-intro-page>header{display:flex;align-items:flex-start;gap:18px;padding-bottom:20px;border-bottom:1px solid #e7ebf2}.concept-intro-page>header>div{flex:1}.concept-intro-page h1{margin:3px 0 5px;font-size:clamp(27px,4vw,42px);color:#172640}.concept-intro-page header p{margin:0;color:#69758a}.concept-story{padding:24px 4px 14px;font-size:16px;line-height:1.75;color:#435169}.concept-lead{font-size:21px!important;font-weight:800;color:#1b3156!important;line-height:1.45!important}.concept-example{margin:8px 0 20px;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,#edf5ff,#f5f0ff);border-left:5px solid #426dc2}.concept-example span{font-size:11px;font-weight:900;letter-spacing:.1em;color:#4264a2}.concept-example p{margin:8px 0 0;font-size:17px;line-height:1.6;color:#253753}.concept-learning-grid{display:none!important}.concept-intro-page>footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding-top:20px;border-top:1px solid #e7ebf2}.concept-intro-page>footer small{max-width:540px;color:#6a7689;line-height:1.5}@media(max-width:720px){.concept-intro-page{padding:19px}.concept-intro-page>header{flex-wrap:wrap}.concept-intro-page>footer{align-items:stretch;flex-direction:column}.concept-intro-page>footer .button{width:100%}}
.concept-visual-card{display:grid;grid-template-columns:minmax(280px,1fr) 1fr;gap:22px;align-items:center;margin:10px 0 22px;padding:18px;border-radius:22px;background:#f8fbff;border:1px solid #dbe6f5;overflow:hidden}.concept-svg-wrap{min-height:210px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:#fff}.concept-svg-wrap svg{width:100%;max-height:265px;overflow:visible}.concept-visual-copy{padding:8px}.concept-visual-copy>span{font-size:11px;font-weight:900;letter-spacing:.12em;color:#5274ad}.concept-visual-copy h3{margin:7px 0 9px;font-size:23px;color:#1d3356}.concept-visual-copy p{color:#526078;line-height:1.65}.formula-chip{display:block;margin:14px 0;padding:12px 14px;border-radius:12px;background:#172d50;color:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:15px;line-height:1.45}.visual-calculation{font-size:14px}.quadrant-label{fill:#536784;font-size:13px;font-weight:800}.concept-point{transform-box:fill-box;transform-origin:center;animation:conceptPointIn 1.1s cubic-bezier(.2,.8,.2,1) both}.plot-path{stroke-dasharray:420;stroke-dashoffset:420;animation:drawPlot 1.5s ease-out .2s forwards}.midpoint-pulse{transform-box:fill-box;transform-origin:center;animation:midpointPulse 1.8s ease-in-out infinite}@keyframes conceptPointIn{0%{transform:scale(0);opacity:0}65%{transform:scale(1.5);opacity:1}100%{transform:scale(1)}}@keyframes drawPlot{to{stroke-dashoffset:0}}@keyframes midpointPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.45);opacity:.55}}@media(prefers-reduced-motion:reduce){.concept-point,.plot-path,.midpoint-pulse{animation:none!important;stroke-dashoffset:0}}@media(max-width:760px){.concept-visual-card{grid-template-columns:1fr}.concept-svg-wrap{min-height:190px}.concept-visual-copy h3{font-size:20px}}
.teacher-concept-action{margin:0 0 16px;width:100%;padding:12px 16px;border-style:dashed}.teacher-concept-preview>.concept-intro-page{box-shadow:none;max-width:none;margin-top:12px}.teacher-concept-preview .modal-head{position:sticky;top:0;z-index:3;background:#fff;padding-bottom:12px}

/* Lower-primary concept previews: one visual scene, one short rule, motion only when it teaches. */
.g1-concept-preview .modal-head{align-items:center}.g1-concept-back{flex:0 0 auto;white-space:nowrap;color:#17365f;border-color:#cddbd6;background:#fff;font-weight:800}.g1-concept-back:hover{border-color:#168a68;background:#eefaf5;color:#087154}@media(max-width:620px){.g1-concept-preview .modal-head{align-items:flex-start;flex-direction:column-reverse}.g1-concept-back{align-self:flex-end}}
.g1-concept-preview{--g1-ink:#112a4d;--g1-muted:#52657e}.g1-concept-preview .modal-head{border-bottom:1px solid #dfe8e4}.g1-concept-page{max-width:1080px}.g1-concept-preview .g1-concept-visual{grid-template-columns:minmax(360px,1.35fr) minmax(250px,.65fr);margin:0;padding:20px;box-shadow:0 10px 30px rgba(30,66,94,.07)}.g1-concept-preview .concept-svg-wrap{min-height:300px}.g1-concept-preview .concept-svg-wrap svg{max-height:330px}.g1-concept-preview .concept-visual-copy{padding:12px 16px}.g1-concept-preview .concept-visual-copy p{margin:0;color:var(--g1-muted)}.g1-concept-preview .formula-chip{color:#fff!important;text-align:center;box-shadow:0 5px 14px rgba(29,78,216,.2)}.g1-motion-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.g1-motion-choices span{display:flex;align-items:center;gap:7px;min-height:48px;padding:8px 9px;border:1px solid #c9daf9;border-radius:12px;background:#fff;color:#29456b;font-size:12px}.g1-motion-choices b{color:#2563eb;font-size:18px}.g1-motion-choices strong{color:#12315e}.g1-roll-object,.g1-slide-object{transform-box:fill-box;transform-origin:center}.g1-roll-object{animation:g1-roll-down 4.2s cubic-bezier(.45,0,.2,1) infinite}.g1-slide-object{animation:g1-slide-down 4.2s cubic-bezier(.45,0,.2,1) infinite}.g1-motion-arrow{stroke-dasharray:9 7;animation:g1-arrow-flow 1.2s linear infinite}.g1-can-motion{display:inline-block;transform-origin:center;animation:g1-can-rock 2.4s ease-in-out infinite}@keyframes g1-roll-down{0%,18%{transform:translate(0,0) rotate(0)}68%,86%{transform:translate(-33px,24px) rotate(-300deg)}100%{transform:translate(0,0) rotate(-360deg)}}@keyframes g1-slide-down{0%,18%{transform:translate(0,0)}68%,86%{transform:translate(-35px,25px)}100%{transform:translate(0,0)}}@keyframes g1-arrow-flow{to{stroke-dashoffset:-32}}@keyframes g1-can-rock{0%,100%{transform:rotate(0)}35%{transform:rotate(-18deg)}70%{transform:rotate(16deg)}}@media(prefers-reduced-motion:reduce){.g1-roll-object,.g1-slide-object,.g1-motion-arrow,.g1-can-motion{animation:none!important}}@media(max-width:760px){.g1-concept-preview .g1-concept-visual{grid-template-columns:1fr;padding:12px}.g1-concept-preview .concept-svg-wrap{min-height:215px}.g1-concept-preview .concept-svg-wrap svg{max-height:240px}.g1-motion-choices{grid-template-columns:1fr}}
.ns-concept-v3{display:grid;grid-template-columns:minmax(260px,1.05fr) minmax(240px,.95fr);gap:22px;align-items:center}.ns-visual-stage{min-height:210px;border-radius:24px;background:linear-gradient(145deg,#eef8ff,#fff7e9);display:grid;place-items:center;padding:22px;overflow:hidden}.ns-set-stack{position:relative;width:250px;height:175px}.ns-set-stack i{position:absolute;inset:0;border:3px solid #315d9c;border-radius:50%;display:flex;align-items:flex-start;justify-content:center;padding-top:8px;font-style:normal;font-weight:800;color:#17365f}.ns-set-stack i:nth-child(2){inset:25px 26px;border-color:#2cb67d}.ns-set-stack i:nth-child(3){inset:48px 51px;border-color:#f59e0b}.ns-set-stack i:nth-child(4){inset:70px 75px;border-color:#ef6c78}.ns-set-stack i:nth-child(5){inset:92px 98px;background:#fff;border-color:#7157d9}.ns-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}.ns-split b{padding:24px 12px;border-radius:20px;background:#dff7ec;color:#126043;text-align:center}.ns-split b+ b{background:#eee9ff;color:#4937a4}.ns-split small{display:block;margin-top:12px;font-size:14px;line-height:1.6}.ns-decimal-steps{display:grid;gap:9px;width:min(100%,310px)}.ns-decimal-steps>*{padding:10px 16px;border-radius:12px;background:#fff;color:#17365f;box-shadow:0 5px 15px #17365f14}.ns-decimal-steps strong{background:#2cb67d;color:#fff}.ns-numberline{width:100%;max-width:370px}.ns-numberline path{fill:none;stroke:#315d9c;stroke-width:3}.ns-numberline circle{fill:#2cb67d}.ns-numberline text{font-weight:800;fill:#17365f}.ns-rule-motion{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;text-align:center}.ns-rule-motion b{padding:18px;border-radius:16px;background:#fff;color:#315d9c}.ns-rule-motion span{font-size:30px;color:#2cb67d}.ns-rule-motion strong{grid-column:1/-1;color:#17365f}@media(max-width:720px){.ns-concept-v3{grid-template-columns:1fr}.ns-visual-stage{min-height:180px}}
.focus-top{grid-template-columns:minmax(145px,auto) 1fr auto}.focus-close{width:auto;min-width:138px;padding:0 14px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800;white-space:nowrap}@media(max-width:700px){.focus-top{grid-template-columns:1fr auto}.focus-close{grid-column:1/-1;justify-self:start}.focus-top>div:nth-child(2){grid-column:1}.practice-counters{grid-column:2}}
.chapter-summary-entry{margin:18px 0;padding:18px 20px;border:1px solid #bcd8ff;border-radius:18px;background:linear-gradient(120deg,#eef7ff,#f7f3ff);display:flex;align-items:center;justify-content:space-between;gap:18px}.chapter-summary-entry span,.chapter-summary-sheet header>span,.chapter-summary-student>span{font-size:11px;font-weight:900;letter-spacing:.13em;color:#315d9c}.chapter-summary-entry h3{margin:5px 0}.chapter-summary-entry p{margin:0;color:var(--muted)}.chapter-summary-sheet header{padding:24px;border-radius:22px;background:linear-gradient(135deg,#17365f,#315d9c);color:#fff}.chapter-summary-sheet header p{margin-bottom:0;color:#dceaff}.summary-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}.summary-columns article{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}.summary-columns li{margin:9px 0;line-height:1.45}.summary-columns article+article p{padding:12px;border-radius:11px;background:#f4f7fb;font-weight:700}.chapter-summary-student{width:100%;margin:0 0 16px;padding:17px 20px;border:1px solid #bcd8ff;border-radius:16px;background:#eef7ff;display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;text-align:left;color:var(--ink);cursor:pointer}.chapter-summary-student b,.chapter-summary-student small{display:block}.chapter-summary-student small{margin-top:4px;color:var(--muted)}@media(max-width:700px){.summary-columns{grid-template-columns:1fr}.chapter-summary-entry{align-items:flex-start;flex-direction:column}.chapter-summary-student{grid-template-columns:1fr}.chapter-summary-student>span{display:block}}
.identity-concept-visual{background:linear-gradient(135deg,#f1f8ff,#fff8ed)}.identity-visual-stage{min-height:230px;display:grid;place-items:center;padding:24px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px #e2eaf5}.identity-formula{font:800 20px/1.45 "Segoe UI",Arial,sans-serif,'Segoe UI',sans-serif;color:#18345c;padding:12px 14px;border-radius:12px;background:#eaf3ff}.identity-area{width:190px;height:190px;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:2fr 1fr;gap:4px;animation:identity-rise 2.4s ease-in-out infinite}.identity-area i{display:grid;place-items:center;font:800 22px "Segoe UI",Arial,sans-serif;font-style:normal;border-radius:8px;color:#17345d}.area-a{background:#9fd8ff}.area-ab,.area-ba{background:#a9ebd0}.area-b{background:#ffd58f}.identity-balance{width:100%;display:grid;gap:14px;text-align:center}.identity-balance>div{display:flex;align-items:center;justify-content:center;gap:13px}.identity-balance b{padding:13px 18px;border-radius:14px;background:#9fd8ff;font-size:24px}.identity-balance i{height:4px;background:#284f83;border-radius:5px;animation:balance-rock 2.6s ease-in-out infinite}.identity-balance strong{padding:8px 12px;border-radius:999px;background:#36b887;color:#fff}.identity-balance small{font-size:17px;font-weight:800;color:#1d3557}.identity-factor{text-align:center}.identity-factor>b{display:block;font-size:34px;color:#17345d}.identity-factor>span{display:block;margin:14px;color:#6b7890}.identity-factor>div{display:flex;gap:10px}.identity-factor i{padding:13px 16px;border-radius:12px;background:#a9ebd0;font:800 20px "Segoe UI",Arial,sans-serif;font-style:normal;animation:factor-split 2.4s ease-in-out infinite}.identity-cube{display:grid;grid-template-columns:repeat(4,58px);gap:8px;align-items:end}.identity-cube i{display:grid;place-items:center;height:58px;border-radius:13px;background:#9fd8ff;font:900 25px "Segoe UI",Arial,sans-serif;font-style:normal;animation:cube-pop 2.4s ease-in-out infinite}.identity-cube i:nth-child(2),.identity-cube i:nth-child(3){height:92px;background:#a9ebd0}.identity-cube small{grid-column:1/-1;text-align:center;font-weight:800;color:#607089}.identity-transform{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.identity-transform b{padding:14px;border-radius:13px;background:#eaf3ff;color:#17345d;animation:identity-rise 2.2s ease-in-out infinite}.identity-transform b:nth-of-type(2){background:#a9ebd0}.identity-transform b:nth-of-type(3){background:#ffd58f}.identity-transform span{font-size:24px;color:#54749c}@keyframes identity-rise{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes balance-rock{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}@keyframes factor-split{0%,100%{transform:translateX(-4px)}50%{transform:translateX(4px)}}@keyframes cube-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}@media(max-width:720px){.identity-concept-visual{grid-template-columns:1fr}.identity-visual-stage{min-height:190px}.identity-area{width:160px;height:160px}.identity-cube{grid-template-columns:repeat(4,46px)}}
.answer-format-label{display:inline-flex;align-items:center;margin:8px 0 14px;padding:7px 11px;border-radius:999px;background:#edf5ff;color:#315d9c;font-size:12px;font-weight:850;letter-spacing:.02em;border:1px solid #cfe0f6}
.g7-concept-visual{background:linear-gradient(135deg,#fff5d9,#eefaff)}.g7-visual-stage{min-height:220px;display:grid;place-items:center;padding:24px;border-radius:18px;background:#fff}.g7-shape-play{display:flex;gap:18px;align-items:center}.g7-shape-play i{font:900 58px 'Segoe UI';font-style:normal;color:#315d9c;animation:g7-float 2.6s ease-in-out infinite}.g7-shape-play i:nth-child(2){color:#2cb67d;animation-delay:.25s}.g7-shape-play i:nth-child(3){color:#f59e0b;animation-delay:.5s}.g7-bars{height:150px;display:flex;align-items:end;gap:14px}.g7-bars i{width:38px;height:45%;border-radius:9px 9px 3px 3px;background:#9fd8ff;animation:g7-bars 2.8s ease-in-out infinite}.g7-bars i:nth-child(2){height:75%;background:#a9ebd0}.g7-bars i:nth-child(3){height:58%;background:#ffd58f}.g7-bars i:nth-child(4){height:90%;background:#c8b9ff}.g7-balance,.g7-number-path{display:flex;align-items:center;gap:13px;flex-wrap:wrap;justify-content:center}.g7-balance b,.g7-number-path b{padding:16px 20px;border-radius:14px;background:#dcecff;color:#17365f;font-size:23px}.g7-balance span,.g7-number-path span{font-size:28px;color:#2cb67d}@keyframes g7-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}@keyframes g7-bars{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.88)}}@media(prefers-reduced-motion:reduce){.g7-concept-visual *{animation:none!important}}
.power-stack{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center}.power-stack i{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#9fd8ff;color:#17365f;font:900 27px "Segoe UI",Arial,sans-serif;font-style:normal;animation:power-pop 2.4s ease-in-out infinite}.power-stack i:nth-of-type(2){animation-delay:.18s;background:#a9ebd0}.power-stack i:nth-of-type(3){animation-delay:.36s;background:#ffd58f}.power-stack span{font-size:25px;color:#56708e}.power-stack b{padding:14px 18px;border-radius:14px;background:#315d9c;color:#fff;font-size:24px}.circle-concept-visual{background:linear-gradient(135deg,#eef8ff,#fff6e6)}.circle-stage{min-height:230px;display:grid;place-items:center;border-radius:18px;background:#fff}.circle-stage svg{width:min(100%,340px)}.circle-stage circle,.circle-stage line,.circle-stage path{fill:none;stroke:#315d9c;stroke-width:3}.circle-stage path{stroke:#2cb67d;stroke-width:7;stroke-linecap:round;animation:circle-dash 3s ease-in-out infinite}.circle-stage .centre-dot{fill:#f59e0b;stroke:none}.circle-stage text{font:700 13px "Segoe UI",Arial,sans-serif;fill:#17365f}@keyframes power-pop{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes circle-dash{0%,100%{stroke-dasharray:8 5;opacity:.7}50%{stroke-dasharray:28 4;opacity:1}}@media(prefers-reduced-motion:reduce){.power-stack i,.circle-stage path{animation:none!important}}
.chapter-testing-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}.chapter-testing-progress span{background:#f4f8ff;border:1px solid #dbe7f5;border-radius:14px;padding:12px;color:#5d6c80;font-size:.78rem}.chapter-testing-progress b{display:block;color:#16304f;font-size:1.25rem;margin-bottom:2px}.profile-progress-detail{display:block!important;margin-top:5px;color:#627187!important;line-height:1.35}@media(max-width:760px){.chapter-testing-progress{grid-template-columns:repeat(2,minmax(0,1fr))}}
.overview-unlocked-chapters{margin-top:24px}.unlocked-chapter-list{display:grid;gap:12px}.unlocked-chapter-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;background:#fff;border:1px solid #e1e8f1;border-radius:18px;padding:18px 20px;box-shadow:0 8px 24px rgba(22,48,79,.05)}.unlocked-chapter-list h3{margin:6px 0 4px;color:#16304f}.unlocked-chapter-list p{margin:0 0 10px;color:#66758a}.unlocked-chapter-list small{display:block;margin-top:7px;color:#758398}.unlocked-chip{display:inline-flex;color:#08765b;background:#e6f8f1;border-radius:999px;padding:4px 9px;font-size:.68rem;font-weight:800;letter-spacing:.08em}@media(max-width:680px){.unlocked-chapter-list article{grid-template-columns:1fr}.unlocked-chapter-list button{width:100%}}
.student-sheet-activity{margin-top:22px}.sheet-activity-table{display:grid;gap:0}.sheet-activity-row{display:grid;grid-template-columns:130px minmax(230px,1.5fr) minmax(130px,.7fr) 130px 110px;gap:14px;align-items:center;padding:14px 8px;border-top:1px solid #e7edf4}.sheet-activity-row.head{border:0;padding-top:2px;color:#758398;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.sheet-activity-row b,.sheet-activity-row small{display:block}.sheet-activity-row small{margin-top:3px;color:#748296;line-height:1.3}.sheet-activity-row em{font-style:normal}.sheet-activity-row .table-progress{margin-top:7px}@media(max-width:900px){.sheet-activity-row{grid-template-columns:110px minmax(210px,1fr) 120px}.sheet-activity-row>span:nth-child(4),.sheet-activity-row>span:nth-child(5){display:none}}@media(max-width:620px){.sheet-activity-row{grid-template-columns:1fr}.sheet-activity-row.head{display:none}.sheet-activity-row>span:nth-child(4),.sheet-activity-row>span:nth-child(5){display:block}}
.teacher-student-working-card{align-items:flex-start!important}.teacher-student-working-main{min-width:0;flex:1}.teacher-student-working-main>div:first-child{display:flex;flex-direction:column}.teacher-student-working-main p{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;margin:8px 0 0!important}.teacher-student-working-main p span{font-size:11px;color:#74839a;text-transform:uppercase;letter-spacing:.04em}.teacher-student-working-main p b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-learning-counters{display:grid!important;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.overview-learning-counters span{display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 5px;border-radius:10px;font-size:11px}.overview-learning-counters span b{font-size:15px}.overview-learning-counters .perfect{background:#e6f8ef;color:#087a50}.overview-learning-counters .wrong{background:#fff0f0;color:#bd3b3b}.overview-learning-counters .hints{background:#fff6dd;color:#956900}
.sheet-row-counters{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.sheet-row-counters i{font-style:normal;font-size:10px;padding:4px 6px;border-radius:7px;white-space:nowrap}.sheet-row-counters .perfect{background:#e6f8ef;color:#087a50}.sheet-row-counters .wrong{background:#fff0f0;color:#bd3b3b}.sheet-row-counters .hints{background:#fff6dd;color:#956900}
.live-header-tools{display:flex;align-items:center;gap:14px}.teacher-simple-counters{display:flex;gap:7px}.teacher-simple-counters span{width:34px;height:34px;min-width:34px;border-radius:50%;display:grid;place-items:center;padding:0}.teacher-simple-counters b{font-size:.9rem}.teacher-simple-counters .perfect-counter{background:#dcfce7;color:#15803d}.teacher-simple-counters .wrong-counter{background:#fee2e2;color:#dc2626}.teacher-simple-counters .hint-counter{background:#fef3c7;color:#b45309}
.teacher-student-working-card .overview-learning-counters{display:flex;gap:8px;margin-top:8px}.teacher-student-working-card .overview-learning-counters span{width:36px;height:36px;min-width:36px;border-radius:50%;display:grid;place-items:center;padding:0}.teacher-student-working-card .overview-learning-counters b{font-size:.92rem}.teacher-student-working-card .overview-learning-counters small{display:none}.teacher-student-working-card .overview-learning-counters .perfect{background:#dcfce7;color:#15803d}.teacher-student-working-card .overview-learning-counters .wrong{background:#fee2e2;color:#dc2626}.teacher-student-working-card .overview-learning-counters .hints{background:#fef3c7;color:#b45309}
.teacher-student-working-card .overview-learning-counters{display:flex!important;grid-template-columns:none!important;justify-content:flex-start!important;gap:8px!important}.teacher-student-working-card .overview-learning-counters>span{display:grid!important;width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;flex:0 0 36px!important;padding:0!important;border-radius:50%!important;place-items:center!important}.teacher-student-working-card .overview-learning-counters>span small{display:none!important}
.teacher-student-working-main p.sheet-with-counters{grid-template-columns:100px minmax(0,1fr) auto;align-items:center}.teacher-student-working-main .sheet-with-counters .overview-learning-counters{margin:0 0 0 10px!important}.teacher-student-working-main .sheet-with-counters .overview-learning-counters>span{letter-spacing:0!important;text-transform:none!important}.overview-gym-summary{display:flex;align-items:center;gap:10px;margin-top:9px;padding:7px 10px;border-radius:10px;background:#f3f0ff;color:#5142a6;font-size:12px}.overview-gym-summary span{font-weight:800}.overview-gym-summary b{font-weight:700;color:#24324a}
.activity-status-ribbon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;overflow:hidden}.activity-status-ribbon>div{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-right:1px solid #ded8ff}.activity-status-ribbon>div:last-child{border-right:0}.activity-status-ribbon>div span{font-size:11px}.activity-status-ribbon>div b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-status-ribbon .done{background:#edfbf3}.activity-status-ribbon .done span,.activity-status-ribbon .done b{color:#087a50}.activity-status-ribbon .pending{background:#fffaf0}.activity-status-ribbon .pending span,.activity-status-ribbon .pending b{color:#8a6500}.activity-status-ribbon .active{background:#eef5ff}.activity-status-ribbon .active span,.activity-status-ribbon .active b{color:#24589b}

/* Local Grade 7 exponent curriculum review */
.g7-exp-visual .g7-visual-stage{min-height:190px;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eef7ff,#fff7df);border-radius:22px;overflow:hidden}
.exp-law-board,.exp-pairs,.exp-route{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.exp-law-board>div{display:grid;gap:5px;padding:15px 20px;background:#fff;border:2px solid #cbdcf7;border-radius:16px;text-align:center}.exp-law-board b,.exp-law-board strong,.exp-nesting strong,.exp-pairs strong,.exp-fraction-pairs strong{font-size:1.7rem;color:#17345c}.exp-law-board i{font-style:normal;font-size:.72rem;color:#65758d}.exp-law-board>span{font-size:1.6rem;color:#ef8f38}.exp-law-board>strong{padding:15px 20px;background:#dcf7e8;border-radius:16px}
.exp-cancel-board{display:grid;gap:12px;text-align:center}.exp-cancel-board>b{letter-spacing:9px;padding:14px 20px;background:white;border-radius:14px;color:#244f89}.exp-cancel-board>span{position:relative;color:#c14343;font-weight:800}.exp-cancel-board>span:before,.exp-cancel-board>span:after{content:"";position:absolute;top:50%;width:52px;height:2px;background:#df6c6c}.exp-cancel-board>span:before{right:calc(100% + 10px)}.exp-cancel-board>span:after{left:calc(100% + 10px)}.exp-cancel-board>strong{font-size:1.8rem;color:#078057}
.exp-nesting{display:grid;gap:12px;text-align:center}.exp-nesting>div{padding:20px 30px;border:3px solid #7f72dc;border-radius:24px;background:#fff;font-size:1.5rem;box-shadow:0 0 0 9px #eeeaff}.exp-nesting>span{font-weight:800;color:#786c96}.exp-pairs>div{display:grid;gap:5px;letter-spacing:12px;padding:15px 18px;background:white;border-radius:14px;color:#25528d;font-weight:900}.exp-pairs>span{width:100%;text-align:center;color:#82749e;font-weight:800}.exp-pairs>strong{padding:9px 18px;background:#dff7e9;border-radius:12px}
.exp-fraction-pairs{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 18px;padding:18px 24px;background:white;border-radius:18px;font-weight:900;color:#27548b}.exp-fraction-pairs hr{grid-column:1;border:0;border-top:3px solid #283e61;width:100%;margin:0}.exp-fraction-pairs strong{grid-column:2;grid-row:1/4;padding:15px;background:#e3f7ec;border-radius:13px}.exp-route b,.exp-route strong{padding:14px 18px;border-radius:14px;background:#fff;border:2px solid #d4def0;color:#17345c}.exp-route strong{background:#dcf7e8;border-color:#93dfb5}.exp-route span{font-size:.76rem;font-weight:900;color:#876c96}
.place-columns{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;text-align:center;background:white;padding:18px;border-radius:18px}.place-columns i{font-style:normal;font-size:.72rem;color:#6f7890}.place-columns b{padding:9px;background:#e7f1ff;border-radius:9px;color:#224e84}.decimal-slider{display:grid;gap:12px;text-align:center}.decimal-slider b{letter-spacing:12px;padding:14px;background:white;border-radius:14px}.decimal-slider span{color:#e17a2c;font-weight:900}.decimal-slider strong{padding:14px 20px;background:#dff7e9;border-radius:14px;color:#0a744f}.power-scale{display:flex;align-items:center;gap:10px}.power-scale small,.power-scale strong{padding:14px;background:#fff;border-radius:12px;color:#244f88;font-weight:900}.power-scale span{display:grid;place-items:center;width:34px;height:34px;background:#fff;border-radius:10px;color:#e17a2c;font-size:1.45rem;font-weight:900;line-height:1}.power-scale strong{background:#dff7e9;color:#08764f}
.exp-reciprocal-board{display:grid;gap:14px;text-align:center}.exp-reciprocal-board>div{display:grid;gap:7px;padding:16px 24px;background:#fff;border-radius:16px}.exp-reciprocal-board b{font-size:1.55rem;color:#244f88}.exp-reciprocal-board span{font-weight:900;color:#e17a2c}.exp-reciprocal-board strong{padding:15px 22px;border-radius:15px;background:#dff7e9;color:#08764f;font-size:1.45rem}.standard-form-directions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(620px,100%)}.standard-form-directions>div{display:grid;gap:8px;padding:17px;background:#fff;border:2px solid #dbe6f3;border-radius:16px;text-align:center}.standard-form-directions small{color:#65758d;font-weight:900;letter-spacing:.06em}.standard-form-directions b{color:#244f88;font-size:1.25rem}.standard-form-directions span{color:#e17a2c;font-weight:900}.standard-form-directions strong{padding:9px;border-radius:10px;background:#dff7e9;color:#08764f}@media(max-width:650px){.standard-form-directions{grid-template-columns:1fr}}
.exp-operation-contrast{display:grid;grid-template-columns:repeat(2,minmax(210px,1fr));gap:16px;width:min(620px,100%)}.exp-operation-contrast>div{display:grid;gap:10px;padding:20px;background:#fff;border:2px solid #dbe6f3;border-radius:18px;text-align:center}.exp-operation-contrast small{color:#65758d;font-weight:900;letter-spacing:.06em}.exp-operation-contrast b{font-size:1.3rem;color:#244f88}.exp-operation-contrast strong{padding:10px;border-radius:11px;background:#dff7e9;color:#08764f;font-size:1.35rem}.exp-common-factor-board{display:grid;gap:12px;width:min(580px,100%);text-align:center}.exp-common-factor-board>div{display:grid;grid-template-columns:minmax(190px,1fr) minmax(150px,.75fr);align-items:center;gap:12px;padding:14px 18px;background:#fff;border:2px solid #dbe6f3;border-radius:16px}.exp-common-factor-board b{color:#244f88;font-size:1.35rem}.exp-common-factor-board span{color:#e17a2c;font-weight:900}.exp-common-factor-board strong{justify-self:center;padding:13px 24px;border-radius:14px;background:#dff7e9;color:#08764f;font-size:1.5rem}@media(max-width:650px){.exp-operation-contrast{grid-template-columns:1fr}.exp-common-factor-board>div{grid-template-columns:1fr}}
.exp-substitution-board{display:grid;gap:15px;text-align:center}.exp-substitution-board>div{display:grid;gap:8px;padding:17px 26px;background:#fff;border:2px solid #dbe6f3;border-radius:17px}.exp-substitution-board small{color:#65758d;font-weight:900;letter-spacing:.06em}.exp-substitution-board b{color:#244f88;font-size:1.5rem}.exp-substitution-board span{color:#e17a2c;font-weight:900}.exp-substitution-board strong{padding:14px 22px;background:#dff7e9;border-radius:14px;color:#08764f;font-size:1.45rem}
.standard-form-application{display:grid;gap:16px;justify-items:center}.standard-form-application .power-scale{padding:12px 16px;background:#fff;border:2px solid #dbe6f3;border-radius:16px}
.format-badge,.multi-instruction{display:inline-flex;align-items:center;width:max-content;padding:6px 10px;border-radius:999px;background:#eeeaff;color:#57479c;font-size:.7rem;font-weight:900;letter-spacing:.05em}.question-tools{display:flex;align-items:center;gap:10px}.multi-options{position:relative;padding-top:38px}.multi-options .multi-instruction{position:absolute;top:0;left:0}.multi-options input[type="checkbox"]{accent-color:#16875f}.sheet-preview .format-badge{margin-bottom:9px}.focus-question sup,.sheet-preview sup{font-size:.68em;line-height:0;vertical-align:super;color:inherit}
/* Grade 7 Exponents learning-support completion */
.exponent-summary .summary-formula{font-family:Cambria,"Times New Roman",serif;font-size:1.12rem;line-height:1.75;letter-spacing:.01em}
.exponent-summary .summary-formula sup{font-size:.7em;vertical-align:super;line-height:0}
.staged-hint{display:none;margin-top:.55rem;padding-top:.55rem;border-top:1px solid rgba(23,50,83,.12)}
.staged-hint.show{display:block}
.staged-hint b{display:block;color:#173253;margin-bottom:.2rem}
.example-fade{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.example-fade article,.g7-daily-pathways article{padding:16px;border:1px solid #dce6f3;border-radius:16px;background:#f8fbff}
.example-fade span,.g7-daily-pathways span{font-size:.72rem;font-weight:800;letter-spacing:.08em;color:#187b5d}
.g7-daily-pathways{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.g7-daily-pathways h3{margin:.45rem 0}.g7-daily-pathways p{color:#607087}
button:focus-visible,input:focus-visible{outline:2px solid #8b96a5;outline-offset:2px}
@media(max-width:720px){.example-fade,.g7-daily-pathways{grid-template-columns:1fr}}
.g7-concept-visual{margin:22px 0;padding:24px;border-radius:24px;background:linear-gradient(135deg,#eef5ff,#f5f0ff);display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;color:#17345c}.g7-concept-visual span{padding:13px 16px;border-radius:14px;background:#fff;box-shadow:0 8px 18px rgba(29,52,88,.08);font-weight:800}.g7-concept-visual i,.g7-concept-visual b{color:#10a873;font-style:normal}.g7-concept-visual small{flex-basis:100%;text-align:center;color:#61708a;font-weight:700}.pattern-visual span{font-size:1.35rem;min-width:48px;text-align:center}.expression-visual span{font-size:1.05rem}
.concept-stage-flow{background:linear-gradient(135deg,#edf8ff,#f7f1ff,#edfbf5)}.concept-stage-flow .stage-original{background:#e5f2ff;color:#174f8a;border:1px solid #b8d9f7}.concept-stage-flow .stage-split{background:#fff3d7;color:#805600;border:1px solid #f1d38b}.concept-stage-flow .stage-expanded{background:#f1e9ff;color:#613c9b;border:1px solid #d8c4f7}.concept-stage-flow .stage-result{background:#dcf7e9;color:#087653;border:1px solid #9eddbf;box-shadow:0 8px 20px rgba(16,168,115,.16)}

/* Grade 7 integer concept models */
.integer-concept-visual{min-height:190px;overflow:hidden;background:linear-gradient(135deg,#eef8ff 0%,#f4f0ff 52%,#fff8df 100%)}
.integer-concept-visual>div{width:min(100%,760px);display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.integer-concept-visual p{width:100%;margin:4px 0;text-align:center;font-weight:900;color:#243b62}
.integer-line{position:relative;padding:34px 16px 18px;justify-content:space-between!important;border-radius:20px;background:#fff}.integer-line:before{content:"";position:absolute;left:8%;right:8%;top:49%;height:4px;border-radius:8px;background:#244e83}.integer-line:after{content:"";position:absolute;right:7%;top:calc(49% - 6px);border-left:12px solid #244e83;border-top:7px solid transparent;border-bottom:7px solid transparent}.integer-line i{position:relative;z-index:1;min-width:42px;padding:9px;border-radius:50%;background:#e9f2ff;text-align:center}.integer-line .zero{background:#10a873;color:#fff}.integer-move b{font-size:1.35rem}.integer-move span{background:#dff8ef!important;color:#087858}
.integer-mirror{padding:22px;border-radius:20px;background:#fff}.integer-mirror i{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#10a873;color:#fff}.integer-mirror span{font-size:.9rem!important;background:#edf4ff!important}.integer-mirror b{font-size:1.4rem}
.zero-pairs{flex-direction:column}.zero-pairs .pair-strip,.zero-pairs .remaining-strip{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.zero-pairs span{display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:50%;font-size:1.7rem!important}.zero-pairs .negative{background:#ffe7e7;color:#c23b3b}.zero-pairs .positive{background:#def8ec;color:#087858}.zero-pairs b{padding:7px 10px;border-radius:12px;background:#edf2f8}.zero-pairs strong{font-size:1.55rem;color:#10a873}.zero-pairs em{flex-basis:100%;text-align:center;font-style:normal;font-weight:800;color:#61708a}
.integer-transform span,.fact-family span,.equation-balance span{font-size:1.25rem!important}.sign-grid,.property-grid{display:grid!important;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px!important}.sign-grid span,.property-grid span{text-align:center}.property-grid .yes{border:2px solid #8cddbe;color:#087858}.property-grid .no{border:2px solid #f2b3b3;color:#b53232}.zero-rule{margin-top:10px}.zero-rule i{padding:10px 14px;border-radius:12px;background:#fff}.distribution-map,.operation-tree{flex-direction:column}.distribution-map span,.operation-tree span{min-width:min(100%,400px);text-align:center}.distribution-map strong,.operation-tree strong{padding:12px 24px;border-radius:14px;background:#10a873;color:#fff;font-size:1.35rem}.equation-balance b{padding:8px 12px;border-radius:12px;background:#fff0c7;color:#805b00}
.jump-board{display:grid!important;grid-template-columns:1fr;gap:18px!important}.jump-board article{padding:16px;border:1px solid #d9e5f5;border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 10px 24px rgba(33,62,102,.08)}.jump-board header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.jump-board header b{font-size:1.25rem;color:#17345c}.jump-board header em{font-style:normal;font-weight:900;color:#087858}.jump-lane{position:relative;padding:39px 12px 8px}.jump-lane:before{content:"";position:absolute;left:4%;right:4%;top:58px;height:4px;border-radius:6px;background:#284f83}.jump-lane ol{position:relative;z-index:2;display:grid;grid-template-columns:repeat(13,1fr);gap:0;margin:0;padding:0;list-style:none}.jump-lane li{position:relative;padding-top:22px;text-align:center;font-size:.76rem;font-weight:800;color:#62718a}.jump-lane li:before{content:"";position:absolute;top:10px;left:50%;width:2px;height:12px;background:#284f83}.jump-lane li.start,.jump-lane li.finish{color:#fff;font-size:.86rem}.jump-lane li.start:after,.jump-lane li.finish:after{content:"";position:absolute;z-index:-1;left:50%;top:2px;width:33px;height:33px;transform:translateX(-50%);border-radius:50%;background:#315d9c;box-shadow:0 5px 12px rgba(49,93,156,.25)}.jump-lane li.finish:after{background:#10a873}.jump-path{position:absolute;z-index:3;top:12px;height:26px;border-top:4px solid #f59e0b;color:#9a6300;animation:integer-jump-pulse 1.9s ease-in-out infinite}.jump-path strong{position:absolute;top:-30px;left:50%;transform:translateX(-50%);padding:4px 10px;border-radius:10px;background:#fff1bf;white-space:nowrap}.jump-path:after,.jump-path:before{content:"";position:absolute;top:-8px;border-top:6px solid transparent;border-bottom:6px solid transparent}.jump-right{left:20%;width:55%}.jump-right:after{right:-2px;border-left:11px solid #f59e0b}.jump-left{left:27%;width:61%}.jump-left:before{left:-2px;border-right:11px solid #f59e0b}.short-left{left:35%;width:39%}.short-right{left:20%;width:47%}@keyframes integer-jump-pulse{0%,100%{filter:saturate(1);transform:translateY(0)}50%{filter:saturate(1.5);transform:translateY(-3px)}}
.property-cards{display:grid!important;grid-template-columns:repeat(2,minmax(240px,1fr));gap:12px!important;align-items:stretch!important}.property-cards article{display:flex;flex-direction:column;gap:7px;padding:15px;border-radius:17px;background:#fff;border:1px solid #dce6f3;box-shadow:0 8px 18px rgba(29,52,88,.07)}.property-cards article>b{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#087858}.property-cards span{padding:9px 11px!important;box-shadow:none!important;background:#edf5ff!important;font-size:.95rem!important;text-align:center}.property-cards small{flex-basis:auto!important;text-align:left!important;font-weight:650!important;line-height:1.35;color:#68758a!important}
@media(max-width:640px){.sign-grid,.property-grid{grid-template-columns:1fr}.integer-concept-visual{padding:18px}.integer-line i{min-width:34px;font-size:.85rem}.integer-concept-visual>div{gap:8px}}
@media(max-width:760px){.jump-board header{align-items:flex-start;flex-direction:column}.jump-lane{overflow-x:auto}.jump-lane ol{min-width:620px}.jump-lane:before{min-width:570px}.property-cards{grid-template-columns:1fr}}
.g7-syllabus-coverage{margin:14px 0;padding:14px;border:1px solid #dbe5f4;border-radius:14px;background:#f8fbff;display:flex;gap:6px;flex-wrap:wrap}.g7-syllabus-coverage>b{flex-basis:100%;color:#17345c}.g7-syllabus-coverage span{padding:4px 8px;border-radius:999px;background:#e8f2ff;color:#245293;font-size:.78rem;font-weight:800}.g7-syllabus-coverage small,.g7-syllabus-coverage em{flex-basis:100%;color:#61708a;line-height:1.45}.g7-syllabus-coverage em{color:#087a58;font-size:.78rem;font-style:normal}
.g7-pathway-guide{margin:18px 0 24px;padding:22px;border-radius:22px;background:linear-gradient(135deg,#18365d,#3c57a8);color:#fff}.g7-pathway-guide>div:last-child{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:16px}.g7-pathway-guide span{padding:12px;border-radius:13px;background:rgba(255,255,255,.12);display:flex;flex-direction:column;gap:4px}.g7-pathway-guide small{color:#e7eeff;line-height:1.35}.g7-pathway-label{display:inline-block;margin:0 0 8px;padding:4px 9px;border-radius:999px;background:#ecf8f3;color:#087a58;font-size:.72rem;font-weight:900}
/* Grade 7 Chapter 4: fractions, decimals and rational-number concept visuals */
.rational-concept-visual{display:grid;gap:18px;align-items:center;padding:24px;border:1px solid #d9e5f4;border-radius:24px;background:linear-gradient(135deg,#f7fbff,#fff9ed);overflow:hidden}
.rational-concept-visual>small{color:#65748b;text-align:center;font-weight:700;letter-spacing:.02em}
.decimal-grid{display:grid;grid-template-columns:auto repeat(9,1fr) auto;align-items:center;gap:3px;min-height:82px}
.decimal-grid i{height:64px;border-radius:8px;background:#e5edf8;border:1px solid #c7d7ec}.decimal-grid i.lit{background:#47c39a;box-shadow:0 10px 25px #2db78333}
.decimal-grid b{font-size:1.2rem;color:#173253}.place-value-train{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.place-value-train span{padding:10px 8px;text-align:center;border-radius:12px;background:#fff;color:#36557e;font-weight:800;font-size:.82rem}
.fraction-strips{display:grid;gap:12px}.fraction-strips>div{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:12px}.fraction-strips b{color:#173253}
.fraction-strips span{height:38px;border-radius:10px;background:linear-gradient(90deg,#38bd8f 0 50%,#e8eef7 50%);border:2px solid #fff;outline:1px solid #c7d7ec;position:relative}
.fraction-strips span:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),#fff calc(25% - 1px) 25%);opacity:.85}
.fraction-strip-visual>strong{text-align:center;color:#17805d}.fraction-groups{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px}.fraction-groups>b{font-size:2rem;color:#173253}.fraction-groups>span{color:#65748b}.fraction-groups>div{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.fraction-groups i{padding:14px 7px;border-radius:10px;background:#dff6ed;color:#087756;font-style:normal;font-weight:800}.fraction-groups>strong{width:100%;text-align:center;color:#17805d}
.decimal-scale,.rational-operation,.fraction-decimal-map{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px}.decimal-scale span,.rational-operation span,.fraction-decimal-map span{padding:14px 18px;border-radius:14px;background:#fff;color:#173253;font-weight:850}.decimal-scale b,.rational-operation b,.fraction-decimal-map b{color:#5673a5}.decimal-scale strong,.rational-operation strong{padding:12px 20px;border-radius:999px;background:#dff6ed;color:#087756}
.conversion-wheel{display:flex;align-items:center;justify-content:center;gap:18px}.conversion-wheel span{font-size:1.65rem;font-weight:900;color:#173253;padding:16px 20px;border-radius:16px;background:#fff}.conversion-wheel b{color:#2db783;font-size:1.8rem}.conversion-wheel em{color:#65748b}.denominator-key{display:grid;grid-template-columns:1fr auto;gap:7px 14px;max-width:480px;margin:auto}.denominator-key i{font-style:normal;color:#36557e}.denominator-key strong{color:#17805d}
.rational-line{display:grid;grid-template-columns:repeat(9,1fr);align-items:center;position:relative;padding-top:30px}.rational-line:before{content:"";position:absolute;left:3%;right:3%;top:18px;height:4px;background:#59749f;border-radius:4px}.rational-line>*{position:relative;text-align:center;color:#36557e;font-style:normal;font-size:.82rem}.rational-line>*:before{content:"";position:absolute;left:50%;top:-17px;width:3px;height:13px;background:#59749f}.rational-line b{color:#17805d}.rational-line-visual p{text-align:center;color:#65748b}
.rational-properties{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.rational-properties article{display:grid;gap:8px;padding:16px;border-radius:16px;background:#fff;border:1px solid #e0e8f4}.rational-properties b{color:#17805d}.rational-properties span{color:#173253;font-weight:800;font-size:.9rem}
@media(max-width:700px){.rational-concept-visual{padding:16px}.place-value-train{grid-template-columns:repeat(2,1fr)}.fraction-groups>div{grid-template-columns:repeat(3,1fr)}.rational-line{overflow-x:auto;grid-template-columns:repeat(9,72px)}.conversion-wheel{flex-wrap:wrap}.rational-properties{grid-template-columns:1fr 1fr}}
.coding-concept-panel{margin:18px 0 22px;padding:22px;border:1px solid #cfe7e0;border-radius:24px;background:linear-gradient(135deg,#f0fbf7,#f5f2ff);display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(220px,.8fr);gap:18px;align-items:center}.coding-concept-panel h3{margin:4px 0 8px;color:#102a4c}.coding-concept-panel p{margin:0;color:#52657d}.variable-memory-demo{display:flex;align-items:center;justify-content:center;gap:10px}.variable-memory-demo span{min-width:100px;padding:12px 16px;border-radius:16px;background:#fff;box-shadow:0 8px 22px #18345b14;text-align:center}.variable-memory-demo small{display:block;color:#6b7890;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.variable-memory-demo b{display:block;margin-top:4px;color:#087f65;font-size:1.08rem}.variable-memory-demo i{font-style:normal;color:#7664d7;font-weight:800}.variable-code-flow{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.variable-code-flow code{padding:12px;border-radius:12px;background:#102a4c;color:#e6fff7;overflow:auto}.concept-checks{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.concept-checks span{padding:8px 12px;border-radius:999px;background:#fff;color:#34455e}.concept-checks b{color:#0a8b6f;margin-right:5px}.concept-warning{grid-column:1/-1;padding:10px 12px;border-radius:12px;background:#fff4d8;color:#6f5410}.coding-sheet-type{display:inline-flex;margin-bottom:5px;padding:3px 8px;border-radius:999px;background:#e6f8f2;color:#087f65;font-size:.68rem;font-weight:800;letter-spacing:.07em}.coding-variable-library article>div:nth-child(2){display:grid;gap:4px}.coding-variable-library article p,.coding-variable-sequence article p{margin:2px 0;color:#596b82}.coding-variable-sequence article>div:nth-child(2){min-width:0}@media(max-width:760px){.coding-concept-panel{grid-template-columns:1fr}.variable-code-flow{grid-template-columns:1fr}}
.coding-quality-entry{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:18px 0;background:linear-gradient(135deg,#f0fbf7,#f5f2ff);border-color:#d8dff0}.coding-quality-entry h2{margin:4px 0 6px}.coding-quality-entry p{margin:0;color:var(--muted)}.coding-quality-entry .outline-button{flex:0 0 auto}.coding-guideline-list article{padding:16px 18px}.coding-guideline-list article p{margin:6px 0 0;color:var(--muted);line-height:1.55}@media(max-width:650px){.coding-quality-entry{align-items:flex-start;flex-direction:column}}
.condition-decision-demo{display:grid;grid-template-columns:1fr 1fr;gap:10px}.condition-decision-demo>code{grid-column:1/-1;padding:12px;border-radius:12px;background:#102a4c;color:#e6fff7;text-align:center;font-size:1rem}.condition-decision-demo>span{padding:12px;border-radius:14px;background:#fff;text-align:center;box-shadow:0 8px 22px #18345b12}.condition-decision-demo>span b,.condition-decision-demo>span small{display:block}.condition-decision-demo .true-path b{color:#087f65}.condition-decision-demo .false-path b{color:#bd4141}.condition-decision-demo>span small{margin-top:4px;color:var(--muted)}.coding-conditionals-library article>div:nth-child(2){display:grid;gap:4px}.coding-conditionals-library article p,.coding-conditionals-sequence article p{margin:2px 0;color:#596b82}
.coding-task-steps{margin:8px 0 4px;padding-left:20px;color:#425672;font-size:.78rem;line-height:1.5}.coding-task-steps li+li{margin-top:4px}.coding-conditionals-library .chapter-actions{flex-wrap:wrap;justify-content:flex-end}
.result-generator-sheet{flex-wrap:wrap;align-items:flex-start!important}.result-generator-sheet>.result-generator-inline{flex:1 0 100%;margin:8px 0 0}.result-generator-inline{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(320px,1.25fr);gap:18px;padding:18px;border:1px solid #d8e6f2;border-radius:18px;background:linear-gradient(135deg,#f1fbf7,#f5f3ff)}.result-generator-brief h4{margin:5px 0 7px;font-size:1.1rem;color:#153254}.result-generator-brief p{margin:0!important;line-height:1.5}.result-generator-demo{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:end}.result-generator-demo label{display:grid;gap:6px;font-size:.76rem;font-weight:800;color:#425672}.result-generator-demo input{min-width:0;padding:11px 12px;border:1px solid #bfd1e1;border-radius:11px;background:#fff;color:#153254;font:inherit}.result-generator-demo output{grid-column:1/-1;display:block;padding:11px 13px;border-radius:11px;background:#fff;color:#53657c;font-weight:900}.result-generator-demo output.grade-a,.result-generator-demo output.grade-b{background:#dcf7ec;color:#087756}.result-generator-demo output.grade-c,.result-generator-demo output.grade-d{background:#fff2cd;color:#8a6200}.result-generator-demo output.grade-f,.result-generator-demo output.invalid{background:#ffe5e5;color:#b52f2f}.result-generator-rules{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap}.result-generator-rules span{padding:6px 9px;border-radius:999px;background:#fff;color:#4f6179;font-size:.7rem}.result-generator-rules b{color:#087f65}.codeorg-sequence .result-generator-sheet>.result-generator-inline{margin-left:48px}.codeorg-sequence .result-generator-sheet>.codeorg-actions{margin-left:auto}@media(max-width:700px){.result-generator-inline{grid-template-columns:1fr}.result-generator-demo{grid-template-columns:1fr}.result-generator-demo .button{width:100%}.codeorg-sequence .result-generator-sheet>.result-generator-inline{margin-left:0}}
.coding-portal-sheet{display:grid;gap:20px}.coding-portal-sheet>header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 0 14px;background:#fff;border-bottom:1px solid #e1e8f0}.coding-portal-sheet-heading{padding:24px;border-radius:22px;background:linear-gradient(135deg,#17375f,#4d58c9);color:#fff}.coding-portal-sheet-heading h2{margin:5px 0 8px;font-size:clamp(1.7rem,4vw,2.5rem)}.coding-portal-sheet-heading p{margin:0;color:#eaf0ff}.coding-portal-sheet-heading .coding-sheet-type{background:#dcf7ec}.coding-sheet-brief{padding:20px;border:1px solid #dce6f0;border-radius:18px;background:#fff}.coding-sheet-brief h3{margin:0 0 8px}.coding-sheet-brief p{margin:0;color:#50637b;line-height:1.6}@media(max-width:600px){.coding-portal-sheet>header{align-items:stretch;flex-direction:column}.coding-portal-sheet>header .button{text-align:center}}
.coding-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.coding-project-grid article{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid #dce6f0;border-radius:18px;background:#fff}.coding-project-grid article>.sheet-doc{width:38px;height:38px;display:grid;place-items:center}.coding-project-grid h3{margin:0 0 6px;color:#153254}.coding-project-grid p{margin:0;color:#5a6b81;line-height:1.5}.coding-project-grid .outline-button{margin-top:auto;text-align:center}@media(max-width:820px){.coding-project-grid{grid-template-columns:1fr}}
.grade-mascot{width:116px;height:116px;margin:8px auto 16px;display:grid;place-items:center;border-radius:34px;background:linear-gradient(145deg,#7664e8,#4147bb);color:#fff;box-shadow:0 16px 30px #4a49b633;transform:rotate(-3deg)}.grade-mascot span{font-size:2rem;line-height:1;color:#ffe061}.grade-mascot b{text-align:center;font-size:.8rem;letter-spacing:.12em}.grade-ladder{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.grade-ladder span{position:relative;display:flex;align-items:center;justify-content:space-between;padding:10px;border-radius:14px;background:#fff;color:#66758b;box-shadow:0 5px 16px #18345b10;transition:.25s transform,.25s background}.grade-ladder b{font-size:1.2rem}.grade-ladder i{font-style:normal;font-size:.7rem}.grade-ladder span.active{background:#5a55d6;color:#fff;transform:translateY(-5px) scale(1.04);box-shadow:0 12px 24px #514bcf44}.result-generator-demo output{font-size:1rem;text-align:center;transition:.25s transform}.result-generator-demo output[class^="grade-"]{transform:scale(1.02)}
.museum-heading{background:linear-gradient(135deg,#075f63,#12a77f)!important}.museum-ticket-lab{display:grid;grid-template-columns:.7fr 1.3fr;gap:18px;padding:22px;border-radius:24px;background:linear-gradient(135deg,#fff6d9,#e9fbf4);border:1px solid #d9eadf}.museum-scene{position:relative;min-height:245px;padding:70px 20px 20px;display:flex;align-items:center;flex-direction:column;border-radius:22px;background:linear-gradient(#8dd8ec 0 45%,#dff4dc 45%);overflow:hidden}.museum-scene:before,.museum-scene:after{content:"";position:absolute;border-radius:50%;background:#fff8;box-shadow:45px 5px 0 #fff8}.museum-scene:before{width:55px;height:22px;left:24px;top:30px}.museum-scene:after{width:45px;height:18px;right:28px;top:50px}.museum-roof{position:relative;z-index:1;width:210px;border-left:105px solid transparent;border-right:105px solid transparent;border-bottom:58px solid #f2b84c}.museum-roof:after{content:"";position:absolute;left:-115px;top:50px;width:230px;height:13px;border-radius:4px;background:#fff1c7}.museum-columns{position:relative;z-index:1;display:flex;gap:25px;width:200px;padding:10px 18px 0;justify-content:space-between;background:#fff1c7}.museum-columns i{width:18px;height:75px;background:repeating-linear-gradient(90deg,#f5cc79 0 4px,#fff1c7 4px 8px);border-radius:4px}.museum-scene>b{position:relative;z-index:1;width:200px;padding:8px;text-align:center;background:#173253;color:#fff;letter-spacing:.12em}.museum-scene>small{margin-top:10px;color:#2f5e67;font-weight:800;text-align:center}.museum-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}.museum-controls label{display:grid;gap:6px;color:#3e556e;font-size:.76rem;font-weight:850}.museum-controls label:last-of-type{grid-column:1/-1}.museum-controls input,.museum-controls select{width:100%;padding:11px 12px;border:1px solid #c3d7df;border-radius:12px;background:#fff;color:#173253;font:inherit}.museum-controls button{grid-column:1/-1}.museum-rule-path{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.museum-rule-path span{min-width:170px;padding:12px;border-radius:15px;background:#fff;text-align:center;box-shadow:0 7px 18px #15325412}.museum-rule-path b,.museum-rule-path small{display:block}.museum-rule-path b{color:#087f65}.museum-rule-path small{margin-top:4px;color:#607188}.museum-rule-path i{font-style:normal;color:#e09823;font-size:1.3rem;font-weight:900}.museum-ticket{grid-column:1/-1;position:relative;display:grid;grid-template-columns:1fr auto;gap:6px;padding:20px 30px;border-radius:18px;background:#fff;color:#173253;border:2px dashed #d6a63c;box-shadow:0 14px 30px #765d2020}.museum-ticket:before,.museum-ticket:after{content:"";position:absolute;top:50%;width:24px;height:24px;border-radius:50%;background:#eff9e9;transform:translateY(-50%)}.museum-ticket:before{left:-13px}.museum-ticket:after{right:-13px}.museum-ticket small{grid-column:1/-1;color:#98701e;letter-spacing:.13em;font-weight:900}.museum-ticket b{font-size:1.45rem}.museum-ticket span{align-self:center;color:#607188}.museum-ticket.ready{background:#173253;color:#fff;border-color:#f0c867;animation:ticket-pop .4s ease}.museum-ticket.ready span{color:#d8e8ff}.museum-ticket.ready small{color:#ffe082}.museum-ticket.invalid{background:#fff0f0;border-color:#dc6f6f}@keyframes ticket-pop{0%{transform:scale(.93) rotate(-1deg)}70%{transform:scale(1.02) rotate(1deg)}100%{transform:scale(1)}}@media(max-width:780px){.museum-ticket-lab{grid-template-columns:1fr}.museum-scene{min-height:210px}.grade-ladder{grid-template-columns:repeat(5,minmax(54px,1fr));overflow:auto}}

/* Grade 6 conditionals: play-first application sheets */
.coding-motion-flow{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px;border-radius:16px;background:#ffffffb8;overflow:hidden}.coding-motion-flow span{position:relative;padding:7px 11px;border-radius:999px;background:#173253;color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.06em;box-shadow:0 6px 14px #17325322}.coding-motion-flow span:nth-of-type(2){background:#f3b941;color:#173253}.coding-motion-flow span:last-of-type{background:#16a47d}.coding-motion-flow i{font-style:normal;font-size:1.25rem;font-weight:950;color:#5a55d6;animation:flow-arrow 1.1s ease-in-out infinite}.coding-motion-flow i:nth-of-type(2){animation-delay:.25s}.coding-build-checklist{border:1px solid #d9e4ee;border-radius:16px;background:#fff}.coding-build-checklist summary{cursor:pointer;padding:13px 16px;color:#173253;font-weight:900;list-style:none}.coding-build-checklist summary::-webkit-details-marker{display:none}.coding-build-checklist summary:after{content:"+";float:right;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e7f8f2;color:#087f65}.coding-build-checklist[open] summary:after{content:"−"}.coding-build-checklist .concept-checks{padding:0 14px 14px}.result-portal-sheet .coding-portal-sheet-heading,.museum-portal-sheet .coding-portal-sheet-heading{padding-block:18px}.result-generator-inline{align-items:center;overflow:hidden}.grade-mascot{animation:mascot-float 2.4s ease-in-out infinite}.grade-mascot span{animation:star-spin 4s linear infinite}.grade-ladder span{animation:ladder-breathe 2.8s ease-in-out infinite}.grade-ladder span:nth-child(2){animation-delay:.12s}.grade-ladder span:nth-child(3){animation-delay:.24s}.grade-ladder span:nth-child(4){animation-delay:.36s}.grade-ladder span:nth-child(5){animation-delay:.48s}.grade-ladder span.active{animation:grade-celebrate .55s ease both}.museum-sun{position:absolute;right:20px;top:18px;width:45px;height:45px;border-radius:50%;background:#ffe36d;box-shadow:0 0 0 9px #ffe36d44;animation:sun-pulse 2.4s ease-in-out infinite}.museum-scene:before{animation:cloud-drift-a 8s ease-in-out infinite alternate}.museum-scene:after{animation:cloud-drift-b 10s ease-in-out infinite alternate}.museum-roof,.museum-columns,.museum-scene>b{animation:museum-bob 3s ease-in-out infinite}.museum-columns{animation-delay:.06s}.museum-scene>b{animation-delay:.12s}.museum-ticket:not(.ready):not(.invalid){animation:ticket-wait 2s ease-in-out infinite}.museum-rule-path span{transition:transform .2s ease,box-shadow .2s ease}.museum-rule-path span:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 12px 24px #15325420}
@keyframes flow-arrow{0%,100%{transform:translateX(-2px);opacity:.45}50%{transform:translateX(3px);opacity:1}}@keyframes mascot-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}@keyframes star-spin{0%,75%{transform:rotate(0) scale(1)}88%{transform:rotate(18deg) scale(1.18)}100%{transform:rotate(0) scale(1)}}@keyframes ladder-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes grade-celebrate{0%{transform:scale(.88) rotate(-4deg)}60%{transform:translateY(-7px) scale(1.08) rotate(2deg)}100%{transform:translateY(-5px) scale(1.04)}}@keyframes sun-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 9px #ffe36d44}50%{transform:scale(1.08);box-shadow:0 0 0 15px #ffe36d1f}}@keyframes cloud-drift-a{from{transform:translateX(-8px)}to{transform:translateX(36px)}}@keyframes cloud-drift-b{from{transform:translateX(15px)}to{transform:translateX(-30px)}}@keyframes museum-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes ticket-wait{0%,100%{transform:rotate(-.25deg)}50%{transform:rotate(.25deg) translateY(-2px)}}
@media(max-width:620px){.coding-motion-flow{gap:5px;padding:8px}.coding-motion-flow span{padding:6px 8px;font-size:.62rem}.coding-motion-flow i{font-size:1rem}.coding-build-checklist .concept-checks{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.coding-motion-flow i,.grade-mascot,.grade-mascot span,.grade-ladder span,.museum-sun,.museum-scene:before,.museum-scene:after,.museum-roof,.museum-columns,.museum-scene>b,.museum-ticket{animation:none!important}}

/* Grade 6 reviewed coding pathway */
.g6-coding-concept{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,1.2fr);gap:18px;align-items:center;padding:20px;border:1px solid #d9e7ef;border-radius:20px;background:linear-gradient(135deg,#eefbf7,#f2f0ff)}.g6-coding-concept h3{margin:4px 0 7px;color:#153254;font-size:1.25rem}.g6-coding-concept p{margin:0;color:#5a6b81}.g6-concept-flow{display:flex;align-items:center;justify-content:center;gap:8px}.g6-concept-flow span{padding:12px 14px;border-radius:14px;background:#fff;color:#153254;font-size:.75rem;font-weight:900;box-shadow:0 8px 20px #18345b14;animation:g6-flow-step 2.4s ease-in-out infinite}.g6-concept-flow span:nth-of-type(2){animation-delay:.22s;background:#fff1bd}.g6-concept-flow span:nth-of-type(3){animation-delay:.44s;background:#dff8ef}.g6-concept-flow i{font-style:normal;color:#5a55d6;font-weight:950;animation:flow-arrow 1.1s ease-in-out infinite}.g6-reviewed-library article>div:nth-child(2){display:grid;gap:5px}.g6-reviewed-library article small{line-height:1.35}.g6-project-sheet>header>div{display:flex;gap:9px;flex-wrap:wrap}.g6-project-hero{padding:22px;border-radius:22px;background:linear-gradient(135deg,#17375f,#4d58c9);color:#fff;overflow:hidden}.g6-project-hero h2{margin:4px 0 6px;font-size:clamp(1.8rem,4vw,2.6rem)}.g6-project-hero p{margin:0;color:#eaf0ff}.g6-project-play{position:relative;min-height:290px;display:grid;place-items:center;gap:14px;padding:24px;border:1px solid #dae5ef;border-radius:24px;background:radial-gradient(circle at 15% 15%,#fff 0 8%,transparent 9%),linear-gradient(135deg,#fff8dc,#eafaf4);overflow:hidden}.g6-project-play:before,.g6-project-play:after{content:"";position:absolute;width:130px;height:130px;border-radius:42px;background:#6559db14;transform:rotate(25deg);animation:g6-shape-float 6s ease-in-out infinite}.g6-project-play:before{left:-45px;bottom:-48px}.g6-project-play:after{right:-40px;top:-50px;animation-delay:-3s;background:#0fa47d17}.g6-project-play>*{position:relative;z-index:1}.g6-project-play output{min-height:24px;color:#425672;font-weight:900;text-align:center}.simon-board{width:min(310px,80vw);aspect-ratio:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;border-radius:50%;background:#173253;box-shadow:0 18px 40px #17325338}.simon-board button{border:0;cursor:default;transition:.18s transform,.18s filter;box-shadow:inset 0 -12px 20px #0002}.simon-board button:nth-child(1){background:#8057da;border-radius:100% 18px 18px 18px}.simon-board button:nth-child(2){background:#f29b38;border-radius:18px 100% 18px 18px}.simon-board button:nth-child(3){background:#ef5f9d;border-radius:18px 18px 18px 100%}.simon-board button:nth-child(4){background:#39a9dc;border-radius:18px 18px 100% 18px}.simon-board button.active{transform:scale(.92);filter:brightness(1.65);box-shadow:0 0 32px #fff}.password-display{min-width:min(420px,80vw);padding:24px;border-radius:20px;background:#17223c;color:#8fffd5;font:900 clamp(1.25rem,4vw,2rem)/1.2 ui-monospace,monospace;letter-spacing:.08em;text-align:center;box-shadow:0 18px 35px #17223c2c}.password-display.pop{animation:password-pop .45s ease}.password-toggles{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.password-toggles span{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid #cfe1ea;color:#33516f;font-weight:900}.weather-card{width:min(300px,78vw);display:grid;gap:7px;padding:26px;border-radius:28px;background:linear-gradient(160deg,#50b7ed,#5169da);color:#fff;text-align:center;box-shadow:0 20px 40px #3c65c437}.weather-card>b{font-size:4rem}.weather-card h3{margin:0;font-size:1.6rem}.weather-card span{font-size:1.15rem;font-weight:900}.weather-card small{color:#e9f5ff}.weather-card.flip{animation:weather-flip .55s ease}.tic-board{width:min(320px,82vw);display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;border-radius:24px;background:#173253;box-shadow:0 18px 38px #17325335}.tic-board button{aspect-ratio:1;border:0;border-radius:15px;background:#fff;color:#173253;font-size:clamp(2rem,8vw,3.4rem);font-weight:950;transition:.2s transform,.2s background}.tic-board button:hover:empty{transform:scale(.95);background:#eefbf7}.tic-board button.x{color:#5b55d7}.tic-board button.o{color:#0d9d78}.tic-board button.winner{background:#ffe27b;animation:win-cell .6s ease infinite alternate}.g6-test-line{margin:0;padding:0 16px 15px;color:#596b81}.g6-test-line b{color:#173253}@keyframes g6-flow-step{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes g6-shape-float{0%,100%{transform:translate(0,0) rotate(25deg)}50%{transform:translate(14px,-10px) rotate(40deg)}}@keyframes password-pop{0%{transform:scale(.88);opacity:.4}70%{transform:scale(1.04)}100%{transform:scale(1);opacity:1}}@keyframes weather-flip{0%{transform:rotateY(80deg);opacity:.35}100%{transform:rotateY(0);opacity:1}}@keyframes win-cell{to{transform:translateY(-5px) rotate(2deg)}}@media(max-width:760px){.g6-coding-concept{grid-template-columns:1fr}.g6-concept-flow{overflow:auto;justify-content:flex-start}.g6-project-sheet>header>div{display:grid}.g6-project-sheet>header>div a{text-align:center}}@media(prefers-reduced-motion:reduce){.g6-concept-flow span,.g6-concept-flow i,.g6-project-play:before,.g6-project-play:after,.password-display,.weather-card,.tic-board button{animation:none!important}}
/* Grade 7 coding · local review build */
.lower-coding-bridge{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:18px 0;padding:22px 24px;border:1px solid #d8e7f0;border-radius:24px;background:linear-gradient(135deg,#fff8e6,#eefbf7)}
.chapter-technical-title{display:block;margin:3px 0 0;color:#718096;font-size:.82rem;font-weight:700;letter-spacing:.01em}.modal-head .chapter-technical-title{font-size:.92rem}.coding-card>.chapter-technical-title{margin-top:-4px;margin-bottom:9px;color:#65758a}
.lower-coding-bridge h3{max-width:640px;margin:4px 0;color:#153253;font-size:1.13rem}
.lower-flow{display:flex;align-items:center;gap:9px;min-width:max-content}.lower-flow span{padding:11px 13px;border-radius:14px;background:#fff;color:#116e61;font-weight:900;box-shadow:0 7px 16px rgba(21,50,83,.08)}.lower-flow i{color:#7654d8;font-style:normal;font-weight:900}
.lower-coding-library article,.lower-coding-sequence article{transition:transform .2s ease,box-shadow .2s ease}.lower-coding-library article:hover,.lower-coding-sequence article.unlocked:hover,.lower-coding-sequence article.opened:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(21,50,83,.08)}
.lower-optional{margin-top:16px;padding:16px;border:1px dashed #ae9ce9;border-radius:16px;background:#faf8ff}.lower-student-optional{display:flex;align-items:center;gap:14px;margin-top:18px;padding:16px;border-radius:16px;background:#faf8ff}.lower-student-optional a{font-weight:800;color:#6044bd}
.lower-debug-sheet{padding:0!important;overflow:hidden}.lower-debug-sheet>header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid #e4e8ed}.lower-debug-hero{display:flex;align-items:center;justify-content:center;gap:30px;padding:28px;background:linear-gradient(135deg,#fff2c7,#e3faf3);text-align:center}.lower-debug-hero>span{font-size:3.3rem}.lower-debug-hero h2{margin:4px 0;color:#123151}.lower-debug-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:26px}.lower-debug-grid article{padding:20px;border:1px solid #e2e8ef;border-radius:18px;background:#fff}.lower-debug-grid article>div{margin:18px 0;padding:15px;border-radius:13px;background:#f4f6fb;font-size:1.5rem;letter-spacing:4px}.lower-debug-grid button{display:block;width:100%;margin:8px 0;padding:10px;border:1px solid #d9dfe7;border-radius:11px;background:#fff;color:#173454;font-weight:750;cursor:pointer}.lower-debug-grid button.correct{border-color:#1ab58c;background:#e5f8f1;color:#08775f}.lower-debug-grid button.wrong{border-color:#ef7676;background:#fff0f0;color:#bd3535}.lower-debug-grid output{display:block;min-height:24px;margin-top:10px;color:#4e6077;font-weight:700}
@media(max-width:760px){.lower-coding-bridge{display:block}.lower-flow{margin-top:17px;overflow:auto}.lower-debug-grid{grid-template-columns:1fr;padding:18px}.lower-debug-hero{gap:14px}.lower-debug-hero>span{font-size:2.2rem}.lower-student-optional{align-items:flex-start;flex-direction:column}}
.g7-concept-bridge{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0;padding:22px 24px;border:1px solid #cde7e1;border-radius:22px;background:linear-gradient(135deg,#f1fbf7,#f4f1ff)}
.g7-concept-bridge h3{max-width:680px;margin:4px 0 0;color:#142b4a;font-size:1.15rem}
.g7-flow{display:flex;align-items:center;gap:9px;min-width:max-content}
.g7-flow span{padding:10px 13px;border-radius:12px;background:#fff;color:#087d68;font-weight:800;box-shadow:0 5px 14px rgba(20,43,74,.08)}
.g7-flow i{color:#7157d9;font-style:normal;font-weight:900}
.g7-chapter-library article,.g7-sequence article{transition:transform .2s ease,box-shadow .2s ease}
.g7-chapter-library article:hover,.g7-sequence article.unlocked:hover,.g7-sequence article.opened:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(20,43,74,.08)}
.g7-python-sheet{padding:0!important;overflow:hidden}
.g7-python-sheet>header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid #e5e8ec;background:#fff}
.g7-python-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);align-items:center;gap:28px;padding:34px;background:linear-gradient(135deg,#effaf6,#f1edff)}
.g7-python-hero h2{margin:5px 0 8px;color:#102b4e;font-size:clamp(1.75rem,4vw,2.65rem)}
.g7-python-hero p{max-width:680px;color:#52657e}
.g7-python-hero>div:first-child>span{display:inline-block;margin-top:10px;padding:8px 12px;border-radius:10px;background:#fff;color:#087d68}
.g7-python-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:22px;padding:28px 34px}
.g7-python-grid>section{padding:22px;border:1px solid #e3e8ef;border-radius:18px;background:#fff}
.g7-python-grid h3{font-size:1.05rem;line-height:1.5;color:#183454}
.g7-python-grid ol{display:grid;gap:12px;padding-left:23px;color:#243c5a}
.g7-python-grid details{margin-top:20px;border-radius:13px;background:#f5f7fb;padding:14px}
.g7-python-grid summary{cursor:pointer;font-weight:800;color:#087d68}
.g7-python-grid pre{white-space:pre-wrap;margin:12px 0 0;color:#17304f;font:600 .92rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}
.g7-code-block{display:grid;margin-top:18px;padding:16px 0;border-radius:15px;background:#11243d;color:#eaf7f3;overflow:auto}
.g7-code-block span{display:grid;grid-template-columns:38px 1fr;padding:2px 16px;min-width:max-content}
.g7-code-block i{color:#73849a;font-style:normal;user-select:none}
.g7-code-block code{font:500 .9rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}
.g7-test-strip{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:22px 34px;background:#102b4e;color:#fff}
.g7-test-strip>div{margin-right:auto}.g7-test-strip h3{margin:3px 0}.g7-test-strip .eyebrow{color:#8fe3cf}
.g7-test-strip>span{padding:10px 12px;border-radius:11px;background:rgba(255,255,255,.1)}
.g7-teacher-note{margin:18px 34px 28px;padding:13px 16px;border-left:4px solid #f4b73f;background:#fff7df;color:#5d4a16}
.g7-terminal-visual{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:18px;border-radius:18px;background:#132944;color:#fff;box-shadow:0 18px 35px rgba(16,43,78,.18)}
.g7-terminal-visual span{padding:5px 9px;border-radius:8px;background:#20b789;font-size:.78rem;font-weight:900}.g7-terminal-visual b{align-self:center}.g7-terminal-visual i{grid-column:1/-1;height:7px;border-radius:6px;background:linear-gradient(90deg,#6f8eaa 72%,transparent 72%)}
.g7-terminal-visual i:nth-last-child(2){width:78%}.g7-terminal-visual i:last-child{width:55%}
.g7-loop-visual,.g7-branch-visual,.g7-list-visual{display:flex;align-items:center;justify-content:center;gap:9px;min-height:145px;padding:20px;border-radius:18px;background:#fff;box-shadow:0 18px 35px rgba(16,43,78,.12)}
.g7-loop-visual span,.g7-branch-visual span{padding:13px;border-radius:50px;background:#e1f7f0;color:#087d68;font-weight:900}.g7-loop-visual i{color:#735be0;font-style:normal;font-size:1.35rem}
.g7-branch-visual{justify-content:space-between}.g7-branch-visual div{display:grid;gap:13px;color:#735be0;font-size:.78rem}
.g7-list-visual span{position:relative;padding:18px;border-radius:13px;background:#ece8ff;color:#34257f;font-weight:900}.g7-list-visual span:before{content:attr(data-index);position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:.68rem;color:#718096}
@media(max-width:760px){.g7-concept-bridge,.g7-python-hero{display:block}.g7-flow{margin-top:18px;overflow:auto}.g7-python-hero>div:last-child{margin-top:24px}.g7-python-grid{grid-template-columns:1fr;padding:20px}.g7-test-strip{align-items:flex-start;flex-direction:column;padding:20px}.g7-teacher-note{margin:16px 20px 24px}}

/* Keep the login field calm and clean; global accessibility rings should not frame the whole label. */
.login-form label:focus-within{outline:none}
.login-form input:focus,.login-form input:focus-visible{outline:none;border-color:#aab3bf;box-shadow:0 0 0 3px #dfe3e8}

/* Teacher workflow phase 2. Kept separate from curriculum presentation styles. */
.teacher-student-filters{display:grid;grid-template-columns:minmax(190px,1.4fr) repeat(4,minmax(130px,1fr));gap:12px;align-items:end;margin:4px 0 22px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#f8fafc}
.teacher-student-filters label{display:grid;gap:6px;margin:0;color:#53647b;font-size:.76rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.teacher-student-filters input,.teacher-student-filters select{width:100%;min-height:43px;padding:9px 11px;border:1px solid #d8e0ea;border-radius:11px;background:#fff;color:#173253;font:700 .9rem/1.2 inherit;text-transform:none;letter-spacing:0}
.teacher-student-filters output{grid-column:1/-1;color:#617086;font-size:.84rem;font-weight:800}
.student-profile-grid>article[hidden]{display:none}
.needs-attention-chip{margin-left:7px!important;background:#fff1e1!important;color:#9a5b00!important}
.student-activity-timeline{margin-top:22px}
.activity-timeline-list{position:relative;display:grid;gap:0;margin-top:8px}
.activity-timeline-list:before{content:"";position:absolute;top:22px;bottom:22px;left:23px;width:2px;background:#dbe8e4}
.activity-timeline-list article{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px 4px;border-bottom:1px solid #e9edf2}
.activity-timeline-list article:last-child{border-bottom:0}
.activity-icon{z-index:1;display:grid;width:46px;height:46px;place-items:center;border:5px solid #fff;border-radius:50%;background:#e7f8f2;color:#087d68;font-weight:950}
.activity-timeline-list h3{margin:3px 0;color:#173253;font-size:1rem}.activity-timeline-list p{margin:0;color:#66768b}.activity-timeline-list small{color:#748399}
.timeline-counters{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.timeline-counters i{padding:5px 8px;border-radius:8px;font-size:.76rem;font-style:normal}.timeline-counters .perfect{background:#e4f7ef;color:#08795f}.timeline-counters .wrong{background:#fff0f0;color:#b83c3c}.timeline-counters .hints{background:#fff5d9;color:#946400}
.assignment-confirmation{display:grid;justify-items:center;gap:11px;padding:20px 8px;text-align:center}.confirmation-check{display:grid;width:64px;height:64px;place-items:center;border-radius:50%;background:#def7ed;color:#078064;font-size:2rem;font-weight:950}.assignment-confirmation h2{margin:0;color:#173253}.assignment-confirmation>div{display:grid;width:100%;grid-template-columns:repeat(4,1fr);gap:10px;margin:7px 0}.assignment-confirmation>div span{display:grid;gap:4px;padding:13px;border-radius:12px;background:#f5f7fb;color:#718096;font-size:.75rem}.assignment-confirmation>div b{color:#173253;font-size:.9rem}.assignment-confirmation footer{display:flex;justify-content:center;gap:10px;margin-top:8px}
.schedule-ist-preview{display:block;margin-top:7px;padding:9px 11px;border-radius:10px;background:#eef8f5;color:#08745d;font-size:.84rem;font-weight:800}.schedule-validation-error{display:block;min-height:20px;margin-top:7px;color:#bd3434;font-weight:800}
.batch-schedule-form{width:min(720px,calc(100vw - 32px))}.batch-student-picker{margin:18px 0 14px;padding:0;border:0}.batch-student-picker legend{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;color:#132848;font-weight:850}.batch-student-picker legend small{color:#687991;font-size:.78rem;font-weight:600}.batch-student-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.batch-student-option{display:flex;align-items:center;gap:10px;min-width:0;margin:0;padding:11px 12px;border:1px solid #e1e6ec;border-radius:13px;background:#fff;cursor:pointer}.batch-student-option:hover{background:#f8fafc}.batch-student-option input{width:18px;height:18px;flex:0 0 auto;accent-color:#148866}.batch-student-option span{display:flex;min-width:0;flex:1;flex-direction:column}.batch-student-option b{overflow:hidden;color:#132848;text-overflow:ellipsis;white-space:nowrap}.batch-student-option small{color:#738198;font-size:.75rem}.batch-student-option em{padding:4px 7px;border-radius:999px;background:#eef6f3;color:#187b63;font-size:.7rem;font-style:normal;font-weight:800}.batch-student-option.already-in-batch{background:#f3f5f7;cursor:default}.batch-student-option.already-in-batch em{background:#e5e9ed;color:#607086}.batch-student-option:has(input:disabled:not([data-existing="true"])){opacity:.5;cursor:not-allowed}.batch-slot-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;border-radius:11px;background:#f4f7fa;color:#53647a;font-size:.8rem}.batch-slot-status b{color:#132848}.batch-slot-status span{text-align:right}.batch-empty{grid-column:1/-1;margin:0;padding:14px;border-radius:12px;background:#f5f7f9;color:#67768b;text-align:center}
@media(max-width:620px){.batch-student-options{grid-template-columns:1fr}.batch-slot-status{align-items:flex-start;flex-direction:column}.batch-slot-status span{text-align:left}}
.toast.has-action{display:flex;align-items:center;gap:14px;pointer-events:auto}.toast.has-action button{border:1px solid rgba(255,255,255,.55);border-radius:8px;background:#fff;color:#173253;padding:7px 11px;font-weight:900;cursor:pointer}
@media(max-width:1000px){.teacher-student-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.student-search{grid-column:1/-1}.assignment-confirmation>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.teacher-student-filters{grid-template-columns:1fr}.student-search{grid-column:auto}.activity-timeline-list article{grid-template-columns:44px minmax(0,1fr)}.activity-timeline-list article>em{grid-column:2}.assignment-confirmation>div{grid-template-columns:1fr}.assignment-confirmation footer{width:100%;flex-direction:column}.assignment-confirmation footer button{width:100%}}

/* Student experience phase 3. This does not style curriculum authoring screens. */
.student-primary-continue{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:18px;align-items:center;margin:18px 0;padding:20px 22px;border:1px solid #cce7df;border-radius:20px;background:linear-gradient(135deg,#effaf6,#f5f2ff);box-shadow:0 10px 28px rgba(18,55,78,.07)}
.student-primary-continue .continue-play{display:grid;width:54px;height:54px;place-items:center;border-radius:17px;background:#16a17e;color:#fff;box-shadow:0 9px 20px rgba(22,161,126,.24)}.student-primary-continue h2{margin:2px 0 4px;color:#173253;font-size:1.18rem}.student-primary-continue p{margin:0;color:#65768a}.student-primary-continue .eyebrow{color:#08755e}
.student-subject-card .outline-button{white-space:nowrap}.student-subject-card.outside-class .outline-button{background:#f5f7fa;color:#52647a}
.sheet-completion-next{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;width:100%;margin-top:22px;padding:20px;border:1px solid #cfe7df;border-radius:18px;background:#f2fbf7;text-align:left}.sheet-completion-next h3{margin:3px 0 5px;color:#173253}.sheet-completion-next p{margin:0;color:#63758a}.sheet-completion-next>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.sheet-completion-next .text-button{align-self:center}
@media(max-width:720px){.student-primary-continue{grid-template-columns:48px minmax(0,1fr)}.student-primary-continue .continue-play{width:46px;height:46px}.student-primary-continue>button{grid-column:1/-1;width:100%}.sheet-completion-next{grid-template-columns:1fr}.sheet-completion-next>div:last-child{justify-content:stretch;flex-direction:column}.sheet-completion-next button{width:100%}}

/* Accessibility and polish phase 4. Portal shell only; curriculum presentation is unchanged. */
.portal-boot-skeleton{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:18px;padding:28px;background:#fffaf2;color:#16304f;font-family:Arial,sans-serif;text-align:center}.boot-logo{display:grid;width:68px;height:68px;place-items:center;border-radius:21px;background:linear-gradient(145deg,#6558e8,#35c8b0);color:#ffe274;font:900 25px/1 Georgia;box-shadow:0 14px 34px rgba(73,59,190,.22)}.boot-lines{display:grid;width:min(300px,70vw);gap:9px}.boot-lines span{height:11px;border-radius:999px;background:linear-gradient(90deg,#e8e7f4 20%,#f8f7fc 45%,#e8e7f4 70%);background-size:220% 100%;animation:portal-skeleton 1.25s ease-in-out infinite}.boot-lines span:nth-child(2){width:78%;animation-delay:.12s}.boot-lines span:nth-child(3){width:55%;animation-delay:.24s}.portal-boot-skeleton p{margin:0;color:#63758a;font-weight:700}
.login-progress-skeleton{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;padding:12px;border-radius:13px;background:#f5f7fb}.login-progress-skeleton span{height:9px;border-radius:999px;background:linear-gradient(90deg,#e2e5ed 20%,#f8f9fb 45%,#e2e5ed 70%);background-size:220% 100%;animation:portal-skeleton 1.25s ease-in-out infinite}.login-progress-skeleton span:nth-child(2){width:70%}.login-progress-skeleton small{grid-column:1/-1;color:#607086;font-weight:700}
.modal-backdrop .modal[role="dialog"]{max-height:min(90vh,900px);overflow:auto;overscroll-behavior:contain}.modal-backdrop .modal[role="dialog"]:focus{outline:none}.nav-link[aria-current="page"]{box-shadow:inset 4px 0 0 #ffd45c}
.panel table,.table-wrap{max-width:100%;overflow-x:auto}.panel table{word-break:normal}.modal button,.modal a,.dashboard-shell button,.dashboard-shell a{touch-action:manipulation}
@keyframes portal-skeleton{0%{background-position:100% 0}100%{background-position:-120% 0}}
@media(max-width:760px){.modal-backdrop{padding:12px}.modal-backdrop .modal{width:100%;max-width:none;max-height:calc(100vh - 24px);border-radius:18px}.modal-head{align-items:flex-start;gap:10px}.dashboard-main{min-width:0}.topbar{gap:10px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.panel-title{align-items:flex-start;gap:12px}.panel-title>div{min-width:0}.panel-title h2,.panel h3{overflow-wrap:anywhere}.chapter-sheet-sequence article{min-width:0}.chapter-sheet-sequence article>div{min-width:0}.chapter-sheet-sequence h3{overflow-wrap:anywhere}}
@media(max-width:480px){.modal-backdrop{align-items:stretch;padding:0}.modal-backdrop .modal{min-height:100vh;max-height:100vh;border-radius:0}.top-actions .ist-clock{display:none}.portal-save-status{max-width:150px}.student-primary-continue{padding:16px}.chapter-sheet-sequence article{grid-template-columns:36px minmax(0,1fr)}.chapter-sheet-sequence article>b,.chapter-sheet-sequence article>button{grid-column:2}.chapter-sheet-sequence article>button{width:100%}}
@media(prefers-reduced-motion:reduce){.boot-lines span,.login-progress-skeleton span{animation:none!important;background:#e8e7f4}.modal-backdrop{scroll-behavior:auto}}

/* Final typography override mirrors the currently published portal. */
#app,.dashboard-shell,.dashboard-shell button,.dashboard-shell input,.dashboard-shell select,.dashboard-shell textarea{font-family:"DM Sans",sans-serif}
#app :where(h1,h2,h3,.logo,.live-timer,.stat-grid strong,.subject-badge,.current-visual>span,.upcoming-number,.sheet-result h2,.focus-question h2){font-family:Manrope,"Segoe UI",Arial,sans-serif!important}

/* Overview and curriculum refinement — 2026-08-28 */
.sidebar nav{gap:5px;margin-top:34px}
.sidebar .nav-link{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;gap:11px!important;min-height:48px;padding:5px 9px!important;border-radius:14px!important;text-align:left!important;justify-items:stretch!important;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.sidebar .nav-link:hover{transform:translateX(2px)}
.sidebar .nav-link>.nav-icon{width:36px!important;height:36px!important;display:grid!important;place-items:center!important;border-radius:11px!important;background:linear-gradient(145deg,#254b65,#193853)!important;border:1px solid #ffffff17!important;color:#8de0c2!important;box-shadow:inset 0 1px #ffffff12!important;font-size:0!important}
.sidebar .nav-link:nth-child(3n+2)>.nav-icon{color:#ffd280!important;background:linear-gradient(145deg,#4b4350,#2a3952)!important}
.sidebar .nav-link:nth-child(3n)>.nav-icon{color:#bcb5ff!important;background:linear-gradient(145deg,#39436c,#263752)!important}
.sidebar .nav-link.active>.nav-icon{color:#0d7658!important;background:#fff!important;border-color:#fff!important;box-shadow:0 6px 18px #071d2e45!important}
.sidebar .nav-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sidebar .nav-link>.nav-label{width:auto!important;height:auto!important;display:block!important;background:none!important;border:0!important;border-radius:0!important;color:inherit!important;font:700 14px/1.25 "DM Sans",sans-serif!important;align-self:center!important}

.curriculum-simple-page{max-width:1120px;margin:0 auto}
.curriculum-simple-page>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:2px 2px 18px;border-bottom:1px solid var(--line)}
.curriculum-simple-page>header h2{margin:4px 0;font-size:28px}.curriculum-simple-page>header p:last-child{margin:0;color:var(--muted)}
.curriculum-simple-page>header>span{white-space:nowrap;padding:7px 11px;border-radius:999px;background:#e4f6ef;color:#137557;font-size:12px;font-weight:800}
.curriculum-filter-bar{display:grid;grid-template-columns:auto 150px minmax(260px,1fr);align-items:end;gap:12px;padding:16px 0}
.curriculum-filter-bar .board-tabs{margin:0}.curriculum-filter-bar>label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.curriculum-filter-bar select{height:42px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 12px;color:var(--ink);font-weight:700}
.curriculum-filter-bar .curriculum-search{margin:0}
.curriculum-list-head{display:grid;grid-template-columns:1fr auto;padding:9px 14px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.curriculum-chapter-list{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff}
.curriculum-chapter-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:14px 16px;border-top:1px solid var(--line)}
.curriculum-chapter-row:first-of-type{border-top:0}.chapter-row-number{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eff7f5;color:#14795c;font-weight:900;font-size:12px}
.curriculum-chapter-row h3{margin:0 0 3px;font-size:16px}.curriculum-chapter-row p{margin:0;color:var(--muted);font-size:12px}
.curriculum-chapter-row .button,.curriculum-chapter-row .outline-button{min-width:84px;justify-content:center}
.curriculum-demo-row .demo-chapter-card{margin:12px;box-shadow:none}.curriculum-demo-row .demo-chapter-card .subtopic-chips,.curriculum-demo-row .demo-chapter-card .chapter-bank-summary{display:none}
.curriculum-demo-compact{background:#f5fcf8}.curriculum-demo-compact .chapter-row-number{background:#dff6ea;color:#08775a}

.continue-learning-head{margin-top:22px}.student-subject-list{margin-bottom:20px}
.overview-plan-button{border:1px solid #b8d9cf;background:#eff9f5;color:#117255;border-radius:12px;padding:10px 14px;font-weight:850;cursor:pointer;box-shadow:0 6px 16px rgba(17,114,85,.08)}.overview-plan-button:hover{background:#147b5e;color:#fff;border-color:#147b5e;transform:translateY(-1px)}
.student-practice-centre{display:grid;gap:18px;margin-top:26px}.student-practice-centre>.today-work-head{margin-bottom:-4px}
.daily-challenge-slot:empty{display:none}
.overview-inline-tool{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(22,43,73,.055)}
.inline-tool-label{display:flex;align-items:center;gap:12px;padding:16px 18px 0}.inline-tool-label>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;font-size:18px;font-weight:900}
.inline-tool-label small{color:var(--muted);font-weight:900;letter-spacing:.08em}.inline-tool-label h3{margin:3px 0 0;font-size:16px}
.gym-inline .inline-tool-label>span{background:#e4f7ef;color:#15815e}.puzzle-inline .inline-tool-label>span{background:#f0ebff;color:#7049b6}
.overview-inline-tool>.gym-intro,.overview-inline-tool>.math-gym-player,.overview-inline-tool>.gym-result,.overview-inline-tool>.puzzle-page{margin:0;border:0;border-radius:0;box-shadow:none}
.overview-inline-tool>.gym-intro{min-height:0;padding-top:10px}.overview-inline-tool .gym-bolt{display:none}
.overview-inline-tool>.puzzle-page>header{padding-top:8px}.overview-inline-tool .active-puzzle-card{margin:0 18px 18px}
.gym-back-button{border:0;background:transparent;color:#137557;padding:0 0 8px;font:800 13px "DM Sans",sans-serif;cursor:pointer}
.gym-back-button:hover{text-decoration:underline}

@media(max-width:900px){.curriculum-filter-bar{grid-template-columns:1fr 140px}.curriculum-filter-bar .curriculum-search{grid-column:1/-1}.curriculum-chapter-row{grid-template-columns:38px minmax(0,1fr) auto}.curriculum-chapter-row .outline-button{grid-column:2}.curriculum-chapter-row .button{grid-column:3;grid-row:1/3}.sidebar .nav-link>.nav-label{font-size:0!important}.sidebar .nav-link{grid-template-columns:1fr!important;justify-items:center!important}}
@media(max-width:650px){.curriculum-simple-page>header{align-items:flex-start}.curriculum-filter-bar{grid-template-columns:1fr}.curriculum-filter-bar .curriculum-search{grid-column:auto}.curriculum-chapter-row{grid-template-columns:34px 1fr}.curriculum-chapter-row .outline-button,.curriculum-chapter-row .button{grid-column:auto;grid-row:auto}.curriculum-list-head{display:none}.student-practice-centre{gap:14px}}

/* Student-style teacher curriculum and clickable daily practice — 2026-08-28 */
.teacher-student-style-curriculum{max-width:1160px;margin:0 auto}.teacher-math-head{background:linear-gradient(125deg,#193a57,#1d765f);box-shadow:0 18px 44px rgba(18,61,73,.14)}
.teacher-math-chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-math-chapter-card{grid-template-columns:42px minmax(0,1fr)!important;align-items:start!important;position:relative;min-height:190px;padding:20px!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.teacher-math-chapter-card:hover{transform:translateY(-2px);border-color:#b6d9ce;box-shadow:0 14px 32px rgba(22,48,79,.09)}.teacher-math-chapter-card>.chapter-actions{grid-column:2;display:flex;gap:9px;margin-top:4px}.teacher-math-chapter-card>.chapter-actions button{min-width:0;padding:10px 13px}.teacher-math-chapter-card.demo{background:linear-gradient(145deg,#f1fbf6,#fff)}
.teacher-tier-pills{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.teacher-tier-pills span{padding:6px 9px;border-radius:999px;background:#f0f6f5;color:#476477;font-size:10px;font-weight:800}.teacher-tier-pills b{color:#08765a;margin-right:2px}

.practice-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.practice-choice{position:relative;overflow:hidden;min-height:225px;padding:22px;border:0;border-radius:24px;text-align:left;color:#102d4a;cursor:pointer;box-shadow:0 14px 34px rgba(26,50,78,.1);transition:transform .2s ease,box-shadow .2s ease}.practice-choice::after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-58px;top:-54px;background:#fff6}.practice-choice:hover{transform:translateY(-5px) rotate(-.25deg);box-shadow:0 20px 42px rgba(26,50,78,.16)}.practice-choice:focus-visible{outline:3px solid #16304f;outline-offset:3px}.challenge-choice{background:linear-gradient(145deg,#fff0bd,#ffe4a1)}.gym-choice{background:linear-gradient(145deg,#dff7ec,#c9efdf)}.puzzle-choice{background:linear-gradient(145deg,#ece8ff,#ddd6ff)}.practice-art{position:relative;z-index:1;width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#fff9;font-size:28px;box-shadow:0 8px 20px #18324b18}.practice-choice small{display:block;margin:18px 0 5px;font-weight:900;letter-spacing:.1em;color:#456174}.practice-choice h3{margin:0;font-size:21px}.practice-choice p{min-height:40px;margin:8px 0 18px;color:#4e6578;line-height:1.45}.practice-choice>b{display:flex;align-items:center;justify-content:space-between;color:#123c53;font-size:13px}.practice-choice i{font-style:normal;font-size:20px;transition:transform .18s ease}.practice-choice:hover i{transform:translateX(4px)}
.overview-practice-stage{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 16px 42px rgba(22,43,73,.08);scroll-margin-top:20px}.overview-practice-stage>header{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line);background:#f8fbfb}.overview-practice-stage>header>button{border:0;border-radius:11px;background:#e5f4ef;color:#116f55;padding:10px 13px;font-weight:800;cursor:pointer}.overview-practice-stage>header small{color:#647689;font-size:10px;font-weight:900;letter-spacing:.1em}.overview-practice-stage>header h3{margin:2px 0 0;font-size:17px}.overview-practice-stage>.dashboard-math-challenge,.overview-practice-stage>.gym-intro,.overview-practice-stage>.math-gym-player,.overview-practice-stage>.gym-result,.overview-practice-stage>.puzzle-page{margin:0;border:0;border-radius:0;box-shadow:none}.overview-practice-stage .active-puzzle-card{margin:0 20px 20px}
@media(max-width:900px){.teacher-math-chapter-grid,.practice-choice-grid{grid-template-columns:1fr}.practice-choice{min-height:190px}.teacher-math-chapter-card{min-height:0}}
@media(max-width:560px){.practice-choice{min-height:180px}.teacher-math-chapter-card>.chapter-actions{grid-column:1/-1}.teacher-math-chapter-card{grid-template-columns:38px 1fr!important}}
.student-chapter-grid article.assigned{border-color:#9bdcca;background:#fbfffd}.student-chapter-grid article.assigned small{color:#087c65}
.assigned-chapter-section{margin-bottom:30px}.assigned-first-grid{padding:4px;border-radius:22px;background:#eaf8f3}.assigned-first-grid article.assigned{box-shadow:0 10px 25px rgba(8,124,101,.1)}.grade-catalog-section{padding-top:4px}

/* Grade-aware daily Coding + AI practice */
.coding-practice-centre{margin:0 0 30px}.coding-practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.coding-practice-card{position:relative;overflow:hidden;min-height:225px;padding:22px;border:0;border-radius:24px;text-align:left;color:#102d4a;cursor:pointer;box-shadow:0 14px 34px rgba(26,50,78,.1);transition:transform .18s ease,box-shadow .18s ease}.coding-practice-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(26,50,78,.15)}.coding-practice-card::after{content:"";position:absolute;right:-42px;top:-46px;width:138px;height:138px;border-radius:50%;background:rgba(255,255,255,.42)}.coding-practice-card.gym{background:linear-gradient(145deg,#dff7ec,#bdebd8)}.coding-practice-card.detective{background:linear-gradient(145deg,#e8efff,#cfdbff)}.coding-practice-card.maker{background:linear-gradient(145deg,#f2eaff,#ded2ff)}.coding-practice-card.completed{filter:saturate(.78)}.coding-practice-icon{position:relative;z-index:1;width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#fff9;font-size:27px;box-shadow:0 8px 20px #18324b18}.coding-practice-card small{display:block;margin:17px 0 5px;font-weight:900;letter-spacing:.1em;color:#456174}.coding-practice-card h3{min-height:52px;margin:0;font-size:21px;line-height:1.25}.coding-practice-card p{min-height:43px;margin:8px 0 16px;color:#4e6578;line-height:1.4}.coding-practice-card>b{display:flex;justify-content:space-between;align-items:center;color:#123c53;font-size:13px}.coding-practice-card i{font-style:normal;font-size:20px}.coding-practice-player{max-width:980px;margin:0 auto}.coding-practice-player>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:20px 24px;background:#16304f;color:#fff;border-radius:22px 22px 0 0}.coding-practice-player>header button{border:0;background:#fff1;color:#fff;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer}.coding-practice-player>header small{display:block;color:#bcd3e1;font-weight:800;letter-spacing:.07em}.coding-practice-player>header h2{margin:3px 0 0}.coding-practice-player>header>span{display:grid;place-items:center;min-width:54px;height:42px;border-radius:12px;background:#fff2;font-weight:900}.coding-practice-progress{height:7px;background:#dfe6ec}.coding-practice-progress i{display:block;height:100%;background:#4ecb98;transition:width .2s ease}.coding-practice-player>main,.maker-mission{padding:34px;background:#fff;border:1px solid #dde4e9;border-top:0;border-radius:0 0 22px 22px}.coding-practice-player>main>small{font-weight:900;letter-spacing:.12em;color:#668095}.coding-practice-player>main h1{max-width:760px;margin:10px 0 24px;font-size:30px;line-height:1.3}.coding-practice-player pre{overflow:auto;margin:0 0 24px;padding:20px;border-radius:15px;background:#10263c;color:#eaf7ff;font:600 16px/1.65 Consolas,monospace}.coding-practice-options{display:grid;gap:11px}.coding-practice-options button{display:flex;align-items:center;gap:14px;width:100%;padding:15px;border:1px solid #dde4e9;border-radius:14px;background:#f7f9fb;color:#17324c;text-align:left;font:700 16px inherit;cursor:pointer}.coding-practice-options button:hover{background:#edf7f3;border-color:#a9cabc}.coding-practice-options span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#fff;color:#4b6376;font-weight:900}.coding-last-feedback{display:flex;gap:10px;align-items:center;margin:-12px 0 22px;padding:12px 15px;border-radius:12px;background:#eef4f7;color:#385165}.coding-last-feedback.correct{background:#e5f7ef;color:#167254}.coding-last-feedback.review{background:#fff2e5;color:#8c5622}.maker-visual{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px;padding:22px;border-radius:18px;background:linear-gradient(135deg,#f1edff,#e6f7f1)}.maker-visual span{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:#fff;font-size:25px;box-shadow:0 7px 20px #253b5815}.maker-visual b{font-size:11px;letter-spacing:.09em}.maker-visual i{font-style:normal;color:#718397}.maker-mission>h3{max-width:730px;margin:0 auto 24px;text-align:center;font-size:22px;line-height:1.45}.maker-checklist{display:grid;gap:10px;max-width:720px;margin:0 auto 20px}.maker-check{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;padding:14px 16px;border:1px solid #dfe5eb;border-radius:14px;cursor:pointer}.maker-check input{width:20px;height:20px}.maker-check span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#e8f5ef;color:#177252;font-weight:900}.maker-proof{display:flex;flex-direction:column;gap:5px;max-width:720px;margin:0 auto 20px;padding:16px 18px;border-radius:14px;background:#fff8df}.maker-proof small{font-weight:900;color:#8a6817;letter-spacing:.1em}.maker-mission>.button{display:block;margin:0 auto}.coding-practice-result{max-width:760px;margin:35px auto;padding:46px;text-align:center;border-radius:26px;background:linear-gradient(145deg,#fff,#edf8f3);box-shadow:0 18px 48px rgba(24,49,72,.1)}.coding-practice-result>span{width:78px;height:78px;display:grid;place-items:center;margin:0 auto 18px;border-radius:24px;background:#dff4ea;color:#176f52;font-size:34px}.coding-practice-result h2{font-size:30px;margin:7px 0}.coding-practice-result p{color:#5b7081}.overview-coding-practice-summary{margin-top:8px}
@media(max-width:900px){.coding-practice-grid{grid-template-columns:1fr}.coding-practice-card{min-height:180px}.coding-practice-player>main,.maker-mission{padding:24px}}
@media(max-width:600px){.coding-practice-player>header{grid-template-columns:1fr auto}.coding-practice-player>header button{grid-column:1/-1;justify-self:start}.coding-practice-player>main h1{font-size:24px}.maker-visual{gap:6px}.maker-visual b{display:none}.maker-visual span{width:44px;height:44px}.coding-practice-centre .today-work-head>span{display:none}}
.coding-practice-options button{font-family:"Segoe UI",Arial,sans-serif}

/* Authentic Grade 6 Coding + AI pilot for Alex */
.grade6-pilot .coding-practice-card.g6-playground{background:linear-gradient(145deg,#d9f7ed,#bdebdc)}.grade6-pilot .coding-practice-card.g6-ai-detective,.grade6-pilot .coding-practice-card.g6-prompt{background:linear-gradient(145deg,#e2edff,#cbdcff)}.grade6-pilot .coding-practice-card.g6-ai-lab,.grade6-pilot .coding-practice-card.g6-training{background:linear-gradient(145deg,#f1e8ff,#ddceff)}.grade6-authentic-player{max-width:1120px;margin:0 auto 32px}.grade6-authentic-player>header{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px 24px;border-radius:22px 22px 0 0;background:#142f4b;color:#fff}.grade6-authentic-player>header button{border:0;border-radius:10px;padding:9px 12px;background:#ffffff18;color:#fff;font-weight:800;cursor:pointer}.grade6-authentic-player>header small{display:block;color:#bcd4e2;font-weight:900;letter-spacing:.09em}.grade6-authentic-player>header h2{margin:3px 0;font-size:21px}.grade6-authentic-player>header>span{padding:10px 13px;border-radius:10px;background:#ffffff18;font-size:12px;font-weight:900;letter-spacing:.08em}.playground-layout,.detective-case,.classifier-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);background:#fff;border:1px solid #dce4e9;border-top:0;border-radius:0 0 22px 22px;overflow:hidden}.playground-layout>section,.detective-case>section,.classifier-layout>section{padding:28px}.playground-layout>aside,.detective-case>aside,.classifier-layout>aside{padding:28px;background:#f5f8fa;border-left:1px solid #dce4e9}.workbench-label{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.workbench-label b,.ai-source-label{font-weight:900;letter-spacing:.1em;color:#36536b}.workbench-label small{color:#708391}.playground-layout textarea{display:block;width:100%;min-height:330px;margin-bottom:18px;padding:20px;border:0;border-radius:16px;resize:vertical;background:#10263d;color:#e9f7ff;font:600 16px/1.65 Consolas,monospace;tab-size:2}.mini-app-preview{padding:24px;text-align:center;border-radius:18px;background:linear-gradient(145deg,#e7f7f1,#d7eee7)}.mini-app-preview small{font-weight:900;letter-spacing:.1em;color:#426e60}.mini-app-preview>span{width:62px;height:62px;display:grid;place-items:center;margin:16px auto;border-radius:20px;background:#fff;font-size:29px;box-shadow:0 8px 20px #193a2f17}.mini-app-preview h3{margin:5px 0;font-size:23px}.mini-app-preview p{color:#60766f}.boundary-tests{display:grid;gap:8px;margin-top:18px}.boundary-tests>b{font-size:12px;letter-spacing:.1em;color:#536c7e}.boundary-tests>span{display:grid;grid-template-columns:30px 1fr;gap:1px 10px;align-items:center;padding:12px;border-radius:12px;background:#fff;border:1px solid #dfe6ea}.boundary-tests i{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#eef2f5;font-style:normal}.boundary-tests small{color:#6c7e8b}.boundary-tests .passed{border-color:#9bd6c0;background:#edf9f4}.boundary-tests .passed i{background:#d9f3e8;color:#197153}.boundary-tests .failed{border-color:#e5b1a6;background:#fff2ef}.boundary-tests .failed i{background:#f8dcd6;color:#9c3f31}.pilot-feedback{margin-top:15px;padding:13px 15px;border-radius:12px;background:#fff0e7;color:#8c4b2c;font-weight:700;line-height:1.45}.detective-case>section{display:grid;gap:12px}.ai-source-label{margin:0 0 5px}.ai-statement{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;padding:18px;border:1px solid #dce4e9;border-radius:15px;background:#fff;color:#18344e;text-align:left;font:700 16px/1.45 "Segoe UI",Arial,sans-serif;cursor:pointer}.ai-statement span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#edf2f6;color:#536a7b;font-weight:900}.ai-statement:hover,.ai-statement.selected{border-color:#6a85b7;background:#edf3ff}.ai-statement.selected span{background:#173b64;color:#fff}.detective-case>aside h3{margin-top:0;font-size:22px}.detective-case>aside p{color:#657a89;line-height:1.5}.detective-case textarea{width:100%;min-height:165px;margin:12px 0 16px;padding:16px;border:1px solid #cfd9e0;border-radius:14px;background:#fff;font:500 16px/1.5 "Segoe UI",Arial,sans-serif;resize:vertical}.training-example{display:grid;grid-template-columns:1fr 145px;gap:12px;align-items:center;margin-bottom:10px;padding:14px;border:1px solid #dce4e9;border-radius:14px}.training-example span{font-weight:700;line-height:1.4}.training-example select{width:100%;padding:10px;border:1px solid #ccd7de;border-radius:10px;background:#fff}.classifier-layout>section>.button{margin-top:8px}.model-test{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;margin-bottom:11px;padding:15px;border:1px solid #dfe5e9;border-radius:14px;background:#fff}.model-test>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#edf2f5;font-weight:900}.model-test b,.model-test small{display:block}.model-test small{margin-top:4px;color:#6b7d8b}.model-test.passed{border-color:#9bd6c0;background:#edf9f4}.model-test.passed>span{background:#d9f3e8;color:#197153}.model-test.failed{border-color:#e5b1a6;background:#fff2ef}.model-test.failed>span{background:#f8dcd6;color:#9c3f31}.model-tip{display:flex;flex-direction:column;gap:6px;margin-top:18px;padding:16px;border-radius:14px;background:#e8f1ff;color:#284e75}.model-tip span{line-height:1.45}.pilot-test-results{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0}.pilot-test-results span{display:flex;flex-direction:column;gap:5px;padding:13px;border-radius:12px;background:#eaf7f1;color:#1b6851}.pilot-test-results b{font-size:13px}.grade6-result .button{margin-top:12px}

/* Prompt Challenge and visual Eco Sorter */
.grade6-pilot .coding-practice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grade6-pilot .coding-practice-card{min-height:225px}.grade6-pilot .coding-practice-card.g6-code-studio{background:linear-gradient(145deg,#d9f7ed,#bdebdc)}.grade6-pilot .coding-practice-card.g6-mini-app{background:linear-gradient(145deg,#fff0c9,#ffdda0)}.grade6-pilot .coding-practice-card.g6-prompt-picker{background:linear-gradient(145deg,#e2edff,#cbdcff)}
.prompt-lab-layout,.eco-sort-layout{display:grid;grid-template-columns:minmax(360px,.88fr) minmax(420px,1.12fr);background:#fff;border:1px solid #dce4e9;border-top:0;border-radius:0 0 22px 22px;overflow:hidden}.prompt-lab-layout>section,.eco-sort-layout>section{padding:28px}.prompt-lab-layout>aside,.eco-sort-layout>aside{padding:28px;background:#f5f8fa;border-left:1px solid #dce4e9}.prompt-mission-card{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;padding:18px;border-radius:18px;background:linear-gradient(145deg,#e9f1ff,#dce8ff)}.prompt-mission-card>span{width:68px;height:68px;display:grid;place-items:center;border-radius:20px;background:#fff;font-size:34px;box-shadow:0 9px 22px #1c3e6814}.prompt-mission-card small{font-weight:900;letter-spacing:.1em;color:#526e94}.prompt-mission-card h3{margin:4px 0;font-size:19px}.prompt-mission-card p{margin:0;color:#60748c}.prompt-requirements{display:grid;gap:9px;margin:18px 0}.prompt-requirements span{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;padding:12px 14px;border:1px solid #dce4e9;border-radius:12px;color:#51677a;font-weight:750}.prompt-requirements i{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#eef2f5;font-style:normal;font-weight:900}.prompt-requirements span.passed{border-color:#95d5bd;background:#eaf8f2;color:#176e51}.prompt-requirements span.passed i{background:#cceedd}.prompt-parts>small{font-weight:900;letter-spacing:.1em;color:#687d8f}.prompt-parts>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.prompt-parts button{border:1px solid #bfd0ea;border-radius:999px;background:#f0f5ff;color:#315884;padding:8px 11px;font-weight:800;cursor:pointer}.prompt-lab-layout textarea{width:100%;min-height:150px;margin-bottom:13px;padding:16px;border:1px solid #c8d5de;border-radius:14px;background:#fff;font:600 16px/1.55 "Segoe UI",Arial,sans-serif;resize:vertical}.ai-response-preview{margin-top:18px;padding:17px;border-radius:17px;background:#142f4b;color:#fff;min-height:180px}.ai-response-preview header{display:flex;align-items:center;gap:9px;margin-bottom:13px}.ai-response-preview header span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#8b72f2;font-weight:900}.ai-response-preview p{margin:7px 0;padding:10px 12px;border-radius:11px;background:#ffffff12;color:#eaf3f8}.eco-training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.eco-training-card{padding:13px;border:1px solid #dce4e9;border-radius:15px;background:#fff}.eco-training-card>span{font-size:30px}.eco-training-card>b{display:block;margin:5px 0 10px}.eco-training-card>div{display:flex;gap:5px;flex-wrap:wrap}.eco-training-card button{flex:1;min-width:64px;border:1px solid #d7e0e5;border-radius:8px;background:#f5f7f9;color:#536779;padding:6px 7px;font-size:10px;font-weight:850;cursor:pointer}.eco-training-card button.selected{border-color:#2ca578;background:#dff6ed;color:#126e4f}.eco-robot{text-align:center;margin-bottom:19px;padding:17px;border-radius:18px;background:linear-gradient(145deg,#e7f7f0,#d4eee3)}.robot-face{position:relative;width:82px;height:64px;margin:0 auto 8px;border-radius:22px;background:#173e55;display:flex;align-items:center;justify-content:center;gap:13px}.robot-face:before{content:"";position:absolute;top:-13px;width:4px;height:15px;background:#173e55}.robot-face:after{content:"";position:absolute;top:-18px;width:11px;height:11px;border-radius:50%;background:#5ad2a4}.robot-face i{width:12px;height:12px;border-radius:50%;background:#7af1bf;box-shadow:0 0 10px #7af1bf}.robot-face b{position:absolute;bottom:5px;color:#aeeed6;font-size:9px}.eco-robot h3{margin:4px 0}.eco-robot p{margin:0;color:#557268}.eco-sort-layout>aside{counter-reset:eco-question}.eco-test{grid-template-columns:31px 42px 1fr 28px;counter-increment:eco-question}.eco-test:before{content:"Q" counter(eco-question);font-size:10px;font-weight:900;color:#64798a}.eco-test>span{font-size:24px;background:#fff}.eco-test>i{font-style:normal;font-weight:900}.eco-test.passed>i{color:#197153}.eco-test.failed>i{color:#9c3f31}

/* Grade 6 comparison: Mini App Studio and Prompt Picker */
.mini-app-layout,.prompt-picker-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);background:#fff;border:1px solid #dce4e9;border-top:0;border-radius:0 0 22px 22px;overflow:hidden}.mini-app-layout>section,.prompt-picker-layout>section{padding:28px}.mini-app-layout>aside,.prompt-picker-layout>aside{padding:28px;background:#f5f8fa;border-left:1px solid #dce4e9}.app-brief-card,.prompt-picker-brief{display:grid;grid-template-columns:64px 1fr;gap:15px;align-items:center;margin-bottom:18px;padding:17px;border-radius:17px;background:linear-gradient(145deg,#fff1cd,#ffe2a7)}.prompt-picker-brief{background:linear-gradient(145deg,#e9f1ff,#dce8ff)}.app-brief-card>span,.prompt-picker-brief>span{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:#fff;font-size:30px;box-shadow:0 8px 18px #233f6112}.app-brief-card small,.prompt-picker-brief small{font-weight:900;letter-spacing:.1em;color:#6d624a}.app-brief-card h3,.prompt-picker-brief h3{margin:3px 0;font-size:20px}.app-brief-card p,.prompt-picker-brief p{margin:0;color:#687785}.component-palette>b,.event-builder>b{display:block;margin:14px 0 9px;color:#36536b;font-size:12px;letter-spacing:.1em}.component-palette{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.component-palette>b{grid-column:1/-1}.component-palette>button{padding:13px 8px;border:1px solid #dce4e9;border-radius:13px;background:#fff;color:#29465e;cursor:pointer}.component-palette>button>span{width:35px;height:35px;display:grid;place-items:center;margin:0 auto 7px;border-radius:10px;background:#eef3f6;font-weight:900}.component-palette>button b,.component-palette>button small{display:block}.component-palette>button small{margin-top:3px;color:#7a8994;font-size:10px}.component-palette>button.selected{border-color:#e8b64d;background:#fff7e3}.component-palette>button.selected>span{background:#ffd978}.event-builder{display:grid;gap:8px;margin-bottom:14px}.event-builder>button{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center;padding:12px;border:1px solid #dce4e9;border-radius:12px;background:#fff;text-align:left;color:#40576a;cursor:pointer}.event-builder code{padding:8px;border-radius:8px;background:#142f4b;color:#dff7ed}.event-builder>button.selected{border-color:#61b995;background:#eaf8f2}.mini-test-list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:13px}.mini-test-list span{display:flex;gap:7px;align-items:center;padding:8px 10px;border-radius:9px;background:#f2f5f7;color:#5d7080;font-size:11px;font-weight:800}.mini-test-list span.passed{background:#e4f7ef;color:#176e51}.mini-test-list span.failed{background:#fff0eb;color:#914733}.mini-test-list i{font-style:normal}.phone-frame{width:min(100%,320px);min-height:470px;margin:0 auto;border:9px solid #19354f;border-radius:34px;background:#fff;overflow:hidden;box-shadow:0 20px 38px #152f4d24}.phone-frame>header{display:flex;align-items:center;justify-content:center;gap:8px;height:42px;background:#19354f;color:#dcebf4;font-size:10px;letter-spacing:.1em}.phone-frame>header i{width:8px;height:8px;border-radius:50%;background:#55d2a2}.phone-frame>main{display:flex;flex-direction:column;gap:17px;padding:30px 23px}.phone-frame h3{margin:8px 0 12px;text-align:center;font-size:24px}.phone-frame label{display:grid;gap:7px;color:#526879;font-size:12px;font-weight:800}.phone-frame input{padding:12px;border:1px solid #cbd7de;border-radius:10px}.phone-frame main>button{border:0;border-radius:11px;background:#178b65;color:#fff;padding:13px;font-weight:900;cursor:pointer}.phone-output{min-height:42px;padding:12px;border-radius:10px;background:#edf4f7;color:#4e6678;text-align:center}.empty-component{padding:15px;border:2px dashed #d5dee4;border-radius:12px;color:#91a0aa;text-align:center}.preview-instruction{display:flex;flex-direction:column;gap:4px;margin:16px auto 0;max-width:320px;color:#50687a}.preview-instruction span{font-size:12px;line-height:1.45}.prompt-option-list{display:grid;gap:9px;margin-bottom:14px}.prompt-option-list button{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;padding:14px;border:1px solid #dce4e9;border-radius:13px;background:#fff;color:#28465f;text-align:left;cursor:pointer}.prompt-option-list button>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#eef3f7;font-weight:900}.prompt-option-list p{margin:0;line-height:1.4}.prompt-option-list button.selected{border-color:#647fc2;background:#edf3ff}.prompt-option-list button.selected>span{background:#284f89;color:#fff}.picker-preview{margin-top:0;min-height:230px}.prompt-picker-feedback{display:flex;flex-direction:column;gap:5px;margin-top:14px;padding:15px;border-radius:13px}.prompt-picker-feedback.correct{background:#e5f7ef;color:#176e51}.prompt-picker-feedback.review{background:#fff0e7;color:#8c4b2c}.prompt-picker-feedback span{line-height:1.45}.prompt-quality-meter{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.prompt-quality-meter b{width:100%;color:#415d72}.prompt-quality-meter span{padding:6px 9px;border-radius:999px;background:#e7eef5;color:#50687a;font-size:10px;font-weight:850}.selected-prompt-note{margin-top:14px;padding:13px;border-radius:12px;background:#fff;border:1px solid #dce4e9}.selected-prompt-note small{font-weight:900;color:#647b8d}.selected-prompt-note p{margin:6px 0 0;line-height:1.45}
.pilot-hint{margin-top:16px;border:1px solid #e4d39c;border-radius:13px;background:#fff9e8;overflow:hidden}.pilot-hint summary{padding:12px 14px;color:#765b18;font-weight:900;cursor:pointer}.pilot-hint p{margin:0;padding:0 14px 14px;color:#705f36;line-height:1.5}.pilot-hint[open] summary{padding-bottom:7px}
.alex-grade-preview{display:grid;grid-template-columns:1fr auto;gap:14px 24px;align-items:center;margin-bottom:22px;padding:20px 22px;border:1px solid #dce4e9;border-radius:22px;background:linear-gradient(135deg,#f7fbff,#f4f0ff)}.alex-grade-preview small{font-weight:900;letter-spacing:.08em;color:#60778b}.alex-grade-preview h2{margin:4px 0 0}.alex-grade-preview nav,.alex-set-switcher{display:flex;gap:8px;flex-wrap:wrap}.alex-grade-preview button{border:1px solid #d4dfe6;border-radius:11px;background:#fff;color:#40586b;padding:10px 14px;font-weight:850;cursor:pointer}.alex-grade-preview button.active{border-color:#244f89;background:#244f89;color:#fff}.alex-set-switcher{grid-column:1/-1;padding-top:13px;border-top:1px solid #dfe6eb}.alex-set-switcher button.active{border-color:#178b65;background:#e4f7ef;color:#176e51}.alex-approved-badge{grid-column:1/-1;justify-self:start;padding:7px 11px;border-radius:999px;background:#def5e9;color:#176e51;font-size:12px;font-weight:850}.alex-prepared-practice-card.code{background:linear-gradient(145deg,#d9f7ed,#bdebdc)}.alex-prepared-practice-card.prompt{background:linear-gradient(145deg,#e2edff,#cbdcff)}.alex-prepared-practice-card.ai{background:linear-gradient(145deg,#f1e8ff,#ddceff)}.alex-prepared-practice-card p{font-size:12px}.alex-content-review{max-width:1000px;margin:0 auto}.alex-content-review>header,.alex-mission-preview>header{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px 24px;border-radius:22px 22px 0 0;background:#142f4b;color:#fff}.alex-content-review>header button,.alex-mission-preview>header button{border:0;border-radius:10px;padding:9px 12px;background:#ffffff18;color:#fff;font-weight:800;cursor:pointer}.alex-content-review>header small,.alex-mission-preview>header small{color:#bcd4e2;font-weight:900;letter-spacing:.08em}.alex-content-review>header h2,.alex-mission-preview>header h2{margin:4px 0 0}.alex-content-review>header>span,.alex-mission-preview>header>span{width:48px;height:42px;display:grid;place-items:center;border-radius:11px;background:#ffffff18;font-weight:900}.alex-review-list{display:grid;gap:13px;padding:26px;border:1px solid #dce4e9;border-top:0;background:#fff}.alex-review-mission{display:grid;grid-template-columns:44px 1fr;gap:15px;width:100%;padding:18px;border:1px solid #dce4e9;border-radius:16px;background:#fff;color:#18344e;text-align:left;cursor:pointer}.alex-review-mission:hover{border-color:#8ca8c5;background:#f8fbff}.alex-review-mission>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eaf1ff;color:#315884;font-weight:900}.alex-review-list small{font-weight:900;letter-spacing:.08em;color:#687e90}.alex-review-list h3{margin:4px 0 6px}.alex-review-list p{margin:0;color:#52697a;line-height:1.5}.alex-review-list aside{margin-top:13px;padding:13px 15px;border-radius:12px;background:#fff7df;color:#705718}.alex-review-list aside p{margin-top:4px;color:#705718}.alex-review-mission strong{display:block;margin-top:13px;color:#244f89}.alex-content-review>footer{display:flex;gap:10px;padding:16px 22px;border-radius:0 0 18px 18px;background:#edf3f7;color:#52697a}.alex-content-review>footer b{color:#28465f}.alex-mission-preview{max-width:1000px;margin:0 auto}.alex-mission-preview-body{display:grid;grid-template-columns:1.08fr .92fr;border:1px solid #dce4e9;border-top:0;background:#fff}.alex-mission-preview-body>section,.alex-mission-preview-body>aside{padding:30px}.alex-mission-preview-body>aside{border-left:1px solid #dce4e9;background:#f5f8fa}.alex-mission-preview-body h3{font-size:25px;line-height:1.4}.alex-mission-flow{display:grid;gap:10px;margin-top:24px}.alex-mission-flow>div{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:center;padding:13px;border:1px solid #dce4e9;border-radius:12px}.alex-mission-flow i{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#eaf1ff;color:#315884;font-style:normal;font-weight:900}.alex-mission-hint{padding:18px;border-radius:15px;background:#fff6da;color:#705718}.alex-mission-hint p{margin:7px 0 0;line-height:1.55}.alex-mission-quality{display:grid;gap:8px;margin-top:18px}.alex-mission-quality b{margin-bottom:2px;color:#36536b}.alex-mission-quality span{padding:10px 12px;border-radius:10px;background:#e5f4ee;color:#176e51;font-size:12px;font-weight:800}.alex-mission-preview>footer{display:flex;align-items:center;gap:16px;padding:16px 22px;border-radius:0 0 18px 18px;background:#edf3f7;color:#52697a}.alex-mission-preview>footer span{font-size:12px}
.prompt-builder-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);background:#fff;border:1px solid #dce4e9;border-top:0;border-radius:0 0 22px 22px;overflow:hidden}.prompt-builder-layout>section,.prompt-builder-layout>aside{padding:28px}.prompt-builder-layout>aside{background:#f5f8fa;border-left:1px solid #dce4e9}.prompt-builder-fields{display:grid;gap:10px;margin-bottom:16px}.prompt-builder-fields article{padding:12px;border:1px solid #dce4e9;border-radius:14px;background:#fff}.prompt-builder-fields article>b{display:flex;align-items:center;gap:9px;margin-bottom:9px;color:#36536b}.prompt-builder-fields article>b i{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#e8f0ff;color:#315884;font-style:normal}.prompt-builder-fields article>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.prompt-builder-fields button{padding:10px 11px;border:1px solid #d8e1e7;border-radius:10px;background:#f7f9fa;color:#40586b;text-align:left;font-weight:750;line-height:1.35;cursor:pointer}.prompt-builder-fields button.selected{border-color:#5b7fc0;background:#eaf1ff;color:#244f89}.assembled-prompt{padding:17px;border-radius:16px;background:#142f4b;color:#fff}.assembled-prompt small{font-weight:900;letter-spacing:.1em;color:#bcd4e2}.assembled-prompt p{margin:11px 0 0;line-height:1.6}.assembled-prompt span{display:inline;padding:3px 5px;border-radius:6px;background:#ffffff12}.prompt-builder-checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:15px 0}.prompt-builder-checklist>b{grid-column:1/-1;color:#415d72}.prompt-builder-checklist span{display:flex;align-items:center;gap:7px;padding:9px 10px;border-radius:10px;background:#e9eef2;color:#5d7080;font-size:12px;font-weight:850}.prompt-builder-checklist i{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#fff;font-style:normal}.prompt-builder-checklist span.passed{background:#ddf4ea;color:#176e51}.prompt-builder-checklist span.failed{background:#ffebe5;color:#914733}.builder-preview{min-height:150px}.prompt-next{width:100%;margin-top:14px}.prompt-builder-workbench .pilot-hint{margin-top:14px}
@media(max-width:850px){.grade6-pilot .coding-practice-grid{grid-template-columns:1fr}.playground-layout,.detective-case,.classifier-layout,.prompt-lab-layout,.eco-sort-layout,.mini-app-layout,.prompt-picker-layout,.prompt-builder-layout{grid-template-columns:1fr}.playground-layout>aside,.detective-case>aside,.classifier-layout>aside,.prompt-lab-layout>aside,.eco-sort-layout>aside,.mini-app-layout>aside,.prompt-picker-layout>aside,.prompt-builder-layout>aside{border-left:0;border-top:1px solid #dce4e9}.grade6-authentic-player>header{grid-template-columns:1fr auto}.grade6-authentic-player>header button{grid-column:1/-1;justify-self:start}.playground-layout textarea{min-height:280px}}
@media(max-width:560px){.playground-layout>section,.detective-case>section,.classifier-layout>section,.playground-layout>aside,.detective-case>aside,.classifier-layout>aside,.prompt-lab-layout>section,.prompt-lab-layout>aside,.eco-sort-layout>section,.eco-sort-layout>aside,.mini-app-layout>section,.mini-app-layout>aside,.prompt-picker-layout>section,.prompt-picker-layout>aside,.prompt-builder-layout>section,.prompt-builder-layout>aside{padding:20px}.workbench-label{align-items:start;flex-direction:column}.training-example{grid-template-columns:1fr}.pilot-test-results{grid-template-columns:1fr}.eco-training-grid,.component-palette,.prompt-builder-fields article>div{grid-template-columns:1fr}.component-palette>b{grid-column:auto}.event-builder>button{grid-template-columns:1fr}.mini-test-list{grid-template-columns:1fr}.prompt-mission-card,.app-brief-card,.prompt-picker-brief{grid-template-columns:1fr}.prompt-mission-card>span{width:56px;height:56px}}
@media(max-width:700px){.alex-grade-preview{grid-template-columns:1fr}.alex-grade-preview nav{justify-content:flex-start}.alex-content-review>header,.alex-mission-preview>header{grid-template-columns:1fr auto}.alex-content-review>header button,.alex-mission-preview>header button{grid-column:1/-1;justify-self:start}.alex-review-list{padding:18px}.alex-review-mission,.alex-mission-preview-body{grid-template-columns:1fr}.alex-mission-preview-body>aside{border-left:0;border-top:1px solid #dce4e9}.alex-content-review>footer,.alex-mission-preview>footer{align-items:flex-start;flex-direction:column}}

.coding-reference-library{margin-top:28px;padding:26px;border:1px solid #dce4e9;border-radius:24px;background:#fff}.coding-reference-library>.panel-title{margin-bottom:6px}.coding-reference-selector nav{max-width:610px}.coding-reference-selector nav button{min-width:74px}.attempt-count{display:block;margin:12px 0 0;color:#6f8290;font-weight:800}.answer-reveal{display:grid;gap:7px;margin-top:15px;padding:16px;border:1px solid #e8bd63;border-radius:14px;background:#fff7df;color:#694f16}.answer-reveal>b{margin-bottom:3px}.answer-reveal span{padding:8px 10px;border-radius:9px;background:#fff}.code-answer pre{max-height:240px;margin:5px 0 0;padding:13px;border-radius:10px;overflow:auto;background:#142f4b;color:#eaf7ff;white-space:pre-wrap}.junior-code-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.85fr);border:1px solid #dce4e9;border-top:0;border-radius:0 0 22px 22px;overflow:hidden;background:#fff}.junior-code-layout>section,.junior-code-layout>aside{padding:28px}.junior-code-layout>aside{border-left:1px solid #dce4e9;background:#f5f8fa}.junior-scene{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;min-height:150px;border-radius:22px;background:linear-gradient(145deg,#dff8ee,#dceaff);font-size:36px}.junior-scene>small{position:absolute;left:16px;top:14px;padding:5px 8px;border-radius:999px;background:#ffffffb8;color:#55758f;font-size:10px;font-weight:900;letter-spacing:.08em}.junior-scene i{color:#55758f;font-style:normal}.junior-robot,.junior-goal{width:74px;height:74px;display:grid;place-items:center;border-radius:24px;background:#fff;box-shadow:0 10px 24px #244f8920}.junior-scene.scene-success .junior-robot{animation:junior-travel .7s ease both}.junior-scene.scene-success .junior-goal{animation:goal-pop .45s .5s ease both}.junior-code-layout h3{margin:22px 0 4px}.junior-code-layout p{color:#617586}.junior-block-palette{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.junior-block-palette button{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #b9cfea;border-radius:14px;background:#edf4ff;color:#244f89;text-align:left;font-weight:850;cursor:pointer}.junior-block-palette i,.junior-program span i{width:29px;height:29px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#fff;font-style:normal}.junior-program{display:grid;gap:9px;min-height:250px;padding:18px;border-radius:18px;background:#142f4b;color:#fff}.junior-program>b{font-size:12px;letter-spacing:.1em;color:#bcd4e2}.junior-program span{display:flex;align-items:center;gap:10px;padding:11px;border-radius:11px;background:#ffffff12;font-weight:800}.junior-program p{color:#bcd4e2}.junior-code-actions{display:flex;gap:9px;margin:14px 0}.junior-code-actions .button{flex:1}.prompt-visual-stage{position:relative;margin-bottom:14px;padding:15px;border-radius:17px;background:linear-gradient(145deg,#e9f1ff,#eee8ff);overflow:hidden}.prompt-input-nodes{display:grid;grid-template-columns:1fr 1fr;gap:6px}.prompt-input-nodes span{display:flex;align-items:center;gap:6px;padding:7px;border-radius:9px;background:#ffffffa8;color:#718295;font-size:10px;font-weight:900}.prompt-input-nodes i{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:#e9eef4;font-style:normal}.prompt-input-nodes span.active{background:#fff;color:#315884;box-shadow:0 4px 12px #294f8914}.prompt-input-nodes span.active i{background:#dfe9ff}.prompt-flow{display:flex;align-items:center;justify-content:center;gap:15px;margin:14px 0 8px}.prompt-core,.prompt-output{width:51px;height:51px;display:grid;place-items:center;border-radius:16px;background:#173b64;color:#fff}.prompt-output{background:#fff;color:#7b64db;font-size:25px}.prompt-flow>i{color:#5d77a7;font-style:normal}.prompt-visual-stage.has-parts .prompt-core{animation:soft-pulse .65s ease}.prompt-visual-stage.is-ready .prompt-output{background:#dff7ec;color:#167250;animation:goal-pop .4s ease}.prompt-visual-stage>small{display:block;text-align:center;color:#5e7085;font-weight:800}.ai-training-animation{position:relative;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:13px;margin-bottom:14px;padding:14px 16px;border-radius:17px;background:linear-gradient(145deg,#e7f7f0,#e2edff);overflow:hidden}.ai-training-animation>b,.ai-training-animation>strong{width:49px;height:49px;display:grid;place-items:center;border-radius:15px;background:#173e55;color:#8cf0c4}.ai-training-animation>strong{background:#fff;color:#6c7f90;font-size:22px}.ai-training-animation>i{color:#58778d;font-style:normal}.ai-training-animation>small{grid-column:1/-1;text-align:center;color:#557268;font-weight:800}.data-dot{position:absolute;color:#58cba0;font-size:13px}.dot-one{left:18px;top:14px}.dot-two{left:40px;top:34px}.dot-three{left:21px;bottom:20px}.ai-training-animation.is-learning .data-dot{animation:data-flow 1.2s ease-in-out infinite}.ai-training-animation.is-trained>strong{background:#d9f5e8;color:#167250;animation:goal-pop .45s ease}.training-visual{font-size:28px;filter:drop-shadow(0 5px 8px #294f8920)}.eco-training-card:has(button.selected) .training-visual{animation:goal-pop .3s ease}.eco-robot.trained .robot-face{animation:soft-pulse .65s ease}@keyframes junior-travel{0%{transform:translateX(0) scale(1)}60%{transform:translateX(42px) scale(1.06)}100%{transform:translateX(0) scale(1)}}@keyframes goal-pop{0%{transform:scale(.75);opacity:.45}100%{transform:scale(1);opacity:1}}@keyframes soft-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes data-flow{0%{transform:translateX(0);opacity:.35}50%{opacity:1}100%{transform:translateX(85px);opacity:.2}}@media(prefers-reduced-motion:reduce){.junior-scene.scene-success .junior-robot,.junior-scene.scene-success .junior-goal,.prompt-visual-stage.has-parts .prompt-core,.prompt-visual-stage.is-ready .prompt-output,.ai-training-animation.is-learning .data-dot,.ai-training-animation.is-trained>strong,.training-visual,.eco-robot.trained .robot-face{animation:none!important}}@media(max-width:850px){.junior-code-layout{grid-template-columns:1fr}.junior-code-layout>aside{border-left:0;border-top:1px solid #dce4e9}}@media(max-width:560px){.junior-code-layout>section,.junior-code-layout>aside{padding:20px}.junior-block-palette{grid-template-columns:1fr}}

/* Grade 6 open-ended prompt composer */
.grade6-prompt-composer{max-width:1280px}.grade6-composer-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);border:1px solid #dce4e9;border-top:0;border-radius:0 0 22px 22px;overflow:hidden;background:#fff}.grade6-composer-layout>section,.grade6-composer-layout>aside{padding:26px}.grade6-composer-layout>aside{border-left:1px solid #dce4e9;background:#f5f8fa}.composer-mission{display:grid;grid-template-columns:54px 1fr;gap:15px;align-items:center;margin-bottom:20px;padding:17px;border-radius:17px;background:linear-gradient(135deg,#e7efff,#eee8ff)}.composer-mission>span{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#fff;color:#6655c8;font-size:25px;box-shadow:0 8px 18px #394f8616}.composer-mission small,.composer-bank-head small{display:block;color:#667b8d;font-weight:800}.composer-mission h3{margin:3px 0}.composer-mission p{margin:4px 0 0;color:#556d80;line-height:1.45}.composer-bank-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:13px}.composer-bank-head>span{padding:6px 9px;border-radius:999px;background:#e5f5ee;color:#177154;font-size:11px;font-weight:900}.composer-tile-bank{display:grid;gap:12px}.composer-tile-bank article{padding:12px;border:1px solid #dfe6eb;border-radius:15px;background:#fbfcfd}.composer-tile-bank article>b{display:block;margin-bottom:8px;color:#486177;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.composer-tile-bank article>div{display:flex;flex-wrap:wrap;gap:7px}.composer-tile{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #cfdce5;border-radius:11px;background:#fff;color:#294761;text-align:left;font:750 12px/1.35 "Segoe UI",Arial,sans-serif;cursor:grab;transition:transform .15s ease,border-color .15s ease,background .15s ease}.composer-tile:hover{transform:translateY(-2px);border-color:#7899be;background:#f4f8ff}.composer-tile:active{cursor:grabbing}.composer-tile i{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:#eaf1ff;color:#315884;font-style:normal;font-weight:900}.composer-tile.used{opacity:.42;background:#edf1f4;transform:none}.composer-dropzone{min-height:185px;padding:16px;border:2px dashed #aebfcd;border-radius:18px;background:#fff;transition:border-color .18s ease,background .18s ease}.composer-dropzone.has-tiles{border-style:solid;border-color:#7397c2;background:#fbfdff}.composer-dropzone>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.composer-dropzone small{display:block;color:#698092;font-size:10px;font-weight:900;letter-spacing:.1em}.composer-dropzone header b{color:#27465f}.composer-dropzone header button{border:0;background:transparent;color:#657c8e;font-weight:800;cursor:pointer}.composer-dropzone>div{display:flex;flex-wrap:wrap;gap:8px}.composer-dropzone>div>p{display:grid;place-items:center;gap:8px;width:100%;min-height:105px;margin:0;color:#7d8f9c;font-weight:800}.composer-dropzone>div>p span{font-size:28px}.composer-dropzone>div>button{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #b9cae2;border-radius:11px;background:#edf3ff;color:#284e7c;text-align:left;font-weight:800;cursor:pointer}.composer-dropzone>div>button i{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:#fff;font-style:normal}.composer-dropzone>div>button span{color:#7890a6;font-size:18px}.composer-signals{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:14px 0}.composer-signals>b{grid-column:1/-1;color:#415d72}.composer-signals>span{display:grid;grid-template-columns:9px 1fr;gap:1px 7px;align-items:center;padding:9px 10px;border-radius:10px;background:#e6f5ef;color:#176e51}.composer-signals i{grid-row:1/3;width:8px;height:8px;border-radius:50%;background:#32b686}.composer-signals small{font-weight:800}.composer-signals strong{font-size:11px}.composer-signals .open{background:#edf1f4;color:#647787}.composer-signals .open i{background:#a8b3bc}.composer-signals .protect{background:#fff1e5;color:#8a5424}.composer-signals .protect i{background:#eb9c48}.composer-live-output{overflow:hidden;min-height:240px;border-radius:18px;background:#142f4b;color:#fff;box-shadow:0 12px 28px #183a5b18}.composer-live-output>header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#ffffff0c}.composer-live-output>header>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#745fe2;font-weight:900}.composer-live-output>header div{flex:1}.composer-live-output>header small{display:block;color:#bcd4e2;font-size:9px;font-weight:900;letter-spacing:.1em}.composer-live-output>header b{font-size:13px}.composer-live-output>header>i{padding:5px 7px;border-radius:999px;background:#55d4a326;color:#7ce2bc;font-size:9px;font-style:normal;font-weight:900}.composer-live-output>div{padding:17px;animation:composer-refresh .3s ease}.composer-live-output p{margin:0 0 10px;color:#edf6fb;line-height:1.5}.composer-live-output p small{color:#bad0de}.composer-live-output ol{display:grid;gap:7px;margin:10px 0;padding-left:24px}.composer-live-output table{width:100%;border-collapse:collapse;font-size:11px}.composer-live-output th,.composer-live-output td{padding:7px;border:1px solid #ffffff25;text-align:left}.composer-live-output.protected{background:#513725}.composer-note{margin:12px 0 0;padding:11px 13px;border-radius:12px;background:#e9f5ff;color:#365a76;font-size:12px;line-height:1.45}
.composer-generated-scene{position:relative;display:grid;place-items:center;min-height:245px;margin:-3px -3px 14px;border-radius:16px;overflow:hidden;background:linear-gradient(145deg,#ccefff,#cdeee2);isolation:isolate}.composer-generated-scene::before,.composer-generated-scene::after{content:"";position:absolute;border-radius:50%;background:#fff6;z-index:-1}.composer-generated-scene::before{width:180px;height:180px;left:-65px;bottom:-90px}.composer-generated-scene::after{width:120px;height:120px;right:-35px;top:-42px}.composer-generated-scene.colour-purple{background:linear-gradient(145deg,#e0d5ff,#ffdca0)}.composer-generated-scene.theme-space{background:linear-gradient(150deg,#162b58,#684ca8);color:#fff}.composer-generated-scene.theme-eco{background:linear-gradient(145deg,#bceecf,#dff2a9)}.composer-generated-scene.style-pixel{image-rendering:pixelated;border:5px solid #ffffff75;box-shadow:inset 0 0 0 3px #19365355}.composer-generated-scene.style-paper .scene-character,.composer-generated-scene.style-paper .scene-prop{filter:drop-shadow(7px 8px 0 #1a38552c)}.scene-character{position:relative;display:grid;place-items:center;width:118px;height:118px;border-radius:38px;background:#fff9;box-shadow:0 15px 30px #1d3b6125}.scene-character>span{font-size:70px;filter:drop-shadow(0 8px 8px #1d3b6130)}.scene-character>b{position:absolute;right:-27px;top:3px;padding:7px 9px;border-radius:12px;background:#fff;color:#684ca8;font-size:11px;transform:rotate(7deg)}.scene-character>b:empty{display:none}.scene-prop{position:absolute;font-size:40px;font-style:normal}.prop-one{left:11%;bottom:21%}.prop-two{right:11%;top:23%}.scene-stars{position:absolute;top:16px;right:20px;color:#fff;font-size:22px;letter-spacing:10px}.composer-generated-scene>strong{position:absolute;left:18px;top:16px;padding:8px 11px;border-radius:11px;background:#ffffffd9;color:#213d5a;font-size:15px}.composer-generated-scene>small{position:absolute;left:18px;right:18px;bottom:14px;padding:9px;border-radius:10px;background:#153552d9;color:#fff;text-align:center;font-weight:800}.visual-output-summary{margin:0!important;font-size:12px;text-align:center}.motion-wave{animation:scene-wave 1.4s ease-in-out infinite}.motion-bounce{animation:scene-bounce 1.1s ease-in-out infinite}.motion-spin{animation:scene-spin 2.2s ease-in-out infinite}.motion-glide{animation:scene-glide 2.4s ease-in-out infinite}.motion-glow{animation:scene-glow 1.3s ease-in-out infinite}@keyframes composer-refresh{0%{opacity:.45;transform:translateY(5px)}100%{opacity:1;transform:none}}@keyframes scene-wave{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}@keyframes scene-bounce{0%,100%{transform:translateY(4px)}50%{transform:translateY(-15px)}}@keyframes scene-spin{0%,35%{transform:rotate(0)}75%,100%{transform:rotate(360deg)}}@keyframes scene-glide{0%,100%{transform:translateX(-28px)}50%{transform:translateX(28px)}}@keyframes scene-glow{0%,100%{box-shadow:0 15px 30px #1d3b6125}50%{box-shadow:0 0 36px 14px #fff}}@media(prefers-reduced-motion:reduce){.composer-live-output>div,.scene-character{animation:none!important}.composer-tile{transition:none}}@media(max-width:900px){.grade6-composer-layout{grid-template-columns:1fr}.grade6-composer-layout>aside{border-left:0;border-top:1px solid #dce4e9}}@media(max-width:560px){.grade6-composer-layout>section,.grade6-composer-layout>aside{padding:18px}.composer-mission{grid-template-columns:1fr}.composer-bank-head{align-items:flex-start;flex-direction:column}.composer-signals{grid-template-columns:1fr}.composer-signals>b{grid-column:auto}.composer-generated-scene{min-height:210px}}

.scene-cast{display:flex;align-items:center;justify-content:center;gap:12px;max-width:78%;z-index:2}.scene-cast .scene-character{position:relative}.scene-cast:has(.scene-character:nth-child(3)) .scene-character{width:82px;height:82px;border-radius:27px}.scene-cast:has(.scene-character:nth-child(3)) .scene-character>span{font-size:48px}.composer-generated-scene.style-clean{background-image:linear-gradient(145deg,#eef3f6,#dfeaf0)}.composer-generated-scene.style-cartoon{box-shadow:inset 0 0 0 5px #fff8}.composer-generated-scene.style-cartoon .scene-character{outline:4px solid #17365324}.composer-generated-scene.colour-neutral{filter:saturate(.72)}.composer-generated-scene.colour-blue{background:linear-gradient(145deg,#ccefff,#cdeee2);filter:none}.composer-generated-scene.colour-purple{background:linear-gradient(145deg,#e0d5ff,#ffdca0);filter:none}.composer-generated-scene.colour-blue.colour-purple{background:linear-gradient(125deg,#bfeeff 0 48%,#e3d1ff 52% 100%)}.composer-generated-scene.place-desk{background-image:linear-gradient(145deg,#fff1cf,#d7e9ff)}.composer-generated-scene.place-lab,.composer-generated-scene.place-station{background-image:linear-gradient(145deg,#ccecff,#d9d3ff)}.composer-generated-scene.place-stars,.composer-generated-scene.place-planet,.composer-generated-scene.place-asteroids{background-image:linear-gradient(150deg,#172b59,#654ba3);color:#fff}.composer-generated-scene.place-park,.composer-generated-scene.place-garden{background-image:linear-gradient(145deg,#bceecf,#eff1a9)}.composer-generated-scene.place-river{background-image:linear-gradient(145deg,#c8f0dd,#a9ddf4)}.composer-generated-scene.place-earth{background-image:linear-gradient(145deg,#9edcbf,#a8c9f2)}.composer-generated-scene.scene-card{border:8px solid #fff;box-shadow:inset 0 0 0 3px #17365355,0 8px 18px #17365324}.composer-generated-scene.scene-readable>strong,.composer-generated-scene.scene-readable>small{font-size:16px;letter-spacing:.02em;box-shadow:0 4px 12px #10263d35}.composer-generated-scene.kind-scene::after{content:"♥  ♥";display:block;width:auto;height:auto;right:18px;top:55px;background:none;color:#42a97e;font-size:19px;letter-spacing:8px;z-index:1;animation:kind-float 1.8s ease-in-out infinite}.scene-surprise{position:absolute;right:18%;bottom:25%;font-size:34px;animation:surprise-pop 1.2s ease-in-out infinite}.scene-safety-badges{position:absolute;left:12px;right:12px;bottom:12px;display:flex;flex-wrap:wrap;justify-content:center;gap:5px;z-index:5}.composer-generated-scene:has(>small) .scene-safety-badges{bottom:55px}.scene-safety-badges b{padding:5px 7px;border-radius:999px;background:#103652df;color:#fff;font-size:9px}.composer-generated-scene.calm-motion .scene-character,.composer-generated-scene.calm-motion .scene-surprise,.composer-generated-scene.calm-motion.kind-scene::after{animation:none!important}.composer-generated-scene .prop-1{left:9%;bottom:20%}.composer-generated-scene .prop-2{right:9%;top:20%}.composer-generated-scene .prop-3{right:10%;bottom:22%}.composer-generated-scene .prop-4{left:10%;top:21%}.composer-effect-ribbon{display:flex;gap:6px;overflow-x:auto;margin:0 0 12px;padding:3px 1px 7px;scrollbar-width:thin}.composer-effect-ribbon span{display:flex;align-items:center;gap:5px;flex:0 0 auto;padding:6px 8px;border-radius:999px;background:#ffffff14;color:#dcebf4;font-size:9px;font-weight:800}.composer-effect-ribbon i{font-style:normal;color:#78ddb8}@keyframes surprise-pop{0%,100%{transform:scale(.88) rotate(-4deg)}50%{transform:scale(1.16) rotate(5deg)}}@keyframes kind-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(prefers-reduced-motion:reduce){.scene-surprise,.composer-generated-scene.kind-scene::after{animation:none!important}}

/* Prompt left, visual output right, horizontal tile bank below */
.grade6-prompt-composer .grade6-composer-layout{display:block;background:#fff}.grade6-prompt-composer .composer-mission{margin:24px 24px 0}.composer-workspace-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:0;margin-top:20px;border-top:1px solid #dce4e9;border-bottom:1px solid #dce4e9}.composer-prompt-panel,.composer-output-panel{padding:24px}.composer-output-panel{border-left:1px solid #dce4e9;background:#f4f7f9}.composer-prompt-panel .composer-dropzone{min-height:315px}.composer-prompt-panel .composer-dropzone>div{display:grid;gap:8px}.composer-prompt-panel .composer-dropzone>div>button{display:grid;grid-template-columns:28px 86px minmax(0,1fr) auto;align-items:center;width:100%}.composer-prompt-panel .composer-dropzone>div>button small{color:#6e8292;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.composer-output-panel .composer-live-output{min-height:440px}.composer-output-panel .composer-generated-scene{min-height:300px}.composer-bank-bottom{padding:22px 24px 26px!important;background:#fbfcfd}.grade6-prompt-composer .composer-tile-bank{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 13px;scroll-snap-type:x proximity;scrollbar-color:#9db0be #e9eef2}.grade6-prompt-composer .composer-tile-bank article{flex:0 0 280px;scroll-snap-align:start}.grade6-prompt-composer .composer-tile-bank article>div{display:grid;grid-template-columns:1fr;align-content:start}.grade6-prompt-composer .composer-tile{width:100%}.grade6-prompt-composer .composer-tile.used{opacity:1;border-color:#5a88b8;background:#eaf2ff;color:#214d7a;box-shadow:inset 0 0 0 1px #5a88b8}.grade6-prompt-composer .composer-tile.used i{background:#2f6da7;color:#fff}.composer-bank-bottom .composer-bank-head{margin-bottom:14px}@media(max-width:950px){.composer-workspace-row{grid-template-columns:1fr}.composer-output-panel{border-left:0;border-top:1px solid #dce4e9}.composer-prompt-panel .composer-dropzone{min-height:230px}.composer-output-panel .composer-live-output{min-height:0}}@media(max-width:560px){.grade6-prompt-composer .composer-mission{margin:18px 18px 0}.composer-prompt-panel,.composer-output-panel{padding:18px}.composer-bank-bottom{padding:18px!important}.grade6-prompt-composer .composer-tile-bank article{flex-basis:250px}.composer-prompt-panel .composer-dropzone>div>button{grid-template-columns:28px 1fr auto}.composer-prompt-panel .composer-dropzone>div>button small{grid-column:2;grid-row:2}.composer-prompt-panel .composer-dropzone>div>button span{grid-column:3;grid-row:1/3}}

.composer-bank-controls{display:flex;align-items:center;gap:8px}.composer-bank-controls span{padding:6px 9px;border-radius:999px;background:#e5f5ee;color:#177154;font-size:11px;font-weight:900}.composer-bank-controls button{border:1px solid #b9cbd6;border-radius:9px;background:#fff;color:#36556c;padding:7px 10px;font-size:11px;font-weight:850;cursor:pointer}.composer-bank-bottom.collapsed .composer-tile-bank{display:none}.composer-bank-bottom.collapsed .composer-bank-head{margin:0}.composer-blank-output{min-height:330px;border:1px solid #ffffff20;border-radius:15px;background:#fff}.composer-live-output:has(.composer-blank-output){background:#e9eef2}.composer-live-output:has(.composer-blank-output)>header{background:#142f4b}.composer-live-output:has(.composer-blank-output)>div{padding:16px}
@media(min-width:951px) and (min-height:760px){.grade6-prompt-composer{display:flex;flex-direction:column;height:calc(100vh - 118px);min-height:720px;margin-bottom:0;overflow:hidden}.grade6-prompt-composer>header{flex:0 0 auto}.grade6-prompt-composer .grade6-composer-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr) 238px;flex:1;min-height:0;overflow:hidden}.grade6-prompt-composer .grade6-composer-layout.bank-collapsed{grid-template-rows:auto minmax(0,1fr) 60px}.grade6-prompt-composer .composer-mission{grid-template-columns:42px minmax(0,1fr);margin:12px 18px 0;padding:9px 13px}.grade6-prompt-composer .composer-mission>span{width:40px;height:40px;border-radius:12px;font-size:18px}.grade6-prompt-composer .composer-mission>div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.grade6-prompt-composer .composer-mission small{grid-column:1/-1;font-size:9px}.grade6-prompt-composer .composer-mission h3{margin:0;font-size:15px}.grade6-prompt-composer .composer-mission p{overflow:hidden;margin:0;white-space:nowrap;text-overflow:ellipsis;font-size:11px}.grade6-prompt-composer .composer-workspace-row{min-height:0;margin-top:12px;overflow:hidden}.grade6-prompt-composer .composer-prompt-panel,.grade6-prompt-composer .composer-output-panel{min-height:0;overflow:auto;padding:15px 18px}.grade6-prompt-composer .composer-prompt-panel .composer-dropzone{min-height:205px;max-height:285px;overflow:auto}.grade6-prompt-composer .composer-signals{margin:10px 0}.grade6-prompt-composer .composer-note{margin-top:8px}.grade6-prompt-composer .pilot-hint{margin-top:8px}.grade6-prompt-composer .composer-output-panel .composer-live-output{min-height:0;height:100%}.grade6-prompt-composer .composer-output-panel .composer-generated-scene{min-height:210px}.grade6-prompt-composer .composer-bank-bottom{display:flex;flex-direction:column;min-height:0;padding:12px 18px 14px!important;overflow:hidden}.grade6-prompt-composer .composer-bank-head{flex:0 0 auto;margin-bottom:8px}.grade6-prompt-composer .composer-bank-head small{font-size:10px}.grade6-prompt-composer .composer-tile-bank{flex:1;min-height:0;padding-bottom:7px}.grade6-prompt-composer .composer-tile-bank article{height:158px;padding:9px}.grade6-prompt-composer .composer-tile-bank article>div{max-height:129px;overflow-y:auto;padding-right:2px}.grade6-prompt-composer .composer-tile{padding:7px 9px;font-size:11px}.grade6-prompt-composer .composer-bank-bottom.collapsed{justify-content:center;padding-top:10px!important;padding-bottom:10px!important}.grade6-prompt-composer .composer-blank-output{min-height:280px;height:calc(100% - 2px)}}

/* Environment separation: shown only on local and Cloudflare preview hosts. */
.portal-environment-marker{position:fixed;right:14px;bottom:14px;z-index:10050;display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:#8b2cf5;color:#fff;box-shadow:0 8px 24px rgba(42,18,83,.22);font:700 11px/1 "DM Sans",sans-serif;letter-spacing:.08em;pointer-events:none}
.portal-environment-marker b{padding:3px 6px;border-radius:999px;background:#fff;color:#6d1fd1;font-size:10px}.portal-environment-marker span{white-space:nowrap}
.portal-environment-marker.is-preproduction{background:#075d53}.portal-environment-marker.is-preproduction b{color:#075d53}.portal-environment-marker.is-config-error{background:#a33a20}.portal-environment-marker.is-config-error b{color:#8d2f18}
.login-configuration-error{padding:11px 13px;border:1px solid #e0a28f;border-radius:12px;background:#fff1ec;color:#7c2d1b;font-size:13px;font-weight:700;line-height:1.45}
@media(max-width:600px){.portal-environment-marker{right:8px;bottom:8px;padding:7px 9px}.portal-environment-marker span{display:none}}

/* Compact prompt toolbar and category-specific output layers. */
.composer-prompt-toolbar{display:flex;align-items:center;gap:7px;margin-top:8px;overflow-x:auto;padding:2px 0 5px;white-space:nowrap;scrollbar-width:thin}
.composer-prompt-toolbar>b{flex:0 0 auto;color:#415d72;font-size:10px}
.composer-prompt-toolbar .composer-signals{display:flex;flex:0 0 auto;gap:6px;margin:0}
.composer-prompt-toolbar .composer-signals span{display:flex;align-items:center;gap:5px;min-width:0;padding:6px 8px;border-radius:9px}
.composer-prompt-toolbar .composer-signals i{grid-row:auto;flex:0 0 auto}
.composer-prompt-toolbar .composer-signals small,.composer-prompt-toolbar .composer-signals strong{font-size:9px}
.composer-prompt-toolbar .composer-note{flex:0 0 auto;margin:0;padding:6px 9px;font-size:9px;line-height:1.3;white-space:nowrap}
.composer-prompt-toolbar .pilot-hint{flex:0 0 auto;margin:0}
.composer-prompt-toolbar .pilot-hint summary{padding:6px 9px;font-size:9px}
.composer-prompt-toolbar .pilot-hint p{min-width:280px;white-space:normal}
.composer-generated-scene.scene-unset{background:#e6edf1;filter:none}
.composer-generated-scene.theme-storybook{background:linear-gradient(145deg,#ffe8f1,#e8f2ff)}
.composer-generated-scene.theme-animation{background:linear-gradient(145deg,#fff0bd,#e5dcff)}
.composer-generated-scene.theme-ocean-game{background:linear-gradient(145deg,#bfefff,#bfe8df)}
.composer-generated-scene.theme-app{background:linear-gradient(145deg,#dfeaff,#f1dcff)}
.composer-generated-scene.theme-club{background:linear-gradient(145deg,#dff5dc,#fff0bd)}
.composer-generated-scene.theme-planner{background:linear-gradient(145deg,#e8efff,#e3f6ef)}
.composer-generated-scene.theme-data{background:linear-gradient(145deg,#d9e9ff,#d9f2ee)}
.composer-generated-scene.theme-research{background:linear-gradient(145deg,#efe8ff,#e3edf7)}
.composer-generated-scene.theme-audit{background:linear-gradient(145deg,#cad8e8,#dfe5f4)}
.scene-motion-cue,.scene-sound-cue,.scene-create-cue{position:absolute;z-index:3;display:grid;place-items:center}
.scene-motion-cue{left:50%;top:48%;width:72px;height:72px;margin:-36px;border:2px dashed #56778f;border-radius:50%;background:#ffffffc9;color:#31556e;font-size:31px}
.scene-sound-cue{right:18%;top:28%;padding:9px 12px;border-radius:14px;background:#fff;color:#684ca8;font-weight:900;transform:rotate(7deg)}
.scene-create-cue{left:50%;top:14px;max-width:70%;padding:6px 10px;border-radius:999px;background:#143753d9;color:#fff;font-size:10px;font-weight:850;transform:translateX(-50%)}
@media(min-width:951px) and (min-height:760px){
  .grade6-prompt-composer .grade6-composer-layout{grid-template-rows:auto 340px minmax(230px,1fr)}
  .grade6-prompt-composer .composer-workspace-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .grade6-prompt-composer .composer-prompt-panel,.grade6-prompt-composer .composer-output-panel{display:flex;min-width:0;flex-direction:column;padding:15px 18px}
  .grade6-prompt-composer .composer-prompt-panel{background:#f4f7f9}
  .grade6-prompt-composer .composer-prompt-panel .composer-dropzone{flex:1;min-height:0;max-height:none;overflow:auto;background:#fff}
  .grade6-prompt-composer .composer-prompt-toolbar{flex:0 0 auto}
  .grade6-prompt-composer .composer-output-panel .composer-live-output{flex:1}
  .grade6-prompt-composer .composer-output-panel .composer-generated-scene{min-height:175px}
}

@media(min-width:951px){
  .grade6-prompt-composer .composer-workspace-row{display:grid;height:340px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr) auto;gap:8px 18px;padding:15px 18px;background:#f4f7f9}
  .grade6-prompt-composer .composer-prompt-panel{display:contents}
  .grade6-prompt-composer .composer-prompt-panel .composer-dropzone{grid-column:1;grid-row:1;min-height:0;max-height:none;padding:0;overflow:hidden;border:0;border-radius:18px;background:#fff;box-shadow:0 8px 22px #1736530d}
  .grade6-prompt-composer .composer-prompt-panel .composer-dropzone.has-tiles{border:0;background:#fff}
  .grade6-prompt-composer .composer-dropzone>header{min-height:63px;margin:0;padding:12px 16px;background:#142f4b;color:#fff}
  .grade6-prompt-composer .composer-dropzone>header::before{content:'✦';display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:10px;background:#745fe2;color:#fff;font-size:15px}
  .grade6-prompt-composer .composer-dropzone>header>div{flex:1}
  .grade6-prompt-composer .composer-dropzone>header small{color:#bcd4e2}
  .grade6-prompt-composer .composer-dropzone>header b{color:#fff}
  .grade6-prompt-composer .composer-dropzone>header button{color:#dcebf4}
  .grade6-prompt-composer .composer-dropzone>div{height:calc(100% - 63px);overflow:auto;padding:14px 16px}
  .grade6-prompt-composer .composer-dropzone>div>p{height:100%;min-height:0}
  .grade6-prompt-composer .composer-output-panel{display:flex;grid-column:2;grid-row:1;min-width:0;min-height:0;padding:0;border:0;background:transparent}
  .grade6-prompt-composer .composer-output-panel .composer-live-output{flex:1;min-height:0;height:100%}
  .grade6-prompt-composer .composer-output-panel .composer-generated-scene{min-height:155px}
  .grade6-prompt-composer .composer-prompt-toolbar{grid-column:1/-1;grid-row:2;margin:0;padding:3px 0 0;overflow:visible}
  .grade6-prompt-composer .composer-prompt-toolbar .pilot-hint p{position:absolute;right:18px;z-index:8;width:360px;margin-top:6px;padding:11px;border-radius:10px;background:#fff9e8;box-shadow:0 8px 22px #1736531f}
}

/* Child-focused Prompt Studio: two calm canvases and one category at a time. */
.composer-studio .composer-mission{box-shadow:none}
.composer-studio .composer-dropzone>header::before{content:'✦'}
.composer-studio .composer-selected-phrases{display:flex!important;align-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:9px!important}
.composer-studio .composer-selected-phrases>button{display:flex!important;width:auto!important;max-width:100%;grid-template-columns:none!important;gap:7px!important;padding:10px 12px!important;border:0!important;border-radius:14px!important;background:#eef3ff!important;color:#224b78!important;box-shadow:inset 0 0 0 1px #d4e1f0}
.composer-studio .composer-selected-phrases>button small{display:block;color:#6b7e91!important;font-size:8px!important;letter-spacing:.08em;text-transform:uppercase}
.composer-studio .composer-selected-phrases>button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.composer-studio .composer-selected-phrases>button span{color:#7c91a4;font-size:16px}
.composer-studio .composer-selected-phrases>p{display:grid;width:100%;height:100%;place-content:center;gap:4px;text-align:center}
.composer-studio .composer-selected-phrases>p span{color:#745fe2;font-size:30px}
.composer-studio .composer-selected-phrases>p b{color:#24455f;font-size:16px}
.composer-studio .composer-selected-phrases>p small{color:#7890a1}
.composer-studio .composer-bank-bottom{gap:10px;padding:13px 18px 16px!important;background:#fff}
.composer-studio .composer-bank-head{align-items:center;margin:0!important}
.composer-studio .composer-bank-head b{color:#173653;font-size:15px}
.composer-studio .composer-bank-head small{margin-top:2px;color:#718596;font-size:10px}
.composer-idea{position:relative;flex:0 0 auto;margin:0}
.composer-idea summary{padding:8px 11px;border:1px solid #e4c978;border-radius:999px;background:#fff9e8;color:#795b13;font-size:10px;font-weight:850;cursor:pointer;list-style:none}
.composer-idea summary::-webkit-details-marker{display:none}
.composer-idea p{position:absolute;right:0;z-index:10;width:320px;margin:7px 0 0;padding:12px;border-radius:12px;background:#fff9e8;color:#66521f;box-shadow:0 10px 24px #17365322;font-size:11px;line-height:1.45}
.composer-category-tabs{display:flex;gap:7px;overflow-x:auto;padding:1px 0 5px;scrollbar-width:none}
.composer-category-tabs::-webkit-scrollbar{display:none}
.composer-category-tabs button{display:flex;align-items:center;gap:6px;flex:0 0 auto;padding:8px 11px;border:0;border-radius:999px;background:#edf1f4;color:#5b7182;font:800 10px/1.2 "Segoe UI",Arial,sans-serif;cursor:pointer}
.composer-category-tabs button i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff;color:#6a7f90;font-size:9px;font-style:normal}
.composer-category-tabs button.active{background:#163b5a;color:#fff;box-shadow:0 5px 14px #163b5a24}
.composer-category-tabs button.active i{color:#163b5a}
.composer-category-tabs button.complete:not(.active){background:#e4f5ee;color:#177154}
.composer-category-tabs button.complete:not(.active) i{color:#16845e}
.composer-active-tile-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;min-height:52px}
.composer-active-tile-row .composer-tile{width:100%;justify-content:flex-start;padding:10px 12px;border:1px solid #d9e3ea;border-radius:13px;background:#f8fafb;box-shadow:none;color:#294761;cursor:pointer}
.composer-active-tile-row .composer-tile:hover{border-color:#7899be;background:#eef4ff}
.composer-active-tile-row .composer-tile.used{border-color:#5a88b8;background:#e8f1ff;color:#214d7a;box-shadow:inset 0 0 0 1px #5a88b8}
@media(min-width:951px){
  .composer-studio .grade6-composer-layout{grid-template-rows:auto 340px minmax(150px,1fr)!important}
  .composer-studio .composer-workspace-row{height:340px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr;gap:18px;padding:15px 18px}
  .composer-studio .composer-prompt-panel{display:flex;grid-column:1;grid-row:1;min-width:0;min-height:0;padding:0;background:transparent}
  .composer-studio .composer-prompt-panel .composer-dropzone{flex:1;width:100%;height:100%}
  .composer-studio .composer-output-panel{grid-column:2;grid-row:1}
  .composer-studio .composer-bank-bottom{min-height:0;overflow:visible}
}
@media(max-width:950px){
  .composer-studio .composer-selected-phrases{min-height:210px}
  .composer-studio .composer-bank-bottom{padding:16px!important}
  .composer-active-tile-row{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.composer-active-tile-row{grid-template-columns:1fr}.composer-studio .composer-bank-head{align-items:flex-start}.composer-idea p{right:auto;left:0;width:min(300px,82vw)}}

/* Give the creative canvases more depth and keep choices compact. */
.composer-studio .composer-active-tile-row{grid-template-columns:repeat(auto-fit,minmax(170px,240px));justify-content:start}
.coding-unlocked-section,.coding-default-curriculum{margin-top:20px}
.coding-unlocked-section .today-work-head,.coding-default-curriculum .today-work-head{margin-bottom:12px}
.coding-catalogue-card.locked{border-color:#e4e8eb;background:#fafbfc;box-shadow:none}
.coding-catalogue-card.locked .chapter-index{background:#f0f2f5;color:#8a98a5}
.coding-catalogue-card.assigned{border-color:#c8e8dc;background:#fbfffd}
.coding-catalogue-card>div:nth-child(2){min-width:0}
.coding-card-actions{display:flex;align-items:stretch;justify-content:flex-end;gap:8px}
.coding-card-actions button{min-width:118px;white-space:nowrap}
@media(max-width:650px){.student-chapter-grid article>.coding-card-actions{grid-column:2;flex-wrap:wrap;justify-content:flex-start}.coding-card-actions button{min-width:0}}
.student-grade-practice .coding-practice-card.code{background:linear-gradient(145deg,#d9f7ed,#bdebdc)}
.student-grade-practice .coding-practice-card.prompt{background:linear-gradient(145deg,#e2edff,#cbdcff)}
.student-grade-practice .coding-practice-card.ai{background:linear-gradient(145deg,#f1e8ff,#ddceff)}
.student-mission-finish{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1280px;margin:-18px auto 32px;padding:18px 22px;border:1px solid #dce4e9;border-radius:18px;background:#f5f7f9;color:#698092}
.student-mission-finish>div{display:flex;flex-direction:column;gap:4px}.student-mission-finish small{font-size:10px;font-weight:900;letter-spacing:.1em}.student-mission-finish b{color:#425d72}.student-mission-finish.ready{border-color:#9bdcca;background:#effaf6}.student-mission-finish.ready small,.student-mission-finish.ready b{color:#176f55}
.student-mission-finish.prompt-finish.ready{border-color:#b9aae9;background:linear-gradient(135deg,#f3efff,#ecf8f4)}
.student-mission-finish.prompt-finish.ready small,.student-mission-finish.prompt-finish.ready b{color:#5a43a2}
.coding-achievement-card{max-width:760px;margin:50px auto;padding:48px;text-align:center;border:1px solid #c9bdf1;border-radius:28px;background:radial-gradient(circle at top,#f4efff,#fff 62%);box-shadow:0 22px 54px #3b2a7a1a}.achievement-spark{display:grid;width:84px;height:84px;margin:0 auto 18px;place-items:center;border-radius:26px;background:linear-gradient(145deg,#745fe2,#4ecb98);color:#fff;font-size:40px;box-shadow:0 13px 30px #5c48bd35}.coding-achievement-card h2{margin:8px 0;font-size:34px;color:#173653}.coding-achievement-card>p:not(.eyebrow){max-width:570px;margin:12px auto;color:#607689;line-height:1.55}.achievement-reward{display:flex;align-items:center;justify-content:center;gap:14px;margin:24px auto;padding:14px 18px;border-radius:15px;background:#edf8f3;color:#176f55}.achievement-reward b{font-size:19px}.coding-achievement-card .button{margin-top:4px}
@media(max-width:650px){.student-mission-finish{align-items:stretch;flex-direction:column}.student-mission-finish button{width:100%}}
@media(min-width:951px){
  .composer-studio .grade6-composer-layout{grid-template-rows:auto 400px minmax(165px,1fr)!important}
  .composer-studio .composer-workspace-row{height:400px}
  .composer-studio .composer-output-panel .composer-generated-scene{min-height:205px}
}

/* Matched Prompt Studio canvases: original compact preview with zoomed prompt parts. */
.composer-studio .composer-live-output{background:#142f4b;color:#fff;box-shadow:0 8px 22px #17365318}
.composer-studio .composer-live-output>header{background:#142f4b}
.composer-studio .composer-live-output>div{background:#142f4b}
.composer-studio .composer-live-output:has(.composer-blank-output){background:#142f4b}
.composer-studio .composer-live-output:has(.composer-blank-output)>div{background:#142f4b}
.composer-studio .composer-blank-output{border-color:#ffffff24;background:#193b58}
.composer-studio .composer-selected-phrases{padding:18px 20px!important}
.composer-studio .composer-selected-phrases>button{flex:1 1 calc(50% - 9px);min-width:210px;min-height:52px;padding:13px 15px!important;border-radius:15px!important}
.composer-studio .composer-selected-phrases>button small{font-size:9px!important}
.composer-studio .composer-selected-phrases>button b{overflow:visible;text-overflow:clip;white-space:normal;font-size:13px;line-height:1.35}
.composer-studio .composer-selected-phrases:has(>button:only-child)>button{flex-basis:100%}
@media(min-width:951px){
  .composer-studio .grade6-composer-layout{grid-template-rows:auto 340px minmax(165px,1fr)!important}
  .composer-studio .composer-workspace-row{height:340px}
  .composer-studio .composer-prompt-panel .composer-dropzone,.composer-studio .composer-output-panel .composer-live-output{height:310px}
  .composer-studio .composer-output-panel .composer-live-output>div{box-sizing:border-box;height:calc(100% - 63px);padding:14px;overflow:hidden}
  .composer-studio .composer-output-panel .composer-generated-scene{min-height:145px;margin-bottom:8px}
  .composer-studio .composer-output-panel .composer-effect-ribbon{margin-bottom:4px;padding-bottom:3px}
  .composer-studio .composer-output-panel .visual-output-summary{font-size:10px}
}
@media(max-width:560px){
  .composer-studio .composer-selected-phrases>button{min-width:100%;flex-basis:100%}
}

/* Restore the original Prompt Builder preview scale; mirror it for the prompt canvas. */
@media(min-width:951px){
  .composer-studio .grade6-composer-layout{grid-template-rows:auto 470px minmax(165px,1fr)!important}
  .composer-studio .composer-workspace-row{height:470px}
  .composer-studio .composer-prompt-panel .composer-dropzone,.composer-studio .composer-output-panel .composer-live-output{height:440px}
  .composer-studio .composer-output-panel .composer-live-output>div{height:calc(100% - 63px);padding:17px}
  .composer-studio .composer-output-panel .composer-generated-scene{min-height:260px;margin-bottom:12px}
  .composer-studio .composer-selected-phrases{align-content:center;gap:12px!important;padding:24px!important}
  .composer-studio .composer-selected-phrases>button{min-height:62px;padding:16px 18px!important}
  .composer-studio .composer-selected-phrases>button small{font-size:10px!important}
  .composer-studio .composer-selected-phrases>button b{font-size:14px}
}

/* Live-class parity: teacher sees the student's active question and answer. */
.live-selected-student{max-width:1080px}.live-selected-student .live-student-card{padding:24px}.live-student-tabs button{min-width:185px;padding:14px 17px}.live-student-tabs button>b{font-size:15px}.live-student-tabs button>small{font-size:11px}.live-student-card.coding-class .teacher-simple-counters{display:none!important}.teacher-live-player{padding:26px 28px}.teacher-live-player>h2{max-width:900px;margin:24px 0;font-size:clamp(25px,3vw,38px);line-height:1.18}.teacher-live-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.teacher-live-options>div{display:flex;align-items:center;gap:13px;min-height:72px;padding:14px 16px;border:2px solid #e1e6e2;border-radius:15px;background:#fff}.teacher-live-options>div>span{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:10px;background:#f0f2f6;color:#718096;font-weight:850}.teacher-live-options>div>b{color:#132848}.teacher-live-options>div>em{margin-left:auto;color:#16815c;font-size:11px;font-style:normal;font-weight:850}.teacher-live-options>div.student-selected{border-color:#20a474;background:#edfbf5;box-shadow:0 0 0 3px rgba(32,164,116,.1)}.teacher-live-options>div.student-selected>span{background:#ccefe1;color:#08745d}.teacher-correct-answer,.teacher-written-answer{display:flex;align-items:center;gap:12px;margin:12px 0;padding:14px 17px;border:2px solid #20a474;border-radius:14px;background:#edfbf5;color:#08745d}.teacher-correct-answer span,.teacher-written-answer span{font-size:11px;font-weight:800;text-transform:uppercase}.teacher-answer-waiting{margin:18px 0;padding:16px;border-radius:14px;background:#f5f7fa;color:#6d7c91}.student-live-coding-work{max-width:1080px;margin:0 auto}.student-live-coding-work .inline-sheet-shell{padding-top:0}.coding-live-shell{max-width:1080px}.coding-live-resume,.math-live-resume{padding:28px}.coding-live-resume h2,.math-live-resume h2{font-size:clamp(26px,3vw,38px)}

/* Balanced group scheduling dialog. */
.modal.large .batch-schedule-form{width:100%;max-width:none}.batch-schedule-fields{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:16px}.batch-schedule-fields>label{margin-top:0}.modal.large .batch-student-options{grid-template-columns:repeat(2,minmax(0,1fr))}.modal.large .batch-student-picker{margin-top:10px}.modal.large .session-duration{margin-top:14px}

@media(max-width:700px){.teacher-live-options,.batch-schedule-fields,.modal.large .batch-student-options{grid-template-columns:1fr}.teacher-live-player{padding:20px}.live-selected-student .live-student-card{padding:18px}}

/* Distinguish the student's live choice from the answer key. */
.teacher-live-options>div.student-selected{border-color:#3478d4;background:#eef5ff;box-shadow:0 0 0 3px rgba(52,120,212,.12)}.teacher-live-options>div.student-selected>span{background:#dbeaff;color:#225da9}.teacher-live-options>div.student-selected>em{color:#225da9}.teacher-correct-answer{border-color:#20a474;background:#edfbf5;color:#08745d}

/* Keep each scheduled student on one clear row. */
.modal .batch-student-option{display:flex;align-items:center;margin:0}.modal .batch-student-option>input{width:18px;height:18px;margin:0;padding:0;box-shadow:none}.modal .batch-student-option>label{display:flex;min-width:0;flex:1;flex-direction:column;margin:0}.modal .batch-student-option>label b{overflow:hidden;color:#132848;text-overflow:ellipsis;white-space:nowrap}.modal .batch-student-option>label small{margin:2px 0 0;color:#738198;font-size:.75rem}.batch-add-button{min-width:66px;margin-left:auto;padding:8px 12px;border:1px solid #cbd7e4;border-radius:10px;background:#fff;color:#225da9;font-size:.76rem;font-weight:850;cursor:pointer}.batch-add-button:hover:not(:disabled){border-color:#3478d4;background:#eef5ff}.batch-add-button:disabled{background:#eef1f4;color:#7c8998;cursor:default}

/* Weekly group classes remain compact and editable without an end date. */
.weekly-repeat-choice{display:flex!important;align-items:center;gap:12px;margin:16px 0!important;padding:14px 16px;border:1px solid #cfe2dc;border-radius:14px;background:#f2fbf7}.weekly-repeat-choice>input{width:20px;height:20px;margin:0;padding:0;box-shadow:none}.weekly-repeat-choice>span{display:grid;gap:3px}.weekly-repeat-choice small{color:#5f7182}.recurring-series-note{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:14px 16px;border-radius:14px;background:#edf8f4;color:#0b765d}.recurring-series-note span{text-align:right;color:#466b62}.recurring-actions{flex-wrap:wrap}.quiet-danger{margin-right:auto}@media(max-width:700px){.recurring-series-note{align-items:flex-start;flex-direction:column}.recurring-series-note span{text-align:left}.recurring-actions>*{width:100%}}

/* One calendar card represents one group class. */
.calendar-day>button.grouped-calendar-slot{padding:8px}.calendar-day>button.grouped-calendar-slot span{margin-top:3px;line-height:1.25;overflow-wrap:anywhere}.calendar-day>button.grouped-calendar-slot .calendar-group-count{display:inline-block;margin-top:5px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.72);color:inherit;font-size:7px;font-weight:850}

/* Grade 7 Number System blueprint pilot: visual hooks and expression-lab steps. */
.number-system-question-visual{margin:22px 0;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#f1f5ff,#eefbf8);color:#17314f}.number-system-question-visual>small{display:block;margin-bottom:10px;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#47708d}.number-system-question-visual>div{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.number-system-question-visual>div>span{padding:10px 14px;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(31,65,100,.08);font-weight:750}.number-system-question-visual>div>b{color:#71849a}.number-system-question-visual .number-system-visual-card{min-width:190px;text-align:center;font-size:1.05rem}@media(max-width:640px){.number-system-question-visual{padding:13px}.number-system-question-visual .number-system-visual-card{min-width:100%}}
.blueprint-phase-badge{display:inline-flex;margin-bottom:8px;padding:5px 9px;border-radius:999px;background:#edf3f8;color:#46627c;font-size:.68rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.blueprint-phase-badge.visual-hook{background:#e7f7f2;color:#08755d}.blueprint-phase-badge.reasoning-leap{background:#f0eaff;color:#6540a5}.sheet-preview .number-system-question-visual{margin:12px 0;padding:12px}.sheet-preview .number-system-question-visual>div>span{padding:8px 10px}
.number-system-master-question{display:grid;gap:7px;margin:0 0 20px;padding:16px 18px;border:1px solid #c9d8ee;border-radius:14px;background:#f7f9ff;color:#17314f}.number-system-master-question>span{font-size:.7rem;font-weight:850;letter-spacing:.1em;color:#5b67a4}.number-system-master-question>strong{font-size:1.05rem;line-height:1.5}.number-system-master-question>small{color:#61748b}.number-system-master-question.compact{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff}.number-system-master-question.compact>span{white-space:nowrap}.number-system-master-question.compact>strong{font-size:.9rem;font-weight:700}.sheet-preview .number-system-master-question{margin:8px 0 12px;padding:12px 14px}@media(max-width:700px){.number-system-master-question.compact{display:grid}.number-system-master-question.compact>span{white-space:normal}}
/* Visual-first concept pages: replace long teaching-note panels with one compact flow. */
.concept-quick-visual{display:flex;align-items:stretch;justify-content:center;gap:10px;margin:18px 0;padding:16px;border:1px solid #d8e5ef;border-radius:20px;background:linear-gradient(135deg,#f2fbf7,#f3f5ff);overflow-x:auto}.concept-quick-visual article{min-width:135px;flex:1;display:flex;align-items:center;gap:10px;padding:12px;border-radius:15px;box-shadow:0 7px 18px #17325310}.concept-quick-visual article:nth-of-type(1){background:#e5f2ff}.concept-quick-visual article:nth-of-type(2){background:#fff3d7}.concept-quick-visual article:nth-of-type(3){background:#f1e9ff}.concept-quick-visual article:nth-of-type(4){background:#dcf7e9}.concept-quick-visual span{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#087c60;font-weight:900}.concept-quick-visual p{margin:0;color:#29425f;font-size:.86rem;line-height:1.35;font-weight:700}.concept-quick-visual i{align-self:center;color:#615ad1;font-size:1.25rem;font-style:normal;font-weight:900}@media(max-width:760px){.concept-quick-visual{justify-content:flex-start}.concept-quick-visual article{min-width:180px}}

/* Grade 9 Coordinate Geometry: visual, compact concept pages. */
.cg9-concept-page{background:linear-gradient(180deg,#fff 0%,#f9fbff 100%)}.cg9-concept-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.cg9-concept-stages article{min-height:142px;padding:18px;border-radius:18px;border:1px solid transparent}.cg9-concept-stages article:nth-child(1){background:#eaf3ff;border-color:#c5dcfb}.cg9-concept-stages article:nth-child(2){background:#fff3dc;border-color:#f2d49b}.cg9-concept-stages article:nth-child(3){background:#e7f8ef;border-color:#b9e6cf}.cg9-concept-stages span{display:block;margin-bottom:9px;font-size:11px;font-weight:900;letter-spacing:.12em;color:#3f5f92}.cg9-concept-stages p{margin:0;color:#243958;line-height:1.65}
.cg9-pair{min-height:210px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:17px;background:linear-gradient(135deg,#edf4ff,#f3edff);font-size:42px;color:#173253}.cg9-pair b{display:grid;place-items:center;min-width:92px;padding:18px 14px;border-radius:17px;background:#fff;box-shadow:0 12px 28px rgba(30,55,95,.1)}.cg9-pair small{margin-top:7px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#607492}
.cg9-move{min-height:210px;display:flex;align-items:center;justify-content:center;gap:13px;padding:18px;border-radius:17px;background:linear-gradient(135deg,#e9fbf3,#eaf2ff)}.cg9-move i{padding:14px;border-radius:14px;background:#fff;color:#18365b;font-style:normal;font-weight:800;box-shadow:0 10px 24px rgba(30,55,95,.1)}.cg9-move span{position:relative;padding:0 8px 22px;color:#147a5b;font-weight:800}.cg9-move span:after{content:'→';position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);font-size:30px}
.cg9-grid{position:relative;min-height:230px;border-radius:17px;background:linear-gradient(#dfe8f5 1px,transparent 1px),linear-gradient(90deg,#dfe8f5 1px,transparent 1px),#fff;background-size:24px 24px}.cg9-grid:before,.cg9-grid:after{content:'';position:absolute;background:#496382}.cg9-grid:before{left:50%;top:8%;bottom:8%;width:2px}.cg9-grid:after{left:8%;right:8%;top:50%;height:2px}.cg9-grid i{position:absolute;z-index:2;left:var(--x);top:var(--y);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#18a978;color:#fff;font-style:normal;font-weight:900}.cg9-grid span{position:absolute;left:17%;right:14%;top:49%;height:3px;background:#7456c8;transform:rotate(-27deg);transform-origin:left center}
.cg9-shape{position:relative;min-height:230px;border-radius:17px;background:#eef5ff}.cg9-shape:before{content:'';position:absolute;left:22%;top:24%;width:54%;height:48%;border:4px solid #4c6fa7;transform:skew(-15deg)}.cg9-shape:after{content:'';position:absolute;left:24%;top:25%;width:51%;height:46%;background:linear-gradient(33deg,transparent 49%,#18a978 49%,#18a978 51%,transparent 51%),linear-gradient(-33deg,transparent 49%,#18a978 49%,#18a978 51%,transparent 51%)}.cg9-shape i,.cg9-shape b{position:absolute;z-index:2;font-style:normal;color:#173253}.cg9-shape i:nth-of-type(1){left:18%;top:18%}.cg9-shape i:nth-of-type(2){right:18%;top:18%}.cg9-shape i:nth-of-type(3){right:18%;bottom:18%}.cg9-shape i:nth-of-type(4){left:18%;bottom:18%}.cg9-shape b{left:49%;top:47%;color:#087653}
.cg9-reflect,.cg9-segment,.cg9-axis-gap{min-height:210px;display:flex;align-items:center;justify-content:center;gap:14px;padding:22px;border-radius:17px;background:linear-gradient(135deg,#eef5ff,#f3edff)}.cg9-reflect b,.cg9-segment b,.cg9-segment strong,.cg9-axis-gap b{padding:13px 15px;border-radius:14px;background:#fff;color:#173253;box-shadow:0 10px 24px rgba(30,55,95,.1)}.cg9-reflect i{align-self:stretch;display:grid;place-items:center;padding:0 12px;border-left:3px solid #18a978;border-right:3px solid #18a978;background:rgba(255,255,255,.58);color:#087653;font-style:normal;font-weight:900;writing-mode:vertical-rl}.cg9-segment span,.cg9-axis-gap span{position:relative;min-width:70px;color:#6e52bd;font-size:12px;font-weight:900;text-align:center}.cg9-segment span:after,.cg9-axis-gap span:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:3px;border-radius:9px;background:#18a978}.cg9-segment strong{background:#e5f8ef;color:#087653}.cg9-reverse{background:linear-gradient(135deg,#fff2d8,#edf4ff)}.cg9-axis-gap{background:linear-gradient(135deg,#e8f9f1,#edf4ff)}.cg9-axis-gap span{min-width:135px;color:#087653;font-size:14px}
.cg9-segment{gap:6px;padding:12px}.cg9-segment b,.cg9-segment strong{flex:0 1 auto;padding:10px 7px;font-size:12px;white-space:nowrap}.cg9-segment span{flex:1 1 42px;min-width:34px;font-size:10px}
@media(max-width:760px){.cg9-concept-stages{grid-template-columns:1fr}.cg9-pair{min-height:165px;font-size:31px}.cg9-pair b{min-width:70px;padding:13px 10px}.cg9-move,.cg9-reflect,.cg9-segment,.cg9-axis-gap{min-height:165px;flex-wrap:wrap}.cg9-reflect i{min-height:90px;writing-mode:horizontal-tb}.cg9-grid,.cg9-shape{min-height:190px}}
.cg9-quadrant-map{display:grid;grid-template-columns:1fr 1fr;place-items:center;padding:24px;color:#5d7191;font-weight:900}.cg9-quadrant-map>b{font-size:22px}.cg9-distance-combo{position:relative;min-height:220px;border-radius:18px;background:linear-gradient(145deg,#ebf5ff,#eefaf4)}.cg9-distance-combo:before{content:'';position:absolute;left:28%;bottom:24%;width:42%;height:48%;border-left:5px solid #21a878;border-bottom:5px solid #4671ad;clip-path:polygon(0 0,0 100%,100% 100%)}.cg9-distance-combo:after{content:'';position:absolute;left:28%;bottom:24%;width:55%;height:4px;background:#7958c8;transform:rotate(-42deg);transform-origin:left center}.cg9-distance-combo span,.cg9-distance-combo i,.cg9-distance-combo b{position:absolute;z-index:2;padding:7px 10px;border-radius:10px;background:#fff;color:#173253;font-style:normal}.cg9-distance-combo span{left:15%;top:45%}.cg9-distance-combo i{left:47%;bottom:11%}.cg9-distance-combo b{right:18%;top:22%;color:#6e4ec3}.cg9-locus{position:relative;display:flex;align-items:center;justify-content:space-around;min-height:220px;border-radius:18px;background:linear-gradient(145deg,#f2edff,#e9f9f2)}.cg9-locus:before{content:'';position:absolute;left:50%;top:12%;bottom:12%;width:3px;background:#45688f}.cg9-locus i,.cg9-locus strong{z-index:2;display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#fff;color:#173253;font-style:normal}.cg9-locus strong{background:#daf6e9;color:#087653}.cg9-locus span{position:absolute;bottom:18px;padding:6px 12px;border-radius:99px;background:#fff;color:#6e4ec3;font-weight:900}.cg9-section-line{position:relative;display:flex;align-items:center;justify-content:center;gap:34px;min-height:220px;border-radius:18px;background:#eef5ff}.cg9-section-line:before{content:'';position:absolute;left:18%;right:18%;top:50%;height:5px;border-radius:10px;background:#5475a6}.cg9-section-line b,.cg9-section-line strong,.cg9-section-line i{z-index:2;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;color:#173253;font-style:normal}.cg9-section-line strong{background:#dff7eb;color:#087653}.cg9-section-line i{width:12px;height:12px;background:#8d79d3}.cg9-section-line span{position:absolute;bottom:24px;color:#526885;font-weight:800}
.cg9-question-diagram{display:grid;grid-template-columns:minmax(180px,280px) minmax(180px,1fr);align-items:center;gap:18px;margin:16px 0 18px;padding:14px 16px;border:1px solid #d8e3ef;border-radius:16px;background:linear-gradient(135deg,#f8fbff,#f5faf7)}.cg9-question-diagram>small{color:#526985;font-size:14px;line-height:1.45}.cg9-mini-axis{position:relative;min-height:118px;border-radius:12px;background:linear-gradient(#e3ebf4 1px,transparent 1px),linear-gradient(90deg,#e3ebf4 1px,transparent 1px),#fff;background-size:18px 18px}.cg9-mini-axis i{position:absolute;background:#7185a0}.cg9-mini-axis .horizontal{left:8%;right:8%;top:50%;height:3px}.cg9-mini-axis .vertical{top:8%;bottom:8%;left:50%;width:3px}.cg9-mini-axis.horizontal .horizontal,.cg9-mini-axis.vertical .vertical{background:#18a978;box-shadow:0 0 0 4px rgba(24,169,120,.12)}.cg9-mini-axis b{position:absolute;left:calc(50% + 8px);top:calc(50% + 5px);color:#173253}.cg9-mini-route,.cg9-mini-segment,.cg9-mini-gap,.cg9-mini-locus,.cg9-mini-section,.cg9-mini-collinear{display:flex;align-items:center;justify-content:center;gap:10px;min-height:104px;padding:12px;border-radius:12px;background:#fff}.cg9-mini-route b,.cg9-mini-segment b,.cg9-mini-segment strong,.cg9-mini-gap b,.cg9-mini-locus b,.cg9-mini-locus strong,.cg9-mini-section b,.cg9-mini-section strong,.cg9-mini-collinear b{z-index:2;padding:9px 10px;border-radius:10px;background:#eef4ff;color:#18365b}.cg9-mini-route span{position:relative;min-width:72px;color:#087653;font-size:12px;font-weight:900;text-align:center}.cg9-mini-route span:after{content:'→';display:block;margin-top:3px;font-size:25px}.cg9-mini-segment i,.cg9-mini-gap i,.cg9-mini-locus i,.cg9-mini-section i,.cg9-mini-collinear i{height:4px;min-width:32px;border-radius:8px;background:#35ad83}.cg9-mini-segment strong,.cg9-mini-locus strong,.cg9-mini-section strong{background:#e0f8ec;color:#087653}.cg9-mini-gap.vertical{flex-direction:column}.cg9-mini-gap.vertical i{width:4px;height:35px;min-width:0}.cg9-mini-locus,.cg9-mini-section{position:relative}.cg9-mini-locus span,.cg9-mini-section span{position:absolute;bottom:4px;color:#6c56b4;font-size:11px;font-weight:900}.cg9-mini-section i{min-width:20px}.cg9-mini-collinear{transform:rotate(-7deg)}.cg9-mini-collinear.area{background:linear-gradient(155deg,#fff 49%,#e9f7f1 50%)}.cg9-mini-triangle{position:relative;min-height:110px;border-radius:12px;background:#fff}.cg9-mini-triangle:before{content:'';position:absolute;left:25%;bottom:20%;width:48%;height:55%;border-left:4px solid #18a978;border-bottom:4px solid #416a9f}.cg9-mini-triangle:after{content:'';position:absolute;left:25%;bottom:20%;width:61%;height:4px;background:#7657c4;transform:rotate(-40deg);transform-origin:left center}.cg9-mini-triangle i,.cg9-mini-triangle span,.cg9-mini-triangle b{position:absolute;color:#294664;font-style:normal}.cg9-mini-triangle i{left:44%;bottom:4%}.cg9-mini-triangle span{left:12%;top:42%}.cg9-mini-triangle b{right:17%;top:18%;color:#6e4ec3}
@media(max-width:760px){.cg9-question-diagram{grid-template-columns:1fr}.cg9-question-diagram>small{text-align:center}.cg9-distance-combo,.cg9-locus,.cg9-section-line{min-height:180px}}
/* Portal learning-flow v39 */
.teacher-live-activity-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.teacher-live-activity-actions .teacher-finish-codeorg{margin:0}.teacher-activity-link,.completed-activity-link{white-space:nowrap}
.teacher-mission-library{background:#fff;border:1px solid #dce6ee;border-radius:24px;padding:28px;margin-bottom:24px;box-shadow:0 16px 42px rgba(18,48,79,.06)}
.teacher-library-grades{display:grid;grid-template-columns:repeat(10,minmax(70px,1fr));gap:8px;margin:22px 0;overflow-x:auto;padding-bottom:4px}.teacher-library-grades button{border:1px solid #d9e3eb;background:#f7f9fb;color:#294867;border-radius:12px;padding:10px 8px;font-weight:800;cursor:pointer}.teacher-library-grades button.active{background:#153552;color:#fff;border-color:#153552}
.teacher-mission-sections{display:grid;gap:18px}.teacher-mission-section{border:1px solid #dce6ee;border-radius:20px;padding:20px;background:#fbfcfd}.teacher-mission-section>header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.teacher-mission-section>header>span{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#dff7ef;color:#08785f;font-weight:900}.teacher-mission-section.prompt>header>span{background:#e6efff;color:#2559a7}.teacher-mission-section.ai>header>span{background:#efe5ff;color:#6930b8}.teacher-mission-section header small,.teacher-mission-section header h3{display:block;margin:0}.teacher-mission-section header small{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#60778d}.teacher-mission-sets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.teacher-mission-sets>section{background:#fff;border:1px solid #e0e8ef;border-radius:16px;padding:14px}.teacher-mission-sets>section>div:first-child{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #e6edf2;padding-bottom:10px;margin-bottom:4px}.teacher-mission-row{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid #edf1f4}.teacher-mission-row:last-child{border:0}.teacher-mission-row>span b,.teacher-mission-row>span small{display:block}.teacher-mission-row>span small{margin-top:4px;line-height:1.45;color:#61758a}.teacher-mission-row>div{display:flex;gap:8px}.teacher-mission-row .text-button{padding:5px 10px;border-radius:8px;background:#f1f6f9}
.teacher-math-reference{margin:0 0 18px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#fff7df,#effbf6);border:1px solid #e6dfc8}.teacher-math-reference>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.teacher-math-reference>header h3,.teacher-math-reference>header p{margin:0}.teacher-math-reference>header>span{font-size:.78rem;color:#6f6650}.teacher-math-reference>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.teacher-math-reference article{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:start;padding:14px;border-radius:15px;background:#fff;border:1px solid #e7e3d8}.teacher-math-reference article>span{grid-row:1/3;font-size:23px}.teacher-math-reference article small,.teacher-math-reference article b{display:block}.teacher-math-reference article p{margin:5px 0;color:#64778a;font-size:.84rem;line-height:1.4}.teacher-math-reference article button{grid-column:2;justify-self:start}.teacher-math-reference-preview{text-align:center;padding:30px;border-radius:18px;background:linear-gradient(135deg,#fff7df,#eefaf5)}.teacher-math-reference-preview>span{font-size:52px}.teacher-math-reference-preview>div{display:grid;gap:5px;margin-top:20px;padding:14px;border-radius:12px;background:#fff}.teacher-math-reference-preview small{color:#60768a}
.teacher-practice-progress{margin-top:26px}.teacher-practice-progress>.panel-title{margin-bottom:14px}.teacher-practice-progress>.stat-grid{margin-top:0}
.profile-curriculum-tabs{display:flex;gap:8px;margin:8px 0 18px;border-bottom:1px solid #dde6ed}.profile-curriculum-tabs button{border:0;background:transparent;padding:12px 20px;font-weight:900;color:#698095;border-bottom:3px solid transparent;cursor:pointer}.profile-curriculum-tabs button.active{color:#08785f;border-bottom-color:#0aad86}.profile-curriculum-panel{display:none}.profile-curriculum-panel.active{display:grid;gap:10px}.teacher-profile-chapter-row{border:1px solid #dfe7ed;border-radius:14px;background:#fff;overflow:hidden}.teacher-profile-chapter-row summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 16px;cursor:pointer;list-style:none}.teacher-profile-chapter-row summary::-webkit-details-marker{display:none}.teacher-profile-chapter-row summary span b,.teacher-profile-chapter-row summary span small{display:block}.teacher-profile-chapter-row summary span small{margin-top:4px;color:#667d91}.teacher-profile-chapter-row summary em{font-style:normal;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900;padding:7px 10px;border-radius:999px;background:#edf1f4;color:#617386}.teacher-profile-chapter-row.assigned summary em{background:#e3efff;color:#245ca4}.teacher-profile-chapter-row.started summary em{background:#fff0d3;color:#905b00}.teacher-profile-chapter-row.finished summary em{background:#dcf7eb;color:#08785f}.teacher-profile-chapter-row>p,.profile-sheet-details{border-top:1px solid #e7edf2;padding:14px 16px;margin:0}.profile-sheet-details{display:grid;gap:10px}.profile-sheet-details>span{display:flex;justify-content:space-between;gap:15px}.profile-sheet-details small{color:#63788d;text-align:right}
.teacher-profile-curriculum{grid-column:1/-1}.teacher-profile-curriculum-head{display:flex;justify-content:space-between;align-items:end;margin:2px 0 12px}.teacher-profile-curriculum-head h2,.teacher-profile-curriculum-head p{margin:0}.teacher-profile-curriculum-head>span{color:#60758b;font-size:.82rem}.teacher-profile-curriculum-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-profile-curriculum-grid>.panel{min-height:180px}.teacher-profile-curriculum-grid>.panel.locked{opacity:1;background:#fbfcfd}.teacher-profile-curriculum-grid>.panel.locked>div{opacity:.62}.teacher-profile-curriculum-grid .unlock-chapter-button{border-color:#35aa83;color:#08785f;background:#effaf5;font-weight:850}.teacher-profile-sheet-list article>div{flex:1}.profile-tab-class-list{display:grid;gap:10px}.profile-tab-class-list article{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid #e0e8ee;border-radius:14px;background:#fff}.profile-tab-class-list b,.profile-tab-class-list small{display:block}.profile-tab-class-list small{margin-top:4px;color:#61768a}.profile-activity-panel{margin:0;padding:0;border:0;box-shadow:none}.profile-activity-panel>.panel-title{margin-top:4px}
.profile-access-legend{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 6px}.profile-access-legend span,.profile-chapter-access{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.profile-access-legend .unlocked,.profile-chapter-access.assigned{background:#e0f7ed;color:#08785f}.profile-access-legend .locked,.profile-chapter-access.locked{background:#eef1f4;color:#566b7d}.profile-access-legend .completed,.profile-chapter-access.completed{background:#e6efff;color:#245ca4}.teacher-profile-curriculum-grid>.panel>div>.profile-chapter-access{margin:0 0 7px;opacity:1}.teacher-profile-curriculum-grid>.panel.locked>div>.profile-chapter-access{opacity:1}.teacher-profile-curriculum-head>span b{color:#173b58}
.teacher-profile-past-work{border:1px solid #dfe8e5;border-radius:16px;background:#fbfffd;padding:18px 20px;margin-top:12px}.teacher-profile-past-work h3{margin:2px 0 5px;font-size:1.1rem}.teacher-profile-past-work p:last-child{margin:0;color:#60758b;font-size:.84rem}.teacher-profile-past-work-list{display:grid;margin-top:12px}.teacher-profile-past-work-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #e1ebe8;padding:12px 0}.teacher-profile-past-work-list article>div{min-width:0}.teacher-profile-past-work-list small,.teacher-profile-past-work-list b,.teacher-profile-past-work-list span{display:block}.teacher-profile-past-work-list small{color:#08785f;font-weight:800}.teacher-profile-past-work-list b{margin:3px 0}.teacher-profile-past-work-list span{color:#60758b;font-size:.82rem}.teacher-profile-past-work-list strong{flex:none;border-radius:999px;background:#fff2dc;color:#805200;padding:6px 9px;font-size:.73rem}.teacher-profile-past-work-list strong.completed{background:#dcf7eb;color:#08785f}
.student-week-classes{background:#f5f9fc;border:1px solid #dce7ee;border-radius:20px;padding:20px;margin:18px 0}.student-week-classes>.today-work-head{margin-bottom:12px}.student-week-classes>div:last-child{display:grid;gap:8px}.student-week-classes article{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e0e8ee;border-radius:14px;padding:12px 14px}.student-week-classes article b,.student-week-classes article small{display:block}.student-week-classes article small{margin-top:3px;color:#63788c}
.student-overview-hero .next-class-week-pill{width:min(390px,42%);max-height:190px;overflow:auto;text-align:left}.next-class-week-list{display:grid;gap:7px;margin-top:7px}.next-class-week-list article{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:7px 9px;border-radius:10px;background:#f7f9fb}.next-class-week-list article.next{background:#e8f7f0}.next-class-week-list article i{font-size:.57rem;font-style:normal;font-weight:900;letter-spacing:.06em;color:#5c7185}.next-class-week-list article.next i{color:#08785f}.next-class-week-list article b,.next-class-week-list article small{display:block}.next-class-week-list article b{font-size:.74rem}.next-class-week-list article small{margin-top:2px;font-size:.65rem;color:#65798c}
.upcoming-group-slot>div>span{display:block;color:#657c90;font-size:.82rem;margin-top:4px}
@media(max-width:1050px){.teacher-mission-sets,.teacher-math-reference>div{grid-template-columns:1fr}.teacher-library-grades{grid-template-columns:repeat(10,82px)}}
@media(max-width:700px){.teacher-mission-library{padding:18px}.teacher-live-activity-actions{align-items:stretch}.teacher-live-activity-actions>*{flex:1}.profile-sheet-details>span{display:block}.profile-sheet-details small{text-align:left}.student-overview-hero .next-class-week-pill{width:100%;max-height:none}.teacher-profile-curriculum-grid{grid-template-columns:1fr}}
.coordinate-question-diagram{display:grid;grid-template-columns:minmax(230px,340px) auto;align-items:center;gap:18px;width:min(100%,560px);margin:18px 0;padding:14px;border:1px solid #cfe2dc;border-radius:18px;background:linear-gradient(135deg,#f3fbf8,#f2f6ff)}.coordinate-question-diagram svg{width:100%;max-width:340px;border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(19,52,82,.08)}.coordinate-question-diagram small{color:#557087;font-weight:800}.coordinate-grid line{stroke:#e7edf3;stroke-width:1}.coordinate-axes line{stroke:#234866;stroke-width:2.3}.coordinate-axes text{fill:#17334f;font:700 14px sans-serif}.coordinate-shape polyline{fill:rgba(26,169,121,.10);stroke:#7561c9;stroke-width:3;stroke-linejoin:round}.coordinate-points circle{fill:#10a77b;stroke:#fff;stroke-width:2}.coordinate-points text{fill:#153552;font:700 12px sans-serif}.sheet-preview .coordinate-question-diagram{grid-template-columns:minmax(210px,300px) auto}.focus-question .coordinate-question-diagram{margin:18px auto;width:min(100%,650px)}
.coordinate-quadrants rect:nth-of-type(1){fill:#f1edff}.coordinate-quadrants rect:nth-of-type(2){fill:#e7f8f2}.coordinate-quadrants rect:nth-of-type(3){fill:#fff2e2}.coordinate-quadrants rect:nth-of-type(4){fill:#eaf2ff}.coordinate-quadrants text{fill:#486278;font:800 11px sans-serif}.coordinate-quadrants+g line{stroke:#d8e2e9}
.coordinate-quadrants rect:nth-of-type(1){fill:#fff6d9}.coordinate-quadrants rect:nth-of-type(2){fill:#e8f8f1}.coordinate-quadrants rect:nth-of-type(3){fill:#f2ecff}.coordinate-quadrants rect:nth-of-type(4){fill:#e9f2ff}.coordinate-quadrants text{fill:#36566f;font:800 11px sans-serif;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
@media(max-width:700px){.coordinate-question-diagram,.sheet-preview .coordinate-question-diagram{grid-template-columns:1fr}.coordinate-question-diagram small{text-align:center}}
.coordinate-visual-concept{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1.15fr);gap:22px;align-items:center;padding:26px;border:1px solid #d5e5df;border-radius:24px;background:linear-gradient(135deg,#f1fbf7,#f1f5ff);overflow:hidden}.coordinate-concept-title{display:grid;gap:10px}.coordinate-concept-title>span{color:#08785f;font-size:.75rem;font-weight:900;letter-spacing:.1em}.coordinate-concept-title h2{margin:0;color:#153552;font-size:clamp(1.45rem,3vw,2.25rem)}.coordinate-concept-title>b{display:inline-flex;width:max-content;max-width:100%;padding:10px 14px;border-radius:12px;background:#fff;color:#6b50bb;box-shadow:0 8px 20px rgba(20,52,82,.08)}.coordinate-visual-concept>.coordinate-question-diagram{grid-column:2;grid-row:1/3;width:100%;margin:0;background:transparent;border:0;padding:0}.coordinate-example-flow{grid-column:1;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.coordinate-example-flow>span{display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:13px;background:#fff;color:#173552;font-weight:800;box-shadow:0 7px 18px rgba(21,53,82,.07);animation:coordinate-step-in .45s both}.coordinate-example-flow>span:nth-of-type(2){animation-delay:.12s}.coordinate-example-flow>span:nth-of-type(3){animation-delay:.24s}.coordinate-example-flow>span:nth-of-type(4){animation-delay:.36s}.coordinate-example-flow small{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#dbf6eb;color:#08785f}.coordinate-example-flow>i{color:#7b69c6;font-style:normal;font-weight:900}.coordinate-visual-concept>.button{grid-column:1/-1;justify-self:end}.coordinate-concept-preview .modal-head{align-items:flex-start}.coordinate-student-concept{display:grid;gap:22px}.coordinate-student-concept>header{align-items:flex-start}.coordinate-response-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.coordinate-response-fields label{display:grid;gap:7px}.coordinate-response-fields label>span{display:grid;gap:2px}.coordinate-response-fields label em{color:#63778b;font-size:.78rem;font-style:normal;font-weight:600}.coordinate-response-fields small{grid-column:1/-1}.teacher-response-fields{display:flex!important;gap:8px!important;flex-wrap:wrap;margin-top:8px}.teacher-response-fields span{display:grid!important;gap:2px!important;min-width:170px;border:1px dashed #9db9ae!important;background:#f4fbf8!important;color:#315d50!important}.teacher-response-fields span small{font-size:.74rem;color:#617a71}.coordinate-points circle{animation:coordinate-point-pop .55s both;transform-box:fill-box;transform-origin:center}@keyframes coordinate-step-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}@keyframes coordinate-point-pop{0%{opacity:0;transform:scale(.2)}75%{transform:scale(1.2)}100%{opacity:1;transform:scale(1)}}
@media(max-width:800px){.coordinate-visual-concept{grid-template-columns:1fr}.coordinate-visual-concept>.coordinate-question-diagram{grid-column:1;grid-row:auto}.coordinate-example-flow{grid-column:1}.coordinate-response-fields{grid-template-columns:1fr}}
.coordinate-visual-concept{grid-template-columns:minmax(240px,.75fr) minmax(430px,1.4fr)}
.coordinate-visual-concept>.coordinate-question-diagram{grid-template-columns:1fr}
.coordinate-visual-concept>.coordinate-question-diagram svg{width:100%;max-width:520px;justify-self:center}
.coordinate-visual-concept>.coordinate-question-diagram>small{text-align:center}
.coordinate-distance-derivation .coordinate-concept-title h2{font-size:clamp(1.45rem,2.3vw,1.9rem);overflow-wrap:anywhere}.coordinate-distance-derivation .coordinate-concept-title>b{display:block;width:100%;font-size:.98rem;line-height:1.55;white-space:normal;overflow-wrap:anywhere}.coordinate-derive-button{width:100%;max-width:100%;white-space:normal;border:1px solid #9bcfc0;border-radius:12px;background:#e7f8f1;color:#08785f;padding:10px 13px;font-weight:850;cursor:pointer}.coordinate-derive-button:disabled{cursor:default;opacity:.75}.coordinate-distance-derivation.is-deriving .coordinate-shape polyline{stroke-dasharray:900;stroke-dashoffset:900;animation:coordinate-triangle-draw 1.25s ease-out forwards}.coordinate-distance-derivation.is-deriving .coordinate-example-flow>span{animation:coordinate-derive-step .45s both!important}.coordinate-distance-derivation.is-deriving .coordinate-example-flow>span:nth-of-type(1){animation-delay:.7s!important}.coordinate-distance-derivation.is-deriving .coordinate-example-flow>span:nth-of-type(2){animation-delay:1.05s!important}.coordinate-distance-derivation.is-deriving .coordinate-example-flow>span:nth-of-type(3){animation-delay:1.4s!important}.coordinate-distance-derivation.is-deriving .coordinate-example-flow>span:nth-of-type(4){animation-delay:1.75s!important}@keyframes coordinate-triangle-draw{to{stroke-dashoffset:0}}@keyframes coordinate-derive-step{from{opacity:.18;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:900px){.coordinate-visual-concept{grid-template-columns:1fr}.coordinate-visual-concept>.coordinate-question-diagram{grid-column:1;grid-row:auto}.coordinate-visual-concept>.coordinate-question-diagram svg{max-width:560px}}
.coordinate-visual-concept .coordinate-example-flow>span,.coordinate-visual-concept .coordinate-points circle{animation:none!important;opacity:1;transform:none}
.coordinate-visual-concept svg{backface-visibility:hidden;transform:translateZ(0)}
@media(prefers-reduced-motion:reduce){.coordinate-example-flow>span,.coordinate-points circle,.coordinate-distance-derivation.is-deriving .coordinate-shape polyline{animation:none!important}.coordinate-distance-derivation.is-deriving .coordinate-shape polyline{stroke-dashoffset:0!important}}

/* Mobile portal navigation and student-profile containment. */
@media(max-width:650px){
  .dashboard-shell>.sidebar{position:sticky;top:0;z-index:80;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;height:auto;padding:10px 12px;background:#16304f}
  .dashboard-shell>.sidebar .logo{min-width:0}.dashboard-shell>.sidebar .logo span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .dashboard-shell>.sidebar nav{grid-column:1/-1;display:flex!important;flex-direction:row;align-items:stretch;gap:6px;margin:0;padding:3px 0 5px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
  .dashboard-shell>.sidebar .nav-link{display:grid!important;grid-template-columns:24px auto!important;justify-items:start!important;align-items:center;flex:0 0 auto;width:auto!important;min-height:42px;padding:8px 10px!important;font-size:inherit!important;white-space:nowrap}
  .dashboard-shell>.sidebar .nav-link>.nav-icon{width:24px!important;height:24px!important;font-size:13px!important}
  .dashboard-shell>.sidebar .nav-link>.nav-label{display:block!important;font-size:11px!important;line-height:1.15!important}
  .dashboard-shell>.sidebar .logout{display:flex;align-items:center;justify-content:center;margin:0;padding:9px;font-size:0}
  .dashboard-main,.dashboard-main>#content,.dashboard-grid,.panel,.teacher-profile-curriculum{min-width:0;max-width:100%}
  .profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr);width:100%;min-width:0;padding:18px}
  .profile-hero>div{min-width:0}.profile-hero>div h2,.profile-hero>div p{overflow-wrap:anywhere}
  .profile-hero>.button{grid-column:1/-1;width:100%;white-space:normal}
  .basic-info-card>div,.teacher-profile-chapter-row,.profile-curriculum-panel{min-width:0;overflow-wrap:anywhere}
  .profile-curriculum-tabs{display:flex;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;white-space:nowrap}
  .profile-curriculum-tabs button{flex:0 0 auto;padding:11px 13px}
  .teacher-profile-curriculum-head{align-items:flex-start;gap:8px;flex-direction:column}
  .teacher-profile-chapter-row summary{align-items:flex-start;gap:9px;padding:13px}.teacher-profile-chapter-row summary>span{min-width:0}.teacher-profile-chapter-row summary b,.teacher-profile-chapter-row summary small{overflow-wrap:anywhere}
  .profile-tab-class-list article{grid-template-columns:auto minmax(0,1fr)}.profile-tab-class-list article>button{grid-column:2;width:100%;justify-content:center}
}

/* Multi-Format Interactive Question Player Styles (MCQ, Multi-select, Drag-Reorder, Matching, Diagrams) */
.format-badge{display:inline-block;padding:4px 9px;border-radius:99px;background:#eeecff;color:var(--primary-dark);font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;margin-left:8px;vertical-align:middle}
.multi-instruction,.ordering-instruction,.matching-instruction{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 12px}
.multi-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.checkbox-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#fafbfe;cursor:pointer;transition:.15s ease}
.checkbox-option:hover{border-color:var(--primary);background:#f4f3ff}
.checkbox-option input[type="checkbox"]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;margin:0}
.checkbox-option span{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink)}
.checkbox-option span b{color:var(--primary)}
.checkbox-option:has(input:checked){border-color:var(--primary);background:#efedff;box-shadow:0 0 0 2px rgba(101,88,232,.18)}
.ordering-container{margin:18px 0}
.reorder-list{display:flex;flex-direction:column;gap:10px}
.reorder-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.04);cursor:grab}
.reorder-card:active{cursor:grabbing;background:#f3f1ff}
.order-handle{font-size:16px;color:var(--muted);user-select:none}
.order-text{font-weight:700;font-size:15px;color:var(--ink)}
.order-buttons{display:flex;gap:4px}
.order-btn{border:1px solid var(--line);background:#f7f8fc;color:var(--ink);border-radius:8px;padding:6px 10px;font-size:11px;font-weight:800;cursor:pointer;transition:.12s ease}
.order-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.matching-container{margin:18px 0}
.matching-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.matching-col{display:flex;flex-direction:column;gap:10px}
.match-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fafbfe;cursor:pointer;transition:.15s ease}
.match-item:hover{border-color:var(--primary);background:#f4f3ff}
.match-item.selected{border-color:var(--primary);background:#efedff;box-shadow:0 0 0 3px rgba(101,88,232,.25)}
.match-item.matched{border-color:#13846d;background:#e8f9f5;color:#10715e;opacity:.85}
.match-item b{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:#eeecff;color:var(--primary);font-size:12px}
.match-item.matched b{background:#bde9dc;color:#10715e}
.matched-pairs-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.matched-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:99px;background:#e8f9f5;color:#10715e;font-size:12px;font-weight:700}
.question-custom-diagram{display:flex;flex-direction:column;align-items:center;margin:18px auto;padding:18px;border:1px solid #cfe2dc;border-radius:18px;background:linear-gradient(135deg,#f9fcfa,#f4f7ff);max-width:720px;width:100%}
.question-custom-diagram svg{display:block;width:100%;max-width:680px;min-height:200px;height:auto;border-radius:12px}
.question-custom-diagram small{display:none !important}
@media(max-width:700px){.multi-options,.matching-grid{grid-template-columns:1fr}.question-custom-diagram svg{min-height:160px}}

/* Teacher Game Arcade & Callout */
.teacher-game-arcade{display:flex;flex-direction:column;gap:24px;animation:fadeIn .2s ease}
.teacher-arcade-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;background:linear-gradient(135deg,#1f1b48 0%,#372a72 50%,#4c3ba6 100%);color:#fff;border-radius:20px;padding:28px 32px;box-shadow:0 10px 30px rgba(31,27,72,.15)}
.teacher-arcade-header .eyebrow{color:#b8afff;margin-bottom:6px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}
.teacher-arcade-header h2{font:800 28px "Segoe UI",Arial,sans-serif;margin:0 0 10px;color:#fff}
.teacher-arcade-header p{color:#dcd7ff;margin:0;max-width:680px;line-height:1.5;font-size:15px}
.teacher-arcade-stats-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);border-radius:16px;padding:14px 22px;text-align:center;flex-shrink:0}
.teacher-arcade-stats-badge .stats-num{font:900 32px "Segoe UI",Arial,sans-serif;color:#ffd45c;line-height:1}
.teacher-arcade-stats-badge .stats-lbl{font-size:11px;font-weight:800;color:#e5e0ff;letter-spacing:.05em;text-transform:uppercase;margin-top:4px}
.teacher-arcade-filters-wrap{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 22px;box-shadow:0 4px 14px rgba(0,0,0,.03)}
.teacher-arcade-filter-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.filter-group-title{font-size:13px;font-weight:800;color:var(--muted);min-width:70px;text-transform:uppercase;letter-spacing:.05em}
.filter-pills-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.teacher-arcade-filter-pill{border:1px solid var(--line);background:#f7f8fc;color:var(--ink);padding:7px 14px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s ease}
.teacher-arcade-filter-pill:hover{background:#eeecff;border-color:#c7c1ff;color:var(--primary)}
.teacher-arcade-filter-pill.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 10px rgba(101,88,232,.25)}
.teacher-arcade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.teacher-game-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 6px 18px rgba(0,0,0,.04);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.teacher-game-card:hover{transform:translateY(-2px);border-color:#beb7f7;box-shadow:0 12px 28px rgba(101,88,232,.1)}
.teacher-game-card-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}
.teacher-game-icon-box{width:52px;height:52px;border-radius:14px;background:#f2f0ff;font-size:28px;display:grid;place-items:center;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(101,88,232,.15)}
.teacher-game-meta{flex:1;min-width:0}
.teacher-game-meta h3{font:800 18px "Segoe UI",Arial,sans-serif;margin:0 0 6px;color:var(--ink);line-height:1.25}
.teacher-game-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.teacher-game-badge{display:inline-block;font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;letter-spacing:.03em;text-transform:uppercase}
.teacher-game-badge.math{background:#e6f7f3;color:#0d7a64}
.teacher-game-badge.coding{background:#eeecff;color:var(--primary)}
.teacher-game-tier-tag{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;background:#f1f3f9;color:#55627a}
.teacher-game-desc{font-size:13.5px;color:#55657d;line-height:1.45;margin:0 0 14px;flex:1}
.teacher-game-concepts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.concept-chip{font-size:11.5px;font-weight:600;background:#f5f6fa;color:#435269;padding:4px 8px;border-radius:6px;border:1px solid #e2e5ef}
.teacher-game-card-foot{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid #f0f2f7}
.teacher-game-card-foot .button{flex:1;text-align:center;padding:9px 12px;font-size:13px}
.teacher-game-card-foot .outline-button{text-decoration:none;text-align:center;padding:9px 12px;font-size:13px;border-radius:10px}
.teacher-arcade-callout{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#f4f2ff 0%,#eef6ff 100%);border:1px solid #c9c3fc;border-radius:16px;padding:18px 24px;margin:18px 0 24px;box-shadow:0 4px 16px rgba(101,88,232,.08)}
.teacher-arcade-callout-icon{width:48px;height:48px;border-radius:12px;background:#fff;font-size:26px;display:grid;place-items:center;flex-shrink:0;box-shadow:0 4px 10px rgba(101,88,232,.12)}
.teacher-arcade-callout-body{flex:1;min-width:0}
.teacher-arcade-callout-body .eyebrow{color:var(--primary);font-weight:800;font-size:12px;margin-bottom:3px;text-transform:uppercase}
.teacher-arcade-callout-body h3{font:800 18px "Segoe UI",Arial,sans-serif;margin:0 0 4px;color:#1a1e36}
.teacher-arcade-callout-body p{color:#55627a;margin:0;font-size:13.5px;line-height:1.4}
.teacher-arcade-callout .button{white-space:nowrap;flex-shrink:0}
.modal.arcade-modal{width:min(1080px,96vw);max-height:94vh;padding:24px;display:flex;flex-direction:column}
.teacher-game-preview-shell{display:flex;flex-direction:column;gap:16px}
.teacher-game-preview-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;background:#f8f9fc;border:1px solid var(--line);border-radius:12px;padding:10px 16px}
.teacher-game-preview-tip{font-size:13px;font-weight:700;color:#3b485d}
.teacher-game-iframe-shell{width:100%;height:520px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#111422;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.teacher-game-iframe-shell iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:768px){.teacher-arcade-header{flex-direction:column;padding:20px}.teacher-arcade-stats-badge{align-self:flex-start}.teacher-arcade-callout{flex-direction:column;align-items:flex-start}.teacher-game-iframe-shell{height:420px}}

/* ==========================================================================
   Student Arcade Spotlight & Hybrid Quest Cards
   ========================================================================== */
.student-arcade-spotlight {
  margin: 24px 0;
  padding: 24px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05);
}
.student-arcade-spotlight .spotlight-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 20px;
  gap: 16px;
}
.student-arcade-spotlight .spotlight-header h2 {
  margin: 4px 0 0;
  font: 800 22px "Manrope", "Segoe UI", Arial, sans-serif;
  color: var(--ink);
}
.student-arcade-spotlight .all-games-btn {
  font-weight: 700;
  font-size: 14px;
  color: var(--primary);
  cursor: pointer;
  white-space: nowrap;
}
.student-arcade-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.arcade-spotlight-card {
  display: flex;
  flex-direction: column;
  background: #f8fafc;
  border: 1.5px solid #e2e8f0;
  border-radius: 16px;
  padding: 20px;
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.arcade-spotlight-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}
.arcade-spotlight-card.card-speed {
  background: linear-gradient(180deg, #fffdf5 0%, #fefce8 100%);
  border-color: #fde047;
}
.arcade-spotlight-card.card-speed:hover {
  border-color: #eab308;
  box-shadow: 0 10px 24px rgba(234, 179, 8, 0.15);
}
.arcade-spotlight-card.card-math {
  background: linear-gradient(180deg, #f0fdf4 0%, #dcfce7 100%);
  border-color: #86efac;
}
.arcade-spotlight-card.card-math:hover {
  border-color: #22c55e;
  box-shadow: 0 10px 24px rgba(34, 197, 94, 0.15);
}
.arcade-spotlight-card.card-coding {
  background: linear-gradient(180deg, #f5f3ff 0%, #ede9fe 100%);
  border-color: #c4b5fd;
}
.arcade-spotlight-card.card-coding:hover {
  border-color: #8b5cf6;
  box-shadow: 0 10px 24px rgba(139, 92, 246, 0.15);
}
.arcade-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.arcade-card-icon {
  font-size: 28px;
  line-height: 1;
}
.arcade-card-badge {
  font-size: 10.5px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 999px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.badge-speed {
  background: #fef08a;
  color: #854d0e;
}
.badge-math {
  background: #bbf7d0;
  color: #166534;
}
.badge-coding {
  background: #ddd6fe;
  color: #5b21b6;
}
.arcade-spotlight-card h3 {
  font: 800 18px "Manrope", "Segoe UI", Arial, sans-serif;
  color: #0f172a;
  margin: 0 0 6px;
  line-height: 1.3;
}
.arcade-card-sub {
  font-size: 13px;
  color: #475569;
  line-height: 1.45;
  margin: 0 0 14px;
  flex: 1;
}
.arcade-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.arcade-meta-tag {
  font-size: 11px;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.75);
  color: #334155;
  padding: 3px 7px;
  border-radius: 6px;
  border: 1px solid rgba(0, 0, 0, 0.06);
}
.arcade-meta-status {
  font-size: 11px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 6px;
}
.arcade-meta-status.done {
  background: #dcfce7;
  color: #15803d;
}
.arcade-meta-status.next {
  background: #e0f2fe;
  color: #0369a1;
}
.arcade-play-btn {
  display: block;
  width: 100%;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 800;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  text-align: center;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.arcade-play-btn:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}
.btn-speed {
  background: #eab308;
  color: #422006;
}
.btn-math {
  background: #10b981;
  color: #ffffff;
}
.btn-coding {
  background: #6366f1;
  color: #ffffff;
}
@media (max-width: 960px) {
  .student-arcade-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

/* ==========================================================================
   CAMBRIDGE IGCSE & PRIMARY INTERACTIVE MANIPULATIVES ("Play to Master")
   ========================================================================== */
.interactive-manipulative {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px;
  margin: 14px 0;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

/* Derivative Tangent Slider Manipulative */
.derivative-tangent-widget {
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 16px;
  margin: 16px 0;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
}
.dts-header {
  margin-bottom: 14px;
}
.dts-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.dts-badge {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #eff6ff;
  color: #2563eb;
  padding: 2px 8px;
  border-radius: 4px;
  border: 1px solid #bfdbfe;
}
.dts-title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}
.dts-desc {
  margin: 4px 0 0 0;
  font-size: 13px;
  color: #475569;
  line-height: 1.4;
}
.dts-controls-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 14px;
  align-items: center;
}
.dts-control-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 140px;
}
.dts-control-item label {
  font-size: 12px;
  font-weight: 600;
  color: #334155;
  display: flex;
  justify-content: space-between;
}
.dts-select {
  padding: 6px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #ffffff;
  font-size: 13px;
  font-weight: 600;
  color: #0f172a;
  outline: none;
  cursor: pointer;
}
.dts-slider {
  accent-color: #2563eb;
  cursor: pointer;
}
.dts-stage {
  width: 100%;
  max-width: 540px;
  margin: 0 auto 14px auto;
}
.dts-svg {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}
.dts-metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.dts-metric-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.dts-point-p-card { border-left: 3px solid #2563eb; }
.dts-point-q-card { border-left: 3px solid #f59e0b; }
.dts-secant-card { border-left: 3px solid #d97706; }
.dts-tangent-card { border-left: 3px solid #10b981; }
.dts-metric-label {
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
}
.dts-metric-value {
  font-size: 15px;
  font-weight: 700;
  color: #0f172a;
  font-family: monospace;
}
.dts-metric-sub {
  font-size: 11px;
  color: #94a3b8;
}
.dts-convergence-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #f1f5f9;
  border-radius: 8px;
  font-size: 13px;
}
.dts-diff-label {
  font-weight: 600;
  color: #334155;
}
.dts-diff-val {
  font-family: monospace;
  font-size: 14px;
  color: #2563eb;
}
.dts-diff-status {
  font-size: 12px;
  color: #64748b;
  margin-left: auto;
}
@media (max-width: 480px) {
  .dts-controls-bar { flex-direction: column; align-items: stretch; gap: 10px; }
  .dts-metrics-grid { grid-template-columns: repeat(2, 1fr); }
  .dts-diff-status { width: 100%; margin-left: 0; }
}

/* 1. Ten-Frame Manipulative */
.ten-frame-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(2, 54px);
  gap: 8px;
  max-width: 320px;
  margin: 8px auto;
  background: #ffffff;
  border: 3px solid #334155;
  border-radius: 10px;
  padding: 8px;
}
.ten-frame-cell {
  border: 2px dashed #94a3b8;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: #fafafa;
  transition: all 0.2s ease;
}
.ten-frame-cell:hover {
  background: #f1f5f9;
  border-color: #64748b;
  transform: scale(1.04);
}
.ten-frame-cell.filled {
  border-style: solid;
  border-color: #3b82f6;
  background: #eff6ff;
}
.counter-disc {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: none;
}
.ten-frame-cell.filled .counter-disc {
  display: block;
  background: radial-gradient(circle at 35% 35%, #ef4444, #b91c1c);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.22);
  animation: popIn 0.22s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@keyframes popIn {
  0% { transform: scale(0.2); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
.manipulative-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 320px;
  margin: 10px auto 0;
}
.manipulative-counter-badge {
  font-size: 13px;
  color: #1e3a8a;
  background: #dbeafe;
  padding: 4px 12px;
  border-radius: 20px;
  font-weight: 500;
}
.mini-tool-btn {
  padding: 4px 12px;
  font-size: 12px;
  background: #e2e8f0;
  color: #334155;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  transition: background 0.15s ease;
}
.mini-tool-btn:hover {
  background: #cbd5e1;
}

/* 2. Singapore Bar Model */
.bar-model-widget {
  text-align: center;
}
.bar-model-bracket {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 8px;
}
.bracket-label {
  font-size: 14px;
  font-weight: 700;
  color: #1e293b;
  background: #f1f5f9;
  padding: 3px 10px;
  border-radius: 6px;
}
.bar-model-container {
  display: flex;
  height: 48px;
  border: 2px solid #334155;
  border-radius: 8px;
  overflow: hidden;
  max-width: 440px;
  margin: 0 auto;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.06);
}
.bar-segment {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  transition: width 0.3s ease;
  border-right: 2px solid rgba(255, 255, 255, 0.35);
  padding: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bar-segment:last-child {
  border-right: none;
}
.segment-value {
  font-size: 14px;
  font-weight: 800;
}
.bar-model-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 10px;
  font-size: 12px;
  color: #475569;
}
.legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
}
.legend-item i {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 3px;
}

/* 3. Fraction Slicer (Pizza / Pie) */
.fraction-slicer-widget {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin: 10px auto;
}
.pie-svg {
  width: 140px;
  height: 140px;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.08));
}
.fraction-slice {
  fill: #e2e8f0;
  stroke: #94a3b8;
  stroke-width: 1.5;
  cursor: pointer;
  transition: fill 0.2s ease, transform 0.15s ease;
}
.fraction-slice:hover {
  fill: #cbd5e1;
}
.fraction-slice.shaded {
  fill: #3b82f6;
  stroke: #1d4ed8;
}
.fraction-readout {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 800;
  font-size: 22px;
  color: #0f172a;
  min-width: 60px;
}
.fraction-readout .bar {
  width: 32px;
  height: 3px;
  background: #0f172a;
  border-radius: 2px;
  margin: 3px 0;
}
.fraction-readout .pct {
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
  margin-top: 4px;
}

/* 4. Analog Clock Widget */
.analog-clock-widget {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin: 8px auto;
}
.clock-face-svg {
  width: 140px;
  height: 140px;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.1));
}
.digital-mirror {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 18px;
  font-weight: 700;
  background: #0f172a;
  color: #38bdf8;
  padding: 4px 14px;
  border-radius: 6px;
  letter-spacing: 2px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* 5. Coordinate Plotter Widget */
.coordinate-plotter-widget {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 8px auto;
}
.coord-svg {
  width: 210px;
  height: 210px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.coord-tools-bar {
  font-size: 12px;
  color: #334155;
  background: #f1f5f9;
  padding: 4px 12px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
}

/* 6. Virtual Algebra Tiles */
.algebra-tiles-widget {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 14px;
  max-width: 440px;
  margin: 8px auto;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.tile-instruction {
  font-size: 14px;
  font-weight: 600;
  color: #1e293b;
  margin-bottom: 10px;
}
.tiles-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
}
.tile {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  user-select: none;
}
.tile-x2 {
  width: 64px;
  height: 64px;
  background: #3b82f6;
  color: #ffffff;
  font-size: 16px;
}
.tile-x {
  width: 64px;
  height: 24px;
  background: #10b981;
  color: #ffffff;
  font-size: 13px;
}
.tile-unit {
  width: 24px;
  height: 24px;
  background: #f59e0b;
  color: #ffffff;
  font-size: 12px;
}
.tile-expansion {
  font-size: 13px;
  color: #475569;
}
.access-control-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:14px 16px;border:1px solid #dfe8e4;border-radius:14px;background:#f6fbf8}.access-control-banner>div{display:grid;gap:3px}.access-control-banner span{color:#65758a;font-size:.86rem}.profile-access-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.teacher-profile-sheet-list article,.teacher-profile-coding-list article{grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px}.teacher-profile-sheet-list .sheet-unavailable,.teacher-profile-coding-list .sheet-unavailable{opacity:.72}.p1-practice-summary{margin-bottom:18px}@media(max-width:680px){.access-control-banner{align-items:stretch;flex-direction:column}.access-control-banner button{width:100%}.teacher-profile-sheet-list article,.teacher-profile-coding-list article{grid-template-columns:auto minmax(0,1fr)}.teacher-profile-sheet-list article>b,.teacher-profile-sheet-list article>button,.teacher-profile-coding-list article>a,.teacher-profile-coding-list article>button{grid-column:2}}
.live-whiteboard{margin-top:20px}.whiteboard-status,.whiteboard-toolbar,.whiteboard-tools,.whiteboard-colours,.whiteboard-history{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.whiteboard-status{justify-content:flex-end}.whiteboard-toolbar{justify-content:space-between;margin:14px 0 10px;padding:10px;border:1px solid #e0e7e3;border-radius:14px;background:#f8faf9}.whiteboard-toolbar button{min-height:38px;padding:8px 12px;border:1px solid #d6dfdb;border-radius:10px;background:#fff;color:#153455;font:inherit;font-weight:700;cursor:pointer}.whiteboard-toolbar button.active{border-color:#168a68;background:#e9f8f2;color:#087154}.whiteboard-toolbar button:disabled{cursor:not-allowed;opacity:.45}.whiteboard-colours button{width:30px;min-height:30px;padding:0;border-radius:50%;background:var(--board-colour)}.whiteboard-colours button.active{outline:3px solid #d7eee6;outline-offset:2px}.whiteboard-toolbar .danger-text{color:#b33a32}.whiteboard-stage{position:relative;overflow:hidden;border:1px solid #cfdcd6;border-radius:16px;background-color:#fff;background-image:linear-gradient(#eef3f1 1px,transparent 1px),linear-gradient(90deg,#eef3f1 1px,transparent 1px);background-size:24px 24px;box-shadow:inset 0 1px 3px rgba(16,48,79,.06)}.whiteboard-stage canvas{display:block;width:100%;height:min(52vh,520px);min-height:320px;touch-action:none;cursor:crosshair;transform:translateZ(0);will-change:transform;backface-visibility:hidden}.whiteboard-stage.read-only canvas{cursor:default}.whiteboard-readonly-note{position:absolute;right:14px;bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(21,52,85,.9);color:#fff;font-size:.78rem;font-weight:700}.live-whiteboard footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:#65758a;font-size:.8rem}.live-whiteboard footer span{display:flex;align-items:center;gap:7px}.live-whiteboard footer i{width:12px;height:12px;border-radius:50%;background:var(--board-colour)}@media(max-width:680px){.whiteboard-toolbar{align-items:stretch;flex-direction:column}.whiteboard-tools,.whiteboard-colours,.whiteboard-history{justify-content:center}.whiteboard-stage canvas{height:55vh;min-height:360px}.live-whiteboard footer{align-items:flex-start;flex-direction:column}}
.whiteboard-sync-state.is-live{background:#dff7ed;color:#087154}.whiteboard-sync-state.is-error{background:#fff0ee;color:#b33a32}
.whiteboard-participants{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.whiteboard-toolbox{margin:0 0 12px;border:1px solid #dbe5e0;border-radius:14px;background:#fbfdfc}.whiteboard-toolbox summary{padding:12px 14px;color:#153455;font-weight:800;cursor:pointer}.whiteboard-toolbox-grid{display:grid;grid-template-columns:1.1fr .8fr 1.5fr;gap:10px;padding:0 12px 10px}.whiteboard-toolbox fieldset{min-width:0;margin:0;padding:9px;border:1px solid #e2e9e6;border-radius:12px}.whiteboard-toolbox legend{padding:0 6px;color:#607286;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.whiteboard-toolbox fieldset>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.whiteboard-toolbox button{min-height:34px;padding:7px 10px;border:1px solid #d6dfdb;border-radius:9px;background:#fff;color:#153455;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.whiteboard-toolbox button:hover{border-color:#80b9a5}.whiteboard-toolbox button.active{border-color:#168a68;background:#e9f8f2;color:#087154;box-shadow:0 0 0 2px #d7eee6}.whiteboard-toolbox>small{display:block;padding:0 14px 12px;color:#65758a}@media(max-width:900px){.whiteboard-toolbox-grid{grid-template-columns:1fr}}@media(max-width:520px){.whiteboard-toolbox button{flex:1 1 calc(50% - 7px)}.whiteboard-toolbox summary{min-height:44px}}
.live-whiteboard[data-active-tool="move"] .whiteboard-stage canvas{cursor:grab}.live-whiteboard.is-moving .whiteboard-stage canvas{cursor:grabbing}
.live-whiteboard[data-active-tool="text"] .whiteboard-stage canvas{cursor:text}.whiteboard-text-editor{position:absolute;z-index:4;min-width:180px;max-width:55%;transform:translateY(-50%);padding:8px 10px;border:2px solid #168a68;border-radius:9px;background:#fff;color:#153455;font:600 1rem Inter,Arial,sans-serif;box-shadow:0 8px 24px rgba(21,52,85,.18);outline:none}.live-whiteboard .panel-title small{display:block;margin-top:5px;color:#65758a}.whiteboard-history [data-board-action="clear-student"]{letter-spacing:-.06em}
.whiteboard-history [data-board-action="duplicate"]{color:#087154}.whiteboard-history [data-board-action="delete-selection"]{color:#b33a32}
.whiteboard-icon-button{width:42px!important;min-width:42px!important;height:40px!important;min-height:40px!important;padding:0!important;display:inline-grid!important;place-items:center;font-size:1.22rem!important;line-height:1!important}.whiteboard-toolbox .whiteboard-icon-button{width:42px!important;flex:0 0 42px}.whiteboard-toolbox .whiteboard-icon-button span{display:block;max-width:36px;overflow:hidden;white-space:nowrap;font-size:1.18rem}.whiteboard-history .whiteboard-icon-button{font-size:1.35rem!important}@media(max-width:520px){.whiteboard-toolbox .whiteboard-icon-button{flex:0 0 42px!important}}
.whiteboard-number-tools{grid-column:1/-1}.whiteboard-number-tools .whiteboard-icon-button{width:48px!important;flex-basis:48px}.whiteboard-tools [data-board-action="snap"].active{border-color:#168a68;background:#e9f8f2;color:#087154;box-shadow:0 0 0 2px #d7eee6}
.mobile-game-focus-card{max-width:680px;margin:8vh auto;padding:clamp(28px,8vw,56px);text-align:center}.mobile-game-focus-icon{display:grid;width:78px;height:78px;margin:0 auto 18px;place-items:center;border-radius:24px;background:#e9f8f2;font-size:2.25rem}.mobile-game-focus-card h2{margin:6px 0 12px;font:800 clamp(1.6rem,7vw,2.3rem)/1.15 "Segoe UI",Arial,sans-serif}.mobile-game-focus-card>p:not(.eyebrow){max-width:560px;margin:0 auto 24px;color:#65758a;line-height:1.65}.mobile-game-focus-card .button{margin:auto}@media(max-width:680px){.dashboard-shell.mobile-game-focus .sidebar nav .nav-link:not([data-view="gamearcade"]){display:none!important}.dashboard-shell.mobile-game-focus .sidebar nav{margin-top:22px}.dashboard-shell.mobile-game-focus .dashboard-main{padding-bottom:34px}.dashboard-shell.mobile-game-focus .topbar{align-items:flex-start}.dashboard-shell.mobile-game-focus .top-actions .ist-clock{display:none}}

/* Live class desktop workspace: compact navigation plus a question/board split view. */
.live-sidebar-toggle{display:none;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;cursor:pointer;font:800 1.3rem/1 "DM Sans",sans-serif}
.live-split-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:34px}.live-split-controls>span{margin-right:3px;color:#65758a;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.live-split-controls button{display:grid;width:34px;height:32px;place-items:center;border:1px solid #dbe5e0;border-radius:9px;background:#fff;color:#607286;cursor:pointer;font-size:1.1rem}.live-split-controls button:hover,.live-split-controls button.active{border-color:#168a68;background:#e9f8f2;color:#087154}.live-question-pane,.live-workspace-pane{min-width:0;min-height:0}
@media(min-width:1100px){
  body.live-class-page{height:100vh;overflow:hidden}
  .dashboard-shell.live-class-mode{grid-template-columns:72px minmax(0,1fr)}
  .dashboard-shell.live-class-mode.live-sidebar-expanded{grid-template-columns:245px minmax(0,1fr)}
  .live-class-mode>.sidebar{padding:20px 10px;transition:padding .18s ease}
  .live-class-mode>.sidebar .live-sidebar-toggle{display:grid;width:38px;height:34px;margin:14px auto 0;place-items:center}
  .live-class-mode>.sidebar nav{margin-top:20px}
  .live-class-mode:not(.live-sidebar-expanded)>.sidebar .logo{justify-content:center}
  .live-class-mode:not(.live-sidebar-expanded)>.sidebar .logo span:last-child{display:none}
  .live-class-mode:not(.live-sidebar-expanded)>.sidebar .nav-link{grid-template-columns:1fr!important;justify-items:center!important;padding:11px 7px!important}
  .live-class-mode:not(.live-sidebar-expanded)>.sidebar .nav-link>.nav-label{width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;font-size:0!important}
  .live-class-mode:not(.live-sidebar-expanded)>.sidebar .logout{justify-content:center;font-size:0}
  .live-class-mode:not(.live-sidebar-expanded)>.sidebar .logout::before{content:'↪';font-size:1.2rem}
  .live-class-mode.live-sidebar-expanded>.sidebar{padding:24px 18px}
  .live-class-mode.live-sidebar-expanded>.sidebar .live-sidebar-toggle{margin-left:auto;margin-right:0}
  .live-class-mode>.dashboard-main{padding:12px 18px 8px}
  .live-class-mode:not(.live-split-mode)>.dashboard-main{height:100vh;min-height:0;overflow-y:auto;overscroll-behavior:contain}
  .live-split-mode>.dashboard-main{display:flex;height:100vh;min-height:0;flex-direction:column;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
  .live-class-mode .topbar{flex:0 0 auto;margin-bottom:10px}
  .live-class-mode .topbar .eyebrow{margin-bottom:3px}
  .live-class-mode .topbar h1{font-size:25px}
  .live-split-mode #content{display:flex;width:100%;min-height:0;flex:0 0 auto;flex-direction:column;overflow:visible}
  .live-class-mode .live-class-head,.live-class-mode .student-live-practice-head{flex:0 0 auto;margin-bottom:8px;padding:12px 16px}
  .live-class-mode .live-class-head h2,.live-class-mode .student-live-practice-head h2{margin:2px 0;font-size:20px}
  .live-class-mode .live-class-head p:not(.eyebrow),.live-class-mode .student-live-practice-head small{font-size:.82rem}
  .live-class-mode .live-student-tabs,.live-class-mode .live-global-doubt,.live-class-mode>.dashboard-main #content>.last-ten-reminder{flex:0 0 auto;margin-bottom:8px}
  .live-split-workspace{position:relative;display:grid;width:100%;height:auto;min-height:700px;flex:0 0 auto;grid-template-columns:minmax(500px,1.2fr) minmax(400px,.8fr);grid-template-rows:34px minmax(640px,auto);gap:6px 14px}
  .live-split-controls{grid-column:1/-1;grid-row:1}
  .live-question-pane{grid-column:1;grid-row:2;overflow:visible}
  .live-workspace-pane{grid-column:2;grid-row:2;overflow:hidden}
  .live-question-pane>.live-selected-student,.live-question-pane>.inline-sheet-shell{height:100%;max-width:none;margin:0}
  .live-question-pane .live-student-card{display:flex;min-height:100%;flex-direction:column;padding:16px}
  .live-question-pane .live-student-card>header{padding-bottom:10px}
  .live-question-pane .live-student-card .live-question-card{padding:16px}
  .live-question-pane .teacher-live-player h2{font-size:clamp(1.35rem,2vw,2rem)}
  .live-question-pane .live-actions-only{margin-top:auto;padding-top:10px}
  .live-question-pane>.inline-sheet-shell>.focus-sheet{min-height:100%;padding:16px}
  .live-question-pane .focus-top{margin-bottom:12px}
  .live-question-pane .focus-question{margin-top:12px}
  .live-question-pane .focus-question h2{font-size:clamp(1.35rem,2vw,2rem)}
  .live-question-pane .focus-footer{position:sticky;bottom:0;padding-top:10px;background:#fff}
  .live-workspace-pane>.live-whiteboard{display:flex;height:100%;min-height:0;flex-direction:column;margin:0;padding:14px}
  .live-workspace-pane .live-whiteboard>.panel-title{flex:0 0 auto;margin-bottom:5px}
  .live-workspace-pane .live-whiteboard>.panel-title h2{font-size:21px}
  .live-workspace-pane .live-whiteboard>.panel-title .eyebrow,.live-workspace-pane .live-whiteboard>.panel-title small{font-size:.72rem}
  .live-workspace-pane .whiteboard-toolbar{flex:0 0 auto;margin:6px 0;padding:7px}
  .live-workspace-pane .whiteboard-toolbox{flex:0 0 auto;margin-bottom:7px}
  .live-workspace-pane .whiteboard-toolbox summary{padding:8px 12px}
  .live-workspace-pane .whiteboard-stage{min-height:0;flex:1 1 auto}
  .live-workspace-pane .whiteboard-stage canvas{height:100%;min-height:300px}
  .live-workspace-pane .live-whiteboard footer{flex:0 0 auto;margin-top:6px}
  .live-focus-question .live-split-workspace,.live-focus-workspace .live-split-workspace{grid-template-columns:minmax(0,1fr)}
  .live-focus-question .live-workspace-pane,.live-focus-workspace .live-question-pane{display:none}
  .live-focus-question .live-question-pane,.live-focus-workspace .live-workspace-pane{grid-column:1}
}
@media(min-width:1100px) and (max-width:1240px){.live-split-workspace{grid-template-columns:minmax(410px,1fr) minmax(390px,1fr)}.live-workspace-pane .whiteboard-status{gap:4px}.live-workspace-pane .whiteboard-toolbar{gap:5px}.live-workspace-pane .whiteboard-icon-button{width:36px!important;min-width:36px!important}}
@media(max-width:1099px){.live-sidebar-toggle{display:none!important}.live-split-workspace{display:flex;flex-direction:column;gap:12px}.live-split-controls{position:sticky;top:0;z-index:4;padding:5px;background:rgba(248,249,246,.96)}.live-question-pane,.live-workspace-pane{display:block!important}.live-question-pane>.live-selected-student,.live-question-pane>.inline-sheet-shell{max-width:none;margin:0}.live-workspace-pane>.live-whiteboard{margin-top:0}}

/* Student Overview: all active Math and Coding chapters in two scannable lanes. */
.overview-active-chapters{margin:24px 0 30px}.overview-subject-lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.overview-subject-lane{min-width:0;padding:18px;border:1px solid #dfe8e4;border-radius:22px;background:linear-gradient(145deg,#f7fbf9,#fff)}.overview-subject-lane.coding{border-color:#e3def3;background:linear-gradient(145deg,#faf8ff,#fff)}.overview-subject-lane>header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.overview-subject-lane>header>span{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:13px;background:#daf4e9;color:#08755a;font-weight:900}.overview-subject-lane.coding>header>span{background:#eee9ff;color:#5744a7}.overview-subject-lane>header small{color:#718194;font-size:.68rem;font-weight:900;letter-spacing:.1em}.overview-subject-lane>header h3{margin:3px 0 0;color:#16304f;font-size:1rem}.overview-active-chapter-list{display:grid;gap:10px}.overview-active-chapter{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid #e0e8e4;border-radius:16px;background:#fff;box-shadow:0 7px 18px rgba(22,48,79,.045)}.overview-active-chapter.coding{border-color:#e4e0ef}.overview-active-chapter>.overview-subject-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#e6f8f1;color:#08755a;font-weight:900}.overview-active-chapter.coding>.overview-subject-icon{background:#f0ecff;color:#5d49ae;font-size:.72rem}.overview-active-chapter h3{margin:3px 0;color:#16304f;font-size:.96rem}.overview-active-chapter small{color:#718194;font-size:.62rem;font-weight:900;letter-spacing:.07em}.overview-active-chapter p{margin:0 0 8px;color:#65768a;font-size:.76rem;line-height:1.35}.overview-active-chapter .table-progress{height:5px}.overview-active-chapter .outline-button{white-space:nowrap}.overview-chapter-empty{padding:20px;border:1px dashed #cdd9d4;border-radius:15px;color:#718194;text-align:center;font-size:.8rem}.overview-subject-lane.coding .overview-chapter-empty{border-color:#d8d1ea}@media(max-width:1180px){.overview-subject-lanes{grid-template-columns:1fr}}@media(max-width:700px){.overview-active-chapter{grid-template-columns:38px minmax(0,1fr)}.overview-active-chapter>.outline-button{grid-column:1/-1;width:100%}.overview-active-chapters>.today-work-head>span{display:none}}

/* Student Overview: one playful, horizontally scrollable active-chapter banner. */
.overview-active-chapters{position:relative;overflow:hidden;padding:22px;border:1px solid #dce9e4;border-radius:26px;background:radial-gradient(circle at 8% 5%,rgba(41,195,145,.14),transparent 25%),radial-gradient(circle at 94% 12%,rgba(112,88,230,.14),transparent 25%),linear-gradient(135deg,#f8fffc 0%,#fbfaff 100%);box-shadow:0 14px 34px rgba(24,58,87,.07)}
.overview-carousel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:17px}.overview-carousel-head h2{margin:3px 0;color:#102d51}.overview-carousel-head small{color:#66798f}.overview-carousel-tools{display:flex;align-items:center;gap:14px}.overview-subject-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.overview-subject-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;font-size:.76rem;font-weight:800;white-space:nowrap}.overview-subject-chip b{display:grid;width:23px;height:23px;place-items:center;border-radius:8px}.overview-subject-chip.math{background:#e2f8ef;color:#08755a}.overview-subject-chip.math b{background:#c9f0e1}.overview-subject-chip.coding{background:#eee9ff;color:#5b45b0}.overview-subject-chip.coding b{background:#ded5ff;font-size:.63rem}.overview-carousel-controls{display:flex;gap:7px}.overview-carousel-controls button{display:grid;width:40px;height:40px;padding:0;place-items:center;border:1px solid #d8e3df;border-radius:13px;background:rgba(255,255,255,.9);color:#16304f;font-size:1.2rem;font-weight:900;cursor:pointer;box-shadow:0 5px 12px rgba(22,48,79,.06);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.overview-carousel-controls button:hover{transform:translateY(-2px);background:#fff;box-shadow:0 8px 16px rgba(22,48,79,.12)}
.overview-chapter-rail{display:grid;grid-auto-columns:clamp(310px,31vw,390px);grid-auto-flow:column;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;padding:3px 2px 12px;scroll-behavior:smooth;scroll-snap-type:inline mandatory;scrollbar-width:thin;scrollbar-color:#b8c9c2 transparent}.overview-chapter-rail::-webkit-scrollbar{height:8px}.overview-chapter-rail::-webkit-scrollbar-track{background:rgba(226,235,231,.72);border-radius:999px}.overview-chapter-rail::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#31b98d,#7861dd);border-radius:999px}.overview-chapter-rail:focus-visible{outline:3px solid rgba(42,177,137,.3);outline-offset:5px;border-radius:15px}
.overview-chapter-rail .overview-active-chapter{min-height:145px;scroll-snap-align:start;border-width:1px;border-top:4px solid #25b787;border-radius:20px;background:linear-gradient(145deg,#fff 30%,#effbf6);box-shadow:0 9px 22px rgba(22,48,79,.08);transition:transform .18s ease,box-shadow .18s ease}.overview-chapter-rail .overview-active-chapter.coding{border-top-color:#745de0;background:linear-gradient(145deg,#fff 30%,#f4f0ff)}.overview-chapter-rail .overview-active-chapter:hover{transform:translateY(-3px);box-shadow:0 13px 27px rgba(22,48,79,.13)}.overview-chapter-rail .overview-active-chapter h3{font-size:1.04rem}.overview-chapter-rail .overview-active-chapter .outline-button{border-radius:12px;background:rgba(255,255,255,.82)}.overview-chapter-rail .overview-chapter-empty{grid-column:span 2;min-height:110px;display:grid;place-items:center;background:rgba(255,255,255,.7)}.overview-carousel-hint{margin:6px 0 0;color:#748599;font-size:.7rem;text-align:right}
.overview-subject-tabs{display:flex;gap:7px;padding:5px;border:1px solid #dde7e3;border-radius:16px;background:rgba(255,255,255,.72);box-shadow:inset 0 1px 2px rgba(22,48,79,.04)}.overview-subject-tab{display:flex;align-items:center;gap:7px;min-height:40px;padding:6px 10px;border:0;border-radius:12px;background:transparent;color:#687b8e;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.overview-subject-tab b{display:grid;width:25px;height:25px;place-items:center;border-radius:8px;background:#edf3f1;color:#61756d}.overview-subject-tab i{display:grid;min-width:22px;height:22px;padding:0 5px;place-items:center;border-radius:999px;background:#eef2f1;color:#61756d;font-size:.68rem;font-style:normal}.overview-subject-tab.math.active{background:#dcf6ec;color:#08755a;box-shadow:0 4px 10px rgba(19,142,105,.12)}.overview-subject-tab.math.active b,.overview-subject-tab.math.active i{background:#c6eedf;color:#076d54}.overview-subject-tab.coding.active{background:#ece7ff;color:#5843ad;box-shadow:0 4px 10px rgba(101,78,198,.12)}.overview-subject-tab.coding.active b,.overview-subject-tab.coding.active i{background:#dcd3ff;color:#503ba6}.overview-active-chapters[data-active-subject="math"] .overview-chapter-rail>.coding,.overview-active-chapters[data-active-subject="coding"] .overview-chapter-rail>.math{display:none}
@media(max-width:800px){.overview-active-chapters{padding:17px}.overview-carousel-head{align-items:flex-start;flex-direction:column}.overview-carousel-tools{width:100%;justify-content:space-between}.overview-subject-chips{justify-content:flex-start}.overview-chapter-rail{grid-auto-columns:min(84vw,340px)}.overview-carousel-hint{text-align:left}}

/* Student curriculum: prioritize available work and tuck locked pathways away. */
.student-curriculum-head.compact-curriculum-head{min-height:0;padding:20px 24px;margin-bottom:22px}.student-curriculum-head.compact-curriculum-head h2{font-size:25px}.student-curriculum-head.compact-curriculum-head p{max-width:760px}.student-curriculum-head.compact-curriculum-head.math{background:linear-gradient(135deg,#08785f,#24ad86)}.student-curriculum-head.compact-curriculum-head.coding{background:linear-gradient(135deg,#3d2d91,#6558e8)}
.grade-catalog-section>.student-chapter-grid,.coding-default-curriculum>.student-chapter-grid{margin-bottom:12px}.curriculum-available-empty{grid-column:1/-1;padding:28px;border:1px dashed #cfdad6;border-radius:17px;background:#fbfdfc;color:#718194;text-align:center}.curriculum-locked-disclosure{margin-top:22px;border:1px solid #dfe5e3;border-radius:20px;background:#f8faf9}.curriculum-locked-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;list-style:none;cursor:pointer;user-select:none}.curriculum-locked-disclosure>summary::-webkit-details-marker{display:none}.curriculum-locked-disclosure>summary span{display:grid;gap:3px}.curriculum-locked-disclosure>summary b{color:#28425d;font-size:1rem}.curriculum-locked-disclosure>summary small{color:#7a8998;font-size:.75rem}.curriculum-locked-disclosure>summary i{padding:7px 11px;border-radius:999px;background:#fff;color:#52677c;font-size:.72rem;font-style:normal;font-weight:800;box-shadow:0 3px 9px rgba(22,48,79,.06)}.curriculum-locked-disclosure[open]>summary{border-bottom:1px solid #e1e7e5}.curriculum-locked-grid{padding:15px}.curriculum-locked-grid article{min-height:112px;background:#fff}.curriculum-locked-disclosure.coding{border-color:#e4e0ee;background:#faf9fd}.curriculum-locked-disclosure.math{border-color:#dce9e4;background:#f7fbf9}
.curriculum-action{display:inline-flex!important;min-width:106px!important;min-height:42px;align-items:center;justify-content:center;gap:9px;padding:9px 15px!important;border:0!important;border-radius:13px!important;color:#fff!important;font-weight:850!important;letter-spacing:.01em;box-shadow:0 7px 15px rgba(20,74,61,.14)!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important}.curriculum-action::after{content:'→';font-size:1rem;line-height:1;transition:transform .18s ease}.curriculum-action:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 10px 20px rgba(20,74,61,.2)!important}.curriculum-action:hover::after{transform:translateX(3px)}.grade-catalog-section .curriculum-action,.assigned-chapter-section .curriculum-action,.ahead-topics .curriculum-action{background:linear-gradient(135deg,#087a60,#20ad84)!important}.coding-default-curriculum .curriculum-action,.coding-unlocked-section .curriculum-action{background:linear-gradient(135deg,#4b369e,#705be2)!important;box-shadow:0 7px 15px rgba(76,55,159,.17)!important}.curriculum-action.review{background:#fff!important;color:#365169!important;box-shadow:inset 0 0 0 1px #cad8d3,0 6px 13px rgba(22,48,79,.08)!important}
@media(max-width:650px){.student-curriculum-head.compact-curriculum-head{padding:18px}.curriculum-locked-disclosure>summary{align-items:flex-start;flex-direction:column}.curriculum-locked-grid{padding:10px}}

/* Sheet-level teacher access and student reattempt states. */
.teacher-profile-sheet-list article,.teacher-profile-coding-list article{overflow:visible}.sheet-access-menu{position:relative}.sheet-access-menu>summary{display:grid;place-items:center;list-style:none;cursor:pointer}.sheet-access-menu>summary::-webkit-details-marker{display:none}.sheet-access-menu[open]>summary{background:#eef7f3;color:#08785f}.sheet-access-menu>div{position:absolute;right:0;top:calc(100% + 7px);z-index:15;display:grid;min-width:176px;padding:7px;border:1px solid #dbe5e1;border-radius:12px;background:#fff;box-shadow:0 14px 30px rgba(22,48,79,.16)}.sheet-access-menu>div button{padding:10px 11px;border:0;border-radius:8px;background:transparent;color:#243d58;font:inherit;font-size:.78rem;font-weight:800;text-align:left;cursor:pointer}.sheet-access-menu>div button:hover{background:#edf8f4;color:#08785f}.teacher-profile-sheet-list article,.teacher-profile-coding-list article{grid-template-columns:auto minmax(0,1fr) auto auto auto}.chapter-sheet-sequence article.reattempt-required{border-color:#efb66a;background:#fffaf2}.chapter-sheet-sequence article.reattempt-required>b{color:#9a5a00}.sheet-result.reattempt-required .result-ring{box-shadow:0 0 0 10px #fff4df}.result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}
@media(max-width:680px){.teacher-profile-sheet-list article,.teacher-profile-coding-list article{grid-template-columns:auto minmax(0,1fr) auto}.teacher-profile-sheet-list article>b,.teacher-profile-sheet-list article>.outline-button,.teacher-profile-coding-list article>a{grid-column:2}.sheet-access-menu{grid-column:3;grid-row:1}.sheet-access-menu>div{right:0}}

/* Chapter tests and preserved grade history. */
.access-control-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.exam-builder-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px}.exam-test-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.exam-test-summary span{display:grid;gap:2px;padding:13px;border:1px solid #dce7e3;border-radius:13px;background:#f7fbf9;color:#60758a;font-size:.76rem}.exam-test-summary b{color:#123653;font-size:1.15rem}.exam-test-preview{display:grid;gap:10px;max-height:430px;overflow:auto;padding-right:4px}.exam-test-preview>article{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:14px;border:1px solid #e0e8e5;border-radius:14px;background:#fff}.exam-test-preview>article>span{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:#e5f7f0;color:#08785f;font-weight:900}.exam-test-preview small{color:#60758a;font-weight:850}.exam-test-preview p{margin:8px 0 0;color:#1d3854;line-height:1.45}.exam-test-row{border-color:#a99ae9!important;background:#faf8ff!important}.exam-test-row>span{background:#eee9ff!important;color:#5b45b0!important}.grade-promotion-notice{grid-column:1/-1;display:grid;gap:3px;padding:12px 14px;border:1px solid #dce7e3;border-radius:13px;background:#f7fbf9;color:#65778a;font-size:.78rem}.grade-promotion-notice b{color:#183c58}.grade-promotion-notice.promotion{border-color:#a8ddca;background:#edfaf5}.grade-promotion-notice.promotion b{color:#08785f}.student-grade-switcher{display:flex!important;align-items:center;gap:9px;margin-left:auto;padding:8px 10px;border:1px solid rgba(255,255,255,.35);border-radius:13px;background:rgba(255,255,255,.13);color:inherit}.student-grade-switcher span{font-size:.68rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.student-grade-switcher select{min-width:180px;padding:8px 30px 8px 10px;border:0;border-radius:9px;background:#fff;color:#173653;font:inherit;font-size:.78rem;font-weight:800}.today-work-head>.student-grade-switcher{border-color:#dce7e3;background:#f7fbf9;color:#173653}
@media(max-width:680px){.access-control-actions,.exam-builder-controls{display:grid;grid-template-columns:1fr}.access-control-actions button{width:100%}.exam-test-summary{grid-template-columns:1fr}.student-grade-switcher{width:100%;margin:10px 0 0}.student-grade-switcher select{flex:1;min-width:0}}
/* Grade 7/9 curriculum reconciliation */
.aligned-catalog-note{display:flex;gap:12px;align-items:center;margin:14px 0 18px;padding:13px 16px;border:1px solid #b8e7d8;border-radius:16px;background:#effbf6;color:#315b52}
.aligned-catalog-note b{color:#087c64;white-space:nowrap}
.aligned-curriculum-card.extension{background:linear-gradient(135deg,#fffdf7,#f7f4ff);border-color:#e8dcbd}
.aligned-extension-section{margin-top:30px;padding-top:24px;border-top:1px solid #e6e1d8}
.aligned-tier-choice{display:flex;flex-wrap:wrap;gap:10px 18px;margin:18px 0;padding:14px 16px;border:1px solid #dce5e1;border-radius:14px}
.aligned-tier-choice legend{padding:0 6px;font-weight:800;color:#173b59}
.aligned-tier-choice label{display:flex;align-items:center;gap:8px;margin:0;font-weight:700}
.btn-concept-action{margin-left:6px}
@media(max-width:760px){.aligned-catalog-note{align-items:flex-start;flex-direction:column}.aligned-tier-choice{display:grid}}
