/* Ilmdosh visual system: shared rhythm, accessible controls, subject accents. */
:root{--design-accent:#3558c9;--design-soft:#eef2ff;--design-shadow:0 8px 28px #152b4910}
body{line-height:1.7}
h1,h2,h3{font-weight:800;line-height:1.28}
button,.btn,.button,input,select,textarea{border-radius:12px}
button,.btn,.button,a{ -webkit-tap-highlight-color:transparent }
:focus-visible{outline:3px solid #e6a125;outline-offset:4px}
.hero{position:relative;border:1px solid var(--line);border-radius:28px;background:linear-gradient(120deg,var(--design-soft),var(--design-surface) 75%);overflow:hidden}
.hero h1{font-size:clamp(30px,4.5vw,52px);line-height:1.16;letter-spacing:-.035em}
.hero p,.hero .lead{line-height:1.8}
.hero .eyebrow,.hero .kicker{color:var(--design-accent);font-weight:800;letter-spacing:.05em}
.btn.primary,.hero .btn.primary,.button.primary,button.primary{background:var(--design-accent);border-color:var(--design-accent);color:white;box-shadow:0 4px 12px #152b4920}
.gcard,.course-card,.tile,.how-card,.starter-entry,.abi-entry,.guide-home-cta,.navigation-card{border-radius:20px;box-shadow:var(--design-shadow);border:1px solid var(--line);background:var(--design-surface)}
.gcard,.course-card{padding:22px}
.card,.chapter,.question-box,.abi-panel,.guide-topic,.starter-topic,.lesson section{border-radius:18px}
.gnum,.subject-icon{border-radius:15px;background:var(--design-soft);color:var(--design-accent)}
.hero-cta,.actions{gap:12px}
.main-menu,#menu{border-radius:0 0 20px 20px}
.main-menu>a,#menu>a,.navigation-grid>a{border-radius:12px}
.menu-toggle,#menuButton{border-radius:14px;background:var(--design-soft);border-color:var(--line)}
.zoom-controls,.utility-bar{box-shadow:0 2px 15px #152b4908}
.diagram,.visual-lab{border-radius:16px}
.table-scroll{border-radius:12px}
th{background:var(--design-soft)}
.question-box,.q-solution{box-shadow:var(--design-shadow)}
.option{border-radius:12px;min-height:48px}
.settings-section{padding-bottom:16px;border-bottom:1px solid var(--line)}
.calculator-panel,.lesson-notes,#notebook{box-shadow:0 16px 55px #152b4929}
.calculator-keys button{border-radius:10px}
@media(hover:hover){.gcard.ready:hover,.course-card:hover,.navigation-grid>a:hover,.tile:hover{border-color:var(--design-accent);box-shadow:0 10px 26px #152b4918}.btn:hover,.button:hover{filter:brightness(.97)}}
@media(max-width:600px){.hero{border-radius:20px}.hero h1{font-size:30px}.gcard,.course-card{padding:17px}.card,.question-box{border-radius:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

:root{--design-surface:var(--surface)}
:root[data-theme="dark"]{--design-soft:#24324c;--design-accent:#5778df}
.hero{margin:24px auto;max-width:1140px;width:calc(100% - 32px)}
.hero-in{padding:36px!important}
.hero h1 em{color:var(--brand);font-style:normal}
.brand-subject{letter-spacing:-.035em}
.how-ic{display:grid}
.gcard{border-top:3px solid var(--gc,var(--design-accent))}
.gprog{border-radius:10px;height:6px}
@media(max-width:600px){.hero-in{padding:22px!important}.hero{margin-block:16px}.hero .lead{font-size:16px}}

.academy-intro{gap:24px;padding-block:24px}
.academy-logo{width:140px;flex:none}
@media(max-width:600px){.academy-intro{flex-direction:row;align-items:flex-start;gap:14px}.academy-logo{width:70px}.academy-intro h2{font-size:20px}.academy-intro p{font-size:14px}.academy-intro .community-eyebrow{font-size:10px}}
@media(min-width:1000px){.hero-in{padding-right:280px!important}.hero:after{content:"";position:absolute;right:45px;top:50%;width:190px;height:190px;transform:translateY(-50%);background:url('../branding/mathematics.svg') center/contain no-repeat;pointer-events:none}}

/* Reading and navigation polish: quiet surfaces, clear hierarchy. */
.hero{box-shadow:0 12px 36px #243b6410}
.hero .eyebrow,.hero .kicker{display:inline-block;padding:6px 10px;border-radius:9px;background:var(--design-surface);border:1px solid var(--line);font-size:12px}
.home-navigation{padding-block:8px 16px}
.navigation-grid>a{background:var(--design-surface);border:1px solid var(--line);transition:border-color .15s,box-shadow .15s}
.navigation-grid>a[aria-current=page]{background:var(--design-soft);border-color:var(--design-accent)}
.lesson-toc{background:var(--design-surface);border:1px solid var(--line);padding:8px;border-radius:16px;gap:6px}
.lesson-toc a{border-radius:9px;padding:7px 10px;text-decoration:none;background:var(--design-soft)}
.course-meter,.gh-ring{background:var(--design-surface);box-shadow:0 4px 14px #243b640b}
.lesson-number,.learning-step-number{border-radius:10px;font-weight:800}
.lesson-list{border-radius:18px;box-shadow:0 4px 18px #243b6408}
.lesson-row{padding-block:18px}
.lesson-row-main strong{line-height:1.5}
.lesson-row:focus-visible{outline-offset:-4px}
.lesson section,.q-solution,.worked-example{box-shadow:0 4px 18px #243b6407}
.core-idea,.rule{border-radius:14px}
.lesson h2{letter-spacing:-.02em}
.steps li{padding-block:8px}
.steps li::marker{font-weight:800;color:var(--primary,var(--brand))}
.question-box{border-top:3px solid var(--design-accent)}
.option:not(.correct):not(.wrong):not(.selected):hover{background:var(--design-soft)}
.option b{border-radius:8px;min-width:28px;text-align:center}
input[type=search]:focus{box-shadow:0 0 0 4px var(--design-soft)}
.progress-bar,.gprog{height:7px;border-radius:20px;overflow:hidden}
.progress-bar span,.gprog i{border-radius:inherit}
@media(prefers-reduced-motion:reduce){.navigation-grid>a{transition:none}}

.gcard{position:relative;overflow:hidden;padding:22px;border-top:0;border-bottom:3px solid var(--gc,var(--brand));background:linear-gradient(145deg,color-mix(in srgb,var(--gc,var(--brand)) 5%,var(--surface)),var(--surface) 60%)}
.gnum{width:52px;height:52px;border-radius:16px}
.gbadge{border-radius:8px;padding:4px 8px}
.how-card{padding:24px;background:linear-gradient(150deg,var(--design-soft),var(--surface) 65%)}
.how-ic{width:46px;height:46px;border-radius:13px;margin-bottom:14px}
.grade-head{border-radius:0 0 26px 26px}
.chapter{box-shadow:0 5px 20px #243b6408}
:root[data-theme="dark"]{--design-accent:#3558c9}
:root[data-theme="dark"] .hero .kicker{color:#b4c7ff}
@media(max-width:600px){.gcard{padding:18px}.how-card{padding:20px}}

/* Final home composition: generous spacing and consistent entry points. */
.hero{border-radius:30px;border-color:color-mix(in srgb,var(--design-accent) 18%,var(--line))}
.hero .actions,.hero-cta{padding-top:6px}
.home-navigation h2,.sec-h{letter-spacing:-.025em}
.home-navigation .navigation-grid>a{min-height:64px;padding:14px 16px;background:linear-gradient(120deg,var(--design-surface),var(--design-soft));box-shadow:0 4px 15px #233b6408}
.home-navigation .navigation-grid>a .nav-icon{width:34px;height:34px;flex-shrink:0}
.course-card,.gcard{transition:box-shadow .18s,border-color .18s}
.gcard:focus-visible,.course-card:focus-visible{outline-offset:-4px}
@media(hover:hover){.gcard.ready:hover,.grade-card:hover{box-shadow:0 12px 30px #233b6420}}
@media(max-width:600px){.hero{border-radius:24px}.home-navigation .navigation-grid>a{padding:12px;min-height:60px}}
@media(prefers-reduced-motion:reduce){.course-card,.gcard{transition:none}}

.academy-intro{margin-block:32px;border-top:1px solid var(--line);padding-block:28px}
.hero-facts{padding-top:18px;border-top:1px solid var(--line);margin-top:22px}
.hero-facts li{padding:6px 0}
.how-card{border-top:3px solid var(--design-accent)}
.starter-entry,.guide-home-cta,.abi-entry{box-shadow:0 6px 22px #233b640b}
@media(min-width:1000px){.hero-in{padding-block:48px!important}}

/* Subject tools: the same three-column pattern as Ilmdosh Fizika. */
.math-tools{padding-block:24px}
.math-tools h2{font-size:1.2rem;line-height:1.4;margin:0 0 16px;font-weight:800}
.math-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.math-tool-link{display:flex;align-items:center;gap:10px;min-width:0;min-height:56px;padding:12px 18px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(120deg,var(--surface),var(--design-soft));color:var(--ink);font-size:16px;font-weight:700;line-height:1.35;text-decoration:none;box-shadow:0 4px 15px #233b6408}
.math-tool-link .nav-art{width:30px;height:30px;flex:none}.math-tool-link span{min-width:0;overflow-wrap:anywhere}
.math-tool-link:hover{border-color:var(--brand)}
body.zoom-narrow .math-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body.zoom-small .math-tools-grid{grid-template-columns:minmax(0,1fr)}

/* Learning hierarchy: school path, references, then optional tools. */
.home-menu-links {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.course-finish {margin-top:28px;margin-bottom:28px;padding-top:24px;padding-bottom:24px;border-top:1px solid var(--line)}
.course-finish p {max-width:65ch;line-height:1.6}
.gh-actions,.course-heading + .actions {gap:12px}
@media(max-width:600px){.home-menu-links{grid-template-columns:1fr}.gh-actions .btn{width:100%;white-space:normal;text-align:left}.course-finish .primary{width:100%;white-space:normal}}
.math-tool-page svg{display:block;width:100%;max-width:360px;max-height:300px;margin:16px auto}.math-tool-page input[type=range]{display:block;width:100%;margin:12px 0 24px}.math-tool-page select,.math-tool-page input[type=search]{width:100%;max-width:650px;padding:12px;font:inherit}.math-tool-page li{margin:10px 0}.math-tool-page label{display:block;font-weight:700}
.coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.coverage-grid .abi-panel{margin:0}.coverage-scroll{max-width:100%;overflow-x:auto;margin:16px 0 28px;border:1px solid var(--line);border-radius:12px}.coverage-scroll table{width:100%;border-collapse:collapse;text-align:left}.coverage-scroll th,.coverage-scroll td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top;min-width:90px}.coverage-scroll th{background:var(--surface-2);font-weight:800}.coverage-scroll td p{margin:0 0 8px}.coverage-filters{display:flex;gap:12px;flex-wrap:wrap}.coverage-filters>*{flex:1;min-width:200px}.coverage-scroll a{overflow-wrap:anywhere}

.course-intro,.chapter-intro{max-width:75ch;line-height:1.7;overflow-wrap:anywhere}.chapter-intro{margin:12px 0 20px;padding:0 16px}.course-intro{margin:16px 0}
