:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#172139;background:#f3f5fb;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}header{max-width:1100px;margin:auto;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px;border-bottom:1px solid #dfe4f0}.brand{font-weight:700;display:flex;gap:12px;align-items:center}.mark{background:#007d53;color:white;width:36px;height:36px;display:grid;place-items:center;border-radius:11px;font:italic bold 26px Georgia,serif}.overall{font-size:.9rem;color:#57627a}.overall strong{color:#007d53;margin-left:6px}main{max-width:940px;margin:auto;padding:24px}.eyebrow{font-size:.8rem;font-weight:750;letter-spacing:.12em;color:#007d53;margin:0 0 12px}h1{font-size:clamp(1.4rem,3vw,1.85rem);line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}h2{margin:0;font-size:1.1rem;line-height:1.45}.intro{color:#626d84;margin:0 0 20px;line-height:1.6}.categories{display:grid;grid-template-columns:1fr 1fr;gap:12px}.category{display:flex;gap:12px;background:white;border:1px solid #e0e5f1;padding:16px;border-radius:12px;transition:transform .15s,border-color .15s}.category:hover{transform:translateY(-3px);border-color:#007d53}.number{font-size:.875rem;color:#6575af;font-weight:650;padding-top:4px}.category>div{flex:1;min-width:0;display:flex;flex-direction:column}.category h2{margin-bottom:12px;flex:1}.caption{display:flex;justify-content:space-between;gap:10px;font-size:.875rem;color:#67728a;margin:0 0 10px}.caption strong{color:#007d53}progress{width:100%;height:6px;border:0;border-radius:10px;overflow:hidden;background:#ebeff8;accent-color:#007d53}progress::-webkit-progress-bar{background:#ebeff8}progress::-webkit-progress-value{background:#007d53;border-radius:10px}progress::-moz-progress-bar{background:#007d53}.back{font-size:.9rem;color:#007d53;display:inline-block;margin-bottom:16px;text-decoration:underline;text-underline-offset:4px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.heading h1{font-size:1.5rem}.heading>span{white-space:nowrap;color:#586581;font-size:.9rem}.task{background:white;border:1px solid #e0e5f1;border-radius:14px;padding:22px}.meta{display:flex;justify-content:space-between;align-items:center;gap:16px}.difficulty{font-size:.875rem;background:#e8f7f0;color:#007d53;padding:5px 10px;border-radius:8px;white-space:nowrap}.text{font-size:1.05rem;line-height:1.65;margin:18px 0 20px}label{display:block;font-weight:650;margin-bottom:8px}.answer{display:flex;gap:12px}input{min-width:0;flex:1;border:1px solid #bac5dd;border-radius:10px;padding:10px 12px;color:#172139;background:#fcfdff}button{cursor:pointer;border:1px solid #d8dfed;color:#344365;background:white;border-radius:10px;padding:9px 12px;min-height:40px;font-weight:600;font-size:.9rem;line-height:1.4;transition:background .15s}button:hover{background:#edf1fc}.primary{background:#007d53;border-color:#007d53;color:white}.primary:hover{background:#00613f}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #8aa0ff;outline-offset:4px}.hint{color:#6a758a;font-size:.875rem;margin:7px 0 16px}.actions,.navigation{display:flex;flex-wrap:wrap;gap:8px}.navigation{margin-top:14px;padding-top:14px;border-top:1px solid #e7ebf4}.feedback{padding:10px 12px;border-radius:10px;background:#edf1ff;color:#2542a4;line-height:1.5}.success{background:#eaf7ef;color:#20683e}.error{background:#fff0f0;color:#9e3030}footer{font-size:.875rem;color:#69758d;line-height:1.6;margin-top:20px;padding-bottom:10px}@media(max-width:640px){header{padding:12px 16px;align-items:flex-start}.brand{font-size:.9rem}.overall{white-space:nowrap;font-size:.8rem;padding-top:8px}main{padding:20px 16px}.categories{grid-template-columns:1fr}.category{padding:14px}.heading{display:block}.heading>span{display:block;margin-top:12px}.task{padding:18px 16px}.meta{align-items:flex-start}.text{font-size:1rem;line-height:1.65}.answer{flex-direction:column}.actions button,.navigation button{flex:1 1 140px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Action colors remain identifiable through their text labels. */
.header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}
button[value="clear_history"]{--button-bg:#b33948;--button-hover:#912a37}
button[name="action"]{background:var(--button-bg,#007d53);border-color:var(--button-bg,#007d53);color:#fff}
button[name="action"]:hover{background:var(--button-hover,#00613f);border-color:var(--button-hover,#00613f)}
button[value="check"],button[value="next"]{--button-bg:#007d53;--button-hover:#00613f}
button[value="same"]{--button-bg:#7040b8;--button-hover:#583090}
button[value="solve"]{--button-bg:#237444;--button-hover:#195c34}
button[value="later"]{--button-bg:#965a0a;--button-hover:#784607}
button[value="easier"]{--button-bg:#087789;--button-hover:#065c6b}
button[value="harder"]{--button-bg:#b33948;--button-hover:#912a37}
@media(max-width:380px){header{flex-wrap:wrap;gap:6px}.overall{padding-top:0}.meta{flex-wrap:wrap}.actions button,.navigation button{flex-basis:100%}}

.toast{position:fixed;z-index:20;top:16px;right:16px;max-width:min(440px,calc(100vw - 32px));display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #c9d5ef;border-radius:12px;background:#edf1ff;color:#2542a4;box-shadow:0 8px 30px #17213926;line-height:1.5}.toast.success{background:#eaf7ef;color:#20683e;border-color:#a7d9b9}.toast button{flex-shrink:0;border:0;background:transparent;color:inherit;font-size:1.4rem;padding:4px 8px}.complete{margin-top:20px}.complete p{line-height:1.6}.complete .back{margin:8px 0 0}
/* Category completion: 0%, below 50%, below 75%, below 100%, complete. */
.category{background:var(--category-bg,#fff);border-color:var(--category-border,#e0e5f1)}
.completion-0{--category-bg:#fff0f0;--category-border:#efb4b4;--category-accent:#a52e36}
.completion-1{--category-bg:#fff2e5;--category-border:#edc096;--category-accent:#96500e}
.completion-2{--category-bg:#fff9da;--category-border:#e3d282;--category-accent:#78600b}
.completion-3{--category-bg:#eef7df;--category-border:#b9d690;--category-accent:#4c7021}
.completion-4{--category-bg:#ddf3e3;--category-border:#82c598;--category-accent:#206338}
.category:hover{border-color:var(--category-accent,#007d53)}
.category .number,.category .caption strong{color:var(--category-accent,#007d53)}
.category progress{accent-color:var(--category-accent,#007d53)}
.category progress::-webkit-progress-value{background:var(--category-accent,#007d53)}
.category progress::-moz-progress-bar{background:var(--category-accent,#007d53)}
.auth-page{max-width:520px}.auth-page form{display:grid;gap:12px}.auth-page input{width:100%}.auth-page .primary{margin-top:8px}.header-actions{flex-wrap:wrap}.account{font-size:.85rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:12px;border-bottom:1px solid #e0e5f1}small{color:#626d84}
.button{display:inline-block;padding:10px 16px;border:1px solid #dfe4f0;border-radius:8px;background:white;font-size:.9rem}.button.primary{background:#007d53;color:white;border-color:#007d53}.stack-form{display:grid;gap:12px;margin-top:20px}select{font:inherit;max-width:100%;padding:10px;border:1px solid #dfe4f0;border-radius:8px}.student-picker{display:grid;gap:10px;margin:16px 0}.student-picker label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.student-picker input{width:auto}.lesson-bar{background:#e3f4eb;padding:16px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.bulk-homework{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.section-divider{border:0;border-top:1px solid #dfe4f0;margin:32px 0}.lesson-cards{margin-bottom:24px}.homework-actions button{border-color:#007d53;color:#007d53}.homework-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.done{color:#16804a;background:#edf9f1}details{padding:12px 0;border-bottom:1px solid #e0e5f1}summary{cursor:pointer}progress{width:100%}
.student-homework{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px;margin-top:12px;border-radius:10px;border:1px solid #d5dbe5;background:#f3f5f8;color:#536077}.student-homework.complete{background:#edf9f1;border-color:#a7d8b7;color:#176d3b}.student-homework.partial{background:#fff7df;border-color:#e9ce7f;color:#785600}.homework-badge{font-size:.8rem;font-weight:700;padding:4px 9px;border-radius:20px;background:#00000008}.student-homework progress{flex-basis:100%;height:8px;accent-color:#8792a3;margin:0}.student-homework.complete progress{accent-color:#278649}.student-homework.partial progress{accent-color:#b18310}.student-homework progress::-webkit-progress-bar{background:#0000000c;border-radius:8px}.student-homework progress::-webkit-progress-value{background:#8792a3;border-radius:8px}.student-homework.complete progress::-webkit-progress-value{background:#278649}.student-homework.partial progress::-webkit-progress-value{background:#b18310}.student-homework.complete progress::-moz-progress-bar{background:#278649}.student-homework.partial progress::-moz-progress-bar{background:#b18310}

.exam-picker{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.exam-picker a:focus-visible{outline:3px solid #78cbb0;outline-offset:3px}

.lesson-card{display:flex;flex-direction:column;gap:10px}.lesson-card>.category{flex:1}.reinforce-link{align-self:flex-start}

/* Lesson setup and readable action controls. */
.task+.task{margin-top:20px}.lesson-students,.topic-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.choice-card{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #cdd5e6;border-radius:12px;background:#f8faff;cursor:pointer;margin:0;transition:border-color .15s,background .15s}.choice-card:has(input:checked){background:#e8f7f0;border-color:#007d53;box-shadow:inset 0 0 0 1px #007d53}.choice-card:hover{border-color:#6074df}.choice-card input{flex:0 0 auto;width:20px;height:20px;accent-color:#007d53;padding:0;margin:0}.choice-card>span{min-width:0}.choice-card small{display:block;margin-top:6px;font-weight:400}.student-avatar{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#d7efe2;color:#007d53;font-weight:700}.lesson-form-actions{margin-top:18px;justify-content:flex-end}.lesson-bar .back{color:#00613f;margin-bottom:0;font-weight:650}.bulk-homework{padding:16px;border:1px solid #cdd5e6;border-radius:12px;background:#fff}.bulk-homework .hint{margin:0}.homework-actions button{color:#fff}.exam-picker{margin-top:20px}@media(max-width:640px){.lesson-students,.topic-picker{grid-template-columns:1fr}.lesson-form-actions button{flex:1 1 100%}.lesson-bar form,.lesson-bar button{width:100%}}
.child-tabs{margin:18px 0}.child-login{margin:20px 0}.exam-progress-heading{margin:24px 0 14px}.progress-legend{font-size:.85rem;color:#536077;line-height:1.6}.student-homework.pending{background:#fff0f0;border-color:#efb4b4;color:#9e3030}.parent-progress .category:hover{transform:none}.parent-progress .category .hint{margin:12px 0 0}
/* Shared visual language with the main mattrener.ru site. */
:root{font-family:'Roboto',sans-serif;color:#333;background:#f7faf8;--training-green:#009966;--training-deep:#00734d;--training-tint:#e8f7f0}
h1,h2,h3,.brand,.guest-brand,.guest-nav{font-family:'Montserrat',sans-serif}h1{font-weight:600;letter-spacing:-.035em}h2{font-weight:600}.site-logo{flex-shrink:0}
header{max-width:1200px;border-bottom-color:#dce8e1;min-height:88px}.brand{color:#333}.eyebrow,.back,.overall strong,.caption strong{color:#00734d}.difficulty{background:#e8f7f0;color:#00734d}.task{border-color:#dde7e1;box-shadow:0 6px 24px #16472d05}.primary,.button.primary{background:#007d53;border-color:#007d53;color:#fff}.primary:hover,.button.primary:hover{background:#00613f;border-color:#00613f}
button[name="action"]{background:var(--button-bg,#007d53);border-color:var(--button-bg,#007d53)}button[name="action"]:hover{background:var(--button-hover,#00613f);border-color:var(--button-hover,#00613f)}button[value="check"],button[value="next"]{--button-bg:#007d53;--button-hover:#00613f}input:focus-visible,button:focus-visible,a:focus-visible{outline-color:#78cbb0}input{background:#fff;border-color:#b9ccc1}.lesson-bar{background:#e3f4eb}.lesson-bar .back{color:#00613f}.choice-card{background:#f7fbf8}.choice-card:has(input:checked){background:#e8f7f0;border-color:#009966;box-shadow:inset 0 0 0 1px #009966}.choice-card input{accent-color:#009966}.student-avatar{background:#d7efe2;color:#00734d}progress{accent-color:#009966}.feedback:not(.error):not(.success){background:#e8f7f0;color:#00613f}
.guest-header{display:flex;gap:28px;align-items:center;justify-content:space-between;padding:24px;max-width:1240px;flex-wrap:wrap}.guest-brand{display:flex;align-items:center;gap:16px;min-width:0}.guest-brand strong{display:block;font-size:18px;font-weight:600}.guest-brand small{display:block;margin-top:5px;font-size:14px;color:#666}.guest-nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:14px}.guest-nav a{padding:6px 0}.guest-nav a:hover,.guest-nav a[aria-current]{color:#00734d;text-decoration:underline;text-underline-offset:7px}.guest-contact{font-size:14px;color:#00734d;white-space:nowrap}.guest-page{max-width:1200px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);align-items:start;gap:64px;padding:70px 24px 50px}.training-introduction{padding:12px 0}.training-introduction h1{font-size:clamp(30px,3.5vw,46px);line-height:1.22;margin:18px 0 24px}.guest-lead{font-size:18px;line-height:1.75;color:#56645d;margin:0 0 34px}.training-features{display:grid;gap:24px}.training-features article{display:flex;gap:18px;align-items:start}.training-features article>span{font-family:'Montserrat',sans-serif;color:#00734d;background:#e0f2e8;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;font-size:13px;font-weight:600}.training-features h2{font-size:17px;margin:1px 0 7px}.training-features p{margin:0;line-height:1.65;color:#626d66;font-size:15px}.login-card{padding:32px;background:white;border-top:4px solid #009966;border-radius:12px}.login-card h2{font-size:25px;margin:10px 0 12px}.login-card form{display:grid;gap:10px}.login-card label{font-size:14px;margin:12px 0 0}.login-card input{width:100%;padding:13px 14px}.login-card button{margin-top:14px;padding:13px;font-size:16px}.login-card>.hint{margin:22px 0 0;line-height:1.65}.guest-footer{max-width:1152px;margin:0 auto;padding:24px;border-top:1px solid #dce8e1;display:flex;gap:20px;justify-content:space-between;line-height:1.6}.guest-footer a{color:#00734d}
@media(max-width:960px){.guest-header{gap:20px}.guest-nav{order:3;width:100%;justify-content:center}.guest-page{gap:32px;padding-top:40px}.guest-contact{margin-left:auto}}
@media(max-width:700px){.guest-page{grid-template-columns:1fr;padding:28px 18px;gap:32px}.guest-header{padding:20px 18px}.guest-brand strong{font-size:15px}.guest-brand img{width:44px;height:44px}.guest-contact{display:none}.guest-nav{gap:16px;justify-content:flex-start;font-size:13px}.training-introduction h1{font-size:32px}.guest-lead{font-size:16px}.login-card{padding:24px}.guest-footer{display:block;margin:0 18px;padding:20px 0}.guest-footer a{display:block;margin-top:8px}}
/* Graph tasks: source remains visible in training, lessons and homework. */
.task-provenance{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}
.task-source{display:inline-block;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600}
.source-author{background:#fff0dd;color:#86460c;border:1px solid #ffcf91}
.source-fipi{background:#e8f5ee;color:#166246;border:1px solid #b2ddc9}
.task-provenance a{font-size:13px;color:#526174}
.training-graph{margin:16px auto;max-width:520px}
.training-graph img{display:block;width:100%;height:auto;background:#fff}
.graph-question{font-size:18px;line-height:1.8;overflow-wrap:anywhere}
.graph-question p:empty{display:none}
.graph-question math{font-size:1.08em}
.task-solution{margin:16px 0;padding:14px 18px;background:#f2f7f4;border-radius:10px}
.task-solution summary{cursor:pointer;font-weight:600}
.math-content .katex-display{overflow:visible;padding:6px 0}
.math-content .katex-display>.katex{white-space:normal}
.finance-solution-table{position:relative;max-width:100%;overflow-x:auto;margin:18px 0;border:1px solid #c7d9ce;border-radius:6px}
.finance-solution-table table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.finance-solution-table caption{text-align:left;font-weight:600;background:#edf5ef;padding:10px 12px}
.finance-solution-table th,.finance-solution-table td{padding:9px 12px;border-bottom:1px solid #c7d9ce;text-align:left;min-width:95px}
.finance-solution-table th{background:#e5f0e9}.finance-solution-table tr:last-child>*{border-bottom:0}
.finance-question{overflow-wrap:anywhere}.finance-question p{white-space:normal}
.finance-formula{display:inline;overflow:visible;vertical-align:baseline}
