/* EMD Gamify — Dorm Score + Tier Ladder + Level-5 Modal (additive) */
.emd-gamify{
  background:#fff;border:1px solid #e7e3da;border-radius:14px;padding:14px;margin:0 0 14px 0;
  font-family:'Outfit',system-ui,sans-serif;box-shadow:0 1px 0 rgba(20,20,40,.03);
}
.emd-gamify .emd-g-label{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#8a8472;font-weight:700;}
/* Dorm Score ring */
.emd-score-row{display:flex;align-items:center;gap:14px;}
.emd-score-ring{position:relative;width:74px;height:74px;flex:0 0 auto;}
.emd-score-ring svg{transform:rotate(-90deg);}
.emd-score-ring .emd-score-num{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:1.35rem;font-weight:800;color:#1a2340;
}
.emd-score-sub{flex:1;display:flex;flex-direction:column;gap:6px;}
.emd-subscore{display:flex;align-items:center;gap:8px;font-size:.72rem;color:#5b5647;font-weight:600;}
.emd-subscore .emd-sb-name{flex:0 0 96px;}
.emd-subscore .emd-sb-track{flex:1;height:6px;border-radius:99px;background:#efeae0;overflow:hidden;}
.emd-subscore .emd-sb-fill{height:100%;border-radius:99px;background:linear-gradient(90deg, #1ED2D2, #1E78B4, #F0785A);transition:width .35s ease;}
.emd-subscore .emd-sb-val{flex:0 0 30px;text-align:right;font-variant-numeric:tabular-nums;color:#1a2340;font-weight:700;}
/* Tier ladder */
.emd-tier-ladder{margin-top:14px;}
.emd-tier-track{display:flex;gap:4px;margin-top:8px;}
.emd-tier-step{flex:1;text-align:center;}
.emd-tier-dot{
  height:8px;border-radius:99px;background:#e7e3da;margin-bottom:5px;transition:background .3s ease;
}
.emd-tier-step.reached .emd-tier-dot{background:linear-gradient(90deg, #1ED2D2, #1E78B4, #F0785A);}
.emd-tier-step.current .emd-tier-dot{background:#FF8C00;box-shadow:0 0 0 3px rgba(249,115,22,.2);}
.emd-tier-name{font-size:.56rem;line-height:1.15;color:#a7a293;font-weight:700;text-transform:uppercase;letter-spacing:.02em;}
.emd-tier-step.reached .emd-tier-name{color:#5b5647;}
.emd-tier-step.current .emd-tier-name{color:#1a2340;}
.emd-tier-current-label{margin-top:10px;font-size:.82rem;font-weight:800;color:#1a2340;}
.emd-tier-current-label .emd-xp{font-weight:600;color:#a7a293;font-size:.72rem;}
.emd-claim-btn{
  margin-top:10px;width:100%;cursor:pointer;border:none;border-radius:10px;padding:9px;
  font-family:inherit;font-weight:800;font-size:.78rem;color:#fff;
  background:linear-gradient(135deg, #1ED2D2, #1E78B4, #F0785A);box-shadow:0 2px 10px rgba(20,184,166,.3);
}
.emd-claim-btn[hidden]{display:none;}
/* Level-5 modal */
.emd-l5-overlay{
  position:fixed;inset:0;z-index:9999;background:rgba(15,18,30,.55);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:18px;
}
.emd-l5-overlay[hidden]{display:none;}
.emd-l5-card{
  background:#fff;border-radius:20px;max-width:520px;width:100%;padding:24px;
  font-family:'Outfit',system-ui,sans-serif;box-shadow:0 24px 60px rgba(15,18,30,.4);
}
.emd-l5-eyebrow{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#FF8C00;font-weight:800;}
.emd-l5-title{font-size:1.5rem;font-weight:800;color:#1a2340;margin:4px 0 4px;}
.emd-l5-sub{font-size:.9rem;color:#5b5647;margin-bottom:16px;line-height:1.45;}
.emd-l5-options{display:flex;gap:12px;flex-wrap:wrap;}
.emd-l5-opt{
  flex:1 1 200px;cursor:pointer;border:1.5px solid #e7e3da;border-radius:14px;padding:16px;
  transition:border-color .15s ease,transform .15s ease;background:#faf8f3;
}
.emd-l5-opt:hover{border-color:#00D1C1;transform:translateY(-2px);}
.emd-l5-opt h4{margin:0 0 6px;font-size:1rem;color:#1a2340;font-weight:800;}
.emd-l5-opt p{margin:0;font-size:.8rem;color:#5b5647;line-height:1.4;}
.emd-l5-opt .emd-l5-pick{margin-top:12px;font-size:.74rem;font-weight:800;color:#00D1C1;}
.emd-l5-close{margin-top:16px;background:none;border:none;color:#a7a293;font-size:.8rem;cursor:pointer;font-family:inherit;}
.emd-l5-busy{opacity:.6;pointer-events:none;}
