.language-workspace { max-width: 72rem; margin: 0 auto; color: #e2e8f0; }
.language-workspace h1 { font-size: clamp(1.8rem, 5vw, 2.6rem); font-weight: 700; }
.language-workspace h2 { font-size: 1.25rem; font-weight: 650; }
.language-workspace h3, .language-workspace h4 { font-weight: 650; line-height: 1.5; }
.language-workspace h3 { font-size: 1.1rem; }
.language-review-steps { list-style: decimal; padding-left: 1.4rem; line-height: 1.65; }
.language-review-steps li { padding-left: .2rem; margin: .5rem 0; }
.language-workspace p { max-width: 70ch; margin: .6rem 0; line-height: 1.65; }
.language-workspace a { color: #67e8f9; text-decoration: underline; text-underline-offset: .2em; }
.language-course-links { display: flex; flex-wrap: wrap; gap: .65rem 1rem; padding: 1rem 0; }
.language-course-links [aria-current] { font-weight: 750; text-decoration-thickness: 3px; }
.language-panel { background: var(--reading-surface, var(--space-void)); border: 1px solid #64748b; border-radius: .9rem; padding: 1.2rem; margin: 1rem 0; }
.language-workspace summary { cursor: pointer; font-weight: 650; min-height: 2rem; }
.language-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; margin: 1rem 0; }
.language-fields label { display: grid; gap: .35rem; }
.language-workspace input, .language-workspace select, .language-workspace button { background: var(--reading-surface, var(--space-void)); color: inherit; border: 1px solid #64748b; border-radius: .4rem; padding: .6rem; min-height: 44px; max-width: 100%; }
.language-workspace button { cursor: pointer; }
.language-workspace :focus-visible { outline: 3px solid #22d3ee; outline-offset: 3px; }
.language-units { list-style: decimal inside; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 1rem; }
.language-units .language-panel { margin: 0; overflow-wrap: anywhere; }
html[data-theme="light"] .language-workspace { color: #172033; }
html[data-theme="light"] .language-workspace a { color: #075985; }
html[data-theme="light"] .language-panel,
html[data-theme="light"] .language-workspace input,
html[data-theme="light"] .language-workspace select,
html[data-theme="light"] .language-workspace button { background: #fff; border-color: #64748b; }
.language-panel[hidden], .language-workspace [hidden] { display: none !important; }

.language-workspace textarea { display: block; width: 100%; min-height: 7rem; background: var(--reading-surface, var(--space-void)); color: inherit; border: 1px solid #64748b; border-radius: .4rem; padding: .6rem; font-size: 1rem; }
html[data-theme="light"] .language-workspace textarea { background: #fff; }

/* ▼▼ LIGHT THEME — GENERATED by scripts/build_light_theme.py from the rules above. Do not edit by hand: run the builder. Hand tuning goes in 36-theme-light.css. ▼▼ */
html[data-theme="light"] .language-workspace{color:rgb(44 63 88)}
html[data-theme="light"] .language-workspace a{color:rgb(2 111 126)}
html[data-theme="light"] .language-panel{border-color:rgb(116 132 155)}
html[data-theme="light"] .language-workspace input,html[data-theme="light"] .language-workspace select,html[data-theme="light"] .language-workspace button{border-color:rgb(116 132 155)}
html[data-theme="light"] .language-workspace textarea{border-color:rgb(116 132 155)}
/* ▲▲ LIGHT THEME END ▲▲ */
