.katex{font-size:1.08em}.katex-display{margin:1em 0;overflow-x:auto;overflow-y:hidden;padding:3px 2px;text-align:left}.katex-display>.katex{text-align:left}.question-prompt .katex{font-size:1.08em}.question-prompt .katex-display{margin:.5em 0}.question-prompt{font-family:var(--sans);font-size:1.35rem;line-height:1.7}.question-prompt:has(.katex-display){font-size:1.45rem}.plot-caption{display:flex;align-items:center;gap:16px}.plot text{font-family:KaTeX_Main,serif}.matrix-inputs input{font-family:KaTeX_Main,serif;font-size:20px}.print-question .katex{font-size:1.06em}.spec-links{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0;color:var(--muted);font-size:13px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}.agent-card{border:1px solid var(--line);padding:25px;display:flex;flex-direction:column;min-width:0}.agent-card h2{font-size:2.2rem;margin:14px 0 10px}.agent-card .owner-label{font-size:12px;letter-spacing:.1em;font-weight:700;color:var(--red)}.agent-card .status-badge{align-self:flex-start;font-size:13px;padding:4px 9px;border:1px solid var(--line);background:var(--wash);margin-bottom:14px}.agent-card p{font-size:15px;color:var(--muted)}.agent-card ul{font-size:14px;padding-left:19px;line-height:1.7}.agent-card li{margin:8px 0}.agent-card .agent-next{border-top:1px solid var(--line);padding-top:14px;margin-top:auto}.agent-card .time-label{font-size:12px;color:var(--muted);margin:16px 0}.project-intro{display:flex;justify-content:space-between;gap:35px;align-items:flex-end}.project-intro h1{font-size:3.8rem}.project-rules{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;border-top:1px solid var(--line);padding-top:30px}.project-rules h2{font-size:2.2rem;margin-bottom:17px}.project-rules ol{padding-left:20px}.project-rules li{margin:12px 0}.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:30px}.course-column{border:1px solid var(--line);padding:27px}.course-column h2{font-size:2.8rem;margin-bottom:8px}.course-topics{list-style:none;padding:0;margin:25px 0}.course-topics li{padding:12px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;font-size:15px}.course-topics li small{font-size:12px;min-width:85px;text-align:right;color:var(--muted)}.course-topics li.available{padding:15px;background:var(--tint);border-color:#edd1d1}.course-topics a{color:var(--red);font-weight:600}.course-column .scope-note{font-size:14px;color:var(--muted)}.project-note{font-size:14px;color:var(--muted);margin-top:20px}.extension-strip{border-top:1px solid var(--line);margin-top:34px;padding-top:24px;display:flex;gap:30px;justify-content:space-between;align-items:center}.extension-strip p{font-size:15px;color:var(--muted)}
@media(max-width:1000px){.edition{display:none}.site-header nav{gap:18px}.project-grid{gap:15px}.agent-card{padding:20px}.agent-card h2{font-size:1.9rem}}
@media(max-width:680px){.project-grid,.course-grid,.project-rules{grid-template-columns:1fr}.project-intro{align-items:start;flex-direction:column;gap:15px}.project-intro h1{font-size:3rem}.site-header nav{gap:8px;font-size:12px}.case-grid{grid-template-columns:repeat(8,1fr)}.question-prompt{font-size:1.1rem}.question-prompt:has(.katex-display){font-size:1.12rem}.extension-strip{flex-direction:column;align-items:start}.course-column{padding:20px}.katex-display{max-width:100%}}

/* Readable controls and a shared identity at small sizes. */
:root{--muted:#505b53}
.brand-symbol{width:58px;height:58px;flex-shrink:0;mask-size:118%;-webkit-mask-size:118%}
.brand{font-size:23px;gap:14px;letter-spacing:-.65px}
.brand-mark-large{width:130px;height:130px;mask-size:118%;-webkit-mask-size:118%}
.plot-math-label{font-size:13px;color:var(--red);line-height:1.3}
.teacher-strip{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:25px;border:1px solid var(--line);background:var(--wash);margin-top:30px}
.teacher-strip p{color:var(--muted);font-size:15px;margin-top:6px}.teacher-strip .inline-links{margin:0;flex-shrink:0}
.teacher-observations{display:grid;gap:16px;margin:22px 0}.teacher-observations section{border:1px solid var(--line);padding:20px}.teacher-observations h3{margin-top:0}.teacher-observations p{font-size:15px}
textarea::placeholder{color:#59635b}button,input,select,textarea,.secondary{border-color:#8a958c}.resource-card,.agent-card,.course-column{border-color:#b7c0b8}
.case-grid button.checked:after{width:auto;height:auto;bottom:0;left:auto;right:2px;background:none;font-size:10px;font-weight:700;line-height:1}
.case-grid button.correct:after{content:'✓'}.case-grid button.incorrect:after{content:'!'}
.legend i{width:14px;height:14px;display:inline-flex;justify-content:center;align-items:center;color:var(--ink);font-style:normal;font-size:11px}.legend .ok:after{content:'✓'}.legend .review:after{content:'!'}
.spec-links,.spec-links small,.agent-card .time-label,.course-topics li small,.project-note{font-size:14px}
@media(max-width:680px){.site-header nav{display:grid;grid-template-columns:1fr 1fr;font-size:14px;gap:4px 20px}.site-header nav a{padding:8px 0;justify-self:start}.teacher-strip{align-items:start;flex-direction:column;padding:20px}.brand{font-size:22px}.brand-symbol{width:52px;height:52px}.project-grid{grid-template-columns:1fr}}

.progress-date{align-self:flex-start;border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:var(--paper);font-size:.875rem;color:var(--muted);white-space:nowrap}
.progress-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);margin:32px 0}
.progress-stat-grid div{padding:20px;border-right:1px solid var(--line)}
.progress-stat-grid div:last-child{border-right:0}
.progress-stat-grid strong{display:block;font:600 clamp(2rem,4vw,3rem)/1 var(--serif);color:var(--red-dark)}
.progress-stat-grid span{display:block;margin-top:8px;font-size:.875rem;color:var(--muted)}
.progress-board{margin-top:34px}
.progress-board>h2{margin-bottom:16px}
.progress-task-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.progress-task-list li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}
.progress-task-list .status-badge{align-self:start;justify-self:start;margin:0}
.progress-task-list h3{margin:0 0 7px;font-size:1.2rem}
.progress-task-list p{margin:0;max-width:78ch;color:var(--muted)}
@media(max-width:680px){
 .progress-date{white-space:normal}
 .progress-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .progress-stat-grid div:nth-child(2){border-right:0}
 .progress-stat-grid div:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .progress-task-list li{grid-template-columns:1fr;gap:10px}
}

.timing-page{max-width:1300px}.timing-section{margin:34px 0}.timing-section>.section-head{margin-bottom:20px}.timing-section>p{max-width:850px;margin:16px 0}.timing-table-wrap{overflow-x:auto;margin:24px 0}.timing-table{border-collapse:collapse;width:100%;font-size:15px;text-align:left}.timing-table caption{text-align:left;font-size:14px;color:var(--muted);padding-bottom:12px}.timing-table th,.timing-table td{padding:16px;border-bottom:1px solid var(--line);vertical-align:top}.timing-table thead{background:var(--wash)}.timing-table tbody th{font-weight:500;width:25%}.timing-table td:last-child{white-space:nowrap;color:var(--red);font-weight:600}.timing-controls,.timing-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:24px 0}.timing-field{min-width:0}.timing-field label{display:block;margin-bottom:8px;font-weight:600;font-size:14px}.timing-field input,.timing-field select{width:100%;padding:12px;border:1px solid #7e8a80;border-radius:3px;background:#fff;color:var(--ink)}.timing-field p.side-small{margin-top:8px!important}.timing-observations{background:var(--wash);border:1px solid var(--line);padding:24px;margin-top:24px}.timing-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:26px 0 12px}.timing-stats dt{font-size:14px;color:var(--muted);margin-bottom:12px}.timing-stats dd{margin:0;font-size:22px;font-family:var(--serif)}.timing-form-grid input[type=number]{max-width:250px}.timing-privacy{font-size:14px;max-width:850px}.timing-status{font-weight:500}.timing-verification p{font-size:14px}.timing-page .scope-note{font-size:14px;color:var(--muted);line-height:1.7}.timing-page .side-small{font-size:14px!important}.timing-page #timing-submit-status{margin-top:15px;max-width:750px}.timing-page .check-label{margin-bottom:8px}.timing-page .check-label+.side-small{margin-top:6px!important}.timing-page .section-head button{font-size:14px}
@media(max-width:680px){.timing-controls,.timing-form-grid{grid-template-columns:1fr}.timing-stats{grid-template-columns:1fr 1fr;gap:22px 14px}.timing-table th,.timing-table td{padding:12px 8px;font-size:14px}.timing-table tbody th{min-width:120px}.timing-table td:nth-child(2){min-width:175px}.timing-observations{padding:18px}.timing-page .section-head{align-items:flex-start}.timing-page h1{font-size:3rem}}
