/* ===== Этап 4 ===== */
.class-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.class-op{font-family:'Unbounded';font-size:1.2rem;padding:.5em .9em}
.class-op.active{background:var(--blue);color:#fff}
.class-problem{font-family:'Unbounded';font-size:clamp(2.5rem,8vw,5rem);font-weight:900;text-align:center;
  background:#fff;border:3px solid var(--ink);border-radius:22px;padding:30px;margin:10px 0;
  box-shadow:0 8px 0 rgba(45,42,74,.14)}
.class-ans{color:var(--teal)}
.class-ans:not(.shown){filter:blur(14px);user-select:none}
.class-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:10px}
.team{background:#fff;border:3px solid var(--ink);border-radius:16px;padding:12px;text-align:center;
  box-shadow:0 4px 0 rgba(45,42,74,.12)}
.team b{display:block;font-family:'Unbounded';font-size:.8rem;margin-bottom:6px}
.team .score{font-family:'Unbounded';font-size:1.6rem;font-weight:900;color:var(--blue)}
.team-btns{display:flex;gap:6px;justify-content:center;margin-top:8px}
.team-btns button{width:38px;height:38px;font-size:1.2rem;font-weight:900;border:3px solid var(--ink);
  border-radius:10px;background:var(--sun);cursor:pointer;box-shadow:0 3px 0 var(--ink)}
.team-btns button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}
