/*
Theme Name: RootsEdu
Theme URI: https://rootsedu.org
Description: Bilingual learning system theme for the Marble Skill Taxonomy.
Author: RootsEdu
Version: 0.1.0
License: GPL-2.0-or-later
Text Domain: rootsedu
*/
:root{--re-bg:#f2faf1;--re-fg:#17321f;--re-muted:#5c7265;--re-line:#cfe5d2;--re-accent:#1f8a4c;--re-accent-2:#0f6b3a;--re-accent-soft:#d9f0dc;--re-card:#ffffff}
*{box-sizing:border-box}
body{margin:0;font-family:"PingFang SC","Noto Sans SC","Microsoft YaHei",system-ui,Segoe UI,Roboto,Arial,sans-serif;color:var(--re-fg);background:var(--re-bg);line-height:1.55;font-size:16px}
a{color:var(--re-accent);text-decoration:none}
a:hover{text-decoration:underline}
.re-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.re-site-header{background:var(--re-card);border-bottom:1px solid var(--re-line);position:sticky;top:0;z-index:20}
.re-site-header .re-wrap{display:flex;align-items:center;gap:20px;padding-top:14px;padding-bottom:14px}
.re-brand{font-weight:700;font-size:22px}
.re-brand small{display:block;font-size:12px;color:var(--re-muted);font-weight:400}
.re-main-nav{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap}
.re-main-nav a{color:var(--re-fg)}
.re-main-nav a:hover{color:var(--re-accent)}
.re-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.re-tag{background:var(--re-card);border:1px solid var(--re-line);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--re-fg)}
.re-card{background:var(--re-card);border:1px solid var(--re-line);border-radius:8px;padding:20px;margin:0 0 18px}
.re-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.re-badge{display:inline-block;font-size:12px;color:var(--re-muted);border:1px solid var(--re-line);border-radius:6px;padding:2px 8px;margin-right:6px}
.re-subject{background:var(--re-accent);color:#fff;border-radius:8px;padding:18px;font-weight:600}
.re-subject .count{display:block;font-weight:400;font-size:13px;opacity:.85}
.re-pagination{margin-top:30px;display:flex;gap:10px}
.re-progress{height:10px;background:var(--re-line);border-radius:999px;overflow:hidden}
.re-progress>i{display:block;height:100%;background:var(--re-accent-2)}
.re-mastery button{margin-right:8px}
.re-flash{background:#eafbe9;border:1px solid #b7e3b3;color:#126f25;padding:10px 14px;border-radius:8px;margin-bottom:16px}
.re-bilingual .en{color:var(--re-muted);font-style:italic}
.re-graph{height:380px;border:1px dashed var(--re-line);border-radius:14px;background:#fff}
.re-form{display:grid;grid-template-columns:1fr;gap:10px;max-width:560px}
.re-form label{font-weight:600}
.re-form input,.re-form select,.re-form textarea{padding:9px 10px;border:1px solid var(--re-line);border-radius:8px;font:inherit}
.re-form button{padding:10px 16px;border:0;border-radius:999px;background:var(--re-accent);color:#fff;font-weight:700;cursor:pointer;justify-self:start}
.re-btn{display:inline-block;padding:10px 18px;border:0;border-radius:999px;background:var(--re-accent);color:#fff;font-weight:700;text-decoration:none}
.re-btn:hover{background:var(--re-accent-2);color:#fff;text-decoration:none}
.re-btn-ghost{display:inline-block;padding:10px 18px;border:1px solid var(--re-line);border-radius:999px;background:var(--re-card);color:var(--re-fg);font-weight:700;text-decoration:none}
.re-btn-ghost:hover{border-color:var(--re-accent);color:var(--re-accent);text-decoration:none}
.re-footer{border-top:1px solid var(--re-line);margin-top:50px;padding:28px 0;color:var(--re-muted);font-size:13px}
.re-footer a{color:var(--re-muted)}
.re-footer-nav{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px}
.re-footer-nav a{font-size:14px;color:var(--re-fg)}
.re-footer-nav a:hover{color:var(--re-accent)}
.re-home h1,.re-home h2{line-height:1.2;letter-spacing:0}
main h1{text-align:center}
.re-hero h1{text-align:left}
.re-home h2{font-size:28px}
.re-home h2 small{font-size:16px;color:var(--re-muted);font-weight:400}
.re-eyebrow{display:inline-block;margin-bottom:14px;color:var(--re-accent);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.re-hero{background:linear-gradient(180deg,var(--re-accent-soft),var(--re-bg));border-bottom:1px solid var(--re-line)}
.re-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:36px;padding-top:56px;padding-bottom:56px;align-items:center}
.re-hero-copy h1{font-size:46px;margin:0 0 18px}
.re-hero-lead{font-size:18px;color:var(--re-muted);max-width:620px;margin:0 0 24px}
.re-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.re-hero-panel{background:var(--re-card);border:1px solid var(--re-line);border-radius:12px;padding:24px;box-shadow:0 14px 40px rgba(31,138,76,.12)}
.re-kids-scene{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:18px;background:var(--re-accent-soft)}
.re-kids-scene .re-float{transform-box:fill-box;transform-origin:center;animation:re-bob 3.4s ease-in-out infinite}
.re-kids-scene .re-float:nth-of-type(2n){animation-duration:4.1s}
@keyframes re-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.re-hero-stat{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--re-line);padding:14px 0}
.re-hero-stat strong{font-size:34px;color:var(--re-accent)}
.re-hero-stat span{color:var(--re-muted)}
.re-hero-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:18px}
.re-hero-search input{padding:11px 12px;border:1px solid var(--re-line);border-radius:8px;font:inherit}
.re-hero-search button{padding:0 18px;border:0;border-radius:8px;background:var(--re-accent);color:#fff;font-weight:700;cursor:pointer}
.re-band{background:var(--re-accent);color:#fff;padding:44px 0;text-align:center}
.re-band h2{font-size:34px;margin:0 0 12px}
.re-band p{max-width:780px;margin:0 auto;font-size:17px;opacity:.94}
.re-steps,.re-features,.re-subjects,.re-ages,.re-cta{padding:56px 0}
.re-steps{background:var(--re-card)}
.re-steps h2,.re-features h2,.re-subjects h2,.re-ages h2,.re-cta h2{margin:0 0 24px}
.re-steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.re-step{background:var(--re-bg);border:1px solid var(--re-line);border-radius:8px;padding:20px}
.re-step span{display:block;color:var(--re-accent);font-weight:800;font-size:22px;margin-bottom:12px}
.re-step h3{margin:0 0 8px;font-size:18px}
.re-step p{margin:0;color:var(--re-muted)}
.re-feature-tags span{background:var(--re-accent-soft);border:1px solid var(--re-line);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:700;color:var(--re-fg)}
.re-cta{background:var(--re-accent-2);color:#fff;text-align:center}
.re-cta h2{color:#fff}
.re-cta p{max-width:680px;margin:0 auto 24px;opacity:.92}
.re-cta .re-btn{background:#fff;color:var(--re-accent-2)}
.re-cta .re-btn:hover{background:var(--re-accent-soft);color:var(--re-accent-2)}
@media (max-width:960px){
  .re-hero-grid{grid-template-columns:1fr}
  .re-hero-copy h1{font-size:36px}
  .re-steps-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .re-main-nav{width:100%;justify-content:flex-start}
  .re-hero-copy h1{font-size:30px}
  .re-steps-grid{grid-template-columns:1fr}
  .re-band h2{font-size:28px}
}
