
:root{
  --bg:#f4f6fa;
  --paper:#ffffff;
  --ink:#172033;
  --muted:#697386;
  --line:#dde3ec;
  --navy:#20385f;
  --blue:#3f69ad;
  --blue2:#7396cf;
  --blue-soft:#eaf0f8;
  --green:#4f7b69;
  --green-soft:#eef6f2;
  --amber:#9a6b24;
  --amber-soft:#faf2df;
  --red:#a35454;
  --red-soft:#fbefef;
  --slate:#39455c;
  --max:1180px;
  --r:16px;
  --shadow:0 12px 30px rgba(22,32,51,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Hiragino Sans","Yu Gothic","Meiryo",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.75;letter-spacing:.01em
}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.96);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)
}
.nav{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:11px;font-weight:850;letter-spacing:.02em}
.brand-mark{
  width:38px;height:38px;border-radius:10px;background:var(--navy);color:#fff;
  display:grid;place-items:center;font-family:Georgia,serif;font-size:1.12rem
}
.nav-links{display:flex;gap:22px;color:#4f5b73;font-size:.92rem;font-weight:750}
.nav-links a:hover{color:var(--blue)}
.nav-cta{padding:9px 14px;border-radius:9px;background:var(--navy);color:#fff;font-weight:800;font-size:.9rem}

.hero{
  padding:78px 0 64px;background:linear-gradient(180deg,#fff 0%,#f8faff 100%);
  border-bottom:1px solid var(--line)
}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.eyebrow{font-size:.74rem;letter-spacing:.15em;font-weight:850;color:var(--blue);margin-bottom:12px}
.hero h1,.page-hero h1{
  margin:0 0 18px;font-size:clamp(3rem,6vw,5.8rem);line-height:1.03;letter-spacing:-.052em
}
.hero p,.page-hero p{margin:0;color:var(--muted);font-size:1.05rem;max-width:760px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;border-radius:10px;border:1px solid var(--navy);font-weight:800}
.btn.primary{background:var(--navy);color:#fff}
.btn.secondary{background:#fff;color:var(--navy)}

.dashboard{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)
}
.dashboard-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dashboard h3{margin:0;font-size:1.05rem}
.progress{height:8px;background:#edf1f6;border-radius:999px;overflow:hidden;margin:14px 0 8px}
.progress > span{display:block;height:100%;background:var(--blue);width:0}
.muted{color:var(--muted)}
.small{font-size:.82rem}
.lesson-list{display:grid;gap:9px;margin-top:18px}
.lesson-item{
  display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;
  padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff
}
.lesson-item .num{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--blue-soft);color:var(--navy);font-weight:850;font-size:.82rem}
.lesson-item.completed{background:#f8fbf9}
.lesson-item.completed .num{background:var(--green-soft);color:var(--green)}
.lesson-item strong{font-size:.92rem}
.lesson-item small{display:block;color:var(--muted)}

.section{padding:72px 0}
.section.alt{background:#eef2f7;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-title{max-width:800px;margin-bottom:30px}
.section-title h2{margin:0 0 10px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;letter-spacing:-.035em}
.section-title p{margin:0;color:var(--muted)}

.cards{display:grid;gap:18px}
.cards.three{grid-template-columns:repeat(3,1fr)}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 8px 20px rgba(22,32,51,.035)}
.card .tag{display:inline-block;padding:4px 8px;border-radius:6px;background:var(--blue-soft);color:var(--navy);font-size:.7rem;font-weight:850;letter-spacing:.04em}
.card h3{margin:14px 0 7px;font-size:1.4rem}
.card p{margin:0;color:var(--muted)}
.card .link{display:inline-block;margin-top:16px;color:var(--blue);font-weight:800}

.flow{display:grid;gap:12px}
.flow-row{display:grid;grid-template-columns:60px 1fr;gap:16px;align-items:start}
.flow-no{width:46px;height:46px;border-radius:11px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:850}
.flow-body{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 19px}
.flow-body h3{margin:0 0 4px;font-size:1.22rem}
.flow-body p{margin:0;color:var(--muted)}

.curriculum-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.course-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.course-card h2{margin:6px 0 8px;font-size:1.7rem}
.course-card p{margin:0;color:var(--muted)}
.course-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem;font-weight:750}
.course-list{list-style:none;margin:16px 0 0;padding:0}
.course-list li{padding:8px 0;border-top:1px solid #edf0f4;color:#4f5a71;font-size:.92rem}
.course-list li a:hover{color:var(--blue)}

.page-hero{padding:52px 0 36px;background:#fff;border-bottom:1px solid var(--line)}
.breadcrumb{font-size:.84rem;color:var(--muted);margin-bottom:10px}
.page-hero h1{font-size:clamp(2.5rem,5vw,4.6rem)}
.page-hero .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.meta-pill{padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.77rem;color:#5f6a7d;font-weight:700}

.lesson-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;padding:38px 0 76px;align-items:start}
.sidebar{position:sticky;top:92px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}
.sidebar h3{margin:0 0 8px;font-size:.94rem}
.sidebar a{display:block;padding:7px 0;border-bottom:1px solid #edf0f4;color:#627087;font-size:.88rem;font-weight:700}
.sidebar a:last-of-type{border-bottom:0}
.sidebar a:hover{color:var(--blue)}
.sidebar .course-progress{margin-top:16px}
.lesson{
  background:#fff;border:1px solid var(--line);border-radius:17px;padding:34px 40px;box-shadow:var(--shadow)
}
.lesson h2{margin:46px 0 11px;font-size:1.8rem;line-height:1.25;letter-spacing:-.025em}
.lesson h2:first-of-type{margin-top:0}
.lesson h3{margin:28px 0 8px;font-size:1.25rem}
.lesson p,.lesson li{color:#465269}
.lesson .lead{font-size:1.06rem;color:#37445d;border-left:4px solid var(--blue);padding-left:17px}
.goal{
  background:var(--blue-soft);border:1px solid #d5e0ef;border-radius:12px;padding:17px 19px;margin:22px 0
}
.goal strong{display:block;margin-bottom:6px}
.goal ul{margin:0;padding-left:18px}

.figure{
  margin:22px 0;border:1px solid var(--line);border-radius:14px;background:#fbfcfe;padding:18px
}
.figure-title{font-weight:800;margin-bottom:10px;color:var(--navy)}
.figure svg{width:100%;height:auto;display:block}
.caption{margin-top:8px;color:var(--muted);font-size:.82rem}

.formula{
  margin:20px 0;padding:17px;background:#f8fafc;border:1px solid var(--line);border-radius:11px;
  text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;color:#222b3d
}
.formula small{display:block;margin-top:6px;font-size:.8rem;color:var(--muted);font-family:inherit}

.example,.note,.warning,.review-link{
  margin:20px 0;padding:17px 19px;border-radius:12px
}
.example{background:#fbfcfe;border:1px solid var(--line)}
.note{background:var(--green-soft);border-left:5px solid var(--green)}
.warning{background:var(--amber-soft);border-left:5px solid var(--amber)}
.review-link{background:#f5f7fb;border:1px dashed #b8c3d4}
.example strong,.note strong,.warning strong,.review-link strong{display:block;margin-bottom:6px}

.exercise{
  margin:22px 0;border:1px solid var(--line);border-radius:13px;overflow:hidden
}
.exercise-head{padding:12px 16px;background:#f6f8fb;font-weight:850}
.exercise-body{padding:16px 18px}
.exercise label{display:block;margin:7px 0;color:#465269}
.exercise button{margin-top:12px;border:0;border-radius:8px;padding:9px 12px;background:var(--navy);color:#fff;font-weight:800;cursor:pointer}
.exercise .result{margin-top:10px;font-weight:800}
details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
summary{cursor:pointer;color:var(--blue);font-weight:800}

.graph-controls{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0
}
.control{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}
.control label{display:flex;justify-content:space-between;font-size:.84rem;font-weight:750;margin-bottom:6px}
.control input{width:100%}
.graph-stage{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
canvas{display:block;width:100%;height:360px}

.summary{
  margin-top:36px;background:var(--navy);color:#fff;border-radius:14px;padding:22px
}
.summary h3{margin:0 0 8px}
.summary ul{margin:0;padding-left:18px;color:#e7edf7}
.next{
  margin-top:18px;border:1px solid var(--line);border-radius:13px;padding:18px;background:#fff
}
.next .eyebrow{margin:0 0 4px}
.next h3{margin:0 0 5px}
.next p{margin:0;color:var(--muted)}

footer{padding:38px 0;background:#172033;color:#fff}
.footer{display:flex;justify-content:space-between;gap:22px;align-items:center}
.footer-links{display:flex;gap:18px;color:#c7cfdd;font-size:.88rem}

@media(max-width:920px){
  .nav-links{display:none}
  .hero-grid,.lesson-layout{grid-template-columns:1fr}
  .curriculum-grid,.cards.three,.cards.two{grid-template-columns:1fr}
  .sidebar{position:static}
  .lesson{padding:26px 22px}
  .graph-controls{grid-template-columns:1fr}
  .footer{flex-direction:column;align-items:flex-start}
}


/* Public-ready additions */
.utility-page{padding:58px 0 82px}
.utility-card{
  max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:32px 38px;box-shadow:var(--shadow)
}
.utility-card h1{margin:0 0 10px;font-size:clamp(2.3rem,5vw,4rem);letter-spacing:-.04em}
.utility-card h2{margin:34px 0 10px;font-size:1.45rem}
.utility-card p,.utility-card li{color:#4d596f}
.utility-card ul{padding-left:20px}
.site-notice{
  background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:20px 0
}
.footer-links{flex-wrap:wrap}
.error-page{text-align:center;padding:100px 0 120px}
.error-code{font-size:clamp(5rem,14vw,10rem);font-weight:900;line-height:.9;color:var(--navy)}
.error-page h1{font-size:2rem;margin:20px 0 8px}
.error-page p{color:var(--muted)}
.feedback-inline{
  margin-top:28px;padding:18px;border:1px solid var(--line);background:#f8fafc;border-radius:12px
}
.feedback-inline strong{display:block;margin-bottom:5px}
.feedback-inline p{margin:0;color:var(--muted)}
@media(max-width:700px){.utility-card{padding:24px 20px}}


/* v0.2 textbook-like lesson components */
.chapter-label{
  display:inline-flex;align-items:center;gap:8px;padding:5px 9px;border-radius:999px;
  border:1px solid var(--line);background:#fff;color:#59667c;font-size:.78rem;font-weight:800
}
.definition{
  margin:20px 0;padding:18px 20px;border:1px solid #cbd8ea;border-left:5px solid var(--blue);
  border-radius:12px;background:#f8fbff
}
.definition strong{display:block;color:var(--navy);margin-bottom:6px}
.steps{
  counter-reset:step;display:grid;gap:10px;margin:18px 0
}
.step{
  position:relative;padding:14px 16px 14px 52px;border:1px solid var(--line);border-radius:11px;background:#fff
}
.step:before{
  counter-increment:step;content:counter(step);position:absolute;left:14px;top:13px;width:26px;height:26px;
  display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-weight:850;font-size:.78rem
}
.math-line{
  font-family:Georgia,"Times New Roman",serif;font-size:1.12rem;color:#253049;margin:6px 0
}
.problem-set{display:grid;gap:14px;margin-top:18px}
.problem{
  border:1px solid var(--line);border-radius:12px;background:#fff;padding:16px 18px
}
.problem .problem-no{font-size:.75rem;font-weight:850;color:var(--blue);letter-spacing:.05em}
.problem p{margin:5px 0 0}
.keypoint{
  margin:20px 0;padding:16px 18px;border-radius:12px;background:#f3f6fb;border:1px solid #d9e1ec
}
.keypoint strong{color:var(--navy)}
.term-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}
.term{
  border:1px solid var(--line);border-radius:11px;padding:14px;background:#fff
}
.term strong{display:block;color:var(--navy);margin-bottom:4px}
.numberline{margin:20px 0;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;padding:14px}
.v02-banner{
  padding:10px 0;background:#eef3fa;border-bottom:1px solid #dbe3ef;color:#526177;font-size:.86rem
}
.v02-banner strong{color:var(--navy)}
.status-chip{
  display:inline-block;padding:4px 8px;border-radius:999px;background:var(--green-soft);
  color:var(--green);font-size:.72rem;font-weight:850
}
@media(max-width:700px){.term-grid{grid-template-columns:1fr}}


/* v0.2.1 readability fix: summary box */
.lesson .summary{
  background:#20385f;
  color:#ffffff;
}
.lesson .summary h3{
  color:#ffffff;
}
.lesson .summary p,
.lesson .summary li{
  color:#f1f5fb;
}
.lesson .summary li::marker{
  color:#b9cbea;
}


/* v0.2.2 — typography overhaul */

/* Japanese body text: prioritize legibility over a light modern look */
html{
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body{
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic Medium",
    "Yu Gothic",
    "Meiryo",
    sans-serif;
  font-weight: 400;
  line-height: 1.82;
  letter-spacing: 0.012em;
  color: #202a3d;
}

/* Avoid overly thin gray body text */
.lesson p,
.lesson li,
.card p,
.flow-body p,
.page-hero p,
.hero p,
.utility-card p,
.utility-card li{
  color:#3f4b61;
  font-weight:400;
}

/* Headings: slightly heavier and more compact */
h1,h2,h3,h4,
.lesson h2,
.lesson h3,
.section-title h2{
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "Meiryo",
    sans-serif;
  font-weight: 750;
  letter-spacing: -0.025em;
}

/* Inline mathematical expressions */
.math-line,
.formula{
  font-family:
    "Cambria Math",
    "STIX Two Math",
    "STIX Math",
    "Times New Roman",
    "Times",
    serif;
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: 0;
  color:#172033;
}

/* Display equations */
.formula{
  font-size: clamp(1.32rem, 2.4vw, 1.72rem);
  line-height: 1.55;
  padding: 20px 22px;
  margin: 24px 0;
  background:#f7f9fc;
  border:1px solid #d7dee9;
  border-radius:12px;
  overflow-x:auto;
  white-space:nowrap;
  font-weight:400;
}

/* Equations occurring within explanatory prose */
.math-line{
  font-size: 1.16em;
  line-height:1.75;
  font-weight:400;
}

/* Symbols and formulas inside examples should remain dark */
.example .math-line,
.keypoint .math-line,
.definition .math-line{
  color:#172033;
}

/* More breathing room around lesson text */
.lesson{
  font-size: 1.02rem;
}
.lesson p{
  margin-top: 0.75em;
  margin-bottom: 0.95em;
}
.lesson li{
  margin: .28em 0;
}

/* Better contrast for captions/meta text without making them visually dominant */
.caption,
.small,
.muted{
  color:#647087;
}

/* Preserve corrected summary-box contrast */
.lesson .summary,
.lesson .summary h3{
  color:#fff;
}
.lesson .summary p,
.lesson .summary li{
  color:#f3f6fb;
}


/* v0.2.3 — textbook-style mathematical typesetting */

.lesson{
  font-size:1rem;
  line-height:1.78;
}
.lesson h2{
  font-size:clamp(1.55rem, 2.8vw, 1.95rem);
  line-height:1.34;
  margin:40px 0 12px;
  letter-spacing:-.025em;
}
.lesson h3{
  font-size:1.16rem;
  line-height:1.45;
}
.lesson p{
  margin:.65em 0 .9em;
}

/* Mathematics is no longer a fake serif-text box. */
.formula{
  background:transparent;
  border:0;
  border-radius:0;
  padding:7px 4px;
  margin:17px 0 20px;
  text-align:center;
  overflow-x:auto;
  white-space:normal;
  color:#172033;
}
.formula .katex{
  font-size:1.34em;
}
.math-line{
  font-family:inherit;
  font-size:inherit;
  color:inherit;
}
span.math-line .katex{
  font-size:1.06em;
}
div.math-line{
  margin:7px 0;
  overflow-x:auto;
}
div.math-line .katex{
  font-size:1.16em;
}

/* A worked example should look like worked mathematics, not an empty card. */
.example{
  margin:19px 0 24px;
  padding:17px 20px 18px;
  background:#fbfcfe;
  border:1px solid #d9e0ea;
  border-left:3px solid #8095b6;
  border-radius:10px;
}
.example > strong:first-child{
  display:inline-block;
  margin:0 0 9px;
  color:#29364e;
  font-size:.9rem;
  letter-spacing:.04em;
}
.example .worked-equation{
  margin:5px 0 7px;
  padding:2px 0;
  overflow-x:auto;
}
.example .worked-equation .katex-display{
  margin:.35em 0;
}
.example .worked-equation .katex{
  font-size:1.22em;
}

/* Important rules should be noticeable without dominating the page. */
.warning{
  margin:20px 0 24px;
  padding:15px 18px;
  border-left:4px solid #b27a26;
  border-radius:9px;
  background:#fff7e8;
}
.warning strong{
  font-size:.96rem;
  margin-bottom:5px;
}
.warning p{
  margin:.3em 0 0;
}

/* Less card-heavy, more textbook-like hierarchy. */
.keypoint,
.note,
.definition{
  border-radius:9px;
  padding:15px 18px;
}
.figure{
  border-radius:10px;
}
.exercise{
  border-radius:10px;
}

/* Compact explanation under worked equations */
.worked-note{
  margin:9px 0 0 !important;
  color:#56647a !important;
  font-size:.94rem;
}
.math-caption{
  text-align:center;
  color:#67748a;
  font-size:.86rem;
  margin-top:3px;
}

/* Two-line comparison diagram */
.inequality-transform{
  margin:18px 0 8px;
  border:0;
  background:transparent;
  padding:0;
}
.inequality-transform svg{
  width:100%;
  display:block;
}


/* =========================================================
   v0.2.4 — unified textbook typesetting for every public lesson
   ========================================================= */

.lesson{
  font-size:1rem;
  line-height:1.78;
}
.lesson h2{
  font-size:clamp(1.48rem,2.6vw,1.86rem);
  line-height:1.35;
  margin:38px 0 12px;
  letter-spacing:-.025em;
}
.lesson h3{
  font-size:1.12rem;
  line-height:1.45;
}
.lesson p{
  margin:.62em 0 .88em;
}

/* Display math: no giant gray card */
.lesson .formula,
.lesson .display-math{
  display:block;
  margin:16px 0 21px;
  padding:5px 0;
  border:0;
  border-radius:0;
  background:transparent;
  text-align:center;
  overflow-x:auto;
  white-space:normal;
  color:#172033;
}
.lesson .formula .katex,
.lesson .display-math .katex{
  font-size:1.28em;
}

/* Inline math */
.lesson .math-line{
  font-family:inherit;
  font-size:inherit;
  color:inherit;
  letter-spacing:0;
}
.lesson span.math-line .katex{
  font-size:1.03em;
}

/* Worked equations */
.example{
  margin:18px 0 23px;
  padding:16px 19px 17px;
  background:#fbfcfe;
  border:1px solid #d9e0ea;
  border-left:3px solid #879bb9;
  border-radius:9px;
}
.example > strong:first-child{
  display:inline-block;
  margin:0 0 8px;
  color:#2b3850;
  font-size:.88rem;
  letter-spacing:.045em;
}
.worked-equation{
  margin:3px 0 5px;
  padding:2px 0;
  overflow-x:auto;
}
.worked-equation .katex-display{
  margin:.32em 0;
}
.worked-equation .katex{
  font-size:1.16em;
}
.worked-note{
  margin:8px 0 0 !important;
  color:#58657a !important;
  font-size:.93rem;
}

/* Formula collections */
.formula-group{
  margin:16px 0 22px;
  padding:14px 18px;
  border-left:3px solid #9aacC6;
  background:#f9fbfd;
}
.formula-group .display-math{
  margin:6px 0;
}

/* Notes: quieter than the old UI */
.warning,
.keypoint,
.note,
.definition{
  margin:18px 0 22px;
  padding:14px 17px;
  border-radius:8px;
}
.warning{
  background:#fff7e9;
  border-left:4px solid #ad7727;
}
.warning strong,
.keypoint strong,
.note strong,
.definition strong{
  margin-bottom:4px;
}
.keypoint{
  background:#f4f7fb;
  border:1px solid #dbe2ec;
  border-left:4px solid #7189ab;
}
.definition{
  background:#f7faff;
  border:1px solid #d8e2ef;
  border-left:4px solid #5579ac;
}
.note{
  background:#f3f8f5;
  border-left:4px solid #5c816f;
}

/* Figures should not compete with the mathematics */
.figure,
.numberline{
  margin:19px 0 23px;
  padding:15px;
  border:1px solid #dde3eb;
  border-radius:9px;
  background:#fcfdff;
}
.figure-title{
  font-size:.9rem;
  margin-bottom:8px;
  color:#4b5a71;
}

/* Exercises */
.exercise{
  border-radius:9px;
}
.problem{
  border-radius:9px;
}

/* Headings should not overpower the page */
.page-hero h1{
  font-size:clamp(2.15rem,4.4vw,3.75rem);
}
.lesson .lead{
  font-size:1.01rem;
}

/* Keep summary contrast */
.lesson .summary{
  background:#20385f;
  color:#fff;
}
.lesson .summary h3{color:#fff}
.lesson .summary p,
.lesson .summary li{color:#f3f6fb}

.lesson h2 .katex,
.lesson h3 .katex{
  font-size:.96em;
}
.exercise label .katex,
.problem .katex,
details .katex{
  font-size:1em;
}
