/* Accepted review: layout, navigation and feedback; existing visual identity retained. */
.manager-list{gap:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--paper)}.manager-row{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.manager-row:last-child{border-bottom:0}.class-overview .class-actions button{display:flex;gap:8px;align-items:center}.bulk-actions{display:flex;gap:8px;flex-wrap:wrap}.bulk-actions[hidden]{display:none}
.teacher-shell main{margin:0 auto;flex:1}.code-help p{margin-top:10px}#modal-body label:not(.list-check){display:block;font-size:12px;font-weight:600;margin:14px 0 7px}#modal-body input:not([type=checkbox]):not([type=radio]),#modal-body select,#modal-body textarea{width:100%;min-width:0;max-width:100%;padding:11px 13px;border:1px solid #ccd6bf;background:#fffefa;color:var(--ink);border-radius:8px;font:inherit;font-size:14px}#modal-body textarea{resize:vertical;min-height:85px}#modal-body input:focus,#modal-body select:focus,#modal-body textarea:focus{outline:2px solid #b5c59c;outline-offset:2px}.course-edit details{position:relative}.course-edit details[open]{padding:10px 14px;background:#f5f6ef;border:1px solid var(--line);border-radius:8px}.bank-intro+.form-panel{padding:15px 20px}
.lesson-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.lesson-actions>.dark-button{flex:none;white-space:nowrap;min-width:150px;justify-content:center}.course-art,.journey-mark,.practice-symbol,.icon-picker button{direction:ltr;unicode-bidi:isolate}.practice-symbol{text-align:start}.skill-finish{max-width:730px;margin:30px auto;padding:45px 30px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:18px}.finish-score{display:block;font-size:64px;color:#536f36;margin-bottom:24px}.finish-score small{font-size:23px}.skill-finish h1{font-size:29px;line-height:1.7}.skill-finish p{line-height:2;font-size:14px;color:var(--muted)}.skill-finish .action-row{justify-content:center;margin-top:25px}.code-help{font-size:12px;margin:12px 0}.code-help summary{cursor:pointer;color:var(--ink)}button[data-skill]{border:1px solid #ccd7bd;border-radius:8px;padding:10px 14px;background:#f1f5e8;font-size:12px;display:inline-flex;align-items:center;gap:8px}.entry-shell .entry-card input[type=checkbox]{min-height:18px;width:18px}.entry-card .entry-link{box-shadow:none}
.entry-header{display:flex;align-items:center;justify-content:space-between;max-width:1120px;margin:28px auto;padding:0 28px}.entry-header-note{font-size:12px;color:var(--muted)}
.entry-layout{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(35px,7vw,100px);max-width:1080px;margin:clamp(30px,6vh,70px) auto;padding:0 28px}.entry-story{padding:32px 0}.entry-kicker{display:block;color:#63705c;font-size:12px;font-weight:600;margin-bottom:15px}.entry-story h2{font-size:clamp(30px,3.5vw,45px);line-height:1.6;letter-spacing:-1px}.entry-story>p{font-size:14px;line-height:2;color:var(--muted);margin-top:15px;max-width:350px}.entry-code{margin-top:28px;background:#183f35;color:#eff4df;padding:20px 25px;border-radius:15px;max-width:385px;transform:rotate(-2deg);box-shadow:0 15px 30px #173f3510}.entry-code>span{display:block;font:11px Consolas,monospace;direction:ltr;color:#b0c3a5;padding-bottom:12px;border-bottom:1px solid #ffffff20}.entry-code pre{font:15px/2.2 Consolas,monospace;white-space:pre-wrap;unicode-bidi:plaintext;margin-top:10px}.entry-code i{font-style:normal;color:#c8e997}.entry-story-footer{margin-top:27px;font-size:12px;color:var(--muted)}.entry-story-footer b{margin:0 10px;color:#9da98a}
.entry-card{width:100%;max-width:460px;margin:0;padding:32px 0;background:transparent;border:0;border-radius:0;box-shadow:none;min-width:0}.entry-card h1{font-size:30px;line-height:1.6;margin:0 0 10px}.entry-intro{font-size:14px;line-height:1.9;margin:0 0 27px}.entry-back{display:inline-flex;align-items:center;margin-bottom:26px;font-size:12px;color:var(--muted);padding:5px 0}.entry-back:hover,.entry-form-help a:hover{color:var(--ink);text-decoration:underline}.entry-field,.entry-form>p{margin:0 0 19px!important}.entry-card label{font-size:13px;font-weight:600;margin-bottom:9px}.entry-card input,.entry-card select{min-height:49px;line-height:1.5;padding:11px 14px;background:#fffefa;border:1px solid #ced5c6;border-radius:9px;font-size:15px;max-width:100%;box-shadow:0 2px 4px #183f3503}.entry-card select{appearance:auto;line-height:normal;padding-inline-end:35px;direction:rtl;white-space:nowrap}.entry-card select option{font:15px Arial,sans-serif;line-height:normal;color:#193d33;background:#fffefa;padding:10px}.entry-card #id_code{letter-spacing:.13em;text-align:center}.entry-card input:focus,.entry-card select:focus{outline:2px solid #b9c8a5;outline-offset:2px}.entry-card .entry-submit{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;min-height:49px;background:var(--ink);color:var(--paper);font-size:14px;border-radius:9px;margin:22px 0 0}.entry-form-help{text-align:end;font-size:12px;margin-top:-5px}.entry-alternative{border-top:1px solid #dce0d2;margin-top:25px;padding-top:18px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px}.entry-alternative>span{color:var(--muted)}.entry-alternative>a{font-weight:600}.entry-choice{display:flex;align-items:center;gap:16px;background:transparent;border-width:0 0 1px;border-radius:0;padding:21px 0;margin:0}.entry-choice:hover{background:transparent;transform:translateX(-3px)}.entry-choice>span{position:static;flex:none}.entry-choice>span:last-child{margin-inline-start:auto}.entry-choice .entry-path-icon{display:grid;place-items:center;width:45px;height:45px;border:1px solid #ced7c5;border-radius:13px;font-size:22px;background:#f9f9ee}.entry-choice small{max-width:none;margin-top:3px;font-size:12px}.entry-note{font-size:12px;line-height:1.9;color:var(--muted);margin-top:24px}.entry-card .entry-secondary,.entry-card .entry-link{background:transparent;color:var(--ink);padding:11px 0;font-size:12px;text-align:start;font-weight:500}.entry-card .entry-secondary{margin-top:15px}.entry-footer{font-size:12px;margin:25px}.pledge-copy{background:#fffefa;border-inline-start:3px solid #a4b678;padding:20px;line-height:2;font-size:14px;border-radius:8px}.entry-card .errorlist{list-style:none;margin:8px 0;padding:10px;font-size:12px}.entry-card .helptext{display:block;line-height:1.8}
.student-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.student-welcome h1{font-size:32px;margin:2px 0 7px}.student-welcome p:not(.eyebrow){color:var(--muted);font-size:13px}.welcome-score{display:flex;gap:14px;align-items:center;padding:15px 21px;border:1px solid #d9dfcb;border-radius:16px;background:#f8f9ec}.welcome-score>.icon{color:#7a8f42;width:25px;height:25px}.welcome-score strong{display:block;font-size:29px;line-height:1.2}.welcome-score span{font-size:12px;color:var(--muted)}.journey-strip{display:flex;gap:21px;align-items:center;padding:25px 28px;border-radius:17px;background:#e9eadf;border:1px solid #d8dfcb;margin-bottom:35px}.journey-mark{display:grid;place-items:center;width:66px;height:66px;background:#1b4338;color:#d1e7a7;font:24px Consolas,monospace;border-radius:18px;flex:none}.journey-strip h2{font-size:20px;margin:4px 0}.journey-strip p{font-size:12px;color:var(--muted)}.journey-strip>.dark-button{margin-inline-start:auto;flex:none}.course-link{display:flex;width:100%;text-align:start;color:var(--ink);border-radius:0;background:transparent}.course-link:hover{background:#f1f4e8}.course-link:focus-visible{outline:2px solid #788e63;outline-offset:-3px}.course-link .course-title{display:block;font-size:17px;margin-bottom:5px}.course-body>.caption{display:block;line-height:1.8}.course-progress{display:flex;align-items:center;gap:10px;margin-top:11px}.course-progress small{font-size:12px;color:var(--muted)}.course-progress .progress-track{margin:0;width:160px}.course-chevron{display:grid;place-items:center;width:30px;height:30px}.mini-board,.practice-invite{border:1px solid var(--line);background:var(--paper);border-radius:15px;overflow:hidden}.mini-board .panel-top{padding:18px}.mini-board .panel-top h2{font-size:16px;display:flex;gap:8px;align-items:center}.mini-board-row{display:flex;align-items:center;gap:9px;padding:14px 17px;border-top:1px solid #edf0e6;font-size:12px}.mini-board-row .rank-circle{width:25px;height:25px;font-size:12px;flex:none}.mini-board-row>strong{flex:1}.mini-board-row small{font-size:12px}.practice-invite{padding:23px;margin-top:20px;background:#eee9f1}.practice-symbol{font:18px Consolas,monospace;color:#696079;display:block;margin-bottom:14px}.practice-invite h2{font-size:17px}.practice-invite p{font-size:12px;line-height:1.8;color:var(--muted);margin:10px 0 15px}.student-aside{padding-top:0}.student-grid{grid-template-columns:minmax(0,1fr) 285px}
.lesson-actions .save-label{margin-inline-start:auto}.answer-celebration{display:flex;align-items:flex-start;gap:16px;padding:20px;border:1px solid #c8d8b1;border-radius:13px;margin:20px 0;background:#edf4df;animation:feedback-enter .25s ease-out}.answer-celebration.retry{background:#f7efe2;border-color:#e6d7ba}.celebration-mark{display:grid;place-items:center;width:43px;height:43px;background:#fffefa;border-radius:50%;font-size:25px;flex:none}.answer-celebration h2{font-size:20px;line-height:1.6;margin-bottom:6px}.answer-celebration p{font-size:13px;line-height:1.9}.answer-celebration .earned-points strong{font-size:25px;color:#3b6724;margin-inline:5px}.streak-message{font-weight:600;color:#596e30}.revealed-solution{margin:20px 0;border-top:1px solid var(--line);padding-top:18px}.revealed-solution summary{font-size:13px;font-weight:600;cursor:pointer}.hint-inline{margin:16px 0;border-radius:10px;background:#f4f1e4;border:1px solid #e3ddca;padding:12px 16px}.hint-inline button{display:flex;align-items:center;gap:8px;font-size:12px}.hint-inline button:disabled{opacity:.65;cursor:default}.hint-inline p{font-size:13px;line-height:1.8;margin:9px 0 0}.match-board{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);gap:12px;margin:24px 0 14px;align-items:start}.match-column{display:grid;gap:12px}.match-column button{width:100%;text-align:start;padding:16px;border:1px solid #d6dec9;background:#fafbf4;border-radius:11px;min-height:74px;font-size:14px;line-height:1.7}.match-item button[aria-pressed=true]{outline:2px solid #7f9465;background:#f0f5e4}.match-column button:hover{background:#edf2e3}.match-item button.matched{background:#e8efdc;border-color:#a8bc8b}.match-value{display:block;font-size:12px;color:var(--muted);margin-top:5px}.match-bridge{align-self:center;text-align:center;color:#93a180;font-size:24px}.output-answer{min-height:90px;direction:auto}.practice-page{max-width:1000px;margin:auto}.practice-page .run-console{min-height:140px}.practice-note{background:#e9eedf;padding:14px 19px;border-radius:10px;font-size:12px;margin:20px 0}.account-popover{position:absolute;z-index:30;inset-inline-end:0;top:55px;width:245px;padding:15px;background:#fffefa;border:1px solid #d3dbc8;border-radius:13px;box-shadow:0 20px 40px #183c3220}.account-popover>strong,.account-popover>small{display:block;padding:3px 8px}.account-popover>small{font-size:12px;color:var(--muted);margin-bottom:10px}.account-popover button,.account-popover a{display:flex;align-items:center;gap:9px;width:100%;padding:11px 8px;font-size:12px;text-align:start;border-radius:6px}.account-popover button:hover,.account-popover a:hover{background:#eef2e5}.account-popover form{border-top:1px solid var(--line);margin-top:5px;padding-top:5px}.topbar-end{position:relative}.profile-button[aria-expanded=true]{outline:2px solid #b3bf9c}.profile-button{border-radius:50%}
.teacher-shell .side-nav :is(button,a){min-height:43px}.class-overview-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.class-overview{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:23px}.class-overview h2{font-size:18px;margin:7px 0}.class-overview .class-access{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:20px}.class-overview code{font:15px Consolas,monospace;letter-spacing:.08em}.class-overview details{position:relative}.class-overview summary{cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:12px}.class-overview details .class-actions{position:absolute;inset-inline-end:0;top:42px;background:#fffefa;border:1px solid var(--line);border-radius:10px;width:225px;padding:8px;z-index:7;box-shadow:0 12px 25px #173f3514}.class-actions button{display:block;width:100%;font-size:12px;padding:11px;text-align:start;border-radius:6px}.class-actions button:hover{background:#eef2e7}.manager-tools{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.manager-tools .caption{font-size:12px}.manager-tools details{font-size:12px}.manager-tools details button{display:block;margin:10px 0}.manager-row .action-row button{padding:8px 11px;font-size:12px;display:inline-flex;gap:5px;align-items:center}.manager-row .action-row .icon{width:14px;height:14px}.quick-points{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.quick-points button{font:14px Consolas,monospace;min-width:49px;padding:9px 13px;border-radius:8px;background:#eef2e3;border:1px solid #cfdbbb;color:var(--ink)}.quick-points button.negative{background:#f5ebe5;border-color:#e3cfc4}.progress-skill{border:1px solid var(--line);border-radius:11px;padding:16px;margin:13px 0}.progress-skill summary{cursor:pointer;font-size:14px;font-weight:600}.progress-step{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:8px;padding:12px 0;border-bottom:1px solid #eef0e7;align-items:start}.progress-step:last-child{border-bottom:0}.progress-step .step-status{font-size:16px;color:#637a43}.progress-step p{font-size:12px;line-height:1.7}.progress-step small{font-size:12px;color:var(--muted)}.progress-step pre{grid-column:2/-1}.profile-summary{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line)}.profile-summary strong{font-size:31px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.setting-card{padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:13px}.setting-card h2{font-size:18px;margin-bottom:10px}.setting-card p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:16px}.report-question{display:grid;grid-template-columns:1fr auto;gap:12px;padding:20px;border-bottom:1px solid var(--line)}.report-question h3{font-size:14px}.report-question .question-meter{grid-column:1/-1;height:5px;background:#ecefe5;border-radius:5px;overflow:hidden}.question-meter span{display:block;height:100%;background:#9eaf79}.bank-intro{display:flex;gap:18px;align-items:center;background:#e9eadf;border-radius:13px;padding:20px;margin-bottom:22px}.bank-intro h2{font-size:18px;margin-bottom:6px}.bank-intro p{font-size:12px;line-height:1.8;color:var(--muted)}.icon-picker{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.icon-picker button{min-width:48px;height:43px;font:16px Consolas,monospace;border:1px solid var(--line);border-radius:8px}.icon-picker button.active{background:#e7eed8;border-color:#82976a}.course-edit h3{font-size:17px}.course-edit details summary{cursor:pointer;font-size:12px}.course-edit details button{display:block;font-size:12px;padding:8px 0}.course-edit .badge{font-size:12px}
.admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.admin-metrics>button{padding:25px;text-align:start;background:var(--paper);border:1px solid var(--line);border-radius:14px}.admin-metrics>button>span{float:left;color:#849562}.admin-metrics strong{display:block;font-size:39px;margin:8px 0}.admin-metrics small{font-size:12px;color:var(--muted)}.admin-next{background:#e8eadf;padding:30px;border-radius:16px;display:flex;justify-content:space-between;align-items:center;gap:25px;margin:30px 0 20px}.admin-next h2{font-size:23px;margin:8px 0}.admin-next p{font-size:13px;line-height:1.9;max-width:600px;color:var(--muted)}.admin-next button{flex:none}.admin-links{display:flex;gap:12px}.review-list{display:grid;gap:16px}.review-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:13px}.review-card h2{font-size:20px;margin:10px 0}.review-card p{font-size:12px;color:var(--muted)}.review-item{margin:17px 0;padding:15px;border:1px solid var(--line);border-radius:10px}.review-item>summary{cursor:pointer;font-size:14px;font-weight:600}.review-item>.lesson-text{margin:15px 0;font-size:14px}#review-note{width:100%;min-height:75px;border:1px solid var(--line);border-radius:8px;padding:10px}.join-request{padding:18px 0;border-bottom:1px solid var(--line)}.join-request p{font-size:12px;color:var(--muted);margin:5px 0 12px}.join-request .action-row{margin-top:10px}
@keyframes feedback-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.entry-layout{gap:35px}.entry-story h2{font-size:32px}.student-grid{grid-template-columns:minmax(0,1fr) 240px}.teacher-shell .side-nav{overflow-x:auto}.settings-grid{grid-template-columns:1fr}}
@media(max-width:650px){.entry-header{margin:22px 0;padding:0 22px}.entry-header-note{display:none}.entry-layout{display:block;margin:30px auto 20px;padding:0 24px;max-width:480px}.entry-story{display:none}.entry-card{max-width:none;padding:10px 0 20px}.entry-card h1{font-size:28px}.entry-back{margin-bottom:25px}.entry-footer{margin:12px 22px 25px}.entry-card input,.entry-card select{font-size:16px}.entry-choice{padding:21px 0}.entry-alternative{gap:7px}.student-welcome{align-items:flex-start}.student-welcome h1{font-size:27px}.student-welcome p:not(.eyebrow){max-width:220px;font-size:12px;line-height:1.8}.welcome-score{padding:10px 12px;gap:7px;flex:none}.welcome-score strong{font-size:25px}.welcome-score>.icon{width:18px}.journey-strip{padding:21px;gap:13px;flex-wrap:wrap;margin-bottom:25px}.journey-mark{width:46px;height:46px;font-size:20px;border-radius:12px}.journey-strip>div:nth-child(2){flex:1;min-width:180px}.journey-strip h2{font-size:17px}.journey-strip>.dark-button{margin:8px 0 0;width:100%;justify-content:center}.student-grid{grid-template-columns:1fr}.student-aside{display:grid;grid-template-columns:1fr;gap:15px}.practice-invite{margin:0}.course-link{padding:19px 14px}.course-link .course-title{font-size:14px}.course-link .caption{font-size:12px}.course-link .course-art{width:39px;height:45px;font-size:16px}.course-progress .progress-track{width:100px}.course-tail .badge{font-size:12px;max-width:85px}.student-nav{gap:17px}.student-nav :is(button,a){font-size:12px}.match-board{gap:7px;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)}.match-column button{padding:11px;font-size:12px;min-height:82px}.match-bridge{font-size:18px}.answer-celebration{padding:16px;gap:12px}.answer-celebration h2{font-size:17px}.answer-celebration p{font-size:12px}.lesson-actions .save-label{max-width:none;width:100%;margin:0}.class-overview-list,.admin-metrics{grid-template-columns:1fr}.class-overview{padding:20px}.manager-tools{align-items:flex-start;flex-wrap:wrap}.admin-metrics{gap:12px}.admin-metrics>button{padding:19px}.admin-metrics strong{font-size:33px}.admin-next{display:block;padding:23px}.admin-next h2{font-size:20px}.admin-next button{margin-top:20px}.admin-links{flex-direction:column}.review-card{align-items:flex-start;flex-direction:column}.progress-step{grid-template-columns:20px minmax(0,1fr)}.progress-step>small{grid-column:2}.settings-grid{gap:13px}.setting-card{padding:20px}.account-popover{inset-inline-end:0;top:47px;width:235px}.teacher-shell .sidebar .side-nav :is(button,a){white-space:nowrap}}
.question-variations{margin:20px 0;padding:18px;border:1px solid #d9e2ce;border-radius:16px;background:#f3f6ed}.question-variations h3{margin:0 0 8px}.question-variations .action-row{flex-wrap:wrap;gap:8px}.question-variations button{white-space:nowrap}.question-variations .caption{margin-bottom:14px}
.inline-points{padding:15px 0;border-top:1px solid #e1e5d9;width:100%;min-width:0}.group-points{padding:20px;margin:18px 0;background:#eaf0e0;border:1px solid #d6dfca;border-radius:16px}.points-heading{font-weight:700;font-size:13px;margin-bottom:10px}.points-heading small{display:inline-block;font-weight:400;color:#66796d;margin-inline-start:12px;font-size:12px}.points-inputs{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.point-chip{border:1px solid #cfddc5;border-radius:9px;background:#f2f7ea;color:#244c35;min-width:39px;height:34px;font:inherit;font-weight:700;cursor:pointer}.point-chip.negative{background:#fcf2ed;border-color:#ead9cc;color:#8b4b3b}.point-chip.active{outline:2px solid #174d3e;outline-offset:1px}.points-inputs label{display:flex;align-items:center;gap:6px;font-size:12px;margin:0}.points-inputs input{width:85px;height:35px;padding:5px 7px;margin:0;direction:ltr;text-align:center}.points-inputs .secondary{padding:7px 12px;min-height:35px;font-size:12px}.point-note{margin-top:9px;font-size:12px}.point-note input{max-width:440px}.point-status{margin:8px 0 0;min-height:18px}.inline-points button:disabled{opacity:.45;cursor:wait}.inline-points [data-point-apply]:disabled{cursor:not-allowed}@media(max-width:600px){.group-points{padding:15px}.points-heading small{display:block;margin:4px 0}.points-inputs{gap:6px}.point-chip{min-width:37px}.points-inputs label{flex-basis:130px}.individual-points .points-inputs [data-point-apply]{margin-inline-start:0}}
.match-board{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)}.match-column button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:start;min-height:74px;border:2px solid #dce2d3;background:#fafbf6;transition:background .15s,border-color .15s,box-shadow .15s}.match-column button.match-active{border-color:#263d68;box-shadow:0 0 0 3px #dce6fa;background:#f3f6fc}.match-column button.paired{background:var(--pair-bg);border-color:var(--pair-border);color:#263345}.match-column button[data-pair-color="0"]{--pair-bg:#e5edfc;--pair-border:#9aafd7}.match-column button[data-pair-color="1"]{--pair-bg:#eee6f8;--pair-border:#b19bcf}.match-column button[data-pair-color="2"]{--pair-bg:#f8efcf;--pair-border:#cfb86d}.match-column button[data-pair-color="3"]{--pair-bg:#e4e8ed;--pair-border:#9caabb}.match-column button[data-pair-color="4"]{--pair-bg:#e0f1f5;--pair-border:#84b7c4}.match-column button[data-pair-color="5"]{--pair-bg:#f0e5d9;--pair-border:#bfa180}.match-pair-number{display:grid;place-items:center;width:25px;height:25px;flex:none;border-radius:50%;background:#fff9;border:1px solid currentColor;font-size:12px;font-weight:700}.match-pair-number[hidden]{display:none}.match-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.match-tools p{margin:0}.match-column button:disabled{cursor:default;opacity:1}.match-column bdi{overflow-wrap:anywhere}.match-column button.match-active .match-pair-number{background:transparent}@media(max-width:600px){.match-column button{padding:10px 8px;min-height:91px;font-size:12px}.match-pair-number{width:21px;height:21px;font-size:12px}.match-board{gap:4px}.match-tools{align-items:flex-start}}
.preview-launch{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #cdd9bb;border-radius:10px;font-size:12px;color:#174638;text-decoration:none;background:#eff4e5;white-space:nowrap}.student-preview-banner{position:sticky;top:0;z-index:20;display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:13px 25px;background:#f5eccc;border-block:1px solid #d9c990;color:#4b4327}.student-preview-banner strong{font-size:13px}.student-preview-banner small{display:block;font-size:12px;margin-top:4px}.student-preview-banner label{display:flex;align-items:center;gap:7px;font-size:12px;margin:0}.student-preview-banner select{width:180px;margin:0;padding:6px}.student-preview-banner button,.student-preview-banner a{font:inherit;font-size:12px;color:inherit;background:#fff8;border:1px solid #d9c990;border-radius:8px;padding:8px;text-decoration:none;cursor:pointer}@media(max-width:600px){.student-preview-banner{padding:11px 15px;gap:8px}.student-preview-banner>div{width:100%}.student-preview-banner select{width:145px}.topbar-end .preview-launch{font-size:12px;padding:7px}.teacher-shell .topbar{flex-wrap:wrap}}
.preview-entry-note{margin-bottom:23px;padding:13px 16px;border:1px solid #d9c990;background:#f8f0d4;border-radius:12px;font-size:12px}.preview-entry-note p{margin:6px 0;font-size:12px}.preview-entry-note a{color:#5b5031}.demo-pin-help{padding:13px;border:1px dashed #a7b79b;border-radius:10px;background:#f2f6eb;font-size:12px}.demo-pin-help code{display:inline-block;font-size:20px;letter-spacing:3px;padding:0 5px}
.learner-list{container-type:inline-size;border:1px solid #dce3d6;border-radius:18px;background:#fffef9;overflow:visible}.learner-row.manager-row{display:grid;grid-template-columns:20px minmax(140px,1fr) 64px minmax(280px,auto) 74px;align-items:center;column-gap:15px;row-gap:8px;margin:0;padding:16px 18px;border:0;border-bottom:1px solid #e7eade;border-radius:0;background:transparent;transition:background .16s;position:relative}.learner-row:last-child{border-bottom:0}.learner-row:hover{background:#f4f6ed}.learner-row:has([data-select-learner]:checked){background:#eef3e1}.learner-row>[data-select-learner]{width:16px;height:16px;margin:0;accent-color:#214d3d}.learner-person{display:flex;align-items:center;gap:11px;min-width:0}.learner-person>div{min-width:0}.learner-name{font:inherit;font-size:13px;font-weight:700;color:#173f34;padding:0;background:transparent;border:0;text-align:start;cursor:pointer;line-height:1.7}.learner-name:hover{text-decoration:underline}.learner-person p{font-size:12px;color:#778476;margin:3px 0 0;line-height:1.7}.learner-tag{display:inline-block;font-size:12px;padding:0 5px;margin-inline-start:4px;border-radius:5px;background:#eceee3;color:#68755e}.learner-balance{text-align:center;display:flex;flex-direction:column;gap:1px}.learner-balance strong{font-size:22px;font-weight:700;color:#234f3a;line-height:1.3;font-variant-numeric:tabular-nums}.learner-balance small{font-size:12px;color:#7c876f}.learner-row .individual-points{border:0;padding:0;margin:0;min-width:0;width:auto}.learner-row .points-inputs{gap:5px}.learner-row .point-chip{min-width:32px;height:30px;font-size:12px;border-radius:8px}.point-reason-hint{font-size:12px;line-height:1.7;color:#78856f;margin:5px 0 0}.learner-row .point-status{font-size:12px;min-height:0;margin:5px 0 0}.point-status:empty{display:none}.points-options{font-size:12px}.points-options>summary{cursor:pointer;list-style:none;color:#536953;padding:6px 8px;border-radius:8px;background:#f1f3e9;white-space:nowrap}.points-options>summary::-webkit-details-marker{display:none}.points-options[open]{flex:1 0 100%}.points-options[open]>summary{display:inline-block}.points-editor{display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap;margin-top:10px;padding:12px;background:#f4f5ec;border:1px solid #e0e4d5;border-radius:12px}.points-editor label{display:flex;flex-direction:column;align-items:stretch;gap:5px}.points-editor label:has([data-point-note]){flex:1;min-width:150px}.points-editor [data-point-note]{width:100%;direction:rtl;text-align:start}.points-editor .secondary{height:35px}.learner-more{position:relative;align-self:start;margin-top:4px;font-size:12px}.learner-more>summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:5px;color:#65715e;padding:6px;border:1px solid transparent;border-radius:9px;cursor:pointer;white-space:nowrap}.learner-more>summary::-webkit-details-marker{display:none}.learner-more>summary>span{font-size:22px;line-height:14px}.learner-more[open]>summary,.learner-more>summary:hover{border-color:#d8dfcd;background:#f2f5e9}.learner-more[open]{z-index:45}.learner-menu{position:absolute;inset-inline-end:0;top:calc(100% + 6px);width:245px;max-width:75vw;padding:6px;border:1px solid #d9e1cf;border-radius:13px;background:#fffef9;box-shadow:0 14px 40px #213b2621;z-index:50}.learner-menu button{display:block;width:100%;font:inherit;font-size:12px;text-align:start;border:0;background:transparent;padding:10px 12px;border-radius:8px;color:#304c3b;cursor:pointer;line-height:1.7}.learner-menu button:hover,.learner-menu button:focus-visible{background:#edf2e2;outline:0}.learner-row :focus-visible{outline:2px solid #627f51;outline-offset:3px}.overview-learner-count{padding:0 20px 12px;margin:8px 0}.panel>.learner-list{border-inline:0;border-radius:0}.roster-filter-label{display:flex;align-items:center;gap:8px;font-size:12px;margin:0}.roster-filter-label select{width:190px;margin:0}.roster-count{margin:14px 0}.group-points .point-reason-hint{font-size:12px}@container(max-width:790px){.learner-row.manager-row{grid-template-columns:18px minmax(0,1fr) 48px 65px;column-gap:9px;padding:14px 13px}.learner-row .learner-person{grid-column:2;grid-row:1}.learner-row .learner-balance{grid-column:3;grid-row:1}.learner-row .learner-more{grid-column:4;grid-row:1}.learner-row .individual-points{grid-column:2/-1;grid-row:2}.learner-person .avatar{width:31px;height:31px;flex:none}.learner-person{gap:8px}.learner-name{font-size:12px}.learner-balance strong{font-size:20px}.learner-row .point-chip{min-width:34px}.learner-row .points-options>summary{padding:7px}.points-editor{padding:10px}.points-editor label{flex-basis:auto}.learner-menu{width:235px}}@media(max-width:600px){.roster-filter-label{width:100%}.roster-filter-label select{flex:1;width:auto}.learner-list{border-radius:14px}.learner-row .points-inputs label{flex-basis:auto}.learner-row .points-editor label:has([data-point-note]){flex-basis:100%}.learner-person .avatar{display:none}.learner-row .point-reason-hint{font-size:12px}.group-points{margin:15px 0}.points-options>summary{font-size:12px}}@media(prefers-reduced-motion:reduce){.learner-row.manager-row{transition:none}}
.roster-filter-label select{min-height:38px;background:#fffef9;color:#244c3b;border:1px solid #d8e0cd;border-radius:9px;padding:7px 10px;font:inherit}@media(max-width:600px){.page-heading:has(+ #roster-search){display:block;margin-bottom:14px}.page-heading:has(+ #roster-search) h1{font-size:24px;margin:0;line-height:1.5}.page-heading:has(+ #roster-search) .eyebrow{margin:0 0 3px}.page-heading:has(+ #roster-search)>.action-row{display:flex;width:100%;gap:8px;margin:10px 0 0;flex-wrap:nowrap}.page-heading:has(+ #roster-search)>.action-row>button{flex:1;justify-content:center;white-space:nowrap;font-size:12px;padding:8px;min-height:36px}#roster-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0}#roster-search>.roster-filter-label,#roster-search>.bulk-actions{grid-column:1/-1}#roster-search>.search-field{width:auto;min-width:0;margin:0}#roster-search>.secondary{padding:8px 14px;min-height:38px}#roster-search .roster-filter-label select{min-height:36px}.group-points{padding:12px 14px;margin:12px 0}.group-points .points-heading{margin-bottom:7px}.group-points .points-heading small{display:inline;margin:0 6px 0 0;font-size:12px}.group-points .points-inputs{gap:5px}.group-points .point-note{margin-top:6px;font-size:12px}.group-points .point-reason-hint{font-size:12px;margin-top:4px}.group-points .point-status{font-size:12px;line-height:1.5;margin:5px 0 0;min-height:15px}.roster-count{margin:10px 0}}
#content[aria-busy="true"] .learner-list{opacity:.55;pointer-events:none}#content[aria-busy="true"] .group-points{opacity:.7;pointer-events:none}
/* Keep transient notices above native modal dialogs without taking focus. */
.toast[popover]{inset-block-start:auto;inset-inline-end:auto;margin:0;border:0;width:max-content;pointer-events:none}

/* Separate the inline terminal input from its prompt. */
.run-console #console-input{margin-inline-start:10px}

/* Space the input rectangle itself; never alter terminal text. */
.run-console #python-input{margin-left:12px;margin-right:12px}
.run-console #console-input{margin-inline-start:0}

.skill-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.skill-more{position:relative}.skill-more>summary{list-style:none;cursor:pointer;font-size:25px;line-height:1;padding:8px 12px;border:1px solid #d9e1d2;border-radius:10px;background:#f7f8f0}.skill-more>summary::-webkit-details-marker{display:none}.skill-more[open]{z-index:40}.skill-action-menu{position:absolute;inset-inline-end:0;top:calc(100% + 7px);min-width:180px;padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:40}.skill-action-menu button{display:block;width:100%;text-align:start;padding:10px;border-radius:8px;font-size:12px}.skill-action-menu button:hover{background:#edf1e5}.publication-settings{border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:20px}.publication-settings>summary{cursor:pointer;font-weight:600}.bonus-setting{padding:12px 0;border-bottom:1px solid var(--line)}.bonus-setting>label:not(.list-check){display:inline-flex;flex-direction:column;gap:4px;margin-inline-end:12px;font-size:12px}.bonus-setting input[type=number]{max-width:130px}.publish-audience{margin-bottom:18px}.publish-progress{border:1px solid var(--line);border-radius:12px;margin:15px 0;padding:14px}.publish-progress label{display:flex;gap:9px;align-items:start;line-height:1.8}.publish-progress input{width:auto;margin-top:6px}.publish-progress small{color:var(--muted)}

@media(max-width:600px){.skill-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.skill-section-heading h2{grid-column:1/-1;order:1;font-size:21px}.skill-section-heading>.caption{display:none}.skill-section-heading #new-skill{order:2}.skill-section-heading #toggle-archived{order:3}.skill-section-heading>button{width:100%;justify-content:center}}

.admin-tabs{display:flex;gap:6px;padding:5px;background:#e8ecdf;border-radius:13px;margin:8px 0 22px;width:max-content;max-width:100%}.admin-tabs button{padding:10px 20px;border-radius:10px;font-size:13px;color:#64735e}.admin-tabs button.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 8px #23463110;font-weight:600}.directory-tools{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:20px}.directory-tools .search-field{flex:1;min-width:180px}.directory-tools>label:not(.search-field){display:flex;gap:8px;align-items:center;font-size:12px}.directory-tools select{min-width:160px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.directory-list{display:grid;gap:10px}.directory-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:16px}.directory-person{min-width:0}.directory-person h2,.directory-name{font-size:15px;font-weight:600}.directory-person>p{font-size:12px;color:var(--muted);margin:3px 0;overflow-wrap:anywhere;text-align:start}.directory-person>p[dir=ltr]{text-align:right}.directory-name{padding:0;cursor:pointer;text-align:start}.directory-name:hover{text-decoration:underline}.directory-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.directory-actions button{font-size:12px;min-height:36px;padding:8px 12px}.directory-actions .danger-button{border:1px solid #ddc9bd;border-radius:9px;background:#f7ede5;color:#855b44}.directory-affiliations{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.org-pill{font-size:12px;background:#eaf0dd;border-radius:6px;padding:3px 7px;color:#496442}.org-pill.inactive{background:#f0e9e0;color:#8b7968}.directory-membership{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.public-content-row{grid-template-columns:40px minmax(0,1fr) auto}.audit-list{margin-top:15px;border:1px solid var(--line);border-radius:14px;background:var(--paper);overflow:hidden}.audit-row{display:flex;gap:20px;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line);font-size:12px}.audit-row:last-child{border:0}.audit-row p{margin:5px 0;color:var(--muted);font-size:12px}.audit-row small,.audit-row time{font-size:12px;color:var(--muted)}.audit-row time{flex-shrink:0}.audit-pager{justify-content:center;margin-top:18px}@media(max-width:700px){.directory-row{grid-template-columns:32px minmax(0,1fr) auto;gap:10px;padding:15px}.directory-row>.directory-actions{grid-column:1/-1;justify-content:flex-start;border-top:1px solid var(--line);padding-top:11px}.public-content-row{grid-template-columns:32px minmax(0,1fr)}.directory-row>.avatar{width:32px;height:32px;font-size:14px}.directory-tools{gap:9px}.directory-tools .search-field{width:100%;flex-basis:100%}.directory-tools select{min-width:0;max-width:200px}.admin-tabs{width:100%}.admin-tabs button{flex:1;padding:10px 12px}.audit-row{flex-direction:column;gap:5px;padding:14px}.public-content-row .directory-actions{grid-column:1/-1}.page-heading:has(#teacher-create),.page-heading:has(#admin-new-skill){align-items:start;flex-wrap:wrap}}

.admin-account-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* Skill editor settings: distinct white surfaces and compact, aligned controls. */
.editor-stage details.shuffle-settings,.editor-stage details.publication-settings{background:#fff;border:1px solid #dfe5dd;border-radius:16px;padding:18px 22px;margin-top:18px;box-shadow:0 4px 18px #173f3806}
.editor-stage details.shuffle-settings>summary,.editor-stage details.publication-settings>summary{cursor:pointer;font-size:14px;font-weight:700;line-height:1.7;color:var(--ink);padding-block:2px}
.shuffle-settings>.caption,.publication-settings>.caption{line-height:1.8;margin:10px 0 14px}
.shuffle-settings label.list-check,.publication-settings label.list-check{display:flex;align-items:center;gap:10px;line-height:1.7;margin:8px 0;padding:10px 12px;border-radius:10px;background:#f6f8f5;font-size:13px}
.shuffle-settings .list-check input,.publication-settings .list-check input{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:var(--ink)}
.shuffle-settings>button{margin-top:12px;margin-inline-end:8px}
.publication-settings .bonus-setting{background:#fafbf9;border:1px solid #e5e9e1;border-radius:12px;padding:14px 16px;margin-top:12px}
.publication-settings .bonus-setting>.list-check{background:transparent;padding:0;margin:0 0 12px}
.publication-settings .bonus-setting>label:not(.list-check){gap:7px;margin:0 0 10px;margin-inline-end:16px;color:#526259}
.publication-settings .bonus-setting input[type=number]{box-sizing:border-box;width:116px;padding:9px 12px;border:1px solid #cfd9cd;border-radius:9px;background:#fff;color:var(--ink);font:inherit}
.publication-settings .bonus-setting input:disabled{background:#eef1ec;color:#899285}
.publication-settings .bonus-setting>.caption{margin:4px 0 0;line-height:1.8}
.shuffle-settings input:focus-visible,.publication-settings input:focus-visible{outline:2px solid #86a89a;outline-offset:3px}
@media(max-width:600px){.editor-stage details.shuffle-settings,.editor-stage details.publication-settings{padding:16px}.publication-settings .bonus-setting{padding:12px}}

/* Match the question panel surface. */
.editor-stage details.shuffle-settings,.editor-stage details.publication-settings{background:#fffefa}

.leaderboards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:22px;margin-top:24px;align-items:start}.leaderboard-panel{overflow:hidden;border-radius:18px}.leaderboard-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;background:linear-gradient(120deg,#edf2e7,#f8f5ec);border-bottom:1px solid var(--line)}.leaderboard-heading h2{font-size:21px;margin-top:6px}.leaderboard-emblem{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#174337;color:#e7edb7}.leaderboard-personal{display:flex;align-items:center;gap:12px;padding:17px 24px;background:#edf2e7;border-top:1px solid var(--line);font-size:14px}.leaderboard-personal>span{margin-inline-start:auto}.leaderboard-settings-intro{display:flex;gap:14px;background:#edf2e7;border-radius:14px;padding:18px;margin-bottom:20px}.leaderboard-settings-intro>svg{flex-shrink:0}.leaderboard-settings-intro p{font-size:13px;line-height:1.8;margin-top:7px;color:var(--muted)}.board-class-selection{max-height:230px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:10px 15px}.board-class-selection .list-check{margin:0}

.game-editor{margin-top:18px}.game-picker,.break-select{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px;margin:15px 0}.game-picker .list-check,.break-select label{display:flex;align-items:center;gap:9px;padding:12px!important;border:1px solid #d7e1d0;border-radius:11px;background:#f3f7ec;margin:0!important}.game-config{border:1px solid #d7e1d0;border-radius:13px;padding:18px;margin-top:16px}.game-config h3{font-size:15px;margin-bottom:14px}.game-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-config-grid>p,.game-config-grid>.game-pair-row{grid-column:1/-1}.game-pair-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.game-editor input[type=checkbox],.break-select input{width:18px!important;flex-shrink:0;accent-color:var(--ink)}.game-break-player{background:#edf2e8;border:1px solid #d8e1d0;border-radius:18px;padding:22px;margin:12px 0}.game-break-player h2,.game-break-player h3{margin:8px 0 15px}.game-break-player p{line-height:1.9}.break-player-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid #d4decc}.break-player-head>span{font-variant-numeric:tabular-nums;white-space:nowrap}.break-stage{min-height:260px;text-align:center;padding:20px 0}.break-stage>.secondary{margin-top:18px}.break-target-arena{position:relative;height:290px;border-radius:14px;background:#e1eadb;overflow:hidden}.break-target{position:absolute;width:54px;height:54px;border:4px solid #fffdf6;border-radius:50%;background:#d17b5b;color:#fff;font-size:36px;display:grid;place-items:center;cursor:pointer;touch-action:manipulation}.break-signal{display:block;width:100%;min-height:210px;background:#f1dbd2;color:#9c4d3b;border:0;border-radius:15px;font-size:22px;cursor:pointer}.break-signal.go{background:#cde4c5;color:#234f35}.break-memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:16px}.break-memory-card{background:#245044;color:#eef0ca;border:1px solid #bbcbb4;border-radius:12px;min-height:95px;padding:10px;font:inherit;font-size:24px;overflow-wrap:anywhere;white-space:pre-wrap;unicode-bidi:plaintext;cursor:pointer}.break-memory-card.open,.break-memory-card.matched{background:#fffdf7;color:var(--ink);font-size:14px}.break-memory-card.matched{background:#d4e5c9}.break-digits{direction:ltr;unicode-bidi:isolate;font:700 38px Consolas,monospace;letter-spacing:.12em;overflow-wrap:anywhere;padding:20px 4px}.break-number-input{width:min(100%,280px);display:block;margin:16px auto;border:1px solid #b8cbb2;border-radius:11px;padding:12px;font:24px Consolas,monospace;text-align:center;background:#fffdf7}.break-rps-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:25px 0}.break-rps-choices button{padding:20px 17px;font-size:18px;background:#fffdf6;border:1px solid #c5d5bf;border-radius:13px}.break-duel{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin:20px 0}.break-finished{text-align:center;padding:30px 10px}.game-break-player button:focus-visible{outline:3px solid #729cb2;outline-offset:3px}@media(max-width:600px){.game-config-grid{grid-template-columns:1fr}.game-pair-row{grid-template-columns:1fr 1fr}.game-pair-row button{grid-column:1/-1;justify-self:end}.game-break-player{padding:15px}.break-memory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.break-memory-card{min-height:85px}.break-digits{font-size:28px}.break-select{grid-template-columns:1fr}}

/* Original card/layout surfaces retained; compact actions only. */
.compact-order-controls{display:inline-flex;align-items:center;gap:3px;flex:none}.compact-order-controls>button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:30px;padding:0;border:1px solid #dbe2d3;border-radius:7px;background:#fffefa;color:#62795e;font-size:17px;cursor:pointer}.compact-order-controls>button svg{width:14px;height:14px}.compact-order-controls>button:hover:not(:disabled){background:#e8efdf;color:#234f3d;border-color:#bbcbb0}.compact-order-controls>button:disabled{opacity:.3;cursor:default}.compact-order-controls>button:focus-visible{outline:2px solid #8aa07a;outline-offset:2px}.editor-item-line{display:flex;align-items:center;gap:6px;margin-bottom:7px}.editor-item-line>.editor-item{margin:0;flex:1;min-width:0}.editor-item-line>.compact-order-controls{display:flex;flex:none}.editor-item-line .compact-order-controls>button{width:25px;height:28px}.course-edit>.compact-order-controls{margin-inline-start:2px}@media(max-width:600px){.editor-item-line{flex:none;min-width:215px;margin:0}.editor-item-line>.editor-item{height:42px}.course-edit>.compact-order-controls{margin-inline-start:auto}.compact-order-controls>button{width:30px;height:30px}}

/* Keep item actions inside the original item card boundary. */
.editor-item-line{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding-inline-end:5px;gap:3px;overflow:hidden}.editor-item-line.active{background:#e9f0db;border-color:#9eae88}.editor-item-line>.editor-item,.editor-item-line>.editor-item.active{border:0;background:transparent;border-radius:0;padding:10px 7px}.editor-item-line>.compact-order-controls{gap:2px}.editor-item-line .compact-order-controls>button{width:23px;height:27px;background:transparent;border-color:transparent}.editor-item-line .compact-order-controls>button:hover:not(:disabled){background:#dce7cf;border-color:#c4d3b7}

.confirm-content{display:flex;align-items:flex-start;gap:16px;padding:10px 0 22px}.confirm-symbol{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;background:#e8efdc;color:#365940}.confirm-content p{line-height:1.9;color:#627561;margin:0}.confirm-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:18px;border-top:1px solid var(--line)}.confirm-actions button{padding:11px 17px;border-radius:10px}.confirm-actions .discard-choice{color:#9c5140;margin-inline-start:auto}.skill-filter{background:#fffefa;border:1px solid #d4deca;border-radius:10px;padding:10px 13px;color:var(--ink);font:inherit;font-size:13px;min-width:155px}@media(max-width:600px){.confirm-actions{flex-direction:column;align-items:stretch}.confirm-actions .discard-choice{margin-inline-start:0}.skill-filter{min-width:135px}}

.skill-scope{position:relative;flex:none}.skill-scope>summary{list-style:none;cursor:pointer;background:#fffefa;border:1px solid #d4deca;border-radius:10px;padding:10px 14px;font-size:13px;min-width:155px}.skill-scope>summary:after{content:'⌄';margin-inline-start:14px;color:#768b70}.skill-scope-menu{position:absolute;inset-inline-start:0;top:calc(100% + 8px);width:260px;max-width:calc(100vw - 40px);padding:12px;background:#fffefa;border:1px solid #d5dfcc;border-radius:13px;box-shadow:0 12px 28px #173f3818;z-index:40}.skill-scope-menu label{display:flex;align-items:center;gap:9px;padding:9px;font-size:13px;cursor:pointer}.skill-scope-menu input{accent-color:#315c43;width:16px;height:16px}.skill-scope-classes{max-height:190px;overflow-y:auto;margin:3px 10px 8px;border-inline-start:2px solid #e0e7d8;padding-inline-start:7px}.skill-scope-classes label{font-size:12px}.skill-number{color:#819176;font-size:13px;margin-inline-end:5px;font-variant-numeric:tabular-nums}@media(max-width:600px){.skill-scope>summary{min-width:135px}.skill-section-heading{flex-wrap:wrap}}

.field-validation-error{display:flex;align-items:flex-start;gap:7px;font-size:12px;line-height:1.8;color:#99533e;background:#faf0e8;border-inline-start:3px solid #cd9477;border-radius:7px;margin:8px 0 12px;padding:9px 12px}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:#cb9174!important;box-shadow:0 0 0 2px #cb917414}.field-validation-error:before{content:'!';font-weight:700;flex:none}

/* Shared select chevron with consistent RTL/LTR spacing. */
select:not([multiple]):not([size]),select[size="1"]{appearance:none!important;-webkit-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23597060' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:left 14px center!important;background-size:16px 16px!important;padding-inline-start:13px!important;padding-inline-end:42px!important;min-height:42px;cursor:pointer}
select:not([multiple]):not([size]):dir(ltr),select[size="1"]:dir(ltr){background-position:right 14px center!important}.skill-scope>summary{position:relative;padding-inline-start:13px;padding-inline-end:42px;min-height:42px;box-sizing:border-box}.skill-scope>summary:after{content:'';position:absolute;inset-inline-end:16px;top:50%;width:7px;height:7px;border-right:1.8px solid #597060;border-bottom:1.8px solid #597060;transform:translateY(-70%) rotate(45deg);margin:0}.skill-scope>summary::-webkit-details-marker{display:none}

.break-result{text-align:center;padding:25px 8px}.break-result-metrics{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:22px 0}.break-result-metrics>div{display:flex;flex-direction:column;gap:7px;background:#fffdf7;border:1px solid #d5dfcb;border-radius:12px;padding:15px 20px}.break-result-metrics strong{font-size:27px}.break-result-metrics span{font-size:12px;color:#60745f}.skill-reward-game{margin-top:28px;padding:22px;border:1px solid #d2dec9;border-radius:17px;background:#edf3e5;text-align:start}.skill-reward-game h2{font-size:21px;margin:8px 0}.skill-reward-game p{line-height:1.9}.skill-reward-game #reward-game-mount{margin-top:18px}.skill-reward-game #reward-game-mount>button{margin-inline-end:9px}

.custom-skill-icon{display:flex;align-items:center;gap:12px}.custom-skill-icon input{flex:1;min-width:0}.custom-symbol-preview{display:grid;place-items:center;min-width:62px;height:50px;padding:8px;border-radius:12px;background:#e8eddc;color:#4c6748;font:600 20px Consolas,monospace;unicode-bidi:plaintext}

.skill-bonus-banner{display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid #cbdcae;border-radius:16px;background:#e5efcf;padding:20px;margin:24px 0}.skill-bonus-banner>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#d5e5b4}.skill-bonus-banner strong{font-size:18px}.skill-bonus-banner p{font-size:24px!important;font-weight:700;margin:6px 0 0}.skill-result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.skill-result-stats>div{background:#fffdf7;border:1px solid #d7e1cf;border-radius:13px;padding:18px 10px;display:flex;flex-direction:column;gap:9px}.skill-result-stats strong{font-size:29px}.skill-result-stats span{font-size:12px;color:#697c60}.skill-finish>.action-row button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:600px){.skill-result-stats{grid-template-columns:1fr}.skill-result-stats>div{flex-direction:row;justify-content:space-between;align-items:center;padding:14px 18px}.skill-bonus-banner strong{font-size:15px}}

.student-course-number{font-variant-numeric:tabular-nums;color:#6b805c;margin-inline-end:5px;font-size:.9em}

.break-digits{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none;cursor:default}

/* Sixth game: reuses the shared break shell and result view. */
.break-jump-canvas{display:block;width:100%;height:auto;aspect-ratio:960/340;border-radius:14px;touch-action:manipulation;outline-offset:3px}.jump-hud,.jump-controls{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:12px 0}.jump-hud b{display:inline-block;min-width:2ch;font-variant-numeric:tabular-nums}.jump-controls{font-size:13px}@media(max-width:600px){.break-jump-canvas{height:260px;aspect-ratio:auto}.jump-hud{font-size:12px;gap:8px}}

/* Student lesson: normal-flow totals and compact feedback; no overlays. */
.lesson-session{padding-bottom:0}
.lesson-points{position:static;display:flex;justify-content:center;gap:0;width:fit-content;max-width:100%;margin:0 auto 24px;background:#f9fbf5f5;border:1px solid #cddac5;border-radius:16px;box-shadow:0 7px 24px #183d2b12;backdrop-filter:blur(12px)}
.lesson-points>div{display:flex;gap:16px;align-items:center;padding:12px 24px}
.lesson-points>div+div{border-inline-start:1px solid #d6e0ce}
.lesson-points span{font-size:12px;color:#586c53}.lesson-points strong{font-size:24px;color:#204b36;font-variant-numeric:tabular-nums}
.lesson-session .lesson-actions{position:static;width:100%;display:block;margin:20px 0 0;padding:12px 18px;background:#fffefaf7;border:1px solid #d6dfcd;border-radius:18px;box-shadow:none;backdrop-filter:blur(14px)}
.lesson-session .lesson-actions[hidden]{display:none!important}
.lesson-action-controls{display:flex;align-items:center;gap:12px;min-height:48px}.lesson-action-controls>.dark-button{min-width:160px;justify-content:center;white-space:nowrap}
.lesson-session .lesson-actions .save-label{width:auto;margin-inline-start:auto;font-size:12px}
.lesson-actions #feedback:empty{display:none}.lesson-actions #feedback{max-height:146px;overflow:auto;overscroll-behavior:contain}
.lesson-actions .answer-celebration{display:block;padding:8px 12px;margin:0 0 10px;border-radius:12px;animation:none}
.answer-headline{display:flex;align-items:center;justify-content:space-between;gap:12px}.lesson-actions .answer-headline h2{font-size:15px;line-height:1.5;margin:0}
.answer-earned{flex:none;font-size:20px;font-weight:800;color:#315b25;font-variant-numeric:tabular-nums}
.lesson-actions .streak-message{font-size:12px;margin:2px 0 0;line-height:1.5}.reward-details summary{font-size:12px;color:#526b43;cursor:pointer}.lesson-actions .reward-details p{font-size:12px;line-height:1.6;margin:3px 0}
.lesson-actions .feedback{margin:0 0 8px;padding:8px 12px;font-size:13px}.lesson-actions .compact-feedback{padding:6px 10px}
@media(max-width:640px){.lesson-points{width:100%;border-radius:13px}.lesson-points>div{flex:1;justify-content:space-between;gap:8px;padding:10px 12px}.lesson-points span{font-size:12px}.lesson-points strong{font-size:21px}.lesson-session .lesson-actions{width:100%;padding:10px;border-radius:15px}.lesson-action-controls{min-height:46px}.lesson-action-controls>.dark-button{flex:1;min-width:0}.lesson-session .lesson-actions .save-label{width:auto;font-size:12px;max-width:90px}.lesson-actions .answer-headline h2{font-size:13px}.answer-earned{font-size:18px}.lesson-actions #feedback{max-height:130px}.lesson-session{padding-bottom:0}}

[data-game-instructions]{white-space:pre-line;line-height:1.9;font-size:15px;font-weight:600;color:var(--ink)}

.entry-footer .entry-teacher-link{display:inline-block;margin-inline-start:18px;padding:5px 0;font-size:12px;color:var(--muted);text-decoration:none}.entry-footer .entry-teacher-link:hover{text-decoration:underline;color:var(--ink)}.entry-footer .entry-teacher-link:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:3px}

/* Local click-to-place matching trial. */
.matching-placements{display:grid;gap:10px;margin:18px 0}.matching-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:16px;padding:12px 16px;border:1px solid #d9dfd4;border-radius:12px;background:#fffefa}.matching-row>bdi{font-weight:600;overflow-wrap:anywhere}.matching-slot{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;padding:10px 14px;border:1px dashed #9aa999;border-radius:9px;background:#f1f4ed;color:#536854;font:inherit;font-size:13px;text-align:start}.matching-slot.filled{border-style:solid;background:#e4eee7;color:#193d33}.matching-slot.awaiting{border-color:#687dbe;background:#eef0fa}.matching-options{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.matching-options button{min-height:44px;white-space:normal}.matching-options button.match-active{background:#193d33;color:#fff;outline:2px solid #a8b9a1;outline-offset:2px}.matching-options button[hidden]{display:none}.matching-slot:focus-visible{outline:2px solid #687dbe;outline-offset:3px}@media(max-width:550px){.matching-row{gap:10px;padding:10px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.matching-slot{font-size:12px;padding:9px}.matching-options button{flex:1 1 42%}}

/* Readability: preserve hierarchy and dark-panel text colors. */
.caption,.entry-note,.entry-form-help,.lesson-tip,.hint-box,.error-inline,.save-label{font-size:13px;line-height:1.85}.entry-choice small,.course-link .caption{font-size:13px}.matching-slot.filled>span{display:grid;place-items:center;flex:none;min-width:36px;min-height:36px;border:1px solid #b7c9bc;border-radius:8px;background:#fffefa;color:#163e36;font:600 19px/1 Tahoma,sans-serif}.matching-slot.filled:hover>span{background:#f8e9e6;color:#8e3f42;border-color:#d9b5b2}.matching-slot.filled{min-height:58px}.entry-footer .entry-teacher-link{font-size:12px}

/* Secondary labels must stay readable, including lesson type and reward. */
.eyebrow,.lesson-card .lesson-eyebrow,.entry-kicker{font-size:14px;font-weight:600;line-height:1.8}
.lesson-card .lesson-eyebrow{color:#304f43;gap:10px;flex-wrap:wrap}
.lesson-card .lesson-eyebrow>span:last-child{color:#315b25;font-weight:700}
.caption,.muted,.save-label,.entry-note,.entry-intro,.entry-choice small,.course-link .caption,.page-heading>p,.practice-note,.roster-filter-label,.lesson-tip,.hint-box,.error-inline{font-size:14px;line-height:1.85}
.lesson-card .caption,.page-heading>p,.practice-note,.entry-note,.entry-choice small,.course-link .caption{color:#485f52}
.section-heading>span,.section-heading h2>span,.course-progress small,.course-tail .badge,.lesson-map .step-button,.lesson-map .step-index,.lesson-actions .save-label,.lesson-actions .text-button{font-size:13px}
@media(max-width:650px){.lesson-card .lesson-eyebrow,.eyebrow,.entry-kicker,.course-link .caption,.caption,.lesson-actions .save-label{font-size:13px}.lesson-card .lesson-eyebrow{line-height:1.9}}

/* Entry review: readable navigation and form labels without changing layout. */
.entry-card label,.entry-card .entry-back,.entry-form-help,.entry-alternative,.entry-card .entry-submit{font-size:14px}.entry-card .entry-back{min-height:36px;align-items:center}.entry-form-help a{display:inline-block;padding-block:5px}.student-nav :is(button,a){min-height:44px}

/* Staff review: helper text and compact roster actions. */
.learner-row .point-reason-hint,.group-points .point-reason-hint,.learner-person small,.learner-balance small,.class-people,.class-helper p,.class-card .caption,.sidebar .nav-label{font-size:13px;line-height:1.8}.learner-row .point-reason-hint{color:#485f52}.learner-more>summary,.points-options>summary{font-size:13px;min-height:36px}.sidebar .nav-label{color:#c4d6ca}

/* Inner-page visual review: forms, evaluation cases and modal copy. */
.editor-stage label,.editor-stage legend,.editor-stage summary,.editor-toolbar .status-line,dialog label,dialog p,.confirm-content p{font-size:14px;line-height:1.85}
.editor-stage fieldset{min-inline-size:0;border:1px solid #ced9c9;border-radius:12px;padding:16px;margin:16px 0;background:#f8faf4}
.editor-stage legend{padding-inline:8px;font-weight:600;color:#304f43}
.editor-stage textarea,.editor-stage input,.editor-stage select{max-width:100%}
.break-result-metrics span,.break-player-head,.break-stage>p,.game-editor label{font-size:14px;line-height:1.8}
.break-result-metrics span{color:#485f52}.break-result-metrics>div{min-width:110px}
dialog{max-height:calc(100dvh - 32px);overflow-y:auto}dialog .confirm-actions{flex-wrap:wrap}

a.navigation-link{cursor:pointer;text-decoration:none}a.course-link,a.course-edit,a.step-button{text-align:start}.side-nav a.navigation-link{display:flex}.student-nav a.navigation-link{display:flex;align-items:center}.navigation-link:focus-visible{outline:3px solid #9783c3;outline-offset:3px}

/* Consistent icon spacing in teacher and administrator navigation. */
.sidebar .side-nav :is(button,a.navigation-link){gap:12px}.sidebar .side-nav .icon{flex-shrink:0}

.sidebar .side-nav a.navigation-link.active,.sidebar .side-nav a.navigation-link[aria-current="page"]{background:var(--lime);color:var(--ink);font-weight:600}.sidebar .side-nav a.navigation-link:not(.active){color:#c4d6ca}

/* Navigation rows: identical geometry for links and buttons. */
.sidebar .side-nav :is(button,a.navigation-link){display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;width:100%;min-height:48px;padding:11px 16px;gap:12px;border:0;border-radius:5px;line-height:1.6;text-align:start;box-shadow:none;color:#c4d6ca}
.sidebar .side-nav :is(button,a.navigation-link)>[data-icon],.sidebar .side-nav :is(button,a.navigation-link)>span:first-child{display:flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px}
.sidebar .side-nav :is(button,a.navigation-link) .icon{width:20px;height:20px;flex:none}
.sidebar .side-nav :is(button,a.navigation-link).active,.sidebar .side-nav a.navigation-link[aria-current="page"]{background:var(--lime);color:var(--ink);font-weight:600}
.sidebar .side-nav :is(button,a.navigation-link).active .icon{color:inherit}
.sidebar .side-nav :is(button,a.navigation-link)::before{content:none}
@media(max-width:650px){.sidebar .side-nav :is(button,a.navigation-link){width:auto;flex:0 0 auto;min-height:44px;padding:10px 13px;gap:9px;margin-block:0 5px;border-radius:5px}.sidebar .side-nav :is(button,a.navigation-link) .icon{width:18px;height:18px}}

.suggestion-audience{border:1px solid var(--line);border-radius:10px;margin-top:16px;padding:12px}.suggestion-teacher-list{max-height:260px;overflow:auto;margin-top:12px}.suggestion-teacher-list .list-check{padding:10px;border-bottom:1px solid var(--line)}.suggestion-teacher-list small{display:block;color:var(--muted);direction:ltr;font-size:12px;overflow-wrap:anywhere}.suggestion-teacher-list .list-check>span{min-width:0}.review-return-note{margin-block:12px;padding:12px 16px;border:1px solid #bdcbb8;border-radius:10px;background:#eef3e8;color:#294735;line-height:1.7}.review-return-note p{margin:4px 0 0!important;color:inherit!important}.editor-review-note{margin-bottom:18px}.course-edit[data-suggested="true"] .compact-order-controls{display:none}
