*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f5f9ff,#fff4ec);color:#23324b;font:17px system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}header{background:#fffdfb;border-bottom:1px solid #e7e7eb;display:flex;justify-content:space-between;align-items:center;padding:17px max(20px,calc((100vw - 1080px)/2));gap:20px}a{color:#166db4}header>a{text-decoration:none;font-size:22px;font-weight:800}nav a{margin-left:16px}main{max-width:1080px;margin:38px auto;padding:0 18px}.hero{background:linear-gradient(110deg,#dceefb,#e5f8df);border-radius:24px;padding:38px;margin-bottom:24px}.hero h1{font-size:clamp(27px,4vw,43px);margin:0 0 10px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.tile{display:block;background:white;border:1px solid #e5e9f0;border-radius:22px;padding:30px;text-decoration:none;color:#23324b;font-size:35px;box-shadow:0 12px 30px #27415d12;transition:transform .2s}.tile:hover{transform:translateY(-4px)}.tile h2{font-size:23px}.tile p{font-size:15px}.panel{background:#fff;border:1px solid #e4e9ef;border-radius:22px;padding:clamp(18px,4vw,40px);box-shadow:0 14px 35px #23405a12}.narrow{max-width:540px;margin:auto}h1{margin-top:0}form{margin:12px 0 22px}label{display:block;font-weight:650;margin:15px 0}input,select{display:block;width:100%;padding:12px 13px;border:1px solid #b6c8d7;border-radius:11px;font:inherit;margin-top:7px}button,.button{display:inline-block;border:0;border-radius:12px;background:#177bbd;color:white;padding:13px 21px;font:700 16px system-ui;cursor:pointer;text-decoration:none}button:hover,.button:hover{filter:brightness(.93)}button:disabled{opacity:.5}.secondary{background:#dcecf5;color:#16435f}.danger{background:#b83a3a}.notice{padding:13px;background:#ffebd9;border-radius:10px}fieldset{border:1px solid #dce6f1;border-radius:14px;margin:12px 0;padding:13px 20px}legend{font-weight:800}.choices{display:flex;gap:14px;flex-wrap:wrap}.choices label{background:#eff6ff;padding:8px 18px;border-radius:12px;margin:0}.choices input{width:auto;display:inline;margin:0 6px 0 0}.uppercase{text-transform:uppercase}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{padding:12px;border-bottom:1px solid #dce3ec;text-align:left}th{background:#edf4fc}td form{margin:0}.result{text-align:center}.bigemoji{font-size:70px;animation:pop .7s ease}.huge{font-size:65px;font-weight:900;color:#20886c}.retry .huge{color:#b47726}.small{font-size:13px;color:#66758b}details{background:#f0f7ff;border-radius:12px;padding:18px;margin-bottom:24px}@keyframes pop{0%{transform:scale(.4);opacity:0}65%{transform:scale(1.18)}100%{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media print{header,button,nav,form{display:none!important}body{background:white}main{margin:0}.panel{box-shadow:none;border:0}}

/* Accueil élève : badge de progression et ceinture de judo */
.cl-student-home .hero .cl-student-progress {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  width: fit-content;
  max-width: 100%;
  margin: 10px 0 0;
  padding: 6px 14px 6px 8px;
  background: #fff;
  border: 2px solid var(--cl-belt, #dd5a9b);
  border-radius: 999px;
  color: #213653;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
  box-shadow: 0 2px 8px rgba(38, 51, 75, .05);
}
.cl-student-home .hero .cl-student-progress::before,
.cl-student-home .hero .cl-student-progress::after {
  content: none !important;
  display: none !important;
}
.cl-student-home .cl-judo-belt {
  display: block;
  width: 58px;
  height: 34px;
  flex: 0 0 58px;
  overflow: visible;
}
.cl-student-home .cl-belt-label {
  display: inline;
  position: static;
  visibility: visible;
  color: #213653;
  font-size: 15px;
  font-weight: 800;
}
@media (max-width: 480px) {
  .cl-student-home .hero .cl-student-progress { font-size: 13px; padding-right: 10px; }
  .cl-student-home .cl-belt-label { font-size: 13px; }
}
