/* Studymath — mint and green identity from its French Web Solution product page.
   Keep after style.css. Semantic success/error colors remain distinct. */
:root {
  color-scheme:light;
  --bg:#f3fbf7; --s1:#ffffff; --s2:#e8f6ee; --s3:#d4eedf;
  --bd:#cce7d8; --bd2:#a5cfb8; --hero-bg:#ddf4e8;
  --or:#12a150; --or2:#08783b; --or3:#105b3b;
  --or-dim:rgba(18,161,80,.08); --or-glow:transparent;
  --t1:#0b3b2a; --t2:#3c6354; --t3:#507a67;
  --fd:'Nunito',system-ui,sans-serif; --fb:'Nunito',system-ui,sans-serif;
  --gold:#876219; --gr:#08783b; --rd:#b62e45; --bl:#286e60; --pu:#397552;
  --r:18px; --r2:12px; --r3:28px; --sh:0 16px 40px #0b3b2a0c;
  --cta-bg:#0d803f; --cta-hover:#096b33; --cta-text:#fff; --header:rgba(243,251,247,.96);
}
body.focus-ui {
  color-scheme:dark;
  --bg:#0b2118; --s1:#112e22; --s2:#193d2c; --s3:#225238;
  --bd:#2a503b; --bd2:#47765a; --hero-bg:#153727;
  --t1:#effbf4; --t2:#bedcca; --t3:#98bca7;
  --or:#43c979; --or2:#8ae4ae; --or3:#b9f4cc;
  --or-dim:rgba(67,201,121,.10); --or-glow:transparent;
  --gold:#e7c46e; --gr:#8ae4ae; --rd:#ff9aac; --bl:#8ddac0; --pu:#a9dbb4;
  --cta-bg:#8ae4ae; --cta-hover:#b9f4cc; --cta-text:#0b3b2a; --header:rgba(11,33,24,.96);
}
body,body.focus-ui {background:var(--bg);color:var(--t1);font-size:16px;line-height:1.5}
button,input,select,textarea {font-family:var(--fb)}
button,a,input,select,textarea {touch-action:manipulation}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {outline:3px solid var(--or2);outline-offset:4px}
.land-nav,#topnav,#bottomnav,.chat-bot,body.focus-ui .land-nav,body.focus-ui #topnav,body.focus-ui #bottomnav,body.focus-ui .chat-bot {background:var(--header);border-color:var(--bd)}
.land-nav,#topnav {border-top:0;border-image:none;height:80px;padding-inline:max(24px,calc((100vw - 1180px)/2))}
#topnav {padding-inline:28px;height:68px}
.brand-icon,.brand-icon.sm,.modal-logo {background:var(--cta-bg);color:var(--cta-text);box-shadow:none;border-radius:10px}
.brand-name {font-size:1.2rem}
.land-cta,.btn-hero-p,.btn-p,.dh-btn-p,.pomo-btn-p,.chat-send {background:var(--cta-bg);color:var(--cta-text);box-shadow:none;border:1px solid transparent;font-family:var(--fd);font-weight:700;border-radius:999px!important}
.land-cta:hover,.btn-hero-p:hover,.btn-p:hover,.dh-btn-p:hover,.pomo-btn-p:hover,.chat-send:hover {background:var(--cta-hover);color:var(--cta-text);box-shadow:none;transform:translateY(-1px)}
.btn-hero-s,.dh-btn-s,.btn-ghost,.demo-btn {background:transparent;color:var(--t1);border:1px solid var(--bd2);border-radius:999px!important;box-shadow:none}
.btn-hero-s:hover,.dh-btn-s:hover,.btn-ghost:hover,.demo-btn:hover {background:var(--s2);border-color:var(--t2);color:var(--t1)}
.hero {max-width:1244px;min-height:0;margin:auto;padding:88px 32px 80px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:64px;align-items:center;text-align:left;background:var(--hero-bg);box-shadow:0 0 0 100vmax var(--hero-bg);clip-path:inset(0 -100vmax);overflow:visible}
.hero::after,.cta-band::before {display:none}
.hero-copy {min-width:0}
.hero-badge {padding:7px 13px;margin-bottom:24px;border:1px solid var(--bd);border-radius:999px;background:transparent;color:var(--t2);font-size:.69rem;letter-spacing:.12em!important}
.hero-title {font-size:clamp(2.5rem,4.4vw,3.9rem);line-height:1.1;margin:0 0 24px;max-width:700px;letter-spacing:-.04em!important}
.hero-accent {background:none;-webkit-text-fill-color:var(--t1);color:var(--t1)}
.hero-sub {margin:0 0 30px;max-width:535px;font-size:1.1rem;line-height:1.8}
.hero-btns {justify-content:flex-start;margin-bottom:36px;gap:12px}
.btn-hero-p,.btn-hero-s {font-size:.82rem;min-height:52px;padding:14px 22px}
.hero-stats {display:flex;width:100%;padding:22px 0 0;gap:25px;background:none;border:0;border-top:1px solid var(--bd);border-radius:0}
.hstat {text-align:left}.hstat-n {color:var(--t1);font-size:1.02rem}.hstat-l {font-size:.64rem;color:var(--t3);margin-top:6px}.hstat-div {height:28px}
.hero-example {background:var(--s1);border:1px solid var(--bd);border-radius:20px;padding:28px;box-shadow:var(--sh);width:100%;position:relative}
.hero-example::before {content:'';position:absolute;top:28px;bottom:28px;left:-1px;width:3px;background:var(--or)}
.example-top {display:flex;justify-content:space-between;gap:12px;font-size:.6rem;font-weight:600;color:var(--t3);letter-spacing:.1em!important;margin-bottom:34px}
.example-level {color:var(--or2);font-size:.75rem;margin-bottom:10px}
.hero-example h2 {font-family:var(--fd);font-size:1.4rem;line-height:1.4;margin-bottom:22px}
.example-equation {font-family:Georgia,serif;font-style:italic;font-size:2.3rem;margin-bottom:14px}
.hero-example>p {font-size:.88rem;color:var(--t2)}
.example-options {display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}
.example-options>span {border:1px solid var(--bd);border-radius:10px;padding:10px 14px;font-size:.76rem;color:var(--t3);display:flex;align-items:center;gap:15px}
.example-options strong {font-size:1rem;color:var(--t1);font-weight:500}
.example-options .example-correct {border-color:var(--or);background:var(--or-dim)}
.example-correct b {margin-left:auto;color:var(--gr)}
.example-explanation {padding-block:4px 20px;border-bottom:1px solid var(--bd);font-size:.77rem;color:var(--t2)}
.example-explanation strong {display:block;color:var(--t1);font-weight:600;margin-bottom:5px}
.example-link {display:flex;justify-content:space-between;gap:12px;color:var(--t1);text-decoration:none;font-weight:600;font-size:.76rem;padding-top:18px}
.land-feats {max-width:1244px;padding:30px 32px 88px;scroll-margin-top:95px}
.land-sect-lbl {color:var(--t3);font-size:.7rem;letter-spacing:.14em!important}
.land-sect-title,.cta-band h2 {font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.2;letter-spacing:-.03em!important}
.feat-grid6 {grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.lfc,.lfc.lfc-hot {background:var(--s1);border:1px solid var(--bd);border-radius:16px!important;padding:28px;box-shadow:none}
.lfc:hover,.lfc.lfc-hot:hover {border-color:var(--bd2);box-shadow:none;transform:translateY(-2px)}
.lfc-icon {font-family:var(--fd);color:var(--or2);font-size:.72rem;margin-bottom:24px}
.lfc h3 {font-size:1rem}.lfc p {font-size:.9rem;line-height:1.8}.lfc-tags span {background:transparent;border-color:var(--bd);color:var(--t3);font-weight:500}
.cta-band {margin:0 auto;max-width:1180px;background:var(--s1);border:1px solid var(--bd);border-left:3px solid var(--or);border-radius:28px;text-align:left;padding:48px}
.cta-band {background:var(--cta-bg);border-color:var(--cta-bg);color:var(--cta-text)}
.cta-band h2,.cta-band p {color:var(--cta-text)}
.cta-band .btn-hero-p {background:var(--cta-text);color:var(--cta-bg)}
.land-footer {border:0;padding-block:48px;color:var(--t3)}
#sidebar,body.focus-ui #sidebar {top:68px;height:calc(100vh - 68px);background:var(--bg);border-color:var(--bd);width:240px;padding:24px 14px}
.sb-group-lbl {font-size:.6rem;color:var(--t3);letter-spacing:.1em!important;margin-bottom:6px}
.sb-item {padding:11px 13px;font-size:.85rem;border-radius:10px}
.sb-item.active {background:var(--s2);border-color:var(--bd);color:var(--t1)}
.sb-item.active::before {display:block;background:var(--or);height:45%}
.sb-item span:first-child {filter:grayscale(1);opacity:.8}
#shell-layout {min-height:calc(100vh - 68px)}
#app {padding:10px 36px 64px}
.dash-hero {background:var(--hero-bg);border:1px solid var(--bd);border-left:3px solid var(--or);min-height:290px;border-radius:20px;padding:32px;box-shadow:none;margin-block:22px}
.dash-hero::before {display:none}.dh-date {color:var(--t3);opacity:1;font-size:.66rem;margin-bottom:12px}
.dh-greeting {font-size:clamp(1.5rem,2.6vw,2rem)}.dh-sub {color:var(--t2);font-size:.92rem;margin-top:12px}
.dh-name {border-bottom-color:var(--bd2)}
.dh-level {background:transparent;border:0;padding:0;gap:12px;margin-top:20px}.dh-level span {color:var(--t3)}.dh-level select {color:var(--t1)}.dh-level select option {background:var(--s2)}
.quick-quiz-bar {background:transparent;border:0;border-radius:0;padding:0;margin-top:16px;gap:12px;backdrop-filter:none}
.qq-select {background:var(--s2);border-color:var(--bd2);min-height:46px}
.dh-actions-row {margin-top:16px}.dh-btn {padding:11px 18px}.dh-btn-s {font-size:.77rem}
.stats-strip,.obj-card,.upcoming,.stat-card,.card,.pomo-card,.phero,.game-progress .gp-stat,.sc,.qa-card,.choice,.cal-cell,.rcard,.tcard,.ev-card,details,.unlock-tile,.result-unlocks,.reward-line,.hud,.msg.ai,
body.focus-ui .stats-strip,body.focus-ui .obj-card,body.focus-ui .upcoming,body.focus-ui .stat-card,body.focus-ui .card,body.focus-ui .pomo-card,body.focus-ui .phero,body.focus-ui .game-progress .gp-stat,body.focus-ui .sc,body.focus-ui .qa-card,body.focus-ui .choice,body.focus-ui .cal-cell,body.focus-ui .rcard,body.focus-ui .tcard,body.focus-ui .ev-card,body.focus-ui details,body.focus-ui .unlock-tile,body.focus-ui .result-unlocks,body.focus-ui .reward-line,body.focus-ui .hud,body.focus-ui .msg.ai {background:var(--s1);border-color:var(--bd);box-shadow:none;border-radius:14px!important}
.stats-strip {padding:20px}.sstrip-v,.sc .sv {color:var(--t1)}.sstrip-l,.sc .sl {color:var(--t3)}
.qa-grid {gap:14px}.qa-card {padding:20px;min-height:104px}.qa-card::after {display:none}
.qa-icon {background:var(--s2)!important;box-shadow:none;filter:grayscale(1)}
.qa-card:hover,.sc:hover,.cal-cell:hover,.rcard:hover,.tcard:hover {border-color:var(--bd2);box-shadow:none;transform:translateY(-1px)}
.obj-card {padding:24px}.obj-fill,.pb {background:var(--or)}.obj-check.done {background:var(--or);border-color:var(--or)}
.nav-xp,.nav-streak {background:var(--s2);border-color:var(--bd);color:var(--t2);font-size:.75rem;border-radius:999px}
.choice {font-size:.95rem;line-height:1.6}.choice:hover:not(.disabled) {background:var(--s2);border-color:var(--bd2)}
.choice.correct,body.focus-ui .choice.correct {background:rgba(70,217,138,.12);border-color:var(--gr)}
.choice.wrong,body.focus-ui .choice.wrong {background:rgba(255,92,122,.1);border-color:var(--rd)}
.expl {background:var(--s2);border-left-color:var(--or2)}.expl.ok {border-left-color:var(--gr)}
.smart-review {background:var(--s1);border-color:var(--bd);border-left:3px solid var(--or)}
.modal-box,.user-menu,body.focus-ui .user-menu {background:var(--s1);border-color:var(--bd);border-radius:20px!important}
.msg.user {background:var(--s3);color:var(--t1)}
input,select,textarea {color:var(--t1);border-radius:10px!important}
input:focus,select:focus,textarea:focus {border-color:var(--bd2);box-shadow:0 0 0 3px var(--or-dim)}
details[open] {border-color:var(--bd2)}details[open] summary {background:var(--s2)}
.bnav-item.active {background:var(--s2)}.bnav-item.active .bnl {color:var(--t1)}.bni {filter:grayscale(1)}
@media (max-width:1100px) {.hero {gap:36px;padding-block:64px}.hero-title {font-size:3rem}.hero-example {padding:24px}.hero-stats {gap:16px}.feat-grid6 {gap:14px}.lfc {padding:22px}}
@media (max-width:860px) {
  .hero {grid-template-columns:1fr;padding:54px 24px;gap:40px}.hero-title {font-size:clamp(2.1rem,7vw,3.4rem)}.hero-sub {max-width:600px}.hero-example {max-width:600px}
  .hero-stats {width:100%;gap:20px;flex-wrap:wrap}.hstat-n {font-size:.95rem}.hero-btns {margin-bottom:28px}
  .land-feats {padding:28px 24px 48px}.feat-grid6 {grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta-band {margin-inline:24px;padding:32px}.land-nav {padding-inline:24px;height:72px}.land-cta {font-size:.7rem;padding:10px 14px}
  #app {padding:0 18px 110px}#topnav {height:68px;padding-inline:18px}.dash-hero {padding:24px;min-height:0}.dh-greeting {font-size:1.55rem}
  .dh-btn {width:auto}.dh-actions-row {display:flex;flex-wrap:wrap;gap:8px}.dh-actions-row .dh-btn {flex:1;padding:10px;white-space:nowrap}.quick-quiz-bar .dh-btn {width:100%}
  .qa-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.qa-card {padding:16px;min-width:0}.qa-card>div {min-width:0}
}
@media (max-width:520px) {
  .land-nav {padding-inline:20px}.land-cta {display:none}.hero {padding-inline:20px}.hero-title {font-size:2.4rem}.hero-sub {font-size:1rem}.hero-btns {align-items:stretch}.hero-btns button {flex:1;white-space:nowrap;padding-inline:15px;font-size:.75rem}
  .hero-stats {gap:12px;justify-content:space-between}.hstat-n {font-size:.83rem}.hstat-l {font-size:.56rem}.hstat-div {display:none}
  .hero-example {padding:24px}.hero-example h2 {font-size:1.3rem}.feat-grid6 {grid-template-columns:1fr}.land-feats {padding-inline:20px}.lfc {padding:26px}.cta-band {margin-inline:20px;padding:28px}
  .qa-grid {grid-template-columns:1fr}.stats-strip {padding:16px 8px}.dash-hero {padding:22px 18px}.dh-actions-row .dh-btn {font-size:.67rem}.brand-name {font-size:1.1rem}
}

/* Match remaining shared controls to the product palette. */
input[type=date] {color-scheme:light}
body.focus-ui input[type=date] {color-scheme:dark}
.tag,.bxp,.chip.active {border-color:var(--bd2);background:var(--or-dim);color:var(--or2)}
.nav-action {border-radius:50%;color:var(--t1)}
.choice.correct .ltr {color:var(--bg)}
.choice.wrong .ltr {background:#b62e45;color:#fff}
.hero-example {border-radius:28px}
.hero-example::before {display:none}
.sb-item.active {background:var(--hero-bg);border-color:var(--bd);color:var(--or2)}
