.cm{font-family:var(--font-ui);font-size:16px;line-height:1.55}.cm-box{background:var(--card);border:1px solid var(--rule);border-radius:8px;margin:0 0 20px;padding:18px 20px}.cm-box>h2,.cm-box>h3{color:var(--muted);margin:0 0 10px;font-size:13px}.cm-note{background:var(--tint);border-left:4px solid var(--accent);border-radius:4px;margin:0 0 14px;padding:10px 14px}.cm-closed{background:var(--tint);border-left:4px solid var(--accent);border-radius:4px;margin:0 0 24px;padding:14px 18px}.cm-closed h2{margin:0 0 6px;font-size:20px}.cm-closed p{margin:0}.cm-muted{color:var(--muted);font-size:14px}.cm-form{gap:12px;max-width:640px;display:grid}.cm-form label{gap:4px;font-size:15px;font-weight:600;display:grid}.cm :is(input[type=text],input[type=email],input[type=password],input[type=search],select){font:inherit;background:var(--card);color:var(--ink);border:1px solid #c9c4b6;border-radius:6px;width:100%;min-height:48px;padding:10px 12px;font-weight:400}.teach[data-theme=night] .cm :is(input,select),.teach[data-theme=chalk] .cm :is(input,select){border-color:var(--rule)}.cm-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cm .btn{min-height:48px}.cm-err{color:var(--stop);margin:0;font-weight:600}.cm-ok{color:var(--good);margin:0;font-weight:600}.cm-list{margin:0;padding:0;list-style:none}.cm-list>li{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 0;display:flex}.cm-list>li:first-child{border-top:0}.cm-schools{border:1px solid var(--rule);border-radius:6px;max-height:320px;margin:0;padding:0;list-style:none;overflow:auto}.cm-schools button{text-align:left;border:0;border-top:1px solid var(--rule);width:100%;min-height:48px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;padding:10px 12px;display:block}.cm-schools li:first-child button{border-top:0}.cm-schools button:hover,.cm-schools button[aria-pressed=true]{background:var(--tint)}.cm-schools small{color:var(--muted);display:block}.cm-code{font:700 clamp(40px, 8vw, 96px)/1 var(--font-ui);letter-spacing:.12em;font-variant-numeric:tabular-nums;margin:4px 0 8px}.cm-code-full{z-index:50;background:var(--paper);color:var(--ink);text-align:center;place-content:center;gap:2vh;display:grid;position:fixed;inset:0}.cm-code-full .cm-code{font-size:clamp(64px,18vw,30vh)}.cm-code-full p{margin:0;font-size:clamp(20px,3vw,4vh)}.cm-tabs{border-bottom:1px solid var(--rule-strong);flex-wrap:wrap;gap:6px;margin:0 0 18px;display:flex}.cm-tabs button{border:1px solid var(--rule);min-height:48px;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border-bottom:0;border-radius:6px 6px 0 0;padding:10px 16px;font-weight:600}.cm-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.cm-grid-wrap{border:1px solid var(--rule);border-radius:8px;overflow-x:auto}.cm-grid{border-collapse:collapse;min-width:100%;font-size:14px}.cm-grid th,.cm-grid td{border-bottom:1px solid var(--rule);text-align:center;white-space:nowrap;padding:6px 8px}.cm-grid thead th{vertical-align:bottom;background:var(--card);font-size:12px;font-weight:600;position:sticky;top:0}.cm-grid thead th.cm-start{box-shadow:inset 0 -3px 0 var(--accent)}.cm-grid tbody th{text-align:left;background:var(--card);font-weight:600;position:sticky;left:0}.cm-grid tfoot td{color:var(--muted);white-space:normal;font-size:12px}.cm-cell{border:1px solid var(--rule);border-radius:4px;place-items:center;width:34px;height:28px;font-size:12px;font-weight:700;display:inline-grid}.cm-cell[data-s=not-yet]{color:var(--muted);background:0 0}.cm-cell[data-s=learning]{background:color-mix(in srgb, var(--warn) 30%, var(--card))}.cm-cell[data-s=solid]{background:color-mix(in srgb, var(--good) 35%, var(--card))}.cm-cell[data-s=done]{background:var(--good);color:var(--paper);border-color:var(--good)}.cm-key{flex-wrap:wrap;gap:14px;margin:10px 0;font-size:14px;display:flex}.cm-key span{align-items:center;gap:6px;display:inline-flex}.cm-picks{gap:14px;display:grid}.cm-picks fieldset{border:1px solid var(--rule);border-radius:6px;margin:0;padding:8px 12px}.cm-picks legend{font-size:14px;font-weight:600}.cm-picks label{align-items:center;gap:6px;min-height:32px;margin:4px 14px 4px 0;font-weight:400;display:inline-flex}.cm-picks input{width:20px;height:20px}@media (prefers-reduced-motion:reduce){.cm *{transition:none!important}}@media print{body:has(.cm){page:teach-class}.cm-tabs,.cm .btn,.cm-form{display:none!important}.cm-grid thead th,.cm-grid tbody th{position:static}}@page teach-class{size:landscape;margin:12mm}.cm-goalbar{background:var(--tint,#eee);border:1px solid var(--rule,#ccc);border-radius:14px;height:28px;margin:.6em 0;overflow:hidden}.cm-goalbar span{background:var(--good,#2a7);height:100%;transition:width .4s;display:block}.cm-goal-done{font-weight:700}.cm-steps{gap:.6em;padding:0;list-style:none;display:flex}.cm-steps li{border:1px solid var(--rule,#ccc);border-radius:999px;padding:.2em .7em}.cm-steps li.is-on{background:var(--good,#2a7);color:#fff}@media (prefers-reduced-motion:reduce){.cm-goalbar span{transition:none}}.cm-table{border-collapse:collapse;width:100%;max-width:640px;margin:0 0 14px}.cm-table th,.cm-table td{text-align:left;border-bottom:1px solid var(--rule);padding:6px 10px}.cm-table .cm-num{font-variant-numeric:tabular-nums;letter-spacing:.15em;font-weight:700}.cm-dim{opacity:.45}.cm-sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media print{body *{visibility:hidden}.cm-slips,.cm-slips *{visibility:visible}.cm-slips{border:0;width:100%;position:absolute;top:0;left:0}.cm-noprint{display:none!important}}
