:root{
  --bg:#e9edf2;
  --paper:#fffdfa;
  --paper-2:#f8f6f1;
  --ink:#1a2433;
  --muted:#657184;
  --line:#dce2ea;
  --brand:#1f3a5f;
  --brand-2:#315d89;
  --accent:#b7791f;
  --success:#216e50;
  --danger:#9c2e2e;
  --shadow:0 14px 40px rgba(22,32,44,.11);
  --radius:18px;
  --reader-font:18px;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
/* Critical visibility rule: author display rules can otherwise override the HTML hidden attribute.
   This keeps the subject chooser and reader mutually exclusive, including for returning users
   whose URL already contains an old chapter hash. */
[hidden]{display:none!important}
#subjectChooser[hidden],#appShell[hidden]{display:none!important}
body.choosing #appShell{display:none!important}
body:not(.choosing) #subjectChooser{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6}
button,input,select{font:inherit}
button{cursor:pointer}
body.dark{
  --bg:#10151d;--paper:#171e28;--paper-2:#1d2632;--ink:#eef4fb;--muted:#aeb9c8;--line:#303b49;
  --brand:#91b8e2;--brand-2:#6ea1d5;--accent:#e1aa55;--shadow:0 16px 46px rgba(0,0,0,.28)
}
.app-shell{min-height:100vh;display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-rows:68px 1fr;grid-template-areas:"top top" "side main"}
.topbar{grid-area:top;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;flex-direction:column;line-height:1.12}.brand-kicker,.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--accent)}
.brand strong{font-size:17px}.top-actions{display:flex;gap:7px;align-items:center}
.icon-btn,.text-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;min-width:38px;height:38px;padding:0 10px}.icon-btn:hover,.text-btn:hover{background:var(--paper-2)}
.sidebar{grid-area:side;position:sticky;top:68px;height:calc(100vh - 68px);overflow:auto;background:var(--paper);border-right:1px solid var(--line);padding:20px 16px;z-index:20}
.sidebar-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:0 6px 16px}.sidebar h1{font:700 25px/1.15 var(--serif);margin:4px 0 0}
.progress-card{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:12px 13px;margin-bottom:16px}.progress-row{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.progress-row strong{color:var(--ink)}.progress-track{height:7px;background:var(--line);border-radius:999px;margin-top:9px;overflow:hidden}.progress-bar{height:100%;width:0;background:var(--brand-2);transition:width .25s}
.toc{display:flex;flex-direction:column;gap:4px}.toc-section{margin:14px 8px 5px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.toc button{width:100%;text-align:left;border:0;background:transparent;color:var(--muted);border-radius:10px;padding:9px 10px;font-size:13px;line-height:1.35}.toc button:hover{background:var(--paper-2);color:var(--ink)}.toc button.active{background:color-mix(in srgb,var(--brand-2) 13%,var(--paper));color:var(--brand);font-weight:750}.toc button.bookmarked::after{content:"★";float:right;color:var(--accent)}.toc-index{display:inline-flex;width:23px;color:var(--muted);font-variant-numeric:tabular-nums}
.sidebar-foot{margin-top:20px;border-top:1px solid var(--line);padding:14px 8px;color:var(--muted);font-size:11px;display:flex;flex-direction:column;gap:4px}.link-btn{padding:0;border:0;background:none;color:var(--brand);text-align:left;font-weight:700}
.main{grid-area:main;min-width:0;padding:0 24px 38px}.reader-tools{position:sticky;top:68px;z-index:15;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 2px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px)}.crumb{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.pill-btn,.rate-select,.nav-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:700}.pill-btn:hover,.nav-btn:hover{transform:translateY(-1px)}.pill-btn.primary,.nav-btn.primary{background:var(--brand);color:white;border-color:var(--brand)}.rate-select{padding-right:28px}
.book-page{max-width:930px;margin:0 auto;background:var(--paper);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(28px,5vw,66px);min-height:75vh;font-size:var(--reader-font)}
.chapter-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.book-page h1,.book-page h2,.book-page h3{font-family:var(--serif);line-height:1.18;color:var(--ink)}.book-page h1{font-size:clamp(34px,5vw,54px);margin:0 0 12px}.book-page h2{font-size:29px;margin:38px 0 12px}.book-page h3{font-size:22px;margin:26px 0 10px}.chapter-summary{font-size:1.08em;color:var(--muted);max-width:760px;margin:0 0 22px}.chapter-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.meta-chip{font-size:11px;font-weight:800;border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--muted);background:var(--paper-2)}
.book-page p{margin:12px 0}.book-page ul,.book-page ol{padding-left:24px}.book-page li{margin:7px 0}.definition{border-left:4px solid var(--brand-2);background:color-mix(in srgb,var(--brand-2) 8%,var(--paper));padding:15px 17px;border-radius:0 12px 12px 0;margin:19px 0}.definition strong{color:var(--brand)}
.callout{border:1px solid var(--line);background:var(--paper-2);border-radius:14px;padding:16px 18px;margin:20px 0}.callout.tip{border-left:4px solid var(--accent)}.callout.exam{border-left:4px solid var(--success)}.callout.warning{border-left:4px solid var(--danger)}.callout-title{font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;color:var(--muted)}
.formula{font-family:"Cambria Math","Times New Roman",serif;font-size:1.08em;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:17px 0;overflow:auto;white-space:pre-wrap}.formula .formula-label{display:block;font:800 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.example{border:1px dashed color-mix(in srgb,var(--brand-2) 55%,var(--line));border-radius:14px;padding:16px 18px;margin:18px 0;background:color-mix(in srgb,var(--brand-2) 5%,var(--paper))}.example-title{font-weight:850;color:var(--brand);margin-bottom:5px}
.table-wrap{overflow:auto;margin:19px 0;border:1px solid var(--line);border-radius:13px}.data-table{width:100%;border-collapse:collapse;font-size:.88em}.data-table th,.data-table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.data-table th{background:var(--paper-2);font-size:.82em;letter-spacing:.02em}.data-table tr:last-child td{border-bottom:0}
.diagram{margin:20px 0;border:1px solid var(--line);background:var(--paper-2);border-radius:15px;padding:13px}.diagram svg{width:100%;height:auto;display:block}.diagram-caption{text-align:center;color:var(--muted);font-size:12px;margin-top:8px}
.qa-card{border:1px solid var(--line);border-radius:14px;margin:14px 0;overflow:hidden}.qa-question{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:var(--paper-2);padding:14px 16px;font-weight:800}.mark-badge{white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:10px;background:var(--brand);color:white}.qa-answer{padding:16px}.qa-answer .answer-lead{font-weight:700}.score-tip{margin-top:13px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,var(--paper));font-size:.9em}
.mcq-grid{display:grid;gap:14px}.mcq-card{border:1px solid var(--line);border-radius:14px;padding:16px}.mcq-q{font-weight:800;margin-bottom:11px}.mcq-options{display:grid;gap:7px}.mcq-option{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px 12px;text-align:left;color:var(--ink)}.mcq-option:hover{background:var(--paper-2)}.mcq-option.selected{border-color:var(--brand-2);background:color-mix(in srgb,var(--brand-2) 10%,var(--paper))}.mcq-option.correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--paper))}.mcq-option.wrong{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--paper))}.mcq-explanation{margin-top:10px;color:var(--muted);font-size:.9em;display:none}.mcq-card.answered .mcq-explanation{display:block}.quiz-summary{position:sticky;bottom:12px;display:flex;justify-content:space-between;gap:10px;align-items:center;background:var(--brand);color:#fff;border-radius:14px;padding:12px 14px;margin-top:22px;box-shadow:var(--shadow)}.quiz-summary button{border:0;border-radius:999px;padding:8px 13px;font-weight:800}
.page-nav{max-width:930px;margin:16px auto 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.page-count{color:var(--muted);font-size:12px}
.search-panel{position:fixed;z-index:50;top:68px;left:300px;right:0;bottom:0;background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(8px);padding:28px;overflow:auto}.search-panel.hidden{display:none}.search-box-wrap{max-width:840px;margin:0 auto 14px;display:flex;gap:8px}.search-box-wrap input{flex:1;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);padding:14px 16px;outline:none}.search-results{max-width:840px;margin:auto;display:grid;gap:9px}.search-hit{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:13px 15px}.search-hit button{border:0;background:none;color:var(--brand);font-weight:850;padding:0}.search-hit p{margin:5px 0 0;color:var(--muted);font-size:13px}
.toast{position:fixed;z-index:80;right:20px;bottom:20px;transform:translateY(20px);opacity:0;pointer-events:none;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:10px;font-size:12px;transition:.2s}.toast.show{transform:translateY(0);opacity:1}
.skeleton{animation:pulse 1.2s infinite}.sk{background:var(--paper-2);border-radius:7px;margin:10px 0}.sk-kicker{width:120px;height:14px}.sk-title{width:72%;height:48px}.sk-line{height:18px}.sk-line.short{width:58%}@keyframes pulse{50%{opacity:.55}}
.mobile-only{display:none}
@media(max-width:980px){
  .app-shell{grid-template-columns:1fr;grid-template-areas:"top" "main"}.mobile-only{display:inline-flex;align-items:center;justify-content:center}.sidebar{position:fixed;left:0;top:68px;bottom:0;width:min(88vw,330px);height:auto;transform:translateX(-105%);transition:transform .22s;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.main{padding:0 14px 30px}.reader-tools{top:68px}.search-panel{left:0}.book-page{padding:30px 24px}.reader-actions .pill-btn:not(.primary){display:none}
}
@media(max-width:620px){
  .topbar{padding:0 10px}.brand strong{font-size:14px}.brand-kicker{font-size:9px}.top-actions .text-btn{display:none}.main{padding-inline:8px}.reader-tools{padding-inline:2px}.reader-actions{gap:5px}.pill-btn,.rate-select{padding:7px 10px}.book-page{border-radius:14px;padding:25px 18px;font-size:calc(var(--reader-font) - 1px)}.book-page h1{font-size:36px}.book-page h2{font-size:26px}.page-nav{padding:0 2px}.search-panel{padding:16px 10px}.quiz-summary{align-items:flex-start;flex-direction:column}
}
@media print{
  body{background:white}.topbar,.sidebar,.reader-tools,.page-nav,.search-panel,.toast{display:none!important}.app-shell{display:block}.main{padding:0}.book-page{max-width:none;box-shadow:none;border:0;padding:0;font-size:12pt}.qa-card,.callout,.example,.table-wrap{break-inside:avoid}.book-page h2,.book-page h3{break-after:avoid}
}

/* ===== Multi-subject landing + Advanced ML interactive add-on ===== */
.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.topbar-left .brand{min-width:0}.topbar-left .brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(58vw,720px)}
body.choosing{background:linear-gradient(145deg,var(--bg),color-mix(in srgb,var(--brand-2) 10%,var(--bg)))}
.subject-chooser{min-height:100vh;padding:max(28px,env(safe-area-inset-top)) 18px max(30px,env(safe-area-inset-bottom));display:grid;place-items:center}
.chooser-shell{width:min(1040px,100%);background:var(--paper);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:clamp(26px,5vw,58px)}
.chooser-kicker{font-size:12px;letter-spacing:.16em;font-weight:900;color:var(--accent);text-transform:uppercase}.chooser-shell h1{font:800 clamp(36px,7vw,68px)/1.02 var(--serif);margin:8px 0 12px}.chooser-lead{max-width:760px;color:var(--muted);font-size:17px;margin:0 0 28px}.subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.subject-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:20px;padding:22px;background:var(--paper-2);color:var(--ink);transition:.2s;min-height:205px}.subject-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(22,32,44,.12);border-color:color-mix(in srgb,var(--brand-2) 55%,var(--line))}.subject-card.advanced{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-2) 11%,var(--paper)),var(--paper-2))}.subject-card.vision{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--paper)),var(--paper-2))}.subject-card.statistics{background:linear-gradient(135deg,color-mix(in srgb,#7c3aed 9%,var(--paper)),var(--paper-2))}.subject-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line);font:800 28px var(--serif);color:var(--brand)}.subject-copy{display:flex;flex-direction:column;gap:7px}.subject-copy strong{font:800 26px/1.1 var(--serif)}.subject-copy small{font-size:13px;color:var(--muted);line-height:1.45}.subject-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.subject-tags i{font-style:normal;font-size:10px;font-weight:850;letter-spacing:.02em;border:1px solid var(--line);border-radius:999px;padding:5px 8px;background:var(--paper)}.subject-arrow{font-size:28px;color:var(--brand)}.chooser-note{margin-top:18px;padding:14px 16px;border-radius:13px;background:var(--paper-2);border:1px solid var(--line);color:var(--muted);font-size:13px}.chooser-note strong{color:var(--ink)}
.subject-switch-mini{margin:0 6px 13px}.subject-switch-mini button{width:100%;border:1px solid var(--line);background:var(--paper-2);color:var(--brand);font-size:12px;font-weight:800;border-radius:10px;padding:8px 10px;text-align:left}

/* Graphs */
.chart-card{margin:22px 0;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--paper-2);overflow:hidden}.chart-title{font-weight:900;font-size:15px;color:var(--ink);margin:0 0 2px}.chart-subtitle,.chart-card figcaption{font-size:12px;color:var(--muted)}.chart-card svg{display:block;width:100%;height:auto;margin-top:8px}.chart-grid{stroke:var(--line);stroke-width:1}.chart-axis{stroke:var(--muted);stroke-width:1.4}.chart-line{stroke:var(--brand-2);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-dot,.chart-mark{fill:var(--brand-2)}.chart-point{fill:var(--brand-2);stroke:var(--paper);stroke-width:2}.chart-label{fill:var(--muted);font:11px var(--sans)}.chart-axis-label{fill:var(--ink);font:700 12px var(--sans)}

/* ML diagrams */
.node-box{fill:color-mix(in srgb,var(--brand-2) 8%,var(--paper));stroke:currentColor;stroke-width:2}.leaf-box{fill:color-mix(in srgb,var(--success) 10%,var(--paper));stroke:currentColor;stroke-width:2}.knn-a{fill:var(--brand-2)}.knn-b{fill:var(--accent)}.knn-q{fill:var(--danger);stroke:var(--paper);stroke-width:3}

/* Step-by-step exercises */
.exercise-card{margin:22px 0;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:17px;padding:18px;background:color-mix(in srgb,var(--accent) 5%,var(--paper))}.exercise-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.exercise-badge,.solver-badge{font-size:10px;letter-spacing:.13em;font-weight:900;color:var(--accent)}.difficulty{font-size:10px;padding:4px 8px;border-radius:999px;background:var(--paper);border:1px solid var(--line);color:var(--muted)}.exercise-card h3{margin:8px 0 8px}.exercise-prompt{font-weight:650}.exercise-hint{font-size:.9em;padding:10px 12px;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}.exercise-step,.exercise-answer{margin-top:10px;padding:11px 13px;border-radius:10px;background:var(--paper);border:1px solid var(--line)}.exercise-answer{border-left:4px solid var(--success)}.exercise-actions{display:flex;gap:8px;margin-top:14px}.exercise-actions button,.solve-btn{border:0;border-radius:999px;background:var(--brand);color:white;padding:10px 14px;font-size:12px;font-weight:850}.exercise-actions .ghost{background:var(--paper);color:var(--ink);border:1px solid var(--line)}

/* Numerical solvers */
.solver-card{margin:22px 0;border:1px solid color-mix(in srgb,var(--brand-2) 60%,var(--line));border-radius:18px;padding:18px;background:linear-gradient(160deg,color-mix(in srgb,var(--brand-2) 7%,var(--paper)),var(--paper))}.solver-head h3{margin:5px 0}.solver-head p{color:var(--muted);font-size:.92em;margin-top:5px}.solver-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}.solver-field{display:flex;flex-direction:column;gap:5px}.solver-field span{font-size:11px;font-weight:800;color:var(--muted)}.solver-field input,.solver-field textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:10px 11px;outline:none}.solver-field input:focus,.solver-field textarea:focus{border-color:var(--brand-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 12%,transparent)}.solver-field.wide{grid-column:1/-1}.solver-field textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.solve-btn{margin-top:2px}.solver-output{margin-top:14px;padding:14px;border-radius:13px;background:var(--paper);border:1px solid var(--line);min-height:54px;color:var(--muted)}.solver-output h4{margin:0 0 8px;color:var(--ink);font-size:15px}.solver-math{font-family:"Cambria Math","Times New Roman",serif;line-height:1.75;color:var(--ink);overflow:auto}.solver-note{font-size:.88em;color:var(--muted)}

@media(max-width:760px){
  .subject-grid{grid-template-columns:1fr}.subject-card{min-height:auto}.chooser-shell{border-radius:20px;padding:24px 18px}.subject-copy strong{font-size:23px}.solver-fields{grid-template-columns:1fr 1fr}.topbar-left .brand strong{max-width:48vw}.chart-card{padding:10px}.exercise-actions{flex-wrap:wrap}
}
@media(max-width:480px){
  .subject-chooser{padding:12px 8px}.chooser-shell{padding:22px 14px}.chooser-shell h1{font-size:40px}.chooser-lead{font-size:14px}.subject-card{grid-template-columns:auto 1fr;padding:16px;gap:12px}.subject-arrow{display:none}.subject-icon{width:46px;height:46px;font-size:23px}.subject-tags i{font-size:9px}.solver-fields{grid-template-columns:1fr}.solver-card,.exercise-card{padding:14px}.solver-field input,.solver-field textarea{font-size:16px;min-height:44px}.solve-btn{width:100%;min-height:44px}.exercise-actions button{flex:1;min-height:42px}.chart-label{font-size:10px}.topbar-left{gap:5px}.topbar-left #homeBtn{min-width:34px;padding:0 7px}.topbar-left .brand strong{max-width:46vw}.book-page .table-wrap{margin-left:-8px;margin-right:-8px;border-radius:10px}
}
@media print{.subject-chooser{display:none!important}.solver-fields,.solve-btn,.exercise-actions{display:none!important}.solver-output{min-height:0}.chart-card svg{max-height:320px}}


/* ===== Live readers badge ===== */
.live-readers-badge{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper-2);color:var(--ink);font-size:11px;font-weight:750;white-space:nowrap;min-width:max-content}
.live-readers-badge strong{font-size:12px;font-variant-numeric:tabular-nums}
.live-dot{width:7px;height:7px;border-radius:50%;background:#18a957;box-shadow:0 0 0 4px color-mix(in srgb,#18a957 16%,transparent);animation:livePulse 1.8s ease-in-out infinite}
.live-readers-badge.offline .live-dot{background:var(--muted);box-shadow:none;animation:none}
@keyframes livePulse{0%,100%{transform:scale(.92);opacity:.85}50%{transform:scale(1.16);opacity:1}}
@media(max-width:760px){.live-readers-label{display:none}.live-readers-badge{height:34px;padding:0 8px;gap:5px}}
@media(max-width:480px){.live-readers-badge{height:32px;padding:0 7px;font-size:10px}.live-dot{width:6px;height:6px}.live-readers-badge strong{font-size:11px}}
@media print{.live-readers-badge{display:none!important}}


/* ===== Statistics & mathematical typesetting ===== */
.formula,.solver-math,.math-text,.qa-answer .formula{font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;font-variant-numeric:lining-nums tabular-nums;letter-spacing:.005em}
.formula{font-size:1.05em;line-height:1.75}
.solver-math{font-size:1.02em}.data-table td,.data-table th{font-variant-numeric:tabular-nums}
.subject-card.statistics .subject-icon{color:#7c3aed}
@media(max-width:980px){.subject-grid{grid-template-columns:1fr 1fr}.subject-card.statistics{grid-column:1/-1}}
@media(max-width:760px){.subject-grid{grid-template-columns:1fr}.subject-card.statistics{grid-column:auto}.subject-card{min-height:auto}.subject-copy small{font-size:12px}.subject-tags{gap:4px}}
@media(max-width:480px){.chooser-shell h1{font-size:36px}.subject-card{padding:14px}.subject-copy strong{font-size:21px}.formula{font-size:1em;overflow-x:auto}.solver-math{font-size:.98em}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}
