:root{--paper:#f3f5f8;--sheet:#fff;--ink:#141c33;--ink-soft:#5b6680;--rule:#dde3ec;--rule-strong:#c5cedb;--marker:#d9500f;--film:#d4213a;--on-film:#fff;--ok:#1f7a52;--ok-soft:color-mix(in srgb, var(--ok) 12%, transparent);--focus:#2563eb;--radius-s:6px;--radius-m:10px;--radius-l:16px;--measure:44rem;--shadow:0 1px 0 color-mix(in srgb, var(--ink) 6%, transparent), 0 8px 24px -12px color-mix(in srgb, var(--ink) 18%, transparent);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--dur-press:.1s;--dur-ui:.18s;--dur-reveal:.52s;--t-xs:.8125rem;--t-s:.9375rem;--t-m:1.0625rem;--t-l:1.3125rem;--t-xl:1.625rem;--t-2xl:2.125rem;--t-3xl:2.75rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0d1321;--sheet:#151d30;--ink:#eaeef6;--ink-soft:#9aa6bd;--rule:#27324b;--rule-strong:#36435f;--marker:#ff7f45;--film:#ec3b55;--ok:#4cc38f;--focus:#7aa2ff;--shadow:0 1px 0 #ffffff08 inset, 0 12px 28px -16px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#0d1321;--sheet:#151d30;--ink:#eaeef6;--ink-soft:#9aa6bd;--rule:#27324b;--rule-strong:#36435f;--marker:#ff7f45;--film:#ec3b55;--ok:#4cc38f;--focus:#7aa2ff;--shadow:0 1px 0 #ffffff08 inset, 0 12px 28px -16px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--paper);color:var(--ink);font-family:var(--font-body), system-ui, sans-serif;font-size:var(--t-m);touch-action:manipulation;margin:0;line-height:1.6}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.skip-link{background:var(--ink);color:var(--paper);border-radius:var(--radius-s);z-index:10;padding:.5rem .9rem;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.page{max-width:var(--measure);margin:0 auto;padding:1.25rem 1rem 5rem}.masthead{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.25rem;display:flex}.wordmark{font-weight:700;font-size:var(--t-m);letter-spacing:-.01em;align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.wordmark-film{background:var(--film);opacity:.88;border-radius:3px;width:1.05rem;height:1.35rem;transform:rotate(-7deg)}.nav{font-size:var(--t-s);align-items:center;gap:1.1rem;display:flex}.nav a,.link-button{color:var(--ink-soft)}.nav a:hover,.link-button:hover{color:var(--ink)}.page:has(.study) .nav{display:none}h1{font-size:clamp(var(--t-2xl), 6vw, var(--t-3xl));letter-spacing:-.025em;text-wrap:balance;margin:0 0 .5rem;line-height:1.1}h2{font-size:var(--t-l);letter-spacing:-.01em;text-wrap:balance;margin:2.75rem 0 .9rem;line-height:1.3}h3{font-size:var(--t-m);margin:1.5rem 0 .6rem}.eyebrow{color:var(--ink-soft);font-size:var(--t-s);margin:0 0 .35rem}.lede{color:var(--ink-soft);text-wrap:pretty;max-width:36rem;margin:0 0 2rem}.muted{color:var(--ink-soft)}.small{font-size:var(--t-xs)}.block{display:block}.num{font-variant-numeric:tabular-nums}.button{appearance:none;border:2px solid var(--ink);background:var(--ink);color:var(--paper);font:inherit;border-radius:var(--radius-m);cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background-color var(--dur-ui) var(--ease-out), border-color var(--dur-ui) var(--ease-out);justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 86%, var(--paper))}.button:active:not(:disabled){transform:scale(.97)}.button:disabled{opacity:.45;cursor:not-allowed}.button[aria-busy=true]{cursor:progress}.button-film{background:var(--film);border-color:var(--film);color:var(--on-film)}.button-film:hover:not(:disabled){background:color-mix(in srgb, var(--film) 88%, #000)}.button-quiet{color:var(--ink);border-color:var(--rule-strong);background:0 0;font-weight:500}.button-quiet:hover:not(:disabled){background:var(--sheet);border-color:var(--ink-soft)}.button-small{font-size:var(--t-s);border-radius:var(--radius-s);padding:.4rem .8rem}.row-actions{flex-wrap:wrap;gap:.6rem;margin-top:1.25rem;display:flex}.link-button{appearance:none;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}input[type=text],input[type=email],input[type=password],textarea,select{font:inherit;color:var(--ink);background-color:var(--sheet);border:2px solid var(--rule);border-radius:var(--radius-m);width:100%;transition:border-color var(--dur-ui) var(--ease-out);padding:.6rem .8rem}input[type=text]:hover,input[type=email]:hover,input[type=password]:hover,select:hover{border-color:var(--rule-strong)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,textarea:focus,select:focus{border-color:var(--ink)}input[type=file]{font:inherit;max-width:100%}label.field{margin-bottom:1.1rem;font-weight:600;display:block}label.field>span{margin-bottom:.4rem;display:block}.hint-text{color:var(--ink-soft);font-weight:400;font-size:var(--t-xs);margin-top:.1rem;display:block}.error{color:var(--film);font-weight:600}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.card{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--radius-l);box-shadow:var(--shadow);padding:1.25rem}.card+.card{margin-top:.75rem}.plain-list{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.plain-list>li{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:1rem;padding:.8rem 0;display:flex}.plain-list>li>span:first-child{overflow-wrap:anywhere;min-width:0}.pill{white-space:nowrap;font-size:var(--t-xs);border:1px solid var(--rule-strong);color:var(--ink-soft);border-radius:999px;padding:.15rem .6rem;display:inline-block}.pill-alert{border-color:var(--marker);color:var(--marker);font-weight:600}.pill-ok{border-color:var(--ok);color:var(--ok)}.tiles{flex-wrap:wrap;gap:4px;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.tile{background:var(--rule);border-radius:3px;width:14px;height:18px;display:block;position:relative;overflow:hidden}.tile[data-band=unseen]{background:color-mix(in srgb, var(--film) 38%, transparent)}.tile[data-band=weak]{box-shadow:inset 0 0 0 2px var(--marker);background:0 0}.tile[data-band=developing]{background:linear-gradient(to top, var(--ink) 50%, var(--rule) 50%)}.tile[data-band=strong]{background:var(--ink)}.tiles-legend{font-size:var(--t-xs);color:var(--ink-soft);flex-wrap:wrap;gap:.35rem 1rem;margin-top:.75rem;display:flex}.tiles-legend .tile{vertical-align:-3px;width:11px;height:14px;margin-right:.35rem;display:inline-block}.next-up{border-radius:var(--radius-l);background:var(--sheet);border:1px solid var(--rule);box-shadow:var(--shadow);gap:.9rem;margin-top:1.5rem;padding:1.5rem 1.5rem 1.5rem 1.75rem;display:grid;position:relative;overflow:hidden}.next-up:before{content:"";background:var(--film);width:6px;position:absolute;inset:0 auto 0 0}.next-up h2{font-size:var(--t-xl);margin:0}.next-up .stat{font-size:var(--t-s);color:var(--ink-soft);margin:0}.subject-block+.subject-block{margin-top:1.75rem}.subject-block h3{font-size:var(--t-s);color:var(--ink-soft);margin:0 0 .6rem;font-weight:600}.course-card{grid-template-columns:1fr auto;align-items:center;gap:.35rem 1rem;display:grid}.course-card .course-title{overflow-wrap:anywhere;min-width:0;font-weight:700}.course-card .meta{font-size:var(--t-xs);color:var(--ink-soft);grid-column:1/-1}.course-card .tiles{grid-column:1/-1}.study{gap:1rem;display:grid}.study-top{align-items:center;gap:1rem;display:flex}.progress-track{flex:1;gap:4px;display:flex}.progress-track>span{background:var(--rule);border-radius:999px;flex:1;height:6px}.progress-track>span[data-state=done]{background:var(--ink-soft)}.progress-track>span[data-state=current]{background:var(--film)}.question-card{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--radius-l);box-shadow:var(--shadow);padding:1.5rem 1.25rem}.question-kicker{color:var(--ink-soft);font-size:var(--t-xs);justify-content:space-between;gap:1rem;margin:0 0 .6rem;display:flex}.prompt{font-size:var(--t-xl);letter-spacing:-.015em;text-wrap:pretty;margin:0 0 1.5rem;font-weight:700;line-height:1.3}.options{border:0;gap:.6rem;min-width:0;margin:0 0 .5rem;padding:0;display:grid}.option{border:2px solid var(--rule);border-radius:var(--radius-m);background:var(--paper);cursor:pointer;transition:border-color var(--dur-ui) var(--ease-out), background-color var(--dur-ui) var(--ease-out), transform var(--dur-press) var(--ease-out);grid-template-columns:1.75rem 1fr auto;align-items:center;gap:.75rem;padding:.85rem 1rem;display:grid;position:relative}.option:hover{border-color:var(--rule-strong)}.option:active{transform:scale(.99)}.option:has(input:checked){border-color:var(--ink);background:var(--sheet)}.option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.option input{opacity:0;pointer-events:none;position:absolute}.option-key{border:1px solid var(--rule-strong);width:1.75rem;height:1.75rem;font-size:var(--t-xs);color:var(--ink-soft);font-variant-numeric:tabular-nums;border-radius:6px;place-items:center;display:inline-grid}.option:has(input:checked) .option-key{background:var(--ink);color:var(--paper);border-color:var(--ink)}:is(.option[data-result=correct],.option[data-result=correct]:has(input:checked)){border-color:var(--ok);background:var(--ok-soft)}:is(.option[data-result=wrong],.option[data-result=wrong]:has(input:checked)){border-color:var(--marker);background:var(--paper)}.option[data-result=wrong] .option-text{text-decoration:line-through;-webkit-text-decoration-color:var(--marker);text-decoration-color:var(--marker)}.option-mark{font-weight:700;font-size:var(--t-s)}.option[data-result=correct] .option-mark{color:var(--ok)}.option[data-result=wrong] .option-mark{color:var(--marker)}.options:disabled .option{cursor:default}.options:disabled .option:active{transform:none}input.answer-input{font-size:var(--t-l);padding:.8rem 1rem}.study-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.25rem;display:flex}.kbd{font-size:var(--t-xs);opacity:.6;border:1px solid;border-radius:4px;padding:0 .35rem;font-weight:500}.hint{border-left:3px solid var(--marker);margin:1rem 0 0;padding:.35rem 0 .35rem .85rem}.confidence{border:0;margin-top:1.5rem;padding:0}.confidence legend{font-weight:600;font-size:var(--t-s);padding:0}.confidence-scale{grid-template-columns:repeat(4,1fr);gap:.4rem;margin-top:.5rem;display:grid}.confidence-scale button{appearance:none;font:inherit;font-size:var(--t-xs);border-radius:var(--radius-s);border:2px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;transition:border-color var(--dur-ui) var(--ease-out);padding:.55rem .25rem}.confidence-scale button:hover{border-color:var(--rule-strong)}.confidence-scale button[aria-pressed=true]{border-color:var(--ink);background:var(--sheet);font-weight:700}.feedback{border-top:1px dashed var(--rule-strong);margin-top:1.5rem;padding-top:1.25rem}.verdict{font-weight:700;font-size:var(--t-l);align-items:center;gap:.75rem;margin:0 0 .4rem;display:flex}.verdict-correct{color:var(--ok)}.verdict-miss{color:var(--marker)}.stamp{width:2.25rem;height:2.25rem;font-size:var(--t-m);animation:stamp var(--dur-ui) var(--ease-out) both;border:2px solid;border-radius:50%;place-items:center;display:inline-grid}@keyframes stamp{0%{opacity:0;transform:scale(1.25)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(-6deg)}}.reveal{font-weight:700;font-size:var(--t-l);color:var(--marker);isolation:isolate;margin:.6rem 0 .25rem;padding:.4rem .7rem;display:inline-block;position:relative}.reveal:after{content:"";background:var(--film);transform-origin:100%;animation:lift-film var(--dur-reveal) var(--ease-in-out) .26s forwards;border-radius:3px;position:absolute;inset:-.15rem -.35rem}@keyframes lift-film{to{opacity:0;transform:translate(104%)rotate(2deg)scaleX(.12)}}.mastery-shift{font-size:var(--t-xs);color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:.75rem 0 0}.complete-score{font-size:var(--t-3xl);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:.5rem 0 1rem;font-weight:700;line-height:1}.complete-score span{font-size:var(--t-xl);color:var(--ink-soft);font-weight:500}.complete-list li{align-items:center}.complete-list .topic{align-items:center;gap:.75rem;display:flex}.complete-list .tile{flex:none;width:18px;height:22px}.complete-list .tile:after{content:"";background:var(--film);animation:lift-film var(--dur-reveal) var(--ease-in-out) calc(.4s + var(--i,0) * 70ms) forwards;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.reveal:after,.complete-list .tile:after{opacity:0;animation:none}.stamp{animation:none}.button,.option{transition:none}}.bands{grid-template-columns:repeat(4,1fr);gap:.5rem;margin:1rem 0 0;display:grid}.band-count{border-top:4px solid var(--rule);padding-top:.45rem}.band-count strong{font-size:var(--t-xl);font-variant-numeric:tabular-nums;line-height:1.2;display:block}.band-count span{font-size:var(--t-xs);color:var(--ink-soft)}.band-strong{border-top-color:var(--ink)}.band-developing{border-top-color:var(--ink-soft)}.band-weak{border-top-color:var(--marker)}.band-unseen{border-top-color:color-mix(in srgb, var(--film) 40%, transparent)}.concept-row{border-bottom:1px solid var(--rule);grid-template-columns:1fr 7rem;align-items:center;gap:.25rem 1rem;padding:.75rem 0;display:grid}.concept-row .meta{font-size:var(--t-xs);color:var(--ink-soft);grid-column:1/-1}.meter{background:var(--rule);border-radius:999px;height:.5rem;overflow:hidden}.meter>span{background:var(--ink);border-radius:999px;height:100%;display:block}.meter-weak>span{background:var(--marker)}.due-tag{color:var(--film);font-weight:600}.evidence-table{border-collapse:collapse;width:100%;font-size:var(--t-xs)}.evidence-table th,.evidence-table td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:.55rem .5rem .55rem 0}.evidence-table th{color:var(--ink-soft);font-weight:600}.evidence-table .num{text-align:right}.table-scroll{overflow-x:auto}.materials>li{align-items:flex-start}.material-actions{gap:1rem;margin-top:.35rem;display:flex}.material-actions label{cursor:pointer}.upload-box{border:2px dashed var(--rule-strong);border-radius:var(--radius-l);background:var(--sheet);transition:border-color var(--dur-ui) var(--ease-out), background-color var(--dur-ui) var(--ease-out);padding:1.25rem}.upload-box-drag{border-color:var(--film);background:color-mix(in srgb, var(--film) 8%, var(--sheet))}.drop-hint{text-align:center;border-radius:var(--radius-m);background:var(--paper);color:var(--ink-soft);margin:0 0 1rem;padding:1.25rem;font-weight:600}.upload-box-drag .drop-hint{color:var(--film)}.review-item{border-top:1px solid var(--rule);padding:1.1rem 0}.review-item.out-of-scope{opacity:.6}.review-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.review-title{font-weight:700}.question-list{margin:.75rem 0 0;padding-left:1.25rem}.question-list>li{margin-bottom:.8rem}.source{border-left:3px solid var(--rule);white-space:pre-wrap;margin:.5rem 0;padding-left:.75rem}.sticky-actions{background:var(--paper);z-index:2;border-bottom:1px solid var(--rule);padding:.6rem 0;position:sticky;top:0}.invite-link{gap:.5rem;margin-top:1rem;display:grid}.note{border-left:3px solid var(--marker);font-size:var(--t-s);margin:0 0 1.5rem;padding:.35rem 0 .35rem .85rem}.filters{font-size:var(--t-s);flex-wrap:wrap;gap:.35rem .9rem;margin-bottom:.5rem;display:flex}.filters a{color:var(--ink-soft)}.filters a[aria-current=page]{color:var(--ink);font-weight:700;text-decoration:none}.timeline{border-top:1px solid var(--rule);font-size:var(--t-s);margin:1rem 0;padding:0;list-style:none}.timeline>li{border-bottom:1px solid var(--rule);padding:.45rem 0}.timeline summary{cursor:pointer;flex-wrap:wrap;gap:.25rem .75rem;display:flex}.timeline time{color:var(--ink-soft);font-variant-numeric:tabular-nums}.json{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--radius-s);white-space:pre-wrap;word-break:break-word;max-height:40rem;padding:.75rem;font-size:.75rem;line-height:1.45;overflow-x:auto}.dev-login{border-top:1px dashed var(--rule);margin-top:2rem;padding-top:1rem}.signin{max-width:28rem;margin:6vh auto 0}.signin-demo{font-size:var(--t-l);margin:1.75rem 0 2rem;font-weight:700;line-height:1.5}.signin-demo .reveal{font-size:inherit;margin:0;padding:0 .3rem}.signin-demo .reveal:after{animation-delay:.9s}@media (max-width:30rem){.bands{grid-template-columns:repeat(2,1fr)}.concept-row{grid-template-columns:1fr 4.5rem}.prompt{font-size:var(--t-l)}.question-card{padding:1.25rem 1rem}}.checkbox{font-size:var(--t-s);cursor:pointer;align-items:center;gap:.6rem;margin:-.4rem 0 1.1rem;display:flex}.checkbox input{width:1.1rem;height:1.1rem;accent-color:var(--ink)}.ok-text{color:var(--ok);font-weight:600}.member-side{text-align:right;justify-items:end;gap:.35rem;display:grid}.access-select{align-items:center;gap:.5rem;display:flex}.access-select select{width:auto;font-size:var(--t-xs);padding:.35rem .6rem}.impersonation-bar{z-index:20;background:var(--marker);color:#fff;font-size:var(--t-s);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;padding:.55rem 1rem;display:flex;position:sticky;top:0}.impersonation-bar .button{color:#141c33;background:#fff;border-color:#fff}textarea{resize:vertical;line-height:1.5}.assigned .card+.card{margin-top:.75rem}.assign-bars{gap:.6rem;margin-top:.6rem;display:grid}.assign-label{font-size:var(--t-xs);color:var(--ink-soft);justify-content:space-between;gap:1rem;margin-bottom:.25rem;display:flex}.assign-chip{font-size:var(--t-s);color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:0}.assign-chip-done{color:var(--ok);font-weight:700}.two-col{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}.two-col>label.field{grid-row:span 2;grid-template-rows:subgrid;align-content:start;display:grid}.two-col>label.field>span{align-self:end}input[type=date]{font:inherit;color:var(--ink);background-color:var(--sheet);border:2px solid var(--rule);border-radius:var(--radius-m);padding:.5rem .8rem}@media (max-width:30rem){.two-col{grid-template-columns:1fr}}.stat-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:1rem 0 .5rem;display:grid}.stat-tile{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--radius-m);gap:.15rem;min-width:0;padding:.85rem .9rem;display:grid}.stat-label{font-size:var(--t-xs);color:var(--ink-soft)}.stat-value{font-size:var(--t-xl);font-weight:700;line-height:1.2}.stat-sub{font-size:var(--t-xs);color:var(--ink-soft)}.chart{width:100%;max-width:100%;height:auto;display:block}.chart-grid{stroke:var(--rule);stroke-width:1px}.chart-tick{fill:var(--ink-soft);font-variant-numeric:tabular-nums;font-family:inherit;font-size:11px}.chart-mark{fill:var(--ink-soft)}.chart-mark-today{fill:var(--film)}.chart-bar:hover .chart-mark{fill:var(--ink)}@media (max-width:36rem){.stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.math-work{gap:.75rem;display:grid}.math-work>.button{justify-self:start}.mf-loading{min-height:2.6rem}.math-problem .mf{color:var(--ink);background:0 0;border:0;padding:0;font-size:1.75rem}.math-lines{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.math-lines li{grid-template-columns:1.5rem 1fr 1.5rem auto;align-items:center;gap:.5rem;display:grid}.math-line-no{color:var(--ink-soft);font-size:var(--t-xs);font-variant-numeric:tabular-nums;text-align:right}.mf{border:2px solid var(--rule);border-radius:var(--radius-m);background:var(--sheet);width:100%;color:var(--ink);--caret-color:var(--film);--selection-background-color:color-mix(in srgb, var(--film) 25%, transparent);--contains-highlight-background-color:transparent;padding:.45rem .7rem;font-size:1.3rem;display:block}.mf:focus-within{border-color:var(--ink)}.math-lines li[data-status=ok] .mf{border-color:var(--ok)}.math-lines li[data-status=error] .mf,.math-lines li[data-status=unreadable] .mf{border-color:var(--marker)}.math-lines li[data-first-error=true] .mf{box-shadow:0 0 0 3px color-mix(in srgb, var(--marker) 30%, transparent)}.math-line-mark{font-weight:700}.math-lines li[data-status=ok] .math-line-mark{color:var(--ok)}.math-lines li[data-status=error] .math-line-mark,.math-lines li[data-status=unreadable] .math-line-mark{color:var(--marker)}body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.camera-row{flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin:-.25rem 0 1.1rem;display:flex}.camera-button{cursor:pointer}@media (hover:hover) and (pointer:fine){.camera-row{display:none}}@media (pointer:coarse){.button,.button-small,.confidence-scale button,select,input[type=text],input[type=email],input[type=password],input[type=date]{min-height:44px}.link-button,.nav a{align-items:center;min-height:44px;display:inline-flex}.option{min-height:52px}}@media (max-width:30rem){.masthead{flex-wrap:wrap;row-gap:.25rem;margin-bottom:1.5rem}.page{padding-top:max(1rem, env(safe-area-inset-top))}h1{font-size:var(--t-2xl)}.study-actions .button{flex:auto}.next-up{padding:1.25rem 1.1rem 1.25rem 1.4rem}.evidence-table th,.evidence-table td{padding-right:.35rem}}.row-links{flex-wrap:wrap;justify-content:flex-end;gap:.25rem 1rem;display:flex}#assign{scroll-margin-top:1rem}.invite-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.invite-row{border:1px solid var(--rule);border-radius:var(--radius-l);background:var(--sheet);padding:1rem}.invite-row-new{border-color:var(--ok)}.invite-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.invite-link-box{margin-top:.75rem}.invite-link-box p{margin:0 0 .4rem}.link-copy{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.link-copy input{font-size:var(--t-s)}.publish-banner{border-radius:var(--radius-l);border:2px solid var(--marker);background:color-mix(in srgb, var(--marker) 8%, var(--sheet));margin:1rem 0 .5rem;padding:1rem 1.1rem}.publish-banner-title{margin:0;font-weight:700}.pill-link{text-decoration:none}.pill-link:hover{text-decoration:underline}.course-group{border:1px solid var(--rule);border-radius:var(--radius-l);background:var(--sheet);padding:.25rem 1rem}.course-group+.course-group{margin-top:.6rem}.course-group>summary{cursor:pointer;gap:.35rem;padding:.75rem 0;list-style:none;display:grid}.course-group>summary::-webkit-details-marker{display:none}.course-group>summary .course-group-title{grid-template-columns:1.1rem minmax(0,1fr);align-items:baseline;display:grid}.course-group>summary .course-group-title>*{grid-column:2}.course-group>summary .course-group-title:before{content:"▸";text-align:center;color:var(--ink-soft);transition:transform var(--dur-ui) var(--ease-out);grid-area:1/1}.course-group[open]>summary .course-group-title:before{transform:rotate(90deg)}.course-group .tiles{margin:0 0 0 1.1rem}.course-group [role=list]{border-top:1px solid var(--rule)}.course-group .concept-row:last-child{border-bottom:0}.course-filter{margin-bottom:.75rem}.subject-group{border-top:1px solid var(--rule)}.subject-group:last-of-type{border-bottom:1px solid var(--rule)}.subject-group>summary{cursor:pointer;align-items:baseline;gap:.75rem;padding:.8rem 0;list-style:none;display:flex}.subject-group>summary::-webkit-details-marker{display:none}.subject-group>summary:before{content:"▸";color:var(--ink-soft);transition:transform var(--dur-ui) var(--ease-out)}.subject-group[open]>summary:before{transform:rotate(90deg)}.subject-name{font-weight:700}.course-item{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.5rem 1rem;padding:.75rem 0 .75rem 1.1rem;display:grid}.course-item .course-title{overflow-wrap:anywhere;font-weight:700}.course-item-side{justify-items:end;gap:.4rem;display:grid}@media (max-width:30rem){.course-item{grid-template-columns:1fr;padding-left:.6rem}.course-item-side{grid-auto-flow:column;justify-content:space-between;align-items:center}}:root[data-palette=forest]{--paper:#f2f5f0;--sheet:#fff;--ink:#15261d;--ink-soft:#52665a;--rule:#dbe4dc;--rule-strong:#c3d0c5;--marker:#b0510c;--film:#c43a2f;--on-film:#fff;--ok:#1f7a48;--focus:#1d4ed8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root[data-palette=forest]:not([data-theme=light]){--paper:#0c1510;--sheet:#132019;--ink:#e7efe9;--ink-soft:#9bb0a2;--rule:#243528;--rule-strong:#334a38;--marker:#f08a3c;--film:#e0564a;--on-film:#fff;--ok:#58c98c;--focus:#7aa2ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-palette=forest][data-theme=dark]{--paper:#0c1510;--sheet:#132019;--ink:#e7efe9;--ink-soft:#9bb0a2;--rule:#243528;--rule-strong:#334a38;--marker:#f08a3c;--film:#e0564a;--on-film:#fff;--ok:#58c98c;--focus:#7aa2ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-palette=dusk]{--paper:#f5f3f8;--sheet:#fff;--ink:#221a33;--ink-soft:#655b7c;--rule:#e3dfeb;--rule-strong:#cdc6da;--marker:#c2410c;--film:#b8225a;--on-film:#fff;--ok:#1f7a52;--focus:#2563eb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root[data-palette=dusk]:not([data-theme=light]){--paper:#110e1a;--sheet:#1b1628;--ink:#efeaf7;--ink-soft:#a99fbf;--rule:#2e2742;--rule-strong:#40375a;--marker:#fb8a4d;--film:#e64a80;--on-film:#fff;--ok:#4cc38f;--focus:#8ea9ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-palette=dusk][data-theme=dark]{--paper:#110e1a;--sheet:#1b1628;--ink:#efeaf7;--ink-soft:#a99fbf;--rule:#2e2742;--rule-strong:#40375a;--marker:#fb8a4d;--film:#e64a80;--on-film:#fff;--ok:#4cc38f;--focus:#8ea9ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-palette=slate]{--paper:#f4f5f6;--sheet:#fff;--ink:#1b1f24;--ink-soft:#59616b;--rule:#dfe3e7;--rule-strong:#c7cdd3;--marker:#b45309;--film:#0f766e;--on-film:#fff;--ok:#15803d;--focus:#2563eb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root[data-palette=slate]:not([data-theme=light]){--paper:#0f1113;--sheet:#171a1e;--ink:#eceff2;--ink-soft:#9aa3ad;--rule:#2a2f35;--rule-strong:#3a4149;--marker:#f59e0b;--film:#2cc4b0;--on-film:#06201d;--ok:#4ade80;--focus:#7aa2ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-palette=slate][data-theme=dark]{--paper:#0f1113;--sheet:#171a1e;--ink:#eceff2;--ink-soft:#9aa3ad;--rule:#2a2f35;--rule-strong:#3a4149;--marker:#f59e0b;--film:#2cc4b0;--on-film:#06201d;--ok:#4ade80;--focus:#7aa2ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-grid{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0 0 1.5rem;padding:0;display:grid}.theme-grid legend,.mode-row legend{margin-bottom:.6rem;padding:0;font-weight:700}.theme-option{border:2px solid var(--rule);border-radius:var(--radius-m);background:var(--sheet);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;padding:.8rem;display:grid}.theme-option:has(input:checked){border-color:var(--ink)}.theme-option input,.mode-option input{opacity:0;position:absolute}:is(.theme-option:has(input:focus-visible),.mode-option:has(input:focus-visible)){outline:3px solid var(--focus);outline-offset:2px}.theme-swatch{border:1px solid var(--rule-strong);border-radius:6px;display:flex;overflow:hidden}.theme-swatch span{width:1.1rem;height:2rem}.mode-row{border:0;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;display:flex}.mode-option{border:2px solid var(--rule);background:var(--sheet);cursor:pointer;border-radius:999px;align-items:center;min-height:44px;padding:.55rem 1rem;display:inline-flex}.mode-option:has(input:checked){border-color:var(--ink);font-weight:700}.diagram{border:1px solid var(--rule);border-radius:var(--radius-m);background:#fff;width:100%;margin:0 0 1rem;position:relative;overflow:hidden}.diagram img{object-fit:contain;width:100%;height:100%;display:block}.diagram-film{background:var(--film);color:var(--on-film);font:inherit;transition:background-color var(--dur-ui) var(--ease-out), box-shadow var(--dur-ui) var(--ease-out);border:0;border-radius:3px;place-items:center;padding:0;display:grid;position:absolute}button.diagram-film{cursor:pointer;touch-action:manipulation}button.diagram-film:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.diagram-film[data-state=peek],.diagram-film[data-state=outline],.diagram-film[data-state=correct],.diagram-film[data-state=close],.diagram-film[data-state=wrong]{box-shadow:inset 0 0 0 2px var(--film);background:0 0}.diagram-film[data-state=correct]{box-shadow:inset 0 0 0 2px var(--ok)}.diagram-film[data-state=close]{box-shadow:inset 0 0 0 2px var(--marker)}.diagram-n{font-variant-numeric:tabular-nums;font-size:clamp(.625rem,1.6vw,.8125rem);font-weight:700;line-height:1}.diagram-film:not([data-state=hidden]) .diagram-n{background:var(--film);min-width:1.1rem;height:1.1rem;color:var(--on-film);border-radius:999px;place-items:center;padding:0 .2rem;display:grid;position:absolute;top:-.55rem;left:-.55rem}.diagram-film[data-state=correct] .diagram-n{background:var(--ok);color:#fff}.diagram-film[data-state=close] .diagram-n{background:var(--marker);color:#fff}.label-answers{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.5rem 1rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.label-answers li{grid-template-columns:1fr auto;align-items:center;gap:.15rem .5rem;display:grid}.label-answers label{align-items:center;gap:.5rem;display:flex}.label-answers .diagram-n{background:var(--film);width:1.6rem;height:1.6rem;color:var(--on-film);font-size:var(--t-xs);border-radius:999px;flex:none;place-items:center;display:grid}.label-answers .answer-input{min-width:0;font-size:var(--t-m);flex:1;padding:.45rem .6rem}.label-answers li[data-result=correct] .diagram-n{background:var(--ok);color:#fff}.label-answers li[data-result=close] .diagram-n{background:var(--marker);color:#fff}.label-expected{font-size:var(--t-s);color:var(--ink-soft);grid-column:1/-1;padding-left:2.1rem}.label-expected strong{color:var(--ink)}.diagram-check{max-width:36rem;margin:.5rem 0}.diagram-check-labels li{margin:.15rem 0}.diagram-deck{gap:1.5rem;display:grid}.diagram-card-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.diagram-card-head h2,.diagram-card-head h3{font-size:var(--t-l);margin:0}@media (prefers-reduced-motion:reduce){.diagram-film{transition:none}}.order-list{gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.order-list li{border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--sheet);grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.55rem .6rem .55rem .75rem;display:grid}.order-pos{background:var(--paper);width:1.6rem;height:1.6rem;color:var(--ink-soft);font-size:var(--t-xs);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;font-weight:700;display:grid}.order-text{font-size:var(--t-m);line-height:1.35}.order-moves{gap:.3rem;display:flex}.order-moves button{border:1px solid var(--rule-strong);border-radius:var(--radius-s);background:var(--paper);width:2.5rem;height:2.5rem;color:var(--ink);cursor:pointer;touch-action:manipulation;transition:transform var(--dur-press) var(--ease-out);font-size:1.05rem}.order-moves button:active:not(:disabled){transform:scale(.94)}.order-moves button:disabled{opacity:.35;cursor:default}.order-result li[data-result=correct]{border-color:color-mix(in srgb, var(--ok) 55%, var(--rule))}.order-result li[data-result=correct] .order-pos{background:var(--ok);color:#fff}.order-result li[data-result=wrong] .order-pos{background:var(--film);color:var(--on-film)}.order-when{background:var(--paper);color:var(--ink-soft);font-size:var(--t-xs);border-radius:999px;margin-right:.5rem;padding:.05rem .45rem;font-weight:600;display:inline-block}.timeline{margin:0 0 1rem;padding:0 0 0 1.5rem;list-style:none;position:relative}.timeline:before{content:"";background:var(--rule-strong);width:2px;position:absolute;top:.4rem;bottom:.4rem;left:.45rem}.timeline li{padding:.35rem 0 .9rem;position:relative}.timeline li:before{content:"";background:var(--sheet);border:2px solid var(--film);border-radius:999px;width:.75rem;height:.75rem;position:absolute;top:.65rem;left:-1.35rem}.timeline-event{border-radius:var(--radius-s);background:var(--film);color:#0000;width:100%;font:inherit;font-size:var(--t-m);text-align:left;cursor:pointer;touch-action:manipulation;transition:background-color var(--dur-ui) var(--ease-out), color var(--dur-ui) var(--ease-out);border:0;margin-top:.2rem;padding:.45rem .6rem;display:block}.timeline-event[aria-pressed=true]{color:var(--ink);box-shadow:inset 0 0 0 2px var(--film);background:0 0}.timeline-event:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.timeline-event{transition:none}}.gap-note{border-left:3px solid var(--marker);padding-left:.6rem}.pick-row{margin-bottom:1rem}.course-pick{border:0;gap:.5rem;margin:0 0 1rem;padding:0;display:grid}.course-pick legend{margin-bottom:.6rem;padding:0;font-weight:700}.course-pick-option{border:2px solid var(--rule);border-radius:var(--radius-m);background:var(--sheet);cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:.75rem;min-height:44px;padding:.65rem .8rem;display:grid;position:relative}.course-pick-option:has(input:checked){border-color:var(--ink)}.course-pick-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.course-pick-option input{opacity:0;position:absolute}.pick-count{color:var(--ink-soft);font-size:var(--t-xs);margin-left:.4rem}.tab{border-bottom:2px solid #0000;align-items:center;gap:.35rem;padding:.3rem 0;text-decoration:none;display:inline-flex}.tab-icon{display:none}.nav .tab[aria-current=page]{color:var(--ink);border-bottom-color:var(--film);font-weight:600}@media (max-width:40rem){.tabbar{z-index:20;padding:.25rem .25rem max(.25rem, env(safe-area-inset-bottom));border-top:1px solid var(--rule);background:color-mix(in srgb, var(--sheet) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-around;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{min-height:52px;font-size:var(--t-xs);border-top:2px solid #0000;border-bottom:0;flex-direction:column;flex:1;justify-content:center;gap:.1rem}.nav .tab[aria-current=page]{border-top-color:var(--film)}.tab-icon{font-size:1.1rem;line-height:1;display:block}.page:has(.tabbar) main{padding-bottom:5rem}}.enroll-list{gap:.35rem;margin:0 0 1.25rem;display:grid}.enroll-group{border:0;gap:.35rem;margin:0 0 .75rem;padding:0;display:grid}.enroll-group legend{margin-bottom:.35rem;padding:0;font-weight:700}.enroll-row{border:1px solid var(--rule);border-radius:var(--radius-m);background:var(--sheet);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:.7rem;min-height:44px;padding:.5rem .75rem;display:grid}.enroll-row:has(input:checked){border-color:var(--ink-soft)}.enroll-row input{width:1.15rem;height:1.15rem;accent-color:var(--film)}.empty-state{border:1px dashed var(--rule-strong);border-radius:var(--radius-l);margin:1.5rem 0;padding:1.25rem}.empty-state h2{margin-top:0}.goal-bar{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.6rem 1.25rem;margin:0 0 1rem;display:grid}.goal{gap:.3rem;display:grid}.goal-label{font-size:var(--t-xs);color:var(--ink-soft)}.goal-label .num{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.goal-track{background:var(--rule);border-radius:999px;height:6px;overflow:hidden}.goal-fill{background:var(--film);height:100%;transition:width var(--dur-ui) linear;border-radius:999px;display:block}.goal-fill-mastery{background:var(--ok)}@media (prefers-reduced-motion:reduce){.goal-fill{transition:none}}.subject-todo{background:color-mix(in srgb, var(--film) 14%, transparent);color:var(--film);font-size:var(--t-xs);border-radius:999px;margin-left:auto;padding:.05rem .5rem;font-weight:700}.course-item[data-next]{box-shadow:inset 3px 0 0 var(--film);padding-left:.75rem}.film-demo{min-height:7.5rem}.film-demo-subject{color:var(--ink-soft);font-size:var(--t-xs);margin-bottom:.35rem;font-weight:700;display:block}.film-demo-cycle{animation:demo-in .36s var(--ease-out) both, demo-out .32s var(--ease-in-out) 4.45s forwards}.film-demo-cycle .film-demo-answer:after{animation-delay:1.6s}@keyframes demo-in{0%{opacity:0;transform:translateY(6px)}}@keyframes demo-out{to{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.film-demo-cycle{animation:none}}.signin-methods{gap:.6rem;max-width:22rem;display:grid}.signin-methods .button{text-align:center;justify-content:center}.or-rule{max-width:22rem;color:var(--ink-soft);font-size:var(--t-xs);align-items:center;gap:.75rem;margin:1.25rem 0;display:flex}.or-rule:before,.or-rule:after{content:"";background:var(--rule);flex:1;height:1px}.password-signin{max-width:22rem}.password-signin .row-actions{align-items:center}.inline-login{border:1px solid var(--rule);border-radius:var(--radius-m);background:var(--sheet);gap:.25rem;min-width:min(18rem,100%);padding:.75rem;display:grid}.plain-list>li.member-row{grid-template-columns:minmax(0,1fr);gap:.6rem;display:grid}.member-actions{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.member-actions .inline-login{flex-basis:100%}@media (max-width:30rem){.theme-grid{grid-template-columns:1fr}}input[type=file]{font:inherit;font-size:var(--t-s);color:var(--ink-soft)}input[type=file]::file-selector-button{border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--sheet);color:var(--ink);font:inherit;cursor:pointer;margin-right:.75rem;padding:.45rem .9rem;font-weight:600}input[type=file]::file-selector-button:hover{border-color:var(--ink-soft)}.countdown{background:var(--rule);border-radius:999px;height:6px;margin:0 0 1rem;overflow:hidden}.countdown-fill{border-radius:999px;height:100%;transition:width .1s linear,background-color .3s linear;display:block}.countdown[data-paused] .countdown-fill{opacity:.75}@media (prefers-reduced-motion:reduce){.countdown-fill{transition:none}}.timing-note{font-size:var(--t-xs);color:var(--ink-soft);font-variant-numeric:tabular-nums}
