/* Shared palette, readable typography and subject routes */
:root{--portal-sage:#e4edda;--portal-lavender:#eae5fa;--portal-peach:#f5e6d8;--portal-ink:#173d39}
.sage,.tone-matematika{background:var(--portal-sage)}.lavender,.tone-magyar{background:var(--portal-lavender)}.peach,.tone-oral{background:var(--portal-peach)}
.portal-hero{padding:72px 0 66px}.portal-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}.portal-hero h1{font-size:clamp(38px,4.2vw,61px);letter-spacing:-2.6px;line-height:1.12;max-width:720px;margin:24px 0}.portal-hero h1 span{color:#37735d}.portal-hero .lead{font-size:20px;line-height:1.75;max-width:640px}.portal-hero .pill{font-size:11px;letter-spacing:.5px}.portal-preview{background:white;border:1px solid #c6d4c5;border-radius:27px;box-shadow:9px 12px 0 #e4edda;overflow:hidden;transform:rotate(1deg)}.preview-header{display:flex;justify-content:space-between;padding:23px 26px;font-weight:800;border-bottom:1px solid #d0dacd}.preview-header>span:last-child{font-size:30px;line-height:1;color:#326450}.preview-tabs{display:flex;padding:16px 22px 0;gap:6px}.preview-tabs button{flex:1;background:#f8f7f1;border:1px solid #cbd6c7;border-radius:10px 10px 0 0;padding:11px 5px;font:800 15px inherit;color:var(--portal-ink);cursor:pointer}.preview-tabs button[aria-selected=true]{background:var(--portal-sage);border-bottom-color:var(--portal-sage)}.preview-tabs button:nth-child(2)[aria-selected=true]{background:var(--portal-lavender)}.preview-tabs button:nth-child(3)[aria-selected=true]{background:var(--portal-peach)}.preview-panel{padding:26px;min-height:342px;line-height:1.65}.preview-panel[hidden]{display:none}.preview-panel h2{font-size:23px;line-height:1.35;letter-spacing:-.5px;margin:20px 0}.preview-panel .eyebrow{font-size:11px}.fraction-map{display:flex;gap:7px;margin:25px 0 15px}.fraction-map span{display:grid;place-items:center;border:1px solid #8ca88b;background:#8dad82;flex:1;height:54px;border-radius:9px;color:#153b30;font-size:24px;font-weight:800}.fraction-map span:last-child{background:#f7f9f0;border-style:dashed}.portal-result,.portal-word-result{font-size:15px;line-height:1.6;margin:16px 0 0;min-height:48px}.letter-art{font-size:57px;font-weight:800;text-align:center;line-height:1.2;margin:15px}.letter-art span{font-size:15px;font-weight:500}.speech-art{border-radius:16px;background:#fff9f2;font-weight:800;padding:22px;font-size:21px;margin-top:22px}.preview-panel ol{padding-left:23px}.preview-panel a{font-weight:800}.portal-stat-strip{background:#173d39;color:#fffbed}.portal-stat-strip>.container{display:grid;grid-template-columns:repeat(4,1fr);padding-top:26px;padding-bottom:26px;gap:25px}.portal-stat-strip b,.portal-stat-strip span{display:block}.portal-stat-strip b{font-size:21px;margin-bottom:5px}.portal-stat-strip span{font-size:13px;color:#e5eddd;line-height:1.55}.portal-subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.subject-card{border:1px solid #ced7ca;border-radius:22px;padding:30px;display:flex;flex-direction:column;align-items:flex-start}.subject-symbol{font-size:43px;font-weight:800;letter-spacing:-2px;line-height:1.3;margin-bottom:28px}.subject-card .eyebrow{font-size:10px;letter-spacing:1px}.subject-card h3{font-size:25px;letter-spacing:-.7px;line-height:1.25;margin:12px 0 18px}.subject-card h3 a{text-decoration:none}.subject-card p{font-size:16px;line-height:1.75}.subject-card .text-link{font-weight:800;margin-top:auto;padding-top:25px}.subject-card .secondary-link{font-size:13px;margin-top:13px}.portal-grade-section{background:#efefe6}.grade-choice{background:white;border:1px solid #ccd6c8;border-radius:22px;overflow:hidden}.grade-top{padding:25px;display:flex;align-items:center;justify-content:space-between;gap:10px}.grade-choice.lavender .grade-top{background:var(--portal-lavender)}.grade-choice.sage .grade-top{background:var(--portal-sage)}.grade-choice.peach .grade-top{background:var(--portal-peach)}.grade-top>span{font-size:12px;font-weight:800}.grade-top>b{font-size:69px;line-height:1;color:#203447}.grade-body{padding:27px}.grade-body h3{font-size:24px;line-height:1.25;letter-spacing:-.6px}.grade-body p{font-size:15px;line-height:1.75;margin:16px 0}.grade-body>a{display:block;font-size:14px;font-weight:800;margin:15px 0}.grade-body .btn{display:inline-flex;margin-bottom:0}.portal-library{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.portal-library h2{font-size:38px;line-height:1.2;letter-spacing:-1px}.portal-library p{line-height:1.8;margin:18px 0 25px}.library-route{display:grid;gap:15px}.library-route>div{padding:23px;border:1px solid #c9d5c5;border-radius:16px;display:flex;align-items:center;gap:22px;font-size:17px;font-weight:700}.library-route b{font-size:35px;line-height:1;color:#173d39}.portal-process{background:#e5eddd}.portal-process article{padding:10px 15px 0 0}.portal-process h3{font-size:23px;line-height:1.35;letter-spacing:-.6px;margin:19px 0 15px}.portal-process p{font-size:16px;line-height:1.8}.step-number{display:inline-flex;padding:9px 14px;border-radius:12px;background:white;border:1px solid #c5d1c0;font-weight:800;font-size:22px}.portal-teacher{background:#eae5fa}.portal-teacher>.container{display:flex;align-items:center;justify-content:space-between;gap:35px}.portal-teacher h2{max-width:700px}.portal-teacher p{margin-top:15px;max-width:690px}.portal-teacher .btn{flex-shrink:0}.portal-faq{max-width:900px}.portal-faq details{background:white;border:1px solid #ccd6c8;border-radius:14px;margin-top:14px;padding:21px 24px}.portal-faq summary{cursor:pointer;font-weight:800;font-size:18px}.portal-faq p{margin-top:15px;line-height:1.8}.apply-steps .apply-step{color:#fffbed;font-size:16px;line-height:1.6;display:flex;gap:14px;align-items:center;margin:19px 0}.apply-step span{color:#173d39!important;background:#e8e0f8!important;display:inline-grid!important;place-items:center;border:1px solid #e8e0f8;flex:0 0 40px;height:40px;font-weight:800;font-size:21px;border-radius:11px}.apply-step:nth-child(2) span{background:#e4edda!important}.apply-step:nth-child(3) span{background:#f5e6d8!important}.apply-copy p{color:#f2f4eb}.subject-choices .choice{background:#eee8fa;border-color:#c9c0d9}.subject-choices .choice:has(input:checked){background:#d9e7d0;border-color:#47785d}.archive-subject-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.archive-grade-links{display:grid;gap:16px;border-top:1px solid #bac8b7;margin-top:25px;padding-top:22px;width:100%;font-weight:800;font-size:16px}.oral-content{max-width:1000px;padding-top:38px;padding-bottom:65px}.oral-prompt{font-size:21px!important;line-height:1.8!important}.oral-checks{display:grid;gap:13px}.oral-checks label{display:flex;gap:13px;padding:17px;background:#f5e6d8;border-radius:12px;line-height:1.6}.oral-checks input{margin-top:6px;width:18px;height:18px;accent-color:#173d39;flex-shrink:0}.practice-timer{display:flex;align-items:center;flex-wrap:wrap;gap:18px;background:#f7f6ed;border-radius:14px;padding:20px;margin-top:22px}.practice-timer output{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}.practice-timer span{flex-basis:100%;font-size:13px}.oral-card .pill{font-size:10px;white-space:normal}.source-text{white-space:pre-wrap;font-size:17px;line-height:1.85;overflow-wrap:anywhere;padding:24px;background:#fff;border:1px solid #d1d7c9;border-radius:12px}.text-version{margin-top:20px}.text-version>summary{font-weight:800;cursor:pointer;padding:15px;background:#eeebf6;border-radius:12px}.reading-route{display:flex;align-items:stretch;gap:12px;margin:22px 0 26px}.reading-route>span:not([aria-hidden]){flex:1;background:#eae5fa;padding:19px 17px;border-radius:15px;display:flex;gap:12px;align-items:center;font-weight:700;font-size:14px}.reading-route>span:nth-child(3){background:#e4edda}.reading-route>span:nth-child(5){background:#f5e6d8}.reading-route b{font-size:26px;line-height:1}.reading-route>[aria-hidden]{align-self:center;font-size:22px}.learning-hero.tone-magyar,.learning-hero.tone-oral,.learning-hero.tone-matematika{border-bottom:1px solid #c9d2c4}.learning p,.learning li{line-height:1.8}.learning-intro{max-width:850px}.learning-card .pill{max-width:100%}.learning-sidebar nav a{font-size:14px}.learning-solution summary{line-height:1.6}.site-footer .footer-col h3{font-size:17px}.portal-home h2{font-size:clamp(28px,3vw,39px);line-height:1.22;letter-spacing:-1px}.portal-home .preview-panel h2{font-size:23px;letter-spacing:-.5px}.portal-home .section-heading p{max-width:780px}.portal-home .learning-card h3{font-size:23px;line-height:1.35}.portal-home .learning-card p{line-height:1.8}.portal-home .section-heading{margin-bottom:0}.portal-home .form-panel h3{font-size:25px;line-height:1.35}.portal-home .form-grid fieldset .small{font-size:13px!important}.site-header .nav-links{gap:21px}.site-header .nav-links a{font-size:13px}
@media(max-width:1100px){.portal-hero-grid{gap:30px;grid-template-columns:1.1fr 1fr}.portal-hero h1{font-size:43px;letter-spacing:-1.8px}.portal-hero .lead{font-size:18px}.subject-card{padding:23px}.subject-card h3{font-size:22px}.portal-subject-grid{gap:17px}.portal-library{gap:40px}.portal-hero .pill{font-size:9px}.portal-preview{transform:none}.site-header .nav-links{gap:13px}.site-header .nav-links a{font-size:12px}.reading-route{gap:7px}.reading-route>span:not([aria-hidden]){padding:15px 12px;gap:8px;font-size:13px}}
@media(max-width:850px){.portal-hero-grid{grid-template-columns:1fr;gap:38px}.portal-hero{padding-top:40px}.portal-hero-copy{max-width:650px}.portal-preview{max-width:560px;width:100%;margin:auto}.portal-subject-grid{grid-template-columns:1fr}.subject-card{position:relative;padding:29px}.subject-symbol{position:absolute;right:27px;top:22px;font-size:31px}.subject-card .eyebrow{padding-right:65px}.subject-card h3{max-width:460px;font-size:25px}.subject-card .text-link{padding-top:13px}.portal-stat-strip>.container{grid-template-columns:1fr 1fr;gap:23px}.grade-top{padding:22px 26px}.grade-top>b{font-size:60px}.grade-body{padding:26px}.grade-body .btn{margin-top:20px}.portal-library{grid-template-columns:1fr;gap:28px}.portal-process .portal-subject-grid{gap:30px}.portal-process article{padding:0}.portal-teacher>.container{display:block}.portal-teacher .btn{margin-top:24px}.archive-subject-grid{grid-template-columns:1fr}.reading-route{flex-direction:column}.reading-route>[aria-hidden]{transform:rotate(90deg);line-height:1}.reading-route>span:not([aria-hidden]){font-size:15px;padding:17px}.portal-home .section{padding:55px 0}.oral-content{padding-top:25px}.oral-prompt{font-size:18px!important}.source-text{font-size:16px;padding:17px}.learning-hero h1{overflow-wrap:anywhere}}
@media(max-width:500px){.portal-hero h1{font-size:37px;letter-spacing:-1.7px}.portal-hero .pill{font-size:8px}.portal-hero .lead{font-size:17px}.portal-hero .hero-actions{flex-direction:column;align-items:stretch}.portal-hero .btn{justify-content:center}.preview-header{padding:19px;font-size:14px}.preview-panel{padding:22px;min-height:330px}.portal-stat-strip b{font-size:18px}.portal-stat-strip span{font-size:12px}.portal-stat-strip>.container{gap:20px 16px}.portal-library h2{font-size:30px}.grade-body h3{font-size:24px}.portal-home .form-panel{padding:22px 18px}.portal-faq details{padding:19px}.portal-faq summary{font-size:16px}.portal-home .portal-teacher h2{font-size:29px}.portal-preview{box-shadow:5px 7px 0 #e4edda}.portal-subject-grid{margin-top:25px}.subject-card h3{padding-right:15px}.practice-timer{padding:17px}.practice-timer .btn{font-size:12px}.learning .learning-hero h1{font-size:29px;letter-spacing:-1px}.site-header .brand small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.portal-preview{transform:none}}
@media(max-width:500px){.portal-hero h1{font-size:clamp(30px,9vw,37px);letter-spacing:-1.2px}.portal-hero .pill{font-size:10px;white-space:normal;line-height:1.6}.portal-hero-copy{min-width:0}.preview-tabs button{font-family:inherit;font-weight:800;font-size:14px}}
.portal-home .btn.secondary{background:white;color:#173d39;border:1px solid #92a78d}.portal-home .learning-card{border:1px solid #ccd6c8;border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:16px}.portal-home .learning-card a{font-weight:800;margin-top:auto}.portal-home .learning-card h3,.portal-home .learning-card p{margin:0}.preview-tabs button{font-family:inherit;font-weight:800;font-size:15px}
