:root{
  --community-navy:#06131f;
  --community-navy-soft:#0c2232;
  --community-paper:#0a1b29;
  --community-card:#0d2232;
  --community-card-raised:#112a3c;
  --community-ink:#eef6f8;
  --community-muted:#9db0bc;
  --community-line:rgba(168,202,214,.18);
  --community-gold:#f2c66d;
  --community-gold-soft:#ffe2a3;
  --community-cyan:#55c7cf;
  --community-cyan-soft:#a1e7e9;
  --community-success:#62d8a3;
  --community-error:#ff9189;
}

.community-page{
  margin:0;
  min-height:100vh;
  color:var(--community-ink);
  overflow-x:hidden;
  background:
    radial-gradient(circle at 12% 0%,rgba(85,199,207,.11),transparent 28rem),
    radial-gradient(circle at 92% 18%,rgba(242,198,109,.065),transparent 24rem),
    var(--community-navy);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}

.community-page *{box-sizing:border-box}
.community-page a{color:inherit}
.community-page button,.community-page input,.community-page select{font:inherit}
.study-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}

.community-skip-link{
  position:fixed;
  top:10px;
  left:10px;
  z-index:100;
  padding:10px 14px;
  color:#fff;
  background:#000;
  border-radius:6px;
  transform:translateY(-160%);
}
.community-skip-link:focus{transform:none}

.community-header{
  position:sticky;
  top:0;
  z-index:20;
  color:#fff;
  background:rgba(4,14,23,.9);
  border-bottom:1px solid var(--community-line);
  box-shadow:0 8px 30px rgba(0,0,0,.14);
  backdrop-filter:blur(18px) saturate(130%);
}
.community-header-inner{
  width:min(1180px,calc(100% - 40px));
  min-height:72px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.community-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  text-decoration:none;
}
.community-brand img{width:46px;height:46px;object-fit:contain}
.community-brand span{display:grid;gap:1px}
.community-brand strong{font-size:1rem;letter-spacing:.01em}
.community-brand small{color:#aebdca;font-size:.73rem}
.community-header-actions{display:flex;align-items:center;gap:12px}
.community-language{
  display:flex;
  align-items:center;
  gap:8px;
  color:#b8c6d0;
  font-size:.78rem;
}
.community-language select{
  min-height:44px;
  color:#fff;
  background:var(--community-navy-soft);
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  padding:0 11px;
}
.community-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:44px;
  padding:0 13px;
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  text-decoration:none;
  font-size:.82rem;
  font-weight:700;
}

.community-main{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  min-width:0;
  padding:46px 0 64px;
}
.community-hero{
  min-height:330px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  align-items:center;
  gap:52px;
  color:#fff;
}
.community-hero-copy{max-width:760px}
.community-kicker{
  margin:0 0 12px;
  color:var(--community-gold-soft);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.17em;
  line-height:1.4;
}
.community-hero h1{
  max-width:700px;
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.7rem,6vw,5.1rem);
  font-weight:500;
  letter-spacing:-.045em;
  line-height:.98;
}
.community-intro{
  max-width:660px;
  margin:24px 0 0;
  color:#c6d0d8;
  font-size:clamp(1rem,1.8vw,1.18rem);
  line-height:1.65;
}
.community-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.community-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:47px;
  padding:0 18px;
  color:#fff;
  border:1px solid rgba(255,255,255,.25);
  border-radius:7px;
  text-decoration:none;
  font-size:.9rem;
  font-weight:800;
}
.community-button.is-primary{color:#071421;background:var(--community-gold);border-color:var(--community-gold)}
.community-hero-mark{
  width:230px;
  height:230px;
  justify-self:end;
  position:relative;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
}
.community-hero-mark::before{
  content:"";
  position:absolute;
  inset:13px;
  border:1px solid rgba(216,164,73,.65);
  border-radius:50%;
}
.community-hero-mark span{
  font-family:Georgia,"Times New Roman",serif;
  color:#fff;
  font-size:5rem;
  letter-spacing:-.08em;
}
.community-hero-mark i{position:absolute;width:7px;height:7px;background:var(--community-gold);border-radius:50%}
.community-hero-mark i:nth-of-type(1){top:26px}
.community-hero-mark i:nth-of-type(2){bottom:42px;left:40px}
.community-hero-mark i:nth-of-type(3){bottom:42px;right:40px}

.community-dashboard{
  display:grid;
  grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);
  align-items:start;
  gap:14px;
}
.challenge-card,.ranking-card,.profile-card,.how-card{
  min-width:0;
  border:1px solid var(--community-line);
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.16);
}
.challenge-card{
  padding:28px;
  color:#fff;
  background:
    linear-gradient(145deg,rgba(85,199,207,.1),transparent 45%),
    linear-gradient(180deg,var(--community-card-raised),var(--community-card));
}
.ranking-card,.profile-card,.how-card{padding:28px;background:linear-gradient(180deg,var(--community-card-raised),var(--community-card))}
.community-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.community-card-heading h2,.profile-card h2,.how-card h2{
  margin:0;
  font-family:inherit;
  font-size:clamp(1.35rem,2.7vw,1.85rem);
  font-weight:850;
  letter-spacing:-.035em;
  line-height:1.12;
}
.challenge-card>p:not(.community-kicker){margin:14px 0 22px;color:#b9cbd4;line-height:1.5}
.community-week{
  flex:0 0 auto;
  padding:7px 9px;
  color:#cddce3;
  background:rgba(85,199,207,.1);
  border:1px solid rgba(85,199,207,.18);
  border-radius:999px;
  font-size:.68rem;
  font-weight:750;
}
.challenge-score{display:block;font-size:clamp(2.2rem,4.3vw,3.55rem);letter-spacing:-.055em;line-height:1}
.challenge-score-label{display:block;margin-top:7px;color:#b9cad3;font-size:.78rem}
.challenge-progress-track{
  height:10px;
  margin-top:20px;
  overflow:hidden;
  background:rgba(255,255,255,.12);
  border-radius:999px;
}
.challenge-progress-track span{display:block;width:0;height:100%;min-width:5px;background:linear-gradient(90deg,var(--community-cyan),#7ce0b0);border-radius:inherit;box-shadow:0 0 18px rgba(85,199,207,.36);transition:width .35s ease}
.challenge-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:23px}
.challenge-metrics div{display:grid;gap:2px;padding-top:15px;border-top:1px solid rgba(255,255,255,.14)}
.challenge-metrics strong{font-size:1.35rem}
.challenge-metrics span{color:#b9cad3;font-size:.74rem}

.ranking-heading{align-items:center}
.ranking-explanation,.profile-card>p,.how-card>p{color:var(--community-muted);line-height:1.55}
.ranking-explanation{margin:14px 0 20px}
.community-refresh,.community-error button{
  min-height:37px;
  padding:0 12px;
  color:var(--community-cyan-soft);
  background:rgba(85,199,207,.055);
  border:1px solid var(--community-line);
  border-radius:10px;
  font-size:.75rem;
  font-weight:800;
  cursor:pointer;
}
.community-refresh:disabled{cursor:wait;opacity:.55}
.community-ranking{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ranking-row{
  min-height:68px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:9px 12px;
  background:rgba(255,255,255,.035);
  border:1px solid var(--community-line);
  border-radius:12px;
}
.ranking-row.is-current{background:rgba(85,199,207,.11);border-color:rgba(85,199,207,.55);box-shadow:inset 3px 0 0 var(--community-cyan)}
.ranking-position{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  color:#b8c7cf;
  background:rgba(255,255,255,.08);
  border-radius:50%;
  font-size:.76rem;
  font-weight:900;
}
.ranking-row:nth-child(1) .ranking-position{color:#4c3404;background:#f0cc73;box-shadow:0 0 0 4px rgba(240,204,115,.09)}
.ranking-row:nth-child(2) .ranking-position{color:#3e4a51;background:#cbd6dc}
.ranking-row:nth-child(3) .ranking-position{color:#5c341d;background:#d9a982}
.ranking-identity{min-width:0;display:grid;gap:4px}
.ranking-name-line{min-width:0;display:flex;align-items:center;gap:8px}
.ranking-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.91rem}
.ranking-you{padding:2px 6px;color:#08242c;background:var(--community-cyan);border-radius:999px;font-size:.6rem;font-weight:900;text-transform:uppercase}
.ranking-meta{overflow:hidden;color:var(--community-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem}
.ranking-score{display:grid;text-align:right}
.ranking-score strong{font-size:1.05rem}
.ranking-score small{color:var(--community-muted);font-size:.65rem}
.community-empty,.community-loading{margin:22px 0 4px;padding:18px;color:var(--community-muted);background:rgba(255,255,255,.025);border:1px dashed var(--community-line);border-radius:10px;text-align:center;line-height:1.5}
.community-error{margin:16px 0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;color:#7d2f29;background:#fff1ee;border:1px solid #e6b9b2;border-radius:8px;font-size:.8rem;line-height:1.45}
.community-error[hidden],.community-empty[hidden],.community-loading[hidden]{display:none}

.community-lower-grid{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:18px;margin-top:18px}
.profile-card,.how-card{box-shadow:0 16px 38px rgba(0,0,0,.14)}
.profile-card>p,.how-card>p{margin:14px 0 0}
.community-profile-form{margin-top:22px}
.community-profile-form>label{display:block;margin-bottom:7px;font-size:.75rem;font-weight:800}
.community-profile-form>div{display:flex;gap:8px}
.community-profile-form input{
  min-width:0;
  flex:1;
  height:45px;
  padding:0 12px;
  color:var(--community-ink);
  background:rgba(2,11,18,.48);
  border:1px solid rgba(168,202,214,.28);
  border-radius:11px;
}
.community-profile-form input::placeholder{color:#738b98}
.community-profile-form button{
  min-height:45px;
  padding:0 15px;
  color:#08212a;
  background:var(--community-cyan);
  border:1px solid var(--community-cyan);
  border-radius:11px;
  font-size:.78rem;
  font-weight:850;
  cursor:pointer;
}
.community-profile-status{min-height:20px;margin:8px 0 0!important;font-size:.72rem}
.community-profile-status[data-state="success"]{color:var(--community-success)}
.community-profile-status[data-state="error"]{color:var(--community-error)}
.community-privacy{padding-top:14px;border-top:1px solid var(--community-line);font-size:.75rem!important}
.community-steps{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:0}
.community-steps li{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px 0;border-top:1px solid var(--community-line)}
.community-steps li>span{color:#a47628;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.community-steps strong{font-size:.87rem}
.community-steps p{margin:5px 0 0;color:var(--community-muted);font-size:.78rem;line-height:1.5}

.community-fairness{
  margin-top:18px;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:28px;
  align-items:center;
  padding:28px 32px;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
}
.community-fairness p{margin:7px 0 0;color:#bfcbd3;line-height:1.55}
.community-fairness>div:last-child{display:grid;gap:10px;padding-left:28px;border-left:1px solid rgba(255,255,255,.15)}
.community-fairness strong{font-family:Georgia,"Times New Roman",serif;font-size:1.14rem}
.community-fairness a{color:#e5bc6d;font-size:.78rem;font-weight:800;text-underline-offset:4px}
.community-footer{
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:20px;
  color:#8fa0ad;
  background:#040c13;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:.75rem;
}
.community-footer strong{color:#d8e0e5}
.mobile-bottom-nav{display:none}

.community-page :is(a,button,input,select):focus-visible,
.community-publish-card :is(a,button,input):focus-visible{outline:3px solid var(--community-cyan);outline-offset:3px}

/* Carte ajoutée à la fin d'un QCM terminé. */
.community-publish-card{
  max-width:720px;
  margin:24px auto 0;
  padding:24px;
  color:var(--community-ink);
  background:var(--community-card);
  border:1px solid var(--community-line);
  border-top:4px solid var(--community-gold);
  border-radius:11px;
  box-shadow:0 12px 32px rgba(8,21,33,.1);
  text-align:left;
}
.community-publish-title{margin:0;font-family:inherit;font-size:1.35rem;font-weight:850;letter-spacing:-.025em;line-height:1.15}
.community-publish-copy{margin:9px 0 0;color:var(--community-muted);font-size:.88rem;line-height:1.55}
.community-publish-form{display:flex;align-items:end;gap:9px;margin-top:18px}
.community-publish-field{min-width:0;flex:1;display:grid;gap:6px}
.community-publish-label{font-size:.72rem;font-weight:850}
.community-publish-input{width:100%;height:44px;padding:0 12px;color:var(--community-ink);background:#071723;border:1px solid var(--community-line);border-radius:10px}
.community-publish-button{min-height:44px;padding:0 15px;color:#08212a;background:var(--community-cyan);border:0;border-radius:10px;font-weight:850;cursor:pointer}
.community-publish-button:disabled{cursor:wait;opacity:.65}
.community-publish-status{min-height:20px;margin:9px 0 0;font-size:.76rem;line-height:1.4}
.community-publish-status[data-state="success"]{color:var(--community-success)}
.community-publish-status[data-state="error"]{color:var(--community-error)}
.community-publish-privacy{margin:3px 0 0;color:var(--community-muted);font-size:.69rem;line-height:1.4}
.community-publish-link{display:inline-block;margin-top:12px;color:var(--community-cyan-soft)!important;font-size:.78rem;font-weight:850;text-underline-offset:4px}

.study-hero{
  min-height:260px;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
  align-items:center;
  gap:34px;
  padding:26px 0 34px;
  color:#fff;
}
.study-hero-copy{max-width:720px}
.study-hero h1{
  max-width:700px;
  margin:0;
  font-family:inherit;
  font-size:clamp(2.55rem,5.4vw,4.35rem);
  font-weight:850;
  letter-spacing:-.06em;
  line-height:.96;
}
.study-score-summary{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px}
.study-leader-card,.study-my-score-card,.study-score-link{
  min-width:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(85,199,207,.075),rgba(255,255,255,.025));
}
.study-leader-card{grid-row:span 2;display:grid;align-content:center;gap:5px;padding:20px}
.study-leader-card>span,.study-my-score-card>span{color:var(--community-gold-soft);font-size:.61rem;font-weight:900;letter-spacing:.11em}
.study-leader-card>strong{overflow:hidden;font-size:1.35rem;text-overflow:ellipsis;white-space:nowrap}
.study-leader-card>small,.study-my-score-card>small{color:#aebdca;font-size:.69rem;line-height:1.35}
.study-my-score-card{display:grid;align-content:center;gap:2px;padding:13px}
.study-my-score-card>strong{font-size:1.35rem;line-height:1}
.study-score-link{min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px;color:var(--community-cyan-soft);font-size:.68rem;font-weight:850;text-decoration:none}
.study-score-link:hover{border-color:rgba(216,164,73,.55);background:rgba(216,164,73,.09)}

.study-picker-card{
  min-width:0;
  padding:26px;
  border:1px solid var(--community-line);
  border-radius:18px;
  background:linear-gradient(180deg,var(--community-card-raised),var(--community-card));
  box-shadow:0 18px 45px rgba(0,0,0,.16);
}
.study-picker-heading{display:grid;gap:0}
.study-picker-heading h2,.study-topic-heading h3{margin:0;font-family:inherit;font-size:clamp(1.35rem,2.7vw,1.85rem);font-weight:850;letter-spacing:-.035em;line-height:1.12}
.study-picker-heading>p:last-child,.study-topic-heading p{margin:8px 0 0;color:var(--community-muted);font-size:.8rem;line-height:1.45}
.study-subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}
.study-subject-option{
  position:relative;
  min-width:0;
  min-height:76px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px;
  color:var(--community-ink);
  text-align:left;
  background:rgba(255,255,255,.035);
  border:1px solid var(--community-line);
  border-radius:13px;
  cursor:pointer;
}
.study-subject-option:hover{border-color:rgba(85,199,207,.48);background:rgba(85,199,207,.055)}
.study-subject-option[aria-pressed="true"]{border-color:var(--community-cyan);background:rgba(85,199,207,.12);box-shadow:0 0 0 3px rgba(85,199,207,.06),inset 3px 0 0 var(--community-cyan)}
.study-subject-option[aria-pressed="true"]::after{content:"✓";position:absolute;top:7px;right:8px;display:grid;place-items:center;width:17px;height:17px;color:#08212a;background:var(--community-cyan);border-radius:50%;font-size:.58rem;font-weight:950}
.study-picker-icon{width:40px;height:40px;display:grid;place-items:center;color:var(--community-gold-soft);background:rgba(242,198,109,.09);border:1px solid rgba(242,198,109,.2);border-radius:11px}
.study-subject-option[aria-pressed="true"] .study-picker-icon{color:var(--community-cyan-soft);background:rgba(85,199,207,.1);border-color:rgba(85,199,207,.28)}
.study-picker-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.study-picker-copy{min-width:0;display:grid;gap:3px}
.study-picker-copy strong{overflow:hidden;font-size:.76rem;line-height:1.2;text-overflow:ellipsis}
.study-picker-copy small{color:var(--community-muted);font-size:.62rem}
.study-topic-heading{margin-top:26px;padding-top:24px;border-top:1px solid var(--community-line)}
.study-topic-list{display:grid;gap:8px;margin-top:14px}
.study-topic-option{
  width:100%;
  min-height:72px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:11px 13px;
  color:var(--community-ink);
  text-align:left;
  background:rgba(255,255,255,.035);
  border:1px solid var(--community-line);
  border-radius:13px;
  cursor:pointer;
}
.study-topic-option:hover{border-color:rgba(242,198,109,.45)}
.study-topic-option[aria-pressed="true"]{border-color:rgba(242,198,109,.7);background:rgba(242,198,109,.095);box-shadow:inset 3px 0 0 var(--community-gold)}
.study-topic-number{width:34px;height:34px;display:grid;place-items:center;color:var(--community-gold-soft);background:rgba(242,198,109,.1);border:1px solid rgba(242,198,109,.16);border-radius:10px;font-size:.65rem;font-weight:900}
.study-topic-copy{min-width:0;display:grid;gap:3px}
.study-topic-copy strong{font-size:.86rem;line-height:1.2}
.study-topic-copy small{color:var(--community-muted);font-size:.65rem}
.study-topic-date{padding:5px 8px;color:var(--community-cyan-soft);background:rgba(85,199,207,.09);border:1px solid rgba(85,199,207,.16);border-radius:999px;font-size:.57rem;font-weight:850;white-space:nowrap}

.study-profile-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);align-items:center;gap:28px;margin-top:14px;padding:24px 28px}
.study-profile-card>div>p:last-child{margin:8px 0 0;color:var(--community-muted);font-size:.78rem;line-height:1.45}
.study-profile-card .community-profile-form{margin:0}
.study-profile-card .community-privacy{grid-column:1/-1;margin:0!important;padding-top:12px}

.study-practice-card{
  --ink:#f7f9fc;
  --muted:#aebbd0;
  --muted-strong:#ced7e5;
  --line:rgba(197,215,239,.14);
  --gold:#f2c66d;
  --gold-soft:#ffe2a3;
  --cyan:#6edce1;
  margin-top:14px;
  padding:16px;
  color:var(--ink);
  background:linear-gradient(180deg,#0b2131,#081925);
  border:1px solid var(--community-line);
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.2);
}
.practice-module{scroll-margin-top:90px;margin:0;border:1px solid rgba(110,220,225,.24);border-radius:16px;background:linear-gradient(145deg,rgba(85,199,207,.075),rgba(4,13,23,.5));overflow:hidden}
.practice-module.is-open{border-color:rgba(242,198,109,.32);box-shadow:0 18px 46px rgba(0,0,0,.18)}
.practice-overview{padding:18px}
.practice-heading{display:grid;grid-template-columns:50px 1fr;gap:13px;align-items:center}
.practice-icon{width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(110,220,225,.28);border-radius:15px;color:var(--cyan);background:rgba(85,199,207,.08)}
.practice-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.practice-heading-copy{display:grid;gap:2px}
.practice-eyebrow{color:var(--gold-soft);font-size:.6rem;font-weight:950;letter-spacing:.11em}
.practice-heading h3{margin:2px 0 0;font-size:1.16rem;line-height:1.14}
.practice-heading p{margin:2px 0 0;color:var(--muted);font-size:.71rem}
.practice-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}
.practice-counts span{min-height:54px;display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:rgba(255,255,255,.022);font-size:.64rem;font-weight:800}
.practice-counts strong{color:var(--ink);font-size:1.1rem}
.practice-overview-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.practice-total-progress{color:var(--muted);font-size:.68rem}
.practice-start,.practice-validate,.practice-next,.practice-reset{min-height:42px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:rgba(255,255,255,.035);font-size:.68rem;font-weight:900;cursor:pointer}
.practice-start,.practice-validate{border-color:rgba(242,198,109,.34);color:#081322;background:linear-gradient(135deg,var(--gold),var(--gold-soft))}
.practice-workspace{padding:17px;border-top:1px solid var(--line);background:rgba(3,10,18,.34)}
.practice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:13px}
.practice-tabs{display:flex;flex-wrap:wrap;gap:7px}
.practice-tab{min-height:44px;display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:rgba(255,255,255,.025);cursor:pointer}
.practice-tab strong{font-size:.67rem}.practice-tab small{padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.045);font-size:.57rem}
.practice-tab.is-active{border-color:rgba(110,220,225,.4);color:var(--ink);background:rgba(85,199,207,.1)}
.practice-tab.is-complete small{color:#b8f5d5;background:rgba(114,224,171,.08)}
.practice-reset{flex:none;color:var(--muted);background:transparent}
.practice-question-host{margin-top:13px}
.practice-question-card,.practice-summary{padding:19px;border:1px solid var(--line);border-radius:16px;background:rgba(7,18,31,.88)}
.practice-question-meta{display:flex;justify-content:space-between;gap:11px;color:var(--muted);font-size:.59rem;font-weight:950;letter-spacing:.08em}
.practice-question-meta span:first-child{color:var(--cyan)}
.practice-question-card h4,.practice-summary h4{margin:16px 0 0;font-size:clamp(1rem,2.2vw,1.28rem);line-height:1.3}
.practice-scenario{margin-top:14px;padding:13px;border-left:3px solid var(--gold);border-radius:0 12px 12px 0;background:rgba(242,198,109,.055)}
.practice-scenario span{color:var(--gold-soft);font-size:.58rem;font-weight:950;letter-spacing:.11em}.practice-scenario p{margin:5px 0 0;color:var(--muted-strong);font-size:.74rem}
.practice-options{display:grid;gap:7px;margin-top:16px}
.practice-option{width:100%;display:grid;grid-template-columns:33px 1fr;gap:9px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:13px;color:var(--muted-strong);text-align:left;background:rgba(255,255,255,.02);cursor:pointer}
.practice-option.is-selected{border-color:rgba(110,220,225,.58);color:var(--ink);background:rgba(85,199,207,.105)}
.practice-option:disabled{cursor:default;opacity:.82}.practice-option.is-correct-option{border-color:rgba(114,224,171,.46);color:#d8ffea;background:rgba(114,224,171,.09);opacity:1}.practice-option.is-wrong-option{border-color:rgba(255,154,154,.42);color:#ffd9d9;background:rgba(255,154,154,.075);opacity:1}
.practice-option-letter{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--gold-soft);font-size:.64rem;font-weight:950}.practice-option-text{font-size:.73rem;line-height:1.38}
.practice-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:15px}.practice-validate:disabled{cursor:not-allowed;opacity:.42}.practice-next{border-color:rgba(110,220,225,.3);color:var(--cyan);background:rgba(85,199,207,.065)}
.practice-feedback{display:grid;gap:6px;margin-top:15px;padding:14px;border:1px solid var(--line);border-radius:13px}.practice-feedback.is-correct{border-color:rgba(114,224,171,.31);background:rgba(114,224,171,.055)}.practice-feedback.is-incorrect{border-color:rgba(255,154,154,.29);background:rgba(255,154,154,.045)}.practice-feedback>strong{color:#b8f5d5;font-size:.76rem}.practice-feedback.is-incorrect>strong,.practice-your-answer{color:#ffd0d0}.practice-feedback p{margin:0;font-size:.71rem}.practice-correct-answer{color:var(--ink);font-weight:800}.practice-explanation{color:var(--muted-strong);line-height:1.5}
.practice-summary{text-align:center}.practice-summary h4{font-size:1.3rem}.practice-score{display:block;margin-top:7px;color:var(--cyan);font-size:clamp(2.1rem,7vw,3.6rem);line-height:1}.practice-summary>p{max-width:560px;margin:11px auto 0;color:var(--muted)}.practice-summary .practice-actions{justify-content:center}
.practice-format-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px;padding:11px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018)}.practice-format-picker[hidden]{display:none}.practice-format-choice{min-height:64px;display:grid;gap:4px;align-content:center;padding:9px 11px;border:1px solid var(--line);border-radius:11px;color:var(--ink);text-align:left;background:rgba(255,255,255,.025);cursor:pointer}.practice-format-choice[disabled]{cursor:default;border-color:rgba(242,198,109,.28);background:rgba(242,198,109,.06);opacity:.72}.practice-format-choice strong{font-size:.7rem}.practice-format-choice small{color:var(--muted);font-size:.61rem}
.practice-sources{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:11px;color:var(--muted);font-size:.59rem}.practice-sources>span{color:var(--gold-soft);font-weight:950;letter-spacing:.09em}.practice-sources a{padding:4px 7px;color:inherit;border:1px solid var(--line);border-radius:999px}

html.practice-modal-open,body.practice-modal-open{overflow:hidden;overscroll-behavior:none}
.practice-dialog:not([open]){display:none}
.practice-dialog{position:fixed;inset:0;z-index:1000;width:min(960px,calc(100vw - 32px));height:min(860px,calc(100dvh - 32px));max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid rgba(110,220,225,.3);border-radius:24px;color:var(--ink);background:#071421;box-shadow:0 30px 100px rgba(0,0,0,.7)}
.practice-dialog::backdrop{background:rgba(1,7,14,.82);backdrop-filter:blur(10px)}
.practice-dialog-shell{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:linear-gradient(160deg,#10283b 0,#071421 48%,#06101d 100%)}
.practice-dialog-header{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px;border-bottom:1px solid rgba(197,215,239,.14);background:rgba(4,13,23,.8)}
.practice-dialog-heading{min-width:0;display:grid;gap:3px}.practice-dialog-heading>strong{overflow:hidden;font-size:1rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.practice-dialog-close{min-height:44px;display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(197,215,239,.22);border-radius:12px;color:var(--ink);background:rgba(255,255,255,.04);font:inherit;font-size:.68rem;font-weight:900;cursor:pointer}.practice-dialog-close>span{font-size:1.45rem;font-weight:400;line-height:.7}.practice-dialog-close>b{font:inherit}
.practice-dialog .practice-workspace{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:14px 16px 12px;border-top:0;background:transparent}
.practice-dialog .practice-question-host{min-height:0;margin-top:11px;padding:0 5px 12px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.practice-dialog .practice-sources{margin:8px 0 0;padding-top:8px;border-top:1px solid rgba(197,215,239,.1)}
.practice-dialog .practice-question-card,.practice-dialog .practice-summary{max-width:820px;margin:0 auto}

@media (max-width:680px){
  .practice-dialog{inset:0;width:100vw;height:100dvh;margin:0;border:0;border-radius:0}
  .practice-dialog-header{min-height:58px;padding:calc(8px + env(safe-area-inset-top)) 10px 8px}
  .practice-dialog-heading .practice-eyebrow{font-size:.45rem}.practice-dialog-heading>strong{font-size:.78rem}
  .practice-dialog-close{width:44px;min-width:44px;height:44px;justify-content:center;padding:0;border-radius:12px}.practice-dialog-close>b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .practice-dialog .practice-workspace{padding:8px 8px calc(7px + env(safe-area-inset-bottom))}
  .practice-dialog .practice-question-host{margin-top:7px;padding-right:1px;padding-bottom:8px}
  .practice-dialog .practice-sources{margin-top:5px;padding-top:5px}
}

.study-publish-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:14px;padding:22px 24px;color:#fff;background:linear-gradient(145deg,rgba(85,199,207,.11),var(--community-card));border:1px solid var(--community-line);border-radius:16px;box-shadow:0 16px 38px rgba(0,0,0,.16)}
.study-publish-panel[hidden]{display:none}.study-publish-panel h2{margin:0;font-family:inherit;font-size:1.4rem;font-weight:850;letter-spacing:-.03em}.study-publish-panel p:not(.community-kicker){margin:6px 0 0;color:#c3d2da;font-size:.78rem}.study-publish-panel>button{min-height:44px;padding:0 16px;color:#071421;background:var(--community-gold);border:0;border-radius:12px;font-size:.75rem;font-weight:900;cursor:pointer}.study-publish-panel>button:disabled{opacity:.6;cursor:wait}.study-publish-panel>#studyPublishStatus{grid-column:1/-1;margin:0;min-height:0}.study-publish-panel>#studyPublishStatus[data-state="success"]{color:#a9efce}.study-publish-panel>#studyPublishStatus[data-state="error"]{color:#ffc8c4}
.study-ranking-heading{scroll-margin-top:90px;margin:30px 2px 10px}.study-ranking-heading .community-kicker{margin:0}
.study-how-details{margin-top:14px;padding:16px 20px;color:#d7e0e6;background:rgba(255,255,255,.02);border:1px solid var(--community-line);border-radius:14px}.study-how-details summary{cursor:pointer;color:var(--community-gold-soft);font-size:.76rem;font-weight:850}.study-how-details p{margin:12px 0 0;color:#aebbc5;font-size:.76rem;line-height:1.55}

@media (max-width:820px){
  .community-header-inner,.community-main{width:min(100% - 24px,680px)}
  .community-header-inner{min-height:68px}
  .community-language>span,.community-back span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .community-back{padding:0 12px;font-size:1rem}
  .community-main{padding-top:32px}
  .community-hero{min-height:auto;grid-template-columns:1fr;padding:34px 0 46px}
  .community-hero h1{font-size:clamp(2.65rem,13vw,4rem)}
  .community-hero-mark{display:none}
  .community-dashboard,.community-lower-grid{grid-template-columns:1fr}
  .community-fairness{grid-template-columns:1fr}
  .community-fairness>div:last-child{padding:20px 0 0;border-top:1px solid rgba(255,255,255,.15);border-left:0}
  .study-hero{min-height:auto;grid-template-columns:1fr;gap:24px;padding:32px 0}
  .study-hero h1{font-size:clamp(2.55rem,12vw,4rem)}
  .study-score-summary{grid-template-columns:minmax(0,1fr) 128px}
  .study-subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .study-profile-card{grid-template-columns:1fr;gap:18px}
  .study-profile-card .community-privacy{grid-column:auto}
}

@media (max-width:680px){
  .community-page{padding-bottom:76px}
  .mobile-bottom-nav{
    position:fixed;
    left:6px;
    right:6px;
    bottom:max(6px,env(safe-area-inset-bottom));
    z-index:60;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    overflow:hidden;
    border:1px solid rgba(168,202,214,.26);
    border-radius:18px;
    background:rgba(6,15,26,.94);
    box-shadow:0 20px 55px rgba(0,0,0,.45);
    backdrop-filter:blur(18px);
  }
  .mobile-bottom-nav a{
    min-width:0;
    min-height:56px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:1px;
    padding:3px 1px;
    color:var(--community-muted);
    text-decoration:none;
  }
  .mobile-bottom-nav a[aria-current="page"]{color:var(--community-ink);background:rgba(242,198,109,.1)}
  .mobile-bottom-nav .nav-icon{display:grid;place-items:center;color:var(--community-gold-soft)}
  .mobile-bottom-nav .nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-bottom-nav strong{max-width:100%;overflow:hidden;font-size:.61rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
}

@media (max-width:520px){
  .community-header-inner{width:calc(100% - 16px);min-height:60px;gap:10px}
  .community-brand{min-width:0;gap:9px}
  .community-brand img{width:36px;height:36px}
  .community-brand strong{font-size:.92rem}
  .community-brand small{font-size:.6rem}
  .community-header-actions{gap:7px}
  .community-language select{min-height:44px;padding:0 8px;border-radius:11px}
  .community-back{width:44px;min-height:44px;justify-content:center;padding:0;border-radius:11px}
  .community-hero-actions{display:grid;grid-template-columns:1fr 1fr}
  .community-button{padding:0 9px;font-size:.78rem}
  .challenge-card,.ranking-card,.profile-card,.how-card{padding:16px 14px;border-radius:14px}
  .community-card-heading{display:flex;gap:10px}
  .community-card-heading h2,.profile-card h2,.how-card h2{font-size:1.16rem;letter-spacing:-.03em}
  .community-week{justify-self:start}
  .ranking-heading{align-items:center}
  .ranking-heading .community-refresh{flex:none;min-height:44px}
  .ranking-explanation{margin:8px 0 12px;font-size:.7rem;line-height:1.42}
  .ranking-row{min-height:60px;grid-template-columns:34px minmax(0,1fr) auto;padding:8px 9px}
  .ranking-position{width:29px;height:29px}
  .ranking-meta{font-size:.62rem}
  .community-profile-form>div,.community-publish-form{display:grid}
  .community-profile-form button,.community-publish-button{width:100%}
  .community-error{align-items:flex-start;flex-direction:column}
  .community-fairness{padding:24px 20px}
  .community-footer{min-height:72px;display:grid;text-align:center}
  .community-main{width:calc(100% - 16px);padding:14px 0 32px}
  .community-kicker{margin-bottom:7px;font-size:.56rem;letter-spacing:.15em}
  .study-hero{gap:14px;padding:12px 4px 18px}
  .study-hero h1{max-width:340px;font-size:2rem;line-height:1.02}
  .community-intro{margin-top:10px;font-size:.78rem;line-height:1.42}
  .study-score-summary{grid-template-columns:minmax(0,1fr) 98px;gap:6px}
  .study-leader-card{padding:11px 12px}.study-leader-card>strong{font-size:.98rem}.study-leader-card>small,.study-my-score-card>small{font-size:.53rem}.study-my-score-card{padding:8px}.study-my-score-card>strong{font-size:1rem}.study-score-link{min-height:44px;font-size:.55rem}
  .study-picker-card{padding:14px 10px;border-radius:14px}
  .study-picker-heading h2,.study-topic-heading h3{font-size:1.12rem}.study-picker-heading>p:last-child,.study-topic-heading p{margin-top:5px;font-size:.62rem;line-height:1.4}
  .study-subject-grid{gap:6px;margin-top:11px}.study-subject-option{min-height:58px;grid-template-columns:32px minmax(0,1fr);gap:7px;padding:6px 7px;border-radius:11px}.study-subject-option[aria-pressed="true"]::after{top:5px;right:5px;width:15px;height:15px}.study-picker-icon{width:32px;height:32px;border-radius:9px}.study-picker-icon svg{width:17px;height:17px}.study-picker-copy strong{padding-right:10px;font-size:.64rem}.study-picker-copy small{font-size:.5rem}
  .study-topic-heading{margin-top:14px;padding-top:13px}.study-topic-list{gap:6px;margin-top:9px}.study-topic-option{min-height:56px;grid-template-columns:28px minmax(0,1fr) auto;gap:7px;padding:7px;border-radius:11px}.study-topic-number{width:27px;height:27px;font-size:.52rem}.study-topic-copy strong{font-size:.68rem}.study-topic-copy small{font-size:.52rem}.study-topic-date{max-width:82px;overflow:hidden;padding:4px 5px;font-size:.44rem;text-overflow:ellipsis}
  .study-profile-card{gap:9px;margin-top:8px;padding:14px 11px}.study-profile-card>div>p:last-child{margin-top:5px;font-size:.61rem}.study-profile-card .community-profile-form{margin-top:0}.study-profile-card .community-profile-form>label{margin-bottom:5px;font-size:.65rem}.study-profile-card .community-profile-form>div{grid-template-columns:minmax(0,1fr) auto;gap:6px}.study-profile-card .community-profile-form input{height:44px}.study-profile-card .community-profile-form button{width:auto;min-height:44px;padding:0 10px;font-size:.64rem}.study-profile-card .community-privacy{padding-top:9px;font-size:.57rem!important}
  .study-practice-card{margin-top:8px;padding:6px;border-radius:14px}.practice-module{border-radius:12px}.practice-overview,.practice-workspace{padding:10px}.practice-heading{grid-template-columns:34px 1fr;gap:8px}.practice-icon{width:34px;height:34px;border-radius:9px}.practice-icon svg{width:19px;height:19px}.practice-eyebrow{font-size:.46rem}.practice-heading h3{font-size:.8rem}.practice-heading p{font-size:.53rem;line-height:1.25}.practice-counts{grid-template-columns:repeat(3,1fr);gap:4px;margin-top:8px}.practice-counts span{min-height:40px;justify-content:center;gap:4px;padding:5px 3px;border-radius:9px;font-size:.46rem;text-align:center}.practice-counts strong{font-size:.8rem}.practice-overview-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:8px;padding-top:8px}.practice-total-progress{font-size:.51rem}.practice-start,.practice-reset{min-height:44px;padding:7px 10px;font-size:.54rem}.practice-toolbar{display:grid;grid-template-columns:1fr auto;gap:5px}.practice-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.practice-tab{min-height:44px;justify-content:center;gap:3px;padding:4px 3px;border-radius:9px}.practice-tab strong{font-size:.46rem}.practice-tab small{padding:2px 3px;font-size:.41rem}.practice-question-card,.practice-summary{padding:11px;border-radius:11px}.practice-question-meta{align-items:flex-start;flex-direction:column;gap:3px}.practice-question-card h4,.practice-summary h4{margin-top:9px;font-size:.84rem}.practice-options{gap:5px;margin-top:10px}.practice-option{min-height:44px;grid-template-columns:26px 1fr;gap:7px;padding:8px;border-radius:9px}.practice-option-letter{width:25px;height:25px}.practice-option-text{font-size:.59rem}.practice-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:10px}.practice-actions button{width:100%;min-height:44px;padding:7px 8px;font-size:.54rem}.practice-feedback{margin-top:10px;padding:10px}.practice-feedback p{font-size:.58rem}.practice-format-picker{grid-template-columns:repeat(3,1fr);gap:4px;margin-top:8px;padding:6px}.practice-format-choice{min-height:52px;padding:6px 4px}.practice-format-choice strong{font-size:.52rem}.practice-format-choice small{font-size:.45rem}
  .study-publish-panel{grid-template-columns:1fr;gap:10px;margin-top:8px;padding:16px 13px}.study-publish-panel h2{font-size:1.2rem}.study-publish-panel>button{width:100%}.study-ranking-heading{margin-top:22px}
  .study-ranking-heading{margin:20px 2px 8px}
  .community-dashboard{gap:8px}
  .challenge-card .community-card-heading{display:grid;gap:8px}
  .challenge-card>p:not(.community-kicker){margin:9px 0 13px;font-size:.7rem;line-height:1.42}
  .community-week{padding:5px 7px;font-size:.53rem}
  .challenge-score{display:inline-block;font-size:2.25rem}
  .challenge-score-label{display:inline-block;margin:0 0 0 6px;font-size:.62rem}
  .challenge-progress-track{height:8px;margin-top:13px}
  .challenge-metrics{gap:10px;margin-top:12px}
  .challenge-metrics div{padding-top:10px}
  .challenge-metrics strong{font-size:1.08rem}
  .challenge-metrics span{font-size:.6rem}
  .study-how-details{margin-top:8px;padding:14px 16px}
  .study-how-details summary{font-size:.67rem;line-height:1.35}
  .community-page{padding-bottom:78px}
  .mobile-bottom-nav{left:4px;right:4px;bottom:max(4px,env(safe-area-inset-bottom));border-radius:16px}
  .mobile-bottom-nav a{min-height:58px;padding:4px 1px}
  .mobile-bottom-nav .nav-icon svg{width:20px;height:20px}
}

@media (prefers-reduced-motion:reduce){
  .challenge-progress-track span{transition:none}
}
.mobile-bottom-nav{grid-template-columns:repeat(5,1fr)!important}
