@charset "UTF-8";

@font-face {
  font-family: "Montserrat";
  src: url("fonts/Montserrat-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Unbounded";
  src: url("fonts/Unbounded-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}

:root { font-family: "Montserrat", "Segoe UI", sans-serif; }
body { font-weight:450; }
h1,h2,.brand { font-family:"Unbounded", "Montserrat", sans-serif; }
h1,.page-heading h1 { font-size:27px; font-weight:450; line-height:1.5; letter-spacing:-.9px; }
h2 { font-weight:450; line-height:1.6; letter-spacing:-.4px; }
.brand { font-size:19px; letter-spacing:-1px; gap:10px; }
.brand small { font-family:"Montserrat",sans-serif; font-size:7px; letter-spacing:1.4px; }
.brand-mark { font-family:"Montserrat",sans-serif; font-size:26px; }
.brand-light { font-weight:350; }
.hero h2 { font-size:27px; font-weight:450; line-height:1.5; letter-spacing:-.7px; }
.section-heading h2 { font-size:16px; }
.settings-panel h2,dialog h2 { font-size:17px; }
.lesson-title-block h1 { font-size:21px; line-height:1.65; font-weight:450; letter-spacing:-.7px; }
.page-heading p { line-height:1.9; }
nav a { font-size:11px; line-height:1.6; }
.course-card-body h3,.homework-card h3,.material-card h3 { font-weight:550; line-height:1.7; }
.stat-value { font-family:"Unbounded",sans-serif; font-size:24px; font-weight:400; }
.stat-value small { font-family:"Montserrat",sans-serif; }
.stat-label { min-height:27px; line-height:1.5; margin-bottom:5px; }
.stage summary h3,.lesson-side .stage summary h3 { line-height:1.7; }
.course-banner h3 { line-height:1.5; }
.workspace-label { font-size:9px; white-space:nowrap; gap:6px; }
.offline-card p { font-size:9px; }
.profile small { font-size:8px; }
code,pre,.code-editor,.source-code,.file-tab,.source-file { font-family:Consolas,"Courier New",monospace; }

@media(min-width:1600px) {
  h1,.page-heading h1 { font-size:30px; }
  .hero h2 { font-size:31px; }
}
@media(max-width:1180px) {
  .brand { font-size:17px; }
  .brand small { font-size:6px; letter-spacing:1.2px; }
  .hero h2 { font-size:24px; }
  h1,.page-heading h1 { font-size:24px; }
  .stat-value { font-size:21px; }
}
@media(min-width:981px) and (max-width:1180px) {
  :root { --sidebar:238px; }
}
@media(max-width:980px) {
  .brand { font-size:15px; gap:8px; }
  nav a,.sidebar nav a { font-size:10px; }
  .hero h2 { font-size:22px; }
}
@media(max-width:720px) {
  h1,.page-heading h1 { font-size:22px; }
  .hero h2 { font-size:23px; }
  .sidebar .brand { font-size:19px; }
  .sidebar .brand small { font-size:7px; }
  .sidebar nav a { font-size:11px; }
  .lesson-title-block h1 { font-size:19px; }
  .section-heading h2 { font-size:15px; }
  .stat-value { font-size:22px; }
}
@media(max-width:420px) {
  .hero h2 { font-size:23px; }
  h1,.page-heading h1 { font-size:21px; }
  .lesson-title-block h1 { font-size:18px; }
}
