:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fff;--fg:#16181d;--muted:#5b6270;--line:#d9dce3;--accent:#2f5fd0;--bad:#b3261e;--good:#146b3a}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14161a;--fg:#e8eaef;--muted:#99a0ae;--line:#2b2f38;--accent:#8ab0ff;--bad:#f2b8b5;--good:#7fd1a1}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:34rem;margin:0 auto;padding:3rem 1.25rem}h1{margin:0 0 1.5rem;font-size:1.5rem;font-weight:650}label{margin-bottom:1rem;display:block}label span{color:var(--muted);margin-bottom:.35rem;font-size:.9rem;display:block}input[type=text],input[type=password]{width:100%;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.6rem .7rem}button{font:inherit;cursor:pointer;color:var(--bg);background:var(--accent);border:1px solid #0000;border-radius:6px;padding:.6rem 1.1rem}button:disabled{opacity:.6;cursor:default}select{width:100%;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.6rem .7rem}.error{color:var(--bad);margin:0 0 1rem}.ok{color:var(--good)}.muted{color:var(--muted)}h2{margin:2rem 0 .75rem;font-size:1.15rem;font-weight:650}main{max-width:42rem}a{color:var(--accent)}ul.cards,ol.lessons{padding-left:1.2rem}ul.cards{padding-left:0;list-style:none}ul.cards li,ol.lessons li{margin-bottom:.5rem}ol.lessons li.locked{color:var(--muted)}.actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}a.button{font:inherit;color:var(--bg);background:var(--accent);border:1px solid #0000;border-radius:6px;padding:.6rem 1.1rem;text-decoration:none;display:inline-block}button.secondary{color:var(--fg);border-color:var(--line);background:0 0}.theory{line-height:1.65}.theory h2{margin-top:2rem}.theory table{border-collapse:collapse;margin:1rem 0}.theory th,.theory td{border:1px solid var(--line);text-align:left;padding:.35rem .7rem}.theory code{background:color-mix(in srgb, var(--line) 45%, transparent);border-radius:4px;padding:.1em .3em}.theory pre{background:color-mix(in srgb, var(--line) 45%, transparent);border-radius:6px;padding:.8rem;overflow-x:auto}ol.progress{gap:4px;margin:0 0 .75rem;padding:0;list-style:none;display:flex}ol.progress .segment{background:var(--line);border-radius:999px;flex:1;height:8px}ol.progress .segment.completed{background:var(--good)}ol.progress .segment.completed_with_help{background:repeating-linear-gradient(135deg, var(--good) 0 4px, var(--bg) 4px 8px);border:1px solid var(--good)}ol.progress .segment.disputed{background:repeating-linear-gradient(90deg, var(--muted) 0 2px, var(--bg) 2px 5px);border:1px solid var(--muted)}ol.progress .segment.current{background:var(--accent)}.prompt{margin:1.25rem 0;font-size:1.1rem}.given{border:1px dashed var(--line);border-radius:6px;padding:.6rem .7rem}textarea{width:100%;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.6rem .7rem}ul.choices{padding:0;list-style:none}ul.choices label{align-items:baseline;gap:.5rem;margin-bottom:.4rem;display:flex}ul.choices label span{color:var(--fg);margin:0;font-size:1rem}.wordOrder .built{border:1px solid var(--line);border-radius:6px;min-height:1.6em;padding:.6rem .7rem}.wordOrder .fragments{flex-wrap:wrap;gap:.4rem;display:flex}.result{margin-top:1.25rem}.feedback{white-space:pre-wrap}.corrected{border-left:3px solid var(--good);padding-left:.7rem}.withHelp{color:var(--muted);font-weight:650}.errors ul{padding:0;list-style:none}.errors li{border-left:3px solid var(--bad);margin-bottom:.8rem;padding:.2rem 0 .2rem .7rem}.errors .errorType{font-weight:650}.errors .span{background:color-mix(in srgb, var(--bad) 18%, transparent);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}input.gap{width:8rem;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.15rem .4rem}.given.inline{padding:.15rem .5rem;display:inline-block}label.inline{align-items:baseline;gap:.4rem;margin-right:1rem;display:inline-flex}label.inline span{color:var(--fg);margin:0;font-size:1rem;display:inline}input[type=file]{font:inherit;color:var(--fg)}ol.exercises{padding:0;list-style:none}ol.exercises>li{border:1px solid var(--line);border-radius:8px;margin-bottom:1rem;padding:1rem 1rem .25rem}ul.choiceRows{margin:0 0 .5rem;padding:0;list-style:none}ul.choiceRows>li{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}ul.choiceRows input[type=text]{flex:12rem;width:auto}pre.streaming{white-space:pre-wrap;background:color-mix(in srgb, var(--line) 30%, transparent);border-left:3px solid var(--line);max-height:24rem;color:var(--muted);border-radius:6px;padding:.8rem;font-family:inherit;overflow-y:auto}.review .score{margin:.5rem 0 .25rem;font-size:1.35rem;font-weight:650}.review ol.exercises>li.wrong{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 8%, transparent)}.review ol.exercises>li.right{border-style:dashed}.review ul.choices li{border:1px solid #0000;border-radius:6px;padding:.25rem .5rem}.review ul.choices li.right{border-color:var(--good);background:color-mix(in srgb, var(--good) 12%, transparent)}.review ul.choices li.wrong{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 12%, transparent);text-decoration:line-through}.disputed{border-left:3px dashed var(--muted);color:var(--muted);padding:.2rem 0 .2rem .7rem}.disputeForm{margin:.75rem 0}.disputeForm textarea{max-width:46rem}ul.variants{margin:0 0 1rem;padding:0;list-style:none}ul.variants li{border:1px solid var(--line);border-radius:6px;margin-bottom:.35rem;padding:.35rem .7rem}.decision{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}ol.progressLessons{margin:0 0 1.5rem;padding:0;list-style:none}ol.progressLessons li{margin-bottom:1.25rem}ol.progressLessons p{margin:0 0 .4rem}.viewingStudent{border-left:3px solid var(--accent);padding:.3rem 0 .3rem .7rem;font-weight:650}ul.attempts{padding:0;list-style:none}ul.attempts li{margin-bottom:.5rem}table.histogram{border-collapse:collapse;width:100%;max-width:46rem}table.histogram th,table.histogram td{text-align:left;padding:.35rem .5rem}table.histogram thead th{color:var(--muted);font-size:.9rem;font-weight:500}table.histogram tbody th{white-space:nowrap;padding-right:1rem;font-weight:500}table.histogram td{width:100%}table.histogram .bar{vertical-align:baseline;background:color-mix(in srgb, var(--accent) 55%, transparent);border:1px solid var(--accent);border-radius:3px;min-width:2px;height:.8em;margin-right:.5rem;display:inline-block}table.histogram .value{color:var(--muted);white-space:nowrap}:root{--series-1:#2f5fd0;--series-2:#b3261e;--series-3:#146b3a;--series-4:#7a4bbd;--series-5:#9a6400;--series-6:#0f6f7a}@media (prefers-color-scheme:dark){:root{--series-1:#8ab0ff;--series-2:#f2b8b5;--series-3:#7fd1a1;--series-4:#c3a6f5;--series-5:#e0b76a;--series-6:#74cdd8}}.chartFrame{margin:0 0 1rem;overflow-x:auto}svg.chart{width:100%;min-width:30rem;max-width:46rem;height:auto;display:block}svg.chart .grid line{stroke:var(--line);stroke-width:1px}svg.chart .grid text,svg.chart .axis{fill:var(--muted);font-size:12px}svg.chart .series .line{stroke-width:2px}svg.chart .series .seriesLabel{stroke:none;font-size:12px;font-weight:650}svg.chart .s1{stroke:var(--series-1);fill:var(--series-1)}svg.chart .s2{stroke:var(--series-2);fill:var(--series-2)}svg.chart .s3{stroke:var(--series-3);fill:var(--series-3)}svg.chart .s4{stroke:var(--series-4);fill:var(--series-4)}svg.chart .s5{stroke:var(--series-5);fill:var(--series-5)}svg.chart .s6{stroke:var(--series-6);fill:var(--series-6)}.spanPickers{flex-wrap:wrap;align-items:baseline;gap:1rem;display:flex}table.spanTable td{text-align:right;width:auto}table.spanTable caption{text-align:left;padding-bottom:.4rem}.healthBanner{border:1px solid var(--line);border-left-width:3px;border-radius:6px;margin:0 0 1.5rem;padding:.7rem .9rem}.healthBanner p{margin:0 0 .35rem}.healthBanner p:last-child{margin-bottom:0}.healthBanner.unhealthy,.healthBanner.stale{border-left-color:var(--bad)}.healthBanner.healthy{border-left-color:var(--good)}
